Home » Personal collection » Acorn ADFS disks » Greaseweazled » adfs_IJJOBS21.adf » Bounce/B12

Bounce/B12

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 » Greaseweazled » adfs_IJJOBS21.adf
Filename: Bounce/B12
Read OK:
File size: 25FD bytes
Load address: FFFFFB46
Exec address: F47DE7C2
Duplicates

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

File contents
   10REM Bounce
   20REM by Dominic Ford 1996
   30:
   40IF NOT ((?&78=45) AND (PAGE=&1D00)) THEN MODE 6
   50PROCinit
   60A$="DEL.1320,9999"+CHR$13+"GOTO90"+CHR$6+CHR$13:VDU21:FOR char=1 TO LEN(A$):OSCLI"FX138,0,"+STR$(ASC(MID$(A$,char,1))):NEXT
   70END
   80:
   90VDU 6,23,128,255,66,36,24,24,36,66,255,23,129,0,0,0,0,0,0,0,0,23,130,60,126,255,253,250,245,42,20,23,131,255,129,129,129,129,129,129,255,23,132,24,90,60,255,255,60,90,24,23,133,255,255,255,255,255,255,255,255
  100sound=TRUE:DIMcl%(3):cl%(0)=2:cl%(1)=5:cl%(2)=6
  110MODE1:VDU23,1,0;0;0;0;
  120REPEAT
  130PROCtitle
  140VDU 19,1,1,0,0,0,0,19,2,4,0,0,0,0
  150IFk$="K"ORk$="k"THENPROCkeys
  160IFk$=" "THENPROCgame
  170UNTILk$="Q"ORk$="q"
  180MODE6:END
  190:
  200DEFPROCgame
  210lev%=0:scr%=0:live%=3:?&BF8=25
  220REPEAT
  230PROClevel
  240IF live%=-1 THEN lev%=20
  250UNTIL lev%=20
  260IF live%=-1 THEN PROCgameover:ENDPROC
  270PROCcongrat
  280ENDPROC
  290:
  300DEFPROClevel
  310CLS
  320COLOUR 3:PRINTTAB(9,16)"Get Ready for Level ";lev%+1;"!"
  330FORc=0 TO 5
  340FORcol=0 TO 7:IF sound=TRUE THEN SOUND 1,-15,c*4+col*8+100,1
  350VDU 19,3,col,0,0,0
  360nt%=TIME+4
  370REPEAT UNTIL TIME>nt%
  380NEXT,:CLS
  390REPEAT
  400VDU 19,3,2,0,0,0
  410tim%=400:lev%=lev%+1:?&BF0=1:?&BF1=1
  420GCOL0,1:MOVE0,0:MOVE3000,0:PLOT85,0,3000:GCOL0,0:MOVE32,32:MOVE32,96:PLOT85,224,32:PLOT85,224,96:MOVE256,32:MOVE256,96:PLOT85,480,32:PLOT85,480,96:MOVE512,32:MOVE512,96:PLOT85,768,32:PLOT85,768,96
  430MOVE800,32:MOVE800,96:PLOT85,992,32:PLOT85,992,96:MOVE1024,32:MOVE1024,96:PLOT85,1248,32:PLOT85,1248,96:MOVE32,224:MOVE1248,224:PLOT85,32,992:PLOT85,1248,992
  440COLOUR3:PRINTTAB(1,1)CHR$131
  450?&73=(&14C0+&40*lev%)MOD256
  460?&74=(&14C0+&40*lev%)DIV256
  470COLOUR1:CALL&1A00
  480COLOUR3:PRINTTAB(1,29)"Score";TAB(8,29)"Lives";TAB(16,29)"Screen";TAB(25,29)"Time";TAB(32,29)"Money"
  490REPEAT
  500COLOUR3
  510PRINTTAB(2,30);scr%;TAB(11,30)live%;TAB(19,30)lev%;
  520PRINTTAB(27,30);tim%;" ";TAB(34,30);?&BF8;"0 "
  530REPEAT UNTIL TIME>nt%
  540nt%=TIME+8:CALL&AE9
  550IF?&BF9=0THENREPEAT UNTIL TIME>nt%:nt%=TIME+8:CALL&AE9:tim%=tim%-1
  560UNTIL tim%=-1 OR ?&BEF=1 OR ?&BF9=1
  570IF tim%<>-1 AND ?&BF9=0 THEN UNTIL TRUE:PROClevelfin:ENDPROC
  580live%=live%-1
  590IF live%=-1 THEN UNTIL TRUE:ENDPROC
  600CLS:COLOUR3:PRINTTAB(15,16);
  610IF?&BF9=0THENPRINT"Time Out!"ELSEPRINT"Lost Ball!"
  620FORc=0 TO 5:IF sound=TRUE THEN SOUND 1,-15,0,7
  630FORcol=0 TO 7
  640VDU 19,3,col,0,0,0
  650nt%=TIME+4
  660REPEAT UNTIL TIME>nt%
  670NEXT,:CLS:lev%=lev%-1
  680UNTIL FALSE
  690ENDPROC
  700:
  710DEFPROClevelfin
  720CLS:COLOUR 3
  730PRINTTAB(4,16);"Congratulations: Level Complete"
  740FORc=0 TO 5:IF sound=TRUE THEN SOUND 1,-15,4+c*48,10
  750FORcol=0 TO 7
  760VDU 19,3,col,0,0,0
  770nt%=TIME+4
  780REPEAT UNTIL TIME>nt%
  790NEXT,:CLS:?&BF8=(?&BF8)+10
  800ENDPROC
  810:
  820DEFPROCgameover
  830CLS:COLOUR 3
  840PRINTTAB(9,16)"That's it: Game Over!"
  850FORc=0 TO 5
  860FORcol=0 TO 7:IF sound=TRUE THEN SOUND 1,-15,150-(c*4+col*8),1
  870VDU 19,3,col,0,0,0
  880nt%=TIME+4
  890REPEAT UNTIL TIME>nt%
  900NEXT,:CLS
  910ENDPROC
  920:
  930DEFPROCcongrat
  940CLS:COLOUR 3
  950FORx=0 TO 5
  960PRINTTAB(4,16);"Congratulations: Game Complete!"
  970FORc=0 TO 5:IF sound=TRUE THEN SOUND 1,-15,4+c*48,10
  980FORcol=0 TO 7
  990VDU 19,3,col,0,0,0
 1000nt%=TIME+4
 1010REPEAT UNTIL TIME>nt%
 1020NEXT,,:CLS
 1030ENDPROC
 1040:
 1050DEFPROCtitle
 1060col=0:CLS
 1070CALL&A00:COLOUR2
 1080PRINTTAB(17,5)"BOUNCE";TAB(10,8)"by Dominic Ford 1996";TAB(12,14)"SPACE - Start";TAB(16,16)"Q - Quit";TAB(16,18)"S - Sound On/Off";TAB(16,20)"K - Change Keys";TAB(15,25);"Sound: ";:IFsound THEN PRINT"On "ELSEPRINT"Off"
 1090VDU 23,1,0;0;0;0;:*FX15,1
 1100REPEAT
 1110nt%=TIME+10:col=((col+1) MOD 3)
 1120VDU 19,1,cl%(col),0,0,0,0
 1130VDU 19,2,cl%((col+1) MOD 3),0,0,0,0
 1140VDU 19,3,cl%((col+2) MOD 3),0,0,0,0
 1150REPEAT UNTIL TIME>nt%
 1160k$=INKEY$(0)
 1170IFk$="S"ORk$="s"THENPROCsound
 1180UNTIL INSTR(" QqKk",k$)<>0 AND LEN(k$)<>0
 1190ENDPROC
 1200:
 1210DEFPROCsound
 1220IFsound THEN sound=FALSE ELSE sound=TRUE
 1230PRINTTAB(22,25);:IFsound THEN PRINT"On "ELSEPRINT"Off"
 1240ENDPROC
 1250:
 1260DEFPROCkeys
 1270VDU23,1,1,0;0;0;0;
 1280CLS:PRINT"Please select new keys:"''"Left:"'"Right:"'"Up:"'"Down:"'"Wall:"'"Clear:"
 1290FORk=0TO5:PRINTTAB(8,2+k);:k$=GET$:PRINTk$:?(&BFA+k)=ASC(k$):NEXT
 1300VDU23,1,0;0;0;0;:k$=""
 1310ENDPROC
 1320:
 1330REM Level Data
 1340DATA 17,3,3,4,3,5,3,6,3,7,3,8,3,8,8,9,9,10,9,11,9,12,9,13,9
 1350DATA 14,9,15,9,16,9,17,8,18,9,19,8,8,1,19,1,1,17,10,1,2,2,255
 1360:
 1370DATA 0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0
 1380DATA 255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,-999
 1390:
 1400DEFPROCinit
 1410IF NOT ((?&78=45) AND (PAGE=&1D00)) THEN PRINT'"Please Wait. . ."':*TAPE
 1420IF PAGE<>&1D00 THEN PROCreloc
 1430VDU 6,11,23,1,0;0;0;0;
 1440PRINT"Calculating sphere. . ."
 1450P%=&D00:p=0
 1460FORx=-78.75 TO 90 STEP 11.25
 1470FORy=22.5 TO 180 STEP 22.5:p=p+.78125
 1480[OPT 2
 1490EQUW INT(480*SIN(PI*(x-11.25)/180)*SIN(PI*y/180)+640)
 1500EQUW INT(60+(COS(PI*y/180)+1)*450)
 1510EQUW INT(480*SIN(PI*x/180)*SIN(PI*y/180)+640)
 1520EQUW INT(60+(COS(PI*y/180)+1)*450)
 1530]
 1540PRINTTAB(24,4)INT(p);"%"
 1550NEXT,
 1560VDU23,1,1;0;0;0;0;
 1570PRINT"Moving level data. . .":ad=&1500
 1580REPEAT
 1590READ d
 1600IF d<>-999 THEN ?ad=d:ad=ad+1
 1610IF d=255 THEN ad=(ad+&40) AND &FFC0
 1620IF d<>-999 THEN UNTIL FALSE
 1630UNTIL TRUE
 1640PRINT"Assembling code. . .":PROCassemble
 1650PRINT"Removing source code. . ."
 1660ENDPROC
 1670:
 1680DEFPROCassemble
 1690oswrch=&FFEE
 1700osbyte=&FFF4
 1710FOR pass=0 TO 2 STEP 2
 1720P%=&A00
 1730[OPT pass
 1740.sphere LDY#0:STYcol:LDA#&C:STA&71:LDA#&F8:STA&70:LDX#0
 1750.point LDAcol:CLC:ADC#1:AND#3:STAcol:LDA#18:JSRoswrch:LDA#0:JSRoswrch:LDYcol:TXA:LSR A:LSR A:LSR A:CLC:ADCseq,Y
 1760.colsub CMP #3:BCCcolgot:SEC:SBC#3:JMPcolsub
 1770.colgot CLC:ADC#1:JSRoswrch:LDY #0:TXA:AND#7:BEQnewxval
 1780LDA#25:JSRoswrch:LDA#4:JSRsendco:LDA#25:JSRoswrch:LDA#4:JSRsendco:LDA#25:JSRoswrch:LDA#85:JSRsendco:LDA#25:JSRoswrch:LDA#85:JSRsendco
 1790INX:LDA&70:CLC:ADC#8:STA&70:LDA&71:ADC#0:STA&71:CPX#128:BNEpoint:RTS
 1800.newxval LDA#25:JSRoswrch:LDA#4:JSRoswrch:LDA#128:JSRoswrch:LDA#2:JSRoswrch:LDA#192:JSRoswrch:LDA#3:JSRoswrch:LDY#8
 1810LDA#25:JSRoswrch:LDA#4:JSRsendco:LDA#25:JSRoswrch:LDA#85:JSRsendco
 1820INX:LDA&70:CLC:ADC#8:STA&70:LDA&71:ADC#0:STA&71:JMPpoint
 1830.sendco JSRoswrch:LDA(&70),Y:JSRoswrch:INY:LDA(&70),Y:JSRoswrch:INY:LDA(&70),Y:JSRoswrch:INY:LDA(&70),Y:INY:JMPoswrch
 1840.col EQUB 0
 1850.seq EQUB 1:EQUB 3:EQUB 2:EQUB 3
 1860]:P%=&AE9
 1870[OPTpass
 1880LDX#0
 1890.ballop LDAxball,X:CMPcx:BNEballon:LDAyball,X:CMPcy:BEQballoff
 1900.ballon LDA#17:JSRoswrch:LDA#2:JSRoswrch:LDA#31:JSRoswrch:LDAxball,X:JSRoswrch:LDAyball,X:JSRoswrch:LDA#129:JSRoswrch
 1910.balloff LDAyball,X:CMP#24:BEQdie:LDA#&28:STA&70:LDA#&11:STA&71:LDAxball,X:LDYyball,X:JSRgetad:AND#1:BNEnodown:INCyball,X:JMPdoneball
 1920.nodown LDAxball,X:CMP#1:BEQdie:LDAdir,X:CMP#0:BNEnoleft:LDA#&FF:STA&70:LDA#&10:STA&71:LDAxball,X:LDYyball,X:JSRgetad:AND#1:BNEnoleft:DECxball,X:JMPdoneball
 1930.die LDA#1:STAdead:RTS
 1940.noleft LDAxball,X:CMP#38:BEQdie:LDAdir,X:CMP#1:BNEnoright:LDA#1:STA&70:LDA#&11:STA&71:LDAxball,X:LDYyball,X:JSRgetad:AND#1:BNEnoright:INCxball,X:JMPdoneball
 1950.noright LDAdir,X:EOR#1:STAdir,X
 1960.doneball LDAxball,X:CMPcx:BNEballd:LDAyball,X:CMPcy:BEQnextball
 1970.balld LDA#31:JSRoswrch:LDAxball,X:JSRoswrch:LDAyball,X:JSRoswrch:LDA#130:JSRoswrch
 1980.nextball LDA#0:STA&70:LDA#&11:STA&71:LDAxball,X:LDYyball,X:JSRgetad:CMP#2:BNEnextballb:LDA#1:STAdead
 1990.nextballb JSRballcheck:INX:CPX#2:BNE ballopt:JMPcursor:.ballopt JMPballop
 2000]:P%=&1A00
 2010[OPT pass
 2020JMPsetup
 2030.getad CLC:ADC&70:STA&70:LDA&71:ADC#0:STA&71:TYA:ASL A:ASL A:ASL A:STA&72:LDY#0
 2040.getlop LDA&70:CLC:ADC&72:STA&70:LDA&71:ADC#0:STA&71:INY:CPY#5:BNEgetlop:LDY#0:LDA(&70),Y:RTS
 2050.cursor LDA#31:JSRoswrch:LDAcx:JSRoswrch:LDAcy:JSRoswrch:LDA#0:STA&70:LDA#&11:STA&71:LDAcx:LDYcy:JSRgetad:CMP#1:BEQblock:CMP#2:BEQspike:CMP#3:BEQhardb:LDA#129:JSRoswrch:JMPcurdel
 2060.block LDA#17:JSRoswrch:LDA#1:JSRoswrch:LDA#128:JSRoswrch:JMPcurdel
 2070.spike LDA#17:JSRoswrch:LDA#1:JSRoswrch:LDA#132:JSRoswrch:JMPcurdel
 2080.hardb LDA#17:JSRoswrch:LDA#1:JSRoswrch:LDA#133:JSRoswrch
 2090.curdel LDA#&81:LDX#0:LDY#0:JSRosbyte:BCCkeypro:.nomovet JMP nomove
 2100.keypro CPXkl:BNEnotkl:LDAcx:CMP#1:BEQ nomovet:DECcx:JMPnomovet
 2110.notkl CPXkr:BNEnotkr:LDAcx:CMP#38:BEQ nomove:INCcx:JMPnomovet
 2120.notkr CPXku:BNEnotku:LDAcy:CMP#1:BEQ nomove:DECcy:JMPnomovet
 2130.notku CPXkd:BNEnotkd:LDAcy:CMP#24:BEQ nomove:INCcy:JMPnomove
 2140.notkd CPXks:BNEnotks:LDAmon:CMP#5:BCC nomove:LDAcx:LDYcy:JSRgetclr:LDA(&70),Y:BNEnomove:LDA#1:STA(&70),Y:LDAmon:SEC:SBC#5:STAmon:JMPnomove
 2150.notks CPXkc:BNEnomove:LDAcx:LDYcy:JSRgetclr:CMP#1:BNEnomove:LDA#0:STA(&70),Y:INCmon
 2160.nomove LDA#31:JSRoswrch:LDAcx:JSRoswrch:LDAcy:JSRoswrch:LDA#17:JSRoswrch:LDA#3:JSRoswrch:LDA#131:JSRoswrch:LDA#&15:LDX#0:JMPosbyte
 2170.ballcheck LDAxball:CMPxball+1:BNEnohit:LDAyball:CMPyball+1:BNEnohit:LDA#1:STAhit
 2180.nohit RTS
 2190.setup LDY#0:STY&70:LDA#&11:STA&71:LDA#0
 2200.setlop STA(&70),Y:INY:BNEsetlop:INC&71:LDX&71:CPX#&15:BNEsetlop:STA&BF9:STA&BEF:LDA(&73),Y:TAX:INX:INY
 2210.polop LDA#31:JSRoswrch:LDA(&73),Y:PHA:JSRoswrch:INY:LDA(&73),Y:PHA:JSRoswrch:INY:STY&75:LDA#128:JSRoswrch:PLA:TAY:PLA:JSRgetclr:LDA#1:STA(&70),Y:LDY&75:DEX:BNE polop
 2220LDA#0:STA&BF2:STA&BF3:LDA(&73),Y:STA&BF4:INY:LDA(&73),Y:STA&BF6:INY:LDA(&73),Y:STA&BF5:INY:LDA(&73),Y:STA&BF7:INY:LDA(&73),Y:TAX:INY:CPX#0:BEQnospike
 2230.spklop LDA#31:JSRoswrch:LDA(&73),Y:PHA:JSRoswrch:INY:LDA(&73),Y:PHA:JSRoswrch:INY:STY&75:LDA#132:JSRoswrch:PLA:TAY:PLA:JSRgetclr:LDA#2:STA(&70),Y:LDY&75:DEX:BNE spklop
 2240.nospike LDA(&73),Y:TAX:INY:CPX#0:BEQnohard
 2250.hardlop LDA#31:JSRoswrch:LDA(&73),Y:PHA:JSRoswrch:INY:LDA(&73),Y:PHA:JSRoswrch:INY:STY&75:LDA#133:JSRoswrch:PLA:TAY:PLA:JSRgetclr:LDA#3:STA(&70),Y:LDY&75:DEX:BNE hardlop
 2260.nohard RTS
 2270.getclr PHA:LDA#0:STA&70:LDA#&11:STA&71:PLA:JMPgetad
 2280]:PRINT~P%:P%=&BEF
 2290[OPT pass
 2300.hit EQUB 0
 2310.cx EQUB 0
 2320.cy EQUB 0
 2330.dir EQUW 0
 2340.xball EQUW 0
 2350.yball EQUW 0
 2360.mon EQUB 0
 2370.dead EQUB 0
 2380.kl EQUS "Z"
 2390.kr EQUS "X"
 2400.ku EQUS "K"
 2410.kd EQUS "M"
 2420.ks EQUS "L"
 2430.kc EQUS " "
 2440]
 2450NEXT
 2460ENDPROC
 2470:
 2480DEFPROCreloc
 2490PRINT"Relocating. . ."
 2500?&78=45
 2510HIMEM=&5800:newpage=&1D
 2520FOR pass=0 TO 2 STEP 2
 2530P%=&C00
 2540[OPTpass
 2550    LDY#0
 2560    STY&70
 2570    STY&72
 2580    LDA#newpage
 2590    SEC
 2600    SBC&18
 2610    STA&74
 2620    LDA&18
 2630    CMP#newpage
 2640    BCCad
 2650.sb STA&71
 2660    LDA#newpage
 2670    STA&73
 2680.m1 LDA(&70),Y
 2690    STA(&72),Y
 2700    INY
 2710    BNEm1
 2720    INC&71
 2730    INC&73
 2740    LDX&71
 2750    DEX
 2760    CPX&03
 2770    BCCm1
 2780    BCSem
 2790.ad LDA&03
 2800    STA&71
 2810    CLC
 2820    ADC&74
 2830    STA&73
 2840    LDA#0
 2850    LDY&02
 2860.m2 LDA(&70),Y
 2870    STA(&72),Y
 2880    DEY
 2890    CPY#&FF
 2900    BNEm2
 2910    DEC&71
 2920    DEC&73
 2930    LDA&73
 2940    CMP#(newpage-1)
 2950    BCSm2
 2960.em LDA&13
 2970    CLC
 2980    ADC&74
 2990    STA&13
 3000    STA&01
 3010    LDA#newpage
 3020    STA&18
 3030    RTS
 3040]
 3050NEXT
 3060VDU 21
 3070OSCLI"KEY 0""CALL&C00|MRUN|F|M""":OSCLI"FX 153,0,128"
 3080END
 3090ENDPROC

