Home » Archimedes archive » Acorn User » AU 1997-12.adf » Regulars » StarInfo/Smale/!TUNNL/ARMTUNL7
StarInfo/Smale/!TUNNL/ARMTUNL7
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-12.adf » Regulars |
Filename: | StarInfo/Smale/!TUNNL/ARMTUNL7 |
Read OK: | ✔ |
File size: | 3711 bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10MODE0:OFF 20A%=RND(-TIME) 30NT%=16 40DIM P%(15),T%(255) 50 60ON ERROR REPORT:PRINT" at line ";ERL:END 70INPUT'" RiscPC Mode? (Y/N)" 80REPEAT G$=GET$:UNTIL INSTR("YyNn",G$) 90IF INSTR("Yy",G$) mode49%=-1 ELSE mode49%=0 100fast%=0 110TIME=0:FOR I%=0 TO 40960:NEXT:A%=TIME 120IF A%<25 fast%=-1 130 140PROCcols 150PROCsetup 160screen=12 170sp=13 180link=14 190x=60 200y=30 210 220xmove=1 230ymove=1 240 250PROCass66 260CLS 270COLOUR 1,0,0,0 280PRINTTAB(32,8);"Welcome to Tunnl!" 290PRINTTAB(20,11);"Code and original design by Edward Smale" 300PRINTTAB(20,13);" Additional design by Daniel Shaw" 310PRINTTAB(34,28);"Please wait..." 320 330PROCfadein 340 350OSCLI("LOAD <ed$dir>.POSDATA"+" "+STR$~(code+1024*16)) 360PROCsloadB 370PROCfadeout 380 390REPEAT 400MODE0:OFF 410COLOUR 1,0,0,0 420PRINTTAB(12,1);" Welcome to Tunnl!" 430PRINT'" Please choose your preferred texture."' 440PRINT " Press G for Granite texture," 450PRINT " Press K for Kaleidoscope texture," 460PRINT " Press P for Plasma texture," 470PRINT " Press S to load a mode 13 Sprite file from ramdisc," 480PRINT " Press T to create a tiled pattern with a mode13 Sprite file from ramdisc," 490PRINT " Press B to use a built-in tiling texture." 500PROCfadein 510 520REPEAT 530G$=GET$ 540UNTIL INSTR("GgKkSsPpTtBb",G$) 550 560CLS 570kali%=0 580IF INSTR("Pp",G$) plasma%=-1:PROCplasma:PROCenable(3,plasmado%) ELSE plasma%=0:PROCdisable(3,plasmado%) 590 600IF G$="G" OR G$="g" PROCgraniteproc 610IF G$="S" OR G$="s" OSCLI"RAM":INPUT'"Filename: "F$:OSCLI("SCREENLOAD "+F$) 620IF G$="K" OR G$="k" THEN 630PROCpic 640IF fast% PROCenable(2,kalislower%) 650ELSE 660PROCdisable(2,kalislower%) 670ENDIF 680 690IF G$="T" OR G$="t" PROCtiled 700IF G$="B" OR G$="b" PROCbtiled 710 720MOUSEOFF 730CALL grabsprite 740MODE0:OFF 750PRINTTAB(28,28);"Press SPACE to finish..." 760A%=INKEY(100) 770IF mode49% MODE49:OFF ELSE MODE13:OFF 780CALL init 790UNTIL 0 800 810DEFPROCgraniteproc 820MODE13:OFF 830CS%=FNchoose 840PRINTTAB(14,29);"Please wait..." 850DIM code2 1024+16 860ONERRORREPORT:PRINT" at line ";ERL:END 870PROCcolsg 880link=14 890sp=13 900screen=12 910FORpass=0TO2STEP2 920P%=code2 930[OPT pass 940.granite STMFD (sp)!,{link} 950LDR screen,scrn% 960MOV R1,#253 970.yloopg MOV R0,#1 980.xloopg ADD R2,R0,R1,LSL#6 990ADD R2,R2,R1,LSL#8 1000ADD R2,R2,screen 1010SUB R2,R2,#4 1020LDRB R4,[R2,#0] 1030LDRB R3,[R2,#320*2] 1040ADD R4,R4,R3 1050ADD R2,R2,#2 1060LDRB R3,[R2,#320] 1070ADD R4,R4,R3 1080ADD R2,R2,#2 1090LDRB R3,[R2,#320*2] 1100ADD R4,R4,R3 1110MOV R4,R4,LSL#8-2 1120BL rnd 1130SUB R7,R7,#113 1140ADD R4,R4,R7,ASL#3 1150CMP R4,#0 1160LDRLT R4,oldcol% 1170BLT maus 1180MOVGE R4,R4,ASR#8 1190AND R4,R4,#%1111 1200STRLT R4,oldcol% 1210.maus SUB R2,R2,#1 1220STRB R4,[R2,#0] 1230ADD R0,R0,#2 1240CMP R0,#320 1250SUBLE R0,R0,#1 1260BLE xloopg 1270SUB R1,R1,#1 1280CMP R1,#1 1290BGT yloopg 1300 1310MOV R0,screen 1320ADD R1,R0,#64 1330ADD R2,R0,#81920/2 1340SUB R2,R2,#64 1350.movelp LDMIA R1!,{R3-R10} 1360STMIA R0!,{R3-R10} 1370CMP R1,R2 1380BLT movelp 1390LDMFD (sp)!,{PC} 1400 1410.granite2 STMFD (sp)!,{link} 1420LDR screen,scrn% 1430MOV R5,#320 1440ADD R5,R5,#1 1450MOV R1,#252 1460.yloopg2 MOV R0,#320-128 1470.xloopg2 ADD R2,R0,R1,LSL#6 1480ADD R2,R2,R1,LSL#8 1490ADD R2,R2,screen 1500SUB R2,R2,#4 1510LDRB R4,[R2,#0] 1520LDRB R3,[R2,#320*2] 1530ADD R4,R4,R3 1540ADD R2,R2,#2 1550LDRB R3,[R2,#320] 1560ADD R4,R4,R3 1570ADD R2,R2,#2 1580LDRB R3,[R2,#320*2] 1590ADD R4,R4,R3 1600MOV R4,R4,LSL#8-2 1610BL rnd 1620SUB R7,R7,#113 1630ADD R4,R4,R7,ASL#3 1640CMP R4,#0 1650LDRLT R4,oldcol% 1660BLT maus2 1670MOVGE R4,R4,ASR#8 1680AND R4,R4,#%1111 1690STRLT R4,oldcol% 1700.maus2 SUB R2,R2,#1 1710STRB R4,[R2,#0] 1720ADD R0,R0,#2 1730CMP R0,R5 1740SUBLE R0,R0,#1 1750BLE xloopg2 1760SUB R1,R1,#1 1770CMP R1,#1 1780BGT yloopg2 1790 1800.smudge LDR R1,otherscrn 1810MOV R0,screen 1820ADD R1,R1,#1 1830ADD R0,R0,#320 1840ADD R1,R1,#320 1850ADD R11,R0,#81920 1860SUB R11,R11,#1 1870SUB R11,R11,#320*2 1880 1890.smudgelp LDRB R2,[R0,#0] 1900LDRB R3,[R0,#1] 1910LDRB R4,[R0,#2] 1920SUB R0,R0,#320 1930ADD R0,R0,#1 1940LDRB R5,[R0],#640 1950LDRB R6,[R0,#0] 1960SUB R0,R0,#320 1970SUB R0,R0,#1 1980ADD R3,R3,R2 1990ADD R3,R3,R4 2000ADD R3,R3,R5 2010ADD R3,R3,R6 2020MOV R7,#14 2030MUL R2,R3,R7 2040MOV R2,R2,LSR#6 2050STRB R2,[R1],#1 2060ADD R0,R0,#1 2070CMP R0,R11 2080BLT smudgelp 2090 2100.nosmudge 2110LDR R1,otherscrn 2120ADD R1,R1,#320 2130ADD R0,screen,#320 2140ADD R11,R0,#81920 2150SUB R11,R11,#640 2160.copyloopg LDMIA R1!,{R2-R9} 2170STMIA R0!,{R2-R9} 2180CMP R0,R11 2190BLT copyloopg 2200LDR R0,counter 2210CMP R0,#2 2220ADDLE R0,R0,#1 2230STRLE R0,counter 2240BLE smudge 2250 2260LDR R5,coldata 2270MOV R0,screen 2280ADD R1,R0,#81920 2290.changelp LDRB R2,[R0,#0] 2300LDRB R6,[R5,R2] 2310STRB R6,[R0],#1 2320CMP R0,R1 2330BLT changelp 2340.fini LDMFD (sp)!,{PC} 2350.coldata EQUD code2+1024 2360.oldcol% EQUD 0 2370.scrn% EQUD screen% 2380.otherscrn EQUD code+1024*16+81920 2390.counter EQUD 1 2400.rnd LDR R7,seed 2410LDR R8,c1 2420LDR R9,c2 2430MLA R7,R8,R7,R9 2440MLA R10,R8,R7,R9 2450STR R10,seed 2460EOR R7,R7,R10,ROR#16 2470MOV R8,#256 2480SUB R8,R8,#1 2490AND R7,R7,R8 2500MOV PC,R14 2510.c1 EQUD 1664525 2520.c2 EQUD 907633393 2530.seed EQUD TIME 2540.rnd%EQUD 0 2550] 2560NEXT 2570 2580CALLgranite 2590GCOL 0 TINT 0 2600RECTANGLEFILL 1280-64*4,0,256,1023 2610CALL granite2 2620RECTANGLEFILL 0,1024,1279,-12 2630POINT 0,1023 2640ENDPROC 2650 2660DEFPROCcolsg 2670data%=code2+1024 2680FORI%=0TO15 2690data%?I%=COL%(CS%,I%) 2700NEXT 2710ENDPROC 2720 2730DEFPROCsetup 2740PROCscrn 2750DIM code 1024*16+81920*2 2760ENDPROC 2770 2780DEFPROCcols 2790DIM R(7),G(7),B(7) 2800FOR I%=0 TO 6 2810READ R(I%),G(I%),B(I%) 2820NEXT 2830 2840DIM COL%(7,15) 2850FOR J%=0 TO 7 2860FOR C%=0 TO 15 2870READ COL%(J%,C%) 2880NEXT:NEXT 2890DIM C%(255) 2900 2910DIM cols 256 2920 2930 2940ENDPROC 2950 2960DEFPROCscrn 2970DIM block% 15,b2% 15 2980block%!0=148 2990block%!4=7 3000block%!8=6 3010block%!12=-1 3020SYS "OS_ReadVduVariables",block%,b2% 3030screen%=b2%!0 3040ENDPROC 3050 3060DATA 1,0.5,0.5 3070DATA 1,1,0.5 3080DATA 0.5,1,0.5 3090DATA 0.5,1,1 3100DATA 0.5,0.5,1 3110DATA 1,0.5,1 3120DATA 1,1,1 3130 3140DATA 0,0,1,2,4,5,6,7,16,17,18,19,60,61,62,63 3150DATA 0,0,1,2,36,37,38,39,80,81,82,83,244,245,246,247 3160DATA 0,0,1,2,32,33,34,35,76,77,78,79,240,241,242,243 3170DATA 0,1,2,3,40,41,42,43,196,197,198,199,248,249,250,251 3180DATA 0,0,1,2, 8,9,10,11, 164,165,166,167, 216,217,218,219 3190DATA 0,0,1,2,8,9,10,11,132,133,134,135,184,185,186,187 3200DATA 0,1,2,3,44,45,46,47,208,209,210,211,252,253,254,255 3210DATA 0,1,2,3,44,45,46,47,208,209,210,211,252,253,254,255 3220 3230DEFPROCpic 3240MODE13:OFF 3250PRINTTAB(14,29);"Please wait..." 3260 3270A%=screen% 3280CS%=-1 3290DCS%=1 3300FOR YY%=0 TO 128*7-1 STEP 128 3310CS%+=DCS% 3320IF CS%=4 DCS%=-1 3330FOR Y%=YY% TO YY%+128 STEP 4 3340 3350FOR C%=0 TO 15 3360P%(C%)=16/(( (16*(SIN(Y%/128*PI)^2) -C%)^4)+1) 3370NEXT 3380 3390T%=0 3400C%=0 3410REPEAT 3420 3430WHILE P%(C%)>0 3440P%(C%)-=1 3450T%(T%)=C% 3460T%+=1 3470ENDWHILE 3480C%+=1 3490UNTIL C%=16 3500N%=T%-1 3510 3520FOR X%=0 TO 31 3530C%=COL%(CS%,T%(RND(N%))) 3540IF C%>0 C%-=RND(1) 3550?A%=C% 3560A%+=1 3570NEXT 3580A%-=32 3590A%+=320 3600NEXT 3610NEXT 3620 3630FOR XX%=0 TO 9*32-1 STEP 32 3640A%=screen% 3650 3660FOR Y%=0 TO 255 3670FOR X%=0 TO 7 3680!(A%+XX%)=!A% 3690A%+=4 3700NEXT 3710A%-=32 3720A%+=320 3730NEXT 3740 3750NEXT 3760 3770XX%=RND(2)*4 3780YY%=RND(2)*4 3790DA=PI/RND(16) 3800 3810FOR J%=1 TO 3+RND(3) 3820A=0 3830C%=0 3840FOR I%=0 TO 1279 STEP XX% 3850RECTANGLEFILL I%,0,XX%,1023 TO I%,XX%*SIN(A) 3860A+=DA 3870IF A>2*PI A=0 3880NEXT 3890C%=0 3900A=0 3910FOR I%=0 TO 1023 STEP YY% 3920RECTANGLEFILL 0,I%,1279,YY% TO YY%*SIN(A),I% 3930A+=DA 3940IF A>2*PI A=0 3950NEXT 3960 3970RECTANGLEFILL 0,0,1275,1023 TO 4,0 3980NEXT 3990 4000A%=screen% 4010FOR Y%=0 TO 255 4020FOR X%=0 TO 79 4030?A%=?(A%+160) 4040A%+=1 4050NEXT 4060A%-=80 4070A%+=320 4080NEXT 4090 4100FOR XX%=80 TO 3*80 STEP 80 4110A%=screen% 4120 4130FOR Y%=0 TO 255 4140FOR X%=0 TO 19 4150!(A%+XX%)=!A% 4160A%+=4 4170NEXT 4180A%-=80 4190A%+=320 4200NEXT 4210 4220NEXT 4230ENDPROC 4240 4250DEFPROCplasma 4260MODE13:OFF 4270CS%=FNchoose 4280C%=0 4290FOR I%=0 TO 255 4300SYS "ColourTrans_SetGCOL",FNcol(C%) 4310RECTANGLEFILL 0,1008,16 4320C%(I%)=?screen% 4330C%+=1 4340NEXT 4350 4360C%=0 4370A=0 4380FOR R=820 TO 0 STEP -4 4390C%+=8 4400IF C%>=256 C%=0 4410SYS "ColourTrans_SetGCOL",FNcol(C%) 4420CIRCLEFILL 640,512,R 4430NEXT 4440 4450XX%=4 4460YY%=4 4470A%=6 4480DA=PI/16 4490FOR J%=1 TO 3 4500A=0 4510C%=0 4520FOR I%=0 TO 1279 STEP XX% 4530RECTANGLEFILL I%,0,XX%,1023 TO I%,A%*SIN(A) 4540A+=DA 4550IF A>2*PI A=0 4560NEXT 4570C%=0 4580A=0 4590FOR I%=0 TO 1023 STEP YY% 4600RECTANGLEFILL 0,I%,1279,YY% TO A%*SIN(A),I% 4610A+=DA 4620IF A>2*PI A=0 4630NEXT 4640 4650RECTANGLEFILL 0,0,1275,1023 TO 4,0 4660NEXT 4670FOR I%=0 TO 255 4680IF I%<255 NC%=C%(I%+1) ELSE NC%=C%(0) 4690?(cols+C%(I%))=NC% 4700NEXT 4710 4720ENDPROC 4730 4740DEFFNcol(n%) 4750R%=n%*R(CS%) 4760G%=n%*G(CS%) 4770B%=n%*B(CS%) 4780=(B%<<24)+(G%<<16)+(R%<<8) 4790 4800DEFFNdo_it(n%) 4810reg=n% 4820[OPT pass 4830MOV R7,reg,LSR#24 4840SUB reg,reg,R7,LSL#24 4850MOV R8,reg,LSR#16 4860SUB reg,reg,R8,LSL#16 4870MOV R9,reg,LSR#8 4880SUB reg,reg,R9,LSL#8 4890LDRB reg,[R10,reg] 4900LDRB R7,[R10,R7] 4910LDRB R8,[R10,R8] 4920LDRB R9,[R10,R9] 4930ADD reg,reg,R9,LSL#8 4940ADD reg,reg,R8,LSL#16 4950ADD reg,reg,R7,LSL#24 4960] 4970=1 4980 4990DEFPROCass66 5000FOR pass=0 TO 2 STEP 2:P%=code 5010[OPT pass 5020.yass EQUD 0 5030.init STMFD (sp)!,{link} 5040 5050 BL varsread 5060 SWI &10C 5070 5080ADD R5,screen,#x 5090ADD R5,R5,#320*y 5100LDR R4,pos 5110LDR R3,posdata 5120 5130.mainloop 5140] 5150IF fast% THEN 5160[OPT pass 5170MOV R0,#19 5180SWI "OS_Byte" 5190] 5200ENDIF 5210 5220[OPT pass 5230.kalislower% 5240MOVNV R0,#19 5250SWINV "OS_Byte" 5260 5270LDR R8,spritedata 5280 ADD R4,R4,#320*ymove 5290SUB R4,R4,#xmove 5300 CMP R4,#81920 5310 SUBGE R4,R4,#81920 5320ADD R7,R8,#81920 5330 ADD R8,R8,R4 5340SUB R6,R7,R8 5350 5360 MOV R11,R3 5370STMFD (sp)!,{screen} 5380 5390MOV R12,#0 5400 5410.yloop LDMIA R11!,{R0} 5420 5430] 5440IF mode49% THEN 5450[OPT pass 5460CMP R0,R12 5470ADDGE R5,R5,#320 5480ADDGE R12,R0,#312 5490] 5500ENDIF 5510[OPT pass 5520 5530 5540 5550 CMP R0,#0 5560 BEQ endglobe 5570 5580 ADD R0,R0,R5 5590 5600.xloop2 LDMIA R11!,{R9} 5610 5620 MOV R10,R9,LSR#16 5630 CMP R10,#0 5640 BEQ yloop 5650 SUB R9,R9,R10,LSL#16 5660 5670CMP R10,R6 5680SUBGE R10,R10,#81920 5690 LDRB R1,[R8,R10] 5700 STRB R1,[R0],#1 5710 5720 CMP R9,#0 5730 5740 BEQ yloop 5750 5760 CMP R9,R10 5770 STREQB R1,[R0],#1 5780 BEQ xloop2 5790 5800CMP R9,R6 5810SUBGE R9,R9,#81920 5820 LDRB R1,[R8,R9] 5830 STRB R1,[R0],#1 5840 5850 B xloop2 5860 5870.endglobe 5880LDMFD (sp)!,{screen} 5890 5900] 5910IF mode49% THEN 5920[OPT pass 5930ADD R5,screen,#x 5940ADD R5,R5,#320*y 5950 5960STMFD (sp)!,{R0-R12} 5970 5980MOV R0,screen 5990ADD R1,R0,#320 6000ADD R11,R0,#81920*2 6010.fill_lp 6020ADD R10,R0,#320 6030.xlp 6040LDMIA R0!,{R2-R9} 6050STMIA R1!,{R2-R9} 6060CMP R0,R10 6070BLT xlp 6080 6090ADD R0,R0,#320 6100ADD R1,R1,#320 6110CMP R0,R11 6120BLT fill_lp 6130 6140LDMFD (sp)!,{R0-R12} 6150] 6160 6170ENDIF 6180 6190[OPT pass 6200.plasmado% 6210STMNVFD (sp)!,{R0-R12} 6220BLNV cycle 6230LDMNVFD (sp)!,{R0-R12} 6240 6250MOV R0,#129 6260MVN R1,#98 6270MOV R2,#255 6280SWI "OS_Byte" 6290CMP R2,#255 6300LDMEQFD (sp)!,{PC} 6310 SWI "OS_ReadEscapeState" 6320 BCC mainloop 6330 6340.end LDMFD (sp)!,{PC} 6350 6360.grabsprite 6370LDR R0,screenadd 6380ADD R11,R0,#81920 6390LDR R9,spritedata 6400.grabloop 6410LDMIA R0!,{R1-R8} 6420STMIA R9!,{R1-R8} 6430CMP R0,R11 6440BLT grabloop 6450MOV PC,R14 6460 6470.con EQUD 800 6480.pos EQUD 0 6490.globe 6500 6510.posdata EQUD code+1024*16 6520.spritedata EQUD posdata+81920 6530.varsread LDR screen,screenadd 6540 MOV PC,R14 6550.screenadd EQUD screen% 6560 6570.coldata3 EQUD cols 6580 6590.cycle 6600LDR R12,spritedata 6610LDR R10,coldata3 6620.cycleloop 6630MOV R0,R12 6640ADD R11,R0,#81920 6650SUB R11,R11,#320-8 6660 6670.cyc 6680LDMIA R0,{R1,R2,R3,R4,R5,R6} 6690FNdo_it(1) 6700FNdo_it(2) 6710FNdo_it(3) 6720FNdo_it(4) 6730FNdo_it(5) 6740FNdo_it(6) 6750STMIA R0!,{R1,R2,R3,R4,R5,R6} 6760 6770CMP R0,R11 6780BLT cyc 6790 6800LDMIA R0,{R1,R2} 6810FNdo_it(1) 6820FNdo_it(2) 6830STMIA R0!,{R1,R2} 6840 6850MOV PC,R14 6860] 6870NEXT 6880ENDPROC 6890 6900DEFFNchoose 6910PRINTTAB(4,2);"Please click on a colour scheme." 6920MOUSEON 6930PRINT' 6940A%=screen%+320*32+32 6950FOR S%=0 TO 6 6960FOR C%=0 TO 15 6970CW%=COL%(S%,C%) 6980CW%=CW%+(CW%<<8)+(CW%<<16)+(CW%<<24) 6990 7000FOR Y%=0 TO 15 7010FOR X%=0 TO 3 7020!A%=CW% 7030A%+=4 7040NEXT 7050A%+=320-16 7060NEXT 7070 7080A%-=320*16 7090A%+=16 7100 7110NEXT 7120PRINT STR$ S%;"."'' 7130 7140A%-=16*16 7150A%+=320*24 7160NEXT 7170 7180OS%=0 7190GCOL 3,63 7200RECTANGLE 128,1024-128-64,64*16,64 7210 7220REPEAT 7230MOUSE X,Y,Z 7240S%=((1024-Y)-128) DIV 96 7250IF S%<0 S%=0 ELSE IF S%>6 S%=6 7260IF S%<>OS% RECTANGLE 128,1024-128-64-OS%*96,64*16,64:RECTANGLE 128,1024-128-64-S%*96,64*16,64:OS%=S% 7270UNTIL Z>0 7280=S% 7290 7300DEFPROCsp(N$,x%,y%) 7310SYS"OS_SpriteOp",256+34,s%,N$,x%,y%,8 7320ENDPROC 7330 7340DEFPROCsp2(N$,x%,y%) 7350SYS"OS_SpriteOp",256+34,sb%,N$,x%,y%,8 7360ENDPROC 7370 7380DEFPROCsload(S$) 7390FILE%=OPENIN(S$) 7400SIZE%=EXT#FILE%+64 7410CLOSE#FILE% 7420DIM A% SIZE% 7430A%!0=S% 7440SYS"OS_SpriteOp",256+9,A% 7450SYS"OS_SpriteOp",256+10,A%,S$ 7460s%=A% 7470ENDPROC 7480 7490DEFPROCsloadB 7500FILE%=OPENIN("<ed$dir>.TILES") 7510S$="<ed$dir>.TILES" 7520SIZE%=EXT#FILE%+64 7530CLOSE#FILE% 7540DIM B% SIZE% 7550B%!0=S% 7560SYS"OS_SpriteOp",256+9,B% 7570SYS"OS_SpriteOp",256+10,B%,S$ 7580sb%=B% 7590DIM X%(NT%),Y%(NT%) 7600FOR I%=0 TO NT%-1 7610READ X%(I%),Y%(I%) 7620NEXT 7630ENDPROC 7640 7650DEFPROCenable(n%,add%) 7660bin%=%11101111111111111111111111111111 7670FOR L%=1 TO n% 7680!add%=(!add%) AND bin% 7690add%+=4 7700NEXT 7710ENDPROC 7720 7730DEFPROCdisable(n%,add%) 7740bin%=%00010000000000000000000000000000 7750FOR L%=1 TO n% 7760!add%=(!add%) OR bin% 7770add%+=4 7780NEXT 7790ENDPROC 7800 7810DEFPROCtiled 7820*RAM 7830CLS 7840PRINT''" Please type the name of the sprite file." 7850INPUT F$ 7860PROCsload(F$) 7870PRINT'" Please type the name of the sprite itself." 7880INPUT N$ 7890PRINT'" Please input the sprite's width." 7900INPUT X% 7910PRINT'" Please input the sprite's height." 7920INPUT Y% 7930MODE13 7940OFF 7950PROCtile(N$,X%,Y%) 7960ENDPROC 7970 7980DEFPROCfadein 7990FOR I%=0 TO 255 STEP 8:COLOUR 1,I%,I%,I%:WAIT:NEXT 8000ENDPROC 8010 8020DEFPROCfadeout 8030FOR I%=255 TO 0 STEP -8:COLOUR 1,I%,I%,I%:WAIT:NEXT 8040ENDPROC 8050 8060DEFPROCbtiled 8070MODE13:OFF 8080MOUSEON 8090PRINTTAB(6,2);"Please click on a tiling pattern." 8100X%=64 8110Y%=1024-64*8 8120FOR T%=1 TO NT% 8130PROCsp2(STR$(T%),X%,Y%) 8140X%+=48*4 8150IF X%>=(1279-64-48) X%=64:Y%-=48*4 8160NEXT 8170 8180GCOL 3,63 8190 8200N%=-1 8210REPEAT 8220REPEAT MOUSE X,Y,Z 8230Y=Y+64*8-48*4 8240Y=1024-Y 8250Y=Y DIV 192 8260X=X-48 8270X=X DIV 192 8280X%=X*192+48+16+48*4 8290Y%=(1024-Y*192)-64*8+48*4 8300N%=X+Y*6 8310 8320IF N%<NT% THEN 8330RECTANGLE X%-48*4,Y%-48*4,(X%(N%)-1)*4,(Y%(N%)-1)*4 8340WAIT 8350RECTANGLE X%-48*4,Y%-48*4,(X%(N%)-1)*4,(Y%(N%)-1)*4 8360ENDIF 8370 8380UNTIL Z>0 8390IF X>48 AND X<(1279-64-48) AND Y<(1024-64*4) THEN 8400 8410N%=X+Y*6 8420ENDIF 8430UNTIL N%>-1 AND N%<NT% 8440 8450PROCtileb(STR$(N%+1),X%(N%),Y%(N%)) 8460 8470MOUSEOFF 8480ENDPROC 8490 8500DEFPROCtile(n$,x%,y%) 8510FOR I%=0 TO 1279 STEP x%*4 8520FOR J%=0 TO 1023 STEP y%*4 8530PROCsp(n$,I%,J%) 8540NEXT:NEXT 8550ENDPROC 8560DEFPROCtileb(n$,x%,y%) 8570FOR I%=0 TO 1279 STEP x%*4 8580FOR J%=0 TO 1023 STEP y%*4 8590PROCsp2(n$,I%,J%) 8600NEXT:NEXT 8610ENDPROC 8620 8630DATA 24,24 8640DATA 48,48 8650DATA 32,32 8660DATA 48,48 8670 8680DATA 48,48 8690DATA 20,20 8700DATA 20,20 8710DATA 16,16 8720 8730DATA 48,48 8740DATA 48,48 8750DATA 40,40 8760DATA 20,20 8770 8780DATA 32,32 8790DATA 32,46 8800DATA 40,40 8810DATA 30,30
�0:� A%=�(-�) NT%=16 (� P%(15),T%(255) 2 <� � �:�" at line ";�:� F�'" RiscPC Mode? (Y/N)" P� G$=�:� �"YyNn",G$) Z&� �"Yy",G$) mode49%=-1 � mode49%=0 dfast%=0 n�=0:� I%=0 � 40960:�:A%=� x� A%<25 fast%=-1 � � �cols � �setup � screen=12 � sp=13 �link=14 �x=60 �y=30 � �xmove=1 �ymove=1 � � �ass66 � � 1,0,0,0 �32,8);"Welcome to Tunnl!" "7�20,11);"Code and original design by Edward Smale" ,3�20,13);" Additional design by Daniel Shaw" 6�34,28);"Please wait..." @ J�fadein T ^3�("LOAD <ed$dir>.POSDATA"+" "+�~(code+1024*16)) h�sloadB r�fadeout | �� ��0:� � � 1,0,0,0 �!�12,1);" Welcome to Tunnl!" �2�'" Please choose your preferred texture."' �&� " Press G for Granite texture," �+� " Press K for Kaleidoscope texture," �%� " Press P for Plasma texture," �=� " Press S to load a mode 13 Sprite file from ramdisc," �S� " Press T to create a tiled pattern with a mode13 Sprite file from ramdisc," �3� " Press B to use a built-in tiling texture." ��fadein � � G$=� � �"GgKkSsPpTtBb",G$) & 0� :kali%=0 DY� �"Pp",G$) plasma%=-1:�plasma:�enable(3,plasmado%) � plasma%=0:�disable(3,plasmado%) N X"� G$="G" � G$="g" �graniteproc bA� G$="S" � G$="s" �"RAM":�'"Filename: "F$:�("SCREENLOAD "+F$) l� G$="K" � G$="k" � v�pic �"� fast% �enable(2,kalislower%) �� ��disable(2,kalislower%) �� � �� G$="T" � G$="t" �tiled �� G$="B" � G$="b" �btiled � �ȗ� �� grabsprite ��0:� �'�28,28);"Press SPACE to finish..." � A%=�(100) � mode49% �49:� � �13:� � init � 0 *��graniteproc 4 �13:� >CS%=�choose H�14,29);"Please wait..." R� code2 1024+16 \�:�" at line ";�:� f �colsg plink=14 z sp=13 � screen=12 ��pass=0�2�2 �P%=code2 � [OPT pass �.granite STMFD (sp)!,{link} �LDR screen,scrn% �MOV R1,#253 �.yloopg MOV R0,#1 �.xloopg ADD R2,R0,R1,LSL#6 �ADD R2,R2,R1,LSL#8 �ADD R2,R2,screen �SUB R2,R2,#4 �LDRB R4,[R2,#0] LDRB R3,[R2,#320*2] ADD R4,R4,R3 ADD R2,R2,#2 $LDRB R3,[R2,#320] .ADD R4,R4,R3 8ADD R2,R2,#2 BLDRB R3,[R2,#320*2] LADD R4,R4,R3 VMOV R4,R4,LSL#8-2 ` BL rnd jSUB R7,R7,#113 tADD R4,R4,R7,ASL#3 ~ CMP R4,#0 �LDRLT R4,oldcol% �BLT maus �MOVGE R4,R4,ASR#8 �� R4,R4,#%1111 �STRLT R4,oldcol% �.maus SUB R2,R2,#1 �STRB R4,[R2,#0] �ADD R0,R0,#2 �CMP R0,#320 �SUBLE R0,R0,#1 �BLE xloopg �SUB R1,R1,#1 CMP R1,#1 BGT yloopg MOV R0,screen (ADD R1,R0,#64 2ADD R2,R0,#81920/2 <SUB R2,R2,#64 F.movelp LDMIA R1!,{R3-R10} PSTMIA R0!,{R3-R10} Z CMP R1,R2 dBLT movelp nLDMFD (sp)!,{PC} x � .granite2 STMFD (sp)!,{link} �LDR screen,scrn% �MOV R5,#320 �ADD R5,R5,#1 �MOV R1,#252 �.yloopg2 MOV R0,#320-128 �.xloopg2 ADD R2,R0,R1,LSL#6 �ADD R2,R2,R1,LSL#8 �ADD R2,R2,screen �SUB R2,R2,#4 �LDRB R4,[R2,#0] �LDRB R3,[R2,#320*2] �ADD R4,R4,R3 ADD R2,R2,#2 LDRB R3,[R2,#320] ADD R4,R4,R3 "ADD R2,R2,#2 ,LDRB R3,[R2,#320*2] 6ADD R4,R4,R3 @MOV R4,R4,LSL#8-2 J BL rnd TSUB R7,R7,#113 ^ADD R4,R4,R7,ASL#3 h CMP R4,#0 rLDRLT R4,oldcol% | BLT maus2 �MOVGE R4,R4,ASR#8 �� R4,R4,#%1111 �STRLT R4,oldcol% �.maus2 SUB R2,R2,#1 �STRB R4,[R2,#0] �ADD R0,R0,#2 � CMP R0,R5 �SUBLE R0,R0,#1 �BLE xloopg2 �SUB R1,R1,#1 � CMP R1,#1 �BGT yloopg2 � .smudge LDR R1,otherscrn MOV R0,screen ADD R1,R1,#1 &ADD R0,R0,#320 0ADD R1,R1,#320 :ADD R11,R0,#81920 DSUB R11,R11,#1 NSUB R11,R11,#320*2 X b.smudgelp LDRB R2,[R0,#0] lLDRB R3,[R0,#1] vLDRB R4,[R0,#2] �SUB R0,R0,#320 �ADD R0,R0,#1 �LDRB R5,[R0],#640 �LDRB R6,[R0,#0] �SUB R0,R0,#320 �SUB R0,R0,#1 �ADD R3,R3,R2 �ADD R3,R3,R4 �ADD R3,R3,R5 �ADD R3,R3,R6 �MOV R7,#14 �MUL R2,R3,R7 �MOV R2,R2,LSR#6 STRB R2,[R1],#1 ADD R0,R0,#1 CMP R0,R11 BLT smudgelp * 4 .nosmudge >LDR R1,otherscrn HADD R1,R1,#320 RADD R0,screen,#320 \ADD R11,R0,#81920 fSUB R11,R11,#640 p .copyloopg LDMIA R1!,{R2-R9} zSTMIA R0!,{R2-R9} �CMP R0,R11 �BLT copyloopg �LDR R0,counter � CMP R0,#2 �ADDLE R0,R0,#1 �STRLE R0,counter �BLE smudge � �LDR R5,coldata �MOV R0,screen �ADD R1,R0,#81920 �.changelp LDRB R2,[R0,#0] �LDRB R6,[R5,R2] STRB R6,[R0],#1 CMP R0,R1 BLT changelp $.fini LDMFD (sp)!,{PC} ..coldata EQUD code2+1024 8.oldcol% EQUD 0 B.scrn% EQUD screen% L&.otherscrn EQUD code+1024*16+81920 V.counter EQUD 1 `.rnd LDR R7,seed j LDR R8,c1 t LDR R9,c2 ~MLA R7,R8,R7,R9 �MLA R10,R8,R7,R9 �STR R10,seed �� R7,R7,R10,ROR#16 �MOV R8,#256 �SUB R8,R8,#1 �� R7,R7,R8 �MOV PC,R14 �.c1 EQUD 1664525 �.c2 EQUD 907633393 �.seed EQUD � �.rnd%EQUD 0 �] � �granite � 0 Ȝ 0 (ȓȐ 1280-64*4,0,256,1023 2� granite2 <ȓȐ 0,1024,1279,-12 F Ȓ 0,1023 P� Z d��colsg ndata%=code2+1024 x�I%=0�15 �data%?I%=COL%(CS%,I%) �� �� � ���setup � �scrn �� code 1024*16+81920*2 �� � � ��cols �� R(7),G(7),B(7) �� I%=0 � 6 �� R(I%),G(I%),B(I%) � � COL%(7,15) "� J%=0 � 7 ,� C%=0 � 15 6� COL%(J%,C%) @�:� J � C%(255) T ^� cols 256 h r |� � � ��scrn �� block% 15,b2% 15 �block%!0=148 �block%!4=7 �block%!8=6 �block%!12=-1 �'ș "OS_ReadVduVariables",block%,b2% �screen%=b2%!0 �� � �� 1,0.5,0.5 � � 1,1,0.5 � 0.5,1,0.5 � 0.5,1,1 � 0.5,0.5,1 & � 1,0.5,1 0� 1,1,1 : D-� 0,0,1,2,4,5,6,7,16,17,18,19,60,61,62,63 N5� 0,0,1,2,36,37,38,39,80,81,82,83,244,245,246,247 X5� 0,0,1,2,32,33,34,35,76,77,78,79,240,241,242,243 b9� 0,1,2,3,40,41,42,43,196,197,198,199,248,249,250,251 l:� 0,0,1,2, 8,9,10,11, 164,165,166,167, 216,217,218,219 v7� 0,0,1,2,8,9,10,11,132,133,134,135,184,185,186,187 �9� 0,1,2,3,44,45,46,47,208,209,210,211,252,253,254,255 �9� 0,1,2,3,44,45,46,47,208,209,210,211,252,253,254,255 � � ��pic � �13:� ��14,29);"Please wait..." � �A%=screen% � CS%=-1 � DCS%=1 �� YY%=0 � 128*7-1 � 128 � CS%+=DCS% �� CS%=4 DCS%=-1 � Y%=YY% � YY%+128 � 4 � C%=0 � 15 /P%(C%)=16/(( (16*(�(Y%/128*�)^2) -C%)^4)+1) *� 4 >T%=0 HC%=0 R� \ fȕ P%(C%)>0 p P%(C%)-=1 z T%(T%)=C% � T%+=1 �� � C%+=1 �� C%=16 �N%=T%-1 � �� X%=0 � 31 �C%=COL%(CS%,T%(�(N%))) �� C%>0 C%-=�(1) � ?A%=C% � A%+=1 �� � A%-=32 A%+=320 � � $ .� XX%=0 � 9*32-1 � 32 8A%=screen% B L� Y%=0 � 255 V� X%=0 � 7 `!(A%+XX%)=!A% j A%+=4 t� ~ A%-=32 �A%+=320 �� � �� � �XX%=�(2)*4 �YY%=�(2)*4 �DA=�/�(16) � �� J%=1 � 3+�(3) �A=0 �C%=0 � I%=0 � 1279 � XX% $ȓȐ I%,0,XX%,1023 � I%,XX%*�(A) A+=DA � A>2*� A=0 (� 2C%=0 <A=0 F� I%=0 � 1023 � YY% P$ȓȐ 0,I%,1279,YY% � YY%*�(A),I% Z A+=DA d� A>2*� A=0 n� x �ȓȐ 0,0,1275,1023 � 4,0 �� � �A%=screen% �� Y%=0 � 255 �� X%=0 � 79 �?A%=?(A%+160) � A%+=1 �� � A%-=80 �A%+=320 �� � � XX%=80 � 3*80 � 80 A%=screen% "� Y%=0 � 255 ,� X%=0 � 19 6!(A%+XX%)=!A% @ A%+=4 J� T A%-=80 ^A%+=320 h� r |� �� � ���plasma � �13:� �CS%=�choose �C%=0 �� I%=0 � 255 �%ș "ColourTrans_SetGCOL",�col(C%) �ȓȐ 0,1008,16 �C%(I%)=?screen% � C%+=1 �� � C%=0 A=0 � R=820 � 0 � -4 & C%+=8 0� C%>=256 C%=0 :%ș "ColourTrans_SetGCOL",�col(C%) DȏȐ 640,512,R N� X b XX%=4 l YY%=4 vA%=6 �DA=�/16 �� J%=1 � 3 �A=0 �C%=0 �� I%=0 � 1279 � XX% �#ȓȐ I%,0,XX%,1023 � I%,A%*�(A) � A+=DA �� A>2*� A=0 �� �C%=0 �A=0 �� I%=0 � 1023 � YY% �#ȓȐ 0,I%,1279,YY% � A%*�(A),I% A+=DA � A>2*� A=0 � *ȓȐ 0,0,1275,1023 � 4,0 4� >� I%=0 � 255 H%� I%<255 NC%=C%(I%+1) � NC%=C%(0) R?(cols+C%(I%))=NC% \� f p� z � ݤcol(n%) �R%=n%*R(CS%) �G%=n%*G(CS%) �B%=n%*B(CS%) �=(B%<<24)+(G%<<16)+(R%<<8) � �ݤdo_it(n%) � reg=n% � [OPT pass �MOV R7,reg,LSR#24 �SUB reg,reg,R7,LSL#24 �MOV R8,reg,LSR#16 �SUB reg,reg,R8,LSL#16 MOV R9,reg,LSR#8 SUB reg,reg,R9,LSL#8 LDRB reg,[R10,reg] $LDRB R7,[R10,R7] .LDRB R8,[R10,R8] 8LDRB R9,[R10,R9] BADD reg,reg,R9,LSL#8 LADD reg,reg,R8,LSL#16 VADD reg,reg,R7,LSL#24 `] j=1 t ~��ass66 �� pass=0 � 2 � 2:P%=code � [OPT pass �.yass EQUD 0 �".init STMFD (sp)!,{link} � � BL varsread � SWI &10C � �ADD R5,screen,#x �ADD R5,R5,#320*y �LDR R4,pos �LDR R3,posdata .mainloop ] � fast% � ( [OPT pass 2MOV R0,#19 <SWI "OS_Byte" F] P� Z d [OPT pass n.kalislower% xMOVNV R0,#19 �SWINV "OS_Byte" � �LDR R8,spritedata �$ ADD R4,R4,#320*ymove �SUB R4,R4,#xmove � CMP R4,#81920 �" SUBGE R4,R4,#81920 �ADD R7,R8,#81920 � ADD R8,R8,R4 �SUB R6,R7,R8 � � MOV R11,R3 �STMFD (sp)!,{screen} MOV R12,#0 ".yloop LDMIA R11!,{R0} , 6] @� mode49% � J [OPT pass TCMP R0,R12 ^ADDGE R5,R5,#320 hADDGE R12,R0,#312 r] |� � [OPT pass � � � � CMP R0,#0 � BEQ endglobe � � ADD R0,R0,R5 � �.xloop2 LDMIA R11!,{R9} � �# MOV R10,R9,LSR#16 � CMP R10,#0 BEQ yloop & SUB R9,R9,R10,LSL#16 &CMP R10,R6 0SUBGE R10,R10,#81920 :! LDRB R1,[R8,R10] D STRB R1,[R0],#1 N X CMP R9,#0 b l BEQ yloop v � CMP R9,R10 �" STREQB R1,[R0],#1 � BEQ xloop2 � � CMP R9,R6 �SUBGE R9,R9,#81920 �" LDRB R1,[R8,R9] �" STRB R1,[R0],#1 � � B xloop2 � � .endglobe �LDMFD (sp)!,{screen} ] � mode49% � [OPT pass *ADD R5,screen,#x 4ADD R5,R5,#320*y > HSTMFD (sp)!,{R0-R12} R \MOV R0,screen fADD R1,R0,#320 pADD R11,R0,#81920*2 z.fill_lp �ADD R10,R0,#320 �.xlp �LDMIA R0!,{R2-R9} �STMIA R1!,{R2-R9} �CMP R0,R10 �BLT xlp � �ADD R0,R0,#320 �ADD R1,R1,#320 �CMP R0,R11 �BLT fill_lp � �LDMFD (sp)!,{R0-R12} ] � $ . [OPT pass 8.plasmado% BSTMNVFD (sp)!,{R0-R12} LBLNV cycle VLDMNVFD (sp)!,{R0-R12} ` jMOV R0,#129 tMVN R1,#98 ~MOV R2,#255 �SWI "OS_Byte" �CMP R2,#255 �LDMEQFD (sp)!,{PC} �( SWI "OS_ReadEscapeState" � BCC mainloop � � .end LDMFD (sp)!,{PC} � �.grabsprite �LDR R0,screenadd �ADD R11,R0,#81920 �LDR R9,spritedata .grabloop LDMIA R0!,{R1-R8} STMIA R9!,{R1-R8} CMP R0,R11 (BLT grabloop 2MOV PC,R14 < F.con EQUD 800 P.pos EQUD 0 Z .globe d n!.posdata EQUD code+1024*16 x".spritedata EQUD posdata+81920 �%.varsread LDR screen,screenadd � MOV PC,R14 �.screenadd EQUD screen% � �.coldata3 EQUD cols � � .cycle �LDR R12,spritedata �LDR R10,coldata3 �.cycleloop �MOV R0,R12 �ADD R11,R0,#81920 �SUB R11,R11,#320-8 .cyc LDMIA R0,{R1,R2,R3,R4,R5,R6} " �do_it(1) , �do_it(2) 6 �do_it(3) @ �do_it(4) J �do_it(5) T �do_it(6) ^!STMIA R0!,{R1,R2,R3,R4,R5,R6} h rCMP R0,R11 |BLT cyc � �LDMIA R0,{R1,R2} � �do_it(1) � �do_it(2) �STMIA R0!,{R1,R2} � �MOV PC,R14 �] �� �� � �ݤchoose �-�4,2);"Please click on a colour scheme." ȗ� �' A%=screen%+320*32+32 &� S%=0 � 6 0� C%=0 � 15 :CW%=COL%(S%,C%) D(CW%=CW%+(CW%<<8)+(CW%<<16)+(CW%<<24) N X� Y%=0 � 15 b� X%=0 � 3 l!A%=CW% v A%+=4 �� �A%+=320-16 �� � �A%-=320*16 � A%+=16 � �� �� � S%;"."'' � � A%-=16*16 �A%+=320*24 �� OS%=0 � 3,63 ȓ 128,1024-128-64,64*16,64 * 4� >ȗ X,Y,Z HS%=((1024-Y)-128) � 96 R� S%<0 S%=0 � � S%>6 S%=6 \Y� S%<>OS% ȓ 128,1024-128-64-OS%*96,64*16,64:ȓ 128,1024-128-64-S%*96,64*16,64:OS%=S% f � Z>0 p=S% z ���sp(N$,x%,y%) �(ș"OS_SpriteOp",256+34,s%,N$,x%,y%,8 �� � ���sp2(N$,x%,y%) �)ș"OS_SpriteOp",256+34,sb%,N$,x%,y%,8 �� � ���sload(S$) �FILE%=�(S$) �SIZE%=�#FILE%+64 ��#FILE% �� A% SIZE% A%!0=S% ș"OS_SpriteOp",256+9,A% ș"OS_SpriteOp",256+10,A%,S$ $ s%=A% .� 8 B��sloadB LFILE%=�("<ed$dir>.TILES") VS$="<ed$dir>.TILES" `SIZE%=�#FILE%+64 j�#FILE% t� B% SIZE% ~B%!0=S% �ș"OS_SpriteOp",256+9,B% � ș"OS_SpriteOp",256+10,B%,S$ � sb%=B% �� X%(NT%),Y%(NT%) �� I%=0 � NT%-1 �� X%(I%),Y%(I%) �� �� � ���enable(n%,add%) �*bin%=%11101111111111111111111111111111 �� L%=1 � n% !add%=(!add%) � bin% add%+=4 � � ( 2��disable(n%,add%) <*bin%=%00010000000000000000000000000000 F� L%=1 � n% P!add%=(!add%) � bin% Zadd%+=4 d� n� x ���tiled �*RAM �� �4�''" Please type the name of the sprite file." �� F$ ��sload(F$) �5�'" Please type the name of the sprite itself." �� N$ �+�'" Please input the sprite's width." �� X% �,�'" Please input the sprite's height." �� Y% ��13 � �tile(N$,X%,Y%) � " ,��fadein 6&� I%=0 � 255 � 8:� 1,I%,I%,I%:Ȗ:� @� J T ��fadeout ^'� I%=255 � 0 � -8:� 1,I%,I%,I%:Ȗ:� h� r |��btiled � �13:� �ȗ� �.�6,2);"Please click on a tiling pattern." � X%=64 �Y%=1024-64*8 �� T%=1 � NT% ��sp2(�(T%),X%,Y%) �X%+=48*4 �%� X%>=(1279-64-48) X%=64:Y%-=48*4 �� � � � 3,63 � N%=-1 � � ȗ X,Y,Z &Y=Y+64*8-48*4 0Y=1024-Y : Y=Y � 192 D X=X-48 N X=X � 192 XX%=X*192+48+16+48*4 bY%=(1024-Y*192)-64*8+48*4 lN%=X+Y*6 v �� N%<NT% � �0ȓ X%-48*4,Y%-48*4,(X%(N%)-1)*4,(Y%(N%)-1)*4 �Ȗ �0ȓ X%-48*4,Y%-48*4,(X%(N%)-1)*4,(Y%(N%)-1)*4 �� � � � Z>0 �-� X>48 � X<(1279-64-48) � Y<(1024-64*4) � � �N%=X+Y*6 �� �� N%>-1 � N%<NT% � !!�tileb(�(N%+1),X%(N%),Y%(N%)) ! !ȗ� ! � !* !4��tile(n$,x%,y%) !>� I%=0 � 1279 � x%*4 !H� J%=0 � 1023 � y%*4 !R�sp(n$,I%,J%) !\�:� !f� !p��tileb(n$,x%,y%) !z� I%=0 � 1279 � x%*4 !�� J%=0 � 1023 � y%*4 !��sp2(n$,I%,J%) !��:� !�� !� !�� 24,24 !�� 48,48 !�� 32,32 !�� 48,48 !� !�� 48,48 !�� 20,20 !�� 20,20 "� 16,16 " "� 48,48 "$� 48,48 ".� 40,40 "8� 20,20 "B "L� 32,32 "V� 32,46 "`� 40,40 "j� 30,30 �
00000000 0d 00 0a 08 eb 30 3a 87 0d 00 14 0c 41 25 3d b3 |.....0:.....A%=.| 00000010 28 2d 91 29 0d 00 1e 0a 4e 54 25 3d 31 36 0d 00 |(-.)....NT%=16..| 00000020 28 14 de 20 50 25 28 31 35 29 2c 54 25 28 32 35 |(.. P%(15),T%(25| 00000030 35 29 0d 00 32 04 0d 00 3c 1a ee 20 85 20 f6 3a |5)..2...<.. . .:| 00000040 f1 22 20 61 74 20 6c 69 6e 65 20 22 3b 9e 3a e0 |." at line ";.:.| 00000050 0d 00 46 1c e8 27 22 20 20 52 69 73 63 50 43 20 |..F..'" RiscPC | 00000060 4d 6f 64 65 3f 20 28 59 2f 4e 29 22 0d 00 50 18 |Mode? (Y/N)"..P.| 00000070 f5 20 47 24 3d be 3a fd 20 a7 22 59 79 4e 6e 22 |. G$=.:. ."YyNn"| 00000080 2c 47 24 29 0d 00 5a 26 e7 20 a7 22 59 79 22 2c |,G$)..Z&. ."Yy",| 00000090 47 24 29 20 6d 6f 64 65 34 39 25 3d 2d 31 20 8b |G$) mode49%=-1 .| 000000a0 20 6d 6f 64 65 34 39 25 3d 30 0d 00 64 0b 66 61 | mode49%=0..d.fa| 000000b0 73 74 25 3d 30 0d 00 6e 1d d1 3d 30 3a e3 20 49 |st%=0..n..=0:. I| 000000c0 25 3d 30 20 b8 20 34 30 39 36 30 3a ed 3a 41 25 |%=0 . 40960:.:A%| 000000d0 3d 91 0d 00 78 14 e7 20 41 25 3c 32 35 20 66 61 |=...x.. A%<25 fa| 000000e0 73 74 25 3d 2d 31 0d 00 82 04 0d 00 8c 09 f2 63 |st%=-1.........c| 000000f0 6f 6c 73 0d 00 96 0a f2 73 65 74 75 70 0d 00 a0 |ols.....setup...| 00000100 0d 73 63 72 65 65 6e 3d 31 32 0d 00 aa 09 73 70 |.screen=12....sp| 00000110 3d 31 33 0d 00 b4 0b 6c 69 6e 6b 3d 31 34 0d 00 |=13....link=14..| 00000120 be 08 78 3d 36 30 0d 00 c8 08 79 3d 33 30 0d 00 |..x=60....y=30..| 00000130 d2 04 0d 00 dc 0b 78 6d 6f 76 65 3d 31 0d 00 e6 |......xmove=1...| 00000140 0b 79 6d 6f 76 65 3d 31 0d 00 f0 04 0d 00 fa 0a |.ymove=1........| 00000150 f2 61 73 73 36 36 0d 01 04 05 db 0d 01 0e 0d fb |.ass66..........| 00000160 20 31 2c 30 2c 30 2c 30 0d 01 18 1f f1 8a 33 32 | 1,0,0,0......32| 00000170 2c 38 29 3b 22 57 65 6c 63 6f 6d 65 20 74 6f 20 |,8);"Welcome to | 00000180 54 75 6e 6e 6c 21 22 0d 01 22 37 f1 8a 32 30 2c |Tunnl!".."7..20,| 00000190 31 31 29 3b 22 43 6f 64 65 20 61 6e 64 20 6f 72 |11);"Code and or| 000001a0 69 67 69 6e 61 6c 20 64 65 73 69 67 6e 20 62 79 |iginal design by| 000001b0 20 45 64 77 61 72 64 20 53 6d 61 6c 65 22 0d 01 | Edward Smale"..| 000001c0 2c 33 f1 8a 32 30 2c 31 33 29 3b 22 20 20 20 20 |,3..20,13);" | 000001d0 41 64 64 69 74 69 6f 6e 61 6c 20 64 65 73 69 67 |Additional desig| 000001e0 6e 20 62 79 20 44 61 6e 69 65 6c 20 53 68 61 77 |n by Daniel Shaw| 000001f0 22 0d 01 36 1d f1 8a 33 34 2c 32 38 29 3b 22 50 |"..6...34,28);"P| 00000200 6c 65 61 73 65 20 77 61 69 74 2e 2e 2e 22 0d 01 |lease wait..."..| 00000210 40 04 0d 01 4a 0b f2 66 61 64 65 69 6e 0d 01 54 |@...J..fadein..T| 00000220 04 0d 01 5e 33 ff 28 22 4c 4f 41 44 20 3c 65 64 |...^3.("LOAD <ed| 00000230 24 64 69 72 3e 2e 50 4f 53 44 41 54 41 22 2b 22 |$dir>.POSDATA"+"| 00000240 20 22 2b c3 7e 28 63 6f 64 65 2b 31 30 32 34 2a | "+.~(code+1024*| 00000250 31 36 29 29 0d 01 68 0b f2 73 6c 6f 61 64 42 0d |16))..h..sloadB.| 00000260 01 72 0c f2 66 61 64 65 6f 75 74 0d 01 7c 04 0d |.r..fadeout..|..| 00000270 01 86 05 f5 0d 01 90 08 eb 30 3a 87 0d 01 9a 0d |.........0:.....| 00000280 fb 20 31 2c 30 2c 30 2c 30 0d 01 a4 21 f1 8a 31 |. 1,0,0,0...!..1| 00000290 32 2c 31 29 3b 22 20 20 57 65 6c 63 6f 6d 65 20 |2,1);" Welcome | 000002a0 74 6f 20 54 75 6e 6e 6c 21 22 0d 01 ae 32 f1 27 |to Tunnl!"...2.'| 000002b0 22 20 20 20 20 50 6c 65 61 73 65 20 63 68 6f 6f |" Please choo| 000002c0 73 65 20 79 6f 75 72 20 70 72 65 66 65 72 72 65 |se your preferre| 000002d0 64 20 74 65 78 74 75 72 65 2e 22 27 0d 01 b8 26 |d texture."'...&| 000002e0 f1 20 22 20 20 50 72 65 73 73 20 47 20 66 6f 72 |. " Press G for| 000002f0 20 47 72 61 6e 69 74 65 20 74 65 78 74 75 72 65 | Granite texture| 00000300 2c 22 0d 01 c2 2b f1 20 22 20 20 50 72 65 73 73 |,"...+. " Press| 00000310 20 4b 20 66 6f 72 20 4b 61 6c 65 69 64 6f 73 63 | K for Kaleidosc| 00000320 6f 70 65 20 74 65 78 74 75 72 65 2c 22 0d 01 cc |ope texture,"...| 00000330 25 f1 20 22 20 20 50 72 65 73 73 20 50 20 66 6f |%. " Press P fo| 00000340 72 20 50 6c 61 73 6d 61 20 74 65 78 74 75 72 65 |r Plasma texture| 00000350 2c 22 0d 01 d6 3d f1 20 22 20 20 50 72 65 73 73 |,"...=. " Press| 00000360 20 53 20 74 6f 20 6c 6f 61 64 20 61 20 6d 6f 64 | S to load a mod| 00000370 65 20 31 33 20 53 70 72 69 74 65 20 66 69 6c 65 |e 13 Sprite file| 00000380 20 66 72 6f 6d 20 72 61 6d 64 69 73 63 2c 22 0d | from ramdisc,".| 00000390 01 e0 53 f1 20 22 20 20 50 72 65 73 73 20 54 20 |..S. " Press T | 000003a0 74 6f 20 63 72 65 61 74 65 20 61 20 74 69 6c 65 |to create a tile| 000003b0 64 20 70 61 74 74 65 72 6e 20 77 69 74 68 20 61 |d pattern with a| 000003c0 20 6d 6f 64 65 31 33 20 53 70 72 69 74 65 20 66 | mode13 Sprite f| 000003d0 69 6c 65 20 66 72 6f 6d 20 72 61 6d 64 69 73 63 |ile from ramdisc| 000003e0 2c 22 0d 01 ea 33 f1 20 22 20 20 50 72 65 73 73 |,"...3. " Press| 000003f0 20 42 20 74 6f 20 75 73 65 20 61 20 62 75 69 6c | B to use a buil| 00000400 74 2d 69 6e 20 74 69 6c 69 6e 67 20 74 65 78 74 |t-in tiling text| 00000410 75 72 65 2e 22 0d 01 f4 0b f2 66 61 64 65 69 6e |ure.".....fadein| 00000420 0d 01 fe 04 0d 02 08 05 f5 0d 02 12 08 47 24 3d |.............G$=| 00000430 be 0d 02 1c 19 fd 20 a7 22 47 67 4b 6b 53 73 50 |...... ."GgKkSsP| 00000440 70 54 74 42 62 22 2c 47 24 29 0d 02 26 04 0d 02 |pTtBb",G$)..&...| 00000450 30 05 db 0d 02 3a 0b 6b 61 6c 69 25 3d 30 0d 02 |0....:.kali%=0..| 00000460 44 59 e7 20 a7 22 50 70 22 2c 47 24 29 20 70 6c |DY. ."Pp",G$) pl| 00000470 61 73 6d 61 25 3d 2d 31 3a f2 70 6c 61 73 6d 61 |asma%=-1:.plasma| 00000480 3a f2 65 6e 61 62 6c 65 28 33 2c 70 6c 61 73 6d |:.enable(3,plasm| 00000490 61 64 6f 25 29 20 8b 20 70 6c 61 73 6d 61 25 3d |ado%) . plasma%=| 000004a0 30 3a f2 64 69 73 61 62 6c 65 28 33 2c 70 6c 61 |0:.disable(3,pla| 000004b0 73 6d 61 64 6f 25 29 0d 02 4e 04 0d 02 58 22 e7 |smado%)..N...X".| 000004c0 20 47 24 3d 22 47 22 20 84 20 47 24 3d 22 67 22 | G$="G" . G$="g"| 000004d0 20 f2 67 72 61 6e 69 74 65 70 72 6f 63 0d 02 62 | .graniteproc..b| 000004e0 41 e7 20 47 24 3d 22 53 22 20 84 20 47 24 3d 22 |A. G$="S" . G$="| 000004f0 73 22 20 ff 22 52 41 4d 22 3a e8 27 22 46 69 6c |s" ."RAM":.'"Fil| 00000500 65 6e 61 6d 65 3a 20 22 46 24 3a ff 28 22 53 43 |ename: "F$:.("SC| 00000510 52 45 45 4e 4c 4f 41 44 20 22 2b 46 24 29 0d 02 |REENLOAD "+F$)..| 00000520 6c 17 e7 20 47 24 3d 22 4b 22 20 84 20 47 24 3d |l.. G$="K" . G$=| 00000530 22 6b 22 20 8c 0d 02 76 08 f2 70 69 63 0d 02 80 |"k" ...v..pic...| 00000540 22 e7 20 66 61 73 74 25 20 f2 65 6e 61 62 6c 65 |". fast% .enable| 00000550 28 32 2c 6b 61 6c 69 73 6c 6f 77 65 72 25 29 0d |(2,kalislower%).| 00000560 02 8a 05 cc 0d 02 94 1b f2 64 69 73 61 62 6c 65 |.........disable| 00000570 28 32 2c 6b 61 6c 69 73 6c 6f 77 65 72 25 29 0d |(2,kalislower%).| 00000580 02 9e 05 cd 0d 02 a8 04 0d 02 b2 1c e7 20 47 24 |............. G$| 00000590 3d 22 54 22 20 84 20 47 24 3d 22 74 22 20 f2 74 |="T" . G$="t" .t| 000005a0 69 6c 65 64 0d 02 bc 1d e7 20 47 24 3d 22 42 22 |iled..... G$="B"| 000005b0 20 84 20 47 24 3d 22 62 22 20 f2 62 74 69 6c 65 | . G$="b" .btile| 000005c0 64 0d 02 c6 04 0d 02 d0 07 c8 97 87 0d 02 da 10 |d...............| 000005d0 d6 20 67 72 61 62 73 70 72 69 74 65 0d 02 e4 08 |. grabsprite....| 000005e0 eb 30 3a 87 0d 02 ee 27 f1 8a 32 38 2c 32 38 29 |.0:....'..28,28)| 000005f0 3b 22 50 72 65 73 73 20 53 50 41 43 45 20 74 6f |;"Press SPACE to| 00000600 20 66 69 6e 69 73 68 2e 2e 2e 22 0d 02 f8 0d 41 | finish..."....A| 00000610 25 3d a6 28 31 30 30 29 0d 03 02 1b e7 20 6d 6f |%=.(100)..... mo| 00000620 64 65 34 39 25 20 eb 34 39 3a 87 20 8b 20 eb 31 |de49% .49:. . .1| 00000630 33 3a 87 0d 03 0c 0a d6 20 69 6e 69 74 0d 03 16 |3:...... init...| 00000640 07 fd 20 30 0d 03 20 04 0d 03 2a 11 dd f2 67 72 |.. 0.. ...*...gr| 00000650 61 6e 69 74 65 70 72 6f 63 0d 03 34 09 eb 31 33 |aniteproc..4..13| 00000660 3a 87 0d 03 3e 0f 43 53 25 3d a4 63 68 6f 6f 73 |:...>.CS%=.choos| 00000670 65 0d 03 48 1d f1 8a 31 34 2c 32 39 29 3b 22 50 |e..H...14,29);"P| 00000680 6c 65 61 73 65 20 77 61 69 74 2e 2e 2e 22 0d 03 |lease wait..."..| 00000690 52 13 de 20 63 6f 64 65 32 20 31 30 32 34 2b 31 |R.. code2 1024+1| 000006a0 36 0d 03 5c 18 ee 85 f6 3a f1 22 20 61 74 20 6c |6..\....:." at l| 000006b0 69 6e 65 20 22 3b 9e 3a e0 0d 03 66 0a f2 63 6f |ine ";.:...f..co| 000006c0 6c 73 67 0d 03 70 0b 6c 69 6e 6b 3d 31 34 0d 03 |lsg..p.link=14..| 000006d0 7a 09 73 70 3d 31 33 0d 03 84 0d 73 63 72 65 65 |z.sp=13....scree| 000006e0 6e 3d 31 32 0d 03 8e 0f e3 70 61 73 73 3d 30 b8 |n=12.....pass=0.| 000006f0 32 88 32 0d 03 98 0c 50 25 3d 63 6f 64 65 32 0d |2.2....P%=code2.| 00000700 03 a2 0d 5b 4f 50 54 20 70 61 73 73 0d 03 ac 1f |...[OPT pass....| 00000710 2e 67 72 61 6e 69 74 65 20 53 54 4d 46 44 20 28 |.granite STMFD (| 00000720 73 70 29 21 2c 7b 6c 69 6e 6b 7d 0d 03 b6 14 4c |sp)!,{link}....L| 00000730 44 52 20 73 63 72 65 65 6e 2c 73 63 72 6e 25 0d |DR screen,scrn%.| 00000740 03 c0 0f 4d 4f 56 20 52 31 2c 23 32 35 33 0d 03 |...MOV R1,#253..| 00000750 ca 15 2e 79 6c 6f 6f 70 67 20 4d 4f 56 20 52 30 |...yloopg MOV R0| 00000760 2c 23 31 0d 03 d4 1e 2e 78 6c 6f 6f 70 67 20 41 |,#1.....xloopg A| 00000770 44 44 20 52 32 2c 52 30 2c 52 31 2c 4c 53 4c 23 |DD R2,R0,R1,LSL#| 00000780 36 0d 03 de 16 41 44 44 20 52 32 2c 52 32 2c 52 |6....ADD R2,R2,R| 00000790 31 2c 4c 53 4c 23 38 0d 03 e8 14 41 44 44 20 52 |1,LSL#8....ADD R| 000007a0 32 2c 52 32 2c 73 63 72 65 65 6e 0d 03 f2 10 53 |2,R2,screen....S| 000007b0 55 42 20 52 32 2c 52 32 2c 23 34 0d 03 fc 13 4c |UB R2,R2,#4....L| 000007c0 44 52 42 20 52 34 2c 5b 52 32 2c 23 30 5d 0d 04 |DRB R4,[R2,#0]..| 000007d0 06 17 4c 44 52 42 20 52 33 2c 5b 52 32 2c 23 33 |..LDRB R3,[R2,#3| 000007e0 32 30 2a 32 5d 0d 04 10 10 41 44 44 20 52 34 2c |20*2]....ADD R4,| 000007f0 52 34 2c 52 33 0d 04 1a 10 41 44 44 20 52 32 2c |R4,R3....ADD R2,| 00000800 52 32 2c 23 32 0d 04 24 15 4c 44 52 42 20 52 33 |R2,#2..$.LDRB R3| 00000810 2c 5b 52 32 2c 23 33 32 30 5d 0d 04 2e 10 41 44 |,[R2,#320]....AD| 00000820 44 20 52 34 2c 52 34 2c 52 33 0d 04 38 10 41 44 |D R4,R4,R3..8.AD| 00000830 44 20 52 32 2c 52 32 2c 23 32 0d 04 42 17 4c 44 |D R2,R2,#2..B.LD| 00000840 52 42 20 52 33 2c 5b 52 32 2c 23 33 32 30 2a 32 |RB R3,[R2,#320*2| 00000850 5d 0d 04 4c 10 41 44 44 20 52 34 2c 52 34 2c 52 |]..L.ADD R4,R4,R| 00000860 33 0d 04 56 15 4d 4f 56 20 52 34 2c 52 34 2c 4c |3..V.MOV R4,R4,L| 00000870 53 4c 23 38 2d 32 0d 04 60 0a 42 4c 20 72 6e 64 |SL#8-2..`.BL rnd| 00000880 0d 04 6a 12 53 55 42 20 52 37 2c 52 37 2c 23 31 |..j.SUB R7,R7,#1| 00000890 31 33 0d 04 74 16 41 44 44 20 52 34 2c 52 34 2c |13..t.ADD R4,R4,| 000008a0 52 37 2c 41 53 4c 23 33 0d 04 7e 0d 43 4d 50 20 |R7,ASL#3..~.CMP | 000008b0 52 34 2c 23 30 0d 04 88 14 4c 44 52 4c 54 20 52 |R4,#0....LDRLT R| 000008c0 34 2c 6f 6c 64 63 6f 6c 25 0d 04 92 0c 42 4c 54 |4,oldcol%....BLT| 000008d0 20 6d 61 75 73 0d 04 9c 15 4d 4f 56 47 45 20 52 | maus....MOVGE R| 000008e0 34 2c 52 34 2c 41 53 52 23 38 0d 04 a6 12 80 20 |4,R4,ASR#8..... | 000008f0 52 34 2c 52 34 2c 23 25 31 31 31 31 0d 04 b0 14 |R4,R4,#%1111....| 00000900 53 54 52 4c 54 20 52 34 2c 6f 6c 64 63 6f 6c 25 |STRLT R4,oldcol%| 00000910 0d 04 ba 16 2e 6d 61 75 73 20 53 55 42 20 52 32 |.....maus SUB R2| 00000920 2c 52 32 2c 23 31 0d 04 c4 13 53 54 52 42 20 52 |,R2,#1....STRB R| 00000930 34 2c 5b 52 32 2c 23 30 5d 0d 04 ce 10 41 44 44 |4,[R2,#0]....ADD| 00000940 20 52 30 2c 52 30 2c 23 32 0d 04 d8 0f 43 4d 50 | R0,R0,#2....CMP| 00000950 20 52 30 2c 23 33 32 30 0d 04 e2 12 53 55 42 4c | R0,#320....SUBL| 00000960 45 20 52 30 2c 52 30 2c 23 31 0d 04 ec 0e 42 4c |E R0,R0,#1....BL| 00000970 45 20 78 6c 6f 6f 70 67 0d 04 f6 10 53 55 42 20 |E xloopg....SUB | 00000980 52 31 2c 52 31 2c 23 31 0d 05 00 0d 43 4d 50 20 |R1,R1,#1....CMP | 00000990 52 31 2c 23 31 0d 05 0a 0e 42 47 54 20 79 6c 6f |R1,#1....BGT ylo| 000009a0 6f 70 67 0d 05 14 04 0d 05 1e 11 4d 4f 56 20 52 |opg........MOV R| 000009b0 30 2c 73 63 72 65 65 6e 0d 05 28 11 41 44 44 20 |0,screen..(.ADD | 000009c0 52 31 2c 52 30 2c 23 36 34 0d 05 32 16 41 44 44 |R1,R0,#64..2.ADD| 000009d0 20 52 32 2c 52 30 2c 23 38 31 39 32 30 2f 32 0d | R2,R0,#81920/2.| 000009e0 05 3c 11 53 55 42 20 52 32 2c 52 32 2c 23 36 34 |.<.SUB R2,R2,#64| 000009f0 0d 05 46 1e 2e 6d 6f 76 65 6c 70 20 4c 44 4d 49 |..F..movelp LDMI| 00000a00 41 20 52 31 21 2c 7b 52 33 2d 52 31 30 7d 0d 05 |A R1!,{R3-R10}..| 00000a10 50 16 53 54 4d 49 41 20 52 30 21 2c 7b 52 33 2d |P.STMIA R0!,{R3-| 00000a20 52 31 30 7d 0d 05 5a 0d 43 4d 50 20 52 31 2c 52 |R10}..Z.CMP R1,R| 00000a30 32 0d 05 64 0e 42 4c 54 20 6d 6f 76 65 6c 70 0d |2..d.BLT movelp.| 00000a40 05 6e 14 4c 44 4d 46 44 20 28 73 70 29 21 2c 7b |.n.LDMFD (sp)!,{| 00000a50 50 43 7d 0d 05 78 04 0d 05 82 20 2e 67 72 61 6e |PC}..x.... .gran| 00000a60 69 74 65 32 20 53 54 4d 46 44 20 28 73 70 29 21 |ite2 STMFD (sp)!| 00000a70 2c 7b 6c 69 6e 6b 7d 0d 05 8c 14 4c 44 52 20 73 |,{link}....LDR s| 00000a80 63 72 65 65 6e 2c 73 63 72 6e 25 0d 05 96 0f 4d |creen,scrn%....M| 00000a90 4f 56 20 52 35 2c 23 33 32 30 0d 05 a0 10 41 44 |OV R5,#320....AD| 00000aa0 44 20 52 35 2c 52 35 2c 23 31 0d 05 aa 0f 4d 4f |D R5,R5,#1....MO| 00000ab0 56 20 52 31 2c 23 32 35 32 0d 05 b4 1c 2e 79 6c |V R1,#252.....yl| 00000ac0 6f 6f 70 67 32 20 4d 4f 56 20 52 30 2c 23 33 32 |oopg2 MOV R0,#32| 00000ad0 30 2d 31 32 38 0d 05 be 1f 2e 78 6c 6f 6f 70 67 |0-128.....xloopg| 00000ae0 32 20 41 44 44 20 52 32 2c 52 30 2c 52 31 2c 4c |2 ADD R2,R0,R1,L| 00000af0 53 4c 23 36 0d 05 c8 16 41 44 44 20 52 32 2c 52 |SL#6....ADD R2,R| 00000b00 32 2c 52 31 2c 4c 53 4c 23 38 0d 05 d2 14 41 44 |2,R1,LSL#8....AD| 00000b10 44 20 52 32 2c 52 32 2c 73 63 72 65 65 6e 0d 05 |D R2,R2,screen..| 00000b20 dc 10 53 55 42 20 52 32 2c 52 32 2c 23 34 0d 05 |..SUB R2,R2,#4..| 00000b30 e6 13 4c 44 52 42 20 52 34 2c 5b 52 32 2c 23 30 |..LDRB R4,[R2,#0| 00000b40 5d 0d 05 f0 17 4c 44 52 42 20 52 33 2c 5b 52 32 |]....LDRB R3,[R2| 00000b50 2c 23 33 32 30 2a 32 5d 0d 05 fa 10 41 44 44 20 |,#320*2]....ADD | 00000b60 52 34 2c 52 34 2c 52 33 0d 06 04 10 41 44 44 20 |R4,R4,R3....ADD | 00000b70 52 32 2c 52 32 2c 23 32 0d 06 0e 15 4c 44 52 42 |R2,R2,#2....LDRB| 00000b80 20 52 33 2c 5b 52 32 2c 23 33 32 30 5d 0d 06 18 | R3,[R2,#320]...| 00000b90 10 41 44 44 20 52 34 2c 52 34 2c 52 33 0d 06 22 |.ADD R4,R4,R3.."| 00000ba0 10 41 44 44 20 52 32 2c 52 32 2c 23 32 0d 06 2c |.ADD R2,R2,#2..,| 00000bb0 17 4c 44 52 42 20 52 33 2c 5b 52 32 2c 23 33 32 |.LDRB R3,[R2,#32| 00000bc0 30 2a 32 5d 0d 06 36 10 41 44 44 20 52 34 2c 52 |0*2]..6.ADD R4,R| 00000bd0 34 2c 52 33 0d 06 40 15 4d 4f 56 20 52 34 2c 52 |4,R3..@.MOV R4,R| 00000be0 34 2c 4c 53 4c 23 38 2d 32 0d 06 4a 0a 42 4c 20 |4,LSL#8-2..J.BL | 00000bf0 72 6e 64 0d 06 54 12 53 55 42 20 52 37 2c 52 37 |rnd..T.SUB R7,R7| 00000c00 2c 23 31 31 33 0d 06 5e 16 41 44 44 20 52 34 2c |,#113..^.ADD R4,| 00000c10 52 34 2c 52 37 2c 41 53 4c 23 33 0d 06 68 0d 43 |R4,R7,ASL#3..h.C| 00000c20 4d 50 20 52 34 2c 23 30 0d 06 72 14 4c 44 52 4c |MP R4,#0..r.LDRL| 00000c30 54 20 52 34 2c 6f 6c 64 63 6f 6c 25 0d 06 7c 0d |T R4,oldcol%..|.| 00000c40 42 4c 54 20 6d 61 75 73 32 0d 06 86 15 4d 4f 56 |BLT maus2....MOV| 00000c50 47 45 20 52 34 2c 52 34 2c 41 53 52 23 38 0d 06 |GE R4,R4,ASR#8..| 00000c60 90 12 80 20 52 34 2c 52 34 2c 23 25 31 31 31 31 |... R4,R4,#%1111| 00000c70 0d 06 9a 14 53 54 52 4c 54 20 52 34 2c 6f 6c 64 |....STRLT R4,old| 00000c80 63 6f 6c 25 0d 06 a4 17 2e 6d 61 75 73 32 20 53 |col%.....maus2 S| 00000c90 55 42 20 52 32 2c 52 32 2c 23 31 0d 06 ae 13 53 |UB R2,R2,#1....S| 00000ca0 54 52 42 20 52 34 2c 5b 52 32 2c 23 30 5d 0d 06 |TRB R4,[R2,#0]..| 00000cb0 b8 10 41 44 44 20 52 30 2c 52 30 2c 23 32 0d 06 |..ADD R0,R0,#2..| 00000cc0 c2 0d 43 4d 50 20 52 30 2c 52 35 0d 06 cc 12 53 |..CMP R0,R5....S| 00000cd0 55 42 4c 45 20 52 30 2c 52 30 2c 23 31 0d 06 d6 |UBLE R0,R0,#1...| 00000ce0 0f 42 4c 45 20 78 6c 6f 6f 70 67 32 0d 06 e0 10 |.BLE xloopg2....| 00000cf0 53 55 42 20 52 31 2c 52 31 2c 23 31 0d 06 ea 0d |SUB R1,R1,#1....| 00000d00 43 4d 50 20 52 31 2c 23 31 0d 06 f4 0f 42 47 54 |CMP R1,#1....BGT| 00000d10 20 79 6c 6f 6f 70 67 32 0d 06 fe 04 0d 07 08 1c | yloopg2........| 00000d20 2e 73 6d 75 64 67 65 20 4c 44 52 20 52 31 2c 6f |.smudge LDR R1,o| 00000d30 74 68 65 72 73 63 72 6e 0d 07 12 11 4d 4f 56 20 |therscrn....MOV | 00000d40 52 30 2c 73 63 72 65 65 6e 0d 07 1c 10 41 44 44 |R0,screen....ADD| 00000d50 20 52 31 2c 52 31 2c 23 31 0d 07 26 12 41 44 44 | R1,R1,#1..&.ADD| 00000d60 20 52 30 2c 52 30 2c 23 33 32 30 0d 07 30 12 41 | R0,R0,#320..0.A| 00000d70 44 44 20 52 31 2c 52 31 2c 23 33 32 30 0d 07 3a |DD R1,R1,#320..:| 00000d80 15 41 44 44 20 52 31 31 2c 52 30 2c 23 38 31 39 |.ADD R11,R0,#819| 00000d90 32 30 0d 07 44 12 53 55 42 20 52 31 31 2c 52 31 |20..D.SUB R11,R1| 00000da0 31 2c 23 31 0d 07 4e 16 53 55 42 20 52 31 31 2c |1,#1..N.SUB R11,| 00000db0 52 31 31 2c 23 33 32 30 2a 32 0d 07 58 04 0d 07 |R11,#320*2..X...| 00000dc0 62 1d 2e 73 6d 75 64 67 65 6c 70 20 4c 44 52 42 |b..smudgelp LDRB| 00000dd0 20 52 32 2c 5b 52 30 2c 23 30 5d 0d 07 6c 13 4c | R2,[R0,#0]..l.L| 00000de0 44 52 42 20 52 33 2c 5b 52 30 2c 23 31 5d 0d 07 |DRB R3,[R0,#1]..| 00000df0 76 13 4c 44 52 42 20 52 34 2c 5b 52 30 2c 23 32 |v.LDRB R4,[R0,#2| 00000e00 5d 0d 07 80 12 53 55 42 20 52 30 2c 52 30 2c 23 |]....SUB R0,R0,#| 00000e10 33 32 30 0d 07 8a 10 41 44 44 20 52 30 2c 52 30 |320....ADD R0,R0| 00000e20 2c 23 31 0d 07 94 15 4c 44 52 42 20 52 35 2c 5b |,#1....LDRB R5,[| 00000e30 52 30 5d 2c 23 36 34 30 0d 07 9e 13 4c 44 52 42 |R0],#640....LDRB| 00000e40 20 52 36 2c 5b 52 30 2c 23 30 5d 0d 07 a8 12 53 | R6,[R0,#0]....S| 00000e50 55 42 20 52 30 2c 52 30 2c 23 33 32 30 0d 07 b2 |UB R0,R0,#320...| 00000e60 10 53 55 42 20 52 30 2c 52 30 2c 23 31 0d 07 bc |.SUB R0,R0,#1...| 00000e70 10 41 44 44 20 52 33 2c 52 33 2c 52 32 0d 07 c6 |.ADD R3,R3,R2...| 00000e80 10 41 44 44 20 52 33 2c 52 33 2c 52 34 0d 07 d0 |.ADD R3,R3,R4...| 00000e90 10 41 44 44 20 52 33 2c 52 33 2c 52 35 0d 07 da |.ADD R3,R3,R5...| 00000ea0 10 41 44 44 20 52 33 2c 52 33 2c 52 36 0d 07 e4 |.ADD R3,R3,R6...| 00000eb0 0e 4d 4f 56 20 52 37 2c 23 31 34 0d 07 ee 10 4d |.MOV R7,#14....M| 00000ec0 55 4c 20 52 32 2c 52 33 2c 52 37 0d 07 f8 13 4d |UL R2,R3,R7....M| 00000ed0 4f 56 20 52 32 2c 52 32 2c 4c 53 52 23 36 0d 08 |OV R2,R2,LSR#6..| 00000ee0 02 13 53 54 52 42 20 52 32 2c 5b 52 31 5d 2c 23 |..STRB R2,[R1],#| 00000ef0 31 0d 08 0c 10 41 44 44 20 52 30 2c 52 30 2c 23 |1....ADD R0,R0,#| 00000f00 31 0d 08 16 0e 43 4d 50 20 52 30 2c 52 31 31 0d |1....CMP R0,R11.| 00000f10 08 20 10 42 4c 54 20 73 6d 75 64 67 65 6c 70 0d |. .BLT smudgelp.| 00000f20 08 2a 04 0d 08 34 0d 2e 6e 6f 73 6d 75 64 67 65 |.*...4..nosmudge| 00000f30 0d 08 3e 14 4c 44 52 20 52 31 2c 6f 74 68 65 72 |..>.LDR R1,other| 00000f40 73 63 72 6e 0d 08 48 12 41 44 44 20 52 31 2c 52 |scrn..H.ADD R1,R| 00000f50 31 2c 23 33 32 30 0d 08 52 16 41 44 44 20 52 30 |1,#320..R.ADD R0| 00000f60 2c 73 63 72 65 65 6e 2c 23 33 32 30 0d 08 5c 15 |,screen,#320..\.| 00000f70 41 44 44 20 52 31 31 2c 52 30 2c 23 38 31 39 32 |ADD R11,R0,#8192| 00000f80 30 0d 08 66 14 53 55 42 20 52 31 31 2c 52 31 31 |0..f.SUB R11,R11| 00000f90 2c 23 36 34 30 0d 08 70 20 2e 63 6f 70 79 6c 6f |,#640..p .copylo| 00000fa0 6f 70 67 20 4c 44 4d 49 41 20 52 31 21 2c 7b 52 |opg LDMIA R1!,{R| 00000fb0 32 2d 52 39 7d 0d 08 7a 15 53 54 4d 49 41 20 52 |2-R9}..z.STMIA R| 00000fc0 30 21 2c 7b 52 32 2d 52 39 7d 0d 08 84 0e 43 4d |0!,{R2-R9}....CM| 00000fd0 50 20 52 30 2c 52 31 31 0d 08 8e 11 42 4c 54 20 |P R0,R11....BLT | 00000fe0 63 6f 70 79 6c 6f 6f 70 67 0d 08 98 12 4c 44 52 |copyloopg....LDR| 00000ff0 20 52 30 2c 63 6f 75 6e 74 65 72 0d 08 a2 0d 43 | R0,counter....C| 00001000 4d 50 20 52 30 2c 23 32 0d 08 ac 12 41 44 44 4c |MP R0,#2....ADDL| 00001010 45 20 52 30 2c 52 30 2c 23 31 0d 08 b6 14 53 54 |E R0,R0,#1....ST| 00001020 52 4c 45 20 52 30 2c 63 6f 75 6e 74 65 72 0d 08 |RLE R0,counter..| 00001030 c0 0e 42 4c 45 20 73 6d 75 64 67 65 0d 08 ca 04 |..BLE smudge....| 00001040 0d 08 d4 12 4c 44 52 20 52 35 2c 63 6f 6c 64 61 |....LDR R5,colda| 00001050 74 61 0d 08 de 11 4d 4f 56 20 52 30 2c 73 63 72 |ta....MOV R0,scr| 00001060 65 65 6e 0d 08 e8 14 41 44 44 20 52 31 2c 52 30 |een....ADD R1,R0| 00001070 2c 23 38 31 39 32 30 0d 08 f2 1d 2e 63 68 61 6e |,#81920.....chan| 00001080 67 65 6c 70 20 4c 44 52 42 20 52 32 2c 5b 52 30 |gelp LDRB R2,[R0| 00001090 2c 23 30 5d 0d 08 fc 13 4c 44 52 42 20 52 36 2c |,#0]....LDRB R6,| 000010a0 5b 52 35 2c 52 32 5d 0d 09 06 13 53 54 52 42 20 |[R5,R2]....STRB | 000010b0 52 36 2c 5b 52 30 5d 2c 23 31 0d 09 10 0d 43 4d |R6,[R0],#1....CM| 000010c0 50 20 52 30 2c 52 31 0d 09 1a 10 42 4c 54 20 63 |P R0,R1....BLT c| 000010d0 68 61 6e 67 65 6c 70 0d 09 24 1a 2e 66 69 6e 69 |hangelp..$..fini| 000010e0 20 4c 44 4d 46 44 20 28 73 70 29 21 2c 7b 50 43 | LDMFD (sp)!,{PC| 000010f0 7d 0d 09 2e 1c 2e 63 6f 6c 64 61 74 61 20 45 51 |}.....coldata EQ| 00001100 55 44 20 63 6f 64 65 32 2b 31 30 32 34 0d 09 38 |UD code2+1024..8| 00001110 13 2e 6f 6c 64 63 6f 6c 25 20 45 51 55 44 20 30 |..oldcol% EQUD 0| 00001120 0d 09 42 1a 2e 73 63 72 6e 25 20 20 20 45 51 55 |..B..scrn% EQU| 00001130 44 20 20 73 63 72 65 65 6e 25 0d 09 4c 26 2e 6f |D screen%..L&.o| 00001140 74 68 65 72 73 63 72 6e 20 45 51 55 44 20 63 6f |therscrn EQUD co| 00001150 64 65 2b 31 30 32 34 2a 31 36 2b 38 31 39 32 30 |de+1024*16+81920| 00001160 0d 09 56 13 2e 63 6f 75 6e 74 65 72 20 45 51 55 |..V..counter EQU| 00001170 44 20 31 0d 09 60 14 2e 72 6e 64 20 4c 44 52 20 |D 1..`..rnd LDR | 00001180 52 37 2c 73 65 65 64 0d 09 6a 0d 4c 44 52 20 52 |R7,seed..j.LDR R| 00001190 38 2c 63 31 0d 09 74 0d 4c 44 52 20 52 39 2c 63 |8,c1..t.LDR R9,c| 000011a0 32 0d 09 7e 13 4d 4c 41 20 52 37 2c 52 38 2c 52 |2..~.MLA R7,R8,R| 000011b0 37 2c 52 39 0d 09 88 14 4d 4c 41 20 52 31 30 2c |7,R9....MLA R10,| 000011c0 52 38 2c 52 37 2c 52 39 0d 09 92 10 53 54 52 20 |R8,R7,R9....STR | 000011d0 52 31 30 2c 73 65 65 64 0d 09 9c 16 82 20 52 37 |R10,seed..... R7| 000011e0 2c 52 37 2c 52 31 30 2c 52 4f 52 23 31 36 0d 09 |,R7,R10,ROR#16..| 000011f0 a6 0f 4d 4f 56 20 52 38 2c 23 32 35 36 0d 09 b0 |..MOV R8,#256...| 00001200 10 53 55 42 20 52 38 2c 52 38 2c 23 31 0d 09 ba |.SUB R8,R8,#1...| 00001210 0e 80 20 52 37 2c 52 37 2c 52 38 0d 09 c4 0e 4d |.. R7,R7,R8....M| 00001220 4f 56 20 50 43 2c 52 31 34 0d 09 ce 14 2e 63 31 |OV PC,R14.....c1| 00001230 20 45 51 55 44 20 31 36 36 34 35 32 35 0d 09 d8 | EQUD 1664525...| 00001240 16 2e 63 32 20 45 51 55 44 20 39 30 37 36 33 33 |..c2 EQUD 907633| 00001250 33 39 33 0d 09 e2 10 2e 73 65 65 64 20 45 51 55 |393.....seed EQU| 00001260 44 20 91 0d 09 ec 0f 2e 72 6e 64 25 45 51 55 44 |D ......rnd%EQUD| 00001270 20 30 0d 09 f6 05 5d 0d 0a 00 05 ed 0d 0a 0a 04 | 0....].........| 00001280 0d 0a 14 0c d6 67 72 61 6e 69 74 65 0d 0a 1e 0c |.....granite....| 00001290 e6 20 30 20 c8 9c 20 30 0d 0a 28 1d c8 93 c8 90 |. 0 .. 0..(.....| 000012a0 20 31 32 38 30 2d 36 34 2a 34 2c 30 2c 32 35 36 | 1280-64*4,0,256| 000012b0 2c 31 30 32 33 0d 0a 32 0e d6 20 67 72 61 6e 69 |,1023..2.. grani| 000012c0 74 65 32 0d 0a 3c 18 c8 93 c8 90 20 30 2c 31 30 |te2..<..... 0,10| 000012d0 32 34 2c 31 32 37 39 2c 2d 31 32 0d 0a 46 0d c8 |24,1279,-12..F..| 000012e0 92 20 30 2c 31 30 32 33 0d 0a 50 05 e1 0d 0a 5a |. 0,1023..P....Z| 000012f0 04 0d 0a 64 0b dd f2 63 6f 6c 73 67 0d 0a 6e 14 |...d...colsg..n.| 00001300 64 61 74 61 25 3d 63 6f 64 65 32 2b 31 30 32 34 |data%=code2+1024| 00001310 0d 0a 78 0c e3 49 25 3d 30 b8 31 35 0d 0a 82 19 |..x..I%=0.15....| 00001320 64 61 74 61 25 3f 49 25 3d 43 4f 4c 25 28 43 53 |data%?I%=COL%(CS| 00001330 25 2c 49 25 29 0d 0a 8c 05 ed 0d 0a 96 05 e1 0d |%,I%)...........| 00001340 0a a0 04 0d 0a aa 0b dd f2 73 65 74 75 70 0d 0a |.........setup..| 00001350 b4 09 f2 73 63 72 6e 0d 0a be 1a de 20 63 6f 64 |...scrn..... cod| 00001360 65 20 31 30 32 34 2a 31 36 2b 38 31 39 32 30 2a |e 1024*16+81920*| 00001370 32 0d 0a c8 05 e1 0d 0a d2 04 0d 0a dc 0a dd f2 |2...............| 00001380 63 6f 6c 73 0d 0a e6 14 de 20 52 28 37 29 2c 47 |cols..... R(7),G| 00001390 28 37 29 2c 42 28 37 29 0d 0a f0 0e e3 20 49 25 |(7),B(7)..... I%| 000013a0 3d 30 20 b8 20 36 0d 0a fa 17 f3 20 52 28 49 25 |=0 . 6..... R(I%| 000013b0 29 2c 47 28 49 25 29 2c 42 28 49 25 29 0d 0b 04 |),G(I%),B(I%)...| 000013c0 05 ed 0d 0b 0e 04 0d 0b 18 10 de 20 43 4f 4c 25 |........... COL%| 000013d0 28 37 2c 31 35 29 0d 0b 22 0e e3 20 4a 25 3d 30 |(7,15)..".. J%=0| 000013e0 20 b8 20 37 0d 0b 2c 0f e3 20 43 25 3d 30 20 b8 | . 7..,.. C%=0 .| 000013f0 20 31 35 0d 0b 36 11 f3 20 43 4f 4c 25 28 4a 25 | 15..6.. COL%(J%| 00001400 2c 43 25 29 0d 0b 40 07 ed 3a ed 0d 0b 4a 0d de |,C%)..@..:...J..| 00001410 20 43 25 28 32 35 35 29 0d 0b 54 04 0d 0b 5e 0e | C%(255)..T...^.| 00001420 de 20 63 6f 6c 73 20 32 35 36 0d 0b 68 04 0d 0b |. cols 256..h...| 00001430 72 04 0d 0b 7c 05 e1 0d 0b 86 04 0d 0b 90 0a dd |r...|...........| 00001440 f2 73 63 72 6e 0d 0b 9a 16 de 20 62 6c 6f 63 6b |.scrn..... block| 00001450 25 20 31 35 2c 62 32 25 20 31 35 0d 0b a4 10 62 |% 15,b2% 15....b| 00001460 6c 6f 63 6b 25 21 30 3d 31 34 38 0d 0b ae 0e 62 |lock%!0=148....b| 00001470 6c 6f 63 6b 25 21 34 3d 37 0d 0b b8 0e 62 6c 6f |lock%!4=7....blo| 00001480 63 6b 25 21 38 3d 36 0d 0b c2 10 62 6c 6f 63 6b |ck%!8=6....block| 00001490 25 21 31 32 3d 2d 31 0d 0b cc 27 c8 99 20 22 4f |%!12=-1...'.. "O| 000014a0 53 5f 52 65 61 64 56 64 75 56 61 72 69 61 62 6c |S_ReadVduVariabl| 000014b0 65 73 22 2c 62 6c 6f 63 6b 25 2c 62 32 25 0d 0b |es",block%,b2%..| 000014c0 d6 11 73 63 72 65 65 6e 25 3d 62 32 25 21 30 0d |..screen%=b2%!0.| 000014d0 0b e0 05 e1 0d 0b ea 04 0d 0b f4 0f dc 20 31 2c |............. 1,| 000014e0 30 2e 35 2c 30 2e 35 0d 0b fe 0d dc 20 31 2c 31 |0.5,0.5..... 1,1| 000014f0 2c 30 2e 35 0d 0c 08 0f dc 20 30 2e 35 2c 31 2c |,0.5..... 0.5,1,| 00001500 30 2e 35 0d 0c 12 0d dc 20 30 2e 35 2c 31 2c 31 |0.5..... 0.5,1,1| 00001510 0d 0c 1c 0f dc 20 30 2e 35 2c 30 2e 35 2c 31 0d |..... 0.5,0.5,1.| 00001520 0c 26 0d dc 20 31 2c 30 2e 35 2c 31 0d 0c 30 0b |.&.. 1,0.5,1..0.| 00001530 dc 20 31 2c 31 2c 31 0d 0c 3a 04 0d 0c 44 2d dc |. 1,1,1..:...D-.| 00001540 20 30 2c 30 2c 31 2c 32 2c 34 2c 35 2c 36 2c 37 | 0,0,1,2,4,5,6,7| 00001550 2c 31 36 2c 31 37 2c 31 38 2c 31 39 2c 36 30 2c |,16,17,18,19,60,| 00001560 36 31 2c 36 32 2c 36 33 0d 0c 4e 35 dc 20 30 2c |61,62,63..N5. 0,| 00001570 30 2c 31 2c 32 2c 33 36 2c 33 37 2c 33 38 2c 33 |0,1,2,36,37,38,3| 00001580 39 2c 38 30 2c 38 31 2c 38 32 2c 38 33 2c 32 34 |9,80,81,82,83,24| 00001590 34 2c 32 34 35 2c 32 34 36 2c 32 34 37 0d 0c 58 |4,245,246,247..X| 000015a0 35 dc 20 30 2c 30 2c 31 2c 32 2c 33 32 2c 33 33 |5. 0,0,1,2,32,33| 000015b0 2c 33 34 2c 33 35 2c 37 36 2c 37 37 2c 37 38 2c |,34,35,76,77,78,| 000015c0 37 39 2c 32 34 30 2c 32 34 31 2c 32 34 32 2c 32 |79,240,241,242,2| 000015d0 34 33 0d 0c 62 39 dc 20 30 2c 31 2c 32 2c 33 2c |43..b9. 0,1,2,3,| 000015e0 34 30 2c 34 31 2c 34 32 2c 34 33 2c 31 39 36 2c |40,41,42,43,196,| 000015f0 31 39 37 2c 31 39 38 2c 31 39 39 2c 32 34 38 2c |197,198,199,248,| 00001600 32 34 39 2c 32 35 30 2c 32 35 31 0d 0c 6c 3a dc |249,250,251..l:.| 00001610 20 30 2c 30 2c 31 2c 32 2c 20 38 2c 39 2c 31 30 | 0,0,1,2, 8,9,10| 00001620 2c 31 31 2c 20 31 36 34 2c 31 36 35 2c 31 36 36 |,11, 164,165,166| 00001630 2c 31 36 37 2c 20 32 31 36 2c 32 31 37 2c 32 31 |,167, 216,217,21| 00001640 38 2c 32 31 39 0d 0c 76 37 dc 20 30 2c 30 2c 31 |8,219..v7. 0,0,1| 00001650 2c 32 2c 38 2c 39 2c 31 30 2c 31 31 2c 31 33 32 |,2,8,9,10,11,132| 00001660 2c 31 33 33 2c 31 33 34 2c 31 33 35 2c 31 38 34 |,133,134,135,184| 00001670 2c 31 38 35 2c 31 38 36 2c 31 38 37 0d 0c 80 39 |,185,186,187...9| 00001680 dc 20 30 2c 31 2c 32 2c 33 2c 34 34 2c 34 35 2c |. 0,1,2,3,44,45,| 00001690 34 36 2c 34 37 2c 32 30 38 2c 32 30 39 2c 32 31 |46,47,208,209,21| 000016a0 30 2c 32 31 31 2c 32 35 32 2c 32 35 33 2c 32 35 |0,211,252,253,25| 000016b0 34 2c 32 35 35 0d 0c 8a 39 dc 20 30 2c 31 2c 32 |4,255...9. 0,1,2| 000016c0 2c 33 2c 34 34 2c 34 35 2c 34 36 2c 34 37 2c 32 |,3,44,45,46,47,2| 000016d0 30 38 2c 32 30 39 2c 32 31 30 2c 32 31 31 2c 32 |08,209,210,211,2| 000016e0 35 32 2c 32 35 33 2c 32 35 34 2c 32 35 35 0d 0c |52,253,254,255..| 000016f0 94 04 0d 0c 9e 09 dd f2 70 69 63 0d 0c a8 09 eb |........pic.....| 00001700 31 33 3a 87 0d 0c b2 1d f1 8a 31 34 2c 32 39 29 |13:.......14,29)| 00001710 3b 22 50 6c 65 61 73 65 20 77 61 69 74 2e 2e 2e |;"Please wait...| 00001720 22 0d 0c bc 04 0d 0c c6 0e 41 25 3d 73 63 72 65 |"........A%=scre| 00001730 65 6e 25 0d 0c d0 0a 43 53 25 3d 2d 31 0d 0c da |en%....CS%=-1...| 00001740 0a 44 43 53 25 3d 31 0d 0c e4 1b e3 20 59 59 25 |.DCS%=1..... YY%| 00001750 3d 30 20 b8 20 31 32 38 2a 37 2d 31 20 88 20 31 |=0 . 128*7-1 . 1| 00001760 32 38 0d 0c ee 0d 43 53 25 2b 3d 44 43 53 25 0d |28....CS%+=DCS%.| 00001770 0c f8 13 e7 20 43 53 25 3d 34 20 44 43 53 25 3d |.... CS%=4 DCS%=| 00001780 2d 31 0d 0d 02 1a e3 20 59 25 3d 59 59 25 20 b8 |-1..... Y%=YY% .| 00001790 20 59 59 25 2b 31 32 38 20 88 20 34 0d 0d 0c 04 | YY%+128 . 4....| 000017a0 0d 0d 16 0f e3 20 43 25 3d 30 20 b8 20 31 35 0d |..... C%=0 . 15.| 000017b0 0d 20 2f 50 25 28 43 25 29 3d 31 36 2f 28 28 20 |. /P%(C%)=16/(( | 000017c0 28 31 36 2a 28 b5 28 59 25 2f 31 32 38 2a af 29 |(16*(.(Y%/128*.)| 000017d0 5e 32 29 20 2d 43 25 29 5e 34 29 2b 31 29 0d 0d |^2) -C%)^4)+1)..| 000017e0 2a 05 ed 0d 0d 34 04 0d 0d 3e 08 54 25 3d 30 0d |*....4...>.T%=0.| 000017f0 0d 48 08 43 25 3d 30 0d 0d 52 05 f5 0d 0d 5c 04 |.H.C%=0..R....\.| 00001800 0d 0d 66 0f c8 95 20 50 25 28 43 25 29 3e 30 0d |..f... P%(C%)>0.| 00001810 0d 70 0d 50 25 28 43 25 29 2d 3d 31 0d 0d 7a 0d |.p.P%(C%)-=1..z.| 00001820 54 25 28 54 25 29 3d 43 25 0d 0d 84 09 54 25 2b |T%(T%)=C%....T%+| 00001830 3d 31 0d 0d 8e 05 ce 0d 0d 98 09 43 25 2b 3d 31 |=1.........C%+=1| 00001840 0d 0d a2 0b fd 20 43 25 3d 31 36 0d 0d ac 0b 4e |..... C%=16....N| 00001850 25 3d 54 25 2d 31 0d 0d b6 04 0d 0d c0 0f e3 20 |%=T%-1......... | 00001860 58 25 3d 30 20 b8 20 33 31 0d 0d ca 1a 43 25 3d |X%=0 . 31....C%=| 00001870 43 4f 4c 25 28 43 53 25 2c 54 25 28 b3 28 4e 25 |COL%(CS%,T%(.(N%| 00001880 29 29 29 0d 0d d4 13 e7 20 43 25 3e 30 20 43 25 |)))..... C%>0 C%| 00001890 2d 3d b3 28 31 29 0d 0d de 0a 3f 41 25 3d 43 25 |-=.(1)....?A%=C%| 000018a0 0d 0d e8 09 41 25 2b 3d 31 0d 0d f2 05 ed 0d 0d |....A%+=1.......| 000018b0 fc 0a 41 25 2d 3d 33 32 0d 0e 06 0b 41 25 2b 3d |..A%-=32....A%+=| 000018c0 33 32 30 0d 0e 10 05 ed 0d 0e 1a 05 ed 0d 0e 24 |320............$| 000018d0 04 0d 0e 2e 19 e3 20 58 58 25 3d 30 20 b8 20 39 |...... XX%=0 . 9| 000018e0 2a 33 32 2d 31 20 88 20 33 32 0d 0e 38 0e 41 25 |*32-1 . 32..8.A%| 000018f0 3d 73 63 72 65 65 6e 25 0d 0e 42 04 0d 0e 4c 10 |=screen%..B...L.| 00001900 e3 20 59 25 3d 30 20 b8 20 32 35 35 0d 0e 56 0e |. Y%=0 . 255..V.| 00001910 e3 20 58 25 3d 30 20 b8 20 37 0d 0e 60 11 21 28 |. X%=0 . 7..`.!(| 00001920 41 25 2b 58 58 25 29 3d 21 41 25 0d 0e 6a 09 41 |A%+XX%)=!A%..j.A| 00001930 25 2b 3d 34 0d 0e 74 05 ed 0d 0e 7e 0a 41 25 2d |%+=4..t....~.A%-| 00001940 3d 33 32 0d 0e 88 0b 41 25 2b 3d 33 32 30 0d 0e |=32....A%+=320..| 00001950 92 05 ed 0d 0e 9c 04 0d 0e a6 05 ed 0d 0e b0 04 |................| 00001960 0d 0e ba 0e 58 58 25 3d b3 28 32 29 2a 34 0d 0e |....XX%=.(2)*4..| 00001970 c4 0e 59 59 25 3d b3 28 32 29 2a 34 0d 0e ce 0e |..YY%=.(2)*4....| 00001980 44 41 3d af 2f b3 28 31 36 29 0d 0e d8 04 0d 0e |DA=./.(16)......| 00001990 e2 13 e3 20 4a 25 3d 31 20 b8 20 33 2b b3 28 33 |... J%=1 . 3+.(3| 000019a0 29 0d 0e ec 07 41 3d 30 0d 0e f6 08 43 25 3d 30 |)....A=0....C%=0| 000019b0 0d 0f 00 17 e3 20 49 25 3d 30 20 b8 20 31 32 37 |..... I%=0 . 127| 000019c0 39 20 88 20 58 58 25 0d 0f 0a 24 c8 93 c8 90 20 |9 . XX%...$.... | 000019d0 49 25 2c 30 2c 58 58 25 2c 31 30 32 33 20 b8 20 |I%,0,XX%,1023 . | 000019e0 49 25 2c 58 58 25 2a b5 28 41 29 0d 0f 14 09 41 |I%,XX%*.(A)....A| 000019f0 2b 3d 44 41 0d 0f 1e 0f e7 20 41 3e 32 2a af 20 |+=DA..... A>2*. | 00001a00 41 3d 30 0d 0f 28 05 ed 0d 0f 32 08 43 25 3d 30 |A=0..(....2.C%=0| 00001a10 0d 0f 3c 07 41 3d 30 0d 0f 46 17 e3 20 49 25 3d |..<.A=0..F.. I%=| 00001a20 30 20 b8 20 31 30 32 33 20 88 20 59 59 25 0d 0f |0 . 1023 . YY%..| 00001a30 50 24 c8 93 c8 90 20 30 2c 49 25 2c 31 32 37 39 |P$.... 0,I%,1279| 00001a40 2c 59 59 25 20 b8 20 59 59 25 2a b5 28 41 29 2c |,YY% . YY%*.(A),| 00001a50 49 25 0d 0f 5a 09 41 2b 3d 44 41 0d 0f 64 0f e7 |I%..Z.A+=DA..d..| 00001a60 20 41 3e 32 2a af 20 41 3d 30 0d 0f 6e 05 ed 0d | A>2*. A=0..n...| 00001a70 0f 78 04 0d 0f 82 1c c8 93 c8 90 20 30 2c 30 2c |.x......... 0,0,| 00001a80 31 32 37 35 2c 31 30 32 33 20 b8 20 34 2c 30 0d |1275,1023 . 4,0.| 00001a90 0f 8c 05 ed 0d 0f 96 04 0d 0f a0 0e 41 25 3d 73 |............A%=s| 00001aa0 63 72 65 65 6e 25 0d 0f aa 10 e3 20 59 25 3d 30 |creen%..... Y%=0| 00001ab0 20 b8 20 32 35 35 0d 0f b4 0f e3 20 58 25 3d 30 | . 255..... X%=0| 00001ac0 20 b8 20 37 39 0d 0f be 11 3f 41 25 3d 3f 28 41 | . 79....?A%=?(A| 00001ad0 25 2b 31 36 30 29 0d 0f c8 09 41 25 2b 3d 31 0d |%+160)....A%+=1.| 00001ae0 0f d2 05 ed 0d 0f dc 0a 41 25 2d 3d 38 30 0d 0f |........A%-=80..| 00001af0 e6 0b 41 25 2b 3d 33 32 30 0d 0f f0 05 ed 0d 0f |..A%+=320.......| 00001b00 fa 04 0d 10 04 18 e3 20 58 58 25 3d 38 30 20 b8 |....... XX%=80 .| 00001b10 20 33 2a 38 30 20 88 20 38 30 0d 10 0e 0e 41 25 | 3*80 . 80....A%| 00001b20 3d 73 63 72 65 65 6e 25 0d 10 18 04 0d 10 22 10 |=screen%......".| 00001b30 e3 20 59 25 3d 30 20 b8 20 32 35 35 0d 10 2c 0f |. Y%=0 . 255..,.| 00001b40 e3 20 58 25 3d 30 20 b8 20 31 39 0d 10 36 11 21 |. X%=0 . 19..6.!| 00001b50 28 41 25 2b 58 58 25 29 3d 21 41 25 0d 10 40 09 |(A%+XX%)=!A%..@.| 00001b60 41 25 2b 3d 34 0d 10 4a 05 ed 0d 10 54 0a 41 25 |A%+=4..J....T.A%| 00001b70 2d 3d 38 30 0d 10 5e 0b 41 25 2b 3d 33 32 30 0d |-=80..^.A%+=320.| 00001b80 10 68 05 ed 0d 10 72 04 0d 10 7c 05 ed 0d 10 86 |.h....r...|.....| 00001b90 05 e1 0d 10 90 04 0d 10 9a 0c dd f2 70 6c 61 73 |............plas| 00001ba0 6d 61 0d 10 a4 09 eb 31 33 3a 87 0d 10 ae 0f 43 |ma.....13:.....C| 00001bb0 53 25 3d a4 63 68 6f 6f 73 65 0d 10 b8 08 43 25 |S%=.choose....C%| 00001bc0 3d 30 0d 10 c2 10 e3 20 49 25 3d 30 20 b8 20 32 |=0..... I%=0 . 2| 00001bd0 35 35 0d 10 cc 25 c8 99 20 22 43 6f 6c 6f 75 72 |55...%.. "Colour| 00001be0 54 72 61 6e 73 5f 53 65 74 47 43 4f 4c 22 2c a4 |Trans_SetGCOL",.| 00001bf0 63 6f 6c 28 43 25 29 0d 10 d6 12 c8 93 c8 90 20 |col(C%)........ | 00001c00 30 2c 31 30 30 38 2c 31 36 0d 10 e0 13 43 25 28 |0,1008,16....C%(| 00001c10 49 25 29 3d 3f 73 63 72 65 65 6e 25 0d 10 ea 09 |I%)=?screen%....| 00001c20 43 25 2b 3d 31 0d 10 f4 05 ed 0d 10 fe 04 0d 11 |C%+=1...........| 00001c30 08 08 43 25 3d 30 0d 11 12 07 41 3d 30 0d 11 1c |..C%=0....A=0...| 00001c40 14 e3 20 52 3d 38 32 30 20 b8 20 30 20 88 20 2d |.. R=820 . 0 . -| 00001c50 34 0d 11 26 09 43 25 2b 3d 38 0d 11 30 12 e7 20 |4..&.C%+=8..0.. | 00001c60 43 25 3e 3d 32 35 36 20 43 25 3d 30 0d 11 3a 25 |C%>=256 C%=0..:%| 00001c70 c8 99 20 22 43 6f 6c 6f 75 72 54 72 61 6e 73 5f |.. "ColourTrans_| 00001c80 53 65 74 47 43 4f 4c 22 2c a4 63 6f 6c 28 43 25 |SetGCOL",.col(C%| 00001c90 29 0d 11 44 12 c8 8f c8 90 20 36 34 30 2c 35 31 |)..D..... 640,51| 00001ca0 32 2c 52 0d 11 4e 05 ed 0d 11 58 04 0d 11 62 09 |2,R..N....X...b.| 00001cb0 58 58 25 3d 34 0d 11 6c 09 59 59 25 3d 34 0d 11 |XX%=4..l.YY%=4..| 00001cc0 76 08 41 25 3d 36 0d 11 80 0b 44 41 3d af 2f 31 |v.A%=6....DA=./1| 00001cd0 36 0d 11 8a 0e e3 20 4a 25 3d 31 20 b8 20 33 0d |6..... J%=1 . 3.| 00001ce0 11 94 07 41 3d 30 0d 11 9e 08 43 25 3d 30 0d 11 |...A=0....C%=0..| 00001cf0 a8 17 e3 20 49 25 3d 30 20 b8 20 31 32 37 39 20 |... I%=0 . 1279 | 00001d00 88 20 58 58 25 0d 11 b2 23 c8 93 c8 90 20 49 25 |. XX%...#.... I%| 00001d10 2c 30 2c 58 58 25 2c 31 30 32 33 20 b8 20 49 25 |,0,XX%,1023 . I%| 00001d20 2c 41 25 2a b5 28 41 29 0d 11 bc 09 41 2b 3d 44 |,A%*.(A)....A+=D| 00001d30 41 0d 11 c6 0f e7 20 41 3e 32 2a af 20 41 3d 30 |A..... A>2*. A=0| 00001d40 0d 11 d0 05 ed 0d 11 da 08 43 25 3d 30 0d 11 e4 |.........C%=0...| 00001d50 07 41 3d 30 0d 11 ee 17 e3 20 49 25 3d 30 20 b8 |.A=0..... I%=0 .| 00001d60 20 31 30 32 33 20 88 20 59 59 25 0d 11 f8 23 c8 | 1023 . YY%...#.| 00001d70 93 c8 90 20 30 2c 49 25 2c 31 32 37 39 2c 59 59 |... 0,I%,1279,YY| 00001d80 25 20 b8 20 41 25 2a b5 28 41 29 2c 49 25 0d 12 |% . A%*.(A),I%..| 00001d90 02 09 41 2b 3d 44 41 0d 12 0c 0f e7 20 41 3e 32 |..A+=DA..... A>2| 00001da0 2a af 20 41 3d 30 0d 12 16 05 ed 0d 12 20 04 0d |*. A=0....... ..| 00001db0 12 2a 1c c8 93 c8 90 20 30 2c 30 2c 31 32 37 35 |.*..... 0,0,1275| 00001dc0 2c 31 30 32 33 20 b8 20 34 2c 30 0d 12 34 05 ed |,1023 . 4,0..4..| 00001dd0 0d 12 3e 10 e3 20 49 25 3d 30 20 b8 20 32 35 35 |..>.. I%=0 . 255| 00001de0 0d 12 48 25 e7 20 49 25 3c 32 35 35 20 4e 43 25 |..H%. I%<255 NC%| 00001df0 3d 43 25 28 49 25 2b 31 29 20 8b 20 4e 43 25 3d |=C%(I%+1) . NC%=| 00001e00 43 25 28 30 29 0d 12 52 16 3f 28 63 6f 6c 73 2b |C%(0)..R.?(cols+| 00001e10 43 25 28 49 25 29 29 3d 4e 43 25 0d 12 5c 05 ed |C%(I%))=NC%..\..| 00001e20 0d 12 66 04 0d 12 70 05 e1 0d 12 7a 04 0d 12 84 |..f...p....z....| 00001e30 0d dd a4 63 6f 6c 28 6e 25 29 0d 12 8e 10 52 25 |...col(n%)....R%| 00001e40 3d 6e 25 2a 52 28 43 53 25 29 0d 12 98 10 47 25 |=n%*R(CS%)....G%| 00001e50 3d 6e 25 2a 47 28 43 53 25 29 0d 12 a2 10 42 25 |=n%*G(CS%)....B%| 00001e60 3d 6e 25 2a 42 28 43 53 25 29 0d 12 ac 1e 3d 28 |=n%*B(CS%)....=(| 00001e70 42 25 3c 3c 32 34 29 2b 28 47 25 3c 3c 31 36 29 |B%<<24)+(G%<<16)| 00001e80 2b 28 52 25 3c 3c 38 29 0d 12 b6 04 0d 12 c0 0f |+(R%<<8)........| 00001e90 dd a4 64 6f 5f 69 74 28 6e 25 29 0d 12 ca 0a 72 |..do_it(n%)....r| 00001ea0 65 67 3d 6e 25 0d 12 d4 0d 5b 4f 50 54 20 70 61 |eg=n%....[OPT pa| 00001eb0 73 73 0d 12 de 15 4d 4f 56 20 52 37 2c 72 65 67 |ss....MOV R7,reg| 00001ec0 2c 4c 53 52 23 32 34 0d 12 e8 19 53 55 42 20 72 |,LSR#24....SUB r| 00001ed0 65 67 2c 72 65 67 2c 52 37 2c 4c 53 4c 23 32 34 |eg,reg,R7,LSL#24| 00001ee0 0d 12 f2 15 4d 4f 56 20 52 38 2c 72 65 67 2c 4c |....MOV R8,reg,L| 00001ef0 53 52 23 31 36 0d 12 fc 19 53 55 42 20 72 65 67 |SR#16....SUB reg| 00001f00 2c 72 65 67 2c 52 38 2c 4c 53 4c 23 31 36 0d 13 |,reg,R8,LSL#16..| 00001f10 06 14 4d 4f 56 20 52 39 2c 72 65 67 2c 4c 53 52 |..MOV R9,reg,LSR| 00001f20 23 38 0d 13 10 18 53 55 42 20 72 65 67 2c 72 65 |#8....SUB reg,re| 00001f30 67 2c 52 39 2c 4c 53 4c 23 38 0d 13 1a 16 4c 44 |g,R9,LSL#8....LD| 00001f40 52 42 20 72 65 67 2c 5b 52 31 30 2c 72 65 67 5d |RB reg,[R10,reg]| 00001f50 0d 13 24 14 4c 44 52 42 20 52 37 2c 5b 52 31 30 |..$.LDRB R7,[R10| 00001f60 2c 52 37 5d 0d 13 2e 14 4c 44 52 42 20 52 38 2c |,R7]....LDRB R8,| 00001f70 5b 52 31 30 2c 52 38 5d 0d 13 38 14 4c 44 52 42 |[R10,R8]..8.LDRB| 00001f80 20 52 39 2c 5b 52 31 30 2c 52 39 5d 0d 13 42 18 | R9,[R10,R9]..B.| 00001f90 41 44 44 20 72 65 67 2c 72 65 67 2c 52 39 2c 4c |ADD reg,reg,R9,L| 00001fa0 53 4c 23 38 0d 13 4c 19 41 44 44 20 72 65 67 2c |SL#8..L.ADD reg,| 00001fb0 72 65 67 2c 52 38 2c 4c 53 4c 23 31 36 0d 13 56 |reg,R8,LSL#16..V| 00001fc0 19 41 44 44 20 72 65 67 2c 72 65 67 2c 52 37 2c |.ADD reg,reg,R7,| 00001fd0 4c 53 4c 23 32 34 0d 13 60 05 5d 0d 13 6a 06 3d |LSL#24..`.]..j.=| 00001fe0 31 0d 13 74 04 0d 13 7e 0b dd f2 61 73 73 36 36 |1..t...~...ass66| 00001ff0 0d 13 88 1c e3 20 70 61 73 73 3d 30 20 b8 20 32 |..... pass=0 . 2| 00002000 20 88 20 32 3a 50 25 3d 63 6f 64 65 0d 13 92 0d | . 2:P%=code....| 00002010 5b 4f 50 54 20 70 61 73 73 0d 13 9c 10 2e 79 61 |[OPT pass.....ya| 00002020 73 73 20 45 51 55 44 20 30 0d 13 a6 22 2e 69 6e |ss EQUD 0...".in| 00002030 69 74 20 20 20 20 20 20 20 53 54 4d 46 44 20 28 |it STMFD (| 00002040 73 70 29 21 2c 7b 6c 69 6e 6b 7d 0d 13 b0 04 0d |sp)!,{link}.....| 00002050 13 ba 1b 20 20 20 20 20 20 20 20 20 20 20 20 42 |... B| 00002060 4c 20 76 61 72 73 72 65 61 64 0d 13 c4 18 20 20 |L varsread.... | 00002070 20 20 20 20 20 20 20 20 20 20 53 57 49 20 26 31 | SWI &1| 00002080 30 43 0d 13 ce 04 0d 13 d8 14 41 44 44 20 52 35 |0C........ADD R5| 00002090 2c 73 63 72 65 65 6e 2c 23 78 0d 13 e2 14 41 44 |,screen,#x....AD| 000020a0 44 20 52 35 2c 52 35 2c 23 33 32 30 2a 79 0d 13 |D R5,R5,#320*y..| 000020b0 ec 0e 4c 44 52 20 52 34 2c 70 6f 73 0d 13 f6 12 |..LDR R4,pos....| 000020c0 4c 44 52 20 52 33 2c 70 6f 73 64 61 74 61 0d 14 |LDR R3,posdata..| 000020d0 00 04 0d 14 0a 0d 2e 6d 61 69 6e 6c 6f 6f 70 0d |.......mainloop.| 000020e0 14 14 05 5d 0d 14 1e 0d e7 20 66 61 73 74 25 20 |...]..... fast% | 000020f0 8c 0d 14 28 0d 5b 4f 50 54 20 70 61 73 73 0d 14 |...(.[OPT pass..| 00002100 32 0e 4d 4f 56 20 52 30 2c 23 31 39 0d 14 3c 11 |2.MOV R0,#19..<.| 00002110 53 57 49 20 22 4f 53 5f 42 79 74 65 22 0d 14 46 |SWI "OS_Byte"..F| 00002120 05 5d 0d 14 50 05 cd 0d 14 5a 04 0d 14 64 0d 5b |.]..P....Z...d.[| 00002130 4f 50 54 20 70 61 73 73 0d 14 6e 10 2e 6b 61 6c |OPT pass..n..kal| 00002140 69 73 6c 6f 77 65 72 25 0d 14 78 10 4d 4f 56 4e |islower%..x.MOVN| 00002150 56 20 52 30 2c 23 31 39 0d 14 82 13 53 57 49 4e |V R0,#19....SWIN| 00002160 56 20 22 4f 53 5f 42 79 74 65 22 0d 14 8c 04 0d |V "OS_Byte".....| 00002170 14 96 15 4c 44 52 20 52 38 2c 73 70 72 69 74 65 |...LDR R8,sprite| 00002180 64 61 74 61 0d 14 a0 24 20 20 20 20 20 20 20 20 |data...$ | 00002190 20 20 20 20 41 44 44 20 52 34 2c 52 34 2c 23 33 | ADD R4,R4,#3| 000021a0 32 30 2a 79 6d 6f 76 65 0d 14 aa 14 53 55 42 20 |20*ymove....SUB | 000021b0 52 34 2c 52 34 2c 23 78 6d 6f 76 65 0d 14 b4 1d |R4,R4,#xmove....| 000021c0 20 20 20 20 20 20 20 20 20 20 20 20 43 4d 50 20 | CMP | 000021d0 52 34 2c 23 38 31 39 32 30 0d 14 be 22 20 20 20 |R4,#81920..." | 000021e0 20 20 20 20 20 20 20 20 20 53 55 42 47 45 20 52 | SUBGE R| 000021f0 34 2c 52 34 2c 23 38 31 39 32 30 0d 14 c8 14 41 |4,R4,#81920....A| 00002200 44 44 20 52 37 2c 52 38 2c 23 38 31 39 32 30 0d |DD R7,R8,#81920.| 00002210 14 d2 1c 20 20 20 20 20 20 20 20 20 20 20 20 41 |... A| 00002220 44 44 20 52 38 2c 52 38 2c 52 34 0d 14 dc 10 53 |DD R8,R8,R4....S| 00002230 55 42 20 52 36 2c 52 37 2c 52 38 0d 14 e6 04 0d |UB R6,R7,R8.....| 00002240 14 f0 1a 20 20 20 20 20 20 20 20 20 20 20 20 4d |... M| 00002250 4f 56 20 52 31 31 2c 52 33 0d 14 fa 18 53 54 4d |OV R11,R3....STM| 00002260 46 44 20 28 73 70 29 21 2c 7b 73 63 72 65 65 6e |FD (sp)!,{screen| 00002270 7d 0d 15 04 04 0d 15 0e 0e 4d 4f 56 20 52 31 32 |}........MOV R12| 00002280 2c 23 30 0d 15 18 04 0d 15 22 1f 2e 79 6c 6f 6f |,#0......"..yloo| 00002290 70 20 20 20 20 20 20 4c 44 4d 49 41 20 52 31 31 |p LDMIA R11| 000022a0 21 2c 7b 52 30 7d 0d 15 2c 04 0d 15 36 05 5d 0d |!,{R0}..,...6.].| 000022b0 15 40 0f e7 20 6d 6f 64 65 34 39 25 20 8c 0d 15 |.@.. mode49% ...| 000022c0 4a 0d 5b 4f 50 54 20 70 61 73 73 0d 15 54 0e 43 |J.[OPT pass..T.C| 000022d0 4d 50 20 52 30 2c 52 31 32 0d 15 5e 14 41 44 44 |MP R0,R12..^.ADD| 000022e0 47 45 20 52 35 2c 52 35 2c 23 33 32 30 0d 15 68 |GE R5,R5,#320..h| 000022f0 15 41 44 44 47 45 20 52 31 32 2c 52 30 2c 23 33 |.ADDGE R12,R0,#3| 00002300 31 32 0d 15 72 05 5d 0d 15 7c 05 cd 0d 15 86 0d |12..r.]..|......| 00002310 5b 4f 50 54 20 70 61 73 73 0d 15 90 04 0d 15 9a |[OPT pass.......| 00002320 04 0d 15 a4 04 0d 15 ae 1b 20 20 20 20 20 20 20 |......... | 00002330 20 20 20 20 20 43 4d 50 20 20 20 52 30 2c 23 30 | CMP R0,#0| 00002340 0d 15 b8 1e 20 20 20 20 20 20 20 20 20 20 20 20 |.... | 00002350 42 45 51 20 20 20 65 6e 64 67 6c 6f 62 65 0d 15 |BEQ endglobe..| 00002360 c2 04 0d 15 cc 1e 20 20 20 20 20 20 20 20 20 20 |...... | 00002370 20 20 41 44 44 20 20 20 52 30 2c 52 30 2c 52 35 | ADD R0,R0,R5| 00002380 0d 15 d6 04 0d 15 e0 1f 2e 78 6c 6f 6f 70 32 20 |.........xloop2 | 00002390 20 20 20 20 4c 44 4d 49 41 20 52 31 31 21 2c 7b | LDMIA R11!,{| 000023a0 52 39 7d 0d 15 ea 04 0d 15 f4 23 20 20 20 20 20 |R9}.......# | 000023b0 20 20 20 20 20 20 20 4d 4f 56 20 20 20 52 31 30 | MOV R10| 000023c0 2c 52 39 2c 4c 53 52 23 31 36 0d 15 fe 1c 20 20 |,R9,LSR#16.... | 000023d0 20 20 20 20 20 20 20 20 20 20 43 4d 50 20 20 20 | CMP | 000023e0 52 31 30 2c 23 30 0d 16 08 1b 20 20 20 20 20 20 |R10,#0.... | 000023f0 20 20 20 20 20 20 42 45 51 20 20 20 79 6c 6f 6f | BEQ yloo| 00002400 70 0d 16 12 26 20 20 20 20 20 20 20 20 20 20 20 |p...& | 00002410 20 53 55 42 20 20 20 52 39 2c 52 39 2c 52 31 30 | SUB R9,R9,R10| 00002420 2c 4c 53 4c 23 31 36 0d 16 1c 04 0d 16 26 0e 43 |,LSL#16......&.C| 00002430 4d 50 20 52 31 30 2c 52 36 0d 16 30 18 53 55 42 |MP R10,R6..0.SUB| 00002440 47 45 20 52 31 30 2c 52 31 30 2c 23 38 31 39 32 |GE R10,R10,#8192| 00002450 30 0d 16 3a 21 20 20 20 20 20 20 20 20 20 20 20 |0..:! | 00002460 20 4c 44 52 42 20 20 52 31 2c 5b 52 38 2c 52 31 | LDRB R1,[R8,R1| 00002470 30 5d 0d 16 44 20 20 20 20 20 20 20 20 20 20 20 |0]..D | 00002480 20 20 53 54 52 42 20 20 52 31 2c 5b 52 30 5d 2c | STRB R1,[R0],| 00002490 23 31 0d 16 4e 04 0d 16 58 1b 20 20 20 20 20 20 |#1..N...X. | 000024a0 20 20 20 20 20 20 43 4d 50 20 20 20 52 39 2c 23 | CMP R9,#| 000024b0 30 0d 16 62 04 0d 16 6c 1b 20 20 20 20 20 20 20 |0..b...l. | 000024c0 20 20 20 20 20 42 45 51 20 20 20 79 6c 6f 6f 70 | BEQ yloop| 000024d0 0d 16 76 04 0d 16 80 1e 20 20 20 20 20 20 20 20 |..v..... | 000024e0 20 20 20 20 43 4d 50 20 20 20 20 20 52 39 2c 52 | CMP R9,R| 000024f0 31 30 0d 16 8a 22 20 20 20 20 20 20 20 20 20 20 |10..." | 00002500 20 20 53 54 52 45 51 42 20 20 52 31 2c 5b 52 30 | STREQB R1,[R0| 00002510 5d 2c 23 31 0d 16 94 1e 20 20 20 20 20 20 20 20 |],#1.... | 00002520 20 20 20 20 42 45 51 20 20 20 20 20 78 6c 6f 6f | BEQ xloo| 00002530 70 32 0d 16 9e 04 0d 16 a8 0d 43 4d 50 20 52 39 |p2........CMP R9| 00002540 2c 52 36 0d 16 b2 16 53 55 42 47 45 20 52 39 2c |,R6....SUBGE R9,| 00002550 52 39 2c 23 38 31 39 32 30 0d 16 bc 22 20 20 20 |R9,#81920..." | 00002560 20 20 20 20 20 20 20 20 20 4c 44 52 42 20 20 20 | LDRB | 00002570 20 52 31 2c 5b 52 38 2c 52 39 5d 0d 16 c6 22 20 | R1,[R8,R9]..." | 00002580 20 20 20 20 20 20 20 20 20 20 20 53 54 52 42 20 | STRB | 00002590 20 20 20 52 31 2c 5b 52 30 5d 2c 23 31 0d 16 d0 | R1,[R0],#1...| 000025a0 04 0d 16 da 18 20 20 20 20 20 20 20 20 20 20 20 |..... | 000025b0 20 42 20 78 6c 6f 6f 70 32 0d 16 e4 04 0d 16 ee | B xloop2.......| 000025c0 0d 2e 65 6e 64 67 6c 6f 62 65 0d 16 f8 18 4c 44 |..endglobe....LD| 000025d0 4d 46 44 20 28 73 70 29 21 2c 7b 73 63 72 65 65 |MFD (sp)!,{scree| 000025e0 6e 7d 0d 17 02 04 0d 17 0c 05 5d 0d 17 16 0f e7 |n}........].....| 000025f0 20 6d 6f 64 65 34 39 25 20 8c 0d 17 20 0d 5b 4f | mode49% ... .[O| 00002600 50 54 20 70 61 73 73 0d 17 2a 14 41 44 44 20 52 |PT pass..*.ADD R| 00002610 35 2c 73 63 72 65 65 6e 2c 23 78 0d 17 34 14 41 |5,screen,#x..4.A| 00002620 44 44 20 52 35 2c 52 35 2c 23 33 32 30 2a 79 0d |DD R5,R5,#320*y.| 00002630 17 3e 04 0d 17 48 18 53 54 4d 46 44 20 28 73 70 |.>...H.STMFD (sp| 00002640 29 21 2c 7b 52 30 2d 52 31 32 7d 0d 17 52 04 0d |)!,{R0-R12}..R..| 00002650 17 5c 11 4d 4f 56 20 52 30 2c 73 63 72 65 65 6e |.\.MOV R0,screen| 00002660 0d 17 66 12 41 44 44 20 52 31 2c 52 30 2c 23 33 |..f.ADD R1,R0,#3| 00002670 32 30 0d 17 70 17 41 44 44 20 52 31 31 2c 52 30 |20..p.ADD R11,R0| 00002680 2c 23 38 31 39 32 30 2a 32 0d 17 7a 0c 2e 66 69 |,#81920*2..z..fi| 00002690 6c 6c 5f 6c 70 0d 17 84 13 41 44 44 20 52 31 30 |ll_lp....ADD R10| 000026a0 2c 52 30 2c 23 33 32 30 0d 17 8e 08 2e 78 6c 70 |,R0,#320.....xlp| 000026b0 0d 17 98 15 4c 44 4d 49 41 20 52 30 21 2c 7b 52 |....LDMIA R0!,{R| 000026c0 32 2d 52 39 7d 0d 17 a2 15 53 54 4d 49 41 20 52 |2-R9}....STMIA R| 000026d0 31 21 2c 7b 52 32 2d 52 39 7d 0d 17 ac 0e 43 4d |1!,{R2-R9}....CM| 000026e0 50 20 52 30 2c 52 31 30 0d 17 b6 0b 42 4c 54 20 |P R0,R10....BLT | 000026f0 78 6c 70 0d 17 c0 04 0d 17 ca 12 41 44 44 20 52 |xlp........ADD R| 00002700 30 2c 52 30 2c 23 33 32 30 0d 17 d4 12 41 44 44 |0,R0,#320....ADD| 00002710 20 52 31 2c 52 31 2c 23 33 32 30 0d 17 de 0e 43 | R1,R1,#320....C| 00002720 4d 50 20 52 30 2c 52 31 31 0d 17 e8 0f 42 4c 54 |MP R0,R11....BLT| 00002730 20 66 69 6c 6c 5f 6c 70 0d 17 f2 04 0d 17 fc 18 | fill_lp........| 00002740 4c 44 4d 46 44 20 28 73 70 29 21 2c 7b 52 30 2d |LDMFD (sp)!,{R0-| 00002750 52 31 32 7d 0d 18 06 05 5d 0d 18 10 04 0d 18 1a |R12}....].......| 00002760 05 cd 0d 18 24 04 0d 18 2e 0d 5b 4f 50 54 20 70 |....$.....[OPT p| 00002770 61 73 73 0d 18 38 0e 2e 70 6c 61 73 6d 61 64 6f |ass..8..plasmado| 00002780 25 0d 18 42 1a 53 54 4d 4e 56 46 44 20 28 73 70 |%..B.STMNVFD (sp| 00002790 29 21 2c 7b 52 30 2d 52 31 32 7d 0d 18 4c 0e 42 |)!,{R0-R12}..L.B| 000027a0 4c 4e 56 20 63 79 63 6c 65 0d 18 56 1a 4c 44 4d |LNV cycle..V.LDM| 000027b0 4e 56 46 44 20 28 73 70 29 21 2c 7b 52 30 2d 52 |NVFD (sp)!,{R0-R| 000027c0 31 32 7d 0d 18 60 04 0d 18 6a 0f 4d 4f 56 20 52 |12}..`...j.MOV R| 000027d0 30 2c 23 31 32 39 0d 18 74 0e 4d 56 4e 20 52 31 |0,#129..t.MVN R1| 000027e0 2c 23 39 38 0d 18 7e 0f 4d 4f 56 20 52 32 2c 23 |,#98..~.MOV R2,#| 000027f0 32 35 35 0d 18 88 11 53 57 49 20 22 4f 53 5f 42 |255....SWI "OS_B| 00002800 79 74 65 22 0d 18 92 0f 43 4d 50 20 52 32 2c 23 |yte"....CMP R2,#| 00002810 32 35 35 0d 18 9c 16 4c 44 4d 45 51 46 44 20 28 |255....LDMEQFD (| 00002820 73 70 29 21 2c 7b 50 43 7d 0d 18 a6 28 20 20 20 |sp)!,{PC}...( | 00002830 20 20 20 20 20 20 20 20 20 53 57 49 20 22 4f 53 | SWI "OS| 00002840 5f 52 65 61 64 45 73 63 61 70 65 53 74 61 74 65 |_ReadEscapeState| 00002850 22 0d 18 b0 1c 20 20 20 20 20 20 20 20 20 20 20 |".... | 00002860 20 42 43 43 20 6d 61 69 6e 6c 6f 6f 70 0d 18 ba | BCC mainloop...| 00002870 04 0d 18 c4 20 2e 65 6e 64 20 20 20 20 20 20 20 |.... .end | 00002880 20 4c 44 4d 46 44 20 28 73 70 29 21 2c 7b 50 43 | LDMFD (sp)!,{PC| 00002890 7d 0d 18 ce 04 0d 18 d8 0f 2e 67 72 61 62 73 70 |}.........grabsp| 000028a0 72 69 74 65 0d 18 e2 14 4c 44 52 20 52 30 2c 73 |rite....LDR R0,s| 000028b0 63 72 65 65 6e 61 64 64 0d 18 ec 15 41 44 44 20 |creenadd....ADD | 000028c0 52 31 31 2c 52 30 2c 23 38 31 39 32 30 0d 18 f6 |R11,R0,#81920...| 000028d0 15 4c 44 52 20 52 39 2c 73 70 72 69 74 65 64 61 |.LDR R9,spriteda| 000028e0 74 61 0d 19 00 0d 2e 67 72 61 62 6c 6f 6f 70 0d |ta.....grabloop.| 000028f0 19 0a 15 4c 44 4d 49 41 20 52 30 21 2c 7b 52 31 |...LDMIA R0!,{R1| 00002900 2d 52 38 7d 0d 19 14 15 53 54 4d 49 41 20 52 39 |-R8}....STMIA R9| 00002910 21 2c 7b 52 31 2d 52 38 7d 0d 19 1e 0e 43 4d 50 |!,{R1-R8}....CMP| 00002920 20 52 30 2c 52 31 31 0d 19 28 10 42 4c 54 20 67 | R0,R11..(.BLT g| 00002930 72 61 62 6c 6f 6f 70 0d 19 32 0e 4d 4f 56 20 50 |rabloop..2.MOV P| 00002940 43 2c 52 31 34 0d 19 3c 04 0d 19 46 18 2e 63 6f |C,R14..<...F..co| 00002950 6e 20 20 20 20 20 20 20 20 45 51 55 44 20 38 30 |n EQUD 80| 00002960 30 0d 19 50 17 2e 70 6f 73 20 20 20 20 20 20 20 |0..P..pos | 00002970 20 45 51 55 44 20 20 30 0d 19 5a 0a 2e 67 6c 6f | EQUD 0..Z..glo| 00002980 62 65 0d 19 64 04 0d 19 6e 21 2e 70 6f 73 64 61 |be..d...n!.posda| 00002990 74 61 20 20 20 20 45 51 55 44 20 63 6f 64 65 2b |ta EQUD code+| 000029a0 31 30 32 34 2a 31 36 0d 19 78 22 2e 73 70 72 69 |1024*16..x".spri| 000029b0 74 65 64 61 74 61 20 45 51 55 44 20 70 6f 73 64 |tedata EQUD posd| 000029c0 61 74 61 2b 38 31 39 32 30 0d 19 82 25 2e 76 61 |ata+81920...%.va| 000029d0 72 73 72 65 61 64 20 20 20 4c 44 52 20 20 73 63 |rsread LDR sc| 000029e0 72 65 65 6e 2c 73 63 72 65 65 6e 61 64 64 0d 19 |reen,screenadd..| 000029f0 8c 1b 20 20 20 20 20 20 20 20 20 20 20 20 4d 4f |.. MO| 00002a00 56 20 20 50 43 2c 52 31 34 0d 19 96 1c 2e 73 63 |V PC,R14.....sc| 00002a10 72 65 65 6e 61 64 64 20 20 45 51 55 44 20 73 63 |reenadd EQUD sc| 00002a20 72 65 65 6e 25 0d 19 a0 04 0d 19 aa 17 2e 63 6f |reen%.........co| 00002a30 6c 64 61 74 61 33 20 45 51 55 44 20 63 6f 6c 73 |ldata3 EQUD cols| 00002a40 0d 19 b4 04 0d 19 be 0a 2e 63 79 63 6c 65 0d 19 |.........cycle..| 00002a50 c8 16 4c 44 52 20 52 31 32 2c 73 70 72 69 74 65 |..LDR R12,sprite| 00002a60 64 61 74 61 0d 19 d2 14 4c 44 52 20 52 31 30 2c |data....LDR R10,| 00002a70 63 6f 6c 64 61 74 61 33 0d 19 dc 0e 2e 63 79 63 |coldata3.....cyc| 00002a80 6c 65 6c 6f 6f 70 0d 19 e6 0e 4d 4f 56 20 52 30 |leloop....MOV R0| 00002a90 2c 52 31 32 0d 19 f0 15 41 44 44 20 52 31 31 2c |,R12....ADD R11,| 00002aa0 52 30 2c 23 38 31 39 32 30 0d 19 fa 16 53 55 42 |R0,#81920....SUB| 00002ab0 20 52 31 31 2c 52 31 31 2c 23 33 32 30 2d 38 0d | R11,R11,#320-8.| 00002ac0 1a 04 04 0d 1a 0e 08 2e 63 79 63 0d 1a 18 20 4c |........cyc... L| 00002ad0 44 4d 49 41 20 52 30 2c 7b 52 31 2c 52 32 2c 52 |DMIA R0,{R1,R2,R| 00002ae0 33 2c 52 34 2c 52 35 2c 52 36 7d 0d 1a 22 0d a4 |3,R4,R5,R6}.."..| 00002af0 64 6f 5f 69 74 28 31 29 0d 1a 2c 0d a4 64 6f 5f |do_it(1)..,..do_| 00002b00 69 74 28 32 29 0d 1a 36 0d a4 64 6f 5f 69 74 28 |it(2)..6..do_it(| 00002b10 33 29 0d 1a 40 0d a4 64 6f 5f 69 74 28 34 29 0d |3)..@..do_it(4).| 00002b20 1a 4a 0d a4 64 6f 5f 69 74 28 35 29 0d 1a 54 0d |.J..do_it(5)..T.| 00002b30 a4 64 6f 5f 69 74 28 36 29 0d 1a 5e 21 53 54 4d |.do_it(6)..^!STM| 00002b40 49 41 20 52 30 21 2c 7b 52 31 2c 52 32 2c 52 33 |IA R0!,{R1,R2,R3| 00002b50 2c 52 34 2c 52 35 2c 52 36 7d 0d 1a 68 04 0d 1a |,R4,R5,R6}..h...| 00002b60 72 0e 43 4d 50 20 52 30 2c 52 31 31 0d 1a 7c 0b |r.CMP R0,R11..|.| 00002b70 42 4c 54 20 63 79 63 0d 1a 86 04 0d 1a 90 14 4c |BLT cyc........L| 00002b80 44 4d 49 41 20 52 30 2c 7b 52 31 2c 52 32 7d 0d |DMIA R0,{R1,R2}.| 00002b90 1a 9a 0d a4 64 6f 5f 69 74 28 31 29 0d 1a a4 0d |....do_it(1)....| 00002ba0 a4 64 6f 5f 69 74 28 32 29 0d 1a ae 15 53 54 4d |.do_it(2)....STM| 00002bb0 49 41 20 52 30 21 2c 7b 52 31 2c 52 32 7d 0d 1a |IA R0!,{R1,R2}..| 00002bc0 b8 04 0d 1a c2 0e 4d 4f 56 20 50 43 2c 52 31 34 |......MOV PC,R14| 00002bd0 0d 1a cc 05 5d 0d 1a d6 05 ed 0d 1a e0 05 e1 0d |....]...........| 00002be0 1a ea 04 0d 1a f4 0c dd a4 63 68 6f 6f 73 65 0d |.........choose.| 00002bf0 1a fe 2d f1 8a 34 2c 32 29 3b 22 50 6c 65 61 73 |..-..4,2);"Pleas| 00002c00 65 20 63 6c 69 63 6b 20 6f 6e 20 61 20 63 6f 6c |e click on a col| 00002c10 6f 75 72 20 73 63 68 65 6d 65 2e 22 0d 1b 08 07 |our scheme."....| 00002c20 c8 97 ee 0d 1b 12 06 f1 27 0d 1b 1c 18 41 25 3d |........'....A%=| 00002c30 73 63 72 65 65 6e 25 2b 33 32 30 2a 33 32 2b 33 |screen%+320*32+3| 00002c40 32 0d 1b 26 0e e3 20 53 25 3d 30 20 b8 20 36 0d |2..&.. S%=0 . 6.| 00002c50 1b 30 0f e3 20 43 25 3d 30 20 b8 20 31 35 0d 1b |.0.. C%=0 . 15..| 00002c60 3a 13 43 57 25 3d 43 4f 4c 25 28 53 25 2c 43 25 |:.CW%=COL%(S%,C%| 00002c70 29 0d 1b 44 28 43 57 25 3d 43 57 25 2b 28 43 57 |)..D(CW%=CW%+(CW| 00002c80 25 3c 3c 38 29 2b 28 43 57 25 3c 3c 31 36 29 2b |%<<8)+(CW%<<16)+| 00002c90 28 43 57 25 3c 3c 32 34 29 0d 1b 4e 04 0d 1b 58 |(CW%<<24)..N...X| 00002ca0 0f e3 20 59 25 3d 30 20 b8 20 31 35 0d 1b 62 0e |.. Y%=0 . 15..b.| 00002cb0 e3 20 58 25 3d 30 20 b8 20 33 0d 1b 6c 0b 21 41 |. X%=0 . 3..l.!A| 00002cc0 25 3d 43 57 25 0d 1b 76 09 41 25 2b 3d 34 0d 1b |%=CW%..v.A%+=4..| 00002cd0 80 05 ed 0d 1b 8a 0e 41 25 2b 3d 33 32 30 2d 31 |.......A%+=320-1| 00002ce0 36 0d 1b 94 05 ed 0d 1b 9e 04 0d 1b a8 0e 41 25 |6.............A%| 00002cf0 2d 3d 33 32 30 2a 31 36 0d 1b b2 0a 41 25 2b 3d |-=320*16....A%+=| 00002d00 31 36 0d 1b bc 04 0d 1b c6 05 ed 0d 1b d0 10 f1 |16..............| 00002d10 20 c3 20 53 25 3b 22 2e 22 27 27 0d 1b da 04 0d | . S%;"."''.....| 00002d20 1b e4 0d 41 25 2d 3d 31 36 2a 31 36 0d 1b ee 0e |...A%-=16*16....| 00002d30 41 25 2b 3d 33 32 30 2a 32 34 0d 1b f8 05 ed 0d |A%+=320*24......| 00002d40 1c 02 04 0d 1c 0c 09 4f 53 25 3d 30 0d 1c 16 0a |.......OS%=0....| 00002d50 e6 20 33 2c 36 33 0d 1c 20 1f c8 93 20 31 32 38 |. 3,63.. ... 128| 00002d60 2c 31 30 32 34 2d 31 32 38 2d 36 34 2c 36 34 2a |,1024-128-64,64*| 00002d70 31 36 2c 36 34 0d 1c 2a 04 0d 1c 34 05 f5 0d 1c |16,64..*...4....| 00002d80 3e 0c c8 97 20 58 2c 59 2c 5a 0d 1c 48 1a 53 25 |>... X,Y,Z..H.S%| 00002d90 3d 28 28 31 30 32 34 2d 59 29 2d 31 32 38 29 20 |=((1024-Y)-128) | 00002da0 81 20 39 36 0d 1c 52 1d e7 20 53 25 3c 30 20 53 |. 96..R.. S%<0 S| 00002db0 25 3d 30 20 8b 20 e7 20 53 25 3e 36 20 53 25 3d |%=0 . . S%>6 S%=| 00002dc0 36 0d 1c 5c 59 e7 20 53 25 3c 3e 4f 53 25 20 c8 |6..\Y. S%<>OS% .| 00002dd0 93 20 31 32 38 2c 31 30 32 34 2d 31 32 38 2d 36 |. 128,1024-128-6| 00002de0 34 2d 4f 53 25 2a 39 36 2c 36 34 2a 31 36 2c 36 |4-OS%*96,64*16,6| 00002df0 34 3a c8 93 20 31 32 38 2c 31 30 32 34 2d 31 32 |4:.. 128,1024-12| 00002e00 38 2d 36 34 2d 53 25 2a 39 36 2c 36 34 2a 31 36 |8-64-S%*96,64*16| 00002e10 2c 36 34 3a 4f 53 25 3d 53 25 0d 1c 66 09 fd 20 |,64:OS%=S%..f.. | 00002e20 5a 3e 30 0d 1c 70 07 3d 53 25 0d 1c 7a 04 0d 1c |Z>0..p.=S%..z...| 00002e30 84 12 dd f2 73 70 28 4e 24 2c 78 25 2c 79 25 29 |....sp(N$,x%,y%)| 00002e40 0d 1c 8e 28 c8 99 22 4f 53 5f 53 70 72 69 74 65 |...(.."OS_Sprite| 00002e50 4f 70 22 2c 32 35 36 2b 33 34 2c 73 25 2c 4e 24 |Op",256+34,s%,N$| 00002e60 2c 78 25 2c 79 25 2c 38 0d 1c 98 05 e1 0d 1c a2 |,x%,y%,8........| 00002e70 04 0d 1c ac 13 dd f2 73 70 32 28 4e 24 2c 78 25 |.......sp2(N$,x%| 00002e80 2c 79 25 29 0d 1c b6 29 c8 99 22 4f 53 5f 53 70 |,y%)...).."OS_Sp| 00002e90 72 69 74 65 4f 70 22 2c 32 35 36 2b 33 34 2c 73 |riteOp",256+34,s| 00002ea0 62 25 2c 4e 24 2c 78 25 2c 79 25 2c 38 0d 1c c0 |b%,N$,x%,y%,8...| 00002eb0 05 e1 0d 1c ca 04 0d 1c d4 0f dd f2 73 6c 6f 61 |............sloa| 00002ec0 64 28 53 24 29 0d 1c de 0f 46 49 4c 45 25 3d 8e |d(S$)....FILE%=.| 00002ed0 28 53 24 29 0d 1c e8 14 53 49 5a 45 25 3d a2 23 |(S$)....SIZE%=.#| 00002ee0 46 49 4c 45 25 2b 36 34 0d 1c f2 0b d9 23 46 49 |FILE%+64.....#FI| 00002ef0 4c 45 25 0d 1c fc 0e de 20 41 25 20 53 49 5a 45 |LE%..... A% SIZE| 00002f00 25 0d 1d 06 0b 41 25 21 30 3d 53 25 0d 1d 10 1c |%....A%!0=S%....| 00002f10 c8 99 22 4f 53 5f 53 70 72 69 74 65 4f 70 22 2c |.."OS_SpriteOp",| 00002f20 32 35 36 2b 39 2c 41 25 0d 1d 1a 20 c8 99 22 4f |256+9,A%... .."O| 00002f30 53 5f 53 70 72 69 74 65 4f 70 22 2c 32 35 36 2b |S_SpriteOp",256+| 00002f40 31 30 2c 41 25 2c 53 24 0d 1d 24 09 73 25 3d 41 |10,A%,S$..$.s%=A| 00002f50 25 0d 1d 2e 05 e1 0d 1d 38 04 0d 1d 42 0c dd f2 |%.......8...B...| 00002f60 73 6c 6f 61 64 42 0d 1d 4c 1d 46 49 4c 45 25 3d |sloadB..L.FILE%=| 00002f70 8e 28 22 3c 65 64 24 64 69 72 3e 2e 54 49 4c 45 |.("<ed$dir>.TILE| 00002f80 53 22 29 0d 1d 56 17 53 24 3d 22 3c 65 64 24 64 |S")..V.S$="<ed$d| 00002f90 69 72 3e 2e 54 49 4c 45 53 22 0d 1d 60 14 53 49 |ir>.TILES"..`.SI| 00002fa0 5a 45 25 3d a2 23 46 49 4c 45 25 2b 36 34 0d 1d |ZE%=.#FILE%+64..| 00002fb0 6a 0b d9 23 46 49 4c 45 25 0d 1d 74 0e de 20 42 |j..#FILE%..t.. B| 00002fc0 25 20 53 49 5a 45 25 0d 1d 7e 0b 42 25 21 30 3d |% SIZE%..~.B%!0=| 00002fd0 53 25 0d 1d 88 1c c8 99 22 4f 53 5f 53 70 72 69 |S%......"OS_Spri| 00002fe0 74 65 4f 70 22 2c 32 35 36 2b 39 2c 42 25 0d 1d |teOp",256+9,B%..| 00002ff0 92 20 c8 99 22 4f 53 5f 53 70 72 69 74 65 4f 70 |. .."OS_SpriteOp| 00003000 22 2c 32 35 36 2b 31 30 2c 42 25 2c 53 24 0d 1d |",256+10,B%,S$..| 00003010 9c 0a 73 62 25 3d 42 25 0d 1d a6 15 de 20 58 25 |..sb%=B%..... X%| 00003020 28 4e 54 25 29 2c 59 25 28 4e 54 25 29 0d 1d b0 |(NT%),Y%(NT%)...| 00003030 12 e3 20 49 25 3d 30 20 b8 20 4e 54 25 2d 31 0d |.. I%=0 . NT%-1.| 00003040 1d ba 13 f3 20 58 25 28 49 25 29 2c 59 25 28 49 |.... X%(I%),Y%(I| 00003050 25 29 0d 1d c4 05 ed 0d 1d ce 05 e1 0d 1d d8 04 |%)..............| 00003060 0d 1d e2 15 dd f2 65 6e 61 62 6c 65 28 6e 25 2c |......enable(n%,| 00003070 61 64 64 25 29 0d 1d ec 2a 62 69 6e 25 3d 25 31 |add%)...*bin%=%1| 00003080 31 31 30 31 31 31 31 31 31 31 31 31 31 31 31 31 |1101111111111111| 00003090 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 0d |111111111111111.| 000030a0 1d f6 0f e3 20 4c 25 3d 31 20 b8 20 6e 25 0d 1e |.... L%=1 . n%..| 000030b0 00 18 21 61 64 64 25 3d 28 21 61 64 64 25 29 20 |..!add%=(!add%) | 000030c0 80 20 62 69 6e 25 0d 1e 0a 0b 61 64 64 25 2b 3d |. bin%....add%+=| 000030d0 34 0d 1e 14 05 ed 0d 1e 1e 05 e1 0d 1e 28 04 0d |4............(..| 000030e0 1e 32 16 dd f2 64 69 73 61 62 6c 65 28 6e 25 2c |.2...disable(n%,| 000030f0 61 64 64 25 29 0d 1e 3c 2a 62 69 6e 25 3d 25 30 |add%)..<*bin%=%0| 00003100 30 30 31 30 30 30 30 30 30 30 30 30 30 30 30 30 |0010000000000000| 00003110 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 0d |000000000000000.| 00003120 1e 46 0f e3 20 4c 25 3d 31 20 b8 20 6e 25 0d 1e |.F.. L%=1 . n%..| 00003130 50 18 21 61 64 64 25 3d 28 21 61 64 64 25 29 20 |P.!add%=(!add%) | 00003140 84 20 62 69 6e 25 0d 1e 5a 0b 61 64 64 25 2b 3d |. bin%..Z.add%+=| 00003150 34 0d 1e 64 05 ed 0d 1e 6e 05 e1 0d 1e 78 04 0d |4..d....n....x..| 00003160 1e 82 0b dd f2 74 69 6c 65 64 0d 1e 8c 08 2a 52 |.....tiled....*R| 00003170 41 4d 0d 1e 96 05 db 0d 1e a0 34 f1 27 27 22 20 |AM........4.''" | 00003180 20 20 50 6c 65 61 73 65 20 74 79 70 65 20 74 68 | Please type th| 00003190 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 73 70 |e name of the sp| 000031a0 72 69 74 65 20 66 69 6c 65 2e 22 0d 1e aa 08 e8 |rite file.".....| 000031b0 20 46 24 0d 1e b4 0e f2 73 6c 6f 61 64 28 46 24 | F$.....sload(F$| 000031c0 29 0d 1e be 35 f1 27 22 20 20 20 50 6c 65 61 73 |)...5.'" Pleas| 000031d0 65 20 74 79 70 65 20 74 68 65 20 6e 61 6d 65 20 |e type the name | 000031e0 6f 66 20 74 68 65 20 73 70 72 69 74 65 20 69 74 |of the sprite it| 000031f0 73 65 6c 66 2e 22 0d 1e c8 08 e8 20 4e 24 0d 1e |self."..... N$..| 00003200 d2 2b f1 27 22 20 20 20 50 6c 65 61 73 65 20 69 |.+.'" Please i| 00003210 6e 70 75 74 20 74 68 65 20 73 70 72 69 74 65 27 |nput the sprite'| 00003220 73 20 77 69 64 74 68 2e 22 0d 1e dc 08 e8 20 58 |s width."..... X| 00003230 25 0d 1e e6 2c f1 27 22 20 20 20 50 6c 65 61 73 |%...,.'" Pleas| 00003240 65 20 69 6e 70 75 74 20 74 68 65 20 73 70 72 69 |e input the spri| 00003250 74 65 27 73 20 68 65 69 67 68 74 2e 22 0d 1e f0 |te's height."...| 00003260 08 e8 20 59 25 0d 1e fa 07 eb 31 33 0d 1f 04 05 |.. Y%.....13....| 00003270 87 0d 1f 0e 13 f2 74 69 6c 65 28 4e 24 2c 58 25 |......tile(N$,X%| 00003280 2c 59 25 29 0d 1f 18 05 e1 0d 1f 22 04 0d 1f 2c |,Y%)......."...,| 00003290 0c dd f2 66 61 64 65 69 6e 0d 1f 36 26 e3 20 49 |...fadein..6&. I| 000032a0 25 3d 30 20 b8 20 32 35 35 20 88 20 38 3a fb 20 |%=0 . 255 . 8:. | 000032b0 31 2c 49 25 2c 49 25 2c 49 25 3a c8 96 3a ed 0d |1,I%,I%,I%:..:..| 000032c0 1f 40 05 e1 0d 1f 4a 04 0d 1f 54 0d dd f2 66 61 |.@....J...T...fa| 000032d0 64 65 6f 75 74 0d 1f 5e 27 e3 20 49 25 3d 32 35 |deout..^'. I%=25| 000032e0 35 20 b8 20 30 20 88 20 2d 38 3a fb 20 31 2c 49 |5 . 0 . -8:. 1,I| 000032f0 25 2c 49 25 2c 49 25 3a c8 96 3a ed 0d 1f 68 05 |%,I%,I%:..:...h.| 00003300 e1 0d 1f 72 04 0d 1f 7c 0c dd f2 62 74 69 6c 65 |...r...|...btile| 00003310 64 0d 1f 86 09 eb 31 33 3a 87 0d 1f 90 07 c8 97 |d.....13:.......| 00003320 ee 0d 1f 9a 2e f1 8a 36 2c 32 29 3b 22 50 6c 65 |.......6,2);"Ple| 00003330 61 73 65 20 63 6c 69 63 6b 20 6f 6e 20 61 20 74 |ase click on a t| 00003340 69 6c 69 6e 67 20 70 61 74 74 65 72 6e 2e 22 0d |iling pattern.".| 00003350 1f a4 09 58 25 3d 36 34 0d 1f ae 10 59 25 3d 31 |...X%=64....Y%=1| 00003360 30 32 34 2d 36 34 2a 38 0d 1f b8 10 e3 20 54 25 |024-64*8..... T%| 00003370 3d 31 20 b8 20 4e 54 25 0d 1f c2 15 f2 73 70 32 |=1 . NT%.....sp2| 00003380 28 c3 28 54 25 29 2c 58 25 2c 59 25 29 0d 1f cc |(.(T%),X%,Y%)...| 00003390 0c 58 25 2b 3d 34 38 2a 34 0d 1f d6 25 e7 20 58 |.X%+=48*4...%. X| 000033a0 25 3e 3d 28 31 32 37 39 2d 36 34 2d 34 38 29 20 |%>=(1279-64-48) | 000033b0 58 25 3d 36 34 3a 59 25 2d 3d 34 38 2a 34 0d 1f |X%=64:Y%-=48*4..| 000033c0 e0 05 ed 0d 1f ea 04 0d 1f f4 0a e6 20 33 2c 36 |............ 3,6| 000033d0 33 0d 1f fe 04 0d 20 08 09 4e 25 3d 2d 31 0d 20 |3..... ..N%=-1. | 000033e0 12 05 f5 0d 20 1c 0e f5 20 c8 97 20 58 2c 59 2c |.... ... .. X,Y,| 000033f0 5a 0d 20 26 11 59 3d 59 2b 36 34 2a 38 2d 34 38 |Z. &.Y=Y+64*8-48| 00003400 2a 34 0d 20 30 0c 59 3d 31 30 32 34 2d 59 0d 20 |*4. 0.Y=1024-Y. | 00003410 3a 0d 59 3d 59 20 81 20 31 39 32 0d 20 44 0a 58 |:.Y=Y . 192. D.X| 00003420 3d 58 2d 34 38 0d 20 4e 0d 58 3d 58 20 81 20 31 |=X-48. N.X=X . 1| 00003430 39 32 0d 20 58 17 58 25 3d 58 2a 31 39 32 2b 34 |92. X.X%=X*192+4| 00003440 38 2b 31 36 2b 34 38 2a 34 0d 20 62 1d 59 25 3d |8+16+48*4. b.Y%=| 00003450 28 31 30 32 34 2d 59 2a 31 39 32 29 2d 36 34 2a |(1024-Y*192)-64*| 00003460 38 2b 34 38 2a 34 0d 20 6c 0c 4e 25 3d 58 2b 59 |8+48*4. l.N%=X+Y| 00003470 2a 36 0d 20 76 04 0d 20 80 0e e7 20 4e 25 3c 4e |*6. v.. ... N%<N| 00003480 54 25 20 8c 0d 20 8a 30 c8 93 20 58 25 2d 34 38 |T% .. .0.. X%-48| 00003490 2a 34 2c 59 25 2d 34 38 2a 34 2c 28 58 25 28 4e |*4,Y%-48*4,(X%(N| 000034a0 25 29 2d 31 29 2a 34 2c 28 59 25 28 4e 25 29 2d |%)-1)*4,(Y%(N%)-| 000034b0 31 29 2a 34 0d 20 94 06 c8 96 0d 20 9e 30 c8 93 |1)*4. ..... .0..| 000034c0 20 58 25 2d 34 38 2a 34 2c 59 25 2d 34 38 2a 34 | X%-48*4,Y%-48*4| 000034d0 2c 28 58 25 28 4e 25 29 2d 31 29 2a 34 2c 28 59 |,(X%(N%)-1)*4,(Y| 000034e0 25 28 4e 25 29 2d 31 29 2a 34 0d 20 a8 05 cd 0d |%(N%)-1)*4. ....| 000034f0 20 b2 04 0d 20 bc 09 fd 20 5a 3e 30 0d 20 c6 2d | ... ... Z>0. .-| 00003500 e7 20 58 3e 34 38 20 80 20 58 3c 28 31 32 37 39 |. X>48 . X<(1279| 00003510 2d 36 34 2d 34 38 29 20 80 20 59 3c 28 31 30 32 |-64-48) . Y<(102| 00003520 34 2d 36 34 2a 34 29 20 8c 0d 20 d0 04 0d 20 da |4-64*4) .. ... .| 00003530 0c 4e 25 3d 58 2b 59 2a 36 0d 20 e4 05 cd 0d 20 |.N%=X+Y*6. .... | 00003540 ee 14 fd 20 4e 25 3e 2d 31 20 80 20 4e 25 3c 4e |... N%>-1 . N%<N| 00003550 54 25 0d 20 f8 04 0d 21 02 21 f2 74 69 6c 65 62 |T%. ...!.!.tileb| 00003560 28 c3 28 4e 25 2b 31 29 2c 58 25 28 4e 25 29 2c |(.(N%+1),X%(N%),| 00003570 59 25 28 4e 25 29 29 0d 21 0c 04 0d 21 16 07 c8 |Y%(N%)).!...!...| 00003580 97 87 0d 21 20 05 e1 0d 21 2a 04 0d 21 34 14 dd |...! ...!*..!4..| 00003590 f2 74 69 6c 65 28 6e 24 2c 78 25 2c 79 25 29 0d |.tile(n$,x%,y%).| 000035a0 21 3e 18 e3 20 49 25 3d 30 20 b8 20 31 32 37 39 |!>.. I%=0 . 1279| 000035b0 20 88 20 78 25 2a 34 0d 21 48 18 e3 20 4a 25 3d | . x%*4.!H.. J%=| 000035c0 30 20 b8 20 31 30 32 33 20 88 20 79 25 2a 34 0d |0 . 1023 . y%*4.| 000035d0 21 52 11 f2 73 70 28 6e 24 2c 49 25 2c 4a 25 29 |!R..sp(n$,I%,J%)| 000035e0 0d 21 5c 07 ed 3a ed 0d 21 66 05 e1 0d 21 70 15 |.!\..:..!f...!p.| 000035f0 dd f2 74 69 6c 65 62 28 6e 24 2c 78 25 2c 79 25 |..tileb(n$,x%,y%| 00003600 29 0d 21 7a 18 e3 20 49 25 3d 30 20 b8 20 31 32 |).!z.. I%=0 . 12| 00003610 37 39 20 88 20 78 25 2a 34 0d 21 84 18 e3 20 4a |79 . x%*4.!... J| 00003620 25 3d 30 20 b8 20 31 30 32 33 20 88 20 79 25 2a |%=0 . 1023 . y%*| 00003630 34 0d 21 8e 12 f2 73 70 32 28 6e 24 2c 49 25 2c |4.!...sp2(n$,I%,| 00003640 4a 25 29 0d 21 98 07 ed 3a ed 0d 21 a2 05 e1 0d |J%).!...:..!....| 00003650 21 ac 04 0d 21 b6 0b dc 20 32 34 2c 32 34 0d 21 |!...!... 24,24.!| 00003660 c0 0b dc 20 34 38 2c 34 38 0d 21 ca 0b dc 20 33 |... 48,48.!... 3| 00003670 32 2c 33 32 0d 21 d4 0b dc 20 34 38 2c 34 38 0d |2,32.!... 48,48.| 00003680 21 de 04 0d 21 e8 0b dc 20 34 38 2c 34 38 0d 21 |!...!... 48,48.!| 00003690 f2 0b dc 20 32 30 2c 32 30 0d 21 fc 0b dc 20 32 |... 20,20.!... 2| 000036a0 30 2c 32 30 0d 22 06 0b dc 20 31 36 2c 31 36 0d |0,20."... 16,16.| 000036b0 22 10 04 0d 22 1a 0b dc 20 34 38 2c 34 38 0d 22 |"..."... 48,48."| 000036c0 24 0b dc 20 34 38 2c 34 38 0d 22 2e 0b dc 20 34 |$.. 48,48."... 4| 000036d0 30 2c 34 30 0d 22 38 0b dc 20 32 30 2c 32 30 0d |0,40."8.. 20,20.| 000036e0 22 42 04 0d 22 4c 0b dc 20 33 32 2c 33 32 0d 22 |"B.."L.. 32,32."| 000036f0 56 0b dc 20 33 32 2c 34 36 0d 22 60 0b dc 20 34 |V.. 32,46."`.. 4| 00003700 30 2c 34 30 0d 22 6a 0b dc 20 33 30 2c 33 30 0d |0,40."j.. 30,30.| 00003710 ff |.| 00003711