PROC _CPYPRM=*()
SET $4EE = _CPYPRM
[$85$A0$86$A1$84$A2$18$68$85$84$69$03
$A8$68$85$85$69$00$48$98$48$A0$01$B1
$84$85$82$C8$B1$84$85$83$C8$B1$84$A8
$B9$A0$00$91$82$88$10$F8$60]

PROC _CHGSGN=*()
[$85$C0$86$C1$38$A9$00$E5$C0$48$A9$00
$E5$C1$AA$68$60]

PROC _FIXSGN=*()
[$86$C2$E0$00$10$03$20 _CHGSGN $85$82
$86$83$A5$85$45$C2$85$C2$A6$85$10$09
$A5$84$20 _CHGSGN $85$84$86$85$60]

PROC _FIXRES=*()
[$A5$86$A6$87$A4$C2$10$03$4C _CHGSGN
$60]

PROC _MUL=*()
SET $4E8 = _MUL
[$20 _FIXSGN $A9$00$85$86$85$87$A5$82
$D0$04$A5$83$F0$22$A5$84$D0$04$A5$85
$F0$1A$46$85$66$84$90$0D$18$A5$86$65
$82$85$86$A5$87$65$83$85$87$06$82$26
$83$38$B0$D6$4C _FIXRES]

PROC _DIV=*()
SET $4EA = _DIV
[$20 _FIXSGN $A9$00$85$86$85$87$85$C1
$A9$01$85$C0$A5$82$D0$04$A5$83$F0$5F
$A5$84$D0$04$A5$85$F0$57$A5$82$C5$84
$A5$83$E5$85$90$0F$A5$C1$30$0B$06$84
$26$85$06$C0$26$C1$38$B0$E7$A5$C0$D0
$04$A5$C1$F0$36$A5$82$D0$04$A5$83$F0
$2E$A5$82$C5$84$A5$83$E5$85$90$19$38
$A5$82$E5$84$85$82$A5$83$E5$85$85$83
$A5$86$05$C0$85$86$A5$87$05$C1$85$87
$46$85$66$84$46$C1$66$C0$38$B0$C2$4C
_FIXRES]

PROC _MODOP=*()
SET $4EC = _MODOP
[$20 _DIV $A5$82$A6$83$60]

PROC _RSHOP=*()
SET $4E6 = _RSHOP
[$A4$84$F0$0A$86$86$46$86$6A$88$D0$FA
$A6$86$60]

PROC _LSHOP=*()
SET $4E4 = _LSHOP
[$A4$84$F0$0A$86$86$0A$26$86$88$D0$FA
$A6$86$60]

PROC _ERROU=*()
[$A9$70$AA$A9$0C$9D$42$03$20$56$E4$8A
$38$E9$10$D0$F1$6C$0A$00]

PROC _ERRVEC=*()
[_ERROU]

PROC _DEVIC=*()
[$00]

MODULE
CARD Error=_ERRVEC
BYTE device=_DEVIC

PROC _GOCIO=*()
[$20$56$E4$10$1A$C0$88$F0$06$68$68$98
$6C _ERRVEC $48$8A$48$4A$4A$4A$4A$AA
$A9$01$9D$C0$05$68$AA$68$60]

PROC _LODCHN=*()
[$C9$08$90$07$68$68$A9$86$6C _ERRVEC
$0A$0A$0A$0A$AA$60]

PROC _STONAM=*()
[$18$69$01$9D$44$03$98$69$00$9D$45$03
$60]

PROC _SHFTR=*()
[$48$8A$A8$68$AA$AD _DEVIC $60]

PROC _CLREOL=*()
[$48$A9$00$85$A5$68$60]

PROC _SETEOL=*()
[$48$A9$01$85$A5$68$60]

PROC _PRECON=*()
[$8A$48$98$AA$68$A0$03$84$A3$A0$FD$60]

PROC _DOPRNT=*()
[$86$A3$84$A4$20 _LODCHN $A9$00$9D$49
$03$A8$B1$A3$F0$1A$9D$48$03$18$A5$A3
$69$01$9D$44$03$A5$A4$69$00$9D$45$03
$A9$0B$9D$42$03$20 _GOCIO $A5$A5$F0
$12$A9$00$9D$48$03$9D$49$03$A9$0B$9D
$42$03$A9$9B$20 _GOCIO $60]

PROC StrC=*(CARD c, s)
[$85$D4$86$D5$84$A2$20$AA$D9$20$E6$D8
$A0$00$B1$F3$30$06$C8$91$A2$38$B0$F6
$29$7F$C8$91$A2$98$A0$00$91$A2$60]

