Home » Archimedes archive » Acorn User » AU 1995-07.adf » !Regulars_Regulars » StarInfo/Salt/!BlockSize/!RunImage
StarInfo/Salt/!BlockSize/!RunImage
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Archimedes archive » Acorn User » AU 1995-07.adf » !Regulars_Regulars |
Filename: | StarInfo/Salt/!BlockSize/!RunImage |
Read OK: | ✔ |
File size: | 2CBF bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10REM > !RunImage (!BlockSize) 20 30ON ERROR SYS "XWimp_CloseDown":ERROR EXT ERR,REPORT$+" at line "+STR$ ERL 40A%=3:B%=8:C%=1282:D%=&400C2:E%=&400C9:F%=0 50SYS "Wimp_Initialise",310,&4B534154,"BlockSize",&8604 TO version%,task% 60PROCinit 70ON ERROR IF FNquery(REPORT$+" at line "+STR$ ERL) ELSE SYS "XMessageTrans_CloseFile",messages%:SYS "Wimp_CloseDown":END 80REPEAT PROCpoll:UNTIL FALSE 90END 100 110DEF PROCquit 120IF FNquit ELSE ENDPROC 130IF shutdown%:SYS "Wimp_ProcessKey",508 140SYS "XMessageTrans_CloseFile",messages%:SYS "Wimp_CloseDown" 150END 160ENDPROC 170 180DEF FNquit 190IF dir$="":=TRUE 200=FNquery("NotFinished") 210 220DEF PROCpoll 230SYS "Wimp_Poll",,q% TO r% 240IF (r%<17 AND r%>18) OR q%!16<>3:ignore%=FALSE:group%=FALSE 250CASE r% OF 260WHEN 2:SYS "Wimp_OpenWindow",,q% 270WHEN 3:SYS "Wimp_CloseWindow",,q% 280WHEN 6:PROCmouse 290WHEN 9:PROCmenu 300WHEN 17,18:PROCmessage 310ENDCASE 320ENDPROC 330 340DEF PROCinit 350DIM q% 800:notme%=FALSE:ignore%=FALSE:messages%=0 360dir$=STRING$(255," "):odir$=dir$:dir$="" 370ENDPROC 380 390DEF PROCinitialise 400LOCAL ERROR 410ON ERROR LOCAL RESTORE ERROR:SYS "XWimp_CloseTemplate":SYS "XMessageTrans_CloseFile",messages%:SYS "XWimp_CloseDown":ERROR EXT ERR,REPORT$+" at line "+STR$ ERL 420DIM menu% 76,fmenu% 220,buf% 256,pos% 256,mc% 64,messages% 16,mbuf% 256 430DIM sum%(6),bs$(6) 440bs$()="+F14.3",bs$(0),"+F13.2","+F12.1","G10.9",bs$(4),bs$(5) 450SYS "Territory_Number" TO A%:SYS "Territory_NumberToName",A%,q%,256 460terr$="<BlockSize$Dir>.Resources."+FN0(q%)+"." 470SYS "XOS_File",5,LEFT$(terr$) TO A% 480IF A%<2 OR A%>3:terr$="<BlockSize$Dir>.Resources.UK." 490SYS "MessageTrans_FileInfo",,terr$+"Messages" TO F%,,L% 500IF F% AND 1:B%=0:ELSE DIM B% L% 510SYS "MessageTrans_OpenFile",messages%,terr$+"Messages",B% 520A%=TRUE:*RMEnsure UtilityModule 3.12 MemoryA 8604 0 { > Null: } 530IF A% ELSE A%=TRUE:*RMEnsure ROMApps3D 0 MemoryA 8604 0 { > Null: } 540IF A%:a$="3D":ELSE a$="s" 550SYS "Wimp_OpenTemplate",,terr$+"Template"+a$:fcount%=FNwindow("FCount") 560fcx%=q%!8-!q%:fcy%=q%!12-q%!4:fcxs%=q%!16:fcys%=q%!20:fcxe%=q%!48-q%!40 570fcye%=q%!52-q%!44:status%=q%!140:fname%=q%!172:plural%=q%!268:counted%=q%!204 580tsize%=q%!236:error%=q%!492:info%=FNwindow("Info"):SYS "Wimp_CloseTemplate" 590shutdown%=FALSE:faster%=FALSE:paused%=FALSE:mz%=0:group%=FALSE 600$menu%="BlockSize":menu%!12=&70207:menu%!16=136:menu%!20=44:menu%!24=0 610menu%!28=0:menu%!32=info%:menu%!36=&7000021:$(menu%+40)=FNmsg("Info") 620menu%!52=128:menu%!56=-1:menu%!60=&7000021:$(menu%+64)=FNmsg("Quit") 630$fmenu%="Options":fmenu%!12=&70207:fmenu%!16=104:fmenu%!20=44:fmenu%!24=0 640fmenu%!28=2:fmenu%!32=-1:fmenu%!36=&7000021:$(fmenu%+40)=FNmsg("Fast") 650A%=fmenu%+52 660FOR n%=0 TO 6 670 !A%=0:A%!4=-1:A%!8=&7000021:A%+=24 680 IF n%<4:$(A%-12)=STR$ (64<<n%):ELSE $(A%-12)=STR$ (1<<(n%-4))+"K" 690NEXT 700A%?-24=128:!q%=-8:q%!4=0:q%!8=0:q%!12=84:q%!16=68:q%!20=&1700302A 710$(q%+24)="!blocksize":SYS "Wimp_CreateIcon",,q% TO baricon% 720P%=mc%:[OPT 2:MOV 0,#0 730.cp LDRB 3,[1],#1:LDRB 4,[2],#1:TEQ 3,4:MOVNE PC,14 740TEQ 3,#13:TEQNE 4,#13:ADDNE 0,0,#1:BNE cp:MOV PC,14 750]notme%=TRUE:RESTORE ERROR 760ENDPROC 770 780DEF FNwindow(a$) 790SYS "Wimp_LoadTemplate",,-1,-1,,-1,a$ TO ,,A%,,,,B% 800IF B% ELSE ERROR 1,"Template '"+a$+"' not found" 810DIM B% A%-1:SYS "Wimp_LoadTemplate",,q%,B%,B%+A%,-1,a$ TO ,,ptr% 820SYS "Wimp_CreateWindow",,q% TO A% 830=A% 840 850DEF PROCmouse 860IF q%!8 AND 2 THEN 870 CASE q%!12 OF 880 WHEN -2:mz%=menu%:SYS "Wimp_CreateMenu",,mz%,!q%-100,184 890 WHEN fcount%:mz%=fmenu%:SYS "Wimp_CreateMenu",,mz%,!q%-64,q%!4+24 900 ENDCASE 910ELSE 920 CASE q%!12 OF 930 WHEN -2 940 IF dir$>"" AND NOT paused% THEN 950 !q%=fcount%:SYS "Wimp_GetWindowState",,q% 960 q%!28=-1:SYS "Wimp_OpenWindow",,q% 970 ENDIF 980 WHEN fcount% 990 CASE q%!16 OF 1000 WHEN 7,15:abort%=TRUE:skip%=TRUE:!q%=fcount%:SYS "Wimp_CloseWindow",,q% 1010 WHEN 8:skip%=TRUE 1020 WHEN 9:retry%=TRUE 1030 WHEN 10:paused%=TRUE:PROCpaused 1040 WHEN 11:!q%=fcount%:SYS "Wimp_CloseWindow",,q% 1050 WHEN 16:paused%=FALSE 1060 ENDCASE 1070 ENDCASE 1080ENDIF 1090ENDPROC 1100 1110DEF PROCmenu 1120SYS "Wimp_GetPointerInfo",,q%+100 1130CASE mz% OF 1140WHEN menu%:IF !q%=1:PROCquit 1150WHEN fmenu% 1160 CASE !q% OF 1170 WHEN -1 1180 WHEN 0:faster%=NOT faster%:fmenu%!28=(fmenu%!28 AND -2) OR (faster% AND 1) 1190 IF faster% THEN 1200 SYS "OS_ReadMonotonicTime" TO start%:$fname%="" 1210 $counted%="-":PROCdel(3,0):$tsize%="-":PROCdel(4,0) 1220 ELSE $fname%=dir$ 1230 ENDIF 1240 PROCdel(2,0) 1250 OTHERWISE:logblk%=!q%-1:block%=64<<logblk% 1260 PROCupdate(TRUE):PROCsel(logblk%,FALSE) 1270 ENDCASE 1280ENDCASE 1290IF q%!108 AND 1:SYS "Wimp_CreateMenu",,mz%:ELSE mz%=0 1300ENDPROC 1310 1320DEF PROCmessage 1330sent%=FALSE:IF ignore%:IF q%!16<>3:ignore%=FALSE:group%=FALSE 1340CASE q%!16 OF 1350WHEN 0:shutdown%=FALSE:PROCquit 1360WHEN 3:PROCdataload 1370WHEN 8:shutdown%=q%!20=0 1380 IF dir$>"":PROCquit:SYS "Wimp_SendMessage",19,q%,q%!4 1390WHEN 1282:REM PROChelp 1400WHEN &400C2 1410 a$="":ptr%=q%+28:WHILE ?ptr%:a$+=CHR$ ?ptr%:ptr%+=1:ENDWHILE 1420 IF a$="BlockSize" THEN 1430 IF notme% THEN 1440 !q%=20:q%!12=q%!8:q%!16=0:SYS "Wimp_SendMessage",17,q%,q%!4 1450 !q%=1:$(q%+4)=FNmsg("OneIncarnation") 1460 SYS "Wimp_ReportError",q%,1 1470 ELSE PROCinitialise 1480 ENDIF 1490 ENDIF 1500WHEN &400C9:mz%=0 1510ENDCASE 1520ENDPROC 1530 1540DEF PROCdataload 1550IF ignore%:ENDPROC 1560IF group%:PROCaddtoqueue:ENDPROC 1570IF dir$>"":PROCtellthemoff("OneCount"):ENDPROC 1580paused%=FALSE:files%=0:sum%()=0:dir$=FN0(q%+44):odir$=dir$:group%=TRUE 1590queue%=1:queued%=0:rptr%=HIMEM:qptr%=HIMEM:end%=HIMEM:poll%=1:abort%=FALSE 1600WHILE odir$>"" AND RIGHT$(odir$)<>".":odir$=LEFT$(odir$):ENDWHILE 1610PROCallocsize(odir$):PROCsel(logblk%,TRUE):fmenu%?38=fmenu%?38 AND 191 1620PROCinitupdate(FALSE):$status%=FNmsg("Count"):!q%=fcount% 1630SYS "Wimp_CloseWindow",,q%:SYS "Wimp_GetWindowState",,q%:q%!4=ADVAL 7-64 1640q%!16=ADVAL 8+64:q%!12=q%!4+fcx%:q%!8=q%!16-fcy%:q%!20=fcxs%:q%!24=fcys% 1650q%!28=-1:PROCdel(7,0):PROCdel(8,1):PROCdel(9,1):PROCdel(10,0):PROCdel(11,1) 1660PROCdel(15,1):PROCdel(16,1):SYS "Wimp_OpenWindow",,q% 1670WHILE queue% AND NOT abort% 1680 PROCcount(dir$,pos%):queue%-=1 1690 IF queue%:dir$=odir$+$rptr%:rptr%+=LEN $rptr%+1 1700ENDWHILE 1710ignore%=FALSE:group%=FALSE:SYS "Wimp_SlotSize",HIMEM-&8000,-1 1720PROCupdate(FALSE):PROCdel(7,1):PROCdel(10,1):PROCdel(11,0) 1730$status%=FNmsg("Done"):PROCdel(1,0) 1740IF queued%:$fname%=odir$+FNmsg("Many"):ELSE $fname%=dir$ 1750PROCdel(2,0):dir$="":fmenu%?38=fmenu%?38 OR 64 1760IF mz%=fmenu%:SYS "Wimp_CreateMenu",,mz% 1770ENDPROC 1780 1790DEF PROCsel(B%,F%) 1800LOCAL A%,n%:A%=fmenu%+52 1810FOR n%=0 TO 6 1820 ?A%=(?A% AND 254) OR -(n%=logblk%):IF F%:A%?11=7 EOR (12 AND n%=logblk%) 1830 A%+=24 1840NEXT 1850ENDPROC 1860 1870DEF PROCaddtoqueue 1880B%=q%+260:C%=q%+44:$B%=odir$:A%=USR mc%:a$=MID$(FN0(C%),A%+1) 1890IF A%<LEN odir$ OR INSTR(a$,"."):PROCtellthemoff("SameDir"):ENDPROC 1900IF qptr%+LEN a$+1>end%:SYS "XWimp_SlotSize",end%-&7FFF,-1 TO end%:end%+=&8000 1910IF qptr%+LEN a$+1>end%:PROCtellthemoff("NoRoom"):ignore%=TRUE:ENDPROC 1920$qptr%=a$:qptr%+=LEN a$+1:queue%+=1:queued%+=1:poll%+=1 1930ENDPROC 1940 1950DEF FNquery(a$) 1960!q%=0:$(q%+4)=FNmsg(a$)+CHR$ 0 1970SYS "Wimp_ReportError",q%,&13,FNmsg1("MsgFrom","BlockSize") TO ,r% 1980=r%=1 1990 2000DEF FN0(q%) 2010LOCAL a$:WHILE ?q%>31:a$+=CHR$ ?q%:q%+=1:ENDWHILE 2020=a$ 2030 2040DEF PROCtellthemoff(a$) 2050LOCAL !q%:$(q%+4)=FNmsg(a$):SYS "Wimp_ReportError",q%,1,"BlockSize" 2060ENDPROC 2070 2080DEF PROChelp 2090CASE q%!32 OF 2100WHEN -2:a$=FNmsg("Iconbar") 2110WHEN fcount% 2120 IF (q%!36>6 AND q%!36<12) OR q%!36>14 THEN 2130 a$=FNmsg1("FCountI",FNmsg("FCount"+STR$ q%!36)) 2140 ELSE a$=FNmsg("FCountG") 2150 ENDIF 2160WHEN info%:a$="InfoW" 2170OTHERWISE:SYS "Wimp_GetMenuState",,q%+20:a$="Menu":IF mz%=fmenu%:a$="FMenu" 2180 a$+=STR$ q%!20 2190ENDCASE 2200$(q%+20)=a$+CHR$ 0:!q%=24+LEN a$ AND -4 2210q%!12=q%!8:q%!16=1283:SYS "Wimp_SendMessage",17,q%,q%!4 2220ENDPROC 2230 2240DEF FNk(A%) 2250SYS "OS_ConvertFileSize",A%,q%,256 TO ,A%:?A%=13 2260=$q% 2270 2280DEF PROCallocsize(f$) 2290I%=INSTR(f$,":"):J%=INSTR(f$,"#"):block%=1024:logblk%=4 2300IF (J% AND I%>J%+1) OR I%<2:ENDPROC 2310IF I%<J% OR J%=0:J%=I% 2320fs$=LEFT$(f$,J%-1):f$=MID$(f$,J%):I%=INSTR(f$,":",INSTR(f$,":")+1) 2330IF fs$="RAM" OR I%=0:ENDPROC 2340SYS "XOS_SWINumberFromString",,fs$+"_DescribeDisc" TO ;A% 2350IF A% AND 1 THEN 2360 SYS "XOS_SWINumberFromString",,fs$+"FS_DescribeDisc" TO ;A% 2370 IF A% AND 1 ELSE a$+"FS" 2380ENDIF 2390IF A% AND 1:ENDPROC:ELSE f$=MID$(f$,I%+1):S%=INSTR(f$,".") 2400REPEAT 2410 SYS "X"+fs$+"_DescribeDisc",LEFT$(f$,S%-1),q% TO B%;A% 2420 IF A% AND 1:A%=FNcerr(B%,2):ELSE block%=1<<?q% 2430UNTIL (A% AND 1)=0 OR abort% 2440abort%=FALSE:logblk%=(LN block%/LN 2)-6 2450ENDPROC 2460 2470DEF PROCcount(dir$,pos%) 2480PROCpoll:skip%=FALSE:IF faster%:SYS "OS_ReadMonotonicTime" TO start% 2490obj$=dir$ 2500REPEAT 2510 SYS "XOS_File",17,dir$ TO A%,,,,S%;B%:IF B% AND 1:B%=FNcerr(A%,0) 2520UNTIL (B% AND 1)=0 2530IF abort% OR skip%:ENDPROC 2540IF A%=1 OR A%=3 THEN 2550 files%+=1:A%=255 2560 WHILE dir$>"" AND RIGHT$(dir$)<>".":dir$=LEFT$(dir$):ENDWHILE 2570 dir$=LEFT$(dir$):PROCupdate(TRUE):F%=TRUE:A%=TRUE 2580ELSE F%=0:A%=FALSE:S%=2048 2590ENDIF 2600B%=63:FOR n%=0 TO 6:sum%(n%)+=(S%+B%) AND NOT B%:B%=B% OR B%<<1:NEXT 2610IF abort% OR skip% OR A%:PROCpoll:ENDPROC 2620IF faster%:$fname%="":ELSE $fname%=dir$ 2630PROCdel(2,0):skip%=FALSE 2640REPEAT 2650 SYS "XOS_GBPB",10,dir$,buf%,1,F%,256,"*" TO A%,,,,C%;B% 2660 IF B% AND 1:B%=FNcerr(A%,0) 2670UNTIL (B% AND 1)=0 2680IF abort% OR skip%:ENDPROC:ELSE ?pos%=C% 2690WHILE ?pos%<255 AND NOT abort% 2700 obj$=dir$+"."+FN0(buf%+20):S%=buf%!8:PROCtime:IF S%<0:S%=2048 2710 CASE buf%!16 OF 2720 WHEN 1,3:skip%=FALSE:files%+=1 2730 B%=63:FOR n%=0 TO 6:sum%(n%)+=(S%+B%) AND NOT B%:B%=B% OR B%<<1:NEXT 2740 WHEN 2:PROCcount(obj$,pos%+1) 2750 ENDCASE 2760 IF NOT abort% THEN 2770 REPEAT 2780 skip%=FALSE:SYS "XOS_GBPB",10,dir$,buf%,1,?pos%,256,"*" TO A%,,,,C%;B% 2790 IF B% AND 1:B%=FNcerr(A%,0) 2800 UNTIL (B% AND 1)=0 2810 ?pos%=C%:IF skip%:!buf%!16=0 2820 ENDIF 2830ENDWHILE 2840ENDPROC 2850 2860DEF PROCtime 2870IF faster%:SYS "OS_ReadMonotonicTime" TO A%:A%-=start%:ELSE A%=100 2880IF A%>99 OR poll% THEN 2890 PROCupdate(TRUE):PROCpoll:IF poll%:poll%-=1 2900 IF faster%:SYS "OS_ReadMonotonicTime" TO start% 2910ENDIF 2920ENDPROC 2930 2940DEF PROCinitupdate(F%) 2950IF faster%:a$="-":ELSE a$="0" 2960$counted%=a$:$tsize%=a$:$plural%=FNmsg("ManyFiles"):PROCdel(3,0):PROCdel(5,0) 2970LOCAL @%:@%=bs$(logblk%):$tsize%=STR$ (sum%(logblk%)/1024):PROCdel(4,0) 2980ENDPROC 2990 3000DEF PROCupdate(F%) 3010IF faster% AND F%:ENDPROC 3020$counted%=STR$ files%:PROCdel(3,0) 3030CASE files% OF 3040WHEN 0,2:$plural%=FNmsg("ManyFiles"):PROCdel(5,0) 3050WHEN 1:$plural%=FNmsg("OneFile"):PROCdel(5,0) 3060ENDCASE 3070LOCAL @%:@%=bs$(logblk%):$tsize%=STR$ (sum%(logblk%)/1024):PROCdel(4,0) 3080ENDPROC 3090 3100DEF PROCdel(q%!4,q%!8) 3110LOCAL !q%,q%!12,q%!16,q%!20,q%!24,q%!28,q%!32,q%!36 3120!q%=fcount%:q%!12=1<<23:q%!8=1<<23 AND q%!8<>0 3130SYS "Wimp_SetIconState",,q%:SYS "Wimp_GetIconState",,q% 3140SYS "Wimp_ForceRedraw",fcount%,q%!8,q%!12,q%!16,q%!20 3150ENDPROC 3160 3170DEF PROCink(q%!4,q%!8) 3180LOCAL !q%,q%!12,q%!16,q%!20,q%!24,q%!28,q%!32,q%!36 3190!q%=fcount%:q%!12=15<<24:q%!8=(q%!8<<28)>>>4 3200SYS "Wimp_SetIconState",,q%:SYS "Wimp_GetIconState",,q% 3210SYS "Wimp_ForceRedraw",fcount%,q%!8,q%!12,q%!16,q%!20 3220ENDPROC 3230 3240DEF FNmkerr(a$) 3250$(error%+4)=a$ 3260=FNcerr(error%,1) 3270 3280DEF FNcerr(A%,F%) 3290SYS "OS_ReadModeVariable",-1,11 TO ,,X% 3300SYS "OS_ReadModeVariable",-1,12 TO ,,Y% 3310SYS "OS_ReadModeVariable",-1,4 TO ,,Z%:X%=(X%+1)<<Z% 3320SYS "OS_ReadModeVariable",-1,5 TO ,,Z%:Y%=(Y%+1)<<Z% 3330$error%=FN0(A%+4 AND -4):PROCdel(7,F%=1):PROCdel(8,F%<>2):PROCdel(9,F%) 3340PROCdel(10,1):PROCdel(11,1):PROCdel(15,F%<>1):!q%=fcount%:q%!4=(X%-fcxe%)/2 3350q%!8=(Y%-fcye%)/2:q%!12=q%!4+fcxe%:q%!16=q%!8+fcye%:q%!20=0:q%!24=0:q%!28=-1 3360SYS "Wimp_OpenWindow",,q%:skip%=FALSE:abort%=FALSE:retry%=FALSE 3370$status%=FNmsg("Error"):$fname%=dir$:IF A% AND 1:$fname%=obj$ 3380PROCink(1,11):PROCink(2,11):PROCupdate(FALSE):paused%=TRUE 3390IF mz%=fname%:SYS "Wimp_CreateMenu",,-1:mz%=0 3400REPEAT PROCpoll:UNTIL skip% OR abort% OR retry%:paused%=FALSE 3410IF faster% THEN 3420 SYS "OS_ReadMonotonicTime" TO start%:$fname%="" 3430 $counted%="-":PROCdel(3,0):$tsize%="-":PROCdel(4,0) 3440ELSE $fname%=dir$ 3450ENDIF 3460$status%=FNmsg("Count"):PROCink(1,7):PROCink(2,7):PROCdel(7,0):PROCdel(8,1) 3470PROCdel(9,1):PROCdel(10,0):PROCdel(11,1):PROCdel(15,1) 3480IF abort%=0 THEN 3490 !q%=fcount%:SYS "Wimp_GetWindowState",,q%:q%!4+=(fcxe%-fcx%)/2 3500 q%!8+=fcye%-fcy%:q%!12=q%!4+fcx%:q%!20=fcxs%:q%!24=fcys%:q%!28=-1 3510 SYS "Wimp_OpenWindow",,q% 3520ENDIF 3530=skip%=0 AND abort%=0 3540 3550DEF PROCpaused 3560$status%=FNmsg("Paused"):$fname%=obj$:PROCdel(1,0):PROCdel(2,0):PROCdel(10,0) 3570PROCdel(15,1):PROCdel(16,0):PROCupdate(FALSE) 3580IF mz%=fname%:SYS "Wimp_CreateMenu",,-1:mz%=0 3590REPEAT PROCpoll:UNTIL abort% OR NOT paused% 3600IF faster% THEN 3610 SYS "OS_ReadMonotonicTime" TO start%:$fname%="" 3620 $counted%="-":PROCdel(3,0):$tsize%="-":PROCdel(4,0) 3630ELSE $fname%=dir$ 3640ENDIF 3650$status%=FNmsg("Count"):PROCdel(1,0):PROCdel(2,0):PROCdel(10,0):PROCdel(16,1) 3660ENDPROC 3670 3680DEF FNmsg(a$)=FNmsg1(a$,"") 3690DEF FNmsg1(a$,b$) 3700LOCAL A% 3710SYS "XMessageTrans_Lookup",messages%,a$,mbuf%,256,b$ TO ,,,A%;B%:A%?mbuf%=13 3720IF B% AND 1:=a$ 3730=$mbuf%
� > !RunImage (!BlockSize) 5� � ș "XWimp_CloseDown":� � �,�$+" at line "+� � (.A%=3:B%=8:C%=1282:D%=&400C2:E%=&400C9:F%=0 2Iș "Wimp_Initialise",310,&4B534154,"BlockSize",&8604 � version%,task% < �init Fc� � � �query(�$+" at line "+� �) � ș "XMessageTrans_CloseFile",messages%:ș "Wimp_CloseDown":� P� �poll:� � Z� d n� �quit x� �quit � � �(� shutdown%:ș "Wimp_ProcessKey",508 �>ș "XMessageTrans_CloseFile",messages%:ș "Wimp_CloseDown" �� �� � �� �quit �� dir$="":=� �=�query("NotFinished") � �� �poll �ș "Wimp_Poll",,q% � r% �3� (r%<17 � r%>18) � q%!16<>3:ignore%=�:group%=� �Ȏ r% � � 2:ș "Wimp_OpenWindow",,q% !� 3:ș "Wimp_CloseWindow",,q% � 6:�mouse " � 9:�menu ,� 17,18:�message 6� @� J T� �init ^+� q% 800:notme%=�:ignore%=�:messages%=0 h%dir$=�255," "):odir$=dir$:dir$="" r� | �� �initialise �� � �{� � � � �:ș "XWimp_CloseTemplate":ș "XMessageTrans_CloseFile",messages%:ș "XWimp_CloseDown":� � �,�$+" at line "+� � �I� menu% 76,fmenu% 220,buf% 256,pos% 256,mc% 64,messages% 16,mbuf% 256 �� sum%(6),bs$(6) �Abs$()="+F14.3",bs$(0),"+F13.2","+F12.1","G10.9",bs$(4),bs$(5) �Dș "Territory_Number" � A%:ș "Territory_NumberToName",A%,q%,256 �1terr$="<BlockSize$Dir>.Resources."+�0(q%)+"." � ș "XOS_File",5,�terr$) � A% �7� A%<2 � A%>3:terr$="<BlockSize$Dir>.Resources.UK." �9ș "MessageTrans_FileInfo",,terr$+"Messages" � F%,,L% �� F% � 1:B%=0:� � B% L% �<ș "MessageTrans_OpenFile",messages%,terr$+"Messages",B% @A%=�:*RMEnsure UtilityModule 3.12 MemoryA 8604 0 { > Null: } @� A% � A%=�:*RMEnsure ROMApps3D 0 MemoryA 8604 0 { > Null: } � A%:a$="3D":� a$="s" &Iș "Wimp_OpenTemplate",,terr$+"Template"+a$:fcount%=�window("FCount") 0Kfcx%=q%!8-!q%:fcy%=q%!12-q%!4:fcxs%=q%!16:fcys%=q%!20:fcxe%=q%!48-q%!40 :Qfcye%=q%!52-q%!44:status%=q%!140:fname%=q%!172:plural%=q%!268:counted%=q%!204 DMtsize%=q%!236:error%=q%!492:info%=�window("Info"):ș "Wimp_CloseTemplate" N2shutdown%=�:faster%=�:paused%=�:mz%=0:group%=� XJ$menu%="BlockSize":menu%!12=&70207:menu%!16=136:menu%!20=44:menu%!24=0 bHmenu%!28=0:menu%!32=info%:menu%!36=&7000021:$(menu%+40)=�msg("Info") lGmenu%!52=128:menu%!56=-1:menu%!60=&7000021:$(menu%+64)=�msg("Quit") vM$fmenu%="Options":fmenu%!12=&70207:fmenu%!16=104:fmenu%!20=44:fmenu%!24=0 �Ifmenu%!28=2:fmenu%!32=-1:fmenu%!36=&7000021:$(fmenu%+40)=�msg("Fast") �A%=fmenu%+52 �� n%=0 � 6 �' !A%=0:A%!4=-1:A%!8=&7000021:A%+=24 �< � n%<4:$(A%-12)=� (64<<n%):� $(A%-12)=� (1<<(n%-4))+"K" �� �EA%?-24=128:!q%=-8:q%!4=0:q%!8=0:q%!12=84:q%!16=68:q%!20=&1700302A �=$(q%+24)="!blocksize":ș "Wimp_CreateIcon",,q% � baricon% �P%=mc%:[OPT 2:MOV 0,#0 �7.cp LDRB 3,[1],#1:LDRB 4,[2],#1:TEQ 3,4:MOVNE PC,14 �7TEQ 3,#13:TEQNE 4,#13:ADDNE 0,0,#1:BNE cp:MOV PC,14 �]notme%=�:� � �� � �window(a$) 5ș "Wimp_LoadTemplate",,-1,-1,,-1,a$ � ,,A%,,,,B% ,� B% � � 1,"Template '"+a$+"' not found" *@� B% A%-1:ș "Wimp_LoadTemplate",,q%,B%,B%+A%,-1,a$ � ,,ptr% 4#ș "Wimp_CreateWindow",,q% � A% >=A% H R� �mouse \� q%!8 � 2 � f Ȏ q%!12 � p9 � -2:mz%=menu%:ș "Wimp_CreateMenu",,mz%,!q%-100,184 zB � fcount%:mz%=fmenu%:ș "Wimp_CreateMenu",,mz%,!q%-64,q%!4+24 � � �� � Ȏ q%!12 � � � -2 � � dir$>"" � � paused% � �/ !q%=fcount%:ș "Wimp_GetWindowState",,q% �( q%!28=-1:ș "Wimp_OpenWindow",,q% � � � � fcount% � Ȏ q%!16 � �C � 7,15:abort%=�:skip%=�:!q%=fcount%:ș "Wimp_CloseWindow",,q% � � 8:skip%=� � � 9:retry%=� � 10:paused%=�:�paused 0 � 11:!q%=fcount%:ș "Wimp_CloseWindow",,q% � 16:paused%=� $ � . � 8� B� L V� �menu `$ș "Wimp_GetPointerInfo",,q%+100 jȎ mz% � t� menu%:� !q%=1:�quit ~� fmenu% � Ȏ !q% � � � -1 �E � 0:faster%=� faster%:fmenu%!28=(fmenu%!28 � -2) � (faster% � 1) � � faster% � �4 ș "OS_ReadMonotonicTime" � start%:$fname%="" �4 $counted%="-":�del(3,0):$tsize%="-":�del(4,0) � � $fname%=dir$ � � � �del(2,0) �' :logblk%=!q%-1:block%=64<<logblk% � �update(�):�sel(logblk%,�) � � � 2� q%!108 � 1:ș "Wimp_CreateMenu",,mz%:� mz%=0 � (� �message 23sent%=�:� ignore%:� q%!16<>3:ignore%=�:group%=� <Ȏ q%!16 � F� 0:shutdown%=�:�quit P� 3:�dataload Z� 8:shutdown%=q%!20=0 d5 � dir$>"":�quit:ș "Wimp_SendMessage",19,q%,q%!4 n� 1282:� PROChelp x� &400C2 �4 a$="":ptr%=q%+28:ȕ ?ptr%:a$+=� ?ptr%:ptr%+=1:� � � a$="BlockSize" � � � notme% � �A !q%=20:q%!12=q%!8:q%!16=0:ș "Wimp_SendMessage",17,q%,q%!4 �+ !q%=1:$(q%+4)=�msg("OneIncarnation") �! ș "Wimp_ReportError",q%,1 � � �initialise � � � � �� &400C9:mz%=0 �� �� � � �dataload � ignore%:� � group%:�addtoqueue:� "(� dir$>"":�tellthemoff("OneCount"):� ,Bpaused%=�:files%=0:sum%()=0:dir$=�0(q%+44):odir$=dir$:group%=� 6>queue%=1:queued%=0:rptr%=�:qptr%=�:end%=�:poll%=1:abort%=� @.ȕ odir$>"" � �odir$)<>".":odir$=�odir$):� J?�allocsize(odir$):�sel(logblk%,�):fmenu%?38=fmenu%?38 � 191 T5�initupdate(�):$status%=�msg("Count"):!q%=fcount% ^Fș "Wimp_CloseWindow",,q%:ș "Wimp_GetWindowState",,q%:q%!4=� 7-64 hHq%!16=� 8+64:q%!12=q%!4+fcx%:q%!8=q%!16-fcy%:q%!20=fcxs%:q%!24=fcys% r@q%!28=-1:�del(7,0):�del(8,1):�del(9,1):�del(10,0):�del(11,1) |2�del(15,1):�del(16,1):ș "Wimp_OpenWindow",,q% �ȕ queue% � � abort% � �count(dir$,pos%):queue%-=1 �1 � queue%:dir$=odir$+$rptr%:rptr%+=� $rptr%+1 �� �4ignore%=�:group%=�:ș "Wimp_SlotSize",�-&8000,-1 �.�update(�):�del(7,1):�del(10,1):�del(11,0) �#$status%=�msg("Done"):�del(1,0) �7� queued%:$fname%=odir$+�msg("Many"):� $fname%=dir$ �.�del(2,0):dir$="":fmenu%?38=fmenu%?38 � 64 �*� mz%=fmenu%:ș "Wimp_CreateMenu",,mz% �� � �� �sel(B%,F%) � A%,n%:A%=fmenu%+52 � n%=0 � 6 E ?A%=(?A% � 254) � -(n%=logblk%):� F%:A%?11=7 � (12 � n%=logblk%) & A%+=24 0� :� D N� �addtoqueue X:B%=q%+260:C%=q%+44:$B%=odir$:A%=� mc%:a$=��0(C%),A%+1) b5� A%<� odir$ � �a$,"."):�tellthemoff("SameDir"):� lL� qptr%+� a$+1>end%:ș "XWimp_SlotSize",end%-&7FFF,-1 � end%:end%+=&8000 v:� qptr%+� a$+1>end%:�tellthemoff("NoRoom"):ignore%=�:� �9$qptr%=a$:qptr%+=� a$+1:queue%+=1:queued%+=1:poll%+=1 �� � �� �query(a$) �!q%=0:$(q%+4)=�msg(a$)+� 0 �Cș "Wimp_ReportError",q%,&13,�msg1("MsgFrom","BlockSize") � ,r% � =r%=1 � �� �0(q%) �$� a$:ȕ ?q%>31:a$+=� ?q%:q%+=1:� �=a$ � �� �tellthemoff(a$) A� !q%:$(q%+4)=�msg(a$):ș "Wimp_ReportError",q%,1,"BlockSize" � � �help *Ȏ q%!32 � 4� -2:a$=�msg("Iconbar") > � fcount% H( � (q%!36>6 � q%!36<12) � q%!36>14 � R0 a$=�msg1("FCountI",�msg("FCount"+� q%!36)) \ � a$=�msg("FCountG") f � p� info%:a$="InfoW" zE:ș "Wimp_GetMenuState",,q%+20:a$="Menu":� mz%=fmenu%:a$="FMenu" � a$+=� q%!20 �� �$$(q%+20)=a$+� 0:!q%=24+� a$ � -4 �:q%!12=q%!8:q%!16=1283:ș "Wimp_SendMessage",17,q%,q%!4 �� � �� �k(A%) �2ș "OS_ConvertFileSize",A%,q%,256 � ,A%:?A%=13 �=$q% � �� �allocsize(f$) �1I%=�f$,":"):J%=�f$,"#"):block%=1024:logblk%=4 �� (J% � I%>J%+1) � I%<2:� � I%<J% � J%=0:J%=I% 3fs$=�f$,J%-1):f$=�f$,J%):I%=�f$,":",�f$,":")+1) � fs$="RAM" � I%=0:� $;ș "XOS_SWINumberFromString",,fs$+"_DescribeDisc" � ;A% .� A% � 1 � 8> ș "XOS_SWINumberFromString",,fs$+"FS_DescribeDisc" � ;A% B � A% � 1 � a$+"FS" L� V)� A% � 1:�:� f$=�f$,I%+1):S%=�f$,".") `� j4 ș "X"+fs$+"_DescribeDisc",�f$,S%-1),q% � B%;A% t, � A% � 1:A%=�cerr(B%,2):� block%=1<<?q% ~� (A% � 1)=0 � abort% �%abort%=�:logblk%=(� block%/� 2)-6 �� � �� �count(dir$,pos%) �>�poll:skip%=�:� faster%:ș "OS_ReadMonotonicTime" � start% � obj$=dir$ �� �@ ș "XOS_File",17,dir$ � A%,,,,S%;B%:� B% � 1:B%=�cerr(A%,0) �� (B% � 1)=0 �� abort% � skip%:� �� A%=1 � A%=3 � � files%+=1:A%=255 + ȕ dir$>"" � �dir$)<>".":dir$=�dir$):� % dir$=�dir$):�update(�):F%=�:A%=� � F%=0:A%=�:S%=2048 � (=B%=63:� n%=0 � 6:sum%(n%)+=(S%+B%) � � B%:B%=B% � B%<<1:� 2!� abort% � skip% � A%:�poll:� <'� faster%:$fname%="":� $fname%=dir$ F�del(2,0):skip%=� P� Z: ș "XOS_GBPB",10,dir$,buf%,1,F%,256,"*" � A%,,,,C%;B% d � B% � 1:B%=�cerr(A%,0) n� (B% � 1)=0 x!� abort% � skip%:�:� ?pos%=C% �ȕ ?pos%<255 � � abort% �= obj$=dir$+"."+�0(buf%+20):S%=buf%!8:�time:� S%<0:S%=2048 � Ȏ buf%!16 � � � 1,3:skip%=�:files%+=1 �? B%=63:� n%=0 � 6:sum%(n%)+=(S%+B%) � � B%:B%=B% � B%<<1:� � � 2:�count(obj$,pos%+1) � � � � � abort% � � � �G skip%=�:ș "XOS_GBPB",10,dir$,buf%,1,?pos%,256,"*" � A%,,,,C%;B% � � B% � 1:B%=�cerr(A%,0) � � (B% � 1)=0 �! ?pos%=C%:� skip%:!buf%!16=0 � � � " ,� �time 6@� faster%:ș "OS_ReadMonotonicTime" � A%:A%-=start%:� A%=100 @� A%>99 � poll% � J& �update(�):�poll:� poll%:poll%-=1 T1 � faster%:ș "OS_ReadMonotonicTime" � start% ^� h� r |� �initupdate(F%) �� faster%:a$="-":� a$="0" �J$counted%=a$:$tsize%=a$:$plural%=�msg("ManyFiles"):�del(3,0):�del(5,0) �A� @%:@%=bs$(logblk%):$tsize%=� (sum%(logblk%)/1024):�del(4,0) �� � �� �update(F%) �� faster% � F%:� � $counted%=� files%:�del(3,0) �Ȏ files% � �.� 0,2:$plural%=�msg("ManyFiles"):�del(5,0) �*� 1:$plural%=�msg("OneFile"):�del(5,0) �� �A� @%:@%=bs$(logblk%):$tsize%=� (sum%(logblk%)/1024):�del(4,0) � � �del(q%!4,q%!8) &3� !q%,q%!12,q%!16,q%!20,q%!24,q%!28,q%!32,q%!36 00!q%=fcount%:q%!12=1<<23:q%!8=1<<23 � q%!8<>0 :9ș "Wimp_SetIconState",,q%:ș "Wimp_GetIconState",,q% D8ș "Wimp_ForceRedraw",fcount%,q%!8,q%!12,q%!16,q%!20 N� X b� �ink(q%!4,q%!8) l3� !q%,q%!12,q%!16,q%!20,q%!24,q%!28,q%!32,q%!36 v0!q%=fcount%:q%!12=15<<24:q%!8=(q%!8<<28)>>>4 �9ș "Wimp_SetIconState",,q%:ș "Wimp_GetIconState",,q% �8ș "Wimp_ForceRedraw",fcount%,q%!8,q%!12,q%!16,q%!20 �� � �� �mkerr(a$) �$(error%+4)=a$ �=�cerr(error%,1) � �� �cerr(A%,F%) �)ș "OS_ReadModeVariable",-1,11 � ,,X% �)ș "OS_ReadModeVariable",-1,12 � ,,Y% �6ș "OS_ReadModeVariable",-1,4 � ,,Z%:X%=(X%+1)<<Z% �6ș "OS_ReadModeVariable",-1,5 � ,,Z%:Y%=(Y%+1)<<Z% ?$error%=�0(A%+4 � -4):�del(7,F%=1):�del(8,F%<>2):�del(9,F%) F�del(10,1):�del(11,1):�del(15,F%<>1):!q%=fcount%:q%!4=(X%-fcxe%)/2 Pq%!8=(Y%-fcye%)/2:q%!12=q%!4+fcxe%:q%!16=q%!8+fcye%:q%!20=0:q%!24=0:q%!28=-1 6ș "Wimp_OpenWindow",,q%:skip%=�:abort%=�:retry%=� *=$status%=�msg("Error"):$fname%=dir$:� A% � 1:$fname%=obj$ 4.�ink(1,11):�ink(2,11):�update(�):paused%=� >/� mz%=fname%:ș "Wimp_CreateMenu",,-1:mz%=0 H/� �poll:� skip% � abort% � retry%:paused%=� R� faster% � \2 ș "OS_ReadMonotonicTime" � start%:$fname%="" f2 $counted%="-":�del(3,0):$tsize%="-":�del(4,0) p� $fname%=dir$ z� �B$status%=�msg("Count"):�ink(1,7):�ink(2,7):�del(7,0):�del(8,1) �.�del(9,1):�del(10,0):�del(11,1):�del(15,1) �� abort%=0 � �B !q%=fcount%:ș "Wimp_GetWindowState",,q%:q%!4+=(fcxe%-fcx%)/2 �F q%!8+=fcye%-fcy%:q%!12=q%!4+fcx%:q%!20=fcxs%:q%!24=fcys%:q%!28=-1 � ș "Wimp_OpenWindow",,q% �� �=skip%=0 � abort%=0 � � � �paused �G$status%=�msg("Paused"):$fname%=obj$:�del(1,0):�del(2,0):�del(10,0) �$�del(15,1):�del(16,0):�update(�) �/� mz%=fname%:ș "Wimp_CreateMenu",,-1:mz%=0 � �poll:� abort% � � paused% � faster% � 2 ș "OS_ReadMonotonicTime" � start%:$fname%="" $2 $counted%="-":�del(3,0):$tsize%="-":�del(4,0) .� $fname%=dir$ 8� BD$status%=�msg("Count"):�del(1,0):�del(2,0):�del(10,0):�del(16,1) L� V `� �msg(a$)=�msg1(a$,"") j� �msg1(a$,b$) t� A% ~Nș "XMessageTrans_Lookup",messages%,a$,mbuf%,256,b$ � ,,,A%;B%:A%?mbuf%=13 �� B% � 1:=a$ �=$mbuf% �
00000000 0d 00 0a 1e f4 20 3e 20 21 52 75 6e 49 6d 61 67 |..... > !RunImag| 00000010 65 20 28 21 42 6c 6f 63 6b 53 69 7a 65 29 0d 00 |e (!BlockSize)..| 00000020 14 04 0d 00 1e 35 ee 20 85 20 c8 99 20 22 58 57 |.....5. . .. "XW| 00000030 69 6d 70 5f 43 6c 6f 73 65 44 6f 77 6e 22 3a 85 |imp_CloseDown":.| 00000040 20 a2 20 9f 2c f6 24 2b 22 20 61 74 20 6c 69 6e | . .,.$+" at lin| 00000050 65 20 22 2b c3 20 9e 0d 00 28 2e 41 25 3d 33 3a |e "+. ...(.A%=3:| 00000060 42 25 3d 38 3a 43 25 3d 31 32 38 32 3a 44 25 3d |B%=8:C%=1282:D%=| 00000070 26 34 30 30 43 32 3a 45 25 3d 26 34 30 30 43 39 |&400C2:E%=&400C9| 00000080 3a 46 25 3d 30 0d 00 32 49 c8 99 20 22 57 69 6d |:F%=0..2I.. "Wim| 00000090 70 5f 49 6e 69 74 69 61 6c 69 73 65 22 2c 33 31 |p_Initialise",31| 000000a0 30 2c 26 34 42 35 33 34 31 35 34 2c 22 42 6c 6f |0,&4B534154,"Blo| 000000b0 63 6b 53 69 7a 65 22 2c 26 38 36 30 34 20 b8 20 |ckSize",&8604 . | 000000c0 76 65 72 73 69 6f 6e 25 2c 74 61 73 6b 25 0d 00 |version%,task%..| 000000d0 3c 09 f2 69 6e 69 74 0d 00 46 63 ee 20 85 20 e7 |<..init..Fc. . .| 000000e0 20 a4 71 75 65 72 79 28 f6 24 2b 22 20 61 74 20 | .query(.$+" at | 000000f0 6c 69 6e 65 20 22 2b c3 20 9e 29 20 8b 20 c8 99 |line "+. .) . ..| 00000100 20 22 58 4d 65 73 73 61 67 65 54 72 61 6e 73 5f | "XMessageTrans_| 00000110 43 6c 6f 73 65 46 69 6c 65 22 2c 6d 65 73 73 61 |CloseFile",messa| 00000120 67 65 73 25 3a c8 99 20 22 57 69 6d 70 5f 43 6c |ges%:.. "Wimp_Cl| 00000130 6f 73 65 44 6f 77 6e 22 3a e0 0d 00 50 0f f5 20 |oseDown":...P.. | 00000140 f2 70 6f 6c 6c 3a fd 20 a3 0d 00 5a 05 e0 0d 00 |.poll:. ...Z....| 00000150 64 04 0d 00 6e 0b dd 20 f2 71 75 69 74 0d 00 78 |d...n.. .quit..x| 00000160 0f e7 20 a4 71 75 69 74 20 8b 20 e1 0d 00 82 28 |.. .quit . ....(| 00000170 e7 20 73 68 75 74 64 6f 77 6e 25 3a c8 99 20 22 |. shutdown%:.. "| 00000180 57 69 6d 70 5f 50 72 6f 63 65 73 73 4b 65 79 22 |Wimp_ProcessKey"| 00000190 2c 35 30 38 0d 00 8c 3e c8 99 20 22 58 4d 65 73 |,508...>.. "XMes| 000001a0 73 61 67 65 54 72 61 6e 73 5f 43 6c 6f 73 65 46 |sageTrans_CloseF| 000001b0 69 6c 65 22 2c 6d 65 73 73 61 67 65 73 25 3a c8 |ile",messages%:.| 000001c0 99 20 22 57 69 6d 70 5f 43 6c 6f 73 65 44 6f 77 |. "Wimp_CloseDow| 000001d0 6e 22 0d 00 96 05 e0 0d 00 a0 05 e1 0d 00 aa 04 |n"..............| 000001e0 0d 00 b4 0b dd 20 a4 71 75 69 74 0d 00 be 10 e7 |..... .quit.....| 000001f0 20 64 69 72 24 3d 22 22 3a 3d b9 0d 00 c8 1a 3d | dir$="":=.....=| 00000200 a4 71 75 65 72 79 28 22 4e 6f 74 46 69 6e 69 73 |.query("NotFinis| 00000210 68 65 64 22 29 0d 00 d2 04 0d 00 dc 0b dd 20 f2 |hed")......... .| 00000220 70 6f 6c 6c 0d 00 e6 1b c8 99 20 22 57 69 6d 70 |poll...... "Wimp| 00000230 5f 50 6f 6c 6c 22 2c 2c 71 25 20 b8 20 72 25 0d |_Poll",,q% . r%.| 00000240 00 f0 33 e7 20 28 72 25 3c 31 37 20 80 20 72 25 |..3. (r%<17 . r%| 00000250 3e 31 38 29 20 84 20 71 25 21 31 36 3c 3e 33 3a |>18) . q%!16<>3:| 00000260 69 67 6e 6f 72 65 25 3d a3 3a 67 72 6f 75 70 25 |ignore%=.:group%| 00000270 3d a3 0d 00 fa 0b c8 8e 20 72 25 20 ca 0d 01 04 |=....... r% ....| 00000280 20 c9 20 32 3a c8 99 20 22 57 69 6d 70 5f 4f 70 | . 2:.. "Wimp_Op| 00000290 65 6e 57 69 6e 64 6f 77 22 2c 2c 71 25 0d 01 0e |enWindow",,q%...| 000002a0 21 c9 20 33 3a c8 99 20 22 57 69 6d 70 5f 43 6c |!. 3:.. "Wimp_Cl| 000002b0 6f 73 65 57 69 6e 64 6f 77 22 2c 2c 71 25 0d 01 |oseWindow",,q%..| 000002c0 18 0e c9 20 36 3a f2 6d 6f 75 73 65 0d 01 22 0d |... 6:.mouse..".| 000002d0 c9 20 39 3a f2 6d 65 6e 75 0d 01 2c 14 c9 20 31 |. 9:.menu..,.. 1| 000002e0 37 2c 31 38 3a f2 6d 65 73 73 61 67 65 0d 01 36 |7,18:.message..6| 000002f0 05 cb 0d 01 40 05 e1 0d 01 4a 04 0d 01 54 0b dd |....@....J...T..| 00000300 20 f2 69 6e 69 74 0d 01 5e 2b de 20 71 25 20 38 | .init..^+. q% 8| 00000310 30 30 3a 6e 6f 74 6d 65 25 3d a3 3a 69 67 6e 6f |00:notme%=.:igno| 00000320 72 65 25 3d a3 3a 6d 65 73 73 61 67 65 73 25 3d |re%=.:messages%=| 00000330 30 0d 01 68 25 64 69 72 24 3d c4 32 35 35 2c 22 |0..h%dir$=.255,"| 00000340 20 22 29 3a 6f 64 69 72 24 3d 64 69 72 24 3a 64 | "):odir$=dir$:d| 00000350 69 72 24 3d 22 22 0d 01 72 05 e1 0d 01 7c 04 0d |ir$=""..r....|..| 00000360 01 86 11 dd 20 f2 69 6e 69 74 69 61 6c 69 73 65 |.... .initialise| 00000370 0d 01 90 07 ea 20 85 0d 01 9a 7b ee 20 85 20 ea |..... ....{. . .| 00000380 20 f7 20 85 3a c8 99 20 22 58 57 69 6d 70 5f 43 | . .:.. "XWimp_C| 00000390 6c 6f 73 65 54 65 6d 70 6c 61 74 65 22 3a c8 99 |loseTemplate":..| 000003a0 20 22 58 4d 65 73 73 61 67 65 54 72 61 6e 73 5f | "XMessageTrans_| 000003b0 43 6c 6f 73 65 46 69 6c 65 22 2c 6d 65 73 73 61 |CloseFile",messa| 000003c0 67 65 73 25 3a c8 99 20 22 58 57 69 6d 70 5f 43 |ges%:.. "XWimp_C| 000003d0 6c 6f 73 65 44 6f 77 6e 22 3a 85 20 a2 20 9f 2c |loseDown":. . .,| 000003e0 f6 24 2b 22 20 61 74 20 6c 69 6e 65 20 22 2b c3 |.$+" at line "+.| 000003f0 20 9e 0d 01 a4 49 de 20 6d 65 6e 75 25 20 37 36 | ....I. menu% 76| 00000400 2c 66 6d 65 6e 75 25 20 32 32 30 2c 62 75 66 25 |,fmenu% 220,buf%| 00000410 20 32 35 36 2c 70 6f 73 25 20 32 35 36 2c 6d 63 | 256,pos% 256,mc| 00000420 25 20 36 34 2c 6d 65 73 73 61 67 65 73 25 20 31 |% 64,messages% 1| 00000430 36 2c 6d 62 75 66 25 20 32 35 36 0d 01 ae 14 de |6,mbuf% 256.....| 00000440 20 73 75 6d 25 28 36 29 2c 62 73 24 28 36 29 0d | sum%(6),bs$(6).| 00000450 01 b8 41 62 73 24 28 29 3d 22 2b 46 31 34 2e 33 |..Abs$()="+F14.3| 00000460 22 2c 62 73 24 28 30 29 2c 22 2b 46 31 33 2e 32 |",bs$(0),"+F13.2| 00000470 22 2c 22 2b 46 31 32 2e 31 22 2c 22 47 31 30 2e |","+F12.1","G10.| 00000480 39 22 2c 62 73 24 28 34 29 2c 62 73 24 28 35 29 |9",bs$(4),bs$(5)| 00000490 0d 01 c2 44 c8 99 20 22 54 65 72 72 69 74 6f 72 |...D.. "Territor| 000004a0 79 5f 4e 75 6d 62 65 72 22 20 b8 20 41 25 3a c8 |y_Number" . A%:.| 000004b0 99 20 22 54 65 72 72 69 74 6f 72 79 5f 4e 75 6d |. "Territory_Num| 000004c0 62 65 72 54 6f 4e 61 6d 65 22 2c 41 25 2c 71 25 |berToName",A%,q%| 000004d0 2c 32 35 36 0d 01 cc 31 74 65 72 72 24 3d 22 3c |,256...1terr$="<| 000004e0 42 6c 6f 63 6b 53 69 7a 65 24 44 69 72 3e 2e 52 |BlockSize$Dir>.R| 000004f0 65 73 6f 75 72 63 65 73 2e 22 2b a4 30 28 71 25 |esources."+.0(q%| 00000500 29 2b 22 2e 22 0d 01 d6 20 c8 99 20 22 58 4f 53 |)+"."... .. "XOS| 00000510 5f 46 69 6c 65 22 2c 35 2c c0 74 65 72 72 24 29 |_File",5,.terr$)| 00000520 20 b8 20 41 25 0d 01 e0 37 e7 20 41 25 3c 32 20 | . A%...7. A%<2 | 00000530 84 20 41 25 3e 33 3a 74 65 72 72 24 3d 22 3c 42 |. A%>3:terr$="<B| 00000540 6c 6f 63 6b 53 69 7a 65 24 44 69 72 3e 2e 52 65 |lockSize$Dir>.Re| 00000550 73 6f 75 72 63 65 73 2e 55 4b 2e 22 0d 01 ea 39 |sources.UK."...9| 00000560 c8 99 20 22 4d 65 73 73 61 67 65 54 72 61 6e 73 |.. "MessageTrans| 00000570 5f 46 69 6c 65 49 6e 66 6f 22 2c 2c 74 65 72 72 |_FileInfo",,terr| 00000580 24 2b 22 4d 65 73 73 61 67 65 73 22 20 b8 20 46 |$+"Messages" . F| 00000590 25 2c 2c 4c 25 0d 01 f4 1b e7 20 46 25 20 80 20 |%,,L%..... F% . | 000005a0 31 3a 42 25 3d 30 3a 8b 20 de 20 42 25 20 4c 25 |1:B%=0:. . B% L%| 000005b0 0d 01 fe 3c c8 99 20 22 4d 65 73 73 61 67 65 54 |...<.. "MessageT| 000005c0 72 61 6e 73 5f 4f 70 65 6e 46 69 6c 65 22 2c 6d |rans_OpenFile",m| 000005d0 65 73 73 61 67 65 73 25 2c 74 65 72 72 24 2b 22 |essages%,terr$+"| 000005e0 4d 65 73 73 61 67 65 73 22 2c 42 25 0d 02 08 40 |Messages",B%...@| 000005f0 41 25 3d b9 3a 2a 52 4d 45 6e 73 75 72 65 20 55 |A%=.:*RMEnsure U| 00000600 74 69 6c 69 74 79 4d 6f 64 75 6c 65 20 33 2e 31 |tilityModule 3.1| 00000610 32 20 4d 65 6d 6f 72 79 41 20 38 36 30 34 20 30 |2 MemoryA 8604 0| 00000620 20 7b 20 3e 20 4e 75 6c 6c 3a 20 7d 0d 02 12 40 | { > Null: }...@| 00000630 e7 20 41 25 20 8b 20 41 25 3d b9 3a 2a 52 4d 45 |. A% . A%=.:*RME| 00000640 6e 73 75 72 65 20 52 4f 4d 41 70 70 73 33 44 20 |nsure ROMApps3D | 00000650 30 20 4d 65 6d 6f 72 79 41 20 38 36 30 34 20 30 |0 MemoryA 8604 0| 00000660 20 7b 20 3e 20 4e 75 6c 6c 3a 20 7d 0d 02 1c 19 | { > Null: }....| 00000670 e7 20 41 25 3a 61 24 3d 22 33 44 22 3a 8b 20 61 |. A%:a$="3D":. a| 00000680 24 3d 22 73 22 0d 02 26 49 c8 99 20 22 57 69 6d |$="s"..&I.. "Wim| 00000690 70 5f 4f 70 65 6e 54 65 6d 70 6c 61 74 65 22 2c |p_OpenTemplate",| 000006a0 2c 74 65 72 72 24 2b 22 54 65 6d 70 6c 61 74 65 |,terr$+"Template| 000006b0 22 2b 61 24 3a 66 63 6f 75 6e 74 25 3d a4 77 69 |"+a$:fcount%=.wi| 000006c0 6e 64 6f 77 28 22 46 43 6f 75 6e 74 22 29 0d 02 |ndow("FCount")..| 000006d0 30 4b 66 63 78 25 3d 71 25 21 38 2d 21 71 25 3a |0Kfcx%=q%!8-!q%:| 000006e0 66 63 79 25 3d 71 25 21 31 32 2d 71 25 21 34 3a |fcy%=q%!12-q%!4:| 000006f0 66 63 78 73 25 3d 71 25 21 31 36 3a 66 63 79 73 |fcxs%=q%!16:fcys| 00000700 25 3d 71 25 21 32 30 3a 66 63 78 65 25 3d 71 25 |%=q%!20:fcxe%=q%| 00000710 21 34 38 2d 71 25 21 34 30 0d 02 3a 51 66 63 79 |!48-q%!40..:Qfcy| 00000720 65 25 3d 71 25 21 35 32 2d 71 25 21 34 34 3a 73 |e%=q%!52-q%!44:s| 00000730 74 61 74 75 73 25 3d 71 25 21 31 34 30 3a 66 6e |tatus%=q%!140:fn| 00000740 61 6d 65 25 3d 71 25 21 31 37 32 3a 70 6c 75 72 |ame%=q%!172:plur| 00000750 61 6c 25 3d 71 25 21 32 36 38 3a 63 6f 75 6e 74 |al%=q%!268:count| 00000760 65 64 25 3d 71 25 21 32 30 34 0d 02 44 4d 74 73 |ed%=q%!204..DMts| 00000770 69 7a 65 25 3d 71 25 21 32 33 36 3a 65 72 72 6f |ize%=q%!236:erro| 00000780 72 25 3d 71 25 21 34 39 32 3a 69 6e 66 6f 25 3d |r%=q%!492:info%=| 00000790 a4 77 69 6e 64 6f 77 28 22 49 6e 66 6f 22 29 3a |.window("Info"):| 000007a0 c8 99 20 22 57 69 6d 70 5f 43 6c 6f 73 65 54 65 |.. "Wimp_CloseTe| 000007b0 6d 70 6c 61 74 65 22 0d 02 4e 32 73 68 75 74 64 |mplate"..N2shutd| 000007c0 6f 77 6e 25 3d a3 3a 66 61 73 74 65 72 25 3d a3 |own%=.:faster%=.| 000007d0 3a 70 61 75 73 65 64 25 3d a3 3a 6d 7a 25 3d 30 |:paused%=.:mz%=0| 000007e0 3a 67 72 6f 75 70 25 3d a3 0d 02 58 4a 24 6d 65 |:group%=...XJ$me| 000007f0 6e 75 25 3d 22 42 6c 6f 63 6b 53 69 7a 65 22 3a |nu%="BlockSize":| 00000800 6d 65 6e 75 25 21 31 32 3d 26 37 30 32 30 37 3a |menu%!12=&70207:| 00000810 6d 65 6e 75 25 21 31 36 3d 31 33 36 3a 6d 65 6e |menu%!16=136:men| 00000820 75 25 21 32 30 3d 34 34 3a 6d 65 6e 75 25 21 32 |u%!20=44:menu%!2| 00000830 34 3d 30 0d 02 62 48 6d 65 6e 75 25 21 32 38 3d |4=0..bHmenu%!28=| 00000840 30 3a 6d 65 6e 75 25 21 33 32 3d 69 6e 66 6f 25 |0:menu%!32=info%| 00000850 3a 6d 65 6e 75 25 21 33 36 3d 26 37 30 30 30 30 |:menu%!36=&70000| 00000860 32 31 3a 24 28 6d 65 6e 75 25 2b 34 30 29 3d a4 |21:$(menu%+40)=.| 00000870 6d 73 67 28 22 49 6e 66 6f 22 29 0d 02 6c 47 6d |msg("Info")..lGm| 00000880 65 6e 75 25 21 35 32 3d 31 32 38 3a 6d 65 6e 75 |enu%!52=128:menu| 00000890 25 21 35 36 3d 2d 31 3a 6d 65 6e 75 25 21 36 30 |%!56=-1:menu%!60| 000008a0 3d 26 37 30 30 30 30 32 31 3a 24 28 6d 65 6e 75 |=&7000021:$(menu| 000008b0 25 2b 36 34 29 3d a4 6d 73 67 28 22 51 75 69 74 |%+64)=.msg("Quit| 000008c0 22 29 0d 02 76 4d 24 66 6d 65 6e 75 25 3d 22 4f |")..vM$fmenu%="O| 000008d0 70 74 69 6f 6e 73 22 3a 66 6d 65 6e 75 25 21 31 |ptions":fmenu%!1| 000008e0 32 3d 26 37 30 32 30 37 3a 66 6d 65 6e 75 25 21 |2=&70207:fmenu%!| 000008f0 31 36 3d 31 30 34 3a 66 6d 65 6e 75 25 21 32 30 |16=104:fmenu%!20| 00000900 3d 34 34 3a 66 6d 65 6e 75 25 21 32 34 3d 30 0d |=44:fmenu%!24=0.| 00000910 02 80 49 66 6d 65 6e 75 25 21 32 38 3d 32 3a 66 |..Ifmenu%!28=2:f| 00000920 6d 65 6e 75 25 21 33 32 3d 2d 31 3a 66 6d 65 6e |menu%!32=-1:fmen| 00000930 75 25 21 33 36 3d 26 37 30 30 30 30 32 31 3a 24 |u%!36=&7000021:$| 00000940 28 66 6d 65 6e 75 25 2b 34 30 29 3d a4 6d 73 67 |(fmenu%+40)=.msg| 00000950 28 22 46 61 73 74 22 29 0d 02 8a 10 41 25 3d 66 |("Fast")....A%=f| 00000960 6d 65 6e 75 25 2b 35 32 0d 02 94 0e e3 20 6e 25 |menu%+52..... n%| 00000970 3d 30 20 b8 20 36 0d 02 9e 27 20 21 41 25 3d 30 |=0 . 6...' !A%=0| 00000980 3a 41 25 21 34 3d 2d 31 3a 41 25 21 38 3d 26 37 |:A%!4=-1:A%!8=&7| 00000990 30 30 30 30 32 31 3a 41 25 2b 3d 32 34 0d 02 a8 |000021:A%+=24...| 000009a0 3c 20 e7 20 6e 25 3c 34 3a 24 28 41 25 2d 31 32 |< . n%<4:$(A%-12| 000009b0 29 3d c3 20 28 36 34 3c 3c 6e 25 29 3a 8b 20 24 |)=. (64<<n%):. $| 000009c0 28 41 25 2d 31 32 29 3d c3 20 28 31 3c 3c 28 6e |(A%-12)=. (1<<(n| 000009d0 25 2d 34 29 29 2b 22 4b 22 0d 02 b2 05 ed 0d 02 |%-4))+"K".......| 000009e0 bc 45 41 25 3f 2d 32 34 3d 31 32 38 3a 21 71 25 |.EA%?-24=128:!q%| 000009f0 3d 2d 38 3a 71 25 21 34 3d 30 3a 71 25 21 38 3d |=-8:q%!4=0:q%!8=| 00000a00 30 3a 71 25 21 31 32 3d 38 34 3a 71 25 21 31 36 |0:q%!12=84:q%!16| 00000a10 3d 36 38 3a 71 25 21 32 30 3d 26 31 37 30 30 33 |=68:q%!20=&17003| 00000a20 30 32 41 0d 02 c6 3d 24 28 71 25 2b 32 34 29 3d |02A...=$(q%+24)=| 00000a30 22 21 62 6c 6f 63 6b 73 69 7a 65 22 3a c8 99 20 |"!blocksize":.. | 00000a40 22 57 69 6d 70 5f 43 72 65 61 74 65 49 63 6f 6e |"Wimp_CreateIcon| 00000a50 22 2c 2c 71 25 20 b8 20 62 61 72 69 63 6f 6e 25 |",,q% . baricon%| 00000a60 0d 02 d0 1a 50 25 3d 6d 63 25 3a 5b 4f 50 54 20 |....P%=mc%:[OPT | 00000a70 32 3a 4d 4f 56 20 30 2c 23 30 0d 02 da 37 2e 63 |2:MOV 0,#0...7.c| 00000a80 70 20 4c 44 52 42 20 33 2c 5b 31 5d 2c 23 31 3a |p LDRB 3,[1],#1:| 00000a90 4c 44 52 42 20 34 2c 5b 32 5d 2c 23 31 3a 54 45 |LDRB 4,[2],#1:TE| 00000aa0 51 20 33 2c 34 3a 4d 4f 56 4e 45 20 50 43 2c 31 |Q 3,4:MOVNE PC,1| 00000ab0 34 0d 02 e4 37 54 45 51 20 33 2c 23 31 33 3a 54 |4...7TEQ 3,#13:T| 00000ac0 45 51 4e 45 20 34 2c 23 31 33 3a 41 44 44 4e 45 |EQNE 4,#13:ADDNE| 00000ad0 20 30 2c 30 2c 23 31 3a 42 4e 45 20 63 70 3a 4d | 0,0,#1:BNE cp:M| 00000ae0 4f 56 20 50 43 2c 31 34 0d 02 ee 11 5d 6e 6f 74 |OV PC,14....]not| 00000af0 6d 65 25 3d b9 3a f7 20 85 0d 02 f8 05 e1 0d 03 |me%=.:. ........| 00000b00 02 04 0d 03 0c 11 dd 20 a4 77 69 6e 64 6f 77 28 |....... .window(| 00000b10 61 24 29 0d 03 16 35 c8 99 20 22 57 69 6d 70 5f |a$)...5.. "Wimp_| 00000b20 4c 6f 61 64 54 65 6d 70 6c 61 74 65 22 2c 2c 2d |LoadTemplate",,-| 00000b30 31 2c 2d 31 2c 2c 2d 31 2c 61 24 20 b8 20 2c 2c |1,-1,,-1,a$ . ,,| 00000b40 41 25 2c 2c 2c 2c 42 25 0d 03 20 2c e7 20 42 25 |A%,,,,B%.. ,. B%| 00000b50 20 8b 20 85 20 31 2c 22 54 65 6d 70 6c 61 74 65 | . . 1,"Template| 00000b60 20 27 22 2b 61 24 2b 22 27 20 6e 6f 74 20 66 6f | '"+a$+"' not fo| 00000b70 75 6e 64 22 0d 03 2a 40 de 20 42 25 20 41 25 2d |und"..*@. B% A%-| 00000b80 31 3a c8 99 20 22 57 69 6d 70 5f 4c 6f 61 64 54 |1:.. "Wimp_LoadT| 00000b90 65 6d 70 6c 61 74 65 22 2c 2c 71 25 2c 42 25 2c |emplate",,q%,B%,| 00000ba0 42 25 2b 41 25 2c 2d 31 2c 61 24 20 b8 20 2c 2c |B%+A%,-1,a$ . ,,| 00000bb0 70 74 72 25 0d 03 34 23 c8 99 20 22 57 69 6d 70 |ptr%..4#.. "Wimp| 00000bc0 5f 43 72 65 61 74 65 57 69 6e 64 6f 77 22 2c 2c |_CreateWindow",,| 00000bd0 71 25 20 b8 20 41 25 0d 03 3e 07 3d 41 25 0d 03 |q% . A%..>.=A%..| 00000be0 48 04 0d 03 52 0c dd 20 f2 6d 6f 75 73 65 0d 03 |H...R.. .mouse..| 00000bf0 5c 10 e7 20 71 25 21 38 20 80 20 32 20 8c 0d 03 |\.. q%!8 . 2 ...| 00000c00 66 0f 20 c8 8e 20 71 25 21 31 32 20 ca 0d 03 70 |f. .. q%!12 ...p| 00000c10 39 20 c9 20 2d 32 3a 6d 7a 25 3d 6d 65 6e 75 25 |9 . -2:mz%=menu%| 00000c20 3a c8 99 20 22 57 69 6d 70 5f 43 72 65 61 74 65 |:.. "Wimp_Create| 00000c30 4d 65 6e 75 22 2c 2c 6d 7a 25 2c 21 71 25 2d 31 |Menu",,mz%,!q%-1| 00000c40 30 30 2c 31 38 34 0d 03 7a 42 20 c9 20 66 63 6f |00,184..zB . fco| 00000c50 75 6e 74 25 3a 6d 7a 25 3d 66 6d 65 6e 75 25 3a |unt%:mz%=fmenu%:| 00000c60 c8 99 20 22 57 69 6d 70 5f 43 72 65 61 74 65 4d |.. "Wimp_CreateM| 00000c70 65 6e 75 22 2c 2c 6d 7a 25 2c 21 71 25 2d 36 34 |enu",,mz%,!q%-64| 00000c80 2c 71 25 21 34 2b 32 34 0d 03 84 06 20 cb 0d 03 |,q%!4+24.... ...| 00000c90 8e 05 cc 0d 03 98 0f 20 c8 8e 20 71 25 21 31 32 |....... .. q%!12| 00000ca0 20 ca 0d 03 a2 09 20 c9 20 2d 32 0d 03 ac 1d 20 | ..... . -2.... | 00000cb0 20 e7 20 64 69 72 24 3e 22 22 20 80 20 ac 20 70 | . dir$>"" . . p| 00000cc0 61 75 73 65 64 25 20 8c 0d 03 b6 2f 20 20 20 21 |aused% ..../ !| 00000cd0 71 25 3d 66 63 6f 75 6e 74 25 3a c8 99 20 22 57 |q%=fcount%:.. "W| 00000ce0 69 6d 70 5f 47 65 74 57 69 6e 64 6f 77 53 74 61 |imp_GetWindowSta| 00000cf0 74 65 22 2c 2c 71 25 0d 03 c0 28 20 20 20 71 25 |te",,q%...( q%| 00000d00 21 32 38 3d 2d 31 3a c8 99 20 22 57 69 6d 70 5f |!28=-1:.. "Wimp_| 00000d10 4f 70 65 6e 57 69 6e 64 6f 77 22 2c 2c 71 25 0d |OpenWindow",,q%.| 00000d20 03 ca 07 20 20 cd 0d 03 d4 0e 20 c9 20 66 63 6f |... ..... . fco| 00000d30 75 6e 74 25 0d 03 de 10 20 20 c8 8e 20 71 25 21 |unt%.... .. q%!| 00000d40 31 36 20 ca 0d 03 e8 43 20 20 c9 20 37 2c 31 35 |16 ....C . 7,15| 00000d50 3a 61 62 6f 72 74 25 3d b9 3a 73 6b 69 70 25 3d |:abort%=.:skip%=| 00000d60 b9 3a 21 71 25 3d 66 63 6f 75 6e 74 25 3a c8 99 |.:!q%=fcount%:..| 00000d70 20 22 57 69 6d 70 5f 43 6c 6f 73 65 57 69 6e 64 | "Wimp_CloseWind| 00000d80 6f 77 22 2c 2c 71 25 0d 03 f2 11 20 20 c9 20 38 |ow",,q%.... . 8| 00000d90 3a 73 6b 69 70 25 3d b9 0d 03 fc 12 20 20 c9 20 |:skip%=..... . | 00000da0 39 3a 72 65 74 72 79 25 3d b9 0d 04 06 1c 20 20 |9:retry%=..... | 00000db0 c9 20 31 30 3a 70 61 75 73 65 64 25 3d b9 3a f2 |. 10:paused%=.:.| 00000dc0 70 61 75 73 65 64 0d 04 10 30 20 20 c9 20 31 31 |paused...0 . 11| 00000dd0 3a 21 71 25 3d 66 63 6f 75 6e 74 25 3a c8 99 20 |:!q%=fcount%:.. | 00000de0 22 57 69 6d 70 5f 43 6c 6f 73 65 57 69 6e 64 6f |"Wimp_CloseWindo| 00000df0 77 22 2c 2c 71 25 0d 04 1a 14 20 20 c9 20 31 36 |w",,q%.... . 16| 00000e00 3a 70 61 75 73 65 64 25 3d a3 0d 04 24 07 20 20 |:paused%=...$. | 00000e10 cb 0d 04 2e 06 20 cb 0d 04 38 05 cd 0d 04 42 05 |..... ...8....B.| 00000e20 e1 0d 04 4c 04 0d 04 56 0b dd 20 f2 6d 65 6e 75 |...L...V.. .menu| 00000e30 0d 04 60 24 c8 99 20 22 57 69 6d 70 5f 47 65 74 |..`$.. "Wimp_Get| 00000e40 50 6f 69 6e 74 65 72 49 6e 66 6f 22 2c 2c 71 25 |PointerInfo",,q%| 00000e50 2b 31 30 30 0d 04 6a 0c c8 8e 20 6d 7a 25 20 ca |+100..j... mz% .| 00000e60 0d 04 74 19 c9 20 6d 65 6e 75 25 3a e7 20 21 71 |..t.. menu%:. !q| 00000e70 25 3d 31 3a f2 71 75 69 74 0d 04 7e 0c c9 20 66 |%=1:.quit..~.. f| 00000e80 6d 65 6e 75 25 0d 04 88 0d 20 c8 8e 20 21 71 25 |menu%.... .. !q%| 00000e90 20 ca 0d 04 92 09 20 c9 20 2d 31 0d 04 9c 45 20 | ..... . -1...E | 00000ea0 c9 20 30 3a 66 61 73 74 65 72 25 3d ac 20 66 61 |. 0:faster%=. fa| 00000eb0 73 74 65 72 25 3a 66 6d 65 6e 75 25 21 32 38 3d |ster%:fmenu%!28=| 00000ec0 28 66 6d 65 6e 75 25 21 32 38 20 80 20 2d 32 29 |(fmenu%!28 . -2)| 00000ed0 20 84 20 28 66 61 73 74 65 72 25 20 80 20 31 29 | . (faster% . 1)| 00000ee0 0d 04 a6 11 20 20 e7 20 66 61 73 74 65 72 25 20 |.... . faster% | 00000ef0 8c 0d 04 b0 34 20 20 20 c8 99 20 22 4f 53 5f 52 |....4 .. "OS_R| 00000f00 65 61 64 4d 6f 6e 6f 74 6f 6e 69 63 54 69 6d 65 |eadMonotonicTime| 00000f10 22 20 b8 20 73 74 61 72 74 25 3a 24 66 6e 61 6d |" . start%:$fnam| 00000f20 65 25 3d 22 22 0d 04 ba 34 20 20 20 24 63 6f 75 |e%=""...4 $cou| 00000f30 6e 74 65 64 25 3d 22 2d 22 3a f2 64 65 6c 28 33 |nted%="-":.del(3| 00000f40 2c 30 29 3a 24 74 73 69 7a 65 25 3d 22 2d 22 3a |,0):$tsize%="-":| 00000f50 f2 64 65 6c 28 34 2c 30 29 0d 04 c4 14 20 20 cc |.del(4,0).... .| 00000f60 20 24 66 6e 61 6d 65 25 3d 64 69 72 24 0d 04 ce | $fname%=dir$...| 00000f70 07 20 20 cd 0d 04 d8 0f 20 20 f2 64 65 6c 28 32 |. ..... .del(2| 00000f80 2c 30 29 0d 04 e2 27 20 7f 3a 6c 6f 67 62 6c 6b |,0)...' .:logblk| 00000f90 25 3d 21 71 25 2d 31 3a 62 6c 6f 63 6b 25 3d 36 |%=!q%-1:block%=6| 00000fa0 34 3c 3c 6c 6f 67 62 6c 6b 25 0d 04 ec 20 20 20 |4<<logblk%... | 00000fb0 f2 75 70 64 61 74 65 28 b9 29 3a f2 73 65 6c 28 |.update(.):.sel(| 00000fc0 6c 6f 67 62 6c 6b 25 2c a3 29 0d 04 f6 06 20 cb |logblk%,.).... .| 00000fd0 0d 05 00 05 cb 0d 05 0a 32 e7 20 71 25 21 31 30 |........2. q%!10| 00000fe0 38 20 80 20 31 3a c8 99 20 22 57 69 6d 70 5f 43 |8 . 1:.. "Wimp_C| 00000ff0 72 65 61 74 65 4d 65 6e 75 22 2c 2c 6d 7a 25 3a |reateMenu",,mz%:| 00001000 8b 20 6d 7a 25 3d 30 0d 05 14 05 e1 0d 05 1e 04 |. mz%=0.........| 00001010 0d 05 28 0e dd 20 f2 6d 65 73 73 61 67 65 0d 05 |..(.. .message..| 00001020 32 33 73 65 6e 74 25 3d a3 3a e7 20 69 67 6e 6f |23sent%=.:. igno| 00001030 72 65 25 3a e7 20 71 25 21 31 36 3c 3e 33 3a 69 |re%:. q%!16<>3:i| 00001040 67 6e 6f 72 65 25 3d a3 3a 67 72 6f 75 70 25 3d |gnore%=.:group%=| 00001050 a3 0d 05 3c 0e c8 8e 20 71 25 21 31 36 20 ca 0d |...<... q%!16 ..| 00001060 05 46 19 c9 20 30 3a 73 68 75 74 64 6f 77 6e 25 |.F.. 0:shutdown%| 00001070 3d a3 3a f2 71 75 69 74 0d 05 50 11 c9 20 33 3a |=.:.quit..P.. 3:| 00001080 f2 64 61 74 61 6c 6f 61 64 0d 05 5a 19 c9 20 38 |.dataload..Z.. 8| 00001090 3a 73 68 75 74 64 6f 77 6e 25 3d 71 25 21 32 30 |:shutdown%=q%!20| 000010a0 3d 30 0d 05 64 35 20 e7 20 64 69 72 24 3e 22 22 |=0..d5 . dir$>""| 000010b0 3a f2 71 75 69 74 3a c8 99 20 22 57 69 6d 70 5f |:.quit:.. "Wimp_| 000010c0 53 65 6e 64 4d 65 73 73 61 67 65 22 2c 31 39 2c |SendMessage",19,| 000010d0 71 25 2c 71 25 21 34 0d 05 6e 15 c9 20 31 32 38 |q%,q%!4..n.. 128| 000010e0 32 3a f4 20 50 52 4f 43 68 65 6c 70 0d 05 78 0c |2:. PROChelp..x.| 000010f0 c9 20 26 34 30 30 43 32 0d 05 82 34 20 61 24 3d |. &400C2...4 a$=| 00001100 22 22 3a 70 74 72 25 3d 71 25 2b 32 38 3a c8 95 |"":ptr%=q%+28:..| 00001110 20 3f 70 74 72 25 3a 61 24 2b 3d bd 20 3f 70 74 | ?ptr%:a$+=. ?pt| 00001120 72 25 3a 70 74 72 25 2b 3d 31 3a ce 0d 05 8c 17 |r%:ptr%+=1:.....| 00001130 20 e7 20 61 24 3d 22 42 6c 6f 63 6b 53 69 7a 65 | . a$="BlockSize| 00001140 22 20 8c 0d 05 96 10 20 20 e7 20 6e 6f 74 6d 65 |" ..... . notme| 00001150 25 20 8c 0d 05 a0 41 20 20 20 21 71 25 3d 32 30 |% ....A !q%=20| 00001160 3a 71 25 21 31 32 3d 71 25 21 38 3a 71 25 21 31 |:q%!12=q%!8:q%!1| 00001170 36 3d 30 3a c8 99 20 22 57 69 6d 70 5f 53 65 6e |6=0:.. "Wimp_Sen| 00001180 64 4d 65 73 73 61 67 65 22 2c 31 37 2c 71 25 2c |dMessage",17,q%,| 00001190 71 25 21 34 0d 05 aa 2b 20 20 20 21 71 25 3d 31 |q%!4...+ !q%=1| 000011a0 3a 24 28 71 25 2b 34 29 3d a4 6d 73 67 28 22 4f |:$(q%+4)=.msg("O| 000011b0 6e 65 49 6e 63 61 72 6e 61 74 69 6f 6e 22 29 0d |neIncarnation").| 000011c0 05 b4 21 20 20 20 c8 99 20 22 57 69 6d 70 5f 52 |..! .. "Wimp_R| 000011d0 65 70 6f 72 74 45 72 72 6f 72 22 2c 71 25 2c 31 |eportError",q%,1| 000011e0 0d 05 be 13 20 20 cc 20 f2 69 6e 69 74 69 61 6c |.... . .initial| 000011f0 69 73 65 0d 05 c8 07 20 20 cd 0d 05 d2 06 20 cd |ise.... ..... .| 00001200 0d 05 dc 12 c9 20 26 34 30 30 43 39 3a 6d 7a 25 |..... &400C9:mz%| 00001210 3d 30 0d 05 e6 05 cb 0d 05 f0 05 e1 0d 05 fa 04 |=0..............| 00001220 0d 06 04 0f dd 20 f2 64 61 74 61 6c 6f 61 64 0d |..... .dataload.| 00001230 06 0e 0f e7 20 69 67 6e 6f 72 65 25 3a e1 0d 06 |.... ignore%:...| 00001240 18 1a e7 20 67 72 6f 75 70 25 3a f2 61 64 64 74 |... group%:.addt| 00001250 6f 71 75 65 75 65 3a e1 0d 06 22 28 e7 20 64 69 |oqueue:..."(. di| 00001260 72 24 3e 22 22 3a f2 74 65 6c 6c 74 68 65 6d 6f |r$>"":.tellthemo| 00001270 66 66 28 22 4f 6e 65 43 6f 75 6e 74 22 29 3a e1 |ff("OneCount"):.| 00001280 0d 06 2c 42 70 61 75 73 65 64 25 3d a3 3a 66 69 |..,Bpaused%=.:fi| 00001290 6c 65 73 25 3d 30 3a 73 75 6d 25 28 29 3d 30 3a |les%=0:sum%()=0:| 000012a0 64 69 72 24 3d a4 30 28 71 25 2b 34 34 29 3a 6f |dir$=.0(q%+44):o| 000012b0 64 69 72 24 3d 64 69 72 24 3a 67 72 6f 75 70 25 |dir$=dir$:group%| 000012c0 3d b9 0d 06 36 3e 71 75 65 75 65 25 3d 31 3a 71 |=...6>queue%=1:q| 000012d0 75 65 75 65 64 25 3d 30 3a 72 70 74 72 25 3d 93 |ueued%=0:rptr%=.| 000012e0 3a 71 70 74 72 25 3d 93 3a 65 6e 64 25 3d 93 3a |:qptr%=.:end%=.:| 000012f0 70 6f 6c 6c 25 3d 31 3a 61 62 6f 72 74 25 3d a3 |poll%=1:abort%=.| 00001300 0d 06 40 2e c8 95 20 6f 64 69 72 24 3e 22 22 20 |..@... odir$>"" | 00001310 80 20 c2 6f 64 69 72 24 29 3c 3e 22 2e 22 3a 6f |. .odir$)<>".":o| 00001320 64 69 72 24 3d c0 6f 64 69 72 24 29 3a ce 0d 06 |dir$=.odir$):...| 00001330 4a 3f f2 61 6c 6c 6f 63 73 69 7a 65 28 6f 64 69 |J?.allocsize(odi| 00001340 72 24 29 3a f2 73 65 6c 28 6c 6f 67 62 6c 6b 25 |r$):.sel(logblk%| 00001350 2c b9 29 3a 66 6d 65 6e 75 25 3f 33 38 3d 66 6d |,.):fmenu%?38=fm| 00001360 65 6e 75 25 3f 33 38 20 80 20 31 39 31 0d 06 54 |enu%?38 . 191..T| 00001370 35 f2 69 6e 69 74 75 70 64 61 74 65 28 a3 29 3a |5.initupdate(.):| 00001380 24 73 74 61 74 75 73 25 3d a4 6d 73 67 28 22 43 |$status%=.msg("C| 00001390 6f 75 6e 74 22 29 3a 21 71 25 3d 66 63 6f 75 6e |ount"):!q%=fcoun| 000013a0 74 25 0d 06 5e 46 c8 99 20 22 57 69 6d 70 5f 43 |t%..^F.. "Wimp_C| 000013b0 6c 6f 73 65 57 69 6e 64 6f 77 22 2c 2c 71 25 3a |loseWindow",,q%:| 000013c0 c8 99 20 22 57 69 6d 70 5f 47 65 74 57 69 6e 64 |.. "Wimp_GetWind| 000013d0 6f 77 53 74 61 74 65 22 2c 2c 71 25 3a 71 25 21 |owState",,q%:q%!| 000013e0 34 3d 96 20 37 2d 36 34 0d 06 68 48 71 25 21 31 |4=. 7-64..hHq%!1| 000013f0 36 3d 96 20 38 2b 36 34 3a 71 25 21 31 32 3d 71 |6=. 8+64:q%!12=q| 00001400 25 21 34 2b 66 63 78 25 3a 71 25 21 38 3d 71 25 |%!4+fcx%:q%!8=q%| 00001410 21 31 36 2d 66 63 79 25 3a 71 25 21 32 30 3d 66 |!16-fcy%:q%!20=f| 00001420 63 78 73 25 3a 71 25 21 32 34 3d 66 63 79 73 25 |cxs%:q%!24=fcys%| 00001430 0d 06 72 40 71 25 21 32 38 3d 2d 31 3a f2 64 65 |..r@q%!28=-1:.de| 00001440 6c 28 37 2c 30 29 3a f2 64 65 6c 28 38 2c 31 29 |l(7,0):.del(8,1)| 00001450 3a f2 64 65 6c 28 39 2c 31 29 3a f2 64 65 6c 28 |:.del(9,1):.del(| 00001460 31 30 2c 30 29 3a f2 64 65 6c 28 31 31 2c 31 29 |10,0):.del(11,1)| 00001470 0d 06 7c 32 f2 64 65 6c 28 31 35 2c 31 29 3a f2 |..|2.del(15,1):.| 00001480 64 65 6c 28 31 36 2c 31 29 3a c8 99 20 22 57 69 |del(16,1):.. "Wi| 00001490 6d 70 5f 4f 70 65 6e 57 69 6e 64 6f 77 22 2c 2c |mp_OpenWindow",,| 000014a0 71 25 0d 06 86 18 c8 95 20 71 75 65 75 65 25 20 |q%...... queue% | 000014b0 80 20 ac 20 61 62 6f 72 74 25 0d 06 90 20 20 f2 |. . abort%... .| 000014c0 63 6f 75 6e 74 28 64 69 72 24 2c 70 6f 73 25 29 |count(dir$,pos%)| 000014d0 3a 71 75 65 75 65 25 2d 3d 31 0d 06 9a 31 20 e7 |:queue%-=1...1 .| 000014e0 20 71 75 65 75 65 25 3a 64 69 72 24 3d 6f 64 69 | queue%:dir$=odi| 000014f0 72 24 2b 24 72 70 74 72 25 3a 72 70 74 72 25 2b |r$+$rptr%:rptr%+| 00001500 3d a9 20 24 72 70 74 72 25 2b 31 0d 06 a4 05 ce |=. $rptr%+1.....| 00001510 0d 06 ae 34 69 67 6e 6f 72 65 25 3d a3 3a 67 72 |...4ignore%=.:gr| 00001520 6f 75 70 25 3d a3 3a c8 99 20 22 57 69 6d 70 5f |oup%=.:.. "Wimp_| 00001530 53 6c 6f 74 53 69 7a 65 22 2c 93 2d 26 38 30 30 |SlotSize",.-&800| 00001540 30 2c 2d 31 0d 06 b8 2e f2 75 70 64 61 74 65 28 |0,-1.....update(| 00001550 a3 29 3a f2 64 65 6c 28 37 2c 31 29 3a f2 64 65 |.):.del(7,1):.de| 00001560 6c 28 31 30 2c 31 29 3a f2 64 65 6c 28 31 31 2c |l(10,1):.del(11,| 00001570 30 29 0d 06 c2 23 24 73 74 61 74 75 73 25 3d a4 |0)...#$status%=.| 00001580 6d 73 67 28 22 44 6f 6e 65 22 29 3a f2 64 65 6c |msg("Done"):.del| 00001590 28 31 2c 30 29 0d 06 cc 37 e7 20 71 75 65 75 65 |(1,0)...7. queue| 000015a0 64 25 3a 24 66 6e 61 6d 65 25 3d 6f 64 69 72 24 |d%:$fname%=odir$| 000015b0 2b a4 6d 73 67 28 22 4d 61 6e 79 22 29 3a 8b 20 |+.msg("Many"):. | 000015c0 24 66 6e 61 6d 65 25 3d 64 69 72 24 0d 06 d6 2e |$fname%=dir$....| 000015d0 f2 64 65 6c 28 32 2c 30 29 3a 64 69 72 24 3d 22 |.del(2,0):dir$="| 000015e0 22 3a 66 6d 65 6e 75 25 3f 33 38 3d 66 6d 65 6e |":fmenu%?38=fmen| 000015f0 75 25 3f 33 38 20 84 20 36 34 0d 06 e0 2a e7 20 |u%?38 . 64...*. | 00001600 6d 7a 25 3d 66 6d 65 6e 75 25 3a c8 99 20 22 57 |mz%=fmenu%:.. "W| 00001610 69 6d 70 5f 43 72 65 61 74 65 4d 65 6e 75 22 2c |imp_CreateMenu",| 00001620 2c 6d 7a 25 0d 06 ea 05 e1 0d 06 f4 04 0d 06 fe |,mz%............| 00001630 11 dd 20 f2 73 65 6c 28 42 25 2c 46 25 29 0d 07 |.. .sel(B%,F%)..| 00001640 08 18 ea 20 41 25 2c 6e 25 3a 41 25 3d 66 6d 65 |... A%,n%:A%=fme| 00001650 6e 75 25 2b 35 32 0d 07 12 0e e3 20 6e 25 3d 30 |nu%+52..... n%=0| 00001660 20 b8 20 36 0d 07 1c 45 20 3f 41 25 3d 28 3f 41 | . 6...E ?A%=(?A| 00001670 25 20 80 20 32 35 34 29 20 84 20 2d 28 6e 25 3d |% . 254) . -(n%=| 00001680 6c 6f 67 62 6c 6b 25 29 3a e7 20 46 25 3a 41 25 |logblk%):. F%:A%| 00001690 3f 31 31 3d 37 20 82 20 28 31 32 20 80 20 6e 25 |?11=7 . (12 . n%| 000016a0 3d 6c 6f 67 62 6c 6b 25 29 0d 07 26 0b 20 41 25 |=logblk%)..&. A%| 000016b0 2b 3d 32 34 0d 07 30 05 ed 0d 07 3a 05 e1 0d 07 |+=24..0....:....| 000016c0 44 04 0d 07 4e 11 dd 20 f2 61 64 64 74 6f 71 75 |D...N.. .addtoqu| 000016d0 65 75 65 0d 07 58 3a 42 25 3d 71 25 2b 32 36 30 |eue..X:B%=q%+260| 000016e0 3a 43 25 3d 71 25 2b 34 34 3a 24 42 25 3d 6f 64 |:C%=q%+44:$B%=od| 000016f0 69 72 24 3a 41 25 3d ba 20 6d 63 25 3a 61 24 3d |ir$:A%=. mc%:a$=| 00001700 c1 a4 30 28 43 25 29 2c 41 25 2b 31 29 0d 07 62 |..0(C%),A%+1)..b| 00001710 35 e7 20 41 25 3c a9 20 6f 64 69 72 24 20 84 20 |5. A%<. odir$ . | 00001720 a7 61 24 2c 22 2e 22 29 3a f2 74 65 6c 6c 74 68 |.a$,"."):.tellth| 00001730 65 6d 6f 66 66 28 22 53 61 6d 65 44 69 72 22 29 |emoff("SameDir")| 00001740 3a e1 0d 07 6c 4c e7 20 71 70 74 72 25 2b a9 20 |:...lL. qptr%+. | 00001750 61 24 2b 31 3e 65 6e 64 25 3a c8 99 20 22 58 57 |a$+1>end%:.. "XW| 00001760 69 6d 70 5f 53 6c 6f 74 53 69 7a 65 22 2c 65 6e |imp_SlotSize",en| 00001770 64 25 2d 26 37 46 46 46 2c 2d 31 20 b8 20 65 6e |d%-&7FFF,-1 . en| 00001780 64 25 3a 65 6e 64 25 2b 3d 26 38 30 30 30 0d 07 |d%:end%+=&8000..| 00001790 76 3a e7 20 71 70 74 72 25 2b a9 20 61 24 2b 31 |v:. qptr%+. a$+1| 000017a0 3e 65 6e 64 25 3a f2 74 65 6c 6c 74 68 65 6d 6f |>end%:.tellthemo| 000017b0 66 66 28 22 4e 6f 52 6f 6f 6d 22 29 3a 69 67 6e |ff("NoRoom"):ign| 000017c0 6f 72 65 25 3d b9 3a e1 0d 07 80 39 24 71 70 74 |ore%=.:....9$qpt| 000017d0 72 25 3d 61 24 3a 71 70 74 72 25 2b 3d a9 20 61 |r%=a$:qptr%+=. a| 000017e0 24 2b 31 3a 71 75 65 75 65 25 2b 3d 31 3a 71 75 |$+1:queue%+=1:qu| 000017f0 65 75 65 64 25 2b 3d 31 3a 70 6f 6c 6c 25 2b 3d |eued%+=1:poll%+=| 00001800 31 0d 07 8a 05 e1 0d 07 94 04 0d 07 9e 10 dd 20 |1.............. | 00001810 a4 71 75 65 72 79 28 61 24 29 0d 07 a8 1e 21 71 |.query(a$)....!q| 00001820 25 3d 30 3a 24 28 71 25 2b 34 29 3d a4 6d 73 67 |%=0:$(q%+4)=.msg| 00001830 28 61 24 29 2b bd 20 30 0d 07 b2 43 c8 99 20 22 |(a$)+. 0...C.. "| 00001840 57 69 6d 70 5f 52 65 70 6f 72 74 45 72 72 6f 72 |Wimp_ReportError| 00001850 22 2c 71 25 2c 26 31 33 2c a4 6d 73 67 31 28 22 |",q%,&13,.msg1("| 00001860 4d 73 67 46 72 6f 6d 22 2c 22 42 6c 6f 63 6b 53 |MsgFrom","BlockS| 00001870 69 7a 65 22 29 20 b8 20 2c 72 25 0d 07 bc 09 3d |ize") . ,r%....=| 00001880 72 25 3d 31 0d 07 c6 04 0d 07 d0 0c dd 20 a4 30 |r%=1......... .0| 00001890 28 71 25 29 0d 07 da 24 ea 20 61 24 3a c8 95 20 |(q%)...$. a$:.. | 000018a0 3f 71 25 3e 33 31 3a 61 24 2b 3d bd 20 3f 71 25 |?q%>31:a$+=. ?q%| 000018b0 3a 71 25 2b 3d 31 3a ce 0d 07 e4 07 3d 61 24 0d |:q%+=1:.....=a$.| 000018c0 07 ee 04 0d 07 f8 16 dd 20 f2 74 65 6c 6c 74 68 |........ .tellth| 000018d0 65 6d 6f 66 66 28 61 24 29 0d 08 02 41 ea 20 21 |emoff(a$)...A. !| 000018e0 71 25 3a 24 28 71 25 2b 34 29 3d a4 6d 73 67 28 |q%:$(q%+4)=.msg(| 000018f0 61 24 29 3a c8 99 20 22 57 69 6d 70 5f 52 65 70 |a$):.. "Wimp_Rep| 00001900 6f 72 74 45 72 72 6f 72 22 2c 71 25 2c 31 2c 22 |ortError",q%,1,"| 00001910 42 6c 6f 63 6b 53 69 7a 65 22 0d 08 0c 05 e1 0d |BlockSize"......| 00001920 08 16 04 0d 08 20 0b dd 20 f2 68 65 6c 70 0d 08 |..... .. .help..| 00001930 2a 0e c8 8e 20 71 25 21 33 32 20 ca 0d 08 34 1b |*... q%!32 ...4.| 00001940 c9 20 2d 32 3a 61 24 3d a4 6d 73 67 28 22 49 63 |. -2:a$=.msg("Ic| 00001950 6f 6e 62 61 72 22 29 0d 08 3e 0d c9 20 66 63 6f |onbar")..>.. fco| 00001960 75 6e 74 25 0d 08 48 28 20 e7 20 28 71 25 21 33 |unt%..H( . (q%!3| 00001970 36 3e 36 20 80 20 71 25 21 33 36 3c 31 32 29 20 |6>6 . q%!36<12) | 00001980 84 20 71 25 21 33 36 3e 31 34 20 8c 0d 08 52 30 |. q%!36>14 ...R0| 00001990 20 20 61 24 3d a4 6d 73 67 31 28 22 46 43 6f 75 | a$=.msg1("FCou| 000019a0 6e 74 49 22 2c a4 6d 73 67 28 22 46 43 6f 75 6e |ntI",.msg("FCoun| 000019b0 74 22 2b c3 20 71 25 21 33 36 29 29 0d 08 5c 19 |t"+. q%!36))..\.| 000019c0 20 cc 20 61 24 3d a4 6d 73 67 28 22 46 43 6f 75 | . a$=.msg("FCou| 000019d0 6e 74 47 22 29 0d 08 66 06 20 cd 0d 08 70 16 c9 |ntG")..f. ...p..| 000019e0 20 69 6e 66 6f 25 3a 61 24 3d 22 49 6e 66 6f 57 | info%:a$="InfoW| 000019f0 22 0d 08 7a 45 7f 3a c8 99 20 22 57 69 6d 70 5f |"..zE.:.. "Wimp_| 00001a00 47 65 74 4d 65 6e 75 53 74 61 74 65 22 2c 2c 71 |GetMenuState",,q| 00001a10 25 2b 32 30 3a 61 24 3d 22 4d 65 6e 75 22 3a e7 |%+20:a$="Menu":.| 00001a20 20 6d 7a 25 3d 66 6d 65 6e 75 25 3a 61 24 3d 22 | mz%=fmenu%:a$="| 00001a30 46 4d 65 6e 75 22 0d 08 84 10 20 61 24 2b 3d c3 |FMenu".... a$+=.| 00001a40 20 71 25 21 32 30 0d 08 8e 05 cb 0d 08 98 24 24 | q%!20........$$| 00001a50 28 71 25 2b 32 30 29 3d 61 24 2b bd 20 30 3a 21 |(q%+20)=a$+. 0:!| 00001a60 71 25 3d 32 34 2b a9 20 61 24 20 80 20 2d 34 0d |q%=24+. a$ . -4.| 00001a70 08 a2 3a 71 25 21 31 32 3d 71 25 21 38 3a 71 25 |..:q%!12=q%!8:q%| 00001a80 21 31 36 3d 31 32 38 33 3a c8 99 20 22 57 69 6d |!16=1283:.. "Wim| 00001a90 70 5f 53 65 6e 64 4d 65 73 73 61 67 65 22 2c 31 |p_SendMessage",1| 00001aa0 37 2c 71 25 2c 71 25 21 34 0d 08 ac 05 e1 0d 08 |7,q%,q%!4.......| 00001ab0 b6 04 0d 08 c0 0c dd 20 a4 6b 28 41 25 29 0d 08 |....... .k(A%)..| 00001ac0 ca 32 c8 99 20 22 4f 53 5f 43 6f 6e 76 65 72 74 |.2.. "OS_Convert| 00001ad0 46 69 6c 65 53 69 7a 65 22 2c 41 25 2c 71 25 2c |FileSize",A%,q%,| 00001ae0 32 35 36 20 b8 20 2c 41 25 3a 3f 41 25 3d 31 33 |256 . ,A%:?A%=13| 00001af0 0d 08 d4 08 3d 24 71 25 0d 08 de 04 0d 08 e8 14 |....=$q%........| 00001b00 dd 20 f2 61 6c 6c 6f 63 73 69 7a 65 28 66 24 29 |. .allocsize(f$)| 00001b10 0d 08 f2 31 49 25 3d a7 66 24 2c 22 3a 22 29 3a |...1I%=.f$,":"):| 00001b20 4a 25 3d a7 66 24 2c 22 23 22 29 3a 62 6c 6f 63 |J%=.f$,"#"):bloc| 00001b30 6b 25 3d 31 30 32 34 3a 6c 6f 67 62 6c 6b 25 3d |k%=1024:logblk%=| 00001b40 34 0d 08 fc 1d e7 20 28 4a 25 20 80 20 49 25 3e |4..... (J% . I%>| 00001b50 4a 25 2b 31 29 20 84 20 49 25 3c 32 3a e1 0d 09 |J%+1) . I%<2:...| 00001b60 06 18 e7 20 49 25 3c 4a 25 20 84 20 4a 25 3d 30 |... I%<J% . J%=0| 00001b70 3a 4a 25 3d 49 25 0d 09 10 33 66 73 24 3d c0 66 |:J%=I%...3fs$=.f| 00001b80 24 2c 4a 25 2d 31 29 3a 66 24 3d c1 66 24 2c 4a |$,J%-1):f$=.f$,J| 00001b90 25 29 3a 49 25 3d a7 66 24 2c 22 3a 22 2c a7 66 |%):I%=.f$,":",.f| 00001ba0 24 2c 22 3a 22 29 2b 31 29 0d 09 1a 18 e7 20 66 |$,":")+1)..... f| 00001bb0 73 24 3d 22 52 41 4d 22 20 84 20 49 25 3d 30 3a |s$="RAM" . I%=0:| 00001bc0 e1 0d 09 24 3b c8 99 20 22 58 4f 53 5f 53 57 49 |...$;.. "XOS_SWI| 00001bd0 4e 75 6d 62 65 72 46 72 6f 6d 53 74 72 69 6e 67 |NumberFromString| 00001be0 22 2c 2c 66 73 24 2b 22 5f 44 65 73 63 72 69 62 |",,fs$+"_Describ| 00001bf0 65 44 69 73 63 22 20 b8 20 3b 41 25 0d 09 2e 0e |eDisc" . ;A%....| 00001c00 e7 20 41 25 20 80 20 31 20 8c 0d 09 38 3e 20 c8 |. A% . 1 ...8> .| 00001c10 99 20 22 58 4f 53 5f 53 57 49 4e 75 6d 62 65 72 |. "XOS_SWINumber| 00001c20 46 72 6f 6d 53 74 72 69 6e 67 22 2c 2c 66 73 24 |FromString",,fs$| 00001c30 2b 22 46 53 5f 44 65 73 63 72 69 62 65 44 69 73 |+"FS_DescribeDis| 00001c40 63 22 20 b8 20 3b 41 25 0d 09 42 17 20 e7 20 41 |c" . ;A%..B. . A| 00001c50 25 20 80 20 31 20 8b 20 61 24 2b 22 46 53 22 0d |% . 1 . a$+"FS".| 00001c60 09 4c 05 cd 0d 09 56 29 e7 20 41 25 20 80 20 31 |.L....V). A% . 1| 00001c70 3a e1 3a 8b 20 66 24 3d c1 66 24 2c 49 25 2b 31 |:.:. f$=.f$,I%+1| 00001c80 29 3a 53 25 3d a7 66 24 2c 22 2e 22 29 0d 09 60 |):S%=.f$,".")..`| 00001c90 05 f5 0d 09 6a 34 20 c8 99 20 22 58 22 2b 66 73 |....j4 .. "X"+fs| 00001ca0 24 2b 22 5f 44 65 73 63 72 69 62 65 44 69 73 63 |$+"_DescribeDisc| 00001cb0 22 2c c0 66 24 2c 53 25 2d 31 29 2c 71 25 20 b8 |",.f$,S%-1),q% .| 00001cc0 20 42 25 3b 41 25 0d 09 74 2c 20 e7 20 41 25 20 | B%;A%..t, . A% | 00001cd0 80 20 31 3a 41 25 3d a4 63 65 72 72 28 42 25 2c |. 1:A%=.cerr(B%,| 00001ce0 32 29 3a 8b 20 62 6c 6f 63 6b 25 3d 31 3c 3c 3f |2):. block%=1<<?| 00001cf0 71 25 0d 09 7e 19 fd 20 28 41 25 20 80 20 31 29 |q%..~.. (A% . 1)| 00001d00 3d 30 20 84 20 61 62 6f 72 74 25 0d 09 88 25 61 |=0 . abort%...%a| 00001d10 62 6f 72 74 25 3d a3 3a 6c 6f 67 62 6c 6b 25 3d |bort%=.:logblk%=| 00001d20 28 aa 20 62 6c 6f 63 6b 25 2f aa 20 32 29 2d 36 |(. block%/. 2)-6| 00001d30 0d 09 92 05 e1 0d 09 9c 04 0d 09 a6 17 dd 20 f2 |.............. .| 00001d40 63 6f 75 6e 74 28 64 69 72 24 2c 70 6f 73 25 29 |count(dir$,pos%)| 00001d50 0d 09 b0 3e f2 70 6f 6c 6c 3a 73 6b 69 70 25 3d |...>.poll:skip%=| 00001d60 a3 3a e7 20 66 61 73 74 65 72 25 3a c8 99 20 22 |.:. faster%:.. "| 00001d70 4f 53 5f 52 65 61 64 4d 6f 6e 6f 74 6f 6e 69 63 |OS_ReadMonotonic| 00001d80 54 69 6d 65 22 20 b8 20 73 74 61 72 74 25 0d 09 |Time" . start%..| 00001d90 ba 0d 6f 62 6a 24 3d 64 69 72 24 0d 09 c4 05 f5 |..obj$=dir$.....| 00001da0 0d 09 ce 40 20 c8 99 20 22 58 4f 53 5f 46 69 6c |...@ .. "XOS_Fil| 00001db0 65 22 2c 31 37 2c 64 69 72 24 20 b8 20 41 25 2c |e",17,dir$ . A%,| 00001dc0 2c 2c 2c 53 25 3b 42 25 3a e7 20 42 25 20 80 20 |,,,S%;B%:. B% . | 00001dd0 31 3a 42 25 3d a4 63 65 72 72 28 41 25 2c 30 29 |1:B%=.cerr(A%,0)| 00001de0 0d 09 d8 10 fd 20 28 42 25 20 80 20 31 29 3d 30 |..... (B% . 1)=0| 00001df0 0d 09 e2 16 e7 20 61 62 6f 72 74 25 20 84 20 73 |..... abort% . s| 00001e00 6b 69 70 25 3a e1 0d 09 ec 13 e7 20 41 25 3d 31 |kip%:...... A%=1| 00001e10 20 84 20 41 25 3d 33 20 8c 0d 09 f6 15 20 66 69 | . A%=3 ..... fi| 00001e20 6c 65 73 25 2b 3d 31 3a 41 25 3d 32 35 35 0d 0a |les%+=1:A%=255..| 00001e30 00 2b 20 c8 95 20 64 69 72 24 3e 22 22 20 80 20 |.+ .. dir$>"" . | 00001e40 c2 64 69 72 24 29 3c 3e 22 2e 22 3a 64 69 72 24 |.dir$)<>".":dir$| 00001e50 3d c0 64 69 72 24 29 3a ce 0d 0a 0a 25 20 64 69 |=.dir$):....% di| 00001e60 72 24 3d c0 64 69 72 24 29 3a f2 75 70 64 61 74 |r$=.dir$):.updat| 00001e70 65 28 b9 29 3a 46 25 3d b9 3a 41 25 3d b9 0d 0a |e(.):F%=.:A%=...| 00001e80 14 17 cc 20 46 25 3d 30 3a 41 25 3d a3 3a 53 25 |... F%=0:A%=.:S%| 00001e90 3d 32 30 34 38 0d 0a 1e 05 cd 0d 0a 28 3d 42 25 |=2048.......(=B%| 00001ea0 3d 36 33 3a e3 20 6e 25 3d 30 20 b8 20 36 3a 73 |=63:. n%=0 . 6:s| 00001eb0 75 6d 25 28 6e 25 29 2b 3d 28 53 25 2b 42 25 29 |um%(n%)+=(S%+B%)| 00001ec0 20 80 20 ac 20 42 25 3a 42 25 3d 42 25 20 84 20 | . . B%:B%=B% . | 00001ed0 42 25 3c 3c 31 3a ed 0d 0a 32 21 e7 20 61 62 6f |B%<<1:...2!. abo| 00001ee0 72 74 25 20 84 20 73 6b 69 70 25 20 84 20 41 25 |rt% . skip% . A%| 00001ef0 3a f2 70 6f 6c 6c 3a e1 0d 0a 3c 27 e7 20 66 61 |:.poll:...<'. fa| 00001f00 73 74 65 72 25 3a 24 66 6e 61 6d 65 25 3d 22 22 |ster%:$fname%=""| 00001f10 3a 8b 20 24 66 6e 61 6d 65 25 3d 64 69 72 24 0d |:. $fname%=dir$.| 00001f20 0a 46 15 f2 64 65 6c 28 32 2c 30 29 3a 73 6b 69 |.F..del(2,0):ski| 00001f30 70 25 3d a3 0d 0a 50 05 f5 0d 0a 5a 3a 20 c8 99 |p%=...P....Z: ..| 00001f40 20 22 58 4f 53 5f 47 42 50 42 22 2c 31 30 2c 64 | "XOS_GBPB",10,d| 00001f50 69 72 24 2c 62 75 66 25 2c 31 2c 46 25 2c 32 35 |ir$,buf%,1,F%,25| 00001f60 36 2c 22 2a 22 20 b8 20 41 25 2c 2c 2c 2c 43 25 |6,"*" . A%,,,,C%| 00001f70 3b 42 25 0d 0a 64 1c 20 e7 20 42 25 20 80 20 31 |;B%..d. . B% . 1| 00001f80 3a 42 25 3d a4 63 65 72 72 28 41 25 2c 30 29 0d |:B%=.cerr(A%,0).| 00001f90 0a 6e 10 fd 20 28 42 25 20 80 20 31 29 3d 30 0d |.n.. (B% . 1)=0.| 00001fa0 0a 78 21 e7 20 61 62 6f 72 74 25 20 84 20 73 6b |.x!. abort% . sk| 00001fb0 69 70 25 3a e1 3a 8b 20 3f 70 6f 73 25 3d 43 25 |ip%:.:. ?pos%=C%| 00001fc0 0d 0a 82 1b c8 95 20 3f 70 6f 73 25 3c 32 35 35 |...... ?pos%<255| 00001fd0 20 80 20 ac 20 61 62 6f 72 74 25 0d 0a 8c 3d 20 | . . abort%...= | 00001fe0 6f 62 6a 24 3d 64 69 72 24 2b 22 2e 22 2b a4 30 |obj$=dir$+"."+.0| 00001ff0 28 62 75 66 25 2b 32 30 29 3a 53 25 3d 62 75 66 |(buf%+20):S%=buf| 00002000 25 21 38 3a f2 74 69 6d 65 3a e7 20 53 25 3c 30 |%!8:.time:. S%<0| 00002010 3a 53 25 3d 32 30 34 38 0d 0a 96 11 20 c8 8e 20 |:S%=2048.... .. | 00002020 62 75 66 25 21 31 36 20 ca 0d 0a a0 1c 20 c9 20 |buf%!16 ..... . | 00002030 31 2c 33 3a 73 6b 69 70 25 3d a3 3a 66 69 6c 65 |1,3:skip%=.:file| 00002040 73 25 2b 3d 31 0d 0a aa 3f 20 20 42 25 3d 36 33 |s%+=1...? B%=63| 00002050 3a e3 20 6e 25 3d 30 20 b8 20 36 3a 73 75 6d 25 |:. n%=0 . 6:sum%| 00002060 28 6e 25 29 2b 3d 28 53 25 2b 42 25 29 20 80 20 |(n%)+=(S%+B%) . | 00002070 ac 20 42 25 3a 42 25 3d 42 25 20 84 20 42 25 3c |. B%:B%=B% . B%<| 00002080 3c 31 3a ed 0d 0a b4 1c 20 c9 20 32 3a f2 63 6f |<1:..... . 2:.co| 00002090 75 6e 74 28 6f 62 6a 24 2c 70 6f 73 25 2b 31 29 |unt(obj$,pos%+1)| 000020a0 0d 0a be 06 20 cb 0d 0a c8 11 20 e7 20 ac 20 61 |.... ..... . . a| 000020b0 62 6f 72 74 25 20 8c 0d 0a d2 07 20 20 f5 0d 0a |bort% ..... ...| 000020c0 dc 47 20 20 20 73 6b 69 70 25 3d a3 3a c8 99 20 |.G skip%=.:.. | 000020d0 22 58 4f 53 5f 47 42 50 42 22 2c 31 30 2c 64 69 |"XOS_GBPB",10,di| 000020e0 72 24 2c 62 75 66 25 2c 31 2c 3f 70 6f 73 25 2c |r$,buf%,1,?pos%,| 000020f0 32 35 36 2c 22 2a 22 20 b8 20 41 25 2c 2c 2c 2c |256,"*" . A%,,,,| 00002100 43 25 3b 42 25 0d 0a e6 1e 20 20 20 e7 20 42 25 |C%;B%.... . B%| 00002110 20 80 20 31 3a 42 25 3d a4 63 65 72 72 28 41 25 | . 1:B%=.cerr(A%| 00002120 2c 30 29 0d 0a f0 12 20 20 fd 20 28 42 25 20 80 |,0).... . (B% .| 00002130 20 31 29 3d 30 0d 0a fa 21 20 20 3f 70 6f 73 25 | 1)=0...! ?pos%| 00002140 3d 43 25 3a e7 20 73 6b 69 70 25 3a 21 62 75 66 |=C%:. skip%:!buf| 00002150 25 21 31 36 3d 30 0d 0b 04 06 20 cd 0d 0b 0e 05 |%!16=0.... .....| 00002160 ce 0d 0b 18 05 e1 0d 0b 22 04 0d 0b 2c 0b dd 20 |........"...,.. | 00002170 f2 74 69 6d 65 0d 0b 36 40 e7 20 66 61 73 74 65 |.time..6@. faste| 00002180 72 25 3a c8 99 20 22 4f 53 5f 52 65 61 64 4d 6f |r%:.. "OS_ReadMo| 00002190 6e 6f 74 6f 6e 69 63 54 69 6d 65 22 20 b8 20 41 |notonicTime" . A| 000021a0 25 3a 41 25 2d 3d 73 74 61 72 74 25 3a 8b 20 41 |%:A%-=start%:. A| 000021b0 25 3d 31 30 30 0d 0b 40 15 e7 20 41 25 3e 39 39 |%=100..@.. A%>99| 000021c0 20 84 20 70 6f 6c 6c 25 20 8c 0d 0b 4a 26 20 f2 | . poll% ...J& .| 000021d0 75 70 64 61 74 65 28 b9 29 3a f2 70 6f 6c 6c 3a |update(.):.poll:| 000021e0 e7 20 70 6f 6c 6c 25 3a 70 6f 6c 6c 25 2d 3d 31 |. poll%:poll%-=1| 000021f0 0d 0b 54 31 20 e7 20 66 61 73 74 65 72 25 3a c8 |..T1 . faster%:.| 00002200 99 20 22 4f 53 5f 52 65 61 64 4d 6f 6e 6f 74 6f |. "OS_ReadMonoto| 00002210 6e 69 63 54 69 6d 65 22 20 b8 20 73 74 61 72 74 |nicTime" . start| 00002220 25 0d 0b 5e 05 cd 0d 0b 68 05 e1 0d 0b 72 04 0d |%..^....h....r..| 00002230 0b 7c 15 dd 20 f2 69 6e 69 74 75 70 64 61 74 65 |.|.. .initupdate| 00002240 28 46 25 29 0d 0b 86 1d e7 20 66 61 73 74 65 72 |(F%)..... faster| 00002250 25 3a 61 24 3d 22 2d 22 3a 8b 20 61 24 3d 22 30 |%:a$="-":. a$="0| 00002260 22 0d 0b 90 4a 24 63 6f 75 6e 74 65 64 25 3d 61 |"...J$counted%=a| 00002270 24 3a 24 74 73 69 7a 65 25 3d 61 24 3a 24 70 6c |$:$tsize%=a$:$pl| 00002280 75 72 61 6c 25 3d a4 6d 73 67 28 22 4d 61 6e 79 |ural%=.msg("Many| 00002290 46 69 6c 65 73 22 29 3a f2 64 65 6c 28 33 2c 30 |Files"):.del(3,0| 000022a0 29 3a f2 64 65 6c 28 35 2c 30 29 0d 0b 9a 41 ea |):.del(5,0)...A.| 000022b0 20 40 25 3a 40 25 3d 62 73 24 28 6c 6f 67 62 6c | @%:@%=bs$(logbl| 000022c0 6b 25 29 3a 24 74 73 69 7a 65 25 3d c3 20 28 73 |k%):$tsize%=. (s| 000022d0 75 6d 25 28 6c 6f 67 62 6c 6b 25 29 2f 31 30 32 |um%(logblk%)/102| 000022e0 34 29 3a f2 64 65 6c 28 34 2c 30 29 0d 0b a4 05 |4):.del(4,0)....| 000022f0 e1 0d 0b ae 04 0d 0b b8 11 dd 20 f2 75 70 64 61 |.......... .upda| 00002300 74 65 28 46 25 29 0d 0b c2 14 e7 20 66 61 73 74 |te(F%)..... fast| 00002310 65 72 25 20 80 20 46 25 3a e1 0d 0b cc 20 24 63 |er% . F%:.... $c| 00002320 6f 75 6e 74 65 64 25 3d c3 20 66 69 6c 65 73 25 |ounted%=. files%| 00002330 3a f2 64 65 6c 28 33 2c 30 29 0d 0b d6 0f c8 8e |:.del(3,0)......| 00002340 20 66 69 6c 65 73 25 20 ca 0d 0b e0 2e c9 20 30 | files% ...... 0| 00002350 2c 32 3a 24 70 6c 75 72 61 6c 25 3d a4 6d 73 67 |,2:$plural%=.msg| 00002360 28 22 4d 61 6e 79 46 69 6c 65 73 22 29 3a f2 64 |("ManyFiles"):.d| 00002370 65 6c 28 35 2c 30 29 0d 0b ea 2a c9 20 31 3a 24 |el(5,0)...*. 1:$| 00002380 70 6c 75 72 61 6c 25 3d a4 6d 73 67 28 22 4f 6e |plural%=.msg("On| 00002390 65 46 69 6c 65 22 29 3a f2 64 65 6c 28 35 2c 30 |eFile"):.del(5,0| 000023a0 29 0d 0b f4 05 cb 0d 0b fe 41 ea 20 40 25 3a 40 |)........A. @%:@| 000023b0 25 3d 62 73 24 28 6c 6f 67 62 6c 6b 25 29 3a 24 |%=bs$(logblk%):$| 000023c0 74 73 69 7a 65 25 3d c3 20 28 73 75 6d 25 28 6c |tsize%=. (sum%(l| 000023d0 6f 67 62 6c 6b 25 29 2f 31 30 32 34 29 3a f2 64 |ogblk%)/1024):.d| 000023e0 65 6c 28 34 2c 30 29 0d 0c 08 05 e1 0d 0c 12 04 |el(4,0).........| 000023f0 0d 0c 1c 15 dd 20 f2 64 65 6c 28 71 25 21 34 2c |..... .del(q%!4,| 00002400 71 25 21 38 29 0d 0c 26 33 ea 20 21 71 25 2c 71 |q%!8)..&3. !q%,q| 00002410 25 21 31 32 2c 71 25 21 31 36 2c 71 25 21 32 30 |%!12,q%!16,q%!20| 00002420 2c 71 25 21 32 34 2c 71 25 21 32 38 2c 71 25 21 |,q%!24,q%!28,q%!| 00002430 33 32 2c 71 25 21 33 36 0d 0c 30 30 21 71 25 3d |32,q%!36..00!q%=| 00002440 66 63 6f 75 6e 74 25 3a 71 25 21 31 32 3d 31 3c |fcount%:q%!12=1<| 00002450 3c 32 33 3a 71 25 21 38 3d 31 3c 3c 32 33 20 80 |<23:q%!8=1<<23 .| 00002460 20 71 25 21 38 3c 3e 30 0d 0c 3a 39 c8 99 20 22 | q%!8<>0..:9.. "| 00002470 57 69 6d 70 5f 53 65 74 49 63 6f 6e 53 74 61 74 |Wimp_SetIconStat| 00002480 65 22 2c 2c 71 25 3a c8 99 20 22 57 69 6d 70 5f |e",,q%:.. "Wimp_| 00002490 47 65 74 49 63 6f 6e 53 74 61 74 65 22 2c 2c 71 |GetIconState",,q| 000024a0 25 0d 0c 44 38 c8 99 20 22 57 69 6d 70 5f 46 6f |%..D8.. "Wimp_Fo| 000024b0 72 63 65 52 65 64 72 61 77 22 2c 66 63 6f 75 6e |rceRedraw",fcoun| 000024c0 74 25 2c 71 25 21 38 2c 71 25 21 31 32 2c 71 25 |t%,q%!8,q%!12,q%| 000024d0 21 31 36 2c 71 25 21 32 30 0d 0c 4e 05 e1 0d 0c |!16,q%!20..N....| 000024e0 58 04 0d 0c 62 15 dd 20 f2 69 6e 6b 28 71 25 21 |X...b.. .ink(q%!| 000024f0 34 2c 71 25 21 38 29 0d 0c 6c 33 ea 20 21 71 25 |4,q%!8)..l3. !q%| 00002500 2c 71 25 21 31 32 2c 71 25 21 31 36 2c 71 25 21 |,q%!12,q%!16,q%!| 00002510 32 30 2c 71 25 21 32 34 2c 71 25 21 32 38 2c 71 |20,q%!24,q%!28,q| 00002520 25 21 33 32 2c 71 25 21 33 36 0d 0c 76 30 21 71 |%!32,q%!36..v0!q| 00002530 25 3d 66 63 6f 75 6e 74 25 3a 71 25 21 31 32 3d |%=fcount%:q%!12=| 00002540 31 35 3c 3c 32 34 3a 71 25 21 38 3d 28 71 25 21 |15<<24:q%!8=(q%!| 00002550 38 3c 3c 32 38 29 3e 3e 3e 34 0d 0c 80 39 c8 99 |8<<28)>>>4...9..| 00002560 20 22 57 69 6d 70 5f 53 65 74 49 63 6f 6e 53 74 | "Wimp_SetIconSt| 00002570 61 74 65 22 2c 2c 71 25 3a c8 99 20 22 57 69 6d |ate",,q%:.. "Wim| 00002580 70 5f 47 65 74 49 63 6f 6e 53 74 61 74 65 22 2c |p_GetIconState",| 00002590 2c 71 25 0d 0c 8a 38 c8 99 20 22 57 69 6d 70 5f |,q%...8.. "Wimp_| 000025a0 46 6f 72 63 65 52 65 64 72 61 77 22 2c 66 63 6f |ForceRedraw",fco| 000025b0 75 6e 74 25 2c 71 25 21 38 2c 71 25 21 31 32 2c |unt%,q%!8,q%!12,| 000025c0 71 25 21 31 36 2c 71 25 21 32 30 0d 0c 94 05 e1 |q%!16,q%!20.....| 000025d0 0d 0c 9e 04 0d 0c a8 10 dd 20 a4 6d 6b 65 72 72 |......... .mkerr| 000025e0 28 61 24 29 0d 0c b2 12 24 28 65 72 72 6f 72 25 |(a$)....$(error%| 000025f0 2b 34 29 3d 61 24 0d 0c bc 14 3d a4 63 65 72 72 |+4)=a$....=.cerr| 00002600 28 65 72 72 6f 72 25 2c 31 29 0d 0c c6 04 0d 0c |(error%,1)......| 00002610 d0 12 dd 20 a4 63 65 72 72 28 41 25 2c 46 25 29 |... .cerr(A%,F%)| 00002620 0d 0c da 29 c8 99 20 22 4f 53 5f 52 65 61 64 4d |...).. "OS_ReadM| 00002630 6f 64 65 56 61 72 69 61 62 6c 65 22 2c 2d 31 2c |odeVariable",-1,| 00002640 31 31 20 b8 20 2c 2c 58 25 0d 0c e4 29 c8 99 20 |11 . ,,X%...).. | 00002650 22 4f 53 5f 52 65 61 64 4d 6f 64 65 56 61 72 69 |"OS_ReadModeVari| 00002660 61 62 6c 65 22 2c 2d 31 2c 31 32 20 b8 20 2c 2c |able",-1,12 . ,,| 00002670 59 25 0d 0c ee 36 c8 99 20 22 4f 53 5f 52 65 61 |Y%...6.. "OS_Rea| 00002680 64 4d 6f 64 65 56 61 72 69 61 62 6c 65 22 2c 2d |dModeVariable",-| 00002690 31 2c 34 20 b8 20 2c 2c 5a 25 3a 58 25 3d 28 58 |1,4 . ,,Z%:X%=(X| 000026a0 25 2b 31 29 3c 3c 5a 25 0d 0c f8 36 c8 99 20 22 |%+1)<<Z%...6.. "| 000026b0 4f 53 5f 52 65 61 64 4d 6f 64 65 56 61 72 69 61 |OS_ReadModeVaria| 000026c0 62 6c 65 22 2c 2d 31 2c 35 20 b8 20 2c 2c 5a 25 |ble",-1,5 . ,,Z%| 000026d0 3a 59 25 3d 28 59 25 2b 31 29 3c 3c 5a 25 0d 0d |:Y%=(Y%+1)<<Z%..| 000026e0 02 3f 24 65 72 72 6f 72 25 3d a4 30 28 41 25 2b |.?$error%=.0(A%+| 000026f0 34 20 80 20 2d 34 29 3a f2 64 65 6c 28 37 2c 46 |4 . -4):.del(7,F| 00002700 25 3d 31 29 3a f2 64 65 6c 28 38 2c 46 25 3c 3e |%=1):.del(8,F%<>| 00002710 32 29 3a f2 64 65 6c 28 39 2c 46 25 29 0d 0d 0c |2):.del(9,F%)...| 00002720 46 f2 64 65 6c 28 31 30 2c 31 29 3a f2 64 65 6c |F.del(10,1):.del| 00002730 28 31 31 2c 31 29 3a f2 64 65 6c 28 31 35 2c 46 |(11,1):.del(15,F| 00002740 25 3c 3e 31 29 3a 21 71 25 3d 66 63 6f 75 6e 74 |%<>1):!q%=fcount| 00002750 25 3a 71 25 21 34 3d 28 58 25 2d 66 63 78 65 25 |%:q%!4=(X%-fcxe%| 00002760 29 2f 32 0d 0d 16 50 71 25 21 38 3d 28 59 25 2d |)/2...Pq%!8=(Y%-| 00002770 66 63 79 65 25 29 2f 32 3a 71 25 21 31 32 3d 71 |fcye%)/2:q%!12=q| 00002780 25 21 34 2b 66 63 78 65 25 3a 71 25 21 31 36 3d |%!4+fcxe%:q%!16=| 00002790 71 25 21 38 2b 66 63 79 65 25 3a 71 25 21 32 30 |q%!8+fcye%:q%!20| 000027a0 3d 30 3a 71 25 21 32 34 3d 30 3a 71 25 21 32 38 |=0:q%!24=0:q%!28| 000027b0 3d 2d 31 0d 0d 20 36 c8 99 20 22 57 69 6d 70 5f |=-1.. 6.. "Wimp_| 000027c0 4f 70 65 6e 57 69 6e 64 6f 77 22 2c 2c 71 25 3a |OpenWindow",,q%:| 000027d0 73 6b 69 70 25 3d a3 3a 61 62 6f 72 74 25 3d a3 |skip%=.:abort%=.| 000027e0 3a 72 65 74 72 79 25 3d a3 0d 0d 2a 3d 24 73 74 |:retry%=...*=$st| 000027f0 61 74 75 73 25 3d a4 6d 73 67 28 22 45 72 72 6f |atus%=.msg("Erro| 00002800 72 22 29 3a 24 66 6e 61 6d 65 25 3d 64 69 72 24 |r"):$fname%=dir$| 00002810 3a e7 20 41 25 20 80 20 31 3a 24 66 6e 61 6d 65 |:. A% . 1:$fname| 00002820 25 3d 6f 62 6a 24 0d 0d 34 2e f2 69 6e 6b 28 31 |%=obj$..4..ink(1| 00002830 2c 31 31 29 3a f2 69 6e 6b 28 32 2c 31 31 29 3a |,11):.ink(2,11):| 00002840 f2 75 70 64 61 74 65 28 a3 29 3a 70 61 75 73 65 |.update(.):pause| 00002850 64 25 3d b9 0d 0d 3e 2f e7 20 6d 7a 25 3d 66 6e |d%=...>/. mz%=fn| 00002860 61 6d 65 25 3a c8 99 20 22 57 69 6d 70 5f 43 72 |ame%:.. "Wimp_Cr| 00002870 65 61 74 65 4d 65 6e 75 22 2c 2c 2d 31 3a 6d 7a |eateMenu",,-1:mz| 00002880 25 3d 30 0d 0d 48 2f f5 20 f2 70 6f 6c 6c 3a fd |%=0..H/. .poll:.| 00002890 20 73 6b 69 70 25 20 84 20 61 62 6f 72 74 25 20 | skip% . abort% | 000028a0 84 20 72 65 74 72 79 25 3a 70 61 75 73 65 64 25 |. retry%:paused%| 000028b0 3d a3 0d 0d 52 0f e7 20 66 61 73 74 65 72 25 20 |=...R.. faster% | 000028c0 8c 0d 0d 5c 32 20 c8 99 20 22 4f 53 5f 52 65 61 |...\2 .. "OS_Rea| 000028d0 64 4d 6f 6e 6f 74 6f 6e 69 63 54 69 6d 65 22 20 |dMonotonicTime" | 000028e0 b8 20 73 74 61 72 74 25 3a 24 66 6e 61 6d 65 25 |. start%:$fname%| 000028f0 3d 22 22 0d 0d 66 32 20 24 63 6f 75 6e 74 65 64 |=""..f2 $counted| 00002900 25 3d 22 2d 22 3a f2 64 65 6c 28 33 2c 30 29 3a |%="-":.del(3,0):| 00002910 24 74 73 69 7a 65 25 3d 22 2d 22 3a f2 64 65 6c |$tsize%="-":.del| 00002920 28 34 2c 30 29 0d 0d 70 12 cc 20 24 66 6e 61 6d |(4,0)..p.. $fnam| 00002930 65 25 3d 64 69 72 24 0d 0d 7a 05 cd 0d 0d 84 42 |e%=dir$..z.....B| 00002940 24 73 74 61 74 75 73 25 3d a4 6d 73 67 28 22 43 |$status%=.msg("C| 00002950 6f 75 6e 74 22 29 3a f2 69 6e 6b 28 31 2c 37 29 |ount"):.ink(1,7)| 00002960 3a f2 69 6e 6b 28 32 2c 37 29 3a f2 64 65 6c 28 |:.ink(2,7):.del(| 00002970 37 2c 30 29 3a f2 64 65 6c 28 38 2c 31 29 0d 0d |7,0):.del(8,1)..| 00002980 8e 2e f2 64 65 6c 28 39 2c 31 29 3a f2 64 65 6c |...del(9,1):.del| 00002990 28 31 30 2c 30 29 3a f2 64 65 6c 28 31 31 2c 31 |(10,0):.del(11,1| 000029a0 29 3a f2 64 65 6c 28 31 35 2c 31 29 0d 0d 98 10 |):.del(15,1)....| 000029b0 e7 20 61 62 6f 72 74 25 3d 30 20 8c 0d 0d a2 42 |. abort%=0 ....B| 000029c0 20 21 71 25 3d 66 63 6f 75 6e 74 25 3a c8 99 20 | !q%=fcount%:.. | 000029d0 22 57 69 6d 70 5f 47 65 74 57 69 6e 64 6f 77 53 |"Wimp_GetWindowS| 000029e0 74 61 74 65 22 2c 2c 71 25 3a 71 25 21 34 2b 3d |tate",,q%:q%!4+=| 000029f0 28 66 63 78 65 25 2d 66 63 78 25 29 2f 32 0d 0d |(fcxe%-fcx%)/2..| 00002a00 ac 46 20 71 25 21 38 2b 3d 66 63 79 65 25 2d 66 |.F q%!8+=fcye%-f| 00002a10 63 79 25 3a 71 25 21 31 32 3d 71 25 21 34 2b 66 |cy%:q%!12=q%!4+f| 00002a20 63 78 25 3a 71 25 21 32 30 3d 66 63 78 73 25 3a |cx%:q%!20=fcxs%:| 00002a30 71 25 21 32 34 3d 66 63 79 73 25 3a 71 25 21 32 |q%!24=fcys%:q%!2| 00002a40 38 3d 2d 31 0d 0d b6 1d 20 c8 99 20 22 57 69 6d |8=-1.... .. "Wim| 00002a50 70 5f 4f 70 65 6e 57 69 6e 64 6f 77 22 2c 2c 71 |p_OpenWindow",,q| 00002a60 25 0d 0d c0 05 cd 0d 0d ca 17 3d 73 6b 69 70 25 |%.........=skip%| 00002a70 3d 30 20 80 20 61 62 6f 72 74 25 3d 30 0d 0d d4 |=0 . abort%=0...| 00002a80 04 0d 0d de 0d dd 20 f2 70 61 75 73 65 64 0d 0d |...... .paused..| 00002a90 e8 47 24 73 74 61 74 75 73 25 3d a4 6d 73 67 28 |.G$status%=.msg(| 00002aa0 22 50 61 75 73 65 64 22 29 3a 24 66 6e 61 6d 65 |"Paused"):$fname| 00002ab0 25 3d 6f 62 6a 24 3a f2 64 65 6c 28 31 2c 30 29 |%=obj$:.del(1,0)| 00002ac0 3a f2 64 65 6c 28 32 2c 30 29 3a f2 64 65 6c 28 |:.del(2,0):.del(| 00002ad0 31 30 2c 30 29 0d 0d f2 24 f2 64 65 6c 28 31 35 |10,0)...$.del(15| 00002ae0 2c 31 29 3a f2 64 65 6c 28 31 36 2c 30 29 3a f2 |,1):.del(16,0):.| 00002af0 75 70 64 61 74 65 28 a3 29 0d 0d fc 2f e7 20 6d |update(.).../. m| 00002b00 7a 25 3d 66 6e 61 6d 65 25 3a c8 99 20 22 57 69 |z%=fname%:.. "Wi| 00002b10 6d 70 5f 43 72 65 61 74 65 4d 65 6e 75 22 2c 2c |mp_CreateMenu",,| 00002b20 2d 31 3a 6d 7a 25 3d 30 0d 0e 06 20 f5 20 f2 70 |-1:mz%=0... . .p| 00002b30 6f 6c 6c 3a fd 20 61 62 6f 72 74 25 20 84 20 ac |oll:. abort% . .| 00002b40 20 70 61 75 73 65 64 25 0d 0e 10 0f e7 20 66 61 | paused%..... fa| 00002b50 73 74 65 72 25 20 8c 0d 0e 1a 32 20 c8 99 20 22 |ster% ....2 .. "| 00002b60 4f 53 5f 52 65 61 64 4d 6f 6e 6f 74 6f 6e 69 63 |OS_ReadMonotonic| 00002b70 54 69 6d 65 22 20 b8 20 73 74 61 72 74 25 3a 24 |Time" . start%:$| 00002b80 66 6e 61 6d 65 25 3d 22 22 0d 0e 24 32 20 24 63 |fname%=""..$2 $c| 00002b90 6f 75 6e 74 65 64 25 3d 22 2d 22 3a f2 64 65 6c |ounted%="-":.del| 00002ba0 28 33 2c 30 29 3a 24 74 73 69 7a 65 25 3d 22 2d |(3,0):$tsize%="-| 00002bb0 22 3a f2 64 65 6c 28 34 2c 30 29 0d 0e 2e 12 cc |":.del(4,0).....| 00002bc0 20 24 66 6e 61 6d 65 25 3d 64 69 72 24 0d 0e 38 | $fname%=dir$..8| 00002bd0 05 cd 0d 0e 42 44 24 73 74 61 74 75 73 25 3d a4 |....BD$status%=.| 00002be0 6d 73 67 28 22 43 6f 75 6e 74 22 29 3a f2 64 65 |msg("Count"):.de| 00002bf0 6c 28 31 2c 30 29 3a f2 64 65 6c 28 32 2c 30 29 |l(1,0):.del(2,0)| 00002c00 3a f2 64 65 6c 28 31 30 2c 30 29 3a f2 64 65 6c |:.del(10,0):.del| 00002c10 28 31 36 2c 31 29 0d 0e 4c 05 e1 0d 0e 56 04 0d |(16,1)..L....V..| 00002c20 0e 60 1b dd 20 a4 6d 73 67 28 61 24 29 3d a4 6d |.`.. .msg(a$)=.m| 00002c30 73 67 31 28 61 24 2c 22 22 29 0d 0e 6a 12 dd 20 |sg1(a$,"")..j.. | 00002c40 a4 6d 73 67 31 28 61 24 2c 62 24 29 0d 0e 74 08 |.msg1(a$,b$)..t.| 00002c50 ea 20 41 25 0d 0e 7e 4e c8 99 20 22 58 4d 65 73 |. A%..~N.. "XMes| 00002c60 73 61 67 65 54 72 61 6e 73 5f 4c 6f 6f 6b 75 70 |sageTrans_Lookup| 00002c70 22 2c 6d 65 73 73 61 67 65 73 25 2c 61 24 2c 6d |",messages%,a$,m| 00002c80 62 75 66 25 2c 32 35 36 2c 62 24 20 b8 20 2c 2c |buf%,256,b$ . ,,| 00002c90 2c 41 25 3b 42 25 3a 41 25 3f 6d 62 75 66 25 3d |,A%;B%:A%?mbuf%=| 00002ca0 31 33 0d 0e 88 10 e7 20 42 25 20 80 20 31 3a 3d |13..... B% . 1:=| 00002cb0 61 24 0d 0e 92 0b 3d 24 6d 62 75 66 25 0d ff |a$....=$mbuf%..| 00002cbf