Home » Archimedes archive » Archimedes World » AW-1992-05.adf » May92 » !AWMay92/Goodies/DigOut/!LevMake/!RunImage
!AWMay92/Goodies/DigOut/!LevMake/!RunImage
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Archimedes archive » Archimedes World » AW-1992-05.adf » May92 |
Filename: | !AWMay92/Goodies/DigOut/!LevMake/!RunImage |
Read OK: | ✔ |
File size: | 19D3 bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10REM >!RunImage 20REM Dig Out level creator 30REM Written by Carl Shaw 40: 50PROCset_up 60: 70PROCedit 80END 90: 100DEFPROCset_up 110MODE 13 120OFF 130DIM level%(19,15,9),backspr%(19) 140level%()=0 150backspr%()=0 160back%=0 170levno%=0 180spr%=1 190PROCbox(0,0,1279,223,FALSE) 200PROCbox(480,80,300,124,TRUE) 210PROCbox(300,20,128,184,TRUE) 220PROCbox(1156,64,92,96,TRUE) 230PROCbox(1000,64,92,96,TRUE) 240PROCbox(832,20,128,184,TRUE) 250GCOL 0 TINT 0 260RECTANGLE FILL 690,100,80,80 270SYS "XOS_ReadVarVal","LevMake$Dir",0,-1 TO ,,exist% 280IF exist%=0 THEN SYS"OS_CLI","Set LevMake$Dir adfs::0.$.!LevMake" 290SYS"OS_SpriteOp",10,,"<LevMake$Dir>.Sprites" 300SYS"OS_SpriteOp",34,,"title",40,20,8 310SYS"OS_SpriteOp",34,,"apple1",490,100,8 320SYS"OS_SpriteOp",34,,"rock1",590,100,8 330SYS"OS_SpriteOp",34,,"up_arrow",375,152,8 340SYS"OS_SpriteOp",34,,"down_arrow",375,32,8 350SYS"OS_SpriteOp",34,,"exit",1164,72 360SYS"OS_SpriteOp",34,,"disk",1008,72 370COLOUR 42 TINT 64 380COLOUR 176 TINT 0 390PRINTTAB(10,28);"L00" 400MOUSE ON 410*POINTER 1 420PROCshow_select(spr%) 430ENDPROC 440: 450DEFPROCbackground(sprite%) 460backspr%(levno%)=back% 470PROCdecode(levno%) 480ENDPROC 490: 500DEFPROCedit 510LOCAL x,y,b,xs%,ys%,end 520xs%=0 530ys%=0 540end=FALSE 550PROCdecode(levno%) 560REPEAT 570 MOUSE x,y,b 580 IF x>=0 AND x<=1279 AND y>223 AND y<1024 THEN 590 PROCcursor(xs%,ys%) 600 xs%=x DIV80 610 ys%=(y-224)DIV 80 620 PROCcursor(xs%,ys%) 630 IF b=%100 THEN 640 PROCcursor(xs%,ys%) 650 PROCplace(spr%,xs%,ys%) 660 PROCcursor(xs%,ys%) 670 level%(levno%,xs%,ys%)=spr% 680 ENDIF 690 IF b=%001 THEN 700 PROCcursor(xs%,ys%) 710 PROCplace(0,xs%,ys%) 720 PROCcursor(xs%,ys%) 730 level%(levno%,xs%,ys%)=0 740 ENDIF 750 ENDIF 760 IF x>480 AND x<780 AND y>=80 AND y<=204 AND b>0 THEN 770 PROCshow_select(spr%) 780 spr%=((x-480)DIV100)+1 790 PROCshow_select(spr%) 800 ENDIF 810 IF x>=856 AND x<936 AND y>72 AND y<152 AND b>0 THEN 820 IF b=%001 THEN 830 back%=(back%+1)MOD10 840 SYS"OS_SpriteOp",34,,"ground"+STR$back%,856,72 850 FOR delay=1 TO 5000:NEXT 860 ENDIF 870 IF b=%100 THEN 880 SYS"OS_Confirm" TO ans% 890 IF ans%=ASC"y" THEN 900 PROCbackground(back%) 910 ENDIF 920 ENDIF 930 ENDIF 940 IF x>380 AND x<420 AND y>150 AND y<190 AND b=%100 THEN 950 levno%=(levno%+1)MOD 20 960 PROCdecode(levno%) 970 ENDIF 980 IF x>380 AND x<420 AND y>30 AND y<70 AND b=%100 THEN 990 levno%-=1 1000 IF levno%<0 levno%=19 1010 PROCdecode(levno%) 1020 ENDIF 1030 IF x>1000 AND x<1092 AND y>64 AND y<160 AND b>0 THEN 1040 PROCdisc_access 1050 ENDIF 1060 IF x>1156 AND x<1248 AND y>64 AND y<160 AND b=%100 THEN 1070 SYS"OS_Confirm" TO ans 1080 IF ans=ASC"y" end=TRUE 1090 ENDIF 1100UNTIL end 1110ENDPROC 1120: 1130DEFPROCbox(xstart%,ystart%,xlength%,ylength%,invert%) 1140GCOL 48 TINT 0 1150RECTANGLE FILL xstart%,ystart%,xlength%,ylength% 1160IF invert% GCOL 16 TINT 255 ELSE GCOL 52 TINT 0 1170RECTANGLE FILL xstart%,ystart%,xlength%,8 1180RECTANGLE FILL xstart%,ystart%,8,ylength% 1190IF invert% GCOL 52 TINT 0 ELSE GCOL 16 TINT 255 1200RECTANGLE FILL (xstart%+xlength%)-8,(ystart%+ylength%)-8,8,16-ylength% 1210RECTANGLE FILL xstart%+xlength%,(ystart%+ylength%)-8,8-xlength%,8 1220MOVE xstart%+xlength%,ystart% 1230MOVE (xstart%+xlength%)-8,ystart%+8 1240PLOT 85,xstart%+xlength%,ystart%+8 1250MOVE xstart%,ystart%+ylength% 1260MOVE xstart%+8,ystart%+ylength% 1270PLOT 85,xstart%+8,(ystart%+ylength%)-8 1280ENDPROC 1290: 1300DEFPROCplace(sel%,xs%,ys%) 1310LOCAL s$ 1320SYS"OS_SpriteOp",34,,"ground"+STR$(backspr%(levno%)),xs%*80,ys%*80+224 1330IF xs%=7 AND ys%=4 THEN 1340 SYS"OS_SpriteOp",34,,"trapdoor",xs%*80,ys%*80+224 1350 sel%=0 1360ENDIF 1370CASE sel% OF 1380 WHEN 1 : s$="apple1" 1390 WHEN 2 : s$="rock1" 1400ENDCASE 1410IF sel%=3 THEN 1420 GCOL 0 TINT 0 1430 RECTANGLE FILL xs%*80,ys%*80+224,76,76 1440ELSE 1450 IF sel%<>0 SYS"OS_SpriteOp",34,,s$,xs%*80,ys%*80+224,8 1460ENDIF 1470ENDPROC 1480: 1490DEFPROCshow_select(sel%) 1500SYS"OS_SpriteOp",34,,"up_arrow",410+(sel%*100),20,11 1510ENDPROC 1520: 1530DEFPROCcursor(xs%,ys%) 1540GCOL 3,63 TINT 255 1550RECTANGLE xs%*80,ys%*80+224,76,76 1560ENDPROC 1570: 1580DEFPROCdecode(levno%) 1590SYS"Hourglass_On" 1600SYS"OS_SpriteOp",34,,"ground"+STR$backspr%(levno%),856,72 1610level%(levno%,7,4)=3 1620COLOUR 42 TINT 64 1630COLOUR 176 TINT 0 1640PRINTTAB(10,28);"L"+RIGHT$("00"+STR$levno%,2) 1650FOR x%=0 TO 15 1660 FOR y%=0 TO 9 1670 PROCplace(level%(levno%,x%,y%),x%,y%) 1680 NEXT 1690NEXT 1700PROCcursor(xs%,ys%) 1710back%=backspr%(levno%) 1720SYS"Hourglass_Smash" 1730ENDPROC 1740: 1750DEFPROCdisc_access 1760VDU 28,0,24,39,0 1770CLS 1780PROCcentre_text("Load Level Data",700,64) 1790PROCcentre_text("Save Level Data",600,64) 1800PROCcentre_text("Exit This Menu",500,64) 1810MOUSE RECTANGLE 0,500,1279,300 1820GCOL 3,48 TINT 0 1830PROCbar(3) 1840opt%=3 1850REPEAT 1860 MOUSE xp%,yp%,but% 1870 newopt%=((790-yp%)DIV100)+1 1880 IF newopt%<>opt% THEN 1890 PROCbar(opt%) 1900 opt%=newopt% 1910 PROCbar(opt%) 1920 ENDIF 1930UNTIL but%=%100 1940IF opt%=1 PROCload_file 1950IF opt%=2 PROCsave_file 1960PROCdecode(levno%) 1970MOUSE RECTANGLE 0,0,1280,1024 1980VDU 26 1990ENDPROC 2000: 2010DEFPROCbar(opt%) 2020GCOL 3,48 TINT 0 2030RECTANGLE FILL 100,700-((opt%-1)*100),1079,68 2040ENDPROC 2050: 2060DEFPROCcentre_text(line$,yp%,size%) 2070LOCAL xp% 2080VDU 23,17,7,6,(size% DIV4);(size% DIV4)| 2090xp%=(1279-(LEN(line$)*size%))DIV2 2100VDU 5 2110MOVE xp%,yp%+size% 2120PRINTline$ 2130VDU 4 2140OFF 2150ENDPROC 2160: 2170DEFPROCsave_file 2180CLS 2190GCOL 3 TINT 255 2200PROCcentre_text("Enter filename :",800,64) 2210ON 2220*POINTER 0 2230INPUTTAB(10,10);":"file$ 2240file$="<LevMake$Dir>."+file$ 2250OFF 2260*POINTER 1 2270SYS"Hourglass_On" 2280chan=OPENOUT(file$) 2290BPUT#chan,"DIG OUT!"; 2300FOR lev%=0 TO 19 2310 BPUT#chan,backspr%(lev%) 2320 PROCsave_mask(lev%,chan) 2330 PROCsave_poss(lev%,chan) 2340NEXT 2350CLOSE#chan 2360SYS"Hourglass_Smash" 2370ENDPROC 2380: 2390DEFPROCsave_mask(lvl%,chan) 2400FOR row=9 TO 0 STEP -1 2410 mask$="" 2420 FOR col=0 TO 15 2430 IF level%(lvl%,col,row)=3 THEN 2440 mask$=mask$+"0" 2450 ELSE 2460 mask$=mask$+"1" 2470 ENDIF 2480 NEXT 2490 byte1=EVAL("%"+LEFT$(mask$,8)) 2500 byte2=EVAL("%"+RIGHT$(mask$,8)) 2510 BPUT#chan,byte1 2520 BPUT#chan,byte2 2530NEXT 2540ENDPROC 2550: 2560DEFPROCsave_poss(lev%,chan) 2570PROCscan_for(lev%,1,40,chan) 2580PROCscan_for(lev%,2,40,chan) 2590ENDPROC 2600: 2610DEFPROCscan_for(lvl%,look%,limit%,chan) 2620obs%=0 2630FOR row=9 TO 0 STEP -1 2640 FOR col=0 TO 15 2650 IF level%(lvl%,col,row)=look% AND obs%<limit% THEN 2660 byte=(row<<4)+col 2670 BPUT#chan,byte 2680 obs%+=1 2690 ENDIF 2700 NEXT 2710NEXT 2720IF obs%=limit% ENDPROC 2730FOR fill%=1 TO (limit%-obs%) 2740 BPUT#chan,255 2750NEXT 2760ENDPROC 2770: 2780DEFPROCload_file 2790CLS 2800GCOL 3 TINT 255 2810PROCcentre_text("Enter filename :",800,64) 2820ON 2830*POINTER 0 2840INPUTTAB(10,10);":"file$ 2850file$="<LevMake$Dir>."+file$ 2860OFF 2870*POINTER 1 2880SYS"Hourglass_On" 2890chan=OPENIN(file$) 2900confirm$="" 2910FOR check=1 TO 8 2920confirm$+=CHR$(BGET#chan) 2930NEXT 2940IF confirm$<>"DIG OUT!" THEN 2950 CLS 2960 REM error 2970ELSE 2980level%()=0 2990FOR lev%=0 TO 19 3000 backspr%(lev%)=BGET#chan 3010 FOR mask=9 TO 0 STEP -1 3020 byte1=BGET#chan 3030 byte2=BGET#chan 3040 mskwrd=(byte1<<8)+byte2 3050 FOR xscan=0 TO 15 3060 IF (mskwrd AND (2^(15-xscan)))=0 THEN 3070 level%(lev%,xscan,mask)=3 3080 ENDIF 3090 NEXT 3100 NEXT 3110 FOR apple%=1 TO 40 3120 byte1=BGET#chan 3130 IF byte1<>255 THEN 3140 level%(lev%,byte1 AND15,byte1>>4)=1 3150 ENDIF 3160 NEXT 3170 FOR rock%=1 TO 40 3180 byte1=BGET#chan 3190 IF byte1<>255 THEN 3200 level%(lev%,byte1 AND15,byte1>>4)=2 3210 ENDIF 3220 NEXT 3230NEXT 3240ENDIF 3250CLOSE#chan 3260ENDPROC
� >!RunImage � Dig Out level creator � Written by Carl Shaw (: 2�set_up <: F �edit P� Z: d��set_up n� 13 x� �"� level%(19,15,9),backspr%(19) �level%()=0 �backspr%()=0 �back%=0 �levno%=0 � spr%=1 ��box(0,0,1279,223,�) ��box(480,80,300,124,�) ��box(300,20,128,184,�) ��box(1156,64,92,96,�) ��box(1000,64,92,96,�) ��box(832,20,128,184,�) �� 0 Ȝ 0 ȓ Ȑ 690,100,80,80 5ș "XOS_ReadVarVal","LevMake$Dir",0,-1 � ,,exist% @� exist%=0 � ș"OS_CLI","Set LevMake$Dir adfs::0.$.!LevMake" "/ș"OS_SpriteOp",10,,"<LevMake$Dir>.Sprites" ,'ș"OS_SpriteOp",34,,"title",40,20,8 6*ș"OS_SpriteOp",34,,"apple1",490,100,8 @)ș"OS_SpriteOp",34,,"rock1",590,100,8 J,ș"OS_SpriteOp",34,,"up_arrow",375,152,8 T-ș"OS_SpriteOp",34,,"down_arrow",375,32,8 ^&ș"OS_SpriteOp",34,,"exit",1164,72 h&ș"OS_SpriteOp",34,,"disk",1008,72 r� 42 Ȝ 64 |� 176 Ȝ 0 ��10,28);"L00" �ȗ � �*POINTER 1 ��show_select(spr%) �� �: ���background(sprite%) �backspr%(levno%)=back% ��decode(levno%) �� �: � ��edit �� x,y,b,xs%,ys%,end xs%=0 ys%=0 end=� &�decode(levno%) 0� : ȗ x,y,b D) � x>=0 � x<=1279 � y>223 � y<1024 � N �cursor(xs%,ys%) X xs%=x �80 b ys%=(y-224)� 80 l �cursor(xs%,ys%) v � b=%100 � � �cursor(xs%,ys%) � �place(spr%,xs%,ys%) � �cursor(xs%,ys%) �% level%(levno%,xs%,ys%)=spr% � � � � b=%001 � � �cursor(xs%,ys%) � �place(0,xs%,ys%) � �cursor(xs%,ys%) �" level%(levno%,xs%,ys%)=0 � � � � �. � x>480 � x<780 � y>=80 � y<=204 � b>0 � �show_select(spr%) spr%=((x-480)�100)+1 �show_select(spr%) � *- � x>=856 � x<936 � y>72 � y<152 � b>0 � 4 � b=%001 � > back%=(back%+1)�10 H4 ș"OS_SpriteOp",34,,"ground"+�back%,856,72 R � delay=1 � 5000:� \ � f � b=%100 � p ș"OS_Confirm" � ans% z � ans%=�"y" � � �background(back%) � � � � � � �0 � x>380 � x<420 � y>150 � y<190 � b=%100 � � levno%=(levno%+1)� 20 � �decode(levno%) � � �. � x>380 � x<420 � y>30 � y<70 � b=%100 � � levno%-=1 � � levno%<0 levno%=19 � �decode(levno%) � � . � x>1000 � x<1092 � y>64 � y<160 � b>0 � �disc_access � $1 � x>1156 � x<1248 � y>64 � y<160 � b=%100 � . ș"OS_Confirm" � ans 8 � ans=�"y" end=� B � L � end V� `: j4��box(xstart%,ystart%,xlength%,ylength%,invert%) t � 48 Ȝ 0 ~+ȓ Ȑ xstart%,ystart%,xlength%,ylength% �%� invert% � 16 Ȝ 255 � � 52 Ȝ 0 �$ȓ Ȑ xstart%,ystart%,xlength%,8 �$ȓ Ȑ xstart%,ystart%,8,ylength% �%� invert% � 52 Ȝ 0 � � 16 Ȝ 255 �Aȓ Ȑ (xstart%+xlength%)-8,(ystart%+ylength%)-8,8,16-ylength% �<ȓ Ȑ xstart%+xlength%,(ystart%+ylength%)-8,8-xlength%,8 �� xstart%+xlength%,ystart% �$� (xstart%+xlength%)-8,ystart%+8 �#� 85,xstart%+xlength%,ystart%+8 �� xstart%,ystart%+ylength% � � xstart%+8,ystart%+ylength% �'� 85,xstart%+8,(ystart%+ylength%)-8 � : ��place(sel%,xs%,ys%) � s$ (Fș"OS_SpriteOp",34,,"ground"+�(backspr%(levno%)),xs%*80,ys%*80+224 2� xs%=7 � ys%=4 � <6 ș"OS_SpriteOp",34,,"trapdoor",xs%*80,ys%*80+224 F sel%=0 P� Z Ȏ sel% � d � 1 : s$="apple1" n � 2 : s$="rock1" x� �� sel%=3 � � � 0 Ȝ 0 �# ȓ Ȑ xs%*80,ys%*80+224,76,76 �� �: � sel%<>0 ș"OS_SpriteOp",34,,s$,xs%*80,ys%*80+224,8 �� �� �: ���show_select(sel%) �7ș"OS_SpriteOp",34,,"up_arrow",410+(sel%*100),20,11 �� �: ���cursor(xs%,ys%) � 3,63 Ȝ 255 ȓ xs%*80,ys%*80+224,76,76 � ": ,��decode(levno%) 6ș"Hourglass_On" @9ș"OS_SpriteOp",34,,"ground"+�backspr%(levno%),856,72 Jlevel%(levno%,7,4)=3 T� 42 Ȝ 64 ^� 176 Ȝ 0 h!�10,28);"L"+�"00"+�levno%,2) r� x%=0 � 15 | � y%=0 � 9 �* �place(level%(levno%,x%,y%),x%,y%) � � �� ��cursor(xs%,ys%) �back%=backspr%(levno%) �ș"Hourglass_Smash" �� �: ���disc_access �� 28,0,24,39,0 �� �*�centre_text("Load Level Data",700,64) �*�centre_text("Save Level Data",600,64) )�centre_text("Exit This Menu",500,64) ȗ ȓ 0,500,1279,300 � 3,48 Ȝ 0 &�bar(3) 0 opt%=3 :� D ȗ xp%,yp%,but% N newopt%=((790-yp%)�100)+1 X � newopt%<>opt% � b �bar(opt%) l opt%=newopt% v �bar(opt%) � � �� but%=%100 �� opt%=1 �load_file �� opt%=2 �save_file ��decode(levno%) �ȗ ȓ 0,0,1280,1024 �� 26 �� �: ���bar(opt%) �� 3,48 Ȝ 0 �(ȓ Ȑ 100,700-((opt%-1)*100),1079,68 �� : "��centre_text(line$,yp%,size%) � xp% &� 23,17,7,6,(size% �4);(size% �4)| *!xp%=(1279-(�(line$)*size%))�2 4� 5 >� xp%,yp%+size% H �line$ R� 4 \� f� p: z��save_file �� �� 3 Ȝ 255 �+�centre_text("Enter filename :",800,64) �� �*POINTER 0 ��10,10);":"file$ � file$="<LevMake$Dir>."+file$ �� �*POINTER 1 �ș"Hourglass_On" �chan=�(file$) ��#chan,"DIG OUT!"; �� lev%=0 � 19 �#chan,backspr%(lev%) �save_mask(lev%,chan) �save_poss(lev%,chan) $� . �#chan 8ș"Hourglass_Smash" B� L: V��save_mask(lvl%,chan) `� row=9 � 0 � -1 j mask$="" t � col=0 � 15 ~" � level%(lvl%,col,row)=3 � � mask$=mask$+"0" � � � mask$=mask$+"1" � � � � � byte1=�("%"+�mask$,8)) � byte2=�("%"+�mask$,8)) � �#chan,byte1 � �#chan,byte2 �� �� �: ��save_poss(lev%,chan) �scan_for(lev%,1,40,chan) �scan_for(lev%,2,40,chan) � (: 2&��scan_for(lvl%,look%,limit%,chan) < obs%=0 F� row=9 � 0 � -1 P � col=0 � 15 Z4 � level%(lvl%,col,row)=look% � obs%<limit% � d byte=(row<<4)+col n �#chan,byte x obs%+=1 � � � � �� �� obs%=limit% � �� fill%=1 � (limit%-obs%) � �#chan,255 �� �� �: ���load_file �� �� 3 Ȝ 255 �+�centre_text("Enter filename :",800,64) � *POINTER 0 �10,10);":"file$ " file$="<LevMake$Dir>."+file$ ,� 6*POINTER 1 @ș"Hourglass_On" Jchan=�(file$) Tconfirm$="" ^� check=1 � 8 hconfirm$+=�(�#chan) r� |� confirm$<>"DIG OUT!" � � � � � error �� �level%()=0 �� lev%=0 � 19 � backspr%(lev%)=�#chan � � mask=9 � 0 � -1 � byte1=�#chan � byte2=�#chan � mskwrd=(byte1<<8)+byte2 � � xscan=0 � 15 �) � (mskwrd � (2^(15-xscan)))=0 � �% level%(lev%,xscan,mask)=3 � � � & � apple%=1 � 40 0 byte1=�#chan : � byte1<>255 � D+ level%(lev%,byte1 �15,byte1>>4)=1 N � X � b � rock%=1 � 40 l byte1=�#chan v � byte1<>255 � �* level%(lev%,byte1 �15,byte1>>4)=2 � � � � �� �� � �#chan �� �
00000000 0d 00 0a 10 f4 20 3e 21 52 75 6e 49 6d 61 67 65 |..... >!RunImage| 00000010 0d 00 14 1b f4 20 44 69 67 20 4f 75 74 20 6c 65 |..... Dig Out le| 00000020 76 65 6c 20 63 72 65 61 74 6f 72 0d 00 1e 1a f4 |vel creator.....| 00000030 20 57 72 69 74 74 65 6e 20 62 79 20 43 61 72 6c | Written by Carl| 00000040 20 53 68 61 77 0d 00 28 05 3a 0d 00 32 0b f2 73 | Shaw..(.:..2..s| 00000050 65 74 5f 75 70 0d 00 3c 05 3a 0d 00 46 09 f2 65 |et_up..<.:..F..e| 00000060 64 69 74 0d 00 50 05 e0 0d 00 5a 05 3a 0d 00 64 |dit..P....Z.:..d| 00000070 0c dd f2 73 65 74 5f 75 70 0d 00 6e 08 eb 20 31 |...set_up..n.. 1| 00000080 33 0d 00 78 05 87 0d 00 82 22 de 20 6c 65 76 65 |3..x.....". leve| 00000090 6c 25 28 31 39 2c 31 35 2c 39 29 2c 62 61 63 6b |l%(19,15,9),back| 000000a0 73 70 72 25 28 31 39 29 0d 00 8c 0e 6c 65 76 65 |spr%(19)....leve| 000000b0 6c 25 28 29 3d 30 0d 00 96 10 62 61 63 6b 73 70 |l%()=0....backsp| 000000c0 72 25 28 29 3d 30 0d 00 a0 0b 62 61 63 6b 25 3d |r%()=0....back%=| 000000d0 30 0d 00 aa 0c 6c 65 76 6e 6f 25 3d 30 0d 00 b4 |0....levno%=0...| 000000e0 0a 73 70 72 25 3d 31 0d 00 be 18 f2 62 6f 78 28 |.spr%=1.....box(| 000000f0 30 2c 30 2c 31 32 37 39 2c 32 32 33 2c a3 29 0d |0,0,1279,223,.).| 00000100 00 c8 1a f2 62 6f 78 28 34 38 30 2c 38 30 2c 33 |....box(480,80,3| 00000110 30 30 2c 31 32 34 2c b9 29 0d 00 d2 1a f2 62 6f |00,124,.).....bo| 00000120 78 28 33 30 30 2c 32 30 2c 31 32 38 2c 31 38 34 |x(300,20,128,184| 00000130 2c b9 29 0d 00 dc 19 f2 62 6f 78 28 31 31 35 36 |,.).....box(1156| 00000140 2c 36 34 2c 39 32 2c 39 36 2c b9 29 0d 00 e6 19 |,64,92,96,.)....| 00000150 f2 62 6f 78 28 31 30 30 30 2c 36 34 2c 39 32 2c |.box(1000,64,92,| 00000160 39 36 2c b9 29 0d 00 f0 1a f2 62 6f 78 28 38 33 |96,.).....box(83| 00000170 32 2c 32 30 2c 31 32 38 2c 31 38 34 2c b9 29 0d |2,20,128,184,.).| 00000180 00 fa 0c e6 20 30 20 c8 9c 20 30 0d 01 04 17 c8 |.... 0 .. 0.....| 00000190 93 20 c8 90 20 36 39 30 2c 31 30 30 2c 38 30 2c |. .. 690,100,80,| 000001a0 38 30 0d 01 0e 35 c8 99 20 22 58 4f 53 5f 52 65 |80...5.. "XOS_Re| 000001b0 61 64 56 61 72 56 61 6c 22 2c 22 4c 65 76 4d 61 |adVarVal","LevMa| 000001c0 6b 65 24 44 69 72 22 2c 30 2c 2d 31 20 b8 20 2c |ke$Dir",0,-1 . ,| 000001d0 2c 65 78 69 73 74 25 0d 01 18 40 e7 20 65 78 69 |,exist%...@. exi| 000001e0 73 74 25 3d 30 20 8c 20 c8 99 22 4f 53 5f 43 4c |st%=0 . .."OS_CL| 000001f0 49 22 2c 22 53 65 74 20 4c 65 76 4d 61 6b 65 24 |I","Set LevMake$| 00000200 44 69 72 20 61 64 66 73 3a 3a 30 2e 24 2e 21 4c |Dir adfs::0.$.!L| 00000210 65 76 4d 61 6b 65 22 0d 01 22 2f c8 99 22 4f 53 |evMake".."/.."OS| 00000220 5f 53 70 72 69 74 65 4f 70 22 2c 31 30 2c 2c 22 |_SpriteOp",10,,"| 00000230 3c 4c 65 76 4d 61 6b 65 24 44 69 72 3e 2e 53 70 |<LevMake$Dir>.Sp| 00000240 72 69 74 65 73 22 0d 01 2c 27 c8 99 22 4f 53 5f |rites"..,'.."OS_| 00000250 53 70 72 69 74 65 4f 70 22 2c 33 34 2c 2c 22 74 |SpriteOp",34,,"t| 00000260 69 74 6c 65 22 2c 34 30 2c 32 30 2c 38 0d 01 36 |itle",40,20,8..6| 00000270 2a c8 99 22 4f 53 5f 53 70 72 69 74 65 4f 70 22 |*.."OS_SpriteOp"| 00000280 2c 33 34 2c 2c 22 61 70 70 6c 65 31 22 2c 34 39 |,34,,"apple1",49| 00000290 30 2c 31 30 30 2c 38 0d 01 40 29 c8 99 22 4f 53 |0,100,8..@).."OS| 000002a0 5f 53 70 72 69 74 65 4f 70 22 2c 33 34 2c 2c 22 |_SpriteOp",34,,"| 000002b0 72 6f 63 6b 31 22 2c 35 39 30 2c 31 30 30 2c 38 |rock1",590,100,8| 000002c0 0d 01 4a 2c c8 99 22 4f 53 5f 53 70 72 69 74 65 |..J,.."OS_Sprite| 000002d0 4f 70 22 2c 33 34 2c 2c 22 75 70 5f 61 72 72 6f |Op",34,,"up_arro| 000002e0 77 22 2c 33 37 35 2c 31 35 32 2c 38 0d 01 54 2d |w",375,152,8..T-| 000002f0 c8 99 22 4f 53 5f 53 70 72 69 74 65 4f 70 22 2c |.."OS_SpriteOp",| 00000300 33 34 2c 2c 22 64 6f 77 6e 5f 61 72 72 6f 77 22 |34,,"down_arrow"| 00000310 2c 33 37 35 2c 33 32 2c 38 0d 01 5e 26 c8 99 22 |,375,32,8..^&.."| 00000320 4f 53 5f 53 70 72 69 74 65 4f 70 22 2c 33 34 2c |OS_SpriteOp",34,| 00000330 2c 22 65 78 69 74 22 2c 31 31 36 34 2c 37 32 0d |,"exit",1164,72.| 00000340 01 68 26 c8 99 22 4f 53 5f 53 70 72 69 74 65 4f |.h&.."OS_SpriteO| 00000350 70 22 2c 33 34 2c 2c 22 64 69 73 6b 22 2c 31 30 |p",34,,"disk",10| 00000360 30 38 2c 37 32 0d 01 72 0e fb 20 34 32 20 c8 9c |08,72..r.. 42 ..| 00000370 20 36 34 0d 01 7c 0e fb 20 31 37 36 20 c8 9c 20 | 64..|.. 176 .. | 00000380 30 0d 01 86 12 f1 8a 31 30 2c 32 38 29 3b 22 4c |0......10,28);"L| 00000390 30 30 22 0d 01 90 08 c8 97 20 ee 0d 01 9a 0e 2a |00"...... .....*| 000003a0 50 4f 49 4e 54 45 52 20 31 0d 01 a4 16 f2 73 68 |POINTER 1.....sh| 000003b0 6f 77 5f 73 65 6c 65 63 74 28 73 70 72 25 29 0d |ow_select(spr%).| 000003c0 01 ae 05 e1 0d 01 b8 05 3a 0d 01 c2 19 dd f2 62 |........:......b| 000003d0 61 63 6b 67 72 6f 75 6e 64 28 73 70 72 69 74 65 |ackground(sprite| 000003e0 25 29 0d 01 cc 1a 62 61 63 6b 73 70 72 25 28 6c |%)....backspr%(l| 000003f0 65 76 6e 6f 25 29 3d 62 61 63 6b 25 0d 01 d6 13 |evno%)=back%....| 00000400 f2 64 65 63 6f 64 65 28 6c 65 76 6e 6f 25 29 0d |.decode(levno%).| 00000410 01 e0 05 e1 0d 01 ea 05 3a 0d 01 f4 0a dd f2 65 |........:......e| 00000420 64 69 74 0d 01 fe 17 ea 20 78 2c 79 2c 62 2c 78 |dit..... x,y,b,x| 00000430 73 25 2c 79 73 25 2c 65 6e 64 0d 02 08 09 78 73 |s%,ys%,end....xs| 00000440 25 3d 30 0d 02 12 09 79 73 25 3d 30 0d 02 1c 09 |%=0....ys%=0....| 00000450 65 6e 64 3d a3 0d 02 26 13 f2 64 65 63 6f 64 65 |end=...&..decode| 00000460 28 6c 65 76 6e 6f 25 29 0d 02 30 05 f5 0d 02 3a |(levno%)..0....:| 00000470 0e 20 20 c8 97 20 78 2c 79 2c 62 0d 02 44 29 20 |. .. x,y,b..D) | 00000480 20 e7 20 78 3e 3d 30 20 80 20 78 3c 3d 31 32 37 | . x>=0 . x<=127| 00000490 39 20 80 20 79 3e 32 32 33 20 80 20 79 3c 31 30 |9 . y>223 . y<10| 000004a0 32 34 20 8c 0d 02 4e 18 20 20 20 20 f2 63 75 72 |24 ...N. .cur| 000004b0 73 6f 72 28 78 73 25 2c 79 73 25 29 0d 02 58 11 |sor(xs%,ys%)..X.| 000004c0 20 20 20 20 78 73 25 3d 78 20 81 38 30 0d 02 62 | xs%=x .80..b| 000004d0 17 20 20 20 20 79 73 25 3d 28 79 2d 32 32 34 29 |. ys%=(y-224)| 000004e0 81 20 38 30 0d 02 6c 18 20 20 20 20 f2 63 75 72 |. 80..l. .cur| 000004f0 73 6f 72 28 78 73 25 2c 79 73 25 29 0d 02 76 12 |sor(xs%,ys%)..v.| 00000500 20 20 20 20 e7 20 62 3d 25 31 30 30 20 8c 0d 02 | . b=%100 ...| 00000510 80 1a 20 20 20 20 20 20 f2 63 75 72 73 6f 72 28 |.. .cursor(| 00000520 78 73 25 2c 79 73 25 29 0d 02 8a 1e 20 20 20 20 |xs%,ys%).... | 00000530 20 20 f2 70 6c 61 63 65 28 73 70 72 25 2c 78 73 | .place(spr%,xs| 00000540 25 2c 79 73 25 29 0d 02 94 1a 20 20 20 20 20 20 |%,ys%).... | 00000550 f2 63 75 72 73 6f 72 28 78 73 25 2c 79 73 25 29 |.cursor(xs%,ys%)| 00000560 0d 02 9e 25 20 20 20 20 20 20 6c 65 76 65 6c 25 |...% level%| 00000570 28 6c 65 76 6e 6f 25 2c 78 73 25 2c 79 73 25 29 |(levno%,xs%,ys%)| 00000580 3d 73 70 72 25 0d 02 a8 09 20 20 20 20 cd 0d 02 |=spr%.... ...| 00000590 b2 12 20 20 20 20 e7 20 62 3d 25 30 30 31 20 8c |.. . b=%001 .| 000005a0 0d 02 bc 1a 20 20 20 20 20 20 f2 63 75 72 73 6f |.... .curso| 000005b0 72 28 78 73 25 2c 79 73 25 29 0d 02 c6 1b 20 20 |r(xs%,ys%).... | 000005c0 20 20 20 20 f2 70 6c 61 63 65 28 30 2c 78 73 25 | .place(0,xs%| 000005d0 2c 79 73 25 29 0d 02 d0 1a 20 20 20 20 20 20 f2 |,ys%).... .| 000005e0 63 75 72 73 6f 72 28 78 73 25 2c 79 73 25 29 0d |cursor(xs%,ys%).| 000005f0 02 da 22 20 20 20 20 20 20 6c 65 76 65 6c 25 28 |.." level%(| 00000600 6c 65 76 6e 6f 25 2c 78 73 25 2c 79 73 25 29 3d |levno%,xs%,ys%)=| 00000610 30 0d 02 e4 09 20 20 20 20 cd 0d 02 ee 07 20 20 |0.... ..... | 00000620 cd 0d 02 f8 2e 20 20 e7 20 78 3e 34 38 30 20 80 |..... . x>480 .| 00000630 20 78 3c 37 38 30 20 80 20 79 3e 3d 38 30 20 80 | x<780 . y>=80 .| 00000640 20 79 3c 3d 32 30 34 20 80 20 62 3e 30 20 8c 0d | y<=204 . b>0 ..| 00000650 03 02 1a 20 20 20 20 f2 73 68 6f 77 5f 73 65 6c |... .show_sel| 00000660 65 63 74 28 73 70 72 25 29 0d 03 0c 1c 20 20 20 |ect(spr%).... | 00000670 20 73 70 72 25 3d 28 28 78 2d 34 38 30 29 81 31 | spr%=((x-480).1| 00000680 30 30 29 2b 31 0d 03 16 1a 20 20 20 20 f2 73 68 |00)+1.... .sh| 00000690 6f 77 5f 73 65 6c 65 63 74 28 73 70 72 25 29 0d |ow_select(spr%).| 000006a0 03 20 07 20 20 cd 0d 03 2a 2d 20 20 e7 20 78 3e |. . ...*- . x>| 000006b0 3d 38 35 36 20 80 20 78 3c 39 33 36 20 80 20 79 |=856 . x<936 . y| 000006c0 3e 37 32 20 80 20 79 3c 31 35 32 20 80 20 62 3e |>72 . y<152 . b>| 000006d0 30 20 8c 0d 03 34 12 20 20 20 20 e7 20 62 3d 25 |0 ...4. . b=%| 000006e0 30 30 31 20 8c 0d 03 3e 1c 20 20 20 20 20 20 62 |001 ...>. b| 000006f0 61 63 6b 25 3d 28 62 61 63 6b 25 2b 31 29 83 31 |ack%=(back%+1).1| 00000700 30 0d 03 48 34 20 20 20 20 20 20 c8 99 22 4f 53 |0..H4 .."OS| 00000710 5f 53 70 72 69 74 65 4f 70 22 2c 33 34 2c 2c 22 |_SpriteOp",34,,"| 00000720 67 72 6f 75 6e 64 22 2b c3 62 61 63 6b 25 2c 38 |ground"+.back%,8| 00000730 35 36 2c 37 32 0d 03 52 1c 20 20 20 20 20 20 e3 |56,72..R. .| 00000740 20 64 65 6c 61 79 3d 31 20 b8 20 35 30 30 30 3a | delay=1 . 5000:| 00000750 ed 0d 03 5c 09 20 20 20 20 cd 0d 03 66 12 20 20 |...\. ...f. | 00000760 20 20 e7 20 62 3d 25 31 30 30 20 8c 0d 03 70 1f | . b=%100 ...p.| 00000770 20 20 20 20 20 20 c8 99 22 4f 53 5f 43 6f 6e 66 | .."OS_Conf| 00000780 69 72 6d 22 20 b8 20 61 6e 73 25 0d 03 7a 17 20 |irm" . ans%..z. | 00000790 20 20 20 20 20 e7 20 61 6e 73 25 3d 97 22 79 22 | . ans%=."y"| 000007a0 20 8c 0d 03 84 1e 20 20 20 20 20 20 20 20 f2 62 | ..... .b| 000007b0 61 63 6b 67 72 6f 75 6e 64 28 62 61 63 6b 25 29 |ackground(back%)| 000007c0 0d 03 8e 0b 20 20 20 20 20 20 cd 0d 03 98 09 20 |.... ..... | 000007d0 20 20 20 cd 0d 03 a2 07 20 20 cd 0d 03 ac 30 20 | ..... ....0 | 000007e0 20 e7 20 78 3e 33 38 30 20 80 20 78 3c 34 32 30 | . x>380 . x<420| 000007f0 20 80 20 79 3e 31 35 30 20 80 20 79 3c 31 39 30 | . y>150 . y<190| 00000800 20 80 20 62 3d 25 31 30 30 20 8c 0d 03 b6 1d 20 | . b=%100 ..... | 00000810 20 20 20 6c 65 76 6e 6f 25 3d 28 6c 65 76 6e 6f | levno%=(levno| 00000820 25 2b 31 29 83 20 32 30 0d 03 c0 17 20 20 20 20 |%+1). 20.... | 00000830 f2 64 65 63 6f 64 65 28 6c 65 76 6e 6f 25 29 0d |.decode(levno%).| 00000840 03 ca 07 20 20 cd 0d 03 d4 2e 20 20 e7 20 78 3e |... ..... . x>| 00000850 33 38 30 20 80 20 78 3c 34 32 30 20 80 20 79 3e |380 . x<420 . y>| 00000860 33 30 20 80 20 79 3c 37 30 20 80 20 62 3d 25 31 |30 . y<70 . b=%1| 00000870 30 30 20 8c 0d 03 de 11 20 20 20 20 6c 65 76 6e |00 ..... levn| 00000880 6f 25 2d 3d 31 0d 03 e8 1c 20 20 20 20 e7 20 6c |o%-=1.... . l| 00000890 65 76 6e 6f 25 3c 30 20 6c 65 76 6e 6f 25 3d 31 |evno%<0 levno%=1| 000008a0 39 0d 03 f2 17 20 20 20 20 f2 64 65 63 6f 64 65 |9.... .decode| 000008b0 28 6c 65 76 6e 6f 25 29 0d 03 fc 07 20 20 cd 0d |(levno%).... ..| 000008c0 04 06 2e 20 20 e7 20 78 3e 31 30 30 30 20 80 20 |... . x>1000 . | 000008d0 78 3c 31 30 39 32 20 80 20 79 3e 36 34 20 80 20 |x<1092 . y>64 . | 000008e0 79 3c 31 36 30 20 80 20 62 3e 30 20 8c 0d 04 10 |y<160 . b>0 ....| 000008f0 14 20 20 20 20 f2 64 69 73 63 5f 61 63 63 65 73 |. .disc_acces| 00000900 73 0d 04 1a 07 20 20 cd 0d 04 24 31 20 20 e7 20 |s.... ...$1 . | 00000910 78 3e 31 31 35 36 20 80 20 78 3c 31 32 34 38 20 |x>1156 . x<1248 | 00000920 80 20 79 3e 36 34 20 80 20 79 3c 31 36 30 20 80 |. y>64 . y<160 .| 00000930 20 62 3d 25 31 30 30 20 8c 0d 04 2e 1c 20 20 20 | b=%100 ..... | 00000940 20 c8 99 22 4f 53 5f 43 6f 6e 66 69 72 6d 22 20 | .."OS_Confirm" | 00000950 b8 20 61 6e 73 0d 04 38 18 20 20 20 20 e7 20 61 |. ans..8. . a| 00000960 6e 73 3d 97 22 79 22 20 65 6e 64 3d b9 0d 04 42 |ns=."y" end=...B| 00000970 07 20 20 cd 0d 04 4c 09 fd 20 65 6e 64 0d 04 56 |. ...L.. end..V| 00000980 05 e1 0d 04 60 05 3a 0d 04 6a 34 dd f2 62 6f 78 |....`.:..j4..box| 00000990 28 78 73 74 61 72 74 25 2c 79 73 74 61 72 74 25 |(xstart%,ystart%| 000009a0 2c 78 6c 65 6e 67 74 68 25 2c 79 6c 65 6e 67 74 |,xlength%,ylengt| 000009b0 68 25 2c 69 6e 76 65 72 74 25 29 0d 04 74 0d e6 |h%,invert%)..t..| 000009c0 20 34 38 20 c8 9c 20 30 0d 04 7e 2b c8 93 20 c8 | 48 .. 0..~+.. .| 000009d0 90 20 78 73 74 61 72 74 25 2c 79 73 74 61 72 74 |. xstart%,ystart| 000009e0 25 2c 78 6c 65 6e 67 74 68 25 2c 79 6c 65 6e 67 |%,xlength%,yleng| 000009f0 74 68 25 0d 04 88 25 e7 20 69 6e 76 65 72 74 25 |th%...%. invert%| 00000a00 20 e6 20 31 36 20 c8 9c 20 32 35 35 20 8b 20 e6 | . 16 .. 255 . .| 00000a10 20 35 32 20 c8 9c 20 30 0d 04 92 24 c8 93 20 c8 | 52 .. 0...$.. .| 00000a20 90 20 78 73 74 61 72 74 25 2c 79 73 74 61 72 74 |. xstart%,ystart| 00000a30 25 2c 78 6c 65 6e 67 74 68 25 2c 38 0d 04 9c 24 |%,xlength%,8...$| 00000a40 c8 93 20 c8 90 20 78 73 74 61 72 74 25 2c 79 73 |.. .. xstart%,ys| 00000a50 74 61 72 74 25 2c 38 2c 79 6c 65 6e 67 74 68 25 |tart%,8,ylength%| 00000a60 0d 04 a6 25 e7 20 69 6e 76 65 72 74 25 20 e6 20 |...%. invert% . | 00000a70 35 32 20 c8 9c 20 30 20 8b 20 e6 20 31 36 20 c8 |52 .. 0 . . 16 .| 00000a80 9c 20 32 35 35 0d 04 b0 41 c8 93 20 c8 90 20 28 |. 255...A.. .. (| 00000a90 78 73 74 61 72 74 25 2b 78 6c 65 6e 67 74 68 25 |xstart%+xlength%| 00000aa0 29 2d 38 2c 28 79 73 74 61 72 74 25 2b 79 6c 65 |)-8,(ystart%+yle| 00000ab0 6e 67 74 68 25 29 2d 38 2c 38 2c 31 36 2d 79 6c |ngth%)-8,8,16-yl| 00000ac0 65 6e 67 74 68 25 0d 04 ba 3c c8 93 20 c8 90 20 |ength%...<.. .. | 00000ad0 78 73 74 61 72 74 25 2b 78 6c 65 6e 67 74 68 25 |xstart%+xlength%| 00000ae0 2c 28 79 73 74 61 72 74 25 2b 79 6c 65 6e 67 74 |,(ystart%+ylengt| 00000af0 68 25 29 2d 38 2c 38 2d 78 6c 65 6e 67 74 68 25 |h%)-8,8-xlength%| 00000b00 2c 38 0d 04 c4 1e ec 20 78 73 74 61 72 74 25 2b |,8..... xstart%+| 00000b10 78 6c 65 6e 67 74 68 25 2c 79 73 74 61 72 74 25 |xlength%,ystart%| 00000b20 0d 04 ce 24 ec 20 28 78 73 74 61 72 74 25 2b 78 |...$. (xstart%+x| 00000b30 6c 65 6e 67 74 68 25 29 2d 38 2c 79 73 74 61 72 |length%)-8,ystar| 00000b40 74 25 2b 38 0d 04 d8 23 f0 20 38 35 2c 78 73 74 |t%+8...#. 85,xst| 00000b50 61 72 74 25 2b 78 6c 65 6e 67 74 68 25 2c 79 73 |art%+xlength%,ys| 00000b60 74 61 72 74 25 2b 38 0d 04 e2 1e ec 20 78 73 74 |tart%+8..... xst| 00000b70 61 72 74 25 2c 79 73 74 61 72 74 25 2b 79 6c 65 |art%,ystart%+yle| 00000b80 6e 67 74 68 25 0d 04 ec 20 ec 20 78 73 74 61 72 |ngth%... . xstar| 00000b90 74 25 2b 38 2c 79 73 74 61 72 74 25 2b 79 6c 65 |t%+8,ystart%+yle| 00000ba0 6e 67 74 68 25 0d 04 f6 27 f0 20 38 35 2c 78 73 |ngth%...'. 85,xs| 00000bb0 74 61 72 74 25 2b 38 2c 28 79 73 74 61 72 74 25 |tart%+8,(ystart%| 00000bc0 2b 79 6c 65 6e 67 74 68 25 29 2d 38 0d 05 00 05 |+ylength%)-8....| 00000bd0 e1 0d 05 0a 05 3a 0d 05 14 19 dd f2 70 6c 61 63 |.....:......plac| 00000be0 65 28 73 65 6c 25 2c 78 73 25 2c 79 73 25 29 0d |e(sel%,xs%,ys%).| 00000bf0 05 1e 08 ea 20 73 24 0d 05 28 46 c8 99 22 4f 53 |.... s$..(F.."OS| 00000c00 5f 53 70 72 69 74 65 4f 70 22 2c 33 34 2c 2c 22 |_SpriteOp",34,,"| 00000c10 67 72 6f 75 6e 64 22 2b c3 28 62 61 63 6b 73 70 |ground"+.(backsp| 00000c20 72 25 28 6c 65 76 6e 6f 25 29 29 2c 78 73 25 2a |r%(levno%)),xs%*| 00000c30 38 30 2c 79 73 25 2a 38 30 2b 32 32 34 0d 05 32 |80,ys%*80+224..2| 00000c40 15 e7 20 78 73 25 3d 37 20 80 20 79 73 25 3d 34 |.. xs%=7 . ys%=4| 00000c50 20 8c 0d 05 3c 36 20 20 c8 99 22 4f 53 5f 53 70 | ...<6 .."OS_Sp| 00000c60 72 69 74 65 4f 70 22 2c 33 34 2c 2c 22 74 72 61 |riteOp",34,,"tra| 00000c70 70 64 6f 6f 72 22 2c 78 73 25 2a 38 30 2c 79 73 |pdoor",xs%*80,ys| 00000c80 25 2a 38 30 2b 32 32 34 0d 05 46 0c 20 20 73 65 |%*80+224..F. se| 00000c90 6c 25 3d 30 0d 05 50 05 cd 0d 05 5a 0d c8 8e 20 |l%=0..P....Z... | 00000ca0 73 65 6c 25 20 ca 0d 05 64 17 20 20 c9 20 31 20 |sel% ...d. . 1 | 00000cb0 3a 20 73 24 3d 22 61 70 70 6c 65 31 22 0d 05 6e |: s$="apple1"..n| 00000cc0 16 20 20 c9 20 32 20 3a 20 73 24 3d 22 72 6f 63 |. . 2 : s$="roc| 00000cd0 6b 31 22 0d 05 78 05 cb 0d 05 82 0e e7 20 73 65 |k1"..x....... se| 00000ce0 6c 25 3d 33 20 8c 0d 05 8c 0e 20 20 e6 20 30 20 |l%=3 ..... . 0 | 00000cf0 c8 9c 20 30 0d 05 96 23 20 20 c8 93 20 c8 90 20 |.. 0...# .. .. | 00000d00 78 73 25 2a 38 30 2c 79 73 25 2a 38 30 2b 32 32 |xs%*80,ys%*80+22| 00000d10 34 2c 37 36 2c 37 36 0d 05 a0 05 cc 0d 05 aa 3a |4,76,76........:| 00000d20 20 20 e7 20 73 65 6c 25 3c 3e 30 20 c8 99 22 4f | . sel%<>0 .."O| 00000d30 53 5f 53 70 72 69 74 65 4f 70 22 2c 33 34 2c 2c |S_SpriteOp",34,,| 00000d40 73 24 2c 78 73 25 2a 38 30 2c 79 73 25 2a 38 30 |s$,xs%*80,ys%*80| 00000d50 2b 32 32 34 2c 38 0d 05 b4 05 cd 0d 05 be 05 e1 |+224,8..........| 00000d60 0d 05 c8 05 3a 0d 05 d2 17 dd f2 73 68 6f 77 5f |....:......show_| 00000d70 73 65 6c 65 63 74 28 73 65 6c 25 29 0d 05 dc 37 |select(sel%)...7| 00000d80 c8 99 22 4f 53 5f 53 70 72 69 74 65 4f 70 22 2c |.."OS_SpriteOp",| 00000d90 33 34 2c 2c 22 75 70 5f 61 72 72 6f 77 22 2c 34 |34,,"up_arrow",4| 00000da0 31 30 2b 28 73 65 6c 25 2a 31 30 30 29 2c 32 30 |10+(sel%*100),20| 00000db0 2c 31 31 0d 05 e6 05 e1 0d 05 f0 05 3a 0d 05 fa |,11.........:...| 00000dc0 15 dd f2 63 75 72 73 6f 72 28 78 73 25 2c 79 73 |...cursor(xs%,ys| 00000dd0 25 29 0d 06 04 11 e6 20 33 2c 36 33 20 c8 9c 20 |%)..... 3,63 .. | 00000de0 32 35 35 0d 06 0e 1e c8 93 20 78 73 25 2a 38 30 |255...... xs%*80| 00000df0 2c 79 73 25 2a 38 30 2b 32 32 34 2c 37 36 2c 37 |,ys%*80+224,76,7| 00000e00 36 0d 06 18 05 e1 0d 06 22 05 3a 0d 06 2c 14 dd |6.......".:..,..| 00000e10 f2 64 65 63 6f 64 65 28 6c 65 76 6e 6f 25 29 0d |.decode(levno%).| 00000e20 06 36 14 c8 99 22 48 6f 75 72 67 6c 61 73 73 5f |.6..."Hourglass_| 00000e30 4f 6e 22 0d 06 40 39 c8 99 22 4f 53 5f 53 70 72 |On"..@9.."OS_Spr| 00000e40 69 74 65 4f 70 22 2c 33 34 2c 2c 22 67 72 6f 75 |iteOp",34,,"grou| 00000e50 6e 64 22 2b c3 62 61 63 6b 73 70 72 25 28 6c 65 |nd"+.backspr%(le| 00000e60 76 6e 6f 25 29 2c 38 35 36 2c 37 32 0d 06 4a 18 |vno%),856,72..J.| 00000e70 6c 65 76 65 6c 25 28 6c 65 76 6e 6f 25 2c 37 2c |level%(levno%,7,| 00000e80 34 29 3d 33 0d 06 54 0e fb 20 34 32 20 c8 9c 20 |4)=3..T.. 42 .. | 00000e90 36 34 0d 06 5e 0e fb 20 31 37 36 20 c8 9c 20 30 |64..^.. 176 .. 0| 00000ea0 0d 06 68 21 f1 8a 31 30 2c 32 38 29 3b 22 4c 22 |..h!..10,28);"L"| 00000eb0 2b c2 22 30 30 22 2b c3 6c 65 76 6e 6f 25 2c 32 |+."00"+.levno%,2| 00000ec0 29 0d 06 72 0f e3 20 78 25 3d 30 20 b8 20 31 35 |)..r.. x%=0 . 15| 00000ed0 0d 06 7c 10 20 20 e3 20 79 25 3d 30 20 b8 20 39 |..|. . y%=0 . 9| 00000ee0 0d 06 86 2a 20 20 20 20 f2 70 6c 61 63 65 28 6c |...* .place(l| 00000ef0 65 76 65 6c 25 28 6c 65 76 6e 6f 25 2c 78 25 2c |evel%(levno%,x%,| 00000f00 79 25 29 2c 78 25 2c 79 25 29 0d 06 90 07 20 20 |y%),x%,y%).... | 00000f10 ed 0d 06 9a 05 ed 0d 06 a4 14 f2 63 75 72 73 6f |...........curso| 00000f20 72 28 78 73 25 2c 79 73 25 29 0d 06 ae 1a 62 61 |r(xs%,ys%)....ba| 00000f30 63 6b 25 3d 62 61 63 6b 73 70 72 25 28 6c 65 76 |ck%=backspr%(lev| 00000f40 6e 6f 25 29 0d 06 b8 17 c8 99 22 48 6f 75 72 67 |no%)......"Hourg| 00000f50 6c 61 73 73 5f 53 6d 61 73 68 22 0d 06 c2 05 e1 |lass_Smash".....| 00000f60 0d 06 cc 05 3a 0d 06 d6 11 dd f2 64 69 73 63 5f |....:......disc_| 00000f70 61 63 63 65 73 73 0d 06 e0 12 ef 20 32 38 2c 30 |access..... 28,0| 00000f80 2c 32 34 2c 33 39 2c 30 0d 06 ea 05 db 0d 06 f4 |,24,39,0........| 00000f90 2a f2 63 65 6e 74 72 65 5f 74 65 78 74 28 22 4c |*.centre_text("L| 00000fa0 6f 61 64 20 4c 65 76 65 6c 20 44 61 74 61 22 2c |oad Level Data",| 00000fb0 37 30 30 2c 36 34 29 0d 06 fe 2a f2 63 65 6e 74 |700,64)...*.cent| 00000fc0 72 65 5f 74 65 78 74 28 22 53 61 76 65 20 4c 65 |re_text("Save Le| 00000fd0 76 65 6c 20 44 61 74 61 22 2c 36 30 30 2c 36 34 |vel Data",600,64| 00000fe0 29 0d 07 08 29 f2 63 65 6e 74 72 65 5f 74 65 78 |)...).centre_tex| 00000ff0 74 28 22 45 78 69 74 20 54 68 69 73 20 4d 65 6e |t("Exit This Men| 00001000 75 22 2c 35 30 30 2c 36 34 29 0d 07 12 18 c8 97 |u",500,64)......| 00001010 20 c8 93 20 30 2c 35 30 30 2c 31 32 37 39 2c 33 | .. 0,500,1279,3| 00001020 30 30 0d 07 1c 0f e6 20 33 2c 34 38 20 c8 9c 20 |00..... 3,48 .. | 00001030 30 0d 07 26 0b f2 62 61 72 28 33 29 0d 07 30 0a |0..&..bar(3)..0.| 00001040 6f 70 74 25 3d 33 0d 07 3a 05 f5 0d 07 44 15 20 |opt%=3..:....D. | 00001050 20 c8 97 20 78 70 25 2c 79 70 25 2c 62 75 74 25 | .. xp%,yp%,but%| 00001060 0d 07 4e 1f 20 20 6e 65 77 6f 70 74 25 3d 28 28 |..N. newopt%=((| 00001070 37 39 30 2d 79 70 25 29 81 31 30 30 29 2b 31 0d |790-yp%).100)+1.| 00001080 07 58 17 20 20 e7 20 6e 65 77 6f 70 74 25 3c 3e |.X. . newopt%<>| 00001090 6f 70 74 25 20 8c 0d 07 62 12 20 20 20 20 f2 62 |opt% ...b. .b| 000010a0 61 72 28 6f 70 74 25 29 0d 07 6c 14 20 20 20 20 |ar(opt%)..l. | 000010b0 6f 70 74 25 3d 6e 65 77 6f 70 74 25 0d 07 76 12 |opt%=newopt%..v.| 000010c0 20 20 20 20 f2 62 61 72 28 6f 70 74 25 29 0d 07 | .bar(opt%)..| 000010d0 80 07 20 20 cd 0d 07 8a 0f fd 20 62 75 74 25 3d |.. ...... but%=| 000010e0 25 31 30 30 0d 07 94 17 e7 20 6f 70 74 25 3d 31 |%100..... opt%=1| 000010f0 20 f2 6c 6f 61 64 5f 66 69 6c 65 0d 07 9e 17 e7 | .load_file.....| 00001100 20 6f 70 74 25 3d 32 20 f2 73 61 76 65 5f 66 69 | opt%=2 .save_fi| 00001110 6c 65 0d 07 a8 13 f2 64 65 63 6f 64 65 28 6c 65 |le.....decode(le| 00001120 76 6e 6f 25 29 0d 07 b2 17 c8 97 20 c8 93 20 30 |vno%)...... .. 0| 00001130 2c 30 2c 31 32 38 30 2c 31 30 32 34 0d 07 bc 08 |,0,1280,1024....| 00001140 ef 20 32 36 0d 07 c6 05 e1 0d 07 d0 05 3a 0d 07 |. 26.........:..| 00001150 da 0f dd f2 62 61 72 28 6f 70 74 25 29 0d 07 e4 |....bar(opt%)...| 00001160 0f e6 20 33 2c 34 38 20 c8 9c 20 30 0d 07 ee 28 |.. 3,48 .. 0...(| 00001170 c8 93 20 c8 90 20 31 30 30 2c 37 30 30 2d 28 28 |.. .. 100,700-((| 00001180 6f 70 74 25 2d 31 29 2a 31 30 30 29 2c 31 30 37 |opt%-1)*100),107| 00001190 39 2c 36 38 0d 07 f8 05 e1 0d 08 02 05 3a 0d 08 |9,68.........:..| 000011a0 0c 22 dd f2 63 65 6e 74 72 65 5f 74 65 78 74 28 |."..centre_text(| 000011b0 6c 69 6e 65 24 2c 79 70 25 2c 73 69 7a 65 25 29 |line$,yp%,size%)| 000011c0 0d 08 16 09 ea 20 78 70 25 0d 08 20 26 ef 20 32 |..... xp%.. &. 2| 000011d0 33 2c 31 37 2c 37 2c 36 2c 28 73 69 7a 65 25 20 |3,17,7,6,(size% | 000011e0 81 34 29 3b 28 73 69 7a 65 25 20 81 34 29 7c 0d |.4);(size% .4)|.| 000011f0 08 2a 21 78 70 25 3d 28 31 32 37 39 2d 28 a9 28 |.*!xp%=(1279-(.(| 00001200 6c 69 6e 65 24 29 2a 73 69 7a 65 25 29 29 81 32 |line$)*size%)).2| 00001210 0d 08 34 07 ef 20 35 0d 08 3e 13 ec 20 78 70 25 |..4.. 5..>.. xp%| 00001220 2c 79 70 25 2b 73 69 7a 65 25 0d 08 48 0a f1 6c |,yp%+size%..H..l| 00001230 69 6e 65 24 0d 08 52 07 ef 20 34 0d 08 5c 05 87 |ine$..R.. 4..\..| 00001240 0d 08 66 05 e1 0d 08 70 05 3a 0d 08 7a 0f dd f2 |..f....p.:..z...| 00001250 73 61 76 65 5f 66 69 6c 65 0d 08 84 05 db 0d 08 |save_file.......| 00001260 8e 0e e6 20 33 20 c8 9c 20 32 35 35 0d 08 98 2b |... 3 .. 255...+| 00001270 f2 63 65 6e 74 72 65 5f 74 65 78 74 28 22 45 6e |.centre_text("En| 00001280 74 65 72 20 66 69 6c 65 6e 61 6d 65 20 3a 22 2c |ter filename :",| 00001290 38 30 30 2c 36 34 29 0d 08 a2 05 ee 0d 08 ac 0e |800,64).........| 000012a0 2a 50 4f 49 4e 54 45 52 20 30 0d 08 b6 15 e8 8a |*POINTER 0......| 000012b0 31 30 2c 31 30 29 3b 22 3a 22 66 69 6c 65 24 0d |10,10);":"file$.| 000012c0 08 c0 20 66 69 6c 65 24 3d 22 3c 4c 65 76 4d 61 |.. file$="<LevMa| 000012d0 6b 65 24 44 69 72 3e 2e 22 2b 66 69 6c 65 24 0d |ke$Dir>."+file$.| 000012e0 08 ca 05 87 0d 08 d4 0e 2a 50 4f 49 4e 54 45 52 |........*POINTER| 000012f0 20 31 0d 08 de 14 c8 99 22 48 6f 75 72 67 6c 61 | 1......"Hourgla| 00001300 73 73 5f 4f 6e 22 0d 08 e8 11 63 68 61 6e 3d ae |ss_On"....chan=.| 00001310 28 66 69 6c 65 24 29 0d 08 f2 16 d5 23 63 68 61 |(file$).....#cha| 00001320 6e 2c 22 44 49 47 20 4f 55 54 21 22 3b 0d 08 fc |n,"DIG OUT!";...| 00001330 11 e3 20 6c 65 76 25 3d 30 20 b8 20 31 39 0d 09 |.. lev%=0 . 19..| 00001340 06 1b 20 20 d5 23 63 68 61 6e 2c 62 61 63 6b 73 |.. .#chan,backs| 00001350 70 72 25 28 6c 65 76 25 29 0d 09 10 1b 20 20 f2 |pr%(lev%).... .| 00001360 73 61 76 65 5f 6d 61 73 6b 28 6c 65 76 25 2c 63 |save_mask(lev%,c| 00001370 68 61 6e 29 0d 09 1a 1b 20 20 f2 73 61 76 65 5f |han).... .save_| 00001380 70 6f 73 73 28 6c 65 76 25 2c 63 68 61 6e 29 0d |poss(lev%,chan).| 00001390 09 24 05 ed 0d 09 2e 0a d9 23 63 68 61 6e 0d 09 |.$.......#chan..| 000013a0 38 17 c8 99 22 48 6f 75 72 67 6c 61 73 73 5f 53 |8..."Hourglass_S| 000013b0 6d 61 73 68 22 0d 09 42 05 e1 0d 09 4c 05 3a 0d |mash"..B....L.:.| 000013c0 09 56 1a dd f2 73 61 76 65 5f 6d 61 73 6b 28 6c |.V...save_mask(l| 000013d0 76 6c 25 2c 63 68 61 6e 29 0d 09 60 14 e3 20 72 |vl%,chan)..`.. r| 000013e0 6f 77 3d 39 20 b8 20 30 20 88 20 2d 31 0d 09 6a |ow=9 . 0 . -1..j| 000013f0 0e 20 20 6d 61 73 6b 24 3d 22 22 0d 09 74 12 20 |. mask$=""..t. | 00001400 20 e3 20 63 6f 6c 3d 30 20 b8 20 31 35 0d 09 7e | . col=0 . 15..~| 00001410 22 20 20 20 20 e7 20 6c 65 76 65 6c 25 28 6c 76 |" . level%(lv| 00001420 6c 25 2c 63 6f 6c 2c 72 6f 77 29 3d 33 20 8c 0d |l%,col,row)=3 ..| 00001430 09 88 19 20 20 20 20 20 20 6d 61 73 6b 24 3d 6d |... mask$=m| 00001440 61 73 6b 24 2b 22 30 22 0d 09 92 09 20 20 20 20 |ask$+"0".... | 00001450 cc 0d 09 9c 19 20 20 20 20 20 20 6d 61 73 6b 24 |..... mask$| 00001460 3d 6d 61 73 6b 24 2b 22 31 22 0d 09 a6 09 20 20 |=mask$+"1".... | 00001470 20 20 cd 0d 09 b0 07 20 20 ed 0d 09 ba 1c 20 20 | ..... ..... | 00001480 62 79 74 65 31 3d a0 28 22 25 22 2b c0 6d 61 73 |byte1=.("%"+.mas| 00001490 6b 24 2c 38 29 29 0d 09 c4 1c 20 20 62 79 74 65 |k$,8)).... byte| 000014a0 32 3d a0 28 22 25 22 2b c2 6d 61 73 6b 24 2c 38 |2=.("%"+.mask$,8| 000014b0 29 29 0d 09 ce 12 20 20 d5 23 63 68 61 6e 2c 62 |)).... .#chan,b| 000014c0 79 74 65 31 0d 09 d8 12 20 20 d5 23 63 68 61 6e |yte1.... .#chan| 000014d0 2c 62 79 74 65 32 0d 09 e2 05 ed 0d 09 ec 05 e1 |,byte2..........| 000014e0 0d 09 f6 05 3a 0d 0a 00 1a dd f2 73 61 76 65 5f |....:......save_| 000014f0 70 6f 73 73 28 6c 65 76 25 2c 63 68 61 6e 29 0d |poss(lev%,chan).| 00001500 0a 0a 1d f2 73 63 61 6e 5f 66 6f 72 28 6c 65 76 |....scan_for(lev| 00001510 25 2c 31 2c 34 30 2c 63 68 61 6e 29 0d 0a 14 1d |%,1,40,chan)....| 00001520 f2 73 63 61 6e 5f 66 6f 72 28 6c 65 76 25 2c 32 |.scan_for(lev%,2| 00001530 2c 34 30 2c 63 68 61 6e 29 0d 0a 1e 05 e1 0d 0a |,40,chan).......| 00001540 28 05 3a 0d 0a 32 26 dd f2 73 63 61 6e 5f 66 6f |(.:..2&..scan_fo| 00001550 72 28 6c 76 6c 25 2c 6c 6f 6f 6b 25 2c 6c 69 6d |r(lvl%,look%,lim| 00001560 69 74 25 2c 63 68 61 6e 29 0d 0a 3c 0a 6f 62 73 |it%,chan)..<.obs| 00001570 25 3d 30 0d 0a 46 14 e3 20 72 6f 77 3d 39 20 b8 |%=0..F.. row=9 .| 00001580 20 30 20 88 20 2d 31 0d 0a 50 12 20 20 e3 20 63 | 0 . -1..P. . c| 00001590 6f 6c 3d 30 20 b8 20 31 35 0d 0a 5a 34 20 20 20 |ol=0 . 15..Z4 | 000015a0 20 e7 20 6c 65 76 65 6c 25 28 6c 76 6c 25 2c 63 | . level%(lvl%,c| 000015b0 6f 6c 2c 72 6f 77 29 3d 6c 6f 6f 6b 25 20 80 20 |ol,row)=look% . | 000015c0 6f 62 73 25 3c 6c 69 6d 69 74 25 20 8c 0d 0a 64 |obs%<limit% ...d| 000015d0 1b 20 20 20 20 20 20 62 79 74 65 3d 28 72 6f 77 |. byte=(row| 000015e0 3c 3c 34 29 2b 63 6f 6c 0d 0a 6e 15 20 20 20 20 |<<4)+col..n. | 000015f0 20 20 d5 23 63 68 61 6e 2c 62 79 74 65 0d 0a 78 | .#chan,byte..x| 00001600 11 20 20 20 20 20 20 6f 62 73 25 2b 3d 31 0d 0a |. obs%+=1..| 00001610 82 08 20 20 20 cd 0d 0a 8c 07 20 20 ed 0d 0a 96 |.. ..... ....| 00001620 05 ed 0d 0a a0 13 e7 20 6f 62 73 25 3d 6c 69 6d |....... obs%=lim| 00001630 69 74 25 20 e1 0d 0a aa 1d e3 20 66 69 6c 6c 25 |it% ...... fill%| 00001640 3d 31 20 b8 20 28 6c 69 6d 69 74 25 2d 6f 62 73 |=1 . (limit%-obs| 00001650 25 29 0d 0a b4 10 20 20 d5 23 63 68 61 6e 2c 32 |%).... .#chan,2| 00001660 35 35 0d 0a be 05 ed 0d 0a c8 05 e1 0d 0a d2 05 |55..............| 00001670 3a 0d 0a dc 0f dd f2 6c 6f 61 64 5f 66 69 6c 65 |:......load_file| 00001680 0d 0a e6 05 db 0d 0a f0 0e e6 20 33 20 c8 9c 20 |.......... 3 .. | 00001690 32 35 35 0d 0a fa 2b f2 63 65 6e 74 72 65 5f 74 |255...+.centre_t| 000016a0 65 78 74 28 22 45 6e 74 65 72 20 66 69 6c 65 6e |ext("Enter filen| 000016b0 61 6d 65 20 3a 22 2c 38 30 30 2c 36 34 29 0d 0b |ame :",800,64)..| 000016c0 04 05 ee 0d 0b 0e 0e 2a 50 4f 49 4e 54 45 52 20 |.......*POINTER | 000016d0 30 0d 0b 18 15 e8 8a 31 30 2c 31 30 29 3b 22 3a |0......10,10);":| 000016e0 22 66 69 6c 65 24 0d 0b 22 20 66 69 6c 65 24 3d |"file$.." file$=| 000016f0 22 3c 4c 65 76 4d 61 6b 65 24 44 69 72 3e 2e 22 |"<LevMake$Dir>."| 00001700 2b 66 69 6c 65 24 0d 0b 2c 05 87 0d 0b 36 0e 2a |+file$..,....6.*| 00001710 50 4f 49 4e 54 45 52 20 31 0d 0b 40 14 c8 99 22 |POINTER 1..@..."| 00001720 48 6f 75 72 67 6c 61 73 73 5f 4f 6e 22 0d 0b 4a |Hourglass_On"..J| 00001730 11 63 68 61 6e 3d 8e 28 66 69 6c 65 24 29 0d 0b |.chan=.(file$)..| 00001740 54 0f 63 6f 6e 66 69 72 6d 24 3d 22 22 0d 0b 5e |T.confirm$=""..^| 00001750 11 e3 20 63 68 65 63 6b 3d 31 20 b8 20 38 0d 0b |.. check=1 . 8..| 00001760 68 17 63 6f 6e 66 69 72 6d 24 2b 3d bd 28 9a 23 |h.confirm$+=.(.#| 00001770 63 68 61 6e 29 0d 0b 72 05 ed 0d 0b 7c 1c e7 20 |chan)..r....|.. | 00001780 63 6f 6e 66 69 72 6d 24 3c 3e 22 44 49 47 20 4f |confirm$<>"DIG O| 00001790 55 54 21 22 20 8c 0d 0b 86 07 20 20 db 0d 0b 90 |UT!" ..... ....| 000017a0 0d 20 20 f4 20 65 72 72 6f 72 0d 0b 9a 05 cc 0d |. . error......| 000017b0 0b a4 0e 6c 65 76 65 6c 25 28 29 3d 30 0d 0b ae |...level%()=0...| 000017c0 11 e3 20 6c 65 76 25 3d 30 20 b8 20 31 39 0d 0b |.. lev%=0 . 19..| 000017d0 b8 1b 20 20 62 61 63 6b 73 70 72 25 28 6c 65 76 |.. backspr%(lev| 000017e0 25 29 3d 9a 23 63 68 61 6e 0d 0b c2 17 20 20 e3 |%)=.#chan.... .| 000017f0 20 6d 61 73 6b 3d 39 20 b8 20 30 20 88 20 2d 31 | mask=9 . 0 . -1| 00001800 0d 0b cc 14 20 20 20 20 62 79 74 65 31 3d 9a 23 |.... byte1=.#| 00001810 63 68 61 6e 0d 0b d6 14 20 20 20 20 62 79 74 65 |chan.... byte| 00001820 32 3d 9a 23 63 68 61 6e 0d 0b e0 1f 20 20 20 20 |2=.#chan.... | 00001830 6d 73 6b 77 72 64 3d 28 62 79 74 65 31 3c 3c 38 |mskwrd=(byte1<<8| 00001840 29 2b 62 79 74 65 32 0d 0b ea 16 20 20 20 20 e3 |)+byte2.... .| 00001850 20 78 73 63 61 6e 3d 30 20 b8 20 31 35 0d 0b f4 | xscan=0 . 15...| 00001860 29 20 20 20 20 20 20 e7 20 28 6d 73 6b 77 72 64 |) . (mskwrd| 00001870 20 80 20 28 32 5e 28 31 35 2d 78 73 63 61 6e 29 | . (2^(15-xscan)| 00001880 29 29 3d 30 20 8c 0d 0b fe 25 20 20 20 20 20 20 |))=0 ....% | 00001890 20 20 6c 65 76 65 6c 25 28 6c 65 76 25 2c 78 73 | level%(lev%,xs| 000018a0 63 61 6e 2c 6d 61 73 6b 29 3d 33 0d 0c 08 0b 20 |can,mask)=3.... | 000018b0 20 20 20 20 20 cd 0d 0c 12 09 20 20 20 20 ed 0d | ..... ..| 000018c0 0c 1c 07 20 20 ed 0d 0c 26 15 20 20 e3 20 61 70 |... ...&. . ap| 000018d0 70 6c 65 25 3d 31 20 b8 20 34 30 0d 0c 30 14 20 |ple%=1 . 40..0. | 000018e0 20 20 20 62 79 74 65 31 3d 9a 23 63 68 61 6e 0d | byte1=.#chan.| 000018f0 0c 3a 16 20 20 20 20 e7 20 62 79 74 65 31 3c 3e |.:. . byte1<>| 00001900 32 35 35 20 8c 0d 0c 44 2b 20 20 20 20 20 20 6c |255 ...D+ l| 00001910 65 76 65 6c 25 28 6c 65 76 25 2c 62 79 74 65 31 |evel%(lev%,byte1| 00001920 20 80 31 35 2c 62 79 74 65 31 3e 3e 34 29 3d 31 | .15,byte1>>4)=1| 00001930 0d 0c 4e 09 20 20 20 20 cd 0d 0c 58 07 20 20 ed |..N. ...X. .| 00001940 0d 0c 62 14 20 20 e3 20 72 6f 63 6b 25 3d 31 20 |..b. . rock%=1 | 00001950 b8 20 34 30 0d 0c 6c 14 20 20 20 20 62 79 74 65 |. 40..l. byte| 00001960 31 3d 9a 23 63 68 61 6e 0d 0c 76 16 20 20 20 20 |1=.#chan..v. | 00001970 e7 20 62 79 74 65 31 3c 3e 32 35 35 20 8c 0d 0c |. byte1<>255 ...| 00001980 80 2a 20 20 20 20 20 6c 65 76 65 6c 25 28 6c 65 |.* level%(le| 00001990 76 25 2c 62 79 74 65 31 20 80 31 35 2c 62 79 74 |v%,byte1 .15,byt| 000019a0 65 31 3e 3e 34 29 3d 32 0d 0c 8a 09 20 20 20 20 |e1>>4)=2.... | 000019b0 cd 0d 0c 94 07 20 20 ed 0d 0c 9e 05 ed 0d 0c a8 |..... .........| 000019c0 05 cd 0d 0c b2 0a d9 23 63 68 61 6e 0d 0c bc 05 |.......#chan....| 000019d0 e1 0d ff |...| 000019d3