Home » Archimedes archive » Acorn User » AU 1997-08 A.adf » !IronLord/Iron1
!IronLord/Iron1
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/Iron1 |
Read OK: | ✔ |
File size: | 6385 bytes |
Load address: | FFFFFB46 |
Exec address: | 1A16F4FB |
File contents
10REM >:IronLord.!IronLord.Iron1 20REM (C) 1990 UBI soft. 30REM Archimedes version by Cygnus Software Engineering Ltd. 40: 50ON ERROR PROCerror:END 60: 70space%=&92C:DIM MS%(6,3),SP%(6,4),MV%(6,6),OB%(18),CST%(22),code% space%,CSP% &4D4C,PSP% &5960,SSP% &280,RT% &1B04,PDT% &AD5,TXT% &1281,MAP% &7D00,TBL% &D1E 80!PSP%=&5960 90!SSP%=&280:SSP%!4=0:SSP%!8=16:SSP%!12=16 100!CSP%=&4D4C:OSCLI"IronLoad <IronLord$Dir>.MainSpr "+STR$~(CSP%+4) 110OSCLI"IronLoad <IronLord$Dir>.Map "+STR$~MAP% 120OSCLI"IronLoad <IronLord$Dir>.Routes "+STR$~RT% 130OSCLI"Load <IronLord$Dir>.Text "+STR$~TXT% 140OSCLI"Load <IronLord$Dir>.Tables "+STR$~TBL% 150OSCLI"Load <IronLord$Dir>.PlaceData "+STR$~PDT% 160RESTORE 590:FOR I%=0 TO 6:FOR J%=0 TO 3:READ MS%(I%,J%):NEXT:FOR J%=0 TO 4:READ SP%(I%,J%):NEXT:FOR J%=0 TO 6:READ MV%(I%,J%):NEXT:NEXT:FOR I%=0 TO 22:READ CST%(I%):NEXT 170left%=225:right%=194:down%=232:up%=207:fire%=201:U%=FALSE:nmt%=TRUE 180SYS"OS_Module",18,"IronLordSupport" TO ,,,,mssa%:mssa%+=&204 190SYS"Sound_Speaker",0 TOiss%:SYS"Sound_Volume",0 TOvol%:vol%-=64 200PROCasm 210: 220REPEAT 230 CASE Z% OF 240 WHEN 0:Z%=1:B%=INKEY(500):*IronFadeOut 250 WHEN 1:PROCmap 260 WHEN 2:PROCplace 270 WHEN 3:PROCperson 280 WHEN 4:ON ERROR OFF:CHAIN"<IronLord$Dir>.Iron2" 290 WHEN 5:ON ERROR OFF:CHAIN"<IronLord$Dir>.Iron3" 300 WHEN 6:PROCtower 310 WHEN 7:ON ERROR OFF:CHAIN"<IronLord$Dir>.Iron4" 320 WHEN 8:ON ERROR OFF:CHAIN"<IronLord$Dir>.Iron5" 330 WHEN 9:ON ERROR OFF:CHAIN"<IronLord$Dir>.Iron7" 340 WHEN 10:ON ERROR OFF:CHAIN"<IronLord$Dir>.Iron6" 350 ENDCASE 360UNTIL FALSE 370END 380: 390DEF PROCmap 400IF nmt% nmt%=FALSE:*IronTuneOn 0 410!from=MAP%:!to=S%:CALL copy:*IronFadeIn 14 420MOUSE TO SP%(V%,0),SP%(V%,1):MOUSE ON 2:OV%=V%:MV%=-1 430REPEAT:PROCrel_mouse 440REPEAT:IFINKEY(-114) PROCsound_control 450MOUSE MX%,MY%,B%:UNTILB%<>0 460FOR I%=0 TO 6:IF MX%>MS%(I%,0) AND MY%>MS%(I%,1) AND MX%<MS%(I%,2) AND MY%<MS%(I%,3) THEN V%=I%:MV%=MV%(OV%,V%) 470NEXT:UNTIL MV%<>-1:MOUSE OFF:PROCrel_mouse 480IF MV%>=0 THEN 490 A%=RT%+MV%:B%=!A%:A%+=4 500 IF B%=4 FOR I%=0 TO 7:SYS"OS_SpriteOp",303,CSP%,STR$I%:NEXT 510 !bank=2:!to=T%:SYS"OS_Byte",112,2:CALL gallop 520 IF B%=4 FOR I%=0 TO 7:SYS"OS_SpriteOp",303,CSP%,STR$I%:NEXT 530ENDIF:*IronFadeOut 540SYS"OS_Byte",112,1:SYS"OS_Byte",113,1:IF V%=2 OR V%=4 Z%=3 ELSE Z%=2:A%=SP%(V%,2):B%=SP%(V%,3):C%=SP%(V%,4):IF MV%>=0 U%=TRUE 550IF Z%<>2 nmt%=TRUE:*IronTuneOff 560ENDPROC 570: 580REM Location data 590DATA 784,280,900,420,820,308,48,332,&5C, -2,0,&130,-1,-1,-1,-1 600DATA 336,68,464,180,436,76,680,28,&10, &220,-2,&344,&44C,-1,-1,-1 610DATA 880,0,988,88,888,48,0,0,0, &514,&600,-2,-1,-1,-1,-1 620DATA 0,280,104,360,56,296,928,264,&FC, -1,&710,-1,-2,&7D0,&8A0,&9D8 630DATA 60,508,176,588,132,520,0,0,0, -1,-1,-1,&CBC,-2,&DAC,&E78 640DATA 456,500,572,588,488,540,28,356,&5C, -1,-1,-1,&10DC,&120C,-2,&12CC 650DATA 1020,616,1192,732,1180,628,660,36,&10,-1,-1,-1,&1450,&1734,&198C,-2 660REM Cost data 670DATA 0,0,0,0,0,0,150,60,0,0,0,10,23,16,25,17,12,24,5,3,19,3,5 680: 690DEF PROCmouse 700PROCrel_mouse:REPEAT:MOUSE MX%,MY%,B%:UNTIL B%<>0:ENDPROC 710: 720DEF PROCrel_mouse:*FX 21,9 730REPEAT:MOUSE MX%,MY%,B%:UNTIL B%=0:ENDPROC 740: 750DEF PROCsound_control 760RESTORE4420:PROCrect(340,288,600,240,FALSE):GCOL0:MOVE472,496:PRINT"Music":RECTANGLE648,460,104,44:MOVE408,444:PRINT"Speaker":RECTANGLE648,408,104,44:MOVE440,392:PRINT"Volume":RECTANGLE648,356,256,44:MOVE576,340:PRINT"Exit":RECTANGLE564,304,148,44:PROConoff(496,!mssa%):PROConoff(444,iss%=2):PROCdisp_vol 770REPEAT:PROCmouse 780IFMX%>648ANDMX%<752 THEN 790 IFMY%>460ANDMY%<504 !mssa%=NOT !mssa%:mssa%!44=0:PROConoff(496,!mssa%) 800 IFMY%>408ANDMY%<452 iss%=iss% EOR3:SYS"Sound_Speaker",iss%:PROConoff(444,iss%=2) 810ENDIF 820IFMX%>640ANDMX%<900ANDMY%>356ANDMY%<400THEN 830 MOUSE RECTANGLE 644,356,252,44 840 REPEAT:MOUSE MX%,MY%,B%:vol%=(MX%-644)/4:PROCdisp_vol:UNTILB%=0 850 SYS"Sound_Volume",vol%+64:MOUSE RECTANGLE 0,0,1279,799 860ENDIF 870UNTILMX%>596ANDMX%<704ANDMY%>304ANDMY%<348 880CALLcopy:PROCrel_mouse 890ENDPROC 900: 910DEF PROConoff(oy%,of%):GCOL6:RECTANGLEFILL652,oy%-32,96,32:GCOL0 920IFof% MOVE672,oy%:PRINT"On" ELSEMOVE656,oy%:PRINT"Off" 930ENDPROC 940: 950DEF PROCdisp_vol 960IFvol%>0 GCOL4:RECTANGLEFILL652,360,vol%*4-4,36 970IFvol%<63GCOL6:RECTANGLEFILL652+vol%*4,360,248-vol%*4,36 980ENDPROC 990: 1000DEF PROCplace 1010GCOL128:CLG:GCOL11:RECTANGLE 8,0,1271,795:RECTANGLE 12,4,1263,787:POINT 4,0:MOVE 660,8:DRAW 660,788:MOVE 664,8:DRAW 664,788:RECTANGLE FILL 668,352,600,16:GCOL12:MOVE 4,4:DRAW 4,799:DRAW 1279,799:MOVE 16,8:DRAW 656,8:DRAW 656,788 1020RESTORE 4380:PROCrect(672,374,592,408,TRUE):RESTORE 4380:PROCrect(672,12,592,332,TRUE):RESTORE 4390:PROCrect(784,432,372,288,FALSE) 1030SYS"OS_SpriteOp",290,CSP%,"w",692,400:SYS"OS_SpriteOp",290,CSP%,"s",784,378:SYS"OS_SpriteOp",290,CSP%,"e",1160,396:SYS"OS_SpriteOp",290,CSP%,"n",784,724 1040V$=STR$V%:OSCLI"IronLoad <IronLord$Dir>.Picture."+V$+" "+STR$~(T%+2):CALL loadpic:OSCLI"IronLoad <IronLord$Dir>.Sprites."+V$+" "+STR$~(PSP%+4) 1050IFV%=0 G%=0:PD%=0 ELSEIFV%=1 G%=&18A:PD%=&120 ELSEIFV%=3 G%=&5B4:PD%=&3FC ELSEIFV%=5 G%=&7F6:PD%=&698 ELSEG%=&B28:PD%=&880 1060G%+=TBL%:PD%+=PDT%:SYS"OS_SpriteOp",265,SSP%:CALL drtbl 1070IF nmt% nmt%=FALSE:*IronTuneOn 0 1080GCOL0:GCOL135:N%=?PD%:Y%=176+N%*16:D%=PD%+1:FORI%=1TON%:MOVE968-16*LEN$D%,Y%:PRINT$D%:D%+=(1+LEN$D%):Y%-=32:NEXT:OSCLI"IronFadeIn "+V$ 1090IF(D% AND 3)<>0 D%+=(4-(D% AND 3)) 1100IF U% ON V%+1 PROCin0,PROCin1,,PROCin3,,PROCin5,PROCin6 1110!txt=D%+(4*!D%)+4:A%=USR(move):Z%=(A%>>5)AND 31:V%=A% AND 31:U%=FALSE:GCOL128 1120IF Z%=1 AND ?(HIMEM+&15F)=1 THEN 1130 IF ?(HIMEM+&15E)<5 R%=3 ELSE R%=20 1140 IF RND(R%)=1 THEN 1150 RESTORE 4380:PROCrect(304,228,672,344,FALSE):WW%=19:WXC%=640:WYC%=400:GCOL0 1160 IF ?(HIMEM+1)=0 THEN 1170 PROCwwpr("Before you can mount your horse an assassin leaps out and blocks the way. He reaches for his sword, and you do the same ..."):Z%=7 1180 ELSE PROCwwpr("Before you can mount your horse an assassin leaps out and blocks the way. As you have no sword you are instantly slain."):Z%=9 1190 ENDIF:PROCmouse 1200 ENDIF 1210ENDIF:*IronFadeOut 1220IF Z%<>1 nmt%=TRUE:*IronTuneOff 1230ENDPROC 1240: 1250DEF PROCin0 1260VDU 24,72;0;368;796;:I%=0:J%=PSP%+16:K%=PSP%+&B30 1270FORX%=-8TO372STEP4 1280SYS"OS_SpriteOp",272,SSP%,"S",0,X%,268,X%+76,316 1290SYS"OS_SpriteOp",546,PSP%,J%,X%,268,8 1300SYS"OS_SpriteOp",546,PSP%,K%,72,264,8 1310I%=(I%+1)MOD8:J%=PSP%+16+I%*&164:WAIT:WAIT 1320SYS"OS_SpriteOp",546,SSP%,SSP%+16,X%,268,0:NEXT 1330VDU 24,0;0;1279;799;:ENDPROC 1340: 1350DEF PROCin1 1360VDU 24,20;12;228;796;:I%=0:Y%=-60:FOR X%=-96 TO 236 STEP 8 1370SYS"OS_SpriteOp",272,SSP%,"S",0,X%,Y%,X%+44,Y%+56 1380SYS"OS_SpriteOp",546,PSP%,PSP%+16+I%*&11C,X%,Y%,8 1390WAIT:WAIT 1400SYS"OS_SpriteOp",546,SSP%,SSP%+16,X%,Y%,0:I%=(I%+1)MOD 8 1410SYS"OS_SpriteOp",546,PSP%,PSP%+16+I%*&11C,X%,Y%,8 1420WAIT:WAIT 1430SYS"OS_SpriteOp",546,SSP%,SSP%+16,X%,Y%,0:Y%+=4:I%=(I%+1)MOD 8:NEXT 1440VDU 24,0;0;1279;799;:ENDPROC 1450: 1460DEF PROCin3 1470VDU 24,16;0;364;796;:I%=0:J%=PSP%+16:K%=PSP%+&B30 1480FORX%=-64TO368STEP4 1490SYS"OS_SpriteOp",272,SSP%,"S",0,X%,320,X%+76,368 1500SYS"OS_SpriteOp",546,PSP%,J%,X%,320,8 1510SYS"OS_SpriteOp",546,PSP%,K%,248,320,8 1520I%=(I%+1)MOD8:J%=PSP%+16+I%*&164:WAIT:WAIT 1530SYS"OS_SpriteOp",546,SSP%,SSP%+16,X%,320:NEXT 1540VDU 24,0;0;1279;799;:ENDPROC 1550: 1560DEF PROCin5 1570VDU 24,84;0;240;796;:I%=0:J%=PSP%+16:K%=PSP%+&B30 1580FORX%=0TO244STEP4 1590SYS"OS_SpriteOp",272,SSP%,"S",0,X%,232,X%+76,284 1600SYS"OS_SpriteOp",546,PSP%,J%,X%,232,8 1610SYS"OS_SpriteOp",546,PSP%,K%,84,232,8 1620I%=(I%+1)MOD8:J%=PSP%+16+I%*&164:WAIT:WAIT 1630SYS"OS_SpriteOp",546,SSP%,SSP%+16,X%,232,0:NEXT 1640VDU 24,0;0;1279;799;:ENDPROC 1650: 1660DEF PROCin6 1670SYS"OS_SpriteOp",272,SSP%,"S",0,332,156,420,268 1680VDU 24,332;156;420;276;:I%=0:FOR X%=184 TO 424 STEP 4 1690SYS"OS_SpriteOp",546,PSP%,PSP%+16+I%*&4B4,X%,156,8 1700WAIT:WAIT:WAIT:WAIT 1710SYS"OS_SpriteOp",546,SSP%,SSP%+16,332,156,0:I%=(I%+1)MOD 8:NEXT 1720VDU 24,0;0;1279;799;:ENDPROC 1730: 1740DEF PROCperson 1750CLG:GCOL11:RECTANGLE 8,0,1271,795:RECTANGLE 12,4,1263,787:POINT 4,0:MOVE 660,8:DRAW 660,788:MOVE 664,8:DRAW 664,788:GCOL12:MOVE 4,4:DRAW 4,799:DRAW 1279,799:MOVE 16,8:DRAW 656,8:DRAW 656,788:RESTORE 4400:PROCrect(672,12,592,770,FALSE) 1760IF V%=2 tu%=1 ELSE IF V%=4 tu%=2 ELSE tu%=V%-4 1770OSCLI"IronLoad <IronLord$Dir>.Picture."+STR$V%+" "+STR$~(T%+2):CALL loadpic:OSCLI"IronTuneOn "+STR$tu%:OSCLI"IronFadeIn "+STR$V%:MOUSE TO 968,400:MOUSE ON 2 1780IF V%=2 P%=0 ELSE IF V%=4 P%=1 ELSE P%=V%-5 1790VDU24,688;28;1248;766;:REPEAT:GCOL0:GCOL134:WAIT:CLG:MOVE824,700:PRINT"Inventory":MOVE856,636:PRINT"Examine":MOVE856,572:PRINT"Discuss":MOVE920,508:PRINT"Buy":MOVE904,444:PRINT"Give":MOVE888,316:PRINT"Leave":PROCrel_mouse 1800LO%=0:GCOL3,6:REPEAT:MOUSEMX%,MY%,B%:O%=0:IFMX%>800ANDMX%<1128 THEN O%=8:REPEAT:O%-=1:UNTILO%=0 OR MY%>212+O%*64 AND MY%<264+O%*64:IF O%=2 O%=0 1810IF O%<>LO% AND LO%<>0 WAIT:RECTANGLE FILL 808,220+LO%*64,320,36 1820IF O%<>LO% AND O%<>0 WAIT:RECTANGLE FILL 808,220+O%*64,320,36 1830LO%=O%:UNTILB%<>0 AND O%<>0 1840CASE O% OF 1850 WHEN 3:PROCgive 1860 WHEN 4:PROCbuy 1870 WHEN 5:PROCdiscuss 1880 WHEN 6:PROCexamine 1890 WHEN 7:PROCinventory 1900ENDCASE 1910UNTILO%=1:PROCrel_mouse:MOUSE OFF:*IronFadeOut 1920CASE V% OF 1930 WHEN 7:V%=5:Z%=2:A%=140:B%=132:C%=&B0 1940 WHEN 8:V%=1:Z%=2:A%=880:B%=72:C%=16 1950 WHEN 9:V%=3:Z%=2:A%=168:B%=216:C%=&B0 1960 WHEN 10:V%=5:Z%=2:A%=840:B%=236:C%=&5C 1970 WHEN 11:V%=3:Z%=2:A%=344:B%=364:C%=&5C 1980 WHEN 12:V%=6:Z%=2:A%=84:B%=84:C%=&B0 1990 WHEN 13:V%=17:Z%=5 2000 OTHERWISE Z%=1 2010ENDCASE 2020VDU24,0;0;1279;799;:GCOL128:*IronTuneOff 2030ENDPROC 2040: 2050DEF PROCdiscuss:CLG:SYS"OS_SpriteOp",290,CSP%,"la",700,648:SYS"OS_SpriteOp",290,CSP%,"done",864,648:SYS"OS_SpriteOp",290,CSP%,"ra",1084,648:VDU 24,688;28;1248;644; 2060DL%=HIMEM+&30+P%*32:Q%=0:R%=TRUE 2070REPEAT:IF R% CLG:!ypos=608:A%=DL%?Q%:CALL message:R%=FALSE:QD%=TRUE 2080PROCmouse 2090IF MY%>656 AND MY%<760 THEN 2100 IF MX%>700 AND MX%<844 AND Q%>0 REPEAT:Q%-=1:UNTIL DL%?Q%<>0:R%=TRUE 2110 IF MX%>1084 AND MX%<1228 C%=Q%:R%=TRUE:REPEAT:Q%+=1:UNTIL DL%?Q%<>0 OR Q%=16:IF Q%=16 Q%=C%:R%=FALSE 2120ENDIF 2130IF MX%>688 AND MY%<644 AND QD% THEN 2140 A%=DL%?(Q%+16):CLG:!ypos=608:CALL message:QD%=FALSE 2150 IF Q%=0 AND P%<>7 PROCch_resp(P%,0,123) 2160 IF Q%>0 AND Q%<7 AND (P%<>7 OR ?(HIMEM+9)=247) PROCch_resp(P%,Q%,124) 2170 IF Q%=2 AND P%=5 ?(HIMEM+&15F)=1:REM Sword fight 2180 IF A%=102 PROCreveal_ques(7):REM Miller army ? 2190 IF A%=103 ?(HIMEM+&155)=1:PROChide_ques(1,2):REM Miller army 2200 IF A%=105 AND ?(HIMEM+5)=255 PROCreveal_ques(6):REM Monk army ? 2210 IF A%=106 ?(HIMEM+&156)=1:PROChide_ques(2,2):REM Monk army 2220 IF A%=108 PROChide_ques(2,8):PROCch_resp(6,2,96):PROCch_resp(6,7,100):REM Monk gives wine 2230 IF A%=82 ?(HIMEM+&157)=1:PROChide_ques(3,2):REM Herbalist army 2240 IF A%=85 ?(HIMEM+5)=0:FOR I%=0 TO 8:PROChide_ques(I%,6):NEXT:REM Herbalist gives antidote 2250 IF A%=87 PROCreveal_ques(3):REM Shopkeeper army ? 2260 IF A%=88 ?(HIMEM+&158)=1:PROChide_ques(4,2):REM Shopkeeper army 2270 IF A%=90 ?(HIMEM+7)=9:FOR I%=0 TO 8:PROChide_ques(I%,4):NEXT:REM Shopkeeper sells armour 2280 IF A%=92 ?(HIMEM+6)=9:FOR I%=0 TO 8:PROChide_ques(I%,5):NEXT:REM Shopkeeper sells ruby 2290 IF A%=113 ?(HIMEM+&159)=2:PROChide_ques(5,2):REM Templar army 2300 IF A%=94 PROCreveal_ques(8):REM Hello innkeeper 2310 IF A%=96 ?(HIMEM+&15A)=1:PROChide_ques(6,2):REM Innkeeper army 2320 IF A%=100 PROChide_ques(6,7):PROCch_resp(1,2,103):REM Innkeeper pays 2330 IF A%=120 PROCreveal_ques(5):REM Mercenary army ? 2340 IF A%=121 ?(HIMEM+&15B)=3:PROChide_ques(7,2):REM Mercenary army 2350 IF A%=122 PROCreveal_ques(4):REM Mercenary necklace ? 2360 IF A%=116 ?(HIMEM+9)=0:PROChide_ques(8,2):REM Maid gives pendant 2370ENDIF 2380UNTIL MX%>864 AND MX%<1060 AND MY%>656 AND MY%<760:VDU 24,688;28;1248;764;:ENDPROC 2390: 2400DEF PROCexamine:CLG:SYS"OS_SpriteOp",290,CSP%,"done",864,36:A%=?(HIMEM+V%+&20):!ypos=700:CALL message:PROCdone_wait 2410ENDPROC 2420: 2430DEF PROCinventory:CLG:SYS"OS_SpriteOp",290,CSP%,"done",864,36:VDU 24,688;148;1248;764;:T$="Inventory" 2440A%=FNsel_obj(0):IF A%=100 !ypos=468:A%=131:CALL message:PROCdone_wait 2450WHILE A%<99:CLG 2460IF A%=0 THEN 2470 M%=!(HIMEM+&150) 2480 IF M%=0 THEN 2490 PROCwpr("The purse is empty.",700) 2500 ELSE 2510 M$="The purse contains "+STR$(M%)+" gold piece":IF M%=1 M$+="." ELSE M$+="s." 2520 PROCwpr(M$,700) 2530 ENDIF 2540ELSE 2550 !ypos=700:A%+=25:CALL message 2560ENDIF 2570PROCdone_wait:CLG:A%=FNsel_obj(0):ENDWHILE 2580VDU 24,688;28;1248;764;:ENDPROC 2590: 2600DEF PROCbuy:T$="Buy" 2610CLG:SYS"OS_SpriteOp",290,CSP%,"done",864,36 2620A%=0:IF FNnum_obj(V%)=0 A%=132 ELSE IF FNnum_obj(0)>11 A%=138 2630IF A%<>0 !ypos=468:CALL message:PROCdone_wait:OB%=100 ELSE OB%=FNsel_obj(V%) 2640IF OB%<99 THEN 2650 CLG:IF OB%=19 PROCwpr("These cost",700) ELSE PROCwpr("This costs",700) 2660 PROCwpr(STR$(CST%(OB%))+" gold pieces.",668) 2670 IF CST%(OB%)>!(HIMEM+&150) THEN 2680 !ypos=604:A%=137:CALL message:SYS"OS_SpriteOp",290,CSP%,"done",864,36:PROCdone_wait 2690 ELSE 2700 SYS"OS_SpriteOp",290,CSP%,"yes",704,36:SYS"OS_SpriteOp",290,CSP%,"no",1028,36:PROCwpr("Do you wish to",604):IF OB%=19 PROCwpr("buy them ?",572) ELSE PROCwpr("buy it ?",572) 2710 Y%=0:REPEAT:PROCmouse 2720 IF MY%>44 AND MY%<148 THEN 2730 IF MX%>704 AND MX%<900 Y%=1 ELSE IF MX%>1028 AND MX%<1224 Y%=2 2740 ENDIF 2750 UNTIL Y%>0 2760 IF Y%=1 THEN 2770 CLG 2780 CASE OB% OF 2790 WHEN 21:IF ?(HIMEM+&161)=0 A%=140:!(HIMEM+&150)-=CST%(OB%):?(HIMEM+&161)=1 ELSE A%=142 2800 WHEN 22:IF ?(HIMEM+&162)=0 A%=141:!(HIMEM+&150)-=CST%(OB%):?(HIMEM+&162)=1 ELSE A%=143 2810 OTHERWISE:!(HIMEM+&150)-=CST%(OB%):?(HIMEM+OB%)=0:PROCwpr("You now have",700):A%=OB% 2820 ENDCASE 2830 !ypos=668:CALL message:SYS"OS_SpriteOp",290,CSP%,"done",864,36:PROCdone_wait 2840 ENDIF 2850 ENDIF 2860ENDIF 2870ENDPROC 2880: 2890DEF PROCwpr(S$,Y%):LOCAL T$,P% 2900REPEAT:T$="" 2910 IF LENS$>17 THEN 2920 P%=17:WHILE MID$(S$,P%,1)<>" ":P%-=1:ENDWHILE 2930 T$=RIGHT$(S$,LEN(S$)-P%):S$=LEFT$(S$,P%-1) 2940 ENDIF 2950 MOVE 968-16*LENS$,Y%:PRINTS$:Y%-=32:S$=T$ 2960UNTIL S$="":ENDPROC 2970: 2980DEF PROCwwpr(S$):LOCAL T$,P%,Y%:T$=S$:Y%=0 2990REPEAT 3000 IF LENT$>WW% THEN 3010 P%=WW%+1:WHILE MID$(T$,P%,1)<>" ":P%-=1:ENDWHILE 3020 T$=RIGHT$(T$,LEN(T$)-P%) 3030 ELSE 3040 T$="" 3050 ENDIF 3060 Y%+=1 3070UNTIL T$="" 3080Y%=WYC%+Y%*18 3090REPEAT:T$="" 3100 IF LENS$>WW% THEN 3110 P%=WW%+1:WHILE MID$(S$,P%,1)<>" ":P%-=1:ENDWHILE 3120 T$=RIGHT$(S$,LEN(S$)-P%):S$=LEFT$(S$,P%-1) 3130 ENDIF 3140 MOVE WXC%-16*LENS$,Y%:PRINTS$:Y%-=36:S$=T$ 3150UNTIL S$="":ENDPROC 3160: 3170DEF PROCgive:CLG:SYS"OS_SpriteOp",290,CSP%,"done",864,36:VDU 24,688;148;1248;764;:T$="Give" 3180OB%=FNsel_obj(0):IF OB%=100 !ypos=468:A%=131:CALL message:PROCdone_wait 3190IF OB%<99 THEN 3200 !ypos=700:A%=0 3210 REM Check silly gifts 3220 IF (P%=3 AND (OB%=5 OR OB%=20 OR OB%=11 OR OB%=12 OR OB%=13)) OR (P%=4 AND (OB%=6 OR OB%=7 OR OB%>13 AND OB%<20)) OR (P%=7 AND OB%=8) OR (P%=8 AND OB%=9) THEN A%=139 3230 REM Check special gifts 3240 IF P%=3 AND OB%=10 A%=125:PROCch_resp(3,2,82):PROCch_resp(3,6,85):PROCch_resp(3,0,123) 3250 IF P%=7 AND OB%=9 A%=126:PROCch_resp(7,0,123):PROCch_resp(7,2,120):PROCch_resp(7,3,122):PROCch_resp(7,6,78) 3260 IF P%=7 AND OB%=6 A%=128:PROCch_resp(P%,2,121):?(HIMEM+&15B)=3 3270 IF P%=7 AND OB%=7 A%=129:?(HIMEM+8)=0:FOR I%=0 TO 8:PROChide_ques(I%,3):NEXT:REM Mercenary gives necklace 3280 IF P%=2 AND OB%=5 A%=127:PROCch_resp(P%,2,106):PROCch_resp(P%,8,108):?(HIMEM+&160)+=1:PROCch_resp(5,2,?(HIMEM+&160)):?(HIMEM+39)=53 3290 IF P%=4 AND OB%=8 A%=130:PROCch_resp(P%,2,88):PROCch_resp(P%,5,92) 3300 IF A%=0 AND P%=7 AND ?(HIMEM+9)<>247 A%=135 ELSE IF A%<>139 ?(HIMEM+OB%)=254-P% 3310 IF A%=0 A%=132+RND(2) 3320 IF OB%=0 !(HIMEM+&150)=0 3330 CLG:CALL message:PROCdone_wait 3340ENDIF 3350VDU 24,688;28;1248;764;:ENDPROC 3360: 3370DEF FNsel_obj(I%):LOCAL O% 3380N%=0:FOR A%=0 TO 31:IF ?(HIMEM+A%)=I% OB%(N%)=A%:N%+=1 3390NEXT:IF N%=0 =100 3400PROCwpr(T$,748):!ypos=452+N%*16:FOR A%=0 TO 31:IF ?(HIMEM+A%)=I% CALL message 3410NEXT 3420BB%=424-N%*16:OO%=0:PROCrel_mouse 3430REPEAT:MOUSEMX%,MY%,B%:O%=0:IFMX%>712ANDMX%<1224 THEN O%=N%+1:REPEAT:O%-=1:UNTILO%=0 OR MY%>BB%+O%*32 AND MY%<BB%+56+O%*32 3440IF O%<>OO% AND OO%<>0 WAIT:RECTANGLE FILL 712,BB%+OO%*32,512,28 3450IF O%<>OO% AND O%<>0 WAIT:RECTANGLE FILL 712,BB%+O%*32,512,28 3460IF MX%>864 AND MX%<1060 AND MY%>44 AND MY%<148 AND B%<>0 =99 3470OO%=O%:UNTILB%<>0 AND O%<>0 3480=OB%(N%-O%) 3490: 3500DEF FNnum_obj(I%):LOCAL A% 3510N%=0:FOR A%=0 TO 31:IF ?(HIMEM+A%)=I% N%+=1 3520NEXT:=N% 3530: 3540DEF PROCdone_wait 3550REPEAT:PROCmouse:UNTIL MX%>864 AND MX%<1060 AND MY%>44 AND MY%<148:ENDPROC 3560: 3570DEF PROCch_resp(P%,Q%,A%):?(HIMEM+64+P%*32+Q%)=A%:ENDPROC 3580: 3590DEF PROCreveal_ques(Q%):LOCAL I%,QM% 3600IF Q%=0 QM%=60 ELSE IF Q%=1 QM%=71 ELSE QM%=62+Q% 3610FOR I%=0 TO 8:IF ?(HIMEM+64+I%*32+Q%)<>0 ?(HIMEM+48+I%*32+Q%)=QM% 3620NEXT:ENDPROC 3630: 3640DEF PROChide_ques(P%,Q%):?(HIMEM+48+P%*32+Q%)=0:ENDPROC 3650: 3660DEF PROCtower 3670CLG:OSCLI"IronLoad <IronLord$Dir>.Tower "+STR$~(S%+&5A0):!from=S%:!to=T%:CALL copy:SWAP !from,!to 3680Z%=0:REPEAT 3690CALL copy:RESTORE 4410:PROCrect(32,464,448,264,FALSE):GCOL12:MOVE 112,700:PRINT"Save game":MOVE 112,664:PRINT"Load game":MOVE 64,628:PRINT"Raise armies":MOVE 112,592:PRINT"Go to war":MOVE176,520:PRINT"Leave" 3700*IronFadeIn 15 3710MOUSE TO 384,548:MOUSE ON 2:PROCrel_mouse:GCOL3,13:OO%=0 3720REPEAT:MOUSEMX%,MY%,B%:O%=0:IFMX%>60ANDMX%<452 THEN O%=7:REPEAT:O%-=1:UNTILO%=0 OR MY%>448+O%*36 AND MY%<488+O%*36:IF O%=2 O%=0 3730IF O%<>OO% AND OO%<>0 WAIT:RECTANGLE FILL 60,452+OO%*36,392,36 3740IF O%<>OO% AND O%<>0 WAIT:RECTANGLE FILL 60,452+O%*36,392,36 3750OO%=O%:UNTILB%<>0 AND O%<>0:MOUSE OFF 3760MOUSE OFF:*IronFadeOut 3770IF O%<>1 CALL copy:RESTORE 4410 3780CASE O% OF 3790WHEN 6: PROCsave_game 3800WHEN 5: PROCload_game 3810WHEN 4: PROCraise_armies 3820WHEN 3: PROCwar 3830WHEN 1: Z%=2 3840ENDCASE 3850UNTIL Z%<>0 3860V%=0:A%=392:B%=252:C%=&FC:CLG:ENDPROC 3870: 3880DEF PROCsave_game:LOCAL ERROR 3890ON ERROR LOCAL PROCfile_error:ENDPROC 3900PROCrect(304,236,668,324,FALSE):GCOL12:MOVE 496,540:PRINT"Save game":VDU4,28,10,19,29,11,31,0,2:COLOUR12:COLOUR129 3910PRINT"Enter filename :"':*IronFadeIn 15 3920*FX 21,0 3930REPEAT:INPUTTAB(0,4)""F$:UNTIL F$<>"" 3940OSCLI"Save "+F$+" "+STR$~HIMEM+"+200":OSCLI"Stamp "+F$ 3950VDU 28,0,31,39,0,5:*IronFadeOut 3960ENDPROC 3970: 3980DEF PROCload_game:LOCAL ERROR 3990ON ERROR LOCAL PROCfile_error:ENDPROC 4000PROCrect(304,236,668,324,FALSE):GCOL12:MOVE 496,540:PRINT"Load game":VDU4,28,10,19,29,11,31,0,2:COLOUR12:COLOUR129 4010PRINT"Enter filename :"':*IronFadeIn 15 4020*FX 21,0 4030REPEAT:INPUTTAB(0,4)""F$:UNTIL F$<>"" 4040SYS"OS_File",5,F$ TO OT%,,,,OL%:IF OT%=0 ERROR 214,"File '"+F$+"' not found" ELSE IF OT%<>1 OR OL%<>&200 ERROR 214,"File '"+F$+"' is not a saved game" 4050OSCLI"Load "+F$+" "+STR$~HIMEM 4060IF ?(HIMEM+&164)=1 Z%=10 4070VDU 28,0,31,39,0,5:*IronFadeOut 4080ENDPROC 4090: 4100DEF PROCfile_error 4110CLS:OFF:PRINTTAB(4,0);"** Error **":*FX 21,0 4120X%=9-LEN(REPORT$)/2:IF X%<0 X%=0 4130PRINTTAB(X%,2)REPORT$:PROCrel_mouse:REPEAT:MOUSE MX%,MY%,B%:UNTIL B%<>0 OR INKEY(0)<>-1 4140VDU 28,0,31,39,0,5:*IronFadeOut 4150ENDPROC 4160: 4170DEF PROCraise_armies 4180N%=0:FORI%=&155TO&15B:N%+=?(HIMEM+I%):NEXT 4190PROCrect(320,268,640,264,FALSE):WW%=18:WXC%=640:WYC%=400:GCOL12 4200IF N%=1 N$="1 army." ELSE N$=STR$N%+" armies." 4210IF N%=0 PROCwwpr("You have not yet managed to raise any armies.") ELSE PROCwwpr("You are currently able to raise "+N$) 4220*IronFadeIn 15 4230PROCmouse:*IronFadeOut 4240ENDPROC 4250: 4260DEF PROCwar 4270N%=0:FORI%=&155TO&15B:N%+=?(HIMEM+I%):NEXT 4280IF N%=0 PROCrect(336,300,608,200,FALSE):WW%=18:WXC%=640:WYC%=400:GCOL12:PROCwwpr("You cannot yet go to war, as you have not raised any armies.") ELSE PROCrect(288,368,704,72,FALSE):GCOL12:MOVE320,416:PRINT"Prepare for battle !":Z%=8 4290*IronFadeIn 15 4300PROCmouse:*IronFadeOut 4310ENDPROC 4320: 4330DEF PROCrect(X%,Y%,W%,D%,L%):LOCAL C%,N% 4340IF L% GCOL12:MOVE X%,Y%-4:DRAW X%+W%+4,Y%-4:DRAW X%+W%+4,Y%+D%:GCOL11:POINT X%-4,Y%-4:POINT X%+W%+4,Y%+D%+4 4350READ 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 4360: 4370REM Data for boxes 4380DATA 4,13,13,14,8,7 4390DATA 7,8,14,13,13,12,11,0,15 4400DATA 4,1,2,3,4,6 4410DATA 4,4,4,3,2,1 4420DATA 3,11,8,7,6 4430: 4440DEF PROCasm 4450sp=13:link=14:OS_WriteI=&100 4460FOR O%=0 TO 2 STEP 2 4470P%=code% 4480[OPT O% 4490.loadpic 4500LDR R11,scradd2:LDR R12,scradd:MOV R10,#194 4510.pcmv 4520LDRB R0,[R11],#1:STRB R0,[R12],#1:LDRB R0,[R11],#1:STRB R0,[R12],#1:LDMIA R11!,{R0-R8}:STMIA R12!,{R0-R8}:LDMIA R11!,{R0-R9}:STMIA R12!,{R0-R9}:LDRB R0,[R11],#1:STRB R0,[R12],#1:LDRB R0,[R11],#1:STRB R0,[R12],#1 4530ADD R12,R12,#80:SUBS R10,R10,#1:BNE pcmv 4540MOV PC,link 4550.scradd EQUD S%+&1E2 4560.scradd2 EQUD T%+2 4570\ Wait for R1 frame syncs 4580.delay MOV R0,#19 4590.dellp SWI "OS_Byte":SUBS R3,R3,#1:BNE dellp:MOV PC,link 4600\ Draw background 4610.drtbl LDR R7,pspadd 4620MOV R0,#112:MOV R1,#2:SWI "OS_Byte" 4630MOV R0,#280:MOV R1,R7:ADR R2,sname:MOV R3,#48:STR R3,[R2]:SWI "OS_SpriteOp" 4640MOV R0,#34:ADD R0,R0,#512:MOV R4,#800:MOV R5,#8 4650.dbglp MOV R3,#1200 4660.dbglp2 SWI "OS_SpriteOp":SUBS R3,R3,#80:BPL dbglp2:SUBS R4,R4,#80:BPL dbglp 4670LDRB R0,[R6],#1:MOV R8,R0,LSL#8:LDRB R0,[R6],#1:ORR R8,R8,R0:MOV R9,#34:ADD R9,R9,#256 4680.dpllp LDRB R0,[R6],#1:MOV R3,R0,LSL#10:LDRB R0,[R6],#1:ORR R3,R3,R0,LSL#2:LDRB R0,[R6],#1:MOV R4,R0,LSL#2:RSB R4,R4,#796 4690LDRB R0,[R6],#1:ADR R1,sname:MOV R2,#4:SWI "OS_ConvertCardinal1":MOV R2,R0:MOV R1,R7:MOV R0,R9:SWI "OS_SpriteOp":SUBS R8,R8,#1:BNE dpllp 4700MOV R0,#112:MOV R1,#1:SWI "OS_Byte":MOV PC,link 4710.sname EQUD 0 4720\ Copy screen 4730.copy STMFD (sp)!,{R6-R12,link}:MOV R0,#200:LDR R1,from:LDR R2,to 4740.clp 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 clp:LDMFD (sp)!,{R6-R12,PC} 4750\ 4760.from EQUD MAP% 4770.to EQUD S% 4780.sadd EQUD S% 4790.tadd EQUD T% 4800.bank EQUD 2 4810.gltab EQUD CSP%+&1F8C:EQUD CSP%+&24F8:EQUD CSP%+&2A64:EQUD CSP%+&2FD0:EQUD CSP%+&353C:EQUD CSP%+&3AA8:EQUD CSP%+&4014:EQUD CSP%+&4580 4820\ Gallop 4830.gallop STMFD (sp)!,{link}:MOV R12,R0:MOV R11,R1 4840LDR R9,[R12],#4:LDR R10,[R12],#4:MOV R0,#4:STR R0,wxi:STR R0,wyi 4850SUB R7,R9,#32:CMP R7,#32:MOVLE R7,#32:CMP R7,#1020:MOVGT R7,#1020:SUB R8,R10,#32:CMP R8,#604:MOVGT R8,#604 4860ADD R0,R7,#124:ADD R1,R8,#80:ORR R0,R0,R1,LSL#16:STR R0,stw+4:ADD R0,R0,#&40000:ADD R0,R0,#4:STR R0,stw+8:MOV R6,#0 4870.galp1 BL copy 4880\ Little Horse 4890LDRB R0,[R12],#1:TEQ R0,#&FF:BEQ nolh:LDR R2,gspadd:ADD R2,R2,R0,LSL#2 4900MOV R0,#34:ADD R0,R0,#512:LDR R1,cspadd:MOV R3,R9:MOV R4,R10:MOV R5,#8:SWI "OS_SpriteOp" 4910\ Big horse 4920.nolh 4930ADR R0,stw:ADD R0,R0,#3:MOV R1,#9:LDR R2,wxi:TEQ R2,#124:SWINE "OS_WriteN":MOV R0,#34:ADD R0,R0,#512:ADR R2,gltab:LDR R2,[R2,R6]:MOV R3,R7:MOV R4,R8:MOV R5,#0:SWI "OS_SpriteOp":ADR R0,rsw:MOV R1,#12:SWI "OS_WriteN" 4940\ 4950MOV R3,#4:BL delay:MOV R0,#113:LDR R1,bank:SWI "OS_Byte":STR R1,bank:ADR R2,sadd-4:LDR R2,[R2,R1,LSL#2]:STR R2,to:MOV R0,#112:SWI "OS_Byte" 4960SWI "OS_Mouse":TEQ R2,#0:LDMNEFD (sp)!,{PC}:SWI "OS_ReadEscapeState":LDMCSFD (sp)!,{PC} 4970ADD R6,R6,#4:CMP R6,#32:MOVEQ R6,#0 4980ADD R7,R7,R11:CMP R7,#32:MOVLT R7,#32:CMP R7,#988:MOVGT R7,#988:ADD R8,R8,#4:CMP R8,#604:MOVGT R8,#604 4990LDR R0,wxi:TEQ R0,#124:BEQ nowch:LDR R1,wyi:ADD R2,R7,#124:ADD R3,R8,#80:SUB R4,R2,R0:SUB R5,R3,R1:ORR R4,R4,R5,LSL#16:STR R4,stw+4 5000ADD R4,R2,R0:ADD R4,R4,#4:ADD R5,R3,R1:ADD R5,R5,#4:ORR R4,R4,R5,LSL#16:STR R4,stw+8:ADD R0,R0,#4:STR R0,wxi:ADD R1,R1,#4:STR R1,wyi 5010.nowch 5020LDRB R0,[R12],#1:TST R0,#1:ADDNE R9,R9,#4:TST R0,#2:SUBNE R9,R9,#4:TST R0,#4:ADDNE R10,R10,#4:TST R0,#8:SUBNE R10,R10,#4 5030TEQ R0,#&FF:BNE galp1:LDMFD (sp)!,{PC} 5040\ Scrolling places 5050.move STMFD (sp)!,{link}:MOV R8,R0:MOV R9,R1:MOV R10,R2:MOV R12,R3:MVN R0,#0:STR R0,ltxt:MOV R0,#21:ADR R1,rmouse:SWI "OS_Word":MOV R0,#21:MOV R1,#9:SWI "OS_Byte" 5060MOV R0,#9:ADD R0,R0,#256:LDR R1,pspadd:SWI "OS_SpriteOp":MOV R11,#0:MOV R0,#&53:STR R0,sname:B notxt 5070.mvlp LDR R3,txt:LDR R4,[R3],#4 5080.ftl SUBS R4,R4,#1:BMI notxt:LDR R0,[R3],#4:LDR R1,[R3],#4:AND R2,R0,#255:CMP R2,R8,LSR#2:BGT ftl:MOV R2,R0,LSR#6:AND R2,R2,#%1111111100:CMP R2,R9:BGT ftl 5090MOV R2,R0,LSR#14:AND R2,R2,#%1111111100:CMP R2,R8:BLT ftl:MOV R2,R0,LSR#22:AND R2,R2,#%1111111100:CMP R2,R9:BLT ftl 5100LDR R0,ltxt:CMP R0,R4:BEQ notxt:STR R4,ltxt:ADD R3,R3,R1:ADR R0,clrtxt:MOV R1,#12:SWI "OS_WriteN":LDRB R4,[R3],#1:MOV R2,R4,LSL#4:ADD R2,R2,#176 5110.txtl MOV R0,#188:LDRB R1,[R3],#1:MOV R1,R1,LSL#4:RSB R1,R1,#968:SWI "OS_Plot":MOV R0,R3:SWI "OS_Write0":MOV R3,R0:SUB R2,R2,#32:SUBS R4,R4,#1:BNE txtl 5120.notxt MOV R0,#112:MOV R1,#2:SWI "OS_Byte":MOV R0,#272:LDR R1,pspadd:ADR R2,sname:MOV R3,#0:MOV R4,R8:MOV R5,R9:ADD R6,R4,#316:ADD R7,R5,#232:SWI "OS_SpriteOp":MOV R0,#112:MOV R1,#1:SWI "OS_Byte":MOV R3,#2:BL delay 5130MOV R0,#34:ADD R0,R0,#512:LDR R1,pspadd:ADD R2,R1,#16:MOV R3,#812:MOV R4,#460:MOV R5,#0:SWI "OS_SpriteOp":MOV R0,#34:ADD R0,R0,#512:LDR R1,cspadd:ADD R2,R1,R10:ADD R2,R2,R11:EOR R11,R11,#&140:MOV R3,#964:MOV R4,#568:MOV R5,#8:SWI "OS_SpriteOp" 5140.klp 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 5150.md MOV R0,#964:MOV R1,#564 5160.mdlp SWI "OS_ReadPoint":TEQ R2,#7:TEQNE R2,#8:TEQNE R2,#15:BNE klp:ADD R0,R0,#4:TEQ R0,#984:BNE mdlp:SUB R9,R9,#4:MOV R10,#&B0:B mvlp 5170.mu MOV R0,#964:MOV R1,#588 5180.mulp SWI "OS_ReadPoint":TEQ R2,#7:TEQNE R2,#8:TEQNE R2,#15:BNE klp:ADD R0,R0,#4:TEQ R0,#984:BNE mulp:ADD R9,R9,#4:MOV R10,#&10:B mvlp 5190.ml MOV R0,#960:MOV R1,#568 5200.mllp SWI "OS_ReadPoint":TEQ R2,#7:TEQNE R2,#8:TEQNE R2,#15:BNE klp:ADD R1,R1,#4:TEQ R1,#588:BNE mllp:SUB R8,R8,#4:MOV R10,#&FC:B mvlp 5210.mr MOV R0,#984:MOV R1,#568 5220.mrlp SWI "OS_ReadPoint":TEQ R2,#7:TEQNE R2,#8:TEQNE R2,#15:BNE klp:ADD R1,R1,#4:TEQ R1,#588:BNE mrlp:ADD R8,R8,#4:MOV R10,#&5C:B mvlp 5230.rtn MOV R2,R12:LDR R1,[R2],#4 5240.rtnl SUBS R1,R1,#1:MOVMI PC,link:LDR R5,[R2],#4:MOV R3,R5,LSR#20:AND R4,R5,#%1111111100:CMP R3,R8:CMPLE R4,R9:BGT rtnl:ADD R3,R3,#32:ADD R4,R4,#32:CMP R3,R8:CMPGT R4,R9:BLE rtnl:MOV R0,R5,LSR#10:LDMFD (sp)!,{PC} 5250\ Data 5260.stw EQUB 0:EQUB 0:EQUB 0:EQUB 24:EQUD 0:EQUD 0 5270.rsw EQUB 0:EQUB 0:EQUB 0:EQUB 24:EQUD 0:EQUD &31F04FF 5280.pspadd EQUD PSP% 5290.sspadd EQUD SSP% 5300.gspadd EQUD CSP%+&4AEC 5310.cspadd EQUD CSP% 5320.bhx EQUD 0 5330.bhy EQUD 0 5340.lhx EQUD 0 5350.lhy EQUD 0 5360.wxi EQUD 0 5370.wyi EQUD 0 5380.rmouse EQUB 3:EQUW 640:EQUW 400:ALIGN 5390\ 5400.tstkey SWI "OS_ReadEscapeState":LDMCSFD (sp)!,{PC} 5410MOV R6,#0:MOV R0,#121:MOV 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 5420LDR 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 5430.gtkey ANDS R1,R6,#1:ANDEQS R1,R6,#2:ANDEQS R1,R6,#4:ANDEQS R1,R6,#8:MOVNE R6,R1:STR R6,lastkey 5440MOV R1,#fire%:SWI "OS_Byte":TEQ R1,#0:ORRNE R6,R6,#16:TEQ R6,#0:MOVNE PC,link 5450SWI "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:BGT xgt:CMP R1,#400:ORRLT R6,R6,#4:ORRGT R6,R6,#8:B mrtn 5460.xgt CMP R0,#640:ORRLT R6,R6,#1:ORRGT R6,R6,#2:B mrtn 5470.nomov LDR R6,lastmkey 5480.mrtn STR R6,lastmkey:TST R2,#3:ORRNE R6,R6,#16:MOV R0,#21:ADR R1,rmouse:SWI "OS_Word":MOV PC,link 5490\ 5500.lastkey EQUD 0 5510.lastmkey EQUD 0 5520.lastcomb EQUD 0 5530\ 5540.txt EQUD 0 5550.ltxt EQUD 0 5560.clrtxt EQUB 25:EQUB 188:EQUW 696:EQUW 36:EQUB 25:EQUB 103:EQUW 1236:EQUW 320 5570\ 5580.message STMFD (sp)!,{link} 5590LDR R7,ypos:ADR R8,textbuf:MOV R9,#0:MOV R10,#1:LDR R11,textdat:ADD R12,R11,#256:ADD R6,R11,#512:TEQ R0,#0:BEQ mslp 5600.msct LDRB R1,[R6],#1:CMP R1,#0:SUBEQS R0,R0,#1:BNE msct 5610.mslp LDRB R0,[R6],#1:TEQ R0,#0:BEQ printbuf:BL print:B mslp 5620\ 5630.print STMFD (sp)!,{link} 5640LDRB R1,[R11,R0]:TEQ R1,R0:BEQ printit 5650STMFD (sp)!,{R0}:MOV R0,R1:BL print:LDMFD (sp)!,{R0} 5660LDRB R0,[R12,R0]:BL print 5670LDMFD (sp)!,{PC} 5680.printit 5690TEQ R0,#1:MOVEQ R10,R0:LDMEQFD (sp)!,{PC} 5700CMP R0,#96:BLT notuc:TEQ R10,#0:BICNE R0,R0,#&20:MOV R10,#0 5710.notuc TEQ R0,#ASC".":TEQNE R0,#ASC"?":TEQNE R0,#ASC"!":MOVEQ R10,#1 5720STRB R0,[R8,R9]:ADD R9,R9,#1:CMP R9,#18:LDMNEFD (sp)!,{PC} 5730.fdsplp SUBS R9,R9,#1:LDRB R0,[R8,R9]:CMP R0,#32:BNE fdsplp 5740.printbuf 5750MOV R0,#968:SUBS R0,R0,R9,LSL#4:ORR R0,R0,R7,LSL#16:STR R0,movevdu+4 5760ADR R0,movevdu+2:ADD R1,R9,#6:SWI "OS_WriteN" 5770SUB R7,R7,#32:STR R7,ypos:MOV R1,#0:TEQ R9,#17:BEQ nmvbuf 5780.mvbuflp ADD R9,R9,#1:LDRB R0,[R8,R9]:STRB R0,[R8,R1]:ADD R1,R1,#1:CMP R9,#17:BLT mvbuflp 5790.nmvbuf MOV R9,R1:LDMFD (sp)!,{PC} 5800\ 5810.textdat EQUD TXT% 5820.movevdu EQUW 0:EQUB 25:EQUB 4:EQUD 0 5830.textbuf EQUS STRING$(18,CHR$0):ALIGN 5840.ypos EQUD 0 5850] 5860IF P%>(code%+space%) MODE 15:PRINT"Not enough code space.":END 5870NEXT 5880ENDPROC 5890: 5900DEF PROCerror:ON ERROR OFF 5910MODE 15:OFF:CALLHIMEM+&214:*IronTuneOff 5920*FX 20 5930IF ERR=17 PRINT"Goodbye." ELSE PRINT"Iron Lord has stopped because of a fatal error :-"''REPORT$ 5940ENDPROC
� >:IronLord.!IronLord.Iron1 � (C) 1990 UBI soft. <� Archimedes version by Cygnus Software Engineering Ltd. (: 2� � �error:� <: F�space%=&92C:� MS%(6,3),SP%(6,4),MV%(6,6),OB%(18),CST%(22),code% space%,CSP% &4D4C,PSP% &5960,SSP% &280,RT% &1B04,PDT% &AD5,TXT% &1281,MAP% &7D00,TBL% &D1E P!PSP%=&5960 Z,!SSP%=&280:SSP%!4=0:SSP%!8=16:SSP%!12=16 d>!CSP%=&4D4C:�"IronLoad <IronLord$Dir>.MainSpr "+�~(CSP%+4) n*�"IronLoad <IronLord$Dir>.Map "+�~MAP% x,�"IronLoad <IronLord$Dir>.Routes "+�~RT% �'�"Load <IronLord$Dir>.Text "+�~TXT% �)�"Load <IronLord$Dir>.Tables "+�~TBL% �,�"Load <IronLord$Dir>.PlaceData "+�~PDT% �~� �DNB:� I%=0 � 6:� J%=0 � 3:� MS%(I%,J%):�:� J%=0 � 4:� SP%(I%,J%):�:� J%=0 � 6:� MV%(I%,J%):�:�:� I%=0 � 22:� CST%(I%):� �@left%=225:right%=194:down%=232:up%=207:fire%=201:U%=�:nmt%=� �>ș"OS_Module",18,"IronLordSupport" � ,,,,mssa%:mssa%+=&204 �?ș"Sound_Speaker",0 �iss%:ș"Sound_Volume",0 �vol%:vol%-=64 ��asm �: �� � Ȏ Z% � �% � 0:Z%=1:B%=�(500):*IronFadeOut � � 1:�map � 2:�place � 3:�person ' � 4:� � �:�"<IronLord$Dir>.Iron2" "' � 5:� � �:�"<IronLord$Dir>.Iron3" , � 6:�tower 6' � 7:� � �:�"<IronLord$Dir>.Iron4" @' � 8:� � �:�"<IronLord$Dir>.Iron5" J' � 9:� � �:�"<IronLord$Dir>.Iron7" T( � 10:� � �:�"<IronLord$Dir>.Iron6" ^ � h� � r� |: � � �map �� nmt% nmt%=�:*IronTuneOn 0 �+!from=MAP%:!to=S%:� copy:*IronFadeIn 14 �1ȗ � SP%(V%,0),SP%(V%,1):ȗ � 2:OV%=V%:MV%=-1 ��:�rel_mouse ��:�(-114) �sound_control �ȗ MX%,MY%,B%:�B%<>0 �f� I%=0 � 6:� MX%>MS%(I%,0) � MY%>MS%(I%,1) � MX%<MS%(I%,2) � MY%<MS%(I%,3) � V%=I%:MV%=MV%(OV%,V%) ��:� MV%<>-1:ȗ �:�rel_mouse �� MV%>=0 � � A%=RT%+MV%:B%=!A%:A%+=4 �5 � B%=4 � I%=0 � 7:ș"OS_SpriteOp",303,CSP%,�I%:� �. !bank=2:!to=T%:ș"OS_Byte",112,2:� gallop 5 � B%=4 � I%=0 � 7:ș"OS_SpriteOp",303,CSP%,�I%:� �:*IronFadeOut vș"OS_Byte",112,1:ș"OS_Byte",113,1:� V%=2 � V%=4 Z%=3 � Z%=2:A%=SP%(V%,2):B%=SP%(V%,3):C%=SP%(V%,4):� MV%>=0 U%=� &� Z%<>2 nmt%=�:*IronTuneOff 0� :: D� Location data NA� 784,280,900,420,820,308,48,332,&5C, -2,0,&130,-1,-1,-1,-1 XF� 336,68,464,180,436,76,680,28,&10, &220,-2,&344,&44C,-1,-1,-1 bD� 880,0,988,88,888,48,0,0,0, &514,&600,-2,-1,-1,-1,-1 lH� 0,280,104,360,56,296,928,264,&FC, -1,&710,-1,-2,&7D0,&8A0,&9D8 vF� 60,508,176,588,132,520,0,0,0, -1,-1,-1,&CBC,-2,&DAC,&E78 �I� 456,500,572,588,488,540,28,356,&5C, -1,-1,-1,&10DC,&120C,-2,&12CC �I� 1020,616,1192,732,1180,628,660,36,&10,-1,-1,-1,&1450,&1734,&198C,-2 �� Cost data �>� 0,0,0,0,0,0,150,60,0,0,0,10,23,16,25,17,12,24,5,3,19,3,5 �: �� �mouse �(�rel_mouse:�:ȗ MX%,MY%,B%:� B%<>0:� �: �� �rel_mouse:*FX 21,9 ��:ȗ MX%,MY%,B%:� B%=0:� �: �� �sound_control ��DDQ:�rect(340,288,600,240,�):�0:�472,496:�"Music":ȓ648,460,104,44:�408,444:�"Speaker":ȓ648,408,104,44:�440,392:�"Volume":ȓ648,356,256,44:�576,340:�"Exit":ȓ564,304,148,44:�onoff(496,!mssa%):�onoff(444,iss%=2):�disp_vol �:�mouse �MX%>648�MX%<752 � C �MY%>460�MY%<504 !mssa%=� !mssa%:mssa%!44=0:�onoff(496,!mssa%) L �MY%>408�MY%<452 iss%=iss% �3:ș"Sound_Speaker",iss%:�onoff(444,iss%=2) *� 4%�MX%>640�MX%<900�MY%>356�MY%<400� > ȗ ȓ 644,356,252,44 H5 �:ȗ MX%,MY%,B%:vol%=(MX%-644)/4:�disp_vol:�B%=0 R0 ș"Sound_Volume",vol%+64:ȗ ȓ 0,0,1279,799 \� f$�MX%>596�MX%<704�MY%>304�MY%<348 p�copy:�rel_mouse z� �: �0� �onoff(oy%,of%):�6:ȓȐ652,oy%-32,96,32:�0 �(�of% �672,oy%:�"On" ��656,oy%:�"Off" �� �: �� �disp_vol �&�vol%>0 �4:ȓȐ652,360,vol%*4-4,36 �/�vol%<63�6:ȓȐ652+vol%*4,360,248-vol%*4,36 �� �: �� �place ��128:�:�11:ȓ 8,0,1271,795:ȓ 12,4,1263,787:Ȓ 4,0:� 660,8:� 660,788:� 664,8:� 664,788:ȓ Ȑ 668,352,600,16:�12:� 4,4:� 4,799:� 1279,799:� 16,8:� 656,8:� 656,788 �b� �T\Q:�rect(672,374,592,408,�):� �T\Q:�rect(672,12,592,332,�):� �TfQ:�rect(784,432,372,288,�) �ș"OS_SpriteOp",290,CSP%,"w",692,400:ș"OS_SpriteOp",290,CSP%,"s",784,378:ș"OS_SpriteOp",290,CSP%,"e",1160,396:ș"OS_SpriteOp",290,CSP%,"n",784,724 ~V$=�V%:�"IronLoad <IronLord$Dir>.Picture."+V$+" "+�~(T%+2):� loadpic:�"IronLoad <IronLord$Dir>.Sprites."+V$+" "+�~(PSP%+4) n�V%=0 G%=0:PD%=0 ��V%=1 G%=&18A:PD%=&120 ��V%=3 G%=&5B4:PD%=&3FC ��V%=5 G%=&7F6:PD%=&698 �G%=&B28:PD%=&880 $7G%+=TBL%:PD%+=PDT%:ș"OS_SpriteOp",265,SSP%:� drtbl .� nmt% nmt%=�:*IronTuneOn 0 8o�0:�135:N%=?PD%:Y%=176+N%*16:D%=PD%+1:�I%=1�N%:�968-16*�$D%,Y%:�$D%:D%+=(1+�$D%):Y%-=32:�:�"IronFadeIn "+V$ B!�(D% � 3)<>0 D%+=(4-(D% � 3)) L*� U% � V%+1 �in0,�in1,,�in3,,�in5,�in6 VD!txt=D%+(4*!D%)+4:A%=�(move):Z%=(A%>>5)� 31:V%=A% � 31:U%=�:�128 `� Z%=1 � ?(�+&15F)=1 � j � ?(�+&15E)<5 R%=3 � R%=20 t � �(R%)=1 � ~A � �T\Q:�rect(304,228,672,344,�):WW%=19:WXC%=640:WYC%=400:�0 � � ?(�+1)=0 � �� �wwpr("Before you can mount your horse an assassin leaps out and blocks the way. He reaches for his sword, and you do the same ..."):Z%=7 �� � �wwpr("Before you can mount your horse an assassin leaps out and blocks the way. As you have no sword you are instantly slain."):Z%=9 � �:�mouse � � ��:*IronFadeOut �� Z%<>1 nmt%=�:*IronTuneOff �� �: � � �in0 �3� 24,72;0;368;796;:I%=0:J%=PSP%+16:K%=PSP%+&B30 ��X%=-8�372�4 3ș"OS_SpriteOp",272,SSP%,"S",0,X%,268,X%+76,316 (ș"OS_SpriteOp",546,PSP%,J%,X%,268,8 (ș"OS_SpriteOp",546,PSP%,K%,72,264,8 (I%=(I%+1)�8:J%=PSP%+16+I%*&164:Ȗ:Ȗ (/ș"OS_SpriteOp",546,SSP%,SSP%+16,X%,268,0:� 2� 24,0;0;1279;799;:� <: F � �in1 P6� 24,20;12;228;796;:I%=0:Y%=-60:� X%=-96 � 236 � 8 Z4ș"OS_SpriteOp",272,SSP%,"S",0,X%,Y%,X%+44,Y%+56 d4ș"OS_SpriteOp",546,PSP%,PSP%+16+I%*&11C,X%,Y%,8 n Ȗ:Ȗ x9ș"OS_SpriteOp",546,SSP%,SSP%+16,X%,Y%,0:I%=(I%+1)� 8 �4ș"OS_SpriteOp",546,PSP%,PSP%+16+I%*&11C,X%,Y%,8 � Ȗ:Ȗ �Aș"OS_SpriteOp",546,SSP%,SSP%+16,X%,Y%,0:Y%+=4:I%=(I%+1)� 8:� �� 24,0;0;1279;799;:� �: � � �in3 �3� 24,16;0;364;796;:I%=0:J%=PSP%+16:K%=PSP%+&B30 ��X%=-64�368�4 �3ș"OS_SpriteOp",272,SSP%,"S",0,X%,320,X%+76,368 �(ș"OS_SpriteOp",546,PSP%,J%,X%,320,8 �)ș"OS_SpriteOp",546,PSP%,K%,248,320,8 �(I%=(I%+1)�8:J%=PSP%+16+I%*&164:Ȗ:Ȗ �-ș"OS_SpriteOp",546,SSP%,SSP%+16,X%,320:� � 24,0;0;1279;799;:� : � �in5 "3� 24,84;0;240;796;:I%=0:J%=PSP%+16:K%=PSP%+&B30 ,�X%=0�244�4 63ș"OS_SpriteOp",272,SSP%,"S",0,X%,232,X%+76,284 @(ș"OS_SpriteOp",546,PSP%,J%,X%,232,8 J(ș"OS_SpriteOp",546,PSP%,K%,84,232,8 T(I%=(I%+1)�8:J%=PSP%+16+I%*&164:Ȗ:Ȗ ^/ș"OS_SpriteOp",546,SSP%,SSP%+16,X%,232,0:� h� 24,0;0;1279;799;:� r: | � �in6 �2ș"OS_SpriteOp",272,SSP%,"S",0,332,156,420,268 �1� 24,332;156;420;276;:I%=0:� X%=184 � 424 � 4 �5ș"OS_SpriteOp",546,PSP%,PSP%+16+I%*&4B4,X%,156,8 �Ȗ:Ȗ:Ȗ:Ȗ �=ș"OS_SpriteOp",546,SSP%,SSP%+16,332,156,0:I%=(I%+1)� 8:� �� 24,0;0;1279;799;:� �: � � �person ֪�:�11:ȓ 8,0,1271,795:ȓ 12,4,1263,787:Ȓ 4,0:� 660,8:� 660,788:� 664,8:� 664,788:�12:� 4,4:� 4,799:� 1279,799:� 16,8:� 656,8:� 656,788:� �TpQ:�rect(672,12,592,770,�) �*� V%=2 tu%=1 � � V%=4 tu%=2 � tu%=V%-4 �}�"IronLoad <IronLord$Dir>.Picture."+�V%+" "+�~(T%+2):� loadpic:�"IronTuneOn "+�tu%:�"IronFadeIn "+�V%:ȗ � 968,400:ȗ � 2 �'� V%=2 P%=0 � � V%=4 P%=1 � P%=V%-5 ���24,688;28;1248;766;:�:�0:�134:Ȗ:�:�824,700:�"Inventory":�856,636:�"Examine":�856,572:�"Discuss":�920,508:�"Buy":�904,444:�"Give":�888,316:�"Leave":�rel_mouse uLO%=0:�3,6:�:ȗMX%,MY%,B%:O%=0:�MX%>800�MX%<1128 � O%=8:�:O%-=1:�O%=0 � MY%>212+O%*64 � MY%<264+O%*64:� O%=2 O%=0 5� O%<>LO% � LO%<>0 Ȗ:ȓ Ȑ 808,220+LO%*64,320,36 3� O%<>LO% � O%<>0 Ȗ:ȓ Ȑ 808,220+O%*64,320,36 &LO%=O%:�B%<>0 � O%<>0 0Ȏ O% � : � 3:�give D � 4:�buy N � 5:�discuss X � 6:�examine b � 7:�inventory l� v&�O%=1:�rel_mouse:ȗ �:*IronFadeOut �Ȏ V% � �' � 7:V%=5:Z%=2:A%=140:B%=132:C%=&B0 �% � 8:V%=1:Z%=2:A%=880:B%=72:C%=16 �' � 9:V%=3:Z%=2:A%=168:B%=216:C%=&B0 �( � 10:V%=5:Z%=2:A%=840:B%=236:C%=&5C �( � 11:V%=3:Z%=2:A%=344:B%=364:C%=&5C �& � 12:V%=6:Z%=2:A%=84:B%=84:C%=&B0 � � 13:V%=17:Z%=5 � Z%=1 �� �'�24,0;0;1279;799;:�128:*IronTuneOff �� �: �� �discuss:�:ș"OS_SpriteOp",290,CSP%,"la",700,648:ș"OS_SpriteOp",290,CSP%,"done",864,648:ș"OS_SpriteOp",290,CSP%,"ra",1084,648:� 24,688;28;1248;644; DL%=�+&30+P%*32:Q%=0:R%=� 5�:� R% �:!ypos=608:A%=DL%?Q%:� message:R%=�:QD%=� �mouse *� MY%>656 � MY%<760 � 48 � MX%>700 � MX%<844 � Q%>0 �:Q%-=1:� DL%?Q%<>0:R%=� >T � MX%>1084 � MX%<1228 C%=Q%:R%=�:�:Q%+=1:� DL%?Q%<>0 � Q%=16:� Q%=16 Q%=C%:R%=� H� R� MX%>688 � MY%<644 � QD% � \/ A%=DL%?(Q%+16):�:!ypos=608:� message:QD%=� f& � Q%=0 � P%<>7 �ch_resp(P%,0,123) p= � Q%>0 � Q%<7 � (P%<>7 � ?(�+9)=247) �ch_resp(P%,Q%,124) z, � Q%=2 � P%=5 ?(�+&15F)=1:� Sword fight �- � A%=102 �reveal_ques(7):� Miller army ? �7 � A%=103 ?(�+&155)=1:�hide_ques(1,2):� Miller army �8 � A%=105 � ?(�+5)=255 �reveal_ques(6):� Monk army ? �5 � A%=106 ?(�+&156)=1:�hide_ques(2,2):� Monk army �R � A%=108 �hide_ques(2,8):�ch_resp(6,2,96):�ch_resp(6,7,100):� Monk gives wine �9 � A%=82 ?(�+&157)=1:�hide_ques(3,2):� Herbalist army �N � A%=85 ?(�+5)=0:� I%=0 � 8:�hide_ques(I%,6):�:� Herbalist gives antidote �0 � A%=87 �reveal_ques(3):� Shopkeeper army ? �: � A%=88 ?(�+&158)=1:�hide_ques(4,2):� Shopkeeper army �M � A%=90 ?(�+7)=9:� I%=0 � 8:�hide_ques(I%,4):�:� Shopkeeper sells armour �K � A%=92 ?(�+6)=9:� I%=0 � 8:�hide_ques(I%,5):�:� Shopkeeper sells ruby �8 � A%=113 ?(�+&159)=2:�hide_ques(5,2):� Templar army �. � A%=94 �reveal_ques(8):� Hello innkeeper 9 � A%=96 ?(�+&15A)=1:�hide_ques(6,2):� Innkeeper army @ � A%=100 �hide_ques(6,7):�ch_resp(1,2,103):� Innkeeper pays 0 � A%=120 �reveal_ques(5):� Mercenary army ? $: � A%=121 ?(�+&15B)=3:�hide_ques(7,2):� Mercenary army .4 � A%=122 �reveal_ques(4):� Mercenary necklace ? 8; � A%=116 ?(�+9)=0:�hide_ques(8,2):� Maid gives pendant B� LD� MX%>864 � MX%<1060 � MY%>656 � MY%<760:� 24,688;28;1248;764;:� V: `e� �examine:�:ș"OS_SpriteOp",290,CSP%,"done",864,36:A%=?(�+V%+&20):!ypos=700:� message:�done_wait j� t: ~_� �inventory:�:ș"OS_SpriteOp",290,CSP%,"done",864,36:� 24,688;148;1248;764;:T$="Inventory" �AA%=�sel_obj(0):� A%=100 !ypos=468:A%=131:� message:�done_wait �ȕ A%<99:� �� A%=0 � � M%=!(�+&150) � � M%=0 � �% �wpr("The purse is empty.",700) � � �L M$="The purse contains "+�(M%)+" gold piece":� M%=1 M$+="." � M$+="s." � �wpr(M$,700) � � �� � !ypos=700:A%+=25:� message � !�done_wait:�:A%=�sel_obj(0):� � 24,688;28;1248;764;:� : (� �buy:T$="Buy" 2,�:ș"OS_SpriteOp",290,CSP%,"done",864,36 <:A%=0:� �num_obj(V%)=0 A%=132 � � �num_obj(0)>11 A%=138 FE� A%<>0 !ypos=468:� message:�done_wait:OB%=100 � OB%=�sel_obj(V%) P� OB%<99 � Z? �:� OB%=19 �wpr("These cost",700) � �wpr("This costs",700) d+ �wpr(�(CST%(OB%))+" gold pieces.",668) n � CST%(OB%)>!(�+&150) � xR !ypos=604:A%=137:� message:ș"OS_SpriteOp",290,CSP%,"done",864,36:�done_wait � � �� ș"OS_SpriteOp",290,CSP%,"yes",704,36:ș"OS_SpriteOp",290,CSP%,"no",1028,36:�wpr("Do you wish to",604):� OB%=19 �wpr("buy them ?",572) � �wpr("buy it ?",572) � Y%=0:�:�mouse � � MY%>44 � MY%<148 � �< � MX%>704 � MX%<900 Y%=1 � � MX%>1028 � MX%<1224 Y%=2 � � � � Y%>0 � � Y%=1 � � � � Ȏ OB% � �K � 21:� ?(�+&161)=0 A%=140:!(�+&150)-=CST%(OB%):?(�+&161)=1 � A%=142 �K � 22:� ?(�+&162)=0 A%=141:!(�+&150)-=CST%(OB%):?(�+&162)=1 � A%=143 �I :!(�+&150)-=CST%(OB%):?(�+OB%)=0:�wpr("You now have",700):A%=OB% � L !ypos=668:� message:ș"OS_SpriteOp",290,CSP%,"done",864,36:�done_wait � " � ,� 6� @: J� �wpr(S$,Y%):� T$,P% T�:T$="" ^ � �S$>17 � h% P%=17:ȕ �S$,P%,1)<>" ":P%-=1:� r# T$=�S$,�(S$)-P%):S$=�S$,P%-1) | � �% � 968-16*�S$,Y%:�S$:Y%-=32:S$=T$ � � S$="":� �: �%� �wwpr(S$):� T$,P%,Y%:T$=S$:Y%=0 �� � � �T$>WW% � �( P%=WW%+1:ȕ �T$,P%,1)<>" ":P%-=1:� � T$=�T$,�(T$)-P%) � � � T$="" � � � Y%+=1 �� T$="" Y%=WYC%+Y%*18 �:T$="" � �S$>WW% � &( P%=WW%+1:ȕ �S$,P%,1)<>" ":P%-=1:� 0# T$=�S$,�(S$)-P%):S$=�S$,P%-1) : � D& � WXC%-16*�S$,Y%:�S$:Y%-=36:S$=T$ N � S$="":� X: bU� �give:�:ș"OS_SpriteOp",290,CSP%,"done",864,36:� 24,688;148;1248;764;:T$="Give" lCOB%=�sel_obj(0):� OB%=100 !ypos=468:A%=131:� message:�done_wait v� OB%<99 � � !ypos=700:A%=0 � � Check silly gifts �� � (P%=3 � (OB%=5 � OB%=20 � OB%=11 � OB%=12 � OB%=13)) � (P%=4 � (OB%=6 � OB%=7 � OB%>13 � OB%<20)) � (P%=7 � OB%=8) � (P%=8 � OB%=9) � A%=139 � � Check special gifts �O � P%=3 � OB%=10 A%=125:�ch_resp(3,2,82):�ch_resp(3,6,85):�ch_resp(3,0,123) �a � P%=7 � OB%=9 A%=126:�ch_resp(7,0,123):�ch_resp(7,2,120):�ch_resp(7,3,122):�ch_resp(7,6,78) �9 � P%=7 � OB%=6 A%=128:�ch_resp(P%,2,121):?(�+&15B)=3 �\ � P%=7 � OB%=7 A%=129:?(�+8)=0:� I%=0 � 8:�hide_ques(I%,3):�:� Mercenary gives necklace �p � P%=2 � OB%=5 A%=127:�ch_resp(P%,2,106):�ch_resp(P%,8,108):?(�+&160)+=1:�ch_resp(5,2,?(�+&160)):?(�+39)=53 �> � P%=4 � OB%=8 A%=130:�ch_resp(P%,2,88):�ch_resp(P%,5,92) �C � A%=0 � P%=7 � ?(�+9)<>247 A%=135 � � A%<>139 ?(�+OB%)=254-P% � � A%=0 A%=132+�(2) � � OB%=0 !(�+&150)=0 �:� message:�done_wait � � 24,688;28;1248;764;:� : *� �sel_obj(I%):� O% 42N%=0:� A%=0 � 31:� ?(�+A%)=I% OB%(N%)=A%:N%+=1 >�:� N%=0 =100 HC�wpr(T$,748):!ypos=452+N%*16:� A%=0 � 31:� ?(�+A%)=I% � message R� \"BB%=424-N%*16:OO%=0:�rel_mouse fd�:ȗMX%,MY%,B%:O%=0:�MX%>712�MX%<1224 � O%=N%+1:�:O%-=1:�O%=0 � MY%>BB%+O%*32 � MY%<BB%+56+O%*32 p5� O%<>OO% � OO%<>0 Ȗ:ȓ Ȑ 712,BB%+OO%*32,512,28 z3� O%<>OO% � O%<>0 Ȗ:ȓ Ȑ 712,BB%+O%*32,512,28 �7� MX%>864 � MX%<1060 � MY%>44 � MY%<148 � B%<>0 =99 �OO%=O%:�B%<>0 � O%<>0 �=OB%(N%-O%) �: �� �num_obj(I%):� A% �'N%=0:� A%=0 � 31:� ?(�+A%)=I% N%+=1 � �:=N% �: �� �done_wait �6�:�mouse:� MX%>864 � MX%<1060 � MY%>44 � MY%<148:� �: �.� �ch_resp(P%,Q%,A%):?(�+64+P%*32+Q%)=A%:� �: � �reveal_ques(Q%):� I%,QM% -� Q%=0 QM%=60 � � Q%=1 QM%=71 � QM%=62+Q% 9� I%=0 � 8:� ?(�+64+I%*32+Q%)<>0 ?(�+48+I%*32+Q%)=QM% $�:� .: 8,� �hide_ques(P%,Q%):?(�+48+P%*32+Q%)=0:� B: L� �tower VW�:�"IronLoad <IronLord$Dir>.Tower "+�~(S%+&5A0):!from=S%:!to=T%:� copy:Ȕ !from,!to ` Z%=0:� j�� copy:� �TzQ:�rect(32,464,448,264,�):�12:� 112,700:�"Save game":� 112,664:�"Load game":� 64,628:�"Raise armies":� 112,592:�"Go to war":�176,520:�"Leave" t*IronFadeIn 15 ~.ȗ � 384,548:ȗ � 2:�rel_mouse:�3,13:OO%=0 �h�:ȗMX%,MY%,B%:O%=0:�MX%>60�MX%<452 � O%=7:�:O%-=1:�O%=0 � MY%>448+O%*36 � MY%<488+O%*36:� O%=2 O%=0 �4� O%<>OO% � OO%<>0 Ȗ:ȓ Ȑ 60,452+OO%*36,392,36 �2� O%<>OO% � O%<>0 Ȗ:ȓ Ȑ 60,452+O%*36,392,36 �OO%=O%:�B%<>0 � O%<>0:ȗ � �ȗ �:*IronFadeOut �� O%<>1 � copy:� �TzQ �Ȏ O% � �� 6: �save_game �� 5: �load_game �� 4: �raise_armies � � 3: �war � � 1: Z%=2 � � Z%<>0 !V%=0:A%=392:B%=252:C%=&FC:�:� : (� �save_game:� � 2� � � �file_error:� <Y�rect(304,236,668,324,�):�12:� 496,540:�"Save game":�4,28,10,19,29,11,31,0,2:�12:�129 F'�"Enter filename :"':*IronFadeIn 15 P*FX 21,0 Z�:�0,4)""F$:� F$<>"" d+�"Save "+F$+" "+�~�+"+200":�"Stamp "+F$ n!� 28,0,31,39,0,5:*IronFadeOut x� �: �� �load_game:� � �� � � �file_error:� �Y�rect(304,236,668,324,�):�12:� 496,540:�"Load game":�4,28,10,19,29,11,31,0,2:�12:�129 �'�"Enter filename :"':*IronFadeIn 15 �*FX 21,0 ��:�0,4)""F$:� F$<>"" Ȋș"OS_File",5,F$ � OT%,,,,OL%:� OT%=0 � 214,"File '"+F$+"' not found" � � OT%<>1 � OL%<>&200 � 214,"File '"+F$+"' is not a saved game" ��"Load "+F$+" "+�~� �� ?(�+&164)=1 Z%=10 �!� 28,0,31,39,0,5:*IronFadeOut �� �: � �file_error %�:�:�4,0);"** Error **":*FX 21,0 X%=9-�(�$)/2:� X%<0 X%=0 ";�X%,2)�$:�rel_mouse:�:ȗ MX%,MY%,B%:� B%<>0 � �(0)<>-1 ,!� 28,0,31,39,0,5:*IronFadeOut 6� @: J� �raise_armies T$N%=0:�I%=&155�&15B:N%+=?(�+I%):� ^9�rect(320,268,640,264,�):WW%=18:WXC%=640:WYC%=400:�12 h+� N%=1 N$="1 army." � N$=�N%+" armies." rp� N%=0 �wwpr("You have not yet managed to raise any armies.") � �wwpr("You are currently able to raise "+N$) |*IronFadeIn 15 ��mouse:*IronFadeOut �� �: � � �war �$N%=0:�I%=&155�&15B:N%+=?(�+I%):� ��� N%=0 �rect(336,300,608,200,�):WW%=18:WXC%=640:WYC%=400:�12:�wwpr("You cannot yet go to war, as you have not raised any armies.") � �rect(288,368,704,72,�):�12:�320,416:�"Prepare for battle !":Z%=8 �*IronFadeIn 15 ��mouse:*IronFadeOut �� �: �#� �rect(X%,Y%,W%,D%,L%):� C%,N% �Y� L% �12:� X%,Y%-4:� X%+W%+4,Y%-4:� X%+W%+4,Y%+D%:�11:Ȓ X%-4,Y%-4:Ȓ X%+W%+4,Y%+D%+4 �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%:� : � Data for boxes � 4,13,13,14,8,7 &� 7,8,14,13,13,12,11,0,15 0� 4,1,2,3,4,6 :� 4,4,4,3,2,1 D� 3,11,8,7,6 N: X � �asm b sp=13:link=14:OS_WriteI=&100 l� O%=0 � 2 � 2 vP%=code% �[OPT O% �.loadpic �/LDR R11,scradd2:LDR R12,scradd:MOV R10,#194 � .pcmv ��LDRB R0,[R11],#1:STRB R0,[R12],#1:LDRB R0,[R11],#1:STRB R0,[R12],#1:LDMIA R11!,{R0-R8}:STMIA R12!,{R0-R8}:LDMIA R11!,{R0-R9}:STMIA R12!,{R0-R9}:LDRB R0,[R11],#1:STRB R0,[R12],#1:LDRB R0,[R11],#1:STRB R0,[R12],#1 �,ADD R12,R12,#80:SUBS R10,R10,#1:BNE pcmv �MOV PC,link �.scradd EQUD S%+&1E2 �.scradd2 EQUD T%+2 �\ Wait for R1 frame syncs �.delay MOV R0,#19 �<.dellp SWI "OS_Byte":SUBS R3,R3,#1:BNE dellp:MOV PC,link �\ Draw background .drtbl LDR R7,pspadd 'MOV R0,#112:MOV R1,#2:SWI "OS_Byte" OMOV R0,#280:MOV R1,R7:ADR R2,sname:MOV R3,#48:STR R3,[R2]:SWI "OS_SpriteOp" 3MOV R0,#34:ADD R0,R0,#512:MOV R4,#800:MOV R5,#8 *.dbglp MOV R3,#1200 4P.dbglp2 SWI "OS_SpriteOp":SUBS R3,R3,#80:BPL dbglp2:SUBS R4,R4,#80:BPL dbglp >YLDRB R0,[R6],#1:MOV R8,R0,LSL#8:LDRB R0,[R6],#1:�R R8,R8,R0:MOV R9,#34:ADD R9,R9,#256 H|.dpllp LDRB R0,[R6],#1:MOV R3,R0,LSL#10:LDRB R0,[R6],#1:�R R3,R3,R0,LSL#2:LDRB R0,[R6],#1:MOV R4,R0,LSL#2:RSB R4,R4,#796 R�LDRB R0,[R6],#1:ADR R1,sname:MOV R2,#4:SWI "OS_ConvertCardinal1":MOV R2,R0:MOV R1,R7:MOV R0,R9:SWI "OS_SpriteOp":SUBS R8,R8,#1:BNE dpllp \3MOV R0,#112:MOV R1,#1:SWI "OS_Byte":MOV PC,link f.sname EQUD 0 p\ Copy screen zE.copy STMFD (sp)!,{R6-R12,link}:MOV R0,#200:LDR R1,from:LDR R2,to ��.clp 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 clp:LDMFD (sp)!,{R6-R12,PC} �\ �.from EQUD MAP% �.to EQUD S% �.sadd EQUD S% �.tadd EQUD T% �.bank EQUD 2 ʊ.gltab EQUD CSP%+&1F8C:EQUD CSP%+&24F8:EQUD CSP%+&2A64:EQUD CSP%+&2FD0:EQUD CSP%+&353C:EQUD CSP%+&3AA8:EQUD CSP%+&4014:EQUD CSP%+&4580 �\ Gallop �4.gallop STMFD (sp)!,{link}:MOV R12,R0:MOV R11,R1 �DLDR R9,[R12],#4:LDR R10,[R12],#4:MOV R0,#4:STR R0,wxi:STR R0,wyi �nSUB R7,R9,#32:CMP R7,#32:MOVLE R7,#32:CMP R7,#1020:MOVGT R7,#1020:SUB R8,R10,#32:CMP R8,#604:MOVGT R8,#604 �vADD R0,R7,#124:ADD R1,R8,#80:�R R0,R0,R1,LSL#16:STR R0,stw+4:ADD R0,R0,#&40000:ADD R0,R0,#4:STR R0,stw+8:MOV R6,#0 .galp1 BL copy \ Little Horse JLDRB R0,[R12],#1:TEQ R0,#&FF:BEQ nolh:LDR R2,gspadd:ADD R2,R2,R0,LSL#2 $\MOV R0,#34:ADD R0,R0,#512:LDR R1,cspadd:MOV R3,R9:MOV R4,R10:MOV R5,#8:SWI "OS_SpriteOp" .\ Big horse 8 .nolh B�ADR R0,stw:ADD R0,R0,#3:MOV R1,#9:LDR R2,wxi:TEQ R2,#124:SWINE "OS_WriteN":MOV R0,#34:ADD R0,R0,#512:ADR R2,gltab:LDR R2,[R2,R6]:MOV R3,R7:MOV R4,R8:MOV R5,#0:SWI "OS_SpriteOp":ADR R0,rsw:MOV R1,#12:SWI "OS_WriteN" L\ V�MOV R3,#4:BL delay:MOV R0,#113:LDR R1,bank:SWI "OS_Byte":STR R1,bank:ADR R2,sadd-4:LDR R2,[R2,R1,LSL#2]:STR R2,to:MOV R0,#112:SWI "OS_Byte" `[SWI "OS_Mouse":TEQ R2,#0:LDMNEFD (sp)!,{PC}:SWI "OS_ReadEscapeState":LDMCSFD (sp)!,{PC} j$ADD R6,R6,#4:CMP R6,#32:�Q R6,#0 tjADD R7,R7,R11:CMP R7,#32:MOVLT R7,#32:CMP R7,#988:MOVGT R7,#988:ADD R8,R8,#4:CMP R8,#604:MOVGT R8,#604 ~�LDR R0,wxi:TEQ R0,#124:BEQ nowch:LDR R1,wyi:ADD R2,R7,#124:ADD R3,R8,#80:SUB R4,R2,R0:SUB R5,R3,R1:�R R4,R4,R5,LSL#16:STR R4,stw+4 ��ADD R4,R2,R0:ADD R4,R4,#4:ADD R5,R3,R1:ADD R5,R5,#4:�R R4,R4,R5,LSL#16:STR R4,stw+8:ADD R0,R0,#4:STR R0,wxi:ADD R1,R1,#4:STR R1,wyi � .nowch �|LDRB R0,[R12],#1:TST R0,#1:ADDNE R9,R9,#4:TST R0,#2:SUBNE R9,R9,#4:TST R0,#4:ADDNE R10,R10,#4:TST R0,#8:SUBNE R10,R10,#4 �*TEQ R0,#&FF:BNE galp1:LDMFD (sp)!,{PC} �\ Scrolling places ��.move STMFD (sp)!,{link}:MOV R8,R0:MOV R9,R1:MOV R10,R2:MOV R12,R3:MVN R0,#0:STR R0,ltxt:MOV R0,#21:ADR R1,rmouse:SWI "OS_Word":MOV R0,#21:MOV R1,#9:SWI "OS_Byte" �hMOV R0,#9:ADD R0,R0,#256:LDR R1,pspadd:SWI "OS_SpriteOp":MOV R11,#0:MOV R0,#&53:STR R0,sname:B notxt �#.mvlp LDR R3,txt:LDR R4,[R3],#4 ؚ.ftl SUBS R4,R4,#1:BMI notxt:LDR R0,[R3],#4:LDR R1,[R3],#4:� R2,R0,#255:CMP R2,R8,LSR#2:BGT ftl:MOV R2,R0,LSR#6:� R2,R2,#%1111111100:CMP R2,R9:BGT ftl �sMOV R2,R0,LSR#14:� R2,R2,#%1111111100:CMP R2,R8:BLT ftl:MOV R2,R0,LSR#22:� R2,R2,#%1111111100:CMP R2,R9:BLT ftl �LDR R0,ltxt:CMP R0,R4:BEQ notxt:STR R4,ltxt:ADD R3,R3,R1:ADR R0,clrtxt:MOV R1,#12:SWI "OS_WriteN":LDRB R4,[R3],#1:MOV R2,R4,LSL#4:ADD R2,R2,#176 ��.txtl MOV R0,#188:LDRB R1,[R3],#1:MOV R1,R1,LSL#4:RSB R1,R1,#968:SWI "OS_Plot":MOV R0,R3:SWI "OS_Write0":MOV R3,R0:SUB R2,R2,#32:SUBS R4,R4,#1:BNE txtl �.notxt MOV R0,#112:MOV R1,#2:SWI "OS_Byte":MOV R0,#272:LDR R1,pspadd:ADR R2,sname:MOV R3,#0:MOV R4,R8:MOV R5,R9:ADD R6,R4,#316:ADD R7,R5,#232:SWI "OS_SpriteOp":MOV R0,#112:MOV R1,#1:SWI "OS_Byte":MOV R3,#2:BL delay �MOV R0,#34:ADD R0,R0,#512:LDR R1,pspadd:ADD R2,R1,#16:MOV R3,#812:MOV R4,#460:MOV R5,#0:SWI "OS_SpriteOp":MOV R0,#34:ADD R0,R0,#512:LDR R1,cspadd:ADD R2,R1,R10:ADD R2,R2,R11:� R11,R11,#&140:MOV R3,#964:MOV R4,#568:MOV R5,#8:SWI "OS_SpriteOp" k.klp 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 MOV R0,#964:MOV R1,#564 (�.mdlp SWI "OS_ReadPoint":TEQ R2,#7:TEQNE R2,#8:TEQNE R2,#15:BNE klp:ADD R0,R0,#4:TEQ R0,#984:BNE mdlp:SUB R9,R9,#4:MOV R10,#&B0:B mvlp 2.mu MOV R0,#964:MOV R1,#588 <�.mulp SWI "OS_ReadPoint":TEQ R2,#7:TEQNE R2,#8:TEQNE R2,#15:BNE klp:ADD R0,R0,#4:TEQ R0,#984:BNE mulp:ADD R9,R9,#4:MOV R10,#&10:B mvlp F.ml MOV R0,#960:MOV R1,#568 P�.mllp SWI "OS_ReadPoint":TEQ R2,#7:TEQNE R2,#8:TEQNE R2,#15:BNE klp:ADD R1,R1,#4:TEQ R1,#588:BNE mllp:SUB R8,R8,#4:MOV R10,#&FC:B mvlp Z.mr MOV R0,#984:MOV R1,#568 d�.mrlp SWI "OS_ReadPoint":TEQ R2,#7:TEQNE R2,#8:TEQNE R2,#15:BNE klp:ADD R1,R1,#4:TEQ R1,#588:BNE mrlp:ADD R8,R8,#4:MOV R10,#&5C:B mvlp n".rtn MOV R2,R12:LDR R1,[R2],#4 x�.rtnl SUBS R1,R1,#1:MOVMI PC,link:LDR R5,[R2],#4:MOV R3,R5,LSR#20:� R4,R5,#%1111111100:CMP R3,R8:CMPLE R4,R9:BGT rtnl:ADD R3,R3,#32:ADD R4,R4,#32:CMP R3,R8:CMPGT R4,R9:BLE rtnl:MOV R0,R5,LSR#10:LDMFD (sp)!,{PC} � \ Data �3.stw EQUB 0:EQUB 0:EQUB 0:EQUB 24:EQUD 0:EQUD 0 �:.rsw EQUB 0:EQUB 0:EQUB 0:EQUB 24:EQUD 0:EQUD &31F04FF �.pspadd EQUD PSP% �.sspadd EQUD SSP% �.gspadd EQUD CSP%+&4AEC �.cspadd EQUD CSP% �.bhx EQUD 0 �.bhy EQUD 0 �.lhx EQUD 0 �.lhy EQUD 0 �.wxi EQUD 0 �.wyi EQUD 0 *.rmouse EQUB 3:EQUW 640:EQUW 400:ALIGN \ 7.tstkey SWI "OS_ReadEscapeState":LDMCSFD (sp)!,{PC} "�MOV R6,#0:MOV R0,#121: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 6[.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 J�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:BGT xgt:CMP R1,#400:�RLT R6,R6,#4:�RGT R6,R6,#8:B mrtn T7.xgt CMP R0,#640:�RLT R6,R6,#1:�RGT R6,R6,#2:B mrtn ^.nomov LDR R6,lastmkey he.mrtn STR R6,lastmkey:TST R2,#3:�RNE R6,R6,#16:MOV R0,#21:ADR R1,rmouse:SWI "OS_Word":MOV PC,link r\ |.lastkey EQUD 0 �.lastmkey EQUD 0 �.lastcomb EQUD 0 �\ �.txt EQUD 0 �.ltxt EQUD 0 �Q.clrtxt EQUB 25:EQUB 188:EQUW 696:EQUW 36:EQUB 25:EQUB 103:EQUW 1236:EQUW 320 �\ �.message STMFD (sp)!,{link} �wLDR R7,ypos:ADR R8,textbuf:MOV R9,#0:MOV R10,#1:LDR R11,textdat:ADD R12,R11,#256:ADD R6,R11,#512:TEQ R0,#0:BEQ mslp �<.msct LDRB R1,[R6],#1:CMP R1,#0:SUBEQS R0,R0,#1:BNE msct �@.mslp LDRB R0,[R6],#1:TEQ R0,#0:BEQ printbuf:BL print:B mslp �\ �.print STMFD (sp)!,{link} *LDRB R1,[R11,R0]:TEQ R1,R0:BEQ printit 8STMFD (sp)!,{R0}:MOV R0,R1:BL print:LDMFD (sp)!,{R0} LDRB R0,[R12,R0]:BL print &LDMFD (sp)!,{PC} 0.printit :*TEQ R0,#1:�Q R10,R0:LDMEQFD (sp)!,{PC} D?CMP R0,#96:BLT notuc:TEQ R10,#0:BICNE R0,R0,#&20:MOV R10,#0 N?.notuc TEQ R0,#�".":TEQNE R0,#�"?":TEQNE R0,#�"!":�Q R10,#1 X>STRB R0,[R8,R9]:ADD R9,R9,#1:CMP R9,#18:LDMNEFD (sp)!,{PC} b?.fdsplp SUBS R9,R9,#1:LDRB R0,[R8,R9]:CMP R0,#32:BNE fdsplp l .printbuf vGMOV R0,#968:SUBS R0,R0,R9,LSL#4:�R R0,R0,R7,LSL#16:STR R0,movevdu+4 �1ADR R0,movevdu+2:ADD R1,R9,#6:SWI "OS_WriteN" �=SUB R7,R7,#32:STR R7,ypos:MOV R1,#0:TEQ R9,#17:BEQ nmvbuf �].mvbuflp ADD R9,R9,#1:LDRB R0,[R8,R9]:STRB R0,[R8,R1]:ADD R1,R1,#1:CMP R9,#17:BLT mvbuflp �&.nmvbuf MOV R9,R1:LDMFD (sp)!,{PC} �\ �.textdat EQUD TXT% �).movevdu EQUW 0:EQUB 25:EQUB 4:EQUD 0 �.textbuf EQUS �18,�0):ALIGN �.ypos EQUD 0 �] �8� P%>(code%+space%) � 15:�"Not enough code space.":� �� �� : � �error:� � � � 15:�:֓+&214:*IronTuneOff *FX 20 *Q� �=17 �"Goodbye." � �"Iron Lord has stopped because of a fatal error :-"''�$ 4� �
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 31 |.!IronLord.Iron1| 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 10 ee 20 85 |Ltd...(.:..2.. .| 00000080 20 f2 65 72 72 6f 72 3a e0 0d 00 3c 05 3a 0d 00 | .error:...<.:..| 00000090 46 9e 73 70 61 63 65 25 3d 26 39 32 43 3a de 20 |F.space%=&92C:. | 000000a0 4d 53 25 28 36 2c 33 29 2c 53 50 25 28 36 2c 34 |MS%(6,3),SP%(6,4| 000000b0 29 2c 4d 56 25 28 36 2c 36 29 2c 4f 42 25 28 31 |),MV%(6,6),OB%(1| 000000c0 38 29 2c 43 53 54 25 28 32 32 29 2c 63 6f 64 65 |8),CST%(22),code| 000000d0 25 20 73 70 61 63 65 25 2c 43 53 50 25 20 26 34 |% space%,CSP% &4| 000000e0 44 34 43 2c 50 53 50 25 20 26 35 39 36 30 2c 53 |D4C,PSP% &5960,S| 000000f0 53 50 25 20 26 32 38 30 2c 52 54 25 20 26 31 42 |SP% &280,RT% &1B| 00000100 30 34 2c 50 44 54 25 20 26 41 44 35 2c 54 58 54 |04,PDT% &AD5,TXT| 00000110 25 20 26 31 32 38 31 2c 4d 41 50 25 20 26 37 44 |% &1281,MAP% &7D| 00000120 30 30 2c 54 42 4c 25 20 26 44 31 45 0d 00 50 0f |00,TBL% &D1E..P.| 00000130 21 50 53 50 25 3d 26 35 39 36 30 0d 00 5a 2c 21 |!PSP%=&5960..Z,!| 00000140 53 53 50 25 3d 26 32 38 30 3a 53 53 50 25 21 34 |SSP%=&280:SSP%!4| 00000150 3d 30 3a 53 53 50 25 21 38 3d 31 36 3a 53 53 50 |=0:SSP%!8=16:SSP| 00000160 25 21 31 32 3d 31 36 0d 00 64 3e 21 43 53 50 25 |%!12=16..d>!CSP%| 00000170 3d 26 34 44 34 43 3a ff 22 49 72 6f 6e 4c 6f 61 |=&4D4C:."IronLoa| 00000180 64 20 3c 49 72 6f 6e 4c 6f 72 64 24 44 69 72 3e |d <IronLord$Dir>| 00000190 2e 4d 61 69 6e 53 70 72 20 22 2b c3 7e 28 43 53 |.MainSpr "+.~(CS| 000001a0 50 25 2b 34 29 0d 00 6e 2a ff 22 49 72 6f 6e 4c |P%+4)..n*."IronL| 000001b0 6f 61 64 20 3c 49 72 6f 6e 4c 6f 72 64 24 44 69 |oad <IronLord$Di| 000001c0 72 3e 2e 4d 61 70 20 22 2b c3 7e 4d 41 50 25 0d |r>.Map "+.~MAP%.| 000001d0 00 78 2c ff 22 49 72 6f 6e 4c 6f 61 64 20 3c 49 |.x,."IronLoad <I| 000001e0 72 6f 6e 4c 6f 72 64 24 44 69 72 3e 2e 52 6f 75 |ronLord$Dir>.Rou| 000001f0 74 65 73 20 22 2b c3 7e 52 54 25 0d 00 82 27 ff |tes "+.~RT%...'.| 00000200 22 4c 6f 61 64 20 3c 49 72 6f 6e 4c 6f 72 64 24 |"Load <IronLord$| 00000210 44 69 72 3e 2e 54 65 78 74 20 22 2b c3 7e 54 58 |Dir>.Text "+.~TX| 00000220 54 25 0d 00 8c 29 ff 22 4c 6f 61 64 20 3c 49 72 |T%...)."Load <Ir| 00000230 6f 6e 4c 6f 72 64 24 44 69 72 3e 2e 54 61 62 6c |onLord$Dir>.Tabl| 00000240 65 73 20 22 2b c3 7e 54 42 4c 25 0d 00 96 2c ff |es "+.~TBL%...,.| 00000250 22 4c 6f 61 64 20 3c 49 72 6f 6e 4c 6f 72 64 24 |"Load <IronLord$| 00000260 44 69 72 3e 2e 50 6c 61 63 65 44 61 74 61 20 22 |Dir>.PlaceData "| 00000270 2b c3 7e 50 44 54 25 0d 00 a0 7e f7 20 8d 44 4e |+.~PDT%...~. .DN| 00000280 42 3a e3 20 49 25 3d 30 20 b8 20 36 3a e3 20 4a |B:. I%=0 . 6:. J| 00000290 25 3d 30 20 b8 20 33 3a f3 20 4d 53 25 28 49 25 |%=0 . 3:. MS%(I%| 000002a0 2c 4a 25 29 3a ed 3a e3 20 4a 25 3d 30 20 b8 20 |,J%):.:. J%=0 . | 000002b0 34 3a f3 20 53 50 25 28 49 25 2c 4a 25 29 3a ed |4:. SP%(I%,J%):.| 000002c0 3a e3 20 4a 25 3d 30 20 b8 20 36 3a f3 20 4d 56 |:. J%=0 . 6:. MV| 000002d0 25 28 49 25 2c 4a 25 29 3a ed 3a ed 3a e3 20 49 |%(I%,J%):.:.:. I| 000002e0 25 3d 30 20 b8 20 32 32 3a f3 20 43 53 54 25 28 |%=0 . 22:. CST%(| 000002f0 49 25 29 3a ed 0d 00 aa 40 6c 65 66 74 25 3d 32 |I%):....@left%=2| 00000300 32 35 3a 72 69 67 68 74 25 3d 31 39 34 3a 64 6f |25:right%=194:do| 00000310 77 6e 25 3d 32 33 32 3a 75 70 25 3d 32 30 37 3a |wn%=232:up%=207:| 00000320 66 69 72 65 25 3d 32 30 31 3a 55 25 3d a3 3a 6e |fire%=201:U%=.:n| 00000330 6d 74 25 3d b9 0d 00 b4 3e c8 99 22 4f 53 5f 4d |mt%=....>.."OS_M| 00000340 6f 64 75 6c 65 22 2c 31 38 2c 22 49 72 6f 6e 4c |odule",18,"IronL| 00000350 6f 72 64 53 75 70 70 6f 72 74 22 20 b8 20 2c 2c |ordSupport" . ,,| 00000360 2c 2c 6d 73 73 61 25 3a 6d 73 73 61 25 2b 3d 26 |,,mssa%:mssa%+=&| 00000370 32 30 34 0d 00 be 3f c8 99 22 53 6f 75 6e 64 5f |204...?.."Sound_| 00000380 53 70 65 61 6b 65 72 22 2c 30 20 b8 69 73 73 25 |Speaker",0 .iss%| 00000390 3a c8 99 22 53 6f 75 6e 64 5f 56 6f 6c 75 6d 65 |:.."Sound_Volume| 000003a0 22 2c 30 20 b8 76 6f 6c 25 3a 76 6f 6c 25 2d 3d |",0 .vol%:vol%-=| 000003b0 36 34 0d 00 c8 08 f2 61 73 6d 0d 00 d2 05 3a 0d |64.....asm....:.| 000003c0 00 dc 05 f5 0d 00 e6 0c 20 c8 8e 20 5a 25 20 ca |........ .. Z% .| 000003d0 0d 00 f0 25 20 20 c9 20 30 3a 5a 25 3d 31 3a 42 |...% . 0:Z%=1:B| 000003e0 25 3d a6 28 35 30 30 29 3a 2a 49 72 6f 6e 46 61 |%=.(500):*IronFa| 000003f0 64 65 4f 75 74 0d 00 fa 0e 20 20 c9 20 31 3a f2 |deOut.... . 1:.| 00000400 6d 61 70 0d 01 04 10 20 20 c9 20 32 3a f2 70 6c |map.... . 2:.pl| 00000410 61 63 65 0d 01 0e 11 20 20 c9 20 33 3a f2 70 65 |ace.... . 3:.pe| 00000420 72 73 6f 6e 0d 01 18 27 20 20 c9 20 34 3a ee 20 |rson...' . 4:. | 00000430 85 20 87 3a d7 22 3c 49 72 6f 6e 4c 6f 72 64 24 |. .:."<IronLord$| 00000440 44 69 72 3e 2e 49 72 6f 6e 32 22 0d 01 22 27 20 |Dir>.Iron2".."' | 00000450 20 c9 20 35 3a ee 20 85 20 87 3a d7 22 3c 49 72 | . 5:. . .:."<Ir| 00000460 6f 6e 4c 6f 72 64 24 44 69 72 3e 2e 49 72 6f 6e |onLord$Dir>.Iron| 00000470 33 22 0d 01 2c 10 20 20 c9 20 36 3a f2 74 6f 77 |3"..,. . 6:.tow| 00000480 65 72 0d 01 36 27 20 20 c9 20 37 3a ee 20 85 20 |er..6' . 7:. . | 00000490 87 3a d7 22 3c 49 72 6f 6e 4c 6f 72 64 24 44 69 |.:."<IronLord$Di| 000004a0 72 3e 2e 49 72 6f 6e 34 22 0d 01 40 27 20 20 c9 |r>.Iron4"..@' .| 000004b0 20 38 3a ee 20 85 20 87 3a d7 22 3c 49 72 6f 6e | 8:. . .:."<Iron| 000004c0 4c 6f 72 64 24 44 69 72 3e 2e 49 72 6f 6e 35 22 |Lord$Dir>.Iron5"| 000004d0 0d 01 4a 27 20 20 c9 20 39 3a ee 20 85 20 87 3a |..J' . 9:. . .:| 000004e0 d7 22 3c 49 72 6f 6e 4c 6f 72 64 24 44 69 72 3e |."<IronLord$Dir>| 000004f0 2e 49 72 6f 6e 37 22 0d 01 54 28 20 20 c9 20 31 |.Iron7"..T( . 1| 00000500 30 3a ee 20 85 20 87 3a d7 22 3c 49 72 6f 6e 4c |0:. . .:."<IronL| 00000510 6f 72 64 24 44 69 72 3e 2e 49 72 6f 6e 36 22 0d |ord$Dir>.Iron6".| 00000520 01 5e 06 20 cb 0d 01 68 07 fd 20 a3 0d 01 72 05 |.^. ...h.. ...r.| 00000530 e0 0d 01 7c 05 3a 0d 01 86 0a dd 20 f2 6d 61 70 |...|.:..... .map| 00000540 0d 01 90 1f e7 20 6e 6d 74 25 20 6e 6d 74 25 3d |..... nmt% nmt%=| 00000550 a3 3a 2a 49 72 6f 6e 54 75 6e 65 4f 6e 20 30 0d |.:*IronTuneOn 0.| 00000560 01 9a 2b 21 66 72 6f 6d 3d 4d 41 50 25 3a 21 74 |..+!from=MAP%:!t| 00000570 6f 3d 53 25 3a d6 20 63 6f 70 79 3a 2a 49 72 6f |o=S%:. copy:*Iro| 00000580 6e 46 61 64 65 49 6e 20 31 34 0d 01 a4 31 c8 97 |nFadeIn 14...1..| 00000590 20 b8 20 53 50 25 28 56 25 2c 30 29 2c 53 50 25 | . SP%(V%,0),SP%| 000005a0 28 56 25 2c 31 29 3a c8 97 20 ee 20 32 3a 4f 56 |(V%,1):.. . 2:OV| 000005b0 25 3d 56 25 3a 4d 56 25 3d 2d 31 0d 01 ae 10 f5 |%=V%:MV%=-1.....| 000005c0 3a f2 72 65 6c 5f 6d 6f 75 73 65 0d 01 b8 1d f5 |:.rel_mouse.....| 000005d0 3a e7 a6 28 2d 31 31 34 29 20 f2 73 6f 75 6e 64 |:..(-114) .sound| 000005e0 5f 63 6f 6e 74 72 6f 6c 0d 01 c2 18 c8 97 20 4d |_control...... M| 000005f0 58 25 2c 4d 59 25 2c 42 25 3a fd 42 25 3c 3e 30 |X%,MY%,B%:.B%<>0| 00000600 0d 01 cc 66 e3 20 49 25 3d 30 20 b8 20 36 3a e7 |...f. I%=0 . 6:.| 00000610 20 4d 58 25 3e 4d 53 25 28 49 25 2c 30 29 20 80 | MX%>MS%(I%,0) .| 00000620 20 4d 59 25 3e 4d 53 25 28 49 25 2c 31 29 20 80 | MY%>MS%(I%,1) .| 00000630 20 4d 58 25 3c 4d 53 25 28 49 25 2c 32 29 20 80 | MX%<MS%(I%,2) .| 00000640 20 4d 59 25 3c 4d 53 25 28 49 25 2c 33 29 20 8c | MY%<MS%(I%,3) .| 00000650 20 56 25 3d 49 25 3a 4d 56 25 3d 4d 56 25 28 4f | V%=I%:MV%=MV%(O| 00000660 56 25 2c 56 25 29 0d 01 d6 1f ed 3a fd 20 4d 56 |V%,V%).....:. MV| 00000670 25 3c 3e 2d 31 3a c8 97 20 87 3a f2 72 65 6c 5f |%<>-1:.. .:.rel_| 00000680 6d 6f 75 73 65 0d 01 e0 0e e7 20 4d 56 25 3e 3d |mouse..... MV%>=| 00000690 30 20 8c 0d 01 ea 1c 20 41 25 3d 52 54 25 2b 4d |0 ..... A%=RT%+M| 000006a0 56 25 3a 42 25 3d 21 41 25 3a 41 25 2b 3d 34 0d |V%:B%=!A%:A%+=4.| 000006b0 01 f4 35 20 e7 20 42 25 3d 34 20 e3 20 49 25 3d |..5 . B%=4 . I%=| 000006c0 30 20 b8 20 37 3a c8 99 22 4f 53 5f 53 70 72 69 |0 . 7:.."OS_Spri| 000006d0 74 65 4f 70 22 2c 33 30 33 2c 43 53 50 25 2c c3 |teOp",303,CSP%,.| 000006e0 49 25 3a ed 0d 01 fe 2e 20 21 62 61 6e 6b 3d 32 |I%:..... !bank=2| 000006f0 3a 21 74 6f 3d 54 25 3a c8 99 22 4f 53 5f 42 79 |:!to=T%:.."OS_By| 00000700 74 65 22 2c 31 31 32 2c 32 3a d6 20 67 61 6c 6c |te",112,2:. gall| 00000710 6f 70 0d 02 08 35 20 e7 20 42 25 3d 34 20 e3 20 |op...5 . B%=4 . | 00000720 49 25 3d 30 20 b8 20 37 3a c8 99 22 4f 53 5f 53 |I%=0 . 7:.."OS_S| 00000730 70 72 69 74 65 4f 70 22 2c 33 30 33 2c 43 53 50 |priteOp",303,CSP| 00000740 25 2c c3 49 25 3a ed 0d 02 12 12 cd 3a 2a 49 72 |%,.I%:......:*Ir| 00000750 6f 6e 46 61 64 65 4f 75 74 0d 02 1c 76 c8 99 22 |onFadeOut...v.."| 00000760 4f 53 5f 42 79 74 65 22 2c 31 31 32 2c 31 3a c8 |OS_Byte",112,1:.| 00000770 99 22 4f 53 5f 42 79 74 65 22 2c 31 31 33 2c 31 |."OS_Byte",113,1| 00000780 3a e7 20 56 25 3d 32 20 84 20 56 25 3d 34 20 5a |:. V%=2 . V%=4 Z| 00000790 25 3d 33 20 8b 20 5a 25 3d 32 3a 41 25 3d 53 50 |%=3 . Z%=2:A%=SP| 000007a0 25 28 56 25 2c 32 29 3a 42 25 3d 53 50 25 28 56 |%(V%,2):B%=SP%(V| 000007b0 25 2c 33 29 3a 43 25 3d 53 50 25 28 56 25 2c 34 |%,3):C%=SP%(V%,4| 000007c0 29 3a e7 20 4d 56 25 3e 3d 30 20 55 25 3d b9 0d |):. MV%>=0 U%=..| 000007d0 02 26 1f e7 20 5a 25 3c 3e 32 20 6e 6d 74 25 3d |.&.. Z%<>2 nmt%=| 000007e0 b9 3a 2a 49 72 6f 6e 54 75 6e 65 4f 66 66 0d 02 |.:*IronTuneOff..| 000007f0 30 05 e1 0d 02 3a 05 3a 0d 02 44 13 f4 20 4c 6f |0....:.:..D.. Lo| 00000800 63 61 74 69 6f 6e 20 64 61 74 61 0d 02 4e 41 dc |cation data..NA.| 00000810 20 37 38 34 2c 32 38 30 2c 39 30 30 2c 34 32 30 | 784,280,900,420| 00000820 2c 38 32 30 2c 33 30 38 2c 34 38 2c 33 33 32 2c |,820,308,48,332,| 00000830 26 35 43 2c 20 20 20 2d 32 2c 30 2c 26 31 33 30 |&5C, -2,0,&130| 00000840 2c 2d 31 2c 2d 31 2c 2d 31 2c 2d 31 0d 02 58 46 |,-1,-1,-1,-1..XF| 00000850 dc 20 33 33 36 2c 36 38 2c 34 36 34 2c 31 38 30 |. 336,68,464,180| 00000860 2c 34 33 36 2c 37 36 2c 36 38 30 2c 32 38 2c 26 |,436,76,680,28,&| 00000870 31 30 2c 20 20 20 20 20 26 32 32 30 2c 2d 32 2c |10, &220,-2,| 00000880 26 33 34 34 2c 26 34 34 43 2c 2d 31 2c 2d 31 2c |&344,&44C,-1,-1,| 00000890 2d 31 0d 02 62 44 dc 20 38 38 30 2c 30 2c 39 38 |-1..bD. 880,0,98| 000008a0 38 2c 38 38 2c 38 38 38 2c 34 38 2c 30 2c 30 2c |8,88,888,48,0,0,| 000008b0 30 2c 20 20 20 20 20 20 20 20 20 20 20 20 26 35 |0, &5| 000008c0 31 34 2c 26 36 30 30 2c 2d 32 2c 2d 31 2c 2d 31 |14,&600,-2,-1,-1| 000008d0 2c 2d 31 2c 2d 31 0d 02 6c 48 dc 20 30 2c 32 38 |,-1,-1..lH. 0,28| 000008e0 30 2c 31 30 34 2c 33 36 30 2c 35 36 2c 32 39 36 |0,104,360,56,296| 000008f0 2c 39 32 38 2c 32 36 34 2c 26 46 43 2c 20 20 20 |,928,264,&FC, | 00000900 20 20 2d 31 2c 26 37 31 30 2c 2d 31 2c 2d 32 2c | -1,&710,-1,-2,| 00000910 26 37 44 30 2c 26 38 41 30 2c 26 39 44 38 0d 02 |&7D0,&8A0,&9D8..| 00000920 76 46 dc 20 36 30 2c 35 30 38 2c 31 37 36 2c 35 |vF. 60,508,176,5| 00000930 38 38 2c 31 33 32 2c 35 32 30 2c 30 2c 30 2c 30 |88,132,520,0,0,0| 00000940 2c 20 20 20 20 20 20 20 20 20 2d 31 2c 2d 31 2c |, -1,-1,| 00000950 2d 31 2c 26 43 42 43 2c 2d 32 2c 26 44 41 43 2c |-1,&CBC,-2,&DAC,| 00000960 26 45 37 38 0d 02 80 49 dc 20 34 35 36 2c 35 30 |&E78...I. 456,50| 00000970 30 2c 35 37 32 2c 35 38 38 2c 34 38 38 2c 35 34 |0,572,588,488,54| 00000980 30 2c 32 38 2c 33 35 36 2c 26 35 43 2c 20 20 20 |0,28,356,&5C, | 00000990 2d 31 2c 2d 31 2c 2d 31 2c 26 31 30 44 43 2c 26 |-1,-1,-1,&10DC,&| 000009a0 31 32 30 43 2c 2d 32 2c 26 31 32 43 43 0d 02 8a |120C,-2,&12CC...| 000009b0 49 dc 20 31 30 32 30 2c 36 31 36 2c 31 31 39 32 |I. 1020,616,1192| 000009c0 2c 37 33 32 2c 31 31 38 30 2c 36 32 38 2c 36 36 |,732,1180,628,66| 000009d0 30 2c 33 36 2c 26 31 30 2c 2d 31 2c 2d 31 2c 2d |0,36,&10,-1,-1,-| 000009e0 31 2c 26 31 34 35 30 2c 26 31 37 33 34 2c 26 31 |1,&1450,&1734,&1| 000009f0 39 38 43 2c 2d 32 0d 02 94 0f f4 20 43 6f 73 74 |98C,-2..... Cost| 00000a00 20 64 61 74 61 0d 02 9e 3e dc 20 30 2c 30 2c 30 | data...>. 0,0,0| 00000a10 2c 30 2c 30 2c 30 2c 31 35 30 2c 36 30 2c 30 2c |,0,0,0,150,60,0,| 00000a20 30 2c 30 2c 31 30 2c 32 33 2c 31 36 2c 32 35 2c |0,0,10,23,16,25,| 00000a30 31 37 2c 31 32 2c 32 34 2c 35 2c 33 2c 31 39 2c |17,12,24,5,3,19,| 00000a40 33 2c 35 0d 02 a8 05 3a 0d 02 b2 0c dd 20 f2 6d |3,5....:..... .m| 00000a50 6f 75 73 65 0d 02 bc 28 f2 72 65 6c 5f 6d 6f 75 |ouse...(.rel_mou| 00000a60 73 65 3a f5 3a c8 97 20 4d 58 25 2c 4d 59 25 2c |se:.:.. MX%,MY%,| 00000a70 42 25 3a fd 20 42 25 3c 3e 30 3a e1 0d 02 c6 05 |B%:. B%<>0:.....| 00000a80 3a 0d 02 d0 19 dd 20 f2 72 65 6c 5f 6d 6f 75 73 |:..... .rel_mous| 00000a90 65 3a 2a 46 58 20 32 31 2c 39 0d 02 da 1c f5 3a |e:*FX 21,9.....:| 00000aa0 c8 97 20 4d 58 25 2c 4d 59 25 2c 42 25 3a fd 20 |.. MX%,MY%,B%:. | 00000ab0 42 25 3d 30 3a e1 0d 02 e4 05 3a 0d 02 ee 14 dd |B%=0:.....:.....| 00000ac0 20 f2 73 6f 75 6e 64 5f 63 6f 6e 74 72 6f 6c 0d | .sound_control.| 00000ad0 02 f8 e3 f7 8d 44 44 51 3a f2 72 65 63 74 28 33 |.....DDQ:.rect(3| 00000ae0 34 30 2c 32 38 38 2c 36 30 30 2c 32 34 30 2c a3 |40,288,600,240,.| 00000af0 29 3a e6 30 3a ec 34 37 32 2c 34 39 36 3a f1 22 |):.0:.472,496:."| 00000b00 4d 75 73 69 63 22 3a c8 93 36 34 38 2c 34 36 30 |Music":..648,460| 00000b10 2c 31 30 34 2c 34 34 3a ec 34 30 38 2c 34 34 34 |,104,44:.408,444| 00000b20 3a f1 22 53 70 65 61 6b 65 72 22 3a c8 93 36 34 |:."Speaker":..64| 00000b30 38 2c 34 30 38 2c 31 30 34 2c 34 34 3a ec 34 34 |8,408,104,44:.44| 00000b40 30 2c 33 39 32 3a f1 22 56 6f 6c 75 6d 65 22 3a |0,392:."Volume":| 00000b50 c8 93 36 34 38 2c 33 35 36 2c 32 35 36 2c 34 34 |..648,356,256,44| 00000b60 3a ec 35 37 36 2c 33 34 30 3a f1 22 45 78 69 74 |:.576,340:."Exit| 00000b70 22 3a c8 93 35 36 34 2c 33 30 34 2c 31 34 38 2c |":..564,304,148,| 00000b80 34 34 3a f2 6f 6e 6f 66 66 28 34 39 36 2c 21 6d |44:.onoff(496,!m| 00000b90 73 73 61 25 29 3a f2 6f 6e 6f 66 66 28 34 34 34 |ssa%):.onoff(444| 00000ba0 2c 69 73 73 25 3d 32 29 3a f2 64 69 73 70 5f 76 |,iss%=2):.disp_v| 00000bb0 6f 6c 0d 03 02 0c f5 3a f2 6d 6f 75 73 65 0d 03 |ol.....:.mouse..| 00000bc0 0c 16 e7 4d 58 25 3e 36 34 38 80 4d 58 25 3c 37 |...MX%>648.MX%<7| 00000bd0 35 32 20 8c 0d 03 16 43 20 e7 4d 59 25 3e 34 36 |52 ....C .MY%>46| 00000be0 30 80 4d 59 25 3c 35 30 34 20 21 6d 73 73 61 25 |0.MY%<504 !mssa%| 00000bf0 3d ac 20 21 6d 73 73 61 25 3a 6d 73 73 61 25 21 |=. !mssa%:mssa%!| 00000c00 34 34 3d 30 3a f2 6f 6e 6f 66 66 28 34 39 36 2c |44=0:.onoff(496,| 00000c10 21 6d 73 73 61 25 29 0d 03 20 4c 20 e7 4d 59 25 |!mssa%).. L .MY%| 00000c20 3e 34 30 38 80 4d 59 25 3c 34 35 32 20 69 73 73 |>408.MY%<452 iss| 00000c30 25 3d 69 73 73 25 20 82 33 3a c8 99 22 53 6f 75 |%=iss% .3:.."Sou| 00000c40 6e 64 5f 53 70 65 61 6b 65 72 22 2c 69 73 73 25 |nd_Speaker",iss%| 00000c50 3a f2 6f 6e 6f 66 66 28 34 34 34 2c 69 73 73 25 |:.onoff(444,iss%| 00000c60 3d 32 29 0d 03 2a 05 cd 0d 03 34 25 e7 4d 58 25 |=2)..*....4%.MX%| 00000c70 3e 36 34 30 80 4d 58 25 3c 39 30 30 80 4d 59 25 |>640.MX%<900.MY%| 00000c80 3e 33 35 36 80 4d 59 25 3c 34 30 30 8c 0d 03 3e |>356.MY%<400...>| 00000c90 19 20 c8 97 20 c8 93 20 36 34 34 2c 33 35 36 2c |. .. .. 644,356,| 00000ca0 32 35 32 2c 34 34 0d 03 48 35 20 f5 3a c8 97 20 |252,44..H5 .:.. | 00000cb0 4d 58 25 2c 4d 59 25 2c 42 25 3a 76 6f 6c 25 3d |MX%,MY%,B%:vol%=| 00000cc0 28 4d 58 25 2d 36 34 34 29 2f 34 3a f2 64 69 73 |(MX%-644)/4:.dis| 00000cd0 70 5f 76 6f 6c 3a fd 42 25 3d 30 0d 03 52 30 20 |p_vol:.B%=0..R0 | 00000ce0 c8 99 22 53 6f 75 6e 64 5f 56 6f 6c 75 6d 65 22 |.."Sound_Volume"| 00000cf0 2c 76 6f 6c 25 2b 36 34 3a c8 97 20 c8 93 20 30 |,vol%+64:.. .. 0| 00000d00 2c 30 2c 31 32 37 39 2c 37 39 39 0d 03 5c 05 cd |,0,1279,799..\..| 00000d10 0d 03 66 24 fd 4d 58 25 3e 35 39 36 80 4d 58 25 |..f$.MX%>596.MX%| 00000d20 3c 37 30 34 80 4d 59 25 3e 33 30 34 80 4d 59 25 |<704.MY%>304.MY%| 00000d30 3c 33 34 38 0d 03 70 14 d6 63 6f 70 79 3a f2 72 |<348..p..copy:.r| 00000d40 65 6c 5f 6d 6f 75 73 65 0d 03 7a 05 e1 0d 03 84 |el_mouse..z.....| 00000d50 05 3a 0d 03 8e 30 dd 20 f2 6f 6e 6f 66 66 28 6f |.:...0. .onoff(o| 00000d60 79 25 2c 6f 66 25 29 3a e6 36 3a c8 93 c8 90 36 |y%,of%):.6:....6| 00000d70 35 32 2c 6f 79 25 2d 33 32 2c 39 36 2c 33 32 3a |52,oy%-32,96,32:| 00000d80 e6 30 0d 03 98 28 e7 6f 66 25 20 ec 36 37 32 2c |.0...(.of% .672,| 00000d90 6f 79 25 3a f1 22 4f 6e 22 20 8b ec 36 35 36 2c |oy%:."On" ..656,| 00000da0 6f 79 25 3a f1 22 4f 66 66 22 0d 03 a2 05 e1 0d |oy%:."Off"......| 00000db0 03 ac 05 3a 0d 03 b6 0f dd 20 f2 64 69 73 70 5f |...:..... .disp_| 00000dc0 76 6f 6c 0d 03 c0 26 e7 76 6f 6c 25 3e 30 20 e6 |vol...&.vol%>0 .| 00000dd0 34 3a c8 93 c8 90 36 35 32 2c 33 36 30 2c 76 6f |4:....652,360,vo| 00000de0 6c 25 2a 34 2d 34 2c 33 36 0d 03 ca 2f e7 76 6f |l%*4-4,36.../.vo| 00000df0 6c 25 3c 36 33 e6 36 3a c8 93 c8 90 36 35 32 2b |l%<63.6:....652+| 00000e00 76 6f 6c 25 2a 34 2c 33 36 30 2c 32 34 38 2d 76 |vol%*4,360,248-v| 00000e10 6f 6c 25 2a 34 2c 33 36 0d 03 d4 05 e1 0d 03 de |ol%*4,36........| 00000e20 05 3a 0d 03 e8 0c dd 20 f2 70 6c 61 63 65 0d 03 |.:..... .place..| 00000e30 f2 a5 e6 31 32 38 3a da 3a e6 31 31 3a c8 93 20 |...128:.:.11:.. | 00000e40 38 2c 30 2c 31 32 37 31 2c 37 39 35 3a c8 93 20 |8,0,1271,795:.. | 00000e50 31 32 2c 34 2c 31 32 36 33 2c 37 38 37 3a c8 92 |12,4,1263,787:..| 00000e60 20 34 2c 30 3a ec 20 36 36 30 2c 38 3a df 20 36 | 4,0:. 660,8:. 6| 00000e70 36 30 2c 37 38 38 3a ec 20 36 36 34 2c 38 3a df |60,788:. 664,8:.| 00000e80 20 36 36 34 2c 37 38 38 3a c8 93 20 c8 90 20 36 | 664,788:.. .. 6| 00000e90 36 38 2c 33 35 32 2c 36 30 30 2c 31 36 3a e6 31 |68,352,600,16:.1| 00000ea0 32 3a ec 20 34 2c 34 3a df 20 34 2c 37 39 39 3a |2:. 4,4:. 4,799:| 00000eb0 df 20 31 32 37 39 2c 37 39 39 3a ec 20 31 36 2c |. 1279,799:. 16,| 00000ec0 38 3a df 20 36 35 36 2c 38 3a df 20 36 35 36 2c |8:. 656,8:. 656,| 00000ed0 37 38 38 0d 03 fc 62 f7 20 8d 54 5c 51 3a f2 72 |788...b. .T\Q:.r| 00000ee0 65 63 74 28 36 37 32 2c 33 37 34 2c 35 39 32 2c |ect(672,374,592,| 00000ef0 34 30 38 2c b9 29 3a f7 20 8d 54 5c 51 3a f2 72 |408,.):. .T\Q:.r| 00000f00 65 63 74 28 36 37 32 2c 31 32 2c 35 39 32 2c 33 |ect(672,12,592,3| 00000f10 33 32 2c b9 29 3a f7 20 8d 54 66 51 3a f2 72 65 |32,.):. .TfQ:.re| 00000f20 63 74 28 37 38 34 2c 34 33 32 2c 33 37 32 2c 32 |ct(784,432,372,2| 00000f30 38 38 2c a3 29 0d 04 06 98 c8 99 22 4f 53 5f 53 |88,.)......"OS_S| 00000f40 70 72 69 74 65 4f 70 22 2c 32 39 30 2c 43 53 50 |priteOp",290,CSP| 00000f50 25 2c 22 77 22 2c 36 39 32 2c 34 30 30 3a c8 99 |%,"w",692,400:..| 00000f60 22 4f 53 5f 53 70 72 69 74 65 4f 70 22 2c 32 39 |"OS_SpriteOp",29| 00000f70 30 2c 43 53 50 25 2c 22 73 22 2c 37 38 34 2c 33 |0,CSP%,"s",784,3| 00000f80 37 38 3a c8 99 22 4f 53 5f 53 70 72 69 74 65 4f |78:.."OS_SpriteO| 00000f90 70 22 2c 32 39 30 2c 43 53 50 25 2c 22 65 22 2c |p",290,CSP%,"e",| 00000fa0 31 31 36 30 2c 33 39 36 3a c8 99 22 4f 53 5f 53 |1160,396:.."OS_S| 00000fb0 70 72 69 74 65 4f 70 22 2c 32 39 30 2c 43 53 50 |priteOp",290,CSP| 00000fc0 25 2c 22 6e 22 2c 37 38 34 2c 37 32 34 0d 04 10 |%,"n",784,724...| 00000fd0 7e 56 24 3d c3 56 25 3a ff 22 49 72 6f 6e 4c 6f |~V$=.V%:."IronLo| 00000fe0 61 64 20 3c 49 72 6f 6e 4c 6f 72 64 24 44 69 72 |ad <IronLord$Dir| 00000ff0 3e 2e 50 69 63 74 75 72 65 2e 22 2b 56 24 2b 22 |>.Picture."+V$+"| 00001000 20 22 2b c3 7e 28 54 25 2b 32 29 3a d6 20 6c 6f | "+.~(T%+2):. lo| 00001010 61 64 70 69 63 3a ff 22 49 72 6f 6e 4c 6f 61 64 |adpic:."IronLoad| 00001020 20 3c 49 72 6f 6e 4c 6f 72 64 24 44 69 72 3e 2e | <IronLord$Dir>.| 00001030 53 70 72 69 74 65 73 2e 22 2b 56 24 2b 22 20 22 |Sprites."+V$+" "| 00001040 2b c3 7e 28 50 53 50 25 2b 34 29 0d 04 1a 6e e7 |+.~(PSP%+4)...n.| 00001050 56 25 3d 30 20 47 25 3d 30 3a 50 44 25 3d 30 20 |V%=0 G%=0:PD%=0 | 00001060 8b e7 56 25 3d 31 20 47 25 3d 26 31 38 41 3a 50 |..V%=1 G%=&18A:P| 00001070 44 25 3d 26 31 32 30 20 8b e7 56 25 3d 33 20 47 |D%=&120 ..V%=3 G| 00001080 25 3d 26 35 42 34 3a 50 44 25 3d 26 33 46 43 20 |%=&5B4:PD%=&3FC | 00001090 8b e7 56 25 3d 35 20 47 25 3d 26 37 46 36 3a 50 |..V%=5 G%=&7F6:P| 000010a0 44 25 3d 26 36 39 38 20 8b 47 25 3d 26 42 32 38 |D%=&698 .G%=&B28| 000010b0 3a 50 44 25 3d 26 38 38 30 0d 04 24 37 47 25 2b |:PD%=&880..$7G%+| 000010c0 3d 54 42 4c 25 3a 50 44 25 2b 3d 50 44 54 25 3a |=TBL%:PD%+=PDT%:| 000010d0 c8 99 22 4f 53 5f 53 70 72 69 74 65 4f 70 22 2c |.."OS_SpriteOp",| 000010e0 32 36 35 2c 53 53 50 25 3a d6 20 64 72 74 62 6c |265,SSP%:. drtbl| 000010f0 0d 04 2e 1f e7 20 6e 6d 74 25 20 6e 6d 74 25 3d |..... nmt% nmt%=| 00001100 a3 3a 2a 49 72 6f 6e 54 75 6e 65 4f 6e 20 30 0d |.:*IronTuneOn 0.| 00001110 04 38 6f e6 30 3a e6 31 33 35 3a 4e 25 3d 3f 50 |.8o.0:.135:N%=?P| 00001120 44 25 3a 59 25 3d 31 37 36 2b 4e 25 2a 31 36 3a |D%:Y%=176+N%*16:| 00001130 44 25 3d 50 44 25 2b 31 3a e3 49 25 3d 31 b8 4e |D%=PD%+1:.I%=1.N| 00001140 25 3a ec 39 36 38 2d 31 36 2a a9 24 44 25 2c 59 |%:.968-16*.$D%,Y| 00001150 25 3a f1 24 44 25 3a 44 25 2b 3d 28 31 2b a9 24 |%:.$D%:D%+=(1+.$| 00001160 44 25 29 3a 59 25 2d 3d 33 32 3a ed 3a ff 22 49 |D%):Y%-=32:.:."I| 00001170 72 6f 6e 46 61 64 65 49 6e 20 22 2b 56 24 0d 04 |ronFadeIn "+V$..| 00001180 42 21 e7 28 44 25 20 80 20 33 29 3c 3e 30 20 44 |B!.(D% . 3)<>0 D| 00001190 25 2b 3d 28 34 2d 28 44 25 20 80 20 33 29 29 0d |%+=(4-(D% . 3)).| 000011a0 04 4c 2a e7 20 55 25 20 ee 20 56 25 2b 31 20 f2 |.L*. U% . V%+1 .| 000011b0 69 6e 30 2c f2 69 6e 31 2c 2c f2 69 6e 33 2c 2c |in0,.in1,,.in3,,| 000011c0 f2 69 6e 35 2c f2 69 6e 36 0d 04 56 44 21 74 78 |.in5,.in6..VD!tx| 000011d0 74 3d 44 25 2b 28 34 2a 21 44 25 29 2b 34 3a 41 |t=D%+(4*!D%)+4:A| 000011e0 25 3d ba 28 6d 6f 76 65 29 3a 5a 25 3d 28 41 25 |%=.(move):Z%=(A%| 000011f0 3e 3e 35 29 80 20 33 31 3a 56 25 3d 41 25 20 80 |>>5). 31:V%=A% .| 00001200 20 33 31 3a 55 25 3d a3 3a e6 31 32 38 0d 04 60 | 31:U%=.:.128..`| 00001210 1a e7 20 5a 25 3d 31 20 80 20 3f 28 93 2b 26 31 |.. Z%=1 . ?(.+&1| 00001220 35 46 29 3d 31 20 8c 0d 04 6a 1f 20 e7 20 3f 28 |5F)=1 ...j. . ?(| 00001230 93 2b 26 31 35 45 29 3c 35 20 52 25 3d 33 20 8b |.+&15E)<5 R%=3 .| 00001240 20 52 25 3d 32 30 0d 04 74 10 20 e7 20 b3 28 52 | R%=20..t. . .(R| 00001250 25 29 3d 31 20 8c 0d 04 7e 41 20 20 f7 20 8d 54 |%)=1 ...~A . .T| 00001260 5c 51 3a f2 72 65 63 74 28 33 30 34 2c 32 32 38 |\Q:.rect(304,228| 00001270 2c 36 37 32 2c 33 34 34 2c a3 29 3a 57 57 25 3d |,672,344,.):WW%=| 00001280 31 39 3a 57 58 43 25 3d 36 34 30 3a 57 59 43 25 |19:WXC%=640:WYC%| 00001290 3d 34 30 30 3a e6 30 0d 04 88 12 20 20 e7 20 3f |=400:.0.... . ?| 000012a0 28 93 2b 31 29 3d 30 20 8c 0d 04 92 90 20 20 20 |(.+1)=0 ..... | 000012b0 f2 77 77 70 72 28 22 42 65 66 6f 72 65 20 79 6f |.wwpr("Before yo| 000012c0 75 20 63 61 6e 20 6d 6f 75 6e 74 20 79 6f 75 72 |u can mount your| 000012d0 20 68 6f 72 73 65 20 61 6e 20 61 73 73 61 73 73 | horse an assass| 000012e0 69 6e 20 6c 65 61 70 73 20 6f 75 74 20 61 6e 64 |in leaps out and| 000012f0 20 62 6c 6f 63 6b 73 20 74 68 65 20 77 61 79 2e | blocks the way.| 00001300 20 48 65 20 72 65 61 63 68 65 73 20 66 6f 72 20 | He reaches for | 00001310 68 69 73 20 73 77 6f 72 64 2c 20 61 6e 64 20 79 |his sword, and y| 00001320 6f 75 20 64 6f 20 74 68 65 20 73 61 6d 65 20 2e |ou do the same .| 00001330 2e 2e 22 29 3a 5a 25 3d 37 0d 04 9c 8d 20 20 cc |.."):Z%=7.... .| 00001340 20 f2 77 77 70 72 28 22 42 65 66 6f 72 65 20 79 | .wwpr("Before y| 00001350 6f 75 20 63 61 6e 20 6d 6f 75 6e 74 20 79 6f 75 |ou can mount you| 00001360 72 20 68 6f 72 73 65 20 61 6e 20 61 73 73 61 73 |r horse an assas| 00001370 73 69 6e 20 6c 65 61 70 73 20 6f 75 74 20 61 6e |sin leaps out an| 00001380 64 20 62 6c 6f 63 6b 73 20 74 68 65 20 77 61 79 |d blocks the way| 00001390 2e 20 41 73 20 79 6f 75 20 68 61 76 65 20 6e 6f |. As you have no| 000013a0 20 73 77 6f 72 64 20 79 6f 75 20 61 72 65 20 69 | sword you are i| 000013b0 6e 73 74 61 6e 74 6c 79 20 73 6c 61 69 6e 2e 22 |nstantly slain."| 000013c0 29 3a 5a 25 3d 39 0d 04 a6 0e 20 20 cd 3a f2 6d |):Z%=9.... .:.m| 000013d0 6f 75 73 65 0d 04 b0 06 20 cd 0d 04 ba 12 cd 3a |ouse.... ......:| 000013e0 2a 49 72 6f 6e 46 61 64 65 4f 75 74 0d 04 c4 1f |*IronFadeOut....| 000013f0 e7 20 5a 25 3c 3e 31 20 6e 6d 74 25 3d b9 3a 2a |. Z%<>1 nmt%=.:*| 00001400 49 72 6f 6e 54 75 6e 65 4f 66 66 0d 04 ce 05 e1 |IronTuneOff.....| 00001410 0d 04 d8 05 3a 0d 04 e2 0a dd 20 f2 69 6e 30 0d |....:..... .in0.| 00001420 04 ec 33 ef 20 32 34 2c 37 32 3b 30 3b 33 36 38 |..3. 24,72;0;368| 00001430 3b 37 39 36 3b 3a 49 25 3d 30 3a 4a 25 3d 50 53 |;796;:I%=0:J%=PS| 00001440 50 25 2b 31 36 3a 4b 25 3d 50 53 50 25 2b 26 42 |P%+16:K%=PSP%+&B| 00001450 33 30 0d 04 f6 10 e3 58 25 3d 2d 38 b8 33 37 32 |30.....X%=-8.372| 00001460 88 34 0d 05 00 33 c8 99 22 4f 53 5f 53 70 72 69 |.4...3.."OS_Spri| 00001470 74 65 4f 70 22 2c 32 37 32 2c 53 53 50 25 2c 22 |teOp",272,SSP%,"| 00001480 53 22 2c 30 2c 58 25 2c 32 36 38 2c 58 25 2b 37 |S",0,X%,268,X%+7| 00001490 36 2c 33 31 36 0d 05 0a 28 c8 99 22 4f 53 5f 53 |6,316...(.."OS_S| 000014a0 70 72 69 74 65 4f 70 22 2c 35 34 36 2c 50 53 50 |priteOp",546,PSP| 000014b0 25 2c 4a 25 2c 58 25 2c 32 36 38 2c 38 0d 05 14 |%,J%,X%,268,8...| 000014c0 28 c8 99 22 4f 53 5f 53 70 72 69 74 65 4f 70 22 |(.."OS_SpriteOp"| 000014d0 2c 35 34 36 2c 50 53 50 25 2c 4b 25 2c 37 32 2c |,546,PSP%,K%,72,| 000014e0 32 36 34 2c 38 0d 05 1e 28 49 25 3d 28 49 25 2b |264,8...(I%=(I%+| 000014f0 31 29 83 38 3a 4a 25 3d 50 53 50 25 2b 31 36 2b |1).8:J%=PSP%+16+| 00001500 49 25 2a 26 31 36 34 3a c8 96 3a c8 96 0d 05 28 |I%*&164:..:....(| 00001510 2f c8 99 22 4f 53 5f 53 70 72 69 74 65 4f 70 22 |/.."OS_SpriteOp"| 00001520 2c 35 34 36 2c 53 53 50 25 2c 53 53 50 25 2b 31 |,546,SSP%,SSP%+1| 00001530 36 2c 58 25 2c 32 36 38 2c 30 3a ed 0d 05 32 18 |6,X%,268,0:...2.| 00001540 ef 20 32 34 2c 30 3b 30 3b 31 32 37 39 3b 37 39 |. 24,0;0;1279;79| 00001550 39 3b 3a e1 0d 05 3c 05 3a 0d 05 46 0a dd 20 f2 |9;:...<.:..F.. .| 00001560 69 6e 31 0d 05 50 36 ef 20 32 34 2c 32 30 3b 31 |in1..P6. 24,20;1| 00001570 32 3b 32 32 38 3b 37 39 36 3b 3a 49 25 3d 30 3a |2;228;796;:I%=0:| 00001580 59 25 3d 2d 36 30 3a e3 20 58 25 3d 2d 39 36 20 |Y%=-60:. X%=-96 | 00001590 b8 20 32 33 36 20 88 20 38 0d 05 5a 34 c8 99 22 |. 236 . 8..Z4.."| 000015a0 4f 53 5f 53 70 72 69 74 65 4f 70 22 2c 32 37 32 |OS_SpriteOp",272| 000015b0 2c 53 53 50 25 2c 22 53 22 2c 30 2c 58 25 2c 59 |,SSP%,"S",0,X%,Y| 000015c0 25 2c 58 25 2b 34 34 2c 59 25 2b 35 36 0d 05 64 |%,X%+44,Y%+56..d| 000015d0 34 c8 99 22 4f 53 5f 53 70 72 69 74 65 4f 70 22 |4.."OS_SpriteOp"| 000015e0 2c 35 34 36 2c 50 53 50 25 2c 50 53 50 25 2b 31 |,546,PSP%,PSP%+1| 000015f0 36 2b 49 25 2a 26 31 31 43 2c 58 25 2c 59 25 2c |6+I%*&11C,X%,Y%,| 00001600 38 0d 05 6e 09 c8 96 3a c8 96 0d 05 78 39 c8 99 |8..n...:....x9..| 00001610 22 4f 53 5f 53 70 72 69 74 65 4f 70 22 2c 35 34 |"OS_SpriteOp",54| 00001620 36 2c 53 53 50 25 2c 53 53 50 25 2b 31 36 2c 58 |6,SSP%,SSP%+16,X| 00001630 25 2c 59 25 2c 30 3a 49 25 3d 28 49 25 2b 31 29 |%,Y%,0:I%=(I%+1)| 00001640 83 20 38 0d 05 82 34 c8 99 22 4f 53 5f 53 70 72 |. 8...4.."OS_Spr| 00001650 69 74 65 4f 70 22 2c 35 34 36 2c 50 53 50 25 2c |iteOp",546,PSP%,| 00001660 50 53 50 25 2b 31 36 2b 49 25 2a 26 31 31 43 2c |PSP%+16+I%*&11C,| 00001670 58 25 2c 59 25 2c 38 0d 05 8c 09 c8 96 3a c8 96 |X%,Y%,8......:..| 00001680 0d 05 96 41 c8 99 22 4f 53 5f 53 70 72 69 74 65 |...A.."OS_Sprite| 00001690 4f 70 22 2c 35 34 36 2c 53 53 50 25 2c 53 53 50 |Op",546,SSP%,SSP| 000016a0 25 2b 31 36 2c 58 25 2c 59 25 2c 30 3a 59 25 2b |%+16,X%,Y%,0:Y%+| 000016b0 3d 34 3a 49 25 3d 28 49 25 2b 31 29 83 20 38 3a |=4:I%=(I%+1). 8:| 000016c0 ed 0d 05 a0 18 ef 20 32 34 2c 30 3b 30 3b 31 32 |...... 24,0;0;12| 000016d0 37 39 3b 37 39 39 3b 3a e1 0d 05 aa 05 3a 0d 05 |79;799;:.....:..| 000016e0 b4 0a dd 20 f2 69 6e 33 0d 05 be 33 ef 20 32 34 |... .in3...3. 24| 000016f0 2c 31 36 3b 30 3b 33 36 34 3b 37 39 36 3b 3a 49 |,16;0;364;796;:I| 00001700 25 3d 30 3a 4a 25 3d 50 53 50 25 2b 31 36 3a 4b |%=0:J%=PSP%+16:K| 00001710 25 3d 50 53 50 25 2b 26 42 33 30 0d 05 c8 11 e3 |%=PSP%+&B30.....| 00001720 58 25 3d 2d 36 34 b8 33 36 38 88 34 0d 05 d2 33 |X%=-64.368.4...3| 00001730 c8 99 22 4f 53 5f 53 70 72 69 74 65 4f 70 22 2c |.."OS_SpriteOp",| 00001740 32 37 32 2c 53 53 50 25 2c 22 53 22 2c 30 2c 58 |272,SSP%,"S",0,X| 00001750 25 2c 33 32 30 2c 58 25 2b 37 36 2c 33 36 38 0d |%,320,X%+76,368.| 00001760 05 dc 28 c8 99 22 4f 53 5f 53 70 72 69 74 65 4f |..(.."OS_SpriteO| 00001770 70 22 2c 35 34 36 2c 50 53 50 25 2c 4a 25 2c 58 |p",546,PSP%,J%,X| 00001780 25 2c 33 32 30 2c 38 0d 05 e6 29 c8 99 22 4f 53 |%,320,8...).."OS| 00001790 5f 53 70 72 69 74 65 4f 70 22 2c 35 34 36 2c 50 |_SpriteOp",546,P| 000017a0 53 50 25 2c 4b 25 2c 32 34 38 2c 33 32 30 2c 38 |SP%,K%,248,320,8| 000017b0 0d 05 f0 28 49 25 3d 28 49 25 2b 31 29 83 38 3a |...(I%=(I%+1).8:| 000017c0 4a 25 3d 50 53 50 25 2b 31 36 2b 49 25 2a 26 31 |J%=PSP%+16+I%*&1| 000017d0 36 34 3a c8 96 3a c8 96 0d 05 fa 2d c8 99 22 4f |64:..:.....-.."O| 000017e0 53 5f 53 70 72 69 74 65 4f 70 22 2c 35 34 36 2c |S_SpriteOp",546,| 000017f0 53 53 50 25 2c 53 53 50 25 2b 31 36 2c 58 25 2c |SSP%,SSP%+16,X%,| 00001800 33 32 30 3a ed 0d 06 04 18 ef 20 32 34 2c 30 3b |320:...... 24,0;| 00001810 30 3b 31 32 37 39 3b 37 39 39 3b 3a e1 0d 06 0e |0;1279;799;:....| 00001820 05 3a 0d 06 18 0a dd 20 f2 69 6e 35 0d 06 22 33 |.:..... .in5.."3| 00001830 ef 20 32 34 2c 38 34 3b 30 3b 32 34 30 3b 37 39 |. 24,84;0;240;79| 00001840 36 3b 3a 49 25 3d 30 3a 4a 25 3d 50 53 50 25 2b |6;:I%=0:J%=PSP%+| 00001850 31 36 3a 4b 25 3d 50 53 50 25 2b 26 42 33 30 0d |16:K%=PSP%+&B30.| 00001860 06 2c 0f e3 58 25 3d 30 b8 32 34 34 88 34 0d 06 |.,..X%=0.244.4..| 00001870 36 33 c8 99 22 4f 53 5f 53 70 72 69 74 65 4f 70 |63.."OS_SpriteOp| 00001880 22 2c 32 37 32 2c 53 53 50 25 2c 22 53 22 2c 30 |",272,SSP%,"S",0| 00001890 2c 58 25 2c 32 33 32 2c 58 25 2b 37 36 2c 32 38 |,X%,232,X%+76,28| 000018a0 34 0d 06 40 28 c8 99 22 4f 53 5f 53 70 72 69 74 |4..@(.."OS_Sprit| 000018b0 65 4f 70 22 2c 35 34 36 2c 50 53 50 25 2c 4a 25 |eOp",546,PSP%,J%| 000018c0 2c 58 25 2c 32 33 32 2c 38 0d 06 4a 28 c8 99 22 |,X%,232,8..J(.."| 000018d0 4f 53 5f 53 70 72 69 74 65 4f 70 22 2c 35 34 36 |OS_SpriteOp",546| 000018e0 2c 50 53 50 25 2c 4b 25 2c 38 34 2c 32 33 32 2c |,PSP%,K%,84,232,| 000018f0 38 0d 06 54 28 49 25 3d 28 49 25 2b 31 29 83 38 |8..T(I%=(I%+1).8| 00001900 3a 4a 25 3d 50 53 50 25 2b 31 36 2b 49 25 2a 26 |:J%=PSP%+16+I%*&| 00001910 31 36 34 3a c8 96 3a c8 96 0d 06 5e 2f c8 99 22 |164:..:....^/.."| 00001920 4f 53 5f 53 70 72 69 74 65 4f 70 22 2c 35 34 36 |OS_SpriteOp",546| 00001930 2c 53 53 50 25 2c 53 53 50 25 2b 31 36 2c 58 25 |,SSP%,SSP%+16,X%| 00001940 2c 32 33 32 2c 30 3a ed 0d 06 68 18 ef 20 32 34 |,232,0:...h.. 24| 00001950 2c 30 3b 30 3b 31 32 37 39 3b 37 39 39 3b 3a e1 |,0;0;1279;799;:.| 00001960 0d 06 72 05 3a 0d 06 7c 0a dd 20 f2 69 6e 36 0d |..r.:..|.. .in6.| 00001970 06 86 32 c8 99 22 4f 53 5f 53 70 72 69 74 65 4f |..2.."OS_SpriteO| 00001980 70 22 2c 32 37 32 2c 53 53 50 25 2c 22 53 22 2c |p",272,SSP%,"S",| 00001990 30 2c 33 33 32 2c 31 35 36 2c 34 32 30 2c 32 36 |0,332,156,420,26| 000019a0 38 0d 06 90 31 ef 20 32 34 2c 33 33 32 3b 31 35 |8...1. 24,332;15| 000019b0 36 3b 34 32 30 3b 32 37 36 3b 3a 49 25 3d 30 3a |6;420;276;:I%=0:| 000019c0 e3 20 58 25 3d 31 38 34 20 b8 20 34 32 34 20 88 |. X%=184 . 424 .| 000019d0 20 34 0d 06 9a 35 c8 99 22 4f 53 5f 53 70 72 69 | 4...5.."OS_Spri| 000019e0 74 65 4f 70 22 2c 35 34 36 2c 50 53 50 25 2c 50 |teOp",546,PSP%,P| 000019f0 53 50 25 2b 31 36 2b 49 25 2a 26 34 42 34 2c 58 |SP%+16+I%*&4B4,X| 00001a00 25 2c 31 35 36 2c 38 0d 06 a4 0f c8 96 3a c8 96 |%,156,8......:..| 00001a10 3a c8 96 3a c8 96 0d 06 ae 3d c8 99 22 4f 53 5f |:..:.....=.."OS_| 00001a20 53 70 72 69 74 65 4f 70 22 2c 35 34 36 2c 53 53 |SpriteOp",546,SS| 00001a30 50 25 2c 53 53 50 25 2b 31 36 2c 33 33 32 2c 31 |P%,SSP%+16,332,1| 00001a40 35 36 2c 30 3a 49 25 3d 28 49 25 2b 31 29 83 20 |56,0:I%=(I%+1). | 00001a50 38 3a ed 0d 06 b8 18 ef 20 32 34 2c 30 3b 30 3b |8:...... 24,0;0;| 00001a60 31 32 37 39 3b 37 39 39 3b 3a e1 0d 06 c2 05 3a |1279;799;:.....:| 00001a70 0d 06 cc 0d dd 20 f2 70 65 72 73 6f 6e 0d 06 d6 |..... .person...| 00001a80 aa da 3a e6 31 31 3a c8 93 20 38 2c 30 2c 31 32 |..:.11:.. 8,0,12| 00001a90 37 31 2c 37 39 35 3a c8 93 20 31 32 2c 34 2c 31 |71,795:.. 12,4,1| 00001aa0 32 36 33 2c 37 38 37 3a c8 92 20 34 2c 30 3a ec |263,787:.. 4,0:.| 00001ab0 20 36 36 30 2c 38 3a df 20 36 36 30 2c 37 38 38 | 660,8:. 660,788| 00001ac0 3a ec 20 36 36 34 2c 38 3a df 20 36 36 34 2c 37 |:. 664,8:. 664,7| 00001ad0 38 38 3a e6 31 32 3a ec 20 34 2c 34 3a df 20 34 |88:.12:. 4,4:. 4| 00001ae0 2c 37 39 39 3a df 20 31 32 37 39 2c 37 39 39 3a |,799:. 1279,799:| 00001af0 ec 20 31 36 2c 38 3a df 20 36 35 36 2c 38 3a df |. 16,8:. 656,8:.| 00001b00 20 36 35 36 2c 37 38 38 3a f7 20 8d 54 70 51 3a | 656,788:. .TpQ:| 00001b10 f2 72 65 63 74 28 36 37 32 2c 31 32 2c 35 39 32 |.rect(672,12,592| 00001b20 2c 37 37 30 2c a3 29 0d 06 e0 2a e7 20 56 25 3d |,770,.)...*. V%=| 00001b30 32 20 74 75 25 3d 31 20 8b 20 e7 20 56 25 3d 34 |2 tu%=1 . . V%=4| 00001b40 20 74 75 25 3d 32 20 8b 20 74 75 25 3d 56 25 2d | tu%=2 . tu%=V%-| 00001b50 34 0d 06 ea 7d ff 22 49 72 6f 6e 4c 6f 61 64 20 |4...}."IronLoad | 00001b60 3c 49 72 6f 6e 4c 6f 72 64 24 44 69 72 3e 2e 50 |<IronLord$Dir>.P| 00001b70 69 63 74 75 72 65 2e 22 2b c3 56 25 2b 22 20 22 |icture."+.V%+" "| 00001b80 2b c3 7e 28 54 25 2b 32 29 3a d6 20 6c 6f 61 64 |+.~(T%+2):. load| 00001b90 70 69 63 3a ff 22 49 72 6f 6e 54 75 6e 65 4f 6e |pic:."IronTuneOn| 00001ba0 20 22 2b c3 74 75 25 3a ff 22 49 72 6f 6e 46 61 | "+.tu%:."IronFa| 00001bb0 64 65 49 6e 20 22 2b c3 56 25 3a c8 97 20 b8 20 |deIn "+.V%:.. . | 00001bc0 39 36 38 2c 34 30 30 3a c8 97 20 ee 20 32 0d 06 |968,400:.. . 2..| 00001bd0 f4 27 e7 20 56 25 3d 32 20 50 25 3d 30 20 8b 20 |.'. V%=2 P%=0 . | 00001be0 e7 20 56 25 3d 34 20 50 25 3d 31 20 8b 20 50 25 |. V%=4 P%=1 . P%| 00001bf0 3d 56 25 2d 35 0d 06 fe a3 ef 32 34 2c 36 38 38 |=V%-5.....24,688| 00001c00 3b 32 38 3b 31 32 34 38 3b 37 36 36 3b 3a f5 3a |;28;1248;766;:.:| 00001c10 e6 30 3a e6 31 33 34 3a c8 96 3a da 3a ec 38 32 |.0:.134:..:.:.82| 00001c20 34 2c 37 30 30 3a f1 22 49 6e 76 65 6e 74 6f 72 |4,700:."Inventor| 00001c30 79 22 3a ec 38 35 36 2c 36 33 36 3a f1 22 45 78 |y":.856,636:."Ex| 00001c40 61 6d 69 6e 65 22 3a ec 38 35 36 2c 35 37 32 3a |amine":.856,572:| 00001c50 f1 22 44 69 73 63 75 73 73 22 3a ec 39 32 30 2c |."Discuss":.920,| 00001c60 35 30 38 3a f1 22 42 75 79 22 3a ec 39 30 34 2c |508:."Buy":.904,| 00001c70 34 34 34 3a f1 22 47 69 76 65 22 3a ec 38 38 38 |444:."Give":.888| 00001c80 2c 33 31 36 3a f1 22 4c 65 61 76 65 22 3a f2 72 |,316:."Leave":.r| 00001c90 65 6c 5f 6d 6f 75 73 65 0d 07 08 75 4c 4f 25 3d |el_mouse...uLO%=| 00001ca0 30 3a e6 33 2c 36 3a f5 3a c8 97 4d 58 25 2c 4d |0:.3,6:.:..MX%,M| 00001cb0 59 25 2c 42 25 3a 4f 25 3d 30 3a e7 4d 58 25 3e |Y%,B%:O%=0:.MX%>| 00001cc0 38 30 30 80 4d 58 25 3c 31 31 32 38 20 8c 20 4f |800.MX%<1128 . O| 00001cd0 25 3d 38 3a f5 3a 4f 25 2d 3d 31 3a fd 4f 25 3d |%=8:.:O%-=1:.O%=| 00001ce0 30 20 84 20 4d 59 25 3e 32 31 32 2b 4f 25 2a 36 |0 . MY%>212+O%*6| 00001cf0 34 20 80 20 4d 59 25 3c 32 36 34 2b 4f 25 2a 36 |4 . MY%<264+O%*6| 00001d00 34 3a e7 20 4f 25 3d 32 20 4f 25 3d 30 0d 07 12 |4:. O%=2 O%=0...| 00001d10 35 e7 20 4f 25 3c 3e 4c 4f 25 20 80 20 4c 4f 25 |5. O%<>LO% . LO%| 00001d20 3c 3e 30 20 c8 96 3a c8 93 20 c8 90 20 38 30 38 |<>0 ..:.. .. 808| 00001d30 2c 32 32 30 2b 4c 4f 25 2a 36 34 2c 33 32 30 2c |,220+LO%*64,320,| 00001d40 33 36 0d 07 1c 33 e7 20 4f 25 3c 3e 4c 4f 25 20 |36...3. O%<>LO% | 00001d50 80 20 4f 25 3c 3e 30 20 c8 96 3a c8 93 20 c8 90 |. O%<>0 ..:.. ..| 00001d60 20 38 30 38 2c 32 32 30 2b 4f 25 2a 36 34 2c 33 | 808,220+O%*64,3| 00001d70 32 30 2c 33 36 0d 07 26 19 4c 4f 25 3d 4f 25 3a |20,36..&.LO%=O%:| 00001d80 fd 42 25 3c 3e 30 20 80 20 4f 25 3c 3e 30 0d 07 |.B%<>0 . O%<>0..| 00001d90 30 0b c8 8e 20 4f 25 20 ca 0d 07 3a 0e 20 c9 20 |0... O% ...:. . | 00001da0 33 3a f2 67 69 76 65 0d 07 44 0d 20 c9 20 34 3a |3:.give..D. . 4:| 00001db0 f2 62 75 79 0d 07 4e 11 20 c9 20 35 3a f2 64 69 |.buy..N. . 5:.di| 00001dc0 73 63 75 73 73 0d 07 58 11 20 c9 20 36 3a f2 65 |scuss..X. . 6:.e| 00001dd0 78 61 6d 69 6e 65 0d 07 62 13 20 c9 20 37 3a f2 |xamine..b. . 7:.| 00001de0 69 6e 76 65 6e 74 6f 72 79 0d 07 6c 05 cb 0d 07 |inventory..l....| 00001df0 76 26 fd 4f 25 3d 31 3a f2 72 65 6c 5f 6d 6f 75 |v&.O%=1:.rel_mou| 00001e00 73 65 3a c8 97 20 87 3a 2a 49 72 6f 6e 46 61 64 |se:.. .:*IronFad| 00001e10 65 4f 75 74 0d 07 80 0b c8 8e 20 56 25 20 ca 0d |eOut...... V% ..| 00001e20 07 8a 27 20 c9 20 37 3a 56 25 3d 35 3a 5a 25 3d |..' . 7:V%=5:Z%=| 00001e30 32 3a 41 25 3d 31 34 30 3a 42 25 3d 31 33 32 3a |2:A%=140:B%=132:| 00001e40 43 25 3d 26 42 30 0d 07 94 25 20 c9 20 38 3a 56 |C%=&B0...% . 8:V| 00001e50 25 3d 31 3a 5a 25 3d 32 3a 41 25 3d 38 38 30 3a |%=1:Z%=2:A%=880:| 00001e60 42 25 3d 37 32 3a 43 25 3d 31 36 0d 07 9e 27 20 |B%=72:C%=16...' | 00001e70 c9 20 39 3a 56 25 3d 33 3a 5a 25 3d 32 3a 41 25 |. 9:V%=3:Z%=2:A%| 00001e80 3d 31 36 38 3a 42 25 3d 32 31 36 3a 43 25 3d 26 |=168:B%=216:C%=&| 00001e90 42 30 0d 07 a8 28 20 c9 20 31 30 3a 56 25 3d 35 |B0...( . 10:V%=5| 00001ea0 3a 5a 25 3d 32 3a 41 25 3d 38 34 30 3a 42 25 3d |:Z%=2:A%=840:B%=| 00001eb0 32 33 36 3a 43 25 3d 26 35 43 0d 07 b2 28 20 c9 |236:C%=&5C...( .| 00001ec0 20 31 31 3a 56 25 3d 33 3a 5a 25 3d 32 3a 41 25 | 11:V%=3:Z%=2:A%| 00001ed0 3d 33 34 34 3a 42 25 3d 33 36 34 3a 43 25 3d 26 |=344:B%=364:C%=&| 00001ee0 35 43 0d 07 bc 26 20 c9 20 31 32 3a 56 25 3d 36 |5C...& . 12:V%=6| 00001ef0 3a 5a 25 3d 32 3a 41 25 3d 38 34 3a 42 25 3d 38 |:Z%=2:A%=84:B%=8| 00001f00 34 3a 43 25 3d 26 42 30 0d 07 c6 14 20 c9 20 31 |4:C%=&B0.... . 1| 00001f10 33 3a 56 25 3d 31 37 3a 5a 25 3d 35 0d 07 d0 0b |3:V%=17:Z%=5....| 00001f20 20 7f 20 5a 25 3d 31 0d 07 da 05 cb 0d 07 e4 27 | . Z%=1........'| 00001f30 ef 32 34 2c 30 3b 30 3b 31 32 37 39 3b 37 39 39 |.24,0;0;1279;799| 00001f40 3b 3a e6 31 32 38 3a 2a 49 72 6f 6e 54 75 6e 65 |;:.128:*IronTune| 00001f50 4f 66 66 0d 07 ee 05 e1 0d 07 f8 05 3a 0d 08 02 |Off.........:...| 00001f60 9b dd 20 f2 64 69 73 63 75 73 73 3a da 3a c8 99 |.. .discuss:.:..| 00001f70 22 4f 53 5f 53 70 72 69 74 65 4f 70 22 2c 32 39 |"OS_SpriteOp",29| 00001f80 30 2c 43 53 50 25 2c 22 6c 61 22 2c 37 30 30 2c |0,CSP%,"la",700,| 00001f90 36 34 38 3a c8 99 22 4f 53 5f 53 70 72 69 74 65 |648:.."OS_Sprite| 00001fa0 4f 70 22 2c 32 39 30 2c 43 53 50 25 2c 22 64 6f |Op",290,CSP%,"do| 00001fb0 6e 65 22 2c 38 36 34 2c 36 34 38 3a c8 99 22 4f |ne",864,648:.."O| 00001fc0 53 5f 53 70 72 69 74 65 4f 70 22 2c 32 39 30 2c |S_SpriteOp",290,| 00001fd0 43 53 50 25 2c 22 72 61 22 2c 31 30 38 34 2c 36 |CSP%,"ra",1084,6| 00001fe0 34 38 3a ef 20 32 34 2c 36 38 38 3b 32 38 3b 31 |48:. 24,688;28;1| 00001ff0 32 34 38 3b 36 34 34 3b 0d 08 0c 1d 44 4c 25 3d |248;644;....DL%=| 00002000 93 2b 26 33 30 2b 50 25 2a 33 32 3a 51 25 3d 30 |.+&30+P%*32:Q%=0| 00002010 3a 52 25 3d b9 0d 08 16 35 f5 3a e7 20 52 25 20 |:R%=....5.:. R% | 00002020 da 3a 21 79 70 6f 73 3d 36 30 38 3a 41 25 3d 44 |.:!ypos=608:A%=D| 00002030 4c 25 3f 51 25 3a d6 20 6d 65 73 73 61 67 65 3a |L%?Q%:. message:| 00002040 52 25 3d a3 3a 51 44 25 3d b9 0d 08 20 0a f2 6d |R%=.:QD%=... ..m| 00002050 6f 75 73 65 0d 08 2a 19 e7 20 4d 59 25 3e 36 35 |ouse..*.. MY%>65| 00002060 36 20 80 20 4d 59 25 3c 37 36 30 20 8c 0d 08 34 |6 . MY%<760 ...4| 00002070 38 20 e7 20 4d 58 25 3e 37 30 30 20 80 20 4d 58 |8 . MX%>700 . MX| 00002080 25 3c 38 34 34 20 80 20 51 25 3e 30 20 f5 3a 51 |%<844 . Q%>0 .:Q| 00002090 25 2d 3d 31 3a fd 20 44 4c 25 3f 51 25 3c 3e 30 |%-=1:. DL%?Q%<>0| 000020a0 3a 52 25 3d b9 0d 08 3e 54 20 e7 20 4d 58 25 3e |:R%=...>T . MX%>| 000020b0 31 30 38 34 20 80 20 4d 58 25 3c 31 32 32 38 20 |1084 . MX%<1228 | 000020c0 43 25 3d 51 25 3a 52 25 3d b9 3a f5 3a 51 25 2b |C%=Q%:R%=.:.:Q%+| 000020d0 3d 31 3a fd 20 44 4c 25 3f 51 25 3c 3e 30 20 84 |=1:. DL%?Q%<>0 .| 000020e0 20 51 25 3d 31 36 3a e7 20 51 25 3d 31 36 20 51 | Q%=16:. Q%=16 Q| 000020f0 25 3d 43 25 3a 52 25 3d a3 0d 08 48 05 cd 0d 08 |%=C%:R%=...H....| 00002100 52 1f e7 20 4d 58 25 3e 36 38 38 20 80 20 4d 59 |R.. MX%>688 . MY| 00002110 25 3c 36 34 34 20 80 20 51 44 25 20 8c 0d 08 5c |%<644 . QD% ...\| 00002120 2f 20 41 25 3d 44 4c 25 3f 28 51 25 2b 31 36 29 |/ A%=DL%?(Q%+16)| 00002130 3a da 3a 21 79 70 6f 73 3d 36 30 38 3a d6 20 6d |:.:!ypos=608:. m| 00002140 65 73 73 61 67 65 3a 51 44 25 3d a3 0d 08 66 26 |essage:QD%=...f&| 00002150 20 e7 20 51 25 3d 30 20 80 20 50 25 3c 3e 37 20 | . Q%=0 . P%<>7 | 00002160 f2 63 68 5f 72 65 73 70 28 50 25 2c 30 2c 31 32 |.ch_resp(P%,0,12| 00002170 33 29 0d 08 70 3d 20 e7 20 51 25 3e 30 20 80 20 |3)..p= . Q%>0 . | 00002180 51 25 3c 37 20 80 20 28 50 25 3c 3e 37 20 84 20 |Q%<7 . (P%<>7 . | 00002190 3f 28 93 2b 39 29 3d 32 34 37 29 20 f2 63 68 5f |?(.+9)=247) .ch_| 000021a0 72 65 73 70 28 50 25 2c 51 25 2c 31 32 34 29 0d |resp(P%,Q%,124).| 000021b0 08 7a 2c 20 e7 20 51 25 3d 32 20 80 20 50 25 3d |.z, . Q%=2 . P%=| 000021c0 35 20 3f 28 93 2b 26 31 35 46 29 3d 31 3a f4 20 |5 ?(.+&15F)=1:. | 000021d0 53 77 6f 72 64 20 66 69 67 68 74 0d 08 84 2d 20 |Sword fight...- | 000021e0 e7 20 41 25 3d 31 30 32 20 f2 72 65 76 65 61 6c |. A%=102 .reveal| 000021f0 5f 71 75 65 73 28 37 29 3a f4 20 4d 69 6c 6c 65 |_ques(7):. Mille| 00002200 72 20 61 72 6d 79 20 3f 0d 08 8e 37 20 e7 20 41 |r army ?...7 . A| 00002210 25 3d 31 30 33 20 3f 28 93 2b 26 31 35 35 29 3d |%=103 ?(.+&155)=| 00002220 31 3a f2 68 69 64 65 5f 71 75 65 73 28 31 2c 32 |1:.hide_ques(1,2| 00002230 29 3a f4 20 4d 69 6c 6c 65 72 20 61 72 6d 79 0d |):. Miller army.| 00002240 08 98 38 20 e7 20 41 25 3d 31 30 35 20 80 20 3f |..8 . A%=105 . ?| 00002250 28 93 2b 35 29 3d 32 35 35 20 f2 72 65 76 65 61 |(.+5)=255 .revea| 00002260 6c 5f 71 75 65 73 28 36 29 3a f4 20 4d 6f 6e 6b |l_ques(6):. Monk| 00002270 20 61 72 6d 79 20 3f 0d 08 a2 35 20 e7 20 41 25 | army ?...5 . A%| 00002280 3d 31 30 36 20 3f 28 93 2b 26 31 35 36 29 3d 31 |=106 ?(.+&156)=1| 00002290 3a f2 68 69 64 65 5f 71 75 65 73 28 32 2c 32 29 |:.hide_ques(2,2)| 000022a0 3a f4 20 4d 6f 6e 6b 20 61 72 6d 79 0d 08 ac 52 |:. Monk army...R| 000022b0 20 e7 20 41 25 3d 31 30 38 20 f2 68 69 64 65 5f | . A%=108 .hide_| 000022c0 71 75 65 73 28 32 2c 38 29 3a f2 63 68 5f 72 65 |ques(2,8):.ch_re| 000022d0 73 70 28 36 2c 32 2c 39 36 29 3a f2 63 68 5f 72 |sp(6,2,96):.ch_r| 000022e0 65 73 70 28 36 2c 37 2c 31 30 30 29 3a f4 20 4d |esp(6,7,100):. M| 000022f0 6f 6e 6b 20 67 69 76 65 73 20 77 69 6e 65 0d 08 |onk gives wine..| 00002300 b6 39 20 e7 20 41 25 3d 38 32 20 3f 28 93 2b 26 |.9 . A%=82 ?(.+&| 00002310 31 35 37 29 3d 31 3a f2 68 69 64 65 5f 71 75 65 |157)=1:.hide_que| 00002320 73 28 33 2c 32 29 3a f4 20 48 65 72 62 61 6c 69 |s(3,2):. Herbali| 00002330 73 74 20 61 72 6d 79 0d 08 c0 4e 20 e7 20 41 25 |st army...N . A%| 00002340 3d 38 35 20 3f 28 93 2b 35 29 3d 30 3a e3 20 49 |=85 ?(.+5)=0:. I| 00002350 25 3d 30 20 b8 20 38 3a f2 68 69 64 65 5f 71 75 |%=0 . 8:.hide_qu| 00002360 65 73 28 49 25 2c 36 29 3a ed 3a f4 20 48 65 72 |es(I%,6):.:. Her| 00002370 62 61 6c 69 73 74 20 67 69 76 65 73 20 61 6e 74 |balist gives ant| 00002380 69 64 6f 74 65 0d 08 ca 30 20 e7 20 41 25 3d 38 |idote...0 . A%=8| 00002390 37 20 f2 72 65 76 65 61 6c 5f 71 75 65 73 28 33 |7 .reveal_ques(3| 000023a0 29 3a f4 20 53 68 6f 70 6b 65 65 70 65 72 20 61 |):. Shopkeeper a| 000023b0 72 6d 79 20 3f 0d 08 d4 3a 20 e7 20 41 25 3d 38 |rmy ?...: . A%=8| 000023c0 38 20 3f 28 93 2b 26 31 35 38 29 3d 31 3a f2 68 |8 ?(.+&158)=1:.h| 000023d0 69 64 65 5f 71 75 65 73 28 34 2c 32 29 3a f4 20 |ide_ques(4,2):. | 000023e0 53 68 6f 70 6b 65 65 70 65 72 20 61 72 6d 79 0d |Shopkeeper army.| 000023f0 08 de 4d 20 e7 20 41 25 3d 39 30 20 3f 28 93 2b |..M . A%=90 ?(.+| 00002400 37 29 3d 39 3a e3 20 49 25 3d 30 20 b8 20 38 3a |7)=9:. I%=0 . 8:| 00002410 f2 68 69 64 65 5f 71 75 65 73 28 49 25 2c 34 29 |.hide_ques(I%,4)| 00002420 3a ed 3a f4 20 53 68 6f 70 6b 65 65 70 65 72 20 |:.:. Shopkeeper | 00002430 73 65 6c 6c 73 20 61 72 6d 6f 75 72 0d 08 e8 4b |sells armour...K| 00002440 20 e7 20 41 25 3d 39 32 20 3f 28 93 2b 36 29 3d | . A%=92 ?(.+6)=| 00002450 39 3a e3 20 49 25 3d 30 20 b8 20 38 3a f2 68 69 |9:. I%=0 . 8:.hi| 00002460 64 65 5f 71 75 65 73 28 49 25 2c 35 29 3a ed 3a |de_ques(I%,5):.:| 00002470 f4 20 53 68 6f 70 6b 65 65 70 65 72 20 73 65 6c |. Shopkeeper sel| 00002480 6c 73 20 72 75 62 79 0d 08 f2 38 20 e7 20 41 25 |ls ruby...8 . A%| 00002490 3d 31 31 33 20 3f 28 93 2b 26 31 35 39 29 3d 32 |=113 ?(.+&159)=2| 000024a0 3a f2 68 69 64 65 5f 71 75 65 73 28 35 2c 32 29 |:.hide_ques(5,2)| 000024b0 3a f4 20 54 65 6d 70 6c 61 72 20 61 72 6d 79 0d |:. Templar army.| 000024c0 08 fc 2e 20 e7 20 41 25 3d 39 34 20 f2 72 65 76 |... . A%=94 .rev| 000024d0 65 61 6c 5f 71 75 65 73 28 38 29 3a f4 20 48 65 |eal_ques(8):. He| 000024e0 6c 6c 6f 20 69 6e 6e 6b 65 65 70 65 72 0d 09 06 |llo innkeeper...| 000024f0 39 20 e7 20 41 25 3d 39 36 20 3f 28 93 2b 26 31 |9 . A%=96 ?(.+&1| 00002500 35 41 29 3d 31 3a f2 68 69 64 65 5f 71 75 65 73 |5A)=1:.hide_ques| 00002510 28 36 2c 32 29 3a f4 20 49 6e 6e 6b 65 65 70 65 |(6,2):. Innkeepe| 00002520 72 20 61 72 6d 79 0d 09 10 40 20 e7 20 41 25 3d |r army...@ . A%=| 00002530 31 30 30 20 f2 68 69 64 65 5f 71 75 65 73 28 36 |100 .hide_ques(6| 00002540 2c 37 29 3a f2 63 68 5f 72 65 73 70 28 31 2c 32 |,7):.ch_resp(1,2| 00002550 2c 31 30 33 29 3a f4 20 49 6e 6e 6b 65 65 70 65 |,103):. Innkeepe| 00002560 72 20 70 61 79 73 0d 09 1a 30 20 e7 20 41 25 3d |r pays...0 . A%=| 00002570 31 32 30 20 f2 72 65 76 65 61 6c 5f 71 75 65 73 |120 .reveal_ques| 00002580 28 35 29 3a f4 20 4d 65 72 63 65 6e 61 72 79 20 |(5):. Mercenary | 00002590 61 72 6d 79 20 3f 0d 09 24 3a 20 e7 20 41 25 3d |army ?..$: . A%=| 000025a0 31 32 31 20 3f 28 93 2b 26 31 35 42 29 3d 33 3a |121 ?(.+&15B)=3:| 000025b0 f2 68 69 64 65 5f 71 75 65 73 28 37 2c 32 29 3a |.hide_ques(7,2):| 000025c0 f4 20 4d 65 72 63 65 6e 61 72 79 20 61 72 6d 79 |. Mercenary army| 000025d0 0d 09 2e 34 20 e7 20 41 25 3d 31 32 32 20 f2 72 |...4 . A%=122 .r| 000025e0 65 76 65 61 6c 5f 71 75 65 73 28 34 29 3a f4 20 |eveal_ques(4):. | 000025f0 4d 65 72 63 65 6e 61 72 79 20 6e 65 63 6b 6c 61 |Mercenary neckla| 00002600 63 65 20 3f 0d 09 38 3b 20 e7 20 41 25 3d 31 31 |ce ?..8; . A%=11| 00002610 36 20 3f 28 93 2b 39 29 3d 30 3a f2 68 69 64 65 |6 ?(.+9)=0:.hide| 00002620 5f 71 75 65 73 28 38 2c 32 29 3a f4 20 4d 61 69 |_ques(8,2):. Mai| 00002630 64 20 67 69 76 65 73 20 70 65 6e 64 61 6e 74 0d |d gives pendant.| 00002640 09 42 05 cd 0d 09 4c 44 fd 20 4d 58 25 3e 38 36 |.B....LD. MX%>86| 00002650 34 20 80 20 4d 58 25 3c 31 30 36 30 20 80 20 4d |4 . MX%<1060 . M| 00002660 59 25 3e 36 35 36 20 80 20 4d 59 25 3c 37 36 30 |Y%>656 . MY%<760| 00002670 3a ef 20 32 34 2c 36 38 38 3b 32 38 3b 31 32 34 |:. 24,688;28;124| 00002680 38 3b 37 36 34 3b 3a e1 0d 09 56 05 3a 0d 09 60 |8;764;:...V.:..`| 00002690 65 dd 20 f2 65 78 61 6d 69 6e 65 3a da 3a c8 99 |e. .examine:.:..| 000026a0 22 4f 53 5f 53 70 72 69 74 65 4f 70 22 2c 32 39 |"OS_SpriteOp",29| 000026b0 30 2c 43 53 50 25 2c 22 64 6f 6e 65 22 2c 38 36 |0,CSP%,"done",86| 000026c0 34 2c 33 36 3a 41 25 3d 3f 28 93 2b 56 25 2b 26 |4,36:A%=?(.+V%+&| 000026d0 32 30 29 3a 21 79 70 6f 73 3d 37 30 30 3a d6 20 |20):!ypos=700:. | 000026e0 6d 65 73 73 61 67 65 3a f2 64 6f 6e 65 5f 77 61 |message:.done_wa| 000026f0 69 74 0d 09 6a 05 e1 0d 09 74 05 3a 0d 09 7e 5f |it..j....t.:..~_| 00002700 dd 20 f2 69 6e 76 65 6e 74 6f 72 79 3a da 3a c8 |. .inventory:.:.| 00002710 99 22 4f 53 5f 53 70 72 69 74 65 4f 70 22 2c 32 |."OS_SpriteOp",2| 00002720 39 30 2c 43 53 50 25 2c 22 64 6f 6e 65 22 2c 38 |90,CSP%,"done",8| 00002730 36 34 2c 33 36 3a ef 20 32 34 2c 36 38 38 3b 31 |64,36:. 24,688;1| 00002740 34 38 3b 31 32 34 38 3b 37 36 34 3b 3a 54 24 3d |48;1248;764;:T$=| 00002750 22 49 6e 76 65 6e 74 6f 72 79 22 0d 09 88 41 41 |"Inventory"...AA| 00002760 25 3d a4 73 65 6c 5f 6f 62 6a 28 30 29 3a e7 20 |%=.sel_obj(0):. | 00002770 41 25 3d 31 30 30 20 21 79 70 6f 73 3d 34 36 38 |A%=100 !ypos=468| 00002780 3a 41 25 3d 31 33 31 3a d6 20 6d 65 73 73 61 67 |:A%=131:. messag| 00002790 65 3a f2 64 6f 6e 65 5f 77 61 69 74 0d 09 92 0e |e:.done_wait....| 000027a0 c8 95 20 41 25 3c 39 39 3a da 0d 09 9c 0c e7 20 |.. A%<99:...... | 000027b0 41 25 3d 30 20 8c 0d 09 a6 11 20 4d 25 3d 21 28 |A%=0 ..... M%=!(| 000027c0 93 2b 26 31 35 30 29 0d 09 b0 0d 20 e7 20 4d 25 |.+&150).... . M%| 000027d0 3d 30 20 8c 0d 09 ba 25 20 20 f2 77 70 72 28 22 |=0 ....% .wpr("| 000027e0 54 68 65 20 70 75 72 73 65 20 69 73 20 65 6d 70 |The purse is emp| 000027f0 74 79 2e 22 2c 37 30 30 29 0d 09 c4 06 20 cc 0d |ty.",700).... ..| 00002800 09 ce 4c 20 20 4d 24 3d 22 54 68 65 20 70 75 72 |..L M$="The pur| 00002810 73 65 20 63 6f 6e 74 61 69 6e 73 20 22 2b c3 28 |se contains "+.(| 00002820 4d 25 29 2b 22 20 67 6f 6c 64 20 70 69 65 63 65 |M%)+" gold piece| 00002830 22 3a e7 20 4d 25 3d 31 20 4d 24 2b 3d 22 2e 22 |":. M%=1 M$+="."| 00002840 20 8b 20 4d 24 2b 3d 22 73 2e 22 0d 09 d8 12 20 | . M$+="s.".... | 00002850 20 f2 77 70 72 28 4d 24 2c 37 30 30 29 0d 09 e2 | .wpr(M$,700)...| 00002860 06 20 cd 0d 09 ec 05 cc 0d 09 f6 1f 20 21 79 70 |. .......... !yp| 00002870 6f 73 3d 37 30 30 3a 41 25 2b 3d 32 35 3a d6 20 |os=700:A%+=25:. | 00002880 6d 65 73 73 61 67 65 0d 0a 00 05 cd 0d 0a 0a 21 |message........!| 00002890 f2 64 6f 6e 65 5f 77 61 69 74 3a da 3a 41 25 3d |.done_wait:.:A%=| 000028a0 a4 73 65 6c 5f 6f 62 6a 28 30 29 3a ce 0d 0a 14 |.sel_obj(0):....| 000028b0 1b ef 20 32 34 2c 36 38 38 3b 32 38 3b 31 32 34 |.. 24,688;28;124| 000028c0 38 3b 37 36 34 3b 3a e1 0d 0a 1e 05 3a 0d 0a 28 |8;764;:.....:..(| 000028d0 13 dd 20 f2 62 75 79 3a 54 24 3d 22 42 75 79 22 |.. .buy:T$="Buy"| 000028e0 0d 0a 32 2c da 3a c8 99 22 4f 53 5f 53 70 72 69 |..2,.:.."OS_Spri| 000028f0 74 65 4f 70 22 2c 32 39 30 2c 43 53 50 25 2c 22 |teOp",290,CSP%,"| 00002900 64 6f 6e 65 22 2c 38 36 34 2c 33 36 0d 0a 3c 3a |done",864,36..<:| 00002910 41 25 3d 30 3a e7 20 a4 6e 75 6d 5f 6f 62 6a 28 |A%=0:. .num_obj(| 00002920 56 25 29 3d 30 20 41 25 3d 31 33 32 20 8b 20 e7 |V%)=0 A%=132 . .| 00002930 20 a4 6e 75 6d 5f 6f 62 6a 28 30 29 3e 31 31 20 | .num_obj(0)>11 | 00002940 41 25 3d 31 33 38 0d 0a 46 45 e7 20 41 25 3c 3e |A%=138..FE. A%<>| 00002950 30 20 21 79 70 6f 73 3d 34 36 38 3a d6 20 6d 65 |0 !ypos=468:. me| 00002960 73 73 61 67 65 3a f2 64 6f 6e 65 5f 77 61 69 74 |ssage:.done_wait| 00002970 3a 4f 42 25 3d 31 30 30 20 8b 20 4f 42 25 3d a4 |:OB%=100 . OB%=.| 00002980 73 65 6c 5f 6f 62 6a 28 56 25 29 0d 0a 50 0e e7 |sel_obj(V%)..P..| 00002990 20 4f 42 25 3c 39 39 20 8c 0d 0a 5a 3f 20 da 3a | OB%<99 ...Z? .:| 000029a0 e7 20 4f 42 25 3d 31 39 20 f2 77 70 72 28 22 54 |. OB%=19 .wpr("T| 000029b0 68 65 73 65 20 63 6f 73 74 22 2c 37 30 30 29 20 |hese cost",700) | 000029c0 8b 20 f2 77 70 72 28 22 54 68 69 73 20 63 6f 73 |. .wpr("This cos| 000029d0 74 73 22 2c 37 30 30 29 0d 0a 64 2b 20 f2 77 70 |ts",700)..d+ .wp| 000029e0 72 28 c3 28 43 53 54 25 28 4f 42 25 29 29 2b 22 |r(.(CST%(OB%))+"| 000029f0 20 67 6f 6c 64 20 70 69 65 63 65 73 2e 22 2c 36 | gold pieces.",6| 00002a00 36 38 29 0d 0a 6e 1c 20 e7 20 43 53 54 25 28 4f |68)..n. . CST%(O| 00002a10 42 25 29 3e 21 28 93 2b 26 31 35 30 29 20 8c 0d |B%)>!(.+&150) ..| 00002a20 0a 78 52 20 20 21 79 70 6f 73 3d 36 30 34 3a 41 |.xR !ypos=604:A| 00002a30 25 3d 31 33 37 3a d6 20 6d 65 73 73 61 67 65 3a |%=137:. message:| 00002a40 c8 99 22 4f 53 5f 53 70 72 69 74 65 4f 70 22 2c |.."OS_SpriteOp",| 00002a50 32 39 30 2c 43 53 50 25 2c 22 64 6f 6e 65 22 2c |290,CSP%,"done",| 00002a60 38 36 34 2c 33 36 3a f2 64 6f 6e 65 5f 77 61 69 |864,36:.done_wai| 00002a70 74 0d 0a 82 06 20 cc 0d 0a 8c a3 20 20 c8 99 22 |t.... ..... .."| 00002a80 4f 53 5f 53 70 72 69 74 65 4f 70 22 2c 32 39 30 |OS_SpriteOp",290| 00002a90 2c 43 53 50 25 2c 22 79 65 73 22 2c 37 30 34 2c |,CSP%,"yes",704,| 00002aa0 33 36 3a c8 99 22 4f 53 5f 53 70 72 69 74 65 4f |36:.."OS_SpriteO| 00002ab0 70 22 2c 32 39 30 2c 43 53 50 25 2c 22 6e 6f 22 |p",290,CSP%,"no"| 00002ac0 2c 31 30 32 38 2c 33 36 3a f2 77 70 72 28 22 44 |,1028,36:.wpr("D| 00002ad0 6f 20 79 6f 75 20 77 69 73 68 20 74 6f 22 2c 36 |o you wish to",6| 00002ae0 30 34 29 3a e7 20 4f 42 25 3d 31 39 20 f2 77 70 |04):. OB%=19 .wp| 00002af0 72 28 22 62 75 79 20 74 68 65 6d 20 3f 22 2c 35 |r("buy them ?",5| 00002b00 37 32 29 20 8b 20 f2 77 70 72 28 22 62 75 79 20 |72) . .wpr("buy | 00002b10 69 74 20 3f 22 2c 35 37 32 29 0d 0a 96 13 20 20 |it ?",572).... | 00002b20 59 25 3d 30 3a f5 3a f2 6d 6f 75 73 65 0d 0a a0 |Y%=0:.:.mouse...| 00002b30 1a 20 20 e7 20 4d 59 25 3e 34 34 20 80 20 4d 59 |. . MY%>44 . MY| 00002b40 25 3c 31 34 38 20 8c 0d 0a aa 3c 20 20 20 e7 20 |%<148 ....< . | 00002b50 4d 58 25 3e 37 30 34 20 80 20 4d 58 25 3c 39 30 |MX%>704 . MX%<90| 00002b60 30 20 59 25 3d 31 20 8b 20 e7 20 4d 58 25 3e 31 |0 Y%=1 . . MX%>1| 00002b70 30 32 38 20 80 20 4d 58 25 3c 31 32 32 34 20 59 |028 . MX%<1224 Y| 00002b80 25 3d 32 0d 0a b4 07 20 20 cd 0d 0a be 0c 20 20 |%=2.... ..... | 00002b90 fd 20 59 25 3e 30 0d 0a c8 0e 20 20 e7 20 59 25 |. Y%>0.... . Y%| 00002ba0 3d 31 20 8c 0d 0a d2 08 20 20 20 da 0d 0a dc 0f |=1 ..... .....| 00002bb0 20 20 20 c8 8e 20 4f 42 25 20 ca 0d 0a e6 4b 20 | .. OB% ....K | 00002bc0 20 20 20 c9 20 32 31 3a e7 20 3f 28 93 2b 26 31 | . 21:. ?(.+&1| 00002bd0 36 31 29 3d 30 20 41 25 3d 31 34 30 3a 21 28 93 |61)=0 A%=140:!(.| 00002be0 2b 26 31 35 30 29 2d 3d 43 53 54 25 28 4f 42 25 |+&150)-=CST%(OB%| 00002bf0 29 3a 3f 28 93 2b 26 31 36 31 29 3d 31 20 8b 20 |):?(.+&161)=1 . | 00002c00 41 25 3d 31 34 32 0d 0a f0 4b 20 20 20 20 c9 20 |A%=142...K . | 00002c10 32 32 3a e7 20 3f 28 93 2b 26 31 36 32 29 3d 30 |22:. ?(.+&162)=0| 00002c20 20 41 25 3d 31 34 31 3a 21 28 93 2b 26 31 35 30 | A%=141:!(.+&150| 00002c30 29 2d 3d 43 53 54 25 28 4f 42 25 29 3a 3f 28 93 |)-=CST%(OB%):?(.| 00002c40 2b 26 31 36 32 29 3d 31 20 8b 20 41 25 3d 31 34 |+&162)=1 . A%=14| 00002c50 33 0d 0a fa 49 20 20 20 20 7f 3a 21 28 93 2b 26 |3...I .:!(.+&| 00002c60 31 35 30 29 2d 3d 43 53 54 25 28 4f 42 25 29 3a |150)-=CST%(OB%):| 00002c70 3f 28 93 2b 4f 42 25 29 3d 30 3a f2 77 70 72 28 |?(.+OB%)=0:.wpr(| 00002c80 22 59 6f 75 20 6e 6f 77 20 68 61 76 65 22 2c 37 |"You now have",7| 00002c90 30 30 29 3a 41 25 3d 4f 42 25 0d 0b 04 08 20 20 |00):A%=OB%.... | 00002ca0 20 cb 0d 0b 0e 4c 20 20 20 21 79 70 6f 73 3d 36 | ....L !ypos=6| 00002cb0 36 38 3a d6 20 6d 65 73 73 61 67 65 3a c8 99 22 |68:. message:.."| 00002cc0 4f 53 5f 53 70 72 69 74 65 4f 70 22 2c 32 39 30 |OS_SpriteOp",290| 00002cd0 2c 43 53 50 25 2c 22 64 6f 6e 65 22 2c 38 36 34 |,CSP%,"done",864| 00002ce0 2c 33 36 3a f2 64 6f 6e 65 5f 77 61 69 74 0d 0b |,36:.done_wait..| 00002cf0 18 07 20 20 cd 0d 0b 22 06 20 cd 0d 0b 2c 05 cd |.. ...". ...,..| 00002d00 0d 0b 36 05 e1 0d 0b 40 05 3a 0d 0b 4a 19 dd 20 |..6....@.:..J.. | 00002d10 f2 77 70 72 28 53 24 2c 59 25 29 3a ea 20 54 24 |.wpr(S$,Y%):. T$| 00002d20 2c 50 25 0d 0b 54 0b f5 3a 54 24 3d 22 22 0d 0b |,P%..T..:T$=""..| 00002d30 5e 0f 20 e7 20 a9 53 24 3e 31 37 20 8c 0d 0b 68 |^. . .S$>17 ...h| 00002d40 25 20 20 50 25 3d 31 37 3a c8 95 20 c1 53 24 2c |% P%=17:.. .S$,| 00002d50 50 25 2c 31 29 3c 3e 22 20 22 3a 50 25 2d 3d 31 |P%,1)<>" ":P%-=1| 00002d60 3a ce 0d 0b 72 23 20 20 54 24 3d c2 53 24 2c a9 |:...r# T$=.S$,.| 00002d70 28 53 24 29 2d 50 25 29 3a 53 24 3d c0 53 24 2c |(S$)-P%):S$=.S$,| 00002d80 50 25 2d 31 29 0d 0b 7c 06 20 cd 0d 0b 86 25 20 |P%-1)..|. ....% | 00002d90 ec 20 39 36 38 2d 31 36 2a a9 53 24 2c 59 25 3a |. 968-16*.S$,Y%:| 00002da0 f1 53 24 3a 59 25 2d 3d 33 32 3a 53 24 3d 54 24 |.S$:Y%-=32:S$=T$| 00002db0 0d 0b 90 0d fd 20 53 24 3d 22 22 3a e1 0d 0b 9a |..... S$="":....| 00002dc0 05 3a 0d 0b a4 25 dd 20 f2 77 77 70 72 28 53 24 |.:...%. .wwpr(S$| 00002dd0 29 3a ea 20 54 24 2c 50 25 2c 59 25 3a 54 24 3d |):. T$,P%,Y%:T$=| 00002de0 53 24 3a 59 25 3d 30 0d 0b ae 05 f5 0d 0b b8 10 |S$:Y%=0.........| 00002df0 20 e7 20 a9 54 24 3e 57 57 25 20 8c 0d 0b c2 28 | . .T$>WW% ....(| 00002e00 20 20 50 25 3d 57 57 25 2b 31 3a c8 95 20 c1 54 | P%=WW%+1:.. .T| 00002e10 24 2c 50 25 2c 31 29 3c 3e 22 20 22 3a 50 25 2d |$,P%,1)<>" ":P%-| 00002e20 3d 31 3a ce 0d 0b cc 16 20 20 54 24 3d c2 54 24 |=1:..... T$=.T$| 00002e30 2c a9 28 54 24 29 2d 50 25 29 0d 0b d6 06 20 cc |,.(T$)-P%).... .| 00002e40 0d 0b e0 0b 20 20 54 24 3d 22 22 0d 0b ea 06 20 |.... T$="".... | 00002e50 cd 0d 0b f4 0a 20 59 25 2b 3d 31 0d 0b fe 0b fd |..... Y%+=1.....| 00002e60 20 54 24 3d 22 22 0d 0c 08 11 59 25 3d 57 59 43 | T$=""....Y%=WYC| 00002e70 25 2b 59 25 2a 31 38 0d 0c 12 0b f5 3a 54 24 3d |%+Y%*18.....:T$=| 00002e80 22 22 0d 0c 1c 10 20 e7 20 a9 53 24 3e 57 57 25 |"".... . .S$>WW%| 00002e90 20 8c 0d 0c 26 28 20 20 50 25 3d 57 57 25 2b 31 | ...&( P%=WW%+1| 00002ea0 3a c8 95 20 c1 53 24 2c 50 25 2c 31 29 3c 3e 22 |:.. .S$,P%,1)<>"| 00002eb0 20 22 3a 50 25 2d 3d 31 3a ce 0d 0c 30 23 20 20 | ":P%-=1:...0# | 00002ec0 54 24 3d c2 53 24 2c a9 28 53 24 29 2d 50 25 29 |T$=.S$,.(S$)-P%)| 00002ed0 3a 53 24 3d c0 53 24 2c 50 25 2d 31 29 0d 0c 3a |:S$=.S$,P%-1)..:| 00002ee0 06 20 cd 0d 0c 44 26 20 ec 20 57 58 43 25 2d 31 |. ...D& . WXC%-1| 00002ef0 36 2a a9 53 24 2c 59 25 3a f1 53 24 3a 59 25 2d |6*.S$,Y%:.S$:Y%-| 00002f00 3d 33 36 3a 53 24 3d 54 24 0d 0c 4e 0d fd 20 53 |=36:S$=T$..N.. S| 00002f10 24 3d 22 22 3a e1 0d 0c 58 05 3a 0d 0c 62 55 dd |$="":...X.:..bU.| 00002f20 20 f2 67 69 76 65 3a da 3a c8 99 22 4f 53 5f 53 | .give:.:.."OS_S| 00002f30 70 72 69 74 65 4f 70 22 2c 32 39 30 2c 43 53 50 |priteOp",290,CSP| 00002f40 25 2c 22 64 6f 6e 65 22 2c 38 36 34 2c 33 36 3a |%,"done",864,36:| 00002f50 ef 20 32 34 2c 36 38 38 3b 31 34 38 3b 31 32 34 |. 24,688;148;124| 00002f60 38 3b 37 36 34 3b 3a 54 24 3d 22 47 69 76 65 22 |8;764;:T$="Give"| 00002f70 0d 0c 6c 43 4f 42 25 3d a4 73 65 6c 5f 6f 62 6a |..lCOB%=.sel_obj| 00002f80 28 30 29 3a e7 20 4f 42 25 3d 31 30 30 20 21 79 |(0):. OB%=100 !y| 00002f90 70 6f 73 3d 34 36 38 3a 41 25 3d 31 33 31 3a d6 |pos=468:A%=131:.| 00002fa0 20 6d 65 73 73 61 67 65 3a f2 64 6f 6e 65 5f 77 | message:.done_w| 00002fb0 61 69 74 0d 0c 76 0e e7 20 4f 42 25 3c 39 39 20 |ait..v.. OB%<99 | 00002fc0 8c 0d 0c 80 13 20 21 79 70 6f 73 3d 37 30 30 3a |..... !ypos=700:| 00002fd0 41 25 3d 30 0d 0c 8a 18 20 f4 20 43 68 65 63 6b |A%=0.... . Check| 00002fe0 20 73 69 6c 6c 79 20 67 69 66 74 73 0d 0c 94 93 | silly gifts....| 00002ff0 20 e7 20 28 50 25 3d 33 20 80 20 28 4f 42 25 3d | . (P%=3 . (OB%=| 00003000 35 20 84 20 4f 42 25 3d 32 30 20 84 20 4f 42 25 |5 . OB%=20 . OB%| 00003010 3d 31 31 20 84 20 4f 42 25 3d 31 32 20 84 20 4f |=11 . OB%=12 . O| 00003020 42 25 3d 31 33 29 29 20 84 20 28 50 25 3d 34 20 |B%=13)) . (P%=4 | 00003030 80 20 28 4f 42 25 3d 36 20 84 20 4f 42 25 3d 37 |. (OB%=6 . OB%=7| 00003040 20 84 20 4f 42 25 3e 31 33 20 80 20 4f 42 25 3c | . OB%>13 . OB%<| 00003050 32 30 29 29 20 84 20 28 50 25 3d 37 20 80 20 4f |20)) . (P%=7 . O| 00003060 42 25 3d 38 29 20 84 20 28 50 25 3d 38 20 80 20 |B%=8) . (P%=8 . | 00003070 4f 42 25 3d 39 29 20 8c 20 41 25 3d 31 33 39 0d |OB%=9) . A%=139.| 00003080 0c 9e 1a 20 f4 20 43 68 65 63 6b 20 73 70 65 63 |... . Check spec| 00003090 69 61 6c 20 67 69 66 74 73 0d 0c a8 4f 20 e7 20 |ial gifts...O . | 000030a0 50 25 3d 33 20 80 20 4f 42 25 3d 31 30 20 41 25 |P%=3 . OB%=10 A%| 000030b0 3d 31 32 35 3a f2 63 68 5f 72 65 73 70 28 33 2c |=125:.ch_resp(3,| 000030c0 32 2c 38 32 29 3a f2 63 68 5f 72 65 73 70 28 33 |2,82):.ch_resp(3| 000030d0 2c 36 2c 38 35 29 3a f2 63 68 5f 72 65 73 70 28 |,6,85):.ch_resp(| 000030e0 33 2c 30 2c 31 32 33 29 0d 0c b2 61 20 e7 20 50 |3,0,123)...a . P| 000030f0 25 3d 37 20 80 20 4f 42 25 3d 39 20 41 25 3d 31 |%=7 . OB%=9 A%=1| 00003100 32 36 3a f2 63 68 5f 72 65 73 70 28 37 2c 30 2c |26:.ch_resp(7,0,| 00003110 31 32 33 29 3a f2 63 68 5f 72 65 73 70 28 37 2c |123):.ch_resp(7,| 00003120 32 2c 31 32 30 29 3a f2 63 68 5f 72 65 73 70 28 |2,120):.ch_resp(| 00003130 37 2c 33 2c 31 32 32 29 3a f2 63 68 5f 72 65 73 |7,3,122):.ch_res| 00003140 70 28 37 2c 36 2c 37 38 29 0d 0c bc 39 20 e7 20 |p(7,6,78)...9 . | 00003150 50 25 3d 37 20 80 20 4f 42 25 3d 36 20 41 25 3d |P%=7 . OB%=6 A%=| 00003160 31 32 38 3a f2 63 68 5f 72 65 73 70 28 50 25 2c |128:.ch_resp(P%,| 00003170 32 2c 31 32 31 29 3a 3f 28 93 2b 26 31 35 42 29 |2,121):?(.+&15B)| 00003180 3d 33 0d 0c c6 5c 20 e7 20 50 25 3d 37 20 80 20 |=3...\ . P%=7 . | 00003190 4f 42 25 3d 37 20 41 25 3d 31 32 39 3a 3f 28 93 |OB%=7 A%=129:?(.| 000031a0 2b 38 29 3d 30 3a e3 20 49 25 3d 30 20 b8 20 38 |+8)=0:. I%=0 . 8| 000031b0 3a f2 68 69 64 65 5f 71 75 65 73 28 49 25 2c 33 |:.hide_ques(I%,3| 000031c0 29 3a ed 3a f4 20 4d 65 72 63 65 6e 61 72 79 20 |):.:. Mercenary | 000031d0 67 69 76 65 73 20 6e 65 63 6b 6c 61 63 65 0d 0c |gives necklace..| 000031e0 d0 70 20 e7 20 50 25 3d 32 20 80 20 4f 42 25 3d |.p . P%=2 . OB%=| 000031f0 35 20 41 25 3d 31 32 37 3a f2 63 68 5f 72 65 73 |5 A%=127:.ch_res| 00003200 70 28 50 25 2c 32 2c 31 30 36 29 3a f2 63 68 5f |p(P%,2,106):.ch_| 00003210 72 65 73 70 28 50 25 2c 38 2c 31 30 38 29 3a 3f |resp(P%,8,108):?| 00003220 28 93 2b 26 31 36 30 29 2b 3d 31 3a f2 63 68 5f |(.+&160)+=1:.ch_| 00003230 72 65 73 70 28 35 2c 32 2c 3f 28 93 2b 26 31 36 |resp(5,2,?(.+&16| 00003240 30 29 29 3a 3f 28 93 2b 33 39 29 3d 35 33 0d 0c |0)):?(.+39)=53..| 00003250 da 3e 20 e7 20 50 25 3d 34 20 80 20 4f 42 25 3d |.> . P%=4 . OB%=| 00003260 38 20 41 25 3d 31 33 30 3a f2 63 68 5f 72 65 73 |8 A%=130:.ch_res| 00003270 70 28 50 25 2c 32 2c 38 38 29 3a f2 63 68 5f 72 |p(P%,2,88):.ch_r| 00003280 65 73 70 28 50 25 2c 35 2c 39 32 29 0d 0c e4 43 |esp(P%,5,92)...C| 00003290 20 e7 20 41 25 3d 30 20 80 20 50 25 3d 37 20 80 | . A%=0 . P%=7 .| 000032a0 20 3f 28 93 2b 39 29 3c 3e 32 34 37 20 41 25 3d | ?(.+9)<>247 A%=| 000032b0 31 33 35 20 8b 20 e7 20 41 25 3c 3e 31 33 39 20 |135 . . A%<>139 | 000032c0 3f 28 93 2b 4f 42 25 29 3d 32 35 34 2d 50 25 0d |?(.+OB%)=254-P%.| 000032d0 0c ee 17 20 e7 20 41 25 3d 30 20 41 25 3d 31 33 |... . A%=0 A%=13| 000032e0 32 2b b3 28 32 29 0d 0c f8 18 20 e7 20 4f 42 25 |2+.(2).... . OB%| 000032f0 3d 30 20 21 28 93 2b 26 31 35 30 29 3d 30 0d 0d |=0 !(.+&150)=0..| 00003300 02 1b 20 da 3a d6 20 6d 65 73 73 61 67 65 3a f2 |.. .:. message:.| 00003310 64 6f 6e 65 5f 77 61 69 74 0d 0d 0c 05 cd 0d 0d |done_wait.......| 00003320 16 1b ef 20 32 34 2c 36 38 38 3b 32 38 3b 31 32 |... 24,688;28;12| 00003330 34 38 3b 37 36 34 3b 3a e1 0d 0d 20 05 3a 0d 0d |48;764;:... .:..| 00003340 2a 17 dd 20 a4 73 65 6c 5f 6f 62 6a 28 49 25 29 |*.. .sel_obj(I%)| 00003350 3a ea 20 4f 25 0d 0d 34 32 4e 25 3d 30 3a e3 20 |:. O%..42N%=0:. | 00003360 41 25 3d 30 20 b8 20 33 31 3a e7 20 3f 28 93 2b |A%=0 . 31:. ?(.+| 00003370 41 25 29 3d 49 25 20 4f 42 25 28 4e 25 29 3d 41 |A%)=I% OB%(N%)=A| 00003380 25 3a 4e 25 2b 3d 31 0d 0d 3e 11 ed 3a e7 20 4e |%:N%+=1..>..:. N| 00003390 25 3d 30 20 3d 31 30 30 0d 0d 48 43 f2 77 70 72 |%=0 =100..HC.wpr| 000033a0 28 54 24 2c 37 34 38 29 3a 21 79 70 6f 73 3d 34 |(T$,748):!ypos=4| 000033b0 35 32 2b 4e 25 2a 31 36 3a e3 20 41 25 3d 30 20 |52+N%*16:. A%=0 | 000033c0 b8 20 33 31 3a e7 20 3f 28 93 2b 41 25 29 3d 49 |. 31:. ?(.+A%)=I| 000033d0 25 20 d6 20 6d 65 73 73 61 67 65 0d 0d 52 05 ed |% . message..R..| 000033e0 0d 0d 5c 22 42 42 25 3d 34 32 34 2d 4e 25 2a 31 |..\"BB%=424-N%*1| 000033f0 36 3a 4f 4f 25 3d 30 3a f2 72 65 6c 5f 6d 6f 75 |6:OO%=0:.rel_mou| 00003400 73 65 0d 0d 66 64 f5 3a c8 97 4d 58 25 2c 4d 59 |se..fd.:..MX%,MY| 00003410 25 2c 42 25 3a 4f 25 3d 30 3a e7 4d 58 25 3e 37 |%,B%:O%=0:.MX%>7| 00003420 31 32 80 4d 58 25 3c 31 32 32 34 20 8c 20 4f 25 |12.MX%<1224 . O%| 00003430 3d 4e 25 2b 31 3a f5 3a 4f 25 2d 3d 31 3a fd 4f |=N%+1:.:O%-=1:.O| 00003440 25 3d 30 20 84 20 4d 59 25 3e 42 42 25 2b 4f 25 |%=0 . MY%>BB%+O%| 00003450 2a 33 32 20 80 20 4d 59 25 3c 42 42 25 2b 35 36 |*32 . MY%<BB%+56| 00003460 2b 4f 25 2a 33 32 0d 0d 70 35 e7 20 4f 25 3c 3e |+O%*32..p5. O%<>| 00003470 4f 4f 25 20 80 20 4f 4f 25 3c 3e 30 20 c8 96 3a |OO% . OO%<>0 ..:| 00003480 c8 93 20 c8 90 20 37 31 32 2c 42 42 25 2b 4f 4f |.. .. 712,BB%+OO| 00003490 25 2a 33 32 2c 35 31 32 2c 32 38 0d 0d 7a 33 e7 |%*32,512,28..z3.| 000034a0 20 4f 25 3c 3e 4f 4f 25 20 80 20 4f 25 3c 3e 30 | O%<>OO% . O%<>0| 000034b0 20 c8 96 3a c8 93 20 c8 90 20 37 31 32 2c 42 42 | ..:.. .. 712,BB| 000034c0 25 2b 4f 25 2a 33 32 2c 35 31 32 2c 32 38 0d 0d |%+O%*32,512,28..| 000034d0 84 37 e7 20 4d 58 25 3e 38 36 34 20 80 20 4d 58 |.7. MX%>864 . MX| 000034e0 25 3c 31 30 36 30 20 80 20 4d 59 25 3e 34 34 20 |%<1060 . MY%>44 | 000034f0 80 20 4d 59 25 3c 31 34 38 20 80 20 42 25 3c 3e |. MY%<148 . B%<>| 00003500 30 20 3d 39 39 0d 0d 8e 19 4f 4f 25 3d 4f 25 3a |0 =99....OO%=O%:| 00003510 fd 42 25 3c 3e 30 20 80 20 4f 25 3c 3e 30 0d 0d |.B%<>0 . O%<>0..| 00003520 98 0f 3d 4f 42 25 28 4e 25 2d 4f 25 29 0d 0d a2 |..=OB%(N%-O%)...| 00003530 05 3a 0d 0d ac 17 dd 20 a4 6e 75 6d 5f 6f 62 6a |.:..... .num_obj| 00003540 28 49 25 29 3a ea 20 41 25 0d 0d b6 27 4e 25 3d |(I%):. A%...'N%=| 00003550 30 3a e3 20 41 25 3d 30 20 b8 20 33 31 3a e7 20 |0:. A%=0 . 31:. | 00003560 3f 28 93 2b 41 25 29 3d 49 25 20 4e 25 2b 3d 31 |?(.+A%)=I% N%+=1| 00003570 0d 0d c0 09 ed 3a 3d 4e 25 0d 0d ca 05 3a 0d 0d |.....:=N%....:..| 00003580 d4 10 dd 20 f2 64 6f 6e 65 5f 77 61 69 74 0d 0d |... .done_wait..| 00003590 de 36 f5 3a f2 6d 6f 75 73 65 3a fd 20 4d 58 25 |.6.:.mouse:. MX%| 000035a0 3e 38 36 34 20 80 20 4d 58 25 3c 31 30 36 30 20 |>864 . MX%<1060 | 000035b0 80 20 4d 59 25 3e 34 34 20 80 20 4d 59 25 3c 31 |. MY%>44 . MY%<1| 000035c0 34 38 3a e1 0d 0d e8 05 3a 0d 0d f2 2e dd 20 f2 |48:.....:..... .| 000035d0 63 68 5f 72 65 73 70 28 50 25 2c 51 25 2c 41 25 |ch_resp(P%,Q%,A%| 000035e0 29 3a 3f 28 93 2b 36 34 2b 50 25 2a 33 32 2b 51 |):?(.+64+P%*32+Q| 000035f0 25 29 3d 41 25 3a e1 0d 0d fc 05 3a 0d 0e 06 1f |%)=A%:.....:....| 00003600 dd 20 f2 72 65 76 65 61 6c 5f 71 75 65 73 28 51 |. .reveal_ques(Q| 00003610 25 29 3a ea 20 49 25 2c 51 4d 25 0d 0e 10 2d e7 |%):. I%,QM%...-.| 00003620 20 51 25 3d 30 20 51 4d 25 3d 36 30 20 8b 20 e7 | Q%=0 QM%=60 . .| 00003630 20 51 25 3d 31 20 51 4d 25 3d 37 31 20 8b 20 51 | Q%=1 QM%=71 . Q| 00003640 4d 25 3d 36 32 2b 51 25 0d 0e 1a 39 e3 20 49 25 |M%=62+Q%...9. I%| 00003650 3d 30 20 b8 20 38 3a e7 20 3f 28 93 2b 36 34 2b |=0 . 8:. ?(.+64+| 00003660 49 25 2a 33 32 2b 51 25 29 3c 3e 30 20 3f 28 93 |I%*32+Q%)<>0 ?(.| 00003670 2b 34 38 2b 49 25 2a 33 32 2b 51 25 29 3d 51 4d |+48+I%*32+Q%)=QM| 00003680 25 0d 0e 24 07 ed 3a e1 0d 0e 2e 05 3a 0d 0e 38 |%..$..:.....:..8| 00003690 2c dd 20 f2 68 69 64 65 5f 71 75 65 73 28 50 25 |,. .hide_ques(P%| 000036a0 2c 51 25 29 3a 3f 28 93 2b 34 38 2b 50 25 2a 33 |,Q%):?(.+48+P%*3| 000036b0 32 2b 51 25 29 3d 30 3a e1 0d 0e 42 05 3a 0d 0e |2+Q%)=0:...B.:..| 000036c0 4c 0c dd 20 f2 74 6f 77 65 72 0d 0e 56 57 da 3a |L.. .tower..VW.:| 000036d0 ff 22 49 72 6f 6e 4c 6f 61 64 20 3c 49 72 6f 6e |."IronLoad <Iron| 000036e0 4c 6f 72 64 24 44 69 72 3e 2e 54 6f 77 65 72 20 |Lord$Dir>.Tower | 000036f0 22 2b c3 7e 28 53 25 2b 26 35 41 30 29 3a 21 66 |"+.~(S%+&5A0):!f| 00003700 72 6f 6d 3d 53 25 3a 21 74 6f 3d 54 25 3a d6 20 |rom=S%:!to=T%:. | 00003710 63 6f 70 79 3a c8 94 20 21 66 72 6f 6d 2c 21 74 |copy:.. !from,!t| 00003720 6f 0d 0e 60 0a 5a 25 3d 30 3a f5 0d 0e 6a 9d d6 |o..`.Z%=0:...j..| 00003730 20 63 6f 70 79 3a f7 20 8d 54 7a 51 3a f2 72 65 | copy:. .TzQ:.re| 00003740 63 74 28 33 32 2c 34 36 34 2c 34 34 38 2c 32 36 |ct(32,464,448,26| 00003750 34 2c a3 29 3a e6 31 32 3a ec 20 31 31 32 2c 37 |4,.):.12:. 112,7| 00003760 30 30 3a f1 22 53 61 76 65 20 67 61 6d 65 22 3a |00:."Save game":| 00003770 ec 20 31 31 32 2c 36 36 34 3a f1 22 4c 6f 61 64 |. 112,664:."Load| 00003780 20 67 61 6d 65 22 3a ec 20 36 34 2c 36 32 38 3a | game":. 64,628:| 00003790 f1 22 52 61 69 73 65 20 61 72 6d 69 65 73 22 3a |."Raise armies":| 000037a0 ec 20 31 31 32 2c 35 39 32 3a f1 22 47 6f 20 74 |. 112,592:."Go t| 000037b0 6f 20 77 61 72 22 3a ec 31 37 36 2c 35 32 30 3a |o war":.176,520:| 000037c0 f1 22 4c 65 61 76 65 22 0d 0e 74 12 2a 49 72 6f |."Leave"..t.*Iro| 000037d0 6e 46 61 64 65 49 6e 20 31 35 0d 0e 7e 2e c8 97 |nFadeIn 15..~...| 000037e0 20 b8 20 33 38 34 2c 35 34 38 3a c8 97 20 ee 20 | . 384,548:.. . | 000037f0 32 3a f2 72 65 6c 5f 6d 6f 75 73 65 3a e6 33 2c |2:.rel_mouse:.3,| 00003800 31 33 3a 4f 4f 25 3d 30 0d 0e 88 68 f5 3a c8 97 |13:OO%=0...h.:..| 00003810 4d 58 25 2c 4d 59 25 2c 42 25 3a 4f 25 3d 30 3a |MX%,MY%,B%:O%=0:| 00003820 e7 4d 58 25 3e 36 30 80 4d 58 25 3c 34 35 32 20 |.MX%>60.MX%<452 | 00003830 8c 20 4f 25 3d 37 3a f5 3a 4f 25 2d 3d 31 3a fd |. O%=7:.:O%-=1:.| 00003840 4f 25 3d 30 20 84 20 4d 59 25 3e 34 34 38 2b 4f |O%=0 . MY%>448+O| 00003850 25 2a 33 36 20 80 20 4d 59 25 3c 34 38 38 2b 4f |%*36 . MY%<488+O| 00003860 25 2a 33 36 3a e7 20 4f 25 3d 32 20 4f 25 3d 30 |%*36:. O%=2 O%=0| 00003870 0d 0e 92 34 e7 20 4f 25 3c 3e 4f 4f 25 20 80 20 |...4. O%<>OO% . | 00003880 4f 4f 25 3c 3e 30 20 c8 96 3a c8 93 20 c8 90 20 |OO%<>0 ..:.. .. | 00003890 36 30 2c 34 35 32 2b 4f 4f 25 2a 33 36 2c 33 39 |60,452+OO%*36,39| 000038a0 32 2c 33 36 0d 0e 9c 32 e7 20 4f 25 3c 3e 4f 4f |2,36...2. O%<>OO| 000038b0 25 20 80 20 4f 25 3c 3e 30 20 c8 96 3a c8 93 20 |% . O%<>0 ..:.. | 000038c0 c8 90 20 36 30 2c 34 35 32 2b 4f 25 2a 33 36 2c |.. 60,452+O%*36,| 000038d0 33 39 32 2c 33 36 0d 0e a6 1e 4f 4f 25 3d 4f 25 |392,36....OO%=O%| 000038e0 3a fd 42 25 3c 3e 30 20 80 20 4f 25 3c 3e 30 3a |:.B%<>0 . O%<>0:| 000038f0 c8 97 20 87 0d 0e b0 15 c8 97 20 87 3a 2a 49 72 |.. ....... .:*Ir| 00003900 6f 6e 46 61 64 65 4f 75 74 0d 0e ba 19 e7 20 4f |onFadeOut..... O| 00003910 25 3c 3e 31 20 d6 20 63 6f 70 79 3a f7 20 8d 54 |%<>1 . copy:. .T| 00003920 7a 51 0d 0e c4 0b c8 8e 20 4f 25 20 ca 0d 0e ce |zQ...... O% ....| 00003930 13 c9 20 36 3a 20 f2 73 61 76 65 5f 67 61 6d 65 |.. 6: .save_game| 00003940 0d 0e d8 13 c9 20 35 3a 20 f2 6c 6f 61 64 5f 67 |..... 5: .load_g| 00003950 61 6d 65 0d 0e e2 16 c9 20 34 3a 20 f2 72 61 69 |ame..... 4: .rai| 00003960 73 65 5f 61 72 6d 69 65 73 0d 0e ec 0d c9 20 33 |se_armies..... 3| 00003970 3a 20 f2 77 61 72 0d 0e f6 0d c9 20 31 3a 20 5a |: .war..... 1: Z| 00003980 25 3d 32 0d 0f 00 05 cb 0d 0f 0a 0b fd 20 5a 25 |%=2.......... Z%| 00003990 3c 3e 30 0d 0f 14 21 56 25 3d 30 3a 41 25 3d 33 |<>0...!V%=0:A%=3| 000039a0 39 32 3a 42 25 3d 32 35 32 3a 43 25 3d 26 46 43 |92:B%=252:C%=&FC| 000039b0 3a da 3a e1 0d 0f 1e 05 3a 0d 0f 28 14 dd 20 f2 |:.:.....:..(.. .| 000039c0 73 61 76 65 5f 67 61 6d 65 3a ea 20 85 0d 0f 32 |save_game:. ...2| 000039d0 17 ee 20 85 20 ea 20 f2 66 69 6c 65 5f 65 72 72 |.. . . .file_err| 000039e0 6f 72 3a e1 0d 0f 3c 59 f2 72 65 63 74 28 33 30 |or:...<Y.rect(30| 000039f0 34 2c 32 33 36 2c 36 36 38 2c 33 32 34 2c a3 29 |4,236,668,324,.)| 00003a00 3a e6 31 32 3a ec 20 34 39 36 2c 35 34 30 3a f1 |:.12:. 496,540:.| 00003a10 22 53 61 76 65 20 67 61 6d 65 22 3a ef 34 2c 32 |"Save game":.4,2| 00003a20 38 2c 31 30 2c 31 39 2c 32 39 2c 31 31 2c 33 31 |8,10,19,29,11,31| 00003a30 2c 30 2c 32 3a fb 31 32 3a fb 31 32 39 0d 0f 46 |,0,2:.12:.129..F| 00003a40 27 f1 22 45 6e 74 65 72 20 66 69 6c 65 6e 61 6d |'."Enter filenam| 00003a50 65 20 3a 22 27 3a 2a 49 72 6f 6e 46 61 64 65 49 |e :"':*IronFadeI| 00003a60 6e 20 31 35 0d 0f 50 0c 2a 46 58 20 32 31 2c 30 |n 15..P.*FX 21,0| 00003a70 0d 0f 5a 19 f5 3a e8 8a 30 2c 34 29 22 22 46 24 |..Z..:..0,4)""F$| 00003a80 3a fd 20 46 24 3c 3e 22 22 0d 0f 64 2b ff 22 53 |:. F$<>""..d+."S| 00003a90 61 76 65 20 22 2b 46 24 2b 22 20 22 2b c3 7e 93 |ave "+F$+" "+.~.| 00003aa0 2b 22 2b 32 30 30 22 3a ff 22 53 74 61 6d 70 20 |+"+200":."Stamp | 00003ab0 22 2b 46 24 0d 0f 6e 21 ef 20 32 38 2c 30 2c 33 |"+F$..n!. 28,0,3| 00003ac0 31 2c 33 39 2c 30 2c 35 3a 2a 49 72 6f 6e 46 61 |1,39,0,5:*IronFa| 00003ad0 64 65 4f 75 74 0d 0f 78 05 e1 0d 0f 82 05 3a 0d |deOut..x......:.| 00003ae0 0f 8c 14 dd 20 f2 6c 6f 61 64 5f 67 61 6d 65 3a |.... .load_game:| 00003af0 ea 20 85 0d 0f 96 17 ee 20 85 20 ea 20 f2 66 69 |. ...... . . .fi| 00003b00 6c 65 5f 65 72 72 6f 72 3a e1 0d 0f a0 59 f2 72 |le_error:....Y.r| 00003b10 65 63 74 28 33 30 34 2c 32 33 36 2c 36 36 38 2c |ect(304,236,668,| 00003b20 33 32 34 2c a3 29 3a e6 31 32 3a ec 20 34 39 36 |324,.):.12:. 496| 00003b30 2c 35 34 30 3a f1 22 4c 6f 61 64 20 67 61 6d 65 |,540:."Load game| 00003b40 22 3a ef 34 2c 32 38 2c 31 30 2c 31 39 2c 32 39 |":.4,28,10,19,29| 00003b50 2c 31 31 2c 33 31 2c 30 2c 32 3a fb 31 32 3a fb |,11,31,0,2:.12:.| 00003b60 31 32 39 0d 0f aa 27 f1 22 45 6e 74 65 72 20 66 |129...'."Enter f| 00003b70 69 6c 65 6e 61 6d 65 20 3a 22 27 3a 2a 49 72 6f |ilename :"':*Iro| 00003b80 6e 46 61 64 65 49 6e 20 31 35 0d 0f b4 0c 2a 46 |nFadeIn 15....*F| 00003b90 58 20 32 31 2c 30 0d 0f be 19 f5 3a e8 8a 30 2c |X 21,0.....:..0,| 00003ba0 34 29 22 22 46 24 3a fd 20 46 24 3c 3e 22 22 0d |4)""F$:. F$<>"".| 00003bb0 0f c8 8a c8 99 22 4f 53 5f 46 69 6c 65 22 2c 35 |....."OS_File",5| 00003bc0 2c 46 24 20 b8 20 4f 54 25 2c 2c 2c 2c 4f 4c 25 |,F$ . OT%,,,,OL%| 00003bd0 3a e7 20 4f 54 25 3d 30 20 85 20 32 31 34 2c 22 |:. OT%=0 . 214,"| 00003be0 46 69 6c 65 20 27 22 2b 46 24 2b 22 27 20 6e 6f |File '"+F$+"' no| 00003bf0 74 20 66 6f 75 6e 64 22 20 8b 20 e7 20 4f 54 25 |t found" . . OT%| 00003c00 3c 3e 31 20 84 20 4f 4c 25 3c 3e 26 32 30 30 20 |<>1 . OL%<>&200 | 00003c10 85 20 32 31 34 2c 22 46 69 6c 65 20 27 22 2b 46 |. 214,"File '"+F| 00003c20 24 2b 22 27 20 69 73 20 6e 6f 74 20 61 20 73 61 |$+"' is not a sa| 00003c30 76 65 64 20 67 61 6d 65 22 0d 0f d2 17 ff 22 4c |ved game"....."L| 00003c40 6f 61 64 20 22 2b 46 24 2b 22 20 22 2b c3 7e 93 |oad "+F$+" "+.~.| 00003c50 0d 0f dc 17 e7 20 3f 28 93 2b 26 31 36 34 29 3d |..... ?(.+&164)=| 00003c60 31 20 5a 25 3d 31 30 0d 0f e6 21 ef 20 32 38 2c |1 Z%=10...!. 28,| 00003c70 30 2c 33 31 2c 33 39 2c 30 2c 35 3a 2a 49 72 6f |0,31,39,0,5:*Iro| 00003c80 6e 46 61 64 65 4f 75 74 0d 0f f0 05 e1 0d 0f fa |nFadeOut........| 00003c90 05 3a 0d 10 04 11 dd 20 f2 66 69 6c 65 5f 65 72 |.:..... .file_er| 00003ca0 72 6f 72 0d 10 0e 25 db 3a 87 3a f1 8a 34 2c 30 |ror...%.:.:..4,0| 00003cb0 29 3b 22 2a 2a 20 45 72 72 6f 72 20 2a 2a 22 3a |);"** Error **":| 00003cc0 2a 46 58 20 32 31 2c 30 0d 10 18 1c 58 25 3d 39 |*FX 21,0....X%=9| 00003cd0 2d a9 28 f6 24 29 2f 32 3a e7 20 58 25 3c 30 20 |-.(.$)/2:. X%<0 | 00003ce0 58 25 3d 30 0d 10 22 3b f1 8a 58 25 2c 32 29 f6 |X%=0..";..X%,2).| 00003cf0 24 3a f2 72 65 6c 5f 6d 6f 75 73 65 3a f5 3a c8 |$:.rel_mouse:.:.| 00003d00 97 20 4d 58 25 2c 4d 59 25 2c 42 25 3a fd 20 42 |. MX%,MY%,B%:. B| 00003d10 25 3c 3e 30 20 84 20 a6 28 30 29 3c 3e 2d 31 0d |%<>0 . .(0)<>-1.| 00003d20 10 2c 21 ef 20 32 38 2c 30 2c 33 31 2c 33 39 2c |.,!. 28,0,31,39,| 00003d30 30 2c 35 3a 2a 49 72 6f 6e 46 61 64 65 4f 75 74 |0,5:*IronFadeOut| 00003d40 0d 10 36 05 e1 0d 10 40 05 3a 0d 10 4a 13 dd 20 |..6....@.:..J.. | 00003d50 f2 72 61 69 73 65 5f 61 72 6d 69 65 73 0d 10 54 |.raise_armies..T| 00003d60 24 4e 25 3d 30 3a e3 49 25 3d 26 31 35 35 b8 26 |$N%=0:.I%=&155.&| 00003d70 31 35 42 3a 4e 25 2b 3d 3f 28 93 2b 49 25 29 3a |15B:N%+=?(.+I%):| 00003d80 ed 0d 10 5e 39 f2 72 65 63 74 28 33 32 30 2c 32 |...^9.rect(320,2| 00003d90 36 38 2c 36 34 30 2c 32 36 34 2c a3 29 3a 57 57 |68,640,264,.):WW| 00003da0 25 3d 31 38 3a 57 58 43 25 3d 36 34 30 3a 57 59 |%=18:WXC%=640:WY| 00003db0 43 25 3d 34 30 30 3a e6 31 32 0d 10 68 2b e7 20 |C%=400:.12..h+. | 00003dc0 4e 25 3d 31 20 4e 24 3d 22 31 20 61 72 6d 79 2e |N%=1 N$="1 army.| 00003dd0 22 20 8b 20 4e 24 3d c3 4e 25 2b 22 20 61 72 6d |" . N$=.N%+" arm| 00003de0 69 65 73 2e 22 0d 10 72 70 e7 20 4e 25 3d 30 20 |ies."..rp. N%=0 | 00003df0 f2 77 77 70 72 28 22 59 6f 75 20 68 61 76 65 20 |.wwpr("You have | 00003e00 6e 6f 74 20 79 65 74 20 6d 61 6e 61 67 65 64 20 |not yet managed | 00003e10 74 6f 20 72 61 69 73 65 20 61 6e 79 20 61 72 6d |to raise any arm| 00003e20 69 65 73 2e 22 29 20 8b 20 f2 77 77 70 72 28 22 |ies.") . .wwpr("| 00003e30 59 6f 75 20 61 72 65 20 63 75 72 72 65 6e 74 6c |You are currentl| 00003e40 79 20 61 62 6c 65 20 74 6f 20 72 61 69 73 65 20 |y able to raise | 00003e50 22 2b 4e 24 29 0d 10 7c 12 2a 49 72 6f 6e 46 61 |"+N$)..|.*IronFa| 00003e60 64 65 49 6e 20 31 35 0d 10 86 17 f2 6d 6f 75 73 |deIn 15.....mous| 00003e70 65 3a 2a 49 72 6f 6e 46 61 64 65 4f 75 74 0d 10 |e:*IronFadeOut..| 00003e80 90 05 e1 0d 10 9a 05 3a 0d 10 a4 0a dd 20 f2 77 |.......:..... .w| 00003e90 61 72 0d 10 ae 24 4e 25 3d 30 3a e3 49 25 3d 26 |ar...$N%=0:.I%=&| 00003ea0 31 35 35 b8 26 31 35 42 3a 4e 25 2b 3d 3f 28 93 |155.&15B:N%+=?(.| 00003eb0 2b 49 25 29 3a ed 0d 10 b8 ca e7 20 4e 25 3d 30 |+I%):...... N%=0| 00003ec0 20 f2 72 65 63 74 28 33 33 36 2c 33 30 30 2c 36 | .rect(336,300,6| 00003ed0 30 38 2c 32 30 30 2c a3 29 3a 57 57 25 3d 31 38 |08,200,.):WW%=18| 00003ee0 3a 57 58 43 25 3d 36 34 30 3a 57 59 43 25 3d 34 |:WXC%=640:WYC%=4| 00003ef0 30 30 3a e6 31 32 3a f2 77 77 70 72 28 22 59 6f |00:.12:.wwpr("Yo| 00003f00 75 20 63 61 6e 6e 6f 74 20 79 65 74 20 67 6f 20 |u cannot yet go | 00003f10 74 6f 20 77 61 72 2c 20 61 73 20 79 6f 75 20 68 |to war, as you h| 00003f20 61 76 65 20 6e 6f 74 20 72 61 69 73 65 64 20 61 |ave not raised a| 00003f30 6e 79 20 61 72 6d 69 65 73 2e 22 29 20 8b 20 f2 |ny armies.") . .| 00003f40 72 65 63 74 28 32 38 38 2c 33 36 38 2c 37 30 34 |rect(288,368,704| 00003f50 2c 37 32 2c a3 29 3a e6 31 32 3a ec 33 32 30 2c |,72,.):.12:.320,| 00003f60 34 31 36 3a f1 22 50 72 65 70 61 72 65 20 66 6f |416:."Prepare fo| 00003f70 72 20 62 61 74 74 6c 65 20 21 22 3a 5a 25 3d 38 |r battle !":Z%=8| 00003f80 0d 10 c2 12 2a 49 72 6f 6e 46 61 64 65 49 6e 20 |....*IronFadeIn | 00003f90 31 35 0d 10 cc 17 f2 6d 6f 75 73 65 3a 2a 49 72 |15.....mouse:*Ir| 00003fa0 6f 6e 46 61 64 65 4f 75 74 0d 10 d6 05 e1 0d 10 |onFadeOut.......| 00003fb0 e0 05 3a 0d 10 ea 23 dd 20 f2 72 65 63 74 28 58 |..:...#. .rect(X| 00003fc0 25 2c 59 25 2c 57 25 2c 44 25 2c 4c 25 29 3a ea |%,Y%,W%,D%,L%):.| 00003fd0 20 43 25 2c 4e 25 0d 10 f4 59 e7 20 4c 25 20 e6 | C%,N%...Y. L% .| 00003fe0 31 32 3a ec 20 58 25 2c 59 25 2d 34 3a df 20 58 |12:. X%,Y%-4:. X| 00003ff0 25 2b 57 25 2b 34 2c 59 25 2d 34 3a df 20 58 25 |%+W%+4,Y%-4:. X%| 00004000 2b 57 25 2b 34 2c 59 25 2b 44 25 3a e6 31 31 3a |+W%+4,Y%+D%:.11:| 00004010 c8 92 20 58 25 2d 34 2c 59 25 2d 34 3a c8 92 20 |.. X%-4,Y%-4:.. | 00004020 58 25 2b 57 25 2b 34 2c 59 25 2b 44 25 2b 34 0d |X%+W%+4,Y%+D%+4.| 00004030 10 fe 65 f3 20 4e 25 3a e3 20 4c 25 3d 31 20 b8 |..e. N%:. L%=1 .| 00004040 20 4e 25 3a f3 20 43 25 3a e6 20 43 25 3a c8 93 | N%:. C%:. C%:..| 00004050 20 58 25 2c 59 25 2c 57 25 2c 44 25 3a 58 25 2b | X%,Y%,W%,D%:X%+| 00004060 3d 34 3a 59 25 2b 3d 34 3a 57 25 2d 3d 38 3a 44 |=4:Y%+=4:W%-=8:D| 00004070 25 2d 3d 38 3a ed 3a f3 20 43 25 3a e6 20 43 25 |%-=8:.:. C%:. C%| 00004080 3a c8 93 20 c8 90 20 58 25 2c 59 25 2c 57 25 2c |:.. .. X%,Y%,W%,| 00004090 44 25 3a e1 0d 11 08 05 3a 0d 11 12 14 f4 20 44 |D%:.....:..... D| 000040a0 61 74 61 20 66 6f 72 20 62 6f 78 65 73 0d 11 1c |ata for boxes...| 000040b0 14 dc 20 34 2c 31 33 2c 31 33 2c 31 34 2c 38 2c |.. 4,13,13,14,8,| 000040c0 37 0d 11 26 1d dc 20 37 2c 38 2c 31 34 2c 31 33 |7..&.. 7,8,14,13| 000040d0 2c 31 33 2c 31 32 2c 31 31 2c 30 2c 31 35 0d 11 |,13,12,11,0,15..| 000040e0 30 11 dc 20 34 2c 31 2c 32 2c 33 2c 34 2c 36 0d |0.. 4,1,2,3,4,6.| 000040f0 11 3a 11 dc 20 34 2c 34 2c 34 2c 33 2c 32 2c 31 |.:.. 4,4,4,3,2,1| 00004100 0d 11 44 10 dc 20 33 2c 31 31 2c 38 2c 37 2c 36 |..D.. 3,11,8,7,6| 00004110 0d 11 4e 05 3a 0d 11 58 0a dd 20 f2 61 73 6d 0d |..N.:..X.. .asm.| 00004120 11 62 20 73 70 3d 31 33 3a 6c 69 6e 6b 3d 31 34 |.b sp=13:link=14| 00004130 3a 4f 53 5f 57 72 69 74 65 49 3d 26 31 30 30 0d |:OS_WriteI=&100.| 00004140 11 6c 12 e3 20 4f 25 3d 30 20 b8 20 32 20 88 20 |.l.. O%=0 . 2 . | 00004150 32 0d 11 76 0c 50 25 3d 63 6f 64 65 25 0d 11 80 |2..v.P%=code%...| 00004160 0b 5b 4f 50 54 20 4f 25 0d 11 8a 0c 2e 6c 6f 61 |.[OPT O%.....loa| 00004170 64 70 69 63 0d 11 94 2f 4c 44 52 20 52 31 31 2c |dpic.../LDR R11,| 00004180 73 63 72 61 64 64 32 3a 4c 44 52 20 52 31 32 2c |scradd2:LDR R12,| 00004190 73 63 72 61 64 64 3a 4d 4f 56 20 52 31 30 2c 23 |scradd:MOV R10,#| 000041a0 31 39 34 0d 11 9e 09 2e 70 63 6d 76 0d 11 a8 d7 |194.....pcmv....| 000041b0 4c 44 52 42 20 52 30 2c 5b 52 31 31 5d 2c 23 31 |LDRB R0,[R11],#1| 000041c0 3a 53 54 52 42 20 52 30 2c 5b 52 31 32 5d 2c 23 |:STRB R0,[R12],#| 000041d0 31 3a 4c 44 52 42 20 52 30 2c 5b 52 31 31 5d 2c |1:LDRB R0,[R11],| 000041e0 23 31 3a 53 54 52 42 20 52 30 2c 5b 52 31 32 5d |#1:STRB R0,[R12]| 000041f0 2c 23 31 3a 4c 44 4d 49 41 20 52 31 31 21 2c 7b |,#1:LDMIA R11!,{| 00004200 52 30 2d 52 38 7d 3a 53 54 4d 49 41 20 52 31 32 |R0-R8}:STMIA R12| 00004210 21 2c 7b 52 30 2d 52 38 7d 3a 4c 44 4d 49 41 20 |!,{R0-R8}:LDMIA | 00004220 52 31 31 21 2c 7b 52 30 2d 52 39 7d 3a 53 54 4d |R11!,{R0-R9}:STM| 00004230 49 41 20 52 31 32 21 2c 7b 52 30 2d 52 39 7d 3a |IA R12!,{R0-R9}:| 00004240 4c 44 52 42 20 52 30 2c 5b 52 31 31 5d 2c 23 31 |LDRB R0,[R11],#1| 00004250 3a 53 54 52 42 20 52 30 2c 5b 52 31 32 5d 2c 23 |:STRB R0,[R12],#| 00004260 31 3a 4c 44 52 42 20 52 30 2c 5b 52 31 31 5d 2c |1:LDRB R0,[R11],| 00004270 23 31 3a 53 54 52 42 20 52 30 2c 5b 52 31 32 5d |#1:STRB R0,[R12]| 00004280 2c 23 31 0d 11 b2 2c 41 44 44 20 52 31 32 2c 52 |,#1...,ADD R12,R| 00004290 31 32 2c 23 38 30 3a 53 55 42 53 20 52 31 30 2c |12,#80:SUBS R10,| 000042a0 52 31 30 2c 23 31 3a 42 4e 45 20 70 63 6d 76 0d |R10,#1:BNE pcmv.| 000042b0 11 bc 0f 4d 4f 56 20 50 43 2c 6c 69 6e 6b 0d 11 |...MOV PC,link..| 000042c0 c6 18 2e 73 63 72 61 64 64 20 45 51 55 44 20 53 |...scradd EQUD S| 000042d0 25 2b 26 31 45 32 0d 11 d0 16 2e 73 63 72 61 64 |%+&1E2.....scrad| 000042e0 64 32 20 45 51 55 44 20 54 25 2b 32 0d 11 da 1d |d2 EQUD T%+2....| 000042f0 5c 20 57 61 69 74 20 66 6f 72 20 52 31 20 66 72 |\ Wait for R1 fr| 00004300 61 6d 65 20 73 79 6e 63 73 0d 11 e4 15 2e 64 65 |ame syncs.....de| 00004310 6c 61 79 20 4d 4f 56 20 52 30 2c 23 31 39 0d 11 |lay MOV R0,#19..| 00004320 ee 3c 2e 64 65 6c 6c 70 20 53 57 49 20 22 4f 53 |.<.dellp SWI "OS| 00004330 5f 42 79 74 65 22 3a 53 55 42 53 20 52 33 2c 52 |_Byte":SUBS R3,R| 00004340 33 2c 23 31 3a 42 4e 45 20 64 65 6c 6c 70 3a 4d |3,#1:BNE dellp:M| 00004350 4f 56 20 50 43 2c 6c 69 6e 6b 0d 11 f8 15 5c 20 |OV PC,link....\ | 00004360 44 72 61 77 20 62 61 63 6b 67 72 6f 75 6e 64 0d |Draw background.| 00004370 12 02 18 2e 64 72 74 62 6c 20 4c 44 52 20 52 37 |....drtbl LDR R7| 00004380 2c 70 73 70 61 64 64 0d 12 0c 27 4d 4f 56 20 52 |,pspadd...'MOV R| 00004390 30 2c 23 31 31 32 3a 4d 4f 56 20 52 31 2c 23 32 |0,#112:MOV R1,#2| 000043a0 3a 53 57 49 20 22 4f 53 5f 42 79 74 65 22 0d 12 |:SWI "OS_Byte"..| 000043b0 16 4f 4d 4f 56 20 52 30 2c 23 32 38 30 3a 4d 4f |.OMOV R0,#280:MO| 000043c0 56 20 52 31 2c 52 37 3a 41 44 52 20 52 32 2c 73 |V R1,R7:ADR R2,s| 000043d0 6e 61 6d 65 3a 4d 4f 56 20 52 33 2c 23 34 38 3a |name:MOV R3,#48:| 000043e0 53 54 52 20 52 33 2c 5b 52 32 5d 3a 53 57 49 20 |STR R3,[R2]:SWI | 000043f0 22 4f 53 5f 53 70 72 69 74 65 4f 70 22 0d 12 20 |"OS_SpriteOp".. | 00004400 33 4d 4f 56 20 52 30 2c 23 33 34 3a 41 44 44 20 |3MOV R0,#34:ADD | 00004410 52 30 2c 52 30 2c 23 35 31 32 3a 4d 4f 56 20 52 |R0,R0,#512:MOV R| 00004420 34 2c 23 38 30 30 3a 4d 4f 56 20 52 35 2c 23 38 |4,#800:MOV R5,#8| 00004430 0d 12 2a 17 2e 64 62 67 6c 70 20 4d 4f 56 20 52 |..*..dbglp MOV R| 00004440 33 2c 23 31 32 30 30 0d 12 34 50 2e 64 62 67 6c |3,#1200..4P.dbgl| 00004450 70 32 20 53 57 49 20 22 4f 53 5f 53 70 72 69 74 |p2 SWI "OS_Sprit| 00004460 65 4f 70 22 3a 53 55 42 53 20 52 33 2c 52 33 2c |eOp":SUBS R3,R3,| 00004470 23 38 30 3a 42 50 4c 20 64 62 67 6c 70 32 3a 53 |#80:BPL dbglp2:S| 00004480 55 42 53 20 52 34 2c 52 34 2c 23 38 30 3a 42 50 |UBS R4,R4,#80:BP| 00004490 4c 20 64 62 67 6c 70 0d 12 3e 59 4c 44 52 42 20 |L dbglp..>YLDRB | 000044a0 52 30 2c 5b 52 36 5d 2c 23 31 3a 4d 4f 56 20 52 |R0,[R6],#1:MOV R| 000044b0 38 2c 52 30 2c 4c 53 4c 23 38 3a 4c 44 52 42 20 |8,R0,LSL#8:LDRB | 000044c0 52 30 2c 5b 52 36 5d 2c 23 31 3a 84 52 20 52 38 |R0,[R6],#1:.R R8| 000044d0 2c 52 38 2c 52 30 3a 4d 4f 56 20 52 39 2c 23 33 |,R8,R0:MOV R9,#3| 000044e0 34 3a 41 44 44 20 52 39 2c 52 39 2c 23 32 35 36 |4:ADD R9,R9,#256| 000044f0 0d 12 48 7c 2e 64 70 6c 6c 70 20 4c 44 52 42 20 |..H|.dpllp LDRB | 00004500 52 30 2c 5b 52 36 5d 2c 23 31 3a 4d 4f 56 20 52 |R0,[R6],#1:MOV R| 00004510 33 2c 52 30 2c 4c 53 4c 23 31 30 3a 4c 44 52 42 |3,R0,LSL#10:LDRB| 00004520 20 52 30 2c 5b 52 36 5d 2c 23 31 3a 84 52 20 52 | R0,[R6],#1:.R R| 00004530 33 2c 52 33 2c 52 30 2c 4c 53 4c 23 32 3a 4c 44 |3,R3,R0,LSL#2:LD| 00004540 52 42 20 52 30 2c 5b 52 36 5d 2c 23 31 3a 4d 4f |RB R0,[R6],#1:MO| 00004550 56 20 52 34 2c 52 30 2c 4c 53 4c 23 32 3a 52 53 |V R4,R0,LSL#2:RS| 00004560 42 20 52 34 2c 52 34 2c 23 37 39 36 0d 12 52 8c |B R4,R4,#796..R.| 00004570 4c 44 52 42 20 52 30 2c 5b 52 36 5d 2c 23 31 3a |LDRB R0,[R6],#1:| 00004580 41 44 52 20 52 31 2c 73 6e 61 6d 65 3a 4d 4f 56 |ADR R1,sname:MOV| 00004590 20 52 32 2c 23 34 3a 53 57 49 20 22 4f 53 5f 43 | R2,#4:SWI "OS_C| 000045a0 6f 6e 76 65 72 74 43 61 72 64 69 6e 61 6c 31 22 |onvertCardinal1"| 000045b0 3a 4d 4f 56 20 52 32 2c 52 30 3a 4d 4f 56 20 52 |:MOV R2,R0:MOV R| 000045c0 31 2c 52 37 3a 4d 4f 56 20 52 30 2c 52 39 3a 53 |1,R7:MOV R0,R9:S| 000045d0 57 49 20 22 4f 53 5f 53 70 72 69 74 65 4f 70 22 |WI "OS_SpriteOp"| 000045e0 3a 53 55 42 53 20 52 38 2c 52 38 2c 23 31 3a 42 |:SUBS R8,R8,#1:B| 000045f0 4e 45 20 64 70 6c 6c 70 0d 12 5c 33 4d 4f 56 20 |NE dpllp..\3MOV | 00004600 52 30 2c 23 31 31 32 3a 4d 4f 56 20 52 31 2c 23 |R0,#112:MOV R1,#| 00004610 31 3a 53 57 49 20 22 4f 53 5f 42 79 74 65 22 3a |1:SWI "OS_Byte":| 00004620 4d 4f 56 20 50 43 2c 6c 69 6e 6b 0d 12 66 11 2e |MOV PC,link..f..| 00004630 73 6e 61 6d 65 20 45 51 55 44 20 30 0d 12 70 11 |sname EQUD 0..p.| 00004640 5c 20 43 6f 70 79 20 73 63 72 65 65 6e 0d 12 7a |\ Copy screen..z| 00004650 45 2e 63 6f 70 79 20 53 54 4d 46 44 20 28 73 70 |E.copy STMFD (sp| 00004660 29 21 2c 7b 52 36 2d 52 31 32 2c 6c 69 6e 6b 7d |)!,{R6-R12,link}| 00004670 3a 4d 4f 56 20 52 30 2c 23 32 30 30 3a 4c 44 52 |:MOV R0,#200:LDR| 00004680 20 52 31 2c 66 72 6f 6d 3a 4c 44 52 20 52 32 2c | R1,from:LDR R2,| 00004690 74 6f 0d 12 84 ce 2e 63 6c 70 20 4c 44 4d 49 41 |to.....clp LDMIA| 000046a0 20 52 31 21 2c 7b 52 33 2d 52 31 32 7d 3a 53 54 | R1!,{R3-R12}:ST| 000046b0 4d 49 41 20 52 32 21 2c 7b 52 33 2d 52 31 32 7d |MIA R2!,{R3-R12}| 000046c0 3a 4c 44 4d 49 41 20 52 31 21 2c 7b 52 33 2d 52 |:LDMIA R1!,{R3-R| 000046d0 31 32 7d 3a 53 54 4d 49 41 20 52 32 21 2c 7b 52 |12}:STMIA R2!,{R| 000046e0 33 2d 52 31 32 7d 3a 4c 44 4d 49 41 20 52 31 21 |3-R12}:LDMIA R1!| 000046f0 2c 7b 52 33 2d 52 31 32 7d 3a 53 54 4d 49 41 20 |,{R3-R12}:STMIA | 00004700 52 32 21 2c 7b 52 33 2d 52 31 32 7d 3a 4c 44 4d |R2!,{R3-R12}:LDM| 00004710 49 41 20 52 31 21 2c 7b 52 33 2d 52 31 32 7d 3a |IA R1!,{R3-R12}:| 00004720 53 54 4d 49 41 20 52 32 21 2c 7b 52 33 2d 52 31 |STMIA R2!,{R3-R1| 00004730 32 7d 3a 53 55 42 53 20 52 30 2c 52 30 2c 23 31 |2}:SUBS R0,R0,#1| 00004740 3a 42 4e 45 20 63 6c 70 3a 4c 44 4d 46 44 20 28 |:BNE clp:LDMFD (| 00004750 73 70 29 21 2c 7b 52 36 2d 52 31 32 2c 50 43 7d |sp)!,{R6-R12,PC}| 00004760 0d 12 8e 05 5c 0d 12 98 13 2e 66 72 6f 6d 20 45 |....\.....from E| 00004770 51 55 44 20 4d 41 50 25 0d 12 a2 0f 2e 74 6f 20 |QUD MAP%.....to | 00004780 45 51 55 44 20 53 25 0d 12 ac 11 2e 73 61 64 64 |EQUD S%.....sadd| 00004790 20 45 51 55 44 20 53 25 0d 12 b6 11 2e 74 61 64 | EQUD S%.....tad| 000047a0 64 20 45 51 55 44 20 54 25 0d 12 c0 10 2e 62 61 |d EQUD T%.....ba| 000047b0 6e 6b 20 45 51 55 44 20 32 0d 12 ca 8a 2e 67 6c |nk EQUD 2.....gl| 000047c0 74 61 62 20 45 51 55 44 20 43 53 50 25 2b 26 31 |tab EQUD CSP%+&1| 000047d0 46 38 43 3a 45 51 55 44 20 43 53 50 25 2b 26 32 |F8C:EQUD CSP%+&2| 000047e0 34 46 38 3a 45 51 55 44 20 43 53 50 25 2b 26 32 |4F8:EQUD CSP%+&2| 000047f0 41 36 34 3a 45 51 55 44 20 43 53 50 25 2b 26 32 |A64:EQUD CSP%+&2| 00004800 46 44 30 3a 45 51 55 44 20 43 53 50 25 2b 26 33 |FD0:EQUD CSP%+&3| 00004810 35 33 43 3a 45 51 55 44 20 43 53 50 25 2b 26 33 |53C:EQUD CSP%+&3| 00004820 41 41 38 3a 45 51 55 44 20 43 53 50 25 2b 26 34 |AA8:EQUD CSP%+&4| 00004830 30 31 34 3a 45 51 55 44 20 43 53 50 25 2b 26 34 |014:EQUD CSP%+&4| 00004840 35 38 30 0d 12 d4 0c 5c 20 47 61 6c 6c 6f 70 0d |580....\ Gallop.| 00004850 12 de 34 2e 67 61 6c 6c 6f 70 20 53 54 4d 46 44 |..4.gallop STMFD| 00004860 20 28 73 70 29 21 2c 7b 6c 69 6e 6b 7d 3a 4d 4f | (sp)!,{link}:MO| 00004870 56 20 52 31 32 2c 52 30 3a 4d 4f 56 20 52 31 31 |V R12,R0:MOV R11| 00004880 2c 52 31 0d 12 e8 44 4c 44 52 20 52 39 2c 5b 52 |,R1...DLDR R9,[R| 00004890 31 32 5d 2c 23 34 3a 4c 44 52 20 52 31 30 2c 5b |12],#4:LDR R10,[| 000048a0 52 31 32 5d 2c 23 34 3a 4d 4f 56 20 52 30 2c 23 |R12],#4:MOV R0,#| 000048b0 34 3a 53 54 52 20 52 30 2c 77 78 69 3a 53 54 52 |4:STR R0,wxi:STR| 000048c0 20 52 30 2c 77 79 69 0d 12 f2 6e 53 55 42 20 52 | R0,wyi...nSUB R| 000048d0 37 2c 52 39 2c 23 33 32 3a 43 4d 50 20 52 37 2c |7,R9,#32:CMP R7,| 000048e0 23 33 32 3a 4d 4f 56 4c 45 20 52 37 2c 23 33 32 |#32:MOVLE R7,#32| 000048f0 3a 43 4d 50 20 52 37 2c 23 31 30 32 30 3a 4d 4f |:CMP R7,#1020:MO| 00004900 56 47 54 20 52 37 2c 23 31 30 32 30 3a 53 55 42 |VGT R7,#1020:SUB| 00004910 20 52 38 2c 52 31 30 2c 23 33 32 3a 43 4d 50 20 | R8,R10,#32:CMP | 00004920 52 38 2c 23 36 30 34 3a 4d 4f 56 47 54 20 52 38 |R8,#604:MOVGT R8| 00004930 2c 23 36 30 34 0d 12 fc 76 41 44 44 20 52 30 2c |,#604...vADD R0,| 00004940 52 37 2c 23 31 32 34 3a 41 44 44 20 52 31 2c 52 |R7,#124:ADD R1,R| 00004950 38 2c 23 38 30 3a 84 52 20 52 30 2c 52 30 2c 52 |8,#80:.R R0,R0,R| 00004960 31 2c 4c 53 4c 23 31 36 3a 53 54 52 20 52 30 2c |1,LSL#16:STR R0,| 00004970 73 74 77 2b 34 3a 41 44 44 20 52 30 2c 52 30 2c |stw+4:ADD R0,R0,| 00004980 23 26 34 30 30 30 30 3a 41 44 44 20 52 30 2c 52 |#&40000:ADD R0,R| 00004990 30 2c 23 34 3a 53 54 52 20 52 30 2c 73 74 77 2b |0,#4:STR R0,stw+| 000049a0 38 3a 4d 4f 56 20 52 36 2c 23 30 0d 13 06 12 2e |8:MOV R6,#0.....| 000049b0 67 61 6c 70 31 20 42 4c 20 63 6f 70 79 0d 13 10 |galp1 BL copy...| 000049c0 12 5c 20 4c 69 74 74 6c 65 20 48 6f 72 73 65 0d |.\ Little Horse.| 000049d0 13 1a 4a 4c 44 52 42 20 52 30 2c 5b 52 31 32 5d |..JLDRB R0,[R12]| 000049e0 2c 23 31 3a 54 45 51 20 52 30 2c 23 26 46 46 3a |,#1:TEQ R0,#&FF:| 000049f0 42 45 51 20 6e 6f 6c 68 3a 4c 44 52 20 52 32 2c |BEQ nolh:LDR R2,| 00004a00 67 73 70 61 64 64 3a 41 44 44 20 52 32 2c 52 32 |gspadd:ADD R2,R2| 00004a10 2c 52 30 2c 4c 53 4c 23 32 0d 13 24 5c 4d 4f 56 |,R0,LSL#2..$\MOV| 00004a20 20 52 30 2c 23 33 34 3a 41 44 44 20 52 30 2c 52 | R0,#34:ADD R0,R| 00004a30 30 2c 23 35 31 32 3a 4c 44 52 20 52 31 2c 63 73 |0,#512:LDR R1,cs| 00004a40 70 61 64 64 3a 4d 4f 56 20 52 33 2c 52 39 3a 4d |padd:MOV R3,R9:M| 00004a50 4f 56 20 52 34 2c 52 31 30 3a 4d 4f 56 20 52 35 |OV R4,R10:MOV R5| 00004a60 2c 23 38 3a 53 57 49 20 22 4f 53 5f 53 70 72 69 |,#8:SWI "OS_Spri| 00004a70 74 65 4f 70 22 0d 13 2e 0f 5c 20 42 69 67 20 68 |teOp"....\ Big h| 00004a80 6f 72 73 65 0d 13 38 09 2e 6e 6f 6c 68 0d 13 42 |orse..8..nolh..B| 00004a90 da 41 44 52 20 52 30 2c 73 74 77 3a 41 44 44 20 |.ADR R0,stw:ADD | 00004aa0 52 30 2c 52 30 2c 23 33 3a 4d 4f 56 20 52 31 2c |R0,R0,#3:MOV R1,| 00004ab0 23 39 3a 4c 44 52 20 52 32 2c 77 78 69 3a 54 45 |#9:LDR R2,wxi:TE| 00004ac0 51 20 52 32 2c 23 31 32 34 3a 53 57 49 4e 45 20 |Q R2,#124:SWINE | 00004ad0 22 4f 53 5f 57 72 69 74 65 4e 22 3a 4d 4f 56 20 |"OS_WriteN":MOV | 00004ae0 52 30 2c 23 33 34 3a 41 44 44 20 52 30 2c 52 30 |R0,#34:ADD R0,R0| 00004af0 2c 23 35 31 32 3a 41 44 52 20 52 32 2c 67 6c 74 |,#512:ADR R2,glt| 00004b00 61 62 3a 4c 44 52 20 52 32 2c 5b 52 32 2c 52 36 |ab:LDR R2,[R2,R6| 00004b10 5d 3a 4d 4f 56 20 52 33 2c 52 37 3a 4d 4f 56 20 |]:MOV R3,R7:MOV | 00004b20 52 34 2c 52 38 3a 4d 4f 56 20 52 35 2c 23 30 3a |R4,R8:MOV R5,#0:| 00004b30 53 57 49 20 22 4f 53 5f 53 70 72 69 74 65 4f 70 |SWI "OS_SpriteOp| 00004b40 22 3a 41 44 52 20 52 30 2c 72 73 77 3a 4d 4f 56 |":ADR R0,rsw:MOV| 00004b50 20 52 31 2c 23 31 32 3a 53 57 49 20 22 4f 53 5f | R1,#12:SWI "OS_| 00004b60 57 72 69 74 65 4e 22 0d 13 4c 05 5c 0d 13 56 8f |WriteN"..L.\..V.| 00004b70 4d 4f 56 20 52 33 2c 23 34 3a 42 4c 20 64 65 6c |MOV R3,#4:BL del| 00004b80 61 79 3a 4d 4f 56 20 52 30 2c 23 31 31 33 3a 4c |ay:MOV R0,#113:L| 00004b90 44 52 20 52 31 2c 62 61 6e 6b 3a 53 57 49 20 22 |DR R1,bank:SWI "| 00004ba0 4f 53 5f 42 79 74 65 22 3a 53 54 52 20 52 31 2c |OS_Byte":STR R1,| 00004bb0 62 61 6e 6b 3a 41 44 52 20 52 32 2c 73 61 64 64 |bank:ADR R2,sadd| 00004bc0 2d 34 3a 4c 44 52 20 52 32 2c 5b 52 32 2c 52 31 |-4:LDR R2,[R2,R1| 00004bd0 2c 4c 53 4c 23 32 5d 3a 53 54 52 20 52 32 2c 74 |,LSL#2]:STR R2,t| 00004be0 6f 3a 4d 4f 56 20 52 30 2c 23 31 31 32 3a 53 57 |o:MOV R0,#112:SW| 00004bf0 49 20 22 4f 53 5f 42 79 74 65 22 0d 13 60 5b 53 |I "OS_Byte"..`[S| 00004c00 57 49 20 22 4f 53 5f 4d 6f 75 73 65 22 3a 54 45 |WI "OS_Mouse":TE| 00004c10 51 20 52 32 2c 23 30 3a 4c 44 4d 4e 45 46 44 20 |Q R2,#0:LDMNEFD | 00004c20 28 73 70 29 21 2c 7b 50 43 7d 3a 53 57 49 20 22 |(sp)!,{PC}:SWI "| 00004c30 4f 53 5f 52 65 61 64 45 73 63 61 70 65 53 74 61 |OS_ReadEscapeSta| 00004c40 74 65 22 3a 4c 44 4d 43 53 46 44 20 28 73 70 29 |te":LDMCSFD (sp)| 00004c50 21 2c 7b 50 43 7d 0d 13 6a 24 41 44 44 20 52 36 |!,{PC}..j$ADD R6| 00004c60 2c 52 36 2c 23 34 3a 43 4d 50 20 52 36 2c 23 33 |,R6,#4:CMP R6,#3| 00004c70 32 3a ec 51 20 52 36 2c 23 30 0d 13 74 6a 41 44 |2:.Q R6,#0..tjAD| 00004c80 44 20 52 37 2c 52 37 2c 52 31 31 3a 43 4d 50 20 |D R7,R7,R11:CMP | 00004c90 52 37 2c 23 33 32 3a 4d 4f 56 4c 54 20 52 37 2c |R7,#32:MOVLT R7,| 00004ca0 23 33 32 3a 43 4d 50 20 52 37 2c 23 39 38 38 3a |#32:CMP R7,#988:| 00004cb0 4d 4f 56 47 54 20 52 37 2c 23 39 38 38 3a 41 44 |MOVGT R7,#988:AD| 00004cc0 44 20 52 38 2c 52 38 2c 23 34 3a 43 4d 50 20 52 |D R8,R8,#4:CMP R| 00004cd0 38 2c 23 36 30 34 3a 4d 4f 56 47 54 20 52 38 2c |8,#604:MOVGT R8,| 00004ce0 23 36 30 34 0d 13 7e 86 4c 44 52 20 52 30 2c 77 |#604..~.LDR R0,w| 00004cf0 78 69 3a 54 45 51 20 52 30 2c 23 31 32 34 3a 42 |xi:TEQ R0,#124:B| 00004d00 45 51 20 6e 6f 77 63 68 3a 4c 44 52 20 52 31 2c |EQ nowch:LDR R1,| 00004d10 77 79 69 3a 41 44 44 20 52 32 2c 52 37 2c 23 31 |wyi:ADD R2,R7,#1| 00004d20 32 34 3a 41 44 44 20 52 33 2c 52 38 2c 23 38 30 |24:ADD R3,R8,#80| 00004d30 3a 53 55 42 20 52 34 2c 52 32 2c 52 30 3a 53 55 |:SUB R4,R2,R0:SU| 00004d40 42 20 52 35 2c 52 33 2c 52 31 3a 84 52 20 52 34 |B R5,R3,R1:.R R4| 00004d50 2c 52 34 2c 52 35 2c 4c 53 4c 23 31 36 3a 53 54 |,R4,R5,LSL#16:ST| 00004d60 52 20 52 34 2c 73 74 77 2b 34 0d 13 88 87 41 44 |R R4,stw+4....AD| 00004d70 44 20 52 34 2c 52 32 2c 52 30 3a 41 44 44 20 52 |D R4,R2,R0:ADD R| 00004d80 34 2c 52 34 2c 23 34 3a 41 44 44 20 52 35 2c 52 |4,R4,#4:ADD R5,R| 00004d90 33 2c 52 31 3a 41 44 44 20 52 35 2c 52 35 2c 23 |3,R1:ADD R5,R5,#| 00004da0 34 3a 84 52 20 52 34 2c 52 34 2c 52 35 2c 4c 53 |4:.R R4,R4,R5,LS| 00004db0 4c 23 31 36 3a 53 54 52 20 52 34 2c 73 74 77 2b |L#16:STR R4,stw+| 00004dc0 38 3a 41 44 44 20 52 30 2c 52 30 2c 23 34 3a 53 |8:ADD R0,R0,#4:S| 00004dd0 54 52 20 52 30 2c 77 78 69 3a 41 44 44 20 52 31 |TR R0,wxi:ADD R1| 00004de0 2c 52 31 2c 23 34 3a 53 54 52 20 52 31 2c 77 79 |,R1,#4:STR R1,wy| 00004df0 69 0d 13 92 0a 2e 6e 6f 77 63 68 0d 13 9c 7c 4c |i.....nowch...|L| 00004e00 44 52 42 20 52 30 2c 5b 52 31 32 5d 2c 23 31 3a |DRB R0,[R12],#1:| 00004e10 54 53 54 20 52 30 2c 23 31 3a 41 44 44 4e 45 20 |TST R0,#1:ADDNE | 00004e20 52 39 2c 52 39 2c 23 34 3a 54 53 54 20 52 30 2c |R9,R9,#4:TST R0,| 00004e30 23 32 3a 53 55 42 4e 45 20 52 39 2c 52 39 2c 23 |#2:SUBNE R9,R9,#| 00004e40 34 3a 54 53 54 20 52 30 2c 23 34 3a 41 44 44 4e |4:TST R0,#4:ADDN| 00004e50 45 20 52 31 30 2c 52 31 30 2c 23 34 3a 54 53 54 |E R10,R10,#4:TST| 00004e60 20 52 30 2c 23 38 3a 53 55 42 4e 45 20 52 31 30 | R0,#8:SUBNE R10| 00004e70 2c 52 31 30 2c 23 34 0d 13 a6 2a 54 45 51 20 52 |,R10,#4...*TEQ R| 00004e80 30 2c 23 26 46 46 3a 42 4e 45 20 67 61 6c 70 31 |0,#&FF:BNE galp1| 00004e90 3a 4c 44 4d 46 44 20 28 73 70 29 21 2c 7b 50 43 |:LDMFD (sp)!,{PC| 00004ea0 7d 0d 13 b0 16 5c 20 53 63 72 6f 6c 6c 69 6e 67 |}....\ Scrolling| 00004eb0 20 70 6c 61 63 65 73 0d 13 ba a6 2e 6d 6f 76 65 | places.....move| 00004ec0 20 53 54 4d 46 44 20 28 73 70 29 21 2c 7b 6c 69 | STMFD (sp)!,{li| 00004ed0 6e 6b 7d 3a 4d 4f 56 20 52 38 2c 52 30 3a 4d 4f |nk}:MOV R8,R0:MO| 00004ee0 56 20 52 39 2c 52 31 3a 4d 4f 56 20 52 31 30 2c |V R9,R1:MOV R10,| 00004ef0 52 32 3a 4d 4f 56 20 52 31 32 2c 52 33 3a 4d 56 |R2:MOV R12,R3:MV| 00004f00 4e 20 52 30 2c 23 30 3a 53 54 52 20 52 30 2c 6c |N R0,#0:STR R0,l| 00004f10 74 78 74 3a 4d 4f 56 20 52 30 2c 23 32 31 3a 41 |txt:MOV R0,#21:A| 00004f20 44 52 20 52 31 2c 72 6d 6f 75 73 65 3a 53 57 49 |DR R1,rmouse:SWI| 00004f30 20 22 4f 53 5f 57 6f 72 64 22 3a 4d 4f 56 20 52 | "OS_Word":MOV R| 00004f40 30 2c 23 32 31 3a 4d 4f 56 20 52 31 2c 23 39 3a |0,#21:MOV R1,#9:| 00004f50 53 57 49 20 22 4f 53 5f 42 79 74 65 22 0d 13 c4 |SWI "OS_Byte"...| 00004f60 68 4d 4f 56 20 52 30 2c 23 39 3a 41 44 44 20 52 |hMOV R0,#9:ADD R| 00004f70 30 2c 52 30 2c 23 32 35 36 3a 4c 44 52 20 52 31 |0,R0,#256:LDR R1| 00004f80 2c 70 73 70 61 64 64 3a 53 57 49 20 22 4f 53 5f |,pspadd:SWI "OS_| 00004f90 53 70 72 69 74 65 4f 70 22 3a 4d 4f 56 20 52 31 |SpriteOp":MOV R1| 00004fa0 31 2c 23 30 3a 4d 4f 56 20 52 30 2c 23 26 35 33 |1,#0:MOV R0,#&53| 00004fb0 3a 53 54 52 20 52 30 2c 73 6e 61 6d 65 3a 42 20 |:STR R0,sname:B | 00004fc0 6e 6f 74 78 74 0d 13 ce 23 2e 6d 76 6c 70 20 4c |notxt...#.mvlp L| 00004fd0 44 52 20 52 33 2c 74 78 74 3a 4c 44 52 20 52 34 |DR R3,txt:LDR R4| 00004fe0 2c 5b 52 33 5d 2c 23 34 0d 13 d8 9a 2e 66 74 6c |,[R3],#4.....ftl| 00004ff0 20 53 55 42 53 20 52 34 2c 52 34 2c 23 31 3a 42 | SUBS R4,R4,#1:B| 00005000 4d 49 20 6e 6f 74 78 74 3a 4c 44 52 20 52 30 2c |MI notxt:LDR R0,| 00005010 5b 52 33 5d 2c 23 34 3a 4c 44 52 20 52 31 2c 5b |[R3],#4:LDR R1,[| 00005020 52 33 5d 2c 23 34 3a 80 20 52 32 2c 52 30 2c 23 |R3],#4:. R2,R0,#| 00005030 32 35 35 3a 43 4d 50 20 52 32 2c 52 38 2c 4c 53 |255:CMP R2,R8,LS| 00005040 52 23 32 3a 42 47 54 20 66 74 6c 3a 4d 4f 56 20 |R#2:BGT ftl:MOV | 00005050 52 32 2c 52 30 2c 4c 53 52 23 36 3a 80 20 52 32 |R2,R0,LSR#6:. R2| 00005060 2c 52 32 2c 23 25 31 31 31 31 31 31 31 31 30 30 |,R2,#%1111111100| 00005070 3a 43 4d 50 20 52 32 2c 52 39 3a 42 47 54 20 66 |:CMP R2,R9:BGT f| 00005080 74 6c 0d 13 e2 73 4d 4f 56 20 52 32 2c 52 30 2c |tl...sMOV R2,R0,| 00005090 4c 53 52 23 31 34 3a 80 20 52 32 2c 52 32 2c 23 |LSR#14:. R2,R2,#| 000050a0 25 31 31 31 31 31 31 31 31 30 30 3a 43 4d 50 20 |%1111111100:CMP | 000050b0 52 32 2c 52 38 3a 42 4c 54 20 66 74 6c 3a 4d 4f |R2,R8:BLT ftl:MO| 000050c0 56 20 52 32 2c 52 30 2c 4c 53 52 23 32 32 3a 80 |V R2,R0,LSR#22:.| 000050d0 20 52 32 2c 52 32 2c 23 25 31 31 31 31 31 31 31 | R2,R2,#%1111111| 000050e0 31 30 30 3a 43 4d 50 20 52 32 2c 52 39 3a 42 4c |100:CMP R2,R9:BL| 000050f0 54 20 66 74 6c 0d 13 ec 94 4c 44 52 20 52 30 2c |T ftl....LDR R0,| 00005100 6c 74 78 74 3a 43 4d 50 20 52 30 2c 52 34 3a 42 |ltxt:CMP R0,R4:B| 00005110 45 51 20 6e 6f 74 78 74 3a 53 54 52 20 52 34 2c |EQ notxt:STR R4,| 00005120 6c 74 78 74 3a 41 44 44 20 52 33 2c 52 33 2c 52 |ltxt:ADD R3,R3,R| 00005130 31 3a 41 44 52 20 52 30 2c 63 6c 72 74 78 74 3a |1:ADR R0,clrtxt:| 00005140 4d 4f 56 20 52 31 2c 23 31 32 3a 53 57 49 20 22 |MOV R1,#12:SWI "| 00005150 4f 53 5f 57 72 69 74 65 4e 22 3a 4c 44 52 42 20 |OS_WriteN":LDRB | 00005160 52 34 2c 5b 52 33 5d 2c 23 31 3a 4d 4f 56 20 52 |R4,[R3],#1:MOV R| 00005170 32 2c 52 34 2c 4c 53 4c 23 34 3a 41 44 44 20 52 |2,R4,LSL#4:ADD R| 00005180 32 2c 52 32 2c 23 31 37 36 0d 13 f6 9b 2e 74 78 |2,R2,#176.....tx| 00005190 74 6c 20 4d 4f 56 20 52 30 2c 23 31 38 38 3a 4c |tl MOV R0,#188:L| 000051a0 44 52 42 20 52 31 2c 5b 52 33 5d 2c 23 31 3a 4d |DRB R1,[R3],#1:M| 000051b0 4f 56 20 52 31 2c 52 31 2c 4c 53 4c 23 34 3a 52 |OV R1,R1,LSL#4:R| 000051c0 53 42 20 52 31 2c 52 31 2c 23 39 36 38 3a 53 57 |SB R1,R1,#968:SW| 000051d0 49 20 22 4f 53 5f 50 6c 6f 74 22 3a 4d 4f 56 20 |I "OS_Plot":MOV | 000051e0 52 30 2c 52 33 3a 53 57 49 20 22 4f 53 5f 57 72 |R0,R3:SWI "OS_Wr| 000051f0 69 74 65 30 22 3a 4d 4f 56 20 52 33 2c 52 30 3a |ite0":MOV R3,R0:| 00005200 53 55 42 20 52 32 2c 52 32 2c 23 33 32 3a 53 55 |SUB R2,R2,#32:SU| 00005210 42 53 20 52 34 2c 52 34 2c 23 31 3a 42 4e 45 20 |BS R4,R4,#1:BNE | 00005220 74 78 74 6c 0d 14 00 da 2e 6e 6f 74 78 74 20 4d |txtl.....notxt M| 00005230 4f 56 20 52 30 2c 23 31 31 32 3a 4d 4f 56 20 52 |OV R0,#112:MOV R| 00005240 31 2c 23 32 3a 53 57 49 20 22 4f 53 5f 42 79 74 |1,#2:SWI "OS_Byt| 00005250 65 22 3a 4d 4f 56 20 52 30 2c 23 32 37 32 3a 4c |e":MOV R0,#272:L| 00005260 44 52 20 52 31 2c 70 73 70 61 64 64 3a 41 44 52 |DR R1,pspadd:ADR| 00005270 20 52 32 2c 73 6e 61 6d 65 3a 4d 4f 56 20 52 33 | R2,sname:MOV R3| 00005280 2c 23 30 3a 4d 4f 56 20 52 34 2c 52 38 3a 4d 4f |,#0:MOV R4,R8:MO| 00005290 56 20 52 35 2c 52 39 3a 41 44 44 20 52 36 2c 52 |V R5,R9:ADD R6,R| 000052a0 34 2c 23 33 31 36 3a 41 44 44 20 52 37 2c 52 35 |4,#316:ADD R7,R5| 000052b0 2c 23 32 33 32 3a 53 57 49 20 22 4f 53 5f 53 70 |,#232:SWI "OS_Sp| 000052c0 72 69 74 65 4f 70 22 3a 4d 4f 56 20 52 30 2c 23 |riteOp":MOV R0,#| 000052d0 31 31 32 3a 4d 4f 56 20 52 31 2c 23 31 3a 53 57 |112:MOV R1,#1:SW| 000052e0 49 20 22 4f 53 5f 42 79 74 65 22 3a 4d 4f 56 20 |I "OS_Byte":MOV | 000052f0 52 33 2c 23 32 3a 42 4c 20 64 65 6c 61 79 0d 14 |R3,#2:BL delay..| 00005300 0a f5 4d 4f 56 20 52 30 2c 23 33 34 3a 41 44 44 |..MOV R0,#34:ADD| 00005310 20 52 30 2c 52 30 2c 23 35 31 32 3a 4c 44 52 20 | R0,R0,#512:LDR | 00005320 52 31 2c 70 73 70 61 64 64 3a 41 44 44 20 52 32 |R1,pspadd:ADD R2| 00005330 2c 52 31 2c 23 31 36 3a 4d 4f 56 20 52 33 2c 23 |,R1,#16:MOV R3,#| 00005340 38 31 32 3a 4d 4f 56 20 52 34 2c 23 34 36 30 3a |812:MOV R4,#460:| 00005350 4d 4f 56 20 52 35 2c 23 30 3a 53 57 49 20 22 4f |MOV R5,#0:SWI "O| 00005360 53 5f 53 70 72 69 74 65 4f 70 22 3a 4d 4f 56 20 |S_SpriteOp":MOV | 00005370 52 30 2c 23 33 34 3a 41 44 44 20 52 30 2c 52 30 |R0,#34:ADD R0,R0| 00005380 2c 23 35 31 32 3a 4c 44 52 20 52 31 2c 63 73 70 |,#512:LDR R1,csp| 00005390 61 64 64 3a 41 44 44 20 52 32 2c 52 31 2c 52 31 |add:ADD R2,R1,R1| 000053a0 30 3a 41 44 44 20 52 32 2c 52 32 2c 52 31 31 3a |0:ADD R2,R2,R11:| 000053b0 82 20 52 31 31 2c 52 31 31 2c 23 26 31 34 30 3a |. R11,R11,#&140:| 000053c0 4d 4f 56 20 52 33 2c 23 39 36 34 3a 4d 4f 56 20 |MOV R3,#964:MOV | 000053d0 52 34 2c 23 35 36 38 3a 4d 4f 56 20 52 35 2c 23 |R4,#568:MOV R5,#| 000053e0 38 3a 53 57 49 20 22 4f 53 5f 53 70 72 69 74 65 |8:SWI "OS_Sprite| 000053f0 4f 70 22 0d 14 14 6b 2e 6b 6c 70 20 42 4c 20 74 |Op"...k.klp BL t| 00005400 73 74 6b 65 79 3a 54 53 54 20 52 36 2c 23 31 36 |stkey:TST R6,#16| 00005410 3a 42 4c 4e 45 20 72 74 6e 3a 54 53 54 20 52 36 |:BLNE rtn:TST R6| 00005420 2c 23 31 3a 42 4e 45 20 6d 6c 3a 54 53 54 20 52 |,#1:BNE ml:TST R| 00005430 36 2c 23 32 3a 42 4e 45 20 6d 72 3a 54 53 54 20 |6,#2:BNE mr:TST | 00005440 52 36 2c 23 38 3a 42 4e 45 20 6d 75 3a 54 53 54 |R6,#8:BNE mu:TST| 00005450 20 52 36 2c 23 34 3a 42 45 51 20 6b 6c 70 0d 14 | R6,#4:BEQ klp..| 00005460 1e 1f 2e 6d 64 20 4d 4f 56 20 52 30 2c 23 39 36 |...md MOV R0,#96| 00005470 34 3a 4d 4f 56 20 52 31 2c 23 35 36 34 0d 14 28 |4:MOV R1,#564..(| 00005480 8a 2e 6d 64 6c 70 20 53 57 49 20 22 4f 53 5f 52 |..mdlp SWI "OS_R| 00005490 65 61 64 50 6f 69 6e 74 22 3a 54 45 51 20 52 32 |eadPoint":TEQ R2| 000054a0 2c 23 37 3a 54 45 51 4e 45 20 52 32 2c 23 38 3a |,#7:TEQNE R2,#8:| 000054b0 54 45 51 4e 45 20 52 32 2c 23 31 35 3a 42 4e 45 |TEQNE R2,#15:BNE| 000054c0 20 6b 6c 70 3a 41 44 44 20 52 30 2c 52 30 2c 23 | klp:ADD R0,R0,#| 000054d0 34 3a 54 45 51 20 52 30 2c 23 39 38 34 3a 42 4e |4:TEQ R0,#984:BN| 000054e0 45 20 6d 64 6c 70 3a 53 55 42 20 52 39 2c 52 39 |E mdlp:SUB R9,R9| 000054f0 2c 23 34 3a 4d 4f 56 20 52 31 30 2c 23 26 42 30 |,#4:MOV R10,#&B0| 00005500 3a 42 20 6d 76 6c 70 0d 14 32 1f 2e 6d 75 20 4d |:B mvlp..2..mu M| 00005510 4f 56 20 52 30 2c 23 39 36 34 3a 4d 4f 56 20 52 |OV R0,#964:MOV R| 00005520 31 2c 23 35 38 38 0d 14 3c 8a 2e 6d 75 6c 70 20 |1,#588..<..mulp | 00005530 53 57 49 20 22 4f 53 5f 52 65 61 64 50 6f 69 6e |SWI "OS_ReadPoin| 00005540 74 22 3a 54 45 51 20 52 32 2c 23 37 3a 54 45 51 |t":TEQ R2,#7:TEQ| 00005550 4e 45 20 52 32 2c 23 38 3a 54 45 51 4e 45 20 52 |NE R2,#8:TEQNE R| 00005560 32 2c 23 31 35 3a 42 4e 45 20 6b 6c 70 3a 41 44 |2,#15:BNE klp:AD| 00005570 44 20 52 30 2c 52 30 2c 23 34 3a 54 45 51 20 52 |D R0,R0,#4:TEQ R| 00005580 30 2c 23 39 38 34 3a 42 4e 45 20 6d 75 6c 70 3a |0,#984:BNE mulp:| 00005590 41 44 44 20 52 39 2c 52 39 2c 23 34 3a 4d 4f 56 |ADD R9,R9,#4:MOV| 000055a0 20 52 31 30 2c 23 26 31 30 3a 42 20 6d 76 6c 70 | R10,#&10:B mvlp| 000055b0 0d 14 46 1f 2e 6d 6c 20 4d 4f 56 20 52 30 2c 23 |..F..ml MOV R0,#| 000055c0 39 36 30 3a 4d 4f 56 20 52 31 2c 23 35 36 38 0d |960:MOV R1,#568.| 000055d0 14 50 8a 2e 6d 6c 6c 70 20 53 57 49 20 22 4f 53 |.P..mllp SWI "OS| 000055e0 5f 52 65 61 64 50 6f 69 6e 74 22 3a 54 45 51 20 |_ReadPoint":TEQ | 000055f0 52 32 2c 23 37 3a 54 45 51 4e 45 20 52 32 2c 23 |R2,#7:TEQNE R2,#| 00005600 38 3a 54 45 51 4e 45 20 52 32 2c 23 31 35 3a 42 |8:TEQNE R2,#15:B| 00005610 4e 45 20 6b 6c 70 3a 41 44 44 20 52 31 2c 52 31 |NE klp:ADD R1,R1| 00005620 2c 23 34 3a 54 45 51 20 52 31 2c 23 35 38 38 3a |,#4:TEQ R1,#588:| 00005630 42 4e 45 20 6d 6c 6c 70 3a 53 55 42 20 52 38 2c |BNE mllp:SUB R8,| 00005640 52 38 2c 23 34 3a 4d 4f 56 20 52 31 30 2c 23 26 |R8,#4:MOV R10,#&| 00005650 46 43 3a 42 20 6d 76 6c 70 0d 14 5a 1f 2e 6d 72 |FC:B mvlp..Z..mr| 00005660 20 4d 4f 56 20 52 30 2c 23 39 38 34 3a 4d 4f 56 | MOV R0,#984:MOV| 00005670 20 52 31 2c 23 35 36 38 0d 14 64 8a 2e 6d 72 6c | R1,#568..d..mrl| 00005680 70 20 53 57 49 20 22 4f 53 5f 52 65 61 64 50 6f |p SWI "OS_ReadPo| 00005690 69 6e 74 22 3a 54 45 51 20 52 32 2c 23 37 3a 54 |int":TEQ R2,#7:T| 000056a0 45 51 4e 45 20 52 32 2c 23 38 3a 54 45 51 4e 45 |EQNE R2,#8:TEQNE| 000056b0 20 52 32 2c 23 31 35 3a 42 4e 45 20 6b 6c 70 3a | R2,#15:BNE klp:| 000056c0 41 44 44 20 52 31 2c 52 31 2c 23 34 3a 54 45 51 |ADD R1,R1,#4:TEQ| 000056d0 20 52 31 2c 23 35 38 38 3a 42 4e 45 20 6d 72 6c | R1,#588:BNE mrl| 000056e0 70 3a 41 44 44 20 52 38 2c 52 38 2c 23 34 3a 4d |p:ADD R8,R8,#4:M| 000056f0 4f 56 20 52 31 30 2c 23 26 35 43 3a 42 20 6d 76 |OV R10,#&5C:B mv| 00005700 6c 70 0d 14 6e 22 2e 72 74 6e 20 4d 4f 56 20 52 |lp..n".rtn MOV R| 00005710 32 2c 52 31 32 3a 4c 44 52 20 52 31 2c 5b 52 32 |2,R12:LDR R1,[R2| 00005720 5d 2c 23 34 0d 14 78 d6 2e 72 74 6e 6c 20 53 55 |],#4..x..rtnl SU| 00005730 42 53 20 52 31 2c 52 31 2c 23 31 3a 4d 4f 56 4d |BS R1,R1,#1:MOVM| 00005740 49 20 50 43 2c 6c 69 6e 6b 3a 4c 44 52 20 52 35 |I PC,link:LDR R5| 00005750 2c 5b 52 32 5d 2c 23 34 3a 4d 4f 56 20 52 33 2c |,[R2],#4:MOV R3,| 00005760 52 35 2c 4c 53 52 23 32 30 3a 80 20 52 34 2c 52 |R5,LSR#20:. R4,R| 00005770 35 2c 23 25 31 31 31 31 31 31 31 31 30 30 3a 43 |5,#%1111111100:C| 00005780 4d 50 20 52 33 2c 52 38 3a 43 4d 50 4c 45 20 52 |MP R3,R8:CMPLE R| 00005790 34 2c 52 39 3a 42 47 54 20 72 74 6e 6c 3a 41 44 |4,R9:BGT rtnl:AD| 000057a0 44 20 52 33 2c 52 33 2c 23 33 32 3a 41 44 44 20 |D R3,R3,#32:ADD | 000057b0 52 34 2c 52 34 2c 23 33 32 3a 43 4d 50 20 52 33 |R4,R4,#32:CMP R3| 000057c0 2c 52 38 3a 43 4d 50 47 54 20 52 34 2c 52 39 3a |,R8:CMPGT R4,R9:| 000057d0 42 4c 45 20 72 74 6e 6c 3a 4d 4f 56 20 52 30 2c |BLE rtnl:MOV R0,| 000057e0 52 35 2c 4c 53 52 23 31 30 3a 4c 44 4d 46 44 20 |R5,LSR#10:LDMFD | 000057f0 28 73 70 29 21 2c 7b 50 43 7d 0d 14 82 0a 5c 20 |(sp)!,{PC}....\ | 00005800 44 61 74 61 0d 14 8c 33 2e 73 74 77 20 45 51 55 |Data...3.stw EQU| 00005810 42 20 30 3a 45 51 55 42 20 30 3a 45 51 55 42 20 |B 0:EQUB 0:EQUB | 00005820 30 3a 45 51 55 42 20 32 34 3a 45 51 55 44 20 30 |0:EQUB 24:EQUD 0| 00005830 3a 45 51 55 44 20 30 0d 14 96 3a 2e 72 73 77 20 |:EQUD 0...:.rsw | 00005840 45 51 55 42 20 30 3a 45 51 55 42 20 30 3a 45 51 |EQUB 0:EQUB 0:EQ| 00005850 55 42 20 30 3a 45 51 55 42 20 32 34 3a 45 51 55 |UB 0:EQUB 24:EQU| 00005860 44 20 30 3a 45 51 55 44 20 26 33 31 46 30 34 46 |D 0:EQUD &31F04F| 00005870 46 0d 14 a0 15 2e 70 73 70 61 64 64 20 45 51 55 |F.....pspadd EQU| 00005880 44 20 50 53 50 25 0d 14 aa 15 2e 73 73 70 61 64 |D PSP%.....sspad| 00005890 64 20 45 51 55 44 20 53 53 50 25 0d 14 b4 1b 2e |d EQUD SSP%.....| 000058a0 67 73 70 61 64 64 20 45 51 55 44 20 43 53 50 25 |gspadd EQUD CSP%| 000058b0 2b 26 34 41 45 43 0d 14 be 15 2e 63 73 70 61 64 |+&4AEC.....cspad| 000058c0 64 20 45 51 55 44 20 43 53 50 25 0d 14 c8 0f 2e |d EQUD CSP%.....| 000058d0 62 68 78 20 45 51 55 44 20 30 0d 14 d2 0f 2e 62 |bhx EQUD 0.....b| 000058e0 68 79 20 45 51 55 44 20 30 0d 14 dc 0f 2e 6c 68 |hy EQUD 0.....lh| 000058f0 78 20 45 51 55 44 20 30 0d 14 e6 0f 2e 6c 68 79 |x EQUD 0.....lhy| 00005900 20 45 51 55 44 20 30 0d 14 f0 0f 2e 77 78 69 20 | EQUD 0.....wxi | 00005910 45 51 55 44 20 30 0d 14 fa 0f 2e 77 79 69 20 45 |EQUD 0.....wyi E| 00005920 51 55 44 20 30 0d 15 04 2a 2e 72 6d 6f 75 73 65 |QUD 0...*.rmouse| 00005930 20 45 51 55 42 20 33 3a 45 51 55 57 20 36 34 30 | EQUB 3:EQUW 640| 00005940 3a 45 51 55 57 20 34 30 30 3a 41 4c 49 47 4e 0d |:EQUW 400:ALIGN.| 00005950 15 0e 05 5c 0d 15 18 37 2e 74 73 74 6b 65 79 20 |...\...7.tstkey | 00005960 53 57 49 20 22 4f 53 5f 52 65 61 64 45 73 63 61 |SWI "OS_ReadEsca| 00005970 70 65 53 74 61 74 65 22 3a 4c 44 4d 43 53 46 44 |peState":LDMCSFD| 00005980 20 28 73 70 29 21 2c 7b 50 43 7d 0d 15 22 e8 4d | (sp)!,{PC}..".M| 00005990 4f 56 20 52 36 2c 23 30 3a 4d 4f 56 20 52 30 2c |OV R6,#0:MOV R0,| 000059a0 23 31 32 31 3a 4d 4f 56 20 52 31 2c 23 6c 65 66 |#121:MOV R1,#lef| 000059b0 74 25 3a 53 57 49 20 22 4f 53 5f 42 79 74 65 22 |t%:SWI "OS_Byte"| 000059c0 3a 54 45 51 20 52 31 2c 23 30 3a 84 52 4e 45 20 |:TEQ R1,#0:.RNE | 000059d0 52 36 2c 52 36 2c 23 31 3a 4d 4f 56 20 52 31 2c |R6,R6,#1:MOV R1,| 000059e0 23 72 69 67 68 74 25 3a 53 57 49 20 22 4f 53 5f |#right%:SWI "OS_| 000059f0 42 79 74 65 22 3a 54 45 51 20 52 31 2c 23 30 3a |Byte":TEQ R1,#0:| 00005a00 84 52 4e 45 20 52 36 2c 52 36 2c 23 32 3a 4d 4f |.RNE R6,R6,#2:MO| 00005a10 56 20 52 31 2c 23 64 6f 77 6e 25 3a 53 57 49 20 |V R1,#down%:SWI | 00005a20 22 4f 53 5f 42 79 74 65 22 3a 54 45 51 20 52 31 |"OS_Byte":TEQ R1| 00005a30 2c 23 30 3a 84 52 4e 45 20 52 36 2c 52 36 2c 23 |,#0:.RNE R6,R6,#| 00005a40 34 3a 4d 4f 56 20 52 31 2c 23 75 70 25 3a 53 57 |4:MOV R1,#up%:SW| 00005a50 49 20 22 4f 53 5f 42 79 74 65 22 3a 54 45 51 20 |I "OS_Byte":TEQ | 00005a60 52 31 2c 23 30 3a 84 52 4e 45 20 52 36 2c 52 36 |R1,#0:.RNE R6,R6| 00005a70 2c 23 38 0d 15 2c 8e 4c 44 52 20 52 31 2c 6c 61 |,#8..,.LDR R1,la| 00005a80 73 74 63 6f 6d 62 3a 53 54 52 20 52 36 2c 6c 61 |stcomb:STR R6,la| 00005a90 73 74 63 6f 6d 62 3a 82 53 20 52 31 2c 52 31 2c |stcomb:.S R1,R1,| 00005aa0 52 36 3a 4c 44 52 45 51 20 52 36 2c 6c 61 73 74 |R6:LDREQ R6,last| 00005ab0 6b 65 79 3a 42 45 51 20 67 74 6b 65 79 3a 80 53 |key:BEQ gtkey:.S| 00005ac0 20 52 32 2c 52 31 2c 52 36 3a 4d 4f 56 4e 45 20 | R2,R1,R6:MOVNE | 00005ad0 52 36 2c 52 32 3a 42 4e 45 20 67 74 6b 65 79 3a |R6,R2:BNE gtkey:| 00005ae0 4c 44 52 20 52 32 2c 6c 61 73 74 6b 65 79 3a 54 |LDR R2,lastkey:T| 00005af0 53 54 20 52 31 2c 52 32 3a ec 51 20 52 36 2c 52 |ST R1,R2:.Q R6,R| 00005b00 32 0d 15 36 5b 2e 67 74 6b 65 79 20 80 53 20 52 |2..6[.gtkey .S R| 00005b10 31 2c 52 36 2c 23 31 3a 80 45 51 53 20 52 31 2c |1,R6,#1:.EQS R1,| 00005b20 52 36 2c 23 32 3a 80 45 51 53 20 52 31 2c 52 36 |R6,#2:.EQS R1,R6| 00005b30 2c 23 34 3a 80 45 51 53 20 52 31 2c 52 36 2c 23 |,#4:.EQS R1,R6,#| 00005b40 38 3a 4d 4f 56 4e 45 20 52 36 2c 52 31 3a 53 54 |8:MOVNE R6,R1:ST| 00005b50 52 20 52 36 2c 6c 61 73 74 6b 65 79 0d 15 40 50 |R R6,lastkey..@P| 00005b60 4d 4f 56 20 52 31 2c 23 66 69 72 65 25 3a 53 57 |MOV R1,#fire%:SW| 00005b70 49 20 22 4f 53 5f 42 79 74 65 22 3a 54 45 51 20 |I "OS_Byte":TEQ | 00005b80 52 31 2c 23 30 3a 84 52 4e 45 20 52 36 2c 52 36 |R1,#0:.RNE R6,R6| 00005b90 2c 23 31 36 3a 54 45 51 20 52 36 2c 23 30 3a 4d |,#16:TEQ R6,#0:M| 00005ba0 4f 56 4e 45 20 50 43 2c 6c 69 6e 6b 0d 15 4a da |OVNE PC,link..J.| 00005bb0 53 57 49 20 22 4f 53 5f 4d 6f 75 73 65 22 3a 54 |SWI "OS_Mouse":T| 00005bc0 53 54 20 52 32 2c 23 34 3a 42 45 51 20 6d 72 74 |ST R2,#4:BEQ mrt| 00005bd0 6e 3a 53 55 42 53 20 52 33 2c 52 30 2c 23 36 34 |n:SUBS R3,R0,#64| 00005be0 30 3a 52 53 42 4d 49 20 52 33 2c 52 33 2c 23 30 |0:RSBMI R3,R3,#0| 00005bf0 3a 53 55 42 53 20 52 34 2c 52 31 2c 23 34 30 30 |:SUBS R4,R1,#400| 00005c00 3a 52 53 42 4d 49 20 52 34 2c 52 34 2c 23 30 3a |:RSBMI R4,R4,#0:| 00005c10 43 4d 50 20 52 33 2c 23 31 3a 4d 4f 56 4c 53 20 |CMP R3,#1:MOVLS | 00005c20 52 33 2c 23 30 3a 43 4d 50 20 52 34 2c 23 31 3a |R3,#0:CMP R4,#1:| 00005c30 4d 4f 56 4c 53 20 52 34 2c 23 30 3a 43 4d 50 20 |MOVLS R4,#0:CMP | 00005c40 52 33 2c 52 34 3a 42 45 51 20 6e 6f 6d 6f 76 3a |R3,R4:BEQ nomov:| 00005c50 42 47 54 20 78 67 74 3a 43 4d 50 20 52 31 2c 23 |BGT xgt:CMP R1,#| 00005c60 34 30 30 3a 84 52 4c 54 20 52 36 2c 52 36 2c 23 |400:.RLT R6,R6,#| 00005c70 34 3a 84 52 47 54 20 52 36 2c 52 36 2c 23 38 3a |4:.RGT R6,R6,#8:| 00005c80 42 20 6d 72 74 6e 0d 15 54 37 2e 78 67 74 20 43 |B mrtn..T7.xgt C| 00005c90 4d 50 20 52 30 2c 23 36 34 30 3a 84 52 4c 54 20 |MP R0,#640:.RLT | 00005ca0 52 36 2c 52 36 2c 23 31 3a 84 52 47 54 20 52 36 |R6,R6,#1:.RGT R6| 00005cb0 2c 52 36 2c 23 32 3a 42 20 6d 72 74 6e 0d 15 5e |,R6,#2:B mrtn..^| 00005cc0 1a 2e 6e 6f 6d 6f 76 20 4c 44 52 20 52 36 2c 6c |..nomov LDR R6,l| 00005cd0 61 73 74 6d 6b 65 79 0d 15 68 65 2e 6d 72 74 6e |astmkey..he.mrtn| 00005ce0 20 53 54 52 20 52 36 2c 6c 61 73 74 6d 6b 65 79 | STR R6,lastmkey| 00005cf0 3a 54 53 54 20 52 32 2c 23 33 3a 84 52 4e 45 20 |:TST R2,#3:.RNE | 00005d00 52 36 2c 52 36 2c 23 31 36 3a 4d 4f 56 20 52 30 |R6,R6,#16:MOV R0| 00005d10 2c 23 32 31 3a 41 44 52 20 52 31 2c 72 6d 6f 75 |,#21:ADR R1,rmou| 00005d20 73 65 3a 53 57 49 20 22 4f 53 5f 57 6f 72 64 22 |se:SWI "OS_Word"| 00005d30 3a 4d 4f 56 20 50 43 2c 6c 69 6e 6b 0d 15 72 05 |:MOV PC,link..r.| 00005d40 5c 0d 15 7c 13 2e 6c 61 73 74 6b 65 79 20 45 51 |\..|..lastkey EQ| 00005d50 55 44 20 30 0d 15 86 14 2e 6c 61 73 74 6d 6b 65 |UD 0.....lastmke| 00005d60 79 20 45 51 55 44 20 30 0d 15 90 14 2e 6c 61 73 |y EQUD 0.....las| 00005d70 74 63 6f 6d 62 20 45 51 55 44 20 30 0d 15 9a 05 |tcomb EQUD 0....| 00005d80 5c 0d 15 a4 0f 2e 74 78 74 20 45 51 55 44 20 30 |\.....txt EQUD 0| 00005d90 0d 15 ae 10 2e 6c 74 78 74 20 45 51 55 44 20 30 |.....ltxt EQUD 0| 00005da0 0d 15 b8 51 2e 63 6c 72 74 78 74 20 45 51 55 42 |...Q.clrtxt EQUB| 00005db0 20 32 35 3a 45 51 55 42 20 31 38 38 3a 45 51 55 | 25:EQUB 188:EQU| 00005dc0 57 20 36 39 36 3a 45 51 55 57 20 33 36 3a 45 51 |W 696:EQUW 36:EQ| 00005dd0 55 42 20 32 35 3a 45 51 55 42 20 31 30 33 3a 45 |UB 25:EQUB 103:E| 00005de0 51 55 57 20 31 32 33 36 3a 45 51 55 57 20 33 32 |QUW 1236:EQUW 32| 00005df0 30 0d 15 c2 05 5c 0d 15 cc 1f 2e 6d 65 73 73 61 |0....\.....messa| 00005e00 67 65 20 53 54 4d 46 44 20 28 73 70 29 21 2c 7b |ge STMFD (sp)!,{| 00005e10 6c 69 6e 6b 7d 0d 15 d6 77 4c 44 52 20 52 37 2c |link}...wLDR R7,| 00005e20 79 70 6f 73 3a 41 44 52 20 52 38 2c 74 65 78 74 |ypos:ADR R8,text| 00005e30 62 75 66 3a 4d 4f 56 20 52 39 2c 23 30 3a 4d 4f |buf:MOV R9,#0:MO| 00005e40 56 20 52 31 30 2c 23 31 3a 4c 44 52 20 52 31 31 |V R10,#1:LDR R11| 00005e50 2c 74 65 78 74 64 61 74 3a 41 44 44 20 52 31 32 |,textdat:ADD R12| 00005e60 2c 52 31 31 2c 23 32 35 36 3a 41 44 44 20 52 36 |,R11,#256:ADD R6| 00005e70 2c 52 31 31 2c 23 35 31 32 3a 54 45 51 20 52 30 |,R11,#512:TEQ R0| 00005e80 2c 23 30 3a 42 45 51 20 6d 73 6c 70 0d 15 e0 3c |,#0:BEQ mslp...<| 00005e90 2e 6d 73 63 74 20 4c 44 52 42 20 52 31 2c 5b 52 |.msct LDRB R1,[R| 00005ea0 36 5d 2c 23 31 3a 43 4d 50 20 52 31 2c 23 30 3a |6],#1:CMP R1,#0:| 00005eb0 53 55 42 45 51 53 20 52 30 2c 52 30 2c 23 31 3a |SUBEQS R0,R0,#1:| 00005ec0 42 4e 45 20 6d 73 63 74 0d 15 ea 40 2e 6d 73 6c |BNE msct...@.msl| 00005ed0 70 20 4c 44 52 42 20 52 30 2c 5b 52 36 5d 2c 23 |p LDRB R0,[R6],#| 00005ee0 31 3a 54 45 51 20 52 30 2c 23 30 3a 42 45 51 20 |1:TEQ R0,#0:BEQ | 00005ef0 70 72 69 6e 74 62 75 66 3a 42 4c 20 70 72 69 6e |printbuf:BL prin| 00005f00 74 3a 42 20 6d 73 6c 70 0d 15 f4 05 5c 0d 15 fe |t:B mslp....\...| 00005f10 1d 2e 70 72 69 6e 74 20 53 54 4d 46 44 20 28 73 |..print STMFD (s| 00005f20 70 29 21 2c 7b 6c 69 6e 6b 7d 0d 16 08 2a 4c 44 |p)!,{link}...*LD| 00005f30 52 42 20 52 31 2c 5b 52 31 31 2c 52 30 5d 3a 54 |RB R1,[R11,R0]:T| 00005f40 45 51 20 52 31 2c 52 30 3a 42 45 51 20 70 72 69 |EQ R1,R0:BEQ pri| 00005f50 6e 74 69 74 0d 16 12 38 53 54 4d 46 44 20 28 73 |ntit...8STMFD (s| 00005f60 70 29 21 2c 7b 52 30 7d 3a 4d 4f 56 20 52 30 2c |p)!,{R0}:MOV R0,| 00005f70 52 31 3a 42 4c 20 70 72 69 6e 74 3a 4c 44 4d 46 |R1:BL print:LDMF| 00005f80 44 20 28 73 70 29 21 2c 7b 52 30 7d 0d 16 1c 1d |D (sp)!,{R0}....| 00005f90 4c 44 52 42 20 52 30 2c 5b 52 31 32 2c 52 30 5d |LDRB R0,[R12,R0]| 00005fa0 3a 42 4c 20 70 72 69 6e 74 0d 16 26 14 4c 44 4d |:BL print..&.LDM| 00005fb0 46 44 20 28 73 70 29 21 2c 7b 50 43 7d 0d 16 30 |FD (sp)!,{PC}..0| 00005fc0 0c 2e 70 72 69 6e 74 69 74 0d 16 3a 2a 54 45 51 |..printit..:*TEQ| 00005fd0 20 52 30 2c 23 31 3a ec 51 20 52 31 30 2c 52 30 | R0,#1:.Q R10,R0| 00005fe0 3a 4c 44 4d 45 51 46 44 20 28 73 70 29 21 2c 7b |:LDMEQFD (sp)!,{| 00005ff0 50 43 7d 0d 16 44 3f 43 4d 50 20 52 30 2c 23 39 |PC}..D?CMP R0,#9| 00006000 36 3a 42 4c 54 20 6e 6f 74 75 63 3a 54 45 51 20 |6:BLT notuc:TEQ | 00006010 52 31 30 2c 23 30 3a 42 49 43 4e 45 20 52 30 2c |R10,#0:BICNE R0,| 00006020 52 30 2c 23 26 32 30 3a 4d 4f 56 20 52 31 30 2c |R0,#&20:MOV R10,| 00006030 23 30 0d 16 4e 3f 2e 6e 6f 74 75 63 20 54 45 51 |#0..N?.notuc TEQ| 00006040 20 52 30 2c 23 97 22 2e 22 3a 54 45 51 4e 45 20 | R0,#.".":TEQNE | 00006050 52 30 2c 23 97 22 3f 22 3a 54 45 51 4e 45 20 52 |R0,#."?":TEQNE R| 00006060 30 2c 23 97 22 21 22 3a ec 51 20 52 31 30 2c 23 |0,#."!":.Q R10,#| 00006070 31 0d 16 58 3e 53 54 52 42 20 52 30 2c 5b 52 38 |1..X>STRB R0,[R8| 00006080 2c 52 39 5d 3a 41 44 44 20 52 39 2c 52 39 2c 23 |,R9]:ADD R9,R9,#| 00006090 31 3a 43 4d 50 20 52 39 2c 23 31 38 3a 4c 44 4d |1:CMP R9,#18:LDM| 000060a0 4e 45 46 44 20 28 73 70 29 21 2c 7b 50 43 7d 0d |NEFD (sp)!,{PC}.| 000060b0 16 62 3f 2e 66 64 73 70 6c 70 20 53 55 42 53 20 |.b?.fdsplp SUBS | 000060c0 52 39 2c 52 39 2c 23 31 3a 4c 44 52 42 20 52 30 |R9,R9,#1:LDRB R0| 000060d0 2c 5b 52 38 2c 52 39 5d 3a 43 4d 50 20 52 30 2c |,[R8,R9]:CMP R0,| 000060e0 23 33 32 3a 42 4e 45 20 66 64 73 70 6c 70 0d 16 |#32:BNE fdsplp..| 000060f0 6c 0d 2e 70 72 69 6e 74 62 75 66 0d 16 76 47 4d |l..printbuf..vGM| 00006100 4f 56 20 52 30 2c 23 39 36 38 3a 53 55 42 53 20 |OV R0,#968:SUBS | 00006110 52 30 2c 52 30 2c 52 39 2c 4c 53 4c 23 34 3a 84 |R0,R0,R9,LSL#4:.| 00006120 52 20 52 30 2c 52 30 2c 52 37 2c 4c 53 4c 23 31 |R R0,R0,R7,LSL#1| 00006130 36 3a 53 54 52 20 52 30 2c 6d 6f 76 65 76 64 75 |6:STR R0,movevdu| 00006140 2b 34 0d 16 80 31 41 44 52 20 52 30 2c 6d 6f 76 |+4...1ADR R0,mov| 00006150 65 76 64 75 2b 32 3a 41 44 44 20 52 31 2c 52 39 |evdu+2:ADD R1,R9| 00006160 2c 23 36 3a 53 57 49 20 22 4f 53 5f 57 72 69 74 |,#6:SWI "OS_Writ| 00006170 65 4e 22 0d 16 8a 3d 53 55 42 20 52 37 2c 52 37 |eN"...=SUB R7,R7| 00006180 2c 23 33 32 3a 53 54 52 20 52 37 2c 79 70 6f 73 |,#32:STR R7,ypos| 00006190 3a 4d 4f 56 20 52 31 2c 23 30 3a 54 45 51 20 52 |:MOV R1,#0:TEQ R| 000061a0 39 2c 23 31 37 3a 42 45 51 20 6e 6d 76 62 75 66 |9,#17:BEQ nmvbuf| 000061b0 0d 16 94 5d 2e 6d 76 62 75 66 6c 70 20 41 44 44 |...].mvbuflp ADD| 000061c0 20 52 39 2c 52 39 2c 23 31 3a 4c 44 52 42 20 52 | R9,R9,#1:LDRB R| 000061d0 30 2c 5b 52 38 2c 52 39 5d 3a 53 54 52 42 20 52 |0,[R8,R9]:STRB R| 000061e0 30 2c 5b 52 38 2c 52 31 5d 3a 41 44 44 20 52 31 |0,[R8,R1]:ADD R1| 000061f0 2c 52 31 2c 23 31 3a 43 4d 50 20 52 39 2c 23 31 |,R1,#1:CMP R9,#1| 00006200 37 3a 42 4c 54 20 6d 76 62 75 66 6c 70 0d 16 9e |7:BLT mvbuflp...| 00006210 26 2e 6e 6d 76 62 75 66 20 4d 4f 56 20 52 39 2c |&.nmvbuf MOV R9,| 00006220 52 31 3a 4c 44 4d 46 44 20 28 73 70 29 21 2c 7b |R1:LDMFD (sp)!,{| 00006230 50 43 7d 0d 16 a8 05 5c 0d 16 b2 16 2e 74 65 78 |PC}....\.....tex| 00006240 74 64 61 74 20 45 51 55 44 20 54 58 54 25 0d 16 |tdat EQUD TXT%..| 00006250 bc 29 2e 6d 6f 76 65 76 64 75 20 45 51 55 57 20 |.).movevdu EQUW | 00006260 30 3a 45 51 55 42 20 32 35 3a 45 51 55 42 20 34 |0:EQUB 25:EQUB 4| 00006270 3a 45 51 55 44 20 30 0d 16 c6 1f 2e 74 65 78 74 |:EQUD 0.....text| 00006280 62 75 66 20 45 51 55 53 20 c4 31 38 2c bd 30 29 |buf EQUS .18,.0)| 00006290 3a 41 4c 49 47 4e 0d 16 d0 10 2e 79 70 6f 73 20 |:ALIGN.....ypos | 000062a0 45 51 55 44 20 30 0d 16 da 05 5d 0d 16 e4 38 e7 |EQUD 0....]...8.| 000062b0 20 50 25 3e 28 63 6f 64 65 25 2b 73 70 61 63 65 | P%>(code%+space| 000062c0 25 29 20 eb 20 31 35 3a f1 22 4e 6f 74 20 65 6e |%) . 15:."Not en| 000062d0 6f 75 67 68 20 63 6f 64 65 20 73 70 61 63 65 2e |ough code space.| 000062e0 22 3a e0 0d 16 ee 05 ed 0d 16 f8 05 e1 0d 17 02 |":..............| 000062f0 05 3a 0d 17 0c 12 dd 20 f2 65 72 72 6f 72 3a ee |.:..... .error:.| 00006300 20 85 20 87 0d 17 16 1f eb 20 31 35 3a 87 3a d6 | . ...... 15:.:.| 00006310 93 2b 26 32 31 34 3a 2a 49 72 6f 6e 54 75 6e 65 |.+&214:*IronTune| 00006320 4f 66 66 0d 17 20 0a 2a 46 58 20 32 30 0d 17 2a |Off.. .*FX 20..*| 00006330 51 e7 20 9f 3d 31 37 20 f1 22 47 6f 6f 64 62 79 |Q. .=17 ."Goodby| 00006340 65 2e 22 20 8b 20 f1 22 49 72 6f 6e 20 4c 6f 72 |e." . ."Iron Lor| 00006350 64 20 68 61 73 20 73 74 6f 70 70 65 64 20 62 65 |d has stopped be| 00006360 63 61 75 73 65 20 6f 66 20 61 20 66 61 74 61 6c |cause of a fatal| 00006370 20 65 72 72 6f 72 20 3a 2d 22 27 27 f6 24 0d 17 | error :-"''.$..| 00006380 34 05 e1 0d ff |4....| 00006385