Home » Archimedes archive » Acorn User » AU 1996-05.adf » Regulars » StarInfo/Berry/mode12/!Slicker/!RunImage
StarInfo/Berry/mode12/!Slicker/!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 » Acorn User » AU 1996-05.adf » Regulars |
Filename: | StarInfo/Berry/mode12/!Slicker/!RunImage |
Read OK: | ✔ |
File size: | 41F4 bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10REM >$.!Slicker.!RunImage 20Version$="1.00 (Sep'95)":REM (c) G.BERRY 30 40PROCpreinit 50PROCsprites 60PROCwindows 70PROCmenus 80PROCiconbar 90PROCpostinit 100PROCautoload 110 120ON ERROR PROCerror(3) 130 140WHILE NOT Quit:PROCpoll:ENDWHILE 150SYS"Wimp_CloseDown":END 160 170DEFPROCpreinit 180App$="!Slicker":SYS"Wimp_Initialise",200,&4B534154,App$ 190ON ERROR PROCerror(1) 200DIM B% 500,E% 255 210DIM Iind% 70,Eind% 80,Sind% 270 220DIM W44ind% 60,W54ind% 60,W55ind% 60,W65ind% 60 230DIM Iname% 11,Ename% 11,Sname% 11 240DIM W44name% 11,W54name% 11,W55name% 11,W65name% 11 250DIM Imenu% 99,Smenu% 51 260DIMGW%(4),S%(7),C%(29),C1%(29),Demo% 511:C%()=7:!Demo%=0 270Quit=0:IconB%=-2:M0%=6192:M1%=6193:Mask%=M1%:Wopen%=0:Shape%=0 280Opmode%=1:Learn%=0:Move%=0:ExtD%=0:Ptr%=0:Bytemax%=255:A$="":L$="" 290Son%=1:OSCLI"ChannelVoice 1 WaveSynth-Beep" 300ENDPROC 310 320DEFPROCsprites 330F%=OPENIN"<Obey$Dir>.Sprites" 340IFF%=0 ERROR 1,"file !Slicker.Sprites not found" 350size%=EXT#F%+4:CLOSE#F% 360DIM Sarea% size%:!Sarea%=size%:Sarea%!8=16 370SYS"OS_SpriteOp",&10A,Sarea%,"<Obey$Dir>.Sprites" 380FORn%=1TO7:SYS"OS_SpriteOp",24+256,Sarea%,STR$n%TO,,S%(n%):NEXT 390ENDPROC 400 410DEFPROCwindows 420$Iname%="Info":$Ename%="Edit":$Sname%="Save" 430$W44name%="w44":$W54name%="w54":$W55name%="w55":$W65name%="w65" 440SYS"Wimp_OpenTemplate",,"<Obey$Dir>.Templates" 450SYS"Wimp_LoadTemplate",,B%,Iind%,Iind%+70,-1,Iname%,0 460B%!368=Sarea% 470SYS"Wimp_CreateWindow",,B% TO InfoW% 480SYS"Wimp_LoadTemplate",,B%,W44ind%,W44ind%+60,-1,W44name%,0 490B%!64=Sarea% 500SYS"Wimp_CreateWindow",,B% TO GW%(1) 510SYS"Wimp_LoadTemplate",,B%,W54ind%,W54ind%+60,-1,W54name%,0 520B%!64=Sarea% 530SYS"Wimp_CreateWindow",,B% TO GW%(2) 540SYS"Wimp_LoadTemplate",,B%,W55ind%,W55ind%+60,-1,W55name%,0 550B%!64=Sarea% 560SYS"Wimp_CreateWindow",,B% TO GW%(3) 570SYS"Wimp_LoadTemplate",,B%,W65ind%,W65ind%+60,-1,W65name%,0 580B%!64=Sarea% 590SYS"Wimp_CreateWindow",,B% TO GW%(4) 600SYS"Wimp_LoadTemplate",,B%,Eind%,Eind%+80,-1,Ename%,0 610B%!64=Sarea%:B%!4=B%!12-250 620SYS"Wimp_CreateWindow",,B% TO EditW% 630SYS"Wimp_LoadTemplate",,B%,Sind%,Sind%+270,-1,Sname%,0 640SYS"Wimp_CreateWindow",,B% TO SaveW% 650SYS"Wimp_CloseTemplate" 660ENDPROC 670 680DEFPROCmenus 690RESTORE1100:PROCSetUpMenu(Imenu%):PROCSetUpMenu(Smenu%) 700ENDPROC 710 720DEFPROCiconbar 730!B%=-1:B%!4=0:B%!8=0:B%!12=68:B%!16=68:B%!20=&3002:$(B%+24)="!Slicker" 740SYS"Wimp_CreateIcon",,B% TO Ib% 750ENDPROC 760 770DEFPROCpostinit 780PROCUi(InfoW%,7,LEFT$(Version$,13)):PROCHi(EditW%,14):PROCSi(EditW%,15) 790FORn%=1TO4:FORi%=11TO12:PROCSi(GW%(n%),i%):NEXT:NEXT 800PROCDm(Smenu%,0):PROCmode 810ENDPROC 820 830DEFPROCmode 840CASE MODE OF 850 WHEN12,14:ModeOk%=TRUE 860 OTHERWISE:PROCCloseW(EditW%):IFWopen%PROCCloseW(GW%(Wopen%)) 870 ModeOk%=0 880ENDCASE 890ENDPROC 900 910DEFPROCautoload 920SYS"OS_GetEnv" TO path$ 930IF RIGHT$(path$,1)<>" " PROCload(MID$(path$,INSTR(path$,""" ")+2)) 940ENDPROC 950 960DEFPROCSetUpMenu(menu%) 970READtitle$,num%:$menu%=title$:width%=(LENtitle$-2)*16 980menu%!12=&70207:menu%!20=44:menu%!24=0:ptr%=menu%+28 990FORn%=1 TO num% 1000 READmflags%,subptr%,item$ 1010 !ptr%=mflags%:ptr%!4=subptr%:ptr%!8=&7000021:$(ptr%+12)=item$ 1020 l%=(LENitem$+1)*16:IFl%>width% width%=l% 1030 ptr%+=24 1040NEXT:menu%!16=width% 1050ENDPROC 1060 1070REM---Menu data--- 1080 1090REM icon bar menu 1100DATASlicker,3,0,InfoW%,Info,0,-1,Open Edit,&80,-1,Quit 1110 1120REM Save menu 1130DATASlicker,1,&80,SaveW%,Save 1140 1150REM---Wimp procs--- 1160 1170DEFPROCpoll 1180SYS&400C7,Mask%,B% TO r% 1190CASEr%OF 1200 WHEN0:PROCdemo 1210 WHEN1:PROCredraw 1220 WHEN2:IFModeOk%SYS"Wimp_OpenWindow",,B% 1230 IF!B%=GW%(Wopen%)Ox%=B%!4-B%!20:Oy%=B%!16-B%!24 1240 WHEN3:SYS"Wimp_CloseWindow",,B%:IF!B%=GW%(Wopen%)PROCCloseW(EditW%) 1250 WHEN6:PROCclick(B%!8,B%!12,B%!16) 1260 WHEN7:PROCDragFinished 1270 WHEN8:PROCkey(!B%,B%!24) 1280 WHEN9:PROCmenuselect(!B%) 1290 WHEN17,18:PROCreceive(B%!16) 1300ENDCASE 1310ENDPROC 1320 1330DEFPROCredraw 1340SYS&400C8,,B% TOm%:Ox%=B%!4-B%!20:Oy%=B%!16-B%!24 1350WHILEm%:FORn%=0TO29:x%=(n%MOD6+1)*80:y%=(n%DIV6+2)*80 1360 IFC%(n%)<8:IFC%(n%)SYS&2E,34+512,Sarea%,S%(C%(n%)),Ox%+x%,Oy%-y%,3 1370NEXT:SYS&400CA,,B% TOm%:ENDWHILE 1380ENDPROC 1390 1400DEFPROCclick(b%,w%,i%) 1410CASEw%OF 1420 WHENIconB%:CASEb%OF 1430 WHEN1:Son%=Son%EOR1 1440 WHEN2:PROCshowmenu(Imenu%,!B%-64,228) 1450 WHEN4:IFModeOk%THEN 1460 IFWopen%PROCOpenW(GW%(Wopen%)) 1470 IFOpmode%=1PROCOpenW(EditW%) 1480 ELSE:PROCreport("Switch to mode 12 or 14!",16) 1490 ENDIF 1500 ENDCASE 1510 WHENEditW%:CASEOpmode%OF 1520 WHEN1:CASEb%OF 1530 WHEN4:CASEi%OF 1540 WHEN1,2,3,4,5,6,7:PROCshape(i%) 1550 WHEN8,9,10,11:PROCopenGW(i%-7) 1560 WHEN13:IFWopen%PROCclear 1570 WHEN15:PROCtransfer(2) 1580 ENDCASE 1590 ENDCASE 1600 WHEN2:CASEb%OF 1610 WHEN1:IFi%=13ANDLearn%=0THEN 1620 IFPtr%>0ANDPtr%DIV2<Bytemax%PROClearn(1) 1630 ENDIF 1640 WHEN4:CASEi%OF 1650 WHEN8,9,10,11: 1660 IFi%-7=Wopen%PROCOpenW(GW%(Wopen%)) 1670 WHEN13:IFLearn%=0PROClearn(4) 1680 WHEN14:PROCtransfer(1) 1690 WHEN15:IFLearn%PROClearn(2) 1700 ENDCASE 1710 ENDCASE 1720 ENDCASE 1730 WHENGW%(1),GW%(2),GW%(3),GW%(4): 1740 CASEOpmode%OF 1750 WHEN1:CASEb%OF 1760 WHEN1,4:IFi%=8PROCplot(b%,!B%,B%!4) 1770 WHEN2:IFi%<8PROCshowmenu(Smenu%,!B%-64,B%!4) 1780 ENDCASE 1790 WHEN2:CASEb%OF 1800 WHEN1,4:CASEi%OF 1810 WHEN8:PROCselect(b%,!B%,B%!4) 1820 WHEN11:PROCreset 1830 WHEN12:PROCreset:Mask%=M0%:Ptr%=0:Opmode%=3 1840 ENDCASE 1850 WHEN2:IFi%<8PROCshowmenu(Smenu%,!B%-64,B%!4) 1860 ENDCASE 1870 WHEN3:IFi%=11PROCreset:Mask%=M1% 1880 ENDCASE 1890 WHENSaveW%:CASEb%OF 1900 WHEN1,4:IFi%=2PROCQuickSave 1910 WHEN16,64:PROCdrag 1920 ENDCASE 1930ENDCASE 1940ENDPROC 1950 1960DEFPROCkey(w%,k%) 1970CASEk%OF 1980 WHEN13:CASEw%OF 1990 WHENEditW%:PROCUi(GW%(Wopen%),0,FNGetString(EditW%,12)) 2000 IFA$=""PROCa(-1) 2010 WHENSaveW%:PROCQuickSave 2020 OTHERWISE:SYS"Wimp_ProcessKey",k% 2030 ENDCASE 2040 OTHERWISE:SYS"Wimp_ProcessKey",k% 2050ENDCASE 2060ENDPROC 2070 2080DEFPROCmenuselect(menu%) 2090CASEMenuopen%OF 2100 WHENImenu%:CASEmenu%OF 2110 WHEN1:IFModeOk%THEN 2120 PROCOpenW(EditW%):IFWopen%PROCOpenW(GW%(Wopen%)) 2130 ENDIF 2140 WHEN2:IFFNok(1) Quit=TRUE 2150 ENDCASE 2160 WHENSmenu%:IFmenu%=0PROCQuickSave 2170ENDCASE 2180ENDPROC 2190 2200DEFPROCshowmenu(menu%,x%,y%) 2210SYS"Wimp_CreateMenu",,menu%,x%,y% 2220Menuopen%=menu% 2230ENDPROC 2240 2250DEFPROCreceive(m%) 2260CASEm%OF 2270 WHEN0:Quit=TRUE 2280 WHEN2:PROCDataSave 2290 WHEN3:IFB%!40=&004IFFNok(2) PROCload(FNstring(B%+44)) 2300 WHEN5:IFB%!40=&004PROCloadack:IFFNok(2) PROCload(FNstring(B%+44)) 2310 WHEN&400C1:PROCmode 2320ENDCASE 2330ENDPROC 2340 2350DEFPROCloadack 2360B%!12=B%!8:B%!16=4:!B%=64 2370SYS"Wimp_SendMessage",17,B%,B%!4 2380ENDPROC 2390 2400DEFPROCreport(err$,bit%) 2410name$=App$:IF bit% AND 16 name$="Message from "+name$ 2420!E%=255:$(E%+4)=err$+CHR$(0) 2430SYS"Wimp_ReportError",E%,bit%,name$ TO,Select% 2440ENDPROC 2450 2460DEFPROCerror(bit%) 2470e$=";internal error code "+STR$ERL:IFbit%=3e$+=";press [CANCEL] to quit." 2480PROCreport(REPORT$+e$,bit%):IFbit%=3:IFSelect%=1ENDPROC 2490SYS"Wimp_CloseDown":END 2500ENDPROC 2510 2520DEFPROCOpenW(!B%) 2530SYS"Wimp_GetWindowState",,B% 2540B%!28=-1:SYS"Wimp_OpenWindow",,B% 2550ENDPROC 2560 2570DEFPROCCloseW(!B%) 2580SYS"Wimp_CloseWindow",,B% 2590ENDPROC 2600 2610DEFPROCUi(!B%,B%!4,t$) 2620SYS&400CE,,B%:$(B%!28)=t$:B%!8=0:B%!12=0:SYS&400CD,,B% 2630ENDPROC 2640 2650DEFPROCHi(!B%,B%!4) 2660B%!8=1<<21:B%!12=1<<21:SYS&400CD,,B% 2670ENDPROC 2680 2690DEFPROCLi(!B%,B%!4) 2700B%!8=0:B%!12=1<<21:SYS&400CD,,B% 2710ENDPROC 2720 2730DEFPROCAi 2740!B%=EditW%:B%!4=13 2750CASELearn%OF 2760 WHEN0 :B%!8=%11100111000000001001000000000000 2770 WHEN-1:B%!8=%01111110000000000011000000000000 2780ENDCASE 2790B%!12=%11111111000000001111000000000000 2800SYS"Wimp_SetIconState",,B% 2810ENDPROC 2820 2830DEFPROCSi(!B%,B%!4) 2840B%!8=1<<22:B%!12=1<<22:SYS&400CD,,B% 2850ENDPROC 2860 2870DEFPROCUsi(!B%,B%!4) 2880B%!8=0:B%!12=1<<22:SYS&400CD,,B% 2890ENDPROC 2900 2910DEFFNGetString(!B%,B%!4) 2920SYS"Wimp_GetIconState",,B% 2930IF ((B%!24) AND &100)=0 THEN=$(B%+28) ELSE=$(B%!28) 2940 2950DEFPROCDm(menu%,item%) 2960menu%!(36+item%*24)=menu%!(36+item%*24)OR(1<<22) 2970ENDPROC 2980 2990DEFPROCEm(menu%,item%) 3000PROCDm(menu%,item%) 3010menu%!(36+item%*24)=menu%!(36+item%*24)EOR(1<<22) 3020ENDPROC 3030 3040DEFPROCSetCaret(w%,i%) 3050SYS"Wimp_SetCaretPosition",w%,i%,,,-1,LENFNGetString(w%,i%) 3060ENDPROC 3070 3080DEFPROCtitle(!B%,t$) 3090SYS"Wimp_GetWindowInfo",,B% 3100ptr%=!(B%+76):$ptr%=t$ 3110IF!B%=GW%(Wopen%)SYS"Wimp_ForceRedraw",-1,B%!4,B%!16,B%!12,B%!16+36 3120ENDPROC 3130 3140DEFPROCdrag 3150!B%=SaveW%:SYS"Wimp_GetWindowState",,B% 3160ox%=B%!4-B%!20:oy%=B%!16-B%!24:B%!4=0 3170SYS"Wimp_GetIconState",,B% 3180B%!4=5:B%!8=ox%+B%!8:B%!12=oy%+B%!12 3190B%!16=ox%+B%!16:B%!20=oy%+B%!20 3200B%!24=0:B%!28=0:B%!32=&7FFFFFF:B%!36=&7FFFFFF 3210SYS"Wimp_DragBox",,B% 3220ENDPROC 3230 3240DEFPROCDragFinished 3250path$=FNGetString(SaveW%,1):SYS"Wimp_GetPointerInfo",,B% 3260B%!20=B%!12:B%!24=B%!16:B%!28=!B%:B%!32=B%!4 3270B%!36=71+ExtD%:!B%=64:B%!12=0:B%!16=1:B%!40=&004 3280$(B%+44)=FNGetLeaf(path$,0) 3290SYS"Wimp_SendMessage",17,B%,B%!20,B%!24 3300ENDPROC 3310 3320DEFFNGetLeaf(a$,c%) 3330WHILE INSTR(a$,"."):a$=MID$(a$,INSTR(a$,".")+1):ENDWHILE 3340=a$+CHR$c% 3350 3360DEFPROCDataSave 3370PROCUi(SaveW%,1,FNstring(B%+44)) 3380PROCsave:B%!12=B%!8:B%!16=3:!B%=256 3390SYS"Wimp_SendMessage",17,B%,B%!20,B%!24 3400SYS"Wimp_CreateMenu",-1 3410ENDPROC 3420 3430DEFFNstring(ptr%) 3440LOCALa$ 3450WHILE ?ptr%<>0:a$+=CHR$(?ptr%):ptr%+=1:ENDWHILE 3460=a$ 3470 3480DEFPROCQuickSave 3490IF INSTR(FNGetString(SaveW%,1),".") THEN 3500 PROCsave 3510ELSE:PROCreport("To save, drag the icon to a directory viewer",16) 3520ENDIF:SYS"Wimp_CreateMenu",-1 3530ENDPROC 3540 3550REM---Editor procs--- 3560 3570DEFPROCload(path$) 3580LOCALt$,w%,d% 3590PROCUi(SaveW%,1,"Slickfile") 3600Mask%=M1%:IFLearn%PROClearn(0) 3610FORn%=1TO4:PROCUi(GW%(n%),0,""):NEXT 3620F%=OPENIN(path$) 3630FORn%=0TO29:C%(n%)=BGET#F%:NEXT:w%=BGET#F% 3640INPUT#F%,t$:ExtD%=BGET#F%:ExtD%=ExtD%*2 3650IFExtD%THEN 3660 FORb%=0TOExtD%-1:Demo%?b%=BGET#F%:NEXT 3670ENDIF 3680CLOSE#F%:PROCUi(GW%(w%),0,t$) 3690PROCopenGW(w%):PROCtransfer(2):L$=FNGetLeaf(path$,32):PROCa(0) 3700ENDPROC 3710 3720DEFPROCtransfer(m%) 3730CASEm%OF 3740 WHEN1:FORn%=0TO29:IFC1%(n%)=0C1%(n%)=7 3750 NEXT:C%()=C1%() 3760 FORn%=11TO12:PROCSi(GW%(Wopen%),n%):NEXT 3770 PROCDm(Smenu%,0):PROCUi(EditW%,13,"Clear") 3780 PROCHi(EditW%,14):PROCLi(EditW%,15) 3790 WHEN2:FORn%=0TO29:IFC%(n%)=7C%(n%)=0 3800 NEXT:C1%()=C%() 3810 IFShape%=7PROCexW(250):SYS"Wimp_SetCaretPosition",-1 3820 IFShape%PROCLi(EditW%,Shape%):Shape%=0 3830 PROCUsi(GW%(Wopen%),11) 3840 IFExtD%PROCUsi(GW%(Wopen%),12)ELSEPROCSi(GW%(Wopen%),12) 3850 PROCEm(Smenu%,0):PROCUi(EditW%,13,"Learn") 3860 PROCHi(EditW%,15):PROCLi(EditW%,14) 3870ENDCASE 3880PROCmoves(0):PROCfr:Opmode%=m%:Ptr%=0 3890ENDPROC 3900 3910DEFPROCopenGW(i%) 3920PROCUi(EditW%,12,FNGetString(GW%(i%),0)) 3930SYS"Wimp_GetCaretPosition",,B%:IF!B%=EditW%PROCSetCaret(EditW%,12) 3940Space%=22-(i%*5):IFSpace%=17Space%=16 3950PROCmeter:IFModeOk%PROCOpenW(GW%(i%)) 3960IFi%=Wopen%ENDPROC 3970PROCHi(EditW%,i%+7) 3980IFWopen%THEN 3990 PROCCloseW(GW%(Wopen%)):PROCLi(EditW%,Wopen%+7) 4000 FORn%=11TO12:PROCSi(GW%(Wopen%),n%):NEXT 4010ENDIF 4020Wopen%=i% 4030CASEWopen%OF 4040 WHEN1:Wx%=4:Wy%=4:Yb%=-400:Xr%=400 4050 WHEN2:Wx%=5:Wy%=4:Yb%=-400:Xr%=480 4060 WHEN3:Wx%=5:Wy%=5:Yb%=-480:Xr%=480 4070 WHEN4:Wx%=6:Wy%=5:Yb%=-480:Xr%=560 4080ENDCASE 4090ENDPROC 4100 4110DEFPROCshape(s%) 4120CASEs%OF 4130 WHEN7:IFWopen%PROCexW(360) 4140 OTHERWISE:IFShape%=7PROCexW(250):SYS"Wimp_SetCaretPosition",-1 4150ENDCASE 4160IFShape%PROCLi(EditW%,Shape%) 4170PROCHi(EditW%,s%):Shape%=s% 4180ENDPROC 4190 4200DEFPROCexW(h%) 4210!B%=EditW%:SYS"Wimp_GetWindowState",,B% 4220B%!8=B%!16-h%:B%!28=-1:SYS"Wimp_OpenWindow",,B% 4230ENDPROC 4240 4250DEFPROClearn(b%) 4260ExtD%=0:PROCUsi(EditW%,14) 4270CASEb%OF 4280 WHEN0:Learn%=0:!Demo%=0 4290 WHEN1,4:PROCSi(GW%(Wopen%),12):PROCDm(Smenu%,0) 4300 PROCSi(EditW%,14):PROCLi(EditW%,15):Learn%=-1 4310 IFb%=4!Demo%=0:PROCreset:IFA$=""PROCa(-1) 4320 WHEN2:PROCEm(Smenu%,0):PROCHi(EditW%,15):Learn%=0 4330 IF!Demo%>0PROCUsi(GW%(Wopen%),12):ExtD%=Move%*2 4340ENDCASE 4350PROCAi 4360ENDPROC 4370 4380DEFPROCplot(b%,x%,y%) 4390LOCALcell%,s%,l%,h%:l%=160:h%=160 4400x%=(x%-Ox%)DIV80:y%=(Oy%-y%)DIV80:cell%=x%-1+((y%-1)*6) 4410CASEb%OF 4420 WHEN1:IFC%(cell%)=7ENDPROC 4430 IFC%(cell%)>7cell%=C%(cell%)-10:x%=cell%MOD6+1:y%=cell%DIV6+1 4440 s%=C%(cell%):PROCc(7,cell%) 4450 WHEN4:IFNOTFNedge(x%,y%,cell%)SOUND1,-15,40,2:ENDPROC 4460 s%=Shape%:PROCc(s%,cell%) 4470ENDCASE:x%=x%*80:y%=(y%+1)*80 4480IFs%=2l%=80 4490IFs%=3h%=80 4500IFs%=4l%=80:h%=80 4510SYS&400D1,GW%(Wopen%),x%,-y%,x%+l%,-y%+h% 4520PROCmeter:ExtD%=0:IFA$=""PROCa(-1) 4530ENDPROC 4540 4550DEFFNedge(x%,y%,c%) 4560LOCALok% 4570CASEShape%OF 4580 WHEN1,5,6:IFx%>0IFx%<Wx%IFy%>1IFy%<=Wy%ok%=-1 4590 WHEN2:IFx%>0IFx%<=Wx%IFy%>1IFy%<=Wy%ok%=-1 4600 WHEN3:IFx%>0IFx%<Wx%IFy%>=1IFy%<=Wy%ok%=-1 4610 WHEN4:IFx%>0IFx%<=Wx%IFy%>=1IFy%<=Wy%ok%=-1 4620ENDCASE 4630IFok%THEN=FNfit(c%) ELSE=0 4640 4650DEFFNfit(c%) 4660LOCALok% 4670CASEShape%OF 4680 WHEN1:IFC%(c%)=7IFC%(c%-6)=7IFC%(c%-5)=7IFC%(c%+1)=7ok%=-1 4690 WHEN2:IFC%(c%)=7IFC%(c%-6)=7ok%=-1 4700 WHEN3:IFC%(c%)=7IFC%(c%+1)=7ok%=-1 4710 WHEN4:IFC%(c%)=7ok%=-1 4720 WHEN5:IFC%(c%)=7IFC%(c%-6)=7IFC%(c%-5)=7ok%=-1 4730 WHEN6:IFC%(c%)=7IFC%(c%-5)=7IFC%(c%+1)=7ok%=-1 4740ENDCASE 4750=ok% 4760 4770DEFPROCmeter 4780LOCALn%,c%,x1%,x2%,x3% 4790FORn%=0TO29:IFC%(n%)=7c%+=1 4800NEXT:IFc%=Space%PROCUsi(EditW%,15)ELSEPROCSi(EditW%,15) 4810FORn%=5TO29STEP6:IFC%(n%)<>7x1%=-1:x2%=-1:x3%=-1 4820NEXT:FORn%=4TO22STEP6:IFC%(n%)<>7x1%=-1 4830NEXT:FORn%=24TO28:IFC%(n%)<>7x1%=-1:x2%=-1 4840NEXT:IFx1%PROCSi(EditW%,8)ELSEPROCUsi(EditW%,8) 4850IFx2%PROCSi(EditW%,9)ELSEPROCUsi(EditW%,9) 4860IFx3%PROCSi(EditW%,10)ELSEPROCUsi(EditW%,10) 4870ENDPROC 4880 4890DEFPROCc(s%,c%) 4900CASEs%OF 4910 WHEN0:s%=C%(c%):C%(c%)=0:n%=0 4920 WHEN7:s%=C%(c%):C%(c%)=7:n%=7 4930 OTHERWISE:C%(c%)=s%:n%=c%+10 4940ENDCASE 4950CASEs%OF 4960 WHEN1:C%(c%-6)=n%:C%(c%-5)=n%:C%(c%+1)=n% 4970 WHEN2:C%(c%-6)=n% 4980 WHEN3:C%(c%+1)=n% 4990 WHEN5:C%(c%-6)=n%:C%(c%-5)=n% 5000 WHEN6:C%(c%-5)=n%:C%(c%+1)=n% 5010ENDCASE 5020ENDPROC 5030 5040DEFPROCclear 5050C%()=7:PROCmeter:PROCfr 5060FORn%=1TO4:PROCUi(GW%(n%),0,""):NEXT 5070PROCUi(EditW%,12,""):PROCUi(SaveW%,1,"Slickfile"):L$="":PROCa(0) 5080ENDPROC 5090 5100DEFPROCfr 5110SYS&400D1,GW%(Wopen%),80,Yb%,Xr%,-80 5120ENDPROC 5130 5140DEFPROCa(data%) 5150LOCALn% 5160CASEdata%OF 5170 WHEN TRUE :A$="*" 5180 WHEN FALSE:A$="" 5190ENDCASE 5200CASEL$OF 5210 WHEN"":FORn%=1TO4:PROCtitle(GW%(n%),FNdefault(n%)):NEXT 5220 OTHERWISE:FORn%=1TO4:PROCtitle(GW%(n%),L$+A$):NEXT 5230ENDCASE 5240ENDPROC 5250 5260DEFFNdefault(n%) 5270CASEn%OF 5280 WHEN1:t$="4x4 " 5290 WHEN2:t$="5x4 " 5300 WHEN3:t$="5x5 " 5310 WHEN4:t$="6x5 " 5320ENDCASE 5330=t$+A$ 5340 5350DEFFNok(from%) 5360LOCALok%,m$:m$="You have unsaved data, " 5370CASELENA$OF 5380 WHEN0:ok%=TRUE 5390 WHEN1:CASEfrom%OF 5400 WHEN1:PROCreport(m$+"do you still want to Quit?",19) 5410 IFSelect%=1ok%=TRUE 5420 WHEN2:PROCreport(m$+"proceed with load?",19) 5430 IFSelect%=1ok%=TRUE 5440 ENDCASE 5450ENDCASE 5460=ok% 5470 5480REM---Game procs--- 5490 5500DEFPROCselect(b%,x%,y%) 5510LOCALs$,x1%,y1% 5520M%=0:x1%=(x%-Ox%)DIV80:y1%=(Oy%-y%)DIV80 5530cell%=x1%-1+((y1%-1)*6):IFC%(cell%)>7cell%=C%(cell%)-10 5540Piece%=C%(cell%):x%=cell%MOD6+1:y%=cell%DIV6+1:X%=x%*80:Y%=(y%+1)*80 5550CASEPiece%OF 5560 WHEN1:s$="EKLJ" 5570 WHEN2:IFy1%<y%s$="EFGD"ELSEs$="EFDG" 5580 WHEN3:IFx1%>x%s$="HAIJ"ELSEs$="AHIJ" 5590 WHEN4:IFb%=1s$="ABCD"ELSEs$="CDAB" 5600 WHEN5:s$="EMLN" 5610 WHEN6:s$="OKPJ" 5620ENDCASE 5630Cell%=cell%:PROCseq(s$,cell%,x%,y%) 5640Ptr%=0:IFLearn%:IFA$=""PROCa(-1) 5650ENDPROC 5660 5670DEFPROCseq(s$,c%,x%,y%) 5680LOCALs%,n%,m% 5690FORs%=1TO4:n%=0:IFNOTM%THEN 5700 CASEMID$(s$,s%,1)OF 5710 WHEN"A":IFx%>1n%=1:IFx%>2n%=2 5720 IFn%IFC%(c%-1)=0m%=1:IFn%=2IFC%(c%-2)=0m%=2 5730 IFm%PROCmove(2,-m%) 5740 WHEN"B":IFx%<Wx%n%=1:IFx%<Wx%-1n%=2 5750 IFn%IFC%(c%+1)=0m%=1:IFn%=2IFC%(c%+2)=0m%=2 5760 IFm%PROCmove(2,m%) 5770 WHEN"C":IFy%>1n%=1:IFy%>2n%=2 5780 IFn%IFC%(c%-6)=0m%=1:IFn%=2IFC%(c%-12)=0m%=2 5790 IFm%PROCmove(1,-m%) 5800 WHEN"D":IFy%<Wy%n%=1:IFy%<Wy%-1n%=2 5810 IFn%IFC%(c%+6)=0m%=1:IFn%=2IFC%(c%+12)=0m%=2 5820 IFm%PROCmove(1,m%) 5830 WHEN"E":IFx%>1IFC%(c%-1)=0IFC%(c%-7)=0PROCmove(2,-1) 5840 WHEN"F":IFx%<Wx%IFC%(c%+1)=0IFC%(c%-5)=0PROCmove(2,1) 5850 WHEN"G":IFy%>2n%=y%DIV2:IFn%IFC%(c%-12)=0m%=1:IFn%=2IFC%(c%-18)=0m%=2 5860 IFm%PROCmove(1,-m%) 5870 WHEN"H":IFx%<Wx%-1n%=1:IFx%<Wx%-2n%=2 5880 IFn%IFC%(c%+2)=0m%=1:IFn%=2IFC%(c%+3)=0m%=2 5890 IFm%PROCmove(2,m%) 5900 WHEN"I":IFy%>1IFC%(c%-6)=0IFC%(c%-5)=0PROCmove(1,-1) 5910 WHEN"J":IFy%<Wy%IFC%(c%+6)=0IFC%(c%+7)=0PROCmove(1,1) 5920 WHEN"K":IFx%<Wx%-1IFC%(c%+2)=0IFC%(c%-4)=0PROCmove(2,1) 5930 WHEN"L":IFy%>2IFC%(c%-12)=0IFC%(c%-11)=0PROCmove(1,-1) 5940 WHEN"M":IFx%<Wx%-1IFC%(c%+1)=0IFC%(c%-4)=0PROCmove(2,1) 5950 WHEN"N":IFy%<Wy%IFC%(c%+6)=0IFC%(c%+1)=0PROCmove(1,1) 5960 WHEN"O":IFx%>1IFC%(c%-1)=0IFC%(c%-6)=0PROCmove(2,-1) 5970 WHEN"P":IFy%>2IFC%(c%-6)=0IFC%(c%-11)=0PROCmove(1,-1) 5980 ENDCASE 5990ENDIF:NEXT 6000ENDPROC 6010 6020DEFPROCmove(a%,d%) 6030LOCALs%,i% 6040s%=SGN(d%)*4:IFMask%=M0%s%=s%*5 6050!B%=GW%(Wopen%):B%!4=80:B%!8=Yb%:B%!12=Xr%:B%!16=-80 6060SYS&400C9,,B%TOm%:sound%=m% 6070WHILEm%:WAIT:SYS&2E,34+512,Sarea%,S%(Piece%),Ox%+X%,Oy%-Y%,3 6080 CASEa%OF 6090 WHEN1:i%=Y%+(d%*80-4*SGN(d%)) 6100 FORz%=Y%TOi%STEPs% 6110 SYS&2E,34+512,Sarea%,S%(Piece%),Ox%+X%,Oy%-z%,3:WAIT 6120 SYS&2E,34+512,Sarea%,S%(Piece%),Ox%+X%,Oy%-z%,3 6130 NEXT:SYS&2E,34+512,Sarea%,S%(Piece%),Ox%+X%,Oy%-z%,3 6140 WHEN2:i%=X%+(d%*80-4*SGN(d%)) 6150 FORz%=X%TOi%STEPs% 6160 SYS&2E,34+512,Sarea%,S%(Piece%),Ox%+z%,Oy%-Y%,3:WAIT 6170 SYS&2E,34+512,Sarea%,S%(Piece%),Ox%+z%,Oy%-Y%,3 6180 NEXT:SYS&2E,34+512,Sarea%,S%(Piece%),Ox%+z%,Oy%-Y%,3 6190 ENDCASE 6200SYS&400CA,,B%TOm%:ENDWHILE:IFSon%:IFsound%SOUND1,-10,55,1 6210IFLearn% Demo%?(Move%*2)=Cell%:Demo%?(Move%*2+1)=(a%*16)+(d%+2) 6220PROCc(0,Cell%):IFa%=1PROCc(Piece%,Cell%+d%*6)ELSEPROCc(Piece%,Cell%+d%) 6230M%=TRUE:IFMove%<9999PROCmoves(Move%+1) 6240ENDPROC 6250 6260DEFPROCdemo 6270Cell%=Demo%?Ptr%:Piece%=C%(Cell%):X%=(Cell%MOD6+1)*80:Y%=(Cell%DIV6+2)*80 6280PROCmove((Demo%?(Ptr%+1)AND240)DIV16,(Demo%?(Ptr%+1)AND15)-2) 6290Ptr%+=2:IFPtr%=ExtD%Mask%=M1%:Opmode%=2 6300ENDPROC 6310 6320DEFPROCreset 6330C%()=C1%():PROCmoves(0):PROCfr:Opmode%=2:Ptr%=0:IFLearn% !Demo%=0 6340ENDPROC 6350 6360DEFPROCmoves(m%) 6370PROCUi(GW%(Wopen%),10,STR$m%):Move%=m%:IFLearn%=0ENDPROC 6380IFMove%=Bytemax%THEN 6390 PROCreport("Can't accept more moves-aborting Learn!",16):PROClearn(2) 6400ENDIF 6410ENDPROC 6420 6430DEFPROCsave 6440path$=FNGetString(SaveW%,1) 6450F%=OPENOUT(path$) 6460FORn%=0TO29:b%=C1%(n%):IFb%=0b%=7 6470BPUT#F%,b%:NEXT:BPUT#F%,Wopen% 6480PRINT#F%,FNGetString(GW%(Wopen%),0) 6490IFExtD%THEN 6500 BPUT#F%,ExtD%DIV2:FORb%=0TOExtD%-1:BPUT#F%,Demo%?b%:NEXT 6510ELSE:BPUT#F%,0 6520ENDIF 6530CLOSE#F% 6540OSCLI"SetType "+path$+" 004" 6550L$=FNGetLeaf(path$,32):PROCa(0) 6560ENDPROC 6570
� >$.!Slicker.!RunImage *Version$="1.00 (Sep'95)":� (c) G.BERRY (�preinit 2�sprites <�windows F �menus P�iconbar Z �postinit d �autoload n x� � �error(3) � �ȕ � Quit:�poll:� �ș"Wimp_CloseDown":� � � ��preinit �:App$="!Slicker":ș"Wimp_Initialise",200,&4B534154,App$ �� � �error(1) �� B% 500,E% 255 �!� Iind% 70,Eind% 80,Sind% 270 �1� W44ind% 60,W54ind% 60,W55ind% 60,W65ind% 60 �#� Iname% 11,Ename% 11,Sname% 11 �5� W44name% 11,W54name% 11,W55name% 11,W65name% 11 �� Imenu% 99,Smenu% 51 :�GW%(4),S%(7),C%(29),C1%(29),Demo% 511:C%()=7:!Demo%=0 BQuit=0:IconB%=-2:M0%=6192:M1%=6193:Mask%=M1%:Wopen%=0:Shape%=0 FOpmode%=1:Learn%=0:Move%=0:ExtD%=0:Ptr%=0:Bytemax%=255:A$="":L$="" "+Son%=1:�"ChannelVoice 1 WaveSynth-Beep" ,� 6 @ ��sprites JF%=�"<Obey$Dir>.Sprites" T/�F%=0 � 1,"file !Slicker.Sprites not found" ^size%=�#F%+4:�#F% h,� Sarea% size%:!Sarea%=size%:Sarea%!8=16 r4ș"OS_SpriteOp",&10A,Sarea%,"<Obey$Dir>.Sprites" |8�n%=1�7:ș"OS_SpriteOp",24+256,Sarea%,�n%�,,S%(n%):� �� � � ��windows �0$Iname%="Info":$Ename%="Edit":$Sname%="Save" �C$W44name%="w44":$W54name%="w54":$W55name%="w55":$W65name%="w65" �1ș"Wimp_OpenTemplate",,"<Obey$Dir>.Templates" �8ș"Wimp_LoadTemplate",,B%,Iind%,Iind%+70,-1,Iname%,0 �B%!368=Sarea% �&ș"Wimp_CreateWindow",,B% � InfoW% �>ș"Wimp_LoadTemplate",,B%,W44ind%,W44ind%+60,-1,W44name%,0 �B%!64=Sarea% �&ș"Wimp_CreateWindow",,B% � GW%(1) �>ș"Wimp_LoadTemplate",,B%,W54ind%,W54ind%+60,-1,W54name%,0 B%!64=Sarea% &ș"Wimp_CreateWindow",,B% � GW%(2) >ș"Wimp_LoadTemplate",,B%,W55ind%,W55ind%+60,-1,W55name%,0 &B%!64=Sarea% 0&ș"Wimp_CreateWindow",,B% � GW%(3) :>ș"Wimp_LoadTemplate",,B%,W65ind%,W65ind%+60,-1,W65name%,0 DB%!64=Sarea% N&ș"Wimp_CreateWindow",,B% � GW%(4) X8ș"Wimp_LoadTemplate",,B%,Eind%,Eind%+80,-1,Ename%,0 bB%!64=Sarea%:B%!4=B%!12-250 l&ș"Wimp_CreateWindow",,B% � EditW% v9ș"Wimp_LoadTemplate",,B%,Sind%,Sind%+270,-1,Sname%,0 �&ș"Wimp_CreateWindow",,B% � SaveW% �ș"Wimp_CloseTemplate" �� � ���menus �/��DLD:�SetUpMenu(Imenu%):�SetUpMenu(Smenu%) �� � � ��iconbar �J!B%=-1:B%!4=0:B%!8=0:B%!12=68:B%!16=68:B%!20=&3002:$(B%+24)="!Slicker" �!ș"Wimp_CreateIcon",,B% � Ib% �� � ��postinit =�Ui(InfoW%,7,�Version$,13)):�Hi(EditW%,14):�Si(EditW%,15) )�n%=1�4:�i%=11�12:�Si(GW%(n%),i%):�:� �Dm(Smenu%,0):�mode *� 4 > ��mode H Ȏ � � R �12,14:ModeOk%=� \2 :�CloseW(EditW%):�Wopen%�CloseW(GW%(Wopen%)) f ModeOk%=0 p� z� � ���autoload �ș"OS_GetEnv" � path$ �3� �path$,1)<>" " �load(�path$,�path$,""" ")+2)) �� � ���SetUpMenu(menu%) �4�title$,num%:$menu%=title$:width%=(�title$-2)*16 �8menu%!12=&70207:menu%!20=44:menu%!24=0:ptr%=menu%+28 ��n%=1 � num% � �mflags%,subptr%,item$ �B !ptr%=mflags%:ptr%!4=subptr%:ptr%!8=&7000021:$(ptr%+12)=item$ �* l%=(�item$+1)*16:�l%>width% width%=l% ptr%+=24 �:menu%!16=width% � $ .�---Menu data--- 8 B� icon bar menu L7�Slicker,3,0,InfoW%,Info,0,-1,Open Edit,&80,-1,Quit V `� Save menu j�Slicker,1,&80,SaveW%,Save t ~�---Wimp procs--- � � ��poll �ș&400C7,Mask%,B% � r% � Ȏr%� � �0:�demo � �1:�redraw �' �2:�ModeOk%ș"Wimp_OpenWindow",,B% �9 �!B%=GW%(Wopen%)Ox%=B%!4-B%!20:Oy%=B%!16-B%!24 �@ �3:ș"Wimp_CloseWindow",,B%:�!B%=GW%(Wopen%)�CloseW(EditW%) � �6:�click(B%!8,B%!12,B%!16) � �7:�DragFinished � �8:�key(!B%,B%!24) �9:�menuselect(!B%) �17,18:�receive(B%!16) � � ( 2��redraw <3ș&400C8,,B% �m%:Ox%=B%!4-B%!20:Oy%=B%!16-B%!24 F/ȕm%:�n%=0�29:x%=(n%�6+1)*80:y%=(n%�6+2)*80 PD �C%(n%)<8:�C%(n%)ș&2E,34+512,Sarea%,S%(C%(n%)),Ox%+x%,Oy%-y%,3 Z�:ș&400CA,,B% �m%:� d� n x��click(b%,w%,i%) � Ȏw%� � �IconB%:Ȏb%� � �1:Son%=Son%�1 �0 �2:�showmenu(Imenu%,!B%-64,228) � �4:�ModeOk%� �2 �Wopen%�OpenW(GW%(Wopen%)) �0 �Opmode%=1�OpenW(EditW%) �? �:�report("Switch to mode 12 or 14!",16) � � � � � �EditW%:ȎOpmode%� � �1:Ȏb%� � �4:Ȏi%� 8 �1,2,3,4,5,6,7:�shape(i%) 7 �8,9,10,11:�openGW(i%-7) 0 �13:�Wopen%�clear "/ �15:�transfer(2) , � 6 � @ �2:Ȏb%� J+ �1:�i%=13�Learn%=0� T? �Ptr%>0�Ptr%�2<Bytemax%�learn(1) ^ � h �4:Ȏi%� r* �8,9,10,11: |? �i%-7=Wopen%�OpenW(GW%(Wopen%)) �5 �13:�Learn%=0�learn(4) �/ �14:�transfer(1) �3 �15:�Learn%�learn(2) � � � � � � �" �GW%(1),GW%(2),GW%(3),GW%(4): � ȎOpmode%� � �1:Ȏb%� �* �1,4:�i%=8�plot(b%,!B%,B%!4) �3 �2:�i%<8�showmenu(Smenu%,!B%-64,B%!4) � � � �2:Ȏb%� �1,4:Ȏi%� . �8:�select(b%,!B%,B%!4) ! �11:�reset &< �12:�reset:Mask%=M0%:Ptr%=0:Opmode%=3 0 � :3 �2:�i%<8�showmenu(Smenu%,!B%-64,B%!4) D � N �3:�i%=11�reset:Mask%=M1% X � b �SaveW%:Ȏb%� l% �1,4:�i%=2�QuickSave v �16,64:�drag � � �� �� � ���key(w%,k%) � Ȏk%� � �13:Ȏw%� �= �EditW%:�Ui(GW%(Wopen%),0,�GetString(EditW%,12)) �$ �A$=""�a(-1) � �SaveW%:�QuickSave �% :ș"Wimp_ProcessKey",k% � � � :ș"Wimp_ProcessKey",k% � � ��menuselect(menu%) *ȎMenuopen%� 4 �Imenu%:Ȏmenu%� > �1:�ModeOk%� HA �OpenW(EditW%):�Wopen%�OpenW(GW%(Wopen%)) R � \" �2:�ok(1) Quit=� f � p �Smenu%:�menu%=0�QuickSave z� �� � ���showmenu(menu%,x%,y%) �$ș"Wimp_CreateMenu",,menu%,x%,y% �Menuopen%=menu% �� � ���receive(m%) � Ȏm%� � �0:Quit=� � �2:�DataSave �0 �3:�B%!40=&004�ok(2) �load(�string(B%+44)) �9 �5:�B%!40=&004�loadack:�ok(2) �load(�string(B%+44)) �&400C1:�mode � � $ . ��loadack 8B%!12=B%!8:B%!16=4:!B%=64 B#ș"Wimp_SendMessage",17,B%,B%!4 L� V `��report(err$,bit%) j6name$=App$:� bit% � 16 name$="Message from "+name$ t!E%=255:$(E%+4)=err$+�(0) ~0ș"Wimp_ReportError",E%,bit%,name$ �,Select% �� � ���error(bit%) �Ge$=";internal error code "+Þ:�bit%=3e$+=";press [CANCEL] to quit." �+�report(�$+e$,bit%):�bit%=3:�Select%=1� �ș"Wimp_CloseDown":� �� � ���OpenW(!B%) �ș"Wimp_GetWindowState",,B% �$B%!28=-1:ș"Wimp_OpenWindow",,B% �� ��CloseW(!B%) ș"Wimp_CloseWindow",,B% � ( 2��Ui(!B%,B%!4,t$) <8ș&400CE,,B%:$(B%!28)=t$:B%!8=0:B%!12=0:ș&400CD,,B% F� P Z��Hi(!B%,B%!4) d'B%!8=1<<21:B%!12=1<<21:ș&400CD,,B% n� x ���Li(!B%,B%!4) �#B%!8=0:B%!12=1<<21:ș&400CD,,B% �� � ���Ai �!B%=EditW%:B%!4=13 � ȎLearn%� �/ �0 :B%!8=%11100111000000001001000000000000 �/ �-1:B%!8=%01111110000000000011000000000000 �� �+B%!12=%11111111000000001111000000000000 �ș"Wimp_SetIconState",,B% �� ��Si(!B%,B%!4) 'B%!8=1<<22:B%!12=1<<22:ș&400CD,,B% "� , 6��Usi(!B%,B%!4) @#B%!8=0:B%!12=1<<22:ș&400CD,,B% J� T ^ݤGetString(!B%,B%!4) hș"Wimp_GetIconState",,B% r.� ((B%!24) � &100)=0 �=$(B%+28) �=$(B%!28) | ���Dm(menu%,item%) �3menu%!(36+item%*24)=menu%!(36+item%*24)�(1<<22) �� � ���Em(menu%,item%) ��Dm(menu%,item%) �3menu%!(36+item%*24)=menu%!(36+item%*24)�(1<<22) �� � ���SetCaret(w%,i%) �;ș"Wimp_SetCaretPosition",w%,i%,,,-1,��GetString(w%,i%) �� � ��title(!B%,t$) ș"Wimp_GetWindowInfo",,B% ptr%=!(B%+76):$ptr%=t$ &E�!B%=GW%(Wopen%)ș"Wimp_ForceRedraw",-1,B%!4,B%!16,B%!12,B%!16+36 0� : D ��drag N*!B%=SaveW%:ș"Wimp_GetWindowState",,B% X)ox%=B%!4-B%!20:oy%=B%!16-B%!24:B%!4=0 bș"Wimp_GetIconState",,B% l(B%!4=5:B%!8=ox%+B%!8:B%!12=oy%+B%!12 v#B%!16=ox%+B%!16:B%!20=oy%+B%!20 �1B%!24=0:B%!28=0:B%!32=&7FFFFFF:B%!36=&7FFFFFF �ș"Wimp_DragBox",,B% �� � ���DragFinished �:path$=�GetString(SaveW%,1):ș"Wimp_GetPointerInfo",,B% �0B%!20=B%!12:B%!24=B%!16:B%!28=!B%:B%!32=B%!4 �4B%!36=71+ExtD%:!B%=64:B%!12=0:B%!16=1:B%!40=&004 �$(B%+44)=�GetLeaf(path$,0) �*ș"Wimp_SendMessage",17,B%,B%!20,B%!24 �� � �ݤGetLeaf(a$,c%) $ȕ �a$,"."):a$=�a$,�a$,".")+1):� =a$+�c% ��DataSave * �Ui(SaveW%,1,�string(B%+44)) 4$�save:B%!12=B%!8:B%!16=3:!B%=256 >*ș"Wimp_SendMessage",17,B%,B%!20,B%!24 Hș"Wimp_CreateMenu",-1 R� \ fݤstring(ptr%) p�a$ z&ȕ ?ptr%<>0:a$+=�(?ptr%):ptr%+=1:� �=a$ � ���QuickSave �"� ��GetString(SaveW%,1),".") � � �save �@�:�report("To save, drag the icon to a directory viewer",16) ��:ș"Wimp_CreateMenu",-1 �� � ��---Editor procs--- � ���load(path$) � �t$,w%,d% �Ui(SaveW%,1,"Slickfile") Mask%=M1%:�Learn%�learn(0) �n%=1�4:�Ui(GW%(n%),0,""):� $F%=�(path$) ."�n%=0�29:C%(n%)=�#F%:�:w%=�#F% 8$�#F%,t$:ExtD%=�#F%:ExtD%=ExtD%*2 B�ExtD%� L" �b%=0�ExtD%-1:Demo%?b%=�#F%:� V� `�#F%:�Ui(GW%(w%),0,t$) j8�openGW(w%):�transfer(2):L$=�GetLeaf(path$,32):�a(0) t� ~ ���transfer(m%) � Ȏm%� �$ �1:�n%=0�29:�C1%(n%)=0C1%(n%)=7 � �:C%()=C1%() �* �n%=11�12:�Si(GW%(Wopen%),n%):� �/ �Dm(Smenu%,0):�Ui(EditW%,13,"Clear") �( �Hi(EditW%,14):�Li(EditW%,15) �" �2:�n%=0�29:�C%(n%)=7C%(n%)=0 � �:C1%()=C%() �: �Shape%=7�exW(250):ș"Wimp_SetCaretPosition",-1 �- �Shape%�Li(EditW%,Shape%):Shape%=0 � �Usi(GW%(Wopen%),11) 9 �ExtD%�Usi(GW%(Wopen%),12)��Si(GW%(Wopen%),12) / �Em(Smenu%,0):�Ui(EditW%,13,"Learn") ( �Hi(EditW%,15):�Li(EditW%,14) � (#�moves(0):�fr:Opmode%=m%:Ptr%=0 2� < F��openGW(i%) P(�Ui(EditW%,12,�GetString(GW%(i%),0)) ZAș"Wimp_GetCaretPosition",,B%:�!B%=EditW%�SetCaret(EditW%,12) d(Space%=22-(i%*5):�Space%=17Space%=16 n"�meter:�ModeOk%�OpenW(GW%(i%)) x�i%=Wopen%� ��Hi(EditW%,i%+7) ��Wopen%� �. �CloseW(GW%(Wopen%)):�Li(EditW%,Wopen%+7) �$ �n%=11�12:�Si(GW%(Wopen%),n%):� �� � Wopen%=i% � ȎWopen%� �$ �1:Wx%=4:Wy%=4:Yb%=-400:Xr%=400 �$ �2:Wx%=5:Wy%=4:Yb%=-400:Xr%=480 �$ �3:Wx%=5:Wy%=5:Yb%=-480:Xr%=480 �$ �4:Wx%=6:Wy%=5:Yb%=-480:Xr%=560 �� �� ��shape(s%) Ȏs%� " �7:�Wopen%�exW(360) ,6 :�Shape%=7�exW(250):ș"Wimp_SetCaretPosition",-1 6� @�Shape%�Li(EditW%,Shape%) J�Hi(EditW%,s%):Shape%=s% T� ^ h ��exW(h%) r*!B%=EditW%:ș"Wimp_GetWindowState",,B% |2B%!8=B%!16-h%:B%!28=-1:ș"Wimp_OpenWindow",,B% �� � ���learn(b%) �ExtD%=0:�Usi(EditW%,14) � Ȏb%� � �0:Learn%=0:!Demo%=0 �+ �1,4:�Si(GW%(Wopen%),12):�Dm(Smenu%,0) �4 �Si(EditW%,14):�Li(EditW%,15):Learn%=-1 �. �b%=4!Demo%=0:�reset:�A$=""�a(-1) �- �2:�Em(Smenu%,0):�Hi(EditW%,15):Learn%=0 �6 �!Demo%>0�Usi(GW%(Wopen%),12):ExtD%=Move%*2 �� ��Ai � ��plot(b%,x%,y%) &!�cell%,s%,l%,h%:l%=160:h%=160 07x%=(x%-Ox%)�80:y%=(Oy%-y%)�80:cell%=x%-1+((y%-1)*6) : Ȏb%� D �1:�C%(cell%)=7� NC �C%(cell%)>7cell%=C%(cell%)-10:x%=cell%�6+1:y%=cell%�6+1 X# s%=C%(cell%):�c(7,cell%) b) �4:笤edge(x%,y%,cell%)�1,-15,40,2:� l! s%=Shape%:�c(s%,cell%) v�:x%=x%*80:y%=(y%+1)*80 ��s%=2l%=80 ��s%=3h%=80 ��s%=4l%=80:h%=80 �,ș&400D1,GW%(Wopen%),x%,-y%,x%+l%,-y%+h% ��meter:ExtD%=0:�A$=""�a(-1) �� � �ݤedge(x%,y%,c%) ��ok% � ȎShape%� �+ �1,5,6:�x%>0�x%<Wx%�y%>1�y%<=Wy%ok%=-1 �( �2:�x%>0�x%<=Wx%�y%>1�y%<=Wy%ok%=-1 �( �3:�x%>0�x%<Wx%�y%>=1�y%<=Wy%ok%=-1 ) �4:�x%>0�x%<=Wx%�y%>=1�y%<=Wy%ok%=-1 � �ok%�=�fit(c%) �=0 * ݤfit(c%) 4�ok% > ȎShape%� H8 �1:�C%(c%)=7�C%(c%-6)=7�C%(c%-5)=7�C%(c%+1)=7ok%=-1 R" �2:�C%(c%)=7�C%(c%-6)=7ok%=-1 \" �3:�C%(c%)=7�C%(c%+1)=7ok%=-1 f �4:�C%(c%)=7ok%=-1 p- �5:�C%(c%)=7�C%(c%-6)=7�C%(c%-5)=7ok%=-1 z- �6:�C%(c%)=7�C%(c%-5)=7�C%(c%+1)=7ok%=-1 �� �=ok% � ���meter ��n%,c%,x1%,x2%,x3% ��n%=0�29:�C%(n%)=7c%+=1 �.�:�c%=Space%�Usi(EditW%,15)��Si(EditW%,15) �-�n%=5�29�6:�C%(n%)<>7x1%=-1:x2%=-1:x3%=-1 �!�:�n%=4�22�6:�C%(n%)<>7x1%=-1 �'�:�n%=24�28:�C%(n%)<>7x1%=-1:x2%=-1 �&�:�x1%�Si(EditW%,8)��Usi(EditW%,8) �$�x2%�Si(EditW%,9)��Usi(EditW%,9) �&�x3%�Si(EditW%,10)��Usi(EditW%,10) � ��c(s%,c%) $ Ȏs%� . �0:s%=C%(c%):C%(c%)=0:n%=0 8 �7:s%=C%(c%):C%(c%)=7:n%=7 B :C%(c%)=s%:n%=c%+10 L� V Ȏs%� `+ �1:C%(c%-6)=n%:C%(c%-5)=n%:C%(c%+1)=n% j �2:C%(c%-6)=n% t �3:C%(c%+1)=n% ~ �5:C%(c%-6)=n%:C%(c%-5)=n% � �6:C%(c%-5)=n%:C%(c%+1)=n% �� �� � ���clear �C%()=7:�meter:�fr ��n%=1�4:�Ui(GW%(n%),0,""):� �;�Ui(EditW%,12,""):�Ui(SaveW%,1,"Slickfile"):L$="":�a(0) �� � ���fr �'ș&400D1,GW%(Wopen%),80,Yb%,Xr%,-80 � ��a(data%) �n% (Ȏdata%� 2 � � :A$="*" < � �:A$="" F� P ȎL$� Z/ �"":�n%=1�4:�title(GW%(n%),�default(n%)):� d& :�n%=1�4:�title(GW%(n%),L$+A$):� n� x� � �ݤdefault(n%) � Ȏn%� � �1:t$="4x4 " � �2:t$="5x4 " � �3:t$="5x5 " � �4:t$="6x5 " �� � =t$+A$ � �ݤok(from%) �(�ok%,m$:m$="You have unsaved data, " � Ȏ�A$� �0:ok%=� �1:Ȏfrom%� 9 �1:�report(m$+"do you still want to Quit?",19) " �Select%=1ok%=� ,1 �2:�report(m$+"proceed with load?",19) 6 �Select%=1ok%=� @ � J� T=ok% ^ h�---Game procs--- r |��select(b%,x%,y%) ��s$,x1%,y1% �(M%=0:x1%=(x%-Ox%)�80:y1%=(Oy%-y%)�80 �:cell%=x1%-1+((y1%-1)*6):�C%(cell%)>7cell%=C%(cell%)-10 �DPiece%=C%(cell%):x%=cell%�6+1:y%=cell%�6+1:X%=x%*80:Y%=(y%+1)*80 � ȎPiece%� � �1:s$="EKLJ" �" �2:�y1%<y%s$="EFGD"�s$="EFDG" �" �3:�x1%>x%s$="HAIJ"�s$="AHIJ" � �4:�b%=1s$="ABCD"�s$="CDAB" � �5:s$="EMLN" � �6:s$="OKPJ" �� �$Cell%=cell%:�seq(s$,cell%,x%,y%) Ptr%=0:�Learn%:�A$=""�a(-1) � &��seq(s$,c%,x%,y%) 0 �s%,n%,m% :�s%=1�4:n%=0:�M%� D Ȏ�s$,s%,1)� N �"A":�x%>1n%=1:�x%>2n%=2 X5 �n%�C%(c%-1)=0m%=1:�n%=2�C%(c%-2)=0m%=2 b �m%�move(2,-m%) l$ �"B":�x%<Wx%n%=1:�x%<Wx%-1n%=2 v5 �n%�C%(c%+1)=0m%=1:�n%=2�C%(c%+2)=0m%=2 � �m%�move(2,m%) � �"C":�y%>1n%=1:�y%>2n%=2 �6 �n%�C%(c%-6)=0m%=1:�n%=2�C%(c%-12)=0m%=2 � �m%�move(1,-m%) �$ �"D":�y%<Wy%n%=1:�y%<Wy%-1n%=2 �6 �n%�C%(c%+6)=0m%=1:�n%=2�C%(c%+12)=0m%=2 � �m%�move(1,m%) �1 �"E":�x%>1�C%(c%-1)=0�C%(c%-7)=0�move(2,-1) �2 �"F":�x%<Wx%�C%(c%+1)=0�C%(c%-5)=0�move(2,1) �A �"G":�y%>2n%=y%�2:�n%�C%(c%-12)=0m%=1:�n%=2�C%(c%-18)=0m%=2 � �m%�move(1,-m%) �& �"H":�x%<Wx%-1n%=1:�x%<Wx%-2n%=2 �5 �n%�C%(c%+2)=0m%=1:�n%=2�C%(c%+3)=0m%=2 �m%�move(2,m%) 1 �"I":�y%>1�C%(c%-6)=0�C%(c%-5)=0�move(1,-1) 2 �"J":�y%<Wy%�C%(c%+6)=0�C%(c%+7)=0�move(1,1) 4 �"K":�x%<Wx%-1�C%(c%+2)=0�C%(c%-4)=0�move(2,1) *3 �"L":�y%>2�C%(c%-12)=0�C%(c%-11)=0�move(1,-1) 44 �"M":�x%<Wx%-1�C%(c%+1)=0�C%(c%-4)=0�move(2,1) >2 �"N":�y%<Wy%�C%(c%+6)=0�C%(c%+1)=0�move(1,1) H1 �"O":�x%>1�C%(c%-1)=0�C%(c%-6)=0�move(2,-1) R2 �"P":�y%>2�C%(c%-6)=0�C%(c%-11)=0�move(1,-1) \ � f�:� p� z ���move(a%,d%) � �s%,i% � s%=�(d%)*4:�Mask%=M0%s%=s%*5 �8!B%=GW%(Wopen%):B%!4=80:B%!8=Yb%:B%!12=Xr%:B%!16=-80 �ș&400C9,,B%�m%:sound%=m% �:ȕm%:Ȗ:ș&2E,34+512,Sarea%,S%(Piece%),Ox%+X%,Oy%-Y%,3 � Ȏa%� � �1:i%=Y%+(d%*80-4*�(d%)) � �z%=Y%�i%�s% �> ș&2E,34+512,Sarea%,S%(Piece%),Ox%+X%,Oy%-z%,3:Ȗ �; ș&2E,34+512,Sarea%,S%(Piece%),Ox%+X%,Oy%-z%,3 �< �:ș&2E,34+512,Sarea%,S%(Piece%),Ox%+X%,Oy%-z%,3 � �2:i%=X%+(d%*80-4*�(d%)) �z%=X%�i%�s% > ș&2E,34+512,Sarea%,S%(Piece%),Ox%+z%,Oy%-Y%,3:Ȗ ; ș&2E,34+512,Sarea%,S%(Piece%),Ox%+z%,Oy%-Y%,3 $< �:ș&2E,34+512,Sarea%,S%(Piece%),Ox%+z%,Oy%-Y%,3 . � 8.ș&400CA,,B%�m%:�:�Son%:�sound%�1,-10,55,1 BB�Learn% Demo%?(Move%*2)=Cell%:Demo%?(Move%*2+1)=(a%*16)+(d%+2) L>�c(0,Cell%):�a%=1�c(Piece%,Cell%+d%*6)��c(Piece%,Cell%+d%) V#M%=�:�Move%<9999�moves(Move%+1) `� j t ��demo ~ICell%=Demo%?Ptr%:Piece%=C%(Cell%):X%=(Cell%�6+1)*80:Y%=(Cell%�6+2)*80 �8�move((Demo%?(Ptr%+1)�240)�16,(Demo%?(Ptr%+1)�15)-2) �*Ptr%+=2:�Ptr%=ExtD%Mask%=M1%:Opmode%=2 �� � ���reset �>C%()=C1%():�moves(0):�fr:Opmode%=2:Ptr%=0:�Learn% !Demo%=0 �� � ���moves(m%) �/�Ui(GW%(Wopen%),10,�m%):Move%=m%:�Learn%=0� ��Move%=Bytemax%� �D �report("Can't accept more moves-aborting Learn!",16):�learn(2) � � ��save (path$=�GetString(SaveW%,1) 2F%=�(path$) <!�n%=0�29:b%=C1%(n%):�b%=0b%=7 F�#F%,b%:�:�#F%,Wopen% P"�#F%,�GetString(GW%(Wopen%),0) Z�ExtD%� d/ �#F%,ExtD%�2:�b%=0�ExtD%-1:�#F%,Demo%?b%:� n�:�#F%,0 x� ��#F% ��"SetType "+path$+" 004" �L$=�GetLeaf(path$,32):�a(0) �� � �
00000000 0d 00 0a 1b f4 20 3e 24 2e 21 53 6c 69 63 6b 65 |..... >$.!Slicke| 00000010 72 2e 21 52 75 6e 49 6d 61 67 65 0d 00 14 2a 56 |r.!RunImage...*V| 00000020 65 72 73 69 6f 6e 24 3d 22 31 2e 30 30 20 28 53 |ersion$="1.00 (S| 00000030 65 70 27 39 35 29 22 3a f4 20 28 63 29 20 47 2e |ep'95)":. (c) G.| 00000040 42 45 52 52 59 0d 00 1e 04 0d 00 28 0c f2 70 72 |BERRY......(..pr| 00000050 65 69 6e 69 74 0d 00 32 0c f2 73 70 72 69 74 65 |einit..2..sprite| 00000060 73 0d 00 3c 0c f2 77 69 6e 64 6f 77 73 0d 00 46 |s..<..windows..F| 00000070 0a f2 6d 65 6e 75 73 0d 00 50 0c f2 69 63 6f 6e |..menus..P..icon| 00000080 62 61 72 0d 00 5a 0d f2 70 6f 73 74 69 6e 69 74 |bar..Z..postinit| 00000090 0d 00 64 0d f2 61 75 74 6f 6c 6f 61 64 0d 00 6e |..d..autoload..n| 000000a0 04 0d 00 78 11 ee 20 85 20 f2 65 72 72 6f 72 28 |...x.. . .error(| 000000b0 33 29 0d 00 82 04 0d 00 8c 15 c8 95 20 ac 20 51 |3).......... . Q| 000000c0 75 69 74 3a f2 70 6f 6c 6c 3a ce 0d 00 96 18 c8 |uit:.poll:......| 000000d0 99 22 57 69 6d 70 5f 43 6c 6f 73 65 44 6f 77 6e |."Wimp_CloseDown| 000000e0 22 3a e0 0d 00 a0 04 0d 00 aa 0d dd f2 70 72 65 |":...........pre| 000000f0 69 6e 69 74 0d 00 b4 3a 41 70 70 24 3d 22 21 53 |init...:App$="!S| 00000100 6c 69 63 6b 65 72 22 3a c8 99 22 57 69 6d 70 5f |licker":.."Wimp_| 00000110 49 6e 69 74 69 61 6c 69 73 65 22 2c 32 30 30 2c |Initialise",200,| 00000120 26 34 42 35 33 34 31 35 34 2c 41 70 70 24 0d 00 |&4B534154,App$..| 00000130 be 11 ee 20 85 20 f2 65 72 72 6f 72 28 31 29 0d |... . .error(1).| 00000140 00 c8 13 de 20 42 25 20 35 30 30 2c 45 25 20 32 |.... B% 500,E% 2| 00000150 35 35 0d 00 d2 21 de 20 49 69 6e 64 25 20 37 30 |55...!. Iind% 70| 00000160 2c 45 69 6e 64 25 20 38 30 2c 53 69 6e 64 25 20 |,Eind% 80,Sind% | 00000170 32 37 30 0d 00 dc 31 de 20 57 34 34 69 6e 64 25 |270...1. W44ind%| 00000180 20 36 30 2c 57 35 34 69 6e 64 25 20 36 30 2c 57 | 60,W54ind% 60,W| 00000190 35 35 69 6e 64 25 20 36 30 2c 57 36 35 69 6e 64 |55ind% 60,W65ind| 000001a0 25 20 36 30 0d 00 e6 23 de 20 49 6e 61 6d 65 25 |% 60...#. Iname%| 000001b0 20 31 31 2c 45 6e 61 6d 65 25 20 31 31 2c 53 6e | 11,Ename% 11,Sn| 000001c0 61 6d 65 25 20 31 31 0d 00 f0 35 de 20 57 34 34 |ame% 11...5. W44| 000001d0 6e 61 6d 65 25 20 31 31 2c 57 35 34 6e 61 6d 65 |name% 11,W54name| 000001e0 25 20 31 31 2c 57 35 35 6e 61 6d 65 25 20 31 31 |% 11,W55name% 11| 000001f0 2c 57 36 35 6e 61 6d 65 25 20 31 31 0d 00 fa 19 |,W65name% 11....| 00000200 de 20 49 6d 65 6e 75 25 20 39 39 2c 53 6d 65 6e |. Imenu% 99,Smen| 00000210 75 25 20 35 31 0d 01 04 3a de 47 57 25 28 34 29 |u% 51...:.GW%(4)| 00000220 2c 53 25 28 37 29 2c 43 25 28 32 39 29 2c 43 31 |,S%(7),C%(29),C1| 00000230 25 28 32 39 29 2c 44 65 6d 6f 25 20 35 31 31 3a |%(29),Demo% 511:| 00000240 43 25 28 29 3d 37 3a 21 44 65 6d 6f 25 3d 30 0d |C%()=7:!Demo%=0.| 00000250 01 0e 42 51 75 69 74 3d 30 3a 49 63 6f 6e 42 25 |..BQuit=0:IconB%| 00000260 3d 2d 32 3a 4d 30 25 3d 36 31 39 32 3a 4d 31 25 |=-2:M0%=6192:M1%| 00000270 3d 36 31 39 33 3a 4d 61 73 6b 25 3d 4d 31 25 3a |=6193:Mask%=M1%:| 00000280 57 6f 70 65 6e 25 3d 30 3a 53 68 61 70 65 25 3d |Wopen%=0:Shape%=| 00000290 30 0d 01 18 46 4f 70 6d 6f 64 65 25 3d 31 3a 4c |0...FOpmode%=1:L| 000002a0 65 61 72 6e 25 3d 30 3a 4d 6f 76 65 25 3d 30 3a |earn%=0:Move%=0:| 000002b0 45 78 74 44 25 3d 30 3a 50 74 72 25 3d 30 3a 42 |ExtD%=0:Ptr%=0:B| 000002c0 79 74 65 6d 61 78 25 3d 32 35 35 3a 41 24 3d 22 |ytemax%=255:A$="| 000002d0 22 3a 4c 24 3d 22 22 0d 01 22 2b 53 6f 6e 25 3d |":L$="".."+Son%=| 000002e0 31 3a ff 22 43 68 61 6e 6e 65 6c 56 6f 69 63 65 |1:."ChannelVoice| 000002f0 20 31 20 57 61 76 65 53 79 6e 74 68 2d 42 65 65 | 1 WaveSynth-Bee| 00000300 70 22 0d 01 2c 05 e1 0d 01 36 04 0d 01 40 0d dd |p"..,....6...@..| 00000310 f2 73 70 72 69 74 65 73 0d 01 4a 1c 46 25 3d 8e |.sprites..J.F%=.| 00000320 22 3c 4f 62 65 79 24 44 69 72 3e 2e 53 70 72 69 |"<Obey$Dir>.Spri| 00000330 74 65 73 22 0d 01 54 2f e7 46 25 3d 30 20 85 20 |tes"..T/.F%=0 . | 00000340 31 2c 22 66 69 6c 65 20 21 53 6c 69 63 6b 65 72 |1,"file !Slicker| 00000350 2e 53 70 72 69 74 65 73 20 6e 6f 74 20 66 6f 75 |.Sprites not fou| 00000360 6e 64 22 0d 01 5e 15 73 69 7a 65 25 3d a2 23 46 |nd"..^.size%=.#F| 00000370 25 2b 34 3a d9 23 46 25 0d 01 68 2c de 20 53 61 |%+4:.#F%..h,. Sa| 00000380 72 65 61 25 20 73 69 7a 65 25 3a 21 53 61 72 65 |rea% size%:!Sare| 00000390 61 25 3d 73 69 7a 65 25 3a 53 61 72 65 61 25 21 |a%=size%:Sarea%!| 000003a0 38 3d 31 36 0d 01 72 34 c8 99 22 4f 53 5f 53 70 |8=16..r4.."OS_Sp| 000003b0 72 69 74 65 4f 70 22 2c 26 31 30 41 2c 53 61 72 |riteOp",&10A,Sar| 000003c0 65 61 25 2c 22 3c 4f 62 65 79 24 44 69 72 3e 2e |ea%,"<Obey$Dir>.| 000003d0 53 70 72 69 74 65 73 22 0d 01 7c 38 e3 6e 25 3d |Sprites"..|8.n%=| 000003e0 31 b8 37 3a c8 99 22 4f 53 5f 53 70 72 69 74 65 |1.7:.."OS_Sprite| 000003f0 4f 70 22 2c 32 34 2b 32 35 36 2c 53 61 72 65 61 |Op",24+256,Sarea| 00000400 25 2c c3 6e 25 b8 2c 2c 53 25 28 6e 25 29 3a ed |%,.n%.,,S%(n%):.| 00000410 0d 01 86 05 e1 0d 01 90 04 0d 01 9a 0d dd f2 77 |...............w| 00000420 69 6e 64 6f 77 73 0d 01 a4 30 24 49 6e 61 6d 65 |indows...0$Iname| 00000430 25 3d 22 49 6e 66 6f 22 3a 24 45 6e 61 6d 65 25 |%="Info":$Ename%| 00000440 3d 22 45 64 69 74 22 3a 24 53 6e 61 6d 65 25 3d |="Edit":$Sname%=| 00000450 22 53 61 76 65 22 0d 01 ae 43 24 57 34 34 6e 61 |"Save"...C$W44na| 00000460 6d 65 25 3d 22 77 34 34 22 3a 24 57 35 34 6e 61 |me%="w44":$W54na| 00000470 6d 65 25 3d 22 77 35 34 22 3a 24 57 35 35 6e 61 |me%="w54":$W55na| 00000480 6d 65 25 3d 22 77 35 35 22 3a 24 57 36 35 6e 61 |me%="w55":$W65na| 00000490 6d 65 25 3d 22 77 36 35 22 0d 01 b8 31 c8 99 22 |me%="w65"...1.."| 000004a0 57 69 6d 70 5f 4f 70 65 6e 54 65 6d 70 6c 61 74 |Wimp_OpenTemplat| 000004b0 65 22 2c 2c 22 3c 4f 62 65 79 24 44 69 72 3e 2e |e",,"<Obey$Dir>.| 000004c0 54 65 6d 70 6c 61 74 65 73 22 0d 01 c2 38 c8 99 |Templates"...8..| 000004d0 22 57 69 6d 70 5f 4c 6f 61 64 54 65 6d 70 6c 61 |"Wimp_LoadTempla| 000004e0 74 65 22 2c 2c 42 25 2c 49 69 6e 64 25 2c 49 69 |te",,B%,Iind%,Ii| 000004f0 6e 64 25 2b 37 30 2c 2d 31 2c 49 6e 61 6d 65 25 |nd%+70,-1,Iname%| 00000500 2c 30 0d 01 cc 11 42 25 21 33 36 38 3d 53 61 72 |,0....B%!368=Sar| 00000510 65 61 25 0d 01 d6 26 c8 99 22 57 69 6d 70 5f 43 |ea%...&.."Wimp_C| 00000520 72 65 61 74 65 57 69 6e 64 6f 77 22 2c 2c 42 25 |reateWindow",,B%| 00000530 20 b8 20 49 6e 66 6f 57 25 0d 01 e0 3e c8 99 22 | . InfoW%...>.."| 00000540 57 69 6d 70 5f 4c 6f 61 64 54 65 6d 70 6c 61 74 |Wimp_LoadTemplat| 00000550 65 22 2c 2c 42 25 2c 57 34 34 69 6e 64 25 2c 57 |e",,B%,W44ind%,W| 00000560 34 34 69 6e 64 25 2b 36 30 2c 2d 31 2c 57 34 34 |44ind%+60,-1,W44| 00000570 6e 61 6d 65 25 2c 30 0d 01 ea 10 42 25 21 36 34 |name%,0....B%!64| 00000580 3d 53 61 72 65 61 25 0d 01 f4 26 c8 99 22 57 69 |=Sarea%...&.."Wi| 00000590 6d 70 5f 43 72 65 61 74 65 57 69 6e 64 6f 77 22 |mp_CreateWindow"| 000005a0 2c 2c 42 25 20 b8 20 47 57 25 28 31 29 0d 01 fe |,,B% . GW%(1)...| 000005b0 3e c8 99 22 57 69 6d 70 5f 4c 6f 61 64 54 65 6d |>.."Wimp_LoadTem| 000005c0 70 6c 61 74 65 22 2c 2c 42 25 2c 57 35 34 69 6e |plate",,B%,W54in| 000005d0 64 25 2c 57 35 34 69 6e 64 25 2b 36 30 2c 2d 31 |d%,W54ind%+60,-1| 000005e0 2c 57 35 34 6e 61 6d 65 25 2c 30 0d 02 08 10 42 |,W54name%,0....B| 000005f0 25 21 36 34 3d 53 61 72 65 61 25 0d 02 12 26 c8 |%!64=Sarea%...&.| 00000600 99 22 57 69 6d 70 5f 43 72 65 61 74 65 57 69 6e |."Wimp_CreateWin| 00000610 64 6f 77 22 2c 2c 42 25 20 b8 20 47 57 25 28 32 |dow",,B% . GW%(2| 00000620 29 0d 02 1c 3e c8 99 22 57 69 6d 70 5f 4c 6f 61 |)...>.."Wimp_Loa| 00000630 64 54 65 6d 70 6c 61 74 65 22 2c 2c 42 25 2c 57 |dTemplate",,B%,W| 00000640 35 35 69 6e 64 25 2c 57 35 35 69 6e 64 25 2b 36 |55ind%,W55ind%+6| 00000650 30 2c 2d 31 2c 57 35 35 6e 61 6d 65 25 2c 30 0d |0,-1,W55name%,0.| 00000660 02 26 10 42 25 21 36 34 3d 53 61 72 65 61 25 0d |.&.B%!64=Sarea%.| 00000670 02 30 26 c8 99 22 57 69 6d 70 5f 43 72 65 61 74 |.0&.."Wimp_Creat| 00000680 65 57 69 6e 64 6f 77 22 2c 2c 42 25 20 b8 20 47 |eWindow",,B% . G| 00000690 57 25 28 33 29 0d 02 3a 3e c8 99 22 57 69 6d 70 |W%(3)..:>.."Wimp| 000006a0 5f 4c 6f 61 64 54 65 6d 70 6c 61 74 65 22 2c 2c |_LoadTemplate",,| 000006b0 42 25 2c 57 36 35 69 6e 64 25 2c 57 36 35 69 6e |B%,W65ind%,W65in| 000006c0 64 25 2b 36 30 2c 2d 31 2c 57 36 35 6e 61 6d 65 |d%+60,-1,W65name| 000006d0 25 2c 30 0d 02 44 10 42 25 21 36 34 3d 53 61 72 |%,0..D.B%!64=Sar| 000006e0 65 61 25 0d 02 4e 26 c8 99 22 57 69 6d 70 5f 43 |ea%..N&.."Wimp_C| 000006f0 72 65 61 74 65 57 69 6e 64 6f 77 22 2c 2c 42 25 |reateWindow",,B%| 00000700 20 b8 20 47 57 25 28 34 29 0d 02 58 38 c8 99 22 | . GW%(4)..X8.."| 00000710 57 69 6d 70 5f 4c 6f 61 64 54 65 6d 70 6c 61 74 |Wimp_LoadTemplat| 00000720 65 22 2c 2c 42 25 2c 45 69 6e 64 25 2c 45 69 6e |e",,B%,Eind%,Ein| 00000730 64 25 2b 38 30 2c 2d 31 2c 45 6e 61 6d 65 25 2c |d%+80,-1,Ename%,| 00000740 30 0d 02 62 1f 42 25 21 36 34 3d 53 61 72 65 61 |0..b.B%!64=Sarea| 00000750 25 3a 42 25 21 34 3d 42 25 21 31 32 2d 32 35 30 |%:B%!4=B%!12-250| 00000760 0d 02 6c 26 c8 99 22 57 69 6d 70 5f 43 72 65 61 |..l&.."Wimp_Crea| 00000770 74 65 57 69 6e 64 6f 77 22 2c 2c 42 25 20 b8 20 |teWindow",,B% . | 00000780 45 64 69 74 57 25 0d 02 76 39 c8 99 22 57 69 6d |EditW%..v9.."Wim| 00000790 70 5f 4c 6f 61 64 54 65 6d 70 6c 61 74 65 22 2c |p_LoadTemplate",| 000007a0 2c 42 25 2c 53 69 6e 64 25 2c 53 69 6e 64 25 2b |,B%,Sind%,Sind%+| 000007b0 32 37 30 2c 2d 31 2c 53 6e 61 6d 65 25 2c 30 0d |270,-1,Sname%,0.| 000007c0 02 80 26 c8 99 22 57 69 6d 70 5f 43 72 65 61 74 |..&.."Wimp_Creat| 000007d0 65 57 69 6e 64 6f 77 22 2c 2c 42 25 20 b8 20 53 |eWindow",,B% . S| 000007e0 61 76 65 57 25 0d 02 8a 1a c8 99 22 57 69 6d 70 |aveW%......"Wimp| 000007f0 5f 43 6c 6f 73 65 54 65 6d 70 6c 61 74 65 22 0d |_CloseTemplate".| 00000800 02 94 05 e1 0d 02 9e 04 0d 02 a8 0b dd f2 6d 65 |..............me| 00000810 6e 75 73 0d 02 b2 2f f7 8d 44 4c 44 3a f2 53 65 |nus.../..DLD:.Se| 00000820 74 55 70 4d 65 6e 75 28 49 6d 65 6e 75 25 29 3a |tUpMenu(Imenu%):| 00000830 f2 53 65 74 55 70 4d 65 6e 75 28 53 6d 65 6e 75 |.SetUpMenu(Smenu| 00000840 25 29 0d 02 bc 05 e1 0d 02 c6 04 0d 02 d0 0d dd |%)..............| 00000850 f2 69 63 6f 6e 62 61 72 0d 02 da 4a 21 42 25 3d |.iconbar...J!B%=| 00000860 2d 31 3a 42 25 21 34 3d 30 3a 42 25 21 38 3d 30 |-1:B%!4=0:B%!8=0| 00000870 3a 42 25 21 31 32 3d 36 38 3a 42 25 21 31 36 3d |:B%!12=68:B%!16=| 00000880 36 38 3a 42 25 21 32 30 3d 26 33 30 30 32 3a 24 |68:B%!20=&3002:$| 00000890 28 42 25 2b 32 34 29 3d 22 21 53 6c 69 63 6b 65 |(B%+24)="!Slicke| 000008a0 72 22 0d 02 e4 21 c8 99 22 57 69 6d 70 5f 43 72 |r"...!.."Wimp_Cr| 000008b0 65 61 74 65 49 63 6f 6e 22 2c 2c 42 25 20 b8 20 |eateIcon",,B% . | 000008c0 49 62 25 0d 02 ee 05 e1 0d 02 f8 04 0d 03 02 0e |Ib%.............| 000008d0 dd f2 70 6f 73 74 69 6e 69 74 0d 03 0c 3d f2 55 |..postinit...=.U| 000008e0 69 28 49 6e 66 6f 57 25 2c 37 2c c0 56 65 72 73 |i(InfoW%,7,.Vers| 000008f0 69 6f 6e 24 2c 31 33 29 29 3a f2 48 69 28 45 64 |ion$,13)):.Hi(Ed| 00000900 69 74 57 25 2c 31 34 29 3a f2 53 69 28 45 64 69 |itW%,14):.Si(Edi| 00000910 74 57 25 2c 31 35 29 0d 03 16 29 e3 6e 25 3d 31 |tW%,15)...).n%=1| 00000920 b8 34 3a e3 69 25 3d 31 31 b8 31 32 3a f2 53 69 |.4:.i%=11.12:.Si| 00000930 28 47 57 25 28 6e 25 29 2c 69 25 29 3a ed 3a ed |(GW%(n%),i%):.:.| 00000940 0d 03 20 17 f2 44 6d 28 53 6d 65 6e 75 25 2c 30 |.. ..Dm(Smenu%,0| 00000950 29 3a f2 6d 6f 64 65 0d 03 2a 05 e1 0d 03 34 04 |):.mode..*....4.| 00000960 0d 03 3e 0a dd f2 6d 6f 64 65 0d 03 48 0a c8 8e |..>...mode..H...| 00000970 20 eb 20 ca 0d 03 52 15 20 c9 31 32 2c 31 34 3a | . ...R. .12,14:| 00000980 4d 6f 64 65 4f 6b 25 3d b9 0d 03 5c 32 20 7f 3a |ModeOk%=...\2 .:| 00000990 f2 43 6c 6f 73 65 57 28 45 64 69 74 57 25 29 3a |.CloseW(EditW%):| 000009a0 e7 57 6f 70 65 6e 25 f2 43 6c 6f 73 65 57 28 47 |.Wopen%.CloseW(G| 000009b0 57 25 28 57 6f 70 65 6e 25 29 29 0d 03 66 18 20 |W%(Wopen%))..f. | 000009c0 20 20 20 20 20 20 20 20 20 20 4d 6f 64 65 4f 6b | ModeOk| 000009d0 25 3d 30 0d 03 70 05 cb 0d 03 7a 05 e1 0d 03 84 |%=0..p....z.....| 000009e0 04 0d 03 8e 0e dd f2 61 75 74 6f 6c 6f 61 64 0d |.......autoload.| 000009f0 03 98 19 c8 99 22 4f 53 5f 47 65 74 45 6e 76 22 |....."OS_GetEnv"| 00000a00 20 b8 20 70 61 74 68 24 0d 03 a2 33 e7 20 c2 70 | . path$...3. .p| 00000a10 61 74 68 24 2c 31 29 3c 3e 22 20 22 20 f2 6c 6f |ath$,1)<>" " .lo| 00000a20 61 64 28 c1 70 61 74 68 24 2c a7 70 61 74 68 24 |ad(.path$,.path$| 00000a30 2c 22 22 22 20 22 29 2b 32 29 29 0d 03 ac 05 e1 |,""" ")+2)).....| 00000a40 0d 03 b6 04 0d 03 c0 16 dd f2 53 65 74 55 70 4d |..........SetUpM| 00000a50 65 6e 75 28 6d 65 6e 75 25 29 0d 03 ca 34 f3 74 |enu(menu%)...4.t| 00000a60 69 74 6c 65 24 2c 6e 75 6d 25 3a 24 6d 65 6e 75 |itle$,num%:$menu| 00000a70 25 3d 74 69 74 6c 65 24 3a 77 69 64 74 68 25 3d |%=title$:width%=| 00000a80 28 a9 74 69 74 6c 65 24 2d 32 29 2a 31 36 0d 03 |(.title$-2)*16..| 00000a90 d4 38 6d 65 6e 75 25 21 31 32 3d 26 37 30 32 30 |.8menu%!12=&7020| 00000aa0 37 3a 6d 65 6e 75 25 21 32 30 3d 34 34 3a 6d 65 |7:menu%!20=44:me| 00000ab0 6e 75 25 21 32 34 3d 30 3a 70 74 72 25 3d 6d 65 |nu%!24=0:ptr%=me| 00000ac0 6e 75 25 2b 32 38 0d 03 de 10 e3 6e 25 3d 31 20 |nu%+28.....n%=1 | 00000ad0 b8 20 6e 75 6d 25 0d 03 e8 1b 20 f3 6d 66 6c 61 |. num%.... .mfla| 00000ae0 67 73 25 2c 73 75 62 70 74 72 25 2c 69 74 65 6d |gs%,subptr%,item| 00000af0 24 0d 03 f2 42 20 21 70 74 72 25 3d 6d 66 6c 61 |$...B !ptr%=mfla| 00000b00 67 73 25 3a 70 74 72 25 21 34 3d 73 75 62 70 74 |gs%:ptr%!4=subpt| 00000b10 72 25 3a 70 74 72 25 21 38 3d 26 37 30 30 30 30 |r%:ptr%!8=&70000| 00000b20 32 31 3a 24 28 70 74 72 25 2b 31 32 29 3d 69 74 |21:$(ptr%+12)=it| 00000b30 65 6d 24 0d 03 fc 2a 20 6c 25 3d 28 a9 69 74 65 |em$...* l%=(.ite| 00000b40 6d 24 2b 31 29 2a 31 36 3a e7 6c 25 3e 77 69 64 |m$+1)*16:.l%>wid| 00000b50 74 68 25 20 77 69 64 74 68 25 3d 6c 25 0d 04 06 |th% width%=l%...| 00000b60 0d 20 70 74 72 25 2b 3d 32 34 0d 04 10 15 ed 3a |. ptr%+=24.....:| 00000b70 6d 65 6e 75 25 21 31 36 3d 77 69 64 74 68 25 0d |menu%!16=width%.| 00000b80 04 1a 05 e1 0d 04 24 04 0d 04 2e 14 f4 2d 2d 2d |......$......---| 00000b90 4d 65 6e 75 20 64 61 74 61 2d 2d 2d 0d 04 38 04 |Menu data---..8.| 00000ba0 0d 04 42 13 f4 20 69 63 6f 6e 20 62 61 72 20 6d |..B.. icon bar m| 00000bb0 65 6e 75 0d 04 4c 37 dc 53 6c 69 63 6b 65 72 2c |enu..L7.Slicker,| 00000bc0 33 2c 30 2c 49 6e 66 6f 57 25 2c 49 6e 66 6f 2c |3,0,InfoW%,Info,| 00000bd0 30 2c 2d 31 2c 4f 70 65 6e 20 45 64 69 74 2c 26 |0,-1,Open Edit,&| 00000be0 38 30 2c 2d 31 2c 51 75 69 74 0d 04 56 04 0d 04 |80,-1,Quit..V...| 00000bf0 60 0f f4 20 53 61 76 65 20 6d 65 6e 75 0d 04 6a |`.. Save menu..j| 00000c00 1e dc 53 6c 69 63 6b 65 72 2c 31 2c 26 38 30 2c |..Slicker,1,&80,| 00000c10 53 61 76 65 57 25 2c 53 61 76 65 0d 04 74 04 0d |SaveW%,Save..t..| 00000c20 04 7e 15 f4 2d 2d 2d 57 69 6d 70 20 70 72 6f 63 |.~..---Wimp proc| 00000c30 73 2d 2d 2d 0d 04 88 04 0d 04 92 0a dd f2 70 6f |s---..........po| 00000c40 6c 6c 0d 04 9c 1a c8 99 26 34 30 30 43 37 2c 4d |ll......&400C7,M| 00000c50 61 73 6b 25 2c 42 25 20 b8 20 72 25 0d 04 a6 09 |ask%,B% . r%....| 00000c60 c8 8e 72 25 ca 0d 04 b0 0d 20 c9 30 3a f2 64 65 |..r%..... .0:.de| 00000c70 6d 6f 0d 04 ba 0f 20 c9 31 3a f2 72 65 64 72 61 |mo.... .1:.redra| 00000c80 77 0d 04 c4 27 20 c9 32 3a e7 4d 6f 64 65 4f 6b |w...' .2:.ModeOk| 00000c90 25 c8 99 22 57 69 6d 70 5f 4f 70 65 6e 57 69 6e |%.."Wimp_OpenWin| 00000ca0 64 6f 77 22 2c 2c 42 25 0d 04 ce 39 20 20 20 20 |dow",,B%...9 | 00000cb0 20 20 20 e7 21 42 25 3d 47 57 25 28 57 6f 70 65 | .!B%=GW%(Wope| 00000cc0 6e 25 29 4f 78 25 3d 42 25 21 34 2d 42 25 21 32 |n%)Ox%=B%!4-B%!2| 00000cd0 30 3a 4f 79 25 3d 42 25 21 31 36 2d 42 25 21 32 |0:Oy%=B%!16-B%!2| 00000ce0 34 0d 04 d8 40 20 c9 33 3a c8 99 22 57 69 6d 70 |4...@ .3:.."Wimp| 00000cf0 5f 43 6c 6f 73 65 57 69 6e 64 6f 77 22 2c 2c 42 |_CloseWindow",,B| 00000d00 25 3a e7 21 42 25 3d 47 57 25 28 57 6f 70 65 6e |%:.!B%=GW%(Wopen| 00000d10 25 29 f2 43 6c 6f 73 65 57 28 45 64 69 74 57 25 |%).CloseW(EditW%| 00000d20 29 0d 04 e2 20 20 c9 36 3a f2 63 6c 69 63 6b 28 |)... .6:.click(| 00000d30 42 25 21 38 2c 42 25 21 31 32 2c 42 25 21 31 36 |B%!8,B%!12,B%!16| 00000d40 29 0d 04 ec 15 20 c9 37 3a f2 44 72 61 67 46 69 |).... .7:.DragFi| 00000d50 6e 69 73 68 65 64 0d 04 f6 17 20 c9 38 3a f2 6b |nished.... .8:.k| 00000d60 65 79 28 21 42 25 2c 42 25 21 32 34 29 0d 05 00 |ey(!B%,B%!24)...| 00000d70 18 20 c9 39 3a f2 6d 65 6e 75 73 65 6c 65 63 74 |. .9:.menuselect| 00000d80 28 21 42 25 29 0d 05 0a 1b 20 c9 31 37 2c 31 38 |(!B%).... .17,18| 00000d90 3a f2 72 65 63 65 69 76 65 28 42 25 21 31 36 29 |:.receive(B%!16)| 00000da0 0d 05 14 05 cb 0d 05 1e 05 e1 0d 05 28 04 0d 05 |............(...| 00000db0 32 0c dd f2 72 65 64 72 61 77 0d 05 3c 33 c8 99 |2...redraw..<3..| 00000dc0 26 34 30 30 43 38 2c 2c 42 25 20 b8 6d 25 3a 4f |&400C8,,B% .m%:O| 00000dd0 78 25 3d 42 25 21 34 2d 42 25 21 32 30 3a 4f 79 |x%=B%!4-B%!20:Oy| 00000de0 25 3d 42 25 21 31 36 2d 42 25 21 32 34 0d 05 46 |%=B%!16-B%!24..F| 00000df0 2f c8 95 6d 25 3a e3 6e 25 3d 30 b8 32 39 3a 78 |/..m%:.n%=0.29:x| 00000e00 25 3d 28 6e 25 83 36 2b 31 29 2a 38 30 3a 79 25 |%=(n%.6+1)*80:y%| 00000e10 3d 28 6e 25 81 36 2b 32 29 2a 38 30 0d 05 50 44 |=(n%.6+2)*80..PD| 00000e20 20 e7 43 25 28 6e 25 29 3c 38 3a e7 43 25 28 6e | .C%(n%)<8:.C%(n| 00000e30 25 29 c8 99 26 32 45 2c 33 34 2b 35 31 32 2c 53 |%)..&2E,34+512,S| 00000e40 61 72 65 61 25 2c 53 25 28 43 25 28 6e 25 29 29 |area%,S%(C%(n%))| 00000e50 2c 4f 78 25 2b 78 25 2c 4f 79 25 2d 79 25 2c 33 |,Ox%+x%,Oy%-y%,3| 00000e60 0d 05 5a 18 ed 3a c8 99 26 34 30 30 43 41 2c 2c |..Z..:..&400CA,,| 00000e70 42 25 20 b8 6d 25 3a ce 0d 05 64 05 e1 0d 05 6e |B% .m%:...d....n| 00000e80 04 0d 05 78 15 dd f2 63 6c 69 63 6b 28 62 25 2c |...x...click(b%,| 00000e90 77 25 2c 69 25 29 0d 05 82 09 c8 8e 77 25 ca 0d |w%,i%)......w%..| 00000ea0 05 8c 12 20 c9 49 63 6f 6e 42 25 3a c8 8e 62 25 |... .IconB%:..b%| 00000eb0 ca 0d 05 96 1f 20 20 20 20 20 20 20 20 20 20 20 |..... | 00000ec0 20 20 c9 31 3a 53 6f 6e 25 3d 53 6f 6e 25 82 31 | .1:Son%=Son%.1| 00000ed0 0d 05 a0 30 20 20 20 20 20 20 20 20 20 20 20 20 |...0 | 00000ee0 20 c9 32 3a f2 73 68 6f 77 6d 65 6e 75 28 49 6d | .2:.showmenu(Im| 00000ef0 65 6e 75 25 2c 21 42 25 2d 36 34 2c 32 32 38 29 |enu%,!B%-64,228)| 00000f00 0d 05 aa 1d 20 20 20 20 20 20 20 20 20 20 20 20 |.... | 00000f10 20 c9 34 3a e7 4d 6f 64 65 4f 6b 25 8c 0d 05 b4 | .4:.ModeOk%....| 00000f20 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |2 | 00000f30 20 20 20 20 20 e7 57 6f 70 65 6e 25 f2 4f 70 65 | .Wopen%.Ope| 00000f40 6e 57 28 47 57 25 28 57 6f 70 65 6e 25 29 29 0d |nW(GW%(Wopen%)).| 00000f50 05 be 30 20 20 20 20 20 20 20 20 20 20 20 20 20 |..0 | 00000f60 20 20 20 20 20 20 20 e7 4f 70 6d 6f 64 65 25 3d | .Opmode%=| 00000f70 31 f2 4f 70 65 6e 57 28 45 64 69 74 57 25 29 0d |1.OpenW(EditW%).| 00000f80 05 c8 3f 20 20 20 20 20 20 20 20 20 20 20 20 20 |..? | 00000f90 20 20 20 20 20 20 cc 3a f2 72 65 70 6f 72 74 28 | .:.report(| 00000fa0 22 53 77 69 74 63 68 20 74 6f 20 6d 6f 64 65 20 |"Switch to mode | 00000fb0 31 32 20 6f 72 20 31 34 21 22 2c 31 36 29 0d 05 |12 or 14!",16)..| 00000fc0 d2 18 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.. | 00000fd0 20 20 20 20 20 cd 0d 05 dc 11 20 20 20 20 20 20 | ..... | 00000fe0 20 20 20 20 20 20 cb 0d 05 e6 17 20 c9 45 64 69 | ..... .Edi| 00000ff0 74 57 25 3a c8 8e 4f 70 6d 6f 64 65 25 ca 0d 05 |tW%:..Opmode%...| 00001000 f0 19 20 20 20 20 20 20 20 20 20 20 20 20 20 c9 |.. .| 00001010 31 3a c8 8e 62 25 ca 0d 05 fa 20 20 20 20 20 20 |1:..b%.... | 00001020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 c9 | .| 00001030 34 3a c8 8e 69 25 ca 0d 06 04 38 20 20 20 20 20 |4:..i%....8 | 00001040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001050 20 20 20 20 20 20 c9 31 2c 32 2c 33 2c 34 2c 35 | .1,2,3,4,5| 00001060 2c 36 2c 37 3a f2 73 68 61 70 65 28 69 25 29 0d |,6,7:.shape(i%).| 00001070 06 0e 37 20 20 20 20 20 20 20 20 20 20 20 20 20 |..7 | 00001080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 c9 38 | .8| 00001090 2c 39 2c 31 30 2c 31 31 3a f2 6f 70 65 6e 47 57 |,9,10,11:.openGW| 000010a0 28 69 25 2d 37 29 0d 06 18 30 20 20 20 20 20 20 |(i%-7)...0 | 000010b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000010c0 20 20 20 20 20 c9 31 33 3a e7 57 6f 70 65 6e 25 | .13:.Wopen%| 000010d0 f2 63 6c 65 61 72 0d 06 22 2f 20 20 20 20 20 20 |.clear.."/ | 000010e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000010f0 20 20 20 20 20 c9 31 35 3a f2 74 72 61 6e 73 66 | .15:.transf| 00001100 65 72 28 32 29 0d 06 2c 1f 20 20 20 20 20 20 20 |er(2)..,. | 00001110 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001120 20 20 20 cb 0d 06 36 18 20 20 20 20 20 20 20 20 | ...6. | 00001130 20 20 20 20 20 20 20 20 20 20 20 cb 0d 06 40 19 | ...@.| 00001140 20 20 20 20 20 20 20 20 20 20 20 20 20 c9 32 3a | .2:| 00001150 c8 8e 62 25 ca 0d 06 4a 2b 20 20 20 20 20 20 20 |..b%...J+ | 00001160 20 20 20 20 20 20 20 20 20 20 20 20 20 c9 31 3a | .1:| 00001170 e7 69 25 3d 31 33 80 4c 65 61 72 6e 25 3d 30 8c |.i%=13.Learn%=0.| 00001180 0d 06 54 3f 20 20 20 20 20 20 20 20 20 20 20 20 |..T? | 00001190 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e7 | .| 000011a0 50 74 72 25 3e 30 80 50 74 72 25 81 32 3c 42 79 |Ptr%>0.Ptr%.2<By| 000011b0 74 65 6d 61 78 25 f2 6c 65 61 72 6e 28 31 29 0d |temax%.learn(1).| 000011c0 06 5e 1f 20 20 20 20 20 20 20 20 20 20 20 20 20 |.^. | 000011d0 20 20 20 20 20 20 20 20 20 20 20 20 20 cd 0d 06 | ...| 000011e0 68 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |h | 000011f0 20 20 20 20 20 20 c9 34 3a c8 8e 69 25 ca 0d 06 | .4:..i%...| 00001200 72 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |r* | 00001210 20 20 20 20 20 20 20 20 20 20 20 20 20 c9 38 2c | .8,| 00001220 39 2c 31 30 2c 31 31 3a 0d 06 7c 3f 20 20 20 20 |9,10,11:..|? | 00001230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001240 20 20 20 20 20 20 20 20 e7 69 25 2d 37 3d 57 6f | .i%-7=Wo| 00001250 70 65 6e 25 f2 4f 70 65 6e 57 28 47 57 25 28 57 |pen%.OpenW(GW%(W| 00001260 6f 70 65 6e 25 29 29 0d 06 86 35 20 20 20 20 20 |open%))...5 | 00001270 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001280 20 20 20 20 20 20 c9 31 33 3a e7 4c 65 61 72 6e | .13:.Learn| 00001290 25 3d 30 f2 6c 65 61 72 6e 28 34 29 0d 06 90 2f |%=0.learn(4).../| 000012a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000012b0 20 20 20 20 20 20 20 20 20 20 20 c9 31 34 3a f2 | .14:.| 000012c0 74 72 61 6e 73 66 65 72 28 31 29 0d 06 9a 33 20 |transfer(1)...3 | 000012d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000012e0 20 20 20 20 20 20 20 20 20 20 c9 31 35 3a e7 4c | .15:.L| 000012f0 65 61 72 6e 25 f2 6c 65 61 72 6e 28 32 29 0d 06 |earn%.learn(2)..| 00001300 a4 1f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.. | 00001310 20 20 20 20 20 20 20 20 20 20 20 20 cb 0d 06 ae | ....| 00001320 18 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |. | 00001330 20 20 20 20 cb 0d 06 b8 11 20 20 20 20 20 20 20 | ..... | 00001340 20 20 20 20 20 cb 0d 06 c2 22 20 c9 47 57 25 28 | ...." .GW%(| 00001350 31 29 2c 47 57 25 28 32 29 2c 47 57 25 28 33 29 |1),GW%(2),GW%(3)| 00001360 2c 47 57 25 28 34 29 3a 0d 06 cc 10 20 20 c8 8e |,GW%(4):.... ..| 00001370 4f 70 6d 6f 64 65 25 ca 0d 06 d6 0f 20 20 20 c9 |Opmode%..... .| 00001380 31 3a c8 8e 62 25 ca 0d 06 e0 2a 20 20 20 20 20 |1:..b%....* | 00001390 20 20 20 20 20 c9 31 2c 34 3a e7 69 25 3d 38 f2 | .1,4:.i%=8.| 000013a0 70 6c 6f 74 28 62 25 2c 21 42 25 2c 42 25 21 34 |plot(b%,!B%,B%!4| 000013b0 29 0d 06 ea 33 20 20 20 20 20 20 20 20 20 20 c9 |)...3 .| 000013c0 32 3a e7 69 25 3c 38 f2 73 68 6f 77 6d 65 6e 75 |2:.i%<8.showmenu| 000013d0 28 53 6d 65 6e 75 25 2c 21 42 25 2d 36 34 2c 42 |(Smenu%,!B%-64,B| 000013e0 25 21 34 29 0d 06 f4 0e 20 20 20 20 20 20 20 20 |%!4).... | 000013f0 20 cb 0d 06 fe 0f 20 20 20 c9 32 3a c8 8e 62 25 | ..... .2:..b%| 00001400 ca 0d 07 08 18 20 20 20 20 20 20 20 20 20 20 c9 |..... .| 00001410 31 2c 34 3a c8 8e 69 25 ca 0d 07 12 2e 20 20 20 |1,4:..i%..... | 00001420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001430 c9 38 3a f2 73 65 6c 65 63 74 28 62 25 2c 21 42 |.8:.select(b%,!B| 00001440 25 2c 42 25 21 34 29 0d 07 1c 21 20 20 20 20 20 |%,B%!4)...! | 00001450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 c9 31 | .1| 00001460 31 3a f2 72 65 73 65 74 0d 07 26 3c 20 20 20 20 |1:.reset..&< | 00001470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 c9 | .| 00001480 31 32 3a f2 72 65 73 65 74 3a 4d 61 73 6b 25 3d |12:.reset:Mask%=| 00001490 4d 30 25 3a 50 74 72 25 3d 30 3a 4f 70 6d 6f 64 |M0%:Ptr%=0:Opmod| 000014a0 65 25 3d 33 0d 07 30 17 20 20 20 20 20 20 20 20 |e%=3..0. | 000014b0 20 20 20 20 20 20 20 20 20 20 cb 0d 07 3a 33 20 | ...:3 | 000014c0 20 20 20 20 20 20 20 20 20 c9 32 3a e7 69 25 3c | .2:.i%<| 000014d0 38 f2 73 68 6f 77 6d 65 6e 75 28 53 6d 65 6e 75 |8.showmenu(Smenu| 000014e0 25 2c 21 42 25 2d 36 34 2c 42 25 21 34 29 0d 07 |%,!B%-64,B%!4)..| 000014f0 44 0e 20 20 20 20 20 20 20 20 20 cb 0d 07 4e 20 |D. ...N | 00001500 20 20 20 c9 33 3a e7 69 25 3d 31 31 f2 72 65 73 | .3:.i%=11.res| 00001510 65 74 3a 4d 61 73 6b 25 3d 4d 31 25 0d 07 58 07 |et:Mask%=M1%..X.| 00001520 20 20 cb 0d 07 62 12 20 c9 53 61 76 65 57 25 3a | ...b. .SaveW%:| 00001530 c8 8e 62 25 ca 0d 07 6c 25 20 20 20 20 20 20 20 |..b%...l% | 00001540 20 20 20 20 20 20 c9 31 2c 34 3a e7 69 25 3d 32 | .1,4:.i%=2| 00001550 f2 51 75 69 63 6b 53 61 76 65 0d 07 76 1d 20 20 |.QuickSave..v. | 00001560 20 20 20 20 20 20 20 20 20 20 20 c9 31 36 2c 36 | .16,6| 00001570 34 3a f2 64 72 61 67 0d 07 80 11 20 20 20 20 20 |4:.drag.... | 00001580 20 20 20 20 20 20 20 cb 0d 07 8a 05 cb 0d 07 94 | .........| 00001590 05 e1 0d 07 9e 04 0d 07 a8 10 dd f2 6b 65 79 28 |............key(| 000015a0 77 25 2c 6b 25 29 0d 07 b2 09 c8 8e 6b 25 ca 0d |w%,k%)......k%..| 000015b0 07 bc 0e 20 c9 31 33 3a c8 8e 77 25 ca 0d 07 c6 |... .13:..w%....| 000015c0 3d 20 20 20 20 20 20 20 20 20 c9 45 64 69 74 57 |= .EditW| 000015d0 25 3a f2 55 69 28 47 57 25 28 57 6f 70 65 6e 25 |%:.Ui(GW%(Wopen%| 000015e0 29 2c 30 2c a4 47 65 74 53 74 72 69 6e 67 28 45 |),0,.GetString(E| 000015f0 64 69 74 57 25 2c 31 32 29 29 0d 07 d0 24 20 20 |ditW%,12))...$ | 00001600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001610 20 20 e7 41 24 3d 22 22 f2 61 28 2d 31 29 0d 07 | .A$="".a(-1)..| 00001620 da 1f 20 20 20 20 20 20 20 20 20 c9 53 61 76 65 |.. .Save| 00001630 57 25 3a f2 51 75 69 63 6b 53 61 76 65 0d 07 e4 |W%:.QuickSave...| 00001640 25 20 20 20 20 20 20 20 20 20 7f 3a c8 99 22 57 |% .:.."W| 00001650 69 6d 70 5f 50 72 6f 63 65 73 73 4b 65 79 22 2c |imp_ProcessKey",| 00001660 6b 25 0d 07 ee 0d 20 20 20 20 20 20 20 20 cb 0d |k%.... ..| 00001670 07 f8 1d 20 7f 3a c8 99 22 57 69 6d 70 5f 50 72 |... .:.."Wimp_Pr| 00001680 6f 63 65 73 73 4b 65 79 22 2c 6b 25 0d 08 02 05 |ocessKey",k%....| 00001690 cb 0d 08 0c 05 e1 0d 08 16 04 0d 08 20 17 dd f2 |............ ...| 000016a0 6d 65 6e 75 73 65 6c 65 63 74 28 6d 65 6e 75 25 |menuselect(menu%| 000016b0 29 0d 08 2a 10 c8 8e 4d 65 6e 75 6f 70 65 6e 25 |)..*...Menuopen%| 000016c0 ca 0d 08 34 15 20 c9 49 6d 65 6e 75 25 3a c8 8e |...4. .Imenu%:..| 000016d0 6d 65 6e 75 25 ca 0d 08 3e 1d 20 20 20 20 20 20 |menu%...>. | 000016e0 20 20 20 20 20 20 20 c9 31 3a e7 4d 6f 64 65 4f | .1:.ModeO| 000016f0 6b 25 8c 0d 08 48 41 20 20 20 20 20 20 20 20 20 |k%...HA | 00001700 20 20 20 20 20 20 20 20 20 20 20 f2 4f 70 65 6e | .Open| 00001710 57 28 45 64 69 74 57 25 29 3a e7 57 6f 70 65 6e |W(EditW%):.Wopen| 00001720 25 f2 4f 70 65 6e 57 28 47 57 25 28 57 6f 70 65 |%.OpenW(GW%(Wope| 00001730 6e 25 29 29 0d 08 52 18 20 20 20 20 20 20 20 20 |n%))..R. | 00001740 20 20 20 20 20 20 20 20 20 20 20 cd 0d 08 5c 22 | ...\"| 00001750 20 20 20 20 20 20 20 20 20 20 20 20 20 c9 32 3a | .2:| 00001760 e7 a4 6f 6b 28 31 29 20 51 75 69 74 3d b9 0d 08 |..ok(1) Quit=...| 00001770 66 11 20 20 20 20 20 20 20 20 20 20 20 20 cb 0d |f. ..| 00001780 08 70 1f 20 c9 53 6d 65 6e 75 25 3a e7 6d 65 6e |.p. .Smenu%:.men| 00001790 75 25 3d 30 f2 51 75 69 63 6b 53 61 76 65 0d 08 |u%=0.QuickSave..| 000017a0 7a 05 cb 0d 08 84 05 e1 0d 08 8e 04 0d 08 98 1b |z...............| 000017b0 dd f2 73 68 6f 77 6d 65 6e 75 28 6d 65 6e 75 25 |..showmenu(menu%| 000017c0 2c 78 25 2c 79 25 29 0d 08 a2 24 c8 99 22 57 69 |,x%,y%)...$.."Wi| 000017d0 6d 70 5f 43 72 65 61 74 65 4d 65 6e 75 22 2c 2c |mp_CreateMenu",,| 000017e0 6d 65 6e 75 25 2c 78 25 2c 79 25 0d 08 ac 13 4d |menu%,x%,y%....M| 000017f0 65 6e 75 6f 70 65 6e 25 3d 6d 65 6e 75 25 0d 08 |enuopen%=menu%..| 00001800 b6 05 e1 0d 08 c0 04 0d 08 ca 11 dd f2 72 65 63 |.............rec| 00001810 65 69 76 65 28 6d 25 29 0d 08 d4 09 c8 8e 6d 25 |eive(m%)......m%| 00001820 ca 0d 08 de 0e 20 c9 30 3a 51 75 69 74 3d b9 0d |..... .0:Quit=..| 00001830 08 e8 11 20 c9 32 3a f2 44 61 74 61 53 61 76 65 |... .2:.DataSave| 00001840 0d 08 f2 30 20 c9 33 3a e7 42 25 21 34 30 3d 26 |...0 .3:.B%!40=&| 00001850 30 30 34 e7 a4 6f 6b 28 32 29 20 f2 6c 6f 61 64 |004..ok(2) .load| 00001860 28 a4 73 74 72 69 6e 67 28 42 25 2b 34 34 29 29 |(.string(B%+44))| 00001870 0d 08 fc 39 20 c9 35 3a e7 42 25 21 34 30 3d 26 |...9 .5:.B%!40=&| 00001880 30 30 34 f2 6c 6f 61 64 61 63 6b 3a e7 a4 6f 6b |004.loadack:..ok| 00001890 28 32 29 20 f2 6c 6f 61 64 28 a4 73 74 72 69 6e |(2) .load(.strin| 000018a0 67 28 42 25 2b 34 34 29 29 0d 09 06 12 20 c9 26 |g(B%+44)).... .&| 000018b0 34 30 30 43 31 3a f2 6d 6f 64 65 0d 09 10 05 cb |400C1:.mode.....| 000018c0 0d 09 1a 05 e1 0d 09 24 04 0d 09 2e 0d dd f2 6c |.......$.......l| 000018d0 6f 61 64 61 63 6b 0d 09 38 1d 42 25 21 31 32 3d |oadack..8.B%!12=| 000018e0 42 25 21 38 3a 42 25 21 31 36 3d 34 3a 21 42 25 |B%!8:B%!16=4:!B%| 000018f0 3d 36 34 0d 09 42 23 c8 99 22 57 69 6d 70 5f 53 |=64..B#.."Wimp_S| 00001900 65 6e 64 4d 65 73 73 61 67 65 22 2c 31 37 2c 42 |endMessage",17,B| 00001910 25 2c 42 25 21 34 0d 09 4c 05 e1 0d 09 56 04 0d |%,B%!4..L....V..| 00001920 09 60 17 dd f2 72 65 70 6f 72 74 28 65 72 72 24 |.`...report(err$| 00001930 2c 62 69 74 25 29 0d 09 6a 36 6e 61 6d 65 24 3d |,bit%)..j6name$=| 00001940 41 70 70 24 3a e7 20 62 69 74 25 20 80 20 31 36 |App$:. bit% . 16| 00001950 20 6e 61 6d 65 24 3d 22 4d 65 73 73 61 67 65 20 | name$="Message | 00001960 66 72 6f 6d 20 22 2b 6e 61 6d 65 24 0d 09 74 1d |from "+name$..t.| 00001970 21 45 25 3d 32 35 35 3a 24 28 45 25 2b 34 29 3d |!E%=255:$(E%+4)=| 00001980 65 72 72 24 2b bd 28 30 29 0d 09 7e 30 c8 99 22 |err$+.(0)..~0.."| 00001990 57 69 6d 70 5f 52 65 70 6f 72 74 45 72 72 6f 72 |Wimp_ReportError| 000019a0 22 2c 45 25 2c 62 69 74 25 2c 6e 61 6d 65 24 20 |",E%,bit%,name$ | 000019b0 b8 2c 53 65 6c 65 63 74 25 0d 09 88 05 e1 0d 09 |.,Select%.......| 000019c0 92 04 0d 09 9c 11 dd f2 65 72 72 6f 72 28 62 69 |........error(bi| 000019d0 74 25 29 0d 09 a6 47 65 24 3d 22 3b 69 6e 74 65 |t%)...Ge$=";inte| 000019e0 72 6e 61 6c 20 65 72 72 6f 72 20 63 6f 64 65 20 |rnal error code | 000019f0 22 2b c3 9e 3a e7 62 69 74 25 3d 33 65 24 2b 3d |"+..:.bit%=3e$+=| 00001a00 22 3b 70 72 65 73 73 20 5b 43 41 4e 43 45 4c 5d |";press [CANCEL]| 00001a10 20 74 6f 20 71 75 69 74 2e 22 0d 09 b0 2b f2 72 | to quit."...+.r| 00001a20 65 70 6f 72 74 28 f6 24 2b 65 24 2c 62 69 74 25 |eport(.$+e$,bit%| 00001a30 29 3a e7 62 69 74 25 3d 33 3a e7 53 65 6c 65 63 |):.bit%=3:.Selec| 00001a40 74 25 3d 31 e1 0d 09 ba 18 c8 99 22 57 69 6d 70 |t%=1......."Wimp| 00001a50 5f 43 6c 6f 73 65 44 6f 77 6e 22 3a e0 0d 09 c4 |_CloseDown":....| 00001a60 05 e1 0d 09 ce 04 0d 09 d8 10 dd f2 4f 70 65 6e |............Open| 00001a70 57 28 21 42 25 29 0d 09 e2 1f c8 99 22 57 69 6d |W(!B%)......"Wim| 00001a80 70 5f 47 65 74 57 69 6e 64 6f 77 53 74 61 74 65 |p_GetWindowState| 00001a90 22 2c 2c 42 25 0d 09 ec 24 42 25 21 32 38 3d 2d |",,B%...$B%!28=-| 00001aa0 31 3a c8 99 22 57 69 6d 70 5f 4f 70 65 6e 57 69 |1:.."Wimp_OpenWi| 00001ab0 6e 64 6f 77 22 2c 2c 42 25 0d 09 f6 05 e1 0d 0a |ndow",,B%.......| 00001ac0 00 04 0d 0a 0a 11 dd f2 43 6c 6f 73 65 57 28 21 |........CloseW(!| 00001ad0 42 25 29 0d 0a 14 1c c8 99 22 57 69 6d 70 5f 43 |B%)......"Wimp_C| 00001ae0 6c 6f 73 65 57 69 6e 64 6f 77 22 2c 2c 42 25 0d |loseWindow",,B%.| 00001af0 0a 1e 05 e1 0d 0a 28 04 0d 0a 32 15 dd f2 55 69 |......(...2...Ui| 00001b00 28 21 42 25 2c 42 25 21 34 2c 74 24 29 0d 0a 3c |(!B%,B%!4,t$)..<| 00001b10 38 c8 99 26 34 30 30 43 45 2c 2c 42 25 3a 24 28 |8..&400CE,,B%:$(| 00001b20 42 25 21 32 38 29 3d 74 24 3a 42 25 21 38 3d 30 |B%!28)=t$:B%!8=0| 00001b30 3a 42 25 21 31 32 3d 30 3a c8 99 26 34 30 30 43 |:B%!12=0:..&400C| 00001b40 44 2c 2c 42 25 0d 0a 46 05 e1 0d 0a 50 04 0d 0a |D,,B%..F....P...| 00001b50 5a 12 dd f2 48 69 28 21 42 25 2c 42 25 21 34 29 |Z...Hi(!B%,B%!4)| 00001b60 0d 0a 64 27 42 25 21 38 3d 31 3c 3c 32 31 3a 42 |..d'B%!8=1<<21:B| 00001b70 25 21 31 32 3d 31 3c 3c 32 31 3a c8 99 26 34 30 |%!12=1<<21:..&40| 00001b80 30 43 44 2c 2c 42 25 0d 0a 6e 05 e1 0d 0a 78 04 |0CD,,B%..n....x.| 00001b90 0d 0a 82 12 dd f2 4c 69 28 21 42 25 2c 42 25 21 |......Li(!B%,B%!| 00001ba0 34 29 0d 0a 8c 23 42 25 21 38 3d 30 3a 42 25 21 |4)...#B%!8=0:B%!| 00001bb0 31 32 3d 31 3c 3c 32 31 3a c8 99 26 34 30 30 43 |12=1<<21:..&400C| 00001bc0 44 2c 2c 42 25 0d 0a 96 05 e1 0d 0a a0 04 0d 0a |D,,B%...........| 00001bd0 aa 08 dd f2 41 69 0d 0a b4 16 21 42 25 3d 45 64 |....Ai....!B%=Ed| 00001be0 69 74 57 25 3a 42 25 21 34 3d 31 33 0d 0a be 0d |itW%:B%!4=13....| 00001bf0 c8 8e 4c 65 61 72 6e 25 ca 0d 0a c8 2f 20 c9 30 |..Learn%..../ .0| 00001c00 20 3a 42 25 21 38 3d 25 31 31 31 30 30 31 31 31 | :B%!8=%11100111| 00001c10 30 30 30 30 30 30 30 30 31 30 30 31 30 30 30 30 |0000000010010000| 00001c20 30 30 30 30 30 30 30 30 0d 0a d2 2f 20 c9 2d 31 |00000000.../ .-1| 00001c30 3a 42 25 21 38 3d 25 30 31 31 31 31 31 31 30 30 |:B%!8=%011111100| 00001c40 30 30 30 30 30 30 30 30 30 31 31 30 30 30 30 30 |0000000001100000| 00001c50 30 30 30 30 30 30 30 0d 0a dc 05 cb 0d 0a e6 2b |0000000........+| 00001c60 42 25 21 31 32 3d 25 31 31 31 31 31 31 31 31 30 |B%!12=%111111110| 00001c70 30 30 30 30 30 30 30 31 31 31 31 30 30 30 30 30 |0000000111100000| 00001c80 30 30 30 30 30 30 30 0d 0a f0 1d c8 99 22 57 69 |0000000......"Wi| 00001c90 6d 70 5f 53 65 74 49 63 6f 6e 53 74 61 74 65 22 |mp_SetIconState"| 00001ca0 2c 2c 42 25 0d 0a fa 05 e1 0d 0b 04 04 0d 0b 0e |,,B%............| 00001cb0 12 dd f2 53 69 28 21 42 25 2c 42 25 21 34 29 0d |...Si(!B%,B%!4).| 00001cc0 0b 18 27 42 25 21 38 3d 31 3c 3c 32 32 3a 42 25 |..'B%!8=1<<22:B%| 00001cd0 21 31 32 3d 31 3c 3c 32 32 3a c8 99 26 34 30 30 |!12=1<<22:..&400| 00001ce0 43 44 2c 2c 42 25 0d 0b 22 05 e1 0d 0b 2c 04 0d |CD,,B%.."....,..| 00001cf0 0b 36 13 dd f2 55 73 69 28 21 42 25 2c 42 25 21 |.6...Usi(!B%,B%!| 00001d00 34 29 0d 0b 40 23 42 25 21 38 3d 30 3a 42 25 21 |4)..@#B%!8=0:B%!| 00001d10 31 32 3d 31 3c 3c 32 32 3a c8 99 26 34 30 30 43 |12=1<<22:..&400C| 00001d20 44 2c 2c 42 25 0d 0b 4a 05 e1 0d 0b 54 04 0d 0b |D,,B%..J....T...| 00001d30 5e 19 dd a4 47 65 74 53 74 72 69 6e 67 28 21 42 |^...GetString(!B| 00001d40 25 2c 42 25 21 34 29 0d 0b 68 1d c8 99 22 57 69 |%,B%!4)..h..."Wi| 00001d50 6d 70 5f 47 65 74 49 63 6f 6e 53 74 61 74 65 22 |mp_GetIconState"| 00001d60 2c 2c 42 25 0d 0b 72 2e e7 20 28 28 42 25 21 32 |,,B%..r.. ((B%!2| 00001d70 34 29 20 80 20 26 31 30 30 29 3d 30 20 8c 3d 24 |4) . &100)=0 .=$| 00001d80 28 42 25 2b 32 38 29 20 8b 3d 24 28 42 25 21 32 |(B%+28) .=$(B%!2| 00001d90 38 29 0d 0b 7c 04 0d 0b 86 15 dd f2 44 6d 28 6d |8)..|.......Dm(m| 00001da0 65 6e 75 25 2c 69 74 65 6d 25 29 0d 0b 90 33 6d |enu%,item%)...3m| 00001db0 65 6e 75 25 21 28 33 36 2b 69 74 65 6d 25 2a 32 |enu%!(36+item%*2| 00001dc0 34 29 3d 6d 65 6e 75 25 21 28 33 36 2b 69 74 65 |4)=menu%!(36+ite| 00001dd0 6d 25 2a 32 34 29 84 28 31 3c 3c 32 32 29 0d 0b |m%*24).(1<<22)..| 00001de0 9a 05 e1 0d 0b a4 04 0d 0b ae 15 dd f2 45 6d 28 |.............Em(| 00001df0 6d 65 6e 75 25 2c 69 74 65 6d 25 29 0d 0b b8 14 |menu%,item%)....| 00001e00 f2 44 6d 28 6d 65 6e 75 25 2c 69 74 65 6d 25 29 |.Dm(menu%,item%)| 00001e10 0d 0b c2 33 6d 65 6e 75 25 21 28 33 36 2b 69 74 |...3menu%!(36+it| 00001e20 65 6d 25 2a 32 34 29 3d 6d 65 6e 75 25 21 28 33 |em%*24)=menu%!(3| 00001e30 36 2b 69 74 65 6d 25 2a 32 34 29 82 28 31 3c 3c |6+item%*24).(1<<| 00001e40 32 32 29 0d 0b cc 05 e1 0d 0b d6 04 0d 0b e0 15 |22).............| 00001e50 dd f2 53 65 74 43 61 72 65 74 28 77 25 2c 69 25 |..SetCaret(w%,i%| 00001e60 29 0d 0b ea 3b c8 99 22 57 69 6d 70 5f 53 65 74 |)...;.."Wimp_Set| 00001e70 43 61 72 65 74 50 6f 73 69 74 69 6f 6e 22 2c 77 |CaretPosition",w| 00001e80 25 2c 69 25 2c 2c 2c 2d 31 2c a9 a4 47 65 74 53 |%,i%,,,-1,..GetS| 00001e90 74 72 69 6e 67 28 77 25 2c 69 25 29 0d 0b f4 05 |tring(w%,i%)....| 00001ea0 e1 0d 0b fe 04 0d 0c 08 13 dd f2 74 69 74 6c 65 |...........title| 00001eb0 28 21 42 25 2c 74 24 29 0d 0c 12 1e c8 99 22 57 |(!B%,t$)......"W| 00001ec0 69 6d 70 5f 47 65 74 57 69 6e 64 6f 77 49 6e 66 |imp_GetWindowInf| 00001ed0 6f 22 2c 2c 42 25 0d 0c 1c 1a 70 74 72 25 3d 21 |o",,B%....ptr%=!| 00001ee0 28 42 25 2b 37 36 29 3a 24 70 74 72 25 3d 74 24 |(B%+76):$ptr%=t$| 00001ef0 0d 0c 26 45 e7 21 42 25 3d 47 57 25 28 57 6f 70 |..&E.!B%=GW%(Wop| 00001f00 65 6e 25 29 c8 99 22 57 69 6d 70 5f 46 6f 72 63 |en%).."Wimp_Forc| 00001f10 65 52 65 64 72 61 77 22 2c 2d 31 2c 42 25 21 34 |eRedraw",-1,B%!4| 00001f20 2c 42 25 21 31 36 2c 42 25 21 31 32 2c 42 25 21 |,B%!16,B%!12,B%!| 00001f30 31 36 2b 33 36 0d 0c 30 05 e1 0d 0c 3a 04 0d 0c |16+36..0....:...| 00001f40 44 0a dd f2 64 72 61 67 0d 0c 4e 2a 21 42 25 3d |D...drag..N*!B%=| 00001f50 53 61 76 65 57 25 3a c8 99 22 57 69 6d 70 5f 47 |SaveW%:.."Wimp_G| 00001f60 65 74 57 69 6e 64 6f 77 53 74 61 74 65 22 2c 2c |etWindowState",,| 00001f70 42 25 0d 0c 58 29 6f 78 25 3d 42 25 21 34 2d 42 |B%..X)ox%=B%!4-B| 00001f80 25 21 32 30 3a 6f 79 25 3d 42 25 21 31 36 2d 42 |%!20:oy%=B%!16-B| 00001f90 25 21 32 34 3a 42 25 21 34 3d 30 0d 0c 62 1d c8 |%!24:B%!4=0..b..| 00001fa0 99 22 57 69 6d 70 5f 47 65 74 49 63 6f 6e 53 74 |."Wimp_GetIconSt| 00001fb0 61 74 65 22 2c 2c 42 25 0d 0c 6c 28 42 25 21 34 |ate",,B%..l(B%!4| 00001fc0 3d 35 3a 42 25 21 38 3d 6f 78 25 2b 42 25 21 38 |=5:B%!8=ox%+B%!8| 00001fd0 3a 42 25 21 31 32 3d 6f 79 25 2b 42 25 21 31 32 |:B%!12=oy%+B%!12| 00001fe0 0d 0c 76 23 42 25 21 31 36 3d 6f 78 25 2b 42 25 |..v#B%!16=ox%+B%| 00001ff0 21 31 36 3a 42 25 21 32 30 3d 6f 79 25 2b 42 25 |!16:B%!20=oy%+B%| 00002000 21 32 30 0d 0c 80 31 42 25 21 32 34 3d 30 3a 42 |!20...1B%!24=0:B| 00002010 25 21 32 38 3d 30 3a 42 25 21 33 32 3d 26 37 46 |%!28=0:B%!32=&7F| 00002020 46 46 46 46 46 3a 42 25 21 33 36 3d 26 37 46 46 |FFFFF:B%!36=&7FF| 00002030 46 46 46 46 0d 0c 8a 18 c8 99 22 57 69 6d 70 5f |FFFF......"Wimp_| 00002040 44 72 61 67 42 6f 78 22 2c 2c 42 25 0d 0c 94 05 |DragBox",,B%....| 00002050 e1 0d 0c 9e 04 0d 0c a8 12 dd f2 44 72 61 67 46 |...........DragF| 00002060 69 6e 69 73 68 65 64 0d 0c b2 3a 70 61 74 68 24 |inished...:path$| 00002070 3d a4 47 65 74 53 74 72 69 6e 67 28 53 61 76 65 |=.GetString(Save| 00002080 57 25 2c 31 29 3a c8 99 22 57 69 6d 70 5f 47 65 |W%,1):.."Wimp_Ge| 00002090 74 50 6f 69 6e 74 65 72 49 6e 66 6f 22 2c 2c 42 |tPointerInfo",,B| 000020a0 25 0d 0c bc 30 42 25 21 32 30 3d 42 25 21 31 32 |%...0B%!20=B%!12| 000020b0 3a 42 25 21 32 34 3d 42 25 21 31 36 3a 42 25 21 |:B%!24=B%!16:B%!| 000020c0 32 38 3d 21 42 25 3a 42 25 21 33 32 3d 42 25 21 |28=!B%:B%!32=B%!| 000020d0 34 0d 0c c6 34 42 25 21 33 36 3d 37 31 2b 45 78 |4...4B%!36=71+Ex| 000020e0 74 44 25 3a 21 42 25 3d 36 34 3a 42 25 21 31 32 |tD%:!B%=64:B%!12| 000020f0 3d 30 3a 42 25 21 31 36 3d 31 3a 42 25 21 34 30 |=0:B%!16=1:B%!40| 00002100 3d 26 30 30 34 0d 0c d0 1e 24 28 42 25 2b 34 34 |=&004....$(B%+44| 00002110 29 3d a4 47 65 74 4c 65 61 66 28 70 61 74 68 24 |)=.GetLeaf(path$| 00002120 2c 30 29 0d 0c da 2a c8 99 22 57 69 6d 70 5f 53 |,0)...*.."Wimp_S| 00002130 65 6e 64 4d 65 73 73 61 67 65 22 2c 31 37 2c 42 |endMessage",17,B| 00002140 25 2c 42 25 21 32 30 2c 42 25 21 32 34 0d 0c e4 |%,B%!20,B%!24...| 00002150 05 e1 0d 0c ee 04 0d 0c f8 14 dd a4 47 65 74 4c |............GetL| 00002160 65 61 66 28 61 24 2c 63 25 29 0d 0d 02 24 c8 95 |eaf(a$,c%)...$..| 00002170 20 a7 61 24 2c 22 2e 22 29 3a 61 24 3d c1 61 24 | .a$,"."):a$=.a$| 00002180 2c a7 61 24 2c 22 2e 22 29 2b 31 29 3a ce 0d 0d |,.a$,".")+1):...| 00002190 0c 0b 3d 61 24 2b bd 63 25 0d 0d 16 04 0d 0d 20 |..=a$+.c%...... | 000021a0 0e dd f2 44 61 74 61 53 61 76 65 0d 0d 2a 20 f2 |...DataSave..* .| 000021b0 55 69 28 53 61 76 65 57 25 2c 31 2c a4 73 74 72 |Ui(SaveW%,1,.str| 000021c0 69 6e 67 28 42 25 2b 34 34 29 29 0d 0d 34 24 f2 |ing(B%+44))..4$.| 000021d0 73 61 76 65 3a 42 25 21 31 32 3d 42 25 21 38 3a |save:B%!12=B%!8:| 000021e0 42 25 21 31 36 3d 33 3a 21 42 25 3d 32 35 36 0d |B%!16=3:!B%=256.| 000021f0 0d 3e 2a c8 99 22 57 69 6d 70 5f 53 65 6e 64 4d |.>*.."Wimp_SendM| 00002200 65 73 73 61 67 65 22 2c 31 37 2c 42 25 2c 42 25 |essage",17,B%,B%| 00002210 21 32 30 2c 42 25 21 32 34 0d 0d 48 1a c8 99 22 |!20,B%!24..H..."| 00002220 57 69 6d 70 5f 43 72 65 61 74 65 4d 65 6e 75 22 |Wimp_CreateMenu"| 00002230 2c 2d 31 0d 0d 52 05 e1 0d 0d 5c 04 0d 0d 66 12 |,-1..R....\...f.| 00002240 dd a4 73 74 72 69 6e 67 28 70 74 72 25 29 0d 0d |..string(ptr%)..| 00002250 70 07 ea 61 24 0d 0d 7a 26 c8 95 20 3f 70 74 72 |p..a$..z&.. ?ptr| 00002260 25 3c 3e 30 3a 61 24 2b 3d bd 28 3f 70 74 72 25 |%<>0:a$+=.(?ptr%| 00002270 29 3a 70 74 72 25 2b 3d 31 3a ce 0d 0d 84 07 3d |):ptr%+=1:.....=| 00002280 61 24 0d 0d 8e 04 0d 0d 98 0f dd f2 51 75 69 63 |a$..........Quic| 00002290 6b 53 61 76 65 0d 0d a2 22 e7 20 a7 a4 47 65 74 |kSave...". ..Get| 000022a0 53 74 72 69 6e 67 28 53 61 76 65 57 25 2c 31 29 |String(SaveW%,1)| 000022b0 2c 22 2e 22 29 20 8c 0d 0d ac 0a 20 f2 73 61 76 |,".") ..... .sav| 000022c0 65 0d 0d b6 40 cc 3a f2 72 65 70 6f 72 74 28 22 |e...@.:.report("| 000022d0 54 6f 20 73 61 76 65 2c 20 64 72 61 67 20 74 68 |To save, drag th| 000022e0 65 20 69 63 6f 6e 20 74 6f 20 61 20 64 69 72 65 |e icon to a dire| 000022f0 63 74 6f 72 79 20 76 69 65 77 65 72 22 2c 31 36 |ctory viewer",16| 00002300 29 0d 0d c0 1c cd 3a c8 99 22 57 69 6d 70 5f 43 |).....:.."Wimp_C| 00002310 72 65 61 74 65 4d 65 6e 75 22 2c 2d 31 0d 0d ca |reateMenu",-1...| 00002320 05 e1 0d 0d d4 04 0d 0d de 17 f4 2d 2d 2d 45 64 |...........---Ed| 00002330 69 74 6f 72 20 70 72 6f 63 73 2d 2d 2d 0d 0d e8 |itor procs---...| 00002340 04 0d 0d f2 11 dd f2 6c 6f 61 64 28 70 61 74 68 |.......load(path| 00002350 24 29 0d 0d fc 0d ea 74 24 2c 77 25 2c 64 25 0d |$).....t$,w%,d%.| 00002360 0e 06 1d f2 55 69 28 53 61 76 65 57 25 2c 31 2c |....Ui(SaveW%,1,| 00002370 22 53 6c 69 63 6b 66 69 6c 65 22 29 0d 0e 10 1e |"Slickfile")....| 00002380 4d 61 73 6b 25 3d 4d 31 25 3a e7 4c 65 61 72 6e |Mask%=M1%:.Learn| 00002390 25 f2 6c 65 61 72 6e 28 30 29 0d 0e 1a 1f e3 6e |%.learn(0).....n| 000023a0 25 3d 31 b8 34 3a f2 55 69 28 47 57 25 28 6e 25 |%=1.4:.Ui(GW%(n%| 000023b0 29 2c 30 2c 22 22 29 3a ed 0d 0e 24 0f 46 25 3d |),0,""):...$.F%=| 000023c0 8e 28 70 61 74 68 24 29 0d 0e 2e 22 e3 6e 25 3d |.(path$)...".n%=| 000023d0 30 b8 32 39 3a 43 25 28 6e 25 29 3d 9a 23 46 25 |0.29:C%(n%)=.#F%| 000023e0 3a ed 3a 77 25 3d 9a 23 46 25 0d 0e 38 24 e8 23 |:.:w%=.#F%..8$.#| 000023f0 46 25 2c 74 24 3a 45 78 74 44 25 3d 9a 23 46 25 |F%,t$:ExtD%=.#F%| 00002400 3a 45 78 74 44 25 3d 45 78 74 44 25 2a 32 0d 0e |:ExtD%=ExtD%*2..| 00002410 42 0b e7 45 78 74 44 25 8c 0d 0e 4c 22 20 e3 62 |B..ExtD%...L" .b| 00002420 25 3d 30 b8 45 78 74 44 25 2d 31 3a 44 65 6d 6f |%=0.ExtD%-1:Demo| 00002430 25 3f 62 25 3d 9a 23 46 25 3a ed 0d 0e 56 05 cd |%?b%=.#F%:...V..| 00002440 0d 0e 60 1a d9 23 46 25 3a f2 55 69 28 47 57 25 |..`..#F%:.Ui(GW%| 00002450 28 77 25 29 2c 30 2c 74 24 29 0d 0e 6a 38 f2 6f |(w%),0,t$)..j8.o| 00002460 70 65 6e 47 57 28 77 25 29 3a f2 74 72 61 6e 73 |penGW(w%):.trans| 00002470 66 65 72 28 32 29 3a 4c 24 3d a4 47 65 74 4c 65 |fer(2):L$=.GetLe| 00002480 61 66 28 70 61 74 68 24 2c 33 32 29 3a f2 61 28 |af(path$,32):.a(| 00002490 30 29 0d 0e 74 05 e1 0d 0e 7e 04 0d 0e 88 12 dd |0)..t....~......| 000024a0 f2 74 72 61 6e 73 66 65 72 28 6d 25 29 0d 0e 92 |.transfer(m%)...| 000024b0 09 c8 8e 6d 25 ca 0d 0e 9c 24 20 c9 31 3a e3 6e |...m%....$ .1:.n| 000024c0 25 3d 30 b8 32 39 3a e7 43 31 25 28 6e 25 29 3d |%=0.29:.C1%(n%)=| 000024d0 30 43 31 25 28 6e 25 29 3d 37 0d 0e a6 17 20 20 |0C1%(n%)=7.... | 000024e0 20 20 20 20 20 ed 3a 43 25 28 29 3d 43 31 25 28 | .:C%()=C1%(| 000024f0 29 0d 0e b0 2a 20 20 20 20 20 20 20 e3 6e 25 3d |)...* .n%=| 00002500 31 31 b8 31 32 3a f2 53 69 28 47 57 25 28 57 6f |11.12:.Si(GW%(Wo| 00002510 70 65 6e 25 29 2c 6e 25 29 3a ed 0d 0e ba 2f 20 |pen%),n%):..../ | 00002520 20 20 20 20 20 20 f2 44 6d 28 53 6d 65 6e 75 25 | .Dm(Smenu%| 00002530 2c 30 29 3a f2 55 69 28 45 64 69 74 57 25 2c 31 |,0):.Ui(EditW%,1| 00002540 33 2c 22 43 6c 65 61 72 22 29 0d 0e c4 28 20 20 |3,"Clear")...( | 00002550 20 20 20 20 20 f2 48 69 28 45 64 69 74 57 25 2c | .Hi(EditW%,| 00002560 31 34 29 3a f2 4c 69 28 45 64 69 74 57 25 2c 31 |14):.Li(EditW%,1| 00002570 35 29 0d 0e ce 22 20 c9 32 3a e3 6e 25 3d 30 b8 |5)..." .2:.n%=0.| 00002580 32 39 3a e7 43 25 28 6e 25 29 3d 37 43 25 28 6e |29:.C%(n%)=7C%(n| 00002590 25 29 3d 30 0d 0e d8 17 20 20 20 20 20 20 20 ed |%)=0.... .| 000025a0 3a 43 31 25 28 29 3d 43 25 28 29 0d 0e e2 3a 20 |:C1%()=C%()...: | 000025b0 20 20 20 20 20 20 e7 53 68 61 70 65 25 3d 37 f2 | .Shape%=7.| 000025c0 65 78 57 28 32 35 30 29 3a c8 99 22 57 69 6d 70 |exW(250):.."Wimp| 000025d0 5f 53 65 74 43 61 72 65 74 50 6f 73 69 74 69 6f |_SetCaretPositio| 000025e0 6e 22 2c 2d 31 0d 0e ec 2d 20 20 20 20 20 20 20 |n",-1...- | 000025f0 e7 53 68 61 70 65 25 f2 4c 69 28 45 64 69 74 57 |.Shape%.Li(EditW| 00002600 25 2c 53 68 61 70 65 25 29 3a 53 68 61 70 65 25 |%,Shape%):Shape%| 00002610 3d 30 0d 0e f6 1f 20 20 20 20 20 20 20 f2 55 73 |=0.... .Us| 00002620 69 28 47 57 25 28 57 6f 70 65 6e 25 29 2c 31 31 |i(GW%(Wopen%),11| 00002630 29 0d 0f 00 39 20 20 20 20 20 20 20 e7 45 78 74 |)...9 .Ext| 00002640 44 25 f2 55 73 69 28 47 57 25 28 57 6f 70 65 6e |D%.Usi(GW%(Wopen| 00002650 25 29 2c 31 32 29 8b f2 53 69 28 47 57 25 28 57 |%),12)..Si(GW%(W| 00002660 6f 70 65 6e 25 29 2c 31 32 29 0d 0f 0a 2f 20 20 |open%),12).../ | 00002670 20 20 20 20 20 f2 45 6d 28 53 6d 65 6e 75 25 2c | .Em(Smenu%,| 00002680 30 29 3a f2 55 69 28 45 64 69 74 57 25 2c 31 33 |0):.Ui(EditW%,13| 00002690 2c 22 4c 65 61 72 6e 22 29 0d 0f 14 28 20 20 20 |,"Learn")...( | 000026a0 20 20 20 20 f2 48 69 28 45 64 69 74 57 25 2c 31 | .Hi(EditW%,1| 000026b0 35 29 3a f2 4c 69 28 45 64 69 74 57 25 2c 31 34 |5):.Li(EditW%,14| 000026c0 29 0d 0f 1e 05 cb 0d 0f 28 23 f2 6d 6f 76 65 73 |).......(#.moves| 000026d0 28 30 29 3a f2 66 72 3a 4f 70 6d 6f 64 65 25 3d |(0):.fr:Opmode%=| 000026e0 6d 25 3a 50 74 72 25 3d 30 0d 0f 32 05 e1 0d 0f |m%:Ptr%=0..2....| 000026f0 3c 04 0d 0f 46 10 dd f2 6f 70 65 6e 47 57 28 69 |<...F...openGW(i| 00002700 25 29 0d 0f 50 28 f2 55 69 28 45 64 69 74 57 25 |%)..P(.Ui(EditW%| 00002710 2c 31 32 2c a4 47 65 74 53 74 72 69 6e 67 28 47 |,12,.GetString(G| 00002720 57 25 28 69 25 29 2c 30 29 29 0d 0f 5a 41 c8 99 |W%(i%),0))..ZA..| 00002730 22 57 69 6d 70 5f 47 65 74 43 61 72 65 74 50 6f |"Wimp_GetCaretPo| 00002740 73 69 74 69 6f 6e 22 2c 2c 42 25 3a e7 21 42 25 |sition",,B%:.!B%| 00002750 3d 45 64 69 74 57 25 f2 53 65 74 43 61 72 65 74 |=EditW%.SetCaret| 00002760 28 45 64 69 74 57 25 2c 31 32 29 0d 0f 64 28 53 |(EditW%,12)..d(S| 00002770 70 61 63 65 25 3d 32 32 2d 28 69 25 2a 35 29 3a |pace%=22-(i%*5):| 00002780 e7 53 70 61 63 65 25 3d 31 37 53 70 61 63 65 25 |.Space%=17Space%| 00002790 3d 31 36 0d 0f 6e 22 f2 6d 65 74 65 72 3a e7 4d |=16..n".meter:.M| 000027a0 6f 64 65 4f 6b 25 f2 4f 70 65 6e 57 28 47 57 25 |odeOk%.OpenW(GW%| 000027b0 28 69 25 29 29 0d 0f 78 0f e7 69 25 3d 57 6f 70 |(i%))..x..i%=Wop| 000027c0 65 6e 25 e1 0d 0f 82 14 f2 48 69 28 45 64 69 74 |en%......Hi(Edit| 000027d0 57 25 2c 69 25 2b 37 29 0d 0f 8c 0c e7 57 6f 70 |W%,i%+7).....Wop| 000027e0 65 6e 25 8c 0d 0f 96 2e 20 f2 43 6c 6f 73 65 57 |en%..... .CloseW| 000027f0 28 47 57 25 28 57 6f 70 65 6e 25 29 29 3a f2 4c |(GW%(Wopen%)):.L| 00002800 69 28 45 64 69 74 57 25 2c 57 6f 70 65 6e 25 2b |i(EditW%,Wopen%+| 00002810 37 29 0d 0f a0 24 20 e3 6e 25 3d 31 31 b8 31 32 |7)...$ .n%=11.12| 00002820 3a f2 53 69 28 47 57 25 28 57 6f 70 65 6e 25 29 |:.Si(GW%(Wopen%)| 00002830 2c 6e 25 29 3a ed 0d 0f aa 05 cd 0d 0f b4 0d 57 |,n%):..........W| 00002840 6f 70 65 6e 25 3d 69 25 0d 0f be 0d c8 8e 57 6f |open%=i%......Wo| 00002850 70 65 6e 25 ca 0d 0f c8 24 20 c9 31 3a 57 78 25 |pen%....$ .1:Wx%| 00002860 3d 34 3a 57 79 25 3d 34 3a 59 62 25 3d 2d 34 30 |=4:Wy%=4:Yb%=-40| 00002870 30 3a 58 72 25 3d 34 30 30 0d 0f d2 24 20 c9 32 |0:Xr%=400...$ .2| 00002880 3a 57 78 25 3d 35 3a 57 79 25 3d 34 3a 59 62 25 |:Wx%=5:Wy%=4:Yb%| 00002890 3d 2d 34 30 30 3a 58 72 25 3d 34 38 30 0d 0f dc |=-400:Xr%=480...| 000028a0 24 20 c9 33 3a 57 78 25 3d 35 3a 57 79 25 3d 35 |$ .3:Wx%=5:Wy%=5| 000028b0 3a 59 62 25 3d 2d 34 38 30 3a 58 72 25 3d 34 38 |:Yb%=-480:Xr%=48| 000028c0 30 0d 0f e6 24 20 c9 34 3a 57 78 25 3d 36 3a 57 |0...$ .4:Wx%=6:W| 000028d0 79 25 3d 35 3a 59 62 25 3d 2d 34 38 30 3a 58 72 |y%=5:Yb%=-480:Xr| 000028e0 25 3d 35 36 30 0d 0f f0 05 cb 0d 0f fa 05 e1 0d |%=560...........| 000028f0 10 04 04 0d 10 0e 0f dd f2 73 68 61 70 65 28 73 |.........shape(s| 00002900 25 29 0d 10 18 09 c8 8e 73 25 ca 0d 10 22 18 20 |%)......s%...". | 00002910 c9 37 3a e7 57 6f 70 65 6e 25 f2 65 78 57 28 33 |.7:.Wopen%.exW(3| 00002920 36 30 29 0d 10 2c 36 20 7f 3a e7 53 68 61 70 65 |60)..,6 .:.Shape| 00002930 25 3d 37 f2 65 78 57 28 32 35 30 29 3a c8 99 22 |%=7.exW(250):.."| 00002940 57 69 6d 70 5f 53 65 74 43 61 72 65 74 50 6f 73 |Wimp_SetCaretPos| 00002950 69 74 69 6f 6e 22 2c 2d 31 0d 10 36 05 cb 0d 10 |ition",-1..6....| 00002960 40 1d e7 53 68 61 70 65 25 f2 4c 69 28 45 64 69 |@..Shape%.Li(Edi| 00002970 74 57 25 2c 53 68 61 70 65 25 29 0d 10 4a 1c f2 |tW%,Shape%)..J..| 00002980 48 69 28 45 64 69 74 57 25 2c 73 25 29 3a 53 68 |Hi(EditW%,s%):Sh| 00002990 61 70 65 25 3d 73 25 0d 10 54 05 e1 0d 10 5e 04 |ape%=s%..T....^.| 000029a0 0d 10 68 0d dd f2 65 78 57 28 68 25 29 0d 10 72 |..h...exW(h%)..r| 000029b0 2a 21 42 25 3d 45 64 69 74 57 25 3a c8 99 22 57 |*!B%=EditW%:.."W| 000029c0 69 6d 70 5f 47 65 74 57 69 6e 64 6f 77 53 74 61 |imp_GetWindowSta| 000029d0 74 65 22 2c 2c 42 25 0d 10 7c 32 42 25 21 38 3d |te",,B%..|2B%!8=| 000029e0 42 25 21 31 36 2d 68 25 3a 42 25 21 32 38 3d 2d |B%!16-h%:B%!28=-| 000029f0 31 3a c8 99 22 57 69 6d 70 5f 4f 70 65 6e 57 69 |1:.."Wimp_OpenWi| 00002a00 6e 64 6f 77 22 2c 2c 42 25 0d 10 86 05 e1 0d 10 |ndow",,B%.......| 00002a10 90 04 0d 10 9a 0f dd f2 6c 65 61 72 6e 28 62 25 |........learn(b%| 00002a20 29 0d 10 a4 1b 45 78 74 44 25 3d 30 3a f2 55 73 |)....ExtD%=0:.Us| 00002a30 69 28 45 64 69 74 57 25 2c 31 34 29 0d 10 ae 09 |i(EditW%,14)....| 00002a40 c8 8e 62 25 ca 0d 10 b8 19 20 c9 30 3a 4c 65 61 |..b%..... .0:Lea| 00002a50 72 6e 25 3d 30 3a 21 44 65 6d 6f 25 3d 30 0d 10 |rn%=0:!Demo%=0..| 00002a60 c2 2b 20 c9 31 2c 34 3a f2 53 69 28 47 57 25 28 |.+ .1,4:.Si(GW%(| 00002a70 57 6f 70 65 6e 25 29 2c 31 32 29 3a f2 44 6d 28 |Wopen%),12):.Dm(| 00002a80 53 6d 65 6e 75 25 2c 30 29 0d 10 cc 34 20 20 20 |Smenu%,0)...4 | 00002a90 20 20 20 20 20 20 f2 53 69 28 45 64 69 74 57 25 | .Si(EditW%| 00002aa0 2c 31 34 29 3a f2 4c 69 28 45 64 69 74 57 25 2c |,14):.Li(EditW%,| 00002ab0 31 35 29 3a 4c 65 61 72 6e 25 3d 2d 31 0d 10 d6 |15):Learn%=-1...| 00002ac0 2e 20 20 20 20 20 20 20 20 20 e7 62 25 3d 34 21 |. .b%=4!| 00002ad0 44 65 6d 6f 25 3d 30 3a f2 72 65 73 65 74 3a e7 |Demo%=0:.reset:.| 00002ae0 41 24 3d 22 22 f2 61 28 2d 31 29 0d 10 e0 2d 20 |A$="".a(-1)...- | 00002af0 c9 32 3a f2 45 6d 28 53 6d 65 6e 75 25 2c 30 29 |.2:.Em(Smenu%,0)| 00002b00 3a f2 48 69 28 45 64 69 74 57 25 2c 31 35 29 3a |:.Hi(EditW%,15):| 00002b10 4c 65 61 72 6e 25 3d 30 0d 10 ea 36 20 20 20 20 |Learn%=0...6 | 00002b20 20 20 20 e7 21 44 65 6d 6f 25 3e 30 f2 55 73 69 | .!Demo%>0.Usi| 00002b30 28 47 57 25 28 57 6f 70 65 6e 25 29 2c 31 32 29 |(GW%(Wopen%),12)| 00002b40 3a 45 78 74 44 25 3d 4d 6f 76 65 25 2a 32 0d 10 |:ExtD%=Move%*2..| 00002b50 f4 05 cb 0d 10 fe 07 f2 41 69 0d 11 08 05 e1 0d |........Ai......| 00002b60 11 12 04 0d 11 1c 14 dd f2 70 6c 6f 74 28 62 25 |.........plot(b%| 00002b70 2c 78 25 2c 79 25 29 0d 11 26 21 ea 63 65 6c 6c |,x%,y%)..&!.cell| 00002b80 25 2c 73 25 2c 6c 25 2c 68 25 3a 6c 25 3d 31 36 |%,s%,l%,h%:l%=16| 00002b90 30 3a 68 25 3d 31 36 30 0d 11 30 37 78 25 3d 28 |0:h%=160..07x%=(| 00002ba0 78 25 2d 4f 78 25 29 81 38 30 3a 79 25 3d 28 4f |x%-Ox%).80:y%=(O| 00002bb0 79 25 2d 79 25 29 81 38 30 3a 63 65 6c 6c 25 3d |y%-y%).80:cell%=| 00002bc0 78 25 2d 31 2b 28 28 79 25 2d 31 29 2a 36 29 0d |x%-1+((y%-1)*6).| 00002bd0 11 3a 09 c8 8e 62 25 ca 0d 11 44 15 20 c9 31 3a |.:...b%...D. .1:| 00002be0 e7 43 25 28 63 65 6c 6c 25 29 3d 37 e1 0d 11 4e |.C%(cell%)=7...N| 00002bf0 43 20 20 20 20 20 20 20 e7 43 25 28 63 65 6c 6c |C .C%(cell| 00002c00 25 29 3e 37 63 65 6c 6c 25 3d 43 25 28 63 65 6c |%)>7cell%=C%(cel| 00002c10 6c 25 29 2d 31 30 3a 78 25 3d 63 65 6c 6c 25 83 |l%)-10:x%=cell%.| 00002c20 36 2b 31 3a 79 25 3d 63 65 6c 6c 25 81 36 2b 31 |6+1:y%=cell%.6+1| 00002c30 0d 11 58 23 20 20 20 20 20 20 20 73 25 3d 43 25 |..X# s%=C%| 00002c40 28 63 65 6c 6c 25 29 3a f2 63 28 37 2c 63 65 6c |(cell%):.c(7,cel| 00002c50 6c 25 29 0d 11 62 29 20 c9 34 3a e7 ac a4 65 64 |l%)..b) .4:...ed| 00002c60 67 65 28 78 25 2c 79 25 2c 63 65 6c 6c 25 29 d4 |ge(x%,y%,cell%).| 00002c70 31 2c 2d 31 35 2c 34 30 2c 32 3a e1 0d 11 6c 21 |1,-15,40,2:...l!| 00002c80 20 20 20 20 20 20 20 73 25 3d 53 68 61 70 65 25 | s%=Shape%| 00002c90 3a f2 63 28 73 25 2c 63 65 6c 6c 25 29 0d 11 76 |:.c(s%,cell%)..v| 00002ca0 1b cb 3a 78 25 3d 78 25 2a 38 30 3a 79 25 3d 28 |..:x%=x%*80:y%=(| 00002cb0 79 25 2b 31 29 2a 38 30 0d 11 80 0e e7 73 25 3d |y%+1)*80.....s%=| 00002cc0 32 6c 25 3d 38 30 0d 11 8a 0e e7 73 25 3d 33 68 |2l%=80.....s%=3h| 00002cd0 25 3d 38 30 0d 11 94 14 e7 73 25 3d 34 6c 25 3d |%=80.....s%=4l%=| 00002ce0 38 30 3a 68 25 3d 38 30 0d 11 9e 2c c8 99 26 34 |80:h%=80...,..&4| 00002cf0 30 30 44 31 2c 47 57 25 28 57 6f 70 65 6e 25 29 |00D1,GW%(Wopen%)| 00002d00 2c 78 25 2c 2d 79 25 2c 78 25 2b 6c 25 2c 2d 79 |,x%,-y%,x%+l%,-y| 00002d10 25 2b 68 25 0d 11 a8 1f f2 6d 65 74 65 72 3a 45 |%+h%.....meter:E| 00002d20 78 74 44 25 3d 30 3a e7 41 24 3d 22 22 f2 61 28 |xtD%=0:.A$="".a(| 00002d30 2d 31 29 0d 11 b2 05 e1 0d 11 bc 04 0d 11 c6 14 |-1).............| 00002d40 dd a4 65 64 67 65 28 78 25 2c 79 25 2c 63 25 29 |..edge(x%,y%,c%)| 00002d50 0d 11 d0 08 ea 6f 6b 25 0d 11 da 0d c8 8e 53 68 |.....ok%......Sh| 00002d60 61 70 65 25 ca 0d 11 e4 2b 20 c9 31 2c 35 2c 36 |ape%....+ .1,5,6| 00002d70 3a e7 78 25 3e 30 e7 78 25 3c 57 78 25 e7 79 25 |:.x%>0.x%<Wx%.y%| 00002d80 3e 31 e7 79 25 3c 3d 57 79 25 6f 6b 25 3d 2d 31 |>1.y%<=Wy%ok%=-1| 00002d90 0d 11 ee 28 20 c9 32 3a e7 78 25 3e 30 e7 78 25 |...( .2:.x%>0.x%| 00002da0 3c 3d 57 78 25 e7 79 25 3e 31 e7 79 25 3c 3d 57 |<=Wx%.y%>1.y%<=W| 00002db0 79 25 6f 6b 25 3d 2d 31 0d 11 f8 28 20 c9 33 3a |y%ok%=-1...( .3:| 00002dc0 e7 78 25 3e 30 e7 78 25 3c 57 78 25 e7 79 25 3e |.x%>0.x%<Wx%.y%>| 00002dd0 3d 31 e7 79 25 3c 3d 57 79 25 6f 6b 25 3d 2d 31 |=1.y%<=Wy%ok%=-1| 00002de0 0d 12 02 29 20 c9 34 3a e7 78 25 3e 30 e7 78 25 |...) .4:.x%>0.x%| 00002df0 3c 3d 57 78 25 e7 79 25 3e 3d 31 e7 79 25 3c 3d |<=Wx%.y%>=1.y%<=| 00002e00 57 79 25 6f 6b 25 3d 2d 31 0d 12 0c 05 cb 0d 12 |Wy%ok%=-1.......| 00002e10 16 16 e7 6f 6b 25 8c 3d a4 66 69 74 28 63 25 29 |...ok%.=.fit(c%)| 00002e20 20 8b 3d 30 0d 12 20 04 0d 12 2a 0d dd a4 66 69 | .=0.. ...*...fi| 00002e30 74 28 63 25 29 0d 12 34 08 ea 6f 6b 25 0d 12 3e |t(c%)..4..ok%..>| 00002e40 0d c8 8e 53 68 61 70 65 25 ca 0d 12 48 38 20 c9 |...Shape%...H8 .| 00002e50 31 3a e7 43 25 28 63 25 29 3d 37 e7 43 25 28 63 |1:.C%(c%)=7.C%(c| 00002e60 25 2d 36 29 3d 37 e7 43 25 28 63 25 2d 35 29 3d |%-6)=7.C%(c%-5)=| 00002e70 37 e7 43 25 28 63 25 2b 31 29 3d 37 6f 6b 25 3d |7.C%(c%+1)=7ok%=| 00002e80 2d 31 0d 12 52 22 20 c9 32 3a e7 43 25 28 63 25 |-1..R" .2:.C%(c%| 00002e90 29 3d 37 e7 43 25 28 63 25 2d 36 29 3d 37 6f 6b |)=7.C%(c%-6)=7ok| 00002ea0 25 3d 2d 31 0d 12 5c 22 20 c9 33 3a e7 43 25 28 |%=-1..\" .3:.C%(| 00002eb0 63 25 29 3d 37 e7 43 25 28 63 25 2b 31 29 3d 37 |c%)=7.C%(c%+1)=7| 00002ec0 6f 6b 25 3d 2d 31 0d 12 66 17 20 c9 34 3a e7 43 |ok%=-1..f. .4:.C| 00002ed0 25 28 63 25 29 3d 37 6f 6b 25 3d 2d 31 0d 12 70 |%(c%)=7ok%=-1..p| 00002ee0 2d 20 c9 35 3a e7 43 25 28 63 25 29 3d 37 e7 43 |- .5:.C%(c%)=7.C| 00002ef0 25 28 63 25 2d 36 29 3d 37 e7 43 25 28 63 25 2d |%(c%-6)=7.C%(c%-| 00002f00 35 29 3d 37 6f 6b 25 3d 2d 31 0d 12 7a 2d 20 c9 |5)=7ok%=-1..z- .| 00002f10 36 3a e7 43 25 28 63 25 29 3d 37 e7 43 25 28 63 |6:.C%(c%)=7.C%(c| 00002f20 25 2d 35 29 3d 37 e7 43 25 28 63 25 2b 31 29 3d |%-5)=7.C%(c%+1)=| 00002f30 37 6f 6b 25 3d 2d 31 0d 12 84 05 cb 0d 12 8e 08 |7ok%=-1.........| 00002f40 3d 6f 6b 25 0d 12 98 04 0d 12 a2 0b dd f2 6d 65 |=ok%..........me| 00002f50 74 65 72 0d 12 ac 16 ea 6e 25 2c 63 25 2c 78 31 |ter.....n%,c%,x1| 00002f60 25 2c 78 32 25 2c 78 33 25 0d 12 b6 1b e3 6e 25 |%,x2%,x3%.....n%| 00002f70 3d 30 b8 32 39 3a e7 43 25 28 6e 25 29 3d 37 63 |=0.29:.C%(n%)=7c| 00002f80 25 2b 3d 31 0d 12 c0 2e ed 3a e7 63 25 3d 53 70 |%+=1.....:.c%=Sp| 00002f90 61 63 65 25 f2 55 73 69 28 45 64 69 74 57 25 2c |ace%.Usi(EditW%,| 00002fa0 31 35 29 8b f2 53 69 28 45 64 69 74 57 25 2c 31 |15)..Si(EditW%,1| 00002fb0 35 29 0d 12 ca 2d e3 6e 25 3d 35 b8 32 39 88 36 |5)...-.n%=5.29.6| 00002fc0 3a e7 43 25 28 6e 25 29 3c 3e 37 78 31 25 3d 2d |:.C%(n%)<>7x1%=-| 00002fd0 31 3a 78 32 25 3d 2d 31 3a 78 33 25 3d 2d 31 0d |1:x2%=-1:x3%=-1.| 00002fe0 12 d4 21 ed 3a e3 6e 25 3d 34 b8 32 32 88 36 3a |..!.:.n%=4.22.6:| 00002ff0 e7 43 25 28 6e 25 29 3c 3e 37 78 31 25 3d 2d 31 |.C%(n%)<>7x1%=-1| 00003000 0d 12 de 27 ed 3a e3 6e 25 3d 32 34 b8 32 38 3a |...'.:.n%=24.28:| 00003010 e7 43 25 28 6e 25 29 3c 3e 37 78 31 25 3d 2d 31 |.C%(n%)<>7x1%=-1| 00003020 3a 78 32 25 3d 2d 31 0d 12 e8 26 ed 3a e7 78 31 |:x2%=-1...&.:.x1| 00003030 25 f2 53 69 28 45 64 69 74 57 25 2c 38 29 8b f2 |%.Si(EditW%,8)..| 00003040 55 73 69 28 45 64 69 74 57 25 2c 38 29 0d 12 f2 |Usi(EditW%,8)...| 00003050 24 e7 78 32 25 f2 53 69 28 45 64 69 74 57 25 2c |$.x2%.Si(EditW%,| 00003060 39 29 8b f2 55 73 69 28 45 64 69 74 57 25 2c 39 |9)..Usi(EditW%,9| 00003070 29 0d 12 fc 26 e7 78 33 25 f2 53 69 28 45 64 69 |)...&.x3%.Si(Edi| 00003080 74 57 25 2c 31 30 29 8b f2 55 73 69 28 45 64 69 |tW%,10)..Usi(Edi| 00003090 74 57 25 2c 31 30 29 0d 13 06 05 e1 0d 13 10 04 |tW%,10).........| 000030a0 0d 13 1a 0e dd f2 63 28 73 25 2c 63 25 29 0d 13 |......c(s%,c%)..| 000030b0 24 09 c8 8e 73 25 ca 0d 13 2e 1f 20 c9 30 3a 73 |$...s%..... .0:s| 000030c0 25 3d 43 25 28 63 25 29 3a 43 25 28 63 25 29 3d |%=C%(c%):C%(c%)=| 000030d0 30 3a 6e 25 3d 30 0d 13 38 1f 20 c9 37 3a 73 25 |0:n%=0..8. .7:s%| 000030e0 3d 43 25 28 63 25 29 3a 43 25 28 63 25 29 3d 37 |=C%(c%):C%(c%)=7| 000030f0 3a 6e 25 3d 37 0d 13 42 19 20 7f 3a 43 25 28 63 |:n%=7..B. .:C%(c| 00003100 25 29 3d 73 25 3a 6e 25 3d 63 25 2b 31 30 0d 13 |%)=s%:n%=c%+10..| 00003110 4c 05 cb 0d 13 56 09 c8 8e 73 25 ca 0d 13 60 2b |L....V...s%...`+| 00003120 20 c9 31 3a 43 25 28 63 25 2d 36 29 3d 6e 25 3a | .1:C%(c%-6)=n%:| 00003130 43 25 28 63 25 2d 35 29 3d 6e 25 3a 43 25 28 63 |C%(c%-5)=n%:C%(c| 00003140 25 2b 31 29 3d 6e 25 0d 13 6a 13 20 c9 32 3a 43 |%+1)=n%..j. .2:C| 00003150 25 28 63 25 2d 36 29 3d 6e 25 0d 13 74 13 20 c9 |%(c%-6)=n%..t. .| 00003160 33 3a 43 25 28 63 25 2b 31 29 3d 6e 25 0d 13 7e |3:C%(c%+1)=n%..~| 00003170 1f 20 c9 35 3a 43 25 28 63 25 2d 36 29 3d 6e 25 |. .5:C%(c%-6)=n%| 00003180 3a 43 25 28 63 25 2d 35 29 3d 6e 25 0d 13 88 1f |:C%(c%-5)=n%....| 00003190 20 c9 36 3a 43 25 28 63 25 2d 35 29 3d 6e 25 3a | .6:C%(c%-5)=n%:| 000031a0 43 25 28 63 25 2b 31 29 3d 6e 25 0d 13 92 05 cb |C%(c%+1)=n%.....| 000031b0 0d 13 9c 05 e1 0d 13 a6 04 0d 13 b0 0b dd f2 63 |...............c| 000031c0 6c 65 61 72 0d 13 ba 15 43 25 28 29 3d 37 3a f2 |lear....C%()=7:.| 000031d0 6d 65 74 65 72 3a f2 66 72 0d 13 c4 1f e3 6e 25 |meter:.fr.....n%| 000031e0 3d 31 b8 34 3a f2 55 69 28 47 57 25 28 6e 25 29 |=1.4:.Ui(GW%(n%)| 000031f0 2c 30 2c 22 22 29 3a ed 0d 13 ce 3b f2 55 69 28 |,0,""):....;.Ui(| 00003200 45 64 69 74 57 25 2c 31 32 2c 22 22 29 3a f2 55 |EditW%,12,""):.U| 00003210 69 28 53 61 76 65 57 25 2c 31 2c 22 53 6c 69 63 |i(SaveW%,1,"Slic| 00003220 6b 66 69 6c 65 22 29 3a 4c 24 3d 22 22 3a f2 61 |kfile"):L$="":.a| 00003230 28 30 29 0d 13 d8 05 e1 0d 13 e2 04 0d 13 ec 08 |(0).............| 00003240 dd f2 66 72 0d 13 f6 27 c8 99 26 34 30 30 44 31 |..fr...'..&400D1| 00003250 2c 47 57 25 28 57 6f 70 65 6e 25 29 2c 38 30 2c |,GW%(Wopen%),80,| 00003260 59 62 25 2c 58 72 25 2c 2d 38 30 0d 14 00 05 e1 |Yb%,Xr%,-80.....| 00003270 0d 14 0a 04 0d 14 14 0e dd f2 61 28 64 61 74 61 |..........a(data| 00003280 25 29 0d 14 1e 07 ea 6e 25 0d 14 28 0c c8 8e 64 |%).....n%..(...d| 00003290 61 74 61 25 ca 0d 14 32 10 20 c9 20 b9 20 3a 41 |ata%...2. . . :A| 000032a0 24 3d 22 2a 22 0d 14 3c 0e 20 c9 20 a3 3a 41 24 |$="*"..<. . .:A$| 000032b0 3d 22 22 0d 14 46 05 cb 0d 14 50 09 c8 8e 4c 24 |=""..F....P...L$| 000032c0 ca 0d 14 5a 2f 20 c9 22 22 3a e3 6e 25 3d 31 b8 |...Z/ ."":.n%=1.| 000032d0 34 3a f2 74 69 74 6c 65 28 47 57 25 28 6e 25 29 |4:.title(GW%(n%)| 000032e0 2c a4 64 65 66 61 75 6c 74 28 6e 25 29 29 3a ed |,.default(n%)):.| 000032f0 0d 14 64 26 20 7f 3a e3 6e 25 3d 31 b8 34 3a f2 |..d& .:.n%=1.4:.| 00003300 74 69 74 6c 65 28 47 57 25 28 6e 25 29 2c 4c 24 |title(GW%(n%),L$| 00003310 2b 41 24 29 3a ed 0d 14 6e 05 cb 0d 14 78 05 e1 |+A$):...n....x..| 00003320 0d 14 82 04 0d 14 8c 11 dd a4 64 65 66 61 75 6c |..........defaul| 00003330 74 28 6e 25 29 0d 14 96 09 c8 8e 6e 25 ca 0d 14 |t(n%)......n%...| 00003340 a0 11 20 c9 31 3a 74 24 3d 22 34 78 34 20 22 0d |.. .1:t$="4x4 ".| 00003350 14 aa 11 20 c9 32 3a 74 24 3d 22 35 78 34 20 22 |... .2:t$="5x4 "| 00003360 0d 14 b4 11 20 c9 33 3a 74 24 3d 22 35 78 35 20 |.... .3:t$="5x5 | 00003370 22 0d 14 be 11 20 c9 34 3a 74 24 3d 22 36 78 35 |".... .4:t$="6x5| 00003380 20 22 0d 14 c8 05 cb 0d 14 d2 0a 3d 74 24 2b 41 | ".........=t$+A| 00003390 24 0d 14 dc 04 0d 14 e6 0f dd a4 6f 6b 28 66 72 |$..........ok(fr| 000033a0 6f 6d 25 29 0d 14 f0 28 ea 6f 6b 25 2c 6d 24 3a |om%)...(.ok%,m$:| 000033b0 6d 24 3d 22 59 6f 75 20 68 61 76 65 20 75 6e 73 |m$="You have uns| 000033c0 61 76 65 64 20 64 61 74 61 2c 20 22 0d 14 fa 0a |aved data, "....| 000033d0 c8 8e a9 41 24 ca 0d 15 04 0d 20 c9 30 3a 6f 6b |...A$..... .0:ok| 000033e0 25 3d b9 0d 15 0e 10 20 c9 31 3a c8 8e 66 72 6f |%=..... .1:..fro| 000033f0 6d 25 ca 0d 15 18 39 20 20 20 20 20 20 20 c9 31 |m%....9 .1| 00003400 3a f2 72 65 70 6f 72 74 28 6d 24 2b 22 64 6f 20 |:.report(m$+"do | 00003410 79 6f 75 20 73 74 69 6c 6c 20 77 61 6e 74 20 74 |you still want t| 00003420 6f 20 51 75 69 74 3f 22 2c 31 39 29 0d 15 22 20 |o Quit?",19).." | 00003430 20 20 20 20 20 20 20 20 20 20 20 20 20 e7 53 65 | .Se| 00003440 6c 65 63 74 25 3d 31 6f 6b 25 3d b9 0d 15 2c 31 |lect%=1ok%=...,1| 00003450 20 20 20 20 20 20 20 c9 32 3a f2 72 65 70 6f 72 | .2:.repor| 00003460 74 28 6d 24 2b 22 70 72 6f 63 65 65 64 20 77 69 |t(m$+"proceed wi| 00003470 74 68 20 6c 6f 61 64 3f 22 2c 31 39 29 0d 15 36 |th load?",19)..6| 00003480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e7 53 | .S| 00003490 65 6c 65 63 74 25 3d 31 6f 6b 25 3d b9 0d 15 40 |elect%=1ok%=...@| 000034a0 0c 20 20 20 20 20 20 20 cb 0d 15 4a 05 cb 0d 15 |. ...J....| 000034b0 54 08 3d 6f 6b 25 0d 15 5e 04 0d 15 68 15 f4 2d |T.=ok%..^...h..-| 000034c0 2d 2d 47 61 6d 65 20 70 72 6f 63 73 2d 2d 2d 0d |--Game procs---.| 000034d0 15 72 04 0d 15 7c 16 dd f2 73 65 6c 65 63 74 28 |.r...|...select(| 000034e0 62 25 2c 78 25 2c 79 25 29 0d 15 86 0f ea 73 24 |b%,x%,y%).....s$| 000034f0 2c 78 31 25 2c 79 31 25 0d 15 90 28 4d 25 3d 30 |,x1%,y1%...(M%=0| 00003500 3a 78 31 25 3d 28 78 25 2d 4f 78 25 29 81 38 30 |:x1%=(x%-Ox%).80| 00003510 3a 79 31 25 3d 28 4f 79 25 2d 79 25 29 81 38 30 |:y1%=(Oy%-y%).80| 00003520 0d 15 9a 3a 63 65 6c 6c 25 3d 78 31 25 2d 31 2b |...:cell%=x1%-1+| 00003530 28 28 79 31 25 2d 31 29 2a 36 29 3a e7 43 25 28 |((y1%-1)*6):.C%(| 00003540 63 65 6c 6c 25 29 3e 37 63 65 6c 6c 25 3d 43 25 |cell%)>7cell%=C%| 00003550 28 63 65 6c 6c 25 29 2d 31 30 0d 15 a4 44 50 69 |(cell%)-10...DPi| 00003560 65 63 65 25 3d 43 25 28 63 65 6c 6c 25 29 3a 78 |ece%=C%(cell%):x| 00003570 25 3d 63 65 6c 6c 25 83 36 2b 31 3a 79 25 3d 63 |%=cell%.6+1:y%=c| 00003580 65 6c 6c 25 81 36 2b 31 3a 58 25 3d 78 25 2a 38 |ell%.6+1:X%=x%*8| 00003590 30 3a 59 25 3d 28 79 25 2b 31 29 2a 38 30 0d 15 |0:Y%=(y%+1)*80..| 000035a0 ae 0d c8 8e 50 69 65 63 65 25 ca 0d 15 b8 11 20 |....Piece%..... | 000035b0 c9 31 3a 73 24 3d 22 45 4b 4c 4a 22 0d 15 c2 22 |.1:s$="EKLJ"..."| 000035c0 20 c9 32 3a e7 79 31 25 3c 79 25 73 24 3d 22 45 | .2:.y1%<y%s$="E| 000035d0 46 47 44 22 8b 73 24 3d 22 45 46 44 47 22 0d 15 |FGD".s$="EFDG"..| 000035e0 cc 22 20 c9 33 3a e7 78 31 25 3e 78 25 73 24 3d |." .3:.x1%>x%s$=| 000035f0 22 48 41 49 4a 22 8b 73 24 3d 22 41 48 49 4a 22 |"HAIJ".s$="AHIJ"| 00003600 0d 15 d6 20 20 c9 34 3a e7 62 25 3d 31 73 24 3d |... .4:.b%=1s$=| 00003610 22 41 42 43 44 22 8b 73 24 3d 22 43 44 41 42 22 |"ABCD".s$="CDAB"| 00003620 0d 15 e0 11 20 c9 35 3a 73 24 3d 22 45 4d 4c 4e |.... .5:s$="EMLN| 00003630 22 0d 15 ea 11 20 c9 36 3a 73 24 3d 22 4f 4b 50 |".... .6:s$="OKP| 00003640 4a 22 0d 15 f4 05 cb 0d 15 fe 24 43 65 6c 6c 25 |J"........$Cell%| 00003650 3d 63 65 6c 6c 25 3a f2 73 65 71 28 73 24 2c 63 |=cell%:.seq(s$,c| 00003660 65 6c 6c 25 2c 78 25 2c 79 25 29 0d 16 08 1f 50 |ell%,x%,y%)....P| 00003670 74 72 25 3d 30 3a e7 4c 65 61 72 6e 25 3a e7 41 |tr%=0:.Learn%:.A| 00003680 24 3d 22 22 f2 61 28 2d 31 29 0d 16 12 05 e1 0d |$="".a(-1)......| 00003690 16 1c 04 0d 16 26 16 dd f2 73 65 71 28 73 24 2c |.....&...seq(s$,| 000036a0 63 25 2c 78 25 2c 79 25 29 0d 16 30 0d ea 73 25 |c%,x%,y%)..0..s%| 000036b0 2c 6e 25 2c 6d 25 0d 16 3a 16 e3 73 25 3d 31 b8 |,n%,m%..:..s%=1.| 000036c0 34 3a 6e 25 3d 30 3a e7 ac 4d 25 8c 0d 16 44 11 |4:n%=0:..M%...D.| 000036d0 20 c8 8e c1 73 24 2c 73 25 2c 31 29 ca 0d 16 4e | ...s$,s%,1)...N| 000036e0 1e 20 20 c9 22 41 22 3a e7 78 25 3e 31 6e 25 3d |. ."A":.x%>1n%=| 000036f0 31 3a e7 78 25 3e 32 6e 25 3d 32 0d 16 58 35 20 |1:.x%>2n%=2..X5 | 00003700 20 20 20 20 20 20 20 20 20 e7 6e 25 e7 43 25 28 | .n%.C%(| 00003710 63 25 2d 31 29 3d 30 6d 25 3d 31 3a e7 6e 25 3d |c%-1)=0m%=1:.n%=| 00003720 32 e7 43 25 28 63 25 2d 32 29 3d 30 6d 25 3d 32 |2.C%(c%-2)=0m%=2| 00003730 0d 16 62 1d 20 20 20 20 20 20 20 20 20 20 e7 6d |..b. .m| 00003740 25 f2 6d 6f 76 65 28 32 2c 2d 6d 25 29 0d 16 6c |%.move(2,-m%)..l| 00003750 24 20 20 c9 22 42 22 3a e7 78 25 3c 57 78 25 6e |$ ."B":.x%<Wx%n| 00003760 25 3d 31 3a e7 78 25 3c 57 78 25 2d 31 6e 25 3d |%=1:.x%<Wx%-1n%=| 00003770 32 0d 16 76 35 20 20 20 20 20 20 20 20 20 20 e7 |2..v5 .| 00003780 6e 25 e7 43 25 28 63 25 2b 31 29 3d 30 6d 25 3d |n%.C%(c%+1)=0m%=| 00003790 31 3a e7 6e 25 3d 32 e7 43 25 28 63 25 2b 32 29 |1:.n%=2.C%(c%+2)| 000037a0 3d 30 6d 25 3d 32 0d 16 80 1c 20 20 20 20 20 20 |=0m%=2.... | 000037b0 20 20 20 20 e7 6d 25 f2 6d 6f 76 65 28 32 2c 6d | .m%.move(2,m| 000037c0 25 29 0d 16 8a 1e 20 20 c9 22 43 22 3a e7 79 25 |%).... ."C":.y%| 000037d0 3e 31 6e 25 3d 31 3a e7 79 25 3e 32 6e 25 3d 32 |>1n%=1:.y%>2n%=2| 000037e0 0d 16 94 36 20 20 20 20 20 20 20 20 20 20 e7 6e |...6 .n| 000037f0 25 e7 43 25 28 63 25 2d 36 29 3d 30 6d 25 3d 31 |%.C%(c%-6)=0m%=1| 00003800 3a e7 6e 25 3d 32 e7 43 25 28 63 25 2d 31 32 29 |:.n%=2.C%(c%-12)| 00003810 3d 30 6d 25 3d 32 0d 16 9e 1d 20 20 20 20 20 20 |=0m%=2.... | 00003820 20 20 20 20 e7 6d 25 f2 6d 6f 76 65 28 31 2c 2d | .m%.move(1,-| 00003830 6d 25 29 0d 16 a8 24 20 20 c9 22 44 22 3a e7 79 |m%)...$ ."D":.y| 00003840 25 3c 57 79 25 6e 25 3d 31 3a e7 79 25 3c 57 79 |%<Wy%n%=1:.y%<Wy| 00003850 25 2d 31 6e 25 3d 32 0d 16 b2 36 20 20 20 20 20 |%-1n%=2...6 | 00003860 20 20 20 20 20 e7 6e 25 e7 43 25 28 63 25 2b 36 | .n%.C%(c%+6| 00003870 29 3d 30 6d 25 3d 31 3a e7 6e 25 3d 32 e7 43 25 |)=0m%=1:.n%=2.C%| 00003880 28 63 25 2b 31 32 29 3d 30 6d 25 3d 32 0d 16 bc |(c%+12)=0m%=2...| 00003890 1c 20 20 20 20 20 20 20 20 20 20 e7 6d 25 f2 6d |. .m%.m| 000038a0 6f 76 65 28 31 2c 6d 25 29 0d 16 c6 31 20 20 c9 |ove(1,m%)...1 .| 000038b0 22 45 22 3a e7 78 25 3e 31 e7 43 25 28 63 25 2d |"E":.x%>1.C%(c%-| 000038c0 31 29 3d 30 e7 43 25 28 63 25 2d 37 29 3d 30 f2 |1)=0.C%(c%-7)=0.| 000038d0 6d 6f 76 65 28 32 2c 2d 31 29 0d 16 d0 32 20 20 |move(2,-1)...2 | 000038e0 c9 22 46 22 3a e7 78 25 3c 57 78 25 e7 43 25 28 |."F":.x%<Wx%.C%(| 000038f0 63 25 2b 31 29 3d 30 e7 43 25 28 63 25 2d 35 29 |c%+1)=0.C%(c%-5)| 00003900 3d 30 f2 6d 6f 76 65 28 32 2c 31 29 0d 16 da 41 |=0.move(2,1)...A| 00003910 20 20 c9 22 47 22 3a e7 79 25 3e 32 6e 25 3d 79 | ."G":.y%>2n%=y| 00003920 25 81 32 3a e7 6e 25 e7 43 25 28 63 25 2d 31 32 |%.2:.n%.C%(c%-12| 00003930 29 3d 30 6d 25 3d 31 3a e7 6e 25 3d 32 e7 43 25 |)=0m%=1:.n%=2.C%| 00003940 28 63 25 2d 31 38 29 3d 30 6d 25 3d 32 0d 16 e4 |(c%-18)=0m%=2...| 00003950 1d 20 20 20 20 20 20 20 20 20 20 e7 6d 25 f2 6d |. .m%.m| 00003960 6f 76 65 28 31 2c 2d 6d 25 29 0d 16 ee 26 20 20 |ove(1,-m%)...& | 00003970 c9 22 48 22 3a e7 78 25 3c 57 78 25 2d 31 6e 25 |."H":.x%<Wx%-1n%| 00003980 3d 31 3a e7 78 25 3c 57 78 25 2d 32 6e 25 3d 32 |=1:.x%<Wx%-2n%=2| 00003990 0d 16 f8 35 20 20 20 20 20 20 20 20 20 20 e7 6e |...5 .n| 000039a0 25 e7 43 25 28 63 25 2b 32 29 3d 30 6d 25 3d 31 |%.C%(c%+2)=0m%=1| 000039b0 3a e7 6e 25 3d 32 e7 43 25 28 63 25 2b 33 29 3d |:.n%=2.C%(c%+3)=| 000039c0 30 6d 25 3d 32 0d 17 02 1c 20 20 20 20 20 20 20 |0m%=2.... | 000039d0 20 20 20 e7 6d 25 f2 6d 6f 76 65 28 32 2c 6d 25 | .m%.move(2,m%| 000039e0 29 0d 17 0c 31 20 20 c9 22 49 22 3a e7 79 25 3e |)...1 ."I":.y%>| 000039f0 31 e7 43 25 28 63 25 2d 36 29 3d 30 e7 43 25 28 |1.C%(c%-6)=0.C%(| 00003a00 63 25 2d 35 29 3d 30 f2 6d 6f 76 65 28 31 2c 2d |c%-5)=0.move(1,-| 00003a10 31 29 0d 17 16 32 20 20 c9 22 4a 22 3a e7 79 25 |1)...2 ."J":.y%| 00003a20 3c 57 79 25 e7 43 25 28 63 25 2b 36 29 3d 30 e7 |<Wy%.C%(c%+6)=0.| 00003a30 43 25 28 63 25 2b 37 29 3d 30 f2 6d 6f 76 65 28 |C%(c%+7)=0.move(| 00003a40 31 2c 31 29 0d 17 20 34 20 20 c9 22 4b 22 3a e7 |1,1).. 4 ."K":.| 00003a50 78 25 3c 57 78 25 2d 31 e7 43 25 28 63 25 2b 32 |x%<Wx%-1.C%(c%+2| 00003a60 29 3d 30 e7 43 25 28 63 25 2d 34 29 3d 30 f2 6d |)=0.C%(c%-4)=0.m| 00003a70 6f 76 65 28 32 2c 31 29 0d 17 2a 33 20 20 c9 22 |ove(2,1)..*3 ."| 00003a80 4c 22 3a e7 79 25 3e 32 e7 43 25 28 63 25 2d 31 |L":.y%>2.C%(c%-1| 00003a90 32 29 3d 30 e7 43 25 28 63 25 2d 31 31 29 3d 30 |2)=0.C%(c%-11)=0| 00003aa0 f2 6d 6f 76 65 28 31 2c 2d 31 29 0d 17 34 34 20 |.move(1,-1)..44 | 00003ab0 20 c9 22 4d 22 3a e7 78 25 3c 57 78 25 2d 31 e7 | ."M":.x%<Wx%-1.| 00003ac0 43 25 28 63 25 2b 31 29 3d 30 e7 43 25 28 63 25 |C%(c%+1)=0.C%(c%| 00003ad0 2d 34 29 3d 30 f2 6d 6f 76 65 28 32 2c 31 29 0d |-4)=0.move(2,1).| 00003ae0 17 3e 32 20 20 c9 22 4e 22 3a e7 79 25 3c 57 79 |.>2 ."N":.y%<Wy| 00003af0 25 e7 43 25 28 63 25 2b 36 29 3d 30 e7 43 25 28 |%.C%(c%+6)=0.C%(| 00003b00 63 25 2b 31 29 3d 30 f2 6d 6f 76 65 28 31 2c 31 |c%+1)=0.move(1,1| 00003b10 29 0d 17 48 31 20 20 c9 22 4f 22 3a e7 78 25 3e |)..H1 ."O":.x%>| 00003b20 31 e7 43 25 28 63 25 2d 31 29 3d 30 e7 43 25 28 |1.C%(c%-1)=0.C%(| 00003b30 63 25 2d 36 29 3d 30 f2 6d 6f 76 65 28 32 2c 2d |c%-6)=0.move(2,-| 00003b40 31 29 0d 17 52 32 20 20 c9 22 50 22 3a e7 79 25 |1)..R2 ."P":.y%| 00003b50 3e 32 e7 43 25 28 63 25 2d 36 29 3d 30 e7 43 25 |>2.C%(c%-6)=0.C%| 00003b60 28 63 25 2d 31 31 29 3d 30 f2 6d 6f 76 65 28 31 |(c%-11)=0.move(1| 00003b70 2c 2d 31 29 0d 17 5c 06 20 cb 0d 17 66 07 cd 3a |,-1)..\. ...f..:| 00003b80 ed 0d 17 70 05 e1 0d 17 7a 04 0d 17 84 11 dd f2 |...p....z.......| 00003b90 6d 6f 76 65 28 61 25 2c 64 25 29 0d 17 8e 0a ea |move(a%,d%).....| 00003ba0 73 25 2c 69 25 0d 17 98 20 73 25 3d b4 28 64 25 |s%,i%... s%=.(d%| 00003bb0 29 2a 34 3a e7 4d 61 73 6b 25 3d 4d 30 25 73 25 |)*4:.Mask%=M0%s%| 00003bc0 3d 73 25 2a 35 0d 17 a2 38 21 42 25 3d 47 57 25 |=s%*5...8!B%=GW%| 00003bd0 28 57 6f 70 65 6e 25 29 3a 42 25 21 34 3d 38 30 |(Wopen%):B%!4=80| 00003be0 3a 42 25 21 38 3d 59 62 25 3a 42 25 21 31 32 3d |:B%!8=Yb%:B%!12=| 00003bf0 58 72 25 3a 42 25 21 31 36 3d 2d 38 30 0d 17 ac |Xr%:B%!16=-80...| 00003c00 1d c8 99 26 34 30 30 43 39 2c 2c 42 25 b8 6d 25 |...&400C9,,B%.m%| 00003c10 3a 73 6f 75 6e 64 25 3d 6d 25 0d 17 b6 3a c8 95 |:sound%=m%...:..| 00003c20 6d 25 3a c8 96 3a c8 99 26 32 45 2c 33 34 2b 35 |m%:..:..&2E,34+5| 00003c30 31 32 2c 53 61 72 65 61 25 2c 53 25 28 50 69 65 |12,Sarea%,S%(Pie| 00003c40 63 65 25 29 2c 4f 78 25 2b 58 25 2c 4f 79 25 2d |ce%),Ox%+X%,Oy%-| 00003c50 59 25 2c 33 0d 17 c0 0a 20 c8 8e 61 25 ca 0d 17 |Y%,3.... ..a%...| 00003c60 ca 1e 20 20 c9 31 3a 69 25 3d 59 25 2b 28 64 25 |.. .1:i%=Y%+(d%| 00003c70 2a 38 30 2d 34 2a b4 28 64 25 29 29 0d 17 d4 18 |*80-4*.(d%))....| 00003c80 20 20 20 20 20 20 20 20 e3 7a 25 3d 59 25 b8 69 | .z%=Y%.i| 00003c90 25 88 73 25 0d 17 de 3e 20 20 20 20 20 20 20 20 |%.s%...> | 00003ca0 20 c8 99 26 32 45 2c 33 34 2b 35 31 32 2c 53 61 | ..&2E,34+512,Sa| 00003cb0 72 65 61 25 2c 53 25 28 50 69 65 63 65 25 29 2c |rea%,S%(Piece%),| 00003cc0 4f 78 25 2b 58 25 2c 4f 79 25 2d 7a 25 2c 33 3a |Ox%+X%,Oy%-z%,3:| 00003cd0 c8 96 0d 17 e8 3b 20 20 20 20 20 20 20 20 20 c8 |.....; .| 00003ce0 99 26 32 45 2c 33 34 2b 35 31 32 2c 53 61 72 65 |.&2E,34+512,Sare| 00003cf0 61 25 2c 53 25 28 50 69 65 63 65 25 29 2c 4f 78 |a%,S%(Piece%),Ox| 00003d00 25 2b 58 25 2c 4f 79 25 2d 7a 25 2c 33 0d 17 f2 |%+X%,Oy%-z%,3...| 00003d10 3c 20 20 20 20 20 20 20 20 ed 3a c8 99 26 32 45 |< .:..&2E| 00003d20 2c 33 34 2b 35 31 32 2c 53 61 72 65 61 25 2c 53 |,34+512,Sarea%,S| 00003d30 25 28 50 69 65 63 65 25 29 2c 4f 78 25 2b 58 25 |%(Piece%),Ox%+X%| 00003d40 2c 4f 79 25 2d 7a 25 2c 33 0d 17 fc 1e 20 20 c9 |,Oy%-z%,3.... .| 00003d50 32 3a 69 25 3d 58 25 2b 28 64 25 2a 38 30 2d 34 |2:i%=X%+(d%*80-4| 00003d60 2a b4 28 64 25 29 29 0d 18 06 18 20 20 20 20 20 |*.(d%)).... | 00003d70 20 20 20 e3 7a 25 3d 58 25 b8 69 25 88 73 25 0d | .z%=X%.i%.s%.| 00003d80 18 10 3e 20 20 20 20 20 20 20 20 20 c8 99 26 32 |..> ..&2| 00003d90 45 2c 33 34 2b 35 31 32 2c 53 61 72 65 61 25 2c |E,34+512,Sarea%,| 00003da0 53 25 28 50 69 65 63 65 25 29 2c 4f 78 25 2b 7a |S%(Piece%),Ox%+z| 00003db0 25 2c 4f 79 25 2d 59 25 2c 33 3a c8 96 0d 18 1a |%,Oy%-Y%,3:.....| 00003dc0 3b 20 20 20 20 20 20 20 20 20 c8 99 26 32 45 2c |; ..&2E,| 00003dd0 33 34 2b 35 31 32 2c 53 61 72 65 61 25 2c 53 25 |34+512,Sarea%,S%| 00003de0 28 50 69 65 63 65 25 29 2c 4f 78 25 2b 7a 25 2c |(Piece%),Ox%+z%,| 00003df0 4f 79 25 2d 59 25 2c 33 0d 18 24 3c 20 20 20 20 |Oy%-Y%,3..$< | 00003e00 20 20 20 20 ed 3a c8 99 26 32 45 2c 33 34 2b 35 | .:..&2E,34+5| 00003e10 31 32 2c 53 61 72 65 61 25 2c 53 25 28 50 69 65 |12,Sarea%,S%(Pie| 00003e20 63 65 25 29 2c 4f 78 25 2b 7a 25 2c 4f 79 25 2d |ce%),Ox%+z%,Oy%-| 00003e30 59 25 2c 33 0d 18 2e 06 20 cb 0d 18 38 2e c8 99 |Y%,3.... ...8...| 00003e40 26 34 30 30 43 41 2c 2c 42 25 b8 6d 25 3a ce 3a |&400CA,,B%.m%:.:| 00003e50 e7 53 6f 6e 25 3a e7 73 6f 75 6e 64 25 d4 31 2c |.Son%:.sound%.1,| 00003e60 2d 31 30 2c 35 35 2c 31 0d 18 42 42 e7 4c 65 61 |-10,55,1..BB.Lea| 00003e70 72 6e 25 20 44 65 6d 6f 25 3f 28 4d 6f 76 65 25 |rn% Demo%?(Move%| 00003e80 2a 32 29 3d 43 65 6c 6c 25 3a 44 65 6d 6f 25 3f |*2)=Cell%:Demo%?| 00003e90 28 4d 6f 76 65 25 2a 32 2b 31 29 3d 28 61 25 2a |(Move%*2+1)=(a%*| 00003ea0 31 36 29 2b 28 64 25 2b 32 29 0d 18 4c 3e f2 63 |16)+(d%+2)..L>.c| 00003eb0 28 30 2c 43 65 6c 6c 25 29 3a e7 61 25 3d 31 f2 |(0,Cell%):.a%=1.| 00003ec0 63 28 50 69 65 63 65 25 2c 43 65 6c 6c 25 2b 64 |c(Piece%,Cell%+d| 00003ed0 25 2a 36 29 8b f2 63 28 50 69 65 63 65 25 2c 43 |%*6)..c(Piece%,C| 00003ee0 65 6c 6c 25 2b 64 25 29 0d 18 56 23 4d 25 3d b9 |ell%+d%)..V#M%=.| 00003ef0 3a e7 4d 6f 76 65 25 3c 39 39 39 39 f2 6d 6f 76 |:.Move%<9999.mov| 00003f00 65 73 28 4d 6f 76 65 25 2b 31 29 0d 18 60 05 e1 |es(Move%+1)..`..| 00003f10 0d 18 6a 04 0d 18 74 0a dd f2 64 65 6d 6f 0d 18 |..j...t...demo..| 00003f20 7e 49 43 65 6c 6c 25 3d 44 65 6d 6f 25 3f 50 74 |~ICell%=Demo%?Pt| 00003f30 72 25 3a 50 69 65 63 65 25 3d 43 25 28 43 65 6c |r%:Piece%=C%(Cel| 00003f40 6c 25 29 3a 58 25 3d 28 43 65 6c 6c 25 83 36 2b |l%):X%=(Cell%.6+| 00003f50 31 29 2a 38 30 3a 59 25 3d 28 43 65 6c 6c 25 81 |1)*80:Y%=(Cell%.| 00003f60 36 2b 32 29 2a 38 30 0d 18 88 38 f2 6d 6f 76 65 |6+2)*80...8.move| 00003f70 28 28 44 65 6d 6f 25 3f 28 50 74 72 25 2b 31 29 |((Demo%?(Ptr%+1)| 00003f80 80 32 34 30 29 81 31 36 2c 28 44 65 6d 6f 25 3f |.240).16,(Demo%?| 00003f90 28 50 74 72 25 2b 31 29 80 31 35 29 2d 32 29 0d |(Ptr%+1).15)-2).| 00003fa0 18 92 2a 50 74 72 25 2b 3d 32 3a e7 50 74 72 25 |..*Ptr%+=2:.Ptr%| 00003fb0 3d 45 78 74 44 25 4d 61 73 6b 25 3d 4d 31 25 3a |=ExtD%Mask%=M1%:| 00003fc0 4f 70 6d 6f 64 65 25 3d 32 0d 18 9c 05 e1 0d 18 |Opmode%=2.......| 00003fd0 a6 04 0d 18 b0 0b dd f2 72 65 73 65 74 0d 18 ba |........reset...| 00003fe0 3e 43 25 28 29 3d 43 31 25 28 29 3a f2 6d 6f 76 |>C%()=C1%():.mov| 00003ff0 65 73 28 30 29 3a f2 66 72 3a 4f 70 6d 6f 64 65 |es(0):.fr:Opmode| 00004000 25 3d 32 3a 50 74 72 25 3d 30 3a e7 4c 65 61 72 |%=2:Ptr%=0:.Lear| 00004010 6e 25 20 21 44 65 6d 6f 25 3d 30 0d 18 c4 05 e1 |n% !Demo%=0.....| 00004020 0d 18 ce 04 0d 18 d8 0f dd f2 6d 6f 76 65 73 28 |..........moves(| 00004030 6d 25 29 0d 18 e2 2f f2 55 69 28 47 57 25 28 57 |m%).../.Ui(GW%(W| 00004040 6f 70 65 6e 25 29 2c 31 30 2c c3 6d 25 29 3a 4d |open%),10,.m%):M| 00004050 6f 76 65 25 3d 6d 25 3a e7 4c 65 61 72 6e 25 3d |ove%=m%:.Learn%=| 00004060 30 e1 0d 18 ec 14 e7 4d 6f 76 65 25 3d 42 79 74 |0......Move%=Byt| 00004070 65 6d 61 78 25 8c 0d 18 f6 44 20 f2 72 65 70 6f |emax%....D .repo| 00004080 72 74 28 22 43 61 6e 27 74 20 61 63 63 65 70 74 |rt("Can't accept| 00004090 20 6d 6f 72 65 20 6d 6f 76 65 73 2d 61 62 6f 72 | more moves-abor| 000040a0 74 69 6e 67 20 4c 65 61 72 6e 21 22 2c 31 36 29 |ting Learn!",16)| 000040b0 3a f2 6c 65 61 72 6e 28 32 29 0d 19 00 05 cd 0d |:.learn(2)......| 000040c0 19 0a 05 e1 0d 19 14 04 0d 19 1e 0a dd f2 73 61 |..............sa| 000040d0 76 65 0d 19 28 1e 70 61 74 68 24 3d a4 47 65 74 |ve..(.path$=.Get| 000040e0 53 74 72 69 6e 67 28 53 61 76 65 57 25 2c 31 29 |String(SaveW%,1)| 000040f0 0d 19 32 0f 46 25 3d ae 28 70 61 74 68 24 29 0d |..2.F%=.(path$).| 00004100 19 3c 21 e3 6e 25 3d 30 b8 32 39 3a 62 25 3d 43 |.<!.n%=0.29:b%=C| 00004110 31 25 28 6e 25 29 3a e7 62 25 3d 30 62 25 3d 37 |1%(n%):.b%=0b%=7| 00004120 0d 19 46 19 d5 23 46 25 2c 62 25 3a ed 3a d5 23 |..F..#F%,b%:.:.#| 00004130 46 25 2c 57 6f 70 65 6e 25 0d 19 50 22 f1 23 46 |F%,Wopen%..P".#F| 00004140 25 2c a4 47 65 74 53 74 72 69 6e 67 28 47 57 25 |%,.GetString(GW%| 00004150 28 57 6f 70 65 6e 25 29 2c 30 29 0d 19 5a 0b e7 |(Wopen%),0)..Z..| 00004160 45 78 74 44 25 8c 0d 19 64 2f 20 d5 23 46 25 2c |ExtD%...d/ .#F%,| 00004170 45 78 74 44 25 81 32 3a e3 62 25 3d 30 b8 45 78 |ExtD%.2:.b%=0.Ex| 00004180 74 44 25 2d 31 3a d5 23 46 25 2c 44 65 6d 6f 25 |tD%-1:.#F%,Demo%| 00004190 3f 62 25 3a ed 0d 19 6e 0c cc 3a d5 23 46 25 2c |?b%:...n..:.#F%,| 000041a0 30 0d 19 78 05 cd 0d 19 82 08 d9 23 46 25 0d 19 |0..x.......#F%..| 000041b0 8c 1c ff 22 53 65 74 54 79 70 65 20 22 2b 70 61 |..."SetType "+pa| 000041c0 74 68 24 2b 22 20 30 30 34 22 0d 19 96 1f 4c 24 |th$+" 004"....L$| 000041d0 3d a4 47 65 74 4c 65 61 66 28 70 61 74 68 24 2c |=.GetLeaf(path$,| 000041e0 33 32 29 3a f2 61 28 30 29 0d 19 a0 05 e1 0d 19 |32):.a(0).......| 000041f0 aa 04 0d ff |....| 000041f4