Home » Recent acquisitions » Acorn ADFS disks » adfs_ArchimedesWorld_199403.adf » Disk1Mar94 » !AWMar94/Goodies/CarWars/!Cars/!RunImage

!AWMar94/Goodies/CarWars/!Cars/!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 » Recent acquisitions » Acorn ADFS disks » adfs_ArchimedesWorld_199403.adf » Disk1Mar94
Filename: !AWMar94/Goodies/CarWars/!Cars/!RunImage
Read OK:
File size: 13945 bytes
Load address: 0000
Exec address: 0000
Duplicates

There is 1 duplicate copy of this file in the archive:

File contents
   10REM >!RunImage
   20REM Written By Ben Mansell LENEVAL1993
   30ON ERROR SYS&400DF,"    "+REPORT$+" at line "+STR$ERL,1,"Car Wars":END
   40VOICES 4:A=RND(-TIME):max%=20:exmax%=3:pl=1:scanr=7:ttt=4:trr=24
   50SYS8,5,"<Obey$Dir>.NewCars" TO ,,,,slen%
   60DIM m% 14800,sp% slen%+1024,ta% 1000,b 512,sp1% 192,sp2% 192,bu% (max%+1)*40
   70DIM ob% 1024,oa% 32,ex%(7),bo% 1024,ba%(20),expl% 128,bonus% 128,spare% 100
   80DIM sound% 1024,dam% 128,stdat 512,exblock% 512,bbb% 128,w% 2048,temp% 2048
   90DIM st% 1024,pal% 128,scrme 4096,p2% 128,p3% 128,hi% 200,num% 50,bt% 512
  100DIM bomap% 128,dm3% 400,back% 45000,btsp% 64,bitad%(7),asc% 256
  110sob%=ob%:!sp%=slen%+1024:j=128:sh=7:DIM b%(10):!back%=45000
  120SYS8,255,"<Obey$Dir>.NewCars",sp%+4
  130SYS8,255,"<Obey$Dir>.!Palette",pal%
  140SYS8,255,"<Obey$Dir>.Backdrop",back%+4
  150SYS8,255,"<Obey$Dir>.ASCIItable",asc%
  160FORi%=1TO9:SYS46,280,sp%,"bullet"+STR$i% TO ,,b%(i%):NEXT
  170FORi%=0TO7:SYS46,280,sp%,"explode"+STR$i% TO ,,ex%(i%):NEXT
  180FORi%=1TO20:SYS46,280,sp%,"bonus"+STR$i% TO ,,ba%(i%):NEXT
  190FORi%=0TO3:SYS46,280,sp%,"barrier"+STR$i% TO ,,oa%!(i%*4):NEXT
  200FORi%=0TO9:SYS46,280,sp%,STR$i% TO ,,num%!(i%*4):NEXT
  210FORi%=0TO3:SYS46,280,sp%,"bitm"+STR$i% TO ,,bitad%(i%)
  220SYS46,280,sp%,"bitn"+STR$i% TO ,,bitad%(i%+4):NEXT
  230SYS46,280,sp%,"title" TO ,,title%
  240SYS46,280,sp%,"shield" TO ,,shield%
  250SYS46,280,sp%,"spinner" TO ,,spinner%
  260SYS46,280,sp%,"writer" TO ,,writer%
  270SYS46,280,sp%,"archworld" TO ,,archw%
  280SYS46,280,sp%,"complete" TO ,,comp%
  290SYS46,280,sp%,"gameover" TO ,,gover%
  300SYS46,280,sp%,"level" TO ,,level%
  310SYS46,280,sp%,"lives" TO ,,lives%
  320SYS46,280,sp%,"energybar" TO ,,enbar%
  330SYS46,280,sp%,"bonus" TO ,,enbo%
  340SYS46,280,sp%,"time" TO ,,time%
  350SYS46,280,sp%,"blevt" TO ,,blevt%
  360SYS46,280,sp%,"congrats" TO ,,congrats%
  370SYS46,280,sp%,"tyre" TO ,,tyre%
  380SYS46,280,sp%,"opt1" TO ,,opt1%
  390SYS46,280,sp%,"opt2" TO ,,opt2%
  400SYS46,280,sp%,"opt3" TO ,,opt3%
  410SYS46,280,sp%,"keyleft" TO ,,kleft%
  420SYS46,280,sp%,"keyright" TO ,,kright%
  430SYS46,280,sp%,"keyup" TO ,,kup%
  440SYS46,280,sp%,"keydown" TO ,,kdown%
  450SYS46,280,sp%,"keyfire" TO ,,kfire%
  460SYS46,280,sp%,"gamemode" TO ,,gamem%
  470SYS46,280,sp%,"twogame" TO ,,gamem2%
  480SYS46,280,sp%,"onegame" TO ,,gamem1%
  490SYS46,280,sp%,"gameplayer" TO ,,gamepl%
  500SYS46,280,sp%,"optselect" TO ,,optsel%
  510SYS46,280,sp%,"questionmark" TO ,,questm%
  520SYS46,280,back%,"backdrop" TO ,,backsp%
  530FOR pass%=0 TO 2 STEP 2
  540P%=m%:[ OPT pass%
  550.blackp MOV R0,#19
  560        LDR R1,fadeb2
  570        MOV R2,#0
  580.fillbp STR R2,[R1],#4
  590        SUBS R0,R0,#1
  600        BPL fillbp
  610        LDR R1,fadeb2
  620        SWI "Wimp_SetPalette"
  630        MOV PC,R14
  640.fadeb2 EQUD p3%
  650.fadep2 EQUD pal%
  660.fade2  STMFD R13!,{R0-R6,R14}
  670        MOV R5,#255
  680.fadem3 MOV R6,#19
  690        LDR R3,fadeb2
  700        LDR R4,fadep2
  710.fadem  MOV R0,#0
  720        STRB R0,[R3],#1
  730        ADD R4,R4,#1
  740        MOV R1,#2
  750.fadem2 LDRB R0,[R4],#1
  760        ADD R0,R0,R5
  770        CMP R0,#255
  780        MOVGT R0,#255
  790        STRB R0,[R3],#1
  800        SUBS R1,R1,#1
  810        BPL fadem2
  820        SUBS R6,R6,#1
  830        BPL fadem
  840        LDR R1,fadeb2
  850        SWI "Wimp_SetPalette"
  860        MOV R0,#19
  870        SWI "OS_Byte"
  880        SUBS R5,R5,R9
  890        BPL fadem3
  900        LDR R1,fadep2
  910        SWI "Wimp_SetPalette"
  920        LDMIA R13!,{R0-R6,PC}^
  930
  940.fade3  STMFD R13!,{R0-R6,R14}
  950        MOV R5,#255
  960.faden3 MOV R6,#19
  970        LDR R3,fadeb2
  980        LDR R4,fadep2
  990.faden  MOV R0,#0
 1000        STRB R0,[R3],#1
 1010        ADD R4,R4,#1
 1020        MOV R1,#2
 1030.faden2 LDRB R0,[R4],#1
 1040        SUBS R0,R0,R5
 1050        MOVMI R0,#0
 1060        STRB R0,[R3],#1
 1070        SUBS R1,R1,#1
 1080        BPL faden2
 1090        SUBS R6,R6,#1
 1100        BPL faden
 1110        LDR R1,fadeb2
 1120        SWI "Wimp_SetPalette"
 1130        MOV R0,#19
 1140        SWI "OS_Byte"
 1150        SUBS R5,R5,R9
 1160        BPL faden3
 1170        LDR R1,fadep2
 1180        SWI "Wimp_SetPalette"
 1190        LDMIA R13!,{R0-R6,PC}^
 1200
 1210.plex   STMFD R13!,{R2-R4,R14}
 1220        RSB R4,R4,#960
 1230        MOV R4,R4,ASR#2
 1240        LDR R0,[R2,#32]
 1250        LDR R5,[R2,#36]
 1260        ADD R0,R0,R2
 1270        ADD R5,R5,R2
 1280        LDR R1,bacdro
 1290        MOV R2,#160
 1300        MLA R1,R4,R2,R1
 1310        ADD R1,R1,R3,ASR#3
 1320        MOV R2,#15
 1330.exylp  LDMIA R1,{R3-R4}
 1340        LDMIA R0!,{R6-R7}
 1350        LDMIA R5!,{R8-R9}
 1360        BIC R3,R3,R8
 1370        BIC R4,R4,R9
 1380        ORR R3,R3,R6
 1390        ORR R4,R4,R7
 1400        STMIA R1,{R3-R4}
 1410        ADD R1,R1,#160
 1420        SUBS R2,R2,#1
 1430        BPL exylp
 1440        LDMIA R13!,{R2-R4,PC}^
 1450.dump   EQUD 0
 1460.bonpl  STMFD R13!,{R3-R4}
 1470        LDR R0,[R2,#32]
 1480        ADD R0,R0,R2
 1490        LDR R1,bacdro
 1500        MOV R2,#160
 1510        RSB R4,R4,#960
 1520        MOV R4,R4,ASR#2
 1530        MLA R1,R4,R2,R1
 1540        ADD R1,R1,R3,ASR#3
 1550        MOV R5,#15
 1560.ybolp  LDMIA R0!,{R3-R4}
 1570        STMIA R1,{R3-R4}
 1580        ADD R1,R1,#160
 1590        SUBS R5,R5,#1
 1600        BPL ybolp
 1610        LDMIA R13!,{R3-R4}
 1620        B bonret
 1630
 1640.crbits STMFD R13!,{R14}
 1650        MOV R7,#112
 1660        BL sound
 1670        MOV R12,#10       ; Start explosion. R11-car data, R9-player
 1680        LDR R10,exbits
 1690        LDMIA R11,{R5-R6}
 1700        LDR R8,table2
 1710.makebt BL rnd
 1720        MOV R0,R0,ASR#2
 1730        CMP R0,#35
 1740        BGT makebt
 1750        ADD R0,R8,R0,ASL#3
 1760        LDMIA R0,{R3-R4}
 1770        BL rnd
 1780        AND R0,R0,#3
 1790        ADD R0,R0,#1
 1800        MUL R3,R0,R3
 1810        MUL R4,R0,R4
 1820.makesp BL rnd
 1830        AND R2,R0,#7
 1840        CMP R2,#4
 1850        BGT makesp
 1860        CMP R2,#0
 1870        CMPNE R9,#1
 1880        ADDNE R2,R2,#4
 1890        STMIA R10!,{R2-R6}
 1900        SUBS R12,R12,#1
 1910        BPL makebt
 1920        LDMIA R13!,{PC}^
 1930.table2 EQUD ta%+280
 1940.exbits EQUD bt%
 1950.bitspr EQUD btsp%
 1960.spinc  EQUD 0
 1970.carex  STMFD R13!,{R0-R12,R14}
 1980        MOV R12,#10                   ; Number of exploding bits
 1990        LDR R11,exbits
 2000        LDR R10,bitspr               ; Base of picture table
 2010        LDR R9,spinc
 2020        ADD R9,R9,#1
 2030        CMP R9,#9
 2040        MOVEQ R9,#0
 2050        STR R9,spinc
 2060        LDR R0,splot2
 2070        LDR R1,sarea2
 2080        MOV R5,#8
 2090.btloop LDR R6,[R11]
 2100        CMP R6,#0
 2110        TSTNE R9,#8
 2120        BEQ nospin
 2130        ADD R6,R6,#1
 2140        CMP R6,#5
 2150        CMPNE R6,#9
 2160        SUBEQ R6,R6,#4
 2170.nospin STR R6,[R11],#4
 2180        LDMIA R11,{R7-R8}
 2190        MOV R2,#63
 2200        MUL R7,R2,R7
 2210        MUL R8,R2,R8
 2220        MOV R7,R7,ASR#6
 2230        MOV R8,R8,ASR#6
 2240        STMIA R11!,{R7-R8}
 2250        LDMIA R11,{R3-R4}
 2260        ADD R3,R3,R7,ASL#2
 2270        ADD R4,R4,R8,ASL#2
 2280        CMP R7,#0
 2290        RSBMI R7,R7,#0
 2300        CMP R8,#0
 2310        RSBMI R8,R8,#0
 2320        ADD R7,R7,R8
 2330        CMP R7,#5<<(sh-2)
 2340        MVNLT R3,#128<<sh
 2350        STMIA R11!,{R3-R4}
 2360        LDR R2,[R10,R6,ASL#2]
 2370        MOV R3,R3,ASR#sh
 2380        MOV R4,R4,ASR#sh
 2390        SWI 46
 2400        SUBS R12,R12,#1
 2410        BPL btloop
 2420        LDMIA R13!,{R0-R12,PC}^
 2430.dump2  EQUD 0
 2440.wonms1 EQUS "Well done! You have completed Car Wars!":ALIGN
 2450.woncon EQUD congrats%
 2460.wongam MOV R1,#140
 2470        BL wait
 2480        MOV R0,#112
 2490        MOV R1,#1
 2500        SWI "OS_Byte"
 2510        MOV R0,#113
 2520        MOV R1,#1
 2530        SWI "OS_Byte"
 2540        SWI 256+12
 2550        SWI 256+19:SWI 256:SWI 256+24:SWI 511:SWI 511:SWI 511
 2560        MOV R10,#500
 2570        MOV R5,#8
 2580        MOV R6,#5
 2590.coplot BL rnd
 2600        MUL R3,R0,R6
 2610        SUB R3,R3,#300
 2620        BL rnd
 2630        MOV R4,R0,ASL#2
 2640        SUB R4,R4,#64
 2650        LDR R0,splot2
 2660        LDR R1,sarea2
 2670        LDR R2,woncon
 2680        SWI 46
 2690        SUBS R10,R10,#1
 2700        BPL coplot
 2710        SWI 256+23:SWI 256+17:SWI 256+7:SWI 256+7
 2720        SWI 256+8:SWI 256+0:SWI 256+16:SWI 256+0:SWI 256+0:SWI 256+0
 2730        SWI 256+0:SWI 256+0
 2740        SWI 256+18:SWI 256+0:SWI 256+0:SWI 256+5
 2750        MOV R0,#4:MOV R1,#28:MOV R2,#700
 2760        SWI "OS_Plot":BL wonms2
 2770        MOV R1,#36:SWI "OS_Plot":BL wonms2
 2780        MOV R1,#32:MOV R2,#696
 2790        SWI "OS_Plot":BL wonms2
 2800        MOV R2,#704:SWI "OS_Plot":BL wonms2
 2810        SWI 256+18:SWI 256+0:SWI 256+8
 2820        MOV R2,#700:SWI "OS_Plot":BL wonms2
 2830        SWI 256+23:SWI 256+17:SWI 256+7:SWI 256+7
 2840        SWI 256+8:SWI 256+0:SWI 256+8:SWI 256+0:SWI 256+0:SWI 256+0
 2850        SWI 256+0:SWI 256+0
 2860        SWI 256+4:MOV R1,#200
 2870        BL wait
 2880        B lost
 2890.wonms2 ADR R0,wonms1
 2900        SWI "OS_Write0"
 2910        MOV R0,#4:MOV PC,R14
 2920
 2930.bacdri EQUD 148:EQUD -1
 2940.bacdro EQUD 0:EQUD 0
 2950.bacspr EQUD backsp%
 2960.stactp EQUD 0
 2970.clsbac STR R13,stactp
 2980        STR R0,bacdro
 2990        LDR R1,bacspr
 3000        LDR R2,[R1,#32]
 3010        ADD R1,R1,R2
 3020        MOV R2,#141
 3030.bacplo LDMIA R1!,{R3-R14}
 3040        STMIA R0!,{R3-R14}
 3050        LDMIA R1!,{R3-R14}
 3060        STMIA R0!,{R3-R14}
 3070        LDMIA R1!,{R3-R14}
 3080        STMIA R0!,{R3-R14}
 3090        LDMIA R1!,{R3-R14}
 3100        STMIA R0!,{R3-R14}
 3110        LDMIA R1!,{R3-R14}
 3120        STMIA R0!,{R3-R14}
 3130        LDMIA R1!,{R3-R14}
 3140        STMIA R0!,{R3-R14}
 3150        SUBS R2,R2,#1
 3160        BPL bacplo
 3170        LDMIA R1!,{R3-R14}
 3180        STMIA R0!,{R3-R14}
 3190        LDMIA R1!,{R3-R6}
 3200        STMIA R0!,{R3-R6}
 3210        LDR R13,stactp
 3220        B drawb
 3230.begspr EQUD blevt%
 3240.behnds EQUD 0
 3250.timesp EQUD time%
 3260.timec  EQUD 999<<5
 3270.blrout LDR R2,begspr
 3280        LDR R0,behnds
 3290        CMP R0,#254
 3300        BGT blrot2
 3310        ADD R6,R0,#1
 3320        STR R6,behnds
 3330        LDR R1,bacdro
 3340        LDR R3,[R2,#32]
 3350        LDR R4,[R2,#36]
 3360        ADD R3,R3,R2
 3370        ADD R4,R4,R2
 3380        MOV R5,#160
 3390        MLA R0,R5,R6,R1
 3400        ADD R0,R0,#34
 3410        MOV R1,#22
 3420        CMP R6,#233
 3430        SUBGT R6,R6,#233
 3440        SUBGT R1,R1,R6
 3450.ybloop MOV R5,#10
 3460.xbloop LDMIA R0,{R6-R7}
 3470        LDMIA R3!,{R8-R9}
 3480        LDMIA R4!,{R10-R11}
 3490        BIC R6,R6,R10
 3500        ORR R6,R6,R8
 3510        BIC R7,R7,R11
 3520        ORR R7,R7,R9
 3530        STMIA R0!,{R6-R7}
 3540        SUBS R5,R5,#1
 3550        BPL xbloop
 3560        ADD R0,R0,#160-(22<<2)
 3570        SUBS R1,R1,#1
 3580        BPL ybloop
 3590.blrot2 LDR R0,splot2
 3600        LDR R1,sarea2
 3610        LDR R2,timesp
 3620        MOV R3,#824
 3630        MOV R4,#800
 3640        MOV R5,#8
 3650        SWI 46
 3660        LDR R8,timec
 3670        SUBS R8,R8,#1
 3680        BMI won
 3690        STR R8,timec
 3700        MOV R8,R8,ASR#5
 3710        MOV R3,#1000
 3720        MOV R6,#100
 3730        LDR R9,nums
 3740.divl3  MVN R11,#0
 3750        MOV R10,#0
 3760.divl4  ADD R11,R11,#1
 3770        ADD R10,R10,R6
 3780        CMP R10,R8
 3790        BLE divl4
 3800        LDR R2,[R9,R11,ASL#2]
 3810        SWI 46
 3820        SUB R10,R10,R6
 3830        SUB R8,R8,R10
 3840        ADD R3,R3,#52
 3850        CMP R6,#100
 3860        MOVEQ R6,#10
 3870        BEQ divl3
 3880        CMP R6,#10
 3890        MOVEQ R6,#1
 3900        BEQ divl3
 3910        MOV PC,R14
 3920.fx     EQUD sound%
 3930.sound  STMFD R13!,{R0-R3,R14}
 3940        LDR R0,fx
 3950        ADD R7,R7,R0
 3960        LDMFD R7,{R0-R3}
 3970        SWI "Sound_Control"
 3980        LDMIA R13!,{R0-R3,PC}^
 3990.sound2 STMFD R13!,{R0-R3,R14}
 4000        LDR R0,fx
 4010        ADD R5,R5,R0
 4020        LDMFD R5,{R0-R3}
 4030        SWI "Sound_Control"
 4040        LDMIA R13!,{R0-R3,PC}^
 4050.hipos  EQUD 0
 4060.acthi  EQUD 0
 4070.hientr EQUS "Congratulations! Enter your name!"+CHR$0:ALIGN
 4080.lost   LDR R0,splot2
 4090        LDR R1,sarea2
 4100        LDR R2,gover
 4110        MOV R3,#272
 4120        MOV R4,#468
 4130        MOV R5,#8
 4140        SWI 46
 4150        MOV R1,#100
 4160        BL wait
 4170        LDR R10,palett
 4180        MVN R9,#3
 4190        BL fade
 4200        BL grabsc
 4210        LDR R1,highsc
 4220        MOV R2,#10                    ; Score placement
 4230        LDR R3,[R1],#16
 4240        CMP R3,R0
 4250        BGE nhipos
 4260.hiplac LDR R3,[R1]
 4270        SUBS R2,R2,#1
 4280        BMI nhipos
 4290        CMP R3,R0
 4300        BGE nhipos
 4310        LDMIA R1,{R5-R8}
 4320        SUB R1,R1,#16
 4330        STMIA R1,{R5-R8}
 4340        ADD R1,R1,#32
 4350        B hiplac
 4360.nhipos STR R2,acthi
 4370        MOV R4,#2
 4380        STR R4,showsc
 4390        CMP R2,#10
 4400        LDREQ R1,palett
 4410        SWIEQ "Wimp_SetPalette"
 4420        BEQ titles
 4430        SUB R1,R1,#16
 4440        STR R0,[R1],#4
 4450        STR R1,hipos
 4460        BL blackp
 4470        SWI 256+17:SWI 256+135
 4480        SWI 256+12:SWI 256+17:SWI 256+2:SWI 256+31:SWI 256+2:SWI 256+2
 4490        ADR R0,hientr
 4500        SWI "OS_Write0":SWI 256+17:SWI 256+9
 4510        SWI "OS_NewLine":SWI "OS_NewLine"
 4520        MOV R11,#23
 4530        MOV R10,#9
 4540        LDR R9,highsc
 4550.p2loop SWI 256+31:SWI 256+9
 4560        MOV R0,R11:SWI "OS_WriteC"
 4570        LDR R0,[R9],#4
 4580        LDR R1,wimpb2
 4590        MOV R2,#10
 4600        SWI "OS_ConvertInteger4"
 4610        SWI "OS_Write0"
 4620        SWI 256+31:SWI 256+16
 4630        MOV R0,R11:SWI "OS_WriteC"
 4640        MOV R0,R9
 4650        SWI "OS_Write0"
 4660        ADD R9,R9,#12
 4670        SUB R11,R11,#2
 4680        SUBS R10,R10,#1
 4690        BPL p2loop
 4700        LDR R0,splot2
 4710        LDR R1,sarea2
 4720        LDR R2,title
 4730        MOV R3,#40
 4740        MOV R4,#40
 4750        MOV R5,#0
 4760        SWI 46
 4770        LDR R2,archiw
 4780        MOV R3,#780
 4790        MOV R4,#40
 4800        SWI 46
 4810        MOV R0,#21
 4820        MOV R1,#0
 4830        SWI "OS_Byte"
 4840        LDR R0,acthi
 4850        ADD R0,R0,R0
 4860        ADD R0,R0,#5
 4870        SWI 256+31:SWI 256+16:SWI "OS_WriteC"
 4880        SWI 288:SWI 288:SWI 288:SWI 288:SWI 288:SWI 288
 4890        SWI 288:SWI 288:SWI 288:SWI 288:SWI 288:SWI 288
 4900        SWI 256+31:SWI 256+16:SWI "OS_WriteC"
 4910        MOV R0,#4
 4920        MOV R1,#2
 4930        SWI "OS_Byte"
 4940        MOV R9,#6
 4950        BL fade3
 4960        LDR R0,hipos
 4970        MOV R1,#11
 4980        MOV R2,#32
 4990        MOV R3,#255
 5000        SWI "OS_ReadLine"
 5010        MOV R2,#0
 5020        STRB R2,[R0,R1]
 5030        B titles
 5040.fadeb  EQUD p3%
 5050.fade   STMFD R13!,{R0-R4,R14}
 5060        LDR R0,fadeb
 5070        MOV R1,#30
 5080.fadel  LDR R2,[R10],#4
 5090        STR R2,[R0],#4
 5100        SUBS R1,R1,#1
 5110        BPL fadel
 5120        MOV R4,#64
 5130.fadel2 MOV R0,#19
 5140        SWI "OS_Byte"
 5150        LDR R1,fadeb
 5160        SWI "Wimp_SetPalette"
 5170        LDR R1,fadeb
 5180        ADD R1,R1,#1
 5190        MOV R3,#23
 5200.fadel3 LDRB R0,[R1]
 5210        ADDS R0,R0,R9
 5220        MOVMI R0,#0
 5230        CMP R0,#255
 5240        MOVGT R0,#255
 5250        STRB R0,[R1],#1
 5260        LDRB R0,[R1]
 5270        ADDS R0,R0,R9
 5280        MOVMI R0,#0
 5290        CMP R0,#255
 5300        MOVGT R0,#255
 5310        STRB R0,[R1],#1
 5320        LDRB R0,[R1]
 5330        ADDS R0,R0,R9
 5340        MOVMI R0,#0
 5350        CMP R0,#255
 5360        MOVGT R0,#255
 5370        STRB R0,[R1],#2
 5380        SUBS R3,R3,#1
 5390        BPL fadel3
 5400        SUBS R4,R4,#1
 5410        BPL fadel2
 5420        LDMIA R13!,{R0-R4,PC}^
 5430.nums   EQUD num%
 5440.levfnt EQUD level%
 5450.shlev  MOV R9,#4
 5460        BL fade2
 5470        LDR R0,totpl
 5480        CMP R0,#2
 5490        BEQ switch
 5500        LDR R0,blevel
 5510        CMP R0,#0
 5520        BEQ switch
 5530        LDR R0,splot2
 5540        LDR R1,sarea2
 5550        LDR R2,levfnt
 5560        MOV R3,#500
 5570        MOV R4,#540
 5580        MOV R5,#8
 5590        SWI 46
 5600        BL retlev
 5610        LDR R6,nums
 5620        ADD R6,R6,#4
 5630        LDR R2,[R6,R0,ASL#2]
 5640        LDR R0,splot2
 5650        MOV R3,#768
 5660        MOV R4,#536
 5670        MOV R5,#8
 5680        SWI 46
 5690        LDR R2,livest
 5700        MOV R3,#520
 5710        MOV R4,#440
 5720        MOV R5,#8
 5730        SWI 46
 5740        LDR R6,nums
 5750        BL grabli
 5760        ADD R0,R0,#1
 5770        LDR R2,[R6,R0,ASL#2]
 5780        LDR R0,splot2
 5790        MOV R3,#712
 5800        MOV R4,#444
 5810        MOV R5,#8
 5820        SWI 46
 5830        MOV R1,#130
 5840        BL wait
 5850        B switch
 5860.livest EQUD lives%
 5870.block2 EQUD b
 5880.sarea2 EQUD sp%
 5890.splot2 EQUD 546
 5900.opt1   EQUS "Select:   1. 1 player    2. 2 players"+CHR$0:ALIGN
 5910.opt2   EQUS STRING$(39,CHR$32)+CHR$0
 5920.opt3   EQUS "         Difficulty Level? (0-7)         "+CHR$0:ALIGN
 5930.scrm   EQUD scrme
 5940.archiw EQUD archw%
 5950.ststat EQUD stdat
 5960.wimpb2 EQUD w%
 5970.title  EQUD title%
 5980.gmode  EQUD gamem%
 5990.gpl    EQUD gamem1%:EQUD gamem2%
 6000.gpl2   EQUD gamepl%
 6010.keyssp EQUD kleft%:EQUD kright%:EQUD kup%:EQUD kdown%:EQUD kfire%
 6020.keydta EQUD asc%
 6030.menusp EQUD optsel%
 6040.showpl LDR R0,splot2
 6050        LDR R1,sarea2
 6060        ADR R2,gpl
 6070        LDR R3,totpl
 6080        SUB R3,R3,#1
 6090        LDR R2,[R2,R3,ASL#2]
 6100        MOV R3,#664
 6110        MOV R4,#900
 6120        MOV R5,#0
 6130        SWI 46
 6140        MOV PC,R14
 6150.optpage MVN R9,#4
 6160        LDR R10,palett
 6170        BL fade
 6180        SWI 256+12
 6190        BL blackp
 6200        MOV R12,#1
 6210        LDR R0,splot2
 6220        LDR R1,sarea2
 6230        LDR R2,gmode
 6240        MOV R3,#144
 6250        MOV R4,#900
 6260        MOV R5,#0
 6270        SWI 46
 6280        BL showpl
 6290        LDR R2,gpl2
 6300        MOV R3,#844
 6310        SUB R4,R4,#12
 6320        SWI 46
 6330        LDR R2,menusp
 6340        MOV R3,#202
 6350        MOV R4,#53
 6360        SWI 46
 6370        MOV R6,#4
 6380        ADR R7,keyssp
 6390        MOV R3,#90
 6400        MOV R4,#700
 6410.knamel LDR R2,[R7],#4
 6420        SWI 46
 6430        SUB R4,R4,#100
 6440        SUBS R6,R6,#1
 6450        BPL knamel
 6460.prkeyd LDR R6,keydta
 6470        LDR R7,ststat
 6480        ADD R7,R7,#24
 6490        SWI 256+23:SWI 256+17:SWI 256+7:SWI 256+7:SWI 256+16
 6500        SWI 256:SWI 256+16:SWI 256:SWI 256:SWI 256:SWI 256:SWI 256
 6510        SWI 256+5:SWI 256+18:SWI 256:SWI 256+11
 6520        MOV R1,#0
 6530        LDR R10,totpl
 6540        SUB R10,R10,#1
 6550.kydisl ADD R1,R1,#400
 6560        MOV R2,#764
 6570        MOV R9,#4
 6580.prklop LDR R8,[R7],#4
 6590        RSB R8,R8,#0
 6600        SUB R8,R8,#17
 6610        MOV R8,R8,ASL#1
 6620        ADD R8,R8,R6
 6630        MOV R0,#4
 6640        SWI "OS_Plot"
 6650        SUB R2,R2,#100
 6660        LDRB R0,[R8],#1
 6670        SWI "OS_WriteC"
 6680        LDRB R0,[R8]
 6690        CMP R0,#255
 6700        SWINE "OS_WriteC"
 6710        SUBS R9,R9,#1
 6720        BPL prklop
 6730        ADD R7,R7,#108
 6740        SUBS R10,R10,#1
 6750        BPL kydisl
 6760        SWI 256+23:SWI 256+17:SWI 256+7:SWI 256+7:SWI 256+8
 6770        SWI 256:SWI 256+8:SWI 256:SWI 256:SWI 256:SWI 256:SWI 256
 6780        SWI 256+4
 6790        MOV R9,#5
 6800        CMP R12,#1:BLEQ fade3
 6810.getak  MOV R0,#21:MOV R1,#0:MOV R2,#0:SWI 6:SWI "OS_ReadC"
 6820        CMP R0,#50
 6830        BEQ redef
 6840        CMP R0,#51
 6850        BEQ optcls
 6860        CMP R0,#49
 6870        BNE getak
 6880        LDR R0,totpl
 6890        RSB R0,R0,#3
 6900        STR R0,totpl
 6910        SWI 256+18:SWI 256:SWI 256+7
 6920        MOV R0,#4
 6930        MOV R1,#800
 6940        MOV R2,#764
 6950        SWI "OS_Plot"
 6960        MOV R0,#101
 6970        MOV R1,#928
 6980        MOV R2,#300
 6990        SWI "OS_Plot"
 7000        BL showpl
 7010        MOV R12,#0
 7020        B prkeyd
 7030.optcls LDR R10,palett
 7040        MVN R9,#4
 7050        BL fade
 7060        SWI 256+12
 7070        LDR R1,palett
 7080        SWI "Wimp_SetPalette"
 7090        B titles
 7100.vollev EQUD 127
 7110.writer EQUD writer%
 7120.palett EQUD pal%
 7130.scrbla SWI "XOS_Mouse"
 7140        CMP R2,#7
 7150        BEQ starto
 7160        CMP R2,#0
 7170        BNE scrbla
 7180        MOV R0,#113                ; Return to desktop
 7190        MOV R1,#1
 7200        SWI 6
 7210        MOV R0,#112
 7220        MOV R1,#1
 7230        SWI 6
 7240        MOV R0,#21
 7250        MOV R1,#0
 7260        MOV R2,#0
 7270        SWI 6
 7280        B rettw
 7290.specpl EQUD &234
 7300.getkey MVN R5,#127
 7310.keygl  MOV R1,R5
 7320        MOV R2,R5
 7330        MOV R0,#129
 7340        SWI 6
 7350        CMP R1,#255
 7360        BEQ getkey
 7370        ADD R5,R5,#1
 7380        CMN R5,#15
 7390        BLT keygl
 7400        MVN R5,#127
 7410.keygl2 MOV R1,R5
 7420        MOV R2,R5
 7430        MOV R0,#129
 7440        SWI 6
 7450        CMP R1,#255
 7460        SWIEQ 256+7
 7470        MOVEQ PC,R14
 7480        ADD R5,R5,#1
 7490        CMN R5,#15
 7500        MVNEQ R5,#127
 7510        B keygl2
 7520.questm EQUD questm%
 7530.redef  LDR R9,totpl
 7540        SUB R9,R9,#1
 7550        LDR R11,ststat
 7560        ADD R11,R11,#24
 7570        SWI 256+23:SWI 256+17:SWI 256+7:SWI 256+7:SWI 256+16:SWI 256
 7580        SWI 256+16:SWI 256:SWI 256:SWI 256:SWI 256:SWI 256:SWI 256+5
 7590        MOV R7,#0
 7600        LDR R12,totpl
 7610        SUB R12,R12,#1
 7620.keyl   ADD R7,R7,#400
 7630        MOV R10,#4
 7640        MOV R8,#700
 7650.kgetl  LDR R0,splot2
 7660        LDR R1,sarea2
 7670        LDR R2,questm
 7680        MOV R3,R7
 7690        ADD R4,R8,#4
 7700        MOV R5,#0
 7710        SWI 46
 7720        BL getkey
 7730        STR R5,[R11],#4
 7740        MOV R0,#4
 7750        ADD R1,R7,#128
 7760        MOV R2,R8
 7770        SWI "OS_Plot"
 7780        SWI 256+18:SWI 256:SWI 256+7
 7790        MOV R0,#101
 7800        SUB R1,R1,#128
 7810        ADD R2,R2,#64
 7820        SWI "OS_Plot"
 7830        SWI 256+18:SWI 256:SWI 256+11
 7840        LDR R6,keydta
 7850        RSB R5,R5,#0
 7860        SUB R5,R5,#17
 7870        MOV R5,R5,ASL#1
 7880        ADD R5,R5,R6
 7890        LDRB R0,[R5],#1
 7900        SWI "OS_WriteC"
 7910        LDRB R0,[R5]
 7920        CMP R0,#255
 7930        SWINE "OS_WriteC"
 7940        SUB R8,R8,#100
 7950        SUBS R10,R10,#1
 7960        BPL kgetl
 7970        ADD R11,R11,#108
 7980        SUBS R12,R12,#1
 7990        BPL keyl
 8000        SWI 256+23:SWI 256+17:SWI 256+7:SWI 256+7:SWI 256+8:SWI 256
 8010        SWI 256+8:SWI 256:SWI 256:SWI 256:SWI 256:SWI 256:SWI 256+4
 8020        B getak
 8030.lcomp  EQUD comp%
 8040.gover  EQUD gover%
 8050.enleft EQUS "Bonus: "+CHR$0:ALIGN
 8060.losel  LDR R0,totpl
 8070        CMP R0,#2
 8080        BEQ titles
 8090        LDR R11,block2               ; Who won?
 8100        LDR R8,[R11,#20]
 8110        CMP R8,#0
 8120        BGE won
 8130        LDR R0,lives
 8140        SUBS R0,R0,#1
 8150        STR R0,lives
 8160        BMI lost
 8170        B fadeiv
 8180.scstr2 EQUS "Score: "+CHR$0
 8190.enbot  EQUD enbo%
 8200.won    LDR R0,blevel
 8210        CMP R0,#0
 8220        BNE endolv
 8230        MOV R0,#1
 8240        STR R0,blevel
 8250        MOV R0,#0
 8260        STR R0,switon
 8270        LDR R0,ststat
 8280        LDR R1,block2
 8290        ADD R0,R0,#128
 8300        ADD R1,R1,#128
 8310        MOV R2,#31
 8320.brepdt LDR R3,[R0],#4
 8330        STR R3,[R1],#4
 8340        SUBS R2,R2,#1
 8350        BPL brepdt
 8360        LDR R11,block2
 8370        ADD R11,R11,#128
 8380        MOV R0,#1
 8390        STR R0,[R11,#24]
 8400        STR R0,[R11,#32]
 8410        MOV R0,#0
 8420        STR R0,[R11,#36]
 8430        STR R0,[R11,#112]
 8440        STR R0,[R11,#40]
 8450        MOV R0,#9
 8460        STR R0,[R11,#28]
 8470        BL retlev
 8480        MOV R0,R0,ASL#5
 8490        ADD R0,R0,#200
 8500        STR R0,[R11,#20]
 8510        LDR R0,ststat
 8520        LDMIA R0,{R1-R5}
 8530        LDR R0,block2
 8540        STMIA R0,{R1-R5}
 8550        B fadetn
 8560.bacare EQUD back%
 8570.bacpsp EQUD backsp%
 8580.endolv LDR R0,splot2
 8590        LDR R1,sarea2
 8600        LDR R2,lcomp
 8610        MOV R3,#272
 8620        MOV R4,#452
 8630        MOV R5,#8
 8640        SWI 46
 8650        SWI 256+31:SWI 256+15:SWI 256+20
 8660        LDR R0,splot2
 8670        LDR R1,sarea2
 8680        LDR R2,enbot
 8690        MOV R3,#432
 8700        MOV R4,#340
 8710        MOV R5,#8
 8720        SWI 46
 8730.boaddl SWI 256+31:SWI 256+21:SWI 256+20
 8740        MOV R0,#19:SWI "OS_Byte"
 8750        LDR R9,nums
 8760        LDR R1,sarea2
 8770        MOV R6,#100                 ; Units
 8780        MOV R3,#660
 8790        MOV R4,#340
 8800        MOV R5,#8
 8810        MOV R12,R8
 8820.divl2  MVN R11,#0
 8830        MOV R10,#0
 8840.divlop ADD R11,R11,#1
 8850        ADD R10,R10,R6
 8860        CMP R10,R12
 8870        BLE divlop
 8880        LDR R2,[R9,R11,ASL#2]
 8890        SWI 256+24
 8900        AND R0,R3,#255:SWI "OS_WriteC"
 8910        MOV R0,R3,LSR#8:SWI "OS_WriteC"
 8920        AND R0,R4,#255:SWI "OS_WriteC"
 8930        MOV R0,R4,LSR#8:SWI "OS_WriteC"
 8940        ADD R7,R3,#52
 8950        AND R0,R7,#255:SWI "OS_WriteC"
 8960        MOV R0,R7,LSR#8:SWI "OS_WriteC"
 8970        ADD R7,R4,#72
 8980        AND R0,R7,#255:SWI "OS_WriteC"
 8990        MOV R0,R7,LSR#8:SWI "OS_WriteC"
 9000        LDR R0,splot2
 9010        STMFD R13!,{R1-R5}
 9020        LDR R1,bacare
 9030        LDR R2,bacpsp
 9040        MOV R3,#0
 9050        MOV R4,#0
 9060        MOV R5,#0
 9070        SWI 46
 9080        LDMIA R13!,{R1-R5}
 9090        SWI 46
 9100        SUB R10,R10,R6
 9110        SUB R12,R12,R10
 9120        ADD R3,R3,#52
 9130        CMP R6,#100
 9140        MOVEQ R6,#10
 9150        BEQ divl2
 9160        CMP R6,#10
 9170        MOVEQ R6,#1
 9180        BEQ divl2
 9190        SUB R8,R8,#3
 9200        LDR R7,score
 9210        ADD R7,R7,#3
 9220        STR R7,score
 9230        SWI 256+31:SWI 256+1:SWI 256+1
 9240        ADR R0,scstr2:SWI "OS_Write0"
 9250        MOV R0,R7
 9260        LDR R1,wimpb2
 9270        MOV R2,#12
 9280        SWI "OS_ConvertInteger4"
 9290        SWI "OS_Write0"
 9300        CMN R8,#3
 9310        BGT boaddl
 9320        SWI 256+26
 9330        BL retlev
 9340        ADD R0,R0,#1
 9350        CMP R0,#8
 9360        BGE wongam
 9370        BL placer
 9380        MOV R1,R0,ASR#1
 9390        CMP R0,R1,ASL#1
 9400        MOVNE R0,#0
 9410        STRNE R0,blevel
 9420        MOVNE R0,#51<<5
 9430        STRNE R0,timec
 9440        MOVNE R0,#0
 9450        STRNE R0,behnds
 9460        MOV R1,#100
 9470        BL wait
 9480.fadeiv BL invars
 9490.fadetn LDR R10,palett
 9500        MOV R9,#4
 9510        BL fade
 9520        SWI 256+17:SWI 256+128:SWI 256+17:SWI 256+7:SWI 256+12
 9530        LDR R0,blevel
 9540        CMP R0,#0
 9550        BNE switch
 9560        MOV R0,#5
 9570        STR R0,maxbo
 9580        LDR R11,block2
 9590        MOV R0,#1536<<sh
 9600        STR R0,[R11,#128]
 9610        STR R0,[R11,#132]
 9620        B switch
 9630.doturn CMP R7,#3
 9640        ADDEQ R8,R8,#8
 9650        CMP R7,#2
 9660        SUBEQ R8,R8,#8
 9670        CMP R7,#10
 9680        BNE nfb
 9690        ADD R8,R8,#144
 9700        LDR R7,[R11,#100]
 9710        SUB R7,R7,#1
 9720        STR R7,[R11,#100]
 9730        MOV R7,#10
 9740.nfb    SUB R7,R7,#1
 9750        STR R7,sbutp
 9760        CMP R8,#288
 9770        SUBGE R8,R8,#288
 9780        CMP R8,#0
 9790        ADDMI R8,R8,#288
 9800        CMP R7,#8
 9810        MOVEQ R7,#0
 9820        STREQ R7,sbutp
 9830        BEQ fintur
 9840        CMP R7,#0
 9850        BNE fintur
 9860        LDR R7,[R11,#92]
 9870        SUB R7,R7,#1
 9880        STR R7,[R11,#92]
 9890        B fintur
 9900.dm3dat EQUD dm3%
 9910.dm3tit EQUS "Bonusses available:"+CHR$0:ALIGN
 9920.demo3  SWI 256+12:SWI 256+17:SWI 256+2:SWI 256+31:SWI 256+10:SWI 256+0
 9930        ADR R0,dm3tit
 9940        SWI "OS_Write0"
 9950        SWI 256+17:SWI 256+0
 9960        MOV R0,#3
 9970        STR R0,showsc
 9980        MOV R3,#50
 9990        MOV R4,#900
10000        MOV R5,#0
10010        LDR R6,splot2
10020        LDR R7,sarea2
10030        MOV R9,#19
10040        LDR R10,dm3dat
10050        SWI 256+18:SWI 256+0:SWI 256+1:SWI 256+5
10060.readd3 LDR R2,[R10],#4
10070        MOV R0,R6
10080        MOV R1,R7
10090        SWI 46
10100        MOV R0,#4
10110        ADD R1,R3,#70
10120        ADD R2,R4,#50
10130        SWI "OS_Plot"
10140        MOV R0,R10
10150        SWI "OS_Write0"
10160        ADD R10,R10,#16
10170        SUB R4,R4,#80
10180        CMP R4,#120
10190        ADDLT R3,R3,#640
10200        MOVLT R4,#900
10210        SUBS R9,R9,#1
10220        BPL readd3
10230        SWI 256+4
10240        B textc
10250.totpl  EQUD 1
10260.highsc EQUD hi%
10270.showsc EQUD 1
10280.showti EQUD 0
10290.highti EQUS "High Scores:"+CHR$0:ALIGN
10300.demo2  SWI 256+12:SWI 256+17:SWI 256+2:SWI 256+31:SWI 256+12:SWI 256+2
10310        ADR R0,highti
10320        SWI "OS_Write0":SWI 256+17:SWI 256+0
10330        SWI "OS_NewLine":SWI "OS_NewLine"
10340        MOV R11,#23
10350        MOV R10,#9
10360        LDR R9,highsc
10370.prloop SWI 256+31:SWI 256+9
10380        MOV R0,R11:SWI "OS_WriteC"
10390        LDR R0,[R9],#4
10400        LDR R1,wimpb2
10410        MOV R2,#10
10420        SWI "OS_ConvertInteger4"
10430        SWI "OS_Write0"
10440        SWI 256+31:SWI 256+16
10450        MOV R0,R11:SWI "OS_WriteC"
10460        MOV R0,R9
10470        SWI "OS_Write0"
10480        ADD R9,R9,#12
10490        SUB R11,R11,#2
10500        SUBS R10,R10,#1
10510        BPL prloop
10520        LDR R0,splot2
10530        LDR R1,sarea2
10540        LDR R2,title
10550        MOV R3,#40
10560        MOV R4,#40
10570        MOV R5,#0
10580        SWI 46
10590        LDR R2,archiw
10600        MOV R3,#780
10610        MOV R4,#40
10620        SWI 46
10630        B textc
10640.invars SWI "XOS_Mouse"
10650        CMP R2,#0:BNE invars
10660        STMFD R13!,{R14}
10670        BL placsw
10680        LDR R0,ststat
10690        LDR R1,block2
10700        MOV R2,#300
10710.config LDR R3,[R0],#4
10720        STR R3,[R1],#4
10730        SUBS R2,R2,#4
10740        BPL config
10750        LDR R3,bartab
10760        LDR R4,barr
10770        LDR R5,oabar
10780        MOV R7,#2
10790.barrpl BL rnd
10800        AND R0,R0,#15
10810        MOV R0,R0,ASL#5
10820        ADD R0,R0,#384
10830        MOV R0,R0,ASL#sh
10840        SUB R0,R0,#32*j
10850        STR R0,[R3],#4
10860.ysc    BL rnd
10870        AND R0,R0,#15
10880        CMP R0,#10
10890        BGT ysc
10900        MOV R0,R0,ASL#5
10910        ADD R0,R0,#384
10920        CMP R0,#640
10930        BGT notinw
10940        CMP R0,#468
10950        BGT ysc
10960.notinw MOV R0,R0,ASL#sh
10970        SUB R0,R0,#32*j
10980        STR R0,[R3],#4
10990        BL rnd
11000        MOV R0,R0,ASR#6
11010        LDR R0,[R5,R0,ASL#2]
11020        STR R0,[R3],#4
11030        BL rnd
11040        BL rnd
11050        SUBS R4,R4,#1
11060        BPL barrpl
11070        LDR R0,bblock
11080        MOV R1,#5
11090        MOV R2,#2560
11100.bocler STR R2,[R0],#16
11110        SUBS R1,R1,#1
11120        BPL bocler
11130        MOV R0,#0
11140        STR R0,bonscr
11150        MOV R1,#2
11160        STR R1,maxbo
11170        LDR R0,exblo
11180        LDR R1,exmax
11190.excler STR R2,[R0],#12
11200        SUBS R1,R1,#1
11210        BPL excler
11220        MOV R8,#1
11230        MOV R0,#0
11240        STR R0,exonsc
11250        STR R0,switon
11260        STR R0,windx
11270        STR R0,windy
11280        STR R0,onscr
11290        LDR R0,maxbu
11300        LDR R1,a
11310        MOV R2,#2560
11320.fillbb STR R2,[R1],#40
11330        SUBS R0,R0,#1
11340        BPL fillbb
11350        LDR R0,totpl
11360        CMP R0,#2
11370        BEQ nisp
11380        LDR R11,block2
11390        ADD R11,R11,#128
11400        STR R0,[R11,#24]
11410        STR R0,[R11,#32]
11420        MOV R0,#0
11430        STR R0,[R11,#36]
11440        STR R0,[R11,#112]
11450        STR R0,[R11,#40]
11460        MOV R0,#9
11470        STR R0,[R11,#28]
11480        BL retlev
11490        MOV R0,R0,ASL#5
11500        ADD R0,R0,#200
11510        STR R0,[R11,#20]
11520.nisp   LDMIA R13!,{PC}^
11530.starto MOV R0,#112
11540        MOV R1,#1
11550        SWI "OS_Byte"
11560        MOV R0,#113
11570        MOV R1,#1
11580        SWI "OS_Byte"
11590        SWI 256+12
11600        LDR R1,palett
11610        SWI "Wimp_SetPalette"
11620.start  MOV R0,R0
11630        MOV R0,R0
11640        MOV R0,#1
11650        STR R0,showsc
11660.titles BL invars
11670        SWI 256+17
11680        SWI 256+135
11690        SWI 256+17
11700        SWI 256+0
11710        LDR R1,palett
11720        SWI "Wimp_SetPalette"
11730        SWI 66
11740        ADD R0,R0,#800
11750        STR R0,showti
11760        LDR R0,showsc
11770        CMP R0,#1
11780        BEQ demo1
11790        CMP R0,#2
11800        BEQ demo2
11810        B demo3
11820.volstr EQUS CHR$31+CHR$12+CHR$26+"Volume Level:"+CHR$0:ALIGN
11830.titlsc EQUD 153:EQUD 153
11840.xdiv   EQUD 1
11850.ydiv   EQUD 1
11860.opt1s  EQUD opt1%:EQUD opt2%:EQUD opt3%
11870.demo1  SWI 256+12:MOV R0,#1
11880        STR R0,showsc
11890        MOV R8,#1
11900.rep    LDR R0,specpl
11910        LDR R1,sparea
11920        LDR R2,title
11930        MOV R3,#80
11940        ADD R3,R3,R8,ASL#1
11950        MOV R4,#44
11960        ADD R4,R4,R8,ASL#2
11970        MOV R5,#0
11980        ADR R6,titlsc
11990        MVN R7,#0
12000        STR R8,xdiv
12010        STR R8,ydiv
12020        SWI 46
12030        ADD R8,R8,#2
12040        CMP R8,#153
12050        BNE rep
12060        LDR R0,spplot
12070        LDR R1,sparea
12080        LDR R2,writer
12090        MOV R3,#580
12100        MOV R4,#50
12110        MOV R5,#0
12120        SWI 46
12130        LDR R2,archiw
12140        MOV R3,#100
12150        MOV R4,#20
12160        SWI 46
12170        LDR R2,opt1s
12180        MOV R3,#392
12190        MOV R4,#472
12200        SWI 46
12210        LDR R2,opt1s+4
12220        MOV R4,#388
12230        SWI 46
12240        LDR R2,opt1s+8
12250        MOV R4,#272
12260        SWI 46
12270        ADR R0,volstr
12280        SWI "OS_Write0"
12290        LDR R0,vollev
12300        LDR R1,energy
12310        MOV R2,#12
12320        SWI "OS_ConvertCardinal1"
12330        SWI 256+31:SWI 256+25:SWI 256+26:SWI "OS_Write0":SWI 256+32
12340.textc  MOV R0,#129
12350        MVN R1,#48
12360        MVN R2,#48
12370        SWI "OS_Byte"
12380        CMP R1,#255
12390        BEQ firepr
12400        MOV R0,#129
12410        MVN R1,#49
12420        MVN R2,#49
12430        SWI "OS_Byte"
12440        CMP R1,#255
12450        BEQ optpage
12460        MOV R0,#129
12470        MVN R1,#17
12480        MVN R2,#17
12490        SWI "OS_Byte"
12500        CMP R1,#255
12510        ADREQ R14,start
12520        BEQ scrbla
12530        SWI 66
12540        LDR R1,showti
12550        CMP R0,R1
12560        BLT samep
12570        SWI 66
12580        ADD R0,R0,#800
12590        STR R0,showti
12600        LDR R0,showsc
12610        ADD R0,R0,#1
12620        CMP R0,#4
12630        MOVEQ R0,#1
12640        STR R0,showsc
12650        CMP R0,#1
12660        BEQ demo1
12670        CMP R0,#2
12680        BEQ demo2
12690        B demo3
12700.samep  MOV R0,#129
12710        MVN R1,#113
12720        MVN R2,#113
12730        SWI 6
12740        CMP R1,#255
12750        ADREQ R14,start
12760        BEQ scrbla
12770        LDR R9,vollev
12780        MOV R0,#129
12790        MVN R1,#57
12800        MVN R2,#57
12810        SWI 6
12820        CMP R1,#255
12830        ADDEQ R9,R9,#1
12840        MOV R0,#129
12850        MVN R1,#41
12860        MVN R2,#41
12870        SWI 6
12880        CMP R1,#255
12890        SUBEQ R9,R9,#1
12900        CMP R9,#0
12910        MOVEQ R9,#1
12920        CMP R9,#128
12930        MOVEQ R9,#127
12940        LDR R8,vollev
12950        STR R9,vollev
12960        CMP R8,R9
12970        BEQ textc
12980        MOV R0,R9
12990        SWI "Sound_Volume"
13000        LDR R0,vollev
13010        LDR R1,energy
13020        MOV R2,#12
13030        SWI "OS_ConvertCardinal1"
13040        SWI 256+31:SWI 256+25:SWI 256+26:SWI "OS_Write0":SWI 256+32
13050        SWI 66
13060        ADD R0,R0,#1000
13070        STR R0,showti
13080        LDR R0,showsc
13090        CMP R0,#1
13100        BEQ textc
13110        B demo1
13120.firepr LDR R10,palett
13130        MOV R9,#4
13140        BL fade
13150        MOV R9,#32
13160        SWI 256+17:SWI 256+128:SWI 256+17:SWI 256+7:SWI 256+12
13170        BL invars
13180        LDR R1,totpl
13190        CMP R1,#1
13200        BNE switch
13210        STR R1,blevel
13220        BL retlev
13230        MOV R0,R0,ASL#5
13240        ADD R0,R0,#200
13250        LDR R11,block
13260        STR R0,[R11,#20+128]
13270        MOV R0,#2                       ; Lives
13280        STR R0,lives
13290        MOV R0,#0
13300        STR R0,score
13310        MOV R0,#0
13320        BL placer
13330.nodams SWI "OS_Mouse":CMP R2,#0:BNE nodams
13340        B switch
13350.screen EQUD 1
13360.blevel EQUD 1
13370.switon EQUD 0
13380.thitl  EQUD 0
13390.hitlas EQUD 0:EQUD 0
13400.placsw ADR R0,scrsw1
13410        ADR R1,scrsw
13420        SWI "OS_ReadVduVariables"
13430        MOV PC,R14
13440.scrsw1 EQUD 148:EQUD -1
13450.scrsw  EQUD 0:EQUD 0
13460.switch SWI "XOS_Mouse"
13470        CMP R2,#0
13480        BLNE scrbla
13490        MOV R0,#19
13500        SWI "OS_Byte"
13510        MOV R0,#112
13520        LDR R1,screen
13530        SWI "OS_Byte"
13540        LDR R0,switon
13550        ADD R0,R0,#1
13560        STR R0,switon
13570        CMP R0,#3
13580        BEQ shlev
13590        LDR R1,screen
13600        RSB R1,R1,#3
13610        STR R1,screen
13620        MOV R0,#113
13630        SWI "OS_Byte"
13640        ADR R0,scrsw1
13650        ADR R1,scrsw
13660        SWI "OS_ReadVduVariables"
13670        LDR R0,scrsw
13680        B clsbac
13690.drawb  LDR R11,bartab
13700        LDR R8,barr
13710.barloo LDMIA R11!,{R3-R4}
13720        LDR R2,[R11],#4
13730        CMP R3,#0
13740        BLT destbr
13750        LDR R0,scrsw
13760        MOV R3,R3,ASR#sh
13770        MOV R4,R4,ASR#sh
13780        SUB R3,R3,#64
13790        LDR R1,[R2,#32]
13800        ADD R1,R1,R2
13810        RSB R4,R4,#1024
13820        MOV R4,R4,ASR#2
13830        MOV R5,#160
13840        MLA R0,R4,R5,R0
13850        ADD R0,R0,R3,ASR#3
13860        MOV R5,#15
13870.ybarlp LDMIA R1!,{R3-R4}
13880        STMIA R0,{R3-R4}
13890        ADD R0,R0,#160
13900        SUBS R5,R5,#1
13910        BPL ybarlp
13920.destbr SUBS R8,R8,#1
13930        BPL barloo
13940.moveit LDR R11,block
13950        LDR R0,blevel
13960.cars   STR R0,left
13970        LDR R12,block
13980        CMP R11,R12
13990        ADR R12,hitlas
14000        ADDNE R12,R12,#4
14010        STR R12,thitl
14020        LDR R12,[R12]
14030        LDR R2,[R11,#20]
14040        STR R2,olden
14050        MOV R2,#0
14060        LDR R5,[R11,#8]
14070        LDR R6,[R11,#12]
14080        LDR R3,windx
14090        ADD R5,R5,R3
14100        LDR R4,windy
14110        ADD R6,R6,R4
14120        LDMIA R11,{R3-R4}
14130        ADD R3,R3,R5
14140        CMP R3,#64*j
14150        MOVLT R3,#64*j
14160        RSBLT R5,R5,#0
14170        MOVLT R2,#1
14180        LDR R7,right
14190        CMP R3,R7
14200        MOVGT R3,R7
14210        RSBGT R5,R5,#0
14220        MOVGT R2,#1
14230
14240        STMFD R13!,{R0-R1,R3-R4,R7-R10}
14250        ADD R3,R3,#72*j
14260        ADD R4,R4,#72*j
14270        LDR R10,bartab
14280        LDR R8,barr
14290.barlp1 LDMIA R10!,{R0-R1}:ADD R10,R10,#4
14300        CMP R0,#0
14310        BLT nocra1
14320        SUBS R0,R3,R0
14330        RSBMI R0,R0,#0
14340        CMP R0,#68*j
14350        BLT cra1
14360.nocra1 SUBS R8,R8,#1
14370        BPL barlp1
14380        LDMIA R13!,{R0-R1,R3-R4,R7-R10}
14390        B ycolde
14400.cra1   SUBS R1,R4,R1
14410        RSBMI R1,R1,#0
14420        CMP R1,#64*j
14430        BGT nocra1
14440        RSBS R5,R5,#0
14450        CMP R5,#0
14460        ADD R5,R5,#1<<sh
14470        SUBMI R5,R5,#2<<sh
14480        MOV R2,#1
14490        LDMIA R13!,{R0-R1,R3-R4,R7-R10}
14500        LDMIA R11,{R3-R4}
14510        B newbr
14520
14530.ycolde ADD R4,R4,R6
14540        CMP R4,#200*j
14550        MOVLT R4,#200*j
14560        RSBLT R6,R6,#0
14570        MOVLT R2,#1
14580        LDR R7,top
14590        CMP R4,R7
14600        MOVGT R4,R7
14610        RSBGT R6,R6,#0
14620        MOVGT R2,#1
14630
14640        STMFD R13!,{R0-R1,R3-R4,R7-R10}
14650        ADD R3,R3,#72*j
14660        ADD R4,R4,#72*j
14670        LDR R10,bartab
14680        LDR R8,barr
14690.barlp2 LDMIA R10!,{R0-R1}:ADD R10,R10,#4
14700        CMP R0,#0
14710        BLT nocra2
14720        SUBS R0,R3,R0
14730        RSBMI R0,R0,#0
14740        CMP R0,#64*j
14750        BLT cra2
14760.nocra2 SUBS R8,R8,#1
14770        BPL barlp2
14780        LDMIA R13!,{R0-R1,R3-R4,R7-R10}
14790        B newbr
14800.cra2   SUBS R1,R4,R1
14810        RSBMI R1,R1,#0
14820        CMP R1,#64*j
14830        BGT nocra2
14840        RSBS R6,R6,#0
14850        MOV R2,#1
14860        LDMIA R13!,{R0-R1,R3-R4,R7-R10}
14870        LDMIA R11,{R3-R4}
14880
14890.newbr  CMP R2,#1:BNE nowalc
14900        CMP R12,#1:BEQ nowald
14910        MOV R7,#0
14920        BL sound
14930        LDR R7,[R11,#20]
14940        SUB R7,R7,#1
14950        STR R7,[R11,#20]
14960        MOV R12,#1
14970        LDR R7,thitl
14980        STR R12,[R7]
14990        B nowald
15000.nowalc LDR R12,thitl
15010        MOV R7,#0
15020        STR R7,[R12]
15030        MOV R12,#1
15040.nowald LDR R2,block
15050.hitcar CMP R2,R11
15060        BEQ self
15070        LDR R14,[R2]
15080        SUBS R14,R14,R3
15090        RSBMI R14,R14,#0
15100        CMP R14,#78*j
15110        BGT self
15120        LDR R14,[R2,#4]
15130        SUBS R14,R14,R4
15140        RSBMI R14,R14,#0
15150        CMP R14,#78*j
15160        BGT self
15170        MVN R5,R5
15180        MVN R6,R6
15190        ADD R3,R3,R5
15200        ADD R4,R4,R6
15210        LDR R1,[R2,#8]
15220        LDR R14,[R2,#12]
15230        SUB R1,R1,R5,ASR#1
15240        SUB R14,R14,R6,ASR#1
15250        STR R1,[R2,#8]
15260        STR R14,[R2,#12]
15270        LDR R1,[R11,#20]
15280        SUB R1,R1,#2
15290        STR R1,[R11,#20]
15300.norefl MOV R1,#2
15310        STR R1,[R11,#116]
15320        MOV R1,R5
15330        MOV R5,#80
15340        BL sound2
15350        MOV R5,R1
15360.self   ADD R2,R2,#128
15370        SUBS R12,R12,#1
15380        BPL hitcar
15390        STR R3,[R11]
15400        STR R4,[R11,#4]
15410        MOV R8,#62
15420        MUL R5,R8,R5
15430        MUL R6,R8,R6
15440        MOV R5,R5,ASR #6
15450        MOV R6,R6,ASR #6
15460        CMN R5,#31
15470        MOVEQ R5,#0
15480        CMN R6,#31
15490        MOVEQ R6,#0
15500        LDR R14,[R11,#16]
15510        LDR R7,[R11,#80]
15520        LDR R12,[R11,#20]
15530        CMP R12,#1024
15540        MOVLO R12,#129
15550        MOVHI R12,#118
15560        MOV R0,R12
15570        LDR R1,[R11,#24]
15580        CMP R1,#1
15590        BEQ compd                  ; Computer controlled car.
15600        MOV R2,R1
15610        SWI 6
15620        CMP R1,#255
15630        ADDEQ R14,R14,R7
15640        MOV R0,R12
15650        LDR R1,[R11,#28]
15660        MOV R2,R1
15670        SWI 6
15680        CMP R1,#255
15690        SUBEQ R14,R14,R7
15700        CMP R14,#288
15710        SUBGE R14,R14,#288
15720        CMP R14,#0
15730        ADDLT R14,R14,#288
15740        STR R14,[R11,#16]
15750        MOV R14,R14,ASR#3
15760        MOV R8,R14,ASL#2
15770        LDR R7,[R11,#48]
15780        LDR R14,[R7,R8]
15790        STR R14,rft
15800        LDR R7,table
15810        ADD R8,R7,R8,ASL#1
15820        LDMIA R8,{R9-R10}
15830        MOV R0,R12
15840        LDR R1,[R11,#32]
15850        MOV R2,R1
15860        SWI 6
15870        CMP R1,#255
15880        BNE noacc
15890        ADD R5,R5,R9
15900        ADD R6,R6,R10
15910        LDR R1,[R11,#56]
15920        SUBS R1,R1,#1
15930        STRPL R1,[R11,#56]
15940        ADDPL R5,R5,R9
15950        ADDPL R6,R6,R10
15960.noacc  STR R2,[R11,#84]
15970        MOV R0,R12
15980        LDR R1,[R11,#36]
15990        MOV R2,R1
16000        SWI 6
16010        CMP R1,#255
16020        MOVEQ R1,#30
16030        MULEQ R5,R1,R5
16040        MULEQ R6,R1,R6
16050        MOVEQ R5,R5,ASR#5
16060        MOVEQ R6,R6,ASR#5
16070        MOV R0,R12
16080        LDR R1,[R11,#40]
16090        MOV R2,R1
16100        SWI 6
16110        CMP R1,#255
16120        MOVNE R1,#0
16130        STRNE R1,[R11,#44]
16140        LDREQ R1,[R11,#44]
16150        CMPEQ R1,#0
16160        BEQ pfire
16170.bfire  STR R5,[R11,#8]
16180        STR R6,[R11,#12]
16190.plot   LDR R0,spplot
16200        LDR R1,sparea
16210        LDR R2,[R11,#72]
16220        CMP R2,#1
16230        BLT noarm
16240        SUB R2,R2,#1
16250        STR R2,[R11,#72]
16260        LDR R2,olden
16270        STR R2,[R11,#20]
16280.noarm  LDR R2,rft
16290        MOV R3,R3,ASR#sh
16300        MOV R4,R4,ASR#sh
16310        MOV R5,#8
16320        MOV R6,R3
16330        MOV R7,R4
16340        SWI 46
16350        LDR R2,[R11,#96]
16360        CMP R2,#0
16370        BNE spth
16380.endspt LDR R2,[R11,#76]
16390        CMP R2,#0
16400        BEQ noshil
16410        SUB R2,R2,#1
16420        STR R2,[R11,#76]
16430        SUB R3,R3,#12
16440        SUB R4,R4,#8
16450        LDR R2,shield
16460        SWI 46
16470.noshil LDR R2,[R11,#20]
16480        CMP R2,#0
16490        BPL bodraw
16500        BL rnd
16510        MOV R8,R0
16520.explan LDR R5,[R11,#64]
16530        ADD R5,R5,#4
16540        CMP R5,#64
16550        MOVEQ R5,#0
16560        STR R5,[R11,#64]
16570        LDR R2,exspr
16580        LDR R2,[R2,R5]
16590        LDR R0,spplot
16600        LDR R1,sparea
16610        MOV R5,#8
16620        ADD R3,R3,#8
16630        ADD R4,R4,#8
16640        SWI 46
16650        CMP R8,#4
16660        MOVLT R5,#112
16670        BLLT sound2
16680        LDR R5,[R11,#68]
16690        SUBS R5,R5,#1
16700        STR R5,[R11,#68]
16710        BMI endgam
16720        LDR R0,bitflg
16730        SUBS R0,R0,#1
16740        LDRMI R9,left
16750        MOVMI R0,#100
16760        STR R0,bitflg
16770        BLMI crbits
16780        ADR R14,bodraw
16790        B carex
16800.bitflg EQUD 0
16810.bodraw LDR R10,bonscr
16820        CMP R10,#0
16830        BEQ noexbo
16840        LDR R10,maxbo
16850        LDR R9,bblock
16860        LDR R8,left
16870.boloop LDR R3,[R9]
16880        CMP R3,#2560
16890        BEQ endbo
16900        BL rnd
16910        CMP R0,#64
16920        BGT novani
16930        BL rnd
16940        CMP R0,#0
16950        BEQ rembo
16960.novani LDR R4,[R9,#4]
16970        LDR R2,[R9,#8]
16980        CMP R8,#0
16990        BEQ bonpl
17000.bonret SUBS R5,R3,R6
17010        RSBMI R5,R5,#0
17020        CMP R5,#68
17030        BLT posbo
17040.endbo  ADD R9,R9,#16
17050        SUBS R10,R10,#1
17060        BPL boloop
17070.noexbo LDR R6,[R11,#20]
17080        CMP R6,#1024
17090        BHI nextpl
17100        LDR R0,left
17110        RSB R0,R0,#1
17120        MOV R7,#128
17130        ADD R7,R7,R0,ASL#9
17140        SWI 256+24
17150        AND R0,R7,#255
17160        SWI "OS_WriteC"
17170        MOV R0,R7,LSR#8
17180        SWI "OS_WriteC"
17190        SWI 256+228:SWI 256+3
17200        ADD R8,R7,R6,ASL#1
17210        AND R0,R8,#255
17220        SWI "OS_WriteC"
17230        MOV R0,R8,LSR#8
17240        SWI "OS_WriteC"
17250        SWI 256+255:SWI 256+3
17260        LDR R0,spplot
17270        LDR R1,sparea
17280        LDR R2,enerbr
17290        MOV R3,R7
17300        MOV R4,#996
17310        MOV R5,#0
17320        SWI 46
17330        SWI 256+26
17340.nextpl LDR R0,left
17350        ADD R11,R11,#128
17360        SUBS R0,R0,#1
17370        BPL cars
17380        B bullet
17390.enerbr EQUD enbar%
17400.bullet LDR R0,onscr
17410        CMP R0,#0
17420        BEQ escape
17430        LDR R11,a
17440        LDR R0,maxbu
17450.bloop  STR R0,left
17460        LDR R1,[R11]
17470        CMP R1,#2560
17480        BNE actual
17490.nextb  ADD R11,R11,#40
17500        SUBS R0,R0,#1
17510        BPL bloop
17520        B escape
17530.lives  EQUD 0
17540.slowd  MOV R10,#14
17550        MOV R9,R5:MOV R14,R6
17560        MUL R9,R10,R9
17570        MUL R14,R10,R14
17580        MOV R9,R9,ASR#4
17590        MOV R14,R14,ASR#4
17600        STR R9,[R11,#28]
17610        STR R14,[R11,#32]
17620        CMP R9,#0
17630        RSBMI R9,R9,#0
17640        CMP R14,#0
17650        RSBMI R14,R14,#0
17660        CMP R9,#1<<(sh-3)
17670        CMPLT R14,#1<<(sh-3)
17680        BGE missr
17690        MOV R5,#10
17700        MOV R3,R3,ASR#sh
17710        MOV R4,R4,ASR#sh
17720        BL addex
17730        B offscr
17740.actual LDMIA R11,{R3-R4}
17750        LDR R5,[R11,#28]
17760        LDR R6,[R11,#32]
17770        LDR R14,[R11,#36]
17780        CMP R14,#6
17790        BEQ accel
17800        CMP R14,#8
17810        BEQ slowd
17820.missr  ADD R3,R3,R5
17830        CMP R3,#64*j
17840        BLT offle
17850        CMP R3,#1216*j
17860        BGT offle
17870.bri    ADD R4,R4,R6
17880        CMP R4,#200*j
17890        BLT offbo
17900        CMP R4,#856*j
17910        BGT offbo
17920.bto    STMIA R11,{R3-R4}
17930        MOV R10,#pl           ; Collision detection
17940        LDR R9,block
17950.cloop  LDR R5,[R9]
17960        ADD R5,R5,#48*j
17970        SUBS R5,R5,R3
17980        RSBMI R5,R5,#0
17990        CMP R5,#48*j
18000        BLT hit
18010.miss   ADD R9,R9,#128
18020        SUBS R10,R10,#1
18030        BPL cloop
18040        LDR R10,barr           ; Collision detection; Objects
18050        LDR R9,bartab
18060.bulbar LDR R5,[R9]
18070        SUB R5,R5,#44*j
18080        SUBS R5,R5,R3
18090        RSBMI R5,R5,#0
18100        CMP R5,#36*j
18110        BLT hitbar
18120.misbar ADD R9,R9,#12
18130        SUBS R10,R10,#1
18140        BPL bulbar
18150        LDR R0,spplot
18160        LDR R1,sparea
18170        LDR R2,[R11,#8]
18180        MOV R3,R3,ASR#sh
18190        MOV R4,R4,ASR#sh
18200        MOV R5,#0
18210        SWI 46
18220        LDR R0,left
18230        B nextb
18240.offscr MOV R0,#2560
18250        STR R0,[R11]
18260        LDR R1,onscr
18270        SUB R1,R1,#1
18280        STR R1,onscr
18290        LDR R0,left
18300        B nextb
18310.hit    LDR R5,[R9,#4]
18320        ADD R5,R5,#32*j
18330        SUBS R5,R5,R4
18340        RSBMI R5,R5,#0
18350        CMP R5,#38*j
18360        BGT miss
18370        MOV R7,#96
18380        BL sound
18390        LDR R7,[R9,#8]
18400        LDR R8,[R9,#12]
18410        LDR R5,[R11,#28]
18420        LDR R6,[R11,#32]
18430        ADD R7,R7,R5,ASR#2
18440        ADD R8,R8,R6,ASR#2
18450        STR R7,[R9,#8]
18460        STR R8,[R9,#12]
18470        LDR R7,[R9,#20]
18480        LDR R8,[R11,#36]
18490        LDR R5,[R9,#76]
18500        CMP R5,#0
18510        BLE dontb
18520        LDR R5,[R11,#28]
18530        RSB R5,R5,#0
18540        STR R5,[R11,#28]
18550        LDR R5,[R11,#32]
18560        RSB R5,R5,#0
18570        STR R5,[R11,#32]
18580        B miss
18590.grabsc LDR R0,score
18600        MOV PC,R14
18610.grabli LDR R0,lives
18620        MOV PC,R14
18630.score  EQUD 0
18640.dontb  LDR R5,damage
18650        LDR R5,[R5,R8,ASL#3]
18660        SUB R7,R7,R5
18670        STR R7,[R9,#20]
18680        LDR R7,block
18690        CMP R7,R9
18700        BEQ noes
18710        LDR R7,score
18720        ADD R7,R5,R7
18730        STR R7,score
18740.noes   MOV R3,R3,ASR#sh
18750        MOV R4,R4,ASR#sh
18760        CMP R8,#6
18770        CMPNE R8,#8
18780        MOVEQ R5,#10
18790        BLEQ addex
18800        CMP R8,#1
18810        BNE offscr
18820        LDR R7,[R9,#16]
18830        ADD R7,R7,#16
18840        CMP R7,#288
18850        SUBGE R7,R7,#288
18860        STR R7,[R9,#16]
18870        B offscr
18880.pfire  MOV R8,#0
18890        LDR R7,[R11,#100]
18900        CMP R7,#0
18910        MOVGT R8,#10
18920        LDR R7,[R11,#92]
18930        CMP R7,#0
18940        MOVGT R8,#3
18950        STR R8,sbutp
18960        MOV R7,#1
18970        STR R7,[R11,#44]
18980.preptf LDR R7,onscr
18990        LDR R8,maxbu
19000        CMP R7,R8
19010        BEQ bfire
19020        ADD R7,R7,#1
19030        STR R7,onscr
19040        LDR R10,a
19050.finds  LDR R8,[R10]
19060        CMP R8,#2560
19070        BEQ founds
19080        ADD R10,R10,#40
19090        B finds
19100.maxbo  EQUD 2
19110.bonscr EQUD 0
19120.sbutp  EQUD 0
19130.founds LDR R7,[R11,#60]
19140        SUBS R7,R7,#1
19150        STRPL R7,[R11,#60]
19160        MOVPL R7,#0
19170        STRPL R7,[R11,#44]
19180        ADD R8,R3,#34*j
19190        ADD R9,R4,#34*j
19200        STR R8,[R10]
19210        STR R9,[R10,#4]
19220        LDR R8,[R11,#88]
19230        CMP R8,#0
19240        BEQ ammol
19250        LDR R7,[R11,#52]
19260        SUBS R7,R7,#1
19270        STR R7,[R11,#52]
19280        MOVEQ R8,#0
19290        STREQ R8,[R11,#88]
19300.ammol  STR R8,[R10,#36]
19310        LDR R7,damage
19320        ADD R7,R7,#4
19330        LDR R7,[R7,R8,ASL#3]
19340        BL sound
19350        LDR R7,bspr
19360        LDR R8,[R7,R8,ASL#2]
19370        STR R8,[R10,#8]
19380        LDR R8,[R11,#16]
19390        LDR R7,sbutp
19400        CMP R7,#0
19410        BNE doturn
19420.fintur MOV R8,R8,ASR#3
19430        MOV R8,R8,ASL#3
19440        LDR R7,table
19450        ADD R8,R8,R7
19460        LDMIA R8,{R7,R9}
19470        MOV R7,R7,ASL#4
19480        MOV R9,R9,ASL#4
19490        LDR R8,[R10]
19500        ADD R8,R8,R7,ASL#2
19510        STR R8,[R10]
19520        LDR R8,[R10,#4]
19530        ADD R8,R8,R9,ASL#2
19540        STR R8,[R10,#4]
19550        LDR R8,[R11,#88]
19560        CMP R8,#2
19570        CMPNE R8,#5
19580        CMPNE R8,#8
19590        MOVEQ R7,R7,ASL#1
19600        MOVEQ R9,R9,ASL#1
19610        CMP R8,#3
19620        CMPNE R8,#6
19630        MOVEQ R7,R7,ASR#1
19640        MOVEQ R9,R9,ASR#1
19650        STR R7,[R10,#28]
19660        STR R9,[R10,#32]
19670        LDR R7,sbutp
19680        CMP R7,#0
19690        BNE preptf
19700        B bfire
19710.oabar  EQUD oa%
19720.bartab EQUD sob%
19730.barr   EQUD 4
19740.bblock EQUD bo%
19750.escape LDR R0,totpl
19760        CMP R0,#1
19770        BNE twopl
19780        SWI 256+31:SWI 256+1:SWI 256+1:ADR R0,scstr:SWI "OS_Write0"
19790        LDR R1,wimpb
19800        LDR R0,score
19810        MOV R2,#5
19820        SWI "OS_ConvertInteger4"
19830        SWI "OS_Write0"
19840        LDR R0,blevel
19850        CMP R0,#0
19860        BNE twopl
19870        BL blrout
19880        BL rnd
19890        CMP R0,#2
19900        BLE winst
19910.twopl  BL rnd
19920        CMP R0,#4
19930        BLT exbo
19940        BL rnd
19950        CMP R0,#0
19960        BEQ winst
19970.nowst  LDR R0,exonsc
19980        CMP R0,#0
19990        BNE exanim
20000.getesc B switch
20010.scstr  EQUS "Score: "+CHR$0
20020.winst  BL rnd
20030        CMP R0,#20
20040        BGT nowst
20050        MOV R0,#0
20060        STR R0,windx
20070        STR R0,windy
20080        B nowst
20090.hitbar LDR R5,[R9,#4]
20100        SUB R5,R5,#44*j
20110        SUBS R5,R5,R4
20120        RSBMI R5,R5,#0
20130        CMP R5,#56*j
20140        BGT misbar
20150        LDR R5,[R11,#36]
20160        CMP R5,#6
20170        BNE barst
20180        STMFD R13!,{R3-R5}
20190        LDMIA R9,{R3-R4}
20200        MOV R3,R3,ASR#sh
20210        MOV R4,R4,ASR#sh
20220        SUB R3,R3,#32
20230        SUB R4,R4,#32
20240        MOV R5,#80
20250        BL addex
20260        MVN R5,#0
20270        STR R5,[R9]
20280        LDMIA R13!,{R3-R5}
20290.barst  MOV R5,#96
20300        CMP R14,#5
20310        BL sound2
20320        BEQ offob
20330        B offscr
20340.spinne EQUD spinner%
20350.olden  EQUD 0
20360.table  EQUD ta%+280
20370.rndst  EQUD RND(1000000000)
20380.onscr  EQUD 0
20390.maxbu  EQUD max%
20400.sparea EQUD sp%
20410.block  EQUD b
20420.rft    EQUD 0
20430.shield EQUD shield%
20440.spplot EQUD 546
20450.top    EQUD 800*j
20460.right  EQUD 1128*j
20470.left   EQUD 0
20480.left2  EQUD 0
20490.bspr   EQUD bbb%
20500.damage EQUD dam%
20510.a      EQUD bu%
20520.windx  EQUD 0
20530.windy  EQUD 0
20540.store  EQUD 0
20550.stor2  EQUD 0
20560.energy EQUD spare%
20570.exspr  EQUD expl%
20580.bospr  EQUD bonus%
20590.exblo  EQUD exblock%
20600.exmax  EQUD exmax%
20610.exonsc EQUD 0
20620.wimpb  EQUD w%
20630.rnd    SWI 66
20640        LDR R1,rndst
20650        ADD R0,R0,R1,ROR R1
20660        STR R0,rndst
20670        AND R0,R0,#255
20680        MOV PC,R14
20690.rembo  MOV R5,#2560
20700        STR R5,[R9]
20710        LDR R5,bonscr
20720        SUB R5,R5,#1
20730        STR R5,bonscr
20740        B endbo
20750.exbo   LDR R9,bonscr
20760        LDR R10,maxbo
20770        CMP R9,R10
20780        BEQ getesc
20790        ADD R9,R9,#1
20800        STR R9,bonscr
20810        LDR R9,bblock
20820        SUB R9,R9,#16
20830.seabo  LDR R8,[R9,#16]!
20840        CMP R8,#2560
20850        BNE seabo
20860.boxran BL rnd
20870        AND R0,R0,#31
20880        CMP R0,#23
20890        BGT boxran
20900        MOV R0,R0,ASL#5
20910        ADD R8,R0,#256
20920        STR R8,[R9]
20930        BL rnd
20940        AND R0,R0,#15
20950        ADD R0,R0,R0,ASL#5
20960        ADD R8,R0,#256
20970        STR R8,[R9,#4]
20980        LDR R8,bospr
20990.getbon BL rnd
21000        AND R0,R0,#31
21010        CMP R0,#19
21020        BGT getbon
21030        LDR R8,[R8,R0,ASL#2]
21040        STR R8,[R9,#8]
21050        ADD R0,R0,#1
21060        STR R0,[R9,#12]
21070        B getesc
21080.posbo  SUBS R5,R4,R7
21090        RSBMI R5,R5,#0
21100        CMP R5,#72
21110        BGT endbo
21120        LDR R5,block
21130        LDR R3,score
21140        CMP R11,R5
21150        ADDEQ R3,R3,#10
21160        STREQ R3,score
21170        MOV R5,#128
21180        BL sound2
21190        LDR R5,[R9,#12]
21200.effect LDR R3,bomapp
21210        LDR PC,[R3,R5,ASL#2]
21220.bomapp EQUD bomap%
21230.weapon LDR R3,[R11,#88]
21240        LDR R4,[R11,#52]
21250        CMP R3,R5
21260        MOVNE R4,#0
21270        ADD R4,R4,#32
21280        STR R4,[R11,#52]
21290        STR R5,[R11,#88]
21300        B rembo
21310.q20    MOV R5,#8
21320        B tensho
21330.q4     LDR R3,[R11,#20]
21340        ADD R3,R3,#20
21350        STR R3,[R11,#20]
21360        B rembo
21370.q5     LDR R3,[R11,#72]
21380        ADD R3,R3,#600
21390        STR R3,[R11,#72]
21400        B rembo
21410.q6     LDR R3,[R11,#56]
21420        ADD R3,R3,#200
21430        STR R3,[R11,#56]
21440        B rembo
21450.q8     LDR R3,[R11,#60]
21460        ADD R3,R3,#100
21470        STR R3,[R11,#60]
21480        B rembo
21490.q13    LDR R3,[R11,#76]
21500        ADD R3,R3,#300
21510        STR R3,[R11,#76]
21520        B rembo
21530.q9     LDR R3,[R11,#80]
21540        ADD R3,R3,#1
21550        STR R3,[R11,#80]
21560        B rembo
21570.q15    MOV R5,#4
21580.tensho LDR R3,[R11,#88]
21590        LDR R4,[R11,#52]
21600        CMP R3,R5
21610        MOVNE R4,#0
21620        ADD R4,R4,#18
21630        STR R4,[R11,#52]
21640        STR R5,[R11,#88]
21650        B rembo
21660.q12    MOV R5,#6
21670        B tensho
21680.q14    BL rnd
21690        SUB R0,R0,#128
21700        MOV R0,R0,ASR#2
21710        STR R0,windx
21720        BL rnd
21730        SUB R0,R0,#128
21740        MOV R0,R0,ASR#2
21750        STR R0,windy
21760        B rembo
21770.q16    MOV R5,#5
21780        B weapon
21790.q7     BL rnd
21800        SUB R0,R0,#128
21810        LDR R4,[R11,#8]
21820        ADD R4,R4,R0
21830        STR R4,[R11,#8]
21840        BL rnd
21850        SUB R0,R0,#128
21860        LDR R4,[R11,#12]
21870        ADD R4,R4,R0
21880        STR R4,[R11,#12]
21890        LDMIA R9,{R3-R4}
21900        MOV R5,#60
21910        BL addex
21920        MOV R5,#112
21930        BL sound2
21940        B rembo
21950.q10    LDR R5,[R11,#92]
21960        ADD R5,R5,#60
21970        STR R5,[R11,#92]
21980        B rembo
21990.q17    LDR R5,[R11,#100]
22000        ADD R5,R5,#60
22010        STR R5,[R11,#100]
22020        B rembo
22030.q11    STR R5,[R11,#96]
22040        B rembo
22050.q18    STMFD R13!,{R0-R1}
22060.q18r   BL rnd
22070        AND R5,R0,#31
22080        CMP R5,#20
22090        BGT q18r
22100        LDMIA R13!,{R0-R1}
22110        B effect
22120.q19    LDR R3,score
22130        ADD R3,R3,#90
22140        STR R3,score
22150        B rembo
22160.newr   BL rnd
22170        MOV R0,R0,ASR#3
22180        CMP R0,#17
22190        BHI newr
22200        MOV R5,R0
22210        LDMIA R13!,{R0-R1}
22220        B effect
22230.addex  STMFD R13!,{R0-R1,R14}
22240        LDR R0,exonsc
22250        LDR R1,exmax
22260        CMP R1,R0
22270        LDMEQFD R13!,{R0-R1,PC}^
22280        ADD R0,R0,#1
22290        STR R0,exonsc
22300        LDR R0,exblo
22310        SUB R0,R0,#12
22320.exsear LDR R1,[R0,#12]!
22330        CMP R1,#2560
22340        BNE exsear
22350        STMIA R0,{R3-R5}
22360        LDMIA R13!,{R0-R1,PC}^
22370.exend  SUBS R10,R10,#1
22380        BPL exloop
22390        B getesc
22400.exgo   MOV R6,#2560
22410        STR R6,[R11,#-12]
22420        LDR R6,exonsc
22430        SUB R6,R6,#1
22440        STR R6,exonsc
22450.exanim LDR R11,exblo
22460        LDR R10,exmax
22470        LDR R2,exspr
22480        BL rnd
22490        MOV R0,R0,ASR#6
22500        LDR R2,[R2,R0,ASL#2]
22510        MOV R5,#8
22520.exloop LDMIA R11!,{R3,R4,R6}
22530        CMP R3,#2560
22540        BEQ exend
22550        SUBS R6,R6,#1
22560        STR R6,[R11,#-4]
22570        BMI exgo
22580        BL rnd
22590        SUB R0,R0,#128
22600        ADD R3,R3,R0,ASR#2
22610        BL rnd
22620        SUB R0,R0,#128
22630        ADD R4,R4,R0,ASR#2
22640        BL plex
22650        BL rnd
22660        SUB R0,R0,#128
22670        ADD R3,R3,R0,ASR#2
22680        BL rnd
22690        SUB R0,R0,#128
22700        ADD R4,R4,R0,ASR#2
22710        BL plex
22720        B exend
22730.endgam MOV R0,#0
22740        STR R0,bitflg
22750        MOV R0,#112
22760        MOV R1,#1
22770        SWI 6
22780        MOV R0,#113
22790        MOV R1,#1
22800        SWI 6
22810        MOV R1,#80
22820        BL wait
22830        B losel
22840.offle  CMP R14,#5
22850        BNE offscr
22860        STMFD R13!,{R0-R1}
22870        BL rnd
22880        CMP R0,#10
22890        LDMIA R13!,{R0-R1}
22900        BLT offscr
22910        RSB R5,R5,#0
22920        STR R5,[R11,#28]
22930        B bri
22940.offbo  CMP R14,#5
22950        BNE offscr
22960        STMFD R13!,{R0-R1}
22970        BL rnd
22980        CMP R0,#10
22990        LDMIA R13!,{R0-R1}
23000        BLT offscr
23010        RSB R6,R6,#0
23020        STR R6,[R11,#32]
23030        B bto
23040.offob  STMFD R13!,{R0-R1}
23050        BL rnd
23060        CMP R0,#10
23070        LDMIA R13!,{R0-R1}
23080        BLT offscr
23090        LDR R5,[R11,#28]
23100        LDR R6,[R11,#32]
23110        RSB R5,R5,#0
23120        RSB R6,R6,#0
23130        STR R5,[R11,#28]
23140        STR R6,[R11,#32]
23150        B misbar
23160.accel  MOV R14,#68
23170        MUL R5,R14,R5
23180        MUL R6,R14,R6
23190        MOV R5,R5,ASR#6
23200        MOV R6,R6,ASR#6
23210        STR R5,[R11,#28]
23220        STR R6,[R11,#32]
23230        B missr
23240.spth   STMFD R13!,{R0-R7}
23250        LDR R6,table
23260        MOV R7,R2
23270        LDR R2,spinne
23280        ADD R7,R7,#10
23290        CMP R7,#288
23300        MOVGE R7,#1
23310        STR R7,[R11,#96]
23320        MOV R7,R7,ASR#3
23330        ADD R7,R6,R7,ASL#3
23340        LDMIA R7,{R6-R7}
23350        ADD R3,R3,R6
23360        ADD R4,R4,R7
23370        SWI 46
23380        MOV R3,R3,ASL#sh
23390        MOV R4,R4,ASL#sh
23400        MOV R2,#pl
23410        LDR R5,block
23420.quickh LDR R6,left
23430        CMP R2,R6
23440        BEQ notoop
23450        LDR R6,[R5]
23460        SUBS R6,R6,R3
23470        RSBMI R6,R6,#0
23480        CMP R6,#80*j
23490        BGT notoop
23500        LDR R6,[R5,#4]
23510        SUBS R6,R6,R4
23520        RSBMI R6,R6,#0
23530        CMP R6,#80*j
23540        BGT notoop
23550        LDR R6,[R5,#20]
23560        SUB R6,R6,#1
23570        STR R6,[R5,#20]
23580        MOV R5,#8
23590        MOV R3,R3,ASR#sh
23600        MOV R4,R4,ASR#sh
23610        STMFD R13!,{R2}
23620        LDR R0,spplot
23630        LDR R1,sparea
23640        LDR R2,exspr
23650        LDR R2,[R2,#4]
23660        SWI 46
23670        LDMIA R13!,{R2}
23680        MOV R5,#0
23690        BL sound2
23700        BL rnd
23710        CMP R0,#3
23720        MOVLT R0,#0
23730        STRLT R0,[R11,#96]
23740.notoop ADD R5,R5,#128
23750        SUBS R2,R2,#1
23760        BPL quickh
23770        LDMIA R13!,{R0-R7}
23780        B endspt
23790.retlev LDR R0,dlevel
23800        MOV PC,R14
23810.placer STR R0,dlevel
23820        MOV PC,R14
23830.dlevel EQUD 0
23840.task   EQUD &4B534154
23850.temp   EQUD temp%
23860.name   EQUS "Cars"+CHR$0:ALIGN
23870.icond  EQUD -1:EQUD 0:EQUD 0:EQUD 74:EQUD 68:EQUD &3002:EQUS "!Cars"+CHR$0
23880        EQUB 0:EQUD 0
23890.templ  EQUS "<Obey$Dir>.Templates"+CHR$0:ALIGN
23900.tempw  EQUS "Info"+CHR$0:ALIGN
23910.tempw2 EQUS "Bonus"+CHR$0:ALIGN
23920.oldst  EQUD 0
23930.taskh  EQUD 0
23940.deskt  MOV R0,#200
23950        LDR R1,task
23960        ADR R2,name
23970        SWI "Wimp_Initialise"
23980        STR R1,taskh
23990        ADR R1,templ
24000        SWI "Wimp_OpenTemplate"
24010        LDR R1,wimpb
24020        LDR R2,temp
24030        ADD R3,R2,#2048
24040        MOV R8,R3
24050        MVN R4,#0
24060        ADR R5,tempw2
24070        MOV R6,#0
24080        SWI "Wimp_LoadTemplate"
24090        MOV R9,R2
24100        LDR R1,wimpb
24110        LDR R0,sparea
24120        STR R0,[R1,#64]
24130        SWI "Wimp_CreateWindow"
24140        STR R0,bonw%
24150        LDR R1,wimpb
24160        LDR R1,wimpb
24170        MOV R2,R9
24180        MOV R3,R8
24190        MVN R4,#0
24200        ADR R5,tempw
24210        MOV R6,#0
24220        SWI "Wimp_LoadTemplate"
24230        LDR R1,wimpb
24240        LDR R0,sparea
24250        STR R0,[R1,#64]
24260        SWI "Wimp_CreateWindow"
24270        STR R0,infow%
24280        LDR R1,wimpb
24290        STR R0,[R1]
24300.ctempl SWI "Wimp_CloseTemplate"
24310        ADR R1,icond
24320        SWI "Wimp_CreateIcon"
24330        LDR R1,deskpl
24340        SWI "Wimp_ReadPalette"
24350.polll  MOV R0,#1
24360        LDR R1,wimpb
24370        SWI "Wimp_Poll"
24380        CMP R0,#2:SWIEQ "Wimp_OpenWindow"
24390        CMP R0,#3:SWIEQ "Wimp_CloseWindow"
24400        CMP R0,#17:CMPNE R0,#18:BEQ receiv
24410        CMP R0,#9:BEQ menus
24420        CMP R0,#6:BNE polll
24430        LDR R2,[R1,#12]
24440        CMN R2,#2
24450        BNE polll
24460        LDR R2,[R1,#8]
24470        CMP R2,#2
24480        BEQ menu
24490.icbnc  SWI "XOS_Mouse"
24500        CMP R2,#0:BNE icbnc
24510        MVN R0,#0
24520        MVN R1,#0
24530        SWI "Wimp_SetCaretPosition"
24540        MOV R0,#135
24550        SWI 6
24560        STR R2,deskmd
24570        SWI 256+22:SWI 256+9
24580        LDR R1,deskpl
24590        SWI "Wimp_ReadPalette"
24600        LDR R1,palete
24610        SWI "Wimp_SetPalette"
24620        SWI 256+18:SWI 256+0:SWI 256+11
24630        SWI "OS_RemoveCursors"
24640        STR R13,oldst
24650        LDR R13,stack
24660        LDR R14,getbtg
24670        MOV PC,R14                              ; Retrieve game PC
24680.rettw  STR R13,stack
24690        LDR R13,oldst
24700        STR R14,getbtg
24710        MOV R0,#21
24720        MOV R1,#0
24730        SWI 6
24740        LDR R0,deskmd
24750        SWI "Wimp_SetMode"
24760        LDR R1,deskpl
24770        SWI "Wimp_SetPalette"
24780        B polll
24790.deskmd EQUD 12
24800.stack  EQUD st%+1000
24810.getbtg EQUD start
24820.receiv LDR R2,[R1,#16]
24830        CMP R2,#0
24840        BEQ shutdown
24850        B polll
24860.menu   LDR R2,[R1]
24870        SUB R2,R2,#64
24880        MOV R3,#96+(44*3)
24890        ADR R1,menuc
24900        SWI "Wimp_CreateMenu"
24910        B polll
24920.menus  LDR R2,[R1]
24930        CMP R2,#2
24940        BEQ shutdown
24950        CMP R2,#1
24960        BNE polll
24970        LDR R0,bonw%
24980        STR R0,[R1]
24990        SWI "Wimp_GetWindowState"
25000        MVN R0,#0
25010        STR R0,[R1,#28]
25020        SWI "Wimp_OpenWindow"
25030        B polll
25040.menuc  EQUS "Car Wars":EQUD 0:EQUD &70207:EQUD 160:EQUD 44:EQUD 0:EQUD 0
25050.infow% EQUD -1:EQUD &7000021:EQUS "Info":EQUD 0:EQUD 0:EQUD 0
25060.bonw%  EQUD -1:EQUD &7000021:EQUS "Bonuses"+CHR$0:EQUD 0
25070        EQUD &80:EQUD -1:EQUD &7000021:EQUS "Quit":EQUD 0:EQUD 0
25080.pwind  EQUD 0
25090.palete EQUD pal%
25100.deskpl EQUD p2%
25110.failsave
25120        MOV R1,#1
25130        ADR R2,menuc
25140        SWI "Wimp_ReportError"
25150        ADR R0,hitabe
25160        MOV R1,#19
25170        ADR R2,menuc
25180        SWI "Wimp_ReportError"
25190        CMP R1,#2
25200        BEQ remmod
25210.shutdown
25220        SWI "XWimp_CloseDown"
25230        MOV R0,#10
25240        ADR R1,hitabp
25250        MOV R2,#&1000:SUB R2,R2,#1
25260        MOV R3,#0
25270        LDR R4,hitabs
25280        ADD R5,R4,#160
25290        SWI "XOS_File"
25300.remmod BVS failsave
25310        ADR R0,mod1
25320        SWI "OS_CLI"
25330        ADR R0,mod2
25340        SWI "OS_CLI"
25350        ADR R0,mod3
25360        SWI "OS_CLI"
25370        ADR R0,mod4
25380        SWI "OS_CLI"
25390        ADR R0,mod5
25400        SWI "OS_CLI"
25410        B polll
25420.hitabs EQUD hi%
25430.hitabp EQUS "<Car$Dir>.HiScores"+CHR$0:ALIGN
25440.hitabe EQUS "    Could not save hiscore table. Try again?"+CHR$0:ALIGN
25450.mod1   EQUS "RMKill Explosion"+CHR$0:ALIGN
25460.mod2   EQUS "RMKill Layer"+CHR$0:ALIGN
25470.mod3   EQUS "RMKill Rotate"+CHR$0:ALIGN
25480.mod4   EQUS "RMKill Sides"+CHR$0:ALIGN
25490.mod5   EQUS "ChannelVoice 1 1"+CHR$0:ALIGN
25500.compd  LDR R2,table                     ; Returned in R12 - each bit
25510        MOV R14,R14,ASR#3                ; 0 - left 1 - right 2 - accel
25520        MOV R8,R14,ASL#2                 ; 3 - brake 4 - fire
25530        LDR R0,[R11,#48]
25540        LDR R1,[R0,R8]
25550        STR R1,rft
25560        ADD R8,R2,R8,ASL#1
25570        STR R8,orpos
25580        LDMIA R8,{R9-R10}
25590        STMFD R13!,{R5-R6}
25600        CMP R5,#0
25610        RSBMI R5,R5,#0
25620        CMP R6,#0
25630        RSBMI R6,R6,#0
25640        CMP R5,R6
25650        MOVGT R2,R5
25660        MOVLE R2,R6
25670        MOV R2,R2,ASR#8
25680        CMP R2,#7
25690        MOVLT R2,#7
25700        LDMIA R13!,{R5-R6}
25710        LDR R0,[R11,#20]
25720        CMP R0,#0
25730        BMI bfire
25740        B detect                        ; Returns 0-nothing 9-left 10-right
25750.compc  TST R12,#%10000
25760        BNE noaccc
25770        LDR R0,[R11,#124]
25780        CMP R0,#0
25790        BNE noaccc
25800        TST R12,#%100
25810        ADDNE R5,R5,R9
25820        ADDNE R6,R6,R10
25830.noaccc TST R12,#%1000
25840        MOVNE R1,#30
25850        MULNE R5,R1,R5
25860        MULNE R6,R1,R6
25870        MOVNE R5,R5,ASR#5
25880        MOVNE R6,R6,ASR#5
25890        LDR R0,dlevel
25900        ADD R0,R0,#3
25910        CMP R0,#6
25920        MOVGT R0,#6
25930        LDR R14,[R11,#16]
25940        TST R12,#%1
25950        SUBNE R14,R14,R0
25960        TST R12,#%10
25970        ADDNE R14,R14,R0
25980        CMP R14,#288
25990        SUBGE R14,R14,#288
26000        CMP R14,#0
26010        ADDLT R14,R14,#288
26020        STR R14,[R11,#16]
26030        BL rnd
26040        CMP R0,#192
26050        BGT noach
26060        BL rnd
26070        CMP R0,#1
26080        BNE noach
26090        BL rnd
26100        MOV R1,#1
26110        CMP R0,#160                    ; Decide next target 1-car 2-bonus
26120        BGT decidb
26130        STR R1,[R11,#32]
26140.noach  LDR R0,dlevel
26150        CMP R0,#5
26160        BEQ regen
26170        LDR R1,[R11,#88]
26180        CMP R1,#0
26190        STREQ R0,[R11,#88]
26200.tstrfr MOV R0,#0
26210        STR R0,[R11,#124]
26220        TST R12,#%10000
26230        BEQ bfire
26240        MOV R0,#1
26250        STR R0,[R11,#124]
26260        B pfire
26270.regen  BL rnd
26280        CMP R0,#12
26290        BGT tstrfr
26300        LDR R0,[R11,#20]
26310        ADD R0,R0,#1
26320        STR R0,[R11,#20]
26330        B tstrfr
26340.decidb MOV R1,#2
26350        LDR R0,bonscr
26360        CMP R0,#0
26370        MOVEQ R1,#3
26380        STR R1,[R11,#32]
26390        BEQ compc                      ; Don't search if no bonusses
26400        STMFD R13!,{R5-R7}
26410        MOV R5,#0                      ; Chosen bonus
26420        MVN R6,#0                      ; Bonus distance
26430        LDR R2,bblock
26440        LDR R1,maxbo
26450.choosb LDMIA R2,{R0,R7}
26460        MOV R0,R0,ASL#sh
26470        MOV R7,R7,ASL#sh
26480        SUBS R0,R3,R0
26490        RSBMI R0,R0,#0
26500        SUBS R7,R4,R0
26510        RSBMI R7,R7,#0
26520        CMP R7,R0
26530        MOVGT R0,R7                    ; R0 - Biggest distance.
26540        CMP R6,R0
26550        MOVHI R0,R6
26560        MOVHI R5,R2
26570        ADD R2,R2,#16
26580        SUBS R1,R1,#1
26590        BPL choosb
26600        CMP R5,#0
26610        BNE finebo
26620        LDMIA R13!,{R5-R7}
26630        MOV R1,#1
26640        STR R1,[R11,#32]
26650        B noach
26660.finebo STR R5,[R11,#120]
26670        LDMIA R13!,{R5-R7}
26680        B noach
26690.runawy LDR R0,block
26700        LDMIA R0,{R1-R2}
26710        RSB R1,R1,#1280*j
26720        RSB R2,R2,#1024*j
26730        B fdway
26740.fnuma  EQUD 0
26750.fnumr  EQUD 0
26760.enshid EQUD 0
26770.follow LDR R0,block                   ; R0 contains other player's stats
26780        LDR R2,[R0,#20]
26790        CMP R2,#0
26800        BLT runawy                     ; Don't chase if dead!
26810        LDR R2,[R0,#76]
26820        STR R2,enshid
26830        LDR R1,[R11,#32]               ; What to go for?
26840        CMP R1,#3
26850        BEQ runawy
26860        CMP R1,#2
26870        BEQ sightb
26880        CMP R2,#0
26890        BEQ headcr
26900        B decidb                       ; If shield, choose a bonus
26910.sightb LDR R0,bblock
26920        LDMIA R0,{R1-R2}
26930        CMP R1,#2560
26940        MOVEQ R1,#1
26950        STREQ R1,[R11,#32]
26960        BEQ follow
26970        MOV R1,R1,ASL#sh
26980        MOV R2,R2,ASL#sh
26990        B fdway
27000
27010.ahed   SUBS R6,R4,R2
27020        RSBMI R6,R6,#0
27030        CMP R6,#28*j
27040        BGT ntahed
27050        MOV R12,#%1000
27060        BL rnd
27070        LDR R1,dlevel
27080        ADD R1,R1,#3
27090        CMP R0,R1,ASL#3
27100        ORRLT R12,R12,#%10000
27110        LDMIA R13!,{R0-R9,R14}
27120        B compc
27130
27140.isahed STMFD R13!,{R0-R9,R14}
27150        ADD R3,R3,#40*j
27160        ADD R4,R4,#40*j
27170        ADD R0,R0,#30*j
27180        ADD R1,R1,#30*j
27190        LDR R7,orpos
27200        LDMIA R7,{R8-R9}
27210        MOV R5,#20
27220.ahedlp ADD R3,R3,R8,ASL#5
27230        ADD R4,R4,R9,ASL#5
27240        SUBS R6,R3,R1
27250        RSBMI R6,R6,#0
27260        CMP R6,#28*j
27270        BLT ahed
27280.ntahed SUBS R5,R5,#1
27290        BPL ahedlp
27300        LDMIA R13!,{R0-R9,PC}^
27310
27320.headcr LDMIA R0,{R1-R2}               ; To reach other person, turn where?
27330        BL isahed
27340.fdway  STMFD R13!,{R3-R4,R7-R11}
27350        ADD R3,R3,#40*j
27360        ADD R4,R4,#40*j
27370        LDR R7,orpos
27380        LDMIA R7,{R8-R9}               ; Get facing info
27390        ADD R8,R3,R8,ASL#ttt
27400        ADD R9,R4,R9,ASL#ttt           ; R8 & R9 contain point ahead.
27410        SUBS R10,R8,R1
27420        RSBMI R10,R10,#0
27430        SUBS R11,R9,R2
27440        RSBMI R11,R11,#0
27450        CMP R10,R11
27460        MOVLT R10,R11
27470        STR R10,fnuma                  ; Store ahead range
27480        LDR R8,[R7,#trr]
27490        LDR R9,[R7,#trr+4]             ; Now try right
27500        ADD R8,R3,R8,ASL#ttt
27510        ADD R9,R4,R9,ASL#ttt
27520        SUBS R10,R8,R1
27530        RSBMI R10,R10,#0
27540        SUBS R11,R9,R2
27550        RSBMI R11,R11,#0
27560        CMP R10,R11
27570        MOVLT R10,R11
27580        STR R10,fnumr
27590        LDR R8,[R7,#-trr]
27600        LDR R9,[R7,#-(trr-4)]          ; Now try left
27610        ADD R8,R3,R8,ASL#ttt
27620        ADD R9,R4,R9,ASL#ttt
27630        SUBS R10,R8,R1
27640        RSBMI R10,R10,#0
27650        SUBS R11,R9,R2
27660        RSBMI R11,R11,#0
27670        CMP R10,R11
27680        MOVLT R10,R11
27690        LDR R8,fnuma
27700        LDR R9,fnumr
27710        CMP R10,R8
27720        CMPGT R9,R8
27730        BGT stra
27740        CMP R9,R10
27750        ORRGT R12,R12,#%1
27760        ORRLT R12,R12,#%10
27770        B nturna
27780.stra   BL rnd
27790        LDR R1,dlevel
27800        MOV R1,R1,ASL#2
27810        ADD R1,R1,#15
27820        CMP R0,R1
27830        ORRLT R12,R12,#%10000
27840        ORR R12,R12,#%100
27850.nturna BL rnd                         ; Accelerate?
27860        CMP R0,#110
27870        ORRLT R12,R12,#%100
27880.ntm    BL rnd
27890        LDMIA R13!,{R3-R4,R7-R11}
27900        LDR R1,[R11,#32]
27910        CMP R0,#5
27920        ORRLT R12,R12,#%10000
27930        LDR R0,enshid
27940        CMP R0,#1
27950        ANDGE R12,R12,#%01111
27960        AND R1,R12,#%11
27970        LDR R0,[R11,#40]               ; Caution dir
27980        CMP R0,R1
27990        BNE compc
28000        EOR R12,R12,#%11
28010        AND R12,R12,#%10111          ; Don't turn same dir twice
28020        ORR R12,R12,#%100
28030        LDR R0,[R11,#112]
28040        SUB R0,R0,#1
28050        STR R0,[R11,#112]
28060        CMP R0,#0
28070        STREQ R0,[R11,#40]
28080        B compc
28090.detect STMFD R13!,{R3-R11}
28100        ADD R3,R3,#36*j
28110        ADD R4,R4,#36*j
28120        ADD R3,R3,R9,ASL R2         ; Number is the search range
28130        ADD R4,R4,R10,ASL R2        ; Number is the search range
28140        CMP R3,#1216*j:BGT quickt
28150        CMP R3,#64*j:BLT quickt
28160        CMP R4,#800*j:BGT quickt
28170        CMP R4,#200*j:BLT quickt
28180        LDR R11,bartab
28190        LDR R0,barr
28200.blocka LDR R6,[R11],#12
28210        CMN R6,#0
28220        BEQ nocrac
28230.crashc SUBS R6,R6,R3
28240        RSBMI R6,R6,#0
28250        CMP R6,#112*j
28260        BLT crac
28270.nocrac SUBS R0,R0,#1
28280        BPL blocka
28290        MOV R12,#0
28300        LDMIA R13!,{R3-R11}
28310        B follow                        ; Clear ahead - loop to target
28320.crac   LDR R7,[R11,#-8]
28330        SUBS R7,R7,R4
28340        RSBMI R7,R7,#0
28350        CMP R7,#112*j
28360        BGT nocrac
28370.quickt SUB R11,R3,R9,ASL R2            ; Start point
28380        SUB R12,R4,R10,ASL R2
28390        MOV R0,#0                       ; Count left turns
28400        LDR R8,orpos
28410.trylef ADD R0,R0,#1:SUB R8,R8,#8
28420        CMP R1,#35
28430        BGE finlef
28440        LDMIA R8,{R9-R10}
28450        ADD R9,R11,R9,ASL R2
28460        ADD R10,R12,R10,ASL R2           ; Is this away?
28470        CMP R9,#1216*j:BGT trylef
28480        CMP R9,#64*j:BLT trylef
28490        CMP R10,#800*j:BGT trylef
28500        CMP R10,#200*j:BLT trylef
28510        LDR R3,barr
28520        LDR R4,bartab
28530.quiblo LDR R5,[R4],#12
28540        SUBS R5,R9,R5
28550        RSBMI R5,R9,#0
28560        CMP R5,#128*j
28570        BGT notqbl
28580        LDR R5,[R4,#-8]
28590        SUBS R5,R10,R5
28600        RSBMI R5,R10,#0
28610        CMP R5,#128*j
28620        BLT trylef                       ; Hit, so turn more.
28630.notqbl SUBS R3,R3,#1
28640        BPL quiblo                       ; Any more left?
28650.finlef LDR R8,orpos
28660        MOV R1,#0
28670.tryrig ADD R1,R1,#1
28680        CMP R1,#35
28690        BGE finrig
28700        ADD R8,R8,#8
28710        LDMIA R8,{R9-R10}
28720        ADD R9,R11,R9,ASL R2
28730        ADD R10,R12,R10,ASL R2           ; Is this away? (right)
28740        CMP R9,#1216*j:BGT tryrig
28750        CMP R9,#64*j:BLT tryrig
28760        CMP R10,#800*j:BGT tryrig
28770        CMP R10,#200*j:BLT tryrig
28780        LDR R3,barr
28790        LDR R4,bartab
28800.quiblr LDR R5,[R4],#12
28810        SUBS R5,R9,R5
28820        RSBMI R5,R9,#0
28830        CMP R5,#128*j
28840        BGT notqbr
28850        LDR R5,[R4,#-8]
28860        SUBS R5,R10,R5
28870        RSBMI R5,R10,#0
28880        CMP R5,#128*j
28890        BLT tryrig                       ; Hit, so turn more.
28900.notqbr SUBS R3,R3,#1
28910        BPL quiblr                       ; Any more left?
28920.finrig LDMIA R13!,{R3-R11}
28930        SUBS R12,R0,R1
28940        RSBMI R12,R12,#0
28950        CMP R12,#4                     ; Is little difference?
28960        BLT ignorb
28970.avoido CMP R0,R1                      ; Which is quicker?
28980        MOV R12,#10
28990        MOVLT R12,#9
29000        LDREQ R12,[R11,#28]
29010        STR R12,[R11,#28]
29020        MOV R0,#11
29030        SUB R0,R0,R12
29040        STR R0,[R11,#40]               ; Store direction (no turn)
29050        MOV R0,#7
29060        STR R0,[R11,#112]              ; Count
29070        B compc
29080.wait   SWI 66
29090        ADD R1,R0,R1
29100.waitl  SWI 66
29110        CMP R0,R1
29120        BLT waitl
29130        MOV PC,R14
29140.orpos  EQUD 0
29150.ignorb LDR R0,[R11,#32]
29160        CMP R0,#1
29170        BNE avoido
29180        B follow
29190]:NEXT:P%=expl%:[ OPT 2
29200        EQUD ex%(0):EQUD ex%(0):EQUD ex%(1):EQUD ex%(1):EQUD ex%(2)
29210        EQUD ex%(2):EQUD ex%(3):EQUD ex%(3):EQUD ex%(4):EQUD ex%(4)
29220        EQUD ex%(5):EQUD ex%(5):EQUD ex%(6):EQUD ex%(6):EQUD ex%(7)
29230        EQUD ex%(7)
29240]:P%=bonus%:[ OPT 2
29250        EQUD ba%(1):EQUD ba%(2):EQUD ba%(3):EQUD ba%(4):EQUD ba%(5)
29260        EQUD ba%(6):EQUD ba%(7):EQUD ba%(8):EQUD ba%(9):EQUD ba%(10)
29270        EQUD ba%(11):EQUD ba%(12):EQUD ba%(13):EQUD ba%(14):EQUD ba%(15)
29280        EQUD ba%(16):EQUD ba%(17):EQUD ba%(18):EQUD ba%(19):EQUD ba%(20)
29290]:P%=bbb%:[ OPT 2
29300        EQUD b%(1):EQUD b%(2):EQUD b%(3):EQUD b%(4)
29310        EQUD b%(5):EQUD b%(6):EQUD b%(7):EQUD b%(8):EQUD b%(9)
29320]:P%=bomap%:[ OPT 2
29330        EQUD weapon:EQUD weapon:EQUD weapon:EQUD weapon:EQUD q4:EQUD q5
29340        EQUD q6:EQUD q7:EQUD q8:EQUD q9:EQUD q10:EQUD q11:EQUD q12:EQUD q13
29350        EQUD q14:EQUD q15:EQUD q16:EQUD q17:EQUD q18:EQUD q19:EQUD q20
29360]:P%=sound%:[ OPT 2
29370EQUD 4:EQUD -15:EQUD 10:EQUD 0       ;bounce                0
29380EQUD 2:EQUD -12:EQUD 3500:EQUD 0     ;fire 0                16
29390EQUD 2:EQUD -12:EQUD 4000:EQUD 0     ;fire 1                32
29400EQUD 2:EQUD -12:EQUD 4500:EQUD 0     ;fire 2                48
29410EQUD 2:EQUD -12:EQUD 2500:EQUD 0     ;fire 3                64
29420EQUD 4:EQUD -15:EQUD 1:EQUD 0        ;collide               80
29430EQUD 4:EQUD -13:EQUD 5:EQUD 0        ;hit by bullet         96
29440EQUD 1:EQUD -15:EQUD 2000:EQUD 0     ;collect explosives    112
29450EQUD 3:EQUD -15:EQUD 1500:EQUD 0     ;collect bonus         128
29460EQUD 2:EQUD -12:EQUD 5000:EQUD 0     ;fire 4                144
29470EQUD 2:EQUD -12:EQUD 7000:EQUD 0     ;fire 5                160
29480]:P%=dam%:[ OPT 2
29490EQUD 1:EQUD 16:EQUD 2:EQUD 32:EQUD 3:EQUD 48:EQUD 4:EQUD 64
29500EQUD 6:EQUD 144:EQUD 3:EQUD 160:EQUD 7:EQUD 144:EQUD 10:EQUD 16
29510EQUD 8:EQUD 32
29520]:P%=btsp%:[ OPT 2
29530EQUD tyre%:EQUD bitad%(0):EQUD bitad%(1):EQUD bitad%(2):EQUD bitad%(3)
29540EQUD bitad%(4):EQUD bitad%(5):EQUD bitad%(6):EQUD bitad%(7)
29550]:P%=dm3%:[ OPT 2
29560EQUD ba%(1):EQUS "Spinner        "+CHR$0:EQUD ba%(2):EQUS "Fast Bullets   "+CHR$0
29570EQUD ba%(3):EQUS "Mines          "+CHR$0:EQUD ba%(12):EQUS "Rockets        "+CHR$0
29580EQUD ba%(15):EQUS "Large Mines    "+CHR$0:EQUD ba%(16):EQUS "Bounce Bombs   "+CHR$0
29590EQUD ba%(7):EQUS "Booby Trap     "+CHR$0:EQUD ba%(8):EQUS "Rapid Fire     "+CHR$0
29600EQUD ba%(9):EQUS "Quick Turning  "+CHR$0:EQUD ba%(10):EQUS "Three Way Fire "+CHR$0
29610EQUD ba%(11):EQUS "Spinning Thing "+CHR$0:EQUD ba%(4):EQUS "Extra Energy   "+CHR$0
29620EQUD ba%(13):EQUS "Bullet Shield  "+CHR$0:EQUD ba%(14):EQUS "Storm          "+CHR$0
29630EQUD ba%(5):EQUS "Armour         "+CHR$0:EQUD ba%(6):EQUS "Speed Up       "+CHR$0
29640EQUD ba%(17):EQUS "Back Fire      "+CHR$0:EQUD ba%(18):EQUS "Random Bonus   "+CHR$0
29650EQUD ba%(19):EQUS "100 Points     "+CHR$0:EQUD ba%(20):EQUS "Massive Bombs  "+CHR$0:]
29660DATA 400*j,480*j,0,0,216,200,-66,-82,-52,-51,-36,0,st1,0,0,0,0
29670DATA 200,0,0,3,0,0,0,0,0,0,0,0
29680DATA 848*j,480*j,0,0,216,200,-108,-125,-27,-109,-59,0,st2,0,0,0,0
29690DATA 200,0,0,3,0,0,0,0,0,0,0,0
29700ttt%=ta%:FOR i=-350 TO 700 STEP 10
29710ta%!0=COSRAD(i)*j:ta%!4=SINRAD(i)*j
29720ta%+=8:NEXT:!ttt%=2048:ttt%!4=2048:!ta%=2048:ta%!4=2048
29730st1=sp1%:st2=sp2%:FORi=0TO35
29740SYS46,280,sp%,"n"+STR$i TO ,,!sp1%
29750SYS46,280,sp%,"m"+STR$i TO ,,!sp2%
29760sp1%+=4:sp2%+=4:NEXT
29770FORk=0TO1:FORi=0TO112STEP4:READ stdat!(i+k*128):NEXT:NEXT
29780FORi=0TO!maxbu:bu%!(i*40)=2560:NEXT
29790FORi=0TO!maxbo:bo%!(i*16)=2560:NEXT
29800FORi=0TO!exmax:exblock%!(i*12)=2560:NEXT
29810SYS8,255,"<Obey$Dir>.HiScores",hi%
29820hi%!160=&3FFFFFFF:ON ERROR PROCerror
29830CALL deskt:END
29840
29850DEF PROCerror
29860ON ERROR PRINTREPORT$;" at line "ERL:END
29870SYS"Wimp_SetPalette",,p2%:SYS6,112,1:SYS6,113,1
29880SYS&400DF,"    "+REPORT$+" at line "+STR$ERL,1,"Car Wars"
29890j=INSTR(REPORT$,"&"):IF j=0 END
29900X=OPENUP("<Car$Dir>.ErrorFile"):r$=REPORT$+" Code start &"+(STR$~m%)+CHR$10
29910PTR#X=EXT#X:FORi=1TOLEN r$:BPUT#X,ASC(MID$(r$,i,1)):NEXT:CLOSE #X
29920SYS"Wimp_SetMode",12:VDU4:SYS6,229,0:SYS6,200,0
29930a$="":j+=1:WHILE MID$(r$,j,1)<>" " a$+=MID$(r$,j,1):j+=1:ENDWHILE
29940a=EVAL ("&"+a$)-128:PROCshow:END
29950
29960DEF PROCshow
29970COLOUR132:COLOUR7:REPEAT
29980PRINTREPORT$'':*ShowRegs
29990PRINT:SYS5,"MemoryI "+STR$~a+" "+STR$~(a+256):PRINT'~!dump'~!dump2:UNTIL 0
30000ENDPROC

� >!RunImage
#� Written By Ben Mansell ��1993
8� � È™&400DF,"    "+�$+" at line "+Þ,1,"Car Wars":�
(;Ƞ 4:A=�(-�):max%=20:exmax%=3:pl=1:scanr=7:ttt=4:trr=24
2*ș8,5,"<Obey$Dir>.NewCars" � ,,,,slen%
<N� m% 14800,sp% slen%+1024,ta% 1000,b 512,sp1% 192,sp2% 192,bu% (max%+1)*40
FM� ob% 1024,oa% 32,ex%(7),bo% 1024,ba%(20),expl% 128,bonus% 128,spare% 100
PM� sound% 1024,dam% 128,stdat 512,exblock% 512,bbb% 128,w% 2048,temp% 2048
ZJ� st% 1024,pal% 128,scrme 4096,p2% 128,p3% 128,hi% 200,num% 50,bt% 512
dA� bomap% 128,dm3% 400,back% 45000,btsp% 64,bitad%(7),asc% 256
n=sob%=ob%:!sp%=slen%+1024:j=128:sh=7:� b%(10):!back%=45000
x&ș8,255,"<Obey$Dir>.NewCars",sp%+4
�&ș8,255,"<Obey$Dir>.!Palette",pal%
�)ș8,255,"<Obey$Dir>.Backdrop",back%+4
�(ș8,255,"<Obey$Dir>.ASCIItable",asc%
�2�i%=1�9:ș46,280,sp%,"bullet"+�i% � ,,b%(i%):�
�4�i%=0�7:ș46,280,sp%,"explode"+�i% � ,,ex%(i%):�
�3�i%=1�20:ș46,280,sp%,"bonus"+�i% � ,,ba%(i%):�
�7�i%=0�3:ș46,280,sp%,"barrier"+�i% � ,,oa%!(i%*4):�
�.�i%=0�9:ș46,280,sp%,�i% � ,,num%!(i%*4):�
�2�i%=0�3:ș46,280,sp%,"bitm"+�i% � ,,bitad%(i%)
�.ș46,280,sp%,"bitn"+�i% � ,,bitad%(i%+4):�
�#ș46,280,sp%,"title" � ,,title%
�%ș46,280,sp%,"shield" � ,,shield%
�'ș46,280,sp%,"spinner" � ,,spinner%
%ș46,280,sp%,"writer" � ,,writer%
'ș46,280,sp%,"archworld" � ,,archw%
%ș46,280,sp%,"complete" � ,,comp%
"&ș46,280,sp%,"gameover" � ,,gover%
,#ș46,280,sp%,"level" � ,,level%
6#ș46,280,sp%,"lives" � ,,lives%
@'ș46,280,sp%,"energybar" � ,,enbar%
J"ș46,280,sp%,"bonus" � ,,enbo%
T!ș46,280,sp%,"time" � ,,time%
^#ș46,280,sp%,"blevt" � ,,blevt%
h)ș46,280,sp%,"congrats" � ,,congrats%
r!ș46,280,sp%,"tyre" � ,,tyre%
|!ș46,280,sp%,"opt1" � ,,opt1%
�!ș46,280,sp%,"opt2" � ,,opt2%
�!ș46,280,sp%,"opt3" � ,,opt3%
�%ș46,280,sp%,"keyleft" � ,,kleft%
�'ș46,280,sp%,"keyright" � ,,kright%
�!ș46,280,sp%,"keyup" � ,,kup%
�%ș46,280,sp%,"keydown" � ,,kdown%
�%ș46,280,sp%,"keyfire" � ,,kfire%
�&ș46,280,sp%,"gamemode" � ,,gamem%
�&ș46,280,sp%,"twogame" � ,,gamem2%
�&ș46,280,sp%,"onegame" � ,,gamem1%
�)ș46,280,sp%,"gameplayer" � ,,gamepl%
�(ș46,280,sp%,"optselect" � ,,optsel%
�+ș46,280,sp%,"questionmark" � ,,questm%
)ș46,280,back%,"backdrop" � ,,backsp%
� pass%=0 � 2 � 2
P%=m%:[ OPT pass%
&.blackp MOV R0,#19
0        LDR R1,fadeb2
:        MOV R2,#0
D.fillbp STR R2,[R1],#4
N        SUBS R0,R0,#1
X        BPL fillbp
b        LDR R1,fadeb2
l!        SWI "Wimp_SetPalette"
v        MOV PC,R14
�.fadeb2 EQUD p3%
�.fadep2 EQUD pal%
�".fade2  STMFD R13!,{R0-R6,R14}
�        MOV R5,#255
�.fadem3 MOV R6,#19
�        LDR R3,fadeb2
�        LDR R4,fadep2
�.fadem  MOV R0,#0
�        STRB R0,[R3],#1
�        ADD R4,R4,#1
�        MOV R1,#2
�.fadem2 LDRB R0,[R4],#1
�        ADD R0,R0,R5
        CMP R0,#255
        MOVGT R0,#255
        STRB R0,[R3],#1
         SUBS R1,R1,#1
*        BPL fadem2
4        SUBS R6,R6,#1
>        BPL fadem
H        LDR R1,fadeb2
R!        SWI "Wimp_SetPalette"
\        MOV R0,#19
f        SWI "OS_Byte"
p        SUBS R5,R5,R9
z        BPL fadem3
�        LDR R1,fadep2
�!        SWI "Wimp_SetPalette"
�"        LDMIA R13!,{R0-R6,PC}^
�
�".fade3  STMFD R13!,{R0-R6,R14}
�        MOV R5,#255
�.faden3 MOV R6,#19
�        LDR R3,fadeb2
�        LDR R4,fadep2
�.faden  MOV R0,#0
�        STRB R0,[R3],#1
�        ADD R4,R4,#1
�        MOV R1,#2
.faden2 LDRB R0,[R4],#1
        SUBS R0,R0,R5
        MOVMI R0,#0
$        STRB R0,[R3],#1
.        SUBS R1,R1,#1
8        BPL faden2
B        SUBS R6,R6,#1
L        BPL faden
V        LDR R1,fadeb2
`!        SWI "Wimp_SetPalette"
j        MOV R0,#19
t        SWI "OS_Byte"
~        SUBS R5,R5,R9
�        BPL faden3
�        LDR R1,fadep2
�!        SWI "Wimp_SetPalette"
�"        LDMIA R13!,{R0-R6,PC}^
�
�".plex   STMFD R13!,{R2-R4,R14}
�        RSB R4,R4,#960
�        MOV R4,R4,ASR#2
�        LDR R0,[R2,#32]
�        LDR R5,[R2,#36]
�        ADD R0,R0,R2
�        ADD R5,R5,R2
        LDR R1,bacdro

        MOV R2,#160
        MLA R1,R4,R2,R1
        ADD R1,R1,R3,ASR#3
(        MOV R2,#15
2.exylp  LDMIA R1,{R3-R4}
<        LDMIA R0!,{R6-R7}
F        LDMIA R5!,{R8-R9}
P        BIC R3,R3,R8
Z        BIC R4,R4,R9
d        �R R3,R3,R6
n        �R R4,R4,R7
x        STMIA R1,{R3-R4}
�        ADD R1,R1,#160
�        SUBS R2,R2,#1
�        BPL exylp
�"        LDMIA R13!,{R2-R4,PC}^
�.dump   EQUD 0
�.bonpl  STMFD R13!,{R3-R4}
�        LDR R0,[R2,#32]
�        ADD R0,R0,R2
�        LDR R1,bacdro
�        MOV R2,#160
�        RSB R4,R4,#960
�        MOV R4,R4,ASR#2
�        MLA R1,R4,R2,R1
        ADD R1,R1,R3,ASR#3
        MOV R5,#15
.ybolp  LDMIA R0!,{R3-R4}
"        STMIA R1,{R3-R4}
,        ADD R1,R1,#160
6        SUBS R5,R5,#1
@        BPL ybolp
J        LDMIA R13!,{R3-R4}
T        B bonret
^
h.crbits STMFD R13!,{R14}
r        MOV R7,#112
|        BL sound
�H        MOV R12,#10       ; Start explosion. R11-car data, R9-player
�        LDR R10,exbits
�        LDMIA R11,{R5-R6}
�        LDR R8,table2
�.makebt BL rnd
�        MOV R0,R0,ASR#2
�        CMP R0,#35
�        BGT makebt
�        ADD R0,R8,R0,ASL#3
�        LDMIA R0,{R3-R4}
�        BL rnd
�        � R0,R0,#3
�        ADD R0,R0,#1
        MUL R3,R0,R3
        MUL R4,R0,R4
.makesp BL rnd
&        � R2,R0,#7
0        CMP R2,#4
:        BGT makesp
D        CMP R2,#0
N        CMPNE R9,#1
X        ADDNE R2,R2,#4
b        STMIA R10!,{R2-R6}
l        SUBS R12,R12,#1
v        BPL makebt
�        LDMIA R13!,{PC}^
�.table2 EQUD ta%+280
�.exbits EQUD bt%
�.bitspr EQUD btsp%
�.spinc  EQUD 0
�#.carex  STMFD R13!,{R0-R12,R14}
�D        MOV R12,#10                   ; Number of exploding bits
�        LDR R11,exbits
�@        LDR R10,bitspr               ; Base of picture table
�        LDR R9,spinc
�        ADD R9,R9,#1
�        CMP R9,#9
�        �Q R9,#0
        STR R9,spinc
        LDR R0,splot2
        LDR R1,sarea2
         MOV R5,#8
*.btloop LDR R6,[R11]
4        CMP R6,#0
>        TSTNE R9,#8
H        BEQ nospin
R        ADD R6,R6,#1
\        CMP R6,#5
f        CMPNE R6,#9
p        SUBEQ R6,R6,#4
z.nospin STR R6,[R11],#4
�        LDMIA R11,{R7-R8}
�        MOV R2,#63
�        MUL R7,R2,R7
�        MUL R8,R2,R8
�        MOV R7,R7,ASR#6
�        MOV R8,R8,ASR#6
�        STMIA R11!,{R7-R8}
�        LDMIA R11,{R3-R4}
�        ADD R3,R3,R7,ASL#2
�        ADD R4,R4,R8,ASL#2
�        CMP R7,#0
�        RSBMI R7,R7,#0
�        CMP R8,#0
	        RSBMI R8,R8,#0
	        ADD R7,R7,R8
	        CMP R7,#5<<(sh-2)
	$        MVNLT R3,#128<<sh
	.        STMIA R11!,{R3-R4}
	8!        LDR R2,[R10,R6,ASL#2]
	B        MOV R3,R3,ASR#sh
	L        MOV R4,R4,ASR#sh
	V        SWI 46
	`        SUBS R12,R12,#1
	j        BPL btloop
	t#        LDMIA R13!,{R0-R12,PC}^
	~.dump2  EQUD 0
	�@.wonms1 EQUS "Well done! You have completed Car Wars!":ALIGN
	�.woncon EQUD congrats%
	�.wongam MOV R1,#140
	�        BL wait
	�        MOV R0,#112
	�        MOV R1,#1
	�        SWI "OS_Byte"
	�        MOV R0,#113
	�        MOV R1,#1
	�        SWI "OS_Byte"
	�        SWI 256+12
	�A        SWI 256+19:SWI 256:SWI 256+24:SWI 511:SWI 511:SWI 511
        MOV R10,#500

        MOV R5,#8
        MOV R6,#5
.coplot BL rnd
(        MUL R3,R0,R6
2        SUB R3,R3,#300
<        BL rnd
F        MOV R4,R0,ASL#2
P        SUB R4,R4,#64
Z        LDR R0,splot2
d        LDR R1,sarea2
n        LDR R2,woncon
x        SWI 46
�        SUBS R10,R10,#1
�        BPL coplot
�5        SWI 256+23:SWI 256+17:SWI 256+7:SWI 256+7
�H        SWI 256+8:SWI 256+0:SWI 256+16:SWI 256+0:SWI 256+0:SWI 256+0
�        SWI 256+0:SWI 256+0
�4        SWI 256+18:SWI 256+0:SWI 256+0:SWI 256+5
�,        MOV R0,#4:MOV R1,#28:MOV R2,#700
�#        SWI "OS_Plot":BL wonms2
�.        MOV R1,#36:SWI "OS_Plot":BL wonms2
�"        MOV R1,#32:MOV R2,#696
�#        SWI "OS_Plot":BL wonms2
�/        MOV R2,#704:SWI "OS_Plot":BL wonms2
�*        SWI 256+18:SWI 256+0:SWI 256+8
/        MOV R2,#700:SWI "OS_Plot":BL wonms2
5        SWI 256+23:SWI 256+17:SWI 256+7:SWI 256+7
G        SWI 256+8:SWI 256+0:SWI 256+8:SWI 256+0:SWI 256+0:SWI 256+0
"        SWI 256+0:SWI 256+0
,!        SWI 256+4:MOV R1,#200
6        BL wait
@        B lost
J.wonms2 ADR R0,wonms1
T        SWI "OS_Write0"
^         MOV R0,#4:MOV PC,R14
h
r.bacdri EQUD 148:EQUD -1
|.bacdro EQUD 0:EQUD 0
�.bacspr EQUD backsp%
�.stactp EQUD 0
�.clsbac STR R13,stactp
�        STR R0,bacdro
�        LDR R1,bacspr
�        LDR R2,[R1,#32]
�        ADD R1,R1,R2
�        MOV R2,#141
�.bacplo LDMIA R1!,{R3-R14}
�        STMIA R0!,{R3-R14}
�        LDMIA R1!,{R3-R14}
�        STMIA R0!,{R3-R14}
�        LDMIA R1!,{R3-R14}
        STMIA R0!,{R3-R14}
        LDMIA R1!,{R3-R14}
        STMIA R0!,{R3-R14}
&        LDMIA R1!,{R3-R14}
0        STMIA R0!,{R3-R14}
:        LDMIA R1!,{R3-R14}
D        STMIA R0!,{R3-R14}
N        SUBS R2,R2,#1
X        BPL bacplo
b        LDMIA R1!,{R3-R14}
l        STMIA R0!,{R3-R14}
v        LDMIA R1!,{R3-R6}
�        STMIA R0!,{R3-R6}
�        LDR R13,stactp
�        B drawb
�.begspr EQUD blevt%
�.behnds EQUD 0
�.timesp EQUD time%
�.timec  EQUD 999<<5
�.blrout LDR R2,begspr
�        LDR R0,behnds
�        CMP R0,#254
�        BGT blrot2
�        ADD R6,R0,#1
�        STR R6,behnds

        LDR R1,bacdro

        LDR R3,[R2,#32]

        LDR R4,[R2,#36]

         ADD R3,R3,R2

*        ADD R4,R4,R2

4        MOV R5,#160

>        MLA R0,R5,R6,R1

H        ADD R0,R0,#34

R        MOV R1,#22

\        CMP R6,#233

f        SUBGT R6,R6,#233

p        SUBGT R1,R1,R6

z.ybloop MOV R5,#10

�.xbloop LDMIA R0,{R6-R7}

�        LDMIA R3!,{R8-R9}

�        LDMIA R4!,{R10-R11}

�        BIC R6,R6,R10

�        �R R6,R6,R8

�        BIC R7,R7,R11

�        �R R7,R7,R9

�        STMIA R0!,{R6-R7}

�        SUBS R5,R5,#1

�        BPL xbloop

�"        ADD R0,R0,#160-(22<<2)

�        SUBS R1,R1,#1

�        BPL ybloop
.blrot2 LDR R0,splot2
        LDR R1,sarea2
        LDR R2,timesp
$        MOV R3,#824
.        MOV R4,#800
8        MOV R5,#8
B        SWI 46
L        LDR R8,timec
V        SUBS R8,R8,#1
`        BMI won
j        STR R8,timec
t        MOV R8,R8,ASR#5
~        MOV R3,#1000
�        MOV R6,#100
�        LDR R9,nums
�.divl3  MVN R11,#0
�        MOV R10,#0
�.divl4  ADD R11,R11,#1
�        ADD R10,R10,R6
�        CMP R10,R8
�        BLE divl4
�!        LDR R2,[R9,R11,ASL#2]
�        SWI 46
�        SUB R10,R10,R6
�        SUB R8,R8,R10
        ADD R3,R3,#52

        CMP R6,#100
        �Q R6,#10
        BEQ divl3
(        CMP R6,#10
2        �Q R6,#1
<        BEQ divl3
F        MOV PC,R14
P.fx     EQUD sound%
Z".sound  STMFD R13!,{R0-R3,R14}
d        LDR R0,fx
n        ADD R7,R7,R0
x        LDMFD R7,{R0-R3}
�        SWI "Sound_Control"
�"        LDMIA R13!,{R0-R3,PC}^
�".sound2 STMFD R13!,{R0-R3,R14}
�        LDR R0,fx
�        ADD R5,R5,R0
�        LDMFD R5,{R0-R3}
�        SWI "Sound_Control"
�"        LDMIA R13!,{R0-R3,PC}^
�.hipos  EQUD 0
�.acthi  EQUD 0
�=.hientr EQUS "Congratulations! Enter your name!"+�0:ALIGN
�.lost   LDR R0,splot2
�        LDR R1,sarea2
        LDR R2,gover
        MOV R3,#272
        MOV R4,#468
"        MOV R5,#8
,        SWI 46
6        MOV R1,#100
@        BL wait
J        LDR R10,palett
T        MVN R9,#3
^        BL fade
h        BL grabsc
r        LDR R1,highsc
|;        MOV R2,#10                    ; Score placement
�        LDR R3,[R1],#16
�        CMP R3,R0
�        BGE nhipos
�.hiplac LDR R3,[R1]
�        SUBS R2,R2,#1
�        BMI nhipos
�        CMP R3,R0
�        BGE nhipos
�        LDMIA R1,{R5-R8}
�        SUB R1,R1,#16
�        STMIA R1,{R5-R8}
�        ADD R1,R1,#32
�        B hiplac
.nhipos STR R2,acthi
        MOV R4,#2
        STR R4,showsc
&        CMP R2,#10
0        LDREQ R1,palett
:#        SWIEQ "Wimp_SetPalette"
D        BEQ titles
N        SUB R1,R1,#16
X        STR R0,[R1],#4
b        STR R1,hipos
l        BL blackp
v"        SWI 256+17:SWI 256+135
�J        SWI 256+12:SWI 256+17:SWI 256+2:SWI 256+31:SWI 256+2:SWI 256+2
�        ADR R0,hientr
�0        SWI "OS_Write0":SWI 256+17:SWI 256+9
�-        SWI "OS_NewLine":SWI "OS_NewLine"
�        MOV R11,#23
�        MOV R10,#9
�        LDR R9,highsc
� .p2loop SWI 256+31:SWI 256+9
�&        MOV R0,R11:SWI "OS_WriteC"
�        LDR R0,[R9],#4
�        LDR R1,wimpb2
�        MOV R2,#10
�$        SWI "OS_ConvertInteger4"
        SWI "OS_Write0"
!        SWI 256+31:SWI 256+16
&        MOV R0,R11:SWI "OS_WriteC"
         MOV R0,R9
*        SWI "OS_Write0"
4        ADD R9,R9,#12
>        SUB R11,R11,#2
H        SUBS R10,R10,#1
R        BPL p2loop
\        LDR R0,splot2
f        LDR R1,sarea2
p        LDR R2,title
z        MOV R3,#40
�        MOV R4,#40
�        MOV R5,#0
�        SWI 46
�        LDR R2,archiw
�        MOV R3,#780
�        MOV R4,#40
�        SWI 46
�        MOV R0,#21
�        MOV R1,#0
�        SWI "OS_Byte"
�        LDR R0,acthi
�        ADD R0,R0,R0
�        ADD R0,R0,#5
1        SWI 256+31:SWI 256+16:SWI "OS_WriteC"
;        SWI 288:SWI 288:SWI 288:SWI 288:SWI 288:SWI 288
;        SWI 288:SWI 288:SWI 288:SWI 288:SWI 288:SWI 288
$1        SWI 256+31:SWI 256+16:SWI "OS_WriteC"
.        MOV R0,#4
8        MOV R1,#2
B        SWI "OS_Byte"
L        MOV R9,#6
V        BL fade3
`        LDR R0,hipos
j        MOV R1,#11
t        MOV R2,#32
~        MOV R3,#255
�        SWI "OS_ReadLine"
�        MOV R2,#0
�        STRB R2,[R0,R1]
�        B titles
�.fadeb  EQUD p3%
�".fade   STMFD R13!,{R0-R4,R14}
�        LDR R0,fadeb
�        MOV R1,#30
�.fadel  LDR R2,[R10],#4
�        STR R2,[R0],#4
�        SUBS R1,R1,#1
�        BPL fadel
        MOV R4,#64

.fadel2 MOV R0,#19
        SWI "OS_Byte"
        LDR R1,fadeb
(!        SWI "Wimp_SetPalette"
2        LDR R1,fadeb
<        ADD R1,R1,#1
F        MOV R3,#23
P.fadel3 LDRB R0,[R1]
Z        ADDS R0,R0,R9
d        MOVMI R0,#0
n        CMP R0,#255
x        MOVGT R0,#255
�        STRB R0,[R1],#1
�        LDRB R0,[R1]
�        ADDS R0,R0,R9
�        MOVMI R0,#0
�        CMP R0,#255
�        MOVGT R0,#255
�        STRB R0,[R1],#1
�        LDRB R0,[R1]
�        ADDS R0,R0,R9
�        MOVMI R0,#0
�        CMP R0,#255
�        MOVGT R0,#255
�        STRB R0,[R1],#2
        SUBS R3,R3,#1
        BPL fadel3
        SUBS R4,R4,#1
"        BPL fadel2
,"        LDMIA R13!,{R0-R4,PC}^
6.nums   EQUD num%
@.levfnt EQUD level%
J.shlev  MOV R9,#4
T        BL fade2
^        LDR R0,totpl
h        CMP R0,#2
r        BEQ switch
|        LDR R0,blevel
�        CMP R0,#0
�        BEQ switch
�        LDR R0,splot2
�        LDR R1,sarea2
�        LDR R2,levfnt
�        MOV R3,#500
�        MOV R4,#540
�        MOV R5,#8
�        SWI 46
�        BL retlev
�        LDR R6,nums
�        ADD R6,R6,#4
�         LDR R2,[R6,R0,ASL#2]
        LDR R0,splot2
        MOV R3,#768
        MOV R4,#536
&        MOV R5,#8
0        SWI 46
:        LDR R2,livest
D        MOV R3,#520
N        MOV R4,#440
X        MOV R5,#8
b        SWI 46
l        LDR R6,nums
v        BL grabli
�        ADD R0,R0,#1
�         LDR R2,[R6,R0,ASL#2]
�        LDR R0,splot2
�        MOV R3,#712
�        MOV R4,#444
�        MOV R5,#8
�        SWI 46
�        MOV R1,#130
�        BL wait
�        B switch
�.livest EQUD lives%
�.block2 EQUD b
�.sarea2 EQUD sp%
.splot2 EQUD 546
A.opt1   EQUS "Select:   1. 1 player    2. 2 players"+�0:ALIGN
.opt2   EQUS �39,�32)+�0
 E.opt3   EQUS "         Difficulty Level? (0-7)         "+�0:ALIGN
*.scrm   EQUD scrme
4.archiw EQUD archw%
>.ststat EQUD stdat
H.wimpb2 EQUD w%
R.title  EQUD title%
\.gmode  EQUD gamem%
f%.gpl    EQUD gamem1%:EQUD gamem2%
p.gpl2   EQUD gamepl%
zF.keyssp EQUD kleft%:EQUD kright%:EQUD kup%:EQUD kdown%:EQUD kfire%
�.keydta EQUD asc%
�.menusp EQUD optsel%
�.showpl LDR R0,splot2
�        LDR R1,sarea2
�        ADR R2,gpl
�        LDR R3,totpl
�        SUB R3,R3,#1
�         LDR R2,[R2,R3,ASL#2]
�        MOV R3,#664
�        MOV R4,#900
�        MOV R5,#0
�        SWI 46
�        MOV PC,R14
.optpage MVN R9,#4
        LDR R10,palett
        BL fade
$        SWI 256+12
.        BL blackp
8        MOV R12,#1
B        LDR R0,splot2
L        LDR R1,sarea2
V        LDR R2,gmode
`        MOV R3,#144
j        MOV R4,#900
t        MOV R5,#0
~        SWI 46
�        BL showpl
�        LDR R2,gpl2
�        MOV R3,#844
�        SUB R4,R4,#12
�        SWI 46
�        LDR R2,menusp
�        MOV R3,#202
�        MOV R4,#53
�        SWI 46
�        MOV R6,#4
�        ADR R7,keyssp
�        MOV R3,#90
        MOV R4,#700

.knamel LDR R2,[R7],#4
        SWI 46
        SUB R4,R4,#100
(        SUBS R6,R6,#1
2        BPL knamel
<.prkeyd LDR R6,keydta
F        LDR R7,ststat
P        ADD R7,R7,#24
Z@        SWI 256+23:SWI 256+17:SWI 256+7:SWI 256+7:SWI 256+16
dF        SWI 256:SWI 256+16:SWI 256:SWI 256:SWI 256:SWI 256:SWI 256
n3        SWI 256+5:SWI 256+18:SWI 256:SWI 256+11
x        MOV R1,#0
�        LDR R10,totpl
�        SUB R10,R10,#1
�.kydisl ADD R1,R1,#400
�        MOV R2,#764
�        MOV R9,#4
�.prklop LDR R8,[R7],#4
�        RSB R8,R8,#0
�        SUB R8,R8,#17
�        MOV R8,R8,ASL#1
�        ADD R8,R8,R6
�        MOV R0,#4
�        SWI "OS_Plot"
�        SUB R2,R2,#100
        LDRB R0,[R8],#1
        SWI "OS_WriteC"
        LDRB R0,[R8]
"        CMP R0,#255
,        SWINE "OS_WriteC"
6        SUBS R9,R9,#1
@        BPL prklop
J        ADD R7,R7,#108
T        SUBS R10,R10,#1
^        BPL kydisl
h?        SWI 256+23:SWI 256+17:SWI 256+7:SWI 256+7:SWI 256+8
rE        SWI 256:SWI 256+8:SWI 256:SWI 256:SWI 256:SWI 256:SWI 256
|        SWI 256+4
�        MOV R9,#5
�!        CMP R12,#1:BLEQ fade3
�?.getak  MOV R0,#21:MOV R1,#0:MOV R2,#0:SWI 6:SWI "OS_ReadC"
�        CMP R0,#50
�        BEQ redef
�        CMP R0,#51
�        BEQ optcls
�        CMP R0,#49
�        BNE getak
�        LDR R0,totpl
�        RSB R0,R0,#3
�        STR R0,totpl
�(        SWI 256+18:SWI 256:SWI 256+7
        MOV R0,#4
        MOV R1,#800
        MOV R2,#764
&        SWI "OS_Plot"
0        MOV R0,#101
:        MOV R1,#928
D        MOV R2,#300
N        SWI "OS_Plot"
X        BL showpl
b        MOV R12,#0
l        B prkeyd
v.optcls LDR R10,palett
�        MVN R9,#4
�        BL fade
�        SWI 256+12
�        LDR R1,palett
�!        SWI "Wimp_SetPalette"
�        B titles
�.vollev EQUD 127
�.writer EQUD writer%
�.palett EQUD pal%
�.scrbla SWI "XOS_Mouse"
�        CMP R2,#7
�        BEQ starto
�        CMP R2,#0
        BNE scrbla
:        MOV R0,#113                ; Return to desktop
        MOV R1,#1
         SWI 6
*        MOV R0,#112
4        MOV R1,#1
>        SWI 6
H        MOV R0,#21
R        MOV R1,#0
\        MOV R2,#0
f        SWI 6
p        B rettw
z.specpl EQUD &234
�.getkey MVN R5,#127
�.keygl  MOV R1,R5
�        MOV R2,R5
�        MOV R0,#129
�        SWI 6
�        CMP R1,#255
�        BEQ getkey
�        ADD R5,R5,#1
�        CMN R5,#15
�        BLT keygl
�        MVN R5,#127
�.keygl2 MOV R1,R5
�        MOV R2,R5
        MOV R0,#129
        SWI 6
        CMP R1,#255
$        SWIEQ 256+7
.        �Q PC,R14
8        ADD R5,R5,#1
B        CMN R5,#15
L        MVNEQ R5,#127
V        B keygl2
`.questm EQUD questm%
j.redef  LDR R9,totpl
t        SUB R9,R9,#1
~        LDR R11,ststat
�        ADD R11,R11,#24
�H        SWI 256+23:SWI 256+17:SWI 256+7:SWI 256+7:SWI 256+16:SWI 256
�H        SWI 256+16:SWI 256:SWI 256:SWI 256:SWI 256:SWI 256:SWI 256+5
�        MOV R7,#0
�        LDR R12,totpl
�        SUB R12,R12,#1
�.keyl   ADD R7,R7,#400
�        MOV R10,#4
�        MOV R8,#700
�.kgetl  LDR R0,splot2
�        LDR R1,sarea2
�        LDR R2,questm
        MOV R3,R7

        ADD R4,R8,#4
        MOV R5,#0
        SWI 46
(        BL getkey
2        STR R5,[R11],#4
<        MOV R0,#4
F        ADD R1,R7,#128
P        MOV R2,R8
Z        SWI "OS_Plot"
d(        SWI 256+18:SWI 256:SWI 256+7
n        MOV R0,#101
x        SUB R1,R1,#128
�        ADD R2,R2,#64
�        SWI "OS_Plot"
�)        SWI 256+18:SWI 256:SWI 256+11
�        LDR R6,keydta
�        RSB R5,R5,#0
�        SUB R5,R5,#17
�        MOV R5,R5,ASL#1
�        ADD R5,R5,R6
�        LDRB R0,[R5],#1
�        SWI "OS_WriteC"
�        LDRB R0,[R5]
�        CMP R0,#255
�        SWINE "OS_WriteC"
        SUB R8,R8,#100
        SUBS R10,R10,#1
        BPL kgetl
"        ADD R11,R11,#108
,        SUBS R12,R12,#1
6        BPL keyl
@G        SWI 256+23:SWI 256+17:SWI 256+7:SWI 256+7:SWI 256+8:SWI 256
JG        SWI 256+8:SWI 256:SWI 256:SWI 256:SWI 256:SWI 256:SWI 256+4
T        B getak
^.lcomp  EQUD comp%
h.gover  EQUD gover%
r#.enleft EQUS "Bonus: "+�0:ALIGN
|.losel  LDR R0,totpl
�        CMP R0,#2
�        BEQ titles
�3        LDR R11,block2               ; Who won?
�        LDR R8,[R11,#20]
�        CMP R8,#0
�        BGE won
�        LDR R0,lives
�        SUBS R0,R0,#1
�        STR R0,lives
�        BMI lost
�        B fadeiv
�.scstr2 EQUS "Score: "+�0
�.enbot  EQUD enbo%
 .won    LDR R0,blevel
         CMP R0,#0
         BNE endolv
 &        MOV R0,#1
 0        STR R0,blevel
 :        MOV R0,#0
 D        STR R0,switon
 N        LDR R0,ststat
 X        LDR R1,block2
 b        ADD R0,R0,#128
 l        ADD R1,R1,#128
 v        MOV R2,#31
 �.brepdt LDR R3,[R0],#4
 �        STR R3,[R1],#4
 �        SUBS R2,R2,#1
 �        BPL brepdt
 �        LDR R11,block2
 �        ADD R11,R11,#128
 �        MOV R0,#1
 �        STR R0,[R11,#24]
 �        STR R0,[R11,#32]
 �        MOV R0,#0
 �        STR R0,[R11,#36]
 �        STR R0,[R11,#112]
 �        STR R0,[R11,#40]
!        MOV R0,#9
!        STR R0,[R11,#28]
!        BL retlev
!         MOV R0,R0,ASL#5
!*        ADD R0,R0,#200
!4        STR R0,[R11,#20]
!>        LDR R0,ststat
!H        LDMIA R0,{R1-R5}
!R        LDR R0,block2
!\        STMIA R0,{R1-R5}
!f        B fadetn
!p.bacare EQUD back%
!z.bacpsp EQUD backsp%
!�.endolv LDR R0,splot2
!�        LDR R1,sarea2
!�        LDR R2,lcomp
!�        MOV R3,#272
!�        MOV R4,#452
!�        MOV R5,#8
!�        SWI 46
!�,        SWI 256+31:SWI 256+15:SWI 256+20
!�        LDR R0,splot2
!�        LDR R1,sarea2
!�        LDR R2,enbot
!�        MOV R3,#432
!�        MOV R4,#340
"        MOV R5,#8
"        SWI 46
",.boaddl SWI 256+31:SWI 256+21:SWI 256+20
"$$        MOV R0,#19:SWI "OS_Byte"
".        LDR R9,nums
"8        LDR R1,sarea2
"B/        MOV R6,#100                 ; Units
"L        MOV R3,#660
"V        MOV R4,#340
"`        MOV R5,#8
"j        MOV R12,R8
"t.divl2  MVN R11,#0
"~        MOV R10,#0
"�.divlop ADD R11,R11,#1
"�        ADD R10,R10,R6
"�        CMP R10,R12
"�        BLE divlop
"�!        LDR R2,[R9,R11,ASL#2]
"�        SWI 256+24
"�(        � R0,R3,#255:SWI "OS_WriteC"
"�+        MOV R0,R3,LSR#8:SWI "OS_WriteC"
"�(        � R0,R4,#255:SWI "OS_WriteC"
"�+        MOV R0,R4,LSR#8:SWI "OS_WriteC"
"�        ADD R7,R3,#52
"�(        � R0,R7,#255:SWI "OS_WriteC"
#+        MOV R0,R7,LSR#8:SWI "OS_WriteC"
#
        ADD R7,R4,#72
#(        � R0,R7,#255:SWI "OS_WriteC"
#+        MOV R0,R7,LSR#8:SWI "OS_WriteC"
#(        LDR R0,splot2
#2        STMFD R13!,{R1-R5}
#<        LDR R1,bacare
#F        LDR R2,bacpsp
#P        MOV R3,#0
#Z        MOV R4,#0
#d        MOV R5,#0
#n        SWI 46
#x        LDMIA R13!,{R1-R5}
#�        SWI 46
#�        SUB R10,R10,R6
#�        SUB R12,R12,R10
#�        ADD R3,R3,#52
#�        CMP R6,#100
#�        �Q R6,#10
#�        BEQ divl2
#�        CMP R6,#10
#�        �Q R6,#1
#�        BEQ divl2
#�        SUB R8,R8,#3
#�        LDR R7,score
#�        ADD R7,R7,#3
$        STR R7,score
$*        SWI 256+31:SWI 256+1:SWI 256+1
$)        ADR R0,scstr2:SWI "OS_Write0"
$"        MOV R0,R7
$,        LDR R1,wimpb2
$6        MOV R2,#12
$@$        SWI "OS_ConvertInteger4"
$J        SWI "OS_Write0"
$T        CMN R8,#3
$^        BGT boaddl
$h        SWI 256+26
$r        BL retlev
$|        ADD R0,R0,#1
$�        CMP R0,#8
$�        BGE wongam
$�        BL placer
$�        MOV R1,R0,ASR#1
$�        CMP R0,R1,ASL#1
$�        MOVNE R0,#0
$�        STRNE R0,blevel
$�        MOVNE R0,#51<<5
$�        STRNE R0,timec
$�        MOVNE R0,#0
$�        STRNE R0,behnds
$�        MOV R1,#100
$�        BL wait
%.fadeiv BL invars
%.fadetn LDR R10,palett
%        MOV R9,#4
%&        BL fade
%0B        SWI 256+17:SWI 256+128:SWI 256+17:SWI 256+7:SWI 256+12
%:        LDR R0,blevel
%D        CMP R0,#0
%N        BNE switch
%X        MOV R0,#5
%b        STR R0,maxbo
%l        LDR R11,block2
%v        MOV R0,#1536<<sh
%�        STR R0,[R11,#128]
%�        STR R0,[R11,#132]
%�        B switch
%�.doturn CMP R7,#3
%�        ADDEQ R8,R8,#8
%�        CMP R7,#2
%�        SUBEQ R8,R8,#8
%�        CMP R7,#10
%�        BNE nfb
%�        ADD R8,R8,#144
%�        LDR R7,[R11,#100]
%�        SUB R7,R7,#1
%�        STR R7,[R11,#100]
&        MOV R7,#10
&.nfb    SUB R7,R7,#1
&        STR R7,sbutp
&         CMP R8,#288
&*        SUBGE R8,R8,#288
&4        CMP R8,#0
&>        ADDMI R8,R8,#288
&H        CMP R7,#8
&R        �Q R7,#0
&\        STREQ R7,sbutp
&f        BEQ fintur
&p        CMP R7,#0
&z        BNE fintur
&�        LDR R7,[R11,#92]
&�        SUB R7,R7,#1
&�        STR R7,[R11,#92]
&�        B fintur
&�.dm3dat EQUD dm3%
&�/.dm3tit EQUS "Bonusses available:"+�0:ALIGN
&�K.demo3  SWI 256+12:SWI 256+17:SWI 256+2:SWI 256+31:SWI 256+10:SWI 256+0
&�        ADR R0,dm3tit
&�        SWI "OS_Write0"
&�         SWI 256+17:SWI 256+0
&�        MOV R0,#3
&�        STR R0,showsc
&�        MOV R3,#50
'        MOV R4,#900
'        MOV R5,#0
'        LDR R6,splot2
'$        LDR R7,sarea2
'.        MOV R9,#19
'8        LDR R10,dm3dat
'B4        SWI 256+18:SWI 256+0:SWI 256+1:SWI 256+5
'L.readd3 LDR R2,[R10],#4
'V        MOV R0,R6
'`        MOV R1,R7
'j        SWI 46
't        MOV R0,#4
'~        ADD R1,R3,#70
'�        ADD R2,R4,#50
'�        SWI "OS_Plot"
'�        MOV R0,R10
'�        SWI "OS_Write0"
'�        ADD R10,R10,#16
'�        SUB R4,R4,#80
'�        CMP R4,#120
'�        ADDLT R3,R3,#640
'�        MOVLT R4,#900
'�        SUBS R9,R9,#1
'�        BPL readd3
'�        SWI 256+4
(        B textc
(
.totpl  EQUD 1
(.highsc EQUD hi%
(.showsc EQUD 1
((.showti EQUD 0
(2(.highti EQUS "High Scores:"+�0:ALIGN
(<K.demo2  SWI 256+12:SWI 256+17:SWI 256+2:SWI 256+31:SWI 256+12:SWI 256+2
(F        ADR R0,highti
(P0        SWI "OS_Write0":SWI 256+17:SWI 256+0
(Z-        SWI "OS_NewLine":SWI "OS_NewLine"
(d        MOV R11,#23
(n        MOV R10,#9
(x        LDR R9,highsc
(� .prloop SWI 256+31:SWI 256+9
(�&        MOV R0,R11:SWI "OS_WriteC"
(�        LDR R0,[R9],#4
(�        LDR R1,wimpb2
(�        MOV R2,#10
(�$        SWI "OS_ConvertInteger4"
(�        SWI "OS_Write0"
(�!        SWI 256+31:SWI 256+16
(�&        MOV R0,R11:SWI "OS_WriteC"
(�        MOV R0,R9
(�        SWI "OS_Write0"
(�        ADD R9,R9,#12
(�        SUB R11,R11,#2
)        SUBS R10,R10,#1
)        BPL prloop
)        LDR R0,splot2
)"        LDR R1,sarea2
),        LDR R2,title
)6        MOV R3,#40
)@        MOV R4,#40
)J        MOV R5,#0
)T        SWI 46
)^        LDR R2,archiw
)h        MOV R3,#780
)r        MOV R4,#40
)|        SWI 46
)�        B textc
)�.invars SWI "XOS_Mouse"
)�         CMP R2,#0:BNE invars
)�        STMFD R13!,{R14}
)�        BL placsw
)�        LDR R0,ststat
)�        LDR R1,block2
)�        MOV R2,#300
)�.config LDR R3,[R0],#4
)�        STR R3,[R1],#4
)�        SUBS R2,R2,#4
)�        BPL config
)�        LDR R3,bartab
*        LDR R4,barr
*        LDR R5,oabar
*        MOV R7,#2
*&.barrpl BL rnd
*0        � R0,R0,#15
*:        MOV R0,R0,ASL#5
*D        ADD R0,R0,#384
*N        MOV R0,R0,ASL#sh
*X        SUB R0,R0,#32*j
*b        STR R0,[R3],#4
*l.ysc    BL rnd
*v        � R0,R0,#15
*�        CMP R0,#10
*�        BGT ysc
*�        MOV R0,R0,ASL#5
*�        ADD R0,R0,#384
*�        CMP R0,#640
*�        BGT notinw
*�        CMP R0,#468
*�        BGT ysc
*�.notinw MOV R0,R0,ASL#sh
*�        SUB R0,R0,#32*j
*�        STR R0,[R3],#4
*�        BL rnd
*�        MOV R0,R0,ASR#6
+         LDR R0,[R5,R0,ASL#2]
+        STR R0,[R3],#4
+        BL rnd
+         BL rnd
+*        SUBS R4,R4,#1
+4        BPL barrpl
+>        LDR R0,bblock
+H        MOV R1,#5
+R        MOV R2,#2560
+\.bocler STR R2,[R0],#16
+f        SUBS R1,R1,#1
+p        BPL bocler
+z        MOV R0,#0
+�        STR R0,bonscr
+�        MOV R1,#2
+�        STR R1,maxbo
+�        LDR R0,exblo
+�        LDR R1,exmax
+�.excler STR R2,[R0],#12
+�        SUBS R1,R1,#1
+�        BPL excler
+�        MOV R8,#1
+�        MOV R0,#0
+�        STR R0,exonsc
+�        STR R0,switon
+�        STR R0,windx
,        STR R0,windy
,        STR R0,onscr
,        LDR R0,maxbu
,$        LDR R1,a
,.        MOV R2,#2560
,8.fillbb STR R2,[R1],#40
,B        SUBS R0,R0,#1
,L        BPL fillbb
,V        LDR R0,totpl
,`        CMP R0,#2
,j        BEQ nisp
,t        LDR R11,block2
,~        ADD R11,R11,#128
,�        STR R0,[R11,#24]
,�        STR R0,[R11,#32]
,�        MOV R0,#0
,�        STR R0,[R11,#36]
,�        STR R0,[R11,#112]
,�        STR R0,[R11,#40]
,�        MOV R0,#9
,�        STR R0,[R11,#28]
,�        BL retlev
,�        MOV R0,R0,ASL#5
,�        ADD R0,R0,#200
,�        STR R0,[R11,#20]
-.nisp   LDMIA R13!,{PC}^
-
.starto MOV R0,#112
-        MOV R1,#1
-        SWI "OS_Byte"
-(        MOV R0,#113
-2        MOV R1,#1
-<        SWI "OS_Byte"
-F        SWI 256+12
-P        LDR R1,palett
-Z!        SWI "Wimp_SetPalette"
-d.start  MOV R0,R0
-n        MOV R0,R0
-x        MOV R0,#1
-�        STR R0,showsc
-�.titles BL invars
-�        SWI 256+17
-�        SWI 256+135
-�        SWI 256+17
-�        SWI 256+0
-�        LDR R1,palett
-�!        SWI "Wimp_SetPalette"
-�        SWI 66
-�        ADD R0,R0,#800
-�        STR R0,showti
-�        LDR R0,showsc
-�        CMP R0,#1
.        BEQ demo1
.        CMP R0,#2
.        BEQ demo2
."        B demo3
.,5.volstr EQUS �31+�12+�26+"Volume Level:"+�0:ALIGN
.6.titlsc EQUD 153:EQUD 153
.@.xdiv   EQUD 1
.J.ydiv   EQUD 1
.T,.opt1s  EQUD opt1%:EQUD opt2%:EQUD opt3%
.^ .demo1  SWI 256+12:MOV R0,#1
.h        STR R0,showsc
.r        MOV R8,#1
.|.rep    LDR R0,specpl
.�        LDR R1,sparea
.�        LDR R2,title
.�        MOV R3,#80
.�        ADD R3,R3,R8,ASL#1
.�        MOV R4,#44
.�        ADD R4,R4,R8,ASL#2
.�        MOV R5,#0
.�        ADR R6,titlsc
.�        MVN R7,#0
.�        STR R8,xdiv
.�        STR R8,ydiv
.�        SWI 46
.�        ADD R8,R8,#2
/        CMP R8,#153
/        BNE rep
/        LDR R0,spplot
/&        LDR R1,sparea
/0        LDR R2,writer
/:        MOV R3,#580
/D        MOV R4,#50
/N        MOV R5,#0
/X        SWI 46
/b        LDR R2,archiw
/l        MOV R3,#100
/v        MOV R4,#20
/�        SWI 46
/�        LDR R2,opt1s
/�        MOV R3,#392
/�        MOV R4,#472
/�        SWI 46
/�        LDR R2,opt1s+4
/�        MOV R4,#388
/�        SWI 46
/�        LDR R2,opt1s+8
/�        MOV R4,#272
/�        SWI 46
/�        ADR R0,volstr
/�        SWI "OS_Write0"
0        LDR R0,vollev
0        LDR R1,energy
0        MOV R2,#12
0 %        SWI "OS_ConvertCardinal1"
0*G        SWI 256+31:SWI 256+25:SWI 256+26:SWI "OS_Write0":SWI 256+32
04.textc  MOV R0,#129
0>        MVN R1,#48
0H        MVN R2,#48
0R        SWI "OS_Byte"
0\        CMP R1,#255
0f        BEQ firepr
0p        MOV R0,#129
0z        MVN R1,#49
0�        MVN R2,#49
0�        SWI "OS_Byte"
0�        CMP R1,#255
0�        BEQ optpage
0�        MOV R0,#129
0�        MVN R1,#17
0�        MVN R2,#17
0�        SWI "OS_Byte"
0�        CMP R1,#255
0�        ADREQ R14,start
0�        BEQ scrbla
0�        SWI 66
0�        LDR R1,showti
1        CMP R0,R1
1        BLT samep
1        SWI 66
1$        ADD R0,R0,#800
1.        STR R0,showti
18        LDR R0,showsc
1B        ADD R0,R0,#1
1L        CMP R0,#4
1V        �Q R0,#1
1`        STR R0,showsc
1j        CMP R0,#1
1t        BEQ demo1
1~        CMP R0,#2
1�        BEQ demo2
1�        B demo3
1�.samep  MOV R0,#129
1�        MVN R1,#113
1�        MVN R2,#113
1�        SWI 6
1�        CMP R1,#255
1�        ADREQ R14,start
1�        BEQ scrbla
1�        LDR R9,vollev
1�        MOV R0,#129
1�        MVN R1,#57
2        MVN R2,#57
2
        SWI 6
2        CMP R1,#255
2        ADDEQ R9,R9,#1
2(        MOV R0,#129
22        MVN R1,#41
2<        MVN R2,#41
2F        SWI 6
2P        CMP R1,#255
2Z        SUBEQ R9,R9,#1
2d        CMP R9,#0
2n        �Q R9,#1
2x        CMP R9,#128
2�        �Q R9,#127
2�        LDR R8,vollev
2�        STR R9,vollev
2�        CMP R8,R9
2�        BEQ textc
2�        MOV R0,R9
2�        SWI "Sound_Volume"
2�        LDR R0,vollev
2�        LDR R1,energy
2�        MOV R2,#12
2�%        SWI "OS_ConvertCardinal1"
2�G        SWI 256+31:SWI 256+25:SWI 256+26:SWI "OS_Write0":SWI 256+32
2�        SWI 66
3        ADD R0,R0,#1000
3        STR R0,showti
3        LDR R0,showsc
3"        CMP R0,#1
3,        BEQ textc
36        B demo1
3@.firepr LDR R10,palett
3J        MOV R9,#4
3T        BL fade
3^        MOV R9,#32
3hB        SWI 256+17:SWI 256+128:SWI 256+17:SWI 256+7:SWI 256+12
3r        BL invars
3|        LDR R1,totpl
3�        CMP R1,#1
3�        BNE switch
3�        STR R1,blevel
3�        BL retlev
3�        MOV R0,R0,ASL#5
3�        ADD R0,R0,#200
3�        LDR R11,block
3�         STR R0,[R11,#20+128]
3�3        MOV R0,#2                       ; Lives
3�        STR R0,lives
3�        MOV R0,#0
3�        STR R0,score
3�        MOV R0,#0
4        BL placer
4/.nodams SWI "OS_Mouse":CMP R2,#0:BNE nodams
4        B switch
4&.screen EQUD 1
40.blevel EQUD 1
4:.switon EQUD 0
4D.thitl  EQUD 0
4N.hitlas EQUD 0:EQUD 0
4X.placsw ADR R0,scrsw1
4b        ADR R1,scrsw
4l%        SWI "OS_ReadVduVariables"
4v        MOV PC,R14
4�.scrsw1 EQUD 148:EQUD -1
4�.scrsw  EQUD 0:EQUD 0
4�.switch SWI "XOS_Mouse"
4�        CMP R2,#0
4�        BLNE scrbla
4�        MOV R0,#19
4�        SWI "OS_Byte"
4�        MOV R0,#112
4�        LDR R1,screen
4�        SWI "OS_Byte"
4�        LDR R0,switon
4�        ADD R0,R0,#1
4�        STR R0,switon
5        CMP R0,#3
5        BEQ shlev
5        LDR R1,screen
5         RSB R1,R1,#3
5*        STR R1,screen
54        MOV R0,#113
5>        SWI "OS_Byte"
5H        ADR R0,scrsw1
5R        ADR R1,scrsw
5\%        SWI "OS_ReadVduVariables"
5f        LDR R0,scrsw
5p        B clsbac
5z.drawb  LDR R11,bartab
5�        LDR R8,barr
5�.barloo LDMIA R11!,{R3-R4}
5�        LDR R2,[R11],#4
5�        CMP R3,#0
5�        BLT destbr
5�        LDR R0,scrsw
5�        MOV R3,R3,ASR#sh
5�        MOV R4,R4,ASR#sh
5�        SUB R3,R3,#64
5�        LDR R1,[R2,#32]
5�        ADD R1,R1,R2
5�        RSB R4,R4,#1024
5�        MOV R4,R4,ASR#2
6        MOV R5,#160
6        MLA R0,R4,R5,R0
6        ADD R0,R0,R3,ASR#3
6$        MOV R5,#15
6..ybarlp LDMIA R1!,{R3-R4}
68        STMIA R0,{R3-R4}
6B        ADD R0,R0,#160
6L        SUBS R5,R5,#1
6V        BPL ybarlp
6`.destbr SUBS R8,R8,#1
6j        BPL barloo
6t.moveit LDR R11,block
6~        LDR R0,blevel
6�.cars   STR R0,left
6�        LDR R12,block
6�        CMP R11,R12
6�        ADR R12,hitlas
6�        ADDNE R12,R12,#4
6�        STR R12,thitl
6�        LDR R12,[R12]
6�        LDR R2,[R11,#20]
6�        STR R2,olden
6�        MOV R2,#0
6�        LDR R5,[R11,#8]
6�        LDR R6,[R11,#12]
7        LDR R3,windx
7
        ADD R5,R5,R3
7        LDR R4,windy
7        ADD R6,R6,R4
7(        LDMIA R11,{R3-R4}
72        ADD R3,R3,R5
7<        CMP R3,#64*j
7F        MOVLT R3,#64*j
7P        RSBLT R5,R5,#0
7Z        MOVLT R2,#1
7d        LDR R7,right
7n        CMP R3,R7
7x        MOVGT R3,R7
7�        RSBGT R5,R5,#0
7�        MOVGT R2,#1
7�
7�+        STMFD R13!,{R0-R1,R3-R4,R7-R10}
7�        ADD R3,R3,#72*j
7�        ADD R4,R4,#72*j
7�        LDR R10,bartab
7�        LDR R8,barr
7�-.barlp1 LDMIA R10!,{R0-R1}:ADD R10,R10,#4
7�        CMP R0,#0
7�        BLT nocra1
7�        SUBS R0,R3,R0
7�        RSBMI R0,R0,#0
8        CMP R0,#68*j
8        BLT cra1
8.nocra1 SUBS R8,R8,#1
8"        BPL barlp1
8,+        LDMIA R13!,{R0-R1,R3-R4,R7-R10}
86        B ycolde
8@.cra1   SUBS R1,R4,R1
8J        RSBMI R1,R1,#0
8T        CMP R1,#64*j
8^        BGT nocra1
8h        RSBS R5,R5,#0
8r        CMP R5,#0
8|        ADD R5,R5,#1<<sh
8�        SUBMI R5,R5,#2<<sh
8�        MOV R2,#1
8�+        LDMIA R13!,{R0-R1,R3-R4,R7-R10}
8�        LDMIA R11,{R3-R4}
8�        B newbr
8�
8�.ycolde ADD R4,R4,R6
8�        CMP R4,#200*j
8�        MOVLT R4,#200*j
8�        RSBLT R6,R6,#0
8�        MOVLT R2,#1
8�        LDR R7,top
8�        CMP R4,R7
9        MOVGT R4,R7
9        RSBGT R6,R6,#0
9        MOVGT R2,#1
9&
90+        STMFD R13!,{R0-R1,R3-R4,R7-R10}
9:        ADD R3,R3,#72*j
9D        ADD R4,R4,#72*j
9N        LDR R10,bartab
9X        LDR R8,barr
9b-.barlp2 LDMIA R10!,{R0-R1}:ADD R10,R10,#4
9l        CMP R0,#0
9v        BLT nocra2
9�        SUBS R0,R3,R0
9�        RSBMI R0,R0,#0
9�        CMP R0,#64*j
9�        BLT cra2
9�.nocra2 SUBS R8,R8,#1
9�        BPL barlp2
9�+        LDMIA R13!,{R0-R1,R3-R4,R7-R10}
9�        B newbr
9�.cra2   SUBS R1,R4,R1
9�        RSBMI R1,R1,#0
9�        CMP R1,#64*j
9�        BGT nocra2
9�        RSBS R6,R6,#0
:        MOV R2,#1
:+        LDMIA R13!,{R0-R1,R3-R4,R7-R10}
:        LDMIA R11,{R3-R4}
: 
:* .newbr  CMP R2,#1:BNE nowalc
:4!        CMP R12,#1:BEQ nowald
:>        MOV R7,#0
:H        BL sound
:R        LDR R7,[R11,#20]
:\        SUB R7,R7,#1
:f        STR R7,[R11,#20]
:p        MOV R12,#1
:z        LDR R7,thitl
:�        STR R12,[R7]
:�        B nowald
:�.nowalc LDR R12,thitl
:�        MOV R7,#0
:�        STR R7,[R12]
:�        MOV R12,#1
:�.nowald LDR R2,block
:�.hitcar CMP R2,R11
:�        BEQ self
:�        LDR R14,[R2]
:�        SUBS R14,R14,R3
:�        RSBMI R14,R14,#0
:�        CMP R14,#78*j
;        BGT self
;        LDR R14,[R2,#4]
;        SUBS R14,R14,R4
;$        RSBMI R14,R14,#0
;.        CMP R14,#78*j
;8        BGT self
;B        MVN R5,R5
;L        MVN R6,R6
;V        ADD R3,R3,R5
;`        ADD R4,R4,R6
;j        LDR R1,[R2,#8]
;t        LDR R14,[R2,#12]
;~        SUB R1,R1,R5,ASR#1
;�         SUB R14,R14,R6,ASR#1
;�        STR R1,[R2,#8]
;�        STR R14,[R2,#12]
;�        LDR R1,[R11,#20]
;�        SUB R1,R1,#2
;�        STR R1,[R11,#20]
;�.norefl MOV R1,#2
;�        STR R1,[R11,#116]
;�        MOV R1,R5
;�        MOV R5,#80
;�        BL sound2
;�        MOV R5,R1
<.self   ADD R2,R2,#128
<
        SUBS R12,R12,#1
<        BPL hitcar
<        STR R3,[R11]
<(        STR R4,[R11,#4]
<2        MOV R8,#62
<<        MUL R5,R8,R5
<F        MUL R6,R8,R6
<P        MOV R5,R5,ASR #6
<Z        MOV R6,R6,ASR #6
<d        CMN R5,#31
<n        �Q R5,#0
<x        CMN R6,#31
<�        �Q R6,#0
<�        LDR R14,[R11,#16]
<�        LDR R7,[R11,#80]
<�        LDR R12,[R11,#20]
<�        CMP R12,#1024
<�        MOVLO R12,#129
<�        MOVHI R12,#118
<�        MOV R0,R12
<�        LDR R1,[R11,#24]
<�        CMP R1,#1
<�A        BEQ compd                  ; Computer controlled car.
<�        MOV R2,R1
<�        SWI 6
=        CMP R1,#255
=        ADDEQ R14,R14,R7
=        MOV R0,R12
="        LDR R1,[R11,#28]
=,        MOV R2,R1
=6        SWI 6
=@        CMP R1,#255
=J        SUBEQ R14,R14,R7
=T        CMP R14,#288
=^        SUBGE R14,R14,#288
=h        CMP R14,#0
=r        ADDLT R14,R14,#288
=|        STR R14,[R11,#16]
=�        MOV R14,R14,ASR#3
=�        MOV R8,R14,ASL#2
=�        LDR R7,[R11,#48]
=�        LDR R14,[R7,R8]
=�        STR R14,rft
=�        LDR R7,table
=�        ADD R8,R7,R8,ASL#1
=�        LDMIA R8,{R9-R10}
=�        MOV R0,R12
=�        LDR R1,[R11,#32]
=�        MOV R2,R1
=�        SWI 6
=�        CMP R1,#255
>        BNE noacc
>        ADD R5,R5,R9
>        ADD R6,R6,R10
>&        LDR R1,[R11,#56]
>0        SUBS R1,R1,#1
>:        STRPL R1,[R11,#56]
>D        ADDPL R5,R5,R9
>N        ADDPL R6,R6,R10
>X.noacc  STR R2,[R11,#84]
>b        MOV R0,R12
>l        LDR R1,[R11,#36]
>v        MOV R2,R1
>�        SWI 6
>�        CMP R1,#255
>�        �Q R1,#30
>�        MULEQ R5,R1,R5
>�        MULEQ R6,R1,R6
>�        �Q R5,R5,ASR#5
>�        �Q R6,R6,ASR#5
>�        MOV R0,R12
>�        LDR R1,[R11,#40]
>�        MOV R2,R1
>�        SWI 6
>�        CMP R1,#255
>�        MOVNE R1,#0
?        STRNE R1,[R11,#44]
?        LDREQ R1,[R11,#44]
?        CMPEQ R1,#0
?         BEQ pfire
?*.bfire  STR R5,[R11,#8]
?4        STR R6,[R11,#12]
?>.plot   LDR R0,spplot
?H        LDR R1,sparea
?R        LDR R2,[R11,#72]
?\        CMP R2,#1
?f        BLT noarm
?p        SUB R2,R2,#1
?z        STR R2,[R11,#72]
?�        LDR R2,olden
?�        STR R2,[R11,#20]
?�.noarm  LDR R2,rft
?�        MOV R3,R3,ASR#sh
?�        MOV R4,R4,ASR#sh
?�        MOV R5,#8
?�        MOV R6,R3
?�        MOV R7,R4
?�        SWI 46
?�        LDR R2,[R11,#96]
?�        CMP R2,#0
?�        BNE spth
?�.endspt LDR R2,[R11,#76]
@        CMP R2,#0
@        BEQ noshil
@        SUB R2,R2,#1
@$        STR R2,[R11,#76]
@.        SUB R3,R3,#12
@8        SUB R4,R4,#8
@B        LDR R2,shield
@L        SWI 46
@V.noshil LDR R2,[R11,#20]
@`        CMP R2,#0
@j        BPL bodraw
@t        BL rnd
@~        MOV R8,R0
@�.explan LDR R5,[R11,#64]
@�        ADD R5,R5,#4
@�        CMP R5,#64
@�        �Q R5,#0
@�        STR R5,[R11,#64]
@�        LDR R2,exspr
@�        LDR R2,[R2,R5]
@�        LDR R0,spplot
@�        LDR R1,sparea
@�        MOV R5,#8
@�        ADD R3,R3,#8
@�        ADD R4,R4,#8
A        SWI 46
A
        CMP R8,#4
A        MOVLT R5,#112
A        BLLT sound2
A(        LDR R5,[R11,#68]
A2        SUBS R5,R5,#1
A<        STR R5,[R11,#68]
AF        BMI endgam
AP        LDR R0,bitflg
AZ        SUBS R0,R0,#1
Ad        LDRMI R9,left
An        MOVMI R0,#100
Ax        STR R0,bitflg
A�        BLMI crbits
A�        ADR R14,bodraw
A�        B carex
A�.bitflg EQUD 0
A�.bodraw LDR R10,bonscr
A�        CMP R10,#0
A�        BEQ noexbo
A�        LDR R10,maxbo
A�        LDR R9,bblock
A�        LDR R8,left
A�.boloop LDR R3,[R9]
A�        CMP R3,#2560
A�        BEQ endbo
B        BL rnd
B        CMP R0,#64
B        BGT novani
B"        BL rnd
B,        CMP R0,#0
B6        BEQ rembo
B@.novani LDR R4,[R9,#4]
BJ        LDR R2,[R9,#8]
BT        CMP R8,#0
B^        BEQ bonpl
Bh.bonret SUBS R5,R3,R6
Br        RSBMI R5,R5,#0
B|        CMP R5,#68
B�        BLT posbo
B�.endbo  ADD R9,R9,#16
B�        SUBS R10,R10,#1
B�        BPL boloop
B�.noexbo LDR R6,[R11,#20]
B�        CMP R6,#1024
B�        BHI nextpl
B�        LDR R0,left
B�        RSB R0,R0,#1
B�        MOV R7,#128
B�        ADD R7,R7,R0,ASL#9
B�        SWI 256+24
B�        � R0,R7,#255
C        SWI "OS_WriteC"
C        MOV R0,R7,LSR#8
C        SWI "OS_WriteC"
C&!        SWI 256+228:SWI 256+3
C0        ADD R8,R7,R6,ASL#1
C:        � R0,R8,#255
CD        SWI "OS_WriteC"
CN        MOV R0,R8,LSR#8
CX        SWI "OS_WriteC"
Cb!        SWI 256+255:SWI 256+3
Cl        LDR R0,spplot
Cv        LDR R1,sparea
C�        LDR R2,enerbr
C�        MOV R3,R7
C�        MOV R4,#996
C�        MOV R5,#0
C�        SWI 46
C�        SWI 256+26
C�.nextpl LDR R0,left
C�        ADD R11,R11,#128
C�        SUBS R0,R0,#1
C�        BPL cars
C�        B bullet
C�.enerbr EQUD enbar%
C�.bullet LDR R0,onscr
D        CMP R0,#0
D        BEQ escape
D        LDR R11,a
D         LDR R0,maxbu
D*.bloop  STR R0,left
D4        LDR R1,[R11]
D>        CMP R1,#2560
DH        BNE actual
DR.nextb  ADD R11,R11,#40
D\        SUBS R0,R0,#1
Df        BPL bloop
Dp        B escape
Dz.lives  EQUD 0
D�.slowd  MOV R10,#14
D�         MOV R9,R5:MOV R14,R6
D�        MUL R9,R10,R9
D�        MUL R14,R10,R14
D�        MOV R9,R9,ASR#4
D�        MOV R14,R14,ASR#4
D�        STR R9,[R11,#28]
D�        STR R14,[R11,#32]
D�        CMP R9,#0
D�        RSBMI R9,R9,#0
D�        CMP R14,#0
D�        RSBMI R14,R14,#0
D�        CMP R9,#1<<(sh-3)
E         CMPLT R14,#1<<(sh-3)
E        BGE missr
E        MOV R5,#10
E$        MOV R3,R3,ASR#sh
E.        MOV R4,R4,ASR#sh
E8        BL addex
EB        B offscr
EL.actual LDMIA R11,{R3-R4}
EV        LDR R5,[R11,#28]
E`        LDR R6,[R11,#32]
Ej        LDR R14,[R11,#36]
Et        CMP R14,#6
E~        BEQ accel
E�        CMP R14,#8
E�        BEQ slowd
E�.missr  ADD R3,R3,R5
E�        CMP R3,#64*j
E�        BLT offle
E�        CMP R3,#1216*j
E�        BGT offle
E�.bri    ADD R4,R4,R6
E�        CMP R4,#200*j
E�        BLT offbo
E�        CMP R4,#856*j
E�        BGT offbo
F.bto    STMIA R11,{R3-R4}
F
7        MOV R10,#pl           ; Collision detection
F        LDR R9,block
F.cloop  LDR R5,[R9]
F(        ADD R5,R5,#48*j
F2        SUBS R5,R5,R3
F<        RSBMI R5,R5,#0
FF        CMP R5,#48*j
FP        BLT hit
FZ.miss   ADD R9,R9,#128
Fd        SUBS R10,R10,#1
Fn        BPL cloop
FxA        LDR R10,barr           ; Collision detection; Objects
F�        LDR R9,bartab
F�.bulbar LDR R5,[R9]
F�        SUB R5,R5,#44*j
F�        SUBS R5,R5,R3
F�        RSBMI R5,R5,#0
F�        CMP R5,#36*j
F�        BLT hitbar
F�.misbar ADD R9,R9,#12
F�        SUBS R10,R10,#1
F�        BPL bulbar
F�        LDR R0,spplot
F�        LDR R1,sparea
F�        LDR R2,[R11,#8]
G        MOV R3,R3,ASR#sh
G        MOV R4,R4,ASR#sh
G        MOV R5,#0
G"        SWI 46
G,        LDR R0,left
G6        B nextb
G@.offscr MOV R0,#2560
GJ        STR R0,[R11]
GT        LDR R1,onscr
G^        SUB R1,R1,#1
Gh        STR R1,onscr
Gr        LDR R0,left
G|        B nextb
G�.hit    LDR R5,[R9,#4]
G�        ADD R5,R5,#32*j
G�        SUBS R5,R5,R4
G�        RSBMI R5,R5,#0
G�        CMP R5,#38*j
G�        BGT miss
G�        MOV R7,#96
G�        BL sound
G�        LDR R7,[R9,#8]
G�        LDR R8,[R9,#12]
G�        LDR R5,[R11,#28]
G�        LDR R6,[R11,#32]
G�        ADD R7,R7,R5,ASR#2
H        ADD R8,R8,R6,ASR#2
H        STR R7,[R9,#8]
H        STR R8,[R9,#12]
H&        LDR R7,[R9,#20]
H0        LDR R8,[R11,#36]
H:        LDR R5,[R9,#76]
HD        CMP R5,#0
HN        BLE dontb
HX        LDR R5,[R11,#28]
Hb        RSB R5,R5,#0
Hl        STR R5,[R11,#28]
Hv        LDR R5,[R11,#32]
H�        RSB R5,R5,#0
H�        STR R5,[R11,#32]
H�        B miss
H�.grabsc LDR R0,score
H�        MOV PC,R14
H�.grabli LDR R0,lives
H�        MOV PC,R14
H�.score  EQUD 0
H�.dontb  LDR R5,damage
H�         LDR R5,[R5,R8,ASL#3]
H�        SUB R7,R7,R5
H�        STR R7,[R9,#20]
H�        LDR R7,block
I        CMP R7,R9
I        BEQ noes
I        LDR R7,score
I         ADD R7,R5,R7
I*        STR R7,score
I4.noes   MOV R3,R3,ASR#sh
I>        MOV R4,R4,ASR#sh
IH        CMP R8,#6
IR        CMPNE R8,#8
I\        �Q R5,#10
If        BLEQ addex
Ip        CMP R8,#1
Iz        BNE offscr
I�        LDR R7,[R9,#16]
I�        ADD R7,R7,#16
I�        CMP R7,#288
I�        SUBGE R7,R7,#288
I�        STR R7,[R9,#16]
I�        B offscr
I�.pfire  MOV R8,#0
I�        LDR R7,[R11,#100]
I�        CMP R7,#0
I�        MOVGT R8,#10
I�        LDR R7,[R11,#92]
I�        CMP R7,#0
I�        MOVGT R8,#3
J        STR R8,sbutp
J        MOV R7,#1
J        STR R7,[R11,#44]
J$.preptf LDR R7,onscr
J.        LDR R8,maxbu
J8        CMP R7,R8
JB        BEQ bfire
JL        ADD R7,R7,#1
JV        STR R7,onscr
J`        LDR R10,a
Jj.finds  LDR R8,[R10]
Jt        CMP R8,#2560
J~        BEQ founds
J�        ADD R10,R10,#40
J�        B finds
J�.maxbo  EQUD 2
J�.bonscr EQUD 0
J�.sbutp  EQUD 0
J�.founds LDR R7,[R11,#60]
J�        SUBS R7,R7,#1
J�        STRPL R7,[R11,#60]
J�        MOVPL R7,#0
J�        STRPL R7,[R11,#44]
J�        ADD R8,R3,#34*j
J�        ADD R9,R4,#34*j
K        STR R8,[R10]
K
        STR R9,[R10,#4]
K        LDR R8,[R11,#88]
K        CMP R8,#0
K(        BEQ ammol
K2        LDR R7,[R11,#52]
K<        SUBS R7,R7,#1
KF        STR R7,[R11,#52]
KP        �Q R8,#0
KZ        STREQ R8,[R11,#88]
Kd.ammol  STR R8,[R10,#36]
Kn        LDR R7,damage
Kx        ADD R7,R7,#4
K�         LDR R7,[R7,R8,ASL#3]
K�        BL sound
K�        LDR R7,bspr
K�         LDR R8,[R7,R8,ASL#2]
K�        STR R8,[R10,#8]
K�        LDR R8,[R11,#16]
K�        LDR R7,sbutp
K�        CMP R7,#0
K�        BNE doturn
K�.fintur MOV R8,R8,ASR#3
K�        MOV R8,R8,ASL#3
K�        LDR R7,table
K�        ADD R8,R8,R7
L        LDMIA R8,{R7,R9}
L        MOV R7,R7,ASL#4
L        MOV R9,R9,ASL#4
L"        LDR R8,[R10]
L,        ADD R8,R8,R7,ASL#2
L6        STR R8,[R10]
L@        LDR R8,[R10,#4]
LJ        ADD R8,R8,R9,ASL#2
LT        STR R8,[R10,#4]
L^        LDR R8,[R11,#88]
Lh        CMP R8,#2
Lr        CMPNE R8,#5
L|        CMPNE R8,#8
L�        �Q R7,R7,ASL#1
L�        �Q R9,R9,ASL#1
L�        CMP R8,#3
L�        CMPNE R8,#6
L�        �Q R7,R7,ASR#1
L�        �Q R9,R9,ASR#1
L�        STR R7,[R10,#28]
L�        STR R9,[R10,#32]
L�        LDR R7,sbutp
L�        CMP R7,#0
L�        BNE preptf
L�        B bfire
L�.oabar  EQUD oa%
M.bartab EQUD sob%
M.barr   EQUD 4
M.bblock EQUD bo%
M&.escape LDR R0,totpl
M0        CMP R0,#1
M:        BNE twopl
MDG        SWI 256+31:SWI 256+1:SWI 256+1:ADR R0,scstr:SWI "OS_Write0"
MN        LDR R1,wimpb
MX        LDR R0,score
Mb        MOV R2,#5
Ml$        SWI "OS_ConvertInteger4"
Mv        SWI "OS_Write0"
M�        LDR R0,blevel
M�        CMP R0,#0
M�        BNE twopl
M�        BL blrout
M�        BL rnd
M�        CMP R0,#2
M�        BLE winst
M�.twopl  BL rnd
M�        CMP R0,#4
M�        BLT exbo
M�        BL rnd
M�        CMP R0,#0
M�        BEQ winst
N.nowst  LDR R0,exonsc
N        CMP R0,#0
N        BNE exanim
N .getesc B switch
N*.scstr  EQUS "Score: "+�0
N4.winst  BL rnd
N>        CMP R0,#20
NH        BGT nowst
NR        MOV R0,#0
N\        STR R0,windx
Nf        STR R0,windy
Np        B nowst
Nz.hitbar LDR R5,[R9,#4]
N�        SUB R5,R5,#44*j
N�        SUBS R5,R5,R4
N�        RSBMI R5,R5,#0
N�        CMP R5,#56*j
N�        BGT misbar
N�        LDR R5,[R11,#36]
N�        CMP R5,#6
N�        BNE barst
N�        STMFD R13!,{R3-R5}
N�        LDMIA R9,{R3-R4}
N�        MOV R3,R3,ASR#sh
N�        MOV R4,R4,ASR#sh
N�        SUB R3,R3,#32
O        SUB R4,R4,#32
O        MOV R5,#80
O        BL addex
O$        MVN R5,#0
O.        STR R5,[R9]
O8        LDMIA R13!,{R3-R5}
OB.barst  MOV R5,#96
OL        CMP R14,#5
OV        BL sound2
O`        BEQ offob
Oj        B offscr
Ot.spinne EQUD spinner%
O~.olden  EQUD 0
O�.table  EQUD ta%+280
O�.rndst  EQUD �(1000000000)
O�.onscr  EQUD 0
O�.maxbu  EQUD max%
O�.sparea EQUD sp%
O�.block  EQUD b
O�.rft    EQUD 0
O�.shield EQUD shield%
O�.spplot EQUD 546
O�.top    EQUD 800*j
O�.right  EQUD 1128*j
O�.left   EQUD 0
P.left2  EQUD 0
P
.bspr   EQUD bbb%
P.damage EQUD dam%
P.a      EQUD bu%
P(.windx  EQUD 0
P2.windy  EQUD 0
P<.store  EQUD 0
PF.stor2  EQUD 0
PP.energy EQUD spare%
PZ.exspr  EQUD expl%
Pd.bospr  EQUD bonus%
Pn.exblo  EQUD exblock%
Px.exmax  EQUD exmax%
P�.exonsc EQUD 0
P�.wimpb  EQUD w%
P�.rnd    SWI 66
P�        LDR R1,rndst
P�        ADD R0,R0,R1,ROR R1
P�        STR R0,rndst
P�        � R0,R0,#255
P�        MOV PC,R14
P�.rembo  MOV R5,#2560
P�        STR R5,[R9]
P�        LDR R5,bonscr
P�        SUB R5,R5,#1
P�        STR R5,bonscr
Q        B endbo
Q.exbo   LDR R9,bonscr
Q        LDR R10,maxbo
Q"        CMP R9,R10
Q,        BEQ getesc
Q6        ADD R9,R9,#1
Q@        STR R9,bonscr
QJ        LDR R9,bblock
QT        SUB R9,R9,#16
Q^.seabo  LDR R8,[R9,#16]!
Qh        CMP R8,#2560
Qr        BNE seabo
Q|.boxran BL rnd
Q�        � R0,R0,#31
Q�        CMP R0,#23
Q�        BGT boxran
Q�        MOV R0,R0,ASL#5
Q�        ADD R8,R0,#256
Q�        STR R8,[R9]
Q�        BL rnd
Q�        � R0,R0,#15
Q�        ADD R0,R0,R0,ASL#5
Q�        ADD R8,R0,#256
Q�        STR R8,[R9,#4]
Q�        LDR R8,bospr
Q�.getbon BL rnd
R        � R0,R0,#31
R        CMP R0,#19
R        BGT getbon
R&         LDR R8,[R8,R0,ASL#2]
R0        STR R8,[R9,#8]
R:        ADD R0,R0,#1
RD        STR R0,[R9,#12]
RN        B getesc
RX.posbo  SUBS R5,R4,R7
Rb        RSBMI R5,R5,#0
Rl        CMP R5,#72
Rv        BGT endbo
R�        LDR R5,block
R�        LDR R3,score
R�        CMP R11,R5
R�        ADDEQ R3,R3,#10
R�        STREQ R3,score
R�        MOV R5,#128
R�        BL sound2
R�        LDR R5,[R9,#12]
R�.effect LDR R3,bomapp
R�         LDR PC,[R3,R5,ASL#2]
R�.bomapp EQUD bomap%
R�.weapon LDR R3,[R11,#88]
R�        LDR R4,[R11,#52]
S        CMP R3,R5
S        MOVNE R4,#0
S        ADD R4,R4,#32
S         STR R4,[R11,#52]
S*        STR R5,[R11,#88]
S4        B rembo
S>.q20    MOV R5,#8
SH        B tensho
SR.q4     LDR R3,[R11,#20]
S\        ADD R3,R3,#20
Sf        STR R3,[R11,#20]
Sp        B rembo
Sz.q5     LDR R3,[R11,#72]
S�        ADD R3,R3,#600
S�        STR R3,[R11,#72]
S�        B rembo
S�.q6     LDR R3,[R11,#56]
S�        ADD R3,R3,#200
S�        STR R3,[R11,#56]
S�        B rembo
S�.q8     LDR R3,[R11,#60]
S�        ADD R3,R3,#100
S�        STR R3,[R11,#60]
S�        B rembo
S�.q13    LDR R3,[R11,#76]
S�        ADD R3,R3,#300
T        STR R3,[R11,#76]
T        B rembo
T.q9     LDR R3,[R11,#80]
T$        ADD R3,R3,#1
T.        STR R3,[R11,#80]
T8        B rembo
TB.q15    MOV R5,#4
TL.tensho LDR R3,[R11,#88]
TV        LDR R4,[R11,#52]
T`        CMP R3,R5
Tj        MOVNE R4,#0
Tt        ADD R4,R4,#18
T~        STR R4,[R11,#52]
T�        STR R5,[R11,#88]
T�        B rembo
T�.q12    MOV R5,#6
T�        B tensho
T�.q14    BL rnd
T�        SUB R0,R0,#128
T�        MOV R0,R0,ASR#2
T�        STR R0,windx
T�        BL rnd
T�        SUB R0,R0,#128
T�        MOV R0,R0,ASR#2
T�        STR R0,windy
U        B rembo
U
.q16    MOV R5,#5
U        B weapon
U.q7     BL rnd
U(        SUB R0,R0,#128
U2        LDR R4,[R11,#8]
U<        ADD R4,R4,R0
UF        STR R4,[R11,#8]
UP        BL rnd
UZ        SUB R0,R0,#128
Ud        LDR R4,[R11,#12]
Un        ADD R4,R4,R0
Ux        STR R4,[R11,#12]
U�        LDMIA R9,{R3-R4}
U�        MOV R5,#60
U�        BL addex
U�        MOV R5,#112
U�        BL sound2
U�        B rembo
U�.q10    LDR R5,[R11,#92]
U�        ADD R5,R5,#60
U�        STR R5,[R11,#92]
U�        B rembo
U�.q17    LDR R5,[R11,#100]
U�        ADD R5,R5,#60
U�        STR R5,[R11,#100]
V        B rembo
V.q11    STR R5,[R11,#96]
V        B rembo
V".q18    STMFD R13!,{R0-R1}
V,.q18r   BL rnd
V6        � R5,R0,#31
V@        CMP R5,#20
VJ        BGT q18r
VT        LDMIA R13!,{R0-R1}
V^        B effect
Vh.q19    LDR R3,score
Vr        ADD R3,R3,#90
V|        STR R3,score
V�        B rembo
V�.newr   BL rnd
V�        MOV R0,R0,ASR#3
V�        CMP R0,#17
V�        BHI newr
V�        MOV R5,R0
V�        LDMIA R13!,{R0-R1}
V�        B effect
V�".addex  STMFD R13!,{R0-R1,R14}
V�        LDR R0,exonsc
V�        LDR R1,exmax
V�        CMP R1,R0
V�$        LDMEQFD R13!,{R0-R1,PC}^
W        ADD R0,R0,#1
W        STR R0,exonsc
W        LDR R0,exblo
W&        SUB R0,R0,#12
W0.exsear LDR R1,[R0,#12]!
W:        CMP R1,#2560
WD        BNE exsear
WN        STMIA R0,{R3-R5}
WX"        LDMIA R13!,{R0-R1,PC}^
Wb.exend  SUBS R10,R10,#1
Wl        BPL exloop
Wv        B getesc
W�.exgo   MOV R6,#2560
W�        STR R6,[R11,#-12]
W�        LDR R6,exonsc
W�        SUB R6,R6,#1
W�        STR R6,exonsc
W�.exanim LDR R11,exblo
W�        LDR R10,exmax
W�        LDR R2,exspr
W�        BL rnd
W�        MOV R0,R0,ASR#6
W�         LDR R2,[R2,R0,ASL#2]
W�        MOV R5,#8
W�!.exloop LDMIA R11!,{R3,R4,R6}
X        CMP R3,#2560
X        BEQ exend
X        SUBS R6,R6,#1
X         STR R6,[R11,#-4]
X*        BMI exgo
X4        BL rnd
X>        SUB R0,R0,#128
XH        ADD R3,R3,R0,ASR#2
XR        BL rnd
X\        SUB R0,R0,#128
Xf        ADD R4,R4,R0,ASR#2
Xp        BL plex
Xz        BL rnd
X�        SUB R0,R0,#128
X�        ADD R3,R3,R0,ASR#2
X�        BL rnd
X�        SUB R0,R0,#128
X�        ADD R4,R4,R0,ASR#2
X�        BL plex
X�        B exend
X�.endgam MOV R0,#0
X�        STR R0,bitflg
X�        MOV R0,#112
X�        MOV R1,#1
X�        SWI 6
X�        MOV R0,#113
Y        MOV R1,#1
Y        SWI 6
Y        MOV R1,#80
Y$        BL wait
Y.        B losel
Y8.offle  CMP R14,#5
YB        BNE offscr
YL        STMFD R13!,{R0-R1}
YV        BL rnd
Y`        CMP R0,#10
Yj        LDMIA R13!,{R0-R1}
Yt        BLT offscr
Y~        RSB R5,R5,#0
Y�        STR R5,[R11,#28]
Y�        B bri
Y�.offbo  CMP R14,#5
Y�        BNE offscr
Y�        STMFD R13!,{R0-R1}
Y�        BL rnd
Y�        CMP R0,#10
Y�        LDMIA R13!,{R0-R1}
Y�        BLT offscr
Y�        RSB R6,R6,#0
Y�        STR R6,[R11,#32]
Y�        B bto
Z.offob  STMFD R13!,{R0-R1}
Z
        BL rnd
Z        CMP R0,#10
Z        LDMIA R13!,{R0-R1}
Z(        BLT offscr
Z2        LDR R5,[R11,#28]
Z<        LDR R6,[R11,#32]
ZF        RSB R5,R5,#0
ZP        RSB R6,R6,#0
ZZ        STR R5,[R11,#28]
Zd        STR R6,[R11,#32]
Zn        B misbar
Zx.accel  MOV R14,#68
Z�        MUL R5,R14,R5
Z�        MUL R6,R14,R6
Z�        MOV R5,R5,ASR#6
Z�        MOV R6,R6,ASR#6
Z�        STR R5,[R11,#28]
Z�        STR R6,[R11,#32]
Z�        B missr
Z�.spth   STMFD R13!,{R0-R7}
Z�        LDR R6,table
Z�        MOV R7,R2
Z�        LDR R2,spinne
Z�        ADD R7,R7,#10
Z�        CMP R7,#288
[        MOVGE R7,#1
[        STR R7,[R11,#96]
[        MOV R7,R7,ASR#3
["        ADD R7,R6,R7,ASL#3
[,        LDMIA R7,{R6-R7}
[6        ADD R3,R3,R6
[@        ADD R4,R4,R7
[J        SWI 46
[T        MOV R3,R3,ASL#sh
[^        MOV R4,R4,ASL#sh
[h        MOV R2,#pl
[r        LDR R5,block
[|.quickh LDR R6,left
[�        CMP R2,R6
[�        BEQ notoop
[�        LDR R6,[R5]
[�        SUBS R6,R6,R3
[�        RSBMI R6,R6,#0
[�        CMP R6,#80*j
[�        BGT notoop
[�        LDR R6,[R5,#4]
[�        SUBS R6,R6,R4
[�        RSBMI R6,R6,#0
[�        CMP R6,#80*j
[�        BGT notoop
[�        LDR R6,[R5,#20]
\        SUB R6,R6,#1
\        STR R6,[R5,#20]
\        MOV R5,#8
\&        MOV R3,R3,ASR#sh
\0        MOV R4,R4,ASR#sh
\:        STMFD R13!,{R2}
\D        LDR R0,spplot
\N        LDR R1,sparea
\X        LDR R2,exspr
\b        LDR R2,[R2,#4]
\l        SWI 46
\v        LDMIA R13!,{R2}
\�        MOV R5,#0
\�        BL sound2
\�        BL rnd
\�        CMP R0,#3
\�        MOVLT R0,#0
\�        STRLT R0,[R11,#96]
\�.notoop ADD R5,R5,#128
\�        SUBS R2,R2,#1
\�        BPL quickh
\�        LDMIA R13!,{R0-R7}
\�        B endspt
\�.retlev LDR R0,dlevel
\�        MOV PC,R14
].placer STR R0,dlevel
]        MOV PC,R14
].dlevel EQUD 0
] .task   EQUD &4B534154
]*.temp   EQUD temp%
]4 .name   EQUS "Cars"+�0:ALIGN
]>L.icond  EQUD -1:EQUD 0:EQUD 0:EQUD 74:EQUD 68:EQUD &3002:EQUS "!Cars"+�0
]H        EQUB 0:EQUD 0
]R0.templ  EQUS "<Obey$Dir>.Templates"+�0:ALIGN
]\ .tempw  EQUS "Info"+�0:ALIGN
]f!.tempw2 EQUS "Bonus"+�0:ALIGN
]p.oldst  EQUD 0
]z.taskh  EQUD 0
]�.deskt  MOV R0,#200
]�        LDR R1,task
]�        ADR R2,name
]�!        SWI "Wimp_Initialise"
]�        STR R1,taskh
]�        ADR R1,templ
]�#        SWI "Wimp_OpenTemplate"
]�        LDR R1,wimpb
]�        LDR R2,temp
]�        ADD R3,R2,#2048
]�        MOV R8,R3
]�        MVN R4,#0
]�        ADR R5,tempw2
^        MOV R6,#0
^#        SWI "Wimp_LoadTemplate"
^        MOV R9,R2
^$        LDR R1,wimpb
^.        LDR R0,sparea
^8        STR R0,[R1,#64]
^B#        SWI "Wimp_CreateWindow"
^L        STR R0,bonw%
^V        LDR R1,wimpb
^`        LDR R1,wimpb
^j        MOV R2,R9
^t        MOV R3,R8
^~        MVN R4,#0
^�        ADR R5,tempw
^�        MOV R6,#0
^�#        SWI "Wimp_LoadTemplate"
^�        LDR R1,wimpb
^�        LDR R0,sparea
^�        STR R0,[R1,#64]
^�#        SWI "Wimp_CreateWindow"
^�        STR R0,infow%
^�        LDR R1,wimpb
^�        STR R0,[R1]
^�$.ctempl SWI "Wimp_CloseTemplate"
^�        ADR R1,icond
_!        SWI "Wimp_CreateIcon"
_
        LDR R1,deskpl
_"        SWI "Wimp_ReadPalette"
_.polll  MOV R0,#1
_(        LDR R1,wimpb
_2        SWI "Wimp_Poll"
_<-        CMP R0,#2:SWIEQ "Wimp_OpenWindow"
_F.        CMP R0,#3:SWIEQ "Wimp_CloseWindow"
_P.        CMP R0,#17:CMPNE R0,#18:BEQ receiv
_Z        CMP R0,#9:BEQ menus
_d        CMP R0,#6:BNE polll
_n        LDR R2,[R1,#12]
_x        CMN R2,#2
_�        BNE polll
_�        LDR R2,[R1,#8]
_�        CMP R2,#2
_�        BEQ menu
_�.icbnc  SWI "XOS_Mouse"
_�        CMP R2,#0:BNE icbnc
_�        MVN R0,#0
_�        MVN R1,#0
_�'        SWI "Wimp_SetCaretPosition"
_�        MOV R0,#135
_�        SWI 6
_�        STR R2,deskmd
_�         SWI 256+22:SWI 256+9
`        LDR R1,deskpl
`"        SWI "Wimp_ReadPalette"
`        LDR R1,palete
`"!        SWI "Wimp_SetPalette"
`,+        SWI 256+18:SWI 256+0:SWI 256+11
`6"        SWI "OS_RemoveCursors"
`@        STR R13,oldst
`J        LDR R13,stack
`T        LDR R14,getbtg
`^F        MOV PC,R14                              ; Retrieve game PC
`h.rettw  STR R13,stack
`r        LDR R13,oldst
`|        STR R14,getbtg
`�        MOV R0,#21
`�        MOV R1,#0
`�        SWI 6
`�        LDR R0,deskmd
`�        SWI "Wimp_SetMode"
`�        LDR R1,deskpl
`�!        SWI "Wimp_SetPalette"
`�        B polll
`�.deskmd EQUD 12
`�.stack  EQUD st%+1000
`�.getbtg EQUD start
`�.receiv LDR R2,[R1,#16]
`�        CMP R2,#0
a        BEQ shutdown
a        B polll
a.menu   LDR R2,[R1]
a&        SUB R2,R2,#64
a0        MOV R3,#96+(44*3)
a:        ADR R1,menuc
aD!        SWI "Wimp_CreateMenu"
aN        B polll
aX.menus  LDR R2,[R1]
ab        CMP R2,#2
al        BEQ shutdown
av        CMP R2,#1
a�        BNE polll
a�        LDR R0,bonw%
a�        STR R0,[R1]
a�%        SWI "Wimp_GetWindowState"
a�        MVN R0,#0
a�        STR R0,[R1,#28]
a�!        SWI "Wimp_OpenWindow"
a�        B polll
a�M.menuc  EQUS "Car Wars":EQUD 0:EQUD &70207:EQUD 160:EQUD 44:EQUD 0:EQUD 0
a�B.infow% EQUD -1:EQUD &7000021:EQUS "Info":EQUD 0:EQUD 0:EQUD 0
a�:.bonw%  EQUD -1:EQUD &7000021:EQUS "Bonuses"+�0:EQUD 0
a�D        EQUD &80:EQUD -1:EQUD &7000021:EQUS "Quit":EQUD 0:EQUD 0
a�.pwind  EQUD 0
b.palete EQUD pal%
b.deskpl EQUD p2%
b
.failsave
b         MOV R1,#1
b*        ADR R2,menuc
b4"        SWI "Wimp_ReportError"
b>        ADR R0,hitabe
bH        MOV R1,#19
bR        ADR R2,menuc
b\"        SWI "Wimp_ReportError"
bf        CMP R1,#2
bp        BEQ remmod
bz
.shutdown
b�!        SWI "XWimp_CloseDown"
b�        MOV R0,#10
b�        ADR R1,hitabp
b�&        MOV R2,#&1000:SUB R2,R2,#1
b�        MOV R3,#0
b�        LDR R4,hitabs
b�        ADD R5,R4,#160
b�        SWI "XOS_File"
b�.remmod BVS failsave
b�        ADR R0,mod1
b�        SWI "OS_CLI"
b�        ADR R0,mod2
b�        SWI "OS_CLI"
c        ADR R0,mod3
c        SWI "OS_CLI"
c        ADR R0,mod4
c$        SWI "OS_CLI"
c.        ADR R0,mod5
c8        SWI "OS_CLI"
cB        B polll
cL.hitabs EQUD hi%
cV..hitabp EQUS "<Car$Dir>.HiScores"+�0:ALIGN
c`H.hitabe EQUS "    Could not save hiscore table. Try again?"+�0:ALIGN
cj,.mod1   EQUS "RMKill Explosion"+�0:ALIGN
ct(.mod2   EQUS "RMKill Layer"+�0:ALIGN
c~).mod3   EQUS "RMKill Rotate"+�0:ALIGN
c�(.mod4   EQUS "RMKill Sides"+�0:ALIGN
c�,.mod5   EQUS "ChannelVoice 1 1"+�0:ALIGN
c�I.compd  LDR R2,table                     ; Returned in R12 - each bit
c�K        MOV R14,R14,ASR#3                ; 0 - left 1 - right 2 - accel
c�A        MOV R8,R14,ASL#2                 ; 3 - brake 4 - fire
c�        LDR R0,[R11,#48]
c�        LDR R1,[R0,R8]
c�        STR R1,rft
c�        ADD R8,R2,R8,ASL#1
c�        STR R8,orpos
c�        LDMIA R8,{R9-R10}
c�        STMFD R13!,{R5-R6}
d        CMP R5,#0
d
        RSBMI R5,R5,#0
d        CMP R6,#0
d        RSBMI R6,R6,#0
d(        CMP R5,R6
d2        MOVGT R2,R5
d<        MOVLE R2,R6
dF        MOV R2,R2,ASR#8
dP        CMP R2,#7
dZ        MOVLT R2,#7
dd        LDMIA R13!,{R5-R6}
dn        LDR R0,[R11,#20]
dx        CMP R0,#0
d�        BMI bfire
d�O        B detect                        ; Returns 0-nothing 9-left 10-right
d�.compc  TST R12,#%10000
d�        BNE noaccc
d�        LDR R0,[R11,#124]
d�        CMP R0,#0
d�        BNE noaccc
d�        TST R12,#%100
d�        ADDNE R5,R5,R9
d�        ADDNE R6,R6,R10
d�.noaccc TST R12,#%1000
d�        MOVNE R1,#30
d�        MULNE R5,R1,R5
e        MULNE R6,R1,R6
e        MOVNE R5,R5,ASR#5
e        MOVNE R6,R6,ASR#5
e"        LDR R0,dlevel
e,        ADD R0,R0,#3
e6        CMP R0,#6
e@        MOVGT R0,#6
eJ        LDR R14,[R11,#16]
eT        TST R12,#%1
e^        SUBNE R14,R14,R0
eh        TST R12,#%10
er        ADDNE R14,R14,R0
e|        CMP R14,#288
e�        SUBGE R14,R14,#288
e�        CMP R14,#0
e�        ADDLT R14,R14,#288
e�        STR R14,[R11,#16]
e�        BL rnd
e�        CMP R0,#192
e�        BGT noach
e�        BL rnd
e�        CMP R0,#1
e�        BNE noach
e�        BL rnd
e�        MOV R1,#1
e�M        CMP R0,#160                    ; Decide next target 1-car 2-bonus
f        BGT decidb
f        STR R1,[R11,#32]
f.noach  LDR R0,dlevel
f&        CMP R0,#5
f0        BEQ regen
f:        LDR R1,[R11,#88]
fD        CMP R1,#0
fN        STREQ R0,[R11,#88]
fX.tstrfr MOV R0,#0
fb        STR R0,[R11,#124]
fl        TST R12,#%10000
fv        BEQ bfire
f�        MOV R0,#1
f�        STR R0,[R11,#124]
f�        B pfire
f�.regen  BL rnd
f�        CMP R0,#12
f�        BGT tstrfr
f�        LDR R0,[R11,#20]
f�        ADD R0,R0,#1
f�        STR R0,[R11,#20]
f�        B tstrfr
f�.decidb MOV R1,#2
f�        LDR R0,bonscr
f�        CMP R0,#0
g        �Q R1,#3
g        STR R1,[R11,#32]
gH        BEQ compc                      ; Don't search if no bonusses
g         STMFD R13!,{R5-R7}
g*9        MOV R5,#0                      ; Chosen bonus
g4;        MVN R6,#0                      ; Bonus distance
g>        LDR R2,bblock
gH        LDR R1,maxbo
gR.choosb LDMIA R2,{R0,R7}
g\        MOV R0,R0,ASL#sh
gf        MOV R7,R7,ASL#sh
gp        SUBS R0,R3,R0
gz        RSBMI R0,R0,#0
g�        SUBS R7,R4,R0
g�        RSBMI R7,R7,#0
g�        CMP R7,R0
g�C        MOVGT R0,R7                    ; R0 - Biggest distance.
g�        CMP R6,R0
g�        MOVHI R0,R6
g�        MOVHI R5,R2
g�        ADD R2,R2,#16
g�        SUBS R1,R1,#1
g�        BPL choosb
g�        CMP R5,#0
g�        BNE finebo
g�        LDMIA R13!,{R5-R7}
h        MOV R1,#1
h        STR R1,[R11,#32]
h        B noach
h$.finebo STR R5,[R11,#120]
h.        LDMIA R13!,{R5-R7}
h8        B noach
hB.runawy LDR R0,block
hL        LDMIA R0,{R1-R2}
hV        RSB R1,R1,#1280*j
h`        RSB R2,R2,#1024*j
hj        B fdway
ht.fnuma  EQUD 0
h~.fnumr  EQUD 0
h�.enshid EQUD 0
h�M.follow LDR R0,block                   ; R0 contains other player's stats
h�        LDR R2,[R0,#20]
h�        CMP R2,#0
h�A        BLT runawy                     ; Don't chase if dead!
h�        LDR R2,[R0,#76]
h�        STR R2,enshid
h�<        LDR R1,[R11,#32]               ; What to go for?
h�        CMP R1,#3
h�        BEQ runawy
h�        CMP R1,#2
h�        BEQ sightb
i        CMP R2,#0
i
        BEQ headcr
iF        B decidb                       ; If shield, choose a bonus
i.sightb LDR R0,bblock
i(        LDMIA R0,{R1-R2}
i2        CMP R1,#2560
i<        �Q R1,#1
iF        STREQ R1,[R11,#32]
iP        BEQ follow
iZ        MOV R1,R1,ASL#sh
id        MOV R2,R2,ASL#sh
in        B fdway
ix
i�.ahed   SUBS R6,R4,R2
i�        RSBMI R6,R6,#0
i�        CMP R6,#28*j
i�        BGT ntahed
i�        MOV R12,#%1000
i�        BL rnd
i�        LDR R1,dlevel
i�        ADD R1,R1,#3
i�        CMP R0,R1,ASL#3
i�         �RLT R12,R12,#%10000
i�"        LDMIA R13!,{R0-R9,R14}
i�        B compc
i�
j".isahed STMFD R13!,{R0-R9,R14}
j        ADD R3,R3,#40*j
j        ADD R4,R4,#40*j
j"        ADD R0,R0,#30*j
j,        ADD R1,R1,#30*j
j6        LDR R7,orpos
j@        LDMIA R7,{R8-R9}
jJ        MOV R5,#20
jT.ahedlp ADD R3,R3,R8,ASL#5
j^        ADD R4,R4,R9,ASL#5
jh        SUBS R6,R3,R1
jr        RSBMI R6,R6,#0
j|        CMP R6,#28*j
j�        BLT ahed
j�.ntahed SUBS R5,R5,#1
j�        BPL ahedlp
j�"        LDMIA R13!,{R0-R9,PC}^
j�
j�O.headcr LDMIA R0,{R1-R2}               ; To reach other person, turn where?
j�        BL isahed
j�%.fdway  STMFD R13!,{R3-R4,R7-R11}
j�        ADD R3,R3,#40*j
j�        ADD R4,R4,#40*j
j�        LDR R7,orpos
j�<        LDMIA R7,{R8-R9}               ; Get facing info
j�         ADD R8,R3,R8,ASL#ttt
kI        ADD R9,R4,R9,ASL#ttt           ; R8 & R9 contain point ahead.
k        SUBS R10,R8,R1
k        RSBMI R10,R10,#0
k&        SUBS R11,R9,R2
k0        RSBMI R11,R11,#0
k:        CMP R10,R11
kD        MOVLT R10,R11
kN>        STR R10,fnuma                  ; Store ahead range
kX        LDR R8,[R7,#trr]
kb:        LDR R9,[R7,#trr+4]             ; Now try right
kl         ADD R8,R3,R8,ASL#ttt
kv         ADD R9,R4,R9,ASL#ttt
k�        SUBS R10,R8,R1
k�        RSBMI R10,R10,#0
k�        SUBS R11,R9,R2
k�        RSBMI R11,R11,#0
k�        CMP R10,R11
k�        MOVLT R10,R11
k�        STR R10,fnumr
k�        LDR R8,[R7,#-trr]
k�9        LDR R9,[R7,#-(trr-4)]          ; Now try left
k�         ADD R8,R3,R8,ASL#ttt
k�         ADD R9,R4,R9,ASL#ttt
k�        SUBS R10,R8,R1
k�        RSBMI R10,R10,#0
l        SUBS R11,R9,R2
l        RSBMI R11,R11,#0
l        CMP R10,R11
l         MOVLT R10,R11
l*        LDR R8,fnuma
l4        LDR R9,fnumr
l>        CMP R10,R8
lH        CMPGT R9,R8
lR        BGT stra
l\        CMP R9,R10
lf        �RGT R12,R12,#%1
lp        �RLT R12,R12,#%10
lz        B nturna
l�.stra   BL rnd
l�        LDR R1,dlevel
l�        MOV R1,R1,ASL#2
l�        ADD R1,R1,#15
l�        CMP R0,R1
l�         �RLT R12,R12,#%10000
l�        �R R12,R12,#%100
l�8.nturna BL rnd                         ; Accelerate?
l�        CMP R0,#110
l�        �RLT R12,R12,#%100
l�.ntm    BL rnd
l�%        LDMIA R13!,{R3-R4,R7-R11}
l�        LDR R1,[R11,#32]
m        CMP R0,#5
m         �RLT R12,R12,#%10000
m        LDR R0,enshid
m$        CMP R0,#1
m.        �GE R12,R12,#%01111
m8        � R1,R12,#%11
mB8        LDR R0,[R11,#40]               ; Caution dir
mL        CMP R0,R1
mV        BNE compc
m`        � R12,R12,#%11
mjB        � R12,R12,#%10111          ; Don't turn same dir twice
mt        �R R12,R12,#%100
m~        LDR R0,[R11,#112]
m�        SUB R0,R0,#1
m�        STR R0,[R11,#112]
m�        CMP R0,#0
m�        STREQ R0,[R11,#40]
m�        B compc
m�.detect STMFD R13!,{R3-R11}
m�        ADD R3,R3,#36*j
m�        ADD R4,R4,#36*j
m�D        ADD R3,R3,R9,ASL R2         ; Number is the search range
m�D        ADD R4,R4,R10,ASL R2        ; Number is the search range
m�%        CMP R3,#1216*j:BGT quickt
m�#        CMP R3,#64*j:BLT quickt
n$        CMP R4,#800*j:BGT quickt
n
$        CMP R4,#200*j:BLT quickt
n        LDR R11,bartab
n        LDR R0,barr
n(.blocka LDR R6,[R11],#12
n2        CMN R6,#0
n<        BEQ nocrac
nF.crashc SUBS R6,R6,R3
nP        RSBMI R6,R6,#0
nZ        CMP R6,#112*j
nd        BLT crac
nn.nocrac SUBS R0,R0,#1
nx        BPL blocka
n�        MOV R12,#0
n�        LDMIA R13!,{R3-R11}
n�J        B follow                        ; Clear ahead - loop to target
n�.crac   LDR R7,[R11,#-8]
n�        SUBS R7,R7,R4
n�        RSBMI R7,R7,#0
n�        CMP R7,#112*j
n�        BGT nocrac
n�9.quickt SUB R11,R3,R9,ASL R2            ; Start point
n�!        SUB R12,R4,R10,ASL R2
n�>        MOV R0,#0                       ; Count left turns
n�        LDR R8,orpos
n�%.trylef ADD R0,R0,#1:SUB R8,R8,#8
o        CMP R1,#35
o        BGE finlef
o        LDMIA R8,{R9-R10}
o"         ADD R9,R11,R9,ASL R2
o,<        ADD R10,R12,R10,ASL R2           ; Is this away?
o6%        CMP R9,#1216*j:BGT trylef
o@#        CMP R9,#64*j:BLT trylef
oJ%        CMP R10,#800*j:BGT trylef
oT%        CMP R10,#200*j:BLT trylef
o^        LDR R3,barr
oh        LDR R4,bartab
or.quiblo LDR R5,[R4],#12
o|        SUBS R5,R9,R5
o�        RSBMI R5,R9,#0
o�        CMP R5,#128*j
o�        BGT notqbl
o�        LDR R5,[R4,#-8]
o�        SUBS R5,R10,R5
o�        RSBMI R5,R10,#0
o�        CMP R5,#128*j
o�A        BLT trylef                       ; Hit, so turn more.
o�.notqbl SUBS R3,R3,#1
o�=        BPL quiblo                       ; Any more left?
o�.finlef LDR R8,orpos
o�        MOV R1,#0
o�.tryrig ADD R1,R1,#1
p        CMP R1,#35
p        BGE finrig
p        ADD R8,R8,#8
p&        LDMIA R8,{R9-R10}
p0         ADD R9,R11,R9,ASL R2
p:D        ADD R10,R12,R10,ASL R2           ; Is this away? (right)
pD%        CMP R9,#1216*j:BGT tryrig
pN#        CMP R9,#64*j:BLT tryrig
pX%        CMP R10,#800*j:BGT tryrig
pb%        CMP R10,#200*j:BLT tryrig
pl        LDR R3,barr
pv        LDR R4,bartab
p�.quiblr LDR R5,[R4],#12
p�        SUBS R5,R9,R5
p�        RSBMI R5,R9,#0
p�        CMP R5,#128*j
p�        BGT notqbr
p�        LDR R5,[R4,#-8]
p�        SUBS R5,R10,R5
p�        RSBMI R5,R10,#0
p�        CMP R5,#128*j
p�A        BLT tryrig                       ; Hit, so turn more.
p�.notqbr SUBS R3,R3,#1
p�=        BPL quiblr                       ; Any more left?
p�.finrig LDMIA R13!,{R3-R11}
q        SUBS R12,R0,R1
q        RSBMI R12,R12,#0
qB        CMP R12,#4                     ; Is little difference?
q         BLT ignorb
q*>.avoido CMP R0,R1                      ; Which is quicker?
q4        MOV R12,#10
q>        MOVLT R12,#9
qH        LDREQ R12,[R11,#28]
qR        STR R12,[R11,#28]
q\        MOV R0,#11
qf        SUB R0,R0,R12
qpF        STR R0,[R11,#40]               ; Store direction (no turn)
qz        MOV R0,#7
q�2        STR R0,[R11,#112]              ; Count
q�        B compc
q�.wait   SWI 66
q�        ADD R1,R0,R1
q�.waitl  SWI 66
q�        CMP R0,R1
q�        BLT waitl
q�        MOV PC,R14
q�.orpos  EQUD 0
q�.ignorb LDR R0,[R11,#32]
q�        CMP R0,#1
q�        BNE avoido
q�        B follow
r]:�:P%=expl%:[ OPT 2
rG        EQUD ex%(0):EQUD ex%(0):EQUD ex%(1):EQUD ex%(1):EQUD ex%(2)
rG        EQUD ex%(2):EQUD ex%(3):EQUD ex%(3):EQUD ex%(4):EQUD ex%(4)
r$G        EQUD ex%(5):EQUD ex%(5):EQUD ex%(6):EQUD ex%(6):EQUD ex%(7)
r.        EQUD ex%(7)
r8]:P%=bonus%:[ OPT 2
rBG        EQUD ba%(1):EQUD ba%(2):EQUD ba%(3):EQUD ba%(4):EQUD ba%(5)
rLH        EQUD ba%(6):EQUD ba%(7):EQUD ba%(8):EQUD ba%(9):EQUD ba%(10)
rVL        EQUD ba%(11):EQUD ba%(12):EQUD ba%(13):EQUD ba%(14):EQUD ba%(15)
r`L        EQUD ba%(16):EQUD ba%(17):EQUD ba%(18):EQUD ba%(19):EQUD ba%(20)
rj]:P%=bbb%:[ OPT 2
rt7        EQUD b%(1):EQUD b%(2):EQUD b%(3):EQUD b%(4)
r~B        EQUD b%(5):EQUD b%(6):EQUD b%(7):EQUD b%(8):EQUD b%(9)
r�]:P%=bomap%:[ OPT 2
r�K        EQUD weapon:EQUD weapon:EQUD weapon:EQUD weapon:EQUD q4:EQUD q5
r�O        EQUD q6:EQUD q7:EQUD q8:EQUD q9:EQUD q10:EQUD q11:EQUD q12:EQUD q13
r�J        EQUD q14:EQUD q15:EQUD q16:EQUD q17:EQUD q18:EQUD q19:EQUD q20
r�]:P%=sound%:[ OPT 2
r�AEQUD 4:EQUD -15:EQUD 10:EQUD 0       ;bounce                0
r�BEQUD 2:EQUD -12:EQUD 3500:EQUD 0     ;fire 0                16
r�BEQUD 2:EQUD -12:EQUD 4000:EQUD 0     ;fire 1                32
r�BEQUD 2:EQUD -12:EQUD 4500:EQUD 0     ;fire 2                48
r�BEQUD 2:EQUD -12:EQUD 2500:EQUD 0     ;fire 3                64
r�BEQUD 4:EQUD -15:EQUD 1:EQUD 0        ;collide               80
r�BEQUD 4:EQUD -13:EQUD 5:EQUD 0        ;hit by bullet         96
sCEQUD 1:EQUD -15:EQUD 2000:EQUD 0     ;collect explosives    112
s
CEQUD 3:EQUD -15:EQUD 1500:EQUD 0     ;collect bonus         128
sCEQUD 2:EQUD -12:EQUD 5000:EQUD 0     ;fire 4                144
sCEQUD 2:EQUD -12:EQUD 7000:EQUD 0     ;fire 5                160
s(]:P%=dam%:[ OPT 2
s2?EQUD 1:EQUD 16:EQUD 2:EQUD 32:EQUD 3:EQUD 48:EQUD 4:EQUD 64
s<CEQUD 6:EQUD 144:EQUD 3:EQUD 160:EQUD 7:EQUD 144:EQUD 10:EQUD 16
sFEQUD 8:EQUD 32
sP]:P%=btsp%:[ OPT 2
sZJEQUD tyre%:EQUD bitad%(0):EQUD bitad%(1):EQUD bitad%(2):EQUD bitad%(3)
sd?EQUD bitad%(4):EQUD bitad%(5):EQUD bitad%(6):EQUD bitad%(7)
sn]:P%=dm3%:[ OPT 2
sxOEQUD ba%(1):EQUS "Spinner        "+�0:EQUD ba%(2):EQUS "Fast Bullets   "+�0
s�PEQUD ba%(3):EQUS "Mines          "+�0:EQUD ba%(12):EQUS "Rockets        "+�0
s�QEQUD ba%(15):EQUS "Large Mines    "+�0:EQUD ba%(16):EQUS "Bounce Bombs   "+�0
s�OEQUD ba%(7):EQUS "Booby Trap     "+�0:EQUD ba%(8):EQUS "Rapid Fire     "+�0
s�PEQUD ba%(9):EQUS "Quick Turning  "+�0:EQUD ba%(10):EQUS "Three Way Fire "+�0
s�PEQUD ba%(11):EQUS "Spinning Thing "+�0:EQUD ba%(4):EQUS "Extra Energy   "+�0
s�QEQUD ba%(13):EQUS "Bullet Shield  "+�0:EQUD ba%(14):EQUS "Storm          "+�0
s�OEQUD ba%(5):EQUS "Armour         "+�0:EQUD ba%(6):EQUS "Speed Up       "+�0
s�QEQUD ba%(17):EQUS "Back Fire      "+�0:EQUD ba%(18):EQUS "Random Bonus   "+�0
s�SEQUD ba%(19):EQUS "100 Points     "+�0:EQUD ba%(20):EQUS "Massive Bombs  "+�0:]
s�?� 400*j,480*j,0,0,216,200,-66,-82,-52,-51,-36,0,st1,0,0,0,0
s�� 200,0,0,3,0,0,0,0,0,0,0,0
s�B� 848*j,480*j,0,0,216,200,-108,-125,-27,-109,-59,0,st2,0,0,0,0
s�� 200,0,0,3,0,0,0,0,0,0,0,0
t ttt%=ta%:� i=-350 � 700 � 10
tta%!0=��(i)*j:ta%!4=��(i)*j
t8ta%+=8:�:!ttt%=2048:ttt%!4=2048:!ta%=2048:ta%!4=2048
t"st1=sp1%:st2=sp2%:�i=0�35
t,!ș46,280,sp%,"n"+�i � ,,!sp1%
t6!ș46,280,sp%,"m"+�i � ,,!sp2%
t@sp1%+=4:sp2%+=4:�
tJ+�k=0�1:�i=0�112�4:� stdat!(i+k*128):�:�
tT!�i=0�!maxbu:bu%!(i*40)=2560:�
t^!�i=0�!maxbo:bo%!(i*16)=2560:�
th&�i=0�!exmax:exblock%!(i*12)=2560:�
tr%ș8,255,"<Obey$Dir>.HiScores",hi%
t| hi%!160=&3FFFFFFF:� � �error
t�
� deskt:�
t�
t�� �error
t�� � �$;" at line "�:�
t�0ș"Wimp_SetPalette",,p2%:ș6,112,1:ș6,113,1
t�2È™&400DF,"    "+�$+" at line "+Þ,1,"Car Wars"
t�j=��$,"&"):� j=0 �
t�?X=�("<Car$Dir>.ErrorFile"):r$=�$+" Code start &"+(�~m%)+�10
t�,�#X=�#X:�i=1�� r$:�#X,�(�r$,i,1)):�:� #X
t�.ș"Wimp_SetMode",12:�4:ș6,229,0:ș6,200,0
t�3a$="":j+=1:ȕ �r$,j,1)<>" " a$+=�r$,j,1):j+=1:�
t�a=� ("&"+a$)-128:�show:�
t�
u� �show
u
�132:�7:�
u�$'':*ShowRegs
u&;�:ș5,"MemoryI "+�~a+" "+�~(a+256):�'~!dump'~!dump2:� 0
u0�
�
00000000  0d 00 0a 10 f4 20 3e 21  52 75 6e 49 6d 61 67 65  |..... >!RunImage|
00000010  0d 00 14 23 f4 20 57 72  69 74 74 65 6e 20 42 79  |...#. Written By|
00000020  20 42 65 6e 20 4d 61 6e  73 65 6c 6c 20 a9 a0 31  | Ben Mansell ..1|
00000030  39 39 33 0d 00 1e 38 ee  20 85 20 c8 99 26 34 30  |993...8. . ..&40|
00000040  30 44 46 2c 22 20 20 20  20 22 2b f6 24 2b 22 20  |0DF,"    "+.$+" |
00000050  61 74 20 6c 69 6e 65 20  22 2b c3 9e 2c 31 2c 22  |at line "+..,1,"|
00000060  43 61 72 20 57 61 72 73  22 3a e0 0d 00 28 3b c8  |Car Wars":...(;.|
00000070  a0 20 34 3a 41 3d b3 28  2d 91 29 3a 6d 61 78 25  |. 4:A=.(-.):max%|
00000080  3d 32 30 3a 65 78 6d 61  78 25 3d 33 3a 70 6c 3d  |=20:exmax%=3:pl=|
00000090  31 3a 73 63 61 6e 72 3d  37 3a 74 74 74 3d 34 3a  |1:scanr=7:ttt=4:|
000000a0  74 72 72 3d 32 34 0d 00  32 2a c8 99 38 2c 35 2c  |trr=24..2*..8,5,|
000000b0  22 3c 4f 62 65 79 24 44  69 72 3e 2e 4e 65 77 43  |"<Obey$Dir>.NewC|
000000c0  61 72 73 22 20 b8 20 2c  2c 2c 2c 73 6c 65 6e 25  |ars" . ,,,,slen%|
000000d0  0d 00 3c 4e de 20 6d 25  20 31 34 38 30 30 2c 73  |..<N. m% 14800,s|
000000e0  70 25 20 73 6c 65 6e 25  2b 31 30 32 34 2c 74 61  |p% slen%+1024,ta|
000000f0  25 20 31 30 30 30 2c 62  20 35 31 32 2c 73 70 31  |% 1000,b 512,sp1|
00000100  25 20 31 39 32 2c 73 70  32 25 20 31 39 32 2c 62  |% 192,sp2% 192,b|
00000110  75 25 20 28 6d 61 78 25  2b 31 29 2a 34 30 0d 00  |u% (max%+1)*40..|
00000120  46 4d de 20 6f 62 25 20  31 30 32 34 2c 6f 61 25  |FM. ob% 1024,oa%|
00000130  20 33 32 2c 65 78 25 28  37 29 2c 62 6f 25 20 31  | 32,ex%(7),bo% 1|
00000140  30 32 34 2c 62 61 25 28  32 30 29 2c 65 78 70 6c  |024,ba%(20),expl|
00000150  25 20 31 32 38 2c 62 6f  6e 75 73 25 20 31 32 38  |% 128,bonus% 128|
00000160  2c 73 70 61 72 65 25 20  31 30 30 0d 00 50 4d de  |,spare% 100..PM.|
00000170  20 73 6f 75 6e 64 25 20  31 30 32 34 2c 64 61 6d  | sound% 1024,dam|
00000180  25 20 31 32 38 2c 73 74  64 61 74 20 35 31 32 2c  |% 128,stdat 512,|
00000190  65 78 62 6c 6f 63 6b 25  20 35 31 32 2c 62 62 62  |exblock% 512,bbb|
000001a0  25 20 31 32 38 2c 77 25  20 32 30 34 38 2c 74 65  |% 128,w% 2048,te|
000001b0  6d 70 25 20 32 30 34 38  0d 00 5a 4a de 20 73 74  |mp% 2048..ZJ. st|
000001c0  25 20 31 30 32 34 2c 70  61 6c 25 20 31 32 38 2c  |% 1024,pal% 128,|
000001d0  73 63 72 6d 65 20 34 30  39 36 2c 70 32 25 20 31  |scrme 4096,p2% 1|
000001e0  32 38 2c 70 33 25 20 31  32 38 2c 68 69 25 20 32  |28,p3% 128,hi% 2|
000001f0  30 30 2c 6e 75 6d 25 20  35 30 2c 62 74 25 20 35  |00,num% 50,bt% 5|
00000200  31 32 0d 00 64 41 de 20  62 6f 6d 61 70 25 20 31  |12..dA. bomap% 1|
00000210  32 38 2c 64 6d 33 25 20  34 30 30 2c 62 61 63 6b  |28,dm3% 400,back|
00000220  25 20 34 35 30 30 30 2c  62 74 73 70 25 20 36 34  |% 45000,btsp% 64|
00000230  2c 62 69 74 61 64 25 28  37 29 2c 61 73 63 25 20  |,bitad%(7),asc% |
00000240  32 35 36 0d 00 6e 3d 73  6f 62 25 3d 6f 62 25 3a  |256..n=sob%=ob%:|
00000250  21 73 70 25 3d 73 6c 65  6e 25 2b 31 30 32 34 3a  |!sp%=slen%+1024:|
00000260  6a 3d 31 32 38 3a 73 68  3d 37 3a de 20 62 25 28  |j=128:sh=7:. b%(|
00000270  31 30 29 3a 21 62 61 63  6b 25 3d 34 35 30 30 30  |10):!back%=45000|
00000280  0d 00 78 26 c8 99 38 2c  32 35 35 2c 22 3c 4f 62  |..x&..8,255,"<Ob|
00000290  65 79 24 44 69 72 3e 2e  4e 65 77 43 61 72 73 22  |ey$Dir>.NewCars"|
000002a0  2c 73 70 25 2b 34 0d 00  82 26 c8 99 38 2c 32 35  |,sp%+4...&..8,25|
000002b0  35 2c 22 3c 4f 62 65 79  24 44 69 72 3e 2e 21 50  |5,"<Obey$Dir>.!P|
000002c0  61 6c 65 74 74 65 22 2c  70 61 6c 25 0d 00 8c 29  |alette",pal%...)|
000002d0  c8 99 38 2c 32 35 35 2c  22 3c 4f 62 65 79 24 44  |..8,255,"<Obey$D|
000002e0  69 72 3e 2e 42 61 63 6b  64 72 6f 70 22 2c 62 61  |ir>.Backdrop",ba|
000002f0  63 6b 25 2b 34 0d 00 96  28 c8 99 38 2c 32 35 35  |ck%+4...(..8,255|
00000300  2c 22 3c 4f 62 65 79 24  44 69 72 3e 2e 41 53 43  |,"<Obey$Dir>.ASC|
00000310  49 49 74 61 62 6c 65 22  2c 61 73 63 25 0d 00 a0  |IItable",asc%...|
00000320  32 e3 69 25 3d 31 b8 39  3a c8 99 34 36 2c 32 38  |2.i%=1.9:..46,28|
00000330  30 2c 73 70 25 2c 22 62  75 6c 6c 65 74 22 2b c3  |0,sp%,"bullet"+.|
00000340  69 25 20 b8 20 2c 2c 62  25 28 69 25 29 3a ed 0d  |i% . ,,b%(i%):..|
00000350  00 aa 34 e3 69 25 3d 30  b8 37 3a c8 99 34 36 2c  |..4.i%=0.7:..46,|
00000360  32 38 30 2c 73 70 25 2c  22 65 78 70 6c 6f 64 65  |280,sp%,"explode|
00000370  22 2b c3 69 25 20 b8 20  2c 2c 65 78 25 28 69 25  |"+.i% . ,,ex%(i%|
00000380  29 3a ed 0d 00 b4 33 e3  69 25 3d 31 b8 32 30 3a  |):....3.i%=1.20:|
00000390  c8 99 34 36 2c 32 38 30  2c 73 70 25 2c 22 62 6f  |..46,280,sp%,"bo|
000003a0  6e 75 73 22 2b c3 69 25  20 b8 20 2c 2c 62 61 25  |nus"+.i% . ,,ba%|
000003b0  28 69 25 29 3a ed 0d 00  be 37 e3 69 25 3d 30 b8  |(i%):....7.i%=0.|
000003c0  33 3a c8 99 34 36 2c 32  38 30 2c 73 70 25 2c 22  |3:..46,280,sp%,"|
000003d0  62 61 72 72 69 65 72 22  2b c3 69 25 20 b8 20 2c  |barrier"+.i% . ,|
000003e0  2c 6f 61 25 21 28 69 25  2a 34 29 3a ed 0d 00 c8  |,oa%!(i%*4):....|
000003f0  2e e3 69 25 3d 30 b8 39  3a c8 99 34 36 2c 32 38  |..i%=0.9:..46,28|
00000400  30 2c 73 70 25 2c c3 69  25 20 b8 20 2c 2c 6e 75  |0,sp%,.i% . ,,nu|
00000410  6d 25 21 28 69 25 2a 34  29 3a ed 0d 00 d2 32 e3  |m%!(i%*4):....2.|
00000420  69 25 3d 30 b8 33 3a c8  99 34 36 2c 32 38 30 2c  |i%=0.3:..46,280,|
00000430  73 70 25 2c 22 62 69 74  6d 22 2b c3 69 25 20 b8  |sp%,"bitm"+.i% .|
00000440  20 2c 2c 62 69 74 61 64  25 28 69 25 29 0d 00 dc  | ,,bitad%(i%)...|
00000450  2e c8 99 34 36 2c 32 38  30 2c 73 70 25 2c 22 62  |...46,280,sp%,"b|
00000460  69 74 6e 22 2b c3 69 25  20 b8 20 2c 2c 62 69 74  |itn"+.i% . ,,bit|
00000470  61 64 25 28 69 25 2b 34  29 3a ed 0d 00 e6 23 c8  |ad%(i%+4):....#.|
00000480  99 34 36 2c 32 38 30 2c  73 70 25 2c 22 74 69 74  |.46,280,sp%,"tit|
00000490  6c 65 22 20 b8 20 2c 2c  74 69 74 6c 65 25 0d 00  |le" . ,,title%..|
000004a0  f0 25 c8 99 34 36 2c 32  38 30 2c 73 70 25 2c 22  |.%..46,280,sp%,"|
000004b0  73 68 69 65 6c 64 22 20  b8 20 2c 2c 73 68 69 65  |shield" . ,,shie|
000004c0  6c 64 25 0d 00 fa 27 c8  99 34 36 2c 32 38 30 2c  |ld%...'..46,280,|
000004d0  73 70 25 2c 22 73 70 69  6e 6e 65 72 22 20 b8 20  |sp%,"spinner" . |
000004e0  2c 2c 73 70 69 6e 6e 65  72 25 0d 01 04 25 c8 99  |,,spinner%...%..|
000004f0  34 36 2c 32 38 30 2c 73  70 25 2c 22 77 72 69 74  |46,280,sp%,"writ|
00000500  65 72 22 20 b8 20 2c 2c  77 72 69 74 65 72 25 0d  |er" . ,,writer%.|
00000510  01 0e 27 c8 99 34 36 2c  32 38 30 2c 73 70 25 2c  |..'..46,280,sp%,|
00000520  22 61 72 63 68 77 6f 72  6c 64 22 20 b8 20 2c 2c  |"archworld" . ,,|
00000530  61 72 63 68 77 25 0d 01  18 25 c8 99 34 36 2c 32  |archw%...%..46,2|
00000540  38 30 2c 73 70 25 2c 22  63 6f 6d 70 6c 65 74 65  |80,sp%,"complete|
00000550  22 20 b8 20 2c 2c 63 6f  6d 70 25 0d 01 22 26 c8  |" . ,,comp%.."&.|
00000560  99 34 36 2c 32 38 30 2c  73 70 25 2c 22 67 61 6d  |.46,280,sp%,"gam|
00000570  65 6f 76 65 72 22 20 b8  20 2c 2c 67 6f 76 65 72  |eover" . ,,gover|
00000580  25 0d 01 2c 23 c8 99 34  36 2c 32 38 30 2c 73 70  |%..,#..46,280,sp|
00000590  25 2c 22 6c 65 76 65 6c  22 20 b8 20 2c 2c 6c 65  |%,"level" . ,,le|
000005a0  76 65 6c 25 0d 01 36 23  c8 99 34 36 2c 32 38 30  |vel%..6#..46,280|
000005b0  2c 73 70 25 2c 22 6c 69  76 65 73 22 20 b8 20 2c  |,sp%,"lives" . ,|
000005c0  2c 6c 69 76 65 73 25 0d  01 40 27 c8 99 34 36 2c  |,lives%..@'..46,|
000005d0  32 38 30 2c 73 70 25 2c  22 65 6e 65 72 67 79 62  |280,sp%,"energyb|
000005e0  61 72 22 20 b8 20 2c 2c  65 6e 62 61 72 25 0d 01  |ar" . ,,enbar%..|
000005f0  4a 22 c8 99 34 36 2c 32  38 30 2c 73 70 25 2c 22  |J"..46,280,sp%,"|
00000600  62 6f 6e 75 73 22 20 b8  20 2c 2c 65 6e 62 6f 25  |bonus" . ,,enbo%|
00000610  0d 01 54 21 c8 99 34 36  2c 32 38 30 2c 73 70 25  |..T!..46,280,sp%|
00000620  2c 22 74 69 6d 65 22 20  b8 20 2c 2c 74 69 6d 65  |,"time" . ,,time|
00000630  25 0d 01 5e 23 c8 99 34  36 2c 32 38 30 2c 73 70  |%..^#..46,280,sp|
00000640  25 2c 22 62 6c 65 76 74  22 20 b8 20 2c 2c 62 6c  |%,"blevt" . ,,bl|
00000650  65 76 74 25 0d 01 68 29  c8 99 34 36 2c 32 38 30  |evt%..h)..46,280|
00000660  2c 73 70 25 2c 22 63 6f  6e 67 72 61 74 73 22 20  |,sp%,"congrats" |
00000670  b8 20 2c 2c 63 6f 6e 67  72 61 74 73 25 0d 01 72  |. ,,congrats%..r|
00000680  21 c8 99 34 36 2c 32 38  30 2c 73 70 25 2c 22 74  |!..46,280,sp%,"t|
00000690  79 72 65 22 20 b8 20 2c  2c 74 79 72 65 25 0d 01  |yre" . ,,tyre%..|
000006a0  7c 21 c8 99 34 36 2c 32  38 30 2c 73 70 25 2c 22  ||!..46,280,sp%,"|
000006b0  6f 70 74 31 22 20 b8 20  2c 2c 6f 70 74 31 25 0d  |opt1" . ,,opt1%.|
000006c0  01 86 21 c8 99 34 36 2c  32 38 30 2c 73 70 25 2c  |..!..46,280,sp%,|
000006d0  22 6f 70 74 32 22 20 b8  20 2c 2c 6f 70 74 32 25  |"opt2" . ,,opt2%|
000006e0  0d 01 90 21 c8 99 34 36  2c 32 38 30 2c 73 70 25  |...!..46,280,sp%|
000006f0  2c 22 6f 70 74 33 22 20  b8 20 2c 2c 6f 70 74 33  |,"opt3" . ,,opt3|
00000700  25 0d 01 9a 25 c8 99 34  36 2c 32 38 30 2c 73 70  |%...%..46,280,sp|
00000710  25 2c 22 6b 65 79 6c 65  66 74 22 20 b8 20 2c 2c  |%,"keyleft" . ,,|
00000720  6b 6c 65 66 74 25 0d 01  a4 27 c8 99 34 36 2c 32  |kleft%...'..46,2|
00000730  38 30 2c 73 70 25 2c 22  6b 65 79 72 69 67 68 74  |80,sp%,"keyright|
00000740  22 20 b8 20 2c 2c 6b 72  69 67 68 74 25 0d 01 ae  |" . ,,kright%...|
00000750  21 c8 99 34 36 2c 32 38  30 2c 73 70 25 2c 22 6b  |!..46,280,sp%,"k|
00000760  65 79 75 70 22 20 b8 20  2c 2c 6b 75 70 25 0d 01  |eyup" . ,,kup%..|
00000770  b8 25 c8 99 34 36 2c 32  38 30 2c 73 70 25 2c 22  |.%..46,280,sp%,"|
00000780  6b 65 79 64 6f 77 6e 22  20 b8 20 2c 2c 6b 64 6f  |keydown" . ,,kdo|
00000790  77 6e 25 0d 01 c2 25 c8  99 34 36 2c 32 38 30 2c  |wn%...%..46,280,|
000007a0  73 70 25 2c 22 6b 65 79  66 69 72 65 22 20 b8 20  |sp%,"keyfire" . |
000007b0  2c 2c 6b 66 69 72 65 25  0d 01 cc 26 c8 99 34 36  |,,kfire%...&..46|
000007c0  2c 32 38 30 2c 73 70 25  2c 22 67 61 6d 65 6d 6f  |,280,sp%,"gamemo|
000007d0  64 65 22 20 b8 20 2c 2c  67 61 6d 65 6d 25 0d 01  |de" . ,,gamem%..|
000007e0  d6 26 c8 99 34 36 2c 32  38 30 2c 73 70 25 2c 22  |.&..46,280,sp%,"|
000007f0  74 77 6f 67 61 6d 65 22  20 b8 20 2c 2c 67 61 6d  |twogame" . ,,gam|
00000800  65 6d 32 25 0d 01 e0 26  c8 99 34 36 2c 32 38 30  |em2%...&..46,280|
00000810  2c 73 70 25 2c 22 6f 6e  65 67 61 6d 65 22 20 b8  |,sp%,"onegame" .|
00000820  20 2c 2c 67 61 6d 65 6d  31 25 0d 01 ea 29 c8 99  | ,,gamem1%...)..|
00000830  34 36 2c 32 38 30 2c 73  70 25 2c 22 67 61 6d 65  |46,280,sp%,"game|
00000840  70 6c 61 79 65 72 22 20  b8 20 2c 2c 67 61 6d 65  |player" . ,,game|
00000850  70 6c 25 0d 01 f4 28 c8  99 34 36 2c 32 38 30 2c  |pl%...(..46,280,|
00000860  73 70 25 2c 22 6f 70 74  73 65 6c 65 63 74 22 20  |sp%,"optselect" |
00000870  b8 20 2c 2c 6f 70 74 73  65 6c 25 0d 01 fe 2b c8  |. ,,optsel%...+.|
00000880  99 34 36 2c 32 38 30 2c  73 70 25 2c 22 71 75 65  |.46,280,sp%,"que|
00000890  73 74 69 6f 6e 6d 61 72  6b 22 20 b8 20 2c 2c 71  |stionmark" . ,,q|
000008a0  75 65 73 74 6d 25 0d 02  08 29 c8 99 34 36 2c 32  |uestm%...)..46,2|
000008b0  38 30 2c 62 61 63 6b 25  2c 22 62 61 63 6b 64 72  |80,back%,"backdr|
000008c0  6f 70 22 20 b8 20 2c 2c  62 61 63 6b 73 70 25 0d  |op" . ,,backsp%.|
000008d0  02 12 15 e3 20 70 61 73  73 25 3d 30 20 b8 20 32  |.... pass%=0 . 2|
000008e0  20 88 20 32 0d 02 1c 15  50 25 3d 6d 25 3a 5b 20  | . 2....P%=m%:[ |
000008f0  4f 50 54 20 70 61 73 73  25 0d 02 26 16 2e 62 6c  |OPT pass%..&..bl|
00000900  61 63 6b 70 20 4d 4f 56  20 52 30 2c 23 31 39 0d  |ackp MOV R0,#19.|
00000910  02 30 19 20 20 20 20 20  20 20 20 4c 44 52 20 52  |.0.        LDR R|
00000920  31 2c 66 61 64 65 62 32  0d 02 3a 15 20 20 20 20  |1,fadeb2..:.    |
00000930  20 20 20 20 4d 4f 56 20  52 32 2c 23 30 0d 02 44  |    MOV R2,#0..D|
00000940  1a 2e 66 69 6c 6c 62 70  20 53 54 52 20 52 32 2c  |..fillbp STR R2,|
00000950  5b 52 31 5d 2c 23 34 0d  02 4e 19 20 20 20 20 20  |[R1],#4..N.     |
00000960  20 20 20 53 55 42 53 20  52 30 2c 52 30 2c 23 31  |   SUBS R0,R0,#1|
00000970  0d 02 58 16 20 20 20 20  20 20 20 20 42 50 4c 20  |..X.        BPL |
00000980  66 69 6c 6c 62 70 0d 02  62 19 20 20 20 20 20 20  |fillbp..b.      |
00000990  20 20 4c 44 52 20 52 31  2c 66 61 64 65 62 32 0d  |  LDR R1,fadeb2.|
000009a0  02 6c 21 20 20 20 20 20  20 20 20 53 57 49 20 22  |.l!        SWI "|
000009b0  57 69 6d 70 5f 53 65 74  50 61 6c 65 74 74 65 22  |Wimp_SetPalette"|
000009c0  0d 02 76 16 20 20 20 20  20 20 20 20 4d 4f 56 20  |..v.        MOV |
000009d0  50 43 2c 52 31 34 0d 02  80 14 2e 66 61 64 65 62  |PC,R14.....fadeb|
000009e0  32 20 45 51 55 44 20 70  33 25 0d 02 8a 15 2e 66  |2 EQUD p3%.....f|
000009f0  61 64 65 70 32 20 45 51  55 44 20 70 61 6c 25 0d  |adep2 EQUD pal%.|
00000a00  02 94 22 2e 66 61 64 65  32 20 20 53 54 4d 46 44  |..".fade2  STMFD|
00000a10  20 52 31 33 21 2c 7b 52  30 2d 52 36 2c 52 31 34  | R13!,{R0-R6,R14|
00000a20  7d 0d 02 9e 17 20 20 20  20 20 20 20 20 4d 4f 56  |}....        MOV|
00000a30  20 52 35 2c 23 32 35 35  0d 02 a8 16 2e 66 61 64  | R5,#255.....fad|
00000a40  65 6d 33 20 4d 4f 56 20  52 36 2c 23 31 39 0d 02  |em3 MOV R6,#19..|
00000a50  b2 19 20 20 20 20 20 20  20 20 4c 44 52 20 52 33  |..        LDR R3|
00000a60  2c 66 61 64 65 62 32 0d  02 bc 19 20 20 20 20 20  |,fadeb2....     |
00000a70  20 20 20 4c 44 52 20 52  34 2c 66 61 64 65 70 32  |   LDR R4,fadep2|
00000a80  0d 02 c6 15 2e 66 61 64  65 6d 20 20 4d 4f 56 20  |.....fadem  MOV |
00000a90  52 30 2c 23 30 0d 02 d0  1b 20 20 20 20 20 20 20  |R0,#0....       |
00000aa0  20 53 54 52 42 20 52 30  2c 5b 52 33 5d 2c 23 31  | STRB R0,[R3],#1|
00000ab0  0d 02 da 18 20 20 20 20  20 20 20 20 41 44 44 20  |....        ADD |
00000ac0  52 34 2c 52 34 2c 23 31  0d 02 e4 15 20 20 20 20  |R4,R4,#1....    |
00000ad0  20 20 20 20 4d 4f 56 20  52 31 2c 23 32 0d 02 ee  |    MOV R1,#2...|
00000ae0  1b 2e 66 61 64 65 6d 32  20 4c 44 52 42 20 52 30  |..fadem2 LDRB R0|
00000af0  2c 5b 52 34 5d 2c 23 31  0d 02 f8 18 20 20 20 20  |,[R4],#1....    |
00000b00  20 20 20 20 41 44 44 20  52 30 2c 52 30 2c 52 35  |    ADD R0,R0,R5|
00000b10  0d 03 02 17 20 20 20 20  20 20 20 20 43 4d 50 20  |....        CMP |
00000b20  52 30 2c 23 32 35 35 0d  03 0c 19 20 20 20 20 20  |R0,#255....     |
00000b30  20 20 20 4d 4f 56 47 54  20 52 30 2c 23 32 35 35  |   MOVGT R0,#255|
00000b40  0d 03 16 1b 20 20 20 20  20 20 20 20 53 54 52 42  |....        STRB|
00000b50  20 52 30 2c 5b 52 33 5d  2c 23 31 0d 03 20 19 20  | R0,[R3],#1.. . |
00000b60  20 20 20 20 20 20 20 53  55 42 53 20 52 31 2c 52  |       SUBS R1,R|
00000b70  31 2c 23 31 0d 03 2a 16  20 20 20 20 20 20 20 20  |1,#1..*.        |
00000b80  42 50 4c 20 66 61 64 65  6d 32 0d 03 34 19 20 20  |BPL fadem2..4.  |
00000b90  20 20 20 20 20 20 53 55  42 53 20 52 36 2c 52 36  |      SUBS R6,R6|
00000ba0  2c 23 31 0d 03 3e 15 20  20 20 20 20 20 20 20 42  |,#1..>.        B|
00000bb0  50 4c 20 66 61 64 65 6d  0d 03 48 19 20 20 20 20  |PL fadem..H.    |
00000bc0  20 20 20 20 4c 44 52 20  52 31 2c 66 61 64 65 62  |    LDR R1,fadeb|
00000bd0  32 0d 03 52 21 20 20 20  20 20 20 20 20 53 57 49  |2..R!        SWI|
00000be0  20 22 57 69 6d 70 5f 53  65 74 50 61 6c 65 74 74  | "Wimp_SetPalett|
00000bf0  65 22 0d 03 5c 16 20 20  20 20 20 20 20 20 4d 4f  |e"..\.        MO|
00000c00  56 20 52 30 2c 23 31 39  0d 03 66 19 20 20 20 20  |V R0,#19..f.    |
00000c10  20 20 20 20 53 57 49 20  22 4f 53 5f 42 79 74 65  |    SWI "OS_Byte|
00000c20  22 0d 03 70 19 20 20 20  20 20 20 20 20 53 55 42  |"..p.        SUB|
00000c30  53 20 52 35 2c 52 35 2c  52 39 0d 03 7a 16 20 20  |S R5,R5,R9..z.  |
00000c40  20 20 20 20 20 20 42 50  4c 20 66 61 64 65 6d 33  |      BPL fadem3|
00000c50  0d 03 84 19 20 20 20 20  20 20 20 20 4c 44 52 20  |....        LDR |
00000c60  52 31 2c 66 61 64 65 70  32 0d 03 8e 21 20 20 20  |R1,fadep2...!   |
00000c70  20 20 20 20 20 53 57 49  20 22 57 69 6d 70 5f 53  |     SWI "Wimp_S|
00000c80  65 74 50 61 6c 65 74 74  65 22 0d 03 98 22 20 20  |etPalette"..."  |
00000c90  20 20 20 20 20 20 4c 44  4d 49 41 20 52 31 33 21  |      LDMIA R13!|
00000ca0  2c 7b 52 30 2d 52 36 2c  50 43 7d 5e 0d 03 a2 04  |,{R0-R6,PC}^....|
00000cb0  0d 03 ac 22 2e 66 61 64  65 33 20 20 53 54 4d 46  |...".fade3  STMF|
00000cc0  44 20 52 31 33 21 2c 7b  52 30 2d 52 36 2c 52 31  |D R13!,{R0-R6,R1|
00000cd0  34 7d 0d 03 b6 17 20 20  20 20 20 20 20 20 4d 4f  |4}....        MO|
00000ce0  56 20 52 35 2c 23 32 35  35 0d 03 c0 16 2e 66 61  |V R5,#255.....fa|
00000cf0  64 65 6e 33 20 4d 4f 56  20 52 36 2c 23 31 39 0d  |den3 MOV R6,#19.|
00000d00  03 ca 19 20 20 20 20 20  20 20 20 4c 44 52 20 52  |...        LDR R|
00000d10  33 2c 66 61 64 65 62 32  0d 03 d4 19 20 20 20 20  |3,fadeb2....    |
00000d20  20 20 20 20 4c 44 52 20  52 34 2c 66 61 64 65 70  |    LDR R4,fadep|
00000d30  32 0d 03 de 15 2e 66 61  64 65 6e 20 20 4d 4f 56  |2.....faden  MOV|
00000d40  20 52 30 2c 23 30 0d 03  e8 1b 20 20 20 20 20 20  | R0,#0....      |
00000d50  20 20 53 54 52 42 20 52  30 2c 5b 52 33 5d 2c 23  |  STRB R0,[R3],#|
00000d60  31 0d 03 f2 18 20 20 20  20 20 20 20 20 41 44 44  |1....        ADD|
00000d70  20 52 34 2c 52 34 2c 23  31 0d 03 fc 15 20 20 20  | R4,R4,#1....   |
00000d80  20 20 20 20 20 4d 4f 56  20 52 31 2c 23 32 0d 04  |     MOV R1,#2..|
00000d90  06 1b 2e 66 61 64 65 6e  32 20 4c 44 52 42 20 52  |...faden2 LDRB R|
00000da0  30 2c 5b 52 34 5d 2c 23  31 0d 04 10 19 20 20 20  |0,[R4],#1....   |
00000db0  20 20 20 20 20 53 55 42  53 20 52 30 2c 52 30 2c  |     SUBS R0,R0,|
00000dc0  52 35 0d 04 1a 17 20 20  20 20 20 20 20 20 4d 4f  |R5....        MO|
00000dd0  56 4d 49 20 52 30 2c 23  30 0d 04 24 1b 20 20 20  |VMI R0,#0..$.   |
00000de0  20 20 20 20 20 53 54 52  42 20 52 30 2c 5b 52 33  |     STRB R0,[R3|
00000df0  5d 2c 23 31 0d 04 2e 19  20 20 20 20 20 20 20 20  |],#1....        |
00000e00  53 55 42 53 20 52 31 2c  52 31 2c 23 31 0d 04 38  |SUBS R1,R1,#1..8|
00000e10  16 20 20 20 20 20 20 20  20 42 50 4c 20 66 61 64  |.        BPL fad|
00000e20  65 6e 32 0d 04 42 19 20  20 20 20 20 20 20 20 53  |en2..B.        S|
00000e30  55 42 53 20 52 36 2c 52  36 2c 23 31 0d 04 4c 15  |UBS R6,R6,#1..L.|
00000e40  20 20 20 20 20 20 20 20  42 50 4c 20 66 61 64 65  |        BPL fade|
00000e50  6e 0d 04 56 19 20 20 20  20 20 20 20 20 4c 44 52  |n..V.        LDR|
00000e60  20 52 31 2c 66 61 64 65  62 32 0d 04 60 21 20 20  | R1,fadeb2..`!  |
00000e70  20 20 20 20 20 20 53 57  49 20 22 57 69 6d 70 5f  |      SWI "Wimp_|
00000e80  53 65 74 50 61 6c 65 74  74 65 22 0d 04 6a 16 20  |SetPalette"..j. |
00000e90  20 20 20 20 20 20 20 4d  4f 56 20 52 30 2c 23 31  |       MOV R0,#1|
00000ea0  39 0d 04 74 19 20 20 20  20 20 20 20 20 53 57 49  |9..t.        SWI|
00000eb0  20 22 4f 53 5f 42 79 74  65 22 0d 04 7e 19 20 20  | "OS_Byte"..~.  |
00000ec0  20 20 20 20 20 20 53 55  42 53 20 52 35 2c 52 35  |      SUBS R5,R5|
00000ed0  2c 52 39 0d 04 88 16 20  20 20 20 20 20 20 20 42  |,R9....        B|
00000ee0  50 4c 20 66 61 64 65 6e  33 0d 04 92 19 20 20 20  |PL faden3....   |
00000ef0  20 20 20 20 20 4c 44 52  20 52 31 2c 66 61 64 65  |     LDR R1,fade|
00000f00  70 32 0d 04 9c 21 20 20  20 20 20 20 20 20 53 57  |p2...!        SW|
00000f10  49 20 22 57 69 6d 70 5f  53 65 74 50 61 6c 65 74  |I "Wimp_SetPalet|
00000f20  74 65 22 0d 04 a6 22 20  20 20 20 20 20 20 20 4c  |te"..."        L|
00000f30  44 4d 49 41 20 52 31 33  21 2c 7b 52 30 2d 52 36  |DMIA R13!,{R0-R6|
00000f40  2c 50 43 7d 5e 0d 04 b0  04 0d 04 ba 22 2e 70 6c  |,PC}^.......".pl|
00000f50  65 78 20 20 20 53 54 4d  46 44 20 52 31 33 21 2c  |ex   STMFD R13!,|
00000f60  7b 52 32 2d 52 34 2c 52  31 34 7d 0d 04 c4 1a 20  |{R2-R4,R14}.... |
00000f70  20 20 20 20 20 20 20 52  53 42 20 52 34 2c 52 34  |       RSB R4,R4|
00000f80  2c 23 39 36 30 0d 04 ce  1b 20 20 20 20 20 20 20  |,#960....       |
00000f90  20 4d 4f 56 20 52 34 2c  52 34 2c 41 53 52 23 32  | MOV R4,R4,ASR#2|
00000fa0  0d 04 d8 1b 20 20 20 20  20 20 20 20 4c 44 52 20  |....        LDR |
00000fb0  52 30 2c 5b 52 32 2c 23  33 32 5d 0d 04 e2 1b 20  |R0,[R2,#32].... |
00000fc0  20 20 20 20 20 20 20 4c  44 52 20 52 35 2c 5b 52  |       LDR R5,[R|
00000fd0  32 2c 23 33 36 5d 0d 04  ec 18 20 20 20 20 20 20  |2,#36]....      |
00000fe0  20 20 41 44 44 20 52 30  2c 52 30 2c 52 32 0d 04  |  ADD R0,R0,R2..|
00000ff0  f6 18 20 20 20 20 20 20  20 20 41 44 44 20 52 35  |..        ADD R5|
00001000  2c 52 35 2c 52 32 0d 05  00 19 20 20 20 20 20 20  |,R5,R2....      |
00001010  20 20 4c 44 52 20 52 31  2c 62 61 63 64 72 6f 0d  |  LDR R1,bacdro.|
00001020  05 0a 17 20 20 20 20 20  20 20 20 4d 4f 56 20 52  |...        MOV R|
00001030  32 2c 23 31 36 30 0d 05  14 1b 20 20 20 20 20 20  |2,#160....      |
00001040  20 20 4d 4c 41 20 52 31  2c 52 34 2c 52 32 2c 52  |  MLA R1,R4,R2,R|
00001050  31 0d 05 1e 1e 20 20 20  20 20 20 20 20 41 44 44  |1....        ADD|
00001060  20 52 31 2c 52 31 2c 52  33 2c 41 53 52 23 33 0d  | R1,R1,R3,ASR#3.|
00001070  05 28 16 20 20 20 20 20  20 20 20 4d 4f 56 20 52  |.(.        MOV R|
00001080  32 2c 23 31 35 0d 05 32  1c 2e 65 78 79 6c 70 20  |2,#15..2..exylp |
00001090  20 4c 44 4d 49 41 20 52  31 2c 7b 52 33 2d 52 34  | LDMIA R1,{R3-R4|
000010a0  7d 0d 05 3c 1d 20 20 20  20 20 20 20 20 4c 44 4d  |}..<.        LDM|
000010b0  49 41 20 52 30 21 2c 7b  52 36 2d 52 37 7d 0d 05  |IA R0!,{R6-R7}..|
000010c0  46 1d 20 20 20 20 20 20  20 20 4c 44 4d 49 41 20  |F.        LDMIA |
000010d0  52 35 21 2c 7b 52 38 2d  52 39 7d 0d 05 50 18 20  |R5!,{R8-R9}..P. |
000010e0  20 20 20 20 20 20 20 42  49 43 20 52 33 2c 52 33  |       BIC R3,R3|
000010f0  2c 52 38 0d 05 5a 18 20  20 20 20 20 20 20 20 42  |,R8..Z.        B|
00001100  49 43 20 52 34 2c 52 34  2c 52 39 0d 05 64 17 20  |IC R4,R4,R9..d. |
00001110  20 20 20 20 20 20 20 84  52 20 52 33 2c 52 33 2c  |       .R R3,R3,|
00001120  52 36 0d 05 6e 17 20 20  20 20 20 20 20 20 84 52  |R6..n.        .R|
00001130  20 52 34 2c 52 34 2c 52  37 0d 05 78 1c 20 20 20  | R4,R4,R7..x.   |
00001140  20 20 20 20 20 53 54 4d  49 41 20 52 31 2c 7b 52  |     STMIA R1,{R|
00001150  33 2d 52 34 7d 0d 05 82  1a 20 20 20 20 20 20 20  |3-R4}....       |
00001160  20 41 44 44 20 52 31 2c  52 31 2c 23 31 36 30 0d  | ADD R1,R1,#160.|
00001170  05 8c 19 20 20 20 20 20  20 20 20 53 55 42 53 20  |...        SUBS |
00001180  52 32 2c 52 32 2c 23 31  0d 05 96 15 20 20 20 20  |R2,R2,#1....    |
00001190  20 20 20 20 42 50 4c 20  65 78 79 6c 70 0d 05 a0  |    BPL exylp...|
000011a0  22 20 20 20 20 20 20 20  20 4c 44 4d 49 41 20 52  |"        LDMIA R|
000011b0  31 33 21 2c 7b 52 32 2d  52 34 2c 50 43 7d 5e 0d  |13!,{R2-R4,PC}^.|
000011c0  05 aa 12 2e 64 75 6d 70  20 20 20 45 51 55 44 20  |....dump   EQUD |
000011d0  30 0d 05 b4 1e 2e 62 6f  6e 70 6c 20 20 53 54 4d  |0.....bonpl  STM|
000011e0  46 44 20 52 31 33 21 2c  7b 52 33 2d 52 34 7d 0d  |FD R13!,{R3-R4}.|
000011f0  05 be 1b 20 20 20 20 20  20 20 20 4c 44 52 20 52  |...        LDR R|
00001200  30 2c 5b 52 32 2c 23 33  32 5d 0d 05 c8 18 20 20  |0,[R2,#32]....  |
00001210  20 20 20 20 20 20 41 44  44 20 52 30 2c 52 30 2c  |      ADD R0,R0,|
00001220  52 32 0d 05 d2 19 20 20  20 20 20 20 20 20 4c 44  |R2....        LD|
00001230  52 20 52 31 2c 62 61 63  64 72 6f 0d 05 dc 17 20  |R R1,bacdro.... |
00001240  20 20 20 20 20 20 20 4d  4f 56 20 52 32 2c 23 31  |       MOV R2,#1|
00001250  36 30 0d 05 e6 1a 20 20  20 20 20 20 20 20 52 53  |60....        RS|
00001260  42 20 52 34 2c 52 34 2c  23 39 36 30 0d 05 f0 1b  |B R4,R4,#960....|
00001270  20 20 20 20 20 20 20 20  4d 4f 56 20 52 34 2c 52  |        MOV R4,R|
00001280  34 2c 41 53 52 23 32 0d  05 fa 1b 20 20 20 20 20  |4,ASR#2....     |
00001290  20 20 20 4d 4c 41 20 52  31 2c 52 34 2c 52 32 2c  |   MLA R1,R4,R2,|
000012a0  52 31 0d 06 04 1e 20 20  20 20 20 20 20 20 41 44  |R1....        AD|
000012b0  44 20 52 31 2c 52 31 2c  52 33 2c 41 53 52 23 33  |D R1,R1,R3,ASR#3|
000012c0  0d 06 0e 16 20 20 20 20  20 20 20 20 4d 4f 56 20  |....        MOV |
000012d0  52 35 2c 23 31 35 0d 06  18 1d 2e 79 62 6f 6c 70  |R5,#15.....ybolp|
000012e0  20 20 4c 44 4d 49 41 20  52 30 21 2c 7b 52 33 2d  |  LDMIA R0!,{R3-|
000012f0  52 34 7d 0d 06 22 1c 20  20 20 20 20 20 20 20 53  |R4}..".        S|
00001300  54 4d 49 41 20 52 31 2c  7b 52 33 2d 52 34 7d 0d  |TMIA R1,{R3-R4}.|
00001310  06 2c 1a 20 20 20 20 20  20 20 20 41 44 44 20 52  |.,.        ADD R|
00001320  31 2c 52 31 2c 23 31 36  30 0d 06 36 19 20 20 20  |1,R1,#160..6.   |
00001330  20 20 20 20 20 53 55 42  53 20 52 35 2c 52 35 2c  |     SUBS R5,R5,|
00001340  23 31 0d 06 40 15 20 20  20 20 20 20 20 20 42 50  |#1..@.        BP|
00001350  4c 20 79 62 6f 6c 70 0d  06 4a 1e 20 20 20 20 20  |L ybolp..J.     |
00001360  20 20 20 4c 44 4d 49 41  20 52 31 33 21 2c 7b 52  |   LDMIA R13!,{R|
00001370  33 2d 52 34 7d 0d 06 54  14 20 20 20 20 20 20 20  |3-R4}..T.       |
00001380  20 42 20 62 6f 6e 72 65  74 0d 06 5e 04 0d 06 68  | B bonret..^...h|
00001390  1c 2e 63 72 62 69 74 73  20 53 54 4d 46 44 20 52  |..crbits STMFD R|
000013a0  31 33 21 2c 7b 52 31 34  7d 0d 06 72 17 20 20 20  |13!,{R14}..r.   |
000013b0  20 20 20 20 20 4d 4f 56  20 52 37 2c 23 31 31 32  |     MOV R7,#112|
000013c0  0d 06 7c 14 20 20 20 20  20 20 20 20 42 4c 20 73  |..|.        BL s|
000013d0  6f 75 6e 64 0d 06 86 48  20 20 20 20 20 20 20 20  |ound...H        |
000013e0  4d 4f 56 20 52 31 32 2c  23 31 30 20 20 20 20 20  |MOV R12,#10     |
000013f0  20 20 3b 20 53 74 61 72  74 20 65 78 70 6c 6f 73  |  ; Start explos|
00001400  69 6f 6e 2e 20 52 31 31  2d 63 61 72 20 64 61 74  |ion. R11-car dat|
00001410  61 2c 20 52 39 2d 70 6c  61 79 65 72 0d 06 90 1a  |a, R9-player....|
00001420  20 20 20 20 20 20 20 20  4c 44 52 20 52 31 30 2c  |        LDR R10,|
00001430  65 78 62 69 74 73 0d 06  9a 1d 20 20 20 20 20 20  |exbits....      |
00001440  20 20 4c 44 4d 49 41 20  52 31 31 2c 7b 52 35 2d  |  LDMIA R11,{R5-|
00001450  52 36 7d 0d 06 a4 19 20  20 20 20 20 20 20 20 4c  |R6}....        L|
00001460  44 52 20 52 38 2c 74 61  62 6c 65 32 0d 06 ae 12  |DR R8,table2....|
00001470  2e 6d 61 6b 65 62 74 20  42 4c 20 72 6e 64 0d 06  |.makebt BL rnd..|
00001480  b8 1b 20 20 20 20 20 20  20 20 4d 4f 56 20 52 30  |..        MOV R0|
00001490  2c 52 30 2c 41 53 52 23  32 0d 06 c2 16 20 20 20  |,R0,ASR#2....   |
000014a0  20 20 20 20 20 43 4d 50  20 52 30 2c 23 33 35 0d  |     CMP R0,#35.|
000014b0  06 cc 16 20 20 20 20 20  20 20 20 42 47 54 20 6d  |...        BGT m|
000014c0  61 6b 65 62 74 0d 06 d6  1e 20 20 20 20 20 20 20  |akebt....       |
000014d0  20 41 44 44 20 52 30 2c  52 38 2c 52 30 2c 41 53  | ADD R0,R8,R0,AS|
000014e0  4c 23 33 0d 06 e0 1c 20  20 20 20 20 20 20 20 4c  |L#3....        L|
000014f0  44 4d 49 41 20 52 30 2c  7b 52 33 2d 52 34 7d 0d  |DMIA R0,{R3-R4}.|
00001500  06 ea 12 20 20 20 20 20  20 20 20 42 4c 20 72 6e  |...        BL rn|
00001510  64 0d 06 f4 16 20 20 20  20 20 20 20 20 80 20 52  |d....        . R|
00001520  30 2c 52 30 2c 23 33 0d  06 fe 18 20 20 20 20 20  |0,R0,#3....     |
00001530  20 20 20 41 44 44 20 52  30 2c 52 30 2c 23 31 0d  |   ADD R0,R0,#1.|
00001540  07 08 18 20 20 20 20 20  20 20 20 4d 55 4c 20 52  |...        MUL R|
00001550  33 2c 52 30 2c 52 33 0d  07 12 18 20 20 20 20 20  |3,R0,R3....     |
00001560  20 20 20 4d 55 4c 20 52  34 2c 52 30 2c 52 34 0d  |   MUL R4,R0,R4.|
00001570  07 1c 12 2e 6d 61 6b 65  73 70 20 42 4c 20 72 6e  |....makesp BL rn|
00001580  64 0d 07 26 16 20 20 20  20 20 20 20 20 80 20 52  |d..&.        . R|
00001590  32 2c 52 30 2c 23 37 0d  07 30 15 20 20 20 20 20  |2,R0,#7..0.     |
000015a0  20 20 20 43 4d 50 20 52  32 2c 23 34 0d 07 3a 16  |   CMP R2,#4..:.|
000015b0  20 20 20 20 20 20 20 20  42 47 54 20 6d 61 6b 65  |        BGT make|
000015c0  73 70 0d 07 44 15 20 20  20 20 20 20 20 20 43 4d  |sp..D.        CM|
000015d0  50 20 52 32 2c 23 30 0d  07 4e 17 20 20 20 20 20  |P R2,#0..N.     |
000015e0  20 20 20 43 4d 50 4e 45  20 52 39 2c 23 31 0d 07  |   CMPNE R9,#1..|
000015f0  58 1a 20 20 20 20 20 20  20 20 41 44 44 4e 45 20  |X.        ADDNE |
00001600  52 32 2c 52 32 2c 23 34  0d 07 62 1e 20 20 20 20  |R2,R2,#4..b.    |
00001610  20 20 20 20 53 54 4d 49  41 20 52 31 30 21 2c 7b  |    STMIA R10!,{|
00001620  52 32 2d 52 36 7d 0d 07  6c 1b 20 20 20 20 20 20  |R2-R6}..l.      |
00001630  20 20 53 55 42 53 20 52  31 32 2c 52 31 32 2c 23  |  SUBS R12,R12,#|
00001640  31 0d 07 76 16 20 20 20  20 20 20 20 20 42 50 4c  |1..v.        BPL|
00001650  20 6d 61 6b 65 62 74 0d  07 80 1c 20 20 20 20 20  | makebt....     |
00001660  20 20 20 4c 44 4d 49 41  20 52 31 33 21 2c 7b 50  |   LDMIA R13!,{P|
00001670  43 7d 5e 0d 07 8a 18 2e  74 61 62 6c 65 32 20 45  |C}^.....table2 E|
00001680  51 55 44 20 74 61 25 2b  32 38 30 0d 07 94 14 2e  |QUD ta%+280.....|
00001690  65 78 62 69 74 73 20 45  51 55 44 20 62 74 25 0d  |exbits EQUD bt%.|
000016a0  07 9e 16 2e 62 69 74 73  70 72 20 45 51 55 44 20  |....bitspr EQUD |
000016b0  62 74 73 70 25 0d 07 a8  12 2e 73 70 69 6e 63 20  |btsp%.....spinc |
000016c0  20 45 51 55 44 20 30 0d  07 b2 23 2e 63 61 72 65  | EQUD 0...#.care|
000016d0  78 20 20 53 54 4d 46 44  20 52 31 33 21 2c 7b 52  |x  STMFD R13!,{R|
000016e0  30 2d 52 31 32 2c 52 31  34 7d 0d 07 bc 44 20 20  |0-R12,R14}...D  |
000016f0  20 20 20 20 20 20 4d 4f  56 20 52 31 32 2c 23 31  |      MOV R12,#1|
00001700  30 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |0               |
00001710  20 20 20 20 3b 20 4e 75  6d 62 65 72 20 6f 66 20  |    ; Number of |
00001720  65 78 70 6c 6f 64 69 6e  67 20 62 69 74 73 0d 07  |exploding bits..|
00001730  c6 1a 20 20 20 20 20 20  20 20 4c 44 52 20 52 31  |..        LDR R1|
00001740  31 2c 65 78 62 69 74 73  0d 07 d0 40 20 20 20 20  |1,exbits...@    |
00001750  20 20 20 20 4c 44 52 20  52 31 30 2c 62 69 74 73  |    LDR R10,bits|
00001760  70 72 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |pr              |
00001770  20 3b 20 42 61 73 65 20  6f 66 20 70 69 63 74 75  | ; Base of pictu|
00001780  72 65 20 74 61 62 6c 65  0d 07 da 18 20 20 20 20  |re table....    |
00001790  20 20 20 20 4c 44 52 20  52 39 2c 73 70 69 6e 63  |    LDR R9,spinc|
000017a0  0d 07 e4 18 20 20 20 20  20 20 20 20 41 44 44 20  |....        ADD |
000017b0  52 39 2c 52 39 2c 23 31  0d 07 ee 15 20 20 20 20  |R9,R9,#1....    |
000017c0  20 20 20 20 43 4d 50 20  52 39 2c 23 39 0d 07 f8  |    CMP R9,#9...|
000017d0  14 20 20 20 20 20 20 20  20 ec 51 20 52 39 2c 23  |.        .Q R9,#|
000017e0  30 0d 08 02 18 20 20 20  20 20 20 20 20 53 54 52  |0....        STR|
000017f0  20 52 39 2c 73 70 69 6e  63 0d 08 0c 19 20 20 20  | R9,spinc....   |
00001800  20 20 20 20 20 4c 44 52  20 52 30 2c 73 70 6c 6f  |     LDR R0,splo|
00001810  74 32 0d 08 16 19 20 20  20 20 20 20 20 20 4c 44  |t2....        LD|
00001820  52 20 52 31 2c 73 61 72  65 61 32 0d 08 20 15 20  |R R1,sarea2.. . |
00001830  20 20 20 20 20 20 20 4d  4f 56 20 52 35 2c 23 38  |       MOV R5,#8|
00001840  0d 08 2a 18 2e 62 74 6c  6f 6f 70 20 4c 44 52 20  |..*..btloop LDR |
00001850  52 36 2c 5b 52 31 31 5d  0d 08 34 15 20 20 20 20  |R6,[R11]..4.    |
00001860  20 20 20 20 43 4d 50 20  52 36 2c 23 30 0d 08 3e  |    CMP R6,#0..>|
00001870  17 20 20 20 20 20 20 20  20 54 53 54 4e 45 20 52  |.        TSTNE R|
00001880  39 2c 23 38 0d 08 48 16  20 20 20 20 20 20 20 20  |9,#8..H.        |
00001890  42 45 51 20 6e 6f 73 70  69 6e 0d 08 52 18 20 20  |BEQ nospin..R.  |
000018a0  20 20 20 20 20 20 41 44  44 20 52 36 2c 52 36 2c  |      ADD R6,R6,|
000018b0  23 31 0d 08 5c 15 20 20  20 20 20 20 20 20 43 4d  |#1..\.        CM|
000018c0  50 20 52 36 2c 23 35 0d  08 66 17 20 20 20 20 20  |P R6,#5..f.     |
000018d0  20 20 20 43 4d 50 4e 45  20 52 36 2c 23 39 0d 08  |   CMPNE R6,#9..|
000018e0  70 1a 20 20 20 20 20 20  20 20 53 55 42 45 51 20  |p.        SUBEQ |
000018f0  52 36 2c 52 36 2c 23 34  0d 08 7a 1b 2e 6e 6f 73  |R6,R6,#4..z..nos|
00001900  70 69 6e 20 53 54 52 20  52 36 2c 5b 52 31 31 5d  |pin STR R6,[R11]|
00001910  2c 23 34 0d 08 84 1d 20  20 20 20 20 20 20 20 4c  |,#4....        L|
00001920  44 4d 49 41 20 52 31 31  2c 7b 52 37 2d 52 38 7d  |DMIA R11,{R7-R8}|
00001930  0d 08 8e 16 20 20 20 20  20 20 20 20 4d 4f 56 20  |....        MOV |
00001940  52 32 2c 23 36 33 0d 08  98 18 20 20 20 20 20 20  |R2,#63....      |
00001950  20 20 4d 55 4c 20 52 37  2c 52 32 2c 52 37 0d 08  |  MUL R7,R2,R7..|
00001960  a2 18 20 20 20 20 20 20  20 20 4d 55 4c 20 52 38  |..        MUL R8|
00001970  2c 52 32 2c 52 38 0d 08  ac 1b 20 20 20 20 20 20  |,R2,R8....      |
00001980  20 20 4d 4f 56 20 52 37  2c 52 37 2c 41 53 52 23  |  MOV R7,R7,ASR#|
00001990  36 0d 08 b6 1b 20 20 20  20 20 20 20 20 4d 4f 56  |6....        MOV|
000019a0  20 52 38 2c 52 38 2c 41  53 52 23 36 0d 08 c0 1e  | R8,R8,ASR#6....|
000019b0  20 20 20 20 20 20 20 20  53 54 4d 49 41 20 52 31  |        STMIA R1|
000019c0  31 21 2c 7b 52 37 2d 52  38 7d 0d 08 ca 1d 20 20  |1!,{R7-R8}....  |
000019d0  20 20 20 20 20 20 4c 44  4d 49 41 20 52 31 31 2c  |      LDMIA R11,|
000019e0  7b 52 33 2d 52 34 7d 0d  08 d4 1e 20 20 20 20 20  |{R3-R4}....     |
000019f0  20 20 20 41 44 44 20 52  33 2c 52 33 2c 52 37 2c  |   ADD R3,R3,R7,|
00001a00  41 53 4c 23 32 0d 08 de  1e 20 20 20 20 20 20 20  |ASL#2....       |
00001a10  20 41 44 44 20 52 34 2c  52 34 2c 52 38 2c 41 53  | ADD R4,R4,R8,AS|
00001a20  4c 23 32 0d 08 e8 15 20  20 20 20 20 20 20 20 43  |L#2....        C|
00001a30  4d 50 20 52 37 2c 23 30  0d 08 f2 1a 20 20 20 20  |MP R7,#0....    |
00001a40  20 20 20 20 52 53 42 4d  49 20 52 37 2c 52 37 2c  |    RSBMI R7,R7,|
00001a50  23 30 0d 08 fc 15 20 20  20 20 20 20 20 20 43 4d  |#0....        CM|
00001a60  50 20 52 38 2c 23 30 0d  09 06 1a 20 20 20 20 20  |P R8,#0....     |
00001a70  20 20 20 52 53 42 4d 49  20 52 38 2c 52 38 2c 23  |   RSBMI R8,R8,#|
00001a80  30 0d 09 10 18 20 20 20  20 20 20 20 20 41 44 44  |0....        ADD|
00001a90  20 52 37 2c 52 37 2c 52  38 0d 09 1a 1d 20 20 20  | R7,R7,R8....   |
00001aa0  20 20 20 20 20 43 4d 50  20 52 37 2c 23 35 3c 3c  |     CMP R7,#5<<|
00001ab0  28 73 68 2d 32 29 0d 09  24 1d 20 20 20 20 20 20  |(sh-2)..$.      |
00001ac0  20 20 4d 56 4e 4c 54 20  52 33 2c 23 31 32 38 3c  |  MVNLT R3,#128<|
00001ad0  3c 73 68 0d 09 2e 1e 20  20 20 20 20 20 20 20 53  |<sh....        S|
00001ae0  54 4d 49 41 20 52 31 31  21 2c 7b 52 33 2d 52 34  |TMIA R11!,{R3-R4|
00001af0  7d 0d 09 38 21 20 20 20  20 20 20 20 20 4c 44 52  |}..8!        LDR|
00001b00  20 52 32 2c 5b 52 31 30  2c 52 36 2c 41 53 4c 23  | R2,[R10,R6,ASL#|
00001b10  32 5d 0d 09 42 1c 20 20  20 20 20 20 20 20 4d 4f  |2]..B.        MO|
00001b20  56 20 52 33 2c 52 33 2c  41 53 52 23 73 68 0d 09  |V R3,R3,ASR#sh..|
00001b30  4c 1c 20 20 20 20 20 20  20 20 4d 4f 56 20 52 34  |L.        MOV R4|
00001b40  2c 52 34 2c 41 53 52 23  73 68 0d 09 56 12 20 20  |,R4,ASR#sh..V.  |
00001b50  20 20 20 20 20 20 53 57  49 20 34 36 0d 09 60 1b  |      SWI 46..`.|
00001b60  20 20 20 20 20 20 20 20  53 55 42 53 20 52 31 32  |        SUBS R12|
00001b70  2c 52 31 32 2c 23 31 0d  09 6a 16 20 20 20 20 20  |,R12,#1..j.     |
00001b80  20 20 20 42 50 4c 20 62  74 6c 6f 6f 70 0d 09 74  |   BPL btloop..t|
00001b90  23 20 20 20 20 20 20 20  20 4c 44 4d 49 41 20 52  |#        LDMIA R|
00001ba0  31 33 21 2c 7b 52 30 2d  52 31 32 2c 50 43 7d 5e  |13!,{R0-R12,PC}^|
00001bb0  0d 09 7e 12 2e 64 75 6d  70 32 20 20 45 51 55 44  |..~..dump2  EQUD|
00001bc0  20 30 0d 09 88 40 2e 77  6f 6e 6d 73 31 20 45 51  | 0...@.wonms1 EQ|
00001bd0  55 53 20 22 57 65 6c 6c  20 64 6f 6e 65 21 20 59  |US "Well done! Y|
00001be0  6f 75 20 68 61 76 65 20  63 6f 6d 70 6c 65 74 65  |ou have complete|
00001bf0  64 20 43 61 72 20 57 61  72 73 21 22 3a 41 4c 49  |d Car Wars!":ALI|
00001c00  47 4e 0d 09 92 1a 2e 77  6f 6e 63 6f 6e 20 45 51  |GN.....woncon EQ|
00001c10  55 44 20 63 6f 6e 67 72  61 74 73 25 0d 09 9c 17  |UD congrats%....|
00001c20  2e 77 6f 6e 67 61 6d 20  4d 4f 56 20 52 31 2c 23  |.wongam MOV R1,#|
00001c30  31 34 30 0d 09 a6 13 20  20 20 20 20 20 20 20 42  |140....        B|
00001c40  4c 20 77 61 69 74 0d 09  b0 17 20 20 20 20 20 20  |L wait....      |
00001c50  20 20 4d 4f 56 20 52 30  2c 23 31 31 32 0d 09 ba  |  MOV R0,#112...|
00001c60  15 20 20 20 20 20 20 20  20 4d 4f 56 20 52 31 2c  |.        MOV R1,|
00001c70  23 31 0d 09 c4 19 20 20  20 20 20 20 20 20 53 57  |#1....        SW|
00001c80  49 20 22 4f 53 5f 42 79  74 65 22 0d 09 ce 17 20  |I "OS_Byte".... |
00001c90  20 20 20 20 20 20 20 4d  4f 56 20 52 30 2c 23 31  |       MOV R0,#1|
00001ca0  31 33 0d 09 d8 15 20 20  20 20 20 20 20 20 4d 4f  |13....        MO|
00001cb0  56 20 52 31 2c 23 31 0d  09 e2 19 20 20 20 20 20  |V R1,#1....     |
00001cc0  20 20 20 53 57 49 20 22  4f 53 5f 42 79 74 65 22  |   SWI "OS_Byte"|
00001cd0  0d 09 ec 16 20 20 20 20  20 20 20 20 53 57 49 20  |....        SWI |
00001ce0  32 35 36 2b 31 32 0d 09  f6 41 20 20 20 20 20 20  |256+12...A      |
00001cf0  20 20 53 57 49 20 32 35  36 2b 31 39 3a 53 57 49  |  SWI 256+19:SWI|
00001d00  20 32 35 36 3a 53 57 49  20 32 35 36 2b 32 34 3a  | 256:SWI 256+24:|
00001d10  53 57 49 20 35 31 31 3a  53 57 49 20 35 31 31 3a  |SWI 511:SWI 511:|
00001d20  53 57 49 20 35 31 31 0d  0a 00 18 20 20 20 20 20  |SWI 511....     |
00001d30  20 20 20 4d 4f 56 20 52  31 30 2c 23 35 30 30 0d  |   MOV R10,#500.|
00001d40  0a 0a 15 20 20 20 20 20  20 20 20 4d 4f 56 20 52  |...        MOV R|
00001d50  35 2c 23 38 0d 0a 14 15  20 20 20 20 20 20 20 20  |5,#8....        |
00001d60  4d 4f 56 20 52 36 2c 23  35 0d 0a 1e 12 2e 63 6f  |MOV R6,#5.....co|
00001d70  70 6c 6f 74 20 42 4c 20  72 6e 64 0d 0a 28 18 20  |plot BL rnd..(. |
00001d80  20 20 20 20 20 20 20 4d  55 4c 20 52 33 2c 52 30  |       MUL R3,R0|
00001d90  2c 52 36 0d 0a 32 1a 20  20 20 20 20 20 20 20 53  |,R6..2.        S|
00001da0  55 42 20 52 33 2c 52 33  2c 23 33 30 30 0d 0a 3c  |UB R3,R3,#300..<|
00001db0  12 20 20 20 20 20 20 20  20 42 4c 20 72 6e 64 0d  |.        BL rnd.|
00001dc0  0a 46 1b 20 20 20 20 20  20 20 20 4d 4f 56 20 52  |.F.        MOV R|
00001dd0  34 2c 52 30 2c 41 53 4c  23 32 0d 0a 50 19 20 20  |4,R0,ASL#2..P.  |
00001de0  20 20 20 20 20 20 53 55  42 20 52 34 2c 52 34 2c  |      SUB R4,R4,|
00001df0  23 36 34 0d 0a 5a 19 20  20 20 20 20 20 20 20 4c  |#64..Z.        L|
00001e00  44 52 20 52 30 2c 73 70  6c 6f 74 32 0d 0a 64 19  |DR R0,splot2..d.|
00001e10  20 20 20 20 20 20 20 20  4c 44 52 20 52 31 2c 73  |        LDR R1,s|
00001e20  61 72 65 61 32 0d 0a 6e  19 20 20 20 20 20 20 20  |area2..n.       |
00001e30  20 4c 44 52 20 52 32 2c  77 6f 6e 63 6f 6e 0d 0a  | LDR R2,woncon..|
00001e40  78 12 20 20 20 20 20 20  20 20 53 57 49 20 34 36  |x.        SWI 46|
00001e50  0d 0a 82 1b 20 20 20 20  20 20 20 20 53 55 42 53  |....        SUBS|
00001e60  20 52 31 30 2c 52 31 30  2c 23 31 0d 0a 8c 16 20  | R10,R10,#1.... |
00001e70  20 20 20 20 20 20 20 42  50 4c 20 63 6f 70 6c 6f  |       BPL coplo|
00001e80  74 0d 0a 96 35 20 20 20  20 20 20 20 20 53 57 49  |t...5        SWI|
00001e90  20 32 35 36 2b 32 33 3a  53 57 49 20 32 35 36 2b  | 256+23:SWI 256+|
00001ea0  31 37 3a 53 57 49 20 32  35 36 2b 37 3a 53 57 49  |17:SWI 256+7:SWI|
00001eb0  20 32 35 36 2b 37 0d 0a  a0 48 20 20 20 20 20 20  | 256+7...H      |
00001ec0  20 20 53 57 49 20 32 35  36 2b 38 3a 53 57 49 20  |  SWI 256+8:SWI |
00001ed0  32 35 36 2b 30 3a 53 57  49 20 32 35 36 2b 31 36  |256+0:SWI 256+16|
00001ee0  3a 53 57 49 20 32 35 36  2b 30 3a 53 57 49 20 32  |:SWI 256+0:SWI 2|
00001ef0  35 36 2b 30 3a 53 57 49  20 32 35 36 2b 30 0d 0a  |56+0:SWI 256+0..|
00001f00  aa 1f 20 20 20 20 20 20  20 20 53 57 49 20 32 35  |..        SWI 25|
00001f10  36 2b 30 3a 53 57 49 20  32 35 36 2b 30 0d 0a b4  |6+0:SWI 256+0...|
00001f20  34 20 20 20 20 20 20 20  20 53 57 49 20 32 35 36  |4        SWI 256|
00001f30  2b 31 38 3a 53 57 49 20  32 35 36 2b 30 3a 53 57  |+18:SWI 256+0:SW|
00001f40  49 20 32 35 36 2b 30 3a  53 57 49 20 32 35 36 2b  |I 256+0:SWI 256+|
00001f50  35 0d 0a be 2c 20 20 20  20 20 20 20 20 4d 4f 56  |5...,        MOV|
00001f60  20 52 30 2c 23 34 3a 4d  4f 56 20 52 31 2c 23 32  | R0,#4:MOV R1,#2|
00001f70  38 3a 4d 4f 56 20 52 32  2c 23 37 30 30 0d 0a c8  |8:MOV R2,#700...|
00001f80  23 20 20 20 20 20 20 20  20 53 57 49 20 22 4f 53  |#        SWI "OS|
00001f90  5f 50 6c 6f 74 22 3a 42  4c 20 77 6f 6e 6d 73 32  |_Plot":BL wonms2|
00001fa0  0d 0a d2 2e 20 20 20 20  20 20 20 20 4d 4f 56 20  |....        MOV |
00001fb0  52 31 2c 23 33 36 3a 53  57 49 20 22 4f 53 5f 50  |R1,#36:SWI "OS_P|
00001fc0  6c 6f 74 22 3a 42 4c 20  77 6f 6e 6d 73 32 0d 0a  |lot":BL wonms2..|
00001fd0  dc 22 20 20 20 20 20 20  20 20 4d 4f 56 20 52 31  |."        MOV R1|
00001fe0  2c 23 33 32 3a 4d 4f 56  20 52 32 2c 23 36 39 36  |,#32:MOV R2,#696|
00001ff0  0d 0a e6 23 20 20 20 20  20 20 20 20 53 57 49 20  |...#        SWI |
00002000  22 4f 53 5f 50 6c 6f 74  22 3a 42 4c 20 77 6f 6e  |"OS_Plot":BL won|
00002010  6d 73 32 0d 0a f0 2f 20  20 20 20 20 20 20 20 4d  |ms2.../        M|
00002020  4f 56 20 52 32 2c 23 37  30 34 3a 53 57 49 20 22  |OV R2,#704:SWI "|
00002030  4f 53 5f 50 6c 6f 74 22  3a 42 4c 20 77 6f 6e 6d  |OS_Plot":BL wonm|
00002040  73 32 0d 0a fa 2a 20 20  20 20 20 20 20 20 53 57  |s2...*        SW|
00002050  49 20 32 35 36 2b 31 38  3a 53 57 49 20 32 35 36  |I 256+18:SWI 256|
00002060  2b 30 3a 53 57 49 20 32  35 36 2b 38 0d 0b 04 2f  |+0:SWI 256+8.../|
00002070  20 20 20 20 20 20 20 20  4d 4f 56 20 52 32 2c 23  |        MOV R2,#|
00002080  37 30 30 3a 53 57 49 20  22 4f 53 5f 50 6c 6f 74  |700:SWI "OS_Plot|
00002090  22 3a 42 4c 20 77 6f 6e  6d 73 32 0d 0b 0e 35 20  |":BL wonms2...5 |
000020a0  20 20 20 20 20 20 20 53  57 49 20 32 35 36 2b 32  |       SWI 256+2|
000020b0  33 3a 53 57 49 20 32 35  36 2b 31 37 3a 53 57 49  |3:SWI 256+17:SWI|
000020c0  20 32 35 36 2b 37 3a 53  57 49 20 32 35 36 2b 37  | 256+7:SWI 256+7|
000020d0  0d 0b 18 47 20 20 20 20  20 20 20 20 53 57 49 20  |...G        SWI |
000020e0  32 35 36 2b 38 3a 53 57  49 20 32 35 36 2b 30 3a  |256+8:SWI 256+0:|
000020f0  53 57 49 20 32 35 36 2b  38 3a 53 57 49 20 32 35  |SWI 256+8:SWI 25|
00002100  36 2b 30 3a 53 57 49 20  32 35 36 2b 30 3a 53 57  |6+0:SWI 256+0:SW|
00002110  49 20 32 35 36 2b 30 0d  0b 22 1f 20 20 20 20 20  |I 256+0..".     |
00002120  20 20 20 53 57 49 20 32  35 36 2b 30 3a 53 57 49  |   SWI 256+0:SWI|
00002130  20 32 35 36 2b 30 0d 0b  2c 21 20 20 20 20 20 20  | 256+0..,!      |
00002140  20 20 53 57 49 20 32 35  36 2b 34 3a 4d 4f 56 20  |  SWI 256+4:MOV |
00002150  52 31 2c 23 32 30 30 0d  0b 36 13 20 20 20 20 20  |R1,#200..6.     |
00002160  20 20 20 42 4c 20 77 61  69 74 0d 0b 40 12 20 20  |   BL wait..@.  |
00002170  20 20 20 20 20 20 42 20  6c 6f 73 74 0d 0b 4a 19  |      B lost..J.|
00002180  2e 77 6f 6e 6d 73 32 20  41 44 52 20 52 30 2c 77  |.wonms2 ADR R0,w|
00002190  6f 6e 6d 73 31 0d 0b 54  1b 20 20 20 20 20 20 20  |onms1..T.       |
000021a0  20 53 57 49 20 22 4f 53  5f 57 72 69 74 65 30 22  | SWI "OS_Write0"|
000021b0  0d 0b 5e 20 20 20 20 20  20 20 20 20 4d 4f 56 20  |..^         MOV |
000021c0  52 30 2c 23 34 3a 4d 4f  56 20 50 43 2c 52 31 34  |R0,#4:MOV PC,R14|
000021d0  0d 0b 68 04 0d 0b 72 1c  2e 62 61 63 64 72 69 20  |..h...r..bacdri |
000021e0  45 51 55 44 20 31 34 38  3a 45 51 55 44 20 2d 31  |EQUD 148:EQUD -1|
000021f0  0d 0b 7c 19 2e 62 61 63  64 72 6f 20 45 51 55 44  |..|..bacdro EQUD|
00002200  20 30 3a 45 51 55 44 20  30 0d 0b 86 18 2e 62 61  | 0:EQUD 0.....ba|
00002210  63 73 70 72 20 45 51 55  44 20 62 61 63 6b 73 70  |cspr EQUD backsp|
00002220  25 0d 0b 90 12 2e 73 74  61 63 74 70 20 45 51 55  |%.....stactp EQU|
00002230  44 20 30 0d 0b 9a 1a 2e  63 6c 73 62 61 63 20 53  |D 0.....clsbac S|
00002240  54 52 20 52 31 33 2c 73  74 61 63 74 70 0d 0b a4  |TR R13,stactp...|
00002250  19 20 20 20 20 20 20 20  20 53 54 52 20 52 30 2c  |.        STR R0,|
00002260  62 61 63 64 72 6f 0d 0b  ae 19 20 20 20 20 20 20  |bacdro....      |
00002270  20 20 4c 44 52 20 52 31  2c 62 61 63 73 70 72 0d  |  LDR R1,bacspr.|
00002280  0b b8 1b 20 20 20 20 20  20 20 20 4c 44 52 20 52  |...        LDR R|
00002290  32 2c 5b 52 31 2c 23 33  32 5d 0d 0b c2 18 20 20  |2,[R1,#32]....  |
000022a0  20 20 20 20 20 20 41 44  44 20 52 31 2c 52 31 2c  |      ADD R1,R1,|
000022b0  52 32 0d 0b cc 17 20 20  20 20 20 20 20 20 4d 4f  |R2....        MO|
000022c0  56 20 52 32 2c 23 31 34  31 0d 0b d6 1e 2e 62 61  |V R2,#141.....ba|
000022d0  63 70 6c 6f 20 4c 44 4d  49 41 20 52 31 21 2c 7b  |cplo LDMIA R1!,{|
000022e0  52 33 2d 52 31 34 7d 0d  0b e0 1e 20 20 20 20 20  |R3-R14}....     |
000022f0  20 20 20 53 54 4d 49 41  20 52 30 21 2c 7b 52 33  |   STMIA R0!,{R3|
00002300  2d 52 31 34 7d 0d 0b ea  1e 20 20 20 20 20 20 20  |-R14}....       |
00002310  20 4c 44 4d 49 41 20 52  31 21 2c 7b 52 33 2d 52  | LDMIA R1!,{R3-R|
00002320  31 34 7d 0d 0b f4 1e 20  20 20 20 20 20 20 20 53  |14}....        S|
00002330  54 4d 49 41 20 52 30 21  2c 7b 52 33 2d 52 31 34  |TMIA R0!,{R3-R14|
00002340  7d 0d 0b fe 1e 20 20 20  20 20 20 20 20 4c 44 4d  |}....        LDM|
00002350  49 41 20 52 31 21 2c 7b  52 33 2d 52 31 34 7d 0d  |IA R1!,{R3-R14}.|
00002360  0c 08 1e 20 20 20 20 20  20 20 20 53 54 4d 49 41  |...        STMIA|
00002370  20 52 30 21 2c 7b 52 33  2d 52 31 34 7d 0d 0c 12  | R0!,{R3-R14}...|
00002380  1e 20 20 20 20 20 20 20  20 4c 44 4d 49 41 20 52  |.        LDMIA R|
00002390  31 21 2c 7b 52 33 2d 52  31 34 7d 0d 0c 1c 1e 20  |1!,{R3-R14}.... |
000023a0  20 20 20 20 20 20 20 53  54 4d 49 41 20 52 30 21  |       STMIA R0!|
000023b0  2c 7b 52 33 2d 52 31 34  7d 0d 0c 26 1e 20 20 20  |,{R3-R14}..&.   |
000023c0  20 20 20 20 20 4c 44 4d  49 41 20 52 31 21 2c 7b  |     LDMIA R1!,{|
000023d0  52 33 2d 52 31 34 7d 0d  0c 30 1e 20 20 20 20 20  |R3-R14}..0.     |
000023e0  20 20 20 53 54 4d 49 41  20 52 30 21 2c 7b 52 33  |   STMIA R0!,{R3|
000023f0  2d 52 31 34 7d 0d 0c 3a  1e 20 20 20 20 20 20 20  |-R14}..:.       |
00002400  20 4c 44 4d 49 41 20 52  31 21 2c 7b 52 33 2d 52  | LDMIA R1!,{R3-R|
00002410  31 34 7d 0d 0c 44 1e 20  20 20 20 20 20 20 20 53  |14}..D.        S|
00002420  54 4d 49 41 20 52 30 21  2c 7b 52 33 2d 52 31 34  |TMIA R0!,{R3-R14|
00002430  7d 0d 0c 4e 19 20 20 20  20 20 20 20 20 53 55 42  |}..N.        SUB|
00002440  53 20 52 32 2c 52 32 2c  23 31 0d 0c 58 16 20 20  |S R2,R2,#1..X.  |
00002450  20 20 20 20 20 20 42 50  4c 20 62 61 63 70 6c 6f  |      BPL bacplo|
00002460  0d 0c 62 1e 20 20 20 20  20 20 20 20 4c 44 4d 49  |..b.        LDMI|
00002470  41 20 52 31 21 2c 7b 52  33 2d 52 31 34 7d 0d 0c  |A R1!,{R3-R14}..|
00002480  6c 1e 20 20 20 20 20 20  20 20 53 54 4d 49 41 20  |l.        STMIA |
00002490  52 30 21 2c 7b 52 33 2d  52 31 34 7d 0d 0c 76 1d  |R0!,{R3-R14}..v.|
000024a0  20 20 20 20 20 20 20 20  4c 44 4d 49 41 20 52 31  |        LDMIA R1|
000024b0  21 2c 7b 52 33 2d 52 36  7d 0d 0c 80 1d 20 20 20  |!,{R3-R6}....   |
000024c0  20 20 20 20 20 53 54 4d  49 41 20 52 30 21 2c 7b  |     STMIA R0!,{|
000024d0  52 33 2d 52 36 7d 0d 0c  8a 1a 20 20 20 20 20 20  |R3-R6}....      |
000024e0  20 20 4c 44 52 20 52 31  33 2c 73 74 61 63 74 70  |  LDR R13,stactp|
000024f0  0d 0c 94 13 20 20 20 20  20 20 20 20 42 20 64 72  |....        B dr|
00002500  61 77 62 0d 0c 9e 17 2e  62 65 67 73 70 72 20 45  |awb.....begspr E|
00002510  51 55 44 20 62 6c 65 76  74 25 0d 0c a8 12 2e 62  |QUD blevt%.....b|
00002520  65 68 6e 64 73 20 45 51  55 44 20 30 0d 0c b2 16  |ehnds EQUD 0....|
00002530  2e 74 69 6d 65 73 70 20  45 51 55 44 20 74 69 6d  |.timesp EQUD tim|
00002540  65 25 0d 0c bc 17 2e 74  69 6d 65 63 20 20 45 51  |e%.....timec  EQ|
00002550  55 44 20 39 39 39 3c 3c  35 0d 0c c6 19 2e 62 6c  |UD 999<<5.....bl|
00002560  72 6f 75 74 20 4c 44 52  20 52 32 2c 62 65 67 73  |rout LDR R2,begs|
00002570  70 72 0d 0c d0 19 20 20  20 20 20 20 20 20 4c 44  |pr....        LD|
00002580  52 20 52 30 2c 62 65 68  6e 64 73 0d 0c da 17 20  |R R0,behnds.... |
00002590  20 20 20 20 20 20 20 43  4d 50 20 52 30 2c 23 32  |       CMP R0,#2|
000025a0  35 34 0d 0c e4 16 20 20  20 20 20 20 20 20 42 47  |54....        BG|
000025b0  54 20 62 6c 72 6f 74 32  0d 0c ee 18 20 20 20 20  |T blrot2....    |
000025c0  20 20 20 20 41 44 44 20  52 36 2c 52 30 2c 23 31  |    ADD R6,R0,#1|
000025d0  0d 0c f8 19 20 20 20 20  20 20 20 20 53 54 52 20  |....        STR |
000025e0  52 36 2c 62 65 68 6e 64  73 0d 0d 02 19 20 20 20  |R6,behnds....   |
000025f0  20 20 20 20 20 4c 44 52  20 52 31 2c 62 61 63 64  |     LDR R1,bacd|
00002600  72 6f 0d 0d 0c 1b 20 20  20 20 20 20 20 20 4c 44  |ro....        LD|
00002610  52 20 52 33 2c 5b 52 32  2c 23 33 32 5d 0d 0d 16  |R R3,[R2,#32]...|
00002620  1b 20 20 20 20 20 20 20  20 4c 44 52 20 52 34 2c  |.        LDR R4,|
00002630  5b 52 32 2c 23 33 36 5d  0d 0d 20 18 20 20 20 20  |[R2,#36].. .    |
00002640  20 20 20 20 41 44 44 20  52 33 2c 52 33 2c 52 32  |    ADD R3,R3,R2|
00002650  0d 0d 2a 18 20 20 20 20  20 20 20 20 41 44 44 20  |..*.        ADD |
00002660  52 34 2c 52 34 2c 52 32  0d 0d 34 17 20 20 20 20  |R4,R4,R2..4.    |
00002670  20 20 20 20 4d 4f 56 20  52 35 2c 23 31 36 30 0d  |    MOV R5,#160.|
00002680  0d 3e 1b 20 20 20 20 20  20 20 20 4d 4c 41 20 52  |.>.        MLA R|
00002690  30 2c 52 35 2c 52 36 2c  52 31 0d 0d 48 19 20 20  |0,R5,R6,R1..H.  |
000026a0  20 20 20 20 20 20 41 44  44 20 52 30 2c 52 30 2c  |      ADD R0,R0,|
000026b0  23 33 34 0d 0d 52 16 20  20 20 20 20 20 20 20 4d  |#34..R.        M|
000026c0  4f 56 20 52 31 2c 23 32  32 0d 0d 5c 17 20 20 20  |OV R1,#22..\.   |
000026d0  20 20 20 20 20 43 4d 50  20 52 36 2c 23 32 33 33  |     CMP R6,#233|
000026e0  0d 0d 66 1c 20 20 20 20  20 20 20 20 53 55 42 47  |..f.        SUBG|
000026f0  54 20 52 36 2c 52 36 2c  23 32 33 33 0d 0d 70 1a  |T R6,R6,#233..p.|
00002700  20 20 20 20 20 20 20 20  53 55 42 47 54 20 52 31  |        SUBGT R1|
00002710  2c 52 31 2c 52 36 0d 0d  7a 16 2e 79 62 6c 6f 6f  |,R1,R6..z..ybloo|
00002720  70 20 4d 4f 56 20 52 35  2c 23 31 30 0d 0d 84 1c  |p MOV R5,#10....|
00002730  2e 78 62 6c 6f 6f 70 20  4c 44 4d 49 41 20 52 30  |.xbloop LDMIA R0|
00002740  2c 7b 52 36 2d 52 37 7d  0d 0d 8e 1d 20 20 20 20  |,{R6-R7}....    |
00002750  20 20 20 20 4c 44 4d 49  41 20 52 33 21 2c 7b 52  |    LDMIA R3!,{R|
00002760  38 2d 52 39 7d 0d 0d 98  1f 20 20 20 20 20 20 20  |8-R9}....       |
00002770  20 4c 44 4d 49 41 20 52  34 21 2c 7b 52 31 30 2d  | LDMIA R4!,{R10-|
00002780  52 31 31 7d 0d 0d a2 19  20 20 20 20 20 20 20 20  |R11}....        |
00002790  42 49 43 20 52 36 2c 52  36 2c 52 31 30 0d 0d ac  |BIC R6,R6,R10...|
000027a0  17 20 20 20 20 20 20 20  20 84 52 20 52 36 2c 52  |.        .R R6,R|
000027b0  36 2c 52 38 0d 0d b6 19  20 20 20 20 20 20 20 20  |6,R8....        |
000027c0  42 49 43 20 52 37 2c 52  37 2c 52 31 31 0d 0d c0  |BIC R7,R7,R11...|
000027d0  17 20 20 20 20 20 20 20  20 84 52 20 52 37 2c 52  |.        .R R7,R|
000027e0  37 2c 52 39 0d 0d ca 1d  20 20 20 20 20 20 20 20  |7,R9....        |
000027f0  53 54 4d 49 41 20 52 30  21 2c 7b 52 36 2d 52 37  |STMIA R0!,{R6-R7|
00002800  7d 0d 0d d4 19 20 20 20  20 20 20 20 20 53 55 42  |}....        SUB|
00002810  53 20 52 35 2c 52 35 2c  23 31 0d 0d de 16 20 20  |S R5,R5,#1....  |
00002820  20 20 20 20 20 20 42 50  4c 20 78 62 6c 6f 6f 70  |      BPL xbloop|
00002830  0d 0d e8 22 20 20 20 20  20 20 20 20 41 44 44 20  |..."        ADD |
00002840  52 30 2c 52 30 2c 23 31  36 30 2d 28 32 32 3c 3c  |R0,R0,#160-(22<<|
00002850  32 29 0d 0d f2 19 20 20  20 20 20 20 20 20 53 55  |2)....        SU|
00002860  42 53 20 52 31 2c 52 31  2c 23 31 0d 0d fc 16 20  |BS R1,R1,#1.... |
00002870  20 20 20 20 20 20 20 42  50 4c 20 79 62 6c 6f 6f  |       BPL ybloo|
00002880  70 0d 0e 06 19 2e 62 6c  72 6f 74 32 20 4c 44 52  |p.....blrot2 LDR|
00002890  20 52 30 2c 73 70 6c 6f  74 32 0d 0e 10 19 20 20  | R0,splot2....  |
000028a0  20 20 20 20 20 20 4c 44  52 20 52 31 2c 73 61 72  |      LDR R1,sar|
000028b0  65 61 32 0d 0e 1a 19 20  20 20 20 20 20 20 20 4c  |ea2....        L|
000028c0  44 52 20 52 32 2c 74 69  6d 65 73 70 0d 0e 24 17  |DR R2,timesp..$.|
000028d0  20 20 20 20 20 20 20 20  4d 4f 56 20 52 33 2c 23  |        MOV R3,#|
000028e0  38 32 34 0d 0e 2e 17 20  20 20 20 20 20 20 20 4d  |824....        M|
000028f0  4f 56 20 52 34 2c 23 38  30 30 0d 0e 38 15 20 20  |OV R4,#800..8.  |
00002900  20 20 20 20 20 20 4d 4f  56 20 52 35 2c 23 38 0d  |      MOV R5,#8.|
00002910  0e 42 12 20 20 20 20 20  20 20 20 53 57 49 20 34  |.B.        SWI 4|
00002920  36 0d 0e 4c 18 20 20 20  20 20 20 20 20 4c 44 52  |6..L.        LDR|
00002930  20 52 38 2c 74 69 6d 65  63 0d 0e 56 19 20 20 20  | R8,timec..V.   |
00002940  20 20 20 20 20 53 55 42  53 20 52 38 2c 52 38 2c  |     SUBS R8,R8,|
00002950  23 31 0d 0e 60 13 20 20  20 20 20 20 20 20 42 4d  |#1..`.        BM|
00002960  49 20 77 6f 6e 0d 0e 6a  18 20 20 20 20 20 20 20  |I won..j.       |
00002970  20 53 54 52 20 52 38 2c  74 69 6d 65 63 0d 0e 74  | STR R8,timec..t|
00002980  1b 20 20 20 20 20 20 20  20 4d 4f 56 20 52 38 2c  |.        MOV R8,|
00002990  52 38 2c 41 53 52 23 35  0d 0e 7e 18 20 20 20 20  |R8,ASR#5..~.    |
000029a0  20 20 20 20 4d 4f 56 20  52 33 2c 23 31 30 30 30  |    MOV R3,#1000|
000029b0  0d 0e 88 17 20 20 20 20  20 20 20 20 4d 4f 56 20  |....        MOV |
000029c0  52 36 2c 23 31 30 30 0d  0e 92 17 20 20 20 20 20  |R6,#100....     |
000029d0  20 20 20 4c 44 52 20 52  39 2c 6e 75 6d 73 0d 0e  |   LDR R9,nums..|
000029e0  9c 16 2e 64 69 76 6c 33  20 20 4d 56 4e 20 52 31  |...divl3  MVN R1|
000029f0  31 2c 23 30 0d 0e a6 16  20 20 20 20 20 20 20 20  |1,#0....        |
00002a00  4d 4f 56 20 52 31 30 2c  23 30 0d 0e b0 1a 2e 64  |MOV R10,#0.....d|
00002a10  69 76 6c 34 20 20 41 44  44 20 52 31 31 2c 52 31  |ivl4  ADD R11,R1|
00002a20  31 2c 23 31 0d 0e ba 1a  20 20 20 20 20 20 20 20  |1,#1....        |
00002a30  41 44 44 20 52 31 30 2c  52 31 30 2c 52 36 0d 0e  |ADD R10,R10,R6..|
00002a40  c4 16 20 20 20 20 20 20  20 20 43 4d 50 20 52 31  |..        CMP R1|
00002a50  30 2c 52 38 0d 0e ce 15  20 20 20 20 20 20 20 20  |0,R8....        |
00002a60  42 4c 45 20 64 69 76 6c  34 0d 0e d8 21 20 20 20  |BLE divl4...!   |
00002a70  20 20 20 20 20 4c 44 52  20 52 32 2c 5b 52 39 2c  |     LDR R2,[R9,|
00002a80  52 31 31 2c 41 53 4c 23  32 5d 0d 0e e2 12 20 20  |R11,ASL#2]....  |
00002a90  20 20 20 20 20 20 53 57  49 20 34 36 0d 0e ec 1a  |      SWI 46....|
00002aa0  20 20 20 20 20 20 20 20  53 55 42 20 52 31 30 2c  |        SUB R10,|
00002ab0  52 31 30 2c 52 36 0d 0e  f6 19 20 20 20 20 20 20  |R10,R6....      |
00002ac0  20 20 53 55 42 20 52 38  2c 52 38 2c 52 31 30 0d  |  SUB R8,R8,R10.|
00002ad0  0f 00 19 20 20 20 20 20  20 20 20 41 44 44 20 52  |...        ADD R|
00002ae0  33 2c 52 33 2c 23 35 32  0d 0f 0a 17 20 20 20 20  |3,R3,#52....    |
00002af0  20 20 20 20 43 4d 50 20  52 36 2c 23 31 30 30 0d  |    CMP R6,#100.|
00002b00  0f 14 15 20 20 20 20 20  20 20 20 ec 51 20 52 36  |...        .Q R6|
00002b10  2c 23 31 30 0d 0f 1e 15  20 20 20 20 20 20 20 20  |,#10....        |
00002b20  42 45 51 20 64 69 76 6c  33 0d 0f 28 16 20 20 20  |BEQ divl3..(.   |
00002b30  20 20 20 20 20 43 4d 50  20 52 36 2c 23 31 30 0d  |     CMP R6,#10.|
00002b40  0f 32 14 20 20 20 20 20  20 20 20 ec 51 20 52 36  |.2.        .Q R6|
00002b50  2c 23 31 0d 0f 3c 15 20  20 20 20 20 20 20 20 42  |,#1..<.        B|
00002b60  45 51 20 64 69 76 6c 33  0d 0f 46 16 20 20 20 20  |EQ divl3..F.    |
00002b70  20 20 20 20 4d 4f 56 20  50 43 2c 52 31 34 0d 0f  |    MOV PC,R14..|
00002b80  50 17 2e 66 78 20 20 20  20 20 45 51 55 44 20 73  |P..fx     EQUD s|
00002b90  6f 75 6e 64 25 0d 0f 5a  22 2e 73 6f 75 6e 64 20  |ound%..Z".sound |
00002ba0  20 53 54 4d 46 44 20 52  31 33 21 2c 7b 52 30 2d  | STMFD R13!,{R0-|
00002bb0  52 33 2c 52 31 34 7d 0d  0f 64 15 20 20 20 20 20  |R3,R14}..d.     |
00002bc0  20 20 20 4c 44 52 20 52  30 2c 66 78 0d 0f 6e 18  |   LDR R0,fx..n.|
00002bd0  20 20 20 20 20 20 20 20  41 44 44 20 52 37 2c 52  |        ADD R7,R|
00002be0  37 2c 52 30 0d 0f 78 1c  20 20 20 20 20 20 20 20  |7,R0..x.        |
00002bf0  4c 44 4d 46 44 20 52 37  2c 7b 52 30 2d 52 33 7d  |LDMFD R7,{R0-R3}|
00002c00  0d 0f 82 1f 20 20 20 20  20 20 20 20 53 57 49 20  |....        SWI |
00002c10  22 53 6f 75 6e 64 5f 43  6f 6e 74 72 6f 6c 22 0d  |"Sound_Control".|
00002c20  0f 8c 22 20 20 20 20 20  20 20 20 4c 44 4d 49 41  |.."        LDMIA|
00002c30  20 52 31 33 21 2c 7b 52  30 2d 52 33 2c 50 43 7d  | R13!,{R0-R3,PC}|
00002c40  5e 0d 0f 96 22 2e 73 6f  75 6e 64 32 20 53 54 4d  |^...".sound2 STM|
00002c50  46 44 20 52 31 33 21 2c  7b 52 30 2d 52 33 2c 52  |FD R13!,{R0-R3,R|
00002c60  31 34 7d 0d 0f a0 15 20  20 20 20 20 20 20 20 4c  |14}....        L|
00002c70  44 52 20 52 30 2c 66 78  0d 0f aa 18 20 20 20 20  |DR R0,fx....    |
00002c80  20 20 20 20 41 44 44 20  52 35 2c 52 35 2c 52 30  |    ADD R5,R5,R0|
00002c90  0d 0f b4 1c 20 20 20 20  20 20 20 20 4c 44 4d 46  |....        LDMF|
00002ca0  44 20 52 35 2c 7b 52 30  2d 52 33 7d 0d 0f be 1f  |D R5,{R0-R3}....|
00002cb0  20 20 20 20 20 20 20 20  53 57 49 20 22 53 6f 75  |        SWI "Sou|
00002cc0  6e 64 5f 43 6f 6e 74 72  6f 6c 22 0d 0f c8 22 20  |nd_Control"..." |
00002cd0  20 20 20 20 20 20 20 4c  44 4d 49 41 20 52 31 33  |       LDMIA R13|
00002ce0  21 2c 7b 52 30 2d 52 33  2c 50 43 7d 5e 0d 0f d2  |!,{R0-R3,PC}^...|
00002cf0  12 2e 68 69 70 6f 73 20  20 45 51 55 44 20 30 0d  |..hipos  EQUD 0.|
00002d00  0f dc 12 2e 61 63 74 68  69 20 20 45 51 55 44 20  |....acthi  EQUD |
00002d10  30 0d 0f e6 3d 2e 68 69  65 6e 74 72 20 45 51 55  |0...=.hientr EQU|
00002d20  53 20 22 43 6f 6e 67 72  61 74 75 6c 61 74 69 6f  |S "Congratulatio|
00002d30  6e 73 21 20 45 6e 74 65  72 20 79 6f 75 72 20 6e  |ns! Enter your n|
00002d40  61 6d 65 21 22 2b bd 30  3a 41 4c 49 47 4e 0d 0f  |ame!"+.0:ALIGN..|
00002d50  f0 19 2e 6c 6f 73 74 20  20 20 4c 44 52 20 52 30  |...lost   LDR R0|
00002d60  2c 73 70 6c 6f 74 32 0d  0f fa 19 20 20 20 20 20  |,splot2....     |
00002d70  20 20 20 4c 44 52 20 52  31 2c 73 61 72 65 61 32  |   LDR R1,sarea2|
00002d80  0d 10 04 18 20 20 20 20  20 20 20 20 4c 44 52 20  |....        LDR |
00002d90  52 32 2c 67 6f 76 65 72  0d 10 0e 17 20 20 20 20  |R2,gover....    |
00002da0  20 20 20 20 4d 4f 56 20  52 33 2c 23 32 37 32 0d  |    MOV R3,#272.|
00002db0  10 18 17 20 20 20 20 20  20 20 20 4d 4f 56 20 52  |...        MOV R|
00002dc0  34 2c 23 34 36 38 0d 10  22 15 20 20 20 20 20 20  |4,#468..".      |
00002dd0  20 20 4d 4f 56 20 52 35  2c 23 38 0d 10 2c 12 20  |  MOV R5,#8..,. |
00002de0  20 20 20 20 20 20 20 53  57 49 20 34 36 0d 10 36  |       SWI 46..6|
00002df0  17 20 20 20 20 20 20 20  20 4d 4f 56 20 52 31 2c  |.        MOV R1,|
00002e00  23 31 30 30 0d 10 40 13  20 20 20 20 20 20 20 20  |#100..@.        |
00002e10  42 4c 20 77 61 69 74 0d  10 4a 1a 20 20 20 20 20  |BL wait..J.     |
00002e20  20 20 20 4c 44 52 20 52  31 30 2c 70 61 6c 65 74  |   LDR R10,palet|
00002e30  74 0d 10 54 15 20 20 20  20 20 20 20 20 4d 56 4e  |t..T.        MVN|
00002e40  20 52 39 2c 23 33 0d 10  5e 13 20 20 20 20 20 20  | R9,#3..^.      |
00002e50  20 20 42 4c 20 66 61 64  65 0d 10 68 15 20 20 20  |  BL fade..h.   |
00002e60  20 20 20 20 20 42 4c 20  67 72 61 62 73 63 0d 10  |     BL grabsc..|
00002e70  72 19 20 20 20 20 20 20  20 20 4c 44 52 20 52 31  |r.        LDR R1|
00002e80  2c 68 69 67 68 73 63 0d  10 7c 3b 20 20 20 20 20  |,highsc..|;     |
00002e90  20 20 20 4d 4f 56 20 52  32 2c 23 31 30 20 20 20  |   MOV R2,#10   |
00002ea0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002eb0  20 3b 20 53 63 6f 72 65  20 70 6c 61 63 65 6d 65  | ; Score placeme|
00002ec0  6e 74 0d 10 86 1b 20 20  20 20 20 20 20 20 4c 44  |nt....        LD|
00002ed0  52 20 52 33 2c 5b 52 31  5d 2c 23 31 36 0d 10 90  |R R3,[R1],#16...|
00002ee0  15 20 20 20 20 20 20 20  20 43 4d 50 20 52 33 2c  |.        CMP R3,|
00002ef0  52 30 0d 10 9a 16 20 20  20 20 20 20 20 20 42 47  |R0....        BG|
00002f00  45 20 6e 68 69 70 6f 73  0d 10 a4 17 2e 68 69 70  |E nhipos.....hip|
00002f10  6c 61 63 20 4c 44 52 20  52 33 2c 5b 52 31 5d 0d  |lac LDR R3,[R1].|
00002f20  10 ae 19 20 20 20 20 20  20 20 20 53 55 42 53 20  |...        SUBS |
00002f30  52 32 2c 52 32 2c 23 31  0d 10 b8 16 20 20 20 20  |R2,R2,#1....    |
00002f40  20 20 20 20 42 4d 49 20  6e 68 69 70 6f 73 0d 10  |    BMI nhipos..|
00002f50  c2 15 20 20 20 20 20 20  20 20 43 4d 50 20 52 33  |..        CMP R3|
00002f60  2c 52 30 0d 10 cc 16 20  20 20 20 20 20 20 20 42  |,R0....        B|
00002f70  47 45 20 6e 68 69 70 6f  73 0d 10 d6 1c 20 20 20  |GE nhipos....   |
00002f80  20 20 20 20 20 4c 44 4d  49 41 20 52 31 2c 7b 52  |     LDMIA R1,{R|
00002f90  35 2d 52 38 7d 0d 10 e0  19 20 20 20 20 20 20 20  |5-R8}....       |
00002fa0  20 53 55 42 20 52 31 2c  52 31 2c 23 31 36 0d 10  | SUB R1,R1,#16..|
00002fb0  ea 1c 20 20 20 20 20 20  20 20 53 54 4d 49 41 20  |..        STMIA |
00002fc0  52 31 2c 7b 52 35 2d 52  38 7d 0d 10 f4 19 20 20  |R1,{R5-R8}....  |
00002fd0  20 20 20 20 20 20 41 44  44 20 52 31 2c 52 31 2c  |      ADD R1,R1,|
00002fe0  23 33 32 0d 10 fe 14 20  20 20 20 20 20 20 20 42  |#32....        B|
00002ff0  20 68 69 70 6c 61 63 0d  11 08 18 2e 6e 68 69 70  | hiplac.....nhip|
00003000  6f 73 20 53 54 52 20 52  32 2c 61 63 74 68 69 0d  |os STR R2,acthi.|
00003010  11 12 15 20 20 20 20 20  20 20 20 4d 4f 56 20 52  |...        MOV R|
00003020  34 2c 23 32 0d 11 1c 19  20 20 20 20 20 20 20 20  |4,#2....        |
00003030  53 54 52 20 52 34 2c 73  68 6f 77 73 63 0d 11 26  |STR R4,showsc..&|
00003040  16 20 20 20 20 20 20 20  20 43 4d 50 20 52 32 2c  |.        CMP R2,|
00003050  23 31 30 0d 11 30 1b 20  20 20 20 20 20 20 20 4c  |#10..0.        L|
00003060  44 52 45 51 20 52 31 2c  70 61 6c 65 74 74 0d 11  |DREQ R1,palett..|
00003070  3a 23 20 20 20 20 20 20  20 20 53 57 49 45 51 20  |:#        SWIEQ |
00003080  22 57 69 6d 70 5f 53 65  74 50 61 6c 65 74 74 65  |"Wimp_SetPalette|
00003090  22 0d 11 44 16 20 20 20  20 20 20 20 20 42 45 51  |"..D.        BEQ|
000030a0  20 74 69 74 6c 65 73 0d  11 4e 19 20 20 20 20 20  | titles..N.     |
000030b0  20 20 20 53 55 42 20 52  31 2c 52 31 2c 23 31 36  |   SUB R1,R1,#16|
000030c0  0d 11 58 1a 20 20 20 20  20 20 20 20 53 54 52 20  |..X.        STR |
000030d0  52 30 2c 5b 52 31 5d 2c  23 34 0d 11 62 18 20 20  |R0,[R1],#4..b.  |
000030e0  20 20 20 20 20 20 53 54  52 20 52 31 2c 68 69 70  |      STR R1,hip|
000030f0  6f 73 0d 11 6c 15 20 20  20 20 20 20 20 20 42 4c  |os..l.        BL|
00003100  20 62 6c 61 63 6b 70 0d  11 76 22 20 20 20 20 20  | blackp..v"     |
00003110  20 20 20 53 57 49 20 32  35 36 2b 31 37 3a 53 57  |   SWI 256+17:SW|
00003120  49 20 32 35 36 2b 31 33  35 0d 11 80 4a 20 20 20  |I 256+135...J   |
00003130  20 20 20 20 20 53 57 49  20 32 35 36 2b 31 32 3a  |     SWI 256+12:|
00003140  53 57 49 20 32 35 36 2b  31 37 3a 53 57 49 20 32  |SWI 256+17:SWI 2|
00003150  35 36 2b 32 3a 53 57 49  20 32 35 36 2b 33 31 3a  |56+2:SWI 256+31:|
00003160  53 57 49 20 32 35 36 2b  32 3a 53 57 49 20 32 35  |SWI 256+2:SWI 25|
00003170  36 2b 32 0d 11 8a 19 20  20 20 20 20 20 20 20 41  |6+2....        A|
00003180  44 52 20 52 30 2c 68 69  65 6e 74 72 0d 11 94 30  |DR R0,hientr...0|
00003190  20 20 20 20 20 20 20 20  53 57 49 20 22 4f 53 5f  |        SWI "OS_|
000031a0  57 72 69 74 65 30 22 3a  53 57 49 20 32 35 36 2b  |Write0":SWI 256+|
000031b0  31 37 3a 53 57 49 20 32  35 36 2b 39 0d 11 9e 2d  |17:SWI 256+9...-|
000031c0  20 20 20 20 20 20 20 20  53 57 49 20 22 4f 53 5f  |        SWI "OS_|
000031d0  4e 65 77 4c 69 6e 65 22  3a 53 57 49 20 22 4f 53  |NewLine":SWI "OS|
000031e0  5f 4e 65 77 4c 69 6e 65  22 0d 11 a8 17 20 20 20  |_NewLine"....   |
000031f0  20 20 20 20 20 4d 4f 56  20 52 31 31 2c 23 32 33  |     MOV R11,#23|
00003200  0d 11 b2 16 20 20 20 20  20 20 20 20 4d 4f 56 20  |....        MOV |
00003210  52 31 30 2c 23 39 0d 11  bc 19 20 20 20 20 20 20  |R10,#9....      |
00003220  20 20 4c 44 52 20 52 39  2c 68 69 67 68 73 63 0d  |  LDR R9,highsc.|
00003230  11 c6 20 2e 70 32 6c 6f  6f 70 20 53 57 49 20 32  |.. .p2loop SWI 2|
00003240  35 36 2b 33 31 3a 53 57  49 20 32 35 36 2b 39 0d  |56+31:SWI 256+9.|
00003250  11 d0 26 20 20 20 20 20  20 20 20 4d 4f 56 20 52  |..&        MOV R|
00003260  30 2c 52 31 31 3a 53 57  49 20 22 4f 53 5f 57 72  |0,R11:SWI "OS_Wr|
00003270  69 74 65 43 22 0d 11 da  1a 20 20 20 20 20 20 20  |iteC"....       |
00003280  20 4c 44 52 20 52 30 2c  5b 52 39 5d 2c 23 34 0d  | LDR R0,[R9],#4.|
00003290  11 e4 19 20 20 20 20 20  20 20 20 4c 44 52 20 52  |...        LDR R|
000032a0  31 2c 77 69 6d 70 62 32  0d 11 ee 16 20 20 20 20  |1,wimpb2....    |
000032b0  20 20 20 20 4d 4f 56 20  52 32 2c 23 31 30 0d 11  |    MOV R2,#10..|
000032c0  f8 24 20 20 20 20 20 20  20 20 53 57 49 20 22 4f  |.$        SWI "O|
000032d0  53 5f 43 6f 6e 76 65 72  74 49 6e 74 65 67 65 72  |S_ConvertInteger|
000032e0  34 22 0d 12 02 1b 20 20  20 20 20 20 20 20 53 57  |4"....        SW|
000032f0  49 20 22 4f 53 5f 57 72  69 74 65 30 22 0d 12 0c  |I "OS_Write0"...|
00003300  21 20 20 20 20 20 20 20  20 53 57 49 20 32 35 36  |!        SWI 256|
00003310  2b 33 31 3a 53 57 49 20  32 35 36 2b 31 36 0d 12  |+31:SWI 256+16..|
00003320  16 26 20 20 20 20 20 20  20 20 4d 4f 56 20 52 30  |.&        MOV R0|
00003330  2c 52 31 31 3a 53 57 49  20 22 4f 53 5f 57 72 69  |,R11:SWI "OS_Wri|
00003340  74 65 43 22 0d 12 20 15  20 20 20 20 20 20 20 20  |teC".. .        |
00003350  4d 4f 56 20 52 30 2c 52  39 0d 12 2a 1b 20 20 20  |MOV R0,R9..*.   |
00003360  20 20 20 20 20 53 57 49  20 22 4f 53 5f 57 72 69  |     SWI "OS_Wri|
00003370  74 65 30 22 0d 12 34 19  20 20 20 20 20 20 20 20  |te0"..4.        |
00003380  41 44 44 20 52 39 2c 52  39 2c 23 31 32 0d 12 3e  |ADD R9,R9,#12..>|
00003390  1a 20 20 20 20 20 20 20  20 53 55 42 20 52 31 31  |.        SUB R11|
000033a0  2c 52 31 31 2c 23 32 0d  12 48 1b 20 20 20 20 20  |,R11,#2..H.     |
000033b0  20 20 20 53 55 42 53 20  52 31 30 2c 52 31 30 2c  |   SUBS R10,R10,|
000033c0  23 31 0d 12 52 16 20 20  20 20 20 20 20 20 42 50  |#1..R.        BP|
000033d0  4c 20 70 32 6c 6f 6f 70  0d 12 5c 19 20 20 20 20  |L p2loop..\.    |
000033e0  20 20 20 20 4c 44 52 20  52 30 2c 73 70 6c 6f 74  |    LDR R0,splot|
000033f0  32 0d 12 66 19 20 20 20  20 20 20 20 20 4c 44 52  |2..f.        LDR|
00003400  20 52 31 2c 73 61 72 65  61 32 0d 12 70 18 20 20  | R1,sarea2..p.  |
00003410  20 20 20 20 20 20 4c 44  52 20 52 32 2c 74 69 74  |      LDR R2,tit|
00003420  6c 65 0d 12 7a 16 20 20  20 20 20 20 20 20 4d 4f  |le..z.        MO|
00003430  56 20 52 33 2c 23 34 30  0d 12 84 16 20 20 20 20  |V R3,#40....    |
00003440  20 20 20 20 4d 4f 56 20  52 34 2c 23 34 30 0d 12  |    MOV R4,#40..|
00003450  8e 15 20 20 20 20 20 20  20 20 4d 4f 56 20 52 35  |..        MOV R5|
00003460  2c 23 30 0d 12 98 12 20  20 20 20 20 20 20 20 53  |,#0....        S|
00003470  57 49 20 34 36 0d 12 a2  19 20 20 20 20 20 20 20  |WI 46....       |
00003480  20 4c 44 52 20 52 32 2c  61 72 63 68 69 77 0d 12  | LDR R2,archiw..|
00003490  ac 17 20 20 20 20 20 20  20 20 4d 4f 56 20 52 33  |..        MOV R3|
000034a0  2c 23 37 38 30 0d 12 b6  16 20 20 20 20 20 20 20  |,#780....       |
000034b0  20 4d 4f 56 20 52 34 2c  23 34 30 0d 12 c0 12 20  | MOV R4,#40.... |
000034c0  20 20 20 20 20 20 20 53  57 49 20 34 36 0d 12 ca  |       SWI 46...|
000034d0  16 20 20 20 20 20 20 20  20 4d 4f 56 20 52 30 2c  |.        MOV R0,|
000034e0  23 32 31 0d 12 d4 15 20  20 20 20 20 20 20 20 4d  |#21....        M|
000034f0  4f 56 20 52 31 2c 23 30  0d 12 de 19 20 20 20 20  |OV R1,#0....    |
00003500  20 20 20 20 53 57 49 20  22 4f 53 5f 42 79 74 65  |    SWI "OS_Byte|
00003510  22 0d 12 e8 18 20 20 20  20 20 20 20 20 4c 44 52  |"....        LDR|
00003520  20 52 30 2c 61 63 74 68  69 0d 12 f2 18 20 20 20  | R0,acthi....   |
00003530  20 20 20 20 20 41 44 44  20 52 30 2c 52 30 2c 52  |     ADD R0,R0,R|
00003540  30 0d 12 fc 18 20 20 20  20 20 20 20 20 41 44 44  |0....        ADD|
00003550  20 52 30 2c 52 30 2c 23  35 0d 13 06 31 20 20 20  | R0,R0,#5...1   |
00003560  20 20 20 20 20 53 57 49  20 32 35 36 2b 33 31 3a  |     SWI 256+31:|
00003570  53 57 49 20 32 35 36 2b  31 36 3a 53 57 49 20 22  |SWI 256+16:SWI "|
00003580  4f 53 5f 57 72 69 74 65  43 22 0d 13 10 3b 20 20  |OS_WriteC"...;  |
00003590  20 20 20 20 20 20 53 57  49 20 32 38 38 3a 53 57  |      SWI 288:SW|
000035a0  49 20 32 38 38 3a 53 57  49 20 32 38 38 3a 53 57  |I 288:SWI 288:SW|
*
000035c0  49 20 32 38 38 0d 13 1a  3b 20 20 20 20 20 20 20  |I 288...;       |
000035d0  20 53 57 49 20 32 38 38  3a 53 57 49 20 32 38 38  | SWI 288:SWI 288|
000035e0  3a 53 57 49 20 32 38 38  3a 53 57 49 20 32 38 38  |:SWI 288:SWI 288|
*
00003600  0d 13 24 31 20 20 20 20  20 20 20 20 53 57 49 20  |..$1        SWI |
00003610  32 35 36 2b 33 31 3a 53  57 49 20 32 35 36 2b 31  |256+31:SWI 256+1|
00003620  36 3a 53 57 49 20 22 4f  53 5f 57 72 69 74 65 43  |6:SWI "OS_WriteC|
00003630  22 0d 13 2e 15 20 20 20  20 20 20 20 20 4d 4f 56  |"....        MOV|
00003640  20 52 30 2c 23 34 0d 13  38 15 20 20 20 20 20 20  | R0,#4..8.      |
00003650  20 20 4d 4f 56 20 52 31  2c 23 32 0d 13 42 19 20  |  MOV R1,#2..B. |
00003660  20 20 20 20 20 20 20 53  57 49 20 22 4f 53 5f 42  |       SWI "OS_B|
00003670  79 74 65 22 0d 13 4c 15  20 20 20 20 20 20 20 20  |yte"..L.        |
00003680  4d 4f 56 20 52 39 2c 23  36 0d 13 56 14 20 20 20  |MOV R9,#6..V.   |
00003690  20 20 20 20 20 42 4c 20  66 61 64 65 33 0d 13 60  |     BL fade3..`|
000036a0  18 20 20 20 20 20 20 20  20 4c 44 52 20 52 30 2c  |.        LDR R0,|
000036b0  68 69 70 6f 73 0d 13 6a  16 20 20 20 20 20 20 20  |hipos..j.       |
000036c0  20 4d 4f 56 20 52 31 2c  23 31 31 0d 13 74 16 20  | MOV R1,#11..t. |
000036d0  20 20 20 20 20 20 20 4d  4f 56 20 52 32 2c 23 33  |       MOV R2,#3|
000036e0  32 0d 13 7e 17 20 20 20  20 20 20 20 20 4d 4f 56  |2..~.        MOV|
000036f0  20 52 33 2c 23 32 35 35  0d 13 88 1d 20 20 20 20  | R3,#255....    |
00003700  20 20 20 20 53 57 49 20  22 4f 53 5f 52 65 61 64  |    SWI "OS_Read|
00003710  4c 69 6e 65 22 0d 13 92  15 20 20 20 20 20 20 20  |Line"....       |
00003720  20 4d 4f 56 20 52 32 2c  23 30 0d 13 9c 1b 20 20  | MOV R2,#0....  |
00003730  20 20 20 20 20 20 53 54  52 42 20 52 32 2c 5b 52  |      STRB R2,[R|
00003740  30 2c 52 31 5d 0d 13 a6  14 20 20 20 20 20 20 20  |0,R1]....       |
00003750  20 42 20 74 69 74 6c 65  73 0d 13 b0 14 2e 66 61  | B titles.....fa|
00003760  64 65 62 20 20 45 51 55  44 20 70 33 25 0d 13 ba  |deb  EQUD p3%...|
00003770  22 2e 66 61 64 65 20 20  20 53 54 4d 46 44 20 52  |".fade   STMFD R|
00003780  31 33 21 2c 7b 52 30 2d  52 34 2c 52 31 34 7d 0d  |13!,{R0-R4,R14}.|
00003790  13 c4 18 20 20 20 20 20  20 20 20 4c 44 52 20 52  |...        LDR R|
000037a0  30 2c 66 61 64 65 62 0d  13 ce 16 20 20 20 20 20  |0,fadeb....     |
000037b0  20 20 20 4d 4f 56 20 52  31 2c 23 33 30 0d 13 d8  |   MOV R1,#30...|
000037c0  1b 2e 66 61 64 65 6c 20  20 4c 44 52 20 52 32 2c  |..fadel  LDR R2,|
000037d0  5b 52 31 30 5d 2c 23 34  0d 13 e2 1a 20 20 20 20  |[R10],#4....    |
000037e0  20 20 20 20 53 54 52 20  52 32 2c 5b 52 30 5d 2c  |    STR R2,[R0],|
000037f0  23 34 0d 13 ec 19 20 20  20 20 20 20 20 20 53 55  |#4....        SU|
00003800  42 53 20 52 31 2c 52 31  2c 23 31 0d 13 f6 15 20  |BS R1,R1,#1.... |
00003810  20 20 20 20 20 20 20 42  50 4c 20 66 61 64 65 6c  |       BPL fadel|
00003820  0d 14 00 16 20 20 20 20  20 20 20 20 4d 4f 56 20  |....        MOV |
00003830  52 34 2c 23 36 34 0d 14  0a 16 2e 66 61 64 65 6c  |R4,#64.....fadel|
00003840  32 20 4d 4f 56 20 52 30  2c 23 31 39 0d 14 14 19  |2 MOV R0,#19....|
00003850  20 20 20 20 20 20 20 20  53 57 49 20 22 4f 53 5f  |        SWI "OS_|
00003860  42 79 74 65 22 0d 14 1e  18 20 20 20 20 20 20 20  |Byte"....       |
00003870  20 4c 44 52 20 52 31 2c  66 61 64 65 62 0d 14 28  | LDR R1,fadeb..(|
00003880  21 20 20 20 20 20 20 20  20 53 57 49 20 22 57 69  |!        SWI "Wi|
00003890  6d 70 5f 53 65 74 50 61  6c 65 74 74 65 22 0d 14  |mp_SetPalette"..|
000038a0  32 18 20 20 20 20 20 20  20 20 4c 44 52 20 52 31  |2.        LDR R1|
000038b0  2c 66 61 64 65 62 0d 14  3c 18 20 20 20 20 20 20  |,fadeb..<.      |
000038c0  20 20 41 44 44 20 52 31  2c 52 31 2c 23 31 0d 14  |  ADD R1,R1,#1..|
000038d0  46 16 20 20 20 20 20 20  20 20 4d 4f 56 20 52 33  |F.        MOV R3|
000038e0  2c 23 32 33 0d 14 50 18  2e 66 61 64 65 6c 33 20  |,#23..P..fadel3 |
000038f0  4c 44 52 42 20 52 30 2c  5b 52 31 5d 0d 14 5a 19  |LDRB R0,[R1]..Z.|
00003900  20 20 20 20 20 20 20 20  41 44 44 53 20 52 30 2c  |        ADDS R0,|
00003910  52 30 2c 52 39 0d 14 64  17 20 20 20 20 20 20 20  |R0,R9..d.       |
00003920  20 4d 4f 56 4d 49 20 52  30 2c 23 30 0d 14 6e 17  | MOVMI R0,#0..n.|
00003930  20 20 20 20 20 20 20 20  43 4d 50 20 52 30 2c 23  |        CMP R0,#|
00003940  32 35 35 0d 14 78 19 20  20 20 20 20 20 20 20 4d  |255..x.        M|
00003950  4f 56 47 54 20 52 30 2c  23 32 35 35 0d 14 82 1b  |OVGT R0,#255....|
00003960  20 20 20 20 20 20 20 20  53 54 52 42 20 52 30 2c  |        STRB R0,|
00003970  5b 52 31 5d 2c 23 31 0d  14 8c 18 20 20 20 20 20  |[R1],#1....     |
00003980  20 20 20 4c 44 52 42 20  52 30 2c 5b 52 31 5d 0d  |   LDRB R0,[R1].|
00003990  14 96 19 20 20 20 20 20  20 20 20 41 44 44 53 20  |...        ADDS |
000039a0  52 30 2c 52 30 2c 52 39  0d 14 a0 17 20 20 20 20  |R0,R0,R9....    |
000039b0  20 20 20 20 4d 4f 56 4d  49 20 52 30 2c 23 30 0d  |    MOVMI R0,#0.|
000039c0  14 aa 17 20 20 20 20 20  20 20 20 43 4d 50 20 52  |...        CMP R|
000039d0  30 2c 23 32 35 35 0d 14  b4 19 20 20 20 20 20 20  |0,#255....      |
000039e0  20 20 4d 4f 56 47 54 20  52 30 2c 23 32 35 35 0d  |  MOVGT R0,#255.|
000039f0  14 be 1b 20 20 20 20 20  20 20 20 53 54 52 42 20  |...        STRB |
00003a00  52 30 2c 5b 52 31 5d 2c  23 31 0d 14 c8 18 20 20  |R0,[R1],#1....  |
00003a10  20 20 20 20 20 20 4c 44  52 42 20 52 30 2c 5b 52  |      LDRB R0,[R|
00003a20  31 5d 0d 14 d2 19 20 20  20 20 20 20 20 20 41 44  |1]....        AD|
00003a30  44 53 20 52 30 2c 52 30  2c 52 39 0d 14 dc 17 20  |DS R0,R0,R9.... |
00003a40  20 20 20 20 20 20 20 4d  4f 56 4d 49 20 52 30 2c  |       MOVMI R0,|
00003a50  23 30 0d 14 e6 17 20 20  20 20 20 20 20 20 43 4d  |#0....        CM|
00003a60  50 20 52 30 2c 23 32 35  35 0d 14 f0 19 20 20 20  |P R0,#255....   |
00003a70  20 20 20 20 20 4d 4f 56  47 54 20 52 30 2c 23 32  |     MOVGT R0,#2|
00003a80  35 35 0d 14 fa 1b 20 20  20 20 20 20 20 20 53 54  |55....        ST|
00003a90  52 42 20 52 30 2c 5b 52  31 5d 2c 23 32 0d 15 04  |RB R0,[R1],#2...|
00003aa0  19 20 20 20 20 20 20 20  20 53 55 42 53 20 52 33  |.        SUBS R3|
00003ab0  2c 52 33 2c 23 31 0d 15  0e 16 20 20 20 20 20 20  |,R3,#1....      |
00003ac0  20 20 42 50 4c 20 66 61  64 65 6c 33 0d 15 18 19  |  BPL fadel3....|
00003ad0  20 20 20 20 20 20 20 20  53 55 42 53 20 52 34 2c  |        SUBS R4,|
00003ae0  52 34 2c 23 31 0d 15 22  16 20 20 20 20 20 20 20  |R4,#1..".       |
00003af0  20 42 50 4c 20 66 61 64  65 6c 32 0d 15 2c 22 20  | BPL fadel2..," |
00003b00  20 20 20 20 20 20 20 4c  44 4d 49 41 20 52 31 33  |       LDMIA R13|
00003b10  21 2c 7b 52 30 2d 52 34  2c 50 43 7d 5e 0d 15 36  |!,{R0-R4,PC}^..6|
00003b20  15 2e 6e 75 6d 73 20 20  20 45 51 55 44 20 6e 75  |..nums   EQUD nu|
00003b30  6d 25 0d 15 40 17 2e 6c  65 76 66 6e 74 20 45 51  |m%..@..levfnt EQ|
00003b40  55 44 20 6c 65 76 65 6c  25 0d 15 4a 15 2e 73 68  |UD level%..J..sh|
00003b50  6c 65 76 20 20 4d 4f 56  20 52 39 2c 23 34 0d 15  |lev  MOV R9,#4..|
00003b60  54 14 20 20 20 20 20 20  20 20 42 4c 20 66 61 64  |T.        BL fad|
00003b70  65 32 0d 15 5e 18 20 20  20 20 20 20 20 20 4c 44  |e2..^.        LD|
00003b80  52 20 52 30 2c 74 6f 74  70 6c 0d 15 68 15 20 20  |R R0,totpl..h.  |
00003b90  20 20 20 20 20 20 43 4d  50 20 52 30 2c 23 32 0d  |      CMP R0,#2.|
00003ba0  15 72 16 20 20 20 20 20  20 20 20 42 45 51 20 73  |.r.        BEQ s|
00003bb0  77 69 74 63 68 0d 15 7c  19 20 20 20 20 20 20 20  |witch..|.       |
00003bc0  20 4c 44 52 20 52 30 2c  62 6c 65 76 65 6c 0d 15  | LDR R0,blevel..|
00003bd0  86 15 20 20 20 20 20 20  20 20 43 4d 50 20 52 30  |..        CMP R0|
00003be0  2c 23 30 0d 15 90 16 20  20 20 20 20 20 20 20 42  |,#0....        B|
00003bf0  45 51 20 73 77 69 74 63  68 0d 15 9a 19 20 20 20  |EQ switch....   |
00003c00  20 20 20 20 20 4c 44 52  20 52 30 2c 73 70 6c 6f  |     LDR R0,splo|
00003c10  74 32 0d 15 a4 19 20 20  20 20 20 20 20 20 4c 44  |t2....        LD|
00003c20  52 20 52 31 2c 73 61 72  65 61 32 0d 15 ae 19 20  |R R1,sarea2.... |
00003c30  20 20 20 20 20 20 20 4c  44 52 20 52 32 2c 6c 65  |       LDR R2,le|
00003c40  76 66 6e 74 0d 15 b8 17  20 20 20 20 20 20 20 20  |vfnt....        |
00003c50  4d 4f 56 20 52 33 2c 23  35 30 30 0d 15 c2 17 20  |MOV R3,#500.... |
00003c60  20 20 20 20 20 20 20 4d  4f 56 20 52 34 2c 23 35  |       MOV R4,#5|
00003c70  34 30 0d 15 cc 15 20 20  20 20 20 20 20 20 4d 4f  |40....        MO|
00003c80  56 20 52 35 2c 23 38 0d  15 d6 12 20 20 20 20 20  |V R5,#8....     |
00003c90  20 20 20 53 57 49 20 34  36 0d 15 e0 15 20 20 20  |   SWI 46....   |
00003ca0  20 20 20 20 20 42 4c 20  72 65 74 6c 65 76 0d 15  |     BL retlev..|
00003cb0  ea 17 20 20 20 20 20 20  20 20 4c 44 52 20 52 36  |..        LDR R6|
00003cc0  2c 6e 75 6d 73 0d 15 f4  18 20 20 20 20 20 20 20  |,nums....       |
00003cd0  20 41 44 44 20 52 36 2c  52 36 2c 23 34 0d 15 fe  | ADD R6,R6,#4...|
00003ce0  20 20 20 20 20 20 20 20  20 4c 44 52 20 52 32 2c  |         LDR R2,|
00003cf0  5b 52 36 2c 52 30 2c 41  53 4c 23 32 5d 0d 16 08  |[R6,R0,ASL#2]...|
00003d00  19 20 20 20 20 20 20 20  20 4c 44 52 20 52 30 2c  |.        LDR R0,|
00003d10  73 70 6c 6f 74 32 0d 16  12 17 20 20 20 20 20 20  |splot2....      |
00003d20  20 20 4d 4f 56 20 52 33  2c 23 37 36 38 0d 16 1c  |  MOV R3,#768...|
00003d30  17 20 20 20 20 20 20 20  20 4d 4f 56 20 52 34 2c  |.        MOV R4,|
00003d40  23 35 33 36 0d 16 26 15  20 20 20 20 20 20 20 20  |#536..&.        |
00003d50  4d 4f 56 20 52 35 2c 23  38 0d 16 30 12 20 20 20  |MOV R5,#8..0.   |
00003d60  20 20 20 20 20 53 57 49  20 34 36 0d 16 3a 19 20  |     SWI 46..:. |
00003d70  20 20 20 20 20 20 20 4c  44 52 20 52 32 2c 6c 69  |       LDR R2,li|
00003d80  76 65 73 74 0d 16 44 17  20 20 20 20 20 20 20 20  |vest..D.        |
00003d90  4d 4f 56 20 52 33 2c 23  35 32 30 0d 16 4e 17 20  |MOV R3,#520..N. |
00003da0  20 20 20 20 20 20 20 4d  4f 56 20 52 34 2c 23 34  |       MOV R4,#4|
00003db0  34 30 0d 16 58 15 20 20  20 20 20 20 20 20 4d 4f  |40..X.        MO|
00003dc0  56 20 52 35 2c 23 38 0d  16 62 12 20 20 20 20 20  |V R5,#8..b.     |
00003dd0  20 20 20 53 57 49 20 34  36 0d 16 6c 17 20 20 20  |   SWI 46..l.   |
00003de0  20 20 20 20 20 4c 44 52  20 52 36 2c 6e 75 6d 73  |     LDR R6,nums|
00003df0  0d 16 76 15 20 20 20 20  20 20 20 20 42 4c 20 67  |..v.        BL g|
00003e00  72 61 62 6c 69 0d 16 80  18 20 20 20 20 20 20 20  |rabli....       |
00003e10  20 41 44 44 20 52 30 2c  52 30 2c 23 31 0d 16 8a  | ADD R0,R0,#1...|
00003e20  20 20 20 20 20 20 20 20  20 4c 44 52 20 52 32 2c  |         LDR R2,|
00003e30  5b 52 36 2c 52 30 2c 41  53 4c 23 32 5d 0d 16 94  |[R6,R0,ASL#2]...|
00003e40  19 20 20 20 20 20 20 20  20 4c 44 52 20 52 30 2c  |.        LDR R0,|
00003e50  73 70 6c 6f 74 32 0d 16  9e 17 20 20 20 20 20 20  |splot2....      |
00003e60  20 20 4d 4f 56 20 52 33  2c 23 37 31 32 0d 16 a8  |  MOV R3,#712...|
00003e70  17 20 20 20 20 20 20 20  20 4d 4f 56 20 52 34 2c  |.        MOV R4,|
00003e80  23 34 34 34 0d 16 b2 15  20 20 20 20 20 20 20 20  |#444....        |
00003e90  4d 4f 56 20 52 35 2c 23  38 0d 16 bc 12 20 20 20  |MOV R5,#8....   |
00003ea0  20 20 20 20 20 53 57 49  20 34 36 0d 16 c6 17 20  |     SWI 46.... |
00003eb0  20 20 20 20 20 20 20 4d  4f 56 20 52 31 2c 23 31  |       MOV R1,#1|
00003ec0  33 30 0d 16 d0 13 20 20  20 20 20 20 20 20 42 4c  |30....        BL|
00003ed0  20 77 61 69 74 0d 16 da  14 20 20 20 20 20 20 20  | wait....       |
00003ee0  20 42 20 73 77 69 74 63  68 0d 16 e4 17 2e 6c 69  | B switch.....li|
00003ef0  76 65 73 74 20 45 51 55  44 20 6c 69 76 65 73 25  |vest EQUD lives%|
00003f00  0d 16 ee 12 2e 62 6c 6f  63 6b 32 20 45 51 55 44  |.....block2 EQUD|
00003f10  20 62 0d 16 f8 14 2e 73  61 72 65 61 32 20 45 51  | b.....sarea2 EQ|
00003f20  55 44 20 73 70 25 0d 17  02 14 2e 73 70 6c 6f 74  |UD sp%.....splot|
00003f30  32 20 45 51 55 44 20 35  34 36 0d 17 0c 41 2e 6f  |2 EQUD 546...A.o|
00003f40  70 74 31 20 20 20 45 51  55 53 20 22 53 65 6c 65  |pt1   EQUS "Sele|
00003f50  63 74 3a 20 20 20 31 2e  20 31 20 70 6c 61 79 65  |ct:   1. 1 playe|
00003f60  72 20 20 20 20 32 2e 20  32 20 70 6c 61 79 65 72  |r    2. 2 player|
00003f70  73 22 2b bd 30 3a 41 4c  49 47 4e 0d 17 16 1c 2e  |s"+.0:ALIGN.....|
00003f80  6f 70 74 32 20 20 20 45  51 55 53 20 c4 33 39 2c  |opt2   EQUS .39,|
00003f90  bd 33 32 29 2b bd 30 0d  17 20 45 2e 6f 70 74 33  |.32)+.0.. E.opt3|
00003fa0  20 20 20 45 51 55 53 20  22 20 20 20 20 20 20 20  |   EQUS "       |
00003fb0  20 20 44 69 66 66 69 63  75 6c 74 79 20 4c 65 76  |  Difficulty Lev|
00003fc0  65 6c 3f 20 28 30 2d 37  29 20 20 20 20 20 20 20  |el? (0-7)       |
00003fd0  20 20 22 2b bd 30 3a 41  4c 49 47 4e 0d 17 2a 16  |  "+.0:ALIGN..*.|
00003fe0  2e 73 63 72 6d 20 20 20  45 51 55 44 20 73 63 72  |.scrm   EQUD scr|
00003ff0  6d 65 0d 17 34 17 2e 61  72 63 68 69 77 20 45 51  |me..4..archiw EQ|
00004000  55 44 20 61 72 63 68 77  25 0d 17 3e 16 2e 73 74  |UD archw%..>..st|
00004010  73 74 61 74 20 45 51 55  44 20 73 74 64 61 74 0d  |stat EQUD stdat.|
00004020  17 48 13 2e 77 69 6d 70  62 32 20 45 51 55 44 20  |.H..wimpb2 EQUD |
00004030  77 25 0d 17 52 17 2e 74  69 74 6c 65 20 20 45 51  |w%..R..title  EQ|
00004040  55 44 20 74 69 74 6c 65  25 0d 17 5c 17 2e 67 6d  |UD title%..\..gm|
00004050  6f 64 65 20 20 45 51 55  44 20 67 61 6d 65 6d 25  |ode  EQUD gamem%|
00004060  0d 17 66 25 2e 67 70 6c  20 20 20 20 45 51 55 44  |..f%.gpl    EQUD|
00004070  20 67 61 6d 65 6d 31 25  3a 45 51 55 44 20 67 61  | gamem1%:EQUD ga|
00004080  6d 65 6d 32 25 0d 17 70  18 2e 67 70 6c 32 20 20  |mem2%..p..gpl2  |
00004090  20 45 51 55 44 20 67 61  6d 65 70 6c 25 0d 17 7a  | EQUD gamepl%..z|
000040a0  46 2e 6b 65 79 73 73 70  20 45 51 55 44 20 6b 6c  |F.keyssp EQUD kl|
000040b0  65 66 74 25 3a 45 51 55  44 20 6b 72 69 67 68 74  |eft%:EQUD kright|
000040c0  25 3a 45 51 55 44 20 6b  75 70 25 3a 45 51 55 44  |%:EQUD kup%:EQUD|
000040d0  20 6b 64 6f 77 6e 25 3a  45 51 55 44 20 6b 66 69  | kdown%:EQUD kfi|
000040e0  72 65 25 0d 17 84 15 2e  6b 65 79 64 74 61 20 45  |re%.....keydta E|
000040f0  51 55 44 20 61 73 63 25  0d 17 8e 18 2e 6d 65 6e  |QUD asc%.....men|
00004100  75 73 70 20 45 51 55 44  20 6f 70 74 73 65 6c 25  |usp EQUD optsel%|
00004110  0d 17 98 19 2e 73 68 6f  77 70 6c 20 4c 44 52 20  |.....showpl LDR |
00004120  52 30 2c 73 70 6c 6f 74  32 0d 17 a2 19 20 20 20  |R0,splot2....   |
00004130  20 20 20 20 20 4c 44 52  20 52 31 2c 73 61 72 65  |     LDR R1,sare|
00004140  61 32 0d 17 ac 16 20 20  20 20 20 20 20 20 41 44  |a2....        AD|
00004150  52 20 52 32 2c 67 70 6c  0d 17 b6 18 20 20 20 20  |R R2,gpl....    |
00004160  20 20 20 20 4c 44 52 20  52 33 2c 74 6f 74 70 6c  |    LDR R3,totpl|
00004170  0d 17 c0 18 20 20 20 20  20 20 20 20 53 55 42 20  |....        SUB |
00004180  52 33 2c 52 33 2c 23 31  0d 17 ca 20 20 20 20 20  |R3,R3,#1...     |
00004190  20 20 20 20 4c 44 52 20  52 32 2c 5b 52 32 2c 52  |    LDR R2,[R2,R|
000041a0  33 2c 41 53 4c 23 32 5d  0d 17 d4 17 20 20 20 20  |3,ASL#2]....    |
000041b0  20 20 20 20 4d 4f 56 20  52 33 2c 23 36 36 34 0d  |    MOV R3,#664.|
000041c0  17 de 17 20 20 20 20 20  20 20 20 4d 4f 56 20 52  |...        MOV R|
000041d0  34 2c 23 39 30 30 0d 17  e8 15 20 20 20 20 20 20  |4,#900....      |
000041e0  20 20 4d 4f 56 20 52 35  2c 23 30 0d 17 f2 12 20  |  MOV R5,#0.... |
000041f0  20 20 20 20 20 20 20 53  57 49 20 34 36 0d 17 fc  |       SWI 46...|
00004200  16 20 20 20 20 20 20 20  20 4d 4f 56 20 50 43 2c  |.        MOV PC,|
00004210  52 31 34 0d 18 06 16 2e  6f 70 74 70 61 67 65 20  |R14.....optpage |
00004220  4d 56 4e 20 52 39 2c 23  34 0d 18 10 1a 20 20 20  |MVN R9,#4....   |
00004230  20 20 20 20 20 4c 44 52  20 52 31 30 2c 70 61 6c  |     LDR R10,pal|
00004240  65 74 74 0d 18 1a 13 20  20 20 20 20 20 20 20 42  |ett....        B|
00004250  4c 20 66 61 64 65 0d 18  24 16 20 20 20 20 20 20  |L fade..$.      |
00004260  20 20 53 57 49 20 32 35  36 2b 31 32 0d 18 2e 15  |  SWI 256+12....|
00004270  20 20 20 20 20 20 20 20  42 4c 20 62 6c 61 63 6b  |        BL black|
00004280  70 0d 18 38 16 20 20 20  20 20 20 20 20 4d 4f 56  |p..8.        MOV|
00004290  20 52 31 32 2c 23 31 0d  18 42 19 20 20 20 20 20  | R12,#1..B.     |
000042a0  20 20 20 4c 44 52 20 52  30 2c 73 70 6c 6f 74 32  |   LDR R0,splot2|
000042b0  0d 18 4c 19 20 20 20 20  20 20 20 20 4c 44 52 20  |..L.        LDR |
000042c0  52 31 2c 73 61 72 65 61  32 0d 18 56 18 20 20 20  |R1,sarea2..V.   |
000042d0  20 20 20 20 20 4c 44 52  20 52 32 2c 67 6d 6f 64  |     LDR R2,gmod|
000042e0  65 0d 18 60 17 20 20 20  20 20 20 20 20 4d 4f 56  |e..`.        MOV|
000042f0  20 52 33 2c 23 31 34 34  0d 18 6a 17 20 20 20 20  | R3,#144..j.    |
00004300  20 20 20 20 4d 4f 56 20  52 34 2c 23 39 30 30 0d  |    MOV R4,#900.|
00004310  18 74 15 20 20 20 20 20  20 20 20 4d 4f 56 20 52  |.t.        MOV R|
00004320  35 2c 23 30 0d 18 7e 12  20 20 20 20 20 20 20 20  |5,#0..~.        |
00004330  53 57 49 20 34 36 0d 18  88 15 20 20 20 20 20 20  |SWI 46....      |
00004340  20 20 42 4c 20 73 68 6f  77 70 6c 0d 18 92 17 20  |  BL showpl.... |
00004350  20 20 20 20 20 20 20 4c  44 52 20 52 32 2c 67 70  |       LDR R2,gp|
00004360  6c 32 0d 18 9c 17 20 20  20 20 20 20 20 20 4d 4f  |l2....        MO|
00004370  56 20 52 33 2c 23 38 34  34 0d 18 a6 19 20 20 20  |V R3,#844....   |
00004380  20 20 20 20 20 53 55 42  20 52 34 2c 52 34 2c 23  |     SUB R4,R4,#|
00004390  31 32 0d 18 b0 12 20 20  20 20 20 20 20 20 53 57  |12....        SW|
000043a0  49 20 34 36 0d 18 ba 19  20 20 20 20 20 20 20 20  |I 46....        |
000043b0  4c 44 52 20 52 32 2c 6d  65 6e 75 73 70 0d 18 c4  |LDR R2,menusp...|
000043c0  17 20 20 20 20 20 20 20  20 4d 4f 56 20 52 33 2c  |.        MOV R3,|
000043d0  23 32 30 32 0d 18 ce 16  20 20 20 20 20 20 20 20  |#202....        |
000043e0  4d 4f 56 20 52 34 2c 23  35 33 0d 18 d8 12 20 20  |MOV R4,#53....  |
000043f0  20 20 20 20 20 20 53 57  49 20 34 36 0d 18 e2 15  |      SWI 46....|
00004400  20 20 20 20 20 20 20 20  4d 4f 56 20 52 36 2c 23  |        MOV R6,#|
00004410  34 0d 18 ec 19 20 20 20  20 20 20 20 20 41 44 52  |4....        ADR|
00004420  20 52 37 2c 6b 65 79 73  73 70 0d 18 f6 16 20 20  | R7,keyssp....  |
00004430  20 20 20 20 20 20 4d 4f  56 20 52 33 2c 23 39 30  |      MOV R3,#90|
00004440  0d 19 00 17 20 20 20 20  20 20 20 20 4d 4f 56 20  |....        MOV |
00004450  52 34 2c 23 37 30 30 0d  19 0a 1a 2e 6b 6e 61 6d  |R4,#700.....knam|
00004460  65 6c 20 4c 44 52 20 52  32 2c 5b 52 37 5d 2c 23  |el LDR R2,[R7],#|
00004470  34 0d 19 14 12 20 20 20  20 20 20 20 20 53 57 49  |4....        SWI|
00004480  20 34 36 0d 19 1e 1a 20  20 20 20 20 20 20 20 53  | 46....        S|
00004490  55 42 20 52 34 2c 52 34  2c 23 31 30 30 0d 19 28  |UB R4,R4,#100..(|
000044a0  19 20 20 20 20 20 20 20  20 53 55 42 53 20 52 36  |.        SUBS R6|
000044b0  2c 52 36 2c 23 31 0d 19  32 16 20 20 20 20 20 20  |,R6,#1..2.      |
000044c0  20 20 42 50 4c 20 6b 6e  61 6d 65 6c 0d 19 3c 19  |  BPL knamel..<.|
000044d0  2e 70 72 6b 65 79 64 20  4c 44 52 20 52 36 2c 6b  |.prkeyd LDR R6,k|
000044e0  65 79 64 74 61 0d 19 46  19 20 20 20 20 20 20 20  |eydta..F.       |
000044f0  20 4c 44 52 20 52 37 2c  73 74 73 74 61 74 0d 19  | LDR R7,ststat..|
00004500  50 19 20 20 20 20 20 20  20 20 41 44 44 20 52 37  |P.        ADD R7|
00004510  2c 52 37 2c 23 32 34 0d  19 5a 40 20 20 20 20 20  |,R7,#24..Z@     |
00004520  20 20 20 53 57 49 20 32  35 36 2b 32 33 3a 53 57  |   SWI 256+23:SW|
00004530  49 20 32 35 36 2b 31 37  3a 53 57 49 20 32 35 36  |I 256+17:SWI 256|
00004540  2b 37 3a 53 57 49 20 32  35 36 2b 37 3a 53 57 49  |+7:SWI 256+7:SWI|
00004550  20 32 35 36 2b 31 36 0d  19 64 46 20 20 20 20 20  | 256+16..dF     |
00004560  20 20 20 53 57 49 20 32  35 36 3a 53 57 49 20 32  |   SWI 256:SWI 2|
00004570  35 36 2b 31 36 3a 53 57  49 20 32 35 36 3a 53 57  |56+16:SWI 256:SW|
00004580  49 20 32 35 36 3a 53 57  49 20 32 35 36 3a 53 57  |I 256:SWI 256:SW|
00004590  49 20 32 35 36 3a 53 57  49 20 32 35 36 0d 19 6e  |I 256:SWI 256..n|
000045a0  33 20 20 20 20 20 20 20  20 53 57 49 20 32 35 36  |3        SWI 256|
000045b0  2b 35 3a 53 57 49 20 32  35 36 2b 31 38 3a 53 57  |+5:SWI 256+18:SW|
000045c0  49 20 32 35 36 3a 53 57  49 20 32 35 36 2b 31 31  |I 256:SWI 256+11|
000045d0  0d 19 78 15 20 20 20 20  20 20 20 20 4d 4f 56 20  |..x.        MOV |
000045e0  52 31 2c 23 30 0d 19 82  19 20 20 20 20 20 20 20  |R1,#0....       |
000045f0  20 4c 44 52 20 52 31 30  2c 74 6f 74 70 6c 0d 19  | LDR R10,totpl..|
00004600  8c 1a 20 20 20 20 20 20  20 20 53 55 42 20 52 31  |..        SUB R1|
00004610  30 2c 52 31 30 2c 23 31  0d 19 96 1a 2e 6b 79 64  |0,R10,#1.....kyd|
00004620  69 73 6c 20 41 44 44 20  52 31 2c 52 31 2c 23 34  |isl ADD R1,R1,#4|
00004630  30 30 0d 19 a0 17 20 20  20 20 20 20 20 20 4d 4f  |00....        MO|
00004640  56 20 52 32 2c 23 37 36  34 0d 19 aa 15 20 20 20  |V R2,#764....   |
00004650  20 20 20 20 20 4d 4f 56  20 52 39 2c 23 34 0d 19  |     MOV R9,#4..|
00004660  b4 1a 2e 70 72 6b 6c 6f  70 20 4c 44 52 20 52 38  |...prklop LDR R8|
00004670  2c 5b 52 37 5d 2c 23 34  0d 19 be 18 20 20 20 20  |,[R7],#4....    |
00004680  20 20 20 20 52 53 42 20  52 38 2c 52 38 2c 23 30  |    RSB R8,R8,#0|
00004690  0d 19 c8 19 20 20 20 20  20 20 20 20 53 55 42 20  |....        SUB |
000046a0  52 38 2c 52 38 2c 23 31  37 0d 19 d2 1b 20 20 20  |R8,R8,#17....   |
000046b0  20 20 20 20 20 4d 4f 56  20 52 38 2c 52 38 2c 41  |     MOV R8,R8,A|
000046c0  53 4c 23 31 0d 19 dc 18  20 20 20 20 20 20 20 20  |SL#1....        |
000046d0  41 44 44 20 52 38 2c 52  38 2c 52 36 0d 19 e6 15  |ADD R8,R8,R6....|
000046e0  20 20 20 20 20 20 20 20  4d 4f 56 20 52 30 2c 23  |        MOV R0,#|
000046f0  34 0d 19 f0 19 20 20 20  20 20 20 20 20 53 57 49  |4....        SWI|
00004700  20 22 4f 53 5f 50 6c 6f  74 22 0d 19 fa 1a 20 20  | "OS_Plot"....  |
00004710  20 20 20 20 20 20 53 55  42 20 52 32 2c 52 32 2c  |      SUB R2,R2,|
00004720  23 31 30 30 0d 1a 04 1b  20 20 20 20 20 20 20 20  |#100....        |
00004730  4c 44 52 42 20 52 30 2c  5b 52 38 5d 2c 23 31 0d  |LDRB R0,[R8],#1.|
00004740  1a 0e 1b 20 20 20 20 20  20 20 20 53 57 49 20 22  |...        SWI "|
00004750  4f 53 5f 57 72 69 74 65  43 22 0d 1a 18 18 20 20  |OS_WriteC"....  |
00004760  20 20 20 20 20 20 4c 44  52 42 20 52 30 2c 5b 52  |      LDRB R0,[R|
00004770  38 5d 0d 1a 22 17 20 20  20 20 20 20 20 20 43 4d  |8]..".        CM|
00004780  50 20 52 30 2c 23 32 35  35 0d 1a 2c 1d 20 20 20  |P R0,#255..,.   |
00004790  20 20 20 20 20 53 57 49  4e 45 20 22 4f 53 5f 57  |     SWINE "OS_W|
000047a0  72 69 74 65 43 22 0d 1a  36 19 20 20 20 20 20 20  |riteC"..6.      |
000047b0  20 20 53 55 42 53 20 52  39 2c 52 39 2c 23 31 0d  |  SUBS R9,R9,#1.|
000047c0  1a 40 16 20 20 20 20 20  20 20 20 42 50 4c 20 70  |.@.        BPL p|
000047d0  72 6b 6c 6f 70 0d 1a 4a  1a 20 20 20 20 20 20 20  |rklop..J.       |
000047e0  20 41 44 44 20 52 37 2c  52 37 2c 23 31 30 38 0d  | ADD R7,R7,#108.|
000047f0  1a 54 1b 20 20 20 20 20  20 20 20 53 55 42 53 20  |.T.        SUBS |
00004800  52 31 30 2c 52 31 30 2c  23 31 0d 1a 5e 16 20 20  |R10,R10,#1..^.  |
00004810  20 20 20 20 20 20 42 50  4c 20 6b 79 64 69 73 6c  |      BPL kydisl|
00004820  0d 1a 68 3f 20 20 20 20  20 20 20 20 53 57 49 20  |..h?        SWI |
00004830  32 35 36 2b 32 33 3a 53  57 49 20 32 35 36 2b 31  |256+23:SWI 256+1|
00004840  37 3a 53 57 49 20 32 35  36 2b 37 3a 53 57 49 20  |7:SWI 256+7:SWI |
00004850  32 35 36 2b 37 3a 53 57  49 20 32 35 36 2b 38 0d  |256+7:SWI 256+8.|
00004860  1a 72 45 20 20 20 20 20  20 20 20 53 57 49 20 32  |.rE        SWI 2|
00004870  35 36 3a 53 57 49 20 32  35 36 2b 38 3a 53 57 49  |56:SWI 256+8:SWI|
00004880  20 32 35 36 3a 53 57 49  20 32 35 36 3a 53 57 49  | 256:SWI 256:SWI|
*
000048a0  20 32 35 36 0d 1a 7c 15  20 20 20 20 20 20 20 20  | 256..|.        |
000048b0  53 57 49 20 32 35 36 2b  34 0d 1a 86 15 20 20 20  |SWI 256+4....   |
000048c0  20 20 20 20 20 4d 4f 56  20 52 39 2c 23 35 0d 1a  |     MOV R9,#5..|
000048d0  90 21 20 20 20 20 20 20  20 20 43 4d 50 20 52 31  |.!        CMP R1|
000048e0  32 2c 23 31 3a 42 4c 45  51 20 66 61 64 65 33 0d  |2,#1:BLEQ fade3.|
000048f0  1a 9a 3f 2e 67 65 74 61  6b 20 20 4d 4f 56 20 52  |..?.getak  MOV R|
00004900  30 2c 23 32 31 3a 4d 4f  56 20 52 31 2c 23 30 3a  |0,#21:MOV R1,#0:|
00004910  4d 4f 56 20 52 32 2c 23  30 3a 53 57 49 20 36 3a  |MOV R2,#0:SWI 6:|
00004920  53 57 49 20 22 4f 53 5f  52 65 61 64 43 22 0d 1a  |SWI "OS_ReadC"..|
00004930  a4 16 20 20 20 20 20 20  20 20 43 4d 50 20 52 30  |..        CMP R0|
00004940  2c 23 35 30 0d 1a ae 15  20 20 20 20 20 20 20 20  |,#50....        |
00004950  42 45 51 20 72 65 64 65  66 0d 1a b8 16 20 20 20  |BEQ redef....   |
00004960  20 20 20 20 20 43 4d 50  20 52 30 2c 23 35 31 0d  |     CMP R0,#51.|
00004970  1a c2 16 20 20 20 20 20  20 20 20 42 45 51 20 6f  |...        BEQ o|
00004980  70 74 63 6c 73 0d 1a cc  16 20 20 20 20 20 20 20  |ptcls....       |
00004990  20 43 4d 50 20 52 30 2c  23 34 39 0d 1a d6 15 20  | CMP R0,#49.... |
000049a0  20 20 20 20 20 20 20 42  4e 45 20 67 65 74 61 6b  |       BNE getak|
000049b0  0d 1a e0 18 20 20 20 20  20 20 20 20 4c 44 52 20  |....        LDR |
000049c0  52 30 2c 74 6f 74 70 6c  0d 1a ea 18 20 20 20 20  |R0,totpl....    |
000049d0  20 20 20 20 52 53 42 20  52 30 2c 52 30 2c 23 33  |    RSB R0,R0,#3|
000049e0  0d 1a f4 18 20 20 20 20  20 20 20 20 53 54 52 20  |....        STR |
000049f0  52 30 2c 74 6f 74 70 6c  0d 1a fe 28 20 20 20 20  |R0,totpl...(    |
00004a00  20 20 20 20 53 57 49 20  32 35 36 2b 31 38 3a 53  |    SWI 256+18:S|
00004a10  57 49 20 32 35 36 3a 53  57 49 20 32 35 36 2b 37  |WI 256:SWI 256+7|
00004a20  0d 1b 08 15 20 20 20 20  20 20 20 20 4d 4f 56 20  |....        MOV |
00004a30  52 30 2c 23 34 0d 1b 12  17 20 20 20 20 20 20 20  |R0,#4....       |
00004a40  20 4d 4f 56 20 52 31 2c  23 38 30 30 0d 1b 1c 17  | MOV R1,#800....|
00004a50  20 20 20 20 20 20 20 20  4d 4f 56 20 52 32 2c 23  |        MOV R2,#|
00004a60  37 36 34 0d 1b 26 19 20  20 20 20 20 20 20 20 53  |764..&.        S|
00004a70  57 49 20 22 4f 53 5f 50  6c 6f 74 22 0d 1b 30 17  |WI "OS_Plot"..0.|
00004a80  20 20 20 20 20 20 20 20  4d 4f 56 20 52 30 2c 23  |        MOV R0,#|
00004a90  31 30 31 0d 1b 3a 17 20  20 20 20 20 20 20 20 4d  |101..:.        M|
00004aa0  4f 56 20 52 31 2c 23 39  32 38 0d 1b 44 17 20 20  |OV R1,#928..D.  |
00004ab0  20 20 20 20 20 20 4d 4f  56 20 52 32 2c 23 33 30  |      MOV R2,#30|
00004ac0  30 0d 1b 4e 19 20 20 20  20 20 20 20 20 53 57 49  |0..N.        SWI|
00004ad0  20 22 4f 53 5f 50 6c 6f  74 22 0d 1b 58 15 20 20  | "OS_Plot"..X.  |
00004ae0  20 20 20 20 20 20 42 4c  20 73 68 6f 77 70 6c 0d  |      BL showpl.|
00004af0  1b 62 16 20 20 20 20 20  20 20 20 4d 4f 56 20 52  |.b.        MOV R|
00004b00  31 32 2c 23 30 0d 1b 6c  14 20 20 20 20 20 20 20  |12,#0..l.       |
00004b10  20 42 20 70 72 6b 65 79  64 0d 1b 76 1a 2e 6f 70  | B prkeyd..v..op|
00004b20  74 63 6c 73 20 4c 44 52  20 52 31 30 2c 70 61 6c  |tcls LDR R10,pal|
00004b30  65 74 74 0d 1b 80 15 20  20 20 20 20 20 20 20 4d  |ett....        M|
00004b40  56 4e 20 52 39 2c 23 34  0d 1b 8a 13 20 20 20 20  |VN R9,#4....    |
00004b50  20 20 20 20 42 4c 20 66  61 64 65 0d 1b 94 16 20  |    BL fade.... |
00004b60  20 20 20 20 20 20 20 53  57 49 20 32 35 36 2b 31  |       SWI 256+1|
00004b70  32 0d 1b 9e 19 20 20 20  20 20 20 20 20 4c 44 52  |2....        LDR|
00004b80  20 52 31 2c 70 61 6c 65  74 74 0d 1b a8 21 20 20  | R1,palett...!  |
00004b90  20 20 20 20 20 20 53 57  49 20 22 57 69 6d 70 5f  |      SWI "Wimp_|
00004ba0  53 65 74 50 61 6c 65 74  74 65 22 0d 1b b2 14 20  |SetPalette".... |
00004bb0  20 20 20 20 20 20 20 42  20 74 69 74 6c 65 73 0d  |       B titles.|
00004bc0  1b bc 14 2e 76 6f 6c 6c  65 76 20 45 51 55 44 20  |....vollev EQUD |
00004bd0  31 32 37 0d 1b c6 18 2e  77 72 69 74 65 72 20 45  |127.....writer E|
00004be0  51 55 44 20 77 72 69 74  65 72 25 0d 1b d0 15 2e  |QUD writer%.....|
00004bf0  70 61 6c 65 74 74 20 45  51 55 44 20 70 61 6c 25  |palett EQUD pal%|
00004c00  0d 1b da 1b 2e 73 63 72  62 6c 61 20 53 57 49 20  |.....scrbla SWI |
00004c10  22 58 4f 53 5f 4d 6f 75  73 65 22 0d 1b e4 15 20  |"XOS_Mouse".... |
00004c20  20 20 20 20 20 20 20 43  4d 50 20 52 32 2c 23 37  |       CMP R2,#7|
00004c30  0d 1b ee 16 20 20 20 20  20 20 20 20 42 45 51 20  |....        BEQ |
00004c40  73 74 61 72 74 6f 0d 1b  f8 15 20 20 20 20 20 20  |starto....      |
00004c50  20 20 43 4d 50 20 52 32  2c 23 30 0d 1c 02 16 20  |  CMP R2,#0.... |
00004c60  20 20 20 20 20 20 20 42  4e 45 20 73 63 72 62 6c  |       BNE scrbl|
00004c70  61 0d 1c 0c 3a 20 20 20  20 20 20 20 20 4d 4f 56  |a...:        MOV|
00004c80  20 52 30 2c 23 31 31 33  20 20 20 20 20 20 20 20  | R0,#113        |
00004c90  20 20 20 20 20 20 20 20  3b 20 52 65 74 75 72 6e  |        ; Return|
00004ca0  20 74 6f 20 64 65 73 6b  74 6f 70 0d 1c 16 15 20  | to desktop.... |
00004cb0  20 20 20 20 20 20 20 4d  4f 56 20 52 31 2c 23 31  |       MOV R1,#1|
00004cc0  0d 1c 20 11 20 20 20 20  20 20 20 20 53 57 49 20  |.. .        SWI |
00004cd0  36 0d 1c 2a 17 20 20 20  20 20 20 20 20 4d 4f 56  |6..*.        MOV|
00004ce0  20 52 30 2c 23 31 31 32  0d 1c 34 15 20 20 20 20  | R0,#112..4.    |
00004cf0  20 20 20 20 4d 4f 56 20  52 31 2c 23 31 0d 1c 3e  |    MOV R1,#1..>|
00004d00  11 20 20 20 20 20 20 20  20 53 57 49 20 36 0d 1c  |.        SWI 6..|
00004d10  48 16 20 20 20 20 20 20  20 20 4d 4f 56 20 52 30  |H.        MOV R0|
00004d20  2c 23 32 31 0d 1c 52 15  20 20 20 20 20 20 20 20  |,#21..R.        |
00004d30  4d 4f 56 20 52 31 2c 23  30 0d 1c 5c 15 20 20 20  |MOV R1,#0..\.   |
00004d40  20 20 20 20 20 4d 4f 56  20 52 32 2c 23 30 0d 1c  |     MOV R2,#0..|
00004d50  66 11 20 20 20 20 20 20  20 20 53 57 49 20 36 0d  |f.        SWI 6.|
00004d60  1c 70 13 20 20 20 20 20  20 20 20 42 20 72 65 74  |.p.        B ret|
00004d70  74 77 0d 1c 7a 15 2e 73  70 65 63 70 6c 20 45 51  |tw..z..specpl EQ|
00004d80  55 44 20 26 32 33 34 0d  1c 84 17 2e 67 65 74 6b  |UD &234.....getk|
00004d90  65 79 20 4d 56 4e 20 52  35 2c 23 31 32 37 0d 1c  |ey MVN R5,#127..|
00004da0  8e 15 2e 6b 65 79 67 6c  20 20 4d 4f 56 20 52 31  |...keygl  MOV R1|
00004db0  2c 52 35 0d 1c 98 15 20  20 20 20 20 20 20 20 4d  |,R5....        M|
00004dc0  4f 56 20 52 32 2c 52 35  0d 1c a2 17 20 20 20 20  |OV R2,R5....    |
00004dd0  20 20 20 20 4d 4f 56 20  52 30 2c 23 31 32 39 0d  |    MOV R0,#129.|
00004de0  1c ac 11 20 20 20 20 20  20 20 20 53 57 49 20 36  |...        SWI 6|
00004df0  0d 1c b6 17 20 20 20 20  20 20 20 20 43 4d 50 20  |....        CMP |
00004e00  52 31 2c 23 32 35 35 0d  1c c0 16 20 20 20 20 20  |R1,#255....     |
00004e10  20 20 20 42 45 51 20 67  65 74 6b 65 79 0d 1c ca  |   BEQ getkey...|
00004e20  18 20 20 20 20 20 20 20  20 41 44 44 20 52 35 2c  |.        ADD R5,|
00004e30  52 35 2c 23 31 0d 1c d4  16 20 20 20 20 20 20 20  |R5,#1....       |
00004e40  20 43 4d 4e 20 52 35 2c  23 31 35 0d 1c de 15 20  | CMN R5,#15.... |
00004e50  20 20 20 20 20 20 20 42  4c 54 20 6b 65 79 67 6c  |       BLT keygl|
00004e60  0d 1c e8 17 20 20 20 20  20 20 20 20 4d 56 4e 20  |....        MVN |
00004e70  52 35 2c 23 31 32 37 0d  1c f2 15 2e 6b 65 79 67  |R5,#127.....keyg|
00004e80  6c 32 20 4d 4f 56 20 52  31 2c 52 35 0d 1c fc 15  |l2 MOV R1,R5....|
00004e90  20 20 20 20 20 20 20 20  4d 4f 56 20 52 32 2c 52  |        MOV R2,R|
00004ea0  35 0d 1d 06 17 20 20 20  20 20 20 20 20 4d 4f 56  |5....        MOV|
00004eb0  20 52 30 2c 23 31 32 39  0d 1d 10 11 20 20 20 20  | R0,#129....    |
00004ec0  20 20 20 20 53 57 49 20  36 0d 1d 1a 17 20 20 20  |    SWI 6....   |
00004ed0  20 20 20 20 20 43 4d 50  20 52 31 2c 23 32 35 35  |     CMP R1,#255|
00004ee0  0d 1d 24 17 20 20 20 20  20 20 20 20 53 57 49 45  |..$.        SWIE|
00004ef0  51 20 32 35 36 2b 37 0d  1d 2e 15 20 20 20 20 20  |Q 256+7....     |
00004f00  20 20 20 ec 51 20 50 43  2c 52 31 34 0d 1d 38 18  |   .Q PC,R14..8.|
00004f10  20 20 20 20 20 20 20 20  41 44 44 20 52 35 2c 52  |        ADD R5,R|
00004f20  35 2c 23 31 0d 1d 42 16  20 20 20 20 20 20 20 20  |5,#1..B.        |
00004f30  43 4d 4e 20 52 35 2c 23  31 35 0d 1d 4c 19 20 20  |CMN R5,#15..L.  |
00004f40  20 20 20 20 20 20 4d 56  4e 45 51 20 52 35 2c 23  |      MVNEQ R5,#|
00004f50  31 32 37 0d 1d 56 14 20  20 20 20 20 20 20 20 42  |127..V.        B|
00004f60  20 6b 65 79 67 6c 32 0d  1d 60 18 2e 71 75 65 73  | keygl2..`..ques|
00004f70  74 6d 20 45 51 55 44 20  71 75 65 73 74 6d 25 0d  |tm EQUD questm%.|
00004f80  1d 6a 18 2e 72 65 64 65  66 20 20 4c 44 52 20 52  |.j..redef  LDR R|
00004f90  39 2c 74 6f 74 70 6c 0d  1d 74 18 20 20 20 20 20  |9,totpl..t.     |
00004fa0  20 20 20 53 55 42 20 52  39 2c 52 39 2c 23 31 0d  |   SUB R9,R9,#1.|
00004fb0  1d 7e 1a 20 20 20 20 20  20 20 20 4c 44 52 20 52  |.~.        LDR R|
00004fc0  31 31 2c 73 74 73 74 61  74 0d 1d 88 1b 20 20 20  |11,ststat....   |
00004fd0  20 20 20 20 20 41 44 44  20 52 31 31 2c 52 31 31  |     ADD R11,R11|
00004fe0  2c 23 32 34 0d 1d 92 48  20 20 20 20 20 20 20 20  |,#24...H        |
00004ff0  53 57 49 20 32 35 36 2b  32 33 3a 53 57 49 20 32  |SWI 256+23:SWI 2|
00005000  35 36 2b 31 37 3a 53 57  49 20 32 35 36 2b 37 3a  |56+17:SWI 256+7:|
00005010  53 57 49 20 32 35 36 2b  37 3a 53 57 49 20 32 35  |SWI 256+7:SWI 25|
00005020  36 2b 31 36 3a 53 57 49  20 32 35 36 0d 1d 9c 48  |6+16:SWI 256...H|
00005030  20 20 20 20 20 20 20 20  53 57 49 20 32 35 36 2b  |        SWI 256+|
00005040  31 36 3a 53 57 49 20 32  35 36 3a 53 57 49 20 32  |16:SWI 256:SWI 2|
00005050  35 36 3a 53 57 49 20 32  35 36 3a 53 57 49 20 32  |56:SWI 256:SWI 2|
*
00005070  35 36 2b 35 0d 1d a6 15  20 20 20 20 20 20 20 20  |56+5....        |
00005080  4d 4f 56 20 52 37 2c 23  30 0d 1d b0 19 20 20 20  |MOV R7,#0....   |
00005090  20 20 20 20 20 4c 44 52  20 52 31 32 2c 74 6f 74  |     LDR R12,tot|
000050a0  70 6c 0d 1d ba 1a 20 20  20 20 20 20 20 20 53 55  |pl....        SU|
000050b0  42 20 52 31 32 2c 52 31  32 2c 23 31 0d 1d c4 1a  |B R12,R12,#1....|
000050c0  2e 6b 65 79 6c 20 20 20  41 44 44 20 52 37 2c 52  |.keyl   ADD R7,R|
000050d0  37 2c 23 34 30 30 0d 1d  ce 16 20 20 20 20 20 20  |7,#400....      |
000050e0  20 20 4d 4f 56 20 52 31  30 2c 23 34 0d 1d d8 17  |  MOV R10,#4....|
000050f0  20 20 20 20 20 20 20 20  4d 4f 56 20 52 38 2c 23  |        MOV R8,#|
00005100  37 30 30 0d 1d e2 19 2e  6b 67 65 74 6c 20 20 4c  |700.....kgetl  L|
00005110  44 52 20 52 30 2c 73 70  6c 6f 74 32 0d 1d ec 19  |DR R0,splot2....|
00005120  20 20 20 20 20 20 20 20  4c 44 52 20 52 31 2c 73  |        LDR R1,s|
00005130  61 72 65 61 32 0d 1d f6  19 20 20 20 20 20 20 20  |area2....       |
00005140  20 4c 44 52 20 52 32 2c  71 75 65 73 74 6d 0d 1e  | LDR R2,questm..|
00005150  00 15 20 20 20 20 20 20  20 20 4d 4f 56 20 52 33  |..        MOV R3|
00005160  2c 52 37 0d 1e 0a 18 20  20 20 20 20 20 20 20 41  |,R7....        A|
00005170  44 44 20 52 34 2c 52 38  2c 23 34 0d 1e 14 15 20  |DD R4,R8,#4.... |
00005180  20 20 20 20 20 20 20 4d  4f 56 20 52 35 2c 23 30  |       MOV R5,#0|
00005190  0d 1e 1e 12 20 20 20 20  20 20 20 20 53 57 49 20  |....        SWI |
000051a0  34 36 0d 1e 28 15 20 20  20 20 20 20 20 20 42 4c  |46..(.        BL|
000051b0  20 67 65 74 6b 65 79 0d  1e 32 1b 20 20 20 20 20  | getkey..2.     |
000051c0  20 20 20 53 54 52 20 52  35 2c 5b 52 31 31 5d 2c  |   STR R5,[R11],|
000051d0  23 34 0d 1e 3c 15 20 20  20 20 20 20 20 20 4d 4f  |#4..<.        MO|
000051e0  56 20 52 30 2c 23 34 0d  1e 46 1a 20 20 20 20 20  |V R0,#4..F.     |
000051f0  20 20 20 41 44 44 20 52  31 2c 52 37 2c 23 31 32  |   ADD R1,R7,#12|
00005200  38 0d 1e 50 15 20 20 20  20 20 20 20 20 4d 4f 56  |8..P.        MOV|
00005210  20 52 32 2c 52 38 0d 1e  5a 19 20 20 20 20 20 20  | R2,R8..Z.      |
00005220  20 20 53 57 49 20 22 4f  53 5f 50 6c 6f 74 22 0d  |  SWI "OS_Plot".|
00005230  1e 64 28 20 20 20 20 20  20 20 20 53 57 49 20 32  |.d(        SWI 2|
00005240  35 36 2b 31 38 3a 53 57  49 20 32 35 36 3a 53 57  |56+18:SWI 256:SW|
00005250  49 20 32 35 36 2b 37 0d  1e 6e 17 20 20 20 20 20  |I 256+7..n.     |
00005260  20 20 20 4d 4f 56 20 52  30 2c 23 31 30 31 0d 1e  |   MOV R0,#101..|
00005270  78 1a 20 20 20 20 20 20  20 20 53 55 42 20 52 31  |x.        SUB R1|
00005280  2c 52 31 2c 23 31 32 38  0d 1e 82 19 20 20 20 20  |,R1,#128....    |
00005290  20 20 20 20 41 44 44 20  52 32 2c 52 32 2c 23 36  |    ADD R2,R2,#6|
000052a0  34 0d 1e 8c 19 20 20 20  20 20 20 20 20 53 57 49  |4....        SWI|
000052b0  20 22 4f 53 5f 50 6c 6f  74 22 0d 1e 96 29 20 20  | "OS_Plot"...)  |
000052c0  20 20 20 20 20 20 53 57  49 20 32 35 36 2b 31 38  |      SWI 256+18|
000052d0  3a 53 57 49 20 32 35 36  3a 53 57 49 20 32 35 36  |:SWI 256:SWI 256|
000052e0  2b 31 31 0d 1e a0 19 20  20 20 20 20 20 20 20 4c  |+11....        L|
000052f0  44 52 20 52 36 2c 6b 65  79 64 74 61 0d 1e aa 18  |DR R6,keydta....|
00005300  20 20 20 20 20 20 20 20  52 53 42 20 52 35 2c 52  |        RSB R5,R|
00005310  35 2c 23 30 0d 1e b4 19  20 20 20 20 20 20 20 20  |5,#0....        |
00005320  53 55 42 20 52 35 2c 52  35 2c 23 31 37 0d 1e be  |SUB R5,R5,#17...|
00005330  1b 20 20 20 20 20 20 20  20 4d 4f 56 20 52 35 2c  |.        MOV R5,|
00005340  52 35 2c 41 53 4c 23 31  0d 1e c8 18 20 20 20 20  |R5,ASL#1....    |
00005350  20 20 20 20 41 44 44 20  52 35 2c 52 35 2c 52 36  |    ADD R5,R5,R6|
00005360  0d 1e d2 1b 20 20 20 20  20 20 20 20 4c 44 52 42  |....        LDRB|
00005370  20 52 30 2c 5b 52 35 5d  2c 23 31 0d 1e dc 1b 20  | R0,[R5],#1.... |
00005380  20 20 20 20 20 20 20 53  57 49 20 22 4f 53 5f 57  |       SWI "OS_W|
00005390  72 69 74 65 43 22 0d 1e  e6 18 20 20 20 20 20 20  |riteC"....      |
000053a0  20 20 4c 44 52 42 20 52  30 2c 5b 52 35 5d 0d 1e  |  LDRB R0,[R5]..|
000053b0  f0 17 20 20 20 20 20 20  20 20 43 4d 50 20 52 30  |..        CMP R0|
000053c0  2c 23 32 35 35 0d 1e fa  1d 20 20 20 20 20 20 20  |,#255....       |
000053d0  20 53 57 49 4e 45 20 22  4f 53 5f 57 72 69 74 65  | SWINE "OS_Write|
000053e0  43 22 0d 1f 04 1a 20 20  20 20 20 20 20 20 53 55  |C"....        SU|
000053f0  42 20 52 38 2c 52 38 2c  23 31 30 30 0d 1f 0e 1b  |B R8,R8,#100....|
00005400  20 20 20 20 20 20 20 20  53 55 42 53 20 52 31 30  |        SUBS R10|
00005410  2c 52 31 30 2c 23 31 0d  1f 18 15 20 20 20 20 20  |,R10,#1....     |
00005420  20 20 20 42 50 4c 20 6b  67 65 74 6c 0d 1f 22 1c  |   BPL kgetl..".|
00005430  20 20 20 20 20 20 20 20  41 44 44 20 52 31 31 2c  |        ADD R11,|
00005440  52 31 31 2c 23 31 30 38  0d 1f 2c 1b 20 20 20 20  |R11,#108..,.    |
00005450  20 20 20 20 53 55 42 53  20 52 31 32 2c 52 31 32  |    SUBS R12,R12|
00005460  2c 23 31 0d 1f 36 14 20  20 20 20 20 20 20 20 42  |,#1..6.        B|
00005470  50 4c 20 6b 65 79 6c 0d  1f 40 47 20 20 20 20 20  |PL keyl..@G     |
00005480  20 20 20 53 57 49 20 32  35 36 2b 32 33 3a 53 57  |   SWI 256+23:SW|
00005490  49 20 32 35 36 2b 31 37  3a 53 57 49 20 32 35 36  |I 256+17:SWI 256|
000054a0  2b 37 3a 53 57 49 20 32  35 36 2b 37 3a 53 57 49  |+7:SWI 256+7:SWI|
000054b0  20 32 35 36 2b 38 3a 53  57 49 20 32 35 36 0d 1f  | 256+8:SWI 256..|
000054c0  4a 47 20 20 20 20 20 20  20 20 53 57 49 20 32 35  |JG        SWI 25|
000054d0  36 2b 38 3a 53 57 49 20  32 35 36 3a 53 57 49 20  |6+8:SWI 256:SWI |
000054e0  32 35 36 3a 53 57 49 20  32 35 36 3a 53 57 49 20  |256:SWI 256:SWI |
*
00005500  32 35 36 2b 34 0d 1f 54  13 20 20 20 20 20 20 20  |256+4..T.       |
00005510  20 42 20 67 65 74 61 6b  0d 1f 5e 16 2e 6c 63 6f  | B getak..^..lco|
00005520  6d 70 20 20 45 51 55 44  20 63 6f 6d 70 25 0d 1f  |mp  EQUD comp%..|
00005530  68 17 2e 67 6f 76 65 72  20 20 45 51 55 44 20 67  |h..gover  EQUD g|
00005540  6f 76 65 72 25 0d 1f 72  23 2e 65 6e 6c 65 66 74  |over%..r#.enleft|
00005550  20 45 51 55 53 20 22 42  6f 6e 75 73 3a 20 22 2b  | EQUS "Bonus: "+|
00005560  bd 30 3a 41 4c 49 47 4e  0d 1f 7c 18 2e 6c 6f 73  |.0:ALIGN..|..los|
00005570  65 6c 20 20 4c 44 52 20  52 30 2c 74 6f 74 70 6c  |el  LDR R0,totpl|
00005580  0d 1f 86 15 20 20 20 20  20 20 20 20 43 4d 50 20  |....        CMP |
00005590  52 30 2c 23 32 0d 1f 90  16 20 20 20 20 20 20 20  |R0,#2....       |
000055a0  20 42 45 51 20 74 69 74  6c 65 73 0d 1f 9a 33 20  | BEQ titles...3 |
000055b0  20 20 20 20 20 20 20 4c  44 52 20 52 31 31 2c 62  |       LDR R11,b|
000055c0  6c 6f 63 6b 32 20 20 20  20 20 20 20 20 20 20 20  |lock2           |
000055d0  20 20 20 20 3b 20 57 68  6f 20 77 6f 6e 3f 0d 1f  |    ; Who won?..|
000055e0  a4 1c 20 20 20 20 20 20  20 20 4c 44 52 20 52 38  |..        LDR R8|
000055f0  2c 5b 52 31 31 2c 23 32  30 5d 0d 1f ae 15 20 20  |,[R11,#20]....  |
00005600  20 20 20 20 20 20 43 4d  50 20 52 38 2c 23 30 0d  |      CMP R8,#0.|
00005610  1f b8 13 20 20 20 20 20  20 20 20 42 47 45 20 77  |...        BGE w|
00005620  6f 6e 0d 1f c2 18 20 20  20 20 20 20 20 20 4c 44  |on....        LD|
00005630  52 20 52 30 2c 6c 69 76  65 73 0d 1f cc 19 20 20  |R R0,lives....  |
00005640  20 20 20 20 20 20 53 55  42 53 20 52 30 2c 52 30  |      SUBS R0,R0|
00005650  2c 23 31 0d 1f d6 18 20  20 20 20 20 20 20 20 53  |,#1....        S|
00005660  54 52 20 52 30 2c 6c 69  76 65 73 0d 1f e0 14 20  |TR R0,lives.... |
00005670  20 20 20 20 20 20 20 42  4d 49 20 6c 6f 73 74 0d  |       BMI lost.|
00005680  1f ea 14 20 20 20 20 20  20 20 20 42 20 66 61 64  |...        B fad|
00005690  65 69 76 0d 1f f4 1d 2e  73 63 73 74 72 32 20 45  |eiv.....scstr2 E|
000056a0  51 55 53 20 22 53 63 6f  72 65 3a 20 22 2b bd 30  |QUS "Score: "+.0|
000056b0  0d 1f fe 16 2e 65 6e 62  6f 74 20 20 45 51 55 44  |.....enbot  EQUD|
000056c0  20 65 6e 62 6f 25 0d 20  08 19 2e 77 6f 6e 20 20  | enbo%. ...won  |
000056d0  20 20 4c 44 52 20 52 30  2c 62 6c 65 76 65 6c 0d  |  LDR R0,blevel.|
000056e0  20 12 15 20 20 20 20 20  20 20 20 43 4d 50 20 52  | ..        CMP R|
000056f0  30 2c 23 30 0d 20 1c 16  20 20 20 20 20 20 20 20  |0,#0. ..        |
00005700  42 4e 45 20 65 6e 64 6f  6c 76 0d 20 26 15 20 20  |BNE endolv. &.  |
00005710  20 20 20 20 20 20 4d 4f  56 20 52 30 2c 23 31 0d  |      MOV R0,#1.|
00005720  20 30 19 20 20 20 20 20  20 20 20 53 54 52 20 52  | 0.        STR R|
00005730  30 2c 62 6c 65 76 65 6c  0d 20 3a 15 20 20 20 20  |0,blevel. :.    |
00005740  20 20 20 20 4d 4f 56 20  52 30 2c 23 30 0d 20 44  |    MOV R0,#0. D|
00005750  19 20 20 20 20 20 20 20  20 53 54 52 20 52 30 2c  |.        STR R0,|
00005760  73 77 69 74 6f 6e 0d 20  4e 19 20 20 20 20 20 20  |switon. N.      |
00005770  20 20 4c 44 52 20 52 30  2c 73 74 73 74 61 74 0d  |  LDR R0,ststat.|
00005780  20 58 19 20 20 20 20 20  20 20 20 4c 44 52 20 52  | X.        LDR R|
00005790  31 2c 62 6c 6f 63 6b 32  0d 20 62 1a 20 20 20 20  |1,block2. b.    |
000057a0  20 20 20 20 41 44 44 20  52 30 2c 52 30 2c 23 31  |    ADD R0,R0,#1|
000057b0  32 38 0d 20 6c 1a 20 20  20 20 20 20 20 20 41 44  |28. l.        AD|
000057c0  44 20 52 31 2c 52 31 2c  23 31 32 38 0d 20 76 16  |D R1,R1,#128. v.|
000057d0  20 20 20 20 20 20 20 20  4d 4f 56 20 52 32 2c 23  |        MOV R2,#|
000057e0  33 31 0d 20 80 1a 2e 62  72 65 70 64 74 20 4c 44  |31. ...brepdt LD|
000057f0  52 20 52 33 2c 5b 52 30  5d 2c 23 34 0d 20 8a 1a  |R R3,[R0],#4. ..|
00005800  20 20 20 20 20 20 20 20  53 54 52 20 52 33 2c 5b  |        STR R3,[|
00005810  52 31 5d 2c 23 34 0d 20  94 19 20 20 20 20 20 20  |R1],#4. ..      |
00005820  20 20 53 55 42 53 20 52  32 2c 52 32 2c 23 31 0d  |  SUBS R2,R2,#1.|
00005830  20 9e 16 20 20 20 20 20  20 20 20 42 50 4c 20 62  | ..        BPL b|
00005840  72 65 70 64 74 0d 20 a8  1a 20 20 20 20 20 20 20  |repdt. ..       |
00005850  20 4c 44 52 20 52 31 31  2c 62 6c 6f 63 6b 32 0d  | LDR R11,block2.|
00005860  20 b2 1c 20 20 20 20 20  20 20 20 41 44 44 20 52  | ..        ADD R|
00005870  31 31 2c 52 31 31 2c 23  31 32 38 0d 20 bc 15 20  |11,R11,#128. .. |
00005880  20 20 20 20 20 20 20 4d  4f 56 20 52 30 2c 23 31  |       MOV R0,#1|
00005890  0d 20 c6 1c 20 20 20 20  20 20 20 20 53 54 52 20  |. ..        STR |
000058a0  52 30 2c 5b 52 31 31 2c  23 32 34 5d 0d 20 d0 1c  |R0,[R11,#24]. ..|
000058b0  20 20 20 20 20 20 20 20  53 54 52 20 52 30 2c 5b  |        STR R0,[|
000058c0  52 31 31 2c 23 33 32 5d  0d 20 da 15 20 20 20 20  |R11,#32]. ..    |
000058d0  20 20 20 20 4d 4f 56 20  52 30 2c 23 30 0d 20 e4  |    MOV R0,#0. .|
000058e0  1c 20 20 20 20 20 20 20  20 53 54 52 20 52 30 2c  |.        STR R0,|
000058f0  5b 52 31 31 2c 23 33 36  5d 0d 20 ee 1d 20 20 20  |[R11,#36]. ..   |
00005900  20 20 20 20 20 53 54 52  20 52 30 2c 5b 52 31 31  |     STR R0,[R11|
00005910  2c 23 31 31 32 5d 0d 20  f8 1c 20 20 20 20 20 20  |,#112]. ..      |
00005920  20 20 53 54 52 20 52 30  2c 5b 52 31 31 2c 23 34  |  STR R0,[R11,#4|
00005930  30 5d 0d 21 02 15 20 20  20 20 20 20 20 20 4d 4f  |0].!..        MO|
00005940  56 20 52 30 2c 23 39 0d  21 0c 1c 20 20 20 20 20  |V R0,#9.!..     |
00005950  20 20 20 53 54 52 20 52  30 2c 5b 52 31 31 2c 23  |   STR R0,[R11,#|
00005960  32 38 5d 0d 21 16 15 20  20 20 20 20 20 20 20 42  |28].!..        B|
00005970  4c 20 72 65 74 6c 65 76  0d 21 20 1b 20 20 20 20  |L retlev.! .    |
00005980  20 20 20 20 4d 4f 56 20  52 30 2c 52 30 2c 41 53  |    MOV R0,R0,AS|
00005990  4c 23 35 0d 21 2a 1a 20  20 20 20 20 20 20 20 41  |L#5.!*.        A|
000059a0  44 44 20 52 30 2c 52 30  2c 23 32 30 30 0d 21 34  |DD R0,R0,#200.!4|
000059b0  1c 20 20 20 20 20 20 20  20 53 54 52 20 52 30 2c  |.        STR R0,|
000059c0  5b 52 31 31 2c 23 32 30  5d 0d 21 3e 19 20 20 20  |[R11,#20].!>.   |
000059d0  20 20 20 20 20 4c 44 52  20 52 30 2c 73 74 73 74  |     LDR R0,stst|
000059e0  61 74 0d 21 48 1c 20 20  20 20 20 20 20 20 4c 44  |at.!H.        LD|
000059f0  4d 49 41 20 52 30 2c 7b  52 31 2d 52 35 7d 0d 21  |MIA R0,{R1-R5}.!|
00005a00  52 19 20 20 20 20 20 20  20 20 4c 44 52 20 52 30  |R.        LDR R0|
00005a10  2c 62 6c 6f 63 6b 32 0d  21 5c 1c 20 20 20 20 20  |,block2.!\.     |
00005a20  20 20 20 53 54 4d 49 41  20 52 30 2c 7b 52 31 2d  |   STMIA R0,{R1-|
00005a30  52 35 7d 0d 21 66 14 20  20 20 20 20 20 20 20 42  |R5}.!f.        B|
00005a40  20 66 61 64 65 74 6e 0d  21 70 16 2e 62 61 63 61  | fadetn.!p..baca|
00005a50  72 65 20 45 51 55 44 20  62 61 63 6b 25 0d 21 7a  |re EQUD back%.!z|
00005a60  18 2e 62 61 63 70 73 70  20 45 51 55 44 20 62 61  |..bacpsp EQUD ba|
00005a70  63 6b 73 70 25 0d 21 84  19 2e 65 6e 64 6f 6c 76  |cksp%.!...endolv|
00005a80  20 4c 44 52 20 52 30 2c  73 70 6c 6f 74 32 0d 21  | LDR R0,splot2.!|
00005a90  8e 19 20 20 20 20 20 20  20 20 4c 44 52 20 52 31  |..        LDR R1|
00005aa0  2c 73 61 72 65 61 32 0d  21 98 18 20 20 20 20 20  |,sarea2.!..     |
00005ab0  20 20 20 4c 44 52 20 52  32 2c 6c 63 6f 6d 70 0d  |   LDR R2,lcomp.|
00005ac0  21 a2 17 20 20 20 20 20  20 20 20 4d 4f 56 20 52  |!..        MOV R|
00005ad0  33 2c 23 32 37 32 0d 21  ac 17 20 20 20 20 20 20  |3,#272.!..      |
00005ae0  20 20 4d 4f 56 20 52 34  2c 23 34 35 32 0d 21 b6  |  MOV R4,#452.!.|
00005af0  15 20 20 20 20 20 20 20  20 4d 4f 56 20 52 35 2c  |.        MOV R5,|
00005b00  23 38 0d 21 c0 12 20 20  20 20 20 20 20 20 53 57  |#8.!..        SW|
00005b10  49 20 34 36 0d 21 ca 2c  20 20 20 20 20 20 20 20  |I 46.!.,        |
00005b20  53 57 49 20 32 35 36 2b  33 31 3a 53 57 49 20 32  |SWI 256+31:SWI 2|
00005b30  35 36 2b 31 35 3a 53 57  49 20 32 35 36 2b 32 30  |56+15:SWI 256+20|
00005b40  0d 21 d4 19 20 20 20 20  20 20 20 20 4c 44 52 20  |.!..        LDR |
00005b50  52 30 2c 73 70 6c 6f 74  32 0d 21 de 19 20 20 20  |R0,splot2.!..   |
00005b60  20 20 20 20 20 4c 44 52  20 52 31 2c 73 61 72 65  |     LDR R1,sare|
00005b70  61 32 0d 21 e8 18 20 20  20 20 20 20 20 20 4c 44  |a2.!..        LD|
00005b80  52 20 52 32 2c 65 6e 62  6f 74 0d 21 f2 17 20 20  |R R2,enbot.!..  |
00005b90  20 20 20 20 20 20 4d 4f  56 20 52 33 2c 23 34 33  |      MOV R3,#43|
00005ba0  32 0d 21 fc 17 20 20 20  20 20 20 20 20 4d 4f 56  |2.!..        MOV|
00005bb0  20 52 34 2c 23 33 34 30  0d 22 06 15 20 20 20 20  | R4,#340."..    |
00005bc0  20 20 20 20 4d 4f 56 20  52 35 2c 23 38 0d 22 10  |    MOV R5,#8.".|
00005bd0  12 20 20 20 20 20 20 20  20 53 57 49 20 34 36 0d  |.        SWI 46.|
00005be0  22 1a 2c 2e 62 6f 61 64  64 6c 20 53 57 49 20 32  |".,.boaddl SWI 2|
00005bf0  35 36 2b 33 31 3a 53 57  49 20 32 35 36 2b 32 31  |56+31:SWI 256+21|
00005c00  3a 53 57 49 20 32 35 36  2b 32 30 0d 22 24 24 20  |:SWI 256+20."$$ |
00005c10  20 20 20 20 20 20 20 4d  4f 56 20 52 30 2c 23 31  |       MOV R0,#1|
00005c20  39 3a 53 57 49 20 22 4f  53 5f 42 79 74 65 22 0d  |9:SWI "OS_Byte".|
00005c30  22 2e 17 20 20 20 20 20  20 20 20 4c 44 52 20 52  |"..        LDR R|
00005c40  39 2c 6e 75 6d 73 0d 22  38 19 20 20 20 20 20 20  |9,nums."8.      |
00005c50  20 20 4c 44 52 20 52 31  2c 73 61 72 65 61 32 0d  |  LDR R1,sarea2.|
00005c60  22 42 2f 20 20 20 20 20  20 20 20 4d 4f 56 20 52  |"B/        MOV R|
00005c70  36 2c 23 31 30 30 20 20  20 20 20 20 20 20 20 20  |6,#100          |
00005c80  20 20 20 20 20 20 20 3b  20 55 6e 69 74 73 0d 22  |       ; Units."|
00005c90  4c 17 20 20 20 20 20 20  20 20 4d 4f 56 20 52 33  |L.        MOV R3|
00005ca0  2c 23 36 36 30 0d 22 56  17 20 20 20 20 20 20 20  |,#660."V.       |
00005cb0  20 4d 4f 56 20 52 34 2c  23 33 34 30 0d 22 60 15  | MOV R4,#340."`.|
00005cc0  20 20 20 20 20 20 20 20  4d 4f 56 20 52 35 2c 23  |        MOV R5,#|
00005cd0  38 0d 22 6a 16 20 20 20  20 20 20 20 20 4d 4f 56  |8."j.        MOV|
00005ce0  20 52 31 32 2c 52 38 0d  22 74 16 2e 64 69 76 6c  | R12,R8."t..divl|
00005cf0  32 20 20 4d 56 4e 20 52  31 31 2c 23 30 0d 22 7e  |2  MVN R11,#0."~|
00005d00  16 20 20 20 20 20 20 20  20 4d 4f 56 20 52 31 30  |.        MOV R10|
00005d10  2c 23 30 0d 22 88 1a 2e  64 69 76 6c 6f 70 20 41  |,#0."...divlop A|
00005d20  44 44 20 52 31 31 2c 52  31 31 2c 23 31 0d 22 92  |DD R11,R11,#1.".|
00005d30  1a 20 20 20 20 20 20 20  20 41 44 44 20 52 31 30  |.        ADD R10|
00005d40  2c 52 31 30 2c 52 36 0d  22 9c 17 20 20 20 20 20  |,R10,R6."..     |
00005d50  20 20 20 43 4d 50 20 52  31 30 2c 52 31 32 0d 22  |   CMP R10,R12."|
00005d60  a6 16 20 20 20 20 20 20  20 20 42 4c 45 20 64 69  |..        BLE di|
00005d70  76 6c 6f 70 0d 22 b0 21  20 20 20 20 20 20 20 20  |vlop.".!        |
00005d80  4c 44 52 20 52 32 2c 5b  52 39 2c 52 31 31 2c 41  |LDR R2,[R9,R11,A|
00005d90  53 4c 23 32 5d 0d 22 ba  16 20 20 20 20 20 20 20  |SL#2]."..       |
00005da0  20 53 57 49 20 32 35 36  2b 32 34 0d 22 c4 28 20  | SWI 256+24.".( |
00005db0  20 20 20 20 20 20 20 80  20 52 30 2c 52 33 2c 23  |       . R0,R3,#|
00005dc0  32 35 35 3a 53 57 49 20  22 4f 53 5f 57 72 69 74  |255:SWI "OS_Writ|
00005dd0  65 43 22 0d 22 ce 2b 20  20 20 20 20 20 20 20 4d  |eC".".+        M|
00005de0  4f 56 20 52 30 2c 52 33  2c 4c 53 52 23 38 3a 53  |OV R0,R3,LSR#8:S|
00005df0  57 49 20 22 4f 53 5f 57  72 69 74 65 43 22 0d 22  |WI "OS_WriteC"."|
00005e00  d8 28 20 20 20 20 20 20  20 20 80 20 52 30 2c 52  |.(        . R0,R|
00005e10  34 2c 23 32 35 35 3a 53  57 49 20 22 4f 53 5f 57  |4,#255:SWI "OS_W|
00005e20  72 69 74 65 43 22 0d 22  e2 2b 20 20 20 20 20 20  |riteC".".+      |
00005e30  20 20 4d 4f 56 20 52 30  2c 52 34 2c 4c 53 52 23  |  MOV R0,R4,LSR#|
00005e40  38 3a 53 57 49 20 22 4f  53 5f 57 72 69 74 65 43  |8:SWI "OS_WriteC|
00005e50  22 0d 22 ec 19 20 20 20  20 20 20 20 20 41 44 44  |"."..        ADD|
00005e60  20 52 37 2c 52 33 2c 23  35 32 0d 22 f6 28 20 20  | R7,R3,#52.".(  |
00005e70  20 20 20 20 20 20 80 20  52 30 2c 52 37 2c 23 32  |      . R0,R7,#2|
00005e80  35 35 3a 53 57 49 20 22  4f 53 5f 57 72 69 74 65  |55:SWI "OS_Write|
00005e90  43 22 0d 23 00 2b 20 20  20 20 20 20 20 20 4d 4f  |C".#.+        MO|
00005ea0  56 20 52 30 2c 52 37 2c  4c 53 52 23 38 3a 53 57  |V R0,R7,LSR#8:SW|
00005eb0  49 20 22 4f 53 5f 57 72  69 74 65 43 22 0d 23 0a  |I "OS_WriteC".#.|
00005ec0  19 20 20 20 20 20 20 20  20 41 44 44 20 52 37 2c  |.        ADD R7,|
00005ed0  52 34 2c 23 37 32 0d 23  14 28 20 20 20 20 20 20  |R4,#72.#.(      |
00005ee0  20 20 80 20 52 30 2c 52  37 2c 23 32 35 35 3a 53  |  . R0,R7,#255:S|
00005ef0  57 49 20 22 4f 53 5f 57  72 69 74 65 43 22 0d 23  |WI "OS_WriteC".#|
00005f00  1e 2b 20 20 20 20 20 20  20 20 4d 4f 56 20 52 30  |.+        MOV R0|
00005f10  2c 52 37 2c 4c 53 52 23  38 3a 53 57 49 20 22 4f  |,R7,LSR#8:SWI "O|
00005f20  53 5f 57 72 69 74 65 43  22 0d 23 28 19 20 20 20  |S_WriteC".#(.   |
00005f30  20 20 20 20 20 4c 44 52  20 52 30 2c 73 70 6c 6f  |     LDR R0,splo|
00005f40  74 32 0d 23 32 1e 20 20  20 20 20 20 20 20 53 54  |t2.#2.        ST|
00005f50  4d 46 44 20 52 31 33 21  2c 7b 52 31 2d 52 35 7d  |MFD R13!,{R1-R5}|
00005f60  0d 23 3c 19 20 20 20 20  20 20 20 20 4c 44 52 20  |.#<.        LDR |
00005f70  52 31 2c 62 61 63 61 72  65 0d 23 46 19 20 20 20  |R1,bacare.#F.   |
00005f80  20 20 20 20 20 4c 44 52  20 52 32 2c 62 61 63 70  |     LDR R2,bacp|
00005f90  73 70 0d 23 50 15 20 20  20 20 20 20 20 20 4d 4f  |sp.#P.        MO|
00005fa0  56 20 52 33 2c 23 30 0d  23 5a 15 20 20 20 20 20  |V R3,#0.#Z.     |
00005fb0  20 20 20 4d 4f 56 20 52  34 2c 23 30 0d 23 64 15  |   MOV R4,#0.#d.|
00005fc0  20 20 20 20 20 20 20 20  4d 4f 56 20 52 35 2c 23  |        MOV R5,#|
00005fd0  30 0d 23 6e 12 20 20 20  20 20 20 20 20 53 57 49  |0.#n.        SWI|
00005fe0  20 34 36 0d 23 78 1e 20  20 20 20 20 20 20 20 4c  | 46.#x.        L|
00005ff0  44 4d 49 41 20 52 31 33  21 2c 7b 52 31 2d 52 35  |DMIA R13!,{R1-R5|
00006000  7d 0d 23 82 12 20 20 20  20 20 20 20 20 53 57 49  |}.#..        SWI|
00006010  20 34 36 0d 23 8c 1a 20  20 20 20 20 20 20 20 53  | 46.#..        S|
00006020  55 42 20 52 31 30 2c 52  31 30 2c 52 36 0d 23 96  |UB R10,R10,R6.#.|
00006030  1b 20 20 20 20 20 20 20  20 53 55 42 20 52 31 32  |.        SUB R12|
00006040  2c 52 31 32 2c 52 31 30  0d 23 a0 19 20 20 20 20  |,R12,R10.#..    |
00006050  20 20 20 20 41 44 44 20  52 33 2c 52 33 2c 23 35  |    ADD R3,R3,#5|
00006060  32 0d 23 aa 17 20 20 20  20 20 20 20 20 43 4d 50  |2.#..        CMP|
00006070  20 52 36 2c 23 31 30 30  0d 23 b4 15 20 20 20 20  | R6,#100.#..    |
00006080  20 20 20 20 ec 51 20 52  36 2c 23 31 30 0d 23 be  |    .Q R6,#10.#.|
00006090  15 20 20 20 20 20 20 20  20 42 45 51 20 64 69 76  |.        BEQ div|
000060a0  6c 32 0d 23 c8 16 20 20  20 20 20 20 20 20 43 4d  |l2.#..        CM|
000060b0  50 20 52 36 2c 23 31 30  0d 23 d2 14 20 20 20 20  |P R6,#10.#..    |
000060c0  20 20 20 20 ec 51 20 52  36 2c 23 31 0d 23 dc 15  |    .Q R6,#1.#..|
000060d0  20 20 20 20 20 20 20 20  42 45 51 20 64 69 76 6c  |        BEQ divl|
000060e0  32 0d 23 e6 18 20 20 20  20 20 20 20 20 53 55 42  |2.#..        SUB|
000060f0  20 52 38 2c 52 38 2c 23  33 0d 23 f0 18 20 20 20  | R8,R8,#3.#..   |
00006100  20 20 20 20 20 4c 44 52  20 52 37 2c 73 63 6f 72  |     LDR R7,scor|
00006110  65 0d 23 fa 18 20 20 20  20 20 20 20 20 41 44 44  |e.#..        ADD|
00006120  20 52 37 2c 52 37 2c 23  33 0d 24 04 18 20 20 20  | R7,R7,#3.$..   |
00006130  20 20 20 20 20 53 54 52  20 52 37 2c 73 63 6f 72  |     STR R7,scor|
00006140  65 0d 24 0e 2a 20 20 20  20 20 20 20 20 53 57 49  |e.$.*        SWI|
00006150  20 32 35 36 2b 33 31 3a  53 57 49 20 32 35 36 2b  | 256+31:SWI 256+|
00006160  31 3a 53 57 49 20 32 35  36 2b 31 0d 24 18 29 20  |1:SWI 256+1.$.) |
00006170  20 20 20 20 20 20 20 41  44 52 20 52 30 2c 73 63  |       ADR R0,sc|
00006180  73 74 72 32 3a 53 57 49  20 22 4f 53 5f 57 72 69  |str2:SWI "OS_Wri|
00006190  74 65 30 22 0d 24 22 15  20 20 20 20 20 20 20 20  |te0".$".        |
000061a0  4d 4f 56 20 52 30 2c 52  37 0d 24 2c 19 20 20 20  |MOV R0,R7.$,.   |
000061b0  20 20 20 20 20 4c 44 52  20 52 31 2c 77 69 6d 70  |     LDR R1,wimp|
000061c0  62 32 0d 24 36 16 20 20  20 20 20 20 20 20 4d 4f  |b2.$6.        MO|
000061d0  56 20 52 32 2c 23 31 32  0d 24 40 24 20 20 20 20  |V R2,#12.$@$    |
000061e0  20 20 20 20 53 57 49 20  22 4f 53 5f 43 6f 6e 76  |    SWI "OS_Conv|
000061f0  65 72 74 49 6e 74 65 67  65 72 34 22 0d 24 4a 1b  |ertInteger4".$J.|
00006200  20 20 20 20 20 20 20 20  53 57 49 20 22 4f 53 5f  |        SWI "OS_|
00006210  57 72 69 74 65 30 22 0d  24 54 15 20 20 20 20 20  |Write0".$T.     |
00006220  20 20 20 43 4d 4e 20 52  38 2c 23 33 0d 24 5e 16  |   CMN R8,#3.$^.|
00006230  20 20 20 20 20 20 20 20  42 47 54 20 62 6f 61 64  |        BGT boad|
00006240  64 6c 0d 24 68 16 20 20  20 20 20 20 20 20 53 57  |dl.$h.        SW|
00006250  49 20 32 35 36 2b 32 36  0d 24 72 15 20 20 20 20  |I 256+26.$r.    |
00006260  20 20 20 20 42 4c 20 72  65 74 6c 65 76 0d 24 7c  |    BL retlev.$||
00006270  18 20 20 20 20 20 20 20  20 41 44 44 20 52 30 2c  |.        ADD R0,|
00006280  52 30 2c 23 31 0d 24 86  15 20 20 20 20 20 20 20  |R0,#1.$..       |
00006290  20 43 4d 50 20 52 30 2c  23 38 0d 24 90 16 20 20  | CMP R0,#8.$..  |
000062a0  20 20 20 20 20 20 42 47  45 20 77 6f 6e 67 61 6d  |      BGE wongam|
000062b0  0d 24 9a 15 20 20 20 20  20 20 20 20 42 4c 20 70  |.$..        BL p|
000062c0  6c 61 63 65 72 0d 24 a4  1b 20 20 20 20 20 20 20  |lacer.$..       |
000062d0  20 4d 4f 56 20 52 31 2c  52 30 2c 41 53 52 23 31  | MOV R1,R0,ASR#1|
000062e0  0d 24 ae 1b 20 20 20 20  20 20 20 20 43 4d 50 20  |.$..        CMP |
000062f0  52 30 2c 52 31 2c 41 53  4c 23 31 0d 24 b8 17 20  |R0,R1,ASL#1.$.. |
00006300  20 20 20 20 20 20 20 4d  4f 56 4e 45 20 52 30 2c  |       MOVNE R0,|
00006310  23 30 0d 24 c2 1b 20 20  20 20 20 20 20 20 53 54  |#0.$..        ST|
00006320  52 4e 45 20 52 30 2c 62  6c 65 76 65 6c 0d 24 cc  |RNE R0,blevel.$.|
00006330  1b 20 20 20 20 20 20 20  20 4d 4f 56 4e 45 20 52  |.        MOVNE R|
00006340  30 2c 23 35 31 3c 3c 35  0d 24 d6 1a 20 20 20 20  |0,#51<<5.$..    |
00006350  20 20 20 20 53 54 52 4e  45 20 52 30 2c 74 69 6d  |    STRNE R0,tim|
00006360  65 63 0d 24 e0 17 20 20  20 20 20 20 20 20 4d 4f  |ec.$..        MO|
00006370  56 4e 45 20 52 30 2c 23  30 0d 24 ea 1b 20 20 20  |VNE R0,#0.$..   |
00006380  20 20 20 20 20 53 54 52  4e 45 20 52 30 2c 62 65  |     STRNE R0,be|
00006390  68 6e 64 73 0d 24 f4 17  20 20 20 20 20 20 20 20  |hnds.$..        |
000063a0  4d 4f 56 20 52 31 2c 23  31 30 30 0d 24 fe 13 20  |MOV R1,#100.$.. |
000063b0  20 20 20 20 20 20 20 42  4c 20 77 61 69 74 0d 25  |       BL wait.%|
000063c0  08 15 2e 66 61 64 65 69  76 20 42 4c 20 69 6e 76  |...fadeiv BL inv|
000063d0  61 72 73 0d 25 12 1a 2e  66 61 64 65 74 6e 20 4c  |ars.%...fadetn L|
000063e0  44 52 20 52 31 30 2c 70  61 6c 65 74 74 0d 25 1c  |DR R10,palett.%.|
000063f0  15 20 20 20 20 20 20 20  20 4d 4f 56 20 52 39 2c  |.        MOV R9,|
00006400  23 34 0d 25 26 13 20 20  20 20 20 20 20 20 42 4c  |#4.%&.        BL|
00006410  20 66 61 64 65 0d 25 30  42 20 20 20 20 20 20 20  | fade.%0B       |
00006420  20 53 57 49 20 32 35 36  2b 31 37 3a 53 57 49 20  | SWI 256+17:SWI |
00006430  32 35 36 2b 31 32 38 3a  53 57 49 20 32 35 36 2b  |256+128:SWI 256+|
00006440  31 37 3a 53 57 49 20 32  35 36 2b 37 3a 53 57 49  |17:SWI 256+7:SWI|
00006450  20 32 35 36 2b 31 32 0d  25 3a 19 20 20 20 20 20  | 256+12.%:.     |
00006460  20 20 20 4c 44 52 20 52  30 2c 62 6c 65 76 65 6c  |   LDR R0,blevel|
00006470  0d 25 44 15 20 20 20 20  20 20 20 20 43 4d 50 20  |.%D.        CMP |
00006480  52 30 2c 23 30 0d 25 4e  16 20 20 20 20 20 20 20  |R0,#0.%N.       |
00006490  20 42 4e 45 20 73 77 69  74 63 68 0d 25 58 15 20  | BNE switch.%X. |
000064a0  20 20 20 20 20 20 20 4d  4f 56 20 52 30 2c 23 35  |       MOV R0,#5|
000064b0  0d 25 62 18 20 20 20 20  20 20 20 20 53 54 52 20  |.%b.        STR |
000064c0  52 30 2c 6d 61 78 62 6f  0d 25 6c 1a 20 20 20 20  |R0,maxbo.%l.    |
000064d0  20 20 20 20 4c 44 52 20  52 31 31 2c 62 6c 6f 63  |    LDR R11,bloc|
000064e0  6b 32 0d 25 76 1c 20 20  20 20 20 20 20 20 4d 4f  |k2.%v.        MO|
000064f0  56 20 52 30 2c 23 31 35  33 36 3c 3c 73 68 0d 25  |V R0,#1536<<sh.%|
00006500  80 1d 20 20 20 20 20 20  20 20 53 54 52 20 52 30  |..        STR R0|
00006510  2c 5b 52 31 31 2c 23 31  32 38 5d 0d 25 8a 1d 20  |,[R11,#128].%.. |
00006520  20 20 20 20 20 20 20 53  54 52 20 52 30 2c 5b 52  |       STR R0,[R|
00006530  31 31 2c 23 31 33 32 5d  0d 25 94 14 20 20 20 20  |11,#132].%..    |
00006540  20 20 20 20 42 20 73 77  69 74 63 68 0d 25 9e 15  |    B switch.%..|
00006550  2e 64 6f 74 75 72 6e 20  43 4d 50 20 52 37 2c 23  |.doturn CMP R7,#|
00006560  33 0d 25 a8 1a 20 20 20  20 20 20 20 20 41 44 44  |3.%..        ADD|
00006570  45 51 20 52 38 2c 52 38  2c 23 38 0d 25 b2 15 20  |EQ R8,R8,#8.%.. |
00006580  20 20 20 20 20 20 20 43  4d 50 20 52 37 2c 23 32  |       CMP R7,#2|
00006590  0d 25 bc 1a 20 20 20 20  20 20 20 20 53 55 42 45  |.%..        SUBE|
000065a0  51 20 52 38 2c 52 38 2c  23 38 0d 25 c6 16 20 20  |Q R8,R8,#8.%..  |
000065b0  20 20 20 20 20 20 43 4d  50 20 52 37 2c 23 31 30  |      CMP R7,#10|
000065c0  0d 25 d0 13 20 20 20 20  20 20 20 20 42 4e 45 20  |.%..        BNE |
000065d0  6e 66 62 0d 25 da 1a 20  20 20 20 20 20 20 20 41  |nfb.%..        A|
000065e0  44 44 20 52 38 2c 52 38  2c 23 31 34 34 0d 25 e4  |DD R8,R8,#144.%.|
000065f0  1d 20 20 20 20 20 20 20  20 4c 44 52 20 52 37 2c  |.        LDR R7,|
00006600  5b 52 31 31 2c 23 31 30  30 5d 0d 25 ee 18 20 20  |[R11,#100].%..  |
00006610  20 20 20 20 20 20 53 55  42 20 52 37 2c 52 37 2c  |      SUB R7,R7,|
00006620  23 31 0d 25 f8 1d 20 20  20 20 20 20 20 20 53 54  |#1.%..        ST|
00006630  52 20 52 37 2c 5b 52 31  31 2c 23 31 30 30 5d 0d  |R R7,[R11,#100].|
00006640  26 02 16 20 20 20 20 20  20 20 20 4d 4f 56 20 52  |&..        MOV R|
00006650  37 2c 23 31 30 0d 26 0c  18 2e 6e 66 62 20 20 20  |7,#10.&...nfb   |
00006660  20 53 55 42 20 52 37 2c  52 37 2c 23 31 0d 26 16  | SUB R7,R7,#1.&.|
00006670  18 20 20 20 20 20 20 20  20 53 54 52 20 52 37 2c  |.        STR R7,|
00006680  73 62 75 74 70 0d 26 20  17 20 20 20 20 20 20 20  |sbutp.& .       |
00006690  20 43 4d 50 20 52 38 2c  23 32 38 38 0d 26 2a 1c  | CMP R8,#288.&*.|
000066a0  20 20 20 20 20 20 20 20  53 55 42 47 45 20 52 38  |        SUBGE R8|
000066b0  2c 52 38 2c 23 32 38 38  0d 26 34 15 20 20 20 20  |,R8,#288.&4.    |
000066c0  20 20 20 20 43 4d 50 20  52 38 2c 23 30 0d 26 3e  |    CMP R8,#0.&>|
000066d0  1c 20 20 20 20 20 20 20  20 41 44 44 4d 49 20 52  |.        ADDMI R|
000066e0  38 2c 52 38 2c 23 32 38  38 0d 26 48 15 20 20 20  |8,R8,#288.&H.   |
000066f0  20 20 20 20 20 43 4d 50  20 52 37 2c 23 38 0d 26  |     CMP R7,#8.&|
00006700  52 14 20 20 20 20 20 20  20 20 ec 51 20 52 37 2c  |R.        .Q R7,|
00006710  23 30 0d 26 5c 1a 20 20  20 20 20 20 20 20 53 54  |#0.&\.        ST|
00006720  52 45 51 20 52 37 2c 73  62 75 74 70 0d 26 66 16  |REQ R7,sbutp.&f.|
00006730  20 20 20 20 20 20 20 20  42 45 51 20 66 69 6e 74  |        BEQ fint|
00006740  75 72 0d 26 70 15 20 20  20 20 20 20 20 20 43 4d  |ur.&p.        CM|
00006750  50 20 52 37 2c 23 30 0d  26 7a 16 20 20 20 20 20  |P R7,#0.&z.     |
00006760  20 20 20 42 4e 45 20 66  69 6e 74 75 72 0d 26 84  |   BNE fintur.&.|
00006770  1c 20 20 20 20 20 20 20  20 4c 44 52 20 52 37 2c  |.        LDR R7,|
00006780  5b 52 31 31 2c 23 39 32  5d 0d 26 8e 18 20 20 20  |[R11,#92].&..   |
00006790  20 20 20 20 20 53 55 42  20 52 37 2c 52 37 2c 23  |     SUB R7,R7,#|
000067a0  31 0d 26 98 1c 20 20 20  20 20 20 20 20 53 54 52  |1.&..        STR|
000067b0  20 52 37 2c 5b 52 31 31  2c 23 39 32 5d 0d 26 a2  | R7,[R11,#92].&.|
000067c0  14 20 20 20 20 20 20 20  20 42 20 66 69 6e 74 75  |.        B fintu|
000067d0  72 0d 26 ac 15 2e 64 6d  33 64 61 74 20 45 51 55  |r.&...dm3dat EQU|
000067e0  44 20 64 6d 33 25 0d 26  b6 2f 2e 64 6d 33 74 69  |D dm3%.&./.dm3ti|
000067f0  74 20 45 51 55 53 20 22  42 6f 6e 75 73 73 65 73  |t EQUS "Bonusses|
00006800  20 61 76 61 69 6c 61 62  6c 65 3a 22 2b bd 30 3a  | available:"+.0:|
00006810  41 4c 49 47 4e 0d 26 c0  4b 2e 64 65 6d 6f 33 20  |ALIGN.&.K.demo3 |
00006820  20 53 57 49 20 32 35 36  2b 31 32 3a 53 57 49 20  | SWI 256+12:SWI |
00006830  32 35 36 2b 31 37 3a 53  57 49 20 32 35 36 2b 32  |256+17:SWI 256+2|
00006840  3a 53 57 49 20 32 35 36  2b 33 31 3a 53 57 49 20  |:SWI 256+31:SWI |
00006850  32 35 36 2b 31 30 3a 53  57 49 20 32 35 36 2b 30  |256+10:SWI 256+0|
00006860  0d 26 ca 19 20 20 20 20  20 20 20 20 41 44 52 20  |.&..        ADR |
00006870  52 30 2c 64 6d 33 74 69  74 0d 26 d4 1b 20 20 20  |R0,dm3tit.&..   |
00006880  20 20 20 20 20 53 57 49  20 22 4f 53 5f 57 72 69  |     SWI "OS_Wri|
00006890  74 65 30 22 0d 26 de 20  20 20 20 20 20 20 20 20  |te0".&.         |
000068a0  53 57 49 20 32 35 36 2b  31 37 3a 53 57 49 20 32  |SWI 256+17:SWI 2|
000068b0  35 36 2b 30 0d 26 e8 15  20 20 20 20 20 20 20 20  |56+0.&..        |
000068c0  4d 4f 56 20 52 30 2c 23  33 0d 26 f2 19 20 20 20  |MOV R0,#3.&..   |
000068d0  20 20 20 20 20 53 54 52  20 52 30 2c 73 68 6f 77  |     STR R0,show|
000068e0  73 63 0d 26 fc 16 20 20  20 20 20 20 20 20 4d 4f  |sc.&..        MO|
000068f0  56 20 52 33 2c 23 35 30  0d 27 06 17 20 20 20 20  |V R3,#50.'..    |
00006900  20 20 20 20 4d 4f 56 20  52 34 2c 23 39 30 30 0d  |    MOV R4,#900.|
00006910  27 10 15 20 20 20 20 20  20 20 20 4d 4f 56 20 52  |'..        MOV R|
00006920  35 2c 23 30 0d 27 1a 19  20 20 20 20 20 20 20 20  |5,#0.'..        |
00006930  4c 44 52 20 52 36 2c 73  70 6c 6f 74 32 0d 27 24  |LDR R6,splot2.'$|
00006940  19 20 20 20 20 20 20 20  20 4c 44 52 20 52 37 2c  |.        LDR R7,|
00006950  73 61 72 65 61 32 0d 27  2e 16 20 20 20 20 20 20  |sarea2.'..      |
00006960  20 20 4d 4f 56 20 52 39  2c 23 31 39 0d 27 38 1a  |  MOV R9,#19.'8.|
00006970  20 20 20 20 20 20 20 20  4c 44 52 20 52 31 30 2c  |        LDR R10,|
00006980  64 6d 33 64 61 74 0d 27  42 34 20 20 20 20 20 20  |dm3dat.'B4      |
00006990  20 20 53 57 49 20 32 35  36 2b 31 38 3a 53 57 49  |  SWI 256+18:SWI|
000069a0  20 32 35 36 2b 30 3a 53  57 49 20 32 35 36 2b 31  | 256+0:SWI 256+1|
000069b0  3a 53 57 49 20 32 35 36  2b 35 0d 27 4c 1b 2e 72  |:SWI 256+5.'L..r|
000069c0  65 61 64 64 33 20 4c 44  52 20 52 32 2c 5b 52 31  |eadd3 LDR R2,[R1|
000069d0  30 5d 2c 23 34 0d 27 56  15 20 20 20 20 20 20 20  |0],#4.'V.       |
000069e0  20 4d 4f 56 20 52 30 2c  52 36 0d 27 60 15 20 20  | MOV R0,R6.'`.  |
000069f0  20 20 20 20 20 20 4d 4f  56 20 52 31 2c 52 37 0d  |      MOV R1,R7.|
00006a00  27 6a 12 20 20 20 20 20  20 20 20 53 57 49 20 34  |'j.        SWI 4|
00006a10  36 0d 27 74 15 20 20 20  20 20 20 20 20 4d 4f 56  |6.'t.        MOV|
00006a20  20 52 30 2c 23 34 0d 27  7e 19 20 20 20 20 20 20  | R0,#4.'~.      |
00006a30  20 20 41 44 44 20 52 31  2c 52 33 2c 23 37 30 0d  |  ADD R1,R3,#70.|
00006a40  27 88 19 20 20 20 20 20  20 20 20 41 44 44 20 52  |'..        ADD R|
00006a50  32 2c 52 34 2c 23 35 30  0d 27 92 19 20 20 20 20  |2,R4,#50.'..    |
00006a60  20 20 20 20 53 57 49 20  22 4f 53 5f 50 6c 6f 74  |    SWI "OS_Plot|
00006a70  22 0d 27 9c 16 20 20 20  20 20 20 20 20 4d 4f 56  |".'..        MOV|
00006a80  20 52 30 2c 52 31 30 0d  27 a6 1b 20 20 20 20 20  | R0,R10.'..     |
00006a90  20 20 20 53 57 49 20 22  4f 53 5f 57 72 69 74 65  |   SWI "OS_Write|
00006aa0  30 22 0d 27 b0 1b 20 20  20 20 20 20 20 20 41 44  |0".'..        AD|
00006ab0  44 20 52 31 30 2c 52 31  30 2c 23 31 36 0d 27 ba  |D R10,R10,#16.'.|
00006ac0  19 20 20 20 20 20 20 20  20 53 55 42 20 52 34 2c  |.        SUB R4,|
00006ad0  52 34 2c 23 38 30 0d 27  c4 17 20 20 20 20 20 20  |R4,#80.'..      |
00006ae0  20 20 43 4d 50 20 52 34  2c 23 31 32 30 0d 27 ce  |  CMP R4,#120.'.|
00006af0  1c 20 20 20 20 20 20 20  20 41 44 44 4c 54 20 52  |.        ADDLT R|
00006b00  33 2c 52 33 2c 23 36 34  30 0d 27 d8 19 20 20 20  |3,R3,#640.'..   |
00006b10  20 20 20 20 20 4d 4f 56  4c 54 20 52 34 2c 23 39  |     MOVLT R4,#9|
00006b20  30 30 0d 27 e2 19 20 20  20 20 20 20 20 20 53 55  |00.'..        SU|
00006b30  42 53 20 52 39 2c 52 39  2c 23 31 0d 27 ec 16 20  |BS R9,R9,#1.'.. |
00006b40  20 20 20 20 20 20 20 42  50 4c 20 72 65 61 64 64  |       BPL readd|
00006b50  33 0d 27 f6 15 20 20 20  20 20 20 20 20 53 57 49  |3.'..        SWI|
00006b60  20 32 35 36 2b 34 0d 28  00 13 20 20 20 20 20 20  | 256+4.(..      |
00006b70  20 20 42 20 74 65 78 74  63 0d 28 0a 12 2e 74 6f  |  B textc.(...to|
00006b80  74 70 6c 20 20 45 51 55  44 20 31 0d 28 14 14 2e  |tpl  EQUD 1.(...|
00006b90  68 69 67 68 73 63 20 45  51 55 44 20 68 69 25 0d  |highsc EQUD hi%.|
00006ba0  28 1e 12 2e 73 68 6f 77  73 63 20 45 51 55 44 20  |(...showsc EQUD |
00006bb0  31 0d 28 28 12 2e 73 68  6f 77 74 69 20 45 51 55  |1.((..showti EQU|
00006bc0  44 20 30 0d 28 32 28 2e  68 69 67 68 74 69 20 45  |D 0.(2(.highti E|
00006bd0  51 55 53 20 22 48 69 67  68 20 53 63 6f 72 65 73  |QUS "High Scores|
00006be0  3a 22 2b bd 30 3a 41 4c  49 47 4e 0d 28 3c 4b 2e  |:"+.0:ALIGN.(<K.|
00006bf0  64 65 6d 6f 32 20 20 53  57 49 20 32 35 36 2b 31  |demo2  SWI 256+1|
00006c00  32 3a 53 57 49 20 32 35  36 2b 31 37 3a 53 57 49  |2:SWI 256+17:SWI|
00006c10  20 32 35 36 2b 32 3a 53  57 49 20 32 35 36 2b 33  | 256+2:SWI 256+3|
00006c20  31 3a 53 57 49 20 32 35  36 2b 31 32 3a 53 57 49  |1:SWI 256+12:SWI|
00006c30  20 32 35 36 2b 32 0d 28  46 19 20 20 20 20 20 20  | 256+2.(F.      |
00006c40  20 20 41 44 52 20 52 30  2c 68 69 67 68 74 69 0d  |  ADR R0,highti.|
00006c50  28 50 30 20 20 20 20 20  20 20 20 53 57 49 20 22  |(P0        SWI "|
00006c60  4f 53 5f 57 72 69 74 65  30 22 3a 53 57 49 20 32  |OS_Write0":SWI 2|
00006c70  35 36 2b 31 37 3a 53 57  49 20 32 35 36 2b 30 0d  |56+17:SWI 256+0.|
00006c80  28 5a 2d 20 20 20 20 20  20 20 20 53 57 49 20 22  |(Z-        SWI "|
00006c90  4f 53 5f 4e 65 77 4c 69  6e 65 22 3a 53 57 49 20  |OS_NewLine":SWI |
00006ca0  22 4f 53 5f 4e 65 77 4c  69 6e 65 22 0d 28 64 17  |"OS_NewLine".(d.|
00006cb0  20 20 20 20 20 20 20 20  4d 4f 56 20 52 31 31 2c  |        MOV R11,|
00006cc0  23 32 33 0d 28 6e 16 20  20 20 20 20 20 20 20 4d  |#23.(n.        M|
00006cd0  4f 56 20 52 31 30 2c 23  39 0d 28 78 19 20 20 20  |OV R10,#9.(x.   |
00006ce0  20 20 20 20 20 4c 44 52  20 52 39 2c 68 69 67 68  |     LDR R9,high|
00006cf0  73 63 0d 28 82 20 2e 70  72 6c 6f 6f 70 20 53 57  |sc.(. .prloop SW|
00006d00  49 20 32 35 36 2b 33 31  3a 53 57 49 20 32 35 36  |I 256+31:SWI 256|
00006d10  2b 39 0d 28 8c 26 20 20  20 20 20 20 20 20 4d 4f  |+9.(.&        MO|
00006d20  56 20 52 30 2c 52 31 31  3a 53 57 49 20 22 4f 53  |V R0,R11:SWI "OS|
00006d30  5f 57 72 69 74 65 43 22  0d 28 96 1a 20 20 20 20  |_WriteC".(..    |
00006d40  20 20 20 20 4c 44 52 20  52 30 2c 5b 52 39 5d 2c  |    LDR R0,[R9],|
00006d50  23 34 0d 28 a0 19 20 20  20 20 20 20 20 20 4c 44  |#4.(..        LD|
00006d60  52 20 52 31 2c 77 69 6d  70 62 32 0d 28 aa 16 20  |R R1,wimpb2.(.. |
00006d70  20 20 20 20 20 20 20 4d  4f 56 20 52 32 2c 23 31  |       MOV R2,#1|
00006d80  30 0d 28 b4 24 20 20 20  20 20 20 20 20 53 57 49  |0.(.$        SWI|
00006d90  20 22 4f 53 5f 43 6f 6e  76 65 72 74 49 6e 74 65  | "OS_ConvertInte|
00006da0  67 65 72 34 22 0d 28 be  1b 20 20 20 20 20 20 20  |ger4".(..       |
00006db0  20 53 57 49 20 22 4f 53  5f 57 72 69 74 65 30 22  | SWI "OS_Write0"|
00006dc0  0d 28 c8 21 20 20 20 20  20 20 20 20 53 57 49 20  |.(.!        SWI |
00006dd0  32 35 36 2b 33 31 3a 53  57 49 20 32 35 36 2b 31  |256+31:SWI 256+1|
00006de0  36 0d 28 d2 26 20 20 20  20 20 20 20 20 4d 4f 56  |6.(.&        MOV|
00006df0  20 52 30 2c 52 31 31 3a  53 57 49 20 22 4f 53 5f  | R0,R11:SWI "OS_|
00006e00  57 72 69 74 65 43 22 0d  28 dc 15 20 20 20 20 20  |WriteC".(..     |
00006e10  20 20 20 4d 4f 56 20 52  30 2c 52 39 0d 28 e6 1b  |   MOV R0,R9.(..|
00006e20  20 20 20 20 20 20 20 20  53 57 49 20 22 4f 53 5f  |        SWI "OS_|
00006e30  57 72 69 74 65 30 22 0d  28 f0 19 20 20 20 20 20  |Write0".(..     |
00006e40  20 20 20 41 44 44 20 52  39 2c 52 39 2c 23 31 32  |   ADD R9,R9,#12|
00006e50  0d 28 fa 1a 20 20 20 20  20 20 20 20 53 55 42 20  |.(..        SUB |
00006e60  52 31 31 2c 52 31 31 2c  23 32 0d 29 04 1b 20 20  |R11,R11,#2.)..  |
00006e70  20 20 20 20 20 20 53 55  42 53 20 52 31 30 2c 52  |      SUBS R10,R|
00006e80  31 30 2c 23 31 0d 29 0e  16 20 20 20 20 20 20 20  |10,#1.)..       |
00006e90  20 42 50 4c 20 70 72 6c  6f 6f 70 0d 29 18 19 20  | BPL prloop.).. |
00006ea0  20 20 20 20 20 20 20 4c  44 52 20 52 30 2c 73 70  |       LDR R0,sp|
00006eb0  6c 6f 74 32 0d 29 22 19  20 20 20 20 20 20 20 20  |lot2.)".        |
00006ec0  4c 44 52 20 52 31 2c 73  61 72 65 61 32 0d 29 2c  |LDR R1,sarea2.),|
00006ed0  18 20 20 20 20 20 20 20  20 4c 44 52 20 52 32 2c  |.        LDR R2,|
00006ee0  74 69 74 6c 65 0d 29 36  16 20 20 20 20 20 20 20  |title.)6.       |
00006ef0  20 4d 4f 56 20 52 33 2c  23 34 30 0d 29 40 16 20  | MOV R3,#40.)@. |
00006f00  20 20 20 20 20 20 20 4d  4f 56 20 52 34 2c 23 34  |       MOV R4,#4|
00006f10  30 0d 29 4a 15 20 20 20  20 20 20 20 20 4d 4f 56  |0.)J.        MOV|
00006f20  20 52 35 2c 23 30 0d 29  54 12 20 20 20 20 20 20  | R5,#0.)T.      |
00006f30  20 20 53 57 49 20 34 36  0d 29 5e 19 20 20 20 20  |  SWI 46.)^.    |
00006f40  20 20 20 20 4c 44 52 20  52 32 2c 61 72 63 68 69  |    LDR R2,archi|
00006f50  77 0d 29 68 17 20 20 20  20 20 20 20 20 4d 4f 56  |w.)h.        MOV|
00006f60  20 52 33 2c 23 37 38 30  0d 29 72 16 20 20 20 20  | R3,#780.)r.    |
00006f70  20 20 20 20 4d 4f 56 20  52 34 2c 23 34 30 0d 29  |    MOV R4,#40.)|
00006f80  7c 12 20 20 20 20 20 20  20 20 53 57 49 20 34 36  ||.        SWI 46|
00006f90  0d 29 86 13 20 20 20 20  20 20 20 20 42 20 74 65  |.)..        B te|
00006fa0  78 74 63 0d 29 90 1b 2e  69 6e 76 61 72 73 20 53  |xtc.)...invars S|
00006fb0  57 49 20 22 58 4f 53 5f  4d 6f 75 73 65 22 0d 29  |WI "XOS_Mouse".)|
00006fc0  9a 20 20 20 20 20 20 20  20 20 43 4d 50 20 52 32  |.         CMP R2|
00006fd0  2c 23 30 3a 42 4e 45 20  69 6e 76 61 72 73 0d 29  |,#0:BNE invars.)|
00006fe0  a4 1c 20 20 20 20 20 20  20 20 53 54 4d 46 44 20  |..        STMFD |
00006ff0  52 31 33 21 2c 7b 52 31  34 7d 0d 29 ae 15 20 20  |R13!,{R14}.)..  |
00007000  20 20 20 20 20 20 42 4c  20 70 6c 61 63 73 77 0d  |      BL placsw.|
00007010  29 b8 19 20 20 20 20 20  20 20 20 4c 44 52 20 52  |)..        LDR R|
00007020  30 2c 73 74 73 74 61 74  0d 29 c2 19 20 20 20 20  |0,ststat.)..    |
00007030  20 20 20 20 4c 44 52 20  52 31 2c 62 6c 6f 63 6b  |    LDR R1,block|
00007040  32 0d 29 cc 17 20 20 20  20 20 20 20 20 4d 4f 56  |2.)..        MOV|
00007050  20 52 32 2c 23 33 30 30  0d 29 d6 1a 2e 63 6f 6e  | R2,#300.)...con|
00007060  66 69 67 20 4c 44 52 20  52 33 2c 5b 52 30 5d 2c  |fig LDR R3,[R0],|
00007070  23 34 0d 29 e0 1a 20 20  20 20 20 20 20 20 53 54  |#4.)..        ST|
00007080  52 20 52 33 2c 5b 52 31  5d 2c 23 34 0d 29 ea 19  |R R3,[R1],#4.)..|
00007090  20 20 20 20 20 20 20 20  53 55 42 53 20 52 32 2c  |        SUBS R2,|
000070a0  52 32 2c 23 34 0d 29 f4  16 20 20 20 20 20 20 20  |R2,#4.)..       |
000070b0  20 42 50 4c 20 63 6f 6e  66 69 67 0d 29 fe 19 20  | BPL config.).. |
000070c0  20 20 20 20 20 20 20 4c  44 52 20 52 33 2c 62 61  |       LDR R3,ba|
000070d0  72 74 61 62 0d 2a 08 17  20 20 20 20 20 20 20 20  |rtab.*..        |
000070e0  4c 44 52 20 52 34 2c 62  61 72 72 0d 2a 12 18 20  |LDR R4,barr.*.. |
000070f0  20 20 20 20 20 20 20 4c  44 52 20 52 35 2c 6f 61  |       LDR R5,oa|
00007100  62 61 72 0d 2a 1c 15 20  20 20 20 20 20 20 20 4d  |bar.*..        M|
00007110  4f 56 20 52 37 2c 23 32  0d 2a 26 12 2e 62 61 72  |OV R7,#2.*&..bar|
00007120  72 70 6c 20 42 4c 20 72  6e 64 0d 2a 30 17 20 20  |rpl BL rnd.*0.  |
00007130  20 20 20 20 20 20 80 20  52 30 2c 52 30 2c 23 31  |      . R0,R0,#1|
00007140  35 0d 2a 3a 1b 20 20 20  20 20 20 20 20 4d 4f 56  |5.*:.        MOV|
00007150  20 52 30 2c 52 30 2c 41  53 4c 23 35 0d 2a 44 1a  | R0,R0,ASL#5.*D.|
00007160  20 20 20 20 20 20 20 20  41 44 44 20 52 30 2c 52  |        ADD R0,R|
00007170  30 2c 23 33 38 34 0d 2a  4e 1c 20 20 20 20 20 20  |0,#384.*N.      |
00007180  20 20 4d 4f 56 20 52 30  2c 52 30 2c 41 53 4c 23  |  MOV R0,R0,ASL#|
00007190  73 68 0d 2a 58 1b 20 20  20 20 20 20 20 20 53 55  |sh.*X.        SU|
000071a0  42 20 52 30 2c 52 30 2c  23 33 32 2a 6a 0d 2a 62  |B R0,R0,#32*j.*b|
000071b0  1a 20 20 20 20 20 20 20  20 53 54 52 20 52 30 2c  |.        STR R0,|
000071c0  5b 52 33 5d 2c 23 34 0d  2a 6c 12 2e 79 73 63 20  |[R3],#4.*l..ysc |
000071d0  20 20 20 42 4c 20 72 6e  64 0d 2a 76 17 20 20 20  |   BL rnd.*v.   |
000071e0  20 20 20 20 20 80 20 52  30 2c 52 30 2c 23 31 35  |     . R0,R0,#15|
000071f0  0d 2a 80 16 20 20 20 20  20 20 20 20 43 4d 50 20  |.*..        CMP |
00007200  52 30 2c 23 31 30 0d 2a  8a 13 20 20 20 20 20 20  |R0,#10.*..      |
00007210  20 20 42 47 54 20 79 73  63 0d 2a 94 1b 20 20 20  |  BGT ysc.*..   |
00007220  20 20 20 20 20 4d 4f 56  20 52 30 2c 52 30 2c 41  |     MOV R0,R0,A|
00007230  53 4c 23 35 0d 2a 9e 1a  20 20 20 20 20 20 20 20  |SL#5.*..        |
00007240  41 44 44 20 52 30 2c 52  30 2c 23 33 38 34 0d 2a  |ADD R0,R0,#384.*|
00007250  a8 17 20 20 20 20 20 20  20 20 43 4d 50 20 52 30  |..        CMP R0|
00007260  2c 23 36 34 30 0d 2a b2  16 20 20 20 20 20 20 20  |,#640.*..       |
00007270  20 42 47 54 20 6e 6f 74  69 6e 77 0d 2a bc 17 20  | BGT notinw.*.. |
00007280  20 20 20 20 20 20 20 43  4d 50 20 52 30 2c 23 34  |       CMP R0,#4|
00007290  36 38 0d 2a c6 13 20 20  20 20 20 20 20 20 42 47  |68.*..        BG|
000072a0  54 20 79 73 63 0d 2a d0  1c 2e 6e 6f 74 69 6e 77  |T ysc.*...notinw|
000072b0  20 4d 4f 56 20 52 30 2c  52 30 2c 41 53 4c 23 73  | MOV R0,R0,ASL#s|
000072c0  68 0d 2a da 1b 20 20 20  20 20 20 20 20 53 55 42  |h.*..        SUB|
000072d0  20 52 30 2c 52 30 2c 23  33 32 2a 6a 0d 2a e4 1a  | R0,R0,#32*j.*..|
000072e0  20 20 20 20 20 20 20 20  53 54 52 20 52 30 2c 5b  |        STR R0,[|
000072f0  52 33 5d 2c 23 34 0d 2a  ee 12 20 20 20 20 20 20  |R3],#4.*..      |
00007300  20 20 42 4c 20 72 6e 64  0d 2a f8 1b 20 20 20 20  |  BL rnd.*..    |
00007310  20 20 20 20 4d 4f 56 20  52 30 2c 52 30 2c 41 53  |    MOV R0,R0,AS|
00007320  52 23 36 0d 2b 02 20 20  20 20 20 20 20 20 20 4c  |R#6.+.         L|
00007330  44 52 20 52 30 2c 5b 52  35 2c 52 30 2c 41 53 4c  |DR R0,[R5,R0,ASL|
00007340  23 32 5d 0d 2b 0c 1a 20  20 20 20 20 20 20 20 53  |#2].+..        S|
00007350  54 52 20 52 30 2c 5b 52  33 5d 2c 23 34 0d 2b 16  |TR R0,[R3],#4.+.|
00007360  12 20 20 20 20 20 20 20  20 42 4c 20 72 6e 64 0d  |.        BL rnd.|
00007370  2b 20 12 20 20 20 20 20  20 20 20 42 4c 20 72 6e  |+ .        BL rn|
00007380  64 0d 2b 2a 19 20 20 20  20 20 20 20 20 53 55 42  |d.+*.        SUB|
00007390  53 20 52 34 2c 52 34 2c  23 31 0d 2b 34 16 20 20  |S R4,R4,#1.+4.  |
000073a0  20 20 20 20 20 20 42 50  4c 20 62 61 72 72 70 6c  |      BPL barrpl|
000073b0  0d 2b 3e 19 20 20 20 20  20 20 20 20 4c 44 52 20  |.+>.        LDR |
000073c0  52 30 2c 62 62 6c 6f 63  6b 0d 2b 48 15 20 20 20  |R0,bblock.+H.   |
000073d0  20 20 20 20 20 4d 4f 56  20 52 31 2c 23 35 0d 2b  |     MOV R1,#5.+|
000073e0  52 18 20 20 20 20 20 20  20 20 4d 4f 56 20 52 32  |R.        MOV R2|
000073f0  2c 23 32 35 36 30 0d 2b  5c 1b 2e 62 6f 63 6c 65  |,#2560.+\..bocle|
00007400  72 20 53 54 52 20 52 32  2c 5b 52 30 5d 2c 23 31  |r STR R2,[R0],#1|
00007410  36 0d 2b 66 19 20 20 20  20 20 20 20 20 53 55 42  |6.+f.        SUB|
00007420  53 20 52 31 2c 52 31 2c  23 31 0d 2b 70 16 20 20  |S R1,R1,#1.+p.  |
00007430  20 20 20 20 20 20 42 50  4c 20 62 6f 63 6c 65 72  |      BPL bocler|
00007440  0d 2b 7a 15 20 20 20 20  20 20 20 20 4d 4f 56 20  |.+z.        MOV |
00007450  52 30 2c 23 30 0d 2b 84  19 20 20 20 20 20 20 20  |R0,#0.+..       |
00007460  20 53 54 52 20 52 30 2c  62 6f 6e 73 63 72 0d 2b  | STR R0,bonscr.+|
00007470  8e 15 20 20 20 20 20 20  20 20 4d 4f 56 20 52 31  |..        MOV R1|
00007480  2c 23 32 0d 2b 98 18 20  20 20 20 20 20 20 20 53  |,#2.+..        S|
00007490  54 52 20 52 31 2c 6d 61  78 62 6f 0d 2b a2 18 20  |TR R1,maxbo.+.. |
000074a0  20 20 20 20 20 20 20 4c  44 52 20 52 30 2c 65 78  |       LDR R0,ex|
000074b0  62 6c 6f 0d 2b ac 18 20  20 20 20 20 20 20 20 4c  |blo.+..        L|
000074c0  44 52 20 52 31 2c 65 78  6d 61 78 0d 2b b6 1b 2e  |DR R1,exmax.+...|
000074d0  65 78 63 6c 65 72 20 53  54 52 20 52 32 2c 5b 52  |excler STR R2,[R|
000074e0  30 5d 2c 23 31 32 0d 2b  c0 19 20 20 20 20 20 20  |0],#12.+..      |
000074f0  20 20 53 55 42 53 20 52  31 2c 52 31 2c 23 31 0d  |  SUBS R1,R1,#1.|
00007500  2b ca 16 20 20 20 20 20  20 20 20 42 50 4c 20 65  |+..        BPL e|
00007510  78 63 6c 65 72 0d 2b d4  15 20 20 20 20 20 20 20  |xcler.+..       |
00007520  20 4d 4f 56 20 52 38 2c  23 31 0d 2b de 15 20 20  | MOV R8,#1.+..  |
00007530  20 20 20 20 20 20 4d 4f  56 20 52 30 2c 23 30 0d  |      MOV R0,#0.|
00007540  2b e8 19 20 20 20 20 20  20 20 20 53 54 52 20 52  |+..        STR R|
00007550  30 2c 65 78 6f 6e 73 63  0d 2b f2 19 20 20 20 20  |0,exonsc.+..    |
00007560  20 20 20 20 53 54 52 20  52 30 2c 73 77 69 74 6f  |    STR R0,swito|
00007570  6e 0d 2b fc 18 20 20 20  20 20 20 20 20 53 54 52  |n.+..        STR|
00007580  20 52 30 2c 77 69 6e 64  78 0d 2c 06 18 20 20 20  | R0,windx.,..   |
00007590  20 20 20 20 20 53 54 52  20 52 30 2c 77 69 6e 64  |     STR R0,wind|
000075a0  79 0d 2c 10 18 20 20 20  20 20 20 20 20 53 54 52  |y.,..        STR|
000075b0  20 52 30 2c 6f 6e 73 63  72 0d 2c 1a 18 20 20 20  | R0,onscr.,..   |
000075c0  20 20 20 20 20 4c 44 52  20 52 30 2c 6d 61 78 62  |     LDR R0,maxb|
000075d0  75 0d 2c 24 14 20 20 20  20 20 20 20 20 4c 44 52  |u.,$.        LDR|
000075e0  20 52 31 2c 61 0d 2c 2e  18 20 20 20 20 20 20 20  | R1,a.,..       |
000075f0  20 4d 4f 56 20 52 32 2c  23 32 35 36 30 0d 2c 38  | MOV R2,#2560.,8|
00007600  1b 2e 66 69 6c 6c 62 62  20 53 54 52 20 52 32 2c  |..fillbb STR R2,|
00007610  5b 52 31 5d 2c 23 34 30  0d 2c 42 19 20 20 20 20  |[R1],#40.,B.    |
00007620  20 20 20 20 53 55 42 53  20 52 30 2c 52 30 2c 23  |    SUBS R0,R0,#|
00007630  31 0d 2c 4c 16 20 20 20  20 20 20 20 20 42 50 4c  |1.,L.        BPL|
00007640  20 66 69 6c 6c 62 62 0d  2c 56 18 20 20 20 20 20  | fillbb.,V.     |
00007650  20 20 20 4c 44 52 20 52  30 2c 74 6f 74 70 6c 0d  |   LDR R0,totpl.|
00007660  2c 60 15 20 20 20 20 20  20 20 20 43 4d 50 20 52  |,`.        CMP R|
00007670  30 2c 23 32 0d 2c 6a 14  20 20 20 20 20 20 20 20  |0,#2.,j.        |
00007680  42 45 51 20 6e 69 73 70  0d 2c 74 1a 20 20 20 20  |BEQ nisp.,t.    |
00007690  20 20 20 20 4c 44 52 20  52 31 31 2c 62 6c 6f 63  |    LDR R11,bloc|
000076a0  6b 32 0d 2c 7e 1c 20 20  20 20 20 20 20 20 41 44  |k2.,~.        AD|
000076b0  44 20 52 31 31 2c 52 31  31 2c 23 31 32 38 0d 2c  |D R11,R11,#128.,|
000076c0  88 1c 20 20 20 20 20 20  20 20 53 54 52 20 52 30  |..        STR R0|
000076d0  2c 5b 52 31 31 2c 23 32  34 5d 0d 2c 92 1c 20 20  |,[R11,#24].,..  |
000076e0  20 20 20 20 20 20 53 54  52 20 52 30 2c 5b 52 31  |      STR R0,[R1|
000076f0  31 2c 23 33 32 5d 0d 2c  9c 15 20 20 20 20 20 20  |1,#32].,..      |
00007700  20 20 4d 4f 56 20 52 30  2c 23 30 0d 2c a6 1c 20  |  MOV R0,#0.,.. |
00007710  20 20 20 20 20 20 20 53  54 52 20 52 30 2c 5b 52  |       STR R0,[R|
00007720  31 31 2c 23 33 36 5d 0d  2c b0 1d 20 20 20 20 20  |11,#36].,..     |
00007730  20 20 20 53 54 52 20 52  30 2c 5b 52 31 31 2c 23  |   STR R0,[R11,#|
00007740  31 31 32 5d 0d 2c ba 1c  20 20 20 20 20 20 20 20  |112].,..        |
00007750  53 54 52 20 52 30 2c 5b  52 31 31 2c 23 34 30 5d  |STR R0,[R11,#40]|
00007760  0d 2c c4 15 20 20 20 20  20 20 20 20 4d 4f 56 20  |.,..        MOV |
00007770  52 30 2c 23 39 0d 2c ce  1c 20 20 20 20 20 20 20  |R0,#9.,..       |
00007780  20 53 54 52 20 52 30 2c  5b 52 31 31 2c 23 32 38  | STR R0,[R11,#28|
00007790  5d 0d 2c d8 15 20 20 20  20 20 20 20 20 42 4c 20  |].,..        BL |
000077a0  72 65 74 6c 65 76 0d 2c  e2 1b 20 20 20 20 20 20  |retlev.,..      |
000077b0  20 20 4d 4f 56 20 52 30  2c 52 30 2c 41 53 4c 23  |  MOV R0,R0,ASL#|
000077c0  35 0d 2c ec 1a 20 20 20  20 20 20 20 20 41 44 44  |5.,..        ADD|
000077d0  20 52 30 2c 52 30 2c 23  32 30 30 0d 2c f6 1c 20  | R0,R0,#200.,.. |
000077e0  20 20 20 20 20 20 20 53  54 52 20 52 30 2c 5b 52  |       STR R0,[R|
000077f0  31 31 2c 23 32 30 5d 0d  2d 00 1c 2e 6e 69 73 70  |11,#20].-...nisp|
00007800  20 20 20 4c 44 4d 49 41  20 52 31 33 21 2c 7b 50  |   LDMIA R13!,{P|
00007810  43 7d 5e 0d 2d 0a 17 2e  73 74 61 72 74 6f 20 4d  |C}^.-...starto M|
00007820  4f 56 20 52 30 2c 23 31  31 32 0d 2d 14 15 20 20  |OV R0,#112.-..  |
00007830  20 20 20 20 20 20 4d 4f  56 20 52 31 2c 23 31 0d  |      MOV R1,#1.|
00007840  2d 1e 19 20 20 20 20 20  20 20 20 53 57 49 20 22  |-..        SWI "|
00007850  4f 53 5f 42 79 74 65 22  0d 2d 28 17 20 20 20 20  |OS_Byte".-(.    |
00007860  20 20 20 20 4d 4f 56 20  52 30 2c 23 31 31 33 0d  |    MOV R0,#113.|
00007870  2d 32 15 20 20 20 20 20  20 20 20 4d 4f 56 20 52  |-2.        MOV R|
00007880  31 2c 23 31 0d 2d 3c 19  20 20 20 20 20 20 20 20  |1,#1.-<.        |
00007890  53 57 49 20 22 4f 53 5f  42 79 74 65 22 0d 2d 46  |SWI "OS_Byte".-F|
000078a0  16 20 20 20 20 20 20 20  20 53 57 49 20 32 35 36  |.        SWI 256|
000078b0  2b 31 32 0d 2d 50 19 20  20 20 20 20 20 20 20 4c  |+12.-P.        L|
000078c0  44 52 20 52 31 2c 70 61  6c 65 74 74 0d 2d 5a 21  |DR R1,palett.-Z!|
000078d0  20 20 20 20 20 20 20 20  53 57 49 20 22 57 69 6d  |        SWI "Wim|
000078e0  70 5f 53 65 74 50 61 6c  65 74 74 65 22 0d 2d 64  |p_SetPalette".-d|
000078f0  15 2e 73 74 61 72 74 20  20 4d 4f 56 20 52 30 2c  |..start  MOV R0,|
00007900  52 30 0d 2d 6e 15 20 20  20 20 20 20 20 20 4d 4f  |R0.-n.        MO|
00007910  56 20 52 30 2c 52 30 0d  2d 78 15 20 20 20 20 20  |V R0,R0.-x.     |
00007920  20 20 20 4d 4f 56 20 52  30 2c 23 31 0d 2d 82 19  |   MOV R0,#1.-..|
00007930  20 20 20 20 20 20 20 20  53 54 52 20 52 30 2c 73  |        STR R0,s|
00007940  68 6f 77 73 63 0d 2d 8c  15 2e 74 69 74 6c 65 73  |howsc.-...titles|
00007950  20 42 4c 20 69 6e 76 61  72 73 0d 2d 96 16 20 20  | BL invars.-..  |
00007960  20 20 20 20 20 20 53 57  49 20 32 35 36 2b 31 37  |      SWI 256+17|
00007970  0d 2d a0 17 20 20 20 20  20 20 20 20 53 57 49 20  |.-..        SWI |
00007980  32 35 36 2b 31 33 35 0d  2d aa 16 20 20 20 20 20  |256+135.-..     |
00007990  20 20 20 53 57 49 20 32  35 36 2b 31 37 0d 2d b4  |   SWI 256+17.-.|
000079a0  15 20 20 20 20 20 20 20  20 53 57 49 20 32 35 36  |.        SWI 256|
000079b0  2b 30 0d 2d be 19 20 20  20 20 20 20 20 20 4c 44  |+0.-..        LD|
000079c0  52 20 52 31 2c 70 61 6c  65 74 74 0d 2d c8 21 20  |R R1,palett.-.! |
000079d0  20 20 20 20 20 20 20 53  57 49 20 22 57 69 6d 70  |       SWI "Wimp|
000079e0  5f 53 65 74 50 61 6c 65  74 74 65 22 0d 2d d2 12  |_SetPalette".-..|
000079f0  20 20 20 20 20 20 20 20  53 57 49 20 36 36 0d 2d  |        SWI 66.-|
00007a00  dc 1a 20 20 20 20 20 20  20 20 41 44 44 20 52 30  |..        ADD R0|
00007a10  2c 52 30 2c 23 38 30 30  0d 2d e6 19 20 20 20 20  |,R0,#800.-..    |
00007a20  20 20 20 20 53 54 52 20  52 30 2c 73 68 6f 77 74  |    STR R0,showt|
00007a30  69 0d 2d f0 19 20 20 20  20 20 20 20 20 4c 44 52  |i.-..        LDR|
00007a40  20 52 30 2c 73 68 6f 77  73 63 0d 2d fa 15 20 20  | R0,showsc.-..  |
00007a50  20 20 20 20 20 20 43 4d  50 20 52 30 2c 23 31 0d  |      CMP R0,#1.|
00007a60  2e 04 15 20 20 20 20 20  20 20 20 42 45 51 20 64  |...        BEQ d|
00007a70  65 6d 6f 31 0d 2e 0e 15  20 20 20 20 20 20 20 20  |emo1....        |
00007a80  43 4d 50 20 52 30 2c 23  32 0d 2e 18 15 20 20 20  |CMP R0,#2....   |
00007a90  20 20 20 20 20 42 45 51  20 64 65 6d 6f 32 0d 2e  |     BEQ demo2..|
00007aa0  22 13 20 20 20 20 20 20  20 20 42 20 64 65 6d 6f  |".        B demo|
00007ab0  33 0d 2e 2c 35 2e 76 6f  6c 73 74 72 20 45 51 55  |3..,5.volstr EQU|
00007ac0  53 20 bd 33 31 2b bd 31  32 2b bd 32 36 2b 22 56  |S .31+.12+.26+"V|
00007ad0  6f 6c 75 6d 65 20 4c 65  76 65 6c 3a 22 2b bd 30  |olume Level:"+.0|
00007ae0  3a 41 4c 49 47 4e 0d 2e  36 1d 2e 74 69 74 6c 73  |:ALIGN..6..titls|
00007af0  63 20 45 51 55 44 20 31  35 33 3a 45 51 55 44 20  |c EQUD 153:EQUD |
00007b00  31 35 33 0d 2e 40 12 2e  78 64 69 76 20 20 20 45  |153..@..xdiv   E|
00007b10  51 55 44 20 31 0d 2e 4a  12 2e 79 64 69 76 20 20  |QUD 1..J..ydiv  |
00007b20  20 45 51 55 44 20 31 0d  2e 54 2c 2e 6f 70 74 31  | EQUD 1..T,.opt1|
00007b30  73 20 20 45 51 55 44 20  6f 70 74 31 25 3a 45 51  |s  EQUD opt1%:EQ|
00007b40  55 44 20 6f 70 74 32 25  3a 45 51 55 44 20 6f 70  |UD opt2%:EQUD op|
00007b50  74 33 25 0d 2e 5e 20 2e  64 65 6d 6f 31 20 20 53  |t3%..^ .demo1  S|
00007b60  57 49 20 32 35 36 2b 31  32 3a 4d 4f 56 20 52 30  |WI 256+12:MOV R0|
00007b70  2c 23 31 0d 2e 68 19 20  20 20 20 20 20 20 20 53  |,#1..h.        S|
00007b80  54 52 20 52 30 2c 73 68  6f 77 73 63 0d 2e 72 15  |TR R0,showsc..r.|
00007b90  20 20 20 20 20 20 20 20  4d 4f 56 20 52 38 2c 23  |        MOV R8,#|
00007ba0  31 0d 2e 7c 19 2e 72 65  70 20 20 20 20 4c 44 52  |1..|..rep    LDR|
00007bb0  20 52 30 2c 73 70 65 63  70 6c 0d 2e 86 19 20 20  | R0,specpl....  |
00007bc0  20 20 20 20 20 20 4c 44  52 20 52 31 2c 73 70 61  |      LDR R1,spa|
00007bd0  72 65 61 0d 2e 90 18 20  20 20 20 20 20 20 20 4c  |rea....        L|
00007be0  44 52 20 52 32 2c 74 69  74 6c 65 0d 2e 9a 16 20  |DR R2,title.... |
00007bf0  20 20 20 20 20 20 20 4d  4f 56 20 52 33 2c 23 38  |       MOV R3,#8|
00007c00  30 0d 2e a4 1e 20 20 20  20 20 20 20 20 41 44 44  |0....        ADD|
00007c10  20 52 33 2c 52 33 2c 52  38 2c 41 53 4c 23 31 0d  | R3,R3,R8,ASL#1.|
00007c20  2e ae 16 20 20 20 20 20  20 20 20 4d 4f 56 20 52  |...        MOV R|
00007c30  34 2c 23 34 34 0d 2e b8  1e 20 20 20 20 20 20 20  |4,#44....       |
00007c40  20 41 44 44 20 52 34 2c  52 34 2c 52 38 2c 41 53  | ADD R4,R4,R8,AS|
00007c50  4c 23 32 0d 2e c2 15 20  20 20 20 20 20 20 20 4d  |L#2....        M|
00007c60  4f 56 20 52 35 2c 23 30  0d 2e cc 19 20 20 20 20  |OV R5,#0....    |
00007c70  20 20 20 20 41 44 52 20  52 36 2c 74 69 74 6c 73  |    ADR R6,titls|
00007c80  63 0d 2e d6 15 20 20 20  20 20 20 20 20 4d 56 4e  |c....        MVN|
00007c90  20 52 37 2c 23 30 0d 2e  e0 17 20 20 20 20 20 20  | R7,#0....      |
00007ca0  20 20 53 54 52 20 52 38  2c 78 64 69 76 0d 2e ea  |  STR R8,xdiv...|
00007cb0  17 20 20 20 20 20 20 20  20 53 54 52 20 52 38 2c  |.        STR R8,|
00007cc0  79 64 69 76 0d 2e f4 12  20 20 20 20 20 20 20 20  |ydiv....        |
00007cd0  53 57 49 20 34 36 0d 2e  fe 18 20 20 20 20 20 20  |SWI 46....      |
00007ce0  20 20 41 44 44 20 52 38  2c 52 38 2c 23 32 0d 2f  |  ADD R8,R8,#2./|
00007cf0  08 17 20 20 20 20 20 20  20 20 43 4d 50 20 52 38  |..        CMP R8|
00007d00  2c 23 31 35 33 0d 2f 12  13 20 20 20 20 20 20 20  |,#153./..       |
00007d10  20 42 4e 45 20 72 65 70  0d 2f 1c 19 20 20 20 20  | BNE rep./..    |
00007d20  20 20 20 20 4c 44 52 20  52 30 2c 73 70 70 6c 6f  |    LDR R0,spplo|
00007d30  74 0d 2f 26 19 20 20 20  20 20 20 20 20 4c 44 52  |t./&.        LDR|
00007d40  20 52 31 2c 73 70 61 72  65 61 0d 2f 30 19 20 20  | R1,sparea./0.  |
00007d50  20 20 20 20 20 20 4c 44  52 20 52 32 2c 77 72 69  |      LDR R2,wri|
00007d60  74 65 72 0d 2f 3a 17 20  20 20 20 20 20 20 20 4d  |ter./:.        M|
00007d70  4f 56 20 52 33 2c 23 35  38 30 0d 2f 44 16 20 20  |OV R3,#580./D.  |
00007d80  20 20 20 20 20 20 4d 4f  56 20 52 34 2c 23 35 30  |      MOV R4,#50|
00007d90  0d 2f 4e 15 20 20 20 20  20 20 20 20 4d 4f 56 20  |./N.        MOV |
00007da0  52 35 2c 23 30 0d 2f 58  12 20 20 20 20 20 20 20  |R5,#0./X.       |
00007db0  20 53 57 49 20 34 36 0d  2f 62 19 20 20 20 20 20  | SWI 46./b.     |
00007dc0  20 20 20 4c 44 52 20 52  32 2c 61 72 63 68 69 77  |   LDR R2,archiw|
00007dd0  0d 2f 6c 17 20 20 20 20  20 20 20 20 4d 4f 56 20  |./l.        MOV |
00007de0  52 33 2c 23 31 30 30 0d  2f 76 16 20 20 20 20 20  |R3,#100./v.     |
00007df0  20 20 20 4d 4f 56 20 52  34 2c 23 32 30 0d 2f 80  |   MOV R4,#20./.|
00007e00  12 20 20 20 20 20 20 20  20 53 57 49 20 34 36 0d  |.        SWI 46.|
00007e10  2f 8a 18 20 20 20 20 20  20 20 20 4c 44 52 20 52  |/..        LDR R|
00007e20  32 2c 6f 70 74 31 73 0d  2f 94 17 20 20 20 20 20  |2,opt1s./..     |
00007e30  20 20 20 4d 4f 56 20 52  33 2c 23 33 39 32 0d 2f  |   MOV R3,#392./|
00007e40  9e 17 20 20 20 20 20 20  20 20 4d 4f 56 20 52 34  |..        MOV R4|
00007e50  2c 23 34 37 32 0d 2f a8  12 20 20 20 20 20 20 20  |,#472./..       |
00007e60  20 53 57 49 20 34 36 0d  2f b2 1a 20 20 20 20 20  | SWI 46./..     |
00007e70  20 20 20 4c 44 52 20 52  32 2c 6f 70 74 31 73 2b  |   LDR R2,opt1s+|
00007e80  34 0d 2f bc 17 20 20 20  20 20 20 20 20 4d 4f 56  |4./..        MOV|
00007e90  20 52 34 2c 23 33 38 38  0d 2f c6 12 20 20 20 20  | R4,#388./..    |
00007ea0  20 20 20 20 53 57 49 20  34 36 0d 2f d0 1a 20 20  |    SWI 46./..  |
00007eb0  20 20 20 20 20 20 4c 44  52 20 52 32 2c 6f 70 74  |      LDR R2,opt|
00007ec0  31 73 2b 38 0d 2f da 17  20 20 20 20 20 20 20 20  |1s+8./..        |
00007ed0  4d 4f 56 20 52 34 2c 23  32 37 32 0d 2f e4 12 20  |MOV R4,#272./.. |
00007ee0  20 20 20 20 20 20 20 53  57 49 20 34 36 0d 2f ee  |       SWI 46./.|
00007ef0  19 20 20 20 20 20 20 20  20 41 44 52 20 52 30 2c  |.        ADR R0,|
00007f00  76 6f 6c 73 74 72 0d 2f  f8 1b 20 20 20 20 20 20  |volstr./..      |
00007f10  20 20 53 57 49 20 22 4f  53 5f 57 72 69 74 65 30  |  SWI "OS_Write0|
00007f20  22 0d 30 02 19 20 20 20  20 20 20 20 20 4c 44 52  |".0..        LDR|
00007f30  20 52 30 2c 76 6f 6c 6c  65 76 0d 30 0c 19 20 20  | R0,vollev.0..  |
00007f40  20 20 20 20 20 20 4c 44  52 20 52 31 2c 65 6e 65  |      LDR R1,ene|
00007f50  72 67 79 0d 30 16 16 20  20 20 20 20 20 20 20 4d  |rgy.0..        M|
00007f60  4f 56 20 52 32 2c 23 31  32 0d 30 20 25 20 20 20  |OV R2,#12.0 %   |
00007f70  20 20 20 20 20 53 57 49  20 22 4f 53 5f 43 6f 6e  |     SWI "OS_Con|
00007f80  76 65 72 74 43 61 72 64  69 6e 61 6c 31 22 0d 30  |vertCardinal1".0|
00007f90  2a 47 20 20 20 20 20 20  20 20 53 57 49 20 32 35  |*G        SWI 25|
00007fa0  36 2b 33 31 3a 53 57 49  20 32 35 36 2b 32 35 3a  |6+31:SWI 256+25:|
00007fb0  53 57 49 20 32 35 36 2b  32 36 3a 53 57 49 20 22  |SWI 256+26:SWI "|
00007fc0  4f 53 5f 57 72 69 74 65  30 22 3a 53 57 49 20 32  |OS_Write0":SWI 2|
00007fd0  35 36 2b 33 32 0d 30 34  17 2e 74 65 78 74 63 20  |56+32.04..textc |
00007fe0  20 4d 4f 56 20 52 30 2c  23 31 32 39 0d 30 3e 16  | MOV R0,#129.0>.|
00007ff0  20 20 20 20 20 20 20 20  4d 56 4e 20 52 31 2c 23  |        MVN R1,#|
00008000  34 38 0d 30 48 16 20 20  20 20 20 20 20 20 4d 56  |48.0H.        MV|
00008010  4e 20 52 32 2c 23 34 38  0d 30 52 19 20 20 20 20  |N R2,#48.0R.    |
00008020  20 20 20 20 53 57 49 20  22 4f 53 5f 42 79 74 65  |    SWI "OS_Byte|
00008030  22 0d 30 5c 17 20 20 20  20 20 20 20 20 43 4d 50  |".0\.        CMP|
00008040  20 52 31 2c 23 32 35 35  0d 30 66 16 20 20 20 20  | R1,#255.0f.    |
00008050  20 20 20 20 42 45 51 20  66 69 72 65 70 72 0d 30  |    BEQ firepr.0|
00008060  70 17 20 20 20 20 20 20  20 20 4d 4f 56 20 52 30  |p.        MOV R0|
00008070  2c 23 31 32 39 0d 30 7a  16 20 20 20 20 20 20 20  |,#129.0z.       |
00008080  20 4d 56 4e 20 52 31 2c  23 34 39 0d 30 84 16 20  | MVN R1,#49.0.. |
00008090  20 20 20 20 20 20 20 4d  56 4e 20 52 32 2c 23 34  |       MVN R2,#4|
000080a0  39 0d 30 8e 19 20 20 20  20 20 20 20 20 53 57 49  |9.0..        SWI|
000080b0  20 22 4f 53 5f 42 79 74  65 22 0d 30 98 17 20 20  | "OS_Byte".0..  |
000080c0  20 20 20 20 20 20 43 4d  50 20 52 31 2c 23 32 35  |      CMP R1,#25|
000080d0  35 0d 30 a2 17 20 20 20  20 20 20 20 20 42 45 51  |5.0..        BEQ|
000080e0  20 6f 70 74 70 61 67 65  0d 30 ac 17 20 20 20 20  | optpage.0..    |
000080f0  20 20 20 20 4d 4f 56 20  52 30 2c 23 31 32 39 0d  |    MOV R0,#129.|
00008100  30 b6 16 20 20 20 20 20  20 20 20 4d 56 4e 20 52  |0..        MVN R|
00008110  31 2c 23 31 37 0d 30 c0  16 20 20 20 20 20 20 20  |1,#17.0..       |
00008120  20 4d 56 4e 20 52 32 2c  23 31 37 0d 30 ca 19 20  | MVN R2,#17.0.. |
00008130  20 20 20 20 20 20 20 53  57 49 20 22 4f 53 5f 42  |       SWI "OS_B|
00008140  79 74 65 22 0d 30 d4 17  20 20 20 20 20 20 20 20  |yte".0..        |
00008150  43 4d 50 20 52 31 2c 23  32 35 35 0d 30 de 1b 20  |CMP R1,#255.0.. |
00008160  20 20 20 20 20 20 20 41  44 52 45 51 20 52 31 34  |       ADREQ R14|
00008170  2c 73 74 61 72 74 0d 30  e8 16 20 20 20 20 20 20  |,start.0..      |
00008180  20 20 42 45 51 20 73 63  72 62 6c 61 0d 30 f2 12  |  BEQ scrbla.0..|
00008190  20 20 20 20 20 20 20 20  53 57 49 20 36 36 0d 30  |        SWI 66.0|
000081a0  fc 19 20 20 20 20 20 20  20 20 4c 44 52 20 52 31  |..        LDR R1|
000081b0  2c 73 68 6f 77 74 69 0d  31 06 15 20 20 20 20 20  |,showti.1..     |
000081c0  20 20 20 43 4d 50 20 52  30 2c 52 31 0d 31 10 15  |   CMP R0,R1.1..|
000081d0  20 20 20 20 20 20 20 20  42 4c 54 20 73 61 6d 65  |        BLT same|
000081e0  70 0d 31 1a 12 20 20 20  20 20 20 20 20 53 57 49  |p.1..        SWI|
000081f0  20 36 36 0d 31 24 1a 20  20 20 20 20 20 20 20 41  | 66.1$.        A|
00008200  44 44 20 52 30 2c 52 30  2c 23 38 30 30 0d 31 2e  |DD R0,R0,#800.1.|
00008210  19 20 20 20 20 20 20 20  20 53 54 52 20 52 30 2c  |.        STR R0,|
00008220  73 68 6f 77 74 69 0d 31  38 19 20 20 20 20 20 20  |showti.18.      |
00008230  20 20 4c 44 52 20 52 30  2c 73 68 6f 77 73 63 0d  |  LDR R0,showsc.|
00008240  31 42 18 20 20 20 20 20  20 20 20 41 44 44 20 52  |1B.        ADD R|
00008250  30 2c 52 30 2c 23 31 0d  31 4c 15 20 20 20 20 20  |0,R0,#1.1L.     |
00008260  20 20 20 43 4d 50 20 52  30 2c 23 34 0d 31 56 14  |   CMP R0,#4.1V.|
00008270  20 20 20 20 20 20 20 20  ec 51 20 52 30 2c 23 31  |        .Q R0,#1|
00008280  0d 31 60 19 20 20 20 20  20 20 20 20 53 54 52 20  |.1`.        STR |
00008290  52 30 2c 73 68 6f 77 73  63 0d 31 6a 15 20 20 20  |R0,showsc.1j.   |
000082a0  20 20 20 20 20 43 4d 50  20 52 30 2c 23 31 0d 31  |     CMP R0,#1.1|
000082b0  74 15 20 20 20 20 20 20  20 20 42 45 51 20 64 65  |t.        BEQ de|
000082c0  6d 6f 31 0d 31 7e 15 20  20 20 20 20 20 20 20 43  |mo1.1~.        C|
000082d0  4d 50 20 52 30 2c 23 32  0d 31 88 15 20 20 20 20  |MP R0,#2.1..    |
000082e0  20 20 20 20 42 45 51 20  64 65 6d 6f 32 0d 31 92  |    BEQ demo2.1.|
000082f0  13 20 20 20 20 20 20 20  20 42 20 64 65 6d 6f 33  |.        B demo3|
00008300  0d 31 9c 17 2e 73 61 6d  65 70 20 20 4d 4f 56 20  |.1...samep  MOV |
00008310  52 30 2c 23 31 32 39 0d  31 a6 17 20 20 20 20 20  |R0,#129.1..     |
00008320  20 20 20 4d 56 4e 20 52  31 2c 23 31 31 33 0d 31  |   MVN R1,#113.1|
00008330  b0 17 20 20 20 20 20 20  20 20 4d 56 4e 20 52 32  |..        MVN R2|
00008340  2c 23 31 31 33 0d 31 ba  11 20 20 20 20 20 20 20  |,#113.1..       |
00008350  20 53 57 49 20 36 0d 31  c4 17 20 20 20 20 20 20  | SWI 6.1..      |
00008360  20 20 43 4d 50 20 52 31  2c 23 32 35 35 0d 31 ce  |  CMP R1,#255.1.|
00008370  1b 20 20 20 20 20 20 20  20 41 44 52 45 51 20 52  |.        ADREQ R|
00008380  31 34 2c 73 74 61 72 74  0d 31 d8 16 20 20 20 20  |14,start.1..    |
00008390  20 20 20 20 42 45 51 20  73 63 72 62 6c 61 0d 31  |    BEQ scrbla.1|
000083a0  e2 19 20 20 20 20 20 20  20 20 4c 44 52 20 52 39  |..        LDR R9|
000083b0  2c 76 6f 6c 6c 65 76 0d  31 ec 17 20 20 20 20 20  |,vollev.1..     |
000083c0  20 20 20 4d 4f 56 20 52  30 2c 23 31 32 39 0d 31  |   MOV R0,#129.1|
000083d0  f6 16 20 20 20 20 20 20  20 20 4d 56 4e 20 52 31  |..        MVN R1|
000083e0  2c 23 35 37 0d 32 00 16  20 20 20 20 20 20 20 20  |,#57.2..        |
000083f0  4d 56 4e 20 52 32 2c 23  35 37 0d 32 0a 11 20 20  |MVN R2,#57.2..  |
00008400  20 20 20 20 20 20 53 57  49 20 36 0d 32 14 17 20  |      SWI 6.2.. |
00008410  20 20 20 20 20 20 20 43  4d 50 20 52 31 2c 23 32  |       CMP R1,#2|
00008420  35 35 0d 32 1e 1a 20 20  20 20 20 20 20 20 41 44  |55.2..        AD|
00008430  44 45 51 20 52 39 2c 52  39 2c 23 31 0d 32 28 17  |DEQ R9,R9,#1.2(.|
00008440  20 20 20 20 20 20 20 20  4d 4f 56 20 52 30 2c 23  |        MOV R0,#|
00008450  31 32 39 0d 32 32 16 20  20 20 20 20 20 20 20 4d  |129.22.        M|
00008460  56 4e 20 52 31 2c 23 34  31 0d 32 3c 16 20 20 20  |VN R1,#41.2<.   |
00008470  20 20 20 20 20 4d 56 4e  20 52 32 2c 23 34 31 0d  |     MVN R2,#41.|
00008480  32 46 11 20 20 20 20 20  20 20 20 53 57 49 20 36  |2F.        SWI 6|
00008490  0d 32 50 17 20 20 20 20  20 20 20 20 43 4d 50 20  |.2P.        CMP |
000084a0  52 31 2c 23 32 35 35 0d  32 5a 1a 20 20 20 20 20  |R1,#255.2Z.     |
000084b0  20 20 20 53 55 42 45 51  20 52 39 2c 52 39 2c 23  |   SUBEQ R9,R9,#|
000084c0  31 0d 32 64 15 20 20 20  20 20 20 20 20 43 4d 50  |1.2d.        CMP|
000084d0  20 52 39 2c 23 30 0d 32  6e 14 20 20 20 20 20 20  | R9,#0.2n.      |
000084e0  20 20 ec 51 20 52 39 2c  23 31 0d 32 78 17 20 20  |  .Q R9,#1.2x.  |
000084f0  20 20 20 20 20 20 43 4d  50 20 52 39 2c 23 31 32  |      CMP R9,#12|
00008500  38 0d 32 82 16 20 20 20  20 20 20 20 20 ec 51 20  |8.2..        .Q |
00008510  52 39 2c 23 31 32 37 0d  32 8c 19 20 20 20 20 20  |R9,#127.2..     |
00008520  20 20 20 4c 44 52 20 52  38 2c 76 6f 6c 6c 65 76  |   LDR R8,vollev|
00008530  0d 32 96 19 20 20 20 20  20 20 20 20 53 54 52 20  |.2..        STR |
00008540  52 39 2c 76 6f 6c 6c 65  76 0d 32 a0 15 20 20 20  |R9,vollev.2..   |
00008550  20 20 20 20 20 43 4d 50  20 52 38 2c 52 39 0d 32  |     CMP R8,R9.2|
00008560  aa 15 20 20 20 20 20 20  20 20 42 45 51 20 74 65  |..        BEQ te|
00008570  78 74 63 0d 32 b4 15 20  20 20 20 20 20 20 20 4d  |xtc.2..        M|
00008580  4f 56 20 52 30 2c 52 39  0d 32 be 1e 20 20 20 20  |OV R0,R9.2..    |
00008590  20 20 20 20 53 57 49 20  22 53 6f 75 6e 64 5f 56  |    SWI "Sound_V|
000085a0  6f 6c 75 6d 65 22 0d 32  c8 19 20 20 20 20 20 20  |olume".2..      |
000085b0  20 20 4c 44 52 20 52 30  2c 76 6f 6c 6c 65 76 0d  |  LDR R0,vollev.|
000085c0  32 d2 19 20 20 20 20 20  20 20 20 4c 44 52 20 52  |2..        LDR R|
000085d0  31 2c 65 6e 65 72 67 79  0d 32 dc 16 20 20 20 20  |1,energy.2..    |
000085e0  20 20 20 20 4d 4f 56 20  52 32 2c 23 31 32 0d 32  |    MOV R2,#12.2|
000085f0  e6 25 20 20 20 20 20 20  20 20 53 57 49 20 22 4f  |.%        SWI "O|
00008600  53 5f 43 6f 6e 76 65 72  74 43 61 72 64 69 6e 61  |S_ConvertCardina|
00008610  6c 31 22 0d 32 f0 47 20  20 20 20 20 20 20 20 53  |l1".2.G        S|
00008620  57 49 20 32 35 36 2b 33  31 3a 53 57 49 20 32 35  |WI 256+31:SWI 25|
00008630  36 2b 32 35 3a 53 57 49  20 32 35 36 2b 32 36 3a  |6+25:SWI 256+26:|
00008640  53 57 49 20 22 4f 53 5f  57 72 69 74 65 30 22 3a  |SWI "OS_Write0":|
00008650  53 57 49 20 32 35 36 2b  33 32 0d 32 fa 12 20 20  |SWI 256+32.2..  |
00008660  20 20 20 20 20 20 53 57  49 20 36 36 0d 33 04 1b  |      SWI 66.3..|
00008670  20 20 20 20 20 20 20 20  41 44 44 20 52 30 2c 52  |        ADD R0,R|
00008680  30 2c 23 31 30 30 30 0d  33 0e 19 20 20 20 20 20  |0,#1000.3..     |
00008690  20 20 20 53 54 52 20 52  30 2c 73 68 6f 77 74 69  |   STR R0,showti|
000086a0  0d 33 18 19 20 20 20 20  20 20 20 20 4c 44 52 20  |.3..        LDR |
000086b0  52 30 2c 73 68 6f 77 73  63 0d 33 22 15 20 20 20  |R0,showsc.3".   |
000086c0  20 20 20 20 20 43 4d 50  20 52 30 2c 23 31 0d 33  |     CMP R0,#1.3|
000086d0  2c 15 20 20 20 20 20 20  20 20 42 45 51 20 74 65  |,.        BEQ te|
000086e0  78 74 63 0d 33 36 13 20  20 20 20 20 20 20 20 42  |xtc.36.        B|
000086f0  20 64 65 6d 6f 31 0d 33  40 1a 2e 66 69 72 65 70  | demo1.3@..firep|
00008700  72 20 4c 44 52 20 52 31  30 2c 70 61 6c 65 74 74  |r LDR R10,palett|
00008710  0d 33 4a 15 20 20 20 20  20 20 20 20 4d 4f 56 20  |.3J.        MOV |
00008720  52 39 2c 23 34 0d 33 54  13 20 20 20 20 20 20 20  |R9,#4.3T.       |
00008730  20 42 4c 20 66 61 64 65  0d 33 5e 16 20 20 20 20  | BL fade.3^.    |
00008740  20 20 20 20 4d 4f 56 20  52 39 2c 23 33 32 0d 33  |    MOV R9,#32.3|
00008750  68 42 20 20 20 20 20 20  20 20 53 57 49 20 32 35  |hB        SWI 25|
00008760  36 2b 31 37 3a 53 57 49  20 32 35 36 2b 31 32 38  |6+17:SWI 256+128|
00008770  3a 53 57 49 20 32 35 36  2b 31 37 3a 53 57 49 20  |:SWI 256+17:SWI |
00008780  32 35 36 2b 37 3a 53 57  49 20 32 35 36 2b 31 32  |256+7:SWI 256+12|
00008790  0d 33 72 15 20 20 20 20  20 20 20 20 42 4c 20 69  |.3r.        BL i|
000087a0  6e 76 61 72 73 0d 33 7c  18 20 20 20 20 20 20 20  |nvars.3|.       |
000087b0  20 4c 44 52 20 52 31 2c  74 6f 74 70 6c 0d 33 86  | LDR R1,totpl.3.|
000087c0  15 20 20 20 20 20 20 20  20 43 4d 50 20 52 31 2c  |.        CMP R1,|
000087d0  23 31 0d 33 90 16 20 20  20 20 20 20 20 20 42 4e  |#1.3..        BN|
000087e0  45 20 73 77 69 74 63 68  0d 33 9a 19 20 20 20 20  |E switch.3..    |
000087f0  20 20 20 20 53 54 52 20  52 31 2c 62 6c 65 76 65  |    STR R1,bleve|
00008800  6c 0d 33 a4 15 20 20 20  20 20 20 20 20 42 4c 20  |l.3..        BL |
00008810  72 65 74 6c 65 76 0d 33  ae 1b 20 20 20 20 20 20  |retlev.3..      |
00008820  20 20 4d 4f 56 20 52 30  2c 52 30 2c 41 53 4c 23  |  MOV R0,R0,ASL#|
00008830  35 0d 33 b8 1a 20 20 20  20 20 20 20 20 41 44 44  |5.3..        ADD|
00008840  20 52 30 2c 52 30 2c 23  32 30 30 0d 33 c2 19 20  | R0,R0,#200.3.. |
00008850  20 20 20 20 20 20 20 4c  44 52 20 52 31 31 2c 62  |       LDR R11,b|
00008860  6c 6f 63 6b 0d 33 cc 20  20 20 20 20 20 20 20 20  |lock.3.         |
00008870  53 54 52 20 52 30 2c 5b  52 31 31 2c 23 32 30 2b  |STR R0,[R11,#20+|
00008880  31 32 38 5d 0d 33 d6 33  20 20 20 20 20 20 20 20  |128].3.3        |
00008890  4d 4f 56 20 52 30 2c 23  32 20 20 20 20 20 20 20  |MOV R0,#2       |
000088a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000088b0  3b 20 4c 69 76 65 73 0d  33 e0 18 20 20 20 20 20  |; Lives.3..     |
000088c0  20 20 20 53 54 52 20 52  30 2c 6c 69 76 65 73 0d  |   STR R0,lives.|
000088d0  33 ea 15 20 20 20 20 20  20 20 20 4d 4f 56 20 52  |3..        MOV R|
000088e0  30 2c 23 30 0d 33 f4 18  20 20 20 20 20 20 20 20  |0,#0.3..        |
000088f0  53 54 52 20 52 30 2c 73  63 6f 72 65 0d 33 fe 15  |STR R0,score.3..|
00008900  20 20 20 20 20 20 20 20  4d 4f 56 20 52 30 2c 23  |        MOV R0,#|
00008910  30 0d 34 08 15 20 20 20  20 20 20 20 20 42 4c 20  |0.4..        BL |
00008920  70 6c 61 63 65 72 0d 34  12 2f 2e 6e 6f 64 61 6d  |placer.4./.nodam|
00008930  73 20 53 57 49 20 22 4f  53 5f 4d 6f 75 73 65 22  |s SWI "OS_Mouse"|
00008940  3a 43 4d 50 20 52 32 2c  23 30 3a 42 4e 45 20 6e  |:CMP R2,#0:BNE n|
00008950  6f 64 61 6d 73 0d 34 1c  14 20 20 20 20 20 20 20  |odams.4..       |
00008960  20 42 20 73 77 69 74 63  68 0d 34 26 12 2e 73 63  | B switch.4&..sc|
00008970  72 65 65 6e 20 45 51 55  44 20 31 0d 34 30 12 2e  |reen EQUD 1.40..|
00008980  62 6c 65 76 65 6c 20 45  51 55 44 20 31 0d 34 3a  |blevel EQUD 1.4:|
00008990  12 2e 73 77 69 74 6f 6e  20 45 51 55 44 20 30 0d  |..switon EQUD 0.|
000089a0  34 44 12 2e 74 68 69 74  6c 20 20 45 51 55 44 20  |4D..thitl  EQUD |
000089b0  30 0d 34 4e 19 2e 68 69  74 6c 61 73 20 45 51 55  |0.4N..hitlas EQU|
000089c0  44 20 30 3a 45 51 55 44  20 30 0d 34 58 19 2e 70  |D 0:EQUD 0.4X..p|
000089d0  6c 61 63 73 77 20 41 44  52 20 52 30 2c 73 63 72  |lacsw ADR R0,scr|
000089e0  73 77 31 0d 34 62 18 20  20 20 20 20 20 20 20 41  |sw1.4b.        A|
000089f0  44 52 20 52 31 2c 73 63  72 73 77 0d 34 6c 25 20  |DR R1,scrsw.4l% |
00008a00  20 20 20 20 20 20 20 53  57 49 20 22 4f 53 5f 52  |       SWI "OS_R|
00008a10  65 61 64 56 64 75 56 61  72 69 61 62 6c 65 73 22  |eadVduVariables"|
00008a20  0d 34 76 16 20 20 20 20  20 20 20 20 4d 4f 56 20  |.4v.        MOV |
00008a30  50 43 2c 52 31 34 0d 34  80 1c 2e 73 63 72 73 77  |PC,R14.4...scrsw|
00008a40  31 20 45 51 55 44 20 31  34 38 3a 45 51 55 44 20  |1 EQUD 148:EQUD |
00008a50  2d 31 0d 34 8a 19 2e 73  63 72 73 77 20 20 45 51  |-1.4...scrsw  EQ|
00008a60  55 44 20 30 3a 45 51 55  44 20 30 0d 34 94 1b 2e  |UD 0:EQUD 0.4...|
00008a70  73 77 69 74 63 68 20 53  57 49 20 22 58 4f 53 5f  |switch SWI "XOS_|
00008a80  4d 6f 75 73 65 22 0d 34  9e 15 20 20 20 20 20 20  |Mouse".4..      |
00008a90  20 20 43 4d 50 20 52 32  2c 23 30 0d 34 a8 17 20  |  CMP R2,#0.4.. |
00008aa0  20 20 20 20 20 20 20 42  4c 4e 45 20 73 63 72 62  |       BLNE scrb|
00008ab0  6c 61 0d 34 b2 16 20 20  20 20 20 20 20 20 4d 4f  |la.4..        MO|
00008ac0  56 20 52 30 2c 23 31 39  0d 34 bc 19 20 20 20 20  |V R0,#19.4..    |
00008ad0  20 20 20 20 53 57 49 20  22 4f 53 5f 42 79 74 65  |    SWI "OS_Byte|
00008ae0  22 0d 34 c6 17 20 20 20  20 20 20 20 20 4d 4f 56  |".4..        MOV|
00008af0  20 52 30 2c 23 31 31 32  0d 34 d0 19 20 20 20 20  | R0,#112.4..    |
00008b00  20 20 20 20 4c 44 52 20  52 31 2c 73 63 72 65 65  |    LDR R1,scree|
00008b10  6e 0d 34 da 19 20 20 20  20 20 20 20 20 53 57 49  |n.4..        SWI|
00008b20  20 22 4f 53 5f 42 79 74  65 22 0d 34 e4 19 20 20  | "OS_Byte".4..  |
00008b30  20 20 20 20 20 20 4c 44  52 20 52 30 2c 73 77 69  |      LDR R0,swi|
00008b40  74 6f 6e 0d 34 ee 18 20  20 20 20 20 20 20 20 41  |ton.4..        A|
00008b50  44 44 20 52 30 2c 52 30  2c 23 31 0d 34 f8 19 20  |DD R0,R0,#1.4.. |
00008b60  20 20 20 20 20 20 20 53  54 52 20 52 30 2c 73 77  |       STR R0,sw|
00008b70  69 74 6f 6e 0d 35 02 15  20 20 20 20 20 20 20 20  |iton.5..        |
00008b80  43 4d 50 20 52 30 2c 23  33 0d 35 0c 15 20 20 20  |CMP R0,#3.5..   |
00008b90  20 20 20 20 20 42 45 51  20 73 68 6c 65 76 0d 35  |     BEQ shlev.5|
00008ba0  16 19 20 20 20 20 20 20  20 20 4c 44 52 20 52 31  |..        LDR R1|
00008bb0  2c 73 63 72 65 65 6e 0d  35 20 18 20 20 20 20 20  |,screen.5 .     |
00008bc0  20 20 20 52 53 42 20 52  31 2c 52 31 2c 23 33 0d  |   RSB R1,R1,#3.|
00008bd0  35 2a 19 20 20 20 20 20  20 20 20 53 54 52 20 52  |5*.        STR R|
00008be0  31 2c 73 63 72 65 65 6e  0d 35 34 17 20 20 20 20  |1,screen.54.    |
00008bf0  20 20 20 20 4d 4f 56 20  52 30 2c 23 31 31 33 0d  |    MOV R0,#113.|
00008c00  35 3e 19 20 20 20 20 20  20 20 20 53 57 49 20 22  |5>.        SWI "|
00008c10  4f 53 5f 42 79 74 65 22  0d 35 48 19 20 20 20 20  |OS_Byte".5H.    |
00008c20  20 20 20 20 41 44 52 20  52 30 2c 73 63 72 73 77  |    ADR R0,scrsw|
00008c30  31 0d 35 52 18 20 20 20  20 20 20 20 20 41 44 52  |1.5R.        ADR|
00008c40  20 52 31 2c 73 63 72 73  77 0d 35 5c 25 20 20 20  | R1,scrsw.5\%   |
00008c50  20 20 20 20 20 53 57 49  20 22 4f 53 5f 52 65 61  |     SWI "OS_Rea|
00008c60  64 56 64 75 56 61 72 69  61 62 6c 65 73 22 0d 35  |dVduVariables".5|
00008c70  66 18 20 20 20 20 20 20  20 20 4c 44 52 20 52 30  |f.        LDR R0|
00008c80  2c 73 63 72 73 77 0d 35  70 14 20 20 20 20 20 20  |,scrsw.5p.      |
00008c90  20 20 42 20 63 6c 73 62  61 63 0d 35 7a 1a 2e 64  |  B clsbac.5z..d|
00008ca0  72 61 77 62 20 20 4c 44  52 20 52 31 31 2c 62 61  |rawb  LDR R11,ba|
00008cb0  72 74 61 62 0d 35 84 17  20 20 20 20 20 20 20 20  |rtab.5..        |
00008cc0  4c 44 52 20 52 38 2c 62  61 72 72 0d 35 8e 1e 2e  |LDR R8,barr.5...|
00008cd0  62 61 72 6c 6f 6f 20 4c  44 4d 49 41 20 52 31 31  |barloo LDMIA R11|
00008ce0  21 2c 7b 52 33 2d 52 34  7d 0d 35 98 1b 20 20 20  |!,{R3-R4}.5..   |
00008cf0  20 20 20 20 20 4c 44 52  20 52 32 2c 5b 52 31 31  |     LDR R2,[R11|
00008d00  5d 2c 23 34 0d 35 a2 15  20 20 20 20 20 20 20 20  |],#4.5..        |
00008d10  43 4d 50 20 52 33 2c 23  30 0d 35 ac 16 20 20 20  |CMP R3,#0.5..   |
00008d20  20 20 20 20 20 42 4c 54  20 64 65 73 74 62 72 0d  |     BLT destbr.|
00008d30  35 b6 18 20 20 20 20 20  20 20 20 4c 44 52 20 52  |5..        LDR R|
00008d40  30 2c 73 63 72 73 77 0d  35 c0 1c 20 20 20 20 20  |0,scrsw.5..     |
00008d50  20 20 20 4d 4f 56 20 52  33 2c 52 33 2c 41 53 52  |   MOV R3,R3,ASR|
00008d60  23 73 68 0d 35 ca 1c 20  20 20 20 20 20 20 20 4d  |#sh.5..        M|
00008d70  4f 56 20 52 34 2c 52 34  2c 41 53 52 23 73 68 0d  |OV R4,R4,ASR#sh.|
00008d80  35 d4 19 20 20 20 20 20  20 20 20 53 55 42 20 52  |5..        SUB R|
00008d90  33 2c 52 33 2c 23 36 34  0d 35 de 1b 20 20 20 20  |3,R3,#64.5..    |
00008da0  20 20 20 20 4c 44 52 20  52 31 2c 5b 52 32 2c 23  |    LDR R1,[R2,#|
00008db0  33 32 5d 0d 35 e8 18 20  20 20 20 20 20 20 20 41  |32].5..        A|
00008dc0  44 44 20 52 31 2c 52 31  2c 52 32 0d 35 f2 1b 20  |DD R1,R1,R2.5.. |
00008dd0  20 20 20 20 20 20 20 52  53 42 20 52 34 2c 52 34  |       RSB R4,R4|
00008de0  2c 23 31 30 32 34 0d 35  fc 1b 20 20 20 20 20 20  |,#1024.5..      |
00008df0  20 20 4d 4f 56 20 52 34  2c 52 34 2c 41 53 52 23  |  MOV R4,R4,ASR#|
00008e00  32 0d 36 06 17 20 20 20  20 20 20 20 20 4d 4f 56  |2.6..        MOV|
00008e10  20 52 35 2c 23 31 36 30  0d 36 10 1b 20 20 20 20  | R5,#160.6..    |
00008e20  20 20 20 20 4d 4c 41 20  52 30 2c 52 34 2c 52 35  |    MLA R0,R4,R5|
00008e30  2c 52 30 0d 36 1a 1e 20  20 20 20 20 20 20 20 41  |,R0.6..        A|
00008e40  44 44 20 52 30 2c 52 30  2c 52 33 2c 41 53 52 23  |DD R0,R0,R3,ASR#|
00008e50  33 0d 36 24 16 20 20 20  20 20 20 20 20 4d 4f 56  |3.6$.        MOV|
00008e60  20 52 35 2c 23 31 35 0d  36 2e 1d 2e 79 62 61 72  | R5,#15.6...ybar|
00008e70  6c 70 20 4c 44 4d 49 41  20 52 31 21 2c 7b 52 33  |lp LDMIA R1!,{R3|
00008e80  2d 52 34 7d 0d 36 38 1c  20 20 20 20 20 20 20 20  |-R4}.68.        |
00008e90  53 54 4d 49 41 20 52 30  2c 7b 52 33 2d 52 34 7d  |STMIA R0,{R3-R4}|
00008ea0  0d 36 42 1a 20 20 20 20  20 20 20 20 41 44 44 20  |.6B.        ADD |
00008eb0  52 30 2c 52 30 2c 23 31  36 30 0d 36 4c 19 20 20  |R0,R0,#160.6L.  |
00008ec0  20 20 20 20 20 20 53 55  42 53 20 52 35 2c 52 35  |      SUBS R5,R5|
00008ed0  2c 23 31 0d 36 56 16 20  20 20 20 20 20 20 20 42  |,#1.6V.        B|
00008ee0  50 4c 20 79 62 61 72 6c  70 0d 36 60 19 2e 64 65  |PL ybarlp.6`..de|
00008ef0  73 74 62 72 20 53 55 42  53 20 52 38 2c 52 38 2c  |stbr SUBS R8,R8,|
00008f00  23 31 0d 36 6a 16 20 20  20 20 20 20 20 20 42 50  |#1.6j.        BP|
00008f10  4c 20 62 61 72 6c 6f 6f  0d 36 74 19 2e 6d 6f 76  |L barloo.6t..mov|
00008f20  65 69 74 20 4c 44 52 20  52 31 31 2c 62 6c 6f 63  |eit LDR R11,bloc|
00008f30  6b 0d 36 7e 19 20 20 20  20 20 20 20 20 4c 44 52  |k.6~.        LDR|
00008f40  20 52 30 2c 62 6c 65 76  65 6c 0d 36 88 17 2e 63  | R0,blevel.6...c|
00008f50  61 72 73 20 20 20 53 54  52 20 52 30 2c 6c 65 66  |ars   STR R0,lef|
00008f60  74 0d 36 92 19 20 20 20  20 20 20 20 20 4c 44 52  |t.6..        LDR|
00008f70  20 52 31 32 2c 62 6c 6f  63 6b 0d 36 9c 17 20 20  | R12,block.6..  |
00008f80  20 20 20 20 20 20 43 4d  50 20 52 31 31 2c 52 31  |      CMP R11,R1|
00008f90  32 0d 36 a6 1a 20 20 20  20 20 20 20 20 41 44 52  |2.6..        ADR|
00008fa0  20 52 31 32 2c 68 69 74  6c 61 73 0d 36 b0 1c 20  | R12,hitlas.6.. |
00008fb0  20 20 20 20 20 20 20 41  44 44 4e 45 20 52 31 32  |       ADDNE R12|
00008fc0  2c 52 31 32 2c 23 34 0d  36 ba 19 20 20 20 20 20  |,R12,#4.6..     |
00008fd0  20 20 20 53 54 52 20 52  31 32 2c 74 68 69 74 6c  |   STR R12,thitl|
00008fe0  0d 36 c4 19 20 20 20 20  20 20 20 20 4c 44 52 20  |.6..        LDR |
00008ff0  52 31 32 2c 5b 52 31 32  5d 0d 36 ce 1c 20 20 20  |R12,[R12].6..   |
00009000  20 20 20 20 20 4c 44 52  20 52 32 2c 5b 52 31 31  |     LDR R2,[R11|
00009010  2c 23 32 30 5d 0d 36 d8  18 20 20 20 20 20 20 20  |,#20].6..       |
00009020  20 53 54 52 20 52 32 2c  6f 6c 64 65 6e 0d 36 e2  | STR R2,olden.6.|
00009030  15 20 20 20 20 20 20 20  20 4d 4f 56 20 52 32 2c  |.        MOV R2,|
00009040  23 30 0d 36 ec 1b 20 20  20 20 20 20 20 20 4c 44  |#0.6..        LD|
00009050  52 20 52 35 2c 5b 52 31  31 2c 23 38 5d 0d 36 f6  |R R5,[R11,#8].6.|
00009060  1c 20 20 20 20 20 20 20  20 4c 44 52 20 52 36 2c  |.        LDR R6,|
00009070  5b 52 31 31 2c 23 31 32  5d 0d 37 00 18 20 20 20  |[R11,#12].7..   |
00009080  20 20 20 20 20 4c 44 52  20 52 33 2c 77 69 6e 64  |     LDR R3,wind|
00009090  78 0d 37 0a 18 20 20 20  20 20 20 20 20 41 44 44  |x.7..        ADD|
000090a0  20 52 35 2c 52 35 2c 52  33 0d 37 14 18 20 20 20  | R5,R5,R3.7..   |
000090b0  20 20 20 20 20 4c 44 52  20 52 34 2c 77 69 6e 64  |     LDR R4,wind|
000090c0  79 0d 37 1e 18 20 20 20  20 20 20 20 20 41 44 44  |y.7..        ADD|
000090d0  20 52 36 2c 52 36 2c 52  34 0d 37 28 1d 20 20 20  | R6,R6,R4.7(.   |
000090e0  20 20 20 20 20 4c 44 4d  49 41 20 52 31 31 2c 7b  |     LDMIA R11,{|
000090f0  52 33 2d 52 34 7d 0d 37  32 18 20 20 20 20 20 20  |R3-R4}.72.      |
00009100  20 20 41 44 44 20 52 33  2c 52 33 2c 52 35 0d 37  |  ADD R3,R3,R5.7|
00009110  3c 18 20 20 20 20 20 20  20 20 43 4d 50 20 52 33  |<.        CMP R3|
00009120  2c 23 36 34 2a 6a 0d 37  46 1a 20 20 20 20 20 20  |,#64*j.7F.      |
00009130  20 20 4d 4f 56 4c 54 20  52 33 2c 23 36 34 2a 6a  |  MOVLT R3,#64*j|
00009140  0d 37 50 1a 20 20 20 20  20 20 20 20 52 53 42 4c  |.7P.        RSBL|
00009150  54 20 52 35 2c 52 35 2c  23 30 0d 37 5a 17 20 20  |T R5,R5,#0.7Z.  |
00009160  20 20 20 20 20 20 4d 4f  56 4c 54 20 52 32 2c 23  |      MOVLT R2,#|
00009170  31 0d 37 64 18 20 20 20  20 20 20 20 20 4c 44 52  |1.7d.        LDR|
00009180  20 52 37 2c 72 69 67 68  74 0d 37 6e 15 20 20 20  | R7,right.7n.   |
00009190  20 20 20 20 20 43 4d 50  20 52 33 2c 52 37 0d 37  |     CMP R3,R7.7|
000091a0  78 17 20 20 20 20 20 20  20 20 4d 4f 56 47 54 20  |x.        MOVGT |
000091b0  52 33 2c 52 37 0d 37 82  1a 20 20 20 20 20 20 20  |R3,R7.7..       |
000091c0  20 52 53 42 47 54 20 52  35 2c 52 35 2c 23 30 0d  | RSBGT R5,R5,#0.|
000091d0  37 8c 17 20 20 20 20 20  20 20 20 4d 4f 56 47 54  |7..        MOVGT|
000091e0  20 52 32 2c 23 31 0d 37  96 04 0d 37 a0 2b 20 20  | R2,#1.7...7.+  |
000091f0  20 20 20 20 20 20 53 54  4d 46 44 20 52 31 33 21  |      STMFD R13!|
00009200  2c 7b 52 30 2d 52 31 2c  52 33 2d 52 34 2c 52 37  |,{R0-R1,R3-R4,R7|
00009210  2d 52 31 30 7d 0d 37 aa  1b 20 20 20 20 20 20 20  |-R10}.7..       |
00009220  20 41 44 44 20 52 33 2c  52 33 2c 23 37 32 2a 6a  | ADD R3,R3,#72*j|
00009230  0d 37 b4 1b 20 20 20 20  20 20 20 20 41 44 44 20  |.7..        ADD |
00009240  52 34 2c 52 34 2c 23 37  32 2a 6a 0d 37 be 1a 20  |R4,R4,#72*j.7.. |
00009250  20 20 20 20 20 20 20 4c  44 52 20 52 31 30 2c 62  |       LDR R10,b|
00009260  61 72 74 61 62 0d 37 c8  17 20 20 20 20 20 20 20  |artab.7..       |
00009270  20 4c 44 52 20 52 38 2c  62 61 72 72 0d 37 d2 2d  | LDR R8,barr.7.-|
00009280  2e 62 61 72 6c 70 31 20  4c 44 4d 49 41 20 52 31  |.barlp1 LDMIA R1|
00009290  30 21 2c 7b 52 30 2d 52  31 7d 3a 41 44 44 20 52  |0!,{R0-R1}:ADD R|
000092a0  31 30 2c 52 31 30 2c 23  34 0d 37 dc 15 20 20 20  |10,R10,#4.7..   |
000092b0  20 20 20 20 20 43 4d 50  20 52 30 2c 23 30 0d 37  |     CMP R0,#0.7|
000092c0  e6 16 20 20 20 20 20 20  20 20 42 4c 54 20 6e 6f  |..        BLT no|
000092d0  63 72 61 31 0d 37 f0 19  20 20 20 20 20 20 20 20  |cra1.7..        |
000092e0  53 55 42 53 20 52 30 2c  52 33 2c 52 30 0d 37 fa  |SUBS R0,R3,R0.7.|
000092f0  1a 20 20 20 20 20 20 20  20 52 53 42 4d 49 20 52  |.        RSBMI R|
00009300  30 2c 52 30 2c 23 30 0d  38 04 18 20 20 20 20 20  |0,R0,#0.8..     |
00009310  20 20 20 43 4d 50 20 52  30 2c 23 36 38 2a 6a 0d  |   CMP R0,#68*j.|
00009320  38 0e 14 20 20 20 20 20  20 20 20 42 4c 54 20 63  |8..        BLT c|
00009330  72 61 31 0d 38 18 19 2e  6e 6f 63 72 61 31 20 53  |ra1.8...nocra1 S|
00009340  55 42 53 20 52 38 2c 52  38 2c 23 31 0d 38 22 16  |UBS R8,R8,#1.8".|
00009350  20 20 20 20 20 20 20 20  42 50 4c 20 62 61 72 6c  |        BPL barl|
00009360  70 31 0d 38 2c 2b 20 20  20 20 20 20 20 20 4c 44  |p1.8,+        LD|
00009370  4d 49 41 20 52 31 33 21  2c 7b 52 30 2d 52 31 2c  |MIA R13!,{R0-R1,|
00009380  52 33 2d 52 34 2c 52 37  2d 52 31 30 7d 0d 38 36  |R3-R4,R7-R10}.86|
00009390  14 20 20 20 20 20 20 20  20 42 20 79 63 6f 6c 64  |.        B ycold|
000093a0  65 0d 38 40 19 2e 63 72  61 31 20 20 20 53 55 42  |e.8@..cra1   SUB|
000093b0  53 20 52 31 2c 52 34 2c  52 31 0d 38 4a 1a 20 20  |S R1,R4,R1.8J.  |
000093c0  20 20 20 20 20 20 52 53  42 4d 49 20 52 31 2c 52  |      RSBMI R1,R|
000093d0  31 2c 23 30 0d 38 54 18  20 20 20 20 20 20 20 20  |1,#0.8T.        |
000093e0  43 4d 50 20 52 31 2c 23  36 34 2a 6a 0d 38 5e 16  |CMP R1,#64*j.8^.|
000093f0  20 20 20 20 20 20 20 20  42 47 54 20 6e 6f 63 72  |        BGT nocr|
00009400  61 31 0d 38 68 19 20 20  20 20 20 20 20 20 52 53  |a1.8h.        RS|
00009410  42 53 20 52 35 2c 52 35  2c 23 30 0d 38 72 15 20  |BS R5,R5,#0.8r. |
00009420  20 20 20 20 20 20 20 43  4d 50 20 52 35 2c 23 30  |       CMP R5,#0|
00009430  0d 38 7c 1c 20 20 20 20  20 20 20 20 41 44 44 20  |.8|.        ADD |
00009440  52 35 2c 52 35 2c 23 31  3c 3c 73 68 0d 38 86 1e  |R5,R5,#1<<sh.8..|
00009450  20 20 20 20 20 20 20 20  53 55 42 4d 49 20 52 35  |        SUBMI R5|
00009460  2c 52 35 2c 23 32 3c 3c  73 68 0d 38 90 15 20 20  |,R5,#2<<sh.8..  |
00009470  20 20 20 20 20 20 4d 4f  56 20 52 32 2c 23 31 0d  |      MOV R2,#1.|
00009480  38 9a 2b 20 20 20 20 20  20 20 20 4c 44 4d 49 41  |8.+        LDMIA|
00009490  20 52 31 33 21 2c 7b 52  30 2d 52 31 2c 52 33 2d  | R13!,{R0-R1,R3-|
000094a0  52 34 2c 52 37 2d 52 31  30 7d 0d 38 a4 1d 20 20  |R4,R7-R10}.8..  |
000094b0  20 20 20 20 20 20 4c 44  4d 49 41 20 52 31 31 2c  |      LDMIA R11,|
000094c0  7b 52 33 2d 52 34 7d 0d  38 ae 13 20 20 20 20 20  |{R3-R4}.8..     |
000094d0  20 20 20 42 20 6e 65 77  62 72 0d 38 b8 04 0d 38  |   B newbr.8...8|
000094e0  c2 18 2e 79 63 6f 6c 64  65 20 41 44 44 20 52 34  |...ycolde ADD R4|
000094f0  2c 52 34 2c 52 36 0d 38  cc 19 20 20 20 20 20 20  |,R4,R6.8..      |
00009500  20 20 43 4d 50 20 52 34  2c 23 32 30 30 2a 6a 0d  |  CMP R4,#200*j.|
00009510  38 d6 1b 20 20 20 20 20  20 20 20 4d 4f 56 4c 54  |8..        MOVLT|
00009520  20 52 34 2c 23 32 30 30  2a 6a 0d 38 e0 1a 20 20  | R4,#200*j.8..  |
00009530  20 20 20 20 20 20 52 53  42 4c 54 20 52 36 2c 52  |      RSBLT R6,R|
00009540  36 2c 23 30 0d 38 ea 17  20 20 20 20 20 20 20 20  |6,#0.8..        |
00009550  4d 4f 56 4c 54 20 52 32  2c 23 31 0d 38 f4 16 20  |MOVLT R2,#1.8.. |
00009560  20 20 20 20 20 20 20 4c  44 52 20 52 37 2c 74 6f  |       LDR R7,to|
00009570  70 0d 38 fe 15 20 20 20  20 20 20 20 20 43 4d 50  |p.8..        CMP|
00009580  20 52 34 2c 52 37 0d 39  08 17 20 20 20 20 20 20  | R4,R7.9..      |
00009590  20 20 4d 4f 56 47 54 20  52 34 2c 52 37 0d 39 12  |  MOVGT R4,R7.9.|
000095a0  1a 20 20 20 20 20 20 20  20 52 53 42 47 54 20 52  |.        RSBGT R|
000095b0  36 2c 52 36 2c 23 30 0d  39 1c 17 20 20 20 20 20  |6,R6,#0.9..     |
000095c0  20 20 20 4d 4f 56 47 54  20 52 32 2c 23 31 0d 39  |   MOVGT R2,#1.9|
000095d0  26 04 0d 39 30 2b 20 20  20 20 20 20 20 20 53 54  |&..90+        ST|
000095e0  4d 46 44 20 52 31 33 21  2c 7b 52 30 2d 52 31 2c  |MFD R13!,{R0-R1,|
000095f0  52 33 2d 52 34 2c 52 37  2d 52 31 30 7d 0d 39 3a  |R3-R4,R7-R10}.9:|
00009600  1b 20 20 20 20 20 20 20  20 41 44 44 20 52 33 2c  |.        ADD R3,|
00009610  52 33 2c 23 37 32 2a 6a  0d 39 44 1b 20 20 20 20  |R3,#72*j.9D.    |
00009620  20 20 20 20 41 44 44 20  52 34 2c 52 34 2c 23 37  |    ADD R4,R4,#7|
00009630  32 2a 6a 0d 39 4e 1a 20  20 20 20 20 20 20 20 4c  |2*j.9N.        L|
00009640  44 52 20 52 31 30 2c 62  61 72 74 61 62 0d 39 58  |DR R10,bartab.9X|
00009650  17 20 20 20 20 20 20 20  20 4c 44 52 20 52 38 2c  |.        LDR R8,|
00009660  62 61 72 72 0d 39 62 2d  2e 62 61 72 6c 70 32 20  |barr.9b-.barlp2 |
00009670  4c 44 4d 49 41 20 52 31  30 21 2c 7b 52 30 2d 52  |LDMIA R10!,{R0-R|
00009680  31 7d 3a 41 44 44 20 52  31 30 2c 52 31 30 2c 23  |1}:ADD R10,R10,#|
00009690  34 0d 39 6c 15 20 20 20  20 20 20 20 20 43 4d 50  |4.9l.        CMP|
000096a0  20 52 30 2c 23 30 0d 39  76 16 20 20 20 20 20 20  | R0,#0.9v.      |
000096b0  20 20 42 4c 54 20 6e 6f  63 72 61 32 0d 39 80 19  |  BLT nocra2.9..|
000096c0  20 20 20 20 20 20 20 20  53 55 42 53 20 52 30 2c  |        SUBS R0,|
000096d0  52 33 2c 52 30 0d 39 8a  1a 20 20 20 20 20 20 20  |R3,R0.9..       |
000096e0  20 52 53 42 4d 49 20 52  30 2c 52 30 2c 23 30 0d  | RSBMI R0,R0,#0.|
000096f0  39 94 18 20 20 20 20 20  20 20 20 43 4d 50 20 52  |9..        CMP R|
00009700  30 2c 23 36 34 2a 6a 0d  39 9e 14 20 20 20 20 20  |0,#64*j.9..     |
00009710  20 20 20 42 4c 54 20 63  72 61 32 0d 39 a8 19 2e  |   BLT cra2.9...|
00009720  6e 6f 63 72 61 32 20 53  55 42 53 20 52 38 2c 52  |nocra2 SUBS R8,R|
00009730  38 2c 23 31 0d 39 b2 16  20 20 20 20 20 20 20 20  |8,#1.9..        |
00009740  42 50 4c 20 62 61 72 6c  70 32 0d 39 bc 2b 20 20  |BPL barlp2.9.+  |
00009750  20 20 20 20 20 20 4c 44  4d 49 41 20 52 31 33 21  |      LDMIA R13!|
00009760  2c 7b 52 30 2d 52 31 2c  52 33 2d 52 34 2c 52 37  |,{R0-R1,R3-R4,R7|
00009770  2d 52 31 30 7d 0d 39 c6  13 20 20 20 20 20 20 20  |-R10}.9..       |
00009780  20 42 20 6e 65 77 62 72  0d 39 d0 19 2e 63 72 61  | B newbr.9...cra|
00009790  32 20 20 20 53 55 42 53  20 52 31 2c 52 34 2c 52  |2   SUBS R1,R4,R|
000097a0  31 0d 39 da 1a 20 20 20  20 20 20 20 20 52 53 42  |1.9..        RSB|
000097b0  4d 49 20 52 31 2c 52 31  2c 23 30 0d 39 e4 18 20  |MI R1,R1,#0.9.. |
000097c0  20 20 20 20 20 20 20 43  4d 50 20 52 31 2c 23 36  |       CMP R1,#6|
000097d0  34 2a 6a 0d 39 ee 16 20  20 20 20 20 20 20 20 42  |4*j.9..        B|
000097e0  47 54 20 6e 6f 63 72 61  32 0d 39 f8 19 20 20 20  |GT nocra2.9..   |
000097f0  20 20 20 20 20 52 53 42  53 20 52 36 2c 52 36 2c  |     RSBS R6,R6,|
00009800  23 30 0d 3a 02 15 20 20  20 20 20 20 20 20 4d 4f  |#0.:..        MO|
00009810  56 20 52 32 2c 23 31 0d  3a 0c 2b 20 20 20 20 20  |V R2,#1.:.+     |
00009820  20 20 20 4c 44 4d 49 41  20 52 31 33 21 2c 7b 52  |   LDMIA R13!,{R|
00009830  30 2d 52 31 2c 52 33 2d  52 34 2c 52 37 2d 52 31  |0-R1,R3-R4,R7-R1|
00009840  30 7d 0d 3a 16 1d 20 20  20 20 20 20 20 20 4c 44  |0}.:..        LD|
00009850  4d 49 41 20 52 31 31 2c  7b 52 33 2d 52 34 7d 0d  |MIA R11,{R3-R4}.|
00009860  3a 20 04 0d 3a 2a 20 2e  6e 65 77 62 72 20 20 43  |: ..:* .newbr  C|
00009870  4d 50 20 52 32 2c 23 31  3a 42 4e 45 20 6e 6f 77  |MP R2,#1:BNE now|
00009880  61 6c 63 0d 3a 34 21 20  20 20 20 20 20 20 20 43  |alc.:4!        C|
00009890  4d 50 20 52 31 32 2c 23  31 3a 42 45 51 20 6e 6f  |MP R12,#1:BEQ no|
000098a0  77 61 6c 64 0d 3a 3e 15  20 20 20 20 20 20 20 20  |wald.:>.        |
000098b0  4d 4f 56 20 52 37 2c 23  30 0d 3a 48 14 20 20 20  |MOV R7,#0.:H.   |
000098c0  20 20 20 20 20 42 4c 20  73 6f 75 6e 64 0d 3a 52  |     BL sound.:R|
000098d0  1c 20 20 20 20 20 20 20  20 4c 44 52 20 52 37 2c  |.        LDR R7,|
000098e0  5b 52 31 31 2c 23 32 30  5d 0d 3a 5c 18 20 20 20  |[R11,#20].:\.   |
000098f0  20 20 20 20 20 53 55 42  20 52 37 2c 52 37 2c 23  |     SUB R7,R7,#|
00009900  31 0d 3a 66 1c 20 20 20  20 20 20 20 20 53 54 52  |1.:f.        STR|
00009910  20 52 37 2c 5b 52 31 31  2c 23 32 30 5d 0d 3a 70  | R7,[R11,#20].:p|
00009920  16 20 20 20 20 20 20 20  20 4d 4f 56 20 52 31 32  |.        MOV R12|
00009930  2c 23 31 0d 3a 7a 18 20  20 20 20 20 20 20 20 4c  |,#1.:z.        L|
00009940  44 52 20 52 37 2c 74 68  69 74 6c 0d 3a 84 18 20  |DR R7,thitl.:.. |
00009950  20 20 20 20 20 20 20 53  54 52 20 52 31 32 2c 5b  |       STR R12,[|
00009960  52 37 5d 0d 3a 8e 14 20  20 20 20 20 20 20 20 42  |R7].:..        B|
00009970  20 6e 6f 77 61 6c 64 0d  3a 98 19 2e 6e 6f 77 61  | nowald.:...nowa|
00009980  6c 63 20 4c 44 52 20 52  31 32 2c 74 68 69 74 6c  |lc LDR R12,thitl|
00009990  0d 3a a2 15 20 20 20 20  20 20 20 20 4d 4f 56 20  |.:..        MOV |
000099a0  52 37 2c 23 30 0d 3a ac  18 20 20 20 20 20 20 20  |R7,#0.:..       |
000099b0  20 53 54 52 20 52 37 2c  5b 52 31 32 5d 0d 3a b6  | STR R7,[R12].:.|
000099c0  16 20 20 20 20 20 20 20  20 4d 4f 56 20 52 31 32  |.        MOV R12|
000099d0  2c 23 31 0d 3a c0 18 2e  6e 6f 77 61 6c 64 20 4c  |,#1.:...nowald L|
000099e0  44 52 20 52 32 2c 62 6c  6f 63 6b 0d 3a ca 16 2e  |DR R2,block.:...|
000099f0  68 69 74 63 61 72 20 43  4d 50 20 52 32 2c 52 31  |hitcar CMP R2,R1|
00009a00  31 0d 3a d4 14 20 20 20  20 20 20 20 20 42 45 51  |1.:..        BEQ|
00009a10  20 73 65 6c 66 0d 3a de  18 20 20 20 20 20 20 20  | self.:..       |
00009a20  20 4c 44 52 20 52 31 34  2c 5b 52 32 5d 0d 3a e8  | LDR R14,[R2].:.|
00009a30  1b 20 20 20 20 20 20 20  20 53 55 42 53 20 52 31  |.        SUBS R1|
00009a40  34 2c 52 31 34 2c 52 33  0d 3a f2 1c 20 20 20 20  |4,R14,R3.:..    |
00009a50  20 20 20 20 52 53 42 4d  49 20 52 31 34 2c 52 31  |    RSBMI R14,R1|
00009a60  34 2c 23 30 0d 3a fc 19  20 20 20 20 20 20 20 20  |4,#0.:..        |
00009a70  43 4d 50 20 52 31 34 2c  23 37 38 2a 6a 0d 3b 06  |CMP R14,#78*j.;.|
00009a80  14 20 20 20 20 20 20 20  20 42 47 54 20 73 65 6c  |.        BGT sel|
00009a90  66 0d 3b 10 1b 20 20 20  20 20 20 20 20 4c 44 52  |f.;..        LDR|
00009aa0  20 52 31 34 2c 5b 52 32  2c 23 34 5d 0d 3b 1a 1b  | R14,[R2,#4].;..|
00009ab0  20 20 20 20 20 20 20 20  53 55 42 53 20 52 31 34  |        SUBS R14|
00009ac0  2c 52 31 34 2c 52 34 0d  3b 24 1c 20 20 20 20 20  |,R14,R4.;$.     |
00009ad0  20 20 20 52 53 42 4d 49  20 52 31 34 2c 52 31 34  |   RSBMI R14,R14|
00009ae0  2c 23 30 0d 3b 2e 19 20  20 20 20 20 20 20 20 43  |,#0.;..        C|
00009af0  4d 50 20 52 31 34 2c 23  37 38 2a 6a 0d 3b 38 14  |MP R14,#78*j.;8.|
00009b00  20 20 20 20 20 20 20 20  42 47 54 20 73 65 6c 66  |        BGT self|
00009b10  0d 3b 42 15 20 20 20 20  20 20 20 20 4d 56 4e 20  |.;B.        MVN |
00009b20  52 35 2c 52 35 0d 3b 4c  15 20 20 20 20 20 20 20  |R5,R5.;L.       |
00009b30  20 4d 56 4e 20 52 36 2c  52 36 0d 3b 56 18 20 20  | MVN R6,R6.;V.  |
00009b40  20 20 20 20 20 20 41 44  44 20 52 33 2c 52 33 2c  |      ADD R3,R3,|
00009b50  52 35 0d 3b 60 18 20 20  20 20 20 20 20 20 41 44  |R5.;`.        AD|
00009b60  44 20 52 34 2c 52 34 2c  52 36 0d 3b 6a 1a 20 20  |D R4,R4,R6.;j.  |
00009b70  20 20 20 20 20 20 4c 44  52 20 52 31 2c 5b 52 32  |      LDR R1,[R2|
00009b80  2c 23 38 5d 0d 3b 74 1c  20 20 20 20 20 20 20 20  |,#8].;t.        |
00009b90  4c 44 52 20 52 31 34 2c  5b 52 32 2c 23 31 32 5d  |LDR R14,[R2,#12]|
00009ba0  0d 3b 7e 1e 20 20 20 20  20 20 20 20 53 55 42 20  |.;~.        SUB |
00009bb0  52 31 2c 52 31 2c 52 35  2c 41 53 52 23 31 0d 3b  |R1,R1,R5,ASR#1.;|
00009bc0  88 20 20 20 20 20 20 20  20 20 53 55 42 20 52 31  |.         SUB R1|
00009bd0  34 2c 52 31 34 2c 52 36  2c 41 53 52 23 31 0d 3b  |4,R14,R6,ASR#1.;|
00009be0  92 1a 20 20 20 20 20 20  20 20 53 54 52 20 52 31  |..        STR R1|
00009bf0  2c 5b 52 32 2c 23 38 5d  0d 3b 9c 1c 20 20 20 20  |,[R2,#8].;..    |
00009c00  20 20 20 20 53 54 52 20  52 31 34 2c 5b 52 32 2c  |    STR R14,[R2,|
00009c10  23 31 32 5d 0d 3b a6 1c  20 20 20 20 20 20 20 20  |#12].;..        |
00009c20  4c 44 52 20 52 31 2c 5b  52 31 31 2c 23 32 30 5d  |LDR R1,[R11,#20]|
00009c30  0d 3b b0 18 20 20 20 20  20 20 20 20 53 55 42 20  |.;..        SUB |
00009c40  52 31 2c 52 31 2c 23 32  0d 3b ba 1c 20 20 20 20  |R1,R1,#2.;..    |
00009c50  20 20 20 20 53 54 52 20  52 31 2c 5b 52 31 31 2c  |    STR R1,[R11,|
00009c60  23 32 30 5d 0d 3b c4 15  2e 6e 6f 72 65 66 6c 20  |#20].;...norefl |
00009c70  4d 4f 56 20 52 31 2c 23  32 0d 3b ce 1d 20 20 20  |MOV R1,#2.;..   |
00009c80  20 20 20 20 20 53 54 52  20 52 31 2c 5b 52 31 31  |     STR R1,[R11|
00009c90  2c 23 31 31 36 5d 0d 3b  d8 15 20 20 20 20 20 20  |,#116].;..      |
00009ca0  20 20 4d 4f 56 20 52 31  2c 52 35 0d 3b e2 16 20  |  MOV R1,R5.;.. |
00009cb0  20 20 20 20 20 20 20 4d  4f 56 20 52 35 2c 23 38  |       MOV R5,#8|
00009cc0  30 0d 3b ec 15 20 20 20  20 20 20 20 20 42 4c 20  |0.;..        BL |
00009cd0  73 6f 75 6e 64 32 0d 3b  f6 15 20 20 20 20 20 20  |sound2.;..      |
00009ce0  20 20 4d 4f 56 20 52 35  2c 52 31 0d 3c 00 1a 2e  |  MOV R5,R1.<...|
00009cf0  73 65 6c 66 20 20 20 41  44 44 20 52 32 2c 52 32  |self   ADD R2,R2|
00009d00  2c 23 31 32 38 0d 3c 0a  1b 20 20 20 20 20 20 20  |,#128.<..       |
00009d10  20 53 55 42 53 20 52 31  32 2c 52 31 32 2c 23 31  | SUBS R12,R12,#1|
00009d20  0d 3c 14 16 20 20 20 20  20 20 20 20 42 50 4c 20  |.<..        BPL |
00009d30  68 69 74 63 61 72 0d 3c  1e 18 20 20 20 20 20 20  |hitcar.<..      |
00009d40  20 20 53 54 52 20 52 33  2c 5b 52 31 31 5d 0d 3c  |  STR R3,[R11].<|
00009d50  28 1b 20 20 20 20 20 20  20 20 53 54 52 20 52 34  |(.        STR R4|
00009d60  2c 5b 52 31 31 2c 23 34  5d 0d 3c 32 16 20 20 20  |,[R11,#4].<2.   |
00009d70  20 20 20 20 20 4d 4f 56  20 52 38 2c 23 36 32 0d  |     MOV R8,#62.|
00009d80  3c 3c 18 20 20 20 20 20  20 20 20 4d 55 4c 20 52  |<<.        MUL R|
00009d90  35 2c 52 38 2c 52 35 0d  3c 46 18 20 20 20 20 20  |5,R8,R5.<F.     |
00009da0  20 20 20 4d 55 4c 20 52  36 2c 52 38 2c 52 36 0d  |   MUL R6,R8,R6.|
00009db0  3c 50 1c 20 20 20 20 20  20 20 20 4d 4f 56 20 52  |<P.        MOV R|
00009dc0  35 2c 52 35 2c 41 53 52  20 23 36 0d 3c 5a 1c 20  |5,R5,ASR #6.<Z. |
00009dd0  20 20 20 20 20 20 20 4d  4f 56 20 52 36 2c 52 36  |       MOV R6,R6|
00009de0  2c 41 53 52 20 23 36 0d  3c 64 16 20 20 20 20 20  |,ASR #6.<d.     |
00009df0  20 20 20 43 4d 4e 20 52  35 2c 23 33 31 0d 3c 6e  |   CMN R5,#31.<n|
00009e00  14 20 20 20 20 20 20 20  20 ec 51 20 52 35 2c 23  |.        .Q R5,#|
00009e10  30 0d 3c 78 16 20 20 20  20 20 20 20 20 43 4d 4e  |0.<x.        CMN|
00009e20  20 52 36 2c 23 33 31 0d  3c 82 14 20 20 20 20 20  | R6,#31.<..     |
00009e30  20 20 20 ec 51 20 52 36  2c 23 30 0d 3c 8c 1d 20  |   .Q R6,#0.<.. |
00009e40  20 20 20 20 20 20 20 4c  44 52 20 52 31 34 2c 5b  |       LDR R14,[|
00009e50  52 31 31 2c 23 31 36 5d  0d 3c 96 1c 20 20 20 20  |R11,#16].<..    |
00009e60  20 20 20 20 4c 44 52 20  52 37 2c 5b 52 31 31 2c  |    LDR R7,[R11,|
00009e70  23 38 30 5d 0d 3c a0 1d  20 20 20 20 20 20 20 20  |#80].<..        |
00009e80  4c 44 52 20 52 31 32 2c  5b 52 31 31 2c 23 32 30  |LDR R12,[R11,#20|
00009e90  5d 0d 3c aa 19 20 20 20  20 20 20 20 20 43 4d 50  |].<..        CMP|
00009ea0  20 52 31 32 2c 23 31 30  32 34 0d 3c b4 1a 20 20  | R12,#1024.<..  |
00009eb0  20 20 20 20 20 20 4d 4f  56 4c 4f 20 52 31 32 2c  |      MOVLO R12,|
00009ec0  23 31 32 39 0d 3c be 1a  20 20 20 20 20 20 20 20  |#129.<..        |
00009ed0  4d 4f 56 48 49 20 52 31  32 2c 23 31 31 38 0d 3c  |MOVHI R12,#118.<|
00009ee0  c8 16 20 20 20 20 20 20  20 20 4d 4f 56 20 52 30  |..        MOV R0|
00009ef0  2c 52 31 32 0d 3c d2 1c  20 20 20 20 20 20 20 20  |,R12.<..        |
00009f00  4c 44 52 20 52 31 2c 5b  52 31 31 2c 23 32 34 5d  |LDR R1,[R11,#24]|
00009f10  0d 3c dc 15 20 20 20 20  20 20 20 20 43 4d 50 20  |.<..        CMP |
00009f20  52 31 2c 23 31 0d 3c e6  41 20 20 20 20 20 20 20  |R1,#1.<.A       |
00009f30  20 42 45 51 20 63 6f 6d  70 64 20 20 20 20 20 20  | BEQ compd      |
00009f40  20 20 20 20 20 20 20 20  20 20 20 20 3b 20 43 6f  |            ; Co|
00009f50  6d 70 75 74 65 72 20 63  6f 6e 74 72 6f 6c 6c 65  |mputer controlle|
00009f60  64 20 63 61 72 2e 0d 3c  f0 15 20 20 20 20 20 20  |d car..<..      |
00009f70  20 20 4d 4f 56 20 52 32  2c 52 31 0d 3c fa 11 20  |  MOV R2,R1.<.. |
00009f80  20 20 20 20 20 20 20 53  57 49 20 36 0d 3d 04 17  |       SWI 6.=..|
00009f90  20 20 20 20 20 20 20 20  43 4d 50 20 52 31 2c 23  |        CMP R1,#|
00009fa0  32 35 35 0d 3d 0e 1c 20  20 20 20 20 20 20 20 41  |255.=..        A|
00009fb0  44 44 45 51 20 52 31 34  2c 52 31 34 2c 52 37 0d  |DDEQ R14,R14,R7.|
00009fc0  3d 18 16 20 20 20 20 20  20 20 20 4d 4f 56 20 52  |=..        MOV R|
00009fd0  30 2c 52 31 32 0d 3d 22  1c 20 20 20 20 20 20 20  |0,R12.=".       |
00009fe0  20 4c 44 52 20 52 31 2c  5b 52 31 31 2c 23 32 38  | LDR R1,[R11,#28|
00009ff0  5d 0d 3d 2c 15 20 20 20  20 20 20 20 20 4d 4f 56  |].=,.        MOV|
0000a000  20 52 32 2c 52 31 0d 3d  36 11 20 20 20 20 20 20  | R2,R1.=6.      |
0000a010  20 20 53 57 49 20 36 0d  3d 40 17 20 20 20 20 20  |  SWI 6.=@.     |
0000a020  20 20 20 43 4d 50 20 52  31 2c 23 32 35 35 0d 3d  |   CMP R1,#255.=|
0000a030  4a 1c 20 20 20 20 20 20  20 20 53 55 42 45 51 20  |J.        SUBEQ |
0000a040  52 31 34 2c 52 31 34 2c  52 37 0d 3d 54 18 20 20  |R14,R14,R7.=T.  |
0000a050  20 20 20 20 20 20 43 4d  50 20 52 31 34 2c 23 32  |      CMP R14,#2|
0000a060  38 38 0d 3d 5e 1e 20 20  20 20 20 20 20 20 53 55  |88.=^.        SU|
0000a070  42 47 45 20 52 31 34 2c  52 31 34 2c 23 32 38 38  |BGE R14,R14,#288|
0000a080  0d 3d 68 16 20 20 20 20  20 20 20 20 43 4d 50 20  |.=h.        CMP |
0000a090  52 31 34 2c 23 30 0d 3d  72 1e 20 20 20 20 20 20  |R14,#0.=r.      |
0000a0a0  20 20 41 44 44 4c 54 20  52 31 34 2c 52 31 34 2c  |  ADDLT R14,R14,|
0000a0b0  23 32 38 38 0d 3d 7c 1d  20 20 20 20 20 20 20 20  |#288.=|.        |
0000a0c0  53 54 52 20 52 31 34 2c  5b 52 31 31 2c 23 31 36  |STR R14,[R11,#16|
0000a0d0  5d 0d 3d 86 1d 20 20 20  20 20 20 20 20 4d 4f 56  |].=..        MOV|
0000a0e0  20 52 31 34 2c 52 31 34  2c 41 53 52 23 33 0d 3d  | R14,R14,ASR#3.=|
0000a0f0  90 1c 20 20 20 20 20 20  20 20 4d 4f 56 20 52 38  |..        MOV R8|
0000a100  2c 52 31 34 2c 41 53 4c  23 32 0d 3d 9a 1c 20 20  |,R14,ASL#2.=..  |
0000a110  20 20 20 20 20 20 4c 44  52 20 52 37 2c 5b 52 31  |      LDR R7,[R1|
0000a120  31 2c 23 34 38 5d 0d 3d  a4 1b 20 20 20 20 20 20  |1,#48].=..      |
0000a130  20 20 4c 44 52 20 52 31  34 2c 5b 52 37 2c 52 38  |  LDR R14,[R7,R8|
0000a140  5d 0d 3d ae 17 20 20 20  20 20 20 20 20 53 54 52  |].=..        STR|
0000a150  20 52 31 34 2c 72 66 74  0d 3d b8 18 20 20 20 20  | R14,rft.=..    |
0000a160  20 20 20 20 4c 44 52 20  52 37 2c 74 61 62 6c 65  |    LDR R7,table|
0000a170  0d 3d c2 1e 20 20 20 20  20 20 20 20 41 44 44 20  |.=..        ADD |
0000a180  52 38 2c 52 37 2c 52 38  2c 41 53 4c 23 31 0d 3d  |R8,R7,R8,ASL#1.=|
0000a190  cc 1d 20 20 20 20 20 20  20 20 4c 44 4d 49 41 20  |..        LDMIA |
0000a1a0  52 38 2c 7b 52 39 2d 52  31 30 7d 0d 3d d6 16 20  |R8,{R9-R10}.=.. |
0000a1b0  20 20 20 20 20 20 20 4d  4f 56 20 52 30 2c 52 31  |       MOV R0,R1|
0000a1c0  32 0d 3d e0 1c 20 20 20  20 20 20 20 20 4c 44 52  |2.=..        LDR|
0000a1d0  20 52 31 2c 5b 52 31 31  2c 23 33 32 5d 0d 3d ea  | R1,[R11,#32].=.|
0000a1e0  15 20 20 20 20 20 20 20  20 4d 4f 56 20 52 32 2c  |.        MOV R2,|
0000a1f0  52 31 0d 3d f4 11 20 20  20 20 20 20 20 20 53 57  |R1.=..        SW|
0000a200  49 20 36 0d 3d fe 17 20  20 20 20 20 20 20 20 43  |I 6.=..        C|
0000a210  4d 50 20 52 31 2c 23 32  35 35 0d 3e 08 15 20 20  |MP R1,#255.>..  |
0000a220  20 20 20 20 20 20 42 4e  45 20 6e 6f 61 63 63 0d  |      BNE noacc.|
0000a230  3e 12 18 20 20 20 20 20  20 20 20 41 44 44 20 52  |>..        ADD R|
0000a240  35 2c 52 35 2c 52 39 0d  3e 1c 19 20 20 20 20 20  |5,R5,R9.>..     |
0000a250  20 20 20 41 44 44 20 52  36 2c 52 36 2c 52 31 30  |   ADD R6,R6,R10|
0000a260  0d 3e 26 1c 20 20 20 20  20 20 20 20 4c 44 52 20  |.>&.        LDR |
0000a270  52 31 2c 5b 52 31 31 2c  23 35 36 5d 0d 3e 30 19  |R1,[R11,#56].>0.|
0000a280  20 20 20 20 20 20 20 20  53 55 42 53 20 52 31 2c  |        SUBS R1,|
0000a290  52 31 2c 23 31 0d 3e 3a  1e 20 20 20 20 20 20 20  |R1,#1.>:.       |
0000a2a0  20 53 54 52 50 4c 20 52  31 2c 5b 52 31 31 2c 23  | STRPL R1,[R11,#|
0000a2b0  35 36 5d 0d 3e 44 1a 20  20 20 20 20 20 20 20 41  |56].>D.        A|
0000a2c0  44 44 50 4c 20 52 35 2c  52 35 2c 52 39 0d 3e 4e  |DDPL R5,R5,R9.>N|
0000a2d0  1b 20 20 20 20 20 20 20  20 41 44 44 50 4c 20 52  |.        ADDPL R|
0000a2e0  36 2c 52 36 2c 52 31 30  0d 3e 58 1c 2e 6e 6f 61  |6,R6,R10.>X..noa|
0000a2f0  63 63 20 20 53 54 52 20  52 32 2c 5b 52 31 31 2c  |cc  STR R2,[R11,|
0000a300  23 38 34 5d 0d 3e 62 16  20 20 20 20 20 20 20 20  |#84].>b.        |
0000a310  4d 4f 56 20 52 30 2c 52  31 32 0d 3e 6c 1c 20 20  |MOV R0,R12.>l.  |
0000a320  20 20 20 20 20 20 4c 44  52 20 52 31 2c 5b 52 31  |      LDR R1,[R1|
0000a330  31 2c 23 33 36 5d 0d 3e  76 15 20 20 20 20 20 20  |1,#36].>v.      |
0000a340  20 20 4d 4f 56 20 52 32  2c 52 31 0d 3e 80 11 20  |  MOV R2,R1.>.. |
0000a350  20 20 20 20 20 20 20 53  57 49 20 36 0d 3e 8a 17  |       SWI 6.>..|
0000a360  20 20 20 20 20 20 20 20  43 4d 50 20 52 31 2c 23  |        CMP R1,#|
0000a370  32 35 35 0d 3e 94 15 20  20 20 20 20 20 20 20 ec  |255.>..        .|
0000a380  51 20 52 31 2c 23 33 30  0d 3e 9e 1a 20 20 20 20  |Q R1,#30.>..    |
0000a390  20 20 20 20 4d 55 4c 45  51 20 52 35 2c 52 31 2c  |    MULEQ R5,R1,|
0000a3a0  52 35 0d 3e a8 1a 20 20  20 20 20 20 20 20 4d 55  |R5.>..        MU|
0000a3b0  4c 45 51 20 52 36 2c 52  31 2c 52 36 0d 3e b2 1a  |LEQ R6,R1,R6.>..|
0000a3c0  20 20 20 20 20 20 20 20  ec 51 20 52 35 2c 52 35  |        .Q R5,R5|
0000a3d0  2c 41 53 52 23 35 0d 3e  bc 1a 20 20 20 20 20 20  |,ASR#5.>..      |
0000a3e0  20 20 ec 51 20 52 36 2c  52 36 2c 41 53 52 23 35  |  .Q R6,R6,ASR#5|
0000a3f0  0d 3e c6 16 20 20 20 20  20 20 20 20 4d 4f 56 20  |.>..        MOV |
0000a400  52 30 2c 52 31 32 0d 3e  d0 1c 20 20 20 20 20 20  |R0,R12.>..      |
0000a410  20 20 4c 44 52 20 52 31  2c 5b 52 31 31 2c 23 34  |  LDR R1,[R11,#4|
0000a420  30 5d 0d 3e da 15 20 20  20 20 20 20 20 20 4d 4f  |0].>..        MO|
0000a430  56 20 52 32 2c 52 31 0d  3e e4 11 20 20 20 20 20  |V R2,R1.>..     |
0000a440  20 20 20 53 57 49 20 36  0d 3e ee 17 20 20 20 20  |   SWI 6.>..    |
0000a450  20 20 20 20 43 4d 50 20  52 31 2c 23 32 35 35 0d  |    CMP R1,#255.|
0000a460  3e f8 17 20 20 20 20 20  20 20 20 4d 4f 56 4e 45  |>..        MOVNE|
0000a470  20 52 31 2c 23 30 0d 3f  02 1e 20 20 20 20 20 20  | R1,#0.?..      |
0000a480  20 20 53 54 52 4e 45 20  52 31 2c 5b 52 31 31 2c  |  STRNE R1,[R11,|
0000a490  23 34 34 5d 0d 3f 0c 1e  20 20 20 20 20 20 20 20  |#44].?..        |
0000a4a0  4c 44 52 45 51 20 52 31  2c 5b 52 31 31 2c 23 34  |LDREQ R1,[R11,#4|
0000a4b0  34 5d 0d 3f 16 17 20 20  20 20 20 20 20 20 43 4d  |4].?..        CM|
0000a4c0  50 45 51 20 52 31 2c 23  30 0d 3f 20 15 20 20 20  |PEQ R1,#0.? .   |
0000a4d0  20 20 20 20 20 42 45 51  20 70 66 69 72 65 0d 3f  |     BEQ pfire.?|
0000a4e0  2a 1b 2e 62 66 69 72 65  20 20 53 54 52 20 52 35  |*..bfire  STR R5|
0000a4f0  2c 5b 52 31 31 2c 23 38  5d 0d 3f 34 1c 20 20 20  |,[R11,#8].?4.   |
0000a500  20 20 20 20 20 53 54 52  20 52 36 2c 5b 52 31 31  |     STR R6,[R11|
0000a510  2c 23 31 32 5d 0d 3f 3e  19 2e 70 6c 6f 74 20 20  |,#12].?>..plot  |
0000a520  20 4c 44 52 20 52 30 2c  73 70 70 6c 6f 74 0d 3f  | LDR R0,spplot.?|
0000a530  48 19 20 20 20 20 20 20  20 20 4c 44 52 20 52 31  |H.        LDR R1|
0000a540  2c 73 70 61 72 65 61 0d  3f 52 1c 20 20 20 20 20  |,sparea.?R.     |
0000a550  20 20 20 4c 44 52 20 52  32 2c 5b 52 31 31 2c 23  |   LDR R2,[R11,#|
0000a560  37 32 5d 0d 3f 5c 15 20  20 20 20 20 20 20 20 43  |72].?\.        C|
0000a570  4d 50 20 52 32 2c 23 31  0d 3f 66 15 20 20 20 20  |MP R2,#1.?f.    |
0000a580  20 20 20 20 42 4c 54 20  6e 6f 61 72 6d 0d 3f 70  |    BLT noarm.?p|
0000a590  18 20 20 20 20 20 20 20  20 53 55 42 20 52 32 2c  |.        SUB R2,|
0000a5a0  52 32 2c 23 31 0d 3f 7a  1c 20 20 20 20 20 20 20  |R2,#1.?z.       |
0000a5b0  20 53 54 52 20 52 32 2c  5b 52 31 31 2c 23 37 32  | STR R2,[R11,#72|
0000a5c0  5d 0d 3f 84 18 20 20 20  20 20 20 20 20 4c 44 52  |].?..        LDR|
0000a5d0  20 52 32 2c 6f 6c 64 65  6e 0d 3f 8e 1c 20 20 20  | R2,olden.?..   |
0000a5e0  20 20 20 20 20 53 54 52  20 52 32 2c 5b 52 31 31  |     STR R2,[R11|
0000a5f0  2c 23 32 30 5d 0d 3f 98  16 2e 6e 6f 61 72 6d 20  |,#20].?...noarm |
0000a600  20 4c 44 52 20 52 32 2c  72 66 74 0d 3f a2 1c 20  | LDR R2,rft.?.. |
0000a610  20 20 20 20 20 20 20 4d  4f 56 20 52 33 2c 52 33  |       MOV R3,R3|
0000a620  2c 41 53 52 23 73 68 0d  3f ac 1c 20 20 20 20 20  |,ASR#sh.?..     |
0000a630  20 20 20 4d 4f 56 20 52  34 2c 52 34 2c 41 53 52  |   MOV R4,R4,ASR|
0000a640  23 73 68 0d 3f b6 15 20  20 20 20 20 20 20 20 4d  |#sh.?..        M|
0000a650  4f 56 20 52 35 2c 23 38  0d 3f c0 15 20 20 20 20  |OV R5,#8.?..    |
0000a660  20 20 20 20 4d 4f 56 20  52 36 2c 52 33 0d 3f ca  |    MOV R6,R3.?.|
0000a670  15 20 20 20 20 20 20 20  20 4d 4f 56 20 52 37 2c  |.        MOV R7,|
0000a680  52 34 0d 3f d4 12 20 20  20 20 20 20 20 20 53 57  |R4.?..        SW|
0000a690  49 20 34 36 0d 3f de 1c  20 20 20 20 20 20 20 20  |I 46.?..        |
0000a6a0  4c 44 52 20 52 32 2c 5b  52 31 31 2c 23 39 36 5d  |LDR R2,[R11,#96]|
0000a6b0  0d 3f e8 15 20 20 20 20  20 20 20 20 43 4d 50 20  |.?..        CMP |
0000a6c0  52 32 2c 23 30 0d 3f f2  14 20 20 20 20 20 20 20  |R2,#0.?..       |
0000a6d0  20 42 4e 45 20 73 70 74  68 0d 3f fc 1c 2e 65 6e  | BNE spth.?...en|
0000a6e0  64 73 70 74 20 4c 44 52  20 52 32 2c 5b 52 31 31  |dspt LDR R2,[R11|
0000a6f0  2c 23 37 36 5d 0d 40 06  15 20 20 20 20 20 20 20  |,#76].@..       |
0000a700  20 43 4d 50 20 52 32 2c  23 30 0d 40 10 16 20 20  | CMP R2,#0.@..  |
0000a710  20 20 20 20 20 20 42 45  51 20 6e 6f 73 68 69 6c  |      BEQ noshil|
0000a720  0d 40 1a 18 20 20 20 20  20 20 20 20 53 55 42 20  |.@..        SUB |
0000a730  52 32 2c 52 32 2c 23 31  0d 40 24 1c 20 20 20 20  |R2,R2,#1.@$.    |
0000a740  20 20 20 20 53 54 52 20  52 32 2c 5b 52 31 31 2c  |    STR R2,[R11,|
0000a750  23 37 36 5d 0d 40 2e 19  20 20 20 20 20 20 20 20  |#76].@..        |
0000a760  53 55 42 20 52 33 2c 52  33 2c 23 31 32 0d 40 38  |SUB R3,R3,#12.@8|
0000a770  18 20 20 20 20 20 20 20  20 53 55 42 20 52 34 2c  |.        SUB R4,|
0000a780  52 34 2c 23 38 0d 40 42  19 20 20 20 20 20 20 20  |R4,#8.@B.       |
0000a790  20 4c 44 52 20 52 32 2c  73 68 69 65 6c 64 0d 40  | LDR R2,shield.@|
0000a7a0  4c 12 20 20 20 20 20 20  20 20 53 57 49 20 34 36  |L.        SWI 46|
0000a7b0  0d 40 56 1c 2e 6e 6f 73  68 69 6c 20 4c 44 52 20  |.@V..noshil LDR |
0000a7c0  52 32 2c 5b 52 31 31 2c  23 32 30 5d 0d 40 60 15  |R2,[R11,#20].@`.|
0000a7d0  20 20 20 20 20 20 20 20  43 4d 50 20 52 32 2c 23  |        CMP R2,#|
0000a7e0  30 0d 40 6a 16 20 20 20  20 20 20 20 20 42 50 4c  |0.@j.        BPL|
0000a7f0  20 62 6f 64 72 61 77 0d  40 74 12 20 20 20 20 20  | bodraw.@t.     |
0000a800  20 20 20 42 4c 20 72 6e  64 0d 40 7e 15 20 20 20  |   BL rnd.@~.   |
0000a810  20 20 20 20 20 4d 4f 56  20 52 38 2c 52 30 0d 40  |     MOV R8,R0.@|
0000a820  88 1c 2e 65 78 70 6c 61  6e 20 4c 44 52 20 52 35  |...explan LDR R5|
0000a830  2c 5b 52 31 31 2c 23 36  34 5d 0d 40 92 18 20 20  |,[R11,#64].@..  |
0000a840  20 20 20 20 20 20 41 44  44 20 52 35 2c 52 35 2c  |      ADD R5,R5,|
0000a850  23 34 0d 40 9c 16 20 20  20 20 20 20 20 20 43 4d  |#4.@..        CM|
0000a860  50 20 52 35 2c 23 36 34  0d 40 a6 14 20 20 20 20  |P R5,#64.@..    |
0000a870  20 20 20 20 ec 51 20 52  35 2c 23 30 0d 40 b0 1c  |    .Q R5,#0.@..|
0000a880  20 20 20 20 20 20 20 20  53 54 52 20 52 35 2c 5b  |        STR R5,[|
0000a890  52 31 31 2c 23 36 34 5d  0d 40 ba 18 20 20 20 20  |R11,#64].@..    |
0000a8a0  20 20 20 20 4c 44 52 20  52 32 2c 65 78 73 70 72  |    LDR R2,exspr|
0000a8b0  0d 40 c4 1a 20 20 20 20  20 20 20 20 4c 44 52 20  |.@..        LDR |
0000a8c0  52 32 2c 5b 52 32 2c 52  35 5d 0d 40 ce 19 20 20  |R2,[R2,R5].@..  |
0000a8d0  20 20 20 20 20 20 4c 44  52 20 52 30 2c 73 70 70  |      LDR R0,spp|
0000a8e0  6c 6f 74 0d 40 d8 19 20  20 20 20 20 20 20 20 4c  |lot.@..        L|
0000a8f0  44 52 20 52 31 2c 73 70  61 72 65 61 0d 40 e2 15  |DR R1,sparea.@..|
0000a900  20 20 20 20 20 20 20 20  4d 4f 56 20 52 35 2c 23  |        MOV R5,#|
0000a910  38 0d 40 ec 18 20 20 20  20 20 20 20 20 41 44 44  |8.@..        ADD|
0000a920  20 52 33 2c 52 33 2c 23  38 0d 40 f6 18 20 20 20  | R3,R3,#8.@..   |
0000a930  20 20 20 20 20 41 44 44  20 52 34 2c 52 34 2c 23  |     ADD R4,R4,#|
0000a940  38 0d 41 00 12 20 20 20  20 20 20 20 20 53 57 49  |8.A..        SWI|
0000a950  20 34 36 0d 41 0a 15 20  20 20 20 20 20 20 20 43  | 46.A..        C|
0000a960  4d 50 20 52 38 2c 23 34  0d 41 14 19 20 20 20 20  |MP R8,#4.A..    |
0000a970  20 20 20 20 4d 4f 56 4c  54 20 52 35 2c 23 31 31  |    MOVLT R5,#11|
0000a980  32 0d 41 1e 17 20 20 20  20 20 20 20 20 42 4c 4c  |2.A..        BLL|
0000a990  54 20 73 6f 75 6e 64 32  0d 41 28 1c 20 20 20 20  |T sound2.A(.    |
0000a9a0  20 20 20 20 4c 44 52 20  52 35 2c 5b 52 31 31 2c  |    LDR R5,[R11,|
0000a9b0  23 36 38 5d 0d 41 32 19  20 20 20 20 20 20 20 20  |#68].A2.        |
0000a9c0  53 55 42 53 20 52 35 2c  52 35 2c 23 31 0d 41 3c  |SUBS R5,R5,#1.A<|
0000a9d0  1c 20 20 20 20 20 20 20  20 53 54 52 20 52 35 2c  |.        STR R5,|
0000a9e0  5b 52 31 31 2c 23 36 38  5d 0d 41 46 16 20 20 20  |[R11,#68].AF.   |
0000a9f0  20 20 20 20 20 42 4d 49  20 65 6e 64 67 61 6d 0d  |     BMI endgam.|
0000aa00  41 50 19 20 20 20 20 20  20 20 20 4c 44 52 20 52  |AP.        LDR R|
0000aa10  30 2c 62 69 74 66 6c 67  0d 41 5a 19 20 20 20 20  |0,bitflg.AZ.    |
0000aa20  20 20 20 20 53 55 42 53  20 52 30 2c 52 30 2c 23  |    SUBS R0,R0,#|
0000aa30  31 0d 41 64 19 20 20 20  20 20 20 20 20 4c 44 52  |1.Ad.        LDR|
0000aa40  4d 49 20 52 39 2c 6c 65  66 74 0d 41 6e 19 20 20  |MI R9,left.An.  |
0000aa50  20 20 20 20 20 20 4d 4f  56 4d 49 20 52 30 2c 23  |      MOVMI R0,#|
0000aa60  31 30 30 0d 41 78 19 20  20 20 20 20 20 20 20 53  |100.Ax.        S|
0000aa70  54 52 20 52 30 2c 62 69  74 66 6c 67 0d 41 82 17  |TR R0,bitflg.A..|
0000aa80  20 20 20 20 20 20 20 20  42 4c 4d 49 20 63 72 62  |        BLMI crb|
0000aa90  69 74 73 0d 41 8c 1a 20  20 20 20 20 20 20 20 41  |its.A..        A|
0000aaa0  44 52 20 52 31 34 2c 62  6f 64 72 61 77 0d 41 96  |DR R14,bodraw.A.|
0000aab0  13 20 20 20 20 20 20 20  20 42 20 63 61 72 65 78  |.        B carex|
0000aac0  0d 41 a0 12 2e 62 69 74  66 6c 67 20 45 51 55 44  |.A...bitflg EQUD|
0000aad0  20 30 0d 41 aa 1a 2e 62  6f 64 72 61 77 20 4c 44  | 0.A...bodraw LD|
0000aae0  52 20 52 31 30 2c 62 6f  6e 73 63 72 0d 41 b4 16  |R R10,bonscr.A..|
0000aaf0  20 20 20 20 20 20 20 20  43 4d 50 20 52 31 30 2c  |        CMP R10,|
0000ab00  23 30 0d 41 be 16 20 20  20 20 20 20 20 20 42 45  |#0.A..        BE|
0000ab10  51 20 6e 6f 65 78 62 6f  0d 41 c8 19 20 20 20 20  |Q noexbo.A..    |
0000ab20  20 20 20 20 4c 44 52 20  52 31 30 2c 6d 61 78 62  |    LDR R10,maxb|
0000ab30  6f 0d 41 d2 19 20 20 20  20 20 20 20 20 4c 44 52  |o.A..        LDR|
0000ab40  20 52 39 2c 62 62 6c 6f  63 6b 0d 41 dc 17 20 20  | R9,bblock.A..  |
0000ab50  20 20 20 20 20 20 4c 44  52 20 52 38 2c 6c 65 66  |      LDR R8,lef|
0000ab60  74 0d 41 e6 17 2e 62 6f  6c 6f 6f 70 20 4c 44 52  |t.A...boloop LDR|
0000ab70  20 52 33 2c 5b 52 39 5d  0d 41 f0 18 20 20 20 20  | R3,[R9].A..    |
0000ab80  20 20 20 20 43 4d 50 20  52 33 2c 23 32 35 36 30  |    CMP R3,#2560|
0000ab90  0d 41 fa 15 20 20 20 20  20 20 20 20 42 45 51 20  |.A..        BEQ |
0000aba0  65 6e 64 62 6f 0d 42 04  12 20 20 20 20 20 20 20  |endbo.B..       |
0000abb0  20 42 4c 20 72 6e 64 0d  42 0e 16 20 20 20 20 20  | BL rnd.B..     |
0000abc0  20 20 20 43 4d 50 20 52  30 2c 23 36 34 0d 42 18  |   CMP R0,#64.B.|
0000abd0  16 20 20 20 20 20 20 20  20 42 47 54 20 6e 6f 76  |.        BGT nov|
0000abe0  61 6e 69 0d 42 22 12 20  20 20 20 20 20 20 20 42  |ani.B".        B|
0000abf0  4c 20 72 6e 64 0d 42 2c  15 20 20 20 20 20 20 20  |L rnd.B,.       |
0000ac00  20 43 4d 50 20 52 30 2c  23 30 0d 42 36 15 20 20  | CMP R0,#0.B6.  |
0000ac10  20 20 20 20 20 20 42 45  51 20 72 65 6d 62 6f 0d  |      BEQ rembo.|
0000ac20  42 40 1a 2e 6e 6f 76 61  6e 69 20 4c 44 52 20 52  |B@..novani LDR R|
0000ac30  34 2c 5b 52 39 2c 23 34  5d 0d 42 4a 1a 20 20 20  |4,[R9,#4].BJ.   |
0000ac40  20 20 20 20 20 4c 44 52  20 52 32 2c 5b 52 39 2c  |     LDR R2,[R9,|
0000ac50  23 38 5d 0d 42 54 15 20  20 20 20 20 20 20 20 43  |#8].BT.        C|
0000ac60  4d 50 20 52 38 2c 23 30  0d 42 5e 15 20 20 20 20  |MP R8,#0.B^.    |
0000ac70  20 20 20 20 42 45 51 20  62 6f 6e 70 6c 0d 42 68  |    BEQ bonpl.Bh|
0000ac80  19 2e 62 6f 6e 72 65 74  20 53 55 42 53 20 52 35  |..bonret SUBS R5|
0000ac90  2c 52 33 2c 52 36 0d 42  72 1a 20 20 20 20 20 20  |,R3,R6.Br.      |
0000aca0  20 20 52 53 42 4d 49 20  52 35 2c 52 35 2c 23 30  |  RSBMI R5,R5,#0|
0000acb0  0d 42 7c 16 20 20 20 20  20 20 20 20 43 4d 50 20  |.B|.        CMP |
0000acc0  52 35 2c 23 36 38 0d 42  86 15 20 20 20 20 20 20  |R5,#68.B..      |
0000acd0  20 20 42 4c 54 20 70 6f  73 62 6f 0d 42 90 19 2e  |  BLT posbo.B...|
0000ace0  65 6e 64 62 6f 20 20 41  44 44 20 52 39 2c 52 39  |endbo  ADD R9,R9|
0000acf0  2c 23 31 36 0d 42 9a 1b  20 20 20 20 20 20 20 20  |,#16.B..        |
0000ad00  53 55 42 53 20 52 31 30  2c 52 31 30 2c 23 31 0d  |SUBS R10,R10,#1.|
0000ad10  42 a4 16 20 20 20 20 20  20 20 20 42 50 4c 20 62  |B..        BPL b|
0000ad20  6f 6c 6f 6f 70 0d 42 ae  1c 2e 6e 6f 65 78 62 6f  |oloop.B...noexbo|
0000ad30  20 4c 44 52 20 52 36 2c  5b 52 31 31 2c 23 32 30  | LDR R6,[R11,#20|
0000ad40  5d 0d 42 b8 18 20 20 20  20 20 20 20 20 43 4d 50  |].B..        CMP|
0000ad50  20 52 36 2c 23 31 30 32  34 0d 42 c2 16 20 20 20  | R6,#1024.B..   |
0000ad60  20 20 20 20 20 42 48 49  20 6e 65 78 74 70 6c 0d  |     BHI nextpl.|
0000ad70  42 cc 17 20 20 20 20 20  20 20 20 4c 44 52 20 52  |B..        LDR R|
0000ad80  30 2c 6c 65 66 74 0d 42  d6 18 20 20 20 20 20 20  |0,left.B..      |
0000ad90  20 20 52 53 42 20 52 30  2c 52 30 2c 23 31 0d 42  |  RSB R0,R0,#1.B|
0000ada0  e0 17 20 20 20 20 20 20  20 20 4d 4f 56 20 52 37  |..        MOV R7|
0000adb0  2c 23 31 32 38 0d 42 ea  1e 20 20 20 20 20 20 20  |,#128.B..       |
0000adc0  20 41 44 44 20 52 37 2c  52 37 2c 52 30 2c 41 53  | ADD R7,R7,R0,AS|
0000add0  4c 23 39 0d 42 f4 16 20  20 20 20 20 20 20 20 53  |L#9.B..        S|
0000ade0  57 49 20 32 35 36 2b 32  34 0d 42 fe 18 20 20 20  |WI 256+24.B..   |
0000adf0  20 20 20 20 20 80 20 52  30 2c 52 37 2c 23 32 35  |     . R0,R7,#25|
0000ae00  35 0d 43 08 1b 20 20 20  20 20 20 20 20 53 57 49  |5.C..        SWI|
0000ae10  20 22 4f 53 5f 57 72 69  74 65 43 22 0d 43 12 1b  | "OS_WriteC".C..|
0000ae20  20 20 20 20 20 20 20 20  4d 4f 56 20 52 30 2c 52  |        MOV R0,R|
0000ae30  37 2c 4c 53 52 23 38 0d  43 1c 1b 20 20 20 20 20  |7,LSR#8.C..     |
0000ae40  20 20 20 53 57 49 20 22  4f 53 5f 57 72 69 74 65  |   SWI "OS_Write|
0000ae50  43 22 0d 43 26 21 20 20  20 20 20 20 20 20 53 57  |C".C&!        SW|
0000ae60  49 20 32 35 36 2b 32 32  38 3a 53 57 49 20 32 35  |I 256+228:SWI 25|
0000ae70  36 2b 33 0d 43 30 1e 20  20 20 20 20 20 20 20 41  |6+3.C0.        A|
0000ae80  44 44 20 52 38 2c 52 37  2c 52 36 2c 41 53 4c 23  |DD R8,R7,R6,ASL#|
0000ae90  31 0d 43 3a 18 20 20 20  20 20 20 20 20 80 20 52  |1.C:.        . R|
0000aea0  30 2c 52 38 2c 23 32 35  35 0d 43 44 1b 20 20 20  |0,R8,#255.CD.   |
0000aeb0  20 20 20 20 20 53 57 49  20 22 4f 53 5f 57 72 69  |     SWI "OS_Wri|
0000aec0  74 65 43 22 0d 43 4e 1b  20 20 20 20 20 20 20 20  |teC".CN.        |
0000aed0  4d 4f 56 20 52 30 2c 52  38 2c 4c 53 52 23 38 0d  |MOV R0,R8,LSR#8.|
0000aee0  43 58 1b 20 20 20 20 20  20 20 20 53 57 49 20 22  |CX.        SWI "|
0000aef0  4f 53 5f 57 72 69 74 65  43 22 0d 43 62 21 20 20  |OS_WriteC".Cb!  |
0000af00  20 20 20 20 20 20 53 57  49 20 32 35 36 2b 32 35  |      SWI 256+25|
0000af10  35 3a 53 57 49 20 32 35  36 2b 33 0d 43 6c 19 20  |5:SWI 256+3.Cl. |
0000af20  20 20 20 20 20 20 20 4c  44 52 20 52 30 2c 73 70  |       LDR R0,sp|
0000af30  70 6c 6f 74 0d 43 76 19  20 20 20 20 20 20 20 20  |plot.Cv.        |
0000af40  4c 44 52 20 52 31 2c 73  70 61 72 65 61 0d 43 80  |LDR R1,sparea.C.|
0000af50  19 20 20 20 20 20 20 20  20 4c 44 52 20 52 32 2c  |.        LDR R2,|
0000af60  65 6e 65 72 62 72 0d 43  8a 15 20 20 20 20 20 20  |enerbr.C..      |
0000af70  20 20 4d 4f 56 20 52 33  2c 52 37 0d 43 94 17 20  |  MOV R3,R7.C.. |
0000af80  20 20 20 20 20 20 20 4d  4f 56 20 52 34 2c 23 39  |       MOV R4,#9|
0000af90  39 36 0d 43 9e 15 20 20  20 20 20 20 20 20 4d 4f  |96.C..        MO|
0000afa0  56 20 52 35 2c 23 30 0d  43 a8 12 20 20 20 20 20  |V R5,#0.C..     |
0000afb0  20 20 20 53 57 49 20 34  36 0d 43 b2 16 20 20 20  |   SWI 46.C..   |
0000afc0  20 20 20 20 20 53 57 49  20 32 35 36 2b 32 36 0d  |     SWI 256+26.|
0000afd0  43 bc 17 2e 6e 65 78 74  70 6c 20 4c 44 52 20 52  |C...nextpl LDR R|
0000afe0  30 2c 6c 65 66 74 0d 43  c6 1c 20 20 20 20 20 20  |0,left.C..      |
0000aff0  20 20 41 44 44 20 52 31  31 2c 52 31 31 2c 23 31  |  ADD R11,R11,#1|
0000b000  32 38 0d 43 d0 19 20 20  20 20 20 20 20 20 53 55  |28.C..        SU|
0000b010  42 53 20 52 30 2c 52 30  2c 23 31 0d 43 da 14 20  |BS R0,R0,#1.C.. |
0000b020  20 20 20 20 20 20 20 42  50 4c 20 63 61 72 73 0d  |       BPL cars.|
0000b030  43 e4 14 20 20 20 20 20  20 20 20 42 20 62 75 6c  |C..        B bul|
0000b040  6c 65 74 0d 43 ee 17 2e  65 6e 65 72 62 72 20 45  |let.C...enerbr E|
0000b050  51 55 44 20 65 6e 62 61  72 25 0d 43 f8 18 2e 62  |QUD enbar%.C...b|
0000b060  75 6c 6c 65 74 20 4c 44  52 20 52 30 2c 6f 6e 73  |ullet LDR R0,ons|
0000b070  63 72 0d 44 02 15 20 20  20 20 20 20 20 20 43 4d  |cr.D..        CM|
0000b080  50 20 52 30 2c 23 30 0d  44 0c 16 20 20 20 20 20  |P R0,#0.D..     |
0000b090  20 20 20 42 45 51 20 65  73 63 61 70 65 0d 44 16  |   BEQ escape.D.|
0000b0a0  15 20 20 20 20 20 20 20  20 4c 44 52 20 52 31 31  |.        LDR R11|
0000b0b0  2c 61 0d 44 20 18 20 20  20 20 20 20 20 20 4c 44  |,a.D .        LD|
0000b0c0  52 20 52 30 2c 6d 61 78  62 75 0d 44 2a 17 2e 62  |R R0,maxbu.D*..b|
0000b0d0  6c 6f 6f 70 20 20 53 54  52 20 52 30 2c 6c 65 66  |loop  STR R0,lef|
0000b0e0  74 0d 44 34 18 20 20 20  20 20 20 20 20 4c 44 52  |t.D4.        LDR|
0000b0f0  20 52 31 2c 5b 52 31 31  5d 0d 44 3e 18 20 20 20  | R1,[R11].D>.   |
0000b100  20 20 20 20 20 43 4d 50  20 52 31 2c 23 32 35 36  |     CMP R1,#256|
0000b110  30 0d 44 48 16 20 20 20  20 20 20 20 20 42 4e 45  |0.DH.        BNE|
0000b120  20 61 63 74 75 61 6c 0d  44 52 1b 2e 6e 65 78 74  | actual.DR..next|
0000b130  62 20 20 41 44 44 20 52  31 31 2c 52 31 31 2c 23  |b  ADD R11,R11,#|
0000b140  34 30 0d 44 5c 19 20 20  20 20 20 20 20 20 53 55  |40.D\.        SU|
0000b150  42 53 20 52 30 2c 52 30  2c 23 31 0d 44 66 15 20  |BS R0,R0,#1.Df. |
0000b160  20 20 20 20 20 20 20 42  50 4c 20 62 6c 6f 6f 70  |       BPL bloop|
0000b170  0d 44 70 14 20 20 20 20  20 20 20 20 42 20 65 73  |.Dp.        B es|
0000b180  63 61 70 65 0d 44 7a 12  2e 6c 69 76 65 73 20 20  |cape.Dz..lives  |
0000b190  45 51 55 44 20 30 0d 44  84 17 2e 73 6c 6f 77 64  |EQUD 0.D...slowd|
0000b1a0  20 20 4d 4f 56 20 52 31  30 2c 23 31 34 0d 44 8e  |  MOV R10,#14.D.|
0000b1b0  20 20 20 20 20 20 20 20  20 4d 4f 56 20 52 39 2c  |         MOV R9,|
0000b1c0  52 35 3a 4d 4f 56 20 52  31 34 2c 52 36 0d 44 98  |R5:MOV R14,R6.D.|
0000b1d0  19 20 20 20 20 20 20 20  20 4d 55 4c 20 52 39 2c  |.        MUL R9,|
0000b1e0  52 31 30 2c 52 39 0d 44  a2 1b 20 20 20 20 20 20  |R10,R9.D..      |
0000b1f0  20 20 4d 55 4c 20 52 31  34 2c 52 31 30 2c 52 31  |  MUL R14,R10,R1|
0000b200  34 0d 44 ac 1b 20 20 20  20 20 20 20 20 4d 4f 56  |4.D..        MOV|
0000b210  20 52 39 2c 52 39 2c 41  53 52 23 34 0d 44 b6 1d  | R9,R9,ASR#4.D..|
0000b220  20 20 20 20 20 20 20 20  4d 4f 56 20 52 31 34 2c  |        MOV R14,|
0000b230  52 31 34 2c 41 53 52 23  34 0d 44 c0 1c 20 20 20  |R14,ASR#4.D..   |
0000b240  20 20 20 20 20 53 54 52  20 52 39 2c 5b 52 31 31  |     STR R9,[R11|
0000b250  2c 23 32 38 5d 0d 44 ca  1d 20 20 20 20 20 20 20  |,#28].D..       |
0000b260  20 53 54 52 20 52 31 34  2c 5b 52 31 31 2c 23 33  | STR R14,[R11,#3|
0000b270  32 5d 0d 44 d4 15 20 20  20 20 20 20 20 20 43 4d  |2].D..        CM|
0000b280  50 20 52 39 2c 23 30 0d  44 de 1a 20 20 20 20 20  |P R9,#0.D..     |
0000b290  20 20 20 52 53 42 4d 49  20 52 39 2c 52 39 2c 23  |   RSBMI R9,R9,#|
0000b2a0  30 0d 44 e8 16 20 20 20  20 20 20 20 20 43 4d 50  |0.D..        CMP|
0000b2b0  20 52 31 34 2c 23 30 0d  44 f2 1c 20 20 20 20 20  | R14,#0.D..     |
0000b2c0  20 20 20 52 53 42 4d 49  20 52 31 34 2c 52 31 34  |   RSBMI R14,R14|
0000b2d0  2c 23 30 0d 44 fc 1d 20  20 20 20 20 20 20 20 43  |,#0.D..        C|
0000b2e0  4d 50 20 52 39 2c 23 31  3c 3c 28 73 68 2d 33 29  |MP R9,#1<<(sh-3)|
0000b2f0  0d 45 06 20 20 20 20 20  20 20 20 20 43 4d 50 4c  |.E.         CMPL|
0000b300  54 20 52 31 34 2c 23 31  3c 3c 28 73 68 2d 33 29  |T R14,#1<<(sh-3)|
0000b310  0d 45 10 15 20 20 20 20  20 20 20 20 42 47 45 20  |.E..        BGE |
0000b320  6d 69 73 73 72 0d 45 1a  16 20 20 20 20 20 20 20  |missr.E..       |
0000b330  20 4d 4f 56 20 52 35 2c  23 31 30 0d 45 24 1c 20  | MOV R5,#10.E$. |
0000b340  20 20 20 20 20 20 20 4d  4f 56 20 52 33 2c 52 33  |       MOV R3,R3|
0000b350  2c 41 53 52 23 73 68 0d  45 2e 1c 20 20 20 20 20  |,ASR#sh.E..     |
0000b360  20 20 20 4d 4f 56 20 52  34 2c 52 34 2c 41 53 52  |   MOV R4,R4,ASR|
0000b370  23 73 68 0d 45 38 14 20  20 20 20 20 20 20 20 42  |#sh.E8.        B|
0000b380  4c 20 61 64 64 65 78 0d  45 42 14 20 20 20 20 20  |L addex.EB.     |
0000b390  20 20 20 42 20 6f 66 66  73 63 72 0d 45 4c 1d 2e  |   B offscr.EL..|
0000b3a0  61 63 74 75 61 6c 20 4c  44 4d 49 41 20 52 31 31  |actual LDMIA R11|
0000b3b0  2c 7b 52 33 2d 52 34 7d  0d 45 56 1c 20 20 20 20  |,{R3-R4}.EV.    |
0000b3c0  20 20 20 20 4c 44 52 20  52 35 2c 5b 52 31 31 2c  |    LDR R5,[R11,|
0000b3d0  23 32 38 5d 0d 45 60 1c  20 20 20 20 20 20 20 20  |#28].E`.        |
0000b3e0  4c 44 52 20 52 36 2c 5b  52 31 31 2c 23 33 32 5d  |LDR R6,[R11,#32]|
0000b3f0  0d 45 6a 1d 20 20 20 20  20 20 20 20 4c 44 52 20  |.Ej.        LDR |
0000b400  52 31 34 2c 5b 52 31 31  2c 23 33 36 5d 0d 45 74  |R14,[R11,#36].Et|
0000b410  16 20 20 20 20 20 20 20  20 43 4d 50 20 52 31 34  |.        CMP R14|
0000b420  2c 23 36 0d 45 7e 15 20  20 20 20 20 20 20 20 42  |,#6.E~.        B|
0000b430  45 51 20 61 63 63 65 6c  0d 45 88 16 20 20 20 20  |EQ accel.E..    |
0000b440  20 20 20 20 43 4d 50 20  52 31 34 2c 23 38 0d 45  |    CMP R14,#8.E|
0000b450  92 15 20 20 20 20 20 20  20 20 42 45 51 20 73 6c  |..        BEQ sl|
0000b460  6f 77 64 0d 45 9c 18 2e  6d 69 73 73 72 20 20 41  |owd.E...missr  A|
0000b470  44 44 20 52 33 2c 52 33  2c 52 35 0d 45 a6 18 20  |DD R3,R3,R5.E.. |
0000b480  20 20 20 20 20 20 20 43  4d 50 20 52 33 2c 23 36  |       CMP R3,#6|
0000b490  34 2a 6a 0d 45 b0 15 20  20 20 20 20 20 20 20 42  |4*j.E..        B|
0000b4a0  4c 54 20 6f 66 66 6c 65  0d 45 ba 1a 20 20 20 20  |LT offle.E..    |
0000b4b0  20 20 20 20 43 4d 50 20  52 33 2c 23 31 32 31 36  |    CMP R3,#1216|
0000b4c0  2a 6a 0d 45 c4 15 20 20  20 20 20 20 20 20 42 47  |*j.E..        BG|
0000b4d0  54 20 6f 66 66 6c 65 0d  45 ce 18 2e 62 72 69 20  |T offle.E...bri |
0000b4e0  20 20 20 41 44 44 20 52  34 2c 52 34 2c 52 36 0d  |   ADD R4,R4,R6.|
0000b4f0  45 d8 19 20 20 20 20 20  20 20 20 43 4d 50 20 52  |E..        CMP R|
0000b500  34 2c 23 32 30 30 2a 6a  0d 45 e2 15 20 20 20 20  |4,#200*j.E..    |
0000b510  20 20 20 20 42 4c 54 20  6f 66 66 62 6f 0d 45 ec  |    BLT offbo.E.|
0000b520  19 20 20 20 20 20 20 20  20 43 4d 50 20 52 34 2c  |.        CMP R4,|
0000b530  23 38 35 36 2a 6a 0d 45  f6 15 20 20 20 20 20 20  |#856*j.E..      |
0000b540  20 20 42 47 54 20 6f 66  66 62 6f 0d 46 00 1d 2e  |  BGT offbo.F...|
0000b550  62 74 6f 20 20 20 20 53  54 4d 49 41 20 52 31 31  |bto    STMIA R11|
0000b560  2c 7b 52 33 2d 52 34 7d  0d 46 0a 37 20 20 20 20  |,{R3-R4}.F.7    |
0000b570  20 20 20 20 4d 4f 56 20  52 31 30 2c 23 70 6c 20  |    MOV R10,#pl |
0000b580  20 20 20 20 20 20 20 20  20 20 3b 20 43 6f 6c 6c  |          ; Coll|
0000b590  69 73 69 6f 6e 20 64 65  74 65 63 74 69 6f 6e 0d  |ision detection.|
0000b5a0  46 14 18 20 20 20 20 20  20 20 20 4c 44 52 20 52  |F..        LDR R|
0000b5b0  39 2c 62 6c 6f 63 6b 0d  46 1e 17 2e 63 6c 6f 6f  |9,block.F...cloo|
0000b5c0  70 20 20 4c 44 52 20 52  35 2c 5b 52 39 5d 0d 46  |p  LDR R5,[R9].F|
0000b5d0  28 1b 20 20 20 20 20 20  20 20 41 44 44 20 52 35  |(.        ADD R5|
0000b5e0  2c 52 35 2c 23 34 38 2a  6a 0d 46 32 19 20 20 20  |,R5,#48*j.F2.   |
0000b5f0  20 20 20 20 20 53 55 42  53 20 52 35 2c 52 35 2c  |     SUBS R5,R5,|
0000b600  52 33 0d 46 3c 1a 20 20  20 20 20 20 20 20 52 53  |R3.F<.        RS|
0000b610  42 4d 49 20 52 35 2c 52  35 2c 23 30 0d 46 46 18  |BMI R5,R5,#0.FF.|
0000b620  20 20 20 20 20 20 20 20  43 4d 50 20 52 35 2c 23  |        CMP R5,#|
0000b630  34 38 2a 6a 0d 46 50 13  20 20 20 20 20 20 20 20  |48*j.FP.        |
0000b640  42 4c 54 20 68 69 74 0d  46 5a 1a 2e 6d 69 73 73  |BLT hit.FZ..miss|
0000b650  20 20 20 41 44 44 20 52  39 2c 52 39 2c 23 31 32  |   ADD R9,R9,#12|
0000b660  38 0d 46 64 1b 20 20 20  20 20 20 20 20 53 55 42  |8.Fd.        SUB|
0000b670  53 20 52 31 30 2c 52 31  30 2c 23 31 0d 46 6e 15  |S R10,R10,#1.Fn.|
0000b680  20 20 20 20 20 20 20 20  42 50 4c 20 63 6c 6f 6f  |        BPL cloo|
0000b690  70 0d 46 78 41 20 20 20  20 20 20 20 20 4c 44 52  |p.FxA        LDR|
0000b6a0  20 52 31 30 2c 62 61 72  72 20 20 20 20 20 20 20  | R10,barr       |
0000b6b0  20 20 20 20 3b 20 43 6f  6c 6c 69 73 69 6f 6e 20  |    ; Collision |
0000b6c0  64 65 74 65 63 74 69 6f  6e 3b 20 4f 62 6a 65 63  |detection; Objec|
0000b6d0  74 73 0d 46 82 19 20 20  20 20 20 20 20 20 4c 44  |ts.F..        LD|
0000b6e0  52 20 52 39 2c 62 61 72  74 61 62 0d 46 8c 17 2e  |R R9,bartab.F...|
0000b6f0  62 75 6c 62 61 72 20 4c  44 52 20 52 35 2c 5b 52  |bulbar LDR R5,[R|
0000b700  39 5d 0d 46 96 1b 20 20  20 20 20 20 20 20 53 55  |9].F..        SU|
0000b710  42 20 52 35 2c 52 35 2c  23 34 34 2a 6a 0d 46 a0  |B R5,R5,#44*j.F.|
0000b720  19 20 20 20 20 20 20 20  20 53 55 42 53 20 52 35  |.        SUBS R5|
0000b730  2c 52 35 2c 52 33 0d 46  aa 1a 20 20 20 20 20 20  |,R5,R3.F..      |
0000b740  20 20 52 53 42 4d 49 20  52 35 2c 52 35 2c 23 30  |  RSBMI R5,R5,#0|
0000b750  0d 46 b4 18 20 20 20 20  20 20 20 20 43 4d 50 20  |.F..        CMP |
0000b760  52 35 2c 23 33 36 2a 6a  0d 46 be 16 20 20 20 20  |R5,#36*j.F..    |
0000b770  20 20 20 20 42 4c 54 20  68 69 74 62 61 72 0d 46  |    BLT hitbar.F|
0000b780  c8 19 2e 6d 69 73 62 61  72 20 41 44 44 20 52 39  |...misbar ADD R9|
0000b790  2c 52 39 2c 23 31 32 0d  46 d2 1b 20 20 20 20 20  |,R9,#12.F..     |
0000b7a0  20 20 20 53 55 42 53 20  52 31 30 2c 52 31 30 2c  |   SUBS R10,R10,|
0000b7b0  23 31 0d 46 dc 16 20 20  20 20 20 20 20 20 42 50  |#1.F..        BP|
0000b7c0  4c 20 62 75 6c 62 61 72  0d 46 e6 19 20 20 20 20  |L bulbar.F..    |
0000b7d0  20 20 20 20 4c 44 52 20  52 30 2c 73 70 70 6c 6f  |    LDR R0,spplo|
0000b7e0  74 0d 46 f0 19 20 20 20  20 20 20 20 20 4c 44 52  |t.F..        LDR|
0000b7f0  20 52 31 2c 73 70 61 72  65 61 0d 46 fa 1b 20 20  | R1,sparea.F..  |
0000b800  20 20 20 20 20 20 4c 44  52 20 52 32 2c 5b 52 31  |      LDR R2,[R1|
0000b810  31 2c 23 38 5d 0d 47 04  1c 20 20 20 20 20 20 20  |1,#8].G..       |
0000b820  20 4d 4f 56 20 52 33 2c  52 33 2c 41 53 52 23 73  | MOV R3,R3,ASR#s|
0000b830  68 0d 47 0e 1c 20 20 20  20 20 20 20 20 4d 4f 56  |h.G..        MOV|
0000b840  20 52 34 2c 52 34 2c 41  53 52 23 73 68 0d 47 18  | R4,R4,ASR#sh.G.|
0000b850  15 20 20 20 20 20 20 20  20 4d 4f 56 20 52 35 2c  |.        MOV R5,|
0000b860  23 30 0d 47 22 12 20 20  20 20 20 20 20 20 53 57  |#0.G".        SW|
0000b870  49 20 34 36 0d 47 2c 17  20 20 20 20 20 20 20 20  |I 46.G,.        |
0000b880  4c 44 52 20 52 30 2c 6c  65 66 74 0d 47 36 13 20  |LDR R0,left.G6. |
0000b890  20 20 20 20 20 20 20 42  20 6e 65 78 74 62 0d 47  |       B nextb.G|
0000b8a0  40 18 2e 6f 66 66 73 63  72 20 4d 4f 56 20 52 30  |@..offscr MOV R0|
0000b8b0  2c 23 32 35 36 30 0d 47  4a 18 20 20 20 20 20 20  |,#2560.GJ.      |
0000b8c0  20 20 53 54 52 20 52 30  2c 5b 52 31 31 5d 0d 47  |  STR R0,[R11].G|
0000b8d0  54 18 20 20 20 20 20 20  20 20 4c 44 52 20 52 31  |T.        LDR R1|
0000b8e0  2c 6f 6e 73 63 72 0d 47  5e 18 20 20 20 20 20 20  |,onscr.G^.      |
0000b8f0  20 20 53 55 42 20 52 31  2c 52 31 2c 23 31 0d 47  |  SUB R1,R1,#1.G|
0000b900  68 18 20 20 20 20 20 20  20 20 53 54 52 20 52 31  |h.        STR R1|
0000b910  2c 6f 6e 73 63 72 0d 47  72 17 20 20 20 20 20 20  |,onscr.Gr.      |
0000b920  20 20 4c 44 52 20 52 30  2c 6c 65 66 74 0d 47 7c  |  LDR R0,left.G||
0000b930  13 20 20 20 20 20 20 20  20 42 20 6e 65 78 74 62  |.        B nextb|
0000b940  0d 47 86 1a 2e 68 69 74  20 20 20 20 4c 44 52 20  |.G...hit    LDR |
0000b950  52 35 2c 5b 52 39 2c 23  34 5d 0d 47 90 1b 20 20  |R5,[R9,#4].G..  |
0000b960  20 20 20 20 20 20 41 44  44 20 52 35 2c 52 35 2c  |      ADD R5,R5,|
0000b970  23 33 32 2a 6a 0d 47 9a  19 20 20 20 20 20 20 20  |#32*j.G..       |
0000b980  20 53 55 42 53 20 52 35  2c 52 35 2c 52 34 0d 47  | SUBS R5,R5,R4.G|
0000b990  a4 1a 20 20 20 20 20 20  20 20 52 53 42 4d 49 20  |..        RSBMI |
0000b9a0  52 35 2c 52 35 2c 23 30  0d 47 ae 18 20 20 20 20  |R5,R5,#0.G..    |
0000b9b0  20 20 20 20 43 4d 50 20  52 35 2c 23 33 38 2a 6a  |    CMP R5,#38*j|
0000b9c0  0d 47 b8 14 20 20 20 20  20 20 20 20 42 47 54 20  |.G..        BGT |
0000b9d0  6d 69 73 73 0d 47 c2 16  20 20 20 20 20 20 20 20  |miss.G..        |
0000b9e0  4d 4f 56 20 52 37 2c 23  39 36 0d 47 cc 14 20 20  |MOV R7,#96.G..  |
0000b9f0  20 20 20 20 20 20 42 4c  20 73 6f 75 6e 64 0d 47  |      BL sound.G|
0000ba00  d6 1a 20 20 20 20 20 20  20 20 4c 44 52 20 52 37  |..        LDR R7|
0000ba10  2c 5b 52 39 2c 23 38 5d  0d 47 e0 1b 20 20 20 20  |,[R9,#8].G..    |
0000ba20  20 20 20 20 4c 44 52 20  52 38 2c 5b 52 39 2c 23  |    LDR R8,[R9,#|
0000ba30  31 32 5d 0d 47 ea 1c 20  20 20 20 20 20 20 20 4c  |12].G..        L|
0000ba40  44 52 20 52 35 2c 5b 52  31 31 2c 23 32 38 5d 0d  |DR R5,[R11,#28].|
0000ba50  47 f4 1c 20 20 20 20 20  20 20 20 4c 44 52 20 52  |G..        LDR R|
0000ba60  36 2c 5b 52 31 31 2c 23  33 32 5d 0d 47 fe 1e 20  |6,[R11,#32].G.. |
0000ba70  20 20 20 20 20 20 20 41  44 44 20 52 37 2c 52 37  |       ADD R7,R7|
0000ba80  2c 52 35 2c 41 53 52 23  32 0d 48 08 1e 20 20 20  |,R5,ASR#2.H..   |
0000ba90  20 20 20 20 20 41 44 44  20 52 38 2c 52 38 2c 52  |     ADD R8,R8,R|
0000baa0  36 2c 41 53 52 23 32 0d  48 12 1a 20 20 20 20 20  |6,ASR#2.H..     |
0000bab0  20 20 20 53 54 52 20 52  37 2c 5b 52 39 2c 23 38  |   STR R7,[R9,#8|
0000bac0  5d 0d 48 1c 1b 20 20 20  20 20 20 20 20 53 54 52  |].H..        STR|
0000bad0  20 52 38 2c 5b 52 39 2c  23 31 32 5d 0d 48 26 1b  | R8,[R9,#12].H&.|
0000bae0  20 20 20 20 20 20 20 20  4c 44 52 20 52 37 2c 5b  |        LDR R7,[|
0000baf0  52 39 2c 23 32 30 5d 0d  48 30 1c 20 20 20 20 20  |R9,#20].H0.     |
0000bb00  20 20 20 4c 44 52 20 52  38 2c 5b 52 31 31 2c 23  |   LDR R8,[R11,#|
0000bb10  33 36 5d 0d 48 3a 1b 20  20 20 20 20 20 20 20 4c  |36].H:.        L|
0000bb20  44 52 20 52 35 2c 5b 52  39 2c 23 37 36 5d 0d 48  |DR R5,[R9,#76].H|
0000bb30  44 15 20 20 20 20 20 20  20 20 43 4d 50 20 52 35  |D.        CMP R5|
0000bb40  2c 23 30 0d 48 4e 15 20  20 20 20 20 20 20 20 42  |,#0.HN.        B|
0000bb50  4c 45 20 64 6f 6e 74 62  0d 48 58 1c 20 20 20 20  |LE dontb.HX.    |
0000bb60  20 20 20 20 4c 44 52 20  52 35 2c 5b 52 31 31 2c  |    LDR R5,[R11,|
0000bb70  23 32 38 5d 0d 48 62 18  20 20 20 20 20 20 20 20  |#28].Hb.        |
0000bb80  52 53 42 20 52 35 2c 52  35 2c 23 30 0d 48 6c 1c  |RSB R5,R5,#0.Hl.|
0000bb90  20 20 20 20 20 20 20 20  53 54 52 20 52 35 2c 5b  |        STR R5,[|
0000bba0  52 31 31 2c 23 32 38 5d  0d 48 76 1c 20 20 20 20  |R11,#28].Hv.    |
0000bbb0  20 20 20 20 4c 44 52 20  52 35 2c 5b 52 31 31 2c  |    LDR R5,[R11,|
0000bbc0  23 33 32 5d 0d 48 80 18  20 20 20 20 20 20 20 20  |#32].H..        |
0000bbd0  52 53 42 20 52 35 2c 52  35 2c 23 30 0d 48 8a 1c  |RSB R5,R5,#0.H..|
0000bbe0  20 20 20 20 20 20 20 20  53 54 52 20 52 35 2c 5b  |        STR R5,[|
0000bbf0  52 31 31 2c 23 33 32 5d  0d 48 94 12 20 20 20 20  |R11,#32].H..    |
0000bc00  20 20 20 20 42 20 6d 69  73 73 0d 48 9e 18 2e 67  |    B miss.H...g|
0000bc10  72 61 62 73 63 20 4c 44  52 20 52 30 2c 73 63 6f  |rabsc LDR R0,sco|
0000bc20  72 65 0d 48 a8 16 20 20  20 20 20 20 20 20 4d 4f  |re.H..        MO|
0000bc30  56 20 50 43 2c 52 31 34  0d 48 b2 18 2e 67 72 61  |V PC,R14.H...gra|
0000bc40  62 6c 69 20 4c 44 52 20  52 30 2c 6c 69 76 65 73  |bli LDR R0,lives|
0000bc50  0d 48 bc 16 20 20 20 20  20 20 20 20 4d 4f 56 20  |.H..        MOV |
0000bc60  50 43 2c 52 31 34 0d 48  c6 12 2e 73 63 6f 72 65  |PC,R14.H...score|
0000bc70  20 20 45 51 55 44 20 30  0d 48 d0 19 2e 64 6f 6e  |  EQUD 0.H...don|
0000bc80  74 62 20 20 4c 44 52 20  52 35 2c 64 61 6d 61 67  |tb  LDR R5,damag|
0000bc90  65 0d 48 da 20 20 20 20  20 20 20 20 20 4c 44 52  |e.H.         LDR|
0000bca0  20 52 35 2c 5b 52 35 2c  52 38 2c 41 53 4c 23 33  | R5,[R5,R8,ASL#3|
0000bcb0  5d 0d 48 e4 18 20 20 20  20 20 20 20 20 53 55 42  |].H..        SUB|
0000bcc0  20 52 37 2c 52 37 2c 52  35 0d 48 ee 1b 20 20 20  | R7,R7,R5.H..   |
0000bcd0  20 20 20 20 20 53 54 52  20 52 37 2c 5b 52 39 2c  |     STR R7,[R9,|
0000bce0  23 32 30 5d 0d 48 f8 18  20 20 20 20 20 20 20 20  |#20].H..        |
0000bcf0  4c 44 52 20 52 37 2c 62  6c 6f 63 6b 0d 49 02 15  |LDR R7,block.I..|
0000bd00  20 20 20 20 20 20 20 20  43 4d 50 20 52 37 2c 52  |        CMP R7,R|
0000bd10  39 0d 49 0c 14 20 20 20  20 20 20 20 20 42 45 51  |9.I..        BEQ|
0000bd20  20 6e 6f 65 73 0d 49 16  18 20 20 20 20 20 20 20  | noes.I..       |
0000bd30  20 4c 44 52 20 52 37 2c  73 63 6f 72 65 0d 49 20  | LDR R7,score.I |
0000bd40  18 20 20 20 20 20 20 20  20 41 44 44 20 52 37 2c  |.        ADD R7,|
0000bd50  52 35 2c 52 37 0d 49 2a  18 20 20 20 20 20 20 20  |R5,R7.I*.       |
0000bd60  20 53 54 52 20 52 37 2c  73 63 6f 72 65 0d 49 34  | STR R7,score.I4|
0000bd70  1c 2e 6e 6f 65 73 20 20  20 4d 4f 56 20 52 33 2c  |..noes   MOV R3,|
0000bd80  52 33 2c 41 53 52 23 73  68 0d 49 3e 1c 20 20 20  |R3,ASR#sh.I>.   |
0000bd90  20 20 20 20 20 4d 4f 56  20 52 34 2c 52 34 2c 41  |     MOV R4,R4,A|
0000bda0  53 52 23 73 68 0d 49 48  15 20 20 20 20 20 20 20  |SR#sh.IH.       |
0000bdb0  20 43 4d 50 20 52 38 2c  23 36 0d 49 52 17 20 20  | CMP R8,#6.IR.  |
0000bdc0  20 20 20 20 20 20 43 4d  50 4e 45 20 52 38 2c 23  |      CMPNE R8,#|
0000bdd0  38 0d 49 5c 15 20 20 20  20 20 20 20 20 ec 51 20  |8.I\.        .Q |
0000bde0  52 35 2c 23 31 30 0d 49  66 16 20 20 20 20 20 20  |R5,#10.If.      |
0000bdf0  20 20 42 4c 45 51 20 61  64 64 65 78 0d 49 70 15  |  BLEQ addex.Ip.|
0000be00  20 20 20 20 20 20 20 20  43 4d 50 20 52 38 2c 23  |        CMP R8,#|
0000be10  31 0d 49 7a 16 20 20 20  20 20 20 20 20 42 4e 45  |1.Iz.        BNE|
0000be20  20 6f 66 66 73 63 72 0d  49 84 1b 20 20 20 20 20  | offscr.I..     |
0000be30  20 20 20 4c 44 52 20 52  37 2c 5b 52 39 2c 23 31  |   LDR R7,[R9,#1|
0000be40  36 5d 0d 49 8e 19 20 20  20 20 20 20 20 20 41 44  |6].I..        AD|
0000be50  44 20 52 37 2c 52 37 2c  23 31 36 0d 49 98 17 20  |D R7,R7,#16.I.. |
0000be60  20 20 20 20 20 20 20 43  4d 50 20 52 37 2c 23 32  |       CMP R7,#2|
0000be70  38 38 0d 49 a2 1c 20 20  20 20 20 20 20 20 53 55  |88.I..        SU|
0000be80  42 47 45 20 52 37 2c 52  37 2c 23 32 38 38 0d 49  |BGE R7,R7,#288.I|
0000be90  ac 1b 20 20 20 20 20 20  20 20 53 54 52 20 52 37  |..        STR R7|
0000bea0  2c 5b 52 39 2c 23 31 36  5d 0d 49 b6 14 20 20 20  |,[R9,#16].I..   |
0000beb0  20 20 20 20 20 42 20 6f  66 66 73 63 72 0d 49 c0  |     B offscr.I.|
0000bec0  15 2e 70 66 69 72 65 20  20 4d 4f 56 20 52 38 2c  |..pfire  MOV R8,|
0000bed0  23 30 0d 49 ca 1d 20 20  20 20 20 20 20 20 4c 44  |#0.I..        LD|
0000bee0  52 20 52 37 2c 5b 52 31  31 2c 23 31 30 30 5d 0d  |R R7,[R11,#100].|
0000bef0  49 d4 15 20 20 20 20 20  20 20 20 43 4d 50 20 52  |I..        CMP R|
0000bf00  37 2c 23 30 0d 49 de 18  20 20 20 20 20 20 20 20  |7,#0.I..        |
0000bf10  4d 4f 56 47 54 20 52 38  2c 23 31 30 0d 49 e8 1c  |MOVGT R8,#10.I..|
0000bf20  20 20 20 20 20 20 20 20  4c 44 52 20 52 37 2c 5b  |        LDR R7,[|
0000bf30  52 31 31 2c 23 39 32 5d  0d 49 f2 15 20 20 20 20  |R11,#92].I..    |
0000bf40  20 20 20 20 43 4d 50 20  52 37 2c 23 30 0d 49 fc  |    CMP R7,#0.I.|
0000bf50  17 20 20 20 20 20 20 20  20 4d 4f 56 47 54 20 52  |.        MOVGT R|
0000bf60  38 2c 23 33 0d 4a 06 18  20 20 20 20 20 20 20 20  |8,#3.J..        |
0000bf70  53 54 52 20 52 38 2c 73  62 75 74 70 0d 4a 10 15  |STR R8,sbutp.J..|
0000bf80  20 20 20 20 20 20 20 20  4d 4f 56 20 52 37 2c 23  |        MOV R7,#|
0000bf90  31 0d 4a 1a 1c 20 20 20  20 20 20 20 20 53 54 52  |1.J..        STR|
0000bfa0  20 52 37 2c 5b 52 31 31  2c 23 34 34 5d 0d 4a 24  | R7,[R11,#44].J$|
0000bfb0  18 2e 70 72 65 70 74 66  20 4c 44 52 20 52 37 2c  |..preptf LDR R7,|
0000bfc0  6f 6e 73 63 72 0d 4a 2e  18 20 20 20 20 20 20 20  |onscr.J..       |
0000bfd0  20 4c 44 52 20 52 38 2c  6d 61 78 62 75 0d 4a 38  | LDR R8,maxbu.J8|
0000bfe0  15 20 20 20 20 20 20 20  20 43 4d 50 20 52 37 2c  |.        CMP R7,|
0000bff0  52 38 0d 4a 42 15 20 20  20 20 20 20 20 20 42 45  |R8.JB.        BE|
0000c000  51 20 62 66 69 72 65 0d  4a 4c 18 20 20 20 20 20  |Q bfire.JL.     |
0000c010  20 20 20 41 44 44 20 52  37 2c 52 37 2c 23 31 0d  |   ADD R7,R7,#1.|
0000c020  4a 56 18 20 20 20 20 20  20 20 20 53 54 52 20 52  |JV.        STR R|
0000c030  37 2c 6f 6e 73 63 72 0d  4a 60 15 20 20 20 20 20  |7,onscr.J`.     |
0000c040  20 20 20 4c 44 52 20 52  31 30 2c 61 0d 4a 6a 18  |   LDR R10,a.Jj.|
0000c050  2e 66 69 6e 64 73 20 20  4c 44 52 20 52 38 2c 5b  |.finds  LDR R8,[|
0000c060  52 31 30 5d 0d 4a 74 18  20 20 20 20 20 20 20 20  |R10].Jt.        |
0000c070  43 4d 50 20 52 38 2c 23  32 35 36 30 0d 4a 7e 16  |CMP R8,#2560.J~.|
0000c080  20 20 20 20 20 20 20 20  42 45 51 20 66 6f 75 6e  |        BEQ foun|
0000c090  64 73 0d 4a 88 1b 20 20  20 20 20 20 20 20 41 44  |ds.J..        AD|
0000c0a0  44 20 52 31 30 2c 52 31  30 2c 23 34 30 0d 4a 92  |D R10,R10,#40.J.|
0000c0b0  13 20 20 20 20 20 20 20  20 42 20 66 69 6e 64 73  |.        B finds|
0000c0c0  0d 4a 9c 12 2e 6d 61 78  62 6f 20 20 45 51 55 44  |.J...maxbo  EQUD|
0000c0d0  20 32 0d 4a a6 12 2e 62  6f 6e 73 63 72 20 45 51  | 2.J...bonscr EQ|
0000c0e0  55 44 20 30 0d 4a b0 12  2e 73 62 75 74 70 20 20  |UD 0.J...sbutp  |
0000c0f0  45 51 55 44 20 30 0d 4a  ba 1c 2e 66 6f 75 6e 64  |EQUD 0.J...found|
0000c100  73 20 4c 44 52 20 52 37  2c 5b 52 31 31 2c 23 36  |s LDR R7,[R11,#6|
0000c110  30 5d 0d 4a c4 19 20 20  20 20 20 20 20 20 53 55  |0].J..        SU|
0000c120  42 53 20 52 37 2c 52 37  2c 23 31 0d 4a ce 1e 20  |BS R7,R7,#1.J.. |
0000c130  20 20 20 20 20 20 20 53  54 52 50 4c 20 52 37 2c  |       STRPL R7,|
0000c140  5b 52 31 31 2c 23 36 30  5d 0d 4a d8 17 20 20 20  |[R11,#60].J..   |
0000c150  20 20 20 20 20 4d 4f 56  50 4c 20 52 37 2c 23 30  |     MOVPL R7,#0|
0000c160  0d 4a e2 1e 20 20 20 20  20 20 20 20 53 54 52 50  |.J..        STRP|
0000c170  4c 20 52 37 2c 5b 52 31  31 2c 23 34 34 5d 0d 4a  |L R7,[R11,#44].J|
0000c180  ec 1b 20 20 20 20 20 20  20 20 41 44 44 20 52 38  |..        ADD R8|
0000c190  2c 52 33 2c 23 33 34 2a  6a 0d 4a f6 1b 20 20 20  |,R3,#34*j.J..   |
0000c1a0  20 20 20 20 20 41 44 44  20 52 39 2c 52 34 2c 23  |     ADD R9,R4,#|
0000c1b0  33 34 2a 6a 0d 4b 00 18  20 20 20 20 20 20 20 20  |34*j.K..        |
0000c1c0  53 54 52 20 52 38 2c 5b  52 31 30 5d 0d 4b 0a 1b  |STR R8,[R10].K..|
0000c1d0  20 20 20 20 20 20 20 20  53 54 52 20 52 39 2c 5b  |        STR R9,[|
0000c1e0  52 31 30 2c 23 34 5d 0d  4b 14 1c 20 20 20 20 20  |R10,#4].K..     |
0000c1f0  20 20 20 4c 44 52 20 52  38 2c 5b 52 31 31 2c 23  |   LDR R8,[R11,#|
0000c200  38 38 5d 0d 4b 1e 15 20  20 20 20 20 20 20 20 43  |88].K..        C|
0000c210  4d 50 20 52 38 2c 23 30  0d 4b 28 15 20 20 20 20  |MP R8,#0.K(.    |
0000c220  20 20 20 20 42 45 51 20  61 6d 6d 6f 6c 0d 4b 32  |    BEQ ammol.K2|
0000c230  1c 20 20 20 20 20 20 20  20 4c 44 52 20 52 37 2c  |.        LDR R7,|
0000c240  5b 52 31 31 2c 23 35 32  5d 0d 4b 3c 19 20 20 20  |[R11,#52].K<.   |
0000c250  20 20 20 20 20 53 55 42  53 20 52 37 2c 52 37 2c  |     SUBS R7,R7,|
0000c260  23 31 0d 4b 46 1c 20 20  20 20 20 20 20 20 53 54  |#1.KF.        ST|
0000c270  52 20 52 37 2c 5b 52 31  31 2c 23 35 32 5d 0d 4b  |R R7,[R11,#52].K|
0000c280  50 14 20 20 20 20 20 20  20 20 ec 51 20 52 38 2c  |P.        .Q R8,|
0000c290  23 30 0d 4b 5a 1e 20 20  20 20 20 20 20 20 53 54  |#0.KZ.        ST|
0000c2a0  52 45 51 20 52 38 2c 5b  52 31 31 2c 23 38 38 5d  |REQ R8,[R11,#88]|
0000c2b0  0d 4b 64 1c 2e 61 6d 6d  6f 6c 20 20 53 54 52 20  |.Kd..ammol  STR |
0000c2c0  52 38 2c 5b 52 31 30 2c  23 33 36 5d 0d 4b 6e 19  |R8,[R10,#36].Kn.|
0000c2d0  20 20 20 20 20 20 20 20  4c 44 52 20 52 37 2c 64  |        LDR R7,d|
0000c2e0  61 6d 61 67 65 0d 4b 78  18 20 20 20 20 20 20 20  |amage.Kx.       |
0000c2f0  20 41 44 44 20 52 37 2c  52 37 2c 23 34 0d 4b 82  | ADD R7,R7,#4.K.|
0000c300  20 20 20 20 20 20 20 20  20 4c 44 52 20 52 37 2c  |         LDR R7,|
0000c310  5b 52 37 2c 52 38 2c 41  53 4c 23 33 5d 0d 4b 8c  |[R7,R8,ASL#3].K.|
0000c320  14 20 20 20 20 20 20 20  20 42 4c 20 73 6f 75 6e  |.        BL soun|
0000c330  64 0d 4b 96 17 20 20 20  20 20 20 20 20 4c 44 52  |d.K..        LDR|
0000c340  20 52 37 2c 62 73 70 72  0d 4b a0 20 20 20 20 20  | R7,bspr.K.     |
0000c350  20 20 20 20 4c 44 52 20  52 38 2c 5b 52 37 2c 52  |    LDR R8,[R7,R|
0000c360  38 2c 41 53 4c 23 32 5d  0d 4b aa 1b 20 20 20 20  |8,ASL#2].K..    |
0000c370  20 20 20 20 53 54 52 20  52 38 2c 5b 52 31 30 2c  |    STR R8,[R10,|
0000c380  23 38 5d 0d 4b b4 1c 20  20 20 20 20 20 20 20 4c  |#8].K..        L|
0000c390  44 52 20 52 38 2c 5b 52  31 31 2c 23 31 36 5d 0d  |DR R8,[R11,#16].|
0000c3a0  4b be 18 20 20 20 20 20  20 20 20 4c 44 52 20 52  |K..        LDR R|
0000c3b0  37 2c 73 62 75 74 70 0d  4b c8 15 20 20 20 20 20  |7,sbutp.K..     |
0000c3c0  20 20 20 43 4d 50 20 52  37 2c 23 30 0d 4b d2 16  |   CMP R7,#0.K..|
0000c3d0  20 20 20 20 20 20 20 20  42 4e 45 20 64 6f 74 75  |        BNE dotu|
0000c3e0  72 6e 0d 4b dc 1b 2e 66  69 6e 74 75 72 20 4d 4f  |rn.K...fintur MO|
0000c3f0  56 20 52 38 2c 52 38 2c  41 53 52 23 33 0d 4b e6  |V R8,R8,ASR#3.K.|
0000c400  1b 20 20 20 20 20 20 20  20 4d 4f 56 20 52 38 2c  |.        MOV R8,|
0000c410  52 38 2c 41 53 4c 23 33  0d 4b f0 18 20 20 20 20  |R8,ASL#3.K..    |
0000c420  20 20 20 20 4c 44 52 20  52 37 2c 74 61 62 6c 65  |    LDR R7,table|
0000c430  0d 4b fa 18 20 20 20 20  20 20 20 20 41 44 44 20  |.K..        ADD |
0000c440  52 38 2c 52 38 2c 52 37  0d 4c 04 1c 20 20 20 20  |R8,R8,R7.L..    |
0000c450  20 20 20 20 4c 44 4d 49  41 20 52 38 2c 7b 52 37  |    LDMIA R8,{R7|
0000c460  2c 52 39 7d 0d 4c 0e 1b  20 20 20 20 20 20 20 20  |,R9}.L..        |
0000c470  4d 4f 56 20 52 37 2c 52  37 2c 41 53 4c 23 34 0d  |MOV R7,R7,ASL#4.|
0000c480  4c 18 1b 20 20 20 20 20  20 20 20 4d 4f 56 20 52  |L..        MOV R|
0000c490  39 2c 52 39 2c 41 53 4c  23 34 0d 4c 22 18 20 20  |9,R9,ASL#4.L".  |
0000c4a0  20 20 20 20 20 20 4c 44  52 20 52 38 2c 5b 52 31  |      LDR R8,[R1|
0000c4b0  30 5d 0d 4c 2c 1e 20 20  20 20 20 20 20 20 41 44  |0].L,.        AD|
0000c4c0  44 20 52 38 2c 52 38 2c  52 37 2c 41 53 4c 23 32  |D R8,R8,R7,ASL#2|
0000c4d0  0d 4c 36 18 20 20 20 20  20 20 20 20 53 54 52 20  |.L6.        STR |
0000c4e0  52 38 2c 5b 52 31 30 5d  0d 4c 40 1b 20 20 20 20  |R8,[R10].L@.    |
0000c4f0  20 20 20 20 4c 44 52 20  52 38 2c 5b 52 31 30 2c  |    LDR R8,[R10,|
0000c500  23 34 5d 0d 4c 4a 1e 20  20 20 20 20 20 20 20 41  |#4].LJ.        A|
0000c510  44 44 20 52 38 2c 52 38  2c 52 39 2c 41 53 4c 23  |DD R8,R8,R9,ASL#|
0000c520  32 0d 4c 54 1b 20 20 20  20 20 20 20 20 53 54 52  |2.LT.        STR|
0000c530  20 52 38 2c 5b 52 31 30  2c 23 34 5d 0d 4c 5e 1c  | R8,[R10,#4].L^.|
0000c540  20 20 20 20 20 20 20 20  4c 44 52 20 52 38 2c 5b  |        LDR R8,[|
0000c550  52 31 31 2c 23 38 38 5d  0d 4c 68 15 20 20 20 20  |R11,#88].Lh.    |
0000c560  20 20 20 20 43 4d 50 20  52 38 2c 23 32 0d 4c 72  |    CMP R8,#2.Lr|
0000c570  17 20 20 20 20 20 20 20  20 43 4d 50 4e 45 20 52  |.        CMPNE R|
0000c580  38 2c 23 35 0d 4c 7c 17  20 20 20 20 20 20 20 20  |8,#5.L|.        |
0000c590  43 4d 50 4e 45 20 52 38  2c 23 38 0d 4c 86 1a 20  |CMPNE R8,#8.L.. |
0000c5a0  20 20 20 20 20 20 20 ec  51 20 52 37 2c 52 37 2c  |       .Q R7,R7,|
0000c5b0  41 53 4c 23 31 0d 4c 90  1a 20 20 20 20 20 20 20  |ASL#1.L..       |
0000c5c0  20 ec 51 20 52 39 2c 52  39 2c 41 53 4c 23 31 0d  | .Q R9,R9,ASL#1.|
0000c5d0  4c 9a 15 20 20 20 20 20  20 20 20 43 4d 50 20 52  |L..        CMP R|
0000c5e0  38 2c 23 33 0d 4c a4 17  20 20 20 20 20 20 20 20  |8,#3.L..        |
0000c5f0  43 4d 50 4e 45 20 52 38  2c 23 36 0d 4c ae 1a 20  |CMPNE R8,#6.L.. |
0000c600  20 20 20 20 20 20 20 ec  51 20 52 37 2c 52 37 2c  |       .Q R7,R7,|
0000c610  41 53 52 23 31 0d 4c b8  1a 20 20 20 20 20 20 20  |ASR#1.L..       |
0000c620  20 ec 51 20 52 39 2c 52  39 2c 41 53 52 23 31 0d  | .Q R9,R9,ASR#1.|
0000c630  4c c2 1c 20 20 20 20 20  20 20 20 53 54 52 20 52  |L..        STR R|
0000c640  37 2c 5b 52 31 30 2c 23  32 38 5d 0d 4c cc 1c 20  |7,[R10,#28].L.. |
0000c650  20 20 20 20 20 20 20 53  54 52 20 52 39 2c 5b 52  |       STR R9,[R|
0000c660  31 30 2c 23 33 32 5d 0d  4c d6 18 20 20 20 20 20  |10,#32].L..     |
0000c670  20 20 20 4c 44 52 20 52  37 2c 73 62 75 74 70 0d  |   LDR R7,sbutp.|
0000c680  4c e0 15 20 20 20 20 20  20 20 20 43 4d 50 20 52  |L..        CMP R|
0000c690  37 2c 23 30 0d 4c ea 16  20 20 20 20 20 20 20 20  |7,#0.L..        |
0000c6a0  42 4e 45 20 70 72 65 70  74 66 0d 4c f4 13 20 20  |BNE preptf.L..  |
0000c6b0  20 20 20 20 20 20 42 20  62 66 69 72 65 0d 4c fe  |      B bfire.L.|
0000c6c0  14 2e 6f 61 62 61 72 20  20 45 51 55 44 20 6f 61  |..oabar  EQUD oa|
0000c6d0  25 0d 4d 08 15 2e 62 61  72 74 61 62 20 45 51 55  |%.M...bartab EQU|
0000c6e0  44 20 73 6f 62 25 0d 4d  12 12 2e 62 61 72 72 20  |D sob%.M...barr |
0000c6f0  20 20 45 51 55 44 20 34  0d 4d 1c 14 2e 62 62 6c  |  EQUD 4.M...bbl|
0000c700  6f 63 6b 20 45 51 55 44  20 62 6f 25 0d 4d 26 18  |ock EQUD bo%.M&.|
0000c710  2e 65 73 63 61 70 65 20  4c 44 52 20 52 30 2c 74  |.escape LDR R0,t|
0000c720  6f 74 70 6c 0d 4d 30 15  20 20 20 20 20 20 20 20  |otpl.M0.        |
0000c730  43 4d 50 20 52 30 2c 23  31 0d 4d 3a 15 20 20 20  |CMP R0,#1.M:.   |
0000c740  20 20 20 20 20 42 4e 45  20 74 77 6f 70 6c 0d 4d  |     BNE twopl.M|
0000c750  44 47 20 20 20 20 20 20  20 20 53 57 49 20 32 35  |DG        SWI 25|
0000c760  36 2b 33 31 3a 53 57 49  20 32 35 36 2b 31 3a 53  |6+31:SWI 256+1:S|
0000c770  57 49 20 32 35 36 2b 31  3a 41 44 52 20 52 30 2c  |WI 256+1:ADR R0,|
0000c780  73 63 73 74 72 3a 53 57  49 20 22 4f 53 5f 57 72  |scstr:SWI "OS_Wr|
0000c790  69 74 65 30 22 0d 4d 4e  18 20 20 20 20 20 20 20  |ite0".MN.       |
0000c7a0  20 4c 44 52 20 52 31 2c  77 69 6d 70 62 0d 4d 58  | LDR R1,wimpb.MX|
0000c7b0  18 20 20 20 20 20 20 20  20 4c 44 52 20 52 30 2c  |.        LDR R0,|
0000c7c0  73 63 6f 72 65 0d 4d 62  15 20 20 20 20 20 20 20  |score.Mb.       |
0000c7d0  20 4d 4f 56 20 52 32 2c  23 35 0d 4d 6c 24 20 20  | MOV R2,#5.Ml$  |
0000c7e0  20 20 20 20 20 20 53 57  49 20 22 4f 53 5f 43 6f  |      SWI "OS_Co|
0000c7f0  6e 76 65 72 74 49 6e 74  65 67 65 72 34 22 0d 4d  |nvertInteger4".M|
0000c800  76 1b 20 20 20 20 20 20  20 20 53 57 49 20 22 4f  |v.        SWI "O|
0000c810  53 5f 57 72 69 74 65 30  22 0d 4d 80 19 20 20 20  |S_Write0".M..   |
0000c820  20 20 20 20 20 4c 44 52  20 52 30 2c 62 6c 65 76  |     LDR R0,blev|
0000c830  65 6c 0d 4d 8a 15 20 20  20 20 20 20 20 20 43 4d  |el.M..        CM|
0000c840  50 20 52 30 2c 23 30 0d  4d 94 15 20 20 20 20 20  |P R0,#0.M..     |
0000c850  20 20 20 42 4e 45 20 74  77 6f 70 6c 0d 4d 9e 15  |   BNE twopl.M..|
0000c860  20 20 20 20 20 20 20 20  42 4c 20 62 6c 72 6f 75  |        BL blrou|
0000c870  74 0d 4d a8 12 20 20 20  20 20 20 20 20 42 4c 20  |t.M..        BL |
0000c880  72 6e 64 0d 4d b2 15 20  20 20 20 20 20 20 20 43  |rnd.M..        C|
0000c890  4d 50 20 52 30 2c 23 32  0d 4d bc 15 20 20 20 20  |MP R0,#2.M..    |
0000c8a0  20 20 20 20 42 4c 45 20  77 69 6e 73 74 0d 4d c6  |    BLE winst.M.|
0000c8b0  12 2e 74 77 6f 70 6c 20  20 42 4c 20 72 6e 64 0d  |..twopl  BL rnd.|
0000c8c0  4d d0 15 20 20 20 20 20  20 20 20 43 4d 50 20 52  |M..        CMP R|
0000c8d0  30 2c 23 34 0d 4d da 14  20 20 20 20 20 20 20 20  |0,#4.M..        |
0000c8e0  42 4c 54 20 65 78 62 6f  0d 4d e4 12 20 20 20 20  |BLT exbo.M..    |
0000c8f0  20 20 20 20 42 4c 20 72  6e 64 0d 4d ee 15 20 20  |    BL rnd.M..  |
0000c900  20 20 20 20 20 20 43 4d  50 20 52 30 2c 23 30 0d  |      CMP R0,#0.|
0000c910  4d f8 15 20 20 20 20 20  20 20 20 42 45 51 20 77  |M..        BEQ w|
0000c920  69 6e 73 74 0d 4e 02 19  2e 6e 6f 77 73 74 20 20  |inst.N...nowst  |
0000c930  4c 44 52 20 52 30 2c 65  78 6f 6e 73 63 0d 4e 0c  |LDR R0,exonsc.N.|
0000c940  15 20 20 20 20 20 20 20  20 43 4d 50 20 52 30 2c  |.        CMP R0,|
0000c950  23 30 0d 4e 16 16 20 20  20 20 20 20 20 20 42 4e  |#0.N..        BN|
0000c960  45 20 65 78 61 6e 69 6d  0d 4e 20 14 2e 67 65 74  |E exanim.N ..get|
0000c970  65 73 63 20 42 20 73 77  69 74 63 68 0d 4e 2a 1d  |esc B switch.N*.|
0000c980  2e 73 63 73 74 72 20 20  45 51 55 53 20 22 53 63  |.scstr  EQUS "Sc|
0000c990  6f 72 65 3a 20 22 2b bd  30 0d 4e 34 12 2e 77 69  |ore: "+.0.N4..wi|
0000c9a0  6e 73 74 20 20 42 4c 20  72 6e 64 0d 4e 3e 16 20  |nst  BL rnd.N>. |
0000c9b0  20 20 20 20 20 20 20 43  4d 50 20 52 30 2c 23 32  |       CMP R0,#2|
0000c9c0  30 0d 4e 48 15 20 20 20  20 20 20 20 20 42 47 54  |0.NH.        BGT|
0000c9d0  20 6e 6f 77 73 74 0d 4e  52 15 20 20 20 20 20 20  | nowst.NR.      |
0000c9e0  20 20 4d 4f 56 20 52 30  2c 23 30 0d 4e 5c 18 20  |  MOV R0,#0.N\. |
0000c9f0  20 20 20 20 20 20 20 53  54 52 20 52 30 2c 77 69  |       STR R0,wi|
0000ca00  6e 64 78 0d 4e 66 18 20  20 20 20 20 20 20 20 53  |ndx.Nf.        S|
0000ca10  54 52 20 52 30 2c 77 69  6e 64 79 0d 4e 70 13 20  |TR R0,windy.Np. |
0000ca20  20 20 20 20 20 20 20 42  20 6e 6f 77 73 74 0d 4e  |       B nowst.N|
0000ca30  7a 1a 2e 68 69 74 62 61  72 20 4c 44 52 20 52 35  |z..hitbar LDR R5|
0000ca40  2c 5b 52 39 2c 23 34 5d  0d 4e 84 1b 20 20 20 20  |,[R9,#4].N..    |
0000ca50  20 20 20 20 53 55 42 20  52 35 2c 52 35 2c 23 34  |    SUB R5,R5,#4|
0000ca60  34 2a 6a 0d 4e 8e 19 20  20 20 20 20 20 20 20 53  |4*j.N..        S|
0000ca70  55 42 53 20 52 35 2c 52  35 2c 52 34 0d 4e 98 1a  |UBS R5,R5,R4.N..|
0000ca80  20 20 20 20 20 20 20 20  52 53 42 4d 49 20 52 35  |        RSBMI R5|
0000ca90  2c 52 35 2c 23 30 0d 4e  a2 18 20 20 20 20 20 20  |,R5,#0.N..      |
0000caa0  20 20 43 4d 50 20 52 35  2c 23 35 36 2a 6a 0d 4e  |  CMP R5,#56*j.N|
0000cab0  ac 16 20 20 20 20 20 20  20 20 42 47 54 20 6d 69  |..        BGT mi|
0000cac0  73 62 61 72 0d 4e b6 1c  20 20 20 20 20 20 20 20  |sbar.N..        |
0000cad0  4c 44 52 20 52 35 2c 5b  52 31 31 2c 23 33 36 5d  |LDR R5,[R11,#36]|
0000cae0  0d 4e c0 15 20 20 20 20  20 20 20 20 43 4d 50 20  |.N..        CMP |
0000caf0  52 35 2c 23 36 0d 4e ca  15 20 20 20 20 20 20 20  |R5,#6.N..       |
0000cb00  20 42 4e 45 20 62 61 72  73 74 0d 4e d4 1e 20 20  | BNE barst.N..  |
0000cb10  20 20 20 20 20 20 53 54  4d 46 44 20 52 31 33 21  |      STMFD R13!|
0000cb20  2c 7b 52 33 2d 52 35 7d  0d 4e de 1c 20 20 20 20  |,{R3-R5}.N..    |
0000cb30  20 20 20 20 4c 44 4d 49  41 20 52 39 2c 7b 52 33  |    LDMIA R9,{R3|
0000cb40  2d 52 34 7d 0d 4e e8 1c  20 20 20 20 20 20 20 20  |-R4}.N..        |
0000cb50  4d 4f 56 20 52 33 2c 52  33 2c 41 53 52 23 73 68  |MOV R3,R3,ASR#sh|
0000cb60  0d 4e f2 1c 20 20 20 20  20 20 20 20 4d 4f 56 20  |.N..        MOV |
0000cb70  52 34 2c 52 34 2c 41 53  52 23 73 68 0d 4e fc 19  |R4,R4,ASR#sh.N..|
0000cb80  20 20 20 20 20 20 20 20  53 55 42 20 52 33 2c 52  |        SUB R3,R|
0000cb90  33 2c 23 33 32 0d 4f 06  19 20 20 20 20 20 20 20  |3,#32.O..       |
0000cba0  20 53 55 42 20 52 34 2c  52 34 2c 23 33 32 0d 4f  | SUB R4,R4,#32.O|
0000cbb0  10 16 20 20 20 20 20 20  20 20 4d 4f 56 20 52 35  |..        MOV R5|
0000cbc0  2c 23 38 30 0d 4f 1a 14  20 20 20 20 20 20 20 20  |,#80.O..        |
0000cbd0  42 4c 20 61 64 64 65 78  0d 4f 24 15 20 20 20 20  |BL addex.O$.    |
0000cbe0  20 20 20 20 4d 56 4e 20  52 35 2c 23 30 0d 4f 2e  |    MVN R5,#0.O.|
0000cbf0  17 20 20 20 20 20 20 20  20 53 54 52 20 52 35 2c  |.        STR R5,|
0000cc00  5b 52 39 5d 0d 4f 38 1e  20 20 20 20 20 20 20 20  |[R9].O8.        |
0000cc10  4c 44 4d 49 41 20 52 31  33 21 2c 7b 52 33 2d 52  |LDMIA R13!,{R3-R|
0000cc20  35 7d 0d 4f 42 16 2e 62  61 72 73 74 20 20 4d 4f  |5}.OB..barst  MO|
0000cc30  56 20 52 35 2c 23 39 36  0d 4f 4c 16 20 20 20 20  |V R5,#96.OL.    |
0000cc40  20 20 20 20 43 4d 50 20  52 31 34 2c 23 35 0d 4f  |    CMP R14,#5.O|
0000cc50  56 15 20 20 20 20 20 20  20 20 42 4c 20 73 6f 75  |V.        BL sou|
0000cc60  6e 64 32 0d 4f 60 15 20  20 20 20 20 20 20 20 42  |nd2.O`.        B|
0000cc70  45 51 20 6f 66 66 6f 62  0d 4f 6a 14 20 20 20 20  |EQ offob.Oj.    |
0000cc80  20 20 20 20 42 20 6f 66  66 73 63 72 0d 4f 74 19  |    B offscr.Ot.|
0000cc90  2e 73 70 69 6e 6e 65 20  45 51 55 44 20 73 70 69  |.spinne EQUD spi|
0000cca0  6e 6e 65 72 25 0d 4f 7e  12 2e 6f 6c 64 65 6e 20  |nner%.O~..olden |
0000ccb0  20 45 51 55 44 20 30 0d  4f 88 18 2e 74 61 62 6c  | EQUD 0.O...tabl|
0000ccc0  65 20 20 45 51 55 44 20  74 61 25 2b 32 38 30 0d  |e  EQUD ta%+280.|
0000ccd0  4f 92 1e 2e 72 6e 64 73  74 20 20 45 51 55 44 20  |O...rndst  EQUD |
0000cce0  b3 28 31 30 30 30 30 30  30 30 30 30 29 0d 4f 9c  |.(1000000000).O.|
0000ccf0  12 2e 6f 6e 73 63 72 20  20 45 51 55 44 20 30 0d  |..onscr  EQUD 0.|
0000cd00  4f a6 15 2e 6d 61 78 62  75 20 20 45 51 55 44 20  |O...maxbu  EQUD |
0000cd10  6d 61 78 25 0d 4f b0 14  2e 73 70 61 72 65 61 20  |max%.O...sparea |
0000cd20  45 51 55 44 20 73 70 25  0d 4f ba 12 2e 62 6c 6f  |EQUD sp%.O...blo|
0000cd30  63 6b 20 20 45 51 55 44  20 62 0d 4f c4 12 2e 72  |ck  EQUD b.O...r|
0000cd40  66 74 20 20 20 20 45 51  55 44 20 30 0d 4f ce 18  |ft    EQUD 0.O..|
0000cd50  2e 73 68 69 65 6c 64 20  45 51 55 44 20 73 68 69  |.shield EQUD shi|
0000cd60  65 6c 64 25 0d 4f d8 14  2e 73 70 70 6c 6f 74 20  |eld%.O...spplot |
0000cd70  45 51 55 44 20 35 34 36  0d 4f e2 16 2e 74 6f 70  |EQUD 546.O...top|
0000cd80  20 20 20 20 45 51 55 44  20 38 30 30 2a 6a 0d 4f  |    EQUD 800*j.O|
0000cd90  ec 17 2e 72 69 67 68 74  20 20 45 51 55 44 20 31  |...right  EQUD 1|
0000cda0  31 32 38 2a 6a 0d 4f f6  12 2e 6c 65 66 74 20 20  |128*j.O...left  |
0000cdb0  20 45 51 55 44 20 30 0d  50 00 12 2e 6c 65 66 74  | EQUD 0.P...left|
0000cdc0  32 20 20 45 51 55 44 20  30 0d 50 0a 15 2e 62 73  |2  EQUD 0.P...bs|
0000cdd0  70 72 20 20 20 45 51 55  44 20 62 62 62 25 0d 50  |pr   EQUD bbb%.P|
0000cde0  14 15 2e 64 61 6d 61 67  65 20 45 51 55 44 20 64  |...damage EQUD d|
0000cdf0  61 6d 25 0d 50 1e 14 2e  61 20 20 20 20 20 20 45  |am%.P...a      E|
0000ce00  51 55 44 20 62 75 25 0d  50 28 12 2e 77 69 6e 64  |QUD bu%.P(..wind|
0000ce10  78 20 20 45 51 55 44 20  30 0d 50 32 12 2e 77 69  |x  EQUD 0.P2..wi|
0000ce20  6e 64 79 20 20 45 51 55  44 20 30 0d 50 3c 12 2e  |ndy  EQUD 0.P<..|
0000ce30  73 74 6f 72 65 20 20 45  51 55 44 20 30 0d 50 46  |store  EQUD 0.PF|
0000ce40  12 2e 73 74 6f 72 32 20  20 45 51 55 44 20 30 0d  |..stor2  EQUD 0.|
0000ce50  50 50 17 2e 65 6e 65 72  67 79 20 45 51 55 44 20  |PP..energy EQUD |
0000ce60  73 70 61 72 65 25 0d 50  5a 16 2e 65 78 73 70 72  |spare%.PZ..exspr|
0000ce70  20 20 45 51 55 44 20 65  78 70 6c 25 0d 50 64 17  |  EQUD expl%.Pd.|
0000ce80  2e 62 6f 73 70 72 20 20  45 51 55 44 20 62 6f 6e  |.bospr  EQUD bon|
0000ce90  75 73 25 0d 50 6e 19 2e  65 78 62 6c 6f 20 20 45  |us%.Pn..exblo  E|
0000cea0  51 55 44 20 65 78 62 6c  6f 63 6b 25 0d 50 78 17  |QUD exblock%.Px.|
0000ceb0  2e 65 78 6d 61 78 20 20  45 51 55 44 20 65 78 6d  |.exmax  EQUD exm|
0000cec0  61 78 25 0d 50 82 12 2e  65 78 6f 6e 73 63 20 45  |ax%.P...exonsc E|
0000ced0  51 55 44 20 30 0d 50 8c  13 2e 77 69 6d 70 62 20  |QUD 0.P...wimpb |
0000cee0  20 45 51 55 44 20 77 25  0d 50 96 12 2e 72 6e 64  | EQUD w%.P...rnd|
0000cef0  20 20 20 20 53 57 49 20  36 36 0d 50 a0 18 20 20  |    SWI 66.P..  |
0000cf00  20 20 20 20 20 20 4c 44  52 20 52 31 2c 72 6e 64  |      LDR R1,rnd|
0000cf10  73 74 0d 50 aa 1f 20 20  20 20 20 20 20 20 41 44  |st.P..        AD|
0000cf20  44 20 52 30 2c 52 30 2c  52 31 2c 52 4f 52 20 52  |D R0,R0,R1,ROR R|
0000cf30  31 0d 50 b4 18 20 20 20  20 20 20 20 20 53 54 52  |1.P..        STR|
0000cf40  20 52 30 2c 72 6e 64 73  74 0d 50 be 18 20 20 20  | R0,rndst.P..   |
0000cf50  20 20 20 20 20 80 20 52  30 2c 52 30 2c 23 32 35  |     . R0,R0,#25|
0000cf60  35 0d 50 c8 16 20 20 20  20 20 20 20 20 4d 4f 56  |5.P..        MOV|
0000cf70  20 50 43 2c 52 31 34 0d  50 d2 18 2e 72 65 6d 62  | PC,R14.P...remb|
0000cf80  6f 20 20 4d 4f 56 20 52  35 2c 23 32 35 36 30 0d  |o  MOV R5,#2560.|
0000cf90  50 dc 17 20 20 20 20 20  20 20 20 53 54 52 20 52  |P..        STR R|
0000cfa0  35 2c 5b 52 39 5d 0d 50  e6 19 20 20 20 20 20 20  |5,[R9].P..      |
0000cfb0  20 20 4c 44 52 20 52 35  2c 62 6f 6e 73 63 72 0d  |  LDR R5,bonscr.|
0000cfc0  50 f0 18 20 20 20 20 20  20 20 20 53 55 42 20 52  |P..        SUB R|
0000cfd0  35 2c 52 35 2c 23 31 0d  50 fa 19 20 20 20 20 20  |5,R5,#1.P..     |
0000cfe0  20 20 20 53 54 52 20 52  35 2c 62 6f 6e 73 63 72  |   STR R5,bonscr|
0000cff0  0d 51 04 13 20 20 20 20  20 20 20 20 42 20 65 6e  |.Q..        B en|
0000d000  64 62 6f 0d 51 0e 19 2e  65 78 62 6f 20 20 20 4c  |dbo.Q...exbo   L|
0000d010  44 52 20 52 39 2c 62 6f  6e 73 63 72 0d 51 18 19  |DR R9,bonscr.Q..|
0000d020  20 20 20 20 20 20 20 20  4c 44 52 20 52 31 30 2c  |        LDR R10,|
0000d030  6d 61 78 62 6f 0d 51 22  16 20 20 20 20 20 20 20  |maxbo.Q".       |
0000d040  20 43 4d 50 20 52 39 2c  52 31 30 0d 51 2c 16 20  | CMP R9,R10.Q,. |
0000d050  20 20 20 20 20 20 20 42  45 51 20 67 65 74 65 73  |       BEQ getes|
0000d060  63 0d 51 36 18 20 20 20  20 20 20 20 20 41 44 44  |c.Q6.        ADD|
0000d070  20 52 39 2c 52 39 2c 23  31 0d 51 40 19 20 20 20  | R9,R9,#1.Q@.   |
0000d080  20 20 20 20 20 53 54 52  20 52 39 2c 62 6f 6e 73  |     STR R9,bons|
0000d090  63 72 0d 51 4a 19 20 20  20 20 20 20 20 20 4c 44  |cr.QJ.        LD|
0000d0a0  52 20 52 39 2c 62 62 6c  6f 63 6b 0d 51 54 19 20  |R R9,bblock.QT. |
0000d0b0  20 20 20 20 20 20 20 53  55 42 20 52 39 2c 52 39  |       SUB R9,R9|
0000d0c0  2c 23 31 36 0d 51 5e 1c  2e 73 65 61 62 6f 20 20  |,#16.Q^..seabo  |
0000d0d0  4c 44 52 20 52 38 2c 5b  52 39 2c 23 31 36 5d 21  |LDR R8,[R9,#16]!|
0000d0e0  0d 51 68 18 20 20 20 20  20 20 20 20 43 4d 50 20  |.Qh.        CMP |
0000d0f0  52 38 2c 23 32 35 36 30  0d 51 72 15 20 20 20 20  |R8,#2560.Qr.    |
0000d100  20 20 20 20 42 4e 45 20  73 65 61 62 6f 0d 51 7c  |    BNE seabo.Q||
0000d110  12 2e 62 6f 78 72 61 6e  20 42 4c 20 72 6e 64 0d  |..boxran BL rnd.|
0000d120  51 86 17 20 20 20 20 20  20 20 20 80 20 52 30 2c  |Q..        . R0,|
0000d130  52 30 2c 23 33 31 0d 51  90 16 20 20 20 20 20 20  |R0,#31.Q..      |
0000d140  20 20 43 4d 50 20 52 30  2c 23 32 33 0d 51 9a 16  |  CMP R0,#23.Q..|
0000d150  20 20 20 20 20 20 20 20  42 47 54 20 62 6f 78 72  |        BGT boxr|
0000d160  61 6e 0d 51 a4 1b 20 20  20 20 20 20 20 20 4d 4f  |an.Q..        MO|
0000d170  56 20 52 30 2c 52 30 2c  41 53 4c 23 35 0d 51 ae  |V R0,R0,ASL#5.Q.|
0000d180  1a 20 20 20 20 20 20 20  20 41 44 44 20 52 38 2c  |.        ADD R8,|
0000d190  52 30 2c 23 32 35 36 0d  51 b8 17 20 20 20 20 20  |R0,#256.Q..     |
0000d1a0  20 20 20 53 54 52 20 52  38 2c 5b 52 39 5d 0d 51  |   STR R8,[R9].Q|
0000d1b0  c2 12 20 20 20 20 20 20  20 20 42 4c 20 72 6e 64  |..        BL rnd|
0000d1c0  0d 51 cc 17 20 20 20 20  20 20 20 20 80 20 52 30  |.Q..        . R0|
0000d1d0  2c 52 30 2c 23 31 35 0d  51 d6 1e 20 20 20 20 20  |,R0,#15.Q..     |
0000d1e0  20 20 20 41 44 44 20 52  30 2c 52 30 2c 52 30 2c  |   ADD R0,R0,R0,|
0000d1f0  41 53 4c 23 35 0d 51 e0  1a 20 20 20 20 20 20 20  |ASL#5.Q..       |
0000d200  20 41 44 44 20 52 38 2c  52 30 2c 23 32 35 36 0d  | ADD R8,R0,#256.|
0000d210  51 ea 1a 20 20 20 20 20  20 20 20 53 54 52 20 52  |Q..        STR R|
0000d220  38 2c 5b 52 39 2c 23 34  5d 0d 51 f4 18 20 20 20  |8,[R9,#4].Q..   |
0000d230  20 20 20 20 20 4c 44 52  20 52 38 2c 62 6f 73 70  |     LDR R8,bosp|
0000d240  72 0d 51 fe 12 2e 67 65  74 62 6f 6e 20 42 4c 20  |r.Q...getbon BL |
0000d250  72 6e 64 0d 52 08 17 20  20 20 20 20 20 20 20 80  |rnd.R..        .|
0000d260  20 52 30 2c 52 30 2c 23  33 31 0d 52 12 16 20 20  | R0,R0,#31.R..  |
0000d270  20 20 20 20 20 20 43 4d  50 20 52 30 2c 23 31 39  |      CMP R0,#19|
0000d280  0d 52 1c 16 20 20 20 20  20 20 20 20 42 47 54 20  |.R..        BGT |
0000d290  67 65 74 62 6f 6e 0d 52  26 20 20 20 20 20 20 20  |getbon.R&       |
0000d2a0  20 20 4c 44 52 20 52 38  2c 5b 52 38 2c 52 30 2c  |  LDR R8,[R8,R0,|
0000d2b0  41 53 4c 23 32 5d 0d 52  30 1a 20 20 20 20 20 20  |ASL#2].R0.      |
0000d2c0  20 20 53 54 52 20 52 38  2c 5b 52 39 2c 23 38 5d  |  STR R8,[R9,#8]|
0000d2d0  0d 52 3a 18 20 20 20 20  20 20 20 20 41 44 44 20  |.R:.        ADD |
0000d2e0  52 30 2c 52 30 2c 23 31  0d 52 44 1b 20 20 20 20  |R0,R0,#1.RD.    |
0000d2f0  20 20 20 20 53 54 52 20  52 30 2c 5b 52 39 2c 23  |    STR R0,[R9,#|
0000d300  31 32 5d 0d 52 4e 14 20  20 20 20 20 20 20 20 42  |12].RN.        B|
0000d310  20 67 65 74 65 73 63 0d  52 58 19 2e 70 6f 73 62  | getesc.RX..posb|
0000d320  6f 20 20 53 55 42 53 20  52 35 2c 52 34 2c 52 37  |o  SUBS R5,R4,R7|
0000d330  0d 52 62 1a 20 20 20 20  20 20 20 20 52 53 42 4d  |.Rb.        RSBM|
0000d340  49 20 52 35 2c 52 35 2c  23 30 0d 52 6c 16 20 20  |I R5,R5,#0.Rl.  |
0000d350  20 20 20 20 20 20 43 4d  50 20 52 35 2c 23 37 32  |      CMP R5,#72|
0000d360  0d 52 76 15 20 20 20 20  20 20 20 20 42 47 54 20  |.Rv.        BGT |
0000d370  65 6e 64 62 6f 0d 52 80  18 20 20 20 20 20 20 20  |endbo.R..       |
0000d380  20 4c 44 52 20 52 35 2c  62 6c 6f 63 6b 0d 52 8a  | LDR R5,block.R.|
0000d390  18 20 20 20 20 20 20 20  20 4c 44 52 20 52 33 2c  |.        LDR R3,|
0000d3a0  73 63 6f 72 65 0d 52 94  16 20 20 20 20 20 20 20  |score.R..       |
0000d3b0  20 43 4d 50 20 52 31 31  2c 52 35 0d 52 9e 1b 20  | CMP R11,R5.R.. |
0000d3c0  20 20 20 20 20 20 20 41  44 44 45 51 20 52 33 2c  |       ADDEQ R3,|
0000d3d0  52 33 2c 23 31 30 0d 52  a8 1a 20 20 20 20 20 20  |R3,#10.R..      |
0000d3e0  20 20 53 54 52 45 51 20  52 33 2c 73 63 6f 72 65  |  STREQ R3,score|
0000d3f0  0d 52 b2 17 20 20 20 20  20 20 20 20 4d 4f 56 20  |.R..        MOV |
0000d400  52 35 2c 23 31 32 38 0d  52 bc 15 20 20 20 20 20  |R5,#128.R..     |
0000d410  20 20 20 42 4c 20 73 6f  75 6e 64 32 0d 52 c6 1b  |   BL sound2.R..|
0000d420  20 20 20 20 20 20 20 20  4c 44 52 20 52 35 2c 5b  |        LDR R5,[|
0000d430  52 39 2c 23 31 32 5d 0d  52 d0 19 2e 65 66 66 65  |R9,#12].R...effe|
0000d440  63 74 20 4c 44 52 20 52  33 2c 62 6f 6d 61 70 70  |ct LDR R3,bomapp|
0000d450  0d 52 da 20 20 20 20 20  20 20 20 20 4c 44 52 20  |.R.         LDR |
0000d460  50 43 2c 5b 52 33 2c 52  35 2c 41 53 4c 23 32 5d  |PC,[R3,R5,ASL#2]|
0000d470  0d 52 e4 17 2e 62 6f 6d  61 70 70 20 45 51 55 44  |.R...bomapp EQUD|
0000d480  20 62 6f 6d 61 70 25 0d  52 ee 1c 2e 77 65 61 70  | bomap%.R...weap|
0000d490  6f 6e 20 4c 44 52 20 52  33 2c 5b 52 31 31 2c 23  |on LDR R3,[R11,#|
0000d4a0  38 38 5d 0d 52 f8 1c 20  20 20 20 20 20 20 20 4c  |88].R..        L|
0000d4b0  44 52 20 52 34 2c 5b 52  31 31 2c 23 35 32 5d 0d  |DR R4,[R11,#52].|
0000d4c0  53 02 15 20 20 20 20 20  20 20 20 43 4d 50 20 52  |S..        CMP R|
0000d4d0  33 2c 52 35 0d 53 0c 17  20 20 20 20 20 20 20 20  |3,R5.S..        |
0000d4e0  4d 4f 56 4e 45 20 52 34  2c 23 30 0d 53 16 19 20  |MOVNE R4,#0.S.. |
0000d4f0  20 20 20 20 20 20 20 41  44 44 20 52 34 2c 52 34  |       ADD R4,R4|
0000d500  2c 23 33 32 0d 53 20 1c  20 20 20 20 20 20 20 20  |,#32.S .        |
0000d510  53 54 52 20 52 34 2c 5b  52 31 31 2c 23 35 32 5d  |STR R4,[R11,#52]|
0000d520  0d 53 2a 1c 20 20 20 20  20 20 20 20 53 54 52 20  |.S*.        STR |
0000d530  52 35 2c 5b 52 31 31 2c  23 38 38 5d 0d 53 34 13  |R5,[R11,#88].S4.|
0000d540  20 20 20 20 20 20 20 20  42 20 72 65 6d 62 6f 0d  |        B rembo.|
0000d550  53 3e 15 2e 71 32 30 20  20 20 20 4d 4f 56 20 52  |S>..q20    MOV R|
0000d560  35 2c 23 38 0d 53 48 14  20 20 20 20 20 20 20 20  |5,#8.SH.        |
0000d570  42 20 74 65 6e 73 68 6f  0d 53 52 1c 2e 71 34 20  |B tensho.SR..q4 |
0000d580  20 20 20 20 4c 44 52 20  52 33 2c 5b 52 31 31 2c  |    LDR R3,[R11,|
0000d590  23 32 30 5d 0d 53 5c 19  20 20 20 20 20 20 20 20  |#20].S\.        |
0000d5a0  41 44 44 20 52 33 2c 52  33 2c 23 32 30 0d 53 66  |ADD R3,R3,#20.Sf|
0000d5b0  1c 20 20 20 20 20 20 20  20 53 54 52 20 52 33 2c  |.        STR R3,|
0000d5c0  5b 52 31 31 2c 23 32 30  5d 0d 53 70 13 20 20 20  |[R11,#20].Sp.   |
0000d5d0  20 20 20 20 20 42 20 72  65 6d 62 6f 0d 53 7a 1c  |     B rembo.Sz.|
0000d5e0  2e 71 35 20 20 20 20 20  4c 44 52 20 52 33 2c 5b  |.q5     LDR R3,[|
0000d5f0  52 31 31 2c 23 37 32 5d  0d 53 84 1a 20 20 20 20  |R11,#72].S..    |
0000d600  20 20 20 20 41 44 44 20  52 33 2c 52 33 2c 23 36  |    ADD R3,R3,#6|
0000d610  30 30 0d 53 8e 1c 20 20  20 20 20 20 20 20 53 54  |00.S..        ST|
0000d620  52 20 52 33 2c 5b 52 31  31 2c 23 37 32 5d 0d 53  |R R3,[R11,#72].S|
0000d630  98 13 20 20 20 20 20 20  20 20 42 20 72 65 6d 62  |..        B remb|
0000d640  6f 0d 53 a2 1c 2e 71 36  20 20 20 20 20 4c 44 52  |o.S...q6     LDR|
0000d650  20 52 33 2c 5b 52 31 31  2c 23 35 36 5d 0d 53 ac  | R3,[R11,#56].S.|
0000d660  1a 20 20 20 20 20 20 20  20 41 44 44 20 52 33 2c  |.        ADD R3,|
0000d670  52 33 2c 23 32 30 30 0d  53 b6 1c 20 20 20 20 20  |R3,#200.S..     |
0000d680  20 20 20 53 54 52 20 52  33 2c 5b 52 31 31 2c 23  |   STR R3,[R11,#|
0000d690  35 36 5d 0d 53 c0 13 20  20 20 20 20 20 20 20 42  |56].S..        B|
0000d6a0  20 72 65 6d 62 6f 0d 53  ca 1c 2e 71 38 20 20 20  | rembo.S...q8   |
0000d6b0  20 20 4c 44 52 20 52 33  2c 5b 52 31 31 2c 23 36  |  LDR R3,[R11,#6|
0000d6c0  30 5d 0d 53 d4 1a 20 20  20 20 20 20 20 20 41 44  |0].S..        AD|
0000d6d0  44 20 52 33 2c 52 33 2c  23 31 30 30 0d 53 de 1c  |D R3,R3,#100.S..|
0000d6e0  20 20 20 20 20 20 20 20  53 54 52 20 52 33 2c 5b  |        STR R3,[|
0000d6f0  52 31 31 2c 23 36 30 5d  0d 53 e8 13 20 20 20 20  |R11,#60].S..    |
0000d700  20 20 20 20 42 20 72 65  6d 62 6f 0d 53 f2 1c 2e  |    B rembo.S...|
0000d710  71 31 33 20 20 20 20 4c  44 52 20 52 33 2c 5b 52  |q13    LDR R3,[R|
0000d720  31 31 2c 23 37 36 5d 0d  53 fc 1a 20 20 20 20 20  |11,#76].S..     |
0000d730  20 20 20 41 44 44 20 52  33 2c 52 33 2c 23 33 30  |   ADD R3,R3,#30|
0000d740  30 0d 54 06 1c 20 20 20  20 20 20 20 20 53 54 52  |0.T..        STR|
0000d750  20 52 33 2c 5b 52 31 31  2c 23 37 36 5d 0d 54 10  | R3,[R11,#76].T.|
0000d760  13 20 20 20 20 20 20 20  20 42 20 72 65 6d 62 6f  |.        B rembo|
0000d770  0d 54 1a 1c 2e 71 39 20  20 20 20 20 4c 44 52 20  |.T...q9     LDR |
0000d780  52 33 2c 5b 52 31 31 2c  23 38 30 5d 0d 54 24 18  |R3,[R11,#80].T$.|
0000d790  20 20 20 20 20 20 20 20  41 44 44 20 52 33 2c 52  |        ADD R3,R|
0000d7a0  33 2c 23 31 0d 54 2e 1c  20 20 20 20 20 20 20 20  |3,#1.T..        |
0000d7b0  53 54 52 20 52 33 2c 5b  52 31 31 2c 23 38 30 5d  |STR R3,[R11,#80]|
0000d7c0  0d 54 38 13 20 20 20 20  20 20 20 20 42 20 72 65  |.T8.        B re|
0000d7d0  6d 62 6f 0d 54 42 15 2e  71 31 35 20 20 20 20 4d  |mbo.TB..q15    M|
0000d7e0  4f 56 20 52 35 2c 23 34  0d 54 4c 1c 2e 74 65 6e  |OV R5,#4.TL..ten|
0000d7f0  73 68 6f 20 4c 44 52 20  52 33 2c 5b 52 31 31 2c  |sho LDR R3,[R11,|
0000d800  23 38 38 5d 0d 54 56 1c  20 20 20 20 20 20 20 20  |#88].TV.        |
0000d810  4c 44 52 20 52 34 2c 5b  52 31 31 2c 23 35 32 5d  |LDR R4,[R11,#52]|
0000d820  0d 54 60 15 20 20 20 20  20 20 20 20 43 4d 50 20  |.T`.        CMP |
0000d830  52 33 2c 52 35 0d 54 6a  17 20 20 20 20 20 20 20  |R3,R5.Tj.       |
0000d840  20 4d 4f 56 4e 45 20 52  34 2c 23 30 0d 54 74 19  | MOVNE R4,#0.Tt.|
0000d850  20 20 20 20 20 20 20 20  41 44 44 20 52 34 2c 52  |        ADD R4,R|
0000d860  34 2c 23 31 38 0d 54 7e  1c 20 20 20 20 20 20 20  |4,#18.T~.       |
0000d870  20 53 54 52 20 52 34 2c  5b 52 31 31 2c 23 35 32  | STR R4,[R11,#52|
0000d880  5d 0d 54 88 1c 20 20 20  20 20 20 20 20 53 54 52  |].T..        STR|
0000d890  20 52 35 2c 5b 52 31 31  2c 23 38 38 5d 0d 54 92  | R5,[R11,#88].T.|
0000d8a0  13 20 20 20 20 20 20 20  20 42 20 72 65 6d 62 6f  |.        B rembo|
0000d8b0  0d 54 9c 15 2e 71 31 32  20 20 20 20 4d 4f 56 20  |.T...q12    MOV |
0000d8c0  52 35 2c 23 36 0d 54 a6  14 20 20 20 20 20 20 20  |R5,#6.T..       |
0000d8d0  20 42 20 74 65 6e 73 68  6f 0d 54 b0 12 2e 71 31  | B tensho.T...q1|
0000d8e0  34 20 20 20 20 42 4c 20  72 6e 64 0d 54 ba 1a 20  |4    BL rnd.T.. |
0000d8f0  20 20 20 20 20 20 20 53  55 42 20 52 30 2c 52 30  |       SUB R0,R0|
0000d900  2c 23 31 32 38 0d 54 c4  1b 20 20 20 20 20 20 20  |,#128.T..       |
0000d910  20 4d 4f 56 20 52 30 2c  52 30 2c 41 53 52 23 32  | MOV R0,R0,ASR#2|
0000d920  0d 54 ce 18 20 20 20 20  20 20 20 20 53 54 52 20  |.T..        STR |
0000d930  52 30 2c 77 69 6e 64 78  0d 54 d8 12 20 20 20 20  |R0,windx.T..    |
0000d940  20 20 20 20 42 4c 20 72  6e 64 0d 54 e2 1a 20 20  |    BL rnd.T..  |
0000d950  20 20 20 20 20 20 53 55  42 20 52 30 2c 52 30 2c  |      SUB R0,R0,|
0000d960  23 31 32 38 0d 54 ec 1b  20 20 20 20 20 20 20 20  |#128.T..        |
0000d970  4d 4f 56 20 52 30 2c 52  30 2c 41 53 52 23 32 0d  |MOV R0,R0,ASR#2.|
0000d980  54 f6 18 20 20 20 20 20  20 20 20 53 54 52 20 52  |T..        STR R|
0000d990  30 2c 77 69 6e 64 79 0d  55 00 13 20 20 20 20 20  |0,windy.U..     |
0000d9a0  20 20 20 42 20 72 65 6d  62 6f 0d 55 0a 15 2e 71  |   B rembo.U...q|
0000d9b0  31 36 20 20 20 20 4d 4f  56 20 52 35 2c 23 35 0d  |16    MOV R5,#5.|
0000d9c0  55 14 14 20 20 20 20 20  20 20 20 42 20 77 65 61  |U..        B wea|
0000d9d0  70 6f 6e 0d 55 1e 12 2e  71 37 20 20 20 20 20 42  |pon.U...q7     B|
0000d9e0  4c 20 72 6e 64 0d 55 28  1a 20 20 20 20 20 20 20  |L rnd.U(.       |
0000d9f0  20 53 55 42 20 52 30 2c  52 30 2c 23 31 32 38 0d  | SUB R0,R0,#128.|
0000da00  55 32 1b 20 20 20 20 20  20 20 20 4c 44 52 20 52  |U2.        LDR R|
0000da10  34 2c 5b 52 31 31 2c 23  38 5d 0d 55 3c 18 20 20  |4,[R11,#8].U<.  |
0000da20  20 20 20 20 20 20 41 44  44 20 52 34 2c 52 34 2c  |      ADD R4,R4,|
0000da30  52 30 0d 55 46 1b 20 20  20 20 20 20 20 20 53 54  |R0.UF.        ST|
0000da40  52 20 52 34 2c 5b 52 31  31 2c 23 38 5d 0d 55 50  |R R4,[R11,#8].UP|
0000da50  12 20 20 20 20 20 20 20  20 42 4c 20 72 6e 64 0d  |.        BL rnd.|
0000da60  55 5a 1a 20 20 20 20 20  20 20 20 53 55 42 20 52  |UZ.        SUB R|
0000da70  30 2c 52 30 2c 23 31 32  38 0d 55 64 1c 20 20 20  |0,R0,#128.Ud.   |
0000da80  20 20 20 20 20 4c 44 52  20 52 34 2c 5b 52 31 31  |     LDR R4,[R11|
0000da90  2c 23 31 32 5d 0d 55 6e  18 20 20 20 20 20 20 20  |,#12].Un.       |
0000daa0  20 41 44 44 20 52 34 2c  52 34 2c 52 30 0d 55 78  | ADD R4,R4,R0.Ux|
0000dab0  1c 20 20 20 20 20 20 20  20 53 54 52 20 52 34 2c  |.        STR R4,|
0000dac0  5b 52 31 31 2c 23 31 32  5d 0d 55 82 1c 20 20 20  |[R11,#12].U..   |
0000dad0  20 20 20 20 20 4c 44 4d  49 41 20 52 39 2c 7b 52  |     LDMIA R9,{R|
0000dae0  33 2d 52 34 7d 0d 55 8c  16 20 20 20 20 20 20 20  |3-R4}.U..       |
0000daf0  20 4d 4f 56 20 52 35 2c  23 36 30 0d 55 96 14 20  | MOV R5,#60.U.. |
0000db00  20 20 20 20 20 20 20 42  4c 20 61 64 64 65 78 0d  |       BL addex.|
0000db10  55 a0 17 20 20 20 20 20  20 20 20 4d 4f 56 20 52  |U..        MOV R|
0000db20  35 2c 23 31 31 32 0d 55  aa 15 20 20 20 20 20 20  |5,#112.U..      |
0000db30  20 20 42 4c 20 73 6f 75  6e 64 32 0d 55 b4 13 20  |  BL sound2.U.. |
0000db40  20 20 20 20 20 20 20 42  20 72 65 6d 62 6f 0d 55  |       B rembo.U|
0000db50  be 1c 2e 71 31 30 20 20  20 20 4c 44 52 20 52 35  |...q10    LDR R5|
0000db60  2c 5b 52 31 31 2c 23 39  32 5d 0d 55 c8 19 20 20  |,[R11,#92].U..  |
0000db70  20 20 20 20 20 20 41 44  44 20 52 35 2c 52 35 2c  |      ADD R5,R5,|
0000db80  23 36 30 0d 55 d2 1c 20  20 20 20 20 20 20 20 53  |#60.U..        S|
0000db90  54 52 20 52 35 2c 5b 52  31 31 2c 23 39 32 5d 0d  |TR R5,[R11,#92].|
0000dba0  55 dc 13 20 20 20 20 20  20 20 20 42 20 72 65 6d  |U..        B rem|
0000dbb0  62 6f 0d 55 e6 1d 2e 71  31 37 20 20 20 20 4c 44  |bo.U...q17    LD|
0000dbc0  52 20 52 35 2c 5b 52 31  31 2c 23 31 30 30 5d 0d  |R R5,[R11,#100].|
0000dbd0  55 f0 19 20 20 20 20 20  20 20 20 41 44 44 20 52  |U..        ADD R|
0000dbe0  35 2c 52 35 2c 23 36 30  0d 55 fa 1d 20 20 20 20  |5,R5,#60.U..    |
0000dbf0  20 20 20 20 53 54 52 20  52 35 2c 5b 52 31 31 2c  |    STR R5,[R11,|
0000dc00  23 31 30 30 5d 0d 56 04  13 20 20 20 20 20 20 20  |#100].V..       |
0000dc10  20 42 20 72 65 6d 62 6f  0d 56 0e 1c 2e 71 31 31  | B rembo.V...q11|
0000dc20  20 20 20 20 53 54 52 20  52 35 2c 5b 52 31 31 2c  |    STR R5,[R11,|
0000dc30  23 39 36 5d 0d 56 18 13  20 20 20 20 20 20 20 20  |#96].V..        |
0000dc40  42 20 72 65 6d 62 6f 0d  56 22 1e 2e 71 31 38 20  |B rembo.V"..q18 |
0000dc50  20 20 20 53 54 4d 46 44  20 52 31 33 21 2c 7b 52  |   STMFD R13!,{R|
0000dc60  30 2d 52 31 7d 0d 56 2c  12 2e 71 31 38 72 20 20  |0-R1}.V,..q18r  |
0000dc70  20 42 4c 20 72 6e 64 0d  56 36 17 20 20 20 20 20  | BL rnd.V6.     |
0000dc80  20 20 20 80 20 52 35 2c  52 30 2c 23 33 31 0d 56  |   . R5,R0,#31.V|
0000dc90  40 16 20 20 20 20 20 20  20 20 43 4d 50 20 52 35  |@.        CMP R5|
0000dca0  2c 23 32 30 0d 56 4a 14  20 20 20 20 20 20 20 20  |,#20.VJ.        |
0000dcb0  42 47 54 20 71 31 38 72  0d 56 54 1e 20 20 20 20  |BGT q18r.VT.    |
0000dcc0  20 20 20 20 4c 44 4d 49  41 20 52 31 33 21 2c 7b  |    LDMIA R13!,{|
0000dcd0  52 30 2d 52 31 7d 0d 56  5e 14 20 20 20 20 20 20  |R0-R1}.V^.      |
0000dce0  20 20 42 20 65 66 66 65  63 74 0d 56 68 18 2e 71  |  B effect.Vh..q|
0000dcf0  31 39 20 20 20 20 4c 44  52 20 52 33 2c 73 63 6f  |19    LDR R3,sco|
0000dd00  72 65 0d 56 72 19 20 20  20 20 20 20 20 20 41 44  |re.Vr.        AD|
0000dd10  44 20 52 33 2c 52 33 2c  23 39 30 0d 56 7c 18 20  |D R3,R3,#90.V|. |
0000dd20  20 20 20 20 20 20 20 53  54 52 20 52 33 2c 73 63  |       STR R3,sc|
0000dd30  6f 72 65 0d 56 86 13 20  20 20 20 20 20 20 20 42  |ore.V..        B|
0000dd40  20 72 65 6d 62 6f 0d 56  90 12 2e 6e 65 77 72 20  | rembo.V...newr |
0000dd50  20 20 42 4c 20 72 6e 64  0d 56 9a 1b 20 20 20 20  |  BL rnd.V..    |
0000dd60  20 20 20 20 4d 4f 56 20  52 30 2c 52 30 2c 41 53  |    MOV R0,R0,AS|
0000dd70  52 23 33 0d 56 a4 16 20  20 20 20 20 20 20 20 43  |R#3.V..        C|
0000dd80  4d 50 20 52 30 2c 23 31  37 0d 56 ae 14 20 20 20  |MP R0,#17.V..   |
0000dd90  20 20 20 20 20 42 48 49  20 6e 65 77 72 0d 56 b8  |     BHI newr.V.|
0000dda0  15 20 20 20 20 20 20 20  20 4d 4f 56 20 52 35 2c  |.        MOV R5,|
0000ddb0  52 30 0d 56 c2 1e 20 20  20 20 20 20 20 20 4c 44  |R0.V..        LD|
0000ddc0  4d 49 41 20 52 31 33 21  2c 7b 52 30 2d 52 31 7d  |MIA R13!,{R0-R1}|
0000ddd0  0d 56 cc 14 20 20 20 20  20 20 20 20 42 20 65 66  |.V..        B ef|
0000dde0  66 65 63 74 0d 56 d6 22  2e 61 64 64 65 78 20 20  |fect.V.".addex  |
0000ddf0  53 54 4d 46 44 20 52 31  33 21 2c 7b 52 30 2d 52  |STMFD R13!,{R0-R|
0000de00  31 2c 52 31 34 7d 0d 56  e0 19 20 20 20 20 20 20  |1,R14}.V..      |
0000de10  20 20 4c 44 52 20 52 30  2c 65 78 6f 6e 73 63 0d  |  LDR R0,exonsc.|
0000de20  56 ea 18 20 20 20 20 20  20 20 20 4c 44 52 20 52  |V..        LDR R|
0000de30  31 2c 65 78 6d 61 78 0d  56 f4 15 20 20 20 20 20  |1,exmax.V..     |
0000de40  20 20 20 43 4d 50 20 52  31 2c 52 30 0d 56 fe 24  |   CMP R1,R0.V.$|
0000de50  20 20 20 20 20 20 20 20  4c 44 4d 45 51 46 44 20  |        LDMEQFD |
0000de60  52 31 33 21 2c 7b 52 30  2d 52 31 2c 50 43 7d 5e  |R13!,{R0-R1,PC}^|
0000de70  0d 57 08 18 20 20 20 20  20 20 20 20 41 44 44 20  |.W..        ADD |
0000de80  52 30 2c 52 30 2c 23 31  0d 57 12 19 20 20 20 20  |R0,R0,#1.W..    |
0000de90  20 20 20 20 53 54 52 20  52 30 2c 65 78 6f 6e 73  |    STR R0,exons|
0000dea0  63 0d 57 1c 18 20 20 20  20 20 20 20 20 4c 44 52  |c.W..        LDR|
0000deb0  20 52 30 2c 65 78 62 6c  6f 0d 57 26 19 20 20 20  | R0,exblo.W&.   |
0000dec0  20 20 20 20 20 53 55 42  20 52 30 2c 52 30 2c 23  |     SUB R0,R0,#|
0000ded0  31 32 0d 57 30 1c 2e 65  78 73 65 61 72 20 4c 44  |12.W0..exsear LD|
0000dee0  52 20 52 31 2c 5b 52 30  2c 23 31 32 5d 21 0d 57  |R R1,[R0,#12]!.W|
0000def0  3a 18 20 20 20 20 20 20  20 20 43 4d 50 20 52 31  |:.        CMP R1|
0000df00  2c 23 32 35 36 30 0d 57  44 16 20 20 20 20 20 20  |,#2560.WD.      |
0000df10  20 20 42 4e 45 20 65 78  73 65 61 72 0d 57 4e 1c  |  BNE exsear.WN.|
0000df20  20 20 20 20 20 20 20 20  53 54 4d 49 41 20 52 30  |        STMIA R0|
0000df30  2c 7b 52 33 2d 52 35 7d  0d 57 58 22 20 20 20 20  |,{R3-R5}.WX"    |
0000df40  20 20 20 20 4c 44 4d 49  41 20 52 31 33 21 2c 7b  |    LDMIA R13!,{|
0000df50  52 30 2d 52 31 2c 50 43  7d 5e 0d 57 62 1b 2e 65  |R0-R1,PC}^.Wb..e|
0000df60  78 65 6e 64 20 20 53 55  42 53 20 52 31 30 2c 52  |xend  SUBS R10,R|
0000df70  31 30 2c 23 31 0d 57 6c  16 20 20 20 20 20 20 20  |10,#1.Wl.       |
0000df80  20 42 50 4c 20 65 78 6c  6f 6f 70 0d 57 76 14 20  | BPL exloop.Wv. |
0000df90  20 20 20 20 20 20 20 42  20 67 65 74 65 73 63 0d  |       B getesc.|
0000dfa0  57 80 18 2e 65 78 67 6f  20 20 20 4d 4f 56 20 52  |W...exgo   MOV R|
0000dfb0  36 2c 23 32 35 36 30 0d  57 8a 1d 20 20 20 20 20  |6,#2560.W..     |
0000dfc0  20 20 20 53 54 52 20 52  36 2c 5b 52 31 31 2c 23  |   STR R6,[R11,#|
0000dfd0  2d 31 32 5d 0d 57 94 19  20 20 20 20 20 20 20 20  |-12].W..        |
0000dfe0  4c 44 52 20 52 36 2c 65  78 6f 6e 73 63 0d 57 9e  |LDR R6,exonsc.W.|
0000dff0  18 20 20 20 20 20 20 20  20 53 55 42 20 52 36 2c  |.        SUB R6,|
0000e000  52 36 2c 23 31 0d 57 a8  19 20 20 20 20 20 20 20  |R6,#1.W..       |
0000e010  20 53 54 52 20 52 36 2c  65 78 6f 6e 73 63 0d 57  | STR R6,exonsc.W|
0000e020  b2 19 2e 65 78 61 6e 69  6d 20 4c 44 52 20 52 31  |...exanim LDR R1|
0000e030  31 2c 65 78 62 6c 6f 0d  57 bc 19 20 20 20 20 20  |1,exblo.W..     |
0000e040  20 20 20 4c 44 52 20 52  31 30 2c 65 78 6d 61 78  |   LDR R10,exmax|
0000e050  0d 57 c6 18 20 20 20 20  20 20 20 20 4c 44 52 20  |.W..        LDR |
0000e060  52 32 2c 65 78 73 70 72  0d 57 d0 12 20 20 20 20  |R2,exspr.W..    |
0000e070  20 20 20 20 42 4c 20 72  6e 64 0d 57 da 1b 20 20  |    BL rnd.W..  |
0000e080  20 20 20 20 20 20 4d 4f  56 20 52 30 2c 52 30 2c  |      MOV R0,R0,|
0000e090  41 53 52 23 36 0d 57 e4  20 20 20 20 20 20 20 20  |ASR#6.W.        |
0000e0a0  20 4c 44 52 20 52 32 2c  5b 52 32 2c 52 30 2c 41  | LDR R2,[R2,R0,A|
0000e0b0  53 4c 23 32 5d 0d 57 ee  15 20 20 20 20 20 20 20  |SL#2].W..       |
0000e0c0  20 4d 4f 56 20 52 35 2c  23 38 0d 57 f8 21 2e 65  | MOV R5,#8.W.!.e|
0000e0d0  78 6c 6f 6f 70 20 4c 44  4d 49 41 20 52 31 31 21  |xloop LDMIA R11!|
0000e0e0  2c 7b 52 33 2c 52 34 2c  52 36 7d 0d 58 02 18 20  |,{R3,R4,R6}.X.. |
0000e0f0  20 20 20 20 20 20 20 43  4d 50 20 52 33 2c 23 32  |       CMP R3,#2|
0000e100  35 36 30 0d 58 0c 15 20  20 20 20 20 20 20 20 42  |560.X..        B|
0000e110  45 51 20 65 78 65 6e 64  0d 58 16 19 20 20 20 20  |EQ exend.X..    |
0000e120  20 20 20 20 53 55 42 53  20 52 36 2c 52 36 2c 23  |    SUBS R6,R6,#|
0000e130  31 0d 58 20 1c 20 20 20  20 20 20 20 20 53 54 52  |1.X .        STR|
0000e140  20 52 36 2c 5b 52 31 31  2c 23 2d 34 5d 0d 58 2a  | R6,[R11,#-4].X*|
0000e150  14 20 20 20 20 20 20 20  20 42 4d 49 20 65 78 67  |.        BMI exg|
0000e160  6f 0d 58 34 12 20 20 20  20 20 20 20 20 42 4c 20  |o.X4.        BL |
0000e170  72 6e 64 0d 58 3e 1a 20  20 20 20 20 20 20 20 53  |rnd.X>.        S|
0000e180  55 42 20 52 30 2c 52 30  2c 23 31 32 38 0d 58 48  |UB R0,R0,#128.XH|
0000e190  1e 20 20 20 20 20 20 20  20 41 44 44 20 52 33 2c  |.        ADD R3,|
0000e1a0  52 33 2c 52 30 2c 41 53  52 23 32 0d 58 52 12 20  |R3,R0,ASR#2.XR. |
0000e1b0  20 20 20 20 20 20 20 42  4c 20 72 6e 64 0d 58 5c  |       BL rnd.X\|
0000e1c0  1a 20 20 20 20 20 20 20  20 53 55 42 20 52 30 2c  |.        SUB R0,|
0000e1d0  52 30 2c 23 31 32 38 0d  58 66 1e 20 20 20 20 20  |R0,#128.Xf.     |
0000e1e0  20 20 20 41 44 44 20 52  34 2c 52 34 2c 52 30 2c  |   ADD R4,R4,R0,|
0000e1f0  41 53 52 23 32 0d 58 70  13 20 20 20 20 20 20 20  |ASR#2.Xp.       |
0000e200  20 42 4c 20 70 6c 65 78  0d 58 7a 12 20 20 20 20  | BL plex.Xz.    |
0000e210  20 20 20 20 42 4c 20 72  6e 64 0d 58 84 1a 20 20  |    BL rnd.X..  |
0000e220  20 20 20 20 20 20 53 55  42 20 52 30 2c 52 30 2c  |      SUB R0,R0,|
0000e230  23 31 32 38 0d 58 8e 1e  20 20 20 20 20 20 20 20  |#128.X..        |
0000e240  41 44 44 20 52 33 2c 52  33 2c 52 30 2c 41 53 52  |ADD R3,R3,R0,ASR|
0000e250  23 32 0d 58 98 12 20 20  20 20 20 20 20 20 42 4c  |#2.X..        BL|
0000e260  20 72 6e 64 0d 58 a2 1a  20 20 20 20 20 20 20 20  | rnd.X..        |
0000e270  53 55 42 20 52 30 2c 52  30 2c 23 31 32 38 0d 58  |SUB R0,R0,#128.X|
0000e280  ac 1e 20 20 20 20 20 20  20 20 41 44 44 20 52 34  |..        ADD R4|
0000e290  2c 52 34 2c 52 30 2c 41  53 52 23 32 0d 58 b6 13  |,R4,R0,ASR#2.X..|
0000e2a0  20 20 20 20 20 20 20 20  42 4c 20 70 6c 65 78 0d  |        BL plex.|
0000e2b0  58 c0 13 20 20 20 20 20  20 20 20 42 20 65 78 65  |X..        B exe|
0000e2c0  6e 64 0d 58 ca 15 2e 65  6e 64 67 61 6d 20 4d 4f  |nd.X...endgam MO|
0000e2d0  56 20 52 30 2c 23 30 0d  58 d4 19 20 20 20 20 20  |V R0,#0.X..     |
0000e2e0  20 20 20 53 54 52 20 52  30 2c 62 69 74 66 6c 67  |   STR R0,bitflg|
0000e2f0  0d 58 de 17 20 20 20 20  20 20 20 20 4d 4f 56 20  |.X..        MOV |
0000e300  52 30 2c 23 31 31 32 0d  58 e8 15 20 20 20 20 20  |R0,#112.X..     |
0000e310  20 20 20 4d 4f 56 20 52  31 2c 23 31 0d 58 f2 11  |   MOV R1,#1.X..|
0000e320  20 20 20 20 20 20 20 20  53 57 49 20 36 0d 58 fc  |        SWI 6.X.|
0000e330  17 20 20 20 20 20 20 20  20 4d 4f 56 20 52 30 2c  |.        MOV R0,|
0000e340  23 31 31 33 0d 59 06 15  20 20 20 20 20 20 20 20  |#113.Y..        |
0000e350  4d 4f 56 20 52 31 2c 23  31 0d 59 10 11 20 20 20  |MOV R1,#1.Y..   |
0000e360  20 20 20 20 20 53 57 49  20 36 0d 59 1a 16 20 20  |     SWI 6.Y..  |
0000e370  20 20 20 20 20 20 4d 4f  56 20 52 31 2c 23 38 30  |      MOV R1,#80|
0000e380  0d 59 24 13 20 20 20 20  20 20 20 20 42 4c 20 77  |.Y$.        BL w|
0000e390  61 69 74 0d 59 2e 13 20  20 20 20 20 20 20 20 42  |ait.Y..        B|
0000e3a0  20 6c 6f 73 65 6c 0d 59  38 16 2e 6f 66 66 6c 65  | losel.Y8..offle|
0000e3b0  20 20 43 4d 50 20 52 31  34 2c 23 35 0d 59 42 16  |  CMP R14,#5.YB.|
0000e3c0  20 20 20 20 20 20 20 20  42 4e 45 20 6f 66 66 73  |        BNE offs|
0000e3d0  63 72 0d 59 4c 1e 20 20  20 20 20 20 20 20 53 54  |cr.YL.        ST|
0000e3e0  4d 46 44 20 52 31 33 21  2c 7b 52 30 2d 52 31 7d  |MFD R13!,{R0-R1}|
0000e3f0  0d 59 56 12 20 20 20 20  20 20 20 20 42 4c 20 72  |.YV.        BL r|
0000e400  6e 64 0d 59 60 16 20 20  20 20 20 20 20 20 43 4d  |nd.Y`.        CM|
0000e410  50 20 52 30 2c 23 31 30  0d 59 6a 1e 20 20 20 20  |P R0,#10.Yj.    |
0000e420  20 20 20 20 4c 44 4d 49  41 20 52 31 33 21 2c 7b  |    LDMIA R13!,{|
0000e430  52 30 2d 52 31 7d 0d 59  74 16 20 20 20 20 20 20  |R0-R1}.Yt.      |
0000e440  20 20 42 4c 54 20 6f 66  66 73 63 72 0d 59 7e 18  |  BLT offscr.Y~.|
0000e450  20 20 20 20 20 20 20 20  52 53 42 20 52 35 2c 52  |        RSB R5,R|
0000e460  35 2c 23 30 0d 59 88 1c  20 20 20 20 20 20 20 20  |5,#0.Y..        |
0000e470  53 54 52 20 52 35 2c 5b  52 31 31 2c 23 32 38 5d  |STR R5,[R11,#28]|
0000e480  0d 59 92 11 20 20 20 20  20 20 20 20 42 20 62 72  |.Y..        B br|
0000e490  69 0d 59 9c 16 2e 6f 66  66 62 6f 20 20 43 4d 50  |i.Y...offbo  CMP|
0000e4a0  20 52 31 34 2c 23 35 0d  59 a6 16 20 20 20 20 20  | R14,#5.Y..     |
0000e4b0  20 20 20 42 4e 45 20 6f  66 66 73 63 72 0d 59 b0  |   BNE offscr.Y.|
0000e4c0  1e 20 20 20 20 20 20 20  20 53 54 4d 46 44 20 52  |.        STMFD R|
0000e4d0  31 33 21 2c 7b 52 30 2d  52 31 7d 0d 59 ba 12 20  |13!,{R0-R1}.Y.. |
0000e4e0  20 20 20 20 20 20 20 42  4c 20 72 6e 64 0d 59 c4  |       BL rnd.Y.|
0000e4f0  16 20 20 20 20 20 20 20  20 43 4d 50 20 52 30 2c  |.        CMP R0,|
0000e500  23 31 30 0d 59 ce 1e 20  20 20 20 20 20 20 20 4c  |#10.Y..        L|
0000e510  44 4d 49 41 20 52 31 33  21 2c 7b 52 30 2d 52 31  |DMIA R13!,{R0-R1|
0000e520  7d 0d 59 d8 16 20 20 20  20 20 20 20 20 42 4c 54  |}.Y..        BLT|
0000e530  20 6f 66 66 73 63 72 0d  59 e2 18 20 20 20 20 20  | offscr.Y..     |
0000e540  20 20 20 52 53 42 20 52  36 2c 52 36 2c 23 30 0d  |   RSB R6,R6,#0.|
0000e550  59 ec 1c 20 20 20 20 20  20 20 20 53 54 52 20 52  |Y..        STR R|
0000e560  36 2c 5b 52 31 31 2c 23  33 32 5d 0d 59 f6 11 20  |6,[R11,#32].Y.. |
0000e570  20 20 20 20 20 20 20 42  20 62 74 6f 0d 5a 00 1e  |       B bto.Z..|
0000e580  2e 6f 66 66 6f 62 20 20  53 54 4d 46 44 20 52 31  |.offob  STMFD R1|
0000e590  33 21 2c 7b 52 30 2d 52  31 7d 0d 5a 0a 12 20 20  |3!,{R0-R1}.Z..  |
0000e5a0  20 20 20 20 20 20 42 4c  20 72 6e 64 0d 5a 14 16  |      BL rnd.Z..|
0000e5b0  20 20 20 20 20 20 20 20  43 4d 50 20 52 30 2c 23  |        CMP R0,#|
0000e5c0  31 30 0d 5a 1e 1e 20 20  20 20 20 20 20 20 4c 44  |10.Z..        LD|
0000e5d0  4d 49 41 20 52 31 33 21  2c 7b 52 30 2d 52 31 7d  |MIA R13!,{R0-R1}|
0000e5e0  0d 5a 28 16 20 20 20 20  20 20 20 20 42 4c 54 20  |.Z(.        BLT |
0000e5f0  6f 66 66 73 63 72 0d 5a  32 1c 20 20 20 20 20 20  |offscr.Z2.      |
0000e600  20 20 4c 44 52 20 52 35  2c 5b 52 31 31 2c 23 32  |  LDR R5,[R11,#2|
0000e610  38 5d 0d 5a 3c 1c 20 20  20 20 20 20 20 20 4c 44  |8].Z<.        LD|
0000e620  52 20 52 36 2c 5b 52 31  31 2c 23 33 32 5d 0d 5a  |R R6,[R11,#32].Z|
0000e630  46 18 20 20 20 20 20 20  20 20 52 53 42 20 52 35  |F.        RSB R5|
0000e640  2c 52 35 2c 23 30 0d 5a  50 18 20 20 20 20 20 20  |,R5,#0.ZP.      |
0000e650  20 20 52 53 42 20 52 36  2c 52 36 2c 23 30 0d 5a  |  RSB R6,R6,#0.Z|
0000e660  5a 1c 20 20 20 20 20 20  20 20 53 54 52 20 52 35  |Z.        STR R5|
0000e670  2c 5b 52 31 31 2c 23 32  38 5d 0d 5a 64 1c 20 20  |,[R11,#28].Zd.  |
0000e680  20 20 20 20 20 20 53 54  52 20 52 36 2c 5b 52 31  |      STR R6,[R1|
0000e690  31 2c 23 33 32 5d 0d 5a  6e 14 20 20 20 20 20 20  |1,#32].Zn.      |
0000e6a0  20 20 42 20 6d 69 73 62  61 72 0d 5a 78 17 2e 61  |  B misbar.Zx..a|
0000e6b0  63 63 65 6c 20 20 4d 4f  56 20 52 31 34 2c 23 36  |ccel  MOV R14,#6|
0000e6c0  38 0d 5a 82 19 20 20 20  20 20 20 20 20 4d 55 4c  |8.Z..        MUL|
0000e6d0  20 52 35 2c 52 31 34 2c  52 35 0d 5a 8c 19 20 20  | R5,R14,R5.Z..  |
0000e6e0  20 20 20 20 20 20 4d 55  4c 20 52 36 2c 52 31 34  |      MUL R6,R14|
0000e6f0  2c 52 36 0d 5a 96 1b 20  20 20 20 20 20 20 20 4d  |,R6.Z..        M|
0000e700  4f 56 20 52 35 2c 52 35  2c 41 53 52 23 36 0d 5a  |OV R5,R5,ASR#6.Z|
0000e710  a0 1b 20 20 20 20 20 20  20 20 4d 4f 56 20 52 36  |..        MOV R6|
0000e720  2c 52 36 2c 41 53 52 23  36 0d 5a aa 1c 20 20 20  |,R6,ASR#6.Z..   |
0000e730  20 20 20 20 20 53 54 52  20 52 35 2c 5b 52 31 31  |     STR R5,[R11|
0000e740  2c 23 32 38 5d 0d 5a b4  1c 20 20 20 20 20 20 20  |,#28].Z..       |
0000e750  20 53 54 52 20 52 36 2c  5b 52 31 31 2c 23 33 32  | STR R6,[R11,#32|
0000e760  5d 0d 5a be 13 20 20 20  20 20 20 20 20 42 20 6d  |].Z..        B m|
0000e770  69 73 73 72 0d 5a c8 1e  2e 73 70 74 68 20 20 20  |issr.Z...spth   |
0000e780  53 54 4d 46 44 20 52 31  33 21 2c 7b 52 30 2d 52  |STMFD R13!,{R0-R|
0000e790  37 7d 0d 5a d2 18 20 20  20 20 20 20 20 20 4c 44  |7}.Z..        LD|
0000e7a0  52 20 52 36 2c 74 61 62  6c 65 0d 5a dc 15 20 20  |R R6,table.Z..  |
0000e7b0  20 20 20 20 20 20 4d 4f  56 20 52 37 2c 52 32 0d  |      MOV R7,R2.|
0000e7c0  5a e6 19 20 20 20 20 20  20 20 20 4c 44 52 20 52  |Z..        LDR R|
0000e7d0  32 2c 73 70 69 6e 6e 65  0d 5a f0 19 20 20 20 20  |2,spinne.Z..    |
0000e7e0  20 20 20 20 41 44 44 20  52 37 2c 52 37 2c 23 31  |    ADD R7,R7,#1|
0000e7f0  30 0d 5a fa 17 20 20 20  20 20 20 20 20 43 4d 50  |0.Z..        CMP|
0000e800  20 52 37 2c 23 32 38 38  0d 5b 04 17 20 20 20 20  | R7,#288.[..    |
0000e810  20 20 20 20 4d 4f 56 47  45 20 52 37 2c 23 31 0d  |    MOVGE R7,#1.|
0000e820  5b 0e 1c 20 20 20 20 20  20 20 20 53 54 52 20 52  |[..        STR R|
0000e830  37 2c 5b 52 31 31 2c 23  39 36 5d 0d 5b 18 1b 20  |7,[R11,#96].[.. |
0000e840  20 20 20 20 20 20 20 4d  4f 56 20 52 37 2c 52 37  |       MOV R7,R7|
0000e850  2c 41 53 52 23 33 0d 5b  22 1e 20 20 20 20 20 20  |,ASR#3.[".      |
0000e860  20 20 41 44 44 20 52 37  2c 52 36 2c 52 37 2c 41  |  ADD R7,R6,R7,A|
0000e870  53 4c 23 33 0d 5b 2c 1c  20 20 20 20 20 20 20 20  |SL#3.[,.        |
0000e880  4c 44 4d 49 41 20 52 37  2c 7b 52 36 2d 52 37 7d  |LDMIA R7,{R6-R7}|
0000e890  0d 5b 36 18 20 20 20 20  20 20 20 20 41 44 44 20  |.[6.        ADD |
0000e8a0  52 33 2c 52 33 2c 52 36  0d 5b 40 18 20 20 20 20  |R3,R3,R6.[@.    |
0000e8b0  20 20 20 20 41 44 44 20  52 34 2c 52 34 2c 52 37  |    ADD R4,R4,R7|
0000e8c0  0d 5b 4a 12 20 20 20 20  20 20 20 20 53 57 49 20  |.[J.        SWI |
0000e8d0  34 36 0d 5b 54 1c 20 20  20 20 20 20 20 20 4d 4f  |46.[T.        MO|
0000e8e0  56 20 52 33 2c 52 33 2c  41 53 4c 23 73 68 0d 5b  |V R3,R3,ASL#sh.[|
0000e8f0  5e 1c 20 20 20 20 20 20  20 20 4d 4f 56 20 52 34  |^.        MOV R4|
0000e900  2c 52 34 2c 41 53 4c 23  73 68 0d 5b 68 16 20 20  |,R4,ASL#sh.[h.  |
0000e910  20 20 20 20 20 20 4d 4f  56 20 52 32 2c 23 70 6c  |      MOV R2,#pl|
0000e920  0d 5b 72 18 20 20 20 20  20 20 20 20 4c 44 52 20  |.[r.        LDR |
0000e930  52 35 2c 62 6c 6f 63 6b  0d 5b 7c 17 2e 71 75 69  |R5,block.[|..qui|
0000e940  63 6b 68 20 4c 44 52 20  52 36 2c 6c 65 66 74 0d  |ckh LDR R6,left.|
0000e950  5b 86 15 20 20 20 20 20  20 20 20 43 4d 50 20 52  |[..        CMP R|
0000e960  32 2c 52 36 0d 5b 90 16  20 20 20 20 20 20 20 20  |2,R6.[..        |
0000e970  42 45 51 20 6e 6f 74 6f  6f 70 0d 5b 9a 17 20 20  |BEQ notoop.[..  |
0000e980  20 20 20 20 20 20 4c 44  52 20 52 36 2c 5b 52 35  |      LDR R6,[R5|
0000e990  5d 0d 5b a4 19 20 20 20  20 20 20 20 20 53 55 42  |].[..        SUB|
0000e9a0  53 20 52 36 2c 52 36 2c  52 33 0d 5b ae 1a 20 20  |S R6,R6,R3.[..  |
0000e9b0  20 20 20 20 20 20 52 53  42 4d 49 20 52 36 2c 52  |      RSBMI R6,R|
0000e9c0  36 2c 23 30 0d 5b b8 18  20 20 20 20 20 20 20 20  |6,#0.[..        |
0000e9d0  43 4d 50 20 52 36 2c 23  38 30 2a 6a 0d 5b c2 16  |CMP R6,#80*j.[..|
0000e9e0  20 20 20 20 20 20 20 20  42 47 54 20 6e 6f 74 6f  |        BGT noto|
0000e9f0  6f 70 0d 5b cc 1a 20 20  20 20 20 20 20 20 4c 44  |op.[..        LD|
0000ea00  52 20 52 36 2c 5b 52 35  2c 23 34 5d 0d 5b d6 19  |R R6,[R5,#4].[..|
0000ea10  20 20 20 20 20 20 20 20  53 55 42 53 20 52 36 2c  |        SUBS R6,|
0000ea20  52 36 2c 52 34 0d 5b e0  1a 20 20 20 20 20 20 20  |R6,R4.[..       |
0000ea30  20 52 53 42 4d 49 20 52  36 2c 52 36 2c 23 30 0d  | RSBMI R6,R6,#0.|
0000ea40  5b ea 18 20 20 20 20 20  20 20 20 43 4d 50 20 52  |[..        CMP R|
0000ea50  36 2c 23 38 30 2a 6a 0d  5b f4 16 20 20 20 20 20  |6,#80*j.[..     |
0000ea60  20 20 20 42 47 54 20 6e  6f 74 6f 6f 70 0d 5b fe  |   BGT notoop.[.|
0000ea70  1b 20 20 20 20 20 20 20  20 4c 44 52 20 52 36 2c  |.        LDR R6,|
0000ea80  5b 52 35 2c 23 32 30 5d  0d 5c 08 18 20 20 20 20  |[R5,#20].\..    |
0000ea90  20 20 20 20 53 55 42 20  52 36 2c 52 36 2c 23 31  |    SUB R6,R6,#1|
0000eaa0  0d 5c 12 1b 20 20 20 20  20 20 20 20 53 54 52 20  |.\..        STR |
0000eab0  52 36 2c 5b 52 35 2c 23  32 30 5d 0d 5c 1c 15 20  |R6,[R5,#20].\.. |
0000eac0  20 20 20 20 20 20 20 4d  4f 56 20 52 35 2c 23 38  |       MOV R5,#8|
0000ead0  0d 5c 26 1c 20 20 20 20  20 20 20 20 4d 4f 56 20  |.\&.        MOV |
0000eae0  52 33 2c 52 33 2c 41 53  52 23 73 68 0d 5c 30 1c  |R3,R3,ASR#sh.\0.|
0000eaf0  20 20 20 20 20 20 20 20  4d 4f 56 20 52 34 2c 52  |        MOV R4,R|
0000eb00  34 2c 41 53 52 23 73 68  0d 5c 3a 1b 20 20 20 20  |4,ASR#sh.\:.    |
0000eb10  20 20 20 20 53 54 4d 46  44 20 52 31 33 21 2c 7b  |    STMFD R13!,{|
0000eb20  52 32 7d 0d 5c 44 19 20  20 20 20 20 20 20 20 4c  |R2}.\D.        L|
0000eb30  44 52 20 52 30 2c 73 70  70 6c 6f 74 0d 5c 4e 19  |DR R0,spplot.\N.|
0000eb40  20 20 20 20 20 20 20 20  4c 44 52 20 52 31 2c 73  |        LDR R1,s|
0000eb50  70 61 72 65 61 0d 5c 58  18 20 20 20 20 20 20 20  |parea.\X.       |
0000eb60  20 4c 44 52 20 52 32 2c  65 78 73 70 72 0d 5c 62  | LDR R2,exspr.\b|
0000eb70  1a 20 20 20 20 20 20 20  20 4c 44 52 20 52 32 2c  |.        LDR R2,|
0000eb80  5b 52 32 2c 23 34 5d 0d  5c 6c 12 20 20 20 20 20  |[R2,#4].\l.     |
0000eb90  20 20 20 53 57 49 20 34  36 0d 5c 76 1b 20 20 20  |   SWI 46.\v.   |
0000eba0  20 20 20 20 20 4c 44 4d  49 41 20 52 31 33 21 2c  |     LDMIA R13!,|
0000ebb0  7b 52 32 7d 0d 5c 80 15  20 20 20 20 20 20 20 20  |{R2}.\..        |
0000ebc0  4d 4f 56 20 52 35 2c 23  30 0d 5c 8a 15 20 20 20  |MOV R5,#0.\..   |
0000ebd0  20 20 20 20 20 42 4c 20  73 6f 75 6e 64 32 0d 5c  |     BL sound2.\|
0000ebe0  94 12 20 20 20 20 20 20  20 20 42 4c 20 72 6e 64  |..        BL rnd|
0000ebf0  0d 5c 9e 15 20 20 20 20  20 20 20 20 43 4d 50 20  |.\..        CMP |
0000ec00  52 30 2c 23 33 0d 5c a8  17 20 20 20 20 20 20 20  |R0,#3.\..       |
0000ec10  20 4d 4f 56 4c 54 20 52  30 2c 23 30 0d 5c b2 1e  | MOVLT R0,#0.\..|
0000ec20  20 20 20 20 20 20 20 20  53 54 52 4c 54 20 52 30  |        STRLT R0|
0000ec30  2c 5b 52 31 31 2c 23 39  36 5d 0d 5c bc 1a 2e 6e  |,[R11,#96].\...n|
0000ec40  6f 74 6f 6f 70 20 41 44  44 20 52 35 2c 52 35 2c  |otoop ADD R5,R5,|
0000ec50  23 31 32 38 0d 5c c6 19  20 20 20 20 20 20 20 20  |#128.\..        |
0000ec60  53 55 42 53 20 52 32 2c  52 32 2c 23 31 0d 5c d0  |SUBS R2,R2,#1.\.|
0000ec70  16 20 20 20 20 20 20 20  20 42 50 4c 20 71 75 69  |.        BPL qui|
0000ec80  63 6b 68 0d 5c da 1e 20  20 20 20 20 20 20 20 4c  |ckh.\..        L|
0000ec90  44 4d 49 41 20 52 31 33  21 2c 7b 52 30 2d 52 37  |DMIA R13!,{R0-R7|
0000eca0  7d 0d 5c e4 14 20 20 20  20 20 20 20 20 42 20 65  |}.\..        B e|
0000ecb0  6e 64 73 70 74 0d 5c ee  19 2e 72 65 74 6c 65 76  |ndspt.\...retlev|
0000ecc0  20 4c 44 52 20 52 30 2c  64 6c 65 76 65 6c 0d 5c  | LDR R0,dlevel.\|
0000ecd0  f8 16 20 20 20 20 20 20  20 20 4d 4f 56 20 50 43  |..        MOV PC|
0000ece0  2c 52 31 34 0d 5d 02 19  2e 70 6c 61 63 65 72 20  |,R14.]...placer |
0000ecf0  53 54 52 20 52 30 2c 64  6c 65 76 65 6c 0d 5d 0c  |STR R0,dlevel.].|
0000ed00  16 20 20 20 20 20 20 20  20 4d 4f 56 20 50 43 2c  |.        MOV PC,|
0000ed10  52 31 34 0d 5d 16 12 2e  64 6c 65 76 65 6c 20 45  |R14.]...dlevel E|
0000ed20  51 55 44 20 30 0d 5d 20  1a 2e 74 61 73 6b 20 20  |QUD 0.] ..task  |
0000ed30  20 45 51 55 44 20 26 34  42 35 33 34 31 35 34 0d  | EQUD &4B534154.|
0000ed40  5d 2a 16 2e 74 65 6d 70  20 20 20 45 51 55 44 20  |]*..temp   EQUD |
0000ed50  74 65 6d 70 25 0d 5d 34  20 2e 6e 61 6d 65 20 20  |temp%.]4 .name  |
0000ed60  20 45 51 55 53 20 22 43  61 72 73 22 2b bd 30 3a  | EQUS "Cars"+.0:|
0000ed70  41 4c 49 47 4e 0d 5d 3e  4c 2e 69 63 6f 6e 64 20  |ALIGN.]>L.icond |
0000ed80  20 45 51 55 44 20 2d 31  3a 45 51 55 44 20 30 3a  | EQUD -1:EQUD 0:|
0000ed90  45 51 55 44 20 30 3a 45  51 55 44 20 37 34 3a 45  |EQUD 0:EQUD 74:E|
0000eda0  51 55 44 20 36 38 3a 45  51 55 44 20 26 33 30 30  |QUD 68:EQUD &300|
0000edb0  32 3a 45 51 55 53 20 22  21 43 61 72 73 22 2b bd  |2:EQUS "!Cars"+.|
0000edc0  30 0d 5d 48 19 20 20 20  20 20 20 20 20 45 51 55  |0.]H.        EQU|
0000edd0  42 20 30 3a 45 51 55 44  20 30 0d 5d 52 30 2e 74  |B 0:EQUD 0.]R0.t|
0000ede0  65 6d 70 6c 20 20 45 51  55 53 20 22 3c 4f 62 65  |empl  EQUS "<Obe|
0000edf0  79 24 44 69 72 3e 2e 54  65 6d 70 6c 61 74 65 73  |y$Dir>.Templates|
0000ee00  22 2b bd 30 3a 41 4c 49  47 4e 0d 5d 5c 20 2e 74  |"+.0:ALIGN.]\ .t|
0000ee10  65 6d 70 77 20 20 45 51  55 53 20 22 49 6e 66 6f  |empw  EQUS "Info|
0000ee20  22 2b bd 30 3a 41 4c 49  47 4e 0d 5d 66 21 2e 74  |"+.0:ALIGN.]f!.t|
0000ee30  65 6d 70 77 32 20 45 51  55 53 20 22 42 6f 6e 75  |empw2 EQUS "Bonu|
0000ee40  73 22 2b bd 30 3a 41 4c  49 47 4e 0d 5d 70 12 2e  |s"+.0:ALIGN.]p..|
0000ee50  6f 6c 64 73 74 20 20 45  51 55 44 20 30 0d 5d 7a  |oldst  EQUD 0.]z|
0000ee60  12 2e 74 61 73 6b 68 20  20 45 51 55 44 20 30 0d  |..taskh  EQUD 0.|
0000ee70  5d 84 17 2e 64 65 73 6b  74 20 20 4d 4f 56 20 52  |]...deskt  MOV R|
0000ee80  30 2c 23 32 30 30 0d 5d  8e 17 20 20 20 20 20 20  |0,#200.]..      |
0000ee90  20 20 4c 44 52 20 52 31  2c 74 61 73 6b 0d 5d 98  |  LDR R1,task.].|
0000eea0  17 20 20 20 20 20 20 20  20 41 44 52 20 52 32 2c  |.        ADR R2,|
0000eeb0  6e 61 6d 65 0d 5d a2 21  20 20 20 20 20 20 20 20  |name.].!        |
0000eec0  53 57 49 20 22 57 69 6d  70 5f 49 6e 69 74 69 61  |SWI "Wimp_Initia|
0000eed0  6c 69 73 65 22 0d 5d ac  18 20 20 20 20 20 20 20  |lise".]..       |
0000eee0  20 53 54 52 20 52 31 2c  74 61 73 6b 68 0d 5d b6  | STR R1,taskh.].|
0000eef0  18 20 20 20 20 20 20 20  20 41 44 52 20 52 31 2c  |.        ADR R1,|
0000ef00  74 65 6d 70 6c 0d 5d c0  23 20 20 20 20 20 20 20  |templ.].#       |
0000ef10  20 53 57 49 20 22 57 69  6d 70 5f 4f 70 65 6e 54  | SWI "Wimp_OpenT|
0000ef20  65 6d 70 6c 61 74 65 22  0d 5d ca 18 20 20 20 20  |emplate".]..    |
0000ef30  20 20 20 20 4c 44 52 20  52 31 2c 77 69 6d 70 62  |    LDR R1,wimpb|
0000ef40  0d 5d d4 17 20 20 20 20  20 20 20 20 4c 44 52 20  |.]..        LDR |
0000ef50  52 32 2c 74 65 6d 70 0d  5d de 1b 20 20 20 20 20  |R2,temp.]..     |
0000ef60  20 20 20 41 44 44 20 52  33 2c 52 32 2c 23 32 30  |   ADD R3,R2,#20|
0000ef70  34 38 0d 5d e8 15 20 20  20 20 20 20 20 20 4d 4f  |48.]..        MO|
0000ef80  56 20 52 38 2c 52 33 0d  5d f2 15 20 20 20 20 20  |V R8,R3.]..     |
0000ef90  20 20 20 4d 56 4e 20 52  34 2c 23 30 0d 5d fc 19  |   MVN R4,#0.]..|
0000efa0  20 20 20 20 20 20 20 20  41 44 52 20 52 35 2c 74  |        ADR R5,t|
0000efb0  65 6d 70 77 32 0d 5e 06  15 20 20 20 20 20 20 20  |empw2.^..       |
0000efc0  20 4d 4f 56 20 52 36 2c  23 30 0d 5e 10 23 20 20  | MOV R6,#0.^.#  |
0000efd0  20 20 20 20 20 20 53 57  49 20 22 57 69 6d 70 5f  |      SWI "Wimp_|
0000efe0  4c 6f 61 64 54 65 6d 70  6c 61 74 65 22 0d 5e 1a  |LoadTemplate".^.|
0000eff0  15 20 20 20 20 20 20 20  20 4d 4f 56 20 52 39 2c  |.        MOV R9,|
0000f000  52 32 0d 5e 24 18 20 20  20 20 20 20 20 20 4c 44  |R2.^$.        LD|
0000f010  52 20 52 31 2c 77 69 6d  70 62 0d 5e 2e 19 20 20  |R R1,wimpb.^..  |
0000f020  20 20 20 20 20 20 4c 44  52 20 52 30 2c 73 70 61  |      LDR R0,spa|
0000f030  72 65 61 0d 5e 38 1b 20  20 20 20 20 20 20 20 53  |rea.^8.        S|
0000f040  54 52 20 52 30 2c 5b 52  31 2c 23 36 34 5d 0d 5e  |TR R0,[R1,#64].^|
0000f050  42 23 20 20 20 20 20 20  20 20 53 57 49 20 22 57  |B#        SWI "W|
0000f060  69 6d 70 5f 43 72 65 61  74 65 57 69 6e 64 6f 77  |imp_CreateWindow|
0000f070  22 0d 5e 4c 18 20 20 20  20 20 20 20 20 53 54 52  |".^L.        STR|
0000f080  20 52 30 2c 62 6f 6e 77  25 0d 5e 56 18 20 20 20  | R0,bonw%.^V.   |
0000f090  20 20 20 20 20 4c 44 52  20 52 31 2c 77 69 6d 70  |     LDR R1,wimp|
0000f0a0  62 0d 5e 60 18 20 20 20  20 20 20 20 20 4c 44 52  |b.^`.        LDR|
0000f0b0  20 52 31 2c 77 69 6d 70  62 0d 5e 6a 15 20 20 20  | R1,wimpb.^j.   |
0000f0c0  20 20 20 20 20 4d 4f 56  20 52 32 2c 52 39 0d 5e  |     MOV R2,R9.^|
0000f0d0  74 15 20 20 20 20 20 20  20 20 4d 4f 56 20 52 33  |t.        MOV R3|
0000f0e0  2c 52 38 0d 5e 7e 15 20  20 20 20 20 20 20 20 4d  |,R8.^~.        M|
0000f0f0  56 4e 20 52 34 2c 23 30  0d 5e 88 18 20 20 20 20  |VN R4,#0.^..    |
0000f100  20 20 20 20 41 44 52 20  52 35 2c 74 65 6d 70 77  |    ADR R5,tempw|
0000f110  0d 5e 92 15 20 20 20 20  20 20 20 20 4d 4f 56 20  |.^..        MOV |
0000f120  52 36 2c 23 30 0d 5e 9c  23 20 20 20 20 20 20 20  |R6,#0.^.#       |
0000f130  20 53 57 49 20 22 57 69  6d 70 5f 4c 6f 61 64 54  | SWI "Wimp_LoadT|
0000f140  65 6d 70 6c 61 74 65 22  0d 5e a6 18 20 20 20 20  |emplate".^..    |
0000f150  20 20 20 20 4c 44 52 20  52 31 2c 77 69 6d 70 62  |    LDR R1,wimpb|
0000f160  0d 5e b0 19 20 20 20 20  20 20 20 20 4c 44 52 20  |.^..        LDR |
0000f170  52 30 2c 73 70 61 72 65  61 0d 5e ba 1b 20 20 20  |R0,sparea.^..   |
0000f180  20 20 20 20 20 53 54 52  20 52 30 2c 5b 52 31 2c  |     STR R0,[R1,|
0000f190  23 36 34 5d 0d 5e c4 23  20 20 20 20 20 20 20 20  |#64].^.#        |
0000f1a0  53 57 49 20 22 57 69 6d  70 5f 43 72 65 61 74 65  |SWI "Wimp_Create|
0000f1b0  57 69 6e 64 6f 77 22 0d  5e ce 19 20 20 20 20 20  |Window".^..     |
0000f1c0  20 20 20 53 54 52 20 52  30 2c 69 6e 66 6f 77 25  |   STR R0,infow%|
0000f1d0  0d 5e d8 18 20 20 20 20  20 20 20 20 4c 44 52 20  |.^..        LDR |
0000f1e0  52 31 2c 77 69 6d 70 62  0d 5e e2 17 20 20 20 20  |R1,wimpb.^..    |
0000f1f0  20 20 20 20 53 54 52 20  52 30 2c 5b 52 31 5d 0d  |    STR R0,[R1].|
0000f200  5e ec 24 2e 63 74 65 6d  70 6c 20 53 57 49 20 22  |^.$.ctempl SWI "|
0000f210  57 69 6d 70 5f 43 6c 6f  73 65 54 65 6d 70 6c 61  |Wimp_CloseTempla|
0000f220  74 65 22 0d 5e f6 18 20  20 20 20 20 20 20 20 41  |te".^..        A|
0000f230  44 52 20 52 31 2c 69 63  6f 6e 64 0d 5f 00 21 20  |DR R1,icond._.! |
0000f240  20 20 20 20 20 20 20 53  57 49 20 22 57 69 6d 70  |       SWI "Wimp|
0000f250  5f 43 72 65 61 74 65 49  63 6f 6e 22 0d 5f 0a 19  |_CreateIcon"._..|
0000f260  20 20 20 20 20 20 20 20  4c 44 52 20 52 31 2c 64  |        LDR R1,d|
0000f270  65 73 6b 70 6c 0d 5f 14  22 20 20 20 20 20 20 20  |eskpl._."       |
0000f280  20 53 57 49 20 22 57 69  6d 70 5f 52 65 61 64 50  | SWI "Wimp_ReadP|
0000f290  61 6c 65 74 74 65 22 0d  5f 1e 15 2e 70 6f 6c 6c  |alette"._...poll|
0000f2a0  6c 20 20 4d 4f 56 20 52  30 2c 23 31 0d 5f 28 18  |l  MOV R0,#1._(.|
0000f2b0  20 20 20 20 20 20 20 20  4c 44 52 20 52 31 2c 77  |        LDR R1,w|
0000f2c0  69 6d 70 62 0d 5f 32 1b  20 20 20 20 20 20 20 20  |impb._2.        |
0000f2d0  53 57 49 20 22 57 69 6d  70 5f 50 6f 6c 6c 22 0d  |SWI "Wimp_Poll".|
0000f2e0  5f 3c 2d 20 20 20 20 20  20 20 20 43 4d 50 20 52  |_<-        CMP R|
0000f2f0  30 2c 23 32 3a 53 57 49  45 51 20 22 57 69 6d 70  |0,#2:SWIEQ "Wimp|
0000f300  5f 4f 70 65 6e 57 69 6e  64 6f 77 22 0d 5f 46 2e  |_OpenWindow"._F.|
0000f310  20 20 20 20 20 20 20 20  43 4d 50 20 52 30 2c 23  |        CMP R0,#|
0000f320  33 3a 53 57 49 45 51 20  22 57 69 6d 70 5f 43 6c  |3:SWIEQ "Wimp_Cl|
0000f330  6f 73 65 57 69 6e 64 6f  77 22 0d 5f 50 2e 20 20  |oseWindow"._P.  |
0000f340  20 20 20 20 20 20 43 4d  50 20 52 30 2c 23 31 37  |      CMP R0,#17|
0000f350  3a 43 4d 50 4e 45 20 52  30 2c 23 31 38 3a 42 45  |:CMPNE R0,#18:BE|
0000f360  51 20 72 65 63 65 69 76  0d 5f 5a 1f 20 20 20 20  |Q receiv._Z.    |
0000f370  20 20 20 20 43 4d 50 20  52 30 2c 23 39 3a 42 45  |    CMP R0,#9:BE|
0000f380  51 20 6d 65 6e 75 73 0d  5f 64 1f 20 20 20 20 20  |Q menus._d.     |
0000f390  20 20 20 43 4d 50 20 52  30 2c 23 36 3a 42 4e 45  |   CMP R0,#6:BNE|
0000f3a0  20 70 6f 6c 6c 6c 0d 5f  6e 1b 20 20 20 20 20 20  | polll._n.      |
0000f3b0  20 20 4c 44 52 20 52 32  2c 5b 52 31 2c 23 31 32  |  LDR R2,[R1,#12|
0000f3c0  5d 0d 5f 78 15 20 20 20  20 20 20 20 20 43 4d 4e  |]._x.        CMN|
0000f3d0  20 52 32 2c 23 32 0d 5f  82 15 20 20 20 20 20 20  | R2,#2._..      |
0000f3e0  20 20 42 4e 45 20 70 6f  6c 6c 6c 0d 5f 8c 1a 20  |  BNE polll._.. |
0000f3f0  20 20 20 20 20 20 20 4c  44 52 20 52 32 2c 5b 52  |       LDR R2,[R|
0000f400  31 2c 23 38 5d 0d 5f 96  15 20 20 20 20 20 20 20  |1,#8]._..       |
0000f410  20 43 4d 50 20 52 32 2c  23 32 0d 5f a0 14 20 20  | CMP R2,#2._..  |
0000f420  20 20 20 20 20 20 42 45  51 20 6d 65 6e 75 0d 5f  |      BEQ menu._|
0000f430  aa 1b 2e 69 63 62 6e 63  20 20 53 57 49 20 22 58  |...icbnc  SWI "X|
0000f440  4f 53 5f 4d 6f 75 73 65  22 0d 5f b4 1f 20 20 20  |OS_Mouse"._..   |
0000f450  20 20 20 20 20 43 4d 50  20 52 32 2c 23 30 3a 42  |     CMP R2,#0:B|
0000f460  4e 45 20 69 63 62 6e 63  0d 5f be 15 20 20 20 20  |NE icbnc._..    |
0000f470  20 20 20 20 4d 56 4e 20  52 30 2c 23 30 0d 5f c8  |    MVN R0,#0._.|
0000f480  15 20 20 20 20 20 20 20  20 4d 56 4e 20 52 31 2c  |.        MVN R1,|
0000f490  23 30 0d 5f d2 27 20 20  20 20 20 20 20 20 53 57  |#0._.'        SW|
0000f4a0  49 20 22 57 69 6d 70 5f  53 65 74 43 61 72 65 74  |I "Wimp_SetCaret|
0000f4b0  50 6f 73 69 74 69 6f 6e  22 0d 5f dc 17 20 20 20  |Position"._..   |
0000f4c0  20 20 20 20 20 4d 4f 56  20 52 30 2c 23 31 33 35  |     MOV R0,#135|
0000f4d0  0d 5f e6 11 20 20 20 20  20 20 20 20 53 57 49 20  |._..        SWI |
0000f4e0  36 0d 5f f0 19 20 20 20  20 20 20 20 20 53 54 52  |6._..        STR|
0000f4f0  20 52 32 2c 64 65 73 6b  6d 64 0d 5f fa 20 20 20  | R2,deskmd._.   |
0000f500  20 20 20 20 20 20 53 57  49 20 32 35 36 2b 32 32  |      SWI 256+22|
0000f510  3a 53 57 49 20 32 35 36  2b 39 0d 60 04 19 20 20  |:SWI 256+9.`..  |
0000f520  20 20 20 20 20 20 4c 44  52 20 52 31 2c 64 65 73  |      LDR R1,des|
0000f530  6b 70 6c 0d 60 0e 22 20  20 20 20 20 20 20 20 53  |kpl.`."        S|
0000f540  57 49 20 22 57 69 6d 70  5f 52 65 61 64 50 61 6c  |WI "Wimp_ReadPal|
0000f550  65 74 74 65 22 0d 60 18  19 20 20 20 20 20 20 20  |ette".`..       |
0000f560  20 4c 44 52 20 52 31 2c  70 61 6c 65 74 65 0d 60  | LDR R1,palete.`|
0000f570  22 21 20 20 20 20 20 20  20 20 53 57 49 20 22 57  |"!        SWI "W|
0000f580  69 6d 70 5f 53 65 74 50  61 6c 65 74 74 65 22 0d  |imp_SetPalette".|
0000f590  60 2c 2b 20 20 20 20 20  20 20 20 53 57 49 20 32  |`,+        SWI 2|
0000f5a0  35 36 2b 31 38 3a 53 57  49 20 32 35 36 2b 30 3a  |56+18:SWI 256+0:|
0000f5b0  53 57 49 20 32 35 36 2b  31 31 0d 60 36 22 20 20  |SWI 256+11.`6"  |
0000f5c0  20 20 20 20 20 20 53 57  49 20 22 4f 53 5f 52 65  |      SWI "OS_Re|
0000f5d0  6d 6f 76 65 43 75 72 73  6f 72 73 22 0d 60 40 19  |moveCursors".`@.|
0000f5e0  20 20 20 20 20 20 20 20  53 54 52 20 52 31 33 2c  |        STR R13,|
0000f5f0  6f 6c 64 73 74 0d 60 4a  19 20 20 20 20 20 20 20  |oldst.`J.       |
0000f600  20 4c 44 52 20 52 31 33  2c 73 74 61 63 6b 0d 60  | LDR R13,stack.`|
0000f610  54 1a 20 20 20 20 20 20  20 20 4c 44 52 20 52 31  |T.        LDR R1|
0000f620  34 2c 67 65 74 62 74 67  0d 60 5e 46 20 20 20 20  |4,getbtg.`^F    |
0000f630  20 20 20 20 4d 4f 56 20  50 43 2c 52 31 34 20 20  |    MOV PC,R14  |
0000f640  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000f650  20 20 20 20 20 20 20 20  20 20 20 20 3b 20 52 65  |            ; Re|
0000f660  74 72 69 65 76 65 20 67  61 6d 65 20 50 43 0d 60  |trieve game PC.`|
0000f670  68 19 2e 72 65 74 74 77  20 20 53 54 52 20 52 31  |h..rettw  STR R1|
0000f680  33 2c 73 74 61 63 6b 0d  60 72 19 20 20 20 20 20  |3,stack.`r.     |
0000f690  20 20 20 4c 44 52 20 52  31 33 2c 6f 6c 64 73 74  |   LDR R13,oldst|
0000f6a0  0d 60 7c 1a 20 20 20 20  20 20 20 20 53 54 52 20  |.`|.        STR |
0000f6b0  52 31 34 2c 67 65 74 62  74 67 0d 60 86 16 20 20  |R14,getbtg.`..  |
0000f6c0  20 20 20 20 20 20 4d 4f  56 20 52 30 2c 23 32 31  |      MOV R0,#21|
0000f6d0  0d 60 90 15 20 20 20 20  20 20 20 20 4d 4f 56 20  |.`..        MOV |
0000f6e0  52 31 2c 23 30 0d 60 9a  11 20 20 20 20 20 20 20  |R1,#0.`..       |
0000f6f0  20 53 57 49 20 36 0d 60  a4 19 20 20 20 20 20 20  | SWI 6.`..      |
0000f700  20 20 4c 44 52 20 52 30  2c 64 65 73 6b 6d 64 0d  |  LDR R0,deskmd.|
0000f710  60 ae 1e 20 20 20 20 20  20 20 20 53 57 49 20 22  |`..        SWI "|
0000f720  57 69 6d 70 5f 53 65 74  4d 6f 64 65 22 0d 60 b8  |Wimp_SetMode".`.|
0000f730  19 20 20 20 20 20 20 20  20 4c 44 52 20 52 31 2c  |.        LDR R1,|
0000f740  64 65 73 6b 70 6c 0d 60  c2 21 20 20 20 20 20 20  |deskpl.`.!      |
0000f750  20 20 53 57 49 20 22 57  69 6d 70 5f 53 65 74 50  |  SWI "Wimp_SetP|
0000f760  61 6c 65 74 74 65 22 0d  60 cc 13 20 20 20 20 20  |alette".`..     |
0000f770  20 20 20 42 20 70 6f 6c  6c 6c 0d 60 d6 13 2e 64  |   B polll.`...d|
0000f780  65 73 6b 6d 64 20 45 51  55 44 20 31 32 0d 60 e0  |eskmd EQUD 12.`.|
0000f790  19 2e 73 74 61 63 6b 20  20 45 51 55 44 20 73 74  |..stack  EQUD st|
0000f7a0  25 2b 31 30 30 30 0d 60  ea 16 2e 67 65 74 62 74  |%+1000.`...getbt|
0000f7b0  67 20 45 51 55 44 20 73  74 61 72 74 0d 60 f4 1b  |g EQUD start.`..|
0000f7c0  2e 72 65 63 65 69 76 20  4c 44 52 20 52 32 2c 5b  |.receiv LDR R2,[|
0000f7d0  52 31 2c 23 31 36 5d 0d  60 fe 15 20 20 20 20 20  |R1,#16].`..     |
0000f7e0  20 20 20 43 4d 50 20 52  32 2c 23 30 0d 61 08 18  |   CMP R2,#0.a..|
0000f7f0  20 20 20 20 20 20 20 20  42 45 51 20 73 68 75 74  |        BEQ shut|
0000f800  64 6f 77 6e 0d 61 12 13  20 20 20 20 20 20 20 20  |down.a..        |
0000f810  42 20 70 6f 6c 6c 6c 0d  61 1c 17 2e 6d 65 6e 75  |B polll.a...menu|
0000f820  20 20 20 4c 44 52 20 52  32 2c 5b 52 31 5d 0d 61  |   LDR R2,[R1].a|
0000f830  26 19 20 20 20 20 20 20  20 20 53 55 42 20 52 32  |&.        SUB R2|
0000f840  2c 52 32 2c 23 36 34 0d  61 30 1d 20 20 20 20 20  |,R2,#64.a0.     |
0000f850  20 20 20 4d 4f 56 20 52  33 2c 23 39 36 2b 28 34  |   MOV R3,#96+(4|
0000f860  34 2a 33 29 0d 61 3a 18  20 20 20 20 20 20 20 20  |4*3).a:.        |
0000f870  41 44 52 20 52 31 2c 6d  65 6e 75 63 0d 61 44 21  |ADR R1,menuc.aD!|
0000f880  20 20 20 20 20 20 20 20  53 57 49 20 22 57 69 6d  |        SWI "Wim|
0000f890  70 5f 43 72 65 61 74 65  4d 65 6e 75 22 0d 61 4e  |p_CreateMenu".aN|
0000f8a0  13 20 20 20 20 20 20 20  20 42 20 70 6f 6c 6c 6c  |.        B polll|
0000f8b0  0d 61 58 17 2e 6d 65 6e  75 73 20 20 4c 44 52 20  |.aX..menus  LDR |
0000f8c0  52 32 2c 5b 52 31 5d 0d  61 62 15 20 20 20 20 20  |R2,[R1].ab.     |
0000f8d0  20 20 20 43 4d 50 20 52  32 2c 23 32 0d 61 6c 18  |   CMP R2,#2.al.|
0000f8e0  20 20 20 20 20 20 20 20  42 45 51 20 73 68 75 74  |        BEQ shut|
0000f8f0  64 6f 77 6e 0d 61 76 15  20 20 20 20 20 20 20 20  |down.av.        |
0000f900  43 4d 50 20 52 32 2c 23  31 0d 61 80 15 20 20 20  |CMP R2,#1.a..   |
0000f910  20 20 20 20 20 42 4e 45  20 70 6f 6c 6c 6c 0d 61  |     BNE polll.a|
0000f920  8a 18 20 20 20 20 20 20  20 20 4c 44 52 20 52 30  |..        LDR R0|
0000f930  2c 62 6f 6e 77 25 0d 61  94 17 20 20 20 20 20 20  |,bonw%.a..      |
0000f940  20 20 53 54 52 20 52 30  2c 5b 52 31 5d 0d 61 9e  |  STR R0,[R1].a.|
0000f950  25 20 20 20 20 20 20 20  20 53 57 49 20 22 57 69  |%        SWI "Wi|
0000f960  6d 70 5f 47 65 74 57 69  6e 64 6f 77 53 74 61 74  |mp_GetWindowStat|
0000f970  65 22 0d 61 a8 15 20 20  20 20 20 20 20 20 4d 56  |e".a..        MV|
0000f980  4e 20 52 30 2c 23 30 0d  61 b2 1b 20 20 20 20 20  |N R0,#0.a..     |
0000f990  20 20 20 53 54 52 20 52  30 2c 5b 52 31 2c 23 32  |   STR R0,[R1,#2|
0000f9a0  38 5d 0d 61 bc 21 20 20  20 20 20 20 20 20 53 57  |8].a.!        SW|
0000f9b0  49 20 22 57 69 6d 70 5f  4f 70 65 6e 57 69 6e 64  |I "Wimp_OpenWind|
0000f9c0  6f 77 22 0d 61 c6 13 20  20 20 20 20 20 20 20 42  |ow".a..        B|
0000f9d0  20 70 6f 6c 6c 6c 0d 61  d0 4d 2e 6d 65 6e 75 63  | polll.a.M.menuc|
0000f9e0  20 20 45 51 55 53 20 22  43 61 72 20 57 61 72 73  |  EQUS "Car Wars|
0000f9f0  22 3a 45 51 55 44 20 30  3a 45 51 55 44 20 26 37  |":EQUD 0:EQUD &7|
0000fa00  30 32 30 37 3a 45 51 55  44 20 31 36 30 3a 45 51  |0207:EQUD 160:EQ|
0000fa10  55 44 20 34 34 3a 45 51  55 44 20 30 3a 45 51 55  |UD 44:EQUD 0:EQU|
0000fa20  44 20 30 0d 61 da 42 2e  69 6e 66 6f 77 25 20 45  |D 0.a.B.infow% E|
0000fa30  51 55 44 20 2d 31 3a 45  51 55 44 20 26 37 30 30  |QUD -1:EQUD &700|
0000fa40  30 30 32 31 3a 45 51 55  53 20 22 49 6e 66 6f 22  |0021:EQUS "Info"|
0000fa50  3a 45 51 55 44 20 30 3a  45 51 55 44 20 30 3a 45  |:EQUD 0:EQUD 0:E|
0000fa60  51 55 44 20 30 0d 61 e4  3a 2e 62 6f 6e 77 25 20  |QUD 0.a.:.bonw% |
0000fa70  20 45 51 55 44 20 2d 31  3a 45 51 55 44 20 26 37  | EQUD -1:EQUD &7|
0000fa80  30 30 30 30 32 31 3a 45  51 55 53 20 22 42 6f 6e  |000021:EQUS "Bon|
0000fa90  75 73 65 73 22 2b bd 30  3a 45 51 55 44 20 30 0d  |uses"+.0:EQUD 0.|
0000faa0  61 ee 44 20 20 20 20 20  20 20 20 45 51 55 44 20  |a.D        EQUD |
0000fab0  26 38 30 3a 45 51 55 44  20 2d 31 3a 45 51 55 44  |&80:EQUD -1:EQUD|
0000fac0  20 26 37 30 30 30 30 32  31 3a 45 51 55 53 20 22  | &7000021:EQUS "|
0000fad0  51 75 69 74 22 3a 45 51  55 44 20 30 3a 45 51 55  |Quit":EQUD 0:EQU|
0000fae0  44 20 30 0d 61 f8 12 2e  70 77 69 6e 64 20 20 45  |D 0.a...pwind  E|
0000faf0  51 55 44 20 30 0d 62 02  15 2e 70 61 6c 65 74 65  |QUD 0.b...palete|
0000fb00  20 45 51 55 44 20 70 61  6c 25 0d 62 0c 14 2e 64  | EQUD pal%.b...d|
0000fb10  65 73 6b 70 6c 20 45 51  55 44 20 70 32 25 0d 62  |eskpl EQUD p2%.b|
0000fb20  16 0d 2e 66 61 69 6c 73  61 76 65 0d 62 20 15 20  |...failsave.b . |
0000fb30  20 20 20 20 20 20 20 4d  4f 56 20 52 31 2c 23 31  |       MOV R1,#1|
0000fb40  0d 62 2a 18 20 20 20 20  20 20 20 20 41 44 52 20  |.b*.        ADR |
0000fb50  52 32 2c 6d 65 6e 75 63  0d 62 34 22 20 20 20 20  |R2,menuc.b4"    |
0000fb60  20 20 20 20 53 57 49 20  22 57 69 6d 70 5f 52 65  |    SWI "Wimp_Re|
0000fb70  70 6f 72 74 45 72 72 6f  72 22 0d 62 3e 19 20 20  |portError".b>.  |
0000fb80  20 20 20 20 20 20 41 44  52 20 52 30 2c 68 69 74  |      ADR R0,hit|
0000fb90  61 62 65 0d 62 48 16 20  20 20 20 20 20 20 20 4d  |abe.bH.        M|
0000fba0  4f 56 20 52 31 2c 23 31  39 0d 62 52 18 20 20 20  |OV R1,#19.bR.   |
0000fbb0  20 20 20 20 20 41 44 52  20 52 32 2c 6d 65 6e 75  |     ADR R2,menu|
0000fbc0  63 0d 62 5c 22 20 20 20  20 20 20 20 20 53 57 49  |c.b\"        SWI|
0000fbd0  20 22 57 69 6d 70 5f 52  65 70 6f 72 74 45 72 72  | "Wimp_ReportErr|
0000fbe0  6f 72 22 0d 62 66 15 20  20 20 20 20 20 20 20 43  |or".bf.        C|
0000fbf0  4d 50 20 52 31 2c 23 32  0d 62 70 16 20 20 20 20  |MP R1,#2.bp.    |
0000fc00  20 20 20 20 42 45 51 20  72 65 6d 6d 6f 64 0d 62  |    BEQ remmod.b|
0000fc10  7a 0d 2e 73 68 75 74 64  6f 77 6e 0d 62 84 21 20  |z..shutdown.b.! |
0000fc20  20 20 20 20 20 20 20 53  57 49 20 22 58 57 69 6d  |       SWI "XWim|
0000fc30  70 5f 43 6c 6f 73 65 44  6f 77 6e 22 0d 62 8e 16  |p_CloseDown".b..|
0000fc40  20 20 20 20 20 20 20 20  4d 4f 56 20 52 30 2c 23  |        MOV R0,#|
0000fc50  31 30 0d 62 98 19 20 20  20 20 20 20 20 20 41 44  |10.b..        AD|
0000fc60  52 20 52 31 2c 68 69 74  61 62 70 0d 62 a2 26 20  |R R1,hitabp.b.& |
0000fc70  20 20 20 20 20 20 20 4d  4f 56 20 52 32 2c 23 26  |       MOV R2,#&|
0000fc80  31 30 30 30 3a 53 55 42  20 52 32 2c 52 32 2c 23  |1000:SUB R2,R2,#|
0000fc90  31 0d 62 ac 15 20 20 20  20 20 20 20 20 4d 4f 56  |1.b..        MOV|
0000fca0  20 52 33 2c 23 30 0d 62  b6 19 20 20 20 20 20 20  | R3,#0.b..      |
0000fcb0  20 20 4c 44 52 20 52 34  2c 68 69 74 61 62 73 0d  |  LDR R4,hitabs.|
0000fcc0  62 c0 1a 20 20 20 20 20  20 20 20 41 44 44 20 52  |b..        ADD R|
0000fcd0  35 2c 52 34 2c 23 31 36  30 0d 62 ca 1a 20 20 20  |5,R4,#160.b..   |
0000fce0  20 20 20 20 20 53 57 49  20 22 58 4f 53 5f 46 69  |     SWI "XOS_Fi|
0000fcf0  6c 65 22 0d 62 d4 18 2e  72 65 6d 6d 6f 64 20 42  |le".b...remmod B|
0000fd00  56 53 20 66 61 69 6c 73  61 76 65 0d 62 de 17 20  |VS failsave.b.. |
0000fd10  20 20 20 20 20 20 20 41  44 52 20 52 30 2c 6d 6f  |       ADR R0,mo|
0000fd20  64 31 0d 62 e8 18 20 20  20 20 20 20 20 20 53 57  |d1.b..        SW|
0000fd30  49 20 22 4f 53 5f 43 4c  49 22 0d 62 f2 17 20 20  |I "OS_CLI".b..  |
0000fd40  20 20 20 20 20 20 41 44  52 20 52 30 2c 6d 6f 64  |      ADR R0,mod|
0000fd50  32 0d 62 fc 18 20 20 20  20 20 20 20 20 53 57 49  |2.b..        SWI|
0000fd60  20 22 4f 53 5f 43 4c 49  22 0d 63 06 17 20 20 20  | "OS_CLI".c..   |
0000fd70  20 20 20 20 20 41 44 52  20 52 30 2c 6d 6f 64 33  |     ADR R0,mod3|
0000fd80  0d 63 10 18 20 20 20 20  20 20 20 20 53 57 49 20  |.c..        SWI |
0000fd90  22 4f 53 5f 43 4c 49 22  0d 63 1a 17 20 20 20 20  |"OS_CLI".c..    |
0000fda0  20 20 20 20 41 44 52 20  52 30 2c 6d 6f 64 34 0d  |    ADR R0,mod4.|
0000fdb0  63 24 18 20 20 20 20 20  20 20 20 53 57 49 20 22  |c$.        SWI "|
0000fdc0  4f 53 5f 43 4c 49 22 0d  63 2e 17 20 20 20 20 20  |OS_CLI".c..     |
0000fdd0  20 20 20 41 44 52 20 52  30 2c 6d 6f 64 35 0d 63  |   ADR R0,mod5.c|
0000fde0  38 18 20 20 20 20 20 20  20 20 53 57 49 20 22 4f  |8.        SWI "O|
0000fdf0  53 5f 43 4c 49 22 0d 63  42 13 20 20 20 20 20 20  |S_CLI".cB.      |
0000fe00  20 20 42 20 70 6f 6c 6c  6c 0d 63 4c 14 2e 68 69  |  B polll.cL..hi|
0000fe10  74 61 62 73 20 45 51 55  44 20 68 69 25 0d 63 56  |tabs EQUD hi%.cV|
0000fe20  2e 2e 68 69 74 61 62 70  20 45 51 55 53 20 22 3c  |..hitabp EQUS "<|
0000fe30  43 61 72 24 44 69 72 3e  2e 48 69 53 63 6f 72 65  |Car$Dir>.HiScore|
0000fe40  73 22 2b bd 30 3a 41 4c  49 47 4e 0d 63 60 48 2e  |s"+.0:ALIGN.c`H.|
0000fe50  68 69 74 61 62 65 20 45  51 55 53 20 22 20 20 20  |hitabe EQUS "   |
0000fe60  20 43 6f 75 6c 64 20 6e  6f 74 20 73 61 76 65 20  | Could not save |
0000fe70  68 69 73 63 6f 72 65 20  74 61 62 6c 65 2e 20 54  |hiscore table. T|
0000fe80  72 79 20 61 67 61 69 6e  3f 22 2b bd 30 3a 41 4c  |ry again?"+.0:AL|
0000fe90  49 47 4e 0d 63 6a 2c 2e  6d 6f 64 31 20 20 20 45  |IGN.cj,.mod1   E|
0000fea0  51 55 53 20 22 52 4d 4b  69 6c 6c 20 45 78 70 6c  |QUS "RMKill Expl|
0000feb0  6f 73 69 6f 6e 22 2b bd  30 3a 41 4c 49 47 4e 0d  |osion"+.0:ALIGN.|
0000fec0  63 74 28 2e 6d 6f 64 32  20 20 20 45 51 55 53 20  |ct(.mod2   EQUS |
0000fed0  22 52 4d 4b 69 6c 6c 20  4c 61 79 65 72 22 2b bd  |"RMKill Layer"+.|
0000fee0  30 3a 41 4c 49 47 4e 0d  63 7e 29 2e 6d 6f 64 33  |0:ALIGN.c~).mod3|
0000fef0  20 20 20 45 51 55 53 20  22 52 4d 4b 69 6c 6c 20  |   EQUS "RMKill |
0000ff00  52 6f 74 61 74 65 22 2b  bd 30 3a 41 4c 49 47 4e  |Rotate"+.0:ALIGN|
0000ff10  0d 63 88 28 2e 6d 6f 64  34 20 20 20 45 51 55 53  |.c.(.mod4   EQUS|
0000ff20  20 22 52 4d 4b 69 6c 6c  20 53 69 64 65 73 22 2b  | "RMKill Sides"+|
0000ff30  bd 30 3a 41 4c 49 47 4e  0d 63 92 2c 2e 6d 6f 64  |.0:ALIGN.c.,.mod|
0000ff40  35 20 20 20 45 51 55 53  20 22 43 68 61 6e 6e 65  |5   EQUS "Channe|
0000ff50  6c 56 6f 69 63 65 20 31  20 31 22 2b bd 30 3a 41  |lVoice 1 1"+.0:A|
0000ff60  4c 49 47 4e 0d 63 9c 49  2e 63 6f 6d 70 64 20 20  |LIGN.c.I.compd  |
0000ff70  4c 44 52 20 52 32 2c 74  61 62 6c 65 20 20 20 20  |LDR R2,table    |
0000ff80  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000ff90  20 3b 20 52 65 74 75 72  6e 65 64 20 69 6e 20 52  | ; Returned in R|
0000ffa0  31 32 20 2d 20 65 61 63  68 20 62 69 74 0d 63 a6  |12 - each bit.c.|
0000ffb0  4b 20 20 20 20 20 20 20  20 4d 4f 56 20 52 31 34  |K        MOV R14|
0000ffc0  2c 52 31 34 2c 41 53 52  23 33 20 20 20 20 20 20  |,R14,ASR#3      |
0000ffd0  20 20 20 20 20 20 20 20  20 20 3b 20 30 20 2d 20  |          ; 0 - |
0000ffe0  6c 65 66 74 20 31 20 2d  20 72 69 67 68 74 20 32  |left 1 - right 2|
0000fff0  20 2d 20 61 63 63 65 6c  0d 63 b0 41 20 20 20 20  | - accel.c.A    |
00010000  20 20 20 20 4d 4f 56 20  52 38 2c 52 31 34 2c 41  |    MOV R8,R14,A|
00010010  53 4c 23 32 20 20 20 20  20 20 20 20 20 20 20 20  |SL#2            |
00010020  20 20 20 20 20 3b 20 33  20 2d 20 62 72 61 6b 65  |     ; 3 - brake|
00010030  20 34 20 2d 20 66 69 72  65 0d 63 ba 1c 20 20 20  | 4 - fire.c..   |
00010040  20 20 20 20 20 4c 44 52  20 52 30 2c 5b 52 31 31  |     LDR R0,[R11|
00010050  2c 23 34 38 5d 0d 63 c4  1a 20 20 20 20 20 20 20  |,#48].c..       |
00010060  20 4c 44 52 20 52 31 2c  5b 52 30 2c 52 38 5d 0d  | LDR R1,[R0,R8].|
00010070  63 ce 16 20 20 20 20 20  20 20 20 53 54 52 20 52  |c..        STR R|
00010080  31 2c 72 66 74 0d 63 d8  1e 20 20 20 20 20 20 20  |1,rft.c..       |
00010090  20 41 44 44 20 52 38 2c  52 32 2c 52 38 2c 41 53  | ADD R8,R2,R8,AS|
000100a0  4c 23 31 0d 63 e2 18 20  20 20 20 20 20 20 20 53  |L#1.c..        S|
000100b0  54 52 20 52 38 2c 6f 72  70 6f 73 0d 63 ec 1d 20  |TR R8,orpos.c.. |
000100c0  20 20 20 20 20 20 20 4c  44 4d 49 41 20 52 38 2c  |       LDMIA R8,|
000100d0  7b 52 39 2d 52 31 30 7d  0d 63 f6 1e 20 20 20 20  |{R9-R10}.c..    |
000100e0  20 20 20 20 53 54 4d 46  44 20 52 31 33 21 2c 7b  |    STMFD R13!,{|
000100f0  52 35 2d 52 36 7d 0d 64  00 15 20 20 20 20 20 20  |R5-R6}.d..      |
00010100  20 20 43 4d 50 20 52 35  2c 23 30 0d 64 0a 1a 20  |  CMP R5,#0.d.. |
00010110  20 20 20 20 20 20 20 52  53 42 4d 49 20 52 35 2c  |       RSBMI R5,|
00010120  52 35 2c 23 30 0d 64 14  15 20 20 20 20 20 20 20  |R5,#0.d..       |
00010130  20 43 4d 50 20 52 36 2c  23 30 0d 64 1e 1a 20 20  | CMP R6,#0.d..  |
00010140  20 20 20 20 20 20 52 53  42 4d 49 20 52 36 2c 52  |      RSBMI R6,R|
00010150  36 2c 23 30 0d 64 28 15  20 20 20 20 20 20 20 20  |6,#0.d(.        |
00010160  43 4d 50 20 52 35 2c 52  36 0d 64 32 17 20 20 20  |CMP R5,R6.d2.   |
00010170  20 20 20 20 20 4d 4f 56  47 54 20 52 32 2c 52 35  |     MOVGT R2,R5|
00010180  0d 64 3c 17 20 20 20 20  20 20 20 20 4d 4f 56 4c  |.d<.        MOVL|
00010190  45 20 52 32 2c 52 36 0d  64 46 1b 20 20 20 20 20  |E R2,R6.dF.     |
000101a0  20 20 20 4d 4f 56 20 52  32 2c 52 32 2c 41 53 52  |   MOV R2,R2,ASR|
000101b0  23 38 0d 64 50 15 20 20  20 20 20 20 20 20 43 4d  |#8.dP.        CM|
000101c0  50 20 52 32 2c 23 37 0d  64 5a 17 20 20 20 20 20  |P R2,#7.dZ.     |
000101d0  20 20 20 4d 4f 56 4c 54  20 52 32 2c 23 37 0d 64  |   MOVLT R2,#7.d|
000101e0  64 1e 20 20 20 20 20 20  20 20 4c 44 4d 49 41 20  |d.        LDMIA |
000101f0  52 31 33 21 2c 7b 52 35  2d 52 36 7d 0d 64 6e 1c  |R13!,{R5-R6}.dn.|
00010200  20 20 20 20 20 20 20 20  4c 44 52 20 52 30 2c 5b  |        LDR R0,[|
00010210  52 31 31 2c 23 32 30 5d  0d 64 78 15 20 20 20 20  |R11,#20].dx.    |
00010220  20 20 20 20 43 4d 50 20  52 30 2c 23 30 0d 64 82  |    CMP R0,#0.d.|
00010230  15 20 20 20 20 20 20 20  20 42 4d 49 20 62 66 69  |.        BMI bfi|
00010240  72 65 0d 64 8c 4f 20 20  20 20 20 20 20 20 42 20  |re.d.O        B |
00010250  64 65 74 65 63 74 20 20  20 20 20 20 20 20 20 20  |detect          |
00010260  20 20 20 20 20 20 20 20  20 20 20 20 20 20 3b 20  |              ; |
00010270  52 65 74 75 72 6e 73 20  30 2d 6e 6f 74 68 69 6e  |Returns 0-nothin|
00010280  67 20 39 2d 6c 65 66 74  20 31 30 2d 72 69 67 68  |g 9-left 10-righ|
00010290  74 0d 64 96 1b 2e 63 6f  6d 70 63 20 20 54 53 54  |t.d...compc  TST|
000102a0  20 52 31 32 2c 23 25 31  30 30 30 30 0d 64 a0 16  | R12,#%10000.d..|
000102b0  20 20 20 20 20 20 20 20  42 4e 45 20 6e 6f 61 63  |        BNE noac|
000102c0  63 63 0d 64 aa 1d 20 20  20 20 20 20 20 20 4c 44  |cc.d..        LD|
000102d0  52 20 52 30 2c 5b 52 31  31 2c 23 31 32 34 5d 0d  |R R0,[R11,#124].|
000102e0  64 b4 15 20 20 20 20 20  20 20 20 43 4d 50 20 52  |d..        CMP R|
000102f0  30 2c 23 30 0d 64 be 16  20 20 20 20 20 20 20 20  |0,#0.d..        |
00010300  42 4e 45 20 6e 6f 61 63  63 63 0d 64 c8 19 20 20  |BNE noaccc.d..  |
00010310  20 20 20 20 20 20 54 53  54 20 52 31 32 2c 23 25  |      TST R12,#%|
00010320  31 30 30 0d 64 d2 1a 20  20 20 20 20 20 20 20 41  |100.d..        A|
00010330  44 44 4e 45 20 52 35 2c  52 35 2c 52 39 0d 64 dc  |DDNE R5,R5,R9.d.|
00010340  1b 20 20 20 20 20 20 20  20 41 44 44 4e 45 20 52  |.        ADDNE R|
00010350  36 2c 52 36 2c 52 31 30  0d 64 e6 1a 2e 6e 6f 61  |6,R6,R10.d...noa|
00010360  63 63 63 20 54 53 54 20  52 31 32 2c 23 25 31 30  |ccc TST R12,#%10|
00010370  30 30 0d 64 f0 18 20 20  20 20 20 20 20 20 4d 4f  |00.d..        MO|
00010380  56 4e 45 20 52 31 2c 23  33 30 0d 64 fa 1a 20 20  |VNE R1,#30.d..  |
00010390  20 20 20 20 20 20 4d 55  4c 4e 45 20 52 35 2c 52  |      MULNE R5,R|
000103a0  31 2c 52 35 0d 65 04 1a  20 20 20 20 20 20 20 20  |1,R5.e..        |
000103b0  4d 55 4c 4e 45 20 52 36  2c 52 31 2c 52 36 0d 65  |MULNE R6,R1,R6.e|
000103c0  0e 1d 20 20 20 20 20 20  20 20 4d 4f 56 4e 45 20  |..        MOVNE |
000103d0  52 35 2c 52 35 2c 41 53  52 23 35 0d 65 18 1d 20  |R5,R5,ASR#5.e.. |
000103e0  20 20 20 20 20 20 20 4d  4f 56 4e 45 20 52 36 2c  |       MOVNE R6,|
000103f0  52 36 2c 41 53 52 23 35  0d 65 22 19 20 20 20 20  |R6,ASR#5.e".    |
00010400  20 20 20 20 4c 44 52 20  52 30 2c 64 6c 65 76 65  |    LDR R0,dleve|
00010410  6c 0d 65 2c 18 20 20 20  20 20 20 20 20 41 44 44  |l.e,.        ADD|
00010420  20 52 30 2c 52 30 2c 23  33 0d 65 36 15 20 20 20  | R0,R0,#3.e6.   |
00010430  20 20 20 20 20 43 4d 50  20 52 30 2c 23 36 0d 65  |     CMP R0,#6.e|
00010440  40 17 20 20 20 20 20 20  20 20 4d 4f 56 47 54 20  |@.        MOVGT |
00010450  52 30 2c 23 36 0d 65 4a  1d 20 20 20 20 20 20 20  |R0,#6.eJ.       |
00010460  20 4c 44 52 20 52 31 34  2c 5b 52 31 31 2c 23 31  | LDR R14,[R11,#1|
00010470  36 5d 0d 65 54 17 20 20  20 20 20 20 20 20 54 53  |6].eT.        TS|
00010480  54 20 52 31 32 2c 23 25  31 0d 65 5e 1c 20 20 20  |T R12,#%1.e^.   |
00010490  20 20 20 20 20 53 55 42  4e 45 20 52 31 34 2c 52  |     SUBNE R14,R|
000104a0  31 34 2c 52 30 0d 65 68  18 20 20 20 20 20 20 20  |14,R0.eh.       |
000104b0  20 54 53 54 20 52 31 32  2c 23 25 31 30 0d 65 72  | TST R12,#%10.er|
000104c0  1c 20 20 20 20 20 20 20  20 41 44 44 4e 45 20 52  |.        ADDNE R|
000104d0  31 34 2c 52 31 34 2c 52  30 0d 65 7c 18 20 20 20  |14,R14,R0.e|.   |
000104e0  20 20 20 20 20 43 4d 50  20 52 31 34 2c 23 32 38  |     CMP R14,#28|
000104f0  38 0d 65 86 1e 20 20 20  20 20 20 20 20 53 55 42  |8.e..        SUB|
00010500  47 45 20 52 31 34 2c 52  31 34 2c 23 32 38 38 0d  |GE R14,R14,#288.|
00010510  65 90 16 20 20 20 20 20  20 20 20 43 4d 50 20 52  |e..        CMP R|
00010520  31 34 2c 23 30 0d 65 9a  1e 20 20 20 20 20 20 20  |14,#0.e..       |
00010530  20 41 44 44 4c 54 20 52  31 34 2c 52 31 34 2c 23  | ADDLT R14,R14,#|
00010540  32 38 38 0d 65 a4 1d 20  20 20 20 20 20 20 20 53  |288.e..        S|
00010550  54 52 20 52 31 34 2c 5b  52 31 31 2c 23 31 36 5d  |TR R14,[R11,#16]|
00010560  0d 65 ae 12 20 20 20 20  20 20 20 20 42 4c 20 72  |.e..        BL r|
00010570  6e 64 0d 65 b8 17 20 20  20 20 20 20 20 20 43 4d  |nd.e..        CM|
00010580  50 20 52 30 2c 23 31 39  32 0d 65 c2 15 20 20 20  |P R0,#192.e..   |
00010590  20 20 20 20 20 42 47 54  20 6e 6f 61 63 68 0d 65  |     BGT noach.e|
000105a0  cc 12 20 20 20 20 20 20  20 20 42 4c 20 72 6e 64  |..        BL rnd|
000105b0  0d 65 d6 15 20 20 20 20  20 20 20 20 43 4d 50 20  |.e..        CMP |
000105c0  52 30 2c 23 31 0d 65 e0  15 20 20 20 20 20 20 20  |R0,#1.e..       |
000105d0  20 42 4e 45 20 6e 6f 61  63 68 0d 65 ea 12 20 20  | BNE noach.e..  |
000105e0  20 20 20 20 20 20 42 4c  20 72 6e 64 0d 65 f4 15  |      BL rnd.e..|
000105f0  20 20 20 20 20 20 20 20  4d 4f 56 20 52 31 2c 23  |        MOV R1,#|
00010600  31 0d 65 fe 4d 20 20 20  20 20 20 20 20 43 4d 50  |1.e.M        CMP|
00010610  20 52 30 2c 23 31 36 30  20 20 20 20 20 20 20 20  | R0,#160        |
00010620  20 20 20 20 20 20 20 20  20 20 20 20 3b 20 44 65  |            ; De|
00010630  63 69 64 65 20 6e 65 78  74 20 74 61 72 67 65 74  |cide next target|
00010640  20 31 2d 63 61 72 20 32  2d 62 6f 6e 75 73 0d 66  | 1-car 2-bonus.f|
00010650  08 16 20 20 20 20 20 20  20 20 42 47 54 20 64 65  |..        BGT de|
00010660  63 69 64 62 0d 66 12 1c  20 20 20 20 20 20 20 20  |cidb.f..        |
00010670  53 54 52 20 52 31 2c 5b  52 31 31 2c 23 33 32 5d  |STR R1,[R11,#32]|
00010680  0d 66 1c 19 2e 6e 6f 61  63 68 20 20 4c 44 52 20  |.f...noach  LDR |
00010690  52 30 2c 64 6c 65 76 65  6c 0d 66 26 15 20 20 20  |R0,dlevel.f&.   |
000106a0  20 20 20 20 20 43 4d 50  20 52 30 2c 23 35 0d 66  |     CMP R0,#5.f|
000106b0  30 15 20 20 20 20 20 20  20 20 42 45 51 20 72 65  |0.        BEQ re|
000106c0  67 65 6e 0d 66 3a 1c 20  20 20 20 20 20 20 20 4c  |gen.f:.        L|
000106d0  44 52 20 52 31 2c 5b 52  31 31 2c 23 38 38 5d 0d  |DR R1,[R11,#88].|
000106e0  66 44 15 20 20 20 20 20  20 20 20 43 4d 50 20 52  |fD.        CMP R|
000106f0  31 2c 23 30 0d 66 4e 1e  20 20 20 20 20 20 20 20  |1,#0.fN.        |
00010700  53 54 52 45 51 20 52 30  2c 5b 52 31 31 2c 23 38  |STREQ R0,[R11,#8|
00010710  38 5d 0d 66 58 15 2e 74  73 74 72 66 72 20 4d 4f  |8].fX..tstrfr MO|
00010720  56 20 52 30 2c 23 30 0d  66 62 1d 20 20 20 20 20  |V R0,#0.fb.     |
00010730  20 20 20 53 54 52 20 52  30 2c 5b 52 31 31 2c 23  |   STR R0,[R11,#|
00010740  31 32 34 5d 0d 66 6c 1b  20 20 20 20 20 20 20 20  |124].fl.        |
00010750  54 53 54 20 52 31 32 2c  23 25 31 30 30 30 30 0d  |TST R12,#%10000.|
00010760  66 76 15 20 20 20 20 20  20 20 20 42 45 51 20 62  |fv.        BEQ b|
00010770  66 69 72 65 0d 66 80 15  20 20 20 20 20 20 20 20  |fire.f..        |
00010780  4d 4f 56 20 52 30 2c 23  31 0d 66 8a 1d 20 20 20  |MOV R0,#1.f..   |
00010790  20 20 20 20 20 53 54 52  20 52 30 2c 5b 52 31 31  |     STR R0,[R11|
000107a0  2c 23 31 32 34 5d 0d 66  94 13 20 20 20 20 20 20  |,#124].f..      |
000107b0  20 20 42 20 70 66 69 72  65 0d 66 9e 12 2e 72 65  |  B pfire.f...re|
000107c0  67 65 6e 20 20 42 4c 20  72 6e 64 0d 66 a8 16 20  |gen  BL rnd.f.. |
000107d0  20 20 20 20 20 20 20 43  4d 50 20 52 30 2c 23 31  |       CMP R0,#1|
000107e0  32 0d 66 b2 16 20 20 20  20 20 20 20 20 42 47 54  |2.f..        BGT|
000107f0  20 74 73 74 72 66 72 0d  66 bc 1c 20 20 20 20 20  | tstrfr.f..     |
00010800  20 20 20 4c 44 52 20 52  30 2c 5b 52 31 31 2c 23  |   LDR R0,[R11,#|
00010810  32 30 5d 0d 66 c6 18 20  20 20 20 20 20 20 20 41  |20].f..        A|
00010820  44 44 20 52 30 2c 52 30  2c 23 31 0d 66 d0 1c 20  |DD R0,R0,#1.f.. |
00010830  20 20 20 20 20 20 20 53  54 52 20 52 30 2c 5b 52  |       STR R0,[R|
00010840  31 31 2c 23 32 30 5d 0d  66 da 14 20 20 20 20 20  |11,#20].f..     |
00010850  20 20 20 42 20 74 73 74  72 66 72 0d 66 e4 15 2e  |   B tstrfr.f...|
00010860  64 65 63 69 64 62 20 4d  4f 56 20 52 31 2c 23 32  |decidb MOV R1,#2|
00010870  0d 66 ee 19 20 20 20 20  20 20 20 20 4c 44 52 20  |.f..        LDR |
00010880  52 30 2c 62 6f 6e 73 63  72 0d 66 f8 15 20 20 20  |R0,bonscr.f..   |
00010890  20 20 20 20 20 43 4d 50  20 52 30 2c 23 30 0d 67  |     CMP R0,#0.g|
000108a0  02 14 20 20 20 20 20 20  20 20 ec 51 20 52 31 2c  |..        .Q R1,|
000108b0  23 33 0d 67 0c 1c 20 20  20 20 20 20 20 20 53 54  |#3.g..        ST|
000108c0  52 20 52 31 2c 5b 52 31  31 2c 23 33 32 5d 0d 67  |R R1,[R11,#32].g|
000108d0  16 48 20 20 20 20 20 20  20 20 42 45 51 20 63 6f  |.H        BEQ co|
000108e0  6d 70 63 20 20 20 20 20  20 20 20 20 20 20 20 20  |mpc             |
000108f0  20 20 20 20 20 20 20 20  20 3b 20 44 6f 6e 27 74  |         ; Don't|
00010900  20 73 65 61 72 63 68 20  69 66 20 6e 6f 20 62 6f  | search if no bo|
00010910  6e 75 73 73 65 73 0d 67  20 1e 20 20 20 20 20 20  |nusses.g .      |
00010920  20 20 53 54 4d 46 44 20  52 31 33 21 2c 7b 52 35  |  STMFD R13!,{R5|
00010930  2d 52 37 7d 0d 67 2a 39  20 20 20 20 20 20 20 20  |-R7}.g*9        |
00010940  4d 4f 56 20 52 35 2c 23  30 20 20 20 20 20 20 20  |MOV R5,#0       |
00010950  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 3b  |               ;|
00010960  20 43 68 6f 73 65 6e 20  62 6f 6e 75 73 0d 67 34  | Chosen bonus.g4|
00010970  3b 20 20 20 20 20 20 20  20 4d 56 4e 20 52 36 2c  |;        MVN R6,|
00010980  23 30 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |#0              |
00010990  20 20 20 20 20 20 20 20  3b 20 42 6f 6e 75 73 20  |        ; Bonus |
000109a0  64 69 73 74 61 6e 63 65  0d 67 3e 19 20 20 20 20  |distance.g>.    |
000109b0  20 20 20 20 4c 44 52 20  52 32 2c 62 62 6c 6f 63  |    LDR R2,bbloc|
000109c0  6b 0d 67 48 18 20 20 20  20 20 20 20 20 4c 44 52  |k.gH.        LDR|
000109d0  20 52 31 2c 6d 61 78 62  6f 0d 67 52 1c 2e 63 68  | R1,maxbo.gR..ch|
000109e0  6f 6f 73 62 20 4c 44 4d  49 41 20 52 32 2c 7b 52  |oosb LDMIA R2,{R|
000109f0  30 2c 52 37 7d 0d 67 5c  1c 20 20 20 20 20 20 20  |0,R7}.g\.       |
00010a00  20 4d 4f 56 20 52 30 2c  52 30 2c 41 53 4c 23 73  | MOV R0,R0,ASL#s|
00010a10  68 0d 67 66 1c 20 20 20  20 20 20 20 20 4d 4f 56  |h.gf.        MOV|
00010a20  20 52 37 2c 52 37 2c 41  53 4c 23 73 68 0d 67 70  | R7,R7,ASL#sh.gp|
00010a30  19 20 20 20 20 20 20 20  20 53 55 42 53 20 52 30  |.        SUBS R0|
00010a40  2c 52 33 2c 52 30 0d 67  7a 1a 20 20 20 20 20 20  |,R3,R0.gz.      |
00010a50  20 20 52 53 42 4d 49 20  52 30 2c 52 30 2c 23 30  |  RSBMI R0,R0,#0|
00010a60  0d 67 84 19 20 20 20 20  20 20 20 20 53 55 42 53  |.g..        SUBS|
00010a70  20 52 37 2c 52 34 2c 52  30 0d 67 8e 1a 20 20 20  | R7,R4,R0.g..   |
00010a80  20 20 20 20 20 52 53 42  4d 49 20 52 37 2c 52 37  |     RSBMI R7,R7|
00010a90  2c 23 30 0d 67 98 15 20  20 20 20 20 20 20 20 43  |,#0.g..        C|
00010aa0  4d 50 20 52 37 2c 52 30  0d 67 a2 43 20 20 20 20  |MP R7,R0.g.C    |
00010ab0  20 20 20 20 4d 4f 56 47  54 20 52 30 2c 52 37 20  |    MOVGT R0,R7 |
00010ac0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00010ad0  20 20 20 3b 20 52 30 20  2d 20 42 69 67 67 65 73  |   ; R0 - Bigges|
00010ae0  74 20 64 69 73 74 61 6e  63 65 2e 0d 67 ac 15 20  |t distance..g.. |
00010af0  20 20 20 20 20 20 20 43  4d 50 20 52 36 2c 52 30  |       CMP R6,R0|
00010b00  0d 67 b6 17 20 20 20 20  20 20 20 20 4d 4f 56 48  |.g..        MOVH|
00010b10  49 20 52 30 2c 52 36 0d  67 c0 17 20 20 20 20 20  |I R0,R6.g..     |
00010b20  20 20 20 4d 4f 56 48 49  20 52 35 2c 52 32 0d 67  |   MOVHI R5,R2.g|
00010b30  ca 19 20 20 20 20 20 20  20 20 41 44 44 20 52 32  |..        ADD R2|
00010b40  2c 52 32 2c 23 31 36 0d  67 d4 19 20 20 20 20 20  |,R2,#16.g..     |
00010b50  20 20 20 53 55 42 53 20  52 31 2c 52 31 2c 23 31  |   SUBS R1,R1,#1|
00010b60  0d 67 de 16 20 20 20 20  20 20 20 20 42 50 4c 20  |.g..        BPL |
00010b70  63 68 6f 6f 73 62 0d 67  e8 15 20 20 20 20 20 20  |choosb.g..      |
00010b80  20 20 43 4d 50 20 52 35  2c 23 30 0d 67 f2 16 20  |  CMP R5,#0.g.. |
00010b90  20 20 20 20 20 20 20 42  4e 45 20 66 69 6e 65 62  |       BNE fineb|
00010ba0  6f 0d 67 fc 1e 20 20 20  20 20 20 20 20 4c 44 4d  |o.g..        LDM|
00010bb0  49 41 20 52 31 33 21 2c  7b 52 35 2d 52 37 7d 0d  |IA R13!,{R5-R7}.|
00010bc0  68 06 15 20 20 20 20 20  20 20 20 4d 4f 56 20 52  |h..        MOV R|
00010bd0  31 2c 23 31 0d 68 10 1c  20 20 20 20 20 20 20 20  |1,#1.h..        |
00010be0  53 54 52 20 52 31 2c 5b  52 31 31 2c 23 33 32 5d  |STR R1,[R11,#32]|
00010bf0  0d 68 1a 13 20 20 20 20  20 20 20 20 42 20 6e 6f  |.h..        B no|
00010c00  61 63 68 0d 68 24 1d 2e  66 69 6e 65 62 6f 20 53  |ach.h$..finebo S|
00010c10  54 52 20 52 35 2c 5b 52  31 31 2c 23 31 32 30 5d  |TR R5,[R11,#120]|
00010c20  0d 68 2e 1e 20 20 20 20  20 20 20 20 4c 44 4d 49  |.h..        LDMI|
00010c30  41 20 52 31 33 21 2c 7b  52 35 2d 52 37 7d 0d 68  |A R13!,{R5-R7}.h|
00010c40  38 13 20 20 20 20 20 20  20 20 42 20 6e 6f 61 63  |8.        B noac|
00010c50  68 0d 68 42 18 2e 72 75  6e 61 77 79 20 4c 44 52  |h.hB..runawy LDR|
00010c60  20 52 30 2c 62 6c 6f 63  6b 0d 68 4c 1c 20 20 20  | R0,block.hL.   |
00010c70  20 20 20 20 20 4c 44 4d  49 41 20 52 30 2c 7b 52  |     LDMIA R0,{R|
00010c80  31 2d 52 32 7d 0d 68 56  1d 20 20 20 20 20 20 20  |1-R2}.hV.       |
00010c90  20 52 53 42 20 52 31 2c  52 31 2c 23 31 32 38 30  | RSB R1,R1,#1280|
00010ca0  2a 6a 0d 68 60 1d 20 20  20 20 20 20 20 20 52 53  |*j.h`.        RS|
00010cb0  42 20 52 32 2c 52 32 2c  23 31 30 32 34 2a 6a 0d  |B R2,R2,#1024*j.|
00010cc0  68 6a 13 20 20 20 20 20  20 20 20 42 20 66 64 77  |hj.        B fdw|
00010cd0  61 79 0d 68 74 12 2e 66  6e 75 6d 61 20 20 45 51  |ay.ht..fnuma  EQ|
00010ce0  55 44 20 30 0d 68 7e 12  2e 66 6e 75 6d 72 20 20  |UD 0.h~..fnumr  |
00010cf0  45 51 55 44 20 30 0d 68  88 12 2e 65 6e 73 68 69  |EQUD 0.h...enshi|
00010d00  64 20 45 51 55 44 20 30  0d 68 92 4d 2e 66 6f 6c  |d EQUD 0.h.M.fol|
00010d10  6c 6f 77 20 4c 44 52 20  52 30 2c 62 6c 6f 63 6b  |low LDR R0,block|
00010d20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00010d30  20 20 20 3b 20 52 30 20  63 6f 6e 74 61 69 6e 73  |   ; R0 contains|
00010d40  20 6f 74 68 65 72 20 70  6c 61 79 65 72 27 73 20  | other player's |
00010d50  73 74 61 74 73 0d 68 9c  1b 20 20 20 20 20 20 20  |stats.h..       |
00010d60  20 4c 44 52 20 52 32 2c  5b 52 30 2c 23 32 30 5d  | LDR R2,[R0,#20]|
00010d70  0d 68 a6 15 20 20 20 20  20 20 20 20 43 4d 50 20  |.h..        CMP |
00010d80  52 32 2c 23 30 0d 68 b0  41 20 20 20 20 20 20 20  |R2,#0.h.A       |
00010d90  20 42 4c 54 20 72 75 6e  61 77 79 20 20 20 20 20  | BLT runawy     |
00010da0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00010db0  3b 20 44 6f 6e 27 74 20  63 68 61 73 65 20 69 66  |; Don't chase if|
00010dc0  20 64 65 61 64 21 0d 68  ba 1b 20 20 20 20 20 20  | dead!.h..      |
00010dd0  20 20 4c 44 52 20 52 32  2c 5b 52 30 2c 23 37 36  |  LDR R2,[R0,#76|
00010de0  5d 0d 68 c4 19 20 20 20  20 20 20 20 20 53 54 52  |].h..        STR|
00010df0  20 52 32 2c 65 6e 73 68  69 64 0d 68 ce 3c 20 20  | R2,enshid.h.<  |
00010e00  20 20 20 20 20 20 4c 44  52 20 52 31 2c 5b 52 31  |      LDR R1,[R1|
00010e10  31 2c 23 33 32 5d 20 20  20 20 20 20 20 20 20 20  |1,#32]          |
00010e20  20 20 20 20 20 3b 20 57  68 61 74 20 74 6f 20 67  |     ; What to g|
00010e30  6f 20 66 6f 72 3f 0d 68  d8 15 20 20 20 20 20 20  |o for?.h..      |
00010e40  20 20 43 4d 50 20 52 31  2c 23 33 0d 68 e2 16 20  |  CMP R1,#3.h.. |
00010e50  20 20 20 20 20 20 20 42  45 51 20 72 75 6e 61 77  |       BEQ runaw|
00010e60  79 0d 68 ec 15 20 20 20  20 20 20 20 20 43 4d 50  |y.h..        CMP|
00010e70  20 52 31 2c 23 32 0d 68  f6 16 20 20 20 20 20 20  | R1,#2.h..      |
00010e80  20 20 42 45 51 20 73 69  67 68 74 62 0d 69 00 15  |  BEQ sightb.i..|
00010e90  20 20 20 20 20 20 20 20  43 4d 50 20 52 32 2c 23  |        CMP R2,#|
00010ea0  30 0d 69 0a 16 20 20 20  20 20 20 20 20 42 45 51  |0.i..        BEQ|
00010eb0  20 68 65 61 64 63 72 0d  69 14 46 20 20 20 20 20  | headcr.i.F     |
00010ec0  20 20 20 42 20 64 65 63  69 64 62 20 20 20 20 20  |   B decidb     |
00010ed0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00010ee0  20 20 3b 20 49 66 20 73  68 69 65 6c 64 2c 20 63  |  ; If shield, c|
00010ef0  68 6f 6f 73 65 20 61 20  62 6f 6e 75 73 0d 69 1e  |hoose a bonus.i.|
00010f00  19 2e 73 69 67 68 74 62  20 4c 44 52 20 52 30 2c  |..sightb LDR R0,|
00010f10  62 62 6c 6f 63 6b 0d 69  28 1c 20 20 20 20 20 20  |bblock.i(.      |
00010f20  20 20 4c 44 4d 49 41 20  52 30 2c 7b 52 31 2d 52  |  LDMIA R0,{R1-R|
00010f30  32 7d 0d 69 32 18 20 20  20 20 20 20 20 20 43 4d  |2}.i2.        CM|
00010f40  50 20 52 31 2c 23 32 35  36 30 0d 69 3c 14 20 20  |P R1,#2560.i<.  |
00010f50  20 20 20 20 20 20 ec 51  20 52 31 2c 23 31 0d 69  |      .Q R1,#1.i|
00010f60  46 1e 20 20 20 20 20 20  20 20 53 54 52 45 51 20  |F.        STREQ |
00010f70  52 31 2c 5b 52 31 31 2c  23 33 32 5d 0d 69 50 16  |R1,[R11,#32].iP.|
00010f80  20 20 20 20 20 20 20 20  42 45 51 20 66 6f 6c 6c  |        BEQ foll|
00010f90  6f 77 0d 69 5a 1c 20 20  20 20 20 20 20 20 4d 4f  |ow.iZ.        MO|
00010fa0  56 20 52 31 2c 52 31 2c  41 53 4c 23 73 68 0d 69  |V R1,R1,ASL#sh.i|
00010fb0  64 1c 20 20 20 20 20 20  20 20 4d 4f 56 20 52 32  |d.        MOV R2|
00010fc0  2c 52 32 2c 41 53 4c 23  73 68 0d 69 6e 13 20 20  |,R2,ASL#sh.in.  |
00010fd0  20 20 20 20 20 20 42 20  66 64 77 61 79 0d 69 78  |      B fdway.ix|
00010fe0  04 0d 69 82 19 2e 61 68  65 64 20 20 20 53 55 42  |..i...ahed   SUB|
00010ff0  53 20 52 36 2c 52 34 2c  52 32 0d 69 8c 1a 20 20  |S R6,R4,R2.i..  |
00011000  20 20 20 20 20 20 52 53  42 4d 49 20 52 36 2c 52  |      RSBMI R6,R|
00011010  36 2c 23 30 0d 69 96 18  20 20 20 20 20 20 20 20  |6,#0.i..        |
00011020  43 4d 50 20 52 36 2c 23  32 38 2a 6a 0d 69 a0 16  |CMP R6,#28*j.i..|
00011030  20 20 20 20 20 20 20 20  42 47 54 20 6e 74 61 68  |        BGT ntah|
00011040  65 64 0d 69 aa 1a 20 20  20 20 20 20 20 20 4d 4f  |ed.i..        MO|
00011050  56 20 52 31 32 2c 23 25  31 30 30 30 0d 69 b4 12  |V R12,#%1000.i..|
00011060  20 20 20 20 20 20 20 20  42 4c 20 72 6e 64 0d 69  |        BL rnd.i|
00011070  be 19 20 20 20 20 20 20  20 20 4c 44 52 20 52 31  |..        LDR R1|
00011080  2c 64 6c 65 76 65 6c 0d  69 c8 18 20 20 20 20 20  |,dlevel.i..     |
00011090  20 20 20 41 44 44 20 52  31 2c 52 31 2c 23 33 0d  |   ADD R1,R1,#3.|
000110a0  69 d2 1b 20 20 20 20 20  20 20 20 43 4d 50 20 52  |i..        CMP R|
000110b0  30 2c 52 31 2c 41 53 4c  23 33 0d 69 dc 20 20 20  |0,R1,ASL#3.i.   |
000110c0  20 20 20 20 20 20 84 52  4c 54 20 52 31 32 2c 52  |      .RLT R12,R|
000110d0  31 32 2c 23 25 31 30 30  30 30 0d 69 e6 22 20 20  |12,#%10000.i."  |
000110e0  20 20 20 20 20 20 4c 44  4d 49 41 20 52 31 33 21  |      LDMIA R13!|
000110f0  2c 7b 52 30 2d 52 39 2c  52 31 34 7d 0d 69 f0 13  |,{R0-R9,R14}.i..|
00011100  20 20 20 20 20 20 20 20  42 20 63 6f 6d 70 63 0d  |        B compc.|
00011110  69 fa 04 0d 6a 04 22 2e  69 73 61 68 65 64 20 53  |i...j.".isahed S|
00011120  54 4d 46 44 20 52 31 33  21 2c 7b 52 30 2d 52 39  |TMFD R13!,{R0-R9|
00011130  2c 52 31 34 7d 0d 6a 0e  1b 20 20 20 20 20 20 20  |,R14}.j..       |
00011140  20 41 44 44 20 52 33 2c  52 33 2c 23 34 30 2a 6a  | ADD R3,R3,#40*j|
00011150  0d 6a 18 1b 20 20 20 20  20 20 20 20 41 44 44 20  |.j..        ADD |
00011160  52 34 2c 52 34 2c 23 34  30 2a 6a 0d 6a 22 1b 20  |R4,R4,#40*j.j". |
00011170  20 20 20 20 20 20 20 41  44 44 20 52 30 2c 52 30  |       ADD R0,R0|
00011180  2c 23 33 30 2a 6a 0d 6a  2c 1b 20 20 20 20 20 20  |,#30*j.j,.      |
00011190  20 20 41 44 44 20 52 31  2c 52 31 2c 23 33 30 2a  |  ADD R1,R1,#30*|
000111a0  6a 0d 6a 36 18 20 20 20  20 20 20 20 20 4c 44 52  |j.j6.        LDR|
000111b0  20 52 37 2c 6f 72 70 6f  73 0d 6a 40 1c 20 20 20  | R7,orpos.j@.   |
000111c0  20 20 20 20 20 4c 44 4d  49 41 20 52 37 2c 7b 52  |     LDMIA R7,{R|
000111d0  38 2d 52 39 7d 0d 6a 4a  16 20 20 20 20 20 20 20  |8-R9}.jJ.       |
000111e0  20 4d 4f 56 20 52 35 2c  23 32 30 0d 6a 54 1e 2e  | MOV R5,#20.jT..|
000111f0  61 68 65 64 6c 70 20 41  44 44 20 52 33 2c 52 33  |ahedlp ADD R3,R3|
00011200  2c 52 38 2c 41 53 4c 23  35 0d 6a 5e 1e 20 20 20  |,R8,ASL#5.j^.   |
00011210  20 20 20 20 20 41 44 44  20 52 34 2c 52 34 2c 52  |     ADD R4,R4,R|
00011220  39 2c 41 53 4c 23 35 0d  6a 68 19 20 20 20 20 20  |9,ASL#5.jh.     |
00011230  20 20 20 53 55 42 53 20  52 36 2c 52 33 2c 52 31  |   SUBS R6,R3,R1|
00011240  0d 6a 72 1a 20 20 20 20  20 20 20 20 52 53 42 4d  |.jr.        RSBM|
00011250  49 20 52 36 2c 52 36 2c  23 30 0d 6a 7c 18 20 20  |I R6,R6,#0.j|.  |
00011260  20 20 20 20 20 20 43 4d  50 20 52 36 2c 23 32 38  |      CMP R6,#28|
00011270  2a 6a 0d 6a 86 14 20 20  20 20 20 20 20 20 42 4c  |*j.j..        BL|
00011280  54 20 61 68 65 64 0d 6a  90 19 2e 6e 74 61 68 65  |T ahed.j...ntahe|
00011290  64 20 53 55 42 53 20 52  35 2c 52 35 2c 23 31 0d  |d SUBS R5,R5,#1.|
000112a0  6a 9a 16 20 20 20 20 20  20 20 20 42 50 4c 20 61  |j..        BPL a|
000112b0  68 65 64 6c 70 0d 6a a4  22 20 20 20 20 20 20 20  |hedlp.j."       |
000112c0  20 4c 44 4d 49 41 20 52  31 33 21 2c 7b 52 30 2d  | LDMIA R13!,{R0-|
000112d0  52 39 2c 50 43 7d 5e 0d  6a ae 04 0d 6a b8 4f 2e  |R9,PC}^.j...j.O.|
000112e0  68 65 61 64 63 72 20 4c  44 4d 49 41 20 52 30 2c  |headcr LDMIA R0,|
000112f0  7b 52 31 2d 52 32 7d 20  20 20 20 20 20 20 20 20  |{R1-R2}         |
00011300  20 20 20 20 20 20 3b 20  54 6f 20 72 65 61 63 68  |      ; To reach|
00011310  20 6f 74 68 65 72 20 70  65 72 73 6f 6e 2c 20 74  | other person, t|
00011320  75 72 6e 20 77 68 65 72  65 3f 0d 6a c2 15 20 20  |urn where?.j..  |
00011330  20 20 20 20 20 20 42 4c  20 69 73 61 68 65 64 0d  |      BL isahed.|
00011340  6a cc 25 2e 66 64 77 61  79 20 20 53 54 4d 46 44  |j.%.fdway  STMFD|
00011350  20 52 31 33 21 2c 7b 52  33 2d 52 34 2c 52 37 2d  | R13!,{R3-R4,R7-|
00011360  52 31 31 7d 0d 6a d6 1b  20 20 20 20 20 20 20 20  |R11}.j..        |
00011370  41 44 44 20 52 33 2c 52  33 2c 23 34 30 2a 6a 0d  |ADD R3,R3,#40*j.|
00011380  6a e0 1b 20 20 20 20 20  20 20 20 41 44 44 20 52  |j..        ADD R|
00011390  34 2c 52 34 2c 23 34 30  2a 6a 0d 6a ea 18 20 20  |4,R4,#40*j.j..  |
000113a0  20 20 20 20 20 20 4c 44  52 20 52 37 2c 6f 72 70  |      LDR R7,orp|
000113b0  6f 73 0d 6a f4 3c 20 20  20 20 20 20 20 20 4c 44  |os.j.<        LD|
000113c0  4d 49 41 20 52 37 2c 7b  52 38 2d 52 39 7d 20 20  |MIA R7,{R8-R9}  |
000113d0  20 20 20 20 20 20 20 20  20 20 20 20 20 3b 20 47  |             ; G|
000113e0  65 74 20 66 61 63 69 6e  67 20 69 6e 66 6f 0d 6a  |et facing info.j|
000113f0  fe 20 20 20 20 20 20 20  20 20 41 44 44 20 52 38  |.         ADD R8|
00011400  2c 52 33 2c 52 38 2c 41  53 4c 23 74 74 74 0d 6b  |,R3,R8,ASL#ttt.k|
00011410  08 49 20 20 20 20 20 20  20 20 41 44 44 20 52 39  |.I        ADD R9|
00011420  2c 52 34 2c 52 39 2c 41  53 4c 23 74 74 74 20 20  |,R4,R9,ASL#ttt  |
00011430  20 20 20 20 20 20 20 20  20 3b 20 52 38 20 26 20  |         ; R8 & |
00011440  52 39 20 63 6f 6e 74 61  69 6e 20 70 6f 69 6e 74  |R9 contain point|
00011450  20 61 68 65 61 64 2e 0d  6b 12 1a 20 20 20 20 20  | ahead..k..     |
00011460  20 20 20 53 55 42 53 20  52 31 30 2c 52 38 2c 52  |   SUBS R10,R8,R|
00011470  31 0d 6b 1c 1c 20 20 20  20 20 20 20 20 52 53 42  |1.k..        RSB|
00011480  4d 49 20 52 31 30 2c 52  31 30 2c 23 30 0d 6b 26  |MI R10,R10,#0.k&|
00011490  1a 20 20 20 20 20 20 20  20 53 55 42 53 20 52 31  |.        SUBS R1|
000114a0  31 2c 52 39 2c 52 32 0d  6b 30 1c 20 20 20 20 20  |1,R9,R2.k0.     |
000114b0  20 20 20 52 53 42 4d 49  20 52 31 31 2c 52 31 31  |   RSBMI R11,R11|
000114c0  2c 23 30 0d 6b 3a 17 20  20 20 20 20 20 20 20 43  |,#0.k:.        C|
000114d0  4d 50 20 52 31 30 2c 52  31 31 0d 6b 44 19 20 20  |MP R10,R11.kD.  |
000114e0  20 20 20 20 20 20 4d 4f  56 4c 54 20 52 31 30 2c  |      MOVLT R10,|
000114f0  52 31 31 0d 6b 4e 3e 20  20 20 20 20 20 20 20 53  |R11.kN>        S|
00011500  54 52 20 52 31 30 2c 66  6e 75 6d 61 20 20 20 20  |TR R10,fnuma    |
00011510  20 20 20 20 20 20 20 20  20 20 20 20 20 20 3b 20  |              ; |
00011520  53 74 6f 72 65 20 61 68  65 61 64 20 72 61 6e 67  |Store ahead rang|
00011530  65 0d 6b 58 1c 20 20 20  20 20 20 20 20 4c 44 52  |e.kX.        LDR|
00011540  20 52 38 2c 5b 52 37 2c  23 74 72 72 5d 0d 6b 62  | R8,[R7,#trr].kb|
00011550  3a 20 20 20 20 20 20 20  20 4c 44 52 20 52 39 2c  |:        LDR R9,|
00011560  5b 52 37 2c 23 74 72 72  2b 34 5d 20 20 20 20 20  |[R7,#trr+4]     |
00011570  20 20 20 20 20 20 20 20  3b 20 4e 6f 77 20 74 72  |        ; Now tr|
00011580  79 20 72 69 67 68 74 0d  6b 6c 20 20 20 20 20 20  |y right.kl      |
00011590  20 20 20 41 44 44 20 52  38 2c 52 33 2c 52 38 2c  |   ADD R8,R3,R8,|
000115a0  41 53 4c 23 74 74 74 0d  6b 76 20 20 20 20 20 20  |ASL#ttt.kv      |
000115b0  20 20 20 41 44 44 20 52  39 2c 52 34 2c 52 39 2c  |   ADD R9,R4,R9,|
000115c0  41 53 4c 23 74 74 74 0d  6b 80 1a 20 20 20 20 20  |ASL#ttt.k..     |
000115d0  20 20 20 53 55 42 53 20  52 31 30 2c 52 38 2c 52  |   SUBS R10,R8,R|
000115e0  31 0d 6b 8a 1c 20 20 20  20 20 20 20 20 52 53 42  |1.k..        RSB|
000115f0  4d 49 20 52 31 30 2c 52  31 30 2c 23 30 0d 6b 94  |MI R10,R10,#0.k.|
00011600  1a 20 20 20 20 20 20 20  20 53 55 42 53 20 52 31  |.        SUBS R1|
00011610  31 2c 52 39 2c 52 32 0d  6b 9e 1c 20 20 20 20 20  |1,R9,R2.k..     |
00011620  20 20 20 52 53 42 4d 49  20 52 31 31 2c 52 31 31  |   RSBMI R11,R11|
00011630  2c 23 30 0d 6b a8 17 20  20 20 20 20 20 20 20 43  |,#0.k..        C|
00011640  4d 50 20 52 31 30 2c 52  31 31 0d 6b b2 19 20 20  |MP R10,R11.k..  |
00011650  20 20 20 20 20 20 4d 4f  56 4c 54 20 52 31 30 2c  |      MOVLT R10,|
00011660  52 31 31 0d 6b bc 19 20  20 20 20 20 20 20 20 53  |R11.k..        S|
00011670  54 52 20 52 31 30 2c 66  6e 75 6d 72 0d 6b c6 1d  |TR R10,fnumr.k..|
00011680  20 20 20 20 20 20 20 20  4c 44 52 20 52 38 2c 5b  |        LDR R8,[|
00011690  52 37 2c 23 2d 74 72 72  5d 0d 6b d0 39 20 20 20  |R7,#-trr].k.9   |
000116a0  20 20 20 20 20 4c 44 52  20 52 39 2c 5b 52 37 2c  |     LDR R9,[R7,|
000116b0  23 2d 28 74 72 72 2d 34  29 5d 20 20 20 20 20 20  |#-(trr-4)]      |
000116c0  20 20 20 20 3b 20 4e 6f  77 20 74 72 79 20 6c 65  |    ; Now try le|
000116d0  66 74 0d 6b da 20 20 20  20 20 20 20 20 20 41 44  |ft.k.         AD|
000116e0  44 20 52 38 2c 52 33 2c  52 38 2c 41 53 4c 23 74  |D R8,R3,R8,ASL#t|
000116f0  74 74 0d 6b e4 20 20 20  20 20 20 20 20 20 41 44  |tt.k.         AD|
00011700  44 20 52 39 2c 52 34 2c  52 39 2c 41 53 4c 23 74  |D R9,R4,R9,ASL#t|
00011710  74 74 0d 6b ee 1a 20 20  20 20 20 20 20 20 53 55  |tt.k..        SU|
00011720  42 53 20 52 31 30 2c 52  38 2c 52 31 0d 6b f8 1c  |BS R10,R8,R1.k..|
00011730  20 20 20 20 20 20 20 20  52 53 42 4d 49 20 52 31  |        RSBMI R1|
00011740  30 2c 52 31 30 2c 23 30  0d 6c 02 1a 20 20 20 20  |0,R10,#0.l..    |
00011750  20 20 20 20 53 55 42 53  20 52 31 31 2c 52 39 2c  |    SUBS R11,R9,|
00011760  52 32 0d 6c 0c 1c 20 20  20 20 20 20 20 20 52 53  |R2.l..        RS|
00011770  42 4d 49 20 52 31 31 2c  52 31 31 2c 23 30 0d 6c  |BMI R11,R11,#0.l|
00011780  16 17 20 20 20 20 20 20  20 20 43 4d 50 20 52 31  |..        CMP R1|
00011790  30 2c 52 31 31 0d 6c 20  19 20 20 20 20 20 20 20  |0,R11.l .       |
000117a0  20 4d 4f 56 4c 54 20 52  31 30 2c 52 31 31 0d 6c  | MOVLT R10,R11.l|
000117b0  2a 18 20 20 20 20 20 20  20 20 4c 44 52 20 52 38  |*.        LDR R8|
000117c0  2c 66 6e 75 6d 61 0d 6c  34 18 20 20 20 20 20 20  |,fnuma.l4.      |
000117d0  20 20 4c 44 52 20 52 39  2c 66 6e 75 6d 72 0d 6c  |  LDR R9,fnumr.l|
000117e0  3e 16 20 20 20 20 20 20  20 20 43 4d 50 20 52 31  |>.        CMP R1|
000117f0  30 2c 52 38 0d 6c 48 17  20 20 20 20 20 20 20 20  |0,R8.lH.        |
00011800  43 4d 50 47 54 20 52 39  2c 52 38 0d 6c 52 14 20  |CMPGT R9,R8.lR. |
00011810  20 20 20 20 20 20 20 42  47 54 20 73 74 72 61 0d  |       BGT stra.|
00011820  6c 5c 16 20 20 20 20 20  20 20 20 43 4d 50 20 52  |l\.        CMP R|
00011830  39 2c 52 31 30 0d 6c 66  1c 20 20 20 20 20 20 20  |9,R10.lf.       |
00011840  20 84 52 47 54 20 52 31  32 2c 52 31 32 2c 23 25  | .RGT R12,R12,#%|
00011850  31 0d 6c 70 1d 20 20 20  20 20 20 20 20 84 52 4c  |1.lp.        .RL|
00011860  54 20 52 31 32 2c 52 31  32 2c 23 25 31 30 0d 6c  |T R12,R12,#%10.l|
00011870  7a 14 20 20 20 20 20 20  20 20 42 20 6e 74 75 72  |z.        B ntur|
00011880  6e 61 0d 6c 84 12 2e 73  74 72 61 20 20 20 42 4c  |na.l...stra   BL|
00011890  20 72 6e 64 0d 6c 8e 19  20 20 20 20 20 20 20 20  | rnd.l..        |
000118a0  4c 44 52 20 52 31 2c 64  6c 65 76 65 6c 0d 6c 98  |LDR R1,dlevel.l.|
000118b0  1b 20 20 20 20 20 20 20  20 4d 4f 56 20 52 31 2c  |.        MOV R1,|
000118c0  52 31 2c 41 53 4c 23 32  0d 6c a2 19 20 20 20 20  |R1,ASL#2.l..    |
000118d0  20 20 20 20 41 44 44 20  52 31 2c 52 31 2c 23 31  |    ADD R1,R1,#1|
000118e0  35 0d 6c ac 15 20 20 20  20 20 20 20 20 43 4d 50  |5.l..        CMP|
000118f0  20 52 30 2c 52 31 0d 6c  b6 20 20 20 20 20 20 20  | R0,R1.l.       |
00011900  20 20 84 52 4c 54 20 52  31 32 2c 52 31 32 2c 23  |  .RLT R12,R12,#|
00011910  25 31 30 30 30 30 0d 6c  c0 1c 20 20 20 20 20 20  |%10000.l..      |
00011920  20 20 84 52 20 52 31 32  2c 52 31 32 2c 23 25 31  |  .R R12,R12,#%1|
00011930  30 30 0d 6c ca 38 2e 6e  74 75 72 6e 61 20 42 4c  |00.l.8.nturna BL|
00011940  20 72 6e 64 20 20 20 20  20 20 20 20 20 20 20 20  | rnd            |
00011950  20 20 20 20 20 20 20 20  20 20 20 20 20 3b 20 41  |             ; A|
00011960  63 63 65 6c 65 72 61 74  65 3f 0d 6c d4 17 20 20  |ccelerate?.l..  |
00011970  20 20 20 20 20 20 43 4d  50 20 52 30 2c 23 31 31  |      CMP R0,#11|
00011980  30 0d 6c de 1e 20 20 20  20 20 20 20 20 84 52 4c  |0.l..        .RL|
00011990  54 20 52 31 32 2c 52 31  32 2c 23 25 31 30 30 0d  |T R12,R12,#%100.|
000119a0  6c e8 12 2e 6e 74 6d 20  20 20 20 42 4c 20 72 6e  |l...ntm    BL rn|
000119b0  64 0d 6c f2 25 20 20 20  20 20 20 20 20 4c 44 4d  |d.l.%        LDM|
000119c0  49 41 20 52 31 33 21 2c  7b 52 33 2d 52 34 2c 52  |IA R13!,{R3-R4,R|
000119d0  37 2d 52 31 31 7d 0d 6c  fc 1c 20 20 20 20 20 20  |7-R11}.l..      |
000119e0  20 20 4c 44 52 20 52 31  2c 5b 52 31 31 2c 23 33  |  LDR R1,[R11,#3|
000119f0  32 5d 0d 6d 06 15 20 20  20 20 20 20 20 20 43 4d  |2].m..        CM|
00011a00  50 20 52 30 2c 23 35 0d  6d 10 20 20 20 20 20 20  |P R0,#5.m.      |
00011a10  20 20 20 84 52 4c 54 20  52 31 32 2c 52 31 32 2c  |   .RLT R12,R12,|
00011a20  23 25 31 30 30 30 30 0d  6d 1a 19 20 20 20 20 20  |#%10000.m..     |
00011a30  20 20 20 4c 44 52 20 52  30 2c 65 6e 73 68 69 64  |   LDR R0,enshid|
00011a40  0d 6d 24 15 20 20 20 20  20 20 20 20 43 4d 50 20  |.m$.        CMP |
00011a50  52 30 2c 23 31 0d 6d 2e  1f 20 20 20 20 20 20 20  |R0,#1.m..       |
00011a60  20 80 47 45 20 52 31 32  2c 52 31 32 2c 23 25 30  | .GE R12,R12,#%0|
00011a70  31 31 31 31 0d 6d 38 19  20 20 20 20 20 20 20 20  |1111.m8.        |
00011a80  80 20 52 31 2c 52 31 32  2c 23 25 31 31 0d 6d 42  |. R1,R12,#%11.mB|
00011a90  38 20 20 20 20 20 20 20  20 4c 44 52 20 52 30 2c  |8        LDR R0,|
00011aa0  5b 52 31 31 2c 23 34 30  5d 20 20 20 20 20 20 20  |[R11,#40]       |
00011ab0  20 20 20 20 20 20 20 20  3b 20 43 61 75 74 69 6f  |        ; Cautio|
00011ac0  6e 20 64 69 72 0d 6d 4c  15 20 20 20 20 20 20 20  |n dir.mL.       |
00011ad0  20 43 4d 50 20 52 30 2c  52 31 0d 6d 56 15 20 20  | CMP R0,R1.mV.  |
00011ae0  20 20 20 20 20 20 42 4e  45 20 63 6f 6d 70 63 0d  |      BNE compc.|
00011af0  6d 60 1a 20 20 20 20 20  20 20 20 82 20 52 31 32  |m`.        . R12|
00011b00  2c 52 31 32 2c 23 25 31  31 0d 6d 6a 42 20 20 20  |,R12,#%11.mjB   |
00011b10  20 20 20 20 20 80 20 52  31 32 2c 52 31 32 2c 23  |     . R12,R12,#|
00011b20  25 31 30 31 31 31 20 20  20 20 20 20 20 20 20 20  |%10111          |
00011b30  3b 20 44 6f 6e 27 74 20  74 75 72 6e 20 73 61 6d  |; Don't turn sam|
00011b40  65 20 64 69 72 20 74 77  69 63 65 0d 6d 74 1c 20  |e dir twice.mt. |
00011b50  20 20 20 20 20 20 20 84  52 20 52 31 32 2c 52 31  |       .R R12,R1|
00011b60  32 2c 23 25 31 30 30 0d  6d 7e 1d 20 20 20 20 20  |2,#%100.m~.     |
00011b70  20 20 20 4c 44 52 20 52  30 2c 5b 52 31 31 2c 23  |   LDR R0,[R11,#|
00011b80  31 31 32 5d 0d 6d 88 18  20 20 20 20 20 20 20 20  |112].m..        |
00011b90  53 55 42 20 52 30 2c 52  30 2c 23 31 0d 6d 92 1d  |SUB R0,R0,#1.m..|
00011ba0  20 20 20 20 20 20 20 20  53 54 52 20 52 30 2c 5b  |        STR R0,[|
00011bb0  52 31 31 2c 23 31 31 32  5d 0d 6d 9c 15 20 20 20  |R11,#112].m..   |
00011bc0  20 20 20 20 20 43 4d 50  20 52 30 2c 23 30 0d 6d  |     CMP R0,#0.m|
00011bd0  a6 1e 20 20 20 20 20 20  20 20 53 54 52 45 51 20  |..        STREQ |
00011be0  52 30 2c 5b 52 31 31 2c  23 34 30 5d 0d 6d b0 13  |R0,[R11,#40].m..|
00011bf0  20 20 20 20 20 20 20 20  42 20 63 6f 6d 70 63 0d  |        B compc.|
00011c00  6d ba 1f 2e 64 65 74 65  63 74 20 53 54 4d 46 44  |m...detect STMFD|
00011c10  20 52 31 33 21 2c 7b 52  33 2d 52 31 31 7d 0d 6d  | R13!,{R3-R11}.m|
00011c20  c4 1b 20 20 20 20 20 20  20 20 41 44 44 20 52 33  |..        ADD R3|
00011c30  2c 52 33 2c 23 33 36 2a  6a 0d 6d ce 1b 20 20 20  |,R3,#36*j.m..   |
00011c40  20 20 20 20 20 41 44 44  20 52 34 2c 52 34 2c 23  |     ADD R4,R4,#|
00011c50  33 36 2a 6a 0d 6d d8 44  20 20 20 20 20 20 20 20  |36*j.m.D        |
00011c60  41 44 44 20 52 33 2c 52  33 2c 52 39 2c 41 53 4c  |ADD R3,R3,R9,ASL|
00011c70  20 52 32 20 20 20 20 20  20 20 20 20 3b 20 4e 75  | R2         ; Nu|
00011c80  6d 62 65 72 20 69 73 20  74 68 65 20 73 65 61 72  |mber is the sear|
00011c90  63 68 20 72 61 6e 67 65  0d 6d e2 44 20 20 20 20  |ch range.m.D    |
00011ca0  20 20 20 20 41 44 44 20  52 34 2c 52 34 2c 52 31  |    ADD R4,R4,R1|
00011cb0  30 2c 41 53 4c 20 52 32  20 20 20 20 20 20 20 20  |0,ASL R2        |
00011cc0  3b 20 4e 75 6d 62 65 72  20 69 73 20 74 68 65 20  |; Number is the |
00011cd0  73 65 61 72 63 68 20 72  61 6e 67 65 0d 6d ec 25  |search range.m.%|
00011ce0  20 20 20 20 20 20 20 20  43 4d 50 20 52 33 2c 23  |        CMP R3,#|
00011cf0  31 32 31 36 2a 6a 3a 42  47 54 20 71 75 69 63 6b  |1216*j:BGT quick|
00011d00  74 0d 6d f6 23 20 20 20  20 20 20 20 20 43 4d 50  |t.m.#        CMP|
00011d10  20 52 33 2c 23 36 34 2a  6a 3a 42 4c 54 20 71 75  | R3,#64*j:BLT qu|
00011d20  69 63 6b 74 0d 6e 00 24  20 20 20 20 20 20 20 20  |ickt.n.$        |
00011d30  43 4d 50 20 52 34 2c 23  38 30 30 2a 6a 3a 42 47  |CMP R4,#800*j:BG|
00011d40  54 20 71 75 69 63 6b 74  0d 6e 0a 24 20 20 20 20  |T quickt.n.$    |
00011d50  20 20 20 20 43 4d 50 20  52 34 2c 23 32 30 30 2a  |    CMP R4,#200*|
00011d60  6a 3a 42 4c 54 20 71 75  69 63 6b 74 0d 6e 14 1a  |j:BLT quickt.n..|
00011d70  20 20 20 20 20 20 20 20  4c 44 52 20 52 31 31 2c  |        LDR R11,|
00011d80  62 61 72 74 61 62 0d 6e  1e 17 20 20 20 20 20 20  |bartab.n..      |
00011d90  20 20 4c 44 52 20 52 30  2c 62 61 72 72 0d 6e 28  |  LDR R0,barr.n(|
00011da0  1c 2e 62 6c 6f 63 6b 61  20 4c 44 52 20 52 36 2c  |..blocka LDR R6,|
00011db0  5b 52 31 31 5d 2c 23 31  32 0d 6e 32 15 20 20 20  |[R11],#12.n2.   |
00011dc0  20 20 20 20 20 43 4d 4e  20 52 36 2c 23 30 0d 6e  |     CMN R6,#0.n|
00011dd0  3c 16 20 20 20 20 20 20  20 20 42 45 51 20 6e 6f  |<.        BEQ no|
00011de0  63 72 61 63 0d 6e 46 19  2e 63 72 61 73 68 63 20  |crac.nF..crashc |
00011df0  53 55 42 53 20 52 36 2c  52 36 2c 52 33 0d 6e 50  |SUBS R6,R6,R3.nP|
00011e00  1a 20 20 20 20 20 20 20  20 52 53 42 4d 49 20 52  |.        RSBMI R|
00011e10  36 2c 52 36 2c 23 30 0d  6e 5a 19 20 20 20 20 20  |6,R6,#0.nZ.     |
00011e20  20 20 20 43 4d 50 20 52  36 2c 23 31 31 32 2a 6a  |   CMP R6,#112*j|
00011e30  0d 6e 64 14 20 20 20 20  20 20 20 20 42 4c 54 20  |.nd.        BLT |
00011e40  63 72 61 63 0d 6e 6e 19  2e 6e 6f 63 72 61 63 20  |crac.nn..nocrac |
00011e50  53 55 42 53 20 52 30 2c  52 30 2c 23 31 0d 6e 78  |SUBS R0,R0,#1.nx|
00011e60  16 20 20 20 20 20 20 20  20 42 50 4c 20 62 6c 6f  |.        BPL blo|
00011e70  63 6b 61 0d 6e 82 16 20  20 20 20 20 20 20 20 4d  |cka.n..        M|
00011e80  4f 56 20 52 31 32 2c 23  30 0d 6e 8c 1f 20 20 20  |OV R12,#0.n..   |
00011e90  20 20 20 20 20 4c 44 4d  49 41 20 52 31 33 21 2c  |     LDMIA R13!,|
00011ea0  7b 52 33 2d 52 31 31 7d  0d 6e 96 4a 20 20 20 20  |{R3-R11}.n.J    |
00011eb0  20 20 20 20 42 20 66 6f  6c 6c 6f 77 20 20 20 20  |    B follow    |
00011ec0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00011ed0  20 20 20 20 3b 20 43 6c  65 61 72 20 61 68 65 61  |    ; Clear ahea|
00011ee0  64 20 2d 20 6c 6f 6f 70  20 74 6f 20 74 61 72 67  |d - loop to targ|
00011ef0  65 74 0d 6e a0 1c 2e 63  72 61 63 20 20 20 4c 44  |et.n...crac   LD|
00011f00  52 20 52 37 2c 5b 52 31  31 2c 23 2d 38 5d 0d 6e  |R R7,[R11,#-8].n|
00011f10  aa 19 20 20 20 20 20 20  20 20 53 55 42 53 20 52  |..        SUBS R|
00011f20  37 2c 52 37 2c 52 34 0d  6e b4 1a 20 20 20 20 20  |7,R7,R4.n..     |
00011f30  20 20 20 52 53 42 4d 49  20 52 37 2c 52 37 2c 23  |   RSBMI R7,R7,#|
00011f40  30 0d 6e be 19 20 20 20  20 20 20 20 20 43 4d 50  |0.n..        CMP|
00011f50  20 52 37 2c 23 31 31 32  2a 6a 0d 6e c8 16 20 20  | R7,#112*j.n..  |
00011f60  20 20 20 20 20 20 42 47  54 20 6e 6f 63 72 61 63  |      BGT nocrac|
00011f70  0d 6e d2 39 2e 71 75 69  63 6b 74 20 53 55 42 20  |.n.9.quickt SUB |
00011f80  52 31 31 2c 52 33 2c 52  39 2c 41 53 4c 20 52 32  |R11,R3,R9,ASL R2|
00011f90  20 20 20 20 20 20 20 20  20 20 20 20 3b 20 53 74  |            ; St|
00011fa0  61 72 74 20 70 6f 69 6e  74 0d 6e dc 21 20 20 20  |art point.n.!   |
00011fb0  20 20 20 20 20 53 55 42  20 52 31 32 2c 52 34 2c  |     SUB R12,R4,|
00011fc0  52 31 30 2c 41 53 4c 20  52 32 0d 6e e6 3e 20 20  |R10,ASL R2.n.>  |
00011fd0  20 20 20 20 20 20 4d 4f  56 20 52 30 2c 23 30 20  |      MOV R0,#0 |
00011fe0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00011ff0  20 20 20 20 20 20 3b 20  43 6f 75 6e 74 20 6c 65  |      ; Count le|
00012000  66 74 20 74 75 72 6e 73  0d 6e f0 18 20 20 20 20  |ft turns.n..    |
00012010  20 20 20 20 4c 44 52 20  52 38 2c 6f 72 70 6f 73  |    LDR R8,orpos|
00012020  0d 6e fa 25 2e 74 72 79  6c 65 66 20 41 44 44 20  |.n.%.trylef ADD |
00012030  52 30 2c 52 30 2c 23 31  3a 53 55 42 20 52 38 2c  |R0,R0,#1:SUB R8,|
00012040  52 38 2c 23 38 0d 6f 04  16 20 20 20 20 20 20 20  |R8,#8.o..       |
00012050  20 43 4d 50 20 52 31 2c  23 33 35 0d 6f 0e 16 20  | CMP R1,#35.o.. |
00012060  20 20 20 20 20 20 20 42  47 45 20 66 69 6e 6c 65  |       BGE finle|
00012070  66 0d 6f 18 1d 20 20 20  20 20 20 20 20 4c 44 4d  |f.o..        LDM|
00012080  49 41 20 52 38 2c 7b 52  39 2d 52 31 30 7d 0d 6f  |IA R8,{R9-R10}.o|
00012090  22 20 20 20 20 20 20 20  20 20 41 44 44 20 52 39  |"         ADD R9|
000120a0  2c 52 31 31 2c 52 39 2c  41 53 4c 20 52 32 0d 6f  |,R11,R9,ASL R2.o|
000120b0  2c 3c 20 20 20 20 20 20  20 20 41 44 44 20 52 31  |,<        ADD R1|
000120c0  30 2c 52 31 32 2c 52 31  30 2c 41 53 4c 20 52 32  |0,R12,R10,ASL R2|
000120d0  20 20 20 20 20 20 20 20  20 20 20 3b 20 49 73 20  |           ; Is |
000120e0  74 68 69 73 20 61 77 61  79 3f 0d 6f 36 25 20 20  |this away?.o6%  |
000120f0  20 20 20 20 20 20 43 4d  50 20 52 39 2c 23 31 32  |      CMP R9,#12|
00012100  31 36 2a 6a 3a 42 47 54  20 74 72 79 6c 65 66 0d  |16*j:BGT trylef.|
00012110  6f 40 23 20 20 20 20 20  20 20 20 43 4d 50 20 52  |o@#        CMP R|
00012120  39 2c 23 36 34 2a 6a 3a  42 4c 54 20 74 72 79 6c  |9,#64*j:BLT tryl|
00012130  65 66 0d 6f 4a 25 20 20  20 20 20 20 20 20 43 4d  |ef.oJ%        CM|
00012140  50 20 52 31 30 2c 23 38  30 30 2a 6a 3a 42 47 54  |P R10,#800*j:BGT|
00012150  20 74 72 79 6c 65 66 0d  6f 54 25 20 20 20 20 20  | trylef.oT%     |
00012160  20 20 20 43 4d 50 20 52  31 30 2c 23 32 30 30 2a  |   CMP R10,#200*|
00012170  6a 3a 42 4c 54 20 74 72  79 6c 65 66 0d 6f 5e 17  |j:BLT trylef.o^.|
00012180  20 20 20 20 20 20 20 20  4c 44 52 20 52 33 2c 62  |        LDR R3,b|
00012190  61 72 72 0d 6f 68 19 20  20 20 20 20 20 20 20 4c  |arr.oh.        L|
000121a0  44 52 20 52 34 2c 62 61  72 74 61 62 0d 6f 72 1b  |DR R4,bartab.or.|
000121b0  2e 71 75 69 62 6c 6f 20  4c 44 52 20 52 35 2c 5b  |.quiblo LDR R5,[|
000121c0  52 34 5d 2c 23 31 32 0d  6f 7c 19 20 20 20 20 20  |R4],#12.o|.     |
000121d0  20 20 20 53 55 42 53 20  52 35 2c 52 39 2c 52 35  |   SUBS R5,R9,R5|
000121e0  0d 6f 86 1a 20 20 20 20  20 20 20 20 52 53 42 4d  |.o..        RSBM|
000121f0  49 20 52 35 2c 52 39 2c  23 30 0d 6f 90 19 20 20  |I R5,R9,#0.o..  |
00012200  20 20 20 20 20 20 43 4d  50 20 52 35 2c 23 31 32  |      CMP R5,#12|
00012210  38 2a 6a 0d 6f 9a 16 20  20 20 20 20 20 20 20 42  |8*j.o..        B|
00012220  47 54 20 6e 6f 74 71 62  6c 0d 6f a4 1b 20 20 20  |GT notqbl.o..   |
00012230  20 20 20 20 20 4c 44 52  20 52 35 2c 5b 52 34 2c  |     LDR R5,[R4,|
00012240  23 2d 38 5d 0d 6f ae 1a  20 20 20 20 20 20 20 20  |#-8].o..        |
00012250  53 55 42 53 20 52 35 2c  52 31 30 2c 52 35 0d 6f  |SUBS R5,R10,R5.o|
00012260  b8 1b 20 20 20 20 20 20  20 20 52 53 42 4d 49 20  |..        RSBMI |
00012270  52 35 2c 52 31 30 2c 23  30 0d 6f c2 19 20 20 20  |R5,R10,#0.o..   |
00012280  20 20 20 20 20 43 4d 50  20 52 35 2c 23 31 32 38  |     CMP R5,#128|
00012290  2a 6a 0d 6f cc 41 20 20  20 20 20 20 20 20 42 4c  |*j.o.A        BL|
000122a0  54 20 74 72 79 6c 65 66  20 20 20 20 20 20 20 20  |T trylef        |
000122b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 3b  |               ;|
000122c0  20 48 69 74 2c 20 73 6f  20 74 75 72 6e 20 6d 6f  | Hit, so turn mo|
000122d0  72 65 2e 0d 6f d6 19 2e  6e 6f 74 71 62 6c 20 53  |re..o...notqbl S|
000122e0  55 42 53 20 52 33 2c 52  33 2c 23 31 0d 6f e0 3d  |UBS R3,R3,#1.o.=|
000122f0  20 20 20 20 20 20 20 20  42 50 4c 20 71 75 69 62  |        BPL quib|
00012300  6c 6f 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |lo              |
00012310  20 20 20 20 20 20 20 20  20 3b 20 41 6e 79 20 6d  |         ; Any m|
00012320  6f 72 65 20 6c 65 66 74  3f 0d 6f ea 18 2e 66 69  |ore left?.o...fi|
00012330  6e 6c 65 66 20 4c 44 52  20 52 38 2c 6f 72 70 6f  |nlef LDR R8,orpo|
00012340  73 0d 6f f4 15 20 20 20  20 20 20 20 20 4d 4f 56  |s.o..        MOV|
00012350  20 52 31 2c 23 30 0d 6f  fe 18 2e 74 72 79 72 69  | R1,#0.o...tryri|
00012360  67 20 41 44 44 20 52 31  2c 52 31 2c 23 31 0d 70  |g ADD R1,R1,#1.p|
00012370  08 16 20 20 20 20 20 20  20 20 43 4d 50 20 52 31  |..        CMP R1|
00012380  2c 23 33 35 0d 70 12 16  20 20 20 20 20 20 20 20  |,#35.p..        |
00012390  42 47 45 20 66 69 6e 72  69 67 0d 70 1c 18 20 20  |BGE finrig.p..  |
000123a0  20 20 20 20 20 20 41 44  44 20 52 38 2c 52 38 2c  |      ADD R8,R8,|
000123b0  23 38 0d 70 26 1d 20 20  20 20 20 20 20 20 4c 44  |#8.p&.        LD|
000123c0  4d 49 41 20 52 38 2c 7b  52 39 2d 52 31 30 7d 0d  |MIA R8,{R9-R10}.|
000123d0  70 30 20 20 20 20 20 20  20 20 20 41 44 44 20 52  |p0         ADD R|
000123e0  39 2c 52 31 31 2c 52 39  2c 41 53 4c 20 52 32 0d  |9,R11,R9,ASL R2.|
000123f0  70 3a 44 20 20 20 20 20  20 20 20 41 44 44 20 52  |p:D        ADD R|
00012400  31 30 2c 52 31 32 2c 52  31 30 2c 41 53 4c 20 52  |10,R12,R10,ASL R|
00012410  32 20 20 20 20 20 20 20  20 20 20 20 3b 20 49 73  |2           ; Is|
00012420  20 74 68 69 73 20 61 77  61 79 3f 20 28 72 69 67  | this away? (rig|
00012430  68 74 29 0d 70 44 25 20  20 20 20 20 20 20 20 43  |ht).pD%        C|
00012440  4d 50 20 52 39 2c 23 31  32 31 36 2a 6a 3a 42 47  |MP R9,#1216*j:BG|
00012450  54 20 74 72 79 72 69 67  0d 70 4e 23 20 20 20 20  |T tryrig.pN#    |
00012460  20 20 20 20 43 4d 50 20  52 39 2c 23 36 34 2a 6a  |    CMP R9,#64*j|
00012470  3a 42 4c 54 20 74 72 79  72 69 67 0d 70 58 25 20  |:BLT tryrig.pX% |
00012480  20 20 20 20 20 20 20 43  4d 50 20 52 31 30 2c 23  |       CMP R10,#|
00012490  38 30 30 2a 6a 3a 42 47  54 20 74 72 79 72 69 67  |800*j:BGT tryrig|
000124a0  0d 70 62 25 20 20 20 20  20 20 20 20 43 4d 50 20  |.pb%        CMP |
000124b0  52 31 30 2c 23 32 30 30  2a 6a 3a 42 4c 54 20 74  |R10,#200*j:BLT t|
000124c0  72 79 72 69 67 0d 70 6c  17 20 20 20 20 20 20 20  |ryrig.pl.       |
000124d0  20 4c 44 52 20 52 33 2c  62 61 72 72 0d 70 76 19  | LDR R3,barr.pv.|
000124e0  20 20 20 20 20 20 20 20  4c 44 52 20 52 34 2c 62  |        LDR R4,b|
000124f0  61 72 74 61 62 0d 70 80  1b 2e 71 75 69 62 6c 72  |artab.p...quiblr|
00012500  20 4c 44 52 20 52 35 2c  5b 52 34 5d 2c 23 31 32  | LDR R5,[R4],#12|
00012510  0d 70 8a 19 20 20 20 20  20 20 20 20 53 55 42 53  |.p..        SUBS|
00012520  20 52 35 2c 52 39 2c 52  35 0d 70 94 1a 20 20 20  | R5,R9,R5.p..   |
00012530  20 20 20 20 20 52 53 42  4d 49 20 52 35 2c 52 39  |     RSBMI R5,R9|
00012540  2c 23 30 0d 70 9e 19 20  20 20 20 20 20 20 20 43  |,#0.p..        C|
00012550  4d 50 20 52 35 2c 23 31  32 38 2a 6a 0d 70 a8 16  |MP R5,#128*j.p..|
00012560  20 20 20 20 20 20 20 20  42 47 54 20 6e 6f 74 71  |        BGT notq|
00012570  62 72 0d 70 b2 1b 20 20  20 20 20 20 20 20 4c 44  |br.p..        LD|
00012580  52 20 52 35 2c 5b 52 34  2c 23 2d 38 5d 0d 70 bc  |R R5,[R4,#-8].p.|
00012590  1a 20 20 20 20 20 20 20  20 53 55 42 53 20 52 35  |.        SUBS R5|
000125a0  2c 52 31 30 2c 52 35 0d  70 c6 1b 20 20 20 20 20  |,R10,R5.p..     |
000125b0  20 20 20 52 53 42 4d 49  20 52 35 2c 52 31 30 2c  |   RSBMI R5,R10,|
000125c0  23 30 0d 70 d0 19 20 20  20 20 20 20 20 20 43 4d  |#0.p..        CM|
000125d0  50 20 52 35 2c 23 31 32  38 2a 6a 0d 70 da 41 20  |P R5,#128*j.p.A |
000125e0  20 20 20 20 20 20 20 42  4c 54 20 74 72 79 72 69  |       BLT tryri|
000125f0  67 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |g               |
00012600  20 20 20 20 20 20 20 20  3b 20 48 69 74 2c 20 73  |        ; Hit, s|
00012610  6f 20 74 75 72 6e 20 6d  6f 72 65 2e 0d 70 e4 19  |o turn more..p..|
00012620  2e 6e 6f 74 71 62 72 20  53 55 42 53 20 52 33 2c  |.notqbr SUBS R3,|
00012630  52 33 2c 23 31 0d 70 ee  3d 20 20 20 20 20 20 20  |R3,#1.p.=       |
00012640  20 42 50 4c 20 71 75 69  62 6c 72 20 20 20 20 20  | BPL quiblr     |
00012650  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00012660  20 20 3b 20 41 6e 79 20  6d 6f 72 65 20 6c 65 66  |  ; Any more lef|
00012670  74 3f 0d 70 f8 1f 2e 66  69 6e 72 69 67 20 4c 44  |t?.p...finrig LD|
00012680  4d 49 41 20 52 31 33 21  2c 7b 52 33 2d 52 31 31  |MIA R13!,{R3-R11|
00012690  7d 0d 71 02 1a 20 20 20  20 20 20 20 20 53 55 42  |}.q..        SUB|
000126a0  53 20 52 31 32 2c 52 30  2c 52 31 0d 71 0c 1c 20  |S R12,R0,R1.q.. |
000126b0  20 20 20 20 20 20 20 52  53 42 4d 49 20 52 31 32  |       RSBMI R12|
000126c0  2c 52 31 32 2c 23 30 0d  71 16 42 20 20 20 20 20  |,R12,#0.q.B     |
000126d0  20 20 20 43 4d 50 20 52  31 32 2c 23 34 20 20 20  |   CMP R12,#4   |
000126e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000126f0  20 20 3b 20 49 73 20 6c  69 74 74 6c 65 20 64 69  |  ; Is little di|
00012700  66 66 65 72 65 6e 63 65  3f 0d 71 20 16 20 20 20  |fference?.q .   |
00012710  20 20 20 20 20 42 4c 54  20 69 67 6e 6f 72 62 0d  |     BLT ignorb.|
00012720  71 2a 3e 2e 61 76 6f 69  64 6f 20 43 4d 50 20 52  |q*>.avoido CMP R|
00012730  30 2c 52 31 20 20 20 20  20 20 20 20 20 20 20 20  |0,R1            |
00012740  20 20 20 20 20 20 20 20  20 20 3b 20 57 68 69 63  |          ; Whic|
00012750  68 20 69 73 20 71 75 69  63 6b 65 72 3f 0d 71 34  |h is quicker?.q4|
00012760  17 20 20 20 20 20 20 20  20 4d 4f 56 20 52 31 32  |.        MOV R12|
00012770  2c 23 31 30 0d 71 3e 18  20 20 20 20 20 20 20 20  |,#10.q>.        |
00012780  4d 4f 56 4c 54 20 52 31  32 2c 23 39 0d 71 48 1f  |MOVLT R12,#9.qH.|
00012790  20 20 20 20 20 20 20 20  4c 44 52 45 51 20 52 31  |        LDREQ R1|
000127a0  32 2c 5b 52 31 31 2c 23  32 38 5d 0d 71 52 1d 20  |2,[R11,#28].qR. |
000127b0  20 20 20 20 20 20 20 53  54 52 20 52 31 32 2c 5b  |       STR R12,[|
000127c0  52 31 31 2c 23 32 38 5d  0d 71 5c 16 20 20 20 20  |R11,#28].q\.    |
000127d0  20 20 20 20 4d 4f 56 20  52 30 2c 23 31 31 0d 71  |    MOV R0,#11.q|
000127e0  66 19 20 20 20 20 20 20  20 20 53 55 42 20 52 30  |f.        SUB R0|
000127f0  2c 52 30 2c 52 31 32 0d  71 70 46 20 20 20 20 20  |,R0,R12.qpF     |
00012800  20 20 20 53 54 52 20 52  30 2c 5b 52 31 31 2c 23  |   STR R0,[R11,#|
00012810  34 30 5d 20 20 20 20 20  20 20 20 20 20 20 20 20  |40]             |
00012820  20 20 3b 20 53 74 6f 72  65 20 64 69 72 65 63 74  |  ; Store direct|
00012830  69 6f 6e 20 28 6e 6f 20  74 75 72 6e 29 0d 71 7a  |ion (no turn).qz|
00012840  15 20 20 20 20 20 20 20  20 4d 4f 56 20 52 30 2c  |.        MOV R0,|
00012850  23 37 0d 71 84 32 20 20  20 20 20 20 20 20 53 54  |#7.q.2        ST|
00012860  52 20 52 30 2c 5b 52 31  31 2c 23 31 31 32 5d 20  |R R0,[R11,#112] |
00012870  20 20 20 20 20 20 20 20  20 20 20 20 20 3b 20 43  |             ; C|
00012880  6f 75 6e 74 0d 71 8e 13  20 20 20 20 20 20 20 20  |ount.q..        |
00012890  42 20 63 6f 6d 70 63 0d  71 98 12 2e 77 61 69 74  |B compc.q...wait|
000128a0  20 20 20 53 57 49 20 36  36 0d 71 a2 18 20 20 20  |   SWI 66.q..   |
000128b0  20 20 20 20 20 41 44 44  20 52 31 2c 52 30 2c 52  |     ADD R1,R0,R|
000128c0  31 0d 71 ac 12 2e 77 61  69 74 6c 20 20 53 57 49  |1.q...waitl  SWI|
000128d0  20 36 36 0d 71 b6 15 20  20 20 20 20 20 20 20 43  | 66.q..        C|
000128e0  4d 50 20 52 30 2c 52 31  0d 71 c0 15 20 20 20 20  |MP R0,R1.q..    |
000128f0  20 20 20 20 42 4c 54 20  77 61 69 74 6c 0d 71 ca  |    BLT waitl.q.|
00012900  16 20 20 20 20 20 20 20  20 4d 4f 56 20 50 43 2c  |.        MOV PC,|
00012910  52 31 34 0d 71 d4 12 2e  6f 72 70 6f 73 20 20 45  |R14.q...orpos  E|
00012920  51 55 44 20 30 0d 71 de  1c 2e 69 67 6e 6f 72 62  |QUD 0.q...ignorb|
00012930  20 4c 44 52 20 52 30 2c  5b 52 31 31 2c 23 33 32  | LDR R0,[R11,#32|
00012940  5d 0d 71 e8 15 20 20 20  20 20 20 20 20 43 4d 50  |].q..        CMP|
00012950  20 52 30 2c 23 31 0d 71  f2 16 20 20 20 20 20 20  | R0,#1.q..      |
00012960  20 20 42 4e 45 20 61 76  6f 69 64 6f 0d 71 fc 14  |  BNE avoido.q..|
00012970  20 20 20 20 20 20 20 20  42 20 66 6f 6c 6c 6f 77  |        B follow|
00012980  0d 72 06 18 5d 3a ed 3a  50 25 3d 65 78 70 6c 25  |.r..]:.:P%=expl%|
00012990  3a 5b 20 4f 50 54 20 32  0d 72 10 47 20 20 20 20  |:[ OPT 2.r.G    |
000129a0  20 20 20 20 45 51 55 44  20 65 78 25 28 30 29 3a  |    EQUD ex%(0):|
000129b0  45 51 55 44 20 65 78 25  28 30 29 3a 45 51 55 44  |EQUD ex%(0):EQUD|
000129c0  20 65 78 25 28 31 29 3a  45 51 55 44 20 65 78 25  | ex%(1):EQUD ex%|
000129d0  28 31 29 3a 45 51 55 44  20 65 78 25 28 32 29 0d  |(1):EQUD ex%(2).|
000129e0  72 1a 47 20 20 20 20 20  20 20 20 45 51 55 44 20  |r.G        EQUD |
000129f0  65 78 25 28 32 29 3a 45  51 55 44 20 65 78 25 28  |ex%(2):EQUD ex%(|
00012a00  33 29 3a 45 51 55 44 20  65 78 25 28 33 29 3a 45  |3):EQUD ex%(3):E|
00012a10  51 55 44 20 65 78 25 28  34 29 3a 45 51 55 44 20  |QUD ex%(4):EQUD |
00012a20  65 78 25 28 34 29 0d 72  24 47 20 20 20 20 20 20  |ex%(4).r$G      |
00012a30  20 20 45 51 55 44 20 65  78 25 28 35 29 3a 45 51  |  EQUD ex%(5):EQ|
00012a40  55 44 20 65 78 25 28 35  29 3a 45 51 55 44 20 65  |UD ex%(5):EQUD e|
00012a50  78 25 28 36 29 3a 45 51  55 44 20 65 78 25 28 36  |x%(6):EQUD ex%(6|
00012a60  29 3a 45 51 55 44 20 65  78 25 28 37 29 0d 72 2e  |):EQUD ex%(7).r.|
00012a70  17 20 20 20 20 20 20 20  20 45 51 55 44 20 65 78  |.        EQUD ex|
00012a80  25 28 37 29 0d 72 38 17  5d 3a 50 25 3d 62 6f 6e  |%(7).r8.]:P%=bon|
00012a90  75 73 25 3a 5b 20 4f 50  54 20 32 0d 72 42 47 20  |us%:[ OPT 2.rBG |
00012aa0  20 20 20 20 20 20 20 45  51 55 44 20 62 61 25 28  |       EQUD ba%(|
00012ab0  31 29 3a 45 51 55 44 20  62 61 25 28 32 29 3a 45  |1):EQUD ba%(2):E|
00012ac0  51 55 44 20 62 61 25 28  33 29 3a 45 51 55 44 20  |QUD ba%(3):EQUD |
00012ad0  62 61 25 28 34 29 3a 45  51 55 44 20 62 61 25 28  |ba%(4):EQUD ba%(|
00012ae0  35 29 0d 72 4c 48 20 20  20 20 20 20 20 20 45 51  |5).rLH        EQ|
00012af0  55 44 20 62 61 25 28 36  29 3a 45 51 55 44 20 62  |UD ba%(6):EQUD b|
00012b00  61 25 28 37 29 3a 45 51  55 44 20 62 61 25 28 38  |a%(7):EQUD ba%(8|
00012b10  29 3a 45 51 55 44 20 62  61 25 28 39 29 3a 45 51  |):EQUD ba%(9):EQ|
00012b20  55 44 20 62 61 25 28 31  30 29 0d 72 56 4c 20 20  |UD ba%(10).rVL  |
00012b30  20 20 20 20 20 20 45 51  55 44 20 62 61 25 28 31  |      EQUD ba%(1|
00012b40  31 29 3a 45 51 55 44 20  62 61 25 28 31 32 29 3a  |1):EQUD ba%(12):|
00012b50  45 51 55 44 20 62 61 25  28 31 33 29 3a 45 51 55  |EQUD ba%(13):EQU|
00012b60  44 20 62 61 25 28 31 34  29 3a 45 51 55 44 20 62  |D ba%(14):EQUD b|
00012b70  61 25 28 31 35 29 0d 72  60 4c 20 20 20 20 20 20  |a%(15).r`L      |
00012b80  20 20 45 51 55 44 20 62  61 25 28 31 36 29 3a 45  |  EQUD ba%(16):E|
00012b90  51 55 44 20 62 61 25 28  31 37 29 3a 45 51 55 44  |QUD ba%(17):EQUD|
00012ba0  20 62 61 25 28 31 38 29  3a 45 51 55 44 20 62 61  | ba%(18):EQUD ba|
00012bb0  25 28 31 39 29 3a 45 51  55 44 20 62 61 25 28 32  |%(19):EQUD ba%(2|
00012bc0  30 29 0d 72 6a 15 5d 3a  50 25 3d 62 62 62 25 3a  |0).rj.]:P%=bbb%:|
00012bd0  5b 20 4f 50 54 20 32 0d  72 74 37 20 20 20 20 20  |[ OPT 2.rt7     |
00012be0  20 20 20 45 51 55 44 20  62 25 28 31 29 3a 45 51  |   EQUD b%(1):EQ|
00012bf0  55 44 20 62 25 28 32 29  3a 45 51 55 44 20 62 25  |UD b%(2):EQUD b%|
00012c00  28 33 29 3a 45 51 55 44  20 62 25 28 34 29 0d 72  |(3):EQUD b%(4).r|
00012c10  7e 42 20 20 20 20 20 20  20 20 45 51 55 44 20 62  |~B        EQUD b|
00012c20  25 28 35 29 3a 45 51 55  44 20 62 25 28 36 29 3a  |%(5):EQUD b%(6):|
00012c30  45 51 55 44 20 62 25 28  37 29 3a 45 51 55 44 20  |EQUD b%(7):EQUD |
00012c40  62 25 28 38 29 3a 45 51  55 44 20 62 25 28 39 29  |b%(8):EQUD b%(9)|
00012c50  0d 72 88 17 5d 3a 50 25  3d 62 6f 6d 61 70 25 3a  |.r..]:P%=bomap%:|
00012c60  5b 20 4f 50 54 20 32 0d  72 92 4b 20 20 20 20 20  |[ OPT 2.r.K     |
00012c70  20 20 20 45 51 55 44 20  77 65 61 70 6f 6e 3a 45  |   EQUD weapon:E|
00012c80  51 55 44 20 77 65 61 70  6f 6e 3a 45 51 55 44 20  |QUD weapon:EQUD |
00012c90  77 65 61 70 6f 6e 3a 45  51 55 44 20 77 65 61 70  |weapon:EQUD weap|
00012ca0  6f 6e 3a 45 51 55 44 20  71 34 3a 45 51 55 44 20  |on:EQUD q4:EQUD |
00012cb0  71 35 0d 72 9c 4f 20 20  20 20 20 20 20 20 45 51  |q5.r.O        EQ|
00012cc0  55 44 20 71 36 3a 45 51  55 44 20 71 37 3a 45 51  |UD q6:EQUD q7:EQ|
00012cd0  55 44 20 71 38 3a 45 51  55 44 20 71 39 3a 45 51  |UD q8:EQUD q9:EQ|
00012ce0  55 44 20 71 31 30 3a 45  51 55 44 20 71 31 31 3a  |UD q10:EQUD q11:|
00012cf0  45 51 55 44 20 71 31 32  3a 45 51 55 44 20 71 31  |EQUD q12:EQUD q1|
00012d00  33 0d 72 a6 4a 20 20 20  20 20 20 20 20 45 51 55  |3.r.J        EQU|
00012d10  44 20 71 31 34 3a 45 51  55 44 20 71 31 35 3a 45  |D q14:EQUD q15:E|
00012d20  51 55 44 20 71 31 36 3a  45 51 55 44 20 71 31 37  |QUD q16:EQUD q17|
00012d30  3a 45 51 55 44 20 71 31  38 3a 45 51 55 44 20 71  |:EQUD q18:EQUD q|
00012d40  31 39 3a 45 51 55 44 20  71 32 30 0d 72 b0 17 5d  |19:EQUD q20.r..]|
00012d50  3a 50 25 3d 73 6f 75 6e  64 25 3a 5b 20 4f 50 54  |:P%=sound%:[ OPT|
00012d60  20 32 0d 72 ba 41 45 51  55 44 20 34 3a 45 51 55  | 2.r.AEQUD 4:EQU|
00012d70  44 20 2d 31 35 3a 45 51  55 44 20 31 30 3a 45 51  |D -15:EQUD 10:EQ|
00012d80  55 44 20 30 20 20 20 20  20 20 20 3b 62 6f 75 6e  |UD 0       ;boun|
00012d90  63 65 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |ce              |
00012da0  20 20 30 0d 72 c4 42 45  51 55 44 20 32 3a 45 51  |  0.r.BEQUD 2:EQ|
00012db0  55 44 20 2d 31 32 3a 45  51 55 44 20 33 35 30 30  |UD -12:EQUD 3500|
00012dc0  3a 45 51 55 44 20 30 20  20 20 20 20 3b 66 69 72  |:EQUD 0     ;fir|
00012dd0  65 20 30 20 20 20 20 20  20 20 20 20 20 20 20 20  |e 0             |
00012de0  20 20 20 31 36 0d 72 ce  42 45 51 55 44 20 32 3a  |   16.r.BEQUD 2:|
00012df0  45 51 55 44 20 2d 31 32  3a 45 51 55 44 20 34 30  |EQUD -12:EQUD 40|
00012e00  30 30 3a 45 51 55 44 20  30 20 20 20 20 20 3b 66  |00:EQUD 0     ;f|
00012e10  69 72 65 20 31 20 20 20  20 20 20 20 20 20 20 20  |ire 1           |
00012e20  20 20 20 20 20 33 32 0d  72 d8 42 45 51 55 44 20  |     32.r.BEQUD |
00012e30  32 3a 45 51 55 44 20 2d  31 32 3a 45 51 55 44 20  |2:EQUD -12:EQUD |
00012e40  34 35 30 30 3a 45 51 55  44 20 30 20 20 20 20 20  |4500:EQUD 0     |
00012e50  3b 66 69 72 65 20 32 20  20 20 20 20 20 20 20 20  |;fire 2         |
00012e60  20 20 20 20 20 20 20 34  38 0d 72 e2 42 45 51 55  |       48.r.BEQU|
00012e70  44 20 32 3a 45 51 55 44  20 2d 31 32 3a 45 51 55  |D 2:EQUD -12:EQU|
00012e80  44 20 32 35 30 30 3a 45  51 55 44 20 30 20 20 20  |D 2500:EQUD 0   |
00012e90  20 20 3b 66 69 72 65 20  33 20 20 20 20 20 20 20  |  ;fire 3       |
00012ea0  20 20 20 20 20 20 20 20  20 36 34 0d 72 ec 42 45  |         64.r.BE|
00012eb0  51 55 44 20 34 3a 45 51  55 44 20 2d 31 35 3a 45  |QUD 4:EQUD -15:E|
00012ec0  51 55 44 20 31 3a 45 51  55 44 20 30 20 20 20 20  |QUD 1:EQUD 0    |
00012ed0  20 20 20 20 3b 63 6f 6c  6c 69 64 65 20 20 20 20  |    ;collide    |
00012ee0  20 20 20 20 20 20 20 20  20 20 20 38 30 0d 72 f6  |           80.r.|
00012ef0  42 45 51 55 44 20 34 3a  45 51 55 44 20 2d 31 33  |BEQUD 4:EQUD -13|
00012f00  3a 45 51 55 44 20 35 3a  45 51 55 44 20 30 20 20  |:EQUD 5:EQUD 0  |
00012f10  20 20 20 20 20 20 3b 68  69 74 20 62 79 20 62 75  |      ;hit by bu|
00012f20  6c 6c 65 74 20 20 20 20  20 20 20 20 20 39 36 0d  |llet         96.|
00012f30  73 00 43 45 51 55 44 20  31 3a 45 51 55 44 20 2d  |s.CEQUD 1:EQUD -|
00012f40  31 35 3a 45 51 55 44 20  32 30 30 30 3a 45 51 55  |15:EQUD 2000:EQU|
00012f50  44 20 30 20 20 20 20 20  3b 63 6f 6c 6c 65 63 74  |D 0     ;collect|
00012f60  20 65 78 70 6c 6f 73 69  76 65 73 20 20 20 20 31  | explosives    1|
00012f70  31 32 0d 73 0a 43 45 51  55 44 20 33 3a 45 51 55  |12.s.CEQUD 3:EQU|
00012f80  44 20 2d 31 35 3a 45 51  55 44 20 31 35 30 30 3a  |D -15:EQUD 1500:|
00012f90  45 51 55 44 20 30 20 20  20 20 20 3b 63 6f 6c 6c  |EQUD 0     ;coll|
00012fa0  65 63 74 20 62 6f 6e 75  73 20 20 20 20 20 20 20  |ect bonus       |
00012fb0  20 20 31 32 38 0d 73 14  43 45 51 55 44 20 32 3a  |  128.s.CEQUD 2:|
00012fc0  45 51 55 44 20 2d 31 32  3a 45 51 55 44 20 35 30  |EQUD -12:EQUD 50|
00012fd0  30 30 3a 45 51 55 44 20  30 20 20 20 20 20 3b 66  |00:EQUD 0     ;f|
00012fe0  69 72 65 20 34 20 20 20  20 20 20 20 20 20 20 20  |ire 4           |
00012ff0  20 20 20 20 20 31 34 34  0d 73 1e 43 45 51 55 44  |     144.s.CEQUD|
00013000  20 32 3a 45 51 55 44 20  2d 31 32 3a 45 51 55 44  | 2:EQUD -12:EQUD|
00013010  20 37 30 30 30 3a 45 51  55 44 20 30 20 20 20 20  | 7000:EQUD 0    |
00013020  20 3b 66 69 72 65 20 35  20 20 20 20 20 20 20 20  | ;fire 5        |
00013030  20 20 20 20 20 20 20 20  31 36 30 0d 73 28 15 5d  |        160.s(.]|
00013040  3a 50 25 3d 64 61 6d 25  3a 5b 20 4f 50 54 20 32  |:P%=dam%:[ OPT 2|
00013050  0d 73 32 3f 45 51 55 44  20 31 3a 45 51 55 44 20  |.s2?EQUD 1:EQUD |
00013060  31 36 3a 45 51 55 44 20  32 3a 45 51 55 44 20 33  |16:EQUD 2:EQUD 3|
00013070  32 3a 45 51 55 44 20 33  3a 45 51 55 44 20 34 38  |2:EQUD 3:EQUD 48|
00013080  3a 45 51 55 44 20 34 3a  45 51 55 44 20 36 34 0d  |:EQUD 4:EQUD 64.|
00013090  73 3c 43 45 51 55 44 20  36 3a 45 51 55 44 20 31  |s<CEQUD 6:EQUD 1|
000130a0  34 34 3a 45 51 55 44 20  33 3a 45 51 55 44 20 31  |44:EQUD 3:EQUD 1|
000130b0  36 30 3a 45 51 55 44 20  37 3a 45 51 55 44 20 31  |60:EQUD 7:EQUD 1|
000130c0  34 34 3a 45 51 55 44 20  31 30 3a 45 51 55 44 20  |44:EQUD 10:EQUD |
000130d0  31 36 0d 73 46 12 45 51  55 44 20 38 3a 45 51 55  |16.sF.EQUD 8:EQU|
000130e0  44 20 33 32 0d 73 50 16  5d 3a 50 25 3d 62 74 73  |D 32.sP.]:P%=bts|
000130f0  70 25 3a 5b 20 4f 50 54  20 32 0d 73 5a 4a 45 51  |p%:[ OPT 2.sZJEQ|
00013100  55 44 20 74 79 72 65 25  3a 45 51 55 44 20 62 69  |UD tyre%:EQUD bi|
00013110  74 61 64 25 28 30 29 3a  45 51 55 44 20 62 69 74  |tad%(0):EQUD bit|
00013120  61 64 25 28 31 29 3a 45  51 55 44 20 62 69 74 61  |ad%(1):EQUD bita|
00013130  64 25 28 32 29 3a 45 51  55 44 20 62 69 74 61 64  |d%(2):EQUD bitad|
00013140  25 28 33 29 0d 73 64 3f  45 51 55 44 20 62 69 74  |%(3).sd?EQUD bit|
00013150  61 64 25 28 34 29 3a 45  51 55 44 20 62 69 74 61  |ad%(4):EQUD bita|
00013160  64 25 28 35 29 3a 45 51  55 44 20 62 69 74 61 64  |d%(5):EQUD bitad|
00013170  25 28 36 29 3a 45 51 55  44 20 62 69 74 61 64 25  |%(6):EQUD bitad%|
00013180  28 37 29 0d 73 6e 15 5d  3a 50 25 3d 64 6d 33 25  |(7).sn.]:P%=dm3%|
00013190  3a 5b 20 4f 50 54 20 32  0d 73 78 4f 45 51 55 44  |:[ OPT 2.sxOEQUD|
000131a0  20 62 61 25 28 31 29 3a  45 51 55 53 20 22 53 70  | ba%(1):EQUS "Sp|
000131b0  69 6e 6e 65 72 20 20 20  20 20 20 20 20 22 2b bd  |inner        "+.|
000131c0  30 3a 45 51 55 44 20 62  61 25 28 32 29 3a 45 51  |0:EQUD ba%(2):EQ|
000131d0  55 53 20 22 46 61 73 74  20 42 75 6c 6c 65 74 73  |US "Fast Bullets|
000131e0  20 20 20 22 2b bd 30 0d  73 82 50 45 51 55 44 20  |   "+.0.s.PEQUD |
000131f0  62 61 25 28 33 29 3a 45  51 55 53 20 22 4d 69 6e  |ba%(3):EQUS "Min|
00013200  65 73 20 20 20 20 20 20  20 20 20 20 22 2b bd 30  |es          "+.0|
00013210  3a 45 51 55 44 20 62 61  25 28 31 32 29 3a 45 51  |:EQUD ba%(12):EQ|
00013220  55 53 20 22 52 6f 63 6b  65 74 73 20 20 20 20 20  |US "Rockets     |
00013230  20 20 20 22 2b bd 30 0d  73 8c 51 45 51 55 44 20  |   "+.0.s.QEQUD |
00013240  62 61 25 28 31 35 29 3a  45 51 55 53 20 22 4c 61  |ba%(15):EQUS "La|
00013250  72 67 65 20 4d 69 6e 65  73 20 20 20 20 22 2b bd  |rge Mines    "+.|
00013260  30 3a 45 51 55 44 20 62  61 25 28 31 36 29 3a 45  |0:EQUD ba%(16):E|
00013270  51 55 53 20 22 42 6f 75  6e 63 65 20 42 6f 6d 62  |QUS "Bounce Bomb|
00013280  73 20 20 20 22 2b bd 30  0d 73 96 4f 45 51 55 44  |s   "+.0.s.OEQUD|
00013290  20 62 61 25 28 37 29 3a  45 51 55 53 20 22 42 6f  | ba%(7):EQUS "Bo|
000132a0  6f 62 79 20 54 72 61 70  20 20 20 20 20 22 2b bd  |oby Trap     "+.|
000132b0  30 3a 45 51 55 44 20 62  61 25 28 38 29 3a 45 51  |0:EQUD ba%(8):EQ|
000132c0  55 53 20 22 52 61 70 69  64 20 46 69 72 65 20 20  |US "Rapid Fire  |
000132d0  20 20 20 22 2b bd 30 0d  73 a0 50 45 51 55 44 20  |   "+.0.s.PEQUD |
000132e0  62 61 25 28 39 29 3a 45  51 55 53 20 22 51 75 69  |ba%(9):EQUS "Qui|
000132f0  63 6b 20 54 75 72 6e 69  6e 67 20 20 22 2b bd 30  |ck Turning  "+.0|
00013300  3a 45 51 55 44 20 62 61  25 28 31 30 29 3a 45 51  |:EQUD ba%(10):EQ|
00013310  55 53 20 22 54 68 72 65  65 20 57 61 79 20 46 69  |US "Three Way Fi|
00013320  72 65 20 22 2b bd 30 0d  73 aa 50 45 51 55 44 20  |re "+.0.s.PEQUD |
00013330  62 61 25 28 31 31 29 3a  45 51 55 53 20 22 53 70  |ba%(11):EQUS "Sp|
00013340  69 6e 6e 69 6e 67 20 54  68 69 6e 67 20 22 2b bd  |inning Thing "+.|
00013350  30 3a 45 51 55 44 20 62  61 25 28 34 29 3a 45 51  |0:EQUD ba%(4):EQ|
00013360  55 53 20 22 45 78 74 72  61 20 45 6e 65 72 67 79  |US "Extra Energy|
00013370  20 20 20 22 2b bd 30 0d  73 b4 51 45 51 55 44 20  |   "+.0.s.QEQUD |
00013380  62 61 25 28 31 33 29 3a  45 51 55 53 20 22 42 75  |ba%(13):EQUS "Bu|
00013390  6c 6c 65 74 20 53 68 69  65 6c 64 20 20 22 2b bd  |llet Shield  "+.|
000133a0  30 3a 45 51 55 44 20 62  61 25 28 31 34 29 3a 45  |0:EQUD ba%(14):E|
000133b0  51 55 53 20 22 53 74 6f  72 6d 20 20 20 20 20 20  |QUS "Storm      |
000133c0  20 20 20 20 22 2b bd 30  0d 73 be 4f 45 51 55 44  |    "+.0.s.OEQUD|
000133d0  20 62 61 25 28 35 29 3a  45 51 55 53 20 22 41 72  | ba%(5):EQUS "Ar|
000133e0  6d 6f 75 72 20 20 20 20  20 20 20 20 20 22 2b bd  |mour         "+.|
000133f0  30 3a 45 51 55 44 20 62  61 25 28 36 29 3a 45 51  |0:EQUD ba%(6):EQ|
00013400  55 53 20 22 53 70 65 65  64 20 55 70 20 20 20 20  |US "Speed Up    |
00013410  20 20 20 22 2b bd 30 0d  73 c8 51 45 51 55 44 20  |   "+.0.s.QEQUD |
00013420  62 61 25 28 31 37 29 3a  45 51 55 53 20 22 42 61  |ba%(17):EQUS "Ba|
00013430  63 6b 20 46 69 72 65 20  20 20 20 20 20 22 2b bd  |ck Fire      "+.|
00013440  30 3a 45 51 55 44 20 62  61 25 28 31 38 29 3a 45  |0:EQUD ba%(18):E|
00013450  51 55 53 20 22 52 61 6e  64 6f 6d 20 42 6f 6e 75  |QUS "Random Bonu|
00013460  73 20 20 20 22 2b bd 30  0d 73 d2 53 45 51 55 44  |s   "+.0.s.SEQUD|
00013470  20 62 61 25 28 31 39 29  3a 45 51 55 53 20 22 31  | ba%(19):EQUS "1|
00013480  30 30 20 50 6f 69 6e 74  73 20 20 20 20 20 22 2b  |00 Points     "+|
00013490  bd 30 3a 45 51 55 44 20  62 61 25 28 32 30 29 3a  |.0:EQUD ba%(20):|
000134a0  45 51 55 53 20 22 4d 61  73 73 69 76 65 20 42 6f  |EQUS "Massive Bo|
000134b0  6d 62 73 20 20 22 2b bd  30 3a 5d 0d 73 dc 3f dc  |mbs  "+.0:].s.?.|
000134c0  20 34 30 30 2a 6a 2c 34  38 30 2a 6a 2c 30 2c 30  | 400*j,480*j,0,0|
000134d0  2c 32 31 36 2c 32 30 30  2c 2d 36 36 2c 2d 38 32  |,216,200,-66,-82|
000134e0  2c 2d 35 32 2c 2d 35 31  2c 2d 33 36 2c 30 2c 73  |,-52,-51,-36,0,s|
000134f0  74 31 2c 30 2c 30 2c 30  2c 30 0d 73 e6 1f dc 20  |t1,0,0,0,0.s... |
00013500  32 30 30 2c 30 2c 30 2c  33 2c 30 2c 30 2c 30 2c  |200,0,0,3,0,0,0,|
00013510  30 2c 30 2c 30 2c 30 2c  30 0d 73 f0 42 dc 20 38  |0,0,0,0,0.s.B. 8|
00013520  34 38 2a 6a 2c 34 38 30  2a 6a 2c 30 2c 30 2c 32  |48*j,480*j,0,0,2|
00013530  31 36 2c 32 30 30 2c 2d  31 30 38 2c 2d 31 32 35  |16,200,-108,-125|
00013540  2c 2d 32 37 2c 2d 31 30  39 2c 2d 35 39 2c 30 2c  |,-27,-109,-59,0,|
00013550  73 74 32 2c 30 2c 30 2c  30 2c 30 0d 73 fa 1f dc  |st2,0,0,0,0.s...|
00013560  20 32 30 30 2c 30 2c 30  2c 33 2c 30 2c 30 2c 30  | 200,0,0,3,0,0,0|
00013570  2c 30 2c 30 2c 30 2c 30  2c 30 0d 74 04 20 74 74  |,0,0,0,0,0.t. tt|
00013580  74 25 3d 74 61 25 3a e3  20 69 3d 2d 33 35 30 20  |t%=ta%:. i=-350 |
00013590  b8 20 37 30 30 20 88 20  31 30 0d 74 0e 1f 74 61  |. 700 . 10.t..ta|
000135a0  25 21 30 3d 9b b2 28 69  29 2a 6a 3a 74 61 25 21  |%!0=..(i)*j:ta%!|
000135b0  34 3d b5 b2 28 69 29 2a  6a 0d 74 18 38 74 61 25  |4=..(i)*j.t.8ta%|
000135c0  2b 3d 38 3a ed 3a 21 74  74 74 25 3d 32 30 34 38  |+=8:.:!ttt%=2048|
000135d0  3a 74 74 74 25 21 34 3d  32 30 34 38 3a 21 74 61  |:ttt%!4=2048:!ta|
000135e0  25 3d 32 30 34 38 3a 74  61 25 21 34 3d 32 30 34  |%=2048:ta%!4=204|
000135f0  38 0d 74 22 1d 73 74 31  3d 73 70 31 25 3a 73 74  |8.t".st1=sp1%:st|
00013600  32 3d 73 70 32 25 3a e3  69 3d 30 b8 33 35 0d 74  |2=sp2%:.i=0.35.t|
00013610  2c 21 c8 99 34 36 2c 32  38 30 2c 73 70 25 2c 22  |,!..46,280,sp%,"|
00013620  6e 22 2b c3 69 20 b8 20  2c 2c 21 73 70 31 25 0d  |n"+.i . ,,!sp1%.|
00013630  74 36 21 c8 99 34 36 2c  32 38 30 2c 73 70 25 2c  |t6!..46,280,sp%,|
00013640  22 6d 22 2b c3 69 20 b8  20 2c 2c 21 73 70 32 25  |"m"+.i . ,,!sp2%|
00013650  0d 74 40 15 73 70 31 25  2b 3d 34 3a 73 70 32 25  |.t@.sp1%+=4:sp2%|
00013660  2b 3d 34 3a ed 0d 74 4a  2b e3 6b 3d 30 b8 31 3a  |+=4:..tJ+.k=0.1:|
00013670  e3 69 3d 30 b8 31 31 32  88 34 3a f3 20 73 74 64  |.i=0.112.4:. std|
00013680  61 74 21 28 69 2b 6b 2a  31 32 38 29 3a ed 3a ed  |at!(i+k*128):.:.|
00013690  0d 74 54 21 e3 69 3d 30  b8 21 6d 61 78 62 75 3a  |.tT!.i=0.!maxbu:|
000136a0  62 75 25 21 28 69 2a 34  30 29 3d 32 35 36 30 3a  |bu%!(i*40)=2560:|
000136b0  ed 0d 74 5e 21 e3 69 3d  30 b8 21 6d 61 78 62 6f  |..t^!.i=0.!maxbo|
000136c0  3a 62 6f 25 21 28 69 2a  31 36 29 3d 32 35 36 30  |:bo%!(i*16)=2560|
000136d0  3a ed 0d 74 68 26 e3 69  3d 30 b8 21 65 78 6d 61  |:..th&.i=0.!exma|
000136e0  78 3a 65 78 62 6c 6f 63  6b 25 21 28 69 2a 31 32  |x:exblock%!(i*12|
000136f0  29 3d 32 35 36 30 3a ed  0d 74 72 25 c8 99 38 2c  |)=2560:..tr%..8,|
00013700  32 35 35 2c 22 3c 4f 62  65 79 24 44 69 72 3e 2e  |255,"<Obey$Dir>.|
00013710  48 69 53 63 6f 72 65 73  22 2c 68 69 25 0d 74 7c  |HiScores",hi%.t||
00013720  20 68 69 25 21 31 36 30  3d 26 33 46 46 46 46 46  | hi%!160=&3FFFFF|
00013730  46 46 3a ee 20 85 20 f2  65 72 72 6f 72 0d 74 86  |FF:. . .error.t.|
00013740  0d d6 20 64 65 73 6b 74  3a e0 0d 74 90 04 0d 74  |.. deskt:..t...t|
00013750  9a 0c dd 20 f2 65 72 72  6f 72 0d 74 a4 1a ee 20  |... .error.t... |
00013760  85 20 f1 f6 24 3b 22 20  61 74 20 6c 69 6e 65 20  |. ..$;" at line |
00013770  22 9e 3a e0 0d 74 ae 30  c8 99 22 57 69 6d 70 5f  |".:..t.0.."Wimp_|
00013780  53 65 74 50 61 6c 65 74  74 65 22 2c 2c 70 32 25  |SetPalette",,p2%|
00013790  3a c8 99 36 2c 31 31 32  2c 31 3a c8 99 36 2c 31  |:..6,112,1:..6,1|
000137a0  31 33 2c 31 0d 74 b8 32  c8 99 26 34 30 30 44 46  |13,1.t.2..&400DF|
000137b0  2c 22 20 20 20 20 22 2b  f6 24 2b 22 20 61 74 20  |,"    "+.$+" at |
000137c0  6c 69 6e 65 20 22 2b c3  9e 2c 31 2c 22 43 61 72  |line "+..,1,"Car|
000137d0  20 57 61 72 73 22 0d 74  c2 16 6a 3d a7 f6 24 2c  | Wars".t..j=..$,|
000137e0  22 26 22 29 3a e7 20 6a  3d 30 20 e0 0d 74 cc 3f  |"&"):. j=0 ..t.?|
000137f0  58 3d ad 28 22 3c 43 61  72 24 44 69 72 3e 2e 45  |X=.("<Car$Dir>.E|
00013800  72 72 6f 72 46 69 6c 65  22 29 3a 72 24 3d f6 24  |rrorFile"):r$=.$|
00013810  2b 22 20 43 6f 64 65 20  73 74 61 72 74 20 26 22  |+" Code start &"|
00013820  2b 28 c3 7e 6d 25 29 2b  bd 31 30 0d 74 d6 2c cf  |+(.~m%)+.10.t.,.|
00013830  23 58 3d a2 23 58 3a e3  69 3d 31 b8 a9 20 72 24  |#X=.#X:.i=1.. r$|
00013840  3a d5 23 58 2c 97 28 c1  72 24 2c 69 2c 31 29 29  |:.#X,.(.r$,i,1))|
00013850  3a ed 3a d9 20 23 58 0d  74 e0 2e c8 99 22 57 69  |:.:. #X.t...."Wi|
00013860  6d 70 5f 53 65 74 4d 6f  64 65 22 2c 31 32 3a ef  |mp_SetMode",12:.|
00013870  34 3a c8 99 36 2c 32 32  39 2c 30 3a c8 99 36 2c  |4:..6,229,0:..6,|
00013880  32 30 30 2c 30 0d 74 ea  33 61 24 3d 22 22 3a 6a  |200,0.t.3a$="":j|
00013890  2b 3d 31 3a c8 95 20 c1  72 24 2c 6a 2c 31 29 3c  |+=1:.. .r$,j,1)<|
000138a0  3e 22 20 22 20 61 24 2b  3d c1 72 24 2c 6a 2c 31  |>" " a$+=.r$,j,1|
000138b0  29 3a 6a 2b 3d 31 3a ce  0d 74 f4 1c 61 3d a0 20  |):j+=1:..t..a=. |
000138c0  28 22 26 22 2b 61 24 29  2d 31 32 38 3a f2 73 68  |("&"+a$)-128:.sh|
000138d0  6f 77 3a e0 0d 74 fe 04  0d 75 08 0b dd 20 f2 73  |ow:..t...u... .s|
000138e0  68 6f 77 0d 75 12 0d fb  31 33 32 3a fb 37 3a f5  |how.u...132:.7:.|
000138f0  0d 75 1c 13 f1 f6 24 27  27 3a 2a 53 68 6f 77 52  |.u....$'':*ShowR|
00013900  65 67 73 0d 75 26 3b f1  3a c8 99 35 2c 22 4d 65  |egs.u&;.:..5,"Me|
00013910  6d 6f 72 79 49 20 22 2b  c3 7e 61 2b 22 20 22 2b  |moryI "+.~a+" "+|
00013920  c3 7e 28 61 2b 32 35 36  29 3a f1 27 7e 21 64 75  |.~(a+256):.'~!du|
00013930  6d 70 27 7e 21 64 75 6d  70 32 3a fd 20 30 0d 75  |mp'~!dump2:. 0.u|
00013940  30 05 e1 0d ff                                    |0....|
00013945