Home » Archimedes archive » Archimedes World » AW-1992-12.adf » AWDec92 » !AWDec92/Goodies/MoonQuake/!Moonquake/!RunImage
!AWDec92/Goodies/MoonQuake/!Moonquake/!RunImage
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 » Archimedes archive » Archimedes World » AW-1992-12.adf » AWDec92 |
Filename: | !AWDec92/Goodies/MoonQuake/!Moonquake/!RunImage |
Read OK: | ✔ |
File size: | 9DA6 bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10REM >$.!Moonquake.!RunImage 20REM (c) 1992 Paul Taylor 30REM 40REM DATE - TASK 50REM ------- --------------------------------------------------------- 60REM 21/7/92 - STATIC PLOTTER & SCREEN LAYOUT ?? 70REM 22/7/92 - COMPLETED ABOVE STARTED MAIN PROG LOOP WITH 1 MAN 80REM 25/7/92 - COMPLETED 1 MAN RUNNING ROUND SCREEN WITH EDGE OF SCREEN 90REM - DETECTION AND BLOCKING BY CERTAIN OBJECTS 100REM 26/7/92 - ADDED BOMB DROPPING, BOMB EXPLOSIONS, CHAIN REACTIONS AND 110REM - DEATH BY EXPLOSION 120REM 27/7/92 - CORRECTED DEATH BY EXPLOSION, ADDED RUBBLE AND DESTRUCTION 130REM - OF RUBBLE; ADDED SECOND MAN - NEW MAN SPRITES 140REM 01/8/92 - SECOND PLAYER WORKING; BOMB INFLATION; ROAMING ROBOTS; 150REM - DEATH OF ROBOTS; DEATH BY ROBOTS; BOMB LIMITS; 160REM - INDIVIDUAL BOMB STRENGTHS; COLLECTABLE TOKENS FOR 170REM - MORE BOMBS AND STRONGER BOMBS 180REM 04/8/92 - 1 OR 2 PLAYER GAME; 1 & 0 HIT NUCLEAR REACTORS; 190REM - ROBOTS DON'T DELIBERATELY RUN INTO FIRE; 200REM - NUCLEAR REACTOR EXPLOSION; END OF LEVEL WHEN CLEARED; 210REM - MYSTERY TOKENS - AUTO BOMB DROP, BOMB DETONATE, ROBOT FREEZE 220REM - A STORY? 230: 234MODE13 235*SCREENLOAD <Obey$Dir>.SCREEN 240*RMENSURE Explo 1.00 *RMLOAD <Obey$Dir>.SFX.EXPLO 250*RMENSURE TokenRM 1.00 *RMLOAD <Obey$Dir>.SFX.TOKENRM 254*RMENSURE ARG 1.00 *RMLOAD <Obey$Dir>.SFX.ARG 255*RMENSURE RARG 1.00 *RMLOAD <Obey$Dir>.SFX.RARG 260DIM vdu 16,MR(50),robos(9),hisc(9),hname$(9) 270!vdu=148 280vdu!4=-1 300VOICES 4 310VOICE 1,"EXPLO" 320VOICE 2,"TOKENRM" 325VOICE 3,"ARG" 326VOICE 4,"RARG" 330SYS "OS_ReadVduVariables",vdu,vdu+8 340scr_start=vdu!8+8 344*FX200,1 345*FX11,0 346@%=&05 347VDU23,135,126,255,255,255,255,255,255,126 350: 370spnum=0 380gridx=1 390gridy=2 400table=4 410offset=5 420temp=6 430temp2=7 440scr=8 450REM ---- Constants ---- 460scream=6016 465ping=14336 470exdel=3 480numbots=10 490DIM code 80000 500FOR pass=0 TO 2 STEP 2 510P%=code 520[OPT pass 530ALIGN 540.basic EQUD 0 550.screen EQUD (scr_start) 560.init_screen MOV gridy,#0:STR R14,basic 570 LDR table,grid 580.gyloop MOV gridx,#0 590.gxloop MOV temp2,#19 600 MLA temp,gridy,temp2,gridx 610 LDRB spnum,[table,temp] 620 BL plotstatic 630 ADD gridx,gridx,#4 640 CMP gridx,#19*4 650 BLT gxloop 660 ADD gridy,gridy,#4 670 CMP gridy,#13*4 680 BLT gyloop 690 LDR PC,basic 700: 710.grid EQUD(griddata) 720.safe EQUD 0:EQUD 0:EQUD 0:EQUD 0:EQUD 0:EQUD 0:EQUD 0:EQUD 0:EQUD 0:EQUD 0 730.plotstatic ADR R12,safe 740 STMIA R12,{R1-R7,R9-R11} 750 LDR scr,screen 760 MOV table,spnum,LSL #8 ; Multiply by 256 (sprite size) 770 LDR spnum,sprites 780 ADD table,table,spnum 790 MOV temp,#4*320 800 MLA temp2,temp,gridy,scr 810 ADD scr,temp2,#39*320 820 ADD scr,scr,gridx,LSL#2 ; scr = top left corner of spr 830]: FOR l=1 TO 8:[OPT pass 840 LDMIA (table)!,{R1-R3,R5-R7,R9,R10} 850 STMIA (scr),{R1-R3,R5} 860 ADD scr,scr,#320 870 STMIA (scr),{R6,R7,R9,R10} 880 ADD scr,scr,#320 890]: NEXT l:[OPT pass 900 ADR R12,safe 910 LDMIA R12,{R1-R7,R9-R11} 920 MOV PC,R14 930: 940.sprites EQUD(sprite_data) 950 FNscoredraw 960 FNmovingbloke 970.griddata FNreserve(19*13*4) 980.sprite_data FNreserve(15000) 990 FNblokeplotters 1000] 1010NEXT pass 1020OSCLI("LOAD <Obey$Dir>.MQSPRITES "+STR$~(sprite_data)) 1030OSCLI("LOAD <Obey$Dir>.NUMBERS "+STR$~(digits)) 1040M=manrtns:FOR I=0 TO 3:RESTORE 1160 1050FOR I2=1 TO 8:READ RN:!M=MR(RN+(I*5)) 1060M+=4:NEXT 1070NEXT 1080FOR I=20 TO 25:!M=MR(I):M+=4:NEXT 1090!M=null:M+=4 1100FOR I=0 TO 3:RESTORE 1160:FOR I2=1 TO 8:READ RN:!M=MR(26+RN+(I*5)):M+=4:NEXT:NEXT 1110!death=M 1120!aurasp=MR(50) 1130FOR I=20 TO 25:!M=MR(I):M+=4:NEXT:!M=null 1140M=robotrtns:FOR I=46 TO 49:!M=MR(I):M+=4:NEXT 1144RESTORE 6165 1145FORI=0 TO 9:READ robos(I) 1146hisc(I)=1000*(I+1):hname$(I)="Beat me!":NEXT 1150PROCloopgame 1160DATA 0,1,2,1,0,3,4,3 1170: 1180DEFFNreserve(bytes) 1190P%=P%+bytes 1200="" 1210: 1220DEFFNmovingbloke 1230x=1:y=2:off=3 1240direc=4 1250temp3=9 1260[OPT pass 1270.man1 EQUD 255:EQUD 0:EQUD 18*4:EQUD 12*4:EQUD 0:EQUD &00020001 1280.man2 EQUD 255:EQUD 0:EQUD 0:EQUD 0:EQUD 1:EQUD &20001 1290.dead EQUD 255 1300.offset EQUD 0 1310.manx EQUD 0 1320.many EQUD 0 1330.dir EQUD 1 1340.stats EQUD 0 1350.man EQUD 3 1360.players EQUD 0 1370.rubble EQUD 0 1380.oscore EQUD 1 1390.back_from_main EQUD 0 1400.mainprog STR R14,back_from_main 1410.mainloop MOV R0,#19:SWI "OS_Byte" 1420 LDR temp,detonated:CMP temp,#0:SWINE "OS_Byte" 1430 LDR temp,players:CMP temp,#1:BNE noscore1 1440 LDR temp,score:LDR temp2,oscore:CMP temp,temp2:BLNE redoscore 1450.noscore1 1460 BL scangrid 1470 BL wiperobots 1480 MOV temp,#1:STR temp,man 1490.manloop1 1500 LDR temp,man:CMP temp,#1:ADREQ temp,man1:ADRNE temp,man2 1510 LDMIA temp,{R12,off,x,y,direc,temp3}:ADR temp,dead:STMIA temp,{R12,off,x,y,direc,temp3} 1520 LDR x,manx:LDR y,many:MOV R12,#1:BL plotstat2 1530 CMP R12,#1:BEQ notdead1:LDR temp,dead:CMP temp,#255:BNE notdead1 1531 STR R12,dead 1532 MOV R0,#3:MVN R1,#14:MOV R2,#scream:MOV R3,#0 1533 SWI "Sound_Control" 1534 LDR x,manx:LDR y,many 1540.notdead1 1550 LDR off,offset:LDR direc,dir:CMP off,#0:BNE offsetset 1560 CMP direc,#1:ADDEQ x,x,#4:CMP direc,#0:SUBEQ x,x,#4 1570 CMP direc,#2:ADDEQ y,y,#4:CMP direc,#3:SUBEQ y,y,#4 1580 BL plotstat2 1590 B aftersecondsqr 1600.offsetset CMP direc,#1:ADDEQ x,x,#4:CMP direc,#0:ADDEQ x,x,#4 1610 CMP direc,#2:ADDEQ y,y,#4:CMP direc,#3:ADDEQ y,y,#4 1620 MOV R12,#1:BL plotstat2 1630 CMP R12,#1:BEQ aftersecondsqr:LDR temp,dead:CMP temp,#255:BNE aftersecondsqr 1631 STR R12,dead 1632 MOV R0,#3:MVN R1,#14:MOV R2,#scream:MOV R3,#0 1633 SWI "Sound_Control" 1640.aftersecondsqr 1650 ADR temp,dead:LDMIA temp,{R12,off,x,y,direc,temp3}:LDR temp,man:CMP temp,#1:ADREQ temp,man1:ADRNE temp,man2 1660 STMIA temp,{R12,off,x,y,direc,temp3} 1670 LDR temp,man:ADD temp,temp,#1:STR temp,man:LDR temp3,players:CMP temp,temp3:BLE manloop1 1680 BL redrawrobots 1690 MOV temp,#1:STR temp,man 1700.manloop2 1710 LDR temp,man:CMP temp,#1:ADREQ temp,man1:ADRNE temp,man2 1720 LDMIA temp,{R12,off,x,y,direc,temp3}:ADR temp,dead:STMIA temp,{R12,off,x,y,direc,temp3} 1730 LDR x,manx:LDR y,many 1740 LDR direc,dir:LDR off,offset 1750 LDR scr,screen:MOV temp,#4*320 1760 MLA temp2,temp,gridy,scr 1770 ADD scr,temp2,#39*320 1780 ADD scr,scr,gridx,LSL#2 1790 CMP direc,#2:MOVGE temp2,#640:MOVLT temp2,#2 1800 MLA scr,temp2,off,scr 1810 LDR R12,dead:CMP R12,#255:BGE notdead3 1820 MOV temp,#4<<5:ADD temp,temp,R12,LSR#1 1830 B altogether 1840.notdead3 BEQ noaura:SUB R12,R12,#1:STR R12,dead:MOV temp3,scr:ADR R14,b_f_aura 1850 LDR PC,aurasp 1860.b_f_aura MOV scr,temp3 1870.noaura MOV temp,direc,LSL#5 1880 ADD temp,temp,off,LSL#2 ;find addr of man routine 1890 LDR temp3,man:CMP temp3,#1:ADDNE temp,temp,#4*4*8+7*4 1900.altogether LDR temp2,mangfx 1910 ADR R14,rendez 1920 BIC temp,temp,#%11 1930 STR temp2,checktmp2:STR temp,checktmp 1940 LDR PC,[temp2,temp] 1950.rendez 1960 LDR R12,dead:CMP R12,#255:BGE notdead2 1970 ADD R12,R12,#1:CMP R12,#49:LDREQ PC,back_from_main 1980 STR R12,dead:B endupdate 1990.notdead2 2000 CMP off,#0:BEQ keycheck 2010 CMP direc,#1:BEQ backw 2020 CMP direc,#2:BEQ backw 2030 ADD off,off,#1:CMP off,#8:BLT endupdate 2040 MOV off,#0 2050 CMP direc,#0:LDREQ temp,manx:LDRNE temp,many 2060 ADD temp,temp,#4:STREQ temp,manx:STRNE temp,many 2070 B endupdate 2080.backw SUB off,off,#1 2090.endupdate STR off,offset 2100 ADR temp,dead:LDMIA temp,{R12,off,x,y,direc,temp3}:LDR temp,man:CMP temp,#1:ADREQ temp,man1:ADRNE temp,man2 2110 STMIA temp,{R12,off,x,y,direc,temp3} 2120 LDR temp,man:ADD temp,temp,#1:STR temp,man:LDR temp3,players:CMP temp,temp3:BLE manloop2 2130 LDR temp,rubble:CMP temp,#0:LDREQ PC,back_from_main 2140 B mainloop 2150: 2160.mangfx EQUD (manrtns) 2170.findtoken ADD temp,temp,spnum:LDRB spnum,[temp,#1] 2180 CMP spnum,#48:BLT tokened 2190 LDR R7,score:ADD R7,R7,#50:STR R7,score 2200 BGT morefire:MOV table,#3:STRB table,[temp,#1] 2210 STRB table,[temp] 2220 ADR temp,stats:LDRB spnum,[temp] 2230 ADD spnum,spnum,#1:STRB spnum,[temp] 2240 MOV temp,x:MOV temp2,y:MOV R0,#2:MVN R1,#14:MOV R2,#ping 2250 SWI "Sound_Control":MOV x,temp:MOV y,temp2 2260 LDR temp,rubble:SUB temp,temp,#1:STR temp,rubble 2270 B tokened 2280.morefire CMP spnum,#49:BGT unknown:MOV table,#3:STRB table,[temp,#1] 2290 STRB table,[temp] 2300 ADR temp,stats:LDRB spnum,[temp,#2] 2310 ADD spnum,spnum,#1:STRB spnum,[temp,#2] 2320 MOV temp,x:MOV temp2,y:MOV R0,#2:MVN R1,#14:MOV R2,#ping 2330 SWI "Sound_Control":MOV x,temp:MOV y,temp2 2340 LDR temp,rubble:SUB temp,temp,#1:STR temp,rubble 2350 B tokened 2360.unknown CMP spnum,#50:BNE tokened:MOV table,#3:STRB table,[temp,#1] 2370 LDR R7,score:ADD R7,R7,#25:STR R7,score 2380 STRB table,[temp] 2390 MOV temp,x:MOV temp2,y:MOV R0,#2:MVN R1,#14:MOV R2,#ping 2400 SWI "Sound_Control":MOV x,temp:MOV y,temp2 2410 LDR temp,rubble:SUB temp,temp,#1:STR temp,rubble 2420 ADR R14,tokened:LDR PC,execunknown 2430: 2440.score EQUD 0 2450.aurasp EQUD 0 2460.execunknown EQUD (mystery) 2470.checktmp EQUD 0 2480.checktmp2 EQUD 0 2490.plotstat2 ADR temp,safe2 2500 STMIA temp,{x,y,off,direc,R5,R9-R11,R14} 2510 LDR scr,screen 2520 MOV temp,#19 2530 MLA spnum,y,temp,x 2540 LDR temp,grid 2550 LDRB table,[temp,spnum] 2560 LDR R11,man:LDR R10,players:CMP R11,R10:BLE findtoken 2570.tokened CMP table,#4:BLT notexpl 2580 CMP table,#32:MOVLT R12,#0 2590.notexpl 2600 MOV table,table,LSL#8 2610 LDR spnum,sprites 2620 ADD table,table,spnum 2630 MOV temp,#4*320 2640 MLA temp2,temp,y,scr 2650 ADD scr,temp2,#39*320 2660 ADD scr,scr,gridx,LSL#2 2670]: FOR l=1 TO 8:[OPT pass 2680 LDMIA (table)!,{R1-R3,R5-R7,R9,R10} 2690 STMIA (scr),{R1-R3,R5} 2700 ADD scr,scr,#320 2710 STMIA (scr),{R6,R7,R9,R10} 2720 ADD scr,scr,#320 2730]: NEXT l:[OPT pass 2740 ADR temp,safe2 2750 LDMIA temp,{x,y,off,direc,R5,R9-R11,R14} 2760 MOV PC,R14 2770.safe2 FNreserve(4*10) 2780: 2790.keycheck 2800 ; OSBYTE WITH R0=121 AND R1=KEY NUM EOR &80 AS ON PRINT142/3 ANDB.UNTILGOTO 2820 LDR off,offset 2830 LDR R11,man 2840 LDR x,manx:LDR y,many:MOV temp,#19 2850 MLA spnum,y,temp,x 2860 LDR temp,grid 2870 ADD temp,temp,spnum:ADD temp,temp,#1 2880 LDRB temp2,[temp]:CMP temp2,#3:BNE leftmv 2890 LDR R0,manstats:LDRB temp3,[R0,#1]:LDRB R0,[R0]:CMP temp3,R0:BGE leftmv 2900 LDR R0,manstats:LDRB temp3,[R0,#3]:TST temp3,#1:BNE drop 2910 MOV R0,#121 2920 CMP R11,#1:MOVEQ R1,#(83 EOR &80):MOVNE R1,#(58 EOR &80) 2930 SWI "OS_Byte" 2940 CMP R1,#0:BEQ leftmv 2950.drop LDR R0,manstats:LDRB temp3,[R0,#1]:ADD temp3,temp3,#1:STRB temp3,[R0,#1] 2960 MOV temp2,#2:STRB temp2,[temp]:MOV temp2,#47:STRB temp2,[temp,#-1] 2970 MOV temp2,#127:STRB temp2,[temp,#1]:STRB R11,[temp,#2] 2980.leftmv LDR x,manx:CMP x,#0:BEQ rightmv 2990 LDRB temp2,[temp,#-4]:CMP temp2,#3:BLT rightmv 3000 CMP temp2,#51:BGE rightmv 3010 MOV R0,#121 3020 CMP R11,#1:MOVEQ R1,#(97 EOR &80):MOVNE R1,#(107 EOR &80) 3030 SWI "OS_Byte" 3040 CMP R1,#0:BEQ rightmv 3050 LDR x,manx:SUB x,x,#4:STR x,manx 3060 MOV off,#7:STR off,offset 3070 MOV direc,#1:STR direc,dir 3080 B endupdate 3090.rightmv LDR x,manx:CMP x,#18*4:BEQ upmv 3100 LDRB temp2,[temp,#4]:CMP temp2,#3:BLT upmv 3110 CMP temp2,#51:BGE upmv 3120 MOV R0,#121 3130 CMP R11,#1:MOVEQ R1,#(66 EOR &80):MOVNE R1,#(124 EOR &80) 3140 SWI "OS_Byte" 3150 CMP R1,#0:BEQ upmv 3160 MOV off,#1:STR off,offset 3170 MOV direc,#0:STR direc,dir 3180 B endupdate 3190.upmv LDR y,many:CMP y,#0:BEQ downmv 3200 LDRB temp2,[temp,#-(19*4)]:CMP temp2,#3:BLT downmv 3210 CMP temp2,#51:BGE downmv 3220 MOV R0,#121 3230 CMP R11,#1:MOVEQ R1,#(67 EOR &80):MOVNE R1,#(26 EOR &80) 3240 SWI "OS_Byte" 3250 CMP R1,#0:BEQ downmv 3260 LDR y,many:SUB y,y,#4:STR y,many 3270 MOV off,#7:STR off,offset 3280 MOV direc,#2:STR direc,dir 3290 B endupdate 3300.downmv LDR y,many:CMP y,#12*4:BEQ endupdate 3310 LDRB temp2,[temp,#(19*4)]:CMP temp2,#3:BLT endupdate 3320 CMP temp2,#51:BGE endupdate 3330 MOV R0,#121 3340 CMP R11,#1:MOVEQ R1,#(82 EOR &80):MOVNE R1,#(108 EOR &80) 3350 SWI "OS_Byte" 3360 CMP R1,#0:BEQ endupdate 3370 MOV off,#1:STR off,offset 3380 MOV direc,#3:STR direc,dir 3390 B endupdate 3400: 3410.manstats EQUD (stats) 3420.manrtns FNreserve(2*(4*4*8+7*4)) 3430.null MOV PC,R14 3440 FNgridscanning 3450] 3460="" 3470: 3480DEFFNblokeplotters 3490LOCAL X,Y,C,F,man 3500F=OPENIN "<Obey$Dir>.BLOKE" 3510FOR man=0 TO 50 3520MR(man)=P% 3530FOR Y=0 TO 15:FOR X=0 TO 15 3540C=BGET#F:IF C<>&F8 THEN [OPT pass:MOV temp,#C:STRB temp,[scr,#X]:] 3550NEXT:[OPTpass:ADD scr,scr,#320:]:NEXT:[OPTpass:MOV PC,R14:] 3560NEXT 3570CLOSE#F 3580="" 3590: 3600DEFFNgridscanning 3610temp3=9:oldx=10:oldy=11 3620[OPT pass 3630.scangrid STR R14,back_from_scan 3640 MOV gridy,#0 3650.scany MOV gridx,#0 3660.scanx MOV temp,#19:MLA temp2,temp,gridy,gridx 3670 LDR temp,grid:ADD temp,temp,temp2 3680 LDRB spnum,[temp,#1] 3690 CMP spnum,#1:BEQ checkblock 3700 CMP spnum,#2:BEQ checkbomb 3710 CMP spnum,#4:BLT resumescan 3720 CMP spnum,#10:BLE checkexpl 3730.resumescan ADD x,x,#4 3740 CMP x,#19*4:BLT scanx 3750 ADD y,y,#4 3760 CMP gridy,#13*4:BLT scany 3770 LDR PC,back_from_scan 3780.back_from_scan EQUD 0 3790: 3800.checkoff EQUD 0 3810.bman1 EQUD (man1) 3820.bman2 EQUD (man2) 3830.expsiz EQUD 0 3840.checkbomb LDRB temp2,[temp,#2] 3850 SUB temp2,temp2,#1:STRB temp2,[temp,#2] 3860 CMP temp2,#0:BEQ blowbomb 3870 AND spnum,temp2,#%1111:CMP spnum,#0:BNE nobombchnge 3880 MOV spnum,temp2,LSR#4:ADD spnum,spnum,#40-1:STRB spnum,[temp]:BL plotstatic 3890.nobombchnge B resumescan 3900.blowbomb MOV spnum,#20:STRB spnum,[temp,#2]:MOV spnum,#4:STRB spnum,[temp,#1]:MOV spnum,#11:STRB spnum,[temp] 3910 MOV off,temp:BL plotstatic 3920 MOV oldx,gridx:MOV oldy,gridy:LDR temp2,expsiz 3930 LDRB temp2,[temp,#3]:CMP temp2,#1:LDREQ R0,bman1:LDRNE R0,bman2 3940 ADD R0,R0,#5*4:LDRB R1,[R0,#1]:SUB R1,R1,#1:STRB R1,[R0,#1] 3950 LDRB R1,[R0,#2]:STR R1,expsiz 3960 MOV temp,off:MOV R0,#1:MVN R1,#14:MOV R2,#4096:MOV R3,#0:SWI "Sound_Control":MOV off,temp:MOV gridx,oldx:MOV gridy,oldy 3970 SUB temp,off,#19*4 3980 STR off,checkoff 3990 LDR temp2,expsiz 4000.blastU LDRB spnum,[temp,#1] 4010 CMP gridy,#0:BEQ endBlu 4020 MOV temp3,#exdel:CMP spnum,#2:STREQB temp3,[temp,#2] 4030 CMP spnum,#1:MOV temp3,#32:STREQB temp3,[temp,#2] 4040 CMP spnum,#48:BLT notoken1:MOV temp3,#1:STRB temp3,[temp] 4050 STRB temp3,[temp,#1]:MOV temp3,#32:STRB temp3,[temp,#2] 4060.notoken1 4070 CMP spnum,#3:BEQ ok1 4080 CMP spnum,#51:BLT endBlu 4090 CMP spnum,#52:BGE nuclear 4100 CMP spnum,#51:BNE endBlu:MOV spnum,#52:STRB spnum,[temp] 4110 STRB spnum,[temp,#1]:SUB y,y,#4:BL plotstatic 4120 B endBlu 4130.ok1 MOV spnum,#20:STRB spnum,[temp,#2] 4140 CMP temp2,#1:MOVEQ spnum,#9:MOVNE spnum,#6 4150 STRB spnum,[temp,#1]:ADD spnum,spnum,#7:STRB spnum,[temp] 4160 SUB gridy,gridy,#4:BL plotstatic 4170 SUB temp2,temp2,#1:SUB temp,temp,#19*4 4180 CMP temp2,#0:BGT blastU 4190.endBlu MOV gridy,oldy:LDR temp2,expsiz 4200 ADD temp,off,#19*4 4210.blastD LDRB spnum,[temp,#1] 4220 CMP gridy,#12*4:BEQ endBld 4230 MOV temp3,#exdel+1:CMP spnum,#2:STREQB temp3,[temp,#2] 4240 CMP spnum,#1:MOV temp3,#32:STREQB temp3,[temp,#2] 4250 CMP spnum,#48:BLT notoken2:MOV temp3,#1:STRB temp3,[temp] 4260 STRB temp3,[temp,#1]:MOV temp3,#32:STRB temp3,[temp,#2] 4270.notoken2 4280 CMP spnum,#3:BEQ ok2 4290 CMP spnum,#51:BLT endBld 4300 CMP spnum,#52:BGE nuclear 4310 CMP spnum,#51:BNE endBld:MOV spnum,#52:STRB spnum,[temp] 4320 STRB spnum,[temp,#1]:ADD y,y,#4:BL plotstatic 4330 B endBld 4340.ok2 4350 MOV spnum,#20:STRB spnum,[temp,#2] 4360 CMP temp2,#1:MOVEQ spnum,#10:MOVNE spnum,#6 4370 STRB spnum,[temp,#1]:ADD spnum,spnum,#7:STRB spnum,[temp] 4380 ADD gridy,gridy,#4:BL plotstatic 4390 SUB temp2,temp2,#1:ADD temp,temp,#19*4 4400 CMP temp2,#0:BGT blastD 4410.endBld MOV gridy,oldy:LDR temp2,expsiz 4420 ADD temp,off,#4 4430.blastR LDRB spnum,[temp,#1] 4440 CMP gridx,#18*4:BEQ endBlr 4450 MOV temp3,#exdel+1:CMP spnum,#2:STREQB temp3,[temp,#2] 4460 CMP spnum,#1:MOV temp3,#32:STREQB temp3,[temp,#2] 4470 CMP spnum,#48:BLT notoken3:MOV temp3,#1:STRB temp3,[temp] 4480 STRB temp3,[temp,#1]:MOV temp3,#32:STRB temp3,[temp,#2] 4490.notoken3 4500 CMP spnum,#3:BEQ ok3 4510 CMP spnum,#51:BLT endBlr 4520 CMP spnum,#52:BGE nuclear 4530 CMP spnum,#51:BNE endBlr:MOV spnum,#52:STRB spnum,[temp] 4540 STRB spnum,[temp,#1]:ADD x,x,#4:BL plotstatic 4550 B endBlr 4560.ok3 4570 MOV spnum,#20:STRB spnum,[temp,#2] 4580 CMP temp2,#1:MOVEQ spnum,#8:MOVNE spnum,#5 4590 STRB spnum,[temp,#1]:ADD spnum,spnum,#7:STRB spnum,[temp] 4600 ADD gridx,gridx,#4:BL plotstatic 4610 SUB temp2,temp2,#1:ADD temp,temp,#4 4620 CMP temp2,#0:BGT blastR 4630.endBlr MOV gridx,oldx:LDR temp2,expsiz 4640 SUB temp,off,#4 4650.blastL LDRB spnum,[temp,#1] 4660 CMP gridx,#0:BEQ endBll 4670 MOV temp3,#exdel:CMP spnum,#2:STREQB temp3,[temp,#2] 4680 CMP spnum,#1:MOV temp3,#32:STREQB temp3,[temp,#2] 4690 CMP spnum,#48:BLT notoken4:MOV temp3,#1:STRB temp3,[temp] 4700 STRB temp3,[temp,#1]:MOV temp3,#32:STRB temp3,[temp,#2] 4710.notoken4 4720 CMP spnum,#3:BEQ ok4 4730 CMP spnum,#51:BLT endBll 4740 CMP spnum,#52:BGE nuclear 4750 CMP spnum,#51:BNE endBll:MOV spnum,#52:STRB spnum,[temp] 4760 STRB spnum,[temp,#1]:SUB x,x,#4:BL plotstatic 4770 B endBll 4780.ok4 4790 MOV spnum,#20:STRB spnum,[temp,#2] 4800 CMP temp2,#1:MOVEQ spnum,#7:MOVNE spnum,#5 4810 STRB spnum,[temp,#1]:ADD spnum,spnum,#7:STRB spnum,[temp] 4820 SUB gridx,gridx,#4:BL plotstatic 4830 SUB temp2,temp2,#1:SUB temp,temp,#4 4840 CMP temp2,#0:BGT blastL 4850.endBll MOV x,oldx:MOV y,oldy:B resumescan 4860: 4870.detonated EQUD 0 4880.safen FNreserve(3*4) 4890.nuclear ADR temp2,safen:STMIA temp2,{x,y,temp} 4900 MOV R0,#1:MVN R1,#14:MOV R2,#256:MOV R3,#0:SWI "Sound_Control" 4910 MOV temp,#1:STR temp,detonated 4912 LDR temp,man1:CMP temp,#255:MOV temp,#255:STRGT temp,man1 4914 LDR temp,man2:CMP temp,#255:MOV temp,#255:STRGT temp,man2 4920 MOV y,#0:LDR temp,rgrid 4930.nuclylp MOV x,#0 4940.nuclxlp LDRB spnum,[temp,#1]:CMP spnum,#0:BEQ nextnucl 4950 CMP spnum,#2:BLT smllexp:CMP spnum,#48:BLT addfire:.smllexp 4960 MOV spnum,#1:STRB spnum,[temp,#1] 4970 STRB spnum,[temp]:MOV spnum,#32:STRB spnum,[temp,#2]:B nextnucl 4980.addfire MOV spnum,#20:STRB spnum,[temp,#2]:MOV spnum,#4 4990 TST x,#1:MOVNE spnum,#5:TST y,#1:MOVNE spnum,#6 5000 STRB spnum,[temp,#1]:ADD spnum,spnum,#7:STRB spnum,[temp] 5010.nextnucl ADD x,x,#1:ADD temp,temp,#4:CMP x,#19:BLT nuclxlp 5020 ADD y,y,#1:CMP y,#13:BLT nuclylp 5030 LDMIA temp2,{x,y,temp} 5040 B endBll 5050: 5060.checkexpl LDRB temp2,[temp,#2]:CMP temp2,#17:BNE nextex1 5070 ADD spnum,spnum,#21:STRB spnum,[temp]:BL plotstatic:B endexp 5080.nextex1 CMP temp2,#14:BNE nextex2 5090 STRB spnum,[temp]:BL plotstatic:B endexp 5100.nextex2 CMP temp2,#10:BNE nextex3 5110 ADD spnum,spnum,#21:STRB spnum,[temp]:BL plotstatic:B endexp 5120.nextex3 CMP temp2,#7:BNE nextex4 5130 ADD spnum,spnum,#7:STRB spnum,[temp]:BL plotstatic:B endexp 5140.nextex4 CMP temp2,#3:BNE nextex5 5150 ADD spnum,spnum,#14:STRB spnum,[temp]:BL plotstatic:B endexp 5160.nextex5 CMP temp2,#0:BNE endexp 5170 MOV spnum,#3:STRB spnum,[temp]:STRB spnum,[temp,#1] 5180 BL plotstatic:B resumescan 5190.endexp SUB temp2,temp2,#1:STRB temp2,[temp,#2] 5200 B resumescan 5210: 5220.checkblock LDRB temp2,[temp,#2]:CMP temp2,#0:BEQ resumescan 5230 LDRB temp2,[temp,#3]:CMP temp2,#0:BEQ nextsprte 5240 SUB temp2,temp2,#1:STRB temp2,[temp,#3]:B resumescan 5250.nextsprte LDRB spnum,[temp,#2]:STRB spnum,[temp]:MOV temp2,spnum 5260 CMP spnum,#3:STREQB spnum,[temp,#1]:ADD temp2,temp2,#1 5270 CMP temp2,#40:BEQ randtoken 5280.randed STRB temp2,[temp,#2] 5290 MOV temp2,#2:STRB temp2,[temp,#3]:BL plotstatic 5300 B resumescan 5310: 5320.randtoken LDR temp3,detonated:CMP temp3,#0:MOVNE temp2,#3:BNE nochoice 5330 LDR temp3,score:ADD temp3,temp3,#10:STR temp3,score 5340 LDR temp3,blockseed:ADD temp3,temp3,temp3,LSR#1:STR temp3,blockseed 5350 AND temp3,temp3,#255:MOV temp2,#48:CMP temp3,#25 5360 MOVGT temp2,#49:CMP temp3,#50 5370 MOVGT temp2,#50:CMP temp3,#60 5380 MOVGT temp2,#3 5390.nochoice STRB temp2,[temp]:STRB temp2,[temp,#1] 5400 MOV spnum,temp2 5410 CMP spnum,#3:BNE randed 5420 LDR temp2,rubble:SUB temp2,temp2,#1:STR temp2,rubble 5430 B randed 5440: 5450.blockseed EQUS ("USER") 5460 FNrobotix 5470] 5480="" 5490: 5500DEFPROCtest 5510CLS 5520PROCgame:CLS 5530CALLinit_screen 5540*FX15,1 5550CALLmainprog 5560*FX15,1 5650ENDPROC 5660: 5670DEFPROCfindinkeys 5680REPEAT 5690REPEATUNTILGET=32 5700T=TIME:REPEATUNTILTIME>T+100:VDU7:FORI=-1TO-255STEP-1:IF INKEY(I) THEN PRINTI:I=-256 5710NEXT 5720UNTIL0 5730ENDPROC 5740: 5750DEFPROCgame 5760rubbles=0 5770I=griddata:FOR Y=0 TO 12:FOR X=0 TO 18 5780IF (X+Y)>1 AND (X+Y)<29 AND RND(15)<10 THEN !I=&00000101:rubbles+=1:ELSE !I=&00000303 5790I+=4 5800NEXT:NEXT 5810FOR Y=1 TO 11 STEP 2:FOR X=1 TO 17 STEP 2 5820V=griddata+X*4+(Y*19*4):IF !V=&101 THEN rubbles-=1 5830!V=0 5840NEXT X:NEXT Y 5850RESTORE 6060 5860M=man1:FORI=1TO12:READ D:!M=D:M+=4:NEXT 5865RESTORE (6070+10*LEV) 5870REPEAT:READ R,X,Y:IF X<>-1 THEN 5880L=griddata+X*4+Y*4*19:IF !L=&101 rubbles-=1 5890IF R=1 !L=&3333 ELSE !L=&3535 5900ENDIF 5910UNTIL X=-1 5920placed=0 5930REPEAT:X=RND(19)-1:Y=RND(13)-1 5940IF (X+Y)>5 AND (X+Y)<23 AND X>0 THEN 5950I=griddata+X*4+19*4*Y:rd=robodata+5*4*placed 5960IF !I=&101 THEN rubbles-=1 5970IF !I=&101 OR !I=&303 THEN !I=&00000303:!rd=X*4:rd!4=Y*4:rd!8=0:rd!12=0:rd!16=255:placed+=1 5980ENDIF 5990UNTILplaced=robos(LEV) 5995!maxbots=robos(LEV) 6000IF !players=1 THEN !rubble=rubbles ELSE !rubble=-1 6010!rhalt=0 6020!detonated=0 6030!man=3 6050ENDPROC 6060DATA 512,0,18*4,12*4,0,&20001,512,0,0,0,1,&20001 6070DATA 0,-1,0 6080DATA 0,-1,0 6090DATA 0,-1,0 6100DATA 1,9,6, 0,-1,0 6110DATA 2,9,6, 0,-1,0 6120DATA 1,6,6, 1,12,6, 0,-1,0 6130DATA 1,0,6, 1,18,6, 2,9,6, 0,-1,0 6140DATA 1,4,6, 1,14,6, 2,9,8, 2,9,4, 0,-1,0 6150DATA 1,2,2, 1,16,2, 1,2,10, 1,16,10, 2,0,6, 2,18,6, 0,-1,0 6160DATA 1,2,2, 1,4,6, 1,2,10, 1,16,2, 1,16,10, 1,14,6, 2,9,8, 2,9,4, 0,-1,0 6165DATA 1,2,4,2,4,4,5,6,8,10 6170: 6180DEFFNrobotix 6190[OPT pass 6200.robodata FNreserve(numbots*5*4) 6210.rx EQUD 0 6220.ry EQUD 0 6230.roff EQUD 0 6240.rdir EQUD 0 6250.rdead EQUD 0 6260.robonum EQUD 0 6270.wiperobots STR R14,back_from_rtn:MOV R0,#0:STR R0,robonum 6280.roboloop1 LDR R0,robonum:MOV temp,#5*4:MUL temp2,R0,temp 6290 ADR temp,robodata:ADD temp,temp,temp2:LDMIA temp,{x,y,off,direc,R12} 6300 ADR temp,rx:STMIA temp,{x,y,off,direc,R12} 6310 LDR x,rx:LDR y,ry:MOV R12,#1:BL plotstat2 6320 CMP R12,#1:BEQ rnotded1:LDR temp,rdead:CMP temp,#255:BNE rnotded1 6321 STR R12,rdead 6322 MOV R0,#4:MVN R1,#14:MOV R2,#7168:MOV R3,#0 6323 SWI "Sound_Control" 6324 LDR x,rx:LDR y,ry 6330 LDR temp,score:ADDEQ temp,temp,#150:STR temp,score 6340.rnotded1 LDR off,roff:LDR direc,rdir:CMP off,#0:BNE roffsetset 6350 CMP direc,#1:ADDEQ x,x,#4:CMP direc,#0:SUBEQ x,x,#4 6360 CMP direc,#2:ADDEQ y,y,#4:CMP direc,#3:SUBEQ y,y,#4 6370 BL plotstat2 6380 B raftersecondsqr 6390.roffsetset CMP direc,#1:ADDEQ x,x,#4:CMP direc,#0:ADDEQ x,x,#4 6400 CMP direc,#2:ADDEQ y,y,#4:CMP direc,#3:ADDEQ y,y,#4 6410 MOV R12,#1:BL plotstat2 6420 CMP R12,#1:BEQ raftersecondsqr:LDR temp,rdead:CMP temp,#255:BNE raftersecondsqr 6421 STR R12,rdead 6422 MOV R0,#4:MVN R1,#14:MOV R2,#7168:MOV R3,#0 6423 SWI "Sound_Control" 6430 LDR temp,score:ADD temp,temp,#150:STR temp,score 6440.raftersecondsqr 6450 LDR R12,rdead:CMP R12,#255:BNE nxtman2 6460 LDR x,rx:LDR y,ry:LDR off,roff:LDR direc,rdir 6470 MOV x,x,LSL#2:MOV y,y,LSL#2 6480 CMP direc,#0:ADDEQ x,x,off 6490 CMP direc,#1:ADDEQ x,x,off 6500 CMP direc,#2:ADDEQ y,y,off 6510 CMP direc,#3:ADDEQ y,y,off 6520 MOV oldx,x:MOV oldy,y 6530 LDR temp2,bloke1:LDR x,[temp2,#8]:LDR y,[temp2,#12]:LDR off,[temp2,#4]:LDR direc,[temp2,#16] 6540 MOV x,x,LSL#2:MOV y,y,LSL#2 6550 CMP direc,#0:ADDEQ x,x,off,LSL#1 6560 CMP direc,#1:ADDEQ x,x,off,LSL#1 6570 CMP direc,#2:ADDEQ y,y,off,LSL#1 6580 CMP direc,#3:ADDEQ y,y,off,LSL#1 6590 CMP x,oldx:SUBGT temp,x,oldx:SUBLE temp,oldx,x:CMP temp,#16:BGE nxtman 6600 CMP y,oldy:SUBGT temp,y,oldy:SUBLE temp,oldy,y:CMP temp,#16:BGE nxtman 6610 LDR temp,[temp2]:CMP temp,#255:MOV R12,#0:BNE nxtman 6611 STR R12,[temp2] 6612 MOV R0,#3:MVN R1,#14:MOV R2,#scream:MOV R3,#0 6613 SWI "Sound_Control" 6620.nxtman LDR temp2,bloke2:LDR x,[temp2,#8]:LDR y,[temp2,#12]:LDR off,[temp2,#4]:LDR direc,[temp2,#16] 6630 MOV x,x,LSL#2:MOV y,y,LSL#2 6640 CMP direc,#0:ADDEQ x,x,off,LSL#1 6650 CMP direc,#1:ADDEQ x,x,off,LSL#1 6660 CMP direc,#2:ADDEQ y,y,off,LSL#1 6670 CMP direc,#3:ADDEQ y,y,off,LSL#1 6680 CMP x,oldx:SUBGT temp,x,oldx:SUBLE temp,oldx,x:CMP temp,#16:BGE nxtman2 6690 CMP y,oldy:SUBGT temp,y,oldy:SUBLE temp,oldy,y:CMP temp,#16:BGE nxtman2 6700 LDR temp,[temp2]:CMP temp,#255:MOV R12,#0:BNE nxtman2 6701 STR R12,[temp2] 6702 MOV R0,#3:MVN R1,#14:MOV R2,#scream:MOV R3,#0 6703 SWI "Sound_Control" 6710.nxtman2 ADR temp,rx:LDMIA temp,{x,y,off,direc,R12} 6720 LDR R0,robonum:MOV temp,#5*4:MUL temp2,R0,temp 6730 ADR temp,robodata:ADD temp,temp,temp2:STMIA temp,{x,y,off,direc,R12} 6740 ADD R0,R0,#1:STR R0,robonum:LDR temp,maxbots:CMP R0,temp:BLT roboloop1 6750 LDR PC,back_from_rtn 6760.back_from_rtn EQUD 0 6770.maxbots EQUD numbots 6780.death EQUD 0 6790.rhalt EQUD 0 6800: 6810.redrawrobots STR R14,back_from_rtn 6820 MOV R0,#0:STR R0,robonum 6830.roboloop2 LDR R0,robonum:MOV temp,#5*4:MUL temp2,R0,temp 6840 ADR temp,robodata:ADD temp,temp,temp2:LDMIA temp,{x,y,off,direc,R12} 6850 ADR temp,rx:STMIA temp,{x,y,off,direc,R12} 6860 LDR x,rx:LDR y,ry:LDR direc,rdir:LDR off,roff 6870 LDR scr,screen2:MOV temp,#4*320 6880 MLA temp2,temp,gridy,scr 6890 ADD scr,temp2,#39*320 6900 ADD scr,scr,gridx,LSL#2 6910 CMP direc,#2:MOVGE temp2,#320:MOVLT temp2,#1 6920 MLA scr,temp2,off,scr 6930 LDR R12,rdead:CMP R12,#255:BEQ rnotded3 6940 LDR temp,death:ADD temp,temp,R12,LSR#1 6950 BIC temp,temp,#%11:CMP R12,#55:ADDLT R12,R12,#1:STR R12,rdead 6960 B overlive 6970.rnotded3 ADR temp,robotrtns:ADD temp,temp,direc,LSL#2 6980.overlive ADR R14,roborendez:LDR PC,[temp] 6990.roborendez 7000 LDR R12,rdead:CMP R12,#255:BNE rendupdate 7010 LDR R12,rhalt:CMP R12,#0:BNE rendupdate 7020 CMP off,#0:BEQ robomove 7030 CMP direc,#1:BEQ rbackw 7040 CMP direc,#2:BEQ rbackw 7050 ADD off,off,#1:CMP off,#16:BLT rendupdate 7060 MOV off,#0 7070 CMP direc,#0:LDREQ temp,rx:LDRNE temp,ry 7080 ADD temp,temp,#4:STREQ temp,rx:STRNE temp,ry 7090 B rendupdate 7100.rbackw SUB off,off,#1 7110.rendupdate STR off,roff 7120 ADR temp,rx:LDMIA temp,{x,y,off,direc,R12} 7130 LDR R0,robonum:MOV temp,#5*4:MUL temp2,R0,temp 7140 LDR temp,rodata:ADD temp,temp,temp2:STMIA temp,{x,y,off,direc,R12} 7150 ADD R0,R0,#1:STR R0,robonum:LDR temp,maxbots:CMP R0,temp:BLT roboloop2 7160 LDR PC,back_from_rtn 7170.bloke1 EQUD(man1) 7180.bloke2 EQUD(man2) 7190.rodata EQUD (robodata) 7200: 7210.screen2 EQUD(scr_start) 7220.seed EQUS "PAUL" 7230.tempcheck EQUD 0 7240.pridir EQUD &01030200:EQUD &00030201:EQUD &03000102:EQUD &02000103 7250.robomove LDR off,roff 7260 LDR x,rx:LDR y,ry:MOV temp,#19 7270 MLA spnum,y,temp,x:LDR temp,rgrid 7280 ADD temp,temp,spnum:ADD temp,temp,#1 7290 LDR direc,rdir 7300 ADR temp2,pridir:ADD temp2,temp2,direc,LSL#2 7310 LDR R0,seed:ADD R0,R0,R0,LSR#1:STR R0,seed:AND R0,R0,#255 7320 CMP R0,#128:LDRLEB R0,[temp2]:BLE rleft 7330 CMP R0,#176:LDRLEB R0,[temp2,#1]:BLE rleft 7340 CMP R0,#224:LDRLEB R0,[temp2,#2]:BLE rleft 7350 LDRB R0,[temp2,#3] 7360.rleft LDR x,rx:CMP x,#0:BEQ rright 7370 LDRB temp2,[temp,#-4]:CMP temp2,#3:BNE rright 7380 CMP R0,#1:BNE rright 7390 LDR x,rx:SUB x,x,#4:STR x,rx 7400 MOV off,#15:STR off,roff 7410 STR R0,rdir:B rendupdate 7420.rright CMP R0,#0:BNE rup 7430 LDR x,rx:CMP x,#18*4:BEQ rup 7440 LDRB temp2,[temp,#4]:CMP temp2,#3:BNE rup 7450 MOV off,#1:STR off,roff 7460 STR R0,rdir:B rendupdate 7470.rup CMP R0,#2:BNE rdown 7480 LDR y,ry:CMP y,#0:BEQ rdown 7490 LDRB temp2,[temp,#-19*4]:CMP temp2,#3:BNE rdown 7500 LDR y,ry:SUB y,y,#4:STR y,ry 7510 MOV off,#15:STR off,roff 7520 STR R0,rdir:B rendupdate 7530.rdown CMP R0,#3:BNE rendupdate 7540 LDR y,ry:CMP y,#12*4:BEQ rendupdate 7550 LDRB temp2,[temp,#19*4]:CMP temp2,#3:BNE rendupdate 7560 MOV off,#1:STR off,roff 7570 STR R0,rdir:B rendupdate 7580.rgrid EQUD(griddata) 7590.robotrtns FNreserve(4*4) 7600 FNmystery_tokens 7610] 7620="" 7630: 7640DEFPROCloopgame 7660OFF 7671COLOUR8 7675maxlevel=0 7680REPEAT options=TRUE 7690PROCbox(1,5,23,20) 7695REPEAT:CLS 7696IF options THEN 7700PRINT:PROCpr(" 1. 1 Player game") 7710PRINT:PROCpr(" 2. 2 Player game") 7720PRINT:PROCpr(" 3. Instructions") 7730PRINT:PROCpr(" 4. Finish") 7740PRINT':PROCpr(" Please select") 7742ELSE 7744PROCshowhi 7745ENDIF 7746options=NOT options 7750CH=INKEY(1500):UNTIL CH>=ASC("1") AND CH<=ASC("4") 7752CASE CH OF 7754WHEN ASC("1"): PROCplayone 7756WHEN ASC("2"): PROCplaytwo 7758WHEN ASC("3"): PROCinstruc 7760WHEN ASC("4"): PROCfin 7762ENDCASE 7790UNTIL0 7800ENDPROC 7810: 7820DEFFNmystery_tokens 7830[OPT pass 7840.safem FNreserve(12*4) 7850.mseed EQUS ("TCEL") 7860.mystery ADR temp,safem:STMIA temp,{R0-R5,R7-R12} 7870 LDR temp,mseed:ADD temp,temp,temp,LSR#1:STR temp,mseed 7880 AND temp,temp,#255:CMP temp,#73:BGE toktype2 7890 LDR table,rgrid:MOV temp2,#13*19 7900.ecmloop LDRB temp3,[table,#1]:CMP temp3,#2:BNE notabomb 7910 MOV temp3,#1:STRB temp3,[table,#2] 7920.notabomb ADD table,table,#4:SUBS temp2,temp2,#1:BNE ecmloop 7930 ADR temp,safem:LDMIA temp,{R0-R5,R7-R12} 7940 MOV PC,R14 7950.toktype2 CMP temp,#146:BGE toktype3 7960 LDR temp,rhalt:EOR temp,temp,#1:STR temp,rhalt 7970 MOV PC,R14 7980.toktype3 CMP temp,#182:BGE toktype4 7990 LDR temp,manstats:LDRB temp2,[temp,#3]:EOR temp2,temp2,#1 8000 STRB temp2,[temp,#3]:MOV PC,R14 8001.toktype4 LDR temp,mandead:MOV temp2,#512:STR temp2,[temp]:MOV PC,R14 8002: 8003.mandead EQUD (dead) 8010] 8020="" 8030: 8040DEFFNscoredraw 8050LOCAL temp 8060number=0:dig=1:pwr=2:pwrlst=3:spaddr=4:scr=8:temp=5 8070[OPT pass 8080.powers10 EQUD 10000:EQUD 1000:EQUD 100:EQUD 10:EQUD 1 8090.digits FNreserve(10*4*8) 8100.redoscore ADR pwrlst,powers10:ADR spaddr,digits 8110 LDR number,score:LDR R7,screen:SUB R7,R7,#4 8120.powrloop LDR pwr,[pwrlst]:ADD pwrlst,pwrlst,#4 8130 CMP pwr,#1:MOVEQ dig,number:BEQ outdig 8140 MOV dig,#0 8150.digloop CMP number,pwr:BLT outdig 8160 SUB number,number,pwr 8170 ADD dig,dig,#1:B digloop 8180.outdig MOV temp,dig,LSL #5:MOV dig,#0 8190 MOV scr,R7:ADD scr,scr,#320*4:ADD R7,R7,#4 8200.digoutp LDR R6,[spaddr,temp]:STR R6,[scr] 8210 ADD scr,scr,#320:ADD temp,temp,#4:ADD dig,dig,#1 8220 CMP dig,#8:BLT digoutp 8230 CMP pwr,#1:BNE powrloop 8240 LDR number,score:STR number,oscore:MOV PC,R14 8250] 8260="" 8270: 8280DEFPROCbox(X1,Y1,X2,Y2) 8290VDU 28,X1,Y2,X2,Y1 8300CLS 8310FOR C=0 TO 3 8320GCOL C*4 8330RECTANGLE X1*32+C*4,(31-Y2)*32+C*4,(1+X2-X1)*32-C*8,(1+Y2-Y1)*32-C*8 8340NEXT 8350VDU 28,X1+1,Y2-1,X2-1,Y1+1 8360ENDPROC 8370: 8380DEFPROCplayone 8390CLS 8395!players=1:!score=0:!oscore=1 8400IF maxlevel<>0 THEN 8410PRINT'':PROCpr("Start level ? 0-"+STR$(maxlevel)+" :") 8420REPEAT:LEV=GET-ASC("0"):UNTIL LEV>=0 AND LEV<=maxlevel 8430CLS 8440ELSE 8445LEV=0:VDU7 8446ENDIF 8447startlev=LEV 8450PRINT:PROCcentre("Level "+STR$(LEV),22) 8455PRINT':PROCcentre("Get Ready...",22) 8460A$=INKEY$(175) 8470newlev=TRUE:life=1:REPEAT 8480IF newlev THEN PROCtest:newlev=FALSE:ELSE !man1=512:man1?23=0:CALLinit_screen:CALLmainprog 8485*FX15,1 8490IF !detonated<>0 THEN 8500PROCbox(10,10,30,15):PROCcentre("Reactor explosion!",18):PROCcentre("Mission aborted",18) 8510A$=INKEY$(175):life=4 8520ELSE 8530IF !dead>=255 THEN 8540PROCbox(11,10,28,15):PRINT:PROCpr(" Level complete") 8550IF LEV<9 THEN PROCpr(" Next : level "+STR$(LEV+1)) 8555A$=INKEY$(175) 8560LEV+=1:IF LEV<10 AND LEV>maxlevel THEN maxlevel=LEV 8565newlev=TRUE 8570ELSE 8580IF life<3 THEN PROCbox(14,10,25,15):PRINT:PROCpr("Life "+STR$(life+1)):PROCpr("Get Ready"):A$=INKEY$(175) 8585life+=1 8590ENDIF 8600ENDIF 8610UNTIL life>3 OR LEV=10 8620IF LEV=10 THEN PROCsucceed ELSE PROCfail 8625IF !score>hisc(0) THEN PROCaddscore(!score) 8630ENDPROC 8640: 8650DEFPROCcentre(M$,W) 8660PRINTTAB((W-LEN(M$)) DIV 2);:PROCpr(M$) 8670ENDPROC 8680: 8690DEFPROCfail 8700PROCbox(6,8,34,19) 8710RESTORE 8750 8720REPEAT:READ M$:PROCpr(M$):UNTIL M$="" 8730A$=INKEY$(750) 8740CALLinit_screen:ENDPROC 8750DATA You're dead.," " 8760DATA You couldn't even manage 8770DATA with 3 lives. I'm giving 8780DATA the contract to somebody 8785DATA else... 8790DATA " "," Lunar base 4 Controller" 8800DATA "" 8810: 8820DEFPROCshowhi 8825LOCAL I 8830CLS 8835PROCpr("Moonquake high scores") 8836PRINT 8840FOR I=9 TO 0 STEP -1 8850PRINT hisc(I);TAB(7);:PROCpr(hname$(I)) 8860NEXT 8870ENDPROC 8880: 8890DEFPROCaddscore(S) 8900CALLinit_screen 8910PROCbox(9,10,31,26) 8920I=1:found=FALSE:REPEAT 8930IF hisc(I)>S THEN hisc(I-1)=S:hname$(I-1)="":found=TRUE ELSE hisc(I-1)=hisc(I):hname$(I-1)=hname$(I) 8940I+=1 8945IF hisc(I-1)>S VDU7:found=TRUE 8946IF I=10 AND NOT found THEN hisc(9)=S:hname$(9)="":I=11:found=TRUE 8950UNTIL found 8960IY=13-I:N$="" 8965PROCshowhi:PRINT 8966PROCpr("Enter name....") 8967COLOUR63:PRINTTAB(7,IY);CHR$135;:COLOUR 8 8970REPEAT:A=GET 8980IF (A=8 OR A=127) AND LEN(N$)>0 THEN 8981N$=LEFT$(N$,LEN(N$)-1) 8982ELSE 8990IF A<>8 AND A<>127 AND A<>13 AND LEN(N$)<13 THEN N$=N$+CHR$A 8995ENDIF 9000PRINTTAB(7,IY);N$;:COLOUR 63:PRINT;CHR$135;:COLOUR8 9005IF A=8 OR A=127 THEN PRINT;" ":ELSE PRINT 9010UNTIL A=13 9020hname$(I-2)=N$ 9030PROCshowhi 9040A$=INKEY$(500) 9050CALLinit_screen 9060ENDPROC 9070: 9080DEFPROCplaytwo 9090!players=2:!score=0:!oscore=1 9100CLS:PRINT'':PROCpr("Start level ? 0-9") 9110REPEAT:LEV=GET-ASC("0"):UNTIL LEV>=0 AND LEV<=9 9120PRINT''':PROCcentre("Get Ready",22) 9130A$=INKEY$(175) 9135red=3:green=3 9140FIN=FALSE:newlev=TRUE:REPEAT 9150IF newlev THEN PROCtest:newlev=FALSE:ELSE CALLinit_screen:CALLmainprog 9160*FX15,1 9170IF !detonated<>0 THEN 9180PROCbox(10,10,30,15):PROCcentre("Reactor explosion!",18):PROCcentre("Mission aborted",18) 9190A$=INKEY$(175):FIN=TRUE 9200ELSE 9210IF !man1<255 AND !man2<255 THEN 9220PROCbox(10,10,30,15):PROCcentre("Both dead!",18):PROCcentre("Mission aborted",18) 9230A$=INKEY$(175):FIN=TRUE 9240ELSE 9250PROCbox(10,10,30,15) 9251IF !man1<255 THEN 9252D$="Green":green-=1 9253!man1=512:man1?23=0 9254ELSE 9255D$="Red":red-=1:!man2=512:man2?23=0 9256ENDIF 9257IF green=0 OR red=0 THEN 9258PRINT:PROCcentre(D$+" loses",18) 9259FIN=TRUE 9260ELSE 9261PROCcentre("Red : "+STR$(red),18):PROCcentre("Green : "+STR$(green),18) 9262ENDIF 9263PROCwait(150) 9280ENDIF 9290ENDIF 9300UNTIL FIN 9310CALLinit_screen 9320ENDPROC 9330: 9340DEFPROCwait(delay) 9350T=TIME 9360REPEATUNTILTIME>T+delay 9370ENDPROC 9380: 9390DEFPROCpr(M$) 9400LOCAL I 9404COLOUR 63 9405PRINTCHR$135;:WAIT 9410FOR I=1 TO LEN(M$) 9415COLOUR 8 9420PRINTCHR$127;MID$(M$,I,1);:COLOUR63:PRINT;CHR$135; 9430IF MID$(M$,I,1)<>" " THEN SOUND2,-4,15000,0 9440WAIT 9450NEXT 9454COLOUR8 9455PRINTCHR$127;CHR$32 9456SOUND2,0,0,0 9457IF LEN(M$)=21 THEN PRINTTAB(0,VPOS-1); 9460ENDPROC 9470: 9480DEFPROCinstruc 9490CLS 9500PROCpr("Accessing records...") 9510PROCwait(100):CLS 9520PROCpr("DATE : 08/05/2007"):PROCwait(50) 9530PROCpr("Work begins on five") 9540PROCpr("structures on the") 9550PROCpr("lunar surface. Each") 9560PROCpr("will have its own") 9570PROCpr("function and will") 9580PROCpr("rely on the other") 9590PROCpr("four to be completely") 9600PROCpr("operational."):PRINT 9610PROCpr("<SPACE> to continue..") 9620REPEATUNTILGET=32 9625CLS 9630PROCpr("DATE : 21/06/2014"):PROCwait(50) 9640PROCpr("Lunar bases become") 9650PROCpr("fully operational.") 9660PROCpr("Functions:") 9670PROCpr("1-Landing/Launching,") 9680PROCpr(" incoming & outgoing") 9690PROCpr("2-Living quarters") 9700PROCpr("3-Labs and workshop") 9710PROCpr("4-Energy and air gen.") 9720PROCpr("5-Storage and base") 9730PROCpr(" maintenance") 9735PRINT 9740PROCpr("<SPACE> to continue") 9750REPEATUNTILGET=32 9755CLS 9760PROCpr("DATE : 27/01/2026"):PROCwait(50) 9770PROCpr("A large meteor hits") 9780PROCpr("the surface of the") 9790PROCpr("moon 38.2 Km from the") 9800PROCpr("lunar base. Base") 9810PROCpr("section 4 receives") 9820PROCpr("stuctural damage from") 9830PROCpr("shockwaves, forcing") 9840PROCpr("it offline...") 9850PRINT:PROCpr("<SPACE> to continue..") 9860REPEATUNTILGET=32 9865CLS 9870PROCpr("Date : 28/01/2026"):PROCwait(50) 9880PROCpr("...present day..."):PROCwait(50):PRINT' 9890PROCpr("As an expert in rock") 9900PROCpr("blasting and salvage") 9910PROCpr("work, you have been") 9920PROCpr("summoned to the moon."):PRINT 9930PROCpr("<SPACE> to continue..") 9940REPEATUNTILGET=32 9944CLS 9945RESTORE 10010 9950REPEAT:READ M$ 9960IF M$<>"EOL" AND M$<>"NPG" THEN PROCpr(M$) 9970IF M$="NPG" THEN PROCpr("<SPACE> to continue"):REPEATUNTILGET=32:CLS 9980UNTIL M$="EOL" 9990ENDPROC 10000: 10010DATA Base 4 controller : 10020DATA To make it easier to 10030DATA make the base air- 10040DATA "tight, most of it was" 10050DATA "built underground, in" 10060DATA artificial caverns. 10070DATA The moonquake caused 10080DATA severe rockfalls on 10090DATA all ten processing 10100DATA levels. We are using 10110DATA emergency air and 10120DATA backup generators. 10130DATA NPG 10140DATA You must clear these 10150DATA rockfalls in order 10160DATA for us to return the 10170DATA base to full power. 10190DATA Each level has 54 air 10200DATA "purifiers, which are" 10210DATA actually linked to 10220DATA the other levels. 10230DATA These are made from a 10240DATA tito-metacrystalline 10250DATA structure and are 10260DATA resistant to damage.,NPG 10270DATA "However, you will" 10280DATA encounter two types 10290DATA of nuclear reactors. 10300DATA The red and blue type 10310DATA (A mk 2) can survive 10320DATA ONE direct blast. 10330DATA The yellow and green 10340DATA (DB/34) MUST NOT be 10350DATA be hit at all. 10355DATA 10360DATA NPG 10370DATA One hit too many will 10380DATA cause a large atomic 10390DATA explosion!,"",NPG 10400DATA "Oh, by the way," 10410DATA the impact of the 10420DATA meteor created a high 10430DATA electromagnetic pulse 10440DATA disabling the control 10450DATA circuits in the 10460DATA security droids that 10470DATA patrol the levels. 10480DATA They are roaming out 10490DATA of control and will 10500DATA kill if you come into 10510DATA contact with them.,NPG 10520DATA You may destroy them 10530DATA "if you wish, they are" 10540DATA "insured.","",NPG 10550DATA EQUIPMENT: 10560DATA Explosive generating 10570DATA "backpack, supplied" 10580DATA with energy cell for 10590DATA one low power bomb 10595DATA per power recharge. 10600DATA Higher power and more 10610DATA bombs can be gained 10620DATA by collecting 10630DATA appropriately marked 10640DATA extra cells that you 10650DATA may find.,NPG 10660DATA There are other 10670DATA various utility cells 10680DATA "you can use, though" 10690DATA it will be impossible 10700DATA to identify their 10710DATA purpose before use. 10715DATA 10720DATA NPG 10730DATA CONTROLS : 10740DATA Player - 1 10750DATA Suit - Green 10760DATA Start - Bottom right 10770DATA Left - Z 10780DATA Right - X 10790DATA Up - F 10800DATA Down - C 10810DATA Bomb - G,"",NPG 10820DATA CONTROLS : 10830DATA Player - 2 10840DATA Suit - Red 10850DATA Start - Top left 10860DATA Left - Keypad 1 10870DATA Right - Keypad 2 10880DATA Up - Keypad 6 10890DATA Down - Keypad 3 10900DATA Bomb - Keypad +,"",NPG 10901DATA 2 PLAYER GAME :,"" 10902DATA "Blow the er, living" 10903DATA "daylights out of the" 10904DATA "other player.","" 10905DATA "Simple, innit?","","","",NPG 10910DATA Data retrieval 10920DATA complete...,"","","","","","","",NPG,EOL 10930: 10940DEFPROCsucceed 10950PROCbox(6,8,34,19) 10960RESTORE 11080 10970REPEAT:READ M$:PROCpr(M$):UNTIL M$="" 10980IF startlev=0 THEN 10990PROCpr("Wow! You finished all ten") 11000PROCpr("levels in one go!!!") 11010ELSE 11020PROCpr("Now try and complete all") 11030PROCpr("ten levels without using") 11040PROCpr("the level jump facility!") 11050ENDIF 11060A$=INKEY$(750) 11070CALLinit_screen:ENDPROC 11080DATA CONGRATULATIONS! 11085DATA " " 11090DATA You have managed to clear 11100DATA all ten levels! 11110DATA 11120: 11130DEFPROCfin 11140CLS 11150PRINT'' 11160PROCpr("Are you sure you want") 11170PROCpr("to quit?? (Y/N)") 11180REPEATO$=GET$:UNTIL INSTR("YyNn",O$)>0 11190IF O$="Y" OR O$="y" THEN 11200PROCpr(""):PROCpr(""):PROCpr(""):PROCpr("Ok...") 11210O$=INKEY$(100):VDU26,20:CLS 11211*FX200 11212*FX11,32 11213END 11220ELSE 11230PROCpr(""):PROCpr(""):PROCpr(""):PROCpr("Nah, didn't think so") 11240O$=INKEY$(100) 11250ENDIF 11260ENDPROC
� >$.!Moonquake.!RunImage � (c) 1992 Paul Taylor � (� DATE - TASK 2I� ------- --------------------------------------------------------- <1� 21/7/92 - STATIC PLOTTER & SCREEN LAYOUT ?? FA� 22/7/92 - COMPLETED ABOVE STARTED MAIN PROG LOOP WITH 1 MAN PH� 25/7/92 - COMPLETED 1 MAN RUNNING ROUND SCREEN WITH EDGE OF SCREEN Z9� - DETECTION AND BLOCKING BY CERTAIN OBJECTS dI� 26/7/92 - ADDED BOMB DROPPING, BOMB EXPLOSIONS, CHAIN REACTIONS AND n"� - DEATH BY EXPLOSION xJ� 27/7/92 - CORRECTED DEATH BY EXPLOSION, ADDED RUBBLE AND DESTRUCTION �=� - OF RUBBLE; ADDED SECOND MAN - NEW MAN SPRITES �F� 01/8/92 - SECOND PLAYER WORKING; BOMB INFLATION; ROAMING ROBOTS; �>� - DEATH OF ROBOTS; DEATH BY ROBOTS; BOMB LIMITS; �A� - INDIVIDUAL BOMB STRENGTHS; COLLECTABLE TOKENS FOR �-� - MORE BOMBS AND STRONGER BOMBS �?� 04/8/92 - 1 OR 2 PLAYER GAME; 1 & 0 HIT NUCLEAR REACTORS; �8� - ROBOTS DON'T DELIBERATELY RUN INTO FIRE; �E� - NUCLEAR REACTOR EXPLOSION; END OF LEVEL WHEN CLEARED; �L� - MYSTERY TOKENS - AUTO BOMB DROP, BOMB DETONATE, ROBOT FREEZE �� - A STORY? �: ��13 �!*SCREENLOAD <Obey$Dir>.SCREEN �5*RMENSURE Explo 1.00 *RMLOAD <Obey$Dir>.SFX.EXPLO �9*RMENSURE TokenRM 1.00 *RMLOAD <Obey$Dir>.SFX.TOKENRM �1*RMENSURE ARG 1.00 *RMLOAD <Obey$Dir>.SFX.ARG �3*RMENSURE RARG 1.00 *RMLOAD <Obey$Dir>.SFX.RARG .� vdu 16,MR(50),robos(9),hisc(9),hname$(9) !vdu=148 vdu!4=-1 ,Ƞ 4 6ȡ 1,"EXPLO" @ȡ 2,"TOKENRM" Eȡ 3,"ARG" Fȡ 4,"RARG" J&ș "OS_ReadVduVariables",vdu,vdu+8 Tscr_start=vdu!8+8 X*FX200,1 Y*FX11,0 Z @%=&05 [+�23,135,126,255,255,255,255,255,255,126 ^: rspnum=0 |gridx=1 �gridy=2 �table=4 �offset=5 � temp=6 �temp2=7 � scr=8 �� ---- Constants ---- �scream=6016 �ping=14336 �exdel=3 �numbots=10 �� code 80000 �� pass=0 � 2 � 2 �P%=code [OPT pass ALIGN .basic EQUD 0 &.screen EQUD (scr_start) 0+.init_screen MOV gridy,#0:STR R14,basic : LDR table,grid D.gyloop MOV gridx,#0 N.gxloop MOV temp2,#19 X& MLA temp,gridy,temp2,gridx b# LDRB spnum,[table,temp] l BL plotstatic v ADD gridx,gridx,#4 � CMP gridx,#19*4 � BLT gxloop � ADD gridy,gridy,#4 � CMP gridy,#13*4 � BLT gyloop � LDR PC,basic �: �.grid EQUD(griddata) �P.safe EQUD 0:EQUD 0:EQUD 0:EQUD 0:EQUD 0:EQUD 0:EQUD 0:EQUD 0:EQUD 0:EQUD 0 �.plotstatic ADR R12,safe �$ STMIA R12,{R1-R7,R9-R11} � LDR scr,screen �H MOV table,spnum,LSL #8 ; Multiply by 256 (sprite size) LDR spnum,sprites ! ADD table,table,spnum MOV temp,#4*320 $ MLA temp2,temp,gridy,scr *! ADD scr,temp2,#39*320 4G ADD scr,scr,gridx,LSL#2 ; scr = top left corner of spr >]: � l=1 � 8:[OPT pass H/ LDMIA (table)!,{R1-R3,R5-R7,R9,R10} R" STMIA (scr),{R1-R3,R5} \ ADD scr,scr,#320 f& STMIA (scr),{R6,R7,R9,R10} p ADD scr,scr,#320 z]: � l:[OPT pass � ADR R12,safe �$ LDMIA R12,{R1-R7,R9-R11} � MOV PC,R14 �: �.sprites EQUD(sprite_data) � �scoredraw � �movingbloke �.griddata �reserve(19*13*4) � .sprite_data �reserve(15000) � �blokeplotters �] � � pass �3�("LOAD <Obey$Dir>.MQSPRITES "+�~(sprite_data)) ,�("LOAD <Obey$Dir>.NUMBERS "+�~(digits)) M=manrtns:� I=0 � 3:� �tHD #� I2=1 � 8:� RN:!M=MR(RN+(I*5)) $ M+=4:� .� 8� I=20 � 25:!M=MR(I):M+=4:� B!M=null:M+=4 L@� I=0 � 3:� �tHD:� I2=1 � 8:� RN:!M=MR(26+RN+(I*5)):M+=4:�:� V!death=M `!aurasp=MR(50) j'� I=20 � 25:!M=MR(I):M+=4:�:!M=null t+M=robotrtns:� I=46 � 49:!M=MR(I):M+=4:� x � �TUX y�I=0 � 9:� robos(I) z-hisc(I)=1000*(I+1):hname$(I)="Beat me!":� ~ �loopgame �� 0,1,2,1,0,3,4,3 �: �ݤreserve(bytes) �P%=P%+bytes �="" �: �ݤmovingbloke �x=1:y=2:off=3 �direc=4 �temp3=9 � [OPT pass �E.man1 EQUD 255:EQUD 0:EQUD 18*4:EQUD 12*4:EQUD 0:EQUD &00020001 <.man2 EQUD 255:EQUD 0:EQUD 0:EQUD 0:EQUD 1:EQUD &20001 .dead EQUD 255 .offset EQUD 0 .manx EQUD 0 (.many EQUD 0 2.dir EQUD 1 <.stats EQUD 0 F.man EQUD 3 P.players EQUD 0 Z.rubble EQUD 0 d.oscore EQUD 1 n.back_from_main EQUD 0 x$.mainprog STR R14,back_from_main �&.mainloop MOV R0,#19:SWI "OS_Byte" �< LDR temp,detonated:CMP temp,#0:SWINE "OS_Byte" �6 LDR temp,players:CMP temp,#1:BNE noscore1 �J LDR temp,score:LDR temp2,oscore:CMP temp,temp2:BLNE redoscore � .noscore1 � BL scangrid � BL wiperobots �$ MOV temp,#1:STR temp,man � .manloop1 �D LDR temp,man:CMP temp,#1:ADREQ temp,man1:ADRNE temp,man2 �c LDMIA temp,{R12,off,x,y,direc,temp3}:ADR temp,dead:STMIA temp,{R12,off,x,y,direc,temp3} �9 LDR x,manx:LDR y,many:MOV R12,#1:BL plotstat2 �L CMP R12,#1:BEQ notdead1:LDR temp,dead:CMP temp,#255:BNE notdead1 � STR R12,dead �9 MOV R0,#3:MVN R1,#14:MOV R2,#scream:MOV R3,#0 � SWI "Sound_Control" �! LDR x,manx:LDR y,many .notdead1 B LDR off,offset:LDR direc,dir:CMP off,#0:BNE offsetset ? CMP direc,#1:ADDEQ x,x,#4:CMP direc,#0:SUBEQ x,x,#4 "@ CMP direc,#2:ADDEQ y,y,#4:CMP direc,#3:SUBEQ y,y,#4 , BL plotstat2 6 B aftersecondsqr @C.offsetset CMP direc,#1:ADDEQ x,x,#4:CMP direc,#0:ADDEQ x,x,#4 J@ CMP direc,#2:ADDEQ y,y,#4:CMP direc,#3:ADDEQ y,y,#4 T# MOV R12,#1:BL plotstat2 ^X CMP R12,#1:BEQ aftersecondsqr:LDR temp,dead:CMP temp,#255:BNE aftersecondsqr _ STR R12,dead `: MOV R0,#3:MVN R1,#14:MOV R2,#scream:MOV R3,#0 a SWI "Sound_Control" h.aftersecondsqr rx ADR temp,dead:LDMIA temp,{R12,off,x,y,direc,temp3}:LDR temp,man:CMP temp,#1:ADREQ temp,man1:ADRNE temp,man2 |1 STMIA temp,{R12,off,x,y,direc,temp3} �e LDR temp,man:ADD temp,temp,#1:STR temp,man:LDR temp3,players:CMP temp,temp3:BLE manloop1 � BL redrawrobots �$ MOV temp,#1:STR temp,man � .manloop2 �D LDR temp,man:CMP temp,#1:ADREQ temp,man1:ADRNE temp,man2 �c LDMIA temp,{R12,off,x,y,direc,temp3}:ADR temp,dead:STMIA temp,{R12,off,x,y,direc,temp3} �" LDR x,manx:LDR y,many �) LDR direc,dir:LDR off,offset �+ LDR scr,screen:MOV temp,#4*320 �% MLA temp2,temp,gridy,scr �! ADD scr,temp2,#39*320 �# ADD scr,scr,gridx,LSL#2 �8 CMP direc,#2:MOVGE temp2,#640:MOVLT temp2,#2 ! MLA scr,temp2,off,scr 2 LDR R12,dead:CMP R12,#255:BGE notdead3 2 MOV temp,#4<<5:ADD temp,temp,R12,LSR#1 & B altogether 0S.notdead3 BEQ noaura:SUB R12,R12,#1:STR R12,dead:MOV temp3,scr:ADR R14,b_f_aura : LDR PC,aurasp D.b_f_aura MOV scr,temp3 N".noaura MOV temp,direc,LSL#5 X? ADD temp,temp,off,LSL#2 ;find addr of man routine bA LDR temp3,man:CMP temp3,#1:ADDNE temp,temp,#4*4*8+7*4 l .altogether LDR temp2,mangfx v ADR R14,rendez � BIC temp,temp,#%11 �0 STR temp2,checktmp2:STR temp,checktmp � LDR PC,[temp2,temp] �.rendez �2 LDR R12,dead:CMP R12,#255:BGE notdead2 �> ADD R12,R12,#1:CMP R12,#49:LDREQ PC,back_from_main �$ STR R12,dead:B endupdate � .notdead2 �# CMP off,#0:BEQ keycheck �" CMP direc,#1:BEQ backw �" CMP direc,#2:BEQ backw �3 ADD off,off,#1:CMP off,#8:BLT endupdate � MOV off,#0 8 CMP direc,#0:LDREQ temp,manx:LDRNE temp,many < ADD temp,temp,#4:STREQ temp,manx:STRNE temp,many B endupdate .backw SUB off,off,#1 *.endupdate STR off,offset 4x ADR temp,dead:LDMIA temp,{R12,off,x,y,direc,temp3}:LDR temp,man:CMP temp,#1:ADREQ temp,man1:ADRNE temp,man2 >1 STMIA temp,{R12,off,x,y,direc,temp3} He LDR temp,man:ADD temp,temp,#1:STR temp,man:LDR temp3,players:CMP temp,temp3:BLE manloop2 RB LDR temp,rubble:CMP temp,#0:LDREQ PC,back_from_main \ B mainloop f: p.mangfx EQUD (manrtns) z7.findtoken ADD temp,temp,spnum:LDRB spnum,[temp,#1] �( CMP spnum,#48:BLT tokened �5 LDR R7,score:ADD R7,R7,#50:STR R7,score �= BGT morefire:MOV table,#3:STRB table,[temp,#1] � STRB table,[temp] �/ ADR temp,stats:LDRB spnum,[temp] �3 ADD spnum,spnum,#1:STRB spnum,[temp] �G MOV temp,x:MOV temp2,y:MOV R0,#2:MVN R1,#14:MOV R2,#ping �9 SWI "Sound_Control":MOV x,temp:MOV y,temp2 �? LDR temp,rubble:SUB temp,temp,#1:STR temp,rubble � B tokened �J.morefire CMP spnum,#49:BGT unknown:MOV table,#3:STRB table,[temp,#1] � STRB table,[temp] �2 ADR temp,stats:LDRB spnum,[temp,#2] 6 ADD spnum,spnum,#1:STRB spnum,[temp,#2] G MOV temp,x:MOV temp2,y:MOV R0,#2:MVN R1,#14:MOV R2,#ping 9 SWI "Sound_Control":MOV x,temp:MOV y,temp2 $? LDR temp,rubble:SUB temp,temp,#1:STR temp,rubble . B tokened 8J.unknown CMP spnum,#50:BNE tokened:MOV table,#3:STRB table,[temp,#1] B6 LDR R7,score:ADD R7,R7,#25:STR R7,score L STRB table,[temp] VG MOV temp,x:MOV temp2,y:MOV R0,#2:MVN R1,#14:MOV R2,#ping `9 SWI "Sound_Control":MOV x,temp:MOV y,temp2 j? LDR temp,rubble:SUB temp,temp,#1:STR temp,rubble t1 ADR R14,tokened:LDR PC,execunknown ~: �.score EQUD 0 �.aurasp EQUD 0 �.execunknown EQUD (mystery) �.checktmp EQUD 0 �.checktmp2 EQUD 0 �.plotstat2 ADR temp,safe2 �4 STMIA temp,{x,y,off,direc,R5,R9-R11,R14} � LDR scr,screen � MOV temp,#19 � MLA spnum,y,temp,x � LDR temp,grid �# LDRB table,[temp,spnum] A LDR R11,man:LDR R10,players:CMP R11,R10:BLE findtoken %.tokened CMP table,#4:BLT notexpl & CMP table,#32:MOVLT R12,#0 .notexpl (! MOV table,table,LSL#8 2 LDR spnum,sprites <! ADD table,table,spnum F MOV temp,#4*320 P MLA temp2,temp,y,scr Z! ADD scr,temp2,#39*320 d# ADD scr,scr,gridx,LSL#2 n]: � l=1 � 8:[OPT pass x/ LDMIA (table)!,{R1-R3,R5-R7,R9,R10} �" STMIA (scr),{R1-R3,R5} � ADD scr,scr,#320 �& STMIA (scr),{R6,R7,R9,R10} � ADD scr,scr,#320 �]: � l:[OPT pass � ADR temp,safe2 �4 LDMIA temp,{x,y,off,direc,R5,R9-R11,R14} � MOV PC,R14 �.safe2 �reserve(4*10) �: � .keycheck �> ; OSBYTE WITH R0=121 � R1=KEY NUM � &80 AS � �142/3 �B.�� LDR off,offset LDR R11,man . LDR x,manx:LDR y,many:MOV temp,#19 " MLA spnum,y,temp,x , LDR temp,grid 60 ADD temp,temp,spnum:ADD temp,temp,#1 @5 LDRB temp2,[temp]:CMP temp2,#3:BNE leftmv JS LDR R0,manstats:LDRB temp3,[R0,#1]:LDRB R0,[R0]:CMP temp3,R0:BGE leftmv TD LDR R0,manstats:LDRB temp3,[R0,#3]:TST temp3,#1:BNE drop ^ MOV R0,#121 h= CMP R11,#1:�Q R1,#(83 � &80):MOVNE R1,#(58 � &80) r SWI "OS_Byte" | CMP R1,#0:BEQ leftmv �T.drop LDR R0,manstats:LDRB temp3,[R0,#1]:ADD temp3,temp3,#1:STRB temp3,[R0,#1] �N MOV temp2,#2:STRB temp2,[temp]:MOV temp2,#47:STRB temp2,[temp,#-1] �B MOV temp2,#127:STRB temp2,[temp,#1]:STRB R11,[temp,#2] �+.leftmv LDR x,manx:CMP x,#0:BEQ rightmv �: LDRB temp2,[temp,#-4]:CMP temp2,#3:BLT rightmv �% CMP temp2,#51:BGE rightmv � MOV R0,#121 �> CMP R11,#1:�Q R1,#(97 � &80):MOVNE R1,#(107 � &80) � SWI "OS_Byte" �! CMP R1,#0:BEQ rightmv �, LDR x,manx:SUB x,x,#4:STR x,manx �% MOV off,#7:STR off,offset �& MOV direc,#1:STR direc,dir B endupdate ,.rightmv LDR x,manx:CMP x,#18*4:BEQ upmv 6 LDRB temp2,[temp,#4]:CMP temp2,#3:BLT upmv &" CMP temp2,#51:BGE upmv 0 MOV R0,#121 :> CMP R11,#1:�Q R1,#(66 � &80):MOVNE R1,#(124 � &80) D SWI "OS_Byte" N CMP R1,#0:BEQ upmv X% MOV off,#1:STR off,offset b& MOV direc,#0:STR direc,dir l B endupdate v*.upmv LDR y,many:CMP y,#0:BEQ downmv �> LDRB temp2,[temp,#-(19*4)]:CMP temp2,#3:BLT downmv �$ CMP temp2,#51:BGE downmv � MOV R0,#121 �= CMP R11,#1:�Q R1,#(67 � &80):MOVNE R1,#(26 � &80) � SWI "OS_Byte" � CMP R1,#0:BEQ downmv �, LDR y,many:SUB y,y,#4:STR y,many �% MOV off,#7:STR off,offset �& MOV direc,#2:STR direc,dir � B endupdate �0.downmv LDR y,many:CMP y,#12*4:BEQ endupdate �@ LDRB temp2,[temp,#(19*4)]:CMP temp2,#3:BLT endupdate �' CMP temp2,#51:BGE endupdate MOV R0,#121 > CMP R11,#1:�Q R1,#(82 � &80):MOVNE R1,#(108 � &80) SWI "OS_Byte" # CMP R1,#0:BEQ endupdate *% MOV off,#1:STR off,offset 4& MOV direc,#3:STR direc,dir > B endupdate H: R.manstats EQUD (stats) \$.manrtns �reserve(2*(4*4*8+7*4)) f.null MOV PC,R14 p �gridscanning z] �="" �: �ݤblokeplotters �� X,Y,C,F,man �F=� "<Obey$Dir>.BLOKE" �� man=0 � 50 �MR(man)=P% �� Y=0 � 15:� X=0 � 15 �?C=�#F:� C<>&F8 � [OPT pass:MOV temp,#C:STRB temp,[scr,#X]:] �9�:[OPTpass:ADD scr,scr,#320:]:�:[OPTpass:MOV PC,R14:] �� ��#F �="" : ݤgridscanning temp3=9:oldx=10:oldy=11 $ [OPT pass .$.scangrid STR R14,back_from_scan 8 MOV gridy,#0 B.scany MOV gridx,#0 L4.scanx MOV temp,#19:MLA temp2,temp,gridy,gridx V. LDR temp,grid:ADD temp,temp,temp2 `! LDRB spnum,[temp,#1] j( CMP spnum,#1:BEQ checkblock t' CMP spnum,#2:BEQ checkbomb ~( CMP spnum,#4:BLT resumescan �( CMP spnum,#10:BLE checkexpl �.resumescan ADD x,x,#4 �" CMP x,#19*4:BLT scanx � ADD y,y,#4 �& CMP gridy,#13*4:BLT scany �" LDR PC,back_from_scan �.back_from_scan EQUD 0 �: �.checkoff EQUD 0 �.bman1 EQUD (man1) �.bman2 EQUD (man2) �.expsiz EQUD 0 #.checkbomb LDRB temp2,[temp,#2] 4 SUB temp2,temp2,#1:STRB temp2,[temp,#2] & CMP temp2,#0:BEQ blowbomb > � spnum,temp2,#%1111:CMP spnum,#0:BNE nobombchnge (X MOV spnum,temp2,LSR#4:ADD spnum,spnum,#40-1:STRB spnum,[temp]:BL plotstatic 2.nobombchnge B resumescan <r.blowbomb MOV spnum,#20:STRB spnum,[temp,#2]:MOV spnum,#4:STRB spnum,[temp,#1]:MOV spnum,#11:STRB spnum,[temp] F' MOV off,temp:BL plotstatic P; MOV oldx,gridx:MOV oldy,gridy:LDR temp2,expsiz ZL LDRB temp2,[temp,#3]:CMP temp2,#1:LDREQ R0,bman1:LDRNE R0,bman2 dH ADD R0,R0,#5*4:LDRB R1,[R0,#1]:SUB R1,R1,#1:STRB R1,[R0,#1] n* LDRB R1,[R0,#2]:STR R1,expsiz x� MOV temp,off:MOV R0,#1:MVN R1,#14:MOV R2,#4096:MOV R3,#0:SWI "Sound_Control":MOV off,temp:MOV gridx,oldx:MOV gridy,oldy � SUB temp,off,#19*4 � STR off,checkoff � LDR temp2,expsiz �!.blastU LDRB spnum,[temp,#1] �$ CMP gridy,#0:BEQ endBlu �A MOV temp3,#exdel:CMP spnum,#2:STREQB temp3,[temp,#2] �> CMP spnum,#1:MOV temp3,#32:STREQB temp3,[temp,#2] �F CMP spnum,#48:BLT notoken1:MOV temp3,#1:STRB temp3,[temp] �D STRB temp3,[temp,#1]:MOV temp3,#32:STRB temp3,[temp,#2] � .notoken1 �! CMP spnum,#3:BEQ ok1 �% CMP spnum,#51:BLT endBlu �& CMP spnum,#52:BGE nuclear E CMP spnum,#51:BNE endBlu:MOV spnum,#52:STRB spnum,[temp] : STRB spnum,[temp,#1]:SUB y,y,#4:BL plotstatic B endBlu "/.ok1 MOV spnum,#20:STRB spnum,[temp,#2] ,4 CMP temp2,#1:�Q spnum,#9:MOVNE spnum,#6 6F STRB spnum,[temp,#1]:ADD spnum,spnum,#7:STRB spnum,[temp] @- SUB gridy,gridy,#4:BL plotstatic J3 SUB temp2,temp2,#1:SUB temp,temp,#19*4 T$ CMP temp2,#0:BGT blastU ^,.endBlu MOV gridy,oldy:LDR temp2,expsiz h ADD temp,off,#19*4 r!.blastD LDRB spnum,[temp,#1] |' CMP gridy,#12*4:BEQ endBld �C MOV temp3,#exdel+1:CMP spnum,#2:STREQB temp3,[temp,#2] �> CMP spnum,#1:MOV temp3,#32:STREQB temp3,[temp,#2] �F CMP spnum,#48:BLT notoken2:MOV temp3,#1:STRB temp3,[temp] �D STRB temp3,[temp,#1]:MOV temp3,#32:STRB temp3,[temp,#2] � .notoken2 �! CMP spnum,#3:BEQ ok2 �% CMP spnum,#51:BLT endBld �& CMP spnum,#52:BGE nuclear �E CMP spnum,#51:BNE endBld:MOV spnum,#52:STRB spnum,[temp] �: STRB spnum,[temp,#1]:ADD y,y,#4:BL plotstatic � B endBld �.ok2 �/ MOV spnum,#20:STRB spnum,[temp,#2] 5 CMP temp2,#1:�Q spnum,#10:MOVNE spnum,#6 F STRB spnum,[temp,#1]:ADD spnum,spnum,#7:STRB spnum,[temp] - ADD gridy,gridy,#4:BL plotstatic &3 SUB temp2,temp2,#1:ADD temp,temp,#19*4 0$ CMP temp2,#0:BGT blastD :,.endBld MOV gridy,oldy:LDR temp2,expsiz D ADD temp,off,#4 N!.blastR LDRB spnum,[temp,#1] X' CMP gridx,#18*4:BEQ endBlr bC MOV temp3,#exdel+1:CMP spnum,#2:STREQB temp3,[temp,#2] l> CMP spnum,#1:MOV temp3,#32:STREQB temp3,[temp,#2] vF CMP spnum,#48:BLT notoken3:MOV temp3,#1:STRB temp3,[temp] �D STRB temp3,[temp,#1]:MOV temp3,#32:STRB temp3,[temp,#2] � .notoken3 �! CMP spnum,#3:BEQ ok3 �% CMP spnum,#51:BLT endBlr �& CMP spnum,#52:BGE nuclear �E CMP spnum,#51:BNE endBlr:MOV spnum,#52:STRB spnum,[temp] �: STRB spnum,[temp,#1]:ADD x,x,#4:BL plotstatic � B endBlr �.ok3 �/ MOV spnum,#20:STRB spnum,[temp,#2] �4 CMP temp2,#1:�Q spnum,#8:MOVNE spnum,#5 �F STRB spnum,[temp,#1]:ADD spnum,spnum,#7:STRB spnum,[temp] �- ADD gridx,gridx,#4:BL plotstatic 0 SUB temp2,temp2,#1:ADD temp,temp,#4 $ CMP temp2,#0:BGT blastR ,.endBlr MOV gridx,oldx:LDR temp2,expsiz SUB temp,off,#4 *!.blastL LDRB spnum,[temp,#1] 4$ CMP gridx,#0:BEQ endBll >A MOV temp3,#exdel:CMP spnum,#2:STREQB temp3,[temp,#2] H> CMP spnum,#1:MOV temp3,#32:STREQB temp3,[temp,#2] RF CMP spnum,#48:BLT notoken4:MOV temp3,#1:STRB temp3,[temp] \D STRB temp3,[temp,#1]:MOV temp3,#32:STRB temp3,[temp,#2] f .notoken4 p! CMP spnum,#3:BEQ ok4 z% CMP spnum,#51:BLT endBll �& CMP spnum,#52:BGE nuclear �E CMP spnum,#51:BNE endBll:MOV spnum,#52:STRB spnum,[temp] �: STRB spnum,[temp,#1]:SUB x,x,#4:BL plotstatic � B endBll �.ok4 �/ MOV spnum,#20:STRB spnum,[temp,#2] �4 CMP temp2,#1:�Q spnum,#7:MOVNE spnum,#5 �F STRB spnum,[temp,#1]:ADD spnum,spnum,#7:STRB spnum,[temp] �- SUB gridx,gridx,#4:BL plotstatic �0 SUB temp2,temp2,#1:SUB temp,temp,#4 �$ CMP temp2,#0:BGT blastL �/.endBll MOV x,oldx:MOV y,oldy:B resumescan �: .detonated EQUD 0 .safen �reserve(3*4) 3.nuclear ADR temp2,safen:STMIA temp2,{x,y,temp} $K MOV R0,#1:MVN R1,#14:MOV R2,#256:MOV R3,#0:SWI "Sound_Control" .+ MOV temp,#1:STR temp,detonated 0F LDR temp,man1:CMP temp,#255:MOV temp,#255:STRGT temp,man1 2F LDR temp,man2:CMP temp,#255:MOV temp,#255:STRGT temp,man2 8$ MOV y,#0:LDR temp,rgrid B.nuclylp MOV x,#0 L;.nuclxlp LDRB spnum,[temp,#1]:CMP spnum,#0:BEQ nextnucl VH CMP spnum,#2:BLT smllexp:CMP spnum,#48:BLT addfire:.smllexp `. MOV spnum,#1:STRB spnum,[temp,#1] jL STRB spnum,[temp]:MOV spnum,#32:STRB spnum,[temp,#2]:B nextnucl t<.addfire MOV spnum,#20:STRB spnum,[temp,#2]:MOV spnum,#4 ~< TST x,#1:MOVNE spnum,#5:TST y,#1:MOVNE spnum,#6 �F STRB spnum,[temp,#1]:ADD spnum,spnum,#7:STRB spnum,[temp] �?.nextnucl ADD x,x,#1:ADD temp,temp,#4:CMP x,#19:BLT nuclxlp �- ADD y,y,#1:CMP y,#13:BLT nuclylp �# LDMIA temp2,{x,y,temp} � B endBll �: �=.checkexpl LDRB temp2,[temp,#2]:CMP temp2,#17:BNE nextex1 �K ADD spnum,spnum,#21:STRB spnum,[temp]:BL plotstatic:B endexp �(.nextex1 CMP temp2,#14:BNE nextex2 �7 STRB spnum,[temp]:BL plotstatic:B endexp �(.nextex2 CMP temp2,#10:BNE nextex3 �K ADD spnum,spnum,#21:STRB spnum,[temp]:BL plotstatic:B endexp '.nextex3 CMP temp2,#7:BNE nextex4 J ADD spnum,spnum,#7:STRB spnum,[temp]:BL plotstatic:B endexp '.nextex4 CMP temp2,#3:BNE nextex5 K ADD spnum,spnum,#14:STRB spnum,[temp]:BL plotstatic:B endexp (&.nextex5 CMP temp2,#0:BNE endexp 2B MOV spnum,#3:STRB spnum,[temp]:STRB spnum,[temp,#1] <) BL plotstatic:B resumescan F6.endexp SUB temp2,temp2,#1:STRB temp2,[temp,#2] P B resumescan Z: d@.checkblock LDRB temp2,[temp,#2]:CMP temp2,#0:BEQ resumescan n> LDRB temp2,[temp,#3]:CMP temp2,#0:BEQ nextsprte xC SUB temp2,temp2,#1:STRB temp2,[temp,#3]:B resumescan �E.nextsprte LDRB spnum,[temp,#2]:STRB spnum,[temp]:MOV temp2,spnum �E CMP spnum,#3:STREQB spnum,[temp,#1]:ADD temp2,temp2,#1 �* CMP temp2,#40:BEQ randtoken �#.randed STRB temp2,[temp,#2] �> MOV temp2,#2:STRB temp2,[temp,#3]:BL plotstatic � B resumescan �: �K.randtoken LDR temp3,detonated:CMP temp3,#0:MOVNE temp2,#3:BNE nochoice �B LDR temp3,score:ADD temp3,temp3,#10:STR temp3,score �Q LDR temp3,blockseed:ADD temp3,temp3,temp3,LSR#1:STR temp3,blockseed �> � temp3,temp3,#255:MOV temp2,#48:CMP temp3,#25 �- MOVGT temp2,#49:CMP temp3,#50 �, MOVGT temp2,#50:CMP temp3,#60 MOVGT temp2,#3 4.nochoice STRB temp2,[temp]:STRB temp2,[temp,#1] MOV spnum,temp2 "& CMP spnum,#3:BNE randed ,C LDR temp2,rubble:SUB temp2,temp2,#1:STR temp2,rubble 6 B randed @: J.blockseed EQUS ("USER") T �robotix ^] h="" r: | ��test �� ��game:� ��init_screen �*FX15,1 � �mainprog �*FX15,1 � : &��findinkeys 0� : ���=32 D5T=�:���>T+100:�7:�I=-1�-255�-1:� �(I) � �I:I=-256 N� X�0 b� l: v ��game � rubbles=0 �$I=griddata:� Y=0 � 12:� X=0 � 18 �L� (X+Y)>1 � (X+Y)<29 � �(15)<10 � !I=&00000101:rubbles+=1:� !I=&00000303 �I+=4 ��:� �!� Y=1 � 11 � 2:� X=1 � 17 � 2 �2V=griddata+X*4+(Y*19*4):� !V=&101 � rubbles-=1 �!V=0 �� X:� Y � � �tlW �"M=man1:�I=1�12:� D:!M=D:M+=4:� �� (6070+10*LEV) ��:� R,X,Y:� X<>-1 � �.L=griddata+X*4+Y*4*19:� !L=&101 rubbles-=1 � R=1 !L=&3333 � !L=&3535 � � X=-1 placed=0 *�:X=�(19)-1:Y=�(13)-1 4 � (X+Y)>5 � (X+Y)<23 � X>0 � >0I=griddata+X*4+19*4*Y:rd=robodata+5*4*placed H� !I=&101 � rubbles-=1 RZ� !I=&101 � !I=&303 � !I=&00000303:!rd=X*4:rd!4=Y*4:rd!8=0:rd!12=0:rd!16=255:placed+=1 \� f�placed=robos(LEV) k!maxbots=robos(LEV) p/� !players=1 � !rubble=rubbles � !rubble=-1 z!rhalt=0 �!detonated=0 � !man=3 �� �1� 512,0,18*4,12*4,0,&20001,512,0,0,0,1,&20001 �� 0,-1,0 �� 0,-1,0 �� 0,-1,0 �� 1,9,6, 0,-1,0 �� 2,9,6, 0,-1,0 �� 1,6,6, 1,12,6, 0,-1,0 �"� 1,0,6, 1,18,6, 2,9,6, 0,-1,0 �)� 1,4,6, 1,14,6, 2,9,8, 2,9,4, 0,-1,0 ;� 1,2,2, 1,16,2, 1,2,10, 1,16,10, 2,0,6, 2,18,6, 0,-1,0 I� 1,2,2, 1,4,6, 1,2,10, 1,16,2, 1,16,10, 1,14,6, 2,9,8, 2,9,4, 0,-1,0 � 1,2,4,2,4,4,5,6,8,10 : $ ݤrobotix . [OPT pass 8#.robodata �reserve(numbots*5*4) B.rx EQUD 0 L.ry EQUD 0 V.roff EQUD 0 `.rdir EQUD 0 j.rdead EQUD 0 t.robonum EQUD 0 ~>.wiperobots STR R14,back_from_rtn:MOV R0,#0:STR R0,robonum �=.roboloop1 LDR R0,robonum:MOV temp,#5*4:MUL temp2,R0,temp �R ADR temp,robodata:ADD temp,temp,temp2:LDMIA temp,{x,y,off,direc,R12} �: ADR temp,rx:STMIA temp,{x,y,off,direc,R12} �6 LDR x,rx:LDR y,ry:MOV R12,#1:BL plotstat2 �N CMP R12,#1:BEQ rnotded1:LDR temp,rdead:CMP temp,#255:BNE rnotded1 � STR R12,rdead �8 MOV R0,#4:MVN R1,#14:MOV R2,#7168:MOV R3,#0 � SWI "Sound_Control" � LDR x,rx:LDR y,ry �? LDR temp,score:ADDEQ temp,temp,#150:STR temp,score �C.rnotded1 LDR off,roff:LDR direc,rdir:CMP off,#0:BNE roffsetset �@ CMP direc,#1:ADDEQ x,x,#4:CMP direc,#0:SUBEQ x,x,#4 �@ CMP direc,#2:ADDEQ y,y,#4:CMP direc,#3:SUBEQ y,y,#4 � BL plotstat2 � B raftersecondsqr �D.roffsetset CMP direc,#1:ADDEQ x,x,#4:CMP direc,#0:ADDEQ x,x,#4 @ CMP direc,#2:ADDEQ y,y,#4:CMP direc,#3:ADDEQ y,y,#4 # MOV R12,#1:BL plotstat2 \ CMP R12,#1:BEQ raftersecondsqr:LDR temp,rdead:CMP temp,#255:BNE raftersecondsqr STR R12,rdead 8 MOV R0,#4:MVN R1,#14:MOV R2,#7168:MOV R3,#0 SWI "Sound_Control" = LDR temp,score:ADD temp,temp,#150:STR temp,score (.raftersecondsqr 23 LDR R12,rdead:CMP R12,#255:BNE nxtman2 <: LDR x,rx:LDR y,ry:LDR off,roff:LDR direc,rdir F( MOV x,x,LSL#2:MOV y,y,LSL#2 P' CMP direc,#0:ADDEQ x,x,off Z' CMP direc,#1:ADDEQ x,x,off d' CMP direc,#2:ADDEQ y,y,off n' CMP direc,#3:ADDEQ y,y,off x" MOV oldx,x:MOV oldy,y �i LDR temp2,bloke1:LDR x,[temp2,#8]:LDR y,[temp2,#12]:LDR off,[temp2,#4]:LDR direc,[temp2,#16] �( MOV x,x,LSL#2:MOV y,y,LSL#2 �- CMP direc,#0:ADDEQ x,x,off,LSL#1 �- CMP direc,#1:ADDEQ x,x,off,LSL#1 �- CMP direc,#2:ADDEQ y,y,off,LSL#1 �- CMP direc,#3:ADDEQ y,y,off,LSL#1 �S CMP x,oldx:SUBGT temp,x,oldx:SUBLE temp,oldx,x:CMP temp,#16:BGE nxtman �S CMP y,oldy:SUBGT temp,y,oldy:SUBLE temp,oldy,y:CMP temp,#16:BGE nxtman �A LDR temp,[temp2]:CMP temp,#255:MOV R12,#0:BNE nxtman � STR R12,[temp2] �: MOV R0,#3:MVN R1,#14:MOV R2,#scream:MOV R3,#0 � SWI "Sound_Control" �i.nxtman LDR temp2,bloke2:LDR x,[temp2,#8]:LDR y,[temp2,#12]:LDR off,[temp2,#4]:LDR direc,[temp2,#16] �( MOV x,x,LSL#2:MOV y,y,LSL#2 �- CMP direc,#0:ADDEQ x,x,off,LSL#1 �- CMP direc,#1:ADDEQ x,x,off,LSL#1 - CMP direc,#2:ADDEQ y,y,off,LSL#1 - CMP direc,#3:ADDEQ y,y,off,LSL#1 T CMP x,oldx:SUBGT temp,x,oldx:SUBLE temp,oldx,x:CMP temp,#16:BGE nxtman2 "T CMP y,oldy:SUBGT temp,y,oldy:SUBLE temp,oldy,y:CMP temp,#16:BGE nxtman2 ,B LDR temp,[temp2]:CMP temp,#255:MOV R12,#0:BNE nxtman2 - STR R12,[temp2] .: MOV R0,#3:MVN R1,#14:MOV R2,#scream:MOV R3,#0 / SWI "Sound_Control" 67.nxtman2 ADR temp,rx:LDMIA temp,{x,y,off,direc,R12} @; LDR R0,robonum:MOV temp,#5*4:MUL temp2,R0,temp JR ADR temp,robodata:ADD temp,temp,temp2:STMIA temp,{x,y,off,direc,R12} TT ADD R0,R0,#1:STR R0,robonum:LDR temp,maxbots:CMP R0,temp:BLT roboloop1 ^! LDR PC,back_from_rtn h.back_from_rtn EQUD 0 r.maxbots EQUD numbots |.death EQUD 0 �.rhalt EQUD 0 �: �'.redrawrobots STR R14,back_from_rtn �% MOV R0,#0:STR R0,robonum �=.roboloop2 LDR R0,robonum:MOV temp,#5*4:MUL temp2,R0,temp �R ADR temp,robodata:ADD temp,temp,temp2:LDMIA temp,{x,y,off,direc,R12} �7 ADR temp,rx:STMIA temp,{x,y,off,direc,R12} �: LDR x,rx:LDR y,ry:LDR direc,rdir:LDR off,roff �, LDR scr,screen2:MOV temp,#4*320 �% MLA temp2,temp,gridy,scr �" ADD scr,temp2,#39*320 �$ ADD scr,scr,gridx,LSL#2 �8 CMP direc,#2:MOVGE temp2,#320:MOVLT temp2,#1 ! MLA scr,temp2,off,scr 3 LDR R12,rdead:CMP R12,#255:BEQ rnotded3 2 LDR temp,death:ADD temp,temp,R12,LSR#1 &I BIC temp,temp,#%11:CMP R12,#55:ADDLT R12,R12,#1:STR R12,rdead 0 B overlive ::.rnotded3 ADR temp,robotrtns:ADD temp,temp,direc,LSL#2 D..overlive ADR R14,roborendez:LDR PC,[temp] N.roborendez X5 LDR R12,rdead:CMP R12,#255:BNE rendupdate b3 LDR R12,rhalt:CMP R12,#0:BNE rendupdate l# CMP off,#0:BEQ robomove v# CMP direc,#1:BEQ rbackw �# CMP direc,#2:BEQ rbackw �5 ADD off,off,#1:CMP off,#16:BLT rendupdate � MOV off,#0 �4 CMP direc,#0:LDREQ temp,rx:LDRNE temp,ry �8 ADD temp,temp,#4:STREQ temp,rx:STRNE temp,ry � B rendupdate �.rbackw SUB off,off,#1 �.rendupdate STR off,roff �7 ADR temp,rx:LDMIA temp,{x,y,off,direc,R12} �; LDR R0,robonum:MOV temp,#5*4:MUL temp2,R0,temp �O LDR temp,rodata:ADD temp,temp,temp2:STMIA temp,{x,y,off,direc,R12} �T ADD R0,R0,#1:STR R0,robonum:LDR temp,maxbots:CMP R0,temp:BLT roboloop2 � LDR PC,back_from_rtn .bloke1 EQUD(man1) .bloke2 EQUD(man2) .rodata EQUD (robodata) : *.screen2 EQUD(scr_start) 4.seed EQUS "PAUL" >.tempcheck EQUD 0 HG.pridir EQUD &01030200:EQUD &00030201:EQUD &03000102:EQUD &02000103 R.robomove LDR off,roff \* LDR x,rx:LDR y,ry:MOV temp,#19 f- MLA spnum,y,temp,x:LDR temp,rgrid p0 ADD temp,temp,spnum:ADD temp,temp,#1 z LDR direc,rdir �8 ADR temp2,pridir:ADD temp2,temp2,direc,LSL#2 �C LDR R0,seed:ADD R0,R0,R0,LSR#1:STR R0,seed:� R0,R0,#255 �3 CMP R0,#128:LDRLEB R0,[temp2]:BLE rleft �6 CMP R0,#176:LDRLEB R0,[temp2,#1]:BLE rleft �6 CMP R0,#224:LDRLEB R0,[temp2,#2]:BLE rleft � LDRB R0,[temp2,#3] �(.rleft LDR x,rx:CMP x,#0:BEQ rright �9 LDRB temp2,[temp,#-4]:CMP temp2,#3:BNE rright � CMP R0,#1:BNE rright �( LDR x,rx:SUB x,x,#4:STR x,rx �$ MOV off,#15:STR off,roff �$ STR R0,rdir:B rendupdate �.rright CMP R0,#0:BNE rup ( LDR x,rx:CMP x,#18*4:BEQ rup 5 LDRB temp2,[temp,#4]:CMP temp2,#3:BNE rup # MOV off,#1:STR off,roff $$ STR R0,rdir:B rendupdate ..rup CMP R0,#2:BNE rdown 8' LDR y,ry:CMP y,#0:BEQ rdown B; LDRB temp2,[temp,#-19*4]:CMP temp2,#3:BNE rdown L( LDR y,ry:SUB y,y,#4:STR y,ry V$ MOV off,#15:STR off,roff `$ STR R0,rdir:B rendupdate j$.rdown CMP R0,#3:BNE rendupdate t/ LDR y,ry:CMP y,#12*4:BEQ rendupdate ~? LDRB temp2,[temp,#19*4]:CMP temp2,#3:BNE rendupdate �# MOV off,#1:STR off,roff �$ STR R0,rdir:B rendupdate �.rgrid EQUD(griddata) �.robotrtns �reserve(4*4) � �mystery_tokens �] �="" �: ���loopgame �� ��8 �maxlevel=0 � options=� �box(1,5,23,20) �:� � options � �:�pr(" 1. 1 Player game") �:�pr(" 2. 2 Player game") (�:�pr(" 3. Instructions") 2�:�pr(" 4. Finish") <�':�pr(" Please select") >� @�showhi A� Boptions=� options F(CH=�(1500):� CH>=�("1") � CH<=�("4") HȎ CH � J� �("1"): �playone L� �("2"): �playtwo N� �("3"): �instruc P� �("4"): �fin R� n�0 x� �: �ݤmystery_tokens � [OPT pass �.safem �reserve(12*4) �.mseed EQUS ("TCEL") �5.mystery ADR temp,safem:STMIA temp,{R0-R5,R7-R12} �C LDR temp,mseed:ADD temp,temp,temp,LSR#1:STR temp,mseed �7 � temp,temp,#255:CMP temp,#73:BGE toktype2 �- LDR table,rgrid:MOV temp2,#13*19 �<.ecmloop LDRB temp3,[table,#1]:CMP temp3,#2:BNE notabomb �/ MOV temp3,#1:STRB temp3,[table,#2] �@.notabomb ADD table,table,#4:SUBS temp2,temp2,#1:BNE ecmloop �5 ADR temp,safem:LDMIA temp,{R0-R5,R7-R12} MOV PC,R14 (.toktype2 CMP temp,#146:BGE toktype3 9 LDR temp,rhalt:� temp,temp,#1:STR temp,rhalt " MOV PC,R14 ,(.toktype3 CMP temp,#182:BGE toktype4 6D LDR temp,manstats:LDRB temp2,[temp,#3]:� temp2,temp2,#1 @, STRB temp2,[temp,#3]:MOV PC,R14 AI.toktype4 LDR temp,mandead:MOV temp2,#512:STR temp2,[temp]:MOV PC,R14 B: C.mandead EQUD (dead) J] T="" ^: hݤscoredraw r � temp |7number=0:dig=1:pwr=2:pwrlst=3:spaddr=4:scr=8:temp=5 � [OPT pass �:.powers10 EQUD 10000:EQUD 1000:EQUD 100:EQUD 10:EQUD 1 �.digits �reserve(10*4*8) �4.redoscore ADR pwrlst,powers10:ADR spaddr,digits �: LDR number,score:LDR R7,screen:SUB R7,R7,#4 �4.powrloop LDR pwr,[pwrlst]:ADD pwrlst,pwrlst,#4 �2 CMP pwr,#1:�Q dig,number:BEQ outdig � MOV dig,#0 �(.digloop CMP number,pwr:BLT outdig �$ SUB number,number,pwr �' ADD dig,dig,#1:B digloop �-.outdig MOV temp,dig,LSL #5:MOV dig,#0 �9 MOV scr,R7:ADD scr,scr,#320*4:ADD R7,R7,#4 0.digoutp LDR R6,[spaddr,temp]:STR R6,[scr] ? ADD scr,scr,#320:ADD temp,temp,#4:ADD dig,dig,#1 % CMP dig,#8:BLT digoutp && CMP pwr,#1:BNE powrloop 0< LDR number,score:STR number,oscore:MOV PC,R14 :] D="" N: X��box(X1,Y1,X2,Y2) b� 28,X1,Y2,X2,Y1 l� v � C=0 � 3 � � C*4 �Aȓ X1*32+C*4,(31-Y2)*32+C*4,(1+X2-X1)*32-C*8,(1+Y2-Y1)*32-C*8 �� �� 28,X1+1,Y2-1,X2-1,Y1+1 �� �: � ��playone �� �!!players=1:!score=0:!oscore=1 �� maxlevel<>0 � �1�'':�pr("Start level ? 0-"+�(maxlevel)+" :") �+�:LEV=�-�("0"):� LEV>=0 � LEV<=maxlevel �� �� �LEV=0:�7 �� �startlev=LEV !!�:�centre("Level "+�(LEV),22) !!�':�centre("Get Ready...",22) ! A$=�(175) !newlev=�:life=1:� ! J� newlev � �test:newlev=�:� !man1=512:man1?23=0:�init_screen:�mainprog !%*FX15,1 !*� !detonated<>0 � !4T�box(10,10,30,15):�centre("Reactor explosion!",18):�centre("Mission aborted",18) !>A$=�(175):life=4 !H� !R� !dead>=255 � !\.�box(11,10,28,15):�:�pr(" Level complete") !f,� LEV<9 � �pr(" Next : level "+�(LEV+1)) !k A$=�(175) !p1LEV+=1:� LEV<10 � LEV>maxlevel � maxlevel=LEV !unewlev=� !z� !�T� life<3 � �box(14,10,25,15):�:�pr("Life "+�(life+1)):�pr("Get Ready"):A$=�(175) !�life+=1 !�� !�� !�� life>3 � LEV=10 !�� LEV=10 � �succeed � �fail !�(� !score>hisc(0) � �addscore(!score) !�� !�: !���centre(M$,W) !��(W-�(M$)) � 2);:�pr(M$) !�� !�: !� ��fail !��box(6,8,34,19) " � �Tnb "�:� M$:�pr(M$):� M$="" " A$=�(750) "$�init_screen:� ".� You're dead.," " "8� You couldn't even manage "B� with 3 lives. I'm giving "L� the contract to somebody "Q � else... "V%� " "," Lunar base 4 Controller" "`� "" "j: "t��showhi "y� I "~� "� �pr("Moonquake high scores") "�� "�� I=9 � 0 � -1 "�!� hisc(I);�7);:�pr(hname$(I)) "�� "�� "�: "���addscore(S) "��init_screen "��box(9,10,31,26) "�I=1:found=�:� "�_� hisc(I)>S � hisc(I-1)=S:hname$(I-1)="":found=� � hisc(I-1)=hisc(I):hname$(I-1)=hname$(I) "�I+=1 "�� hisc(I-1)>S �7:found=� "�:� I=10 � � found � hisc(9)=S:hname$(9)="":I=11:found=� "�� found # IY=13-I:N$="" # �showhi:� #�pr("Enter name....") #�63:�7,IY);�135;:� 8 # �:A=� #� (A=8 � A=127) � �(N$)>0 � #N$=�N$,�(N$)-1) #� #1� A<>8 � A<>127 � A<>13 � �(N$)<13 � N$=N$+�A ##� #(�7,IY);N$;:� 63:�;�135;:�8 #-� A=8 � A=127 � �;" ":� � #2 � A=13 #<hname$(I-2)=N$ #F�showhi #P A$=�(500) #Z�init_screen #d� #n: #x ��playtwo #�!!players=2:!score=0:!oscore=1 #�#�:�'':�pr("Start level ? 0-9") #�$�:LEV=�-�("0"):� LEV>=0 � LEV<=9 #� �''':�centre("Get Ready",22) #� A$=�(175) #�red=3:green=3 #�FIN=�:newlev=�:� #�6� newlev � �test:newlev=�:� �init_screen:�mainprog #�*FX15,1 #�� !detonated<>0 � #�T�box(10,10,30,15):�centre("Reactor explosion!",18):�centre("Mission aborted",18) #�A$=�(175):FIN=� #�� #�� !man1<255 � !man2<255 � $L�box(10,10,30,15):�centre("Both dead!",18):�centre("Mission aborted",18) $A$=�(175):FIN=� $� $"�box(10,10,30,15) $#� !man1<255 � $$D$="Green":green-=1 $%!man1=512:man1?23=0 $&� $''D$="Red":red-=1:!man2=512:man2?23=0 $(� $)� green=0 � red=0 � $*�:�centre(D$+" loses",18) $+ FIN=� $,� $-?�centre("Red : "+�(red),18):�centre("Green : "+�(green),18) $.� $/�wait(150) $@� $J� $T � FIN $^�init_screen $h� $r: $|��wait(delay) $�T=� $����>T+delay $�� $�: $���pr(M$) $�� I $�� 63 $� �135;:Ȗ $�� I=1 � �(M$) $�� 8 $��127;�M$,I,1);:�63:�;�135; $�#� �M$,I,1)<>" " � �2,-4,15000,0 $�Ȗ $�� $��8 $� �127;�32 $��2,0,0,0 $�� �(M$)=21 � �0,�-1); $�� $�: % ��instruc %� %�pr("Accessing records...") %&�wait(100):� %0&�pr("DATE : 08/05/2007"):�wait(50) %:�pr("Work begins on five") %D�pr("structures on the") %N�pr("lunar surface. Each") %X�pr("will have its own") %b�pr("function and will") %l�pr("rely on the other") %v �pr("four to be completely") %��pr("operational."):� %� �pr("<SPACE> to continue..") %� ���=32 %�� %�&�pr("DATE : 21/06/2014"):�wait(50) %��pr("Lunar bases become") %��pr("fully operational.") %��pr("Functions:") %��pr("1-Landing/Launching,") %� �pr(" incoming & outgoing") %��pr("2-Living quarters") %��pr("3-Labs and workshop") %� �pr("4-Energy and air gen.") %��pr("5-Storage and base") &�pr(" maintenance") &� &�pr("<SPACE> to continue") & ���=32 &� & &�pr("DATE : 27/01/2026"):�wait(50) &*�pr("A large meteor hits") &4�pr("the surface of the") &> �pr("moon 38.2 Km from the") &H�pr("lunar base. Base") &R�pr("section 4 receives") &\ �pr("stuctural damage from") &f�pr("shockwaves, forcing") &p�pr("it offline...") &z"�:�pr("<SPACE> to continue..") &� ���=32 &�� &�&�pr("Date : 28/01/2026"):�wait(50) &�)�pr("...present day..."):�wait(50):�' &��pr("As an expert in rock") &��pr("blasting and salvage") &��pr("work, you have been") &�"�pr("summoned to the moon."):� &� �pr("<SPACE> to continue..") &� ���=32 &�� &� � �TZg &� �:� M$ &�%� M$<>"EOL" � M$<>"NPG" � �pr(M$) &�4� M$="NPG" � �pr("<SPACE> to continue"):���=32:� &�� M$="EOL" '� ': '� Base 4 controller : '$� To make it easier to '.� make the base air- '8� "tight, most of it was" 'B� "built underground, in" 'L� artificial caverns. 'V� The moonquake caused '`� severe rockfalls on 'j� all ten processing 't� levels. We are using '~� emergency air and '�� backup generators. '� � NPG '�� You must clear these '�� rockfalls in order '�� for us to return the '�� base to full power. '�� Each level has 54 air '�� "purifiers, which are" '�� actually linked to '�� the other levels. '�� These are made from a ( � tito-metacrystalline ( � structure and are (� resistant to damage.,NPG (� "However, you will" ((� encounter two types (2� of nuclear reactors. (<� The red and blue type (F� (A mk 2) can survive (P� ONE direct blast. (Z� The yellow and green (d� (DB/34) MUST NOT be (n� be hit at all. (s� (x � NPG (�� One hit too many will (�� cause a large atomic (�� explosion!,"",NPG (�� "Oh, by the way," (�� the impact of the (�� meteor created a high (�� electromagnetic pulse (�� disabling the control (�� circuits in the (�� security droids that (�� patrol the levels. (�� They are roaming out (�� of control and will )� kill if you come into )� contact with them.,NPG )� You may destroy them )"� "if you wish, they are" ),� "insured.","",NPG )6� EQUIPMENT: )@� Explosive generating )J� "backpack, supplied" )T� with energy cell for )^� one low power bomb )c� per power recharge. )h� Higher power and more )r� bombs can be gained )|� by collecting )�� appropriately marked )�� extra cells that you )�� may find.,NPG )�� There are other )�� various utility cells )�� "you can use, though" )�� it will be impossible )�� to identify their )�� purpose before use. )�� )� � NPG )�� CONTROLS : )�� Player - 1 )�� Suit - Green *� Start - Bottom right *� Left - Z *� Right - X *&� Up - F *0� Down - C *:� Bomb - G,"",NPG *D� CONTROLS : *N� Player - 2 *X� Suit - Red *b� Start - Top left *l� Left - Keypad 1 *v� Right - Keypad 2 *�� Up - Keypad 6 *�� Down - Keypad 3 *�� Bomb - Keypad +,"",NPG *�� 2 PLAYER GAME :,"" *�� "Blow the er, living" *�� "daylights out of the" *�� "other player.","" *�#� "Simple, innit?","","","",NPG *�� Data retrieval *�.� complete...,"","","","","","","",NPG,EOL *�: *� ��succeed *��box(6,8,34,19) *� � �DHk *��:� M$:�pr(M$):� M$="" *�� startlev=0 � *�$�pr("Wow! You finished all ten") *��pr("levels in one go!!!") +� +#�pr("Now try and complete all") +#�pr("ten levels without using") + #�pr("the level jump facility!") +*� +4 A$=�(750) +>�init_screen:� +H� CONGRATULATIONS! +M � " " +R� You have managed to clear +\� all ten levels! +f� +p: +z ��fin +�� +��'' +� �pr("Are you sure you want") +��pr("to quit?? (Y/N)") +��O$=�:� �"YyNn",O$)>0 +�� O$="Y" � O$="y" � +�(�pr(""):�pr(""):�pr(""):�pr("Ok...") +�O$=�(100):�26,20:� +� *FX200 +�*FX11,32 +�� +�� +�7�pr(""):�pr(""):�pr(""):�pr("Nah, didn't think so") +� O$=�(100) +�� +�� �
00000000 0d 00 0a 1d f4 20 3e 24 2e 21 4d 6f 6f 6e 71 75 |..... >$.!Moonqu| 00000010 61 6b 65 2e 21 52 75 6e 49 6d 61 67 65 0d 00 14 |ake.!RunImage...| 00000020 1a f4 20 28 63 29 20 31 39 39 32 20 50 61 75 6c |.. (c) 1992 Paul| 00000030 20 54 61 79 6c 6f 72 0d 00 1e 05 f4 0d 00 28 16 | Taylor.......(.| 00000040 f4 20 44 41 54 45 20 20 20 20 2d 20 20 20 54 41 |. DATE - TA| 00000050 53 4b 0d 00 32 49 f4 20 2d 2d 2d 2d 2d 2d 2d 20 |SK..2I. ------- | 00000060 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | --------------| 00000070 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00000090 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 00 3c 31 f4 |-----------..<1.| 000000a0 20 32 31 2f 37 2f 39 32 20 2d 20 53 54 41 54 49 | 21/7/92 - STATI| 000000b0 43 20 50 4c 4f 54 54 45 52 20 26 20 53 43 52 45 |C PLOTTER & SCRE| 000000c0 45 4e 20 4c 41 59 4f 55 54 20 3f 3f 0d 00 46 41 |EN LAYOUT ??..FA| 000000d0 f4 20 32 32 2f 37 2f 39 32 20 2d 20 43 4f 4d 50 |. 22/7/92 - COMP| 000000e0 4c 45 54 45 44 20 41 42 4f 56 45 20 53 54 41 52 |LETED ABOVE STAR| 000000f0 54 45 44 20 4d 41 49 4e 20 50 52 4f 47 20 4c 4f |TED MAIN PROG LO| 00000100 4f 50 20 57 49 54 48 20 31 20 4d 41 4e 0d 00 50 |OP WITH 1 MAN..P| 00000110 48 f4 20 32 35 2f 37 2f 39 32 20 2d 20 43 4f 4d |H. 25/7/92 - COM| 00000120 50 4c 45 54 45 44 20 31 20 4d 41 4e 20 52 55 4e |PLETED 1 MAN RUN| 00000130 4e 49 4e 47 20 52 4f 55 4e 44 20 53 43 52 45 45 |NING ROUND SCREE| 00000140 4e 20 57 49 54 48 20 45 44 47 45 20 4f 46 20 53 |N WITH EDGE OF S| 00000150 43 52 45 45 4e 0d 00 5a 39 f4 20 20 20 20 20 20 |CREEN..Z9. | 00000160 20 20 20 2d 20 44 45 54 45 43 54 49 4f 4e 20 41 | - DETECTION A| 00000170 4e 44 20 42 4c 4f 43 4b 49 4e 47 20 42 59 20 43 |ND BLOCKING BY C| 00000180 45 52 54 41 49 4e 20 4f 42 4a 45 43 54 53 0d 00 |ERTAIN OBJECTS..| 00000190 64 49 f4 20 32 36 2f 37 2f 39 32 20 2d 20 41 44 |dI. 26/7/92 - AD| 000001a0 44 45 44 20 42 4f 4d 42 20 44 52 4f 50 50 49 4e |DED BOMB DROPPIN| 000001b0 47 2c 20 42 4f 4d 42 20 45 58 50 4c 4f 53 49 4f |G, BOMB EXPLOSIO| 000001c0 4e 53 2c 20 43 48 41 49 4e 20 52 45 41 43 54 49 |NS, CHAIN REACTI| 000001d0 4f 4e 53 20 41 4e 44 0d 00 6e 22 f4 20 20 20 20 |ONS AND..n". | 000001e0 20 20 20 20 20 2d 20 44 45 41 54 48 20 42 59 20 | - DEATH BY | 000001f0 45 58 50 4c 4f 53 49 4f 4e 0d 00 78 4a f4 20 32 |EXPLOSION..xJ. 2| 00000200 37 2f 37 2f 39 32 20 2d 20 43 4f 52 52 45 43 54 |7/7/92 - CORRECT| 00000210 45 44 20 44 45 41 54 48 20 42 59 20 45 58 50 4c |ED DEATH BY EXPL| 00000220 4f 53 49 4f 4e 2c 20 41 44 44 45 44 20 52 55 42 |OSION, ADDED RUB| 00000230 42 4c 45 20 41 4e 44 20 44 45 53 54 52 55 43 54 |BLE AND DESTRUCT| 00000240 49 4f 4e 0d 00 82 3d f4 20 20 20 20 20 20 20 20 |ION...=. | 00000250 20 2d 20 4f 46 20 52 55 42 42 4c 45 3b 20 41 44 | - OF RUBBLE; AD| 00000260 44 45 44 20 53 45 43 4f 4e 44 20 4d 41 4e 20 2d |DED SECOND MAN -| 00000270 20 4e 45 57 20 4d 41 4e 20 53 50 52 49 54 45 53 | NEW MAN SPRITES| 00000280 0d 00 8c 46 f4 20 30 31 2f 38 2f 39 32 20 2d 20 |...F. 01/8/92 - | 00000290 53 45 43 4f 4e 44 20 50 4c 41 59 45 52 20 57 4f |SECOND PLAYER WO| 000002a0 52 4b 49 4e 47 3b 20 42 4f 4d 42 20 49 4e 46 4c |RKING; BOMB INFL| 000002b0 41 54 49 4f 4e 3b 20 52 4f 41 4d 49 4e 47 20 52 |ATION; ROAMING R| 000002c0 4f 42 4f 54 53 3b 0d 00 96 3e f4 20 20 20 20 20 |OBOTS;...>. | 000002d0 20 20 20 20 2d 20 44 45 41 54 48 20 4f 46 20 52 | - DEATH OF R| 000002e0 4f 42 4f 54 53 3b 20 44 45 41 54 48 20 42 59 20 |OBOTS; DEATH BY | 000002f0 52 4f 42 4f 54 53 3b 20 42 4f 4d 42 20 4c 49 4d |ROBOTS; BOMB LIM| 00000300 49 54 53 3b 0d 00 a0 41 f4 20 20 20 20 20 20 20 |ITS;...A. | 00000310 20 20 2d 20 49 4e 44 49 56 49 44 55 41 4c 20 42 | - INDIVIDUAL B| 00000320 4f 4d 42 20 53 54 52 45 4e 47 54 48 53 3b 20 43 |OMB STRENGTHS; C| 00000330 4f 4c 4c 45 43 54 41 42 4c 45 20 54 4f 4b 45 4e |OLLECTABLE TOKEN| 00000340 53 20 46 4f 52 0d 00 aa 2d f4 20 20 20 20 20 20 |S FOR...-. | 00000350 20 20 20 2d 20 4d 4f 52 45 20 42 4f 4d 42 53 20 | - MORE BOMBS | 00000360 41 4e 44 20 53 54 52 4f 4e 47 45 52 20 42 4f 4d |AND STRONGER BOM| 00000370 42 53 0d 00 b4 3f f4 20 30 34 2f 38 2f 39 32 20 |BS...?. 04/8/92 | 00000380 2d 20 31 20 4f 52 20 32 20 50 4c 41 59 45 52 20 |- 1 OR 2 PLAYER | 00000390 47 41 4d 45 3b 20 31 20 26 20 30 20 48 49 54 20 |GAME; 1 & 0 HIT | 000003a0 4e 55 43 4c 45 41 52 20 52 45 41 43 54 4f 52 53 |NUCLEAR REACTORS| 000003b0 3b 0d 00 be 38 f4 20 20 20 20 20 20 20 20 20 2d |;...8. -| 000003c0 20 52 4f 42 4f 54 53 20 44 4f 4e 27 54 20 44 45 | ROBOTS DON'T DE| 000003d0 4c 49 42 45 52 41 54 45 4c 59 20 52 55 4e 20 49 |LIBERATELY RUN I| 000003e0 4e 54 4f 20 46 49 52 45 3b 0d 00 c8 45 f4 20 20 |NTO FIRE;...E. | 000003f0 20 20 20 20 20 20 20 2d 20 4e 55 43 4c 45 41 52 | - NUCLEAR| 00000400 20 52 45 41 43 54 4f 52 20 45 58 50 4c 4f 53 49 | REACTOR EXPLOSI| 00000410 4f 4e 3b 20 45 4e 44 20 4f 46 20 4c 45 56 45 4c |ON; END OF LEVEL| 00000420 20 57 48 45 4e 20 43 4c 45 41 52 45 44 3b 0d 00 | WHEN CLEARED;..| 00000430 d2 4c f4 20 20 20 20 20 20 20 20 20 2d 20 4d 59 |.L. - MY| 00000440 53 54 45 52 59 20 54 4f 4b 45 4e 53 20 2d 20 41 |STERY TOKENS - A| 00000450 55 54 4f 20 42 4f 4d 42 20 44 52 4f 50 2c 20 42 |UTO BOMB DROP, B| 00000460 4f 4d 42 20 44 45 54 4f 4e 41 54 45 2c 20 52 4f |OMB DETONATE, RO| 00000470 42 4f 54 20 46 52 45 45 5a 45 0d 00 dc 18 f4 20 |BOT FREEZE..... | 00000480 20 20 20 20 20 20 20 20 2d 20 41 20 53 54 4f 52 | - A STOR| 00000490 59 3f 0d 00 e6 05 3a 0d 00 ea 07 eb 31 33 0d 00 |Y?....:.....13..| 000004a0 eb 21 2a 53 43 52 45 45 4e 4c 4f 41 44 20 3c 4f |.!*SCREENLOAD <O| 000004b0 62 65 79 24 44 69 72 3e 2e 53 43 52 45 45 4e 0d |bey$Dir>.SCREEN.| 000004c0 00 f0 35 2a 52 4d 45 4e 53 55 52 45 20 45 78 70 |..5*RMENSURE Exp| 000004d0 6c 6f 20 31 2e 30 30 20 2a 52 4d 4c 4f 41 44 20 |lo 1.00 *RMLOAD | 000004e0 3c 4f 62 65 79 24 44 69 72 3e 2e 53 46 58 2e 45 |<Obey$Dir>.SFX.E| 000004f0 58 50 4c 4f 0d 00 fa 39 2a 52 4d 45 4e 53 55 52 |XPLO...9*RMENSUR| 00000500 45 20 54 6f 6b 65 6e 52 4d 20 31 2e 30 30 20 2a |E TokenRM 1.00 *| 00000510 52 4d 4c 4f 41 44 20 3c 4f 62 65 79 24 44 69 72 |RMLOAD <Obey$Dir| 00000520 3e 2e 53 46 58 2e 54 4f 4b 45 4e 52 4d 0d 00 fe |>.SFX.TOKENRM...| 00000530 31 2a 52 4d 45 4e 53 55 52 45 20 41 52 47 20 31 |1*RMENSURE ARG 1| 00000540 2e 30 30 20 2a 52 4d 4c 4f 41 44 20 3c 4f 62 65 |.00 *RMLOAD <Obe| 00000550 79 24 44 69 72 3e 2e 53 46 58 2e 41 52 47 0d 00 |y$Dir>.SFX.ARG..| 00000560 ff 33 2a 52 4d 45 4e 53 55 52 45 20 52 41 52 47 |.3*RMENSURE RARG| 00000570 20 31 2e 30 30 20 2a 52 4d 4c 4f 41 44 20 3c 4f | 1.00 *RMLOAD <O| 00000580 62 65 79 24 44 69 72 3e 2e 53 46 58 2e 52 41 52 |bey$Dir>.SFX.RAR| 00000590 47 0d 01 04 2e de 20 76 64 75 20 31 36 2c 4d 52 |G..... vdu 16,MR| 000005a0 28 35 30 29 2c 72 6f 62 6f 73 28 39 29 2c 68 69 |(50),robos(9),hi| 000005b0 73 63 28 39 29 2c 68 6e 61 6d 65 24 28 39 29 0d |sc(9),hname$(9).| 000005c0 01 0e 0c 21 76 64 75 3d 31 34 38 0d 01 18 0c 76 |...!vdu=148....v| 000005d0 64 75 21 34 3d 2d 31 0d 01 2c 08 c8 a0 20 34 0d |du!4=-1..,... 4.| 000005e0 01 36 10 c8 a1 20 31 2c 22 45 58 50 4c 4f 22 0d |.6... 1,"EXPLO".| 000005f0 01 40 12 c8 a1 20 32 2c 22 54 4f 4b 45 4e 52 4d |.@... 2,"TOKENRM| 00000600 22 0d 01 45 0e c8 a1 20 33 2c 22 41 52 47 22 0d |"..E... 3,"ARG".| 00000610 01 46 0f c8 a1 20 34 2c 22 52 41 52 47 22 0d 01 |.F... 4,"RARG"..| 00000620 4a 26 c8 99 20 22 4f 53 5f 52 65 61 64 56 64 75 |J&.. "OS_ReadVdu| 00000630 56 61 72 69 61 62 6c 65 73 22 2c 76 64 75 2c 76 |Variables",vdu,v| 00000640 64 75 2b 38 0d 01 54 15 73 63 72 5f 73 74 61 72 |du+8..T.scr_star| 00000650 74 3d 76 64 75 21 38 2b 38 0d 01 58 0c 2a 46 58 |t=vdu!8+8..X.*FX| 00000660 32 30 30 2c 31 0d 01 59 0b 2a 46 58 31 31 2c 30 |200,1..Y.*FX11,0| 00000670 0d 01 5a 0a 40 25 3d 26 30 35 0d 01 5b 2b ef 32 |..Z.@%=&05..[+.2| 00000680 33 2c 31 33 35 2c 31 32 36 2c 32 35 35 2c 32 35 |3,135,126,255,25| 00000690 35 2c 32 35 35 2c 32 35 35 2c 32 35 35 2c 32 35 |5,255,255,255,25| 000006a0 35 2c 31 32 36 0d 01 5e 05 3a 0d 01 72 0b 73 70 |5,126..^.:..r.sp| 000006b0 6e 75 6d 3d 30 0d 01 7c 0b 67 72 69 64 78 3d 31 |num=0..|.gridx=1| 000006c0 0d 01 86 0b 67 72 69 64 79 3d 32 0d 01 90 0b 74 |....gridy=2....t| 000006d0 61 62 6c 65 3d 34 0d 01 9a 0c 6f 66 66 73 65 74 |able=4....offset| 000006e0 3d 35 0d 01 a4 0a 74 65 6d 70 3d 36 0d 01 ae 0b |=5....temp=6....| 000006f0 74 65 6d 70 32 3d 37 0d 01 b8 09 73 63 72 3d 38 |temp2=7....scr=8| 00000700 0d 01 c2 19 f4 20 2d 2d 2d 2d 20 43 6f 6e 73 74 |..... ---- Const| 00000710 61 6e 74 73 20 2d 2d 2d 2d 0d 01 cc 0f 73 63 72 |ants ----....scr| 00000720 65 61 6d 3d 36 30 31 36 0d 01 d1 0e 70 69 6e 67 |eam=6016....ping| 00000730 3d 31 34 33 33 36 0d 01 d6 0b 65 78 64 65 6c 3d |=14336....exdel=| 00000740 33 0d 01 e0 0e 6e 75 6d 62 6f 74 73 3d 31 30 0d |3....numbots=10.| 00000750 01 ea 10 de 20 63 6f 64 65 20 38 30 30 30 30 0d |.... code 80000.| 00000760 01 f4 14 e3 20 70 61 73 73 3d 30 20 b8 20 32 20 |.... pass=0 . 2 | 00000770 88 20 32 0d 01 fe 0b 50 25 3d 63 6f 64 65 0d 02 |. 2....P%=code..| 00000780 08 0d 5b 4f 50 54 20 70 61 73 73 0d 02 12 09 41 |..[OPT pass....A| 00000790 4c 49 47 4e 0d 02 1c 11 2e 62 61 73 69 63 20 45 |LIGN.....basic E| 000007a0 51 55 44 20 30 0d 02 26 1c 2e 73 63 72 65 65 6e |QUD 0..&..screen| 000007b0 20 45 51 55 44 20 28 73 63 72 5f 73 74 61 72 74 | EQUD (scr_start| 000007c0 29 0d 02 30 2b 2e 69 6e 69 74 5f 73 63 72 65 65 |)..0+.init_scree| 000007d0 6e 20 4d 4f 56 20 67 72 69 64 79 2c 23 30 3a 53 |n MOV gridy,#0:S| 000007e0 54 52 20 52 31 34 2c 62 61 73 69 63 0d 02 3a 1a |TR R14,basic..:.| 000007f0 20 20 20 20 20 20 20 20 4c 44 52 20 74 61 62 6c | LDR tabl| 00000800 65 2c 67 72 69 64 0d 02 44 18 2e 67 79 6c 6f 6f |e,grid..D..gyloo| 00000810 70 20 4d 4f 56 20 67 72 69 64 78 2c 23 30 0d 02 |p MOV gridx,#0..| 00000820 4e 19 2e 67 78 6c 6f 6f 70 20 4d 4f 56 20 74 65 |N..gxloop MOV te| 00000830 6d 70 32 2c 23 31 39 0d 02 58 26 20 20 20 20 20 |mp2,#19..X& | 00000840 20 20 20 4d 4c 41 20 74 65 6d 70 2c 67 72 69 64 | MLA temp,grid| 00000850 79 2c 74 65 6d 70 32 2c 67 72 69 64 78 0d 02 62 |y,temp2,gridx..b| 00000860 23 20 20 20 20 20 20 20 20 4c 44 52 42 20 73 70 |# LDRB sp| 00000870 6e 75 6d 2c 5b 74 61 62 6c 65 2c 74 65 6d 70 5d |num,[table,temp]| 00000880 0d 02 6c 19 20 20 20 20 20 20 20 20 42 4c 20 70 |..l. BL p| 00000890 6c 6f 74 73 74 61 74 69 63 0d 02 76 1e 20 20 20 |lotstatic..v. | 000008a0 20 20 20 20 20 41 44 44 20 67 72 69 64 78 2c 67 | ADD gridx,g| 000008b0 72 69 64 78 2c 23 34 0d 02 80 1b 20 20 20 20 20 |ridx,#4.... | 000008c0 20 20 20 43 4d 50 20 67 72 69 64 78 2c 23 31 39 | CMP gridx,#19| 000008d0 2a 34 0d 02 8a 16 20 20 20 20 20 20 20 20 42 4c |*4.... BL| 000008e0 54 20 67 78 6c 6f 6f 70 0d 02 94 1e 20 20 20 20 |T gxloop.... | 000008f0 20 20 20 20 41 44 44 20 67 72 69 64 79 2c 67 72 | ADD gridy,gr| 00000900 69 64 79 2c 23 34 0d 02 9e 1b 20 20 20 20 20 20 |idy,#4.... | 00000910 20 20 43 4d 50 20 67 72 69 64 79 2c 23 31 33 2a | CMP gridy,#13*| 00000920 34 0d 02 a8 16 20 20 20 20 20 20 20 20 42 4c 54 |4.... BLT| 00000930 20 67 79 6c 6f 6f 70 0d 02 b2 18 20 20 20 20 20 | gyloop.... | 00000940 20 20 20 4c 44 52 20 50 43 2c 62 61 73 69 63 0d | LDR PC,basic.| 00000950 02 bc 05 3a 0d 02 c6 19 2e 67 72 69 64 20 20 45 |...:.....grid E| 00000960 51 55 44 28 67 72 69 64 64 61 74 61 29 0d 02 d0 |QUD(griddata)...| 00000970 50 2e 73 61 66 65 20 20 45 51 55 44 20 30 3a 45 |P.safe EQUD 0:E| 00000980 51 55 44 20 30 3a 45 51 55 44 20 30 3a 45 51 55 |QUD 0:EQUD 0:EQU| 00000990 44 20 30 3a 45 51 55 44 20 30 3a 45 51 55 44 20 |D 0:EQUD 0:EQUD | 000009a0 30 3a 45 51 55 44 20 30 3a 45 51 55 44 20 30 3a |0:EQUD 0:EQUD 0:| 000009b0 45 51 55 44 20 30 3a 45 51 55 44 20 30 0d 02 da |EQUD 0:EQUD 0...| 000009c0 1c 2e 70 6c 6f 74 73 74 61 74 69 63 20 41 44 52 |..plotstatic ADR| 000009d0 20 52 31 32 2c 73 61 66 65 0d 02 e4 24 20 20 20 | R12,safe...$ | 000009e0 20 20 20 20 20 53 54 4d 49 41 20 52 31 32 2c 7b | STMIA R12,{| 000009f0 52 31 2d 52 37 2c 52 39 2d 52 31 31 7d 0d 02 ee |R1-R7,R9-R11}...| 00000a00 1a 20 20 20 20 20 20 20 20 4c 44 52 20 73 63 72 |. LDR scr| 00000a10 2c 73 63 72 65 65 6e 0d 02 f8 48 20 20 20 20 20 |,screen...H | 00000a20 20 20 20 4d 4f 56 20 74 61 62 6c 65 2c 73 70 6e | MOV table,spn| 00000a30 75 6d 2c 4c 53 4c 20 23 38 20 20 20 20 20 20 20 |um,LSL #8 | 00000a40 3b 20 4d 75 6c 74 69 70 6c 79 20 62 79 20 32 35 |; Multiply by 25| 00000a50 36 20 28 73 70 72 69 74 65 20 73 69 7a 65 29 0d |6 (sprite size).| 00000a60 03 02 1d 20 20 20 20 20 20 20 20 4c 44 52 20 73 |... LDR s| 00000a70 70 6e 75 6d 2c 73 70 72 69 74 65 73 0d 03 0c 21 |pnum,sprites...!| 00000a80 20 20 20 20 20 20 20 20 41 44 44 20 74 61 62 6c | ADD tabl| 00000a90 65 2c 74 61 62 6c 65 2c 73 70 6e 75 6d 0d 03 16 |e,table,spnum...| 00000aa0 1b 20 20 20 20 20 20 20 20 4d 4f 56 20 74 65 6d |. MOV tem| 00000ab0 70 2c 23 34 2a 33 32 30 0d 03 20 24 20 20 20 20 |p,#4*320.. $ | 00000ac0 20 20 20 20 4d 4c 41 20 74 65 6d 70 32 2c 74 65 | MLA temp2,te| 00000ad0 6d 70 2c 67 72 69 64 79 2c 73 63 72 0d 03 2a 21 |mp,gridy,scr..*!| 00000ae0 20 20 20 20 20 20 20 20 41 44 44 20 73 63 72 2c | ADD scr,| 00000af0 74 65 6d 70 32 2c 23 33 39 2a 33 32 30 0d 03 34 |temp2,#39*320..4| 00000b00 47 20 20 20 20 20 20 20 20 41 44 44 20 73 63 72 |G ADD scr| 00000b10 2c 73 63 72 2c 67 72 69 64 78 2c 4c 53 4c 23 32 |,scr,gridx,LSL#2| 00000b20 20 20 20 20 20 20 3b 20 73 63 72 20 3d 20 74 6f | ; scr = to| 00000b30 70 20 6c 65 66 74 20 63 6f 72 6e 65 72 20 6f 66 |p left corner of| 00000b40 20 73 70 72 0d 03 3e 1f 5d 3a 20 20 20 20 20 20 | spr..>.]: | 00000b50 e3 20 6c 3d 31 20 b8 20 38 3a 5b 4f 50 54 20 70 |. l=1 . 8:[OPT p| 00000b60 61 73 73 0d 03 48 2f 20 20 20 20 20 20 20 20 4c |ass..H/ L| 00000b70 44 4d 49 41 20 28 74 61 62 6c 65 29 21 2c 7b 52 |DMIA (table)!,{R| 00000b80 31 2d 52 33 2c 52 35 2d 52 37 2c 52 39 2c 52 31 |1-R3,R5-R7,R9,R1| 00000b90 30 7d 0d 03 52 22 20 20 20 20 20 20 20 20 53 54 |0}..R" ST| 00000ba0 4d 49 41 20 28 73 63 72 29 2c 7b 52 31 2d 52 33 |MIA (scr),{R1-R3| 00000bb0 2c 52 35 7d 0d 03 5c 1c 20 20 20 20 20 20 20 20 |,R5}..\. | 00000bc0 41 44 44 20 73 63 72 2c 73 63 72 2c 23 33 32 30 |ADD scr,scr,#320| 00000bd0 0d 03 66 26 20 20 20 20 20 20 20 20 53 54 4d 49 |..f& STMI| 00000be0 41 20 28 73 63 72 29 2c 7b 52 36 2c 52 37 2c 52 |A (scr),{R6,R7,R| 00000bf0 39 2c 52 31 30 7d 0d 03 70 1c 20 20 20 20 20 20 |9,R10}..p. | 00000c00 20 20 41 44 44 20 73 63 72 2c 73 63 72 2c 23 33 | ADD scr,scr,#3| 00000c10 32 30 0d 03 7a 19 5d 3a 20 20 20 20 20 20 ed 20 |20..z.]: . | 00000c20 6c 3a 5b 4f 50 54 20 70 61 73 73 0d 03 84 18 20 |l:[OPT pass.... | 00000c30 20 20 20 20 20 20 20 41 44 52 20 52 31 32 2c 73 | ADR R12,s| 00000c40 61 66 65 0d 03 8e 24 20 20 20 20 20 20 20 20 4c |afe...$ L| 00000c50 44 4d 49 41 20 52 31 32 2c 7b 52 31 2d 52 37 2c |DMIA R12,{R1-R7,| 00000c60 52 39 2d 52 31 31 7d 0d 03 98 16 20 20 20 20 20 |R9-R11}.... | 00000c70 20 20 20 4d 4f 56 20 50 43 2c 52 31 34 0d 03 a2 | MOV PC,R14...| 00000c80 05 3a 0d 03 ac 1e 2e 73 70 72 69 74 65 73 20 45 |.:.....sprites E| 00000c90 51 55 44 28 73 70 72 69 74 65 5f 64 61 74 61 29 |QUD(sprite_data)| 00000ca0 0d 03 b6 15 20 20 20 20 20 20 20 a4 73 63 6f 72 |.... .scor| 00000cb0 65 64 72 61 77 0d 03 c0 18 20 20 20 20 20 20 20 |edraw.... | 00000cc0 20 a4 6d 6f 76 69 6e 67 62 6c 6f 6b 65 0d 03 ca | .movingbloke...| 00000cd0 1f 2e 67 72 69 64 64 61 74 61 20 a4 72 65 73 65 |..griddata .rese| 00000ce0 72 76 65 28 31 39 2a 31 33 2a 34 29 0d 03 d4 20 |rve(19*13*4)... | 00000cf0 2e 73 70 72 69 74 65 5f 64 61 74 61 20 a4 72 65 |.sprite_data .re| 00000d00 73 65 72 76 65 28 31 35 30 30 30 29 0d 03 de 1a |serve(15000)....| 00000d10 20 20 20 20 20 20 20 20 a4 62 6c 6f 6b 65 70 6c | .blokepl| 00000d20 6f 74 74 65 72 73 0d 03 e8 05 5d 0d 03 f2 0a ed |otters....].....| 00000d30 20 70 61 73 73 0d 03 fc 33 ff 28 22 4c 4f 41 44 | pass...3.("LOAD| 00000d40 20 3c 4f 62 65 79 24 44 69 72 3e 2e 4d 51 53 50 | <Obey$Dir>.MQSP| 00000d50 52 49 54 45 53 20 22 2b c3 7e 28 73 70 72 69 74 |RITES "+.~(sprit| 00000d60 65 5f 64 61 74 61 29 29 0d 04 06 2c ff 28 22 4c |e_data))...,.("L| 00000d70 4f 41 44 20 3c 4f 62 65 79 24 44 69 72 3e 2e 4e |OAD <Obey$Dir>.N| 00000d80 55 4d 42 45 52 53 20 22 2b c3 7e 28 64 69 67 69 |UMBERS "+.~(digi| 00000d90 74 73 29 29 0d 04 10 1e 4d 3d 6d 61 6e 72 74 6e |ts))....M=manrtn| 00000da0 73 3a e3 20 49 3d 30 20 b8 20 33 3a f7 20 8d 74 |s:. I=0 . 3:. .t| 00000db0 48 44 0d 04 1a 23 e3 20 49 32 3d 31 20 b8 20 38 |HD...#. I2=1 . 8| 00000dc0 3a f3 20 52 4e 3a 21 4d 3d 4d 52 28 52 4e 2b 28 |:. RN:!M=MR(RN+(| 00000dd0 49 2a 35 29 29 0d 04 24 0a 4d 2b 3d 34 3a ed 0d |I*5))..$.M+=4:..| 00000de0 04 2e 05 ed 0d 04 38 1f e3 20 49 3d 32 30 20 b8 |......8.. I=20 .| 00000df0 20 32 35 3a 21 4d 3d 4d 52 28 49 29 3a 4d 2b 3d | 25:!M=MR(I):M+=| 00000e00 34 3a ed 0d 04 42 10 21 4d 3d 6e 75 6c 6c 3a 4d |4:...B.!M=null:M| 00000e10 2b 3d 34 0d 04 4c 40 e3 20 49 3d 30 20 b8 20 33 |+=4..L@. I=0 . 3| 00000e20 3a f7 20 8d 74 48 44 3a e3 20 49 32 3d 31 20 b8 |:. .tHD:. I2=1 .| 00000e30 20 38 3a f3 20 52 4e 3a 21 4d 3d 4d 52 28 32 36 | 8:. RN:!M=MR(26| 00000e40 2b 52 4e 2b 28 49 2a 35 29 29 3a 4d 2b 3d 34 3a |+RN+(I*5)):M+=4:| 00000e50 ed 3a ed 0d 04 56 0c 21 64 65 61 74 68 3d 4d 0d |.:...V.!death=M.| 00000e60 04 60 12 21 61 75 72 61 73 70 3d 4d 52 28 35 30 |.`.!aurasp=MR(50| 00000e70 29 0d 04 6a 27 e3 20 49 3d 32 30 20 b8 20 32 35 |)..j'. I=20 . 25| 00000e80 3a 21 4d 3d 4d 52 28 49 29 3a 4d 2b 3d 34 3a ed |:!M=MR(I):M+=4:.| 00000e90 3a 21 4d 3d 6e 75 6c 6c 0d 04 74 2b 4d 3d 72 6f |:!M=null..t+M=ro| 00000ea0 62 6f 74 72 74 6e 73 3a e3 20 49 3d 34 36 20 b8 |botrtns:. I=46 .| 00000eb0 20 34 39 3a 21 4d 3d 4d 52 28 49 29 3a 4d 2b 3d | 49:!M=MR(I):M+=| 00000ec0 34 3a ed 0d 04 78 0a f7 20 8d 54 55 58 0d 04 79 |4:...x.. .TUX..y| 00000ed0 17 e3 49 3d 30 20 b8 20 39 3a f3 20 72 6f 62 6f |..I=0 . 9:. robo| 00000ee0 73 28 49 29 0d 04 7a 2d 68 69 73 63 28 49 29 3d |s(I)..z-hisc(I)=| 00000ef0 31 30 30 30 2a 28 49 2b 31 29 3a 68 6e 61 6d 65 |1000*(I+1):hname| 00000f00 24 28 49 29 3d 22 42 65 61 74 20 6d 65 21 22 3a |$(I)="Beat me!":| 00000f10 ed 0d 04 7e 0d f2 6c 6f 6f 70 67 61 6d 65 0d 04 |...~..loopgame..| 00000f20 88 15 dc 20 30 2c 31 2c 32 2c 31 2c 30 2c 33 2c |... 0,1,2,1,0,3,| 00000f30 34 2c 33 0d 04 92 05 3a 0d 04 9c 14 dd a4 72 65 |4,3....:......re| 00000f40 73 65 72 76 65 28 62 79 74 65 73 29 0d 04 a6 0f |serve(bytes)....| 00000f50 50 25 3d 50 25 2b 62 79 74 65 73 0d 04 b0 07 3d |P%=P%+bytes....=| 00000f60 22 22 0d 04 ba 05 3a 0d 04 c4 11 dd a4 6d 6f 76 |""....:......mov| 00000f70 69 6e 67 62 6c 6f 6b 65 0d 04 ce 11 78 3d 31 3a |ingbloke....x=1:| 00000f80 79 3d 32 3a 6f 66 66 3d 33 0d 04 d8 0b 64 69 72 |y=2:off=3....dir| 00000f90 65 63 3d 34 0d 04 e2 0b 74 65 6d 70 33 3d 39 0d |ec=4....temp3=9.| 00000fa0 04 ec 0d 5b 4f 50 54 20 70 61 73 73 0d 04 f6 45 |...[OPT pass...E| 00000fb0 2e 6d 61 6e 31 20 20 20 45 51 55 44 20 32 35 35 |.man1 EQUD 255| 00000fc0 3a 45 51 55 44 20 30 3a 45 51 55 44 20 31 38 2a |:EQUD 0:EQUD 18*| 00000fd0 34 3a 45 51 55 44 20 31 32 2a 34 3a 45 51 55 44 |4:EQUD 12*4:EQUD| 00000fe0 20 30 3a 45 51 55 44 20 26 30 30 30 32 30 30 30 | 0:EQUD &0002000| 00000ff0 31 0d 05 00 3c 2e 6d 61 6e 32 20 20 20 45 51 55 |1...<.man2 EQU| 00001000 44 20 32 35 35 3a 45 51 55 44 20 30 3a 45 51 55 |D 255:EQUD 0:EQU| 00001010 44 20 30 3a 45 51 55 44 20 30 3a 45 51 55 44 20 |D 0:EQUD 0:EQUD | 00001020 31 3a 45 51 55 44 20 26 32 30 30 30 31 0d 05 0a |1:EQUD &20001...| 00001030 12 2e 64 65 61 64 20 45 51 55 44 20 32 35 35 0d |..dead EQUD 255.| 00001040 05 14 13 2e 6f 66 66 73 65 74 20 20 45 51 55 44 |....offset EQUD| 00001050 20 30 0d 05 1e 13 2e 6d 61 6e 78 20 20 20 20 45 | 0.....manx E| 00001060 51 55 44 20 30 0d 05 28 13 2e 6d 61 6e 79 20 20 |QUD 0..(..many | 00001070 20 20 45 51 55 44 20 30 0d 05 32 13 2e 64 69 72 | EQUD 0..2..dir| 00001080 20 20 20 20 20 45 51 55 44 20 31 0d 05 3c 13 2e | EQUD 1..<..| 00001090 73 74 61 74 73 20 20 20 45 51 55 44 20 30 0d 05 |stats EQUD 0..| 000010a0 46 12 2e 6d 61 6e 20 20 20 20 45 51 55 44 20 33 |F..man EQUD 3| 000010b0 0d 05 50 13 2e 70 6c 61 79 65 72 73 20 45 51 55 |..P..players EQU| 000010c0 44 20 30 0d 05 5a 12 2e 72 75 62 62 6c 65 20 45 |D 0..Z..rubble E| 000010d0 51 55 44 20 30 0d 05 64 12 2e 6f 73 63 6f 72 65 |QUD 0..d..oscore| 000010e0 20 45 51 55 44 20 31 0d 05 6e 1a 2e 62 61 63 6b | EQUD 1..n..back| 000010f0 5f 66 72 6f 6d 5f 6d 61 69 6e 20 45 51 55 44 20 |_from_main EQUD | 00001100 30 0d 05 78 24 2e 6d 61 69 6e 70 72 6f 67 20 53 |0..x$.mainprog S| 00001110 54 52 20 52 31 34 2c 62 61 63 6b 5f 66 72 6f 6d |TR R14,back_from| 00001120 5f 6d 61 69 6e 0d 05 82 26 2e 6d 61 69 6e 6c 6f |_main...&.mainlo| 00001130 6f 70 20 4d 4f 56 20 52 30 2c 23 31 39 3a 53 57 |op MOV R0,#19:SW| 00001140 49 20 22 4f 53 5f 42 79 74 65 22 0d 05 8c 3c 20 |I "OS_Byte"...< | 00001150 20 20 20 20 20 20 20 20 20 4c 44 52 20 74 65 6d | LDR tem| 00001160 70 2c 64 65 74 6f 6e 61 74 65 64 3a 43 4d 50 20 |p,detonated:CMP | 00001170 74 65 6d 70 2c 23 30 3a 53 57 49 4e 45 20 22 4f |temp,#0:SWINE "O| 00001180 53 5f 42 79 74 65 22 0d 05 96 36 20 20 20 20 20 |S_Byte"...6 | 00001190 20 20 20 20 4c 44 52 20 74 65 6d 70 2c 70 6c 61 | LDR temp,pla| 000011a0 79 65 72 73 3a 43 4d 50 20 74 65 6d 70 2c 23 31 |yers:CMP temp,#1| 000011b0 3a 42 4e 45 20 6e 6f 73 63 6f 72 65 31 0d 05 a0 |:BNE noscore1...| 000011c0 4a 20 20 20 20 20 20 20 20 20 4c 44 52 20 74 65 |J LDR te| 000011d0 6d 70 2c 73 63 6f 72 65 3a 4c 44 52 20 74 65 6d |mp,score:LDR tem| 000011e0 70 32 2c 6f 73 63 6f 72 65 3a 43 4d 50 20 74 65 |p2,oscore:CMP te| 000011f0 6d 70 2c 74 65 6d 70 32 3a 42 4c 4e 45 20 72 65 |mp,temp2:BLNE re| 00001200 64 6f 73 63 6f 72 65 0d 05 aa 0d 2e 6e 6f 73 63 |doscore.....nosc| 00001210 6f 72 65 31 0d 05 b4 18 20 20 20 20 20 20 20 20 |ore1.... | 00001220 20 42 4c 20 73 63 61 6e 67 72 69 64 0d 05 be 1a | BL scangrid....| 00001230 20 20 20 20 20 20 20 20 20 42 4c 20 77 69 70 65 | BL wipe| 00001240 72 6f 62 6f 74 73 0d 05 c8 24 20 20 20 20 20 20 |robots...$ | 00001250 20 20 4d 4f 56 20 74 65 6d 70 2c 23 31 3a 53 54 | MOV temp,#1:ST| 00001260 52 20 74 65 6d 70 2c 6d 61 6e 0d 05 d2 0d 2e 6d |R temp,man.....m| 00001270 61 6e 6c 6f 6f 70 31 0d 05 dc 44 20 20 20 20 20 |anloop1...D | 00001280 20 20 20 4c 44 52 20 74 65 6d 70 2c 6d 61 6e 3a | LDR temp,man:| 00001290 43 4d 50 20 74 65 6d 70 2c 23 31 3a 41 44 52 45 |CMP temp,#1:ADRE| 000012a0 51 20 74 65 6d 70 2c 6d 61 6e 31 3a 41 44 52 4e |Q temp,man1:ADRN| 000012b0 45 20 74 65 6d 70 2c 6d 61 6e 32 0d 05 e6 63 20 |E temp,man2...c | 000012c0 20 20 20 20 20 20 20 4c 44 4d 49 41 20 74 65 6d | LDMIA tem| 000012d0 70 2c 7b 52 31 32 2c 6f 66 66 2c 78 2c 79 2c 64 |p,{R12,off,x,y,d| 000012e0 69 72 65 63 2c 74 65 6d 70 33 7d 3a 41 44 52 20 |irec,temp3}:ADR | 000012f0 74 65 6d 70 2c 64 65 61 64 3a 53 54 4d 49 41 20 |temp,dead:STMIA | 00001300 74 65 6d 70 2c 7b 52 31 32 2c 6f 66 66 2c 78 2c |temp,{R12,off,x,| 00001310 79 2c 64 69 72 65 63 2c 74 65 6d 70 33 7d 0d 05 |y,direc,temp3}..| 00001320 f0 39 20 20 20 20 20 20 20 20 4c 44 52 20 78 2c |.9 LDR x,| 00001330 6d 61 6e 78 3a 4c 44 52 20 79 2c 6d 61 6e 79 3a |manx:LDR y,many:| 00001340 4d 4f 56 20 52 31 32 2c 23 31 3a 42 4c 20 70 6c |MOV R12,#1:BL pl| 00001350 6f 74 73 74 61 74 32 0d 05 fa 4c 20 20 20 20 20 |otstat2...L | 00001360 20 20 20 43 4d 50 20 52 31 32 2c 23 31 3a 42 45 | CMP R12,#1:BE| 00001370 51 20 6e 6f 74 64 65 61 64 31 3a 4c 44 52 20 74 |Q notdead1:LDR t| 00001380 65 6d 70 2c 64 65 61 64 3a 43 4d 50 20 74 65 6d |emp,dead:CMP tem| 00001390 70 2c 23 32 35 35 3a 42 4e 45 20 6e 6f 74 64 65 |p,#255:BNE notde| 000013a0 61 64 31 0d 05 fb 18 20 20 20 20 20 20 20 20 53 |ad1.... S| 000013b0 54 52 20 52 31 32 2c 64 65 61 64 0d 05 fc 39 20 |TR R12,dead...9 | 000013c0 20 20 20 20 20 20 20 4d 4f 56 20 52 30 2c 23 33 | MOV R0,#3| 000013d0 3a 4d 56 4e 20 52 31 2c 23 31 34 3a 4d 4f 56 20 |:MVN R1,#14:MOV | 000013e0 52 32 2c 23 73 63 72 65 61 6d 3a 4d 4f 56 20 52 |R2,#scream:MOV R| 000013f0 33 2c 23 30 0d 05 fd 1f 20 20 20 20 20 20 20 20 |3,#0.... | 00001400 53 57 49 20 22 53 6f 75 6e 64 5f 43 6f 6e 74 72 |SWI "Sound_Contr| 00001410 6f 6c 22 0d 05 fe 21 20 20 20 20 20 20 20 20 4c |ol"...! L| 00001420 44 52 20 78 2c 6d 61 6e 78 3a 4c 44 52 20 79 2c |DR x,manx:LDR y,| 00001430 6d 61 6e 79 0d 06 04 0d 2e 6e 6f 74 64 65 61 64 |many.....notdead| 00001440 31 0d 06 0e 42 20 20 20 20 20 20 20 20 20 4c 44 |1...B LD| 00001450 52 20 6f 66 66 2c 6f 66 66 73 65 74 3a 4c 44 52 |R off,offset:LDR| 00001460 20 64 69 72 65 63 2c 64 69 72 3a 43 4d 50 20 6f | direc,dir:CMP o| 00001470 66 66 2c 23 30 3a 42 4e 45 20 6f 66 66 73 65 74 |ff,#0:BNE offset| 00001480 73 65 74 0d 06 18 3f 20 20 20 20 20 20 20 20 43 |set...? C| 00001490 4d 50 20 64 69 72 65 63 2c 23 31 3a 41 44 44 45 |MP direc,#1:ADDE| 000014a0 51 20 78 2c 78 2c 23 34 3a 43 4d 50 20 64 69 72 |Q x,x,#4:CMP dir| 000014b0 65 63 2c 23 30 3a 53 55 42 45 51 20 78 2c 78 2c |ec,#0:SUBEQ x,x,| 000014c0 23 34 0d 06 22 40 20 20 20 20 20 20 20 20 20 43 |#4.."@ C| 000014d0 4d 50 20 64 69 72 65 63 2c 23 32 3a 41 44 44 45 |MP direc,#2:ADDE| 000014e0 51 20 79 2c 79 2c 23 34 3a 43 4d 50 20 64 69 72 |Q y,y,#4:CMP dir| 000014f0 65 63 2c 23 33 3a 53 55 42 45 51 20 79 2c 79 2c |ec,#3:SUBEQ y,y,| 00001500 23 34 0d 06 2c 19 20 20 20 20 20 20 20 20 20 42 |#4..,. B| 00001510 4c 20 70 6c 6f 74 73 74 61 74 32 0d 06 36 1d 20 |L plotstat2..6. | 00001520 20 20 20 20 20 20 20 20 42 20 61 66 74 65 72 73 | B afters| 00001530 65 63 6f 6e 64 73 71 72 0d 06 40 43 2e 6f 66 66 |econdsqr..@C.off| 00001540 73 65 74 73 65 74 20 20 43 4d 50 20 64 69 72 65 |setset CMP dire| 00001550 63 2c 23 31 3a 41 44 44 45 51 20 78 2c 78 2c 23 |c,#1:ADDEQ x,x,#| 00001560 34 3a 43 4d 50 20 64 69 72 65 63 2c 23 30 3a 41 |4:CMP direc,#0:A| 00001570 44 44 45 51 20 78 2c 78 2c 23 34 0d 06 4a 40 20 |DDEQ x,x,#4..J@ | 00001580 20 20 20 20 20 20 20 20 43 4d 50 20 64 69 72 65 | CMP dire| 00001590 63 2c 23 32 3a 41 44 44 45 51 20 79 2c 79 2c 23 |c,#2:ADDEQ y,y,#| 000015a0 34 3a 43 4d 50 20 64 69 72 65 63 2c 23 33 3a 41 |4:CMP direc,#3:A| 000015b0 44 44 45 51 20 79 2c 79 2c 23 34 0d 06 54 23 20 |DDEQ y,y,#4..T# | 000015c0 20 20 20 20 20 20 20 4d 4f 56 20 52 31 32 2c 23 | MOV R12,#| 000015d0 31 3a 42 4c 20 70 6c 6f 74 73 74 61 74 32 0d 06 |1:BL plotstat2..| 000015e0 5e 58 20 20 20 20 20 20 20 20 43 4d 50 20 52 31 |^X CMP R1| 000015f0 32 2c 23 31 3a 42 45 51 20 61 66 74 65 72 73 65 |2,#1:BEQ afterse| 00001600 63 6f 6e 64 73 71 72 3a 4c 44 52 20 74 65 6d 70 |condsqr:LDR temp| 00001610 2c 64 65 61 64 3a 43 4d 50 20 74 65 6d 70 2c 23 |,dead:CMP temp,#| 00001620 32 35 35 3a 42 4e 45 20 61 66 74 65 72 73 65 63 |255:BNE aftersec| 00001630 6f 6e 64 73 71 72 0d 06 5f 19 20 20 20 20 20 20 |ondsqr.._. | 00001640 20 20 20 53 54 52 20 52 31 32 2c 64 65 61 64 0d | STR R12,dead.| 00001650 06 60 3a 20 20 20 20 20 20 20 20 20 4d 4f 56 20 |.`: MOV | 00001660 52 30 2c 23 33 3a 4d 56 4e 20 52 31 2c 23 31 34 |R0,#3:MVN R1,#14| 00001670 3a 4d 4f 56 20 52 32 2c 23 73 63 72 65 61 6d 3a |:MOV R2,#scream:| 00001680 4d 4f 56 20 52 33 2c 23 30 0d 06 61 20 20 20 20 |MOV R3,#0..a | 00001690 20 20 20 20 20 20 53 57 49 20 22 53 6f 75 6e 64 | SWI "Sound| 000016a0 5f 43 6f 6e 74 72 6f 6c 22 0d 06 68 13 2e 61 66 |_Control"..h..af| 000016b0 74 65 72 73 65 63 6f 6e 64 73 71 72 0d 06 72 78 |tersecondsqr..rx| 000016c0 20 20 20 20 20 20 20 20 20 41 44 52 20 74 65 6d | ADR tem| 000016d0 70 2c 64 65 61 64 3a 4c 44 4d 49 41 20 74 65 6d |p,dead:LDMIA tem| 000016e0 70 2c 7b 52 31 32 2c 6f 66 66 2c 78 2c 79 2c 64 |p,{R12,off,x,y,d| 000016f0 69 72 65 63 2c 74 65 6d 70 33 7d 3a 4c 44 52 20 |irec,temp3}:LDR | 00001700 74 65 6d 70 2c 6d 61 6e 3a 43 4d 50 20 74 65 6d |temp,man:CMP tem| 00001710 70 2c 23 31 3a 41 44 52 45 51 20 74 65 6d 70 2c |p,#1:ADREQ temp,| 00001720 6d 61 6e 31 3a 41 44 52 4e 45 20 74 65 6d 70 2c |man1:ADRNE temp,| 00001730 6d 61 6e 32 0d 06 7c 31 20 20 20 20 20 20 20 20 |man2..|1 | 00001740 20 53 54 4d 49 41 20 74 65 6d 70 2c 7b 52 31 32 | STMIA temp,{R12| 00001750 2c 6f 66 66 2c 78 2c 79 2c 64 69 72 65 63 2c 74 |,off,x,y,direc,t| 00001760 65 6d 70 33 7d 0d 06 86 65 20 20 20 20 20 20 20 |emp3}...e | 00001770 20 20 4c 44 52 20 74 65 6d 70 2c 6d 61 6e 3a 41 | LDR temp,man:A| 00001780 44 44 20 74 65 6d 70 2c 74 65 6d 70 2c 23 31 3a |DD temp,temp,#1:| 00001790 53 54 52 20 74 65 6d 70 2c 6d 61 6e 3a 4c 44 52 |STR temp,man:LDR| 000017a0 20 74 65 6d 70 33 2c 70 6c 61 79 65 72 73 3a 43 | temp3,players:C| 000017b0 4d 50 20 74 65 6d 70 2c 74 65 6d 70 33 3a 42 4c |MP temp,temp3:BL| 000017c0 45 20 6d 61 6e 6c 6f 6f 70 31 0d 06 90 1b 20 20 |E manloop1.... | 000017d0 20 20 20 20 20 20 42 4c 20 72 65 64 72 61 77 72 | BL redrawr| 000017e0 6f 62 6f 74 73 0d 06 9a 24 20 20 20 20 20 20 20 |obots...$ | 000017f0 20 4d 4f 56 20 74 65 6d 70 2c 23 31 3a 53 54 52 | MOV temp,#1:STR| 00001800 20 74 65 6d 70 2c 6d 61 6e 0d 06 a4 0d 2e 6d 61 | temp,man.....ma| 00001810 6e 6c 6f 6f 70 32 0d 06 ae 44 20 20 20 20 20 20 |nloop2...D | 00001820 20 20 4c 44 52 20 74 65 6d 70 2c 6d 61 6e 3a 43 | LDR temp,man:C| 00001830 4d 50 20 74 65 6d 70 2c 23 31 3a 41 44 52 45 51 |MP temp,#1:ADREQ| 00001840 20 74 65 6d 70 2c 6d 61 6e 31 3a 41 44 52 4e 45 | temp,man1:ADRNE| 00001850 20 74 65 6d 70 2c 6d 61 6e 32 0d 06 b8 63 20 20 | temp,man2...c | 00001860 20 20 20 20 20 20 4c 44 4d 49 41 20 74 65 6d 70 | LDMIA temp| 00001870 2c 7b 52 31 32 2c 6f 66 66 2c 78 2c 79 2c 64 69 |,{R12,off,x,y,di| 00001880 72 65 63 2c 74 65 6d 70 33 7d 3a 41 44 52 20 74 |rec,temp3}:ADR t| 00001890 65 6d 70 2c 64 65 61 64 3a 53 54 4d 49 41 20 74 |emp,dead:STMIA t| 000018a0 65 6d 70 2c 7b 52 31 32 2c 6f 66 66 2c 78 2c 79 |emp,{R12,off,x,y| 000018b0 2c 64 69 72 65 63 2c 74 65 6d 70 33 7d 0d 06 c2 |,direc,temp3}...| 000018c0 22 20 20 20 20 20 20 20 20 20 4c 44 52 20 78 2c |" LDR x,| 000018d0 6d 61 6e 78 3a 4c 44 52 20 79 2c 6d 61 6e 79 0d |manx:LDR y,many.| 000018e0 06 cc 29 20 20 20 20 20 20 20 20 20 4c 44 52 20 |..) LDR | 000018f0 64 69 72 65 63 2c 64 69 72 3a 4c 44 52 20 6f 66 |direc,dir:LDR of| 00001900 66 2c 6f 66 66 73 65 74 0d 06 d6 2b 20 20 20 20 |f,offset...+ | 00001910 20 20 20 20 20 4c 44 52 20 73 63 72 2c 73 63 72 | LDR scr,scr| 00001920 65 65 6e 3a 4d 4f 56 20 74 65 6d 70 2c 23 34 2a |een:MOV temp,#4*| 00001930 33 32 30 0d 06 e0 25 20 20 20 20 20 20 20 20 20 |320...% | 00001940 4d 4c 41 20 74 65 6d 70 32 2c 74 65 6d 70 2c 67 |MLA temp2,temp,g| 00001950 72 69 64 79 2c 73 63 72 0d 06 ea 21 20 20 20 20 |ridy,scr...! | 00001960 20 20 20 20 41 44 44 20 73 63 72 2c 74 65 6d 70 | ADD scr,temp| 00001970 32 2c 23 33 39 2a 33 32 30 0d 06 f4 23 20 20 20 |2,#39*320...# | 00001980 20 20 20 20 20 41 44 44 20 73 63 72 2c 73 63 72 | ADD scr,scr| 00001990 2c 67 72 69 64 78 2c 4c 53 4c 23 32 0d 06 fe 38 |,gridx,LSL#2...8| 000019a0 20 20 20 20 20 20 20 20 43 4d 50 20 64 69 72 65 | CMP dire| 000019b0 63 2c 23 32 3a 4d 4f 56 47 45 20 74 65 6d 70 32 |c,#2:MOVGE temp2| 000019c0 2c 23 36 34 30 3a 4d 4f 56 4c 54 20 74 65 6d 70 |,#640:MOVLT temp| 000019d0 32 2c 23 32 0d 07 08 21 20 20 20 20 20 20 20 20 |2,#2...! | 000019e0 4d 4c 41 20 73 63 72 2c 74 65 6d 70 32 2c 6f 66 |MLA scr,temp2,of| 000019f0 66 2c 73 63 72 0d 07 12 32 20 20 20 20 20 20 20 |f,scr...2 | 00001a00 20 4c 44 52 20 52 31 32 2c 64 65 61 64 3a 43 4d | LDR R12,dead:CM| 00001a10 50 20 52 31 32 2c 23 32 35 35 3a 42 47 45 20 6e |P R12,#255:BGE n| 00001a20 6f 74 64 65 61 64 33 0d 07 1c 32 20 20 20 20 20 |otdead3...2 | 00001a30 20 20 20 4d 4f 56 20 74 65 6d 70 2c 23 34 3c 3c | MOV temp,#4<<| 00001a40 35 3a 41 44 44 20 74 65 6d 70 2c 74 65 6d 70 2c |5:ADD temp,temp,| 00001a50 52 31 32 2c 4c 53 52 23 31 0d 07 26 18 20 20 20 |R12,LSR#1..&. | 00001a60 20 20 20 20 20 42 20 61 6c 74 6f 67 65 74 68 65 | B altogethe| 00001a70 72 0d 07 30 53 2e 6e 6f 74 64 65 61 64 33 20 42 |r..0S.notdead3 B| 00001a80 45 51 20 6e 6f 61 75 72 61 3a 53 55 42 20 52 31 |EQ noaura:SUB R1| 00001a90 32 2c 52 31 32 2c 23 31 3a 53 54 52 20 52 31 32 |2,R12,#1:STR R12| 00001aa0 2c 64 65 61 64 3a 4d 4f 56 20 74 65 6d 70 33 2c |,dead:MOV temp3,| 00001ab0 73 63 72 3a 41 44 52 20 52 31 34 2c 62 5f 66 5f |scr:ADR R14,b_f_| 00001ac0 61 75 72 61 0d 07 3a 1b 20 20 20 20 20 20 20 20 |aura..:. | 00001ad0 20 20 4c 44 52 20 50 43 2c 61 75 72 61 73 70 0d | LDR PC,aurasp.| 00001ae0 07 44 1b 2e 62 5f 66 5f 61 75 72 61 20 4d 4f 56 |.D..b_f_aura MOV| 00001af0 20 73 63 72 2c 74 65 6d 70 33 0d 07 4e 22 2e 6e | scr,temp3..N".n| 00001b00 6f 61 75 72 61 20 20 20 4d 4f 56 20 74 65 6d 70 |oaura MOV temp| 00001b10 2c 64 69 72 65 63 2c 4c 53 4c 23 35 0d 07 58 3f |,direc,LSL#5..X?| 00001b20 20 20 20 20 20 20 20 20 41 44 44 20 74 65 6d 70 | ADD temp| 00001b30 2c 74 65 6d 70 2c 6f 66 66 2c 4c 53 4c 23 32 20 |,temp,off,LSL#2 | 00001b40 20 20 3b 66 69 6e 64 20 61 64 64 72 20 6f 66 20 | ;find addr of | 00001b50 6d 61 6e 20 72 6f 75 74 69 6e 65 0d 07 62 41 20 |man routine..bA | 00001b60 20 20 20 20 20 20 20 4c 44 52 20 74 65 6d 70 33 | LDR temp3| 00001b70 2c 6d 61 6e 3a 43 4d 50 20 74 65 6d 70 33 2c 23 |,man:CMP temp3,#| 00001b80 31 3a 41 44 44 4e 45 20 74 65 6d 70 2c 74 65 6d |1:ADDNE temp,tem| 00001b90 70 2c 23 34 2a 34 2a 38 2b 37 2a 34 0d 07 6c 20 |p,#4*4*8+7*4..l | 00001ba0 2e 61 6c 74 6f 67 65 74 68 65 72 20 4c 44 52 20 |.altogether LDR | 00001bb0 74 65 6d 70 32 2c 6d 61 6e 67 66 78 0d 07 76 1a |temp2,mangfx..v.| 00001bc0 20 20 20 20 20 20 20 20 41 44 52 20 52 31 34 2c | ADR R14,| 00001bd0 72 65 6e 64 65 7a 0d 07 80 1e 20 20 20 20 20 20 |rendez.... | 00001be0 20 20 42 49 43 20 74 65 6d 70 2c 74 65 6d 70 2c | BIC temp,temp,| 00001bf0 23 25 31 31 0d 07 8a 30 20 20 20 20 20 20 20 53 |#%11...0 S| 00001c00 54 52 20 74 65 6d 70 32 2c 63 68 65 63 6b 74 6d |TR temp2,checktm| 00001c10 70 32 3a 53 54 52 20 74 65 6d 70 2c 63 68 65 63 |p2:STR temp,chec| 00001c20 6b 74 6d 70 0d 07 94 1f 20 20 20 20 20 20 20 20 |ktmp.... | 00001c30 4c 44 52 20 50 43 2c 5b 74 65 6d 70 32 2c 74 65 |LDR PC,[temp2,te| 00001c40 6d 70 5d 0d 07 9e 0b 2e 72 65 6e 64 65 7a 0d 07 |mp].....rendez..| 00001c50 a8 32 20 20 20 20 20 20 20 20 4c 44 52 20 52 31 |.2 LDR R1| 00001c60 32 2c 64 65 61 64 3a 43 4d 50 20 52 31 32 2c 23 |2,dead:CMP R12,#| 00001c70 32 35 35 3a 42 47 45 20 6e 6f 74 64 65 61 64 32 |255:BGE notdead2| 00001c80 0d 07 b2 3e 20 20 20 20 20 20 20 20 41 44 44 20 |...> ADD | 00001c90 52 31 32 2c 52 31 32 2c 23 31 3a 43 4d 50 20 52 |R12,R12,#1:CMP R| 00001ca0 31 32 2c 23 34 39 3a 4c 44 52 45 51 20 50 43 2c |12,#49:LDREQ PC,| 00001cb0 62 61 63 6b 5f 66 72 6f 6d 5f 6d 61 69 6e 0d 07 |back_from_main..| 00001cc0 bc 24 20 20 20 20 20 20 20 20 53 54 52 20 52 31 |.$ STR R1| 00001cd0 32 2c 64 65 61 64 3a 42 20 65 6e 64 75 70 64 61 |2,dead:B endupda| 00001ce0 74 65 0d 07 c6 0d 2e 6e 6f 74 64 65 61 64 32 0d |te.....notdead2.| 00001cf0 07 d0 23 20 20 20 20 20 20 20 20 43 4d 50 20 6f |..# CMP o| 00001d00 66 66 2c 23 30 3a 42 45 51 20 6b 65 79 63 68 65 |ff,#0:BEQ keyche| 00001d10 63 6b 0d 07 da 22 20 20 20 20 20 20 20 20 43 4d |ck..." CM| 00001d20 50 20 64 69 72 65 63 2c 23 31 3a 42 45 51 20 62 |P direc,#1:BEQ b| 00001d30 61 63 6b 77 0d 07 e4 22 20 20 20 20 20 20 20 20 |ackw..." | 00001d40 43 4d 50 20 64 69 72 65 63 2c 23 32 3a 42 45 51 |CMP direc,#2:BEQ| 00001d50 20 62 61 63 6b 77 0d 07 ee 33 20 20 20 20 20 20 | backw...3 | 00001d60 20 20 41 44 44 20 6f 66 66 2c 6f 66 66 2c 23 31 | ADD off,off,#1| 00001d70 3a 43 4d 50 20 6f 66 66 2c 23 38 3a 42 4c 54 20 |:CMP off,#8:BLT | 00001d80 65 6e 64 75 70 64 61 74 65 0d 07 f8 16 20 20 20 |endupdate.... | 00001d90 20 20 20 20 20 4d 4f 56 20 6f 66 66 2c 23 30 0d | MOV off,#0.| 00001da0 08 02 38 20 20 20 20 20 20 20 20 43 4d 50 20 64 |..8 CMP d| 00001db0 69 72 65 63 2c 23 30 3a 4c 44 52 45 51 20 74 65 |irec,#0:LDREQ te| 00001dc0 6d 70 2c 6d 61 6e 78 3a 4c 44 52 4e 45 20 74 65 |mp,manx:LDRNE te| 00001dd0 6d 70 2c 6d 61 6e 79 0d 08 0c 3c 20 20 20 20 20 |mp,many...< | 00001de0 20 20 20 41 44 44 20 74 65 6d 70 2c 74 65 6d 70 | ADD temp,temp| 00001df0 2c 23 34 3a 53 54 52 45 51 20 74 65 6d 70 2c 6d |,#4:STREQ temp,m| 00001e00 61 6e 78 3a 53 54 52 4e 45 20 74 65 6d 70 2c 6d |anx:STRNE temp,m| 00001e10 61 6e 79 0d 08 16 17 20 20 20 20 20 20 20 20 42 |any.... B| 00001e20 20 65 6e 64 75 70 64 61 74 65 0d 08 20 1a 2e 62 | endupdate.. ..b| 00001e30 61 63 6b 77 20 20 53 55 42 20 6f 66 66 2c 6f 66 |ackw SUB off,of| 00001e40 66 2c 23 31 0d 08 2a 1d 2e 65 6e 64 75 70 64 61 |f,#1..*..endupda| 00001e50 74 65 20 53 54 52 20 6f 66 66 2c 6f 66 66 73 65 |te STR off,offse| 00001e60 74 0d 08 34 78 20 20 20 20 20 20 20 20 20 41 44 |t..4x AD| 00001e70 52 20 74 65 6d 70 2c 64 65 61 64 3a 4c 44 4d 49 |R temp,dead:LDMI| 00001e80 41 20 74 65 6d 70 2c 7b 52 31 32 2c 6f 66 66 2c |A temp,{R12,off,| 00001e90 78 2c 79 2c 64 69 72 65 63 2c 74 65 6d 70 33 7d |x,y,direc,temp3}| 00001ea0 3a 4c 44 52 20 74 65 6d 70 2c 6d 61 6e 3a 43 4d |:LDR temp,man:CM| 00001eb0 50 20 74 65 6d 70 2c 23 31 3a 41 44 52 45 51 20 |P temp,#1:ADREQ | 00001ec0 74 65 6d 70 2c 6d 61 6e 31 3a 41 44 52 4e 45 20 |temp,man1:ADRNE | 00001ed0 74 65 6d 70 2c 6d 61 6e 32 0d 08 3e 31 20 20 20 |temp,man2..>1 | 00001ee0 20 20 20 20 20 20 53 54 4d 49 41 20 74 65 6d 70 | STMIA temp| 00001ef0 2c 7b 52 31 32 2c 6f 66 66 2c 78 2c 79 2c 64 69 |,{R12,off,x,y,di| 00001f00 72 65 63 2c 74 65 6d 70 33 7d 0d 08 48 65 20 20 |rec,temp3}..He | 00001f10 20 20 20 20 20 20 20 4c 44 52 20 74 65 6d 70 2c | LDR temp,| 00001f20 6d 61 6e 3a 41 44 44 20 74 65 6d 70 2c 74 65 6d |man:ADD temp,tem| 00001f30 70 2c 23 31 3a 53 54 52 20 74 65 6d 70 2c 6d 61 |p,#1:STR temp,ma| 00001f40 6e 3a 4c 44 52 20 74 65 6d 70 33 2c 70 6c 61 79 |n:LDR temp3,play| 00001f50 65 72 73 3a 43 4d 50 20 74 65 6d 70 2c 74 65 6d |ers:CMP temp,tem| 00001f60 70 33 3a 42 4c 45 20 6d 61 6e 6c 6f 6f 70 32 0d |p3:BLE manloop2.| 00001f70 08 52 42 20 20 20 20 20 20 20 20 20 20 20 4c 44 |.RB LD| 00001f80 52 20 74 65 6d 70 2c 72 75 62 62 6c 65 3a 43 4d |R temp,rubble:CM| 00001f90 50 20 74 65 6d 70 2c 23 30 3a 4c 44 52 45 51 20 |P temp,#0:LDREQ | 00001fa0 50 43 2c 62 61 63 6b 5f 66 72 6f 6d 5f 6d 61 69 |PC,back_from_mai| 00001fb0 6e 0d 08 5c 15 20 20 20 20 20 20 20 42 20 6d 61 |n..\. B ma| 00001fc0 69 6e 6c 6f 6f 70 0d 08 66 05 3a 0d 08 70 1a 2e |inloop..f.:..p..| 00001fd0 6d 61 6e 67 66 78 20 45 51 55 44 20 28 6d 61 6e |mangfx EQUD (man| 00001fe0 72 74 6e 73 29 0d 08 7a 37 2e 66 69 6e 64 74 6f |rtns)..z7.findto| 00001ff0 6b 65 6e 20 41 44 44 20 74 65 6d 70 2c 74 65 6d |ken ADD temp,tem| 00002000 70 2c 73 70 6e 75 6d 3a 4c 44 52 42 20 73 70 6e |p,spnum:LDRB spn| 00002010 75 6d 2c 5b 74 65 6d 70 2c 23 31 5d 0d 08 84 28 |um,[temp,#1]...(| 00002020 20 20 20 20 20 20 20 20 20 20 20 43 4d 50 20 73 | CMP s| 00002030 70 6e 75 6d 2c 23 34 38 3a 42 4c 54 20 74 6f 6b |pnum,#48:BLT tok| 00002040 65 6e 65 64 0d 08 8e 35 20 20 20 20 20 20 20 20 |ened...5 | 00002050 20 20 4c 44 52 20 52 37 2c 73 63 6f 72 65 3a 41 | LDR R7,score:A| 00002060 44 44 20 52 37 2c 52 37 2c 23 35 30 3a 53 54 52 |DD R7,R7,#50:STR| 00002070 20 52 37 2c 73 63 6f 72 65 0d 08 98 3d 20 20 20 | R7,score...= | 00002080 20 20 20 20 20 20 20 20 42 47 54 20 6d 6f 72 65 | BGT more| 00002090 66 69 72 65 3a 4d 4f 56 20 74 61 62 6c 65 2c 23 |fire:MOV table,#| 000020a0 33 3a 53 54 52 42 20 74 61 62 6c 65 2c 5b 74 65 |3:STRB table,[te| 000020b0 6d 70 2c 23 31 5d 0d 08 a2 20 20 20 20 20 20 20 |mp,#1]... | 000020c0 20 20 20 20 20 53 54 52 42 20 74 61 62 6c 65 2c | STRB table,| 000020d0 5b 74 65 6d 70 5d 0d 08 ac 2f 20 20 20 20 20 20 |[temp].../ | 000020e0 20 20 20 20 20 41 44 52 20 74 65 6d 70 2c 73 74 | ADR temp,st| 000020f0 61 74 73 3a 4c 44 52 42 20 73 70 6e 75 6d 2c 5b |ats:LDRB spnum,[| 00002100 74 65 6d 70 5d 0d 08 b6 33 20 20 20 20 20 20 20 |temp]...3 | 00002110 20 20 20 20 41 44 44 20 73 70 6e 75 6d 2c 73 70 | ADD spnum,sp| 00002120 6e 75 6d 2c 23 31 3a 53 54 52 42 20 73 70 6e 75 |num,#1:STRB spnu| 00002130 6d 2c 5b 74 65 6d 70 5d 0d 08 c0 47 20 20 20 20 |m,[temp]...G | 00002140 20 20 20 20 20 20 20 4d 4f 56 20 74 65 6d 70 2c | MOV temp,| 00002150 78 3a 4d 4f 56 20 74 65 6d 70 32 2c 79 3a 4d 4f |x:MOV temp2,y:MO| 00002160 56 20 52 30 2c 23 32 3a 4d 56 4e 20 52 31 2c 23 |V R0,#2:MVN R1,#| 00002170 31 34 3a 4d 4f 56 20 52 32 2c 23 70 69 6e 67 0d |14:MOV R2,#ping.| 00002180 08 ca 39 20 20 20 20 20 20 20 20 20 20 20 53 57 |..9 SW| 00002190 49 20 22 53 6f 75 6e 64 5f 43 6f 6e 74 72 6f 6c |I "Sound_Control| 000021a0 22 3a 4d 4f 56 20 78 2c 74 65 6d 70 3a 4d 4f 56 |":MOV x,temp:MOV| 000021b0 20 79 2c 74 65 6d 70 32 0d 08 d4 3f 20 20 20 20 | y,temp2...? | 000021c0 20 20 20 20 20 20 20 4c 44 52 20 74 65 6d 70 2c | LDR temp,| 000021d0 72 75 62 62 6c 65 3a 53 55 42 20 74 65 6d 70 2c |rubble:SUB temp,| 000021e0 74 65 6d 70 2c 23 31 3a 53 54 52 20 74 65 6d 70 |temp,#1:STR temp| 000021f0 2c 72 75 62 62 6c 65 0d 08 de 18 20 20 20 20 20 |,rubble.... | 00002200 20 20 20 20 20 20 42 20 74 6f 6b 65 6e 65 64 0d | B tokened.| 00002210 08 e8 4a 2e 6d 6f 72 65 66 69 72 65 20 20 43 4d |..J.morefire CM| 00002220 50 20 73 70 6e 75 6d 2c 23 34 39 3a 42 47 54 20 |P spnum,#49:BGT | 00002230 75 6e 6b 6e 6f 77 6e 3a 4d 4f 56 20 74 61 62 6c |unknown:MOV tabl| 00002240 65 2c 23 33 3a 53 54 52 42 20 74 61 62 6c 65 2c |e,#3:STRB table,| 00002250 5b 74 65 6d 70 2c 23 31 5d 0d 08 f2 20 20 20 20 |[temp,#1]... | 00002260 20 20 20 20 20 20 20 20 53 54 52 42 20 74 61 62 | STRB tab| 00002270 6c 65 2c 5b 74 65 6d 70 5d 0d 08 fc 32 20 20 20 |le,[temp]...2 | 00002280 20 20 20 20 20 20 20 20 41 44 52 20 74 65 6d 70 | ADR temp| 00002290 2c 73 74 61 74 73 3a 4c 44 52 42 20 73 70 6e 75 |,stats:LDRB spnu| 000022a0 6d 2c 5b 74 65 6d 70 2c 23 32 5d 0d 09 06 36 20 |m,[temp,#2]...6 | 000022b0 20 20 20 20 20 20 20 20 20 20 41 44 44 20 73 70 | ADD sp| 000022c0 6e 75 6d 2c 73 70 6e 75 6d 2c 23 31 3a 53 54 52 |num,spnum,#1:STR| 000022d0 42 20 73 70 6e 75 6d 2c 5b 74 65 6d 70 2c 23 32 |B spnum,[temp,#2| 000022e0 5d 0d 09 10 47 20 20 20 20 20 20 20 20 20 20 20 |]...G | 000022f0 4d 4f 56 20 74 65 6d 70 2c 78 3a 4d 4f 56 20 74 |MOV temp,x:MOV t| 00002300 65 6d 70 32 2c 79 3a 4d 4f 56 20 52 30 2c 23 32 |emp2,y:MOV R0,#2| 00002310 3a 4d 56 4e 20 52 31 2c 23 31 34 3a 4d 4f 56 20 |:MVN R1,#14:MOV | 00002320 52 32 2c 23 70 69 6e 67 0d 09 1a 39 20 20 20 20 |R2,#ping...9 | 00002330 20 20 20 20 20 20 20 53 57 49 20 22 53 6f 75 6e | SWI "Soun| 00002340 64 5f 43 6f 6e 74 72 6f 6c 22 3a 4d 4f 56 20 78 |d_Control":MOV x| 00002350 2c 74 65 6d 70 3a 4d 4f 56 20 79 2c 74 65 6d 70 |,temp:MOV y,temp| 00002360 32 0d 09 24 3f 20 20 20 20 20 20 20 20 20 20 20 |2..$? | 00002370 4c 44 52 20 74 65 6d 70 2c 72 75 62 62 6c 65 3a |LDR temp,rubble:| 00002380 53 55 42 20 74 65 6d 70 2c 74 65 6d 70 2c 23 31 |SUB temp,temp,#1| 00002390 3a 53 54 52 20 74 65 6d 70 2c 72 75 62 62 6c 65 |:STR temp,rubble| 000023a0 0d 09 2e 18 20 20 20 20 20 20 20 20 20 20 20 42 |.... B| 000023b0 20 74 6f 6b 65 6e 65 64 0d 09 38 4a 2e 75 6e 6b | tokened..8J.unk| 000023c0 6e 6f 77 6e 20 20 20 43 4d 50 20 73 70 6e 75 6d |nown CMP spnum| 000023d0 2c 23 35 30 3a 42 4e 45 20 74 6f 6b 65 6e 65 64 |,#50:BNE tokened| 000023e0 3a 4d 4f 56 20 74 61 62 6c 65 2c 23 33 3a 53 54 |:MOV table,#3:ST| 000023f0 52 42 20 74 61 62 6c 65 2c 5b 74 65 6d 70 2c 23 |RB table,[temp,#| 00002400 31 5d 0d 09 42 36 20 20 20 20 20 20 20 20 20 20 |1]..B6 | 00002410 20 4c 44 52 20 52 37 2c 73 63 6f 72 65 3a 41 44 | LDR R7,score:AD| 00002420 44 20 52 37 2c 52 37 2c 23 32 35 3a 53 54 52 20 |D R7,R7,#25:STR | 00002430 52 37 2c 73 63 6f 72 65 0d 09 4c 20 20 20 20 20 |R7,score..L | 00002440 20 20 20 20 20 20 20 53 54 52 42 20 74 61 62 6c | STRB tabl| 00002450 65 2c 5b 74 65 6d 70 5d 0d 09 56 47 20 20 20 20 |e,[temp]..VG | 00002460 20 20 20 20 20 20 20 4d 4f 56 20 74 65 6d 70 2c | MOV temp,| 00002470 78 3a 4d 4f 56 20 74 65 6d 70 32 2c 79 3a 4d 4f |x:MOV temp2,y:MO| 00002480 56 20 52 30 2c 23 32 3a 4d 56 4e 20 52 31 2c 23 |V R0,#2:MVN R1,#| 00002490 31 34 3a 4d 4f 56 20 52 32 2c 23 70 69 6e 67 0d |14:MOV R2,#ping.| 000024a0 09 60 39 20 20 20 20 20 20 20 20 20 20 20 53 57 |.`9 SW| 000024b0 49 20 22 53 6f 75 6e 64 5f 43 6f 6e 74 72 6f 6c |I "Sound_Control| 000024c0 22 3a 4d 4f 56 20 78 2c 74 65 6d 70 3a 4d 4f 56 |":MOV x,temp:MOV| 000024d0 20 79 2c 74 65 6d 70 32 0d 09 6a 3f 20 20 20 20 | y,temp2..j? | 000024e0 20 20 20 20 20 20 20 4c 44 52 20 74 65 6d 70 2c | LDR temp,| 000024f0 72 75 62 62 6c 65 3a 53 55 42 20 74 65 6d 70 2c |rubble:SUB temp,| 00002500 74 65 6d 70 2c 23 31 3a 53 54 52 20 74 65 6d 70 |temp,#1:STR temp| 00002510 2c 72 75 62 62 6c 65 0d 09 74 31 20 20 20 20 20 |,rubble..t1 | 00002520 20 20 20 20 20 20 41 44 52 20 52 31 34 2c 74 6f | ADR R14,to| 00002530 6b 65 6e 65 64 3a 4c 44 52 20 50 43 2c 65 78 65 |kened:LDR PC,exe| 00002540 63 75 6e 6b 6e 6f 77 6e 0d 09 7e 05 3a 0d 09 88 |cunknown..~.:...| 00002550 11 2e 73 63 6f 72 65 20 45 51 55 44 20 30 0d 09 |..score EQUD 0..| 00002560 92 12 2e 61 75 72 61 73 70 20 45 51 55 44 20 30 |...aurasp EQUD 0| 00002570 0d 09 9c 1f 2e 65 78 65 63 75 6e 6b 6e 6f 77 6e |.....execunknown| 00002580 20 45 51 55 44 20 28 6d 79 73 74 65 72 79 29 0d | EQUD (mystery).| 00002590 09 a6 14 2e 63 68 65 63 6b 74 6d 70 20 45 51 55 |....checktmp EQU| 000025a0 44 20 30 0d 09 b0 15 2e 63 68 65 63 6b 74 6d 70 |D 0.....checktmp| 000025b0 32 20 45 51 55 44 20 30 0d 09 ba 1d 2e 70 6c 6f |2 EQUD 0.....plo| 000025c0 74 73 74 61 74 32 20 41 44 52 20 74 65 6d 70 2c |tstat2 ADR temp,| 000025d0 73 61 66 65 32 0d 09 c4 34 20 20 20 20 20 20 20 |safe2...4 | 000025e0 20 53 54 4d 49 41 20 74 65 6d 70 2c 7b 78 2c 79 | STMIA temp,{x,y| 000025f0 2c 6f 66 66 2c 64 69 72 65 63 2c 52 35 2c 52 39 |,off,direc,R5,R9| 00002600 2d 52 31 31 2c 52 31 34 7d 0d 09 ce 1a 20 20 20 |-R11,R14}.... | 00002610 20 20 20 20 20 4c 44 52 20 73 63 72 2c 73 63 72 | LDR scr,scr| 00002620 65 65 6e 0d 09 d8 18 20 20 20 20 20 20 20 20 4d |een.... M| 00002630 4f 56 20 74 65 6d 70 2c 23 31 39 0d 09 e2 1e 20 |OV temp,#19.... | 00002640 20 20 20 20 20 20 20 4d 4c 41 20 73 70 6e 75 6d | MLA spnum| 00002650 2c 79 2c 74 65 6d 70 2c 78 0d 09 ec 19 20 20 20 |,y,temp,x.... | 00002660 20 20 20 20 20 4c 44 52 20 74 65 6d 70 2c 67 72 | LDR temp,gr| 00002670 69 64 0d 09 f6 23 20 20 20 20 20 20 20 20 4c 44 |id...# LD| 00002680 52 42 20 74 61 62 6c 65 2c 5b 74 65 6d 70 2c 73 |RB table,[temp,s| 00002690 70 6e 75 6d 5d 0d 0a 00 41 20 20 20 20 20 20 20 |pnum]...A | 000026a0 20 4c 44 52 20 52 31 31 2c 6d 61 6e 3a 4c 44 52 | LDR R11,man:LDR| 000026b0 20 52 31 30 2c 70 6c 61 79 65 72 73 3a 43 4d 50 | R10,players:CMP| 000026c0 20 52 31 31 2c 52 31 30 3a 42 4c 45 20 66 69 6e | R11,R10:BLE fin| 000026d0 64 74 6f 6b 65 6e 0d 0a 0a 25 2e 74 6f 6b 65 6e |dtoken...%.token| 000026e0 65 64 20 43 4d 50 20 74 61 62 6c 65 2c 23 34 3a |ed CMP table,#4:| 000026f0 42 4c 54 20 6e 6f 74 65 78 70 6c 0d 0a 14 26 20 |BLT notexpl...& | 00002700 20 20 20 20 20 20 20 43 4d 50 20 74 61 62 6c 65 | CMP table| 00002710 2c 23 33 32 3a 4d 4f 56 4c 54 20 52 31 32 2c 23 |,#32:MOVLT R12,#| 00002720 30 0d 0a 1e 0c 2e 6e 6f 74 65 78 70 6c 0d 0a 28 |0.....notexpl..(| 00002730 21 20 20 20 20 20 20 20 20 4d 4f 56 20 74 61 62 |! MOV tab| 00002740 6c 65 2c 74 61 62 6c 65 2c 4c 53 4c 23 38 0d 0a |le,table,LSL#8..| 00002750 32 1d 20 20 20 20 20 20 20 20 4c 44 52 20 73 70 |2. LDR sp| 00002760 6e 75 6d 2c 73 70 72 69 74 65 73 0d 0a 3c 21 20 |num,sprites..<! | 00002770 20 20 20 20 20 20 20 41 44 44 20 74 61 62 6c 65 | ADD table| 00002780 2c 74 61 62 6c 65 2c 73 70 6e 75 6d 0d 0a 46 1b |,table,spnum..F.| 00002790 20 20 20 20 20 20 20 20 4d 4f 56 20 74 65 6d 70 | MOV temp| 000027a0 2c 23 34 2a 33 32 30 0d 0a 50 20 20 20 20 20 20 |,#4*320..P | 000027b0 20 20 20 4d 4c 41 20 74 65 6d 70 32 2c 74 65 6d | MLA temp2,tem| 000027c0 70 2c 79 2c 73 63 72 0d 0a 5a 21 20 20 20 20 20 |p,y,scr..Z! | 000027d0 20 20 20 41 44 44 20 73 63 72 2c 74 65 6d 70 32 | ADD scr,temp2| 000027e0 2c 23 33 39 2a 33 32 30 0d 0a 64 23 20 20 20 20 |,#39*320..d# | 000027f0 20 20 20 20 41 44 44 20 73 63 72 2c 73 63 72 2c | ADD scr,scr,| 00002800 67 72 69 64 78 2c 4c 53 4c 23 32 0d 0a 6e 1f 5d |gridx,LSL#2..n.]| 00002810 3a 20 20 20 20 20 20 e3 20 6c 3d 31 20 b8 20 38 |: . l=1 . 8| 00002820 3a 5b 4f 50 54 20 70 61 73 73 0d 0a 78 2f 20 20 |:[OPT pass..x/ | 00002830 20 20 20 20 20 20 4c 44 4d 49 41 20 28 74 61 62 | LDMIA (tab| 00002840 6c 65 29 21 2c 7b 52 31 2d 52 33 2c 52 35 2d 52 |le)!,{R1-R3,R5-R| 00002850 37 2c 52 39 2c 52 31 30 7d 0d 0a 82 22 20 20 20 |7,R9,R10}..." | 00002860 20 20 20 20 20 53 54 4d 49 41 20 28 73 63 72 29 | STMIA (scr)| 00002870 2c 7b 52 31 2d 52 33 2c 52 35 7d 0d 0a 8c 1c 20 |,{R1-R3,R5}.... | 00002880 20 20 20 20 20 20 20 41 44 44 20 73 63 72 2c 73 | ADD scr,s| 00002890 63 72 2c 23 33 32 30 0d 0a 96 26 20 20 20 20 20 |cr,#320...& | 000028a0 20 20 20 53 54 4d 49 41 20 28 73 63 72 29 2c 7b | STMIA (scr),{| 000028b0 52 36 2c 52 37 2c 52 39 2c 52 31 30 7d 0d 0a a0 |R6,R7,R9,R10}...| 000028c0 1c 20 20 20 20 20 20 20 20 41 44 44 20 73 63 72 |. ADD scr| 000028d0 2c 73 63 72 2c 23 33 32 30 0d 0a aa 19 5d 3a 20 |,scr,#320....]: | 000028e0 20 20 20 20 20 ed 20 6c 3a 5b 4f 50 54 20 70 61 | . l:[OPT pa| 000028f0 73 73 0d 0a b4 1a 20 20 20 20 20 20 20 20 41 44 |ss.... AD| 00002900 52 20 74 65 6d 70 2c 73 61 66 65 32 0d 0a be 34 |R temp,safe2...4| 00002910 20 20 20 20 20 20 20 20 4c 44 4d 49 41 20 74 65 | LDMIA te| 00002920 6d 70 2c 7b 78 2c 79 2c 6f 66 66 2c 64 69 72 65 |mp,{x,y,off,dire| 00002930 63 2c 52 35 2c 52 39 2d 52 31 31 2c 52 31 34 7d |c,R5,R9-R11,R14}| 00002940 0d 0a c8 16 20 20 20 20 20 20 20 20 4d 4f 56 20 |.... MOV | 00002950 50 43 2c 52 31 34 0d 0a d2 1a 2e 73 61 66 65 32 |PC,R14.....safe2| 00002960 20 20 a4 72 65 73 65 72 76 65 28 34 2a 31 30 29 | .reserve(4*10)| 00002970 0d 0a dc 05 3a 0d 0a e6 0d 2e 6b 65 79 63 68 65 |....:.....keyche| 00002980 63 6b 0d 0a f0 3e 20 3b 20 4f 53 42 59 54 45 20 |ck...> ; OSBYTE | 00002990 57 49 54 48 20 52 30 3d 31 32 31 20 80 20 52 31 |WITH R0=121 . R1| 000029a0 3d 4b 45 59 20 4e 55 4d 20 82 20 26 38 30 20 41 |=KEY NUM . &80 A| 000029b0 53 20 ee 20 f1 31 34 32 2f 33 20 80 42 2e fd e5 |S . .142/3 .B...| 000029c0 0d 0b 04 14 20 20 4c 44 52 20 6f 66 66 2c 6f 66 |.... LDR off,of| 000029d0 66 73 65 74 0d 0b 0e 17 20 20 20 20 20 20 20 20 |fset.... | 000029e0 4c 44 52 20 52 31 31 2c 6d 61 6e 0d 0b 18 2e 20 |LDR R11,man.... | 000029f0 20 20 20 20 20 20 20 4c 44 52 20 78 2c 6d 61 6e | LDR x,man| 00002a00 78 3a 4c 44 52 20 79 2c 6d 61 6e 79 3a 4d 4f 56 |x:LDR y,many:MOV| 00002a10 20 74 65 6d 70 2c 23 31 39 0d 0b 22 1e 20 20 20 | temp,#19..". | 00002a20 20 20 20 20 20 4d 4c 41 20 73 70 6e 75 6d 2c 79 | MLA spnum,y| 00002a30 2c 74 65 6d 70 2c 78 0d 0b 2c 19 20 20 20 20 20 |,temp,x..,. | 00002a40 20 20 20 4c 44 52 20 74 65 6d 70 2c 67 72 69 64 | LDR temp,grid| 00002a50 0d 0b 36 30 20 20 20 20 20 20 20 20 41 44 44 20 |..60 ADD | 00002a60 74 65 6d 70 2c 74 65 6d 70 2c 73 70 6e 75 6d 3a |temp,temp,spnum:| 00002a70 41 44 44 20 74 65 6d 70 2c 74 65 6d 70 2c 23 31 |ADD temp,temp,#1| 00002a80 0d 0b 40 35 20 20 20 20 20 20 20 20 4c 44 52 42 |..@5 LDRB| 00002a90 20 74 65 6d 70 32 2c 5b 74 65 6d 70 5d 3a 43 4d | temp2,[temp]:CM| 00002aa0 50 20 74 65 6d 70 32 2c 23 33 3a 42 4e 45 20 6c |P temp2,#3:BNE l| 00002ab0 65 66 74 6d 76 0d 0b 4a 53 20 20 20 20 20 20 20 |eftmv..JS | 00002ac0 20 4c 44 52 20 52 30 2c 6d 61 6e 73 74 61 74 73 | LDR R0,manstats| 00002ad0 3a 4c 44 52 42 20 74 65 6d 70 33 2c 5b 52 30 2c |:LDRB temp3,[R0,| 00002ae0 23 31 5d 3a 4c 44 52 42 20 52 30 2c 5b 52 30 5d |#1]:LDRB R0,[R0]| 00002af0 3a 43 4d 50 20 74 65 6d 70 33 2c 52 30 3a 42 47 |:CMP temp3,R0:BG| 00002b00 45 20 6c 65 66 74 6d 76 0d 0b 54 44 20 20 20 20 |E leftmv..TD | 00002b10 20 20 20 20 4c 44 52 20 52 30 2c 6d 61 6e 73 74 | LDR R0,manst| 00002b20 61 74 73 3a 4c 44 52 42 20 74 65 6d 70 33 2c 5b |ats:LDRB temp3,[| 00002b30 52 30 2c 23 33 5d 3a 54 53 54 20 74 65 6d 70 33 |R0,#3]:TST temp3| 00002b40 2c 23 31 3a 42 4e 45 20 64 72 6f 70 0d 0b 5e 17 |,#1:BNE drop..^.| 00002b50 20 20 20 20 20 20 20 20 4d 4f 56 20 52 30 2c 23 | MOV R0,#| 00002b60 31 32 31 0d 0b 68 3d 20 20 20 20 20 20 20 20 43 |121..h= C| 00002b70 4d 50 20 52 31 31 2c 23 31 3a ec 51 20 52 31 2c |MP R11,#1:.Q R1,| 00002b80 23 28 38 33 20 82 20 26 38 30 29 3a 4d 4f 56 4e |#(83 . &80):MOVN| 00002b90 45 20 52 31 2c 23 28 35 38 20 82 20 26 38 30 29 |E R1,#(58 . &80)| 00002ba0 0d 0b 72 19 20 20 20 20 20 20 20 20 53 57 49 20 |..r. SWI | 00002bb0 22 4f 53 5f 42 79 74 65 22 0d 0b 7c 20 20 20 20 |"OS_Byte"..| | 00002bc0 20 20 20 20 20 43 4d 50 20 52 31 2c 23 30 3a 42 | CMP R1,#0:B| 00002bd0 45 51 20 6c 65 66 74 6d 76 0d 0b 86 54 2e 64 72 |EQ leftmv...T.dr| 00002be0 6f 70 20 20 20 4c 44 52 20 52 30 2c 6d 61 6e 73 |op LDR R0,mans| 00002bf0 74 61 74 73 3a 4c 44 52 42 20 74 65 6d 70 33 2c |tats:LDRB temp3,| 00002c00 5b 52 30 2c 23 31 5d 3a 41 44 44 20 74 65 6d 70 |[R0,#1]:ADD temp| 00002c10 33 2c 74 65 6d 70 33 2c 23 31 3a 53 54 52 42 20 |3,temp3,#1:STRB | 00002c20 74 65 6d 70 33 2c 5b 52 30 2c 23 31 5d 0d 0b 90 |temp3,[R0,#1]...| 00002c30 4e 20 20 20 20 20 20 20 20 4d 4f 56 20 74 65 6d |N MOV tem| 00002c40 70 32 2c 23 32 3a 53 54 52 42 20 74 65 6d 70 32 |p2,#2:STRB temp2| 00002c50 2c 5b 74 65 6d 70 5d 3a 4d 4f 56 20 74 65 6d 70 |,[temp]:MOV temp| 00002c60 32 2c 23 34 37 3a 53 54 52 42 20 74 65 6d 70 32 |2,#47:STRB temp2| 00002c70 2c 5b 74 65 6d 70 2c 23 2d 31 5d 0d 0b 9a 42 20 |,[temp,#-1]...B | 00002c80 20 20 20 20 20 20 20 4d 4f 56 20 74 65 6d 70 32 | MOV temp2| 00002c90 2c 23 31 32 37 3a 53 54 52 42 20 74 65 6d 70 32 |,#127:STRB temp2| 00002ca0 2c 5b 74 65 6d 70 2c 23 31 5d 3a 53 54 52 42 20 |,[temp,#1]:STRB | 00002cb0 52 31 31 2c 5b 74 65 6d 70 2c 23 32 5d 0d 0b a4 |R11,[temp,#2]...| 00002cc0 2b 2e 6c 65 66 74 6d 76 20 4c 44 52 20 78 2c 6d |+.leftmv LDR x,m| 00002cd0 61 6e 78 3a 43 4d 50 20 78 2c 23 30 3a 42 45 51 |anx:CMP x,#0:BEQ| 00002ce0 20 72 69 67 68 74 6d 76 0d 0b ae 3a 20 20 20 20 | rightmv...: | 00002cf0 20 20 20 20 4c 44 52 42 20 74 65 6d 70 32 2c 5b | LDRB temp2,[| 00002d00 74 65 6d 70 2c 23 2d 34 5d 3a 43 4d 50 20 74 65 |temp,#-4]:CMP te| 00002d10 6d 70 32 2c 23 33 3a 42 4c 54 20 72 69 67 68 74 |mp2,#3:BLT right| 00002d20 6d 76 0d 0b b8 25 20 20 20 20 20 20 20 20 43 4d |mv...% CM| 00002d30 50 20 74 65 6d 70 32 2c 23 35 31 3a 42 47 45 20 |P temp2,#51:BGE | 00002d40 72 69 67 68 74 6d 76 0d 0b c2 17 20 20 20 20 20 |rightmv.... | 00002d50 20 20 20 4d 4f 56 20 52 30 2c 23 31 32 31 0d 0b | MOV R0,#121..| 00002d60 cc 3e 20 20 20 20 20 20 20 20 43 4d 50 20 52 31 |.> CMP R1| 00002d70 31 2c 23 31 3a ec 51 20 52 31 2c 23 28 39 37 20 |1,#1:.Q R1,#(97 | 00002d80 82 20 26 38 30 29 3a 4d 4f 56 4e 45 20 52 31 2c |. &80):MOVNE R1,| 00002d90 23 28 31 30 37 20 82 20 26 38 30 29 0d 0b d6 19 |#(107 . &80)....| 00002da0 20 20 20 20 20 20 20 20 53 57 49 20 22 4f 53 5f | SWI "OS_| 00002db0 42 79 74 65 22 0d 0b e0 21 20 20 20 20 20 20 20 |Byte"...! | 00002dc0 20 43 4d 50 20 52 31 2c 23 30 3a 42 45 51 20 72 | CMP R1,#0:BEQ r| 00002dd0 69 67 68 74 6d 76 0d 0b ea 2c 20 20 20 20 20 20 |ightmv..., | 00002de0 20 20 4c 44 52 20 78 2c 6d 61 6e 78 3a 53 55 42 | LDR x,manx:SUB| 00002df0 20 78 2c 78 2c 23 34 3a 53 54 52 20 78 2c 6d 61 | x,x,#4:STR x,ma| 00002e00 6e 78 0d 0b f4 25 20 20 20 20 20 20 20 20 4d 4f |nx...% MO| 00002e10 56 20 6f 66 66 2c 23 37 3a 53 54 52 20 6f 66 66 |V off,#7:STR off| 00002e20 2c 6f 66 66 73 65 74 0d 0b fe 26 20 20 20 20 20 |,offset...& | 00002e30 20 20 20 4d 4f 56 20 64 69 72 65 63 2c 23 31 3a | MOV direc,#1:| 00002e40 53 54 52 20 64 69 72 65 63 2c 64 69 72 0d 0c 08 |STR direc,dir...| 00002e50 17 20 20 20 20 20 20 20 20 42 20 65 6e 64 75 70 |. B endup| 00002e60 64 61 74 65 0d 0c 12 2c 2e 72 69 67 68 74 6d 76 |date...,.rightmv| 00002e70 20 4c 44 52 20 78 2c 6d 61 6e 78 3a 43 4d 50 20 | LDR x,manx:CMP | 00002e80 78 2c 23 31 38 2a 34 3a 42 45 51 20 75 70 6d 76 |x,#18*4:BEQ upmv| 00002e90 0d 0c 1c 36 20 20 20 20 20 20 20 20 4c 44 52 42 |...6 LDRB| 00002ea0 20 74 65 6d 70 32 2c 5b 74 65 6d 70 2c 23 34 5d | temp2,[temp,#4]| 00002eb0 3a 43 4d 50 20 74 65 6d 70 32 2c 23 33 3a 42 4c |:CMP temp2,#3:BL| 00002ec0 54 20 75 70 6d 76 0d 0c 26 22 20 20 20 20 20 20 |T upmv..&" | 00002ed0 20 20 43 4d 50 20 74 65 6d 70 32 2c 23 35 31 3a | CMP temp2,#51:| 00002ee0 42 47 45 20 75 70 6d 76 0d 0c 30 17 20 20 20 20 |BGE upmv..0. | 00002ef0 20 20 20 20 4d 4f 56 20 52 30 2c 23 31 32 31 0d | MOV R0,#121.| 00002f00 0c 3a 3e 20 20 20 20 20 20 20 20 43 4d 50 20 52 |.:> CMP R| 00002f10 31 31 2c 23 31 3a ec 51 20 52 31 2c 23 28 36 36 |11,#1:.Q R1,#(66| 00002f20 20 82 20 26 38 30 29 3a 4d 4f 56 4e 45 20 52 31 | . &80):MOVNE R1| 00002f30 2c 23 28 31 32 34 20 82 20 26 38 30 29 0d 0c 44 |,#(124 . &80)..D| 00002f40 19 20 20 20 20 20 20 20 20 53 57 49 20 22 4f 53 |. SWI "OS| 00002f50 5f 42 79 74 65 22 0d 0c 4e 1e 20 20 20 20 20 20 |_Byte"..N. | 00002f60 20 20 43 4d 50 20 52 31 2c 23 30 3a 42 45 51 20 | CMP R1,#0:BEQ | 00002f70 75 70 6d 76 0d 0c 58 25 20 20 20 20 20 20 20 20 |upmv..X% | 00002f80 4d 4f 56 20 6f 66 66 2c 23 31 3a 53 54 52 20 6f |MOV off,#1:STR o| 00002f90 66 66 2c 6f 66 66 73 65 74 0d 0c 62 26 20 20 20 |ff,offset..b& | 00002fa0 20 20 20 20 20 4d 4f 56 20 64 69 72 65 63 2c 23 | MOV direc,#| 00002fb0 30 3a 53 54 52 20 64 69 72 65 63 2c 64 69 72 0d |0:STR direc,dir.| 00002fc0 0c 6c 17 20 20 20 20 20 20 20 20 42 20 65 6e 64 |.l. B end| 00002fd0 75 70 64 61 74 65 0d 0c 76 2a 2e 75 70 6d 76 20 |update..v*.upmv | 00002fe0 20 20 4c 44 52 20 79 2c 6d 61 6e 79 3a 43 4d 50 | LDR y,many:CMP| 00002ff0 20 79 2c 23 30 3a 42 45 51 20 64 6f 77 6e 6d 76 | y,#0:BEQ downmv| 00003000 0d 0c 80 3e 20 20 20 20 20 20 20 20 4c 44 52 42 |...> LDRB| 00003010 20 74 65 6d 70 32 2c 5b 74 65 6d 70 2c 23 2d 28 | temp2,[temp,#-(| 00003020 31 39 2a 34 29 5d 3a 43 4d 50 20 74 65 6d 70 32 |19*4)]:CMP temp2| 00003030 2c 23 33 3a 42 4c 54 20 64 6f 77 6e 6d 76 0d 0c |,#3:BLT downmv..| 00003040 8a 24 20 20 20 20 20 20 20 20 43 4d 50 20 74 65 |.$ CMP te| 00003050 6d 70 32 2c 23 35 31 3a 42 47 45 20 64 6f 77 6e |mp2,#51:BGE down| 00003060 6d 76 0d 0c 94 17 20 20 20 20 20 20 20 20 4d 4f |mv.... MO| 00003070 56 20 52 30 2c 23 31 32 31 0d 0c 9e 3d 20 20 20 |V R0,#121...= | 00003080 20 20 20 20 20 43 4d 50 20 52 31 31 2c 23 31 3a | CMP R11,#1:| 00003090 ec 51 20 52 31 2c 23 28 36 37 20 82 20 26 38 30 |.Q R1,#(67 . &80| 000030a0 29 3a 4d 4f 56 4e 45 20 52 31 2c 23 28 32 36 20 |):MOVNE R1,#(26 | 000030b0 82 20 26 38 30 29 0d 0c a8 19 20 20 20 20 20 20 |. &80).... | 000030c0 20 20 53 57 49 20 22 4f 53 5f 42 79 74 65 22 0d | SWI "OS_Byte".| 000030d0 0c b2 20 20 20 20 20 20 20 20 20 43 4d 50 20 52 |.. CMP R| 000030e0 31 2c 23 30 3a 42 45 51 20 64 6f 77 6e 6d 76 0d |1,#0:BEQ downmv.| 000030f0 0c bc 2c 20 20 20 20 20 20 20 20 4c 44 52 20 79 |.., LDR y| 00003100 2c 6d 61 6e 79 3a 53 55 42 20 79 2c 79 2c 23 34 |,many:SUB y,y,#4| 00003110 3a 53 54 52 20 79 2c 6d 61 6e 79 0d 0c c6 25 20 |:STR y,many...% | 00003120 20 20 20 20 20 20 20 4d 4f 56 20 6f 66 66 2c 23 | MOV off,#| 00003130 37 3a 53 54 52 20 6f 66 66 2c 6f 66 66 73 65 74 |7:STR off,offset| 00003140 0d 0c d0 26 20 20 20 20 20 20 20 20 4d 4f 56 20 |...& MOV | 00003150 64 69 72 65 63 2c 23 32 3a 53 54 52 20 64 69 72 |direc,#2:STR dir| 00003160 65 63 2c 64 69 72 0d 0c da 17 20 20 20 20 20 20 |ec,dir.... | 00003170 20 20 42 20 65 6e 64 75 70 64 61 74 65 0d 0c e4 | B endupdate...| 00003180 30 2e 64 6f 77 6e 6d 76 20 4c 44 52 20 79 2c 6d |0.downmv LDR y,m| 00003190 61 6e 79 3a 43 4d 50 20 79 2c 23 31 32 2a 34 3a |any:CMP y,#12*4:| 000031a0 42 45 51 20 65 6e 64 75 70 64 61 74 65 0d 0c ee |BEQ endupdate...| 000031b0 40 20 20 20 20 20 20 20 20 4c 44 52 42 20 74 65 |@ LDRB te| 000031c0 6d 70 32 2c 5b 74 65 6d 70 2c 23 28 31 39 2a 34 |mp2,[temp,#(19*4| 000031d0 29 5d 3a 43 4d 50 20 74 65 6d 70 32 2c 23 33 3a |)]:CMP temp2,#3:| 000031e0 42 4c 54 20 65 6e 64 75 70 64 61 74 65 0d 0c f8 |BLT endupdate...| 000031f0 27 20 20 20 20 20 20 20 20 43 4d 50 20 74 65 6d |' CMP tem| 00003200 70 32 2c 23 35 31 3a 42 47 45 20 65 6e 64 75 70 |p2,#51:BGE endup| 00003210 64 61 74 65 0d 0d 02 17 20 20 20 20 20 20 20 20 |date.... | 00003220 4d 4f 56 20 52 30 2c 23 31 32 31 0d 0d 0c 3e 20 |MOV R0,#121...> | 00003230 20 20 20 20 20 20 20 43 4d 50 20 52 31 31 2c 23 | CMP R11,#| 00003240 31 3a ec 51 20 52 31 2c 23 28 38 32 20 82 20 26 |1:.Q R1,#(82 . &| 00003250 38 30 29 3a 4d 4f 56 4e 45 20 52 31 2c 23 28 31 |80):MOVNE R1,#(1| 00003260 30 38 20 82 20 26 38 30 29 0d 0d 16 19 20 20 20 |08 . &80).... | 00003270 20 20 20 20 20 53 57 49 20 22 4f 53 5f 42 79 74 | SWI "OS_Byt| 00003280 65 22 0d 0d 20 23 20 20 20 20 20 20 20 20 43 4d |e".. # CM| 00003290 50 20 52 31 2c 23 30 3a 42 45 51 20 65 6e 64 75 |P R1,#0:BEQ endu| 000032a0 70 64 61 74 65 0d 0d 2a 25 20 20 20 20 20 20 20 |pdate..*% | 000032b0 20 4d 4f 56 20 6f 66 66 2c 23 31 3a 53 54 52 20 | MOV off,#1:STR | 000032c0 6f 66 66 2c 6f 66 66 73 65 74 0d 0d 34 26 20 20 |off,offset..4& | 000032d0 20 20 20 20 20 20 4d 4f 56 20 64 69 72 65 63 2c | MOV direc,| 000032e0 23 33 3a 53 54 52 20 64 69 72 65 63 2c 64 69 72 |#3:STR direc,dir| 000032f0 0d 0d 3e 17 20 20 20 20 20 20 20 20 42 20 65 6e |..>. B en| 00003300 64 75 70 64 61 74 65 0d 0d 48 05 3a 0d 0d 52 1a |dupdate..H.:..R.| 00003310 2e 6d 61 6e 73 74 61 74 73 20 45 51 55 44 20 28 |.manstats EQUD (| 00003320 73 74 61 74 73 29 0d 0d 5c 24 2e 6d 61 6e 72 74 |stats)..\$.manrt| 00003330 6e 73 20 a4 72 65 73 65 72 76 65 28 32 2a 28 34 |ns .reserve(2*(4| 00003340 2a 34 2a 38 2b 37 2a 34 29 29 0d 0d 66 17 2e 6e |*4*8+7*4))..f..n| 00003350 75 6c 6c 20 20 20 20 4d 4f 56 20 50 43 2c 52 31 |ull MOV PC,R1| 00003360 34 0d 0d 70 1a 20 20 20 20 20 20 20 20 20 a4 67 |4..p. .g| 00003370 72 69 64 73 63 61 6e 6e 69 6e 67 0d 0d 7a 05 5d |ridscanning..z.]| 00003380 0d 0d 84 07 3d 22 22 0d 0d 8e 05 3a 0d 0d 98 13 |....=""....:....| 00003390 dd a4 62 6c 6f 6b 65 70 6c 6f 74 74 65 72 73 0d |..blokeplotters.| 000033a0 0d a2 11 ea 20 58 2c 59 2c 43 2c 46 2c 6d 61 6e |.... X,Y,C,F,man| 000033b0 0d 0d ac 1a 46 3d 8e 20 22 3c 4f 62 65 79 24 44 |....F=. "<Obey$D| 000033c0 69 72 3e 2e 42 4c 4f 4b 45 22 0d 0d b6 10 e3 20 |ir>.BLOKE"..... | 000033d0 6d 61 6e 3d 30 20 b8 20 35 30 0d 0d c0 0e 4d 52 |man=0 . 50....MR| 000033e0 28 6d 61 6e 29 3d 50 25 0d 0d ca 19 e3 20 59 3d |(man)=P%..... Y=| 000033f0 30 20 b8 20 31 35 3a e3 20 58 3d 30 20 b8 20 31 |0 . 15:. X=0 . 1| 00003400 35 0d 0d d4 3f 43 3d 9a 23 46 3a e7 20 43 3c 3e |5...?C=.#F:. C<>| 00003410 26 46 38 20 8c 20 5b 4f 50 54 20 70 61 73 73 3a |&F8 . [OPT pass:| 00003420 4d 4f 56 20 74 65 6d 70 2c 23 43 3a 53 54 52 42 |MOV temp,#C:STRB| 00003430 20 74 65 6d 70 2c 5b 73 63 72 2c 23 58 5d 3a 5d | temp,[scr,#X]:]| 00003440 0d 0d de 39 ed 3a 5b 4f 50 54 70 61 73 73 3a 41 |...9.:[OPTpass:A| 00003450 44 44 20 73 63 72 2c 73 63 72 2c 23 33 32 30 3a |DD scr,scr,#320:| 00003460 5d 3a ed 3a 5b 4f 50 54 70 61 73 73 3a 4d 4f 56 |]:.:[OPTpass:MOV| 00003470 20 50 43 2c 52 31 34 3a 5d 0d 0d e8 05 ed 0d 0d | PC,R14:].......| 00003480 f2 07 d9 23 46 0d 0d fc 07 3d 22 22 0d 0e 06 05 |...#F....=""....| 00003490 3a 0d 0e 10 12 dd a4 67 72 69 64 73 63 61 6e 6e |:......gridscann| 000034a0 69 6e 67 0d 0e 1a 1b 74 65 6d 70 33 3d 39 3a 6f |ing....temp3=9:o| 000034b0 6c 64 78 3d 31 30 3a 6f 6c 64 79 3d 31 31 0d 0e |ldx=10:oldy=11..| 000034c0 24 0d 5b 4f 50 54 20 70 61 73 73 0d 0e 2e 24 2e |$.[OPT pass...$.| 000034d0 73 63 61 6e 67 72 69 64 20 53 54 52 20 52 31 34 |scangrid STR R14| 000034e0 2c 62 61 63 6b 5f 66 72 6f 6d 5f 73 63 61 6e 0d |,back_from_scan.| 000034f0 0e 38 19 20 20 20 20 20 20 20 20 20 4d 4f 56 20 |.8. MOV | 00003500 67 72 69 64 79 2c 23 30 0d 0e 42 19 2e 73 63 61 |gridy,#0..B..sca| 00003510 6e 79 20 20 20 4d 4f 56 20 67 72 69 64 78 2c 23 |ny MOV gridx,#| 00003520 30 0d 0e 4c 34 2e 73 63 61 6e 78 20 20 20 4d 4f |0..L4.scanx MO| 00003530 56 20 74 65 6d 70 2c 23 31 39 3a 4d 4c 41 20 74 |V temp,#19:MLA t| 00003540 65 6d 70 32 2c 74 65 6d 70 2c 67 72 69 64 79 2c |emp2,temp,gridy,| 00003550 67 72 69 64 78 0d 0e 56 2e 20 20 20 20 20 20 20 |gridx..V. | 00003560 20 20 4c 44 52 20 74 65 6d 70 2c 67 72 69 64 3a | LDR temp,grid:| 00003570 41 44 44 20 74 65 6d 70 2c 74 65 6d 70 2c 74 65 |ADD temp,temp,te| 00003580 6d 70 32 0d 0e 60 21 20 20 20 20 20 20 20 20 20 |mp2..`! | 00003590 4c 44 52 42 20 73 70 6e 75 6d 2c 5b 74 65 6d 70 |LDRB spnum,[temp| 000035a0 2c 23 31 5d 0d 0e 6a 28 20 20 20 20 20 20 20 20 |,#1]..j( | 000035b0 20 43 4d 50 20 73 70 6e 75 6d 2c 23 31 3a 42 45 | CMP spnum,#1:BE| 000035c0 51 20 63 68 65 63 6b 62 6c 6f 63 6b 0d 0e 74 27 |Q checkblock..t'| 000035d0 20 20 20 20 20 20 20 20 20 43 4d 50 20 73 70 6e | CMP spn| 000035e0 75 6d 2c 23 32 3a 42 45 51 20 63 68 65 63 6b 62 |um,#2:BEQ checkb| 000035f0 6f 6d 62 0d 0e 7e 28 20 20 20 20 20 20 20 20 20 |omb..~( | 00003600 43 4d 50 20 73 70 6e 75 6d 2c 23 34 3a 42 4c 54 |CMP spnum,#4:BLT| 00003610 20 72 65 73 75 6d 65 73 63 61 6e 0d 0e 88 28 20 | resumescan...( | 00003620 20 20 20 20 20 20 20 20 43 4d 50 20 73 70 6e 75 | CMP spnu| 00003630 6d 2c 23 31 30 3a 42 4c 45 20 63 68 65 63 6b 65 |m,#10:BLE checke| 00003640 78 70 6c 0d 0e 92 1a 2e 72 65 73 75 6d 65 73 63 |xpl.....resumesc| 00003650 61 6e 20 41 44 44 20 78 2c 78 2c 23 34 0d 0e 9c |an ADD x,x,#4...| 00003660 22 20 20 20 20 20 20 20 20 20 43 4d 50 20 78 2c |" CMP x,| 00003670 23 31 39 2a 34 3a 42 4c 54 20 73 63 61 6e 78 0d |#19*4:BLT scanx.| 00003680 0e a6 17 20 20 20 20 20 20 20 20 20 41 44 44 20 |... ADD | 00003690 79 2c 79 2c 23 34 0d 0e b0 26 20 20 20 20 20 20 |y,y,#4...& | 000036a0 20 20 20 43 4d 50 20 67 72 69 64 79 2c 23 31 33 | CMP gridy,#13| 000036b0 2a 34 3a 42 4c 54 20 73 63 61 6e 79 0d 0e ba 22 |*4:BLT scany..."| 000036c0 20 20 20 20 20 20 20 20 20 4c 44 52 20 50 43 2c | LDR PC,| 000036d0 62 61 63 6b 5f 66 72 6f 6d 5f 73 63 61 6e 0d 0e |back_from_scan..| 000036e0 c4 1a 2e 62 61 63 6b 5f 66 72 6f 6d 5f 73 63 61 |...back_from_sca| 000036f0 6e 20 45 51 55 44 20 30 0d 0e ce 05 3a 0d 0e d8 |n EQUD 0....:...| 00003700 14 2e 63 68 65 63 6b 6f 66 66 20 45 51 55 44 20 |..checkoff EQUD | 00003710 30 0d 0e e2 17 2e 62 6d 61 6e 31 20 20 45 51 55 |0.....bman1 EQU| 00003720 44 20 28 6d 61 6e 31 29 0d 0e ec 17 2e 62 6d 61 |D (man1).....bma| 00003730 6e 32 20 20 45 51 55 44 20 28 6d 61 6e 32 29 0d |n2 EQUD (man2).| 00003740 0e f6 13 2e 65 78 70 73 69 7a 20 20 45 51 55 44 |....expsiz EQUD| 00003750 20 30 0d 0f 00 23 2e 63 68 65 63 6b 62 6f 6d 62 | 0...#.checkbomb| 00003760 20 4c 44 52 42 20 74 65 6d 70 32 2c 5b 74 65 6d | LDRB temp2,[tem| 00003770 70 2c 23 32 5d 0d 0f 0a 34 20 20 20 20 20 20 20 |p,#2]...4 | 00003780 20 20 53 55 42 20 74 65 6d 70 32 2c 74 65 6d 70 | SUB temp2,temp| 00003790 32 2c 23 31 3a 53 54 52 42 20 74 65 6d 70 32 2c |2,#1:STRB temp2,| 000037a0 5b 74 65 6d 70 2c 23 32 5d 0d 0f 14 26 20 20 20 |[temp,#2]...& | 000037b0 20 20 20 20 20 20 43 4d 50 20 74 65 6d 70 32 2c | CMP temp2,| 000037c0 23 30 3a 42 45 51 20 62 6c 6f 77 62 6f 6d 62 0d |#0:BEQ blowbomb.| 000037d0 0f 1e 3e 20 20 20 20 20 20 20 20 20 80 20 73 70 |..> . sp| 000037e0 6e 75 6d 2c 74 65 6d 70 32 2c 23 25 31 31 31 31 |num,temp2,#%1111| 000037f0 3a 43 4d 50 20 73 70 6e 75 6d 2c 23 30 3a 42 4e |:CMP spnum,#0:BN| 00003800 45 20 6e 6f 62 6f 6d 62 63 68 6e 67 65 0d 0f 28 |E nobombchnge..(| 00003810 58 20 20 20 20 20 20 20 20 20 4d 4f 56 20 73 70 |X MOV sp| 00003820 6e 75 6d 2c 74 65 6d 70 32 2c 4c 53 52 23 34 3a |num,temp2,LSR#4:| 00003830 41 44 44 20 73 70 6e 75 6d 2c 73 70 6e 75 6d 2c |ADD spnum,spnum,| 00003840 23 34 30 2d 31 3a 53 54 52 42 20 73 70 6e 75 6d |#40-1:STRB spnum| 00003850 2c 5b 74 65 6d 70 5d 3a 42 4c 20 70 6c 6f 74 73 |,[temp]:BL plots| 00003860 74 61 74 69 63 0d 0f 32 1d 2e 6e 6f 62 6f 6d 62 |tatic..2..nobomb| 00003870 63 68 6e 67 65 20 42 20 72 65 73 75 6d 65 73 63 |chnge B resumesc| 00003880 61 6e 0d 0f 3c 72 2e 62 6c 6f 77 62 6f 6d 62 20 |an..<r.blowbomb | 00003890 4d 4f 56 20 73 70 6e 75 6d 2c 23 32 30 3a 53 54 |MOV spnum,#20:ST| 000038a0 52 42 20 73 70 6e 75 6d 2c 5b 74 65 6d 70 2c 23 |RB spnum,[temp,#| 000038b0 32 5d 3a 4d 4f 56 20 73 70 6e 75 6d 2c 23 34 3a |2]:MOV spnum,#4:| 000038c0 53 54 52 42 20 73 70 6e 75 6d 2c 5b 74 65 6d 70 |STRB spnum,[temp| 000038d0 2c 23 31 5d 3a 4d 4f 56 20 73 70 6e 75 6d 2c 23 |,#1]:MOV spnum,#| 000038e0 31 31 3a 53 54 52 42 20 73 70 6e 75 6d 2c 5b 74 |11:STRB spnum,[t| 000038f0 65 6d 70 5d 0d 0f 46 27 20 20 20 20 20 20 20 20 |emp]..F' | 00003900 20 4d 4f 56 20 6f 66 66 2c 74 65 6d 70 3a 42 4c | MOV off,temp:BL| 00003910 20 70 6c 6f 74 73 74 61 74 69 63 0d 0f 50 3b 20 | plotstatic..P; | 00003920 20 20 20 20 20 20 20 20 4d 4f 56 20 6f 6c 64 78 | MOV oldx| 00003930 2c 67 72 69 64 78 3a 4d 4f 56 20 6f 6c 64 79 2c |,gridx:MOV oldy,| 00003940 67 72 69 64 79 3a 4c 44 52 20 74 65 6d 70 32 2c |gridy:LDR temp2,| 00003950 65 78 70 73 69 7a 0d 0f 5a 4c 20 20 20 20 20 20 |expsiz..ZL | 00003960 20 20 20 4c 44 52 42 20 74 65 6d 70 32 2c 5b 74 | LDRB temp2,[t| 00003970 65 6d 70 2c 23 33 5d 3a 43 4d 50 20 74 65 6d 70 |emp,#3]:CMP temp| 00003980 32 2c 23 31 3a 4c 44 52 45 51 20 52 30 2c 62 6d |2,#1:LDREQ R0,bm| 00003990 61 6e 31 3a 4c 44 52 4e 45 20 52 30 2c 62 6d 61 |an1:LDRNE R0,bma| 000039a0 6e 32 0d 0f 64 48 20 20 20 20 20 20 20 20 20 41 |n2..dH A| 000039b0 44 44 20 52 30 2c 52 30 2c 23 35 2a 34 3a 4c 44 |DD R0,R0,#5*4:LD| 000039c0 52 42 20 52 31 2c 5b 52 30 2c 23 31 5d 3a 53 55 |RB R1,[R0,#1]:SU| 000039d0 42 20 52 31 2c 52 31 2c 23 31 3a 53 54 52 42 20 |B R1,R1,#1:STRB | 000039e0 52 31 2c 5b 52 30 2c 23 31 5d 0d 0f 6e 2a 20 20 |R1,[R0,#1]..n* | 000039f0 20 20 20 20 20 20 20 4c 44 52 42 20 52 31 2c 5b | LDRB R1,[| 00003a00 52 30 2c 23 32 5d 3a 53 54 52 20 52 31 2c 65 78 |R0,#2]:STR R1,ex| 00003a10 70 73 69 7a 0d 0f 78 84 20 20 20 20 20 20 20 20 |psiz..x. | 00003a20 20 4d 4f 56 20 74 65 6d 70 2c 6f 66 66 3a 4d 4f | MOV temp,off:MO| 00003a30 56 20 52 30 2c 23 31 3a 4d 56 4e 20 52 31 2c 23 |V R0,#1:MVN R1,#| 00003a40 31 34 3a 4d 4f 56 20 52 32 2c 23 34 30 39 36 3a |14:MOV R2,#4096:| 00003a50 4d 4f 56 20 52 33 2c 23 30 3a 53 57 49 20 22 53 |MOV R3,#0:SWI "S| 00003a60 6f 75 6e 64 5f 43 6f 6e 74 72 6f 6c 22 3a 4d 4f |ound_Control":MO| 00003a70 56 20 6f 66 66 2c 74 65 6d 70 3a 4d 4f 56 20 67 |V off,temp:MOV g| 00003a80 72 69 64 78 2c 6f 6c 64 78 3a 4d 4f 56 20 67 72 |ridx,oldx:MOV gr| 00003a90 69 64 79 2c 6f 6c 64 79 0d 0f 82 1f 20 20 20 20 |idy,oldy.... | 00003aa0 20 20 20 20 20 53 55 42 20 74 65 6d 70 2c 6f 66 | SUB temp,of| 00003ab0 66 2c 23 31 39 2a 34 0d 0f 8c 1d 20 20 20 20 20 |f,#19*4.... | 00003ac0 20 20 20 20 53 54 52 20 6f 66 66 2c 63 68 65 63 | STR off,chec| 00003ad0 6b 6f 66 66 0d 0f 96 1d 20 20 20 20 20 20 20 20 |koff.... | 00003ae0 20 4c 44 52 20 74 65 6d 70 32 2c 65 78 70 73 69 | LDR temp2,expsi| 00003af0 7a 0d 0f a0 21 2e 62 6c 61 73 74 55 20 20 4c 44 |z...!.blastU LD| 00003b00 52 42 20 73 70 6e 75 6d 2c 5b 74 65 6d 70 2c 23 |RB spnum,[temp,#| 00003b10 31 5d 0d 0f aa 24 20 20 20 20 20 20 20 20 20 43 |1]...$ C| 00003b20 4d 50 20 67 72 69 64 79 2c 23 30 3a 42 45 51 20 |MP gridy,#0:BEQ | 00003b30 65 6e 64 42 6c 75 0d 0f b4 41 20 20 20 20 20 20 |endBlu...A | 00003b40 20 20 20 4d 4f 56 20 74 65 6d 70 33 2c 23 65 78 | MOV temp3,#ex| 00003b50 64 65 6c 3a 43 4d 50 20 73 70 6e 75 6d 2c 23 32 |del:CMP spnum,#2| 00003b60 3a 53 54 52 45 51 42 20 74 65 6d 70 33 2c 5b 74 |:STREQB temp3,[t| 00003b70 65 6d 70 2c 23 32 5d 0d 0f be 3e 20 20 20 20 20 |emp,#2]...> | 00003b80 20 20 20 20 43 4d 50 20 73 70 6e 75 6d 2c 23 31 | CMP spnum,#1| 00003b90 3a 4d 4f 56 20 74 65 6d 70 33 2c 23 33 32 3a 53 |:MOV temp3,#32:S| 00003ba0 54 52 45 51 42 20 74 65 6d 70 33 2c 5b 74 65 6d |TREQB temp3,[tem| 00003bb0 70 2c 23 32 5d 0d 0f c8 46 20 20 20 20 20 20 20 |p,#2]...F | 00003bc0 20 20 43 4d 50 20 73 70 6e 75 6d 2c 23 34 38 3a | CMP spnum,#48:| 00003bd0 42 4c 54 20 6e 6f 74 6f 6b 65 6e 31 3a 4d 4f 56 |BLT notoken1:MOV| 00003be0 20 74 65 6d 70 33 2c 23 31 3a 53 54 52 42 20 74 | temp3,#1:STRB t| 00003bf0 65 6d 70 33 2c 5b 74 65 6d 70 5d 0d 0f d2 44 20 |emp3,[temp]...D | 00003c00 20 20 20 20 20 20 20 20 53 54 52 42 20 74 65 6d | STRB tem| 00003c10 70 33 2c 5b 74 65 6d 70 2c 23 31 5d 3a 4d 4f 56 |p3,[temp,#1]:MOV| 00003c20 20 74 65 6d 70 33 2c 23 33 32 3a 53 54 52 42 20 | temp3,#32:STRB | 00003c30 74 65 6d 70 33 2c 5b 74 65 6d 70 2c 23 32 5d 0d |temp3,[temp,#2].| 00003c40 0f dc 0d 2e 6e 6f 74 6f 6b 65 6e 31 0d 0f e6 21 |....notoken1...!| 00003c50 20 20 20 20 20 20 20 20 20 43 4d 50 20 73 70 6e | CMP spn| 00003c60 75 6d 2c 23 33 3a 42 45 51 20 6f 6b 31 0d 0f f0 |um,#3:BEQ ok1...| 00003c70 25 20 20 20 20 20 20 20 20 20 43 4d 50 20 73 70 |% CMP sp| 00003c80 6e 75 6d 2c 23 35 31 3a 42 4c 54 20 65 6e 64 42 |num,#51:BLT endB| 00003c90 6c 75 0d 0f fa 26 20 20 20 20 20 20 20 20 20 43 |lu...& C| 00003ca0 4d 50 20 73 70 6e 75 6d 2c 23 35 32 3a 42 47 45 |MP spnum,#52:BGE| 00003cb0 20 6e 75 63 6c 65 61 72 0d 10 04 45 20 20 20 20 | nuclear...E | 00003cc0 20 20 20 20 20 43 4d 50 20 73 70 6e 75 6d 2c 23 | CMP spnum,#| 00003cd0 35 31 3a 42 4e 45 20 65 6e 64 42 6c 75 3a 4d 4f |51:BNE endBlu:MO| 00003ce0 56 20 73 70 6e 75 6d 2c 23 35 32 3a 53 54 52 42 |V spnum,#52:STRB| 00003cf0 20 73 70 6e 75 6d 2c 5b 74 65 6d 70 5d 0d 10 0e | spnum,[temp]...| 00003d00 3a 20 20 20 20 20 20 20 20 20 53 54 52 42 20 73 |: STRB s| 00003d10 70 6e 75 6d 2c 5b 74 65 6d 70 2c 23 31 5d 3a 53 |pnum,[temp,#1]:S| 00003d20 55 42 20 79 2c 79 2c 23 34 3a 42 4c 20 70 6c 6f |UB y,y,#4:BL plo| 00003d30 74 73 74 61 74 69 63 0d 10 18 15 20 20 20 20 20 |tstatic.... | 00003d40 20 20 20 20 42 20 65 6e 64 42 6c 75 0d 10 22 2f | B endBlu.."/| 00003d50 2e 6f 6b 31 20 20 20 20 20 4d 4f 56 20 73 70 6e |.ok1 MOV spn| 00003d60 75 6d 2c 23 32 30 3a 53 54 52 42 20 73 70 6e 75 |um,#20:STRB spnu| 00003d70 6d 2c 5b 74 65 6d 70 2c 23 32 5d 0d 10 2c 34 20 |m,[temp,#2]..,4 | 00003d80 20 20 20 20 20 20 20 20 43 4d 50 20 74 65 6d 70 | CMP temp| 00003d90 32 2c 23 31 3a ec 51 20 73 70 6e 75 6d 2c 23 39 |2,#1:.Q spnum,#9| 00003da0 3a 4d 4f 56 4e 45 20 73 70 6e 75 6d 2c 23 36 0d |:MOVNE spnum,#6.| 00003db0 10 36 46 20 20 20 20 20 20 20 20 20 53 54 52 42 |.6F STRB| 00003dc0 20 73 70 6e 75 6d 2c 5b 74 65 6d 70 2c 23 31 5d | spnum,[temp,#1]| 00003dd0 3a 41 44 44 20 73 70 6e 75 6d 2c 73 70 6e 75 6d |:ADD spnum,spnum| 00003de0 2c 23 37 3a 53 54 52 42 20 73 70 6e 75 6d 2c 5b |,#7:STRB spnum,[| 00003df0 74 65 6d 70 5d 0d 10 40 2d 20 20 20 20 20 20 20 |temp]..@- | 00003e00 20 20 53 55 42 20 67 72 69 64 79 2c 67 72 69 64 | SUB gridy,grid| 00003e10 79 2c 23 34 3a 42 4c 20 70 6c 6f 74 73 74 61 74 |y,#4:BL plotstat| 00003e20 69 63 0d 10 4a 33 20 20 20 20 20 20 20 20 20 53 |ic..J3 S| 00003e30 55 42 20 74 65 6d 70 32 2c 74 65 6d 70 32 2c 23 |UB temp2,temp2,#| 00003e40 31 3a 53 55 42 20 74 65 6d 70 2c 74 65 6d 70 2c |1:SUB temp,temp,| 00003e50 23 31 39 2a 34 0d 10 54 24 20 20 20 20 20 20 20 |#19*4..T$ | 00003e60 20 20 43 4d 50 20 74 65 6d 70 32 2c 23 30 3a 42 | CMP temp2,#0:B| 00003e70 47 54 20 62 6c 61 73 74 55 0d 10 5e 2c 2e 65 6e |GT blastU..^,.en| 00003e80 64 42 6c 75 20 20 4d 4f 56 20 67 72 69 64 79 2c |dBlu MOV gridy,| 00003e90 6f 6c 64 79 3a 4c 44 52 20 74 65 6d 70 32 2c 65 |oldy:LDR temp2,e| 00003ea0 78 70 73 69 7a 0d 10 68 1f 20 20 20 20 20 20 20 |xpsiz..h. | 00003eb0 20 20 41 44 44 20 74 65 6d 70 2c 6f 66 66 2c 23 | ADD temp,off,#| 00003ec0 31 39 2a 34 0d 10 72 21 2e 62 6c 61 73 74 44 20 |19*4..r!.blastD | 00003ed0 20 4c 44 52 42 20 73 70 6e 75 6d 2c 5b 74 65 6d | LDRB spnum,[tem| 00003ee0 70 2c 23 31 5d 0d 10 7c 27 20 20 20 20 20 20 20 |p,#1]..|' | 00003ef0 20 20 43 4d 50 20 67 72 69 64 79 2c 23 31 32 2a | CMP gridy,#12*| 00003f00 34 3a 42 45 51 20 65 6e 64 42 6c 64 0d 10 86 43 |4:BEQ endBld...C| 00003f10 20 20 20 20 20 20 20 20 20 4d 4f 56 20 74 65 6d | MOV tem| 00003f20 70 33 2c 23 65 78 64 65 6c 2b 31 3a 43 4d 50 20 |p3,#exdel+1:CMP | 00003f30 73 70 6e 75 6d 2c 23 32 3a 53 54 52 45 51 42 20 |spnum,#2:STREQB | 00003f40 74 65 6d 70 33 2c 5b 74 65 6d 70 2c 23 32 5d 0d |temp3,[temp,#2].| 00003f50 10 90 3e 20 20 20 20 20 20 20 20 20 43 4d 50 20 |..> CMP | 00003f60 73 70 6e 75 6d 2c 23 31 3a 4d 4f 56 20 74 65 6d |spnum,#1:MOV tem| 00003f70 70 33 2c 23 33 32 3a 53 54 52 45 51 42 20 74 65 |p3,#32:STREQB te| 00003f80 6d 70 33 2c 5b 74 65 6d 70 2c 23 32 5d 0d 10 9a |mp3,[temp,#2]...| 00003f90 46 20 20 20 20 20 20 20 20 20 43 4d 50 20 73 70 |F CMP sp| 00003fa0 6e 75 6d 2c 23 34 38 3a 42 4c 54 20 6e 6f 74 6f |num,#48:BLT noto| 00003fb0 6b 65 6e 32 3a 4d 4f 56 20 74 65 6d 70 33 2c 23 |ken2:MOV temp3,#| 00003fc0 31 3a 53 54 52 42 20 74 65 6d 70 33 2c 5b 74 65 |1:STRB temp3,[te| 00003fd0 6d 70 5d 0d 10 a4 44 20 20 20 20 20 20 20 20 20 |mp]...D | 00003fe0 53 54 52 42 20 74 65 6d 70 33 2c 5b 74 65 6d 70 |STRB temp3,[temp| 00003ff0 2c 23 31 5d 3a 4d 4f 56 20 74 65 6d 70 33 2c 23 |,#1]:MOV temp3,#| 00004000 33 32 3a 53 54 52 42 20 74 65 6d 70 33 2c 5b 74 |32:STRB temp3,[t| 00004010 65 6d 70 2c 23 32 5d 0d 10 ae 0d 2e 6e 6f 74 6f |emp,#2].....noto| 00004020 6b 65 6e 32 0d 10 b8 21 20 20 20 20 20 20 20 20 |ken2...! | 00004030 20 43 4d 50 20 73 70 6e 75 6d 2c 23 33 3a 42 45 | CMP spnum,#3:BE| 00004040 51 20 6f 6b 32 0d 10 c2 25 20 20 20 20 20 20 20 |Q ok2...% | 00004050 20 20 43 4d 50 20 73 70 6e 75 6d 2c 23 35 31 3a | CMP spnum,#51:| 00004060 42 4c 54 20 65 6e 64 42 6c 64 0d 10 cc 26 20 20 |BLT endBld...& | 00004070 20 20 20 20 20 20 20 43 4d 50 20 73 70 6e 75 6d | CMP spnum| 00004080 2c 23 35 32 3a 42 47 45 20 6e 75 63 6c 65 61 72 |,#52:BGE nuclear| 00004090 0d 10 d6 45 20 20 20 20 20 20 20 20 20 43 4d 50 |...E CMP| 000040a0 20 73 70 6e 75 6d 2c 23 35 31 3a 42 4e 45 20 65 | spnum,#51:BNE e| 000040b0 6e 64 42 6c 64 3a 4d 4f 56 20 73 70 6e 75 6d 2c |ndBld:MOV spnum,| 000040c0 23 35 32 3a 53 54 52 42 20 73 70 6e 75 6d 2c 5b |#52:STRB spnum,[| 000040d0 74 65 6d 70 5d 0d 10 e0 3a 20 20 20 20 20 20 20 |temp]...: | 000040e0 20 20 53 54 52 42 20 73 70 6e 75 6d 2c 5b 74 65 | STRB spnum,[te| 000040f0 6d 70 2c 23 31 5d 3a 41 44 44 20 79 2c 79 2c 23 |mp,#1]:ADD y,y,#| 00004100 34 3a 42 4c 20 70 6c 6f 74 73 74 61 74 69 63 0d |4:BL plotstatic.| 00004110 10 ea 15 20 20 20 20 20 20 20 20 20 42 20 65 6e |... B en| 00004120 64 42 6c 64 0d 10 f4 08 2e 6f 6b 32 0d 10 fe 2f |dBld.....ok2.../| 00004130 20 20 20 20 20 20 20 20 20 4d 4f 56 20 73 70 6e | MOV spn| 00004140 75 6d 2c 23 32 30 3a 53 54 52 42 20 73 70 6e 75 |um,#20:STRB spnu| 00004150 6d 2c 5b 74 65 6d 70 2c 23 32 5d 0d 11 08 35 20 |m,[temp,#2]...5 | 00004160 20 20 20 20 20 20 20 20 43 4d 50 20 74 65 6d 70 | CMP temp| 00004170 32 2c 23 31 3a ec 51 20 73 70 6e 75 6d 2c 23 31 |2,#1:.Q spnum,#1| 00004180 30 3a 4d 4f 56 4e 45 20 73 70 6e 75 6d 2c 23 36 |0:MOVNE spnum,#6| 00004190 0d 11 12 46 20 20 20 20 20 20 20 20 20 53 54 52 |...F STR| 000041a0 42 20 73 70 6e 75 6d 2c 5b 74 65 6d 70 2c 23 31 |B spnum,[temp,#1| 000041b0 5d 3a 41 44 44 20 73 70 6e 75 6d 2c 73 70 6e 75 |]:ADD spnum,spnu| 000041c0 6d 2c 23 37 3a 53 54 52 42 20 73 70 6e 75 6d 2c |m,#7:STRB spnum,| 000041d0 5b 74 65 6d 70 5d 0d 11 1c 2d 20 20 20 20 20 20 |[temp]...- | 000041e0 20 20 20 41 44 44 20 67 72 69 64 79 2c 67 72 69 | ADD gridy,gri| 000041f0 64 79 2c 23 34 3a 42 4c 20 70 6c 6f 74 73 74 61 |dy,#4:BL plotsta| 00004200 74 69 63 0d 11 26 33 20 20 20 20 20 20 20 20 20 |tic..&3 | 00004210 53 55 42 20 74 65 6d 70 32 2c 74 65 6d 70 32 2c |SUB temp2,temp2,| 00004220 23 31 3a 41 44 44 20 74 65 6d 70 2c 74 65 6d 70 |#1:ADD temp,temp| 00004230 2c 23 31 39 2a 34 0d 11 30 24 20 20 20 20 20 20 |,#19*4..0$ | 00004240 20 20 20 43 4d 50 20 74 65 6d 70 32 2c 23 30 3a | CMP temp2,#0:| 00004250 42 47 54 20 62 6c 61 73 74 44 0d 11 3a 2c 2e 65 |BGT blastD..:,.e| 00004260 6e 64 42 6c 64 20 20 4d 4f 56 20 67 72 69 64 79 |ndBld MOV gridy| 00004270 2c 6f 6c 64 79 3a 4c 44 52 20 74 65 6d 70 32 2c |,oldy:LDR temp2,| 00004280 65 78 70 73 69 7a 0d 11 44 1c 20 20 20 20 20 20 |expsiz..D. | 00004290 20 20 20 41 44 44 20 74 65 6d 70 2c 6f 66 66 2c | ADD temp,off,| 000042a0 23 34 0d 11 4e 21 2e 62 6c 61 73 74 52 20 20 4c |#4..N!.blastR L| 000042b0 44 52 42 20 73 70 6e 75 6d 2c 5b 74 65 6d 70 2c |DRB spnum,[temp,| 000042c0 23 31 5d 0d 11 58 27 20 20 20 20 20 20 20 20 20 |#1]..X' | 000042d0 43 4d 50 20 67 72 69 64 78 2c 23 31 38 2a 34 3a |CMP gridx,#18*4:| 000042e0 42 45 51 20 65 6e 64 42 6c 72 0d 11 62 43 20 20 |BEQ endBlr..bC | 000042f0 20 20 20 20 20 20 20 4d 4f 56 20 74 65 6d 70 33 | MOV temp3| 00004300 2c 23 65 78 64 65 6c 2b 31 3a 43 4d 50 20 73 70 |,#exdel+1:CMP sp| 00004310 6e 75 6d 2c 23 32 3a 53 54 52 45 51 42 20 74 65 |num,#2:STREQB te| 00004320 6d 70 33 2c 5b 74 65 6d 70 2c 23 32 5d 0d 11 6c |mp3,[temp,#2]..l| 00004330 3e 20 20 20 20 20 20 20 20 20 43 4d 50 20 73 70 |> CMP sp| 00004340 6e 75 6d 2c 23 31 3a 4d 4f 56 20 74 65 6d 70 33 |num,#1:MOV temp3| 00004350 2c 23 33 32 3a 53 54 52 45 51 42 20 74 65 6d 70 |,#32:STREQB temp| 00004360 33 2c 5b 74 65 6d 70 2c 23 32 5d 0d 11 76 46 20 |3,[temp,#2]..vF | 00004370 20 20 20 20 20 20 20 20 43 4d 50 20 73 70 6e 75 | CMP spnu| 00004380 6d 2c 23 34 38 3a 42 4c 54 20 6e 6f 74 6f 6b 65 |m,#48:BLT notoke| 00004390 6e 33 3a 4d 4f 56 20 74 65 6d 70 33 2c 23 31 3a |n3:MOV temp3,#1:| 000043a0 53 54 52 42 20 74 65 6d 70 33 2c 5b 74 65 6d 70 |STRB temp3,[temp| 000043b0 5d 0d 11 80 44 20 20 20 20 20 20 20 20 20 53 54 |]...D ST| 000043c0 52 42 20 74 65 6d 70 33 2c 5b 74 65 6d 70 2c 23 |RB temp3,[temp,#| 000043d0 31 5d 3a 4d 4f 56 20 74 65 6d 70 33 2c 23 33 32 |1]:MOV temp3,#32| 000043e0 3a 53 54 52 42 20 74 65 6d 70 33 2c 5b 74 65 6d |:STRB temp3,[tem| 000043f0 70 2c 23 32 5d 0d 11 8a 0d 2e 6e 6f 74 6f 6b 65 |p,#2].....notoke| 00004400 6e 33 0d 11 94 21 20 20 20 20 20 20 20 20 20 43 |n3...! C| 00004410 4d 50 20 73 70 6e 75 6d 2c 23 33 3a 42 45 51 20 |MP spnum,#3:BEQ | 00004420 6f 6b 33 0d 11 9e 25 20 20 20 20 20 20 20 20 20 |ok3...% | 00004430 43 4d 50 20 73 70 6e 75 6d 2c 23 35 31 3a 42 4c |CMP spnum,#51:BL| 00004440 54 20 65 6e 64 42 6c 72 0d 11 a8 26 20 20 20 20 |T endBlr...& | 00004450 20 20 20 20 20 43 4d 50 20 73 70 6e 75 6d 2c 23 | CMP spnum,#| 00004460 35 32 3a 42 47 45 20 6e 75 63 6c 65 61 72 0d 11 |52:BGE nuclear..| 00004470 b2 45 20 20 20 20 20 20 20 20 20 43 4d 50 20 73 |.E CMP s| 00004480 70 6e 75 6d 2c 23 35 31 3a 42 4e 45 20 65 6e 64 |pnum,#51:BNE end| 00004490 42 6c 72 3a 4d 4f 56 20 73 70 6e 75 6d 2c 23 35 |Blr:MOV spnum,#5| 000044a0 32 3a 53 54 52 42 20 73 70 6e 75 6d 2c 5b 74 65 |2:STRB spnum,[te| 000044b0 6d 70 5d 0d 11 bc 3a 20 20 20 20 20 20 20 20 20 |mp]...: | 000044c0 53 54 52 42 20 73 70 6e 75 6d 2c 5b 74 65 6d 70 |STRB spnum,[temp| 000044d0 2c 23 31 5d 3a 41 44 44 20 78 2c 78 2c 23 34 3a |,#1]:ADD x,x,#4:| 000044e0 42 4c 20 70 6c 6f 74 73 74 61 74 69 63 0d 11 c6 |BL plotstatic...| 000044f0 15 20 20 20 20 20 20 20 20 20 42 20 65 6e 64 42 |. B endB| 00004500 6c 72 0d 11 d0 08 2e 6f 6b 33 0d 11 da 2f 20 20 |lr.....ok3.../ | 00004510 20 20 20 20 20 20 20 4d 4f 56 20 73 70 6e 75 6d | MOV spnum| 00004520 2c 23 32 30 3a 53 54 52 42 20 73 70 6e 75 6d 2c |,#20:STRB spnum,| 00004530 5b 74 65 6d 70 2c 23 32 5d 0d 11 e4 34 20 20 20 |[temp,#2]...4 | 00004540 20 20 20 20 20 20 43 4d 50 20 74 65 6d 70 32 2c | CMP temp2,| 00004550 23 31 3a ec 51 20 73 70 6e 75 6d 2c 23 38 3a 4d |#1:.Q spnum,#8:M| 00004560 4f 56 4e 45 20 73 70 6e 75 6d 2c 23 35 0d 11 ee |OVNE spnum,#5...| 00004570 46 20 20 20 20 20 20 20 20 20 53 54 52 42 20 73 |F STRB s| 00004580 70 6e 75 6d 2c 5b 74 65 6d 70 2c 23 31 5d 3a 41 |pnum,[temp,#1]:A| 00004590 44 44 20 73 70 6e 75 6d 2c 73 70 6e 75 6d 2c 23 |DD spnum,spnum,#| 000045a0 37 3a 53 54 52 42 20 73 70 6e 75 6d 2c 5b 74 65 |7:STRB spnum,[te| 000045b0 6d 70 5d 0d 11 f8 2d 20 20 20 20 20 20 20 20 20 |mp]...- | 000045c0 41 44 44 20 67 72 69 64 78 2c 67 72 69 64 78 2c |ADD gridx,gridx,| 000045d0 23 34 3a 42 4c 20 70 6c 6f 74 73 74 61 74 69 63 |#4:BL plotstatic| 000045e0 0d 12 02 30 20 20 20 20 20 20 20 20 20 53 55 42 |...0 SUB| 000045f0 20 74 65 6d 70 32 2c 74 65 6d 70 32 2c 23 31 3a | temp2,temp2,#1:| 00004600 41 44 44 20 74 65 6d 70 2c 74 65 6d 70 2c 23 34 |ADD temp,temp,#4| 00004610 0d 12 0c 24 20 20 20 20 20 20 20 20 20 43 4d 50 |...$ CMP| 00004620 20 74 65 6d 70 32 2c 23 30 3a 42 47 54 20 62 6c | temp2,#0:BGT bl| 00004630 61 73 74 52 0d 12 16 2c 2e 65 6e 64 42 6c 72 20 |astR...,.endBlr | 00004640 20 4d 4f 56 20 67 72 69 64 78 2c 6f 6c 64 78 3a | MOV gridx,oldx:| 00004650 4c 44 52 20 74 65 6d 70 32 2c 65 78 70 73 69 7a |LDR temp2,expsiz| 00004660 0d 12 20 1c 20 20 20 20 20 20 20 20 20 53 55 42 |.. . SUB| 00004670 20 74 65 6d 70 2c 6f 66 66 2c 23 34 0d 12 2a 21 | temp,off,#4..*!| 00004680 2e 62 6c 61 73 74 4c 20 20 4c 44 52 42 20 73 70 |.blastL LDRB sp| 00004690 6e 75 6d 2c 5b 74 65 6d 70 2c 23 31 5d 0d 12 34 |num,[temp,#1]..4| 000046a0 24 20 20 20 20 20 20 20 20 20 43 4d 50 20 67 72 |$ CMP gr| 000046b0 69 64 78 2c 23 30 3a 42 45 51 20 65 6e 64 42 6c |idx,#0:BEQ endBl| 000046c0 6c 0d 12 3e 41 20 20 20 20 20 20 20 20 20 4d 4f |l..>A MO| 000046d0 56 20 74 65 6d 70 33 2c 23 65 78 64 65 6c 3a 43 |V temp3,#exdel:C| 000046e0 4d 50 20 73 70 6e 75 6d 2c 23 32 3a 53 54 52 45 |MP spnum,#2:STRE| 000046f0 51 42 20 74 65 6d 70 33 2c 5b 74 65 6d 70 2c 23 |QB temp3,[temp,#| 00004700 32 5d 0d 12 48 3e 20 20 20 20 20 20 20 20 20 43 |2]..H> C| 00004710 4d 50 20 73 70 6e 75 6d 2c 23 31 3a 4d 4f 56 20 |MP spnum,#1:MOV | 00004720 74 65 6d 70 33 2c 23 33 32 3a 53 54 52 45 51 42 |temp3,#32:STREQB| 00004730 20 74 65 6d 70 33 2c 5b 74 65 6d 70 2c 23 32 5d | temp3,[temp,#2]| 00004740 0d 12 52 46 20 20 20 20 20 20 20 20 20 43 4d 50 |..RF CMP| 00004750 20 73 70 6e 75 6d 2c 23 34 38 3a 42 4c 54 20 6e | spnum,#48:BLT n| 00004760 6f 74 6f 6b 65 6e 34 3a 4d 4f 56 20 74 65 6d 70 |otoken4:MOV temp| 00004770 33 2c 23 31 3a 53 54 52 42 20 74 65 6d 70 33 2c |3,#1:STRB temp3,| 00004780 5b 74 65 6d 70 5d 0d 12 5c 44 20 20 20 20 20 20 |[temp]..\D | 00004790 20 20 20 53 54 52 42 20 74 65 6d 70 33 2c 5b 74 | STRB temp3,[t| 000047a0 65 6d 70 2c 23 31 5d 3a 4d 4f 56 20 74 65 6d 70 |emp,#1]:MOV temp| 000047b0 33 2c 23 33 32 3a 53 54 52 42 20 74 65 6d 70 33 |3,#32:STRB temp3| 000047c0 2c 5b 74 65 6d 70 2c 23 32 5d 0d 12 66 0d 2e 6e |,[temp,#2]..f..n| 000047d0 6f 74 6f 6b 65 6e 34 0d 12 70 21 20 20 20 20 20 |otoken4..p! | 000047e0 20 20 20 20 43 4d 50 20 73 70 6e 75 6d 2c 23 33 | CMP spnum,#3| 000047f0 3a 42 45 51 20 6f 6b 34 0d 12 7a 25 20 20 20 20 |:BEQ ok4..z% | 00004800 20 20 20 20 20 43 4d 50 20 73 70 6e 75 6d 2c 23 | CMP spnum,#| 00004810 35 31 3a 42 4c 54 20 65 6e 64 42 6c 6c 0d 12 84 |51:BLT endBll...| 00004820 26 20 20 20 20 20 20 20 20 20 43 4d 50 20 73 70 |& CMP sp| 00004830 6e 75 6d 2c 23 35 32 3a 42 47 45 20 6e 75 63 6c |num,#52:BGE nucl| 00004840 65 61 72 0d 12 8e 45 20 20 20 20 20 20 20 20 20 |ear...E | 00004850 43 4d 50 20 73 70 6e 75 6d 2c 23 35 31 3a 42 4e |CMP spnum,#51:BN| 00004860 45 20 65 6e 64 42 6c 6c 3a 4d 4f 56 20 73 70 6e |E endBll:MOV spn| 00004870 75 6d 2c 23 35 32 3a 53 54 52 42 20 73 70 6e 75 |um,#52:STRB spnu| 00004880 6d 2c 5b 74 65 6d 70 5d 0d 12 98 3a 20 20 20 20 |m,[temp]...: | 00004890 20 20 20 20 20 53 54 52 42 20 73 70 6e 75 6d 2c | STRB spnum,| 000048a0 5b 74 65 6d 70 2c 23 31 5d 3a 53 55 42 20 78 2c |[temp,#1]:SUB x,| 000048b0 78 2c 23 34 3a 42 4c 20 70 6c 6f 74 73 74 61 74 |x,#4:BL plotstat| 000048c0 69 63 0d 12 a2 15 20 20 20 20 20 20 20 20 20 42 |ic.... B| 000048d0 20 65 6e 64 42 6c 6c 0d 12 ac 08 2e 6f 6b 34 0d | endBll.....ok4.| 000048e0 12 b6 2f 20 20 20 20 20 20 20 20 20 4d 4f 56 20 |../ MOV | 000048f0 73 70 6e 75 6d 2c 23 32 30 3a 53 54 52 42 20 73 |spnum,#20:STRB s| 00004900 70 6e 75 6d 2c 5b 74 65 6d 70 2c 23 32 5d 0d 12 |pnum,[temp,#2]..| 00004910 c0 34 20 20 20 20 20 20 20 20 20 43 4d 50 20 74 |.4 CMP t| 00004920 65 6d 70 32 2c 23 31 3a ec 51 20 73 70 6e 75 6d |emp2,#1:.Q spnum| 00004930 2c 23 37 3a 4d 4f 56 4e 45 20 73 70 6e 75 6d 2c |,#7:MOVNE spnum,| 00004940 23 35 0d 12 ca 46 20 20 20 20 20 20 20 20 20 53 |#5...F S| 00004950 54 52 42 20 73 70 6e 75 6d 2c 5b 74 65 6d 70 2c |TRB spnum,[temp,| 00004960 23 31 5d 3a 41 44 44 20 73 70 6e 75 6d 2c 73 70 |#1]:ADD spnum,sp| 00004970 6e 75 6d 2c 23 37 3a 53 54 52 42 20 73 70 6e 75 |num,#7:STRB spnu| 00004980 6d 2c 5b 74 65 6d 70 5d 0d 12 d4 2d 20 20 20 20 |m,[temp]...- | 00004990 20 20 20 20 20 53 55 42 20 67 72 69 64 78 2c 67 | SUB gridx,g| 000049a0 72 69 64 78 2c 23 34 3a 42 4c 20 70 6c 6f 74 73 |ridx,#4:BL plots| 000049b0 74 61 74 69 63 0d 12 de 30 20 20 20 20 20 20 20 |tatic...0 | 000049c0 20 20 53 55 42 20 74 65 6d 70 32 2c 74 65 6d 70 | SUB temp2,temp| 000049d0 32 2c 23 31 3a 53 55 42 20 74 65 6d 70 2c 74 65 |2,#1:SUB temp,te| 000049e0 6d 70 2c 23 34 0d 12 e8 24 20 20 20 20 20 20 20 |mp,#4...$ | 000049f0 20 20 43 4d 50 20 74 65 6d 70 32 2c 23 30 3a 42 | CMP temp2,#0:B| 00004a00 47 54 20 62 6c 61 73 74 4c 0d 12 f2 2f 2e 65 6e |GT blastL.../.en| 00004a10 64 42 6c 6c 20 20 4d 4f 56 20 78 2c 6f 6c 64 78 |dBll MOV x,oldx| 00004a20 3a 4d 4f 56 20 79 2c 6f 6c 64 79 3a 42 20 72 65 |:MOV y,oldy:B re| 00004a30 73 75 6d 65 73 63 61 6e 0d 12 fc 05 3a 0d 13 06 |sumescan....:...| 00004a40 15 2e 64 65 74 6f 6e 61 74 65 64 20 45 51 55 44 |..detonated EQUD| 00004a50 20 30 0d 13 10 19 2e 73 61 66 65 6e 20 20 a4 72 | 0.....safen .r| 00004a60 65 73 65 72 76 65 28 33 2a 34 29 0d 13 1a 33 2e |eserve(3*4)...3.| 00004a70 6e 75 63 6c 65 61 72 20 41 44 52 20 74 65 6d 70 |nuclear ADR temp| 00004a80 32 2c 73 61 66 65 6e 3a 53 54 4d 49 41 20 74 65 |2,safen:STMIA te| 00004a90 6d 70 32 2c 7b 78 2c 79 2c 74 65 6d 70 7d 0d 13 |mp2,{x,y,temp}..| 00004aa0 24 4b 20 20 20 20 20 20 20 20 20 4d 4f 56 20 52 |$K MOV R| 00004ab0 30 2c 23 31 3a 4d 56 4e 20 52 31 2c 23 31 34 3a |0,#1:MVN R1,#14:| 00004ac0 4d 4f 56 20 52 32 2c 23 32 35 36 3a 4d 4f 56 20 |MOV R2,#256:MOV | 00004ad0 52 33 2c 23 30 3a 53 57 49 20 22 53 6f 75 6e 64 |R3,#0:SWI "Sound| 00004ae0 5f 43 6f 6e 74 72 6f 6c 22 0d 13 2e 2b 20 20 20 |_Control"...+ | 00004af0 20 20 20 20 20 20 4d 4f 56 20 74 65 6d 70 2c 23 | MOV temp,#| 00004b00 31 3a 53 54 52 20 74 65 6d 70 2c 64 65 74 6f 6e |1:STR temp,deton| 00004b10 61 74 65 64 0d 13 30 46 20 20 20 20 20 20 20 20 |ated..0F | 00004b20 20 4c 44 52 20 74 65 6d 70 2c 6d 61 6e 31 3a 43 | LDR temp,man1:C| 00004b30 4d 50 20 74 65 6d 70 2c 23 32 35 35 3a 4d 4f 56 |MP temp,#255:MOV| 00004b40 20 74 65 6d 70 2c 23 32 35 35 3a 53 54 52 47 54 | temp,#255:STRGT| 00004b50 20 74 65 6d 70 2c 6d 61 6e 31 0d 13 32 46 20 20 | temp,man1..2F | 00004b60 20 20 20 20 20 20 20 4c 44 52 20 74 65 6d 70 2c | LDR temp,| 00004b70 6d 61 6e 32 3a 43 4d 50 20 74 65 6d 70 2c 23 32 |man2:CMP temp,#2| 00004b80 35 35 3a 4d 4f 56 20 74 65 6d 70 2c 23 32 35 35 |55:MOV temp,#255| 00004b90 3a 53 54 52 47 54 20 74 65 6d 70 2c 6d 61 6e 32 |:STRGT temp,man2| 00004ba0 0d 13 38 24 20 20 20 20 20 20 20 20 20 4d 4f 56 |..8$ MOV| 00004bb0 20 79 2c 23 30 3a 4c 44 52 20 74 65 6d 70 2c 72 | y,#0:LDR temp,r| 00004bc0 67 72 69 64 0d 13 42 15 2e 6e 75 63 6c 79 6c 70 |grid..B..nuclylp| 00004bd0 20 4d 4f 56 20 78 2c 23 30 0d 13 4c 3b 2e 6e 75 | MOV x,#0..L;.nu| 00004be0 63 6c 78 6c 70 20 4c 44 52 42 20 73 70 6e 75 6d |clxlp LDRB spnum| 00004bf0 2c 5b 74 65 6d 70 2c 23 31 5d 3a 43 4d 50 20 73 |,[temp,#1]:CMP s| 00004c00 70 6e 75 6d 2c 23 30 3a 42 45 51 20 6e 65 78 74 |pnum,#0:BEQ next| 00004c10 6e 75 63 6c 0d 13 56 48 20 20 20 20 20 20 20 20 |nucl..VH | 00004c20 20 43 4d 50 20 73 70 6e 75 6d 2c 23 32 3a 42 4c | CMP spnum,#2:BL| 00004c30 54 20 73 6d 6c 6c 65 78 70 3a 43 4d 50 20 73 70 |T smllexp:CMP sp| 00004c40 6e 75 6d 2c 23 34 38 3a 42 4c 54 20 61 64 64 66 |num,#48:BLT addf| 00004c50 69 72 65 3a 2e 73 6d 6c 6c 65 78 70 0d 13 60 2e |ire:.smllexp..`.| 00004c60 20 20 20 20 20 20 20 20 20 4d 4f 56 20 73 70 6e | MOV spn| 00004c70 75 6d 2c 23 31 3a 53 54 52 42 20 73 70 6e 75 6d |um,#1:STRB spnum| 00004c80 2c 5b 74 65 6d 70 2c 23 31 5d 0d 13 6a 4c 20 20 |,[temp,#1]..jL | 00004c90 20 20 20 20 20 20 20 53 54 52 42 20 73 70 6e 75 | STRB spnu| 00004ca0 6d 2c 5b 74 65 6d 70 5d 3a 4d 4f 56 20 73 70 6e |m,[temp]:MOV spn| 00004cb0 75 6d 2c 23 33 32 3a 53 54 52 42 20 73 70 6e 75 |um,#32:STRB spnu| 00004cc0 6d 2c 5b 74 65 6d 70 2c 23 32 5d 3a 42 20 6e 65 |m,[temp,#2]:B ne| 00004cd0 78 74 6e 75 63 6c 0d 13 74 3c 2e 61 64 64 66 69 |xtnucl..t<.addfi| 00004ce0 72 65 20 4d 4f 56 20 73 70 6e 75 6d 2c 23 32 30 |re MOV spnum,#20| 00004cf0 3a 53 54 52 42 20 73 70 6e 75 6d 2c 5b 74 65 6d |:STRB spnum,[tem| 00004d00 70 2c 23 32 5d 3a 4d 4f 56 20 73 70 6e 75 6d 2c |p,#2]:MOV spnum,| 00004d10 23 34 0d 13 7e 3c 20 20 20 20 20 20 20 20 20 54 |#4..~< T| 00004d20 53 54 20 78 2c 23 31 3a 4d 4f 56 4e 45 20 73 70 |ST x,#1:MOVNE sp| 00004d30 6e 75 6d 2c 23 35 3a 54 53 54 20 79 2c 23 31 3a |num,#5:TST y,#1:| 00004d40 4d 4f 56 4e 45 20 73 70 6e 75 6d 2c 23 36 0d 13 |MOVNE spnum,#6..| 00004d50 88 46 20 20 20 20 20 20 20 20 20 53 54 52 42 20 |.F STRB | 00004d60 73 70 6e 75 6d 2c 5b 74 65 6d 70 2c 23 31 5d 3a |spnum,[temp,#1]:| 00004d70 41 44 44 20 73 70 6e 75 6d 2c 73 70 6e 75 6d 2c |ADD spnum,spnum,| 00004d80 23 37 3a 53 54 52 42 20 73 70 6e 75 6d 2c 5b 74 |#7:STRB spnum,[t| 00004d90 65 6d 70 5d 0d 13 92 3f 2e 6e 65 78 74 6e 75 63 |emp]...?.nextnuc| 00004da0 6c 20 41 44 44 20 78 2c 78 2c 23 31 3a 41 44 44 |l ADD x,x,#1:ADD| 00004db0 20 74 65 6d 70 2c 74 65 6d 70 2c 23 34 3a 43 4d | temp,temp,#4:CM| 00004dc0 50 20 78 2c 23 31 39 3a 42 4c 54 20 6e 75 63 6c |P x,#19:BLT nucl| 00004dd0 78 6c 70 0d 13 9c 2d 20 20 20 20 20 20 20 20 20 |xlp...- | 00004de0 41 44 44 20 79 2c 79 2c 23 31 3a 43 4d 50 20 79 |ADD y,y,#1:CMP y| 00004df0 2c 23 31 33 3a 42 4c 54 20 6e 75 63 6c 79 6c 70 |,#13:BLT nuclylp| 00004e00 0d 13 a6 23 20 20 20 20 20 20 20 20 20 4c 44 4d |...# LDM| 00004e10 49 41 20 74 65 6d 70 32 2c 7b 78 2c 79 2c 74 65 |IA temp2,{x,y,te| 00004e20 6d 70 7d 0d 13 b0 15 20 20 20 20 20 20 20 20 20 |mp}.... | 00004e30 42 20 65 6e 64 42 6c 6c 0d 13 ba 05 3a 0d 13 c4 |B endBll....:...| 00004e40 3d 2e 63 68 65 63 6b 65 78 70 6c 20 4c 44 52 42 |=.checkexpl LDRB| 00004e50 20 74 65 6d 70 32 2c 5b 74 65 6d 70 2c 23 32 5d | temp2,[temp,#2]| 00004e60 3a 43 4d 50 20 74 65 6d 70 32 2c 23 31 37 3a 42 |:CMP temp2,#17:B| 00004e70 4e 45 20 6e 65 78 74 65 78 31 0d 13 ce 4b 20 20 |NE nextex1...K | 00004e80 20 20 20 20 20 20 20 20 20 41 44 44 20 73 70 6e | ADD spn| 00004e90 75 6d 2c 73 70 6e 75 6d 2c 23 32 31 3a 53 54 52 |um,spnum,#21:STR| 00004ea0 42 20 73 70 6e 75 6d 2c 5b 74 65 6d 70 5d 3a 42 |B spnum,[temp]:B| 00004eb0 4c 20 70 6c 6f 74 73 74 61 74 69 63 3a 42 20 65 |L plotstatic:B e| 00004ec0 6e 64 65 78 70 0d 13 d8 28 2e 6e 65 78 74 65 78 |ndexp...(.nextex| 00004ed0 31 20 20 20 43 4d 50 20 74 65 6d 70 32 2c 23 31 |1 CMP temp2,#1| 00004ee0 34 3a 42 4e 45 20 6e 65 78 74 65 78 32 0d 13 e2 |4:BNE nextex2...| 00004ef0 37 20 20 20 20 20 20 20 20 20 20 20 53 54 52 42 |7 STRB| 00004f00 20 73 70 6e 75 6d 2c 5b 74 65 6d 70 5d 3a 42 4c | spnum,[temp]:BL| 00004f10 20 70 6c 6f 74 73 74 61 74 69 63 3a 42 20 65 6e | plotstatic:B en| 00004f20 64 65 78 70 0d 13 ec 28 2e 6e 65 78 74 65 78 32 |dexp...(.nextex2| 00004f30 20 20 20 43 4d 50 20 74 65 6d 70 32 2c 23 31 30 | CMP temp2,#10| 00004f40 3a 42 4e 45 20 6e 65 78 74 65 78 33 0d 13 f6 4b |:BNE nextex3...K| 00004f50 20 20 20 20 20 20 20 20 20 20 20 41 44 44 20 73 | ADD s| 00004f60 70 6e 75 6d 2c 73 70 6e 75 6d 2c 23 32 31 3a 53 |pnum,spnum,#21:S| 00004f70 54 52 42 20 73 70 6e 75 6d 2c 5b 74 65 6d 70 5d |TRB spnum,[temp]| 00004f80 3a 42 4c 20 70 6c 6f 74 73 74 61 74 69 63 3a 42 |:BL plotstatic:B| 00004f90 20 65 6e 64 65 78 70 0d 14 00 27 2e 6e 65 78 74 | endexp...'.next| 00004fa0 65 78 33 20 20 20 43 4d 50 20 74 65 6d 70 32 2c |ex3 CMP temp2,| 00004fb0 23 37 3a 42 4e 45 20 6e 65 78 74 65 78 34 0d 14 |#7:BNE nextex4..| 00004fc0 0a 4a 20 20 20 20 20 20 20 20 20 20 20 41 44 44 |.J ADD| 00004fd0 20 73 70 6e 75 6d 2c 73 70 6e 75 6d 2c 23 37 3a | spnum,spnum,#7:| 00004fe0 53 54 52 42 20 73 70 6e 75 6d 2c 5b 74 65 6d 70 |STRB spnum,[temp| 00004ff0 5d 3a 42 4c 20 70 6c 6f 74 73 74 61 74 69 63 3a |]:BL plotstatic:| 00005000 42 20 65 6e 64 65 78 70 0d 14 14 27 2e 6e 65 78 |B endexp...'.nex| 00005010 74 65 78 34 20 20 20 43 4d 50 20 74 65 6d 70 32 |tex4 CMP temp2| 00005020 2c 23 33 3a 42 4e 45 20 6e 65 78 74 65 78 35 0d |,#3:BNE nextex5.| 00005030 14 1e 4b 20 20 20 20 20 20 20 20 20 20 20 41 44 |..K AD| 00005040 44 20 73 70 6e 75 6d 2c 73 70 6e 75 6d 2c 23 31 |D spnum,spnum,#1| 00005050 34 3a 53 54 52 42 20 73 70 6e 75 6d 2c 5b 74 65 |4:STRB spnum,[te| 00005060 6d 70 5d 3a 42 4c 20 70 6c 6f 74 73 74 61 74 69 |mp]:BL plotstati| 00005070 63 3a 42 20 65 6e 64 65 78 70 0d 14 28 26 2e 6e |c:B endexp..(&.n| 00005080 65 78 74 65 78 35 20 20 20 43 4d 50 20 74 65 6d |extex5 CMP tem| 00005090 70 32 2c 23 30 3a 42 4e 45 20 65 6e 64 65 78 70 |p2,#0:BNE endexp| 000050a0 0d 14 32 42 20 20 20 20 20 20 20 20 20 20 20 4d |..2B M| 000050b0 4f 56 20 73 70 6e 75 6d 2c 23 33 3a 53 54 52 42 |OV spnum,#3:STRB| 000050c0 20 73 70 6e 75 6d 2c 5b 74 65 6d 70 5d 3a 53 54 | spnum,[temp]:ST| 000050d0 52 42 20 73 70 6e 75 6d 2c 5b 74 65 6d 70 2c 23 |RB spnum,[temp,#| 000050e0 31 5d 0d 14 3c 29 20 20 20 20 20 20 20 20 20 20 |1]..<) | 000050f0 20 42 4c 20 70 6c 6f 74 73 74 61 74 69 63 3a 42 | BL plotstatic:B| 00005100 20 72 65 73 75 6d 65 73 63 61 6e 0d 14 46 36 2e | resumescan..F6.| 00005110 65 6e 64 65 78 70 20 20 20 20 53 55 42 20 74 65 |endexp SUB te| 00005120 6d 70 32 2c 74 65 6d 70 32 2c 23 31 3a 53 54 52 |mp2,temp2,#1:STR| 00005130 42 20 74 65 6d 70 32 2c 5b 74 65 6d 70 2c 23 32 |B temp2,[temp,#2| 00005140 5d 0d 14 50 1b 20 20 20 20 20 20 20 20 20 20 20 |]..P. | 00005150 42 20 72 65 73 75 6d 65 73 63 61 6e 0d 14 5a 05 |B resumescan..Z.| 00005160 3a 0d 14 64 40 2e 63 68 65 63 6b 62 6c 6f 63 6b |:..d@.checkblock| 00005170 20 4c 44 52 42 20 74 65 6d 70 32 2c 5b 74 65 6d | LDRB temp2,[tem| 00005180 70 2c 23 32 5d 3a 43 4d 50 20 74 65 6d 70 32 2c |p,#2]:CMP temp2,| 00005190 23 30 3a 42 45 51 20 72 65 73 75 6d 65 73 63 61 |#0:BEQ resumesca| 000051a0 6e 0d 14 6e 3e 20 20 20 20 20 20 20 20 20 20 20 |n..n> | 000051b0 4c 44 52 42 20 74 65 6d 70 32 2c 5b 74 65 6d 70 |LDRB temp2,[temp| 000051c0 2c 23 33 5d 3a 43 4d 50 20 74 65 6d 70 32 2c 23 |,#3]:CMP temp2,#| 000051d0 30 3a 42 45 51 20 6e 65 78 74 73 70 72 74 65 0d |0:BEQ nextsprte.| 000051e0 14 78 43 20 20 20 20 20 20 20 20 20 20 20 53 55 |.xC SU| 000051f0 42 20 74 65 6d 70 32 2c 74 65 6d 70 32 2c 23 31 |B temp2,temp2,#1| 00005200 3a 53 54 52 42 20 74 65 6d 70 32 2c 5b 74 65 6d |:STRB temp2,[tem| 00005210 70 2c 23 33 5d 3a 42 20 72 65 73 75 6d 65 73 63 |p,#3]:B resumesc| 00005220 61 6e 0d 14 82 45 2e 6e 65 78 74 73 70 72 74 65 |an...E.nextsprte| 00005230 20 4c 44 52 42 20 73 70 6e 75 6d 2c 5b 74 65 6d | LDRB spnum,[tem| 00005240 70 2c 23 32 5d 3a 53 54 52 42 20 73 70 6e 75 6d |p,#2]:STRB spnum| 00005250 2c 5b 74 65 6d 70 5d 3a 4d 4f 56 20 74 65 6d 70 |,[temp]:MOV temp| 00005260 32 2c 73 70 6e 75 6d 0d 14 8c 45 20 20 20 20 20 |2,spnum...E | 00005270 20 20 20 20 20 20 43 4d 50 20 73 70 6e 75 6d 2c | CMP spnum,| 00005280 23 33 3a 53 54 52 45 51 42 20 73 70 6e 75 6d 2c |#3:STREQB spnum,| 00005290 5b 74 65 6d 70 2c 23 31 5d 3a 41 44 44 20 74 65 |[temp,#1]:ADD te| 000052a0 6d 70 32 2c 74 65 6d 70 32 2c 23 31 0d 14 96 2a |mp2,temp2,#1...*| 000052b0 20 20 20 20 20 20 20 20 20 20 20 43 4d 50 20 74 | CMP t| 000052c0 65 6d 70 32 2c 23 34 30 3a 42 45 51 20 72 61 6e |emp2,#40:BEQ ran| 000052d0 64 74 6f 6b 65 6e 0d 14 a0 23 2e 72 61 6e 64 65 |dtoken...#.rande| 000052e0 64 20 20 20 20 53 54 52 42 20 74 65 6d 70 32 2c |d STRB temp2,| 000052f0 5b 74 65 6d 70 2c 23 32 5d 0d 14 aa 3e 20 20 20 |[temp,#2]...> | 00005300 20 20 20 20 20 20 20 20 4d 4f 56 20 74 65 6d 70 | MOV temp| 00005310 32 2c 23 32 3a 53 54 52 42 20 74 65 6d 70 32 2c |2,#2:STRB temp2,| 00005320 5b 74 65 6d 70 2c 23 33 5d 3a 42 4c 20 70 6c 6f |[temp,#3]:BL plo| 00005330 74 73 74 61 74 69 63 0d 14 b4 1b 20 20 20 20 20 |tstatic.... | 00005340 20 20 20 20 20 20 42 20 72 65 73 75 6d 65 73 63 | B resumesc| 00005350 61 6e 0d 14 be 05 3a 0d 14 c8 4b 2e 72 61 6e 64 |an....:...K.rand| 00005360 74 6f 6b 65 6e 20 4c 44 52 20 74 65 6d 70 33 2c |token LDR temp3,| 00005370 64 65 74 6f 6e 61 74 65 64 3a 43 4d 50 20 74 65 |detonated:CMP te| 00005380 6d 70 33 2c 23 30 3a 4d 4f 56 4e 45 20 74 65 6d |mp3,#0:MOVNE tem| 00005390 70 32 2c 23 33 3a 42 4e 45 20 6e 6f 63 68 6f 69 |p2,#3:BNE nochoi| 000053a0 63 65 0d 14 d2 42 20 20 20 20 20 20 20 20 20 20 |ce...B | 000053b0 20 4c 44 52 20 74 65 6d 70 33 2c 73 63 6f 72 65 | LDR temp3,score| 000053c0 3a 41 44 44 20 74 65 6d 70 33 2c 74 65 6d 70 33 |:ADD temp3,temp3| 000053d0 2c 23 31 30 3a 53 54 52 20 74 65 6d 70 33 2c 73 |,#10:STR temp3,s| 000053e0 63 6f 72 65 0d 14 dc 51 20 20 20 20 20 20 20 20 |core...Q | 000053f0 20 20 4c 44 52 20 74 65 6d 70 33 2c 62 6c 6f 63 | LDR temp3,bloc| 00005400 6b 73 65 65 64 3a 41 44 44 20 74 65 6d 70 33 2c |kseed:ADD temp3,| 00005410 74 65 6d 70 33 2c 74 65 6d 70 33 2c 4c 53 52 23 |temp3,temp3,LSR#| 00005420 31 3a 53 54 52 20 74 65 6d 70 33 2c 62 6c 6f 63 |1:STR temp3,bloc| 00005430 6b 73 65 65 64 0d 14 e6 3e 20 20 20 20 20 20 20 |kseed...> | 00005440 20 20 20 20 20 80 20 74 65 6d 70 33 2c 74 65 6d | . temp3,tem| 00005450 70 33 2c 23 32 35 35 3a 4d 4f 56 20 74 65 6d 70 |p3,#255:MOV temp| 00005460 32 2c 23 34 38 3a 43 4d 50 20 74 65 6d 70 33 2c |2,#48:CMP temp3,| 00005470 23 32 35 0d 14 f0 2d 20 20 20 20 20 20 20 20 20 |#25...- | 00005480 20 20 20 4d 4f 56 47 54 20 74 65 6d 70 32 2c 23 | MOVGT temp2,#| 00005490 34 39 3a 43 4d 50 20 74 65 6d 70 33 2c 23 35 30 |49:CMP temp3,#50| 000054a0 0d 14 fa 2c 20 20 20 20 20 20 20 20 20 20 20 4d |..., M| 000054b0 4f 56 47 54 20 74 65 6d 70 32 2c 23 35 30 3a 43 |OVGT temp2,#50:C| 000054c0 4d 50 20 74 65 6d 70 33 2c 23 36 30 0d 15 04 1e |MP temp3,#60....| 000054d0 20 20 20 20 20 20 20 20 20 20 20 20 4d 4f 56 47 | MOVG| 000054e0 54 20 74 65 6d 70 32 2c 23 33 0d 15 0e 34 2e 6e |T temp2,#3...4.n| 000054f0 6f 63 68 6f 69 63 65 20 53 54 52 42 20 74 65 6d |ochoice STRB tem| 00005500 70 32 2c 5b 74 65 6d 70 5d 3a 53 54 52 42 20 74 |p2,[temp]:STRB t| 00005510 65 6d 70 32 2c 5b 74 65 6d 70 2c 23 31 5d 0d 15 |emp2,[temp,#1]..| 00005520 18 1e 20 20 20 20 20 20 20 20 20 20 20 4d 4f 56 |.. MOV| 00005530 20 73 70 6e 75 6d 2c 74 65 6d 70 32 0d 15 22 26 | spnum,temp2.."&| 00005540 20 20 20 20 20 20 20 20 20 20 20 43 4d 50 20 73 | CMP s| 00005550 70 6e 75 6d 2c 23 33 3a 42 4e 45 20 72 61 6e 64 |pnum,#3:BNE rand| 00005560 65 64 0d 15 2c 43 20 20 20 20 20 20 20 20 20 20 |ed..,C | 00005570 20 4c 44 52 20 74 65 6d 70 32 2c 72 75 62 62 6c | LDR temp2,rubbl| 00005580 65 3a 53 55 42 20 74 65 6d 70 32 2c 74 65 6d 70 |e:SUB temp2,temp| 00005590 32 2c 23 31 3a 53 54 52 20 74 65 6d 70 32 2c 72 |2,#1:STR temp2,r| 000055a0 75 62 62 6c 65 0d 15 36 17 20 20 20 20 20 20 20 |ubble..6. | 000055b0 20 20 20 20 42 20 72 61 6e 64 65 64 0d 15 40 05 | B randed..@.| 000055c0 3a 0d 15 4a 1c 2e 62 6c 6f 63 6b 73 65 65 64 20 |:..J..blockseed | 000055d0 45 51 55 53 20 28 22 55 53 45 52 22 29 0d 15 54 |EQUS ("USER")..T| 000055e0 16 20 20 20 20 20 20 20 20 20 20 a4 72 6f 62 6f |. .robo| 000055f0 74 69 78 0d 15 5e 05 5d 0d 15 68 07 3d 22 22 0d |tix..^.]..h.="".| 00005600 15 72 05 3a 0d 15 7c 0a dd f2 74 65 73 74 0d 15 |.r.:..|...test..| 00005610 86 05 db 0d 15 90 0b f2 67 61 6d 65 3a db 0d 15 |........game:...| 00005620 9a 10 d6 69 6e 69 74 5f 73 63 72 65 65 6e 0d 15 |...init_screen..| 00005630 a4 0b 2a 46 58 31 35 2c 31 0d 15 ae 0d d6 6d 61 |..*FX15,1.....ma| 00005640 69 6e 70 72 6f 67 0d 15 b8 0b 2a 46 58 31 35 2c |inprog....*FX15,| 00005650 31 0d 16 12 05 e1 0d 16 1c 05 3a 0d 16 26 10 dd |1.........:..&..| 00005660 f2 66 69 6e 64 69 6e 6b 65 79 73 0d 16 30 05 f5 |.findinkeys..0..| 00005670 0d 16 3a 0a f5 fd a5 3d 33 32 0d 16 44 35 54 3d |..:....=32..D5T=| 00005680 91 3a f5 fd 91 3e 54 2b 31 30 30 3a ef 37 3a e3 |.:...>T+100:.7:.| 00005690 49 3d 2d 31 b8 2d 32 35 35 88 2d 31 3a e7 20 a6 |I=-1.-255.-1:. .| 000056a0 28 49 29 20 8c 20 f1 49 3a 49 3d 2d 32 35 36 0d |(I) . .I:I=-256.| 000056b0 16 4e 05 ed 0d 16 58 06 fd 30 0d 16 62 05 e1 0d |.N....X..0..b...| 000056c0 16 6c 05 3a 0d 16 76 0a dd f2 67 61 6d 65 0d 16 |.l.:..v...game..| 000056d0 80 0d 72 75 62 62 6c 65 73 3d 30 0d 16 8a 24 49 |..rubbles=0...$I| 000056e0 3d 67 72 69 64 64 61 74 61 3a e3 20 59 3d 30 20 |=griddata:. Y=0 | 000056f0 b8 20 31 32 3a e3 20 58 3d 30 20 b8 20 31 38 0d |. 12:. X=0 . 18.| 00005700 16 94 4c e7 20 28 58 2b 59 29 3e 31 20 80 20 28 |..L. (X+Y)>1 . (| 00005710 58 2b 59 29 3c 32 39 20 80 20 b3 28 31 35 29 3c |X+Y)<29 . .(15)<| 00005720 31 30 20 8c 20 21 49 3d 26 30 30 30 30 30 31 30 |10 . !I=&0000010| 00005730 31 3a 72 75 62 62 6c 65 73 2b 3d 31 3a 8b 20 21 |1:rubbles+=1:. !| 00005740 49 3d 26 30 30 30 30 30 33 30 33 0d 16 9e 08 49 |I=&00000303....I| 00005750 2b 3d 34 0d 16 a8 07 ed 3a ed 0d 16 b2 21 e3 20 |+=4.....:....!. | 00005760 59 3d 31 20 b8 20 31 31 20 88 20 32 3a e3 20 58 |Y=1 . 11 . 2:. X| 00005770 3d 31 20 b8 20 31 37 20 88 20 32 0d 16 bc 32 56 |=1 . 17 . 2...2V| 00005780 3d 67 72 69 64 64 61 74 61 2b 58 2a 34 2b 28 59 |=griddata+X*4+(Y| 00005790 2a 31 39 2a 34 29 3a e7 20 21 56 3d 26 31 30 31 |*19*4):. !V=&101| 000057a0 20 8c 20 72 75 62 62 6c 65 73 2d 3d 31 0d 16 c6 | . rubbles-=1...| 000057b0 08 21 56 3d 30 0d 16 d0 0b ed 20 58 3a ed 20 59 |.!V=0..... X:. Y| 000057c0 0d 16 da 0a f7 20 8d 74 6c 57 0d 16 e4 22 4d 3d |..... .tlW..."M=| 000057d0 6d 61 6e 31 3a e3 49 3d 31 b8 31 32 3a f3 20 44 |man1:.I=1.12:. D| 000057e0 3a 21 4d 3d 44 3a 4d 2b 3d 34 3a ed 0d 16 e9 13 |:!M=D:M+=4:.....| 000057f0 f7 20 28 36 30 37 30 2b 31 30 2a 4c 45 56 29 0d |. (6070+10*LEV).| 00005800 16 ee 17 f5 3a f3 20 52 2c 58 2c 59 3a e7 20 58 |....:. R,X,Y:. X| 00005810 3c 3e 2d 31 20 8c 0d 16 f8 2e 4c 3d 67 72 69 64 |<>-1 .....L=grid| 00005820 64 61 74 61 2b 58 2a 34 2b 59 2a 34 2a 31 39 3a |data+X*4+Y*4*19:| 00005830 e7 20 21 4c 3d 26 31 30 31 20 72 75 62 62 6c 65 |. !L=&101 rubble| 00005840 73 2d 3d 31 0d 17 02 1d e7 20 52 3d 31 20 21 4c |s-=1..... R=1 !L| 00005850 3d 26 33 33 33 33 20 8b 20 21 4c 3d 26 33 35 33 |=&3333 . !L=&353| 00005860 35 0d 17 0c 05 cd 0d 17 16 0a fd 20 58 3d 2d 31 |5.......... X=-1| 00005870 0d 17 20 0c 70 6c 61 63 65 64 3d 30 0d 17 2a 19 |.. .placed=0..*.| 00005880 f5 3a 58 3d b3 28 31 39 29 2d 31 3a 59 3d b3 28 |.:X=.(19)-1:Y=.(| 00005890 31 33 29 2d 31 0d 17 34 20 e7 20 28 58 2b 59 29 |13)-1..4 . (X+Y)| 000058a0 3e 35 20 80 20 28 58 2b 59 29 3c 32 33 20 80 20 |>5 . (X+Y)<23 . | 000058b0 58 3e 30 20 8c 0d 17 3e 30 49 3d 67 72 69 64 64 |X>0 ...>0I=gridd| 000058c0 61 74 61 2b 58 2a 34 2b 31 39 2a 34 2a 59 3a 72 |ata+X*4+19*4*Y:r| 000058d0 64 3d 72 6f 62 6f 64 61 74 61 2b 35 2a 34 2a 70 |d=robodata+5*4*p| 000058e0 6c 61 63 65 64 0d 17 48 1a e7 20 21 49 3d 26 31 |laced..H.. !I=&1| 000058f0 30 31 20 8c 20 72 75 62 62 6c 65 73 2d 3d 31 0d |01 . rubbles-=1.| 00005900 17 52 5a e7 20 21 49 3d 26 31 30 31 20 84 20 21 |.RZ. !I=&101 . !| 00005910 49 3d 26 33 30 33 20 8c 20 21 49 3d 26 30 30 30 |I=&303 . !I=&000| 00005920 30 30 33 30 33 3a 21 72 64 3d 58 2a 34 3a 72 64 |00303:!rd=X*4:rd| 00005930 21 34 3d 59 2a 34 3a 72 64 21 38 3d 30 3a 72 64 |!4=Y*4:rd!8=0:rd| 00005940 21 31 32 3d 30 3a 72 64 21 31 36 3d 32 35 35 3a |!12=0:rd!16=255:| 00005950 70 6c 61 63 65 64 2b 3d 31 0d 17 5c 05 cd 0d 17 |placed+=1..\....| 00005960 66 16 fd 70 6c 61 63 65 64 3d 72 6f 62 6f 73 28 |f..placed=robos(| 00005970 4c 45 56 29 0d 17 6b 17 21 6d 61 78 62 6f 74 73 |LEV)..k.!maxbots| 00005980 3d 72 6f 62 6f 73 28 4c 45 56 29 0d 17 70 2f e7 |=robos(LEV)..p/.| 00005990 20 21 70 6c 61 79 65 72 73 3d 31 20 8c 20 21 72 | !players=1 . !r| 000059a0 75 62 62 6c 65 3d 72 75 62 62 6c 65 73 20 8b 20 |ubble=rubbles . | 000059b0 21 72 75 62 62 6c 65 3d 2d 31 0d 17 7a 0c 21 72 |!rubble=-1..z.!r| 000059c0 68 61 6c 74 3d 30 0d 17 84 10 21 64 65 74 6f 6e |halt=0....!deton| 000059d0 61 74 65 64 3d 30 0d 17 8e 0a 21 6d 61 6e 3d 33 |ated=0....!man=3| 000059e0 0d 17 a2 05 e1 0d 17 ac 31 dc 20 35 31 32 2c 30 |........1. 512,0| 000059f0 2c 31 38 2a 34 2c 31 32 2a 34 2c 30 2c 26 32 30 |,18*4,12*4,0,&20| 00005a00 30 30 31 2c 35 31 32 2c 30 2c 30 2c 30 2c 31 2c |001,512,0,0,0,1,| 00005a10 26 32 30 30 30 31 0d 17 b6 0c dc 20 30 2c 2d 31 |&20001..... 0,-1| 00005a20 2c 30 0d 17 c0 0c dc 20 30 2c 2d 31 2c 30 0d 17 |,0..... 0,-1,0..| 00005a30 ca 0c dc 20 30 2c 2d 31 2c 30 0d 17 d4 13 dc 20 |... 0,-1,0..... | 00005a40 31 2c 39 2c 36 2c 20 30 2c 2d 31 2c 30 0d 17 de |1,9,6, 0,-1,0...| 00005a50 13 dc 20 32 2c 39 2c 36 2c 20 30 2c 2d 31 2c 30 |.. 2,9,6, 0,-1,0| 00005a60 0d 17 e8 1b dc 20 31 2c 36 2c 36 2c 20 31 2c 31 |..... 1,6,6, 1,1| 00005a70 32 2c 36 2c 20 30 2c 2d 31 2c 30 0d 17 f2 22 dc |2,6, 0,-1,0...".| 00005a80 20 31 2c 30 2c 36 2c 20 31 2c 31 38 2c 36 2c 20 | 1,0,6, 1,18,6, | 00005a90 32 2c 39 2c 36 2c 20 30 2c 2d 31 2c 30 0d 17 fc |2,9,6, 0,-1,0...| 00005aa0 29 dc 20 31 2c 34 2c 36 2c 20 31 2c 31 34 2c 36 |). 1,4,6, 1,14,6| 00005ab0 2c 20 32 2c 39 2c 38 2c 20 32 2c 39 2c 34 2c 20 |, 2,9,8, 2,9,4, | 00005ac0 30 2c 2d 31 2c 30 0d 18 06 3b dc 20 31 2c 32 2c |0,-1,0...;. 1,2,| 00005ad0 32 2c 20 31 2c 31 36 2c 32 2c 20 31 2c 32 2c 31 |2, 1,16,2, 1,2,1| 00005ae0 30 2c 20 31 2c 31 36 2c 31 30 2c 20 32 2c 30 2c |0, 1,16,10, 2,0,| 00005af0 36 2c 20 32 2c 31 38 2c 36 2c 20 30 2c 2d 31 2c |6, 2,18,6, 0,-1,| 00005b00 30 0d 18 10 49 dc 20 31 2c 32 2c 32 2c 20 31 2c |0...I. 1,2,2, 1,| 00005b10 34 2c 36 2c 20 31 2c 32 2c 31 30 2c 20 31 2c 31 |4,6, 1,2,10, 1,1| 00005b20 36 2c 32 2c 20 31 2c 31 36 2c 31 30 2c 20 31 2c |6,2, 1,16,10, 1,| 00005b30 31 34 2c 36 2c 20 32 2c 39 2c 38 2c 20 32 2c 39 |14,6, 2,9,8, 2,9| 00005b40 2c 34 2c 20 30 2c 2d 31 2c 30 0d 18 15 1a dc 20 |,4, 0,-1,0..... | 00005b50 31 2c 32 2c 34 2c 32 2c 34 2c 34 2c 35 2c 36 2c |1,2,4,2,4,4,5,6,| 00005b60 38 2c 31 30 0d 18 1a 05 3a 0d 18 24 0d dd a4 72 |8,10....:..$...r| 00005b70 6f 62 6f 74 69 78 0d 18 2e 0d 5b 4f 50 54 20 70 |obotix....[OPT p| 00005b80 61 73 73 0d 18 38 23 2e 72 6f 62 6f 64 61 74 61 |ass..8#.robodata| 00005b90 20 a4 72 65 73 65 72 76 65 28 6e 75 6d 62 6f 74 | .reserve(numbot| 00005ba0 73 2a 35 2a 34 29 0d 18 42 10 2e 72 78 20 20 20 |s*5*4)..B..rx | 00005bb0 45 51 55 44 20 30 0d 18 4c 10 2e 72 79 20 20 20 |EQUD 0..L..ry | 00005bc0 45 51 55 44 20 30 0d 18 56 10 2e 72 6f 66 66 20 |EQUD 0..V..roff | 00005bd0 45 51 55 44 20 30 0d 18 60 10 2e 72 64 69 72 20 |EQUD 0..`..rdir | 00005be0 45 51 55 44 20 30 0d 18 6a 11 2e 72 64 65 61 64 |EQUD 0..j..rdead| 00005bf0 20 45 51 55 44 20 30 0d 18 74 13 2e 72 6f 62 6f | EQUD 0..t..robo| 00005c00 6e 75 6d 20 45 51 55 44 20 30 0d 18 7e 3e 2e 77 |num EQUD 0..~>.w| 00005c10 69 70 65 72 6f 62 6f 74 73 20 53 54 52 20 52 31 |iperobots STR R1| 00005c20 34 2c 62 61 63 6b 5f 66 72 6f 6d 5f 72 74 6e 3a |4,back_from_rtn:| 00005c30 4d 4f 56 20 52 30 2c 23 30 3a 53 54 52 20 52 30 |MOV R0,#0:STR R0| 00005c40 2c 72 6f 62 6f 6e 75 6d 0d 18 88 3d 2e 72 6f 62 |,robonum...=.rob| 00005c50 6f 6c 6f 6f 70 31 20 4c 44 52 20 52 30 2c 72 6f |oloop1 LDR R0,ro| 00005c60 62 6f 6e 75 6d 3a 4d 4f 56 20 74 65 6d 70 2c 23 |bonum:MOV temp,#| 00005c70 35 2a 34 3a 4d 55 4c 20 74 65 6d 70 32 2c 52 30 |5*4:MUL temp2,R0| 00005c80 2c 74 65 6d 70 0d 18 92 52 20 20 20 20 20 20 20 |,temp...R | 00005c90 20 20 20 41 44 52 20 74 65 6d 70 2c 72 6f 62 6f | ADR temp,robo| 00005ca0 64 61 74 61 3a 41 44 44 20 74 65 6d 70 2c 74 65 |data:ADD temp,te| 00005cb0 6d 70 2c 74 65 6d 70 32 3a 4c 44 4d 49 41 20 74 |mp,temp2:LDMIA t| 00005cc0 65 6d 70 2c 7b 78 2c 79 2c 6f 66 66 2c 64 69 72 |emp,{x,y,off,dir| 00005cd0 65 63 2c 52 31 32 7d 0d 18 9c 3a 20 20 20 20 20 |ec,R12}...: | 00005ce0 20 20 20 20 20 20 20 41 44 52 20 74 65 6d 70 2c | ADR temp,| 00005cf0 72 78 3a 53 54 4d 49 41 20 74 65 6d 70 2c 7b 78 |rx:STMIA temp,{x| 00005d00 2c 79 2c 6f 66 66 2c 64 69 72 65 63 2c 52 31 32 |,y,off,direc,R12| 00005d10 7d 0d 18 a6 36 20 20 20 20 20 20 20 20 20 4c 44 |}...6 LD| 00005d20 52 20 78 2c 72 78 3a 4c 44 52 20 79 2c 72 79 3a |R x,rx:LDR y,ry:| 00005d30 4d 4f 56 20 52 31 32 2c 23 31 3a 42 4c 20 70 6c |MOV R12,#1:BL pl| 00005d40 6f 74 73 74 61 74 32 0d 18 b0 4e 20 20 20 20 20 |otstat2...N | 00005d50 20 20 20 20 43 4d 50 20 52 31 32 2c 23 31 3a 42 | CMP R12,#1:B| 00005d60 45 51 20 72 6e 6f 74 64 65 64 31 3a 4c 44 52 20 |EQ rnotded1:LDR | 00005d70 74 65 6d 70 2c 72 64 65 61 64 3a 43 4d 50 20 74 |temp,rdead:CMP t| 00005d80 65 6d 70 2c 23 32 35 35 3a 42 4e 45 20 72 6e 6f |emp,#255:BNE rno| 00005d90 74 64 65 64 31 0d 18 b1 1a 20 20 20 20 20 20 20 |tded1.... | 00005da0 20 20 53 54 52 20 52 31 32 2c 72 64 65 61 64 0d | STR R12,rdead.| 00005db0 18 b2 38 20 20 20 20 20 20 20 20 20 4d 4f 56 20 |..8 MOV | 00005dc0 52 30 2c 23 34 3a 4d 56 4e 20 52 31 2c 23 31 34 |R0,#4:MVN R1,#14| 00005dd0 3a 4d 4f 56 20 52 32 2c 23 37 31 36 38 3a 4d 4f |:MOV R2,#7168:MO| 00005de0 56 20 52 33 2c 23 30 0d 18 b3 1f 20 20 20 20 20 |V R3,#0.... | 00005df0 20 20 20 53 57 49 20 22 53 6f 75 6e 64 5f 43 6f | SWI "Sound_Co| 00005e00 6e 74 72 6f 6c 22 0d 18 b4 1e 20 20 20 20 20 20 |ntrol".... | 00005e10 20 20 20 4c 44 52 20 78 2c 72 78 3a 4c 44 52 20 | LDR x,rx:LDR | 00005e20 79 2c 72 79 0d 18 ba 3f 20 20 20 20 20 20 20 20 |y,ry...? | 00005e30 20 4c 44 52 20 74 65 6d 70 2c 73 63 6f 72 65 3a | LDR temp,score:| 00005e40 41 44 44 45 51 20 74 65 6d 70 2c 74 65 6d 70 2c |ADDEQ temp,temp,| 00005e50 23 31 35 30 3a 53 54 52 20 74 65 6d 70 2c 73 63 |#150:STR temp,sc| 00005e60 6f 72 65 0d 18 c4 43 2e 72 6e 6f 74 64 65 64 31 |ore...C.rnotded1| 00005e70 20 4c 44 52 20 6f 66 66 2c 72 6f 66 66 3a 4c 44 | LDR off,roff:LD| 00005e80 52 20 64 69 72 65 63 2c 72 64 69 72 3a 43 4d 50 |R direc,rdir:CMP| 00005e90 20 6f 66 66 2c 23 30 3a 42 4e 45 20 72 6f 66 66 | off,#0:BNE roff| 00005ea0 73 65 74 73 65 74 0d 18 ce 40 20 20 20 20 20 20 |setset...@ | 00005eb0 20 20 20 43 4d 50 20 64 69 72 65 63 2c 23 31 3a | CMP direc,#1:| 00005ec0 41 44 44 45 51 20 78 2c 78 2c 23 34 3a 43 4d 50 |ADDEQ x,x,#4:CMP| 00005ed0 20 64 69 72 65 63 2c 23 30 3a 53 55 42 45 51 20 | direc,#0:SUBEQ | 00005ee0 78 2c 78 2c 23 34 0d 18 d8 40 20 20 20 20 20 20 |x,x,#4...@ | 00005ef0 20 20 20 43 4d 50 20 64 69 72 65 63 2c 23 32 3a | CMP direc,#2:| 00005f00 41 44 44 45 51 20 79 2c 79 2c 23 34 3a 43 4d 50 |ADDEQ y,y,#4:CMP| 00005f10 20 64 69 72 65 63 2c 23 33 3a 53 55 42 45 51 20 | direc,#3:SUBEQ | 00005f20 79 2c 79 2c 23 34 0d 18 e2 19 20 20 20 20 20 20 |y,y,#4.... | 00005f30 20 20 20 42 4c 20 70 6c 6f 74 73 74 61 74 32 0d | BL plotstat2.| 00005f40 18 ec 1e 20 20 20 20 20 20 20 20 20 42 20 72 61 |... B ra| 00005f50 66 74 65 72 73 65 63 6f 6e 64 73 71 72 0d 18 f6 |ftersecondsqr...| 00005f60 44 2e 72 6f 66 66 73 65 74 73 65 74 20 20 43 4d |D.roffsetset CM| 00005f70 50 20 64 69 72 65 63 2c 23 31 3a 41 44 44 45 51 |P direc,#1:ADDEQ| 00005f80 20 78 2c 78 2c 23 34 3a 43 4d 50 20 64 69 72 65 | x,x,#4:CMP dire| 00005f90 63 2c 23 30 3a 41 44 44 45 51 20 78 2c 78 2c 23 |c,#0:ADDEQ x,x,#| 00005fa0 34 0d 19 00 40 20 20 20 20 20 20 20 20 20 43 4d |4...@ CM| 00005fb0 50 20 64 69 72 65 63 2c 23 32 3a 41 44 44 45 51 |P direc,#2:ADDEQ| 00005fc0 20 79 2c 79 2c 23 34 3a 43 4d 50 20 64 69 72 65 | y,y,#4:CMP dire| 00005fd0 63 2c 23 33 3a 41 44 44 45 51 20 79 2c 79 2c 23 |c,#3:ADDEQ y,y,#| 00005fe0 34 0d 19 0a 23 20 20 20 20 20 20 20 20 4d 4f 56 |4...# MOV| 00005ff0 20 52 31 32 2c 23 31 3a 42 4c 20 70 6c 6f 74 73 | R12,#1:BL plots| 00006000 74 61 74 32 0d 19 14 5c 20 20 20 20 20 20 20 20 |tat2...\ | 00006010 20 43 4d 50 20 52 31 32 2c 23 31 3a 42 45 51 20 | CMP R12,#1:BEQ | 00006020 72 61 66 74 65 72 73 65 63 6f 6e 64 73 71 72 3a |raftersecondsqr:| 00006030 4c 44 52 20 74 65 6d 70 2c 72 64 65 61 64 3a 43 |LDR temp,rdead:C| 00006040 4d 50 20 74 65 6d 70 2c 23 32 35 35 3a 42 4e 45 |MP temp,#255:BNE| 00006050 20 72 61 66 74 65 72 73 65 63 6f 6e 64 73 71 72 | raftersecondsqr| 00006060 0d 19 15 1a 20 20 20 20 20 20 20 20 20 53 54 52 |.... STR| 00006070 20 52 31 32 2c 72 64 65 61 64 0d 19 16 38 20 20 | R12,rdead...8 | 00006080 20 20 20 20 20 20 20 4d 4f 56 20 52 30 2c 23 34 | MOV R0,#4| 00006090 3a 4d 56 4e 20 52 31 2c 23 31 34 3a 4d 4f 56 20 |:MVN R1,#14:MOV | 000060a0 52 32 2c 23 37 31 36 38 3a 4d 4f 56 20 52 33 2c |R2,#7168:MOV R3,| 000060b0 23 30 0d 19 17 1f 20 20 20 20 20 20 20 20 53 57 |#0.... SW| 000060c0 49 20 22 53 6f 75 6e 64 5f 43 6f 6e 74 72 6f 6c |I "Sound_Control| 000060d0 22 0d 19 1e 3d 20 20 20 20 20 20 20 20 20 4c 44 |"...= LD| 000060e0 52 20 74 65 6d 70 2c 73 63 6f 72 65 3a 41 44 44 |R temp,score:ADD| 000060f0 20 74 65 6d 70 2c 74 65 6d 70 2c 23 31 35 30 3a | temp,temp,#150:| 00006100 53 54 52 20 74 65 6d 70 2c 73 63 6f 72 65 0d 19 |STR temp,score..| 00006110 28 14 2e 72 61 66 74 65 72 73 65 63 6f 6e 64 73 |(..rafterseconds| 00006120 71 72 0d 19 32 33 20 20 20 20 20 20 20 20 20 4c |qr..23 L| 00006130 44 52 20 52 31 32 2c 72 64 65 61 64 3a 43 4d 50 |DR R12,rdead:CMP| 00006140 20 52 31 32 2c 23 32 35 35 3a 42 4e 45 20 6e 78 | R12,#255:BNE nx| 00006150 74 6d 61 6e 32 0d 19 3c 3a 20 20 20 20 20 20 20 |tman2..<: | 00006160 20 20 4c 44 52 20 78 2c 72 78 3a 4c 44 52 20 79 | LDR x,rx:LDR y| 00006170 2c 72 79 3a 4c 44 52 20 6f 66 66 2c 72 6f 66 66 |,ry:LDR off,roff| 00006180 3a 4c 44 52 20 64 69 72 65 63 2c 72 64 69 72 0d |:LDR direc,rdir.| 00006190 19 46 28 20 20 20 20 20 20 20 20 20 4d 4f 56 20 |.F( MOV | 000061a0 78 2c 78 2c 4c 53 4c 23 32 3a 4d 4f 56 20 79 2c |x,x,LSL#2:MOV y,| 000061b0 79 2c 4c 53 4c 23 32 0d 19 50 27 20 20 20 20 20 |y,LSL#2..P' | 000061c0 20 20 20 20 43 4d 50 20 64 69 72 65 63 2c 23 30 | CMP direc,#0| 000061d0 3a 41 44 44 45 51 20 78 2c 78 2c 6f 66 66 0d 19 |:ADDEQ x,x,off..| 000061e0 5a 27 20 20 20 20 20 20 20 20 20 43 4d 50 20 64 |Z' CMP d| 000061f0 69 72 65 63 2c 23 31 3a 41 44 44 45 51 20 78 2c |irec,#1:ADDEQ x,| 00006200 78 2c 6f 66 66 0d 19 64 27 20 20 20 20 20 20 20 |x,off..d' | 00006210 20 20 43 4d 50 20 64 69 72 65 63 2c 23 32 3a 41 | CMP direc,#2:A| 00006220 44 44 45 51 20 79 2c 79 2c 6f 66 66 0d 19 6e 27 |DDEQ y,y,off..n'| 00006230 20 20 20 20 20 20 20 20 20 43 4d 50 20 64 69 72 | CMP dir| 00006240 65 63 2c 23 33 3a 41 44 44 45 51 20 79 2c 79 2c |ec,#3:ADDEQ y,y,| 00006250 6f 66 66 0d 19 78 22 20 20 20 20 20 20 20 20 20 |off..x" | 00006260 4d 4f 56 20 6f 6c 64 78 2c 78 3a 4d 4f 56 20 6f |MOV oldx,x:MOV o| 00006270 6c 64 79 2c 79 0d 19 82 69 20 20 20 20 20 20 20 |ldy,y...i | 00006280 20 20 4c 44 52 20 74 65 6d 70 32 2c 62 6c 6f 6b | LDR temp2,blok| 00006290 65 31 3a 4c 44 52 20 78 2c 5b 74 65 6d 70 32 2c |e1:LDR x,[temp2,| 000062a0 23 38 5d 3a 4c 44 52 20 79 2c 5b 74 65 6d 70 32 |#8]:LDR y,[temp2| 000062b0 2c 23 31 32 5d 3a 4c 44 52 20 6f 66 66 2c 5b 74 |,#12]:LDR off,[t| 000062c0 65 6d 70 32 2c 23 34 5d 3a 4c 44 52 20 64 69 72 |emp2,#4]:LDR dir| 000062d0 65 63 2c 5b 74 65 6d 70 32 2c 23 31 36 5d 0d 19 |ec,[temp2,#16]..| 000062e0 8c 28 20 20 20 20 20 20 20 20 20 4d 4f 56 20 78 |.( MOV x| 000062f0 2c 78 2c 4c 53 4c 23 32 3a 4d 4f 56 20 79 2c 79 |,x,LSL#2:MOV y,y| 00006300 2c 4c 53 4c 23 32 0d 19 96 2d 20 20 20 20 20 20 |,LSL#2...- | 00006310 20 20 20 43 4d 50 20 64 69 72 65 63 2c 23 30 3a | CMP direc,#0:| 00006320 41 44 44 45 51 20 78 2c 78 2c 6f 66 66 2c 4c 53 |ADDEQ x,x,off,LS| 00006330 4c 23 31 0d 19 a0 2d 20 20 20 20 20 20 20 20 20 |L#1...- | 00006340 43 4d 50 20 64 69 72 65 63 2c 23 31 3a 41 44 44 |CMP direc,#1:ADD| 00006350 45 51 20 78 2c 78 2c 6f 66 66 2c 4c 53 4c 23 31 |EQ x,x,off,LSL#1| 00006360 0d 19 aa 2d 20 20 20 20 20 20 20 20 20 43 4d 50 |...- CMP| 00006370 20 64 69 72 65 63 2c 23 32 3a 41 44 44 45 51 20 | direc,#2:ADDEQ | 00006380 79 2c 79 2c 6f 66 66 2c 4c 53 4c 23 31 0d 19 b4 |y,y,off,LSL#1...| 00006390 2d 20 20 20 20 20 20 20 20 20 43 4d 50 20 64 69 |- CMP di| 000063a0 72 65 63 2c 23 33 3a 41 44 44 45 51 20 79 2c 79 |rec,#3:ADDEQ y,y| 000063b0 2c 6f 66 66 2c 4c 53 4c 23 31 0d 19 be 53 20 20 |,off,LSL#1...S | 000063c0 20 20 20 20 20 20 20 43 4d 50 20 78 2c 6f 6c 64 | CMP x,old| 000063d0 78 3a 53 55 42 47 54 20 74 65 6d 70 2c 78 2c 6f |x:SUBGT temp,x,o| 000063e0 6c 64 78 3a 53 55 42 4c 45 20 74 65 6d 70 2c 6f |ldx:SUBLE temp,o| 000063f0 6c 64 78 2c 78 3a 43 4d 50 20 74 65 6d 70 2c 23 |ldx,x:CMP temp,#| 00006400 31 36 3a 42 47 45 20 6e 78 74 6d 61 6e 0d 19 c8 |16:BGE nxtman...| 00006410 53 20 20 20 20 20 20 20 20 20 43 4d 50 20 79 2c |S CMP y,| 00006420 6f 6c 64 79 3a 53 55 42 47 54 20 74 65 6d 70 2c |oldy:SUBGT temp,| 00006430 79 2c 6f 6c 64 79 3a 53 55 42 4c 45 20 74 65 6d |y,oldy:SUBLE tem| 00006440 70 2c 6f 6c 64 79 2c 79 3a 43 4d 50 20 74 65 6d |p,oldy,y:CMP tem| 00006450 70 2c 23 31 36 3a 42 47 45 20 6e 78 74 6d 61 6e |p,#16:BGE nxtman| 00006460 0d 19 d2 41 20 20 20 20 20 20 20 20 20 4c 44 52 |...A LDR| 00006470 20 74 65 6d 70 2c 5b 74 65 6d 70 32 5d 3a 43 4d | temp,[temp2]:CM| 00006480 50 20 74 65 6d 70 2c 23 32 35 35 3a 4d 4f 56 20 |P temp,#255:MOV | 00006490 52 31 32 2c 23 30 3a 42 4e 45 20 6e 78 74 6d 61 |R12,#0:BNE nxtma| 000064a0 6e 0d 19 d3 1c 20 20 20 20 20 20 20 20 20 53 54 |n.... ST| 000064b0 52 20 52 31 32 2c 5b 74 65 6d 70 32 5d 0d 19 d4 |R R12,[temp2]...| 000064c0 3a 20 20 20 20 20 20 20 20 20 4d 4f 56 20 52 30 |: MOV R0| 000064d0 2c 23 33 3a 4d 56 4e 20 52 31 2c 23 31 34 3a 4d |,#3:MVN R1,#14:M| 000064e0 4f 56 20 52 32 2c 23 73 63 72 65 61 6d 3a 4d 4f |OV R2,#scream:MO| 000064f0 56 20 52 33 2c 23 30 0d 19 d5 20 20 20 20 20 20 |V R3,#0... | 00006500 20 20 20 20 53 57 49 20 22 53 6f 75 6e 64 5f 43 | SWI "Sound_C| 00006510 6f 6e 74 72 6f 6c 22 0d 19 dc 69 2e 6e 78 74 6d |ontrol"...i.nxtm| 00006520 61 6e 20 20 4c 44 52 20 74 65 6d 70 32 2c 62 6c |an LDR temp2,bl| 00006530 6f 6b 65 32 3a 4c 44 52 20 78 2c 5b 74 65 6d 70 |oke2:LDR x,[temp| 00006540 32 2c 23 38 5d 3a 4c 44 52 20 79 2c 5b 74 65 6d |2,#8]:LDR y,[tem| 00006550 70 32 2c 23 31 32 5d 3a 4c 44 52 20 6f 66 66 2c |p2,#12]:LDR off,| 00006560 5b 74 65 6d 70 32 2c 23 34 5d 3a 4c 44 52 20 64 |[temp2,#4]:LDR d| 00006570 69 72 65 63 2c 5b 74 65 6d 70 32 2c 23 31 36 5d |irec,[temp2,#16]| 00006580 0d 19 e6 28 20 20 20 20 20 20 20 20 20 4d 4f 56 |...( MOV| 00006590 20 78 2c 78 2c 4c 53 4c 23 32 3a 4d 4f 56 20 79 | x,x,LSL#2:MOV y| 000065a0 2c 79 2c 4c 53 4c 23 32 0d 19 f0 2d 20 20 20 20 |,y,LSL#2...- | 000065b0 20 20 20 20 20 43 4d 50 20 64 69 72 65 63 2c 23 | CMP direc,#| 000065c0 30 3a 41 44 44 45 51 20 78 2c 78 2c 6f 66 66 2c |0:ADDEQ x,x,off,| 000065d0 4c 53 4c 23 31 0d 19 fa 2d 20 20 20 20 20 20 20 |LSL#1...- | 000065e0 20 20 43 4d 50 20 64 69 72 65 63 2c 23 31 3a 41 | CMP direc,#1:A| 000065f0 44 44 45 51 20 78 2c 78 2c 6f 66 66 2c 4c 53 4c |DDEQ x,x,off,LSL| 00006600 23 31 0d 1a 04 2d 20 20 20 20 20 20 20 20 20 43 |#1...- C| 00006610 4d 50 20 64 69 72 65 63 2c 23 32 3a 41 44 44 45 |MP direc,#2:ADDE| 00006620 51 20 79 2c 79 2c 6f 66 66 2c 4c 53 4c 23 31 0d |Q y,y,off,LSL#1.| 00006630 1a 0e 2d 20 20 20 20 20 20 20 20 20 43 4d 50 20 |..- CMP | 00006640 64 69 72 65 63 2c 23 33 3a 41 44 44 45 51 20 79 |direc,#3:ADDEQ y| 00006650 2c 79 2c 6f 66 66 2c 4c 53 4c 23 31 0d 1a 18 54 |,y,off,LSL#1...T| 00006660 20 20 20 20 20 20 20 20 20 43 4d 50 20 78 2c 6f | CMP x,o| 00006670 6c 64 78 3a 53 55 42 47 54 20 74 65 6d 70 2c 78 |ldx:SUBGT temp,x| 00006680 2c 6f 6c 64 78 3a 53 55 42 4c 45 20 74 65 6d 70 |,oldx:SUBLE temp| 00006690 2c 6f 6c 64 78 2c 78 3a 43 4d 50 20 74 65 6d 70 |,oldx,x:CMP temp| 000066a0 2c 23 31 36 3a 42 47 45 20 6e 78 74 6d 61 6e 32 |,#16:BGE nxtman2| 000066b0 0d 1a 22 54 20 20 20 20 20 20 20 20 20 43 4d 50 |.."T CMP| 000066c0 20 79 2c 6f 6c 64 79 3a 53 55 42 47 54 20 74 65 | y,oldy:SUBGT te| 000066d0 6d 70 2c 79 2c 6f 6c 64 79 3a 53 55 42 4c 45 20 |mp,y,oldy:SUBLE | 000066e0 74 65 6d 70 2c 6f 6c 64 79 2c 79 3a 43 4d 50 20 |temp,oldy,y:CMP | 000066f0 74 65 6d 70 2c 23 31 36 3a 42 47 45 20 6e 78 74 |temp,#16:BGE nxt| 00006700 6d 61 6e 32 0d 1a 2c 42 20 20 20 20 20 20 20 20 |man2..,B | 00006710 20 4c 44 52 20 74 65 6d 70 2c 5b 74 65 6d 70 32 | LDR temp,[temp2| 00006720 5d 3a 43 4d 50 20 74 65 6d 70 2c 23 32 35 35 3a |]:CMP temp,#255:| 00006730 4d 4f 56 20 52 31 32 2c 23 30 3a 42 4e 45 20 6e |MOV R12,#0:BNE n| 00006740 78 74 6d 61 6e 32 0d 1a 2d 1c 20 20 20 20 20 20 |xtman2..-. | 00006750 20 20 20 53 54 52 20 52 31 32 2c 5b 74 65 6d 70 | STR R12,[temp| 00006760 32 5d 0d 1a 2e 3a 20 20 20 20 20 20 20 20 20 4d |2]...: M| 00006770 4f 56 20 52 30 2c 23 33 3a 4d 56 4e 20 52 31 2c |OV R0,#3:MVN R1,| 00006780 23 31 34 3a 4d 4f 56 20 52 32 2c 23 73 63 72 65 |#14:MOV R2,#scre| 00006790 61 6d 3a 4d 4f 56 20 52 33 2c 23 30 0d 1a 2f 20 |am:MOV R3,#0../ | 000067a0 20 20 20 20 20 20 20 20 20 53 57 49 20 22 53 6f | SWI "So| 000067b0 75 6e 64 5f 43 6f 6e 74 72 6f 6c 22 0d 1a 36 37 |und_Control"..67| 000067c0 2e 6e 78 74 6d 61 6e 32 20 41 44 52 20 74 65 6d |.nxtman2 ADR tem| 000067d0 70 2c 72 78 3a 4c 44 4d 49 41 20 74 65 6d 70 2c |p,rx:LDMIA temp,| 000067e0 7b 78 2c 79 2c 6f 66 66 2c 64 69 72 65 63 2c 52 |{x,y,off,direc,R| 000067f0 31 32 7d 0d 1a 40 3b 20 20 20 20 20 20 20 20 20 |12}..@; | 00006800 4c 44 52 20 52 30 2c 72 6f 62 6f 6e 75 6d 3a 4d |LDR R0,robonum:M| 00006810 4f 56 20 74 65 6d 70 2c 23 35 2a 34 3a 4d 55 4c |OV temp,#5*4:MUL| 00006820 20 74 65 6d 70 32 2c 52 30 2c 74 65 6d 70 0d 1a | temp2,R0,temp..| 00006830 4a 52 20 20 20 20 20 20 20 20 20 20 41 44 52 20 |JR ADR | 00006840 74 65 6d 70 2c 72 6f 62 6f 64 61 74 61 3a 41 44 |temp,robodata:AD| 00006850 44 20 74 65 6d 70 2c 74 65 6d 70 2c 74 65 6d 70 |D temp,temp,temp| 00006860 32 3a 53 54 4d 49 41 20 74 65 6d 70 2c 7b 78 2c |2:STMIA temp,{x,| 00006870 79 2c 6f 66 66 2c 64 69 72 65 63 2c 52 31 32 7d |y,off,direc,R12}| 00006880 0d 1a 54 54 20 20 20 20 20 20 20 20 20 20 41 44 |..TT AD| 00006890 44 20 52 30 2c 52 30 2c 23 31 3a 53 54 52 20 52 |D R0,R0,#1:STR R| 000068a0 30 2c 72 6f 62 6f 6e 75 6d 3a 4c 44 52 20 74 65 |0,robonum:LDR te| 000068b0 6d 70 2c 6d 61 78 62 6f 74 73 3a 43 4d 50 20 52 |mp,maxbots:CMP R| 000068c0 30 2c 74 65 6d 70 3a 42 4c 54 20 72 6f 62 6f 6c |0,temp:BLT robol| 000068d0 6f 6f 70 31 0d 1a 5e 21 20 20 20 20 20 20 20 20 |oop1..^! | 000068e0 20 4c 44 52 20 50 43 2c 62 61 63 6b 5f 66 72 6f | LDR PC,back_fro| 000068f0 6d 5f 72 74 6e 0d 1a 68 19 2e 62 61 63 6b 5f 66 |m_rtn..h..back_f| 00006900 72 6f 6d 5f 72 74 6e 20 45 51 55 44 20 30 0d 1a |rom_rtn EQUD 0..| 00006910 72 19 2e 6d 61 78 62 6f 74 73 20 45 51 55 44 20 |r..maxbots EQUD | 00006920 6e 75 6d 62 6f 74 73 0d 1a 7c 11 2e 64 65 61 74 |numbots..|..deat| 00006930 68 20 45 51 55 44 20 30 0d 1a 86 11 2e 72 68 61 |h EQUD 0.....rha| 00006940 6c 74 20 45 51 55 44 20 30 0d 1a 90 05 3a 0d 1a |lt EQUD 0....:..| 00006950 9a 27 2e 72 65 64 72 61 77 72 6f 62 6f 74 73 20 |.'.redrawrobots | 00006960 53 54 52 20 52 31 34 2c 62 61 63 6b 5f 66 72 6f |STR R14,back_fro| 00006970 6d 5f 72 74 6e 0d 1a a4 25 20 20 20 20 20 20 20 |m_rtn...% | 00006980 20 20 4d 4f 56 20 52 30 2c 23 30 3a 53 54 52 20 | MOV R0,#0:STR | 00006990 52 30 2c 72 6f 62 6f 6e 75 6d 0d 1a ae 3d 2e 72 |R0,robonum...=.r| 000069a0 6f 62 6f 6c 6f 6f 70 32 20 4c 44 52 20 52 30 2c |oboloop2 LDR R0,| 000069b0 72 6f 62 6f 6e 75 6d 3a 4d 4f 56 20 74 65 6d 70 |robonum:MOV temp| 000069c0 2c 23 35 2a 34 3a 4d 55 4c 20 74 65 6d 70 32 2c |,#5*4:MUL temp2,| 000069d0 52 30 2c 74 65 6d 70 0d 1a b8 52 20 20 20 20 20 |R0,temp...R | 000069e0 20 20 20 20 20 41 44 52 20 74 65 6d 70 2c 72 6f | ADR temp,ro| 000069f0 62 6f 64 61 74 61 3a 41 44 44 20 74 65 6d 70 2c |bodata:ADD temp,| 00006a00 74 65 6d 70 2c 74 65 6d 70 32 3a 4c 44 4d 49 41 |temp,temp2:LDMIA| 00006a10 20 74 65 6d 70 2c 7b 78 2c 79 2c 6f 66 66 2c 64 | temp,{x,y,off,d| 00006a20 69 72 65 63 2c 52 31 32 7d 0d 1a c2 37 20 20 20 |irec,R12}...7 | 00006a30 20 20 20 20 20 20 41 44 52 20 74 65 6d 70 2c 72 | ADR temp,r| 00006a40 78 3a 53 54 4d 49 41 20 74 65 6d 70 2c 7b 78 2c |x:STMIA temp,{x,| 00006a50 79 2c 6f 66 66 2c 64 69 72 65 63 2c 52 31 32 7d |y,off,direc,R12}| 00006a60 0d 1a cc 3a 20 20 20 20 20 20 20 20 20 4c 44 52 |...: LDR| 00006a70 20 78 2c 72 78 3a 4c 44 52 20 79 2c 72 79 3a 4c | x,rx:LDR y,ry:L| 00006a80 44 52 20 64 69 72 65 63 2c 72 64 69 72 3a 4c 44 |DR direc,rdir:LD| 00006a90 52 20 6f 66 66 2c 72 6f 66 66 0d 1a d6 2c 20 20 |R off,roff..., | 00006aa0 20 20 20 20 20 20 20 4c 44 52 20 73 63 72 2c 73 | LDR scr,s| 00006ab0 63 72 65 65 6e 32 3a 4d 4f 56 20 74 65 6d 70 2c |creen2:MOV temp,| 00006ac0 23 34 2a 33 32 30 0d 1a e0 25 20 20 20 20 20 20 |#4*320...% | 00006ad0 20 20 20 4d 4c 41 20 74 65 6d 70 32 2c 74 65 6d | MLA temp2,tem| 00006ae0 70 2c 67 72 69 64 79 2c 73 63 72 0d 1a ea 22 20 |p,gridy,scr..." | 00006af0 20 20 20 20 20 20 20 20 41 44 44 20 73 63 72 2c | ADD scr,| 00006b00 74 65 6d 70 32 2c 23 33 39 2a 33 32 30 0d 1a f4 |temp2,#39*320...| 00006b10 24 20 20 20 20 20 20 20 20 20 41 44 44 20 73 63 |$ ADD sc| 00006b20 72 2c 73 63 72 2c 67 72 69 64 78 2c 4c 53 4c 23 |r,scr,gridx,LSL#| 00006b30 32 0d 1a fe 38 20 20 20 20 20 20 20 20 43 4d 50 |2...8 CMP| 00006b40 20 64 69 72 65 63 2c 23 32 3a 4d 4f 56 47 45 20 | direc,#2:MOVGE | 00006b50 74 65 6d 70 32 2c 23 33 32 30 3a 4d 4f 56 4c 54 |temp2,#320:MOVLT| 00006b60 20 74 65 6d 70 32 2c 23 31 0d 1b 08 21 20 20 20 | temp2,#1...! | 00006b70 20 20 20 20 20 4d 4c 41 20 73 63 72 2c 74 65 6d | MLA scr,tem| 00006b80 70 32 2c 6f 66 66 2c 73 63 72 0d 1b 12 33 20 20 |p2,off,scr...3 | 00006b90 20 20 20 20 20 20 4c 44 52 20 52 31 32 2c 72 64 | LDR R12,rd| 00006ba0 65 61 64 3a 43 4d 50 20 52 31 32 2c 23 32 35 35 |ead:CMP R12,#255| 00006bb0 3a 42 45 51 20 72 6e 6f 74 64 65 64 33 0d 1b 1c |:BEQ rnotded3...| 00006bc0 32 20 20 20 20 20 20 20 20 4c 44 52 20 74 65 6d |2 LDR tem| 00006bd0 70 2c 64 65 61 74 68 3a 41 44 44 20 74 65 6d 70 |p,death:ADD temp| 00006be0 2c 74 65 6d 70 2c 52 31 32 2c 4c 53 52 23 31 0d |,temp,R12,LSR#1.| 00006bf0 1b 26 49 20 20 20 20 20 20 20 20 42 49 43 20 74 |.&I BIC t| 00006c00 65 6d 70 2c 74 65 6d 70 2c 23 25 31 31 3a 43 4d |emp,temp,#%11:CM| 00006c10 50 20 52 31 32 2c 23 35 35 3a 41 44 44 4c 54 20 |P R12,#55:ADDLT | 00006c20 52 31 32 2c 52 31 32 2c 23 31 3a 53 54 52 20 52 |R12,R12,#1:STR R| 00006c30 31 32 2c 72 64 65 61 64 0d 1b 30 16 20 20 20 20 |12,rdead..0. | 00006c40 20 20 20 20 42 20 6f 76 65 72 6c 69 76 65 0d 1b | B overlive..| 00006c50 3a 3a 2e 72 6e 6f 74 64 65 64 33 20 41 44 52 20 |::.rnotded3 ADR | 00006c60 74 65 6d 70 2c 72 6f 62 6f 74 72 74 6e 73 3a 41 |temp,robotrtns:A| 00006c70 44 44 20 74 65 6d 70 2c 74 65 6d 70 2c 64 69 72 |DD temp,temp,dir| 00006c80 65 63 2c 4c 53 4c 23 32 0d 1b 44 2e 2e 6f 76 65 |ec,LSL#2..D..ove| 00006c90 72 6c 69 76 65 20 41 44 52 20 52 31 34 2c 72 6f |rlive ADR R14,ro| 00006ca0 62 6f 72 65 6e 64 65 7a 3a 4c 44 52 20 50 43 2c |borendez:LDR PC,| 00006cb0 5b 74 65 6d 70 5d 0d 1b 4e 0f 2e 72 6f 62 6f 72 |[temp]..N..robor| 00006cc0 65 6e 64 65 7a 0d 1b 58 35 20 20 20 20 20 20 20 |endez..X5 | 00006cd0 20 4c 44 52 20 52 31 32 2c 72 64 65 61 64 3a 43 | LDR R12,rdead:C| 00006ce0 4d 50 20 52 31 32 2c 23 32 35 35 3a 42 4e 45 20 |MP R12,#255:BNE | 00006cf0 72 65 6e 64 75 70 64 61 74 65 0d 1b 62 33 20 20 |rendupdate..b3 | 00006d00 20 20 20 20 20 20 4c 44 52 20 52 31 32 2c 72 68 | LDR R12,rh| 00006d10 61 6c 74 3a 43 4d 50 20 52 31 32 2c 23 30 3a 42 |alt:CMP R12,#0:B| 00006d20 4e 45 20 72 65 6e 64 75 70 64 61 74 65 0d 1b 6c |NE rendupdate..l| 00006d30 23 20 20 20 20 20 20 20 20 43 4d 50 20 6f 66 66 |# CMP off| 00006d40 2c 23 30 3a 42 45 51 20 72 6f 62 6f 6d 6f 76 65 |,#0:BEQ robomove| 00006d50 0d 1b 76 23 20 20 20 20 20 20 20 20 43 4d 50 20 |..v# CMP | 00006d60 64 69 72 65 63 2c 23 31 3a 42 45 51 20 72 62 61 |direc,#1:BEQ rba| 00006d70 63 6b 77 0d 1b 80 23 20 20 20 20 20 20 20 20 43 |ckw...# C| 00006d80 4d 50 20 64 69 72 65 63 2c 23 32 3a 42 45 51 20 |MP direc,#2:BEQ | 00006d90 72 62 61 63 6b 77 0d 1b 8a 35 20 20 20 20 20 20 |rbackw...5 | 00006da0 20 20 41 44 44 20 6f 66 66 2c 6f 66 66 2c 23 31 | ADD off,off,#1| 00006db0 3a 43 4d 50 20 6f 66 66 2c 23 31 36 3a 42 4c 54 |:CMP off,#16:BLT| 00006dc0 20 72 65 6e 64 75 70 64 61 74 65 0d 1b 94 16 20 | rendupdate.... | 00006dd0 20 20 20 20 20 20 20 4d 4f 56 20 6f 66 66 2c 23 | MOV off,#| 00006de0 30 0d 1b 9e 34 20 20 20 20 20 20 20 20 43 4d 50 |0...4 CMP| 00006df0 20 64 69 72 65 63 2c 23 30 3a 4c 44 52 45 51 20 | direc,#0:LDREQ | 00006e00 74 65 6d 70 2c 72 78 3a 4c 44 52 4e 45 20 74 65 |temp,rx:LDRNE te| 00006e10 6d 70 2c 72 79 0d 1b a8 38 20 20 20 20 20 20 20 |mp,ry...8 | 00006e20 20 41 44 44 20 74 65 6d 70 2c 74 65 6d 70 2c 23 | ADD temp,temp,#| 00006e30 34 3a 53 54 52 45 51 20 74 65 6d 70 2c 72 78 3a |4:STREQ temp,rx:| 00006e40 53 54 52 4e 45 20 74 65 6d 70 2c 72 79 0d 1b b2 |STRNE temp,ry...| 00006e50 18 20 20 20 20 20 20 20 20 42 20 72 65 6e 64 75 |. B rendu| 00006e60 70 64 61 74 65 0d 1b bc 1a 2e 72 62 61 63 6b 77 |pdate.....rbackw| 00006e70 20 53 55 42 20 6f 66 66 2c 6f 66 66 2c 23 31 0d | SUB off,off,#1.| 00006e80 1b c6 1c 2e 72 65 6e 64 75 70 64 61 74 65 20 53 |....rendupdate S| 00006e90 54 52 20 6f 66 66 2c 72 6f 66 66 0d 1b d0 37 20 |TR off,roff...7 | 00006ea0 20 20 20 20 20 20 20 20 41 44 52 20 74 65 6d 70 | ADR temp| 00006eb0 2c 72 78 3a 4c 44 4d 49 41 20 74 65 6d 70 2c 7b |,rx:LDMIA temp,{| 00006ec0 78 2c 79 2c 6f 66 66 2c 64 69 72 65 63 2c 52 31 |x,y,off,direc,R1| 00006ed0 32 7d 0d 1b da 3b 20 20 20 20 20 20 20 20 20 4c |2}...; L| 00006ee0 44 52 20 52 30 2c 72 6f 62 6f 6e 75 6d 3a 4d 4f |DR R0,robonum:MO| 00006ef0 56 20 74 65 6d 70 2c 23 35 2a 34 3a 4d 55 4c 20 |V temp,#5*4:MUL | 00006f00 74 65 6d 70 32 2c 52 30 2c 74 65 6d 70 0d 1b e4 |temp2,R0,temp...| 00006f10 4f 20 20 20 20 20 20 20 20 20 4c 44 52 20 74 65 |O LDR te| 00006f20 6d 70 2c 72 6f 64 61 74 61 3a 41 44 44 20 74 65 |mp,rodata:ADD te| 00006f30 6d 70 2c 74 65 6d 70 2c 74 65 6d 70 32 3a 53 54 |mp,temp,temp2:ST| 00006f40 4d 49 41 20 74 65 6d 70 2c 7b 78 2c 79 2c 6f 66 |MIA temp,{x,y,of| 00006f50 66 2c 64 69 72 65 63 2c 52 31 32 7d 0d 1b ee 54 |f,direc,R12}...T| 00006f60 20 20 20 20 20 20 20 20 20 20 41 44 44 20 52 30 | ADD R0| 00006f70 2c 52 30 2c 23 31 3a 53 54 52 20 52 30 2c 72 6f |,R0,#1:STR R0,ro| 00006f80 62 6f 6e 75 6d 3a 4c 44 52 20 74 65 6d 70 2c 6d |bonum:LDR temp,m| 00006f90 61 78 62 6f 74 73 3a 43 4d 50 20 52 30 2c 74 65 |axbots:CMP R0,te| 00006fa0 6d 70 3a 42 4c 54 20 72 6f 62 6f 6c 6f 6f 70 32 |mp:BLT roboloop2| 00006fb0 0d 1b f8 20 20 20 20 20 20 20 20 20 4c 44 52 20 |... LDR | 00006fc0 50 43 2c 62 61 63 6b 5f 66 72 6f 6d 5f 72 74 6e |PC,back_from_rtn| 00006fd0 0d 1c 02 16 2e 62 6c 6f 6b 65 31 20 45 51 55 44 |.....bloke1 EQUD| 00006fe0 28 6d 61 6e 31 29 0d 1c 0c 16 2e 62 6c 6f 6b 65 |(man1).....bloke| 00006ff0 32 20 45 51 55 44 28 6d 61 6e 32 29 0d 1c 16 1b |2 EQUD(man2)....| 00007000 2e 72 6f 64 61 74 61 20 45 51 55 44 20 28 72 6f |.rodata EQUD (ro| 00007010 62 6f 64 61 74 61 29 0d 1c 20 05 3a 0d 1c 2a 1c |bodata).. .:..*.| 00007020 2e 73 63 72 65 65 6e 32 20 45 51 55 44 28 73 63 |.screen2 EQUD(sc| 00007030 72 5f 73 74 61 72 74 29 0d 1c 34 17 2e 73 65 65 |r_start)..4..see| 00007040 64 20 20 20 45 51 55 53 20 22 50 41 55 4c 22 0d |d EQUS "PAUL".| 00007050 1c 3e 15 2e 74 65 6d 70 63 68 65 63 6b 20 45 51 |.>..tempcheck EQ| 00007060 55 44 20 30 0d 1c 48 47 2e 70 72 69 64 69 72 20 |UD 0..HG.pridir | 00007070 45 51 55 44 20 26 30 31 30 33 30 32 30 30 3a 45 |EQUD &01030200:E| 00007080 51 55 44 20 26 30 30 30 33 30 32 30 31 3a 45 51 |QUD &00030201:EQ| 00007090 55 44 20 26 30 33 30 30 30 31 30 32 3a 45 51 55 |UD &03000102:EQU| 000070a0 44 20 26 30 32 30 30 30 31 30 33 0d 1c 52 1b 2e |D &02000103..R..| 000070b0 72 6f 62 6f 6d 6f 76 65 20 20 4c 44 52 20 6f 66 |robomove LDR of| 000070c0 66 2c 72 6f 66 66 0d 1c 5c 2a 20 20 20 20 20 20 |f,roff..\* | 000070d0 20 20 4c 44 52 20 78 2c 72 78 3a 4c 44 52 20 79 | LDR x,rx:LDR y| 000070e0 2c 72 79 3a 4d 4f 56 20 74 65 6d 70 2c 23 31 39 |,ry:MOV temp,#19| 000070f0 0d 1c 66 2d 20 20 20 20 20 20 20 20 4d 4c 41 20 |..f- MLA | 00007100 73 70 6e 75 6d 2c 79 2c 74 65 6d 70 2c 78 3a 4c |spnum,y,temp,x:L| 00007110 44 52 20 74 65 6d 70 2c 72 67 72 69 64 0d 1c 70 |DR temp,rgrid..p| 00007120 30 20 20 20 20 20 20 20 20 41 44 44 20 74 65 6d |0 ADD tem| 00007130 70 2c 74 65 6d 70 2c 73 70 6e 75 6d 3a 41 44 44 |p,temp,spnum:ADD| 00007140 20 74 65 6d 70 2c 74 65 6d 70 2c 23 31 0d 1c 7a | temp,temp,#1..z| 00007150 1a 20 20 20 20 20 20 20 20 4c 44 52 20 64 69 72 |. LDR dir| 00007160 65 63 2c 72 64 69 72 0d 1c 84 38 20 20 20 20 20 |ec,rdir...8 | 00007170 20 20 20 41 44 52 20 74 65 6d 70 32 2c 70 72 69 | ADR temp2,pri| 00007180 64 69 72 3a 41 44 44 20 74 65 6d 70 32 2c 74 65 |dir:ADD temp2,te| 00007190 6d 70 32 2c 64 69 72 65 63 2c 4c 53 4c 23 32 0d |mp2,direc,LSL#2.| 000071a0 1c 8e 43 20 20 20 20 20 20 20 20 4c 44 52 20 52 |..C LDR R| 000071b0 30 2c 73 65 65 64 3a 41 44 44 20 52 30 2c 52 30 |0,seed:ADD R0,R0| 000071c0 2c 52 30 2c 4c 53 52 23 31 3a 53 54 52 20 52 30 |,R0,LSR#1:STR R0| 000071d0 2c 73 65 65 64 3a 80 20 52 30 2c 52 30 2c 23 32 |,seed:. R0,R0,#2| 000071e0 35 35 0d 1c 98 33 20 20 20 20 20 20 20 20 43 4d |55...3 CM| 000071f0 50 20 52 30 2c 23 31 32 38 3a 4c 44 52 4c 45 42 |P R0,#128:LDRLEB| 00007200 20 52 30 2c 5b 74 65 6d 70 32 5d 3a 42 4c 45 20 | R0,[temp2]:BLE | 00007210 72 6c 65 66 74 0d 1c a2 36 20 20 20 20 20 20 20 |rleft...6 | 00007220 20 43 4d 50 20 52 30 2c 23 31 37 36 3a 4c 44 52 | CMP R0,#176:LDR| 00007230 4c 45 42 20 52 30 2c 5b 74 65 6d 70 32 2c 23 31 |LEB R0,[temp2,#1| 00007240 5d 3a 42 4c 45 20 72 6c 65 66 74 0d 1c ac 36 20 |]:BLE rleft...6 | 00007250 20 20 20 20 20 20 20 43 4d 50 20 52 30 2c 23 32 | CMP R0,#2| 00007260 32 34 3a 4c 44 52 4c 45 42 20 52 30 2c 5b 74 65 |24:LDRLEB R0,[te| 00007270 6d 70 32 2c 23 32 5d 3a 42 4c 45 20 72 6c 65 66 |mp2,#2]:BLE rlef| 00007280 74 0d 1c b6 1e 20 20 20 20 20 20 20 20 4c 44 52 |t.... LDR| 00007290 42 20 52 30 2c 5b 74 65 6d 70 32 2c 23 33 5d 0d |B R0,[temp2,#3].| 000072a0 1c c0 28 2e 72 6c 65 66 74 20 20 4c 44 52 20 78 |..(.rleft LDR x| 000072b0 2c 72 78 3a 43 4d 50 20 78 2c 23 30 3a 42 45 51 |,rx:CMP x,#0:BEQ| 000072c0 20 72 72 69 67 68 74 0d 1c ca 39 20 20 20 20 20 | rright...9 | 000072d0 20 20 20 4c 44 52 42 20 74 65 6d 70 32 2c 5b 74 | LDRB temp2,[t| 000072e0 65 6d 70 2c 23 2d 34 5d 3a 43 4d 50 20 74 65 6d |emp,#-4]:CMP tem| 000072f0 70 32 2c 23 33 3a 42 4e 45 20 72 72 69 67 68 74 |p2,#3:BNE rright| 00007300 0d 1c d4 20 20 20 20 20 20 20 20 20 43 4d 50 20 |... CMP | 00007310 52 30 2c 23 31 3a 42 4e 45 20 72 72 69 67 68 74 |R0,#1:BNE rright| 00007320 0d 1c de 28 20 20 20 20 20 20 20 20 4c 44 52 20 |...( LDR | 00007330 78 2c 72 78 3a 53 55 42 20 78 2c 78 2c 23 34 3a |x,rx:SUB x,x,#4:| 00007340 53 54 52 20 78 2c 72 78 0d 1c e8 24 20 20 20 20 |STR x,rx...$ | 00007350 20 20 20 20 4d 4f 56 20 6f 66 66 2c 23 31 35 3a | MOV off,#15:| 00007360 53 54 52 20 6f 66 66 2c 72 6f 66 66 0d 1c f2 24 |STR off,roff...$| 00007370 20 20 20 20 20 20 20 20 53 54 52 20 52 30 2c 72 | STR R0,r| 00007380 64 69 72 3a 42 20 72 65 6e 64 75 70 64 61 74 65 |dir:B rendupdate| 00007390 0d 1c fc 1d 2e 72 72 69 67 68 74 20 43 4d 50 20 |.....rright CMP | 000073a0 52 30 2c 23 30 3a 42 4e 45 20 72 75 70 0d 1d 06 |R0,#0:BNE rup...| 000073b0 28 20 20 20 20 20 20 20 20 4c 44 52 20 78 2c 72 |( LDR x,r| 000073c0 78 3a 43 4d 50 20 78 2c 23 31 38 2a 34 3a 42 45 |x:CMP x,#18*4:BE| 000073d0 51 20 72 75 70 0d 1d 10 35 20 20 20 20 20 20 20 |Q rup...5 | 000073e0 20 4c 44 52 42 20 74 65 6d 70 32 2c 5b 74 65 6d | LDRB temp2,[tem| 000073f0 70 2c 23 34 5d 3a 43 4d 50 20 74 65 6d 70 32 2c |p,#4]:CMP temp2,| 00007400 23 33 3a 42 4e 45 20 72 75 70 0d 1d 1a 23 20 20 |#3:BNE rup...# | 00007410 20 20 20 20 20 20 4d 4f 56 20 6f 66 66 2c 23 31 | MOV off,#1| 00007420 3a 53 54 52 20 6f 66 66 2c 72 6f 66 66 0d 1d 24 |:STR off,roff..$| 00007430 24 20 20 20 20 20 20 20 20 53 54 52 20 52 30 2c |$ STR R0,| 00007440 72 64 69 72 3a 42 20 72 65 6e 64 75 70 64 61 74 |rdir:B rendupdat| 00007450 65 0d 1d 2e 1f 2e 72 75 70 20 20 20 20 43 4d 50 |e.....rup CMP| 00007460 20 52 30 2c 23 32 3a 42 4e 45 20 72 64 6f 77 6e | R0,#2:BNE rdown| 00007470 0d 1d 38 27 20 20 20 20 20 20 20 20 4c 44 52 20 |..8' LDR | 00007480 79 2c 72 79 3a 43 4d 50 20 79 2c 23 30 3a 42 45 |y,ry:CMP y,#0:BE| 00007490 51 20 72 64 6f 77 6e 0d 1d 42 3b 20 20 20 20 20 |Q rdown..B; | 000074a0 20 20 20 4c 44 52 42 20 74 65 6d 70 32 2c 5b 74 | LDRB temp2,[t| 000074b0 65 6d 70 2c 23 2d 31 39 2a 34 5d 3a 43 4d 50 20 |emp,#-19*4]:CMP | 000074c0 74 65 6d 70 32 2c 23 33 3a 42 4e 45 20 72 64 6f |temp2,#3:BNE rdo| 000074d0 77 6e 0d 1d 4c 28 20 20 20 20 20 20 20 20 4c 44 |wn..L( LD| 000074e0 52 20 79 2c 72 79 3a 53 55 42 20 79 2c 79 2c 23 |R y,ry:SUB y,y,#| 000074f0 34 3a 53 54 52 20 79 2c 72 79 0d 1d 56 24 20 20 |4:STR y,ry..V$ | 00007500 20 20 20 20 20 20 4d 4f 56 20 6f 66 66 2c 23 31 | MOV off,#1| 00007510 35 3a 53 54 52 20 6f 66 66 2c 72 6f 66 66 0d 1d |5:STR off,roff..| 00007520 60 24 20 20 20 20 20 20 20 20 53 54 52 20 52 30 |`$ STR R0| 00007530 2c 72 64 69 72 3a 42 20 72 65 6e 64 75 70 64 61 |,rdir:B rendupda| 00007540 74 65 0d 1d 6a 24 2e 72 64 6f 77 6e 20 20 43 4d |te..j$.rdown CM| 00007550 50 20 52 30 2c 23 33 3a 42 4e 45 20 72 65 6e 64 |P R0,#3:BNE rend| 00007560 75 70 64 61 74 65 0d 1d 74 2f 20 20 20 20 20 20 |update..t/ | 00007570 20 20 4c 44 52 20 79 2c 72 79 3a 43 4d 50 20 79 | LDR y,ry:CMP y| 00007580 2c 23 31 32 2a 34 3a 42 45 51 20 72 65 6e 64 75 |,#12*4:BEQ rendu| 00007590 70 64 61 74 65 0d 1d 7e 3f 20 20 20 20 20 20 20 |pdate..~? | 000075a0 20 4c 44 52 42 20 74 65 6d 70 32 2c 5b 74 65 6d | LDRB temp2,[tem| 000075b0 70 2c 23 31 39 2a 34 5d 3a 43 4d 50 20 74 65 6d |p,#19*4]:CMP tem| 000075c0 70 32 2c 23 33 3a 42 4e 45 20 72 65 6e 64 75 70 |p2,#3:BNE rendup| 000075d0 64 61 74 65 0d 1d 88 23 20 20 20 20 20 20 20 20 |date...# | 000075e0 4d 4f 56 20 6f 66 66 2c 23 31 3a 53 54 52 20 6f |MOV off,#1:STR o| 000075f0 66 66 2c 72 6f 66 66 0d 1d 92 24 20 20 20 20 20 |ff,roff...$ | 00007600 20 20 20 53 54 52 20 52 30 2c 72 64 69 72 3a 42 | STR R0,rdir:B| 00007610 20 72 65 6e 64 75 70 64 61 74 65 0d 1d 9c 19 2e | rendupdate.....| 00007620 72 67 72 69 64 20 45 51 55 44 28 67 72 69 64 64 |rgrid EQUD(gridd| 00007630 61 74 61 29 0d 1d a6 1c 2e 72 6f 62 6f 74 72 74 |ata).....robotrt| 00007640 6e 73 20 a4 72 65 73 65 72 76 65 28 34 2a 34 29 |ns .reserve(4*4)| 00007650 0d 1d b0 1b 20 20 20 20 20 20 20 20 a4 6d 79 73 |.... .mys| 00007660 74 65 72 79 5f 74 6f 6b 65 6e 73 0d 1d ba 05 5d |tery_tokens....]| 00007670 0d 1d c4 07 3d 22 22 0d 1d ce 05 3a 0d 1d d8 0e |....=""....:....| 00007680 dd f2 6c 6f 6f 70 67 61 6d 65 0d 1d ec 05 87 0d |..loopgame......| 00007690 1d f7 06 fb 38 0d 1d fb 0e 6d 61 78 6c 65 76 65 |....8....maxleve| 000076a0 6c 3d 30 0d 1e 00 0f f5 20 6f 70 74 69 6f 6e 73 |l=0..... options| 000076b0 3d b9 0d 1e 0a 13 f2 62 6f 78 28 31 2c 35 2c 32 |=......box(1,5,2| 000076c0 33 2c 32 30 29 0d 1e 0f 07 f5 3a db 0d 1e 10 0f |3,20).....:.....| 000076d0 e7 20 6f 70 74 69 6f 6e 73 20 8c 0d 1e 14 20 f1 |. options .... .| 000076e0 3a f2 70 72 28 22 20 20 31 2e 20 20 31 20 50 6c |:.pr(" 1. 1 Pl| 000076f0 61 79 65 72 20 67 61 6d 65 22 29 0d 1e 1e 20 f1 |ayer game")... .| 00007700 3a f2 70 72 28 22 20 20 32 2e 20 20 32 20 50 6c |:.pr(" 2. 2 Pl| 00007710 61 79 65 72 20 67 61 6d 65 22 29 0d 1e 28 1f f1 |ayer game")..(..| 00007720 3a f2 70 72 28 22 20 20 33 2e 20 20 49 6e 73 74 |:.pr(" 3. Inst| 00007730 72 75 63 74 69 6f 6e 73 22 29 0d 1e 32 19 f1 3a |ructions")..2..:| 00007740 f2 70 72 28 22 20 20 34 2e 20 20 46 69 6e 69 73 |.pr(" 4. Finis| 00007750 68 22 29 0d 1e 3c 1c f1 27 3a f2 70 72 28 22 20 |h")..<..':.pr(" | 00007760 50 6c 65 61 73 65 20 73 65 6c 65 63 74 22 29 0d |Please select").| 00007770 1e 3e 05 cc 0d 1e 40 0b f2 73 68 6f 77 68 69 0d |.>....@..showhi.| 00007780 1e 41 05 cd 0d 1e 42 15 6f 70 74 69 6f 6e 73 3d |.A....B.options=| 00007790 ac 20 6f 70 74 69 6f 6e 73 0d 1e 46 28 43 48 3d |. options..F(CH=| 000077a0 a6 28 31 35 30 30 29 3a fd 20 43 48 3e 3d 97 28 |.(1500):. CH>=.(| 000077b0 22 31 22 29 20 80 20 43 48 3c 3d 97 28 22 34 22 |"1") . CH<=.("4"| 000077c0 29 0d 1e 48 0b c8 8e 20 43 48 20 ca 0d 1e 4a 16 |)..H... CH ...J.| 000077d0 c9 20 97 28 22 31 22 29 3a 20 f2 70 6c 61 79 6f |. .("1"): .playo| 000077e0 6e 65 0d 1e 4c 16 c9 20 97 28 22 32 22 29 3a 20 |ne..L.. .("2"): | 000077f0 f2 70 6c 61 79 74 77 6f 0d 1e 4e 16 c9 20 97 28 |.playtwo..N.. .(| 00007800 22 33 22 29 3a 20 f2 69 6e 73 74 72 75 63 0d 1e |"3"): .instruc..| 00007810 50 12 c9 20 97 28 22 34 22 29 3a 20 f2 66 69 6e |P.. .("4"): .fin| 00007820 0d 1e 52 05 cb 0d 1e 6e 06 fd 30 0d 1e 78 05 e1 |..R....n..0..x..| 00007830 0d 1e 82 05 3a 0d 1e 8c 14 dd a4 6d 79 73 74 65 |....:......myste| 00007840 72 79 5f 74 6f 6b 65 6e 73 0d 1e 96 0d 5b 4f 50 |ry_tokens....[OP| 00007850 54 20 70 61 73 73 0d 1e a0 19 2e 73 61 66 65 6d |T pass.....safem| 00007860 20 a4 72 65 73 65 72 76 65 28 31 32 2a 34 29 0d | .reserve(12*4).| 00007870 1e aa 18 2e 6d 73 65 65 64 20 45 51 55 53 20 28 |....mseed EQUS (| 00007880 22 54 43 45 4c 22 29 0d 1e b4 35 2e 6d 79 73 74 |"TCEL")...5.myst| 00007890 65 72 79 20 41 44 52 20 74 65 6d 70 2c 73 61 66 |ery ADR temp,saf| 000078a0 65 6d 3a 53 54 4d 49 41 20 74 65 6d 70 2c 7b 52 |em:STMIA temp,{R| 000078b0 30 2d 52 35 2c 52 37 2d 52 31 32 7d 0d 1e be 43 |0-R5,R7-R12}...C| 000078c0 20 20 20 20 20 20 20 20 20 4c 44 52 20 74 65 6d | LDR tem| 000078d0 70 2c 6d 73 65 65 64 3a 41 44 44 20 74 65 6d 70 |p,mseed:ADD temp| 000078e0 2c 74 65 6d 70 2c 74 65 6d 70 2c 4c 53 52 23 31 |,temp,temp,LSR#1| 000078f0 3a 53 54 52 20 74 65 6d 70 2c 6d 73 65 65 64 0d |:STR temp,mseed.| 00007900 1e c8 37 20 20 20 20 20 20 20 20 20 80 20 74 65 |..7 . te| 00007910 6d 70 2c 74 65 6d 70 2c 23 32 35 35 3a 43 4d 50 |mp,temp,#255:CMP| 00007920 20 74 65 6d 70 2c 23 37 33 3a 42 47 45 20 74 6f | temp,#73:BGE to| 00007930 6b 74 79 70 65 32 0d 1e d2 2d 20 20 20 20 20 20 |ktype2...- | 00007940 20 20 20 4c 44 52 20 74 61 62 6c 65 2c 72 67 72 | LDR table,rgr| 00007950 69 64 3a 4d 4f 56 20 74 65 6d 70 32 2c 23 31 33 |id:MOV temp2,#13| 00007960 2a 31 39 0d 1e dc 3c 2e 65 63 6d 6c 6f 6f 70 20 |*19...<.ecmloop | 00007970 4c 44 52 42 20 74 65 6d 70 33 2c 5b 74 61 62 6c |LDRB temp3,[tabl| 00007980 65 2c 23 31 5d 3a 43 4d 50 20 74 65 6d 70 33 2c |e,#1]:CMP temp3,| 00007990 23 32 3a 42 4e 45 20 6e 6f 74 61 62 6f 6d 62 0d |#2:BNE notabomb.| 000079a0 1e e6 2f 20 20 20 20 20 20 20 20 20 4d 4f 56 20 |../ MOV | 000079b0 74 65 6d 70 33 2c 23 31 3a 53 54 52 42 20 74 65 |temp3,#1:STRB te| 000079c0 6d 70 33 2c 5b 74 61 62 6c 65 2c 23 32 5d 0d 1e |mp3,[table,#2]..| 000079d0 f0 40 2e 6e 6f 74 61 62 6f 6d 62 20 41 44 44 20 |.@.notabomb ADD | 000079e0 74 61 62 6c 65 2c 74 61 62 6c 65 2c 23 34 3a 53 |table,table,#4:S| 000079f0 55 42 53 20 74 65 6d 70 32 2c 74 65 6d 70 32 2c |UBS temp2,temp2,| 00007a00 23 31 3a 42 4e 45 20 65 63 6d 6c 6f 6f 70 0d 1e |#1:BNE ecmloop..| 00007a10 fa 35 20 20 20 20 20 20 20 20 20 41 44 52 20 74 |.5 ADR t| 00007a20 65 6d 70 2c 73 61 66 65 6d 3a 4c 44 4d 49 41 20 |emp,safem:LDMIA | 00007a30 74 65 6d 70 2c 7b 52 30 2d 52 35 2c 52 37 2d 52 |temp,{R0-R5,R7-R| 00007a40 31 32 7d 0d 1f 04 17 20 20 20 20 20 20 20 20 20 |12}.... | 00007a50 4d 4f 56 20 50 43 2c 52 31 34 0d 1f 0e 28 2e 74 |MOV PC,R14...(.t| 00007a60 6f 6b 74 79 70 65 32 20 43 4d 50 20 74 65 6d 70 |oktype2 CMP temp| 00007a70 2c 23 31 34 36 3a 42 47 45 20 74 6f 6b 74 79 70 |,#146:BGE toktyp| 00007a80 65 33 0d 1f 18 39 20 20 20 20 20 20 20 20 20 4c |e3...9 L| 00007a90 44 52 20 74 65 6d 70 2c 72 68 61 6c 74 3a 82 20 |DR temp,rhalt:. | 00007aa0 74 65 6d 70 2c 74 65 6d 70 2c 23 31 3a 53 54 52 |temp,temp,#1:STR| 00007ab0 20 74 65 6d 70 2c 72 68 61 6c 74 0d 1f 22 17 20 | temp,rhalt..". | 00007ac0 20 20 20 20 20 20 20 20 4d 4f 56 20 50 43 2c 52 | MOV PC,R| 00007ad0 31 34 0d 1f 2c 28 2e 74 6f 6b 74 79 70 65 33 20 |14..,(.toktype3 | 00007ae0 43 4d 50 20 74 65 6d 70 2c 23 31 38 32 3a 42 47 |CMP temp,#182:BG| 00007af0 45 20 74 6f 6b 74 79 70 65 34 0d 1f 36 44 20 20 |E toktype4..6D | 00007b00 20 20 20 20 20 20 20 4c 44 52 20 74 65 6d 70 2c | LDR temp,| 00007b10 6d 61 6e 73 74 61 74 73 3a 4c 44 52 42 20 74 65 |manstats:LDRB te| 00007b20 6d 70 32 2c 5b 74 65 6d 70 2c 23 33 5d 3a 82 20 |mp2,[temp,#3]:. | 00007b30 74 65 6d 70 32 2c 74 65 6d 70 32 2c 23 31 0d 1f |temp2,temp2,#1..| 00007b40 40 2c 20 20 20 20 20 20 20 20 20 53 54 52 42 20 |@, STRB | 00007b50 74 65 6d 70 32 2c 5b 74 65 6d 70 2c 23 33 5d 3a |temp2,[temp,#3]:| 00007b60 4d 4f 56 20 50 43 2c 52 31 34 0d 1f 41 49 2e 74 |MOV PC,R14..AI.t| 00007b70 6f 6b 74 79 70 65 34 20 4c 44 52 20 74 65 6d 70 |oktype4 LDR temp| 00007b80 2c 6d 61 6e 64 65 61 64 3a 4d 4f 56 20 74 65 6d |,mandead:MOV tem| 00007b90 70 32 2c 23 35 31 32 3a 53 54 52 20 74 65 6d 70 |p2,#512:STR temp| 00007ba0 32 2c 5b 74 65 6d 70 5d 3a 4d 4f 56 20 50 43 2c |2,[temp]:MOV PC,| 00007bb0 52 31 34 0d 1f 42 05 3a 0d 1f 43 18 2e 6d 61 6e |R14..B.:..C..man| 00007bc0 64 65 61 64 20 45 51 55 44 20 28 64 65 61 64 29 |dead EQUD (dead)| 00007bd0 0d 1f 4a 05 5d 0d 1f 54 07 3d 22 22 0d 1f 5e 05 |..J.]..T.=""..^.| 00007be0 3a 0d 1f 68 0f dd a4 73 63 6f 72 65 64 72 61 77 |:..h...scoredraw| 00007bf0 0d 1f 72 0a ea 20 74 65 6d 70 0d 1f 7c 37 6e 75 |..r.. temp..|7nu| 00007c00 6d 62 65 72 3d 30 3a 64 69 67 3d 31 3a 70 77 72 |mber=0:dig=1:pwr| 00007c10 3d 32 3a 70 77 72 6c 73 74 3d 33 3a 73 70 61 64 |=2:pwrlst=3:spad| 00007c20 64 72 3d 34 3a 73 63 72 3d 38 3a 74 65 6d 70 3d |dr=4:scr=8:temp=| 00007c30 35 0d 1f 86 0d 5b 4f 50 54 20 70 61 73 73 0d 1f |5....[OPT pass..| 00007c40 90 3a 2e 70 6f 77 65 72 73 31 30 20 45 51 55 44 |.:.powers10 EQUD| 00007c50 20 31 30 30 30 30 3a 45 51 55 44 20 31 30 30 30 | 10000:EQUD 1000| 00007c60 3a 45 51 55 44 20 31 30 30 3a 45 51 55 44 20 31 |:EQUD 100:EQUD 1| 00007c70 30 3a 45 51 55 44 20 31 0d 1f 9a 1c 2e 64 69 67 |0:EQUD 1.....dig| 00007c80 69 74 73 20 a4 72 65 73 65 72 76 65 28 31 30 2a |its .reserve(10*| 00007c90 34 2a 38 29 0d 1f a4 34 2e 72 65 64 6f 73 63 6f |4*8)...4.redosco| 00007ca0 72 65 20 41 44 52 20 70 77 72 6c 73 74 2c 70 6f |re ADR pwrlst,po| 00007cb0 77 65 72 73 31 30 3a 41 44 52 20 73 70 61 64 64 |wers10:ADR spadd| 00007cc0 72 2c 64 69 67 69 74 73 0d 1f ae 3a 20 20 20 20 |r,digits...: | 00007cd0 20 20 20 20 20 20 20 4c 44 52 20 6e 75 6d 62 65 | LDR numbe| 00007ce0 72 2c 73 63 6f 72 65 3a 4c 44 52 20 52 37 2c 73 |r,score:LDR R7,s| 00007cf0 63 72 65 65 6e 3a 53 55 42 20 52 37 2c 52 37 2c |creen:SUB R7,R7,| 00007d00 23 34 0d 1f b8 34 2e 70 6f 77 72 6c 6f 6f 70 20 |#4...4.powrloop | 00007d10 20 4c 44 52 20 70 77 72 2c 5b 70 77 72 6c 73 74 | LDR pwr,[pwrlst| 00007d20 5d 3a 41 44 44 20 70 77 72 6c 73 74 2c 70 77 72 |]:ADD pwrlst,pwr| 00007d30 6c 73 74 2c 23 34 0d 1f c2 32 20 20 20 20 20 20 |lst,#4...2 | 00007d40 20 20 20 20 20 43 4d 50 20 70 77 72 2c 23 31 3a | CMP pwr,#1:| 00007d50 ec 51 20 64 69 67 2c 6e 75 6d 62 65 72 3a 42 45 |.Q dig,number:BE| 00007d60 51 20 6f 75 74 64 69 67 0d 1f cc 19 20 20 20 20 |Q outdig.... | 00007d70 20 20 20 20 20 20 20 4d 4f 56 20 64 69 67 2c 23 | MOV dig,#| 00007d80 30 0d 1f d6 28 2e 64 69 67 6c 6f 6f 70 20 20 20 |0...(.digloop | 00007d90 43 4d 50 20 6e 75 6d 62 65 72 2c 70 77 72 3a 42 |CMP number,pwr:B| 00007da0 4c 54 20 6f 75 74 64 69 67 0d 1f e0 24 20 20 20 |LT outdig...$ | 00007db0 20 20 20 20 20 20 20 20 53 55 42 20 6e 75 6d 62 | SUB numb| 00007dc0 65 72 2c 6e 75 6d 62 65 72 2c 70 77 72 0d 1f ea |er,number,pwr...| 00007dd0 27 20 20 20 20 20 20 20 20 20 20 20 41 44 44 20 |' ADD | 00007de0 64 69 67 2c 64 69 67 2c 23 31 3a 42 20 64 69 67 |dig,dig,#1:B dig| 00007df0 6c 6f 6f 70 0d 1f f4 2d 2e 6f 75 74 64 69 67 20 |loop...-.outdig | 00007e00 20 20 20 4d 4f 56 20 74 65 6d 70 2c 64 69 67 2c | MOV temp,dig,| 00007e10 4c 53 4c 20 23 35 3a 4d 4f 56 20 64 69 67 2c 23 |LSL #5:MOV dig,#| 00007e20 30 0d 1f fe 39 20 20 20 20 20 20 20 20 20 20 20 |0...9 | 00007e30 4d 4f 56 20 73 63 72 2c 52 37 3a 41 44 44 20 73 |MOV scr,R7:ADD s| 00007e40 63 72 2c 73 63 72 2c 23 33 32 30 2a 34 3a 41 44 |cr,scr,#320*4:AD| 00007e50 44 20 52 37 2c 52 37 2c 23 34 0d 20 08 30 2e 64 |D R7,R7,#4. .0.d| 00007e60 69 67 6f 75 74 70 20 20 20 4c 44 52 20 52 36 2c |igoutp LDR R6,| 00007e70 5b 73 70 61 64 64 72 2c 74 65 6d 70 5d 3a 53 54 |[spaddr,temp]:ST| 00007e80 52 20 52 36 2c 5b 73 63 72 5d 0d 20 12 3f 20 20 |R R6,[scr]. .? | 00007e90 20 20 20 20 20 20 20 20 20 41 44 44 20 73 63 72 | ADD scr| 00007ea0 2c 73 63 72 2c 23 33 32 30 3a 41 44 44 20 74 65 |,scr,#320:ADD te| 00007eb0 6d 70 2c 74 65 6d 70 2c 23 34 3a 41 44 44 20 64 |mp,temp,#4:ADD d| 00007ec0 69 67 2c 64 69 67 2c 23 31 0d 20 1c 25 20 20 20 |ig,dig,#1. .% | 00007ed0 20 20 20 20 20 20 20 20 43 4d 50 20 64 69 67 2c | CMP dig,| 00007ee0 23 38 3a 42 4c 54 20 64 69 67 6f 75 74 70 0d 20 |#8:BLT digoutp. | 00007ef0 26 26 20 20 20 20 20 20 20 20 20 20 20 43 4d 50 |&& CMP| 00007f00 20 70 77 72 2c 23 31 3a 42 4e 45 20 70 6f 77 72 | pwr,#1:BNE powr| 00007f10 6c 6f 6f 70 0d 20 30 3c 20 20 20 20 20 20 20 20 |loop. 0< | 00007f20 20 20 20 4c 44 52 20 6e 75 6d 62 65 72 2c 73 63 | LDR number,sc| 00007f30 6f 72 65 3a 53 54 52 20 6e 75 6d 62 65 72 2c 6f |ore:STR number,o| 00007f40 73 63 6f 72 65 3a 4d 4f 56 20 50 43 2c 52 31 34 |score:MOV PC,R14| 00007f50 0d 20 3a 05 5d 0d 20 44 07 3d 22 22 0d 20 4e 05 |. :.]. D.="". N.| 00007f60 3a 0d 20 58 16 dd f2 62 6f 78 28 58 31 2c 59 31 |:. X...box(X1,Y1| 00007f70 2c 58 32 2c 59 32 29 0d 20 62 14 ef 20 32 38 2c |,X2,Y2). b.. 28,| 00007f80 58 31 2c 59 32 2c 58 32 2c 59 31 0d 20 6c 05 db |X1,Y2,X2,Y1. l..| 00007f90 0d 20 76 0d e3 20 43 3d 30 20 b8 20 33 0d 20 80 |. v.. C=0 . 3. .| 00007fa0 09 e6 20 43 2a 34 0d 20 8a 41 c8 93 20 58 31 2a |.. C*4. .A.. X1*| 00007fb0 33 32 2b 43 2a 34 2c 28 33 31 2d 59 32 29 2a 33 |32+C*4,(31-Y2)*3| 00007fc0 32 2b 43 2a 34 2c 28 31 2b 58 32 2d 58 31 29 2a |2+C*4,(1+X2-X1)*| 00007fd0 33 32 2d 43 2a 38 2c 28 31 2b 59 32 2d 59 31 29 |32-C*8,(1+Y2-Y1)| 00007fe0 2a 33 32 2d 43 2a 38 0d 20 94 05 ed 0d 20 9e 1c |*32-C*8. .... ..| 00007ff0 ef 20 32 38 2c 58 31 2b 31 2c 59 32 2d 31 2c 58 |. 28,X1+1,Y2-1,X| 00008000 32 2d 31 2c 59 31 2b 31 0d 20 a8 05 e1 0d 20 b2 |2-1,Y1+1. .... .| 00008010 05 3a 0d 20 bc 0d dd f2 70 6c 61 79 6f 6e 65 0d |.:. ....playone.| 00008020 20 c6 05 db 0d 20 cb 21 21 70 6c 61 79 65 72 73 | .... .!!players| 00008030 3d 31 3a 21 73 63 6f 72 65 3d 30 3a 21 6f 73 63 |=1:!score=0:!osc| 00008040 6f 72 65 3d 31 0d 20 d0 13 e7 20 6d 61 78 6c 65 |ore=1. ... maxle| 00008050 76 65 6c 3c 3e 30 20 8c 0d 20 da 31 f1 27 27 3a |vel<>0 .. .1.'':| 00008060 f2 70 72 28 22 53 74 61 72 74 20 6c 65 76 65 6c |.pr("Start level| 00008070 20 3f 20 20 30 2d 22 2b c3 28 6d 61 78 6c 65 76 | ? 0-"+.(maxlev| 00008080 65 6c 29 2b 22 20 3a 22 29 0d 20 e4 2b f5 3a 4c |el)+" :"). .+.:L| 00008090 45 56 3d a5 2d 97 28 22 30 22 29 3a fd 20 4c 45 |EV=.-.("0"):. LE| 000080a0 56 3e 3d 30 20 80 20 4c 45 56 3c 3d 6d 61 78 6c |V>=0 . LEV<=maxl| 000080b0 65 76 65 6c 0d 20 ee 05 db 0d 20 f8 05 cc 0d 20 |evel. .... .... | 000080c0 fd 0c 4c 45 56 3d 30 3a ef 37 0d 20 fe 05 cd 0d |..LEV=0:.7. ....| 000080d0 20 ff 10 73 74 61 72 74 6c 65 76 3d 4c 45 56 0d | ..startlev=LEV.| 000080e0 21 02 21 f1 3a f2 63 65 6e 74 72 65 28 22 4c 65 |!.!.:.centre("Le| 000080f0 76 65 6c 20 22 2b c3 28 4c 45 56 29 2c 32 32 29 |vel "+.(LEV),22)| 00008100 0d 21 07 21 f1 27 3a f2 63 65 6e 74 72 65 28 22 |.!.!.':.centre("| 00008110 47 65 74 20 52 65 61 64 79 2e 2e 2e 22 2c 32 32 |Get Ready...",22| 00008120 29 0d 21 0c 0d 41 24 3d bf 28 31 37 35 29 0d 21 |).!..A$=.(175).!| 00008130 16 15 6e 65 77 6c 65 76 3d b9 3a 6c 69 66 65 3d |..newlev=.:life=| 00008140 31 3a f5 0d 21 20 4a e7 20 6e 65 77 6c 65 76 20 |1:..! J. newlev | 00008150 8c 20 f2 74 65 73 74 3a 6e 65 77 6c 65 76 3d a3 |. .test:newlev=.| 00008160 3a 8b 20 21 6d 61 6e 31 3d 35 31 32 3a 6d 61 6e |:. !man1=512:man| 00008170 31 3f 32 33 3d 30 3a d6 69 6e 69 74 5f 73 63 72 |1?23=0:.init_scr| 00008180 65 65 6e 3a d6 6d 61 69 6e 70 72 6f 67 0d 21 25 |een:.mainprog.!%| 00008190 0b 2a 46 58 31 35 2c 31 0d 21 2a 15 e7 20 21 64 |.*FX15,1.!*.. !d| 000081a0 65 74 6f 6e 61 74 65 64 3c 3e 30 20 8c 0d 21 34 |etonated<>0 ..!4| 000081b0 54 f2 62 6f 78 28 31 30 2c 31 30 2c 33 30 2c 31 |T.box(10,10,30,1| 000081c0 35 29 3a f2 63 65 6e 74 72 65 28 22 52 65 61 63 |5):.centre("Reac| 000081d0 74 6f 72 20 65 78 70 6c 6f 73 69 6f 6e 21 22 2c |tor explosion!",| 000081e0 31 38 29 3a f2 63 65 6e 74 72 65 28 22 4d 69 73 |18):.centre("Mis| 000081f0 73 69 6f 6e 20 61 62 6f 72 74 65 64 22 2c 31 38 |sion aborted",18| 00008200 29 0d 21 3e 14 41 24 3d bf 28 31 37 35 29 3a 6c |).!>.A$=.(175):l| 00008210 69 66 65 3d 34 0d 21 48 05 cc 0d 21 52 12 e7 20 |ife=4.!H...!R.. | 00008220 21 64 65 61 64 3e 3d 32 35 35 20 8c 0d 21 5c 2e |!dead>=255 ..!\.| 00008230 f2 62 6f 78 28 31 31 2c 31 30 2c 32 38 2c 31 35 |.box(11,10,28,15| 00008240 29 3a f1 3a f2 70 72 28 22 20 4c 65 76 65 6c 20 |):.:.pr(" Level | 00008250 63 6f 6d 70 6c 65 74 65 22 29 0d 21 66 2c e7 20 |complete").!f,. | 00008260 4c 45 56 3c 39 20 8c 20 f2 70 72 28 22 20 4e 65 |LEV<9 . .pr(" Ne| 00008270 78 74 20 3a 20 6c 65 76 65 6c 20 22 2b c3 28 4c |xt : level "+.(L| 00008280 45 56 2b 31 29 29 0d 21 6b 0d 41 24 3d bf 28 31 |EV+1)).!k.A$=.(1| 00008290 37 35 29 0d 21 70 31 4c 45 56 2b 3d 31 3a e7 20 |75).!p1LEV+=1:. | 000082a0 4c 45 56 3c 31 30 20 80 20 4c 45 56 3e 6d 61 78 |LEV<10 . LEV>max| 000082b0 6c 65 76 65 6c 20 8c 20 6d 61 78 6c 65 76 65 6c |level . maxlevel| 000082c0 3d 4c 45 56 0d 21 75 0c 6e 65 77 6c 65 76 3d b9 |=LEV.!u.newlev=.| 000082d0 0d 21 7a 05 cc 0d 21 84 54 e7 20 6c 69 66 65 3c |.!z...!.T. life<| 000082e0 33 20 8c 20 f2 62 6f 78 28 31 34 2c 31 30 2c 32 |3 . .box(14,10,2| 000082f0 35 2c 31 35 29 3a f1 3a f2 70 72 28 22 4c 69 66 |5,15):.:.pr("Lif| 00008300 65 20 22 2b c3 28 6c 69 66 65 2b 31 29 29 3a f2 |e "+.(life+1)):.| 00008310 70 72 28 22 47 65 74 20 52 65 61 64 79 22 29 3a |pr("Get Ready"):| 00008320 41 24 3d bf 28 31 37 35 29 0d 21 89 0b 6c 69 66 |A$=.(175).!..lif| 00008330 65 2b 3d 31 0d 21 8e 05 cd 0d 21 98 05 cd 0d 21 |e+=1.!....!....!| 00008340 a2 15 fd 20 6c 69 66 65 3e 33 20 84 20 4c 45 56 |... life>3 . LEV| 00008350 3d 31 30 0d 21 ac 1f e7 20 4c 45 56 3d 31 30 20 |=10.!... LEV=10 | 00008360 8c 20 f2 73 75 63 63 65 65 64 20 8b 20 f2 66 61 |. .succeed . .fa| 00008370 69 6c 0d 21 b1 28 e7 20 21 73 63 6f 72 65 3e 68 |il.!.(. !score>h| 00008380 69 73 63 28 30 29 20 8c 20 f2 61 64 64 73 63 6f |isc(0) . .addsco| 00008390 72 65 28 21 73 63 6f 72 65 29 0d 21 b6 05 e1 0d |re(!score).!....| 000083a0 21 c0 05 3a 0d 21 ca 12 dd f2 63 65 6e 74 72 65 |!..:.!....centre| 000083b0 28 4d 24 2c 57 29 0d 21 d4 1d f1 8a 28 57 2d a9 |(M$,W).!....(W-.| 000083c0 28 4d 24 29 29 20 81 20 32 29 3b 3a f2 70 72 28 |(M$)) . 2);:.pr(| 000083d0 4d 24 29 0d 21 de 05 e1 0d 21 e8 05 3a 0d 21 f2 |M$).!....!..:.!.| 000083e0 0a dd f2 66 61 69 6c 0d 21 fc 13 f2 62 6f 78 28 |...fail.!...box(| 000083f0 36 2c 38 2c 33 34 2c 31 39 29 0d 22 06 0a f7 20 |6,8,34,19)."... | 00008400 8d 54 6e 62 0d 22 10 1a f5 3a f3 20 4d 24 3a f2 |.Tnb."...:. M$:.| 00008410 70 72 28 4d 24 29 3a fd 20 4d 24 3d 22 22 0d 22 |pr(M$):. M$=""."| 00008420 1a 0d 41 24 3d bf 28 37 35 30 29 0d 22 24 12 d6 |..A$=.(750)."$..| 00008430 69 6e 69 74 5f 73 63 72 65 65 6e 3a e1 0d 22 2e |init_screen:..".| 00008440 16 dc 20 59 6f 75 27 72 65 20 64 65 61 64 2e 2c |.. You're dead.,| 00008450 22 20 22 0d 22 38 1e dc 20 59 6f 75 20 63 6f 75 |" "."8.. You cou| 00008460 6c 64 6e 27 74 20 65 76 65 6e 20 6d 61 6e 61 67 |ldn't even manag| 00008470 65 0d 22 42 1f dc 20 77 69 74 68 20 33 20 6c 69 |e."B.. with 3 li| 00008480 76 65 73 2e 20 20 49 27 6d 20 67 69 76 69 6e 67 |ves. I'm giving| 00008490 0d 22 4c 1e dc 20 74 68 65 20 63 6f 6e 74 72 61 |."L.. the contra| 000084a0 63 74 20 74 6f 20 73 6f 6d 65 62 6f 64 79 0d 22 |ct to somebody."| 000084b0 51 0d dc 20 65 6c 73 65 2e 2e 2e 0d 22 56 25 dc |Q.. else...."V%.| 000084c0 20 22 20 22 2c 22 20 20 4c 75 6e 61 72 20 62 61 | " "," Lunar ba| 000084d0 73 65 20 34 20 43 6f 6e 74 72 6f 6c 6c 65 72 22 |se 4 Controller"| 000084e0 0d 22 60 08 dc 20 22 22 0d 22 6a 05 3a 0d 22 74 |."`.. ""."j.:."t| 000084f0 0c dd f2 73 68 6f 77 68 69 0d 22 79 07 ea 20 49 |...showhi."y.. I| 00008500 0d 22 7e 05 db 0d 22 83 20 f2 70 72 28 22 4d 6f |."~...". .pr("Mo| 00008510 6f 6e 71 75 61 6b 65 20 68 69 67 68 20 73 63 6f |onquake high sco| 00008520 72 65 73 22 29 0d 22 84 05 f1 0d 22 88 12 e3 20 |res")."...."... | 00008530 49 3d 39 20 b8 20 30 20 88 20 2d 31 0d 22 92 21 |I=9 . 0 . -1.".!| 00008540 f1 20 68 69 73 63 28 49 29 3b 8a 37 29 3b 3a f2 |. hisc(I);.7);:.| 00008550 70 72 28 68 6e 61 6d 65 24 28 49 29 29 0d 22 9c |pr(hname$(I)).".| 00008560 05 ed 0d 22 a6 05 e1 0d 22 b0 05 3a 0d 22 ba 11 |..."...."..:."..| 00008570 dd f2 61 64 64 73 63 6f 72 65 28 53 29 0d 22 c4 |..addscore(S).".| 00008580 10 d6 69 6e 69 74 5f 73 63 72 65 65 6e 0d 22 ce |..init_screen.".| 00008590 14 f2 62 6f 78 28 39 2c 31 30 2c 33 31 2c 32 36 |..box(9,10,31,26| 000085a0 29 0d 22 d8 11 49 3d 31 3a 66 6f 75 6e 64 3d a3 |)."..I=1:found=.| 000085b0 3a f5 0d 22 e2 5f e7 20 68 69 73 63 28 49 29 3e |:.."._. hisc(I)>| 000085c0 53 20 8c 20 68 69 73 63 28 49 2d 31 29 3d 53 3a |S . hisc(I-1)=S:| 000085d0 68 6e 61 6d 65 24 28 49 2d 31 29 3d 22 22 3a 66 |hname$(I-1)="":f| 000085e0 6f 75 6e 64 3d b9 20 20 8b 20 68 69 73 63 28 49 |ound=. . hisc(I| 000085f0 2d 31 29 3d 68 69 73 63 28 49 29 3a 68 6e 61 6d |-1)=hisc(I):hnam| 00008600 65 24 28 49 2d 31 29 3d 68 6e 61 6d 65 24 28 49 |e$(I-1)=hname$(I| 00008610 29 0d 22 ec 08 49 2b 3d 31 0d 22 f1 1c e7 20 68 |)."..I+=1."... h| 00008620 69 73 63 28 49 2d 31 29 3e 53 20 ef 37 3a 66 6f |isc(I-1)>S .7:fo| 00008630 75 6e 64 3d b9 0d 22 f2 3a e7 20 49 3d 31 30 20 |und=..".:. I=10 | 00008640 80 20 ac 20 66 6f 75 6e 64 20 8c 20 68 69 73 63 |. . found . hisc| 00008650 28 39 29 3d 53 3a 68 6e 61 6d 65 24 28 39 29 3d |(9)=S:hname$(9)=| 00008660 22 22 3a 49 3d 31 31 3a 66 6f 75 6e 64 3d b9 0d |"":I=11:found=..| 00008670 22 f6 0b fd 20 66 6f 75 6e 64 0d 23 00 11 49 59 |"... found.#..IY| 00008680 3d 31 33 2d 49 3a 4e 24 3d 22 22 0d 23 05 0d f2 |=13-I:N$="".#...| 00008690 73 68 6f 77 68 69 3a f1 0d 23 06 19 f2 70 72 28 |showhi:..#...pr(| 000086a0 22 45 6e 74 65 72 20 6e 61 6d 65 2e 2e 2e 2e 22 |"Enter name...."| 000086b0 29 0d 23 07 19 fb 36 33 3a f1 8a 37 2c 49 59 29 |).#...63:..7,IY)| 000086c0 3b bd 31 33 35 3b 3a fb 20 38 0d 23 0a 09 f5 3a |;.135;:. 8.#...:| 000086d0 41 3d a5 0d 23 14 1f e7 20 28 41 3d 38 20 84 20 |A=..#... (A=8 . | 000086e0 41 3d 31 32 37 29 20 80 20 a9 28 4e 24 29 3e 30 |A=127) . .(N$)>0| 000086f0 20 8c 0d 23 15 13 4e 24 3d c0 4e 24 2c a9 28 4e | ..#..N$=.N$,.(N| 00008700 24 29 2d 31 29 0d 23 16 05 cc 0d 23 1e 31 e7 20 |$)-1).#....#.1. | 00008710 41 3c 3e 38 20 80 20 41 3c 3e 31 32 37 20 80 20 |A<>8 . A<>127 . | 00008720 41 3c 3e 31 33 20 80 20 a9 28 4e 24 29 3c 31 33 |A<>13 . .(N$)<13| 00008730 20 8c 20 4e 24 3d 4e 24 2b bd 41 0d 23 23 05 cd | . N$=N$+.A.##..| 00008740 0d 23 28 1f f1 8a 37 2c 49 59 29 3b 4e 24 3b 3a |.#(...7,IY);N$;:| 00008750 fb 20 36 33 3a f1 3b bd 31 33 35 3b 3a fb 38 0d |. 63:.;.135;:.8.| 00008760 23 2d 1d e7 20 41 3d 38 20 84 20 41 3d 31 32 37 |#-.. A=8 . A=127| 00008770 20 8c 20 f1 3b 22 20 22 3a 8b 20 f1 0d 23 32 0a | . .;" ":. ..#2.| 00008780 fd 20 41 3d 31 33 0d 23 3c 12 68 6e 61 6d 65 24 |. A=13.#<.hname$| 00008790 28 49 2d 32 29 3d 4e 24 0d 23 46 0b f2 73 68 6f |(I-2)=N$.#F..sho| 000087a0 77 68 69 0d 23 50 0d 41 24 3d bf 28 35 30 30 29 |whi.#P.A$=.(500)| 000087b0 0d 23 5a 10 d6 69 6e 69 74 5f 73 63 72 65 65 6e |.#Z..init_screen| 000087c0 0d 23 64 05 e1 0d 23 6e 05 3a 0d 23 78 0d dd f2 |.#d...#n.:.#x...| 000087d0 70 6c 61 79 74 77 6f 0d 23 82 21 21 70 6c 61 79 |playtwo.#.!!play| 000087e0 65 72 73 3d 32 3a 21 73 63 6f 72 65 3d 30 3a 21 |ers=2:!score=0:!| 000087f0 6f 73 63 6f 72 65 3d 31 0d 23 8c 23 db 3a f1 27 |oscore=1.#.#.:.'| 00008800 27 3a f2 70 72 28 22 53 74 61 72 74 20 6c 65 76 |':.pr("Start lev| 00008810 65 6c 20 3f 20 20 30 2d 39 22 29 0d 23 96 24 f5 |el ? 0-9").#.$.| 00008820 3a 4c 45 56 3d a5 2d 97 28 22 30 22 29 3a fd 20 |:LEV=.-.("0"):. | 00008830 4c 45 56 3e 3d 30 20 80 20 4c 45 56 3c 3d 39 0d |LEV>=0 . LEV<=9.| 00008840 23 a0 20 f1 27 27 27 3a f2 63 65 6e 74 72 65 28 |#. .''':.centre(| 00008850 22 47 65 74 20 52 65 61 64 79 22 2c 32 32 29 0d |"Get Ready",22).| 00008860 23 aa 0d 41 24 3d bf 28 31 37 35 29 0d 23 af 11 |#..A$=.(175).#..| 00008870 72 65 64 3d 33 3a 67 72 65 65 6e 3d 33 0d 23 b4 |red=3:green=3.#.| 00008880 14 46 49 4e 3d a3 3a 6e 65 77 6c 65 76 3d b9 3a |.FIN=.:newlev=.:| 00008890 f5 0d 23 be 36 e7 20 6e 65 77 6c 65 76 20 8c 20 |..#.6. newlev . | 000088a0 f2 74 65 73 74 3a 6e 65 77 6c 65 76 3d a3 3a 8b |.test:newlev=.:.| 000088b0 20 d6 69 6e 69 74 5f 73 63 72 65 65 6e 3a d6 6d | .init_screen:.m| 000088c0 61 69 6e 70 72 6f 67 0d 23 c8 0b 2a 46 58 31 35 |ainprog.#..*FX15| 000088d0 2c 31 0d 23 d2 15 e7 20 21 64 65 74 6f 6e 61 74 |,1.#... !detonat| 000088e0 65 64 3c 3e 30 20 8c 0d 23 dc 54 f2 62 6f 78 28 |ed<>0 ..#.T.box(| 000088f0 31 30 2c 31 30 2c 33 30 2c 31 35 29 3a f2 63 65 |10,10,30,15):.ce| 00008900 6e 74 72 65 28 22 52 65 61 63 74 6f 72 20 65 78 |ntre("Reactor ex| 00008910 70 6c 6f 73 69 6f 6e 21 22 2c 31 38 29 3a f2 63 |plosion!",18):.c| 00008920 65 6e 74 72 65 28 22 4d 69 73 73 69 6f 6e 20 61 |entre("Mission a| 00008930 62 6f 72 74 65 64 22 2c 31 38 29 0d 23 e6 13 41 |borted",18).#..A| 00008940 24 3d bf 28 31 37 35 29 3a 46 49 4e 3d b9 0d 23 |$=.(175):FIN=..#| 00008950 f0 05 cc 0d 23 fa 1d e7 20 21 6d 61 6e 31 3c 32 |....#... !man1<2| 00008960 35 35 20 80 20 21 6d 61 6e 32 3c 32 35 35 20 8c |55 . !man2<255 .| 00008970 0d 24 04 4c f2 62 6f 78 28 31 30 2c 31 30 2c 33 |.$.L.box(10,10,3| 00008980 30 2c 31 35 29 3a f2 63 65 6e 74 72 65 28 22 42 |0,15):.centre("B| 00008990 6f 74 68 20 64 65 61 64 21 22 2c 31 38 29 3a f2 |oth dead!",18):.| 000089a0 63 65 6e 74 72 65 28 22 4d 69 73 73 69 6f 6e 20 |centre("Mission | 000089b0 61 62 6f 72 74 65 64 22 2c 31 38 29 0d 24 0e 13 |aborted",18).$..| 000089c0 41 24 3d bf 28 31 37 35 29 3a 46 49 4e 3d b9 0d |A$=.(175):FIN=..| 000089d0 24 18 05 cc 0d 24 22 15 f2 62 6f 78 28 31 30 2c |$....$"..box(10,| 000089e0 31 30 2c 33 30 2c 31 35 29 0d 24 23 11 e7 20 21 |10,30,15).$#.. !| 000089f0 6d 61 6e 31 3c 32 35 35 20 8c 0d 24 24 17 44 24 |man1<255 ..$$.D$| 00008a00 3d 22 47 72 65 65 6e 22 3a 67 72 65 65 6e 2d 3d |="Green":green-=| 00008a10 31 0d 24 25 17 21 6d 61 6e 31 3d 35 31 32 3a 6d |1.$%.!man1=512:m| 00008a20 61 6e 31 3f 32 33 3d 30 0d 24 26 05 cc 0d 24 27 |an1?23=0.$&...$'| 00008a30 27 44 24 3d 22 52 65 64 22 3a 72 65 64 2d 3d 31 |'D$="Red":red-=1| 00008a40 3a 21 6d 61 6e 32 3d 35 31 32 3a 6d 61 6e 32 3f |:!man2=512:man2?| 00008a50 32 33 3d 30 0d 24 28 05 cd 0d 24 29 17 e7 20 67 |23=0.$(...$).. g| 00008a60 72 65 65 6e 3d 30 20 84 20 72 65 64 3d 30 20 8c |reen=0 . red=0 .| 00008a70 0d 24 2a 1d f1 3a f2 63 65 6e 74 72 65 28 44 24 |.$*..:.centre(D$| 00008a80 2b 22 20 6c 6f 73 65 73 22 2c 31 38 29 0d 24 2b |+" loses",18).$+| 00008a90 09 46 49 4e 3d b9 0d 24 2c 05 cc 0d 24 2d 3f f2 |.FIN=..$,...$-?.| 00008aa0 63 65 6e 74 72 65 28 22 52 65 64 20 3a 20 22 2b |centre("Red : "+| 00008ab0 c3 28 72 65 64 29 2c 31 38 29 3a f2 63 65 6e 74 |.(red),18):.cent| 00008ac0 72 65 28 22 47 72 65 65 6e 20 3a 20 22 2b c3 28 |re("Green : "+.(| 00008ad0 67 72 65 65 6e 29 2c 31 38 29 0d 24 2e 05 cd 0d |green),18).$....| 00008ae0 24 2f 0e f2 77 61 69 74 28 31 35 30 29 0d 24 40 |$/..wait(150).$@| 00008af0 05 cd 0d 24 4a 05 cd 0d 24 54 09 fd 20 46 49 4e |...$J...$T.. FIN| 00008b00 0d 24 5e 10 d6 69 6e 69 74 5f 73 63 72 65 65 6e |.$^..init_screen| 00008b10 0d 24 68 05 e1 0d 24 72 05 3a 0d 24 7c 11 dd f2 |.$h...$r.:.$|...| 00008b20 77 61 69 74 28 64 65 6c 61 79 29 0d 24 86 07 54 |wait(delay).$..T| 00008b30 3d 91 0d 24 90 0f f5 fd 91 3e 54 2b 64 65 6c 61 |=..$.....>T+dela| 00008b40 79 0d 24 9a 05 e1 0d 24 a4 05 3a 0d 24 ae 0c dd |y.$....$..:.$...| 00008b50 f2 70 72 28 4d 24 29 0d 24 b8 07 ea 20 49 0d 24 |.pr(M$).$... I.$| 00008b60 bc 08 fb 20 36 33 0d 24 bd 0d f1 bd 31 33 35 3b |... 63.$....135;| 00008b70 3a c8 96 0d 24 c2 11 e3 20 49 3d 31 20 b8 20 a9 |:...$... I=1 . .| 00008b80 28 4d 24 29 0d 24 c7 07 fb 20 38 0d 24 cc 1f f1 |(M$).$... 8.$...| 00008b90 bd 31 32 37 3b c1 4d 24 2c 49 2c 31 29 3b 3a fb |.127;.M$,I,1);:.| 00008ba0 36 33 3a f1 3b bd 31 33 35 3b 0d 24 d6 23 e7 20 |63:.;.135;.$.#. | 00008bb0 c1 4d 24 2c 49 2c 31 29 3c 3e 22 20 22 20 8c 20 |.M$,I,1)<>" " . | 00008bc0 d4 32 2c 2d 34 2c 31 35 30 30 30 2c 30 0d 24 e0 |.2,-4,15000,0.$.| 00008bd0 06 c8 96 0d 24 ea 05 ed 0d 24 ee 06 fb 38 0d 24 |....$....$...8.$| 00008be0 ef 0d f1 bd 31 32 37 3b bd 33 32 0d 24 f0 0c d4 |....127;.32.$...| 00008bf0 32 2c 30 2c 30 2c 30 0d 24 f1 1a e7 20 a9 28 4d |2,0,0,0.$... .(M| 00008c00 24 29 3d 32 31 20 8c 20 f1 8a 30 2c bc 2d 31 29 |$)=21 . ..0,.-1)| 00008c10 3b 0d 24 f4 05 e1 0d 24 fe 05 3a 0d 25 08 0d dd |;.$....$..:.%...| 00008c20 f2 69 6e 73 74 72 75 63 0d 25 12 05 db 0d 25 1c |.instruc.%....%.| 00008c30 1f f2 70 72 28 22 41 63 63 65 73 73 69 6e 67 20 |..pr("Accessing | 00008c40 72 65 63 6f 72 64 73 2e 2e 2e 22 29 0d 25 26 10 |records...").%&.| 00008c50 f2 77 61 69 74 28 31 30 30 29 3a db 0d 25 30 26 |.wait(100):..%0&| 00008c60 f2 70 72 28 22 44 41 54 45 20 3a 20 30 38 2f 30 |.pr("DATE : 08/0| 00008c70 35 2f 32 30 30 37 22 29 3a f2 77 61 69 74 28 35 |5/2007"):.wait(5| 00008c80 30 29 0d 25 3a 1e f2 70 72 28 22 57 6f 72 6b 20 |0).%:..pr("Work | 00008c90 62 65 67 69 6e 73 20 6f 6e 20 66 69 76 65 22 29 |begins on five")| 00008ca0 0d 25 44 1c f2 70 72 28 22 73 74 72 75 63 74 75 |.%D..pr("structu| 00008cb0 72 65 73 20 6f 6e 20 74 68 65 22 29 0d 25 4e 1f |res on the").%N.| 00008cc0 f2 70 72 28 22 6c 75 6e 61 72 20 73 75 72 66 61 |.pr("lunar surfa| 00008cd0 63 65 2e 20 20 45 61 63 68 22 29 0d 25 58 1c f2 |ce. Each").%X..| 00008ce0 70 72 28 22 77 69 6c 6c 20 68 61 76 65 20 69 74 |pr("will have it| 00008cf0 73 20 6f 77 6e 22 29 0d 25 62 1c f2 70 72 28 22 |s own").%b..pr("| 00008d00 66 75 6e 63 74 69 6f 6e 20 61 6e 64 20 77 69 6c |function and wil| 00008d10 6c 22 29 0d 25 6c 1c f2 70 72 28 22 72 65 6c 79 |l").%l..pr("rely| 00008d20 20 6f 6e 20 74 68 65 20 6f 74 68 65 72 22 29 0d | on the other").| 00008d30 25 76 20 f2 70 72 28 22 66 6f 75 72 20 74 6f 20 |%v .pr("four to | 00008d40 62 65 20 63 6f 6d 70 6c 65 74 65 6c 79 22 29 0d |be completely").| 00008d50 25 80 19 f2 70 72 28 22 6f 70 65 72 61 74 69 6f |%...pr("operatio| 00008d60 6e 61 6c 2e 22 29 3a f1 0d 25 8a 20 f2 70 72 28 |nal."):..%. .pr(| 00008d70 22 3c 53 50 41 43 45 3e 20 74 6f 20 63 6f 6e 74 |"<SPACE> to cont| 00008d80 69 6e 75 65 2e 2e 22 29 0d 25 94 0a f5 fd a5 3d |inue..").%.....=| 00008d90 33 32 0d 25 99 05 db 0d 25 9e 26 f2 70 72 28 22 |32.%....%.&.pr("| 00008da0 44 41 54 45 20 3a 20 32 31 2f 30 36 2f 32 30 31 |DATE : 21/06/201| 00008db0 34 22 29 3a f2 77 61 69 74 28 35 30 29 0d 25 a8 |4"):.wait(50).%.| 00008dc0 1d f2 70 72 28 22 4c 75 6e 61 72 20 62 61 73 65 |..pr("Lunar base| 00008dd0 73 20 62 65 63 6f 6d 65 22 29 0d 25 b2 1d f2 70 |s become").%...p| 00008de0 72 28 22 66 75 6c 6c 79 20 6f 70 65 72 61 74 69 |r("fully operati| 00008df0 6f 6e 61 6c 2e 22 29 0d 25 bc 15 f2 70 72 28 22 |onal.").%...pr("| 00008e00 46 75 6e 63 74 69 6f 6e 73 3a 22 29 0d 25 c6 1f |Functions:").%..| 00008e10 f2 70 72 28 22 31 2d 4c 61 6e 64 69 6e 67 2f 4c |.pr("1-Landing/L| 00008e20 61 75 6e 63 68 69 6e 67 2c 22 29 0d 25 d0 20 f2 |aunching,").%. .| 00008e30 70 72 28 22 20 20 69 6e 63 6f 6d 69 6e 67 20 26 |pr(" incoming &| 00008e40 20 6f 75 74 67 6f 69 6e 67 22 29 0d 25 da 1c f2 | outgoing").%...| 00008e50 70 72 28 22 32 2d 4c 69 76 69 6e 67 20 71 75 61 |pr("2-Living qua| 00008e60 72 74 65 72 73 22 29 0d 25 e4 1e f2 70 72 28 22 |rters").%...pr("| 00008e70 33 2d 4c 61 62 73 20 61 6e 64 20 77 6f 72 6b 73 |3-Labs and works| 00008e80 68 6f 70 22 29 0d 25 ee 20 f2 70 72 28 22 34 2d |hop").%. .pr("4-| 00008e90 45 6e 65 72 67 79 20 61 6e 64 20 61 69 72 20 67 |Energy and air g| 00008ea0 65 6e 2e 22 29 0d 25 f8 1d f2 70 72 28 22 35 2d |en.").%...pr("5-| 00008eb0 53 74 6f 72 61 67 65 20 61 6e 64 20 62 61 73 65 |Storage and base| 00008ec0 22 29 0d 26 02 18 f2 70 72 28 22 20 20 6d 61 69 |").&...pr(" mai| 00008ed0 6e 74 65 6e 61 6e 63 65 22 29 0d 26 07 05 f1 0d |ntenance").&....| 00008ee0 26 0c 1e f2 70 72 28 22 3c 53 50 41 43 45 3e 20 |&...pr("<SPACE> | 00008ef0 74 6f 20 63 6f 6e 74 69 6e 75 65 22 29 0d 26 16 |to continue").&.| 00008f00 0a f5 fd a5 3d 33 32 0d 26 1b 05 db 0d 26 20 26 |....=32.&....& &| 00008f10 f2 70 72 28 22 44 41 54 45 20 3a 20 32 37 2f 30 |.pr("DATE : 27/0| 00008f20 31 2f 32 30 32 36 22 29 3a f2 77 61 69 74 28 35 |1/2026"):.wait(5| 00008f30 30 29 0d 26 2a 1e f2 70 72 28 22 41 20 6c 61 72 |0).&*..pr("A lar| 00008f40 67 65 20 6d 65 74 65 6f 72 20 68 69 74 73 22 29 |ge meteor hits")| 00008f50 0d 26 34 1d f2 70 72 28 22 74 68 65 20 73 75 72 |.&4..pr("the sur| 00008f60 66 61 63 65 20 6f 66 20 74 68 65 22 29 0d 26 3e |face of the").&>| 00008f70 20 f2 70 72 28 22 6d 6f 6f 6e 20 33 38 2e 32 20 | .pr("moon 38.2 | 00008f80 4b 6d 20 66 72 6f 6d 20 74 68 65 22 29 0d 26 48 |Km from the").&H| 00008f90 1c f2 70 72 28 22 6c 75 6e 61 72 20 62 61 73 65 |..pr("lunar base| 00008fa0 2e 20 20 42 61 73 65 22 29 0d 26 52 1d f2 70 72 |. Base").&R..pr| 00008fb0 28 22 73 65 63 74 69 6f 6e 20 34 20 72 65 63 65 |("section 4 rece| 00008fc0 69 76 65 73 22 29 0d 26 5c 20 f2 70 72 28 22 73 |ives").&\ .pr("s| 00008fd0 74 75 63 74 75 72 61 6c 20 64 61 6d 61 67 65 20 |tuctural damage | 00008fe0 66 72 6f 6d 22 29 0d 26 66 1e f2 70 72 28 22 73 |from").&f..pr("s| 00008ff0 68 6f 63 6b 77 61 76 65 73 2c 20 66 6f 72 63 69 |hockwaves, forci| 00009000 6e 67 22 29 0d 26 70 18 f2 70 72 28 22 69 74 20 |ng").&p..pr("it | 00009010 6f 66 66 6c 69 6e 65 2e 2e 2e 22 29 0d 26 7a 22 |offline...").&z"| 00009020 f1 3a f2 70 72 28 22 3c 53 50 41 43 45 3e 20 74 |.:.pr("<SPACE> t| 00009030 6f 20 63 6f 6e 74 69 6e 75 65 2e 2e 22 29 0d 26 |o continue..").&| 00009040 84 0a f5 fd a5 3d 33 32 0d 26 89 05 db 0d 26 8e |.....=32.&....&.| 00009050 26 f2 70 72 28 22 44 61 74 65 20 3a 20 32 38 2f |&.pr("Date : 28/| 00009060 30 31 2f 32 30 32 36 22 29 3a f2 77 61 69 74 28 |01/2026"):.wait(| 00009070 35 30 29 0d 26 98 29 f2 70 72 28 22 2e 2e 2e 70 |50).&.).pr("...p| 00009080 72 65 73 65 6e 74 20 64 61 79 2e 2e 2e 22 29 3a |resent day..."):| 00009090 f2 77 61 69 74 28 35 30 29 3a f1 27 0d 26 a2 1f |.wait(50):.'.&..| 000090a0 f2 70 72 28 22 41 73 20 61 6e 20 65 78 70 65 72 |.pr("As an exper| 000090b0 74 20 69 6e 20 72 6f 63 6b 22 29 0d 26 ac 1f f2 |t in rock").&...| 000090c0 70 72 28 22 62 6c 61 73 74 69 6e 67 20 61 6e 64 |pr("blasting and| 000090d0 20 73 61 6c 76 61 67 65 22 29 0d 26 b6 1e f2 70 | salvage").&...p| 000090e0 72 28 22 77 6f 72 6b 2c 20 79 6f 75 20 68 61 76 |r("work, you hav| 000090f0 65 20 62 65 65 6e 22 29 0d 26 c0 22 f2 70 72 28 |e been").&.".pr(| 00009100 22 73 75 6d 6d 6f 6e 65 64 20 74 6f 20 74 68 65 |"summoned to the| 00009110 20 6d 6f 6f 6e 2e 22 29 3a f1 0d 26 ca 20 f2 70 | moon."):..&. .p| 00009120 72 28 22 3c 53 50 41 43 45 3e 20 74 6f 20 63 6f |r("<SPACE> to co| 00009130 6e 74 69 6e 75 65 2e 2e 22 29 0d 26 d4 0a f5 fd |ntinue..").&....| 00009140 a5 3d 33 32 0d 26 d8 05 db 0d 26 d9 0a f7 20 8d |.=32.&....&... .| 00009150 54 5a 67 0d 26 de 0a f5 3a f3 20 4d 24 0d 26 e8 |TZg.&...:. M$.&.| 00009160 25 e7 20 4d 24 3c 3e 22 45 4f 4c 22 20 80 20 4d |%. M$<>"EOL" . M| 00009170 24 3c 3e 22 4e 50 47 22 20 8c 20 f2 70 72 28 4d |$<>"NPG" . .pr(M| 00009180 24 29 0d 26 f2 34 e7 20 4d 24 3d 22 4e 50 47 22 |$).&.4. M$="NPG"| 00009190 20 8c 20 f2 70 72 28 22 3c 53 50 41 43 45 3e 20 | . .pr("<SPACE> | 000091a0 74 6f 20 63 6f 6e 74 69 6e 75 65 22 29 3a f5 fd |to continue"):..| 000091b0 a5 3d 33 32 3a db 0d 26 fc 0e fd 20 4d 24 3d 22 |.=32:..&... M$="| 000091c0 45 4f 4c 22 0d 27 06 05 e1 0d 27 10 05 3a 0d 27 |EOL".'....'..:.'| 000091d0 1a 19 dc 20 42 61 73 65 20 34 20 63 6f 6e 74 72 |... Base 4 contr| 000091e0 6f 6c 6c 65 72 20 3a 0d 27 24 1a dc 20 54 6f 20 |oller :.'$.. To | 000091f0 6d 61 6b 65 20 69 74 20 65 61 73 69 65 72 20 74 |make it easier t| 00009200 6f 0d 27 2e 18 dc 20 6d 61 6b 65 20 74 68 65 20 |o.'... make the | 00009210 62 61 73 65 20 61 69 72 2d 0d 27 38 1d dc 20 22 |base air-.'8.. "| 00009220 74 69 67 68 74 2c 20 6d 6f 73 74 20 6f 66 20 69 |tight, most of i| 00009230 74 20 77 61 73 22 0d 27 42 1d dc 20 22 62 75 69 |t was".'B.. "bui| 00009240 6c 74 20 75 6e 64 65 72 67 72 6f 75 6e 64 2c 20 |lt underground, | 00009250 69 6e 22 0d 27 4c 19 dc 20 61 72 74 69 66 69 63 |in".'L.. artific| 00009260 69 61 6c 20 63 61 76 65 72 6e 73 2e 0d 27 56 1a |ial caverns..'V.| 00009270 dc 20 54 68 65 20 6d 6f 6f 6e 71 75 61 6b 65 20 |. The moonquake | 00009280 63 61 75 73 65 64 0d 27 60 19 dc 20 73 65 76 65 |caused.'`.. seve| 00009290 72 65 20 72 6f 63 6b 66 61 6c 6c 73 20 6f 6e 0d |re rockfalls on.| 000092a0 27 6a 18 dc 20 61 6c 6c 20 74 65 6e 20 70 72 6f |'j.. all ten pro| 000092b0 63 65 73 73 69 6e 67 0d 27 74 1b dc 20 6c 65 76 |cessing.'t.. lev| 000092c0 65 6c 73 2e 20 20 57 65 20 61 72 65 20 75 73 69 |els. We are usi| 000092d0 6e 67 0d 27 7e 17 dc 20 65 6d 65 72 67 65 6e 63 |ng.'~.. emergenc| 000092e0 79 20 61 69 72 20 61 6e 64 0d 27 88 18 dc 20 62 |y air and.'... b| 000092f0 61 63 6b 75 70 20 67 65 6e 65 72 61 74 6f 72 73 |ackup generators| 00009300 2e 0d 27 92 09 dc 20 4e 50 47 0d 27 9c 1a dc 20 |..'... NPG.'... | 00009310 59 6f 75 20 6d 75 73 74 20 63 6c 65 61 72 20 74 |You must clear t| 00009320 68 65 73 65 0d 27 a6 18 dc 20 72 6f 63 6b 66 61 |hese.'... rockfa| 00009330 6c 6c 73 20 69 6e 20 6f 72 64 65 72 0d 27 b0 1a |lls in order.'..| 00009340 dc 20 66 6f 72 20 75 73 20 74 6f 20 72 65 74 75 |. for us to retu| 00009350 72 6e 20 74 68 65 0d 27 ba 19 dc 20 62 61 73 65 |rn the.'... base| 00009360 20 74 6f 20 66 75 6c 6c 20 70 6f 77 65 72 2e 0d | to full power..| 00009370 27 ce 1b dc 20 45 61 63 68 20 6c 65 76 65 6c 20 |'... Each level | 00009380 68 61 73 20 35 34 20 61 69 72 0d 27 d8 1c dc 20 |has 54 air.'... | 00009390 22 70 75 72 69 66 69 65 72 73 2c 20 77 68 69 63 |"purifiers, whic| 000093a0 68 20 61 72 65 22 0d 27 e2 18 dc 20 61 63 74 75 |h are".'... actu| 000093b0 61 6c 6c 79 20 6c 69 6e 6b 65 64 20 74 6f 0d 27 |ally linked to.'| 000093c0 ec 17 dc 20 74 68 65 20 6f 74 68 65 72 20 6c 65 |... the other le| 000093d0 76 65 6c 73 2e 0d 27 f6 1b dc 20 54 68 65 73 65 |vels..'... These| 000093e0 20 61 72 65 20 6d 61 64 65 20 66 72 6f 6d 20 61 | are made from a| 000093f0 0d 28 00 1a dc 20 74 69 74 6f 2d 6d 65 74 61 63 |.(... tito-metac| 00009400 72 79 73 74 61 6c 6c 69 6e 65 0d 28 0a 17 dc 20 |rystalline.(... | 00009410 73 74 72 75 63 74 75 72 65 20 61 6e 64 20 61 72 |structure and ar| 00009420 65 0d 28 14 1e dc 20 72 65 73 69 73 74 61 6e 74 |e.(... resistant| 00009430 20 74 6f 20 64 61 6d 61 67 65 2e 2c 4e 50 47 0d | to damage.,NPG.| 00009440 28 1e 19 dc 20 22 48 6f 77 65 76 65 72 2c 20 79 |(... "However, y| 00009450 6f 75 20 77 69 6c 6c 22 0d 28 28 19 dc 20 65 6e |ou will".((.. en| 00009460 63 6f 75 6e 74 65 72 20 74 77 6f 20 74 79 70 65 |counter two type| 00009470 73 0d 28 32 1a dc 20 6f 66 20 6e 75 63 6c 65 61 |s.(2.. of nuclea| 00009480 72 20 72 65 61 63 74 6f 72 73 2e 0d 28 3c 1b dc |r reactors..(<..| 00009490 20 54 68 65 20 72 65 64 20 61 6e 64 20 62 6c 75 | The red and blu| 000094a0 65 20 74 79 70 65 0d 28 46 1a dc 20 28 41 20 6d |e type.(F.. (A m| 000094b0 6b 20 32 29 20 63 61 6e 20 73 75 72 76 69 76 65 |k 2) can survive| 000094c0 0d 28 50 17 dc 20 4f 4e 45 20 64 69 72 65 63 74 |.(P.. ONE direct| 000094d0 20 62 6c 61 73 74 2e 0d 28 5a 1a dc 20 54 68 65 | blast..(Z.. The| 000094e0 20 79 65 6c 6c 6f 77 20 61 6e 64 20 67 72 65 65 | yellow and gree| 000094f0 6e 0d 28 64 19 dc 20 28 44 42 2f 33 34 29 20 4d |n.(d.. (DB/34) M| 00009500 55 53 54 20 4e 4f 54 20 62 65 0d 28 6e 14 dc 20 |UST NOT be.(n.. | 00009510 62 65 20 68 69 74 20 61 74 20 61 6c 6c 2e 0d 28 |be hit at all..(| 00009520 73 05 dc 0d 28 78 09 dc 20 4e 50 47 0d 28 82 1b |s...(x.. NPG.(..| 00009530 dc 20 4f 6e 65 20 68 69 74 20 74 6f 6f 20 6d 61 |. One hit too ma| 00009540 6e 79 20 77 69 6c 6c 0d 28 8c 1a dc 20 63 61 75 |ny will.(... cau| 00009550 73 65 20 61 20 6c 61 72 67 65 20 61 74 6f 6d 69 |se a large atomi| 00009560 63 0d 28 96 17 dc 20 65 78 70 6c 6f 73 69 6f 6e |c.(... explosion| 00009570 21 2c 22 22 2c 4e 50 47 0d 28 a0 17 dc 20 22 4f |!,"",NPG.(... "O| 00009580 68 2c 20 62 79 20 74 68 65 20 77 61 79 2c 22 0d |h, by the way,".| 00009590 28 aa 17 dc 20 74 68 65 20 69 6d 70 61 63 74 20 |(... the impact | 000095a0 6f 66 20 74 68 65 0d 28 b4 1b dc 20 6d 65 74 65 |of the.(... mete| 000095b0 6f 72 20 63 72 65 61 74 65 64 20 61 20 68 69 67 |or created a hig| 000095c0 68 0d 28 be 1b dc 20 65 6c 65 63 74 72 6f 6d 61 |h.(... electroma| 000095d0 67 6e 65 74 69 63 20 70 75 6c 73 65 0d 28 c8 1b |gnetic pulse.(..| 000095e0 dc 20 64 69 73 61 62 6c 69 6e 67 20 74 68 65 20 |. disabling the | 000095f0 63 6f 6e 74 72 6f 6c 0d 28 d2 15 dc 20 63 69 72 |control.(... cir| 00009600 63 75 69 74 73 20 69 6e 20 74 68 65 0d 28 dc 1a |cuits in the.(..| 00009610 dc 20 73 65 63 75 72 69 74 79 20 64 72 6f 69 64 |. security droid| 00009620 73 20 74 68 61 74 0d 28 e6 18 dc 20 70 61 74 72 |s that.(... patr| 00009630 6f 6c 20 74 68 65 20 6c 65 76 65 6c 73 2e 0d 28 |ol the levels..(| 00009640 f0 1a dc 20 54 68 65 79 20 61 72 65 20 72 6f 61 |... They are roa| 00009650 6d 69 6e 67 20 6f 75 74 0d 28 fa 19 dc 20 6f 66 |ming out.(... of| 00009660 20 63 6f 6e 74 72 6f 6c 20 61 6e 64 20 77 69 6c | control and wil| 00009670 6c 0d 29 04 1b dc 20 6b 69 6c 6c 20 69 66 20 79 |l.)... kill if y| 00009680 6f 75 20 63 6f 6d 65 20 69 6e 74 6f 0d 29 0e 1c |ou come into.)..| 00009690 dc 20 63 6f 6e 74 61 63 74 20 77 69 74 68 20 74 |. contact with t| 000096a0 68 65 6d 2e 2c 4e 50 47 0d 29 18 1a dc 20 59 6f |hem.,NPG.)... Yo| 000096b0 75 20 6d 61 79 20 64 65 73 74 72 6f 79 20 74 68 |u may destroy th| 000096c0 65 6d 0d 29 22 1d dc 20 22 69 66 20 79 6f 75 20 |em.)".. "if you | 000096d0 77 69 73 68 2c 20 74 68 65 79 20 61 72 65 22 0d |wish, they are".| 000096e0 29 2c 17 dc 20 22 69 6e 73 75 72 65 64 2e 22 2c |),.. "insured.",| 000096f0 22 22 2c 4e 50 47 0d 29 36 10 dc 20 45 51 55 49 |"",NPG.)6.. EQUI| 00009700 50 4d 45 4e 54 3a 0d 29 40 1a dc 20 45 78 70 6c |PMENT:.)@.. Expl| 00009710 6f 73 69 76 65 20 67 65 6e 65 72 61 74 69 6e 67 |osive generating| 00009720 0d 29 4a 1a dc 20 22 62 61 63 6b 70 61 63 6b 2c |.)J.. "backpack,| 00009730 20 73 75 70 70 6c 69 65 64 22 0d 29 54 1a dc 20 | supplied".)T.. | 00009740 77 69 74 68 20 65 6e 65 72 67 79 20 63 65 6c 6c |with energy cell| 00009750 20 66 6f 72 0d 29 5e 18 dc 20 6f 6e 65 20 6c 6f | for.)^.. one lo| 00009760 77 20 70 6f 77 65 72 20 62 6f 6d 62 0d 29 63 19 |w power bomb.)c.| 00009770 dc 20 70 65 72 20 70 6f 77 65 72 20 72 65 63 68 |. per power rech| 00009780 61 72 67 65 2e 0d 29 68 1b dc 20 48 69 67 68 65 |arge..)h.. Highe| 00009790 72 20 70 6f 77 65 72 20 61 6e 64 20 6d 6f 72 65 |r power and more| 000097a0 0d 29 72 19 dc 20 62 6f 6d 62 73 20 63 61 6e 20 |.)r.. bombs can | 000097b0 62 65 20 67 61 69 6e 65 64 0d 29 7c 13 dc 20 62 |be gained.)|.. b| 000097c0 79 20 63 6f 6c 6c 65 63 74 69 6e 67 0d 29 86 1a |y collecting.)..| 000097d0 dc 20 61 70 70 72 6f 70 72 69 61 74 65 6c 79 20 |. appropriately | 000097e0 6d 61 72 6b 65 64 0d 29 90 1a dc 20 65 78 74 72 |marked.)... extr| 000097f0 61 20 63 65 6c 6c 73 20 74 68 61 74 20 79 6f 75 |a cells that you| 00009800 0d 29 9a 13 dc 20 6d 61 79 20 66 69 6e 64 2e 2c |.)... may find.,| 00009810 4e 50 47 0d 29 a4 15 dc 20 54 68 65 72 65 20 61 |NPG.)... There a| 00009820 72 65 20 6f 74 68 65 72 0d 29 ae 1b dc 20 76 61 |re other.)... va| 00009830 72 69 6f 75 73 20 75 74 69 6c 69 74 79 20 63 65 |rious utility ce| 00009840 6c 6c 73 0d 29 b8 1b dc 20 22 79 6f 75 20 63 61 |lls.)... "you ca| 00009850 6e 20 75 73 65 2c 20 74 68 6f 75 67 68 22 0d 29 |n use, though".)| 00009860 c2 1b dc 20 69 74 20 77 69 6c 6c 20 62 65 20 69 |... it will be i| 00009870 6d 70 6f 73 73 69 62 6c 65 0d 29 cc 17 dc 20 74 |mpossible.)... t| 00009880 6f 20 69 64 65 6e 74 69 66 79 20 74 68 65 69 72 |o identify their| 00009890 0d 29 d6 19 dc 20 70 75 72 70 6f 73 65 20 62 65 |.)... purpose be| 000098a0 66 6f 72 65 20 75 73 65 2e 0d 29 db 05 dc 0d 29 |fore use..)....)| 000098b0 e0 09 dc 20 4e 50 47 0d 29 ea 10 dc 20 43 4f 4e |... NPG.)... CON| 000098c0 54 52 4f 4c 53 20 3a 0d 29 f4 10 dc 20 50 6c 61 |TROLS :.)... Pla| 000098d0 79 65 72 20 2d 20 31 0d 29 fe 14 dc 20 53 75 69 |yer - 1.)... Sui| 000098e0 74 20 20 20 2d 20 47 72 65 65 6e 0d 2a 08 1b dc |t - Green.*...| 000098f0 20 53 74 61 72 74 20 20 2d 20 42 6f 74 74 6f 6d | Start - Bottom| 00009900 20 72 69 67 68 74 0d 2a 12 10 dc 20 4c 65 66 74 | right.*... Left| 00009910 20 20 20 2d 20 5a 0d 2a 1c 10 dc 20 52 69 67 68 | - Z.*... Righ| 00009920 74 20 20 2d 20 58 0d 2a 26 10 dc 20 55 70 20 20 |t - X.*&.. Up | 00009930 20 20 20 2d 20 46 0d 2a 30 10 dc 20 44 6f 77 6e | - F.*0.. Down| 00009940 20 20 20 2d 20 43 0d 2a 3a 17 dc 20 42 6f 6d 62 | - C.*:.. Bomb| 00009950 20 20 20 2d 20 47 2c 22 22 2c 4e 50 47 0d 2a 44 | - G,"",NPG.*D| 00009960 10 dc 20 43 4f 4e 54 52 4f 4c 53 20 3a 0d 2a 4e |.. CONTROLS :.*N| 00009970 10 dc 20 50 6c 61 79 65 72 20 2d 20 32 0d 2a 58 |.. Player - 2.*X| 00009980 12 dc 20 53 75 69 74 20 20 20 2d 20 52 65 64 0d |.. Suit - Red.| 00009990 2a 62 17 dc 20 53 74 61 72 74 20 20 2d 20 54 6f |*b.. Start - To| 000099a0 70 20 6c 65 66 74 0d 2a 6c 17 dc 20 4c 65 66 74 |p left.*l.. Left| 000099b0 20 20 20 2d 20 4b 65 79 70 61 64 20 31 0d 2a 76 | - Keypad 1.*v| 000099c0 17 dc 20 52 69 67 68 74 20 20 2d 20 4b 65 79 70 |.. Right - Keyp| 000099d0 61 64 20 32 0d 2a 80 17 dc 20 55 70 20 20 20 20 |ad 2.*... Up | 000099e0 20 2d 20 4b 65 79 70 61 64 20 36 0d 2a 8a 17 dc | - Keypad 6.*...| 000099f0 20 44 6f 77 6e 20 20 20 2d 20 4b 65 79 70 61 64 | Down - Keypad| 00009a00 20 33 0d 2a 94 1e dc 20 42 6f 6d 62 20 20 20 2d | 3.*... Bomb -| 00009a10 20 4b 65 79 70 61 64 20 2b 2c 22 22 2c 4e 50 47 | Keypad +,"",NPG| 00009a20 0d 2a 95 18 dc 20 32 20 50 4c 41 59 45 52 20 47 |.*... 2 PLAYER G| 00009a30 41 4d 45 20 3a 2c 22 22 0d 2a 96 1b dc 20 22 42 |AME :,"".*... "B| 00009a40 6c 6f 77 20 74 68 65 20 65 72 2c 20 6c 69 76 69 |low the er, livi| 00009a50 6e 67 22 0d 2a 97 1c dc 20 22 64 61 79 6c 69 67 |ng".*... "daylig| 00009a60 68 74 73 20 6f 75 74 20 6f 66 20 74 68 65 22 0d |hts out of the".| 00009a70 2a 98 18 dc 20 22 6f 74 68 65 72 20 70 6c 61 79 |*... "other play| 00009a80 65 72 2e 22 2c 22 22 0d 2a 99 23 dc 20 22 53 69 |er.","".*.#. "Si| 00009a90 6d 70 6c 65 2c 20 69 6e 6e 69 74 3f 22 2c 22 22 |mple, innit?",""| 00009aa0 2c 22 22 2c 22 22 2c 4e 50 47 0d 2a 9e 14 dc 20 |,"","",NPG.*... | 00009ab0 44 61 74 61 20 72 65 74 72 69 65 76 61 6c 0d 2a |Data retrieval.*| 00009ac0 a8 2e dc 20 63 6f 6d 70 6c 65 74 65 2e 2e 2e 2c |... complete...,| 00009ad0 22 22 2c 22 22 2c 22 22 2c 22 22 2c 22 22 2c 22 |"","","","","","| 00009ae0 22 2c 22 22 2c 4e 50 47 2c 45 4f 4c 0d 2a b2 05 |","",NPG,EOL.*..| 00009af0 3a 0d 2a bc 0d dd f2 73 75 63 63 65 65 64 0d 2a |:.*....succeed.*| 00009b00 c6 13 f2 62 6f 78 28 36 2c 38 2c 33 34 2c 31 39 |...box(6,8,34,19| 00009b10 29 0d 2a d0 0a f7 20 8d 44 48 6b 0d 2a da 1a f5 |).*... .DHk.*...| 00009b20 3a f3 20 4d 24 3a f2 70 72 28 4d 24 29 3a fd 20 |:. M$:.pr(M$):. | 00009b30 4d 24 3d 22 22 0d 2a e4 12 e7 20 73 74 61 72 74 |M$="".*... start| 00009b40 6c 65 76 3d 30 20 8c 0d 2a ee 24 f2 70 72 28 22 |lev=0 ..*.$.pr("| 00009b50 57 6f 77 21 20 59 6f 75 20 66 69 6e 69 73 68 65 |Wow! You finishe| 00009b60 64 20 61 6c 6c 20 74 65 6e 22 29 0d 2a f8 1e f2 |d all ten").*...| 00009b70 70 72 28 22 6c 65 76 65 6c 73 20 69 6e 20 6f 6e |pr("levels in on| 00009b80 65 20 67 6f 21 21 21 22 29 0d 2b 02 05 cc 0d 2b |e go!!!").+....+| 00009b90 0c 23 f2 70 72 28 22 4e 6f 77 20 74 72 79 20 61 |.#.pr("Now try a| 00009ba0 6e 64 20 63 6f 6d 70 6c 65 74 65 20 61 6c 6c 22 |nd complete all"| 00009bb0 29 0d 2b 16 23 f2 70 72 28 22 74 65 6e 20 6c 65 |).+.#.pr("ten le| 00009bc0 76 65 6c 73 20 77 69 74 68 6f 75 74 20 75 73 69 |vels without usi| 00009bd0 6e 67 22 29 0d 2b 20 23 f2 70 72 28 22 74 68 65 |ng").+ #.pr("the| 00009be0 20 6c 65 76 65 6c 20 6a 75 6d 70 20 66 61 63 69 | level jump faci| 00009bf0 6c 69 74 79 21 22 29 0d 2b 2a 05 cd 0d 2b 34 0d |lity!").+*...+4.| 00009c00 41 24 3d bf 28 37 35 30 29 0d 2b 3e 12 d6 69 6e |A$=.(750).+>..in| 00009c10 69 74 5f 73 63 72 65 65 6e 3a e1 0d 2b 48 16 dc |it_screen:..+H..| 00009c20 20 43 4f 4e 47 52 41 54 55 4c 41 54 49 4f 4e 53 | CONGRATULATIONS| 00009c30 21 0d 2b 4d 09 dc 20 22 20 22 0d 2b 52 1f dc 20 |!.+M.. " ".+R.. | 00009c40 59 6f 75 20 68 61 76 65 20 6d 61 6e 61 67 65 64 |You have managed| 00009c50 20 74 6f 20 63 6c 65 61 72 0d 2b 5c 15 dc 20 61 | to clear.+\.. a| 00009c60 6c 6c 20 74 65 6e 20 6c 65 76 65 6c 73 21 0d 2b |ll ten levels!.+| 00009c70 66 05 dc 0d 2b 70 05 3a 0d 2b 7a 09 dd f2 66 69 |f...+p.:.+z...fi| 00009c80 6e 0d 2b 84 05 db 0d 2b 8e 07 f1 27 27 0d 2b 98 |n.+....+...''.+.| 00009c90 20 f2 70 72 28 22 41 72 65 20 79 6f 75 20 73 75 | .pr("Are you su| 00009ca0 72 65 20 79 6f 75 20 77 61 6e 74 22 29 0d 2b a2 |re you want").+.| 00009cb0 1b f2 70 72 28 22 74 6f 20 71 75 69 74 3f 3f 20 |..pr("to quit?? | 00009cc0 20 28 59 2f 4e 29 22 29 0d 2b ac 19 f5 4f 24 3d | (Y/N)").+...O$=| 00009cd0 be 3a fd 20 a7 22 59 79 4e 6e 22 2c 4f 24 29 3e |.:. ."YyNn",O$)>| 00009ce0 30 0d 2b b6 17 e7 20 4f 24 3d 22 59 22 20 84 20 |0.+... O$="Y" . | 00009cf0 4f 24 3d 22 79 22 20 8c 0d 2b c0 28 f2 70 72 28 |O$="y" ..+.(.pr(| 00009d00 22 22 29 3a f2 70 72 28 22 22 29 3a f2 70 72 28 |""):.pr(""):.pr(| 00009d10 22 22 29 3a f2 70 72 28 22 4f 6b 2e 2e 2e 22 29 |""):.pr("Ok...")| 00009d20 0d 2b ca 16 4f 24 3d bf 28 31 30 30 29 3a ef 32 |.+..O$=.(100):.2| 00009d30 36 2c 32 30 3a db 0d 2b cb 0a 2a 46 58 32 30 30 |6,20:..+..*FX200| 00009d40 0d 2b cc 0c 2a 46 58 31 31 2c 33 32 0d 2b cd 05 |.+..*FX11,32.+..| 00009d50 e0 0d 2b d4 05 cc 0d 2b de 37 f2 70 72 28 22 22 |..+....+.7.pr(""| 00009d60 29 3a f2 70 72 28 22 22 29 3a f2 70 72 28 22 22 |):.pr(""):.pr(""| 00009d70 29 3a f2 70 72 28 22 4e 61 68 2c 20 64 69 64 6e |):.pr("Nah, didn| 00009d80 27 74 20 74 68 69 6e 6b 20 73 6f 22 29 0d 2b e8 |'t think so").+.| 00009d90 0d 4f 24 3d bf 28 31 30 30 29 0d 2b f2 05 cd 0d |.O$=.(100).+....| 00009da0 2b fc 05 e1 0d ff |+.....| 00009da6