� Bounce
� by Dominic Ford 1996
:
(%� � ((?&78=45) � (�=&1D00)) � � 6
2	�init
<_A$="DEL.1320,9999"+�13+"GOTO90"+�6+�13:�21:� char=1 � �(A$):�"FX138,0,"+�(�(�A$,char,1))):�
F�
P:
Z�� 6,23,128,255,66,36,24,24,36,66,255,23,129,0,0,0,0,0,0,0,0,23,130,60,126,255,253,250,245,42,20,23,131,255,129,129,129,129,129,129,255,23,132,24,90,60,255,255,60,90,24,23,133,255,255,255,255,255,255,255,255
d.sound=�:�cl%(3):cl%(0)=2:cl%(1)=5:cl%(2)=6
n�1:�23,1,0;0;0;0;
x�
�
�title
�#� 19,1,1,0,0,0,0,19,2,4,0,0,0,0
��k$="K"�k$="k"��keys
��k$=" "��game
��k$="Q"�k$="q"
��6:�
�:
�
��game
�"lev%=0:scr%=0:live%=3:?&BF8=25
��
�
�level
�� live%=-1 � lev%=20
�
� lev%=20
� live%=-1 � �gameover:�
�congrat
�
":
,��level
6�
@0� 3:�9,16)"Get Ready for Level ";lev%+1;"!"
J�c=0 � 5
T2�col=0 � 7:� sound=� � � 1,-15,c*4+col*8+100,1
^� 19,3,col,0,0,0
hnt%=�+4
r
� � �>nt%
|�,:�
��
�� 19,3,2,0,0,0
�(tim%=400:lev%=lev%+1:?&BF0=1:?&BF1=1
���0,1:�0,0:�3000,0:�85,0,3000:�0,0:�32,32:�32,96:�85,224,32:�85,224,96:�256,32:�256,96:�85,480,32:�85,480,96:�512,32:�512,96:�85,768,32:�85,768,96
�}�800,32:�800,96:�85,992,32:�85,992,96:�1024,32:�1024,96:�85,1248,32:�85,1248,96:�32,224:�1248,224:�85,32,992:�85,1248,992
��3:�1,1)�131
�?&73=(&14C0+&40*lev%)�256
�?&74=(&14C0+&40*lev%)�256
�
�1:�&1A00
�P�3:�1,29)"Score";�8,29)"Lives";�16,29)"Screen";�25,29)"Time";�32,29)"Money"
��
��3
�*�2,30);scr%;�11,30)live%;�19,30)lev%;
(�27,30);tim%;" ";�34,30);?&BF8;"0 "

� � �>nt%
nt%=�+8:�&AE9
&0�?&BF9=0�� � �>nt%:nt%=�+8:�&AE9:tim%=tim%-1
0!� tim%=-1 � ?&BEF=1 � ?&BF9=1
:*� tim%<>-1 � ?&BF9=0 � � �:�levelfin:�
Dlive%=live%-1
N� live%=-1 � � �:�
X�:�3:�15,16);
b'�?&BF9=0��"Time Out!"��"Lost Ball!"
l$�c=0 � 5:� sound=� � � 1,-15,0,7
v�col=0 � 7
�� 19,3,col,0,0,0
�nt%=�+4
�
� � �>nt%
��,:�:lev%=lev%-1
�� �
��
�:
���levelfin
�	�:� 3
�-�4,16);"Congratulations: Level Complete"
�*�c=0 � 5:� sound=� � � 1,-15,4+c*48,10
��col=0 � 7
�� 19,3,col,0,0,0
nt%=�+4

� � �>nt%
�,:�:?&BF8=(?&BF8)+10
 �
