Home » Archimedes archive » Archimedes World » AW-1995-01-Disc1.adf » Disk1Jan95 » !AWJan95/Goodies/ColorCube/!ColorCube/!RunImage
!AWJan95/Goodies/ColorCube/!ColorCube/!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-1995-01-Disc1.adf » Disk1Jan95 |
Filename: | !AWJan95/Goodies/ColorCube/!ColorCube/!RunImage |
Read OK: | ✔ |
File size: | BF01 bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10 REM>!RunImage 20 REMEMBER THE ALAMO! 30 PROCinit 40 : 50 ON ERROR PROCerror 60 : 70 REPEAT 80 SYSwpt%,pf%,pb%,ot% TO rc% 90 CASE rc% OF 100 WHEN 0:IF active% PROCpointer 110 WHEN 1:PROCredraw 120 WHEN 2:PROCopen 130 WHEN 3:PROCclose 140 WHEN 6:PROCmouse 150 WHEN 8:PROCprocess 160 WHEN 9:PROCmst 170 WHEN &11,&12:PROCmessage 180 ENDCASE 190 UNTIL FALSE 200 : 210 DEF PROCopen:fw%()=FALSE:CASE !pb% OF 220 WHENw%(37,1):fw%(0)=TRUE 230 WHENw%(38,1):fw%(1)=TRUE 240 WHENw%(39,1):fw%(2)=TRUE 250 WHENw%(40,1):fw%(3)=TRUE 260 WHENw7h%:fw%(4)=TRUE 270 ENDCASE:SYSwo%,,pb%:ENDPROC 280 : 290 DEF PROCredraw:icon%=FALSE:IF nv% PROCreadmode 300 CASE !pb% OF 310 WHEN w1h%:PROCd1 320 WHEN w7h% 330 IF r2% PROCd72(fw%(4)) ELSE PROCd7(fw%(4)) 340 fw%(4)=FALSE 350 WHEN w8h%:PROCd8 360 WHEN w9h%:PROCd9(active%) 370 WHEN w%(37,1):bx%=p2%:!c1%=!cr%:!c2%=!cg%:!c3%=!cb% 380 PROCd3(fw%(0),i%(0),0,1):fw%(0)=FALSE 390 WHEN w%(38,1):bx%=p2%+32:!c1%=!cc%:!c2%=!cy%:!c3%=!cm% 400 PROCd3(fw%(1),i%(1),&FFFFFF00,2):fw%(1)=FALSE 410 WHEN w%(39,1):bx%=p1%:PROCd4(fw%(2),i%(2),0):fw%(2)=FALSE 420 WHEN w%(40,1):bx%=p1%+32:PROCd4(fw%(3),i%(3),&100):fw%(3)=FALSE 430 OTHERWISE it%=0 440 REPEAT 450 IF (!pb%=w%(it%,1)) PROCds(it%):it%=36 460 it%+=1 470 UNTIL it%=37 480 ENDCASE:ENDPROC 490 : 500 DEF PROCd1:SYSwr%,,pb%TOmore% 510 pb%!4=i1%:pb%!8=j1%:pb%!12=k1%:pb%!16=l1%:SYSwu%,,pb%TOmore% 520 IF scaled% THEN 530 !ss%=pb%!12-pb%!4:ss%!4=pb%!16-pb%!8:sc%=ss%:xc%=pb%!4:yc%=pb%!8 540 ELSE sc%=0:xc%=pb%!4-pb%!&14:yc%=pb%!16+j1%-pb%!&18 550 ENDIF:WHILE more% 560 SYSsp%,&234,bs%,hx%,xc%,yc%,0,sc%,table% 570 SYSwg%,,pb%TOmore%:ENDWHILE:ENDPROC 580 : 590 DEF PROCds(it%):SYSwr%,,pb% TOmore%:xc%=pb%!4:yc%=pb%!8 600 xcg%=xc%+&A:xct%=xc%+&36:xcn%=xc%+&12:ncol%=w%(it%,4):icol%=w%(it%,5) 610 IF (it%=strip%) ANDrtl% ANDrto% rtd%=TRUE ELSE rtd%=FALSE 620 WHILE more% 630 yd%=yc% 640 FOR rt%=ncol% TO 0 STEP -1 650 IF(yd%>(pb%!32-44))AND(yd%<pb%!40)THEN 660 yp%=yd%+32:xl%=(icol%+rt%)*4 670 SYScs%,!(li%+xl%),,,&100,0 TO gcol%:SYSosp%,rfa%,xc%,yd% 680 SYSosp%,rfr%,width%,44:SYScs%,!(lj%+xl%),,,0,0 TO tcol% 690 CASE uu% OF 700 WHEN 1:PROCcoltint 710 WHEN 2:PROCgcol 720 WHEN 3:PROCnumber 730 WHEN 4:PROChex 740 ENDCASE 750 IF(rt%=w%(it%,0)) ANDrtd% RECTANGLE xc%,yd%,width%-2,42 760 ENDIF 770 yd%+=44 780 NEXT rt% 790 SYSwg%,,pb%TO more% 800 ENDWHILE:ENDPROC 810 : 820 DEF PROCcoltint 830 col%=(gcol%AND&FC)>>>2:tn%=(gcol%AND3)<<6 840 $n%=STR$(col%):len%=LEN($n%) 850 IF(len%=1)sft%=8 ELSE sft%=0 860 SYSosp%,ppa%,xcg%+sft%,yp% 870 SYSosn%,n%,len% 880 $n%=STR$(tn%):len%=LEN($n%) 890 CASElen%OF 900 WHEN1:sft%=&18 910 WHEN2:sft%=12 920 OTHERWISEsft%=0 930 ENDCASE 940 SYSosp%,ppa%,xct%+sft%,yp%:SYSosn%,n%,len% 950 ENDPROC 960 : 970 DEF PROCgcol 980 $n%=STR$(gcol%):len%=LEN($n%) 990 CASElen%OF 1000 WHEN1:sft%=16 1010 WHEN2:sft%=8 1020 OTHERWISEsft%=0 1030 ENDCASE 1040 SYSosp%,ppa%,xcn%+sft%,yp%:SYSosn%,n%,len% 1050 ENDPROC 1060 : 1070 DEF PROCnumber 1080 SYScn%,gcol% TO num%:$n%=STR$(num%):len%=LEN($n%) 1090 CASElen%OF 1100 WHEN1:sft%=16 1110 WHEN2:sft%=8 1120 OTHERWISEsft%=0 1130 ENDCASE 1140 SYSosp%,ppa%,xcn%+sft%,yp%:SYSosn%,n%,len% 1150 ENDPROC 1160 : 1170 DEF PROChex 1180 val%=?(li%+xl%+3):SYS&D1,val%,n%,4 1190 SYSosp%,ppa%,xc%+8,yp%:SYSosn%,n%,2 1200 val%=?(li%+xl%+2):SYS&D1,val%,n%,4 1210 SYSosp%,ppa%,xc%+46,yp%:SYSosn%,n%,2 1220 val%=?(li%+xl%+1):SYS&D1,val%,n%,4 1230 SYSosp%,ppa%,xc%+84,yp%:SYSosn%,n%,2 1240 ENDPROC 1250 : 1260 DEF PROCd3(flw%,icon%,!bg%,act%):SYSwr%,,pb% TO more% 1270 IF flw% pb%!4=0:pb%!8=j4%:pb%!12=k4%:pb%!16=0:SYSwu%,,pb%TOmore% 1280 PROCq2 1290 xsize%=pb%!12-pb%!4:ysize%=pb%!16-pb%!8 1300 xoff%=xsize%/xra:xof3%=xoff%/3 1310 yoff%=ysize%/yra:ycent%=pb%!8+ysize%/2 1320 yfact%=yoff%*factor:yc1%=ycent%-yfact%:yc2%=ycent%+yfact% 1330 yo1%=yc1%+yoff%:yo2%=yc2%+yoff% 1340 xc2%=pb%!4+xsize%/2:xc1%=xc2%-xof3%:xc3%=xc2%+xof3% 1350 xo1%=xc1%+xoff%:xo2%=xc2%+xoff%:xo3%=xc3%+xoff% 1360 WHILE more% 1370 SYScs%,!bg%,,,0,0 TO tcol% 1380 SYSosp%,ppa%,pb%!28,pb%!32 1390 SYSosp%,rfp%,pb%!36,pb%!40 1400 SYScs%,!c1%,,,0,act% TO tcol% 1410 SYSosp%,ppa%,xc1%,yc1% 1420 SYSosp%,ppa%,xo1%,yc1% 1430 SYSosp%,efp%,xc1%,yo1% 1440 SYScs%,!c2%,,,0,act% TO tcol% 1450 SYSosp%,ppa%,xc2%,yc2% 1460 SYSosp%,ppa%,xo2%,yc2% 1470 SYSosp%,efp%,xc2%,yo2% 1480 SYScs%,!c3%,,,0,act% TO tcol% 1490 SYSosp%,ppa%,xc3%,yc1% 1500 SYSosp%,ppa%,xo3%,yc1% 1510 SYSosp%,efp%,xc3%,yo1% 1520 IF icon% SYSwpi%,,bx% 1530 SYSwg%,,pb% TO more% 1540 ENDWHILE:ENDPROC 1550 : 1560 DEF PROCd4(flw%,icon%,fill%):SYSwr%,,pb% TO more% 1570 IF flw% pb%!4=0:pb%!8=j4%:pb%!12=k4%:pb%!16=0:SYSwu%,,pb%TOmore% 1580 PROCq1:WHILE more% 1590 vaxn%=pb%!28:vayn%=pb%!32:vaxm%=pb%!36:vaym%=pb%!40 1600 SYScs%,!ccc%,,,fill%,0 TO tcol% 1610 SYSosp%,ppa%,vaxn%,vayn% 1620 SYSosp%,rfp%,vaxm%,vaym% 1630 IF icon% SYSwpi%,,bx% 1640 SYSwg%,,pb% TO more% 1650 ENDWHILE:ENDPROC 1660 : 1670 DEF PROCd7(flw%):SYSwr%,,pb% TO more% 1680 IF flw% pb%!4=0:pb%!8=j7%:pb%!12=k7%:pb%!16=0:SYSwu%,,pb%TOmore% 1690 yc%=pb%!16+j7%-pb%!24 1700 WHILE more% 1710 IF pb%!28>(pb%!4+6) xc%=pb%!28 ELSE xc%=pb%!4+6 1720 IF pb%!36<(pb%!12-6) xd%=pb%!36 ELSE xd%=pb%!12-6 1730 yt%=yc%+4:IF(yt%>(pb%!32-44))AND(yt%<pb%!40) PROCd7a(&55555500,yt%) 1740 yt%=yc%+56:IF(yt%>(pb%!32-44))AND(yt%<pb%!40) PROCd7a(&77FFFF00,yt%) 1750 yt%=yc%+108:IF(yt%>(pb%!32-44))AND(yt%<pb%!40) PROCd7a(&EEAAEE00,yt%) 1760 yt%=yc%+160:IF(yt%>(pb%!32-44))AND(yt%<pb%!40) PROCd7a(&FFFF3300,yt%) 1770 yt%=yc%+212:IF(yt%>(pb%!32-44))AND(yt%<pb%!40) PROCd7a(&FFBB7700,yt%) 1780 yt%=yc%+264:IF(yt%>(pb%!32-44))AND(yt%<pb%!40) PROCd7a(&77FF7700,yt%) 1790 yt%=yc%+316:IF(yt%>(pb%!32-44))AND(yt%<pb%!40) PROCd7a(&7777FF00,yt%) 1800 yt%=yc%+368:IF(yt%>(pb%!32-44))AND(yt%<pb%!40) PROCd7a(&FFBBBB00,yt%) 1810 yt%=yc%+420:IF(yt%>(pb%!32-44))AND(yt%<pb%!40) PROCd7a(&BBBBFF00,yt%) 1820 yt%=yc%+472:IF(yt%>(pb%!32-44))AND(yt%<pb%!40) PROCd7a(&CCCCCC00,yt%) 1830 yt%=yc%+524:IF(yt%>(pb%!32-44))AND(yt%<pb%!40) PROCd7a(&22EEAA00,yt%) 1840 SYSwg%,,pb% TO more% 1850 ENDWHILE:ENDPROC 1860 : 1870 DEF PROCd72(flw%):SYSwr%,,pb% TO more% 1880 IF flw% pb%!4=0:pb%!8=j7%:pb%!12=k7%:pb%!16=0:SYSwu%,,pb%TOmore% 1890 yc%=pb%!16+j7%-pb%!24 1900 WHILE more% 1910 IF pb%!28>(pb%!4+6) xc%=pb%!28 ELSE xc%=pb%!4+6 1920 IF pb%!36<(pb%!12-6) xd%=pb%!36 ELSE xd%=pb%!12-6 1930 yt%=yc%+4:IF(yt%>(pb%!32-44))AND(yt%<pb%!40) PROCd7a(&FFBB7700,yt%) 1940 yt%=yc%+56:IF(yt%>(pb%!32-44))AND(yt%<pb%!40) PROCd7a(&77FF7700,yt%) 1950 yt%=yc%+108:IF(yt%>(pb%!32-44))AND(yt%<pb%!40) PROCd7a(&7777FF00,yt%) 1960 yt%=yc%+160:IF(yt%>(pb%!32-44))AND(yt%<pb%!40) PROCd7a(&FFBBBB00,yt%) 1970 yt%=yc%+212:IF(yt%>(pb%!32-44))AND(yt%<pb%!40) PROCd7a(&BBBBFF00,yt%) 1980 yt%=yc%+264:IF(yt%>(pb%!32-44))AND(yt%<pb%!40) PROCd7a(&CCCCCC00,yt%) 1990 yt%=yc%+316:IF(yt%>(pb%!32-44))AND(yt%<pb%!40) PROCd7a(&22EEAA00,yt%) 2000 SYSwg%,,pb% TO more% 2010 ENDWHILE:ENDPROC 2020 : 2030 DEF PROCd7a(!c7%,y7%) 2040 SYScs%,!c7%,,,&100,0 TO gcol% 2050 SYSosp%,rfa%,xc%,y7% 2060 SYSosp%,rfp%,xd%,y7%+42 2070 ENDPROC 2080 : 2090 DEF PROCd8:SYSwr%,,pb% TO more%:yc%=pb%!8 2100 WHILE more% 2110 IF pb%!28>(pb%!4+6) xc%=pb%!28 ELSE xc%=pb%!4+6 2120 IF pb%!36<(pb%!4+118) xd%=pb%!36 ELSE xd%=pb%!4+118 2130 yt%=yc%+56:IF(yt%>(pb%!32-44))AND(yt%<pb%!40) PROCd8a(&FFBB7700,yt%) 2140 yt%=yc%+108:IF(yt%>(pb%!32-44))AND(yt%<pb%!40) PROCd8a(&77FF7700,yt%) 2150 yt%=yc%+160:IF(yt%>(pb%!32-44))AND(yt%<pb%!40) PROCd8a(&7777FF00,yt%) 2160 SYSwg%,,pb% TO more% 2170 ENDWHILE:ENDPROC 2180 : 2190 DEF PROCd8a(!c8%,y8%) 2200 SYScs%,!c8%,,,&100,0 TO gcol% 2210 SYSosp%,rfa%,xc%,y8% 2220 SYSosp%,rfp%,xd%,y8%+42 2230 ENDPROC 2240 : 2250 DEF PROCd9(icon%):SYSwr%,,pb% TO more% 2260 WHILE more% 2270 vaxn%=pb%!28:vayn%=pb%!32:vaxm%=pb%!36:vaym%=pb%!40 2280 SYScs%,!store%(str%),,,&100,0 TO gcol% 2290 SYSosp%,ppa%,vaxn%,vayn% 2300 SYSosp%,rfp%,vaxm%,vaym% 2310 IF icon% SYSwpi%,,p9% 2320 SYSwg%,,pb% TO more% 2330 ENDWHILE:ENDPROC 2340 : 2350 DEF PROCclose 2360 CASE !pb% OF 2370 WHEN w1h%:SYSwc%,,pb% 2380 WHEN w0h%:SYSwc%,,pb% 2390 WHEN w7h%:SYSwc%,,pb%:w%(41,1)=p80% 2400 WHEN w8h%:SYSwc%,,pb%:w%(42,1)=p80%:CASE wv% OF 2410 WHEN 0:PROCread(&A,rdt%,gdt%,bdt%) 2420 WHEN 1:PROCread(16,rht%,ght%,bht%) 2430 WHEN 2:PROCread(2,rbt%,gbt%,bbt%) 2440 OTHERWISE PROCread(&A,rdt%,gdt%,bdt%) 2450 ENDCASE:PROCmod 2460 WHEN w9h%:active%=FALSE:$cap%=m$(41) 2470 PROCset9(0,&7000000,&F000000):SYSwc%,,pb%:w%(44,1)=p80% 2480 OTHERWISE it%=0 2490 REPEAT 2500 IF(w%(it%,1)=!pb%)THEN 2510 SYSwx%,,pb%:w%(it%,1)=p80%:it%=40 2520 ENDIF:it%+=1 2530 UNTIL it%=41 2540 ENDCASE:ENDPROC 2550 : 2560 DEF PROCmouse:PROCmousestate(pb%) 2570 IF(ms%AND2)PROCmenu ELSE PROCclick 2580 ENDPROC 2590 : 2600 DEF PROCpif:SYSwgp%,,pif% 2610 PROCmousestate(pif%):ENDPROC 2620 : 2630 DEF PROCmousestate(msb%) 2640 mx%=!msb%:my%=msb%!4:ms%=msb%!8:mh%=msb%!12:mi%=msb%!16 2650 IF (ms% AND 1) bk%=TRUE ELSE bk%=FALSE 2660 ENDPROC 2670 : 2680 DEF PROCclick 2690 CASEmh%OF 2700 WHENw1h%:PROCposition 2710 WHENw7h%:PROCck7 2720 WHENw8h%:PROCck8 2730 WHENw9h%:PROCck9 2740 WHEN-2:PROCwib 2750 WHENw%(37,1):PROCdn 2760 WHENw%(38,1):PROCdn 2770 WHENw%(39,1):PROCdn 2780 WHENw%(40,1):PROCdn 2790 OTHERWISE PROCcc 2800 ENDCASE:ENDPROC 2810 : 2820 DEF PROCposition:SYSwws%,,iw1% 2830 IFscaled%THEN 2840 cx%=(mx%-iw1%!4)*k1%/(iw1%!12-iw1%!4) 2850 csy%=(my%-iw1%!16)*j1%/(iw1%!8-iw1%!16) 2860 ELSE 2870 cx%=mx%+iw1%!&14-iw1%!4 2880 csy%=my%+iw1%!&18-iw1%!16 2890 ENDIF 2900 CASE FNwhich OF 2910 WHEN 43:PROCshut:IF bk% ELSE SYSwc%,,iw1% 2920 WHEN 45:PROCdn 2930 OTHERWISE:PROCcheck:PROCladder 2940 ENDCASE:ENDPROC 2950 : 2960 DEF FNwhich:xy%=0:it%=45 2970 REPEAT 2980 qx%=cx%-w%(xy%,2):qy%=csy%-w%(xy%,3) 2990 qxy%=qx%*qx%+qy%*qy% 3000 IF (qxy%<sq%) it%=xy%:xy%=44 3010 xy%+=1 3020 UNTIL xy%=45 3030 =it% 3040 : 3050 DEF PROCcheck:ck%=TRUE 3060 IF w%(it%,1)=p80% ELSE ENDPROC 3070 SYSwws%,,iw1%:ck%=FALSE 3080 CASE TRUE OF 3090 WHEN (it%<37):j2%=-44*(w%(it%,4)+1) 3100 h2%=iw1%!16:f2%=h2%+j2% 3110 IF right% THEN 3120 e2%=iw1%!12+2:g2%=e2%+width% 3130 ELSE 3140 g2%=iw1%!4-2:e2%=g2%-width% 3150 ENDIF 3160 w%(it%,1)=FNcreate_w2 3170 WHEN (36<it%) AND (it%<41) 3180 h4%=iw1%!16:f4%=h4%-156 3190 IF right% THEN 3200 e4%=iw1%!12+2:g4%=e4%+144 3210 ELSE 3220 g4%=iw1%!4-42:e4%=g4%-144 3230 ENDIF 3240 w%(it%,1)=FNcreate_w4 3250 WHEN (it%=41) 3260 h7%=iw1%!16:f7%=h7%-616 3270 IF right% THEN 3280 e7%=iw1%!12+2:g7%=e7%+280 3290 ELSE 3300 g7%=iw1%!4-42:e7%=g7%-280 3310 ENDIF 3320 iw7%!4=e7%:iw7%!8=f7%:iw7%!12=g7%:iw7%!16=h7% 3330 w%(41,1)=w7h% 3340 WHEN (it%=42) 3350 h8%=iw1%!16:f8%=h8%-252 3360 IF right% THEN 3370 e8%=iw1%!12+2:g8%=e8%+280 3380 ELSE 3390 g8%=iw1%!4-2:e8%=g8%-280 3400 ENDIF 3410 iw8%!4=e8%:iw8%!8=f8%:iw8%!12=g8%:iw8%!16=h8% 3420 w%(42,1)=w8h% 3430 WHEN (it%=44) 3440 h9%=iw1%!16:f9%=h9%-260 3450 IF right% THEN 3460 e9%=iw1%!12+2:g9%=e9%+280 3470 ELSE 3480 g9%=iw1%!4-2:e9%=g9%-280 3490 ENDIF 3500 iw9%!4=e9%:iw9%!8=f9%:iw9%!12=g9%:iw9%!16=h9% 3510 w%(44,1)=w9h% 3520 ENDCASE 3530 ENDPROC 3540 : 3550 DEF PROCladder 3560 CASE TRUE OF 3570 WHEN (it%<37) 3580 iw2%!0=w%(it%,1) 3590 SYSwws%,,iw2% 3600 IF bk% iw2%!28=-2 ELSE iw2%!28=-1 3610 SYSwo%,,iw2% 3620 WHEN (36<it%) AND (it%<41) 3630 !iw4%=w%(it%,1) 3640 SYSwws%,,iw4% 3650 IF bk% iw4%!28=-2 ELSE iw4%!28=-1 3660 SYSwo%,,iw4% 3670 WHEN (it%=41) 3680 IF ck% SYSwws%,,iw7% 3690 IF bk% iw7%!28=-2 ELSE iw7%!28=-1 3700 SYSwo%,,iw7% 3710 WHEN (it%=42) 3720 IF ck% SYSwws%,,iw8% 3730 IF bk% iw8%!28=-2 ELSE iw8%!28=-1 3740 SYSwo%,,iw8% 3750 WHEN (it%=44) 3760 IF ck% SYSwws%,,iw9% 3770 IF bk% iw9%!28=-2 ELSE iw9%!28=-1 3780 SYSwo%,,iw9% 3790 ENDCASE 3800 ENDPROC 3810 : 3820 DEF PROCadjust 3830 !iw2%=w%(it%,1) 3840 SYSwws%,,iw2% 3850 middle%=(iw2%!12+iw2%!4)/2 3860 iw2%!4=middle%-width%/2 3870 iw2%!12=iw2%!4+width% 3880 SYSwo%,,iw2% 3890 SYSwfr%,w%(it%,1),i2%,(-44*(w%(it%,4)+1)),k2%,l2% 3900 ENDPROC 3910 : 3920 DEF PROCadjust1(lsp%,lind%) 3930 IF w%(lsp%,1)=p80% ENDPROC 3940 SYSwfr%,w%(lsp%,1),i2%,(-44*(lind%+1)),k2%,(-44*(lind%)) 3950 ENDPROC 3960 : 3970 DEF PROCwib:SYSwws%,,iw1% 3980 IF bk% iw1%!28=-2 ELSE iw1%!28=-1 3990 IFcleared%PROCrestart:cleared%=FALSE 4000 SYSwo%,,iw1% 4010 ENDPROC 4020 : 4030 DEF PROCck7 4040 IF mi%=0 THEN 4050 CASE vv% OF 4060 WHEN 0:IF bk% vv%=2 ELSE vv%=1 4070 WHEN 1:IF bk% vv%=0 ELSE vv%=2 4080 WHEN 2:IF bk% vv%=1 ELSE vv%=0 4090 OTHERWISE vv%=0 4100 ENDCASE 4110 PROCm7 4120 ENDIF 4130 ENDPROC 4140 : 4150 DEF PROCck8 4160 CASE mi% OF 4170 WHEN 0:up%=wv%:CASE up% OF 4180 WHEN 0:IF bk% wv%=2 ELSE wv%=1 4190 WHEN 1:IF bk% wv%=0 ELSE wv%=2 4200 WHEN 2:IF bk% wv%=1 ELSE wv%=0 4210 OTHERWISE wv%=0 4220 ENDCASE:PROCm8 4230 WHEN 1:PROCfrus 4240 IF (!ctb%=w8h%) AND bk% SYSwcp%,-1 4250 WHEN 2:PROCreturn 4260 ENDCASE 4270 ENDPROC 4280 : 4290 DEF PROCck9 4300 CASE mi% OF 4310 WHEN 0:IF bk% THEN 4320 IF active% active%=FALSE:$cap%=m$(41):PROCset9(0,&7000000,&F000000) 4330 ELSE 4340 IF active% ELSE active%=TRUE:$cap%=m$(40):PROCset9(0,&B000000,&F000000) 4350 ENDIF 4360 SYS&42 TO ot%:ot%=ot%+gn%:d9%=delay%:$s9%=STR$(d9%):PROCr9d 4370 WHEN 5:!ccc%=!store%(str%) 4380 PROCsetcol:PROCld7:PROCoutput 4390 rtl%=FALSE:IF rto% PROCadjust1(strip%,indez%) 4400 OTHERWISE 4410 IF bk% str%=0 ELSE str%=mi% 4420 PROCm9(str%) 4430 ENDCASE 4440 ENDPROC 4450 : 4460 DEF PROCr9:SYSwfr%,w9h%,70,-208,k9%,0:ENDPROC 4470 : 4480 DEF PROCr9d:SYSwfr%,w9h%,120,-132,216,-76:ENDPROC 4490 : 4500 DEF PROCmod 4510 rhold%=rhold%MOD&100:ghold%=ghold%MOD&100:bhold%=bhold%MOD&100 4520 ENDPROC 4530 : 4540 DEF PROCsis(whh%) 4550 !sis%=whh%:sis%!4=0:sis%!8=0 4560 sis%!12=0:SYSwsi%,,sis% 4570 ENDPROC 4580 : 4590 DEF PROCcc:match%=FALSE:oldstrip%=strip%:oldindez%=indez%:it%=0 4600 REPEAT 4610 IF w%(it%,1)=mh% PROCmatch(it%):it%=37 ELSE it%+=1 4620 UNTIL it%=37 4630 IF match% PROCsetcol:PROCld7:PROCoutput 4640 ENDPROC 4650 : 4660 DEF PROCmatch(it%) 4670 strip%=it% 4680 iw2%!0=w%(it%,1) 4690 SYSwws%,,iw2% 4700 yc%=iw2%!16-iw2%!24 4710 indez%=(yc%-my%)DIV44 4720 IF indez%>w%(it%,4) indez%=w%(it%,4) 4730 w%(it%,0)=indez% 4740 icol%=w%(it%,5) 4750 !ccc%=!(li%+((icol%+indez%)*4)) 4760 rtl%=TRUE 4770 PROCadjust1(strip%,indez%) 4780 PROCadjust1(oldstrip%,oldindez%) 4790 match%=TRUE 4800 ENDPROC 4810 : 4820 DEF PROCoutput 4830 FOR it%=37 TO 40 4840 IF w%(it%,1)=p80% ELSE SYSwfr%,w%(it%,1),0,j4%,k4%,0 4850 NEXT it% 4860 IF w%(41,1)=p80% ELSE SYSwfr%,w7h%,mid7%,j7%,k7%-6,-44 4870 ENDPROC 4880 : 4890 DEF PROCsetcol:SYS crg%,!ccc% TO sgcol%:SYS crn%,!ccc% TO numb% 4900 rcol%=(sgcol% AND &FC)>>>2:scol%=sgcol% AND &FC:tnt%=(sgcol% AND 3)<<6 4910 ggcol%=(sgcol% AND &3) OR ((sgcol% AND &3)<<4) 4920 ?grey%=0:grey%?1=ggcol%:grey%?2=ggcol%:grey%?3=ggcol% 4930 rcc%=(sgcol% AND 12) OR ((sgcol% AND 12)<<4) 4940 gcc%=((sgcol% AND &30)>>>2) OR ((sgcol% AND &30)<<2) 4950 bcc%=((sgcol% AND &C0)>>>4) OR (sgcol% AND &C0) 4960 rrcc%=rcc% OR ggcol%:ggcc%=gcc% OR ggcol%:bbcc%=bcc% OR ggcol% 4970 IF r2% ELSE SYScrc%,rrcc%,ggcc%,bbcc% TO acc%,mcc%,ycc%,kcc% 4980 kcc%=kcc%-1:!cr%=!grey%:!cg%=!grey%:!cb%=!grey% 4990 !cc%=!grey% OR &CCCCCC00:!cm%=!cc%:!cy%=!cc% 5000 cr%?1=cr%?1 OR rcc%:cg%?2=cg%?2 OR gcc%:cb%?3=cb%?3 OR bcc% 5010 kkc%=rcc% OR &33:mkc%=gcc% OR &33:ykc%=bcc% OR &33 5020 cc%?1=cc%?1 AND kkc%:cm%?2=cm%?2 AND mkc%:cy%?3=cy%?3 AND ykc% 5030 ENDPROC 5040 : 5050 DEF PROCld7 5060 SYScv%,rcol%,ll%,9 5070 SYScv%,tnt%,tt%,9 5080 SYScv%,sgcol%,oo%,9 5090 SYScv%,numb%,nn%,9 5100 SYScv%,rrcc%,rr%,9 5110 SYScv%,ggcc%,gg%,9 5120 SYScv%,bbcc%,bb%,9 5130 SYScv%,acc%,aa%,9 5140 SYScv%,mcc%,mm%,9 5150 SYScv%,ycc%,yy%,9 5160 SYScv%,kcc%,kk%,9 5170 ENDPROC 5180 : 5190 DEF PROCmenu:menu%()=FALSE:CASE mh% OF 5200 WHEN-2:menu%(0)=TRUE:SYSwm%,,mb0%,mx%-&44,&128 5210 WHENw1h%:IF go% THEN 5220 menu%(1)=TRUE:SYSwm%,,mb1%,mx%-&3C,my% 5230 ELSE 5240 IF r2% mt%=1 ELSE SYS&58,1 TO ,mt% 5250 CASE mt% OF 5260 WHEN 0:PROCm11(mf11%,mfs11%) 5270 WHEN 1:PROCm11(mf11%,mf11%) 5280 WHEN 2:PROCm11(mfs11%,mfs11%) 5290 WHEN 3:PROCm11(mfs11%,mf11%) 5300 WHEN 4:PROCm11(mfs11%,mf11%) 5310 WHEN 5:PROCm11(mfs11%,mfs11%) 5320 OTHERWISE:PROCm11(mf11%,mf11%) 5330 ENDCASE:menu%(11)=TRUE:SYSwm%,,mb11%,mx%-&82,my% 5340 ENDIF 5350 WHEN w%(37,1):menu%(3)=TRUE 5360 IF i%(0) $j3%=m$(1) ELSE $j3%=m$(21) 5370 SYSwm%,,mb3%,mx%-&3C,my% 5380 WHEN w%(38,1):menu%(4)=TRUE 5390 IF i%(1) $j3%=m$(1) ELSE $j3%=m$(21) 5400 SYSwm%,,mb3%,mx%-&3C,my% 5410 WHEN w%(39,1):menu%(5)=TRUE 5420 IF i%(2) $j3%=m$(1) ELSE $j3%=m$(21) 5430 SYSwm%,,mb3%,mx%-&3C,my% 5440 WHEN w%(40,1):menu%(6)=TRUE 5450 IF i%(3) $j3%=m$(1) ELSE $j3%=m$(21) 5460 SYSwm%,,mb3%,mx%-&3C,my% 5470 WHEN w7h%:menu%(7)=TRUE:SYSwm%,,mb7%,mx%-&4A,my% 5480 WHEN w8h%:menu%(8)=TRUE:SYSwm%,,mb8%,mx%-&4A,my% 5490 WHEN w9h%:PROCmenu9 5500 WHEN w0h%:menu%(0)=TRUE:PROCdemo 5510 OTHERWISE menu%(2)=TRUE:SYSwm%,,mb2%,mx%-&48,my% 5520 ENDCASE:ENDPROC 5530 : 5540 DEF PROCmenu9:IF mi%=0 THEN 5550 menu%(10)=TRUE:SYSwm%,,mb9d%,mx%-&28,my% 5560 ELSE 5570 menu%(9)=TRUE:SYSwm%,,mb9%,mx%-&28,my% 5580 ENDIF 5590 ENDPROC 5600 : 5610 DEF PROCm11(one%,two%) 5620 mb11%!36=one% 5630 mb11%!60=two% 5640 ENDPROC 5650 : 5660 DEF PROCmst:PROCpif 5670 CASE TRUE OF 5680 WHEN menu%(0):PROCm0 5690 WHEN menu%(1):PROCm1 5700 WHEN menu%(2):PROCm2(!pb%) 5710 IF bk% SYSwm%,,mb2%,0,0 5720 WHEN menu%(3):PROCm4(0) 5730 WHEN menu%(4):PROCm4(1) 5740 WHEN menu%(5):PROCm4(2) 5750 WHEN menu%(6):PROCm4(3) 5760 WHEN menu%(7):vv%=!pb%:PROCm7 5770 IF bk% SYSwm%,,mb7%,0,0 5780 WHEN menu%(8):up%=wv%:wv%=!pb%:PROCm8 5790 IF bk% SYSwm%,,mb8%,0,0 5800 WHEN menu%(9):str%=!pb%:PROCm9(str%) 5810 IF bk% SYSwm%,,mb9%,0,0 5820 WHEN menu%(10):dd%()=0:dd%(!pb%)=1 5830 CASE !pb% OF 5840 WHEN 0:delay%=1 5850 WHEN 1:delay%=2 5860 WHEN 2:delay%=4 5870 WHEN 3:delay%=8 5880 WHEN 4:delay%=16 5890 OTHERWISE delay%=4 5900 ENDCASE 5910 PROCmenublock9d:IF bk% SYSwm%,,mb9d%,0,0 5920 WHEN menu%(11):CASE !pb% OF 5930 WHEN 0:SYSwsm%,15 5940 WHEN 1:SYSwsm%,28 5950 OTHERWISE 5960 ENDCASE:IF bk% SYSwm%,,mb11%,0,0 5970 ENDCASE 5980 ENDPROC 5990 : 6000 DEF PROCm0 6010 CASE !pb% OF 6020 WHEN 1:PROCoutline 6030 WHEN 2:PROCclear 6040 WHEN 3:PROCexit:ENDCASE:ENDPROC 6050 ENDCASE 6060 IF bk% SYSwm%,,mb0%,0,0 6070 ENDPROC 6080 : 6090 DEF PROCoutline 6100 IF rto%=TRUE THEN 6110 rto%=FALSE:mb0%!60=mf% 6120 ELSE rto%=TRUE:mb0%!60=mf%+4 6130 ENDIF 6140 PROCadjust1(strip%,w%(strip%,0)) 6150 ENDPROC 6160 : 6170 DEF PROCm1:CASE !pb% OF 6180 WHEN 0:PROCm2(pb%!4) 6190 WHEN 1 6200 IF scaled%=TRUE scaled%=FALSE ELSE scaled%=TRUE 6210 IF scaled%=TRUE $(mb1%+64)=m$(9) ELSE $(mb1%+64)=m$(10) 6220 SYSwws%,,iw1%:IF(w1%!28 ANDpZ%) ELSE SYSwfr%,w1h%,0,j1%,k1%,0 6230 WHEN 2 6240 IF right%=TRUE right%=FALSE ELSE right%=TRUE 6250 IF right%=TRUE $(mb1%+88)=m$(12) ELSE $(mb1%+88)=m$(13) 6260 ENDCASE 6270 IF bk% SYSwm%,,mb1%,0,0 6280 ENDPROC 6290 : 6300 DEF PROCm2(sh%):CASE sh% OF 6310 WHEN 0:width%=112:IF uu%=1:uu%=0 ELSE uu%=1 6320 WHEN 1:width%=84:IF uu%=2:uu%=0 ELSE uu%=2 6330 WHEN 2:width%=84:IF uu%=3:uu%=0 ELSE uu%=3 6340 WHEN 3:width%=124:IF uu%=4:uu%=0 ELSE uu%=4 6350 OTHERWISE uu%=0 6360 ENDCASE:dx%()=0:dx%(uu%)=1 6370 IF go% $wt%=wt$(uu%):PROCtitle 6380 PROCmenublock2:it%=0 6390 REPEAT 6400 IF w%(it%,1)=p80% ELSE PROCadjust 6410 it%+=1 6420 UNTIL it%=37 6430 ENDPROC 6440 : 6450 DEF PROCm4(m%) 6460 IF i%(m%)=TRUE i%(m%)=FALSE:$j3%=m$(21) ELSE i%(m%)=TRUE:$j3%=m$(1) 6470 !iw4%=w%(k%(m%),1):SYSwws%,,iw4%:y4%=iw4%!24 6480 IF m%=2 x4%=132 ELSE x4%=100 6490 SYSwfr%,w%(k%(m%),1),16,y4%-56,x4%,y4%-12 6500 IF bk% SYSwm%,,mb3%,0,0 6510 ENDPROC 6520 : 6530 DEF PROCm7:dv%()=0:dv%(vv%)=1:PROCmenublock7:CASE vv% OF 6540 WHEN 0:cv%=&D5:$tx7%=m$(16) 6550 WHEN 1:cv%=&D1:$tx7%=m$(17) 6560 WHEN 2:cv%=&DD:$tx7%=m$(15) 6570 OTHERWISE cv%=&D5:$tx7%=m$(16) 6580 ENDCASE 6590 PROCld7:PROCsis(w7h%):SYSwfr%,w7h%,mid7%,j7%,k7%-6,-44 6600 ENDPROC 6610 : 6620 DEF PROCm8:dw%()=0:dw%(wv%)=1:PROCmenublock8 6630 SYSwgc%,,ctb%:IF (!ctb%=w8h%) SYSwcp%,-1 6640 CASE up% OF 6650 WHEN 0:PROCread(&A,rdt%,gdt%,bdt%) 6660 PROCreset(deleted%,deleted%,6,7,8) 6670 WHEN 1:PROCread(16,rht%,ght%,bht%) 6680 PROCreset(deleted%,deleted%,9,10,11) 6690 WHEN 2:PROCread(2,rbt%,gbt%,bbt%) 6700 PROCreset(deleted%,deleted%,12,13,14) 6710 OTHERWISE PROCread(&A,rdt%,gdt%,bdt%) 6720 PROCreset(deleted%,deleted%,6,7,8) 6730 ENDCASE:PROCmod 6740 CASE wv% OF 6750 WHEN 0:PROCrestore(&D5,4,rdt%,gdt%,bdt%) 6760 $tx8%=m$(16):PROCreset(0,deleted%,6,7,8) 6770 WHEN 1:PROCrestore(&D1,3,rht%,ght%,bht%) 6780 $tx8%=m$(17):PROCreset(0,deleted%,9,10,11) 6790 WHEN 2:PROCrestore(&DD,9,rbt%,gbt%,bbt%) 6800 $tx8%=m$(15):PROCreset(0,deleted%,12,13,14) 6810 OTHERWISE PROCrestore(&D5,4,rdt%,gdt%,bdt%) 6820 $tx8%=m$(16):PROCreset(0,deleted%,6,7,8) 6830 ENDCASE 6840 IF (!ctb%=w8h%) PROCcaret(wv%+1) 6850 PROCsis(w8h%):ENDPROC 6860 : 6870 DEF PROCcaret(ct%) 6880 iz%=ip%((ctb%!4-6),ct%) 6890 SYSwcp%,w8h%,iz%,-1,-1,-1,0 6900 ENDPROC 6910 : 6920 DEF PROCread(base%,ptr%,ptg%,ptb%):CASE base% OF 6930 WHEN 2 6940 IF (47<?ptr%) AND (?ptr%<50) ELSE $ptr%="00000000" 6950 IF (47<?ptg%) AND (?ptg%<50) ELSE $ptg%="00000000" 6960 IF (47<?ptb%) AND (?ptb%<50) ELSE $ptb%="00000000" 6970 WHEN &A 6980 IF (47<?ptr%) AND (?ptr%<58) ELSE $ptr%="0" 6990 IF (47<?ptg%) AND (?ptg%<58) ELSE $ptg%="0" 7000 IF (47<?ptb%) AND (?ptb%<58) ELSE $ptb%="0" 7010 WHEN 16 7020 IF ((47<?ptr%) AND (?ptr%<58)) OR ((64<?ptr%) AND (?ptr%<71)) ELSE $ptr%="00" 7030 IF ((47<?ptg%) AND (?ptg%<58)) OR ((64<?ptg%) AND (?ptg%<71)) ELSE $ptg%="00" 7040 IF ((47<?ptb%) AND (?ptb%<58)) OR ((64<?ptb%) AND (?ptb%<71)) ELSE $ptb%="00" 7050 OTHERWISE $ptr%="0":$ptg%="0":$ptb%="0" 7060 ENDCASE 7070 SYS&21,base%,ptr% TO ,,rhold% 7080 SYS&21,base%,ptg% TO ,,ghold% 7090 SYS&21,base%,ptb% TO ,,bhold% 7100 ENDPROC 7110 : 7120 DEF PROCrestore(swi%,buf%,ptr%,ptg%,ptb%) 7130 SYSswi%,rhold%,ptr%,buf% 7140 SYSswi%,ghold%,ptg%,buf% 7150 SYSswi%,bhold%,ptb%,buf% 7160 ENDPROC 7170 : 7180 DEF PROCreset(eor%,clear%,nmx%,nmy%,nmz%) 7190 !sis%=w8h%:sis%!8=eor%:sis%!12=clear% 7200 sis%!4=nmx%:SYSwsi%,,sis% 7210 sis%!4=nmy%:SYSwsi%,,sis% 7220 sis%!4=nmz%:SYSwsi%,,sis% 7230 ENDPROC 7240 : 7250 DEF PROCset9(icon%,eor%,clear%):!sis%=w9h%:sis%!4=icon% 7260 sis%!8=eor%:sis%!12=clear%:SYSwsi%,,sis%:ENDPROC 7270 : 7280 DEF PROCprocess 7290 IF !pb%=w8h% PROCkbd(pb%!&18) ELSE SYSwpk%,pb%!&18 7300 ENDPROC 7310 : 7320 DEF PROCkbd(kn%):CASE kn% OF 7330 WHEN &188:PROCfrus 7340 WHEN 13:PROCreturn 7350 WHEN &185:up%=wv%:wv%=0:PROCm8 7360 WHEN &186:up%=wv%:wv%=1:PROCm8 7370 WHEN &187:up%=wv%:wv%=2:PROCm8 7380 WHEN &18F:PROCup 7390 WHEN &18E:PROCdown 7400 OTHERWISE SYSwpk%,kn% 7410 ENDCASE 7420 ENDPROC 7430 : 7440 DEF PROCfrus:rhold%=0:ghold%=0:bhold%=0:SYSwgc%,,ctb% 7450 CASE wv% OF 7460 WHEN 0:PROCrestore(&D5,4,rdt%,gdt%,bdt%):PROCreset(0,0,6,7,8) 7470 WHEN 1:PROCrestore(&D1,3,rht%,ght%,bht%):PROCreset(0,0,9,10,11) 7480 WHEN 2:PROCrestore(&DD,9,rbt%,gbt%,bbt%):PROCreset(0,0,12,13,14) 7490 OTHERWISE PROCrestore(&D5,4,rdt%,gdt%,bdt%):PROCreset(0,0,6,7,8) 7500 ENDCASE 7510 IF (!ctb%=w8h%) PROCcaret(0) 7520 ENDPROC 7530 : 7540 DEF PROCup:SYSwgc%,,ctb% 7550 IF (!ctb%=w8h%) PROCcaret(4) 7560 ENDPROC 7570 : 7580 DEF PROCdown:SYSwgc%,,ctb% 7590 IF (!ctb%=w8h%) PROCcaret(5) 7600 ENDPROC 7610 : 7620 DEF PROCreturn:CASE wv% OF 7630 WHEN 0:PROCread(&A,rdt%,gdt%,bdt%) 7640 WHEN 1:PROCread(16,rht%,ght%,bht%) 7650 WHEN 2:PROCread(2,rbt%,gbt%,bbt%) 7660 OTHERWISE PROCread(&A,rdt%,gdt%,bdt%) 7670 ENDCASE:PROCmod:ccc%?1=rhold%:ccc%?2=ghold%:ccc%?3=bhold% 7680 PROCsetcol:PROCld7:PROCoutput 7690 rtl%=FALSE:IF rto% PROCadjust1(strip%,indez%) 7700 ENDPROC 7710 : 7720 DEF PROCm9(RETURN str%):du%()=0:du%(str%)=1:PROCmenublock9 7730 FOR it%=1 TO 4 STEP 1 7740 IF du%(it%) THEN 7750 PROCset9(it%,&B000000,&F000000) 7760 ELSE 7770 PROCset9(it%,&7000000,&F000000) 7780 ENDIF 7790 NEXT it% 7800 PROCr9:ENDPROC 7810 : 7820 DEF PROCpointer:d9%-=1 7830 IF d9%=-1 THEN 7840 PROCpif:SYS&32,mx%,my% TO ,,pcolour%,ptint%,screen% 7850 IF screen%=-1 VDU7 ELSE temp%()=0:!store%(str%)=FNpointcol(pcolour%,ptint%) 7860 PROCr9:active%=FALSE:$cap%=m$(41):PROCset9(0,&7000000,&F000000) 7870 IF str%=0 THEN 7880 !ccc%=!store%(str%):PROCsetcol:PROCld7:PROCoutput 7890 rtl%=FALSE:IF rto% PROCadjust1(strip%,indez%) 7900 ENDIF 7910 ELSE 7920 $s9%=STR$(d9%):PROCr9d:SYS&42 TO nt% 7930 WHILE (nt%-ot%) >= 0:ot%=ot%+gn%:ENDWHILE 7940 ENDIF 7950 ENDPROC 7960 : 7970 DEF PROCrestart 7980 w1%!0=e1%:w1%!4=f1% 7990 w1%!8=g1%:w1%!12=h1% 8000 w1%!16=0:w1%!20=0 8010 ENDPROC 8020 : 8030 DEF PROCreadmode 8040 SYSrm%,-1,3TO,,lcols% 8050 IF lcols%>=&3F go%=TRUE ELSE go%=FALSE 8060 SYSrm%,-1,4TO,,xb%:xf%=(2^xb%)/2 8070 SYSrm%,-1,5TO,,yb%:yf%=(2^yb%)/2 8080 ss%!8=ABS((i1%-k1%)*xf%) 8090 ss%!12=ABS(((j1%-l1%)/2)*yf%) 8100 IF (lcols%=63) THEN 8110 table%=0:$wt%=wt$(uu%) 8120 ELSE 8130 $wt%=wt$(5):SYSctt%,&F,0,-1,-1,tb%:table%=tb% 8140 ENDIF 8150 PROCtitle:nv%=FALSE:ENDPROC 8160 : 8170 DEF PROCtitle:SYSwws%,,iw1% 8180 IF(w1%!28 ANDpY%) THEN 8190 SYSwwo%,,wob% 8200 SYSwfr%,-1,wob%!4,(wob%!16-44),wob%!12,wob%!16 8210 ENDIF 8220 ENDPROC 8230 : 8240 DEF PROCshut:ht%=0 8250 REPEAT 8260 IF w%(ht%,1)=p80% ELSE !iw2%=w%(ht%,1):SYSwx%,,iw2%:w%(ht%,1)=p80% 8270 ht%+=1 8280 UNTIL ht%=37 8290 REPEAT 8300 IF w%(ht%,1)=p80% ELSE !iw4%=w%(ht%,1):SYSwx%,,iw4%:w%(ht%,1)=p80% 8310 ht%+=1 8320 UNTIL ht%=41 8330 IF w%(41,1)=p80% ELSE SYSwc%,,iw7%:w%(41,1)=p80% 8340 IF w%(42,1)=p80% THEN 8350 ELSE CASE wv% OF 8360 WHEN 0:PROCread(&A,rdt%,gdt%,bdt%) 8370 WHEN 1:PROCread(16,rht%,ght%,bht%) 8380 WHEN 2:PROCread(2,rbt%,gbt%,bbt%) 8390 OTHERWISE PROCread(&A,rdt%,gdt%,bdt%) 8400 ENDCASE:PROCmod 8410 SYSwc%,,iw8%:w%(42,1)=p80% 8420 ENDIF 8430 IF w%(44,1)=p80% THEN 8440 ELSE active%=FALSE:$cap%=m$(41) 8450 PROCset9(0,&7000000,&F000000) 8460 SYSwc%,,iw9%:w%(44,1)=p80% 8470 ENDIF 8480 ENDPROC 8490 : 8500 DEF PROCclear:cleared%=TRUE:PROCshut 8510 SYSwc%,,iw1%:SYSwc%,,iw0%:ENDPROC 8520 : 8530 DEF PROCmessage:CASE pb%!16 OF 8540 WHEN 0:PROCexit 8550 WHEN ww%:nv%=TRUE 8560 WHEN &400CC:PROCiconise 8570 ENDCASE 8580 ENDPROC 8590 : 8600 DEF PROCiconise 8610 msgb%!12=pb%!8 8620 msgb%!20=pb%!20 8630 msgb%!24=0 8640 CASE pb%!20 OF 8650 WHEN 0:ENDPROC 8660 WHEN w1h%:$(msgb%+36)="Cube"+CHR$(0) 8670 $(msgb%+28)="bar"+CHR$(0) 8680 WHEN w0h%:$(msgb%+36)="Version"+CHR$(0) 8690 $(msgb%+28)="ver"+CHR$(0) 8700 WHEN w7h%:$(msgb%+36)="Info."+CHR$(0) 8710 $(msgb%+28)="inf"+CHR$(0) 8720 WHEN w8h%:$(msgb%+36)="Input"+CHR$(0) 8730 $(msgb%+28)="inp"+CHR$(0) 8740 WHEN w9h%:$(msgb%+36)="Pointer"+CHR$(0) 8750 $(msgb%+28)="ptr"+CHR$(0) 8760 WHEN w%(37,1):$(msgb%+36)="RGB"+CHR$(0) 8770 $(msgb%+28)="rgb"+CHR$(0) 8780 WHEN w%(38,1):$(msgb%+36)="CMY"+CHR$(0) 8790 $(msgb%+28)="cmy"+CHR$(0) 8800 WHEN w%(39,1):$(msgb%+36)="Plain"+CHR$(0) 8810 $(msgb%+28)="cmp"+CHR$(0) 8820 WHEN w%(40,1):$(msgb%+36)="ECF"+CHR$(0) 8830 $(msgb%+28)="ecf"+CHR$(0) 8840 OTHERWISE 8850 $(msgb%+36)="????"+CHR$(0) 8860 $(msgb%+28)="stp"+CHR$(0) 8870 it%=0 8880 REPEAT 8890 IF w%(it%,1)=pb%!20 THEN 8900 $(msgb%+36)=STR$(it%)+CHR$(0) 8910 it%=36 8920 ENDIF 8930 it%+=1 8940 UNTIL it%=37 8950 ENDCASE 8960 SYSwsg%,17,msgb%,pb%!4 8970 ENDPROC 8980 : 8990 DEF PROCexit 9000 SYSwz%,th%,task% 9010 IF r2% END 9020 ENDPROC 9030 : 9040 DEF FNcreate_w2 9050 w2%!0=e2%:w2%!4=f2%:w2%!8=g2%:w2%!12=h2% 9060 w2%!16=0:w2%!20=0:w2%!24=-1:w2%!28=&86000002 9070 w2%!32=7:w2%!33=2:w2%!34=0:w2%!35=&FF 9080 w2%!36=3:w2%!37=1:w2%!38=12:w2%!39=0 9090 w2%!40=i2%:w2%!44=j2%:w2%!48=k2%:w2%!52=l2% 9100 w2%!56=itf%:w2%!60=bf%:w2%!64=1:w2%!68=48 9110 w2%!70=32:w2%!72=qt%:w2%!76=bs%:w2%!80=0:w2%!84=0 9120 SYSww%,,w2%TOhandle% 9130 =handle% 9140 : 9150 DEF FNcreate_w4 9160 w4%!0=e4%:w4%!4=f4%:w4%!8=g4%:w4%!12=h4% 9170 w4%!16=0:w4%!20=0:w4%!24=-1:w4%!28=&BF000002 9180 w4%?32=7:w4%?33=2:w4%?34=7:w4%?35=&FF 9190 w4%?36=3:w4%?37=1:w4%?38=12:w4%?39=0 9200 w4%!40=i4%:w4%!44=j4%:w4%!48=k4%:w4%!52=l4% 9210 w4%!56=itf%:w4%!60=0:w4%!64=bs%:w4%!68=0:w4%!70=0 9220 CASE it% OF 9230 WHEN37:w4%!72=t37% 9240 WHEN38:w4%!72=t38% 9250 WHEN39:w4%!72=t39% 9260 WHEN40:w4%!72=t40% 9270 OTHERWISEw4%!72=t0% 9280 ENDCASE 9290 w4%!76=bs%:w4%!80=0:w4%!84=0 9300 SYSww%,,w4%TOhandle% 9310 =handle% 9320 : 9330 DEF FNcreate_w7 9340 IF r2% THEN 9350 w7%!0=e7%:w7%!4=f7%:w7%!8=g7%:w7%!12=h7% 9360 w7%!16=0:w7%!20=0:w7%!24=-1:w7%!28=&BF000002 9370 w7%?32=7:w7%?33=2:w7%?34=7:w7%?35=1 9380 w7%?36=3:w7%?37=1:w7%?38=12:w7%?39=0 9390 w7%!40=i7%:w7%!44=j7%:w7%!48=k7%:w7%!52=l7% 9400 w7%!56=itf%:w7%!60=0:w7%!64=bs%:w7%!68=k7% 9410 w7%!70=0:w7%!72=t7%:w7%!76=bs%:w7%!80=0 9420 w7%!84=15 9430 w7%!88=0:w7%!92=-44:w7%!96=280:w7%!100=0 9440 w7%!104=iff%:w7%!108=tx7%:w7%!112=vx7%:w7%!116=12 9450 w7%!120=mid7%:w7%!124=-92:w7%!128=274:w7%!132=-48 9460 w7%!136=txf%:w7%!140=ll%:w7%!144=-1:w7%!148=LEN($ll%) 9470 w7%!152=mid7%:w7%!156=-144:w7%!160=274:w7%!164=-100 9480 w7%!168=txf%:w7%!172=tt%:w7%!176=-1:w7%!180=LEN($tt%) 9490 w7%!184=mid7%:w7%!188=-196:w7%!192=274:w7%!196=-152 9500 w7%!200=txf%:w7%!204=oo%:w7%!208=-1:w7%!212=LEN($oo%) 9510 w7%!216=mid7%:w7%!220=-248:w7%!224=274:w7%!228=-204 9520 w7%!232=txf%:w7%!236=nn%:w7%!240=-1:w7%!244=LEN($nn%) 9530 w7%!248=mid7%:w7%!252=-300:w7%!256=274:w7%!260=-256 9540 w7%!264=txf%:w7%!268=rr%:w7%!272=-1:w7%!276=LEN($rr%) 9550 w7%!280=mid7%:w7%!284=-352:w7%!288=274:w7%!292=-308 9560 w7%!296=txf%:w7%!300=gg%:w7%!304=-1:w7%!308=LEN($gg%) 9570 w7%!312=mid7%:w7%!316=-404:w7%!320=274:w7%!324=-360 9580 w7%!328=txf%:w7%!332=bb%:w7%!336=-1:w7%!340=LEN($bb%) 9590 w7%!344=6:w7%!348=-92:w7%!352=mid7%:w7%!356=-48 9600 w7%!360=txf%:w7%!364=colour%:w7%!368=-1:w7%!372=LEN($colour%) 9610 w7%!376=6:w7%!380=-144:w7%!384=mid7%:w7%!388=-100 9620 w7%!392=txf%:w7%!396=tint%:w7%!400=-1:w7%!404=LEN($tint%) 9630 w7%!408=6:w7%!412=-196:w7%!416=mid7%:w7%!420=-152 9640 w7%!424=txf%:w7%!428=sys_gcol%:w7%!432=-1:w7%!436=LEN($sys_gcol%) 9650 w7%!440=6:w7%!444=-248:w7%!448=mid7%:w7%!452=-204 9660 w7%!456=txf%:w7%!460=col_num%:w7%!464=-1:w7%!468=LEN($col_num%) 9670 w7%!472=6:w7%!476=-300:w7%!480=mid7%:w7%!484=-256 9680 w7%!488=txf%:w7%!492=red%:w7%!496=-1:w7%!500=LEN($red%) 9690 w7%!504=6:w7%!508=-352:w7%!512=mid7%:w7%!516=-308 9700 w7%!520=txf%:w7%!524=green%:w7%!528=-1:w7%!532=LEN($green%) 9710 w7%!536=6:w7%!540=-404:w7%!544=mid7%:w7%!548=-360 9720 w7%!552=txf%:w7%!556=blue%:w7%!560=-1:w7%!564=LEN($blue%) 9730 ELSE 9740 w7%!0=e7%:w7%!4=f7%:w7%!8=g7%:w7%!12=h7% 9750 w7%!16=0:w7%!20=0:w7%!24=-1:w7%!28=&BF000002 9760 w7%?32=7:w7%?33=2:w7%?34=7:w7%?35=1 9770 w7%?36=3:w7%?37=1:w7%?38=12:w7%?39=0 9780 w7%!40=i7%:w7%!44=j7%:w7%!48=k7%:w7%!52=l7% 9790 w7%!56=itf%:w7%!60=0:w7%!64=bs%:w7%!68=k7% 9800 w7%!70=0:w7%!72=t7%:w7%!76=bs%:w7%!80=0 9810 w7%!84=23 9820 w7%!88=0:w7%!92=-44:w7%!96=280:w7%!100=0 9830 w7%!104=iff%:w7%!108=tx7%:w7%!112=vx7%:w7%!116=12 9840 w7%!120=mid7%:w7%!124=-92:w7%!128=274:w7%!132=-48 9850 w7%!136=txf%:w7%!140=ll%:w7%!144=-1:w7%!148=LEN($ll%) 9860 w7%!152=mid7%:w7%!156=-144:w7%!160=274:w7%!164=-100 9870 w7%!168=txf%:w7%!172=tt%:w7%!176=-1:w7%!180=LEN($tt%) 9880 w7%!184=mid7%:w7%!188=-196:w7%!192=274:w7%!196=-152 9890 w7%!200=txf%:w7%!204=oo%:w7%!208=-1:w7%!212=LEN($oo%) 9900 w7%!216=mid7%:w7%!220=-248:w7%!224=274:w7%!228=-204 9910 w7%!232=txf%:w7%!236=nn%:w7%!240=-1:w7%!244=LEN($nn%) 9920 w7%!248=mid7%:w7%!252=-300:w7%!256=274:w7%!260=-256 9930 w7%!264=txf%:w7%!268=rr%:w7%!272=-1:w7%!276=LEN($rr%) 9940 w7%!280=mid7%:w7%!284=-352:w7%!288=274:w7%!292=-308 9950 w7%!296=txf%:w7%!300=gg%:w7%!304=-1:w7%!308=LEN($gg%) 9960 w7%!312=mid7%:w7%!316=-404:w7%!320=274:w7%!324=-360 9970 w7%!328=txf%:w7%!332=bb%:w7%!336=-1:w7%!340=LEN($bb%) 9980 w7%!344=mid7%:w7%!348=-456:w7%!352=274:w7%!356=-412 9990 w7%!360=txf%:w7%!364=aa%:w7%!368=-1:w7%!372=LEN($aa%) 10000 w7%!376=mid7%:w7%!380=-508:w7%!384=274:w7%!388=-464 10010 w7%!392=txf%:w7%!396=mm%:w7%!400=-1:w7%!404=LEN($mm%) 10020 w7%!408=mid7%:w7%!412=-560:w7%!416=274:w7%!420=-516 10030 w7%!424=txf%:w7%!428=yy%:w7%!432=-1:w7%!436=LEN($yy%) 10040 w7%!440=mid7%:w7%!444=-612:w7%!448=274:w7%!452=-568 10050 w7%!456=&119:w7%!460=kk%:w7%!464=-1:w7%!468=LEN($kk%) 10060 w7%!472=6:w7%!476=-92:w7%!480=mid7%:w7%!484=-48 10070 w7%!488=txf%:w7%!492=colour%:w7%!496=-1:w7%!500=LEN($colour%) 10080 w7%!504=6:w7%!508=-144:w7%!512=mid7%:w7%!516=-100 10090 w7%!520=txf%:w7%!524=tint%:w7%!528=-1:w7%!532=LEN($tint%) 10100 w7%!536=6:w7%!540=-196:w7%!544=mid7%:w7%!548=-152 10110 w7%!552=txf%:w7%!556=sys_gcol%:w7%!560=-1:w7%!564=LEN($sys_gcol%) 10120 w7%!568=6:w7%!572=-248:w7%!576=mid7%:w7%!580=-204 10130 w7%!584=txf%:w7%!588=col_num%:w7%!592=-1:w7%!596=LEN($col_num%) 10140 w7%!600=6:w7%!604=-300:w7%!608=mid7%:w7%!612=-256 10150 w7%!616=txf%:w7%!620=red%:w7%!624=-1:w7%!628=LEN($red%) 10160 w7%!632=6:w7%!636=-352:w7%!640=mid7%:w7%!644=-308 10170 w7%!648=txf%:w7%!652=green%:w7%!656=-1:w7%!660=LEN($green%) 10180 w7%!664=6:w7%!668=-404:w7%!672=mid7%:w7%!676=-360 10190 w7%!680=txf%:w7%!684=blue%:w7%!688=-1:w7%!692=LEN($blue%) 10200 w7%!696=6:w7%!700=-456:w7%!704=mid7%:w7%!708=-412 10210 w7%!712=txf%:w7%!716=cyan%:w7%!720=-1:w7%!724=LEN($cyan%) 10220 w7%!728=6:w7%!732=-508:w7%!736=mid7%:w7%!740=-464 10230 w7%!744=txf%:w7%!748=magenta%:w7%!752=-1:w7%!756=LEN($magenta%) 10240 w7%!760=6:w7%!764=-560:w7%!768=mid7%:w7%!772=-516 10250 w7%!776=txf%:w7%!780=yellow%:w7%!784=-1:w7%!788=LEN($yellow%) 10260 w7%!792=6:w7%!796=-612:w7%!800=mid7%:w7%!804=-568 10270 w7%!808=&119:w7%!812=key%:w7%!816=-1:w7%!820=LEN($key%) 10280 ENDIF 10290 SYS ww%,,w7% TO handle% 10300 =handle% 10310 : 10320 DEF FNcreate_w8 10330 w8%!0=e8%:w8%!4=f8%:w8%!8=g8%:w8%!12=h8% 10340 w8%!16=0:w8%!20=0:w8%!24=-1:w8%!28=&87000002 10350 w8%?32=7:w8%?33=2:w8%?34=7:w8%?35=1 10360 w8%?36=0:w8%?37=0:w8%?38=12:w8%?39=0 10370 w8%!40=i8%:w8%!44=j8%:w8%!48=k8%:w8%!52=l8% 10380 w8%!56=itf%:w8%!60=0:w8%!64=bs% 10390 w8%!68=280:w8%!70=252 10400 w8%!72=t8%:w8%!76=bs% 10410 w8%!80=0:w8%!84=15 10420 w8%!88=0:w8%!92=-44:w8%!96=280:w8%!100=0 10430 w8%!104=iff%:w8%!108=tx8%:w8%!112=vx8%:w8%!116=12 10440 w8%!120=0:w8%!124=-252:w8%!128=140:w8%!132=-200 10450 w8%!136=iff%:w8%!140=tc8%:w8%!144=vd8%:w8%!148=6 10460 w8%!152=140:w8%!156=-252:w8%!160=280:w8%!164=-200 10470 w8%!168=iff%:w8%!172=te8%:w8%!176=vd8%:w8%!180=6 10480 w8%!184=0:w8%!188=-96:w8%!192=120:w8%!196=-44 10490 w8%!200=txf%:w8%!204=red%:w8%!208=-1:w8%!212=LEN($red%) 10500 w8%!216=0:w8%!220=-148:w8%!224=120:w8%!228=-96 10510 w8%!232=txf%:w8%!236=green%:w8%!240=-1:w8%!244=LEN($green%) 10520 w8%!248=0:w8%!252=-200:w8%!256=120:w8%!260=-148 10530 w8%!264=txf%:w8%!268=blue%:w8%!272=-1:w8%!276=LEN($blue%) 10540 w8%!280=120:w8%!284=-92:w8%!288=274:w8%!292=-48 10550 w8%!296=if8%+deleted%:w8%!300=rdt%:w8%!304=vsd%:w8%!308=4 10560 w8%!312=120:w8%!316=-144:w8%!320=274:w8%!324=-100 10570 w8%!328=if8%+deleted%:w8%!332=gdt%:w8%!336=vsd%:w8%!340=4 10580 w8%!344=120:w8%!348=-196:w8%!352=274:w8%!356=-152 10590 w8%!360=if8%+deleted%:w8%!364=bdt%:w8%!368=vsd%:w8%!372=4 10600 w8%!376=120:w8%!380=-92:w8%!384=274:w8%!388=-48 10610 w8%!392=if8%+deleted%:w8%!396=rht%:w8%!400=vsh%:w8%!404=3 10620 w8%!408=120:w8%!412=-144:w8%!416=274:w8%!420=-100 10630 w8%!424=if8%+deleted%:w8%!428=ght%:w8%!432=vsh%:w8%!436=3 10640 w8%!440=120:w8%!444=-196:w8%!448=274:w8%!452=-152 10650 w8%!456=if8%+deleted%:w8%!460=bht%:w8%!464=vsh%:w8%!468=3 10660 w8%!472=120:w8%!476=-92:w8%!480=274:w8%!484=-48 10670 w8%!488=if8%+deleted%:w8%!492=rbt%:w8%!496=vsb%:w8%!500=9 10680 w8%!504=120:w8%!508=-144:w8%!512=274:w8%!516=-100 10690 w8%!520=if8%+deleted%:w8%!524=gbt%:w8%!528=vsb%:w8%!532=9 10700 w8%!536=120:w8%!540=-196:w8%!544=274:w8%!548=-152 10710 w8%!552=if8%+deleted%:w8%!556=bbt%:w8%!560=vsb%:w8%!564=9 10720 SYS ww%,,w8% TO handle% 10730 =handle% 10740 : 10750 DEF FNcreate_w9 10760 w9%!0=e9%:w9%!4=f9%:w9%!8=g9%:w9%!12=h9% 10770 w9%!16=0:w9%!20=0:w9%!24=-1:w9%!28=&87000002 10780 w9%?32=7:w9%?33=2:w9%?34=7:w9%?35=&FF 10790 w9%?36=0:w9%?37=0:w9%?38=12:w9%?39=0 10800 w9%!40=i9%:w9%!44=j9%:w9%!48=k9%:w9%!52=l9% 10810 w9%!56=itf%:w9%!60=0:w9%!64=bs%:w9%!68=280:w9%!70=260 10820 w9%!72=t9%:w9%!76=bs%:w9%!80=0:w9%!84=6 10830 w9%!88=0:w9%!92=-260:w9%!96=140:w9%!100=-208 10840 w9%!104=iff%:w9%!108=cap%:w9%!112=vd8%:w9%!116=8 10850 w9%!120=0:w9%!124=-52:w9%!128=70:w9%!132=0 10860 w9%!136=iff%:w9%!140=st1%:w9%!144=vs9%:w9%!148=2 10870 w9%!152=0:w9%!156=-104:w9%!160=70:w9%!164=-52 10880 w9%!168=iff%:w9%!172=st2%:w9%!176=vs9%:w9%!180=2 10890 w9%!184=0:w9%!188=-156:w9%!192=70:w9%!196=-104 10900 w9%!200=iff%:w9%!204=st3%:w9%!208=vs9%:w9%!212=2 10910 w9%!216=0:w9%!220=-208:w9%!224=70:w9%!228=-156 10920 w9%!232=iff%:w9%!236=st4%:w9%!240=vs9%:w9%!244=2 10930 w9%!248=140:w9%!252=-260:w9%!256=280:w9%!260=-208 10940 w9%!264=iff%:w9%!268=te8%:w9%!272=vd8%:w9%!276=6 10950 SYS ww%,,w9% TO handle% 10960 =handle% 10970 : 10980 DEF PROCmenublock0:$mb0%=$des% 10990 mb0%?12=7:mb0%?13=2:mb0%?14=7:mb0%?15=0 11000 mb0%!16=160:mb0%!20=44:mb0%!24=0 11010 mb0%!28=0:mb0%!32=w0h% 11020 mb0%!36=mf%:$(mb0%+40)=im0$ 11030 mb0%!52=0:mb0%!56=-1 11040 mb0%!60=mf%+4:$(mb0%+64)=im1$ 11050 mb0%!76=2:mb0%!80=-1 11060 mb0%!84=mf%:$(mb0%+88)=im2$ 11070 mb0%!100=lastitem%:mb0%!104=-1 11080 mb0%!108=mf%:$(mb0%+112)=im3$ 11090 ENDPROC 11100 : 11110 DEF PROCmenublock1:$mb1%=m$(0) 11120 mb1%?12=7:mb1%?13=2:mb1%?14=7:mb1%?15=0 11130 mb1%!16=108:mb1%!20=44:mb1%!24=0 11140 mb1%!28=0:mb1%!32=mb2% 11150 mb1%!36=mf%:$(mb1%+40)=m$(1) 11160 mb1%!52=0:mb1%!56=-1 11170 mb1%!60=mf%:$(mb1%+64)=m$(9) 11180 mb1%!76=lastitem%:mb1%!80=-1 11190 mb1%!84=mf%:$(mb1%+88)=m$(12) 11200 ENDPROC 11210 : 11220 DEF PROCmenublock2:$mb2%=m$(4) 11230 mb2%?12=7:mb2%?13=2:mb2%?14=7:mb2%?15=0 11240 mb2%!16=152:mb2%!20=44:mb2%!24=0 11250 mb2%!28=dx%(1):mb2%!32=-1 11260 mb2%!36=mf%:$(mb2%+40)=m$(5) 11270 mb2%!52=dx%(2):mb2%!56=-1 11280 mb2%!60=mf%:$(mb2%+64)=m$(6) 11290 mb2%!76=dx%(3):mb2%!80=-1 11300 mb2%!84=mf%:$(mb2%+88)=m$(32) 11310 mb2%!100=lastitem%+dx%(4):mb2%!104=-1 11320 mb2%!108=mf%:$(mb2%+112)=m$(8) 11330 ENDPROC 11340 : 11350 DEF PROCmenublock3:$mb3%=m$(14) 11360 mb3%?12=7:mb3%?13=2:mb3%?14=7:mb3%?15=0 11370 mb3%!16=80:mb3%!20=44:mb3%!24=0 11380 mb3%!28=lastitem%:mb3%!32=-1 11390 mb3%!36=mf11%:mb3%!40=j3%:mb3%!44=-1:mb3%!48=5 11400 ENDPROC 11410 : 11420 DEF PROCmenublock7:$mb7%=m$(11) 11430 mb7%?12=7:mb7%?13=2:mb7%?14=7:mb7%?15=0 11440 mb7%!16=188:mb7%!20=44:mb7%!24=0 11450 mb7%!28=dv%(0):mb7%!32=-1 11460 mb7%!36=mf%:$(mb7%+40)=m$(16) 11470 mb7%!52=dv%(1):mb7%!56=-1 11480 mb7%!60=mf%:$(mb7%+64)=m$(17) 11490 mb7%!76=lastitem%+dv%(2):mb7%!80=-1 11500 mb7%!84=mf%:$(mb7%+88)=m$(15) 11510 ENDPROC 11520 : 11530 DEF PROCmenublock8:$mb8%=m$(11) 11540 mb8%?12=7:mb8%?13=2:mb8%?14=7:mb8%?15=0 11550 mb8%!16=188:mb8%!20=44:mb8%!24=0 11560 mb8%!28=dw%(0):mb8%!32=-1 11570 mb8%!36=mf%:$(mb8%+40)=m$(16) 11580 mb8%!52=dw%(1):mb8%!56=-1 11590 mb8%!60=mf%:$(mb8%+64)=m$(17) 11600 mb8%!76=lastitem%+dw%(2):mb8%!80=-1 11610 mb8%!84=mf%:$(mb8%+88)=m$(15) 11620 ENDPROC 11630 : 11640 DEF PROCmenublock9:$mb9%=m$(33) 11650 mb9%?12=7:mb9%?13=2:mb9%?14=7:mb9%?15=0 11660 mb9%!16=52:mb9%!20=44:mb9%!24=0 11670 mb9%!28=du%(0):mb9%!32=-1 11680 mb9%!36=mf9%:$(mb9%+40)=m$(34) 11690 mb9%!52=du%(1):mb9%!56=-1 11700 mb9%!60=mf9%:$(mb9%+64)=m$(35) 11710 mb9%!76=du%(2):mb9%!80=-1 11720 mb9%!84=mf9%:$(mb9%+88)=m$(36) 11730 mb9%!100=du%(3):mb9%!104=-1 11740 mb9%!108=mf9%:$(mb9%+112)=m$(37) 11750 mb9%!124=lastitem%+du%(4):mb9%!128=-1 11760 mb9%!132=mf9%:$(mb9%+136)=m$(38) 11770 ENDPROC 11780 : 11790 DEF PROCmenublock9d:$mb9d%=m$(42) 11800 mb9d%?12=7:mb9d%?13=2:mb9d%?14=7:mb9d%?15=0 11810 mb9d%!16=52:mb9d%!20=44:mb9d%!24=0 11820 mb9d%!28=dd%(0):mb9d%!32=-1 11830 mb9d%!36=mf9%:$(mb9d%+40)=m$(35) 11840 mb9d%!52=dd%(1):mb9d%!56=-1 11850 mb9d%!60=mf9%:$(mb9d%+64)=m$(36) 11860 mb9d%!76=dd%(2):mb9d%!80=-1 11870 mb9d%!84=mf9%:$(mb9d%+88)=m$(38) 11880 mb9d%!100=dd%(3):mb9d%!104=-1 11890 mb9d%!108=mf9%:$(mb9d%+112)=m$(43) 11900 mb9d%!124=lastitem%+dd%(4):mb9d%!128=-1 11910 mb9d%!132=mf9%:$(mb9d%+136)=m$(44) 11920 ENDPROC 11930 : 11940 DEF PROCmenublock11:$mb11%=m$(45) 11950 mb11%?12=7:mb11%?13=2:mb11%?14=7:mb11%?15=0 11960 mb11%!16=328:mb11%!20=44:mb11%!24=0 11970 mb11%!28=0:mb11%!32=-1 11980 mb11%!36=mf11%:mb11%!40=a11% 11990 mb11%!44=-1:mb11%!48=LEN($a11%) 12000 mb11%!52=lastitem%:mb11%!56=-1 12010 mb11%!60=mf11%:mb11%!64=b11% 12020 mb11%!68=-1:mb11%!72=LEN($b11%) 12030 ENDPROC 12040 : 12050 DEF PROCp1 12060 !p1%=16:p1%!4=-56:p1%!8=132:p1%!12=-12 12070 p1%!16=&2700013D:p1%!20=s1% 12080 p1%!24=-1:p1%!28=LEN($s1%) 12090 p1%!32=16:p1%!36=-56:p1%!40=100:p1%!44=-12 12100 p1%!48=&2700013D:p1%!52=s2% 12110 p1%!56=-1:p1%!60=LEN($s2%) 12120 ENDPROC 12130 : 12140 DEF PROCq1:p1%!4=pb%!24-56:p1%!12=pb%!24-12 12150 p1%!36=pb%!24-56:p1%!44=pb%!24-12:ENDPROC 12160 : 12170 DEF PROCp2 12180 !p2%=16:p2%!4=-56:p2%!8=100:p2%!12=-12 12190 p2%!16=&11D:p2%!20=s3% 12200 p2%!24=-1:p2%!28=LEN($s3%) 12210 p2%!32=16:p2%!36=-56:p2%!40=100:p2%!44=-12 12220 p2%!48=&700011D:p2%!52=s4% 12230 p2%!56=-1:p2%!60=LEN($s4%) 12240 ENDPROC 12250 : 12260 DEF PROCq2:p2%!4=pb%!24-56:p2%!12=pb%!24-12 12270 p2%!36=pb%!24-56:p2%!44=pb%!24-12:ENDPROC 12280 : 12290 DEF PROCp9 12300 !p9%=120:p9%!4=-132 12310 p9%!8=216:p9%!12=-76 12320 p9%!16=&700013D:p9%!20=s9% 12330 p9%!24=-1:p9%!28=LEN($s9%) 12340 ENDPROC 12350 : 12360 DEF PROCinit 12370 PROCvalues 12380 SYShs%,1 12390 PROCmemory 12400 PROCstrings 12410 PROCset 12420 PROCsprite 12430 SYSwi%,200,task%,des% TOversion%,th%:bh%=FNcreate_icon 12440 IF version%<300 r2%=TRUE 12450 !ccc%=&FFFFFF00:PROCsetcol 12460 w0h%=FNcreate_w0:!iw0%=w0h% 12470 w1h%=FNcreate_w1:!iw1%=w1h%:!wob%=w1h% 12480 IF r2% j7%=-408:f7%=-408 12490 w7h%=FNcreate_w7:!iw7%=w7h% 12500 w8h%=FNcreate_w8:!iw8%=w8h%:PROCreset(0,deleted%,6,7,8) 12510 w9h%=FNcreate_w9:!iw9%=w9h% 12520 PROCreadmode 12530 PROCdata 12540 PROCcolours 12550 PROCdd 12560 PROCshuffle 12570 PROCmenublock0 12580 PROCmenublock1 12590 PROCmenublock2 12600 PROCmenublock3 12610 PROCmenublock7 12620 PROCmenublock8 12630 PROCmenublock9 12640 PROCmenublock9d 12650 PROCmenublock11 12660 PROCp1 12670 PROCp2 12680 PROCp9 12690 PROCld7 12700 SYShf% 12710 ENDPROC 12720 : 12730 DEF PROCvalues:task%=&4B534154 12740 p80%=&8000:pY%=&10000:pZ%=&40000 12750 em%=&40000:hm%=&40600:ctm%=&40700 12760 hf%=hm%+&C1:hs%=hm%+&C3 12770 ctt%=ctm%+&40:crg%=ctm%+&42:cs%=ctm%+&43 12780 crn%=ctm%+&44:cn%=ctm%+&4C:crc%=ctm%+&5A 12790 wi%=em%+&C0:ww%=em%+&C1 12800 wj%=em%+&C2:wx%=em%+&C3 12810 wo%=em%+&C5:wc%=em%+&C6 12820 wr%=em%+&C8:wu%=em%+&C9 12830 wg%=em%+&CA:wws%=em%+&CB 12840 wsi%=em%+&CD 12850 wgp%=em%+&CF:wfr%=em%+&D1 12860 wcp%=em%+&D2 12870 wgc%=em%+&D3:wm%=em%+&D4 12880 wpk%=em%+&DC:wz%=em%+&DD 12890 wre%=em%+&DF:wpt%=em%+&E1 12900 wsm%=em%+&E3:wsg%=em%+&E7 12910 wwo%=em%+&E0:wpi%=em%+&E2 12920 osn%=&46:osp%=&45:rm%=&35 12930 sp%=&2E:sz%=&CCB4:sq%=&900 12940 i1%=0:j1%=-672:k1%=540:l1%=0 12950 e1%=i1%+370:f1%=j1%+808:g1%=k1%+370:h1%=l1%+808 12960 i4%=0:j4%=-976:k4%=1024:l4%=0:e4%=0:h4%=0:g4%=144:f4%=-144 12970 xra=2.8:yra=2.7:factor=0.29 12980 i2%=0:j2%=-44*16:k2%=124:l2%=0:e2%=0:f2%=0:g2%=0:h2%=0 12990 i7%=0:j7%=-616:k7%=280:l7%=0 13000 e7%=0:f7%=-616:g7%=280:h7%=0:mid7%=128 13010 i8%=0:j8%=-252:k8%=280:l8%=0 13020 e8%=0:f8%=-252:g8%=280:h8%=0 13030 i9%=0:j9%=-260:k9%=280:l9%=0 13040 e9%=0:f9%=-260:g9%=280:h9%=0 13050 width%=84:ppa%=&40+4:efp%=&C8+5 13060 rf%=&60:rfa%=rf%+4:rfr%=rf%+1:rfp%=rf%+5 13070 len%=0:sft%=0 13080 itf%=&11A 13090 txf%=&7000119 13100 bf%=&3000 13110 inf%=&700013D 13120 pf%=&81830 13130 shaded%=&400000 13140 mf%=&7000021 13150 mf11%=&7000121 13160 mfs11%=&7400121 13170 mf9%=&7000029 13180 if8%=&700F13D 13190 iff%=&701913B 13200 lastitem%=&80 13210 r2%=FALSE:nv%=TRUE 13220 scaled%=TRUE:right%=TRUE 13230 rto%=TRUE:rtl%=TRUE:rtd%=FALSE 13240 strip%=0:oldstrip%=0:indez%=0:oldindez%=0 13250 deleted%=&800000:cv%=&D5:acc%=0:mcc%=0:ycc%=0:kcc%=0 13260 x4%=132:bk%=FALSE:active%=FALSE:cleared%=FALSE 13270 uu%=0:vv%=0:wv%=0:up%=0:rhold%=0:ghold%=0:bhold%=0 13280 more%=0:rc%=0:xb%=0:yb%=0:xf%=0:yf%=0 13290 ENDPROC 13300 : 13310 DEF PROCmemory:DIM li% 1023:DIM lj% 1023 13320 DIM erb% 255:DIM pb% 255:DIM tb% 255 13330 DIM menu%(11):DIM msgb% 47:DIM ic% 8:DIM des% 11 13340 DIM iw0% 379:w0%=iw0%+4 13350 DIM iw1% 91:w1%=iw1%+4 13360 DIM iw2% 91:w2%=iw2%+4 13370 DIM iw4% 91:w4%=iw4%+4 13380 DIM iw7% 827:w7%=iw7%+4 13390 DIM iw8% 571:w8%=iw8%+4 13400 DIM iw9% 283:w9%=iw9%+4 13410 DIM null% 0:DIM dms% 8 13420 DIM rdt% 3:DIM gdt% 3:DIM bdt% 3 13430 DIM rht% 2:DIM ght% 2:DIM bht% 2 13440 DIM rbt% 8:DIM gbt% 8:DIM bbt% 8 13450 DIM vsd% 63:DIM vsh% 63:DIM vsb% 63 13460 DIM tx7% 11:DIM tx8% 11:DIM tc8% 5:DIM te8% 5 13470 DIM vx7% 8:DIM vx8% 8:DIM vd8% 8:DIM cap% 8:DIM vs9% 8 13480 DIM st1% 1:DIM st2% 1:DIM st3% 1:DIM st4% 1 13490 DIM str0% 3:DIM str1% 3:DIM str2% 3:DIM str3% 3:DIM str4% 3 13500 DIM store%(4):store%(0)=str0%:store%(1)=str1% 13510 store%(2)=str2%:store%(3)=str3%:store%(4)=str4% 13520 DIM pif% 19:DIM ip%(8,6) 13530 DIM rdec% 3:DIM gdec% 3:DIM bdec% 3 13540 DIM rhex% 2:DIM ghex% 2:DIM bhex% 2 13550 DIM rbin% 8:DIM gbin% 8:DIM bbin% 8 13560 DIM wob% 19:DIM ctb% 23:DIM sis% 15 13570 DIM w%(44,5):DIM n% 4 13580 DIM temp%(4):DIM x%(6):DIM y%(12) 13590 DIM dst% 199:DIM b0% 35 13600 DIM p1% 63:DIM p2% 63:DIM p9% 31:DIM fw%(4) 13610 DIM s1% 5:DIM s2% 3:DIM s3% 3:DIM s4% 3:DIM s9% 2 13620 DIM mb0% 123:DIM mb1% 99:DIM mb2% 123 13630 DIM mb3% 51:DIM mb7% 99:DIM mb8% 99 13640 DIM mb9% 147:DIM mb9d% 147:DIM mb11% 75 13650 DIM i%(3):DIM j3% 4:DIM k%(3) 13660 DIM du%(4):DIM dd%(4):DIM dv%(2):DIM dw%(2):DIM dx%(4) 13670 DIM colour% 6:DIM tint% 4:DIM sys_gcol% 4:DIM col_num% 6 13680 DIM red% 3:DIM green% 5:DIM blue% 4 13690 DIM cyan% 4:DIM magenta% 7:DIM yellow% 6:DIM key% 3 13700 DIM ll% 8:DIM tt% 8:DIM oo% 8:DIM nn% 8 13710 DIM rr% 8:DIM gg% 8:DIM bb% 8 13720 DIM aa% 8:DIM mm% 8:DIM yy% 8:DIM kk% 8 13730 DIM ccc% 3:DIM ddd% 3 13740 DIM cr% 3:DIM cg% 3:DIM cb% 3 13750 DIM cc% 3:DIM cm% 3:DIM cy% 3 13760 DIM c1% 3:DIM c2% 3:DIM c3% 3:DIM c7% 3:DIM c8% 3 13770 DIM bg% 3:DIM grey% 3 13780 DIM ss% 15:DIM bs% sz% 13790 DIM wt% 23:DIM wt$(5):DIM m$(55) 13800 DIM in1% 25:DIM in2% 24:DIM in3% 21 13810 DIM in4% 5:DIM in5% 8:DIM in6% 8:DIM in7% 7 13820 DIM a11% 20:DIM b11% 20 13830 ENDPROC 13840 : 13850 DEF PROCset:nt%=0:ot%=0:gn%=100:mt%=1:base%=&A 13860 icon%=TRUE:i%(0)=TRUE:i%(1)=TRUE:i%(2)=TRUE:i%(3)=TRUE 13870 k%(0)=37:k%(1)=38:k%(2)=39:k%(3)=40:$j3%=m$(1) 13880 str%=0:du%()=0:du%(0)=1:dv%()=0:dv%(0)=1:dw%()=0:dw%(0)=1:dx%()=0 13890 delay%=4:d9%=4:dd%()=0:dd%(2)=1 13900 str0%?0=0:str0%?1=&BB:str0%?2=&BB:str0%?3=&BB 13910 str1%?0=0:str1%?1=&AA:str1%?2=&AA:str1%?3=&AA 13920 str2%?0=0:str2%?1=&99:str2%?2=&99:str2%?3=&99 13930 str3%?0=0:str3%?1=&88:str3%?2=&88:str3%?3=&88 13940 str4%?0=0:str4%?1=&77:str4%?2=&77:str4%?3=&77 13950 $s9%="4":PROCzero:PROCrestore(&D5,4,rdt%,gdt%,bdt%) 13960 nmx%=6:nmy%=7:nmz%=8 13970 $tx7%=m$(16):$tx8%=m$(16):$tc8%=m$(22):$te8%=m$(23) 13980 $vx7%="Scxn,cxo":$vx8%="Scxn,cxo":$vd8%="Siof,ion" 13990 $cap%=m$(41):$vs9%="Ssrf,srn" 14000 $st1%=m$(35):$st2%=m$(36):$st3%=m$(37):$st4%=m$(38) 14010 xcn%=0:$null%=m$(39):$dms%="Sdmf,dmn" 14020 $colour%=m$(2):$tint%=m$(3):$sys_gcol%=m$(6):$col_num%=m$(7) 14030 $red%=m$(18):$green%=m$(19):$blue%=m$(20) 14040 $cyan%=m$(28):$magenta%=m$(29):$yellow%=m$(30):$key%=m$(31) 14050 $vsd%="A0-9":$vsh%="A0-9A-F":$vsb%="A01" 14060 $s1%=m$(26):$s2%=m$(27):$s3%=m$(24):$s4%=m$(25) 14070 $in1%=m$(48):$in2%=m$(49):$in3%=m$(50) 14080 $in4%=m$(52):$in5%=m$(53):$in6%=m$(54):$in7%=m$(55) 14090 wd$=m$(51):$a11%=m$(46):$b11%=m$(47) 14100 !msgb%=48:msgb%!12=0:msgb%!16=&400CC:msgb%!24=0 14110 $(msgb%+28)="bar"+CHR$(0) 14120 ENDPROC 14130 : 14140 DEF PROCzero 14150 $rdt%="0":$gdt%="0":$bdt%="0" 14160 $rht%="0":$ght%="0":$bht%="0" 14170 $rbt%="0":$gbt%="0":$bbt%="0" 14180 ENDPROC 14190 : 14200 DEF PROCstrings 14210 $ic%="icon_bar" 14220 $des%="Colour Cube" 14230 wt$(0)="256 Colour Display" 14240 wt$(1)="COLOUR/GCOL & TINT" 14250 wt$(2)="Operating System GCOL" 14260 wt$(3)="Logical Colour NUMBER" 14270 wt$(4)="BLUE�GREEN�RED (Hex.)" 14280 wt$(5)="for 256 colour mode use" 14290 im0$="Info." 14300 im1$="Entry" 14310 im2$="Clear" 14320 im3$="Quit" 14330 m$(0)="Options" 14340 m$(1)="Show" 14350 m$(2)="Colour" 14360 m$(3)="Tint" 14370 m$(4)="Designation" 14380 m$(5)="Col/Tint" 14390 m$(6)="GCOL" 14400 m$(7)="Number" 14410 m$(8)="B�G�R (&)" 14420 m$(9)="Scale" 14430 m$(10)="Scroll" 14440 m$(11)="Base" 14450 m$(12)="Right" 14460 m$(13)="Left" 14470 m$(14)="Title" 14480 m$(15)="Binary" 14490 m$(16)="Decimal" 14500 m$(17)="Hexadecimal" 14510 m$(18)="Red" 14520 m$(19)="Green" 14530 m$(20)="Blue" 14540 m$(21)="Off" 14550 m$(22)="Clear" 14560 m$(23)="Enter" 14570 m$(24)="RGB" 14580 m$(25)="CMY" 14590 m$(26)="Plain" 14600 m$(27)="ECF" 14610 m$(28)="Cyan" 14620 m$(29)="Magenta" 14630 m$(30)="Yellow" 14640 m$(31)="Key" 14650 m$(32)="Number��P" 14660 m$(33)="Store" 14670 m$(34)="0" 14680 m$(35)="1" 14690 m$(36)="2" 14700 m$(37)="3" 14710 m$(38)="4" 14720 m$(39)="" 14730 m$(40)="ACTIVE" 14740 m$(41)="Capture" 14750 m$(42)="Delay" 14760 m$(43)="8" 14770 m$(44)="16" 14780 m$(45)="change mode?" 14790 m$(46)="15 (TV standard-RGB)" 14800 m$(47)="28 (Multiscan / VGA)" 14810 m$(48)="256-colour option utility" 14820 m$(49)="� Acorn Archimedes World" 14830 m$(50)="3.10 (July 1994)" 14840 m$(51)="<ColourCube$Dir>." 14850 m$(52)="Name:" 14860 m$(53)="Purpose:" 14870 m$(54)="Version:" 14880 m$(55)="Notice:" 14890 ENDPROC 14900 : 14910 DEF PROCsprite:!bs%=sz%:bs%!8=16:SYSsp%,&109,bs% 14920 SYSsp%,&10A,bs%,wd$+"visual" 14930 SYSsp%,&118,bs%,"Hex256"TO,,hx% 14940 SYSsp%,&118,bs%,"qt"TO,,qt% 14950 SYSsp%,&118,bs%,"t0"TO,,t0% 14960 SYSsp%,&118,bs%,"t37"TO,,t37% 14970 SYSsp%,&118,bs%,"t38"TO,,t38% 14980 SYSsp%,&118,bs%,"t39"TO,,t39% 14990 SYSsp%,&118,bs%,"t40"TO,,t40% 15000 SYSsp%,&118,bs%,"t7"TO,,t7% 15010 SYSsp%,&118,bs%,"t8"TO,,t8% 15020 SYSsp%,&118,bs%,"t9"TO,,t9% 15030 SYSsp%,&118,bs%,"iof"TO,,iof% 15040 SYSsp%,&118,bs%,"ion"TO,,ion% 15050 SYSsp%,&118,bs%,"dmn"TO,,dmn% 15060 SYSsp%,&118,bs%,"cxn"TO,,cxn% 15070 SYSsp%,&118,bs%,"cxo"TO,,cxo% 15080 SYSsp%,&118,bs%,"dmf"TO,,dmf% 15090 SYSsp%,&118,bs%,"srf"TO,,srf% 15100 SYSsp%,&118,bs%,"srn"TO,,srn% 15110 ENDPROC 15120 : 15130 DEF FNcreate_icon 15140 !b0%=-1:b0%!4=0:b0%!8=0:b0%!12=64:b0%!16=72 15150 b0%!20=&3102:b0%!24=ic%:b0%!28=1 15160 b0%!32=LEN($ic%):SYSwj%,,b0% TO handle% 15170 =handle% 15180 : 15190 DEF FNcreate_w1 15200 w1%!0=e1%:w1%!4=f1%:w1%!8=g1%:w1%!12=h1% 15210 w1%!16=0:w1%!20=0:w1%!24=-1:w1%!28=&FF000002 15220 w1%?32=7:w1%?33=2:w1%?34=7:w1%?35=&FF 15230 w1%?36=3:w1%?37=1:w1%?38=12:w1%?39=0 15240 w1%!40=i1%:w1%!44=j1%:w1%!48=k1%:w1%!52=l1% 15250 w1%!56=&119:w1%!60=bf%:w1%!64=1:w1%!68=68:w1%!70=108 15260 w1%!72=wt%:w1%!76=-1:w1%!80=LEN($wt%):w1%!84=0 15270 SYS ww% ,,w1% TO handle% 15280 =handle% 15290 : 15300 DEF FNcreate_w0 15310 w0%!0=0:w0%!4=-240:w0%!8=598:w0%!12=0 15320 w0%!16=0:w0%!20=0:w0%!24=-1:w0%!28=&87000012 15330 w0%?32=7:w0%?33=2:w0%?34=7:w0%?35=1 15340 w0%?36=3:w0%?37=1:w0%?38=12:w0%?39=0 15350 w0%!40=0:w0%!44=-240:w0%!48=598:w0%!52=0 15360 w0%!56=itf%:w0%!60=0:w0%!64=bs%:w0%!68=598 15370 w0%!70=240:w0%!72=t0%:w0%!76=bs%:w0%!80=0:w0%!84=9 15380 w0%!88=252:w0%!92=-80:w0%!96=592:w0%!100=-28 15390 w0%!104=inf%:w0%!108=des%:w0%!112=-1:w0%!116=LEN($des%) 15400 w0%!120=160:w0%!124=-132:w0%!128=592:w0%!132=-84 15410 w0%!136=inf%:w0%!140=in1%:w0%!144=-1:w0%!148=LEN($in1%) 15420 w0%!152=160:w0%!156=-184:w0%!160=592:w0%!164=-136 15430 w0%!168=inf%:w0%!172=in3%:w0%!176=-1:w0%!180=LEN($in3%) 15440 w0%!184=160:w0%!188=-236:w0%!192=592:w0%!196=-188 15450 w0%!200=inf%:w0%!204=in2%:w0%!208=-1:w0%!212=LEN($in2%) 15460 w0%!216=48:w0%!220=-76:w0%!224=118:w0%!228=-12 15470 w0%!232=&1701913B:w0%!236=null%:w0%!240=dms%:w0%!244=1 15480 w0%!248=160:w0%!252=-80:w0%!256=248:w0%!260=-28 15490 w0%!264=&7000311:w0%!268=in4%:w0%!272=-1:w0%!276=LEN($in4%) 15500 w0%!280=6:w0%!284=-132:w0%!288=156:w0%!292=-84 15510 w0%!296=&7000311:w0%!300=in5%:w0%!304=-1:w0%!308=LEN($in5%) 15520 w0%!312=6:w0%!316=-184:w0%!320=156:w0%!324=-136 15530 w0%!328=&7000311:w0%!332=in6%:w0%!336=-1:w0%!340=LEN($in6%) 15540 w0%!344=6:w0%!348=-236:w0%!352=156:w0%!356=-188 15550 w0%!360=&7000311:w0%!364=in7%:w0%!368=-1:w0%!372=LEN($in7%) 15560 SYS ww%,,w0% TO handle% 15570 =handle% 15580 : 15590 DEF PROCdemo 15600 IF mi%=4 ELSE ENDPROC 15610 SYShs%,1:PROCshut:SYSwc%,,iw1%:SYSwc%,,iw0%:cleared%=FALSE 15620 width%=84:uu%=0:dx%()=0:dx%(uu%)=1 15630 IF go% $wt%=wt$(uu%) ELSE$wt%=wt$(5) 15640 scaled%=FALSE:$(mb1%+64)=m$(10):PROCmenublock2 15650 FOR it%=0 TO 36 15660 j2%=-44*(w%(it%,4)+1):w%(it%,1)=FNcreate_w2 15670 NEXT it% 15680 PROCreconstruct(38) 15690 w1%!0=xxx%:w1%!4=yyy%+j1%:w1%!8=xxx%+526:w1%!12=yyy% 15700 w1%!16=0:w1%!20=0:w1%!24=-1:SYSwo%,,iw1% 15710 FOR it%=30 TO 36 15720 PROCreconstruct(it%):iw2%!0=w%(display%,1) 15730 w2%!0=xxx%:w2%!8=xxx%+width% 15740 w2%!12=yyy%:w2%!4=yyy%-44*(w%(display%,4)+1) 15750 w2%!24=-1:SYSwo%,,iw2% 15760 NEXT it% 15770 FOR it%=29 TO 0 STEP -1 15780 PROCreconstruct(it%):iw2%!0=w%(display%,1) 15790 w2%!0=xxx%:w2%!8=xxx%+width% 15800 w2%!12=yyy%:w2%!4=yyy%-44*(w%(display%,4)+1) 15810 w2%!24=-1:SYSwo%,,iw2% 15820 NEXT it% 15830 SYShf%:ENDPROC 15840 : 15850 DEF PROCreconstruct(kt%):display%=?(dst%+(kt%*5)) 15860 xhigh%=?(dst%+(kt%*5)+1):xlow%=?(dst%+(kt%*5)+2) 15870 yhigh%=?(dst%+(kt%*5)+3):ylow%=?(dst%+(kt%*5)+4) 15880 xxx%=xlow%+(&100*xhigh%):yyy%=ylow%+(&100*yhigh%) 15890 ENDPROC 15900 : 15910 DEF PROCdd 15920 demo%=OPENIN(wd$+"Demo") 15930 PTR#demo%=0 15940 FOR it%=0 TO 199 15950 dst%?it%=BGET#demo% 15960 NEXT it% 15970 CLOSE#demo% 15980 ENDPROC 15990 : 16000 DEF PROCerror 16010 !erb%=ERR 16020 $(erb%+4)=REPORT$+"(internal error code "+STR$ERL+")"+CHR$(0) 16030 SYSwre%,erb%,&11,"shock horror crash" 16040 END:ENDPROC 16050 : 16060 DEF PROCcolours 16070 colours%=OPENIN(wd$+"Colours") 16080 PTR#colours%=0 16090 FOR it%=0 TO 255 16100 ?(li%+(4*it%)+3)=BGET#colours% 16110 ?(lj%+(4*it%)+3)=BGET#colours% 16120 NEXT it% 16130 CLOSE#colours%:ENDPROC 16140 : 16150 DEF PROCshuffle 16160 FOR it%=0 TO &FF 16170 fl%=(4*it%)+3 16180 PROCscramble(?(li%+fl%)) 16190 FOR jt%=0 TO 3 16200 ?(li%+(4*it%)+jt%)=temp%(jt%) 16210 NEXT jt% 16220 PROCscramble(?(lj%+fl%)) 16230 FOR jt%=0 TO 3 16240 ?(lj%+(4*it%)+jt%)=temp%(jt%) 16250 NEXT jt% 16260 NEXT it% 16270 ENDPROC 16280 : 16290 DEF PROCscramble(bits%):temp%()=0:temp%(4)=bits% 16300 temp%(0)=temp%(4)AND&3:temp%(0)=(temp%(0))OR(temp%(0)<<4) 16310 temp%(1)=temp%(4)AND12:temp%(1)=(temp%(1))OR(temp%(1)<<4) 16320 temp%(2)=temp%(4)AND&30:temp%(2)=(temp%(2)>>>2)OR(temp%(2)<<2) 16330 temp%(3)=temp%(4)AND&C0:temp%(3)=(temp%(3))OR(temp%(3)>>>4) 16340 temp%(1)=(temp%(1))OR(temp%(0)):temp%(2)=(temp%(2))OR(temp%(0)) 16350 temp%(3)=(temp%(3))OR(temp%(0)):temp%(0)=0:ENDPROC 16360 : 16370 DEF FNpointcol(temp%(0),temp%(4)) 16380 temp%(4)=(temp%(4)AND&C0)>>>6 16390 temp%(1)=(temp%(0)AND&3)<<2:temp%(1)=temp%(1)ORtemp%(4) 16400 temp%(1)=temp%(1)OR(temp%(1)<<4) 16410 temp%(2)=temp%(0)AND&C:temp%(2)=temp%(2)ORtemp%(4) 16420 temp%(2)=temp%(2)OR(temp%(2)<<4) 16430 temp%(3)=(temp%(0)AND&30)>>>2:temp%(3)=temp%(3)ORtemp%(4) 16440 temp%(3)=temp%(3)OR(temp%(3)<<4) 16450 ddd%?3=temp%(3):ddd%?(2)=temp%(2) 16460 ddd%?1=temp%(1):ddd%?0=0 16470 =!ddd% 16480 : 16490 DEF PROCdn 16500 ENDPROC 16510 : 16520 DEF PROCdata 16530 FOR it%=0 TO 44 16540 w%(it%,0)=0:w%(it%,1)=p80% 16550 NEXT it% 16560 index%=0:w%(0,4)=&F:w%(0,5)=index%:index%=index%+16 16570 FOR it%=1 TO 6 16580 w%(it%,4)=11:w%(it%,5)=index%:index%=index%+12 16590 NEXT it% 16600 FOR it%=7 TO 18 16610 w%(it%,4)=7:w%(it%,5)=index%:index%=index%+8 16620 NEXT it% 16630 FOR it%=19 TO 36 16640 w%(it%,4)=3:w%(it%,5)=index%:index%=index%+4 16650 NEXT it% 16660 FOR it%=0 TO 6 16670 x%(it%)=48+(it%*74) 16680 NEXT it% 16690 FOR it%=0 TO 12 16700 y%(it%)=j1%+(it%+1)*48 16710 NEXT it% 16720 RESTORE 16730 FOR it%=0 TO 44 16740 FOR jt%=2 TO 3 16750 READ w%(it%,jt%) 16760 NEXT jt% 16770 NEXT it% 16780 FOR it%=0 TO 8 16790 FOR jt%=0 TO 6 16800 READ ip%(it%,jt%) 16810 NEXT jt% 16820 NEXT it% 16830 ENDPROC 16840 : 16850 DATA x%(3),y%(6),x%(4),y%(7),x%(3),y%(8) 16860 DATA x%(2),y%(7),x%(2),y%(5),x%(3),y%(4) 16870 DATA x%(4),y%(5),x%(5),y%(8),x%(4),y%(9) 16880 DATA x%(3),y%(10),x%(2),y%(9),x%(1),y%(8) 16890 DATA x%(1),y%(6),x%(1),y%(4),x%(2),y%(3) 16900 DATA x%(3),y%(2),x%(4),y%(3),x%(5),y%(4) 16910 DATA x%(5),y%(6),x%(6),y%(9),x%(5),y%(10) 16920 DATA x%(4),y%(11),x%(3),y%(12),x%(2),y%(11) 16930 DATA x%(1),y%(10),x%(0),y%(9),x%(0),y%(7) 16940 DATA x%(0),y%(5),x%(0),y%(3),x%(1),y%(2) 16950 DATA x%(2),y%(1),x%(3),y%(0),x%(4),y%(1) 16960 DATA x%(5),y%(2),x%(6),y%(3),x%(6),y%(5) 16970 DATA x%(6),y%(7),x%(1),y%(12),x%(0),y%(11) 16980 DATA x%(0),y%(1),x%(1),y%(0),x%(5),y%(12) 16990 DATA x%(6),y%(11),x%(5),y%(0),x%(6),y%(1) 17000 DATA 6,6,9,12,8,7,3 17010 DATA 7,7,10,13,6,8,3 17020 DATA 8,8,11,14,7,6,3 17030 DATA 9,6,9,12,11,10,2 17040 DATA 10,7,10,13,9,11,2 17050 DATA 11,8,11,14,10,9,2 17060 DATA 12,6,9,12,14,13,8 17070 DATA 13,7,10,13,12,14,8 17080 DATA 14,8,11,14,13,12,8 17090
�>!RunImage �EMBER THE ALAMO! �init ( : 2 � � �error < : F � P șwpt%,pf%,pb%,ot% � rc% Z Ȏ rc% � d � 0:� active% �pointer n � 1:�redraw x � 2:�open � � 3:�close � � 6:�mouse � � 8:�process � � 9:�mst � � &11,&12:�message � � � � � � : � � �open:fw%()=�:Ȏ !pb% � � �w%(37,1):fw%(0)=� � �w%(38,1):fw%(1)=� � �w%(39,1):fw%(2)=� � �w%(40,1):fw%(3)=� �w7h%:fw%(4)=� �:șwo%,,pb%:� : "& � �redraw:icon%=�:� nv% �readmode , Ȏ !pb% � 6 � w1h%:�d1 @ � w7h% J% � r2% �d72(fw%(4)) � �d7(fw%(4)) T fw%(4)=� ^ � w8h%:�d8 h � w9h%:�d9(active%) r5 � w%(37,1):bx%=p2%:!c1%=!cr%:!c2%=!cg%:!c3%=!cb% |# �d3(fw%(0),i%(0),0,1):fw%(0)=� �8 � w%(38,1):bx%=p2%+32:!c1%=!cc%:!c2%=!cy%:!c3%=!cm% �+ �d3(fw%(1),i%(1),&FFFFFF00,2):fw%(1)=� �4 � w%(39,1):bx%=p1%:�d4(fw%(2),i%(2),0):fw%(2)=� �: � w%(40,1):bx%=p1%+32:�d4(fw%(3),i%(3),&100):fw%(3)=� � it%=0 � � �' � (!pb%=w%(it%,1)) �ds(it%):it%=36 � it%+=1 � � it%=37 � �:� � : � � �d1:șwr%,,pb%�more% �? pb%!4=i1%:pb%!8=j1%:pb%!12=k1%:pb%!16=l1%:șwu%,,pb%�more% � scaled% � E !ss%=pb%!12-pb%!4:ss%!4=pb%!16-pb%!8:sc%=ss%:xc%=pb%!4:yc%=pb%!8 5 � sc%=0:xc%=pb%!4-pb%!&14:yc%=pb%!16+j1%-pb%!&18 & �:ȕ more% 0, șsp%,&234,bs%,hx%,xc%,yc%,0,sc%,table% : șwg%,,pb%�more%:�:� D : N5 � �ds(it%):șwr%,,pb% �more%:xc%=pb%!4:yc%=pb%!8 XJ xcg%=xc%+&A:xct%=xc%+&36:xcn%=xc%+&12:ncol%=w%(it%,4):icol%=w%(it%,5) b/ � (it%=strip%) �rtl% �rto% rtd%=� � rtd%=� l ȕ more% v yd%=yc% � � rt%=ncol% � 0 � -1 �% �(yd%>(pb%!32-44))�(yd%<pb%!40)� �! yp%=yd%+32:xl%=(icol%+rt%)*4 �: șcs%,!(li%+xl%),,,&100,0 � gcol%:șosp%,rfa%,xc%,yd% �9 șosp%,rfr%,width%,44:șcs%,!(lj%+xl%),,,0,0 � tcol% � Ȏ uu% � � � 1:�coltint � � 2:�gcol � � 3:�number � � 4:�hex � � �2 �(rt%=w%(it%,0)) �rtd% ȓ xc%,yd%,width%-2,42 � � yd%+=44 � rt% șwg%,,pb%� more% �:� * : 4 � �coltint >* col%=(gcol%�&FC)>>>2:tn%=(gcol%�3)<<6 H $n%=�(col%):len%=�($n%) R �(len%=1)sft%=8 � sft%=0 \ șosp%,ppa%,xcg%+sft%,yp% f șosn%,n%,len% p $n%=�(tn%):len%=�($n%) z Ȏlen%� � �1:sft%=&18 � �2:sft%=12 � sft%=0 � � �- șosp%,ppa%,xct%+sft%,yp%:șosn%,n%,len% � � � : � � �gcol � $n%=�(gcol%):len%=�($n%) � Ȏlen%� � �1:sft%=16 � �2:sft%=8 � sft%=0 � - șosp%,ppa%,xcn%+sft%,yp%:șosn%,n%,len% � $ : . � �number 8/ șcn%,gcol% � num%:$n%=�(num%):len%=�($n%) B Ȏlen%� L �1:sft%=16 V �2:sft%=8 ` sft%=0 j � t- șosp%,ppa%,xcn%+sft%,yp%:șosn%,n%,len% ~ � � : � � �hex �& val%=?(li%+xl%+3):ș&D1,val%,n%,4 �& șosp%,ppa%,xc%+8,yp%:șosn%,n%,2 �& val%=?(li%+xl%+2):ș&D1,val%,n%,4 �' șosp%,ppa%,xc%+46,yp%:șosn%,n%,2 �& val%=?(li%+xl%+1):ș&D1,val%,n%,4 �' șosp%,ppa%,xc%+84,yp%:șosn%,n%,2 � � � : �3 � �d3(flw%,icon%,!bg%,act%):șwr%,,pb% � more% �B � flw% pb%!4=0:pb%!8=j4%:pb%!12=k4%:pb%!16=0:șwu%,,pb%�more% �q2 , xsize%=pb%!12-pb%!4:ysize%=pb%!16-pb%!8 # xoff%=xsize%/xra:xof3%=xoff%/3 + yoff%=ysize%/yra:ycent%=pb%!8+ysize%/2 (> yfact%=yoff%*factor:yc1%=ycent%-yfact%:yc2%=ycent%+yfact% 2$ yo1%=yc1%+yoff%:yo2%=yc2%+yoff% <8 xc2%=pb%!4+xsize%/2:xc1%=xc2%-xof3%:xc3%=xc2%+xof3% F4 xo1%=xc1%+xoff%:xo2%=xc2%+xoff%:xo3%=xc3%+xoff% P ȕ more% Z șcs%,!bg%,,,0,0 � tcol% d șosp%,ppa%,pb%!28,pb%!32 n șosp%,rfp%,pb%!36,pb%!40 x șcs%,!c1%,,,0,act% � tcol% � șosp%,ppa%,xc1%,yc1% � șosp%,ppa%,xo1%,yc1% � șosp%,efp%,xc1%,yo1% � șcs%,!c2%,,,0,act% � tcol% � șosp%,ppa%,xc2%,yc2% � șosp%,ppa%,xo2%,yc2% � șosp%,efp%,xc2%,yo2% � șcs%,!c3%,,,0,act% � tcol% � șosp%,ppa%,xc3%,yc1% � șosp%,ppa%,xo3%,yc1% � șosp%,efp%,xc3%,yo1% � � icon% șwpi%,,bx% � șwg%,,pb% � more% �:� : / � �d4(flw%,icon%,fill%):șwr%,,pb% � more% "B � flw% pb%!4=0:pb%!8=j4%:pb%!12=k4%:pb%!16=0:șwu%,,pb%�more% , �q1:ȕ more% 68 vaxn%=pb%!28:vayn%=pb%!32:vaxm%=pb%!36:vaym%=pb%!40 @" șcs%,!ccc%,,,fill%,0 � tcol% J șosp%,ppa%,vaxn%,vayn% T șosp%,rfp%,vaxm%,vaym% ^ � icon% șwpi%,,bx% h șwg%,,pb% � more% r �:� | : �# � �d7(flw%):șwr%,,pb% � more% �B � flw% pb%!4=0:pb%!8=j7%:pb%!12=k7%:pb%!16=0:șwu%,,pb%�more% � yc%=pb%!16+j7%-pb%!24 � ȕ more% �0 � pb%!28>(pb%!4+6) xc%=pb%!28 � xc%=pb%!4+6 �2 � pb%!36<(pb%!12-6) xd%=pb%!36 � xd%=pb%!12-6 �B yt%=yc%+4:�(yt%>(pb%!32-44))�(yt%<pb%!40) �d7a(&55555500,yt%) �C yt%=yc%+56:�(yt%>(pb%!32-44))�(yt%<pb%!40) �d7a(&77FFFF00,yt%) �D yt%=yc%+108:�(yt%>(pb%!32-44))�(yt%<pb%!40) �d7a(&EEAAEE00,yt%) �D yt%=yc%+160:�(yt%>(pb%!32-44))�(yt%<pb%!40) �d7a(&FFFF3300,yt%) �D yt%=yc%+212:�(yt%>(pb%!32-44))�(yt%<pb%!40) �d7a(&FFBB7700,yt%) �D yt%=yc%+264:�(yt%>(pb%!32-44))�(yt%<pb%!40) �d7a(&77FF7700,yt%) �D yt%=yc%+316:�(yt%>(pb%!32-44))�(yt%<pb%!40) �d7a(&7777FF00,yt%) D yt%=yc%+368:�(yt%>(pb%!32-44))�(yt%<pb%!40) �d7a(&FFBBBB00,yt%) D yt%=yc%+420:�(yt%>(pb%!32-44))�(yt%<pb%!40) �d7a(&BBBBFF00,yt%) D yt%=yc%+472:�(yt%>(pb%!32-44))�(yt%<pb%!40) �d7a(&CCCCCC00,yt%) &D yt%=yc%+524:�(yt%>(pb%!32-44))�(yt%<pb%!40) �d7a(&22EEAA00,yt%) 0 șwg%,,pb% � more% : �:� D : N$ � �d72(flw%):șwr%,,pb% � more% XB � flw% pb%!4=0:pb%!8=j7%:pb%!12=k7%:pb%!16=0:șwu%,,pb%�more% b yc%=pb%!16+j7%-pb%!24 l ȕ more% v0 � pb%!28>(pb%!4+6) xc%=pb%!28 � xc%=pb%!4+6 �2 � pb%!36<(pb%!12-6) xd%=pb%!36 � xd%=pb%!12-6 �B yt%=yc%+4:�(yt%>(pb%!32-44))�(yt%<pb%!40) �d7a(&FFBB7700,yt%) �C yt%=yc%+56:�(yt%>(pb%!32-44))�(yt%<pb%!40) �d7a(&77FF7700,yt%) �D yt%=yc%+108:�(yt%>(pb%!32-44))�(yt%<pb%!40) �d7a(&7777FF00,yt%) �D yt%=yc%+160:�(yt%>(pb%!32-44))�(yt%<pb%!40) �d7a(&FFBBBB00,yt%) �D yt%=yc%+212:�(yt%>(pb%!32-44))�(yt%<pb%!40) �d7a(&BBBBFF00,yt%) �D yt%=yc%+264:�(yt%>(pb%!32-44))�(yt%<pb%!40) �d7a(&CCCCCC00,yt%) �D yt%=yc%+316:�(yt%>(pb%!32-44))�(yt%<pb%!40) �d7a(&22EEAA00,yt%) � șwg%,,pb% � more% � �:� � : � � �d7a(!c7%,y7%) � șcs%,!c7%,,,&100,0 � gcol% șosp%,rfa%,xc%,y7% șosp%,rfp%,xd%,y7%+42 � : *' � �d8:șwr%,,pb% � more%:yc%=pb%!8 4 ȕ more% >0 � pb%!28>(pb%!4+6) xc%=pb%!28 � xc%=pb%!4+6 H4 � pb%!36<(pb%!4+118) xd%=pb%!36 � xd%=pb%!4+118 RC yt%=yc%+56:�(yt%>(pb%!32-44))�(yt%<pb%!40) �d8a(&FFBB7700,yt%) \D yt%=yc%+108:�(yt%>(pb%!32-44))�(yt%<pb%!40) �d8a(&77FF7700,yt%) fD yt%=yc%+160:�(yt%>(pb%!32-44))�(yt%<pb%!40) �d8a(&7777FF00,yt%) p șwg%,,pb% � more% z �:� � : � � �d8a(!c8%,y8%) � șcs%,!c8%,,,&100,0 � gcol% � șosp%,rfa%,xc%,y8% � șosp%,rfp%,xd%,y8%+42 � � � : �$ � �d9(icon%):șwr%,,pb% � more% � ȕ more% �8 vaxn%=pb%!28:vayn%=pb%!32:vaxm%=pb%!36:vaym%=pb%!40 �) șcs%,!store%(str%),,,&100,0 � gcol% � șosp%,ppa%,vaxn%,vayn% � șosp%,rfp%,vaxm%,vaym% � icon% șwpi%,,p9% șwg%,,pb% � more% �:� $ : . � �close 8 Ȏ !pb% � B � w1h%:șwc%,,pb% L � w0h%:șwc%,,pb% V$ � w7h%:șwc%,,pb%:w%(41,1)=p80% `- � w8h%:șwc%,,pb%:w%(42,1)=p80%:Ȏ wv% � j! � 0:�read(&A,rdt%,gdt%,bdt%) t! � 1:�read(16,rht%,ght%,bht%) ~ � 2:�read(2,rbt%,gbt%,bbt%) � �read(&A,rdt%,gdt%,bdt%) � �:�mod �" � w9h%:active%=�:$cap%=m$(41) �8 �set9(0,&7000000,&F000000):șwc%,,pb%:w%(44,1)=p80% � it%=0 � � � �(w%(it%,1)=!pb%)� �% șwx%,,pb%:w%(it%,1)=p80%:it%=40 � �:it%+=1 � � it%=41 � �:� � : � �mouse:�mousestate(pb%) �(ms%�2)�menu � �click � : ( � �pif:șwgp%,,pif% 2 �mousestate(pif%):� < : F � �mousestate(msb%) P< mx%=!msb%:my%=msb%!4:ms%=msb%!8:mh%=msb%!12:mi%=msb%!16 Z � (ms% � 1) bk%=� � bk%=� d � n : x � �click � Ȏmh%� � �w1h%:�position � �w7h%:�ck7 � �w8h%:�ck8 � �w9h%:�ck9 � �-2:�wib � �w%(37,1):�dn � �w%(38,1):�dn � �w%(39,1):�dn � �w%(40,1):�dn � �cc � �:� � : � �position:șwws%,,iw1% �scaled%� * cx%=(mx%-iw1%!4)*k1%/(iw1%!12-iw1%!4) ", csy%=(my%-iw1%!16)*j1%/(iw1%!8-iw1%!16) , � 6 cx%=mx%+iw1%!&14-iw1%!4 @ csy%=my%+iw1%!&18-iw1%!16 J � T Ȏ �which � ^# � 43:�shut:� bk% � șwc%,,iw1% h � 45:�dn r :�check:�ladder | �:� � : � � �which:xy%=0:it%=45 � � �) qx%=cx%-w%(xy%,2):qy%=csy%-w%(xy%,3) � qxy%=qx%*qx%+qy%*qy% � � (qxy%<sq%) it%=xy%:xy%=44 � xy%+=1 � � xy%=45 � =it% � : � � �check:ck%=� � � w%(it%,1)=p80% � � � șwws%,,iw1%:ck%=� Ȏ � � % � (it%<37):j2%=-44*(w%(it%,4)+1) h2%=iw1%!16:f2%=h2%+j2% & � right% � 0! e2%=iw1%!12+2:g2%=e2%+width% : � D g2%=iw1%!4-2:e2%=g2%-width% N � X w%(it%,1)=�create_w2 b � (36<it%) � (it%<41) l h4%=iw1%!16:f4%=h4%-156 v � right% � � e4%=iw1%!12+2:g4%=e4%+144 � � � g4%=iw1%!4-42:e4%=g4%-144 � � � w%(it%,1)=�create_w4 � � (it%=41) � h7%=iw1%!16:f7%=h7%-616 � � right% � � e7%=iw1%!12+2:g7%=e7%+280 � � � g7%=iw1%!4-42:e7%=g7%-280 � � �2 iw7%!4=e7%:iw7%!8=f7%:iw7%!12=g7%:iw7%!16=h7% w%(41,1)=w7h% � (it%=42) h8%=iw1%!16:f8%=h8%-252 � right% � * e8%=iw1%!12+2:g8%=e8%+280 4 � > g8%=iw1%!4-2:e8%=g8%-280 H � R2 iw8%!4=e8%:iw8%!8=f8%:iw8%!12=g8%:iw8%!16=h8% \ w%(42,1)=w8h% f � (it%=44) p h9%=iw1%!16:f9%=h9%-260 z � right% � � e9%=iw1%!12+2:g9%=e9%+280 � � � g9%=iw1%!4-2:e9%=g9%-280 � � �2 iw9%!4=e9%:iw9%!8=f9%:iw9%!12=g9%:iw9%!16=h9% � w%(44,1)=w9h% � � � � � : � � �ladder � Ȏ � � � � (it%<37) � iw2%!0=w%(it%,1) șwws%,,iw2% " � bk% iw2%!28=-2 � iw2%!28=-1 șwo%,,iw2% $ � (36<it%) � (it%<41) . !iw4%=w%(it%,1) 8 șwws%,,iw4% B" � bk% iw4%!28=-2 � iw4%!28=-1 L șwo%,,iw4% V � (it%=41) ` � ck% șwws%,,iw7% j" � bk% iw7%!28=-2 � iw7%!28=-1 t șwo%,,iw7% ~ � (it%=42) � � ck% șwws%,,iw8% �" � bk% iw8%!28=-2 � iw8%!28=-1 � șwo%,,iw8% � � (it%=44) � � ck% șwws%,,iw9% �" � bk% iw9%!28=-2 � iw9%!28=-1 � șwo%,,iw9% � � � � � : � � �adjust � !iw2%=w%(it%,1) șwws%,,iw2% middle%=(iw2%!12+iw2%!4)/2 iw2%!4=middle%-width%/2 iw2%!12=iw2%!4+width% ( șwo%,,iw2% 25 șwfr%,w%(it%,1),i2%,(-44*(w%(it%,4)+1)),k2%,l2% < � F : P � �adjust1(lsp%,lind%) Z � w%(lsp%,1)=p80% � d< șwfr%,w%(lsp%,1),i2%,(-44*(lind%+1)),k2%,(-44*(lind%)) n � x : � � �wib:șwws%,,iw1% �" � bk% iw1%!28=-2 � iw1%!28=-1 �! �cleared%�restart:cleared%=� � șwo%,,iw1% � � � : � � �ck7 � � mi%=0 � � Ȏ vv% � � � 0:� bk% vv%=2 � vv%=1 � � 1:� bk% vv%=0 � vv%=2 � � 2:� bk% vv%=1 � vv%=0 � vv%=0 � �m7 � " � , : 6 � �ck8 @ Ȏ mi% � J � 0:up%=wv%:Ȏ up% � T � 0:� bk% wv%=2 � wv%=1 ^ � 1:� bk% wv%=0 � wv%=2 h � 2:� bk% wv%=1 � wv%=0 r wv%=0 | �:�m8 � � 1:�frus �# � (!ctb%=w8h%) � bk% șwcp%,-1 � � 2:�return � � � � � : � � �ck9 � Ȏ mi% � � � 0:� bk% � �@ � active% active%=�:$cap%=m$(41):�set9(0,&7000000,&F000000) � � �B � active% � active%=�:$cap%=m$(40):�set9(0,&B000000,&F000000) � � 8 ș&42 � ot%:ot%=ot%+gn%:d9%=delay%:$s9%=�(d9%):�r9d � 5:!ccc%=!store%(str%) �setcol:�ld7:�output &* rtl%=�:� rto% �adjust1(strip%,indez%) 0 : � bk% str%=0 � str%=mi% D �m9(str%) N � X � b : l& � �r9:șwfr%,w9h%,70,-208,k9%,0:� v : �* � �r9d:șwfr%,w9h%,120,-132,216,-76:� � : � � �mod �= rhold%=rhold%�&100:ghold%=ghold%�&100:bhold%=bhold%�&100 � � � : � � �sis(whh%) �! !sis%=whh%:sis%!4=0:sis%!8=0 � sis%!12=0:șwsi%,,sis% � � � : �; � �cc:match%=�:oldstrip%=strip%:oldindez%=indez%:it%=0 � � 0 � w%(it%,1)=mh% �match(it%):it%=37 � it%+=1 � it%=37 " � match% �setcol:�ld7:�output � * : 4 � �match(it%) > strip%=it% H iw2%!0=w%(it%,1) R șwws%,,iw2% \ yc%=iw2%!16-iw2%!24 f indez%=(yc%-my%)�44 p( � indez%>w%(it%,4) indez%=w%(it%,4) z w%(it%,0)=indez% � icol%=w%(it%,5) �$ !ccc%=!(li%+((icol%+indez%)*4)) � rtl%=� � �adjust1(strip%,indez%) �" �adjust1(oldstrip%,oldindez%) � match%=� � � � : � � �output � � it%=37 � 40 �4 � w%(it%,1)=p80% � șwfr%,w%(it%,1),0,j4%,k4%,0 � � it% �6 � w%(41,1)=p80% � șwfr%,w7h%,mid7%,j7%,k7%-6,-44 � : ; � �setcol:ș crg%,!ccc% � sgcol%:ș crn%,!ccc% � numb% $E rcol%=(sgcol% � &FC)>>>2:scol%=sgcol% � &FC:tnt%=(sgcol% � 3)<<6 .. ggcol%=(sgcol% � &3) � ((sgcol% � &3)<<4) 8: ?grey%=0:grey%?1=ggcol%:grey%?2=ggcol%:grey%?3=ggcol% B, rcc%=(sgcol% � 12) � ((sgcol% � 12)<<4) L4 gcc%=((sgcol% � &30)>>>2) � ((sgcol% � &30)<<2) V/ bcc%=((sgcol% � &C0)>>>4) � (sgcol% � &C0) `@ rrcc%=rcc% � ggcol%:ggcc%=gcc% � ggcol%:bbcc%=bcc% � ggcol% j; � r2% � șcrc%,rrcc%,ggcc%,bbcc% � acc%,mcc%,ycc%,kcc% t4 kcc%=kcc%-1:!cr%=!grey%:!cg%=!grey%:!cb%=!grey% ~0 !cc%=!grey% � &CCCCCC00:!cm%=!cc%:!cy%=!cc% �= cr%?1=cr%?1 � rcc%:cg%?2=cg%?2 � gcc%:cb%?3=cb%?3 � bcc% �4 kkc%=rcc% � &33:mkc%=gcc% � &33:ykc%=bcc% � &33 �= cc%?1=cc%?1 � kkc%:cm%?2=cm%?2 � mkc%:cy%?3=cy%?3 � ykc% � � � : � � �ld7 � șcv%,rcol%,ll%,9 � șcv%,tnt%,tt%,9 � șcv%,sgcol%,oo%,9 � șcv%,numb%,nn%,9 � șcv%,rrcc%,rr%,9 � șcv%,ggcc%,gg%,9 șcv%,bbcc%,bb%,9 șcv%,acc%,aa%,9 șcv%,mcc%,mm%,9 șcv%,ycc%,yy%,9 ( șcv%,kcc%,kk%,9 2 � < : F � �menu:menu%()=�:Ȏ mh% � P, �-2:menu%(0)=�:șwm%,,mb0%,mx%-&44,&128 Z �w1h%:� go% � d' menu%(1)=�:șwm%,,mb1%,mx%-&3C,my% n � x! � r2% mt%=1 � ș&58,1 � ,mt% � Ȏ mt% � � � 0:�m11(mf11%,mfs11%) � � 1:�m11(mf11%,mf11%) � � 2:�m11(mfs11%,mfs11%) � � 3:�m11(mfs11%,mf11%) � � 4:�m11(mfs11%,mf11%) � � 5:�m11(mfs11%,mfs11%) � :�m11(mf11%,mf11%) �+ �:menu%(11)=�:șwm%,,mb11%,mx%-&82,my% � � � � w%(37,1):menu%(3)=� �% � i%(0) $j3%=m$(1) � $j3%=m$(21) � șwm%,,mb3%,mx%-&3C,my% � w%(38,1):menu%(4)=� % � i%(1) $j3%=m$(1) � $j3%=m$(21) șwm%,,mb3%,mx%-&3C,my% " � w%(39,1):menu%(5)=� ,% � i%(2) $j3%=m$(1) � $j3%=m$(21) 6 șwm%,,mb3%,mx%-&3C,my% @ � w%(40,1):menu%(6)=� J% � i%(3) $j3%=m$(1) � $j3%=m$(21) T șwm%,,mb3%,mx%-&3C,my% ^. � w7h%:menu%(7)=�:șwm%,,mb7%,mx%-&4A,my% h. � w8h%:menu%(8)=�:șwm%,,mb8%,mx%-&4A,my% r � w9h%:�menu9 | � w0h%:menu%(0)=�:�demo �) menu%(2)=�:șwm%,,mb2%,mx%-&48,my% � �:� � : � � �menu9:� mi%=0 � �) menu%(10)=�:șwm%,,mb9d%,mx%-&28,my% � � �' menu%(9)=�:șwm%,,mb9%,mx%-&28,my% � � � � � : � � �m11(one%,two%) � mb11%!36=one% � mb11%!60=two% � : � �mst:�pif & Ȏ � � 0 � menu%(0):�m0 : � menu%(1):�m1 D � menu%(2):�m2(!pb%) N � bk% șwm%,,mb2%,0,0 X � menu%(3):�m4(0) b � menu%(4):�m4(1) l � menu%(5):�m4(2) v � menu%(6):�m4(3) � � menu%(7):vv%=!pb%:�m7 � � bk% șwm%,,mb7%,0,0 �$ � menu%(8):up%=wv%:wv%=!pb%:�m8 � � bk% șwm%,,mb8%,0,0 �# � menu%(9):str%=!pb%:�m9(str%) � � bk% șwm%,,mb9%,0,0 �$ � menu%(10):dd%()=0:dd%(!pb%)=1 � Ȏ !pb% � � � 0:delay%=1 � � 1:delay%=2 � � 2:delay%=4 � � 3:delay%=8 � � 4:delay%=16 delay%=4 � ( �menublock9d:� bk% șwm%,,mb9d%,0,0 � menu%(11):Ȏ !pb% � * � 0:șwsm%,15 4 � 1:șwsm%,28 > H �:� bk% șwm%,,mb11%,0,0 R � \ � f : p � �m0 z Ȏ !pb% � � � 1:�outline � � 2:�clear � � 3:�exit:�:� � � � � bk% șwm%,,mb0%,0,0 � � � : � � �outline � � rto%=� � � rto%=�:mb0%!60=mf% � � rto%=�:mb0%!60=mf%+4 � � �" �adjust1(strip%,w%(strip%,0)) � : � �m1:Ȏ !pb% � $ � 0:�m2(pb%!4) . � 1 8& � scaled%=� scaled%=� � scaled%=� B5 � scaled%=� $(mb1%+64)=m$(9) � $(mb1%+64)=m$(10) L: șwws%,,iw1%:�(w1%!28 �pZ%) � șwfr%,w1h%,0,j1%,k1%,0 V � 2 `# � right%=� right%=� � right%=� j5 � right%=� $(mb1%+88)=m$(12) � $(mb1%+88)=m$(13) t � ~ � bk% șwm%,,mb1%,0,0 � � � : � � �m2(sh%):Ȏ sh% � �) � 0:width%=112:� uu%=1:uu%=0 � uu%=1 �( � 1:width%=84:� uu%=2:uu%=0 � uu%=2 �( � 2:width%=84:� uu%=3:uu%=0 � uu%=3 �) � 3:width%=124:� uu%=4:uu%=0 � uu%=4 � uu%=0 � �:dx%()=0:dx%(uu%)=1 � � go% $wt%=wt$(uu%):�title � �menublock2:it%=0 � � � w%(it%,1)=p80% � �adjust it%+=1 � it%=37 � ( : 2 � �m4(m%) <: � i%(m%)=� i%(m%)=�:$j3%=m$(21) � i%(m%)=�:$j3%=m$(1) F0 !iw4%=w%(k%(m%),1):șwws%,,iw4%:y4%=iw4%!24 P � m%=2 x4%=132 � x4%=100 Z- șwfr%,w%(k%(m%),1),16,y4%-56,x4%,y4%-12 d � bk% șwm%,,mb3%,0,0 n � x : �2 � �m7:dv%()=0:dv%(vv%)=1:�menublock7:Ȏ vv% � � � 0:cv%=&D5:$tx7%=m$(16) � � 1:cv%=&D1:$tx7%=m$(17) � � 2:cv%=&DD:$tx7%=m$(15) � cv%=&D5:$tx7%=m$(16) � � �4 �ld7:�sis(w7h%):șwfr%,w7h%,mid7%,j7%,k7%-6,-44 � � � : �) � �m8:dw%()=0:dw%(wv%)=1:�menublock8 �* șwgc%,,ctb%:� (!ctb%=w8h%) șwcp%,-1 � Ȏ up% � �! � 0:�read(&A,rdt%,gdt%,bdt%) $ �reset(deleted%,deleted%,6,7,8) ! � 1:�read(16,rht%,ght%,bht%) & �reset(deleted%,deleted%,9,10,11) " � 2:�read(2,rbt%,gbt%,bbt%) ,' �reset(deleted%,deleted%,12,13,14) 6 �read(&A,rdt%,gdt%,bdt%) @$ �reset(deleted%,deleted%,6,7,8) J �:�mod T Ȏ wv% � ^' � 0:�restore(&D5,4,rdt%,gdt%,bdt%) h* $tx8%=m$(16):�reset(0,deleted%,6,7,8) r' � 1:�restore(&D1,3,rht%,ght%,bht%) |, $tx8%=m$(17):�reset(0,deleted%,9,10,11) �' � 2:�restore(&DD,9,rbt%,gbt%,bbt%) �- $tx8%=m$(15):�reset(0,deleted%,12,13,14) �% �restore(&D5,4,rdt%,gdt%,bdt%) �* $tx8%=m$(16):�reset(0,deleted%,6,7,8) � � �! � (!ctb%=w8h%) �caret(wv%+1) � �sis(w8h%):� � : � � �caret(ct%) � iz%=ip%((ctb%!4-6),ct%) � șwcp%,w8h%,iz%,-1,-1,-1,0 � � � : - � �read(base%,ptr%,ptg%,ptb%):Ȏ base% � � 2 1 � (47<?ptr%) � (?ptr%<50) � $ptr%="00000000" &1 � (47<?ptg%) � (?ptg%<50) � $ptg%="00000000" 01 � (47<?ptb%) � (?ptb%<50) � $ptb%="00000000" : � &A D* � (47<?ptr%) � (?ptr%<58) � $ptr%="0" N* � (47<?ptg%) � (?ptg%<58) � $ptg%="0" X* � (47<?ptb%) � (?ptb%<58) � $ptb%="0" b � 16 lI � ((47<?ptr%) � (?ptr%<58)) � ((64<?ptr%) � (?ptr%<71)) � $ptr%="00" vI � ((47<?ptg%) � (?ptg%<58)) � ((64<?ptg%) � (?ptg%<71)) � $ptg%="00" �I � ((47<?ptb%) � (?ptb%<58)) � ((64<?ptb%) � (?ptb%<71)) � $ptb%="00" �$ $ptr%="0":$ptg%="0":$ptb%="0" � � � ș&21,base%,ptr% � ,,rhold% � ș&21,base%,ptg% � ,,ghold% � ș&21,base%,ptb% � ,,bhold% � � � : �) � �restore(swi%,buf%,ptr%,ptg%,ptb%) � șswi%,rhold%,ptr%,buf% � șswi%,ghold%,ptg%,buf% � șswi%,bhold%,ptb%,buf% � � : ) � �reset(eor%,clear%,nmx%,nmy%,nmz%) * !sis%=w8h%:sis%!8=eor%:sis%!12=clear% sis%!4=nmx%:șwsi%,,sis% * sis%!4=nmy%:șwsi%,,sis% 4 sis%!4=nmz%:șwsi%,,sis% > � H : R7 � �set9(icon%,eor%,clear%):!sis%=w9h%:sis%!4=icon% \. sis%!8=eor%:sis%!12=clear%:șwsi%,,sis%:� f : p � �process z/ � !pb%=w8h% �kbd(pb%!&18) � șwpk%,pb%!&18 � � � : � � �kbd(kn%):Ȏ kn% � � � &188:�frus � � 13:�return � � &185:up%=wv%:wv%=0:�m8 � � &186:up%=wv%:wv%=1:�m8 � � &187:up%=wv%:wv%=2:�m8 � � &18F:�up � � &18E:�down � șwpk%,kn% � � � � : 4 � �frus:rhold%=0:ghold%=0:bhold%=0:șwgc%,,ctb% Ȏ wv% � $9 � 0:�restore(&D5,4,rdt%,gdt%,bdt%):�reset(0,0,6,7,8) .; � 1:�restore(&D1,3,rht%,ght%,bht%):�reset(0,0,9,10,11) 8< � 2:�restore(&DD,9,rbt%,gbt%,bbt%):�reset(0,0,12,13,14) B7 �restore(&D5,4,rdt%,gdt%,bdt%):�reset(0,0,6,7,8) L � V � (!ctb%=w8h%) �caret(0) ` � j : t � �up:șwgc%,,ctb% ~ � (!ctb%=w8h%) �caret(4) � � � : � � �down:șwgc%,,ctb% � � (!ctb%=w8h%) �caret(5) � � � : � � �return:Ȏ wv% � �! � 0:�read(&A,rdt%,gdt%,bdt%) �! � 1:�read(16,rht%,ght%,bht%) � � 2:�read(2,rbt%,gbt%,bbt%) � �read(&A,rdt%,gdt%,bdt%) �5 �:�mod:ccc%?1=rhold%:ccc%?2=ghold%:ccc%?3=bhold% �setcol:�ld7:�output * rtl%=�:� rto% �adjust1(strip%,indez%) � : (2 � �m9(� str%):du%()=0:du%(str%)=1:�menublock9 2 � it%=1 � 4 � 1 < � du%(it%) � F! �set9(it%,&B000000,&F000000) P � Z! �set9(it%,&7000000,&F000000) d � n � it% x �r9:� � : � � �pointer:d9%-=1 � � d9%=-1 � �3 �pif:ș&32,mx%,my% � ,,pcolour%,ptint%,screen% �I � screen%=-1 �7 � temp%()=0:!store%(str%)=�pointcol(pcolour%,ptint%) �: �r9:active%=�:$cap%=m$(41):�set9(0,&7000000,&F000000) � � str%=0 � �- !ccc%=!store%(str%):�setcol:�ld7:�output �* rtl%=�:� rto% �adjust1(strip%,indez%) � � � � �! $s9%=�(d9%):�r9d:ș&42 � nt% �$ ȕ (nt%-ot%) >= 0:ot%=ot%+gn%:� � � : " � �restart , w1%!0=e1%:w1%!4=f1% 6 w1%!8=g1%:w1%!12=h1% @ w1%!16=0:w1%!20=0 J � T : ^ � �readmode h șrm%,-1,3�,,lcols% r � lcols%>=&3F go%=� � go%=� |# șrm%,-1,4�,,xb%:xf%=(2^xb%)/2 �# șrm%,-1,5�,,yb%:yf%=(2^yb%)/2 � ss%!8=�((i1%-k1%)*xf%) � ss%!12=�(((j1%-l1%)/2)*yf%) � � (lcols%=63) � � table%=0:$wt%=wt$(uu%) � � �1 $wt%=wt$(5):șctt%,&F,0,-1,-1,tb%:table%=tb% � � � �title:nv%=�:� � : � � �title:șwws%,,iw1% � �(w1%!28 �pY%) � � șwwo%,,wob% 2 șwfr%,-1,wob%!4,(wob%!16-44),wob%!12,wob%!16 � � & : 0 � �shut:ht%=0 : � DB � w%(ht%,1)=p80% � !iw2%=w%(ht%,1):șwx%,,iw2%:w%(ht%,1)=p80% N ht%+=1 X � ht%=37 b � lB � w%(ht%,1)=p80% � !iw4%=w%(ht%,1):șwx%,,iw4%:w%(ht%,1)=p80% v ht%+=1 � � ht%=41 �0 � w%(41,1)=p80% � șwc%,,iw7%:w%(41,1)=p80% � � w%(42,1)=p80% � � � Ȏ wv% � �! � 0:�read(&A,rdt%,gdt%,bdt%) �! � 1:�read(16,rht%,ght%,bht%) � � 2:�read(2,rbt%,gbt%,bbt%) � �read(&A,rdt%,gdt%,bdt%) � �:�mod � șwc%,,iw8%:w%(42,1)=p80% � � � � w%(44,1)=p80% � � � active%=�:$cap%=m$(41) ! �set9(0,&7000000,&F000000) ! șwc%,,iw9%:w%(44,1)=p80% ! � ! � !* : !4 � �clear:cleared%=�:�shut !> șwc%,,iw1%:șwc%,,iw0%:� !H : !R � �message:Ȏ pb%!16 � !\ � 0:�exit !f � ww%:nv%=� !p � &400CC:�iconise !z � !� � !� : !� � �iconise !� msgb%!12=pb%!8 !� msgb%!20=pb%!20 !� msgb%!24=0 !� Ȏ pb%!20 � !� � 0:� !�# � w1h%:$(msgb%+36)="Cube"+�(0) !� $(msgb%+28)="bar"+�(0) !�& � w0h%:$(msgb%+36)="Version"+�(0) !� $(msgb%+28)="ver"+�(0) !�$ � w7h%:$(msgb%+36)="Info."+�(0) " $(msgb%+28)="inf"+�(0) "$ � w8h%:$(msgb%+36)="Input"+�(0) " $(msgb%+28)="inp"+�(0) "$& � w9h%:$(msgb%+36)="Pointer"+�(0) ". $(msgb%+28)="ptr"+�(0) "8& � w%(37,1):$(msgb%+36)="RGB"+�(0) "B $(msgb%+28)="rgb"+�(0) "L& � w%(38,1):$(msgb%+36)="CMY"+�(0) "V $(msgb%+28)="cmy"+�(0) "`( � w%(39,1):$(msgb%+36)="Plain"+�(0) "j $(msgb%+28)="cmp"+�(0) "t& � w%(40,1):$(msgb%+36)="ECF"+�(0) "~ $(msgb%+28)="ecf"+�(0) "� "� $(msgb%+36)="????"+�(0) "� $(msgb%+28)="stp"+�(0) "� it%=0 "� � "� � w%(it%,1)=pb%!20 � "� $(msgb%+36)=�(it%)+�(0) "� it%=36 "� � "� it%+=1 "� � it%=37 "� � # șwsg%,17,msgb%,pb%!4 # � # : # � �exit #( șwz%,th%,task% #2 � r2% � #< � #F : #P � �create_w2 #Z- w2%!0=e2%:w2%!4=f2%:w2%!8=g2%:w2%!12=h2% #d1 w2%!16=0:w2%!20=0:w2%!24=-1:w2%!28=&86000002 #n* w2%!32=7:w2%!33=2:w2%!34=0:w2%!35=&FF #x) w2%!36=3:w2%!37=1:w2%!38=12:w2%!39=0 #�0 w2%!40=i2%:w2%!44=j2%:w2%!48=k2%:w2%!52=l2% #�. w2%!56=itf%:w2%!60=bf%:w2%!64=1:w2%!68=48 #�6 w2%!70=32:w2%!72=qt%:w2%!76=bs%:w2%!80=0:w2%!84=0 #� șww%,,w2%�handle% #� =handle% #� : #� � �create_w4 #�- w4%!0=e4%:w4%!4=f4%:w4%!8=g4%:w4%!12=h4% #�1 w4%!16=0:w4%!20=0:w4%!24=-1:w4%!28=&BF000002 #�* w4%?32=7:w4%?33=2:w4%?34=7:w4%?35=&FF #�) w4%?36=3:w4%?37=1:w4%?38=12:w4%?39=0 #�0 w4%!40=i4%:w4%!44=j4%:w4%!48=k4%:w4%!52=l4% #�6 w4%!56=itf%:w4%!60=0:w4%!64=bs%:w4%!68=0:w4%!70=0 $ Ȏ it% � $ �37:w4%!72=t37% $ �38:w4%!72=t38% $" �39:w4%!72=t39% $, �40:w4%!72=t40% $6 w4%!72=t0% $@ � $J! w4%!76=bs%:w4%!80=0:w4%!84=0 $T șww%,,w4%�handle% $^ =handle% $h : $r � �create_w7 $| � r2% � $�- w7%!0=e7%:w7%!4=f7%:w7%!8=g7%:w7%!12=h7% $�1 w7%!16=0:w7%!20=0:w7%!24=-1:w7%!28=&BF000002 $�( w7%?32=7:w7%?33=2:w7%?34=7:w7%?35=1 $�) w7%?36=3:w7%?37=1:w7%?38=12:w7%?39=0 $�0 w7%!40=i7%:w7%!44=j7%:w7%!48=k7%:w7%!52=l7% $�/ w7%!56=itf%:w7%!60=0:w7%!64=bs%:w7%!68=k7% $�, w7%!70=0:w7%!72=t7%:w7%!76=bs%:w7%!80=0 $� w7%!84=15 $�- w7%!88=0:w7%!92=-44:w7%!96=280:w7%!100=0 $�6 w7%!104=iff%:w7%!108=tx7%:w7%!112=vx7%:w7%!116=12 $�6 w7%!120=mid7%:w7%!124=-92:w7%!128=274:w7%!132=-48 $�8 w7%!136=txf%:w7%!140=ll%:w7%!144=-1:w7%!148=�($ll%) $�8 w7%!152=mid7%:w7%!156=-144:w7%!160=274:w7%!164=-100 %8 w7%!168=txf%:w7%!172=tt%:w7%!176=-1:w7%!180=�($tt%) %8 w7%!184=mid7%:w7%!188=-196:w7%!192=274:w7%!196=-152 %8 w7%!200=txf%:w7%!204=oo%:w7%!208=-1:w7%!212=�($oo%) %&8 w7%!216=mid7%:w7%!220=-248:w7%!224=274:w7%!228=-204 %08 w7%!232=txf%:w7%!236=nn%:w7%!240=-1:w7%!244=�($nn%) %:8 w7%!248=mid7%:w7%!252=-300:w7%!256=274:w7%!260=-256 %D8 w7%!264=txf%:w7%!268=rr%:w7%!272=-1:w7%!276=�($rr%) %N8 w7%!280=mid7%:w7%!284=-352:w7%!288=274:w7%!292=-308 %X8 w7%!296=txf%:w7%!300=gg%:w7%!304=-1:w7%!308=�($gg%) %b8 w7%!312=mid7%:w7%!316=-404:w7%!320=274:w7%!324=-360 %l8 w7%!328=txf%:w7%!332=bb%:w7%!336=-1:w7%!340=�($bb%) %v4 w7%!344=6:w7%!348=-92:w7%!352=mid7%:w7%!356=-48 %�@ w7%!360=txf%:w7%!364=colour%:w7%!368=-1:w7%!372=�($colour%) %�6 w7%!376=6:w7%!380=-144:w7%!384=mid7%:w7%!388=-100 %�< w7%!392=txf%:w7%!396=tint%:w7%!400=-1:w7%!404=�($tint%) %�6 w7%!408=6:w7%!412=-196:w7%!416=mid7%:w7%!420=-152 %�D w7%!424=txf%:w7%!428=sys_gcol%:w7%!432=-1:w7%!436=�($sys_gcol%) %�6 w7%!440=6:w7%!444=-248:w7%!448=mid7%:w7%!452=-204 %�B w7%!456=txf%:w7%!460=col_num%:w7%!464=-1:w7%!468=�($col_num%) %�6 w7%!472=6:w7%!476=-300:w7%!480=mid7%:w7%!484=-256 %�: w7%!488=txf%:w7%!492=red%:w7%!496=-1:w7%!500=�($red%) %�6 w7%!504=6:w7%!508=-352:w7%!512=mid7%:w7%!516=-308 %�> w7%!520=txf%:w7%!524=green%:w7%!528=-1:w7%!532=�($green%) %�6 w7%!536=6:w7%!540=-404:w7%!544=mid7%:w7%!548=-360 %�< w7%!552=txf%:w7%!556=blue%:w7%!560=-1:w7%!564=�($blue%) & � &- w7%!0=e7%:w7%!4=f7%:w7%!8=g7%:w7%!12=h7% &1 w7%!16=0:w7%!20=0:w7%!24=-1:w7%!28=&BF000002 & ( w7%?32=7:w7%?33=2:w7%?34=7:w7%?35=1 &*) w7%?36=3:w7%?37=1:w7%?38=12:w7%?39=0 &40 w7%!40=i7%:w7%!44=j7%:w7%!48=k7%:w7%!52=l7% &>/ w7%!56=itf%:w7%!60=0:w7%!64=bs%:w7%!68=k7% &H, w7%!70=0:w7%!72=t7%:w7%!76=bs%:w7%!80=0 &R w7%!84=23 &\- w7%!88=0:w7%!92=-44:w7%!96=280:w7%!100=0 &f6 w7%!104=iff%:w7%!108=tx7%:w7%!112=vx7%:w7%!116=12 &p6 w7%!120=mid7%:w7%!124=-92:w7%!128=274:w7%!132=-48 &z8 w7%!136=txf%:w7%!140=ll%:w7%!144=-1:w7%!148=�($ll%) &�8 w7%!152=mid7%:w7%!156=-144:w7%!160=274:w7%!164=-100 &�8 w7%!168=txf%:w7%!172=tt%:w7%!176=-1:w7%!180=�($tt%) &�8 w7%!184=mid7%:w7%!188=-196:w7%!192=274:w7%!196=-152 &�8 w7%!200=txf%:w7%!204=oo%:w7%!208=-1:w7%!212=�($oo%) &�8 w7%!216=mid7%:w7%!220=-248:w7%!224=274:w7%!228=-204 &�8 w7%!232=txf%:w7%!236=nn%:w7%!240=-1:w7%!244=�($nn%) &�8 w7%!248=mid7%:w7%!252=-300:w7%!256=274:w7%!260=-256 &�8 w7%!264=txf%:w7%!268=rr%:w7%!272=-1:w7%!276=�($rr%) &�8 w7%!280=mid7%:w7%!284=-352:w7%!288=274:w7%!292=-308 &�8 w7%!296=txf%:w7%!300=gg%:w7%!304=-1:w7%!308=�($gg%) &�8 w7%!312=mid7%:w7%!316=-404:w7%!320=274:w7%!324=-360 &�8 w7%!328=txf%:w7%!332=bb%:w7%!336=-1:w7%!340=�($bb%) &�8 w7%!344=mid7%:w7%!348=-456:w7%!352=274:w7%!356=-412 '8 w7%!360=txf%:w7%!364=aa%:w7%!368=-1:w7%!372=�($aa%) '8 w7%!376=mid7%:w7%!380=-508:w7%!384=274:w7%!388=-464 '8 w7%!392=txf%:w7%!396=mm%:w7%!400=-1:w7%!404=�($mm%) '$8 w7%!408=mid7%:w7%!412=-560:w7%!416=274:w7%!420=-516 '.8 w7%!424=txf%:w7%!428=yy%:w7%!432=-1:w7%!436=�($yy%) '88 w7%!440=mid7%:w7%!444=-612:w7%!448=274:w7%!452=-568 'B8 w7%!456=&119:w7%!460=kk%:w7%!464=-1:w7%!468=�($kk%) 'L4 w7%!472=6:w7%!476=-92:w7%!480=mid7%:w7%!484=-48 'V@ w7%!488=txf%:w7%!492=colour%:w7%!496=-1:w7%!500=�($colour%) '`6 w7%!504=6:w7%!508=-144:w7%!512=mid7%:w7%!516=-100 'j< w7%!520=txf%:w7%!524=tint%:w7%!528=-1:w7%!532=�($tint%) 't6 w7%!536=6:w7%!540=-196:w7%!544=mid7%:w7%!548=-152 '~D w7%!552=txf%:w7%!556=sys_gcol%:w7%!560=-1:w7%!564=�($sys_gcol%) '�6 w7%!568=6:w7%!572=-248:w7%!576=mid7%:w7%!580=-204 '�B w7%!584=txf%:w7%!588=col_num%:w7%!592=-1:w7%!596=�($col_num%) '�6 w7%!600=6:w7%!604=-300:w7%!608=mid7%:w7%!612=-256 '�: w7%!616=txf%:w7%!620=red%:w7%!624=-1:w7%!628=�($red%) '�6 w7%!632=6:w7%!636=-352:w7%!640=mid7%:w7%!644=-308 '�> w7%!648=txf%:w7%!652=green%:w7%!656=-1:w7%!660=�($green%) '�6 w7%!664=6:w7%!668=-404:w7%!672=mid7%:w7%!676=-360 '�< w7%!680=txf%:w7%!684=blue%:w7%!688=-1:w7%!692=�($blue%) '�6 w7%!696=6:w7%!700=-456:w7%!704=mid7%:w7%!708=-412 '�< w7%!712=txf%:w7%!716=cyan%:w7%!720=-1:w7%!724=�($cyan%) '�6 w7%!728=6:w7%!732=-508:w7%!736=mid7%:w7%!740=-464 '�B w7%!744=txf%:w7%!748=magenta%:w7%!752=-1:w7%!756=�($magenta%) ( 6 w7%!760=6:w7%!764=-560:w7%!768=mid7%:w7%!772=-516 ( @ w7%!776=txf%:w7%!780=yellow%:w7%!784=-1:w7%!788=�($yellow%) (6 w7%!792=6:w7%!796=-612:w7%!800=mid7%:w7%!804=-568 (: w7%!808=&119:w7%!812=key%:w7%!816=-1:w7%!820=�($key%) (( � (2 ș ww%,,w7% � handle% (< =handle% (F : (P � �create_w8 (Z- w8%!0=e8%:w8%!4=f8%:w8%!8=g8%:w8%!12=h8% (d1 w8%!16=0:w8%!20=0:w8%!24=-1:w8%!28=&87000002 (n( w8%?32=7:w8%?33=2:w8%?34=7:w8%?35=1 (x) w8%?36=0:w8%?37=0:w8%?38=12:w8%?39=0 (�0 w8%!40=i8%:w8%!44=j8%:w8%!48=k8%:w8%!52=l8% (�$ w8%!56=itf%:w8%!60=0:w8%!64=bs% (� w8%!68=280:w8%!70=252 (� w8%!72=t8%:w8%!76=bs% (� w8%!80=0:w8%!84=15 (�- w8%!88=0:w8%!92=-44:w8%!96=280:w8%!100=0 (�6 w8%!104=iff%:w8%!108=tx8%:w8%!112=vx8%:w8%!116=12 (�4 w8%!120=0:w8%!124=-252:w8%!128=140:w8%!132=-200 (�5 w8%!136=iff%:w8%!140=tc8%:w8%!144=vd8%:w8%!148=6 (�6 w8%!152=140:w8%!156=-252:w8%!160=280:w8%!164=-200 (�5 w8%!168=iff%:w8%!172=te8%:w8%!176=vd8%:w8%!180=6 (�2 w8%!184=0:w8%!188=-96:w8%!192=120:w8%!196=-44 (�: w8%!200=txf%:w8%!204=red%:w8%!208=-1:w8%!212=�($red%) )3 w8%!216=0:w8%!220=-148:w8%!224=120:w8%!228=-96 )> w8%!232=txf%:w8%!236=green%:w8%!240=-1:w8%!244=�($green%) )4 w8%!248=0:w8%!252=-200:w8%!256=120:w8%!260=-148 )"< w8%!264=txf%:w8%!268=blue%:w8%!272=-1:w8%!276=�($blue%) ),4 w8%!280=120:w8%!284=-92:w8%!288=274:w8%!292=-48 )6> w8%!296=if8%+deleted%:w8%!300=rdt%:w8%!304=vsd%:w8%!308=4 )@6 w8%!312=120:w8%!316=-144:w8%!320=274:w8%!324=-100 )J> w8%!328=if8%+deleted%:w8%!332=gdt%:w8%!336=vsd%:w8%!340=4 )T6 w8%!344=120:w8%!348=-196:w8%!352=274:w8%!356=-152 )^> w8%!360=if8%+deleted%:w8%!364=bdt%:w8%!368=vsd%:w8%!372=4 )h4 w8%!376=120:w8%!380=-92:w8%!384=274:w8%!388=-48 )r> w8%!392=if8%+deleted%:w8%!396=rht%:w8%!400=vsh%:w8%!404=3 )|6 w8%!408=120:w8%!412=-144:w8%!416=274:w8%!420=-100 )�> w8%!424=if8%+deleted%:w8%!428=ght%:w8%!432=vsh%:w8%!436=3 )�6 w8%!440=120:w8%!444=-196:w8%!448=274:w8%!452=-152 )�> w8%!456=if8%+deleted%:w8%!460=bht%:w8%!464=vsh%:w8%!468=3 )�4 w8%!472=120:w8%!476=-92:w8%!480=274:w8%!484=-48 )�> w8%!488=if8%+deleted%:w8%!492=rbt%:w8%!496=vsb%:w8%!500=9 )�6 w8%!504=120:w8%!508=-144:w8%!512=274:w8%!516=-100 )�> w8%!520=if8%+deleted%:w8%!524=gbt%:w8%!528=vsb%:w8%!532=9 )�6 w8%!536=120:w8%!540=-196:w8%!544=274:w8%!548=-152 )�> w8%!552=if8%+deleted%:w8%!556=bbt%:w8%!560=vsb%:w8%!564=9 )� ș ww%,,w8% � handle% )� =handle% )� : )� � �create_w9 *- w9%!0=e9%:w9%!4=f9%:w9%!8=g9%:w9%!12=h9% *1 w9%!16=0:w9%!20=0:w9%!24=-1:w9%!28=&87000002 ** w9%?32=7:w9%?33=2:w9%?34=7:w9%?35=&FF *&) w9%?36=0:w9%?37=0:w9%?38=12:w9%?39=0 *00 w9%!40=i9%:w9%!44=j9%:w9%!48=k9%:w9%!52=l9% *:: w9%!56=itf%:w9%!60=0:w9%!64=bs%:w9%!68=280:w9%!70=260 *D, w9%!72=t9%:w9%!76=bs%:w9%!80=0:w9%!84=6 *N1 w9%!88=0:w9%!92=-260:w9%!96=140:w9%!100=-208 *X5 w9%!104=iff%:w9%!108=cap%:w9%!112=vd8%:w9%!116=8 *b/ w9%!120=0:w9%!124=-52:w9%!128=70:w9%!132=0 *l5 w9%!136=iff%:w9%!140=st1%:w9%!144=vs9%:w9%!148=2 *v2 w9%!152=0:w9%!156=-104:w9%!160=70:w9%!164=-52 *�5 w9%!168=iff%:w9%!172=st2%:w9%!176=vs9%:w9%!180=2 *�3 w9%!184=0:w9%!188=-156:w9%!192=70:w9%!196=-104 *�5 w9%!200=iff%:w9%!204=st3%:w9%!208=vs9%:w9%!212=2 *�3 w9%!216=0:w9%!220=-208:w9%!224=70:w9%!228=-156 *�5 w9%!232=iff%:w9%!236=st4%:w9%!240=vs9%:w9%!244=2 *�6 w9%!248=140:w9%!252=-260:w9%!256=280:w9%!260=-208 *�5 w9%!264=iff%:w9%!268=te8%:w9%!272=vd8%:w9%!276=6 *� ș ww%,,w9% � handle% *� =handle% *� : *� � �menublock0:$mb0%=$des% *�, mb0%?12=7:mb0%?13=2:mb0%?14=7:mb0%?15=0 *�% mb0%!16=160:mb0%!20=44:mb0%!24=0 + mb0%!28=0:mb0%!32=w0h% + mb0%!36=mf%:$(mb0%+40)=im0$ + mb0%!52=0:mb0%!56=-1 + " mb0%!60=mf%+4:$(mb0%+64)=im1$ +* mb0%!76=2:mb0%!80=-1 +4 mb0%!84=mf%:$(mb0%+88)=im2$ +># mb0%!100=lastitem%:mb0%!104=-1 +H" mb0%!108=mf%:$(mb0%+112)=im3$ +R � +\ : +f � �menublock1:$mb1%=m$(0) +p, mb1%?12=7:mb1%?13=2:mb1%?14=7:mb1%?15=0 +z% mb1%!16=108:mb1%!20=44:mb1%!24=0 +� mb1%!28=0:mb1%!32=mb2% +�! mb1%!36=mf%:$(mb1%+40)=m$(1) +� mb1%!52=0:mb1%!56=-1 +�! mb1%!60=mf%:$(mb1%+64)=m$(9) +�! mb1%!76=lastitem%:mb1%!80=-1 +�" mb1%!84=mf%:$(mb1%+88)=m$(12) +� � +� : +� � �menublock2:$mb2%=m$(4) +�, mb2%?12=7:mb2%?13=2:mb2%?14=7:mb2%?15=0 +�% mb2%!16=152:mb2%!20=44:mb2%!24=0 +� mb2%!28=dx%(1):mb2%!32=-1 +�! mb2%!36=mf%:$(mb2%+40)=m$(5) , mb2%!52=dx%(2):mb2%!56=-1 ,! mb2%!60=mf%:$(mb2%+64)=m$(6) , mb2%!76=dx%(3):mb2%!80=-1 ,$" mb2%!84=mf%:$(mb2%+88)=m$(32) ,.* mb2%!100=lastitem%+dx%(4):mb2%!104=-1 ,8# mb2%!108=mf%:$(mb2%+112)=m$(8) ,B � ,L : ,V � �menublock3:$mb3%=m$(14) ,`, mb3%?12=7:mb3%?13=2:mb3%?14=7:mb3%?15=0 ,j$ mb3%!16=80:mb3%!20=44:mb3%!24=0 ,t! mb3%!28=lastitem%:mb3%!32=-1 ,~3 mb3%!36=mf11%:mb3%!40=j3%:mb3%!44=-1:mb3%!48=5 ,� � ,� : ,� � �menublock7:$mb7%=m$(11) ,�, mb7%?12=7:mb7%?13=2:mb7%?14=7:mb7%?15=0 ,�% mb7%!16=188:mb7%!20=44:mb7%!24=0 ,� mb7%!28=dv%(0):mb7%!32=-1 ,�" mb7%!36=mf%:$(mb7%+40)=m$(16) ,� mb7%!52=dv%(1):mb7%!56=-1 ,�" mb7%!60=mf%:$(mb7%+64)=m$(17) ,�( mb7%!76=lastitem%+dv%(2):mb7%!80=-1 ,�" mb7%!84=mf%:$(mb7%+88)=m$(15) ,� � - : - � �menublock8:$mb8%=m$(11) -, mb8%?12=7:mb8%?13=2:mb8%?14=7:mb8%?15=0 -% mb8%!16=188:mb8%!20=44:mb8%!24=0 -( mb8%!28=dw%(0):mb8%!32=-1 -2" mb8%!36=mf%:$(mb8%+40)=m$(16) -< mb8%!52=dw%(1):mb8%!56=-1 -F" mb8%!60=mf%:$(mb8%+64)=m$(17) -P( mb8%!76=lastitem%+dw%(2):mb8%!80=-1 -Z" mb8%!84=mf%:$(mb8%+88)=m$(15) -d � -n : -x � �menublock9:$mb9%=m$(33) -�, mb9%?12=7:mb9%?13=2:mb9%?14=7:mb9%?15=0 -�$ mb9%!16=52:mb9%!20=44:mb9%!24=0 -� mb9%!28=du%(0):mb9%!32=-1 -�# mb9%!36=mf9%:$(mb9%+40)=m$(34) -� mb9%!52=du%(1):mb9%!56=-1 -�# mb9%!60=mf9%:$(mb9%+64)=m$(35) -� mb9%!76=du%(2):mb9%!80=-1 -�# mb9%!84=mf9%:$(mb9%+88)=m$(36) -� mb9%!100=du%(3):mb9%!104=-1 -�% mb9%!108=mf9%:$(mb9%+112)=m$(37) -�* mb9%!124=lastitem%+du%(4):mb9%!128=-1 -�% mb9%!132=mf9%:$(mb9%+136)=m$(38) -� � . : .! � �menublock9d:$mb9d%=m$(42) .0 mb9d%?12=7:mb9d%?13=2:mb9d%?14=7:mb9d%?15=0 ."' mb9d%!16=52:mb9d%!20=44:mb9d%!24=0 ., mb9d%!28=dd%(0):mb9d%!32=-1 .6% mb9d%!36=mf9%:$(mb9d%+40)=m$(35) .@ mb9d%!52=dd%(1):mb9d%!56=-1 .J% mb9d%!60=mf9%:$(mb9d%+64)=m$(36) .T mb9d%!76=dd%(2):mb9d%!80=-1 .^% mb9d%!84=mf9%:$(mb9d%+88)=m$(38) .h" mb9d%!100=dd%(3):mb9d%!104=-1 .r' mb9d%!108=mf9%:$(mb9d%+112)=m$(43) .|, mb9d%!124=lastitem%+dd%(4):mb9d%!128=-1 .�' mb9d%!132=mf9%:$(mb9d%+136)=m$(44) .� � .� : .�! � �menublock11:$mb11%=m$(45) .�0 mb11%?12=7:mb11%?13=2:mb11%?14=7:mb11%?15=0 .�( mb11%!16=328:mb11%!20=44:mb11%!24=0 .� mb11%!28=0:mb11%!32=-1 .�! mb11%!36=mf11%:mb11%!40=a11% .�" mb11%!44=-1:mb11%!48=�($a11%) .�# mb11%!52=lastitem%:mb11%!56=-1 .�! mb11%!60=mf11%:mb11%!64=b11% .�" mb11%!68=-1:mb11%!72=�($b11%) .� � / : / � �p1 /+ !p1%=16:p1%!4=-56:p1%!8=132:p1%!12=-12 /& p1%!16=&2700013D:p1%!20=s1% /0 p1%!24=-1:p1%!28=�($s1%) /:/ p1%!32=16:p1%!36=-56:p1%!40=100:p1%!44=-12 /D p1%!48=&2700013D:p1%!52=s2% /N p1%!56=-1:p1%!60=�($s2%) /X � /b : /l+ � �q1:p1%!4=pb%!24-56:p1%!12=pb%!24-12 /v( p1%!36=pb%!24-56:p1%!44=pb%!24-12:� /� : /� � �p2 /�+ !p2%=16:p2%!4=-56:p2%!8=100:p2%!12=-12 /� p2%!16=&11D:p2%!20=s3% /� p2%!24=-1:p2%!28=�($s3%) /�/ p2%!32=16:p2%!36=-56:p2%!40=100:p2%!44=-12 /� p2%!48=&700011D:p2%!52=s4% /� p2%!56=-1:p2%!60=�($s4%) /� � /� : /�+ � �q2:p2%!4=pb%!24-56:p2%!12=pb%!24-12 /�( p2%!36=pb%!24-56:p2%!44=pb%!24-12:� /� : 0 � �p9 0 !p9%=120:p9%!4=-132 0 p9%!8=216:p9%!12=-76 0 p9%!16=&700013D:p9%!20=s9% 0* p9%!24=-1:p9%!28=�($s9%) 04 � 0> : 0H � �init 0R �values 0\ șhs%,1 0f �memory 0p �strings 0z �set 0� �sprite 0�8 șwi%,200,task%,des% �version%,th%:bh%=�create_icon 0� � version%<300 r2%=� 0� !ccc%=&FFFFFF00:�setcol 0� w0h%=�create_w0:!iw0%=w0h% 0�* w1h%=�create_w1:!iw1%=w1h%:!wob%=w1h% 0� � r2% j7%=-408:f7%=-408 0� w7h%=�create_w7:!iw7%=w7h% 0�8 w8h%=�create_w8:!iw8%=w8h%:�reset(0,deleted%,6,7,8) 0� w9h%=�create_w9:!iw9%=w9h% 0� �readmode 0� �data 0� �colours 1 �dd 1 �shuffle 1 �menublock0 1$ �menublock1 1. �menublock2 18 �menublock3 1B �menublock7 1L �menublock8 1V �menublock9 1` �menublock9d 1j �menublock11 1t �p1 1~ �p2 1� �p9 1� �ld7 1� șhf% 1� � 1� : 1� � �values:task%=&4B534154 1�% p80%=&8000:pY%=&10000:pZ%=&40000 1�& em%=&40000:hm%=&40600:ctm%=&40700 1� hf%=hm%+&C1:hs%=hm%+&C3 1�- ctt%=ctm%+&40:crg%=ctm%+&42:cs%=ctm%+&43 1�- crn%=ctm%+&44:cn%=ctm%+&4C:crc%=ctm%+&5A 1� wi%=em%+&C0:ww%=em%+&C1 2 wj%=em%+&C2:wx%=em%+&C3 2 wo%=em%+&C5:wc%=em%+&C6 2 wr%=em%+&C8:wu%=em%+&C9 2 wg%=em%+&CA:wws%=em%+&CB 2( wsi%=em%+&CD 22 wgp%=em%+&CF:wfr%=em%+&D1 2< wcp%=em%+&D2 2F wgc%=em%+&D3:wm%=em%+&D4 2P wpk%=em%+&DC:wz%=em%+&DD 2Z wre%=em%+&DF:wpt%=em%+&E1 2d wsm%=em%+&E3:wsg%=em%+&E7 2n wwo%=em%+&E0:wpi%=em%+&E2 2x osn%=&46:osp%=&45:rm%=&35 2� sp%=&2E:sz%=&CCB4:sq%=&900 2�! i1%=0:j1%=-672:k1%=540:l1%=0 2�4 e1%=i1%+370:f1%=j1%+808:g1%=k1%+370:h1%=l1%+808 2�? i4%=0:j4%=-976:k4%=1024:l4%=0:e4%=0:h4%=0:g4%=144:f4%=-144 2� xra=2.8:yra=2.7:factor=0.29 2�; i2%=0:j2%=-44*16:k2%=124:l2%=0:e2%=0:f2%=0:g2%=0:h2%=0 2�! i7%=0:j7%=-616:k7%=280:l7%=0 2�+ e7%=0:f7%=-616:g7%=280:h7%=0:mid7%=128 2�! i8%=0:j8%=-252:k8%=280:l8%=0 2�! e8%=0:f8%=-252:g8%=280:h8%=0 2�! i9%=0:j9%=-260:k9%=280:l9%=0 2�! e9%=0:f9%=-260:g9%=280:h9%=0 2�$ width%=84:ppa%=&40+4:efp%=&C8+5 3- rf%=&60:rfa%=rf%+4:rfr%=rf%+1:rfp%=rf%+5 3 len%=0:sft%=0 3 itf%=&11A 3" txf%=&7000119 3, bf%=&3000 36 inf%=&700013D 3@ pf%=&81830 3J shaded%=&400000 3T mf%=&7000021 3^ mf11%=&7000121 3h mfs11%=&7400121 3r mf9%=&7000029 3| if8%=&700F13D 3� iff%=&701913B 3� lastitem%=&80 3� r2%=�:nv%=� 3� scaled%=�:right%=� 3� rto%=�:rtl%=�:rtd%=� 3�. strip%=0:oldstrip%=0:indez%=0:oldindez%=0 3�9 deleted%=&800000:cv%=&D5:acc%=0:mcc%=0:ycc%=0:kcc%=0 3�' x4%=132:bk%=�:active%=�:cleared%=� 3�7 uu%=0:vv%=0:wv%=0:up%=0:rhold%=0:ghold%=0:bhold%=0 3�* more%=0:rc%=0:xb%=0:yb%=0:xf%=0:yf%=0 3� � 3� : 3�$ � �memory:� li% 1023:� lj% 1023 4# � erb% 255:� pb% 255:� tb% 255 4- � menu%(11):� msgb% 47:� ic% 8:� des% 11 4 � iw0% 379:w0%=iw0%+4 4& � iw1% 91:w1%=iw1%+4 40 � iw2% 91:w2%=iw2%+4 4: � iw4% 91:w4%=iw4%+4 4D � iw7% 827:w7%=iw7%+4 4N � iw8% 571:w8%=iw8%+4 4X � iw9% 283:w9%=iw9%+4 4b � null% 0:� dms% 8 4l � rdt% 3:� gdt% 3:� bdt% 3 4v � rht% 2:� ght% 2:� bht% 2 4� � rbt% 8:� gbt% 8:� bbt% 8 4�" � vsd% 63:� vsh% 63:� vsb% 63 4�* � tx7% 11:� tx8% 11:� tc8% 5:� te8% 5 4�1 � vx7% 8:� vx8% 8:� vd8% 8:� cap% 8:� vs9% 8 4�( � st1% 1:� st2% 1:� st3% 1:� st4% 1 4�6 � str0% 3:� str1% 3:� str2% 3:� str3% 3:� str4% 3 4�0 � store%(4):store%(0)=str0%:store%(1)=str1% 4�4 store%(2)=str2%:store%(3)=str3%:store%(4)=str4% 4� � pif% 19:� ip%(8,6) 4�" � rdec% 3:� gdec% 3:� bdec% 3 4�" � rhex% 2:� ghex% 2:� bhex% 2 4�" � rbin% 8:� gbin% 8:� bbin% 8 4�" � wob% 19:� ctb% 23:� sis% 15 5 � w%(44,5):� n% 4 5 � temp%(4):� x%(6):� y%(12) 5 � dst% 199:� b0% 35 5 ( � p1% 63:� p2% 63:� p9% 31:� fw%(4) 5*, � s1% 5:� s2% 3:� s3% 3:� s4% 3:� s9% 2 54$ � mb0% 123:� mb1% 99:� mb2% 123 5>" � mb3% 51:� mb7% 99:� mb8% 99 5H& � mb9% 147:� mb9d% 147:� mb11% 75 5R � i%(3):� j3% 4:� k%(3) 5\1 � du%(4):� dd%(4):� dv%(2):� dw%(2):� dx%(4) 5f5 � colour% 6:� tint% 4:� sys_gcol% 4:� col_num% 6 5p" � red% 3:� green% 5:� blue% 4 5z0 � cyan% 4:� magenta% 7:� yellow% 6:� key% 3 5�$ � ll% 8:� tt% 8:� oo% 8:� nn% 8 5� � rr% 8:� gg% 8:� bb% 8 5�$ � aa% 8:� mm% 8:� yy% 8:� kk% 8 5� � ccc% 3:� ddd% 3 5� � cr% 3:� cg% 3:� cb% 3 5� � cc% 3:� cm% 3:� cy% 3 5�, � c1% 3:� c2% 3:� c3% 3:� c7% 3:� c8% 3 5� � bg% 3:� grey% 3 5� � ss% 15:� bs% sz% 5� � wt% 23:� wt$(5):� m$(55) 5�" � in1% 25:� in2% 24:� in3% 21 5�( � in4% 5:� in5% 8:� in6% 8:� in7% 7 5� � a11% 20:� b11% 20 6 � 6 : 6. � �set:nt%=0:ot%=0:gn%=100:mt%=1:base%=&A 6$, icon%=�:i%(0)=�:i%(1)=�:i%(2)=�:i%(3)=� 6.3 k%(0)=37:k%(1)=38:k%(2)=39:k%(3)=40:$j3%=m$(1) 68F str%=0:du%()=0:du%(0)=1:dv%()=0:dv%(0)=1:dw%()=0:dw%(0)=1:dx%()=0 6B$ delay%=4:d9%=4:dd%()=0:dd%(2)=1 6L2 str0%?0=0:str0%?1=&BB:str0%?2=&BB:str0%?3=&BB 6V2 str1%?0=0:str1%?1=&AA:str1%?2=&AA:str1%?3=&AA 6`2 str2%?0=0:str2%?1=&99:str2%?2=&99:str2%?3=&99 6j2 str3%?0=0:str3%?1=&88:str3%?2=&88:str3%?3=&88 6t2 str4%?0=0:str4%?1=&77:str4%?2=&77:str4%?3=&77 6~2 $s9%="4":�zero:�restore(&D5,4,rdt%,gdt%,bdt%) 6� nmx%=6:nmy%=7:nmz%=8 6�8 $tx7%=m$(16):$tx8%=m$(16):$tc8%=m$(22):$te8%=m$(23) 6�7 $vx7%="Scxn,cxo":$vx8%="Scxn,cxo":$vd8%="Siof,ion" 6�" $cap%=m$(41):$vs9%="Ssrf,srn" 6�8 $st1%=m$(35):$st2%=m$(36):$st3%=m$(37):$st4%=m$(38) 6�* xcn%=0:$null%=m$(39):$dms%="Sdmf,dmn" 6�A $colour%=m$(2):$tint%=m$(3):$sys_gcol%=m$(6):$col_num%=m$(7) 6�. $red%=m$(18):$green%=m$(19):$blue%=m$(20) 6�@ $cyan%=m$(28):$magenta%=m$(29):$yellow%=m$(30):$key%=m$(31) 6�- $vsd%="A0-9":$vsh%="A0-9A-F":$vsb%="A01" 6�4 $s1%=m$(26):$s2%=m$(27):$s3%=m$(24):$s4%=m$(25) 6�+ $in1%=m$(48):$in2%=m$(49):$in3%=m$(50) 7 8 $in4%=m$(52):$in5%=m$(53):$in6%=m$(54):$in7%=m$(55) 7 ) wd$=m$(51):$a11%=m$(46):$b11%=m$(47) 74 !msgb%=48:msgb%!12=0:msgb%!16=&400CC:msgb%!24=0 7 $(msgb%+28)="bar"+�(0) 7( � 72 : 7< � �zero 7F" $rdt%="0":$gdt%="0":$bdt%="0" 7P" $rht%="0":$ght%="0":$bht%="0" 7Z" $rbt%="0":$gbt%="0":$bbt%="0" 7d � 7n : 7x � �strings 7� $ic%="icon_bar" 7� $des%="Colour Cube" 7� wt$(0)="256 Colour Display" 7� wt$(1)="COLOUR/GCOL & TINT" 7�# wt$(2)="Operating System GCOL" 7�# wt$(3)="Logical Colour NUMBER" 7�# wt$(4)="BLUE�GREEN�RED (Hex.)" 7�% wt$(5)="for 256 colour mode use" 7� im0$="Info." 7� im1$="Entry" 7� im2$="Clear" 7� im3$="Quit" 7� m$(0)="Options" 8 m$(1)="Show" 8 m$(2)="Colour" 8 m$(3)="Tint" 8" m$(4)="Designation" 8, m$(5)="Col/Tint" 86 m$(6)="GCOL" 8@ m$(7)="Number" 8J m$(8)="B�G�R (&)" 8T m$(9)="Scale" 8^ m$(10)="Scroll" 8h m$(11)="Base" 8r m$(12)="Right" 8| m$(13)="Left" 8� m$(14)="Title" 8� m$(15)="Binary" 8� m$(16)="Decimal" 8� m$(17)="Hexadecimal" 8� m$(18)="Red" 8� m$(19)="Green" 8� m$(20)="Blue" 8� m$(21)="Off" 8� m$(22)="Clear" 8� m$(23)="Enter" 8� m$(24)="RGB" 8� m$(25)="CMY" 8� m$(26)="Plain" 9 m$(27)="ECF" 9 m$(28)="Cyan" 9 m$(29)="Magenta" 9& m$(30)="Yellow" 90 m$(31)="Key" 9: m$(32)="Number��P" 9D m$(33)="Store" 9N m$(34)="0" 9X m$(35)="1" 9b m$(36)="2" 9l m$(37)="3" 9v m$(38)="4" 9� m$(39)="" 9� m$(40)="ACTIVE" 9� m$(41)="Capture" 9� m$(42)="Delay" 9� m$(43)="8" 9� m$(44)="16" 9� m$(45)="change mode?" 9�" m$(46)="15 (TV standard-RGB)" 9�" m$(47)="28 (Multiscan / VGA)" 9�' m$(48)="256-colour option utility" 9�& m$(49)="� Acorn Archimedes World" 9� m$(50)="3.10 (July 1994)" 9� m$(51)="<ColourCube$Dir>." : m$(52)="Name:" : m$(53)="Purpose:" : m$(54)="Version:" : m$(55)="Notice:" :* � :4 : :>/ � �sprite:!bs%=sz%:bs%!8=16:șsp%,&109,bs% :H șsp%,&10A,bs%,wd$+"visual" :R" șsp%,&118,bs%,"Hex256"�,,hx% :\ șsp%,&118,bs%,"qt"�,,qt% :f șsp%,&118,bs%,"t0"�,,t0% :p șsp%,&118,bs%,"t37"�,,t37% :z șsp%,&118,bs%,"t38"�,,t38% :� șsp%,&118,bs%,"t39"�,,t39% :� șsp%,&118,bs%,"t40"�,,t40% :� șsp%,&118,bs%,"t7"�,,t7% :� șsp%,&118,bs%,"t8"�,,t8% :� șsp%,&118,bs%,"t9"�,,t9% :� șsp%,&118,bs%,"iof"�,,iof% :� șsp%,&118,bs%,"ion"�,,ion% :� șsp%,&118,bs%,"dmn"�,,dmn% :� șsp%,&118,bs%,"cxn"�,,cxn% :� șsp%,&118,bs%,"cxo"�,,cxo% :� șsp%,&118,bs%,"dmf"�,,dmf% :� șsp%,&118,bs%,"srf"�,,srf% :� șsp%,&118,bs%,"srn"�,,srn% ; � ; : ; � �create_icon ;$0 !b0%=-1:b0%!4=0:b0%!8=0:b0%!12=64:b0%!16=72 ;.% b0%!20=&3102:b0%!24=ic%:b0%!28=1 ;8( b0%!32=�($ic%):șwj%,,b0% � handle% ;B =handle% ;L : ;V � �create_w1 ;`- w1%!0=e1%:w1%!4=f1%:w1%!8=g1%:w1%!12=h1% ;j1 w1%!16=0:w1%!20=0:w1%!24=-1:w1%!28=&FF000002 ;t* w1%?32=7:w1%?33=2:w1%?34=7:w1%?35=&FF ;~) w1%?36=3:w1%?37=1:w1%?38=12:w1%?39=0 ;�0 w1%!40=i1%:w1%!44=j1%:w1%!48=k1%:w1%!52=l1% ;�9 w1%!56=&119:w1%!60=bf%:w1%!64=1:w1%!68=68:w1%!70=108 ;�1 w1%!72=wt%:w1%!76=-1:w1%!80=�($wt%):w1%!84=0 ;� ș ww% ,,w1% � handle% ;� =handle% ;� : ;� � �create_w0 ;�* w0%!0=0:w0%!4=-240:w0%!8=598:w0%!12=0 ;�1 w0%!16=0:w0%!20=0:w0%!24=-1:w0%!28=&87000012 ;�( w0%?32=7:w0%?33=2:w0%?34=7:w0%?35=1 ;�) w0%?36=3:w0%?37=1:w0%?38=12:w0%?39=0 ;�- w0%!40=0:w0%!44=-240:w0%!48=598:w0%!52=0 <