Home » Personal collection » Acorn ADFS disks » Archimedes » Rhythm_Box_11B.ADF » Code/Game2D

Code/Game2D

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Personal collection » Acorn ADFS disks » Archimedes » Rhythm_Box_11B.ADF
Filename: Code/Game2D
Read OK:
File size: 16EB bytes
Load address: FFFFFB00
Exec address: FFFF8023
Duplicates

There are 3 duplicate copies of this file in the archive:

File contents
 1400P%=&1C80:O%=&6480:[OPTpass
 1430.complete CPY#&14:BEQcongu:JMPscreen:.congu JSRsboard:LDA#(cmptxt MOD 256):STA&72:LDA#(cmptxt DIV 256):STA&73:LDA#2:STAxch:LDA#7:STAych:JSRstring:LDA#(cmptxtb MOD 256):STA&72:LDA#(cmptxtb DIV 256):STA&73:LDA#3:STAxch:LDA#14:STAych
 1435JSRstring:.theend JMPtheend
 1440.mainclear LDAmtype:BEQnoclearm:LDAxpos:CMPxmoo:BNEmci:LDAypos:CMPymoo:BEQmcii:.mci LDAclearup:BEQnoclearm:.mcii LDA#1:STAchanged:JSRdelyou
 1450LDXxpos:LDYypos:JSRmcd:LDA#0:STAwiper:STAwiperm:LDXxmont:LDYymont:JMPmcd:.noclearm RTS
 1460.dispmon LDAmtype:BEQnomonsr:LDA&78:PHA:LDA&79:PHA:LDAfine:PHA:LDAxpos:PHA:LDAypos:PHA:LDAwiper:PHA:LDAwiperm:STAwiper:LDAxmont:STAxpos:LDAymont:STAypos:LDAmfine:STAfine:LDA&7A:STA&78:LDA&7B:STA&79
 1470LDA#&2F:STAwirep+1:STAwirepb+1:LDA#&C0:STAwirep:LDA#&E0:STAwirepb:LDA#1:STAmflag:JSRdispshr:LDA&78:STA&7A:LDA&79:STA&7B:PLA:STAwiper:PLA:STAypos:PLA:STAxpos:PLA:STAfine:PLA:STA&79:PLA:STA&78:LDA#0:STAmflag:.nomonsr RTS
 1480.monset LDAyscr:ASL A:ASL A:ASL A:ASL A:CLC:ADCxscr:ADC#&20:STA&71:LDY#0:STY&70:INY:STYmfine:LDY#&FB:LDA(&70),Y:ASL A:ROL A:ROL A:AND#3:TAX:LDAmonpd,X:STAxmont
 1490INY:LDA(&70),Y:ASL A:ROL A:ROL A:AND#3:TAX:LDAmonpd,X:STAymont:INY:LDA(&70),Y:ASL A:ROL A:ROL A:AND#3:STAmtype:LDA#&FF:STAmdir:.lasexit RTS
 1500.monpro LDAxmont:STAxmoo:LDAymont:STAymoo:LDA#0:STAclearup:LDAmtype:BEQlasexit:CMP#3:BNEnomonstl:LDA#0:STAmfine:STAmonstat:.nomonstl LDAxpos:CMPxmont:BNEmontch:LDAypos:CMPymont:BNEmontch:LDA#1:STAclearup:STApowchange:LDAfnst:BEQmontch
 1510LDApower:SEC:SBC#8:STApower:BCSmontche:PLA:PLA:JMPkillu
 1520.montche LDAmtype:CMP#3:BNEmontch:PLA:PLA:JMPzap:.montch JSRmovemst:LDAxpos:CMPxmont:BNElasexit:LDAypos:CMPymont:BNElasexit:LDA#1:STAclearup:STApowchange:LDApower:SEC:SBC#8:STApower:BCSlasexit:PLA:PLA:JMPkillu
 1530.laser LDA#&81:LDX#&A6:LDY#&FF:JSRosbyte:BCClasexit:LDAlastat:BNElasexit:LDAsound:BEQnolassd:LDA#7:LDX#(switn MOD256):LDY#(switn DIV256):JSRosword:.nolassd LDApower:STApowchange:SEC:SBC#4:STApower
 1540BCSlasokay:.lasdie PLA:PLA
 1550.killu JSRgameover:JMPprog:.lasokay LDAxmont:CMPxpos:BNEnotont:LDAymont:CMPypos:BNEnotont:LDA#0:STAmtype:RTS:.notont SEI:LDAxpos:ASL A:ASL A:ASL A:ASL A:ASL A:ASL A:CLC:ADC#&80:STAlasad:LDA#0:ADC#&37:STA&71
 1560LDAxpos:LSR A:LSR A:CLC:ADC&71:ADCypos:STA&71:LDAypos:ASL A:ASL A:CLC:ADC&71:STAlasad+1
 1570LDAface:STAlasdir:BEQlefire:LDAlasad:CLC:ADC#&40:STAlasad:LDA#9:SEC:SBCxpos:LDXxpos:CPX#1:BEQcorrigf:CPX#5:BEQcorrigf:BNEfinfire:.corrigf INClasad+1:JMPfinfire
 1580.lefire DEClasad+1:LDAxpos:.finfire ASL A:ASL A:ASL A:CMP#&20:BCCshrange:LDA#&1F:.shrange STAlastat:LDA#0:STAlastep
 1590LDA#1:LDXface:BNElealt:LDA#&FF:.lealt CLC:ADCxpos:STAxf:STAxset:LDAypos:STAyset:STAyf:JSRgetblock:CMP#&10:BCCnoobstr:LDA#0:STAlastat:.noobstr CLI:JMPwait
 1600.dispyou LDA#&2F:STAwirep+1:STAwirepb+1:LDA#&80:STAwirep:LDA#&A0:STAwirepb:JMPdispshr
 1610.deadedch LDAdeaded:BEQnotdeadd:LDAmtype:CMP#3:BEQnodisp:LDA#0:STAmtype:.nodisp LDA&7A:CLC:ADC#&80:STA&70:LDA&7B:ADC#2:STA&71:LDY#31:.deada LDA&2FC0,Y:STA(&7A),Y:LDA&2FE0,Y:STA(&70),Y:DEY:BNEdeada
 1620LDApower:STApowchange:CLC:ADC#4:BCCoverpowm:LDA#254:.overpowm STApower:LDA#0:STAdeaded:.notdeadd RTS
 1630.irq INCclock:LDA&80:CLC:ADC#1:CMPclock:BNEnohelpc:INC&80:.nohelpc LDAlastat:BEQnolas:LDAmtype:BEQnohitm:LDAxmont:CMPxf:BNEnohitm:LDAymont:CMPyf:BNEnohitm:LDA#1:STAlastat:STAdeaded
 1640.nohitm JSRsavevar:DEClastat:LDAlastep:CLC:ADC#8:STAlastep:LDAlasdir
 1650BEQlasleft:BNElasright:.nolas JMP(vector)
 1660.lasright LDYlastep:JSRlaseorp:CPY#&28:BCCridel:TYA:SEC:SBC#&20:JSRlaseory:.ridel LDAlastat:BNEricont:LDAlastep:SEC:SBC#&18:BCSnormn:LDA#0:.normn TAY
 1670.ristop JSRlaseorp
 1680CPYlastep:BEQricontb:TYA:CLC:ADC#8:TAY:JMPristop:.ricontb JSRdelyou:.ricont LDAlastep:AND#&3F:BNErwall:INCxf:LDAxf:STAxset:LDAyf:STAyset:JSRgetblock:CMP#&10:BCCrwall:LDA#1:STAlastat:.rwall JMPloadvar
 1700.lasleft LDA#0:SEC:SBClastep:JSRlaseory:CPY#&E0:BCSledel:TYA:CLC:ADC#&20:JSRlaseory:.ledel LDAlastat:BNElecont:LDA#0:SEC:SBClastep:STAlastep:CLC:ADC#&18:BCCnorln:LDA#&F8
 1701.norln TAY
 1710.lestop JSRlaseorp:CPYlastep:BEQlecontb:TYA:SEC:SBC#8:TAY:JMPlestop:.lecontb JSRdelyou:.lecont LDAlastep:AND#&3F:BNElwall:DECxf:LDAxf:STAxset:LDAyf:STAyset
 1720JSRgetblock:CMP#&10:BCClwall:LDA#1:STAlastat:.lwall JMPloadvar
 1725.laseory TAY:.laseorp LDA(lasad),Y:EOR#&3F:STA(lasad),Y:RTS
 1730.scroff LDA#0:STAlastat:LDA#16:STAscrofd:.scrofflop LDA#&C:LDX#(scrofd MOD256):LDY#(scrofd DIV256):JSRosword:DECscrofd:LDAscrofd:BNEscrofflop:RTS
 1740]:IF P%>&2000 THEN PRINT''"Code Overflow to:";~P%:END
 1750P%=&2300:O%=&A00:[OPT pass
 1760.savevar LDA&70:STA&88:LDA&71:STA&89:LDA&72:STA&8A:LDA&73:STA&8B:LDAxset:STA&8C:LDAyset:STA&8D:STX&8F:STY&87:RTS
 1770.loadvar LDA&88:STA&70:LDA&89:STA&71:LDA&8A:STA&72:LDA&8B:STA&73:LDA&8C:STAxset:LDA&8D:STAyset:LDX&8F:LDY&87:JMP(vector)
 1780.xmom LDXxmont:CPXxpos:BEQonyou:BCCritemt:DEX:JSRlrxmsh:BCSonyou:DECxmont:LDA#1:.xmend STAmfine:RTS
 1790.ritemt INX:JSRlrxmsh:BCSonyou:INCxmont:LDA#2:BNExmend:.onyou LDA#0:BEQxmend:.lrxmsh STXxset:LDAymont:STAyset:JSRgetblock:CMP#&10:RTS
 1795.cmptxt EQUB3:EQUB22:EQUB13:EQUB7:EQUB15:EQUB1:EQUB17:EQUB18:EQUB11:EQUB1:EQUB17:EQUB23:EQUB22:EQUB13:EQUB16:EQUB&FF
 1800]:IF P%>&2380 THEN PRINT''"Code Overflow to:";~P%:END
 1810P%=&2D80:O%=&A80:[OPT pass
 1820.movemst LDAmtype:CMP#2:BEQypatrol:CMP#1:BNEmovemqut
 1830.xpatrol LDAxmont:BEQrevdir:CMP#9:BEQrevdir:ADCmdir:STAxset:LDAymont:STAyset:JSRgetblock:CMP#&10:BCSrevdir:INCyset:JSRgetblock:CMP#&10:BCCrevdir:LDAxset:STAxmont:.movemqut RTS
 1840.revdir LDAmdir:EOR#&FE:STAmdir:CLC:ADCxmont:STAxmont:LDAmfine:EOR#3:STAmfine:RTS
 1850.ypatrol LDXymont:CPXypos:BEQxadjb:BCCdownmt:DEX:JSRypshr:DECymont:LDA#6:STAmfine:RTS:.ypshr STXyset:LDAxmont:STAxset:JSRgetblock:CMP#&10:BCSxadj:RTS
 1860.downmt INX:JSRypshr:INCymont:LDA#5:STAmfine:RTS:.xadj PLA:PLA:.xadjb JMPxmom
 1865.cmptxtb EQUB7:EQUB1:EQUB12:EQUB5:EQUB0:EQUB3:EQUB22:EQUB12:EQUB14:EQUB11:EQUB5:EQUB17:EQUB5:EQUB&FF
 1870]:IF P%>&2E00 THEN PRINT''"Code Overflow to:";~P%:END
 1880ENDPROC