PROC StrB=*(BYTE b CARD s)
[$84$A3$48$8A$A8$A2$00$68$4C StrC]

PROC StrI=*(INT i CARD s)
[$E0$00$30$03$4C StrC   $49$FF$85$A2
$8A$49$FF$AA$E6$A2$D0$01$E8$A5$A2$20
StrC $A0$00$18$B1$A2$69$01$91$A2$A8
$88$B1$A2$C8$91$A2$88$88$D0$F7$C8$A9
$2D$91$A2$60]

PROC _DOPRNC=*()
[$48$20 _PRECON $20 StrC $68$A2$FD$A0
$03$4C _DOPRNT]

PROC DOPRNI=*()
[$48$20 _PRECON $20 StrI $68$A2$FD$A0
$03$4C _DOPRNT]

PROC PrintCD=*(BYTE d CARD c)
[$20 _CLREOL $4C _DOPRNC]

PROC PrintC=*(CARD c)
[$20 _SHFTR $4C PrintCD]

PROC PrintCDE=*(BYTE d CARD c)
[$20 _SETEOL $4C _DOPRNC]

PROC PrintCE=*(CARD c)
[$20 _SHFTR $4C PrintCDE]

PROC PrintBD=*(BYTE d, b)
[$A0$00$4C PrintCD]

PROC PrintB=*(BYTE b)
[$20 _SHFTR $4C PrintBD]

PROC PrintBDE=*(BYTE d, b)
[$A0$00$4C PrintCDE]

PROC PrintBE=*(BYTE b)
[$20 _SHFTR $4C PrintBDE]

PROC PrintID=*(BYTE d INT i)
[$20 _CLREOL $4C _DOPRNI]

PROC PrintI=*(INT i)
[$20 _SHFTR $4C PrintID]

PROC PrintIDE=*(BYTE d INT i)
[$20 _SETEOL $4C _DOPRNI]

PROC PrintIE=*(INT i)
[$20 _SHFTR $4C PrintIDE]

PROC PrintD=*(BYTE d CARD s)
[$20 _CLREOL $4C _DOPRNT]

PROC Print=*(CARD s)
[$20 _SHFTR $4C PrintD]

PROC PrintDE=*(BYTE d CARD s)
[$20 _SETEOL $4C _DOPRNT]

PROC PrintE=*(CARD s)
[$20 _SHFTR $4C PrintDE]

PROC _HEXSTR=*()
[$85$84$86$85$A9$FD$85$A2$A9$03$85$A3
$A0$00$A9$05$91$A2$C8$A9$24$91$A2$A9
$00$A2$04$06$84$26$85$2A$CA$D0$F8$69
$30$C9$3A$90$02$69$06$C8$91$A2$C0$05
$D0$E5$60]

PROC PrintF=*(CARD s,a,b,c,d,e,f,g)
[$85$82$86$83$84$A2$AD _DEVIC $0A$0A
$0A$0A$85$C1$A0$00$84$87$84$C0$B1$82
$F0$4C$85$86$E6$C0$F0$46$A4$C0$C4$86
$F0$02$B0$3E$B1$82$C9$25$D0$3E$E6$C0
$C8$C4$86$F0$02$B0$35$B1$82$C9$25$F0
$2F$C9$45$F0$29$A8$A6$87$E0$0E$B0$D4
$B5$A2$48$B5$A3$E8$E8$86$87$AA$68$C0
$43$F0$15$C0$49$F0$34$C0$48$F0$3C$C0
$53$F0$3F$38$B0$1D$60$38$B0$B2$A9$9B
$A8$A6$C1$A9$00$9D$48$03$9D$49$03$A9
$0B$9D$42$03$98$20 _GOCIO $38$B0$E4
$A0$03$84$A3$A0$FD$20 StrC $38$B0$0F
$A0$03$84$A3$A0$FD$20 StrI $38$B0$03
$20 _HEXSTR $A9$FD$A2$03$85$84$86$85
$A6$C1$A9$00$9D$49$03$A8$B1$84$F0$B5
$9D$48$03$18$A5$84$69$01$9D$44$03$A5
$85$69$00$9D$45$03$A9$0B$9D$42$03$20
_GOCIO $38$B0$98]

PROC PutD=*(BYTE d, c)
[$86$A0$20 _LODCHN $A9$00$9D$48$03$9D
$49$03$A9$0B$9D$42$03$A5$A0$20 _GOCIO
$60]

PROC PutDE=*(BYTE d)
[$A2$9B$4C PutD]