*:
4��gameover
>	�:� 3
H"�9,16)"That's it: Game Over!"
R�c=0 � 5
\4�col=0 � 7:� sound=� � � 1,-15,150-(c*4+col*8),1
f� 19,3,col,0,0,0
pnt%=�+4
z
� � �>nt%
��,:�
��
�:
�
��congrat
�	�:� 3
��x=0 � 5
�-�4,16);"Congratulations: Game Complete!"
�*�c=0 � 5:� sound=� � � 1,-15,4+c*48,10
��col=0 � 7
�� 19,3,col,0,0,0
�nt%=�+4
�
� � �>nt%
�	�,,:�
�
:
��title
$col=0:�
.�&A00:�2
8��17,5)"BOUNCE";�10,8)"by Dominic Ford 1996";�12,14)"SPACE - Start";�16,16)"Q - Quit";�16,18)"S - Sound On/Off";�16,20)"K - Change Keys";�15,25);"Sound: ";:�sound � �"On "��"Off"
B� 23,1,0;0;0;0;:*FX15,1
L�
Vnt%=�+10:col=((col+1) � 3)
`� 19,1,cl%(col),0,0,0,0
j#� 19,2,cl%((col+1) � 3),0,0,0,0
t#� 19,3,cl%((col+2) � 3),0,0,0,0
~
� � �>nt%
�k$=�(0)
��k$="S"�k$="s"��sound
� � �" QqKk",k$)<>0 � �(k$)<>0
��
�:
���sound
��sound � sound=� � sound=�
�$�22,25);:�sound � �"On "��"Off"
��
�:
�
��keys
��23,1,1,0;0;0;0;
Q�:�"Please select new keys:"''"Left:"'"Right:"'"Up:"'"Down:"'"Wall:"'"Clear:"

/�k=0�5:�8,2+k);:k$=�:�k$:?(&BFA+k)=�(k$):�
�23,1,0;0;0;0;:k$=""
�
(:
2� Level Data
<<� 17,3,3,4,3,5,3,6,3,7,3,8,3,8,8,9,9,10,9,11,9,12,9,13,9
F>� 14,9,15,9,16,9,17,8,18,9,19,8,8,1,19,1,1,17,10,1,2,2,255
P:
ZC� 0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0
d:� 255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,-999
n:
x
��init
�=� � ((?&78=45) � (�=&1D00)) � �'"Please Wait. . ."':*TAPE
�� �<>&1D00 � �reloc
�� 6,11,23,1,0;0;0;0;
��"Calculating sphere. . ."
�P%=&D00:p=0
��x=-78.75 � 90 � 11.25
�#�y=22.5 � 180 � 22.5:p=p+.78125
�
[OPT 2
�1EQUW �(480*�(�*(x-11.25)/180)*�(�*y/180)+640)
�!EQUW �(60+(�(�*y/180)+1)*450)
�)EQUW �(480*�(�*x/180)*�(�*y/180)+640)
�!EQUW �(60+(�(�*y/180)+1)*450)
�]
�24,4)�(p);"%"
�,
�23,1,1;0;0;0;0;
"&�"Moving level data. . .":ad=&1500
,�
6� d
@� d<>-999 � ?ad=d:ad=ad+1
J!� d=255 � ad=(ad+&40) � &FFC0
T� d<>-999 � � �
^� �
h%�"Assembling code. . .":�assemble
r �"Removing source code. . ."
|�
�:
���assemble
�oswrch=&FFEE
�osbyte=&FFF4
�� pass=0 � 2 � 2
�P%=&A00
�
[OPT pass
�;.sphere LDY#0:STYcol:LDA#&C:STA&71:LDA#&F8:STA&70:LDX#0
�q.point LDAcol:CLC:ADC#1:�#3:STAcol:LDA#18:JSRoswrch:LDA#0:JSRoswrch:LDYcol:TXA:LSR A:LSR A:LSR A:CLC:ADCseq,Y
�0.colsub CMP #3:BCCcolgot:SEC:SBC#3:JMPcolsub
�9.colgot CLC:ADC#1:JSRoswrch:LDY #0:TXA:�#7:BEQnewxval
�LDA#25:JSRoswrch:LDA#4:JSRsendco:LDA#25:JSRoswrch:LDA#4:JSRsendco:LDA#25:JSRoswrch:LDA#85:JSRsendco:LDA#25:JSRoswrch:LDA#85:JSRsendco
�HINX:LDA&70:CLC:ADC#8:STA&70:LDA&71:ADC#0:STA&71:CPX#128:BNEpoint:RTS
w.newxval LDA#25:JSRoswrch:LDA#4:JSRoswrch:LDA#128:JSRoswrch:LDA#2:JSRoswrch:LDA#192:JSRoswrch:LDA#3:JSRoswrch:LDY#8
FLDA#25:JSRoswrch:LDA#4:JSRsendco:LDA#25:JSRoswrch:LDA#85:JSRsendco
<INX:LDA&70:CLC:ADC#8:STA&70:LDA&71:ADC#0:STA&71:JMPpoint
&y.sendco JSRoswrch:LDA(&70),Y:JSRoswrch:INY:LDA(&70),Y:JSRoswrch:INY:LDA(&70),Y:JSRoswrch:INY:LDA(&70),Y:INY:JMPoswrch
0.col EQUB 0
:$.seq EQUB 1:EQUB 3:EQUB 2:EQUB 3
D
]:P%=&AE9
N[OPTpass
X	LDX#0
bB.ballop LDAxball,X:CMPcx:BNEballon:LDAyball,X:CMPcy:BEQballoff
ly.ballon LDA#17:JSRoswrch:LDA#2:JSRoswrch:LDA#31:JSRoswrch:LDAxball,X:JSRoswrch:LDAyball,X:JSRoswrch:LDA#129:JSRoswrch
v�.balloff LDAyball,X:CMP#24:BEQdie:LDA#&28:STA&70:LDA#&11:STA&71:LDAxball,X:LDYyball,X:JSRgetad:�#1:BNEnodown:INCyball,X:JMPdoneball
��.nodown LDAxball,X:CMP#1:BEQdie:LDAdir,X:CMP#0:BNEnoleft:LDA#&FF:STA&70:LDA#&10:STA&71:LDAxball,X:LDYyball,X:JSRgetad:�#1:BNEnoleft:DECxball,X:JMPdoneball
�.die LDA#1:STAdead:RTS
��.noleft LDAxball,X:CMP#38:BEQdie:LDAdir,X:CMP#1:BNEnoright:LDA#1:STA&70:LDA#&11:STA&71:LDAxball,X:LDYyball,X:JSRgetad:�#1:BNEnoright:INCxball,X:JMPdoneball
�".noright LDAdir,X:�#1:STAdir,X
�D.doneball LDAxball,X:CMPcx:BNEballd:LDAyball,X:CMPcy:BEQnextball
�W.balld LDA#31:JSRoswrch:LDAxball,X:JSRoswrch:LDAyball,X:JSRoswrch:LDA#130:JSRoswrch
�i.nextball LDA#0:STA&70:LDA#&11:STA&71:LDAxball,X:LDYyball,X:JSRgetad:CMP#2:BNEnextballb:LDA#1:STAdead
�N.nextballb JSRballcheck:INX:CPX#2:BNE ballopt:JMPcursor:.ballopt JMPballop
�]:P%=&1A00
�
[OPT pass
�JMPsetup
�S.getad CLC:ADC&70:STA&70:LDA&71:ADC#0:STA&71:TYA:ASL A:ASL A:ASL A:STA&72:LDY#0
�a.getlop LDA&70:CLC:ADC&72:STA&70:LDA&71:ADC#0:STA&71:INY:CPY#5:BNEgetlop:LDY#0:LDA(&70),Y:RTS
�.cursor LDA#31:JSRoswrch:LDAcx:JSRoswrch:LDAcy:JSRoswrch:LDA#0:STA&70:LDA#&11:STA&71:LDAcx:LDYcy:JSRgetad:CMP#1:BEQblock:CMP#2:BEQspike:CMP#3:BEQhardb:LDA#129:JSRoswrch:JMPcurdel
G.block LDA#17:JSRoswrch:LDA#1:JSRoswrch:LDA#128:JSRoswrch:JMPcurdel
G.spike LDA#17:JSRoswrch:LDA#1:JSRoswrch:LDA#132:JSRoswrch:JMPcurdel
 =.hardb LDA#17:JSRoswrch:LDA#1:JSRoswrch:LDA#133:JSRoswrch
*G.curdel LDA#&81:LDX#0:LDY#0:JSRosbyte:BCCkeypro:.nomovet JMP nomove
4C.keypro CPXkl:BNEnotkl:LDAcx:CMP#1:BEQ nomovet:DECcx:JMPnomovet
>B.notkl CPXkr:BNEnotkr:LDAcx:CMP#38:BEQ nomove:INCcx:JMPnomovet
HA.notkr CPXku:BNEnotku:LDAcy:CMP#1:BEQ nomove:DECcy:JMPnomovet
RA.notku CPXkd:BNEnotkd:LDAcy:CMP#24:BEQ nomove:INCcy:JMPnomove
\�.notkd CPXks:BNEnotks:LDAmon:CMP#5:BCC nomove:LDAcx:LDYcy:JSRgetclr:LDA(&70),Y:BNEnomove:LDA#1:STA(&70),Y:LDAmon:SEC:SBC#5:STAmon:JMPnomove
fX.notks CPXkc:BNEnomove:LDAcx:LDYcy:JSRgetclr:CMP#1:BNEnomove:LDA#0:STA(&70),Y:INCmon
p�.nomove LDA#31:JSRoswrch:LDAcx:JSRoswrch:LDAcy:JSRoswrch:LDA#17:JSRoswrch:LDA#3:JSRoswrch:LDA#131:JSRoswrch:LDA#&15:LDX#0:JMPosbyte
zU.ballcheck LDAxball:CMPxball+1:BNEnohit:LDAyball:CMPyball+1:BNEnohit:LDA#1:STAhit
�.nohit RTS
�,.setup LDY#0:STY&70:LDA#&11:STA&71:LDA#0
�k.setlop STA(&70),Y:INY:BNEsetlop:INC&71:LDX&71:CPX#&15:BNEsetlop:STA&BF9:STA&BEF:LDA(&73),Y:TAX:INX:INY
��.polop LDA#31:JSRoswrch:LDA(&73),Y:PHA:JSRoswrch:INY:LDA(&73),Y:PHA:JSRoswrch:INY:STY&75:LDA#128:JSRoswrch:PLA:TAY:PLA:JSRgetclr:LDA#1:STA(&70),Y:LDY&75:DEX:BNE polop
��LDA#0:STA&BF2:STA&BF3:LDA(&73),Y:STA&BF4:INY:LDA(&73),Y:STA&BF6:INY:LDA(&73),Y:STA&BF5:INY:LDA(&73),Y:STA&BF7:INY:LDA(&73),Y:TAX:INY:CPX#0:BEQnospike
��.spklop LDA#31:JSRoswrch:LDA(&73),Y:PHA:JSRoswrch:INY:LDA(&73),Y:PHA:JSRoswrch:INY:STY&75:LDA#132:JSRoswrch:PLA:TAY:PLA:JSRgetclr:LDA#2:STA(&70),Y:LDY&75:DEX:BNE spklop
�/.nospike LDA(&73),Y:TAX:INY:CPX#0:BEQnohard
ʮ.hardlop LDA#31:JSRoswrch:LDA(&73),Y:PHA:JSRoswrch:INY:LDA(&73),Y:PHA:JSRoswrch:INY:STY&75:LDA#133:JSRoswrch:PLA:TAY:PLA:JSRgetclr:LDA#3:STA(&70),Y:LDY&75:DEX:BNE hardlop
�.nohard RTS
�8.getclr PHA:LDA#0:STA&70:LDA#&11:STA&71:PLA:JMPgetad
�]:�~P%:P%=&BEF
�
[OPT pass
�.hit EQUB 0
	.cx EQUB 0
	.cy EQUB 0
	.dir EQUW 0
	$.xball EQUW 0
	..yball EQUW 0
	8.mon EQUB 0
	B.dead EQUB 0
	L.kl EQUS "Z"
	V.kr EQUS "X"
	`.ku EQUS "K"
	j.kd EQUS "M"
	t.ks EQUS "L"
	~.kc EQUS " "
	�]
	��
	��
	�:
	���reloc
	��"Relocating. . ."
	�?&78=45
	��=&5800:newpage=&1D
	�� pass=0 � 2 � 2
	�P%=&C00
	�[OPTpass
	�
    LDY#0
    STY&70

    STY&72
    LDA#newpage
    SEC
(    SBC&18
2    STA&74
<    LDA&18
F    CMP#newpage
P
    BCCad
Z.sb STA&71
d    LDA#newpage
n    STA&73
x.m1 LDA(&70),Y
�    STA(&72),Y
�    INY
�
    BNEm1
�    INC&71
�    INC&73
�    LDX&71
�    DEX
�    CPX&03
�
    BCCm1
�
    BCSem
�.ad LDA&03
�    STA&71
�    CLC
    ADC&74
    STA&73

    LDA#0
"    LDY&02
,.m2 LDA(&70),Y
6    STA(&72),Y
@    DEY
J    CPY#&FF
T
    BNEm2
^    DEC&71
h    DEC&73
r    LDA&73
|    CMP#(newpage-1)
�
    BCSm2
�.em LDA&13
�    CLC
�    ADC&74
�    STA&13
�    STA&01
�    LDA#newpage
�    STA&18
�    RTS
�]
��
�� 21
�1�"KEY 0""CALL&C00|MRUN|F|M""":�"FX 153,0,128"
�
�
�
00000000  0d 00 0a 0c f4 20 42 6f  75 6e 63 65 0d 00 14 1a  |..... Bounce....|
00000010  f4 20 62 79 20 44 6f 6d  69 6e 69 63 20 46 6f 72  |. by Dominic For|
00000020  64 20 31 39 39 36 0d 00  1e 05 3a 0d 00 28 25 e7  |d 1996....:..(%.|
00000030  20 ac 20 28 28 3f 26 37  38 3d 34 35 29 20 80 20  | . ((?&78=45) . |
00000040  28 90 3d 26 31 44 30 30  29 29 20 8c 20 eb 20 36  |(.=&1D00)) . . 6|
00000050  0d 00 32 09 f2 69 6e 69  74 0d 00 3c 5f 41 24 3d  |..2..init..<_A$=|
00000060  22 44 45 4c 2e 31 33 32  30 2c 39 39 39 39 22 2b  |"DEL.1320,9999"+|
00000070  bd 31 33 2b 22 47 4f 54  4f 39 30 22 2b bd 36 2b  |.13+"GOTO90"+.6+|
00000080  bd 31 33 3a ef 32 31 3a  e3 20 63 68 61 72 3d 31  |.13:.21:. char=1|
00000090  20 b8 20 a9 28 41 24 29  3a ff 22 46 58 31 33 38  | . .(A$):."FX138|
000000a0  2c 30 2c 22 2b c3 28 97  28 c1 41 24 2c 63 68 61  |,0,"+.(.(.A$,cha|
000000b0  72 2c 31 29 29 29 3a ed  0d 00 46 05 e0 0d 00 50  |r,1))):...F....P|
000000c0  05 3a 0d 00 5a d2 ef 20  36 2c 32 33 2c 31 32 38  |.:..Z.. 6,23,128|
000000d0  2c 32 35 35 2c 36 36 2c  33 36 2c 32 34 2c 32 34  |,255,66,36,24,24|
000000e0  2c 33 36 2c 36 36 2c 32  35 35 2c 32 33 2c 31 32  |,36,66,255,23,12|
000000f0  39 2c 30 2c 30 2c 30 2c  30 2c 30 2c 30 2c 30 2c  |9,0,0,0,0,0,0,0,|
00000100  30 2c 32 33 2c 31 33 30  2c 36 30 2c 31 32 36 2c  |0,23,130,60,126,|
00000110  32 35 35 2c 32 35 33 2c  32 35 30 2c 32 34 35 2c  |255,253,250,245,|
00000120  34 32 2c 32 30 2c 32 33  2c 31 33 31 2c 32 35 35  |42,20,23,131,255|
00000130  2c 31 32 39 2c 31 32 39  2c 31 32 39 2c 31 32 39  |,129,129,129,129|
00000140  2c 31 32 39 2c 31 32 39  2c 32 35 35 2c 32 33 2c  |,129,129,255,23,|
00000150  31 33 32 2c 32 34 2c 39  30 2c 36 30 2c 32 35 35  |132,24,90,60,255|
00000160  2c 32 35 35 2c 36 30 2c  39 30 2c 32 34 2c 32 33  |,255,60,90,24,23|
00000170  2c 31 33 33 2c 32 35 35  2c 32 35 35 2c 32 35 35  |,133,255,255,255|
00000180  2c 32 35 35 2c 32 35 35  2c 32 35 35 2c 32 35 35  |,255,255,255,255|
00000190  2c 32 35 35 0d 00 64 2e  73 6f 75 6e 64 3d b9 3a  |,255..d.sound=.:|
000001a0  de 63 6c 25 28 33 29 3a  63 6c 25 28 30 29 3d 32  |.cl%(3):cl%(0)=2|
000001b0  3a 63 6c 25 28 31 29 3d  35 3a 63 6c 25 28 32 29  |:cl%(1)=5:cl%(2)|
000001c0  3d 36 0d 00 6e 15 eb 31  3a ef 32 33 2c 31 2c 30  |=6..n..1:.23,1,0|
000001d0  3b 30 3b 30 3b 30 3b 0d  00 78 05 f5 0d 00 82 0a  |;0;0;0;..x......|
000001e0  f2 74 69 74 6c 65 0d 00  8c 23 ef 20 31 39 2c 31  |.title...#. 19,1|
000001f0  2c 31 2c 30 2c 30 2c 30  2c 30 2c 31 39 2c 32 2c  |,1,0,0,0,0,19,2,|
00000200  34 2c 30 2c 30 2c 30 2c  30 0d 00 96 18 e7 6b 24  |4,0,0,0,0.....k$|
00000210  3d 22 4b 22 84 6b 24 3d  22 6b 22 8c f2 6b 65 79  |="K".k$="k"..key|
00000220  73 0d 00 a0 11 e7 6b 24  3d 22 20 22 8c f2 67 61  |s.....k$=" "..ga|
00000230  6d 65 0d 00 aa 12 fd 6b  24 3d 22 51 22 84 6b 24  |me.....k$="Q".k$|
00000240  3d 22 71 22 0d 00 b4 08  eb 36 3a e0 0d 00 be 05  |="q".....6:.....|
00000250  3a 0d 00 c8 0a dd f2 67  61 6d 65 0d 00 d2 22 6c  |:......game..."l|
00000260  65 76 25 3d 30 3a 73 63  72 25 3d 30 3a 6c 69 76  |ev%=0:scr%=0:liv|
00000270  65 25 3d 33 3a 3f 26 42  46 38 3d 32 35 0d 00 dc  |e%=3:?&BF8=25...|
00000280  05 f5 0d 00 e6 0a f2 6c  65 76 65 6c 0d 00 f0 18  |.......level....|
00000290  e7 20 6c 69 76 65 25 3d  2d 31 20 8c 20 6c 65 76  |. live%=-1 . lev|
000002a0  25 3d 32 30 0d 00 fa 0d  fd 20 6c 65 76 25 3d 32  |%=20..... lev%=2|
000002b0  30 0d 01 04 1c e7 20 6c  69 76 65 25 3d 2d 31 20  |0..... live%=-1 |
000002c0  8c 20 f2 67 61 6d 65 6f  76 65 72 3a e1 0d 01 0e  |. .gameover:....|
000002d0  0c f2 63 6f 6e 67 72 61  74 0d 01 18 05 e1 0d 01  |..congrat.......|
000002e0  22 05 3a 0d 01 2c 0b dd  f2 6c 65 76 65 6c 0d 01  |".:..,...level..|
000002f0  36 05 db 0d 01 40 30 fb  20 33 3a f1 8a 39 2c 31  |6....@0. 3:..9,1|
00000300  36 29 22 47 65 74 20 52  65 61 64 79 20 66 6f 72  |6)"Get Ready for|
00000310  20 4c 65 76 65 6c 20 22  3b 6c 65 76 25 2b 31 3b  | Level ";lev%+1;|
00000320  22 21 22 0d 01 4a 0c e3  63 3d 30 20 b8 20 35 0d  |"!"..J..c=0 . 5.|
00000330  01 54 32 e3 63 6f 6c 3d  30 20 b8 20 37 3a e7 20  |.T2.col=0 . 7:. |
00000340  73 6f 75 6e 64 3d b9 20  8c 20 d4 20 31 2c 2d 31  |sound=. . . 1,-1|
00000350  35 2c 63 2a 34 2b 63 6f  6c 2a 38 2b 31 30 30 2c  |5,c*4+col*8+100,|
00000360  31 0d 01 5e 14 ef 20 31  39 2c 33 2c 63 6f 6c 2c  |1..^.. 19,3,col,|
00000370  30 2c 30 2c 30 0d 01 68  0b 6e 74 25 3d 91 2b 34  |0,0,0..h.nt%=.+4|
00000380  0d 01 72 0d f5 20 fd 20  91 3e 6e 74 25 0d 01 7c  |..r.. . .>nt%..||
00000390  08 ed 2c 3a db 0d 01 86  05 f5 0d 01 90 12 ef 20  |..,:........... |
000003a0  31 39 2c 33 2c 32 2c 30  2c 30 2c 30 0d 01 9a 28  |19,3,2,0,0,0...(|
000003b0  74 69 6d 25 3d 34 30 30  3a 6c 65 76 25 3d 6c 65  |tim%=400:lev%=le|
000003c0  76 25 2b 31 3a 3f 26 42  46 30 3d 31 3a 3f 26 42  |v%+1:?&BF0=1:?&B|
000003d0  46 31 3d 31 0d 01 a4 95  e6 30 2c 31 3a ec 30 2c  |F1=1.....0,1:.0,|
000003e0  30 3a ec 33 30 30 30 2c  30 3a f0 38 35 2c 30 2c  |0:.3000,0:.85,0,|
000003f0  33 30 30 30 3a e6 30 2c  30 3a ec 33 32 2c 33 32  |3000:.0,0:.32,32|
00000400  3a ec 33 32 2c 39 36 3a  f0 38 35 2c 32 32 34 2c  |:.32,96:.85,224,|
00000410  33 32 3a f0 38 35 2c 32  32 34 2c 39 36 3a ec 32  |32:.85,224,96:.2|
00000420  35 36 2c 33 32 3a ec 32  35 36 2c 39 36 3a f0 38  |56,32:.256,96:.8|
00000430  35 2c 34 38 30 2c 33 32  3a f0 38 35 2c 34 38 30  |5,480,32:.85,480|
00000440  2c 39 36 3a ec 35 31 32  2c 33 32 3a ec 35 31 32  |,96:.512,32:.512|
00000450  2c 39 36 3a f0 38 35 2c  37 36 38 2c 33 32 3a f0  |,96:.85,768,32:.|
00000460  38 35 2c 37 36 38 2c 39  36 0d 01 ae 7d ec 38 30  |85,768,96...}.80|
00000470  30 2c 33 32 3a ec 38 30  30 2c 39 36 3a f0 38 35  |0,32:.800,96:.85|
00000480  2c 39 39 32 2c 33 32 3a  f0 38 35 2c 39 39 32 2c  |,992,32:.85,992,|
00000490  39 36 3a ec 31 30 32 34  2c 33 32 3a ec 31 30 32  |96:.1024,32:.102|
000004a0  34 2c 39 36 3a f0 38 35  2c 31 32 34 38 2c 33 32  |4,96:.85,1248,32|
000004b0  3a f0 38 35 2c 31 32 34  38 2c 39 36 3a ec 33 32  |:.85,1248,96:.32|
000004c0  2c 32 32 34 3a ec 31 32  34 38 2c 32 32 34 3a f0  |,224:.1248,224:.|
000004d0  38 35 2c 33 32 2c 39 39  32 3a f0 38 35 2c 31 32  |85,32,992:.85,12|
000004e0  34 38 2c 39 39 32 0d 01  b8 11 fb 33 3a f1 8a 31  |48,992.....3:..1|
000004f0  2c 31 29 bd 31 33 31 0d  01 c2 1d 3f 26 37 33 3d  |,1).131....?&73=|
00000500  28 26 31 34 43 30 2b 26  34 30 2a 6c 65 76 25 29  |(&14C0+&40*lev%)|
00000510  83 32 35 36 0d 01 cc 1d  3f 26 37 34 3d 28 26 31  |.256....?&74=(&1|
00000520  34 43 30 2b 26 34 30 2a  6c 65 76 25 29 81 32 35  |4C0+&40*lev%).25|
00000530  36 0d 01 d6 0d fb 31 3a  d6 26 31 41 30 30 0d 01  |6.....1:.&1A00..|
00000540  e0 50 fb 33 3a f1 8a 31  2c 32 39 29 22 53 63 6f  |.P.3:..1,29)"Sco|
00000550  72 65 22 3b 8a 38 2c 32  39 29 22 4c 69 76 65 73  |re";.8,29)"Lives|
00000560  22 3b 8a 31 36 2c 32 39  29 22 53 63 72 65 65 6e  |";.16,29)"Screen|
00000570  22 3b 8a 32 35 2c 32 39  29 22 54 69 6d 65 22 3b  |";.25,29)"Time";|
00000580  8a 33 32 2c 32 39 29 22  4d 6f 6e 65 79 22 0d 01  |.32,29)"Money"..|
00000590  ea 05 f5 0d 01 f4 06 fb  33 0d 01 fe 2a f1 8a 32  |........3...*..2|
000005a0  2c 33 30 29 3b 73 63 72  25 3b 8a 31 31 2c 33 30  |,30);scr%;.11,30|
000005b0  29 6c 69 76 65 25 3b 8a  31 39 2c 33 30 29 6c 65  |)live%;.19,30)le|
000005c0  76 25 3b 0d 02 08 28 f1  8a 32 37 2c 33 30 29 3b  |v%;...(..27,30);|
000005d0  74 69 6d 25 3b 22 20 22  3b 8a 33 34 2c 33 30 29  |tim%;" ";.34,30)|
000005e0  3b 3f 26 42 46 38 3b 22  30 20 22 0d 02 12 0d f5  |;?&BF8;"0 ".....|
000005f0  20 fd 20 91 3e 6e 74 25  0d 02 1c 11 6e 74 25 3d  | . .>nt%....nt%=|
00000600  91 2b 38 3a d6 26 41 45  39 0d 02 26 30 e7 3f 26  |.+8:.&AE9..&0.?&|
00000610  42 46 39 3d 30 8c f5 20  fd 20 91 3e 6e 74 25 3a  |BF9=0.. . .>nt%:|
00000620  6e 74 25 3d 91 2b 38 3a  d6 26 41 45 39 3a 74 69  |nt%=.+8:.&AE9:ti|
00000630  6d 25 3d 74 69 6d 25 2d  31 0d 02 30 21 fd 20 74  |m%=tim%-1..0!. t|
00000640  69 6d 25 3d 2d 31 20 84  20 3f 26 42 45 46 3d 31  |im%=-1 . ?&BEF=1|
00000650  20 84 20 3f 26 42 46 39  3d 31 0d 02 3a 2a e7 20  | . ?&BF9=1..:*. |
00000660  74 69 6d 25 3c 3e 2d 31  20 80 20 3f 26 42 46 39  |tim%<>-1 . ?&BF9|
00000670  3d 30 20 8c 20 fd 20 b9  3a f2 6c 65 76 65 6c 66  |=0 . . .:.levelf|
00000680  69 6e 3a e1 0d 02 44 11  6c 69 76 65 25 3d 6c 69  |in:...D.live%=li|
00000690  76 65 25 2d 31 0d 02 4e  16 e7 20 6c 69 76 65 25  |ve%-1..N.. live%|
000006a0  3d 2d 31 20 8c 20 fd 20  b9 3a e1 0d 02 58 12 db  |=-1 . . .:...X..|
000006b0  3a fb 33 3a f1 8a 31 35  2c 31 36 29 3b 0d 02 62  |:.3:..15,16);..b|
000006c0  27 e7 3f 26 42 46 39 3d  30 8c f1 22 54 69 6d 65  |'.?&BF9=0.."Time|
000006d0  20 4f 75 74 21 22 8b f1  22 4c 6f 73 74 20 42 61  | Out!".."Lost Ba|
000006e0  6c 6c 21 22 0d 02 6c 24  e3 63 3d 30 20 b8 20 35  |ll!"..l$.c=0 . 5|
000006f0  3a e7 20 73 6f 75 6e 64  3d b9 20 8c 20 d4 20 31  |:. sound=. . . 1|
00000700  2c 2d 31 35 2c 30 2c 37  0d 02 76 0e e3 63 6f 6c  |,-15,0,7..v..col|
00000710  3d 30 20 b8 20 37 0d 02  80 14 ef 20 31 39 2c 33  |=0 . 7..... 19,3|
00000720  2c 63 6f 6c 2c 30 2c 30  2c 30 0d 02 8a 0b 6e 74  |,col,0,0,0....nt|
00000730  25 3d 91 2b 34 0d 02 94  0d f5 20 fd 20 91 3e 6e  |%=.+4..... . .>n|
00000740  74 25 0d 02 9e 14 ed 2c  3a db 3a 6c 65 76 25 3d  |t%.....,:.:lev%=|
00000750  6c 65 76 25 2d 31 0d 02  a8 07 fd 20 a3 0d 02 b2  |lev%-1..... ....|
00000760  05 e1 0d 02 bc 05 3a 0d  02 c6 0e dd f2 6c 65 76  |......:......lev|
00000770  65 6c 66 69 6e 0d 02 d0  09 db 3a fb 20 33 0d 02  |elfin.....:. 3..|
00000780  da 2d f1 8a 34 2c 31 36  29 3b 22 43 6f 6e 67 72  |.-..4,16);"Congr|
00000790  61 74 75 6c 61 74 69 6f  6e 73 3a 20 4c 65 76 65  |atulations: Leve|
000007a0  6c 20 43 6f 6d 70 6c 65  74 65 22 0d 02 e4 2a e3  |l Complete"...*.|
000007b0  63 3d 30 20 b8 20 35 3a  e7 20 73 6f 75 6e 64 3d  |c=0 . 5:. sound=|
000007c0  b9 20 8c 20 d4 20 31 2c  2d 31 35 2c 34 2b 63 2a  |. . . 1,-15,4+c*|
000007d0  34 38 2c 31 30 0d 02 ee  0e e3 63 6f 6c 3d 30 20  |48,10.....col=0 |
000007e0  b8 20 37 0d 02 f8 14 ef  20 31 39 2c 33 2c 63 6f  |. 7..... 19,3,co|
000007f0  6c 2c 30 2c 30 2c 30 0d  03 02 0b 6e 74 25 3d 91  |l,0,0,0....nt%=.|
00000800  2b 34 0d 03 0c 0d f5 20  fd 20 91 3e 6e 74 25 0d  |+4..... . .>nt%.|
00000810  03 16 19 ed 2c 3a db 3a  3f 26 42 46 38 3d 28 3f  |....,:.:?&BF8=(?|
00000820  26 42 46 38 29 2b 31 30  0d 03 20 05 e1 0d 03 2a  |&BF8)+10.. ....*|
00000830  05 3a 0d 03 34 0e dd f2  67 61 6d 65 6f 76 65 72  |.:..4...gameover|
00000840  0d 03 3e 09 db 3a fb 20  33 0d 03 48 22 f1 8a 39  |..>..:. 3..H"..9|
00000850  2c 31 36 29 22 54 68 61  74 27 73 20 69 74 3a 20  |,16)"That's it: |
00000860  47 61 6d 65 20 4f 76 65  72 21 22 0d 03 52 0c e3  |Game Over!"..R..|
00000870  63 3d 30 20 b8 20 35 0d  03 5c 34 e3 63 6f 6c 3d  |c=0 . 5..\4.col=|
00000880  30 20 b8 20 37 3a e7 20  73 6f 75 6e 64 3d b9 20  |0 . 7:. sound=. |
00000890  8c 20 d4 20 31 2c 2d 31  35 2c 31 35 30 2d 28 63  |. . 1,-15,150-(c|
000008a0  2a 34 2b 63 6f 6c 2a 38  29 2c 31 0d 03 66 14 ef  |*4+col*8),1..f..|
000008b0  20 31 39 2c 33 2c 63 6f  6c 2c 30 2c 30 2c 30 0d  | 19,3,col,0,0,0.|
000008c0  03 70 0b 6e 74 25 3d 91  2b 34 0d 03 7a 0d f5 20  |.p.nt%=.+4..z.. |
000008d0  fd 20 91 3e 6e 74 25 0d  03 84 08 ed 2c 3a db 0d  |. .>nt%.....,:..|
000008e0  03 8e 05 e1 0d 03 98 05  3a 0d 03 a2 0d dd f2 63  |........:......c|
000008f0  6f 6e 67 72 61 74 0d 03  ac 09 db 3a fb 20 33 0d  |ongrat.....:. 3.|
00000900  03 b6 0c e3 78 3d 30 20  b8 20 35 0d 03 c0 2d f1  |....x=0 . 5...-.|
00000910  8a 34 2c 31 36 29 3b 22  43 6f 6e 67 72 61 74 75  |.4,16);"Congratu|
00000920  6c 61 74 69 6f 6e 73 3a  20 47 61 6d 65 20 43 6f  |lations: Game Co|
00000930  6d 70 6c 65 74 65 21 22  0d 03 ca 2a e3 63 3d 30  |mplete!"...*.c=0|
00000940  20 b8 20 35 3a e7 20 73  6f 75 6e 64 3d b9 20 8c  | . 5:. sound=. .|
00000950  20 d4 20 31 2c 2d 31 35  2c 34 2b 63 2a 34 38 2c  | . 1,-15,4+c*48,|
00000960  31 30 0d 03 d4 0e e3 63  6f 6c 3d 30 20 b8 20 37  |10.....col=0 . 7|
00000970  0d 03 de 14 ef 20 31 39  2c 33 2c 63 6f 6c 2c 30  |..... 19,3,col,0|
00000980  2c 30 2c 30 0d 03 e8 0b  6e 74 25 3d 91 2b 34 0d  |,0,0....nt%=.+4.|
00000990  03 f2 0d f5 20 fd 20 91  3e 6e 74 25 0d 03 fc 09  |.... . .>nt%....|
000009a0  ed 2c 2c 3a db 0d 04 06  05 e1 0d 04 10 05 3a 0d  |.,,:..........:.|
000009b0  04 1a 0b dd f2 74 69 74  6c 65 0d 04 24 0b 63 6f  |.....title..$.co|
000009c0  6c 3d 30 3a db 0d 04 2e  0c d6 26 41 30 30 3a fb  |l=0:......&A00:.|
000009d0  32 0d 04 38 b6 f1 8a 31  37 2c 35 29 22 42 4f 55  |2..8...17,5)"BOU|
000009e0  4e 43 45 22 3b 8a 31 30  2c 38 29 22 62 79 20 44  |NCE";.10,8)"by D|
000009f0  6f 6d 69 6e 69 63 20 46  6f 72 64 20 31 39 39 36  |ominic Ford 1996|
00000a00  22 3b 8a 31 32 2c 31 34  29 22 53 50 41 43 45 20  |";.12,14)"SPACE |
00000a10  2d 20 53 74 61 72 74 22  3b 8a 31 36 2c 31 36 29  |- Start";.16,16)|
00000a20  22 51 20 2d 20 51 75 69  74 22 3b 8a 31 36 2c 31  |"Q - Quit";.16,1|
00000a30  38 29 22 53 20 2d 20 53  6f 75 6e 64 20 4f 6e 2f  |8)"S - Sound On/|
00000a40  4f 66 66 22 3b 8a 31 36  2c 32 30 29 22 4b 20 2d  |Off";.16,20)"K -|
00000a50  20 43 68 61 6e 67 65 20  4b 65 79 73 22 3b 8a 31  | Change Keys";.1|
00000a60  35 2c 32 35 29 3b 22 53  6f 75 6e 64 3a 20 22 3b  |5,25);"Sound: ";|
00000a70  3a e7 73 6f 75 6e 64 20  8c 20 f1 22 4f 6e 20 22  |:.sound . ."On "|
00000a80  8b f1 22 4f 66 66 22 0d  04 42 1b ef 20 32 33 2c  |.."Off"..B.. 23,|
00000a90  31 2c 30 3b 30 3b 30 3b  30 3b 3a 2a 46 58 31 35  |1,0;0;0;0;:*FX15|
00000aa0  2c 31 0d 04 4c 05 f5 0d  04 56 1e 6e 74 25 3d 91  |,1..L....V.nt%=.|
00000ab0  2b 31 30 3a 63 6f 6c 3d  28 28 63 6f 6c 2b 31 29  |+10:col=((col+1)|
00000ac0  20 83 20 33 29 0d 04 60  1b ef 20 31 39 2c 31 2c  | . 3)..`.. 19,1,|
00000ad0  63 6c 25 28 63 6f 6c 29  2c 30 2c 30 2c 30 2c 30  |cl%(col),0,0,0,0|
00000ae0  0d 04 6a 23 ef 20 31 39  2c 32 2c 63 6c 25 28 28  |..j#. 19,2,cl%((|
00000af0  63 6f 6c 2b 31 29 20 83  20 33 29 2c 30 2c 30 2c  |col+1) . 3),0,0,|
00000b00  30 2c 30 0d 04 74 23 ef  20 31 39 2c 33 2c 63 6c  |0,0..t#. 19,3,cl|
00000b10  25 28 28 63 6f 6c 2b 32  29 20 83 20 33 29 2c 30  |%((col+2) . 3),0|
00000b20  2c 30 2c 30 2c 30 0d 04  7e 0d f5 20 fd 20 91 3e  |,0,0,0..~.. . .>|
00000b30  6e 74 25 0d 04 88 0b 6b  24 3d bf 28 30 29 0d 04  |nt%....k$=.(0)..|
00000b40  92 19 e7 6b 24 3d 22 53  22 84 6b 24 3d 22 73 22  |...k$="S".k$="s"|
00000b50  8c f2 73 6f 75 6e 64 0d  04 9c 20 fd 20 a7 22 20  |..sound... . ." |
00000b60  51 71 4b 6b 22 2c 6b 24  29 3c 3e 30 20 80 20 a9  |QqKk",k$)<>0 . .|
00000b70  28 6b 24 29 3c 3e 30 0d  04 a6 05 e1 0d 04 b0 05  |(k$)<>0.........|
00000b80  3a 0d 04 ba 0b dd f2 73  6f 75 6e 64 0d 04 c4 1e  |:......sound....|
00000b90  e7 73 6f 75 6e 64 20 8c  20 73 6f 75 6e 64 3d a3  |.sound . sound=.|
00000ba0  20 8b 20 73 6f 75 6e 64  3d b9 0d 04 ce 24 f1 8a  | . sound=....$..|
00000bb0  32 32 2c 32 35 29 3b 3a  e7 73 6f 75 6e 64 20 8c  |22,25);:.sound .|
00000bc0  20 f1 22 4f 6e 20 22 8b  f1 22 4f 66 66 22 0d 04  | ."On ".."Off"..|
00000bd0  d8 05 e1 0d 04 e2 05 3a  0d 04 ec 0a dd f2 6b 65  |.......:......ke|
00000be0  79 73 0d 04 f6 14 ef 32  33 2c 31 2c 31 2c 30 3b  |ys.....23,1,1,0;|
00000bf0  30 3b 30 3b 30 3b 0d 05  00 51 db 3a f1 22 50 6c  |0;0;0;...Q.:."Pl|
00000c00  65 61 73 65 20 73 65 6c  65 63 74 20 6e 65 77 20  |ease select new |
00000c10  6b 65 79 73 3a 22 27 27  22 4c 65 66 74 3a 22 27  |keys:"''"Left:"'|
00000c20  22 52 69 67 68 74 3a 22  27 22 55 70 3a 22 27 22  |"Right:"'"Up:"'"|
00000c30  44 6f 77 6e 3a 22 27 22  57 61 6c 6c 3a 22 27 22  |Down:"'"Wall:"'"|
00000c40  43 6c 65 61 72 3a 22 0d  05 0a 2f e3 6b 3d 30 b8  |Clear:".../.k=0.|
00000c50  35 3a f1 8a 38 2c 32 2b  6b 29 3b 3a 6b 24 3d be  |5:..8,2+k);:k$=.|
00000c60  3a f1 6b 24 3a 3f 28 26  42 46 41 2b 6b 29 3d 97  |:.k$:?(&BFA+k)=.|
00000c70  28 6b 24 29 3a ed 0d 05  14 18 ef 32 33 2c 31 2c  |(k$):......23,1,|
00000c80  30 3b 30 3b 30 3b 30 3b  3a 6b 24 3d 22 22 0d 05  |0;0;0;0;:k$=""..|
00000c90  1e 05 e1 0d 05 28 05 3a  0d 05 32 10 f4 20 4c 65  |.....(.:..2.. Le|
00000ca0  76 65 6c 20 44 61 74 61  0d 05 3c 3c dc 20 31 37  |vel Data..<<. 17|
00000cb0  2c 33 2c 33 2c 34 2c 33  2c 35 2c 33 2c 36 2c 33  |,3,3,4,3,5,3,6,3|
00000cc0  2c 37 2c 33 2c 38 2c 33  2c 38 2c 38 2c 39 2c 39  |,7,3,8,3,8,8,9,9|
00000cd0  2c 31 30 2c 39 2c 31 31  2c 39 2c 31 32 2c 39 2c  |,10,9,11,9,12,9,|
00000ce0  31 33 2c 39 0d 05 46 3e  dc 20 31 34 2c 39 2c 31  |13,9..F>. 14,9,1|
00000cf0  35 2c 39 2c 31 36 2c 39  2c 31 37 2c 38 2c 31 38  |5,9,16,9,17,8,18|
00000d00  2c 39 2c 31 39 2c 38 2c  38 2c 31 2c 31 39 2c 31  |,9,19,8,8,1,19,1|
00000d10  2c 31 2c 31 37 2c 31 30  2c 31 2c 32 2c 32 2c 32  |,1,17,10,1,2,2,2|
00000d20  35 35 0d 05 50 05 3a 0d  05 5a 43 dc 20 30 2c 32  |55..P.:..ZC. 0,2|
00000d30  35 35 2c 30 2c 32 35 35  2c 30 2c 32 35 35 2c 30  |55,0,255,0,255,0|
00000d40  2c 32 35 35 2c 30 2c 32  35 35 2c 30 2c 32 35 35  |,255,0,255,0,255|
00000d50  2c 30 2c 32 35 35 2c 30  2c 32 35 35 2c 30 2c 32  |,0,255,0,255,0,2|
00000d60  35 35 2c 30 2c 32 35 35  2c 30 0d 05 64 3a dc 20  |55,0,255,0..d:. |
00000d70  32 35 35 2c 30 2c 32 35  35 2c 30 2c 32 35 35 2c  |255,0,255,0,255,|
00000d80  30 2c 32 35 35 2c 30 2c  32 35 35 2c 30 2c 32 35  |0,255,0,255,0,25|
00000d90  35 2c 30 2c 32 35 35 2c  30 2c 32 35 35 2c 30 2c  |5,0,255,0,255,0,|
00000da0  2d 39 39 39 0d 05 6e 05  3a 0d 05 78 0a dd f2 69  |-999..n.:..x...i|
00000db0  6e 69 74 0d 05 82 3d e7  20 ac 20 28 28 3f 26 37  |nit...=. . ((?&7|
00000dc0  38 3d 34 35 29 20 80 20  28 90 3d 26 31 44 30 30  |8=45) . (.=&1D00|
00000dd0  29 29 20 8c 20 f1 27 22  50 6c 65 61 73 65 20 57  |)) . .'"Please W|
00000de0  61 69 74 2e 20 2e 20 2e  22 27 3a 2a 54 41 50 45  |ait. . ."':*TAPE|
00000df0  0d 05 8c 17 e7 20 90 3c  3e 26 31 44 30 30 20 8c  |..... .<>&1D00 .|
00000e00  20 f2 72 65 6c 6f 63 0d  05 96 18 ef 20 36 2c 31  | .reloc..... 6,1|
00000e10  31 2c 32 33 2c 31 2c 30  3b 30 3b 30 3b 30 3b 0d  |1,23,1,0;0;0;0;.|
00000e20  05 a0 1e f1 22 43 61 6c  63 75 6c 61 74 69 6e 67  |...."Calculating|
00000e30  20 73 70 68 65 72 65 2e  20 2e 20 2e 22 0d 05 aa  | sphere. . ."...|
00000e40  0f 50 25 3d 26 44 30 30  3a 70 3d 30 0d 05 b4 1a  |.P%=&D00:p=0....|
00000e50  e3 78 3d 2d 37 38 2e 37  35 20 b8 20 39 30 20 88  |.x=-78.75 . 90 .|
00000e60  20 31 31 2e 32 35 0d 05  be 23 e3 79 3d 32 32 2e  | 11.25...#.y=22.|
00000e70  35 20 b8 20 31 38 30 20  88 20 32 32 2e 35 3a 70  |5 . 180 . 22.5:p|
00000e80  3d 70 2b 2e 37 38 31 32  35 0d 05 c8 0a 5b 4f 50  |=p+.78125....[OP|
00000e90  54 20 32 0d 05 d2 31 45  51 55 57 20 a8 28 34 38  |T 2...1EQUW .(48|
00000ea0  30 2a b5 28 af 2a 28 78  2d 31 31 2e 32 35 29 2f  |0*.(.*(x-11.25)/|
00000eb0  31 38 30 29 2a b5 28 af  2a 79 2f 31 38 30 29 2b  |180)*.(.*y/180)+|
00000ec0  36 34 30 29 0d 05 dc 21  45 51 55 57 20 a8 28 36  |640)...!EQUW .(6|
00000ed0  30 2b 28 9b 28 af 2a 79  2f 31 38 30 29 2b 31 29  |0+(.(.*y/180)+1)|
00000ee0  2a 34 35 30 29 0d 05 e6  29 45 51 55 57 20 a8 28  |*450)...)EQUW .(|
00000ef0  34 38 30 2a b5 28 af 2a  78 2f 31 38 30 29 2a b5  |480*.(.*x/180)*.|
00000f00  28 af 2a 79 2f 31 38 30  29 2b 36 34 30 29 0d 05  |(.*y/180)+640)..|
00000f10  f0 21 45 51 55 57 20 a8  28 36 30 2b 28 9b 28 af  |.!EQUW .(60+(.(.|
00000f20  2a 79 2f 31 38 30 29 2b  31 29 2a 34 35 30 29 0d  |*y/180)+1)*450).|
00000f30  05 fa 05 5d 0d 06 04 13  f1 8a 32 34 2c 34 29 a8  |...]......24,4).|
00000f40  28 70 29 3b 22 25 22 0d  06 0e 06 ed 2c 0d 06 18  |(p);"%".....,...|
00000f50  14 ef 32 33 2c 31 2c 31  3b 30 3b 30 3b 30 3b 30  |..23,1,1;0;0;0;0|
00000f60  3b 0d 06 22 26 f1 22 4d  6f 76 69 6e 67 20 6c 65  |;.."&."Moving le|
00000f70  76 65 6c 20 64 61 74 61  2e 20 2e 20 2e 22 3a 61  |vel data. . .":a|
00000f80  64 3d 26 31 35 30 30 0d  06 2c 05 f5 0d 06 36 07  |d=&1500..,....6.|
00000f90  f3 20 64 0d 06 40 1d e7  20 64 3c 3e 2d 39 39 39  |. d..@.. d<>-999|
00000fa0  20 8c 20 3f 61 64 3d 64  3a 61 64 3d 61 64 2b 31  | . ?ad=d:ad=ad+1|
00000fb0  0d 06 4a 21 e7 20 64 3d  32 35 35 20 8c 20 61 64  |..J!. d=255 . ad|
00000fc0  3d 28 61 64 2b 26 34 30  29 20 80 20 26 46 46 43  |=(ad+&40) . &FFC|
00000fd0  30 0d 06 54 13 e7 20 64  3c 3e 2d 39 39 39 20 8c  |0..T.. d<>-999 .|
00000fe0  20 fd 20 a3 0d 06 5e 07  fd 20 b9 0d 06 68 25 f1  | . ...^.. ...h%.|
00000ff0  22 41 73 73 65 6d 62 6c  69 6e 67 20 63 6f 64 65  |"Assembling code|
00001000  2e 20 2e 20 2e 22 3a f2  61 73 73 65 6d 62 6c 65  |. . .":.assemble|
00001010  0d 06 72 20 f1 22 52 65  6d 6f 76 69 6e 67 20 73  |..r ."Removing s|
00001020  6f 75 72 63 65 20 63 6f  64 65 2e 20 2e 20 2e 22  |ource code. . ."|
00001030  0d 06 7c 05 e1 0d 06 86  05 3a 0d 06 90 0e dd f2  |..|......:......|
00001040  61 73 73 65 6d 62 6c 65  0d 06 9a 10 6f 73 77 72  |assemble....oswr|
00001050  63 68 3d 26 46 46 45 45  0d 06 a4 10 6f 73 62 79  |ch=&FFEE....osby|
00001060  74 65 3d 26 46 46 46 34  0d 06 ae 14 e3 20 70 61  |te=&FFF4..... pa|
00001070  73 73 3d 30 20 b8 20 32  20 88 20 32 0d 06 b8 0b  |ss=0 . 2 . 2....|
00001080  50 25 3d 26 41 30 30 0d  06 c2 0d 5b 4f 50 54 20  |P%=&A00....[OPT |
00001090  70 61 73 73 0d 06 cc 3b  2e 73 70 68 65 72 65 20  |pass...;.sphere |
000010a0  4c 44 59 23 30 3a 53 54  59 63 6f 6c 3a 4c 44 41  |LDY#0:STYcol:LDA|
000010b0  23 26 43 3a 53 54 41 26  37 31 3a 4c 44 41 23 26  |#&C:STA&71:LDA#&|
000010c0  46 38 3a 53 54 41 26 37  30 3a 4c 44 58 23 30 0d  |F8:STA&70:LDX#0.|
000010d0  06 d6 71 2e 70 6f 69 6e  74 20 4c 44 41 63 6f 6c  |..q.point LDAcol|
000010e0  3a 43 4c 43 3a 41 44 43  23 31 3a 80 23 33 3a 53  |:CLC:ADC#1:.#3:S|
000010f0  54 41 63 6f 6c 3a 4c 44  41 23 31 38 3a 4a 53 52  |TAcol:LDA#18:JSR|
00001100  6f 73 77 72 63 68 3a 4c  44 41 23 30 3a 4a 53 52  |oswrch:LDA#0:JSR|
00001110  6f 73 77 72 63 68 3a 4c  44 59 63 6f 6c 3a 54 58  |oswrch:LDYcol:TX|
00001120  41 3a 4c 53 52 20 41 3a  4c 53 52 20 41 3a 4c 53  |A:LSR A:LSR A:LS|
00001130  52 20 41 3a 43 4c 43 3a  41 44 43 73 65 71 2c 59  |R A:CLC:ADCseq,Y|
00001140  0d 06 e0 30 2e 63 6f 6c  73 75 62 20 43 4d 50 20  |...0.colsub CMP |
00001150  23 33 3a 42 43 43 63 6f  6c 67 6f 74 3a 53 45 43  |#3:BCCcolgot:SEC|
00001160  3a 53 42 43 23 33 3a 4a  4d 50 63 6f 6c 73 75 62  |:SBC#3:JMPcolsub|
00001170  0d 06 ea 39 2e 63 6f 6c  67 6f 74 20 43 4c 43 3a  |...9.colgot CLC:|
00001180  41 44 43 23 31 3a 4a 53  52 6f 73 77 72 63 68 3a  |ADC#1:JSRoswrch:|
00001190  4c 44 59 20 23 30 3a 54  58 41 3a 80 23 37 3a 42  |LDY #0:TXA:.#7:B|
000011a0  45 51 6e 65 77 78 76 61  6c 0d 06 f4 89 4c 44 41  |EQnewxval....LDA|
000011b0  23 32 35 3a 4a 53 52 6f  73 77 72 63 68 3a 4c 44  |#25:JSRoswrch:LD|
000011c0  41 23 34 3a 4a 53 52 73  65 6e 64 63 6f 3a 4c 44  |A#4:JSRsendco:LD|
000011d0  41 23 32 35 3a 4a 53 52  6f 73 77 72 63 68 3a 4c  |A#25:JSRoswrch:L|
000011e0  44 41 23 34 3a 4a 53 52  73 65 6e 64 63 6f 3a 4c  |DA#4:JSRsendco:L|
000011f0  44 41 23 32 35 3a 4a 53  52 6f 73 77 72 63 68 3a  |DA#25:JSRoswrch:|
00001200  4c 44 41 23 38 35 3a 4a  53 52 73 65 6e 64 63 6f  |LDA#85:JSRsendco|
00001210  3a 4c 44 41 23 32 35 3a  4a 53 52 6f 73 77 72 63  |:LDA#25:JSRoswrc|
00001220  68 3a 4c 44 41 23 38 35  3a 4a 53 52 73 65 6e 64  |h:LDA#85:JSRsend|
00001230  63 6f 0d 06 fe 48 49 4e  58 3a 4c 44 41 26 37 30  |co...HINX:LDA&70|
00001240  3a 43 4c 43 3a 41 44 43  23 38 3a 53 54 41 26 37  |:CLC:ADC#8:STA&7|
00001250  30 3a 4c 44 41 26 37 31  3a 41 44 43 23 30 3a 53  |0:LDA&71:ADC#0:S|
00001260  54 41 26 37 31 3a 43 50  58 23 31 32 38 3a 42 4e  |TA&71:CPX#128:BN|
00001270  45 70 6f 69 6e 74 3a 52  54 53 0d 07 08 77 2e 6e  |Epoint:RTS...w.n|
00001280  65 77 78 76 61 6c 20 4c  44 41 23 32 35 3a 4a 53  |ewxval LDA#25:JS|
00001290  52 6f 73 77 72 63 68 3a  4c 44 41 23 34 3a 4a 53  |Roswrch:LDA#4:JS|
000012a0  52 6f 73 77 72 63 68 3a  4c 44 41 23 31 32 38 3a  |Roswrch:LDA#128:|
000012b0  4a 53 52 6f 73 77 72 63  68 3a 4c 44 41 23 32 3a  |JSRoswrch:LDA#2:|
000012c0  4a 53 52 6f 73 77 72 63  68 3a 4c 44 41 23 31 39  |JSRoswrch:LDA#19|
000012d0  32 3a 4a 53 52 6f 73 77  72 63 68 3a 4c 44 41 23  |2:JSRoswrch:LDA#|
000012e0  33 3a 4a 53 52 6f 73 77  72 63 68 3a 4c 44 59 23  |3:JSRoswrch:LDY#|
000012f0  38 0d 07 12 46 4c 44 41  23 32 35 3a 4a 53 52 6f  |8...FLDA#25:JSRo|
00001300  73 77 72 63 68 3a 4c 44  41 23 34 3a 4a 53 52 73  |swrch:LDA#4:JSRs|
00001310  65 6e 64 63 6f 3a 4c 44  41 23 32 35 3a 4a 53 52  |endco:LDA#25:JSR|
00001320  6f 73 77 72 63 68 3a 4c  44 41 23 38 35 3a 4a 53  |oswrch:LDA#85:JS|
00001330  52 73 65 6e 64 63 6f 0d  07 1c 3c 49 4e 58 3a 4c  |Rsendco...<INX:L|
00001340  44 41 26 37 30 3a 43 4c  43 3a 41 44 43 23 38 3a  |DA&70:CLC:ADC#8:|
00001350  53 54 41 26 37 30 3a 4c  44 41 26 37 31 3a 41 44  |STA&70:LDA&71:AD|
00001360  43 23 30 3a 53 54 41 26  37 31 3a 4a 4d 50 70 6f  |C#0:STA&71:JMPpo|
00001370  69 6e 74 0d 07 26 79 2e  73 65 6e 64 63 6f 20 4a  |int..&y.sendco J|
00001380  53 52 6f 73 77 72 63 68  3a 4c 44 41 28 26 37 30  |SRoswrch:LDA(&70|
00001390  29 2c 59 3a 4a 53 52 6f  73 77 72 63 68 3a 49 4e  |),Y:JSRoswrch:IN|
000013a0  59 3a 4c 44 41 28 26 37  30 29 2c 59 3a 4a 53 52  |Y:LDA(&70),Y:JSR|
000013b0  6f 73 77 72 63 68 3a 49  4e 59 3a 4c 44 41 28 26  |oswrch:INY:LDA(&|
000013c0  37 30 29 2c 59 3a 4a 53  52 6f 73 77 72 63 68 3a  |70),Y:JSRoswrch:|
000013d0  49 4e 59 3a 4c 44 41 28  26 37 30 29 2c 59 3a 49  |INY:LDA(&70),Y:I|
000013e0  4e 59 3a 4a 4d 50 6f 73  77 72 63 68 0d 07 30 0f  |NY:JMPoswrch..0.|
000013f0  2e 63 6f 6c 20 45 51 55  42 20 30 0d 07 3a 24 2e  |.col EQUB 0..:$.|
00001400  73 65 71 20 45 51 55 42  20 31 3a 45 51 55 42 20  |seq EQUB 1:EQUB |
00001410  33 3a 45 51 55 42 20 32  3a 45 51 55 42 20 33 0d  |3:EQUB 2:EQUB 3.|
00001420  07 44 0d 5d 3a 50 25 3d  26 41 45 39 0d 07 4e 0c  |.D.]:P%=&AE9..N.|
00001430  5b 4f 50 54 70 61 73 73  0d 07 58 09 4c 44 58 23  |[OPTpass..X.LDX#|
00001440  30 0d 07 62 42 2e 62 61  6c 6c 6f 70 20 4c 44 41  |0..bB.ballop LDA|
00001450  78 62 61 6c 6c 2c 58 3a  43 4d 50 63 78 3a 42 4e  |xball,X:CMPcx:BN|
00001460  45 62 61 6c 6c 6f 6e 3a  4c 44 41 79 62 61 6c 6c  |Eballon:LDAyball|
00001470  2c 58 3a 43 4d 50 63 79  3a 42 45 51 62 61 6c 6c  |,X:CMPcy:BEQball|
00001480  6f 66 66 0d 07 6c 79 2e  62 61 6c 6c 6f 6e 20 4c  |off..ly.ballon L|
00001490  44 41 23 31 37 3a 4a 53  52 6f 73 77 72 63 68 3a  |DA#17:JSRoswrch:|
000014a0  4c 44 41 23 32 3a 4a 53  52 6f 73 77 72 63 68 3a  |LDA#2:JSRoswrch:|
000014b0  4c 44 41 23 33 31 3a 4a  53 52 6f 73 77 72 63 68  |LDA#31:JSRoswrch|
000014c0  3a 4c 44 41 78 62 61 6c  6c 2c 58 3a 4a 53 52 6f  |:LDAxball,X:JSRo|
000014d0  73 77 72 63 68 3a 4c 44  41 79 62 61 6c 6c 2c 58  |swrch:LDAyball,X|
000014e0  3a 4a 53 52 6f 73 77 72  63 68 3a 4c 44 41 23 31  |:JSRoswrch:LDA#1|
000014f0  32 39 3a 4a 53 52 6f 73  77 72 63 68 0d 07 76 87  |29:JSRoswrch..v.|
00001500  2e 62 61 6c 6c 6f 66 66  20 4c 44 41 79 62 61 6c  |.balloff LDAybal|
00001510  6c 2c 58 3a 43 4d 50 23  32 34 3a 42 45 51 64 69  |l,X:CMP#24:BEQdi|
00001520  65 3a 4c 44 41 23 26 32  38 3a 53 54 41 26 37 30  |e:LDA#&28:STA&70|
00001530  3a 4c 44 41 23 26 31 31  3a 53 54 41 26 37 31 3a  |:LDA#&11:STA&71:|
00001540  4c 44 41 78 62 61 6c 6c  2c 58 3a 4c 44 59 79 62  |LDAxball,X:LDYyb|
00001550  61 6c 6c 2c 58 3a 4a 53  52 67 65 74 61 64 3a 80  |all,X:JSRgetad:.|
00001560  23 31 3a 42 4e 45 6e 6f  64 6f 77 6e 3a 49 4e 43  |#1:BNEnodown:INC|
00001570  79 62 61 6c 6c 2c 58 3a  4a 4d 50 64 6f 6e 65 62  |yball,X:JMPdoneb|
00001580  61 6c 6c 0d 07 80 9e 2e  6e 6f 64 6f 77 6e 20 4c  |all.....nodown L|
00001590  44 41 78 62 61 6c 6c 2c  58 3a 43 4d 50 23 31 3a  |DAxball,X:CMP#1:|
000015a0  42 45 51 64 69 65 3a 4c  44 41 64 69 72 2c 58 3a  |BEQdie:LDAdir,X:|
000015b0  43 4d 50 23 30 3a 42 4e  45 6e 6f 6c 65 66 74 3a  |CMP#0:BNEnoleft:|
000015c0  4c 44 41 23 26 46 46 3a  53 54 41 26 37 30 3a 4c  |LDA#&FF:STA&70:L|
000015d0  44 41 23 26 31 30 3a 53  54 41 26 37 31 3a 4c 44  |DA#&10:STA&71:LD|
000015e0  41 78 62 61 6c 6c 2c 58  3a 4c 44 59 79 62 61 6c  |Axball,X:LDYybal|
000015f0  6c 2c 58 3a 4a 53 52 67  65 74 61 64 3a 80 23 31  |l,X:JSRgetad:.#1|
00001600  3a 42 4e 45 6e 6f 6c 65  66 74 3a 44 45 43 78 62  |:BNEnoleft:DECxb|
00001610  61 6c 6c 2c 58 3a 4a 4d  50 64 6f 6e 65 62 61 6c  |all,X:JMPdonebal|
00001620  6c 0d 07 8a 1a 2e 64 69  65 20 4c 44 41 23 31 3a  |l.....die LDA#1:|
00001630  53 54 41 64 65 61 64 3a  52 54 53 0d 07 94 9f 2e  |STAdead:RTS.....|
00001640  6e 6f 6c 65 66 74 20 4c  44 41 78 62 61 6c 6c 2c  |noleft LDAxball,|
00001650  58 3a 43 4d 50 23 33 38  3a 42 45 51 64 69 65 3a  |X:CMP#38:BEQdie:|
00001660  4c 44 41 64 69 72 2c 58  3a 43 4d 50 23 31 3a 42  |LDAdir,X:CMP#1:B|
00001670  4e 45 6e 6f 72 69 67 68  74 3a 4c 44 41 23 31 3a  |NEnoright:LDA#1:|
00001680  53 54 41 26 37 30 3a 4c  44 41 23 26 31 31 3a 53  |STA&70:LDA#&11:S|
00001690  54 41 26 37 31 3a 4c 44  41 78 62 61 6c 6c 2c 58  |TA&71:LDAxball,X|
000016a0  3a 4c 44 59 79 62 61 6c  6c 2c 58 3a 4a 53 52 67  |:LDYyball,X:JSRg|
000016b0  65 74 61 64 3a 80 23 31  3a 42 4e 45 6e 6f 72 69  |etad:.#1:BNEnori|
000016c0  67 68 74 3a 49 4e 43 78  62 61 6c 6c 2c 58 3a 4a  |ght:INCxball,X:J|
000016d0  4d 50 64 6f 6e 65 62 61  6c 6c 0d 07 9e 22 2e 6e  |MPdoneball...".n|
000016e0  6f 72 69 67 68 74 20 4c  44 41 64 69 72 2c 58 3a  |oright LDAdir,X:|
000016f0  82 23 31 3a 53 54 41 64  69 72 2c 58 0d 07 a8 44  |.#1:STAdir,X...D|
00001700  2e 64 6f 6e 65 62 61 6c  6c 20 4c 44 41 78 62 61  |.doneball LDAxba|
00001710  6c 6c 2c 58 3a 43 4d 50  63 78 3a 42 4e 45 62 61  |ll,X:CMPcx:BNEba|
00001720  6c 6c 64 3a 4c 44 41 79  62 61 6c 6c 2c 58 3a 43  |lld:LDAyball,X:C|
00001730  4d 50 63 79 3a 42 45 51  6e 65 78 74 62 61 6c 6c  |MPcy:BEQnextball|
00001740  0d 07 b2 57 2e 62 61 6c  6c 64 20 4c 44 41 23 33  |...W.balld LDA#3|
00001750  31 3a 4a 53 52 6f 73 77  72 63 68 3a 4c 44 41 78  |1:JSRoswrch:LDAx|
00001760  62 61 6c 6c 2c 58 3a 4a  53 52 6f 73 77 72 63 68  |ball,X:JSRoswrch|
00001770  3a 4c 44 41 79 62 61 6c  6c 2c 58 3a 4a 53 52 6f  |:LDAyball,X:JSRo|
00001780  73 77 72 63 68 3a 4c 44  41 23 31 33 30 3a 4a 53  |swrch:LDA#130:JS|
00001790  52 6f 73 77 72 63 68 0d  07 bc 69 2e 6e 65 78 74  |Roswrch...i.next|
000017a0  62 61 6c 6c 20 4c 44 41  23 30 3a 53 54 41 26 37  |ball LDA#0:STA&7|
000017b0  30 3a 4c 44 41 23 26 31  31 3a 53 54 41 26 37 31  |0:LDA#&11:STA&71|
000017c0  3a 4c 44 41 78 62 61 6c  6c 2c 58 3a 4c 44 59 79  |:LDAxball,X:LDYy|
000017d0  62 61 6c 6c 2c 58 3a 4a  53 52 67 65 74 61 64 3a  |ball,X:JSRgetad:|
000017e0  43 4d 50 23 32 3a 42 4e  45 6e 65 78 74 62 61 6c  |CMP#2:BNEnextbal|
000017f0  6c 62 3a 4c 44 41 23 31  3a 53 54 41 64 65 61 64  |lb:LDA#1:STAdead|
00001800  0d 07 c6 4e 2e 6e 65 78  74 62 61 6c 6c 62 20 4a  |...N.nextballb J|
00001810  53 52 62 61 6c 6c 63 68  65 63 6b 3a 49 4e 58 3a  |SRballcheck:INX:|
00001820  43 50 58 23 32 3a 42 4e  45 20 62 61 6c 6c 6f 70  |CPX#2:BNE ballop|
00001830  74 3a 4a 4d 50 63 75 72  73 6f 72 3a 2e 62 61 6c  |t:JMPcursor:.bal|
00001840  6c 6f 70 74 20 4a 4d 50  62 61 6c 6c 6f 70 0d 07  |lopt JMPballop..|
00001850  d0 0e 5d 3a 50 25 3d 26  31 41 30 30 0d 07 da 0d  |..]:P%=&1A00....|
00001860  5b 4f 50 54 20 70 61 73  73 0d 07 e4 0c 4a 4d 50  |[OPT pass....JMP|
00001870  73 65 74 75 70 0d 07 ee  53 2e 67 65 74 61 64 20  |setup...S.getad |
00001880  43 4c 43 3a 41 44 43 26  37 30 3a 53 54 41 26 37  |CLC:ADC&70:STA&7|
00001890  30 3a 4c 44 41 26 37 31  3a 41 44 43 23 30 3a 53  |0:LDA&71:ADC#0:S|
000018a0  54 41 26 37 31 3a 54 59  41 3a 41 53 4c 20 41 3a  |TA&71:TYA:ASL A:|
000018b0  41 53 4c 20 41 3a 41 53  4c 20 41 3a 53 54 41 26  |ASL A:ASL A:STA&|
000018c0  37 32 3a 4c 44 59 23 30  0d 07 f8 61 2e 67 65 74  |72:LDY#0...a.get|
000018d0  6c 6f 70 20 4c 44 41 26  37 30 3a 43 4c 43 3a 41  |lop LDA&70:CLC:A|
000018e0  44 43 26 37 32 3a 53 54  41 26 37 30 3a 4c 44 41  |DC&72:STA&70:LDA|
000018f0  26 37 31 3a 41 44 43 23  30 3a 53 54 41 26 37 31  |&71:ADC#0:STA&71|
00001900  3a 49 4e 59 3a 43 50 59  23 35 3a 42 4e 45 67 65  |:INY:CPY#5:BNEge|
00001910  74 6c 6f 70 3a 4c 44 59  23 30 3a 4c 44 41 28 26  |tlop:LDY#0:LDA(&|
00001920  37 30 29 2c 59 3a 52 54  53 0d 08 02 b6 2e 63 75  |70),Y:RTS.....cu|
00001930  72 73 6f 72 20 4c 44 41  23 33 31 3a 4a 53 52 6f  |rsor LDA#31:JSRo|
00001940  73 77 72 63 68 3a 4c 44  41 63 78 3a 4a 53 52 6f  |swrch:LDAcx:JSRo|
00001950  73 77 72 63 68 3a 4c 44  41 63 79 3a 4a 53 52 6f  |swrch:LDAcy:JSRo|
00001960  73 77 72 63 68 3a 4c 44  41 23 30 3a 53 54 41 26  |swrch:LDA#0:STA&|
00001970  37 30 3a 4c 44 41 23 26  31 31 3a 53 54 41 26 37  |70:LDA#&11:STA&7|
00001980  31 3a 4c 44 41 63 78 3a  4c 44 59 63 79 3a 4a 53  |1:LDAcx:LDYcy:JS|
00001990  52 67 65 74 61 64 3a 43  4d 50 23 31 3a 42 45 51  |Rgetad:CMP#1:BEQ|
000019a0  62 6c 6f 63 6b 3a 43 4d  50 23 32 3a 42 45 51 73  |block:CMP#2:BEQs|
000019b0  70 69 6b 65 3a 43 4d 50  23 33 3a 42 45 51 68 61  |pike:CMP#3:BEQha|
000019c0  72 64 62 3a 4c 44 41 23  31 32 39 3a 4a 53 52 6f  |rdb:LDA#129:JSRo|
000019d0  73 77 72 63 68 3a 4a 4d  50 63 75 72 64 65 6c 0d  |swrch:JMPcurdel.|
000019e0  08 0c 47 2e 62 6c 6f 63  6b 20 4c 44 41 23 31 37  |..G.block LDA#17|
000019f0  3a 4a 53 52 6f 73 77 72  63 68 3a 4c 44 41 23 31  |:JSRoswrch:LDA#1|
*
00001a10  32 38 3a 4a 53 52 6f 73  77 72 63 68 3a 4a 4d 50  |28:JSRoswrch:JMP|
00001a20  63 75 72 64 65 6c 0d 08  16 47 2e 73 70 69 6b 65  |curdel...G.spike|
00001a30  20 4c 44 41 23 31 37 3a  4a 53 52 6f 73 77 72 63  | LDA#17:JSRoswrc|
00001a40  68 3a 4c 44 41 23 31 3a  4a 53 52 6f 73 77 72 63  |h:LDA#1:JSRoswrc|
00001a50  68 3a 4c 44 41 23 31 33  32 3a 4a 53 52 6f 73 77  |h:LDA#132:JSRosw|
00001a60  72 63 68 3a 4a 4d 50 63  75 72 64 65 6c 0d 08 20  |rch:JMPcurdel.. |
00001a70  3d 2e 68 61 72 64 62 20  4c 44 41 23 31 37 3a 4a  |=.hardb LDA#17:J|
00001a80  53 52 6f 73 77 72 63 68  3a 4c 44 41 23 31 3a 4a  |SRoswrch:LDA#1:J|
00001a90  53 52 6f 73 77 72 63 68  3a 4c 44 41 23 31 33 33  |SRoswrch:LDA#133|
00001aa0  3a 4a 53 52 6f 73 77 72  63 68 0d 08 2a 47 2e 63  |:JSRoswrch..*G.c|
00001ab0  75 72 64 65 6c 20 4c 44  41 23 26 38 31 3a 4c 44  |urdel LDA#&81:LD|
00001ac0  58 23 30 3a 4c 44 59 23  30 3a 4a 53 52 6f 73 62  |X#0:LDY#0:JSRosb|
00001ad0  79 74 65 3a 42 43 43 6b  65 79 70 72 6f 3a 2e 6e  |yte:BCCkeypro:.n|
00001ae0  6f 6d 6f 76 65 74 20 4a  4d 50 20 6e 6f 6d 6f 76  |omovet JMP nomov|
00001af0  65 0d 08 34 43 2e 6b 65  79 70 72 6f 20 43 50 58  |e..4C.keypro CPX|
00001b00  6b 6c 3a 42 4e 45 6e 6f  74 6b 6c 3a 4c 44 41 63  |kl:BNEnotkl:LDAc|
00001b10  78 3a 43 4d 50 23 31 3a  42 45 51 20 6e 6f 6d 6f  |x:CMP#1:BEQ nomo|
00001b20  76 65 74 3a 44 45 43 63  78 3a 4a 4d 50 6e 6f 6d  |vet:DECcx:JMPnom|
00001b30  6f 76 65 74 0d 08 3e 42  2e 6e 6f 74 6b 6c 20 43  |ovet..>B.notkl C|
00001b40  50 58 6b 72 3a 42 4e 45  6e 6f 74 6b 72 3a 4c 44  |PXkr:BNEnotkr:LD|
00001b50  41 63 78 3a 43 4d 50 23  33 38 3a 42 45 51 20 6e  |Acx:CMP#38:BEQ n|
00001b60  6f 6d 6f 76 65 3a 49 4e  43 63 78 3a 4a 4d 50 6e  |omove:INCcx:JMPn|
00001b70  6f 6d 6f 76 65 74 0d 08  48 41 2e 6e 6f 74 6b 72  |omovet..HA.notkr|
00001b80  20 43 50 58 6b 75 3a 42  4e 45 6e 6f 74 6b 75 3a  | CPXku:BNEnotku:|
00001b90  4c 44 41 63 79 3a 43 4d  50 23 31 3a 42 45 51 20  |LDAcy:CMP#1:BEQ |
00001ba0  6e 6f 6d 6f 76 65 3a 44  45 43 63 79 3a 4a 4d 50  |nomove:DECcy:JMP|
00001bb0  6e 6f 6d 6f 76 65 74 0d  08 52 41 2e 6e 6f 74 6b  |nomovet..RA.notk|
00001bc0  75 20 43 50 58 6b 64 3a  42 4e 45 6e 6f 74 6b 64  |u CPXkd:BNEnotkd|
00001bd0  3a 4c 44 41 63 79 3a 43  4d 50 23 32 34 3a 42 45  |:LDAcy:CMP#24:BE|
00001be0  51 20 6e 6f 6d 6f 76 65  3a 49 4e 43 63 79 3a 4a  |Q nomove:INCcy:J|
00001bf0  4d 50 6e 6f 6d 6f 76 65  0d 08 5c 8f 2e 6e 6f 74  |MPnomove..\..not|
00001c00  6b 64 20 43 50 58 6b 73  3a 42 4e 45 6e 6f 74 6b  |kd CPXks:BNEnotk|
00001c10  73 3a 4c 44 41 6d 6f 6e  3a 43 4d 50 23 35 3a 42  |s:LDAmon:CMP#5:B|
00001c20  43 43 20 6e 6f 6d 6f 76  65 3a 4c 44 41 63 78 3a  |CC nomove:LDAcx:|
00001c30  4c 44 59 63 79 3a 4a 53  52 67 65 74 63 6c 72 3a  |LDYcy:JSRgetclr:|
00001c40  4c 44 41 28 26 37 30 29  2c 59 3a 42 4e 45 6e 6f  |LDA(&70),Y:BNEno|
00001c50  6d 6f 76 65 3a 4c 44 41  23 31 3a 53 54 41 28 26  |move:LDA#1:STA(&|
00001c60  37 30 29 2c 59 3a 4c 44  41 6d 6f 6e 3a 53 45 43  |70),Y:LDAmon:SEC|
00001c70  3a 53 42 43 23 35 3a 53  54 41 6d 6f 6e 3a 4a 4d  |:SBC#5:STAmon:JM|
00001c80  50 6e 6f 6d 6f 76 65 0d  08 66 58 2e 6e 6f 74 6b  |Pnomove..fX.notk|
00001c90  73 20 43 50 58 6b 63 3a  42 4e 45 6e 6f 6d 6f 76  |s CPXkc:BNEnomov|
00001ca0  65 3a 4c 44 41 63 78 3a  4c 44 59 63 79 3a 4a 53  |e:LDAcx:LDYcy:JS|
00001cb0  52 67 65 74 63 6c 72 3a  43 4d 50 23 31 3a 42 4e  |Rgetclr:CMP#1:BN|
00001cc0  45 6e 6f 6d 6f 76 65 3a  4c 44 41 23 30 3a 53 54  |Enomove:LDA#0:ST|
00001cd0  41 28 26 37 30 29 2c 59  3a 49 4e 43 6d 6f 6e 0d  |A(&70),Y:INCmon.|
00001ce0  08 70 87 2e 6e 6f 6d 6f  76 65 20 4c 44 41 23 33  |.p..nomove LDA#3|
00001cf0  31 3a 4a 53 52 6f 73 77  72 63 68 3a 4c 44 41 63  |1:JSRoswrch:LDAc|
00001d00  78 3a 4a 53 52 6f 73 77  72 63 68 3a 4c 44 41 63  |x:JSRoswrch:LDAc|
00001d10  79 3a 4a 53 52 6f 73 77  72 63 68 3a 4c 44 41 23  |y:JSRoswrch:LDA#|
00001d20  31 37 3a 4a 53 52 6f 73  77 72 63 68 3a 4c 44 41  |17:JSRoswrch:LDA|
00001d30  23 33 3a 4a 53 52 6f 73  77 72 63 68 3a 4c 44 41  |#3:JSRoswrch:LDA|
00001d40  23 31 33 31 3a 4a 53 52  6f 73 77 72 63 68 3a 4c  |#131:JSRoswrch:L|
00001d50  44 41 23 26 31 35 3a 4c  44 58 23 30 3a 4a 4d 50  |DA#&15:LDX#0:JMP|
00001d60  6f 73 62 79 74 65 0d 08  7a 55 2e 62 61 6c 6c 63  |osbyte..zU.ballc|
00001d70  68 65 63 6b 20 4c 44 41  78 62 61 6c 6c 3a 43 4d  |heck LDAxball:CM|
00001d80  50 78 62 61 6c 6c 2b 31  3a 42 4e 45 6e 6f 68 69  |Pxball+1:BNEnohi|
00001d90  74 3a 4c 44 41 79 62 61  6c 6c 3a 43 4d 50 79 62  |t:LDAyball:CMPyb|
00001da0  61 6c 6c 2b 31 3a 42 4e  45 6e 6f 68 69 74 3a 4c  |all+1:BNEnohit:L|
00001db0  44 41 23 31 3a 53 54 41  68 69 74 0d 08 84 0e 2e  |DA#1:STAhit.....|
00001dc0  6e 6f 68 69 74 20 52 54  53 0d 08 8e 2c 2e 73 65  |nohit RTS...,.se|
00001dd0  74 75 70 20 4c 44 59 23  30 3a 53 54 59 26 37 30  |tup LDY#0:STY&70|
00001de0  3a 4c 44 41 23 26 31 31  3a 53 54 41 26 37 31 3a  |:LDA#&11:STA&71:|
00001df0  4c 44 41 23 30 0d 08 98  6b 2e 73 65 74 6c 6f 70  |LDA#0...k.setlop|
00001e00  20 53 54 41 28 26 37 30  29 2c 59 3a 49 4e 59 3a  | STA(&70),Y:INY:|
00001e10  42 4e 45 73 65 74 6c 6f  70 3a 49 4e 43 26 37 31  |BNEsetlop:INC&71|
00001e20  3a 4c 44 58 26 37 31 3a  43 50 58 23 26 31 35 3a  |:LDX&71:CPX#&15:|
00001e30  42 4e 45 73 65 74 6c 6f  70 3a 53 54 41 26 42 46  |BNEsetlop:STA&BF|
00001e40  39 3a 53 54 41 26 42 45  46 3a 4c 44 41 28 26 37  |9:STA&BEF:LDA(&7|
00001e50  33 29 2c 59 3a 54 41 58  3a 49 4e 58 3a 49 4e 59  |3),Y:TAX:INX:INY|
00001e60  0d 08 a2 aa 2e 70 6f 6c  6f 70 20 4c 44 41 23 33  |.....polop LDA#3|
00001e70  31 3a 4a 53 52 6f 73 77  72 63 68 3a 4c 44 41 28  |1:JSRoswrch:LDA(|
00001e80  26 37 33 29 2c 59 3a 50  48 41 3a 4a 53 52 6f 73  |&73),Y:PHA:JSRos|
00001e90  77 72 63 68 3a 49 4e 59  3a 4c 44 41 28 26 37 33  |wrch:INY:LDA(&73|
00001ea0  29 2c 59 3a 50 48 41 3a  4a 53 52 6f 73 77 72 63  |),Y:PHA:JSRoswrc|
00001eb0  68 3a 49 4e 59 3a 53 54  59 26 37 35 3a 4c 44 41  |h:INY:STY&75:LDA|
00001ec0  23 31 32 38 3a 4a 53 52  6f 73 77 72 63 68 3a 50  |#128:JSRoswrch:P|
00001ed0  4c 41 3a 54 41 59 3a 50  4c 41 3a 4a 53 52 67 65  |LA:TAY:PLA:JSRge|
00001ee0  74 63 6c 72 3a 4c 44 41  23 31 3a 53 54 41 28 26  |tclr:LDA#1:STA(&|
00001ef0  37 30 29 2c 59 3a 4c 44  59 26 37 35 3a 44 45 58  |70),Y:LDY&75:DEX|
00001f00  3a 42 4e 45 20 70 6f 6c  6f 70 0d 08 ac 99 4c 44  |:BNE polop....LD|
00001f10  41 23 30 3a 53 54 41 26  42 46 32 3a 53 54 41 26  |A#0:STA&BF2:STA&|
00001f20  42 46 33 3a 4c 44 41 28  26 37 33 29 2c 59 3a 53  |BF3:LDA(&73),Y:S|
00001f30  54 41 26 42 46 34 3a 49  4e 59 3a 4c 44 41 28 26  |TA&BF4:INY:LDA(&|
00001f40  37 33 29 2c 59 3a 53 54  41 26 42 46 36 3a 49 4e  |73),Y:STA&BF6:IN|
00001f50  59 3a 4c 44 41 28 26 37  33 29 2c 59 3a 53 54 41  |Y:LDA(&73),Y:STA|
00001f60  26 42 46 35 3a 49 4e 59  3a 4c 44 41 28 26 37 33  |&BF5:INY:LDA(&73|
00001f70  29 2c 59 3a 53 54 41 26  42 46 37 3a 49 4e 59 3a  |),Y:STA&BF7:INY:|
00001f80  4c 44 41 28 26 37 33 29  2c 59 3a 54 41 58 3a 49  |LDA(&73),Y:TAX:I|
00001f90  4e 59 3a 43 50 58 23 30  3a 42 45 51 6e 6f 73 70  |NY:CPX#0:BEQnosp|
00001fa0  69 6b 65 0d 08 b6 ac 2e  73 70 6b 6c 6f 70 20 4c  |ike.....spklop L|
00001fb0  44 41 23 33 31 3a 4a 53  52 6f 73 77 72 63 68 3a  |DA#31:JSRoswrch:|
00001fc0  4c 44 41 28 26 37 33 29  2c 59 3a 50 48 41 3a 4a  |LDA(&73),Y:PHA:J|
00001fd0  53 52 6f 73 77 72 63 68  3a 49 4e 59 3a 4c 44 41  |SRoswrch:INY:LDA|
00001fe0  28 26 37 33 29 2c 59 3a  50 48 41 3a 4a 53 52 6f  |(&73),Y:PHA:JSRo|
00001ff0  73 77 72 63 68 3a 49 4e  59 3a 53 54 59 26 37 35  |swrch:INY:STY&75|
00002000  3a 4c 44 41 23 31 33 32  3a 4a 53 52 6f 73 77 72  |:LDA#132:JSRoswr|
00002010  63 68 3a 50 4c 41 3a 54  41 59 3a 50 4c 41 3a 4a  |ch:PLA:TAY:PLA:J|
00002020  53 52 67 65 74 63 6c 72  3a 4c 44 41 23 32 3a 53  |SRgetclr:LDA#2:S|
00002030  54 41 28 26 37 30 29 2c  59 3a 4c 44 59 26 37 35  |TA(&70),Y:LDY&75|
00002040  3a 44 45 58 3a 42 4e 45  20 73 70 6b 6c 6f 70 0d  |:DEX:BNE spklop.|
00002050  08 c0 2f 2e 6e 6f 73 70  69 6b 65 20 4c 44 41 28  |../.nospike LDA(|
00002060  26 37 33 29 2c 59 3a 54  41 58 3a 49 4e 59 3a 43  |&73),Y:TAX:INY:C|
00002070  50 58 23 30 3a 42 45 51  6e 6f 68 61 72 64 0d 08  |PX#0:BEQnohard..|
00002080  ca ae 2e 68 61 72 64 6c  6f 70 20 4c 44 41 23 33  |...hardlop LDA#3|
00002090  31 3a 4a 53 52 6f 73 77  72 63 68 3a 4c 44 41 28  |1:JSRoswrch:LDA(|
000020a0  26 37 33 29 2c 59 3a 50  48 41 3a 4a 53 52 6f 73  |&73),Y:PHA:JSRos|
000020b0  77 72 63 68 3a 49 4e 59  3a 4c 44 41 28 26 37 33  |wrch:INY:LDA(&73|
000020c0  29 2c 59 3a 50 48 41 3a  4a 53 52 6f 73 77 72 63  |),Y:PHA:JSRoswrc|
000020d0  68 3a 49 4e 59 3a 53 54  59 26 37 35 3a 4c 44 41  |h:INY:STY&75:LDA|
000020e0  23 31 33 33 3a 4a 53 52  6f 73 77 72 63 68 3a 50  |#133:JSRoswrch:P|
000020f0  4c 41 3a 54 41 59 3a 50  4c 41 3a 4a 53 52 67 65  |LA:TAY:PLA:JSRge|
00002100  74 63 6c 72 3a 4c 44 41  23 33 3a 53 54 41 28 26  |tclr:LDA#3:STA(&|
00002110  37 30 29 2c 59 3a 4c 44  59 26 37 35 3a 44 45 58  |70),Y:LDY&75:DEX|
00002120  3a 42 4e 45 20 68 61 72  64 6c 6f 70 0d 08 d4 0f  |:BNE hardlop....|
00002130  2e 6e 6f 68 61 72 64 20  52 54 53 0d 08 de 38 2e  |.nohard RTS...8.|
00002140  67 65 74 63 6c 72 20 50  48 41 3a 4c 44 41 23 30  |getclr PHA:LDA#0|
00002150  3a 53 54 41 26 37 30 3a  4c 44 41 23 26 31 31 3a  |:STA&70:LDA#&11:|
00002160  53 54 41 26 37 31 3a 50  4c 41 3a 4a 4d 50 67 65  |STA&71:PLA:JMPge|
00002170  74 61 64 0d 08 e8 12 5d  3a f1 7e 50 25 3a 50 25  |tad....]:.~P%:P%|
00002180  3d 26 42 45 46 0d 08 f2  0d 5b 4f 50 54 20 70 61  |=&BEF....[OPT pa|
00002190  73 73 0d 08 fc 0f 2e 68  69 74 20 45 51 55 42 20  |ss.....hit EQUB |
000021a0  30 0d 09 06 0e 2e 63 78  20 45 51 55 42 20 30 0d  |0.....cx EQUB 0.|
000021b0  09 10 0e 2e 63 79 20 45  51 55 42 20 30 0d 09 1a  |....cy EQUB 0...|
000021c0  0f 2e 64 69 72 20 45 51  55 57 20 30 0d 09 24 11  |..dir EQUW 0..$.|
000021d0  2e 78 62 61 6c 6c 20 45  51 55 57 20 30 0d 09 2e  |.xball EQUW 0...|
000021e0  11 2e 79 62 61 6c 6c 20  45 51 55 57 20 30 0d 09  |..yball EQUW 0..|
000021f0  38 0f 2e 6d 6f 6e 20 45  51 55 42 20 30 0d 09 42  |8..mon EQUB 0..B|
00002200  10 2e 64 65 61 64 20 45  51 55 42 20 30 0d 09 4c  |..dead EQUB 0..L|
00002210  10 2e 6b 6c 20 45 51 55  53 20 22 5a 22 0d 09 56  |..kl EQUS "Z"..V|
00002220  10 2e 6b 72 20 45 51 55  53 20 22 58 22 0d 09 60  |..kr EQUS "X"..`|
00002230  10 2e 6b 75 20 45 51 55  53 20 22 4b 22 0d 09 6a  |..ku EQUS "K"..j|
00002240  10 2e 6b 64 20 45 51 55  53 20 22 4d 22 0d 09 74  |..kd EQUS "M"..t|
00002250  10 2e 6b 73 20 45 51 55  53 20 22 4c 22 0d 09 7e  |..ks EQUS "L"..~|
00002260  10 2e 6b 63 20 45 51 55  53 20 22 20 22 0d 09 88  |..kc EQUS " "...|
00002270  05 5d 0d 09 92 05 ed 0d  09 9c 05 e1 0d 09 a6 05  |.]..............|
00002280  3a 0d 09 b0 0b dd f2 72  65 6c 6f 63 0d 09 ba 16  |:......reloc....|
00002290  f1 22 52 65 6c 6f 63 61  74 69 6e 67 2e 20 2e 20  |."Relocating. . |
000022a0  2e 22 0d 09 c4 0b 3f 26  37 38 3d 34 35 0d 09 ce  |."....?&78=45...|
000022b0  17 d3 3d 26 35 38 30 30  3a 6e 65 77 70 61 67 65  |..=&5800:newpage|
000022c0  3d 26 31 44 0d 09 d8 14  e3 20 70 61 73 73 3d 30  |=&1D..... pass=0|
000022d0  20 b8 20 32 20 88 20 32  0d 09 e2 0b 50 25 3d 26  | . 2 . 2....P%=&|
000022e0  43 30 30 0d 09 ec 0c 5b  4f 50 54 70 61 73 73 0d  |C00....[OPTpass.|
000022f0  09 f6 0d 20 20 20 20 4c  44 59 23 30 0d 0a 00 0e  |...    LDY#0....|
00002300  20 20 20 20 53 54 59 26  37 30 0d 0a 0a 0e 20 20  |    STY&70....  |
00002310  20 20 53 54 59 26 37 32  0d 0a 14 13 20 20 20 20  |  STY&72....    |
00002320  4c 44 41 23 6e 65 77 70  61 67 65 0d 0a 1e 0b 20  |LDA#newpage.... |
00002330  20 20 20 53 45 43 0d 0a  28 0e 20 20 20 20 53 42  |   SEC..(.    SB|
00002340  43 26 31 38 0d 0a 32 0e  20 20 20 20 53 54 41 26  |C&18..2.    STA&|
00002350  37 34 0d 0a 3c 0e 20 20  20 20 4c 44 41 26 31 38  |74..<.    LDA&18|
00002360  0d 0a 46 13 20 20 20 20  43 4d 50 23 6e 65 77 70  |..F.    CMP#newp|
00002370  61 67 65 0d 0a 50 0d 20  20 20 20 42 43 43 61 64  |age..P.    BCCad|
00002380  0d 0a 5a 0e 2e 73 62 20  53 54 41 26 37 31 0d 0a  |..Z..sb STA&71..|
00002390  64 13 20 20 20 20 4c 44  41 23 6e 65 77 70 61 67  |d.    LDA#newpag|
000023a0  65 0d 0a 6e 0e 20 20 20  20 53 54 41 26 37 33 0d  |e..n.    STA&73.|
000023b0  0a 78 12 2e 6d 31 20 4c  44 41 28 26 37 30 29 2c  |.x..m1 LDA(&70),|
000023c0  59 0d 0a 82 12 20 20 20  20 53 54 41 28 26 37 32  |Y....    STA(&72|
000023d0  29 2c 59 0d 0a 8c 0b 20  20 20 20 49 4e 59 0d 0a  |),Y....    INY..|
000023e0  96 0d 20 20 20 20 42 4e  45 6d 31 0d 0a a0 0e 20  |..    BNEm1.... |
000023f0  20 20 20 49 4e 43 26 37  31 0d 0a aa 0e 20 20 20  |   INC&71....   |
00002400  20 49 4e 43 26 37 33 0d  0a b4 0e 20 20 20 20 4c  | INC&73....    L|
00002410  44 58 26 37 31 0d 0a be  0b 20 20 20 20 44 45 58  |DX&71....    DEX|
00002420  0d 0a c8 0e 20 20 20 20  43 50 58 26 30 33 0d 0a  |....    CPX&03..|
00002430  d2 0d 20 20 20 20 42 43  43 6d 31 0d 0a dc 0d 20  |..    BCCm1.... |
00002440  20 20 20 42 43 53 65 6d  0d 0a e6 0e 2e 61 64 20  |   BCSem.....ad |
00002450  4c 44 41 26 30 33 0d 0a  f0 0e 20 20 20 20 53 54  |LDA&03....    ST|
00002460  41 26 37 31 0d 0a fa 0b  20 20 20 20 43 4c 43 0d  |A&71....    CLC.|
00002470  0b 04 0e 20 20 20 20 41  44 43 26 37 34 0d 0b 0e  |...    ADC&74...|
00002480  0e 20 20 20 20 53 54 41  26 37 33 0d 0b 18 0d 20  |.    STA&73.... |
00002490  20 20 20 4c 44 41 23 30  0d 0b 22 0e 20 20 20 20  |   LDA#0..".    |
000024a0  4c 44 59 26 30 32 0d 0b  2c 12 2e 6d 32 20 4c 44  |LDY&02..,..m2 LD|
000024b0  41 28 26 37 30 29 2c 59  0d 0b 36 12 20 20 20 20  |A(&70),Y..6.    |
000024c0  53 54 41 28 26 37 32 29  2c 59 0d 0b 40 0b 20 20  |STA(&72),Y..@.  |
000024d0  20 20 44 45 59 0d 0b 4a  0f 20 20 20 20 43 50 59  |  DEY..J.    CPY|
000024e0  23 26 46 46 0d 0b 54 0d  20 20 20 20 42 4e 45 6d  |#&FF..T.    BNEm|
000024f0  32 0d 0b 5e 0e 20 20 20  20 44 45 43 26 37 31 0d  |2..^.    DEC&71.|
00002500  0b 68 0e 20 20 20 20 44  45 43 26 37 33 0d 0b 72  |.h.    DEC&73..r|
00002510  0e 20 20 20 20 4c 44 41  26 37 33 0d 0b 7c 17 20  |.    LDA&73..|. |
00002520  20 20 20 43 4d 50 23 28  6e 65 77 70 61 67 65 2d  |   CMP#(newpage-|
00002530  31 29 0d 0b 86 0d 20 20  20 20 42 43 53 6d 32 0d  |1)....    BCSm2.|
00002540  0b 90 0e 2e 65 6d 20 4c  44 41 26 31 33 0d 0b 9a  |....em LDA&13...|
00002550  0b 20 20 20 20 43 4c 43  0d 0b a4 0e 20 20 20 20  |.    CLC....    |
00002560  41 44 43 26 37 34 0d 0b  ae 0e 20 20 20 20 53 54  |ADC&74....    ST|
00002570  41 26 31 33 0d 0b b8 0e  20 20 20 20 53 54 41 26  |A&13....    STA&|
00002580  30 31 0d 0b c2 13 20 20  20 20 4c 44 41 23 6e 65  |01....    LDA#ne|
00002590  77 70 61 67 65 0d 0b cc  0e 20 20 20 20 53 54 41  |wpage....    STA|
000025a0  26 31 38 0d 0b d6 0b 20  20 20 20 52 54 53 0d 0b  |&18....    RTS..|
000025b0  e0 05 5d 0d 0b ea 05 ed  0d 0b f4 08 ef 20 32 31  |..].......... 21|
000025c0  0d 0b fe 31 ff 22 4b 45  59 20 30 22 22 43 41 4c  |...1."KEY 0""CAL|
000025d0  4c 26 43 30 30 7c 4d 52  55 4e 7c 46 7c 4d 22 22  |L&C00|MRUN|F|M""|
000025e0  22 3a ff 22 46 58 20 31  35 33 2c 30 2c 31 32 38  |":."FX 153,0,128|
000025f0  22 0d 0c 08 05 e0 0d 0c  12 05 e1 0d ff           |"............|
000025fd
Bounce/B12.m0
Bounce/B12.m1
Bounce/B12.m2
Bounce/B12.m4
Bounce/B12.m5