Home » Archimedes archive » Archimedes World » AW-1993-09.adf » AWSept93 » !AWSept93/Goodies/ProcFunc/!ProcFunc/!RunImage
!AWSept93/Goodies/ProcFunc/!ProcFunc/!RunImage
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Archimedes archive » Archimedes World » AW-1993-09.adf » AWSept93 |
Filename: | !AWSept93/Goodies/ProcFunc/!ProcFunc/!RunImage |
Read OK: | ✔ |
File size: | 8F50 bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10REM > !RunImage 20 30*| *** Initialise task *** *| 40 50SYS "Wimp_Initialise",200,&4B534154,"ProcFunc" TO version%,task% 60SYS "Interface_Initialise",task% 70 80*| *** Dimension Arrays needed *** *| 90 100DIM q% 256,sprites% 20000,indir% 25000,temp% 30000,namebuf% 40 110DIM menu% 2000,indmenu% 2000,mouse% 24,basicload% 160*1024,code% 256 120DIM proc$(200),func$(200),proc%(200),func%(200),found$(400),found%(400) 130 140SYS "Hourglass_On" 150SYS "OS_SWINumberToString",&42400,namebuf%,40 160swiname$=FNstring0(namebuf%) 170dragasprite%=(swiname$="DragASprite_Start") 180 190ON ERROR PROCprepollerror 200 210*| *** Install icon on iconbar *** *| 220 230ic%=FNiconbar("!procfunc","<ProcFunc$Dir>.!Sprites") 240 250*| *** Initialise sprite area and load sprites *** *| 260PROCsprites 270 280*| *** Initialise templates *** *| 290 300PROCtemplates 310 320*| *** Create the menus needed *** *| 330 340PROCmenus 350 360*| *** Set up main variables for program *** *| 370 380quit%=FALSE:basicdrag%=FALSE:textdrag%=FALSE:basic%=0:detoken%=0 390noproc%=0:nofunc%=0:found%=0:procfunc%=3:contains%=1 400FOR i%=0 TO 199 410 PROCshadeicon(procpane%,i%) 420 PROCshadeicon(funcpane%,i%) 430NEXT 440PROCseticontext(search%,13,"Found : 0 occurrences.") 450PROCcode 460 470ON ERROR PROCerror 480 490*| *** Enter polling loop *** *| 500 510SYS "Hourglass_Smash" 520REPEAT 530SYS "Wimp_Poll",&1C01,q% TO reason% 540SYS "Interface_Poll",reason%,,task% 550CASE reason% OF 560 WHEN 1 : PROCredraw(q%) 570 WHEN 2 : PROCopenwindow(q%) 580 WHEN 3 : PROCclosewindow(q%) 590 WHEN 6 : PROCmouse(q%) 600 WHEN 7 : PROCdragged(q%) 610 WHEN 8 : PROCkeypress(q%) 620 WHEN 9 : PROCmenuselect(q%) 630 WHEN 17,18 : PROCmessages(q%) 640ENDCASE 650UNTIL quit% 660IF basic%>0 THEN SYS "OS_Module",7,,basic% 670SYS "Wimp_CloseDown",task%,&4B534154 680SYS "Interface_CloseDown",task% 690END 700 710DEF PROCprepollerror 720q%!0=ERR 730$(q%+4)=REPORT$+" "+STR$ERL 740SYS "Wimp_ReportError",q%,1,"ArcGraph" 750SYS "Wimp_CloseDown",&4B534154,task% 760SYS "Interface_CloseDown",task% 770END 780ENDPROC 790 800DEF FNiconbar(spname$,file$) 810f%=OPENIN(file$) 820dim%=EXT#f%+16 830CLOSE#f% 840DIM sprite% dim% 850sprite%!0=dim% 860sprite%!4=0 870sprite%!8=16 880sprite%!12=16 890SYS "OS_SpriteOp",256+10,sprite%,file$ 900q%!0=-1 910q%!4=0 920q%!8=0 930q%!12=68 940q%!16=68 950q%!20=&2102 960len%=LENspname$+1 970DIM q%!24 len% 980$(q%!24)=spname$ 990q%!28=sprite% 1000q%!32=len% 1010SYS "Wimp_CreateIcon",,q% TO iconb% 1020=iconb% 1030 1040DEF PROCsprites 1050sprites%!0=20000 1060sprites%!8=16 1070SYS "OS_SpriteOp",&109,sprites% 1080SYS "OS_SpriteOp",&10A,sprites%,"<ProcFunc$Dir>.Resources.Sprites" 1090ENDPROC 1100 1110DEF PROCtemplates 1120SYS "Wimp_OpenTemplate",,"<ProcFunc$Dir>.Resources.Templates" 1130SYS "Wimp_LoadTemplate",,temp%,indir%,indir%+24999,-1,"proginfo",0 TO ,,next% 1140temp%!64=sprites% 1150SYS "Wimp_CreateWindow",,temp% TO info% 1160SYS "Wimp_LoadTemplate",,temp%,next%,indir%+24999,-1,"saveasbasic",0 TO ,,next% 1170temp%!64=sprites% 1180SYS "Wimp_CreateWindow",,temp% TO saveasbasic% 1190SYS "Wimp_LoadTemplate",,temp%,next%,indir%+24999,-1,"funcpane",0 TO ,,next% 1200temp%!64=sprites% 1210SYS "Wimp_CreateWindow",,temp% TO funcpane% 1220SYS "Wimp_LoadTemplate",,temp%,next%,indir%+24999,-1,"procpane",0 TO ,,next% 1230temp%!64=sprites% 1240SYS "Wimp_CreateWindow",,temp% TO procpane% 1250SYS "Wimp_LoadTemplate",,temp%,next%,indir%+24999,-1,"main",0 TO ,,next% 1260temp%!64=sprites% 1270SYS "Wimp_CreateWindow",,temp% TO main% 1280SYS "Wimp_LoadTemplate",,temp%,next%,indir%+24999,-1,"show",0 TO ,,next% 1290temp%!64=sprites% 1300SYS "Wimp_CreateWindow",,temp% TO show% 1310SYS "Wimp_LoadTemplate",,temp%,next%,indir%+24999,-1,"search",0 TO ,,next% 1320temp%!64=sprites% 1330SYS "Wimp_CreateWindow",,temp% TO search% 1340SYS "Wimp_LoadTemplate",,temp%,next%,indir%+24999,-1,"errorbox",0 TO ,,next% 1350temp%!64=sprites% 1360SYS "Wimp_CreateWindow",,temp% TO errorbox% 1370SYS "Wimp_LoadTemplate",,temp%,next%,indir%+24999,-1,"listing",0 TO ,,next% 1380temp%!64=sprites% 1390SYS "Wimp_CreateWindow",,temp% TO listing% 1400SYS "Wimp_LoadTemplate",,temp%,next%,indir%+24999,-1,"saveastext",0 TO ,,next% 1410temp%!64=sprites% 1420SYS "Wimp_CreateWindow",,temp% TO saveastext% 1430SYS "Wimp_CloseTemplate" 1440ENDPROC 1450 1460DEF PROCmessages(q%) 1470len%=q%!0 1480sender%=q%!4 1490yourref%=q%!8 1500window%=q%!20 1510icon%=q%!24 1520CASE q%!16 OF 1530 WHEN 0 : quit%=TRUE 1540 WHEN 2 : PROCdatasaveack 1550 WHEN 3 : PROCdataload 1560ENDCASE 1570ENDPROC 1580 1590DEF PROCredraw(q%) 1600IF q%!0<>listing% THEN 1610 SYS "Wimp_RedrawWindow",,q% TO more% 1620 WHILE more% 1630 SYS "Interface_Render3dWindow",,q% 1640 SYS "Wimp_GetRectangle",,q% TO more% 1650 ENDWHILE 1660ELSE 1670 PROCredrawlisting 1680ENDIF 1690ENDPROC 1700 1710DEF PROCopenwindow(q%) 1720IF q%!0=main% THEN 1730 back%=(q%!28=-2):front%=(q%!28=-1) 1740 x1%=q%!4:y1%=q%!8 1750 x2%=q%!12:y2%=q%!16 1760 q%!0=funcpane% 1770 SYS "Wimp_GetWindowState",,q% 1780 q%!4=x1%+650 1790 q%!8=y1%+28 1800 q%!12=q%!4+516 1810 q%!16=q%!8+412 1820 IF back% q%!28=-2 ELSE IF front% q%!28=-1 1830 SYS "Wimp_OpenWindow",,q% 1840 q%!0=procpane% 1850 SYS "Wimp_GetWindowState",,q% 1860 q%!4=x1%+34 1870 q%!8=y1%+28 1880 q%!12=q%!4+516 1890 q%!16=q%!8+412 1900 q%!28=funcpane% 1910 SYS "Wimp_OpenWindow",,q% 1920 q%!0=main%:q%!4=x1%:q%!8=y1%:q%!12=x2%:q%!16=y2%:q%!28=procpane% 1930 SYS "Wimp_OpenWindow",,q% 1940ELSE 1950 SYS "Wimp_OpenWindow",,q% 1960ENDIF 1970ENDPROC 1980 1990DEF PROCclosewindow(q%) 2000IF q%!0=main% THEN 2010 SYS "Wimp_CloseWindow",,q% 2020 q%!0=funcpane% 2030 SYS "Wimp_CloseWindow",,q% 2040 q%!0=procpane% 2050ENDIF 2060IF q%!0=listing% THEN SYS "OS_Module",7,,basic%:basic%=0 2070SYS "Wimp_CloseWindow",,q% 2080ENDPROC 2090 2100DEF PROCmouse(q%) 2110mouse%!0=q%!0:mouse%!4=q%!4:mouse%!8=q%!8:mouse%!12=q%!12:mouse%!16=q%!16 2120x%=q%!0:y%=q%!4:b%=q%!8:w%=q%!12:i%=q%!16 2130IF mouse%!8<>2 THEN SYS "Interface_SlabButton",,mouse% 2140CASE w% OF 2150 WHEN -2 : 2160 CASE b% OF 2170 WHEN 2 : SYS "Wimp_CreateMenu",,iconbarmenu%,x%-72,228 2180 menuopen%=iconbarmenu% 2190 OTHERWISE 2200 PROCopenmaintop 2210 ENDCASE 2220 WHEN errorbox% : 2230 CASE i% OF 2240 WHEN 5 : xmin%=0:xmax%=0:ymin%=0:ymax%=0 2250 PROCscreenbox(xmin%,xmax%,ymin%,ymax%) 2260 MOUSE RECTANGLE xmin%,ymin%,xmax%,ymax% 2270 q%!0=errorbox% 2280 SYS "Wimp_CloseWindow",,q% 2290 ENDCASE 2300 WHEN main% : 2310 CASE b% OF 2320 WHEN 2 : SYS "Wimp_CreateMenu",,mainmenu%,x%-72,y%+20 2330 menuopen%=mainmenu% 2340 ENDCASE 2350 WHEN funcpane%,procpane% : 2360 CASE b% OF 2370 WHEN 2 : SYS "Wimp_CreateMenu",,mainmenu%,x%-72,y%+20 2380 menuopen%=mainmenu% 2390 WHEN 1,4 : PROCseticontext(show%,1,FNgeticontext(w%,i%)) 2400 PROCshadeicons(show%,"2,3") 2410 IF w%=funcpane% THEN 2420 PROCseticontext(show%,0," FN") 2430 ELSE 2440 PROCseticontext(show%,0," PROC") 2450 ENDIF 2460 PROCopentop(show%) 2470 ENDCASE 2480 WHEN search% : 2490 CASE i% OF 2500 WHEN 4 : PROCselecticon(search%,4) 2510 PROCdeselecticons(search%,"5,6,7") 2520 contains%=1 2530 WHEN 5 : PROCselecticon(search%,5) 2540 PROCdeselecticons(search%,"4,6,7") 2550 contains%=2 2560 WHEN 6 : PROCselecticon(search%,6) 2570 PROCdeselecticons(search%,"4,5,7") 2580 contains%=3 2590 WHEN 7 : PROCselecticon(search%,7) 2600 PROCdeselecticons(search%,"4,5,6") 2610 contains%=4 2620 WHEN 10: PROCselecticon(search%,10) 2630 PROCdeselecticons(search%,"11,12") 2640 procfunc%=1 2650 WHEN 11: PROCselecticon(search%,11) 2660 PROCdeselecticons(search%,"10,12") 2670 procfunc%=2 2680 WHEN 12: PROCselecticon(search%,12) 2690 PROCdeselecticons(search%,"10,11") 2700 procfunc%=3 2710 WHEN 14: PROCshowresults 2720 WHEN 15: PROCsearch 2730 ENDCASE 2740 WHEN show% : 2750 CASE i% OF 2760 WHEN 2 : showprocfunc%+=1 2770 IF showprocfunc%>max% showprocfunc%=min% 2780 PROCseticontext(show%,1,found$(showprocfunc%)) 2790 IF found%(showprocfunc%)=256 THEN 2800 PROCseticontext(show%,0," PROC") 2810 ELSE 2820 PROCseticontext(show%,0," FN") 2830 ENDIF 2840 WHEN 3 : showprocfunc%-=1 2850 IF showprocfunc%<min% showprocfunc%=max% 2860 PROCseticontext(show%,1,found$(showprocfunc%)) 2870 IF found%(showprocfunc%)=256 THEN 2880 PROCseticontext(show%,0," PROC") 2890 ELSE 2900 PROCseticontext(show%,0," FN") 2910 ENDIF 2920 WHEN 4 : type$=FNgeticontext(show%,0) 2930 name$=FNgeticontext(show%,1) 2940 IF INSTR(type$,"PR") THEN file$="PR" ELSE file$="FN" 2950 IF file$="PR" THEN 2960 PROCgetprocdetails 2970 ELSE 2980 PROCgetfuncdetails 2990 ENDIF 3000 name$=LEFT$(name$,8) 3010 IF INSTR(name$,"(") THEN name$=LEFT$(name$,INSTR(name$,"(")-1) 3020 file$+=name$ 3030 PROCseticontext(saveasbasic%,0,file$) 3040 PROCseticontext(saveastext%,0,file$) 3050 SYS "Wimp_CreateMenu",,savemenu%,x%-30,y%+20 3060 WHEN 6 : q%!0=listing% 3070 SYS "Wimp_CloseWindow",,q% 3080 IF basic%>0 THEN SYS "OS_Module",7,,basic% 3090 PROCshowlisting 3100 ENDCASE 3110 WHEN saveasbasic% : 3120 CASE i% OF 3130 WHEN 1 : filename$=FNgeticontext(saveasbasic%,0) 3140 IF INSTR(filename$,".")=0 THEN 3150 PROCmessage("To save, drag the icon to a directory viewer.") 3160 ELSE 3170 PROCsavebasicfile(filename$,0) 3180 ENDIF 3190 WHEN 3 : basicdrag%=TRUE 3200 PROCdragsavebox(saveasbasic%,3,"file_ffb",sprites%) 3210 ENDCASE 3220 WHEN saveastext% : 3230 CASE i% OF 3240 WHEN 1 : filename$=FNgeticontext(saveastext%,0) 3250 IF INSTR(filename$,".")=0 THEN 3260 PROCmessage("To save, drag the icon to a directory viewer.") 3270 ELSE 3280 PROCsavetextfile(filename$,0) 3290 ENDIF 3300 WHEN 3 : textdrag%=TRUE 3310 PROCdragsavebox(saveastext%,3,"file_fff",sprites%) 3320 ENDCASE 3330ENDCASE 3340mouse%!8=0:SYS "Interface_SlabButton",,mouse% 3350ENDPROC 3360 3370DEF PROCgetprocdetails 3380FOR i%=0 TO noproc% 3390 IF proc$(i%)=name$ THEN savefrom%=proc%(i%):pos%=i%:i%=noproc% 3400NEXT 3410saveto%=basicload%+length% 3420FOR i%=noproc% TO 0 STEP -1 3430 IF proc%(i%)>proc%(pos%) THEN 3440 saveto%=proc%(i%) 3450 ENDIF 3460NEXT 3470FOR i%=nofunc% TO 0 STEP -1 3480 IF func%(i%)>proc%(pos%) AND func%(i%)<saveto% THEN 3490 saveto%=func%(i%) 3500 ENDIF 3510NEXT 3520ENDPROC 3530 3540DEF PROCgetfuncdetails 3550FOR i%=0 TO nofunc% 3560 IF func$(i%)=name$ THEN savefrom%=func%(i%):pos%=i%:i%=nofunc% 3570NEXT 3580saveto%=basicload%+length% 3590FOR i%=nofunc% TO 0 STEP -1 3600 IF func%(i%)>func%(pos%) THEN 3610 saveto%=func%(i%) 3620 ENDIF 3630NEXT 3640FOR i%=noproc% TO 0 STEP -1 3650 IF proc%(i%)>func%(pos%) AND proc%(i%)<saveto% THEN 3660 saveto%=proc%(i%) 3670 ENDIF 3680NEXT 3690ENDPROC 3700 3710DEF PROCopentop(wh%) 3720q%!0=wh% 3730SYS "Wimp_GetWindowState",,q% 3740q%!24=0 3750q%!28=-1 3760SYS "Wimp_OpenWindow",,q% 3770ENDPROC 3780 3790DEF PROCdragged(q%) 3800IF basicdrag% THEN 3810 file$=FNgeticontext(saveasbasic%,0) 3820 PROCsaverequest(file$,&FFB,0) 3830ENDIF 3840IF textdrag% THEN 3850 file$=FNgeticontext(saveastext%,0) 3860 PROCsaverequest(file$,&FFF,0) 3870ENDIF 3880ENDPROC 3890 3900DEF PROCkeypress(q%) 3910w%=q%!0 3920i%=q%!4 3930chr%=q%!24 3940processed%=FALSE 3950return%=13 3960CASE w% OF 3970 WHEN saveasbasic% : 3980 CASE chr% OF 3990 WHEN 13 : filename$=FNgeticontext(saveasbasic%,0) 4000 IF INSTR(filename$,".")=0 THEN 4010 PROCmessage("To save, drag the icon to a directory viewer.") 4020 ELSE 4030 q%!0=0:q%!4=0:q%!8=4:q%!12=saveasbasic%:q%!16=1:PROCmouse(q%) 4040 PROCsavebasicfile(filename$,0) 4050 ENDIF 4060 processed%=TRUE 4070 ENDCASE 4080 WHEN saveastext% : 4090 CASE chr% OF 4100 WHEN 13 : filename$=FNgeticontext(saveastext%,0) 4110 IF INSTR(filename$,".")=0 THEN 4120 PROCmessage("To save, drag the icon to a directory viewer.") 4130 ELSE 4140 q%!0=0:q%!4=0:q%!8=4:q%!12=saveastext%:q%!16=1:PROCmouse(q%) 4150 PROCsavetextfile(filename$,0) 4160 ENDIF 4170 processed%=TRUE 4180 ENDCASE 4190ENDCASE 4200IF NOT processed% THEN SYS "Wimp_ProcessKey",chr% 4210ENDPROC 4220 4230DEF PROCmenuselect(q%) 4240SYS "Wimp_GetPointerInfo",,q%+40 4250keep%=(q%!48)=1 4260CASE menuopen% OF 4270 WHEN iconbarmenu% 4280 CASE q%!0 OF 4290 WHEN 1 : CASE q%!4 OF 4300 WHEN 0 : PROCsettick(draggingmenu%,0) 4310 PROCuntick(draggingmenu%,1) 4320 dragsprites%=TRUE 4330 WHEN 1 : PROCsettick(draggingmenu%,1) 4340 PROCuntick(draggingmenu%,0) 4350 dragsprites%=FALSE 4360 ENDCASE 4370 WHEN 2 : quit%=TRUE 4380 ENDCASE 4390 WHEN mainmenu% 4400 CASE q%!0 OF 4410 WHEN 1 : PROCopentop(search%) 4420 PROCputiconcaret(search%,1) 4430 ENDCASE 4440ENDCASE 4450IF keep% THEN SYS "Wimp_CreateMenu",,menuopen%,q%!40,q%!44 4460ENDPROC 4470 4480DEF PROCopenmaintop 4490PROCsetextent(procpane%,0,-(noproc%*48),516,0,-412) 4500PROCsetextent(funcpane%,0,-(nofunc%*48),516,0,-412) 4510q%!0=main% 4520SYS "Wimp_GetWindowState",,q% 4530x1%=q%!4:y1%=q%!8 4540x2%=q%!12:y2%=q%!16 4550q%!0=funcpane% 4560SYS "Wimp_GetWindowState",,q% 4570q%!4=x1%+650 4580q%!8=y1%+28 4590q%!12=q%!4+516 4600q%!16=q%!8+412 4610q%!28=-1 4620SYS "Wimp_OpenWindow",,q% 4630q%!0=procpane% 4640SYS "Wimp_GetWindowState",,q% 4650q%!4=x1%+34 4660q%!8=y1%+28 4670q%!12=q%!4+516 4680q%!16=q%!8+412 4690q%!28=funcpane% 4700SYS "Wimp_OpenWindow",,q% 4710q%!0=main% 4720SYS "Wimp_GetWindowState",,q% 4730q%!28=procpane% 4740SYS "Wimp_OpenWindow",,q% 4750ENDPROC 4760 4770DEF PROCerror 4780SYS "Wimp_DragBox",,0 4790PROCmessage("A possibly fatal error has occured at line "+STR$ERL+" - "+REPORT$+". Please save your work as soon as possible and re-load ProcFunc.") 4800ENDPROC 4810 4820DEF PROCmessage(message$) 4830q%!8=0 4840SYS "Interface_SlabButton",,q% 4850SYS "Wimp_DragBox",,0 4860PROCseticontext(errorbox%,2,message$) 4870q%!0=errorbox% 4880SYS "Wimp_GetWindowState",,q% 4890q%!28=-1 4900SYS "Wimp_OpenWindow",,q% 4910SYS "Wimp_GetWindowOutline",,q% 4920MOUSE RECTANGLE q%!4,q%!8,q%!12-q%!4,q%!16-q%!8 4930VDU 7 4940ENDPROC 4950 4960DEF PROCmenus 4970PROCbuildmenus 4980ENDPROC 4990 5000DEF FNstring0(p%) 5010a$="" 5020WHILE ?p%>=32 5030a$+=CHR$(?p%) 5040p%+=1 5050ENDWHILE 5060=a$ 5070 5080DEF PROCput0(p%,p$) 5090FOR i%=1 TO LEN(p$) 5100?(p%+i%-1)=ASC(MID$(p$,i%,1)) 5110NEXT 5120IF LEN(p$)<12 THEN ?(p%+LEN(p$))=0 5130ENDPROC 5140 5150DEF PROCmenuhead(title$,width%) 5160$menu%=title$ 5170menu%!12=&00070207 5180menu%!16=width% 5190menu%!20=44 5200menu%!24=0 5210menu%+=28 5220ENDPROC 5230 5240DEF PROCmenuitem(text$,last%,submenu%) 5250IF last% menu%!0=&80 ELSE menu%!0=0 5260menu%!4=submenu% 5270IF LEN text$<12 THEN 5280 menu%!8=&07000031 5290 PROCput0(menu%+12,text$) 5300ELSE 5310 menu%!8=&07000131 5320 menu%!12=indmenu% 5330 menu%!16=-1 5340 menu%!20=LEN(text$)+1 5350 $indmenu%=text$ 5360 indmenu%+=LEN(text$)+1 5370ENDIF 5380menu%+=24 5390ENDPROC 5400 5410DEF PROCsetmenutext(m%,p%,text$) 5420PROCput0(m%+28+p%*24+12,text$) 5430ENDPROC 5440 5450DEF PROCmenushade(m%,p%) 5460m%=m%+28+p%*24+8 5470!m%=!m% OR 1<<22 5480ENDPROC 5490 5500DEF PROCmenuunshade(m%,p%) 5510m%=m%+28+p%*24+8 5520!m%=!m% AND &FFBFFFFF 5530ENDPROC 5540 5550DEF PROCmenuwrite(ind$,RETURN o%) 5560loc%=menu%+24 5570PROCput0(menu%+24,STRING$(8,CHR$0)) 5580PROCput0(menu%+36,ind$) 5590menu%!0=&84 5600menu%!4=0 5610menu%!8=&07000131 5620menu%!12=loc% 5630menu%!16=loc%+12 5640menu%!20=9 5650menu%+=44 5660o%=loc% 5670ENDPROC 5680 5690DEF PROCputlineafter(m%,p%) 5700m%=m%+28+p%*24 5710!m%=!m% OR 2 5720ENDPROC 5730 5740DEF PROCbuildmenus 5750draggingmenu%=menu% 5760PROCmenuhead("Dragging",208) 5770PROCmenuitem("Sprites",FALSE,0) 5780PROCmenuitem("Bounding Box",TRUE,0) 5790 5800iconbarmenu%=menu% 5810PROCmenuhead("ProcFunc",144) 5820PROCmenuitem("Info",FALSE,info%) 5830PROCmenuitem("Dragging",FALSE,draggingmenu%) 5840PROCmenuitem("Quit",TRUE,0) 5850IF NOT dragasprite% THEN PROCmenushade(iconbarmenu%,1) 5860PROCsettick(draggingmenu%,0) 5870dragsprites%=TRUE 5880 5890mainmenu%=menu% 5900PROCmenuhead("ProcFunc",160) 5910PROCmenuitem("Info",FALSE,info%) 5920PROCmenuitem("Search...",TRUE,0) 5930 5940savemenu%=menu% 5950PROCmenuhead("Save as",128) 5960PROCmenuitem("Basic",FALSE,saveasbasic%) 5970PROCmenuitem("Text",TRUE,saveastext%) 5980ENDPROC 5990 6000DEF PROCseticontext(w%,i%,text$) 6010q%!0=w%:q%!4=i% 6020SYS "Wimp_GetIconState",,q% 6030p%=q%!28 6040$p%=text$ 6050q%!8=0:q%!12=0 6060SYS "Wimp_SetIconState",,q% 6070ENDPROC 6080 6090DEF PROCseticonnumber(w%,i%,n) 6100PROCseticontext(w%,i%,STR$(n)) 6110ENDPROC 6120 6130DEF FNgeticonnumber(w%,i%) 6140=VALFNgeticontext(w%,i%) 6150 6160DEF FNgeticontext(w%,i%) 6170q%!0=w%:q%!4=i% 6180SYS "Wimp_GetIconState",,q% 6190=FNstring0(q%!28) 6200 6210DEF PROCselecticon(w%,i%) 6220q%!0=w%:q%!4=i% 6230SYS "Wimp_GetIconState",,q% 6240q%!8=1<<21:q%!12=1<<21 6250SYS "Wimp_SetIconState",,q% 6260ENDPROC 6270 6280DEF PROCdeselecticon(w%,i%) 6290q%!0=w%:q%!4=i% 6300SYS "Wimp_GetIconState",,q% 6310q%!8=0:q%!12=1<<21 6320SYS "Wimp_SetIconState",,q% 6330ENDPROC 6340 6350DEF PROCshadeicon(w%,i%) 6360q%!0=w%:q%!4=i% 6370SYS "Wimp_GetIconState",,q% 6380q%!8=1<<22:q%!12=1<<22 6390SYS "Wimp_SetIconState",,q% 6400ENDPROC 6410 6420DEF PROCunshadeicon(w%,i%) 6430q%!0=w%:q%!4=i% 6440SYS "Wimp_GetIconState",,q% 6450q%!8=0:q%!12=1<<22 6460SYS "Wimp_SetIconState",,q% 6470ENDPROC 6480 6490DEF PROCsettick(m%,l%) 6500m%=m%+28+l%*24 6510!m%=!m% OR 1 6520ENDPROC 6530 6540DEF PROCuntick(m%,l%) 6550m%=m%+28+l%*24 6560!m%=!m% AND &FFFFFFFE 6570ENDPROC 6580 6590DEF PROCshadeicons(w%,icon$) 6600REPEAT 6610 comma%=INSTR(icon$,",") 6620 IF comma%>0 THEN 6630 v%=VAL(LEFT$(icon$,comma%-1)) 6640 icon$=MID$(icon$,comma%+1) 6650 PROCshadeicon(w%,v%) 6660 ENDIF 6670UNTIL comma%=0 6680v%=VAL(icon$) 6690PROCshadeicon(w%,v%) 6700ENDPROC 6710 6720DEF PROCunshadeicons(w%,icon$) 6730REPEAT 6740 comma%=INSTR(icon$,",") 6750 IF comma%>0 THEN 6760 v%=VAL(LEFT$(icon$,comma%-1)) 6770 icon$=MID$(icon$,comma%+1) 6780 PROCunshadeicon(w%,v%) 6790 ENDIF 6800UNTIL comma%=0 6810v%=VAL(icon$) 6820PROCunshadeicon(w%,v%) 6830ENDPROC 6840 6850DEF PROCselecticons(w%,icon$) 6860REPEAT 6870 comma%=INSTR(icon$,",") 6880 IF comma%>0 THEN 6890 v%=VAL(LEFT$(icon$,comma%-1)) 6900 icon$=MID$(icon$,comma%+1) 6910 PROCselecticon(w%,v%) 6920 ENDIF 6930UNTIL comma%=0 6940v%=VAL(icon$) 6950PROCselecticon(w%,v%) 6960ENDPROC 6970 6980DEF PROCdeselecticons(w%,icon$) 6990REPEAT 7000 comma%=INSTR(icon$,",") 7010 IF comma%>0 THEN 7020 v%=VAL(LEFT$(icon$,comma%-1)) 7030 icon$=MID$(icon$,comma%+1) 7040 PROCdeselecticon(w%,v%) 7050 ENDIF 7060UNTIL comma%=0 7070v%=VAL(icon$) 7080PROCdeselecticon(w%,v%) 7090ENDPROC 7100 7110DEF PROCputiconcaret(w%,i%) 7120*|SYS "Wimp_GetCaretPosition",,q% 7130index%=LEN(FNgeticontext(w%,i%)) 7140SYS "Wimp_SetCaretPosition",w%,i%,,,-1,index% 7150processed%=TRUE 7160ENDPROC 7170 7180DEF PROCsetextent(w%,x0%,y0%,x1%,y1%,min%) 7190IF y0%>min% y0%=min% 7200q%!0=x0%:q%!4=y0%:q%!8=x1%:q%!12=y1% 7210SYS "Wimp_SetExtent",w%,q% 7220q%!0=w% 7230SYS "Wimp_GetWindowState",,q% 7240q%!24=0 7250SYS "Wimp_OpenWindow",,q% 7260ENDPROC 7270 7280DEF PROCdragsavebox(w%,i%,name$,a%) 7290LOCAL icx0%,icx1%,icy0%,icy1%,scx0%,scx1%,scy0%,scy1% 7300PROCiconbox(icx0%,icx1%,icy0%,icy1%) 7310PROCscreenbox(scx0%,scx1%,scy0%,scy1%) 7320q%!4=5 7330q%!8=icx0%:q%!12=icy0%:q%!16=icx1%:q%!20=icy1% 7340q%!24=scx0%:q%!28=scy0%:q%!32=scx1%:q%!36=scy1% 7350IF NOT dragasprite% OR NOT dragsprites% THEN 7360 SYS "Wimp_DragBox",,q% 7370ELSE 7380 SYS "DragASprite_Start",197,a%,name$,q%+8,q%+24 7390ENDIF 7400ENDPROC 7410 7420DEF PROCiconbox(RETURN x0%,RETURN x1%,RETURN y0%,RETURN y1%) 7430LOCAL iconx0%,iconx1%,icony0%,icony1%,xvis%,yvis%,xofs%,yofs% 7440q%!0=w% 7450q%!4=i% 7460SYS "Wimp_GetIconState",,q% 7470iconx0%=q%!8 7480icony0%=q%!12 7490iconx1%=q%!16 7500icony1%=q%!20 7510SYS "Wimp_GetWindowState",,q% 7520xvis%=q%!4 7530yvis%=q%!16 7540xofs%=q%!20 7550yofs%=q%!24 7560x0%=xvis%+iconx0%-xofs% 7570y0%=yvis%+icony0%-yofs% 7580x1%=xvis%+iconx1%-xofs% 7590y1%=yvis%+icony1%-yofs% 7600ENDPROC 7610 7620DEF PROCscreenbox(RETURN x0%,RETURN x1%,RETURN y0%,RETURN y1%) 7630LOCAL cx%,cy%,xpixs%,ypixs% 7640SYS "OS_ReadModeVariable",-1,4 TO ,,cx% 7650SYS "OS_ReadModeVariable",-1,5 TO ,,cy% 7660SYS "OS_ReadModeVariable",-1,11 TO ,,xpixs% 7670SYS "OS_ReadModeVariable",-1,12 TO ,,ypixs% 7680x0%=0 7690y0%=0 7700x1%=(xpixs%+1)*(1<<cx%) 7710y1%=(ypixs%+1)*(1<<cy%) 7720ENDPROC 7730 7740DEF PROCsaverequest(leafname$,type%,size%) 7750LOCAL destx%,desty%,dswin%,dicon% 7760SYS "Wimp_GetPointerInfo",,q% 7770destx%=q%!0 7780desty%=q%!4 7790dswin%=q%!12 7800dicon%=q%!20 7810q%!0=64 7820q%!12=0 7830q%!16=1 7840q%!20=dswin% 7850q%!24=dicon% 7860q%!28=destx% 7870q%!32=desty% 7880q%!36=size% 7890q%!40=type% 7900PROCputstring(q%+44,FNleaf(leafname$)) 7910SYS "Wimp_SendMessage",18,q%,dswin% 7920ENDPROC 7930 7940DEF PROCputstring(p%,t$) 7950FOR i%=1 TO LEN t$ 7960 ?(p%+i%-1)=ASC(MID$(t$,i%,1)) 7970NEXT 7980?(p%+LENt$)=0 7990ENDPROC 8000 8010DEF FNleaf(leaf$) 8020WHILE INSTR(leaf$,".")>0 8030 leaf$=MID$(leaf$,INSTR(leaf$,".")+1) 8040ENDWHILE 8050=LEFT$(leaf$,10) 8060 8070DEF PROCdataload 8080filetype%=q%!40 8090filename$=FNstring0(q%+44) 8100PROCloaddata(filename$,filetype%,window%,icon%) 8110q%!0=len% 8120q%!12=yourref% 8130q%!16=4 8140SYS "Wimp_SendMessage",17,q%,sender% 8150ENDPROC 8160 8170DEF PROCdatasaveack 8180fullname$=FNstring0(q%+44) 8190size%=q%!36 8200PROCsavedata(fullname$,size%) 8210q%!0=len% 8220q%!12=yourref% 8230q%!16=3 8240SYS "Wimp_SendMessage",18,q%,sender% 8250ENDPROC 8260 8270DEF PROCloaddata(filename$,filetype%,window%,icon%) 8280IF filetype%=&D96 THEN 8290 PROCmessage("This file has been compressed. Please re-load from the relevant CFS window.") 8300ELSE 8310 IF filetype%<>&FFB THEN 8320 PROCmessage("I cannot load a file of this type - only BASIC programs.") 8330 ELSE 8340 IF icon%=ic% OR window%=main% THEN 8350 PROCloadbasic(filename$) 8360 ELSE 8370 PROCmessage("Please drop the file either onto the main window or onto the icon on the iconbar.") 8380 ENDIF 8390 ENDIF 8400ENDIF 8410ENDPROC 8420 8430DEF PROCloadbasic(filename$) 8440file%=OPENIN(filename$) 8450b1%=BGET#file% 8460CLOSE#file%:f%=0 8470IF b1%=13 THEN 8480 SYS "Hourglass_On" 8490 CALL code% 8500 IF basic%<>0 THEN 8510 SYS "OS_Module",7,,basic% 8520 basic%=0 8530 ENDIF 8540 FOR i%=0 TO noproc% 8550 PROCseticontext(procpane%,i%,"") 8560 PROCshadeicon(procpane%,i%) 8570 NEXT 8580 FOR i%=0 TO nofunc% 8590 PROCseticontext(funcpane%,i%,"") 8600 PROCshadeicon(funcpane%,i%) 8610 NEXT 8620 noproc%=0:nofunc%=0 8630 SYS "OS_File",5,filename$ TO ,,,,length% 8640 IF length%>160*1024 THEN PROCmessage("This file is too large - I can only cope with files of less than 160K in length. Sorry.") 8650 SYS "OS_File",255,filename$,basicload%,0 8660 PROCseticontext(main%,1,filename$) 8670 PROCopenmaintop 8680 PROCfindprocfn 8690ELSE 8700 PROCmessage("This file does not start with a return code which BASIC programs should start with. Loading aborted.") 8710ENDIF 8720SYS "Hourglass_Smash" 8730ENDPROC 8740 8750DEF PROCsavedata(fullname$,size%) 8760IF basicdrag% THEN 8770 PROCseticontext(saveasbasic%,0,fullname$) 8780 PROCsavebasicfile(fullname$,size%) 8790ENDIF 8800basicdrag%=FALSE 8810IF textdrag% THEN 8820 PROCseticontext(saveastext%,0,fullname$) 8830 PROCsavetextfile(fullname$,size%) 8840ENDIF 8850textdrag%=FALSE 8860SYS "Wimp_CreateMenu",,-1 8870ENDPROC 8880 8890DEF PROCfindprocfn 8900p%=basicload% 8910endoffile%=(?p%=13 AND p%?1=&FF) 8920SYS "Hourglass_On" 8930WHILE NOT endoffile% 8940 perc%=((p%-basicload%)/length%)*100 8950 IF perc%>=0 AND perc%<100 THEN SYS "Hourglass_Percentage",perc% 8960 op%=p%+p%?3 8970 PROCcheckprocfn(p%) 8980 p%=op% 8990 endoffile%=(?p%=13 AND p%?1=&FF) 9000ENDWHILE 9010SYS "Hourglass_Smash" 9020ENDPROC 9030 9040DEF PROCcheckprocfn(pos%) 9050line$=$(pos%+4) 9060IF INSTR(line$,CHR$&DD) THEN 9070 IF INSTR(line$,CHR$&A4,INSTR(line$,CHR$&DD)) THEN 9080 PROCgetfnname(MID$(line$,INSTR(line$,CHR$&A4)+1),pos%) 9090 ELSE 9100 IF INSTR(line$,CHR$&F2,INSTR(line$,CHR$&DD)) THEN 9110 PROCgetprocname(MID$(line$,INSTR(line$,CHR$&F2)+1),pos%) 9120 ENDIF 9130 ENDIF 9140ENDIF 9150ENDPROC 9160 9170DEF PROCgetfnname(name$,pos%) 9180IF nofunc%<200 AND name$<>"" THEN 9190 IF INSTR(name$,"(") THEN name$=LEFT$(name$,INSTR(name$,"(")) 9200 IF INSTR(name$,":") THEN name$=LEFT$(name$,INSTR(name$,":")-1) 9210 IF INSTR(name$," ") THEN name$=LEFT$(name$,INSTR(name$," ")-1) 9220 IF RIGHT$(name$,1)="(" THEN name$+=")" 9230 name$=LEFT$(name$,31) 9240 PROCseticontext(funcpane%,nofunc%,name$) 9250 PROCunshadeicon(funcpane%,nofunc%) 9260 PROCsetextent(funcpane%,0,-(nofunc%*48+48),516,0,-412) 9270 func$(nofunc%)=name$ 9280 func%(nofunc%)=pos% 9290 nofunc%+=1 9300ELSE 9310 PROCmessage("I have reached my limit of 200 functions in this BASIC program.") 9320ENDIF 9330ENDPROC 9340 9350DEF PROCgetprocname(name$,pos%) 9360IF noproc%<200 AND name$<>"" THEN 9370 IF INSTR(name$,"(") THEN name$=LEFT$(name$,INSTR(name$,"(")) 9380 IF INSTR(name$,":") THEN name$=LEFT$(name$,INSTR(name$,":")-1) 9390 IF INSTR(name$," ") THEN name$=LEFT$(name$,INSTR(name$," ")-1) 9400 IF RIGHT$(name$,1)="(" THEN name$+=")" 9410 name$=LEFT$(name$,31) 9420 PROCseticontext(procpane%,noproc%,name$) 9430 PROCunshadeicon(procpane%,noproc%) 9440 PROCsetextent(procpane%,0,-(noproc%*48+48),516,0,-412) 9450 proc$(noproc%)=name$ 9460 proc%(noproc%)=pos% 9470 noproc%+=1 9480ELSE 9490 PROCmessage("I have reached my limit of 200 procedures in this BASIC program.") 9500ENDIF 9510ENDPROC 9520 9530DEF FNupper(t$) 9540LOCAL a$,i% 9550a$="" 9560FOR i%=1 TO LENt$ 9570 IF ASC(MID$(t$,i%,1))>=ASC"a" AND ASC(MID$(t$,i%,1))<=ASC"z" THEN 9580 a$=a$+CHR$(ASC(MID$(t$,i%,1))-32) 9590 ELSE 9600 a$=a$+MID$(t$,i%,1) 9610 ENDIF 9620NEXT 9630=a$ 9640 9650DEF PROCsearch 9660search$=FNgeticontext(search%,1) 9670IF search$="" THEN 9680 PROCmessage("No search string set up.") 9690ELSE 9700 IF INSTR(search$,"(")>0 THEN search$=LEFT$(search$,INSTR(search$,"(")-1) 9710 found%=0 9720 search$=FNupper(search$) 9730 CASE procfunc% OF 9740 WHEN 1 : 9750 FOR i%=0 TO noproc% 9760 IF proc$(i%)>"" THEN 9770 proc$=proc$(i%) 9780 proc$=FNupper(proc$) 9790 IF INSTR(proc$,"(")>0 THEN proc$=LEFT$(proc$,INSTR(proc$,"(")-1) 9800 CASE contains% OF 9810 WHEN 1 : IF INSTR(proc$,search$) THEN 9820 found$(found%)=proc$(i%) 9830 found%(found%)=256 9840 found%+=1 9850 ENDIF 9860 WHEN 2 : IF LEFT$(proc$,LEN(search$))=search$ THEN 9870 found$(found%)=proc$(i%) 9880 found%(found%)=256 9890 found%+=1 9900 ENDIF 9910 WHEN 3 : IF RIGHT$(proc$,LEN(search$))=search$ THEN 9920 found$(found%)=proc$(i%) 9930 found%(found%)=256 9940 found%+=1 9950 ENDIF 9960 WHEN 4 : IF proc$=search$ THEN 9970 found$(found%)=proc$(i%) 9980 found%(found%)=256 9990 found%+=1 10000 ENDIF 10010 ENDCASE 10020 ENDIF 10030 NEXT 10040 WHEN 2 : 10050 FOR i%=0 TO nofunc% 10060 IF func$(i%)>"" THEN 10070 func$=func$(i%) 10080 func$=FNupper(func$) 10090 IF INSTR(func$,"(")>0 THEN func$=LEFT$(func$,INSTR(func$,"(")-1) 10100 CASE contains% OF 10110 WHEN 1 : IF INSTR(func$,search$) THEN 10120 found$(found%)=func$(i%) 10130 found%(found%)=512 10140 found%+=1 10150 ENDIF 10160 WHEN 2 : IF LEFT$(func$,LEN(search$))=search$ THEN 10170 found$(found%)=func$(i%) 10180 found%(found%)=512 10190 found%+=1 10200 ENDIF 10210 WHEN 3 : IF RIGHT$(func$,LEN(search$))=search$ THEN 10220 found$(found%)=func$(i%) 10230 found%(found%)=512 10240 found%+=1 10250 ENDIF 10260 WHEN 4 : IF func$=search$ THEN 10270 found$(found%)=func$(i%) 10280 found%(found%)=512 10290 found%+=1 10300 ENDIF 10310 ENDCASE 10320 ENDIF 10330 NEXT 10340 WHEN 3 : 10350 FOR i%=0 TO noproc% 10360 IF proc$(i%)>"" THEN 10370 proc$=proc$(i%) 10380 proc$=FNupper(proc$) 10390 IF INSTR(proc$,"(")>0 THEN proc$=LEFT$(proc$,INSTR(proc$,"(")-1) 10400 CASE contains% OF 10410 WHEN 1 : IF INSTR(proc$,search$) THEN 10420 found$(found%)=proc$(i%) 10430 found%(found%)=256 10440 found%+=1 10450 ENDIF 10460 WHEN 2 : IF LEFT$(proc$,LEN(search$))=search$ THEN 10470 found$(found%)=proc$(i%) 10480 found%(found%)=256 10490 found%+=1 10500 ENDIF 10510 WHEN 3 : IF RIGHT$(proc$,LEN(search$))=search$ THEN 10520 found$(found%)=proc$(i%) 10530 found%(found%)=256 10540 found%+=1 10550 ENDIF 10560 WHEN 4 : IF proc$=search$ THEN 10570 found$(found%)=proc$(i%) 10580 found%(found%)=256 10590 found%+=1 10600 ENDIF 10610 ENDCASE 10620 ENDIF 10630 NEXT 10640 FOR i%=0 TO nofunc% 10650 IF func$(i%)>"" THEN 10660 func$=func$(i%) 10670 func$=FNupper(func$) 10680 IF INSTR(func$,"(")>0 THEN func$=LEFT$(func$,INSTR(func$,"(")-1) 10690 CASE contains% OF 10700 WHEN 1 : IF INSTR(func$,search$) THEN 10710 found$(found%)=func$(i%) 10720 found%(found%)=512 10730 found%+=1 10740 ENDIF 10750 WHEN 2 : IF LEFT$(func$,LEN(search$))=search$ THEN 10760 found$(found%)=func$(i%) 10770 found%(found%)=512 10780 found%+=1 10790 ENDIF 10800 WHEN 3 : IF RIGHT$(func$,LEN(search$))=search$ THEN 10810 found$(found%)=func$(i%) 10820 found%(found%)=512 10830 found%+=1 10840 ENDIF 10850 WHEN 4 : IF func$=search$ THEN 10860 found$(found%)=func$(i%) 10870 found%(found%)=512 10880 found%+=1 10890 ENDIF 10900 ENDCASE 10910 ENDIF 10920 NEXT 10930 ENDCASE 10940ENDIF 10950IF search$>"" THEN 10960 IF found%=1 THEN 10970 PROCseticontext(search%,13,"Found : 1 occurrence.") 10980 ELSE 10990 PROCseticontext(search%,13,"Found : "+STR$found%+" occurrences.") 11000 ENDIF 11010ENDIF 11020ENDPROC 11030 11040DEF PROCshowresults 11050IF found%=0 THEN 11060 PROCmessage("No procedures or functions found that matched the search criteria.") 11070ELSE 11080 PROCunshadeicons(show%,"2,3") 11090 PROCseticontext(show%,1,found$(0)) 11100 IF found%(0)=256 THEN 11110 PROCseticontext(show%,0," PROC") 11120 ELSE 11130 PROCseticontext(show%,0," FN") 11140 ENDIF 11150 min%=0:max%=found%-1 11160 showprocfunc%=0 11170 PROCopentop(show%) 11180ENDIF 11190ENDPROC 11200 11210DEF PROCsavebasicfile(fullname$,size%) 11220SYS "OS_File",10,fullname$,&FFB,,savefrom%,saveto% 11230f%=OPENUP fullname$ 11240PTR#f%=EXT#f% 11250BPUT#f%,13 11260BPUT#f%,255 11270CLOSE#f% 11280ENDPROC 11290 11300DEF PROCsavetextfile(fullname$,size%) 11310type$=FNgeticontext(show%,0) 11320name$=FNgeticontext(show%,1) 11330IF INSTR(type$,"PR") THEN file$="PR" ELSE file$="FN" 11340IF file$="PR" THEN 11350 PROCgetprocdetails 11360ELSE 11370 PROCgetfuncdetails 11380ENDIF 11390length1%=((1.5*(saveto%-savefrom%)) DIV 4 +1)*4 11400SYS "OS_Module",6,,,length1% TO ,,text% 11410IF text%>0 THEN 11420 IF saveto%>=basicload%+length% AND ?saveto%<>255 THEN 11430 REPEAT 11440 saveto%-=1 11450 UNTIL ?saveto%=13 AND saveto%?1=255 11460 ENDIF 11470 start%=text% 11480 PROCdecodebasic(savefrom%,saveto%,text%,FALSE) 11490 SYS "OS_File",10,fullname$,&FFF,,start%,text% 11500 SYS "OS_Module",7,,start% 11510ENDIF 11520SYS "Hourglass_Smash" 11530ENDPROC 11540 11550DEF PROCshowlisting 11560type$=FNgeticontext(show%,0) 11570name$=FNgeticontext(show%,1) 11580IF INSTR(type$,"PR") THEN file$="PR" ELSE file$="FN" 11590IF file$="PR" THEN 11600 PROCgetprocdetails 11610ELSE 11620 PROCgetfuncdetails 11630ENDIF 11640length1%=((1.5*(saveto%-savefrom%)) DIV 4 +1)*4 11650SYS "OS_Module",6,,,length1% TO ,,detoken% 11660SYS "OS_Module",6,,,length1% TO ,,basic% 11670IF basic%>0 AND detoken%>0 THEN 11680 IF saveto%>=basicload%+length% AND ?saveto%<>255 THEN 11690 REPEAT 11700 saveto%-=1 11710 UNTIL ?saveto%=13 AND saveto%?1=255 11720 ENDIF 11730 PROCdecodebasic(savefrom%,saveto%,detoken%,TRUE) 11740ENDIF 11750ENDPROC 11760 11770DEF PROCredrawlisting 11780SYS "Wimp_RedrawWindow",,q% TO more% 11790originx%=q%!4-q%!20 11800originy%=q%!16-q%!24 11810WHILE more% 11820 PROCshowredraw 11830 SYS "Wimp_GetRectangle",,q% TO more% 11840ENDWHILE 11850ENDPROC 11860 11870DEF PROCputtext(t$) 11880FOR i%=1 TO LENt$ 11890 ?save%=ASC(MID$(t$,i%,1)) 11900 save%+=1 11910NEXT 11920ENDPROC 11930 11940DEF FNgetbyte 11950byte%=?pos% 11960pos%+=1 11970=byte% 11980 11990DEF PROCdecodebasic(start%,end%,RETURN save%,basicshow%) 12000SYS "Hourglass_On" 12010pos%=start%+1 12020WHILE pos%<=end%-1 12030 SYS "Hourglass_Percentage",((pos%-start%)/(end%-start%))*100 12040 b%=FNgetbyte 12050 b%=FNgetbyte 12060 b%=FNgetbyte 12070 REPEAT 12080 b%=FNgetbyte 12090 IF b%<127 THEN 12100 IF b%=13 THEN 12110 IF NOT basicshow% THEN 12120 PROCputtext(CHR$10) 12130 ELSE 12140 PROCputtext(CHR$(b%)) 12150 ENDIF 12160 ELSE 12170 PROCputtext(CHR$(b%)) 12180 ENDIF 12190 ELSE 12200 CASE b% OF 12210 WHEN &7F : PROCputtext("OTHERWISE") 12220 WHEN &80 : PROCputtext("AND") 12230 WHEN &81 : PROCputtext("DIV") 12240 WHEN &82 : PROCputtext("EOR") 12250 WHEN &83 : PROCputtext("MOD") 12260 WHEN &84 : PROCputtext("OR") 12270 WHEN &85 : PROCputtext("ERROR") 12280 WHEN &86 : PROCputtext("LINE") 12290 WHEN &87 : PROCputtext("OFF") 12300 WHEN &88 : PROCputtext("STEP") 12310 WHEN &89 : PROCputtext("SPC") 12320 WHEN &8A : PROCputtext("TAB(") 12330 WHEN &8B : PROCputtext("ELSE") 12340 WHEN &8C : PROCputtext("THEN") 12350 WHEN &8D : PROCnumberdecipher 12360 WHEN &8E : PROCputtext("OPENIN") 12370 WHEN &8F : PROCputtext("PTR") 12380 WHEN &90 : PROCputtext("PAGE") 12390 WHEN &91 : PROCputtext("TIME") 12400 WHEN &92 : PROCputtext("LOMEM") 12410 WHEN &93 : PROCputtext("HIMEM") 12420 WHEN &94 : PROCputtext("ABS") 12430 WHEN &95 : PROCputtext("ACS") 12440 WHEN &96 : PROCputtext("ADVAL") 12450 WHEN &97 : PROCputtext("ASC") 12460 WHEN &98 : PROCputtext("ASN") 12470 WHEN &99 : PROCputtext("AUTO") 12480 WHEN &9A : PROCputtext("BGET") 12490 WHEN &9B : PROCputtext("COS") 12500 WHEN &9C : PROCputtext("COUNT") 12510 WHEN &9D : PROCputtext("DEG") 12520 WHEN &9E : PROCputtext("ERL") 12530 WHEN &9F : PROCputtext("ERR") 12540 WHEN &A0 : PROCputtext("EVAL") 12550 WHEN &A1 : PROCputtext("EXP") 12560 WHEN &A2 : PROCputtext("EXT") 12570 WHEN &A3 : PROCputtext("FALSE") 12580 WHEN &A4 : PROCputtext("FN") 12590 WHEN &A5 : PROCputtext("GET") 12600 WHEN &A6 : PROCputtext("INKEY") 12610 WHEN &A7 : PROCputtext("INSTR(") 12620 WHEN &A8 : PROCputtext("INT") 12630 WHEN &A9 : PROCputtext("LEN") 12640 WHEN &AA : PROCputtext("LN") 12650 WHEN &AB : PROCputtext("LOG") 12660 WHEN &AC : PROCputtext("NOT") 12670 WHEN &AD : PROCputtext("OPENUP") 12680 WHEN &AE : PROCputtext("OPENOUT") 12690 WHEN &AF : PROCputtext("PI") 12700 WHEN &B0 : PROCputtext("POINT(") 12710 WHEN &B1 : PROCputtext("POS") 12720 WHEN &B2 : PROCputtext("RAD") 12730 WHEN &B3 : PROCputtext("RND") 12740 WHEN &B4 : PROCputtext("SGN") 12750 WHEN &B5 : PROCputtext("SIN") 12760 WHEN &B6 : PROCputtext("SQR") 12770 WHEN &B7 : PROCputtext("TAN") 12780 WHEN &B8 : PROCputtext("TO") 12790 WHEN &B9 : PROCputtext("TRUE") 12800 WHEN &BA : PROCputtext("USR") 12810 WHEN &BB : PROCputtext("VAL") 12820 WHEN &BC : PROCputtext("VPOS") 12830 WHEN &BD : PROCputtext("CHR$") 12840 WHEN &BE : PROCputtext("GET$") 12850 WHEN &BF : PROCputtext("INKEY$") 12860 WHEN &C0 : PROCputtext("LEFT$(") 12870 WHEN &C1 : PROCputtext("MID$(") 12880 WHEN &C2 : PROCputtext("RIGHT$(") 12890 WHEN &C3 : PROCputtext("STR$") 12900 WHEN &C4 : PROCputtext("STRING$(") 12910 WHEN &C5 : PROCputtext("EOF") 12920 WHEN &C6 : c%=FNgetbyte 12930 CASE c% OF 12940 WHEN &8E : PROCputtext("SUMLEN") 12950 WHEN &8F : PROCputtext("BEAT") 12960 ENDCASE 12970 WHEN &C7 : c%=FNgetbyte 12980 CASE c% OF 12990 WHEN &8E : PROCputtext("APPEND") 13000 WHEN &8F : PROCputtext("AUTO") 13010 WHEN &90 : PROCputtext("DELETE") 13020 WHEN &91 : PROCputtext("EDIT") 13030 WHEN &92 : PROCputtext("HELP") 13040 WHEN &93 : PROCputtext("LIST") 13050 WHEN &94 : PROCputtext("LOAD") 13060 WHEN &95 : PROCputtext("LVAR") 13070 WHEN &96 : PROCputtext("NEW") 13080 WHEN &97 : PROCputtext("OLD") 13090 WHEN &98 : PROCputtext("RENUMBER") 13100 WHEN &99 : PROCputtext("SAVE") 13110 WHEN &9A : PROCputtext("TWIN") 13120 WHEN &9B : PROCputtext("TWINO") 13130 ENDCASE 13140 WHEN &C8 : c%=FNgetbyte 13150 CASE c% OF 13160 WHEN &8E : PROCputtext("CASE") 13170 WHEN &8F : PROCputtext("CIRCLE") 13180 WHEN &90 : PROCputtext("FILL") 13190 WHEN &91 : PROCputtext("ORIGIN") 13200 WHEN &92 : PROCputtext("POINT") 13210 WHEN &93 : PROCputtext("RECTANGLE") 13220 WHEN &94 : PROCputtext("SWAP") 13230 WHEN &95 : PROCputtext("WHILE") 13240 WHEN &96 : PROCputtext("WAIT") 13250 WHEN &97 : PROCputtext("MOUSE") 13260 WHEN &98 : PROCputtext("QUIT") 13270 WHEN &99 : PROCputtext("SYS") 13280 WHEN &9A : PROCputtext("INSTALL") 13290 WHEN &9B : PROCputtext("LIBRARY") 13300 WHEN &9D : PROCputtext("ELLIPSE") 13310 WHEN &9C : PROCputtext("TINT") 13320 WHEN &9E : PROCputtext("BEATS") 13330 WHEN &9F : PROCputtext("TEMPO") 13340 WHEN &A0 : PROCputtext("VOICES") 13350 WHEN &A1 : PROCputtext("VOICE") 13360 WHEN &A2 : PROCputtext("STEREO") 13370 WHEN &A3 : PROCputtext("OVERLAY") 13380 ENDCASE 13390 WHEN &C9 : PROCputtext("WHEN") 13400 WHEN &CA : PROCputtext("OF") 13410 WHEN &CB : PROCputtext("ENDCASE") 13420 WHEN &CC : PROCputtext("ELSE") 13430 WHEN &CD : PROCputtext("ENDIF") 13440 WHEN &CE : PROCputtext("ENDWHILE") 13450 WHEN &CF : PROCputtext("PTR") 13460 WHEN &D0 : PROCputtext("PAGE") 13470 WHEN &D1 : PROCputtext("TIME") 13480 WHEN &D2 : PROCputtext("LOMEM") 13490 WHEN &D3 : PROCputtext("HIMEM") 13500 WHEN &D4 : PROCputtext("SOUND") 13510 WHEN &D5 : PROCputtext("BPUT") 13520 WHEN &D6 : PROCputtext("CALL") 13530 WHEN &D7 : PROCputtext("CHAIN") 13540 WHEN &D8 : PROCputtext("CLEAR") 13550 WHEN &D9 : PROCputtext("CLOSE") 13560 WHEN &DA : PROCputtext("CLG") 13570 WHEN &DB : PROCputtext("CLS") 13580 WHEN &DC : PROCputtext("DATA") 13590 WHEN &DD : PROCputtext("DEF") 13600 WHEN &DE : PROCputtext("DIM") 13610 WHEN &DF : PROCputtext("DRAW") 13620 WHEN &E0 : PROCputtext("END") 13630 WHEN &E1 : PROCputtext("ENDPROC") 13640 WHEN &E2 : PROCputtext("RIGHT$(") 13650 WHEN &E3 : PROCputtext("FOR") 13660 WHEN &E4 : PROCputtext("GOSUB") 13670 WHEN &E5 : PROCputtext("GOTO") 13680 WHEN &E6 : PROCputtext("GCOL") 13690 WHEN &E7 : PROCputtext("IF") 13700 WHEN &E8 : PROCputtext("INPUT") 13710 WHEN &E9 : PROCputtext("LET") 13720 WHEN &EA : PROCputtext("LOCAL") 13730 WHEN &EB : PROCputtext("MODE") 13740 WHEN &EC : PROCputtext("MOVE") 13750 WHEN &ED : PROCputtext("NEXT") 13760 WHEN &EE : PROCputtext("ON") 13770 WHEN &EF : PROCputtext("VDU") 13780 WHEN &F0 : PROCputtext("PLOT") 13790 WHEN &F1 : PROCputtext("PRINT") 13800 WHEN &F2 : PROCputtext("PROC") 13810 WHEN &F3 : PROCputtext("READ") 13820 WHEN &F4 : PROCputtext("REM") 13830 WHEN &F5 : PROCputtext("REPEAT") 13840 WHEN &F6 : PROCputtext("REPORT") 13850 WHEN &F7 : PROCputtext("RESTORE") 13860 WHEN &F8 : PROCputtext("RETURN") 13870 WHEN &F9 : PROCputtext("RUN") 13880 WHEN &FA : PROCputtext("STOP") 13890 WHEN &FB : PROCputtext("COLOUR") 13900 WHEN &FC : PROCputtext("TRACE") 13910 WHEN &FD : PROCputtext("UNTIL") 13920 WHEN &FE : PROCputtext("WIDTH") 13930 WHEN &FF : PROCputtext("OSCLI") 13940 ENDCASE 13950 ENDIF 13960 UNTIL b%=13 13970ENDWHILE 13980IF basicshow% THEN PROCputtext(CHR$13) 13990IF basicshow% THEN 14000 p%=basic%:o%=detoken%:lines%=0 14010 REPEAT 14020 SYS "Hourglass_Percentage",((o%-detoken%)/length1%)*100 14030 a$="" 14040 REPEAT 14050 c$=CHR$?o% 14060 a$+=c$ 14070 o%+=1 14080 UNTIL LEN(a$)>=76 OR c$=CHR$13 14090 IF LEN(a$)>=76 THEN a$+=CHR$13 14100 $p%=a$ 14110 p%+=LENa$ 14120 lines%+=1 14130 UNTIL o%=save% 14140 SYS "Hourglass_Smash" 14150 PROCopentop(listing%) 14160 PROCsetextent(listing%,0,-(32*lines%)-16,1236,0,0) 14170 SYS "OS_Module",7,,detoken% 14180 detoken%=0 14190ENDIF 14200ENDPROC 14210 14220DEF PROCnumberdecipher 14230byte1%=FNgetbyte 14240byte2%=FNgetbyte 14250byte3%=FNgetbyte 14260lineno%=(byte1% AND 48 EOR 16)*4+(byte1% AND 15 EOR 4)*4096+(byte2% AND 63)+(byte3% AND 63)*256 14270PROCputtext(STR$lineno%) 14280ENDPROC 14290 14300DEF PROCshowredraw 14310p%=basic% 14320FOR i%=1 TO lines% 14330 MOVE originx%+16,originy%-i%*32+12 14340 line$=$p% 14350 p%=p%+LEN(line$)+1 14360 PRINTline$ 14370NEXT 14380ENDPROC 14390 14400DEF PROCcode 14410sp=13 14420link=14 14430pc=15 14440FOR pass=0 TO 2 STEP 2 14450P%=code% 14460[OPT pass 14470stmfd (sp)!,{link} 14480adr r0,blanktable 14490ldmia r0,{r3-r10} 14500ldr r1,basload 14510mov r2,#0 14520.loop 14530stmia r1!,{r3-r10} 14540add r2,r2,#1 14550cmp r2,#&A00 14560bne loop 14570ldmfd (sp)!,{pc} 14580.basload 14590dcd basicload% 14600.blanktable 14610dcd 0 14620dcd 0 14630dcd 0 14640dcd 0 14650dcd 0 14660dcd 0 14670dcd 0 14680dcd 0 14690] 14700NEXT 14710ENDPROC
� > !RunImage !*| *** Initialise task *** *| ( 2Bș "Wimp_Initialise",200,&4B534154,"ProcFunc" � version%,task% <#ș "Interface_Initialise",task% F P)*| *** Dimension Arrays needed *** *| Z d@� q% 256,sprites% 20000,indir% 25000,temp% 30000,namebuf% 40 nF� menu% 2000,indmenu% 2000,mouse% 24,basicload% 160*1024,code% 256 xI� proc$(200),func$(200),proc%(200),func%(200),found$(400),found%(400) � �ș "Hourglass_On" �0ș "OS_SWINumberToString",&42400,namebuf%,40 �swiname$=�string0(namebuf%) �/dragasprite%=(swiname$="DragASprite_Start") � �� � �prepollerror � �)*| *** Install icon on iconbar *** *| � �7ic%=�iconbar("!procfunc","<ProcFunc$Dir>.!Sprites") � �9*| *** Initialise sprite area and load sprites *** *| �sprites &*| *** Initialise templates *** *| " ,�templates 6 @)*| *** Create the menus needed *** *| J T �menus ^ h3*| *** Set up main variables for program *** *| r |8quit%=�:basicdrag%=�:textdrag%=�:basic%=0:detoken%=0 �8noproc%=0:nofunc%=0:found%=0:procfunc%=3:contains%=1 �� i%=0 � 199 � �shadeicon(procpane%,i%) � �shadeicon(funcpane%,i%) �� �5�seticontext(search%,13,"Found : 0 occurrences.") � �code � �� � �error � �$*| *** Enter polling loop *** *| � �ș "Hourglass_Smash" � %ș "Wimp_Poll",&1C01,q% � reason% &ș "Interface_Poll",reason%,,task% &Ȏ reason% � 0 � 1 : �redraw(q%) : � 2 : �openwindow(q%) D � 3 : �closewindow(q%) N � 6 : �mouse(q%) X � 7 : �dragged(q%) b � 8 : �keypress(q%) l � 9 : �menuselect(q%) v � 17,18 : �messages(q%) �� �� quit% �)� basic%>0 � ș "OS_Module",7,,basic% �'ș "Wimp_CloseDown",task%,&4B534154 �"ș "Interface_CloseDown",task% �� � �� �prepollerror � q%!0=� �$(q%+4)=�$+" "+Þ �)ș "Wimp_ReportError",q%,1,"ArcGraph" �'ș "Wimp_CloseDown",&4B534154,task% �"ș "Interface_CloseDown",task% � � � �iconbar(spname$,file$) *f%=�(file$) 4dim%=�#f%+16 >�#f% H� sprite% dim% Rsprite%!0=dim% \sprite%!4=0 fsprite%!8=16 psprite%!12=16 z)ș "OS_SpriteOp",256+10,sprite%,file$ �q%!0=-1 � q%!4=0 � q%!8=0 �q%!12=68 �q%!16=68 �q%!20=&2102 �len%=�spname$+1 �� q%!24 len% �$(q%!24)=spname$ �q%!28=sprite% �q%!32=len% �%ș "Wimp_CreateIcon",,q% � iconb% �=iconb% � �sprites sprites%!0=20000 $sprites%!8=16 ."ș "OS_SpriteOp",&109,sprites% 8Eș "OS_SpriteOp",&10A,sprites%,"<ProcFunc$Dir>.Resources.Sprites" B� L V� �templates `@ș "Wimp_OpenTemplate",,"<ProcFunc$Dir>.Resources.Templates" jOș "Wimp_LoadTemplate",,temp%,indir%,indir%+24999,-1,"proginfo",0 � ,,next% ttemp%!64=sprites% ~)ș "Wimp_CreateWindow",,temp% � info% �Qș "Wimp_LoadTemplate",,temp%,next%,indir%+24999,-1,"saveasbasic",0 � ,,next% �temp%!64=sprites% �0ș "Wimp_CreateWindow",,temp% � saveasbasic% �Nș "Wimp_LoadTemplate",,temp%,next%,indir%+24999,-1,"funcpane",0 � ,,next% �temp%!64=sprites% �-ș "Wimp_CreateWindow",,temp% � funcpane% �Nș "Wimp_LoadTemplate",,temp%,next%,indir%+24999,-1,"procpane",0 � ,,next% �temp%!64=sprites% �-ș "Wimp_CreateWindow",,temp% � procpane% �Jș "Wimp_LoadTemplate",,temp%,next%,indir%+24999,-1,"main",0 � ,,next% �temp%!64=sprites% �)ș "Wimp_CreateWindow",,temp% � main% Jș "Wimp_LoadTemplate",,temp%,next%,indir%+24999,-1,"show",0 � ,,next% temp%!64=sprites% )ș "Wimp_CreateWindow",,temp% � show% Lș "Wimp_LoadTemplate",,temp%,next%,indir%+24999,-1,"search",0 � ,,next% (temp%!64=sprites% 2+ș "Wimp_CreateWindow",,temp% � search% <Nș "Wimp_LoadTemplate",,temp%,next%,indir%+24999,-1,"errorbox",0 � ,,next% Ftemp%!64=sprites% P-ș "Wimp_CreateWindow",,temp% � errorbox% ZMș "Wimp_LoadTemplate",,temp%,next%,indir%+24999,-1,"listing",0 � ,,next% dtemp%!64=sprites% n,ș "Wimp_CreateWindow",,temp% � listing% xPș "Wimp_LoadTemplate",,temp%,next%,indir%+24999,-1,"saveastext",0 � ,,next% �temp%!64=sprites% �/ș "Wimp_CreateWindow",,temp% � saveastext% �ș "Wimp_CloseTemplate" �� � �� �messages(q%) � len%=q%!0 �sender%=q%!4 �yourref%=q%!8 �window%=q%!20 �icon%=q%!24 �Ȏ q%!16 � � � 0 : quit%=� � 2 : �datasaveack � 3 : �dataload � "� , 6� �redraw(q%) @� q%!0<>listing% � J' ș "Wimp_RedrawWindow",,q% � more% T ȕ more% ^' ș "Interface_Render3dWindow",,q% h( ș "Wimp_GetRectangle",,q% � more% r � |� � �redrawlisting �� �� � �� �openwindow(q%) �� q%!0=main% � �' back%=(q%!28=-2):front%=(q%!28=-1) � x1%=q%!4:y1%=q%!8 � x2%=q%!12:y2%=q%!16 � q%!0=funcpane% �! ș "Wimp_GetWindowState",,q% � q%!4=x1%+650 � q%!8=y1%+28 q%!12=q%!4+516 q%!16=q%!8+412 ) � back% q%!28=-2 � � front% q%!28=-1 & ș "Wimp_OpenWindow",,q% 0 q%!0=procpane% :! ș "Wimp_GetWindowState",,q% D q%!4=x1%+34 N q%!8=y1%+28 X q%!12=q%!4+516 b q%!16=q%!8+412 l q%!28=funcpane% v ș "Wimp_OpenWindow",,q% �E q%!0=main%:q%!4=x1%:q%!8=y1%:q%!12=x2%:q%!16=y2%:q%!28=procpane% � ș "Wimp_OpenWindow",,q% �� � ș "Wimp_OpenWindow",,q% �� �� � �� �closewindow(q%) �� q%!0=main% � � ș "Wimp_CloseWindow",,q% � q%!0=funcpane% � ș "Wimp_CloseWindow",,q% � q%!0=procpane% � 7� q%!0=listing% � ș "OS_Module",7,,basic%:basic%=0 ș "Wimp_CloseWindow",,q% � * 4� �mouse(q%) >Mmouse%!0=q%!0:mouse%!4=q%!4:mouse%!8=q%!8:mouse%!12=q%!12:mouse%!16=q%!16 H-x%=q%!0:y%=q%!4:b%=q%!8:w%=q%!12:i%=q%!16 R5� mouse%!8<>2 � ș "Interface_SlabButton",,mouse% \Ȏ w% � f � -2 : p Ȏ b% � z9 � 2 : ș "Wimp_CreateMenu",,iconbarmenu%,x%-72,228 �& menuopen%=iconbarmenu% � � �openmaintop � � � � errorbox% : � Ȏ i% � �, � 5 : xmin%=0:xmax%=0:ymin%=0:ymax%=0 �3 �screenbox(xmin%,xmax%,ymin%,ymax%) �- ȗ ȓ xmin%,ymin%,xmax%,ymax% � q%!0=errorbox% �) ș "Wimp_CloseWindow",,q% � � � � main% : Ȏ b% � 8 � 2 : ș "Wimp_CreateMenu",,mainmenu%,x%-72,y%+20 # menuopen%=mainmenu% $ � . � funcpane%,procpane% : 8 Ȏ b% � B8 � 2 : ș "Wimp_CreateMenu",,mainmenu%,x%-72,y%+20 L# menuopen%=mainmenu% V8 � 1,4 : �seticontext(show%,1,�geticontext(w%,i%)) `* �shadeicons(show%,"2,3") j" � w%=funcpane% � t0 �seticontext(show%,0," FN") ~ � �0 �seticontext(show%,0," PROC") � � �! �opentop(show%) � � � � search% : � Ȏ i% � �# � 4 : �selecticon(search%,4) �/ �deselecticons(search%,"5,6,7") � contains%=1 �# � 5 : �selecticon(search%,5) �/ �deselecticons(search%,"4,6,7") � contains%=2 # � 6 : �selecticon(search%,6) / �deselecticons(search%,"4,5,7") contains%=3 # � 7 : �selecticon(search%,7) (/ �deselecticons(search%,"4,5,6") 2 contains%=4 <$ � 10: �selecticon(search%,10) F/ �deselecticons(search%,"11,12") P procfunc%=1 Z$ � 11: �selecticon(search%,11) d/ �deselecticons(search%,"10,12") n procfunc%=2 x$ � 12: �selecticon(search%,12) �/ �deselecticons(search%,"10,11") � procfunc%=3 � � 14: �showresults � � 15: �search � � � � show% : � Ȏ i% � � � 2 : showprocfunc%+=1 �7 � showprocfunc%>max% showprocfunc%=min% �; �seticontext(show%,1,found$(showprocfunc%)) �- � found%(showprocfunc%)=256 � �. �seticontext(show%,0," PROC") � � . �seticontext(show%,0," FN") � � 3 : showprocfunc%-=1 "7 � showprocfunc%<min% showprocfunc%=max% ,; �seticontext(show%,1,found$(showprocfunc%)) 6- � found%(showprocfunc%)=256 � @. �seticontext(show%,0," PROC") J � T. �seticontext(show%,0," FN") ^ � h( � 4 : type$=�geticontext(show%,0) r+ name$=�geticontext(show%,1) |8 � �type$,"PR") � file$="PR" � file$="FN" � � file$="PR" � � �getprocdetails � � � �getfuncdetails � � � name$=�name$,8) �; � �name$,"(") � name$=�name$,�name$,"(")-1) � file$+=name$ �2 �seticontext(saveasbasic%,0,file$) �1 �seticontext(saveastext%,0,file$) �; ș "Wimp_CreateMenu",,savemenu%,x%-30,y%+20 � � 6 : q%!0=listing% �) ș "Wimp_CloseWindow",,q% 5 � basic%>0 � ș "OS_Module",7,,basic% �showlisting � & � saveasbasic% : 0 Ȏ i% � :3 � 1 : filename$=�geticontext(saveasbasic%,0) D% � �filename$,".")=0 � NJ �message("To save, drag the icon to a directory viewer.") X � b, �savebasicfile(filename$,0) l � v � 3 : basicdrag%=� �@ �dragsavebox(saveasbasic%,3,"file_ffb",sprites%) � � � � saveastext% : � Ȏ i% � �2 � 1 : filename$=�geticontext(saveastext%,0) �% � �filename$,".")=0 � �J �message("To save, drag the icon to a directory viewer.") � � �+ �savetextfile(filename$,0) � � � � 3 : textdrag%=� �? �dragsavebox(saveastext%,3,"file_fff",sprites%) � � � 0mouse%!8=0:ș "Interface_SlabButton",,mouse% � *� �getprocdetails 4� i%=0 � noproc% >? � proc$(i%)=name$ � savefrom%=proc%(i%):pos%=i%:i%=noproc% H� Rsaveto%=basicload%+length% \� i%=noproc% � 0 � -1 f � proc%(i%)>proc%(pos%) � p saveto%=proc%(i%) z � �� �� i%=nofunc% � 0 � -1 �2 � func%(i%)>proc%(pos%) � func%(i%)<saveto% � � saveto%=func%(i%) � � �� �� � �� �getfuncdetails �� i%=0 � nofunc% �? � func$(i%)=name$ � savefrom%=func%(i%):pos%=i%:i%=nofunc% �� �saveto%=basicload%+length% � i%=nofunc% � 0 � -1 � func%(i%)>func%(pos%) � saveto%=func%(i%) $ � .� 8� i%=noproc% � 0 � -1 B2 � proc%(i%)>func%(pos%) � proc%(i%)<saveto% � L saveto%=proc%(i%) V � `� j� t ~� �opentop(wh%) �q%!0=wh% � ș "Wimp_GetWindowState",,q% �q%!24=0 �q%!28=-1 �ș "Wimp_OpenWindow",,q% �� � �� �dragged(q%) �� basicdrag% � �' file$=�geticontext(saveasbasic%,0) � �saverequest(file$,&FFB,0) �� � textdrag% � & file$=�geticontext(saveastext%,0) �saverequest(file$,&FFF,0) � (� 2 <� �keypress(q%) Fw%=q%!0 Pi%=q%!4 Zchr%=q%!24 dprocessed%=� nreturn%=13 xȎ w% � � � saveasbasic% : � Ȏ chr% � �4 � 13 : filename$=�geticontext(saveasbasic%,0) �& � �filename$,".")=0 � �K �message("To save, drag the icon to a directory viewer.") � � �L q%!0=0:q%!4=0:q%!8=4:q%!12=saveasbasic%:q%!16=1:�mouse(q%) �- �savebasicfile(filename$,0) � � � processed%=� � � � � saveastext% : � Ȏ chr% � 3 � 13 : filename$=�geticontext(saveastext%,0) & � �filename$,".")=0 � K �message("To save, drag the icon to a directory viewer.") " � ,K q%!0=0:q%!4=0:q%!8=4:q%!12=saveastext%:q%!16=1:�mouse(q%) 6, �savetextfile(filename$,0) @ � J processed%=� T � ^� h.� � processed% � ș "Wimp_ProcessKey",chr% r� | �� �menuselect(q%) �#ș "Wimp_GetPointerInfo",,q%+40 �keep%=(q%!48)=1 �Ȏ menuopen% � � � iconbarmenu% � Ȏ q%!0 � � � 1 : Ȏ q%!4 � �0 � 0 : �settick(draggingmenu%,0) �2 �untick(draggingmenu%,1) �( dragsprites%=� �0 � 1 : �settick(draggingmenu%,1) �2 �untick(draggingmenu%,0) �( dragsprites%=� � � 2 : quit%=� � & � mainmenu% 0 Ȏ q%!0 � : � 1 : �opentop(search%) D( �puticoncaret(search%,1) N � X� b9� keep% � ș "Wimp_CreateMenu",,menuopen%,q%!40,q%!44 l� v �� �openmaintop �4�setextent(procpane%,0,-(noproc%*48),516,0,-412) �4�setextent(funcpane%,0,-(nofunc%*48),516,0,-412) �q%!0=main% � ș "Wimp_GetWindowState",,q% �x1%=q%!4:y1%=q%!8 �x2%=q%!12:y2%=q%!16 �q%!0=funcpane% � ș "Wimp_GetWindowState",,q% �q%!4=x1%+650 �q%!8=y1%+28 �q%!12=q%!4+516 �q%!16=q%!8+412 q%!28=-1 ș "Wimp_OpenWindow",,q% q%!0=procpane% ș "Wimp_GetWindowState",,q% *q%!4=x1%+34 4q%!8=y1%+28 >q%!12=q%!4+516 Hq%!16=q%!8+412 Rq%!28=funcpane% \ș "Wimp_OpenWindow",,q% fq%!0=main% p ș "Wimp_GetWindowState",,q% zq%!28=procpane% �ș "Wimp_OpenWindow",,q% �� � �� �error �ș "Wimp_DragBox",,0 ���message("A possibly fatal error has occured at line "+Þ+" - "+�$+". Please save your work as soon as possible and re-load ProcFunc.") �� � �� �message(message$) � q%!8=0 �!ș "Interface_SlabButton",,q% �ș "Wimp_DragBox",,0 �&�seticontext(errorbox%,2,message$) q%!0=errorbox% ș "Wimp_GetWindowState",,q% q%!28=-1 $ș "Wimp_OpenWindow",,q% ."ș "Wimp_GetWindowOutline",,q% 8)ȗ ȓ q%!4,q%!8,q%!12-q%!4,q%!16-q%!8 B� 7 L� V `� �menus j�buildmenus t� ~ �� �string0(p%) � a$="" �ȕ ?p%>=32 �a$+=�(?p%) � p%+=1 �� �=a$ � �� �put0(p%,p$) �� i%=1 � �(p$) �?(p%+i%-1)=�(�p$,i%,1)) �� � �(p$)<12 � ?(p%+�(p$))=0 � � �menuhead(title$,width%) ($menu%=title$ 2menu%!12=&00070207 <menu%!16=width% Fmenu%!20=44 Pmenu%!24=0 Z menu%+=28 d� n x%� �menuitem(text$,last%,submenu%) �#� last% menu%!0=&80 � menu%!0=0 �menu%!4=submenu% �� � text$<12 � � menu%!8=&07000031 � �put0(menu%+12,text$) �� � menu%!8=&07000131 � menu%!12=indmenu% � menu%!16=-1 � menu%!20=�(text$)+1 � $indmenu%=text$ � indmenu%+=�(text$)+1 �� menu%+=24 � "� �setmenutext(m%,p%,text$) ,�put0(m%+28+p%*24+12,text$) 6� @ J� �menushade(m%,p%) Tm%=m%+28+p%*24+8 ^!m%=!m% � 1<<22 h� r |� �menuunshade(m%,p%) �m%=m%+28+p%*24+8 �!m%=!m% � &FFBFFFFF �� � �� �menuwrite(ind$,� o%) �loc%=menu%+24 ��put0(menu%+24,�8,�0)) ��put0(menu%+36,ind$) �menu%!0=&84 � menu%!4=0 �menu%!8=&07000131 �menu%!12=loc% �menu%!16=loc%+12 menu%!20=9 menu%+=44 o%=loc% &� 0 :� �putlineafter(m%,p%) Dm%=m%+28+p%*24 N!m%=!m% � 2 X� b l� �buildmenus vdraggingmenu%=menu% ��menuhead("Dragging",208) ��menuitem("Sprites",�,0) �!�menuitem("Bounding Box",�,0) � �iconbarmenu%=menu% ��menuhead("ProcFunc",144) ��menuitem("Info",�,info%) �)�menuitem("Dragging",�,draggingmenu%) ��menuitem("Quit",�,0) �1� � dragasprite% � �menushade(iconbarmenu%,1) ��settick(draggingmenu%,0) �dragsprites%=� � mainmenu%=menu% �menuhead("ProcFunc",160) �menuitem("Info",�,info%) �menuitem("Search...",�,0) * 4savemenu%=menu% >�menuhead("Save as",128) H%�menuitem("Basic",�,saveasbasic%) R#�menuitem("Text",�,saveastext%) \� f p� �seticontext(w%,i%,text$) zq%!0=w%:q%!4=i% �ș "Wimp_GetIconState",,q% �p%=q%!28 � $p%=text$ �q%!8=0:q%!12=0 �ș "Wimp_SetIconState",,q% �� � �� �seticonnumber(w%,i%,n) ��seticontext(w%,i%,�(n)) �� � �� �geticonnumber(w%,i%) �=��geticontext(w%,i%) � �geticontext(w%,i%) q%!0=w%:q%!4=i% $ș "Wimp_GetIconState",,q% .=�string0(q%!28) 8 B� �selecticon(w%,i%) Lq%!0=w%:q%!4=i% Vș "Wimp_GetIconState",,q% `q%!8=1<<21:q%!12=1<<21 jș "Wimp_SetIconState",,q% t� ~ �� �deselecticon(w%,i%) �q%!0=w%:q%!4=i% �ș "Wimp_GetIconState",,q% �q%!8=0:q%!12=1<<21 �ș "Wimp_SetIconState",,q% �� � �� �shadeicon(w%,i%) �q%!0=w%:q%!4=i% �ș "Wimp_GetIconState",,q% �q%!8=1<<22:q%!12=1<<22 �ș "Wimp_SetIconState",,q% � � �unshadeicon(w%,i%) q%!0=w%:q%!4=i% (ș "Wimp_GetIconState",,q% 2q%!8=0:q%!12=1<<22 <ș "Wimp_SetIconState",,q% F� P Z� �settick(m%,l%) dm%=m%+28+l%*24 n!m%=!m% � 1 x� � �� �untick(m%,l%) �m%=m%+28+l%*24 �!m%=!m% � &FFFFFFFE �� � �� �shadeicons(w%,icon$) �� � comma%=�icon$,",") � � comma%>0 � � v%=�(�icon$,comma%-1)) � icon$=�icon$,comma%+1) � �shadeicon(w%,v%) � � comma%=0 v%=�(icon$) "�shadeicon(w%,v%) ,� 6 @� �unshadeicons(w%,icon$) J� T comma%=�icon$,",") ^ � comma%>0 � h v%=�(�icon$,comma%-1)) r icon$=�icon$,comma%+1) | �unshadeicon(w%,v%) � � �� comma%=0 �v%=�(icon$) ��unshadeicon(w%,v%) �� � �� �selecticons(w%,icon$) �� � comma%=�icon$,",") � � comma%>0 � � v%=�(�icon$,comma%-1)) � icon$=�icon$,comma%+1) � �selecticon(w%,v%) � � comma%=0 v%=�(icon$) &�selecticon(w%,v%) 0� : D� �deselecticons(w%,icon$) N� X comma%=�icon$,",") b � comma%>0 � l v%=�(�icon$,comma%-1)) v icon$=�icon$,comma%+1) � �deselecticon(w%,v%) � � �� comma%=0 �v%=�(icon$) ��deselecticon(w%,v%) �� � �� �puticoncaret(w%,i%) �%*|SYS "Wimp_GetCaretPosition",,q% �!index%=�(�geticontext(w%,i%)) �0ș "Wimp_SetCaretPosition",w%,i%,,,-1,index% �processed%=� �� )� �setextent(w%,x0%,y0%,x1%,y1%,min%) � y0%>min% y0%=min% (q%!0=x0%:q%!4=y0%:q%!8=x1%:q%!12=y1% *ș "Wimp_SetExtent",w%,q% 4q%!0=w% > ș "Wimp_GetWindowState",,q% Hq%!24=0 Rș "Wimp_OpenWindow",,q% \� f p"� �dragsavebox(w%,i%,name$,a%) z5� icx0%,icx1%,icy0%,icy1%,scx0%,scx1%,scy0%,scy1% �%�iconbox(icx0%,icx1%,icy0%,icy1%) �'�screenbox(scx0%,scx1%,scy0%,scy1%) � q%!4=5 �2q%!8=icx0%:q%!12=icy0%:q%!16=icx1%:q%!20=icy1% �3q%!24=scx0%:q%!28=scy0%:q%!32=scx1%:q%!36=scy1% �'� � dragasprite% � � dragsprites% � � ș "Wimp_DragBox",,q% �� �3 ș "DragASprite_Start",197,a%,name$,q%+8,q%+24 �� �� � �'� �iconbox(� x0%,� x1%,� y0%,� y1%) =� iconx0%,iconx1%,icony0%,icony1%,xvis%,yvis%,xofs%,yofs% q%!0=w% q%!4=i% $ș "Wimp_GetIconState",,q% .iconx0%=q%!8 8icony0%=q%!12 Biconx1%=q%!16 Licony1%=q%!20 V ș "Wimp_GetWindowState",,q% `xvis%=q%!4 jyvis%=q%!16 txofs%=q%!20 ~yofs%=q%!24 �x0%=xvis%+iconx0%-xofs% �y0%=yvis%+icony0%-yofs% �x1%=xvis%+iconx1%-xofs% �y1%=yvis%+icony1%-yofs% �� � �)� �screenbox(� x0%,� x1%,� y0%,� y1%) �� cx%,cy%,xpixs%,ypixs% �)ș "OS_ReadModeVariable",-1,4 � ,,cx% �)ș "OS_ReadModeVariable",-1,5 � ,,cy% �-ș "OS_ReadModeVariable",-1,11 � ,,xpixs% �-ș "OS_ReadModeVariable",-1,12 � ,,ypixs% x0%=0 y0%=0 x1%=(xpixs%+1)*(1<<cx%) y1%=(ypixs%+1)*(1<<cy%) (� 2 <)� �saverequest(leafname$,type%,size%) F!� destx%,desty%,dswin%,dicon% P ș "Wimp_GetPointerInfo",,q% Zdestx%=q%!0 ddesty%=q%!4 ndswin%=q%!12 xdicon%=q%!20 �q%!0=64 �q%!12=0 �q%!16=1 �q%!20=dswin% �q%!24=dicon% �q%!28=destx% �q%!32=desty% �q%!36=size% �q%!40=type% �&�putstring(q%+44,�leaf(leafname$)) �&ș "Wimp_SendMessage",18,q%,dswin% �� � � �putstring(p%,t$) � i%=1 � � t$ ?(p%+i%-1)=�(�t$,i%,1)) "� ,?(p%+�t$)=0 6� @ J� �leaf(leaf$) Tȕ �leaf$,".")>0 ^ leaf$=�leaf$,�leaf$,".")+1) h� r=�leaf$,10) | �� �dataload �filetype%=q%!40 �filename$=�string0(q%+44) �0�loaddata(filename$,filetype%,window%,icon%) � q%!0=len% �q%!12=yourref% �q%!16=4 �'ș "Wimp_SendMessage",17,q%,sender% �� � �� �datasaveack �fullname$=�string0(q%+44) �size%=q%!36 �savedata(fullname$,size%) q%!0=len% q%!12=yourref% &q%!16=3 0'ș "Wimp_SendMessage",18,q%,sender% :� D N2� �loaddata(filename$,filetype%,window%,icon%) X� filetype%=&D96 � b\ �message("This file has been compressed. Please re-load from the relevant CFS window.") l� v � filetype%<>&FFB � �J �message("I cannot load a file of this type - only BASIC programs.") � � �# � icon%=ic% � window%=main% � � �loadbasic(filename$) � � �d �message("Please drop the file either onto the main window or onto the icon on the iconbar.") � � � � �� �� � �� �loadbasic(filename$) �file%=�(filename$) !b1%=�#file% !�#file%:f%=0 !� b1%=13 � ! ș "Hourglass_On" !* � code% !4 � basic%<>0 � !> ș "OS_Module",7,,basic% !H basic%=0 !R � !\ � i%=0 � noproc% !f# �seticontext(procpane%,i%,"") !p �shadeicon(procpane%,i%) !z � !� � i%=0 � nofunc% !�# �seticontext(funcpane%,i%,"") !� �shadeicon(funcpane%,i%) !� � !� noproc%=0:nofunc%=0 !�+ ș "OS_File",5,filename$ � ,,,,length% !�} � length%>160*1024 � �message("This file is too large - I can only cope with files of less than 160K in length. Sorry.") !�, ș "OS_File",255,filename$,basicload%,0 !�$ �seticontext(main%,1,filename$) !� �openmaintop !� �findprocfn !�� !�u �message("This file does not start with a return code which BASIC programs should start with. Loading aborted.") "� "ș "Hourglass_Smash" "� "$ ". � �savedata(fullname$,size%) "8� basicdrag% � "B+ �seticontext(saveasbasic%,0,fullname$) "L$ �savebasicfile(fullname$,size%) "V� "`basicdrag%=� "j� textdrag% � "t* �seticontext(saveastext%,0,fullname$) "~# �savetextfile(fullname$,size%) "�� "�textdrag%=� "�ș "Wimp_CreateMenu",,-1 "�� "� "�� �findprocfn "�p%=basicload% "�"endoffile%=(?p%=13 � p%?1=&FF) "�ș "Hourglass_On" "�ȕ � endoffile% "�( perc%=((p%-basicload%)/length%)*100 "�= � perc%>=0 � perc%<100 � ș "Hourglass_Percentage",perc% # op%=p%+p%?3 # �checkprocfn(p%) # p%=op% ## endoffile%=(?p%=13 � p%?1=&FF) #(� #2ș "Hourglass_Smash" #<� #F #P� �checkprocfn(pos%) #Zline$=$(pos%+4) #d� �line$,�&DD) � #n" � �line$,�&A4,�line$,�&DD)) � #x- �getfnname(�line$,�line$,�&A4)+1),pos%) #� � #�# � �line$,�&F2,�line$,�&DD)) � #�0 �getprocname(�line$,�line$,�&F2)+1),pos%) #� � #� � #�� #�� #� #�� �getfnname(name$,pos%) #�� nofunc%<200 � name$<>"" � #�. � �name$,"(") � name$=�name$,�name$,"(")) #�0 � �name$,":") � name$=�name$,�name$,":")-1) #�0 � �name$," ") � name$=�name$,�name$," ")-1) $! � �name$,1)="(" � name$+=")" $ name$=�name$,31) $* �seticontext(funcpane%,nofunc%,name$) $"$ �unshadeicon(funcpane%,nofunc%) $,8 �setextent(funcpane%,0,-(nofunc%*48+48),516,0,-412) $6 func$(nofunc%)=name$ $@ func%(nofunc%)=pos% $J nofunc%+=1 $T� $^P �message("I have reached my limit of 200 functions in this BASIC program.") $h� $r� $| $�� �getprocname(name$,pos%) $�� noproc%<200 � name$<>"" � $�. � �name$,"(") � name$=�name$,�name$,"(")) $�0 � �name$,":") � name$=�name$,�name$,":")-1) $�0 � �name$," ") � name$=�name$,�name$," ")-1) $�! � �name$,1)="(" � name$+=")" $� name$=�name$,31) $�* �seticontext(procpane%,noproc%,name$) $�$ �unshadeicon(procpane%,noproc%) $�8 �setextent(procpane%,0,-(noproc%*48+48),516,0,-412) $� proc$(noproc%)=name$ $� proc%(noproc%)=pos% $� noproc%+=1 %� %Q �message("I have reached my limit of 200 procedures in this BASIC program.") %� %&� %0 %:� �upper(t$) %D� a$,i% %N a$="" %X� i%=1 � �t$ %b0 � �(�t$,i%,1))>=�"a" � �(�t$,i%,1))<=�"z" � %l a$=a$+�(�(�t$,i%,1))-32) %v � %� a$=a$+�t$,i%,1) %� � %�� %�=a$ %� %� � �search %�#search$=�geticontext(search%,1) %�� search$="" � %�) �message("No search string set up.") %�� %�: � �search$,"(")>0 � search$=�search$,�search$,"(")-1) %� found%=0 %� search$=�upper(search$) & Ȏ procfunc% � & � 1 : & � i%=0 � noproc% & � proc$(i%)>"" � &* proc$=proc$(i%) &4 proc$=�upper(proc$) &>6 � �proc$,"(")>0 � proc$=�proc$,�proc$,"(")-1) &H Ȏ contains% � &R# � 1 : � �proc$,search$) � &\, found$(found%)=proc$(i%) &f& found%(found%)=256 &p found%+=1 &z � &�. � 2 : � �proc$,�(search$))=search$ � &�, found$(found%)=proc$(i%) &�& found%(found%)=256 &� found%+=1 &� � &�. � 3 : � �proc$,�(search$))=search$ � &�, found$(found%)=proc$(i%) &�& found%(found%)=256 &� found%+=1 &� � &�! � 4 : � proc$=search$ � &�, found$(found%)=proc$(i%) &�& found%(found%)=256 ' found%+=1 ' � ' � '$ � '. � '8 � 2 : 'B � i%=0 � nofunc% 'L � func$(i%)>"" � 'V func$=func$(i%) '` func$=�upper(func$) 'j6 � �func$,"(")>0 � func$=�func$,�func$,"(")-1) 't Ȏ contains% � '~# � 1 : � �func$,search$) � '�, found$(found%)=func$(i%) '�& found%(found%)=512 '� found%+=1 '� � '�. � 2 : � �func$,�(search$))=search$ � '�, found$(found%)=func$(i%) '�& found%(found%)=512 '� found%+=1 '� � '�. � 3 : � �func$,�(search$))=search$ � '�, found$(found%)=func$(i%) '�& found%(found%)=512 ( found%+=1 ( � (! � 4 : � func$=search$ � (, found$(found%)=func$(i%) ((& found%(found%)=512 (2 found%+=1 (< � (F � (P � (Z � (d � 3 : (n � i%=0 � noproc% (x � proc$(i%)>"" � (� proc$=proc$(i%) (� proc$=�upper(proc$) (�6 � �proc$,"(")>0 � proc$=�proc$,�proc$,"(")-1) (� Ȏ contains% � (�# � 1 : � �proc$,search$) � (�, found$(found%)=proc$(i%) (�& found%(found%)=256 (� found%+=1 (� � (�. � 2 : � �proc$,�(search$))=search$ � (�, found$(found%)=proc$(i%) (�& found%(found%)=256 (� found%+=1 ) � ). � 3 : � �proc$,�(search$))=search$ � ), found$(found%)=proc$(i%) )"& found%(found%)=256 ), found%+=1 )6 � )@! � 4 : � proc$=search$ � )J, found$(found%)=proc$(i%) )T& found%(found%)=256 )^ found%+=1 )h � )r � )| � )� � )� � i%=0 � nofunc% )� � func$(i%)>"" � )� func$=func$(i%) )� func$=�upper(func$) )�6 � �func$,"(")>0 � func$=�func$,�func$,"(")-1) )� Ȏ contains% � )�# � 1 : � �func$,search$) � )�, found$(found%)=func$(i%) )�& found%(found%)=512 )� found%+=1 )� � )�. � 2 : � �func$,�(search$))=search$ � *, found$(found%)=func$(i%) *& found%(found%)=512 * found%+=1 *& � *0. � 3 : � �func$,�(search$))=search$ � *:, found$(found%)=func$(i%) *D& found%(found%)=512 *N found%+=1 *X � *b! � 4 : � func$=search$ � *l, found$(found%)=func$(i%) *v& found%(found%)=512 *� found%+=1 *� � *� � *� � *� � *� � *�� *�� search$>"" � *� � found%=1 � *�6 �seticontext(search%,13,"Found : 1 occurrence.") *� � *�A �seticontext(search%,13,"Found : "+�found%+" occurrences.") *� � +� +� + + � �showresults +*� found%=0 � +4S �message("No procedures or functions found that matched the search criteria.") +>� +H �unshadeicons(show%,"2,3") +R$ �seticontext(show%,1,found$(0)) +\ � found%(0)=256 � +f# �seticontext(show%,0," PROC") +p � +z# �seticontext(show%,0," FN") +� � +� min%=0:max%=found%-1 +� showprocfunc%=0 +� �opentop(show%) +�� +�� +� +�%� �savebasicfile(fullname$,size%) +�5ș "OS_File",10,fullname$,&FFB,,savefrom%,saveto% +�f%=� fullname$ +� �#f%=�#f% +��#f%,13 +��#f%,255 ,�#f% ,� , ,$$� �savetextfile(fullname$,size%) ,.type$=�geticontext(show%,0) ,8name$=�geticontext(show%,1) ,B,� �type$,"PR") � file$="PR" � file$="FN" ,L� file$="PR" � ,V �getprocdetails ,`� ,j �getfuncdetails ,t� ,~1length1%=((1.5*(saveto%-savefrom%)) � 4 +1)*4 ,�)ș "OS_Module",6,,,length1% � ,,text% ,�� text%>0 � ,�4 � saveto%>=basicload%+length% � ?saveto%<>255 � ,� � ,� saveto%-=1 ,�# � ?saveto%=13 � saveto%?1=255 ,� � ,� start%=text% ,�, �decodebasic(savefrom%,saveto%,text%,�) ,�1 ș "OS_File",10,fullname$,&FFF,,start%,text% ,� ș "OS_Module",7,,start% ,�� - ș "Hourglass_Smash" - � - -� �showlisting -(type$=�geticontext(show%,0) -2name$=�geticontext(show%,1) -<,� �type$,"PR") � file$="PR" � file$="FN" -F� file$="PR" � -P �getprocdetails -Z� -d �getfuncdetails -n� -x1length1%=((1.5*(saveto%-savefrom%)) � 4 +1)*4 -�,ș "OS_Module",6,,,length1% � ,,detoken% -�*ș "OS_Module",6,,,length1% � ,,basic% -�� basic%>0 � detoken%>0 � -�4 � saveto%>=basicload%+length% � ?saveto%<>255 � -� � -� saveto%-=1 -�# � ?saveto%=13 � saveto%?1=255 -� � -�/ �decodebasic(savefrom%,saveto%,detoken%,�) -�� -�� -� -�� �redrawlisting .&ș "Wimp_RedrawWindow",,q% � more% .originx%=q%!4-q%!20 .originy%=q%!16-q%!24 ."ȕ more% ., �showredraw .6' ș "Wimp_GetRectangle",,q% � more% .@� .J� .T .^� �puttext(t$) .h� i%=1 � �t$ .r ?save%=�(�t$,i%,1)) .| save%+=1 .�� .�� .� .�� �getbyte .�byte%=?pos% .�pos%+=1 .� =byte% .� .�2� �decodebasic(start%,end%,� save%,basicshow%) .�ș "Hourglass_On" .�pos%=start%+1 .�ȕ pos%<=end%-1 .�@ ș "Hourglass_Percentage",((pos%-start%)/(end%-start%))*100 / b%=�getbyte / b%=�getbyte / b%=�getbyte /& � /0 b%=�getbyte /: � b%<127 � /D � b%=13 � /N � � basicshow% � /X �puttext(�10) /b � /l �puttext(�(b%)) /v � /� � /� �puttext(�(b%)) /� � /� � /� Ȏ b% � /�% � &7F : �puttext("OTHERWISE") /� � &80 : �puttext("AND") /� � &81 : �puttext("DIV") /� � &82 : �puttext("EOR") /� � &83 : �puttext("MOD") /� � &84 : �puttext("OR") /�! � &85 : �puttext("ERROR") /� � &86 : �puttext("LINE") 0 � &87 : �puttext("OFF") 0 � &88 : �puttext("STEP") 0 � &89 : �puttext("SPC") 0 � &8A : �puttext("TAB(") 0* � &8B : �puttext("ELSE") 04 � &8C : �puttext("THEN") 0> � &8D : �numberdecipher 0H" � &8E : �puttext("OPENIN") 0R � &8F : �puttext("PTR") 0\ � &90 : �puttext("PAGE") 0f � &91 : �puttext("TIME") 0p! � &92 : �puttext("LOMEM") 0z! � &93 : �puttext("HIMEM") 0� � &94 : �puttext("ABS") 0� � &95 : �puttext("ACS") 0�! � &96 : �puttext("ADVAL") 0� � &97 : �puttext("ASC") 0� � &98 : �puttext("ASN") 0� � &99 : �puttext("AUTO") 0� � &9A : �puttext("BGET") 0� � &9B : �puttext("COS") 0�! � &9C : �puttext("COUNT") 0� � &9D : �puttext("DEG") 0� � &9E : �puttext("ERL") 0� � &9F : �puttext("ERR") 0� � &A0 : �puttext("EVAL") 1 � &A1 : �puttext("EXP") 1 � &A2 : �puttext("EXT") 1! � &A3 : �puttext("FALSE") 1$ � &A4 : �puttext("FN") 1. � &A5 : �puttext("GET") 18! � &A6 : �puttext("INKEY") 1B" � &A7 : �puttext("INSTR(") 1L � &A8 : �puttext("INT") 1V � &A9 : �puttext("LEN") 1` � &AA : �puttext("LN") 1j � &AB : �puttext("LOG") 1t � &AC : �puttext("NOT") 1~" � &AD : �puttext("OPENUP") 1�# � &AE : �puttext("OPENOUT") 1� � &AF : �puttext("PI") 1�" � &B0 : �puttext("POINT(") 1� � &B1 : �puttext("POS") 1� � &B2 : �puttext("RAD") 1� � &B3 : �puttext("RND") 1� � &B4 : �puttext("SGN") 1� � &B5 : �puttext("SIN") 1� � &B6 : �puttext("SQR") 1� � &B7 : �puttext("TAN") 1� � &B8 : �puttext("TO") 1� � &B9 : �puttext("TRUE") 2 � &BA : �puttext("USR") 2 � &BB : �puttext("VAL") 2 � &BC : �puttext("VPOS") 2 � &BD : �puttext("CHR$") 2( � &BE : �puttext("GET$") 22" � &BF : �puttext("INKEY$") 2<" � &C0 : �puttext("LEFT$(") 2F! � &C1 : �puttext("MID$(") 2P# � &C2 : �puttext("RIGHT$(") 2Z � &C3 : �puttext("STR$") 2d$ � &C4 : �puttext("STRING$(") 2n � &C5 : �puttext("EOF") 2x � &C6 : c%=�getbyte 2� Ȏ c% � 2�. � &8E : �puttext("SUMLEN") 2�, � &8F : �puttext("BEAT") 2� � 2� � &C7 : c%=�getbyte 2� Ȏ c% � 2�. � &8E : �puttext("APPEND") 2�, � &8F : �puttext("AUTO") 2�. � &90 : �puttext("DELETE") 2�, � &91 : �puttext("EDIT") 2�, � &92 : �puttext("HELP") 2�, � &93 : �puttext("LIST") 2�, � &94 : �puttext("LOAD") 3, � &95 : �puttext("LVAR") 3+ � &96 : �puttext("NEW") 3+ � &97 : �puttext("OLD") 3"0 � &98 : �puttext("RENUMBER") 3,, � &99 : �puttext("SAVE") 36, � &9A : �puttext("TWIN") 3@- � &9B : �puttext("TWINO") 3J � 3T � &C8 : c%=�getbyte 3^ Ȏ c% � 3h, � &8E : �puttext("CASE") 3r. � &8F : �puttext("CIRCLE") 3|, � &90 : �puttext("FILL") 3�. � &91 : �puttext("ORIGIN") 3�- � &92 : �puttext("POINT") 3�1 � &93 : �puttext("RECTANGLE") 3�, � &94 : �puttext("SWAP") 3�- � &95 : �puttext("WHILE") 3�, � &96 : �puttext("WAIT") 3�- � &97 : �puttext("MOUSE") 3�, � &98 : �puttext("QUIT") 3�+ � &99 : �puttext("SYS") 3�/ � &9A : �puttext("INSTALL") 3�/ � &9B : �puttext("LIBRARY") 3�/ � &9D : �puttext("ELLIPSE") 3�, � &9C : �puttext("TINT") 4- � &9E : �puttext("BEATS") 4- � &9F : �puttext("TEMPO") 4. � &A0 : �puttext("VOICES") 4&- � &A1 : �puttext("VOICE") 40. � &A2 : �puttext("STEREO") 4:/ � &A3 : �puttext("OVERLAY") 4D � 4N � &C9 : �puttext("WHEN") 4X � &CA : �puttext("OF") 4b# � &CB : �puttext("ENDCASE") 4l � &CC : �puttext("ELSE") 4v! � &CD : �puttext("ENDIF") 4�$ � &CE : �puttext("ENDWHILE") 4� � &CF : �puttext("PTR") 4� � &D0 : �puttext("PAGE") 4� � &D1 : �puttext("TIME") 4�! � &D2 : �puttext("LOMEM") 4�! � &D3 : �puttext("HIMEM") 4�! � &D4 : �puttext("SOUND") 4� � &D5 : �puttext("BPUT") 4� � &D6 : �puttext("CALL") 4�! � &D7 : �puttext("CHAIN") 4�! � &D8 : �puttext("CLEAR") 4�! � &D9 : �puttext("CLOSE") 4� � &DA : �puttext("CLG") 5 � &DB : �puttext("CLS") 5 � &DC : �puttext("DATA") 5 � &DD : �puttext("DEF") 5 � &DE : �puttext("DIM") 5* � &DF : �puttext("DRAW") 54 � &E0 : �puttext("END") 5># � &E1 : �puttext("ENDPROC") 5H# � &E2 : �puttext("RIGHT$(") 5R � &E3 : �puttext("FOR") 5\! � &E4 : �puttext("GOSUB") 5f � &E5 : �puttext("GOTO") 5p � &E6 : �puttext("GCOL") 5z � &E7 : �puttext("IF") 5�! � &E8 : �puttext("INPUT") 5� � &E9 : �puttext("LET") 5�! � &EA : �puttext("LOCAL") 5� � &EB : �puttext("MODE") 5� � &EC : �puttext("MOVE") 5� � &ED : �puttext("NEXT") 5� � &EE : �puttext("ON") 5� � &EF : �puttext("VDU") 5� � &F0 : �puttext("PLOT") 5�! � &F1 : �puttext("PRINT") 5� � &F2 : �puttext("PROC") 5� � &F3 : �puttext("READ") 5� � &F4 : �puttext("REM") 6" � &F5 : �puttext("REPEAT") 6" � &F6 : �puttext("REPORT") 6# � &F7 : �puttext("RESTORE") 6$" � &F8 : �puttext("RETURN") 6. � &F9 : �puttext("RUN") 68 � &FA : �puttext("STOP") 6B" � &FB : �puttext("COLOUR") 6L! � &FC : �puttext("TRACE") 6V! � &FD : �puttext("UNTIL") 6`! � &FE : �puttext("WIDTH") 6j! � &FF : �puttext("OSCLI") 6t � 6~ � 6� � b%=13 6�� 6� � basicshow% � �puttext(�13) 6�� basicshow% � 6�# p%=basic%:o%=detoken%:lines%=0 6� � 6�< ș "Hourglass_Percentage",((o%-detoken%)/length1%)*100 6� a$="" 6� � 6� c$=�?o% 6� a$+=c$ 6� o%+=1 7 � �(a$)>=76 � c$=�13 7 � �(a$)>=76 � a$+=�13 7 $p%=a$ 7 p%+=�a$ 7( lines%+=1 72 � o%=save% 7< ș "Hourglass_Smash" 7F �opentop(listing%) 7P4 �setextent(listing%,0,-(32*lines%)-16,1236,0,0) 7Z ș "OS_Module",7,,detoken% 7d detoken%=0 7n� 7x� 7� 7�� �numberdecipher 7�byte1%=�getbyte 7�byte2%=�getbyte 7�byte3%=�getbyte 7�Wlineno%=(byte1% � 48 � 16)*4+(byte1% � 15 � 4)*4096+(byte2% � 63)+(byte3% � 63)*256 7��puttext(�lineno%) 7�� 7� 7�� �showredraw 7� p%=basic% 7�� i%=1 � lines% 7�$ � originx%+16,originy%-i%*32+12 8 line$=$p% 8 p%=p%+�(line$)+1 8 �line$ 8"� 8,� 86 8@� �code 8J sp=13 8Tlink=14 8^ pc=15 8h� pass=0 � 2 � 2 8rP%=code% 8| [OPT pass 8�stmfd (sp)!,{link} 8�adr r0,blanktable 8�ldmia r0,{r3-r10} 8�ldr r1,basload 8�mov r2,#0 8� .loop 8�stmia r1!,{r3-r10} 8�add r2,r2,#1 8�cmp r2,#&A00 8�bne loop 8�ldmfd (sp)!,{pc} 8�.basload 8�dcd basicload% 9.blanktable 9 dcd 0 9 dcd 0 9& dcd 0 90 dcd 0 9: dcd 0 9D dcd 0 9N dcd 0 9X dcd 0 9b] 9l� 9v� �
00000000 0d 00 0a 11 f4 20 3e 20 21 52 75 6e 49 6d 61 67 |..... > !RunImag| 00000010 65 0d 00 14 04 0d 00 1e 21 2a 7c 20 2a 2a 2a 20 |e.......!*| *** | 00000020 49 6e 69 74 69 61 6c 69 73 65 20 74 61 73 6b 20 |Initialise task | 00000030 2a 2a 2a 20 2a 7c 0d 00 28 04 0d 00 32 42 c8 99 |*** *|..(...2B..| 00000040 20 22 57 69 6d 70 5f 49 6e 69 74 69 61 6c 69 73 | "Wimp_Initialis| 00000050 65 22 2c 32 30 30 2c 26 34 42 35 33 34 31 35 34 |e",200,&4B534154| 00000060 2c 22 50 72 6f 63 46 75 6e 63 22 20 b8 20 76 65 |,"ProcFunc" . ve| 00000070 72 73 69 6f 6e 25 2c 74 61 73 6b 25 0d 00 3c 23 |rsion%,task%..<#| 00000080 c8 99 20 22 49 6e 74 65 72 66 61 63 65 5f 49 6e |.. "Interface_In| 00000090 69 74 69 61 6c 69 73 65 22 2c 74 61 73 6b 25 0d |itialise",task%.| 000000a0 00 46 04 0d 00 50 29 2a 7c 20 2a 2a 2a 20 44 69 |.F...P)*| *** Di| 000000b0 6d 65 6e 73 69 6f 6e 20 41 72 72 61 79 73 20 6e |mension Arrays n| 000000c0 65 65 64 65 64 20 2a 2a 2a 20 2a 7c 0d 00 5a 04 |eeded *** *|..Z.| 000000d0 0d 00 64 40 de 20 71 25 20 32 35 36 2c 73 70 72 |..d@. q% 256,spr| 000000e0 69 74 65 73 25 20 32 30 30 30 30 2c 69 6e 64 69 |ites% 20000,indi| 000000f0 72 25 20 32 35 30 30 30 2c 74 65 6d 70 25 20 33 |r% 25000,temp% 3| 00000100 30 30 30 30 2c 6e 61 6d 65 62 75 66 25 20 34 30 |0000,namebuf% 40| 00000110 0d 00 6e 46 de 20 6d 65 6e 75 25 20 32 30 30 30 |..nF. menu% 2000| 00000120 2c 69 6e 64 6d 65 6e 75 25 20 32 30 30 30 2c 6d |,indmenu% 2000,m| 00000130 6f 75 73 65 25 20 32 34 2c 62 61 73 69 63 6c 6f |ouse% 24,basiclo| 00000140 61 64 25 20 31 36 30 2a 31 30 32 34 2c 63 6f 64 |ad% 160*1024,cod| 00000150 65 25 20 32 35 36 0d 00 78 49 de 20 70 72 6f 63 |e% 256..xI. proc| 00000160 24 28 32 30 30 29 2c 66 75 6e 63 24 28 32 30 30 |$(200),func$(200| 00000170 29 2c 70 72 6f 63 25 28 32 30 30 29 2c 66 75 6e |),proc%(200),fun| 00000180 63 25 28 32 30 30 29 2c 66 6f 75 6e 64 24 28 34 |c%(200),found$(4| 00000190 30 30 29 2c 66 6f 75 6e 64 25 28 34 30 30 29 0d |00),found%(400).| 000001a0 00 82 04 0d 00 8c 15 c8 99 20 22 48 6f 75 72 67 |......... "Hourg| 000001b0 6c 61 73 73 5f 4f 6e 22 0d 00 96 30 c8 99 20 22 |lass_On"...0.. "| 000001c0 4f 53 5f 53 57 49 4e 75 6d 62 65 72 54 6f 53 74 |OS_SWINumberToSt| 000001d0 72 69 6e 67 22 2c 26 34 32 34 30 30 2c 6e 61 6d |ring",&42400,nam| 000001e0 65 62 75 66 25 2c 34 30 0d 00 a0 1f 73 77 69 6e |ebuf%,40....swin| 000001f0 61 6d 65 24 3d a4 73 74 72 69 6e 67 30 28 6e 61 |ame$=.string0(na| 00000200 6d 65 62 75 66 25 29 0d 00 aa 2f 64 72 61 67 61 |mebuf%).../draga| 00000210 73 70 72 69 74 65 25 3d 28 73 77 69 6e 61 6d 65 |sprite%=(swiname| 00000220 24 3d 22 44 72 61 67 41 53 70 72 69 74 65 5f 53 |$="DragASprite_S| 00000230 74 61 72 74 22 29 0d 00 b4 04 0d 00 be 15 ee 20 |tart")......... | 00000240 85 20 f2 70 72 65 70 6f 6c 6c 65 72 72 6f 72 0d |. .prepollerror.| 00000250 00 c8 04 0d 00 d2 29 2a 7c 20 2a 2a 2a 20 49 6e |......)*| *** In| 00000260 73 74 61 6c 6c 20 69 63 6f 6e 20 6f 6e 20 69 63 |stall icon on ic| 00000270 6f 6e 62 61 72 20 2a 2a 2a 20 2a 7c 0d 00 dc 04 |onbar *** *|....| 00000280 0d 00 e6 37 69 63 25 3d a4 69 63 6f 6e 62 61 72 |...7ic%=.iconbar| 00000290 28 22 21 70 72 6f 63 66 75 6e 63 22 2c 22 3c 50 |("!procfunc","<P| 000002a0 72 6f 63 46 75 6e 63 24 44 69 72 3e 2e 21 53 70 |rocFunc$Dir>.!Sp| 000002b0 72 69 74 65 73 22 29 0d 00 f0 04 0d 00 fa 39 2a |rites").......9*| 000002c0 7c 20 2a 2a 2a 20 49 6e 69 74 69 61 6c 69 73 65 || *** Initialise| 000002d0 20 73 70 72 69 74 65 20 61 72 65 61 20 61 6e 64 | sprite area and| 000002e0 20 6c 6f 61 64 20 73 70 72 69 74 65 73 20 2a 2a | load sprites **| 000002f0 2a 20 2a 7c 0d 01 04 0c f2 73 70 72 69 74 65 73 |* *|.....sprites| 00000300 0d 01 0e 04 0d 01 18 26 2a 7c 20 2a 2a 2a 20 49 |.......&*| *** I| 00000310 6e 69 74 69 61 6c 69 73 65 20 74 65 6d 70 6c 61 |nitialise templa| 00000320 74 65 73 20 2a 2a 2a 20 2a 7c 0d 01 22 04 0d 01 |tes *** *|.."...| 00000330 2c 0e f2 74 65 6d 70 6c 61 74 65 73 0d 01 36 04 |,..templates..6.| 00000340 0d 01 40 29 2a 7c 20 2a 2a 2a 20 43 72 65 61 74 |..@)*| *** Creat| 00000350 65 20 74 68 65 20 6d 65 6e 75 73 20 6e 65 65 64 |e the menus need| 00000360 65 64 20 2a 2a 2a 20 2a 7c 0d 01 4a 04 0d 01 54 |ed *** *|..J...T| 00000370 0a f2 6d 65 6e 75 73 0d 01 5e 04 0d 01 68 33 2a |..menus..^...h3*| 00000380 7c 20 2a 2a 2a 20 53 65 74 20 75 70 20 6d 61 69 || *** Set up mai| 00000390 6e 20 76 61 72 69 61 62 6c 65 73 20 66 6f 72 20 |n variables for | 000003a0 70 72 6f 67 72 61 6d 20 2a 2a 2a 20 2a 7c 0d 01 |program *** *|..| 000003b0 72 04 0d 01 7c 38 71 75 69 74 25 3d a3 3a 62 61 |r...|8quit%=.:ba| 000003c0 73 69 63 64 72 61 67 25 3d a3 3a 74 65 78 74 64 |sicdrag%=.:textd| 000003d0 72 61 67 25 3d a3 3a 62 61 73 69 63 25 3d 30 3a |rag%=.:basic%=0:| 000003e0 64 65 74 6f 6b 65 6e 25 3d 30 0d 01 86 38 6e 6f |detoken%=0...8no| 000003f0 70 72 6f 63 25 3d 30 3a 6e 6f 66 75 6e 63 25 3d |proc%=0:nofunc%=| 00000400 30 3a 66 6f 75 6e 64 25 3d 30 3a 70 72 6f 63 66 |0:found%=0:procf| 00000410 75 6e 63 25 3d 33 3a 63 6f 6e 74 61 69 6e 73 25 |unc%=3:contains%| 00000420 3d 31 0d 01 90 10 e3 20 69 25 3d 30 20 b8 20 31 |=1..... i%=0 . 1| 00000430 39 39 0d 01 9a 1d 20 f2 73 68 61 64 65 69 63 6f |99.... .shadeico| 00000440 6e 28 70 72 6f 63 70 61 6e 65 25 2c 69 25 29 0d |n(procpane%,i%).| 00000450 01 a4 1d 20 f2 73 68 61 64 65 69 63 6f 6e 28 66 |... .shadeicon(f| 00000460 75 6e 63 70 61 6e 65 25 2c 69 25 29 0d 01 ae 05 |uncpane%,i%)....| 00000470 ed 0d 01 b8 35 f2 73 65 74 69 63 6f 6e 74 65 78 |....5.seticontex| 00000480 74 28 73 65 61 72 63 68 25 2c 31 33 2c 22 46 6f |t(search%,13,"Fo| 00000490 75 6e 64 20 3a 20 30 20 6f 63 63 75 72 72 65 6e |und : 0 occurren| 000004a0 63 65 73 2e 22 29 0d 01 c2 09 f2 63 6f 64 65 0d |ces.").....code.| 000004b0 01 cc 04 0d 01 d6 0e ee 20 85 20 f2 65 72 72 6f |........ . .erro| 000004c0 72 0d 01 e0 04 0d 01 ea 24 2a 7c 20 2a 2a 2a 20 |r.......$*| *** | 000004d0 45 6e 74 65 72 20 70 6f 6c 6c 69 6e 67 20 6c 6f |Enter polling lo| 000004e0 6f 70 20 2a 2a 2a 20 2a 7c 0d 01 f4 04 0d 01 fe |op *** *|.......| 000004f0 18 c8 99 20 22 48 6f 75 72 67 6c 61 73 73 5f 53 |... "Hourglass_S| 00000500 6d 61 73 68 22 0d 02 08 05 f5 0d 02 12 25 c8 99 |mash"........%..| 00000510 20 22 57 69 6d 70 5f 50 6f 6c 6c 22 2c 26 31 43 | "Wimp_Poll",&1C| 00000520 30 31 2c 71 25 20 b8 20 72 65 61 73 6f 6e 25 0d |01,q% . reason%.| 00000530 02 1c 26 c8 99 20 22 49 6e 74 65 72 66 61 63 65 |..&.. "Interface| 00000540 5f 50 6f 6c 6c 22 2c 72 65 61 73 6f 6e 25 2c 2c |_Poll",reason%,,| 00000550 74 61 73 6b 25 0d 02 26 10 c8 8e 20 72 65 61 73 |task%..&... reas| 00000560 6f 6e 25 20 ca 0d 02 30 1b 20 20 c9 20 31 20 20 |on% ...0. . 1 | 00000570 20 20 20 3a 20 f2 72 65 64 72 61 77 28 71 25 29 | : .redraw(q%)| 00000580 0d 02 3a 1f 20 20 c9 20 32 20 20 20 20 20 3a 20 |..:. . 2 : | 00000590 f2 6f 70 65 6e 77 69 6e 64 6f 77 28 71 25 29 0d |.openwindow(q%).| 000005a0 02 44 20 20 20 c9 20 33 20 20 20 20 20 3a 20 f2 |.D . 3 : .| 000005b0 63 6c 6f 73 65 77 69 6e 64 6f 77 28 71 25 29 0d |closewindow(q%).| 000005c0 02 4e 1a 20 20 c9 20 36 20 20 20 20 20 3a 20 f2 |.N. . 6 : .| 000005d0 6d 6f 75 73 65 28 71 25 29 0d 02 58 1c 20 20 c9 |mouse(q%)..X. .| 000005e0 20 37 20 20 20 20 20 3a 20 f2 64 72 61 67 67 65 | 7 : .dragge| 000005f0 64 28 71 25 29 0d 02 62 1d 20 20 c9 20 38 20 20 |d(q%)..b. . 8 | 00000600 20 20 20 3a 20 f2 6b 65 79 70 72 65 73 73 28 71 | : .keypress(q| 00000610 25 29 0d 02 6c 1f 20 20 c9 20 39 20 20 20 20 20 |%)..l. . 9 | 00000620 3a 20 f2 6d 65 6e 75 73 65 6c 65 63 74 28 71 25 |: .menuselect(q%| 00000630 29 0d 02 76 1d 20 20 c9 20 31 37 2c 31 38 20 3a |)..v. . 17,18 :| 00000640 20 f2 6d 65 73 73 61 67 65 73 28 71 25 29 0d 02 | .messages(q%)..| 00000650 80 05 cb 0d 02 8a 0b fd 20 71 75 69 74 25 0d 02 |........ quit%..| 00000660 94 29 e7 20 62 61 73 69 63 25 3e 30 20 8c 20 c8 |.). basic%>0 . .| 00000670 99 20 22 4f 53 5f 4d 6f 64 75 6c 65 22 2c 37 2c |. "OS_Module",7,| 00000680 2c 62 61 73 69 63 25 0d 02 9e 27 c8 99 20 22 57 |,basic%...'.. "W| 00000690 69 6d 70 5f 43 6c 6f 73 65 44 6f 77 6e 22 2c 74 |imp_CloseDown",t| 000006a0 61 73 6b 25 2c 26 34 42 35 33 34 31 35 34 0d 02 |ask%,&4B534154..| 000006b0 a8 22 c8 99 20 22 49 6e 74 65 72 66 61 63 65 5f |.".. "Interface_| 000006c0 43 6c 6f 73 65 44 6f 77 6e 22 2c 74 61 73 6b 25 |CloseDown",task%| 000006d0 0d 02 b2 05 e0 0d 02 bc 04 0d 02 c6 13 dd 20 f2 |.............. .| 000006e0 70 72 65 70 6f 6c 6c 65 72 72 6f 72 0d 02 d0 0a |prepollerror....| 000006f0 71 25 21 30 3d 9f 0d 02 da 15 24 28 71 25 2b 34 |q%!0=.....$(q%+4| 00000700 29 3d f6 24 2b 22 20 22 2b c3 9e 0d 02 e4 29 c8 |)=.$+" "+.....).| 00000710 99 20 22 57 69 6d 70 5f 52 65 70 6f 72 74 45 72 |. "Wimp_ReportEr| 00000720 72 6f 72 22 2c 71 25 2c 31 2c 22 41 72 63 47 72 |ror",q%,1,"ArcGr| 00000730 61 70 68 22 0d 02 ee 27 c8 99 20 22 57 69 6d 70 |aph"...'.. "Wimp| 00000740 5f 43 6c 6f 73 65 44 6f 77 6e 22 2c 26 34 42 35 |_CloseDown",&4B5| 00000750 33 34 31 35 34 2c 74 61 73 6b 25 0d 02 f8 22 c8 |34154,task%...".| 00000760 99 20 22 49 6e 74 65 72 66 61 63 65 5f 43 6c 6f |. "Interface_Clo| 00000770 73 65 44 6f 77 6e 22 2c 74 61 73 6b 25 0d 03 02 |seDown",task%...| 00000780 05 e0 0d 03 0c 05 e1 0d 03 16 04 0d 03 20 1d dd |............. ..| 00000790 20 a4 69 63 6f 6e 62 61 72 28 73 70 6e 61 6d 65 | .iconbar(spname| 000007a0 24 2c 66 69 6c 65 24 29 0d 03 2a 0f 66 25 3d 8e |$,file$)..*.f%=.| 000007b0 28 66 69 6c 65 24 29 0d 03 34 10 64 69 6d 25 3d |(file$)..4.dim%=| 000007c0 a2 23 66 25 2b 31 36 0d 03 3e 08 d9 23 66 25 0d |.#f%+16..>..#f%.| 000007d0 03 48 12 de 20 73 70 72 69 74 65 25 20 64 69 6d |.H.. sprite% dim| 000007e0 25 0d 03 52 12 73 70 72 69 74 65 25 21 30 3d 64 |%..R.sprite%!0=d| 000007f0 69 6d 25 0d 03 5c 0f 73 70 72 69 74 65 25 21 34 |im%..\.sprite%!4| 00000800 3d 30 0d 03 66 10 73 70 72 69 74 65 25 21 38 3d |=0..f.sprite%!8=| 00000810 31 36 0d 03 70 11 73 70 72 69 74 65 25 21 31 32 |16..p.sprite%!12| 00000820 3d 31 36 0d 03 7a 29 c8 99 20 22 4f 53 5f 53 70 |=16..z).. "OS_Sp| 00000830 72 69 74 65 4f 70 22 2c 32 35 36 2b 31 30 2c 73 |riteOp",256+10,s| 00000840 70 72 69 74 65 25 2c 66 69 6c 65 24 0d 03 84 0b |prite%,file$....| 00000850 71 25 21 30 3d 2d 31 0d 03 8e 0a 71 25 21 34 3d |q%!0=-1....q%!4=| 00000860 30 0d 03 98 0a 71 25 21 38 3d 30 0d 03 a2 0c 71 |0....q%!8=0....q| 00000870 25 21 31 32 3d 36 38 0d 03 ac 0c 71 25 21 31 36 |%!12=68....q%!16| 00000880 3d 36 38 0d 03 b6 0f 71 25 21 32 30 3d 26 32 31 |=68....q%!20=&21| 00000890 30 32 0d 03 c0 13 6c 65 6e 25 3d a9 73 70 6e 61 |02....len%=.spna| 000008a0 6d 65 24 2b 31 0d 03 ca 10 de 20 71 25 21 32 34 |me$+1..... q%!24| 000008b0 20 6c 65 6e 25 0d 03 d4 14 24 28 71 25 21 32 34 | len%....$(q%!24| 000008c0 29 3d 73 70 6e 61 6d 65 24 0d 03 de 11 71 25 21 |)=spname$....q%!| 000008d0 32 38 3d 73 70 72 69 74 65 25 0d 03 e8 0e 71 25 |28=sprite%....q%| 000008e0 21 33 32 3d 6c 65 6e 25 0d 03 f2 25 c8 99 20 22 |!32=len%...%.. "| 000008f0 57 69 6d 70 5f 43 72 65 61 74 65 49 63 6f 6e 22 |Wimp_CreateIcon"| 00000900 2c 2c 71 25 20 b8 20 69 63 6f 6e 62 25 0d 03 fc |,,q% . iconb%...| 00000910 0b 3d 69 63 6f 6e 62 25 0d 04 06 04 0d 04 10 0e |.=iconb%........| 00000920 dd 20 f2 73 70 72 69 74 65 73 0d 04 1a 14 73 70 |. .sprites....sp| 00000930 72 69 74 65 73 25 21 30 3d 32 30 30 30 30 0d 04 |rites%!0=20000..| 00000940 24 11 73 70 72 69 74 65 73 25 21 38 3d 31 36 0d |$.sprites%!8=16.| 00000950 04 2e 22 c8 99 20 22 4f 53 5f 53 70 72 69 74 65 |..".. "OS_Sprite| 00000960 4f 70 22 2c 26 31 30 39 2c 73 70 72 69 74 65 73 |Op",&109,sprites| 00000970 25 0d 04 38 45 c8 99 20 22 4f 53 5f 53 70 72 69 |%..8E.. "OS_Spri| 00000980 74 65 4f 70 22 2c 26 31 30 41 2c 73 70 72 69 74 |teOp",&10A,sprit| 00000990 65 73 25 2c 22 3c 50 72 6f 63 46 75 6e 63 24 44 |es%,"<ProcFunc$D| 000009a0 69 72 3e 2e 52 65 73 6f 75 72 63 65 73 2e 53 70 |ir>.Resources.Sp| 000009b0 72 69 74 65 73 22 0d 04 42 05 e1 0d 04 4c 04 0d |rites"..B....L..| 000009c0 04 56 10 dd 20 f2 74 65 6d 70 6c 61 74 65 73 0d |.V.. .templates.| 000009d0 04 60 40 c8 99 20 22 57 69 6d 70 5f 4f 70 65 6e |.`@.. "Wimp_Open| 000009e0 54 65 6d 70 6c 61 74 65 22 2c 2c 22 3c 50 72 6f |Template",,"<Pro| 000009f0 63 46 75 6e 63 24 44 69 72 3e 2e 52 65 73 6f 75 |cFunc$Dir>.Resou| 00000a00 72 63 65 73 2e 54 65 6d 70 6c 61 74 65 73 22 0d |rces.Templates".| 00000a10 04 6a 4f c8 99 20 22 57 69 6d 70 5f 4c 6f 61 64 |.jO.. "Wimp_Load| 00000a20 54 65 6d 70 6c 61 74 65 22 2c 2c 74 65 6d 70 25 |Template",,temp%| 00000a30 2c 69 6e 64 69 72 25 2c 69 6e 64 69 72 25 2b 32 |,indir%,indir%+2| 00000a40 34 39 39 39 2c 2d 31 2c 22 70 72 6f 67 69 6e 66 |4999,-1,"proginf| 00000a50 6f 22 2c 30 20 b8 20 2c 2c 6e 65 78 74 25 0d 04 |o",0 . ,,next%..| 00000a60 74 15 74 65 6d 70 25 21 36 34 3d 73 70 72 69 74 |t.temp%!64=sprit| 00000a70 65 73 25 0d 04 7e 29 c8 99 20 22 57 69 6d 70 5f |es%..~).. "Wimp_| 00000a80 43 72 65 61 74 65 57 69 6e 64 6f 77 22 2c 2c 74 |CreateWindow",,t| 00000a90 65 6d 70 25 20 b8 20 69 6e 66 6f 25 0d 04 88 51 |emp% . info%...Q| 00000aa0 c8 99 20 22 57 69 6d 70 5f 4c 6f 61 64 54 65 6d |.. "Wimp_LoadTem| 00000ab0 70 6c 61 74 65 22 2c 2c 74 65 6d 70 25 2c 6e 65 |plate",,temp%,ne| 00000ac0 78 74 25 2c 69 6e 64 69 72 25 2b 32 34 39 39 39 |xt%,indir%+24999| 00000ad0 2c 2d 31 2c 22 73 61 76 65 61 73 62 61 73 69 63 |,-1,"saveasbasic| 00000ae0 22 2c 30 20 b8 20 2c 2c 6e 65 78 74 25 0d 04 92 |",0 . ,,next%...| 00000af0 15 74 65 6d 70 25 21 36 34 3d 73 70 72 69 74 65 |.temp%!64=sprite| 00000b00 73 25 0d 04 9c 30 c8 99 20 22 57 69 6d 70 5f 43 |s%...0.. "Wimp_C| 00000b10 72 65 61 74 65 57 69 6e 64 6f 77 22 2c 2c 74 65 |reateWindow",,te| 00000b20 6d 70 25 20 b8 20 73 61 76 65 61 73 62 61 73 69 |mp% . saveasbasi| 00000b30 63 25 0d 04 a6 4e c8 99 20 22 57 69 6d 70 5f 4c |c%...N.. "Wimp_L| 00000b40 6f 61 64 54 65 6d 70 6c 61 74 65 22 2c 2c 74 65 |oadTemplate",,te| 00000b50 6d 70 25 2c 6e 65 78 74 25 2c 69 6e 64 69 72 25 |mp%,next%,indir%| 00000b60 2b 32 34 39 39 39 2c 2d 31 2c 22 66 75 6e 63 70 |+24999,-1,"funcp| 00000b70 61 6e 65 22 2c 30 20 b8 20 2c 2c 6e 65 78 74 25 |ane",0 . ,,next%| 00000b80 0d 04 b0 15 74 65 6d 70 25 21 36 34 3d 73 70 72 |....temp%!64=spr| 00000b90 69 74 65 73 25 0d 04 ba 2d c8 99 20 22 57 69 6d |ites%...-.. "Wim| 00000ba0 70 5f 43 72 65 61 74 65 57 69 6e 64 6f 77 22 2c |p_CreateWindow",| 00000bb0 2c 74 65 6d 70 25 20 b8 20 66 75 6e 63 70 61 6e |,temp% . funcpan| 00000bc0 65 25 0d 04 c4 4e c8 99 20 22 57 69 6d 70 5f 4c |e%...N.. "Wimp_L| 00000bd0 6f 61 64 54 65 6d 70 6c 61 74 65 22 2c 2c 74 65 |oadTemplate",,te| 00000be0 6d 70 25 2c 6e 65 78 74 25 2c 69 6e 64 69 72 25 |mp%,next%,indir%| 00000bf0 2b 32 34 39 39 39 2c 2d 31 2c 22 70 72 6f 63 70 |+24999,-1,"procp| 00000c00 61 6e 65 22 2c 30 20 b8 20 2c 2c 6e 65 78 74 25 |ane",0 . ,,next%| 00000c10 0d 04 ce 15 74 65 6d 70 25 21 36 34 3d 73 70 72 |....temp%!64=spr| 00000c20 69 74 65 73 25 0d 04 d8 2d c8 99 20 22 57 69 6d |ites%...-.. "Wim| 00000c30 70 5f 43 72 65 61 74 65 57 69 6e 64 6f 77 22 2c |p_CreateWindow",| 00000c40 2c 74 65 6d 70 25 20 b8 20 70 72 6f 63 70 61 6e |,temp% . procpan| 00000c50 65 25 0d 04 e2 4a c8 99 20 22 57 69 6d 70 5f 4c |e%...J.. "Wimp_L| 00000c60 6f 61 64 54 65 6d 70 6c 61 74 65 22 2c 2c 74 65 |oadTemplate",,te| 00000c70 6d 70 25 2c 6e 65 78 74 25 2c 69 6e 64 69 72 25 |mp%,next%,indir%| 00000c80 2b 32 34 39 39 39 2c 2d 31 2c 22 6d 61 69 6e 22 |+24999,-1,"main"| 00000c90 2c 30 20 b8 20 2c 2c 6e 65 78 74 25 0d 04 ec 15 |,0 . ,,next%....| 00000ca0 74 65 6d 70 25 21 36 34 3d 73 70 72 69 74 65 73 |temp%!64=sprites| 00000cb0 25 0d 04 f6 29 c8 99 20 22 57 69 6d 70 5f 43 72 |%...).. "Wimp_Cr| 00000cc0 65 61 74 65 57 69 6e 64 6f 77 22 2c 2c 74 65 6d |eateWindow",,tem| 00000cd0 70 25 20 b8 20 6d 61 69 6e 25 0d 05 00 4a c8 99 |p% . main%...J..| 00000ce0 20 22 57 69 6d 70 5f 4c 6f 61 64 54 65 6d 70 6c | "Wimp_LoadTempl| 00000cf0 61 74 65 22 2c 2c 74 65 6d 70 25 2c 6e 65 78 74 |ate",,temp%,next| 00000d00 25 2c 69 6e 64 69 72 25 2b 32 34 39 39 39 2c 2d |%,indir%+24999,-| 00000d10 31 2c 22 73 68 6f 77 22 2c 30 20 b8 20 2c 2c 6e |1,"show",0 . ,,n| 00000d20 65 78 74 25 0d 05 0a 15 74 65 6d 70 25 21 36 34 |ext%....temp%!64| 00000d30 3d 73 70 72 69 74 65 73 25 0d 05 14 29 c8 99 20 |=sprites%...).. | 00000d40 22 57 69 6d 70 5f 43 72 65 61 74 65 57 69 6e 64 |"Wimp_CreateWind| 00000d50 6f 77 22 2c 2c 74 65 6d 70 25 20 b8 20 73 68 6f |ow",,temp% . sho| 00000d60 77 25 0d 05 1e 4c c8 99 20 22 57 69 6d 70 5f 4c |w%...L.. "Wimp_L| 00000d70 6f 61 64 54 65 6d 70 6c 61 74 65 22 2c 2c 74 65 |oadTemplate",,te| 00000d80 6d 70 25 2c 6e 65 78 74 25 2c 69 6e 64 69 72 25 |mp%,next%,indir%| 00000d90 2b 32 34 39 39 39 2c 2d 31 2c 22 73 65 61 72 63 |+24999,-1,"searc| 00000da0 68 22 2c 30 20 b8 20 2c 2c 6e 65 78 74 25 0d 05 |h",0 . ,,next%..| 00000db0 28 15 74 65 6d 70 25 21 36 34 3d 73 70 72 69 74 |(.temp%!64=sprit| 00000dc0 65 73 25 0d 05 32 2b c8 99 20 22 57 69 6d 70 5f |es%..2+.. "Wimp_| 00000dd0 43 72 65 61 74 65 57 69 6e 64 6f 77 22 2c 2c 74 |CreateWindow",,t| 00000de0 65 6d 70 25 20 b8 20 73 65 61 72 63 68 25 0d 05 |emp% . search%..| 00000df0 3c 4e c8 99 20 22 57 69 6d 70 5f 4c 6f 61 64 54 |<N.. "Wimp_LoadT| 00000e00 65 6d 70 6c 61 74 65 22 2c 2c 74 65 6d 70 25 2c |emplate",,temp%,| 00000e10 6e 65 78 74 25 2c 69 6e 64 69 72 25 2b 32 34 39 |next%,indir%+249| 00000e20 39 39 2c 2d 31 2c 22 65 72 72 6f 72 62 6f 78 22 |99,-1,"errorbox"| 00000e30 2c 30 20 b8 20 2c 2c 6e 65 78 74 25 0d 05 46 15 |,0 . ,,next%..F.| 00000e40 74 65 6d 70 25 21 36 34 3d 73 70 72 69 74 65 73 |temp%!64=sprites| 00000e50 25 0d 05 50 2d c8 99 20 22 57 69 6d 70 5f 43 72 |%..P-.. "Wimp_Cr| 00000e60 65 61 74 65 57 69 6e 64 6f 77 22 2c 2c 74 65 6d |eateWindow",,tem| 00000e70 70 25 20 b8 20 65 72 72 6f 72 62 6f 78 25 0d 05 |p% . errorbox%..| 00000e80 5a 4d c8 99 20 22 57 69 6d 70 5f 4c 6f 61 64 54 |ZM.. "Wimp_LoadT| 00000e90 65 6d 70 6c 61 74 65 22 2c 2c 74 65 6d 70 25 2c |emplate",,temp%,| 00000ea0 6e 65 78 74 25 2c 69 6e 64 69 72 25 2b 32 34 39 |next%,indir%+249| 00000eb0 39 39 2c 2d 31 2c 22 6c 69 73 74 69 6e 67 22 2c |99,-1,"listing",| 00000ec0 30 20 b8 20 2c 2c 6e 65 78 74 25 0d 05 64 15 74 |0 . ,,next%..d.t| 00000ed0 65 6d 70 25 21 36 34 3d 73 70 72 69 74 65 73 25 |emp%!64=sprites%| 00000ee0 0d 05 6e 2c c8 99 20 22 57 69 6d 70 5f 43 72 65 |..n,.. "Wimp_Cre| 00000ef0 61 74 65 57 69 6e 64 6f 77 22 2c 2c 74 65 6d 70 |ateWindow",,temp| 00000f00 25 20 b8 20 6c 69 73 74 69 6e 67 25 0d 05 78 50 |% . listing%..xP| 00000f10 c8 99 20 22 57 69 6d 70 5f 4c 6f 61 64 54 65 6d |.. "Wimp_LoadTem| 00000f20 70 6c 61 74 65 22 2c 2c 74 65 6d 70 25 2c 6e 65 |plate",,temp%,ne| 00000f30 78 74 25 2c 69 6e 64 69 72 25 2b 32 34 39 39 39 |xt%,indir%+24999| 00000f40 2c 2d 31 2c 22 73 61 76 65 61 73 74 65 78 74 22 |,-1,"saveastext"| 00000f50 2c 30 20 b8 20 2c 2c 6e 65 78 74 25 0d 05 82 15 |,0 . ,,next%....| 00000f60 74 65 6d 70 25 21 36 34 3d 73 70 72 69 74 65 73 |temp%!64=sprites| 00000f70 25 0d 05 8c 2f c8 99 20 22 57 69 6d 70 5f 43 72 |%.../.. "Wimp_Cr| 00000f80 65 61 74 65 57 69 6e 64 6f 77 22 2c 2c 74 65 6d |eateWindow",,tem| 00000f90 70 25 20 b8 20 73 61 76 65 61 73 74 65 78 74 25 |p% . saveastext%| 00000fa0 0d 05 96 1b c8 99 20 22 57 69 6d 70 5f 43 6c 6f |...... "Wimp_Clo| 00000fb0 73 65 54 65 6d 70 6c 61 74 65 22 0d 05 a0 05 e1 |seTemplate".....| 00000fc0 0d 05 aa 04 0d 05 b4 13 dd 20 f2 6d 65 73 73 61 |......... .messa| 00000fd0 67 65 73 28 71 25 29 0d 05 be 0d 6c 65 6e 25 3d |ges(q%)....len%=| 00000fe0 71 25 21 30 0d 05 c8 10 73 65 6e 64 65 72 25 3d |q%!0....sender%=| 00000ff0 71 25 21 34 0d 05 d2 11 79 6f 75 72 72 65 66 25 |q%!4....yourref%| 00001000 3d 71 25 21 38 0d 05 dc 11 77 69 6e 64 6f 77 25 |=q%!8....window%| 00001010 3d 71 25 21 32 30 0d 05 e6 0f 69 63 6f 6e 25 3d |=q%!20....icon%=| 00001020 71 25 21 32 34 0d 05 f0 0e c8 8e 20 71 25 21 31 |q%!24...... q%!1| 00001030 36 20 ca 0d 05 fa 12 20 c9 20 30 20 3a 20 71 75 |6 ..... . 0 : qu| 00001040 69 74 25 3d b9 0d 06 04 17 20 c9 20 32 20 3a 20 |it%=..... . 2 : | 00001050 f2 64 61 74 61 73 61 76 65 61 63 6b 0d 06 0e 14 |.datasaveack....| 00001060 20 c9 20 33 20 3a 20 f2 64 61 74 61 6c 6f 61 64 | . 3 : .dataload| 00001070 0d 06 18 05 cb 0d 06 22 05 e1 0d 06 2c 04 0d 06 |......."....,...| 00001080 36 11 dd 20 f2 72 65 64 72 61 77 28 71 25 29 0d |6.. .redraw(q%).| 00001090 06 40 16 e7 20 71 25 21 30 3c 3e 6c 69 73 74 69 |.@.. q%!0<>listi| 000010a0 6e 67 25 20 8c 0d 06 4a 27 20 c8 99 20 22 57 69 |ng% ...J' .. "Wi| 000010b0 6d 70 5f 52 65 64 72 61 77 57 69 6e 64 6f 77 22 |mp_RedrawWindow"| 000010c0 2c 2c 71 25 20 b8 20 6d 6f 72 65 25 0d 06 54 0d |,,q% . more%..T.| 000010d0 20 c8 95 20 6d 6f 72 65 25 0d 06 5e 27 20 20 c8 | .. more%..^' .| 000010e0 99 20 22 49 6e 74 65 72 66 61 63 65 5f 52 65 6e |. "Interface_Ren| 000010f0 64 65 72 33 64 57 69 6e 64 6f 77 22 2c 2c 71 25 |der3dWindow",,q%| 00001100 0d 06 68 28 20 20 c8 99 20 22 57 69 6d 70 5f 47 |..h( .. "Wimp_G| 00001110 65 74 52 65 63 74 61 6e 67 6c 65 22 2c 2c 71 25 |etRectangle",,q%| 00001120 20 b8 20 6d 6f 72 65 25 0d 06 72 06 20 ce 0d 06 | . more%..r. ...| 00001130 7c 05 cc 0d 06 86 13 20 f2 72 65 64 72 61 77 6c ||...... .redrawl| 00001140 69 73 74 69 6e 67 0d 06 90 05 cd 0d 06 9a 05 e1 |isting..........| 00001150 0d 06 a4 04 0d 06 ae 15 dd 20 f2 6f 70 65 6e 77 |......... .openw| 00001160 69 6e 64 6f 77 28 71 25 29 0d 06 b8 12 e7 20 71 |indow(q%)..... q| 00001170 25 21 30 3d 6d 61 69 6e 25 20 8c 0d 06 c2 27 20 |%!0=main% ....' | 00001180 62 61 63 6b 25 3d 28 71 25 21 32 38 3d 2d 32 29 |back%=(q%!28=-2)| 00001190 3a 66 72 6f 6e 74 25 3d 28 71 25 21 32 38 3d 2d |:front%=(q%!28=-| 000011a0 31 29 0d 06 cc 16 20 78 31 25 3d 71 25 21 34 3a |1).... x1%=q%!4:| 000011b0 79 31 25 3d 71 25 21 38 0d 06 d6 18 20 78 32 25 |y1%=q%!8.... x2%| 000011c0 3d 71 25 21 31 32 3a 79 32 25 3d 71 25 21 31 36 |=q%!12:y2%=q%!16| 000011d0 0d 06 e0 13 20 71 25 21 30 3d 66 75 6e 63 70 61 |.... q%!0=funcpa| 000011e0 6e 65 25 0d 06 ea 21 20 c8 99 20 22 57 69 6d 70 |ne%...! .. "Wimp| 000011f0 5f 47 65 74 57 69 6e 64 6f 77 53 74 61 74 65 22 |_GetWindowState"| 00001200 2c 2c 71 25 0d 06 f4 11 20 71 25 21 34 3d 78 31 |,,q%.... q%!4=x1| 00001210 25 2b 36 35 30 0d 06 fe 10 20 71 25 21 38 3d 79 |%+650.... q%!8=y| 00001220 31 25 2b 32 38 0d 07 08 13 20 71 25 21 31 32 3d |1%+28.... q%!12=| 00001230 71 25 21 34 2b 35 31 36 0d 07 12 13 20 71 25 21 |q%!4+516.... q%!| 00001240 31 36 3d 71 25 21 38 2b 34 31 32 0d 07 1c 29 20 |16=q%!8+412...) | 00001250 e7 20 62 61 63 6b 25 20 71 25 21 32 38 3d 2d 32 |. back% q%!28=-2| 00001260 20 8b 20 e7 20 66 72 6f 6e 74 25 20 71 25 21 32 | . . front% q%!2| 00001270 38 3d 2d 31 0d 07 26 1d 20 c8 99 20 22 57 69 6d |8=-1..&. .. "Wim| 00001280 70 5f 4f 70 65 6e 57 69 6e 64 6f 77 22 2c 2c 71 |p_OpenWindow",,q| 00001290 25 0d 07 30 13 20 71 25 21 30 3d 70 72 6f 63 70 |%..0. q%!0=procp| 000012a0 61 6e 65 25 0d 07 3a 21 20 c8 99 20 22 57 69 6d |ane%..:! .. "Wim| 000012b0 70 5f 47 65 74 57 69 6e 64 6f 77 53 74 61 74 65 |p_GetWindowState| 000012c0 22 2c 2c 71 25 0d 07 44 10 20 71 25 21 34 3d 78 |",,q%..D. q%!4=x| 000012d0 31 25 2b 33 34 0d 07 4e 10 20 71 25 21 38 3d 79 |1%+34..N. q%!8=y| 000012e0 31 25 2b 32 38 0d 07 58 13 20 71 25 21 31 32 3d |1%+28..X. q%!12=| 000012f0 71 25 21 34 2b 35 31 36 0d 07 62 13 20 71 25 21 |q%!4+516..b. q%!| 00001300 31 36 3d 71 25 21 38 2b 34 31 32 0d 07 6c 14 20 |16=q%!8+412..l. | 00001310 71 25 21 32 38 3d 66 75 6e 63 70 61 6e 65 25 0d |q%!28=funcpane%.| 00001320 07 76 1d 20 c8 99 20 22 57 69 6d 70 5f 4f 70 65 |.v. .. "Wimp_Ope| 00001330 6e 57 69 6e 64 6f 77 22 2c 2c 71 25 0d 07 80 45 |nWindow",,q%...E| 00001340 20 71 25 21 30 3d 6d 61 69 6e 25 3a 71 25 21 34 | q%!0=main%:q%!4| 00001350 3d 78 31 25 3a 71 25 21 38 3d 79 31 25 3a 71 25 |=x1%:q%!8=y1%:q%| 00001360 21 31 32 3d 78 32 25 3a 71 25 21 31 36 3d 79 32 |!12=x2%:q%!16=y2| 00001370 25 3a 71 25 21 32 38 3d 70 72 6f 63 70 61 6e 65 |%:q%!28=procpane| 00001380 25 0d 07 8a 1d 20 c8 99 20 22 57 69 6d 70 5f 4f |%.... .. "Wimp_O| 00001390 70 65 6e 57 69 6e 64 6f 77 22 2c 2c 71 25 0d 07 |penWindow",,q%..| 000013a0 94 05 cc 0d 07 9e 1d 20 c8 99 20 22 57 69 6d 70 |....... .. "Wimp| 000013b0 5f 4f 70 65 6e 57 69 6e 64 6f 77 22 2c 2c 71 25 |_OpenWindow",,q%| 000013c0 0d 07 a8 05 cd 0d 07 b2 05 e1 0d 07 bc 04 0d 07 |................| 000013d0 c6 16 dd 20 f2 63 6c 6f 73 65 77 69 6e 64 6f 77 |... .closewindow| 000013e0 28 71 25 29 0d 07 d0 12 e7 20 71 25 21 30 3d 6d |(q%)..... q%!0=m| 000013f0 61 69 6e 25 20 8c 0d 07 da 1e 20 c8 99 20 22 57 |ain% ..... .. "W| 00001400 69 6d 70 5f 43 6c 6f 73 65 57 69 6e 64 6f 77 22 |imp_CloseWindow"| 00001410 2c 2c 71 25 0d 07 e4 13 20 71 25 21 30 3d 66 75 |,,q%.... q%!0=fu| 00001420 6e 63 70 61 6e 65 25 0d 07 ee 1e 20 c8 99 20 22 |ncpane%.... .. "| 00001430 57 69 6d 70 5f 43 6c 6f 73 65 57 69 6e 64 6f 77 |Wimp_CloseWindow| 00001440 22 2c 2c 71 25 0d 07 f8 13 20 71 25 21 30 3d 70 |",,q%.... q%!0=p| 00001450 72 6f 63 70 61 6e 65 25 0d 08 02 05 cd 0d 08 0c |rocpane%........| 00001460 37 e7 20 71 25 21 30 3d 6c 69 73 74 69 6e 67 25 |7. q%!0=listing%| 00001470 20 8c 20 c8 99 20 22 4f 53 5f 4d 6f 64 75 6c 65 | . .. "OS_Module| 00001480 22 2c 37 2c 2c 62 61 73 69 63 25 3a 62 61 73 69 |",7,,basic%:basi| 00001490 63 25 3d 30 0d 08 16 1d c8 99 20 22 57 69 6d 70 |c%=0...... "Wimp| 000014a0 5f 43 6c 6f 73 65 57 69 6e 64 6f 77 22 2c 2c 71 |_CloseWindow",,q| 000014b0 25 0d 08 20 05 e1 0d 08 2a 04 0d 08 34 10 dd 20 |%.. ....*...4.. | 000014c0 f2 6d 6f 75 73 65 28 71 25 29 0d 08 3e 4d 6d 6f |.mouse(q%)..>Mmo| 000014d0 75 73 65 25 21 30 3d 71 25 21 30 3a 6d 6f 75 73 |use%!0=q%!0:mous| 000014e0 65 25 21 34 3d 71 25 21 34 3a 6d 6f 75 73 65 25 |e%!4=q%!4:mouse%| 000014f0 21 38 3d 71 25 21 38 3a 6d 6f 75 73 65 25 21 31 |!8=q%!8:mouse%!1| 00001500 32 3d 71 25 21 31 32 3a 6d 6f 75 73 65 25 21 31 |2=q%!12:mouse%!1| 00001510 36 3d 71 25 21 31 36 0d 08 48 2d 78 25 3d 71 25 |6=q%!16..H-x%=q%| 00001520 21 30 3a 79 25 3d 71 25 21 34 3a 62 25 3d 71 25 |!0:y%=q%!4:b%=q%| 00001530 21 38 3a 77 25 3d 71 25 21 31 32 3a 69 25 3d 71 |!8:w%=q%!12:i%=q| 00001540 25 21 31 36 0d 08 52 35 e7 20 6d 6f 75 73 65 25 |%!16..R5. mouse%| 00001550 21 38 3c 3e 32 20 8c 20 c8 99 20 22 49 6e 74 65 |!8<>2 . .. "Inte| 00001560 72 66 61 63 65 5f 53 6c 61 62 42 75 74 74 6f 6e |rface_SlabButton| 00001570 22 2c 2c 6d 6f 75 73 65 25 0d 08 5c 0b c8 8e 20 |",,mouse%..\... | 00001580 77 25 20 ca 0d 08 66 0b 20 c9 20 2d 32 20 3a 0d |w% ...f. . -2 :.| 00001590 08 70 0d 20 20 c8 8e 20 62 25 20 ca 0d 08 7a 39 |.p. .. b% ...z9| 000015a0 20 20 20 c9 20 32 20 3a 20 c8 99 20 22 57 69 6d | . 2 : .. "Wim| 000015b0 70 5f 43 72 65 61 74 65 4d 65 6e 75 22 2c 2c 69 |p_CreateMenu",,i| 000015c0 63 6f 6e 62 61 72 6d 65 6e 75 25 2c 78 25 2d 37 |conbarmenu%,x%-7| 000015d0 32 2c 32 32 38 0d 08 84 26 20 20 20 20 20 20 20 |2,228...& | 000015e0 20 20 20 20 20 6d 65 6e 75 6f 70 65 6e 25 3d 69 | menuopen%=i| 000015f0 63 6f 6e 62 61 72 6d 65 6e 75 25 0d 08 8e 07 20 |conbarmenu%.... | 00001600 20 7f 0d 08 98 13 20 20 20 f2 6f 70 65 6e 6d 61 | ..... .openma| 00001610 69 6e 74 6f 70 0d 08 a2 07 20 20 cb 0d 08 ac 12 |intop.... .....| 00001620 20 c9 20 65 72 72 6f 72 62 6f 78 25 20 3a 0d 08 | . errorbox% :..| 00001630 b6 0d 20 20 c8 8e 20 69 25 20 ca 0d 08 c0 2c 20 |.. .. i% ...., | 00001640 20 20 c9 20 35 20 3a 20 78 6d 69 6e 25 3d 30 3a | . 5 : xmin%=0:| 00001650 78 6d 61 78 25 3d 30 3a 79 6d 69 6e 25 3d 30 3a |xmax%=0:ymin%=0:| 00001660 79 6d 61 78 25 3d 30 0d 08 ca 33 20 20 20 20 20 |ymax%=0...3 | 00001670 20 20 20 20 20 20 20 f2 73 63 72 65 65 6e 62 6f | .screenbo| 00001680 78 28 78 6d 69 6e 25 2c 78 6d 61 78 25 2c 79 6d |x(xmin%,xmax%,ym| 00001690 69 6e 25 2c 79 6d 61 78 25 29 0d 08 d4 2d 20 20 |in%,ymax%)...- | 000016a0 20 20 20 20 20 20 20 20 20 20 c8 97 20 c8 93 20 | .. .. | 000016b0 78 6d 69 6e 25 2c 79 6d 69 6e 25 2c 78 6d 61 78 |xmin%,ymin%,xmax| 000016c0 25 2c 79 6d 61 78 25 0d 08 de 1e 20 20 20 20 20 |%,ymax%.... | 000016d0 20 20 20 20 20 20 20 71 25 21 30 3d 65 72 72 6f | q%!0=erro| 000016e0 72 62 6f 78 25 0d 08 e8 29 20 20 20 20 20 20 20 |rbox%...) | 000016f0 20 20 20 20 20 c8 99 20 22 57 69 6d 70 5f 43 6c | .. "Wimp_Cl| 00001700 6f 73 65 57 69 6e 64 6f 77 22 2c 2c 71 25 0d 08 |oseWindow",,q%..| 00001710 f2 07 20 20 cb 0d 08 fc 0e 20 c9 20 6d 61 69 6e |.. ..... . main| 00001720 25 20 3a 0d 09 06 0d 20 20 c8 8e 20 62 25 20 ca |% :.... .. b% .| 00001730 0d 09 10 38 20 20 20 c9 20 32 20 3a 20 c8 99 20 |...8 . 2 : .. | 00001740 22 57 69 6d 70 5f 43 72 65 61 74 65 4d 65 6e 75 |"Wimp_CreateMenu| 00001750 22 2c 2c 6d 61 69 6e 6d 65 6e 75 25 2c 78 25 2d |",,mainmenu%,x%-| 00001760 37 32 2c 79 25 2b 32 30 0d 09 1a 23 20 20 20 20 |72,y%+20...# | 00001770 20 20 20 20 20 20 20 20 6d 65 6e 75 6f 70 65 6e | menuopen| 00001780 25 3d 6d 61 69 6e 6d 65 6e 75 25 0d 09 24 07 20 |%=mainmenu%..$. | 00001790 20 cb 0d 09 2e 1c 20 c9 20 66 75 6e 63 70 61 6e | ..... . funcpan| 000017a0 65 25 2c 70 72 6f 63 70 61 6e 65 25 20 3a 0d 09 |e%,procpane% :..| 000017b0 38 0d 20 20 c8 8e 20 62 25 20 ca 0d 09 42 38 20 |8. .. b% ...B8 | 000017c0 20 20 c9 20 32 20 3a 20 c8 99 20 22 57 69 6d 70 | . 2 : .. "Wimp| 000017d0 5f 43 72 65 61 74 65 4d 65 6e 75 22 2c 2c 6d 61 |_CreateMenu",,ma| 000017e0 69 6e 6d 65 6e 75 25 2c 78 25 2d 37 32 2c 79 25 |inmenu%,x%-72,y%| 000017f0 2b 32 30 0d 09 4c 23 20 20 20 20 20 20 20 20 20 |+20..L# | 00001800 20 20 20 6d 65 6e 75 6f 70 65 6e 25 3d 6d 61 69 | menuopen%=mai| 00001810 6e 6d 65 6e 75 25 0d 09 56 38 20 20 20 c9 20 31 |nmenu%..V8 . 1| 00001820 2c 34 20 3a 20 f2 73 65 74 69 63 6f 6e 74 65 78 |,4 : .seticontex| 00001830 74 28 73 68 6f 77 25 2c 31 2c a4 67 65 74 69 63 |t(show%,1,.getic| 00001840 6f 6e 74 65 78 74 28 77 25 2c 69 25 29 29 0d 09 |ontext(w%,i%))..| 00001850 60 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |`* | 00001860 f2 73 68 61 64 65 69 63 6f 6e 73 28 73 68 6f 77 |.shadeicons(show| 00001870 25 2c 22 32 2c 33 22 29 0d 09 6a 22 20 20 20 20 |%,"2,3")..j" | 00001880 20 20 20 20 20 20 20 20 20 20 e7 20 77 25 3d 66 | . w%=f| 00001890 75 6e 63 70 61 6e 65 25 20 8c 0d 09 74 30 20 20 |uncpane% ...t0 | 000018a0 20 20 20 20 20 20 20 20 20 20 20 20 20 f2 73 65 | .se| 000018b0 74 69 63 6f 6e 74 65 78 74 28 73 68 6f 77 25 2c |ticontext(show%,| 000018c0 30 2c 22 20 20 20 46 4e 22 29 0d 09 7e 13 20 20 |0," FN")..~. | 000018d0 20 20 20 20 20 20 20 20 20 20 20 20 cc 0d 09 88 | ....| 000018e0 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |0 | 000018f0 f2 73 65 74 69 63 6f 6e 74 65 78 74 28 73 68 6f |.seticontext(sho| 00001900 77 25 2c 30 2c 22 20 50 52 4f 43 22 29 0d 09 92 |w%,0," PROC")...| 00001910 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 cd |. .| 00001920 0d 09 9c 21 20 20 20 20 20 20 20 20 20 20 20 20 |...! | 00001930 20 20 f2 6f 70 65 6e 74 6f 70 28 73 68 6f 77 25 | .opentop(show%| 00001940 29 0d 09 a6 07 20 20 cb 0d 09 b0 10 20 c9 20 73 |).... ..... . s| 00001950 65 61 72 63 68 25 20 3a 0d 09 ba 0d 20 20 c8 8e |earch% :.... ..| 00001960 20 69 25 20 ca 0d 09 c4 23 20 20 20 c9 20 34 20 | i% ....# . 4 | 00001970 3a 20 f2 73 65 6c 65 63 74 69 63 6f 6e 28 73 65 |: .selecticon(se| 00001980 61 72 63 68 25 2c 34 29 0d 09 ce 2f 20 20 20 20 |arch%,4).../ | 00001990 20 20 20 20 20 20 20 20 f2 64 65 73 65 6c 65 63 | .deselec| 000019a0 74 69 63 6f 6e 73 28 73 65 61 72 63 68 25 2c 22 |ticons(search%,"| 000019b0 35 2c 36 2c 37 22 29 0d 09 d8 1b 20 20 20 20 20 |5,6,7").... | 000019c0 20 20 20 20 20 20 20 63 6f 6e 74 61 69 6e 73 25 | contains%| 000019d0 3d 31 0d 09 e2 23 20 20 20 c9 20 35 20 3a 20 f2 |=1...# . 5 : .| 000019e0 73 65 6c 65 63 74 69 63 6f 6e 28 73 65 61 72 63 |selecticon(searc| 000019f0 68 25 2c 35 29 0d 09 ec 2f 20 20 20 20 20 20 20 |h%,5).../ | 00001a00 20 20 20 20 20 f2 64 65 73 65 6c 65 63 74 69 63 | .deselectic| 00001a10 6f 6e 73 28 73 65 61 72 63 68 25 2c 22 34 2c 36 |ons(search%,"4,6| 00001a20 2c 37 22 29 0d 09 f6 1b 20 20 20 20 20 20 20 20 |,7").... | 00001a30 20 20 20 20 63 6f 6e 74 61 69 6e 73 25 3d 32 0d | contains%=2.| 00001a40 0a 00 23 20 20 20 c9 20 36 20 3a 20 f2 73 65 6c |..# . 6 : .sel| 00001a50 65 63 74 69 63 6f 6e 28 73 65 61 72 63 68 25 2c |ecticon(search%,| 00001a60 36 29 0d 0a 0a 2f 20 20 20 20 20 20 20 20 20 20 |6).../ | 00001a70 20 20 f2 64 65 73 65 6c 65 63 74 69 63 6f 6e 73 | .deselecticons| 00001a80 28 73 65 61 72 63 68 25 2c 22 34 2c 35 2c 37 22 |(search%,"4,5,7"| 00001a90 29 0d 0a 14 1b 20 20 20 20 20 20 20 20 20 20 20 |).... | 00001aa0 20 63 6f 6e 74 61 69 6e 73 25 3d 33 0d 0a 1e 23 | contains%=3...#| 00001ab0 20 20 20 c9 20 37 20 3a 20 f2 73 65 6c 65 63 74 | . 7 : .select| 00001ac0 69 63 6f 6e 28 73 65 61 72 63 68 25 2c 37 29 0d |icon(search%,7).| 00001ad0 0a 28 2f 20 20 20 20 20 20 20 20 20 20 20 20 f2 |.(/ .| 00001ae0 64 65 73 65 6c 65 63 74 69 63 6f 6e 73 28 73 65 |deselecticons(se| 00001af0 61 72 63 68 25 2c 22 34 2c 35 2c 36 22 29 0d 0a |arch%,"4,5,6")..| 00001b00 32 1b 20 20 20 20 20 20 20 20 20 20 20 20 63 6f |2. co| 00001b10 6e 74 61 69 6e 73 25 3d 34 0d 0a 3c 24 20 20 20 |ntains%=4..<$ | 00001b20 c9 20 31 30 3a 20 f2 73 65 6c 65 63 74 69 63 6f |. 10: .selectico| 00001b30 6e 28 73 65 61 72 63 68 25 2c 31 30 29 0d 0a 46 |n(search%,10)..F| 00001b40 2f 20 20 20 20 20 20 20 20 20 20 20 20 f2 64 65 |/ .de| 00001b50 73 65 6c 65 63 74 69 63 6f 6e 73 28 73 65 61 72 |selecticons(sear| 00001b60 63 68 25 2c 22 31 31 2c 31 32 22 29 0d 0a 50 1b |ch%,"11,12")..P.| 00001b70 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 63 | proc| 00001b80 66 75 6e 63 25 3d 31 0d 0a 5a 24 20 20 20 c9 20 |func%=1..Z$ . | 00001b90 31 31 3a 20 f2 73 65 6c 65 63 74 69 63 6f 6e 28 |11: .selecticon(| 00001ba0 73 65 61 72 63 68 25 2c 31 31 29 0d 0a 64 2f 20 |search%,11)..d/ | 00001bb0 20 20 20 20 20 20 20 20 20 20 20 f2 64 65 73 65 | .dese| 00001bc0 6c 65 63 74 69 63 6f 6e 73 28 73 65 61 72 63 68 |lecticons(search| 00001bd0 25 2c 22 31 30 2c 31 32 22 29 0d 0a 6e 1b 20 20 |%,"10,12")..n. | 00001be0 20 20 20 20 20 20 20 20 20 20 70 72 6f 63 66 75 | procfu| 00001bf0 6e 63 25 3d 32 0d 0a 78 24 20 20 20 c9 20 31 32 |nc%=2..x$ . 12| 00001c00 3a 20 f2 73 65 6c 65 63 74 69 63 6f 6e 28 73 65 |: .selecticon(se| 00001c10 61 72 63 68 25 2c 31 32 29 0d 0a 82 2f 20 20 20 |arch%,12).../ | 00001c20 20 20 20 20 20 20 20 20 20 f2 64 65 73 65 6c 65 | .desele| 00001c30 63 74 69 63 6f 6e 73 28 73 65 61 72 63 68 25 2c |cticons(search%,| 00001c40 22 31 30 2c 31 31 22 29 0d 0a 8c 1b 20 20 20 20 |"10,11").... | 00001c50 20 20 20 20 20 20 20 20 70 72 6f 63 66 75 6e 63 | procfunc| 00001c60 25 3d 33 0d 0a 96 19 20 20 20 c9 20 31 34 3a 20 |%=3.... . 14: | 00001c70 f2 73 68 6f 77 72 65 73 75 6c 74 73 0d 0a a0 14 |.showresults....| 00001c80 20 20 20 c9 20 31 35 3a 20 f2 73 65 61 72 63 68 | . 15: .search| 00001c90 0d 0a aa 07 20 20 cb 0d 0a b4 0e 20 c9 20 73 68 |.... ..... . sh| 00001ca0 6f 77 25 20 3a 0d 0a be 0d 20 20 c8 8e 20 69 25 |ow% :.... .. i%| 00001cb0 20 ca 0d 0a c8 1d 20 20 20 c9 20 32 20 3a 20 73 | ..... . 2 : s| 00001cc0 68 6f 77 70 72 6f 63 66 75 6e 63 25 2b 3d 31 0d |howprocfunc%+=1.| 00001cd0 0a d2 37 20 20 20 20 20 20 20 20 20 20 20 20 e7 |..7 .| 00001ce0 20 73 68 6f 77 70 72 6f 63 66 75 6e 63 25 3e 6d | showprocfunc%>m| 00001cf0 61 78 25 20 73 68 6f 77 70 72 6f 63 66 75 6e 63 |ax% showprocfunc| 00001d00 25 3d 6d 69 6e 25 0d 0a dc 3b 20 20 20 20 20 20 |%=min%...; | 00001d10 20 20 20 20 20 20 f2 73 65 74 69 63 6f 6e 74 65 | .seticonte| 00001d20 78 74 28 73 68 6f 77 25 2c 31 2c 66 6f 75 6e 64 |xt(show%,1,found| 00001d30 24 28 73 68 6f 77 70 72 6f 63 66 75 6e 63 25 29 |$(showprocfunc%)| 00001d40 29 0d 0a e6 2d 20 20 20 20 20 20 20 20 20 20 20 |)...- | 00001d50 20 e7 20 66 6f 75 6e 64 25 28 73 68 6f 77 70 72 | . found%(showpr| 00001d60 6f 63 66 75 6e 63 25 29 3d 32 35 36 20 8c 0d 0a |ocfunc%)=256 ...| 00001d70 f0 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 f2 |.. .| 00001d80 73 65 74 69 63 6f 6e 74 65 78 74 28 73 68 6f 77 |seticontext(show| 00001d90 25 2c 30 2c 22 20 50 52 4f 43 22 29 0d 0a fa 11 |%,0," PROC")....| 00001da0 20 20 20 20 20 20 20 20 20 20 20 20 cc 0d 0b 04 | ....| 00001db0 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 f2 73 |. .s| 00001dc0 65 74 69 63 6f 6e 74 65 78 74 28 73 68 6f 77 25 |eticontext(show%| 00001dd0 2c 30 2c 22 20 20 20 46 4e 22 29 0d 0b 0e 11 20 |,0," FN").... | 00001de0 20 20 20 20 20 20 20 20 20 20 20 cd 0d 0b 18 1d | .....| 00001df0 20 20 20 c9 20 33 20 3a 20 73 68 6f 77 70 72 6f | . 3 : showpro| 00001e00 63 66 75 6e 63 25 2d 3d 31 0d 0b 22 37 20 20 20 |cfunc%-=1.."7 | 00001e10 20 20 20 20 20 20 20 20 20 e7 20 73 68 6f 77 70 | . showp| 00001e20 72 6f 63 66 75 6e 63 25 3c 6d 69 6e 25 20 73 68 |rocfunc%<min% sh| 00001e30 6f 77 70 72 6f 63 66 75 6e 63 25 3d 6d 61 78 25 |owprocfunc%=max%| 00001e40 0d 0b 2c 3b 20 20 20 20 20 20 20 20 20 20 20 20 |..,; | 00001e50 f2 73 65 74 69 63 6f 6e 74 65 78 74 28 73 68 6f |.seticontext(sho| 00001e60 77 25 2c 31 2c 66 6f 75 6e 64 24 28 73 68 6f 77 |w%,1,found$(show| 00001e70 70 72 6f 63 66 75 6e 63 25 29 29 0d 0b 36 2d 20 |procfunc%))..6- | 00001e80 20 20 20 20 20 20 20 20 20 20 20 e7 20 66 6f 75 | . fou| 00001e90 6e 64 25 28 73 68 6f 77 70 72 6f 63 66 75 6e 63 |nd%(showprocfunc| 00001ea0 25 29 3d 32 35 36 20 8c 0d 0b 40 2e 20 20 20 20 |%)=256 ...@. | 00001eb0 20 20 20 20 20 20 20 20 20 f2 73 65 74 69 63 6f | .setico| 00001ec0 6e 74 65 78 74 28 73 68 6f 77 25 2c 30 2c 22 20 |ntext(show%,0," | 00001ed0 50 52 4f 43 22 29 0d 0b 4a 11 20 20 20 20 20 20 |PROC")..J. | 00001ee0 20 20 20 20 20 20 cc 0d 0b 54 2e 20 20 20 20 20 | ...T. | 00001ef0 20 20 20 20 20 20 20 20 f2 73 65 74 69 63 6f 6e | .seticon| 00001f00 74 65 78 74 28 73 68 6f 77 25 2c 30 2c 22 20 20 |text(show%,0," | 00001f10 20 46 4e 22 29 0d 0b 5e 11 20 20 20 20 20 20 20 | FN")..^. | 00001f20 20 20 20 20 20 cd 0d 0b 68 28 20 20 20 c9 20 34 | ...h( . 4| 00001f30 20 3a 20 74 79 70 65 24 3d a4 67 65 74 69 63 6f | : type$=.getico| 00001f40 6e 74 65 78 74 28 73 68 6f 77 25 2c 30 29 0d 0b |ntext(show%,0)..| 00001f50 72 2b 20 20 20 20 20 20 20 20 20 20 20 20 6e 61 |r+ na| 00001f60 6d 65 24 3d a4 67 65 74 69 63 6f 6e 74 65 78 74 |me$=.geticontext| 00001f70 28 73 68 6f 77 25 2c 31 29 0d 0b 7c 38 20 20 20 |(show%,1)..|8 | 00001f80 20 20 20 20 20 20 20 20 20 e7 20 a7 74 79 70 65 | . .type| 00001f90 24 2c 22 50 52 22 29 20 8c 20 66 69 6c 65 24 3d |$,"PR") . file$=| 00001fa0 22 50 52 22 20 8b 20 66 69 6c 65 24 3d 22 46 4e |"PR" . file$="FN| 00001fb0 22 0d 0b 86 1e 20 20 20 20 20 20 20 20 20 20 20 |".... | 00001fc0 20 e7 20 66 69 6c 65 24 3d 22 50 52 22 20 8c 0d | . file$="PR" ..| 00001fd0 0b 90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.. | 00001fe0 f2 67 65 74 70 72 6f 63 64 65 74 61 69 6c 73 0d |.getprocdetails.| 00001ff0 0b 9a 11 20 20 20 20 20 20 20 20 20 20 20 20 cc |... .| 00002000 0d 0b a4 20 20 20 20 20 20 20 20 20 20 20 20 20 |... | 00002010 20 f2 67 65 74 66 75 6e 63 64 65 74 61 69 6c 73 | .getfuncdetails| 00002020 0d 0b ae 11 20 20 20 20 20 20 20 20 20 20 20 20 |.... | 00002030 cd 0d 0b b8 1f 20 20 20 20 20 20 20 20 20 20 20 |..... | 00002040 20 6e 61 6d 65 24 3d c0 6e 61 6d 65 24 2c 38 29 | name$=.name$,8)| 00002050 0d 0b c2 3b 20 20 20 20 20 20 20 20 20 20 20 20 |...; | 00002060 e7 20 a7 6e 61 6d 65 24 2c 22 28 22 29 20 8c 20 |. .name$,"(") . | 00002070 6e 61 6d 65 24 3d c0 6e 61 6d 65 24 2c a7 6e 61 |name$=.name$,.na| 00002080 6d 65 24 2c 22 28 22 29 2d 31 29 0d 0b cc 1c 20 |me$,"(")-1).... | 00002090 20 20 20 20 20 20 20 20 20 20 20 66 69 6c 65 24 | file$| 000020a0 2b 3d 6e 61 6d 65 24 0d 0b d6 32 20 20 20 20 20 |+=name$...2 | 000020b0 20 20 20 20 20 20 20 f2 73 65 74 69 63 6f 6e 74 | .seticont| 000020c0 65 78 74 28 73 61 76 65 61 73 62 61 73 69 63 25 |ext(saveasbasic%| 000020d0 2c 30 2c 66 69 6c 65 24 29 0d 0b e0 31 20 20 20 |,0,file$)...1 | 000020e0 20 20 20 20 20 20 20 20 20 f2 73 65 74 69 63 6f | .setico| 000020f0 6e 74 65 78 74 28 73 61 76 65 61 73 74 65 78 74 |ntext(saveastext| 00002100 25 2c 30 2c 66 69 6c 65 24 29 0d 0b ea 3b 20 20 |%,0,file$)...; | 00002110 20 20 20 20 20 20 20 20 20 20 c8 99 20 22 57 69 | .. "Wi| 00002120 6d 70 5f 43 72 65 61 74 65 4d 65 6e 75 22 2c 2c |mp_CreateMenu",,| 00002130 73 61 76 65 6d 65 6e 75 25 2c 78 25 2d 33 30 2c |savemenu%,x%-30,| 00002140 79 25 2b 32 30 0d 0b f4 1a 20 20 20 c9 20 36 20 |y%+20.... . 6 | 00002150 3a 20 71 25 21 30 3d 6c 69 73 74 69 6e 67 25 0d |: q%!0=listing%.| 00002160 0b fe 29 20 20 20 20 20 20 20 20 20 20 20 20 c8 |..) .| 00002170 99 20 22 57 69 6d 70 5f 43 6c 6f 73 65 57 69 6e |. "Wimp_CloseWin| 00002180 64 6f 77 22 2c 2c 71 25 0d 0c 08 35 20 20 20 20 |dow",,q%...5 | 00002190 20 20 20 20 20 20 20 20 e7 20 62 61 73 69 63 25 | . basic%| 000021a0 3e 30 20 8c 20 c8 99 20 22 4f 53 5f 4d 6f 64 75 |>0 . .. "OS_Modu| 000021b0 6c 65 22 2c 37 2c 2c 62 61 73 69 63 25 0d 0c 12 |le",7,,basic%...| 000021c0 1c 20 20 20 20 20 20 20 20 20 20 20 20 f2 73 68 |. .sh| 000021d0 6f 77 6c 69 73 74 69 6e 67 0d 0c 1c 07 20 20 cb |owlisting.... .| 000021e0 0d 0c 26 15 20 c9 20 73 61 76 65 61 73 62 61 73 |..&. . saveasbas| 000021f0 69 63 25 20 3a 0d 0c 30 0d 20 20 c8 8e 20 69 25 |ic% :..0. .. i%| 00002200 20 ca 0d 0c 3a 33 20 20 20 c9 20 31 20 3a 20 66 | ...:3 . 1 : f| 00002210 69 6c 65 6e 61 6d 65 24 3d a4 67 65 74 69 63 6f |ilename$=.getico| 00002220 6e 74 65 78 74 28 73 61 76 65 61 73 62 61 73 69 |ntext(saveasbasi| 00002230 63 25 2c 30 29 0d 0c 44 25 20 20 20 20 20 20 20 |c%,0)..D% | 00002240 20 20 20 20 20 e7 20 a7 66 69 6c 65 6e 61 6d 65 | . .filename| 00002250 24 2c 22 2e 22 29 3d 30 20 8c 0d 0c 4e 4a 20 20 |$,".")=0 ...NJ | 00002260 20 20 20 20 20 20 20 20 20 20 20 f2 6d 65 73 73 | .mess| 00002270 61 67 65 28 22 54 6f 20 73 61 76 65 2c 20 64 72 |age("To save, dr| 00002280 61 67 20 74 68 65 20 69 63 6f 6e 20 74 6f 20 61 |ag the icon to a| 00002290 20 64 69 72 65 63 74 6f 72 79 20 76 69 65 77 65 | directory viewe| 000022a0 72 2e 22 29 0d 0c 58 11 20 20 20 20 20 20 20 20 |r.")..X. | 000022b0 20 20 20 20 cc 0d 0c 62 2c 20 20 20 20 20 20 20 | ...b, | 000022c0 20 20 20 20 20 20 f2 73 61 76 65 62 61 73 69 63 | .savebasic| 000022d0 66 69 6c 65 28 66 69 6c 65 6e 61 6d 65 24 2c 30 |file(filename$,0| 000022e0 29 0d 0c 6c 11 20 20 20 20 20 20 20 20 20 20 20 |)..l. | 000022f0 20 cd 0d 0c 76 19 20 20 20 c9 20 33 20 3a 20 62 | ...v. . 3 : b| 00002300 61 73 69 63 64 72 61 67 25 3d b9 0d 0c 80 40 20 |asicdrag%=....@ | 00002310 20 20 20 20 20 20 20 20 20 20 20 f2 64 72 61 67 | .drag| 00002320 73 61 76 65 62 6f 78 28 73 61 76 65 61 73 62 61 |savebox(saveasba| 00002330 73 69 63 25 2c 33 2c 22 66 69 6c 65 5f 66 66 62 |sic%,3,"file_ffb| 00002340 22 2c 73 70 72 69 74 65 73 25 29 0d 0c 8a 07 20 |",sprites%).... | 00002350 20 cb 0d 0c 94 14 20 c9 20 73 61 76 65 61 73 74 | ..... . saveast| 00002360 65 78 74 25 20 3a 0d 0c 9e 0d 20 20 c8 8e 20 69 |ext% :.... .. i| 00002370 25 20 ca 0d 0c a8 32 20 20 20 c9 20 31 20 3a 20 |% ....2 . 1 : | 00002380 66 69 6c 65 6e 61 6d 65 24 3d a4 67 65 74 69 63 |filename$=.getic| 00002390 6f 6e 74 65 78 74 28 73 61 76 65 61 73 74 65 78 |ontext(saveastex| 000023a0 74 25 2c 30 29 0d 0c b2 25 20 20 20 20 20 20 20 |t%,0)...% | 000023b0 20 20 20 20 20 e7 20 a7 66 69 6c 65 6e 61 6d 65 | . .filename| 000023c0 24 2c 22 2e 22 29 3d 30 20 8c 0d 0c bc 4a 20 20 |$,".")=0 ....J | 000023d0 20 20 20 20 20 20 20 20 20 20 20 f2 6d 65 73 73 | .mess| 000023e0 61 67 65 28 22 54 6f 20 73 61 76 65 2c 20 64 72 |age("To save, dr| 000023f0 61 67 20 74 68 65 20 69 63 6f 6e 20 74 6f 20 61 |ag the icon to a| 00002400 20 64 69 72 65 63 74 6f 72 79 20 76 69 65 77 65 | directory viewe| 00002410 72 2e 22 29 0d 0c c6 11 20 20 20 20 20 20 20 20 |r.").... | 00002420 20 20 20 20 cc 0d 0c d0 2b 20 20 20 20 20 20 20 | ....+ | 00002430 20 20 20 20 20 20 f2 73 61 76 65 74 65 78 74 66 | .savetextf| 00002440 69 6c 65 28 66 69 6c 65 6e 61 6d 65 24 2c 30 29 |ile(filename$,0)| 00002450 0d 0c da 11 20 20 20 20 20 20 20 20 20 20 20 20 |.... | 00002460 cd 0d 0c e4 18 20 20 20 c9 20 33 20 3a 20 74 65 |..... . 3 : te| 00002470 78 74 64 72 61 67 25 3d b9 0d 0c ee 3f 20 20 20 |xtdrag%=....? | 00002480 20 20 20 20 20 20 20 20 20 f2 64 72 61 67 73 61 | .dragsa| 00002490 76 65 62 6f 78 28 73 61 76 65 61 73 74 65 78 74 |vebox(saveastext| 000024a0 25 2c 33 2c 22 66 69 6c 65 5f 66 66 66 22 2c 73 |%,3,"file_fff",s| 000024b0 70 72 69 74 65 73 25 29 0d 0c f8 07 20 20 cb 0d |prites%).... ..| 000024c0 0d 02 05 cb 0d 0d 0c 30 6d 6f 75 73 65 25 21 38 |.......0mouse%!8| 000024d0 3d 30 3a c8 99 20 22 49 6e 74 65 72 66 61 63 65 |=0:.. "Interface| 000024e0 5f 53 6c 61 62 42 75 74 74 6f 6e 22 2c 2c 6d 6f |_SlabButton",,mo| 000024f0 75 73 65 25 0d 0d 16 05 e1 0d 0d 20 04 0d 0d 2a |use%....... ...*| 00002500 15 dd 20 f2 67 65 74 70 72 6f 63 64 65 74 61 69 |.. .getprocdetai| 00002510 6c 73 0d 0d 34 14 e3 20 69 25 3d 30 20 b8 20 6e |ls..4.. i%=0 . n| 00002520 6f 70 72 6f 63 25 0d 0d 3e 3f 20 e7 20 70 72 6f |oproc%..>? . pro| 00002530 63 24 28 69 25 29 3d 6e 61 6d 65 24 20 8c 20 73 |c$(i%)=name$ . s| 00002540 61 76 65 66 72 6f 6d 25 3d 70 72 6f 63 25 28 69 |avefrom%=proc%(i| 00002550 25 29 3a 70 6f 73 25 3d 69 25 3a 69 25 3d 6e 6f |%):pos%=i%:i%=no| 00002560 70 72 6f 63 25 0d 0d 48 05 ed 0d 0d 52 1e 73 61 |proc%..H....R.sa| 00002570 76 65 74 6f 25 3d 62 61 73 69 63 6c 6f 61 64 25 |veto%=basicload%| 00002580 2b 6c 65 6e 67 74 68 25 0d 0d 5c 19 e3 20 69 25 |+length%..\.. i%| 00002590 3d 6e 6f 70 72 6f 63 25 20 b8 20 30 20 88 20 2d |=noproc% . 0 . -| 000025a0 31 0d 0d 66 1e 20 e7 20 70 72 6f 63 25 28 69 25 |1..f. . proc%(i%| 000025b0 29 3e 70 72 6f 63 25 28 70 6f 73 25 29 20 8c 0d |)>proc%(pos%) ..| 000025c0 0d 70 17 20 20 73 61 76 65 74 6f 25 3d 70 72 6f |.p. saveto%=pro| 000025d0 63 25 28 69 25 29 0d 0d 7a 06 20 cd 0d 0d 84 05 |c%(i%)..z. .....| 000025e0 ed 0d 0d 8e 19 e3 20 69 25 3d 6e 6f 66 75 6e 63 |...... i%=nofunc| 000025f0 25 20 b8 20 30 20 88 20 2d 31 0d 0d 98 32 20 e7 |% . 0 . -1...2 .| 00002600 20 66 75 6e 63 25 28 69 25 29 3e 70 72 6f 63 25 | func%(i%)>proc%| 00002610 28 70 6f 73 25 29 20 80 20 66 75 6e 63 25 28 69 |(pos%) . func%(i| 00002620 25 29 3c 73 61 76 65 74 6f 25 20 8c 0d 0d a2 17 |%)<saveto% .....| 00002630 20 20 73 61 76 65 74 6f 25 3d 66 75 6e 63 25 28 | saveto%=func%(| 00002640 69 25 29 0d 0d ac 06 20 cd 0d 0d b6 05 ed 0d 0d |i%).... ........| 00002650 c0 05 e1 0d 0d ca 04 0d 0d d4 15 dd 20 f2 67 65 |............ .ge| 00002660 74 66 75 6e 63 64 65 74 61 69 6c 73 0d 0d de 14 |tfuncdetails....| 00002670 e3 20 69 25 3d 30 20 b8 20 6e 6f 66 75 6e 63 25 |. i%=0 . nofunc%| 00002680 0d 0d e8 3f 20 e7 20 66 75 6e 63 24 28 69 25 29 |...? . func$(i%)| 00002690 3d 6e 61 6d 65 24 20 8c 20 73 61 76 65 66 72 6f |=name$ . savefro| 000026a0 6d 25 3d 66 75 6e 63 25 28 69 25 29 3a 70 6f 73 |m%=func%(i%):pos| 000026b0 25 3d 69 25 3a 69 25 3d 6e 6f 66 75 6e 63 25 0d |%=i%:i%=nofunc%.| 000026c0 0d f2 05 ed 0d 0d fc 1e 73 61 76 65 74 6f 25 3d |........saveto%=| 000026d0 62 61 73 69 63 6c 6f 61 64 25 2b 6c 65 6e 67 74 |basicload%+lengt| 000026e0 68 25 0d 0e 06 19 e3 20 69 25 3d 6e 6f 66 75 6e |h%..... i%=nofun| 000026f0 63 25 20 b8 20 30 20 88 20 2d 31 0d 0e 10 1e 20 |c% . 0 . -1.... | 00002700 e7 20 66 75 6e 63 25 28 69 25 29 3e 66 75 6e 63 |. func%(i%)>func| 00002710 25 28 70 6f 73 25 29 20 8c 0d 0e 1a 17 20 20 73 |%(pos%) ..... s| 00002720 61 76 65 74 6f 25 3d 66 75 6e 63 25 28 69 25 29 |aveto%=func%(i%)| 00002730 0d 0e 24 06 20 cd 0d 0e 2e 05 ed 0d 0e 38 19 e3 |..$. ........8..| 00002740 20 69 25 3d 6e 6f 70 72 6f 63 25 20 b8 20 30 20 | i%=noproc% . 0 | 00002750 88 20 2d 31 0d 0e 42 32 20 e7 20 70 72 6f 63 25 |. -1..B2 . proc%| 00002760 28 69 25 29 3e 66 75 6e 63 25 28 70 6f 73 25 29 |(i%)>func%(pos%)| 00002770 20 80 20 70 72 6f 63 25 28 69 25 29 3c 73 61 76 | . proc%(i%)<sav| 00002780 65 74 6f 25 20 8c 0d 0e 4c 17 20 20 73 61 76 65 |eto% ...L. save| 00002790 74 6f 25 3d 70 72 6f 63 25 28 69 25 29 0d 0e 56 |to%=proc%(i%)..V| 000027a0 06 20 cd 0d 0e 60 05 ed 0d 0e 6a 05 e1 0d 0e 74 |. ...`....j....t| 000027b0 04 0d 0e 7e 13 dd 20 f2 6f 70 65 6e 74 6f 70 28 |...~.. .opentop(| 000027c0 77 68 25 29 0d 0e 88 0c 71 25 21 30 3d 77 68 25 |wh%)....q%!0=wh%| 000027d0 0d 0e 92 20 c8 99 20 22 57 69 6d 70 5f 47 65 74 |... .. "Wimp_Get| 000027e0 57 69 6e 64 6f 77 53 74 61 74 65 22 2c 2c 71 25 |WindowState",,q%| 000027f0 0d 0e 9c 0b 71 25 21 32 34 3d 30 0d 0e a6 0c 71 |....q%!24=0....q| 00002800 25 21 32 38 3d 2d 31 0d 0e b0 1c c8 99 20 22 57 |%!28=-1...... "W| 00002810 69 6d 70 5f 4f 70 65 6e 57 69 6e 64 6f 77 22 2c |imp_OpenWindow",| 00002820 2c 71 25 0d 0e ba 05 e1 0d 0e c4 04 0d 0e ce 12 |,q%.............| 00002830 dd 20 f2 64 72 61 67 67 65 64 28 71 25 29 0d 0e |. .dragged(q%)..| 00002840 d8 12 e7 20 62 61 73 69 63 64 72 61 67 25 20 8c |... basicdrag% .| 00002850 0d 0e e2 27 20 66 69 6c 65 24 3d a4 67 65 74 69 |...' file$=.geti| 00002860 63 6f 6e 74 65 78 74 28 73 61 76 65 61 73 62 61 |context(saveasba| 00002870 73 69 63 25 2c 30 29 0d 0e ec 1f 20 f2 73 61 76 |sic%,0).... .sav| 00002880 65 72 65 71 75 65 73 74 28 66 69 6c 65 24 2c 26 |erequest(file$,&| 00002890 46 46 42 2c 30 29 0d 0e f6 05 cd 0d 0f 00 11 e7 |FFB,0)..........| 000028a0 20 74 65 78 74 64 72 61 67 25 20 8c 0d 0f 0a 26 | textdrag% ....&| 000028b0 20 66 69 6c 65 24 3d a4 67 65 74 69 63 6f 6e 74 | file$=.geticont| 000028c0 65 78 74 28 73 61 76 65 61 73 74 65 78 74 25 2c |ext(saveastext%,| 000028d0 30 29 0d 0f 14 1f 20 f2 73 61 76 65 72 65 71 75 |0).... .saverequ| 000028e0 65 73 74 28 66 69 6c 65 24 2c 26 46 46 46 2c 30 |est(file$,&FFF,0| 000028f0 29 0d 0f 1e 05 cd 0d 0f 28 05 e1 0d 0f 32 04 0d |).......(....2..| 00002900 0f 3c 13 dd 20 f2 6b 65 79 70 72 65 73 73 28 71 |.<.. .keypress(q| 00002910 25 29 0d 0f 46 0b 77 25 3d 71 25 21 30 0d 0f 50 |%)..F.w%=q%!0..P| 00002920 0b 69 25 3d 71 25 21 34 0d 0f 5a 0e 63 68 72 25 |.i%=q%!4..Z.chr%| 00002930 3d 71 25 21 32 34 0d 0f 64 10 70 72 6f 63 65 73 |=q%!24..d.proces| 00002940 73 65 64 25 3d a3 0d 0f 6e 0e 72 65 74 75 72 6e |sed%=...n.return| 00002950 25 3d 31 33 0d 0f 78 0b c8 8e 20 77 25 20 ca 0d |%=13..x... w% ..| 00002960 0f 82 15 20 c9 20 73 61 76 65 61 73 62 61 73 69 |... . saveasbasi| 00002970 63 25 20 3a 0d 0f 8c 0f 20 20 c8 8e 20 63 68 72 |c% :.... .. chr| 00002980 25 20 ca 0d 0f 96 34 20 20 20 c9 20 31 33 20 3a |% ....4 . 13 :| 00002990 20 66 69 6c 65 6e 61 6d 65 24 3d a4 67 65 74 69 | filename$=.geti| 000029a0 63 6f 6e 74 65 78 74 28 73 61 76 65 61 73 62 61 |context(saveasba| 000029b0 73 69 63 25 2c 30 29 0d 0f a0 26 20 20 20 20 20 |sic%,0)...& | 000029c0 20 20 20 20 20 20 20 20 e7 20 a7 66 69 6c 65 6e | . .filen| 000029d0 61 6d 65 24 2c 22 2e 22 29 3d 30 20 8c 0d 0f aa |ame$,".")=0 ....| 000029e0 4b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 f2 |K .| 000029f0 6d 65 73 73 61 67 65 28 22 54 6f 20 73 61 76 65 |message("To save| 00002a00 2c 20 64 72 61 67 20 74 68 65 20 69 63 6f 6e 20 |, drag the icon | 00002a10 74 6f 20 61 20 64 69 72 65 63 74 6f 72 79 20 76 |to a directory v| 00002a20 69 65 77 65 72 2e 22 29 0d 0f b4 12 20 20 20 20 |iewer.").... | 00002a30 20 20 20 20 20 20 20 20 20 cc 0d 0f be 4c 20 20 | ....L | 00002a40 20 20 20 20 20 20 20 20 20 20 20 20 71 25 21 30 | q%!0| 00002a50 3d 30 3a 71 25 21 34 3d 30 3a 71 25 21 38 3d 34 |=0:q%!4=0:q%!8=4| 00002a60 3a 71 25 21 31 32 3d 73 61 76 65 61 73 62 61 73 |:q%!12=saveasbas| 00002a70 69 63 25 3a 71 25 21 31 36 3d 31 3a f2 6d 6f 75 |ic%:q%!16=1:.mou| 00002a80 73 65 28 71 25 29 0d 0f c8 2d 20 20 20 20 20 20 |se(q%)...- | 00002a90 20 20 20 20 20 20 20 20 f2 73 61 76 65 62 61 73 | .savebas| 00002aa0 69 63 66 69 6c 65 28 66 69 6c 65 6e 61 6d 65 24 |icfile(filename$| 00002ab0 2c 30 29 0d 0f d2 12 20 20 20 20 20 20 20 20 20 |,0).... | 00002ac0 20 20 20 20 cd 0d 0f dc 1d 20 20 20 20 20 20 20 | ..... | 00002ad0 20 20 20 20 20 20 70 72 6f 63 65 73 73 65 64 25 | processed%| 00002ae0 3d b9 0d 0f e6 07 20 20 cb 0d 0f f0 14 20 c9 20 |=..... ..... . | 00002af0 73 61 76 65 61 73 74 65 78 74 25 20 3a 0d 0f fa |saveastext% :...| 00002b00 0f 20 20 c8 8e 20 63 68 72 25 20 ca 0d 10 04 33 |. .. chr% ....3| 00002b10 20 20 20 c9 20 31 33 20 3a 20 66 69 6c 65 6e 61 | . 13 : filena| 00002b20 6d 65 24 3d a4 67 65 74 69 63 6f 6e 74 65 78 74 |me$=.geticontext| 00002b30 28 73 61 76 65 61 73 74 65 78 74 25 2c 30 29 0d |(saveastext%,0).| 00002b40 10 0e 26 20 20 20 20 20 20 20 20 20 20 20 20 20 |..& | 00002b50 e7 20 a7 66 69 6c 65 6e 61 6d 65 24 2c 22 2e 22 |. .filename$,"."| 00002b60 29 3d 30 20 8c 0d 10 18 4b 20 20 20 20 20 20 20 |)=0 ....K | 00002b70 20 20 20 20 20 20 20 f2 6d 65 73 73 61 67 65 28 | .message(| 00002b80 22 54 6f 20 73 61 76 65 2c 20 64 72 61 67 20 74 |"To save, drag t| 00002b90 68 65 20 69 63 6f 6e 20 74 6f 20 61 20 64 69 72 |he icon to a dir| 00002ba0 65 63 74 6f 72 79 20 76 69 65 77 65 72 2e 22 29 |ectory viewer.")| 00002bb0 0d 10 22 12 20 20 20 20 20 20 20 20 20 20 20 20 |..". | 00002bc0 20 cc 0d 10 2c 4b 20 20 20 20 20 20 20 20 20 20 | ...,K | 00002bd0 20 20 20 20 71 25 21 30 3d 30 3a 71 25 21 34 3d | q%!0=0:q%!4=| 00002be0 30 3a 71 25 21 38 3d 34 3a 71 25 21 31 32 3d 73 |0:q%!8=4:q%!12=s| 00002bf0 61 76 65 61 73 74 65 78 74 25 3a 71 25 21 31 36 |aveastext%:q%!16| 00002c00 3d 31 3a f2 6d 6f 75 73 65 28 71 25 29 0d 10 36 |=1:.mouse(q%)..6| 00002c10 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 f2 |, .| 00002c20 73 61 76 65 74 65 78 74 66 69 6c 65 28 66 69 6c |savetextfile(fil| 00002c30 65 6e 61 6d 65 24 2c 30 29 0d 10 40 12 20 20 20 |ename$,0)..@. | 00002c40 20 20 20 20 20 20 20 20 20 20 cd 0d 10 4a 1d 20 | ...J. | 00002c50 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 63 | proc| 00002c60 65 73 73 65 64 25 3d b9 0d 10 54 07 20 20 cb 0d |essed%=...T. ..| 00002c70 10 5e 05 cb 0d 10 68 2e e7 20 ac 20 70 72 6f 63 |.^....h.. . proc| 00002c80 65 73 73 65 64 25 20 8c 20 c8 99 20 22 57 69 6d |essed% . .. "Wim| 00002c90 70 5f 50 72 6f 63 65 73 73 4b 65 79 22 2c 63 68 |p_ProcessKey",ch| 00002ca0 72 25 0d 10 72 05 e1 0d 10 7c 04 0d 10 86 15 dd |r%..r....|......| 00002cb0 20 f2 6d 65 6e 75 73 65 6c 65 63 74 28 71 25 29 | .menuselect(q%)| 00002cc0 0d 10 90 23 c8 99 20 22 57 69 6d 70 5f 47 65 74 |...#.. "Wimp_Get| 00002cd0 50 6f 69 6e 74 65 72 49 6e 66 6f 22 2c 2c 71 25 |PointerInfo",,q%| 00002ce0 2b 34 30 0d 10 9a 13 6b 65 65 70 25 3d 28 71 25 |+40....keep%=(q%| 00002cf0 21 34 38 29 3d 31 0d 10 a4 12 c8 8e 20 6d 65 6e |!48)=1...... men| 00002d00 75 6f 70 65 6e 25 20 ca 0d 10 ae 13 20 c9 20 69 |uopen% ..... . i| 00002d10 63 6f 6e 62 61 72 6d 65 6e 75 25 0d 10 b8 0f 20 |conbarmenu%.... | 00002d20 20 c8 8e 20 71 25 21 30 20 ca 0d 10 c2 16 20 20 | .. q%!0 ..... | 00002d30 20 c9 20 31 20 3a 20 c8 8e 20 71 25 21 34 20 ca | . 1 : .. q%!4 .| 00002d40 0d 10 cc 30 20 20 20 20 20 20 20 20 20 20 20 20 |...0 | 00002d50 20 c9 20 30 20 3a 20 f2 73 65 74 74 69 63 6b 28 | . 0 : .settick(| 00002d60 64 72 61 67 67 69 6e 67 6d 65 6e 75 25 2c 30 29 |draggingmenu%,0)| 00002d70 0d 10 d6 32 20 20 20 20 20 20 20 20 20 20 20 20 |...2 | 00002d80 20 20 20 20 20 20 20 20 20 20 f2 75 6e 74 69 63 | .untic| 00002d90 6b 28 64 72 61 67 67 69 6e 67 6d 65 6e 75 25 2c |k(draggingmenu%,| 00002da0 31 29 0d 10 e0 28 20 20 20 20 20 20 20 20 20 20 |1)...( | 00002db0 20 20 20 20 20 20 20 20 20 20 20 20 64 72 61 67 | drag| 00002dc0 73 70 72 69 74 65 73 25 3d b9 0d 10 ea 30 20 20 |sprites%=....0 | 00002dd0 20 20 20 20 20 20 20 20 20 20 20 c9 20 31 20 3a | . 1 :| 00002de0 20 f2 73 65 74 74 69 63 6b 28 64 72 61 67 67 69 | .settick(draggi| 00002df0 6e 67 6d 65 6e 75 25 2c 31 29 0d 10 f4 32 20 20 |ngmenu%,1)...2 | 00002e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00002e10 20 20 20 20 f2 75 6e 74 69 63 6b 28 64 72 61 67 | .untick(drag| 00002e20 67 69 6e 67 6d 65 6e 75 25 2c 30 29 0d 10 fe 28 |gingmenu%,0)...(| 00002e30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00002e40 20 20 20 20 20 20 64 72 61 67 73 70 72 69 74 65 | dragsprite| 00002e50 73 25 3d a3 0d 11 08 11 20 20 20 20 20 20 20 20 |s%=..... | 00002e60 20 20 20 20 cb 0d 11 12 14 20 20 20 c9 20 32 20 | ..... . 2 | 00002e70 3a 20 71 75 69 74 25 3d b9 0d 11 1c 07 20 20 cb |: quit%=..... .| 00002e80 0d 11 26 10 20 c9 20 6d 61 69 6e 6d 65 6e 75 25 |..&. . mainmenu%| 00002e90 0d 11 30 0f 20 20 c8 8e 20 71 25 21 30 20 ca 0d |..0. .. q%!0 ..| 00002ea0 11 3a 1e 20 20 20 c9 20 31 20 3a 20 f2 6f 70 65 |.:. . 1 : .ope| 00002eb0 6e 74 6f 70 28 73 65 61 72 63 68 25 29 0d 11 44 |ntop(search%)..D| 00002ec0 28 20 20 20 20 20 20 20 20 20 20 20 20 f2 70 75 |( .pu| 00002ed0 74 69 63 6f 6e 63 61 72 65 74 28 73 65 61 72 63 |ticoncaret(searc| 00002ee0 68 25 2c 31 29 0d 11 4e 07 20 20 cb 0d 11 58 05 |h%,1)..N. ...X.| 00002ef0 cb 0d 11 62 39 e7 20 6b 65 65 70 25 20 8c 20 c8 |...b9. keep% . .| 00002f00 99 20 22 57 69 6d 70 5f 43 72 65 61 74 65 4d 65 |. "Wimp_CreateMe| 00002f10 6e 75 22 2c 2c 6d 65 6e 75 6f 70 65 6e 25 2c 71 |nu",,menuopen%,q| 00002f20 25 21 34 30 2c 71 25 21 34 34 0d 11 6c 05 e1 0d |%!40,q%!44..l...| 00002f30 11 76 04 0d 11 80 12 dd 20 f2 6f 70 65 6e 6d 61 |.v...... .openma| 00002f40 69 6e 74 6f 70 0d 11 8a 34 f2 73 65 74 65 78 74 |intop...4.setext| 00002f50 65 6e 74 28 70 72 6f 63 70 61 6e 65 25 2c 30 2c |ent(procpane%,0,| 00002f60 2d 28 6e 6f 70 72 6f 63 25 2a 34 38 29 2c 35 31 |-(noproc%*48),51| 00002f70 36 2c 30 2c 2d 34 31 32 29 0d 11 94 34 f2 73 65 |6,0,-412)...4.se| 00002f80 74 65 78 74 65 6e 74 28 66 75 6e 63 70 61 6e 65 |textent(funcpane| 00002f90 25 2c 30 2c 2d 28 6e 6f 66 75 6e 63 25 2a 34 38 |%,0,-(nofunc%*48| 00002fa0 29 2c 35 31 36 2c 30 2c 2d 34 31 32 29 0d 11 9e |),516,0,-412)...| 00002fb0 0e 71 25 21 30 3d 6d 61 69 6e 25 0d 11 a8 20 c8 |.q%!0=main%... .| 00002fc0 99 20 22 57 69 6d 70 5f 47 65 74 57 69 6e 64 6f |. "Wimp_GetWindo| 00002fd0 77 53 74 61 74 65 22 2c 2c 71 25 0d 11 b2 15 78 |wState",,q%....x| 00002fe0 31 25 3d 71 25 21 34 3a 79 31 25 3d 71 25 21 38 |1%=q%!4:y1%=q%!8| 00002ff0 0d 11 bc 17 78 32 25 3d 71 25 21 31 32 3a 79 32 |....x2%=q%!12:y2| 00003000 25 3d 71 25 21 31 36 0d 11 c6 12 71 25 21 30 3d |%=q%!16....q%!0=| 00003010 66 75 6e 63 70 61 6e 65 25 0d 11 d0 20 c8 99 20 |funcpane%... .. | 00003020 22 57 69 6d 70 5f 47 65 74 57 69 6e 64 6f 77 53 |"Wimp_GetWindowS| 00003030 74 61 74 65 22 2c 2c 71 25 0d 11 da 10 71 25 21 |tate",,q%....q%!| 00003040 34 3d 78 31 25 2b 36 35 30 0d 11 e4 0f 71 25 21 |4=x1%+650....q%!| 00003050 38 3d 79 31 25 2b 32 38 0d 11 ee 12 71 25 21 31 |8=y1%+28....q%!1| 00003060 32 3d 71 25 21 34 2b 35 31 36 0d 11 f8 12 71 25 |2=q%!4+516....q%| 00003070 21 31 36 3d 71 25 21 38 2b 34 31 32 0d 12 02 0c |!16=q%!8+412....| 00003080 71 25 21 32 38 3d 2d 31 0d 12 0c 1c c8 99 20 22 |q%!28=-1...... "| 00003090 57 69 6d 70 5f 4f 70 65 6e 57 69 6e 64 6f 77 22 |Wimp_OpenWindow"| 000030a0 2c 2c 71 25 0d 12 16 12 71 25 21 30 3d 70 72 6f |,,q%....q%!0=pro| 000030b0 63 70 61 6e 65 25 0d 12 20 20 c8 99 20 22 57 69 |cpane%.. .. "Wi| 000030c0 6d 70 5f 47 65 74 57 69 6e 64 6f 77 53 74 61 74 |mp_GetWindowStat| 000030d0 65 22 2c 2c 71 25 0d 12 2a 0f 71 25 21 34 3d 78 |e",,q%..*.q%!4=x| 000030e0 31 25 2b 33 34 0d 12 34 0f 71 25 21 38 3d 79 31 |1%+34..4.q%!8=y1| 000030f0 25 2b 32 38 0d 12 3e 12 71 25 21 31 32 3d 71 25 |%+28..>.q%!12=q%| 00003100 21 34 2b 35 31 36 0d 12 48 12 71 25 21 31 36 3d |!4+516..H.q%!16=| 00003110 71 25 21 38 2b 34 31 32 0d 12 52 13 71 25 21 32 |q%!8+412..R.q%!2| 00003120 38 3d 66 75 6e 63 70 61 6e 65 25 0d 12 5c 1c c8 |8=funcpane%..\..| 00003130 99 20 22 57 69 6d 70 5f 4f 70 65 6e 57 69 6e 64 |. "Wimp_OpenWind| 00003140 6f 77 22 2c 2c 71 25 0d 12 66 0e 71 25 21 30 3d |ow",,q%..f.q%!0=| 00003150 6d 61 69 6e 25 0d 12 70 20 c8 99 20 22 57 69 6d |main%..p .. "Wim| 00003160 70 5f 47 65 74 57 69 6e 64 6f 77 53 74 61 74 65 |p_GetWindowState| 00003170 22 2c 2c 71 25 0d 12 7a 13 71 25 21 32 38 3d 70 |",,q%..z.q%!28=p| 00003180 72 6f 63 70 61 6e 65 25 0d 12 84 1c c8 99 20 22 |rocpane%...... "| 00003190 57 69 6d 70 5f 4f 70 65 6e 57 69 6e 64 6f 77 22 |Wimp_OpenWindow"| 000031a0 2c 2c 71 25 0d 12 8e 05 e1 0d 12 98 04 0d 12 a2 |,,q%............| 000031b0 0c dd 20 f2 65 72 72 6f 72 0d 12 ac 18 c8 99 20 |.. .error...... | 000031c0 22 57 69 6d 70 5f 44 72 61 67 42 6f 78 22 2c 2c |"Wimp_DragBox",,| 000031d0 30 0d 12 b6 8b f2 6d 65 73 73 61 67 65 28 22 41 |0.....message("A| 000031e0 20 70 6f 73 73 69 62 6c 79 20 66 61 74 61 6c 20 | possibly fatal | 000031f0 65 72 72 6f 72 20 68 61 73 20 6f 63 63 75 72 65 |error has occure| 00003200 64 20 61 74 20 6c 69 6e 65 20 22 2b c3 9e 2b 22 |d at line "+..+"| 00003210 20 2d 20 22 2b f6 24 2b 22 2e 20 50 6c 65 61 73 | - "+.$+". Pleas| 00003220 65 20 73 61 76 65 20 79 6f 75 72 20 77 6f 72 6b |e save your work| 00003230 20 61 73 20 73 6f 6f 6e 20 61 73 20 70 6f 73 73 | as soon as poss| 00003240 69 62 6c 65 20 61 6e 64 20 72 65 2d 6c 6f 61 64 |ible and re-load| 00003250 20 50 72 6f 63 46 75 6e 63 2e 22 29 0d 12 c0 05 | ProcFunc.")....| 00003260 e1 0d 12 ca 04 0d 12 d4 18 dd 20 f2 6d 65 73 73 |.......... .mess| 00003270 61 67 65 28 6d 65 73 73 61 67 65 24 29 0d 12 de |age(message$)...| 00003280 0a 71 25 21 38 3d 30 0d 12 e8 21 c8 99 20 22 49 |.q%!8=0...!.. "I| 00003290 6e 74 65 72 66 61 63 65 5f 53 6c 61 62 42 75 74 |nterface_SlabBut| 000032a0 74 6f 6e 22 2c 2c 71 25 0d 12 f2 18 c8 99 20 22 |ton",,q%...... "| 000032b0 57 69 6d 70 5f 44 72 61 67 42 6f 78 22 2c 2c 30 |Wimp_DragBox",,0| 000032c0 0d 12 fc 26 f2 73 65 74 69 63 6f 6e 74 65 78 74 |...&.seticontext| 000032d0 28 65 72 72 6f 72 62 6f 78 25 2c 32 2c 6d 65 73 |(errorbox%,2,mes| 000032e0 73 61 67 65 24 29 0d 13 06 12 71 25 21 30 3d 65 |sage$)....q%!0=e| 000032f0 72 72 6f 72 62 6f 78 25 0d 13 10 20 c8 99 20 22 |rrorbox%... .. "| 00003300 57 69 6d 70 5f 47 65 74 57 69 6e 64 6f 77 53 74 |Wimp_GetWindowSt| 00003310 61 74 65 22 2c 2c 71 25 0d 13 1a 0c 71 25 21 32 |ate",,q%....q%!2| 00003320 38 3d 2d 31 0d 13 24 1c c8 99 20 22 57 69 6d 70 |8=-1..$... "Wimp| 00003330 5f 4f 70 65 6e 57 69 6e 64 6f 77 22 2c 2c 71 25 |_OpenWindow",,q%| 00003340 0d 13 2e 22 c8 99 20 22 57 69 6d 70 5f 47 65 74 |...".. "Wimp_Get| 00003350 57 69 6e 64 6f 77 4f 75 74 6c 69 6e 65 22 2c 2c |WindowOutline",,| 00003360 71 25 0d 13 38 29 c8 97 20 c8 93 20 71 25 21 34 |q%..8).. .. q%!4| 00003370 2c 71 25 21 38 2c 71 25 21 31 32 2d 71 25 21 34 |,q%!8,q%!12-q%!4| 00003380 2c 71 25 21 31 36 2d 71 25 21 38 0d 13 42 07 ef |,q%!16-q%!8..B..| 00003390 20 37 0d 13 4c 05 e1 0d 13 56 04 0d 13 60 0c dd | 7..L....V...`..| 000033a0 20 f2 6d 65 6e 75 73 0d 13 6a 0f f2 62 75 69 6c | .menus..j..buil| 000033b0 64 6d 65 6e 75 73 0d 13 74 05 e1 0d 13 7e 04 0d |dmenus..t....~..| 000033c0 13 88 12 dd 20 a4 73 74 72 69 6e 67 30 28 70 25 |.... .string0(p%| 000033d0 29 0d 13 92 09 61 24 3d 22 22 0d 13 9c 0e c8 95 |)....a$=""......| 000033e0 20 3f 70 25 3e 3d 33 32 0d 13 a6 0e 61 24 2b 3d | ?p%>=32....a$+=| 000033f0 bd 28 3f 70 25 29 0d 13 b0 09 70 25 2b 3d 31 0d |.(?p%)....p%+=1.| 00003400 13 ba 05 ce 0d 13 c4 07 3d 61 24 0d 13 ce 04 0d |........=a$.....| 00003410 13 d8 12 dd 20 f2 70 75 74 30 28 70 25 2c 70 24 |.... .put0(p%,p$| 00003420 29 0d 13 e2 12 e3 20 69 25 3d 31 20 b8 20 a9 28 |)..... i%=1 . .(| 00003430 70 24 29 0d 13 ec 1b 3f 28 70 25 2b 69 25 2d 31 |p$)....?(p%+i%-1| 00003440 29 3d 97 28 c1 70 24 2c 69 25 2c 31 29 29 0d 13 |)=.(.p$,i%,1))..| 00003450 f6 05 ed 0d 14 00 1e e7 20 a9 28 70 24 29 3c 31 |........ .(p$)<1| 00003460 32 20 8c 20 3f 28 70 25 2b a9 28 70 24 29 29 3d |2 . ?(p%+.(p$))=| 00003470 30 0d 14 0a 05 e1 0d 14 14 04 0d 14 1e 1e dd 20 |0.............. | 00003480 f2 6d 65 6e 75 68 65 61 64 28 74 69 74 6c 65 24 |.menuhead(title$| 00003490 2c 77 69 64 74 68 25 29 0d 14 28 11 24 6d 65 6e |,width%)..(.$men| 000034a0 75 25 3d 74 69 74 6c 65 24 0d 14 32 16 6d 65 6e |u%=title$..2.men| 000034b0 75 25 21 31 32 3d 26 30 30 30 37 30 32 30 37 0d |u%!12=&00070207.| 000034c0 14 3c 13 6d 65 6e 75 25 21 31 36 3d 77 69 64 74 |.<.menu%!16=widt| 000034d0 68 25 0d 14 46 0f 6d 65 6e 75 25 21 32 30 3d 34 |h%..F.menu%!20=4| 000034e0 34 0d 14 50 0e 6d 65 6e 75 25 21 32 34 3d 30 0d |4..P.menu%!24=0.| 000034f0 14 5a 0d 6d 65 6e 75 25 2b 3d 32 38 0d 14 64 05 |.Z.menu%+=28..d.| 00003500 e1 0d 14 6e 04 0d 14 78 25 dd 20 f2 6d 65 6e 75 |...n...x%. .menu| 00003510 69 74 65 6d 28 74 65 78 74 24 2c 6c 61 73 74 25 |item(text$,last%| 00003520 2c 73 75 62 6d 65 6e 75 25 29 0d 14 82 23 e7 20 |,submenu%)...#. | 00003530 6c 61 73 74 25 20 6d 65 6e 75 25 21 30 3d 26 38 |last% menu%!0=&8| 00003540 30 20 8b 20 6d 65 6e 75 25 21 30 3d 30 0d 14 8c |0 . menu%!0=0...| 00003550 14 6d 65 6e 75 25 21 34 3d 73 75 62 6d 65 6e 75 |.menu%!4=submenu| 00003560 25 0d 14 96 12 e7 20 a9 20 74 65 78 74 24 3c 31 |%..... . text$<1| 00003570 32 20 8c 0d 14 a0 16 20 6d 65 6e 75 25 21 38 3d |2 ..... menu%!8=| 00003580 26 30 37 30 30 30 30 33 31 0d 14 aa 1a 20 f2 70 |&07000031.... .p| 00003590 75 74 30 28 6d 65 6e 75 25 2b 31 32 2c 74 65 78 |ut0(menu%+12,tex| 000035a0 74 24 29 0d 14 b4 05 cc 0d 14 be 16 20 6d 65 6e |t$)......... men| 000035b0 75 25 21 38 3d 26 30 37 30 30 30 31 33 31 0d 14 |u%!8=&07000131..| 000035c0 c8 16 20 6d 65 6e 75 25 21 31 32 3d 69 6e 64 6d |.. menu%!12=indm| 000035d0 65 6e 75 25 0d 14 d2 10 20 6d 65 6e 75 25 21 31 |enu%.... menu%!1| 000035e0 36 3d 2d 31 0d 14 dc 18 20 6d 65 6e 75 25 21 32 |6=-1.... menu%!2| 000035f0 30 3d a9 28 74 65 78 74 24 29 2b 31 0d 14 e6 14 |0=.(text$)+1....| 00003600 20 24 69 6e 64 6d 65 6e 75 25 3d 74 65 78 74 24 | $indmenu%=text$| 00003610 0d 14 f0 19 20 69 6e 64 6d 65 6e 75 25 2b 3d a9 |.... indmenu%+=.| 00003620 28 74 65 78 74 24 29 2b 31 0d 14 fa 05 cd 0d 15 |(text$)+1.......| 00003630 04 0d 6d 65 6e 75 25 2b 3d 32 34 0d 15 0e 05 e1 |..menu%+=24.....| 00003640 0d 15 18 04 0d 15 22 1f dd 20 f2 73 65 74 6d 65 |......".. .setme| 00003650 6e 75 74 65 78 74 28 6d 25 2c 70 25 2c 74 65 78 |nutext(m%,p%,tex| 00003660 74 24 29 0d 15 2c 1f f2 70 75 74 30 28 6d 25 2b |t$)..,..put0(m%+| 00003670 32 38 2b 70 25 2a 32 34 2b 31 32 2c 74 65 78 74 |28+p%*24+12,text| 00003680 24 29 0d 15 36 05 e1 0d 15 40 04 0d 15 4a 17 dd |$)..6....@...J..| 00003690 20 f2 6d 65 6e 75 73 68 61 64 65 28 6d 25 2c 70 | .menushade(m%,p| 000036a0 25 29 0d 15 54 14 6d 25 3d 6d 25 2b 32 38 2b 70 |%)..T.m%=m%+28+p| 000036b0 25 2a 32 34 2b 38 0d 15 5e 13 21 6d 25 3d 21 6d |%*24+8..^.!m%=!m| 000036c0 25 20 84 20 31 3c 3c 32 32 0d 15 68 05 e1 0d 15 |% . 1<<22..h....| 000036d0 72 04 0d 15 7c 19 dd 20 f2 6d 65 6e 75 75 6e 73 |r...|.. .menuuns| 000036e0 68 61 64 65 28 6d 25 2c 70 25 29 0d 15 86 14 6d |hade(m%,p%)....m| 000036f0 25 3d 6d 25 2b 32 38 2b 70 25 2a 32 34 2b 38 0d |%=m%+28+p%*24+8.| 00003700 15 90 17 21 6d 25 3d 21 6d 25 20 80 20 26 46 46 |...!m%=!m% . &FF| 00003710 42 46 46 46 46 46 0d 15 9a 05 e1 0d 15 a4 04 0d |BFFFFF..........| 00003720 15 ae 1b dd 20 f2 6d 65 6e 75 77 72 69 74 65 28 |.... .menuwrite(| 00003730 69 6e 64 24 2c f8 20 6f 25 29 0d 15 b8 11 6c 6f |ind$,. o%)....lo| 00003740 63 25 3d 6d 65 6e 75 25 2b 32 34 0d 15 c2 1a f2 |c%=menu%+24.....| 00003750 70 75 74 30 28 6d 65 6e 75 25 2b 32 34 2c c4 38 |put0(menu%+24,.8| 00003760 2c bd 30 29 29 0d 15 cc 18 f2 70 75 74 30 28 6d |,.0)).....put0(m| 00003770 65 6e 75 25 2b 33 36 2c 69 6e 64 24 29 0d 15 d6 |enu%+36,ind$)...| 00003780 0f 6d 65 6e 75 25 21 30 3d 26 38 34 0d 15 e0 0d |.menu%!0=&84....| 00003790 6d 65 6e 75 25 21 34 3d 30 0d 15 ea 15 6d 65 6e |menu%!4=0....men| 000037a0 75 25 21 38 3d 26 30 37 30 30 30 31 33 31 0d 15 |u%!8=&07000131..| 000037b0 f4 11 6d 65 6e 75 25 21 31 32 3d 6c 6f 63 25 0d |..menu%!12=loc%.| 000037c0 15 fe 14 6d 65 6e 75 25 21 31 36 3d 6c 6f 63 25 |...menu%!16=loc%| 000037d0 2b 31 32 0d 16 08 0e 6d 65 6e 75 25 21 32 30 3d |+12....menu%!20=| 000037e0 39 0d 16 12 0d 6d 65 6e 75 25 2b 3d 34 34 0d 16 |9....menu%+=44..| 000037f0 1c 0b 6f 25 3d 6c 6f 63 25 0d 16 26 05 e1 0d 16 |..o%=loc%..&....| 00003800 30 04 0d 16 3a 1a dd 20 f2 70 75 74 6c 69 6e 65 |0...:.. .putline| 00003810 61 66 74 65 72 28 6d 25 2c 70 25 29 0d 16 44 12 |after(m%,p%)..D.| 00003820 6d 25 3d 6d 25 2b 32 38 2b 70 25 2a 32 34 0d 16 |m%=m%+28+p%*24..| 00003830 4e 0f 21 6d 25 3d 21 6d 25 20 84 20 32 0d 16 58 |N.!m%=!m% . 2..X| 00003840 05 e1 0d 16 62 04 0d 16 6c 11 dd 20 f2 62 75 69 |....b...l.. .bui| 00003850 6c 64 6d 65 6e 75 73 0d 16 76 17 64 72 61 67 67 |ldmenus..v.dragg| 00003860 69 6e 67 6d 65 6e 75 25 3d 6d 65 6e 75 25 0d 16 |ingmenu%=menu%..| 00003870 80 1d f2 6d 65 6e 75 68 65 61 64 28 22 44 72 61 |...menuhead("Dra| 00003880 67 67 69 6e 67 22 2c 32 30 38 29 0d 16 8a 1c f2 |gging",208).....| 00003890 6d 65 6e 75 69 74 65 6d 28 22 53 70 72 69 74 65 |menuitem("Sprite| 000038a0 73 22 2c a3 2c 30 29 0d 16 94 21 f2 6d 65 6e 75 |s",.,0)...!.menu| 000038b0 69 74 65 6d 28 22 42 6f 75 6e 64 69 6e 67 20 42 |item("Bounding B| 000038c0 6f 78 22 2c b9 2c 30 29 0d 16 9e 04 0d 16 a8 16 |ox",.,0)........| 000038d0 69 63 6f 6e 62 61 72 6d 65 6e 75 25 3d 6d 65 6e |iconbarmenu%=men| 000038e0 75 25 0d 16 b2 1d f2 6d 65 6e 75 68 65 61 64 28 |u%.....menuhead(| 000038f0 22 50 72 6f 63 46 75 6e 63 22 2c 31 34 34 29 0d |"ProcFunc",144).| 00003900 16 bc 1d f2 6d 65 6e 75 69 74 65 6d 28 22 49 6e |....menuitem("In| 00003910 66 6f 22 2c a3 2c 69 6e 66 6f 25 29 0d 16 c6 29 |fo",.,info%)...)| 00003920 f2 6d 65 6e 75 69 74 65 6d 28 22 44 72 61 67 67 |.menuitem("Dragg| 00003930 69 6e 67 22 2c a3 2c 64 72 61 67 67 69 6e 67 6d |ing",.,draggingm| 00003940 65 6e 75 25 29 0d 16 d0 19 f2 6d 65 6e 75 69 74 |enu%).....menuit| 00003950 65 6d 28 22 51 75 69 74 22 2c b9 2c 30 29 0d 16 |em("Quit",.,0)..| 00003960 da 31 e7 20 ac 20 64 72 61 67 61 73 70 72 69 74 |.1. . dragasprit| 00003970 65 25 20 8c 20 f2 6d 65 6e 75 73 68 61 64 65 28 |e% . .menushade(| 00003980 69 63 6f 6e 62 61 72 6d 65 6e 75 25 2c 31 29 0d |iconbarmenu%,1).| 00003990 16 e4 1d f2 73 65 74 74 69 63 6b 28 64 72 61 67 |....settick(drag| 000039a0 67 69 6e 67 6d 65 6e 75 25 2c 30 29 0d 16 ee 12 |gingmenu%,0)....| 000039b0 64 72 61 67 73 70 72 69 74 65 73 25 3d b9 0d 16 |dragsprites%=...| 000039c0 f8 04 0d 17 02 13 6d 61 69 6e 6d 65 6e 75 25 3d |......mainmenu%=| 000039d0 6d 65 6e 75 25 0d 17 0c 1d f2 6d 65 6e 75 68 65 |menu%.....menuhe| 000039e0 61 64 28 22 50 72 6f 63 46 75 6e 63 22 2c 31 36 |ad("ProcFunc",16| 000039f0 30 29 0d 17 16 1d f2 6d 65 6e 75 69 74 65 6d 28 |0).....menuitem(| 00003a00 22 49 6e 66 6f 22 2c a3 2c 69 6e 66 6f 25 29 0d |"Info",.,info%).| 00003a10 17 20 1e f2 6d 65 6e 75 69 74 65 6d 28 22 53 65 |. ..menuitem("Se| 00003a20 61 72 63 68 2e 2e 2e 22 2c b9 2c 30 29 0d 17 2a |arch...",.,0)..*| 00003a30 04 0d 17 34 13 73 61 76 65 6d 65 6e 75 25 3d 6d |...4.savemenu%=m| 00003a40 65 6e 75 25 0d 17 3e 1c f2 6d 65 6e 75 68 65 61 |enu%..>..menuhea| 00003a50 64 28 22 53 61 76 65 20 61 73 22 2c 31 32 38 29 |d("Save as",128)| 00003a60 0d 17 48 25 f2 6d 65 6e 75 69 74 65 6d 28 22 42 |..H%.menuitem("B| 00003a70 61 73 69 63 22 2c a3 2c 73 61 76 65 61 73 62 61 |asic",.,saveasba| 00003a80 73 69 63 25 29 0d 17 52 23 f2 6d 65 6e 75 69 74 |sic%)..R#.menuit| 00003a90 65 6d 28 22 54 65 78 74 22 2c b9 2c 73 61 76 65 |em("Text",.,save| 00003aa0 61 73 74 65 78 74 25 29 0d 17 5c 05 e1 0d 17 66 |astext%)..\....f| 00003ab0 04 0d 17 70 1f dd 20 f2 73 65 74 69 63 6f 6e 74 |...p.. .seticont| 00003ac0 65 78 74 28 77 25 2c 69 25 2c 74 65 78 74 24 29 |ext(w%,i%,text$)| 00003ad0 0d 17 7a 13 71 25 21 30 3d 77 25 3a 71 25 21 34 |..z.q%!0=w%:q%!4| 00003ae0 3d 69 25 0d 17 84 1e c8 99 20 22 57 69 6d 70 5f |=i%...... "Wimp_| 00003af0 47 65 74 49 63 6f 6e 53 74 61 74 65 22 2c 2c 71 |GetIconState",,q| 00003b00 25 0d 17 8e 0c 70 25 3d 71 25 21 32 38 0d 17 98 |%....p%=q%!28...| 00003b10 0d 24 70 25 3d 74 65 78 74 24 0d 17 a2 12 71 25 |.$p%=text$....q%| 00003b20 21 38 3d 30 3a 71 25 21 31 32 3d 30 0d 17 ac 1e |!8=0:q%!12=0....| 00003b30 c8 99 20 22 57 69 6d 70 5f 53 65 74 49 63 6f 6e |.. "Wimp_SetIcon| 00003b40 53 74 61 74 65 22 2c 2c 71 25 0d 17 b6 05 e1 0d |State",,q%......| 00003b50 17 c0 04 0d 17 ca 1d dd 20 f2 73 65 74 69 63 6f |........ .setico| 00003b60 6e 6e 75 6d 62 65 72 28 77 25 2c 69 25 2c 6e 29 |nnumber(w%,i%,n)| 00003b70 0d 17 d4 1c f2 73 65 74 69 63 6f 6e 74 65 78 74 |.....seticontext| 00003b80 28 77 25 2c 69 25 2c c3 28 6e 29 29 0d 17 de 05 |(w%,i%,.(n))....| 00003b90 e1 0d 17 e8 04 0d 17 f2 1b dd 20 a4 67 65 74 69 |.......... .geti| 00003ba0 63 6f 6e 6e 75 6d 62 65 72 28 77 25 2c 69 25 29 |connumber(w%,i%)| 00003bb0 0d 17 fc 19 3d bb a4 67 65 74 69 63 6f 6e 74 65 |....=..geticonte| 00003bc0 78 74 28 77 25 2c 69 25 29 0d 18 06 04 0d 18 10 |xt(w%,i%).......| 00003bd0 19 dd 20 a4 67 65 74 69 63 6f 6e 74 65 78 74 28 |.. .geticontext(| 00003be0 77 25 2c 69 25 29 0d 18 1a 13 71 25 21 30 3d 77 |w%,i%)....q%!0=w| 00003bf0 25 3a 71 25 21 34 3d 69 25 0d 18 24 1e c8 99 20 |%:q%!4=i%..$... | 00003c00 22 57 69 6d 70 5f 47 65 74 49 63 6f 6e 53 74 61 |"Wimp_GetIconSta| 00003c10 74 65 22 2c 2c 71 25 0d 18 2e 14 3d a4 73 74 72 |te",,q%....=.str| 00003c20 69 6e 67 30 28 71 25 21 32 38 29 0d 18 38 04 0d |ing0(q%!28)..8..| 00003c30 18 42 18 dd 20 f2 73 65 6c 65 63 74 69 63 6f 6e |.B.. .selecticon| 00003c40 28 77 25 2c 69 25 29 0d 18 4c 13 71 25 21 30 3d |(w%,i%)..L.q%!0=| 00003c50 77 25 3a 71 25 21 34 3d 69 25 0d 18 56 1e c8 99 |w%:q%!4=i%..V...| 00003c60 20 22 57 69 6d 70 5f 47 65 74 49 63 6f 6e 53 74 | "Wimp_GetIconSt| 00003c70 61 74 65 22 2c 2c 71 25 0d 18 60 1a 71 25 21 38 |ate",,q%..`.q%!8| 00003c80 3d 31 3c 3c 32 31 3a 71 25 21 31 32 3d 31 3c 3c |=1<<21:q%!12=1<<| 00003c90 32 31 0d 18 6a 1e c8 99 20 22 57 69 6d 70 5f 53 |21..j... "Wimp_S| 00003ca0 65 74 49 63 6f 6e 53 74 61 74 65 22 2c 2c 71 25 |etIconState",,q%| 00003cb0 0d 18 74 05 e1 0d 18 7e 04 0d 18 88 1a dd 20 f2 |..t....~...... .| 00003cc0 64 65 73 65 6c 65 63 74 69 63 6f 6e 28 77 25 2c |deselecticon(w%,| 00003cd0 69 25 29 0d 18 92 13 71 25 21 30 3d 77 25 3a 71 |i%)....q%!0=w%:q| 00003ce0 25 21 34 3d 69 25 0d 18 9c 1e c8 99 20 22 57 69 |%!4=i%...... "Wi| 00003cf0 6d 70 5f 47 65 74 49 63 6f 6e 53 74 61 74 65 22 |mp_GetIconState"| 00003d00 2c 2c 71 25 0d 18 a6 16 71 25 21 38 3d 30 3a 71 |,,q%....q%!8=0:q| 00003d10 25 21 31 32 3d 31 3c 3c 32 31 0d 18 b0 1e c8 99 |%!12=1<<21......| 00003d20 20 22 57 69 6d 70 5f 53 65 74 49 63 6f 6e 53 74 | "Wimp_SetIconSt| 00003d30 61 74 65 22 2c 2c 71 25 0d 18 ba 05 e1 0d 18 c4 |ate",,q%........| 00003d40 04 0d 18 ce 17 dd 20 f2 73 68 61 64 65 69 63 6f |...... .shadeico| 00003d50 6e 28 77 25 2c 69 25 29 0d 18 d8 13 71 25 21 30 |n(w%,i%)....q%!0| 00003d60 3d 77 25 3a 71 25 21 34 3d 69 25 0d 18 e2 1e c8 |=w%:q%!4=i%.....| 00003d70 99 20 22 57 69 6d 70 5f 47 65 74 49 63 6f 6e 53 |. "Wimp_GetIconS| 00003d80 74 61 74 65 22 2c 2c 71 25 0d 18 ec 1a 71 25 21 |tate",,q%....q%!| 00003d90 38 3d 31 3c 3c 32 32 3a 71 25 21 31 32 3d 31 3c |8=1<<22:q%!12=1<| 00003da0 3c 32 32 0d 18 f6 1e c8 99 20 22 57 69 6d 70 5f |<22...... "Wimp_| 00003db0 53 65 74 49 63 6f 6e 53 74 61 74 65 22 2c 2c 71 |SetIconState",,q| 00003dc0 25 0d 19 00 05 e1 0d 19 0a 04 0d 19 14 19 dd 20 |%.............. | 00003dd0 f2 75 6e 73 68 61 64 65 69 63 6f 6e 28 77 25 2c |.unshadeicon(w%,| 00003de0 69 25 29 0d 19 1e 13 71 25 21 30 3d 77 25 3a 71 |i%)....q%!0=w%:q| 00003df0 25 21 34 3d 69 25 0d 19 28 1e c8 99 20 22 57 69 |%!4=i%..(... "Wi| 00003e00 6d 70 5f 47 65 74 49 63 6f 6e 53 74 61 74 65 22 |mp_GetIconState"| 00003e10 2c 2c 71 25 0d 19 32 16 71 25 21 38 3d 30 3a 71 |,,q%..2.q%!8=0:q| 00003e20 25 21 31 32 3d 31 3c 3c 32 32 0d 19 3c 1e c8 99 |%!12=1<<22..<...| 00003e30 20 22 57 69 6d 70 5f 53 65 74 49 63 6f 6e 53 74 | "Wimp_SetIconSt| 00003e40 61 74 65 22 2c 2c 71 25 0d 19 46 05 e1 0d 19 50 |ate",,q%..F....P| 00003e50 04 0d 19 5a 15 dd 20 f2 73 65 74 74 69 63 6b 28 |...Z.. .settick(| 00003e60 6d 25 2c 6c 25 29 0d 19 64 12 6d 25 3d 6d 25 2b |m%,l%)..d.m%=m%+| 00003e70 32 38 2b 6c 25 2a 32 34 0d 19 6e 0f 21 6d 25 3d |28+l%*24..n.!m%=| 00003e80 21 6d 25 20 84 20 31 0d 19 78 05 e1 0d 19 82 04 |!m% . 1..x......| 00003e90 0d 19 8c 14 dd 20 f2 75 6e 74 69 63 6b 28 6d 25 |..... .untick(m%| 00003ea0 2c 6c 25 29 0d 19 96 12 6d 25 3d 6d 25 2b 32 38 |,l%)....m%=m%+28| 00003eb0 2b 6c 25 2a 32 34 0d 19 a0 17 21 6d 25 3d 21 6d |+l%*24....!m%=!m| 00003ec0 25 20 80 20 26 46 46 46 46 46 46 46 45 0d 19 aa |% . &FFFFFFFE...| 00003ed0 05 e1 0d 19 b4 04 0d 19 be 1b dd 20 f2 73 68 61 |........... .sha| 00003ee0 64 65 69 63 6f 6e 73 28 77 25 2c 69 63 6f 6e 24 |deicons(w%,icon$| 00003ef0 29 0d 19 c8 05 f5 0d 19 d2 17 20 63 6f 6d 6d 61 |)......... comma| 00003f00 25 3d a7 69 63 6f 6e 24 2c 22 2c 22 29 0d 19 dc |%=.icon$,",")...| 00003f10 11 20 e7 20 63 6f 6d 6d 61 25 3e 30 20 8c 0d 19 |. . comma%>0 ...| 00003f20 e6 1c 20 20 76 25 3d bb 28 c0 69 63 6f 6e 24 2c |.. v%=.(.icon$,| 00003f30 63 6f 6d 6d 61 25 2d 31 29 29 0d 19 f0 1c 20 20 |comma%-1)).... | 00003f40 69 63 6f 6e 24 3d c1 69 63 6f 6e 24 2c 63 6f 6d |icon$=.icon$,com| 00003f50 6d 61 25 2b 31 29 0d 19 fa 17 20 20 f2 73 68 61 |ma%+1).... .sha| 00003f60 64 65 69 63 6f 6e 28 77 25 2c 76 25 29 0d 1a 04 |deicon(w%,v%)...| 00003f70 06 20 cd 0d 1a 0e 0e fd 20 63 6f 6d 6d 61 25 3d |. ...... comma%=| 00003f80 30 0d 1a 18 0f 76 25 3d bb 28 69 63 6f 6e 24 29 |0....v%=.(icon$)| 00003f90 0d 1a 22 15 f2 73 68 61 64 65 69 63 6f 6e 28 77 |.."..shadeicon(w| 00003fa0 25 2c 76 25 29 0d 1a 2c 05 e1 0d 1a 36 04 0d 1a |%,v%)..,....6...| 00003fb0 40 1d dd 20 f2 75 6e 73 68 61 64 65 69 63 6f 6e |@.. .unshadeicon| 00003fc0 73 28 77 25 2c 69 63 6f 6e 24 29 0d 1a 4a 05 f5 |s(w%,icon$)..J..| 00003fd0 0d 1a 54 17 20 63 6f 6d 6d 61 25 3d a7 69 63 6f |..T. comma%=.ico| 00003fe0 6e 24 2c 22 2c 22 29 0d 1a 5e 11 20 e7 20 63 6f |n$,",")..^. . co| 00003ff0 6d 6d 61 25 3e 30 20 8c 0d 1a 68 1c 20 20 76 25 |mma%>0 ...h. v%| 00004000 3d bb 28 c0 69 63 6f 6e 24 2c 63 6f 6d 6d 61 25 |=.(.icon$,comma%| 00004010 2d 31 29 29 0d 1a 72 1c 20 20 69 63 6f 6e 24 3d |-1))..r. icon$=| 00004020 c1 69 63 6f 6e 24 2c 63 6f 6d 6d 61 25 2b 31 29 |.icon$,comma%+1)| 00004030 0d 1a 7c 19 20 20 f2 75 6e 73 68 61 64 65 69 63 |..|. .unshadeic| 00004040 6f 6e 28 77 25 2c 76 25 29 0d 1a 86 06 20 cd 0d |on(w%,v%).... ..| 00004050 1a 90 0e fd 20 63 6f 6d 6d 61 25 3d 30 0d 1a 9a |.... comma%=0...| 00004060 0f 76 25 3d bb 28 69 63 6f 6e 24 29 0d 1a a4 17 |.v%=.(icon$)....| 00004070 f2 75 6e 73 68 61 64 65 69 63 6f 6e 28 77 25 2c |.unshadeicon(w%,| 00004080 76 25 29 0d 1a ae 05 e1 0d 1a b8 04 0d 1a c2 1c |v%).............| 00004090 dd 20 f2 73 65 6c 65 63 74 69 63 6f 6e 73 28 77 |. .selecticons(w| 000040a0 25 2c 69 63 6f 6e 24 29 0d 1a cc 05 f5 0d 1a d6 |%,icon$)........| 000040b0 17 20 63 6f 6d 6d 61 25 3d a7 69 63 6f 6e 24 2c |. comma%=.icon$,| 000040c0 22 2c 22 29 0d 1a e0 11 20 e7 20 63 6f 6d 6d 61 |",").... . comma| 000040d0 25 3e 30 20 8c 0d 1a ea 1c 20 20 76 25 3d bb 28 |%>0 ..... v%=.(| 000040e0 c0 69 63 6f 6e 24 2c 63 6f 6d 6d 61 25 2d 31 29 |.icon$,comma%-1)| 000040f0 29 0d 1a f4 1c 20 20 69 63 6f 6e 24 3d c1 69 63 |).... icon$=.ic| 00004100 6f 6e 24 2c 63 6f 6d 6d 61 25 2b 31 29 0d 1a fe |on$,comma%+1)...| 00004110 18 20 20 f2 73 65 6c 65 63 74 69 63 6f 6e 28 77 |. .selecticon(w| 00004120 25 2c 76 25 29 0d 1b 08 06 20 cd 0d 1b 12 0e fd |%,v%).... ......| 00004130 20 63 6f 6d 6d 61 25 3d 30 0d 1b 1c 0f 76 25 3d | comma%=0....v%=| 00004140 bb 28 69 63 6f 6e 24 29 0d 1b 26 16 f2 73 65 6c |.(icon$)..&..sel| 00004150 65 63 74 69 63 6f 6e 28 77 25 2c 76 25 29 0d 1b |ecticon(w%,v%)..| 00004160 30 05 e1 0d 1b 3a 04 0d 1b 44 1e dd 20 f2 64 65 |0....:...D.. .de| 00004170 73 65 6c 65 63 74 69 63 6f 6e 73 28 77 25 2c 69 |selecticons(w%,i| 00004180 63 6f 6e 24 29 0d 1b 4e 05 f5 0d 1b 58 17 20 63 |con$)..N....X. c| 00004190 6f 6d 6d 61 25 3d a7 69 63 6f 6e 24 2c 22 2c 22 |omma%=.icon$,","| 000041a0 29 0d 1b 62 11 20 e7 20 63 6f 6d 6d 61 25 3e 30 |)..b. . comma%>0| 000041b0 20 8c 0d 1b 6c 1c 20 20 76 25 3d bb 28 c0 69 63 | ...l. v%=.(.ic| 000041c0 6f 6e 24 2c 63 6f 6d 6d 61 25 2d 31 29 29 0d 1b |on$,comma%-1))..| 000041d0 76 1c 20 20 69 63 6f 6e 24 3d c1 69 63 6f 6e 24 |v. icon$=.icon$| 000041e0 2c 63 6f 6d 6d 61 25 2b 31 29 0d 1b 80 1a 20 20 |,comma%+1).... | 000041f0 f2 64 65 73 65 6c 65 63 74 69 63 6f 6e 28 77 25 |.deselecticon(w%| 00004200 2c 76 25 29 0d 1b 8a 06 20 cd 0d 1b 94 0e fd 20 |,v%).... ...... | 00004210 63 6f 6d 6d 61 25 3d 30 0d 1b 9e 0f 76 25 3d bb |comma%=0....v%=.| 00004220 28 69 63 6f 6e 24 29 0d 1b a8 18 f2 64 65 73 65 |(icon$).....dese| 00004230 6c 65 63 74 69 63 6f 6e 28 77 25 2c 76 25 29 0d |lecticon(w%,v%).| 00004240 1b b2 05 e1 0d 1b bc 04 0d 1b c6 1a dd 20 f2 70 |............. .p| 00004250 75 74 69 63 6f 6e 63 61 72 65 74 28 77 25 2c 69 |uticoncaret(w%,i| 00004260 25 29 0d 1b d0 25 2a 7c 53 59 53 20 22 57 69 6d |%)...%*|SYS "Wim| 00004270 70 5f 47 65 74 43 61 72 65 74 50 6f 73 69 74 69 |p_GetCaretPositi| 00004280 6f 6e 22 2c 2c 71 25 0d 1b da 21 69 6e 64 65 78 |on",,q%...!index| 00004290 25 3d a9 28 a4 67 65 74 69 63 6f 6e 74 65 78 74 |%=.(.geticontext| 000042a0 28 77 25 2c 69 25 29 29 0d 1b e4 30 c8 99 20 22 |(w%,i%))...0.. "| 000042b0 57 69 6d 70 5f 53 65 74 43 61 72 65 74 50 6f 73 |Wimp_SetCaretPos| 000042c0 69 74 69 6f 6e 22 2c 77 25 2c 69 25 2c 2c 2c 2d |ition",w%,i%,,,-| 000042d0 31 2c 69 6e 64 65 78 25 0d 1b ee 10 70 72 6f 63 |1,index%....proc| 000042e0 65 73 73 65 64 25 3d b9 0d 1b f8 05 e1 0d 1c 02 |essed%=.........| 000042f0 04 0d 1c 0c 29 dd 20 f2 73 65 74 65 78 74 65 6e |....). .setexten| 00004300 74 28 77 25 2c 78 30 25 2c 79 30 25 2c 78 31 25 |t(w%,x0%,y0%,x1%| 00004310 2c 79 31 25 2c 6d 69 6e 25 29 0d 1c 16 17 e7 20 |,y1%,min%)..... | 00004320 79 30 25 3e 6d 69 6e 25 20 79 30 25 3d 6d 69 6e |y0%>min% y0%=min| 00004330 25 0d 1c 20 28 71 25 21 30 3d 78 30 25 3a 71 25 |%.. (q%!0=x0%:q%| 00004340 21 34 3d 79 30 25 3a 71 25 21 38 3d 78 31 25 3a |!4=y0%:q%!8=x1%:| 00004350 71 25 21 31 32 3d 79 31 25 0d 1c 2a 1d c8 99 20 |q%!12=y1%..*... | 00004360 22 57 69 6d 70 5f 53 65 74 45 78 74 65 6e 74 22 |"Wimp_SetExtent"| 00004370 2c 77 25 2c 71 25 0d 1c 34 0b 71 25 21 30 3d 77 |,w%,q%..4.q%!0=w| 00004380 25 0d 1c 3e 20 c8 99 20 22 57 69 6d 70 5f 47 65 |%..> .. "Wimp_Ge| 00004390 74 57 69 6e 64 6f 77 53 74 61 74 65 22 2c 2c 71 |tWindowState",,q| 000043a0 25 0d 1c 48 0b 71 25 21 32 34 3d 30 0d 1c 52 1c |%..H.q%!24=0..R.| 000043b0 c8 99 20 22 57 69 6d 70 5f 4f 70 65 6e 57 69 6e |.. "Wimp_OpenWin| 000043c0 64 6f 77 22 2c 2c 71 25 0d 1c 5c 05 e1 0d 1c 66 |dow",,q%..\....f| 000043d0 04 0d 1c 70 22 dd 20 f2 64 72 61 67 73 61 76 65 |...p". .dragsave| 000043e0 62 6f 78 28 77 25 2c 69 25 2c 6e 61 6d 65 24 2c |box(w%,i%,name$,| 000043f0 61 25 29 0d 1c 7a 35 ea 20 69 63 78 30 25 2c 69 |a%)..z5. icx0%,i| 00004400 63 78 31 25 2c 69 63 79 30 25 2c 69 63 79 31 25 |cx1%,icy0%,icy1%| 00004410 2c 73 63 78 30 25 2c 73 63 78 31 25 2c 73 63 79 |,scx0%,scx1%,scy| 00004420 30 25 2c 73 63 79 31 25 0d 1c 84 25 f2 69 63 6f |0%,scy1%...%.ico| 00004430 6e 62 6f 78 28 69 63 78 30 25 2c 69 63 78 31 25 |nbox(icx0%,icx1%| 00004440 2c 69 63 79 30 25 2c 69 63 79 31 25 29 0d 1c 8e |,icy0%,icy1%)...| 00004450 27 f2 73 63 72 65 65 6e 62 6f 78 28 73 63 78 30 |'.screenbox(scx0| 00004460 25 2c 73 63 78 31 25 2c 73 63 79 30 25 2c 73 63 |%,scx1%,scy0%,sc| 00004470 79 31 25 29 0d 1c 98 0a 71 25 21 34 3d 35 0d 1c |y1%)....q%!4=5..| 00004480 a2 32 71 25 21 38 3d 69 63 78 30 25 3a 71 25 21 |.2q%!8=icx0%:q%!| 00004490 31 32 3d 69 63 79 30 25 3a 71 25 21 31 36 3d 69 |12=icy0%:q%!16=i| 000044a0 63 78 31 25 3a 71 25 21 32 30 3d 69 63 79 31 25 |cx1%:q%!20=icy1%| 000044b0 0d 1c ac 33 71 25 21 32 34 3d 73 63 78 30 25 3a |...3q%!24=scx0%:| 000044c0 71 25 21 32 38 3d 73 63 79 30 25 3a 71 25 21 33 |q%!28=scy0%:q%!3| 000044d0 32 3d 73 63 78 31 25 3a 71 25 21 33 36 3d 73 63 |2=scx1%:q%!36=sc| 000044e0 79 31 25 0d 1c b6 27 e7 20 ac 20 64 72 61 67 61 |y1%...'. . draga| 000044f0 73 70 72 69 74 65 25 20 84 20 ac 20 64 72 61 67 |sprite% . . drag| 00004500 73 70 72 69 74 65 73 25 20 8c 0d 1c c0 1a 20 c8 |sprites% ..... .| 00004510 99 20 22 57 69 6d 70 5f 44 72 61 67 42 6f 78 22 |. "Wimp_DragBox"| 00004520 2c 2c 71 25 0d 1c ca 05 cc 0d 1c d4 33 20 c8 99 |,,q%........3 ..| 00004530 20 22 44 72 61 67 41 53 70 72 69 74 65 5f 53 74 | "DragASprite_St| 00004540 61 72 74 22 2c 31 39 37 2c 61 25 2c 6e 61 6d 65 |art",197,a%,name| 00004550 24 2c 71 25 2b 38 2c 71 25 2b 32 34 0d 1c de 05 |$,q%+8,q%+24....| 00004560 cd 0d 1c e8 05 e1 0d 1c f2 04 0d 1c fc 27 dd 20 |.............'. | 00004570 f2 69 63 6f 6e 62 6f 78 28 f8 20 78 30 25 2c f8 |.iconbox(. x0%,.| 00004580 20 78 31 25 2c f8 20 79 30 25 2c f8 20 79 31 25 | x1%,. y0%,. y1%| 00004590 29 0d 1d 06 3d ea 20 69 63 6f 6e 78 30 25 2c 69 |)...=. iconx0%,i| 000045a0 63 6f 6e 78 31 25 2c 69 63 6f 6e 79 30 25 2c 69 |conx1%,icony0%,i| 000045b0 63 6f 6e 79 31 25 2c 78 76 69 73 25 2c 79 76 69 |cony1%,xvis%,yvi| 000045c0 73 25 2c 78 6f 66 73 25 2c 79 6f 66 73 25 0d 1d |s%,xofs%,yofs%..| 000045d0 10 0b 71 25 21 30 3d 77 25 0d 1d 1a 0b 71 25 21 |..q%!0=w%....q%!| 000045e0 34 3d 69 25 0d 1d 24 1e c8 99 20 22 57 69 6d 70 |4=i%..$... "Wimp| 000045f0 5f 47 65 74 49 63 6f 6e 53 74 61 74 65 22 2c 2c |_GetIconState",,| 00004600 71 25 0d 1d 2e 10 69 63 6f 6e 78 30 25 3d 71 25 |q%....iconx0%=q%| 00004610 21 38 0d 1d 38 11 69 63 6f 6e 79 30 25 3d 71 25 |!8..8.icony0%=q%| 00004620 21 31 32 0d 1d 42 11 69 63 6f 6e 78 31 25 3d 71 |!12..B.iconx1%=q| 00004630 25 21 31 36 0d 1d 4c 11 69 63 6f 6e 79 31 25 3d |%!16..L.icony1%=| 00004640 71 25 21 32 30 0d 1d 56 20 c8 99 20 22 57 69 6d |q%!20..V .. "Wim| 00004650 70 5f 47 65 74 57 69 6e 64 6f 77 53 74 61 74 65 |p_GetWindowState| 00004660 22 2c 2c 71 25 0d 1d 60 0e 78 76 69 73 25 3d 71 |",,q%..`.xvis%=q| 00004670 25 21 34 0d 1d 6a 0f 79 76 69 73 25 3d 71 25 21 |%!4..j.yvis%=q%!| 00004680 31 36 0d 1d 74 0f 78 6f 66 73 25 3d 71 25 21 32 |16..t.xofs%=q%!2| 00004690 30 0d 1d 7e 0f 79 6f 66 73 25 3d 71 25 21 32 34 |0..~.yofs%=q%!24| 000046a0 0d 1d 88 1b 78 30 25 3d 78 76 69 73 25 2b 69 63 |....x0%=xvis%+ic| 000046b0 6f 6e 78 30 25 2d 78 6f 66 73 25 0d 1d 92 1b 79 |onx0%-xofs%....y| 000046c0 30 25 3d 79 76 69 73 25 2b 69 63 6f 6e 79 30 25 |0%=yvis%+icony0%| 000046d0 2d 79 6f 66 73 25 0d 1d 9c 1b 78 31 25 3d 78 76 |-yofs%....x1%=xv| 000046e0 69 73 25 2b 69 63 6f 6e 78 31 25 2d 78 6f 66 73 |is%+iconx1%-xofs| 000046f0 25 0d 1d a6 1b 79 31 25 3d 79 76 69 73 25 2b 69 |%....y1%=yvis%+i| 00004700 63 6f 6e 79 31 25 2d 79 6f 66 73 25 0d 1d b0 05 |cony1%-yofs%....| 00004710 e1 0d 1d ba 04 0d 1d c4 29 dd 20 f2 73 63 72 65 |........). .scre| 00004720 65 6e 62 6f 78 28 f8 20 78 30 25 2c f8 20 78 31 |enbox(. x0%,. x1| 00004730 25 2c f8 20 79 30 25 2c f8 20 79 31 25 29 0d 1d |%,. y0%,. y1%)..| 00004740 ce 1b ea 20 63 78 25 2c 63 79 25 2c 78 70 69 78 |... cx%,cy%,xpix| 00004750 73 25 2c 79 70 69 78 73 25 0d 1d d8 29 c8 99 20 |s%,ypixs%...).. | 00004760 22 4f 53 5f 52 65 61 64 4d 6f 64 65 56 61 72 69 |"OS_ReadModeVari| 00004770 61 62 6c 65 22 2c 2d 31 2c 34 20 b8 20 2c 2c 63 |able",-1,4 . ,,c| 00004780 78 25 0d 1d e2 29 c8 99 20 22 4f 53 5f 52 65 61 |x%...).. "OS_Rea| 00004790 64 4d 6f 64 65 56 61 72 69 61 62 6c 65 22 2c 2d |dModeVariable",-| 000047a0 31 2c 35 20 b8 20 2c 2c 63 79 25 0d 1d ec 2d c8 |1,5 . ,,cy%...-.| 000047b0 99 20 22 4f 53 5f 52 65 61 64 4d 6f 64 65 56 61 |. "OS_ReadModeVa| 000047c0 72 69 61 62 6c 65 22 2c 2d 31 2c 31 31 20 b8 20 |riable",-1,11 . | 000047d0 2c 2c 78 70 69 78 73 25 0d 1d f6 2d c8 99 20 22 |,,xpixs%...-.. "| 000047e0 4f 53 5f 52 65 61 64 4d 6f 64 65 56 61 72 69 61 |OS_ReadModeVaria| 000047f0 62 6c 65 22 2c 2d 31 2c 31 32 20 b8 20 2c 2c 79 |ble",-1,12 . ,,y| 00004800 70 69 78 73 25 0d 1e 00 09 78 30 25 3d 30 0d 1e |pixs%....x0%=0..| 00004810 0a 09 79 30 25 3d 30 0d 1e 14 1b 78 31 25 3d 28 |..y0%=0....x1%=(| 00004820 78 70 69 78 73 25 2b 31 29 2a 28 31 3c 3c 63 78 |xpixs%+1)*(1<<cx| 00004830 25 29 0d 1e 1e 1b 79 31 25 3d 28 79 70 69 78 73 |%)....y1%=(ypixs| 00004840 25 2b 31 29 2a 28 31 3c 3c 63 79 25 29 0d 1e 28 |%+1)*(1<<cy%)..(| 00004850 05 e1 0d 1e 32 04 0d 1e 3c 29 dd 20 f2 73 61 76 |....2...<). .sav| 00004860 65 72 65 71 75 65 73 74 28 6c 65 61 66 6e 61 6d |erequest(leafnam| 00004870 65 24 2c 74 79 70 65 25 2c 73 69 7a 65 25 29 0d |e$,type%,size%).| 00004880 1e 46 21 ea 20 64 65 73 74 78 25 2c 64 65 73 74 |.F!. destx%,dest| 00004890 79 25 2c 64 73 77 69 6e 25 2c 64 69 63 6f 6e 25 |y%,dswin%,dicon%| 000048a0 0d 1e 50 20 c8 99 20 22 57 69 6d 70 5f 47 65 74 |..P .. "Wimp_Get| 000048b0 50 6f 69 6e 74 65 72 49 6e 66 6f 22 2c 2c 71 25 |PointerInfo",,q%| 000048c0 0d 1e 5a 0f 64 65 73 74 78 25 3d 71 25 21 30 0d |..Z.destx%=q%!0.| 000048d0 1e 64 0f 64 65 73 74 79 25 3d 71 25 21 34 0d 1e |.d.desty%=q%!4..| 000048e0 6e 10 64 73 77 69 6e 25 3d 71 25 21 31 32 0d 1e |n.dswin%=q%!12..| 000048f0 78 10 64 69 63 6f 6e 25 3d 71 25 21 32 30 0d 1e |x.dicon%=q%!20..| 00004900 82 0b 71 25 21 30 3d 36 34 0d 1e 8c 0b 71 25 21 |..q%!0=64....q%!| 00004910 31 32 3d 30 0d 1e 96 0b 71 25 21 31 36 3d 31 0d |12=0....q%!16=1.| 00004920 1e a0 10 71 25 21 32 30 3d 64 73 77 69 6e 25 0d |...q%!20=dswin%.| 00004930 1e aa 10 71 25 21 32 34 3d 64 69 63 6f 6e 25 0d |...q%!24=dicon%.| 00004940 1e b4 10 71 25 21 32 38 3d 64 65 73 74 78 25 0d |...q%!28=destx%.| 00004950 1e be 10 71 25 21 33 32 3d 64 65 73 74 79 25 0d |...q%!32=desty%.| 00004960 1e c8 0f 71 25 21 33 36 3d 73 69 7a 65 25 0d 1e |...q%!36=size%..| 00004970 d2 0f 71 25 21 34 30 3d 74 79 70 65 25 0d 1e dc |..q%!40=type%...| 00004980 26 f2 70 75 74 73 74 72 69 6e 67 28 71 25 2b 34 |&.putstring(q%+4| 00004990 34 2c a4 6c 65 61 66 28 6c 65 61 66 6e 61 6d 65 |4,.leaf(leafname| 000049a0 24 29 29 0d 1e e6 26 c8 99 20 22 57 69 6d 70 5f |$))...&.. "Wimp_| 000049b0 53 65 6e 64 4d 65 73 73 61 67 65 22 2c 31 38 2c |SendMessage",18,| 000049c0 71 25 2c 64 73 77 69 6e 25 0d 1e f0 05 e1 0d 1e |q%,dswin%.......| 000049d0 fa 04 0d 1f 04 17 dd 20 f2 70 75 74 73 74 72 69 |....... .putstri| 000049e0 6e 67 28 70 25 2c 74 24 29 0d 1f 0e 11 e3 20 69 |ng(p%,t$)..... i| 000049f0 25 3d 31 20 b8 20 a9 20 74 24 0d 1f 18 1c 20 3f |%=1 . . t$.... ?| 00004a00 28 70 25 2b 69 25 2d 31 29 3d 97 28 c1 74 24 2c |(p%+i%-1)=.(.t$,| 00004a10 69 25 2c 31 29 29 0d 1f 22 05 ed 0d 1f 2c 0f 3f |i%,1)).."....,.?| 00004a20 28 70 25 2b a9 74 24 29 3d 30 0d 1f 36 05 e1 0d |(p%+.t$)=0..6...| 00004a30 1f 40 04 0d 1f 4a 12 dd 20 a4 6c 65 61 66 28 6c |.@...J.. .leaf(l| 00004a40 65 61 66 24 29 0d 1f 54 14 c8 95 20 a7 6c 65 61 |eaf$)..T... .lea| 00004a50 66 24 2c 22 2e 22 29 3e 30 0d 1f 5e 20 20 6c 65 |f$,".")>0..^ le| 00004a60 61 66 24 3d c1 6c 65 61 66 24 2c a7 6c 65 61 66 |af$=.leaf$,.leaf| 00004a70 24 2c 22 2e 22 29 2b 31 29 0d 1f 68 05 ce 0d 1f |$,".")+1)..h....| 00004a80 72 0f 3d c0 6c 65 61 66 24 2c 31 30 29 0d 1f 7c |r.=.leaf$,10)..|| 00004a90 04 0d 1f 86 0f dd 20 f2 64 61 74 61 6c 6f 61 64 |...... .dataload| 00004aa0 0d 1f 90 13 66 69 6c 65 74 79 70 65 25 3d 71 25 |....filetype%=q%| 00004ab0 21 34 30 0d 1f 9a 1d 66 69 6c 65 6e 61 6d 65 24 |!40....filename$| 00004ac0 3d a4 73 74 72 69 6e 67 30 28 71 25 2b 34 34 29 |=.string0(q%+44)| 00004ad0 0d 1f a4 30 f2 6c 6f 61 64 64 61 74 61 28 66 69 |...0.loaddata(fi| 00004ae0 6c 65 6e 61 6d 65 24 2c 66 69 6c 65 74 79 70 65 |lename$,filetype| 00004af0 25 2c 77 69 6e 64 6f 77 25 2c 69 63 6f 6e 25 29 |%,window%,icon%)| 00004b00 0d 1f ae 0d 71 25 21 30 3d 6c 65 6e 25 0d 1f b8 |....q%!0=len%...| 00004b10 12 71 25 21 31 32 3d 79 6f 75 72 72 65 66 25 0d |.q%!12=yourref%.| 00004b20 1f c2 0b 71 25 21 31 36 3d 34 0d 1f cc 27 c8 99 |...q%!16=4...'..| 00004b30 20 22 57 69 6d 70 5f 53 65 6e 64 4d 65 73 73 61 | "Wimp_SendMessa| 00004b40 67 65 22 2c 31 37 2c 71 25 2c 73 65 6e 64 65 72 |ge",17,q%,sender| 00004b50 25 0d 1f d6 05 e1 0d 1f e0 04 0d 1f ea 12 dd 20 |%.............. | 00004b60 f2 64 61 74 61 73 61 76 65 61 63 6b 0d 1f f4 1d |.datasaveack....| 00004b70 66 75 6c 6c 6e 61 6d 65 24 3d a4 73 74 72 69 6e |fullname$=.strin| 00004b80 67 30 28 71 25 2b 34 34 29 0d 1f fe 0f 73 69 7a |g0(q%+44)....siz| 00004b90 65 25 3d 71 25 21 33 36 0d 20 08 1e f2 73 61 76 |e%=q%!36. ...sav| 00004ba0 65 64 61 74 61 28 66 75 6c 6c 6e 61 6d 65 24 2c |edata(fullname$,| 00004bb0 73 69 7a 65 25 29 0d 20 12 0d 71 25 21 30 3d 6c |size%). ..q%!0=l| 00004bc0 65 6e 25 0d 20 1c 12 71 25 21 31 32 3d 79 6f 75 |en%. ..q%!12=you| 00004bd0 72 72 65 66 25 0d 20 26 0b 71 25 21 31 36 3d 33 |rref%. &.q%!16=3| 00004be0 0d 20 30 27 c8 99 20 22 57 69 6d 70 5f 53 65 6e |. 0'.. "Wimp_Sen| 00004bf0 64 4d 65 73 73 61 67 65 22 2c 31 38 2c 71 25 2c |dMessage",18,q%,| 00004c00 73 65 6e 64 65 72 25 0d 20 3a 05 e1 0d 20 44 04 |sender%. :... D.| 00004c10 0d 20 4e 32 dd 20 f2 6c 6f 61 64 64 61 74 61 28 |. N2. .loaddata(| 00004c20 66 69 6c 65 6e 61 6d 65 24 2c 66 69 6c 65 74 79 |filename$,filety| 00004c30 70 65 25 2c 77 69 6e 64 6f 77 25 2c 69 63 6f 6e |pe%,window%,icon| 00004c40 25 29 0d 20 58 16 e7 20 66 69 6c 65 74 79 70 65 |%). X.. filetype| 00004c50 25 3d 26 44 39 36 20 8c 0d 20 62 5c 20 f2 6d 65 |%=&D96 .. b\ .me| 00004c60 73 73 61 67 65 28 22 54 68 69 73 20 66 69 6c 65 |ssage("This file| 00004c70 20 68 61 73 20 62 65 65 6e 20 63 6f 6d 70 72 65 | has been compre| 00004c80 73 73 65 64 2e 20 50 6c 65 61 73 65 20 72 65 2d |ssed. Please re-| 00004c90 6c 6f 61 64 20 66 72 6f 6d 20 74 68 65 20 72 65 |load from the re| 00004ca0 6c 65 76 61 6e 74 20 43 46 53 20 77 69 6e 64 6f |levant CFS windo| 00004cb0 77 2e 22 29 0d 20 6c 05 cc 0d 20 76 18 20 e7 20 |w."). l... v. . | 00004cc0 66 69 6c 65 74 79 70 65 25 3c 3e 26 46 46 42 20 |filetype%<>&FFB | 00004cd0 8c 0d 20 80 4a 20 20 f2 6d 65 73 73 61 67 65 28 |.. .J .message(| 00004ce0 22 49 20 63 61 6e 6e 6f 74 20 6c 6f 61 64 20 61 |"I cannot load a| 00004cf0 20 66 69 6c 65 20 6f 66 20 74 68 69 73 20 74 79 | file of this ty| 00004d00 70 65 20 2d 20 6f 6e 6c 79 20 42 41 53 49 43 20 |pe - only BASIC | 00004d10 70 72 6f 67 72 61 6d 73 2e 22 29 0d 20 8a 06 20 |programs."). .. | 00004d20 cc 0d 20 94 23 20 20 e7 20 69 63 6f 6e 25 3d 69 |.. .# . icon%=i| 00004d30 63 25 20 84 20 77 69 6e 64 6f 77 25 3d 6d 61 69 |c% . window%=mai| 00004d40 6e 25 20 8c 0d 20 9e 1c 20 20 20 f2 6c 6f 61 64 |n% .. .. .load| 00004d50 62 61 73 69 63 28 66 69 6c 65 6e 61 6d 65 24 29 |basic(filename$)| 00004d60 0d 20 a8 07 20 20 cc 0d 20 b2 64 20 20 20 f2 6d |. .. .. .d .m| 00004d70 65 73 73 61 67 65 28 22 50 6c 65 61 73 65 20 64 |essage("Please d| 00004d80 72 6f 70 20 74 68 65 20 66 69 6c 65 20 65 69 74 |rop the file eit| 00004d90 68 65 72 20 6f 6e 74 6f 20 74 68 65 20 6d 61 69 |her onto the mai| 00004da0 6e 20 77 69 6e 64 6f 77 20 6f 72 20 6f 6e 74 6f |n window or onto| 00004db0 20 74 68 65 20 69 63 6f 6e 20 6f 6e 20 74 68 65 | the icon on the| 00004dc0 20 69 63 6f 6e 62 61 72 2e 22 29 0d 20 bc 07 20 | iconbar."). .. | 00004dd0 20 cd 0d 20 c6 06 20 cd 0d 20 d0 05 cd 0d 20 da | .. .. .. .... .| 00004de0 05 e1 0d 20 e4 04 0d 20 ee 1b dd 20 f2 6c 6f 61 |... ... ... .loa| 00004df0 64 62 61 73 69 63 28 66 69 6c 65 6e 61 6d 65 24 |dbasic(filename$| 00004e00 29 0d 20 f8 16 66 69 6c 65 25 3d 8e 28 66 69 6c |). ..file%=.(fil| 00004e10 65 6e 61 6d 65 24 29 0d 21 02 0f 62 31 25 3d 9a |ename$).!..b1%=.| 00004e20 23 66 69 6c 65 25 0d 21 0c 10 d9 23 66 69 6c 65 |#file%.!...#file| 00004e30 25 3a 66 25 3d 30 0d 21 16 0e e7 20 62 31 25 3d |%:f%=0.!... b1%=| 00004e40 31 33 20 8c 0d 21 20 16 20 c8 99 20 22 48 6f 75 |13 ..! . .. "Hou| 00004e50 72 67 6c 61 73 73 5f 4f 6e 22 0d 21 2a 0c 20 d6 |rglass_On".!*. .| 00004e60 20 63 6f 64 65 25 0d 21 34 12 20 e7 20 62 61 73 | code%.!4. . bas| 00004e70 69 63 25 3c 3e 30 20 8c 0d 21 3e 1e 20 20 c8 99 |ic%<>0 ..!>. ..| 00004e80 20 22 4f 53 5f 4d 6f 64 75 6c 65 22 2c 37 2c 2c | "OS_Module",7,,| 00004e90 62 61 73 69 63 25 0d 21 48 0e 20 20 62 61 73 69 |basic%.!H. basi| 00004ea0 63 25 3d 30 0d 21 52 06 20 cd 0d 21 5c 15 20 e3 |c%=0.!R. ..!\. .| 00004eb0 20 69 25 3d 30 20 b8 20 6e 6f 70 72 6f 63 25 0d | i%=0 . noproc%.| 00004ec0 21 66 23 20 20 f2 73 65 74 69 63 6f 6e 74 65 78 |!f# .seticontex| 00004ed0 74 28 70 72 6f 63 70 61 6e 65 25 2c 69 25 2c 22 |t(procpane%,i%,"| 00004ee0 22 29 0d 21 70 1e 20 20 f2 73 68 61 64 65 69 63 |").!p. .shadeic| 00004ef0 6f 6e 28 70 72 6f 63 70 61 6e 65 25 2c 69 25 29 |on(procpane%,i%)| 00004f00 0d 21 7a 06 20 ed 0d 21 84 15 20 e3 20 69 25 3d |.!z. ..!.. . i%=| 00004f10 30 20 b8 20 6e 6f 66 75 6e 63 25 0d 21 8e 23 20 |0 . nofunc%.!.# | 00004f20 20 f2 73 65 74 69 63 6f 6e 74 65 78 74 28 66 75 | .seticontext(fu| 00004f30 6e 63 70 61 6e 65 25 2c 69 25 2c 22 22 29 0d 21 |ncpane%,i%,"").!| 00004f40 98 1e 20 20 f2 73 68 61 64 65 69 63 6f 6e 28 66 |.. .shadeicon(f| 00004f50 75 6e 63 70 61 6e 65 25 2c 69 25 29 0d 21 a2 06 |uncpane%,i%).!..| 00004f60 20 ed 0d 21 ac 18 20 6e 6f 70 72 6f 63 25 3d 30 | ..!.. noproc%=0| 00004f70 3a 6e 6f 66 75 6e 63 25 3d 30 0d 21 b6 2b 20 c8 |:nofunc%=0.!.+ .| 00004f80 99 20 22 4f 53 5f 46 69 6c 65 22 2c 35 2c 66 69 |. "OS_File",5,fi| 00004f90 6c 65 6e 61 6d 65 24 20 b8 20 2c 2c 2c 2c 6c 65 |lename$ . ,,,,le| 00004fa0 6e 67 74 68 25 0d 21 c0 7d 20 e7 20 6c 65 6e 67 |ngth%.!.} . leng| 00004fb0 74 68 25 3e 31 36 30 2a 31 30 32 34 20 8c 20 f2 |th%>160*1024 . .| 00004fc0 6d 65 73 73 61 67 65 28 22 54 68 69 73 20 66 69 |message("This fi| 00004fd0 6c 65 20 69 73 20 74 6f 6f 20 6c 61 72 67 65 20 |le is too large | 00004fe0 2d 20 49 20 63 61 6e 20 6f 6e 6c 79 20 63 6f 70 |- I can only cop| 00004ff0 65 20 77 69 74 68 20 66 69 6c 65 73 20 6f 66 20 |e with files of | 00005000 6c 65 73 73 20 74 68 61 6e 20 31 36 30 4b 20 69 |less than 160K i| 00005010 6e 20 6c 65 6e 67 74 68 2e 20 53 6f 72 72 79 2e |n length. Sorry.| 00005020 22 29 0d 21 ca 2c 20 c8 99 20 22 4f 53 5f 46 69 |").!., .. "OS_Fi| 00005030 6c 65 22 2c 32 35 35 2c 66 69 6c 65 6e 61 6d 65 |le",255,filename| 00005040 24 2c 62 61 73 69 63 6c 6f 61 64 25 2c 30 0d 21 |$,basicload%,0.!| 00005050 d4 24 20 f2 73 65 74 69 63 6f 6e 74 65 78 74 28 |.$ .seticontext(| 00005060 6d 61 69 6e 25 2c 31 2c 66 69 6c 65 6e 61 6d 65 |main%,1,filename| 00005070 24 29 0d 21 de 11 20 f2 6f 70 65 6e 6d 61 69 6e |$).!.. .openmain| 00005080 74 6f 70 0d 21 e8 10 20 f2 66 69 6e 64 70 72 6f |top.!.. .findpro| 00005090 63 66 6e 0d 21 f2 05 cc 0d 21 fc 75 20 f2 6d 65 |cfn.!....!.u .me| 000050a0 73 73 61 67 65 28 22 54 68 69 73 20 66 69 6c 65 |ssage("This file| 000050b0 20 64 6f 65 73 20 6e 6f 74 20 73 74 61 72 74 20 | does not start | 000050c0 77 69 74 68 20 61 20 72 65 74 75 72 6e 20 63 6f |with a return co| 000050d0 64 65 20 77 68 69 63 68 20 42 41 53 49 43 20 70 |de which BASIC p| 000050e0 72 6f 67 72 61 6d 73 20 73 68 6f 75 6c 64 20 73 |rograms should s| 000050f0 74 61 72 74 20 77 69 74 68 2e 20 4c 6f 61 64 69 |tart with. Loadi| 00005100 6e 67 20 61 62 6f 72 74 65 64 2e 22 29 0d 22 06 |ng aborted.").".| 00005110 05 cd 0d 22 10 18 c8 99 20 22 48 6f 75 72 67 6c |...".... "Hourgl| 00005120 61 73 73 5f 53 6d 61 73 68 22 0d 22 1a 05 e1 0d |ass_Smash"."....| 00005130 22 24 04 0d 22 2e 20 dd 20 f2 73 61 76 65 64 61 |"$..". . .saveda| 00005140 74 61 28 66 75 6c 6c 6e 61 6d 65 24 2c 73 69 7a |ta(fullname$,siz| 00005150 65 25 29 0d 22 38 12 e7 20 62 61 73 69 63 64 72 |e%)."8.. basicdr| 00005160 61 67 25 20 8c 0d 22 42 2b 20 f2 73 65 74 69 63 |ag% .."B+ .setic| 00005170 6f 6e 74 65 78 74 28 73 61 76 65 61 73 62 61 73 |ontext(saveasbas| 00005180 69 63 25 2c 30 2c 66 75 6c 6c 6e 61 6d 65 24 29 |ic%,0,fullname$)| 00005190 0d 22 4c 24 20 f2 73 61 76 65 62 61 73 69 63 66 |."L$ .savebasicf| 000051a0 69 6c 65 28 66 75 6c 6c 6e 61 6d 65 24 2c 73 69 |ile(fullname$,si| 000051b0 7a 65 25 29 0d 22 56 05 cd 0d 22 60 10 62 61 73 |ze%)."V..."`.bas| 000051c0 69 63 64 72 61 67 25 3d a3 0d 22 6a 11 e7 20 74 |icdrag%=.."j.. t| 000051d0 65 78 74 64 72 61 67 25 20 8c 0d 22 74 2a 20 f2 |extdrag% .."t* .| 000051e0 73 65 74 69 63 6f 6e 74 65 78 74 28 73 61 76 65 |seticontext(save| 000051f0 61 73 74 65 78 74 25 2c 30 2c 66 75 6c 6c 6e 61 |astext%,0,fullna| 00005200 6d 65 24 29 0d 22 7e 23 20 f2 73 61 76 65 74 65 |me$)."~# .savete| 00005210 78 74 66 69 6c 65 28 66 75 6c 6c 6e 61 6d 65 24 |xtfile(fullname$| 00005220 2c 73 69 7a 65 25 29 0d 22 88 05 cd 0d 22 92 0f |,size%)."...."..| 00005230 74 65 78 74 64 72 61 67 25 3d a3 0d 22 9c 1c c8 |textdrag%=.."...| 00005240 99 20 22 57 69 6d 70 5f 43 72 65 61 74 65 4d 65 |. "Wimp_CreateMe| 00005250 6e 75 22 2c 2c 2d 31 0d 22 a6 05 e1 0d 22 b0 04 |nu",,-1."...."..| 00005260 0d 22 ba 11 dd 20 f2 66 69 6e 64 70 72 6f 63 66 |."... .findprocf| 00005270 6e 0d 22 c4 11 70 25 3d 62 61 73 69 63 6c 6f 61 |n."..p%=basicloa| 00005280 64 25 0d 22 ce 22 65 6e 64 6f 66 66 69 6c 65 25 |d%."."endoffile%| 00005290 3d 28 3f 70 25 3d 31 33 20 80 20 70 25 3f 31 3d |=(?p%=13 . p%?1=| 000052a0 26 46 46 29 0d 22 d8 15 c8 99 20 22 48 6f 75 72 |&FF).".... "Hour| 000052b0 67 6c 61 73 73 5f 4f 6e 22 0d 22 e2 13 c8 95 20 |glass_On".".... | 000052c0 ac 20 65 6e 64 6f 66 66 69 6c 65 25 0d 22 ec 28 |. endoffile%.".(| 000052d0 20 70 65 72 63 25 3d 28 28 70 25 2d 62 61 73 69 | perc%=((p%-basi| 000052e0 63 6c 6f 61 64 25 29 2f 6c 65 6e 67 74 68 25 29 |cload%)/length%)| 000052f0 2a 31 30 30 0d 22 f6 3d 20 e7 20 70 65 72 63 25 |*100.".= . perc%| 00005300 3e 3d 30 20 80 20 70 65 72 63 25 3c 31 30 30 20 |>=0 . perc%<100 | 00005310 8c 20 c8 99 20 22 48 6f 75 72 67 6c 61 73 73 5f |. .. "Hourglass_| 00005320 50 65 72 63 65 6e 74 61 67 65 22 2c 70 65 72 63 |Percentage",perc| 00005330 25 0d 23 00 10 20 6f 70 25 3d 70 25 2b 70 25 3f |%.#.. op%=p%+p%?| 00005340 33 0d 23 0a 15 20 f2 63 68 65 63 6b 70 72 6f 63 |3.#.. .checkproc| 00005350 66 6e 28 70 25 29 0d 23 14 0b 20 70 25 3d 6f 70 |fn(p%).#.. p%=op| 00005360 25 0d 23 1e 23 20 65 6e 64 6f 66 66 69 6c 65 25 |%.#.# endoffile%| 00005370 3d 28 3f 70 25 3d 31 33 20 80 20 70 25 3f 31 3d |=(?p%=13 . p%?1=| 00005380 26 46 46 29 0d 23 28 05 ce 0d 23 32 18 c8 99 20 |&FF).#(...#2... | 00005390 22 48 6f 75 72 67 6c 61 73 73 5f 53 6d 61 73 68 |"Hourglass_Smash| 000053a0 22 0d 23 3c 05 e1 0d 23 46 04 0d 23 50 18 dd 20 |".#<...#F..#P.. | 000053b0 f2 63 68 65 63 6b 70 72 6f 63 66 6e 28 70 6f 73 |.checkprocfn(pos| 000053c0 25 29 0d 23 5a 13 6c 69 6e 65 24 3d 24 28 70 6f |%).#Z.line$=$(po| 000053d0 73 25 2b 34 29 0d 23 64 14 e7 20 a7 6c 69 6e 65 |s%+4).#d.. .line| 000053e0 24 2c bd 26 44 44 29 20 8c 0d 23 6e 22 20 e7 20 |$,.&DD) ..#n" . | 000053f0 a7 6c 69 6e 65 24 2c bd 26 41 34 2c a7 6c 69 6e |.line$,.&A4,.lin| 00005400 65 24 2c bd 26 44 44 29 29 20 8c 0d 23 78 2d 20 |e$,.&DD)) ..#x- | 00005410 20 f2 67 65 74 66 6e 6e 61 6d 65 28 c1 6c 69 6e | .getfnname(.lin| 00005420 65 24 2c a7 6c 69 6e 65 24 2c bd 26 41 34 29 2b |e$,.line$,.&A4)+| 00005430 31 29 2c 70 6f 73 25 29 0d 23 82 06 20 cc 0d 23 |1),pos%).#.. ..#| 00005440 8c 23 20 20 e7 20 a7 6c 69 6e 65 24 2c bd 26 46 |.# . .line$,.&F| 00005450 32 2c a7 6c 69 6e 65 24 2c bd 26 44 44 29 29 20 |2,.line$,.&DD)) | 00005460 8c 0d 23 96 30 20 20 20 f2 67 65 74 70 72 6f 63 |..#.0 .getproc| 00005470 6e 61 6d 65 28 c1 6c 69 6e 65 24 2c a7 6c 69 6e |name(.line$,.lin| 00005480 65 24 2c bd 26 46 32 29 2b 31 29 2c 70 6f 73 25 |e$,.&F2)+1),pos%| 00005490 29 0d 23 a0 07 20 20 cd 0d 23 aa 06 20 cd 0d 23 |).#.. ..#.. ..#| 000054a0 b4 05 cd 0d 23 be 05 e1 0d 23 c8 04 0d 23 d2 1c |....#....#...#..| 000054b0 dd 20 f2 67 65 74 66 6e 6e 61 6d 65 28 6e 61 6d |. .getfnname(nam| 000054c0 65 24 2c 70 6f 73 25 29 0d 23 dc 1f e7 20 6e 6f |e$,pos%).#... no| 000054d0 66 75 6e 63 25 3c 32 30 30 20 80 20 6e 61 6d 65 |func%<200 . name| 000054e0 24 3c 3e 22 22 20 8c 0d 23 e6 2e 20 e7 20 a7 6e |$<>"" ..#.. . .n| 000054f0 61 6d 65 24 2c 22 28 22 29 20 8c 20 6e 61 6d 65 |ame$,"(") . name| 00005500 24 3d c0 6e 61 6d 65 24 2c a7 6e 61 6d 65 24 2c |$=.name$,.name$,| 00005510 22 28 22 29 29 0d 23 f0 30 20 e7 20 a7 6e 61 6d |"(")).#.0 . .nam| 00005520 65 24 2c 22 3a 22 29 20 8c 20 6e 61 6d 65 24 3d |e$,":") . name$=| 00005530 c0 6e 61 6d 65 24 2c a7 6e 61 6d 65 24 2c 22 3a |.name$,.name$,":| 00005540 22 29 2d 31 29 0d 23 fa 30 20 e7 20 a7 6e 61 6d |")-1).#.0 . .nam| 00005550 65 24 2c 22 20 22 29 20 8c 20 6e 61 6d 65 24 3d |e$," ") . name$=| 00005560 c0 6e 61 6d 65 24 2c a7 6e 61 6d 65 24 2c 22 20 |.name$,.name$," | 00005570 22 29 2d 31 29 0d 24 04 21 20 e7 20 c2 6e 61 6d |")-1).$.! . .nam| 00005580 65 24 2c 31 29 3d 22 28 22 20 8c 20 6e 61 6d 65 |e$,1)="(" . name| 00005590 24 2b 3d 22 29 22 0d 24 0e 15 20 6e 61 6d 65 24 |$+=")".$.. name$| 000055a0 3d c0 6e 61 6d 65 24 2c 33 31 29 0d 24 18 2a 20 |=.name$,31).$.* | 000055b0 f2 73 65 74 69 63 6f 6e 74 65 78 74 28 66 75 6e |.seticontext(fun| 000055c0 63 70 61 6e 65 25 2c 6e 6f 66 75 6e 63 25 2c 6e |cpane%,nofunc%,n| 000055d0 61 6d 65 24 29 0d 24 22 24 20 f2 75 6e 73 68 61 |ame$).$"$ .unsha| 000055e0 64 65 69 63 6f 6e 28 66 75 6e 63 70 61 6e 65 25 |deicon(funcpane%| 000055f0 2c 6e 6f 66 75 6e 63 25 29 0d 24 2c 38 20 f2 73 |,nofunc%).$,8 .s| 00005600 65 74 65 78 74 65 6e 74 28 66 75 6e 63 70 61 6e |etextent(funcpan| 00005610 65 25 2c 30 2c 2d 28 6e 6f 66 75 6e 63 25 2a 34 |e%,0,-(nofunc%*4| 00005620 38 2b 34 38 29 2c 35 31 36 2c 30 2c 2d 34 31 32 |8+48),516,0,-412| 00005630 29 0d 24 36 19 20 66 75 6e 63 24 28 6e 6f 66 75 |).$6. func$(nofu| 00005640 6e 63 25 29 3d 6e 61 6d 65 24 0d 24 40 18 20 66 |nc%)=name$.$@. f| 00005650 75 6e 63 25 28 6e 6f 66 75 6e 63 25 29 3d 70 6f |unc%(nofunc%)=po| 00005660 73 25 0d 24 4a 0f 20 6e 6f 66 75 6e 63 25 2b 3d |s%.$J. nofunc%+=| 00005670 31 0d 24 54 05 cc 0d 24 5e 50 20 f2 6d 65 73 73 |1.$T...$^P .mess| 00005680 61 67 65 28 22 49 20 68 61 76 65 20 72 65 61 63 |age("I have reac| 00005690 68 65 64 20 6d 79 20 6c 69 6d 69 74 20 6f 66 20 |hed my limit of | 000056a0 32 30 30 20 66 75 6e 63 74 69 6f 6e 73 20 69 6e |200 functions in| 000056b0 20 74 68 69 73 20 42 41 53 49 43 20 70 72 6f 67 | this BASIC prog| 000056c0 72 61 6d 2e 22 29 0d 24 68 05 cd 0d 24 72 05 e1 |ram.").$h...$r..| 000056d0 0d 24 7c 04 0d 24 86 1e dd 20 f2 67 65 74 70 72 |.$|..$... .getpr| 000056e0 6f 63 6e 61 6d 65 28 6e 61 6d 65 24 2c 70 6f 73 |ocname(name$,pos| 000056f0 25 29 0d 24 90 1f e7 20 6e 6f 70 72 6f 63 25 3c |%).$... noproc%<| 00005700 32 30 30 20 80 20 6e 61 6d 65 24 3c 3e 22 22 20 |200 . name$<>"" | 00005710 8c 0d 24 9a 2e 20 e7 20 a7 6e 61 6d 65 24 2c 22 |..$.. . .name$,"| 00005720 28 22 29 20 8c 20 6e 61 6d 65 24 3d c0 6e 61 6d |(") . name$=.nam| 00005730 65 24 2c a7 6e 61 6d 65 24 2c 22 28 22 29 29 0d |e$,.name$,"(")).| 00005740 24 a4 30 20 e7 20 a7 6e 61 6d 65 24 2c 22 3a 22 |$.0 . .name$,":"| 00005750 29 20 8c 20 6e 61 6d 65 24 3d c0 6e 61 6d 65 24 |) . name$=.name$| 00005760 2c a7 6e 61 6d 65 24 2c 22 3a 22 29 2d 31 29 0d |,.name$,":")-1).| 00005770 24 ae 30 20 e7 20 a7 6e 61 6d 65 24 2c 22 20 22 |$.0 . .name$," "| 00005780 29 20 8c 20 6e 61 6d 65 24 3d c0 6e 61 6d 65 24 |) . name$=.name$| 00005790 2c a7 6e 61 6d 65 24 2c 22 20 22 29 2d 31 29 0d |,.name$," ")-1).| 000057a0 24 b8 21 20 e7 20 c2 6e 61 6d 65 24 2c 31 29 3d |$.! . .name$,1)=| 000057b0 22 28 22 20 8c 20 6e 61 6d 65 24 2b 3d 22 29 22 |"(" . name$+=")"| 000057c0 0d 24 c2 15 20 6e 61 6d 65 24 3d c0 6e 61 6d 65 |.$.. name$=.name| 000057d0 24 2c 33 31 29 0d 24 cc 2a 20 f2 73 65 74 69 63 |$,31).$.* .setic| 000057e0 6f 6e 74 65 78 74 28 70 72 6f 63 70 61 6e 65 25 |ontext(procpane%| 000057f0 2c 6e 6f 70 72 6f 63 25 2c 6e 61 6d 65 24 29 0d |,noproc%,name$).| 00005800 24 d6 24 20 f2 75 6e 73 68 61 64 65 69 63 6f 6e |$.$ .unshadeicon| 00005810 28 70 72 6f 63 70 61 6e 65 25 2c 6e 6f 70 72 6f |(procpane%,nopro| 00005820 63 25 29 0d 24 e0 38 20 f2 73 65 74 65 78 74 65 |c%).$.8 .setexte| 00005830 6e 74 28 70 72 6f 63 70 61 6e 65 25 2c 30 2c 2d |nt(procpane%,0,-| 00005840 28 6e 6f 70 72 6f 63 25 2a 34 38 2b 34 38 29 2c |(noproc%*48+48),| 00005850 35 31 36 2c 30 2c 2d 34 31 32 29 0d 24 ea 19 20 |516,0,-412).$.. | 00005860 70 72 6f 63 24 28 6e 6f 70 72 6f 63 25 29 3d 6e |proc$(noproc%)=n| 00005870 61 6d 65 24 0d 24 f4 18 20 70 72 6f 63 25 28 6e |ame$.$.. proc%(n| 00005880 6f 70 72 6f 63 25 29 3d 70 6f 73 25 0d 24 fe 0f |oproc%)=pos%.$..| 00005890 20 6e 6f 70 72 6f 63 25 2b 3d 31 0d 25 08 05 cc | noproc%+=1.%...| 000058a0 0d 25 12 51 20 f2 6d 65 73 73 61 67 65 28 22 49 |.%.Q .message("I| 000058b0 20 68 61 76 65 20 72 65 61 63 68 65 64 20 6d 79 | have reached my| 000058c0 20 6c 69 6d 69 74 20 6f 66 20 32 30 30 20 70 72 | limit of 200 pr| 000058d0 6f 63 65 64 75 72 65 73 20 69 6e 20 74 68 69 73 |ocedures in this| 000058e0 20 42 41 53 49 43 20 70 72 6f 67 72 61 6d 2e 22 | BASIC program."| 000058f0 29 0d 25 1c 05 cd 0d 25 26 05 e1 0d 25 30 04 0d |).%....%&...%0..| 00005900 25 3a 10 dd 20 a4 75 70 70 65 72 28 74 24 29 0d |%:.. .upper(t$).| 00005910 25 44 0b ea 20 61 24 2c 69 25 0d 25 4e 09 61 24 |%D.. a$,i%.%N.a$| 00005920 3d 22 22 0d 25 58 10 e3 20 69 25 3d 31 20 b8 20 |="".%X.. i%=1 . | 00005930 a9 74 24 0d 25 62 30 20 e7 20 97 28 c1 74 24 2c |.t$.%b0 . .(.t$,| 00005940 69 25 2c 31 29 29 3e 3d 97 22 61 22 20 80 20 97 |i%,1))>=."a" . .| 00005950 28 c1 74 24 2c 69 25 2c 31 29 29 3c 3d 97 22 7a |(.t$,i%,1))<=."z| 00005960 22 20 8c 0d 25 6c 1e 20 20 61 24 3d 61 24 2b bd |" ..%l. a$=a$+.| 00005970 28 97 28 c1 74 24 2c 69 25 2c 31 29 29 2d 33 32 |(.(.t$,i%,1))-32| 00005980 29 0d 25 76 06 20 cc 0d 25 80 15 20 20 61 24 3d |).%v. ..%.. a$=| 00005990 61 24 2b c1 74 24 2c 69 25 2c 31 29 0d 25 8a 06 |a$+.t$,i%,1).%..| 000059a0 20 cd 0d 25 94 05 ed 0d 25 9e 07 3d 61 24 0d 25 | ..%....%..=a$.%| 000059b0 a8 04 0d 25 b2 0d dd 20 f2 73 65 61 72 63 68 0d |...%... .search.| 000059c0 25 bc 23 73 65 61 72 63 68 24 3d a4 67 65 74 69 |%.#search$=.geti| 000059d0 63 6f 6e 74 65 78 74 28 73 65 61 72 63 68 25 2c |context(search%,| 000059e0 31 29 0d 25 c6 12 e7 20 73 65 61 72 63 68 24 3d |1).%... search$=| 000059f0 22 22 20 8c 0d 25 d0 29 20 f2 6d 65 73 73 61 67 |"" ..%.) .messag| 00005a00 65 28 22 4e 6f 20 73 65 61 72 63 68 20 73 74 72 |e("No search str| 00005a10 69 6e 67 20 73 65 74 20 75 70 2e 22 29 0d 25 da |ing set up.").%.| 00005a20 05 cc 0d 25 e4 3a 20 e7 20 a7 73 65 61 72 63 68 |...%.: . .search| 00005a30 24 2c 22 28 22 29 3e 30 20 8c 20 73 65 61 72 63 |$,"(")>0 . searc| 00005a40 68 24 3d c0 73 65 61 72 63 68 24 2c a7 73 65 61 |h$=.search$,.sea| 00005a50 72 63 68 24 2c 22 28 22 29 2d 31 29 0d 25 ee 0d |rch$,"(")-1).%..| 00005a60 20 66 6f 75 6e 64 25 3d 30 0d 25 f8 1c 20 73 65 | found%=0.%.. se| 00005a70 61 72 63 68 24 3d a4 75 70 70 65 72 28 73 65 61 |arch$=.upper(sea| 00005a80 72 63 68 24 29 0d 26 02 13 20 c8 8e 20 70 72 6f |rch$).&.. .. pro| 00005a90 63 66 75 6e 63 25 20 ca 0d 26 0c 0b 20 20 c9 20 |cfunc% ..&.. . | 00005aa0 31 20 3a 0d 26 16 17 20 20 20 e3 20 69 25 3d 30 |1 :.&.. . i%=0| 00005ab0 20 b8 20 6e 6f 70 72 6f 63 25 0d 26 20 18 20 20 | . noproc%.& . | 00005ac0 20 20 e7 20 70 72 6f 63 24 28 69 25 29 3e 22 22 | . proc$(i%)>""| 00005ad0 20 8c 0d 26 2a 18 20 20 20 20 20 70 72 6f 63 24 | ..&*. proc$| 00005ae0 3d 70 72 6f 63 24 28 69 25 29 0d 26 34 1c 20 20 |=proc$(i%).&4. | 00005af0 20 20 20 70 72 6f 63 24 3d a4 75 70 70 65 72 28 | proc$=.upper(| 00005b00 70 72 6f 63 24 29 0d 26 3e 36 20 20 20 20 20 e7 |proc$).&>6 .| 00005b10 20 a7 70 72 6f 63 24 2c 22 28 22 29 3e 30 20 8c | .proc$,"(")>0 .| 00005b20 20 70 72 6f 63 24 3d c0 70 72 6f 63 24 2c a7 70 | proc$=.proc$,.p| 00005b30 72 6f 63 24 2c 22 28 22 29 2d 31 29 0d 26 48 17 |roc$,"(")-1).&H.| 00005b40 20 20 20 20 20 c8 8e 20 63 6f 6e 74 61 69 6e 73 | .. contains| 00005b50 25 20 ca 0d 26 52 23 20 20 20 20 20 20 c9 20 31 |% ..&R# . 1| 00005b60 20 3a 20 e7 20 a7 70 72 6f 63 24 2c 73 65 61 72 | : . .proc$,sear| 00005b70 63 68 24 29 20 8c 0d 26 5c 2c 20 20 20 20 20 20 |ch$) ..&\, | 00005b80 20 20 20 20 20 20 20 20 20 20 66 6f 75 6e 64 24 | found$| 00005b90 28 66 6f 75 6e 64 25 29 3d 70 72 6f 63 24 28 69 |(found%)=proc$(i| 00005ba0 25 29 0d 26 66 26 20 20 20 20 20 20 20 20 20 20 |%).&f& | 00005bb0 20 20 20 20 20 20 66 6f 75 6e 64 25 28 66 6f 75 | found%(fou| 00005bc0 6e 64 25 29 3d 32 35 36 0d 26 70 1d 20 20 20 20 |nd%)=256.&p. | 00005bd0 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 75 6e | foun| 00005be0 64 25 2b 3d 31 0d 26 7a 14 20 20 20 20 20 20 20 |d%+=1.&z. | 00005bf0 20 20 20 20 20 20 20 20 cd 0d 26 84 2e 20 20 20 | ..&.. | 00005c00 20 20 20 c9 20 32 20 3a 20 e7 20 c0 70 72 6f 63 | . 2 : . .proc| 00005c10 24 2c a9 28 73 65 61 72 63 68 24 29 29 3d 73 65 |$,.(search$))=se| 00005c20 61 72 63 68 24 20 8c 0d 26 8e 2c 20 20 20 20 20 |arch$ ..&., | 00005c30 20 20 20 20 20 20 20 20 20 20 20 66 6f 75 6e 64 | found| 00005c40 24 28 66 6f 75 6e 64 25 29 3d 70 72 6f 63 24 28 |$(found%)=proc$(| 00005c50 69 25 29 0d 26 98 26 20 20 20 20 20 20 20 20 20 |i%).&.& | 00005c60 20 20 20 20 20 20 20 66 6f 75 6e 64 25 28 66 6f | found%(fo| 00005c70 75 6e 64 25 29 3d 32 35 36 0d 26 a2 1d 20 20 20 |und%)=256.&.. | 00005c80 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 75 | fou| 00005c90 6e 64 25 2b 3d 31 0d 26 ac 14 20 20 20 20 20 20 |nd%+=1.&.. | 00005ca0 20 20 20 20 20 20 20 20 20 cd 0d 26 b6 2e 20 20 | ..&.. | 00005cb0 20 20 20 20 c9 20 33 20 3a 20 e7 20 c2 70 72 6f | . 3 : . .pro| 00005cc0 63 24 2c a9 28 73 65 61 72 63 68 24 29 29 3d 73 |c$,.(search$))=s| 00005cd0 65 61 72 63 68 24 20 8c 0d 26 c0 2c 20 20 20 20 |earch$ ..&., | 00005ce0 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 75 6e | foun| 00005cf0 64 24 28 66 6f 75 6e 64 25 29 3d 70 72 6f 63 24 |d$(found%)=proc$| 00005d00 28 69 25 29 0d 26 ca 26 20 20 20 20 20 20 20 20 |(i%).&.& | 00005d10 20 20 20 20 20 20 20 20 66 6f 75 6e 64 25 28 66 | found%(f| 00005d20 6f 75 6e 64 25 29 3d 32 35 36 0d 26 d4 1d 20 20 |ound%)=256.&.. | 00005d30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f | fo| 00005d40 75 6e 64 25 2b 3d 31 0d 26 de 14 20 20 20 20 20 |und%+=1.&.. | 00005d50 20 20 20 20 20 20 20 20 20 20 cd 0d 26 e8 21 20 | ..&.! | 00005d60 20 20 20 20 20 c9 20 34 20 3a 20 e7 20 70 72 6f | . 4 : . pro| 00005d70 63 24 3d 73 65 61 72 63 68 24 20 8c 0d 26 f2 2c |c$=search$ ..&.,| 00005d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00005d90 66 6f 75 6e 64 24 28 66 6f 75 6e 64 25 29 3d 70 |found$(found%)=p| 00005da0 72 6f 63 24 28 69 25 29 0d 26 fc 26 20 20 20 20 |roc$(i%).&.& | 00005db0 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 75 6e | foun| 00005dc0 64 25 28 66 6f 75 6e 64 25 29 3d 32 35 36 0d 27 |d%(found%)=256.'| 00005dd0 06 1d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.. | 00005de0 20 20 66 6f 75 6e 64 25 2b 3d 31 0d 27 10 14 20 | found%+=1.'.. | 00005df0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 cd 0d | ..| 00005e00 27 1a 0a 20 20 20 20 20 cb 0d 27 24 09 20 20 20 |'.. ..'$. | 00005e10 20 cd 0d 27 2e 08 20 20 20 ed 0d 27 38 0b 20 20 | ..'.. ..'8. | 00005e20 c9 20 32 20 3a 0d 27 42 17 20 20 20 e3 20 69 25 |. 2 :.'B. . i%| 00005e30 3d 30 20 b8 20 6e 6f 66 75 6e 63 25 0d 27 4c 18 |=0 . nofunc%.'L.| 00005e40 20 20 20 20 e7 20 66 75 6e 63 24 28 69 25 29 3e | . func$(i%)>| 00005e50 22 22 20 8c 0d 27 56 18 20 20 20 20 20 66 75 6e |"" ..'V. fun| 00005e60 63 24 3d 66 75 6e 63 24 28 69 25 29 0d 27 60 1c |c$=func$(i%).'`.| 00005e70 20 20 20 20 20 66 75 6e 63 24 3d a4 75 70 70 65 | func$=.uppe| 00005e80 72 28 66 75 6e 63 24 29 0d 27 6a 36 20 20 20 20 |r(func$).'j6 | 00005e90 20 e7 20 a7 66 75 6e 63 24 2c 22 28 22 29 3e 30 | . .func$,"(")>0| 00005ea0 20 8c 20 66 75 6e 63 24 3d c0 66 75 6e 63 24 2c | . func$=.func$,| 00005eb0 a7 66 75 6e 63 24 2c 22 28 22 29 2d 31 29 0d 27 |.func$,"(")-1).'| 00005ec0 74 17 20 20 20 20 20 c8 8e 20 63 6f 6e 74 61 69 |t. .. contai| 00005ed0 6e 73 25 20 ca 0d 27 7e 23 20 20 20 20 20 20 c9 |ns% ..'~# .| 00005ee0 20 31 20 3a 20 e7 20 a7 66 75 6e 63 24 2c 73 65 | 1 : . .func$,se| 00005ef0 61 72 63 68 24 29 20 8c 0d 27 88 2c 20 20 20 20 |arch$) ..'., | 00005f00 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 75 6e | foun| 00005f10 64 24 28 66 6f 75 6e 64 25 29 3d 66 75 6e 63 24 |d$(found%)=func$| 00005f20 28 69 25 29 0d 27 92 26 20 20 20 20 20 20 20 20 |(i%).'.& | 00005f30 20 20 20 20 20 20 20 20 66 6f 75 6e 64 25 28 66 | found%(f| 00005f40 6f 75 6e 64 25 29 3d 35 31 32 0d 27 9c 1d 20 20 |ound%)=512.'.. | 00005f50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f | fo| 00005f60 75 6e 64 25 2b 3d 31 0d 27 a6 14 20 20 20 20 20 |und%+=1.'.. | 00005f70 20 20 20 20 20 20 20 20 20 20 cd 0d 27 b0 2e 20 | ..'.. | 00005f80 20 20 20 20 20 c9 20 32 20 3a 20 e7 20 c0 66 75 | . 2 : . .fu| 00005f90 6e 63 24 2c a9 28 73 65 61 72 63 68 24 29 29 3d |nc$,.(search$))=| 00005fa0 73 65 61 72 63 68 24 20 8c 0d 27 ba 2c 20 20 20 |search$ ..'., | 00005fb0 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 75 | fou| 00005fc0 6e 64 24 28 66 6f 75 6e 64 25 29 3d 66 75 6e 63 |nd$(found%)=func| 00005fd0 24 28 69 25 29 0d 27 c4 26 20 20 20 20 20 20 20 |$(i%).'.& | 00005fe0 20 20 20 20 20 20 20 20 20 66 6f 75 6e 64 25 28 | found%(| 00005ff0 66 6f 75 6e 64 25 29 3d 35 31 32 0d 27 ce 1d 20 |found%)=512.'.. | 00006000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 | f| 00006010 6f 75 6e 64 25 2b 3d 31 0d 27 d8 14 20 20 20 20 |ound%+=1.'.. | 00006020 20 20 20 20 20 20 20 20 20 20 20 cd 0d 27 e2 2e | ..'..| 00006030 20 20 20 20 20 20 c9 20 33 20 3a 20 e7 20 c2 66 | . 3 : . .f| 00006040 75 6e 63 24 2c a9 28 73 65 61 72 63 68 24 29 29 |unc$,.(search$))| 00006050 3d 73 65 61 72 63 68 24 20 8c 0d 27 ec 2c 20 20 |=search$ ..'., | 00006060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f | fo| 00006070 75 6e 64 24 28 66 6f 75 6e 64 25 29 3d 66 75 6e |und$(found%)=fun| 00006080 63 24 28 69 25 29 0d 27 f6 26 20 20 20 20 20 20 |c$(i%).'.& | 00006090 20 20 20 20 20 20 20 20 20 20 66 6f 75 6e 64 25 | found%| 000060a0 28 66 6f 75 6e 64 25 29 3d 35 31 32 0d 28 00 1d |(found%)=512.(..| 000060b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000060c0 66 6f 75 6e 64 25 2b 3d 31 0d 28 0a 14 20 20 20 |found%+=1.(.. | 000060d0 20 20 20 20 20 20 20 20 20 20 20 20 cd 0d 28 14 | ..(.| 000060e0 21 20 20 20 20 20 20 c9 20 34 20 3a 20 e7 20 66 |! . 4 : . f| 000060f0 75 6e 63 24 3d 73 65 61 72 63 68 24 20 8c 0d 28 |unc$=search$ ..(| 00006100 1e 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |., | 00006110 20 20 66 6f 75 6e 64 24 28 66 6f 75 6e 64 25 29 | found$(found%)| 00006120 3d 66 75 6e 63 24 28 69 25 29 0d 28 28 26 20 20 |=func$(i%).((& | 00006130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f | fo| 00006140 75 6e 64 25 28 66 6f 75 6e 64 25 29 3d 35 31 32 |und%(found%)=512| 00006150 0d 28 32 1d 20 20 20 20 20 20 20 20 20 20 20 20 |.(2. | 00006160 20 20 20 20 66 6f 75 6e 64 25 2b 3d 31 0d 28 3c | found%+=1.(<| 00006170 14 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |. | 00006180 cd 0d 28 46 0a 20 20 20 20 20 cb 0d 28 50 09 20 |..(F. ..(P. | 00006190 20 20 20 cd 0d 28 5a 08 20 20 20 ed 0d 28 64 0b | ..(Z. ..(d.| 000061a0 20 20 c9 20 33 20 3a 0d 28 6e 17 20 20 20 e3 20 | . 3 :.(n. . | 000061b0 69 25 3d 30 20 b8 20 6e 6f 70 72 6f 63 25 0d 28 |i%=0 . noproc%.(| 000061c0 78 18 20 20 20 20 e7 20 70 72 6f 63 24 28 69 25 |x. . proc$(i%| 000061d0 29 3e 22 22 20 8c 0d 28 82 18 20 20 20 20 20 70 |)>"" ..(.. p| 000061e0 72 6f 63 24 3d 70 72 6f 63 24 28 69 25 29 0d 28 |roc$=proc$(i%).(| 000061f0 8c 1c 20 20 20 20 20 70 72 6f 63 24 3d a4 75 70 |.. proc$=.up| 00006200 70 65 72 28 70 72 6f 63 24 29 0d 28 96 36 20 20 |per(proc$).(.6 | 00006210 20 20 20 e7 20 a7 70 72 6f 63 24 2c 22 28 22 29 | . .proc$,"(")| 00006220 3e 30 20 8c 20 70 72 6f 63 24 3d c0 70 72 6f 63 |>0 . proc$=.proc| 00006230 24 2c a7 70 72 6f 63 24 2c 22 28 22 29 2d 31 29 |$,.proc$,"(")-1)| 00006240 0d 28 a0 17 20 20 20 20 20 c8 8e 20 63 6f 6e 74 |.(.. .. cont| 00006250 61 69 6e 73 25 20 ca 0d 28 aa 23 20 20 20 20 20 |ains% ..(.# | 00006260 20 c9 20 31 20 3a 20 e7 20 a7 70 72 6f 63 24 2c | . 1 : . .proc$,| 00006270 73 65 61 72 63 68 24 29 20 8c 0d 28 b4 2c 20 20 |search$) ..(., | 00006280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f | fo| 00006290 75 6e 64 24 28 66 6f 75 6e 64 25 29 3d 70 72 6f |und$(found%)=pro| 000062a0 63 24 28 69 25 29 0d 28 be 26 20 20 20 20 20 20 |c$(i%).(.& | 000062b0 20 20 20 20 20 20 20 20 20 20 66 6f 75 6e 64 25 | found%| 000062c0 28 66 6f 75 6e 64 25 29 3d 32 35 36 0d 28 c8 1d |(found%)=256.(..| 000062d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000062e0 66 6f 75 6e 64 25 2b 3d 31 0d 28 d2 14 20 20 20 |found%+=1.(.. | 000062f0 20 20 20 20 20 20 20 20 20 20 20 20 cd 0d 28 dc | ..(.| 00006300 2e 20 20 20 20 20 20 c9 20 32 20 3a 20 e7 20 c0 |. . 2 : . .| 00006310 70 72 6f 63 24 2c a9 28 73 65 61 72 63 68 24 29 |proc$,.(search$)| 00006320 29 3d 73 65 61 72 63 68 24 20 8c 0d 28 e6 2c 20 |)=search$ ..(., | 00006330 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 | f| 00006340 6f 75 6e 64 24 28 66 6f 75 6e 64 25 29 3d 70 72 |ound$(found%)=pr| 00006350 6f 63 24 28 69 25 29 0d 28 f0 26 20 20 20 20 20 |oc$(i%).(.& | 00006360 20 20 20 20 20 20 20 20 20 20 20 66 6f 75 6e 64 | found| 00006370 25 28 66 6f 75 6e 64 25 29 3d 32 35 36 0d 28 fa |%(found%)=256.(.| 00006380 1d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |. | 00006390 20 66 6f 75 6e 64 25 2b 3d 31 0d 29 04 14 20 20 | found%+=1.).. | 000063a0 20 20 20 20 20 20 20 20 20 20 20 20 20 cd 0d 29 | ..)| 000063b0 0e 2e 20 20 20 20 20 20 c9 20 33 20 3a 20 e7 20 |.. . 3 : . | 000063c0 c2 70 72 6f 63 24 2c a9 28 73 65 61 72 63 68 24 |.proc$,.(search$| 000063d0 29 29 3d 73 65 61 72 63 68 24 20 8c 0d 29 18 2c |))=search$ ..).,| 000063e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000063f0 66 6f 75 6e 64 24 28 66 6f 75 6e 64 25 29 3d 70 |found$(found%)=p| 00006400 72 6f 63 24 28 69 25 29 0d 29 22 26 20 20 20 20 |roc$(i%).)"& | 00006410 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 75 6e | foun| 00006420 64 25 28 66 6f 75 6e 64 25 29 3d 32 35 36 0d 29 |d%(found%)=256.)| 00006430 2c 1d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |,. | 00006440 20 20 66 6f 75 6e 64 25 2b 3d 31 0d 29 36 14 20 | found%+=1.)6. | 00006450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 cd 0d | ..| 00006460 29 40 21 20 20 20 20 20 20 c9 20 34 20 3a 20 e7 |)@! . 4 : .| 00006470 20 70 72 6f 63 24 3d 73 65 61 72 63 68 24 20 8c | proc$=search$ .| 00006480 0d 29 4a 2c 20 20 20 20 20 20 20 20 20 20 20 20 |.)J, | 00006490 20 20 20 20 66 6f 75 6e 64 24 28 66 6f 75 6e 64 | found$(found| 000064a0 25 29 3d 70 72 6f 63 24 28 69 25 29 0d 29 54 26 |%)=proc$(i%).)T&| 000064b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000064c0 66 6f 75 6e 64 25 28 66 6f 75 6e 64 25 29 3d 32 |found%(found%)=2| 000064d0 35 36 0d 29 5e 1d 20 20 20 20 20 20 20 20 20 20 |56.)^. | 000064e0 20 20 20 20 20 20 66 6f 75 6e 64 25 2b 3d 31 0d | found%+=1.| 000064f0 29 68 14 20 20 20 20 20 20 20 20 20 20 20 20 20 |)h. | 00006500 20 20 cd 0d 29 72 0a 20 20 20 20 20 cb 0d 29 7c | ..)r. ..)|| 00006510 09 20 20 20 20 cd 0d 29 86 08 20 20 20 ed 0d 29 |. ..).. ..)| 00006520 90 17 20 20 20 e3 20 69 25 3d 30 20 b8 20 6e 6f |.. . i%=0 . no| 00006530 66 75 6e 63 25 0d 29 9a 18 20 20 20 20 e7 20 66 |func%.).. . f| 00006540 75 6e 63 24 28 69 25 29 3e 22 22 20 8c 0d 29 a4 |unc$(i%)>"" ..).| 00006550 18 20 20 20 20 20 66 75 6e 63 24 3d 66 75 6e 63 |. func$=func| 00006560 24 28 69 25 29 0d 29 ae 1c 20 20 20 20 20 66 75 |$(i%).).. fu| 00006570 6e 63 24 3d a4 75 70 70 65 72 28 66 75 6e 63 24 |nc$=.upper(func$| 00006580 29 0d 29 b8 36 20 20 20 20 20 e7 20 a7 66 75 6e |).).6 . .fun| 00006590 63 24 2c 22 28 22 29 3e 30 20 8c 20 66 75 6e 63 |c$,"(")>0 . func| 000065a0 24 3d c0 66 75 6e 63 24 2c a7 66 75 6e 63 24 2c |$=.func$,.func$,| 000065b0 22 28 22 29 2d 31 29 0d 29 c2 17 20 20 20 20 20 |"(")-1).).. | 000065c0 c8 8e 20 63 6f 6e 74 61 69 6e 73 25 20 ca 0d 29 |.. contains% ..)| 000065d0 cc 23 20 20 20 20 20 20 c9 20 31 20 3a 20 e7 20 |.# . 1 : . | 000065e0 a7 66 75 6e 63 24 2c 73 65 61 72 63 68 24 29 20 |.func$,search$) | 000065f0 8c 0d 29 d6 2c 20 20 20 20 20 20 20 20 20 20 20 |..)., | 00006600 20 20 20 20 20 66 6f 75 6e 64 24 28 66 6f 75 6e | found$(foun| 00006610 64 25 29 3d 66 75 6e 63 24 28 69 25 29 0d 29 e0 |d%)=func$(i%).).| 00006620 26 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |& | 00006630 20 66 6f 75 6e 64 25 28 66 6f 75 6e 64 25 29 3d | found%(found%)=| 00006640 35 31 32 0d 29 ea 1d 20 20 20 20 20 20 20 20 20 |512.).. | 00006650 20 20 20 20 20 20 20 66 6f 75 6e 64 25 2b 3d 31 | found%+=1| 00006660 0d 29 f4 14 20 20 20 20 20 20 20 20 20 20 20 20 |.).. | 00006670 20 20 20 cd 0d 29 fe 2e 20 20 20 20 20 20 c9 20 | ..).. . | 00006680 32 20 3a 20 e7 20 c0 66 75 6e 63 24 2c a9 28 73 |2 : . .func$,.(s| 00006690 65 61 72 63 68 24 29 29 3d 73 65 61 72 63 68 24 |earch$))=search$| 000066a0 20 8c 0d 2a 08 2c 20 20 20 20 20 20 20 20 20 20 | ..*., | 000066b0 20 20 20 20 20 20 66 6f 75 6e 64 24 28 66 6f 75 | found$(fou| 000066c0 6e 64 25 29 3d 66 75 6e 63 24 28 69 25 29 0d 2a |nd%)=func$(i%).*| 000066d0 12 26 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.& | 000066e0 20 20 66 6f 75 6e 64 25 28 66 6f 75 6e 64 25 29 | found%(found%)| 000066f0 3d 35 31 32 0d 2a 1c 1d 20 20 20 20 20 20 20 20 |=512.*.. | 00006700 20 20 20 20 20 20 20 20 66 6f 75 6e 64 25 2b 3d | found%+=| 00006710 31 0d 2a 26 14 20 20 20 20 20 20 20 20 20 20 20 |1.*&. | 00006720 20 20 20 20 cd 0d 2a 30 2e 20 20 20 20 20 20 c9 | ..*0. .| 00006730 20 33 20 3a 20 e7 20 c2 66 75 6e 63 24 2c a9 28 | 3 : . .func$,.(| 00006740 73 65 61 72 63 68 24 29 29 3d 73 65 61 72 63 68 |search$))=search| 00006750 24 20 8c 0d 2a 3a 2c 20 20 20 20 20 20 20 20 20 |$ ..*:, | 00006760 20 20 20 20 20 20 20 66 6f 75 6e 64 24 28 66 6f | found$(fo| 00006770 75 6e 64 25 29 3d 66 75 6e 63 24 28 69 25 29 0d |und%)=func$(i%).| 00006780 2a 44 26 20 20 20 20 20 20 20 20 20 20 20 20 20 |*D& | 00006790 20 20 20 66 6f 75 6e 64 25 28 66 6f 75 6e 64 25 | found%(found%| 000067a0 29 3d 35 31 32 0d 2a 4e 1d 20 20 20 20 20 20 20 |)=512.*N. | 000067b0 20 20 20 20 20 20 20 20 20 66 6f 75 6e 64 25 2b | found%+| 000067c0 3d 31 0d 2a 58 14 20 20 20 20 20 20 20 20 20 20 |=1.*X. | 000067d0 20 20 20 20 20 cd 0d 2a 62 21 20 20 20 20 20 20 | ..*b! | 000067e0 c9 20 34 20 3a 20 e7 20 66 75 6e 63 24 3d 73 65 |. 4 : . func$=se| 000067f0 61 72 63 68 24 20 8c 0d 2a 6c 2c 20 20 20 20 20 |arch$ ..*l, | 00006800 20 20 20 20 20 20 20 20 20 20 20 66 6f 75 6e 64 | found| 00006810 24 28 66 6f 75 6e 64 25 29 3d 66 75 6e 63 24 28 |$(found%)=func$(| 00006820 69 25 29 0d 2a 76 26 20 20 20 20 20 20 20 20 20 |i%).*v& | 00006830 20 20 20 20 20 20 20 66 6f 75 6e 64 25 28 66 6f | found%(fo| 00006840 75 6e 64 25 29 3d 35 31 32 0d 2a 80 1d 20 20 20 |und%)=512.*.. | 00006850 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 75 | fou| 00006860 6e 64 25 2b 3d 31 0d 2a 8a 14 20 20 20 20 20 20 |nd%+=1.*.. | 00006870 20 20 20 20 20 20 20 20 20 cd 0d 2a 94 0a 20 20 | ..*.. | 00006880 20 20 20 cb 0d 2a 9e 09 20 20 20 20 cd 0d 2a a8 | ..*.. ..*.| 00006890 08 20 20 20 ed 0d 2a b2 06 20 cb 0d 2a bc 05 cd |. ..*.. ..*...| 000068a0 0d 2a c6 12 e7 20 73 65 61 72 63 68 24 3e 22 22 |.*... search$>""| 000068b0 20 8c 0d 2a d0 11 20 e7 20 66 6f 75 6e 64 25 3d | ..*.. . found%=| 000068c0 31 20 8c 0d 2a da 36 20 20 f2 73 65 74 69 63 6f |1 ..*.6 .setico| 000068d0 6e 74 65 78 74 28 73 65 61 72 63 68 25 2c 31 33 |ntext(search%,13| 000068e0 2c 22 46 6f 75 6e 64 20 3a 20 31 20 6f 63 63 75 |,"Found : 1 occu| 000068f0 72 72 65 6e 63 65 2e 22 29 0d 2a e4 06 20 cc 0d |rrence.").*.. ..| 00006900 2a ee 41 20 20 f2 73 65 74 69 63 6f 6e 74 65 78 |*.A .seticontex| 00006910 74 28 73 65 61 72 63 68 25 2c 31 33 2c 22 46 6f |t(search%,13,"Fo| 00006920 75 6e 64 20 3a 20 22 2b c3 66 6f 75 6e 64 25 2b |und : "+.found%+| 00006930 22 20 6f 63 63 75 72 72 65 6e 63 65 73 2e 22 29 |" occurrences.")| 00006940 0d 2a f8 06 20 cd 0d 2b 02 05 cd 0d 2b 0c 05 e1 |.*.. ..+....+...| 00006950 0d 2b 16 04 0d 2b 20 12 dd 20 f2 73 68 6f 77 72 |.+...+ .. .showr| 00006960 65 73 75 6c 74 73 0d 2b 2a 10 e7 20 66 6f 75 6e |esults.+*.. foun| 00006970 64 25 3d 30 20 8c 0d 2b 34 53 20 f2 6d 65 73 73 |d%=0 ..+4S .mess| 00006980 61 67 65 28 22 4e 6f 20 70 72 6f 63 65 64 75 72 |age("No procedur| 00006990 65 73 20 6f 72 20 66 75 6e 63 74 69 6f 6e 73 20 |es or functions | 000069a0 66 6f 75 6e 64 20 74 68 61 74 20 6d 61 74 63 68 |found that match| 000069b0 65 64 20 74 68 65 20 73 65 61 72 63 68 20 63 72 |ed the search cr| 000069c0 69 74 65 72 69 61 2e 22 29 0d 2b 3e 05 cc 0d 2b |iteria.").+>...+| 000069d0 48 1f 20 f2 75 6e 73 68 61 64 65 69 63 6f 6e 73 |H. .unshadeicons| 000069e0 28 73 68 6f 77 25 2c 22 32 2c 33 22 29 0d 2b 52 |(show%,"2,3").+R| 000069f0 24 20 f2 73 65 74 69 63 6f 6e 74 65 78 74 28 73 |$ .seticontext(s| 00006a00 68 6f 77 25 2c 31 2c 66 6f 75 6e 64 24 28 30 29 |how%,1,found$(0)| 00006a10 29 0d 2b 5c 16 20 e7 20 66 6f 75 6e 64 25 28 30 |).+\. . found%(0| 00006a20 29 3d 32 35 36 20 8c 0d 2b 66 23 20 20 f2 73 65 |)=256 ..+f# .se| 00006a30 74 69 63 6f 6e 74 65 78 74 28 73 68 6f 77 25 2c |ticontext(show%,| 00006a40 30 2c 22 20 50 52 4f 43 22 29 0d 2b 70 06 20 cc |0," PROC").+p. .| 00006a50 0d 2b 7a 23 20 20 f2 73 65 74 69 63 6f 6e 74 65 |.+z# .seticonte| 00006a60 78 74 28 73 68 6f 77 25 2c 30 2c 22 20 20 20 46 |xt(show%,0," F| 00006a70 4e 22 29 0d 2b 84 06 20 cd 0d 2b 8e 19 20 6d 69 |N").+.. ..+.. mi| 00006a80 6e 25 3d 30 3a 6d 61 78 25 3d 66 6f 75 6e 64 25 |n%=0:max%=found%| 00006a90 2d 31 0d 2b 98 14 20 73 68 6f 77 70 72 6f 63 66 |-1.+.. showprocf| 00006aa0 75 6e 63 25 3d 30 0d 2b a2 14 20 f2 6f 70 65 6e |unc%=0.+.. .open| 00006ab0 74 6f 70 28 73 68 6f 77 25 29 0d 2b ac 05 cd 0d |top(show%).+....| 00006ac0 2b b6 05 e1 0d 2b c0 04 0d 2b ca 25 dd 20 f2 73 |+....+...+.%. .s| 00006ad0 61 76 65 62 61 73 69 63 66 69 6c 65 28 66 75 6c |avebasicfile(ful| 00006ae0 6c 6e 61 6d 65 24 2c 73 69 7a 65 25 29 0d 2b d4 |lname$,size%).+.| 00006af0 35 c8 99 20 22 4f 53 5f 46 69 6c 65 22 2c 31 30 |5.. "OS_File",10| 00006b00 2c 66 75 6c 6c 6e 61 6d 65 24 2c 26 46 46 42 2c |,fullname$,&FFB,| 00006b10 2c 73 61 76 65 66 72 6f 6d 25 2c 73 61 76 65 74 |,savefrom%,savet| 00006b20 6f 25 0d 2b de 12 66 25 3d ad 20 66 75 6c 6c 6e |o%.+..f%=. fulln| 00006b30 61 6d 65 24 0d 2b e8 0d cf 23 66 25 3d a2 23 66 |ame$.+...#f%=.#f| 00006b40 25 0d 2b f2 0b d5 23 66 25 2c 31 33 0d 2b fc 0c |%.+...#f%,13.+..| 00006b50 d5 23 66 25 2c 32 35 35 0d 2c 06 08 d9 23 66 25 |.#f%,255.,...#f%| 00006b60 0d 2c 10 05 e1 0d 2c 1a 04 0d 2c 24 24 dd 20 f2 |.,....,...,$$. .| 00006b70 73 61 76 65 74 65 78 74 66 69 6c 65 28 66 75 6c |savetextfile(ful| 00006b80 6c 6e 61 6d 65 24 2c 73 69 7a 65 25 29 0d 2c 2e |lname$,size%).,.| 00006b90 1f 74 79 70 65 24 3d a4 67 65 74 69 63 6f 6e 74 |.type$=.geticont| 00006ba0 65 78 74 28 73 68 6f 77 25 2c 30 29 0d 2c 38 1f |ext(show%,0).,8.| 00006bb0 6e 61 6d 65 24 3d a4 67 65 74 69 63 6f 6e 74 65 |name$=.geticonte| 00006bc0 78 74 28 73 68 6f 77 25 2c 31 29 0d 2c 42 2c e7 |xt(show%,1).,B,.| 00006bd0 20 a7 74 79 70 65 24 2c 22 50 52 22 29 20 8c 20 | .type$,"PR") . | 00006be0 66 69 6c 65 24 3d 22 50 52 22 20 8b 20 66 69 6c |file$="PR" . fil| 00006bf0 65 24 3d 22 46 4e 22 0d 2c 4c 12 e7 20 66 69 6c |e$="FN".,L.. fil| 00006c00 65 24 3d 22 50 52 22 20 8c 0d 2c 56 14 20 f2 67 |e$="PR" ..,V. .g| 00006c10 65 74 70 72 6f 63 64 65 74 61 69 6c 73 0d 2c 60 |etprocdetails.,`| 00006c20 05 cc 0d 2c 6a 14 20 f2 67 65 74 66 75 6e 63 64 |...,j. .getfuncd| 00006c30 65 74 61 69 6c 73 0d 2c 74 05 cd 0d 2c 7e 31 6c |etails.,t...,~1l| 00006c40 65 6e 67 74 68 31 25 3d 28 28 31 2e 35 2a 28 73 |ength1%=((1.5*(s| 00006c50 61 76 65 74 6f 25 2d 73 61 76 65 66 72 6f 6d 25 |aveto%-savefrom%| 00006c60 29 29 20 81 20 34 20 2b 31 29 2a 34 0d 2c 88 29 |)) . 4 +1)*4.,.)| 00006c70 c8 99 20 22 4f 53 5f 4d 6f 64 75 6c 65 22 2c 36 |.. "OS_Module",6| 00006c80 2c 2c 2c 6c 65 6e 67 74 68 31 25 20 b8 20 2c 2c |,,,length1% . ,,| 00006c90 74 65 78 74 25 0d 2c 92 0f e7 20 74 65 78 74 25 |text%.,... text%| 00006ca0 3e 30 20 8c 0d 2c 9c 34 20 e7 20 73 61 76 65 74 |>0 ..,.4 . savet| 00006cb0 6f 25 3e 3d 62 61 73 69 63 6c 6f 61 64 25 2b 6c |o%>=basicload%+l| 00006cc0 65 6e 67 74 68 25 20 80 20 3f 73 61 76 65 74 6f |ength% . ?saveto| 00006cd0 25 3c 3e 32 35 35 20 8c 0d 2c a6 07 20 20 f5 0d |%<>255 ..,.. ..| 00006ce0 2c b0 11 20 20 20 73 61 76 65 74 6f 25 2d 3d 31 |,.. saveto%-=1| 00006cf0 0d 2c ba 23 20 20 fd 20 3f 73 61 76 65 74 6f 25 |.,.# . ?saveto%| 00006d00 3d 31 33 20 80 20 73 61 76 65 74 6f 25 3f 31 3d |=13 . saveto%?1=| 00006d10 32 35 35 0d 2c c4 06 20 cd 0d 2c ce 11 20 73 74 |255.,.. ..,.. st| 00006d20 61 72 74 25 3d 74 65 78 74 25 0d 2c d8 2c 20 f2 |art%=text%.,., .| 00006d30 64 65 63 6f 64 65 62 61 73 69 63 28 73 61 76 65 |decodebasic(save| 00006d40 66 72 6f 6d 25 2c 73 61 76 65 74 6f 25 2c 74 65 |from%,saveto%,te| 00006d50 78 74 25 2c a3 29 0d 2c e2 31 20 c8 99 20 22 4f |xt%,.).,.1 .. "O| 00006d60 53 5f 46 69 6c 65 22 2c 31 30 2c 66 75 6c 6c 6e |S_File",10,fulln| 00006d70 61 6d 65 24 2c 26 46 46 46 2c 2c 73 74 61 72 74 |ame$,&FFF,,start| 00006d80 25 2c 74 65 78 74 25 0d 2c ec 1d 20 c8 99 20 22 |%,text%.,.. .. "| 00006d90 4f 53 5f 4d 6f 64 75 6c 65 22 2c 37 2c 2c 73 74 |OS_Module",7,,st| 00006da0 61 72 74 25 0d 2c f6 05 cd 0d 2d 00 18 c8 99 20 |art%.,....-.... | 00006db0 22 48 6f 75 72 67 6c 61 73 73 5f 53 6d 61 73 68 |"Hourglass_Smash| 00006dc0 22 0d 2d 0a 05 e1 0d 2d 14 04 0d 2d 1e 12 dd 20 |".-....-...-... | 00006dd0 f2 73 68 6f 77 6c 69 73 74 69 6e 67 0d 2d 28 1f |.showlisting.-(.| 00006de0 74 79 70 65 24 3d a4 67 65 74 69 63 6f 6e 74 65 |type$=.geticonte| 00006df0 78 74 28 73 68 6f 77 25 2c 30 29 0d 2d 32 1f 6e |xt(show%,0).-2.n| 00006e00 61 6d 65 24 3d a4 67 65 74 69 63 6f 6e 74 65 78 |ame$=.geticontex| 00006e10 74 28 73 68 6f 77 25 2c 31 29 0d 2d 3c 2c e7 20 |t(show%,1).-<,. | 00006e20 a7 74 79 70 65 24 2c 22 50 52 22 29 20 8c 20 66 |.type$,"PR") . f| 00006e30 69 6c 65 24 3d 22 50 52 22 20 8b 20 66 69 6c 65 |ile$="PR" . file| 00006e40 24 3d 22 46 4e 22 0d 2d 46 12 e7 20 66 69 6c 65 |$="FN".-F.. file| 00006e50 24 3d 22 50 52 22 20 8c 0d 2d 50 14 20 f2 67 65 |$="PR" ..-P. .ge| 00006e60 74 70 72 6f 63 64 65 74 61 69 6c 73 0d 2d 5a 05 |tprocdetails.-Z.| 00006e70 cc 0d 2d 64 14 20 f2 67 65 74 66 75 6e 63 64 65 |..-d. .getfuncde| 00006e80 74 61 69 6c 73 0d 2d 6e 05 cd 0d 2d 78 31 6c 65 |tails.-n...-x1le| 00006e90 6e 67 74 68 31 25 3d 28 28 31 2e 35 2a 28 73 61 |ngth1%=((1.5*(sa| 00006ea0 76 65 74 6f 25 2d 73 61 76 65 66 72 6f 6d 25 29 |veto%-savefrom%)| 00006eb0 29 20 81 20 34 20 2b 31 29 2a 34 0d 2d 82 2c c8 |) . 4 +1)*4.-.,.| 00006ec0 99 20 22 4f 53 5f 4d 6f 64 75 6c 65 22 2c 36 2c |. "OS_Module",6,| 00006ed0 2c 2c 6c 65 6e 67 74 68 31 25 20 b8 20 2c 2c 64 |,,length1% . ,,d| 00006ee0 65 74 6f 6b 65 6e 25 0d 2d 8c 2a c8 99 20 22 4f |etoken%.-.*.. "O| 00006ef0 53 5f 4d 6f 64 75 6c 65 22 2c 36 2c 2c 2c 6c 65 |S_Module",6,,,le| 00006f00 6e 67 74 68 31 25 20 b8 20 2c 2c 62 61 73 69 63 |ngth1% . ,,basic| 00006f10 25 0d 2d 96 1d e7 20 62 61 73 69 63 25 3e 30 20 |%.-... basic%>0 | 00006f20 80 20 64 65 74 6f 6b 65 6e 25 3e 30 20 8c 0d 2d |. detoken%>0 ..-| 00006f30 a0 34 20 e7 20 73 61 76 65 74 6f 25 3e 3d 62 61 |.4 . saveto%>=ba| 00006f40 73 69 63 6c 6f 61 64 25 2b 6c 65 6e 67 74 68 25 |sicload%+length%| 00006f50 20 80 20 3f 73 61 76 65 74 6f 25 3c 3e 32 35 35 | . ?saveto%<>255| 00006f60 20 8c 0d 2d aa 07 20 20 f5 0d 2d b4 11 20 20 20 | ..-.. ..-.. | 00006f70 73 61 76 65 74 6f 25 2d 3d 31 0d 2d be 23 20 20 |saveto%-=1.-.# | 00006f80 fd 20 3f 73 61 76 65 74 6f 25 3d 31 33 20 80 20 |. ?saveto%=13 . | 00006f90 73 61 76 65 74 6f 25 3f 31 3d 32 35 35 0d 2d c8 |saveto%?1=255.-.| 00006fa0 06 20 cd 0d 2d d2 2f 20 f2 64 65 63 6f 64 65 62 |. ..-./ .decodeb| 00006fb0 61 73 69 63 28 73 61 76 65 66 72 6f 6d 25 2c 73 |asic(savefrom%,s| 00006fc0 61 76 65 74 6f 25 2c 64 65 74 6f 6b 65 6e 25 2c |aveto%,detoken%,| 00006fd0 b9 29 0d 2d dc 05 cd 0d 2d e6 05 e1 0d 2d f0 04 |.).-....-....-..| 00006fe0 0d 2d fa 14 dd 20 f2 72 65 64 72 61 77 6c 69 73 |.-... .redrawlis| 00006ff0 74 69 6e 67 0d 2e 04 26 c8 99 20 22 57 69 6d 70 |ting...&.. "Wimp| 00007000 5f 52 65 64 72 61 77 57 69 6e 64 6f 77 22 2c 2c |_RedrawWindow",,| 00007010 71 25 20 b8 20 6d 6f 72 65 25 0d 2e 0e 17 6f 72 |q% . more%....or| 00007020 69 67 69 6e 78 25 3d 71 25 21 34 2d 71 25 21 32 |iginx%=q%!4-q%!2| 00007030 30 0d 2e 18 18 6f 72 69 67 69 6e 79 25 3d 71 25 |0....originy%=q%| 00007040 21 31 36 2d 71 25 21 32 34 0d 2e 22 0c c8 95 20 |!16-q%!24.."... | 00007050 6d 6f 72 65 25 0d 2e 2c 10 20 f2 73 68 6f 77 72 |more%..,. .showr| 00007060 65 64 72 61 77 0d 2e 36 27 20 c8 99 20 22 57 69 |edraw..6' .. "Wi| 00007070 6d 70 5f 47 65 74 52 65 63 74 61 6e 67 6c 65 22 |mp_GetRectangle"| 00007080 2c 2c 71 25 20 b8 20 6d 6f 72 65 25 0d 2e 40 05 |,,q% . more%..@.| 00007090 ce 0d 2e 4a 05 e1 0d 2e 54 04 0d 2e 5e 12 dd 20 |...J....T...^.. | 000070a0 f2 70 75 74 74 65 78 74 28 74 24 29 0d 2e 68 10 |.puttext(t$)..h.| 000070b0 e3 20 69 25 3d 31 20 b8 20 a9 74 24 0d 2e 72 18 |. i%=1 . .t$..r.| 000070c0 20 3f 73 61 76 65 25 3d 97 28 c1 74 24 2c 69 25 | ?save%=.(.t$,i%| 000070d0 2c 31 29 29 0d 2e 7c 0d 20 73 61 76 65 25 2b 3d |,1))..|. save%+=| 000070e0 31 0d 2e 86 05 ed 0d 2e 90 05 e1 0d 2e 9a 04 0d |1...............| 000070f0 2e a4 0e dd 20 a4 67 65 74 62 79 74 65 0d 2e ae |.... .getbyte...| 00007100 0f 62 79 74 65 25 3d 3f 70 6f 73 25 0d 2e b8 0b |.byte%=?pos%....| 00007110 70 6f 73 25 2b 3d 31 0d 2e c2 0a 3d 62 79 74 65 |pos%+=1....=byte| 00007120 25 0d 2e cc 04 0d 2e d6 32 dd 20 f2 64 65 63 6f |%.......2. .deco| 00007130 64 65 62 61 73 69 63 28 73 74 61 72 74 25 2c 65 |debasic(start%,e| 00007140 6e 64 25 2c f8 20 73 61 76 65 25 2c 62 61 73 69 |nd%,. save%,basi| 00007150 63 73 68 6f 77 25 29 0d 2e e0 15 c8 99 20 22 48 |cshow%)...... "H| 00007160 6f 75 72 67 6c 61 73 73 5f 4f 6e 22 0d 2e ea 11 |ourglass_On"....| 00007170 70 6f 73 25 3d 73 74 61 72 74 25 2b 31 0d 2e f4 |pos%=start%+1...| 00007180 13 c8 95 20 70 6f 73 25 3c 3d 65 6e 64 25 2d 31 |... pos%<=end%-1| 00007190 0d 2e fe 40 20 c8 99 20 22 48 6f 75 72 67 6c 61 |...@ .. "Hourgla| 000071a0 73 73 5f 50 65 72 63 65 6e 74 61 67 65 22 2c 28 |ss_Percentage",(| 000071b0 28 70 6f 73 25 2d 73 74 61 72 74 25 29 2f 28 65 |(pos%-start%)/(e| 000071c0 6e 64 25 2d 73 74 61 72 74 25 29 29 2a 31 30 30 |nd%-start%))*100| 000071d0 0d 2f 08 10 20 62 25 3d a4 67 65 74 62 79 74 65 |./.. b%=.getbyte| 000071e0 0d 2f 12 10 20 62 25 3d a4 67 65 74 62 79 74 65 |./.. b%=.getbyte| 000071f0 0d 2f 1c 10 20 62 25 3d a4 67 65 74 62 79 74 65 |./.. b%=.getbyte| 00007200 0d 2f 26 06 20 f5 0d 2f 30 10 20 62 25 3d a4 67 |./&. ../0. b%=.g| 00007210 65 74 62 79 74 65 0d 2f 3a 10 20 20 e7 20 62 25 |etbyte./:. . b%| 00007220 3c 31 32 37 20 8c 0d 2f 44 10 20 20 20 e7 20 62 |<127 ../D. . b| 00007230 25 3d 31 33 20 8c 0d 2f 4e 18 20 20 20 20 e7 20 |%=13 ../N. . | 00007240 ac 20 62 61 73 69 63 73 68 6f 77 25 20 8c 0d 2f |. basicshow% ../| 00007250 58 16 20 20 20 20 20 f2 70 75 74 74 65 78 74 28 |X. .puttext(| 00007260 bd 31 30 29 0d 2f 62 09 20 20 20 20 cc 0d 2f 6c |.10)./b. ../l| 00007270 18 20 20 20 20 20 f2 70 75 74 74 65 78 74 28 bd |. .puttext(.| 00007280 28 62 25 29 29 0d 2f 76 09 20 20 20 20 cd 0d 2f |(b%))./v. ../| 00007290 80 08 20 20 20 cc 0d 2f 8a 17 20 20 20 20 f2 70 |.. ../.. .p| 000072a0 75 74 74 65 78 74 28 bd 28 62 25 29 29 0d 2f 94 |uttext(.(b%))./.| 000072b0 08 20 20 20 cd 0d 2f 9e 07 20 20 cc 0d 2f a8 0e |. ../.. ../..| 000072c0 20 20 20 c8 8e 20 62 25 20 ca 0d 2f b2 25 20 20 | .. b% ../.% | 000072d0 20 20 c9 20 26 37 46 20 3a 20 f2 70 75 74 74 65 | . &7F : .putte| 000072e0 78 74 28 22 4f 54 48 45 52 57 49 53 45 22 29 0d |xt("OTHERWISE").| 000072f0 2f bc 1f 20 20 20 20 c9 20 26 38 30 20 3a 20 f2 |/.. . &80 : .| 00007300 70 75 74 74 65 78 74 28 22 41 4e 44 22 29 0d 2f |puttext("AND")./| 00007310 c6 1f 20 20 20 20 c9 20 26 38 31 20 3a 20 f2 70 |.. . &81 : .p| 00007320 75 74 74 65 78 74 28 22 44 49 56 22 29 0d 2f d0 |uttext("DIV")./.| 00007330 1f 20 20 20 20 c9 20 26 38 32 20 3a 20 f2 70 75 |. . &82 : .pu| 00007340 74 74 65 78 74 28 22 45 4f 52 22 29 0d 2f da 1f |ttext("EOR")./..| 00007350 20 20 20 20 c9 20 26 38 33 20 3a 20 f2 70 75 74 | . &83 : .put| 00007360 74 65 78 74 28 22 4d 4f 44 22 29 0d 2f e4 1e 20 |text("MOD")./.. | 00007370 20 20 20 c9 20 26 38 34 20 3a 20 f2 70 75 74 74 | . &84 : .putt| 00007380 65 78 74 28 22 4f 52 22 29 0d 2f ee 21 20 20 20 |ext("OR")./.! | 00007390 20 c9 20 26 38 35 20 3a 20 f2 70 75 74 74 65 78 | . &85 : .puttex| 000073a0 74 28 22 45 52 52 4f 52 22 29 0d 2f f8 20 20 20 |t("ERROR")./. | 000073b0 20 20 c9 20 26 38 36 20 3a 20 f2 70 75 74 74 65 | . &86 : .putte| 000073c0 78 74 28 22 4c 49 4e 45 22 29 0d 30 02 1f 20 20 |xt("LINE").0.. | 000073d0 20 20 c9 20 26 38 37 20 3a 20 f2 70 75 74 74 65 | . &87 : .putte| 000073e0 78 74 28 22 4f 46 46 22 29 0d 30 0c 20 20 20 20 |xt("OFF").0. | 000073f0 20 c9 20 26 38 38 20 3a 20 f2 70 75 74 74 65 78 | . &88 : .puttex| 00007400 74 28 22 53 54 45 50 22 29 0d 30 16 1f 20 20 20 |t("STEP").0.. | 00007410 20 c9 20 26 38 39 20 3a 20 f2 70 75 74 74 65 78 | . &89 : .puttex| 00007420 74 28 22 53 50 43 22 29 0d 30 20 20 20 20 20 20 |t("SPC").0 | 00007430 c9 20 26 38 41 20 3a 20 f2 70 75 74 74 65 78 74 |. &8A : .puttext| 00007440 28 22 54 41 42 28 22 29 0d 30 2a 20 20 20 20 20 |("TAB(").0* | 00007450 c9 20 26 38 42 20 3a 20 f2 70 75 74 74 65 78 74 |. &8B : .puttext| 00007460 28 22 45 4c 53 45 22 29 0d 30 34 20 20 20 20 20 |("ELSE").04 | 00007470 c9 20 26 38 43 20 3a 20 f2 70 75 74 74 65 78 74 |. &8C : .puttext| 00007480 28 22 54 48 45 4e 22 29 0d 30 3e 1f 20 20 20 20 |("THEN").0>. | 00007490 c9 20 26 38 44 20 3a 20 f2 6e 75 6d 62 65 72 64 |. &8D : .numberd| 000074a0 65 63 69 70 68 65 72 0d 30 48 22 20 20 20 20 c9 |ecipher.0H" .| 000074b0 20 26 38 45 20 3a 20 f2 70 75 74 74 65 78 74 28 | &8E : .puttext(| 000074c0 22 4f 50 45 4e 49 4e 22 29 0d 30 52 1f 20 20 20 |"OPENIN").0R. | 000074d0 20 c9 20 26 38 46 20 3a 20 f2 70 75 74 74 65 78 | . &8F : .puttex| 000074e0 74 28 22 50 54 52 22 29 0d 30 5c 20 20 20 20 20 |t("PTR").0\ | 000074f0 c9 20 26 39 30 20 3a 20 f2 70 75 74 74 65 78 74 |. &90 : .puttext| 00007500 28 22 50 41 47 45 22 29 0d 30 66 20 20 20 20 20 |("PAGE").0f | 00007510 c9 20 26 39 31 20 3a 20 f2 70 75 74 74 65 78 74 |. &91 : .puttext| 00007520 28 22 54 49 4d 45 22 29 0d 30 70 21 20 20 20 20 |("TIME").0p! | 00007530 c9 20 26 39 32 20 3a 20 f2 70 75 74 74 65 78 74 |. &92 : .puttext| 00007540 28 22 4c 4f 4d 45 4d 22 29 0d 30 7a 21 20 20 20 |("LOMEM").0z! | 00007550 20 c9 20 26 39 33 20 3a 20 f2 70 75 74 74 65 78 | . &93 : .puttex| 00007560 74 28 22 48 49 4d 45 4d 22 29 0d 30 84 1f 20 20 |t("HIMEM").0.. | 00007570 20 20 c9 20 26 39 34 20 3a 20 f2 70 75 74 74 65 | . &94 : .putte| 00007580 78 74 28 22 41 42 53 22 29 0d 30 8e 1f 20 20 20 |xt("ABS").0.. | 00007590 20 c9 20 26 39 35 20 3a 20 f2 70 75 74 74 65 78 | . &95 : .puttex| 000075a0 74 28 22 41 43 53 22 29 0d 30 98 21 20 20 20 20 |t("ACS").0.! | 000075b0 c9 20 26 39 36 20 3a 20 f2 70 75 74 74 65 78 74 |. &96 : .puttext| 000075c0 28 22 41 44 56 41 4c 22 29 0d 30 a2 1f 20 20 20 |("ADVAL").0.. | 000075d0 20 c9 20 26 39 37 20 3a 20 f2 70 75 74 74 65 78 | . &97 : .puttex| 000075e0 74 28 22 41 53 43 22 29 0d 30 ac 1f 20 20 20 20 |t("ASC").0.. | 000075f0 c9 20 26 39 38 20 3a 20 f2 70 75 74 74 65 78 74 |. &98 : .puttext| 00007600 28 22 41 53 4e 22 29 0d 30 b6 20 20 20 20 20 c9 |("ASN").0. .| 00007610 20 26 39 39 20 3a 20 f2 70 75 74 74 65 78 74 28 | &99 : .puttext(| 00007620 22 41 55 54 4f 22 29 0d 30 c0 20 20 20 20 20 c9 |"AUTO").0. .| 00007630 20 26 39 41 20 3a 20 f2 70 75 74 74 65 78 74 28 | &9A : .puttext(| 00007640 22 42 47 45 54 22 29 0d 30 ca 1f 20 20 20 20 c9 |"BGET").0.. .| 00007650 20 26 39 42 20 3a 20 f2 70 75 74 74 65 78 74 28 | &9B : .puttext(| 00007660 22 43 4f 53 22 29 0d 30 d4 21 20 20 20 20 c9 20 |"COS").0.! . | 00007670 26 39 43 20 3a 20 f2 70 75 74 74 65 78 74 28 22 |&9C : .puttext("| 00007680 43 4f 55 4e 54 22 29 0d 30 de 1f 20 20 20 20 c9 |COUNT").0.. .| 00007690 20 26 39 44 20 3a 20 f2 70 75 74 74 65 78 74 28 | &9D : .puttext(| 000076a0 22 44 45 47 22 29 0d 30 e8 1f 20 20 20 20 c9 20 |"DEG").0.. . | 000076b0 26 39 45 20 3a 20 f2 70 75 74 74 65 78 74 28 22 |&9E : .puttext("| 000076c0 45 52 4c 22 29 0d 30 f2 1f 20 20 20 20 c9 20 26 |ERL").0.. . &| 000076d0 39 46 20 3a 20 f2 70 75 74 74 65 78 74 28 22 45 |9F : .puttext("E| 000076e0 52 52 22 29 0d 30 fc 20 20 20 20 20 c9 20 26 41 |RR").0. . &A| 000076f0 30 20 3a 20 f2 70 75 74 74 65 78 74 28 22 45 56 |0 : .puttext("EV| 00007700 41 4c 22 29 0d 31 06 1f 20 20 20 20 c9 20 26 41 |AL").1.. . &A| 00007710 31 20 3a 20 f2 70 75 74 74 65 78 74 28 22 45 58 |1 : .puttext("EX| 00007720 50 22 29 0d 31 10 1f 20 20 20 20 c9 20 26 41 32 |P").1.. . &A2| 00007730 20 3a 20 f2 70 75 74 74 65 78 74 28 22 45 58 54 | : .puttext("EXT| 00007740 22 29 0d 31 1a 21 20 20 20 20 c9 20 26 41 33 20 |").1.! . &A3 | 00007750 3a 20 f2 70 75 74 74 65 78 74 28 22 46 41 4c 53 |: .puttext("FALS| 00007760 45 22 29 0d 31 24 1e 20 20 20 20 c9 20 26 41 34 |E").1$. . &A4| 00007770 20 3a 20 f2 70 75 74 74 65 78 74 28 22 46 4e 22 | : .puttext("FN"| 00007780 29 0d 31 2e 1f 20 20 20 20 c9 20 26 41 35 20 3a |).1.. . &A5 :| 00007790 20 f2 70 75 74 74 65 78 74 28 22 47 45 54 22 29 | .puttext("GET")| 000077a0 0d 31 38 21 20 20 20 20 c9 20 26 41 36 20 3a 20 |.18! . &A6 : | 000077b0 f2 70 75 74 74 65 78 74 28 22 49 4e 4b 45 59 22 |.puttext("INKEY"| 000077c0 29 0d 31 42 22 20 20 20 20 c9 20 26 41 37 20 3a |).1B" . &A7 :| 000077d0 20 f2 70 75 74 74 65 78 74 28 22 49 4e 53 54 52 | .puttext("INSTR| 000077e0 28 22 29 0d 31 4c 1f 20 20 20 20 c9 20 26 41 38 |(").1L. . &A8| 000077f0 20 3a 20 f2 70 75 74 74 65 78 74 28 22 49 4e 54 | : .puttext("INT| 00007800 22 29 0d 31 56 1f 20 20 20 20 c9 20 26 41 39 20 |").1V. . &A9 | 00007810 3a 20 f2 70 75 74 74 65 78 74 28 22 4c 45 4e 22 |: .puttext("LEN"| 00007820 29 0d 31 60 1e 20 20 20 20 c9 20 26 41 41 20 3a |).1`. . &AA :| 00007830 20 f2 70 75 74 74 65 78 74 28 22 4c 4e 22 29 0d | .puttext("LN").| 00007840 31 6a 1f 20 20 20 20 c9 20 26 41 42 20 3a 20 f2 |1j. . &AB : .| 00007850 70 75 74 74 65 78 74 28 22 4c 4f 47 22 29 0d 31 |puttext("LOG").1| 00007860 74 1f 20 20 20 20 c9 20 26 41 43 20 3a 20 f2 70 |t. . &AC : .p| 00007870 75 74 74 65 78 74 28 22 4e 4f 54 22 29 0d 31 7e |uttext("NOT").1~| 00007880 22 20 20 20 20 c9 20 26 41 44 20 3a 20 f2 70 75 |" . &AD : .pu| 00007890 74 74 65 78 74 28 22 4f 50 45 4e 55 50 22 29 0d |ttext("OPENUP").| 000078a0 31 88 23 20 20 20 20 c9 20 26 41 45 20 3a 20 f2 |1.# . &AE : .| 000078b0 70 75 74 74 65 78 74 28 22 4f 50 45 4e 4f 55 54 |puttext("OPENOUT| 000078c0 22 29 0d 31 92 1e 20 20 20 20 c9 20 26 41 46 20 |").1.. . &AF | 000078d0 3a 20 f2 70 75 74 74 65 78 74 28 22 50 49 22 29 |: .puttext("PI")| 000078e0 0d 31 9c 22 20 20 20 20 c9 20 26 42 30 20 3a 20 |.1." . &B0 : | 000078f0 f2 70 75 74 74 65 78 74 28 22 50 4f 49 4e 54 28 |.puttext("POINT(| 00007900 22 29 0d 31 a6 1f 20 20 20 20 c9 20 26 42 31 20 |").1.. . &B1 | 00007910 3a 20 f2 70 75 74 74 65 78 74 28 22 50 4f 53 22 |: .puttext("POS"| 00007920 29 0d 31 b0 1f 20 20 20 20 c9 20 26 42 32 20 3a |).1.. . &B2 :| 00007930 20 f2 70 75 74 74 65 78 74 28 22 52 41 44 22 29 | .puttext("RAD")| 00007940 0d 31 ba 1f 20 20 20 20 c9 20 26 42 33 20 3a 20 |.1.. . &B3 : | 00007950 f2 70 75 74 74 65 78 74 28 22 52 4e 44 22 29 0d |.puttext("RND").| 00007960 31 c4 1f 20 20 20 20 c9 20 26 42 34 20 3a 20 f2 |1.. . &B4 : .| 00007970 70 75 74 74 65 78 74 28 22 53 47 4e 22 29 0d 31 |puttext("SGN").1| 00007980 ce 1f 20 20 20 20 c9 20 26 42 35 20 3a 20 f2 70 |.. . &B5 : .p| 00007990 75 74 74 65 78 74 28 22 53 49 4e 22 29 0d 31 d8 |uttext("SIN").1.| 000079a0 1f 20 20 20 20 c9 20 26 42 36 20 3a 20 f2 70 75 |. . &B6 : .pu| 000079b0 74 74 65 78 74 28 22 53 51 52 22 29 0d 31 e2 1f |ttext("SQR").1..| 000079c0 20 20 20 20 c9 20 26 42 37 20 3a 20 f2 70 75 74 | . &B7 : .put| 000079d0 74 65 78 74 28 22 54 41 4e 22 29 0d 31 ec 1e 20 |text("TAN").1.. | 000079e0 20 20 20 c9 20 26 42 38 20 3a 20 f2 70 75 74 74 | . &B8 : .putt| 000079f0 65 78 74 28 22 54 4f 22 29 0d 31 f6 20 20 20 20 |ext("TO").1. | 00007a00 20 c9 20 26 42 39 20 3a 20 f2 70 75 74 74 65 78 | . &B9 : .puttex| 00007a10 74 28 22 54 52 55 45 22 29 0d 32 00 1f 20 20 20 |t("TRUE").2.. | 00007a20 20 c9 20 26 42 41 20 3a 20 f2 70 75 74 74 65 78 | . &BA : .puttex| 00007a30 74 28 22 55 53 52 22 29 0d 32 0a 1f 20 20 20 20 |t("USR").2.. | 00007a40 c9 20 26 42 42 20 3a 20 f2 70 75 74 74 65 78 74 |. &BB : .puttext| 00007a50 28 22 56 41 4c 22 29 0d 32 14 20 20 20 20 20 c9 |("VAL").2. .| 00007a60 20 26 42 43 20 3a 20 f2 70 75 74 74 65 78 74 28 | &BC : .puttext(| 00007a70 22 56 50 4f 53 22 29 0d 32 1e 20 20 20 20 20 c9 |"VPOS").2. .| 00007a80 20 26 42 44 20 3a 20 f2 70 75 74 74 65 78 74 28 | &BD : .puttext(| 00007a90 22 43 48 52 24 22 29 0d 32 28 20 20 20 20 20 c9 |"CHR$").2( .| 00007aa0 20 26 42 45 20 3a 20 f2 70 75 74 74 65 78 74 28 | &BE : .puttext(| 00007ab0 22 47 45 54 24 22 29 0d 32 32 22 20 20 20 20 c9 |"GET$").22" .| 00007ac0 20 26 42 46 20 3a 20 f2 70 75 74 74 65 78 74 28 | &BF : .puttext(| 00007ad0 22 49 4e 4b 45 59 24 22 29 0d 32 3c 22 20 20 20 |"INKEY$").2<" | 00007ae0 20 c9 20 26 43 30 20 3a 20 f2 70 75 74 74 65 78 | . &C0 : .puttex| 00007af0 74 28 22 4c 45 46 54 24 28 22 29 0d 32 46 21 20 |t("LEFT$(").2F! | 00007b00 20 20 20 c9 20 26 43 31 20 3a 20 f2 70 75 74 74 | . &C1 : .putt| 00007b10 65 78 74 28 22 4d 49 44 24 28 22 29 0d 32 50 23 |ext("MID$(").2P#| 00007b20 20 20 20 20 c9 20 26 43 32 20 3a 20 f2 70 75 74 | . &C2 : .put| 00007b30 74 65 78 74 28 22 52 49 47 48 54 24 28 22 29 0d |text("RIGHT$(").| 00007b40 32 5a 20 20 20 20 20 c9 20 26 43 33 20 3a 20 f2 |2Z . &C3 : .| 00007b50 70 75 74 74 65 78 74 28 22 53 54 52 24 22 29 0d |puttext("STR$").| 00007b60 32 64 24 20 20 20 20 c9 20 26 43 34 20 3a 20 f2 |2d$ . &C4 : .| 00007b70 70 75 74 74 65 78 74 28 22 53 54 52 49 4e 47 24 |puttext("STRING$| 00007b80 28 22 29 0d 32 6e 1f 20 20 20 20 c9 20 26 43 35 |(").2n. . &C5| 00007b90 20 3a 20 f2 70 75 74 74 65 78 74 28 22 45 4f 46 | : .puttext("EOF| 00007ba0 22 29 0d 32 78 1b 20 20 20 20 c9 20 26 43 36 20 |").2x. . &C6 | 00007bb0 3a 20 63 25 3d a4 67 65 74 62 79 74 65 0d 32 82 |: c%=.getbyte.2.| 00007bc0 1a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |. | 00007bd0 c8 8e 20 63 25 20 ca 0d 32 8c 2e 20 20 20 20 20 |.. c% ..2.. | 00007be0 20 20 20 20 20 20 20 20 20 20 20 c9 20 26 38 45 | . &8E| 00007bf0 20 3a 20 f2 70 75 74 74 65 78 74 28 22 53 55 4d | : .puttext("SUM| 00007c00 4c 45 4e 22 29 0d 32 96 2c 20 20 20 20 20 20 20 |LEN").2., | 00007c10 20 20 20 20 20 20 20 20 20 c9 20 26 38 46 20 3a | . &8F :| 00007c20 20 f2 70 75 74 74 65 78 74 28 22 42 45 41 54 22 | .puttext("BEAT"| 00007c30 29 0d 32 a0 14 20 20 20 20 20 20 20 20 20 20 20 |).2.. | 00007c40 20 20 20 20 cb 0d 32 aa 1b 20 20 20 20 c9 20 26 | ..2.. . &| 00007c50 43 37 20 3a 20 63 25 3d a4 67 65 74 62 79 74 65 |C7 : c%=.getbyte| 00007c60 0d 32 b4 1a 20 20 20 20 20 20 20 20 20 20 20 20 |.2.. | 00007c70 20 20 20 c8 8e 20 63 25 20 ca 0d 32 be 2e 20 20 | .. c% ..2.. | 00007c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 c9 20 | . | 00007c90 26 38 45 20 3a 20 f2 70 75 74 74 65 78 74 28 22 |&8E : .puttext("| 00007ca0 41 50 50 45 4e 44 22 29 0d 32 c8 2c 20 20 20 20 |APPEND").2., | 00007cb0 20 20 20 20 20 20 20 20 20 20 20 20 c9 20 26 38 | . &8| 00007cc0 46 20 3a 20 f2 70 75 74 74 65 78 74 28 22 41 55 |F : .puttext("AU| 00007cd0 54 4f 22 29 0d 32 d2 2e 20 20 20 20 20 20 20 20 |TO").2.. | 00007ce0 20 20 20 20 20 20 20 20 c9 20 26 39 30 20 3a 20 | . &90 : | 00007cf0 f2 70 75 74 74 65 78 74 28 22 44 45 4c 45 54 45 |.puttext("DELETE| 00007d00 22 29 0d 32 dc 2c 20 20 20 20 20 20 20 20 20 20 |").2., | 00007d10 20 20 20 20 20 20 c9 20 26 39 31 20 3a 20 f2 70 | . &91 : .p| 00007d20 75 74 74 65 78 74 28 22 45 44 49 54 22 29 0d 32 |uttext("EDIT").2| 00007d30 e6 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |., | 00007d40 20 20 c9 20 26 39 32 20 3a 20 f2 70 75 74 74 65 | . &92 : .putte| 00007d50 78 74 28 22 48 45 4c 50 22 29 0d 32 f0 2c 20 20 |xt("HELP").2., | 00007d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 c9 20 | . | 00007d70 26 39 33 20 3a 20 f2 70 75 74 74 65 78 74 28 22 |&93 : .puttext("| 00007d80 4c 49 53 54 22 29 0d 32 fa 2c 20 20 20 20 20 20 |LIST").2., | 00007d90 20 20 20 20 20 20 20 20 20 20 c9 20 26 39 34 20 | . &94 | 00007da0 3a 20 f2 70 75 74 74 65 78 74 28 22 4c 4f 41 44 |: .puttext("LOAD| 00007db0 22 29 0d 33 04 2c 20 20 20 20 20 20 20 20 20 20 |").3., | 00007dc0 20 20 20 20 20 20 c9 20 26 39 35 20 3a 20 f2 70 | . &95 : .p| 00007dd0 75 74 74 65 78 74 28 22 4c 56 41 52 22 29 0d 33 |uttext("LVAR").3| 00007de0 0e 2b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |.+ | 00007df0 20 20 c9 20 26 39 36 20 3a 20 f2 70 75 74 74 65 | . &96 : .putte| 00007e00 78 74 28 22 4e 45 57 22 29 0d 33 18 2b 20 20 20 |xt("NEW").3.+ | 00007e10 20 20 20 20 20 20 20 20 20 20 20 20 20 c9 20 26 | . &| 00007e20 39 37 20 3a 20 f2 70 75 74 74 65 78 74 28 22 4f |97 : .puttext("O| 00007e30 4c 44 22 29 0d 33 22 30 20 20 20 20 20 20 20 20 |LD").3"0 | 00007e40 20 20 20 20 20 20 20 20 c9 20 26 39 38 20 3a 20 | . &98 : | 00007e50 f2 70 75 74 74 65 78 74 28 22 52 45 4e 55 4d 42 |.puttext("RENUMB| 00007e60 45 52 22 29 0d 33 2c 2c 20 20 20 20 20 20 20 20 |ER").3,, | 00007e70 20 20 20 20 20 20 20 20 c9 20 26 39 39 20 3a 20 | . &99 : | 00007e80 f2 70 75 74 74 65 78 74 28 22 53 41 56 45 22 29 |.puttext("SAVE")| 00007e90 0d 33 36 2c 20 20 20 20 20 20 20 20 20 20 20 20 |.36, | 00007ea0 20 20 20 20 c9 20 26 39 41 20 3a 20 f2 70 75 74 | . &9A : .put| 00007eb0 74 65 78 74 28 22 54 57 49 4e 22 29 0d 33 40 2d |text("TWIN").3@-| 00007ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00007ed0 c9 20 26 39 42 20 3a 20 f2 70 75 74 74 65 78 74 |. &9B : .puttext| 00007ee0 28 22 54 57 49 4e 4f 22 29 0d 33 4a 14 20 20 20 |("TWINO").3J. | 00007ef0 20 20 20 20 20 20 20 20 20 20 20 20 cb 0d 33 54 | ..3T| 00007f00 1b 20 20 20 20 c9 20 26 43 38 20 3a 20 63 25 3d |. . &C8 : c%=| 00007f10 a4 67 65 74 62 79 74 65 0d 33 5e 1a 20 20 20 20 |.getbyte.3^. | 00007f20 20 20 20 20 20 20 20 20 20 20 20 c8 8e 20 63 25 | .. c%| 00007f30 20 ca 0d 33 68 2c 20 20 20 20 20 20 20 20 20 20 | ..3h, | 00007f40 20 20 20 20 20 20 c9 20 26 38 45 20 3a 20 f2 70 | . &8E : .p| 00007f50 75 74 74 65 78 74 28 22 43 41 53 45 22 29 0d 33 |uttext("CASE").3| 00007f60 72 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |r. | 00007f70 20 20 c9 20 26 38 46 20 3a 20 f2 70 75 74 74 65 | . &8F : .putte| 00007f80 78 74 28 22 43 49 52 43 4c 45 22 29 0d 33 7c 2c |xt("CIRCLE").3|,| 00007f90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00007fa0 c9 20 26 39 30 20 3a 20 f2 70 75 74 74 65 78 74 |. &90 : .puttext| 00007fb0 28 22 46 49 4c 4c 22 29 0d 33 86 2e 20 20 20 20 |("FILL").3.. | 00007fc0 20 20 20 20 20 20 20 20 20 20 20 20 c9 20 26 39 | . &9| 00007fd0 31 20 3a 20 f2 70 75 74 74 65 78 74 28 22 4f 52 |1 : .puttext("OR| 00007fe0 49 47 49 4e 22 29 0d 33 90 2d 20 20 20 20 20 20 |IGIN").3.- | 00007ff0 20 20 20 20 20 20 20 20 20 20 c9 20 26 39 32 20 | . &92 | 00008000 3a 20 f2 70 75 74 74 65 78 74 28 22 50 4f 49 4e |: .puttext("POIN| 00008010 54 22 29 0d 33 9a 31 20 20 20 20 20 20 20 20 20 |T").3.1 | 00008020 20 20 20 20 20 20 20 c9 20 26 39 33 20 3a 20 f2 | . &93 : .| 00008030 70 75 74 74 65 78 74 28 22 52 45 43 54 41 4e 47 |puttext("RECTANG| 00008040 4c 45 22 29 0d 33 a4 2c 20 20 20 20 20 20 20 20 |LE").3., | 00008050 20 20 20 20 20 20 20 20 c9 20 26 39 34 20 3a 20 | . &94 : | 00008060 f2 70 75 74 74 65 78 74 28 22 53 57 41 50 22 29 |.puttext("SWAP")| 00008070 0d 33 ae 2d 20 20 20 20 20 20 20 20 20 20 20 20 |.3.- | 00008080 20 20 20 20 c9 20 26 39 35 20 3a 20 f2 70 75 74 | . &95 : .put| 00008090 74 65 78 74 28 22 57 48 49 4c 45 22 29 0d 33 b8 |text("WHILE").3.| 000080a0 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |, | 000080b0 20 c9 20 26 39 36 20 3a 20 f2 70 75 74 74 65 78 | . &96 : .puttex| 000080c0 74 28 22 57 41 49 54 22 29 0d 33 c2 2d 20 20 20 |t("WAIT").3.- | 000080d0 20 20 20 20 20 20 20 20 20 20 20 20 20 c9 20 26 | . &| 000080e0 39 37 20 3a 20 f2 70 75 74 74 65 78 74 28 22 4d |97 : .puttext("M| 000080f0 4f 55 53 45 22 29 0d 33 cc 2c 20 20 20 20 20 20 |OUSE").3., | 00008100 20 20 20 20 20 20 20 20 20 20 c9 20 26 39 38 20 | . &98 | 00008110 3a 20 f2 70 75 74 74 65 78 74 28 22 51 55 49 54 |: .puttext("QUIT| 00008120 22 29 0d 33 d6 2b 20 20 20 20 20 20 20 20 20 20 |").3.+ | 00008130 20 20 20 20 20 20 c9 20 26 39 39 20 3a 20 f2 70 | . &99 : .p| 00008140 75 74 74 65 78 74 28 22 53 59 53 22 29 0d 33 e0 |uttext("SYS").3.| 00008150 2f 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |/ | 00008160 20 c9 20 26 39 41 20 3a 20 f2 70 75 74 74 65 78 | . &9A : .puttex| 00008170 74 28 22 49 4e 53 54 41 4c 4c 22 29 0d 33 ea 2f |t("INSTALL").3./| 00008180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00008190 c9 20 26 39 42 20 3a 20 f2 70 75 74 74 65 78 74 |. &9B : .puttext| 000081a0 28 22 4c 49 42 52 41 52 59 22 29 0d 33 f4 2f 20 |("LIBRARY").3./ | 000081b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 c9 | .| 000081c0 20 26 39 44 20 3a 20 f2 70 75 74 74 65 78 74 28 | &9D : .puttext(| 000081d0 22 45 4c 4c 49 50 53 45 22 29 0d 33 fe 2c 20 20 |"ELLIPSE").3., | 000081e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 c9 20 | . | 000081f0 26 39 43 20 3a 20 f2 70 75 74 74 65 78 74 28 22 |&9C : .puttext("| 00008200 54 49 4e 54 22 29 0d 34 08 2d 20 20 20 20 20 20 |TINT").4.- | 00008210 20 20 20 20 20 20 20 20 20 20 c9 20 26 39 45 20 | . &9E | 00008220 3a 20 f2 70 75 74 74 65 78 74 28 22 42 45 41 54 |: .puttext("BEAT| 00008230 53 22 29 0d 34 12 2d 20 20 20 20 20 20 20 20 20 |S").4.- | 00008240 20 20 20 20 20 20 20 c9 20 26 39 46 20 3a 20 f2 | . &9F : .| 00008250 70 75 74 74 65 78 74 28 22 54 45 4d 50 4f 22 29 |puttext("TEMPO")| 00008260 0d 34 1c 2e 20 20 20 20 20 20 20 20 20 20 20 20 |.4.. | 00008270 20 20 20 20 c9 20 26 41 30 20 3a 20 f2 70 75 74 | . &A0 : .put| 00008280 74 65 78 74 28 22 56 4f 49 43 45 53 22 29 0d 34 |text("VOICES").4| 00008290 26 2d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |&- | 000082a0 20 20 c9 20 26 41 31 20 3a 20 f2 70 75 74 74 65 | . &A1 : .putte| 000082b0 78 74 28 22 56 4f 49 43 45 22 29 0d 34 30 2e 20 |xt("VOICE").40. | 000082c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 c9 | .| 000082d0 20 26 41 32 20 3a 20 f2 70 75 74 74 65 78 74 28 | &A2 : .puttext(| 000082e0 22 53 54 45 52 45 4f 22 29 0d 34 3a 2f 20 20 20 |"STEREO").4:/ | 000082f0 20 20 20 20 20 20 20 20 20 20 20 20 20 c9 20 26 | . &| 00008300 41 33 20 3a 20 f2 70 75 74 74 65 78 74 28 22 4f |A3 : .puttext("O| 00008310 56 45 52 4c 41 59 22 29 0d 34 44 14 20 20 20 20 |VERLAY").4D. | 00008320 20 20 20 20 20 20 20 20 20 20 20 cb 0d 34 4e 20 | ..4N | 00008330 20 20 20 20 c9 20 26 43 39 20 3a 20 f2 70 75 74 | . &C9 : .put| 00008340 74 65 78 74 28 22 57 48 45 4e 22 29 0d 34 58 1e |text("WHEN").4X.| 00008350 20 20 20 20 c9 20 26 43 41 20 3a 20 f2 70 75 74 | . &CA : .put| 00008360 74 65 78 74 28 22 4f 46 22 29 0d 34 62 23 20 20 |text("OF").4b# | 00008370 20 20 c9 20 26 43 42 20 3a 20 f2 70 75 74 74 65 | . &CB : .putte| 00008380 78 74 28 22 45 4e 44 43 41 53 45 22 29 0d 34 6c |xt("ENDCASE").4l| 00008390 20 20 20 20 20 c9 20 26 43 43 20 3a 20 f2 70 75 | . &CC : .pu| 000083a0 74 74 65 78 74 28 22 45 4c 53 45 22 29 0d 34 76 |ttext("ELSE").4v| 000083b0 21 20 20 20 20 c9 20 26 43 44 20 3a 20 f2 70 75 |! . &CD : .pu| 000083c0 74 74 65 78 74 28 22 45 4e 44 49 46 22 29 0d 34 |ttext("ENDIF").4| 000083d0 80 24 20 20 20 20 c9 20 26 43 45 20 3a 20 f2 70 |.$ . &CE : .p| 000083e0 75 74 74 65 78 74 28 22 45 4e 44 57 48 49 4c 45 |uttext("ENDWHILE| 000083f0 22 29 0d 34 8a 1f 20 20 20 20 c9 20 26 43 46 20 |").4.. . &CF | 00008400 3a 20 f2 70 75 74 74 65 78 74 28 22 50 54 52 22 |: .puttext("PTR"| 00008410 29 0d 34 94 20 20 20 20 20 c9 20 26 44 30 20 3a |).4. . &D0 :| 00008420 20 f2 70 75 74 74 65 78 74 28 22 50 41 47 45 22 | .puttext("PAGE"| 00008430 29 0d 34 9e 20 20 20 20 20 c9 20 26 44 31 20 3a |).4. . &D1 :| 00008440 20 f2 70 75 74 74 65 78 74 28 22 54 49 4d 45 22 | .puttext("TIME"| 00008450 29 0d 34 a8 21 20 20 20 20 c9 20 26 44 32 20 3a |).4.! . &D2 :| 00008460 20 f2 70 75 74 74 65 78 74 28 22 4c 4f 4d 45 4d | .puttext("LOMEM| 00008470 22 29 0d 34 b2 21 20 20 20 20 c9 20 26 44 33 20 |").4.! . &D3 | 00008480 3a 20 f2 70 75 74 74 65 78 74 28 22 48 49 4d 45 |: .puttext("HIME| 00008490 4d 22 29 0d 34 bc 21 20 20 20 20 c9 20 26 44 34 |M").4.! . &D4| 000084a0 20 3a 20 f2 70 75 74 74 65 78 74 28 22 53 4f 55 | : .puttext("SOU| 000084b0 4e 44 22 29 0d 34 c6 20 20 20 20 20 c9 20 26 44 |ND").4. . &D| 000084c0 35 20 3a 20 f2 70 75 74 74 65 78 74 28 22 42 50 |5 : .puttext("BP| 000084d0 55 54 22 29 0d 34 d0 20 20 20 20 20 c9 20 26 44 |UT").4. . &D| 000084e0 36 20 3a 20 f2 70 75 74 74 65 78 74 28 22 43 41 |6 : .puttext("CA| 000084f0 4c 4c 22 29 0d 34 da 21 20 20 20 20 c9 20 26 44 |LL").4.! . &D| 00008500 37 20 3a 20 f2 70 75 74 74 65 78 74 28 22 43 48 |7 : .puttext("CH| 00008510 41 49 4e 22 29 0d 34 e4 21 20 20 20 20 c9 20 26 |AIN").4.! . &| 00008520 44 38 20 3a 20 f2 70 75 74 74 65 78 74 28 22 43 |D8 : .puttext("C| 00008530 4c 45 41 52 22 29 0d 34 ee 21 20 20 20 20 c9 20 |LEAR").4.! . | 00008540 26 44 39 20 3a 20 f2 70 75 74 74 65 78 74 28 22 |&D9 : .puttext("| 00008550 43 4c 4f 53 45 22 29 0d 34 f8 1f 20 20 20 20 c9 |CLOSE").4.. .| 00008560 20 26 44 41 20 3a 20 f2 70 75 74 74 65 78 74 28 | &DA : .puttext(| 00008570 22 43 4c 47 22 29 0d 35 02 1f 20 20 20 20 c9 20 |"CLG").5.. . | 00008580 26 44 42 20 3a 20 f2 70 75 74 74 65 78 74 28 22 |&DB : .puttext("| 00008590 43 4c 53 22 29 0d 35 0c 20 20 20 20 20 c9 20 26 |CLS").5. . &| 000085a0 44 43 20 3a 20 f2 70 75 74 74 65 78 74 28 22 44 |DC : .puttext("D| 000085b0 41 54 41 22 29 0d 35 16 1f 20 20 20 20 c9 20 26 |ATA").5.. . &| 000085c0 44 44 20 3a 20 f2 70 75 74 74 65 78 74 28 22 44 |DD : .puttext("D| 000085d0 45 46 22 29 0d 35 20 1f 20 20 20 20 c9 20 26 44 |EF").5 . . &D| 000085e0 45 20 3a 20 f2 70 75 74 74 65 78 74 28 22 44 49 |E : .puttext("DI| 000085f0 4d 22 29 0d 35 2a 20 20 20 20 20 c9 20 26 44 46 |M").5* . &DF| 00008600 20 3a 20 f2 70 75 74 74 65 78 74 28 22 44 52 41 | : .puttext("DRA| 00008610 57 22 29 0d 35 34 1f 20 20 20 20 c9 20 26 45 30 |W").54. . &E0| 00008620 20 3a 20 f2 70 75 74 74 65 78 74 28 22 45 4e 44 | : .puttext("END| 00008630 22 29 0d 35 3e 23 20 20 20 20 c9 20 26 45 31 20 |").5># . &E1 | 00008640 3a 20 f2 70 75 74 74 65 78 74 28 22 45 4e 44 50 |: .puttext("ENDP| 00008650 52 4f 43 22 29 0d 35 48 23 20 20 20 20 c9 20 26 |ROC").5H# . &| 00008660 45 32 20 3a 20 f2 70 75 74 74 65 78 74 28 22 52 |E2 : .puttext("R| 00008670 49 47 48 54 24 28 22 29 0d 35 52 1f 20 20 20 20 |IGHT$(").5R. | 00008680 c9 20 26 45 33 20 3a 20 f2 70 75 74 74 65 78 74 |. &E3 : .puttext| 00008690 28 22 46 4f 52 22 29 0d 35 5c 21 20 20 20 20 c9 |("FOR").5\! .| 000086a0 20 26 45 34 20 3a 20 f2 70 75 74 74 65 78 74 28 | &E4 : .puttext(| 000086b0 22 47 4f 53 55 42 22 29 0d 35 66 20 20 20 20 20 |"GOSUB").5f | 000086c0 c9 20 26 45 35 20 3a 20 f2 70 75 74 74 65 78 74 |. &E5 : .puttext| 000086d0 28 22 47 4f 54 4f 22 29 0d 35 70 20 20 20 20 20 |("GOTO").5p | 000086e0 c9 20 26 45 36 20 3a 20 f2 70 75 74 74 65 78 74 |. &E6 : .puttext| 000086f0 28 22 47 43 4f 4c 22 29 0d 35 7a 1e 20 20 20 20 |("GCOL").5z. | 00008700 c9 20 26 45 37 20 3a 20 f2 70 75 74 74 65 78 74 |. &E7 : .puttext| 00008710 28 22 49 46 22 29 0d 35 84 21 20 20 20 20 c9 20 |("IF").5.! . | 00008720 26 45 38 20 3a 20 f2 70 75 74 74 65 78 74 28 22 |&E8 : .puttext("| 00008730 49 4e 50 55 54 22 29 0d 35 8e 1f 20 20 20 20 c9 |INPUT").5.. .| 00008740 20 26 45 39 20 3a 20 f2 70 75 74 74 65 78 74 28 | &E9 : .puttext(| 00008750 22 4c 45 54 22 29 0d 35 98 21 20 20 20 20 c9 20 |"LET").5.! . | 00008760 26 45 41 20 3a 20 f2 70 75 74 74 65 78 74 28 22 |&EA : .puttext("| 00008770 4c 4f 43 41 4c 22 29 0d 35 a2 20 20 20 20 20 c9 |LOCAL").5. .| 00008780 20 26 45 42 20 3a 20 f2 70 75 74 74 65 78 74 28 | &EB : .puttext(| 00008790 22 4d 4f 44 45 22 29 0d 35 ac 20 20 20 20 20 c9 |"MODE").5. .| 000087a0 20 26 45 43 20 3a 20 f2 70 75 74 74 65 78 74 28 | &EC : .puttext(| 000087b0 22 4d 4f 56 45 22 29 0d 35 b6 20 20 20 20 20 c9 |"MOVE").5. .| 000087c0 20 26 45 44 20 3a 20 f2 70 75 74 74 65 78 74 28 | &ED : .puttext(| 000087d0 22 4e 45 58 54 22 29 0d 35 c0 1e 20 20 20 20 c9 |"NEXT").5.. .| 000087e0 20 26 45 45 20 3a 20 f2 70 75 74 74 65 78 74 28 | &EE : .puttext(| 000087f0 22 4f 4e 22 29 0d 35 ca 1f 20 20 20 20 c9 20 26 |"ON").5.. . &| 00008800 45 46 20 3a 20 f2 70 75 74 74 65 78 74 28 22 56 |EF : .puttext("V| 00008810 44 55 22 29 0d 35 d4 20 20 20 20 20 c9 20 26 46 |DU").5. . &F| 00008820 30 20 3a 20 f2 70 75 74 74 65 78 74 28 22 50 4c |0 : .puttext("PL| 00008830 4f 54 22 29 0d 35 de 21 20 20 20 20 c9 20 26 46 |OT").5.! . &F| 00008840 31 20 3a 20 f2 70 75 74 74 65 78 74 28 22 50 52 |1 : .puttext("PR| 00008850 49 4e 54 22 29 0d 35 e8 20 20 20 20 20 c9 20 26 |INT").5. . &| 00008860 46 32 20 3a 20 f2 70 75 74 74 65 78 74 28 22 50 |F2 : .puttext("P| 00008870 52 4f 43 22 29 0d 35 f2 20 20 20 20 20 c9 20 26 |ROC").5. . &| 00008880 46 33 20 3a 20 f2 70 75 74 74 65 78 74 28 22 52 |F3 : .puttext("R| 00008890 45 41 44 22 29 0d 35 fc 1f 20 20 20 20 c9 20 26 |EAD").5.. . &| 000088a0 46 34 20 3a 20 f2 70 75 74 74 65 78 74 28 22 52 |F4 : .puttext("R| 000088b0 45 4d 22 29 0d 36 06 22 20 20 20 20 c9 20 26 46 |EM").6." . &F| 000088c0 35 20 3a 20 f2 70 75 74 74 65 78 74 28 22 52 45 |5 : .puttext("RE| 000088d0 50 45 41 54 22 29 0d 36 10 22 20 20 20 20 c9 20 |PEAT").6." . | 000088e0 26 46 36 20 3a 20 f2 70 75 74 74 65 78 74 28 22 |&F6 : .puttext("| 000088f0 52 45 50 4f 52 54 22 29 0d 36 1a 23 20 20 20 20 |REPORT").6.# | 00008900 c9 20 26 46 37 20 3a 20 f2 70 75 74 74 65 78 74 |. &F7 : .puttext| 00008910 28 22 52 45 53 54 4f 52 45 22 29 0d 36 24 22 20 |("RESTORE").6$" | 00008920 20 20 20 c9 20 26 46 38 20 3a 20 f2 70 75 74 74 | . &F8 : .putt| 00008930 65 78 74 28 22 52 45 54 55 52 4e 22 29 0d 36 2e |ext("RETURN").6.| 00008940 1f 20 20 20 20 c9 20 26 46 39 20 3a 20 f2 70 75 |. . &F9 : .pu| 00008950 74 74 65 78 74 28 22 52 55 4e 22 29 0d 36 38 20 |ttext("RUN").68 | 00008960 20 20 20 20 c9 20 26 46 41 20 3a 20 f2 70 75 74 | . &FA : .put| 00008970 74 65 78 74 28 22 53 54 4f 50 22 29 0d 36 42 22 |text("STOP").6B"| 00008980 20 20 20 20 c9 20 26 46 42 20 3a 20 f2 70 75 74 | . &FB : .put| 00008990 74 65 78 74 28 22 43 4f 4c 4f 55 52 22 29 0d 36 |text("COLOUR").6| 000089a0 4c 21 20 20 20 20 c9 20 26 46 43 20 3a 20 f2 70 |L! . &FC : .p| 000089b0 75 74 74 65 78 74 28 22 54 52 41 43 45 22 29 0d |uttext("TRACE").| 000089c0 36 56 21 20 20 20 20 c9 20 26 46 44 20 3a 20 f2 |6V! . &FD : .| 000089d0 70 75 74 74 65 78 74 28 22 55 4e 54 49 4c 22 29 |puttext("UNTIL")| 000089e0 0d 36 60 21 20 20 20 20 c9 20 26 46 45 20 3a 20 |.6`! . &FE : | 000089f0 f2 70 75 74 74 65 78 74 28 22 57 49 44 54 48 22 |.puttext("WIDTH"| 00008a00 29 0d 36 6a 21 20 20 20 20 c9 20 26 46 46 20 3a |).6j! . &FF :| 00008a10 20 f2 70 75 74 74 65 78 74 28 22 4f 53 43 4c 49 | .puttext("OSCLI| 00008a20 22 29 0d 36 74 08 20 20 20 cb 0d 36 7e 07 20 20 |").6t. ..6~. | 00008a30 cd 0d 36 88 0c 20 fd 20 62 25 3d 31 33 0d 36 92 |..6.. . b%=13.6.| 00008a40 05 ce 0d 36 9c 20 e7 20 62 61 73 69 63 73 68 6f |...6. . basicsho| 00008a50 77 25 20 8c 20 f2 70 75 74 74 65 78 74 28 bd 31 |w% . .puttext(.1| 00008a60 33 29 0d 36 a6 12 e7 20 62 61 73 69 63 73 68 6f |3).6... basicsho| 00008a70 77 25 20 8c 0d 36 b0 23 20 70 25 3d 62 61 73 69 |w% ..6.# p%=basi| 00008a80 63 25 3a 6f 25 3d 64 65 74 6f 6b 65 6e 25 3a 6c |c%:o%=detoken%:l| 00008a90 69 6e 65 73 25 3d 30 0d 36 ba 06 20 f5 0d 36 c4 |ines%=0.6.. ..6.| 00008aa0 3c 20 20 c8 99 20 22 48 6f 75 72 67 6c 61 73 73 |< .. "Hourglass| 00008ab0 5f 50 65 72 63 65 6e 74 61 67 65 22 2c 28 28 6f |_Percentage",((o| 00008ac0 25 2d 64 65 74 6f 6b 65 6e 25 29 2f 6c 65 6e 67 |%-detoken%)/leng| 00008ad0 74 68 31 25 29 2a 31 30 30 0d 36 ce 0b 20 20 61 |th1%)*100.6.. a| 00008ae0 24 3d 22 22 0d 36 d8 07 20 20 f5 0d 36 e2 0e 20 |$="".6.. ..6.. | 00008af0 20 20 63 24 3d bd 3f 6f 25 0d 36 ec 0d 20 20 20 | c$=.?o%.6.. | 00008b00 61 24 2b 3d 63 24 0d 36 f6 0c 20 20 20 6f 25 2b |a$+=c$.6.. o%+| 00008b10 3d 31 0d 37 00 1a 20 20 fd 20 a9 28 61 24 29 3e |=1.7.. . .(a$)>| 00008b20 3d 37 36 20 84 20 63 24 3d bd 31 33 0d 37 0a 1b |=76 . c$=.13.7..| 00008b30 20 20 e7 20 a9 28 61 24 29 3e 3d 37 36 20 8c 20 | . .(a$)>=76 . | 00008b40 61 24 2b 3d bd 31 33 0d 37 14 0c 20 20 24 70 25 |a$+=.13.7.. $p%| 00008b50 3d 61 24 0d 37 1e 0d 20 20 70 25 2b 3d a9 61 24 |=a$.7.. p%+=.a$| 00008b60 0d 37 28 0f 20 20 6c 69 6e 65 73 25 2b 3d 31 0d |.7(. lines%+=1.| 00008b70 37 32 0f 20 fd 20 6f 25 3d 73 61 76 65 25 0d 37 |72. . o%=save%.7| 00008b80 3c 19 20 c8 99 20 22 48 6f 75 72 67 6c 61 73 73 |<. .. "Hourglass| 00008b90 5f 53 6d 61 73 68 22 0d 37 46 17 20 f2 6f 70 65 |_Smash".7F. .ope| 00008ba0 6e 74 6f 70 28 6c 69 73 74 69 6e 67 25 29 0d 37 |ntop(listing%).7| 00008bb0 50 34 20 f2 73 65 74 65 78 74 65 6e 74 28 6c 69 |P4 .setextent(li| 00008bc0 73 74 69 6e 67 25 2c 30 2c 2d 28 33 32 2a 6c 69 |sting%,0,-(32*li| 00008bd0 6e 65 73 25 29 2d 31 36 2c 31 32 33 36 2c 30 2c |nes%)-16,1236,0,| 00008be0 30 29 0d 37 5a 1f 20 c8 99 20 22 4f 53 5f 4d 6f |0).7Z. .. "OS_Mo| 00008bf0 64 75 6c 65 22 2c 37 2c 2c 64 65 74 6f 6b 65 6e |dule",7,,detoken| 00008c00 25 0d 37 64 0f 20 64 65 74 6f 6b 65 6e 25 3d 30 |%.7d. detoken%=0| 00008c10 0d 37 6e 05 cd 0d 37 78 05 e1 0d 37 82 04 0d 37 |.7n...7x...7...7| 00008c20 8c 15 dd 20 f2 6e 75 6d 62 65 72 64 65 63 69 70 |... .numberdecip| 00008c30 68 65 72 0d 37 96 13 62 79 74 65 31 25 3d a4 67 |her.7..byte1%=.g| 00008c40 65 74 62 79 74 65 0d 37 a0 13 62 79 74 65 32 25 |etbyte.7..byte2%| 00008c50 3d a4 67 65 74 62 79 74 65 0d 37 aa 13 62 79 74 |=.getbyte.7..byt| 00008c60 65 33 25 3d a4 67 65 74 62 79 74 65 0d 37 b4 57 |e3%=.getbyte.7.W| 00008c70 6c 69 6e 65 6e 6f 25 3d 28 62 79 74 65 31 25 20 |lineno%=(byte1% | 00008c80 80 20 34 38 20 82 20 31 36 29 2a 34 2b 28 62 79 |. 48 . 16)*4+(by| 00008c90 74 65 31 25 20 80 20 31 35 20 82 20 34 29 2a 34 |te1% . 15 . 4)*4| 00008ca0 30 39 36 2b 28 62 79 74 65 32 25 20 80 20 36 33 |096+(byte2% . 63| 00008cb0 29 2b 28 62 79 74 65 33 25 20 80 20 36 33 29 2a |)+(byte3% . 63)*| 00008cc0 32 35 36 0d 37 be 16 f2 70 75 74 74 65 78 74 28 |256.7...puttext(| 00008cd0 c3 6c 69 6e 65 6e 6f 25 29 0d 37 c8 05 e1 0d 37 |.lineno%).7....7| 00008ce0 d2 04 0d 37 dc 11 dd 20 f2 73 68 6f 77 72 65 64 |...7... .showred| 00008cf0 72 61 77 0d 37 e6 0d 70 25 3d 62 61 73 69 63 25 |raw.7..p%=basic%| 00008d00 0d 37 f0 13 e3 20 69 25 3d 31 20 b8 20 6c 69 6e |.7... i%=1 . lin| 00008d10 65 73 25 0d 37 fa 24 20 ec 20 6f 72 69 67 69 6e |es%.7.$ . origin| 00008d20 78 25 2b 31 36 2c 6f 72 69 67 69 6e 79 25 2d 69 |x%+16,originy%-i| 00008d30 25 2a 33 32 2b 31 32 0d 38 04 0e 20 6c 69 6e 65 |%*32+12.8.. line| 00008d40 24 3d 24 70 25 0d 38 0e 15 20 70 25 3d 70 25 2b |$=$p%.8.. p%=p%+| 00008d50 a9 28 6c 69 6e 65 24 29 2b 31 0d 38 18 0b 20 f1 |.(line$)+1.8.. .| 00008d60 6c 69 6e 65 24 0d 38 22 05 ed 0d 38 2c 05 e1 0d |line$.8"...8,...| 00008d70 38 36 04 0d 38 40 0b dd 20 f2 63 6f 64 65 0d 38 |86..8@.. .code.8| 00008d80 4a 09 73 70 3d 31 33 0d 38 54 0b 6c 69 6e 6b 3d |J.sp=13.8T.link=| 00008d90 31 34 0d 38 5e 09 70 63 3d 31 35 0d 38 68 14 e3 |14.8^.pc=15.8h..| 00008da0 20 70 61 73 73 3d 30 20 b8 20 32 20 88 20 32 0d | pass=0 . 2 . 2.| 00008db0 38 72 0c 50 25 3d 63 6f 64 65 25 0d 38 7c 0d 5b |8r.P%=code%.8|.[| 00008dc0 4f 50 54 20 70 61 73 73 0d 38 86 18 73 74 6d 66 |OPT pass.8..stmf| 00008dd0 64 20 20 20 28 73 70 29 21 2c 7b 6c 69 6e 6b 7d |d (sp)!,{link}| 00008de0 0d 38 90 19 61 64 72 20 20 20 20 20 72 30 2c 62 |.8..adr r0,b| 00008df0 6c 61 6e 6b 74 61 62 6c 65 0d 38 9a 17 6c 64 6d |lanktable.8..ldm| 00008e00 69 61 20 20 20 72 30 2c 7b 72 33 2d 72 31 30 7d |ia r0,{r3-r10}| 00008e10 0d 38 a4 16 6c 64 72 20 20 20 20 20 72 31 2c 62 |.8..ldr r1,b| 00008e20 61 73 6c 6f 61 64 0d 38 ae 11 6d 6f 76 20 20 20 |asload.8..mov | 00008e30 20 20 72 32 2c 23 30 0d 38 b8 09 2e 6c 6f 6f 70 | r2,#0.8...loop| 00008e40 0d 38 c2 18 73 74 6d 69 61 20 20 20 72 31 21 2c |.8..stmia r1!,| 00008e50 7b 72 33 2d 72 31 30 7d 0d 38 cc 14 61 64 64 20 |{r3-r10}.8..add | 00008e60 20 20 20 20 72 32 2c 72 32 2c 23 31 0d 38 d6 14 | r2,r2,#1.8..| 00008e70 63 6d 70 20 20 20 20 20 72 32 2c 23 26 41 30 30 |cmp r2,#&A00| 00008e80 0d 38 e0 10 62 6e 65 20 20 20 20 20 6c 6f 6f 70 |.8..bne loop| 00008e90 0d 38 ea 16 6c 64 6d 66 64 20 20 20 28 73 70 29 |.8..ldmfd (sp)| 00008ea0 21 2c 7b 70 63 7d 0d 38 f4 0c 2e 62 61 73 6c 6f |!,{pc}.8...baslo| 00008eb0 61 64 0d 38 fe 16 64 63 64 20 20 20 20 20 62 61 |ad.8..dcd ba| 00008ec0 73 69 63 6c 6f 61 64 25 0d 39 08 0f 2e 62 6c 61 |sicload%.9...bla| 00008ed0 6e 6b 74 61 62 6c 65 0d 39 12 0d 64 63 64 20 20 |nktable.9..dcd | 00008ee0 20 20 20 30 0d 39 1c 0d 64 63 64 20 20 20 20 20 | 0.9..dcd | 00008ef0 30 0d 39 26 0d 64 63 64 20 20 20 20 20 30 0d 39 |0.9&.dcd 0.9| 00008f00 30 0d 64 63 64 20 20 20 20 20 30 0d 39 3a 0d 64 |0.dcd 0.9:.d| 00008f10 63 64 20 20 20 20 20 30 0d 39 44 0d 64 63 64 20 |cd 0.9D.dcd | 00008f20 20 20 20 20 30 0d 39 4e 0d 64 63 64 20 20 20 20 | 0.9N.dcd | 00008f30 20 30 0d 39 58 0d 64 63 64 20 20 20 20 20 30 0d | 0.9X.dcd 0.| 00008f40 39 62 05 5d 0d 39 6c 05 ed 0d 39 76 05 e1 0d ff |9b.].9l...9v....| 00008f50