PROC Put=*(BYTE c)
[$AA$AD _DEVIC $4C PutD]

PROC PutE=*()
[$A9$9B$4C Put]

BYTE FUNC ValB=*(CARD a)
CARD FUNC ValC=*(CARD a)
INT FUNC ValI=*(CARD a)
[$85$A2$86$A3$A9$00$85$A0$85$A1$85$A5
$A8$B1$A2$85$A4$C8$B1$A2$C9$20$F0$F9
$C9$2D$D0$0B$C6$A5$C8$C4$A4$F0$02$B0
$31$B1$A2$38$E9$30$90$2A$C9$0A$B0$26
$48$06$A0$26$A1$A5$A0$A6$A1$0A$26$A1
$0A$26$A1$18$65$A0$85$A0$8A$65$A1$85
$A1$18$68$65$A0$85$A0$90$CD$E6$A1$38
$B0$C8$A5$A5$F0$0D$38$A9$00$E5$A0$85
$A0$A9$00$E5$A1$85$A1$60]

PROC _DOINPT=*()
[$86$A4$84$A5$20 _LODCHN $18$A5$A4$69
$01$9D$44$03$A5$A5$69$00$9D$45$03$A5
$A3$F0$18$9D$48$03$A9$00$9D$49$03$A9
$05$9D$42$03$20 _GOCIO $BD$48$03$F0
$03$38$E9$01$A0$00$91$A4$A5$A6$F0$07
$A5$A4$A6$A5$4C ValC $60]

BYTE FUNC InputBD=*(BYTE d)
CARD FUNC InputCD=*(BYTE d)
INT FUNC InputID=*(BYTE d)
[$48$A9$78$85$A3$A9$01$85$A6$68$A2$FD
$A0$03$4C _DOINPT]

BYTE FUNC InputB=*()
CARD FUNC InputC=*()
INT FUNC InputI=*()
[$AD _DEVIC$4C InputCD]

PROC InputMD=*(BYTE d CARD s BYTE l)
[$48$A9$00$85$A6$68$4C _DOINPT]

PROC InputSD=*(BYTE d CARD s)
[$48$A9$FF$85$A3$68$4C InputMD]

PROC InputS=*(CARD s)
[$20 _SHFTR $4C InputSD]

CHAR FUNC GetD=*(BYTE d)
[$20 _LODCHN $A9$00$9D$48$03
$9D$49$03$A9$07$9D$42$03$20 _GOCIO
$85$A0$60]

PROC Open=*(BYTE d CARD s BYTE m, a)
[$86$A1$20 _LODCHN $A5$A1$20
 _STONAM $A5$A3$9D$4A$03$A5$A4$9D$4B
$03$A9$03$9D$42$03$20 _GOCIO $8A$4A
$4A$4A$4A$AA$A9$00$9D$C0$05$60]

PROC Close=*(BYTE d)
[$20 _LODCHN $A9$0C$9D$42$03$20
_GOCIO $60]

PROC XIO=*(BYTE d,z,c,a1,a2 CARD s)
[$20 _LODCHN $98$9D$42$03$A5$A3$9D$4A
$03$A5$A4$9D$4B$03$A5$A5$A4$A6$20
_STONAM $20 _GOCIO $60]

PROC Note=*(BYTE d CARD s, o)
[$86$A1$84$A2$20 _LODCHN $A9$26$9D$42
$03$20 _GOCIO $A0$00$BD$4C$03$91$A1
$BD$4E$03$91$A3$BD$4D$03$C8$91$A1$60]

PROC Point=*(BYTE d CARD s BYTE o)
[$86$A1$20 _LODCHN $A5$A1$9D$4C$03$98
$9D$4D$03$A5$A3$9D$4E$03$A9$25$9D$42
$03$20 _GOCIO $60]

PROC Graphics=*(BYTE m)
[$48$A2$60$A9$0C$9D$42$03$20$56$E4$68
$9D$4B$03$49$10$09$0C$9D$4A$03$A9$53
$85$A0$A9$3A$85$A1$A9$A0$9D$44$03$A9
$00$9D$45$03$A9$03$9D$42$03$20 _GOCIO
$60]

PROC SetColor=*(BYTE r, h, l)
[$C9$05$B0$13$85$A0$8A$0A$0A$0A$0A$85
$A1$98$29$0F$05$A1$A6$A0$9D$C4$02$60]

PROC Position=*(CARD x BYTE y)
[$85$55$86$56$84$54$60]

PROC Plot=*(CARD x BYTE y)
[$20 Position $A9$06$AE$FD$02$4C
PutD]

