Home » Archimedes archive » Acorn User » AU 1997-08 A.adf » !IronLord/Iron6
!IronLord/Iron6
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Archimedes archive » Acorn User » AU 1997-08 A.adf |
Filename: | !IronLord/Iron6 |
Read OK: | ✔ |
File size: | 590D bytes |
Load address: | FFFFFB46 |
Exec address: | 1A15390E |
File contents
10REM >:IronLord.!IronLord.Iron6 20REM (C) 1990 UBI soft. 30REM Archimedes version by Cygnus Software Engineering Ltd. 40: 50VC%=0 60ON ERROR PROCerror:END 70: 80space%=&153C:DIM code% space%,TSP% &5CFC,GSP% &5494,TAB% &2100,PP% &372B,BSC% &7D00,TA%(4),PL%(5,5) 90: 100OSCLI"Load <IronLord$Dir>.LabySkull "+STR$~PP% 110OSCLI"IronLoad <IronLord$Dir>.LabyCave "+STR$~BSC% 120OSCLI"IronLoad <IronLord$Dir>.LabyTables "+STR$~TAB% 130!TSP%=&5CFC:OSCLI"IronLoad <IronLord$Dir>.LabySpr1 "+STR$~(TSP%+4) 140!GSP%=&5484:OSCLI"IronLoad <IronLord$Dir>.LabySpr2 "+STR$~(GSP%+4) 150left%=225:right%=194:down%=232:up%=207:fire%=201:pause%=224 160TA%(0)=&346:TA%(1)=&A28:TA%(2)=&D1D:TA%(3)=&1482:TA%(4)=&17BF 170FOR I%=0 TO 5:FOR J%=0 TO 5:READ PL%(I%,J%):NEXT:NEXT 180PROCasm:SYS"Sound_QInit":FORI%=1TO8:SYS"Sound_AttachVoice",I%,0:NEXT:SYS"Sound_Configure",1,0,100 190!energy=720:!enerpt=&63A:!tabadd=TAB%+24:ML%=0:DEAD%=FALSE 200: 210REPEAT:PROClaby:UNTIL !level=6 OR DEAD% 220PROCrect(240,260,800,352):WW%=24:WXC%=640:WYC%=432:GCOL1 230IF DEAD% THEN 240 PROCwpr("You slump to the ground, drained of all your energy. As the world turns into a grey fog, you curse your evil uncle for one last time. You are dead.") 250 CALL fade_in:PROCmouse:CALL fade_out:VDU4:COLOUR128:SYS"OS_Byte",112,2:CLS:SYS"OS_Byte",112,1:CLS:VDU5:*FX 113,1 270 ON ERROR OFF:CHAIN"<IronLord$Dir>.Iron7" 280ELSE 290 PROCwpr("As the last of his demon cohorts is destroyed your uncle utters a scream of despair. His body falls to the ground, devoid of life, but from somewhere far away the sound of his screaming continues ...") 300 CALL fade_in:PROCmouse:CALL fade_out:*FX 113,1 310 OSCLI"IronLoad <IronLord$Dir>.Win "+STR$~S% 320 *IronFadeIn 24 330 PROCmouse:*IronFadeOut 340ENDIF:*FX21 350MODE0:OFF:CALLHIMEM+&214:PRINT"Thank you for playing Iron Lord.":*FX20 360END 370: 380DEF PROClaby 390!pal=0:pal!4=0:RESTORE 710:FOR B%=24 TO 47:READ pal?B%:NEXT 400SYS"OS_Byte",112,1:SYS"OS_Byte",113,1:CLG:CALL unpack:GCOL 11:RECTANGLE FILL 1224,32,28,736:GCOL 15:RECTANGLE FILL 1232,40,12,!energy:A%=200:B%=S%:C%=T%:CALL copy 410VDU26:IF !keys<>0 FOR I%=1 TO !keys:SYS"OS_SpriteOp",290,TSP%,"t38",I%*32-32,32:NEXT:SYS"OS_Byte",112,2:FOR I%=1 TO !keys:SYS"OS_SpriteOp",290,TSP%,"t38",I%*32-32,32:NEXT:SYS"OS_Byte",112,1 420VDU24,444;268;760;564;:ORIGIN 384,268:SYS"OS_Claim",&10,enevent,0:VC%=1:VOICES2:VOICE1,"IronEffect-Footstep" 430REPEAT:FOR C%=0 TO 5:?(pal+C%*3+6)=((PL%(!level,C%)>>4) AND 240)+16:?(pal+C%*3+7)=(PL%(!level,C%) AND 240)+16:?(pal+C%*3+8)=((PL%(!level,C%)<<4) AND 240)+16:NEXT 440R%=USR(MoveLaby):*FX 21 450*FX 13,4 460IF R%=0 !level-=1:!tabadd=TAB%+TA%(!level) 470IF R% AND 1 !level+=1:!tabadd=TAB%+24+&580*!level 480UNTIL R%=2 OR R%=4 490ORIGIN 0,128:VDU 24,0;0;1279;799;:SYS"OS_Release",&10,enevent,0:VC%=0 500IF R%=4 RESTORE 810:DEAD%=TRUE:ENDPROC 510: 520VOICES8:VOICE1,"Percussion-Medium":VOICE2,"IronEffect-Hurt":VOICE3,"IronEffect-Hurt":VOICE4,"IronEffect-Splat":VOICE5,"Percussion-Soft":VOICE6,"IronEffect-Splat" 530VDU4:COLOUR128:SYS"OS_Byte",112,2:CLS:SYS"OS_Byte",112,1:CLS:VDU5:*FX 113,1 540RESTORE 730:FOR B%=0 TO 47:READ pal?B%:NEXT:A%=200:B%=BSC%:C%=S%:CALL copy 550IF !level<>ML% OSCLI"IronLoad <IronLord$Dir>.LabySpr2_"+STR$(!level)+" "+STR$~(GSP%+&3C18):ML%=!level 560SYS"OS_SpriteOp",290,GSP%,"46",480,512:A%=200:B%=S%:C%=BSC%:CALL copy 570GCOL11:RECTANGLE FILL 272,16,736,28:GCOL2:RECTANGLE FILL 280,24,!energy,12:GCOL11 580P%=aliens:Q%=aveltab:FOR I%=0 TO 3+!level:!P%=RND(800)+200:P%!4=RND(300)+400:P%!8=204:SYS"OS_SpriteOp",290,GSP%,"51",!P%,P%!4,8:V%=RND(&180):IF !P%<640 V%+=&500 ELSE V%=-&500-V% 590!Q%=V%:V%=RND(&20):IF RND(2)=1 V%+=&50 ELSE V%-=&50 600Q%!4=V%:P%+=12:Q%+=8:NEXT:FOR I%=0 TO 8 STEP 4:aflag!I%=0:NEXT 610!mant=600:mant!8=8:!manb=600:manb!8=28:!drop=0:!shot=0:FOR I%=0 TO 96 STEP 12:bombs!I%=0:NEXT:!fiflag=0:eyes!8=188:!eyedel=125:!dropdel=200:IF !level=1 OR !level=2 OR !level=5 eyes!4=696 ELSE eyes!4=664 620SYS"OS_SpriteOp",290,GSP%,"2",600,180,8:SYS"OS_SpriteOp",290,GSP%,"7",600,100,8:C%=T%:CALL copy:CALL fade_in:SYS"OS_Claim",&10,flipevent,0:VC%=2:!bank=2:R%=USR(zap):*FX 21 630*FX 13,4 640SYS"OS_Release",&10,flipevent,0:VC%=0:IF !bank<0 !bank=NOT !bank 650CALL fade_out:?(levtab+!level)=1:!level+=1:!tabadd=TAB%+24+&580*!level:!sword=0:RESTORE 820:SYS"OS_Byte",112,!bank EOR 3:IF R% DEAD%=TRUE 660ENDPROC 670: 680DATA &046,&068,&08A,&0AC,&6A8,&024,&064,&086,&0A8,&0CA,&6A8,&042,&713,&835,&A68,&B9A,&B9A,&402 690DATA &700,&922,&A55,&C88,&B9A,&400,&640,&962,&B94,&EC8,&B9A,&521,&555,&777,&888,&AAA,&B9A,&333 700: 710DATA 112,80,0,144,112,48,176,144,80,208,176,112,240,208,144,176,176,176,112,112,112,80,0,0 720: 730DATA 0,0,0,48,0,0,80,0,0,112,48,0,144,80,48,176,112,80,112,80,0,144,112,0,176,144,0,208,176,0,208,144,112,208,176,144,80,80,80,112,112,112,144,144,144,240,240,240 740: 750DEF PROCmouse:*FX 21,9 760REPEAT:MOUSE MX%,MY%,B%:UNTIL B%=0:REPEAT:MOUSE MX%,MY%,B%:UNTIL B%<>0:ENDPROC 770: 780DEF PROCrect(X%,Y%,W%,D%) 790READ N%:FOR L%=1 TO N%:READ C%:GCOL C%:RECTANGLE X%,Y%,W%,D%:X%+=4:Y%+=4:W%-=8:D%-=8:NEXT:READ C%:GCOL C%:RECTANGLE FILL X%,Y%,W%,D%:ENDPROC 800: 810DATA 3,9,10,11,12 820DATA 3,4,5,10,11 830: 840DEF PROCwpr(S$):LOCAL T$,P%,Y%:T$=S$:Y%=0 850REPEAT 860 IF LENT$>WW% THEN 870 P%=WW%+1:WHILE MID$(T$,P%,1)<>" ":P%-=1:ENDWHILE 880 T$=RIGHT$(T$,LEN(T$)-P%) 890 ELSE 900 T$="" 910 ENDIF 920 Y%+=1 930UNTIL T$="" 940Y%=WYC%+Y%*18 950REPEAT:T$="" 960 IF LENS$>WW% THEN 970 P%=WW%+1:WHILE MID$(S$,P%,1)<>" ":P%-=1:ENDWHILE 980 T$=RIGHT$(S$,LEN(S$)-P%):S$=LEFT$(S$,P%-1) 990 ENDIF 1000 MOVE WXC%-16*LENS$,Y%:PRINTS$:Y%-=36:S$=T$ 1010UNTIL S$="":ENDPROC 1020: 1030DEF PROCasm 1040sp=13:link=14:OS_WriteI=&100 1050FOR o%=0 TO 2 STEP 2 1060P%=code% 1070[OPT o% 1080.fade_in 1090STMFD (sp)!,{link}:MOV R5,#240 1100.fdilp MOV R3,#2:BL delay:BL chpal:SUBS R5,R5,#16:BPL fdilp 1110LDMFD (sp)!,{PC} 1120.fade_out 1130STMFD (sp)!,{link}:MOV R5,#0 1140.fdolp MOV R3,#2:BL delay:BL chpal:ADD R5,R5,#16:CMP R5,#256:BNE fdolp 1150LDMFD (sp)!,{PC} 1160.pal EQUS STRING$(48,CHR$0) 1170.pblk EQUD &1000:EQUB 0 1180\ Wait for R3 frame syncs 1190.delay MOV R0,#19 1200.dellp SWI "OS_Byte":SUBS R3,R3,#1:BNE dellp:MOV PC,link 1210\ Set palette 1220.chpal MOV R0,#12:ADR R1,pblk:MOV R2,#15:ADR R3,pal+48 1230.chplp STRB R2,[R1]:LDRB R4,[R3,#-1]!:SUBS R4,R4,R5:MOVMI R4,#0:STRB R4,[R1,#4]:LDRB R4,[R3,#-1]!:SUBS R4,R4,R5:MOVMI R4,#0:STRB R4,[R1,#3]:LDRB R4,[R3,#-1]!:SUBS R4,R4,R5:MOVMI R4,#0:STRB R4,[R1,#2]:SWI "OS_Word":SUBS R2,R2,#1:BPL chplp:MOV PC,link 1240\ Copy screen 1250.zapcopy MOV R0,#176:LDR R1,from 1260.copy 1270LDMIA R1!,{R3-R12}:STMIA R2!,{R3-R12}:LDMIA R1!,{R3-R12}:STMIA R2!,{R3-R12}:LDMIA R1!,{R3-R12}:STMIA R2!,{R3-R12}:LDMIA R1!,{R3-R12}:STMIA R2!,{R3-R12}:SUBS R0,R0,#1:BNE copy:MOV PC,link 1280\ 1290.from EQUD BSC% 1300\ 1310.enevent TEQ R0,#4:MOVNES PC,link:STMFD (sp)!,{R0-R3,link} 1320LDR R0,enerct:CMP R0,#0:BPL decing:ADDS R0,R0,#1:STR R0,enerct:LDMPLFD (sp)!,{R0-R3,PC}^ 1330LDR R0,energy:ADD R0,R0,#4:CMP R0,#724:LDMEQFD (sp)!,{R0-R3,PC}^:STR R0,energy 1340LDR R0,enerpt:SUB R0,R0,#160:STR R0,enerpt:LDR R1,sadd:LDR R2,tadd:MOV R3,#&FF:STRB R3,[R1,R0]:STRB R3,[R2,R0]:ADD R0,R0,#1:STRB R3,[R1,R0]:STRB R3,[R2,R0]:LDMFD (sp)!,{R0-R3,PC}^ 1350.decing SUBS R0,R0,#1:MOVMI R0,#149:STR R0,enerct:LDMPLFD (sp)!,{R0-R3,PC}^ 1360LDR R0,energy:SUBS R0,R0,#4:LDMMIFD (sp)!,{R0-R3,PC}^:STR R0,energy 1370LDR R0,enerpt:LDR R1,sadd:LDR R2,tadd:MOV R3,#&BB:STRB R3,[R1,R0]:STRB R3,[R2,R0]:ADD R0,R0,#1:STRB R3,[R1,R0]:STRB R3,[R2,R0]:ADD R0,R0,#159:STR R0,enerpt:LDMFD (sp)!,{R0-R3,PC}^ 1380\ 1390.reduce STMFD (sp)!,{R0-R4}:LDR R0,manhitCA:LDR R1,stepPD:SWI "Sound_ControlPacked":LDR R0,enerpt:ADD R0,R0,#160:STR R0,enerpt:MOV R0,#4:LDR R4,energy:ADD R1,R4,#280:MOV R2,#24:SWI "OS_Plot":MOV R0,#1:MOV R1,#0:MOV R2,#12:SWI "OS_Plot" 1400MOV R0,#112:LDR R3,bank:CMP R3,#0:MVNMI R3,R3:EOR R1,R3,#3:SWI "OS_Byte":MOV R0,#1:MOV R1,#0:MVN R2,#11:SWI "OS_Plot":MOV R0,#112:MOV R1,R3:SWI "OS_Byte":SUBS R4,R4,#4:STR R4,energy:LDMFD (sp)!,{R0-R4}:MOVPL PC,link:MOV R0,#&FF:LDMFD (sp)!,{PC} 1410\ 1420.tabadd EQUD TAB% 1430.tspadd EQUD TSP% 1440.mspadd EQUD TSP%+&4560 1450.mntb EQUD dman 1460.mna EQUD 0 1470.keys EQUD 0 1480.energy EQUD 0 1490.enerpt EQUD 0 1500.enerct EQUD 149 1510.sword EQUD 0 1520.manhitCA EQUD &1FF0003 1530.stepCA EQUD &1500001 1540.stepPD EQUD &12000 1550.doorCA EQUD &17F0002 1560.doorPD EQUD &12550 1570] 1580dman=P%:uman=P%+32:rman=P%+64:lman=P%+96:eman=P%+128:FOR I%=0 TO 36:!P%=TSP%+&1A04+I%*&12C:P%+=4:NEXT 1590[OPT o% 1600\Move in labyrinth 1610.MoveLaby STMFD (sp)!,{link}:LDR R10,tabadd:MOV R11,#52:MOV R12,#44 1620MOV R0,#2:STR R0,bank:MOV R0,#255:STR R0,mna:BL DrawLaby:BL fade_in:MOV R3,#20:BL delay:ADR R0,eman:STR R0,mntb:MOV R6,#16 1630.emanlp STR R6,mna:BL DrawLaby:MOV R3,#2:BL delay:SUBS R6,R6,#4:BPL emanlp 1640MOV R0,#21:ADR R1,rmouse:SWI "OS_Word":MOV R0,#21:MOV R1,#9:SWI "OS_Byte":MOV R0,#14:MOV R1,#4:SWI "OS_Byte" 1650ADR R0,dman:STR R0,mntb 1660.dok 1670LDR R2,mna:ADD R2,R2,#4:CMP R2,#32:MOVEQ R2,#0:STR R2,mna:TST R2,#15:BNE skipstep 1680LDR R0,stepCA:LDR R1,stepPD:EOR R1,R1,#&550:STR R1,stepPD:SWI "Sound_ControlPacked" 1690.skipstep BL DrawLaby 1700.klp LDR R0,energy:CMP R0,#4:BLT dead:BL tstkey:TST R6,#16:BLNE rtn:TST R6,#1:BNE ml:TST R6,#2:BNE mr:TST R6,#8:BNE mu:TST R6,#4:BEQ klp 1710.md ADR R0,dman:STR R0,mntb:TEQ R12,#60:BNE mdd:ADD R1,R10,#90:CMP R11,#56:SUBHI R1,R1,#1:LDRB R0,[R1]:CMP R0,#18:BLS mdd:CMP R11,#56:BNE clld:CMP R0,#28:BLS clld:CMP R0,#32:BHI mdd:CMP R0,#29:BHI clld 1720.mdd ADD R12,R12,#4:TEQ R12,#64:BNE dok:MOV R12,#0:ADD R10,R10,#22:B dok 1730.ml ADR R0,lman:STR R0,mntb:TEQ R11,#56:BNE mll:ADD R1,R10,#67:LDRB R0,[R1]:CMP R0,#18:BHI clld 1740.mll ADD R11,R11,#4:TEQ R11,#64:BNE dok:MOV R11,#0:SUB R10,R10,#1:B dok 1750.mr ADR R0,rman:STR R0,mntb:TEQ R11,#56:BNE mrr:ADD R1,R10,#68:LDRB R0,[R1]:CMP R0,#18:BHI clld 1760.mrr SUBS R11,R11,#4:BPL dok:MOV R11,#60:ADD R10,R10,#1:B dok 1770.mu ADR R0,uman:STR R0,mntb:TEQ R12,#0:BNE muu:ADD R1,R10,#46:CMP R11,#56:SUBHI R1,R1,#1:LDRB R0,[R1]:CMP R0,#18:BLS muu:CMP R11,#56:BNE clld:CMP R0,#28:BLS clld:CMP R0,#32:BHI muu:CMP R0,#29:BHI clld 1780.muu SUBS R12,R12,#4:BPL dok:MOV R12,#60:SUB R10,R10,#22:B dok 1790.clld MOV R0,#0:STR R0,mna:BL DrawLaby:B klp 1800.rtn LDR R2,keys:TEQ R2,#0:BEQ nokey:TEQ R12,#0:ADDEQ R1,R10,#46:BEQ cdr:TEQ R12,#60:BNE nokey:ADD R1,R10,#90 1810.cdr LDRB R0,[R1]:TEQ R0,#32:MOVNE PC,link:MOV R0,#7:STRB R0,[R1],#22:STRB R0,[R1],#1:STRB R0,[R1],#-22:MOV R0,#29:STRB R0,[R1]:SUB R2,R2,#1:STR R2,keys 1820MOV R0,#2:ADR R1,doorvoice:SWI "Sound_AttachNamedVoice":LDR R0,doorCA:LDR R1,doorPD:SWI "Sound_ControlPacked" 1830SWI OS_WriteI+26:MOV R0,#34:ADD R0,R0,#512:LDR R1,tspadd:MOV R3,R2,LSL#5:LDR R2,ttab:MOV R4,#32:MOV R5,#0:SWI "OS_SpriteOp" 1840STMFD (sp)!,{R0-R2}:MOV R0,#112:LDR R1,bank:SWI "OS_Byte":LDMFD (sp)!,{R0-R2}:SWI "OS_SpriteOp":ADR R0,rewin:MOV R1,#14:SWI "OS_WriteN":B finrtn 1850.nokey CMP R12,#4:MOVLS PC,link:CMP R12,#52:MOVHI PC,link:ADD R1,R10,#69:CMP R11,#8:BLS ctb:CMP R11,#28:MOVLS PC,link:SUB R1,R1,#1 1860.ctb LDRB R0,[R1]:TEQ R0,#8:BEQ da:TEQ R0,#9:BEQ ua:TEQ R0,#16:BEQ en:TEQ R0,#17:BEQ sw:TEQ R0,#18:MOVNE PC,link 1870.ky ADD R2,R2,#1:STR R2,keys:MOV R0,#15:STRB R0,[R1] 1880MOV R0,#2:ADR R1,clangvoice:SWI "Sound_AttachNamedVoice":LDR R0,doorCA:LDR R1,doorPD:EOR R1,R1,#&F50:SWI "Sound_ControlPacked" 1890SWI OS_WriteI+26:MOV R0,#34:ADD R0,R0,#512:SUBS R3,R2,#1:LDR R1,tspadd:ADR R2,ttab:LDR R2,[R2,#152]:MOV R3,R3,LSL#5:MOV R4,#32:MOV R5,#0:SWI "OS_SpriteOp" 1900STMFD (sp)!,{R0-R2}:MOV R0,#112:LDR R1,bank:SWI "OS_Byte":LDMFD (sp)!,{R0-R2}:SWI "OS_SpriteOp":ADR R0,rewin:MOV R1,#14:SWI "OS_WriteN":B finrtn 1910.ua LDR R0,level:ADR R1,levtab:LDRB R0,[R1,R0]:LDR R1,sword:ORRS R0,R0,R1,LSL#1:MOVEQ PC,link 1920.deman STMFD (sp)!,{R0}:ADR R0,eman:STR R0,mntb:MOV R6,#0 1930.demanlp STR R6,mna:BL DrawLaby:MOV R3,#2:BL delay:ADD R6,R6,#4:CMP R6,#20:BNE demanlp:MOV R0,#255:STR R0,mna:BL DrawLaby:MOV R3,#4:BL delay:BL fade_out:LDMFD (sp)!,{R0,PC} 1940.da MOV R0,#0:B deman 1950.rmouse EQUB 3:EQUW 640:EQUW 400:ALIGN 1960.en MVN R0,#45:STR R0,enerct:MOV R0,#15:STRB R0,[R1] 1970MOV R0,#2:ADR R1,boingvoice:SWI "Sound_AttachNamedVoice":LDR R0,doorCA:LDR R1,doorPD:ORR R1,R1,#&1000:SWI "Sound_ControlPacked":B finrtn 1980.sw MOV R0,#1:STR R0,sword:MOV R0,#15:STRB R0,[R1] 1990MOV R0,#2:ADR R1,clangvoice:SWI "Sound_AttachNamedVoice":LDR R0,doorCA:LDR R1,doorPD:SWI "Sound_ControlPacked" 2000SWI OS_WriteI+26:MOV R0,#34:ADD R0,R0,#512:LDR R1,tspadd:ADR R2,ttab:LDR R2,[R2,#148]:MOV R3,#1216:MOV R4,#32:MOV R5,#0:SWI "OS_SpriteOp" 2010STMFD (sp)!,{R0-R2}:MOV R0,#112:LDR R1,bank:SWI "OS_Byte":LDMFD (sp)!,{R0-R2}:SWI "OS_SpriteOp":ADR R0,rewin:MOV R1,#14:SWI "OS_WriteN" 2020.finrtn TEQ R6,#16:MOVNE PC,link:STMFD (sp)!,{R6,link}:BL DrawLaby:LDMFD (sp)!,{R6,PC} 2030.dead MOV R0,#2:ADR R1,hurtvoice:SWI "Sound_AttachNamedVoice":LDR R0,doorCA:LDR R1,doorPD:SWI "Sound_ControlPacked":MOV R0,#4:B deman 2040.rewin EQUB 24:EQUW 444:EQUW 268:EQUW 760:EQUW 564:EQUB 29:EQUW 384:EQUW 268:ALIGN 2050.bank EQUD 2 2060.level EQUD 0 2070.levtab EQUD 0:EQUD 0 2080.doorvoice EQUS "IronEffect-Door":EQUB 0:ALIGN 2090.clangvoice EQUS "IronEffect-Clang1":EQUB 0 2100.boingvoice EQUS "IronEffect-ArrowMiss":EQUB 0:ALIGN 2110.hurtvoice EQUS "IronEffect-Hurt":EQUB 0:ALIGN 2120] 2130ttab=P%:FOR I%=0 TO 38:!P%=TSP%+16+I%*172:P%+=4:NEXT 2140[OPT o% 2150\Draw labyrinth 2160.DrawLaby 2170MOV R3,R11:ADD R4,R12,#256:MOV R0,#112:LDR R1,bank:SWI "OS_Byte":MOV R0,#34:ADD R0,R0,#512:LDR R1,tspadd:MOV R5,#0:MOV R6,#6:MOV R7,R10:ADR R8,ttab 2180.dll1 MOV R9,#6 2190.dll2 LDRB R2,[R7],#1:LDR R2,[R8,R2,LSL#2]:SWI "OS_SpriteOp":ADD R3,R3,#64:SUBS R9,R9,#1:BNE dll2:SUB R3,R3,#384:SUB R4,R4,#64:ADD R7,R7,#16:SUBS R6,R6,#1:BNE dll1 2200LDR R1,tspadd:LDR R2,mspadd:MOV R3,#60:MOV R4,#0:MOV R5,#8:SWI "OS_SpriteOp":LDR R2,mntb:LDR R6,mna:TEQ R6,#255:BEQ noman:LDR R2,[R2,R6]:MOV R3,#184:MOV R4,#124:SWI "OS_SpriteOp" 2210.noman MOV R0,#19:SWI "OS_Byte":MOV R0,#113:LDR R1,bank:EOR R3,R1,#3:SWI "OS_Byte":STR R3,bank 2220MOV PC,link 2230\ 2240.tstkey SWI "OS_ReadEscapeState":LDMCSFD (sp)!,{PC} 2250MOV R6,#0:MOV R0,#121:MOV R1,#pause%:SWI "OS_Byte":TEQ R1,#0:BNE pause 2260MOV R1,#left%:SWI "OS_Byte":TEQ R1,#0:ORRNE R6,R6,#1:MOV R1,#right%:SWI "OS_Byte":TEQ R1,#0:ORRNE R6,R6,#2:MOV R1,#down%:SWI "OS_Byte":TEQ R1,#0:ORRNE R6,R6,#4:MOV R1,#up%:SWI "OS_Byte":TEQ R1,#0:ORRNE R6,R6,#8 2270LDR R1,lastcomb:STR R6,lastcomb:EORS R1,R1,R6:LDREQ R6,lastkey:BEQ gtkey:ANDS R2,R1,R6:MOVNE R6,R2:BNE gtkey:LDR R2,lastkey:TST R1,R2:MOVEQ R6,R2 2280.gtkey ANDS R1,R6,#1:ANDEQS R1,R6,#2:ANDEQS R1,R6,#4:ANDEQS R1,R6,#8:MOVNE R6,R1:STR R6,lastkey 2290MOV R1,#fire%:SWI "OS_Byte":TEQ R1,#0:ORRNE R6,R6,#16:TEQ R6,#0:MOVNE PC,link 2300SWI "OS_Mouse":TST R2,#4:BEQ mrtn:SUBS R3,R0,#640:RSBMI R3,R3,#0:SUBS R4,R1,#400:RSBMI R4,R4,#0:CMP R3,#1:MOVLS R3,#0:CMP R4,#1:MOVLS R4,#0:CMP R3,R4:BEQ nomov:BHI xgt:CMP R1,#400:ORRLT R6,R6,#4:ORRGT R6,R6,#8:B mrtn 2310.xgt CMP R0,#640:ORRLT R6,R6,#1:ORRGT R6,R6,#2:B mrtn 2320.nomov LDR R6,lastmkey 2330.mrtn STR R6,lastmkey:TST R2,#3:ORRNE R6,R6,#16:MOV R0,#21:ADR R1,rmouse:SWI "OS_Word":MOV PC,link 2340.pause MOV R0,#13:MOV R1,#4:SWI "OS_Byte":MOV R0,#121 2350.relpause MOV R1,#pause%:SWI "OS_Byte":TEQ R1,#0:BNE relpause 2360.unpause MOV R1,#pause%:SWI "OS_Byte":TEQ R1,#0:BEQ unpause 2370.finpause MOV R1,#pause%:SWI "OS_Byte":TEQ R1,#0:BNE finpause 2380MOV R0,#14:MOV R1,#4:SWI "OS_Byte":MOV PC,link 2390\ 2400.lastkey EQUD 0 2410.lastmkey EQUD 0 2420.lastcomb EQUD 0 2430.gspadd EQUD GSP% 2440.sadd EQUD S% 2450.tadd EQUD T% 2460\***************************************************** 2470\ 2480] 2490eyes=P%:!P%=544:P%!4=664:P%+=12 2500drop=P%:!P%=0:P%+=12 2510bombs=P%:FOR I%=0 TO 8:!P%=0:P%+=12:NEXT 2520aliens=P%:FOR I%=0 TO 8:!P%=0:P%+=12:NEXT 2530mant=P%:!P%=0:P%!4=180:P%+=12 2540manb=P%:!P%=0:P%!4=100:P%+=12 2550shot=P%:!P%=0:P%+=12 2560[OPT o% 2570\ 2580.random EQUD 38771 2590.rconst EQUD &1D872B41 2600.fiflag EQUD 0 2610.eyedel EQUD 0 2620.dropdel EQUD 0 2630.aflag EQUD 0:EQUD 0:EQUD 0 2640\ 2650.zap STMFD (sp)!,{link} 2660MOV R0,#19:SWI "OS_Byte":MOV R0,#14:MOV R1,#4:SWI "OS_Byte" 2670.zaplp MOV R0,#19:SWI "OS_Byte":LDR R1,bank:CMP R1,#0:BMI zaplp:MOV R0,#113:SWI "OS_Byte":STR R1,bank:MOV R3,R1:MOV R0,#112:SWI "OS_Byte" 2680ADR R0,sadd-4:LDR R2,[R0,R3,LSL#2]:BL zapcopy 2690\plot 2700MOV R12,#23:ADR R11,eyes-12:ADR R10,sprtab:MOV R0,#34:ADD R0,R0,#512:LDR R1,gspadd:MOV R5,#8 2710.plotlp LDR R3,[R11,#12]!:TEQ R3,#0:BEQ plnext:LDR R4,[R11,#4]:LDR R2,[R11,#8]:AND R2,R2,#1020:LDR R2,[R10,R2]:SWI "OS_SpriteOp" 2720.plnext SUBS R12,R12,#1:BNE plotlp 2730\blink eyes 2740ADR R12,eyes:LDR R0,eyedel:SUBS R0,R0,#1:BPL noblink:LDR R1,[R12,#8]:ADD R1,R1,#2:TEQ R1,#204:BNE nfbl:MOV R1,#188:LDR R0,random:AND R0,R0,#255 2750.nfbl STR R1,[R12,#8] 2760.noblink STR R0,eyedel 2770\move drop 2780ADD R12,R12,#12:LDR R0,dropdel:SUBS R0,R0,#1:STR R0,dropdel:BEQ stdrop:BPL nodrop 2790LDR R1,[R12,#8]:ADD R1,R1,#2:TEQ R1,#184:BEQ dropfin:CMP R1,#108:BLT enddrop:LDR R2,[R12,#4]:CMP R2,#120:BLE drgnd:SUB R2,R2,#12:STR R2,[R12,#4]:TEQ R1,#144:MOVEQ R1,#108:B chkdrp 2800.stdrop MOV R1,#588:STR R1,[R12]:MOV R1,#512:STR R1,[R12,#4]:MOV R1,#88:STR R1,[R12,#8]:B nodrop 2810.dropfin MOV R2,#0:STR R2,[R12]:LDR R0,random:AND R0,R0,#255:STR R0,dropdel:B nodrop 2820.drgnd CMP R1,#144:BGT chkdrp:LDR R0,drsplatCA:LDR R1,drsplatPD:SWI "Sound_ControlPacked":MOV R1,#144 2830.chkdrp ADR R11,mant:MOV R10,#2:MOV R9,#16:MOV R8,#64:MOV R7,#88:BL checkcoll:BEQ dmhit:ADD R11,R11,#12:MOV R10,#2:MOV R9,#16:MOV R8,#80:MOV R7,#88:BL checkcoll:BNE enddrop 2840.dmhit CMP R1,#144:MOVLT R1,#144:BL reduce 2850.enddrop STR R1,[R12,#8] 2860.nodrop 2870\move bombs 2880MOV R6,#9 2890.bomblp LDR R0,[R12,#12]!:TEQ R0,#0:BEQ nobomb:LDR R1,[R12,#8]:ADD R1,R1,#2:CMP R1,#236:BGT chkbomb:MOVEQ R1,#220:LDR R0,[R12,#4]:SUB R0,R0,#12:STR R0,[R12,#4]:CMP R0,#120:BGT chkbomb:LDR R0,bsmshCA:LDR R1,shotPD:SWI "Sound_ControlPacked":MOV R1,#236 2900.chkbomb ADR R11,mant:MOV R10,#2:MOV R9,#11:MOV R8,#64:MOV R7,#88:BL checkcoll:BEQ bmhit:ADD R11,R11,#12:MOV R10,#2:MOV R9,#11:MOV R8,#80:MOV R7,#88:BL checkcoll:BNE finbomb 2910.bmhit CMP R1,#236:MOVLT R1,#236:BL reduce 2920.finbomb STR R1,[R12,#8]:CMP R1,#252:MOVEQ R0,#0:STREQ R0,[R12] 2930.nobomb SUBS R6,R6,#1:BNE bomblp 2940\move shot 2950ADR R12,shot:LDR R0,[R12]:TEQ R0,#0:BEQ noshot:LDR R0,[R12,#8]:CMP R0,#72:BGE bnging:LDR R0,[R12,#4]:ADD R0,R0,#16:STR R0,[R12,#4]:CMP R0,#800:BGE stopshot 2960ADR R11,aliens:ADR R6,aflag:MOV R5,#9 2970.saclp LDRB R0,[R6,R5]:CMP R0,#2:BGE nacc:LDR R0,[R11]:TEQ R0,#0:BEQ nacc 2980MOV R10,#14:MOV R9,#5:MOV R8,#64:MOV R7,#76:BL checkcoll:BNE nacc 2990LDR R0,hitCA:LDR R1,hitPD:LDRB R2,[R6,R5]:EOR R1,R1,R2,LSL#11:SWI "Sound_ControlPacked" 3000ADD R2,R2,#1:STRB R2,[R6,R5]:LDR R0,[R11]:SUB R0,R0,#8:STR R0,[R12]:LDR R0,[R11,#4]:STR R0,[R12,#4]:MOV R0,#68 3010.bnging ADD R0,R0,#4:STR R0,[R12,#8]:CMP R0,#88:BNE noshot 3020.stopshot MOV R0,#0:STR R0,[R12]:B noshot 3030.nacc ADD R11,R11,#12:SUBS R5,R5,#1:BNE saclp 3040\move aliens 3050.noshot ADR R11,aveltab:ADR R12,aliens:MOV R10,#9:LDR R9,random:LDR R8,rconst:MOV R7,#0:ADR R6,aflag 3060.aloop LDR R0,[R12]:TEQ R0,#0:BEQ nextal:MOV R7,#1:LDRB R1,[R6,R10]:CMP R1,#2:BEQ fall:BGT crsh 3070LDR R1,[R12,#8]:ADD R1,R1,#2:CMP R1,#220:MOVEQ R1,#204:STR R1,[R12,#8]:MOVS R9,R9,LSL#1:EORCS R9,R9,R8:STR R9,random:LDR R1,[R11]:ADD R0,R0,R1,ASR#7:STR R0,[R12]:CMP R1,#0:BPL sklb:CMP R0,#60:ADDLT R1,R1,#64:B skrb 3080.sklb CMP R0,#1136:SUBGT R1,R1,#64 3090.skrb RSBS R2,R0,#600:MOVPL R3,R2:MVNMI R3,R2:CMP R3,#320:ADDGT R1,R1,R2,ASR#3:ADD R1,R1,R9,ASR#27:STR R1,[R11] 3100LDR R0,[R12,#4]:LDR R1,[R11,#4]:ADD R0,R0,R1,ASR#6:STR R0,[R12,#4]:RSB R2,R0,#560:ADD R1,R1,R2:ADD R1,R1,R9,ASR#28:STR R1,[R11,#4] 3110LDR R0,[R12,#-&6C]:TEQ R0,#0:BNE nextal:AND R0,R9,#255:CMP R0,#250:BLT nextal:LDR R0,[R12]:ADD R0,R0,#20:STR R0,[R12,#-&6C]:LDR R0,[R12,#4]:STR R0,[R12,#-&68]:MOV R0,#220:STR R0,[R12,#-&64]:B nextal 3120.fall LDR R2,[R12,#4]:SUB R2,R2,#24:STR R2,[R12,#4]:CMP R2,#120:BGT nextal:MOV R0,#156:STR R0,[R12,#8]:STRB R0,[R6,R10]:LDR R0,splatCA:LDR R1,splatPD:SWI "Sound_ControlPacked" 3130.crsh LDR R0,[R12,#8]:ADD R0,R0,#2:STR R0,[R12,#8]:CMP R0,#184:MOVEQ R0,#0:STREQ R0,[R12] 3140.nextal ADD R11,R11,#8:ADD R12,R12,#12:SUBS R10,R10,#1:BNE aloop 3150TEQ R7,#0:MOVEQ R0,#0:LDMEQFD (sp)!,{PC} 3160\move man 3170LDR R0,fiflag:TEQ R0,#0:BNE zfiring:BL tstkey:TST R6,#16:BLNE zfire:TST R6,#1:BNE zml:TST R6,#2:BNE zmr:MOV R0,#8:STR R0,[R12,#8]:B zaplp 3180.zmr LDR R1,[R12]:CMP R1,#960:BGE zaplp:ADD R1,R1,#8:STR R1,[R12]:STR R1,[R12,#12]:LDR R1,[R12,#20]:ADD R1,R1,#4:CMP R1,#56:MOVEQ R1,#28:STR R1,[R12,#20] 3190.znoar LDR R1,[R12,#8]:TEQ R1,#16:BEQ zaplp:ADD R1,R1,#4:STR R1,[R12,#8]:B zaplp 3200.zml LDR R1,[R12]:CMP R1,#180:BLE zaplp:SUB R1,R1,#8:STR R1,[R12]:STR R1,[R12,#12]:LDR R1,[R12,#20]:SUB R1,R1,#4:CMP R1,#24:MOVEQ R1,#52:STR R1,[R12,#20] 3210.znoal LDR R1,[R12,#8]:TEQ R1,#0:BEQ zaplp:SUB R1,R1,#4:STR R1,[R12,#8]:B zaplp 3220.zfire LDR R0,[R12,#24]:TEQ R0,#0:MOVNE PC,link:MOV R0,#1:STR R0,fiflag:MOV R0,#20:STR R0,[R12,#8]:LDR R0,shotCA:LDR R1,shotPD:SWI "Sound_ControlPacked":B zaplp 3230.zfiring ADD R0,R0,#1:STR R0,fiflag:CMP R0,#5:BEQ zshoot:BHI zshot:TEQ R0,#3:BNE zaplp:MOV R0,#24:STR R0,[R12,#8]:B zaplp 3240.zshoot LDR R1,[R12]:ADD R1,R1,#44:STR R1,[R12,#24]:MOV R1,#272:STR R1,[R12,#28]:MOV R1,#56:STR R1,[R12,#32]:B zaplp 3250.zshot LDR R0,[R12,#32]:ADD R0,R0,#4:STR R0,[R12,#32]:TEQ R0,#68:BNE zaplp 3260MOV R0,#0:STR R0,fiflag:MOV R0,#8:STR R0,[R12,#8]:B zaplp 3270] 3280aveltab=P%:P%+=72 3290sprtab=P%:Q%=GSP%+16:FOR I%=0 TO 63:!P%=Q%:Q%+=!Q%:P%+=4:NEXT 3300[OPT o% 3310.shotCA EQUD &17F0001 3320.shotPD EQUD &142000 3330.hitCA EQUD &17F0002 3340.hitPD EQUD &12F00 3350.splatCA EQUD &17F0004 3360.splatPD EQUD &12550 3370.bsmshCA EQUD &17F0005 3380.drsplatCA EQUD &17F0006 3390.drsplatPD EQUD &11F00 3400\ 3410\Collison detector 3420\R12 - Object doing hitting, R11 - Object being hit 3430\R10 - Height of hitter(1s), R9 - Width of hitter(1s) 3440\R8 - Height of hittee(4s), R7 - Width of hittee(4s) 3450\Returns EQ if hit, NE if not 3460\ 3470.checkcoll STMFD (sp)!,{R0-R6,link} 3480MOV R0,#43:ADD R0,R0,#512:LDR R1,gspadd:ADR R3,sprtab 3490SUB R4,R10,#1:LDR R6,[R11,#4]:LDR R5,[R12,#4]:SUB R6,R5,R6:ADD R6,R6,R10,LSL#2 3500LDR R10,[R11,#8]:AND R10,R10,#1020:LDR R10,[R3,R10]:LDR R14,[R12,#8]:AND R14,R14,#1020:LDR R14,[R3,R14] 3510.colcy SUBS R6,R6,#4:BMI fincoll:CMP R6,R8:BGE colcny 3520SUB R3,R9,#1:LDR R5,[R11]:LDR R2,[R12]:SUB R5,R2,R5:ADD R5,R5,R9,LSL#2 3530.colcx SUBS R5,R5,#4:BMI colcny:CMP R5,R7:BGE colcnx 3540STMFD (sp)!,{R5}:MOV R2,R14:SWI "OS_SpriteOp":TEQ R5,#1:LDMFD (sp)!,{R5}:BNE colcnx:STMFD (sp)!,{R3-R5}:MOV R2,R10:MOV R3,R5,LSR#2:MOV R4,R6,LSR#2:SWI "OS_SpriteOp":TEQ R5,#1:LDMFD (sp)!,{R3-R5}:BEQ fincoll 3550.colcnx SUBS R3,R3,#1:BPL colcx 3560.colcny SUBS R4,R4,#1:BPL colcy 3570.fincoll LDMFD (sp)!,{R0-R6,PC} 3580\ 3590.flipevent CMP R0,#4:MOVNES PC,link:STMFD (sp)!,{R0,link} 3600LDR R0,bank:MVN R0,R0:STR R0,bank:LDMFD (sp)!,{R0,PC}^ 3610\ 3620.unpack STMFD (sp)!,{link} 3630LDR R1,length:LDR R10,scradd:LDR R11,picdat:ADD R12,R11,#256:ADD R0,R11,#512:MOV R4,#0 3640.upl LDRB R2,[R0],#1:BL print:SUBS R1,R1,#1:BNE upl 3650LDMFD (sp)!,{PC} 3660\ 3670.print 3680STMFD (sp)!,{link} 3690LDRB R3,[R11,R2]:TEQ R3,R2:BEQ storeit 3700STMFD (sp)!,{R2} 3710MOV R2,R3:BL print 3720LDMFD (sp)!,{R2} 3730LDRB R2,[R12,R2]:BL print 3740LDMFD (sp)!,{PC} 3750.storeit 3760EORS R4,R4,#1 3770MOVNE R5,R2 3780ORREQ R5,R5,R2,LSL#4 3790STREQB R5,[R10],#1 3800LDMFD (sp)!,{PC} 3810\ 3820.picdat EQUD PP% 3830.length EQUD &352B 3840.scradd EQUD S% 3850] 3860IF P%>(code%+space%) MODE 15:PRINT"Not enough code space.":END 3870NEXT 3880ENDPROC 3890: 3900DEF PROCerror:ON ERROR OFF 3910IF VC%=1 OSCLI"FX 13,4":SYS"OS_Release",&10,enevent,0:VC%=0 3920IF VC%=2 OSCLI"FX 13,4":SYS"OS_Release",&10,flipevent,0:VC%=0 3930MODE 15:OFF:CALLHIMEM+&214 3940*FX 20 3950IF ERR=17 PRINT"Goodbye." ELSE PRINT"Iron Lord has stopped because of a fatal error :-"''REPORT$ 3960ENDPROC
� >:IronLord.!IronLord.Iron6 � (C) 1990 UBI soft. <� Archimedes version by Cygnus Software Engineering Ltd. (: 2 VC%=0 <� � �error:� F: Pespace%=&153C:� code% space%,TSP% &5CFC,GSP% &5494,TAB% &2100,PP% &372B,BSC% &7D00,TA%(4),PL%(5,5) Z: d+�"Load <IronLord$Dir>.LabySkull "+�~PP% n/�"IronLoad <IronLord$Dir>.LabyCave "+�~BSC% x1�"IronLoad <IronLord$Dir>.LabyTables "+�~TAB% �?!TSP%=&5CFC:�"IronLoad <IronLord$Dir>.LabySpr1 "+�~(TSP%+4) �?!GSP%=&5484:�"IronLoad <IronLord$Dir>.LabySpr2 "+�~(GSP%+4) �?left%=225:right%=194:down%=232:up%=207:fire%=201:pause%=224 �ATA%(0)=&346:TA%(1)=&A28:TA%(2)=&D1D:TA%(3)=&1482:TA%(4)=&17BF �*� I%=0 � 5:� J%=0 � 5:� PL%(I%,J%):�:� �Y�asm:ș"Sound_QInit":�I%=1�8:ș"Sound_AttachVoice",I%,0:�:ș"Sound_Configure",1,0,100 �:!energy=720:!enerpt=&63A:!tabadd=TAB%+24:ML%=0:DEAD%=� �: ��:�laby:� !level=6 � DEAD% �6�rect(240,260,800,352):WW%=24:WXC%=640:WYC%=432:�1 � � DEAD% � � �wpr("You slump to the ground, drained of all your energy. As the world turns into a grey fog, you curse your evil uncle for one last time. You are dead.") �] � fade_in:�mouse:� fade_out:�4:�128:ș"OS_Byte",112,2:�:ș"OS_Byte",112,1:�:�5:*FX 113,1 " � � �:�"<IronLord$Dir>.Iron7" � "� �wpr("As the last of his demon cohorts is destroyed your uncle utters a scream of despair. His body falls to the ground, devoid of life, but from somewhere far away the sound of his screaming continues ...") ,* � fade_in:�mouse:� fade_out:*FX 113,1 6) �"IronLoad <IronLord$Dir>.Win "+�~S% @ *IronFadeIn 24 J �mouse:*IronFadeOut T�:*FX21 ^:�0:�:֓+&214:�"Thank you for playing Iron Lord.":*FX20 h� r: |� �laby �1!pal=0:pal!4=0:� �dFB:� B%=24 � 47:� pal?B%:� ��ș"OS_Byte",112,1:ș"OS_Byte",113,1:�:� unpack:� 11:ȓ Ȑ 1224,32,28,736:� 15:ȓ Ȑ 1232,40,12,!energy:A%=200:B%=S%:C%=T%:� copy ���26:� !keys<>0 � I%=1 � !keys:ș"OS_SpriteOp",290,TSP%,"t38",I%*32-32,32:�:ș"OS_Byte",112,2:� I%=1 � !keys:ș"OS_SpriteOp",290,TSP%,"t38",I%*32-32,32:�:ș"OS_Byte",112,1 �b�24,444;268;760;564;:ȑ 384,268:ș"OS_Claim",&10,enevent,0:VC%=1:Ƞ2:ȡ1,"IronEffect-Footstep" ���:� C%=0 � 5:?(pal+C%*3+6)=((PL%(!level,C%)>>4) � 240)+16:?(pal+C%*3+7)=(PL%(!level,C%) � 240)+16:?(pal+C%*3+8)=((PL%(!level,C%)<<4) � 240)+16:� �R%=�(MoveLaby):*FX 21 �*FX 13,4 �-� R%=0 !level-=1:!tabadd=TAB%+TA%(!level) �2� R% � 1 !level+=1:!tabadd=TAB%+24+&580*!level �� R%=2 � R%=4 �Bȑ 0,128:� 24,0;0;1279;799;:ș"OS_Release",&10,enevent,0:VC%=0 �� R%=4 � �TjC:DEAD%=�:� �: �Ƞ8:ȡ1,"Percussion-Medium":ȡ2,"IronEffect-Hurt":ȡ3,"IronEffect-Hurt":ȡ4,"IronEffect-Splat":ȡ5,"Percussion-Soft":ȡ6,"IronEffect-Splat" @�4:�128:ș"OS_Byte",112,2:�:ș"OS_Byte",112,1:�:�5:*FX 113,1 =� �dZB:� B%=0 � 47:� pal?B%:�:A%=200:B%=BSC%:C%=S%:� copy &^� !level<>ML% �"IronLoad <IronLord$Dir>.LabySpr2_"+�(!level)+" "+�~(GSP%+&3C18):ML%=!level 0Eș"OS_SpriteOp",290,GSP%,"46",480,512:A%=200:B%=S%:C%=BSC%:� copy ::�11:ȓ Ȑ 272,16,736,28:�2:ȓ Ȑ 280,24,!energy,12:�11 D�P%=aliens:Q%=aveltab:� I%=0 � 3+!level:!P%=�(800)+200:P%!4=�(300)+400:P%!8=204:ș"OS_SpriteOp",290,GSP%,"51",!P%,P%!4,8:V%=�(&180):� !P%<640 V%+=&500 � V%=-&500-V% N/!Q%=V%:V%=�(&20):� �(2)=1 V%+=&50 � V%-=&50 X6Q%!4=V%:P%+=12:Q%+=8:�:� I%=0 � 8 � 4:aflag!I%=0:� b�!mant=600:mant!8=8:!manb=600:manb!8=28:!drop=0:!shot=0:� I%=0 � 96 � 12:bombs!I%=0:�:!fiflag=0:eyes!8=188:!eyedel=125:!dropdel=200:� !level=1 � !level=2 � !level=5 eyes!4=696 � eyes!4=664 l�ș"OS_SpriteOp",290,GSP%,"2",600,180,8:ș"OS_SpriteOp",290,GSP%,"7",600,100,8:C%=T%:� copy:� fade_in:ș"OS_Claim",&10,flipevent,0:VC%=2:!bank=2:R%=�(zap):*FX 21 v*FX 13,4 �@ș"OS_Release",&10,flipevent,0:VC%=0:� !bank<0 !bank=� !bank �~� fade_out:?(levtab+!level)=1:!level+=1:!tabadd=TAB%+24+&580*!level:!sword=0:� �TtC:ș"OS_Byte",112,!bank � 3:� R% DEAD%=� �� �: �_� &046,&068,&08A,&0AC,&6A8,&024,&064,&086,&0A8,&0CA,&6A8,&042,&713,&835,&A68,&B9A,&B9A,&402 �_� &700,&922,&A55,&C88,&B9A,&400,&640,&962,&B94,&EC8,&B9A,&521,&555,&777,&888,&AAA,&B9A,&333 �: �[� 112,80,0,144,112,48,176,144,80,208,176,112,240,208,144,176,176,176,112,112,112,80,0,0 �: ڣ� 0,0,0,48,0,0,80,0,0,112,48,0,144,80,48,176,112,80,112,80,0,144,112,0,176,144,0,208,176,0,208,144,112,208,176,144,80,80,80,112,112,112,144,144,144,240,240,240 �: �� �mouse:*FX 21,9 �4�:ȗ MX%,MY%,B%:� B%=0:�:ȗ MX%,MY%,B%:� B%<>0:� : � �rect(X%,Y%,W%,D%) e� N%:� L%=1 � N%:� C%:� C%:ȓ X%,Y%,W%,D%:X%+=4:Y%+=4:W%-=8:D%-=8:�:� C%:� C%:ȓ Ȑ X%,Y%,W%,D%:� : *� 3,9,10,11,12 4� 3,4,5,10,11 >: H$� �wpr(S$):� T$,P%,Y%:T$=S$:Y%=0 R� \ � �T$>WW% � f( P%=WW%+1:ȕ �T$,P%,1)<>" ":P%-=1:� p T$=�T$,�(T$)-P%) z � � T$="" � � � Y%+=1 �� T$="" �Y%=WYC%+Y%*18 ��:T$="" � � �S$>WW% � �( P%=WW%+1:ȕ �S$,P%,1)<>" ":P%-=1:� �# T$=�S$,�(S$)-P%):S$=�S$,P%-1) � � �& � WXC%-16*�S$,Y%:�S$:Y%-=36:S$=T$ � � S$="":� �: � �asm sp=13:link=14:OS_WriteI=&100 � o%=0 � 2 � 2 $P%=code% .[OPT o% 8.fade_in B"STMFD (sp)!,{link}:MOV R5,#240 L?.fdilp MOV R3,#2:BL delay:BL chpal:SUBS R5,R5,#16:BPL fdilp VLDMFD (sp)!,{PC} ` .fade_out j STMFD (sp)!,{link}:MOV R5,#0 tJ.fdolp MOV R3,#2:BL delay:BL chpal:ADD R5,R5,#16:CMP R5,#256:BNE fdolp ~LDMFD (sp)!,{PC} �.pal EQUS �48,�0) �.pblk EQUD &1000:EQUB 0 �\ Wait for R3 frame syncs �.delay MOV R0,#19 �<.dellp SWI "OS_Byte":SUBS R3,R3,#1:BNE dellp:MOV PC,link �\ Set palette �:.chpal MOV R0,#12:ADR R1,pblk:MOV R2,#15:ADR R3,pal+48 �.chplp STRB R2,[R1]:LDRB R4,[R3,#-1]!:SUBS R4,R4,R5:MOVMI R4,#0:STRB R4,[R1,#4]:LDRB R4,[R3,#-1]!:SUBS R4,R4,R5:MOVMI R4,#0:STRB R4,[R1,#3]:LDRB R4,[R3,#-1]!:SUBS R4,R4,R5:MOVMI R4,#0:STRB R4,[R1,#2]:SWI "OS_Word":SUBS R2,R2,#1:BPL chplp:MOV PC,link �\ Copy screen �$.zapcopy MOV R0,#176:LDR R1,from � .copy ��LDMIA R1!,{R3-R12}:STMIA R2!,{R3-R12}:LDMIA R1!,{R3-R12}:STMIA R2!,{R3-R12}:LDMIA R1!,{R3-R12}:STMIA R2!,{R3-R12}:LDMIA R1!,{R3-R12}:STMIA R2!,{R3-R12}:SUBS R0,R0,#1:BNE copy:MOV PC,link \ .from EQUD BSC% \ >.enevent TEQ R0,#4:MOVNES PC,link:STMFD (sp)!,{R0-R3,link} (\LDR R0,enerct:CMP R0,#0:BPL decing:ADDS R0,R0,#1:STR R0,enerct:LDMPLFD (sp)!,{R0-R3,PC}^ 2RLDR R0,energy:ADD R0,R0,#4:CMP R0,#724:LDMEQFD (sp)!,{R0-R3,PC}^:STR R0,energy <�LDR R0,enerpt:SUB R0,R0,#160:STR R0,enerpt:LDR R1,sadd:LDR R2,tadd:MOV R3,#&FF:STRB R3,[R1,R0]:STRB R3,[R2,R0]:ADD R0,R0,#1:STRB R3,[R1,R0]:STRB R3,[R2,R0]:LDMFD (sp)!,{R0-R3,PC}^ FO.decing SUBS R0,R0,#1:MOVMI R0,#149:STR R0,enerct:LDMPLFD (sp)!,{R0-R3,PC}^ PGLDR R0,energy:SUBS R0,R0,#4:LDMMIFD (sp)!,{R0-R3,PC}^:STR R0,energy Z�LDR R0,enerpt:LDR R1,sadd:LDR R2,tadd:MOV R3,#&BB:STRB R3,[R1,R0]:STRB R3,[R2,R0]:ADD R0,R0,#1:STRB R3,[R1,R0]:STRB R3,[R2,R0]:ADD R0,R0,#159:STR R0,enerpt:LDMFD (sp)!,{R0-R3,PC}^ d\ n�.reduce STMFD (sp)!,{R0-R4}:LDR R0,manhitCA:LDR R1,stepPD:SWI "Sound_ControlPacked":LDR R0,enerpt:ADD R0,R0,#160:STR R0,enerpt:MOV R0,#4:LDR R4,energy:ADD R1,R4,#280:MOV R2,#24:SWI "OS_Plot":MOV R0,#1:MOV R1,#0:MOV R2,#12:SWI "OS_Plot" x�MOV R0,#112:LDR R3,bank:CMP R3,#0:MVNMI R3,R3:� R1,R3,#3:SWI "OS_Byte":MOV R0,#1:MOV R1,#0:MVN R2,#11:SWI "OS_Plot":MOV R0,#112:MOV R1,R3:SWI "OS_Byte":SUBS R4,R4,#4:STR R4,energy:LDMFD (sp)!,{R0-R4}:MOVPL PC,link:MOV R0,#&FF:LDMFD (sp)!,{PC} �\ �.tabadd EQUD TAB% �.tspadd EQUD TSP% �.mspadd EQUD TSP%+&4560 �.mntb EQUD dman �.mna EQUD 0 �.keys EQUD 0 �.energy EQUD 0 �.enerpt EQUD 0 �.enerct EQUD 149 �.sword EQUD 0 �.manhitCA EQUD &1FF0003 �.stepCA EQUD &1500001 .stepPD EQUD &12000 .doorCA EQUD &17F0002 .doorPD EQUD &12550 "] ,cdman=P%:uman=P%+32:rman=P%+64:lman=P%+96:eman=P%+128:� I%=0 � 36:!P%=TSP%+&1A04+I%*&12C:P%+=4:� 6[OPT o% @\Move in labyrinth JG.MoveLaby STMFD (sp)!,{link}:LDR R10,tabadd:MOV R11,#52:MOV R12,#44 T~MOV R0,#2:STR R0,bank:MOV R0,#255:STR R0,mna:BL DrawLaby:BL fade_in:MOV R3,#20:BL delay:ADR R0,eman:STR R0,mntb:MOV R6,#16 ^N.emanlp STR R6,mna:BL DrawLaby:MOV R3,#2:BL delay:SUBS R6,R6,#4:BPL emanlp hpMOV R0,#21:ADR R1,rmouse:SWI "OS_Word":MOV R0,#21:MOV R1,#9:SWI "OS_Byte":MOV R0,#14:MOV R1,#4:SWI "OS_Byte" rADR R0,dman:STR R0,mntb |.dok �RLDR R2,mna:ADD R2,R2,#4:CMP R2,#32:�Q R2,#0:STR R2,mna:TST R2,#15:BNE skipstep �ULDR R0,stepCA:LDR R1,stepPD:� R1,R1,#&550:STR R1,stepPD:SWI "Sound_ControlPacked" �.skipstep BL DrawLaby ��.klp LDR R0,energy:CMP R0,#4:BLT dead:BL tstkey:TST R6,#16:BLNE rtn:TST R6,#1:BNE ml:TST R6,#2:BNE mr:TST R6,#8:BNE mu:TST R6,#4:BEQ klp ��.md ADR R0,dman:STR R0,mntb:TEQ R12,#60:BNE mdd:ADD R1,R10,#90:CMP R11,#56:SUBHI R1,R1,#1:LDRB R0,[R1]:CMP R0,#18:BLS mdd:CMP R11,#56:BNE clld:CMP R0,#28:BLS clld:CMP R0,#32:BHI mdd:CMP R0,#29:BHI clld �L.mdd ADD R12,R12,#4:TEQ R12,#64:BNE dok:MOV R12,#0:ADD R10,R10,#22:B dok �c.ml ADR R0,lman:STR R0,mntb:TEQ R11,#56:BNE mll:ADD R1,R10,#67:LDRB R0,[R1]:CMP R0,#18:BHI clld �K.mll ADD R11,R11,#4:TEQ R11,#64:BNE dok:MOV R11,#0:SUB R10,R10,#1:B dok �c.mr ADR R0,rman:STR R0,mntb:TEQ R11,#56:BNE mrr:ADD R1,R10,#68:LDRB R0,[R1]:CMP R0,#18:BHI clld �A.mrr SUBS R11,R11,#4:BPL dok:MOV R11,#60:ADD R10,R10,#1:B dok ��.mu ADR R0,uman:STR R0,mntb:TEQ R12,#0:BNE muu:ADD R1,R10,#46:CMP R11,#56:SUBHI R1,R1,#1:LDRB R0,[R1]:CMP R0,#18:BLS muu:CMP R11,#56:BNE clld:CMP R0,#28:BLS clld:CMP R0,#32:BHI muu:CMP R0,#29:BHI clld �B.muu SUBS R12,R12,#4:BPL dok:MOV R12,#60:SUB R10,R10,#22:B dok �0.clld MOV R0,#0:STR R0,mna:BL DrawLaby:B klp q.rtn LDR R2,keys:TEQ R2,#0:BEQ nokey:TEQ R12,#0:ADDEQ R1,R10,#46:BEQ cdr:TEQ R12,#60:BNE nokey:ADD R1,R10,#90 �.cdr LDRB R0,[R1]:TEQ R0,#32:MOVNE PC,link:MOV R0,#7:STRB R0,[R1],#22:STRB R0,[R1],#1:STRB R0,[R1],#-22:MOV R0,#29:STRB R0,[R1]:SUB R2,R2,#1:STR R2,keys qMOV R0,#2:ADR R1,doorvoice:SWI "Sound_AttachNamedVoice":LDR R0,doorCA:LDR R1,doorPD:SWI "Sound_ControlPacked" &SWI OS_WriteI+26:MOV R0,#34:ADD R0,R0,#512:LDR R1,tspadd:MOV R3,R2,LSL#5:LDR R2,ttab:MOV R4,#32:MOV R5,#0:SWI "OS_SpriteOp" 0�STMFD (sp)!,{R0-R2}:MOV R0,#112:LDR R1,bank:SWI "OS_Byte":LDMFD (sp)!,{R0-R2}:SWI "OS_SpriteOp":ADR R0,rewin:MOV R1,#14:SWI "OS_WriteN":B finrtn :�.nokey CMP R12,#4:MOVLS PC,link:CMP R12,#52:MOVHI PC,link:ADD R1,R10,#69:CMP R11,#8:BLS ctb:CMP R11,#28:MOVLS PC,link:SUB R1,R1,#1 Dt.ctb LDRB R0,[R1]:TEQ R0,#8:BEQ da:TEQ R0,#9:BEQ ua:TEQ R0,#16:BEQ en:TEQ R0,#17:BEQ sw:TEQ R0,#18:MOVNE PC,link N8.ky ADD R2,R2,#1:STR R2,keys:MOV R0,#15:STRB R0,[R1] X�MOV R0,#2:ADR R1,clangvoice:SWI "Sound_AttachNamedVoice":LDR R0,doorCA:LDR R1,doorPD:� R1,R1,#&F50:SWI "Sound_ControlPacked" b�SWI OS_WriteI+26:MOV R0,#34:ADD R0,R0,#512:SUBS R3,R2,#1:LDR R1,tspadd:ADR R2,ttab:LDR R2,[R2,#152]:MOV R3,R3,LSL#5:MOV R4,#32:MOV R5,#0:SWI "OS_SpriteOp" l�STMFD (sp)!,{R0-R2}:MOV R0,#112:LDR R1,bank:SWI "OS_Byte":LDMFD (sp)!,{R0-R2}:SWI "OS_SpriteOp":ADR R0,rewin:MOV R1,#14:SWI "OS_WriteN":B finrtn v].ua LDR R0,level:ADR R1,levtab:LDRB R0,[R1,R0]:LDR R1,sword:�RS R0,R0,R1,LSL#1:�Q PC,link �=.deman STMFD (sp)!,{R0}:ADR R0,eman:STR R0,mntb:MOV R6,#0 ��.demanlp STR R6,mna:BL DrawLaby:MOV R3,#2:BL delay:ADD R6,R6,#4:CMP R6,#20:BNE demanlp:MOV R0,#255:STR R0,mna:BL DrawLaby:MOV R3,#4:BL delay:BL fade_out:LDMFD (sp)!,{R0,PC} �.da MOV R0,#0:B deman �*.rmouse EQUB 3:EQUW 640:EQUW 400:ALIGN �8.en MVN R0,#45:STR R0,enerct:MOV R0,#15:STRB R0,[R1] ��MOV R0,#2:ADR R1,boingvoice:SWI "Sound_AttachNamedVoice":LDR R0,doorCA:LDR R1,doorPD:�R R1,R1,#&1000:SWI "Sound_ControlPacked":B finrtn �6.sw MOV R0,#1:STR R0,sword:MOV R0,#15:STRB R0,[R1] �rMOV R0,#2:ADR R1,clangvoice:SWI "Sound_AttachNamedVoice":LDR R0,doorCA:LDR R1,doorPD:SWI "Sound_ControlPacked" ЍSWI OS_WriteI+26:MOV R0,#34:ADD R0,R0,#512:LDR R1,tspadd:ADR R2,ttab:LDR R2,[R2,#148]:MOV R3,#1216:MOV R4,#32:MOV R5,#0:SWI "OS_SpriteOp" ڋSTMFD (sp)!,{R0-R2}:MOV R0,#112:LDR R1,bank:SWI "OS_Byte":LDMFD (sp)!,{R0-R2}:SWI "OS_SpriteOp":ADR R0,rewin:MOV R1,#14:SWI "OS_WriteN" �Z.finrtn TEQ R6,#16:MOVNE PC,link:STMFD (sp)!,{R6,link}:BL DrawLaby:LDMFD (sp)!,{R6,PC} �.dead MOV R0,#2:ADR R1,hurtvoice:SWI "Sound_AttachNamedVoice":LDR R0,doorCA:LDR R1,doorPD:SWI "Sound_ControlPacked":MOV R0,#4:B deman �V.rewin EQUB 24:EQUW 444:EQUW 268:EQUW 760:EQUW 564:EQUB 29:EQUW 384:EQUW 268:ALIGN .bank EQUD 2 .level EQUD 0 .levtab EQUD 0:EQUD 0 2.doorvoice EQUS "IronEffect-Door":EQUB 0:ALIGN */.clangvoice EQUS "IronEffect-Clang1":EQUB 0 48.boingvoice EQUS "IronEffect-ArrowMiss":EQUB 0:ALIGN >2.hurtvoice EQUS "IronEffect-Hurt":EQUB 0:ALIGN H] R2ttab=P%:� I%=0 � 38:!P%=TSP%+16+I%*172:P%+=4:� \[OPT o% f\Draw labyrinth p .DrawLaby z�MOV R3,R11:ADD R4,R12,#256:MOV R0,#112:LDR R1,bank:SWI "OS_Byte":MOV R0,#34:ADD R0,R0,#512:LDR R1,tspadd:MOV R5,#0:MOV R6,#6:MOV R7,R10:ADR R8,ttab �.dll1 MOV R9,#6 ��.dll2 LDRB R2,[R7],#1:LDR R2,[R8,R2,LSL#2]:SWI "OS_SpriteOp":ADD R3,R3,#64:SUBS R9,R9,#1:BNE dll2:SUB R3,R3,#384:SUB R4,R4,#64:ADD R7,R7,#16:SUBS R6,R6,#1:BNE dll1 ��LDR R1,tspadd:LDR R2,mspadd:MOV R3,#60:MOV R4,#0:MOV R5,#8:SWI "OS_SpriteOp":LDR R2,mntb:LDR R6,mna:TEQ R6,#255:BEQ noman:LDR R2,[R2,R6]:MOV R3,#184:MOV R4,#124:SWI "OS_SpriteOp" �`.noman MOV R0,#19:SWI "OS_Byte":MOV R0,#113:LDR R1,bank:� R3,R1,#3:SWI "OS_Byte":STR R3,bank �MOV PC,link �\ �7.tstkey SWI "OS_ReadEscapeState":LDMCSFD (sp)!,{PC} �JMOV R6,#0:MOV R0,#121:MOV R1,#pause%:SWI "OS_Byte":TEQ R1,#0:BNE pause ��MOV R1,#left%:SWI "OS_Byte":TEQ R1,#0:�RNE R6,R6,#1:MOV R1,#right%:SWI "OS_Byte":TEQ R1,#0:�RNE R6,R6,#2:MOV R1,#down%:SWI "OS_Byte":TEQ R1,#0:�RNE R6,R6,#4:MOV R1,#up%:SWI "OS_Byte":TEQ R1,#0:�RNE R6,R6,#8 ގLDR R1,lastcomb:STR R6,lastcomb:�S R1,R1,R6:LDREQ R6,lastkey:BEQ gtkey:�S R2,R1,R6:MOVNE R6,R2:BNE gtkey:LDR R2,lastkey:TST R1,R2:�Q R6,R2 �[.gtkey �S R1,R6,#1:�EQS R1,R6,#2:�EQS R1,R6,#4:�EQS R1,R6,#8:MOVNE R6,R1:STR R6,lastkey �PMOV R1,#fire%:SWI "OS_Byte":TEQ R1,#0:�RNE R6,R6,#16:TEQ R6,#0:MOVNE PC,link ��SWI "OS_Mouse":TST R2,#4:BEQ mrtn:SUBS R3,R0,#640:RSBMI R3,R3,#0:SUBS R4,R1,#400:RSBMI R4,R4,#0:CMP R3,#1:MOVLS R3,#0:CMP R4,#1:MOVLS R4,#0:CMP R3,R4:BEQ nomov:BHI xgt:CMP R1,#400:�RLT R6,R6,#4:�RGT R6,R6,#8:B mrtn 7.xgt CMP R0,#640:�RLT R6,R6,#1:�RGT R6,R6,#2:B mrtn .nomov LDR R6,lastmkey e.mrtn STR R6,lastmkey:TST R2,#3:�RNE R6,R6,#16:MOV R0,#21:ADR R1,rmouse:SWI "OS_Word":MOV PC,link $9.pause MOV R0,#13:MOV R1,#4:SWI "OS_Byte":MOV R0,#121 .A.relpause MOV R1,#pause%:SWI "OS_Byte":TEQ R1,#0:BNE relpause 8?.unpause MOV R1,#pause%:SWI "OS_Byte":TEQ R1,#0:BEQ unpause BA.finpause MOV R1,#pause%:SWI "OS_Byte":TEQ R1,#0:BNE finpause L2MOV R0,#14:MOV R1,#4:SWI "OS_Byte":MOV PC,link V\ `.lastkey EQUD 0 j.lastmkey EQUD 0 t.lastcomb EQUD 0 ~.gspadd EQUD GSP% �.sadd EQUD S% �.tadd EQUD T% �:\***************************************************** �\ �] �#eyes=P%:!P%=544:P%!4=664:P%+=12 �drop=P%:!P%=0:P%+=12 �&bombs=P%:� I%=0 � 8:!P%=0:P%+=12:� �'aliens=P%:� I%=0 � 8:!P%=0:P%+=12:� �!mant=P%:!P%=0:P%!4=180:P%+=12 �!manb=P%:!P%=0:P%!4=100:P%+=12 �shot=P%:!P%=0:P%+=12 [OPT o% \ .random EQUD 38771 .rconst EQUD &1D872B41 (.fiflag EQUD 0 2.eyedel EQUD 0 <.dropdel EQUD 0 F.aflag EQUD 0:EQUD 0:EQUD 0 P\ Z.zap STMFD (sp)!,{link} d?MOV R0,#19:SWI "OS_Byte":MOV R0,#14:MOV R1,#4:SWI "OS_Byte" n�.zaplp MOV R0,#19:SWI "OS_Byte":LDR R1,bank:CMP R1,#0:BMI zaplp:MOV R0,#113:SWI "OS_Byte":STR R1,bank:MOV R3,R1:MOV R0,#112:SWI "OS_Byte" x1ADR R0,sadd-4:LDR R2,[R0,R3,LSL#2]:BL zapcopy � \plot �`MOV R12,#23:ADR R11,eyes-12:ADR R10,sprtab:MOV R0,#34:ADD R0,R0,#512:LDR R1,gspadd:MOV R5,#8 ��.plotlp LDR R3,[R11,#12]!:TEQ R3,#0:BEQ plnext:LDR R4,[R11,#4]:LDR R2,[R11,#8]:� R2,R2,#1020:LDR R2,[R10,R2]:SWI "OS_SpriteOp" �&.plnext SUBS R12,R12,#1:BNE plotlp �\blink eyes ��ADR R12,eyes:LDR R0,eyedel:SUBS R0,R0,#1:BPL noblink:LDR R1,[R12,#8]:ADD R1,R1,#2:TEQ R1,#204:BNE nfbl:MOV R1,#188:LDR R0,random:� R0,R0,#255 �.nfbl STR R1,[R12,#8] �.noblink STR R0,eyedel �\move drop �UADD R12,R12,#12:LDR R0,dropdel:SUBS R0,R0,#1:STR R0,dropdel:BEQ stdrop:BPL nodrop �LDR R1,[R12,#8]:ADD R1,R1,#2:TEQ R1,#184:BEQ dropfin:CMP R1,#108:BLT enddrop:LDR R2,[R12,#4]:CMP R2,#120:BLE drgnd:SUB R2,R2,#12:STR R2,[R12,#4]:TEQ R1,#144:�Q R1,#108:B chkdrp �d.stdrop MOV R1,#588:STR R1,[R12]:MOV R1,#512:STR R1,[R12,#4]:MOV R1,#88:STR R1,[R12,#8]:B nodrop �V.dropfin MOV R2,#0:STR R2,[R12]:LDR R0,random:� R0,R0,#255:STR R0,dropdel:B nodrop i.drgnd CMP R1,#144:BGT chkdrp:LDR R0,drsplatCA:LDR R1,drsplatPD:SWI "Sound_ControlPacked":MOV R1,#144 �.chkdrp ADR R11,mant:MOV R10,#2:MOV R9,#16:MOV R8,#64:MOV R7,#88:BL checkcoll:BEQ dmhit:ADD R11,R11,#12:MOV R10,#2:MOV R9,#16:MOV R8,#80:MOV R7,#88:BL checkcoll:BNE enddrop ..dmhit CMP R1,#144:MOVLT R1,#144:BL reduce ".enddrop STR R1,[R12,#8] ,.nodrop 6\move bombs @ MOV R6,#9 J�.bomblp LDR R0,[R12,#12]!:TEQ R0,#0:BEQ nobomb:LDR R1,[R12,#8]:ADD R1,R1,#2:CMP R1,#236:BGT chkbomb:�Q R1,#220:LDR R0,[R12,#4]:SUB R0,R0,#12:STR R0,[R12,#4]:CMP R0,#120:BGT chkbomb:LDR R0,bsmshCA:LDR R1,shotPD:SWI "Sound_ControlPacked":MOV R1,#236 T�.chkbomb ADR R11,mant:MOV R10,#2:MOV R9,#11:MOV R8,#64:MOV R7,#88:BL checkcoll:BEQ bmhit:ADD R11,R11,#12:MOV R10,#2:MOV R9,#11:MOV R8,#80:MOV R7,#88:BL checkcoll:BNE finbomb ^..bmhit CMP R1,#236:MOVLT R1,#236:BL reduce h@.finbomb STR R1,[R12,#8]:CMP R1,#252:�Q R0,#0:STREQ R0,[R12] r$.nobomb SUBS R6,R6,#1:BNE bomblp |\move shot ��ADR R12,shot:LDR R0,[R12]:TEQ R0,#0:BEQ noshot:LDR R0,[R12,#8]:CMP R0,#72:BGE bnging:LDR R0,[R12,#4]:ADD R0,R0,#16:STR R0,[R12,#4]:CMP R0,#800:BGE stopshot �)ADR R11,aliens:ADR R6,aflag:MOV R5,#9 �M.saclp LDRB R0,[R6,R5]:CMP R0,#2:BGE nacc:LDR R0,[R11]:TEQ R0,#0:BEQ nacc �EMOV R10,#14:MOV R9,#5:MOV R8,#64:MOV R7,#76:BL checkcoll:BNE nacc �YLDR R0,hitCA:LDR R1,hitPD:LDRB R2,[R6,R5]:� R1,R1,R2,LSL#11:SWI "Sound_ControlPacked" �rADD R2,R2,#1:STRB R2,[R6,R5]:LDR R0,[R11]:SUB R0,R0,#8:STR R0,[R12]:LDR R0,[R11,#4]:STR R0,[R12,#4]:MOV R0,#68 �>.bnging ADD R0,R0,#4:STR R0,[R12,#8]:CMP R0,#88:BNE noshot �-.stopshot MOV R0,#0:STR R0,[R12]:B noshot �1.nacc ADD R11,R11,#12:SUBS R5,R5,#1:BNE saclp �\move aliens �h.noshot ADR R11,aveltab:ADR R12,aliens:MOV R10,#9:LDR R9,random:LDR R8,rconst:MOV R7,#0:ADR R6,aflag �c.aloop LDR R0,[R12]:TEQ R0,#0:BEQ nextal:MOV R7,#1:LDRB R1,[R6,R10]:CMP R1,#2:BEQ fall:BGT crsh ��LDR R1,[R12,#8]:ADD R1,R1,#2:CMP R1,#220:�Q R1,#204:STR R1,[R12,#8]:MOVS R9,R9,LSL#1:�CS R9,R9,R8:STR R9,random:LDR R1,[R11]:ADD R0,R0,R1,ASR#7:STR R0,[R12]:CMP R1,#0:BPL sklb:CMP R0,#60:ADDLT R1,R1,#64:B skrb &.sklb CMP R0,#1136:SUBGT R1,R1,#64 s.skrb RSBS R2,R0,#600:MOVPL R3,R2:MVNMI R3,R2:CMP R3,#320:ADDGT R1,R1,R2,ASR#3:ADD R1,R1,R9,ASR#27:STR R1,[R11] �LDR R0,[R12,#4]:LDR R1,[R11,#4]:ADD R0,R0,R1,ASR#6:STR R0,[R12,#4]:RSB R2,R0,#560:ADD R1,R1,R2:ADD R1,R1,R9,ASR#28:STR R1,[R11,#4] &�LDR R0,[R12,#-&6C]:TEQ R0,#0:BNE nextal:� R0,R9,#255:CMP R0,#250:BLT nextal:LDR R0,[R12]:ADD R0,R0,#20:STR R0,[R12,#-&6C]:LDR R0,[R12,#4]:STR R0,[R12,#-&68]:MOV R0,#220:STR R0,[R12,#-&64]:B nextal 0�.fall LDR R2,[R12,#4]:SUB R2,R2,#24:STR R2,[R12,#4]:CMP R2,#120:BGT nextal:MOV R0,#156:STR R0,[R12,#8]:STRB R0,[R6,R10]:LDR R0,splatCA:LDR R1,splatPD:SWI "Sound_ControlPacked" :Z.crsh LDR R0,[R12,#8]:ADD R0,R0,#2:STR R0,[R12,#8]:CMP R0,#184:�Q R0,#0:STREQ R0,[R12] DD.nextal ADD R11,R11,#8:ADD R12,R12,#12:SUBS R10,R10,#1:BNE aloop N)TEQ R7,#0:�Q R0,#0:LDMEQFD (sp)!,{PC} X \move man b�LDR R0,fiflag:TEQ R0,#0:BNE zfiring:BL tstkey:TST R6,#16:BLNE zfire:TST R6,#1:BNE zml:TST R6,#2:BNE zmr:MOV R0,#8:STR R0,[R12,#8]:B zaplp l�.zmr LDR R1,[R12]:CMP R1,#960:BGE zaplp:ADD R1,R1,#8:STR R1,[R12]:STR R1,[R12,#12]:LDR R1,[R12,#20]:ADD R1,R1,#4:CMP R1,#56:�Q R1,#28:STR R1,[R12,#20] vT.znoar LDR R1,[R12,#8]:TEQ R1,#16:BEQ zaplp:ADD R1,R1,#4:STR R1,[R12,#8]:B zaplp ��.zml LDR R1,[R12]:CMP R1,#180:BLE zaplp:SUB R1,R1,#8:STR R1,[R12]:STR R1,[R12,#12]:LDR R1,[R12,#20]:SUB R1,R1,#4:CMP R1,#24:�Q R1,#52:STR R1,[R12,#20] �S.znoal LDR R1,[R12,#8]:TEQ R1,#0:BEQ zaplp:SUB R1,R1,#4:STR R1,[R12,#8]:B zaplp ��.zfire LDR R0,[R12,#24]:TEQ R0,#0:MOVNE PC,link:MOV R0,#1:STR R0,fiflag:MOV R0,#20:STR R0,[R12,#8]:LDR R0,shotCA:LDR R1,shotPD:SWI "Sound_ControlPacked":B zaplp �}.zfiring ADD R0,R0,#1:STR R0,fiflag:CMP R0,#5:BEQ zshoot:BHI zshot:TEQ R0,#3:BNE zaplp:MOV R0,#24:STR R0,[R12,#8]:B zaplp �x.zshoot LDR R1,[R12]:ADD R1,R1,#44:STR R1,[R12,#24]:MOV R1,#272:STR R1,[R12,#28]:MOV R1,#56:STR R1,[R12,#32]:B zaplp �N.zshot LDR R0,[R12,#32]:ADD R0,R0,#4:STR R0,[R12,#32]:TEQ R0,#68:BNE zaplp �=MOV R0,#0:STR R0,fiflag:MOV R0,#8:STR R0,[R12,#8]:B zaplp �] �aveltab=P%:P%+=72 �;sprtab=P%:Q%=GSP%+16:� I%=0 � 63:!P%=Q%:Q%+=!Q%:P%+=4:� �[OPT o% �.shotCA EQUD &17F0001 �.shotPD EQUD &142000 .hitCA EQUD &17F0002 .hitPD EQUD &12F00 .splatCA EQUD &17F0004 .splatPD EQUD &12550 *.bsmshCA EQUD &17F0005 4.drsplatCA EQUD &17F0006 >.drsplatPD EQUD &11F00 H\ R\Collison detector \7\R12 - Object doing hitting, R11 - Object being hit f9\R10 - Height of hitter(1s), R9 - Width of hitter(1s) p9\R8 - Height of hittee(4s), R7 - Width of hittee(4s) z!\Returns EQ if hit, NE if not �\ �'.checkcoll STMFD (sp)!,{R0-R6,link} �9MOV R0,#43:ADD R0,R0,#512:LDR R1,gspadd:ADR R3,sprtab �RSUB R4,R10,#1:LDR R6,[R11,#4]:LDR R5,[R12,#4]:SUB R6,R5,R6:ADD R6,R6,R10,LSL#2 �gLDR R10,[R11,#8]:� R10,R10,#1020:LDR R10,[R3,R10]:LDR R14,[R12,#8]:� R14,R14,#1020:LDR R14,[R3,R14] �9.colcy SUBS R6,R6,#4:BMI fincoll:CMP R6,R8:BGE colcny �JSUB R3,R9,#1:LDR R5,[R11]:LDR R2,[R12]:SUB R5,R2,R5:ADD R5,R5,R9,LSL#2 �8.colcx SUBS R5,R5,#4:BMI colcny:CMP R5,R7:BGE colcnx ��STMFD (sp)!,{R5}:MOV R2,R14:SWI "OS_SpriteOp":TEQ R5,#1:LDMFD (sp)!,{R5}:BNE colcnx:STMFD (sp)!,{R3-R5}:MOV R2,R10:MOV R3,R5,LSR#2:MOV R4,R6,LSR#2:SWI "OS_SpriteOp":TEQ R5,#1:LDMFD (sp)!,{R3-R5}:BEQ fincoll �#.colcnx SUBS R3,R3,#1:BPL colcx �#.colcny SUBS R4,R4,#1:BPL colcy �#.fincoll LDMFD (sp)!,{R0-R6,PC} �\ =.flipevent CMP R0,#4:MOVNES PC,link:STMFD (sp)!,{R0,link} :LDR R0,bank:MVN R0,R0:STR R0,bank:LDMFD (sp)!,{R0,PC}^ \ $.unpack STMFD (sp)!,{link} .ZLDR R1,length:LDR R10,scradd:LDR R11,picdat:ADD R12,R11,#256:ADD R0,R11,#512:MOV R4,#0 87.upl LDRB R2,[R0],#1:BL print:SUBS R1,R1,#1:BNE upl BLDMFD (sp)!,{PC} L\ V .print `STMFD (sp)!,{link} j*LDRB R3,[R11,R2]:TEQ R3,R2:BEQ storeit tSTMFD (sp)!,{R2} ~MOV R2,R3:BL print �LDMFD (sp)!,{R2} �LDRB R2,[R12,R2]:BL print �LDMFD (sp)!,{PC} �.storeit ��S R4,R4,#1 �MOVNE R5,R2 ��REQ R5,R5,R2,LSL#4 �STREQB R5,[R10],#1 �LDMFD (sp)!,{PC} �\ �.picdat EQUD PP% �.length EQUD &352B .scradd EQUD S% ] 8� P%>(code%+space%) � 15:�"Not enough code space.":� � (� 2: <� �error:� � � F9� VC%=1 �"FX 13,4":ș"OS_Release",&10,enevent,0:VC%=0 P;� VC%=2 �"FX 13,4":ș"OS_Release",&10,flipevent,0:VC%=0 Z� 15:�:֓+&214 d *FX 20 nQ� �=17 �"Goodbye." � �"Iron Lord has stopped because of a fatal error :-"''�$ x� �
00000000 0d 00 0a 20 f4 20 3e 3a 49 72 6f 6e 4c 6f 72 64 |... . >:IronLord| 00000010 2e 21 49 72 6f 6e 4c 6f 72 64 2e 49 72 6f 6e 36 |.!IronLord.Iron6| 00000020 0d 00 14 18 f4 20 28 43 29 20 31 39 39 30 20 55 |..... (C) 1990 U| 00000030 42 49 20 73 6f 66 74 2e 0d 00 1e 3c f4 20 41 72 |BI soft....<. Ar| 00000040 63 68 69 6d 65 64 65 73 20 76 65 72 73 69 6f 6e |chimedes version| 00000050 20 62 79 20 43 79 67 6e 75 73 20 53 6f 66 74 77 | by Cygnus Softw| 00000060 61 72 65 20 45 6e 67 69 6e 65 65 72 69 6e 67 20 |are Engineering | 00000070 4c 74 64 2e 0d 00 28 05 3a 0d 00 32 09 56 43 25 |Ltd...(.:..2.VC%| 00000080 3d 30 0d 00 3c 10 ee 20 85 20 f2 65 72 72 6f 72 |=0..<.. . .error| 00000090 3a e0 0d 00 46 05 3a 0d 00 50 65 73 70 61 63 65 |:...F.:..Pespace| 000000a0 25 3d 26 31 35 33 43 3a de 20 63 6f 64 65 25 20 |%=&153C:. code% | 000000b0 73 70 61 63 65 25 2c 54 53 50 25 20 26 35 43 46 |space%,TSP% &5CF| 000000c0 43 2c 47 53 50 25 20 26 35 34 39 34 2c 54 41 42 |C,GSP% &5494,TAB| 000000d0 25 20 26 32 31 30 30 2c 50 50 25 20 26 33 37 32 |% &2100,PP% &372| 000000e0 42 2c 42 53 43 25 20 26 37 44 30 30 2c 54 41 25 |B,BSC% &7D00,TA%| 000000f0 28 34 29 2c 50 4c 25 28 35 2c 35 29 0d 00 5a 05 |(4),PL%(5,5)..Z.| 00000100 3a 0d 00 64 2b ff 22 4c 6f 61 64 20 3c 49 72 6f |:..d+."Load <Iro| 00000110 6e 4c 6f 72 64 24 44 69 72 3e 2e 4c 61 62 79 53 |nLord$Dir>.LabyS| 00000120 6b 75 6c 6c 20 22 2b c3 7e 50 50 25 0d 00 6e 2f |kull "+.~PP%..n/| 00000130 ff 22 49 72 6f 6e 4c 6f 61 64 20 3c 49 72 6f 6e |."IronLoad <Iron| 00000140 4c 6f 72 64 24 44 69 72 3e 2e 4c 61 62 79 43 61 |Lord$Dir>.LabyCa| 00000150 76 65 20 22 2b c3 7e 42 53 43 25 0d 00 78 31 ff |ve "+.~BSC%..x1.| 00000160 22 49 72 6f 6e 4c 6f 61 64 20 3c 49 72 6f 6e 4c |"IronLoad <IronL| 00000170 6f 72 64 24 44 69 72 3e 2e 4c 61 62 79 54 61 62 |ord$Dir>.LabyTab| 00000180 6c 65 73 20 22 2b c3 7e 54 41 42 25 0d 00 82 3f |les "+.~TAB%...?| 00000190 21 54 53 50 25 3d 26 35 43 46 43 3a ff 22 49 72 |!TSP%=&5CFC:."Ir| 000001a0 6f 6e 4c 6f 61 64 20 3c 49 72 6f 6e 4c 6f 72 64 |onLoad <IronLord| 000001b0 24 44 69 72 3e 2e 4c 61 62 79 53 70 72 31 20 22 |$Dir>.LabySpr1 "| 000001c0 2b c3 7e 28 54 53 50 25 2b 34 29 0d 00 8c 3f 21 |+.~(TSP%+4)...?!| 000001d0 47 53 50 25 3d 26 35 34 38 34 3a ff 22 49 72 6f |GSP%=&5484:."Iro| 000001e0 6e 4c 6f 61 64 20 3c 49 72 6f 6e 4c 6f 72 64 24 |nLoad <IronLord$| 000001f0 44 69 72 3e 2e 4c 61 62 79 53 70 72 32 20 22 2b |Dir>.LabySpr2 "+| 00000200 c3 7e 28 47 53 50 25 2b 34 29 0d 00 96 3f 6c 65 |.~(GSP%+4)...?le| 00000210 66 74 25 3d 32 32 35 3a 72 69 67 68 74 25 3d 31 |ft%=225:right%=1| 00000220 39 34 3a 64 6f 77 6e 25 3d 32 33 32 3a 75 70 25 |94:down%=232:up%| 00000230 3d 32 30 37 3a 66 69 72 65 25 3d 32 30 31 3a 70 |=207:fire%=201:p| 00000240 61 75 73 65 25 3d 32 32 34 0d 00 a0 41 54 41 25 |ause%=224...ATA%| 00000250 28 30 29 3d 26 33 34 36 3a 54 41 25 28 31 29 3d |(0)=&346:TA%(1)=| 00000260 26 41 32 38 3a 54 41 25 28 32 29 3d 26 44 31 44 |&A28:TA%(2)=&D1D| 00000270 3a 54 41 25 28 33 29 3d 26 31 34 38 32 3a 54 41 |:TA%(3)=&1482:TA| 00000280 25 28 34 29 3d 26 31 37 42 46 0d 00 aa 2a e3 20 |%(4)=&17BF...*. | 00000290 49 25 3d 30 20 b8 20 35 3a e3 20 4a 25 3d 30 20 |I%=0 . 5:. J%=0 | 000002a0 b8 20 35 3a f3 20 50 4c 25 28 49 25 2c 4a 25 29 |. 5:. PL%(I%,J%)| 000002b0 3a ed 3a ed 0d 00 b4 59 f2 61 73 6d 3a c8 99 22 |:.:....Y.asm:.."| 000002c0 53 6f 75 6e 64 5f 51 49 6e 69 74 22 3a e3 49 25 |Sound_QInit":.I%| 000002d0 3d 31 b8 38 3a c8 99 22 53 6f 75 6e 64 5f 41 74 |=1.8:.."Sound_At| 000002e0 74 61 63 68 56 6f 69 63 65 22 2c 49 25 2c 30 3a |tachVoice",I%,0:| 000002f0 ed 3a c8 99 22 53 6f 75 6e 64 5f 43 6f 6e 66 69 |.:.."Sound_Confi| 00000300 67 75 72 65 22 2c 31 2c 30 2c 31 30 30 0d 00 be |gure",1,0,100...| 00000310 3a 21 65 6e 65 72 67 79 3d 37 32 30 3a 21 65 6e |:!energy=720:!en| 00000320 65 72 70 74 3d 26 36 33 41 3a 21 74 61 62 61 64 |erpt=&63A:!tabad| 00000330 64 3d 54 41 42 25 2b 32 34 3a 4d 4c 25 3d 30 3a |d=TAB%+24:ML%=0:| 00000340 44 45 41 44 25 3d a3 0d 00 c8 05 3a 0d 00 d2 1e |DEAD%=.....:....| 00000350 f5 3a f2 6c 61 62 79 3a fd 20 21 6c 65 76 65 6c |.:.laby:. !level| 00000360 3d 36 20 84 20 44 45 41 44 25 0d 00 dc 36 f2 72 |=6 . DEAD%...6.r| 00000370 65 63 74 28 32 34 30 2c 32 36 30 2c 38 30 30 2c |ect(240,260,800,| 00000380 33 35 32 29 3a 57 57 25 3d 32 34 3a 57 58 43 25 |352):WW%=24:WXC%| 00000390 3d 36 34 30 3a 57 59 43 25 3d 34 33 32 3a e6 31 |=640:WYC%=432:.1| 000003a0 0d 00 e6 0d e7 20 44 45 41 44 25 20 8c 0d 00 f0 |..... DEAD% ....| 000003b0 a0 20 f2 77 70 72 28 22 59 6f 75 20 73 6c 75 6d |. .wpr("You slum| 000003c0 70 20 74 6f 20 74 68 65 20 67 72 6f 75 6e 64 2c |p to the ground,| 000003d0 20 64 72 61 69 6e 65 64 20 6f 66 20 61 6c 6c 20 | drained of all | 000003e0 79 6f 75 72 20 65 6e 65 72 67 79 2e 20 41 73 20 |your energy. As | 000003f0 74 68 65 20 77 6f 72 6c 64 20 74 75 72 6e 73 20 |the world turns | 00000400 69 6e 74 6f 20 61 20 67 72 65 79 20 66 6f 67 2c |into a grey fog,| 00000410 20 79 6f 75 20 63 75 72 73 65 20 79 6f 75 72 20 | you curse your | 00000420 65 76 69 6c 20 75 6e 63 6c 65 20 66 6f 72 20 6f |evil uncle for o| 00000430 6e 65 20 6c 61 73 74 20 74 69 6d 65 2e 20 59 6f |ne last time. Yo| 00000440 75 20 61 72 65 20 64 65 61 64 2e 22 29 0d 00 fa |u are dead.")...| 00000450 5d 20 d6 20 66 61 64 65 5f 69 6e 3a f2 6d 6f 75 |] . fade_in:.mou| 00000460 73 65 3a d6 20 66 61 64 65 5f 6f 75 74 3a ef 34 |se:. fade_out:.4| 00000470 3a fb 31 32 38 3a c8 99 22 4f 53 5f 42 79 74 65 |:.128:.."OS_Byte| 00000480 22 2c 31 31 32 2c 32 3a db 3a c8 99 22 4f 53 5f |",112,2:.:.."OS_| 00000490 42 79 74 65 22 2c 31 31 32 2c 31 3a db 3a ef 35 |Byte",112,1:.:.5| 000004a0 3a 2a 46 58 20 31 31 33 2c 31 0d 01 0e 22 20 ee |:*FX 113,1..." .| 000004b0 20 85 20 87 3a d7 22 3c 49 72 6f 6e 4c 6f 72 64 | . .:."<IronLord| 000004c0 24 44 69 72 3e 2e 49 72 6f 6e 37 22 0d 01 18 05 |$Dir>.Iron7"....| 000004d0 cc 0d 01 22 d4 20 f2 77 70 72 28 22 41 73 20 74 |...". .wpr("As t| 000004e0 68 65 20 6c 61 73 74 20 6f 66 20 68 69 73 20 64 |he last of his d| 000004f0 65 6d 6f 6e 20 63 6f 68 6f 72 74 73 20 69 73 20 |emon cohorts is | 00000500 64 65 73 74 72 6f 79 65 64 20 79 6f 75 72 20 75 |destroyed your u| 00000510 6e 63 6c 65 20 75 74 74 65 72 73 20 61 20 73 63 |ncle utters a sc| 00000520 72 65 61 6d 20 6f 66 20 64 65 73 70 61 69 72 2e |ream of despair.| 00000530 20 48 69 73 20 62 6f 64 79 20 66 61 6c 6c 73 20 | His body falls | 00000540 74 6f 20 74 68 65 20 67 72 6f 75 6e 64 2c 20 64 |to the ground, d| 00000550 65 76 6f 69 64 20 6f 66 20 6c 69 66 65 2c 20 62 |evoid of life, b| 00000560 75 74 20 66 72 6f 6d 20 73 6f 6d 65 77 68 65 72 |ut from somewher| 00000570 65 20 66 61 72 20 61 77 61 79 20 74 68 65 20 73 |e far away the s| 00000580 6f 75 6e 64 20 6f 66 20 68 69 73 20 73 63 72 65 |ound of his scre| 00000590 61 6d 69 6e 67 20 63 6f 6e 74 69 6e 75 65 73 20 |aming continues | 000005a0 2e 2e 2e 22 29 0d 01 2c 2a 20 d6 20 66 61 64 65 |...")..,* . fade| 000005b0 5f 69 6e 3a f2 6d 6f 75 73 65 3a d6 20 66 61 64 |_in:.mouse:. fad| 000005c0 65 5f 6f 75 74 3a 2a 46 58 20 31 31 33 2c 31 0d |e_out:*FX 113,1.| 000005d0 01 36 29 20 ff 22 49 72 6f 6e 4c 6f 61 64 20 3c |.6) ."IronLoad <| 000005e0 49 72 6f 6e 4c 6f 72 64 24 44 69 72 3e 2e 57 69 |IronLord$Dir>.Wi| 000005f0 6e 20 22 2b c3 7e 53 25 0d 01 40 13 20 2a 49 72 |n "+.~S%..@. *Ir| 00000600 6f 6e 46 61 64 65 49 6e 20 32 34 0d 01 4a 18 20 |onFadeIn 24..J. | 00000610 f2 6d 6f 75 73 65 3a 2a 49 72 6f 6e 46 61 64 65 |.mouse:*IronFade| 00000620 4f 75 74 0d 01 54 0b cd 3a 2a 46 58 32 31 0d 01 |Out..T..:*FX21..| 00000630 5e 3a eb 30 3a 87 3a d6 93 2b 26 32 31 34 3a f1 |^:.0:.:..+&214:.| 00000640 22 54 68 61 6e 6b 20 79 6f 75 20 66 6f 72 20 70 |"Thank you for p| 00000650 6c 61 79 69 6e 67 20 49 72 6f 6e 20 4c 6f 72 64 |laying Iron Lord| 00000660 2e 22 3a 2a 46 58 32 30 0d 01 68 05 e0 0d 01 72 |.":*FX20..h....r| 00000670 05 3a 0d 01 7c 0b dd 20 f2 6c 61 62 79 0d 01 86 |.:..|.. .laby...| 00000680 31 21 70 61 6c 3d 30 3a 70 61 6c 21 34 3d 30 3a |1!pal=0:pal!4=0:| 00000690 f7 20 8d 64 46 42 3a e3 20 42 25 3d 32 34 20 b8 |. .dFB:. B%=24 .| 000006a0 20 34 37 3a f3 20 70 61 6c 3f 42 25 3a ed 0d 01 | 47:. pal?B%:...| 000006b0 90 84 c8 99 22 4f 53 5f 42 79 74 65 22 2c 31 31 |...."OS_Byte",11| 000006c0 32 2c 31 3a c8 99 22 4f 53 5f 42 79 74 65 22 2c |2,1:.."OS_Byte",| 000006d0 31 31 33 2c 31 3a da 3a d6 20 75 6e 70 61 63 6b |113,1:.:. unpack| 000006e0 3a e6 20 31 31 3a c8 93 20 c8 90 20 31 32 32 34 |:. 11:.. .. 1224| 000006f0 2c 33 32 2c 32 38 2c 37 33 36 3a e6 20 31 35 3a |,32,28,736:. 15:| 00000700 c8 93 20 c8 90 20 31 32 33 32 2c 34 30 2c 31 32 |.. .. 1232,40,12| 00000710 2c 21 65 6e 65 72 67 79 3a 41 25 3d 32 30 30 3a |,!energy:A%=200:| 00000720 42 25 3d 53 25 3a 43 25 3d 54 25 3a d6 20 63 6f |B%=S%:C%=T%:. co| 00000730 70 79 0d 01 9a ae ef 32 36 3a e7 20 21 6b 65 79 |py.....26:. !key| 00000740 73 3c 3e 30 20 e3 20 49 25 3d 31 20 b8 20 21 6b |s<>0 . I%=1 . !k| 00000750 65 79 73 3a c8 99 22 4f 53 5f 53 70 72 69 74 65 |eys:.."OS_Sprite| 00000760 4f 70 22 2c 32 39 30 2c 54 53 50 25 2c 22 74 33 |Op",290,TSP%,"t3| 00000770 38 22 2c 49 25 2a 33 32 2d 33 32 2c 33 32 3a ed |8",I%*32-32,32:.| 00000780 3a c8 99 22 4f 53 5f 42 79 74 65 22 2c 31 31 32 |:.."OS_Byte",112| 00000790 2c 32 3a e3 20 49 25 3d 31 20 b8 20 21 6b 65 79 |,2:. I%=1 . !key| 000007a0 73 3a c8 99 22 4f 53 5f 53 70 72 69 74 65 4f 70 |s:.."OS_SpriteOp| 000007b0 22 2c 32 39 30 2c 54 53 50 25 2c 22 74 33 38 22 |",290,TSP%,"t38"| 000007c0 2c 49 25 2a 33 32 2d 33 32 2c 33 32 3a ed 3a c8 |,I%*32-32,32:.:.| 000007d0 99 22 4f 53 5f 42 79 74 65 22 2c 31 31 32 2c 31 |."OS_Byte",112,1| 000007e0 0d 01 a4 62 ef 32 34 2c 34 34 34 3b 32 36 38 3b |...b.24,444;268;| 000007f0 37 36 30 3b 35 36 34 3b 3a c8 91 20 33 38 34 2c |760;564;:.. 384,| 00000800 32 36 38 3a c8 99 22 4f 53 5f 43 6c 61 69 6d 22 |268:.."OS_Claim"| 00000810 2c 26 31 30 2c 65 6e 65 76 65 6e 74 2c 30 3a 56 |,&10,enevent,0:V| 00000820 43 25 3d 31 3a c8 a0 32 3a c8 a1 31 2c 22 49 72 |C%=1:..2:..1,"Ir| 00000830 6f 6e 45 66 66 65 63 74 2d 46 6f 6f 74 73 74 65 |onEffect-Footste| 00000840 70 22 0d 01 ae 94 f5 3a e3 20 43 25 3d 30 20 b8 |p".....:. C%=0 .| 00000850 20 35 3a 3f 28 70 61 6c 2b 43 25 2a 33 2b 36 29 | 5:?(pal+C%*3+6)| 00000860 3d 28 28 50 4c 25 28 21 6c 65 76 65 6c 2c 43 25 |=((PL%(!level,C%| 00000870 29 3e 3e 34 29 20 80 20 32 34 30 29 2b 31 36 3a |)>>4) . 240)+16:| 00000880 3f 28 70 61 6c 2b 43 25 2a 33 2b 37 29 3d 28 50 |?(pal+C%*3+7)=(P| 00000890 4c 25 28 21 6c 65 76 65 6c 2c 43 25 29 20 80 20 |L%(!level,C%) . | 000008a0 32 34 30 29 2b 31 36 3a 3f 28 70 61 6c 2b 43 25 |240)+16:?(pal+C%| 000008b0 2a 33 2b 38 29 3d 28 28 50 4c 25 28 21 6c 65 76 |*3+8)=((PL%(!lev| 000008c0 65 6c 2c 43 25 29 3c 3c 34 29 20 80 20 32 34 30 |el,C%)<<4) . 240| 000008d0 29 2b 31 36 3a ed 0d 01 b8 19 52 25 3d ba 28 4d |)+16:.....R%=.(M| 000008e0 6f 76 65 4c 61 62 79 29 3a 2a 46 58 20 32 31 0d |oveLaby):*FX 21.| 000008f0 01 c2 0c 2a 46 58 20 31 33 2c 34 0d 01 cc 2d e7 |...*FX 13,4...-.| 00000900 20 52 25 3d 30 20 21 6c 65 76 65 6c 2d 3d 31 3a | R%=0 !level-=1:| 00000910 21 74 61 62 61 64 64 3d 54 41 42 25 2b 54 41 25 |!tabadd=TAB%+TA%| 00000920 28 21 6c 65 76 65 6c 29 0d 01 d6 32 e7 20 52 25 |(!level)...2. R%| 00000930 20 80 20 31 20 21 6c 65 76 65 6c 2b 3d 31 3a 21 | . 1 !level+=1:!| 00000940 74 61 62 61 64 64 3d 54 41 42 25 2b 32 34 2b 26 |tabadd=TAB%+24+&| 00000950 35 38 30 2a 21 6c 65 76 65 6c 0d 01 e0 11 fd 20 |580*!level..... | 00000960 52 25 3d 32 20 84 20 52 25 3d 34 0d 01 ea 42 c8 |R%=2 . R%=4...B.| 00000970 91 20 30 2c 31 32 38 3a ef 20 32 34 2c 30 3b 30 |. 0,128:. 24,0;0| 00000980 3b 31 32 37 39 3b 37 39 39 3b 3a c8 99 22 4f 53 |;1279;799;:.."OS| 00000990 5f 52 65 6c 65 61 73 65 22 2c 26 31 30 2c 65 6e |_Release",&10,en| 000009a0 65 76 65 6e 74 2c 30 3a 56 43 25 3d 30 0d 01 f4 |event,0:VC%=0...| 000009b0 1b e7 20 52 25 3d 34 20 f7 20 8d 54 6a 43 3a 44 |.. R%=4 . .TjC:D| 000009c0 45 41 44 25 3d b9 3a e1 0d 01 fe 05 3a 0d 02 08 |EAD%=.:.....:...| 000009d0 8f c8 a0 38 3a c8 a1 31 2c 22 50 65 72 63 75 73 |...8:..1,"Percus| 000009e0 73 69 6f 6e 2d 4d 65 64 69 75 6d 22 3a c8 a1 32 |sion-Medium":..2| 000009f0 2c 22 49 72 6f 6e 45 66 66 65 63 74 2d 48 75 72 |,"IronEffect-Hur| 00000a00 74 22 3a c8 a1 33 2c 22 49 72 6f 6e 45 66 66 65 |t":..3,"IronEffe| 00000a10 63 74 2d 48 75 72 74 22 3a c8 a1 34 2c 22 49 72 |ct-Hurt":..4,"Ir| 00000a20 6f 6e 45 66 66 65 63 74 2d 53 70 6c 61 74 22 3a |onEffect-Splat":| 00000a30 c8 a1 35 2c 22 50 65 72 63 75 73 73 69 6f 6e 2d |..5,"Percussion-| 00000a40 53 6f 66 74 22 3a c8 a1 36 2c 22 49 72 6f 6e 45 |Soft":..6,"IronE| 00000a50 66 66 65 63 74 2d 53 70 6c 61 74 22 0d 02 12 40 |ffect-Splat"...@| 00000a60 ef 34 3a fb 31 32 38 3a c8 99 22 4f 53 5f 42 79 |.4:.128:.."OS_By| 00000a70 74 65 22 2c 31 31 32 2c 32 3a db 3a c8 99 22 4f |te",112,2:.:.."O| 00000a80 53 5f 42 79 74 65 22 2c 31 31 32 2c 31 3a db 3a |S_Byte",112,1:.:| 00000a90 ef 35 3a 2a 46 58 20 31 31 33 2c 31 0d 02 1c 3d |.5:*FX 113,1...=| 00000aa0 f7 20 8d 64 5a 42 3a e3 20 42 25 3d 30 20 b8 20 |. .dZB:. B%=0 . | 00000ab0 34 37 3a f3 20 70 61 6c 3f 42 25 3a ed 3a 41 25 |47:. pal?B%:.:A%| 00000ac0 3d 32 30 30 3a 42 25 3d 42 53 43 25 3a 43 25 3d |=200:B%=BSC%:C%=| 00000ad0 53 25 3a d6 20 63 6f 70 79 0d 02 26 5e e7 20 21 |S%:. copy..&^. !| 00000ae0 6c 65 76 65 6c 3c 3e 4d 4c 25 20 ff 22 49 72 6f |level<>ML% ."Iro| 00000af0 6e 4c 6f 61 64 20 3c 49 72 6f 6e 4c 6f 72 64 24 |nLoad <IronLord$| 00000b00 44 69 72 3e 2e 4c 61 62 79 53 70 72 32 5f 22 2b |Dir>.LabySpr2_"+| 00000b10 c3 28 21 6c 65 76 65 6c 29 2b 22 20 22 2b c3 7e |.(!level)+" "+.~| 00000b20 28 47 53 50 25 2b 26 33 43 31 38 29 3a 4d 4c 25 |(GSP%+&3C18):ML%| 00000b30 3d 21 6c 65 76 65 6c 0d 02 30 45 c8 99 22 4f 53 |=!level..0E.."OS| 00000b40 5f 53 70 72 69 74 65 4f 70 22 2c 32 39 30 2c 47 |_SpriteOp",290,G| 00000b50 53 50 25 2c 22 34 36 22 2c 34 38 30 2c 35 31 32 |SP%,"46",480,512| 00000b60 3a 41 25 3d 32 30 30 3a 42 25 3d 53 25 3a 43 25 |:A%=200:B%=S%:C%| 00000b70 3d 42 53 43 25 3a d6 20 63 6f 70 79 0d 02 3a 3a |=BSC%:. copy..::| 00000b80 e6 31 31 3a c8 93 20 c8 90 20 32 37 32 2c 31 36 |.11:.. .. 272,16| 00000b90 2c 37 33 36 2c 32 38 3a e6 32 3a c8 93 20 c8 90 |,736,28:.2:.. ..| 00000ba0 20 32 38 30 2c 32 34 2c 21 65 6e 65 72 67 79 2c | 280,24,!energy,| 00000bb0 31 32 3a e6 31 31 0d 02 44 a7 50 25 3d 61 6c 69 |12:.11..D.P%=ali| 00000bc0 65 6e 73 3a 51 25 3d 61 76 65 6c 74 61 62 3a e3 |ens:Q%=aveltab:.| 00000bd0 20 49 25 3d 30 20 b8 20 33 2b 21 6c 65 76 65 6c | I%=0 . 3+!level| 00000be0 3a 21 50 25 3d b3 28 38 30 30 29 2b 32 30 30 3a |:!P%=.(800)+200:| 00000bf0 50 25 21 34 3d b3 28 33 30 30 29 2b 34 30 30 3a |P%!4=.(300)+400:| 00000c00 50 25 21 38 3d 32 30 34 3a c8 99 22 4f 53 5f 53 |P%!8=204:.."OS_S| 00000c10 70 72 69 74 65 4f 70 22 2c 32 39 30 2c 47 53 50 |priteOp",290,GSP| 00000c20 25 2c 22 35 31 22 2c 21 50 25 2c 50 25 21 34 2c |%,"51",!P%,P%!4,| 00000c30 38 3a 56 25 3d b3 28 26 31 38 30 29 3a e7 20 21 |8:V%=.(&180):. !| 00000c40 50 25 3c 36 34 30 20 56 25 2b 3d 26 35 30 30 20 |P%<640 V%+=&500 | 00000c50 8b 20 56 25 3d 2d 26 35 30 30 2d 56 25 0d 02 4e |. V%=-&500-V%..N| 00000c60 2f 21 51 25 3d 56 25 3a 56 25 3d b3 28 26 32 30 |/!Q%=V%:V%=.(&20| 00000c70 29 3a e7 20 b3 28 32 29 3d 31 20 56 25 2b 3d 26 |):. .(2)=1 V%+=&| 00000c80 35 30 20 8b 20 56 25 2d 3d 26 35 30 0d 02 58 36 |50 . V%-=&50..X6| 00000c90 51 25 21 34 3d 56 25 3a 50 25 2b 3d 31 32 3a 51 |Q%!4=V%:P%+=12:Q| 00000ca0 25 2b 3d 38 3a ed 3a e3 20 49 25 3d 30 20 b8 20 |%+=8:.:. I%=0 . | 00000cb0 38 20 88 20 34 3a 61 66 6c 61 67 21 49 25 3d 30 |8 . 4:aflag!I%=0| 00000cc0 3a ed 0d 02 62 bf 21 6d 61 6e 74 3d 36 30 30 3a |:...b.!mant=600:| 00000cd0 6d 61 6e 74 21 38 3d 38 3a 21 6d 61 6e 62 3d 36 |mant!8=8:!manb=6| 00000ce0 30 30 3a 6d 61 6e 62 21 38 3d 32 38 3a 21 64 72 |00:manb!8=28:!dr| 00000cf0 6f 70 3d 30 3a 21 73 68 6f 74 3d 30 3a e3 20 49 |op=0:!shot=0:. I| 00000d00 25 3d 30 20 b8 20 39 36 20 88 20 31 32 3a 62 6f |%=0 . 96 . 12:bo| 00000d10 6d 62 73 21 49 25 3d 30 3a ed 3a 21 66 69 66 6c |mbs!I%=0:.:!fifl| 00000d20 61 67 3d 30 3a 65 79 65 73 21 38 3d 31 38 38 3a |ag=0:eyes!8=188:| 00000d30 21 65 79 65 64 65 6c 3d 31 32 35 3a 21 64 72 6f |!eyedel=125:!dro| 00000d40 70 64 65 6c 3d 32 30 30 3a e7 20 21 6c 65 76 65 |pdel=200:. !leve| 00000d50 6c 3d 31 20 84 20 21 6c 65 76 65 6c 3d 32 20 84 |l=1 . !level=2 .| 00000d60 20 21 6c 65 76 65 6c 3d 35 20 65 79 65 73 21 34 | !level=5 eyes!4| 00000d70 3d 36 39 36 20 8b 20 65 79 65 73 21 34 3d 36 36 |=696 . eyes!4=66| 00000d80 34 0d 02 6c a4 c8 99 22 4f 53 5f 53 70 72 69 74 |4..l..."OS_Sprit| 00000d90 65 4f 70 22 2c 32 39 30 2c 47 53 50 25 2c 22 32 |eOp",290,GSP%,"2| 00000da0 22 2c 36 30 30 2c 31 38 30 2c 38 3a c8 99 22 4f |",600,180,8:.."O| 00000db0 53 5f 53 70 72 69 74 65 4f 70 22 2c 32 39 30 2c |S_SpriteOp",290,| 00000dc0 47 53 50 25 2c 22 37 22 2c 36 30 30 2c 31 30 30 |GSP%,"7",600,100| 00000dd0 2c 38 3a 43 25 3d 54 25 3a d6 20 63 6f 70 79 3a |,8:C%=T%:. copy:| 00000de0 d6 20 66 61 64 65 5f 69 6e 3a c8 99 22 4f 53 5f |. fade_in:.."OS_| 00000df0 43 6c 61 69 6d 22 2c 26 31 30 2c 66 6c 69 70 65 |Claim",&10,flipe| 00000e00 76 65 6e 74 2c 30 3a 56 43 25 3d 32 3a 21 62 61 |vent,0:VC%=2:!ba| 00000e10 6e 6b 3d 32 3a 52 25 3d ba 28 7a 61 70 29 3a 2a |nk=2:R%=.(zap):*| 00000e20 46 58 20 32 31 0d 02 76 0c 2a 46 58 20 31 33 2c |FX 21..v.*FX 13,| 00000e30 34 0d 02 80 40 c8 99 22 4f 53 5f 52 65 6c 65 61 |4...@.."OS_Relea| 00000e40 73 65 22 2c 26 31 30 2c 66 6c 69 70 65 76 65 6e |se",&10,flipeven| 00000e50 74 2c 30 3a 56 43 25 3d 30 3a e7 20 21 62 61 6e |t,0:VC%=0:. !ban| 00000e60 6b 3c 30 20 21 62 61 6e 6b 3d ac 20 21 62 61 6e |k<0 !bank=. !ban| 00000e70 6b 0d 02 8a 7e d6 20 66 61 64 65 5f 6f 75 74 3a |k...~. fade_out:| 00000e80 3f 28 6c 65 76 74 61 62 2b 21 6c 65 76 65 6c 29 |?(levtab+!level)| 00000e90 3d 31 3a 21 6c 65 76 65 6c 2b 3d 31 3a 21 74 61 |=1:!level+=1:!ta| 00000ea0 62 61 64 64 3d 54 41 42 25 2b 32 34 2b 26 35 38 |badd=TAB%+24+&58| 00000eb0 30 2a 21 6c 65 76 65 6c 3a 21 73 77 6f 72 64 3d |0*!level:!sword=| 00000ec0 30 3a f7 20 8d 54 74 43 3a c8 99 22 4f 53 5f 42 |0:. .TtC:.."OS_B| 00000ed0 79 74 65 22 2c 31 31 32 2c 21 62 61 6e 6b 20 82 |yte",112,!bank .| 00000ee0 20 33 3a e7 20 52 25 20 44 45 41 44 25 3d b9 0d | 3:. R% DEAD%=..| 00000ef0 02 94 05 e1 0d 02 9e 05 3a 0d 02 a8 5f dc 20 26 |........:..._. &| 00000f00 30 34 36 2c 26 30 36 38 2c 26 30 38 41 2c 26 30 |046,&068,&08A,&0| 00000f10 41 43 2c 26 36 41 38 2c 26 30 32 34 2c 26 30 36 |AC,&6A8,&024,&06| 00000f20 34 2c 26 30 38 36 2c 26 30 41 38 2c 26 30 43 41 |4,&086,&0A8,&0CA| 00000f30 2c 26 36 41 38 2c 26 30 34 32 2c 26 37 31 33 2c |,&6A8,&042,&713,| 00000f40 26 38 33 35 2c 26 41 36 38 2c 26 42 39 41 2c 26 |&835,&A68,&B9A,&| 00000f50 42 39 41 2c 26 34 30 32 0d 02 b2 5f dc 20 26 37 |B9A,&402..._. &7| 00000f60 30 30 2c 26 39 32 32 2c 26 41 35 35 2c 26 43 38 |00,&922,&A55,&C8| 00000f70 38 2c 26 42 39 41 2c 26 34 30 30 2c 26 36 34 30 |8,&B9A,&400,&640| 00000f80 2c 26 39 36 32 2c 26 42 39 34 2c 26 45 43 38 2c |,&962,&B94,&EC8,| 00000f90 26 42 39 41 2c 26 35 32 31 2c 26 35 35 35 2c 26 |&B9A,&521,&555,&| 00000fa0 37 37 37 2c 26 38 38 38 2c 26 41 41 41 2c 26 42 |777,&888,&AAA,&B| 00000fb0 39 41 2c 26 33 33 33 0d 02 bc 05 3a 0d 02 c6 5b |9A,&333....:...[| 00000fc0 dc 20 31 31 32 2c 38 30 2c 30 2c 31 34 34 2c 31 |. 112,80,0,144,1| 00000fd0 31 32 2c 34 38 2c 31 37 36 2c 31 34 34 2c 38 30 |12,48,176,144,80| 00000fe0 2c 32 30 38 2c 31 37 36 2c 31 31 32 2c 32 34 30 |,208,176,112,240| 00000ff0 2c 32 30 38 2c 31 34 34 2c 31 37 36 2c 31 37 36 |,208,144,176,176| 00001000 2c 31 37 36 2c 31 31 32 2c 31 31 32 2c 31 31 32 |,176,112,112,112| 00001010 2c 38 30 2c 30 2c 30 0d 02 d0 05 3a 0d 02 da a3 |,80,0,0....:....| 00001020 dc 20 30 2c 30 2c 30 2c 34 38 2c 30 2c 30 2c 38 |. 0,0,0,48,0,0,8| 00001030 30 2c 30 2c 30 2c 31 31 32 2c 34 38 2c 30 2c 31 |0,0,0,112,48,0,1| 00001040 34 34 2c 38 30 2c 34 38 2c 31 37 36 2c 31 31 32 |44,80,48,176,112| 00001050 2c 38 30 2c 31 31 32 2c 38 30 2c 30 2c 31 34 34 |,80,112,80,0,144| 00001060 2c 31 31 32 2c 30 2c 31 37 36 2c 31 34 34 2c 30 |,112,0,176,144,0| 00001070 2c 32 30 38 2c 31 37 36 2c 30 2c 32 30 38 2c 31 |,208,176,0,208,1| 00001080 34 34 2c 31 31 32 2c 32 30 38 2c 31 37 36 2c 31 |44,112,208,176,1| 00001090 34 34 2c 38 30 2c 38 30 2c 38 30 2c 31 31 32 2c |44,80,80,80,112,| 000010a0 31 31 32 2c 31 31 32 2c 31 34 34 2c 31 34 34 2c |112,112,144,144,| 000010b0 31 34 34 2c 32 34 30 2c 32 34 30 2c 32 34 30 0d |144,240,240,240.| 000010c0 02 e4 05 3a 0d 02 ee 15 dd 20 f2 6d 6f 75 73 65 |...:..... .mouse| 000010d0 3a 2a 46 58 20 32 31 2c 39 0d 02 f8 34 f5 3a c8 |:*FX 21,9...4.:.| 000010e0 97 20 4d 58 25 2c 4d 59 25 2c 42 25 3a fd 20 42 |. MX%,MY%,B%:. B| 000010f0 25 3d 30 3a f5 3a c8 97 20 4d 58 25 2c 4d 59 25 |%=0:.:.. MX%,MY%| 00001100 2c 42 25 3a fd 20 42 25 3c 3e 30 3a e1 0d 03 02 |,B%:. B%<>0:....| 00001110 05 3a 0d 03 0c 18 dd 20 f2 72 65 63 74 28 58 25 |.:..... .rect(X%| 00001120 2c 59 25 2c 57 25 2c 44 25 29 0d 03 16 65 f3 20 |,Y%,W%,D%)...e. | 00001130 4e 25 3a e3 20 4c 25 3d 31 20 b8 20 4e 25 3a f3 |N%:. L%=1 . N%:.| 00001140 20 43 25 3a e6 20 43 25 3a c8 93 20 58 25 2c 59 | C%:. C%:.. X%,Y| 00001150 25 2c 57 25 2c 44 25 3a 58 25 2b 3d 34 3a 59 25 |%,W%,D%:X%+=4:Y%| 00001160 2b 3d 34 3a 57 25 2d 3d 38 3a 44 25 2d 3d 38 3a |+=4:W%-=8:D%-=8:| 00001170 ed 3a f3 20 43 25 3a e6 20 43 25 3a c8 93 20 c8 |.:. C%:. C%:.. .| 00001180 90 20 58 25 2c 59 25 2c 57 25 2c 44 25 3a e1 0d |. X%,Y%,W%,D%:..| 00001190 03 20 05 3a 0d 03 2a 12 dc 20 33 2c 39 2c 31 30 |. .:..*.. 3,9,10| 000011a0 2c 31 31 2c 31 32 0d 03 34 11 dc 20 33 2c 34 2c |,11,12..4.. 3,4,| 000011b0 35 2c 31 30 2c 31 31 0d 03 3e 05 3a 0d 03 48 24 |5,10,11..>.:..H$| 000011c0 dd 20 f2 77 70 72 28 53 24 29 3a ea 20 54 24 2c |. .wpr(S$):. T$,| 000011d0 50 25 2c 59 25 3a 54 24 3d 53 24 3a 59 25 3d 30 |P%,Y%:T$=S$:Y%=0| 000011e0 0d 03 52 05 f5 0d 03 5c 10 20 e7 20 a9 54 24 3e |..R....\. . .T$>| 000011f0 57 57 25 20 8c 0d 03 66 28 20 20 50 25 3d 57 57 |WW% ...f( P%=WW| 00001200 25 2b 31 3a c8 95 20 c1 54 24 2c 50 25 2c 31 29 |%+1:.. .T$,P%,1)| 00001210 3c 3e 22 20 22 3a 50 25 2d 3d 31 3a ce 0d 03 70 |<>" ":P%-=1:...p| 00001220 16 20 20 54 24 3d c2 54 24 2c a9 28 54 24 29 2d |. T$=.T$,.(T$)-| 00001230 50 25 29 0d 03 7a 06 20 cc 0d 03 84 0b 20 20 54 |P%)..z. ..... T| 00001240 24 3d 22 22 0d 03 8e 06 20 cd 0d 03 98 0a 20 59 |$="".... ..... Y| 00001250 25 2b 3d 31 0d 03 a2 0b fd 20 54 24 3d 22 22 0d |%+=1..... T$="".| 00001260 03 ac 11 59 25 3d 57 59 43 25 2b 59 25 2a 31 38 |...Y%=WYC%+Y%*18| 00001270 0d 03 b6 0b f5 3a 54 24 3d 22 22 0d 03 c0 10 20 |.....:T$="".... | 00001280 e7 20 a9 53 24 3e 57 57 25 20 8c 0d 03 ca 28 20 |. .S$>WW% ....( | 00001290 20 50 25 3d 57 57 25 2b 31 3a c8 95 20 c1 53 24 | P%=WW%+1:.. .S$| 000012a0 2c 50 25 2c 31 29 3c 3e 22 20 22 3a 50 25 2d 3d |,P%,1)<>" ":P%-=| 000012b0 31 3a ce 0d 03 d4 23 20 20 54 24 3d c2 53 24 2c |1:....# T$=.S$,| 000012c0 a9 28 53 24 29 2d 50 25 29 3a 53 24 3d c0 53 24 |.(S$)-P%):S$=.S$| 000012d0 2c 50 25 2d 31 29 0d 03 de 06 20 cd 0d 03 e8 26 |,P%-1).... ....&| 000012e0 20 ec 20 57 58 43 25 2d 31 36 2a a9 53 24 2c 59 | . WXC%-16*.S$,Y| 000012f0 25 3a f1 53 24 3a 59 25 2d 3d 33 36 3a 53 24 3d |%:.S$:Y%-=36:S$=| 00001300 54 24 0d 03 f2 0d fd 20 53 24 3d 22 22 3a e1 0d |T$..... S$="":..| 00001310 03 fc 05 3a 0d 04 06 0a dd 20 f2 61 73 6d 0d 04 |...:..... .asm..| 00001320 10 20 73 70 3d 31 33 3a 6c 69 6e 6b 3d 31 34 3a |. sp=13:link=14:| 00001330 4f 53 5f 57 72 69 74 65 49 3d 26 31 30 30 0d 04 |OS_WriteI=&100..| 00001340 1a 12 e3 20 6f 25 3d 30 20 b8 20 32 20 88 20 32 |... o%=0 . 2 . 2| 00001350 0d 04 24 0c 50 25 3d 63 6f 64 65 25 0d 04 2e 0b |..$.P%=code%....| 00001360 5b 4f 50 54 20 6f 25 0d 04 38 0c 2e 66 61 64 65 |[OPT o%..8..fade| 00001370 5f 69 6e 0d 04 42 22 53 54 4d 46 44 20 28 73 70 |_in..B"STMFD (sp| 00001380 29 21 2c 7b 6c 69 6e 6b 7d 3a 4d 4f 56 20 52 35 |)!,{link}:MOV R5| 00001390 2c 23 32 34 30 0d 04 4c 3f 2e 66 64 69 6c 70 20 |,#240..L?.fdilp | 000013a0 4d 4f 56 20 52 33 2c 23 32 3a 42 4c 20 64 65 6c |MOV R3,#2:BL del| 000013b0 61 79 3a 42 4c 20 63 68 70 61 6c 3a 53 55 42 53 |ay:BL chpal:SUBS| 000013c0 20 52 35 2c 52 35 2c 23 31 36 3a 42 50 4c 20 66 | R5,R5,#16:BPL f| 000013d0 64 69 6c 70 0d 04 56 14 4c 44 4d 46 44 20 28 73 |dilp..V.LDMFD (s| 000013e0 70 29 21 2c 7b 50 43 7d 0d 04 60 0d 2e 66 61 64 |p)!,{PC}..`..fad| 000013f0 65 5f 6f 75 74 0d 04 6a 20 53 54 4d 46 44 20 28 |e_out..j STMFD (| 00001400 73 70 29 21 2c 7b 6c 69 6e 6b 7d 3a 4d 4f 56 20 |sp)!,{link}:MOV | 00001410 52 35 2c 23 30 0d 04 74 4a 2e 66 64 6f 6c 70 20 |R5,#0..tJ.fdolp | 00001420 4d 4f 56 20 52 33 2c 23 32 3a 42 4c 20 64 65 6c |MOV R3,#2:BL del| 00001430 61 79 3a 42 4c 20 63 68 70 61 6c 3a 41 44 44 20 |ay:BL chpal:ADD | 00001440 52 35 2c 52 35 2c 23 31 36 3a 43 4d 50 20 52 35 |R5,R5,#16:CMP R5| 00001450 2c 23 32 35 36 3a 42 4e 45 20 66 64 6f 6c 70 0d |,#256:BNE fdolp.| 00001460 04 7e 14 4c 44 4d 46 44 20 28 73 70 29 21 2c 7b |.~.LDMFD (sp)!,{| 00001470 50 43 7d 0d 04 88 15 2e 70 61 6c 20 45 51 55 53 |PC}.....pal EQUS| 00001480 20 c4 34 38 2c bd 30 29 0d 04 92 1b 2e 70 62 6c | .48,.0).....pbl| 00001490 6b 20 45 51 55 44 20 26 31 30 30 30 3a 45 51 55 |k EQUD &1000:EQU| 000014a0 42 20 30 0d 04 9c 1d 5c 20 57 61 69 74 20 66 6f |B 0....\ Wait fo| 000014b0 72 20 52 33 20 66 72 61 6d 65 20 73 79 6e 63 73 |r R3 frame syncs| 000014c0 0d 04 a6 15 2e 64 65 6c 61 79 20 4d 4f 56 20 52 |.....delay MOV R| 000014d0 30 2c 23 31 39 0d 04 b0 3c 2e 64 65 6c 6c 70 20 |0,#19...<.dellp | 000014e0 53 57 49 20 22 4f 53 5f 42 79 74 65 22 3a 53 55 |SWI "OS_Byte":SU| 000014f0 42 53 20 52 33 2c 52 33 2c 23 31 3a 42 4e 45 20 |BS R3,R3,#1:BNE | 00001500 64 65 6c 6c 70 3a 4d 4f 56 20 50 43 2c 6c 69 6e |dellp:MOV PC,lin| 00001510 6b 0d 04 ba 11 5c 20 53 65 74 20 70 61 6c 65 74 |k....\ Set palet| 00001520 74 65 0d 04 c4 3a 2e 63 68 70 61 6c 20 4d 4f 56 |te...:.chpal MOV| 00001530 20 52 30 2c 23 31 32 3a 41 44 52 20 52 31 2c 70 | R0,#12:ADR R1,p| 00001540 62 6c 6b 3a 4d 4f 56 20 52 32 2c 23 31 35 3a 41 |blk:MOV R2,#15:A| 00001550 44 52 20 52 33 2c 70 61 6c 2b 34 38 0d 04 ce fd |DR R3,pal+48....| 00001560 2e 63 68 70 6c 70 20 53 54 52 42 20 52 32 2c 5b |.chplp STRB R2,[| 00001570 52 31 5d 3a 4c 44 52 42 20 52 34 2c 5b 52 33 2c |R1]:LDRB R4,[R3,| 00001580 23 2d 31 5d 21 3a 53 55 42 53 20 52 34 2c 52 34 |#-1]!:SUBS R4,R4| 00001590 2c 52 35 3a 4d 4f 56 4d 49 20 52 34 2c 23 30 3a |,R5:MOVMI R4,#0:| 000015a0 53 54 52 42 20 52 34 2c 5b 52 31 2c 23 34 5d 3a |STRB R4,[R1,#4]:| 000015b0 4c 44 52 42 20 52 34 2c 5b 52 33 2c 23 2d 31 5d |LDRB R4,[R3,#-1]| 000015c0 21 3a 53 55 42 53 20 52 34 2c 52 34 2c 52 35 3a |!:SUBS R4,R4,R5:| 000015d0 4d 4f 56 4d 49 20 52 34 2c 23 30 3a 53 54 52 42 |MOVMI R4,#0:STRB| 000015e0 20 52 34 2c 5b 52 31 2c 23 33 5d 3a 4c 44 52 42 | R4,[R1,#3]:LDRB| 000015f0 20 52 34 2c 5b 52 33 2c 23 2d 31 5d 21 3a 53 55 | R4,[R3,#-1]!:SU| 00001600 42 53 20 52 34 2c 52 34 2c 52 35 3a 4d 4f 56 4d |BS R4,R4,R5:MOVM| 00001610 49 20 52 34 2c 23 30 3a 53 54 52 42 20 52 34 2c |I R4,#0:STRB R4,| 00001620 5b 52 31 2c 23 32 5d 3a 53 57 49 20 22 4f 53 5f |[R1,#2]:SWI "OS_| 00001630 57 6f 72 64 22 3a 53 55 42 53 20 52 32 2c 52 32 |Word":SUBS R2,R2| 00001640 2c 23 31 3a 42 50 4c 20 63 68 70 6c 70 3a 4d 4f |,#1:BPL chplp:MO| 00001650 56 20 50 43 2c 6c 69 6e 6b 0d 04 d8 11 5c 20 43 |V PC,link....\ C| 00001660 6f 70 79 20 73 63 72 65 65 6e 0d 04 e2 24 2e 7a |opy screen...$.z| 00001670 61 70 63 6f 70 79 20 4d 4f 56 20 52 30 2c 23 31 |apcopy MOV R0,#1| 00001680 37 36 3a 4c 44 52 20 52 31 2c 66 72 6f 6d 0d 04 |76:LDR R1,from..| 00001690 ec 09 2e 63 6f 70 79 0d 04 f6 be 4c 44 4d 49 41 |...copy....LDMIA| 000016a0 20 52 31 21 2c 7b 52 33 2d 52 31 32 7d 3a 53 54 | R1!,{R3-R12}:ST| 000016b0 4d 49 41 20 52 32 21 2c 7b 52 33 2d 52 31 32 7d |MIA R2!,{R3-R12}| 000016c0 3a 4c 44 4d 49 41 20 52 31 21 2c 7b 52 33 2d 52 |:LDMIA R1!,{R3-R| 000016d0 31 32 7d 3a 53 54 4d 49 41 20 52 32 21 2c 7b 52 |12}:STMIA R2!,{R| 000016e0 33 2d 52 31 32 7d 3a 4c 44 4d 49 41 20 52 31 21 |3-R12}:LDMIA R1!| 000016f0 2c 7b 52 33 2d 52 31 32 7d 3a 53 54 4d 49 41 20 |,{R3-R12}:STMIA | 00001700 52 32 21 2c 7b 52 33 2d 52 31 32 7d 3a 4c 44 4d |R2!,{R3-R12}:LDM| 00001710 49 41 20 52 31 21 2c 7b 52 33 2d 52 31 32 7d 3a |IA R1!,{R3-R12}:| 00001720 53 54 4d 49 41 20 52 32 21 2c 7b 52 33 2d 52 31 |STMIA R2!,{R3-R1| 00001730 32 7d 3a 53 55 42 53 20 52 30 2c 52 30 2c 23 31 |2}:SUBS R0,R0,#1| 00001740 3a 42 4e 45 20 63 6f 70 79 3a 4d 4f 56 20 50 43 |:BNE copy:MOV PC| 00001750 2c 6c 69 6e 6b 0d 05 00 05 5c 0d 05 0a 13 2e 66 |,link....\.....f| 00001760 72 6f 6d 20 45 51 55 44 20 42 53 43 25 0d 05 14 |rom EQUD BSC%...| 00001770 05 5c 0d 05 1e 3e 2e 65 6e 65 76 65 6e 74 20 54 |.\...>.enevent T| 00001780 45 51 20 52 30 2c 23 34 3a 4d 4f 56 4e 45 53 20 |EQ R0,#4:MOVNES | 00001790 50 43 2c 6c 69 6e 6b 3a 53 54 4d 46 44 20 28 73 |PC,link:STMFD (s| 000017a0 70 29 21 2c 7b 52 30 2d 52 33 2c 6c 69 6e 6b 7d |p)!,{R0-R3,link}| 000017b0 0d 05 28 5c 4c 44 52 20 52 30 2c 65 6e 65 72 63 |..(\LDR R0,enerc| 000017c0 74 3a 43 4d 50 20 52 30 2c 23 30 3a 42 50 4c 20 |t:CMP R0,#0:BPL | 000017d0 64 65 63 69 6e 67 3a 41 44 44 53 20 52 30 2c 52 |decing:ADDS R0,R| 000017e0 30 2c 23 31 3a 53 54 52 20 52 30 2c 65 6e 65 72 |0,#1:STR R0,ener| 000017f0 63 74 3a 4c 44 4d 50 4c 46 44 20 28 73 70 29 21 |ct:LDMPLFD (sp)!| 00001800 2c 7b 52 30 2d 52 33 2c 50 43 7d 5e 0d 05 32 52 |,{R0-R3,PC}^..2R| 00001810 4c 44 52 20 52 30 2c 65 6e 65 72 67 79 3a 41 44 |LDR R0,energy:AD| 00001820 44 20 52 30 2c 52 30 2c 23 34 3a 43 4d 50 20 52 |D R0,R0,#4:CMP R| 00001830 30 2c 23 37 32 34 3a 4c 44 4d 45 51 46 44 20 28 |0,#724:LDMEQFD (| 00001840 73 70 29 21 2c 7b 52 30 2d 52 33 2c 50 43 7d 5e |sp)!,{R0-R3,PC}^| 00001850 3a 53 54 52 20 52 30 2c 65 6e 65 72 67 79 0d 05 |:STR R0,energy..| 00001860 3c b7 4c 44 52 20 52 30 2c 65 6e 65 72 70 74 3a |<.LDR R0,enerpt:| 00001870 53 55 42 20 52 30 2c 52 30 2c 23 31 36 30 3a 53 |SUB R0,R0,#160:S| 00001880 54 52 20 52 30 2c 65 6e 65 72 70 74 3a 4c 44 52 |TR R0,enerpt:LDR| 00001890 20 52 31 2c 73 61 64 64 3a 4c 44 52 20 52 32 2c | R1,sadd:LDR R2,| 000018a0 74 61 64 64 3a 4d 4f 56 20 52 33 2c 23 26 46 46 |tadd:MOV R3,#&FF| 000018b0 3a 53 54 52 42 20 52 33 2c 5b 52 31 2c 52 30 5d |:STRB R3,[R1,R0]| 000018c0 3a 53 54 52 42 20 52 33 2c 5b 52 32 2c 52 30 5d |:STRB R3,[R2,R0]| 000018d0 3a 41 44 44 20 52 30 2c 52 30 2c 23 31 3a 53 54 |:ADD R0,R0,#1:ST| 000018e0 52 42 20 52 33 2c 5b 52 31 2c 52 30 5d 3a 53 54 |RB R3,[R1,R0]:ST| 000018f0 52 42 20 52 33 2c 5b 52 32 2c 52 30 5d 3a 4c 44 |RB R3,[R2,R0]:LD| 00001900 4d 46 44 20 28 73 70 29 21 2c 7b 52 30 2d 52 33 |MFD (sp)!,{R0-R3| 00001910 2c 50 43 7d 5e 0d 05 46 4f 2e 64 65 63 69 6e 67 |,PC}^..FO.decing| 00001920 20 53 55 42 53 20 52 30 2c 52 30 2c 23 31 3a 4d | SUBS R0,R0,#1:M| 00001930 4f 56 4d 49 20 52 30 2c 23 31 34 39 3a 53 54 52 |OVMI R0,#149:STR| 00001940 20 52 30 2c 65 6e 65 72 63 74 3a 4c 44 4d 50 4c | R0,enerct:LDMPL| 00001950 46 44 20 28 73 70 29 21 2c 7b 52 30 2d 52 33 2c |FD (sp)!,{R0-R3,| 00001960 50 43 7d 5e 0d 05 50 47 4c 44 52 20 52 30 2c 65 |PC}^..PGLDR R0,e| 00001970 6e 65 72 67 79 3a 53 55 42 53 20 52 30 2c 52 30 |nergy:SUBS R0,R0| 00001980 2c 23 34 3a 4c 44 4d 4d 49 46 44 20 28 73 70 29 |,#4:LDMMIFD (sp)| 00001990 21 2c 7b 52 30 2d 52 33 2c 50 43 7d 5e 3a 53 54 |!,{R0-R3,PC}^:ST| 000019a0 52 20 52 30 2c 65 6e 65 72 67 79 0d 05 5a b7 4c |R R0,energy..Z.L| 000019b0 44 52 20 52 30 2c 65 6e 65 72 70 74 3a 4c 44 52 |DR R0,enerpt:LDR| 000019c0 20 52 31 2c 73 61 64 64 3a 4c 44 52 20 52 32 2c | R1,sadd:LDR R2,| 000019d0 74 61 64 64 3a 4d 4f 56 20 52 33 2c 23 26 42 42 |tadd:MOV R3,#&BB| 000019e0 3a 53 54 52 42 20 52 33 2c 5b 52 31 2c 52 30 5d |:STRB R3,[R1,R0]| 000019f0 3a 53 54 52 42 20 52 33 2c 5b 52 32 2c 52 30 5d |:STRB R3,[R2,R0]| 00001a00 3a 41 44 44 20 52 30 2c 52 30 2c 23 31 3a 53 54 |:ADD R0,R0,#1:ST| 00001a10 52 42 20 52 33 2c 5b 52 31 2c 52 30 5d 3a 53 54 |RB R3,[R1,R0]:ST| 00001a20 52 42 20 52 33 2c 5b 52 32 2c 52 30 5d 3a 41 44 |RB R3,[R2,R0]:AD| 00001a30 44 20 52 30 2c 52 30 2c 23 31 35 39 3a 53 54 52 |D R0,R0,#159:STR| 00001a40 20 52 30 2c 65 6e 65 72 70 74 3a 4c 44 4d 46 44 | R0,enerpt:LDMFD| 00001a50 20 28 73 70 29 21 2c 7b 52 30 2d 52 33 2c 50 43 | (sp)!,{R0-R3,PC| 00001a60 7d 5e 0d 05 64 05 5c 0d 05 6e ef 2e 72 65 64 75 |}^..d.\..n..redu| 00001a70 63 65 20 53 54 4d 46 44 20 28 73 70 29 21 2c 7b |ce STMFD (sp)!,{| 00001a80 52 30 2d 52 34 7d 3a 4c 44 52 20 52 30 2c 6d 61 |R0-R4}:LDR R0,ma| 00001a90 6e 68 69 74 43 41 3a 4c 44 52 20 52 31 2c 73 74 |nhitCA:LDR R1,st| 00001aa0 65 70 50 44 3a 53 57 49 20 22 53 6f 75 6e 64 5f |epPD:SWI "Sound_| 00001ab0 43 6f 6e 74 72 6f 6c 50 61 63 6b 65 64 22 3a 4c |ControlPacked":L| 00001ac0 44 52 20 52 30 2c 65 6e 65 72 70 74 3a 41 44 44 |DR R0,enerpt:ADD| 00001ad0 20 52 30 2c 52 30 2c 23 31 36 30 3a 53 54 52 20 | R0,R0,#160:STR | 00001ae0 52 30 2c 65 6e 65 72 70 74 3a 4d 4f 56 20 52 30 |R0,enerpt:MOV R0| 00001af0 2c 23 34 3a 4c 44 52 20 52 34 2c 65 6e 65 72 67 |,#4:LDR R4,energ| 00001b00 79 3a 41 44 44 20 52 31 2c 52 34 2c 23 32 38 30 |y:ADD R1,R4,#280| 00001b10 3a 4d 4f 56 20 52 32 2c 23 32 34 3a 53 57 49 20 |:MOV R2,#24:SWI | 00001b20 22 4f 53 5f 50 6c 6f 74 22 3a 4d 4f 56 20 52 30 |"OS_Plot":MOV R0| 00001b30 2c 23 31 3a 4d 4f 56 20 52 31 2c 23 30 3a 4d 4f |,#1:MOV R1,#0:MO| 00001b40 56 20 52 32 2c 23 31 32 3a 53 57 49 20 22 4f 53 |V R2,#12:SWI "OS| 00001b50 5f 50 6c 6f 74 22 0d 05 78 f6 4d 4f 56 20 52 30 |_Plot"..x.MOV R0| 00001b60 2c 23 31 31 32 3a 4c 44 52 20 52 33 2c 62 61 6e |,#112:LDR R3,ban| 00001b70 6b 3a 43 4d 50 20 52 33 2c 23 30 3a 4d 56 4e 4d |k:CMP R3,#0:MVNM| 00001b80 49 20 52 33 2c 52 33 3a 82 20 52 31 2c 52 33 2c |I R3,R3:. R1,R3,| 00001b90 23 33 3a 53 57 49 20 22 4f 53 5f 42 79 74 65 22 |#3:SWI "OS_Byte"| 00001ba0 3a 4d 4f 56 20 52 30 2c 23 31 3a 4d 4f 56 20 52 |:MOV R0,#1:MOV R| 00001bb0 31 2c 23 30 3a 4d 56 4e 20 52 32 2c 23 31 31 3a |1,#0:MVN R2,#11:| 00001bc0 53 57 49 20 22 4f 53 5f 50 6c 6f 74 22 3a 4d 4f |SWI "OS_Plot":MO| 00001bd0 56 20 52 30 2c 23 31 31 32 3a 4d 4f 56 20 52 31 |V R0,#112:MOV R1| 00001be0 2c 52 33 3a 53 57 49 20 22 4f 53 5f 42 79 74 65 |,R3:SWI "OS_Byte| 00001bf0 22 3a 53 55 42 53 20 52 34 2c 52 34 2c 23 34 3a |":SUBS R4,R4,#4:| 00001c00 53 54 52 20 52 34 2c 65 6e 65 72 67 79 3a 4c 44 |STR R4,energy:LD| 00001c10 4d 46 44 20 28 73 70 29 21 2c 7b 52 30 2d 52 34 |MFD (sp)!,{R0-R4| 00001c20 7d 3a 4d 4f 56 50 4c 20 50 43 2c 6c 69 6e 6b 3a |}:MOVPL PC,link:| 00001c30 4d 4f 56 20 52 30 2c 23 26 46 46 3a 4c 44 4d 46 |MOV R0,#&FF:LDMF| 00001c40 44 20 28 73 70 29 21 2c 7b 50 43 7d 0d 05 82 05 |D (sp)!,{PC}....| 00001c50 5c 0d 05 8c 15 2e 74 61 62 61 64 64 20 45 51 55 |\.....tabadd EQU| 00001c60 44 20 54 41 42 25 0d 05 96 15 2e 74 73 70 61 64 |D TAB%.....tspad| 00001c70 64 20 45 51 55 44 20 54 53 50 25 0d 05 a0 1b 2e |d EQUD TSP%.....| 00001c80 6d 73 70 61 64 64 20 45 51 55 44 20 54 53 50 25 |mspadd EQUD TSP%| 00001c90 2b 26 34 35 36 30 0d 05 aa 13 2e 6d 6e 74 62 20 |+&4560.....mntb | 00001ca0 45 51 55 44 20 64 6d 61 6e 0d 05 b4 0f 2e 6d 6e |EQUD dman.....mn| 00001cb0 61 20 45 51 55 44 20 30 0d 05 be 10 2e 6b 65 79 |a EQUD 0.....key| 00001cc0 73 20 45 51 55 44 20 30 0d 05 c8 12 2e 65 6e 65 |s EQUD 0.....ene| 00001cd0 72 67 79 20 45 51 55 44 20 30 0d 05 d2 12 2e 65 |rgy EQUD 0.....e| 00001ce0 6e 65 72 70 74 20 45 51 55 44 20 30 0d 05 dc 14 |nerpt EQUD 0....| 00001cf0 2e 65 6e 65 72 63 74 20 45 51 55 44 20 31 34 39 |.enerct EQUD 149| 00001d00 0d 05 e6 11 2e 73 77 6f 72 64 20 45 51 55 44 20 |.....sword EQUD | 00001d10 30 0d 05 f0 1b 2e 6d 61 6e 68 69 74 43 41 20 45 |0.....manhitCA E| 00001d20 51 55 44 20 26 31 46 46 30 30 30 33 0d 05 fa 19 |QUD &1FF0003....| 00001d30 2e 73 74 65 70 43 41 20 45 51 55 44 20 26 31 35 |.stepCA EQUD &15| 00001d40 30 30 30 30 31 0d 06 04 17 2e 73 74 65 70 50 44 |00001.....stepPD| 00001d50 20 45 51 55 44 20 26 31 32 30 30 30 0d 06 0e 19 | EQUD &12000....| 00001d60 2e 64 6f 6f 72 43 41 20 45 51 55 44 20 26 31 37 |.doorCA EQUD &17| 00001d70 46 30 30 30 32 0d 06 18 17 2e 64 6f 6f 72 50 44 |F0002.....doorPD| 00001d80 20 45 51 55 44 20 26 31 32 35 35 30 0d 06 22 05 | EQUD &12550..".| 00001d90 5d 0d 06 2c 63 64 6d 61 6e 3d 50 25 3a 75 6d 61 |]..,cdman=P%:uma| 00001da0 6e 3d 50 25 2b 33 32 3a 72 6d 61 6e 3d 50 25 2b |n=P%+32:rman=P%+| 00001db0 36 34 3a 6c 6d 61 6e 3d 50 25 2b 39 36 3a 65 6d |64:lman=P%+96:em| 00001dc0 61 6e 3d 50 25 2b 31 32 38 3a e3 20 49 25 3d 30 |an=P%+128:. I%=0| 00001dd0 20 b8 20 33 36 3a 21 50 25 3d 54 53 50 25 2b 26 | . 36:!P%=TSP%+&| 00001de0 31 41 30 34 2b 49 25 2a 26 31 32 43 3a 50 25 2b |1A04+I%*&12C:P%+| 00001df0 3d 34 3a ed 0d 06 36 0b 5b 4f 50 54 20 6f 25 0d |=4:...6.[OPT o%.| 00001e00 06 40 16 5c 4d 6f 76 65 20 69 6e 20 6c 61 62 79 |.@.\Move in laby| 00001e10 72 69 6e 74 68 0d 06 4a 47 2e 4d 6f 76 65 4c 61 |rinth..JG.MoveLa| 00001e20 62 79 20 53 54 4d 46 44 20 28 73 70 29 21 2c 7b |by STMFD (sp)!,{| 00001e30 6c 69 6e 6b 7d 3a 4c 44 52 20 52 31 30 2c 74 61 |link}:LDR R10,ta| 00001e40 62 61 64 64 3a 4d 4f 56 20 52 31 31 2c 23 35 32 |badd:MOV R11,#52| 00001e50 3a 4d 4f 56 20 52 31 32 2c 23 34 34 0d 06 54 7e |:MOV R12,#44..T~| 00001e60 4d 4f 56 20 52 30 2c 23 32 3a 53 54 52 20 52 30 |MOV R0,#2:STR R0| 00001e70 2c 62 61 6e 6b 3a 4d 4f 56 20 52 30 2c 23 32 35 |,bank:MOV R0,#25| 00001e80 35 3a 53 54 52 20 52 30 2c 6d 6e 61 3a 42 4c 20 |5:STR R0,mna:BL | 00001e90 44 72 61 77 4c 61 62 79 3a 42 4c 20 66 61 64 65 |DrawLaby:BL fade| 00001ea0 5f 69 6e 3a 4d 4f 56 20 52 33 2c 23 32 30 3a 42 |_in:MOV R3,#20:B| 00001eb0 4c 20 64 65 6c 61 79 3a 41 44 52 20 52 30 2c 65 |L delay:ADR R0,e| 00001ec0 6d 61 6e 3a 53 54 52 20 52 30 2c 6d 6e 74 62 3a |man:STR R0,mntb:| 00001ed0 4d 4f 56 20 52 36 2c 23 31 36 0d 06 5e 4e 2e 65 |MOV R6,#16..^N.e| 00001ee0 6d 61 6e 6c 70 20 53 54 52 20 52 36 2c 6d 6e 61 |manlp STR R6,mna| 00001ef0 3a 42 4c 20 44 72 61 77 4c 61 62 79 3a 4d 4f 56 |:BL DrawLaby:MOV| 00001f00 20 52 33 2c 23 32 3a 42 4c 20 64 65 6c 61 79 3a | R3,#2:BL delay:| 00001f10 53 55 42 53 20 52 36 2c 52 36 2c 23 34 3a 42 50 |SUBS R6,R6,#4:BP| 00001f20 4c 20 65 6d 61 6e 6c 70 0d 06 68 70 4d 4f 56 20 |L emanlp..hpMOV | 00001f30 52 30 2c 23 32 31 3a 41 44 52 20 52 31 2c 72 6d |R0,#21:ADR R1,rm| 00001f40 6f 75 73 65 3a 53 57 49 20 22 4f 53 5f 57 6f 72 |ouse:SWI "OS_Wor| 00001f50 64 22 3a 4d 4f 56 20 52 30 2c 23 32 31 3a 4d 4f |d":MOV R0,#21:MO| 00001f60 56 20 52 31 2c 23 39 3a 53 57 49 20 22 4f 53 5f |V R1,#9:SWI "OS_| 00001f70 42 79 74 65 22 3a 4d 4f 56 20 52 30 2c 23 31 34 |Byte":MOV R0,#14| 00001f80 3a 4d 4f 56 20 52 31 2c 23 34 3a 53 57 49 20 22 |:MOV R1,#4:SWI "| 00001f90 4f 53 5f 42 79 74 65 22 0d 06 72 1b 41 44 52 20 |OS_Byte"..r.ADR | 00001fa0 52 30 2c 64 6d 61 6e 3a 53 54 52 20 52 30 2c 6d |R0,dman:STR R0,m| 00001fb0 6e 74 62 0d 06 7c 08 2e 64 6f 6b 0d 06 86 52 4c |ntb..|..dok...RL| 00001fc0 44 52 20 52 32 2c 6d 6e 61 3a 41 44 44 20 52 32 |DR R2,mna:ADD R2| 00001fd0 2c 52 32 2c 23 34 3a 43 4d 50 20 52 32 2c 23 33 |,R2,#4:CMP R2,#3| 00001fe0 32 3a ec 51 20 52 32 2c 23 30 3a 53 54 52 20 52 |2:.Q R2,#0:STR R| 00001ff0 32 2c 6d 6e 61 3a 54 53 54 20 52 32 2c 23 31 35 |2,mna:TST R2,#15| 00002000 3a 42 4e 45 20 73 6b 69 70 73 74 65 70 0d 06 90 |:BNE skipstep...| 00002010 55 4c 44 52 20 52 30 2c 73 74 65 70 43 41 3a 4c |ULDR R0,stepCA:L| 00002020 44 52 20 52 31 2c 73 74 65 70 50 44 3a 82 20 52 |DR R1,stepPD:. R| 00002030 31 2c 52 31 2c 23 26 35 35 30 3a 53 54 52 20 52 |1,R1,#&550:STR R| 00002040 31 2c 73 74 65 70 50 44 3a 53 57 49 20 22 53 6f |1,stepPD:SWI "So| 00002050 75 6e 64 5f 43 6f 6e 74 72 6f 6c 50 61 63 6b 65 |und_ControlPacke| 00002060 64 22 0d 06 9a 19 2e 73 6b 69 70 73 74 65 70 20 |d".....skipstep | 00002070 42 4c 20 44 72 61 77 4c 61 62 79 0d 06 a4 8c 2e |BL DrawLaby.....| 00002080 6b 6c 70 20 4c 44 52 20 52 30 2c 65 6e 65 72 67 |klp LDR R0,energ| 00002090 79 3a 43 4d 50 20 52 30 2c 23 34 3a 42 4c 54 20 |y:CMP R0,#4:BLT | 000020a0 64 65 61 64 3a 42 4c 20 74 73 74 6b 65 79 3a 54 |dead:BL tstkey:T| 000020b0 53 54 20 52 36 2c 23 31 36 3a 42 4c 4e 45 20 72 |ST R6,#16:BLNE r| 000020c0 74 6e 3a 54 53 54 20 52 36 2c 23 31 3a 42 4e 45 |tn:TST R6,#1:BNE| 000020d0 20 6d 6c 3a 54 53 54 20 52 36 2c 23 32 3a 42 4e | ml:TST R6,#2:BN| 000020e0 45 20 6d 72 3a 54 53 54 20 52 36 2c 23 38 3a 42 |E mr:TST R6,#8:B| 000020f0 4e 45 20 6d 75 3a 54 53 54 20 52 36 2c 23 34 3a |NE mu:TST R6,#4:| 00002100 42 45 51 20 6b 6c 70 0d 06 ae cd 2e 6d 64 20 41 |BEQ klp.....md A| 00002110 44 52 20 52 30 2c 64 6d 61 6e 3a 53 54 52 20 52 |DR R0,dman:STR R| 00002120 30 2c 6d 6e 74 62 3a 54 45 51 20 52 31 32 2c 23 |0,mntb:TEQ R12,#| 00002130 36 30 3a 42 4e 45 20 6d 64 64 3a 41 44 44 20 52 |60:BNE mdd:ADD R| 00002140 31 2c 52 31 30 2c 23 39 30 3a 43 4d 50 20 52 31 |1,R10,#90:CMP R1| 00002150 31 2c 23 35 36 3a 53 55 42 48 49 20 52 31 2c 52 |1,#56:SUBHI R1,R| 00002160 31 2c 23 31 3a 4c 44 52 42 20 52 30 2c 5b 52 31 |1,#1:LDRB R0,[R1| 00002170 5d 3a 43 4d 50 20 52 30 2c 23 31 38 3a 42 4c 53 |]:CMP R0,#18:BLS| 00002180 20 6d 64 64 3a 43 4d 50 20 52 31 31 2c 23 35 36 | mdd:CMP R11,#56| 00002190 3a 42 4e 45 20 63 6c 6c 64 3a 43 4d 50 20 52 30 |:BNE clld:CMP R0| 000021a0 2c 23 32 38 3a 42 4c 53 20 63 6c 6c 64 3a 43 4d |,#28:BLS clld:CM| 000021b0 50 20 52 30 2c 23 33 32 3a 42 48 49 20 6d 64 64 |P R0,#32:BHI mdd| 000021c0 3a 43 4d 50 20 52 30 2c 23 32 39 3a 42 48 49 20 |:CMP R0,#29:BHI | 000021d0 63 6c 6c 64 0d 06 b8 4c 2e 6d 64 64 20 41 44 44 |clld...L.mdd ADD| 000021e0 20 52 31 32 2c 52 31 32 2c 23 34 3a 54 45 51 20 | R12,R12,#4:TEQ | 000021f0 52 31 32 2c 23 36 34 3a 42 4e 45 20 64 6f 6b 3a |R12,#64:BNE dok:| 00002200 4d 4f 56 20 52 31 32 2c 23 30 3a 41 44 44 20 52 |MOV R12,#0:ADD R| 00002210 31 30 2c 52 31 30 2c 23 32 32 3a 42 20 64 6f 6b |10,R10,#22:B dok| 00002220 0d 06 c2 63 2e 6d 6c 20 41 44 52 20 52 30 2c 6c |...c.ml ADR R0,l| 00002230 6d 61 6e 3a 53 54 52 20 52 30 2c 6d 6e 74 62 3a |man:STR R0,mntb:| 00002240 54 45 51 20 52 31 31 2c 23 35 36 3a 42 4e 45 20 |TEQ R11,#56:BNE | 00002250 6d 6c 6c 3a 41 44 44 20 52 31 2c 52 31 30 2c 23 |mll:ADD R1,R10,#| 00002260 36 37 3a 4c 44 52 42 20 52 30 2c 5b 52 31 5d 3a |67:LDRB R0,[R1]:| 00002270 43 4d 50 20 52 30 2c 23 31 38 3a 42 48 49 20 63 |CMP R0,#18:BHI c| 00002280 6c 6c 64 0d 06 cc 4b 2e 6d 6c 6c 20 41 44 44 20 |lld...K.mll ADD | 00002290 52 31 31 2c 52 31 31 2c 23 34 3a 54 45 51 20 52 |R11,R11,#4:TEQ R| 000022a0 31 31 2c 23 36 34 3a 42 4e 45 20 64 6f 6b 3a 4d |11,#64:BNE dok:M| 000022b0 4f 56 20 52 31 31 2c 23 30 3a 53 55 42 20 52 31 |OV R11,#0:SUB R1| 000022c0 30 2c 52 31 30 2c 23 31 3a 42 20 64 6f 6b 0d 06 |0,R10,#1:B dok..| 000022d0 d6 63 2e 6d 72 20 41 44 52 20 52 30 2c 72 6d 61 |.c.mr ADR R0,rma| 000022e0 6e 3a 53 54 52 20 52 30 2c 6d 6e 74 62 3a 54 45 |n:STR R0,mntb:TE| 000022f0 51 20 52 31 31 2c 23 35 36 3a 42 4e 45 20 6d 72 |Q R11,#56:BNE mr| 00002300 72 3a 41 44 44 20 52 31 2c 52 31 30 2c 23 36 38 |r:ADD R1,R10,#68| 00002310 3a 4c 44 52 42 20 52 30 2c 5b 52 31 5d 3a 43 4d |:LDRB R0,[R1]:CM| 00002320 50 20 52 30 2c 23 31 38 3a 42 48 49 20 63 6c 6c |P R0,#18:BHI cll| 00002330 64 0d 06 e0 41 2e 6d 72 72 20 53 55 42 53 20 52 |d...A.mrr SUBS R| 00002340 31 31 2c 52 31 31 2c 23 34 3a 42 50 4c 20 64 6f |11,R11,#4:BPL do| 00002350 6b 3a 4d 4f 56 20 52 31 31 2c 23 36 30 3a 41 44 |k:MOV R11,#60:AD| 00002360 44 20 52 31 30 2c 52 31 30 2c 23 31 3a 42 20 64 |D R10,R10,#1:B d| 00002370 6f 6b 0d 06 ea cc 2e 6d 75 20 41 44 52 20 52 30 |ok.....mu ADR R0| 00002380 2c 75 6d 61 6e 3a 53 54 52 20 52 30 2c 6d 6e 74 |,uman:STR R0,mnt| 00002390 62 3a 54 45 51 20 52 31 32 2c 23 30 3a 42 4e 45 |b:TEQ R12,#0:BNE| 000023a0 20 6d 75 75 3a 41 44 44 20 52 31 2c 52 31 30 2c | muu:ADD R1,R10,| 000023b0 23 34 36 3a 43 4d 50 20 52 31 31 2c 23 35 36 3a |#46:CMP R11,#56:| 000023c0 53 55 42 48 49 20 52 31 2c 52 31 2c 23 31 3a 4c |SUBHI R1,R1,#1:L| 000023d0 44 52 42 20 52 30 2c 5b 52 31 5d 3a 43 4d 50 20 |DRB R0,[R1]:CMP | 000023e0 52 30 2c 23 31 38 3a 42 4c 53 20 6d 75 75 3a 43 |R0,#18:BLS muu:C| 000023f0 4d 50 20 52 31 31 2c 23 35 36 3a 42 4e 45 20 63 |MP R11,#56:BNE c| 00002400 6c 6c 64 3a 43 4d 50 20 52 30 2c 23 32 38 3a 42 |lld:CMP R0,#28:B| 00002410 4c 53 20 63 6c 6c 64 3a 43 4d 50 20 52 30 2c 23 |LS clld:CMP R0,#| 00002420 33 32 3a 42 48 49 20 6d 75 75 3a 43 4d 50 20 52 |32:BHI muu:CMP R| 00002430 30 2c 23 32 39 3a 42 48 49 20 63 6c 6c 64 0d 06 |0,#29:BHI clld..| 00002440 f4 42 2e 6d 75 75 20 53 55 42 53 20 52 31 32 2c |.B.muu SUBS R12,| 00002450 52 31 32 2c 23 34 3a 42 50 4c 20 64 6f 6b 3a 4d |R12,#4:BPL dok:M| 00002460 4f 56 20 52 31 32 2c 23 36 30 3a 53 55 42 20 52 |OV R12,#60:SUB R| 00002470 31 30 2c 52 31 30 2c 23 32 32 3a 42 20 64 6f 6b |10,R10,#22:B dok| 00002480 0d 06 fe 30 2e 63 6c 6c 64 20 4d 4f 56 20 52 30 |...0.clld MOV R0| 00002490 2c 23 30 3a 53 54 52 20 52 30 2c 6d 6e 61 3a 42 |,#0:STR R0,mna:B| 000024a0 4c 20 44 72 61 77 4c 61 62 79 3a 42 20 6b 6c 70 |L DrawLaby:B klp| 000024b0 0d 07 08 71 2e 72 74 6e 20 4c 44 52 20 52 32 2c |...q.rtn LDR R2,| 000024c0 6b 65 79 73 3a 54 45 51 20 52 32 2c 23 30 3a 42 |keys:TEQ R2,#0:B| 000024d0 45 51 20 6e 6f 6b 65 79 3a 54 45 51 20 52 31 32 |EQ nokey:TEQ R12| 000024e0 2c 23 30 3a 41 44 44 45 51 20 52 31 2c 52 31 30 |,#0:ADDEQ R1,R10| 000024f0 2c 23 34 36 3a 42 45 51 20 63 64 72 3a 54 45 51 |,#46:BEQ cdr:TEQ| 00002500 20 52 31 32 2c 23 36 30 3a 42 4e 45 20 6e 6f 6b | R12,#60:BNE nok| 00002510 65 79 3a 41 44 44 20 52 31 2c 52 31 30 2c 23 39 |ey:ADD R1,R10,#9| 00002520 30 0d 07 12 9c 2e 63 64 72 20 4c 44 52 42 20 52 |0.....cdr LDRB R| 00002530 30 2c 5b 52 31 5d 3a 54 45 51 20 52 30 2c 23 33 |0,[R1]:TEQ R0,#3| 00002540 32 3a 4d 4f 56 4e 45 20 50 43 2c 6c 69 6e 6b 3a |2:MOVNE PC,link:| 00002550 4d 4f 56 20 52 30 2c 23 37 3a 53 54 52 42 20 52 |MOV R0,#7:STRB R| 00002560 30 2c 5b 52 31 5d 2c 23 32 32 3a 53 54 52 42 20 |0,[R1],#22:STRB | 00002570 52 30 2c 5b 52 31 5d 2c 23 31 3a 53 54 52 42 20 |R0,[R1],#1:STRB | 00002580 52 30 2c 5b 52 31 5d 2c 23 2d 32 32 3a 4d 4f 56 |R0,[R1],#-22:MOV| 00002590 20 52 30 2c 23 32 39 3a 53 54 52 42 20 52 30 2c | R0,#29:STRB R0,| 000025a0 5b 52 31 5d 3a 53 55 42 20 52 32 2c 52 32 2c 23 |[R1]:SUB R2,R2,#| 000025b0 31 3a 53 54 52 20 52 32 2c 6b 65 79 73 0d 07 1c |1:STR R2,keys...| 000025c0 71 4d 4f 56 20 52 30 2c 23 32 3a 41 44 52 20 52 |qMOV R0,#2:ADR R| 000025d0 31 2c 64 6f 6f 72 76 6f 69 63 65 3a 53 57 49 20 |1,doorvoice:SWI | 000025e0 22 53 6f 75 6e 64 5f 41 74 74 61 63 68 4e 61 6d |"Sound_AttachNam| 000025f0 65 64 56 6f 69 63 65 22 3a 4c 44 52 20 52 30 2c |edVoice":LDR R0,| 00002600 64 6f 6f 72 43 41 3a 4c 44 52 20 52 31 2c 64 6f |doorCA:LDR R1,do| 00002610 6f 72 50 44 3a 53 57 49 20 22 53 6f 75 6e 64 5f |orPD:SWI "Sound_| 00002620 43 6f 6e 74 72 6f 6c 50 61 63 6b 65 64 22 0d 07 |ControlPacked"..| 00002630 26 7f 53 57 49 20 4f 53 5f 57 72 69 74 65 49 2b |&.SWI OS_WriteI+| 00002640 32 36 3a 4d 4f 56 20 52 30 2c 23 33 34 3a 41 44 |26:MOV R0,#34:AD| 00002650 44 20 52 30 2c 52 30 2c 23 35 31 32 3a 4c 44 52 |D R0,R0,#512:LDR| 00002660 20 52 31 2c 74 73 70 61 64 64 3a 4d 4f 56 20 52 | R1,tspadd:MOV R| 00002670 33 2c 52 32 2c 4c 53 4c 23 35 3a 4c 44 52 20 52 |3,R2,LSL#5:LDR R| 00002680 32 2c 74 74 61 62 3a 4d 4f 56 20 52 34 2c 23 33 |2,ttab:MOV R4,#3| 00002690 32 3a 4d 4f 56 20 52 35 2c 23 30 3a 53 57 49 20 |2:MOV R5,#0:SWI | 000026a0 22 4f 53 5f 53 70 72 69 74 65 4f 70 22 0d 07 30 |"OS_SpriteOp"..0| 000026b0 94 53 54 4d 46 44 20 28 73 70 29 21 2c 7b 52 30 |.STMFD (sp)!,{R0| 000026c0 2d 52 32 7d 3a 4d 4f 56 20 52 30 2c 23 31 31 32 |-R2}:MOV R0,#112| 000026d0 3a 4c 44 52 20 52 31 2c 62 61 6e 6b 3a 53 57 49 |:LDR R1,bank:SWI| 000026e0 20 22 4f 53 5f 42 79 74 65 22 3a 4c 44 4d 46 44 | "OS_Byte":LDMFD| 000026f0 20 28 73 70 29 21 2c 7b 52 30 2d 52 32 7d 3a 53 | (sp)!,{R0-R2}:S| 00002700 57 49 20 22 4f 53 5f 53 70 72 69 74 65 4f 70 22 |WI "OS_SpriteOp"| 00002710 3a 41 44 52 20 52 30 2c 72 65 77 69 6e 3a 4d 4f |:ADR R0,rewin:MO| 00002720 56 20 52 31 2c 23 31 34 3a 53 57 49 20 22 4f 53 |V R1,#14:SWI "OS| 00002730 5f 57 72 69 74 65 4e 22 3a 42 20 66 69 6e 72 74 |_WriteN":B finrt| 00002740 6e 0d 07 3a 86 2e 6e 6f 6b 65 79 20 43 4d 50 20 |n..:..nokey CMP | 00002750 52 31 32 2c 23 34 3a 4d 4f 56 4c 53 20 50 43 2c |R12,#4:MOVLS PC,| 00002760 6c 69 6e 6b 3a 43 4d 50 20 52 31 32 2c 23 35 32 |link:CMP R12,#52| 00002770 3a 4d 4f 56 48 49 20 50 43 2c 6c 69 6e 6b 3a 41 |:MOVHI PC,link:A| 00002780 44 44 20 52 31 2c 52 31 30 2c 23 36 39 3a 43 4d |DD R1,R10,#69:CM| 00002790 50 20 52 31 31 2c 23 38 3a 42 4c 53 20 63 74 62 |P R11,#8:BLS ctb| 000027a0 3a 43 4d 50 20 52 31 31 2c 23 32 38 3a 4d 4f 56 |:CMP R11,#28:MOV| 000027b0 4c 53 20 50 43 2c 6c 69 6e 6b 3a 53 55 42 20 52 |LS PC,link:SUB R| 000027c0 31 2c 52 31 2c 23 31 0d 07 44 74 2e 63 74 62 20 |1,R1,#1..Dt.ctb | 000027d0 4c 44 52 42 20 52 30 2c 5b 52 31 5d 3a 54 45 51 |LDRB R0,[R1]:TEQ| 000027e0 20 52 30 2c 23 38 3a 42 45 51 20 64 61 3a 54 45 | R0,#8:BEQ da:TE| 000027f0 51 20 52 30 2c 23 39 3a 42 45 51 20 75 61 3a 54 |Q R0,#9:BEQ ua:T| 00002800 45 51 20 52 30 2c 23 31 36 3a 42 45 51 20 65 6e |EQ R0,#16:BEQ en| 00002810 3a 54 45 51 20 52 30 2c 23 31 37 3a 42 45 51 20 |:TEQ R0,#17:BEQ | 00002820 73 77 3a 54 45 51 20 52 30 2c 23 31 38 3a 4d 4f |sw:TEQ R0,#18:MO| 00002830 56 4e 45 20 50 43 2c 6c 69 6e 6b 0d 07 4e 38 2e |VNE PC,link..N8.| 00002840 6b 79 20 41 44 44 20 52 32 2c 52 32 2c 23 31 3a |ky ADD R2,R2,#1:| 00002850 53 54 52 20 52 32 2c 6b 65 79 73 3a 4d 4f 56 20 |STR R2,keys:MOV | 00002860 52 30 2c 23 31 35 3a 53 54 52 42 20 52 30 2c 5b |R0,#15:STRB R0,[| 00002870 52 31 5d 0d 07 58 80 4d 4f 56 20 52 30 2c 23 32 |R1]..X.MOV R0,#2| 00002880 3a 41 44 52 20 52 31 2c 63 6c 61 6e 67 76 6f 69 |:ADR R1,clangvoi| 00002890 63 65 3a 53 57 49 20 22 53 6f 75 6e 64 5f 41 74 |ce:SWI "Sound_At| 000028a0 74 61 63 68 4e 61 6d 65 64 56 6f 69 63 65 22 3a |tachNamedVoice":| 000028b0 4c 44 52 20 52 30 2c 64 6f 6f 72 43 41 3a 4c 44 |LDR R0,doorCA:LD| 000028c0 52 20 52 31 2c 64 6f 6f 72 50 44 3a 82 20 52 31 |R R1,doorPD:. R1| 000028d0 2c 52 31 2c 23 26 46 35 30 3a 53 57 49 20 22 53 |,R1,#&F50:SWI "S| 000028e0 6f 75 6e 64 5f 43 6f 6e 74 72 6f 6c 50 61 63 6b |ound_ControlPack| 000028f0 65 64 22 0d 07 62 9e 53 57 49 20 4f 53 5f 57 72 |ed"..b.SWI OS_Wr| 00002900 69 74 65 49 2b 32 36 3a 4d 4f 56 20 52 30 2c 23 |iteI+26:MOV R0,#| 00002910 33 34 3a 41 44 44 20 52 30 2c 52 30 2c 23 35 31 |34:ADD R0,R0,#51| 00002920 32 3a 53 55 42 53 20 52 33 2c 52 32 2c 23 31 3a |2:SUBS R3,R2,#1:| 00002930 4c 44 52 20 52 31 2c 74 73 70 61 64 64 3a 41 44 |LDR R1,tspadd:AD| 00002940 52 20 52 32 2c 74 74 61 62 3a 4c 44 52 20 52 32 |R R2,ttab:LDR R2| 00002950 2c 5b 52 32 2c 23 31 35 32 5d 3a 4d 4f 56 20 52 |,[R2,#152]:MOV R| 00002960 33 2c 52 33 2c 4c 53 4c 23 35 3a 4d 4f 56 20 52 |3,R3,LSL#5:MOV R| 00002970 34 2c 23 33 32 3a 4d 4f 56 20 52 35 2c 23 30 3a |4,#32:MOV R5,#0:| 00002980 53 57 49 20 22 4f 53 5f 53 70 72 69 74 65 4f 70 |SWI "OS_SpriteOp| 00002990 22 0d 07 6c 94 53 54 4d 46 44 20 28 73 70 29 21 |"..l.STMFD (sp)!| 000029a0 2c 7b 52 30 2d 52 32 7d 3a 4d 4f 56 20 52 30 2c |,{R0-R2}:MOV R0,| 000029b0 23 31 31 32 3a 4c 44 52 20 52 31 2c 62 61 6e 6b |#112:LDR R1,bank| 000029c0 3a 53 57 49 20 22 4f 53 5f 42 79 74 65 22 3a 4c |:SWI "OS_Byte":L| 000029d0 44 4d 46 44 20 28 73 70 29 21 2c 7b 52 30 2d 52 |DMFD (sp)!,{R0-R| 000029e0 32 7d 3a 53 57 49 20 22 4f 53 5f 53 70 72 69 74 |2}:SWI "OS_Sprit| 000029f0 65 4f 70 22 3a 41 44 52 20 52 30 2c 72 65 77 69 |eOp":ADR R0,rewi| 00002a00 6e 3a 4d 4f 56 20 52 31 2c 23 31 34 3a 53 57 49 |n:MOV R1,#14:SWI| 00002a10 20 22 4f 53 5f 57 72 69 74 65 4e 22 3a 42 20 66 | "OS_WriteN":B f| 00002a20 69 6e 72 74 6e 0d 07 76 5d 2e 75 61 20 4c 44 52 |inrtn..v].ua LDR| 00002a30 20 52 30 2c 6c 65 76 65 6c 3a 41 44 52 20 52 31 | R0,level:ADR R1| 00002a40 2c 6c 65 76 74 61 62 3a 4c 44 52 42 20 52 30 2c |,levtab:LDRB R0,| 00002a50 5b 52 31 2c 52 30 5d 3a 4c 44 52 20 52 31 2c 73 |[R1,R0]:LDR R1,s| 00002a60 77 6f 72 64 3a 84 52 53 20 52 30 2c 52 30 2c 52 |word:.RS R0,R0,R| 00002a70 31 2c 4c 53 4c 23 31 3a ec 51 20 50 43 2c 6c 69 |1,LSL#1:.Q PC,li| 00002a80 6e 6b 0d 07 80 3d 2e 64 65 6d 61 6e 20 53 54 4d |nk...=.deman STM| 00002a90 46 44 20 28 73 70 29 21 2c 7b 52 30 7d 3a 41 44 |FD (sp)!,{R0}:AD| 00002aa0 52 20 52 30 2c 65 6d 61 6e 3a 53 54 52 20 52 30 |R R0,eman:STR R0| 00002ab0 2c 6d 6e 74 62 3a 4d 4f 56 20 52 36 2c 23 30 0d |,mntb:MOV R6,#0.| 00002ac0 07 8a b0 2e 64 65 6d 61 6e 6c 70 20 53 54 52 20 |....demanlp STR | 00002ad0 52 36 2c 6d 6e 61 3a 42 4c 20 44 72 61 77 4c 61 |R6,mna:BL DrawLa| 00002ae0 62 79 3a 4d 4f 56 20 52 33 2c 23 32 3a 42 4c 20 |by:MOV R3,#2:BL | 00002af0 64 65 6c 61 79 3a 41 44 44 20 52 36 2c 52 36 2c |delay:ADD R6,R6,| 00002b00 23 34 3a 43 4d 50 20 52 36 2c 23 32 30 3a 42 4e |#4:CMP R6,#20:BN| 00002b10 45 20 64 65 6d 61 6e 6c 70 3a 4d 4f 56 20 52 30 |E demanlp:MOV R0| 00002b20 2c 23 32 35 35 3a 53 54 52 20 52 30 2c 6d 6e 61 |,#255:STR R0,mna| 00002b30 3a 42 4c 20 44 72 61 77 4c 61 62 79 3a 4d 4f 56 |:BL DrawLaby:MOV| 00002b40 20 52 33 2c 23 34 3a 42 4c 20 64 65 6c 61 79 3a | R3,#4:BL delay:| 00002b50 42 4c 20 66 61 64 65 5f 6f 75 74 3a 4c 44 4d 46 |BL fade_out:LDMF| 00002b60 44 20 28 73 70 29 21 2c 7b 52 30 2c 50 43 7d 0d |D (sp)!,{R0,PC}.| 00002b70 07 94 19 2e 64 61 20 4d 4f 56 20 52 30 2c 23 30 |....da MOV R0,#0| 00002b80 3a 42 20 64 65 6d 61 6e 0d 07 9e 2a 2e 72 6d 6f |:B deman...*.rmo| 00002b90 75 73 65 20 45 51 55 42 20 33 3a 45 51 55 57 20 |use EQUB 3:EQUW | 00002ba0 36 34 30 3a 45 51 55 57 20 34 30 30 3a 41 4c 49 |640:EQUW 400:ALI| 00002bb0 47 4e 0d 07 a8 38 2e 65 6e 20 4d 56 4e 20 52 30 |GN...8.en MVN R0| 00002bc0 2c 23 34 35 3a 53 54 52 20 52 30 2c 65 6e 65 72 |,#45:STR R0,ener| 00002bd0 63 74 3a 4d 4f 56 20 52 30 2c 23 31 35 3a 53 54 |ct:MOV R0,#15:ST| 00002be0 52 42 20 52 30 2c 5b 52 31 5d 0d 07 b2 8b 4d 4f |RB R0,[R1]....MO| 00002bf0 56 20 52 30 2c 23 32 3a 41 44 52 20 52 31 2c 62 |V R0,#2:ADR R1,b| 00002c00 6f 69 6e 67 76 6f 69 63 65 3a 53 57 49 20 22 53 |oingvoice:SWI "S| 00002c10 6f 75 6e 64 5f 41 74 74 61 63 68 4e 61 6d 65 64 |ound_AttachNamed| 00002c20 56 6f 69 63 65 22 3a 4c 44 52 20 52 30 2c 64 6f |Voice":LDR R0,do| 00002c30 6f 72 43 41 3a 4c 44 52 20 52 31 2c 64 6f 6f 72 |orCA:LDR R1,door| 00002c40 50 44 3a 84 52 20 52 31 2c 52 31 2c 23 26 31 30 |PD:.R R1,R1,#&10| 00002c50 30 30 3a 53 57 49 20 22 53 6f 75 6e 64 5f 43 6f |00:SWI "Sound_Co| 00002c60 6e 74 72 6f 6c 50 61 63 6b 65 64 22 3a 42 20 66 |ntrolPacked":B f| 00002c70 69 6e 72 74 6e 0d 07 bc 36 2e 73 77 20 4d 4f 56 |inrtn...6.sw MOV| 00002c80 20 52 30 2c 23 31 3a 53 54 52 20 52 30 2c 73 77 | R0,#1:STR R0,sw| 00002c90 6f 72 64 3a 4d 4f 56 20 52 30 2c 23 31 35 3a 53 |ord:MOV R0,#15:S| 00002ca0 54 52 42 20 52 30 2c 5b 52 31 5d 0d 07 c6 72 4d |TRB R0,[R1]...rM| 00002cb0 4f 56 20 52 30 2c 23 32 3a 41 44 52 20 52 31 2c |OV R0,#2:ADR R1,| 00002cc0 63 6c 61 6e 67 76 6f 69 63 65 3a 53 57 49 20 22 |clangvoice:SWI "| 00002cd0 53 6f 75 6e 64 5f 41 74 74 61 63 68 4e 61 6d 65 |Sound_AttachName| 00002ce0 64 56 6f 69 63 65 22 3a 4c 44 52 20 52 30 2c 64 |dVoice":LDR R0,d| 00002cf0 6f 6f 72 43 41 3a 4c 44 52 20 52 31 2c 64 6f 6f |oorCA:LDR R1,doo| 00002d00 72 50 44 3a 53 57 49 20 22 53 6f 75 6e 64 5f 43 |rPD:SWI "Sound_C| 00002d10 6f 6e 74 72 6f 6c 50 61 63 6b 65 64 22 0d 07 d0 |ontrolPacked"...| 00002d20 8d 53 57 49 20 4f 53 5f 57 72 69 74 65 49 2b 32 |.SWI OS_WriteI+2| 00002d30 36 3a 4d 4f 56 20 52 30 2c 23 33 34 3a 41 44 44 |6:MOV R0,#34:ADD| 00002d40 20 52 30 2c 52 30 2c 23 35 31 32 3a 4c 44 52 20 | R0,R0,#512:LDR | 00002d50 52 31 2c 74 73 70 61 64 64 3a 41 44 52 20 52 32 |R1,tspadd:ADR R2| 00002d60 2c 74 74 61 62 3a 4c 44 52 20 52 32 2c 5b 52 32 |,ttab:LDR R2,[R2| 00002d70 2c 23 31 34 38 5d 3a 4d 4f 56 20 52 33 2c 23 31 |,#148]:MOV R3,#1| 00002d80 32 31 36 3a 4d 4f 56 20 52 34 2c 23 33 32 3a 4d |216:MOV R4,#32:M| 00002d90 4f 56 20 52 35 2c 23 30 3a 53 57 49 20 22 4f 53 |OV R5,#0:SWI "OS| 00002da0 5f 53 70 72 69 74 65 4f 70 22 0d 07 da 8b 53 54 |_SpriteOp"....ST| 00002db0 4d 46 44 20 28 73 70 29 21 2c 7b 52 30 2d 52 32 |MFD (sp)!,{R0-R2| 00002dc0 7d 3a 4d 4f 56 20 52 30 2c 23 31 31 32 3a 4c 44 |}:MOV R0,#112:LD| 00002dd0 52 20 52 31 2c 62 61 6e 6b 3a 53 57 49 20 22 4f |R R1,bank:SWI "O| 00002de0 53 5f 42 79 74 65 22 3a 4c 44 4d 46 44 20 28 73 |S_Byte":LDMFD (s| 00002df0 70 29 21 2c 7b 52 30 2d 52 32 7d 3a 53 57 49 20 |p)!,{R0-R2}:SWI | 00002e00 22 4f 53 5f 53 70 72 69 74 65 4f 70 22 3a 41 44 |"OS_SpriteOp":AD| 00002e10 52 20 52 30 2c 72 65 77 69 6e 3a 4d 4f 56 20 52 |R R0,rewin:MOV R| 00002e20 31 2c 23 31 34 3a 53 57 49 20 22 4f 53 5f 57 72 |1,#14:SWI "OS_Wr| 00002e30 69 74 65 4e 22 0d 07 e4 5a 2e 66 69 6e 72 74 6e |iteN"...Z.finrtn| 00002e40 20 54 45 51 20 52 36 2c 23 31 36 3a 4d 4f 56 4e | TEQ R6,#16:MOVN| 00002e50 45 20 50 43 2c 6c 69 6e 6b 3a 53 54 4d 46 44 20 |E PC,link:STMFD | 00002e60 28 73 70 29 21 2c 7b 52 36 2c 6c 69 6e 6b 7d 3a |(sp)!,{R6,link}:| 00002e70 42 4c 20 44 72 61 77 4c 61 62 79 3a 4c 44 4d 46 |BL DrawLaby:LDMF| 00002e80 44 20 28 73 70 29 21 2c 7b 52 36 2c 50 43 7d 0d |D (sp)!,{R6,PC}.| 00002e90 07 ee 89 2e 64 65 61 64 20 4d 4f 56 20 52 30 2c |....dead MOV R0,| 00002ea0 23 32 3a 41 44 52 20 52 31 2c 68 75 72 74 76 6f |#2:ADR R1,hurtvo| 00002eb0 69 63 65 3a 53 57 49 20 22 53 6f 75 6e 64 5f 41 |ice:SWI "Sound_A| 00002ec0 74 74 61 63 68 4e 61 6d 65 64 56 6f 69 63 65 22 |ttachNamedVoice"| 00002ed0 3a 4c 44 52 20 52 30 2c 64 6f 6f 72 43 41 3a 4c |:LDR R0,doorCA:L| 00002ee0 44 52 20 52 31 2c 64 6f 6f 72 50 44 3a 53 57 49 |DR R1,doorPD:SWI| 00002ef0 20 22 53 6f 75 6e 64 5f 43 6f 6e 74 72 6f 6c 50 | "Sound_ControlP| 00002f00 61 63 6b 65 64 22 3a 4d 4f 56 20 52 30 2c 23 34 |acked":MOV R0,#4| 00002f10 3a 42 20 64 65 6d 61 6e 0d 07 f8 56 2e 72 65 77 |:B deman...V.rew| 00002f20 69 6e 20 45 51 55 42 20 32 34 3a 45 51 55 57 20 |in EQUB 24:EQUW | 00002f30 34 34 34 3a 45 51 55 57 20 32 36 38 3a 45 51 55 |444:EQUW 268:EQU| 00002f40 57 20 37 36 30 3a 45 51 55 57 20 35 36 34 3a 45 |W 760:EQUW 564:E| 00002f50 51 55 42 20 32 39 3a 45 51 55 57 20 33 38 34 3a |QUB 29:EQUW 384:| 00002f60 45 51 55 57 20 32 36 38 3a 41 4c 49 47 4e 0d 08 |EQUW 268:ALIGN..| 00002f70 02 10 2e 62 61 6e 6b 20 45 51 55 44 20 32 0d 08 |...bank EQUD 2..| 00002f80 0c 11 2e 6c 65 76 65 6c 20 45 51 55 44 20 30 0d |...level EQUD 0.| 00002f90 08 16 19 2e 6c 65 76 74 61 62 20 45 51 55 44 20 |....levtab EQUD | 00002fa0 30 3a 45 51 55 44 20 30 0d 08 20 32 2e 64 6f 6f |0:EQUD 0.. 2.doo| 00002fb0 72 76 6f 69 63 65 20 45 51 55 53 20 22 49 72 6f |rvoice EQUS "Iro| 00002fc0 6e 45 66 66 65 63 74 2d 44 6f 6f 72 22 3a 45 51 |nEffect-Door":EQ| 00002fd0 55 42 20 30 3a 41 4c 49 47 4e 0d 08 2a 2f 2e 63 |UB 0:ALIGN..*/.c| 00002fe0 6c 61 6e 67 76 6f 69 63 65 20 45 51 55 53 20 22 |langvoice EQUS "| 00002ff0 49 72 6f 6e 45 66 66 65 63 74 2d 43 6c 61 6e 67 |IronEffect-Clang| 00003000 31 22 3a 45 51 55 42 20 30 0d 08 34 38 2e 62 6f |1":EQUB 0..48.bo| 00003010 69 6e 67 76 6f 69 63 65 20 45 51 55 53 20 22 49 |ingvoice EQUS "I| 00003020 72 6f 6e 45 66 66 65 63 74 2d 41 72 72 6f 77 4d |ronEffect-ArrowM| 00003030 69 73 73 22 3a 45 51 55 42 20 30 3a 41 4c 49 47 |iss":EQUB 0:ALIG| 00003040 4e 0d 08 3e 32 2e 68 75 72 74 76 6f 69 63 65 20 |N..>2.hurtvoice | 00003050 45 51 55 53 20 22 49 72 6f 6e 45 66 66 65 63 74 |EQUS "IronEffect| 00003060 2d 48 75 72 74 22 3a 45 51 55 42 20 30 3a 41 4c |-Hurt":EQUB 0:AL| 00003070 49 47 4e 0d 08 48 05 5d 0d 08 52 32 74 74 61 62 |IGN..H.]..R2ttab| 00003080 3d 50 25 3a e3 20 49 25 3d 30 20 b8 20 33 38 3a |=P%:. I%=0 . 38:| 00003090 21 50 25 3d 54 53 50 25 2b 31 36 2b 49 25 2a 31 |!P%=TSP%+16+I%*1| 000030a0 37 32 3a 50 25 2b 3d 34 3a ed 0d 08 5c 0b 5b 4f |72:P%+=4:...\.[O| 000030b0 50 54 20 6f 25 0d 08 66 13 5c 44 72 61 77 20 6c |PT o%..f.\Draw l| 000030c0 61 62 79 72 69 6e 74 68 0d 08 70 0d 2e 44 72 61 |abyrinth..p..Dra| 000030d0 77 4c 61 62 79 0d 08 7a 97 4d 4f 56 20 52 33 2c |wLaby..z.MOV R3,| 000030e0 52 31 31 3a 41 44 44 20 52 34 2c 52 31 32 2c 23 |R11:ADD R4,R12,#| 000030f0 32 35 36 3a 4d 4f 56 20 52 30 2c 23 31 31 32 3a |256:MOV R0,#112:| 00003100 4c 44 52 20 52 31 2c 62 61 6e 6b 3a 53 57 49 20 |LDR R1,bank:SWI | 00003110 22 4f 53 5f 42 79 74 65 22 3a 4d 4f 56 20 52 30 |"OS_Byte":MOV R0| 00003120 2c 23 33 34 3a 41 44 44 20 52 30 2c 52 30 2c 23 |,#34:ADD R0,R0,#| 00003130 35 31 32 3a 4c 44 52 20 52 31 2c 74 73 70 61 64 |512:LDR R1,tspad| 00003140 64 3a 4d 4f 56 20 52 35 2c 23 30 3a 4d 4f 56 20 |d:MOV R5,#0:MOV | 00003150 52 36 2c 23 36 3a 4d 4f 56 20 52 37 2c 52 31 30 |R6,#6:MOV R7,R10| 00003160 3a 41 44 52 20 52 38 2c 74 74 61 62 0d 08 84 13 |:ADR R8,ttab....| 00003170 2e 64 6c 6c 31 20 4d 4f 56 20 52 39 2c 23 36 0d |.dll1 MOV R9,#6.| 00003180 08 8e a7 2e 64 6c 6c 32 20 4c 44 52 42 20 52 32 |....dll2 LDRB R2| 00003190 2c 5b 52 37 5d 2c 23 31 3a 4c 44 52 20 52 32 2c |,[R7],#1:LDR R2,| 000031a0 5b 52 38 2c 52 32 2c 4c 53 4c 23 32 5d 3a 53 57 |[R8,R2,LSL#2]:SW| 000031b0 49 20 22 4f 53 5f 53 70 72 69 74 65 4f 70 22 3a |I "OS_SpriteOp":| 000031c0 41 44 44 20 52 33 2c 52 33 2c 23 36 34 3a 53 55 |ADD R3,R3,#64:SU| 000031d0 42 53 20 52 39 2c 52 39 2c 23 31 3a 42 4e 45 20 |BS R9,R9,#1:BNE | 000031e0 64 6c 6c 32 3a 53 55 42 20 52 33 2c 52 33 2c 23 |dll2:SUB R3,R3,#| 000031f0 33 38 34 3a 53 55 42 20 52 34 2c 52 34 2c 23 36 |384:SUB R4,R4,#6| 00003200 34 3a 41 44 44 20 52 37 2c 52 37 2c 23 31 36 3a |4:ADD R7,R7,#16:| 00003210 53 55 42 53 20 52 36 2c 52 36 2c 23 31 3a 42 4e |SUBS R6,R6,#1:BN| 00003220 45 20 64 6c 6c 31 0d 08 98 b6 4c 44 52 20 52 31 |E dll1....LDR R1| 00003230 2c 74 73 70 61 64 64 3a 4c 44 52 20 52 32 2c 6d |,tspadd:LDR R2,m| 00003240 73 70 61 64 64 3a 4d 4f 56 20 52 33 2c 23 36 30 |spadd:MOV R3,#60| 00003250 3a 4d 4f 56 20 52 34 2c 23 30 3a 4d 4f 56 20 52 |:MOV R4,#0:MOV R| 00003260 35 2c 23 38 3a 53 57 49 20 22 4f 53 5f 53 70 72 |5,#8:SWI "OS_Spr| 00003270 69 74 65 4f 70 22 3a 4c 44 52 20 52 32 2c 6d 6e |iteOp":LDR R2,mn| 00003280 74 62 3a 4c 44 52 20 52 36 2c 6d 6e 61 3a 54 45 |tb:LDR R6,mna:TE| 00003290 51 20 52 36 2c 23 32 35 35 3a 42 45 51 20 6e 6f |Q R6,#255:BEQ no| 000032a0 6d 61 6e 3a 4c 44 52 20 52 32 2c 5b 52 32 2c 52 |man:LDR R2,[R2,R| 000032b0 36 5d 3a 4d 4f 56 20 52 33 2c 23 31 38 34 3a 4d |6]:MOV R3,#184:M| 000032c0 4f 56 20 52 34 2c 23 31 32 34 3a 53 57 49 20 22 |OV R4,#124:SWI "| 000032d0 4f 53 5f 53 70 72 69 74 65 4f 70 22 0d 08 a2 60 |OS_SpriteOp"...`| 000032e0 2e 6e 6f 6d 61 6e 20 4d 4f 56 20 52 30 2c 23 31 |.noman MOV R0,#1| 000032f0 39 3a 53 57 49 20 22 4f 53 5f 42 79 74 65 22 3a |9:SWI "OS_Byte":| 00003300 4d 4f 56 20 52 30 2c 23 31 31 33 3a 4c 44 52 20 |MOV R0,#113:LDR | 00003310 52 31 2c 62 61 6e 6b 3a 82 20 52 33 2c 52 31 2c |R1,bank:. R3,R1,| 00003320 23 33 3a 53 57 49 20 22 4f 53 5f 42 79 74 65 22 |#3:SWI "OS_Byte"| 00003330 3a 53 54 52 20 52 33 2c 62 61 6e 6b 0d 08 ac 0f |:STR R3,bank....| 00003340 4d 4f 56 20 50 43 2c 6c 69 6e 6b 0d 08 b6 05 5c |MOV PC,link....\| 00003350 0d 08 c0 37 2e 74 73 74 6b 65 79 20 53 57 49 20 |...7.tstkey SWI | 00003360 22 4f 53 5f 52 65 61 64 45 73 63 61 70 65 53 74 |"OS_ReadEscapeSt| 00003370 61 74 65 22 3a 4c 44 4d 43 53 46 44 20 28 73 70 |ate":LDMCSFD (sp| 00003380 29 21 2c 7b 50 43 7d 0d 08 ca 4a 4d 4f 56 20 52 |)!,{PC}...JMOV R| 00003390 36 2c 23 30 3a 4d 4f 56 20 52 30 2c 23 31 32 31 |6,#0:MOV R0,#121| 000033a0 3a 4d 4f 56 20 52 31 2c 23 70 61 75 73 65 25 3a |:MOV R1,#pause%:| 000033b0 53 57 49 20 22 4f 53 5f 42 79 74 65 22 3a 54 45 |SWI "OS_Byte":TE| 000033c0 51 20 52 31 2c 23 30 3a 42 4e 45 20 70 61 75 73 |Q R1,#0:BNE paus| 000033d0 65 0d 08 d4 d2 4d 4f 56 20 52 31 2c 23 6c 65 66 |e....MOV R1,#lef| 000033e0 74 25 3a 53 57 49 20 22 4f 53 5f 42 79 74 65 22 |t%:SWI "OS_Byte"| 000033f0 3a 54 45 51 20 52 31 2c 23 30 3a 84 52 4e 45 20 |:TEQ R1,#0:.RNE | 00003400 52 36 2c 52 36 2c 23 31 3a 4d 4f 56 20 52 31 2c |R6,R6,#1:MOV R1,| 00003410 23 72 69 67 68 74 25 3a 53 57 49 20 22 4f 53 5f |#right%:SWI "OS_| 00003420 42 79 74 65 22 3a 54 45 51 20 52 31 2c 23 30 3a |Byte":TEQ R1,#0:| 00003430 84 52 4e 45 20 52 36 2c 52 36 2c 23 32 3a 4d 4f |.RNE R6,R6,#2:MO| 00003440 56 20 52 31 2c 23 64 6f 77 6e 25 3a 53 57 49 20 |V R1,#down%:SWI | 00003450 22 4f 53 5f 42 79 74 65 22 3a 54 45 51 20 52 31 |"OS_Byte":TEQ R1| 00003460 2c 23 30 3a 84 52 4e 45 20 52 36 2c 52 36 2c 23 |,#0:.RNE R6,R6,#| 00003470 34 3a 4d 4f 56 20 52 31 2c 23 75 70 25 3a 53 57 |4:MOV R1,#up%:SW| 00003480 49 20 22 4f 53 5f 42 79 74 65 22 3a 54 45 51 20 |I "OS_Byte":TEQ | 00003490 52 31 2c 23 30 3a 84 52 4e 45 20 52 36 2c 52 36 |R1,#0:.RNE R6,R6| 000034a0 2c 23 38 0d 08 de 8e 4c 44 52 20 52 31 2c 6c 61 |,#8....LDR R1,la| 000034b0 73 74 63 6f 6d 62 3a 53 54 52 20 52 36 2c 6c 61 |stcomb:STR R6,la| 000034c0 73 74 63 6f 6d 62 3a 82 53 20 52 31 2c 52 31 2c |stcomb:.S R1,R1,| 000034d0 52 36 3a 4c 44 52 45 51 20 52 36 2c 6c 61 73 74 |R6:LDREQ R6,last| 000034e0 6b 65 79 3a 42 45 51 20 67 74 6b 65 79 3a 80 53 |key:BEQ gtkey:.S| 000034f0 20 52 32 2c 52 31 2c 52 36 3a 4d 4f 56 4e 45 20 | R2,R1,R6:MOVNE | 00003500 52 36 2c 52 32 3a 42 4e 45 20 67 74 6b 65 79 3a |R6,R2:BNE gtkey:| 00003510 4c 44 52 20 52 32 2c 6c 61 73 74 6b 65 79 3a 54 |LDR R2,lastkey:T| 00003520 53 54 20 52 31 2c 52 32 3a ec 51 20 52 36 2c 52 |ST R1,R2:.Q R6,R| 00003530 32 0d 08 e8 5b 2e 67 74 6b 65 79 20 80 53 20 52 |2...[.gtkey .S R| 00003540 31 2c 52 36 2c 23 31 3a 80 45 51 53 20 52 31 2c |1,R6,#1:.EQS R1,| 00003550 52 36 2c 23 32 3a 80 45 51 53 20 52 31 2c 52 36 |R6,#2:.EQS R1,R6| 00003560 2c 23 34 3a 80 45 51 53 20 52 31 2c 52 36 2c 23 |,#4:.EQS R1,R6,#| 00003570 38 3a 4d 4f 56 4e 45 20 52 36 2c 52 31 3a 53 54 |8:MOVNE R6,R1:ST| 00003580 52 20 52 36 2c 6c 61 73 74 6b 65 79 0d 08 f2 50 |R R6,lastkey...P| 00003590 4d 4f 56 20 52 31 2c 23 66 69 72 65 25 3a 53 57 |MOV R1,#fire%:SW| 000035a0 49 20 22 4f 53 5f 42 79 74 65 22 3a 54 45 51 20 |I "OS_Byte":TEQ | 000035b0 52 31 2c 23 30 3a 84 52 4e 45 20 52 36 2c 52 36 |R1,#0:.RNE R6,R6| 000035c0 2c 23 31 36 3a 54 45 51 20 52 36 2c 23 30 3a 4d |,#16:TEQ R6,#0:M| 000035d0 4f 56 4e 45 20 50 43 2c 6c 69 6e 6b 0d 08 fc da |OVNE PC,link....| 000035e0 53 57 49 20 22 4f 53 5f 4d 6f 75 73 65 22 3a 54 |SWI "OS_Mouse":T| 000035f0 53 54 20 52 32 2c 23 34 3a 42 45 51 20 6d 72 74 |ST R2,#4:BEQ mrt| 00003600 6e 3a 53 55 42 53 20 52 33 2c 52 30 2c 23 36 34 |n:SUBS R3,R0,#64| 00003610 30 3a 52 53 42 4d 49 20 52 33 2c 52 33 2c 23 30 |0:RSBMI R3,R3,#0| 00003620 3a 53 55 42 53 20 52 34 2c 52 31 2c 23 34 30 30 |:SUBS R4,R1,#400| 00003630 3a 52 53 42 4d 49 20 52 34 2c 52 34 2c 23 30 3a |:RSBMI R4,R4,#0:| 00003640 43 4d 50 20 52 33 2c 23 31 3a 4d 4f 56 4c 53 20 |CMP R3,#1:MOVLS | 00003650 52 33 2c 23 30 3a 43 4d 50 20 52 34 2c 23 31 3a |R3,#0:CMP R4,#1:| 00003660 4d 4f 56 4c 53 20 52 34 2c 23 30 3a 43 4d 50 20 |MOVLS R4,#0:CMP | 00003670 52 33 2c 52 34 3a 42 45 51 20 6e 6f 6d 6f 76 3a |R3,R4:BEQ nomov:| 00003680 42 48 49 20 78 67 74 3a 43 4d 50 20 52 31 2c 23 |BHI xgt:CMP R1,#| 00003690 34 30 30 3a 84 52 4c 54 20 52 36 2c 52 36 2c 23 |400:.RLT R6,R6,#| 000036a0 34 3a 84 52 47 54 20 52 36 2c 52 36 2c 23 38 3a |4:.RGT R6,R6,#8:| 000036b0 42 20 6d 72 74 6e 0d 09 06 37 2e 78 67 74 20 43 |B mrtn...7.xgt C| 000036c0 4d 50 20 52 30 2c 23 36 34 30 3a 84 52 4c 54 20 |MP R0,#640:.RLT | 000036d0 52 36 2c 52 36 2c 23 31 3a 84 52 47 54 20 52 36 |R6,R6,#1:.RGT R6| 000036e0 2c 52 36 2c 23 32 3a 42 20 6d 72 74 6e 0d 09 10 |,R6,#2:B mrtn...| 000036f0 1a 2e 6e 6f 6d 6f 76 20 4c 44 52 20 52 36 2c 6c |..nomov LDR R6,l| 00003700 61 73 74 6d 6b 65 79 0d 09 1a 65 2e 6d 72 74 6e |astmkey...e.mrtn| 00003710 20 53 54 52 20 52 36 2c 6c 61 73 74 6d 6b 65 79 | STR R6,lastmkey| 00003720 3a 54 53 54 20 52 32 2c 23 33 3a 84 52 4e 45 20 |:TST R2,#3:.RNE | 00003730 52 36 2c 52 36 2c 23 31 36 3a 4d 4f 56 20 52 30 |R6,R6,#16:MOV R0| 00003740 2c 23 32 31 3a 41 44 52 20 52 31 2c 72 6d 6f 75 |,#21:ADR R1,rmou| 00003750 73 65 3a 53 57 49 20 22 4f 53 5f 57 6f 72 64 22 |se:SWI "OS_Word"| 00003760 3a 4d 4f 56 20 50 43 2c 6c 69 6e 6b 0d 09 24 39 |:MOV PC,link..$9| 00003770 2e 70 61 75 73 65 20 4d 4f 56 20 52 30 2c 23 31 |.pause MOV R0,#1| 00003780 33 3a 4d 4f 56 20 52 31 2c 23 34 3a 53 57 49 20 |3:MOV R1,#4:SWI | 00003790 22 4f 53 5f 42 79 74 65 22 3a 4d 4f 56 20 52 30 |"OS_Byte":MOV R0| 000037a0 2c 23 31 32 31 0d 09 2e 41 2e 72 65 6c 70 61 75 |,#121...A.relpau| 000037b0 73 65 20 4d 4f 56 20 52 31 2c 23 70 61 75 73 65 |se MOV R1,#pause| 000037c0 25 3a 53 57 49 20 22 4f 53 5f 42 79 74 65 22 3a |%:SWI "OS_Byte":| 000037d0 54 45 51 20 52 31 2c 23 30 3a 42 4e 45 20 72 65 |TEQ R1,#0:BNE re| 000037e0 6c 70 61 75 73 65 0d 09 38 3f 2e 75 6e 70 61 75 |lpause..8?.unpau| 000037f0 73 65 20 4d 4f 56 20 52 31 2c 23 70 61 75 73 65 |se MOV R1,#pause| 00003800 25 3a 53 57 49 20 22 4f 53 5f 42 79 74 65 22 3a |%:SWI "OS_Byte":| 00003810 54 45 51 20 52 31 2c 23 30 3a 42 45 51 20 75 6e |TEQ R1,#0:BEQ un| 00003820 70 61 75 73 65 0d 09 42 41 2e 66 69 6e 70 61 75 |pause..BA.finpau| 00003830 73 65 20 4d 4f 56 20 52 31 2c 23 70 61 75 73 65 |se MOV R1,#pause| 00003840 25 3a 53 57 49 20 22 4f 53 5f 42 79 74 65 22 3a |%:SWI "OS_Byte":| 00003850 54 45 51 20 52 31 2c 23 30 3a 42 4e 45 20 66 69 |TEQ R1,#0:BNE fi| 00003860 6e 70 61 75 73 65 0d 09 4c 32 4d 4f 56 20 52 30 |npause..L2MOV R0| 00003870 2c 23 31 34 3a 4d 4f 56 20 52 31 2c 23 34 3a 53 |,#14:MOV R1,#4:S| 00003880 57 49 20 22 4f 53 5f 42 79 74 65 22 3a 4d 4f 56 |WI "OS_Byte":MOV| 00003890 20 50 43 2c 6c 69 6e 6b 0d 09 56 05 5c 0d 09 60 | PC,link..V.\..`| 000038a0 13 2e 6c 61 73 74 6b 65 79 20 45 51 55 44 20 30 |..lastkey EQUD 0| 000038b0 0d 09 6a 14 2e 6c 61 73 74 6d 6b 65 79 20 45 51 |..j..lastmkey EQ| 000038c0 55 44 20 30 0d 09 74 14 2e 6c 61 73 74 63 6f 6d |UD 0..t..lastcom| 000038d0 62 20 45 51 55 44 20 30 0d 09 7e 15 2e 67 73 70 |b EQUD 0..~..gsp| 000038e0 61 64 64 20 45 51 55 44 20 47 53 50 25 0d 09 88 |add EQUD GSP%...| 000038f0 11 2e 73 61 64 64 20 45 51 55 44 20 53 25 0d 09 |..sadd EQUD S%..| 00003900 92 11 2e 74 61 64 64 20 45 51 55 44 20 54 25 0d |...tadd EQUD T%.| 00003910 09 9c 3a 5c 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a |..:\************| 00003920 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a |****************| * 00003940 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 09 a6 05 5c 0d 09 |*********....\..| 00003950 b0 05 5d 0d 09 ba 23 65 79 65 73 3d 50 25 3a 21 |..]...#eyes=P%:!| 00003960 50 25 3d 35 34 34 3a 50 25 21 34 3d 36 36 34 3a |P%=544:P%!4=664:| 00003970 50 25 2b 3d 31 32 0d 09 c4 18 64 72 6f 70 3d 50 |P%+=12....drop=P| 00003980 25 3a 21 50 25 3d 30 3a 50 25 2b 3d 31 32 0d 09 |%:!P%=0:P%+=12..| 00003990 ce 26 62 6f 6d 62 73 3d 50 25 3a e3 20 49 25 3d |.&bombs=P%:. I%=| 000039a0 30 20 b8 20 38 3a 21 50 25 3d 30 3a 50 25 2b 3d |0 . 8:!P%=0:P%+=| 000039b0 31 32 3a ed 0d 09 d8 27 61 6c 69 65 6e 73 3d 50 |12:....'aliens=P| 000039c0 25 3a e3 20 49 25 3d 30 20 b8 20 38 3a 21 50 25 |%:. I%=0 . 8:!P%| 000039d0 3d 30 3a 50 25 2b 3d 31 32 3a ed 0d 09 e2 21 6d |=0:P%+=12:....!m| 000039e0 61 6e 74 3d 50 25 3a 21 50 25 3d 30 3a 50 25 21 |ant=P%:!P%=0:P%!| 000039f0 34 3d 31 38 30 3a 50 25 2b 3d 31 32 0d 09 ec 21 |4=180:P%+=12...!| 00003a00 6d 61 6e 62 3d 50 25 3a 21 50 25 3d 30 3a 50 25 |manb=P%:!P%=0:P%| 00003a10 21 34 3d 31 30 30 3a 50 25 2b 3d 31 32 0d 09 f6 |!4=100:P%+=12...| 00003a20 18 73 68 6f 74 3d 50 25 3a 21 50 25 3d 30 3a 50 |.shot=P%:!P%=0:P| 00003a30 25 2b 3d 31 32 0d 0a 00 0b 5b 4f 50 54 20 6f 25 |%+=12....[OPT o%| 00003a40 0d 0a 0a 05 5c 0d 0a 14 16 2e 72 61 6e 64 6f 6d |....\.....random| 00003a50 20 45 51 55 44 20 33 38 37 37 31 0d 0a 1e 1a 2e | EQUD 38771.....| 00003a60 72 63 6f 6e 73 74 20 45 51 55 44 20 26 31 44 38 |rconst EQUD &1D8| 00003a70 37 32 42 34 31 0d 0a 28 12 2e 66 69 66 6c 61 67 |72B41..(..fiflag| 00003a80 20 45 51 55 44 20 30 0d 0a 32 12 2e 65 79 65 64 | EQUD 0..2..eyed| 00003a90 65 6c 20 45 51 55 44 20 30 0d 0a 3c 13 2e 64 72 |el EQUD 0..<..dr| 00003aa0 6f 70 64 65 6c 20 45 51 55 44 20 30 0d 0a 46 1f |opdel EQUD 0..F.| 00003ab0 2e 61 66 6c 61 67 20 45 51 55 44 20 30 3a 45 51 |.aflag EQUD 0:EQ| 00003ac0 55 44 20 30 3a 45 51 55 44 20 30 0d 0a 50 05 5c |UD 0:EQUD 0..P.\| 00003ad0 0d 0a 5a 1b 2e 7a 61 70 20 53 54 4d 46 44 20 28 |..Z..zap STMFD (| 00003ae0 73 70 29 21 2c 7b 6c 69 6e 6b 7d 0d 0a 64 3f 4d |sp)!,{link}..d?M| 00003af0 4f 56 20 52 30 2c 23 31 39 3a 53 57 49 20 22 4f |OV R0,#19:SWI "O| 00003b00 53 5f 42 79 74 65 22 3a 4d 4f 56 20 52 30 2c 23 |S_Byte":MOV R0,#| 00003b10 31 34 3a 4d 4f 56 20 52 31 2c 23 34 3a 53 57 49 |14:MOV R1,#4:SWI| 00003b20 20 22 4f 53 5f 42 79 74 65 22 0d 0a 6e 8d 2e 7a | "OS_Byte"..n..z| 00003b30 61 70 6c 70 20 4d 4f 56 20 52 30 2c 23 31 39 3a |aplp MOV R0,#19:| 00003b40 53 57 49 20 22 4f 53 5f 42 79 74 65 22 3a 4c 44 |SWI "OS_Byte":LD| 00003b50 52 20 52 31 2c 62 61 6e 6b 3a 43 4d 50 20 52 31 |R R1,bank:CMP R1| 00003b60 2c 23 30 3a 42 4d 49 20 7a 61 70 6c 70 3a 4d 4f |,#0:BMI zaplp:MO| 00003b70 56 20 52 30 2c 23 31 31 33 3a 53 57 49 20 22 4f |V R0,#113:SWI "O| 00003b80 53 5f 42 79 74 65 22 3a 53 54 52 20 52 31 2c 62 |S_Byte":STR R1,b| 00003b90 61 6e 6b 3a 4d 4f 56 20 52 33 2c 52 31 3a 4d 4f |ank:MOV R3,R1:MO| 00003ba0 56 20 52 30 2c 23 31 31 32 3a 53 57 49 20 22 4f |V R0,#112:SWI "O| 00003bb0 53 5f 42 79 74 65 22 0d 0a 78 31 41 44 52 20 52 |S_Byte"..x1ADR R| 00003bc0 30 2c 73 61 64 64 2d 34 3a 4c 44 52 20 52 32 2c |0,sadd-4:LDR R2,| 00003bd0 5b 52 30 2c 52 33 2c 4c 53 4c 23 32 5d 3a 42 4c |[R0,R3,LSL#2]:BL| 00003be0 20 7a 61 70 63 6f 70 79 0d 0a 82 09 5c 70 6c 6f | zapcopy....\plo| 00003bf0 74 0d 0a 8c 60 4d 4f 56 20 52 31 32 2c 23 32 33 |t...`MOV R12,#23| 00003c00 3a 41 44 52 20 52 31 31 2c 65 79 65 73 2d 31 32 |:ADR R11,eyes-12| 00003c10 3a 41 44 52 20 52 31 30 2c 73 70 72 74 61 62 3a |:ADR R10,sprtab:| 00003c20 4d 4f 56 20 52 30 2c 23 33 34 3a 41 44 44 20 52 |MOV R0,#34:ADD R| 00003c30 30 2c 52 30 2c 23 35 31 32 3a 4c 44 52 20 52 31 |0,R0,#512:LDR R1| 00003c40 2c 67 73 70 61 64 64 3a 4d 4f 56 20 52 35 2c 23 |,gspadd:MOV R5,#| 00003c50 38 0d 0a 96 82 2e 70 6c 6f 74 6c 70 20 4c 44 52 |8.....plotlp LDR| 00003c60 20 52 33 2c 5b 52 31 31 2c 23 31 32 5d 21 3a 54 | R3,[R11,#12]!:T| 00003c70 45 51 20 52 33 2c 23 30 3a 42 45 51 20 70 6c 6e |EQ R3,#0:BEQ pln| 00003c80 65 78 74 3a 4c 44 52 20 52 34 2c 5b 52 31 31 2c |ext:LDR R4,[R11,| 00003c90 23 34 5d 3a 4c 44 52 20 52 32 2c 5b 52 31 31 2c |#4]:LDR R2,[R11,| 00003ca0 23 38 5d 3a 80 20 52 32 2c 52 32 2c 23 31 30 32 |#8]:. R2,R2,#102| 00003cb0 30 3a 4c 44 52 20 52 32 2c 5b 52 31 30 2c 52 32 |0:LDR R2,[R10,R2| 00003cc0 5d 3a 53 57 49 20 22 4f 53 5f 53 70 72 69 74 65 |]:SWI "OS_Sprite| 00003cd0 4f 70 22 0d 0a a0 26 2e 70 6c 6e 65 78 74 20 53 |Op"...&.plnext S| 00003ce0 55 42 53 20 52 31 32 2c 52 31 32 2c 23 31 3a 42 |UBS R12,R12,#1:B| 00003cf0 4e 45 20 70 6c 6f 74 6c 70 0d 0a aa 0f 5c 62 6c |NE plotlp....\bl| 00003d00 69 6e 6b 20 65 79 65 73 0d 0a b4 91 41 44 52 20 |ink eyes....ADR | 00003d10 52 31 32 2c 65 79 65 73 3a 4c 44 52 20 52 30 2c |R12,eyes:LDR R0,| 00003d20 65 79 65 64 65 6c 3a 53 55 42 53 20 52 30 2c 52 |eyedel:SUBS R0,R| 00003d30 30 2c 23 31 3a 42 50 4c 20 6e 6f 62 6c 69 6e 6b |0,#1:BPL noblink| 00003d40 3a 4c 44 52 20 52 31 2c 5b 52 31 32 2c 23 38 5d |:LDR R1,[R12,#8]| 00003d50 3a 41 44 44 20 52 31 2c 52 31 2c 23 32 3a 54 45 |:ADD R1,R1,#2:TE| 00003d60 51 20 52 31 2c 23 32 30 34 3a 42 4e 45 20 6e 66 |Q R1,#204:BNE nf| 00003d70 62 6c 3a 4d 4f 56 20 52 31 2c 23 31 38 38 3a 4c |bl:MOV R1,#188:L| 00003d80 44 52 20 52 30 2c 72 61 6e 64 6f 6d 3a 80 20 52 |DR R0,random:. R| 00003d90 30 2c 52 30 2c 23 32 35 35 0d 0a be 19 2e 6e 66 |0,R0,#255.....nf| 00003da0 62 6c 20 53 54 52 20 52 31 2c 5b 52 31 32 2c 23 |bl STR R1,[R12,#| 00003db0 38 5d 0d 0a c8 1a 2e 6e 6f 62 6c 69 6e 6b 20 53 |8].....noblink S| 00003dc0 54 52 20 52 30 2c 65 79 65 64 65 6c 0d 0a d2 0e |TR R0,eyedel....| 00003dd0 5c 6d 6f 76 65 20 64 72 6f 70 0d 0a dc 55 41 44 |\move drop...UAD| 00003de0 44 20 52 31 32 2c 52 31 32 2c 23 31 32 3a 4c 44 |D R12,R12,#12:LD| 00003df0 52 20 52 30 2c 64 72 6f 70 64 65 6c 3a 53 55 42 |R R0,dropdel:SUB| 00003e00 53 20 52 30 2c 52 30 2c 23 31 3a 53 54 52 20 52 |S R0,R0,#1:STR R| 00003e10 30 2c 64 72 6f 70 64 65 6c 3a 42 45 51 20 73 74 |0,dropdel:BEQ st| 00003e20 64 72 6f 70 3a 42 50 4c 20 6e 6f 64 72 6f 70 0d |drop:BPL nodrop.| 00003e30 0a e6 b4 4c 44 52 20 52 31 2c 5b 52 31 32 2c 23 |...LDR R1,[R12,#| 00003e40 38 5d 3a 41 44 44 20 52 31 2c 52 31 2c 23 32 3a |8]:ADD R1,R1,#2:| 00003e50 54 45 51 20 52 31 2c 23 31 38 34 3a 42 45 51 20 |TEQ R1,#184:BEQ | 00003e60 64 72 6f 70 66 69 6e 3a 43 4d 50 20 52 31 2c 23 |dropfin:CMP R1,#| 00003e70 31 30 38 3a 42 4c 54 20 65 6e 64 64 72 6f 70 3a |108:BLT enddrop:| 00003e80 4c 44 52 20 52 32 2c 5b 52 31 32 2c 23 34 5d 3a |LDR R2,[R12,#4]:| 00003e90 43 4d 50 20 52 32 2c 23 31 32 30 3a 42 4c 45 20 |CMP R2,#120:BLE | 00003ea0 64 72 67 6e 64 3a 53 55 42 20 52 32 2c 52 32 2c |drgnd:SUB R2,R2,| 00003eb0 23 31 32 3a 53 54 52 20 52 32 2c 5b 52 31 32 2c |#12:STR R2,[R12,| 00003ec0 23 34 5d 3a 54 45 51 20 52 31 2c 23 31 34 34 3a |#4]:TEQ R1,#144:| 00003ed0 ec 51 20 52 31 2c 23 31 30 38 3a 42 20 63 68 6b |.Q R1,#108:B chk| 00003ee0 64 72 70 0d 0a f0 64 2e 73 74 64 72 6f 70 20 4d |drp...d.stdrop M| 00003ef0 4f 56 20 52 31 2c 23 35 38 38 3a 53 54 52 20 52 |OV R1,#588:STR R| 00003f00 31 2c 5b 52 31 32 5d 3a 4d 4f 56 20 52 31 2c 23 |1,[R12]:MOV R1,#| 00003f10 35 31 32 3a 53 54 52 20 52 31 2c 5b 52 31 32 2c |512:STR R1,[R12,| 00003f20 23 34 5d 3a 4d 4f 56 20 52 31 2c 23 38 38 3a 53 |#4]:MOV R1,#88:S| 00003f30 54 52 20 52 31 2c 5b 52 31 32 2c 23 38 5d 3a 42 |TR R1,[R12,#8]:B| 00003f40 20 6e 6f 64 72 6f 70 0d 0a fa 56 2e 64 72 6f 70 | nodrop...V.drop| 00003f50 66 69 6e 20 4d 4f 56 20 52 32 2c 23 30 3a 53 54 |fin MOV R2,#0:ST| 00003f60 52 20 52 32 2c 5b 52 31 32 5d 3a 4c 44 52 20 52 |R R2,[R12]:LDR R| 00003f70 30 2c 72 61 6e 64 6f 6d 3a 80 20 52 30 2c 52 30 |0,random:. R0,R0| 00003f80 2c 23 32 35 35 3a 53 54 52 20 52 30 2c 64 72 6f |,#255:STR R0,dro| 00003f90 70 64 65 6c 3a 42 20 6e 6f 64 72 6f 70 0d 0b 04 |pdel:B nodrop...| 00003fa0 69 2e 64 72 67 6e 64 20 43 4d 50 20 52 31 2c 23 |i.drgnd CMP R1,#| 00003fb0 31 34 34 3a 42 47 54 20 63 68 6b 64 72 70 3a 4c |144:BGT chkdrp:L| 00003fc0 44 52 20 52 30 2c 64 72 73 70 6c 61 74 43 41 3a |DR R0,drsplatCA:| 00003fd0 4c 44 52 20 52 31 2c 64 72 73 70 6c 61 74 50 44 |LDR R1,drsplatPD| 00003fe0 3a 53 57 49 20 22 53 6f 75 6e 64 5f 43 6f 6e 74 |:SWI "Sound_Cont| 00003ff0 72 6f 6c 50 61 63 6b 65 64 22 3a 4d 4f 56 20 52 |rolPacked":MOV R| 00004000 31 2c 23 31 34 34 0d 0b 0e b0 2e 63 68 6b 64 72 |1,#144.....chkdr| 00004010 70 20 41 44 52 20 52 31 31 2c 6d 61 6e 74 3a 4d |p ADR R11,mant:M| 00004020 4f 56 20 52 31 30 2c 23 32 3a 4d 4f 56 20 52 39 |OV R10,#2:MOV R9| 00004030 2c 23 31 36 3a 4d 4f 56 20 52 38 2c 23 36 34 3a |,#16:MOV R8,#64:| 00004040 4d 4f 56 20 52 37 2c 23 38 38 3a 42 4c 20 63 68 |MOV R7,#88:BL ch| 00004050 65 63 6b 63 6f 6c 6c 3a 42 45 51 20 64 6d 68 69 |eckcoll:BEQ dmhi| 00004060 74 3a 41 44 44 20 52 31 31 2c 52 31 31 2c 23 31 |t:ADD R11,R11,#1| 00004070 32 3a 4d 4f 56 20 52 31 30 2c 23 32 3a 4d 4f 56 |2:MOV R10,#2:MOV| 00004080 20 52 39 2c 23 31 36 3a 4d 4f 56 20 52 38 2c 23 | R9,#16:MOV R8,#| 00004090 38 30 3a 4d 4f 56 20 52 37 2c 23 38 38 3a 42 4c |80:MOV R7,#88:BL| 000040a0 20 63 68 65 63 6b 63 6f 6c 6c 3a 42 4e 45 20 65 | checkcoll:BNE e| 000040b0 6e 64 64 72 6f 70 0d 0b 18 2e 2e 64 6d 68 69 74 |nddrop.....dmhit| 000040c0 20 43 4d 50 20 52 31 2c 23 31 34 34 3a 4d 4f 56 | CMP R1,#144:MOV| 000040d0 4c 54 20 52 31 2c 23 31 34 34 3a 42 4c 20 72 65 |LT R1,#144:BL re| 000040e0 64 75 63 65 0d 0b 22 1c 2e 65 6e 64 64 72 6f 70 |duce.."..enddrop| 000040f0 20 53 54 52 20 52 31 2c 5b 52 31 32 2c 23 38 5d | STR R1,[R12,#8]| 00004100 0d 0b 2c 0b 2e 6e 6f 64 72 6f 70 0d 0b 36 0f 5c |..,..nodrop..6.\| 00004110 6d 6f 76 65 20 62 6f 6d 62 73 0d 0b 40 0d 4d 4f |move bombs..@.MO| 00004120 56 20 52 36 2c 23 39 0d 0b 4a fb 2e 62 6f 6d 62 |V R6,#9..J..bomb| 00004130 6c 70 20 4c 44 52 20 52 30 2c 5b 52 31 32 2c 23 |lp LDR R0,[R12,#| 00004140 31 32 5d 21 3a 54 45 51 20 52 30 2c 23 30 3a 42 |12]!:TEQ R0,#0:B| 00004150 45 51 20 6e 6f 62 6f 6d 62 3a 4c 44 52 20 52 31 |EQ nobomb:LDR R1| 00004160 2c 5b 52 31 32 2c 23 38 5d 3a 41 44 44 20 52 31 |,[R12,#8]:ADD R1| 00004170 2c 52 31 2c 23 32 3a 43 4d 50 20 52 31 2c 23 32 |,R1,#2:CMP R1,#2| 00004180 33 36 3a 42 47 54 20 63 68 6b 62 6f 6d 62 3a ec |36:BGT chkbomb:.| 00004190 51 20 52 31 2c 23 32 32 30 3a 4c 44 52 20 52 30 |Q R1,#220:LDR R0| 000041a0 2c 5b 52 31 32 2c 23 34 5d 3a 53 55 42 20 52 30 |,[R12,#4]:SUB R0| 000041b0 2c 52 30 2c 23 31 32 3a 53 54 52 20 52 30 2c 5b |,R0,#12:STR R0,[| 000041c0 52 31 32 2c 23 34 5d 3a 43 4d 50 20 52 30 2c 23 |R12,#4]:CMP R0,#| 000041d0 31 32 30 3a 42 47 54 20 63 68 6b 62 6f 6d 62 3a |120:BGT chkbomb:| 000041e0 4c 44 52 20 52 30 2c 62 73 6d 73 68 43 41 3a 4c |LDR R0,bsmshCA:L| 000041f0 44 52 20 52 31 2c 73 68 6f 74 50 44 3a 53 57 49 |DR R1,shotPD:SWI| 00004200 20 22 53 6f 75 6e 64 5f 43 6f 6e 74 72 6f 6c 50 | "Sound_ControlP| 00004210 61 63 6b 65 64 22 3a 4d 4f 56 20 52 31 2c 23 32 |acked":MOV R1,#2| 00004220 33 36 0d 0b 54 b1 2e 63 68 6b 62 6f 6d 62 20 41 |36..T..chkbomb A| 00004230 44 52 20 52 31 31 2c 6d 61 6e 74 3a 4d 4f 56 20 |DR R11,mant:MOV | 00004240 52 31 30 2c 23 32 3a 4d 4f 56 20 52 39 2c 23 31 |R10,#2:MOV R9,#1| 00004250 31 3a 4d 4f 56 20 52 38 2c 23 36 34 3a 4d 4f 56 |1:MOV R8,#64:MOV| 00004260 20 52 37 2c 23 38 38 3a 42 4c 20 63 68 65 63 6b | R7,#88:BL check| 00004270 63 6f 6c 6c 3a 42 45 51 20 62 6d 68 69 74 3a 41 |coll:BEQ bmhit:A| 00004280 44 44 20 52 31 31 2c 52 31 31 2c 23 31 32 3a 4d |DD R11,R11,#12:M| 00004290 4f 56 20 52 31 30 2c 23 32 3a 4d 4f 56 20 52 39 |OV R10,#2:MOV R9| 000042a0 2c 23 31 31 3a 4d 4f 56 20 52 38 2c 23 38 30 3a |,#11:MOV R8,#80:| 000042b0 4d 4f 56 20 52 37 2c 23 38 38 3a 42 4c 20 63 68 |MOV R7,#88:BL ch| 000042c0 65 63 6b 63 6f 6c 6c 3a 42 4e 45 20 66 69 6e 62 |eckcoll:BNE finb| 000042d0 6f 6d 62 0d 0b 5e 2e 2e 62 6d 68 69 74 20 43 4d |omb..^..bmhit CM| 000042e0 50 20 52 31 2c 23 32 33 36 3a 4d 4f 56 4c 54 20 |P R1,#236:MOVLT | 000042f0 52 31 2c 23 32 33 36 3a 42 4c 20 72 65 64 75 63 |R1,#236:BL reduc| 00004300 65 0d 0b 68 40 2e 66 69 6e 62 6f 6d 62 20 53 54 |e..h@.finbomb ST| 00004310 52 20 52 31 2c 5b 52 31 32 2c 23 38 5d 3a 43 4d |R R1,[R12,#8]:CM| 00004320 50 20 52 31 2c 23 32 35 32 3a ec 51 20 52 30 2c |P R1,#252:.Q R0,| 00004330 23 30 3a 53 54 52 45 51 20 52 30 2c 5b 52 31 32 |#0:STREQ R0,[R12| 00004340 5d 0d 0b 72 24 2e 6e 6f 62 6f 6d 62 20 53 55 42 |]..r$.nobomb SUB| 00004350 53 20 52 36 2c 52 36 2c 23 31 3a 42 4e 45 20 62 |S R6,R6,#1:BNE b| 00004360 6f 6d 62 6c 70 0d 0b 7c 0e 5c 6d 6f 76 65 20 73 |omblp..|.\move s| 00004370 68 6f 74 0d 0b 86 9f 41 44 52 20 52 31 32 2c 73 |hot....ADR R12,s| 00004380 68 6f 74 3a 4c 44 52 20 52 30 2c 5b 52 31 32 5d |hot:LDR R0,[R12]| 00004390 3a 54 45 51 20 52 30 2c 23 30 3a 42 45 51 20 6e |:TEQ R0,#0:BEQ n| 000043a0 6f 73 68 6f 74 3a 4c 44 52 20 52 30 2c 5b 52 31 |oshot:LDR R0,[R1| 000043b0 32 2c 23 38 5d 3a 43 4d 50 20 52 30 2c 23 37 32 |2,#8]:CMP R0,#72| 000043c0 3a 42 47 45 20 62 6e 67 69 6e 67 3a 4c 44 52 20 |:BGE bnging:LDR | 000043d0 52 30 2c 5b 52 31 32 2c 23 34 5d 3a 41 44 44 20 |R0,[R12,#4]:ADD | 000043e0 52 30 2c 52 30 2c 23 31 36 3a 53 54 52 20 52 30 |R0,R0,#16:STR R0| 000043f0 2c 5b 52 31 32 2c 23 34 5d 3a 43 4d 50 20 52 30 |,[R12,#4]:CMP R0| 00004400 2c 23 38 30 30 3a 42 47 45 20 73 74 6f 70 73 68 |,#800:BGE stopsh| 00004410 6f 74 0d 0b 90 29 41 44 52 20 52 31 31 2c 61 6c |ot...)ADR R11,al| 00004420 69 65 6e 73 3a 41 44 52 20 52 36 2c 61 66 6c 61 |iens:ADR R6,afla| 00004430 67 3a 4d 4f 56 20 52 35 2c 23 39 0d 0b 9a 4d 2e |g:MOV R5,#9...M.| 00004440 73 61 63 6c 70 20 4c 44 52 42 20 52 30 2c 5b 52 |saclp LDRB R0,[R| 00004450 36 2c 52 35 5d 3a 43 4d 50 20 52 30 2c 23 32 3a |6,R5]:CMP R0,#2:| 00004460 42 47 45 20 6e 61 63 63 3a 4c 44 52 20 52 30 2c |BGE nacc:LDR R0,| 00004470 5b 52 31 31 5d 3a 54 45 51 20 52 30 2c 23 30 3a |[R11]:TEQ R0,#0:| 00004480 42 45 51 20 6e 61 63 63 0d 0b a4 45 4d 4f 56 20 |BEQ nacc...EMOV | 00004490 52 31 30 2c 23 31 34 3a 4d 4f 56 20 52 39 2c 23 |R10,#14:MOV R9,#| 000044a0 35 3a 4d 4f 56 20 52 38 2c 23 36 34 3a 4d 4f 56 |5:MOV R8,#64:MOV| 000044b0 20 52 37 2c 23 37 36 3a 42 4c 20 63 68 65 63 6b | R7,#76:BL check| 000044c0 63 6f 6c 6c 3a 42 4e 45 20 6e 61 63 63 0d 0b ae |coll:BNE nacc...| 000044d0 59 4c 44 52 20 52 30 2c 68 69 74 43 41 3a 4c 44 |YLDR R0,hitCA:LD| 000044e0 52 20 52 31 2c 68 69 74 50 44 3a 4c 44 52 42 20 |R R1,hitPD:LDRB | 000044f0 52 32 2c 5b 52 36 2c 52 35 5d 3a 82 20 52 31 2c |R2,[R6,R5]:. R1,| 00004500 52 31 2c 52 32 2c 4c 53 4c 23 31 31 3a 53 57 49 |R1,R2,LSL#11:SWI| 00004510 20 22 53 6f 75 6e 64 5f 43 6f 6e 74 72 6f 6c 50 | "Sound_ControlP| 00004520 61 63 6b 65 64 22 0d 0b b8 72 41 44 44 20 52 32 |acked"...rADD R2| 00004530 2c 52 32 2c 23 31 3a 53 54 52 42 20 52 32 2c 5b |,R2,#1:STRB R2,[| 00004540 52 36 2c 52 35 5d 3a 4c 44 52 20 52 30 2c 5b 52 |R6,R5]:LDR R0,[R| 00004550 31 31 5d 3a 53 55 42 20 52 30 2c 52 30 2c 23 38 |11]:SUB R0,R0,#8| 00004560 3a 53 54 52 20 52 30 2c 5b 52 31 32 5d 3a 4c 44 |:STR R0,[R12]:LD| 00004570 52 20 52 30 2c 5b 52 31 31 2c 23 34 5d 3a 53 54 |R R0,[R11,#4]:ST| 00004580 52 20 52 30 2c 5b 52 31 32 2c 23 34 5d 3a 4d 4f |R R0,[R12,#4]:MO| 00004590 56 20 52 30 2c 23 36 38 0d 0b c2 3e 2e 62 6e 67 |V R0,#68...>.bng| 000045a0 69 6e 67 20 41 44 44 20 52 30 2c 52 30 2c 23 34 |ing ADD R0,R0,#4| 000045b0 3a 53 54 52 20 52 30 2c 5b 52 31 32 2c 23 38 5d |:STR R0,[R12,#8]| 000045c0 3a 43 4d 50 20 52 30 2c 23 38 38 3a 42 4e 45 20 |:CMP R0,#88:BNE | 000045d0 6e 6f 73 68 6f 74 0d 0b cc 2d 2e 73 74 6f 70 73 |noshot...-.stops| 000045e0 68 6f 74 20 4d 4f 56 20 52 30 2c 23 30 3a 53 54 |hot MOV R0,#0:ST| 000045f0 52 20 52 30 2c 5b 52 31 32 5d 3a 42 20 6e 6f 73 |R R0,[R12]:B nos| 00004600 68 6f 74 0d 0b d6 31 2e 6e 61 63 63 20 41 44 44 |hot...1.nacc ADD| 00004610 20 52 31 31 2c 52 31 31 2c 23 31 32 3a 53 55 42 | R11,R11,#12:SUB| 00004620 53 20 52 35 2c 52 35 2c 23 31 3a 42 4e 45 20 73 |S R5,R5,#1:BNE s| 00004630 61 63 6c 70 0d 0b e0 10 5c 6d 6f 76 65 20 61 6c |aclp....\move al| 00004640 69 65 6e 73 0d 0b ea 68 2e 6e 6f 73 68 6f 74 20 |iens...h.noshot | 00004650 41 44 52 20 52 31 31 2c 61 76 65 6c 74 61 62 3a |ADR R11,aveltab:| 00004660 41 44 52 20 52 31 32 2c 61 6c 69 65 6e 73 3a 4d |ADR R12,aliens:M| 00004670 4f 56 20 52 31 30 2c 23 39 3a 4c 44 52 20 52 39 |OV R10,#9:LDR R9| 00004680 2c 72 61 6e 64 6f 6d 3a 4c 44 52 20 52 38 2c 72 |,random:LDR R8,r| 00004690 63 6f 6e 73 74 3a 4d 4f 56 20 52 37 2c 23 30 3a |const:MOV R7,#0:| 000046a0 41 44 52 20 52 36 2c 61 66 6c 61 67 0d 0b f4 63 |ADR R6,aflag...c| 000046b0 2e 61 6c 6f 6f 70 20 4c 44 52 20 52 30 2c 5b 52 |.aloop LDR R0,[R| 000046c0 31 32 5d 3a 54 45 51 20 52 30 2c 23 30 3a 42 45 |12]:TEQ R0,#0:BE| 000046d0 51 20 6e 65 78 74 61 6c 3a 4d 4f 56 20 52 37 2c |Q nextal:MOV R7,| 000046e0 23 31 3a 4c 44 52 42 20 52 31 2c 5b 52 36 2c 52 |#1:LDRB R1,[R6,R| 000046f0 31 30 5d 3a 43 4d 50 20 52 31 2c 23 32 3a 42 45 |10]:CMP R1,#2:BE| 00004700 51 20 66 61 6c 6c 3a 42 47 54 20 63 72 73 68 0d |Q fall:BGT crsh.| 00004710 0b fe d5 4c 44 52 20 52 31 2c 5b 52 31 32 2c 23 |...LDR R1,[R12,#| 00004720 38 5d 3a 41 44 44 20 52 31 2c 52 31 2c 23 32 3a |8]:ADD R1,R1,#2:| 00004730 43 4d 50 20 52 31 2c 23 32 32 30 3a ec 51 20 52 |CMP R1,#220:.Q R| 00004740 31 2c 23 32 30 34 3a 53 54 52 20 52 31 2c 5b 52 |1,#204:STR R1,[R| 00004750 31 32 2c 23 38 5d 3a 4d 4f 56 53 20 52 39 2c 52 |12,#8]:MOVS R9,R| 00004760 39 2c 4c 53 4c 23 31 3a 82 43 53 20 52 39 2c 52 |9,LSL#1:.CS R9,R| 00004770 39 2c 52 38 3a 53 54 52 20 52 39 2c 72 61 6e 64 |9,R8:STR R9,rand| 00004780 6f 6d 3a 4c 44 52 20 52 31 2c 5b 52 31 31 5d 3a |om:LDR R1,[R11]:| 00004790 41 44 44 20 52 30 2c 52 30 2c 52 31 2c 41 53 52 |ADD R0,R0,R1,ASR| 000047a0 23 37 3a 53 54 52 20 52 30 2c 5b 52 31 32 5d 3a |#7:STR R0,[R12]:| 000047b0 43 4d 50 20 52 31 2c 23 30 3a 42 50 4c 20 73 6b |CMP R1,#0:BPL sk| 000047c0 6c 62 3a 43 4d 50 20 52 30 2c 23 36 30 3a 41 44 |lb:CMP R0,#60:AD| 000047d0 44 4c 54 20 52 31 2c 52 31 2c 23 36 34 3a 42 20 |DLT R1,R1,#64:B | 000047e0 73 6b 72 62 0d 0c 08 26 2e 73 6b 6c 62 20 43 4d |skrb...&.sklb CM| 000047f0 50 20 52 30 2c 23 31 31 33 36 3a 53 55 42 47 54 |P R0,#1136:SUBGT| 00004800 20 52 31 2c 52 31 2c 23 36 34 0d 0c 12 73 2e 73 | R1,R1,#64...s.s| 00004810 6b 72 62 20 52 53 42 53 20 52 32 2c 52 30 2c 23 |krb RSBS R2,R0,#| 00004820 36 30 30 3a 4d 4f 56 50 4c 20 52 33 2c 52 32 3a |600:MOVPL R3,R2:| 00004830 4d 56 4e 4d 49 20 52 33 2c 52 32 3a 43 4d 50 20 |MVNMI R3,R2:CMP | 00004840 52 33 2c 23 33 32 30 3a 41 44 44 47 54 20 52 31 |R3,#320:ADDGT R1| 00004850 2c 52 31 2c 52 32 2c 41 53 52 23 33 3a 41 44 44 |,R1,R2,ASR#3:ADD| 00004860 20 52 31 2c 52 31 2c 52 39 2c 41 53 52 23 32 37 | R1,R1,R9,ASR#27| 00004870 3a 53 54 52 20 52 31 2c 5b 52 31 31 5d 0d 0c 1c |:STR R1,[R11]...| 00004880 86 4c 44 52 20 52 30 2c 5b 52 31 32 2c 23 34 5d |.LDR R0,[R12,#4]| 00004890 3a 4c 44 52 20 52 31 2c 5b 52 31 31 2c 23 34 5d |:LDR R1,[R11,#4]| 000048a0 3a 41 44 44 20 52 30 2c 52 30 2c 52 31 2c 41 53 |:ADD R0,R0,R1,AS| 000048b0 52 23 36 3a 53 54 52 20 52 30 2c 5b 52 31 32 2c |R#6:STR R0,[R12,| 000048c0 23 34 5d 3a 52 53 42 20 52 32 2c 52 30 2c 23 35 |#4]:RSB R2,R0,#5| 000048d0 36 30 3a 41 44 44 20 52 31 2c 52 31 2c 52 32 3a |60:ADD R1,R1,R2:| 000048e0 41 44 44 20 52 31 2c 52 31 2c 52 39 2c 41 53 52 |ADD R1,R1,R9,ASR| 000048f0 23 32 38 3a 53 54 52 20 52 31 2c 5b 52 31 31 2c |#28:STR R1,[R11,| 00004900 23 34 5d 0d 0c 26 c8 4c 44 52 20 52 30 2c 5b 52 |#4]..&.LDR R0,[R| 00004910 31 32 2c 23 2d 26 36 43 5d 3a 54 45 51 20 52 30 |12,#-&6C]:TEQ R0| 00004920 2c 23 30 3a 42 4e 45 20 6e 65 78 74 61 6c 3a 80 |,#0:BNE nextal:.| 00004930 20 52 30 2c 52 39 2c 23 32 35 35 3a 43 4d 50 20 | R0,R9,#255:CMP | 00004940 52 30 2c 23 32 35 30 3a 42 4c 54 20 6e 65 78 74 |R0,#250:BLT next| 00004950 61 6c 3a 4c 44 52 20 52 30 2c 5b 52 31 32 5d 3a |al:LDR R0,[R12]:| 00004960 41 44 44 20 52 30 2c 52 30 2c 23 32 30 3a 53 54 |ADD R0,R0,#20:ST| 00004970 52 20 52 30 2c 5b 52 31 32 2c 23 2d 26 36 43 5d |R R0,[R12,#-&6C]| 00004980 3a 4c 44 52 20 52 30 2c 5b 52 31 32 2c 23 34 5d |:LDR R0,[R12,#4]| 00004990 3a 53 54 52 20 52 30 2c 5b 52 31 32 2c 23 2d 26 |:STR R0,[R12,#-&| 000049a0 36 38 5d 3a 4d 4f 56 20 52 30 2c 23 32 32 30 3a |68]:MOV R0,#220:| 000049b0 53 54 52 20 52 30 2c 5b 52 31 32 2c 23 2d 26 36 |STR R0,[R12,#-&6| 000049c0 34 5d 3a 42 20 6e 65 78 74 61 6c 0d 0c 30 b3 2e |4]:B nextal..0..| 000049d0 66 61 6c 6c 20 4c 44 52 20 52 32 2c 5b 52 31 32 |fall LDR R2,[R12| 000049e0 2c 23 34 5d 3a 53 55 42 20 52 32 2c 52 32 2c 23 |,#4]:SUB R2,R2,#| 000049f0 32 34 3a 53 54 52 20 52 32 2c 5b 52 31 32 2c 23 |24:STR R2,[R12,#| 00004a00 34 5d 3a 43 4d 50 20 52 32 2c 23 31 32 30 3a 42 |4]:CMP R2,#120:B| 00004a10 47 54 20 6e 65 78 74 61 6c 3a 4d 4f 56 20 52 30 |GT nextal:MOV R0| 00004a20 2c 23 31 35 36 3a 53 54 52 20 52 30 2c 5b 52 31 |,#156:STR R0,[R1| 00004a30 32 2c 23 38 5d 3a 53 54 52 42 20 52 30 2c 5b 52 |2,#8]:STRB R0,[R| 00004a40 36 2c 52 31 30 5d 3a 4c 44 52 20 52 30 2c 73 70 |6,R10]:LDR R0,sp| 00004a50 6c 61 74 43 41 3a 4c 44 52 20 52 31 2c 73 70 6c |latCA:LDR R1,spl| 00004a60 61 74 50 44 3a 53 57 49 20 22 53 6f 75 6e 64 5f |atPD:SWI "Sound_| 00004a70 43 6f 6e 74 72 6f 6c 50 61 63 6b 65 64 22 0d 0c |ControlPacked"..| 00004a80 3a 5a 2e 63 72 73 68 20 4c 44 52 20 52 30 2c 5b |:Z.crsh LDR R0,[| 00004a90 52 31 32 2c 23 38 5d 3a 41 44 44 20 52 30 2c 52 |R12,#8]:ADD R0,R| 00004aa0 30 2c 23 32 3a 53 54 52 20 52 30 2c 5b 52 31 32 |0,#2:STR R0,[R12| 00004ab0 2c 23 38 5d 3a 43 4d 50 20 52 30 2c 23 31 38 34 |,#8]:CMP R0,#184| 00004ac0 3a ec 51 20 52 30 2c 23 30 3a 53 54 52 45 51 20 |:.Q R0,#0:STREQ | 00004ad0 52 30 2c 5b 52 31 32 5d 0d 0c 44 44 2e 6e 65 78 |R0,[R12]..DD.nex| 00004ae0 74 61 6c 20 41 44 44 20 52 31 31 2c 52 31 31 2c |tal ADD R11,R11,| 00004af0 23 38 3a 41 44 44 20 52 31 32 2c 52 31 32 2c 23 |#8:ADD R12,R12,#| 00004b00 31 32 3a 53 55 42 53 20 52 31 30 2c 52 31 30 2c |12:SUBS R10,R10,| 00004b10 23 31 3a 42 4e 45 20 61 6c 6f 6f 70 0d 0c 4e 29 |#1:BNE aloop..N)| 00004b20 54 45 51 20 52 37 2c 23 30 3a ec 51 20 52 30 2c |TEQ R7,#0:.Q R0,| 00004b30 23 30 3a 4c 44 4d 45 51 46 44 20 28 73 70 29 21 |#0:LDMEQFD (sp)!| 00004b40 2c 7b 50 43 7d 0d 0c 58 0d 5c 6d 6f 76 65 20 6d |,{PC}..X.\move m| 00004b50 61 6e 0d 0c 62 8d 4c 44 52 20 52 30 2c 66 69 66 |an..b.LDR R0,fif| 00004b60 6c 61 67 3a 54 45 51 20 52 30 2c 23 30 3a 42 4e |lag:TEQ R0,#0:BN| 00004b70 45 20 7a 66 69 72 69 6e 67 3a 42 4c 20 74 73 74 |E zfiring:BL tst| 00004b80 6b 65 79 3a 54 53 54 20 52 36 2c 23 31 36 3a 42 |key:TST R6,#16:B| 00004b90 4c 4e 45 20 7a 66 69 72 65 3a 54 53 54 20 52 36 |LNE zfire:TST R6| 00004ba0 2c 23 31 3a 42 4e 45 20 7a 6d 6c 3a 54 53 54 20 |,#1:BNE zml:TST | 00004bb0 52 36 2c 23 32 3a 42 4e 45 20 7a 6d 72 3a 4d 4f |R6,#2:BNE zmr:MO| 00004bc0 56 20 52 30 2c 23 38 3a 53 54 52 20 52 30 2c 5b |V R0,#8:STR R0,[| 00004bd0 52 31 32 2c 23 38 5d 3a 42 20 7a 61 70 6c 70 0d |R12,#8]:B zaplp.| 00004be0 0c 6c 9a 2e 7a 6d 72 20 4c 44 52 20 52 31 2c 5b |.l..zmr LDR R1,[| 00004bf0 52 31 32 5d 3a 43 4d 50 20 52 31 2c 23 39 36 30 |R12]:CMP R1,#960| 00004c00 3a 42 47 45 20 7a 61 70 6c 70 3a 41 44 44 20 52 |:BGE zaplp:ADD R| 00004c10 31 2c 52 31 2c 23 38 3a 53 54 52 20 52 31 2c 5b |1,R1,#8:STR R1,[| 00004c20 52 31 32 5d 3a 53 54 52 20 52 31 2c 5b 52 31 32 |R12]:STR R1,[R12| 00004c30 2c 23 31 32 5d 3a 4c 44 52 20 52 31 2c 5b 52 31 |,#12]:LDR R1,[R1| 00004c40 32 2c 23 32 30 5d 3a 41 44 44 20 52 31 2c 52 31 |2,#20]:ADD R1,R1| 00004c50 2c 23 34 3a 43 4d 50 20 52 31 2c 23 35 36 3a ec |,#4:CMP R1,#56:.| 00004c60 51 20 52 31 2c 23 32 38 3a 53 54 52 20 52 31 2c |Q R1,#28:STR R1,| 00004c70 5b 52 31 32 2c 23 32 30 5d 0d 0c 76 54 2e 7a 6e |[R12,#20]..vT.zn| 00004c80 6f 61 72 20 4c 44 52 20 52 31 2c 5b 52 31 32 2c |oar LDR R1,[R12,| 00004c90 23 38 5d 3a 54 45 51 20 52 31 2c 23 31 36 3a 42 |#8]:TEQ R1,#16:B| 00004ca0 45 51 20 7a 61 70 6c 70 3a 41 44 44 20 52 31 2c |EQ zaplp:ADD R1,| 00004cb0 52 31 2c 23 34 3a 53 54 52 20 52 31 2c 5b 52 31 |R1,#4:STR R1,[R1| 00004cc0 32 2c 23 38 5d 3a 42 20 7a 61 70 6c 70 0d 0c 80 |2,#8]:B zaplp...| 00004cd0 9a 2e 7a 6d 6c 20 4c 44 52 20 52 31 2c 5b 52 31 |..zml LDR R1,[R1| 00004ce0 32 5d 3a 43 4d 50 20 52 31 2c 23 31 38 30 3a 42 |2]:CMP R1,#180:B| 00004cf0 4c 45 20 7a 61 70 6c 70 3a 53 55 42 20 52 31 2c |LE zaplp:SUB R1,| 00004d00 52 31 2c 23 38 3a 53 54 52 20 52 31 2c 5b 52 31 |R1,#8:STR R1,[R1| 00004d10 32 5d 3a 53 54 52 20 52 31 2c 5b 52 31 32 2c 23 |2]:STR R1,[R12,#| 00004d20 31 32 5d 3a 4c 44 52 20 52 31 2c 5b 52 31 32 2c |12]:LDR R1,[R12,| 00004d30 23 32 30 5d 3a 53 55 42 20 52 31 2c 52 31 2c 23 |#20]:SUB R1,R1,#| 00004d40 34 3a 43 4d 50 20 52 31 2c 23 32 34 3a ec 51 20 |4:CMP R1,#24:.Q | 00004d50 52 31 2c 23 35 32 3a 53 54 52 20 52 31 2c 5b 52 |R1,#52:STR R1,[R| 00004d60 31 32 2c 23 32 30 5d 0d 0c 8a 53 2e 7a 6e 6f 61 |12,#20]...S.znoa| 00004d70 6c 20 4c 44 52 20 52 31 2c 5b 52 31 32 2c 23 38 |l LDR R1,[R12,#8| 00004d80 5d 3a 54 45 51 20 52 31 2c 23 30 3a 42 45 51 20 |]:TEQ R1,#0:BEQ | 00004d90 7a 61 70 6c 70 3a 53 55 42 20 52 31 2c 52 31 2c |zaplp:SUB R1,R1,| 00004da0 23 34 3a 53 54 52 20 52 31 2c 5b 52 31 32 2c 23 |#4:STR R1,[R12,#| 00004db0 38 5d 3a 42 20 7a 61 70 6c 70 0d 0c 94 a4 2e 7a |8]:B zaplp.....z| 00004dc0 66 69 72 65 20 4c 44 52 20 52 30 2c 5b 52 31 32 |fire LDR R0,[R12| 00004dd0 2c 23 32 34 5d 3a 54 45 51 20 52 30 2c 23 30 3a |,#24]:TEQ R0,#0:| 00004de0 4d 4f 56 4e 45 20 50 43 2c 6c 69 6e 6b 3a 4d 4f |MOVNE PC,link:MO| 00004df0 56 20 52 30 2c 23 31 3a 53 54 52 20 52 30 2c 66 |V R0,#1:STR R0,f| 00004e00 69 66 6c 61 67 3a 4d 4f 56 20 52 30 2c 23 32 30 |iflag:MOV R0,#20| 00004e10 3a 53 54 52 20 52 30 2c 5b 52 31 32 2c 23 38 5d |:STR R0,[R12,#8]| 00004e20 3a 4c 44 52 20 52 30 2c 73 68 6f 74 43 41 3a 4c |:LDR R0,shotCA:L| 00004e30 44 52 20 52 31 2c 73 68 6f 74 50 44 3a 53 57 49 |DR R1,shotPD:SWI| 00004e40 20 22 53 6f 75 6e 64 5f 43 6f 6e 74 72 6f 6c 50 | "Sound_ControlP| 00004e50 61 63 6b 65 64 22 3a 42 20 7a 61 70 6c 70 0d 0c |acked":B zaplp..| 00004e60 9e 7d 2e 7a 66 69 72 69 6e 67 20 41 44 44 20 52 |.}.zfiring ADD R| 00004e70 30 2c 52 30 2c 23 31 3a 53 54 52 20 52 30 2c 66 |0,R0,#1:STR R0,f| 00004e80 69 66 6c 61 67 3a 43 4d 50 20 52 30 2c 23 35 3a |iflag:CMP R0,#5:| 00004e90 42 45 51 20 7a 73 68 6f 6f 74 3a 42 48 49 20 7a |BEQ zshoot:BHI z| 00004ea0 73 68 6f 74 3a 54 45 51 20 52 30 2c 23 33 3a 42 |shot:TEQ R0,#3:B| 00004eb0 4e 45 20 7a 61 70 6c 70 3a 4d 4f 56 20 52 30 2c |NE zaplp:MOV R0,| 00004ec0 23 32 34 3a 53 54 52 20 52 30 2c 5b 52 31 32 2c |#24:STR R0,[R12,| 00004ed0 23 38 5d 3a 42 20 7a 61 70 6c 70 0d 0c a8 78 2e |#8]:B zaplp...x.| 00004ee0 7a 73 68 6f 6f 74 20 4c 44 52 20 52 31 2c 5b 52 |zshoot LDR R1,[R| 00004ef0 31 32 5d 3a 41 44 44 20 52 31 2c 52 31 2c 23 34 |12]:ADD R1,R1,#4| 00004f00 34 3a 53 54 52 20 52 31 2c 5b 52 31 32 2c 23 32 |4:STR R1,[R12,#2| 00004f10 34 5d 3a 4d 4f 56 20 52 31 2c 23 32 37 32 3a 53 |4]:MOV R1,#272:S| 00004f20 54 52 20 52 31 2c 5b 52 31 32 2c 23 32 38 5d 3a |TR R1,[R12,#28]:| 00004f30 4d 4f 56 20 52 31 2c 23 35 36 3a 53 54 52 20 52 |MOV R1,#56:STR R| 00004f40 31 2c 5b 52 31 32 2c 23 33 32 5d 3a 42 20 7a 61 |1,[R12,#32]:B za| 00004f50 70 6c 70 0d 0c b2 4e 2e 7a 73 68 6f 74 20 4c 44 |plp...N.zshot LD| 00004f60 52 20 52 30 2c 5b 52 31 32 2c 23 33 32 5d 3a 41 |R R0,[R12,#32]:A| 00004f70 44 44 20 52 30 2c 52 30 2c 23 34 3a 53 54 52 20 |DD R0,R0,#4:STR | 00004f80 52 30 2c 5b 52 31 32 2c 23 33 32 5d 3a 54 45 51 |R0,[R12,#32]:TEQ| 00004f90 20 52 30 2c 23 36 38 3a 42 4e 45 20 7a 61 70 6c | R0,#68:BNE zapl| 00004fa0 70 0d 0c bc 3d 4d 4f 56 20 52 30 2c 23 30 3a 53 |p...=MOV R0,#0:S| 00004fb0 54 52 20 52 30 2c 66 69 66 6c 61 67 3a 4d 4f 56 |TR R0,fiflag:MOV| 00004fc0 20 52 30 2c 23 38 3a 53 54 52 20 52 30 2c 5b 52 | R0,#8:STR R0,[R| 00004fd0 31 32 2c 23 38 5d 3a 42 20 7a 61 70 6c 70 0d 0c |12,#8]:B zaplp..| 00004fe0 c6 05 5d 0d 0c d0 15 61 76 65 6c 74 61 62 3d 50 |..]....aveltab=P| 00004ff0 25 3a 50 25 2b 3d 37 32 0d 0c da 3b 73 70 72 74 |%:P%+=72...;sprt| 00005000 61 62 3d 50 25 3a 51 25 3d 47 53 50 25 2b 31 36 |ab=P%:Q%=GSP%+16| 00005010 3a e3 20 49 25 3d 30 20 b8 20 36 33 3a 21 50 25 |:. I%=0 . 63:!P%| 00005020 3d 51 25 3a 51 25 2b 3d 21 51 25 3a 50 25 2b 3d |=Q%:Q%+=!Q%:P%+=| 00005030 34 3a ed 0d 0c e4 0b 5b 4f 50 54 20 6f 25 0d 0c |4:.....[OPT o%..| 00005040 ee 19 2e 73 68 6f 74 43 41 20 45 51 55 44 20 26 |...shotCA EQUD &| 00005050 31 37 46 30 30 30 31 0d 0c f8 18 2e 73 68 6f 74 |17F0001.....shot| 00005060 50 44 20 45 51 55 44 20 26 31 34 32 30 30 30 0d |PD EQUD &142000.| 00005070 0d 02 18 2e 68 69 74 43 41 20 45 51 55 44 20 26 |....hitCA EQUD &| 00005080 31 37 46 30 30 30 32 0d 0d 0c 16 2e 68 69 74 50 |17F0002.....hitP| 00005090 44 20 45 51 55 44 20 26 31 32 46 30 30 0d 0d 16 |D EQUD &12F00...| 000050a0 1a 2e 73 70 6c 61 74 43 41 20 45 51 55 44 20 26 |..splatCA EQUD &| 000050b0 31 37 46 30 30 30 34 0d 0d 20 18 2e 73 70 6c 61 |17F0004.. ..spla| 000050c0 74 50 44 20 45 51 55 44 20 26 31 32 35 35 30 0d |tPD EQUD &12550.| 000050d0 0d 2a 1a 2e 62 73 6d 73 68 43 41 20 45 51 55 44 |.*..bsmshCA EQUD| 000050e0 20 26 31 37 46 30 30 30 35 0d 0d 34 1c 2e 64 72 | &17F0005..4..dr| 000050f0 73 70 6c 61 74 43 41 20 45 51 55 44 20 26 31 37 |splatCA EQUD &17| 00005100 46 30 30 30 36 0d 0d 3e 1a 2e 64 72 73 70 6c 61 |F0006..>..drspla| 00005110 74 50 44 20 45 51 55 44 20 26 31 31 46 30 30 0d |tPD EQUD &11F00.| 00005120 0d 48 05 5c 0d 0d 52 16 5c 43 6f 6c 6c 69 73 6f |.H.\..R.\Colliso| 00005130 6e 20 64 65 74 65 63 74 6f 72 0d 0d 5c 37 5c 52 |n detector..\7\R| 00005140 31 32 20 2d 20 4f 62 6a 65 63 74 20 64 6f 69 6e |12 - Object doin| 00005150 67 20 68 69 74 74 69 6e 67 2c 20 52 31 31 20 2d |g hitting, R11 -| 00005160 20 4f 62 6a 65 63 74 20 62 65 69 6e 67 20 68 69 | Object being hi| 00005170 74 0d 0d 66 39 5c 52 31 30 20 2d 20 48 65 69 67 |t..f9\R10 - Heig| 00005180 68 74 20 6f 66 20 68 69 74 74 65 72 28 31 73 29 |ht of hitter(1s)| 00005190 2c 20 52 39 20 2d 20 57 69 64 74 68 20 6f 66 20 |, R9 - Width of | 000051a0 68 69 74 74 65 72 28 31 73 29 0d 0d 70 39 5c 52 |hitter(1s)..p9\R| 000051b0 38 20 20 2d 20 48 65 69 67 68 74 20 6f 66 20 68 |8 - Height of h| 000051c0 69 74 74 65 65 28 34 73 29 2c 20 52 37 20 2d 20 |ittee(4s), R7 - | 000051d0 57 69 64 74 68 20 6f 66 20 68 69 74 74 65 65 28 |Width of hittee(| 000051e0 34 73 29 0d 0d 7a 21 5c 52 65 74 75 72 6e 73 20 |4s)..z!\Returns | 000051f0 45 51 20 69 66 20 68 69 74 2c 20 4e 45 20 69 66 |EQ if hit, NE if| 00005200 20 6e 6f 74 0d 0d 84 05 5c 0d 0d 8e 27 2e 63 68 | not....\...'.ch| 00005210 65 63 6b 63 6f 6c 6c 20 53 54 4d 46 44 20 28 73 |eckcoll STMFD (s| 00005220 70 29 21 2c 7b 52 30 2d 52 36 2c 6c 69 6e 6b 7d |p)!,{R0-R6,link}| 00005230 0d 0d 98 39 4d 4f 56 20 52 30 2c 23 34 33 3a 41 |...9MOV R0,#43:A| 00005240 44 44 20 52 30 2c 52 30 2c 23 35 31 32 3a 4c 44 |DD R0,R0,#512:LD| 00005250 52 20 52 31 2c 67 73 70 61 64 64 3a 41 44 52 20 |R R1,gspadd:ADR | 00005260 52 33 2c 73 70 72 74 61 62 0d 0d a2 52 53 55 42 |R3,sprtab...RSUB| 00005270 20 52 34 2c 52 31 30 2c 23 31 3a 4c 44 52 20 52 | R4,R10,#1:LDR R| 00005280 36 2c 5b 52 31 31 2c 23 34 5d 3a 4c 44 52 20 52 |6,[R11,#4]:LDR R| 00005290 35 2c 5b 52 31 32 2c 23 34 5d 3a 53 55 42 20 52 |5,[R12,#4]:SUB R| 000052a0 36 2c 52 35 2c 52 36 3a 41 44 44 20 52 36 2c 52 |6,R5,R6:ADD R6,R| 000052b0 36 2c 52 31 30 2c 4c 53 4c 23 32 0d 0d ac 67 4c |6,R10,LSL#2...gL| 000052c0 44 52 20 52 31 30 2c 5b 52 31 31 2c 23 38 5d 3a |DR R10,[R11,#8]:| 000052d0 80 20 52 31 30 2c 52 31 30 2c 23 31 30 32 30 3a |. R10,R10,#1020:| 000052e0 4c 44 52 20 52 31 30 2c 5b 52 33 2c 52 31 30 5d |LDR R10,[R3,R10]| 000052f0 3a 4c 44 52 20 52 31 34 2c 5b 52 31 32 2c 23 38 |:LDR R14,[R12,#8| 00005300 5d 3a 80 20 52 31 34 2c 52 31 34 2c 23 31 30 32 |]:. R14,R14,#102| 00005310 30 3a 4c 44 52 20 52 31 34 2c 5b 52 33 2c 52 31 |0:LDR R14,[R3,R1| 00005320 34 5d 0d 0d b6 39 2e 63 6f 6c 63 79 20 53 55 42 |4]...9.colcy SUB| 00005330 53 20 52 36 2c 52 36 2c 23 34 3a 42 4d 49 20 66 |S R6,R6,#4:BMI f| 00005340 69 6e 63 6f 6c 6c 3a 43 4d 50 20 52 36 2c 52 38 |incoll:CMP R6,R8| 00005350 3a 42 47 45 20 63 6f 6c 63 6e 79 0d 0d c0 4a 53 |:BGE colcny...JS| 00005360 55 42 20 52 33 2c 52 39 2c 23 31 3a 4c 44 52 20 |UB R3,R9,#1:LDR | 00005370 52 35 2c 5b 52 31 31 5d 3a 4c 44 52 20 52 32 2c |R5,[R11]:LDR R2,| 00005380 5b 52 31 32 5d 3a 53 55 42 20 52 35 2c 52 32 2c |[R12]:SUB R5,R2,| 00005390 52 35 3a 41 44 44 20 52 35 2c 52 35 2c 52 39 2c |R5:ADD R5,R5,R9,| 000053a0 4c 53 4c 23 32 0d 0d ca 38 2e 63 6f 6c 63 78 20 |LSL#2...8.colcx | 000053b0 53 55 42 53 20 52 35 2c 52 35 2c 23 34 3a 42 4d |SUBS R5,R5,#4:BM| 000053c0 49 20 63 6f 6c 63 6e 79 3a 43 4d 50 20 52 35 2c |I colcny:CMP R5,| 000053d0 52 37 3a 42 47 45 20 63 6f 6c 63 6e 78 0d 0d d4 |R7:BGE colcnx...| 000053e0 d2 53 54 4d 46 44 20 28 73 70 29 21 2c 7b 52 35 |.STMFD (sp)!,{R5| 000053f0 7d 3a 4d 4f 56 20 52 32 2c 52 31 34 3a 53 57 49 |}:MOV R2,R14:SWI| 00005400 20 22 4f 53 5f 53 70 72 69 74 65 4f 70 22 3a 54 | "OS_SpriteOp":T| 00005410 45 51 20 52 35 2c 23 31 3a 4c 44 4d 46 44 20 28 |EQ R5,#1:LDMFD (| 00005420 73 70 29 21 2c 7b 52 35 7d 3a 42 4e 45 20 63 6f |sp)!,{R5}:BNE co| 00005430 6c 63 6e 78 3a 53 54 4d 46 44 20 28 73 70 29 21 |lcnx:STMFD (sp)!| 00005440 2c 7b 52 33 2d 52 35 7d 3a 4d 4f 56 20 52 32 2c |,{R3-R5}:MOV R2,| 00005450 52 31 30 3a 4d 4f 56 20 52 33 2c 52 35 2c 4c 53 |R10:MOV R3,R5,LS| 00005460 52 23 32 3a 4d 4f 56 20 52 34 2c 52 36 2c 4c 53 |R#2:MOV R4,R6,LS| 00005470 52 23 32 3a 53 57 49 20 22 4f 53 5f 53 70 72 69 |R#2:SWI "OS_Spri| 00005480 74 65 4f 70 22 3a 54 45 51 20 52 35 2c 23 31 3a |teOp":TEQ R5,#1:| 00005490 4c 44 4d 46 44 20 28 73 70 29 21 2c 7b 52 33 2d |LDMFD (sp)!,{R3-| 000054a0 52 35 7d 3a 42 45 51 20 66 69 6e 63 6f 6c 6c 0d |R5}:BEQ fincoll.| 000054b0 0d de 23 2e 63 6f 6c 63 6e 78 20 53 55 42 53 20 |..#.colcnx SUBS | 000054c0 52 33 2c 52 33 2c 23 31 3a 42 50 4c 20 63 6f 6c |R3,R3,#1:BPL col| 000054d0 63 78 0d 0d e8 23 2e 63 6f 6c 63 6e 79 20 53 55 |cx...#.colcny SU| 000054e0 42 53 20 52 34 2c 52 34 2c 23 31 3a 42 50 4c 20 |BS R4,R4,#1:BPL | 000054f0 63 6f 6c 63 79 0d 0d f2 23 2e 66 69 6e 63 6f 6c |colcy...#.fincol| 00005500 6c 20 4c 44 4d 46 44 20 28 73 70 29 21 2c 7b 52 |l LDMFD (sp)!,{R| 00005510 30 2d 52 36 2c 50 43 7d 0d 0d fc 05 5c 0d 0e 06 |0-R6,PC}....\...| 00005520 3d 2e 66 6c 69 70 65 76 65 6e 74 20 43 4d 50 20 |=.flipevent CMP | 00005530 52 30 2c 23 34 3a 4d 4f 56 4e 45 53 20 50 43 2c |R0,#4:MOVNES PC,| 00005540 6c 69 6e 6b 3a 53 54 4d 46 44 20 28 73 70 29 21 |link:STMFD (sp)!| 00005550 2c 7b 52 30 2c 6c 69 6e 6b 7d 0d 0e 10 3a 4c 44 |,{R0,link}...:LD| 00005560 52 20 52 30 2c 62 61 6e 6b 3a 4d 56 4e 20 52 30 |R R0,bank:MVN R0| 00005570 2c 52 30 3a 53 54 52 20 52 30 2c 62 61 6e 6b 3a |,R0:STR R0,bank:| 00005580 4c 44 4d 46 44 20 28 73 70 29 21 2c 7b 52 30 2c |LDMFD (sp)!,{R0,| 00005590 50 43 7d 5e 0d 0e 1a 05 5c 0d 0e 24 1e 2e 75 6e |PC}^....\..$..un| 000055a0 70 61 63 6b 20 53 54 4d 46 44 20 28 73 70 29 21 |pack STMFD (sp)!| 000055b0 2c 7b 6c 69 6e 6b 7d 0d 0e 2e 5a 4c 44 52 20 52 |,{link}...ZLDR R| 000055c0 31 2c 6c 65 6e 67 74 68 3a 4c 44 52 20 52 31 30 |1,length:LDR R10| 000055d0 2c 73 63 72 61 64 64 3a 4c 44 52 20 52 31 31 2c |,scradd:LDR R11,| 000055e0 70 69 63 64 61 74 3a 41 44 44 20 52 31 32 2c 52 |picdat:ADD R12,R| 000055f0 31 31 2c 23 32 35 36 3a 41 44 44 20 52 30 2c 52 |11,#256:ADD R0,R| 00005600 31 31 2c 23 35 31 32 3a 4d 4f 56 20 52 34 2c 23 |11,#512:MOV R4,#| 00005610 30 0d 0e 38 37 2e 75 70 6c 20 4c 44 52 42 20 52 |0..87.upl LDRB R| 00005620 32 2c 5b 52 30 5d 2c 23 31 3a 42 4c 20 70 72 69 |2,[R0],#1:BL pri| 00005630 6e 74 3a 53 55 42 53 20 52 31 2c 52 31 2c 23 31 |nt:SUBS R1,R1,#1| 00005640 3a 42 4e 45 20 75 70 6c 0d 0e 42 14 4c 44 4d 46 |:BNE upl..B.LDMF| 00005650 44 20 28 73 70 29 21 2c 7b 50 43 7d 0d 0e 4c 05 |D (sp)!,{PC}..L.| 00005660 5c 0d 0e 56 0a 2e 70 72 69 6e 74 0d 0e 60 16 53 |\..V..print..`.S| 00005670 54 4d 46 44 20 28 73 70 29 21 2c 7b 6c 69 6e 6b |TMFD (sp)!,{link| 00005680 7d 0d 0e 6a 2a 4c 44 52 42 20 52 33 2c 5b 52 31 |}..j*LDRB R3,[R1| 00005690 31 2c 52 32 5d 3a 54 45 51 20 52 33 2c 52 32 3a |1,R2]:TEQ R3,R2:| 000056a0 42 45 51 20 73 74 6f 72 65 69 74 0d 0e 74 14 53 |BEQ storeit..t.S| 000056b0 54 4d 46 44 20 28 73 70 29 21 2c 7b 52 32 7d 0d |TMFD (sp)!,{R2}.| 000056c0 0e 7e 16 4d 4f 56 20 52 32 2c 52 33 3a 42 4c 20 |.~.MOV R2,R3:BL | 000056d0 70 72 69 6e 74 0d 0e 88 14 4c 44 4d 46 44 20 28 |print....LDMFD (| 000056e0 73 70 29 21 2c 7b 52 32 7d 0d 0e 92 1d 4c 44 52 |sp)!,{R2}....LDR| 000056f0 42 20 52 32 2c 5b 52 31 32 2c 52 32 5d 3a 42 4c |B R2,[R12,R2]:BL| 00005700 20 70 72 69 6e 74 0d 0e 9c 14 4c 44 4d 46 44 20 | print....LDMFD | 00005710 28 73 70 29 21 2c 7b 50 43 7d 0d 0e a6 0c 2e 73 |(sp)!,{PC}.....s| 00005720 74 6f 72 65 69 74 0d 0e b0 0f 82 53 20 52 34 2c |toreit.....S R4,| 00005730 52 34 2c 23 31 0d 0e ba 0f 4d 4f 56 4e 45 20 52 |R4,#1....MOVNE R| 00005740 35 2c 52 32 0d 0e c4 17 84 52 45 51 20 52 35 2c |5,R2.....REQ R5,| 00005750 52 35 2c 52 32 2c 4c 53 4c 23 34 0d 0e ce 16 53 |R5,R2,LSL#4....S| 00005760 54 52 45 51 42 20 52 35 2c 5b 52 31 30 5d 2c 23 |TREQB R5,[R10],#| 00005770 31 0d 0e d8 14 4c 44 4d 46 44 20 28 73 70 29 21 |1....LDMFD (sp)!| 00005780 2c 7b 50 43 7d 0d 0e e2 05 5c 0d 0e ec 14 2e 70 |,{PC}....\.....p| 00005790 69 63 64 61 74 20 45 51 55 44 20 50 50 25 0d 0e |icdat EQUD PP%..| 000057a0 f6 16 2e 6c 65 6e 67 74 68 20 45 51 55 44 20 26 |...length EQUD &| 000057b0 33 35 32 42 0d 0f 00 13 2e 73 63 72 61 64 64 20 |352B.....scradd | 000057c0 45 51 55 44 20 53 25 0d 0f 0a 05 5d 0d 0f 14 38 |EQUD S%....]...8| 000057d0 e7 20 50 25 3e 28 63 6f 64 65 25 2b 73 70 61 63 |. P%>(code%+spac| 000057e0 65 25 29 20 eb 20 31 35 3a f1 22 4e 6f 74 20 65 |e%) . 15:."Not e| 000057f0 6e 6f 75 67 68 20 63 6f 64 65 20 73 70 61 63 65 |nough code space| 00005800 2e 22 3a e0 0d 0f 1e 05 ed 0d 0f 28 05 e1 0d 0f |.":........(....| 00005810 32 05 3a 0d 0f 3c 12 dd 20 f2 65 72 72 6f 72 3a |2.:..<.. .error:| 00005820 ee 20 85 20 87 0d 0f 46 39 e7 20 56 43 25 3d 31 |. . ...F9. VC%=1| 00005830 20 ff 22 46 58 20 31 33 2c 34 22 3a c8 99 22 4f | ."FX 13,4":.."O| 00005840 53 5f 52 65 6c 65 61 73 65 22 2c 26 31 30 2c 65 |S_Release",&10,e| 00005850 6e 65 76 65 6e 74 2c 30 3a 56 43 25 3d 30 0d 0f |nevent,0:VC%=0..| 00005860 50 3b e7 20 56 43 25 3d 32 20 ff 22 46 58 20 31 |P;. VC%=2 ."FX 1| 00005870 33 2c 34 22 3a c8 99 22 4f 53 5f 52 65 6c 65 61 |3,4":.."OS_Relea| 00005880 73 65 22 2c 26 31 30 2c 66 6c 69 70 65 76 65 6e |se",&10,flipeven| 00005890 74 2c 30 3a 56 43 25 3d 30 0d 0f 5a 12 eb 20 31 |t,0:VC%=0..Z.. 1| 000058a0 35 3a 87 3a d6 93 2b 26 32 31 34 0d 0f 64 0a 2a |5:.:..+&214..d.*| 000058b0 46 58 20 32 30 0d 0f 6e 51 e7 20 9f 3d 31 37 20 |FX 20..nQ. .=17 | 000058c0 f1 22 47 6f 6f 64 62 79 65 2e 22 20 8b 20 f1 22 |."Goodbye." . ."| 000058d0 49 72 6f 6e 20 4c 6f 72 64 20 68 61 73 20 73 74 |Iron Lord has st| 000058e0 6f 70 70 65 64 20 62 65 63 61 75 73 65 20 6f 66 |opped because of| 000058f0 20 61 20 66 61 74 61 6c 20 65 72 72 6f 72 20 3a | a fatal error :| 00005900 2d 22 27 27 f6 24 0d 0f 78 05 e1 0d ff |-"''.$..x....| 0000590d