xP%=&1C80:O%=&6480:[OPTpass
��.complete CPY#&14:BEQcongu:JMPscreen:.congu JSRsboard:LDA#(cmptxt � 256):STA&72:LDA#(cmptxt � 256):STA&73:LDA#2:STAxch:LDA#7:STAych:JSRstring:LDA#(cmptxtb � 256):STA&72:LDA#(cmptxtb � 256):STA&73:LDA#3:STAxch:LDA#14:STAych
�JSRstring:.theend JMPtheend
��.mainclear LDAmtype:BEQnoclearm:LDAxpos:CMPxmoo:BNEmci:LDAypos:CMPymoo:BEQmcii:.mci LDAclearup:BEQnoclearm:.mcii LDA#1:STAchanged:JSRdelyou
�ZLDXxpos:LDYypos:JSRmcd:LDA#0:STAwiper:STAwiperm:LDXxmont:LDYymont:JMPmcd:.noclearm RTS
��.dispmon LDAmtype:BEQnomonsr:LDA&78:PHA:LDA&79:PHA:LDAfine:PHA:LDAxpos:PHA:LDAypos:PHA:LDAwiper:PHA:LDAwiperm:STAwiper:LDAxmont:STAxpos:LDAymont:STAypos:LDAmfine:STAfine:LDA&7A:STA&78:LDA&7B:STA&79
��LDA#&2F:STAwirep+1:STAwirepb+1:LDA#&C0:STAwirep:LDA#&E0:STAwirepb:LDA#1:STAmflag:JSRdispshr:LDA&78:STA&7A:LDA&79:STA&7B:PLA:STAwiper:PLA:STAypos:PLA:STAxpos:PLA:STAfine:PLA:STA&79:PLA:STA&78:LDA#0:STAmflag:.nomonsr RTS
ȡ.monset LDAyscr:ASL A:ASL A:ASL A:ASL A:CLC:ADCxscr:ADC#&20:STA&71:LDY#0:STY&70:INY:STYmfine:LDY#&FB:LDA(&70),Y:ASL A:ROL A:ROL A:�#3:TAX:LDAmonpd,X:STAxmont
ҋINY:LDA(&70),Y:ASL A:ROL A:ROL A:�#3:TAX:LDAmonpd,X:STAymont:INY:LDA(&70),Y:ASL A:ROL A:ROL A:�#3:STAmtype:LDA#&FF:STAmdir:.lasexit RTS
��.monpro LDAxmont:STAxmoo:LDAymont:STAymoo:LDA#0:STAclearup:LDAmtype:BEQlasexit:CMP#3:BNEnomonstl:LDA#0:STAmfine:STAmonstat:.nomonstl LDAxpos:CMPxmont:BNEmontch:LDAypos:CMPymont:BNEmontch:LDA#1:STAclearup:STApowchange:LDAfnst:BEQmontch
�;LDApower:SEC:SBC#8:STApower:BCSmontche:PLA:PLA:JMPkillu
��.montche LDAmtype:CMP#3:BNEmontch:PLA:PLA:JMPzap:.montch JSRmovemst:LDAxpos:CMPxmont:BNElasexit:LDAypos:CMPymont:BNElasexit:LDA#1:STAclearup:STApowchange:LDApower:SEC:SBC#8:STApower:BCSlasexit:PLA:PLA:JMPkillu
��.laser LDA#&81:LDX#&A6:LDY#&FF:JSRosbyte:BCClasexit:LDAlastat:BNElasexit:LDAsound:BEQnolassd:LDA#7:LDX#(switn �256):LDY#(switn �256):JSRosword:.nolassd LDApower:STApowchange:SEC:SBC#4:STApower
BCSlasokay:.lasdie PLA:PLA
�.killu JSRgameover:JMPprog:.lasokay LDAxmont:CMPxpos:BNEnotont:LDAymont:CMPypos:BNEnotont:LDA#0:STAmtype:RTS:.notont SEI:LDAxpos:ASL A:ASL A:ASL A:ASL A:ASL A:ASL A:CLC:ADC#&80:STAlasad:LDA#0:ADC#&37:STA&71
[LDAxpos:LSR A:LSR A:CLC:ADC&71:ADCypos:STA&71:LDAypos:ASL A:ASL A:CLC:ADC&71:STAlasad+1
"�LDAface:STAlasdir:BEQlefire:LDAlasad:CLC:ADC#&40:STAlasad:LDA#9:SEC:SBCxpos:LDXxpos:CPX#1:BEQcorrigf:CPX#5:BEQcorrigf:BNEfinfire:.corrigf INClasad+1:JMPfinfire
,w.lefire DEClasad+1:LDAxpos:.finfire ASL A:ASL A:ASL A:CMP#&20:BCCshrange:LDA#&1F:.shrange STAlastat:LDA#0:STAlastep
6�LDA#1:LDXface:BNElealt:LDA#&FF:.lealt CLC:ADCxpos:STAxf:STAxset:LDAypos:STAyset:STAyf:JSRgetblock:CMP#&10:BCCnoobstr:LDA#0:STAlastat:.noobstr CLI:JMPwait
@Y.dispyou LDA#&2F:STAwirep+1:STAwirepb+1:LDA#&80:STAwirep:LDA#&A0:STAwirepb:JMPdispshr
J�.deadedch LDAdeaded:BEQnotdeadd:LDAmtype:CMP#3:BEQnodisp:LDA#0:STAmtype:.nodisp LDA&7A:CLC:ADC#&80:STA&70:LDA&7B:ADC#2:STA&71:LDY#31:.deada LDA&2FC0,Y:STA(&7A),Y:LDA&2FE0,Y:STA(&70),Y:DEY:BNEdeada
ThLDApower:STApowchange:CLC:ADC#4:BCCoverpowm:LDA#254:.overpowm STApower:LDA#0:STAdeaded:.notdeadd RTS
^�.irq INCclock:LDA&80:CLC:ADC#1:CMPclock:BNEnohelpc:INC&80:.nohelpc LDAlastat:BEQnolas:LDAmtype:BEQnohitm:LDAxmont:CMPxf:BNEnohitm:LDAymont:CMPyf:BNEnohitm:LDA#1:STAlastat:STAdeaded
hH.nohitm JSRsavevar:DEClastat:LDAlastep:CLC:ADC#8:STAlastep:LDAlasdir
r-BEQlasleft:BNElasright:.nolas JMP(vector)
|�.lasright LDYlastep:JSRlaseorp:CPY#&28:BCCridel:TYA:SEC:SBC#&20:JSRlaseory:.ridel LDAlastat:BNEricont:LDAlastep:SEC:SBC#&18:BCSnormn:LDA#0:.normn TAY
�.ristop JSRlaseorp
��CPYlastep:BEQricontb:TYA:CLC:ADC#8:TAY:JMPristop:.ricontb JSRdelyou:.ricont LDAlastep:�#&3F:BNErwall:INCxf:LDAxf:STAxset:LDAyf:STAyset:JSRgetblock:CMP#&10:BCCrwall:LDA#1:STAlastat:.rwall JMPloadvar
��.lasleft LDA#0:SEC:SBClastep:JSRlaseory:CPY#&E0:BCSledel:TYA:CLC:ADC#&20:JSRlaseory:.ledel LDAlastat:BNElecont:LDA#0:SEC:SBClastep:STAlastep:CLC:ADC#&18:BCCnorln:LDA#&F8
�.norln TAY
��.lestop JSRlaseorp:CPYlastep:BEQlecontb:TYA:SEC:SBC#8:TAY:JMPlestop:.lecontb JSRdelyou:.lecont LDAlastep:�#&3F:BNElwall:DECxf:LDAxf:STAxset:LDAyf:STAyset
�BJSRgetblock:CMP#&10:BCClwall:LDA#1:STAlastat:.lwall JMPloadvar
�=.laseory TAY:.laseorp LDA(lasad),Y:�#&3F:STA(lasad),Y:RTS
‘.scroff LDA#0:STAlastat:LDA#16:STAscrofd:.scrofflop LDA#&C:LDX#(scrofd �256):LDY#(scrofd �256):JSRosword:DECscrofd:LDAscrofd:BNEscrofflop:RTS
�/]:� P%>&2000 � �''"Code Overflow to:";~P%:�
�P%=&2300:O%=&A00:[OPT pass
�t.savevar LDA&70:STA&88:LDA&71:STA&89:LDA&72:STA&8A:LDA&73:STA&8B:LDAxset:STA&8C:LDAyset:STA&8D:STX&8F:STY&87:RTS
�|.loadvar LDA&88:STA&70:LDA&89:STA&71:LDA&8A:STA&72:LDA&8B:STA&73:LDA&8C:STAxset:LDA&8D:STAyset:LDX&8F:LDY&87:JMP(vector)
�g.xmom LDXxmont:CPXxpos:BEQonyou:BCCritemt:DEX:JSRlrxmsh:BCSonyou:DECxmont:LDA#1:.xmend STAmfine:RTS
��.ritemt INX:JSRlrxmsh:BCSonyou:INCxmont:LDA#2:BNExmend:.onyou LDA#0:BEQxmend:.lrxmsh STXxset:LDAymont:STAyset:JSRgetblock:CMP#&10:RTS
x.cmptxt EQUB3:EQUB22:EQUB13:EQUB7:EQUB15:EQUB1:EQUB17:EQUB18:EQUB11:EQUB1:EQUB17:EQUB23:EQUB22:EQUB13:EQUB16:EQUB&FF
/]:� P%>&2380 � �''"Code Overflow to:";~P%:�
P%=&2D80:O%=&A80:[OPT pass
8.movemst LDAmtype:CMP#2:BEQypatrol:CMP#1:BNEmovemqut
&�.xpatrol LDAxmont:BEQrevdir:CMP#9:BEQrevdir:ADCmdir:STAxset:LDAymont:STAyset:JSRgetblock:CMP#&10:BCSrevdir:INCyset:JSRgetblock:CMP#&10:BCCrevdir:LDAxset:STAxmont:.movemqut RTS
0Q.revdir LDAmdir:�#&FE:STAmdir:CLC:ADCxmont:STAxmont:LDAmfine:�#3:STAmfine:RTS
:�.ypatrol LDXymont:CPXypos:BEQxadjb:BCCdownmt:DEX:JSRypshr:DECymont:LDA#6:STAmfine:RTS:.ypshr STXyset:LDAxmont:STAxset:JSRgetblock:CMP#&10:BCSxadj:RTS
DQ.downmt INX:JSRypshr:INCymont:LDA#5:STAmfine:RTS:.xadj PLA:PLA:.xadjb JMPxmom
Ih.cmptxtb EQUB7:EQUB1:EQUB12:EQUB5:EQUB0:EQUB3:EQUB22:EQUB12:EQUB14:EQUB11:EQUB5:EQUB17:EQUB5:EQUB&FF
N/]:� P%>&2E00 � �''"Code Overflow to:";~P%:�
X�
�
00000000  0d 05 78 1e 50 25 3d 26  31 43 38 30 3a 4f 25 3d  |..x.P%=&1C80:O%=|
00000010  26 36 34 38 30 3a 5b 4f  50 54 70 61 73 73 0d 05  |&6480:[OPTpass..|
00000020  96 e2 2e 63 6f 6d 70 6c  65 74 65 20 43 50 59 23  |...complete CPY#|
00000030  26 31 34 3a 42 45 51 63  6f 6e 67 75 3a 4a 4d 50  |&14:BEQcongu:JMP|
00000040  73 63 72 65 65 6e 3a 2e  63 6f 6e 67 75 20 4a 53  |screen:.congu JS|
00000050  52 73 62 6f 61 72 64 3a  4c 44 41 23 28 63 6d 70  |Rsboard:LDA#(cmp|
00000060  74 78 74 20 83 20 32 35  36 29 3a 53 54 41 26 37  |txt . 256):STA&7|
00000070  32 3a 4c 44 41 23 28 63  6d 70 74 78 74 20 81 20  |2:LDA#(cmptxt . |
00000080  32 35 36 29 3a 53 54 41  26 37 33 3a 4c 44 41 23  |256):STA&73:LDA#|
00000090  32 3a 53 54 41 78 63 68  3a 4c 44 41 23 37 3a 53  |2:STAxch:LDA#7:S|
000000a0  54 41 79 63 68 3a 4a 53  52 73 74 72 69 6e 67 3a  |TAych:JSRstring:|
000000b0  4c 44 41 23 28 63 6d 70  74 78 74 62 20 83 20 32  |LDA#(cmptxtb . 2|
000000c0  35 36 29 3a 53 54 41 26  37 32 3a 4c 44 41 23 28  |56):STA&72:LDA#(|
000000d0  63 6d 70 74 78 74 62 20  81 20 32 35 36 29 3a 53  |cmptxtb . 256):S|
000000e0  54 41 26 37 33 3a 4c 44  41 23 33 3a 53 54 41 78  |TA&73:LDA#3:STAx|
000000f0  63 68 3a 4c 44 41 23 31  34 3a 53 54 41 79 63 68  |ch:LDA#14:STAych|
00000100  0d 05 9b 1f 4a 53 52 73  74 72 69 6e 67 3a 2e 74  |....JSRstring:.t|
00000110  68 65 65 6e 64 20 4a 4d  50 74 68 65 65 6e 64 0d  |heend JMPtheend.|
00000120  05 a0 8f 2e 6d 61 69 6e  63 6c 65 61 72 20 4c 44  |....mainclear LD|
00000130  41 6d 74 79 70 65 3a 42  45 51 6e 6f 63 6c 65 61  |Amtype:BEQnoclea|
00000140  72 6d 3a 4c 44 41 78 70  6f 73 3a 43 4d 50 78 6d  |rm:LDAxpos:CMPxm|
00000150  6f 6f 3a 42 4e 45 6d 63  69 3a 4c 44 41 79 70 6f  |oo:BNEmci:LDAypo|
00000160  73 3a 43 4d 50 79 6d 6f  6f 3a 42 45 51 6d 63 69  |s:CMPymoo:BEQmci|
00000170  69 3a 2e 6d 63 69 20 4c  44 41 63 6c 65 61 72 75  |i:.mci LDAclearu|
00000180  70 3a 42 45 51 6e 6f 63  6c 65 61 72 6d 3a 2e 6d  |p:BEQnoclearm:.m|
00000190  63 69 69 20 4c 44 41 23  31 3a 53 54 41 63 68 61  |cii LDA#1:STAcha|
000001a0  6e 67 65 64 3a 4a 53 52  64 65 6c 79 6f 75 0d 05  |nged:JSRdelyou..|
000001b0  aa 5a 4c 44 58 78 70 6f  73 3a 4c 44 59 79 70 6f  |.ZLDXxpos:LDYypo|
000001c0  73 3a 4a 53 52 6d 63 64  3a 4c 44 41 23 30 3a 53  |s:JSRmcd:LDA#0:S|
000001d0  54 41 77 69 70 65 72 3a  53 54 41 77 69 70 65 72  |TAwiper:STAwiper|
000001e0  6d 3a 4c 44 58 78 6d 6f  6e 74 3a 4c 44 59 79 6d  |m:LDXxmont:LDYym|
000001f0  6f 6e 74 3a 4a 4d 50 6d  63 64 3a 2e 6e 6f 63 6c  |ont:JMPmcd:.nocl|
00000200  65 61 72 6d 20 52 54 53  0d 05 b4 c9 2e 64 69 73  |earm RTS.....dis|
00000210  70 6d 6f 6e 20 4c 44 41  6d 74 79 70 65 3a 42 45  |pmon LDAmtype:BE|
00000220  51 6e 6f 6d 6f 6e 73 72  3a 4c 44 41 26 37 38 3a  |Qnomonsr:LDA&78:|
00000230  50 48 41 3a 4c 44 41 26  37 39 3a 50 48 41 3a 4c  |PHA:LDA&79:PHA:L|
00000240  44 41 66 69 6e 65 3a 50  48 41 3a 4c 44 41 78 70  |DAfine:PHA:LDAxp|
00000250  6f 73 3a 50 48 41 3a 4c  44 41 79 70 6f 73 3a 50  |os:PHA:LDAypos:P|
00000260  48 41 3a 4c 44 41 77 69  70 65 72 3a 50 48 41 3a  |HA:LDAwiper:PHA:|
00000270  4c 44 41 77 69 70 65 72  6d 3a 53 54 41 77 69 70  |LDAwiperm:STAwip|
00000280  65 72 3a 4c 44 41 78 6d  6f 6e 74 3a 53 54 41 78  |er:LDAxmont:STAx|
00000290  70 6f 73 3a 4c 44 41 79  6d 6f 6e 74 3a 53 54 41  |pos:LDAymont:STA|
000002a0  79 70 6f 73 3a 4c 44 41  6d 66 69 6e 65 3a 53 54  |ypos:LDAmfine:ST|
000002b0  41 66 69 6e 65 3a 4c 44  41 26 37 41 3a 53 54 41  |Afine:LDA&7A:STA|
000002c0  26 37 38 3a 4c 44 41 26  37 42 3a 53 54 41 26 37  |&78:LDA&7B:STA&7|
000002d0  39 0d 05 be de 4c 44 41  23 26 32 46 3a 53 54 41  |9....LDA#&2F:STA|
000002e0  77 69 72 65 70 2b 31 3a  53 54 41 77 69 72 65 70  |wirep+1:STAwirep|
000002f0  62 2b 31 3a 4c 44 41 23  26 43 30 3a 53 54 41 77  |b+1:LDA#&C0:STAw|
00000300  69 72 65 70 3a 4c 44 41  23 26 45 30 3a 53 54 41  |irep:LDA#&E0:STA|
00000310  77 69 72 65 70 62 3a 4c  44 41 23 31 3a 53 54 41  |wirepb:LDA#1:STA|
00000320  6d 66 6c 61 67 3a 4a 53  52 64 69 73 70 73 68 72  |mflag:JSRdispshr|
00000330  3a 4c 44 41 26 37 38 3a  53 54 41 26 37 41 3a 4c  |:LDA&78:STA&7A:L|
00000340  44 41 26 37 39 3a 53 54  41 26 37 42 3a 50 4c 41  |DA&79:STA&7B:PLA|
00000350  3a 53 54 41 77 69 70 65  72 3a 50 4c 41 3a 53 54  |:STAwiper:PLA:ST|
00000360  41 79 70 6f 73 3a 50 4c  41 3a 53 54 41 78 70 6f  |Aypos:PLA:STAxpo|
00000370  73 3a 50 4c 41 3a 53 54  41 66 69 6e 65 3a 50 4c  |s:PLA:STAfine:PL|
00000380  41 3a 53 54 41 26 37 39  3a 50 4c 41 3a 53 54 41  |A:STA&79:PLA:STA|
00000390  26 37 38 3a 4c 44 41 23  30 3a 53 54 41 6d 66 6c  |&78:LDA#0:STAmfl|
000003a0  61 67 3a 2e 6e 6f 6d 6f  6e 73 72 20 52 54 53 0d  |ag:.nomonsr RTS.|
000003b0  05 c8 a1 2e 6d 6f 6e 73  65 74 20 4c 44 41 79 73  |....monset LDAys|
000003c0  63 72 3a 41 53 4c 20 41  3a 41 53 4c 20 41 3a 41  |cr:ASL A:ASL A:A|
000003d0  53 4c 20 41 3a 41 53 4c  20 41 3a 43 4c 43 3a 41  |SL A:ASL A:CLC:A|
000003e0  44 43 78 73 63 72 3a 41  44 43 23 26 32 30 3a 53  |DCxscr:ADC#&20:S|
000003f0  54 41 26 37 31 3a 4c 44  59 23 30 3a 53 54 59 26  |TA&71:LDY#0:STY&|
00000400  37 30 3a 49 4e 59 3a 53  54 59 6d 66 69 6e 65 3a  |70:INY:STYmfine:|
00000410  4c 44 59 23 26 46 42 3a  4c 44 41 28 26 37 30 29  |LDY#&FB:LDA(&70)|
00000420  2c 59 3a 41 53 4c 20 41  3a 52 4f 4c 20 41 3a 52  |,Y:ASL A:ROL A:R|
00000430  4f 4c 20 41 3a 80 23 33  3a 54 41 58 3a 4c 44 41  |OL A:.#3:TAX:LDA|
00000440  6d 6f 6e 70 64 2c 58 3a  53 54 41 78 6d 6f 6e 74  |monpd,X:STAxmont|
00000450  0d 05 d2 8b 49 4e 59 3a  4c 44 41 28 26 37 30 29  |....INY:LDA(&70)|
00000460  2c 59 3a 41 53 4c 20 41  3a 52 4f 4c 20 41 3a 52  |,Y:ASL A:ROL A:R|
00000470  4f 4c 20 41 3a 80 23 33  3a 54 41 58 3a 4c 44 41  |OL A:.#3:TAX:LDA|
00000480  6d 6f 6e 70 64 2c 58 3a  53 54 41 79 6d 6f 6e 74  |monpd,X:STAymont|
00000490  3a 49 4e 59 3a 4c 44 41  28 26 37 30 29 2c 59 3a  |:INY:LDA(&70),Y:|
000004a0  41 53 4c 20 41 3a 52 4f  4c 20 41 3a 52 4f 4c 20  |ASL A:ROL A:ROL |
000004b0  41 3a 80 23 33 3a 53 54  41 6d 74 79 70 65 3a 4c  |A:.#3:STAmtype:L|
000004c0  44 41 23 26 46 46 3a 53  54 41 6d 64 69 72 3a 2e  |DA#&FF:STAmdir:.|
000004d0  6c 61 73 65 78 69 74 20  52 54 53 0d 05 dc ee 2e  |lasexit RTS.....|
000004e0  6d 6f 6e 70 72 6f 20 4c  44 41 78 6d 6f 6e 74 3a  |monpro LDAxmont:|
000004f0  53 54 41 78 6d 6f 6f 3a  4c 44 41 79 6d 6f 6e 74  |STAxmoo:LDAymont|
00000500  3a 53 54 41 79 6d 6f 6f  3a 4c 44 41 23 30 3a 53  |:STAymoo:LDA#0:S|
00000510  54 41 63 6c 65 61 72 75  70 3a 4c 44 41 6d 74 79  |TAclearup:LDAmty|
00000520  70 65 3a 42 45 51 6c 61  73 65 78 69 74 3a 43 4d  |pe:BEQlasexit:CM|
00000530  50 23 33 3a 42 4e 45 6e  6f 6d 6f 6e 73 74 6c 3a  |P#3:BNEnomonstl:|
00000540  4c 44 41 23 30 3a 53 54  41 6d 66 69 6e 65 3a 53  |LDA#0:STAmfine:S|
00000550  54 41 6d 6f 6e 73 74 61  74 3a 2e 6e 6f 6d 6f 6e  |TAmonstat:.nomon|
00000560  73 74 6c 20 4c 44 41 78  70 6f 73 3a 43 4d 50 78  |stl LDAxpos:CMPx|
00000570  6d 6f 6e 74 3a 42 4e 45  6d 6f 6e 74 63 68 3a 4c  |mont:BNEmontch:L|
00000580  44 41 79 70 6f 73 3a 43  4d 50 79 6d 6f 6e 74 3a  |DAypos:CMPymont:|
00000590  42 4e 45 6d 6f 6e 74 63  68 3a 4c 44 41 23 31 3a  |BNEmontch:LDA#1:|
000005a0  53 54 41 63 6c 65 61 72  75 70 3a 53 54 41 70 6f  |STAclearup:STApo|
000005b0  77 63 68 61 6e 67 65 3a  4c 44 41 66 6e 73 74 3a  |wchange:LDAfnst:|
000005c0  42 45 51 6d 6f 6e 74 63  68 0d 05 e6 3b 4c 44 41  |BEQmontch...;LDA|
000005d0  70 6f 77 65 72 3a 53 45  43 3a 53 42 43 23 38 3a  |power:SEC:SBC#8:|
000005e0  53 54 41 70 6f 77 65 72  3a 42 43 53 6d 6f 6e 74  |STApower:BCSmont|
000005f0  63 68 65 3a 50 4c 41 3a  50 4c 41 3a 4a 4d 50 6b  |che:PLA:PLA:JMPk|
00000600  69 6c 6c 75 0d 05 f0 d5  2e 6d 6f 6e 74 63 68 65  |illu.....montche|
00000610  20 4c 44 41 6d 74 79 70  65 3a 43 4d 50 23 33 3a  | LDAmtype:CMP#3:|
00000620  42 4e 45 6d 6f 6e 74 63  68 3a 50 4c 41 3a 50 4c  |BNEmontch:PLA:PL|
00000630  41 3a 4a 4d 50 7a 61 70  3a 2e 6d 6f 6e 74 63 68  |A:JMPzap:.montch|
00000640  20 4a 53 52 6d 6f 76 65  6d 73 74 3a 4c 44 41 78  | JSRmovemst:LDAx|
00000650  70 6f 73 3a 43 4d 50 78  6d 6f 6e 74 3a 42 4e 45  |pos:CMPxmont:BNE|
00000660  6c 61 73 65 78 69 74 3a  4c 44 41 79 70 6f 73 3a  |lasexit:LDAypos:|
00000670  43 4d 50 79 6d 6f 6e 74  3a 42 4e 45 6c 61 73 65  |CMPymont:BNElase|
00000680  78 69 74 3a 4c 44 41 23  31 3a 53 54 41 63 6c 65  |xit:LDA#1:STAcle|
00000690  61 72 75 70 3a 53 54 41  70 6f 77 63 68 61 6e 67  |arup:STApowchang|
000006a0  65 3a 4c 44 41 70 6f 77  65 72 3a 53 45 43 3a 53  |e:LDApower:SEC:S|
000006b0  42 43 23 38 3a 53 54 41  70 6f 77 65 72 3a 42 43  |BC#8:STApower:BC|
000006c0  53 6c 61 73 65 78 69 74  3a 50 4c 41 3a 50 4c 41  |Slasexit:PLA:PLA|
000006d0  3a 4a 4d 50 6b 69 6c 6c  75 0d 05 fa c4 2e 6c 61  |:JMPkillu.....la|
000006e0  73 65 72 20 4c 44 41 23  26 38 31 3a 4c 44 58 23  |ser LDA#&81:LDX#|
000006f0  26 41 36 3a 4c 44 59 23  26 46 46 3a 4a 53 52 6f  |&A6:LDY#&FF:JSRo|
00000700  73 62 79 74 65 3a 42 43  43 6c 61 73 65 78 69 74  |sbyte:BCClasexit|
00000710  3a 4c 44 41 6c 61 73 74  61 74 3a 42 4e 45 6c 61  |:LDAlastat:BNEla|
00000720  73 65 78 69 74 3a 4c 44  41 73 6f 75 6e 64 3a 42  |sexit:LDAsound:B|
00000730  45 51 6e 6f 6c 61 73 73  64 3a 4c 44 41 23 37 3a  |EQnolassd:LDA#7:|
00000740  4c 44 58 23 28 73 77 69  74 6e 20 83 32 35 36 29  |LDX#(switn .256)|
00000750  3a 4c 44 59 23 28 73 77  69 74 6e 20 81 32 35 36  |:LDY#(switn .256|
00000760  29 3a 4a 53 52 6f 73 77  6f 72 64 3a 2e 6e 6f 6c  |):JSRosword:.nol|
00000770  61 73 73 64 20 4c 44 41  70 6f 77 65 72 3a 53 54  |assd LDApower:ST|
00000780  41 70 6f 77 63 68 61 6e  67 65 3a 53 45 43 3a 53  |Apowchange:SEC:S|
00000790  42 43 23 34 3a 53 54 41  70 6f 77 65 72 0d 06 04  |BC#4:STApower...|
000007a0  1e 42 43 53 6c 61 73 6f  6b 61 79 3a 2e 6c 61 73  |.BCSlasokay:.las|
000007b0  64 69 65 20 50 4c 41 3a  50 4c 41 0d 06 0e d2 2e  |die PLA:PLA.....|
000007c0  6b 69 6c 6c 75 20 4a 53  52 67 61 6d 65 6f 76 65  |killu JSRgameove|
000007d0  72 3a 4a 4d 50 70 72 6f  67 3a 2e 6c 61 73 6f 6b  |r:JMPprog:.lasok|
000007e0  61 79 20 4c 44 41 78 6d  6f 6e 74 3a 43 4d 50 78  |ay LDAxmont:CMPx|
000007f0  70 6f 73 3a 42 4e 45 6e  6f 74 6f 6e 74 3a 4c 44  |pos:BNEnotont:LD|
00000800  41 79 6d 6f 6e 74 3a 43  4d 50 79 70 6f 73 3a 42  |Aymont:CMPypos:B|
00000810  4e 45 6e 6f 74 6f 6e 74  3a 4c 44 41 23 30 3a 53  |NEnotont:LDA#0:S|
00000820  54 41 6d 74 79 70 65 3a  52 54 53 3a 2e 6e 6f 74  |TAmtype:RTS:.not|
00000830  6f 6e 74 20 53 45 49 3a  4c 44 41 78 70 6f 73 3a  |ont SEI:LDAxpos:|
00000840  41 53 4c 20 41 3a 41 53  4c 20 41 3a 41 53 4c 20  |ASL A:ASL A:ASL |
00000850  41 3a 41 53 4c 20 41 3a  41 53 4c 20 41 3a 41 53  |A:ASL A:ASL A:AS|
00000860  4c 20 41 3a 43 4c 43 3a  41 44 43 23 26 38 30 3a  |L A:CLC:ADC#&80:|
00000870  53 54 41 6c 61 73 61 64  3a 4c 44 41 23 30 3a 41  |STAlasad:LDA#0:A|
00000880  44 43 23 26 33 37 3a 53  54 41 26 37 31 0d 06 18  |DC#&37:STA&71...|
00000890  5b 4c 44 41 78 70 6f 73  3a 4c 53 52 20 41 3a 4c  |[LDAxpos:LSR A:L|
000008a0  53 52 20 41 3a 43 4c 43  3a 41 44 43 26 37 31 3a  |SR A:CLC:ADC&71:|
000008b0  41 44 43 79 70 6f 73 3a  53 54 41 26 37 31 3a 4c  |ADCypos:STA&71:L|
000008c0  44 41 79 70 6f 73 3a 41  53 4c 20 41 3a 41 53 4c  |DAypos:ASL A:ASL|
000008d0  20 41 3a 43 4c 43 3a 41  44 43 26 37 31 3a 53 54  | A:CLC:ADC&71:ST|
000008e0  41 6c 61 73 61 64 2b 31  0d 06 22 a3 4c 44 41 66  |Alasad+1..".LDAf|
000008f0  61 63 65 3a 53 54 41 6c  61 73 64 69 72 3a 42 45  |ace:STAlasdir:BE|
00000900  51 6c 65 66 69 72 65 3a  4c 44 41 6c 61 73 61 64  |Qlefire:LDAlasad|
00000910  3a 43 4c 43 3a 41 44 43  23 26 34 30 3a 53 54 41  |:CLC:ADC#&40:STA|
00000920  6c 61 73 61 64 3a 4c 44  41 23 39 3a 53 45 43 3a  |lasad:LDA#9:SEC:|
00000930  53 42 43 78 70 6f 73 3a  4c 44 58 78 70 6f 73 3a  |SBCxpos:LDXxpos:|
00000940  43 50 58 23 31 3a 42 45  51 63 6f 72 72 69 67 66  |CPX#1:BEQcorrigf|
00000950  3a 43 50 58 23 35 3a 42  45 51 63 6f 72 72 69 67  |:CPX#5:BEQcorrig|
00000960  66 3a 42 4e 45 66 69 6e  66 69 72 65 3a 2e 63 6f  |f:BNEfinfire:.co|
00000970  72 72 69 67 66 20 49 4e  43 6c 61 73 61 64 2b 31  |rrigf INClasad+1|
00000980  3a 4a 4d 50 66 69 6e 66  69 72 65 0d 06 2c 77 2e  |:JMPfinfire..,w.|
00000990  6c 65 66 69 72 65 20 44  45 43 6c 61 73 61 64 2b  |lefire DEClasad+|
000009a0  31 3a 4c 44 41 78 70 6f  73 3a 2e 66 69 6e 66 69  |1:LDAxpos:.finfi|
000009b0  72 65 20 41 53 4c 20 41  3a 41 53 4c 20 41 3a 41  |re ASL A:ASL A:A|
000009c0  53 4c 20 41 3a 43 4d 50  23 26 32 30 3a 42 43 43  |SL A:CMP#&20:BCC|
000009d0  73 68 72 61 6e 67 65 3a  4c 44 41 23 26 31 46 3a  |shrange:LDA#&1F:|
000009e0  2e 73 68 72 61 6e 67 65  20 53 54 41 6c 61 73 74  |.shrange STAlast|
000009f0  61 74 3a 4c 44 41 23 30  3a 53 54 41 6c 61 73 74  |at:LDA#0:STAlast|
00000a00  65 70 0d 06 36 9d 4c 44  41 23 31 3a 4c 44 58 66  |ep..6.LDA#1:LDXf|
00000a10  61 63 65 3a 42 4e 45 6c  65 61 6c 74 3a 4c 44 41  |ace:BNElealt:LDA|
00000a20  23 26 46 46 3a 2e 6c 65  61 6c 74 20 43 4c 43 3a  |#&FF:.lealt CLC:|
00000a30  41 44 43 78 70 6f 73 3a  53 54 41 78 66 3a 53 54  |ADCxpos:STAxf:ST|
00000a40  41 78 73 65 74 3a 4c 44  41 79 70 6f 73 3a 53 54  |Axset:LDAypos:ST|
00000a50  41 79 73 65 74 3a 53 54  41 79 66 3a 4a 53 52 67  |Ayset:STAyf:JSRg|
00000a60  65 74 62 6c 6f 63 6b 3a  43 4d 50 23 26 31 30 3a  |etblock:CMP#&10:|
00000a70  42 43 43 6e 6f 6f 62 73  74 72 3a 4c 44 41 23 30  |BCCnoobstr:LDA#0|
00000a80  3a 53 54 41 6c 61 73 74  61 74 3a 2e 6e 6f 6f 62  |:STAlastat:.noob|
00000a90  73 74 72 20 43 4c 49 3a  4a 4d 50 77 61 69 74 0d  |str CLI:JMPwait.|
00000aa0  06 40 59 2e 64 69 73 70  79 6f 75 20 4c 44 41 23  |.@Y.dispyou LDA#|
00000ab0  26 32 46 3a 53 54 41 77  69 72 65 70 2b 31 3a 53  |&2F:STAwirep+1:S|
00000ac0  54 41 77 69 72 65 70 62  2b 31 3a 4c 44 41 23 26  |TAwirepb+1:LDA#&|
00000ad0  38 30 3a 53 54 41 77 69  72 65 70 3a 4c 44 41 23  |80:STAwirep:LDA#|
00000ae0  26 41 30 3a 53 54 41 77  69 72 65 70 62 3a 4a 4d  |&A0:STAwirepb:JM|
00000af0  50 64 69 73 70 73 68 72  0d 06 4a c8 2e 64 65 61  |Pdispshr..J..dea|
00000b00  64 65 64 63 68 20 4c 44  41 64 65 61 64 65 64 3a  |dedch LDAdeaded:|
00000b10  42 45 51 6e 6f 74 64 65  61 64 64 3a 4c 44 41 6d  |BEQnotdeadd:LDAm|
00000b20  74 79 70 65 3a 43 4d 50  23 33 3a 42 45 51 6e 6f  |type:CMP#3:BEQno|
00000b30  64 69 73 70 3a 4c 44 41  23 30 3a 53 54 41 6d 74  |disp:LDA#0:STAmt|
00000b40  79 70 65 3a 2e 6e 6f 64  69 73 70 20 4c 44 41 26  |ype:.nodisp LDA&|
00000b50  37 41 3a 43 4c 43 3a 41  44 43 23 26 38 30 3a 53  |7A:CLC:ADC#&80:S|
00000b60  54 41 26 37 30 3a 4c 44  41 26 37 42 3a 41 44 43  |TA&70:LDA&7B:ADC|
00000b70  23 32 3a 53 54 41 26 37  31 3a 4c 44 59 23 33 31  |#2:STA&71:LDY#31|
00000b80  3a 2e 64 65 61 64 61 20  4c 44 41 26 32 46 43 30  |:.deada LDA&2FC0|
00000b90  2c 59 3a 53 54 41 28 26  37 41 29 2c 59 3a 4c 44  |,Y:STA(&7A),Y:LD|
00000ba0  41 26 32 46 45 30 2c 59  3a 53 54 41 28 26 37 30  |A&2FE0,Y:STA(&70|
00000bb0  29 2c 59 3a 44 45 59 3a  42 4e 45 64 65 61 64 61  |),Y:DEY:BNEdeada|
00000bc0  0d 06 54 68 4c 44 41 70  6f 77 65 72 3a 53 54 41  |..ThLDApower:STA|
00000bd0  70 6f 77 63 68 61 6e 67  65 3a 43 4c 43 3a 41 44  |powchange:CLC:AD|
00000be0  43 23 34 3a 42 43 43 6f  76 65 72 70 6f 77 6d 3a  |C#4:BCCoverpowm:|
00000bf0  4c 44 41 23 32 35 34 3a  2e 6f 76 65 72 70 6f 77  |LDA#254:.overpow|
00000c00  6d 20 53 54 41 70 6f 77  65 72 3a 4c 44 41 23 30  |m STApower:LDA#0|
00000c10  3a 53 54 41 64 65 61 64  65 64 3a 2e 6e 6f 74 64  |:STAdeaded:.notd|
00000c20  65 61 64 64 20 52 54 53  0d 06 5e b8 2e 69 72 71  |eadd RTS..^..irq|
00000c30  20 49 4e 43 63 6c 6f 63  6b 3a 4c 44 41 26 38 30  | INCclock:LDA&80|
00000c40  3a 43 4c 43 3a 41 44 43  23 31 3a 43 4d 50 63 6c  |:CLC:ADC#1:CMPcl|
00000c50  6f 63 6b 3a 42 4e 45 6e  6f 68 65 6c 70 63 3a 49  |ock:BNEnohelpc:I|
00000c60  4e 43 26 38 30 3a 2e 6e  6f 68 65 6c 70 63 20 4c  |NC&80:.nohelpc L|
00000c70  44 41 6c 61 73 74 61 74  3a 42 45 51 6e 6f 6c 61  |DAlastat:BEQnola|
00000c80  73 3a 4c 44 41 6d 74 79  70 65 3a 42 45 51 6e 6f  |s:LDAmtype:BEQno|
00000c90  68 69 74 6d 3a 4c 44 41  78 6d 6f 6e 74 3a 43 4d  |hitm:LDAxmont:CM|
00000ca0  50 78 66 3a 42 4e 45 6e  6f 68 69 74 6d 3a 4c 44  |Pxf:BNEnohitm:LD|
00000cb0  41 79 6d 6f 6e 74 3a 43  4d 50 79 66 3a 42 4e 45  |Aymont:CMPyf:BNE|
00000cc0  6e 6f 68 69 74 6d 3a 4c  44 41 23 31 3a 53 54 41  |nohitm:LDA#1:STA|
00000cd0  6c 61 73 74 61 74 3a 53  54 41 64 65 61 64 65 64  |lastat:STAdeaded|
00000ce0  0d 06 68 48 2e 6e 6f 68  69 74 6d 20 4a 53 52 73  |..hH.nohitm JSRs|
00000cf0  61 76 65 76 61 72 3a 44  45 43 6c 61 73 74 61 74  |avevar:DEClastat|
00000d00  3a 4c 44 41 6c 61 73 74  65 70 3a 43 4c 43 3a 41  |:LDAlastep:CLC:A|
00000d10  44 43 23 38 3a 53 54 41  6c 61 73 74 65 70 3a 4c  |DC#8:STAlastep:L|
00000d20  44 41 6c 61 73 64 69 72  0d 06 72 2d 42 45 51 6c  |DAlasdir..r-BEQl|
00000d30  61 73 6c 65 66 74 3a 42  4e 45 6c 61 73 72 69 67  |asleft:BNElasrig|
00000d40  68 74 3a 2e 6e 6f 6c 61  73 20 4a 4d 50 28 76 65  |ht:.nolas JMP(ve|
00000d50  63 74 6f 72 29 0d 06 7c  99 2e 6c 61 73 72 69 67  |ctor)..|..lasrig|
00000d60  68 74 20 4c 44 59 6c 61  73 74 65 70 3a 4a 53 52  |ht LDYlastep:JSR|
00000d70  6c 61 73 65 6f 72 70 3a  43 50 59 23 26 32 38 3a  |laseorp:CPY#&28:|
00000d80  42 43 43 72 69 64 65 6c  3a 54 59 41 3a 53 45 43  |BCCridel:TYA:SEC|
00000d90  3a 53 42 43 23 26 32 30  3a 4a 53 52 6c 61 73 65  |:SBC#&20:JSRlase|
00000da0  6f 72 79 3a 2e 72 69 64  65 6c 20 4c 44 41 6c 61  |ory:.ridel LDAla|
00000db0  73 74 61 74 3a 42 4e 45  72 69 63 6f 6e 74 3a 4c  |stat:BNEricont:L|
00000dc0  44 41 6c 61 73 74 65 70  3a 53 45 43 3a 53 42 43  |DAlastep:SEC:SBC|
00000dd0  23 26 31 38 3a 42 43 53  6e 6f 72 6d 6e 3a 4c 44  |#&18:BCSnormn:LD|
00000de0  41 23 30 3a 2e 6e 6f 72  6d 6e 20 54 41 59 0d 06  |A#0:.normn TAY..|
00000df0  86 16 2e 72 69 73 74 6f  70 20 4a 53 52 6c 61 73  |...ristop JSRlas|
00000e00  65 6f 72 70 0d 06 90 c9  43 50 59 6c 61 73 74 65  |eorp....CPYlaste|
00000e10  70 3a 42 45 51 72 69 63  6f 6e 74 62 3a 54 59 41  |p:BEQricontb:TYA|
00000e20  3a 43 4c 43 3a 41 44 43  23 38 3a 54 41 59 3a 4a  |:CLC:ADC#8:TAY:J|
00000e30  4d 50 72 69 73 74 6f 70  3a 2e 72 69 63 6f 6e 74  |MPristop:.ricont|
00000e40  62 20 4a 53 52 64 65 6c  79 6f 75 3a 2e 72 69 63  |b JSRdelyou:.ric|
00000e50  6f 6e 74 20 4c 44 41 6c  61 73 74 65 70 3a 80 23  |ont LDAlastep:.#|
00000e60  26 33 46 3a 42 4e 45 72  77 61 6c 6c 3a 49 4e 43  |&3F:BNErwall:INC|
00000e70  78 66 3a 4c 44 41 78 66  3a 53 54 41 78 73 65 74  |xf:LDAxf:STAxset|
00000e80  3a 4c 44 41 79 66 3a 53  54 41 79 73 65 74 3a 4a  |:LDAyf:STAyset:J|
00000e90  53 52 67 65 74 62 6c 6f  63 6b 3a 43 4d 50 23 26  |SRgetblock:CMP#&|
00000ea0  31 30 3a 42 43 43 72 77  61 6c 6c 3a 4c 44 41 23  |10:BCCrwall:LDA#|
00000eb0  31 3a 53 54 41 6c 61 73  74 61 74 3a 2e 72 77 61  |1:STAlastat:.rwa|
00000ec0  6c 6c 20 4a 4d 50 6c 6f  61 64 76 61 72 0d 06 a4  |ll JMPloadvar...|
00000ed0  ad 2e 6c 61 73 6c 65 66  74 20 4c 44 41 23 30 3a  |..lasleft LDA#0:|
00000ee0  53 45 43 3a 53 42 43 6c  61 73 74 65 70 3a 4a 53  |SEC:SBClastep:JS|
00000ef0  52 6c 61 73 65 6f 72 79  3a 43 50 59 23 26 45 30  |Rlaseory:CPY#&E0|
00000f00  3a 42 43 53 6c 65 64 65  6c 3a 54 59 41 3a 43 4c  |:BCSledel:TYA:CL|
00000f10  43 3a 41 44 43 23 26 32  30 3a 4a 53 52 6c 61 73  |C:ADC#&20:JSRlas|
00000f20  65 6f 72 79 3a 2e 6c 65  64 65 6c 20 4c 44 41 6c  |eory:.ledel LDAl|
00000f30  61 73 74 61 74 3a 42 4e  45 6c 65 63 6f 6e 74 3a  |astat:BNElecont:|
00000f40  4c 44 41 23 30 3a 53 45  43 3a 53 42 43 6c 61 73  |LDA#0:SEC:SBClas|
00000f50  74 65 70 3a 53 54 41 6c  61 73 74 65 70 3a 43 4c  |tep:STAlastep:CL|
00000f60  43 3a 41 44 43 23 26 31  38 3a 42 43 43 6e 6f 72  |C:ADC#&18:BCCnor|
00000f70  6c 6e 3a 4c 44 41 23 26  46 38 0d 06 a5 0e 2e 6e  |ln:LDA#&F8.....n|
00000f80  6f 72 6c 6e 20 54 41 59  0d 06 ae 9d 2e 6c 65 73  |orln TAY.....les|
00000f90  74 6f 70 20 4a 53 52 6c  61 73 65 6f 72 70 3a 43  |top JSRlaseorp:C|
00000fa0  50 59 6c 61 73 74 65 70  3a 42 45 51 6c 65 63 6f  |PYlastep:BEQleco|
00000fb0  6e 74 62 3a 54 59 41 3a  53 45 43 3a 53 42 43 23  |ntb:TYA:SEC:SBC#|
00000fc0  38 3a 54 41 59 3a 4a 4d  50 6c 65 73 74 6f 70 3a  |8:TAY:JMPlestop:|
00000fd0  2e 6c 65 63 6f 6e 74 62  20 4a 53 52 64 65 6c 79  |.lecontb JSRdely|
00000fe0  6f 75 3a 2e 6c 65 63 6f  6e 74 20 4c 44 41 6c 61  |ou:.lecont LDAla|
00000ff0  73 74 65 70 3a 80 23 26  33 46 3a 42 4e 45 6c 77  |step:.#&3F:BNElw|
00001000  61 6c 6c 3a 44 45 43 78  66 3a 4c 44 41 78 66 3a  |all:DECxf:LDAxf:|
00001010  53 54 41 78 73 65 74 3a  4c 44 41 79 66 3a 53 54  |STAxset:LDAyf:ST|
00001020  41 79 73 65 74 0d 06 b8  42 4a 53 52 67 65 74 62  |Ayset...BJSRgetb|
00001030  6c 6f 63 6b 3a 43 4d 50  23 26 31 30 3a 42 43 43  |lock:CMP#&10:BCC|
00001040  6c 77 61 6c 6c 3a 4c 44  41 23 31 3a 53 54 41 6c  |lwall:LDA#1:STAl|
00001050  61 73 74 61 74 3a 2e 6c  77 61 6c 6c 20 4a 4d 50  |astat:.lwall JMP|
00001060  6c 6f 61 64 76 61 72 0d  06 bd 3d 2e 6c 61 73 65  |loadvar...=.lase|
00001070  6f 72 79 20 54 41 59 3a  2e 6c 61 73 65 6f 72 70  |ory TAY:.laseorp|
00001080  20 4c 44 41 28 6c 61 73  61 64 29 2c 59 3a 82 23  | LDA(lasad),Y:.#|
00001090  26 33 46 3a 53 54 41 28  6c 61 73 61 64 29 2c 59  |&3F:STA(lasad),Y|
000010a0  3a 52 54 53 0d 06 c2 91  2e 73 63 72 6f 66 66 20  |:RTS.....scroff |
000010b0  4c 44 41 23 30 3a 53 54  41 6c 61 73 74 61 74 3a  |LDA#0:STAlastat:|
000010c0  4c 44 41 23 31 36 3a 53  54 41 73 63 72 6f 66 64  |LDA#16:STAscrofd|
000010d0  3a 2e 73 63 72 6f 66 66  6c 6f 70 20 4c 44 41 23  |:.scrofflop LDA#|
000010e0  26 43 3a 4c 44 58 23 28  73 63 72 6f 66 64 20 83  |&C:LDX#(scrofd .|
000010f0  32 35 36 29 3a 4c 44 59  23 28 73 63 72 6f 66 64  |256):LDY#(scrofd|
00001100  20 81 32 35 36 29 3a 4a  53 52 6f 73 77 6f 72 64  | .256):JSRosword|
00001110  3a 44 45 43 73 63 72 6f  66 64 3a 4c 44 41 73 63  |:DECscrofd:LDAsc|
00001120  72 6f 66 64 3a 42 4e 45  73 63 72 6f 66 66 6c 6f  |rofd:BNEscrofflo|
00001130  70 3a 52 54 53 0d 06 cc  2f 5d 3a e7 20 50 25 3e  |p:RTS.../]:. P%>|
00001140  26 32 30 30 30 20 8c 20  f1 27 27 22 43 6f 64 65  |&2000 . .''"Code|
00001150  20 4f 76 65 72 66 6c 6f  77 20 74 6f 3a 22 3b 7e  | Overflow to:";~|
00001160  50 25 3a e0 0d 06 d6 1e  50 25 3d 26 32 33 30 30  |P%:.....P%=&2300|
00001170  3a 4f 25 3d 26 41 30 30  3a 5b 4f 50 54 20 70 61  |:O%=&A00:[OPT pa|
00001180  73 73 0d 06 e0 74 2e 73  61 76 65 76 61 72 20 4c  |ss...t.savevar L|
00001190  44 41 26 37 30 3a 53 54  41 26 38 38 3a 4c 44 41  |DA&70:STA&88:LDA|
000011a0  26 37 31 3a 53 54 41 26  38 39 3a 4c 44 41 26 37  |&71:STA&89:LDA&7|
000011b0  32 3a 53 54 41 26 38 41  3a 4c 44 41 26 37 33 3a  |2:STA&8A:LDA&73:|
000011c0  53 54 41 26 38 42 3a 4c  44 41 78 73 65 74 3a 53  |STA&8B:LDAxset:S|
000011d0  54 41 26 38 43 3a 4c 44  41 79 73 65 74 3a 53 54  |TA&8C:LDAyset:ST|
000011e0  41 26 38 44 3a 53 54 58  26 38 46 3a 53 54 59 26  |A&8D:STX&8F:STY&|
000011f0  38 37 3a 52 54 53 0d 06  ea 7c 2e 6c 6f 61 64 76  |87:RTS...|.loadv|
00001200  61 72 20 4c 44 41 26 38  38 3a 53 54 41 26 37 30  |ar LDA&88:STA&70|
00001210  3a 4c 44 41 26 38 39 3a  53 54 41 26 37 31 3a 4c  |:LDA&89:STA&71:L|
00001220  44 41 26 38 41 3a 53 54  41 26 37 32 3a 4c 44 41  |DA&8A:STA&72:LDA|
00001230  26 38 42 3a 53 54 41 26  37 33 3a 4c 44 41 26 38  |&8B:STA&73:LDA&8|
00001240  43 3a 53 54 41 78 73 65  74 3a 4c 44 41 26 38 44  |C:STAxset:LDA&8D|
00001250  3a 53 54 41 79 73 65 74  3a 4c 44 58 26 38 46 3a  |:STAyset:LDX&8F:|
00001260  4c 44 59 26 38 37 3a 4a  4d 50 28 76 65 63 74 6f  |LDY&87:JMP(vecto|
00001270  72 29 0d 06 f4 67 2e 78  6d 6f 6d 20 4c 44 58 78  |r)...g.xmom LDXx|
00001280  6d 6f 6e 74 3a 43 50 58  78 70 6f 73 3a 42 45 51  |mont:CPXxpos:BEQ|
00001290  6f 6e 79 6f 75 3a 42 43  43 72 69 74 65 6d 74 3a  |onyou:BCCritemt:|
000012a0  44 45 58 3a 4a 53 52 6c  72 78 6d 73 68 3a 42 43  |DEX:JSRlrxmsh:BC|
000012b0  53 6f 6e 79 6f 75 3a 44  45 43 78 6d 6f 6e 74 3a  |Sonyou:DECxmont:|
000012c0  4c 44 41 23 31 3a 2e 78  6d 65 6e 64 20 53 54 41  |LDA#1:.xmend STA|
000012d0  6d 66 69 6e 65 3a 52 54  53 0d 06 fe 89 2e 72 69  |mfine:RTS.....ri|
000012e0  74 65 6d 74 20 49 4e 58  3a 4a 53 52 6c 72 78 6d  |temt INX:JSRlrxm|
000012f0  73 68 3a 42 43 53 6f 6e  79 6f 75 3a 49 4e 43 78  |sh:BCSonyou:INCx|
00001300  6d 6f 6e 74 3a 4c 44 41  23 32 3a 42 4e 45 78 6d  |mont:LDA#2:BNExm|
00001310  65 6e 64 3a 2e 6f 6e 79  6f 75 20 4c 44 41 23 30  |end:.onyou LDA#0|
00001320  3a 42 45 51 78 6d 65 6e  64 3a 2e 6c 72 78 6d 73  |:BEQxmend:.lrxms|
00001330  68 20 53 54 58 78 73 65  74 3a 4c 44 41 79 6d 6f  |h STXxset:LDAymo|
00001340  6e 74 3a 53 54 41 79 73  65 74 3a 4a 53 52 67 65  |nt:STAyset:JSRge|
00001350  74 62 6c 6f 63 6b 3a 43  4d 50 23 26 31 30 3a 52  |tblock:CMP#&10:R|
00001360  54 53 0d 07 03 78 2e 63  6d 70 74 78 74 20 45 51  |TS...x.cmptxt EQ|
00001370  55 42 33 3a 45 51 55 42  32 32 3a 45 51 55 42 31  |UB3:EQUB22:EQUB1|
00001380  33 3a 45 51 55 42 37 3a  45 51 55 42 31 35 3a 45  |3:EQUB7:EQUB15:E|
00001390  51 55 42 31 3a 45 51 55  42 31 37 3a 45 51 55 42  |QUB1:EQUB17:EQUB|
000013a0  31 38 3a 45 51 55 42 31  31 3a 45 51 55 42 31 3a  |18:EQUB11:EQUB1:|
000013b0  45 51 55 42 31 37 3a 45  51 55 42 32 33 3a 45 51  |EQUB17:EQUB23:EQ|
000013c0  55 42 32 32 3a 45 51 55  42 31 33 3a 45 51 55 42  |UB22:EQUB13:EQUB|
000013d0  31 36 3a 45 51 55 42 26  46 46 0d 07 08 2f 5d 3a  |16:EQUB&FF.../]:|
000013e0  e7 20 50 25 3e 26 32 33  38 30 20 8c 20 f1 27 27  |. P%>&2380 . .''|
000013f0  22 43 6f 64 65 20 4f 76  65 72 66 6c 6f 77 20 74  |"Code Overflow t|
00001400  6f 3a 22 3b 7e 50 25 3a  e0 0d 07 12 1e 50 25 3d  |o:";~P%:.....P%=|
00001410  26 32 44 38 30 3a 4f 25  3d 26 41 38 30 3a 5b 4f  |&2D80:O%=&A80:[O|
00001420  50 54 20 70 61 73 73 0d  07 1c 38 2e 6d 6f 76 65  |PT pass...8.move|
00001430  6d 73 74 20 4c 44 41 6d  74 79 70 65 3a 43 4d 50  |mst LDAmtype:CMP|
00001440  23 32 3a 42 45 51 79 70  61 74 72 6f 6c 3a 43 4d  |#2:BEQypatrol:CM|
00001450  50 23 31 3a 42 4e 45 6d  6f 76 65 6d 71 75 74 0d  |P#1:BNEmovemqut.|
00001460  07 26 b3 2e 78 70 61 74  72 6f 6c 20 4c 44 41 78  |.&..xpatrol LDAx|
00001470  6d 6f 6e 74 3a 42 45 51  72 65 76 64 69 72 3a 43  |mont:BEQrevdir:C|
00001480  4d 50 23 39 3a 42 45 51  72 65 76 64 69 72 3a 41  |MP#9:BEQrevdir:A|
00001490  44 43 6d 64 69 72 3a 53  54 41 78 73 65 74 3a 4c  |DCmdir:STAxset:L|
000014a0  44 41 79 6d 6f 6e 74 3a  53 54 41 79 73 65 74 3a  |DAymont:STAyset:|
000014b0  4a 53 52 67 65 74 62 6c  6f 63 6b 3a 43 4d 50 23  |JSRgetblock:CMP#|
000014c0  26 31 30 3a 42 43 53 72  65 76 64 69 72 3a 49 4e  |&10:BCSrevdir:IN|
000014d0  43 79 73 65 74 3a 4a 53  52 67 65 74 62 6c 6f 63  |Cyset:JSRgetbloc|
000014e0  6b 3a 43 4d 50 23 26 31  30 3a 42 43 43 72 65 76  |k:CMP#&10:BCCrev|
000014f0  64 69 72 3a 4c 44 41 78  73 65 74 3a 53 54 41 78  |dir:LDAxset:STAx|
00001500  6d 6f 6e 74 3a 2e 6d 6f  76 65 6d 71 75 74 20 52  |mont:.movemqut R|
00001510  54 53 0d 07 30 51 2e 72  65 76 64 69 72 20 4c 44  |TS..0Q.revdir LD|
00001520  41 6d 64 69 72 3a 82 23  26 46 45 3a 53 54 41 6d  |Amdir:.#&FE:STAm|
00001530  64 69 72 3a 43 4c 43 3a  41 44 43 78 6d 6f 6e 74  |dir:CLC:ADCxmont|
00001540  3a 53 54 41 78 6d 6f 6e  74 3a 4c 44 41 6d 66 69  |:STAxmont:LDAmfi|
00001550  6e 65 3a 82 23 33 3a 53  54 41 6d 66 69 6e 65 3a  |ne:.#3:STAmfine:|
00001560  52 54 53 0d 07 3a 99 2e  79 70 61 74 72 6f 6c 20  |RTS..:..ypatrol |
00001570  4c 44 58 79 6d 6f 6e 74  3a 43 50 58 79 70 6f 73  |LDXymont:CPXypos|
00001580  3a 42 45 51 78 61 64 6a  62 3a 42 43 43 64 6f 77  |:BEQxadjb:BCCdow|
00001590  6e 6d 74 3a 44 45 58 3a  4a 53 52 79 70 73 68 72  |nmt:DEX:JSRypshr|
000015a0  3a 44 45 43 79 6d 6f 6e  74 3a 4c 44 41 23 36 3a  |:DECymont:LDA#6:|
000015b0  53 54 41 6d 66 69 6e 65  3a 52 54 53 3a 2e 79 70  |STAmfine:RTS:.yp|
000015c0  73 68 72 20 53 54 58 79  73 65 74 3a 4c 44 41 78  |shr STXyset:LDAx|
000015d0  6d 6f 6e 74 3a 53 54 41  78 73 65 74 3a 4a 53 52  |mont:STAxset:JSR|
000015e0  67 65 74 62 6c 6f 63 6b  3a 43 4d 50 23 26 31 30  |getblock:CMP#&10|
000015f0  3a 42 43 53 78 61 64 6a  3a 52 54 53 0d 07 44 51  |:BCSxadj:RTS..DQ|
00001600  2e 64 6f 77 6e 6d 74 20  49 4e 58 3a 4a 53 52 79  |.downmt INX:JSRy|
00001610  70 73 68 72 3a 49 4e 43  79 6d 6f 6e 74 3a 4c 44  |pshr:INCymont:LD|
00001620  41 23 35 3a 53 54 41 6d  66 69 6e 65 3a 52 54 53  |A#5:STAmfine:RTS|
00001630  3a 2e 78 61 64 6a 20 50  4c 41 3a 50 4c 41 3a 2e  |:.xadj PLA:PLA:.|
00001640  78 61 64 6a 62 20 4a 4d  50 78 6d 6f 6d 0d 07 49  |xadjb JMPxmom..I|
00001650  68 2e 63 6d 70 74 78 74  62 20 45 51 55 42 37 3a  |h.cmptxtb EQUB7:|
00001660  45 51 55 42 31 3a 45 51  55 42 31 32 3a 45 51 55  |EQUB1:EQUB12:EQU|
00001670  42 35 3a 45 51 55 42 30  3a 45 51 55 42 33 3a 45  |B5:EQUB0:EQUB3:E|
00001680  51 55 42 32 32 3a 45 51  55 42 31 32 3a 45 51 55  |QUB22:EQUB12:EQU|
00001690  42 31 34 3a 45 51 55 42  31 31 3a 45 51 55 42 35  |B14:EQUB11:EQUB5|
000016a0  3a 45 51 55 42 31 37 3a  45 51 55 42 35 3a 45 51  |:EQUB17:EQUB5:EQ|
000016b0  55 42 26 46 46 0d 07 4e  2f 5d 3a e7 20 50 25 3e  |UB&FF..N/]:. P%>|
000016c0  26 32 45 30 30 20 8c 20  f1 27 27 22 43 6f 64 65  |&2E00 . .''"Code|
000016d0  20 4f 76 65 72 66 6c 6f  77 20 74 6f 3a 22 3b 7e  | Overflow to:";~|
000016e0  50 25 3a e0 0d 07 58 05  e1 0d ff                 |P%:...X....|
000016eb
Code/Game2D.m0
Code/Game2D.m1
Code/Game2D.m2
Code/Game2D.m4
Code/Game2D.m5