PROC DrawTo=*(CARD x BYTE y)
[$20 Position $A2$60$A9$11
$9D$42$03$AD$FB$02$8D$FD$02$20 _GOCIO
$60]

PROC Fill=*(CARD x BYTE y)
[$20 Position $A2$60$A9$12
$9D$42$03$AD$FB$02$8D$FD$02$20 _GOCIO
$60]

BYTE FUNC Locate=*(CARD x BYTE y)
[$20 Position $A9$06$4C GetD]

PROC Sound=*(BYTE c, p, d, v)
[$C9$04$B0$25$86$A1$0A$AA$A9$00$8D$08
$D2$A9$03$8D$0F$D2$A5$A3$29$0F$85$A3
$98$29$0E$0A$0A$0A$0A$05$A3$9D$01$D2
$A5$A1$9D$00$D2$60]

PROC SndRst=*()
[$A9$00$A2$07$9D$00$D2$CA$10$FA$60]

BYTE FUNC Paddle=*(BYTE p)
[$29$07$AA$BD$70$02$85$A0$60]

BYTE FUNC PTrig=*(BYTE p)
[$29$07$AA$BD$7C$02$85$A0$60]

BYTE FUNC Stick=*(BYTE p)
[$29$03$AA$BD$78$02$85$A0$60]

BYTE FUNC STrig=*(BYTE p)
[$29$03$AA$BD$84$02$85$A0$60]

INT FUNC SCompare=*(CARD s1, s2)
[$85$A4$86$A5$84$A2$A0$00$84$A0$84$A1
$B1$A4$85$A6$B1$A2$85$A7$C4$A6$F0$15
$C4$A7$F0$11$C8$B1$A4$D1$A2$F0$F1$90
$03$E6$A0$60$C6$A0$C6$A1$60$A5$A6$C5
$A7$F0$F9$B0$F0$90$F1]

PROC SCopy=*(CARD d, s)
[$85$A0$86$A1$84$A2$A0$00$B1$A2$A8$B1
$A2$91$A0$C0$00$F0$04$88$38$B0$F4$60]

PROC SCopyS=*(CARD d, s BYTE b, e)
[$85$A0$86$A1$84$A2$A0$00$84$A6$B1$A2
$C5$A5$B0$02$85$A5$A5$A4$F0$15$C5$A5
$F0$02$B0$0F$A4$A4$E6$A4$B1$A2$E6$A6
$A4$A6$91$A0$38$B0$E7$A5$A6$A0$00$91
$A0$60]

PROC SAssign=*(CARD d, s BYTE b, e)
[$85$A0$86$A1$84$A2$A5$A4$F0$3B$C5$A5
$F0$02$B0$35$85$A7$C6$A7$A0$00$84$A8
$B1$A0$85$A9$B1$A2$85$AA$A5$A7$C5$A5
$B0$15$A5$A8$C5$AA$B0$0F$E6$A8$A4$A8
$B1$A2$E6$A7$A4$A7$91$A0$38$B0$E5$A5
$A7$C5$A9$90$04$A0$00$91$A0$60]

BYTE FUNC Rand=*(BYTE r)
[$85$A2$C6$A2$A9$01$C5$A2$B0$05$38$2A
$38$B0$F7$85$A3$AD$0A$D2$25$A3$C5$A2
$F0$04$90$02$B0$F3$85$A0$60]

PROC Poke=*(CARD a BYTE v)
[$85$A0$86$A1$98$A0$00$91$A0$60]

PROC PokeC=*(CARD a, v)
[$20 Poke $C8$A5$A3$91$A0$60]

BYTE FUNC Peek=*(CARD a)
CARD FUNC PeekC=*(CARD a)
[$85$A2$86$A3$A0$00$B1$A2$85$A0$C8$B1
$A2$85$A1$60]

PROC SetBlock=*(CARD a, l, v)
[$85$A0$86$A1$84$A2$A0$00$A5$A2$D0$04
$A5$A3$F0$16$A5$A4$91$A0$C8$D0$02$E6
$A1$C6$A2$A5$A2$C9$FF$D0$E7$C6$A3$38
$B0$E2$60]

PROC Zero=*(CARD a, l)
[$48$A9$00$85$A4$68$4C SetBlock]

PROC MoveBlock=*(CARD d, s, l)
[$85$A0$86$A1$84$A2$A0$00$A5$A4$D0$04
$A5$A5$F0$18$B1$A2$91$A0$C8$D0$04$E6
$A1$E6$A3$C6$A4$A5$A4$C9$FF$D0$E5$C6
$A5$38$B0$E0$60]

MODULE