Home » Archimedes archive » Zipped Apps » Cassette » !Cassette/!RunImage
!Cassette/!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 » Zipped Apps » Cassette |
Filename: | !Cassette/!RunImage |
Read OK: | ✔ |
File size: | 88FC bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10REM >!RunImage 50Version$="1.35d (22nd March 1997)" 60LIBRARY "<Cassette$Dir>.Resources.Help" 70DIMq%1024 80DIMj%1024 90DIMu%255 110app_size%=HIMEM-&8000 120heap%=0 130SYS"OS_ReadMemMapInfo" TO page% 150PROCInitialise_WIMP_System 170mf%=FNmf_open("<Cassette$Dir>.Resources.Messages") 190PROCSetIconText(15,Info%,Version$) 210PROCSetIconText(1,Save%,"CassNo�001") 230ON ERROR PROCWimp_Error 240PROCInitialise_Program_Variables 260PROCLoadFileIfRequired 280ON ERROR PROCWimp_Error 300REPEAT 310SYS"Wimp_Poll",Mask%,q%TOA% 320CASEA%OF 330WHEN2:SYS"Wimp_OpenWindow",,q% 340WHEN3:PROCclose_window(q%) 350WHEN6:PROCButtonPressed 360WHEN7:PROCDragBoxEnd(FNget_text(Save%,1,FALSE)) 370WHEN8:PROCProcessKey(q%!24) 380WHEN9:PROCMenuSelection 390WHEN17,18,19:PROCDecodeMessage(q%!16) 400ENDCASE 410UNTIL FALSE 430DEFFNm(mh%,tok$):LOCALs$:SYS&41502,mh%,tok$TO,,s$:=s$ 440DEFFNmf_open(name$):SYS"OS_Module",6,,,16TO,,mh% 450SYS"MessageTrans_OpenFile",mh%,name$,0:=mh% 470DEFPROCmf_close(mh%):SYS"MessageTrans_CloseFile",mh%:SYS"OS_Module",7,,mh% 480ENDPROC 510DEFFNadjloadloop(loop%) 520IFloop%<24:=loop%+1 530IFloop%=24 OR loop%=25:=loop%+2 540IFloop%>27 AND loop%<38:=loop%+1 550=loop% 640DEFFNallocate(size%):LOCAL err_flag% 650IFheap%=0 THENPROCsetup_heap(size%+16) 660IFNOT(err_flag%) THEN 670SYS"XOS_Heap",1,heap% TO ,,free% 680IFfree%<size% THENPROCget_memory(size%-free%,1) 690IFNOT(err_flag%)THEN 700SYS"XOS_Heap",2,heap%,,size%TO,,ptr% 710ENDIF 720ENDIF 730IFerr_flag% =0 740=ptr% 770DEFFNunpad(a$):LOCALa% 780a%=ASCRIGHT$(a$,1) 790WHILEa%=32ORa%=160 800a$=LEFT$(a$,LENa$-1) 810a%=ASCRIGHT$(a$,1) 820ENDWHILE 830=a$ 860DEFFNspecial_string(text$,spec$,repl$) 870IFINSTR(text$,spec$)=0:=text$ 880len%=LENspec$+1 890text$=" "+text$+" " 900spec$=" "+spec$+" " 910REPEAT 920pos%=INSTR(text$,spec$) 930IFpos%>0 THEN 940text$=LEFT$(text$,pos%-1)+" "+repl$+" "+RIGHT$(text$,LENtext$-pos%-len%) 950ENDIF 960UNTIL INSTR(text$,spec$)=0 970=FNunpad(RIGHT$(text$,LENtext$-1)) 1000DEFFNcase(case$):IFcase$="":="" 1010LOCALLoop% 1020C$="":FORLoop%=1TOLENcase$ 1030Z%=ASCMID$(case$,Loop%):IFZ%>64ANDZ%<91Z%+=32 1040C$+=CHR$Z%:NEXT 1050=C$ 1080DEFFNCEW(Icon%):LOCALIconText$,Index%,End%,C% 1090IconText$=FNget_text(Main%,Icon%,FALSE) 1110IFIconText$="" THEN=IconText$ 1120Index%=1:End%=LEN(IconText$) 1140WHILE Index%<=End% 1150MID$(IconText$,Index%,1)=FNChar_FTU(Icon%,Index%) 1160Index%+=1 1170C$=MID$(IconText$,Index%,1) 1190WHILEC$<>" " AND Index%<=End% 1210IFIndex%>1 prev$=MID$(IconText$,Index%-1,1) ELSEprev$="" 1220IFIndex%<End% next$=MID$(IconText$,Index%+1,1) ELSEnext$=" " 1240IF(ASCprev$>64 AND ASCprev$<91)OR(ASCprev$>96 AND ASCprev$<123) THEN 1250IFNOT(prev$="I" AND C$="i" OR C$="I" ) THEN 1260MID$(IconText$,Index%,1)=FNChar_FTL(Icon%,Index%) 1290ELSEMID$(IconText$,Index%,1)=FNChar_FTU(Icon%,Index%) 1300ENDIF 1310ELSE 1330IFprev$="(" OR prev$="I" MID$(IconText$,Index%,1)=FNChar_FTU(Icon%,Index%) 1340ENDIF 1350Index%+=1 1360C$=MID$(IconText$,Index%,1) 1370ENDWHILE 1390WHILEC$=" "ANDIndex%<=End% 1400Index%+=1 1410C$=MID$(IconText$,Index%,1) 1420ENDWHILE 1430ENDWHILE 1450IconText$=FNspecial_string(IconText$,"Cd","CD") 1460IconText$=FNspecial_string(IconText$,"Cdtracker","CDtracker") 1470IconText$=FNspecial_string(IconText$,"Cdtracker's","CDtracker's") 1480IconText$=FNspecial_string(IconText$,"Cdprofile","CDprofile") 1490IconText$=FNspecial_string(IconText$,"Cdprofile's","CDprofile's") 1500=IconText$ 1530DEFFNConvertSoftToHardSpaces(Name$) 1540Pointer%=LEN(Name$) 1550REPEAT 1560Char$=MID$(Name$,Pointer%,1) 1570IFChar$=" "THEN 1580Char$="�" 1590MID$(Name$,Pointer%,1)=Char$ 1600ENDIF 1610Pointer%-=1 1620UNTILPointer%=1 1630=Name$ 1660DEFFNConvertSystemToString(Variable$):LOCALLoop%,Flag%,Answer$ 1670FORLoop%=100TO150STEP4:q%!Loop%=0:NEXT 1680SYS"XOS_ReadVarVal",Variable$,q%+100,50,0,3 TO ;Flag% 1690IF(Flag% AND 1)THENAnswer$="" ELSEAnswer$=FNReadString(q%+100) 1700=Answer$ 1730DEFFNCreateIconBarIcon:LOCALIcon% 1740q%!0=-1:q%!4=0 1750q%!8=0:q%!12=88 1760q%!16=68:q%!20=%10000000000010 1770$(q%+24)="!Cassette" 1780SYS"Wimp_CreateIcon",,q% TO Icon% 1790=Icon% 1820DEFFNcsv(a$):WHILE INSTR(a$,CHR$44)>0 1830a$=LEFT$(a$,INSTR(a$,CHR$44)-1)+";"+RIGHT$(a$,LENa$-INSTR(a$,CHR$44)) 1840ENDWHILE 1850=CHR$34+FNch34(a$)+CHR$34 1870DEFFNch34(a$):WHILEINSTR(a$,CHR$34)>0 1880a$=LEFT$(a$,INSTR(a$,CHR$34)-1)+RIGHT$(a$,LENa$-INSTR(a$,CHR$34)) 1890ENDWHILE 1900=a$ 1930DEFFNChar_FTL(Icon%,Index%):LOCALTemp$ 1940Temp$=MID$(IconText$,Index%,1) 1950IFTemp$>="A" AND Temp$<="Z" THENTemp$=CHR$(ASC(Temp$) OR &20) 1960=Temp$ 1990DEFFNChar_FTU(Icon%,Index%):LOCALTemp$ 2000Temp$=MID$(IconText$,Index%,1) 2010IFTemp$>="a"AND Temp$<="z" THENTemp$=CHR$(ASC(Temp$) AND &DF) 2020=Temp$ 2060DEFFNget_text(WindowHandle%,IconHandle%,Pad%):LOCALResult$ 2070q%!100=WindowHandle% 2080q%!104=IconHandle% 2090SYS"Wimp_GetIconState",,q%+100 2100IF(q%!124 AND (1<<8))<>0 THEN 2110Result$=$(q%!128) 2120ELSE 2130Result$=$(q%+128) 2140ENDIF 2150IFPad%:=LEFT$(Result$+STRING$(45," "),45) 2160=Result$ 2190DEFFNIcon_FTU(Icon%):LOCAL C$,text$,Loop%,asc% 2200text$=FNget_text(Main%,Icon%,FALSE) 2210IFtext$<>""THEN 2220FORLoop%=1TOLENtext$:asc%=ASCMID$(text$,Loop%):IFasc%>96ANDasc%<123 asc%-=32 2230C$+=CHR$asc%:NEXT 2240ENDIF 2250=C$ 2280DEFFNInventSaveName:path$=FNget_text(Save%,1,FALSE) 2290IFLEFT$(path$,5)="Pipe:" path$="" 2300CasNo$=FNget_text(Main%,TapeNumber%,FALSE) 2310IFFNleaf(path$)=""THEN 2320IFpath$=""THEN 2330path$=FNConvertSoftToHardSpaces(CasNo$) 2340ELSEpath$=FNtwig(path$)+FNConvertSoftToHardSpaces(CasNo$) 2350ENDIF 2360PROCSetIconText(1,Save%,path$) 2370ENDIF 2390IFLEFT$(FNleaf(path$),7)="CassNo�"ANDLEFT$(CasNo$,3)="No "THEN 2400IFINSTR(path$,".")THEN 2410path$=FNtwig(path$)+"CassNo�"+FNz(VALRIGHT$(CasNo$,3),3) 2420PROCSetIconText(1,Save%,path$) 2430ENDIF 2440ENDIF 2450=path$ 2470DEFFNleaf(a$):WHILE INSTR(a$,"."):a$=MID$(a$,INSTR(a$,".")+1):ENDWHILE 2480=a$ 2500DEFFNmessage_ram_save(q%,task%,des_task%,RETURN source_buffer%,RETURN bytes_left%,des_buff%) 2510LOCAL bytes_trans%,mess_code%,last% 2520IFbytes_left%>=q%!24 THEN 2530bytes_trans%=q%!24 2540mess_code%=18:last%=FALSE 2550ELSE 2560bytes_trans%=bytes_left% 2570code%=17:last%=TRUE 2580ENDIF 2590SYS"Wimp_TransferBlock",task%,source_buffer%,des_task%,des_buff%,bytes_trans% 2600source_buffer%+=bytes_trans%:bytes_left%-=bytes_trans% 2610q%!12=q%!8 2620q%!16=7 2630q%!20=des_buff% 2640q%!24=bytes_trans% 2650SYS"Wimp_SendMessage",code%,q%,des_task% 2660=last% 2730DEFFNPrinter_OnLine:=TRUE 2740LOCALafter%,before%,online% 2750VDU2:before%=ADVAL(-4):PRINT" "CHR$8; 2760after%=ADVAL(-4):*FX21,3 2770VDU3:online%=TRUE 2780IFafter%<before% THEN 2790PROCadvice(FNm(mf%,"NoPrinter"),17) 2800online%=FALSE 2810ENDIF 2820=online% 2840DEFFNramsave_data(RETURN old_t%):LOCALtext$ 2850text$=FNget_text(Main%,0,FALSE) 2860old_t%=LENtext$+2 2870save_block%=FNallocate(LENtext$+2) 2880PROCencode_save_block(save_block%,text$,0) 2890FORLoop%=1TO37 2900text$=FNget_text(Main%,Loop%,FALSE) 2910PROCalter_block(save_block%,LENtext$+2) 2920PROCencode_save_block(save_block%,text$,old_t%) 2930old_t%+=LENtext$+2 2940NEXT 2950text$=FNget_text(Main%,TapeNumber%,FALSE) 2960PROCalter_block(save_block%,LENtext$+2) 2970PROCencode_save_block(save_block%,text$,old_t%) 2980old_t%+=LENtext$+2 2990=save_block% 3030DEFFNReadESGSelected(WindowHandle%,Esg%) 3040LOCAL Mask%,Pattern% 3050Mask%= (1<<21)+(31<<16) 3060Pattern%=(1<<21)+(Esg%<<16) 3070SYS"Wimp_WhichIcon",WindowHandle%,q%+200,Mask%,Pattern% 3080=q%!200 3110DEFFNReadString(Pointer%):LOCAL String$ 3120WHILE ?Pointer%<>0 AND ?Pointer%<>&0D 3130String$+=CHR$?Pointer% 3140Pointer%+=1 3150ENDWHILE 3160=String$ 3190DEFFNTask(task%):LOCALa$,task_h% 3200SYS"TaskManager_TaskNameFromHandle",task%TOtask_h% 3210WHILE ?task_h%>31 3220a$=a$+CHR$(?task_h%) 3230task_h%+=1 3240ENDWHILE 3250=a$ 3280DEFFNTrimToFit(Text$,mm,Icon%):LOCALNumberOfPrintableCharacters% 3290Continue%=TRUE 3300XLength%=(72000*mm)DIV25.4 3310IFNewFontManager% THEN 3320SYS"Font_ScanString",0,Text$,&100380,XLength%,15000,,,LEN(Text$)TO,,,,,,,NumberOfPrintableCharacters% 3330ELSE 3340SYS"Font_StringWidth",,Text$,XLength%,15000,-1,LEN(Text$)TO,,,,NumberOfPrintableCharacters% 3350ENDIF 3370IFNumberOfPrintableCharacters%<LEN(Text$) THENSomeTextTrimmed%=TRUE 3380=LEFT$(Text$,NumberOfPrintableCharacters%) 3400DEFFNtwig(a$):N%=0:REPEAT:A$=MID$(a$,LENa$-N%,1) 3410IFA$<>"."N%+=1 3420UNTILA$=".":=LEFT$(a$,LENa$-N%) 3450DEFFNundo:undo%=FALSE:icon%=-1 3460REPEAT:icon%+=1 3470IFFNunpad(undo$(icon%))<>""undo%=TRUE 3480UNTILicon%=37ORundo%=TRUE 3490=undo% 3520DEFFNunspc(a$):LOCALa% 3530a%=ASCLEFT$(a$,1) 3540WHILE a%=32 OR a%=160 3550a$=RIGHT$(a$,LENa$-1) 3560a%=ASCLEFT$(a$,1) 3570ENDWHILE 3580=a$ 3610DEFFNz(a%,l%):=RIGHT$(STRING$(l%-1,"0")+STR$a%,l%) 3640DEFPROCWimp_Error:LOCAL Error$ 3650SYS"OS_Byte",3,0 3660SYS"Wimp_DragBox",,-1 3670!q%=ERR 3680Error$=REPORT$ 3690IFERR<>2001 THENError$ += " (internal error code "+STR$ERL+"). OK To Continue, CANCEL To Abort." 3700$(q%+4)=Error$+CHR$0 3710SYS"Wimp_ReportError",q%,%1000000001 - (2*(ERR<>2001)),MyTaskName$,"!cassette",1TO,Result% 3720IFResult%=2 THENPROCCloseDown 3730ENDPROC 3760DEFPROCMenuSelection 3770IFMenuActive%=IconBarMenu%THEN 3780CASEq%!0 OF 3790WHEN1:PROCCloseDown 3800ENDCASE 3810ENDIF 3820IFMenuActive%=MainWinMenu% THEN 3830IFINKEY-1 THENinkey%=TRUE ELSEinkey%=FALSE 3840Adjust%=FALSE 3850SYS"Wimp_GetPointerInfo",,u% 3860IFu%!8=1 Adjust%=TRUE 3870CASEq%!0 OF 3880WHEN1:PROCSaveTo(FNget_text(Save%,1,FALSE)) 3900WHEN2:CDtracker%=TRUE 3930IFinkey%=TRUE CDtracker%=FALSE 3940PROCstore_for_undo:PROCFormatIconText 3950WHEN3:PROCstore_for_undo 3960IFinkey%=FALSE THEN 3970PROCClose_gaps(1):PROCClose_gaps(2) 3980ELSEPROCcombine_sides 3990ENDIF 4000PROCSetCaretPosition(0,0) 4010WHEN4:PROCpre_insert(TRUE) 4020WHEN5:PROCstore_for_undo:PROCSplit 4030WHEN6:PROCstore_for_undo:PROCWipeIconText:PROCSetCaretPosition(0,0) 4040WHEN7:PROCundo 4050WHEN8:PROCtruncate 4060ENDCASE 4070ENDIF 4080SYS"Wimp_GetPointerInfo",,q% 4090IF(q%!8 AND 1)THEN 4100IFMenuActive%=IconBarMenu% THENSYS"Wimp_CreateMenu",,menu% 4110IFMenuActive%=MainWinMenu% THENSYS"Wimp_CreateMenu",,MainMenu% 4120ENDIF 4130ENDPROC 4160DEFPROCButtonPressed 4170LOCAL MouseX%,MouseY%,Button%,Window%,Icon% 4180MouseX%=q%!00 4190MouseY%=q%!04 4200Button%=q%!08 4210Window%=q%!12 4220Icon% =q%!16 4230IFWindow%=IconBar%ANDIcon%=IconBarIconHandle%THEN 4240CASEButton%OF 4250WHEN1:PROCOpenMainWindow(FALSE) 4260WHEN4:PROCOpenMainWindow(TRUE) 4270WHEN2:PROCSetUpIconBarMenu 4280ENDCASE 4290ENDIF 4300IFButton%<>2ANDWindow%=Main%THEN 4310IFIcon%<>Print%PROCstore_for_undo 4320CASEIcon%OF 4330WHENSideA%:PROCenter_side(FNm(mf%,"SA"),0) 4340WHENSideB%:PROCenter_side(FNm(mf%,"SB"),1) 4350WHENPrint%:PROCPrintOut(q%!8) 4360ENDCASE 4370ENDIF 4380IFButton%=2ANDWindow%=Main%THEN 4390Temp$=FNInventSaveName 4400PROCCreateMainWindowMenu(MouseX%,MouseY%,Icon%) 4410ENDIF 4420IFWindow%=Save%ANDIcon%=SaveIcon% THENPROCDragSave 4430IFWindow%=Save%ANDIcon%=SaveOK% THENPROCSaveTo(FNget_text(Save%,1,FALSE)) 4440ENDPROC 4460DEFPROCenter_side(side$,icon%) 4470Text$=FNunspc(FNunpad(FNget_text(Main%,icon%,FALSE))) 4480IFText$<>""ANDFNcase(Text$)<>FNcase(side$) THENPROCpre_insert(icon%) 4490IFFNunpad(FNget_text(Main%,icon%,FALSE))=""THEN 4500PROCSetIconText(icon%,Main%,side$):PROCRedraw(Main%,icon%):PROCSetCaretPosition(icon%+2,0) 4510ENDIF 4520ENDPROC 4550DEFPROCProcessKey(Key%):LOCALIcon%,Index%,Window% 4560Window%=q%!0:Icon%=q%!4 4570Index%=q%!20 4580CASEWindow%OF 4590WHENSave% 4600CASEKey%OF 4610WHEN&0D:PROCSaveTo(FNget_text(Save%,1,FALSE)) 4620OTHERWISESYS"Wimp_ProcessKey",q%!24 4630ENDCASE 4640WHENMain% 4650CASEKey%OF 4660WHEN&180:PROCPrintOut(4) 4670WHEN&18A:IFIcon%<38THEN 4680PROCSetCaretPosition(Icon%-((Icon%MOD2)=0)+((Icon% MOD 2)=1),Index%) 4690ENDIF 4700WHEN&0D:PROCMoveDownAnEntry 4710WHEN&1CD:PROCpre_insert(TRUE) 4720WHEN&1E:PROCSetCaretPosition((Icon%MOD2),0) 4730WHEN&18F:PROCMoveUpAnEntry 4740WHEN&18E:PROCMoveDownAnEntry 4750WHEN&183:Temp$=FNInventSaveName 4760PROCOpenSubMenu(Save%) 4770WHEN&185,&186:PROCenter_side("Side "+CHR$(65-(Key%=&186)),-(Key%=&186)) 4780WHEN&188:PROCundo 4790WHEN&189,&199:PROCstore_for_undo:PROCWipeIconText:PROCSetCaretPosition(0,0) 4800WHEN&1CA,19:PROCSwapCase(Main%,Icon%,Index%) 4810WHEN&1CB:Text$=LEFT$(FNget_text(Main%,Icon%,FALSE),Index%) 4820PROCSetIconText(Icon%,Main%,Text$) 4830PROCRedraw(Main%,Icon%) 4840OTHERWISE:SYS"Wimp_ProcessKey",q%!24 4850ENDCASE 4860ENDCASE 4870ENDPROC 4900DEFPROCSetCaretPosition(Icon%,Index%) 4910IconLength%=LEN(FNget_text(Main%,Icon%,FALSE)) 4920IFIndex%>IconLength% THENIndex%=IconLength% 4930SYS"Wimp_SetCaretPosition",Main%,Icon%,,,-1,Index% 4940ENDPROC 4970DEFPROCRedraw(Window%,Icon%) 4980q%!0=Window%:q%!4=Icon% 4990q%!8=0:q%!12=0 5000SYS"Wimp_SetIconState",,q% 5010ENDPROC 5040DEFPROCDecodeMessage(Request%):CASERequest%OF 5050WHEN0:PROCCloseDown 5060WHEN1:IFq%!4<>My_id%IFq%!40=&B0F PROCHandleMessage_DataSave 5070WHEN2:PROCHandleMessage_DataSaveAck 5080WHEN3:PROCHandleMessage_DataLoad 5090WHEN4:PROCHandleMessage_DataLoadAck 5100WHEN5:PROCDataOpen 5110WHEN6:save_block%=FNramsave_data(save_length%) 5120IFram_save% THENbytes_left%=save_length%:source_buffer%=save_block% 5130ram_save%=FNmessage_ram_save(q%,My_id%,q%!4,source_buffer%,bytes_left%,q%!20) 5140SYS"Wimp_CreateMenu",,-1 5150PROCde_allocate(save_block%) 5160WHEN10:PROCDeskTopSave 5170WHEN14:PROCLowPowerWarning 5180WHEN&502:PROCGiveHelp(q%!32,q%!36,q%!20,q%!24) 5190WHEN&400CC:q%!0=48 5200q%!12=q%!8 5210q%!16=&400CC 5220q%!24=0 5240$(q%+28)="cassete" 5260$(q%+36)=FNInventSaveName 5270SYS"Wimp_SendMessage",17,q%,q%!4 5280ENDCASE 5290ENDPROC 5330DEFPROCInitialise_WIMP_System 5340MyTaskName$="Cassette Designer 3" 5360q%!0=0 5370q%!4=1 5380q%!8=2 5390q%!12=3 5400q%!16=5 5410q%!20=6 5420q%!24=7 5430q%!28=10 5440q%!32=14 5450q%!36=&502 5460q%!40=&400C2 5470q%!44=&400CC 5480q%!48=0 5490SYS"Wimp_Initialise",300,&4B534154,MyTaskName$,q% TO Version,My_id% 5500IconBarIconHandle%=FNCreateIconBarIcon 5510PROCInitialise_Templates 5530Mask%=%1100000110001 5540ENDPROC 5570DEFPROCCloseDown 5580SYS"Wimp_CloseDown",My_id%,&4B534154 5590PROCmf_close(mf%) 5600SYS"OS_Exit" 5610ENDPROC 5630DEFPROCInitialise_Templates 5640DIMtemplate_name$(2),template_buffer%(2),ind_template_buffer%(2) 5650template_name$()="info","Main","save" 5660SYS"Wimp_OpenTemplate",,"<Cassette$Dir>.Resources.Templates" 5670FORcount%=0TO2 5680SYS"Wimp_LoadTemplate",,-1,,,,template_name$(count%),0 TO ,buffer_size%,ind_size% 5690template_buffer%(count%)=FNallocate(buffer_size%) 5700ind_template_buffer%(count%)=FNallocate(ind_size%) 5710SYS"Wimp_LoadTemplate",,template_buffer%(count%),ind_template_buffer%(count%),ind_template_buffer%(count%)+ind_size%,-1,template_name$(count%) 5720template_buffer%(count%)!24=-1 5730CASEtemplate_name$(count%) OF 5740WHEN"info":SYS"Wimp_CreateWindow",,template_buffer%(count%) TO Info% 5750WHEN"Main":SYS"Wimp_CreateWindow",,template_buffer%(count%) TO Main% 5760WHEN"save":SYS"Wimp_CreateWindow",,template_buffer%(count%) TO Save% 5770ENDCASE 5780NEXT 5790ENDPROC 5820DEFPROCSetIconText(IconHandle%,WindowHandle%,Text$):LOCALPointer% 5830q%!100=WindowHandle% 5840q%!104=IconHandle% 5850SYS"Wimp_GetIconState",,q%+100 5860IF(q%!124 AND (1<<8))<>0 THEN 5870Pointer%=q%!128 5880ELSE 5890Pointer%=q%+128 5900ENDIF 5910$Pointer%=Text$ 5920ENDPROC 5940DEFPROCSetUpIconBarMenu:LOCALm% 5950MenuActive%=IconBarMenu% 5960DIMmenu%28+2*24 5970$menu%="Cassette" 5980menu%?12=7 5990menu%?13=2 6000menu%?14=7 6010menu%?15=0 6020menu%!16=128 6030menu%!20=44 6040menu%!24=0 6050m%=menu%+28 6060m%!0=&0 6070m%!4=Info% 6080m%!8=(7<<24) OR %10001 6090$(m%+12)="Info" 6100m%=m%+24 6110m%!0=&80 6120m%!4=0 6130m%!8=(7<<24)OR %10001 6140$(m%+12)="Quit" 6150SYS"Wimp_CreateMenu",,menu%,q%!0-64,184 6160ENDPROC 6190DEFPROCOpenMainWindow(WipeTemplateIconText%) 6200IFWipeTemplateIconText%ANDNew%ANDNOTStartWithLoad THENPROCWipeIconText 6210!q%=Main% 6220SYS"Wimp_GetWindowState",,q% 6230q%!28=-1 6240SYS"Wimp_OpenWindow",,q% 6250New%=FALSE 6260PROCSetCaretPosition(ABSSecondCD%,LENFNget_text(Main%,ABSSecondCD%,FALSE)) 6270ENDPROC 6300DEFPROCClose_gaps(side%):LOCALicon%,icon$ 6310gap%=-1:side%-=1 6340FOR icon%=side% TO 36+side% STEP2 6350IF icon%<24+side% OR icon%>26+side% THEN 6360icon$=FNunpad(FNget_text(Main%,icon%,FALSE)) 6370IF icon$<>"" gap%+=1:gap$(gap%)=icon$ 6380ENDIF 6390NEXT 6400gap%=-1 6420FORicon%=0+side%TO36+side%STEP2 6430IFicon%<24+side%ORicon%>26+side%THEN 6440gap%+=1 6450PROCSetIconText(icon%,Main%,gap$(gap%)) 6460ENDIF 6470NEXT 6490FORicon%=side%TO36+side%STEP2 6500IFicon%<24+side%ORicon%>26+side%THEN 6510PROCRedraw(Main%,icon%) 6520ENDIF 6530NEXT 6540gap$()="" 6550ENDPROC 6580DEFPROCcombine_sides:LOCALicon%,icon$ 6600gap%=-1:side%=0 6610REPEAT 6620FORicon%=side%TO36+side%STEP2 6630IFicon%<24+side%ORicon%>26+side%THEN 6640icon$=FNunpad(FNget_text(Main%,icon%,FALSE)) 6650IFicon$<>""gap%+=1:gap$(gap%)=icon$ 6660ENDIF 6670NEXT 6680side%+=1 6690UNTILside%=2 6710gap%=-1:side%=0 6720REPEAT 6730FORicon%=0+side%TO36+side%STEP2 6740IFicon%<24+side% OR icon%>26+side%THEN 6750gap%+=1 6760PROCSetIconText(icon%,Main%,gap$(gap%)) 6770ENDIF 6780NEXT 6790side%+=1 6800UNTILside%=2 6820FORicon%=0TO37 6830IFicon%<24ORicon%>27THEN 6840PROCRedraw(Main%,icon%) 6850ENDIF 6860NEXT 6870gap$()="" 6880ENDPROC 6910DEFPROCSplit:LOCAL split%,Loop%,side% 6920SYS"Wimp_GetCaretPosition",,q% 6940IF!q%=Main%THEN 6960split%=q%!4 6980IFsplit%MOD2=0THEN 7000IFsplit%<24ORsplit%>26THEN 7020side%=0:nodata%=TRUE 7030FORLoop%=split%TO36STEP2 7050IFLoop%<24 OR Loop%>26 THEN 7070IFFNunpad(FNget_text(Main%,Loop%,FALSE))<>""THEN 7080gap$(side%)=FNunpad(FNget_text(Main%,Loop%,FALSE)) 7100PROCSetIconText(Loop%,Main%,"") 7110side%+=1:nodata%=FALSE 7120ENDIF 7130ENDIF 7140NEXT 7160IFnodata%=FALSE THEN 7180FORLoop%=1TO37STEP2 7200IFLoop%<25ORLoop%>27THEN 7220IFFNunpad(FNget_text(Main%,Loop%,FALSE))<>""THEN 7230gap$(side%)=FNunpad(FNget_text(Main%,Loop%,FALSE)) 7240side%+=1 7250ENDIF 7260ENDIF 7270NEXT 7290side%=0 7300FORLoop%=1TO37STEP2 7310IFLoop%<25ORLoop%>27THEN 7320PROCSetIconText(Loop%,Main%,gap$(side%)) 7330side%+=1 7340ENDIF 7350NEXT 7370FORLoop%=split%TO36STEP2 7380IFLoop%<24ORLoop%>26THEN 7390PROCRedraw(Main%,Loop%) 7400ENDIF 7410NEXT 7430FORLoop%=1TO37STEP2 7440IFLoop%<25ORLoop%>27THEN 7450PROCRedraw(Main%,Loop%) 7460ENDIF 7470NEXT 7480ELSEPROCadvice(FNm(mf%,"NoSplit"),17) 7490ENDIF 7500gap$()="" 7510IFnodata%=FALSE PROCSetCaretPosition(0,0) 7520ELSEPROCadvice(FNm(mf%,"Titles"),17) 7530ENDIF 7540ELSEPROCadvice(FNm(mf%,"SideB"),17) 7550ENDIF 7560ELSEPROCadvice(FNm(mf%,"NoFocusSideA"),17) 7570ENDIF 7580ENDPROC 7610DEFPROCpre_insert(insert%):LOCAL icon% 7620IFinsert%=TRUE THEN 7630SYS"Wimp_GetCaretPosition",,q% 7660ELSE !q%=Main%:q%!4=insert% 7670ENDIF 7680IF!q%=Main% THEN 7690icon%=q%!4 7710IFicon%<24ORicon%>26 THEN 7730IF FNunpad(FNget_text(Main%,36+icon%MOD2,FALSE))="" THEN 7740PROCstore_for_undo 7750PROCinsert(q%!4) 7760ENDIF 7770ENDIF 7780ELSEPROCadvice(FNm(mf%,"NoFocusGap"),17) 7790ENDIF 7800ENDPROC 7830DEFPROCinsert(icon%):LOCALLoop% 7840gap%=-1:side%=icon%MOD2 7860FORLoop%=icon%TO34+side%STEP2 7870IFLoop%<24+side%ORLoop%>26+side%THEN 7880gap%+=1 7890insert$(gap%)=FNunpad(FNget_text(Main%,Loop%,FALSE)) 7900ENDIF 7910NEXT 7930PROCSetIconText(icon%,Main%,"") 7950gap%=-1 7960FORLoop%=icon%+2TO36+side%STEP2 7970IFLoop%<24+side%ORLoop%>26+side%THEN 7980gap%+=1 7990PROCSetIconText(Loop%,Main%,insert$(gap%)) 8000ENDIF 8010NEXT 8020PROCSetCaretPosition(icon%,0) 8040FORLoop%=icon%TO36+side%STEP2 8050IFLoop%<24ORLoop%>27THEN 8060PROCRedraw(Main%,Loop%) 8070ENDIF 8080NEXT 8090insert$()="" 8100ENDPROC 8120DEFPROCtruncate 8140SYS"XOS_SWINumberFromString",,"Font_ScanString" TO Flag% 8150IF Flag% AND 1 THENNewFontManager%=FALSE ELSENewFontManager%=TRUE 8160PROCfind_fonts 8170LOCALLoop%,Text$ 8180FOR Loop%=0TO37 8190Text$=FNunpad(FNget_text(Main%,Loop%,FALSE)) 8200IFText$<>"" THEN 8210SYS Set%,BaseFontHandle% 8220Text$=FNTrimToFit(Text$,48,Icon%) 8230PROCSetIconText(Loop%,Main%,Text$) 8240PROCRedraw(Main%,Loop%) 8250ENDIF 8260NEXT 8270PROCadjust_caret 8280PROClose_fonts 8290ENDPROC 8320DEFPROCWipeIconText 8330FORLoop%=0TO37 8340PROCSetIconText(Loop%,Main%,"") 8350PROCRedraw(Main%,Loop%) 8360NEXT 8370PROCSetIconText(TapeNumber%,Main%,CasNo$) 8380PROCRedraw(Main%,TapeNumber%) 8390ENDPROC 8410DEFPROCCreateMainWindowMenu(X%,Y%,Icon%) 8420LOCAL m%,Flags%,Pointer%,Sel%,IconFlag%,Item$ 8430MenuActive%=MainWinMenu% 8440DIMMainMenu%28+9*24 8450$MainMenu%="Main menu" 8460MainMenu%?12=7 8470MainMenu%?13=2 8480MainMenu%?14=7 8490MainMenu%?15=0 8500MainMenu%!16=16*16 8510MainMenu%!20=40 8520MainMenu%!24=0 8530m%=MainMenu%+28 8540REPEAT 8550READ Flags%,Pointer%,Sel%,IconFlag%,Item$ 8560m%!0=Flags% 8570m%!4=Pointer% 8580m%!8=IconFlag% OR (Sel%<<22) OR (7<<24) 8590$(m%+12)=Item$ 8600m%=m%+24 8610UNTIL Flags%=&80 8630RESTORE +0 8640DATA &00,Info%, 0,%10001,"Info" 8650DATA &00,Save%, 0,%10001,"Save F3" 8660DATA &00,-1, 0,%10001,"Format text" 8670DATA &00,-1, 0,%10001,"Close gaps" 8680DATA &00,-1, 0,%10001,"Open a gap" 8690DATA &00,-1, 0,%10001,"Split side A" 8700DATA &00,-1, 0,%10001,"Wipe all" 8710DATA &00,-1, 0,%10001,"Undo F8" 8720DATA &80,-1, 0,%10001,"Trim to fit" 8730SYS"Wimp_CreateMenu",,MainMenu%,X%-64,Y% 8740ENDPROC 8770DEFPROCDragBoxEnd(LeafName$) 8780Pointer%=LENLeafName$ 8790WHILE Pointer%>0 AND MID$(LeafName$,Pointer%,1)<>"." 8800Pointer%-=1 8810ENDWHILE 8820IFDragASprite_Active% THENSYS"DragASprite_Stop" 8830LeafName$=MID$(LeafName$,Pointer%+1) 8840SYS"Wimp_GetPointerInfo",,q% 8850SenderWindow%=q%!12 8860SenderIcon%=q%!16 8870q%!20=SenderWindow% 8880q%!24=SenderIcon% 8890q%!28=q%!0 8900q%!32=q%!4 8910q%!0=44+LENLeafName$ 8920q%!0+=4-(q%!0 MOD 4) 8930q%!4=0 8940q%!8=0 8950q%!12=0 8960q%!16=1 8970q%!36=0 8980q%!40=&B0F 8990$(q%+44)=LeafName$+CHR$0 9000SYS"Wimp_SendMessage",17,q%,SenderWindow%,SenderIcon% 9010ENDPROC 9040DEFPROCHandleMessage_DataSave:LOCALtaskname$,SendingTask%,Pointer% 9050SendingTask%=q%!4 9090IFq%!20=-2 OR FNget_text(Main%,0,FALSE)="" OR FNget_text(Main%,1,FALSE)<>"" THEN 9100SecondCD%=FALSE 9120ELSE 9130SYS"Wimp_GetPointerInfo",,u% 9140IconDrop%=u%!16 9150IF(IconDrop%MOD2=0 OR IconDrop%>37 OR IconDrop%<0) THENSecondCD%=FALSE ELSESecondCD%=TRUE 9160ENDIF 9170taskname$=FNTask(SendingTask%) 9180LeafNameRecd$ = FNReadString(q%+44) 9190q%!0=(48+LEN("<Wimp$Scrap> "))AND NOT 3 9200q%!12=q%!8 9210q%!16=2 9220q%!36=-1 9230$(q%+44)="<Wimp$Scrap>" 9240SaveRef%=q%!12 9250SYS"Wimp_SendMessage",17,q%,q%!4 9260ENDPROC 9290DEFPROCHandleMessage_DataSaveAck 9300LOCAL taskname$, SendingTask%, PathName$ 9310SendingTask% = q%!4 9320taskname$ = FNTask(SendingTask%) 9330PathName$=FNReadString(q%+44) 9370PROCSaveTo(PathName$) 9390q%!0=40+LENPathName$+4 9400q%!0+=4-(q%!0 MOD 4) 9410q%!12=q%!8 9420q%!16=3 9430q%!36=0 9440q%!40=&B0F 9450$(q%+44)=PathName$+CHR$0 9460SYS"Wimp_SendMessage",18,q%,SendingTask% 9470ENDPROC 9500DEFPROCHandleMessage_DataLoad 9510IF q%!40=&DFE OR q%!40=&50 PROCcsv(q%!40):ENDPROC 9520PROCstore_for_undo 9530LOCAL Loop% 9540FOR Loop%=0 TO 1024 STEP 4:j%!Loop%=q%!Loop% :NEXT 9550taskname$ = FNTask(q%!4) 9560SendingTaskID% = q%!4 9570IF q%!40=&B0F THEN 9590SaveName$=FNReadString(q%+44) 9600PROCDoActualLoadThing(SaveName$) 9620j%!12=j%!8 9630j%!16=4 9640IFSaveName$="<Wimp$Scrap>" THEN 9650OSCLI("WIPE <Wimp$Scrap> F~V~C") 9660ENDIF 9670SYS"Wimp_SendMessage",17,j%,SendingTaskID% 9680ENDIF 9690ENDPROC 9720DEFPROCcsv(type%):CSVpath$=FNReadString(q%+44) 9730csv%=OPENUPCSVpath$:PTR#csv%=EXT#csv% 9740IFPTR#csv%=0ANDtype%=&50 PRINT#csv%,0,"File produced from Cassette inlay data. " 9750track1%=1:track2%=1:L$="Label " 9760FORside%=0TO1 9770FORicon%=0+side%TO37STEP2 9780IFtype%=&DFE THEN 9790title$=FNcsv(FNget_text(Main%,icon%,FALSE)) 9800ELSEtitle$=FNget_text(Main%,icon%,TRUE) 9810ENDIF 9830IF(icon%<24ORicon%>27)ANDNOT(title$=STRING$(2,CHR$34)ANDtype%=&DFE)ANDNOT(title$=STRING$(45," ")ANDtype%=&50)THEN 9840IFside%=0THEN 9860IFtype%=&DFE THEN 9870BPUT#csv%,title$+","+FNcsv(FNget_text(Main%,25,FALSE))+","+FNcsv(FNget_text(Main%,24,FALSE))+","+FNcsv("Label")+",0,0,1,"+STR$(track1%)+",0,0":track1%+=1 9890ELSEPRINT#csv%,0,title$,0,FNget_text(Main%,25,TRUE),0,FNget_text(Main%,24,TRUE),0,0,0,11,track1%,0,0,0,0,0,L$:track1%+=1 9900ENDIF 9910ELSE 9930IFtype%=&DFE THEN 9940BPUT#csv%,title$+","+FNcsv(FNget_text(Main%,27,FALSE))+","+FNcsv(FNget_text(Main%,26,FALSE))+","+FNcsv("Label")+",0,0,1,"+STR$(track2%)+",0,0":track2%+=1 9950ELSEPRINT#csv%,0,title$,0,FNget_text(Main%,27,TRUE),0,FNget_text(Main%,26,TRUE),0,0,0,11,track2%,0,0,0,0,0,L$:track2%+=1 9960ENDIF 9970ENDIF 9980ENDIF 9990NEXT 10000NEXT 10010CLOSE#csv% 10020ENDPROC 10050DEFPROCHandleMessage_DataLoadAck 10060ENDPROC 10090DEFPROCDataOpen 10100LOCAL File$ 10110IFq%!40=&B0F THEN 10120PROCstore_for_undo 10130File$=FNReadString(q%+44) 10140q%!12=q%!8 10150q%!16=4 10160SYS"Wimp_SendMessage",17,q%,q%!4 10170PROCDoActualLoadThing(File$) 10180ENDIF 10190ENDPROC 10220DEFPROCSaveTo(PathName$) 10230Pointer%=LENPathName$ 10240WHILE Pointer%>1 AND MID$(PathName$,Pointer%,1)<>"." 10250Pointer%-=1 10260ENDWHILE 10270IFPointer%=1 AND PathName$<>"<Wimp$Scrap>" THENPROCadvice(FNm(mf%,"NoPath"),17):ENDPROC 10280SYS"Wimp_CreateMenu",,-1 10290IFFNleaf(PathName$)<>""THEN 10300SaveFile%=OPENOUT(PathName$) 10320FORLoop%=0TO37 10330PRINT#SaveFile%,FNget_text(Main%,Loop%,FALSE) 10340NEXT 10350PRINT#SaveFile%,FNget_text(Main%,TapeNumber%,FALSE) 10370CLOSE#SaveFile% 10380OSCLI"SetType "+PathName$+" B0F" 10400IFPathName$<>"<Wimp$Scrap>" THENPROCSetIconText(1,Save%,PathName$) 10420T$=FNget_text(Main%,TapeNumber%,FALSE) 10430IFLEFT$(T$,3)="No "ANDLENT$=6THEN 10440A$=MID$(T$,4,1):B$=MID$(T$,5,1):C$=RIGHT$(T$,1) 10450IFASCA$>47ANDASCA$<58ANDASCB$>47ANDASCB$<58ANDASCC$>47ANDASCC$<58THEN 10460T%=VALRIGHT$(T$,3):IFT%=999T%=0 10470CasNo$="No "+FNz(T%+1,3) 10480PROCSetIconText(TapeNumber%,Main%,CasNo$) 10490PROCRedraw(Main%,TapeNumber%) 10500ENDIF 10510ENDIF 10520ELSEPROCadvice(FNm(mf%,"NoFile"),17) 10530ENDIF 10540ENDPROC 10570DEFPROCDragSave 10580LOCAL flags%,byte% 10590DragASprite_Active% = FALSE 10600SYS"XOS_SWINumberFromString",,"DragASprite_&00" TO ;flags% 10610SYS"OS_Byte",161,28 TO ,,byte% 10620IF (flags% AND 1)=0 AND (byte% AND 2)=2 THENDragASprite_Active% = TRUE 10630!q%=Save% 10640SYS"Wimp_GetWindowState",,q% 10650OffsetX%=q%!4-q%!20 10660OffsetY%=q%!16-q%!24 10670q%!0=Save% 10680q%!4=0 10690SYS"Wimp_GetIconState",,q% 10700!q%=Save% 10710q%!4=5 10720q%!8=q%!8+OffsetX% 10730q%!12=q%!12+OffsetY% 10740q%!16=q%!16+OffsetX% 10750q%!20=q%!20+OffsetY% 10760q%!24=0 10770q%!28=0 10780q%!32=&7FFFFFFF 10790q%!36=&7FFFFFFF 10800IF DragASprite_Active% THEN 10810SYS"DragASprite_Start",197,1,"file_b0f",q%+8,q%+24 10820ELSE 10830SYS"Wimp_DragBox",,q% 10840ENDIF 10850ENDPROC 10880DEFPROCLoadData(FileName$) 10890LOCAL LoadFile%, LoadLoop%, TempText$ 10900LoadFile%=OPENIN(FileName$) 10910FOR LoadLoop%=0 TO 37 10930IF SecondCD%=TRUE THEN 10940AdjLoadLoop%=FNadjloadloop(LoadLoop%) 10950ELSE AdjLoadLoop%=LoadLoop% 10960ENDIF 10970INPUT# LoadFile%,TempText$ 10980IF SecondCD%=FALSE OR (SecondCD%=TRUE AND LoadLoop%MOD2=0) OR LoadLoop%=25 THEN 10990IFLoadLoop%<26 OR LoadLoop%>27 OR SecondCD%=FALSE THEN 11000PROCSetIconText(AdjLoadLoop%,Main%,TempText$) 11010PROCRedraw(Main%,AdjLoadLoop%) 11020ENDIF 11030ENDIF 11040NEXT 11050INPUT# LoadFile%,TempText$ 11060PROCSetIconText(TapeNumber%,Main%,TempText$) 11070PROCRedraw(Main%,TapeNumber%) 11080CLOSE #LoadFile% 11090ENDPROC 11120DEFPROCSwapCase(Window%,Icon%,Index%) 11130IF Index%<LEN(FNget_text(Main%,Icon%,FALSE)) THEN 11140IconText$=FNget_text(Main%,Icon%,FALSE) 11150C%=ASC(MID$(IconText$,Index%+1,1)) AND &DF 11160IF C%>=&41 AND C%<=&5A THEN 11170C$=CHR$(ASC(MID$(IconText$,Index%+1,1)) EOR &20) 11180MID$(IconText$,Index%+1,1)=C$ 11190PROCSetIconText(Icon%,Window%,IconText$) 11200PROCRedraw(Main%,Icon%) 11210ENDIF 11220PROCSetCaretPosition(Icon%,Index%+1) 11230ENDIF 11240ENDPROC 11270DEFPROCMoveDownAnEntry 11280IF Icon%<22 OR (Icon%>23 AND Icon%<26) THENPROCSetCaretPosition(Icon%+2,Index%) 11290IF Icon%=22 OR Icon%=23 THENPROCSetCaretPosition(Icon%+6,Index%) 11300IF Icon%>27 AND Icon%<36 THENPROCSetCaretPosition(Icon%+2,Index%) 11310IF Icon%=36 OR Icon%=37 THENPROCSetCaretPosition(Icon%-36,Index%) 11320ENDPROC 11350DEFPROCMoveUpAnEntry 11360IF (Icon%<24 AND Icon%>1) OR (Icon%<38 AND Icon%>29) THENPROCSetCaretPosition(Icon%-2,Index%) 11370IF Icon%=28 OR Icon%=29 THENPROCSetCaretPosition(Icon%-6,Index%) 11380IF Icon%=26 OR Icon%=27 THENPROCSetCaretPosition(Icon%-2,Index%) 11390IF Icon%=00 OR Icon%=01 THENPROCSetCaretPosition(Icon%+36,Index%) 11400ENDPROC 11430DEFPROCInitialise_Program_Variables 11450DIM Box% 16 :DIM Box2% 16 11460DIM Matrix% 16 11470ScaleX%=1 :ScaleY%=1 11480Matrix%!04=0 :Matrix%!00=2^16*ScaleX% 11490Matrix%!08=0 :Matrix%!12=2^16*ScaleY% 11500DIM Origin% 8 11510ram_save%=TRUE:save_length%=TRUE 11520DragASprite_Active% = FALSE 11530IconBarMenu% = 0 11540MainWinMenu% = 1 11550SecondCD% = FALSE 11560New% = TRUE 11570OldName$ = "" 11580LeafNameRecd$ = "" 11590DIM gap$(33) 11600DIM insert$(15) 11610DIM undo$(38) 11630BackGround%= -1 :IconBar%= -2 :SideA%=38 :SideB%=39 :Print%=42 :TapeNumber%= 41 11640SaveIcon%= 0 :SaveOK%=2 11650TopSetSideONEStart%=00 :TopSetSideONEEnd%=22 :TopSetSideTWOStart%=01 :TopSetSideTWOEnd%=23 11660BtmSetSideONEStart%=28 :BtmSetSideONEEnd%=36 :BtmSetSideTWOStart%=29 :BtmSetSideTWOEnd%=37 11670TitleSideONE%=24 :TitleSideTWO%=26 11680ArtistSideONE%=25 :ArtistSideTWO%=27 11690PROCReadUserData 11710SYS"OS_SWINumberFromString",,"Font_FindFont" TO Find% 11720SYS"OS_SWINumberFromString",,"Font_LoseFont" TO Lose% 11730SYS"OS_SWINumberFromString",,"Font_SetFont" TO Set% 11740SYS"OS_SWINumberFromString",,"Font_Paint" TO Paint% 11750DeskTopSave$="Run "+FNConvertSystemToString("Cassette$Dir")+CHR$(&0A) 11760BaseFont$=FNConvertSystemToString("Cassette$BaseFont") 11770BoldFont$=FNConvertSystemToString("Cassette$BoldFont") 11780CasNo$=FNConvertSystemToString("Tape$Prefix") 11790IFLEN(CasNo$)>2THEN 11800Clipped$=LEFT$(CasNo$,2) 11810!q%=9090 11820Error$="Tape$Prefix is set to longer than 2 characters. OK to clip to "+Clipped$+" Cancel to abort program" 11830$(q%+4)=Error$+CHR$0 11840SYS"Wimp_ReportError",q%,%011,MyTaskName$ TO ,Result% 11850IFResult%=2PROCCloseDown 11860CasNo$=Clipped$+" 001" 11870ELSE 11880CasNo$=CasNo$+" 001" 11890ENDIF 11900ENDPROC 11940DEFPROCReadUserData 11960PrintPos%=OPENIN"<Cassette$Dir>.Resources.PrintY" 11970IFPrintPos%>0THEN 11980P$="#" 11990WHILE LEFT$(P$,1)="#" ANDNOT EOF#PrintPos% 12000P$=GET$#PrintPos% 12010ENDWHILE 12020IFP$="#" P$="25" 12030PrintY%=((ABSVALP$)*72000)DIV25.4 12040ELSEPrintY%=72000 12050ENDIF 12060CLOSE#PrintPos% 12080PrintNo%=OPENIN"<Cassette$Dir>.Resources.PrintNo" 12090IFPrintNo%>0 THEN 12100P$="#" 12110WHILE LEFT$(P$,1)="#" ANDNOT EOF#PrintNo% 12120P$=GET$#PrintNo% 12130ENDWHILE 12140IFP$="#" P$="1" 12150PrintTapeNumber%=(VALP$=1) 12160ELSEPrintTapeNumber%=TRUE 12170ENDIF 12180CLOSE#PrintNo% 12190ENDPROC 12220DEFPROCLoadFileIfRequired 12230SYS"OS_GetEnv" TO Command$ 12240I%=INSTR(Command$," -Load ") 12250IF I% THEN 12260I%+=LEN" -Load " 12270WHILE MID$(Command$,I%,1)=" ":I%+=1:ENDWHILE 12280FileName$=MID$(Command$,I%) 12290FileName$=LEFT$(FileName$,INSTR(FileName$+" "," ")-1) 12300IF FileName$<>"" THENStartWithLoad=TRUE :PROCDoActualLoadThing(FileName$) 12310ELSE 12320StartWithLoad=FALSE 12330ENDIF 12340ENDPROC 12370DEFPROCDoActualLoadThing(FileName$) 12390IF FileName$ = "<Wimp$Scrap>" THEN 12400PROCSetIconText(1,Save%,LeafNameRecd$) 12410ELSE 12420PROCSetIconText(1,Save%,FileName$) 12440SecondCD%=FALSE 12450ENDIF 12460PROCLoadData(FileName$) 12470PROCOpenMainWindow(FALSE) 12480ENDPROC 12510DEFPROCPrintOut(mb%) 12520IFFNPrinter_OnLine=TRUE THEN 12540SYS"XOS_SWINumberFromString",,"Font_ScanString" TO Flag% 12550IFFlag%AND1 THENNewFontManager%=FALSE ELSENewFontManager%=TRUE 12560LOCAL PrintFile%,OldJob%,White% 12570SomeTextTrimmed%=FALSE 12580White%=&FFFFFF00 12600PrintFile%=OPENOUT"printer:" 12610LOCAL ERROR 12620ON ERROR LOCAL:RESTORE ERROR:CLOSE#PrintFile%:PROCadvice(FNm(mf%,"NoDriver"),17):ENDPROC 12640SYS"PDriver_SelectJob",PrintFile%,"Print Job" TO OldJob% 12650SYS"Hourglass_On" 12660LOCAL ERROR 12670ON ERROR LOCAL:RESTORE ERROR:SYS"Hourglass_Off":SYS"PDriver_AbortJob",PrintFile%:SYS"PDriver_SelectJob",OldJob%:PROCadvice(FNm(mf%,"PrintError"),17):ENDPROC 12690PROCGetDocumentSize(Box%) 12700PROCFitToPage(Height%,Width%) 12720SYS"PDriver_GiveRectangle",,Box%,Matrix%,Origin%,White% 12740SYS"PDriver_DrawPage",1,Box2%,0,0 TO CopiesLeft% 12750WHILE CopiesLeft% 12760PROCMini_WIMP_Poll 12770PROCDrawInlay(Box2%,mb%) 12780SYS"PDriver_GetRectangle",,Box% TO CopiesLeft% 12790ENDWHILE 12810SYS"PDriver_EndJob",PrintFile% 12830RESTORE ERROR 12850SYS"Hourglass_Off" 12860SYS"PDriver_SelectJob",OldJob% 12880RESTORE ERROR 12900CLOSE #PrintFile% 12910IFSomeTextTrimmed%=TRUE THENPROCadvice(FNm(mf%,"TextCut"),17) 12920ENDIF 12930ENDPROC 12950DEFPROCGetDocumentSize(Box%) 12960Height%=725 :Width%=725 12970X1%=4 :X2%=Width%DIV2 :X3%=Width% 12980Y1%=0 :Y2%=163 :Y3%=Y2%+92 :Y4%=Height%-70 :Y5%=Height% 12990Box%!0=0 :Box%!4=0 13000Box%!8=Width%+20 :Box%!12=Height%+20 13010ENDPROC 13030DEFPROCFitToPage(Height%,Width%) 13040LOCAL Left%,Bottom%,Right%,Top% 13060SYS"PDriver_PageSize" TO ,,,Left%,Bottom%,Right%,Top% 13080OriginX%=((Right%+Left%)-(Width%*400))/2 :OriginY%=Top%-(Height%*400)-PrintY% 13090Origin%!0=OriginX% :Origin%!4=OriginY% 13100ENDPROC 13120DEFPROCDrawInlay(Co_ordinateq%,mb%) 13130PROCfind_fonts 13140PROCFontPaint("",FNget_text(Main%,24,FALSE),X1%+10,Y4%+40,24) 13150PROCFontPaint("",FNget_text(Main%,25,FALSE),X1%+10,Y4%+05,25) 13160PROCFontPaint("",FNget_text(Main%,26,FALSE),X2%+10,Y4%+40,26) 13170PROCFontPaint("",FNget_text(Main%,27,FALSE),X2%+10,Y4%+05,27) 13180Separation=(Y4%-Y3%)/12 13190SpaceStartY=Y3% + Separation 13200Track%=22 13210SYS"ColourTrans_SetGCOL",&D0D0D000,,,0,0 13220PROCMini_WIMP_Poll 13230WHILE SpaceStartY <= Y4% 13240IF SpaceStartY < Y4%-10 THENMOVE X1%,SpaceStartY :DRAW X3%,SpaceStartY 13250Text$=FNget_text(Main%,Track%,FALSE) 13260PROCFontPaint("",Text$,X1%+10,SpaceStartY-25,Track%) 13270Text$=FNget_text(Main%,Track%+1,FALSE) 13280PROCFontPaint("",Text$,X2%+10,SpaceStartY-25,Track%+1) 13290SpaceStartY+=Separation 13300Track%-=2 13310ENDWHILE 13320SpineLine1$=FNget_text(Main%,24,FALSE)+" - "+FNget_text(Main%,25,FALSE) 13330IFLEFT$(SpineLine1$,3)=" - " SpineLine1$=RIGHT$(SpineLine1$,LENSpineLine1$-3) 13340IFRIGHT$(SpineLine1$,3)=" - " SpineLine1$=LEFT$(SpineLine1$,LENSpineLine1$-3) 13350SpineLine2$=FNget_text(Main%,26,FALSE)+" - "+FNget_text(Main%,27,FALSE) 13360IFLEFT$(SpineLine2$,3)=" - " SpineLine2$=RIGHT$(SpineLine2$,LENSpineLine2$-3) 13370IFRIGHT$(SpineLine2$,3)=" - " SpineLine2$=LEFT$(SpineLine2$,LENSpineLine2$-3) 13380PROCFontPaint("Bold",SpineLine1$,X1%+10,Y2%+55,24) 13390PROCFontPaint("Bold",SpineLine2$,X1%+10,Y2%+15,26) 13410IFPrintTapeNumber%=TRUE ANDmb%=4 ORPrintTapeNumber%=FALSE ANDmb%=1 THEN 13420PROCPrintTapeNumber 13430ENDIF 13440Separation=(Y2%-Y1%)/5 13450SpaceStartY=Y1% + Separation 13460Track%=36 13470PROCMini_WIMP_Poll 13480WHILE SpaceStartY <= Y2% 13490IF SpaceStartY < Y2%-10 MOVE X1%,SpaceStartY :DRAW X3%,SpaceStartY 13500Text$=FNget_text(Main%,Track%,FALSE) 13510PROCFontPaint("",Text$,X1%+10,SpaceStartY-25,Track%) 13520Text$=FNget_text(Main%,Track%+1,FALSE) 13530PROCFontPaint("",Text$,X2%+10,SpaceStartY-25,Track%+1) 13540SpaceStartY+=Separation 13550Track%-=2 13560ENDWHILE 13570SYS"ColourTrans_SetGCOL",&00000000,,,0,0 13580RECTANGLE X1%,Y1%,X3%,Y5% 13590RECTANGLE X1%,Y2%,X3%,Y3%-Y2% 13600MOVE X2%,Y1% :DRAW X2%,Y2% 13610MOVE X2%,Y3% :DRAW X2%,Y4% 13620MOVE X1%,Y4% :DRAW X3%,Y4% 13630PROClose_fonts 13640ENDPROC 13670DEFPROCFontPaint(PostFix$,Message$,X%,Y%,Icon%) 13680LOCAL FontHandle% 13700IF Message$<>"" THEN 13710IF PostFix$="" THEN 13720SYS Set%,BaseFontHandle% 13730Text$=FNTrimToFit(Message$,48,Icon%) 13740ELSE 13750SYS Set%,BoldFontHandle% 13760Text$=FNTrimToFit(Message$,99,Icon%) 13770ENDIF 13780SYS"ColourTrans_SetFontColours",0,&FFFFFF00,&00000000 13790SYS Paint%,,Text$,&210,X%,Y% 13800ENDIF 13810ENDPROC 13840DEFPROCPrintTapeNumber:LOCALText$,FontHandle% 13850SYSFind%,,BaseFont$,8*16,10*16,0,0 TO FontHandle% 13860SYS"ColourTrans_SetFontColours",0,&FFFFFF00,&00000000 13870Text$=FNget_text(Main%,TapeNumber%,FALSE) 13880SYS Paint%,,Text$,&10,X3%-60,Y2%+60 13890SYS Lose%,FontHandle% 13900ENDPROC 13930DEFPROCfind_fonts 13940SYS Find%,,BaseFont$,09*16,12*16,0,0 TO BaseFontHandle% 13950SYS Find%,,BoldFont$,10*16,13*16,0,0 TO BoldFontHandle% 13960ENDPROC 13980DEFPROClose_fonts 13990SYS Lose%,BaseFontHandle% 14000SYS Lose%,BoldFontHandle% 14010ENDPROC 14040DEFPROCOpenSubMenu(Window%) 14050SYS"Wimp_GetPointerInfo",,q% 14060SYS"Wimp_CreateMenu",,Window%,q%!0-64,q%!4+48 14070ENDPROC 14100DEFPROCFormatIconText:LOCAL Loop% 14110FORLoop%=TopSetSideONEStart% TO TopSetSideTWOEnd% STEP 2 14120PROCSetIconText(Loop%,Main%,FNCEW(Loop%)) 14130PROCSetIconText(Loop%+1,Main%,FNCEW(Loop%+1)) 14140PROCRedraw(Main%,Loop%) 14150PROCRedraw(Main%,Loop%+1) 14160NEXT 14170FORLoop%=BtmSetSideONEStart% TO BtmSetSideTWOEnd% STEP 2 14180PROCSetIconText(Loop%,Main%,FNCEW(Loop%)) 14190PROCSetIconText(Loop%+1,Main%,FNCEW(Loop%+1)) 14200PROCRedraw(Main%,Loop%) 14210PROCRedraw(Main%,Loop%+1) 14220NEXT 14230IFAdjust%=FALSE THEN 14250PROCSetIconText(TitleSideONE%,Main%,FNCEW(TitleSideONE%)) 14260PROCSetIconText(TitleSideTWO%,Main%,FNCEW(TitleSideTWO%)) 14270PROCSetIconText(ArtistSideONE%,Main%,FNCEW(ArtistSideONE%)) 14280PROCSetIconText(ArtistSideTWO%,Main%,FNCEW(ArtistSideTWO%)) 14290ELSE 14310PROCSetIconText(TitleSideONE%,Main%,FNIcon_FTU(TitleSideONE%)) 14320PROCSetIconText(TitleSideTWO%,Main%,FNIcon_FTU(TitleSideTWO%)) 14330PROCSetIconText(ArtistSideONE%,Main%,FNIcon_FTU(ArtistSideONE%)) 14340PROCSetIconText(ArtistSideTWO%,Main%,FNIcon_FTU(ArtistSideTWO%)) 14350ENDIF 14360IFCDtracker%=TRUE PROCcdtracker_off 14370FORLoop%=TitleSideONE% TO ArtistSideTWO% 14380PROCRedraw(Main%,Loop%) 14390NEXT 14400PROCadjust_caret 14410ENDPROC 14440DEFPROCcdtracker_off:LOCAL t1$,t2$,Loop% 14450t1$=FNget_text(Main%,26,FALSE):t2$=FNget_text(Main%,27,FALSE) 14460IFFNcase(t1$)=FNcase("CD filed within CDtracker's Music")ORFNcase(LEFT$(t2$,11))=FNcase("Category - ")THEN 14470FORLoop%=26TO27:PROCSetIconText(Loop%,Main%,""):NEXT 14480ENDIF 14490ENDPROC 14520DEFPROCadjust_caret 14530SYS"Wimp_GetCaretPosition",,q% 14540IF!q%=Main% THENPROCSetCaretPosition(q%!4,LENFNget_text(Main%,q%!4,FALSE)) 14550ENDPROC 14620DEFPROCLowPowerWarning:LOCALSaveName$,Pointer%,LeafName$,MyScrapDir$ 14630MyScrapDir$=FNConvertSystemToString("Wimp$ScrapDir") 14640IFMyScrapDir$=""THEN 14650MyScrapDir$=FNConvertSystemToString("Wimp$Scrap") 14660IFMyScrapDir$="" THENENDPROC 14670Pointer%=LEN(MyScrapDir$) 14680WHILEPointer%>1 AND MID$(MyScrapDir$,Pointer%,1)<>"." 14690Pointer%-=1 14700ENDWHILE 14710IFPointer%=1 THENENDPROC 14720MyScrapDir$=LEFT$(MyScrapDir$,(Pointer%-1)) 14730ENDIF 14740MyScrapDir$=MyScrapDir$+".Cassette" 14750OSCLI"CDir "+MyScrapDir$ 14760PROCSaveTo(MyScrapDir$+"."+FNInventSaveName) 14770ENDPROC 14790DEFPROCDeskTopSave 14800BPUT#(q%!20),DeskTopSave$ 14810ENDPROC 14840DEFPROCMini_WIMP_Poll 14850SYS"PDriver_SelectJob",0 14860SYS"Hourglass_Off" 14870SYS"Wimp_Poll",0,q% TO A% 14880CASEA%OF 14890WHEN2:SYS"Wimp_OpenWindow",,q% 14900WHEN3:SYS"Wimp_CloseWindow",,q% 14910WHEN17,18:PROCDecodeMessage(q%!16) 14920ENDCASE 14930SYS"Hourglass_On" 14940SYS"PDriver_SelectJob",PrintFile% 14950ENDPROC 14990DEFPROCstore_for_undo 15000FORicon%=0TO37 15010undo$(icon%)=FNget_text(Main%,icon%,FALSE) 15020NEXT 15030undo$(38)=FNget_text(Main%,TapeNumber%,FALSE) 15040ENDPROC 15070DEFPROCundo 15080IFFNundo=TRUE THEN 15090FORicon%=0TO37 15100PROCSetIconText(icon%,Main%,undo$(icon%)) 15110NEXT 15120PROCSetIconText(TapeNumber%,Main%,undo$(38)) 15130FORicon%=0TO37 15140PROCRedraw(Main%,icon%) 15150NEXT 15160PROCRedraw(Main%,TapeNumber%) 15170PROCSetCaretPosition(0,0) 15180ENDIF 15190ENDPROC 15240DEFPROCget_memory(mem%,x%) 15250SYS"Wimp_SlotSize",app_size%+mem%,-1 TO new% 15260IFnew%<app_size%+mem% THEN 15270err_flag%=TRUE 15280PROCadvice(FNm(mf%,"NoMem"),17) 15290SYS"Wimp_SlotSize",app_size%,-1 15300ELSE 15310IFx%=1 THENSYS"XOS_Heap",5,heap%,,new%-app_size% 15320heap_size%=new%+&8000-HIMEM 15330app_size%=new% 15340ENDIF 15350ENDPROC 15380DEFPROCsetup_heap(init_size%) 15390PROCget_memory(init_size%,0) 15400IFNOT(err_flag%) THEN 15410heap%=HIMEM 15420SYS"XOS_Heap",0,heap%,,heap_size% 15430ENDIF 15440ENDPROC 15470DEFPROClose_memory 15480REPEAT 15490SYS"XOS_Heap",5,heap%,,-page% TO ,,,s%;flag% 15500IF(flag% AND 1) THEN 15510SYS"XOS_Heap",5,heap%,,s% 15520ELSE 15530SYS"Wimp_SlotSize",app_size%-page%,-1 15540app_size%-=page%:heap_size%-=page% 15550ENDIF 15560UNTIL(flag% AND 1) 15570ENDPROC 15620DEFPROCalter_block(RETURN ptr%,size%):LOCALerr_flag% 15630REPEAT 15640SYS"XOS_Heap",4,heap%,ptr%,size% TO ,,ptr%;flag% 15660IF(flag% AND 1) THENPROCget_memory(page%,1) 15670UNTIL(flag% AND 1)=0 OR err_flag%=TRUE 15680IF(err_flag%) THEN 15700IFsize%<0 THENPROClose_memory 15710ENDIF 15720ENDPROC 15770DEFPROCde_allocate(ptr%) 15780SYS"XOS_Heap",3,heap%,ptr% 15790PROClose_memory 15800ENDPROC 15820DEFPROCencode_save_block(RETURN save_block%,text$,pointer%) 15830save_block%?pointer%=0 15840pointer%+=1 15850save_block%?pointer%=LENtext$ 15860IFtext$<>""THEN 15880FORcount%=LENtext$TO1STEP-1 15890pointer%+=1 15900save_block%?pointer%=ASC(MID$(text$,count%,1)) 15910NEXT 15920ENDIF 15930ENDPROC 15950DEFPROCclose_window(q%):win%=!q% 15960SYS"Wimp_GetPointerInfo",,q% 15970IFq%!8 AND 1 THEN 15980dir$=FNget_text(Save%,1,FALSE) 15990IFINSTR(dir$,".")THEN 16000REPEAT 16010dir$=LEFT$(dir$,LENdir$-1) 16020UNTILRIGHT$(dir$,1)="." 16030dir$=LEFT$(dir$,LENdir$-1) 16040!q%=256:q%!12=0 16050q%!16=&400:q%!20=0 16060q%!24=0:$(q%+28)=dir$ 16070SYS"Wimp_SendMessage",18,q%,0,0 16080ENDIF 16090ENDIF 16100IFNOT(INKEY-1) THEN 16110!q%=win% 16120SYS"Wimp_CloseWindow",,q% 16130ENDIF 16140ENDPROC 16160DEFPROCadvice(err$,flag%):IFflag%AND16 THENname$="Advice from "+MyTaskName$ 16170flag%+=256:!q%=255:$(q%+4)=err$+CHR$0 16180SYS"Wimp_ReportError",q%,flag%,name$,"!cassette",1 TO ,ok% 16190ENDPROC
� >!RunImage 2&Version$="1.35d (22nd March 1997)" <&ț "<Cassette$Dir>.Resources.Help" F�q%1024 P�j%1024 Z �u%255 napp_size%=�-&8000 xheap%=0 �!ș"OS_ReadMemMapInfo" � page% ��Initialise_WIMP_System �5mf%=�mf_open("<Cassette$Dir>.Resources.Messages") �#�SetIconText(15,Info%,Version$) �&�SetIconText(1,Save%,"CassNo�001") �� � �Wimp_Error �!�Initialise_Program_Variables �LoadFileIfRequired � � �Wimp_Error ,� 6ș"Wimp_Poll",Mask%,q%�A% @ ȎA%� J�2:ș"Wimp_OpenWindow",,q% T�3:�close_window(q%) ^�6:�ButtonPressed h(�7:�DragBoxEnd(�get_text(Save%,1,�)) r�8:�ProcessKey(q%!24) |�9:�MenuSelection �#�17,18,19:�DecodeMessage(q%!16) �� �� � �0ݤm(mh%,tok$):�s$:ș&41502,mh%,tok$�,,s$:=s$ �/ݤmf_open(name$):ș"OS_Module",6,,,16�,,mh% �.ș"MessageTrans_OpenFile",mh%,name$,0:=mh% �G��mf_close(mh%):ș"MessageTrans_CloseFile",mh%:ș"OS_Module",7,,mh% �� �ݤadjloadloop(loop%) �loop%<24:=loop%+1 !�loop%=24 � loop%=25:=loop%+2 !�loop%>27 � loop%<38:=loop%+1 & =loop% �!ݤallocate(size%):� err_flag% �#�heap%=0 ��setup_heap(size%+16) ��(err_flag%) � �"ș"XOS_Heap",1,heap% � ,,free% �,�free%<size% ��get_memory(size%-free%,1) ��(err_flag%)� �&ș"XOS_Heap",2,heap%,,size%�,,ptr% �� �� ��err_flag% =0 � =ptr% ݤunpad(a$):�a% a%=��a$,1) ȕa%=32�a%=160 a$=�a$,�a$-1) *a%=��a$,1) 4� >=a$ \'ݤspecial_string(text$,spec$,repl$) f�text$,spec$)=0:=text$ plen%=�spec$+1 ztext$=" "+text$+" " �spec$=" "+spec$+" " �� �pos%=�text$,spec$) � �pos%>0 � �?text$=�text$,pos%-1)+" "+repl$+" "+�text$,�text$-pos%-len%) �� �� �text$,spec$)=0 �=�unpad(�text$,�text$-1)) �ݤcase(case$):�case$="":="" � �Loop% �C$="":�Loop%=1��case$ (Z%=��case$,Loop%):�Z%>64�Z%<91Z%+=32 C$+=�Z%:� =C$ 8*ݤCEW(Icon%):�IconText$,Index%,End%,C% B&IconText$=�get_text(Main%,Icon%,�) V�IconText$="" �=IconText$ `Index%=1:End%=�(IconText$) tȕ Index%<=End% ~0�IconText$,Index%,1)=�Char_FTU(Icon%,Index%) � Index%+=1 �C$=�IconText$,Index%,1) �ȕC$<>" " � Index%<=End% �4�Index%>1 prev$=�IconText$,Index%-1,1) �prev$="" �8�Index%<End% next$=�IconText$,Index%+1,1) �next$=" " �7�(�prev$>64 � �prev$<91)�(�prev$>96 � �prev$<123) � �&�(prev$="I" � C$="i" � C$="I" ) � �0�IconText$,Index%,1)=�Char_FTL(Icon%,Index%) 1�IconText$,Index%,1)=�Char_FTU(Icon%,Index%) � � 2G�prev$="(" � prev$="I" �IconText$,Index%,1)=�Char_FTU(Icon%,Index%) <� F Index%+=1 PC$=�IconText$,Index%,1) Z� nȕC$=" "�Index%<=End% x Index%+=1 �C$=�IconText$,Index%,1) �� �� �2IconText$=�special_string(IconText$,"Cd","CD") �@IconText$=�special_string(IconText$,"Cdtracker","CDtracker") �DIconText$=�special_string(IconText$,"Cdtracker's","CDtracker's") �@IconText$=�special_string(IconText$,"Cdprofile","CDprofile") �DIconText$=�special_string(IconText$,"Cdprofile's","CDprofile's") �=IconText$ �$ݤConvertSoftToHardSpaces(Name$) Pointer%=�(Name$) � Char$=�Name$,Pointer%,1) "�Char$=" "� , Char$="�" 6�Name$,Pointer%,1)=Char$ @� JPointer%-=1 T�Pointer%=1 ^ =Name$ |;ݤConvertSystemToString(Variable$):�Loop%,Flag%,Answer$ �!�Loop%=100�150�4:q%!Loop%=0:� �7ș"XOS_ReadVarVal",Variable$,q%+100,50,0,3 � ;Flag% �8�(Flag% � 1)�Answer$="" �Answer$=�ReadString(q%+100) �=Answer$ �ݤCreateIconBarIcon:�Icon% �q%!0=-1:q%!4=0 �q%!8=0:q%!12=88 �"q%!16=68:q%!20=%10000000000010 �$(q%+24)="!Cassette" �#ș"Wimp_CreateIcon",,q% � Icon% � =Icon% ݤcsv(a$):ȕ �a$,�44)>0 &,a$=�a$,�a$,�44)-1)+";"+�a$,�a$-�a$,�44)) 0� :=�34+�ch34(a$)+�34 Nݤch34(a$):ȕ�a$,�34)>0 X(a$=�a$,�a$,�34)-1)+�a$,�a$-�a$,�34)) b� l=a$ �#ݤChar_FTL(Icon%,Index%):�Temp$ �Temp$=�IconText$,Index%,1) �5�Temp$>="A" � Temp$<="Z" �Temp$=�(�(Temp$) � &20) � =Temp$ �#ݤChar_FTU(Icon%,Index%):�Temp$ �Temp$=�IconText$,Index%,1) �4�Temp$>="a"� Temp$<="z" �Temp$=�(�(Temp$) � &DF) � =Temp$ 7ݤget_text(WindowHandle%,IconHandle%,Pad%):�Result$ q%!100=WindowHandle% q%!104=IconHandle% *!ș"Wimp_GetIconState",,q%+100 4�(q%!124 � (1<<8))<>0 � >Result$=$(q%!128) H� RResult$=$(q%+128) \� f �Pad%:=�Result$+�45," "),45) p=Result$ �+ݤIcon_FTU(Icon%):� C$,text$,Loop%,asc% �"text$=�get_text(Main%,Icon%,�) ��text$<>""� �B�Loop%=1��text$:asc%=��text$,Loop%):�asc%>96�asc%<123 asc%-=32 �C$+=�asc%:� �� �=C$ �/ݤInventSaveName:path$=�get_text(Save%,1,�) ��path$,5)="Pipe:" path$="" �)CasNo$=�get_text(Main%,TapeNumber%,�) �leaf(path$)=""� �path$=""� *path$=�ConvertSoftToHardSpaces(CasNo$) $8�path$=�twig(path$)+�ConvertSoftToHardSpaces(CasNo$) .� 8�SetIconText(1,Save%,path$) B� V1�leaf(path$),7)="CassNo�"��CasNo$,3)="No "� `�path$,".")� j2path$=�twig(path$)+"CassNo�"+�z(��CasNo$,3),3) t�SetIconText(1,Save%,path$) ~� �� � =path$ �/ݤleaf(a$):ȕ �a$,"."):a$=�a$,�a$,".")+1):� �=a$ �Sݤmessage_ram_save(q%,task%,des_task%,� source_buffer%,� bytes_left%,des_buff%) �#� bytes_trans%,mess_code%,last% ��bytes_left%>=q%!24 � �bytes_trans%=q%!24 �mess_code%=18:last%=� �� bytes_trans%=bytes_left% code%=17:last%=� � Pș"Wimp_TransferBlock",task%,source_buffer%,des_task%,des_buff%,bytes_trans% (:source_buffer%+=bytes_trans%:bytes_left%-=bytes_trans% 2q%!12=q%!8 <q%!16=7 Fq%!20=des_buff% Pq%!24=bytes_trans% Z+ș"Wimp_SendMessage",code%,q%,des_task% d =last% �ݤPrinter_OnLine:=� ��after%,before%,online% ��2:before%=�(-4):�" "�8; �after%=�(-4):*FX21,3 ��3:online%=� ��after%<before% � �#�advice(�m(mf%,"NoPrinter"),17) � online%=� �� =online% #ݤramsave_data(� old_t%):�text$ "text$=�get_text(Main%,0,�) ,old_t%=�text$+2 6#save_block%=�allocate(�text$+2) @+�encode_save_block(save_block%,text$,0) J�Loop%=1�37 T"text$=�get_text(Main%,Loop%,�) ^&�alter_block(save_block%,�text$+2) h0�encode_save_block(save_block%,text$,old_t%) rold_t%+=�text$+2 |� �(text$=�get_text(Main%,TapeNumber%,�) �&�alter_block(save_block%,�text$+2) �0�encode_save_block(save_block%,text$,old_t%) �old_t%+=�text$+2 �=save_block% �)ݤReadESGSelected(WindowHandle%,Esg%) �� Mask%,Pattern% �"Mask%= (1<<21)+(31<<16) �"Pattern%=(1<<21)+(Esg%<<16) �:ș"Wimp_WhichIcon",WindowHandle%,q%+200,Mask%,Pattern% =q%!200 &$ݤReadString(Pointer%):� String$ 0$ȕ ?Pointer%<>0 � ?Pointer%<>&0D :String$+=�?Pointer% DPointer%+=1 N� X=String$ vݤTask(task%):�a$,task_h% �4ș"TaskManager_TaskNameFromHandle",task%�task_h% �ȕ ?task_h%>31 �a$=a$+�(?task_h%) �task_h%+=1 �� �=a$ �=ݤTrimToFit(Text$,mm,Icon%):�NumberOfPrintableCharacters% �Continue%=� �XLength%=(72000*mm)�25.4 ��NewFontManager% � �eș"Font_ScanString",0,Text$,&100380,XLength%,15000,,,�(Text$)�,,,,,,,NumberOfPrintableCharacters% � [ș"Font_StringWidth",,Text$,XLength%,15000,-1,�(Text$)�,,,,NumberOfPrintableCharacters% � *>�NumberOfPrintableCharacters%<�(Text$) �SomeTextTrimmed%=� 4)=�Text$,NumberOfPrintableCharacters%) H&ݤtwig(a$):N%=0:�:A$=�a$,�a$-N%,1) R�A$<>"."N%+=1 \�A$=".":=�a$,�a$-N%) zݤundo:undo%=�:icon%=-1 ��:icon%+=1 �$�unpad(undo$(icon%))<>""undo%=� ��icon%=37�undo%=� � =undo% �ݤunspc(a$):�a% �a%=��a$,1) �ȕ a%=32 � a%=160 �a$=�a$,�a$-1) �a%=��a$,1) �� �=a$ #ݤz(a%,l%):=��l%-1,"0")+�a%,l%) 8��Wimp_Error:� Error$ Bș"OS_Byte",3,0 Lș"Wimp_DragBox",,-1 V !q%=� ` Error$=�$ jY�<>2001 �Error$ += " (internal error code "+Þ+"). OK To Continue, CANCEL To Abort." t$(q%+4)=Error$+�0 ~Zș"Wimp_ReportError",q%,%1000000001 - (2*(�<>2001)),MyTaskName$,"!cassette",1�,Result% ��Result%=2 ��CloseDown �� ���MenuSelection ��MenuActive%=IconBarMenu%� �Ȏq%!0 � ��1:�CloseDown �� �� ��MenuActive%=MainWinMenu% � ��-1 �inkey%=� �inkey%=� Adjust%=� ș"Wimp_GetPointerInfo",,u% �u%!8=1 Adjust%=� Ȏq%!0 � ($�1:�SaveTo(�get_text(Save%,1,�)) <�2:CDtracker%=� Z�inkey%=� CDtracker%=� d#�store_for_undo:�FormatIconText n�3:�store_for_undo x�inkey%=� � �!�Close_gaps(1):�Close_gaps(2) ���combine_sides �� ��SetCaretPosition(0,0) ��4:�pre_insert(�) ��5:�store_for_undo:�Split �;�6:�store_for_undo:�WipeIconText:�SetCaretPosition(0,0) ��7:�undo ��8:�truncate �� �� �ș"Wimp_GetPointerInfo",,q% ��(q%!8 � 1)� 9�MenuActive%=IconBarMenu% �ș"Wimp_CreateMenu",,menu% =�MenuActive%=MainWinMenu% �ș"Wimp_CreateMenu",,MainMenu% � "� @��ButtonPressed J+� MouseX%,MouseY%,Button%,Window%,Icon% TMouseX%=q%!00 ^MouseY%=q%!04 hButton%=q%!08 rWindow%=q%!12 |Icon% =q%!16 �/�Window%=IconBar%�Icon%=IconBarIconHandle%� �ȎButton%� ��1:�OpenMainWindow(�) ��4:�OpenMainWindow(�) ��2:�SetUpIconBarMenu �� �� ��Button%<>2�Window%=Main%� �!�Icon%<>Print%�store_for_undo �ȎIcon%� �'�SideA%:�enter_side(�m(mf%,"SA"),0) �'�SideB%:�enter_side(�m(mf%,"SB"),1) ��Print%:�PrintOut(q%!8) � � �Button%=2�Window%=Main%� &Temp$=�InventSaveName 00�CreateMainWindowMenu(MouseX%,MouseY%,Icon%) :� D-�Window%=Save%�Icon%=SaveIcon% ��DragSave N?�Window%=Save%�Icon%=SaveOK% ��SaveTo(�get_text(Save%,1,�)) X� l��enter_side(side$,icon%) v2Text$=�unspc(�unpad(�get_text(Main%,icon%,�))) �=�Text$<>""��case(Text$)<>�case(side$) ��pre_insert(icon%) �)�unpad(�get_text(Main%,icon%,�))=""� �U�SetIconText(icon%,Main%,side$):�Redraw(Main%,icon%):�SetCaretPosition(icon%+2,0) �� �� �,��ProcessKey(Key%):�Icon%,Index%,Window% �Window%=q%!0:Icon%=q%!4 �Index%=q%!20 �ȎWindow%� � �Save% �ȎKey%� &�&0D:�SaveTo(�get_text(Save%,1,�)) ș"Wimp_ProcessKey",q%!24 � �Main% *ȎKey%� 4�&180:�PrintOut(4) >�&18A:�Icon%<38� HA�SetCaretPosition(Icon%-((Icon%�2)=0)+((Icon% � 2)=1),Index%) R� \�&0D:�MoveDownAnEntry f�&1CD:�pre_insert(�) p'�&1E:�SetCaretPosition((Icon%�2),0) z�&18F:�MoveUpAnEntry ��&18E:�MoveDownAnEntry ��&183:Temp$=�InventSaveName ��OpenSubMenu(Save%) �B�&185,&186:�enter_side("Side "+�(65-(Key%=&186)),-(Key%=&186)) ��&188:�undo �C�&189,&199:�store_for_undo:�WipeIconText:�SetCaretPosition(0,0) �*�&1CA,19:�SwapCase(Main%,Icon%,Index%) �1�&1CB:Text$=��get_text(Main%,Icon%,�),Index%) �#�SetIconText(Icon%,Main%,Text$) ��Redraw(Main%,Icon%) �:ș"Wimp_ProcessKey",q%!24 �� �� � $$��SetCaretPosition(Icon%,Index%) .+IconLength%=�(�get_text(Main%,Icon%,�)) 8+�Index%>IconLength% �Index%=IconLength% B5ș"Wimp_SetCaretPosition",Main%,Icon%,,,-1,Index% L� j��Redraw(Window%,Icon%) tq%!0=Window%:q%!4=Icon% ~q%!8=0:q%!12=0 �ș"Wimp_SetIconState",,q% �� �)��DecodeMessage(Request%):ȎRequest%� ��0:�CloseDown �7�1:�q%!4<>My_id%�q%!40=&B0F �HandleMessage_DataSave �!�2:�HandleMessage_DataSaveAck ��3:�HandleMessage_DataLoad �!�4:�HandleMessage_DataLoadAck ��5:�DataOpen �.�6:save_block%=�ramsave_data(save_length%) C�ram_save% �bytes_left%=save_length%:source_buffer%=save_block% Pram_save%=�message_ram_save(q%,My_id%,q%!4,source_buffer%,bytes_left%,q%!20) ș"Wimp_CreateMenu",,-1 �de_allocate(save_block%) (�10:�DeskTopSave 2�14:�LowPowerWarning <,�&502:�GiveHelp(q%!32,q%!36,q%!20,q%!24) F�&400CC:q%!0=48 Pq%!12=q%!8 Zq%!16=&400CC dq%!24=0 x$(q%+28)="cassete" �$(q%+36)=�InventSaveName �#ș"Wimp_SendMessage",17,q%,q%!4 �� �� ���Initialise_WIMP_System �%MyTaskName$="Cassette Designer 3" �q%!0=0 �q%!4=1 q%!8=2 q%!12=3 q%!16=5 "q%!20=6 ,q%!24=7 6q%!28=10 @q%!32=14 Jq%!36=&502 Tq%!40=&400C2 ^q%!44=&400CC hq%!48=0 rEș"Wimp_Initialise",300,&4B534154,MyTaskName$,q% � Version,My_id% |)IconBarIconHandle%=�CreateIconBarIcon ��Initialise_Templates �Mask%=%1100000110001 �� ���CloseDown �'ș"Wimp_CloseDown",My_id%,&4B534154 ��mf_close(mf%) �ș"OS_Exit" �� ���Initialise_Templates B�template_name$(2),template_buffer%(2),ind_template_buffer%(2) )template_name$()="info","Main","save" ?ș"Wimp_OpenTemplate",,"<Cassette$Dir>.Resources.Templates" &�count%=0�2 0Sș"Wimp_LoadTemplate",,-1,,,,template_name$(count%),0 � ,buffer_size%,ind_size% :4template_buffer%(count%)=�allocate(buffer_size%) D5ind_template_buffer%(count%)=�allocate(ind_size%) N�ș"Wimp_LoadTemplate",,template_buffer%(count%),ind_template_buffer%(count%),ind_template_buffer%(count%)+ind_size%,-1,template_name$(count%) X"template_buffer%(count%)!24=-1 bȎtemplate_name$(count%) � lC�"info":ș"Wimp_CreateWindow",,template_buffer%(count%) � Info% vC�"Main":ș"Wimp_CreateWindow",,template_buffer%(count%) � Main% �C�"save":ș"Wimp_CreateWindow",,template_buffer%(count%) � Save% �� �� �� �<��SetIconText(IconHandle%,WindowHandle%,Text$):�Pointer% �q%!100=WindowHandle% �q%!104=IconHandle% �!ș"Wimp_GetIconState",,q%+100 ��(q%!124 � (1<<8))<>0 � �Pointer%=q%!128 �� Pointer%=q%+128 � $Pointer%=Text$ � 4��SetUpIconBarMenu:�m% >MenuActive%=IconBarMenu% H�menu%28+2*24 R$menu%="Cassette" \menu%?12=7 fmenu%?13=2 pmenu%?14=7 zmenu%?15=0 �menu%!16=128 �menu%!20=44 �menu%!24=0 �m%=menu%+28 �m%!0=&0 �m%!4=Info% �m%!8=(7<<24) � %10001 �$(m%+12)="Info" �m%=m%+24 �m%!0=&80 � m%!4=0 �m%!8=(7<<24)� %10001 �$(m%+12)="Quit" *ș"Wimp_CreateMenu",,menu%,q%!0-64,184 � .+��OpenMainWindow(WipeTemplateIconText%) 8=�WipeTemplateIconText%�New%��StartWithLoad ��WipeIconText B !q%=Main% Lș"Wimp_GetWindowState",,q% Vq%!28=-1 `ș"Wimp_OpenWindow",,q% j New%=� t@�SetCaretPosition(�SecondCD%,��get_text(Main%,�SecondCD%,�)) ~� �$��Close_gaps(side%):�icon%,icon$ �gap%=-1:side%-=1 �� icon%=side% � 36+side% �2 �'� icon%<24+side% � icon%>26+side% � �*icon$=�unpad(�get_text(Main%,icon%,�)) �(� icon$<>"" gap%+=1:gap$(gap%)=icon$ �� �� gap%=-1 �icon%=0+side%�36+side%�2 #�icon%<24+side%�icon%>26+side%� (gap%+=1 2(�SetIconText(icon%,Main%,gap$(gap%)) <� F� Z�icon%=side%�36+side%�2 d#�icon%<24+side%�icon%>26+side%� n�Redraw(Main%,icon%) x� �� � gap$()="" �� � ��combine_sides:�icon%,icon$ �gap%=-1:side%=0 �� ��icon%=side%�36+side%�2 �#�icon%<24+side%�icon%>26+side%� �*icon$=�unpad(�get_text(Main%,icon%,�)) �&�icon$<>""gap%+=1:gap$(gap%)=icon$ � � side%+=1 "�side%=2 6gap%=-1:side%=0 @� J�icon%=0+side%�36+side%�2 T%�icon%<24+side% � icon%>26+side%� ^gap%+=1 h(�SetIconText(icon%,Main%,gap$(gap%)) r� |� �side%+=1 ��side%=2 ��icon%=0�37 ��icon%<24�icon%>27� ��Redraw(Main%,icon%) �� �� � gap$()="" �� � ��Split:� split%,Loop%,side% !ș"Wimp_GetCaretPosition",,q% �!q%=Main%� 0split%=q%!4 D�split%�2=0� X�split%<24�split%>26� lside%=0:nodata%=� v�Loop%=split%�36�2 ��Loop%<24 � Loop%>26 � �*�unpad(�get_text(Main%,Loop%,�))<>""� �0gap$(side%)=�unpad(�get_text(Main%,Loop%,�)) � �SetIconText(Loop%,Main%,"") �side%+=1:nodata%=� �� �� �� ��nodata%=� � �Loop%=1�37�2 �Loop%<25�Loop%>27� 4*�unpad(�get_text(Main%,Loop%,�))<>""� >0gap$(side%)=�unpad(�get_text(Main%,Loop%,�)) Hside%+=1 R� \� f� zside%=0 ��Loop%=1�37�2 ��Loop%<25�Loop%>27� �)�SetIconText(Loop%,Main%,gap$(side%)) �side%+=1 �� �� ��Loop%=split%�36�2 ��Loop%<24�Loop%>26� ��Redraw(Main%,Loop%) �� �� �Loop%=1�37�2 �Loop%<25�Loop%>27� �Redraw(Main%,Loop%) $� .� 8"��advice(�m(mf%,"NoSplit"),17) B� L gap$()="" V%�nodata%=� �SetCaretPosition(0,0) `!��advice(�m(mf%,"Titles"),17) j� t ��advice(�m(mf%,"SideB"),17) ~� �'��advice(�m(mf%,"NoFocusSideA"),17) �� �� �!��pre_insert(insert%):� icon% ��insert%=� � �!ș"Wimp_GetCaretPosition",,q% �� !q%=Main%:q%!4=insert% �� �!q%=Main% � icon%=q%!4 �icon%<24�icon%>26 � 20� �unpad(�get_text(Main%,36+icon%�2,�))="" � <�store_for_undo F�insert(q%!4) P� Z� d%��advice(�m(mf%,"NoFocusGap"),17) n� x� ���insert(icon%):�Loop% �gap%=-1:side%=icon%�2 ��Loop%=icon%�34+side%�2 �#�Loop%<24+side%�Loop%>26+side%� �gap%+=1 �2insert$(gap%)=�unpad(�get_text(Main%,Loop%,�)) �� �� � �SetIconText(icon%,Main%,"") gap%=-1 �Loop%=icon%+2�36+side%�2 "#�Loop%<24+side%�Loop%>26+side%� ,gap%+=1 6+�SetIconText(Loop%,Main%,insert$(gap%)) @� J� T�SetCaretPosition(icon%,0) h�Loop%=icon%�36+side%�2 r�Loop%<24�Loop%>27� |�Redraw(Main%,Loop%) �� �� �insert$()="" �� ���truncate �:ș"XOS_SWINumberFromString",,"Font_ScanString" � Flag% �5� Flag% � 1 �NewFontManager%=� �NewFontManager%=� ��find_fonts ��Loop%,Text$ �� Loop%=0�37 �*Text$=�unpad(�get_text(Main%,Loop%,�)) �Text$<>"" � ș Set%,BaseFontHandle% $Text$=�TrimToFit(Text$,48,Icon%) &#�SetIconText(Loop%,Main%,Text$) 0�Redraw(Main%,Loop%) :� D� N�adjust_caret X�lose_fonts b� ���WipeIconText ��Loop%=0�37 � �SetIconText(Loop%,Main%,"") ��Redraw(Main%,Loop%) �� �*�SetIconText(TapeNumber%,Main%,CasNo$) ��Redraw(Main%,TapeNumber%) �� �'��CreateMainWindowMenu(X%,Y%,Icon%) �-� m%,Flags%,Pointer%,Sel%,IconFlag%,Item$ �MenuActive%=MainWinMenu% ��MainMenu%28+9*24 !$MainMenu%="Main menu" !MainMenu%?12=7 !MainMenu%?13=2 ! MainMenu%?14=7 !*MainMenu%?15=0 !4MainMenu%!16=16*16 !>MainMenu%!20=40 !HMainMenu%!24=0 !Rm%=MainMenu%+28 !\� !f*� Flags%,Pointer%,Sel%,IconFlag%,Item$ !p0m%!0=Flags% !z0m%!4=Pointer% !�.m%!8=IconFlag% � (Sel%<<22) � (7<<24) !�0$(m%+12)=Item$ !�m%=m%+24 !�� Flags%=&80 !�� +0 !�"� &00,Info%, 0,%10001,"Info" !�*� &00,Save%, 0,%10001,"Save F3" !�)� &00,-1, 0,%10001,"Format text" !�(� &00,-1, 0,%10001,"Close gaps" !�(� &00,-1, 0,%10001,"Open a gap" !�*� &00,-1, 0,%10001,"Split side A" !�&� &00,-1, 0,%10001,"Wipe all" "*� &00,-1, 0,%10001,"Undo F8" ")� &80,-1, 0,%10001,"Trim to fit" "+ș"Wimp_CreateMenu",,MainMenu%,X%-64,Y% "$� "B��DragBoxEnd(LeafName$) "LPointer%=�LeafName$ "V/ȕ Pointer%>0 � �LeafName$,Pointer%,1)<>"." "`Pointer%-=1 "j� "t.�DragASprite_Active% �ș"DragASprite_Stop" "~$LeafName$=�LeafName$,Pointer%+1) "�ș"Wimp_GetPointerInfo",,q% "�SenderWindow%=q%!12 "�SenderIcon%=q%!16 "�q%!20=SenderWindow% "�q%!24=SenderIcon% "�q%!28=q%!0 "�q%!32=q%!4 "�q%!0=44+�LeafName$ "�q%!0+=4-(q%!0 � 4) "� q%!4=0 "� q%!8=0 "�q%!12=0 # q%!16=1 # q%!36=0 #q%!40=&B0F #$(q%+44)=LeafName$+�0 #(8ș"Wimp_SendMessage",17,q%,SenderWindow%,SenderIcon% #2� #P=��HandleMessage_DataSave:�taskname$,SendingTask%,Pointer% #ZSendingTask%=q%!4 #�D�q%!20=-2 � �get_text(Main%,0,�)="" � �get_text(Main%,1,�)<>"" � #�SecondCD%=� #�� #�ș"Wimp_GetPointerInfo",,u% #�IconDrop%=u%!16 #�K�(IconDrop%�2=0 � IconDrop%>37 � IconDrop%<0) �SecondCD%=� �SecondCD%=� #�� #�!taskname$=�Task(SendingTask%) #�&LeafNameRecd$ = �ReadString(q%+44) #�%q%!0=(48+�("<Wimp$Scrap> "))� � 3 #�q%!12=q%!8 #�q%!16=2 $ q%!36=-1 $$(q%+44)="<Wimp$Scrap>" $SaveRef%=q%!12 $"#ș"Wimp_SendMessage",17,q%,q%!4 $,� $J��HandleMessage_DataSaveAck $T(� taskname$, SendingTask%, PathName$ $^SendingTask% = q%!4 $h#taskname$ = �Task(SendingTask%) $r PathName$=�ReadString(q%+44) $��SaveTo(PathName$) $�q%!0=40+�PathName$+4 $�q%!0+=4-(q%!0 � 4) $�q%!12=q%!8 $�q%!16=3 $�q%!36=0 $�q%!40=&B0F $�$(q%+44)=PathName$+�0 $�+ș"Wimp_SendMessage",18,q%,SendingTask% $�� %��HandleMessage_DataLoad %&*� q%!40=&DFE � q%!40=&50 �csv(q%!40):� %0�store_for_undo %:� Loop% %D-� Loop%=0 � 1024 � 4:j%!Loop%=q%!Loop% :� %Ntaskname$ = �Task(q%!4) %XSendingTaskID% = q%!4 %b� q%!40=&B0F � %v SaveName$=�ReadString(q%+44) %�!�DoActualLoadThing(SaveName$) %�j%!12=j%!8 %�j%!16=4 %��SaveName$="<Wimp$Scrap>" � %� �("WIPE <Wimp$Scrap> F~V~C") %�� %�-ș"Wimp_SendMessage",17,j%,SendingTaskID% %�� %�� %�,��csv(type%):CSVpath$=�ReadString(q%+44) & csv%=�CSVpath$:�#csv%=�#csv% &K�#csv%=0�type%=&50 �#csv%,0,"File produced from Cassette inlay data. " &,track1%=1:track2%=1:L$="Label " & �side%=0�1 &*�icon%=0+side%�37�2 &4�type%=&DFE � &>)title$=�csv(�get_text(Main%,icon%,�)) &H$�title$=�get_text(Main%,icon%,�) &R� &fS�(icon%<24�icon%>27)��(title$=�2,�34)�type%=&DFE)��(title$=�45," ")�type%=&50)� &p �side%=0� &��type%=&DFE � &���#csv%,title$+","+�csv(�get_text(Main%,25,�))+","+�csv(�get_text(Main%,24,�))+","+�csv("Label")+",0,0,1,"+�(track1%)+",0,0":track1%+=1 &�m��#csv%,0,title$,0,�get_text(Main%,25,�),0,�get_text(Main%,24,�),0,0,0,11,track1%,0,0,0,0,0,L$:track1%+=1 &�� &�� &��type%=&DFE � &Ԋ�#csv%,title$+","+�csv(�get_text(Main%,27,�))+","+�csv(�get_text(Main%,26,�))+","+�csv("Label")+",0,0,1,"+�(track2%)+",0,0":track2%+=1 &�m��#csv%,0,title$,0,�get_text(Main%,27,�),0,�get_text(Main%,26,�),0,0,0,11,track2%,0,0,0,0,0,L$:track2%+=1 &�� &�� &�� '� '� ' �#csv% '$� 'B��HandleMessage_DataLoadAck 'L� 'j��DataOpen 't� File$ '~�q%!40=&B0F � '��store_for_undo '�File$=�ReadString(q%+44) '�q%!12=q%!8 '�q%!16=4 '�#ș"Wimp_SendMessage",17,q%,q%!4 '��DoActualLoadThing(File$) '�� '�� '���SaveTo(PathName$) '�Pointer%=�PathName$ ( /ȕ Pointer%>1 � �PathName$,Pointer%,1)<>"." ( Pointer%-=1 (� (K�Pointer%=1 � PathName$<>"<Wimp$Scrap>" ��advice(�m(mf%,"NoPath"),17):� ((ș"Wimp_CreateMenu",,-1 (2�leaf(PathName$)<>""� (<SaveFile%=�(PathName$) (P�Loop%=0�37 (Z(�#SaveFile%,�get_text(Main%,Loop%,�) (d� (n.�#SaveFile%,�get_text(Main%,TapeNumber%,�) (��#SaveFile% (� �"SetType "+PathName$+" B0F" (�?�PathName$<>"<Wimp$Scrap>" ��SetIconText(1,Save%,PathName$) (�%T$=�get_text(Main%,TapeNumber%,�) (��T$,3)="No "��T$=6� (�%A$=�T$,4,1):B$=�T$,5,1):C$=�T$,1) (�/�A$>47��A$<58��B$>47��B$<58��C$>47��C$<58� (�T%=��T$,3):�T%=999T%=0 (�CasNo$="No "+�z(T%+1,3) (�*�SetIconText(TapeNumber%,Main%,CasNo$) (��Redraw(Main%,TapeNumber%) )� )� )!��advice(�m(mf%,"NoFile"),17) )"� ),� )J��DragSave )T� flags%,byte% )^DragASprite_Active% = � )h<ș"XOS_SWINumberFromString",,"DragASprite_&00" � ;flags% )r ș"OS_Byte",161,28 � ,,byte% )|=� (flags% � 1)=0 � (byte% � 2)=2 �DragASprite_Active% = � )� !q%=Save% )�ș"Wimp_GetWindowState",,q% )�OffsetX%=q%!4-q%!20 )�OffsetY%=q%!16-q%!24 )�q%!0=Save% )� q%!4=0 )�ș"Wimp_GetIconState",,q% )� !q%=Save% )� q%!4=5 )�q%!8=q%!8+OffsetX% )�q%!12=q%!12+OffsetY% )�q%!16=q%!16+OffsetX% )�q%!20=q%!20+OffsetY% *q%!24=0 *q%!28=0 *q%!32=&7FFFFFFF *&q%!36=&7FFFFFFF *0� DragASprite_Active% � *:5ș"DragASprite_Start",197,1,"file_b0f",q%+8,q%+24 *D� *Nș"Wimp_DragBox",,q% *X� *b� *���LoadData(FileName$) *�%� LoadFile%, LoadLoop%, TempText$ *�LoadFile%=�(FileName$) *�� LoadLoop%=0 � 37 *�� SecondCD%=� � *�(AdjLoadLoop%=�adjloadloop(LoadLoop%) *�� AdjLoadLoop%=LoadLoop% *�� *��# LoadFile%,TempText$ *�B� SecondCD%=� � (SecondCD%=� � LoadLoop%�2=0) � LoadLoop%=25 � *�0�LoadLoop%<26 � LoadLoop%>27 � SecondCD%=� � *�.�SetIconText(AdjLoadLoop%,Main%,TempText$) +�Redraw(Main%,AdjLoadLoop%) +� +� + � +*�# LoadFile%,TempText$ +4-�SetIconText(TapeNumber%,Main%,TempText$) +>�Redraw(Main%,TapeNumber%) +H� #LoadFile% +R� +p$��SwapCase(Window%,Icon%,Index%) +z*� Index%<�(�get_text(Main%,Icon%,�)) � +�&IconText$=�get_text(Main%,Icon%,�) +�&C%=�(�IconText$,Index%+1,1)) � &DF +�� C%>=&41 � C%<=&5A � +�)C$=�(�(�IconText$,Index%+1,1)) � &20) +��IconText$,Index%+1,1)=C$ +�)�SetIconText(Icon%,Window%,IconText$) +��Redraw(Main%,Icon%) +�� +�%�SetCaretPosition(Icon%,Index%+1) +�� +�� ,��MoveDownAnEntry ,I� Icon%<22 � (Icon%>23 � Icon%<26) ��SetCaretPosition(Icon%+2,Index%) ,<� Icon%=22 � Icon%=23 ��SetCaretPosition(Icon%+6,Index%) ,$<� Icon%>27 � Icon%<36 ��SetCaretPosition(Icon%+2,Index%) ,.=� Icon%=36 � Icon%=37 ��SetCaretPosition(Icon%-36,Index%) ,8� ,V��MoveUpAnEntry ,`U� (Icon%<24 � Icon%>1) � (Icon%<38 � Icon%>29) ��SetCaretPosition(Icon%-2,Index%) ,j<� Icon%=28 � Icon%=29 ��SetCaretPosition(Icon%-6,Index%) ,t<� Icon%=26 � Icon%=27 ��SetCaretPosition(Icon%-2,Index%) ,~=� Icon%=00 � Icon%=01 ��SetCaretPosition(Icon%+36,Index%) ,�� ,�"��Initialise_Program_Variables ,�� Box% 16 :� Box2% 16 ,�� Matrix% 16 ,�ScaleX%=1 :ScaleY%=1 ,�,Matrix%!04=0 :Matrix%!00=2^16*ScaleX% ,�,Matrix%!08=0 :Matrix%!12=2^16*ScaleY% ,�� Origin% 8 ,�ram_save%=�:save_length%=� - DragASprite_Active% = � - IconBarMenu% = 0 -MainWinMenu% = 1 -SecondCD% = � -(New% = � -2OldName$ = "" -<LeafNameRecd$ = "" -F� gap$(33) -P� insert$(15) -Z� undo$(38) -nSBackGround%= -1 :IconBar%= -2 :SideA%=38 :SideB%=39 :Print%=42 :TapeNumber%= 41 -xSaveIcon%= 0 :SaveOK%=2 -�^TopSetSideONEStart%=00 :TopSetSideONEEnd%=22 :TopSetSideTWOStart%=01 :TopSetSideTWOEnd%=23 -�^BtmSetSideONEStart%=28 :BtmSetSideONEEnd%=36 :BtmSetSideTWOStart%=29 :BtmSetSideTWOEnd%=37 -�&TitleSideONE%=24 :TitleSideTWO%=26 -�(ArtistSideONE%=25 :ArtistSideTWO%=27 -��ReadUserData -�7ș"OS_SWINumberFromString",,"Font_FindFont" � Find% -�7ș"OS_SWINumberFromString",,"Font_LoseFont" � Lose% -�5ș"OS_SWINumberFromString",,"Font_SetFont" � Set% -�5ș"OS_SWINumberFromString",,"Font_Paint" � Paint% -�EDeskTopSave$="Run "+�ConvertSystemToString("Cassette$Dir")+�(&0A) -�9BaseFont$=�ConvertSystemToString("Cassette$BaseFont") -�9BoldFont$=�ConvertSystemToString("Cassette$BoldFont") .0CasNo$=�ConvertSystemToString("Tape$Prefix") .�(CasNo$)>2� .Clipped$=�CasNo$,2) ."!q%=9090 .,oError$="Tape$Prefix is set to longer than 2 characters. OK to clip to "+Clipped$+" Cancel to abort program" .6$(q%+4)=Error$+�0 .@7ș"Wimp_ReportError",q%,%011,MyTaskName$ � ,Result% .J�Result%=2�CloseDown .TCasNo$=Clipped$+" 001" .^� .hCasNo$=CasNo$+" 001" .r� .|� .���ReadUserData .�0PrintPos%=�"<Cassette$Dir>.Resources.PrintY" .��PrintPos%>0� .� P$="#" .� ȕ �P$,1)="#" �� �#PrintPos% .�P$=�#PrintPos% .�� .��P$="#" P$="25" .�PrintY%=((��P$)*72000)�25.4 /�PrintY%=72000 /� /�#PrintPos% /00PrintNo%=�"<Cassette$Dir>.Resources.PrintNo" /:�PrintNo%>0 � /D P$="#" /Nȕ �P$,1)="#" �� �#PrintNo% /XP$=�#PrintNo% /b� /l�P$="#" P$="1" /vPrintTapeNumber%=(�P$=1) /��PrintTapeNumber%=� /�� /��#PrintNo% /�� /���LoadFileIfRequired /�ș"OS_GetEnv" � Command$ /�I%=�Command$," -Load ") /� � I% � /�I%+=�" -Load " /�"ȕ �Command$,I%,1)=" ":I%+=1:� /�FileName$=�Command$,I%) 0/FileName$=�FileName$,�FileName$+" "," ")-1) 0C� FileName$<>"" �StartWithLoad=� :�DoActualLoadThing(FileName$) 0� 0 StartWithLoad=� 0*� 04� 0R"��DoActualLoadThing(FileName$) 0f"� FileName$ = "<Wimp$Scrap>" � 0p'�SetIconText(1,Save%,LeafNameRecd$) 0z� 0�#�SetIconText(1,Save%,FileName$) 0�SecondCD%=� 0�� 0��LoadData(FileName$) 0��OpenMainWindow(�) 0�� 0���PrintOut(mb%) 0��Printer_OnLine=� � 0�:ș"XOS_SWINumberFromString",,"Font_ScanString" � Flag% 12�Flag%�1 �NewFontManager%=� �NewFontManager%=� 1� PrintFile%,OldJob%,White% 1SomeTextTrimmed%=� 1$White%=&FFFFFF00 18PrintFile%=�"printer:" 1B� � 1L;� � �:� �:�#PrintFile%:�advice(�m(mf%,"NoDriver"),17):� 1`:ș"PDriver_SelectJob",PrintFile%,"Print Job" � OldJob% 1jș"Hourglass_On" 1t� � 1~�� � �:� �:ș"Hourglass_Off":ș"PDriver_AbortJob",PrintFile%:ș"PDriver_SelectJob",OldJob%:�advice(�m(mf%,"PrintError"),17):� 1��GetDocumentSize(Box%) 1��FitToPage(Height%,Width%) 1�:ș"PDriver_GiveRectangle",,Box%,Matrix%,Origin%,White% 1�2ș"PDriver_DrawPage",1,Box2%,0,0 � CopiesLeft% 1�ȕ CopiesLeft% 1��Mini_WIMP_Poll 1��DrawInlay(Box2%,mb%) 1�0ș"PDriver_GetRectangle",,Box% � CopiesLeft% 1�� 2 !ș"PDriver_EndJob",PrintFile% 2� � 22ș"Hourglass_Off" 2<!ș"PDriver_SelectJob",OldJob% 2P� � 2d� #PrintFile% 2n6�SomeTextTrimmed%=� ��advice(�m(mf%,"TextCut"),17) 2x� 2�� 2���GetDocumentSize(Box%) 2� Height%=725 :Width%=725 2�%X1%=4 :X2%=Width%�2 :X3%=Width% 2�BY1%=0 :Y2%=163 :Y3%=Y2%+92 :Y4%=Height%-70 :Y5%=Height% 2�Box%!0=0 :Box%!4=0 2�)Box%!8=Width%+20 :Box%!12=Height%+20 2�� 2���FitToPage(Height%,Width%) 2�� Left%,Bottom%,Right%,Top% 37ș"PDriver_PageSize" � ,,,Left%,Bottom%,Right%,Top% 3QOriginX%=((Right%+Left%)-(Width%*400))/2 :OriginY%=Top%-(Height%*400)-PrintY% 3"*Origin%!0=OriginX% :Origin%!4=OriginY% 3,� 3@"��DrawInlay(Co_ordinateq%,mb%) 3J�find_fonts 3T9�FontPaint("",�get_text(Main%,24,�),X1%+10,Y4%+40,24) 3^9�FontPaint("",�get_text(Main%,25,�),X1%+10,Y4%+05,25) 3h9�FontPaint("",�get_text(Main%,26,�),X2%+10,Y4%+40,26) 3r9�FontPaint("",�get_text(Main%,27,�),X2%+10,Y4%+05,27) 3|Separation=(Y4%-Y3%)/12 3� SpaceStartY=Y3% + Separation 3� Track%=22 3�+ș"ColourTrans_SetGCOL",&D0D0D000,,,0,0 3��Mini_WIMP_Poll 3�ȕ SpaceStartY <= Y4% 3�@� SpaceStartY < Y4%-10 �� X1%,SpaceStartY :� X3%,SpaceStartY 3�#Text$=�get_text(Main%,Track%,�) 3�5�FontPaint("",Text$,X1%+10,SpaceStartY-25,Track%) 3�%Text$=�get_text(Main%,Track%+1,�) 3�7�FontPaint("",Text$,X2%+10,SpaceStartY-25,Track%+1) 3�SpaceStartY+=Separation 3� Track%-=2 3�� 4ASpineLine1$=�get_text(Main%,24,�)+" - "+�get_text(Main%,25,�) 4C�SpineLine1$,3)=" - " SpineLine1$=�SpineLine1$,�SpineLine1$-3) 4C��SpineLine1$,3)=" - " SpineLine1$=�SpineLine1$,�SpineLine1$-3) 4&ASpineLine2$=�get_text(Main%,26,�)+" - "+�get_text(Main%,27,�) 40C�SpineLine2$,3)=" - " SpineLine2$=�SpineLine2$,�SpineLine2$-3) 4:C��SpineLine2$,3)=" - " SpineLine2$=�SpineLine2$,�SpineLine2$-3) 4D3�FontPaint("Bold",SpineLine1$,X1%+10,Y2%+55,24) 4N3�FontPaint("Bold",SpineLine2$,X1%+10,Y2%+15,26) 4b;�PrintTapeNumber%=� �mb%=4 �PrintTapeNumber%=� �mb%=1 � 4l�PrintTapeNumber 4v� 4�Separation=(Y2%-Y1%)/5 4� SpaceStartY=Y1% + Separation 4� Track%=36 4��Mini_WIMP_Poll 4�ȕ SpaceStartY <= Y2% 4�?� SpaceStartY < Y2%-10 � X1%,SpaceStartY :� X3%,SpaceStartY 4�#Text$=�get_text(Main%,Track%,�) 4�5�FontPaint("",Text$,X1%+10,SpaceStartY-25,Track%) 4�%Text$=�get_text(Main%,Track%+1,�) 4�7�FontPaint("",Text$,X2%+10,SpaceStartY-25,Track%+1) 4�SpaceStartY+=Separation 4� Track%-=2 4�� 5+ș"ColourTrans_SetGCOL",&00000000,,,0,0 5ȓ X1%,Y1%,X3%,Y5% 5ȓ X1%,Y2%,X3%,Y3%-Y2% 5 � X2%,Y1% :� X2%,Y2% 5*� X2%,Y3% :� X2%,Y4% 54� X1%,Y4% :� X3%,Y4% 5>�lose_fonts 5H� 5f.��FontPaint(PostFix$,Message$,X%,Y%,Icon%) 5p� FontHandle% 5�� Message$<>"" � 5�� PostFix$="" � 5�ș Set%,BaseFontHandle% 5�'Text$=�TrimToFit(Message$,48,Icon%) 5�� 5�ș Set%,BoldFontHandle% 5�'Text$=�TrimToFit(Message$,99,Icon%) 5�� 5�8ș"ColourTrans_SetFontColours",0,&FFFFFF00,&00000000 5�ș Paint%,,Text$,&210,X%,Y% 5�� 5�� 6(��PrintTapeNumber:�Text$,FontHandle% 63șFind%,,BaseFont$,8*16,10*16,0,0 � FontHandle% 6$8ș"ColourTrans_SetFontColours",0,&FFFFFF00,&00000000 6.(Text$=�get_text(Main%,TapeNumber%,�) 68&ș Paint%,,Text$,&10,X3%-60,Y2%+60 6Bș Lose%,FontHandle% 6L� 6j��find_fonts 6t9ș Find%,,BaseFont$,09*16,12*16,0,0 � BaseFontHandle% 6~9ș Find%,,BoldFont$,10*16,13*16,0,0 � BoldFontHandle% 6�� 6���lose_fonts 6�ș Lose%,BaseFontHandle% 6�ș Lose%,BoldFontHandle% 6�� 6���OpenSubMenu(Window%) 6�ș"Wimp_GetPointerInfo",,q% 6�0ș"Wimp_CreateMenu",,Window%,q%!0-64,q%!4+48 6�� 7��FormatIconText:� Loop% 76�Loop%=TopSetSideONEStart% � TopSetSideTWOEnd% � 2 7()�SetIconText(Loop%,Main%,�CEW(Loop%)) 72-�SetIconText(Loop%+1,Main%,�CEW(Loop%+1)) 7<�Redraw(Main%,Loop%) 7F�Redraw(Main%,Loop%+1) 7P� 7Z6�Loop%=BtmSetSideONEStart% � BtmSetSideTWOEnd% � 2 7d)�SetIconText(Loop%,Main%,�CEW(Loop%)) 7n-�SetIconText(Loop%+1,Main%,�CEW(Loop%+1)) 7x�Redraw(Main%,Loop%) 7��Redraw(Main%,Loop%+1) 7�� 7��Adjust%=� � 7�9�SetIconText(TitleSideONE%,Main%,�CEW(TitleSideONE%)) 7�9�SetIconText(TitleSideTWO%,Main%,�CEW(TitleSideTWO%)) 7�;�SetIconText(ArtistSideONE%,Main%,�CEW(ArtistSideONE%)) 7�;�SetIconText(ArtistSideTWO%,Main%,�CEW(ArtistSideTWO%)) 7�� 7�>�SetIconText(TitleSideONE%,Main%,�Icon_FTU(TitleSideONE%)) 7�>�SetIconText(TitleSideTWO%,Main%,�Icon_FTU(TitleSideTWO%)) 7�@�SetIconText(ArtistSideONE%,Main%,�Icon_FTU(ArtistSideONE%)) 8@�SetIconText(ArtistSideTWO%,Main%,�Icon_FTU(ArtistSideTWO%)) 8� 8 �CDtracker%=� �cdtracker_off 8")�Loop%=TitleSideONE% � ArtistSideTWO% 8,�Redraw(Main%,Loop%) 86� 8@�adjust_caret 8J� 8h#��cdtracker_off:� t1$,t2$,Loop% 8r7t1$=�get_text(Main%,26,�):t2$=�get_text(Main%,27,�) 8|`�case(t1$)=�case("CD filed within CDtracker's Music")��case(�t2$,11))=�case("Category - ")� 8�/�Loop%=26�27:�SetIconText(Loop%,Main%,""):� 8�� 8�� 8���adjust_caret 8�!ș"Wimp_GetCaretPosition",,q% 8�@�!q%=Main% ��SetCaretPosition(q%!4,��get_text(Main%,q%!4,�)) 8�� 9?��LowPowerWarning:�SaveName$,Pointer%,LeafName$,MyScrapDir$ 9&7MyScrapDir$=�ConvertSystemToString("Wimp$ScrapDir") 90�MyScrapDir$=""� 9:4MyScrapDir$=�ConvertSystemToString("Wimp$Scrap") 9D�MyScrapDir$="" �� 9NPointer%=�(MyScrapDir$) 9X0ȕPointer%>1 � �MyScrapDir$,Pointer%,1)<>"." 9bPointer%-=1 9l� 9v�Pointer%=1 �� 9�*MyScrapDir$=�MyScrapDir$,(Pointer%-1)) 9�� 9�'MyScrapDir$=MyScrapDir$+".Cassette" 9��"CDir "+MyScrapDir$ 9�,�SaveTo(MyScrapDir$+"."+�InventSaveName) 9�� 9���DeskTopSave 9��#(q%!20),DeskTopSave$ 9�� 9���Mini_WIMP_Poll :ș"PDriver_SelectJob",0 :ș"Hourglass_Off" :ș"Wimp_Poll",0,q% � A% : ȎA%� :*�2:ș"Wimp_OpenWindow",,q% :4�3:ș"Wimp_CloseWindow",,q% :> �17,18:�DecodeMessage(q%!16) :H� :Rș"Hourglass_On" :\$ș"PDriver_SelectJob",PrintFile% :f� :���store_for_undo :��icon%=0�37 :�)undo$(icon%)=�get_text(Main%,icon%,�) :�� :�,undo$(38)=�get_text(Main%,TapeNumber%,�) :�� :� ��undo :��undo=� � :��icon%=0�37 :�*�SetIconText(icon%,Main%,undo$(icon%)) ;� ;-�SetIconText(TapeNumber%,Main%,undo$(38)) ;�icon%=0�37 ;$�Redraw(Main%,icon%) ;.� ;8�Redraw(Main%,TapeNumber%) ;B�SetCaretPosition(0,0) ;L� ;V� ;���get_memory(mem%,x%) ;�.ș"Wimp_SlotSize",app_size%+mem%,-1 � new% ;��new%<app_size%+mem% � ;�err_flag%=� ;��advice(�m(mf%,"NoMem"),17) ;�"ș"Wimp_SlotSize",app_size%,-1 ;�� ;�/�x%=1 �ș"XOS_Heap",5,heap%,,new%-app_size% ;�heap_size%=new%+&8000-� ;�app_size%=new% ;�� ;�� <��setup_heap(init_size%) <�get_memory(init_size%,0) <(�(err_flag%) � <2heap%=� <<$ș"XOS_Heap",0,heap%,,heap_size% <F� <P� <n��lose_memory <x� <�.ș"XOS_Heap",5,heap%,,-page% � ,,,s%;flag% <��(flag% � 1) � <�ș"XOS_Heap",5,heap%,,s% <�� <�(ș"Wimp_SlotSize",app_size%-page%,-1 <�&app_size%-=page%:heap_size%-=page% <�� <��(flag% � 1) <�� =*��alter_block(� ptr%,size%):�err_flag% =� =2ș"XOS_Heap",4,heap%,ptr%,size% � ,,ptr%;flag% =,&�(flag% � 1) ��get_memory(page%,1) =6 �(flag% � 1)=0 � err_flag%=� =@�(err_flag%) � =T�size%<0 ��lose_memory =^� =h� =���de_allocate(ptr%) =�ș"XOS_Heap",3,heap%,ptr% =��lose_memory =�� =�5��encode_save_block(� save_block%,text$,pointer%) =�save_block%?pointer%=0 =�pointer%+=1 =�save_block%?pointer%=�text$ =��text$<>""� >�count%=�text$�1�-1 >pointer%+=1 >,save_block%?pointer%=�(�text$,count%,1)) >&� >0� >:� >N��close_window(q%):win%=!q% >Xș"Wimp_GetPointerInfo",,q% >b�q%!8 � 1 � >ldir$=�get_text(Save%,1,�) >v�dir$,".")� >�� >�dir$=�dir$,�dir$-1) >���dir$,1)="." >�dir$=�dir$,�dir$-1) >�!q%=256:q%!12=0 >�q%!16=&400:q%!20=0 >�q%!24=0:$(q%+28)=dir$ >�"ș"Wimp_SendMessage",18,q%,0,0 >�� >�� >� �(�-1) � >�!q%=win% >�ș"Wimp_CloseWindow",,q% ?� ?� ? D��advice(err$,flag%):�flag%�16 �name$="Advice from "+MyTaskName$ ?*&flag%+=256:!q%=255:$(q%+4)=err$+�0 ?4<ș"Wimp_ReportError",q%,flag%,name$,"!cassette",1 � ,ok% ?>� �
00000000 0d 00 0a 10 f4 20 3e 21 52 75 6e 49 6d 61 67 65 |..... >!RunImage| 00000010 0d 00 32 26 56 65 72 73 69 6f 6e 24 3d 22 31 2e |..2&Version$="1.| 00000020 33 35 64 20 28 32 32 6e 64 20 4d 61 72 63 68 20 |35d (22nd March | 00000030 31 39 39 37 29 22 0d 00 3c 26 c8 9b 20 22 3c 43 |1997)"..<&.. "<C| 00000040 61 73 73 65 74 74 65 24 44 69 72 3e 2e 52 65 73 |assette$Dir>.Res| 00000050 6f 75 72 63 65 73 2e 48 65 6c 70 22 0d 00 46 0b |ources.Help"..F.| 00000060 de 71 25 31 30 32 34 0d 00 50 0b de 6a 25 31 30 |.q%1024..P..j%10| 00000070 32 34 0d 00 5a 0a de 75 25 32 35 35 0d 00 6e 15 |24..Z..u%255..n.| 00000080 61 70 70 5f 73 69 7a 65 25 3d 93 2d 26 38 30 30 |app_size%=.-&800| 00000090 30 0d 00 78 0b 68 65 61 70 25 3d 30 0d 00 82 21 |0..x.heap%=0...!| 000000a0 c8 99 22 4f 53 5f 52 65 61 64 4d 65 6d 4d 61 70 |.."OS_ReadMemMap| 000000b0 49 6e 66 6f 22 20 b8 20 70 61 67 65 25 0d 00 96 |Info" . page%...| 000000c0 1b f2 49 6e 69 74 69 61 6c 69 73 65 5f 57 49 4d |..Initialise_WIM| 000000d0 50 5f 53 79 73 74 65 6d 0d 00 aa 35 6d 66 25 3d |P_System...5mf%=| 000000e0 a4 6d 66 5f 6f 70 65 6e 28 22 3c 43 61 73 73 65 |.mf_open("<Casse| 000000f0 74 74 65 24 44 69 72 3e 2e 52 65 73 6f 75 72 63 |tte$Dir>.Resourc| 00000100 65 73 2e 4d 65 73 73 61 67 65 73 22 29 0d 00 be |es.Messages")...| 00000110 23 f2 53 65 74 49 63 6f 6e 54 65 78 74 28 31 35 |#.SetIconText(15| 00000120 2c 49 6e 66 6f 25 2c 56 65 72 73 69 6f 6e 24 29 |,Info%,Version$)| 00000130 0d 00 d2 26 f2 53 65 74 49 63 6f 6e 54 65 78 74 |...&.SetIconText| 00000140 28 31 2c 53 61 76 65 25 2c 22 43 61 73 73 4e 6f |(1,Save%,"CassNo| 00000150 a0 30 30 31 22 29 0d 00 e6 13 ee 20 85 20 f2 57 |.001")..... . .W| 00000160 69 6d 70 5f 45 72 72 6f 72 0d 00 f0 21 f2 49 6e |imp_Error...!.In| 00000170 69 74 69 61 6c 69 73 65 5f 50 72 6f 67 72 61 6d |itialise_Program| 00000180 5f 56 61 72 69 61 62 6c 65 73 0d 01 04 17 f2 4c |_Variables.....L| 00000190 6f 61 64 46 69 6c 65 49 66 52 65 71 75 69 72 65 |oadFileIfRequire| 000001a0 64 0d 01 18 13 ee 20 85 20 f2 57 69 6d 70 5f 45 |d..... . .Wimp_E| 000001b0 72 72 6f 72 0d 01 2c 05 f5 0d 01 36 1d c8 99 22 |rror..,....6..."| 000001c0 57 69 6d 70 5f 50 6f 6c 6c 22 2c 4d 61 73 6b 25 |Wimp_Poll",Mask%| 000001d0 2c 71 25 b8 41 25 0d 01 40 09 c8 8e 41 25 ca 0d |,q%.A%..@...A%..| 000001e0 01 4a 1e c9 32 3a c8 99 22 57 69 6d 70 5f 4f 70 |.J..2:.."Wimp_Op| 000001f0 65 6e 57 69 6e 64 6f 77 22 2c 2c 71 25 0d 01 54 |enWindow",,q%..T| 00000200 18 c9 33 3a f2 63 6c 6f 73 65 5f 77 69 6e 64 6f |..3:.close_windo| 00000210 77 28 71 25 29 0d 01 5e 15 c9 36 3a f2 42 75 74 |w(q%)..^..6:.But| 00000220 74 6f 6e 50 72 65 73 73 65 64 0d 01 68 28 c9 37 |tonPressed..h(.7| 00000230 3a f2 44 72 61 67 42 6f 78 45 6e 64 28 a4 67 65 |:.DragBoxEnd(.ge| 00000240 74 5f 74 65 78 74 28 53 61 76 65 25 2c 31 2c a3 |t_text(Save%,1,.| 00000250 29 29 0d 01 72 19 c9 38 3a f2 50 72 6f 63 65 73 |))..r..8:.Proces| 00000260 73 4b 65 79 28 71 25 21 32 34 29 0d 01 7c 15 c9 |sKey(q%!24)..|..| 00000270 39 3a f2 4d 65 6e 75 53 65 6c 65 63 74 69 6f 6e |9:.MenuSelection| 00000280 0d 01 86 23 c9 31 37 2c 31 38 2c 31 39 3a f2 44 |...#.17,18,19:.D| 00000290 65 63 6f 64 65 4d 65 73 73 61 67 65 28 71 25 21 |ecodeMessage(q%!| 000002a0 31 36 29 0d 01 90 05 cb 0d 01 9a 07 fd 20 a3 0d |16).......... ..| 000002b0 01 ae 30 dd a4 6d 28 6d 68 25 2c 74 6f 6b 24 29 |..0..m(mh%,tok$)| 000002c0 3a ea 73 24 3a c8 99 26 34 31 35 30 32 2c 6d 68 |:.s$:..&41502,mh| 000002d0 25 2c 74 6f 6b 24 b8 2c 2c 73 24 3a 3d 73 24 0d |%,tok$.,,s$:=s$.| 000002e0 01 b8 2f dd a4 6d 66 5f 6f 70 65 6e 28 6e 61 6d |../..mf_open(nam| 000002f0 65 24 29 3a c8 99 22 4f 53 5f 4d 6f 64 75 6c 65 |e$):.."OS_Module| 00000300 22 2c 36 2c 2c 2c 31 36 b8 2c 2c 6d 68 25 0d 01 |",6,,,16.,,mh%..| 00000310 c2 2e c8 99 22 4d 65 73 73 61 67 65 54 72 61 6e |...."MessageTran| 00000320 73 5f 4f 70 65 6e 46 69 6c 65 22 2c 6d 68 25 2c |s_OpenFile",mh%,| 00000330 6e 61 6d 65 24 2c 30 3a 3d 6d 68 25 0d 01 d6 47 |name$,0:=mh%...G| 00000340 dd f2 6d 66 5f 63 6c 6f 73 65 28 6d 68 25 29 3a |..mf_close(mh%):| 00000350 c8 99 22 4d 65 73 73 61 67 65 54 72 61 6e 73 5f |.."MessageTrans_| 00000360 43 6c 6f 73 65 46 69 6c 65 22 2c 6d 68 25 3a c8 |CloseFile",mh%:.| 00000370 99 22 4f 53 5f 4d 6f 64 75 6c 65 22 2c 37 2c 2c |."OS_Module",7,,| 00000380 6d 68 25 0d 01 e0 05 e1 0d 01 fe 18 dd a4 61 64 |mh%...........ad| 00000390 6a 6c 6f 61 64 6c 6f 6f 70 28 6c 6f 6f 70 25 29 |jloadloop(loop%)| 000003a0 0d 02 08 16 e7 6c 6f 6f 70 25 3c 32 34 3a 3d 6c |.....loop%<24:=l| 000003b0 6f 6f 70 25 2b 31 0d 02 12 21 e7 6c 6f 6f 70 25 |oop%+1...!.loop%| 000003c0 3d 32 34 20 84 20 6c 6f 6f 70 25 3d 32 35 3a 3d |=24 . loop%=25:=| 000003d0 6c 6f 6f 70 25 2b 32 0d 02 1c 21 e7 6c 6f 6f 70 |loop%+2...!.loop| 000003e0 25 3e 32 37 20 80 20 6c 6f 6f 70 25 3c 33 38 3a |%>27 . loop%<38:| 000003f0 3d 6c 6f 6f 70 25 2b 31 0d 02 26 0a 3d 6c 6f 6f |=loop%+1..&.=loo| 00000400 70 25 0d 02 80 21 dd a4 61 6c 6c 6f 63 61 74 65 |p%...!..allocate| 00000410 28 73 69 7a 65 25 29 3a ea 20 65 72 72 5f 66 6c |(size%):. err_fl| 00000420 61 67 25 0d 02 8a 23 e7 68 65 61 70 25 3d 30 20 |ag%...#.heap%=0 | 00000430 8c f2 73 65 74 75 70 5f 68 65 61 70 28 73 69 7a |..setup_heap(siz| 00000440 65 25 2b 31 36 29 0d 02 94 13 e7 ac 28 65 72 72 |e%+16)......(err| 00000450 5f 66 6c 61 67 25 29 20 8c 0d 02 9e 22 c8 99 22 |_flag%) ....".."| 00000460 58 4f 53 5f 48 65 61 70 22 2c 31 2c 68 65 61 70 |XOS_Heap",1,heap| 00000470 25 20 b8 20 2c 2c 66 72 65 65 25 0d 02 a8 2c e7 |% . ,,free%...,.| 00000480 66 72 65 65 25 3c 73 69 7a 65 25 20 8c f2 67 65 |free%<size% ..ge| 00000490 74 5f 6d 65 6d 6f 72 79 28 73 69 7a 65 25 2d 66 |t_memory(size%-f| 000004a0 72 65 65 25 2c 31 29 0d 02 b2 12 e7 ac 28 65 72 |ree%,1)......(er| 000004b0 72 5f 66 6c 61 67 25 29 8c 0d 02 bc 26 c8 99 22 |r_flag%)....&.."| 000004c0 58 4f 53 5f 48 65 61 70 22 2c 32 2c 68 65 61 70 |XOS_Heap",2,heap| 000004d0 25 2c 2c 73 69 7a 65 25 b8 2c 2c 70 74 72 25 0d |%,,size%.,,ptr%.| 000004e0 02 c6 05 cd 0d 02 d0 05 cd 0d 02 da 11 e7 65 72 |..............er| 000004f0 72 5f 66 6c 61 67 25 20 3d 30 0d 02 e4 09 3d 70 |r_flag% =0....=p| 00000500 74 72 25 0d 03 02 13 dd a4 75 6e 70 61 64 28 61 |tr%......unpad(a| 00000510 24 29 3a ea 61 25 0d 03 0c 0e 61 25 3d 97 c2 61 |$):.a%....a%=..a| 00000520 24 2c 31 29 0d 03 16 12 c8 95 61 25 3d 33 32 84 |$,1)......a%=32.| 00000530 61 25 3d 31 36 30 0d 03 20 11 61 24 3d c0 61 24 |a%=160.. .a$=.a$| 00000540 2c a9 61 24 2d 31 29 0d 03 2a 0e 61 25 3d 97 c2 |,.a$-1)..*.a%=..| 00000550 61 24 2c 31 29 0d 03 34 05 ce 0d 03 3e 07 3d 61 |a$,1)..4....>.=a| 00000560 24 0d 03 5c 27 dd a4 73 70 65 63 69 61 6c 5f 73 |$..\'..special_s| 00000570 74 72 69 6e 67 28 74 65 78 74 24 2c 73 70 65 63 |tring(text$,spec| 00000580 24 2c 72 65 70 6c 24 29 0d 03 66 1b e7 a7 74 65 |$,repl$)..f...te| 00000590 78 74 24 2c 73 70 65 63 24 29 3d 30 3a 3d 74 65 |xt$,spec$)=0:=te| 000005a0 78 74 24 0d 03 70 11 6c 65 6e 25 3d a9 73 70 65 |xt$..p.len%=.spe| 000005b0 63 24 2b 31 0d 03 7a 17 74 65 78 74 24 3d 22 20 |c$+1..z.text$=" | 000005c0 22 2b 74 65 78 74 24 2b 22 20 22 0d 03 84 17 73 |"+text$+" "....s| 000005d0 70 65 63 24 3d 22 20 22 2b 73 70 65 63 24 2b 22 |pec$=" "+spec$+"| 000005e0 20 22 0d 03 8e 05 f5 0d 03 98 16 70 6f 73 25 3d | ".........pos%=| 000005f0 a7 74 65 78 74 24 2c 73 70 65 63 24 29 0d 03 a2 |.text$,spec$)...| 00000600 0d e7 70 6f 73 25 3e 30 20 8c 0d 03 ac 3f 74 65 |..pos%>0 ....?te| 00000610 78 74 24 3d c0 74 65 78 74 24 2c 70 6f 73 25 2d |xt$=.text$,pos%-| 00000620 31 29 2b 22 20 22 2b 72 65 70 6c 24 2b 22 20 22 |1)+" "+repl$+" "| 00000630 2b c2 74 65 78 74 24 2c a9 74 65 78 74 24 2d 70 |+.text$,.text$-p| 00000640 6f 73 25 2d 6c 65 6e 25 29 0d 03 b6 05 cd 0d 03 |os%-len%).......| 00000650 c0 15 fd 20 a7 74 65 78 74 24 2c 73 70 65 63 24 |... .text$,spec$| 00000660 29 3d 30 0d 03 ca 1d 3d a4 75 6e 70 61 64 28 c2 |)=0....=.unpad(.| 00000670 74 65 78 74 24 2c a9 74 65 78 74 24 2d 31 29 29 |text$,.text$-1))| 00000680 0d 03 e8 1f dd a4 63 61 73 65 28 63 61 73 65 24 |......case(case$| 00000690 29 3a e7 63 61 73 65 24 3d 22 22 3a 3d 22 22 0d |):.case$="":="".| 000006a0 03 f2 0a ea 4c 6f 6f 70 25 0d 03 fc 19 43 24 3d |....Loop%....C$=| 000006b0 22 22 3a e3 4c 6f 6f 70 25 3d 31 b8 a9 63 61 73 |"":.Loop%=1..cas| 000006c0 65 24 0d 04 06 28 5a 25 3d 97 c1 63 61 73 65 24 |e$...(Z%=..case$| 000006d0 2c 4c 6f 6f 70 25 29 3a e7 5a 25 3e 36 34 80 5a |,Loop%):.Z%>64.Z| 000006e0 25 3c 39 31 5a 25 2b 3d 33 32 0d 04 10 0d 43 24 |%<91Z%+=32....C$| 000006f0 2b 3d bd 5a 25 3a ed 0d 04 1a 07 3d 43 24 0d 04 |+=.Z%:.....=C$..| 00000700 38 2a dd a4 43 45 57 28 49 63 6f 6e 25 29 3a ea |8*..CEW(Icon%):.| 00000710 49 63 6f 6e 54 65 78 74 24 2c 49 6e 64 65 78 25 |IconText$,Index%| 00000720 2c 45 6e 64 25 2c 43 25 0d 04 42 26 49 63 6f 6e |,End%,C%..B&Icon| 00000730 54 65 78 74 24 3d a4 67 65 74 5f 74 65 78 74 28 |Text$=.get_text(| 00000740 4d 61 69 6e 25 2c 49 63 6f 6e 25 2c a3 29 0d 04 |Main%,Icon%,.)..| 00000750 56 1d e7 49 63 6f 6e 54 65 78 74 24 3d 22 22 20 |V..IconText$="" | 00000760 8c 3d 49 63 6f 6e 54 65 78 74 24 0d 04 60 1e 49 |.=IconText$..`.I| 00000770 6e 64 65 78 25 3d 31 3a 45 6e 64 25 3d a9 28 49 |ndex%=1:End%=.(I| 00000780 63 6f 6e 54 65 78 74 24 29 0d 04 74 13 c8 95 20 |conText$)..t... | 00000790 49 6e 64 65 78 25 3c 3d 45 6e 64 25 0d 04 7e 30 |Index%<=End%..~0| 000007a0 c1 49 63 6f 6e 54 65 78 74 24 2c 49 6e 64 65 78 |.IconText$,Index| 000007b0 25 2c 31 29 3d a4 43 68 61 72 5f 46 54 55 28 49 |%,1)=.Char_FTU(I| 000007c0 63 6f 6e 25 2c 49 6e 64 65 78 25 29 0d 04 88 0d |con%,Index%)....| 000007d0 49 6e 64 65 78 25 2b 3d 31 0d 04 92 1b 43 24 3d |Index%+=1....C$=| 000007e0 c1 49 63 6f 6e 54 65 78 74 24 2c 49 6e 64 65 78 |.IconText$,Index| 000007f0 25 2c 31 29 0d 04 a6 1c c8 95 43 24 3c 3e 22 20 |%,1)......C$<>" | 00000800 22 20 80 20 49 6e 64 65 78 25 3c 3d 45 6e 64 25 |" . Index%<=End%| 00000810 0d 04 ba 34 e7 49 6e 64 65 78 25 3e 31 20 70 72 |...4.Index%>1 pr| 00000820 65 76 24 3d c1 49 63 6f 6e 54 65 78 74 24 2c 49 |ev$=.IconText$,I| 00000830 6e 64 65 78 25 2d 31 2c 31 29 20 8b 70 72 65 76 |ndex%-1,1) .prev| 00000840 24 3d 22 22 0d 04 c4 38 e7 49 6e 64 65 78 25 3c |$=""...8.Index%<| 00000850 45 6e 64 25 20 6e 65 78 74 24 3d c1 49 63 6f 6e |End% next$=.Icon| 00000860 54 65 78 74 24 2c 49 6e 64 65 78 25 2b 31 2c 31 |Text$,Index%+1,1| 00000870 29 20 8b 6e 65 78 74 24 3d 22 20 22 0d 04 d8 37 |) .next$=" "...7| 00000880 e7 28 97 70 72 65 76 24 3e 36 34 20 80 20 97 70 |.(.prev$>64 . .p| 00000890 72 65 76 24 3c 39 31 29 84 28 97 70 72 65 76 24 |rev$<91).(.prev$| 000008a0 3e 39 36 20 80 20 97 70 72 65 76 24 3c 31 32 33 |>96 . .prev$<123| 000008b0 29 20 8c 0d 04 e2 26 e7 ac 28 70 72 65 76 24 3d |) ....&..(prev$=| 000008c0 22 49 22 20 80 20 43 24 3d 22 69 22 20 84 20 43 |"I" . C$="i" . C| 000008d0 24 3d 22 49 22 20 29 20 8c 0d 04 ec 30 c1 49 63 |$="I" ) ....0.Ic| 000008e0 6f 6e 54 65 78 74 24 2c 49 6e 64 65 78 25 2c 31 |onText$,Index%,1| 000008f0 29 3d a4 43 68 61 72 5f 46 54 4c 28 49 63 6f 6e |)=.Char_FTL(Icon| 00000900 25 2c 49 6e 64 65 78 25 29 0d 05 0a 31 cc c1 49 |%,Index%)...1..I| 00000910 63 6f 6e 54 65 78 74 24 2c 49 6e 64 65 78 25 2c |conText$,Index%,| 00000920 31 29 3d a4 43 68 61 72 5f 46 54 55 28 49 63 6f |1)=.Char_FTU(Ico| 00000930 6e 25 2c 49 6e 64 65 78 25 29 0d 05 14 05 cd 0d |n%,Index%)......| 00000940 05 1e 05 cc 0d 05 32 47 e7 70 72 65 76 24 3d 22 |......2G.prev$="| 00000950 28 22 20 84 20 70 72 65 76 24 3d 22 49 22 20 c1 |(" . prev$="I" .| 00000960 49 63 6f 6e 54 65 78 74 24 2c 49 6e 64 65 78 25 |IconText$,Index%| 00000970 2c 31 29 3d a4 43 68 61 72 5f 46 54 55 28 49 63 |,1)=.Char_FTU(Ic| 00000980 6f 6e 25 2c 49 6e 64 65 78 25 29 0d 05 3c 05 cd |on%,Index%)..<..| 00000990 0d 05 46 0d 49 6e 64 65 78 25 2b 3d 31 0d 05 50 |..F.Index%+=1..P| 000009a0 1b 43 24 3d c1 49 63 6f 6e 54 65 78 74 24 2c 49 |.C$=.IconText$,I| 000009b0 6e 64 65 78 25 2c 31 29 0d 05 5a 05 ce 0d 05 6e |ndex%,1)..Z....n| 000009c0 19 c8 95 43 24 3d 22 20 22 80 49 6e 64 65 78 25 |...C$=" ".Index%| 000009d0 3c 3d 45 6e 64 25 0d 05 78 0d 49 6e 64 65 78 25 |<=End%..x.Index%| 000009e0 2b 3d 31 0d 05 82 1b 43 24 3d c1 49 63 6f 6e 54 |+=1....C$=.IconT| 000009f0 65 78 74 24 2c 49 6e 64 65 78 25 2c 31 29 0d 05 |ext$,Index%,1)..| 00000a00 8c 05 ce 0d 05 96 05 ce 0d 05 aa 32 49 63 6f 6e |...........2Icon| 00000a10 54 65 78 74 24 3d a4 73 70 65 63 69 61 6c 5f 73 |Text$=.special_s| 00000a20 74 72 69 6e 67 28 49 63 6f 6e 54 65 78 74 24 2c |tring(IconText$,| 00000a30 22 43 64 22 2c 22 43 44 22 29 0d 05 b4 40 49 63 |"Cd","CD")...@Ic| 00000a40 6f 6e 54 65 78 74 24 3d a4 73 70 65 63 69 61 6c |onText$=.special| 00000a50 5f 73 74 72 69 6e 67 28 49 63 6f 6e 54 65 78 74 |_string(IconText| 00000a60 24 2c 22 43 64 74 72 61 63 6b 65 72 22 2c 22 43 |$,"Cdtracker","C| 00000a70 44 74 72 61 63 6b 65 72 22 29 0d 05 be 44 49 63 |Dtracker")...DIc| 00000a80 6f 6e 54 65 78 74 24 3d a4 73 70 65 63 69 61 6c |onText$=.special| 00000a90 5f 73 74 72 69 6e 67 28 49 63 6f 6e 54 65 78 74 |_string(IconText| 00000aa0 24 2c 22 43 64 74 72 61 63 6b 65 72 27 73 22 2c |$,"Cdtracker's",| 00000ab0 22 43 44 74 72 61 63 6b 65 72 27 73 22 29 0d 05 |"CDtracker's")..| 00000ac0 c8 40 49 63 6f 6e 54 65 78 74 24 3d a4 73 70 65 |.@IconText$=.spe| 00000ad0 63 69 61 6c 5f 73 74 72 69 6e 67 28 49 63 6f 6e |cial_string(Icon| 00000ae0 54 65 78 74 24 2c 22 43 64 70 72 6f 66 69 6c 65 |Text$,"Cdprofile| 00000af0 22 2c 22 43 44 70 72 6f 66 69 6c 65 22 29 0d 05 |","CDprofile")..| 00000b00 d2 44 49 63 6f 6e 54 65 78 74 24 3d a4 73 70 65 |.DIconText$=.spe| 00000b10 63 69 61 6c 5f 73 74 72 69 6e 67 28 49 63 6f 6e |cial_string(Icon| 00000b20 54 65 78 74 24 2c 22 43 64 70 72 6f 66 69 6c 65 |Text$,"Cdprofile| 00000b30 27 73 22 2c 22 43 44 70 72 6f 66 69 6c 65 27 73 |'s","CDprofile's| 00000b40 22 29 0d 05 dc 0e 3d 49 63 6f 6e 54 65 78 74 24 |")....=IconText$| 00000b50 0d 05 fa 24 dd a4 43 6f 6e 76 65 72 74 53 6f 66 |...$..ConvertSof| 00000b60 74 54 6f 48 61 72 64 53 70 61 63 65 73 28 4e 61 |tToHardSpaces(Na| 00000b70 6d 65 24 29 0d 06 04 15 50 6f 69 6e 74 65 72 25 |me$)....Pointer%| 00000b80 3d a9 28 4e 61 6d 65 24 29 0d 06 0e 05 f5 0d 06 |=.(Name$).......| 00000b90 18 1c 43 68 61 72 24 3d c1 4e 61 6d 65 24 2c 50 |..Char$=.Name$,P| 00000ba0 6f 69 6e 74 65 72 25 2c 31 29 0d 06 22 0f e7 43 |ointer%,1).."..C| 00000bb0 68 61 72 24 3d 22 20 22 8c 0d 06 2c 0d 43 68 61 |har$=" "...,.Cha| 00000bc0 72 24 3d 22 a0 22 0d 06 36 1c c1 4e 61 6d 65 24 |r$="."..6..Name$| 00000bd0 2c 50 6f 69 6e 74 65 72 25 2c 31 29 3d 43 68 61 |,Pointer%,1)=Cha| 00000be0 72 24 0d 06 40 05 cd 0d 06 4a 0f 50 6f 69 6e 74 |r$..@....J.Point| 00000bf0 65 72 25 2d 3d 31 0d 06 54 0f fd 50 6f 69 6e 74 |er%-=1..T..Point| 00000c00 65 72 25 3d 31 0d 06 5e 0a 3d 4e 61 6d 65 24 0d |er%=1..^.=Name$.| 00000c10 06 7c 3b dd a4 43 6f 6e 76 65 72 74 53 79 73 74 |.|;..ConvertSyst| 00000c20 65 6d 54 6f 53 74 72 69 6e 67 28 56 61 72 69 61 |emToString(Varia| 00000c30 62 6c 65 24 29 3a ea 4c 6f 6f 70 25 2c 46 6c 61 |ble$):.Loop%,Fla| 00000c40 67 25 2c 41 6e 73 77 65 72 24 0d 06 86 21 e3 4c |g%,Answer$...!.L| 00000c50 6f 6f 70 25 3d 31 30 30 b8 31 35 30 88 34 3a 71 |oop%=100.150.4:q| 00000c60 25 21 4c 6f 6f 70 25 3d 30 3a ed 0d 06 90 37 c8 |%!Loop%=0:....7.| 00000c70 99 22 58 4f 53 5f 52 65 61 64 56 61 72 56 61 6c |."XOS_ReadVarVal| 00000c80 22 2c 56 61 72 69 61 62 6c 65 24 2c 71 25 2b 31 |",Variable$,q%+1| 00000c90 30 30 2c 35 30 2c 30 2c 33 20 b8 20 3b 46 6c 61 |00,50,0,3 . ;Fla| 00000ca0 67 25 0d 06 9a 38 e7 28 46 6c 61 67 25 20 80 20 |g%...8.(Flag% . | 00000cb0 31 29 8c 41 6e 73 77 65 72 24 3d 22 22 20 8b 41 |1).Answer$="" .A| 00000cc0 6e 73 77 65 72 24 3d a4 52 65 61 64 53 74 72 69 |nswer$=.ReadStri| 00000cd0 6e 67 28 71 25 2b 31 30 30 29 0d 06 a4 0c 3d 41 |ng(q%+100)....=A| 00000ce0 6e 73 77 65 72 24 0d 06 c2 1e dd a4 43 72 65 61 |nswer$......Crea| 00000cf0 74 65 49 63 6f 6e 42 61 72 49 63 6f 6e 3a ea 49 |teIconBarIcon:.I| 00000d00 63 6f 6e 25 0d 06 cc 12 71 25 21 30 3d 2d 31 3a |con%....q%!0=-1:| 00000d10 71 25 21 34 3d 30 0d 06 d6 13 71 25 21 38 3d 30 |q%!4=0....q%!8=0| 00000d20 3a 71 25 21 31 32 3d 38 38 0d 06 e0 22 71 25 21 |:q%!12=88..."q%!| 00000d30 31 36 3d 36 38 3a 71 25 21 32 30 3d 25 31 30 30 |16=68:q%!20=%100| 00000d40 30 30 30 30 30 30 30 30 30 31 30 0d 06 ea 18 24 |00000000010....$| 00000d50 28 71 25 2b 32 34 29 3d 22 21 43 61 73 73 65 74 |(q%+24)="!Casset| 00000d60 74 65 22 0d 06 f4 23 c8 99 22 57 69 6d 70 5f 43 |te"...#.."Wimp_C| 00000d70 72 65 61 74 65 49 63 6f 6e 22 2c 2c 71 25 20 b8 |reateIcon",,q% .| 00000d80 20 49 63 6f 6e 25 0d 06 fe 0a 3d 49 63 6f 6e 25 | Icon%....=Icon%| 00000d90 0d 07 1c 1b dd a4 63 73 76 28 61 24 29 3a c8 95 |......csv(a$):..| 00000da0 20 a7 61 24 2c bd 34 34 29 3e 30 0d 07 26 2c 61 | .a$,.44)>0..&,a| 00000db0 24 3d c0 61 24 2c a7 61 24 2c bd 34 34 29 2d 31 |$=.a$,.a$,.44)-1| 00000dc0 29 2b 22 3b 22 2b c2 61 24 2c a9 61 24 2d a7 61 |)+";"+.a$,.a$-.a| 00000dd0 24 2c bd 34 34 29 29 0d 07 30 05 ce 0d 07 3a 16 |$,.44))..0....:.| 00000de0 3d bd 33 34 2b a4 63 68 33 34 28 61 24 29 2b bd |=.34+.ch34(a$)+.| 00000df0 33 34 0d 07 4e 1b dd a4 63 68 33 34 28 61 24 29 |34..N...ch34(a$)| 00000e00 3a c8 95 a7 61 24 2c bd 33 34 29 3e 30 0d 07 58 |:...a$,.34)>0..X| 00000e10 28 61 24 3d c0 61 24 2c a7 61 24 2c bd 33 34 29 |(a$=.a$,.a$,.34)| 00000e20 2d 31 29 2b c2 61 24 2c a9 61 24 2d a7 61 24 2c |-1)+.a$,.a$-.a$,| 00000e30 bd 33 34 29 29 0d 07 62 05 ce 0d 07 6c 07 3d 61 |.34))..b....l.=a| 00000e40 24 0d 07 8a 23 dd a4 43 68 61 72 5f 46 54 4c 28 |$...#..Char_FTL(| 00000e50 49 63 6f 6e 25 2c 49 6e 64 65 78 25 29 3a ea 54 |Icon%,Index%):.T| 00000e60 65 6d 70 24 0d 07 94 1e 54 65 6d 70 24 3d c1 49 |emp$....Temp$=.I| 00000e70 63 6f 6e 54 65 78 74 24 2c 49 6e 64 65 78 25 2c |conText$,Index%,| 00000e80 31 29 0d 07 9e 35 e7 54 65 6d 70 24 3e 3d 22 41 |1)...5.Temp$>="A| 00000e90 22 20 80 20 54 65 6d 70 24 3c 3d 22 5a 22 20 8c |" . Temp$<="Z" .| 00000ea0 54 65 6d 70 24 3d bd 28 97 28 54 65 6d 70 24 29 |Temp$=.(.(Temp$)| 00000eb0 20 84 20 26 32 30 29 0d 07 a8 0a 3d 54 65 6d 70 | . &20)....=Temp| 00000ec0 24 0d 07 c6 23 dd a4 43 68 61 72 5f 46 54 55 28 |$...#..Char_FTU(| 00000ed0 49 63 6f 6e 25 2c 49 6e 64 65 78 25 29 3a ea 54 |Icon%,Index%):.T| 00000ee0 65 6d 70 24 0d 07 d0 1e 54 65 6d 70 24 3d c1 49 |emp$....Temp$=.I| 00000ef0 63 6f 6e 54 65 78 74 24 2c 49 6e 64 65 78 25 2c |conText$,Index%,| 00000f00 31 29 0d 07 da 34 e7 54 65 6d 70 24 3e 3d 22 61 |1)...4.Temp$>="a| 00000f10 22 80 20 54 65 6d 70 24 3c 3d 22 7a 22 20 8c 54 |". Temp$<="z" .T| 00000f20 65 6d 70 24 3d bd 28 97 28 54 65 6d 70 24 29 20 |emp$=.(.(Temp$) | 00000f30 80 20 26 44 46 29 0d 07 e4 0a 3d 54 65 6d 70 24 |. &DF)....=Temp$| 00000f40 0d 08 0c 37 dd a4 67 65 74 5f 74 65 78 74 28 57 |...7..get_text(W| 00000f50 69 6e 64 6f 77 48 61 6e 64 6c 65 25 2c 49 63 6f |indowHandle%,Ico| 00000f60 6e 48 61 6e 64 6c 65 25 2c 50 61 64 25 29 3a ea |nHandle%,Pad%):.| 00000f70 52 65 73 75 6c 74 24 0d 08 16 18 71 25 21 31 30 |Result$....q%!10| 00000f80 30 3d 57 69 6e 64 6f 77 48 61 6e 64 6c 65 25 0d |0=WindowHandle%.| 00000f90 08 20 16 71 25 21 31 30 34 3d 49 63 6f 6e 48 61 |. .q%!104=IconHa| 00000fa0 6e 64 6c 65 25 0d 08 2a 21 c8 99 22 57 69 6d 70 |ndle%..*!.."Wimp| 00000fb0 5f 47 65 74 49 63 6f 6e 53 74 61 74 65 22 2c 2c |_GetIconState",,| 00000fc0 71 25 2b 31 30 30 0d 08 34 1b e7 28 71 25 21 31 |q%+100..4..(q%!1| 00000fd0 32 34 20 80 20 28 31 3c 3c 38 29 29 3c 3e 30 20 |24 . (1<<8))<>0 | 00000fe0 8c 0d 08 3e 15 52 65 73 75 6c 74 24 3d 24 28 71 |...>.Result$=$(q| 00000ff0 25 21 31 32 38 29 0d 08 48 05 cc 0d 08 52 15 52 |%!128)..H....R.R| 00001000 65 73 75 6c 74 24 3d 24 28 71 25 2b 31 32 38 29 |esult$=$(q%+128)| 00001010 0d 08 5c 05 cd 0d 08 66 20 e7 50 61 64 25 3a 3d |..\....f .Pad%:=| 00001020 c0 52 65 73 75 6c 74 24 2b c4 34 35 2c 22 20 22 |.Result$+.45," "| 00001030 29 2c 34 35 29 0d 08 70 0c 3d 52 65 73 75 6c 74 |),45)..p.=Result| 00001040 24 0d 08 8e 2b dd a4 49 63 6f 6e 5f 46 54 55 28 |$...+..Icon_FTU(| 00001050 49 63 6f 6e 25 29 3a ea 20 43 24 2c 74 65 78 74 |Icon%):. C$,text| 00001060 24 2c 4c 6f 6f 70 25 2c 61 73 63 25 0d 08 98 22 |$,Loop%,asc%..."| 00001070 74 65 78 74 24 3d a4 67 65 74 5f 74 65 78 74 28 |text$=.get_text(| 00001080 4d 61 69 6e 25 2c 49 63 6f 6e 25 2c a3 29 0d 08 |Main%,Icon%,.)..| 00001090 a2 0f e7 74 65 78 74 24 3c 3e 22 22 8c 0d 08 ac |...text$<>""....| 000010a0 42 e3 4c 6f 6f 70 25 3d 31 b8 a9 74 65 78 74 24 |B.Loop%=1..text$| 000010b0 3a 61 73 63 25 3d 97 c1 74 65 78 74 24 2c 4c 6f |:asc%=..text$,Lo| 000010c0 6f 70 25 29 3a e7 61 73 63 25 3e 39 36 80 61 73 |op%):.asc%>96.as| 000010d0 63 25 3c 31 32 33 20 61 73 63 25 2d 3d 33 32 0d |c%<123 asc%-=32.| 000010e0 08 b6 0f 43 24 2b 3d bd 61 73 63 25 3a ed 0d 08 |...C$+=.asc%:...| 000010f0 c0 05 cd 0d 08 ca 07 3d 43 24 0d 08 e8 2f dd a4 |.......=C$.../..| 00001100 49 6e 76 65 6e 74 53 61 76 65 4e 61 6d 65 3a 70 |InventSaveName:p| 00001110 61 74 68 24 3d a4 67 65 74 5f 74 65 78 74 28 53 |ath$=.get_text(S| 00001120 61 76 65 25 2c 31 2c a3 29 0d 08 f2 1f e7 c0 70 |ave%,1,.)......p| 00001130 61 74 68 24 2c 35 29 3d 22 50 69 70 65 3a 22 20 |ath$,5)="Pipe:" | 00001140 70 61 74 68 24 3d 22 22 0d 08 fc 29 43 61 73 4e |path$=""...)CasN| 00001150 6f 24 3d a4 67 65 74 5f 74 65 78 74 28 4d 61 69 |o$=.get_text(Mai| 00001160 6e 25 2c 54 61 70 65 4e 75 6d 62 65 72 25 2c a3 |n%,TapeNumber%,.| 00001170 29 0d 09 06 15 e7 a4 6c 65 61 66 28 70 61 74 68 |)......leaf(path| 00001180 24 29 3d 22 22 8c 0d 09 10 0e e7 70 61 74 68 24 |$)=""......path$| 00001190 3d 22 22 8c 0d 09 1a 2a 70 61 74 68 24 3d a4 43 |=""....*path$=.C| 000011a0 6f 6e 76 65 72 74 53 6f 66 74 54 6f 48 61 72 64 |onvertSoftToHard| 000011b0 53 70 61 63 65 73 28 43 61 73 4e 6f 24 29 0d 09 |Spaces(CasNo$)..| 000011c0 24 38 cc 70 61 74 68 24 3d a4 74 77 69 67 28 70 |$8.path$=.twig(p| 000011d0 61 74 68 24 29 2b a4 43 6f 6e 76 65 72 74 53 6f |ath$)+.ConvertSo| 000011e0 66 74 54 6f 48 61 72 64 53 70 61 63 65 73 28 43 |ftToHardSpaces(C| 000011f0 61 73 4e 6f 24 29 0d 09 2e 05 cd 0d 09 38 1f f2 |asNo$).......8..| 00001200 53 65 74 49 63 6f 6e 54 65 78 74 28 31 2c 53 61 |SetIconText(1,Sa| 00001210 76 65 25 2c 70 61 74 68 24 29 0d 09 42 05 cd 0d |ve%,path$)..B...| 00001220 09 56 31 e7 c0 a4 6c 65 61 66 28 70 61 74 68 24 |.V1...leaf(path$| 00001230 29 2c 37 29 3d 22 43 61 73 73 4e 6f a0 22 80 c0 |),7)="CassNo."..| 00001240 43 61 73 4e 6f 24 2c 33 29 3d 22 4e 6f 20 22 8c |CasNo$,3)="No ".| 00001250 0d 09 60 11 e7 a7 70 61 74 68 24 2c 22 2e 22 29 |..`...path$,".")| 00001260 8c 0d 09 6a 32 70 61 74 68 24 3d a4 74 77 69 67 |...j2path$=.twig| 00001270 28 70 61 74 68 24 29 2b 22 43 61 73 73 4e 6f a0 |(path$)+"CassNo.| 00001280 22 2b a4 7a 28 bb c2 43 61 73 4e 6f 24 2c 33 29 |"+.z(..CasNo$,3)| 00001290 2c 33 29 0d 09 74 1f f2 53 65 74 49 63 6f 6e 54 |,3)..t..SetIconT| 000012a0 65 78 74 28 31 2c 53 61 76 65 25 2c 70 61 74 68 |ext(1,Save%,path| 000012b0 24 29 0d 09 7e 05 cd 0d 09 88 05 cd 0d 09 92 0a |$)..~...........| 000012c0 3d 70 61 74 68 24 0d 09 a6 2f dd a4 6c 65 61 66 |=path$.../..leaf| 000012d0 28 61 24 29 3a c8 95 20 a7 61 24 2c 22 2e 22 29 |(a$):.. .a$,".")| 000012e0 3a 61 24 3d c1 61 24 2c a7 61 24 2c 22 2e 22 29 |:a$=.a$,.a$,".")| 000012f0 2b 31 29 3a ce 0d 09 b0 07 3d 61 24 0d 09 c4 53 |+1):.....=a$...S| 00001300 dd a4 6d 65 73 73 61 67 65 5f 72 61 6d 5f 73 61 |..message_ram_sa| 00001310 76 65 28 71 25 2c 74 61 73 6b 25 2c 64 65 73 5f |ve(q%,task%,des_| 00001320 74 61 73 6b 25 2c f8 20 73 6f 75 72 63 65 5f 62 |task%,. source_b| 00001330 75 66 66 65 72 25 2c f8 20 62 79 74 65 73 5f 6c |uffer%,. bytes_l| 00001340 65 66 74 25 2c 64 65 73 5f 62 75 66 66 25 29 0d |eft%,des_buff%).| 00001350 09 ce 23 ea 20 62 79 74 65 73 5f 74 72 61 6e 73 |..#. bytes_trans| 00001360 25 2c 6d 65 73 73 5f 63 6f 64 65 25 2c 6c 61 73 |%,mess_code%,las| 00001370 74 25 0d 09 d8 19 e7 62 79 74 65 73 5f 6c 65 66 |t%.....bytes_lef| 00001380 74 25 3e 3d 71 25 21 32 34 20 8c 0d 09 e2 16 62 |t%>=q%!24 .....b| 00001390 79 74 65 73 5f 74 72 61 6e 73 25 3d 71 25 21 32 |ytes_trans%=q%!2| 000013a0 34 0d 09 ec 19 6d 65 73 73 5f 63 6f 64 65 25 3d |4....mess_code%=| 000013b0 31 38 3a 6c 61 73 74 25 3d a3 0d 09 f6 05 cc 0d |18:last%=.......| 000013c0 0a 00 1c 62 79 74 65 73 5f 74 72 61 6e 73 25 3d |...bytes_trans%=| 000013d0 62 79 74 65 73 5f 6c 65 66 74 25 0d 0a 0a 14 63 |bytes_left%....c| 000013e0 6f 64 65 25 3d 31 37 3a 6c 61 73 74 25 3d b9 0d |ode%=17:last%=..| 000013f0 0a 14 05 cd 0d 0a 1e 50 c8 99 22 57 69 6d 70 5f |.......P.."Wimp_| 00001400 54 72 61 6e 73 66 65 72 42 6c 6f 63 6b 22 2c 74 |TransferBlock",t| 00001410 61 73 6b 25 2c 73 6f 75 72 63 65 5f 62 75 66 66 |ask%,source_buff| 00001420 65 72 25 2c 64 65 73 5f 74 61 73 6b 25 2c 64 65 |er%,des_task%,de| 00001430 73 5f 62 75 66 66 25 2c 62 79 74 65 73 5f 74 72 |s_buff%,bytes_tr| 00001440 61 6e 73 25 0d 0a 28 3a 73 6f 75 72 63 65 5f 62 |ans%..(:source_b| 00001450 75 66 66 65 72 25 2b 3d 62 79 74 65 73 5f 74 72 |uffer%+=bytes_tr| 00001460 61 6e 73 25 3a 62 79 74 65 73 5f 6c 65 66 74 25 |ans%:bytes_left%| 00001470 2d 3d 62 79 74 65 73 5f 74 72 61 6e 73 25 0d 0a |-=bytes_trans%..| 00001480 32 0e 71 25 21 31 32 3d 71 25 21 38 0d 0a 3c 0b |2.q%!12=q%!8..<.| 00001490 71 25 21 31 36 3d 37 0d 0a 46 13 71 25 21 32 30 |q%!16=7..F.q%!20| 000014a0 3d 64 65 73 5f 62 75 66 66 25 0d 0a 50 16 71 25 |=des_buff%..P.q%| 000014b0 21 32 34 3d 62 79 74 65 73 5f 74 72 61 6e 73 25 |!24=bytes_trans%| 000014c0 0d 0a 5a 2b c8 99 22 57 69 6d 70 5f 53 65 6e 64 |..Z+.."Wimp_Send| 000014d0 4d 65 73 73 61 67 65 22 2c 63 6f 64 65 25 2c 71 |Message",code%,q| 000014e0 25 2c 64 65 73 5f 74 61 73 6b 25 0d 0a 64 0a 3d |%,des_task%..d.=| 000014f0 6c 61 73 74 25 0d 0a aa 17 dd a4 50 72 69 6e 74 |last%......Print| 00001500 65 72 5f 4f 6e 4c 69 6e 65 3a 3d b9 0d 0a b4 1b |er_OnLine:=.....| 00001510 ea 61 66 74 65 72 25 2c 62 65 66 6f 72 65 25 2c |.after%,before%,| 00001520 6f 6e 6c 69 6e 65 25 0d 0a be 1c ef 32 3a 62 65 |online%.....2:be| 00001530 66 6f 72 65 25 3d 96 28 2d 34 29 3a f1 22 20 22 |fore%=.(-4):." "| 00001540 bd 38 3b 0d 0a c8 18 61 66 74 65 72 25 3d 96 28 |.8;....after%=.(| 00001550 2d 34 29 3a 2a 46 58 32 31 2c 33 0d 0a d2 10 ef |-4):*FX21,3.....| 00001560 33 3a 6f 6e 6c 69 6e 65 25 3d b9 0d 0a dc 15 e7 |3:online%=......| 00001570 61 66 74 65 72 25 3c 62 65 66 6f 72 65 25 20 8c |after%<before% .| 00001580 0d 0a e6 23 f2 61 64 76 69 63 65 28 a4 6d 28 6d |...#.advice(.m(m| 00001590 66 25 2c 22 4e 6f 50 72 69 6e 74 65 72 22 29 2c |f%,"NoPrinter"),| 000015a0 31 37 29 0d 0a f0 0d 6f 6e 6c 69 6e 65 25 3d a3 |17)....online%=.| 000015b0 0d 0a fa 05 cd 0d 0b 04 0c 3d 6f 6e 6c 69 6e 65 |.........=online| 000015c0 25 0d 0b 18 23 dd a4 72 61 6d 73 61 76 65 5f 64 |%...#..ramsave_d| 000015d0 61 74 61 28 f8 20 6f 6c 64 5f 74 25 29 3a ea 74 |ata(. old_t%):.t| 000015e0 65 78 74 24 0d 0b 22 1e 74 65 78 74 24 3d a4 67 |ext$..".text$=.g| 000015f0 65 74 5f 74 65 78 74 28 4d 61 69 6e 25 2c 30 2c |et_text(Main%,0,| 00001600 a3 29 0d 0b 2c 13 6f 6c 64 5f 74 25 3d a9 74 65 |.)..,.old_t%=.te| 00001610 78 74 24 2b 32 0d 0b 36 23 73 61 76 65 5f 62 6c |xt$+2..6#save_bl| 00001620 6f 63 6b 25 3d a4 61 6c 6c 6f 63 61 74 65 28 a9 |ock%=.allocate(.| 00001630 74 65 78 74 24 2b 32 29 0d 0b 40 2b f2 65 6e 63 |text$+2)..@+.enc| 00001640 6f 64 65 5f 73 61 76 65 5f 62 6c 6f 63 6b 28 73 |ode_save_block(s| 00001650 61 76 65 5f 62 6c 6f 63 6b 25 2c 74 65 78 74 24 |ave_block%,text$| 00001660 2c 30 29 0d 0b 4a 0f e3 4c 6f 6f 70 25 3d 31 b8 |,0)..J..Loop%=1.| 00001670 33 37 0d 0b 54 22 74 65 78 74 24 3d a4 67 65 74 |37..T"text$=.get| 00001680 5f 74 65 78 74 28 4d 61 69 6e 25 2c 4c 6f 6f 70 |_text(Main%,Loop| 00001690 25 2c a3 29 0d 0b 5e 26 f2 61 6c 74 65 72 5f 62 |%,.)..^&.alter_b| 000016a0 6c 6f 63 6b 28 73 61 76 65 5f 62 6c 6f 63 6b 25 |lock(save_block%| 000016b0 2c a9 74 65 78 74 24 2b 32 29 0d 0b 68 30 f2 65 |,.text$+2)..h0.e| 000016c0 6e 63 6f 64 65 5f 73 61 76 65 5f 62 6c 6f 63 6b |ncode_save_block| 000016d0 28 73 61 76 65 5f 62 6c 6f 63 6b 25 2c 74 65 78 |(save_block%,tex| 000016e0 74 24 2c 6f 6c 64 5f 74 25 29 0d 0b 72 14 6f 6c |t$,old_t%)..r.ol| 000016f0 64 5f 74 25 2b 3d a9 74 65 78 74 24 2b 32 0d 0b |d_t%+=.text$+2..| 00001700 7c 05 ed 0d 0b 86 28 74 65 78 74 24 3d a4 67 65 ||.....(text$=.ge| 00001710 74 5f 74 65 78 74 28 4d 61 69 6e 25 2c 54 61 70 |t_text(Main%,Tap| 00001720 65 4e 75 6d 62 65 72 25 2c a3 29 0d 0b 90 26 f2 |eNumber%,.)...&.| 00001730 61 6c 74 65 72 5f 62 6c 6f 63 6b 28 73 61 76 65 |alter_block(save| 00001740 5f 62 6c 6f 63 6b 25 2c a9 74 65 78 74 24 2b 32 |_block%,.text$+2| 00001750 29 0d 0b 9a 30 f2 65 6e 63 6f 64 65 5f 73 61 76 |)...0.encode_sav| 00001760 65 5f 62 6c 6f 63 6b 28 73 61 76 65 5f 62 6c 6f |e_block(save_blo| 00001770 63 6b 25 2c 74 65 78 74 24 2c 6f 6c 64 5f 74 25 |ck%,text$,old_t%| 00001780 29 0d 0b a4 14 6f 6c 64 5f 74 25 2b 3d a9 74 65 |)....old_t%+=.te| 00001790 78 74 24 2b 32 0d 0b ae 10 3d 73 61 76 65 5f 62 |xt$+2....=save_b| 000017a0 6c 6f 63 6b 25 0d 0b d6 29 dd a4 52 65 61 64 45 |lock%...)..ReadE| 000017b0 53 47 53 65 6c 65 63 74 65 64 28 57 69 6e 64 6f |SGSelected(Windo| 000017c0 77 48 61 6e 64 6c 65 25 2c 45 73 67 25 29 0d 0b |wHandle%,Esg%)..| 000017d0 e0 14 ea 20 4d 61 73 6b 25 2c 50 61 74 74 65 72 |... Mask%,Patter| 000017e0 6e 25 0d 0b ea 22 4d 61 73 6b 25 3d 20 28 31 3c |n%..."Mask%= (1<| 000017f0 3c 32 31 29 2b 28 33 31 3c 3c 31 36 29 20 20 20 |<21)+(31<<16) | 00001800 20 20 20 20 0d 0b f4 22 50 61 74 74 65 72 6e 25 | ..."Pattern%| 00001810 3d 28 31 3c 3c 32 31 29 2b 28 45 73 67 25 3c 3c |=(1<<21)+(Esg%<<| 00001820 31 36 29 20 20 20 0d 0b fe 3a c8 99 22 57 69 6d |16) ...:.."Wim| 00001830 70 5f 57 68 69 63 68 49 63 6f 6e 22 2c 57 69 6e |p_WhichIcon",Win| 00001840 64 6f 77 48 61 6e 64 6c 65 25 2c 71 25 2b 32 30 |dowHandle%,q%+20| 00001850 30 2c 4d 61 73 6b 25 2c 50 61 74 74 65 72 6e 25 |0,Mask%,Pattern%| 00001860 0d 0c 08 0b 3d 71 25 21 32 30 30 0d 0c 26 24 dd |....=q%!200..&$.| 00001870 a4 52 65 61 64 53 74 72 69 6e 67 28 50 6f 69 6e |.ReadString(Poin| 00001880 74 65 72 25 29 3a ea 20 53 74 72 69 6e 67 24 0d |ter%):. String$.| 00001890 0c 30 24 c8 95 20 3f 50 6f 69 6e 74 65 72 25 3c |.0$.. ?Pointer%<| 000018a0 3e 30 20 80 20 3f 50 6f 69 6e 74 65 72 25 3c 3e |>0 . ?Pointer%<>| 000018b0 26 30 44 0d 0c 3a 17 53 74 72 69 6e 67 24 2b 3d |&0D..:.String$+=| 000018c0 bd 3f 50 6f 69 6e 74 65 72 25 0d 0c 44 0f 50 6f |.?Pointer%..D.Po| 000018d0 69 6e 74 65 72 25 2b 3d 31 0d 0c 4e 05 ce 0d 0c |inter%+=1..N....| 000018e0 58 0c 3d 53 74 72 69 6e 67 24 0d 0c 76 1d dd a4 |X.=String$..v...| 000018f0 54 61 73 6b 28 74 61 73 6b 25 29 3a ea 61 24 2c |Task(task%):.a$,| 00001900 74 61 73 6b 5f 68 25 0d 0c 80 34 c8 99 22 54 61 |task_h%...4.."Ta| 00001910 73 6b 4d 61 6e 61 67 65 72 5f 54 61 73 6b 4e 61 |skManager_TaskNa| 00001920 6d 65 46 72 6f 6d 48 61 6e 64 6c 65 22 2c 74 61 |meFromHandle",ta| 00001930 73 6b 25 b8 74 61 73 6b 5f 68 25 0d 0c 8a 12 c8 |sk%.task_h%.....| 00001940 95 20 3f 74 61 73 6b 5f 68 25 3e 33 31 0d 0c 94 |. ?task_h%>31...| 00001950 15 61 24 3d 61 24 2b bd 28 3f 74 61 73 6b 5f 68 |.a$=a$+.(?task_h| 00001960 25 29 0d 0c 9e 0e 74 61 73 6b 5f 68 25 2b 3d 31 |%)....task_h%+=1| 00001970 0d 0c a8 05 ce 0d 0c b2 07 3d 61 24 0d 0c d0 3d |.........=a$...=| 00001980 dd a4 54 72 69 6d 54 6f 46 69 74 28 54 65 78 74 |..TrimToFit(Text| 00001990 24 2c 6d 6d 2c 49 63 6f 6e 25 29 3a ea 4e 75 6d |$,mm,Icon%):.Num| 000019a0 62 65 72 4f 66 50 72 69 6e 74 61 62 6c 65 43 68 |berOfPrintableCh| 000019b0 61 72 61 63 74 65 72 73 25 0d 0c da 0f 43 6f 6e |aracters%....Con| 000019c0 74 69 6e 75 65 25 3d b9 0d 0c e4 1c 58 4c 65 6e |tinue%=.....XLen| 000019d0 67 74 68 25 3d 28 37 32 30 30 30 2a 6d 6d 29 81 |gth%=(72000*mm).| 000019e0 32 35 2e 34 0d 0c ee 16 e7 4e 65 77 46 6f 6e 74 |25.4.....NewFont| 000019f0 4d 61 6e 61 67 65 72 25 20 8c 0d 0c f8 65 c8 99 |Manager% ....e..| 00001a00 22 46 6f 6e 74 5f 53 63 61 6e 53 74 72 69 6e 67 |"Font_ScanString| 00001a10 22 2c 30 2c 54 65 78 74 24 2c 26 31 30 30 33 38 |",0,Text$,&10038| 00001a20 30 2c 58 4c 65 6e 67 74 68 25 2c 31 35 30 30 30 |0,XLength%,15000| 00001a30 2c 2c 2c a9 28 54 65 78 74 24 29 b8 2c 2c 2c 2c |,,,.(Text$).,,,,| 00001a40 2c 2c 2c 4e 75 6d 62 65 72 4f 66 50 72 69 6e 74 |,,,NumberOfPrint| 00001a50 61 62 6c 65 43 68 61 72 61 63 74 65 72 73 25 0d |ableCharacters%.| 00001a60 0d 02 05 cc 0d 0d 0c 5b c8 99 22 46 6f 6e 74 5f |.......[.."Font_| 00001a70 53 74 72 69 6e 67 57 69 64 74 68 22 2c 2c 54 65 |StringWidth",,Te| 00001a80 78 74 24 2c 58 4c 65 6e 67 74 68 25 2c 31 35 30 |xt$,XLength%,150| 00001a90 30 30 2c 2d 31 2c a9 28 54 65 78 74 24 29 b8 2c |00,-1,.(Text$).,| 00001aa0 2c 2c 2c 4e 75 6d 62 65 72 4f 66 50 72 69 6e 74 |,,,NumberOfPrint| 00001ab0 61 62 6c 65 43 68 61 72 61 63 74 65 72 73 25 0d |ableCharacters%.| 00001ac0 0d 16 05 cd 0d 0d 2a 3e e7 4e 75 6d 62 65 72 4f |......*>.NumberO| 00001ad0 66 50 72 69 6e 74 61 62 6c 65 43 68 61 72 61 63 |fPrintableCharac| 00001ae0 74 65 72 73 25 3c a9 28 54 65 78 74 24 29 20 8c |ters%<.(Text$) .| 00001af0 53 6f 6d 65 54 65 78 74 54 72 69 6d 6d 65 64 25 |SomeTextTrimmed%| 00001b00 3d b9 0d 0d 34 29 3d c0 54 65 78 74 24 2c 4e 75 |=...4)=.Text$,Nu| 00001b10 6d 62 65 72 4f 66 50 72 69 6e 74 61 62 6c 65 43 |mberOfPrintableC| 00001b20 68 61 72 61 63 74 65 72 73 25 29 0d 0d 48 26 dd |haracters%)..H&.| 00001b30 a4 74 77 69 67 28 61 24 29 3a 4e 25 3d 30 3a f5 |.twig(a$):N%=0:.| 00001b40 3a 41 24 3d c1 61 24 2c a9 61 24 2d 4e 25 2c 31 |:A$=.a$,.a$-N%,1| 00001b50 29 0d 0d 52 11 e7 41 24 3c 3e 22 2e 22 4e 25 2b |)..R..A$<>"."N%+| 00001b60 3d 31 0d 0d 5c 18 fd 41 24 3d 22 2e 22 3a 3d c0 |=1..\..A$=".":=.| 00001b70 61 24 2c a9 61 24 2d 4e 25 29 0d 0d 7a 1b dd a4 |a$,.a$-N%)..z...| 00001b80 75 6e 64 6f 3a 75 6e 64 6f 25 3d a3 3a 69 63 6f |undo:undo%=.:ico| 00001b90 6e 25 3d 2d 31 0d 0d 84 0e f5 3a 69 63 6f 6e 25 |n%=-1.....:icon%| 00001ba0 2b 3d 31 0d 0d 8e 24 e7 a4 75 6e 70 61 64 28 75 |+=1...$..unpad(u| 00001bb0 6e 64 6f 24 28 69 63 6f 6e 25 29 29 3c 3e 22 22 |ndo$(icon%))<>""| 00001bc0 75 6e 64 6f 25 3d b9 0d 0d 98 15 fd 69 63 6f 6e |undo%=......icon| 00001bd0 25 3d 33 37 84 75 6e 64 6f 25 3d b9 0d 0d a2 0a |%=37.undo%=.....| 00001be0 3d 75 6e 64 6f 25 0d 0d c0 13 dd a4 75 6e 73 70 |=undo%......unsp| 00001bf0 63 28 61 24 29 3a ea 61 25 0d 0d ca 0e 61 25 3d |c(a$):.a%....a%=| 00001c00 97 c0 61 24 2c 31 29 0d 0d d4 15 c8 95 20 61 25 |..a$,1)...... a%| 00001c10 3d 33 32 20 84 20 61 25 3d 31 36 30 0d 0d de 11 |=32 . a%=160....| 00001c20 61 24 3d c2 61 24 2c a9 61 24 2d 31 29 0d 0d e8 |a$=.a$,.a$-1)...| 00001c30 0e 61 25 3d 97 c0 61 24 2c 31 29 0d 0d f2 05 ce |.a%=..a$,1).....| 00001c40 0d 0d fc 07 3d 61 24 0d 0e 1a 23 dd a4 7a 28 61 |....=a$...#..z(a| 00001c50 25 2c 6c 25 29 3a 3d c2 c4 6c 25 2d 31 2c 22 30 |%,l%):=..l%-1,"0| 00001c60 22 29 2b c3 61 25 2c 6c 25 29 0d 0e 38 19 dd f2 |")+.a%,l%)..8...| 00001c70 57 69 6d 70 5f 45 72 72 6f 72 3a ea 20 45 72 72 |Wimp_Error:. Err| 00001c80 6f 72 24 0d 0e 42 13 c8 99 22 4f 53 5f 42 79 74 |or$..B..."OS_Byt| 00001c90 65 22 2c 33 2c 30 0d 0e 4c 18 c8 99 22 57 69 6d |e",3,0..L..."Wim| 00001ca0 70 5f 44 72 61 67 42 6f 78 22 2c 2c 2d 31 0d 0e |p_DragBox",,-1..| 00001cb0 56 09 21 71 25 3d 9f 0d 0e 60 0d 45 72 72 6f 72 |V.!q%=...`.Error| 00001cc0 24 3d f6 24 0d 0e 6a 59 e7 9f 3c 3e 32 30 30 31 |$=.$..jY..<>2001| 00001cd0 20 8c 45 72 72 6f 72 24 20 2b 3d 20 22 20 28 69 | .Error$ += " (i| 00001ce0 6e 74 65 72 6e 61 6c 20 65 72 72 6f 72 20 63 6f |nternal error co| 00001cf0 64 65 20 22 2b c3 9e 2b 22 29 2e 20 4f 4b 20 54 |de "+..+"). OK T| 00001d00 6f 20 43 6f 6e 74 69 6e 75 65 2c 20 43 41 4e 43 |o Continue, CANC| 00001d10 45 4c 20 54 6f 20 41 62 6f 72 74 2e 22 0d 0e 74 |EL To Abort."..t| 00001d20 15 24 28 71 25 2b 34 29 3d 45 72 72 6f 72 24 2b |.$(q%+4)=Error$+| 00001d30 bd 30 0d 0e 7e 5a c8 99 22 57 69 6d 70 5f 52 65 |.0..~Z.."Wimp_Re| 00001d40 70 6f 72 74 45 72 72 6f 72 22 2c 71 25 2c 25 31 |portError",q%,%1| 00001d50 30 30 30 30 30 30 30 30 31 20 2d 20 28 32 2a 28 |000000001 - (2*(| 00001d60 9f 3c 3e 32 30 30 31 29 29 2c 4d 79 54 61 73 6b |.<>2001)),MyTask| 00001d70 4e 61 6d 65 24 2c 22 21 63 61 73 73 65 74 74 65 |Name$,"!cassette| 00001d80 22 2c 31 b8 2c 52 65 73 75 6c 74 25 0d 0e 88 1a |",1.,Result%....| 00001d90 e7 52 65 73 75 6c 74 25 3d 32 20 8c f2 43 6c 6f |.Result%=2 ..Clo| 00001da0 73 65 44 6f 77 6e 0d 0e 92 05 e1 0d 0e b0 13 dd |seDown..........| 00001db0 f2 4d 65 6e 75 53 65 6c 65 63 74 69 6f 6e 0d 0e |.MenuSelection..| 00001dc0 ba 1e e7 4d 65 6e 75 41 63 74 69 76 65 25 3d 49 |...MenuActive%=I| 00001dd0 63 6f 6e 42 61 72 4d 65 6e 75 25 8c 0d 0e c4 0c |conBarMenu%.....| 00001de0 c8 8e 71 25 21 30 20 ca 0d 0e ce 11 c9 31 3a f2 |..q%!0 ......1:.| 00001df0 43 6c 6f 73 65 44 6f 77 6e 0d 0e d8 05 cb 0d 0e |CloseDown.......| 00001e00 e2 05 cd 0d 0e ec 1f e7 4d 65 6e 75 41 63 74 69 |........MenuActi| 00001e10 76 65 25 3d 4d 61 69 6e 57 69 6e 4d 65 6e 75 25 |ve%=MainWinMenu%| 00001e20 20 8c 0d 0e f6 1c e7 a6 2d 31 20 8c 69 6e 6b 65 | .......-1 .inke| 00001e30 79 25 3d b9 20 8b 69 6e 6b 65 79 25 3d a3 0d 0f |y%=. .inkey%=...| 00001e40 00 0d 41 64 6a 75 73 74 25 3d a3 0d 0f 0a 1f c8 |..Adjust%=......| 00001e50 99 22 57 69 6d 70 5f 47 65 74 50 6f 69 6e 74 65 |."Wimp_GetPointe| 00001e60 72 49 6e 66 6f 22 2c 2c 75 25 0d 0f 14 15 e7 75 |rInfo",,u%.....u| 00001e70 25 21 38 3d 31 20 41 64 6a 75 73 74 25 3d b9 0d |%!8=1 Adjust%=..| 00001e80 0f 1e 0c c8 8e 71 25 21 30 20 ca 0d 0f 28 24 c9 |.....q%!0 ...($.| 00001e90 31 3a f2 53 61 76 65 54 6f 28 a4 67 65 74 5f 74 |1:.SaveTo(.get_t| 00001ea0 65 78 74 28 53 61 76 65 25 2c 31 2c a3 29 29 0d |ext(Save%,1,.)).| 00001eb0 0f 3c 13 c9 32 3a 43 44 74 72 61 63 6b 65 72 25 |.<..2:CDtracker%| 00001ec0 3d b9 0d 0f 5a 1a e7 69 6e 6b 65 79 25 3d b9 20 |=...Z..inkey%=. | 00001ed0 43 44 74 72 61 63 6b 65 72 25 3d a3 0d 0f 64 23 |CDtracker%=...d#| 00001ee0 f2 73 74 6f 72 65 5f 66 6f 72 5f 75 6e 64 6f 3a |.store_for_undo:| 00001ef0 f2 46 6f 72 6d 61 74 49 63 6f 6e 54 65 78 74 0d |.FormatIconText.| 00001f00 0f 6e 16 c9 33 3a f2 73 74 6f 72 65 5f 66 6f 72 |.n..3:.store_for| 00001f10 5f 75 6e 64 6f 0d 0f 78 0f e7 69 6e 6b 65 79 25 |_undo..x..inkey%| 00001f20 3d a3 20 8c 0d 0f 82 21 f2 43 6c 6f 73 65 5f 67 |=. ....!.Close_g| 00001f30 61 70 73 28 31 29 3a f2 43 6c 6f 73 65 5f 67 61 |aps(1):.Close_ga| 00001f40 70 73 28 32 29 0d 0f 8c 13 cc f2 63 6f 6d 62 69 |ps(2)......combi| 00001f50 6e 65 5f 73 69 64 65 73 0d 0f 96 05 cd 0d 0f a0 |ne_sides........| 00001f60 1a f2 53 65 74 43 61 72 65 74 50 6f 73 69 74 69 |..SetCaretPositi| 00001f70 6f 6e 28 30 2c 30 29 0d 0f aa 15 c9 34 3a f2 70 |on(0,0).....4:.p| 00001f80 72 65 5f 69 6e 73 65 72 74 28 b9 29 0d 0f b4 1d |re_insert(.)....| 00001f90 c9 35 3a f2 73 74 6f 72 65 5f 66 6f 72 5f 75 6e |.5:.store_for_un| 00001fa0 64 6f 3a f2 53 70 6c 69 74 0d 0f be 3b c9 36 3a |do:.Split...;.6:| 00001fb0 f2 73 74 6f 72 65 5f 66 6f 72 5f 75 6e 64 6f 3a |.store_for_undo:| 00001fc0 f2 57 69 70 65 49 63 6f 6e 54 65 78 74 3a f2 53 |.WipeIconText:.S| 00001fd0 65 74 43 61 72 65 74 50 6f 73 69 74 69 6f 6e 28 |etCaretPosition(| 00001fe0 30 2c 30 29 0d 0f c8 0c c9 37 3a f2 75 6e 64 6f |0,0).....7:.undo| 00001ff0 0d 0f d2 10 c9 38 3a f2 74 72 75 6e 63 61 74 65 |.....8:.truncate| 00002000 0d 0f dc 05 cb 0d 0f e6 05 cd 0d 0f f0 1f c8 99 |................| 00002010 22 57 69 6d 70 5f 47 65 74 50 6f 69 6e 74 65 72 |"Wimp_GetPointer| 00002020 49 6e 66 6f 22 2c 2c 71 25 0d 0f fa 10 e7 28 71 |Info",,q%.....(q| 00002030 25 21 38 20 80 20 31 29 8c 0d 10 04 39 e7 4d 65 |%!8 . 1)....9.Me| 00002040 6e 75 41 63 74 69 76 65 25 3d 49 63 6f 6e 42 61 |nuActive%=IconBa| 00002050 72 4d 65 6e 75 25 20 8c c8 99 22 57 69 6d 70 5f |rMenu% ..."Wimp_| 00002060 43 72 65 61 74 65 4d 65 6e 75 22 2c 2c 6d 65 6e |CreateMenu",,men| 00002070 75 25 0d 10 0e 3d e7 4d 65 6e 75 41 63 74 69 76 |u%...=.MenuActiv| 00002080 65 25 3d 4d 61 69 6e 57 69 6e 4d 65 6e 75 25 20 |e%=MainWinMenu% | 00002090 8c c8 99 22 57 69 6d 70 5f 43 72 65 61 74 65 4d |..."Wimp_CreateM| 000020a0 65 6e 75 22 2c 2c 4d 61 69 6e 4d 65 6e 75 25 0d |enu",,MainMenu%.| 000020b0 10 18 05 cd 0d 10 22 05 e1 0d 10 40 13 dd f2 42 |......"....@...B| 000020c0 75 74 74 6f 6e 50 72 65 73 73 65 64 0d 10 4a 2b |uttonPressed..J+| 000020d0 ea 20 4d 6f 75 73 65 58 25 2c 4d 6f 75 73 65 59 |. MouseX%,MouseY| 000020e0 25 2c 42 75 74 74 6f 6e 25 2c 57 69 6e 64 6f 77 |%,Button%,Window| 000020f0 25 2c 49 63 6f 6e 25 0d 10 54 11 4d 6f 75 73 65 |%,Icon%..T.Mouse| 00002100 58 25 3d 71 25 21 30 30 0d 10 5e 11 4d 6f 75 73 |X%=q%!00..^.Mous| 00002110 65 59 25 3d 71 25 21 30 34 0d 10 68 11 42 75 74 |eY%=q%!04..h.But| 00002120 74 6f 6e 25 3d 71 25 21 30 38 0d 10 72 11 57 69 |ton%=q%!08..r.Wi| 00002130 6e 64 6f 77 25 3d 71 25 21 31 32 0d 10 7c 11 49 |ndow%=q%!12..|.I| 00002140 63 6f 6e 25 20 20 3d 71 25 21 31 36 0d 10 86 2f |con% =q%!16.../| 00002150 e7 57 69 6e 64 6f 77 25 3d 49 63 6f 6e 42 61 72 |.Window%=IconBar| 00002160 25 80 49 63 6f 6e 25 3d 49 63 6f 6e 42 61 72 49 |%.Icon%=IconBarI| 00002170 63 6f 6e 48 61 6e 64 6c 65 25 8c 0d 10 90 0e c8 |conHandle%......| 00002180 8e 42 75 74 74 6f 6e 25 ca 0d 10 9a 19 c9 31 3a |.Button%......1:| 00002190 f2 4f 70 65 6e 4d 61 69 6e 57 69 6e 64 6f 77 28 |.OpenMainWindow(| 000021a0 a3 29 0d 10 a4 19 c9 34 3a f2 4f 70 65 6e 4d 61 |.).....4:.OpenMa| 000021b0 69 6e 57 69 6e 64 6f 77 28 b9 29 0d 10 ae 18 c9 |inWindow(.).....| 000021c0 32 3a f2 53 65 74 55 70 49 63 6f 6e 42 61 72 4d |2:.SetUpIconBarM| 000021d0 65 6e 75 0d 10 b8 05 cb 0d 10 c2 05 cd 0d 10 cc |enu.............| 000021e0 1e e7 42 75 74 74 6f 6e 25 3c 3e 32 80 57 69 6e |..Button%<>2.Win| 000021f0 64 6f 77 25 3d 4d 61 69 6e 25 8c 0d 10 d6 21 e7 |dow%=Main%....!.| 00002200 49 63 6f 6e 25 3c 3e 50 72 69 6e 74 25 f2 73 74 |Icon%<>Print%.st| 00002210 6f 72 65 5f 66 6f 72 5f 75 6e 64 6f 0d 10 e0 0c |ore_for_undo....| 00002220 c8 8e 49 63 6f 6e 25 ca 0d 10 ea 27 c9 53 69 64 |..Icon%....'.Sid| 00002230 65 41 25 3a f2 65 6e 74 65 72 5f 73 69 64 65 28 |eA%:.enter_side(| 00002240 a4 6d 28 6d 66 25 2c 22 53 41 22 29 2c 30 29 0d |.m(mf%,"SA"),0).| 00002250 10 f4 27 c9 53 69 64 65 42 25 3a f2 65 6e 74 65 |..'.SideB%:.ente| 00002260 72 5f 73 69 64 65 28 a4 6d 28 6d 66 25 2c 22 53 |r_side(.m(mf%,"S| 00002270 42 22 29 2c 31 29 0d 10 fe 1b c9 50 72 69 6e 74 |B"),1).....Print| 00002280 25 3a f2 50 72 69 6e 74 4f 75 74 28 71 25 21 38 |%:.PrintOut(q%!8| 00002290 29 0d 11 08 05 cb 0d 11 12 05 cd 0d 11 1c 1d e7 |)...............| 000022a0 42 75 74 74 6f 6e 25 3d 32 80 57 69 6e 64 6f 77 |Button%=2.Window| 000022b0 25 3d 4d 61 69 6e 25 8c 0d 11 26 19 54 65 6d 70 |%=Main%...&.Temp| 000022c0 24 3d a4 49 6e 76 65 6e 74 53 61 76 65 4e 61 6d |$=.InventSaveNam| 000022d0 65 0d 11 30 30 f2 43 72 65 61 74 65 4d 61 69 6e |e..00.CreateMain| 000022e0 57 69 6e 64 6f 77 4d 65 6e 75 28 4d 6f 75 73 65 |WindowMenu(Mouse| 000022f0 58 25 2c 4d 6f 75 73 65 59 25 2c 49 63 6f 6e 25 |X%,MouseY%,Icon%| 00002300 29 0d 11 3a 05 cd 0d 11 44 2d e7 57 69 6e 64 6f |)..:....D-.Windo| 00002310 77 25 3d 53 61 76 65 25 80 49 63 6f 6e 25 3d 53 |w%=Save%.Icon%=S| 00002320 61 76 65 49 63 6f 6e 25 20 8c f2 44 72 61 67 53 |aveIcon% ..DragS| 00002330 61 76 65 0d 11 4e 3f e7 57 69 6e 64 6f 77 25 3d |ave..N?.Window%=| 00002340 53 61 76 65 25 80 49 63 6f 6e 25 3d 53 61 76 65 |Save%.Icon%=Save| 00002350 4f 4b 25 20 8c f2 53 61 76 65 54 6f 28 a4 67 65 |OK% ..SaveTo(.ge| 00002360 74 5f 74 65 78 74 28 53 61 76 65 25 2c 31 2c a3 |t_text(Save%,1,.| 00002370 29 29 0d 11 58 05 e1 0d 11 6c 1d dd f2 65 6e 74 |))..X....l...ent| 00002380 65 72 5f 73 69 64 65 28 73 69 64 65 24 2c 69 63 |er_side(side$,ic| 00002390 6f 6e 25 29 0d 11 76 32 54 65 78 74 24 3d a4 75 |on%)..v2Text$=.u| 000023a0 6e 73 70 63 28 a4 75 6e 70 61 64 28 a4 67 65 74 |nspc(.unpad(.get| 000023b0 5f 74 65 78 74 28 4d 61 69 6e 25 2c 69 63 6f 6e |_text(Main%,icon| 000023c0 25 2c a3 29 29 29 0d 11 80 3d e7 54 65 78 74 24 |%,.)))...=.Text$| 000023d0 3c 3e 22 22 80 a4 63 61 73 65 28 54 65 78 74 24 |<>""..case(Text$| 000023e0 29 3c 3e a4 63 61 73 65 28 73 69 64 65 24 29 20 |)<>.case(side$) | 000023f0 8c f2 70 72 65 5f 69 6e 73 65 72 74 28 69 63 6f |..pre_insert(ico| 00002400 6e 25 29 0d 11 8a 29 e7 a4 75 6e 70 61 64 28 a4 |n%)...)..unpad(.| 00002410 67 65 74 5f 74 65 78 74 28 4d 61 69 6e 25 2c 69 |get_text(Main%,i| 00002420 63 6f 6e 25 2c a3 29 29 3d 22 22 8c 0d 11 94 55 |con%,.))=""....U| 00002430 f2 53 65 74 49 63 6f 6e 54 65 78 74 28 69 63 6f |.SetIconText(ico| 00002440 6e 25 2c 4d 61 69 6e 25 2c 73 69 64 65 24 29 3a |n%,Main%,side$):| 00002450 f2 52 65 64 72 61 77 28 4d 61 69 6e 25 2c 69 63 |.Redraw(Main%,ic| 00002460 6f 6e 25 29 3a f2 53 65 74 43 61 72 65 74 50 6f |on%):.SetCaretPo| 00002470 73 69 74 69 6f 6e 28 69 63 6f 6e 25 2b 32 2c 30 |sition(icon%+2,0| 00002480 29 0d 11 9e 05 cd 0d 11 a8 05 e1 0d 11 c6 2c dd |).............,.| 00002490 f2 50 72 6f 63 65 73 73 4b 65 79 28 4b 65 79 25 |.ProcessKey(Key%| 000024a0 29 3a ea 49 63 6f 6e 25 2c 49 6e 64 65 78 25 2c |):.Icon%,Index%,| 000024b0 57 69 6e 64 6f 77 25 0d 11 d0 1b 57 69 6e 64 6f |Window%....Windo| 000024c0 77 25 3d 71 25 21 30 3a 49 63 6f 6e 25 3d 71 25 |w%=q%!0:Icon%=q%| 000024d0 21 34 0d 11 da 10 49 6e 64 65 78 25 3d 71 25 21 |!4....Index%=q%!| 000024e0 32 30 0d 11 e4 0e c8 8e 57 69 6e 64 6f 77 25 ca |20......Window%.| 000024f0 0d 11 ee 0a c9 53 61 76 65 25 0d 11 f8 0b c8 8e |.....Save%......| 00002500 4b 65 79 25 ca 0d 12 02 26 c9 26 30 44 3a f2 53 |Key%....&.&0D:.S| 00002510 61 76 65 54 6f 28 a4 67 65 74 5f 74 65 78 74 28 |aveTo(.get_text(| 00002520 53 61 76 65 25 2c 31 2c a3 29 29 0d 12 0c 1e 7f |Save%,1,.)).....| 00002530 c8 99 22 57 69 6d 70 5f 50 72 6f 63 65 73 73 4b |.."Wimp_ProcessK| 00002540 65 79 22 2c 71 25 21 32 34 0d 12 16 05 cb 0d 12 |ey",q%!24.......| 00002550 20 0a c9 4d 61 69 6e 25 0d 12 2a 0b c8 8e 4b 65 | ..Main%..*...Ke| 00002560 79 25 ca 0d 12 34 16 c9 26 31 38 30 3a f2 50 72 |y%...4..&180:.Pr| 00002570 69 6e 74 4f 75 74 28 34 29 0d 12 3e 14 c9 26 31 |intOut(4)..>..&1| 00002580 38 41 3a e7 49 63 6f 6e 25 3c 33 38 8c 0d 12 48 |8A:.Icon%<38...H| 00002590 41 f2 53 65 74 43 61 72 65 74 50 6f 73 69 74 69 |A.SetCaretPositi| 000025a0 6f 6e 28 49 63 6f 6e 25 2d 28 28 49 63 6f 6e 25 |on(Icon%-((Icon%| 000025b0 83 32 29 3d 30 29 2b 28 28 49 63 6f 6e 25 20 83 |.2)=0)+((Icon% .| 000025c0 20 32 29 3d 31 29 2c 49 6e 64 65 78 25 29 0d 12 | 2)=1),Index%)..| 000025d0 52 05 cd 0d 12 5c 19 c9 26 30 44 3a f2 4d 6f 76 |R....\..&0D:.Mov| 000025e0 65 44 6f 77 6e 41 6e 45 6e 74 72 79 0d 12 66 18 |eDownAnEntry..f.| 000025f0 c9 26 31 43 44 3a f2 70 72 65 5f 69 6e 73 65 72 |.&1CD:.pre_inser| 00002600 74 28 b9 29 0d 12 70 27 c9 26 31 45 3a f2 53 65 |t(.)..p'.&1E:.Se| 00002610 74 43 61 72 65 74 50 6f 73 69 74 69 6f 6e 28 28 |tCaretPosition((| 00002620 49 63 6f 6e 25 83 32 29 2c 30 29 0d 12 7a 18 c9 |Icon%.2),0)..z..| 00002630 26 31 38 46 3a f2 4d 6f 76 65 55 70 41 6e 45 6e |&18F:.MoveUpAnEn| 00002640 74 72 79 0d 12 84 1a c9 26 31 38 45 3a f2 4d 6f |try.....&18E:.Mo| 00002650 76 65 44 6f 77 6e 41 6e 45 6e 74 72 79 0d 12 8e |veDownAnEntry...| 00002660 1f c9 26 31 38 33 3a 54 65 6d 70 24 3d a4 49 6e |..&183:Temp$=.In| 00002670 76 65 6e 74 53 61 76 65 4e 61 6d 65 0d 12 98 17 |ventSaveName....| 00002680 f2 4f 70 65 6e 53 75 62 4d 65 6e 75 28 53 61 76 |.OpenSubMenu(Sav| 00002690 65 25 29 0d 12 a2 42 c9 26 31 38 35 2c 26 31 38 |e%)...B.&185,&18| 000026a0 36 3a f2 65 6e 74 65 72 5f 73 69 64 65 28 22 53 |6:.enter_side("S| 000026b0 69 64 65 20 22 2b bd 28 36 35 2d 28 4b 65 79 25 |ide "+.(65-(Key%| 000026c0 3d 26 31 38 36 29 29 2c 2d 28 4b 65 79 25 3d 26 |=&186)),-(Key%=&| 000026d0 31 38 36 29 29 0d 12 ac 0f c9 26 31 38 38 3a f2 |186)).....&188:.| 000026e0 75 6e 64 6f 0d 12 b6 43 c9 26 31 38 39 2c 26 31 |undo...C.&189,&1| 000026f0 39 39 3a f2 73 74 6f 72 65 5f 66 6f 72 5f 75 6e |99:.store_for_un| 00002700 64 6f 3a f2 57 69 70 65 49 63 6f 6e 54 65 78 74 |do:.WipeIconText| 00002710 3a f2 53 65 74 43 61 72 65 74 50 6f 73 69 74 69 |:.SetCaretPositi| 00002720 6f 6e 28 30 2c 30 29 0d 12 c0 2a c9 26 31 43 41 |on(0,0)...*.&1CA| 00002730 2c 31 39 3a f2 53 77 61 70 43 61 73 65 28 4d 61 |,19:.SwapCase(Ma| 00002740 69 6e 25 2c 49 63 6f 6e 25 2c 49 6e 64 65 78 25 |in%,Icon%,Index%| 00002750 29 0d 12 ca 31 c9 26 31 43 42 3a 54 65 78 74 24 |)...1.&1CB:Text$| 00002760 3d c0 a4 67 65 74 5f 74 65 78 74 28 4d 61 69 6e |=..get_text(Main| 00002770 25 2c 49 63 6f 6e 25 2c a3 29 2c 49 6e 64 65 78 |%,Icon%,.),Index| 00002780 25 29 0d 12 d4 23 f2 53 65 74 49 63 6f 6e 54 65 |%)...#.SetIconTe| 00002790 78 74 28 49 63 6f 6e 25 2c 4d 61 69 6e 25 2c 54 |xt(Icon%,Main%,T| 000027a0 65 78 74 24 29 0d 12 de 18 f2 52 65 64 72 61 77 |ext$).....Redraw| 000027b0 28 4d 61 69 6e 25 2c 49 63 6f 6e 25 29 0d 12 e8 |(Main%,Icon%)...| 000027c0 1f 7f 3a c8 99 22 57 69 6d 70 5f 50 72 6f 63 65 |..:.."Wimp_Proce| 000027d0 73 73 4b 65 79 22 2c 71 25 21 32 34 0d 12 f2 05 |ssKey",q%!24....| 000027e0 cb 0d 12 fc 05 cb 0d 13 06 05 e1 0d 13 24 24 dd |.............$$.| 000027f0 f2 53 65 74 43 61 72 65 74 50 6f 73 69 74 69 6f |.SetCaretPositio| 00002800 6e 28 49 63 6f 6e 25 2c 49 6e 64 65 78 25 29 0d |n(Icon%,Index%).| 00002810 13 2e 2b 49 63 6f 6e 4c 65 6e 67 74 68 25 3d a9 |..+IconLength%=.| 00002820 28 a4 67 65 74 5f 74 65 78 74 28 4d 61 69 6e 25 |(.get_text(Main%| 00002830 2c 49 63 6f 6e 25 2c a3 29 29 0d 13 38 2b e7 49 |,Icon%,.))..8+.I| 00002840 6e 64 65 78 25 3e 49 63 6f 6e 4c 65 6e 67 74 68 |ndex%>IconLength| 00002850 25 20 8c 49 6e 64 65 78 25 3d 49 63 6f 6e 4c 65 |% .Index%=IconLe| 00002860 6e 67 74 68 25 0d 13 42 35 c8 99 22 57 69 6d 70 |ngth%..B5.."Wimp| 00002870 5f 53 65 74 43 61 72 65 74 50 6f 73 69 74 69 6f |_SetCaretPositio| 00002880 6e 22 2c 4d 61 69 6e 25 2c 49 63 6f 6e 25 2c 2c |n",Main%,Icon%,,| 00002890 2c 2d 31 2c 49 6e 64 65 78 25 0d 13 4c 05 e1 0d |,-1,Index%..L...| 000028a0 13 6a 1b dd f2 52 65 64 72 61 77 28 57 69 6e 64 |.j...Redraw(Wind| 000028b0 6f 77 25 2c 49 63 6f 6e 25 29 0d 13 74 1b 71 25 |ow%,Icon%)..t.q%| 000028c0 21 30 3d 57 69 6e 64 6f 77 25 3a 71 25 21 34 3d |!0=Window%:q%!4=| 000028d0 49 63 6f 6e 25 0d 13 7e 12 71 25 21 38 3d 30 3a |Icon%..~.q%!8=0:| 000028e0 71 25 21 31 32 3d 30 0d 13 88 1d c8 99 22 57 69 |q%!12=0......"Wi| 000028f0 6d 70 5f 53 65 74 49 63 6f 6e 53 74 61 74 65 22 |mp_SetIconState"| 00002900 2c 2c 71 25 0d 13 92 05 e1 0d 13 b0 29 dd f2 44 |,,q%........)..D| 00002910 65 63 6f 64 65 4d 65 73 73 61 67 65 28 52 65 71 |ecodeMessage(Req| 00002920 75 65 73 74 25 29 3a c8 8e 52 65 71 75 65 73 74 |uest%):..Request| 00002930 25 ca 0d 13 ba 11 c9 30 3a f2 43 6c 6f 73 65 44 |%......0:.CloseD| 00002940 6f 77 6e 0d 13 c4 37 c9 31 3a e7 71 25 21 34 3c |own...7.1:.q%!4<| 00002950 3e 4d 79 5f 69 64 25 e7 71 25 21 34 30 3d 26 42 |>My_id%.q%!40=&B| 00002960 30 46 20 f2 48 61 6e 64 6c 65 4d 65 73 73 61 67 |0F .HandleMessag| 00002970 65 5f 44 61 74 61 53 61 76 65 0d 13 ce 21 c9 32 |e_DataSave...!.2| 00002980 3a f2 48 61 6e 64 6c 65 4d 65 73 73 61 67 65 5f |:.HandleMessage_| 00002990 44 61 74 61 53 61 76 65 41 63 6b 0d 13 d8 1e c9 |DataSaveAck.....| 000029a0 33 3a f2 48 61 6e 64 6c 65 4d 65 73 73 61 67 65 |3:.HandleMessage| 000029b0 5f 44 61 74 61 4c 6f 61 64 0d 13 e2 21 c9 34 3a |_DataLoad...!.4:| 000029c0 f2 48 61 6e 64 6c 65 4d 65 73 73 61 67 65 5f 44 |.HandleMessage_D| 000029d0 61 74 61 4c 6f 61 64 41 63 6b 0d 13 ec 10 c9 35 |ataLoadAck.....5| 000029e0 3a f2 44 61 74 61 4f 70 65 6e 0d 13 f6 2e c9 36 |:.DataOpen.....6| 000029f0 3a 73 61 76 65 5f 62 6c 6f 63 6b 25 3d a4 72 61 |:save_block%=.ra| 00002a00 6d 73 61 76 65 5f 64 61 74 61 28 73 61 76 65 5f |msave_data(save_| 00002a10 6c 65 6e 67 74 68 25 29 0d 14 00 43 e7 72 61 6d |length%)...C.ram| 00002a20 5f 73 61 76 65 25 20 8c 62 79 74 65 73 5f 6c 65 |_save% .bytes_le| 00002a30 66 74 25 3d 73 61 76 65 5f 6c 65 6e 67 74 68 25 |ft%=save_length%| 00002a40 3a 73 6f 75 72 63 65 5f 62 75 66 66 65 72 25 3d |:source_buffer%=| 00002a50 73 61 76 65 5f 62 6c 6f 63 6b 25 0d 14 0a 50 72 |save_block%...Pr| 00002a60 61 6d 5f 73 61 76 65 25 3d a4 6d 65 73 73 61 67 |am_save%=.messag| 00002a70 65 5f 72 61 6d 5f 73 61 76 65 28 71 25 2c 4d 79 |e_ram_save(q%,My| 00002a80 5f 69 64 25 2c 71 25 21 34 2c 73 6f 75 72 63 65 |_id%,q%!4,source| 00002a90 5f 62 75 66 66 65 72 25 2c 62 79 74 65 73 5f 6c |_buffer%,bytes_l| 00002aa0 65 66 74 25 2c 71 25 21 32 30 29 0d 14 14 1b c8 |eft%,q%!20).....| 00002ab0 99 22 57 69 6d 70 5f 43 72 65 61 74 65 4d 65 6e |."Wimp_CreateMen| 00002ac0 75 22 2c 2c 2d 31 0d 14 1e 1d f2 64 65 5f 61 6c |u",,-1.....de_al| 00002ad0 6c 6f 63 61 74 65 28 73 61 76 65 5f 62 6c 6f 63 |locate(save_bloc| 00002ae0 6b 25 29 0d 14 28 14 c9 31 30 3a f2 44 65 73 6b |k%)..(..10:.Desk| 00002af0 54 6f 70 53 61 76 65 0d 14 32 18 c9 31 34 3a f2 |TopSave..2..14:.| 00002b00 4c 6f 77 50 6f 77 65 72 57 61 72 6e 69 6e 67 0d |LowPowerWarning.| 00002b10 14 3c 2c c9 26 35 30 32 3a f2 47 69 76 65 48 65 |.<,.&502:.GiveHe| 00002b20 6c 70 28 71 25 21 33 32 2c 71 25 21 33 36 2c 71 |lp(q%!32,q%!36,q| 00002b30 25 21 32 30 2c 71 25 21 32 34 29 0d 14 46 13 c9 |%!20,q%!24)..F..| 00002b40 26 34 30 30 43 43 3a 71 25 21 30 3d 34 38 0d 14 |&400CC:q%!0=48..| 00002b50 50 0e 71 25 21 31 32 3d 71 25 21 38 0d 14 5a 10 |P.q%!12=q%!8..Z.| 00002b60 71 25 21 31 36 3d 26 34 30 30 43 43 0d 14 64 0b |q%!16=&400CC..d.| 00002b70 71 25 21 32 34 3d 30 0d 14 78 16 24 28 71 25 2b |q%!24=0..x.$(q%+| 00002b80 32 38 29 3d 22 63 61 73 73 65 74 65 22 0d 14 8c |28)="cassete"...| 00002b90 1c 24 28 71 25 2b 33 36 29 3d a4 49 6e 76 65 6e |.$(q%+36)=.Inven| 00002ba0 74 53 61 76 65 4e 61 6d 65 0d 14 96 23 c8 99 22 |tSaveName...#.."| 00002bb0 57 69 6d 70 5f 53 65 6e 64 4d 65 73 73 61 67 65 |Wimp_SendMessage| 00002bc0 22 2c 31 37 2c 71 25 2c 71 25 21 34 0d 14 a0 05 |",17,q%,q%!4....| 00002bd0 cb 0d 14 aa 05 e1 0d 14 d2 1c dd f2 49 6e 69 74 |............Init| 00002be0 69 61 6c 69 73 65 5f 57 49 4d 50 5f 53 79 73 74 |ialise_WIMP_Syst| 00002bf0 65 6d 0d 14 dc 25 4d 79 54 61 73 6b 4e 61 6d 65 |em...%MyTaskName| 00002c00 24 3d 22 43 61 73 73 65 74 74 65 20 44 65 73 69 |$="Cassette Desi| 00002c10 67 6e 65 72 20 33 22 0d 14 f0 12 71 25 21 30 3d |gner 3"....q%!0=| 00002c20 30 20 20 20 20 20 20 20 20 0d 14 fa 12 71 25 21 |0 ....q%!| 00002c30 34 3d 31 20 20 20 20 20 20 20 20 0d 15 04 12 71 |4=1 ....q| 00002c40 25 21 38 3d 32 20 20 20 20 20 20 20 20 0d 15 0e |%!8=2 ...| 00002c50 12 71 25 21 31 32 3d 33 20 20 20 20 20 20 20 0d |.q%!12=3 .| 00002c60 15 18 12 71 25 21 31 36 3d 35 20 20 20 20 20 20 |...q%!16=5 | 00002c70 20 0d 15 22 12 71 25 21 32 30 3d 36 20 20 20 20 | ..".q%!20=6 | 00002c80 20 20 20 0d 15 2c 12 71 25 21 32 34 3d 37 20 20 | ..,.q%!24=7 | 00002c90 20 20 20 20 20 0d 15 36 12 71 25 21 32 38 3d 31 | ..6.q%!28=1| 00002ca0 30 20 20 20 20 20 20 0d 15 40 12 71 25 21 33 32 |0 ..@.q%!32| 00002cb0 3d 31 34 20 20 20 20 20 20 0d 15 4a 12 71 25 21 |=14 ..J.q%!| 00002cc0 33 36 3d 26 35 30 32 20 20 20 20 0d 15 54 12 71 |36=&502 ..T.q| 00002cd0 25 21 34 30 3d 26 34 30 30 43 32 20 20 0d 15 5e |%!40=&400C2 ..^| 00002ce0 12 71 25 21 34 34 3d 26 34 30 30 43 43 20 20 0d |.q%!44=&400CC .| 00002cf0 15 68 12 71 25 21 34 38 3d 30 20 20 20 20 20 20 |.h.q%!48=0 | 00002d00 20 0d 15 72 45 c8 99 22 57 69 6d 70 5f 49 6e 69 | ..rE.."Wimp_Ini| 00002d10 74 69 61 6c 69 73 65 22 2c 33 30 30 2c 26 34 42 |tialise",300,&4B| 00002d20 35 33 34 31 35 34 2c 4d 79 54 61 73 6b 4e 61 6d |534154,MyTaskNam| 00002d30 65 24 2c 71 25 20 b8 20 56 65 72 73 69 6f 6e 2c |e$,q% . Version,| 00002d40 4d 79 5f 69 64 25 0d 15 7c 29 49 63 6f 6e 42 61 |My_id%..|)IconBa| 00002d50 72 49 63 6f 6e 48 61 6e 64 6c 65 25 3d a4 43 72 |rIconHandle%=.Cr| 00002d60 65 61 74 65 49 63 6f 6e 42 61 72 49 63 6f 6e 0d |eateIconBarIcon.| 00002d70 15 86 19 f2 49 6e 69 74 69 61 6c 69 73 65 5f 54 |....Initialise_T| 00002d80 65 6d 70 6c 61 74 65 73 0d 15 9a 18 4d 61 73 6b |emplates....Mask| 00002d90 25 3d 25 31 31 30 30 30 30 30 31 31 30 30 30 31 |%=%1100000110001| 00002da0 0d 15 a4 05 e1 0d 15 c2 0f dd f2 43 6c 6f 73 65 |...........Close| 00002db0 44 6f 77 6e 0d 15 cc 27 c8 99 22 57 69 6d 70 5f |Down...'.."Wimp_| 00002dc0 43 6c 6f 73 65 44 6f 77 6e 22 2c 4d 79 5f 69 64 |CloseDown",My_id| 00002dd0 25 2c 26 34 42 35 33 34 31 35 34 0d 15 d6 12 f2 |%,&4B534154.....| 00002de0 6d 66 5f 63 6c 6f 73 65 28 6d 66 25 29 0d 15 e0 |mf_close(mf%)...| 00002df0 0f c8 99 22 4f 53 5f 45 78 69 74 22 0d 15 ea 05 |..."OS_Exit"....| 00002e00 e1 0d 15 fe 1a dd f2 49 6e 69 74 69 61 6c 69 73 |.......Initialis| 00002e10 65 5f 54 65 6d 70 6c 61 74 65 73 0d 16 08 42 de |e_Templates...B.| 00002e20 74 65 6d 70 6c 61 74 65 5f 6e 61 6d 65 24 28 32 |template_name$(2| 00002e30 29 2c 74 65 6d 70 6c 61 74 65 5f 62 75 66 66 65 |),template_buffe| 00002e40 72 25 28 32 29 2c 69 6e 64 5f 74 65 6d 70 6c 61 |r%(2),ind_templa| 00002e50 74 65 5f 62 75 66 66 65 72 25 28 32 29 0d 16 12 |te_buffer%(2)...| 00002e60 29 74 65 6d 70 6c 61 74 65 5f 6e 61 6d 65 24 28 |)template_name$(| 00002e70 29 3d 22 69 6e 66 6f 22 2c 22 4d 61 69 6e 22 2c |)="info","Main",| 00002e80 22 73 61 76 65 22 0d 16 1c 3f c8 99 22 57 69 6d |"save"...?.."Wim| 00002e90 70 5f 4f 70 65 6e 54 65 6d 70 6c 61 74 65 22 2c |p_OpenTemplate",| 00002ea0 2c 22 3c 43 61 73 73 65 74 74 65 24 44 69 72 3e |,"<Cassette$Dir>| 00002eb0 2e 52 65 73 6f 75 72 63 65 73 2e 54 65 6d 70 6c |.Resources.Templ| 00002ec0 61 74 65 73 22 0d 16 26 0f e3 63 6f 75 6e 74 25 |ates"..&..count%| 00002ed0 3d 30 b8 32 0d 16 30 53 c8 99 22 57 69 6d 70 5f |=0.2..0S.."Wimp_| 00002ee0 4c 6f 61 64 54 65 6d 70 6c 61 74 65 22 2c 2c 2d |LoadTemplate",,-| 00002ef0 31 2c 2c 2c 2c 74 65 6d 70 6c 61 74 65 5f 6e 61 |1,,,,template_na| 00002f00 6d 65 24 28 63 6f 75 6e 74 25 29 2c 30 20 b8 20 |me$(count%),0 . | 00002f10 2c 62 75 66 66 65 72 5f 73 69 7a 65 25 2c 69 6e |,buffer_size%,in| 00002f20 64 5f 73 69 7a 65 25 0d 16 3a 34 74 65 6d 70 6c |d_size%..:4templ| 00002f30 61 74 65 5f 62 75 66 66 65 72 25 28 63 6f 75 6e |ate_buffer%(coun| 00002f40 74 25 29 3d a4 61 6c 6c 6f 63 61 74 65 28 62 75 |t%)=.allocate(bu| 00002f50 66 66 65 72 5f 73 69 7a 65 25 29 0d 16 44 35 69 |ffer_size%)..D5i| 00002f60 6e 64 5f 74 65 6d 70 6c 61 74 65 5f 62 75 66 66 |nd_template_buff| 00002f70 65 72 25 28 63 6f 75 6e 74 25 29 3d a4 61 6c 6c |er%(count%)=.all| 00002f80 6f 63 61 74 65 28 69 6e 64 5f 73 69 7a 65 25 29 |ocate(ind_size%)| 00002f90 0d 16 4e 91 c8 99 22 57 69 6d 70 5f 4c 6f 61 64 |..N..."Wimp_Load| 00002fa0 54 65 6d 70 6c 61 74 65 22 2c 2c 74 65 6d 70 6c |Template",,templ| 00002fb0 61 74 65 5f 62 75 66 66 65 72 25 28 63 6f 75 6e |ate_buffer%(coun| 00002fc0 74 25 29 2c 69 6e 64 5f 74 65 6d 70 6c 61 74 65 |t%),ind_template| 00002fd0 5f 62 75 66 66 65 72 25 28 63 6f 75 6e 74 25 29 |_buffer%(count%)| 00002fe0 2c 69 6e 64 5f 74 65 6d 70 6c 61 74 65 5f 62 75 |,ind_template_bu| 00002ff0 66 66 65 72 25 28 63 6f 75 6e 74 25 29 2b 69 6e |ffer%(count%)+in| 00003000 64 5f 73 69 7a 65 25 2c 2d 31 2c 74 65 6d 70 6c |d_size%,-1,templ| 00003010 61 74 65 5f 6e 61 6d 65 24 28 63 6f 75 6e 74 25 |ate_name$(count%| 00003020 29 0d 16 58 22 74 65 6d 70 6c 61 74 65 5f 62 75 |)..X"template_bu| 00003030 66 66 65 72 25 28 63 6f 75 6e 74 25 29 21 32 34 |ffer%(count%)!24| 00003040 3d 2d 31 0d 16 62 1e c8 8e 74 65 6d 70 6c 61 74 |=-1..b...templat| 00003050 65 5f 6e 61 6d 65 24 28 63 6f 75 6e 74 25 29 20 |e_name$(count%) | 00003060 ca 0d 16 6c 43 c9 22 69 6e 66 6f 22 3a c8 99 22 |...lC."info":.."| 00003070 57 69 6d 70 5f 43 72 65 61 74 65 57 69 6e 64 6f |Wimp_CreateWindo| 00003080 77 22 2c 2c 74 65 6d 70 6c 61 74 65 5f 62 75 66 |w",,template_buf| 00003090 66 65 72 25 28 63 6f 75 6e 74 25 29 20 b8 20 49 |fer%(count%) . I| 000030a0 6e 66 6f 25 0d 16 76 43 c9 22 4d 61 69 6e 22 3a |nfo%..vC."Main":| 000030b0 c8 99 22 57 69 6d 70 5f 43 72 65 61 74 65 57 69 |.."Wimp_CreateWi| 000030c0 6e 64 6f 77 22 2c 2c 74 65 6d 70 6c 61 74 65 5f |ndow",,template_| 000030d0 62 75 66 66 65 72 25 28 63 6f 75 6e 74 25 29 20 |buffer%(count%) | 000030e0 b8 20 4d 61 69 6e 25 0d 16 80 43 c9 22 73 61 76 |. Main%...C."sav| 000030f0 65 22 3a c8 99 22 57 69 6d 70 5f 43 72 65 61 74 |e":.."Wimp_Creat| 00003100 65 57 69 6e 64 6f 77 22 2c 2c 74 65 6d 70 6c 61 |eWindow",,templa| 00003110 74 65 5f 62 75 66 66 65 72 25 28 63 6f 75 6e 74 |te_buffer%(count| 00003120 25 29 20 b8 20 53 61 76 65 25 0d 16 8a 05 cb 0d |%) . Save%......| 00003130 16 94 05 ed 0d 16 9e 05 e1 0d 16 bc 3c dd f2 53 |............<..S| 00003140 65 74 49 63 6f 6e 54 65 78 74 28 49 63 6f 6e 48 |etIconText(IconH| 00003150 61 6e 64 6c 65 25 2c 57 69 6e 64 6f 77 48 61 6e |andle%,WindowHan| 00003160 64 6c 65 25 2c 54 65 78 74 24 29 3a ea 50 6f 69 |dle%,Text$):.Poi| 00003170 6e 74 65 72 25 0d 16 c6 18 71 25 21 31 30 30 3d |nter%....q%!100=| 00003180 57 69 6e 64 6f 77 48 61 6e 64 6c 65 25 0d 16 d0 |WindowHandle%...| 00003190 16 71 25 21 31 30 34 3d 49 63 6f 6e 48 61 6e 64 |.q%!104=IconHand| 000031a0 6c 65 25 0d 16 da 21 c8 99 22 57 69 6d 70 5f 47 |le%...!.."Wimp_G| 000031b0 65 74 49 63 6f 6e 53 74 61 74 65 22 2c 2c 71 25 |etIconState",,q%| 000031c0 2b 31 30 30 0d 16 e4 1b e7 28 71 25 21 31 32 34 |+100.....(q%!124| 000031d0 20 80 20 28 31 3c 3c 38 29 29 3c 3e 30 20 8c 0d | . (1<<8))<>0 ..| 000031e0 16 ee 13 50 6f 69 6e 74 65 72 25 3d 71 25 21 31 |...Pointer%=q%!1| 000031f0 32 38 0d 16 f8 05 cc 0d 17 02 13 50 6f 69 6e 74 |28.........Point| 00003200 65 72 25 3d 71 25 2b 31 32 38 0d 17 0c 05 cd 0d |er%=q%+128......| 00003210 17 16 13 24 50 6f 69 6e 74 65 72 25 3d 54 65 78 |...$Pointer%=Tex| 00003220 74 24 0d 17 20 05 e1 0d 17 34 1a dd f2 53 65 74 |t$.. ....4...Set| 00003230 55 70 49 63 6f 6e 42 61 72 4d 65 6e 75 3a ea 6d |UpIconBarMenu:.m| 00003240 25 0d 17 3e 1c 4d 65 6e 75 41 63 74 69 76 65 25 |%..>.MenuActive%| 00003250 3d 49 63 6f 6e 42 61 72 4d 65 6e 75 25 0d 17 48 |=IconBarMenu%..H| 00003260 11 de 6d 65 6e 75 25 32 38 2b 32 2a 32 34 0d 17 |..menu%28+2*24..| 00003270 52 15 24 6d 65 6e 75 25 3d 22 43 61 73 73 65 74 |R.$menu%="Casset| 00003280 74 65 22 0d 17 5c 0e 6d 65 6e 75 25 3f 31 32 3d |te"..\.menu%?12=| 00003290 37 0d 17 66 0e 6d 65 6e 75 25 3f 31 33 3d 32 0d |7..f.menu%?13=2.| 000032a0 17 70 0e 6d 65 6e 75 25 3f 31 34 3d 37 0d 17 7a |.p.menu%?14=7..z| 000032b0 0e 6d 65 6e 75 25 3f 31 35 3d 30 0d 17 84 10 6d |.menu%?15=0....m| 000032c0 65 6e 75 25 21 31 36 3d 31 32 38 0d 17 8e 0f 6d |enu%!16=128....m| 000032d0 65 6e 75 25 21 32 30 3d 34 34 0d 17 98 0e 6d 65 |enu%!20=44....me| 000032e0 6e 75 25 21 32 34 3d 30 0d 17 a2 0f 6d 25 3d 6d |nu%!24=0....m%=m| 000032f0 65 6e 75 25 2b 32 38 0d 17 ac 0b 6d 25 21 30 3d |enu%+28....m%!0=| 00003300 26 30 0d 17 b6 0e 6d 25 21 34 3d 49 6e 66 6f 25 |&0....m%!4=Info%| 00003310 0d 17 c0 19 6d 25 21 38 3d 28 37 3c 3c 32 34 29 |....m%!8=(7<<24)| 00003320 20 84 20 25 31 30 30 30 31 0d 17 ca 13 24 28 6d | . %10001....$(m| 00003330 25 2b 31 32 29 3d 22 49 6e 66 6f 22 0d 17 d4 0c |%+12)="Info"....| 00003340 6d 25 3d 6d 25 2b 32 34 0d 17 de 0c 6d 25 21 30 |m%=m%+24....m%!0| 00003350 3d 26 38 30 0d 17 e8 0a 6d 25 21 34 3d 30 0d 17 |=&80....m%!4=0..| 00003360 f2 18 6d 25 21 38 3d 28 37 3c 3c 32 34 29 84 20 |..m%!8=(7<<24). | 00003370 25 31 30 30 30 31 0d 17 fc 13 24 28 6d 25 2b 31 |%10001....$(m%+1| 00003380 32 29 3d 22 51 75 69 74 22 0d 18 06 2a c8 99 22 |2)="Quit"...*.."| 00003390 57 69 6d 70 5f 43 72 65 61 74 65 4d 65 6e 75 22 |Wimp_CreateMenu"| 000033a0 2c 2c 6d 65 6e 75 25 2c 71 25 21 30 2d 36 34 2c |,,menu%,q%!0-64,| 000033b0 31 38 34 0d 18 10 05 e1 0d 18 2e 2b dd f2 4f 70 |184........+..Op| 000033c0 65 6e 4d 61 69 6e 57 69 6e 64 6f 77 28 57 69 70 |enMainWindow(Wip| 000033d0 65 54 65 6d 70 6c 61 74 65 49 63 6f 6e 54 65 78 |eTemplateIconTex| 000033e0 74 25 29 0d 18 38 3d e7 57 69 70 65 54 65 6d 70 |t%)..8=.WipeTemp| 000033f0 6c 61 74 65 49 63 6f 6e 54 65 78 74 25 80 4e 65 |lateIconText%.Ne| 00003400 77 25 80 ac 53 74 61 72 74 57 69 74 68 4c 6f 61 |w%..StartWithLoa| 00003410 64 20 8c f2 57 69 70 65 49 63 6f 6e 54 65 78 74 |d ..WipeIconText| 00003420 0d 18 42 0d 21 71 25 3d 4d 61 69 6e 25 0d 18 4c |..B.!q%=Main%..L| 00003430 1f c8 99 22 57 69 6d 70 5f 47 65 74 57 69 6e 64 |..."Wimp_GetWind| 00003440 6f 77 53 74 61 74 65 22 2c 2c 71 25 0d 18 56 0c |owState",,q%..V.| 00003450 71 25 21 32 38 3d 2d 31 0d 18 60 1b c8 99 22 57 |q%!28=-1..`..."W| 00003460 69 6d 70 5f 4f 70 65 6e 57 69 6e 64 6f 77 22 2c |imp_OpenWindow",| 00003470 2c 71 25 0d 18 6a 0a 4e 65 77 25 3d a3 0d 18 74 |,q%..j.New%=...t| 00003480 40 f2 53 65 74 43 61 72 65 74 50 6f 73 69 74 69 |@.SetCaretPositi| 00003490 6f 6e 28 94 53 65 63 6f 6e 64 43 44 25 2c a9 a4 |on(.SecondCD%,..| 000034a0 67 65 74 5f 74 65 78 74 28 4d 61 69 6e 25 2c 94 |get_text(Main%,.| 000034b0 53 65 63 6f 6e 64 43 44 25 2c a3 29 29 0d 18 7e |SecondCD%,.))..~| 000034c0 05 e1 0d 18 9c 24 dd f2 43 6c 6f 73 65 5f 67 61 |.....$..Close_ga| 000034d0 70 73 28 73 69 64 65 25 29 3a ea 69 63 6f 6e 25 |ps(side%):.icon%| 000034e0 2c 69 63 6f 6e 24 0d 18 a6 14 67 61 70 25 3d 2d |,icon$....gap%=-| 000034f0 31 3a 73 69 64 65 25 2d 3d 31 0d 18 c4 1f e3 20 |1:side%-=1..... | 00003500 69 63 6f 6e 25 3d 73 69 64 65 25 20 b8 20 33 36 |icon%=side% . 36| 00003510 2b 73 69 64 65 25 20 88 32 0d 18 ce 27 e7 20 69 |+side% .2...'. i| 00003520 63 6f 6e 25 3c 32 34 2b 73 69 64 65 25 20 84 20 |con%<24+side% . | 00003530 69 63 6f 6e 25 3e 32 36 2b 73 69 64 65 25 20 8c |icon%>26+side% .| 00003540 0d 18 d8 2a 69 63 6f 6e 24 3d a4 75 6e 70 61 64 |...*icon$=.unpad| 00003550 28 a4 67 65 74 5f 74 65 78 74 28 4d 61 69 6e 25 |(.get_text(Main%| 00003560 2c 69 63 6f 6e 25 2c a3 29 29 0d 18 e2 28 e7 20 |,icon%,.))...(. | 00003570 69 63 6f 6e 24 3c 3e 22 22 20 67 61 70 25 2b 3d |icon$<>"" gap%+=| 00003580 31 3a 67 61 70 24 28 67 61 70 25 29 3d 69 63 6f |1:gap$(gap%)=ico| 00003590 6e 24 0d 18 ec 05 cd 0d 18 f6 05 ed 0d 19 00 0b |n$..............| 000035a0 67 61 70 25 3d 2d 31 0d 19 14 1d e3 69 63 6f 6e |gap%=-1.....icon| 000035b0 25 3d 30 2b 73 69 64 65 25 b8 33 36 2b 73 69 64 |%=0+side%.36+sid| 000035c0 65 25 88 32 0d 19 1e 23 e7 69 63 6f 6e 25 3c 32 |e%.2...#.icon%<2| 000035d0 34 2b 73 69 64 65 25 84 69 63 6f 6e 25 3e 32 36 |4+side%.icon%>26| 000035e0 2b 73 69 64 65 25 8c 0d 19 28 0b 67 61 70 25 2b |+side%...(.gap%+| 000035f0 3d 31 0d 19 32 28 f2 53 65 74 49 63 6f 6e 54 65 |=1..2(.SetIconTe| 00003600 78 74 28 69 63 6f 6e 25 2c 4d 61 69 6e 25 2c 67 |xt(icon%,Main%,g| 00003610 61 70 24 28 67 61 70 25 29 29 0d 19 3c 05 cd 0d |ap$(gap%))..<...| 00003620 19 46 05 ed 0d 19 5a 1b e3 69 63 6f 6e 25 3d 73 |.F....Z..icon%=s| 00003630 69 64 65 25 b8 33 36 2b 73 69 64 65 25 88 32 0d |ide%.36+side%.2.| 00003640 19 64 23 e7 69 63 6f 6e 25 3c 32 34 2b 73 69 64 |.d#.icon%<24+sid| 00003650 65 25 84 69 63 6f 6e 25 3e 32 36 2b 73 69 64 65 |e%.icon%>26+side| 00003660 25 8c 0d 19 6e 18 f2 52 65 64 72 61 77 28 4d 61 |%...n..Redraw(Ma| 00003670 69 6e 25 2c 69 63 6f 6e 25 29 0d 19 78 05 cd 0d |in%,icon%)..x...| 00003680 19 82 05 ed 0d 19 8c 0d 67 61 70 24 28 29 3d 22 |........gap$()="| 00003690 22 0d 19 96 05 e1 0d 19 b4 20 dd f2 63 6f 6d 62 |"........ ..comb| 000036a0 69 6e 65 5f 73 69 64 65 73 3a ea 69 63 6f 6e 25 |ine_sides:.icon%| 000036b0 2c 69 63 6f 6e 24 0d 19 c8 13 67 61 70 25 3d 2d |,icon$....gap%=-| 000036c0 31 3a 73 69 64 65 25 3d 30 0d 19 d2 05 f5 0d 19 |1:side%=0.......| 000036d0 dc 1b e3 69 63 6f 6e 25 3d 73 69 64 65 25 b8 33 |...icon%=side%.3| 000036e0 36 2b 73 69 64 65 25 88 32 0d 19 e6 23 e7 69 63 |6+side%.2...#.ic| 000036f0 6f 6e 25 3c 32 34 2b 73 69 64 65 25 84 69 63 6f |on%<24+side%.ico| 00003700 6e 25 3e 32 36 2b 73 69 64 65 25 8c 0d 19 f0 2a |n%>26+side%....*| 00003710 69 63 6f 6e 24 3d a4 75 6e 70 61 64 28 a4 67 65 |icon$=.unpad(.ge| 00003720 74 5f 74 65 78 74 28 4d 61 69 6e 25 2c 69 63 6f |t_text(Main%,ico| 00003730 6e 25 2c a3 29 29 0d 19 fa 26 e7 69 63 6f 6e 24 |n%,.))...&.icon$| 00003740 3c 3e 22 22 67 61 70 25 2b 3d 31 3a 67 61 70 24 |<>""gap%+=1:gap$| 00003750 28 67 61 70 25 29 3d 69 63 6f 6e 24 0d 1a 04 05 |(gap%)=icon$....| 00003760 cd 0d 1a 0e 05 ed 0d 1a 18 0c 73 69 64 65 25 2b |..........side%+| 00003770 3d 31 0d 1a 22 0c fd 73 69 64 65 25 3d 32 0d 1a |=1.."..side%=2..| 00003780 36 13 67 61 70 25 3d 2d 31 3a 73 69 64 65 25 3d |6.gap%=-1:side%=| 00003790 30 0d 1a 40 05 f5 0d 1a 4a 1d e3 69 63 6f 6e 25 |0..@....J..icon%| 000037a0 3d 30 2b 73 69 64 65 25 b8 33 36 2b 73 69 64 65 |=0+side%.36+side| 000037b0 25 88 32 0d 1a 54 25 e7 69 63 6f 6e 25 3c 32 34 |%.2..T%.icon%<24| 000037c0 2b 73 69 64 65 25 20 84 20 69 63 6f 6e 25 3e 32 |+side% . icon%>2| 000037d0 36 2b 73 69 64 65 25 8c 0d 1a 5e 0b 67 61 70 25 |6+side%...^.gap%| 000037e0 2b 3d 31 0d 1a 68 28 f2 53 65 74 49 63 6f 6e 54 |+=1..h(.SetIconT| 000037f0 65 78 74 28 69 63 6f 6e 25 2c 4d 61 69 6e 25 2c |ext(icon%,Main%,| 00003800 67 61 70 24 28 67 61 70 25 29 29 0d 1a 72 05 cd |gap$(gap%))..r..| 00003810 0d 1a 7c 05 ed 0d 1a 86 0c 73 69 64 65 25 2b 3d |..|......side%+=| 00003820 31 0d 1a 90 0c fd 73 69 64 65 25 3d 32 0d 1a a4 |1.....side%=2...| 00003830 0f e3 69 63 6f 6e 25 3d 30 b8 33 37 0d 1a ae 17 |..icon%=0.37....| 00003840 e7 69 63 6f 6e 25 3c 32 34 84 69 63 6f 6e 25 3e |.icon%<24.icon%>| 00003850 32 37 8c 0d 1a b8 18 f2 52 65 64 72 61 77 28 4d |27......Redraw(M| 00003860 61 69 6e 25 2c 69 63 6f 6e 25 29 0d 1a c2 05 cd |ain%,icon%).....| 00003870 0d 1a cc 05 ed 0d 1a d6 0d 67 61 70 24 28 29 3d |.........gap$()=| 00003880 22 22 0d 1a e0 05 e1 0d 1a fe 20 dd f2 53 70 6c |""........ ..Spl| 00003890 69 74 3a ea 20 73 70 6c 69 74 25 2c 4c 6f 6f 70 |it:. split%,Loop| 000038a0 25 2c 73 69 64 65 25 0d 1b 08 21 c8 99 22 57 69 |%,side%...!.."Wi| 000038b0 6d 70 5f 47 65 74 43 61 72 65 74 50 6f 73 69 74 |mp_GetCaretPosit| 000038c0 69 6f 6e 22 2c 2c 71 25 0d 1b 1c 0f e7 21 71 25 |ion",,q%.....!q%| 000038d0 3d 4d 61 69 6e 25 8c 0d 1b 30 0f 73 70 6c 69 74 |=Main%...0.split| 000038e0 25 3d 71 25 21 34 0d 1b 44 10 e7 73 70 6c 69 74 |%=q%!4..D..split| 000038f0 25 83 32 3d 30 8c 0d 1b 58 19 e7 73 70 6c 69 74 |%.2=0...X..split| 00003900 25 3c 32 34 84 73 70 6c 69 74 25 3e 32 36 8c 0d |%<24.split%>26..| 00003910 1b 6c 15 73 69 64 65 25 3d 30 3a 6e 6f 64 61 74 |.l.side%=0:nodat| 00003920 61 25 3d b9 0d 1b 76 16 e3 4c 6f 6f 70 25 3d 73 |a%=...v..Loop%=s| 00003930 70 6c 69 74 25 b8 33 36 88 32 0d 1b 8a 1a e7 4c |plit%.36.2.....L| 00003940 6f 6f 70 25 3c 32 34 20 84 20 4c 6f 6f 70 25 3e |oop%<24 . Loop%>| 00003950 32 36 20 8c 0d 1b 9e 2a e7 a4 75 6e 70 61 64 28 |26 ....*..unpad(| 00003960 a4 67 65 74 5f 74 65 78 74 28 4d 61 69 6e 25 2c |.get_text(Main%,| 00003970 4c 6f 6f 70 25 2c a3 29 29 3c 3e 22 22 8c 0d 1b |Loop%,.))<>""...| 00003980 a8 30 67 61 70 24 28 73 69 64 65 25 29 3d a4 75 |.0gap$(side%)=.u| 00003990 6e 70 61 64 28 a4 67 65 74 5f 74 65 78 74 28 4d |npad(.get_text(M| 000039a0 61 69 6e 25 2c 4c 6f 6f 70 25 2c a3 29 29 0d 1b |ain%,Loop%,.))..| 000039b0 bc 20 f2 53 65 74 49 63 6f 6e 54 65 78 74 28 4c |. .SetIconText(L| 000039c0 6f 6f 70 25 2c 4d 61 69 6e 25 2c 22 22 29 0d 1b |oop%,Main%,"")..| 000039d0 c6 16 73 69 64 65 25 2b 3d 31 3a 6e 6f 64 61 74 |..side%+=1:nodat| 000039e0 61 25 3d a3 0d 1b d0 05 cd 0d 1b da 05 cd 0d 1b |a%=.............| 000039f0 e4 05 ed 0d 1b f8 10 e7 6e 6f 64 61 74 61 25 3d |........nodata%=| 00003a00 a3 20 8c 0d 1c 0c 11 e3 4c 6f 6f 70 25 3d 31 b8 |. ......Loop%=1.| 00003a10 33 37 88 32 0d 1c 20 17 e7 4c 6f 6f 70 25 3c 32 |37.2.. ..Loop%<2| 00003a20 35 84 4c 6f 6f 70 25 3e 32 37 8c 0d 1c 34 2a e7 |5.Loop%>27...4*.| 00003a30 a4 75 6e 70 61 64 28 a4 67 65 74 5f 74 65 78 74 |.unpad(.get_text| 00003a40 28 4d 61 69 6e 25 2c 4c 6f 6f 70 25 2c a3 29 29 |(Main%,Loop%,.))| 00003a50 3c 3e 22 22 8c 0d 1c 3e 30 67 61 70 24 28 73 69 |<>""...>0gap$(si| 00003a60 64 65 25 29 3d a4 75 6e 70 61 64 28 a4 67 65 74 |de%)=.unpad(.get| 00003a70 5f 74 65 78 74 28 4d 61 69 6e 25 2c 4c 6f 6f 70 |_text(Main%,Loop| 00003a80 25 2c a3 29 29 0d 1c 48 0c 73 69 64 65 25 2b 3d |%,.))..H.side%+=| 00003a90 31 0d 1c 52 05 cd 0d 1c 5c 05 cd 0d 1c 66 05 ed |1..R....\....f..| 00003aa0 0d 1c 7a 0b 73 69 64 65 25 3d 30 0d 1c 84 11 e3 |..z.side%=0.....| 00003ab0 4c 6f 6f 70 25 3d 31 b8 33 37 88 32 0d 1c 8e 17 |Loop%=1.37.2....| 00003ac0 e7 4c 6f 6f 70 25 3c 32 35 84 4c 6f 6f 70 25 3e |.Loop%<25.Loop%>| 00003ad0 32 37 8c 0d 1c 98 29 f2 53 65 74 49 63 6f 6e 54 |27....).SetIconT| 00003ae0 65 78 74 28 4c 6f 6f 70 25 2c 4d 61 69 6e 25 2c |ext(Loop%,Main%,| 00003af0 67 61 70 24 28 73 69 64 65 25 29 29 0d 1c a2 0c |gap$(side%))....| 00003b00 73 69 64 65 25 2b 3d 31 0d 1c ac 05 cd 0d 1c b6 |side%+=1........| 00003b10 05 ed 0d 1c ca 16 e3 4c 6f 6f 70 25 3d 73 70 6c |.......Loop%=spl| 00003b20 69 74 25 b8 33 36 88 32 0d 1c d4 17 e7 4c 6f 6f |it%.36.2.....Loo| 00003b30 70 25 3c 32 34 84 4c 6f 6f 70 25 3e 32 36 8c 0d |p%<24.Loop%>26..| 00003b40 1c de 18 f2 52 65 64 72 61 77 28 4d 61 69 6e 25 |....Redraw(Main%| 00003b50 2c 4c 6f 6f 70 25 29 0d 1c e8 05 cd 0d 1c f2 05 |,Loop%).........| 00003b60 ed 0d 1d 06 11 e3 4c 6f 6f 70 25 3d 31 b8 33 37 |......Loop%=1.37| 00003b70 88 32 0d 1d 10 17 e7 4c 6f 6f 70 25 3c 32 35 84 |.2.....Loop%<25.| 00003b80 4c 6f 6f 70 25 3e 32 37 8c 0d 1d 1a 18 f2 52 65 |Loop%>27......Re| 00003b90 64 72 61 77 28 4d 61 69 6e 25 2c 4c 6f 6f 70 25 |draw(Main%,Loop%| 00003ba0 29 0d 1d 24 05 cd 0d 1d 2e 05 ed 0d 1d 38 22 cc |)..$.........8".| 00003bb0 f2 61 64 76 69 63 65 28 a4 6d 28 6d 66 25 2c 22 |.advice(.m(mf%,"| 00003bc0 4e 6f 53 70 6c 69 74 22 29 2c 31 37 29 0d 1d 42 |NoSplit"),17)..B| 00003bd0 05 cd 0d 1d 4c 0d 67 61 70 24 28 29 3d 22 22 0d |....L.gap$()="".| 00003be0 1d 56 25 e7 6e 6f 64 61 74 61 25 3d a3 20 f2 53 |.V%.nodata%=. .S| 00003bf0 65 74 43 61 72 65 74 50 6f 73 69 74 69 6f 6e 28 |etCaretPosition(| 00003c00 30 2c 30 29 0d 1d 60 21 cc f2 61 64 76 69 63 65 |0,0)..`!..advice| 00003c10 28 a4 6d 28 6d 66 25 2c 22 54 69 74 6c 65 73 22 |(.m(mf%,"Titles"| 00003c20 29 2c 31 37 29 0d 1d 6a 05 cd 0d 1d 74 20 cc f2 |),17)..j....t ..| 00003c30 61 64 76 69 63 65 28 a4 6d 28 6d 66 25 2c 22 53 |advice(.m(mf%,"S| 00003c40 69 64 65 42 22 29 2c 31 37 29 0d 1d 7e 05 cd 0d |ideB"),17)..~...| 00003c50 1d 88 27 cc f2 61 64 76 69 63 65 28 a4 6d 28 6d |..'..advice(.m(m| 00003c60 66 25 2c 22 4e 6f 46 6f 63 75 73 53 69 64 65 41 |f%,"NoFocusSideA| 00003c70 22 29 2c 31 37 29 0d 1d 92 05 cd 0d 1d 9c 05 e1 |"),17)..........| 00003c80 0d 1d ba 21 dd f2 70 72 65 5f 69 6e 73 65 72 74 |...!..pre_insert| 00003c90 28 69 6e 73 65 72 74 25 29 3a ea 20 69 63 6f 6e |(insert%):. icon| 00003ca0 25 0d 1d c4 10 e7 69 6e 73 65 72 74 25 3d b9 20 |%.....insert%=. | 00003cb0 8c 0d 1d ce 21 c8 99 22 57 69 6d 70 5f 47 65 74 |....!.."Wimp_Get| 00003cc0 43 61 72 65 74 50 6f 73 69 74 69 6f 6e 22 2c 2c |CaretPosition",,| 00003cd0 71 25 0d 1d ec 1c cc 20 21 71 25 3d 4d 61 69 6e |q%..... !q%=Main| 00003ce0 25 3a 71 25 21 34 3d 69 6e 73 65 72 74 25 0d 1d |%:q%!4=insert%..| 00003cf0 f6 05 cd 0d 1e 00 10 e7 21 71 25 3d 4d 61 69 6e |........!q%=Main| 00003d00 25 20 8c 0d 1e 0a 0e 69 63 6f 6e 25 3d 71 25 21 |% .....icon%=q%!| 00003d10 34 0d 1e 1e 18 e7 69 63 6f 6e 25 3c 32 34 84 69 |4.....icon%<24.i| 00003d20 63 6f 6e 25 3e 32 36 20 8c 0d 1e 32 30 e7 20 a4 |con%>26 ...20. .| 00003d30 75 6e 70 61 64 28 a4 67 65 74 5f 74 65 78 74 28 |unpad(.get_text(| 00003d40 4d 61 69 6e 25 2c 33 36 2b 69 63 6f 6e 25 83 32 |Main%,36+icon%.2| 00003d50 2c a3 29 29 3d 22 22 20 8c 0d 1e 3c 13 f2 73 74 |,.))="" ...<..st| 00003d60 6f 72 65 5f 66 6f 72 5f 75 6e 64 6f 0d 1e 46 11 |ore_for_undo..F.| 00003d70 f2 69 6e 73 65 72 74 28 71 25 21 34 29 0d 1e 50 |.insert(q%!4)..P| 00003d80 05 cd 0d 1e 5a 05 cd 0d 1e 64 25 cc f2 61 64 76 |....Z....d%..adv| 00003d90 69 63 65 28 a4 6d 28 6d 66 25 2c 22 4e 6f 46 6f |ice(.m(mf%,"NoFo| 00003da0 63 75 73 47 61 70 22 29 2c 31 37 29 0d 1e 6e 05 |cusGap"),17)..n.| 00003db0 cd 0d 1e 78 05 e1 0d 1e 96 1a dd f2 69 6e 73 65 |...x........inse| 00003dc0 72 74 28 69 63 6f 6e 25 29 3a ea 4c 6f 6f 70 25 |rt(icon%):.Loop%| 00003dd0 0d 1e a0 19 67 61 70 25 3d 2d 31 3a 73 69 64 65 |....gap%=-1:side| 00003de0 25 3d 69 63 6f 6e 25 83 32 0d 1e b4 1b e3 4c 6f |%=icon%.2.....Lo| 00003df0 6f 70 25 3d 69 63 6f 6e 25 b8 33 34 2b 73 69 64 |op%=icon%.34+sid| 00003e00 65 25 88 32 0d 1e be 23 e7 4c 6f 6f 70 25 3c 32 |e%.2...#.Loop%<2| 00003e10 34 2b 73 69 64 65 25 84 4c 6f 6f 70 25 3e 32 36 |4+side%.Loop%>26| 00003e20 2b 73 69 64 65 25 8c 0d 1e c8 0b 67 61 70 25 2b |+side%.....gap%+| 00003e30 3d 31 0d 1e d2 32 69 6e 73 65 72 74 24 28 67 61 |=1...2insert$(ga| 00003e40 70 25 29 3d a4 75 6e 70 61 64 28 a4 67 65 74 5f |p%)=.unpad(.get_| 00003e50 74 65 78 74 28 4d 61 69 6e 25 2c 4c 6f 6f 70 25 |text(Main%,Loop%| 00003e60 2c a3 29 29 0d 1e dc 05 cd 0d 1e e6 05 ed 0d 1e |,.))............| 00003e70 fa 20 f2 53 65 74 49 63 6f 6e 54 65 78 74 28 69 |. .SetIconText(i| 00003e80 63 6f 6e 25 2c 4d 61 69 6e 25 2c 22 22 29 0d 1f |con%,Main%,"")..| 00003e90 0e 0b 67 61 70 25 3d 2d 31 0d 1f 18 1d e3 4c 6f |..gap%=-1.....Lo| 00003ea0 6f 70 25 3d 69 63 6f 6e 25 2b 32 b8 33 36 2b 73 |op%=icon%+2.36+s| 00003eb0 69 64 65 25 88 32 0d 1f 22 23 e7 4c 6f 6f 70 25 |ide%.2.."#.Loop%| 00003ec0 3c 32 34 2b 73 69 64 65 25 84 4c 6f 6f 70 25 3e |<24+side%.Loop%>| 00003ed0 32 36 2b 73 69 64 65 25 8c 0d 1f 2c 0b 67 61 70 |26+side%...,.gap| 00003ee0 25 2b 3d 31 0d 1f 36 2b f2 53 65 74 49 63 6f 6e |%+=1..6+.SetIcon| 00003ef0 54 65 78 74 28 4c 6f 6f 70 25 2c 4d 61 69 6e 25 |Text(Loop%,Main%| 00003f00 2c 69 6e 73 65 72 74 24 28 67 61 70 25 29 29 0d |,insert$(gap%)).| 00003f10 1f 40 05 cd 0d 1f 4a 05 ed 0d 1f 54 1e f2 53 65 |.@....J....T..Se| 00003f20 74 43 61 72 65 74 50 6f 73 69 74 69 6f 6e 28 69 |tCaretPosition(i| 00003f30 63 6f 6e 25 2c 30 29 0d 1f 68 1b e3 4c 6f 6f 70 |con%,0)..h..Loop| 00003f40 25 3d 69 63 6f 6e 25 b8 33 36 2b 73 69 64 65 25 |%=icon%.36+side%| 00003f50 88 32 0d 1f 72 17 e7 4c 6f 6f 70 25 3c 32 34 84 |.2..r..Loop%<24.| 00003f60 4c 6f 6f 70 25 3e 32 37 8c 0d 1f 7c 18 f2 52 65 |Loop%>27...|..Re| 00003f70 64 72 61 77 28 4d 61 69 6e 25 2c 4c 6f 6f 70 25 |draw(Main%,Loop%| 00003f80 29 0d 1f 86 05 cd 0d 1f 90 05 ed 0d 1f 9a 10 69 |)..............i| 00003f90 6e 73 65 72 74 24 28 29 3d 22 22 0d 1f a4 05 e1 |nsert$()="".....| 00003fa0 0d 1f b8 0e dd f2 74 72 75 6e 63 61 74 65 0d 1f |......truncate..| 00003fb0 cc 3a c8 99 22 58 4f 53 5f 53 57 49 4e 75 6d 62 |.:.."XOS_SWINumb| 00003fc0 65 72 46 72 6f 6d 53 74 72 69 6e 67 22 2c 2c 22 |erFromString",,"| 00003fd0 46 6f 6e 74 5f 53 63 61 6e 53 74 72 69 6e 67 22 |Font_ScanString"| 00003fe0 20 b8 20 46 6c 61 67 25 0d 1f d6 35 e7 20 46 6c | . Flag%...5. Fl| 00003ff0 61 67 25 20 80 20 31 20 8c 4e 65 77 46 6f 6e 74 |ag% . 1 .NewFont| 00004000 4d 61 6e 61 67 65 72 25 3d a3 20 8b 4e 65 77 46 |Manager%=. .NewF| 00004010 6f 6e 74 4d 61 6e 61 67 65 72 25 3d b9 0d 1f e0 |ontManager%=....| 00004020 0f f2 66 69 6e 64 5f 66 6f 6e 74 73 0d 1f ea 10 |..find_fonts....| 00004030 ea 4c 6f 6f 70 25 2c 54 65 78 74 24 0d 1f f4 10 |.Loop%,Text$....| 00004040 e3 20 4c 6f 6f 70 25 3d 30 b8 33 37 0d 1f fe 2a |. Loop%=0.37...*| 00004050 54 65 78 74 24 3d a4 75 6e 70 61 64 28 a4 67 65 |Text$=.unpad(.ge| 00004060 74 5f 74 65 78 74 28 4d 61 69 6e 25 2c 4c 6f 6f |t_text(Main%,Loo| 00004070 70 25 2c a3 29 29 0d 20 08 10 e7 54 65 78 74 24 |p%,.)). ...Text$| 00004080 3c 3e 22 22 20 8c 0d 20 12 1b c8 99 20 53 65 74 |<>"" .. .... Set| 00004090 25 2c 42 61 73 65 46 6f 6e 74 48 61 6e 64 6c 65 |%,BaseFontHandle| 000040a0 25 0d 20 1c 24 54 65 78 74 24 3d a4 54 72 69 6d |%. .$Text$=.Trim| 000040b0 54 6f 46 69 74 28 54 65 78 74 24 2c 34 38 2c 49 |ToFit(Text$,48,I| 000040c0 63 6f 6e 25 29 0d 20 26 23 f2 53 65 74 49 63 6f |con%). &#.SetIco| 000040d0 6e 54 65 78 74 28 4c 6f 6f 70 25 2c 4d 61 69 6e |nText(Loop%,Main| 000040e0 25 2c 54 65 78 74 24 29 0d 20 30 18 f2 52 65 64 |%,Text$). 0..Red| 000040f0 72 61 77 28 4d 61 69 6e 25 2c 4c 6f 6f 70 25 29 |raw(Main%,Loop%)| 00004100 0d 20 3a 05 cd 0d 20 44 05 ed 0d 20 4e 11 f2 61 |. :... D... N..a| 00004110 64 6a 75 73 74 5f 63 61 72 65 74 0d 20 58 0f f2 |djust_caret. X..| 00004120 6c 6f 73 65 5f 66 6f 6e 74 73 0d 20 62 05 e1 0d |lose_fonts. b...| 00004130 20 80 12 dd f2 57 69 70 65 49 63 6f 6e 54 65 78 | ....WipeIconTex| 00004140 74 0d 20 8a 0f e3 4c 6f 6f 70 25 3d 30 b8 33 37 |t. ...Loop%=0.37| 00004150 0d 20 94 20 f2 53 65 74 49 63 6f 6e 54 65 78 74 |. . .SetIconText| 00004160 28 4c 6f 6f 70 25 2c 4d 61 69 6e 25 2c 22 22 29 |(Loop%,Main%,"")| 00004170 0d 20 9e 18 f2 52 65 64 72 61 77 28 4d 61 69 6e |. ...Redraw(Main| 00004180 25 2c 4c 6f 6f 70 25 29 0d 20 a8 05 ed 0d 20 b2 |%,Loop%). .... .| 00004190 2a f2 53 65 74 49 63 6f 6e 54 65 78 74 28 54 61 |*.SetIconText(Ta| 000041a0 70 65 4e 75 6d 62 65 72 25 2c 4d 61 69 6e 25 2c |peNumber%,Main%,| 000041b0 43 61 73 4e 6f 24 29 0d 20 bc 1e f2 52 65 64 72 |CasNo$). ...Redr| 000041c0 61 77 28 4d 61 69 6e 25 2c 54 61 70 65 4e 75 6d |aw(Main%,TapeNum| 000041d0 62 65 72 25 29 0d 20 c6 05 e1 0d 20 da 27 dd f2 |ber%). .... .'..| 000041e0 43 72 65 61 74 65 4d 61 69 6e 57 69 6e 64 6f 77 |CreateMainWindow| 000041f0 4d 65 6e 75 28 58 25 2c 59 25 2c 49 63 6f 6e 25 |Menu(X%,Y%,Icon%| 00004200 29 0d 20 e4 2d ea 20 6d 25 2c 46 6c 61 67 73 25 |). .-. m%,Flags%| 00004210 2c 50 6f 69 6e 74 65 72 25 2c 53 65 6c 25 2c 49 |,Pointer%,Sel%,I| 00004220 63 6f 6e 46 6c 61 67 25 2c 49 74 65 6d 24 0d 20 |conFlag%,Item$. | 00004230 ee 1c 4d 65 6e 75 41 63 74 69 76 65 25 3d 4d 61 |..MenuActive%=Ma| 00004240 69 6e 57 69 6e 4d 65 6e 75 25 0d 20 f8 15 de 4d |inWinMenu%. ...M| 00004250 61 69 6e 4d 65 6e 75 25 32 38 2b 39 2a 32 34 0d |ainMenu%28+9*24.| 00004260 21 02 1a 24 4d 61 69 6e 4d 65 6e 75 25 3d 22 4d |!..$MainMenu%="M| 00004270 61 69 6e 20 6d 65 6e 75 22 0d 21 0c 12 4d 61 69 |ain menu".!..Mai| 00004280 6e 4d 65 6e 75 25 3f 31 32 3d 37 0d 21 16 12 4d |nMenu%?12=7.!..M| 00004290 61 69 6e 4d 65 6e 75 25 3f 31 33 3d 32 0d 21 20 |ainMenu%?13=2.! | 000042a0 12 4d 61 69 6e 4d 65 6e 75 25 3f 31 34 3d 37 0d |.MainMenu%?14=7.| 000042b0 21 2a 12 4d 61 69 6e 4d 65 6e 75 25 3f 31 35 3d |!*.MainMenu%?15=| 000042c0 30 0d 21 34 16 4d 61 69 6e 4d 65 6e 75 25 21 31 |0.!4.MainMenu%!1| 000042d0 36 3d 31 36 2a 31 36 0d 21 3e 13 4d 61 69 6e 4d |6=16*16.!>.MainM| 000042e0 65 6e 75 25 21 32 30 3d 34 30 0d 21 48 12 4d 61 |enu%!20=40.!H.Ma| 000042f0 69 6e 4d 65 6e 75 25 21 32 34 3d 30 0d 21 52 13 |inMenu%!24=0.!R.| 00004300 6d 25 3d 4d 61 69 6e 4d 65 6e 75 25 2b 32 38 0d |m%=MainMenu%+28.| 00004310 21 5c 05 f5 0d 21 66 2a f3 20 46 6c 61 67 73 25 |!\...!f*. Flags%| 00004320 2c 50 6f 69 6e 74 65 72 25 2c 53 65 6c 25 2c 49 |,Pointer%,Sel%,I| 00004330 63 6f 6e 46 6c 61 67 25 2c 49 74 65 6d 24 0d 21 |conFlag%,Item$.!| 00004340 70 30 6d 25 21 30 3d 46 6c 61 67 73 25 20 20 20 |p0m%!0=Flags% | 00004350 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00004360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 21 | .!| 00004370 7a 30 6d 25 21 34 3d 50 6f 69 6e 74 65 72 25 20 |z0m%!4=Pointer% | 00004380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00004390 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 21 | .!| 000043a0 84 2e 6d 25 21 38 3d 49 63 6f 6e 46 6c 61 67 25 |..m%!8=IconFlag%| 000043b0 20 84 20 28 53 65 6c 25 3c 3c 32 32 29 20 84 20 | . (Sel%<<22) . | 000043c0 28 37 3c 3c 32 34 29 20 20 20 20 20 0d 21 8e 30 |(7<<24) .!.0| 000043d0 24 28 6d 25 2b 31 32 29 3d 49 74 65 6d 24 20 20 |$(m%+12)=Item$ | 000043e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000043f0 20 20 20 20 20 20 20 20 20 20 20 20 0d 21 98 0c | .!..| 00004400 6d 25 3d 6d 25 2b 32 34 0d 21 a2 10 fd 20 46 6c |m%=m%+24.!... Fl| 00004410 61 67 73 25 3d 26 38 30 0d 21 b6 08 f7 20 2b 30 |ags%=&80.!... +0| 00004420 0d 21 c0 22 dc 20 26 30 30 2c 49 6e 66 6f 25 2c |.!.". &00,Info%,| 00004430 20 20 20 30 2c 25 31 30 30 30 31 2c 22 49 6e 66 | 0,%10001,"Inf| 00004440 6f 22 0d 21 ca 2a dc 20 26 30 30 2c 53 61 76 65 |o".!.*. &00,Save| 00004450 25 2c 20 20 20 30 2c 25 31 30 30 30 31 2c 22 53 |%, 0,%10001,"S| 00004460 61 76 65 20 20 20 20 20 20 46 33 22 0d 21 d4 29 |ave F3".!.)| 00004470 dc 20 26 30 30 2c 2d 31 2c 20 20 20 20 20 20 30 |. &00,-1, 0| 00004480 2c 25 31 30 30 30 31 2c 22 46 6f 72 6d 61 74 20 |,%10001,"Format | 00004490 74 65 78 74 22 0d 21 de 28 dc 20 26 30 30 2c 2d |text".!.(. &00,-| 000044a0 31 2c 20 20 20 20 20 20 30 2c 25 31 30 30 30 31 |1, 0,%10001| 000044b0 2c 22 43 6c 6f 73 65 20 67 61 70 73 22 0d 21 e8 |,"Close gaps".!.| 000044c0 28 dc 20 26 30 30 2c 2d 31 2c 20 20 20 20 20 20 |(. &00,-1, | 000044d0 30 2c 25 31 30 30 30 31 2c 22 4f 70 65 6e 20 61 |0,%10001,"Open a| 000044e0 20 67 61 70 22 0d 21 f2 2a dc 20 26 30 30 2c 2d | gap".!.*. &00,-| 000044f0 31 2c 20 20 20 20 20 20 30 2c 25 31 30 30 30 31 |1, 0,%10001| 00004500 2c 22 53 70 6c 69 74 20 73 69 64 65 20 41 22 0d |,"Split side A".| 00004510 21 fc 26 dc 20 26 30 30 2c 2d 31 2c 20 20 20 20 |!.&. &00,-1, | 00004520 20 20 30 2c 25 31 30 30 30 31 2c 22 57 69 70 65 | 0,%10001,"Wipe| 00004530 20 61 6c 6c 22 0d 22 06 2a dc 20 26 30 30 2c 2d | all".".*. &00,-| 00004540 31 2c 20 20 20 20 20 20 30 2c 25 31 30 30 30 31 |1, 0,%10001| 00004550 2c 22 55 6e 64 6f 20 20 20 20 20 20 46 38 22 0d |,"Undo F8".| 00004560 22 10 29 dc 20 26 38 30 2c 2d 31 2c 20 20 20 20 |".). &80,-1, | 00004570 20 20 30 2c 25 31 30 30 30 31 2c 22 54 72 69 6d | 0,%10001,"Trim| 00004580 20 74 6f 20 66 69 74 22 0d 22 1a 2b c8 99 22 57 | to fit".".+.."W| 00004590 69 6d 70 5f 43 72 65 61 74 65 4d 65 6e 75 22 2c |imp_CreateMenu",| 000045a0 2c 4d 61 69 6e 4d 65 6e 75 25 2c 58 25 2d 36 34 |,MainMenu%,X%-64| 000045b0 2c 59 25 0d 22 24 05 e1 0d 22 42 1b dd f2 44 72 |,Y%."$..."B...Dr| 000045c0 61 67 42 6f 78 45 6e 64 28 4c 65 61 66 4e 61 6d |agBoxEnd(LeafNam| 000045d0 65 24 29 0d 22 4c 17 50 6f 69 6e 74 65 72 25 3d |e$)."L.Pointer%=| 000045e0 a9 4c 65 61 66 4e 61 6d 65 24 0d 22 56 2f c8 95 |.LeafName$."V/..| 000045f0 20 50 6f 69 6e 74 65 72 25 3e 30 20 80 20 c1 4c | Pointer%>0 . .L| 00004600 65 61 66 4e 61 6d 65 24 2c 50 6f 69 6e 74 65 72 |eafName$,Pointer| 00004610 25 2c 31 29 3c 3e 22 2e 22 0d 22 60 0f 50 6f 69 |%,1)<>"."."`.Poi| 00004620 6e 74 65 72 25 2d 3d 31 0d 22 6a 05 ce 0d 22 74 |nter%-=1."j..."t| 00004630 2e e7 44 72 61 67 41 53 70 72 69 74 65 5f 41 63 |..DragASprite_Ac| 00004640 74 69 76 65 25 20 8c c8 99 22 44 72 61 67 41 53 |tive% ..."DragAS| 00004650 70 72 69 74 65 5f 53 74 6f 70 22 0d 22 7e 24 4c |prite_Stop"."~$L| 00004660 65 61 66 4e 61 6d 65 24 3d c1 4c 65 61 66 4e 61 |eafName$=.LeafNa| 00004670 6d 65 24 2c 50 6f 69 6e 74 65 72 25 2b 31 29 0d |me$,Pointer%+1).| 00004680 22 88 1f c8 99 22 57 69 6d 70 5f 47 65 74 50 6f |"...."Wimp_GetPo| 00004690 69 6e 74 65 72 49 6e 66 6f 22 2c 2c 71 25 0d 22 |interInfo",,q%."| 000046a0 92 17 53 65 6e 64 65 72 57 69 6e 64 6f 77 25 3d |..SenderWindow%=| 000046b0 71 25 21 31 32 0d 22 9c 15 53 65 6e 64 65 72 49 |q%!12."..SenderI| 000046c0 63 6f 6e 25 3d 71 25 21 31 36 0d 22 a6 17 71 25 |con%=q%!16."..q%| 000046d0 21 32 30 3d 53 65 6e 64 65 72 57 69 6e 64 6f 77 |!20=SenderWindow| 000046e0 25 0d 22 b0 15 71 25 21 32 34 3d 53 65 6e 64 65 |%."..q%!24=Sende| 000046f0 72 49 63 6f 6e 25 0d 22 ba 0e 71 25 21 32 38 3d |rIcon%."..q%!28=| 00004700 71 25 21 30 0d 22 c4 0e 71 25 21 33 32 3d 71 25 |q%!0."..q%!32=q%| 00004710 21 34 0d 22 ce 16 71 25 21 30 3d 34 34 2b a9 4c |!4."..q%!0=44+.L| 00004720 65 61 66 4e 61 6d 65 24 0d 22 d8 16 71 25 21 30 |eafName$."..q%!0| 00004730 2b 3d 34 2d 28 71 25 21 30 20 83 20 34 29 0d 22 |+=4-(q%!0 . 4)."| 00004740 e2 0a 71 25 21 34 3d 30 0d 22 ec 0a 71 25 21 38 |..q%!4=0."..q%!8| 00004750 3d 30 0d 22 f6 0b 71 25 21 31 32 3d 30 0d 23 00 |=0."..q%!12=0.#.| 00004760 0c 71 25 21 31 36 3d 31 20 0d 23 0a 0c 71 25 21 |.q%!16=1 .#..q%!| 00004770 33 36 3d 30 20 0d 23 14 0e 71 25 21 34 30 3d 26 |36=0 .#..q%!40=&| 00004780 42 30 46 0d 23 1e 19 24 28 71 25 2b 34 34 29 3d |B0F.#..$(q%+44)=| 00004790 4c 65 61 66 4e 61 6d 65 24 2b bd 30 0d 23 28 38 |LeafName$+.0.#(8| 000047a0 c8 99 22 57 69 6d 70 5f 53 65 6e 64 4d 65 73 73 |.."Wimp_SendMess| 000047b0 61 67 65 22 2c 31 37 2c 71 25 2c 53 65 6e 64 65 |age",17,q%,Sende| 000047c0 72 57 69 6e 64 6f 77 25 2c 53 65 6e 64 65 72 49 |rWindow%,SenderI| 000047d0 63 6f 6e 25 0d 23 32 05 e1 0d 23 50 3d dd f2 48 |con%.#2...#P=..H| 000047e0 61 6e 64 6c 65 4d 65 73 73 61 67 65 5f 44 61 74 |andleMessage_Dat| 000047f0 61 53 61 76 65 3a ea 74 61 73 6b 6e 61 6d 65 24 |aSave:.taskname$| 00004800 2c 53 65 6e 64 69 6e 67 54 61 73 6b 25 2c 50 6f |,SendingTask%,Po| 00004810 69 6e 74 65 72 25 0d 23 5a 15 53 65 6e 64 69 6e |inter%.#Z.Sendin| 00004820 67 54 61 73 6b 25 3d 71 25 21 34 0d 23 82 44 e7 |gTask%=q%!4.#.D.| 00004830 71 25 21 32 30 3d 2d 32 20 84 20 a4 67 65 74 5f |q%!20=-2 . .get_| 00004840 74 65 78 74 28 4d 61 69 6e 25 2c 30 2c a3 29 3d |text(Main%,0,.)=| 00004850 22 22 20 84 20 a4 67 65 74 5f 74 65 78 74 28 4d |"" . .get_text(M| 00004860 61 69 6e 25 2c 31 2c a3 29 3c 3e 22 22 20 8c 0d |ain%,1,.)<>"" ..| 00004870 23 8c 0f 53 65 63 6f 6e 64 43 44 25 3d a3 0d 23 |#..SecondCD%=..#| 00004880 a0 05 cc 0d 23 aa 1f c8 99 22 57 69 6d 70 5f 47 |....#...."Wimp_G| 00004890 65 74 50 6f 69 6e 74 65 72 49 6e 66 6f 22 2c 2c |etPointerInfo",,| 000048a0 75 25 0d 23 b4 13 49 63 6f 6e 44 72 6f 70 25 3d |u%.#..IconDrop%=| 000048b0 75 25 21 31 36 0d 23 be 4b e7 28 49 63 6f 6e 44 |u%!16.#.K.(IconD| 000048c0 72 6f 70 25 83 32 3d 30 20 84 20 49 63 6f 6e 44 |rop%.2=0 . IconD| 000048d0 72 6f 70 25 3e 33 37 20 84 20 49 63 6f 6e 44 72 |rop%>37 . IconDr| 000048e0 6f 70 25 3c 30 29 20 8c 53 65 63 6f 6e 64 43 44 |op%<0) .SecondCD| 000048f0 25 3d a3 20 8b 53 65 63 6f 6e 64 43 44 25 3d b9 |%=. .SecondCD%=.| 00004900 0d 23 c8 05 cd 0d 23 d2 21 74 61 73 6b 6e 61 6d |.#....#.!tasknam| 00004910 65 24 3d a4 54 61 73 6b 28 53 65 6e 64 69 6e 67 |e$=.Task(Sending| 00004920 54 61 73 6b 25 29 0d 23 dc 26 4c 65 61 66 4e 61 |Task%).#.&LeafNa| 00004930 6d 65 52 65 63 64 24 20 3d 20 a4 52 65 61 64 53 |meRecd$ = .ReadS| 00004940 74 72 69 6e 67 28 71 25 2b 34 34 29 0d 23 e6 25 |tring(q%+44).#.%| 00004950 71 25 21 30 3d 28 34 38 2b a9 28 22 3c 57 69 6d |q%!0=(48+.("<Wim| 00004960 70 24 53 63 72 61 70 3e 20 22 29 29 80 20 ac 20 |p$Scrap> ")). . | 00004970 33 0d 23 f0 0e 71 25 21 31 32 3d 71 25 21 38 0d |3.#..q%!12=q%!8.| 00004980 23 fa 0b 71 25 21 31 36 3d 32 0d 24 04 0d 71 25 |#..q%!16=2.$..q%| 00004990 21 33 36 3d 2d 31 20 0d 24 0e 1b 24 28 71 25 2b |!36=-1 .$..$(q%+| 000049a0 34 34 29 3d 22 3c 57 69 6d 70 24 53 63 72 61 70 |44)="<Wimp$Scrap| 000049b0 3e 22 0d 24 18 12 53 61 76 65 52 65 66 25 3d 71 |>".$..SaveRef%=q| 000049c0 25 21 31 32 0d 24 22 23 c8 99 22 57 69 6d 70 5f |%!12.$"#.."Wimp_| 000049d0 53 65 6e 64 4d 65 73 73 61 67 65 22 2c 31 37 2c |SendMessage",17,| 000049e0 71 25 2c 71 25 21 34 0d 24 2c 05 e1 0d 24 4a 1f |q%,q%!4.$,...$J.| 000049f0 dd f2 48 61 6e 64 6c 65 4d 65 73 73 61 67 65 5f |..HandleMessage_| 00004a00 44 61 74 61 53 61 76 65 41 63 6b 0d 24 54 28 ea |DataSaveAck.$T(.| 00004a10 20 74 61 73 6b 6e 61 6d 65 24 2c 20 53 65 6e 64 | taskname$, Send| 00004a20 69 6e 67 54 61 73 6b 25 2c 20 50 61 74 68 4e 61 |ingTask%, PathNa| 00004a30 6d 65 24 0d 24 5e 17 53 65 6e 64 69 6e 67 54 61 |me$.$^.SendingTa| 00004a40 73 6b 25 20 3d 20 71 25 21 34 0d 24 68 23 74 61 |sk% = q%!4.$h#ta| 00004a50 73 6b 6e 61 6d 65 24 20 3d 20 a4 54 61 73 6b 28 |skname$ = .Task(| 00004a60 53 65 6e 64 69 6e 67 54 61 73 6b 25 29 0d 24 72 |SendingTask%).$r| 00004a70 20 50 61 74 68 4e 61 6d 65 24 3d a4 52 65 61 64 | PathName$=.Read| 00004a80 53 74 72 69 6e 67 28 71 25 2b 34 34 29 0d 24 9a |String(q%+44).$.| 00004a90 16 f2 53 61 76 65 54 6f 28 50 61 74 68 4e 61 6d |..SaveTo(PathNam| 00004aa0 65 24 29 0d 24 ae 18 71 25 21 30 3d 34 30 2b a9 |e$).$..q%!0=40+.| 00004ab0 50 61 74 68 4e 61 6d 65 24 2b 34 0d 24 b8 16 71 |PathName$+4.$..q| 00004ac0 25 21 30 2b 3d 34 2d 28 71 25 21 30 20 83 20 34 |%!0+=4-(q%!0 . 4| 00004ad0 29 0d 24 c2 0e 71 25 21 31 32 3d 71 25 21 38 0d |).$..q%!12=q%!8.| 00004ae0 24 cc 0c 71 25 21 31 36 3d 33 20 0d 24 d6 0b 71 |$..q%!16=3 .$..q| 00004af0 25 21 33 36 3d 30 0d 24 e0 0e 71 25 21 34 30 3d |%!36=0.$..q%!40=| 00004b00 26 42 30 46 0d 24 ea 19 24 28 71 25 2b 34 34 29 |&B0F.$..$(q%+44)| 00004b10 3d 50 61 74 68 4e 61 6d 65 24 2b bd 30 0d 24 f4 |=PathName$+.0.$.| 00004b20 2b c8 99 22 57 69 6d 70 5f 53 65 6e 64 4d 65 73 |+.."Wimp_SendMes| 00004b30 73 61 67 65 22 2c 31 38 2c 71 25 2c 53 65 6e 64 |sage",18,q%,Send| 00004b40 69 6e 67 54 61 73 6b 25 0d 24 fe 05 e1 0d 25 1c |ingTask%.$....%.| 00004b50 1c dd f2 48 61 6e 64 6c 65 4d 65 73 73 61 67 65 |...HandleMessage| 00004b60 5f 44 61 74 61 4c 6f 61 64 0d 25 26 2a e7 20 71 |_DataLoad.%&*. q| 00004b70 25 21 34 30 3d 26 44 46 45 20 84 20 71 25 21 34 |%!40=&DFE . q%!4| 00004b80 30 3d 26 35 30 20 f2 63 73 76 28 71 25 21 34 30 |0=&50 .csv(q%!40| 00004b90 29 3a e1 0d 25 30 13 f2 73 74 6f 72 65 5f 66 6f |):..%0..store_fo| 00004ba0 72 5f 75 6e 64 6f 0d 25 3a 0b ea 20 4c 6f 6f 70 |r_undo.%:.. Loop| 00004bb0 25 0d 25 44 2d e3 20 4c 6f 6f 70 25 3d 30 20 b8 |%.%D-. Loop%=0 .| 00004bc0 20 31 30 32 34 20 88 20 34 3a 6a 25 21 4c 6f 6f | 1024 . 4:j%!Loo| 00004bd0 70 25 3d 71 25 21 4c 6f 6f 70 25 20 3a ed 0d 25 |p%=q%!Loop% :..%| 00004be0 4e 1b 74 61 73 6b 6e 61 6d 65 24 20 3d 20 a4 54 |N.taskname$ = .T| 00004bf0 61 73 6b 28 71 25 21 34 29 0d 25 58 19 53 65 6e |ask(q%!4).%X.Sen| 00004c00 64 69 6e 67 54 61 73 6b 49 44 25 20 3d 20 71 25 |dingTaskID% = q%| 00004c10 21 34 0d 25 62 12 e7 20 71 25 21 34 30 3d 26 42 |!4.%b.. q%!40=&B| 00004c20 30 46 20 8c 0d 25 76 20 53 61 76 65 4e 61 6d 65 |0F ..%v SaveName| 00004c30 24 3d a4 52 65 61 64 53 74 72 69 6e 67 28 71 25 |$=.ReadString(q%| 00004c40 2b 34 34 29 0d 25 80 21 f2 44 6f 41 63 74 75 61 |+44).%.!.DoActua| 00004c50 6c 4c 6f 61 64 54 68 69 6e 67 28 53 61 76 65 4e |lLoadThing(SaveN| 00004c60 61 6d 65 24 29 0d 25 94 0e 6a 25 21 31 32 3d 6a |ame$).%..j%!12=j| 00004c70 25 21 38 0d 25 9e 0c 6a 25 21 31 36 3d 34 20 0d |%!8.%..j%!16=4 .| 00004c80 25 a8 1f e7 53 61 76 65 4e 61 6d 65 24 3d 22 3c |%...SaveName$="<| 00004c90 57 69 6d 70 24 53 63 72 61 70 3e 22 20 8c 0d 25 |Wimp$Scrap>" ..%| 00004ca0 b2 20 ff 28 22 57 49 50 45 20 3c 57 69 6d 70 24 |. .("WIPE <Wimp$| 00004cb0 53 63 72 61 70 3e 20 46 7e 56 7e 43 22 29 0d 25 |Scrap> F~V~C").%| 00004cc0 bc 05 cd 0d 25 c6 2d c8 99 22 57 69 6d 70 5f 53 |....%.-.."Wimp_S| 00004cd0 65 6e 64 4d 65 73 73 61 67 65 22 2c 31 37 2c 6a |endMessage",17,j| 00004ce0 25 2c 53 65 6e 64 69 6e 67 54 61 73 6b 49 44 25 |%,SendingTaskID%| 00004cf0 0d 25 d0 05 cd 0d 25 da 05 e1 0d 25 f8 2c dd f2 |.%....%....%.,..| 00004d00 63 73 76 28 74 79 70 65 25 29 3a 43 53 56 70 61 |csv(type%):CSVpa| 00004d10 74 68 24 3d a4 52 65 61 64 53 74 72 69 6e 67 28 |th$=.ReadString(| 00004d20 71 25 2b 34 34 29 0d 26 02 20 63 73 76 25 3d ad |q%+44).&. csv%=.| 00004d30 43 53 56 70 61 74 68 24 3a cf 23 63 73 76 25 3d |CSVpath$:.#csv%=| 00004d40 a2 23 63 73 76 25 0d 26 0c 4b e7 8f 23 63 73 76 |.#csv%.&.K..#csv| 00004d50 25 3d 30 80 74 79 70 65 25 3d 26 35 30 20 f1 23 |%=0.type%=&50 .#| 00004d60 63 73 76 25 2c 30 2c 22 46 69 6c 65 20 70 72 6f |csv%,0,"File pro| 00004d70 64 75 63 65 64 20 66 72 6f 6d 20 43 61 73 73 65 |duced from Casse| 00004d80 74 74 65 20 69 6e 6c 61 79 20 64 61 74 61 2e 20 |tte inlay data. | 00004d90 22 0d 26 16 2c 74 72 61 63 6b 31 25 3d 31 3a 74 |".&.,track1%=1:t| 00004da0 72 61 63 6b 32 25 3d 31 3a 4c 24 3d 22 4c 61 62 |rack2%=1:L$="Lab| 00004db0 65 6c 20 20 20 20 20 20 20 20 20 20 22 0d 26 20 |el ".& | 00004dc0 0e e3 73 69 64 65 25 3d 30 b8 31 0d 26 2a 17 e3 |..side%=0.1.&*..| 00004dd0 69 63 6f 6e 25 3d 30 2b 73 69 64 65 25 b8 33 37 |icon%=0+side%.37| 00004de0 88 32 0d 26 34 11 e7 74 79 70 65 25 3d 26 44 46 |.2.&4..type%=&DF| 00004df0 45 20 8c 0d 26 3e 29 74 69 74 6c 65 24 3d a4 63 |E ..&>)title$=.c| 00004e00 73 76 28 a4 67 65 74 5f 74 65 78 74 28 4d 61 69 |sv(.get_text(Mai| 00004e10 6e 25 2c 69 63 6f 6e 25 2c a3 29 29 0d 26 48 24 |n%,icon%,.)).&H$| 00004e20 cc 74 69 74 6c 65 24 3d a4 67 65 74 5f 74 65 78 |.title$=.get_tex| 00004e30 74 28 4d 61 69 6e 25 2c 69 63 6f 6e 25 2c b9 29 |t(Main%,icon%,.)| 00004e40 0d 26 52 05 cd 0d 26 66 53 e7 28 69 63 6f 6e 25 |.&R...&fS.(icon%| 00004e50 3c 32 34 84 69 63 6f 6e 25 3e 32 37 29 80 ac 28 |<24.icon%>27)..(| 00004e60 74 69 74 6c 65 24 3d c4 32 2c bd 33 34 29 80 74 |title$=.2,.34).t| 00004e70 79 70 65 25 3d 26 44 46 45 29 80 ac 28 74 69 74 |ype%=&DFE)..(tit| 00004e80 6c 65 24 3d c4 34 35 2c 22 20 22 29 80 74 79 70 |le$=.45," ").typ| 00004e90 65 25 3d 26 35 30 29 8c 0d 26 70 0d e7 73 69 64 |e%=&50)..&p..sid| 00004ea0 65 25 3d 30 8c 0d 26 84 11 e7 74 79 70 65 25 3d |e%=0..&...type%=| 00004eb0 26 44 46 45 20 8c 0d 26 8e 8a d5 23 63 73 76 25 |&DFE ..&...#csv%| 00004ec0 2c 74 69 74 6c 65 24 2b 22 2c 22 2b a4 63 73 76 |,title$+","+.csv| 00004ed0 28 a4 67 65 74 5f 74 65 78 74 28 4d 61 69 6e 25 |(.get_text(Main%| 00004ee0 2c 32 35 2c a3 29 29 2b 22 2c 22 2b a4 63 73 76 |,25,.))+","+.csv| 00004ef0 28 a4 67 65 74 5f 74 65 78 74 28 4d 61 69 6e 25 |(.get_text(Main%| 00004f00 2c 32 34 2c a3 29 29 2b 22 2c 22 2b a4 63 73 76 |,24,.))+","+.csv| 00004f10 28 22 4c 61 62 65 6c 22 29 2b 22 2c 30 2c 30 2c |("Label")+",0,0,| 00004f20 31 2c 22 2b c3 28 74 72 61 63 6b 31 25 29 2b 22 |1,"+.(track1%)+"| 00004f30 2c 30 2c 30 22 3a 74 72 61 63 6b 31 25 2b 3d 31 |,0,0":track1%+=1| 00004f40 0d 26 a2 6d cc f1 23 63 73 76 25 2c 30 2c 74 69 |.&.m..#csv%,0,ti| 00004f50 74 6c 65 24 2c 30 2c a4 67 65 74 5f 74 65 78 74 |tle$,0,.get_text| 00004f60 28 4d 61 69 6e 25 2c 32 35 2c b9 29 2c 30 2c a4 |(Main%,25,.),0,.| 00004f70 67 65 74 5f 74 65 78 74 28 4d 61 69 6e 25 2c 32 |get_text(Main%,2| 00004f80 34 2c b9 29 2c 30 2c 30 2c 30 2c 31 31 2c 74 72 |4,.),0,0,0,11,tr| 00004f90 61 63 6b 31 25 2c 30 2c 30 2c 30 2c 30 2c 30 2c |ack1%,0,0,0,0,0,| 00004fa0 4c 24 3a 74 72 61 63 6b 31 25 2b 3d 31 0d 26 ac |L$:track1%+=1.&.| 00004fb0 05 cd 0d 26 b6 05 cc 0d 26 ca 11 e7 74 79 70 65 |...&....&...type| 00004fc0 25 3d 26 44 46 45 20 8c 0d 26 d4 8a d5 23 63 73 |%=&DFE ..&...#cs| 00004fd0 76 25 2c 74 69 74 6c 65 24 2b 22 2c 22 2b a4 63 |v%,title$+","+.c| 00004fe0 73 76 28 a4 67 65 74 5f 74 65 78 74 28 4d 61 69 |sv(.get_text(Mai| 00004ff0 6e 25 2c 32 37 2c a3 29 29 2b 22 2c 22 2b a4 63 |n%,27,.))+","+.c| 00005000 73 76 28 a4 67 65 74 5f 74 65 78 74 28 4d 61 69 |sv(.get_text(Mai| 00005010 6e 25 2c 32 36 2c a3 29 29 2b 22 2c 22 2b a4 63 |n%,26,.))+","+.c| 00005020 73 76 28 22 4c 61 62 65 6c 22 29 2b 22 2c 30 2c |sv("Label")+",0,| 00005030 30 2c 31 2c 22 2b c3 28 74 72 61 63 6b 32 25 29 |0,1,"+.(track2%)| 00005040 2b 22 2c 30 2c 30 22 3a 74 72 61 63 6b 32 25 2b |+",0,0":track2%+| 00005050 3d 31 0d 26 de 6d cc f1 23 63 73 76 25 2c 30 2c |=1.&.m..#csv%,0,| 00005060 74 69 74 6c 65 24 2c 30 2c a4 67 65 74 5f 74 65 |title$,0,.get_te| 00005070 78 74 28 4d 61 69 6e 25 2c 32 37 2c b9 29 2c 30 |xt(Main%,27,.),0| 00005080 2c a4 67 65 74 5f 74 65 78 74 28 4d 61 69 6e 25 |,.get_text(Main%| 00005090 2c 32 36 2c b9 29 2c 30 2c 30 2c 30 2c 31 31 2c |,26,.),0,0,0,11,| 000050a0 74 72 61 63 6b 32 25 2c 30 2c 30 2c 30 2c 30 2c |track2%,0,0,0,0,| 000050b0 30 2c 4c 24 3a 74 72 61 63 6b 32 25 2b 3d 31 0d |0,L$:track2%+=1.| 000050c0 26 e8 05 cd 0d 26 f2 05 cd 0d 26 fc 05 cd 0d 27 |&....&....&....'| 000050d0 06 05 ed 0d 27 10 05 ed 0d 27 1a 0a d9 23 63 73 |....'....'...#cs| 000050e0 76 25 0d 27 24 05 e1 0d 27 42 1f dd f2 48 61 6e |v%.'$...'B...Han| 000050f0 64 6c 65 4d 65 73 73 61 67 65 5f 44 61 74 61 4c |dleMessage_DataL| 00005100 6f 61 64 41 63 6b 0d 27 4c 05 e1 0d 27 6a 0e dd |oadAck.'L...'j..| 00005110 f2 44 61 74 61 4f 70 65 6e 0d 27 74 0b ea 20 46 |.DataOpen.'t.. F| 00005120 69 6c 65 24 0d 27 7e 11 e7 71 25 21 34 30 3d 26 |ile$.'~..q%!40=&| 00005130 42 30 46 20 8c 0d 27 88 13 f2 73 74 6f 72 65 5f |B0F ..'...store_| 00005140 66 6f 72 5f 75 6e 64 6f 0d 27 92 1c 46 69 6c 65 |for_undo.'..File| 00005150 24 3d a4 52 65 61 64 53 74 72 69 6e 67 28 71 25 |$=.ReadString(q%| 00005160 2b 34 34 29 0d 27 9c 0e 71 25 21 31 32 3d 71 25 |+44).'..q%!12=q%| 00005170 21 38 0d 27 a6 0b 71 25 21 31 36 3d 34 0d 27 b0 |!8.'..q%!16=4.'.| 00005180 23 c8 99 22 57 69 6d 70 5f 53 65 6e 64 4d 65 73 |#.."Wimp_SendMes| 00005190 73 61 67 65 22 2c 31 37 2c 71 25 2c 71 25 21 34 |sage",17,q%,q%!4| 000051a0 0d 27 ba 1d f2 44 6f 41 63 74 75 61 6c 4c 6f 61 |.'...DoActualLoa| 000051b0 64 54 68 69 6e 67 28 46 69 6c 65 24 29 0d 27 c4 |dThing(File$).'.| 000051c0 05 cd 0d 27 ce 05 e1 0d 27 ec 17 dd f2 53 61 76 |...'....'....Sav| 000051d0 65 54 6f 28 50 61 74 68 4e 61 6d 65 24 29 0d 27 |eTo(PathName$).'| 000051e0 f6 17 50 6f 69 6e 74 65 72 25 3d a9 50 61 74 68 |..Pointer%=.Path| 000051f0 4e 61 6d 65 24 0d 28 00 2f c8 95 20 50 6f 69 6e |Name$.(./.. Poin| 00005200 74 65 72 25 3e 31 20 80 20 c1 50 61 74 68 4e 61 |ter%>1 . .PathNa| 00005210 6d 65 24 2c 50 6f 69 6e 74 65 72 25 2c 31 29 3c |me$,Pointer%,1)<| 00005220 3e 22 2e 22 0d 28 0a 0f 50 6f 69 6e 74 65 72 25 |>".".(..Pointer%| 00005230 2d 3d 31 0d 28 14 05 ce 0d 28 1e 4b e7 50 6f 69 |-=1.(....(.K.Poi| 00005240 6e 74 65 72 25 3d 31 20 80 20 50 61 74 68 4e 61 |nter%=1 . PathNa| 00005250 6d 65 24 3c 3e 22 3c 57 69 6d 70 24 53 63 72 61 |me$<>"<Wimp$Scra| 00005260 70 3e 22 20 8c f2 61 64 76 69 63 65 28 a4 6d 28 |p>" ..advice(.m(| 00005270 6d 66 25 2c 22 4e 6f 50 61 74 68 22 29 2c 31 37 |mf%,"NoPath"),17| 00005280 29 3a e1 0d 28 28 1b c8 99 22 57 69 6d 70 5f 43 |):..((..."Wimp_C| 00005290 72 65 61 74 65 4d 65 6e 75 22 2c 2c 2d 31 0d 28 |reateMenu",,-1.(| 000052a0 32 1a e7 a4 6c 65 61 66 28 50 61 74 68 4e 61 6d |2...leaf(PathNam| 000052b0 65 24 29 3c 3e 22 22 8c 0d 28 3c 1a 53 61 76 65 |e$)<>""..(<.Save| 000052c0 46 69 6c 65 25 3d ae 28 50 61 74 68 4e 61 6d 65 |File%=.(PathName| 000052d0 24 29 0d 28 50 0f e3 4c 6f 6f 70 25 3d 30 b8 33 |$).(P..Loop%=0.3| 000052e0 37 0d 28 5a 28 f1 23 53 61 76 65 46 69 6c 65 25 |7.(Z(.#SaveFile%| 000052f0 2c a4 67 65 74 5f 74 65 78 74 28 4d 61 69 6e 25 |,.get_text(Main%| 00005300 2c 4c 6f 6f 70 25 2c a3 29 0d 28 64 05 ed 0d 28 |,Loop%,.).(d...(| 00005310 6e 2e f1 23 53 61 76 65 46 69 6c 65 25 2c a4 67 |n..#SaveFile%,.g| 00005320 65 74 5f 74 65 78 74 28 4d 61 69 6e 25 2c 54 61 |et_text(Main%,Ta| 00005330 70 65 4e 75 6d 62 65 72 25 2c a3 29 0d 28 82 0f |peNumber%,.).(..| 00005340 d9 23 53 61 76 65 46 69 6c 65 25 0d 28 8c 20 ff |.#SaveFile%.(. .| 00005350 22 53 65 74 54 79 70 65 20 22 2b 50 61 74 68 4e |"SetType "+PathN| 00005360 61 6d 65 24 2b 22 20 42 30 46 22 0d 28 a0 3f e7 |ame$+" B0F".(.?.| 00005370 50 61 74 68 4e 61 6d 65 24 3c 3e 22 3c 57 69 6d |PathName$<>"<Wim| 00005380 70 24 53 63 72 61 70 3e 22 20 8c f2 53 65 74 49 |p$Scrap>" ..SetI| 00005390 63 6f 6e 54 65 78 74 28 31 2c 53 61 76 65 25 2c |conText(1,Save%,| 000053a0 50 61 74 68 4e 61 6d 65 24 29 0d 28 b4 25 54 24 |PathName$).(.%T$| 000053b0 3d a4 67 65 74 5f 74 65 78 74 28 4d 61 69 6e 25 |=.get_text(Main%| 000053c0 2c 54 61 70 65 4e 75 6d 62 65 72 25 2c a3 29 0d |,TapeNumber%,.).| 000053d0 28 be 18 e7 c0 54 24 2c 33 29 3d 22 4e 6f 20 22 |(....T$,3)="No "| 000053e0 80 a9 54 24 3d 36 8c 0d 28 c8 25 41 24 3d c1 54 |..T$=6..(.%A$=.T| 000053f0 24 2c 34 2c 31 29 3a 42 24 3d c1 54 24 2c 35 2c |$,4,1):B$=.T$,5,| 00005400 31 29 3a 43 24 3d c2 54 24 2c 31 29 0d 28 d2 2f |1):C$=.T$,1).(./| 00005410 e7 97 41 24 3e 34 37 80 97 41 24 3c 35 38 80 97 |..A$>47..A$<58..| 00005420 42 24 3e 34 37 80 97 42 24 3c 35 38 80 97 43 24 |B$>47..B$<58..C$| 00005430 3e 34 37 80 97 43 24 3c 35 38 8c 0d 28 dc 1a 54 |>47..C$<58..(..T| 00005440 25 3d bb c2 54 24 2c 33 29 3a e7 54 25 3d 39 39 |%=..T$,3):.T%=99| 00005450 39 54 25 3d 30 0d 28 e6 1b 43 61 73 4e 6f 24 3d |9T%=0.(..CasNo$=| 00005460 22 4e 6f 20 22 2b a4 7a 28 54 25 2b 31 2c 33 29 |"No "+.z(T%+1,3)| 00005470 0d 28 f0 2a f2 53 65 74 49 63 6f 6e 54 65 78 74 |.(.*.SetIconText| 00005480 28 54 61 70 65 4e 75 6d 62 65 72 25 2c 4d 61 69 |(TapeNumber%,Mai| 00005490 6e 25 2c 43 61 73 4e 6f 24 29 0d 28 fa 1e f2 52 |n%,CasNo$).(...R| 000054a0 65 64 72 61 77 28 4d 61 69 6e 25 2c 54 61 70 65 |edraw(Main%,Tape| 000054b0 4e 75 6d 62 65 72 25 29 0d 29 04 05 cd 0d 29 0e |Number%).)....).| 000054c0 05 cd 0d 29 18 21 cc f2 61 64 76 69 63 65 28 a4 |...).!..advice(.| 000054d0 6d 28 6d 66 25 2c 22 4e 6f 46 69 6c 65 22 29 2c |m(mf%,"NoFile"),| 000054e0 31 37 29 0d 29 22 05 cd 0d 29 2c 05 e1 0d 29 4a |17).)"...),...)J| 000054f0 0e dd f2 44 72 61 67 53 61 76 65 0d 29 54 12 ea |...DragSave.)T..| 00005500 20 66 6c 61 67 73 25 2c 62 79 74 65 25 0d 29 5e | flags%,byte%.)^| 00005510 1b 44 72 61 67 41 53 70 72 69 74 65 5f 41 63 74 |.DragASprite_Act| 00005520 69 76 65 25 20 3d 20 a3 0d 29 68 3c c8 99 22 58 |ive% = ..)h<.."X| 00005530 4f 53 5f 53 57 49 4e 75 6d 62 65 72 46 72 6f 6d |OS_SWINumberFrom| 00005540 53 74 72 69 6e 67 22 2c 2c 22 44 72 61 67 41 53 |String",,"DragAS| 00005550 70 72 69 74 65 5f 26 30 30 22 20 b8 20 3b 66 6c |prite_&00" . ;fl| 00005560 61 67 73 25 0d 29 72 20 c8 99 22 4f 53 5f 42 79 |ags%.)r .."OS_By| 00005570 74 65 22 2c 31 36 31 2c 32 38 20 b8 20 2c 2c 62 |te",161,28 . ,,b| 00005580 79 74 65 25 0d 29 7c 3d e7 20 28 66 6c 61 67 73 |yte%.)|=. (flags| 00005590 25 20 80 20 31 29 3d 30 20 80 20 28 62 79 74 65 |% . 1)=0 . (byte| 000055a0 25 20 80 20 32 29 3d 32 20 8c 44 72 61 67 41 53 |% . 2)=2 .DragAS| 000055b0 70 72 69 74 65 5f 41 63 74 69 76 65 25 20 3d 20 |prite_Active% = | 000055c0 b9 0d 29 86 0d 21 71 25 3d 53 61 76 65 25 0d 29 |..)..!q%=Save%.)| 000055d0 90 1f c8 99 22 57 69 6d 70 5f 47 65 74 57 69 6e |...."Wimp_GetWin| 000055e0 64 6f 77 53 74 61 74 65 22 2c 2c 71 25 0d 29 9a |dowState",,q%.).| 000055f0 17 4f 66 66 73 65 74 58 25 3d 71 25 21 34 2d 71 |.OffsetX%=q%!4-q| 00005600 25 21 32 30 0d 29 a4 18 4f 66 66 73 65 74 59 25 |%!20.)..OffsetY%| 00005610 3d 71 25 21 31 36 2d 71 25 21 32 34 0d 29 ae 0e |=q%!16-q%!24.)..| 00005620 71 25 21 30 3d 53 61 76 65 25 0d 29 b8 0a 71 25 |q%!0=Save%.)..q%| 00005630 21 34 3d 30 0d 29 c2 1d c8 99 22 57 69 6d 70 5f |!4=0.)...."Wimp_| 00005640 47 65 74 49 63 6f 6e 53 74 61 74 65 22 2c 2c 71 |GetIconState",,q| 00005650 25 0d 29 cc 0d 21 71 25 3d 53 61 76 65 25 0d 29 |%.)..!q%=Save%.)| 00005660 d6 0a 71 25 21 34 3d 35 0d 29 e0 16 71 25 21 38 |..q%!4=5.)..q%!8| 00005670 3d 71 25 21 38 2b 4f 66 66 73 65 74 58 25 0d 29 |=q%!8+OffsetX%.)| 00005680 ea 18 71 25 21 31 32 3d 71 25 21 31 32 2b 4f 66 |..q%!12=q%!12+Of| 00005690 66 73 65 74 59 25 0d 29 f4 18 71 25 21 31 36 3d |fsetY%.)..q%!16=| 000056a0 71 25 21 31 36 2b 4f 66 66 73 65 74 58 25 0d 29 |q%!16+OffsetX%.)| 000056b0 fe 18 71 25 21 32 30 3d 71 25 21 32 30 2b 4f 66 |..q%!20=q%!20+Of| 000056c0 66 73 65 74 59 25 0d 2a 08 0b 71 25 21 32 34 3d |fsetY%.*..q%!24=| 000056d0 30 0d 2a 12 0b 71 25 21 32 38 3d 30 0d 2a 1c 13 |0.*..q%!28=0.*..| 000056e0 71 25 21 33 32 3d 26 37 46 46 46 46 46 46 46 0d |q%!32=&7FFFFFFF.| 000056f0 2a 26 13 71 25 21 33 36 3d 26 37 46 46 46 46 46 |*&.q%!36=&7FFFFF| 00005700 46 46 0d 2a 30 1b e7 20 44 72 61 67 41 53 70 72 |FF.*0.. DragASpr| 00005710 69 74 65 5f 41 63 74 69 76 65 25 20 8c 0d 2a 3a |ite_Active% ..*:| 00005720 35 c8 99 22 44 72 61 67 41 53 70 72 69 74 65 5f |5.."DragASprite_| 00005730 53 74 61 72 74 22 2c 31 39 37 2c 31 2c 22 66 69 |Start",197,1,"fi| 00005740 6c 65 5f 62 30 66 22 2c 71 25 2b 38 2c 71 25 2b |le_b0f",q%+8,q%+| 00005750 32 34 0d 2a 44 05 cc 0d 2a 4e 18 c8 99 22 57 69 |24.*D...*N..."Wi| 00005760 6d 70 5f 44 72 61 67 42 6f 78 22 2c 2c 71 25 0d |mp_DragBox",,q%.| 00005770 2a 58 05 cd 0d 2a 62 05 e1 0d 2a 80 19 dd f2 4c |*X...*b...*....L| 00005780 6f 61 64 44 61 74 61 28 46 69 6c 65 4e 61 6d 65 |oadData(FileName| 00005790 24 29 0d 2a 8a 25 ea 20 4c 6f 61 64 46 69 6c 65 |$).*.%. LoadFile| 000057a0 25 2c 20 4c 6f 61 64 4c 6f 6f 70 25 2c 20 54 65 |%, LoadLoop%, Te| 000057b0 6d 70 54 65 78 74 24 0d 2a 94 1a 4c 6f 61 64 46 |mpText$.*..LoadF| 000057c0 69 6c 65 25 3d 8e 28 46 69 6c 65 4e 61 6d 65 24 |ile%=.(FileName$| 000057d0 29 0d 2a 9e 16 e3 20 4c 6f 61 64 4c 6f 6f 70 25 |).*... LoadLoop%| 000057e0 3d 30 20 b8 20 33 37 0d 2a b2 13 e7 20 53 65 63 |=0 . 37.*... Sec| 000057f0 6f 6e 64 43 44 25 3d b9 20 8c 0d 2a bc 28 41 64 |ondCD%=. ..*.(Ad| 00005800 6a 4c 6f 61 64 4c 6f 6f 70 25 3d a4 61 64 6a 6c |jLoadLoop%=.adjl| 00005810 6f 61 64 6c 6f 6f 70 28 4c 6f 61 64 4c 6f 6f 70 |oadloop(LoadLoop| 00005820 25 29 0d 2a c6 1c cc 20 41 64 6a 4c 6f 61 64 4c |%).*... AdjLoadL| 00005830 6f 6f 70 25 3d 4c 6f 61 64 4c 6f 6f 70 25 0d 2a |oop%=LoadLoop%.*| 00005840 d0 05 cd 0d 2a da 1a e8 23 20 4c 6f 61 64 46 69 |....*...# LoadFi| 00005850 6c 65 25 2c 54 65 6d 70 54 65 78 74 24 0d 2a e4 |le%,TempText$.*.| 00005860 42 e7 20 53 65 63 6f 6e 64 43 44 25 3d a3 20 84 |B. SecondCD%=. .| 00005870 20 28 53 65 63 6f 6e 64 43 44 25 3d b9 20 80 20 | (SecondCD%=. . | 00005880 4c 6f 61 64 4c 6f 6f 70 25 83 32 3d 30 29 20 84 |LoadLoop%.2=0) .| 00005890 20 4c 6f 61 64 4c 6f 6f 70 25 3d 32 35 20 8c 0d | LoadLoop%=25 ..| 000058a0 2a ee 30 e7 4c 6f 61 64 4c 6f 6f 70 25 3c 32 36 |*.0.LoadLoop%<26| 000058b0 20 84 20 4c 6f 61 64 4c 6f 6f 70 25 3e 32 37 20 | . LoadLoop%>27 | 000058c0 84 20 53 65 63 6f 6e 64 43 44 25 3d a3 20 8c 0d |. SecondCD%=. ..| 000058d0 2a f8 2e f2 53 65 74 49 63 6f 6e 54 65 78 74 28 |*...SetIconText(| 000058e0 41 64 6a 4c 6f 61 64 4c 6f 6f 70 25 2c 4d 61 69 |AdjLoadLoop%,Mai| 000058f0 6e 25 2c 54 65 6d 70 54 65 78 74 24 29 0d 2b 02 |n%,TempText$).+.| 00005900 1f f2 52 65 64 72 61 77 28 4d 61 69 6e 25 2c 41 |..Redraw(Main%,A| 00005910 64 6a 4c 6f 61 64 4c 6f 6f 70 25 29 0d 2b 0c 05 |djLoadLoop%).+..| 00005920 cd 0d 2b 16 05 cd 0d 2b 20 05 ed 0d 2b 2a 1a e8 |..+....+ ...+*..| 00005930 23 20 4c 6f 61 64 46 69 6c 65 25 2c 54 65 6d 70 |# LoadFile%,Temp| 00005940 54 65 78 74 24 0d 2b 34 2d f2 53 65 74 49 63 6f |Text$.+4-.SetIco| 00005950 6e 54 65 78 74 28 54 61 70 65 4e 75 6d 62 65 72 |nText(TapeNumber| 00005960 25 2c 4d 61 69 6e 25 2c 54 65 6d 70 54 65 78 74 |%,Main%,TempText| 00005970 24 29 0d 2b 3e 1e f2 52 65 64 72 61 77 28 4d 61 |$).+>..Redraw(Ma| 00005980 69 6e 25 2c 54 61 70 65 4e 75 6d 62 65 72 25 29 |in%,TapeNumber%)| 00005990 0d 2b 48 10 d9 20 23 4c 6f 61 64 46 69 6c 65 25 |.+H.. #LoadFile%| 000059a0 0d 2b 52 05 e1 0d 2b 70 24 dd f2 53 77 61 70 43 |.+R...+p$..SwapC| 000059b0 61 73 65 28 57 69 6e 64 6f 77 25 2c 49 63 6f 6e |ase(Window%,Icon| 000059c0 25 2c 49 6e 64 65 78 25 29 0d 2b 7a 2a e7 20 49 |%,Index%).+z*. I| 000059d0 6e 64 65 78 25 3c a9 28 a4 67 65 74 5f 74 65 78 |ndex%<.(.get_tex| 000059e0 74 28 4d 61 69 6e 25 2c 49 63 6f 6e 25 2c a3 29 |t(Main%,Icon%,.)| 000059f0 29 20 8c 0d 2b 84 26 49 63 6f 6e 54 65 78 74 24 |) ..+.&IconText$| 00005a00 3d a4 67 65 74 5f 74 65 78 74 28 4d 61 69 6e 25 |=.get_text(Main%| 00005a10 2c 49 63 6f 6e 25 2c a3 29 0d 2b 8e 26 43 25 3d |,Icon%,.).+.&C%=| 00005a20 97 28 c1 49 63 6f 6e 54 65 78 74 24 2c 49 6e 64 |.(.IconText$,Ind| 00005a30 65 78 25 2b 31 2c 31 29 29 20 80 20 26 44 46 0d |ex%+1,1)) . &DF.| 00005a40 2b 98 19 e7 20 43 25 3e 3d 26 34 31 20 80 20 43 |+... C%>=&41 . C| 00005a50 25 3c 3d 26 35 41 20 8c 0d 2b a2 29 43 24 3d bd |%<=&5A ..+.)C$=.| 00005a60 28 97 28 c1 49 63 6f 6e 54 65 78 74 24 2c 49 6e |(.(.IconText$,In| 00005a70 64 65 78 25 2b 31 2c 31 29 29 20 82 20 26 32 30 |dex%+1,1)) . &20| 00005a80 29 0d 2b ac 1d c1 49 63 6f 6e 54 65 78 74 24 2c |).+...IconText$,| 00005a90 49 6e 64 65 78 25 2b 31 2c 31 29 3d 43 24 0d 2b |Index%+1,1)=C$.+| 00005aa0 b6 29 f2 53 65 74 49 63 6f 6e 54 65 78 74 28 49 |.).SetIconText(I| 00005ab0 63 6f 6e 25 2c 57 69 6e 64 6f 77 25 2c 49 63 6f |con%,Window%,Ico| 00005ac0 6e 54 65 78 74 24 29 0d 2b c0 18 f2 52 65 64 72 |nText$).+...Redr| 00005ad0 61 77 28 4d 61 69 6e 25 2c 49 63 6f 6e 25 29 0d |aw(Main%,Icon%).| 00005ae0 2b ca 05 cd 0d 2b d4 25 f2 53 65 74 43 61 72 65 |+....+.%.SetCare| 00005af0 74 50 6f 73 69 74 69 6f 6e 28 49 63 6f 6e 25 2c |tPosition(Icon%,| 00005b00 49 6e 64 65 78 25 2b 31 29 0d 2b de 05 cd 0d 2b |Index%+1).+....+| 00005b10 e8 05 e1 0d 2c 06 15 dd f2 4d 6f 76 65 44 6f 77 |....,....MoveDow| 00005b20 6e 41 6e 45 6e 74 72 79 0d 2c 10 49 e7 20 49 63 |nAnEntry.,.I. Ic| 00005b30 6f 6e 25 3c 32 32 20 84 20 28 49 63 6f 6e 25 3e |on%<22 . (Icon%>| 00005b40 32 33 20 80 20 49 63 6f 6e 25 3c 32 36 29 20 8c |23 . Icon%<26) .| 00005b50 f2 53 65 74 43 61 72 65 74 50 6f 73 69 74 69 6f |.SetCaretPositio| 00005b60 6e 28 49 63 6f 6e 25 2b 32 2c 49 6e 64 65 78 25 |n(Icon%+2,Index%| 00005b70 29 0d 2c 1a 3c e7 20 49 63 6f 6e 25 3d 32 32 20 |).,.<. Icon%=22 | 00005b80 84 20 49 63 6f 6e 25 3d 32 33 20 8c f2 53 65 74 |. Icon%=23 ..Set| 00005b90 43 61 72 65 74 50 6f 73 69 74 69 6f 6e 28 49 63 |CaretPosition(Ic| 00005ba0 6f 6e 25 2b 36 2c 49 6e 64 65 78 25 29 0d 2c 24 |on%+6,Index%).,$| 00005bb0 3c e7 20 49 63 6f 6e 25 3e 32 37 20 80 20 49 63 |<. Icon%>27 . Ic| 00005bc0 6f 6e 25 3c 33 36 20 8c f2 53 65 74 43 61 72 65 |on%<36 ..SetCare| 00005bd0 74 50 6f 73 69 74 69 6f 6e 28 49 63 6f 6e 25 2b |tPosition(Icon%+| 00005be0 32 2c 49 6e 64 65 78 25 29 0d 2c 2e 3d e7 20 49 |2,Index%).,.=. I| 00005bf0 63 6f 6e 25 3d 33 36 20 84 20 49 63 6f 6e 25 3d |con%=36 . Icon%=| 00005c00 33 37 20 8c f2 53 65 74 43 61 72 65 74 50 6f 73 |37 ..SetCaretPos| 00005c10 69 74 69 6f 6e 28 49 63 6f 6e 25 2d 33 36 2c 49 |ition(Icon%-36,I| 00005c20 6e 64 65 78 25 29 0d 2c 38 05 e1 0d 2c 56 13 dd |ndex%).,8...,V..| 00005c30 f2 4d 6f 76 65 55 70 41 6e 45 6e 74 72 79 0d 2c |.MoveUpAnEntry.,| 00005c40 60 55 e7 20 28 49 63 6f 6e 25 3c 32 34 20 80 20 |`U. (Icon%<24 . | 00005c50 49 63 6f 6e 25 3e 31 29 20 84 20 28 49 63 6f 6e |Icon%>1) . (Icon| 00005c60 25 3c 33 38 20 80 20 49 63 6f 6e 25 3e 32 39 29 |%<38 . Icon%>29)| 00005c70 20 8c f2 53 65 74 43 61 72 65 74 50 6f 73 69 74 | ..SetCaretPosit| 00005c80 69 6f 6e 28 49 63 6f 6e 25 2d 32 2c 49 6e 64 65 |ion(Icon%-2,Inde| 00005c90 78 25 29 0d 2c 6a 3c e7 20 49 63 6f 6e 25 3d 32 |x%).,j<. Icon%=2| 00005ca0 38 20 84 20 49 63 6f 6e 25 3d 32 39 20 8c f2 53 |8 . Icon%=29 ..S| 00005cb0 65 74 43 61 72 65 74 50 6f 73 69 74 69 6f 6e 28 |etCaretPosition(| 00005cc0 49 63 6f 6e 25 2d 36 2c 49 6e 64 65 78 25 29 0d |Icon%-6,Index%).| 00005cd0 2c 74 3c e7 20 49 63 6f 6e 25 3d 32 36 20 84 20 |,t<. Icon%=26 . | 00005ce0 49 63 6f 6e 25 3d 32 37 20 8c f2 53 65 74 43 61 |Icon%=27 ..SetCa| 00005cf0 72 65 74 50 6f 73 69 74 69 6f 6e 28 49 63 6f 6e |retPosition(Icon| 00005d00 25 2d 32 2c 49 6e 64 65 78 25 29 0d 2c 7e 3d e7 |%-2,Index%).,~=.| 00005d10 20 49 63 6f 6e 25 3d 30 30 20 84 20 49 63 6f 6e | Icon%=00 . Icon| 00005d20 25 3d 30 31 20 8c f2 53 65 74 43 61 72 65 74 50 |%=01 ..SetCaretP| 00005d30 6f 73 69 74 69 6f 6e 28 49 63 6f 6e 25 2b 33 36 |osition(Icon%+36| 00005d40 2c 49 6e 64 65 78 25 29 0d 2c 88 05 e1 0d 2c a6 |,Index%).,....,.| 00005d50 22 dd f2 49 6e 69 74 69 61 6c 69 73 65 5f 50 72 |"..Initialise_Pr| 00005d60 6f 67 72 61 6d 5f 56 61 72 69 61 62 6c 65 73 0d |ogram_Variables.| 00005d70 2c ba 19 de 20 42 6f 78 25 20 31 36 20 3a de 20 |,... Box% 16 :. | 00005d80 42 6f 78 32 25 20 31 36 0d 2c c4 10 de 20 4d 61 |Box2% 16.,... Ma| 00005d90 74 72 69 78 25 20 31 36 0d 2c ce 1b 53 63 61 6c |trix% 16.,..Scal| 00005da0 65 58 25 3d 31 20 3a 53 63 61 6c 65 59 25 3d 31 |eX%=1 :ScaleY%=1| 00005db0 20 20 20 0d 2c d8 2c 4d 61 74 72 69 78 25 21 30 | .,.,Matrix%!0| 00005dc0 34 3d 30 20 20 20 20 3a 4d 61 74 72 69 78 25 21 |4=0 :Matrix%!| 00005dd0 30 30 3d 32 5e 31 36 2a 53 63 61 6c 65 58 25 0d |00=2^16*ScaleX%.| 00005de0 2c e2 2c 4d 61 74 72 69 78 25 21 30 38 3d 30 20 |,.,Matrix%!08=0 | 00005df0 20 20 20 3a 4d 61 74 72 69 78 25 21 31 32 3d 32 | :Matrix%!12=2| 00005e00 5e 31 36 2a 53 63 61 6c 65 59 25 0d 2c ec 0f de |^16*ScaleY%.,...| 00005e10 20 4f 72 69 67 69 6e 25 20 38 0d 2c f6 1e 72 61 | Origin% 8.,..ra| 00005e20 6d 5f 73 61 76 65 25 3d b9 3a 73 61 76 65 5f 6c |m_save%=.:save_l| 00005e30 65 6e 67 74 68 25 3d b9 0d 2d 00 1b 44 72 61 67 |ength%=..-..Drag| 00005e40 41 53 70 72 69 74 65 5f 41 63 74 69 76 65 25 20 |ASprite_Active% | 00005e50 3d 20 a3 0d 2d 0a 17 49 63 6f 6e 42 61 72 4d 65 |= ..-..IconBarMe| 00005e60 6e 75 25 20 20 20 20 3d 20 30 0d 2d 14 17 4d 61 |nu% = 0.-..Ma| 00005e70 69 6e 57 69 6e 4d 65 6e 75 25 20 20 20 20 3d 20 |inWinMenu% = | 00005e80 31 0d 2d 1e 17 53 65 63 6f 6e 64 43 44 25 20 20 |1.-..SecondCD% | 00005e90 20 20 20 20 20 3d 20 a3 0d 2d 28 17 4e 65 77 25 | = ..-(.New%| 00005ea0 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 b9 0d | = ..| 00005eb0 2d 32 18 4f 6c 64 4e 61 6d 65 24 20 20 20 20 20 |-2.OldName$ | 00005ec0 20 20 20 3d 20 22 22 0d 2d 3c 18 4c 65 61 66 4e | = "".-<.LeafN| 00005ed0 61 6d 65 52 65 63 64 24 20 20 20 3d 20 22 22 0d |ameRecd$ = "".| 00005ee0 2d 46 0f de 20 67 61 70 24 28 33 33 29 20 0d 2d |-F.. gap$(33) .-| 00005ef0 50 12 de 20 69 6e 73 65 72 74 24 28 31 35 29 20 |P.. insert$(15) | 00005f00 0d 2d 5a 10 de 20 75 6e 64 6f 24 28 33 38 29 20 |.-Z.. undo$(38) | 00005f10 0d 2d 6e 53 42 61 63 6b 47 72 6f 75 6e 64 25 3d |.-nSBackGround%=| 00005f20 20 2d 31 20 3a 49 63 6f 6e 42 61 72 25 3d 20 2d | -1 :IconBar%= -| 00005f30 32 20 3a 53 69 64 65 41 25 3d 33 38 20 3a 53 69 |2 :SideA%=38 :Si| 00005f40 64 65 42 25 3d 33 39 20 3a 50 72 69 6e 74 25 3d |deB%=39 :Print%=| 00005f50 34 32 20 3a 54 61 70 65 4e 75 6d 62 65 72 25 3d |42 :TapeNumber%=| 00005f60 20 34 31 0d 2d 78 1b 53 61 76 65 49 63 6f 6e 25 | 41.-x.SaveIcon%| 00005f70 3d 20 30 20 3a 53 61 76 65 4f 4b 25 3d 32 0d 2d |= 0 :SaveOK%=2.-| 00005f80 82 5e 54 6f 70 53 65 74 53 69 64 65 4f 4e 45 53 |.^TopSetSideONES| 00005f90 74 61 72 74 25 3d 30 30 20 3a 54 6f 70 53 65 74 |tart%=00 :TopSet| 00005fa0 53 69 64 65 4f 4e 45 45 6e 64 25 3d 32 32 20 3a |SideONEEnd%=22 :| 00005fb0 54 6f 70 53 65 74 53 69 64 65 54 57 4f 53 74 61 |TopSetSideTWOSta| 00005fc0 72 74 25 3d 30 31 20 3a 54 6f 70 53 65 74 53 69 |rt%=01 :TopSetSi| 00005fd0 64 65 54 57 4f 45 6e 64 25 3d 32 33 0d 2d 8c 5e |deTWOEnd%=23.-.^| 00005fe0 42 74 6d 53 65 74 53 69 64 65 4f 4e 45 53 74 61 |BtmSetSideONESta| 00005ff0 72 74 25 3d 32 38 20 3a 42 74 6d 53 65 74 53 69 |rt%=28 :BtmSetSi| 00006000 64 65 4f 4e 45 45 6e 64 25 3d 33 36 20 3a 42 74 |deONEEnd%=36 :Bt| 00006010 6d 53 65 74 53 69 64 65 54 57 4f 53 74 61 72 74 |mSetSideTWOStart| 00006020 25 3d 32 39 20 3a 42 74 6d 53 65 74 53 69 64 65 |%=29 :BtmSetSide| 00006030 54 57 4f 45 6e 64 25 3d 33 37 0d 2d 96 26 54 69 |TWOEnd%=37.-.&Ti| 00006040 74 6c 65 53 69 64 65 4f 4e 45 25 3d 32 34 20 3a |tleSideONE%=24 :| 00006050 54 69 74 6c 65 53 69 64 65 54 57 4f 25 3d 32 36 |TitleSideTWO%=26| 00006060 0d 2d a0 28 41 72 74 69 73 74 53 69 64 65 4f 4e |.-.(ArtistSideON| 00006070 45 25 3d 32 35 20 3a 41 72 74 69 73 74 53 69 64 |E%=25 :ArtistSid| 00006080 65 54 57 4f 25 3d 32 37 0d 2d aa 11 f2 52 65 61 |eTWO%=27.-...Rea| 00006090 64 55 73 65 72 44 61 74 61 0d 2d be 37 c8 99 22 |dUserData.-.7.."| 000060a0 4f 53 5f 53 57 49 4e 75 6d 62 65 72 46 72 6f 6d |OS_SWINumberFrom| 000060b0 53 74 72 69 6e 67 22 2c 2c 22 46 6f 6e 74 5f 46 |String",,"Font_F| 000060c0 69 6e 64 46 6f 6e 74 22 20 b8 20 46 69 6e 64 25 |indFont" . Find%| 000060d0 0d 2d c8 37 c8 99 22 4f 53 5f 53 57 49 4e 75 6d |.-.7.."OS_SWINum| 000060e0 62 65 72 46 72 6f 6d 53 74 72 69 6e 67 22 2c 2c |berFromString",,| 000060f0 22 46 6f 6e 74 5f 4c 6f 73 65 46 6f 6e 74 22 20 |"Font_LoseFont" | 00006100 b8 20 4c 6f 73 65 25 0d 2d d2 35 c8 99 22 4f 53 |. Lose%.-.5.."OS| 00006110 5f 53 57 49 4e 75 6d 62 65 72 46 72 6f 6d 53 74 |_SWINumberFromSt| 00006120 72 69 6e 67 22 2c 2c 22 46 6f 6e 74 5f 53 65 74 |ring",,"Font_Set| 00006130 46 6f 6e 74 22 20 b8 20 53 65 74 25 0d 2d dc 35 |Font" . Set%.-.5| 00006140 c8 99 22 4f 53 5f 53 57 49 4e 75 6d 62 65 72 46 |.."OS_SWINumberF| 00006150 72 6f 6d 53 74 72 69 6e 67 22 2c 2c 22 46 6f 6e |romString",,"Fon| 00006160 74 5f 50 61 69 6e 74 22 20 b8 20 50 61 69 6e 74 |t_Paint" . Paint| 00006170 25 0d 2d e6 45 44 65 73 6b 54 6f 70 53 61 76 65 |%.-.EDeskTopSave| 00006180 24 3d 22 52 75 6e 20 22 2b a4 43 6f 6e 76 65 72 |$="Run "+.Conver| 00006190 74 53 79 73 74 65 6d 54 6f 53 74 72 69 6e 67 28 |tSystemToString(| 000061a0 22 43 61 73 73 65 74 74 65 24 44 69 72 22 29 2b |"Cassette$Dir")+| 000061b0 bd 28 26 30 41 29 0d 2d f0 39 42 61 73 65 46 6f |.(&0A).-.9BaseFo| 000061c0 6e 74 24 3d a4 43 6f 6e 76 65 72 74 53 79 73 74 |nt$=.ConvertSyst| 000061d0 65 6d 54 6f 53 74 72 69 6e 67 28 22 43 61 73 73 |emToString("Cass| 000061e0 65 74 74 65 24 42 61 73 65 46 6f 6e 74 22 29 0d |ette$BaseFont").| 000061f0 2d fa 39 42 6f 6c 64 46 6f 6e 74 24 3d a4 43 6f |-.9BoldFont$=.Co| 00006200 6e 76 65 72 74 53 79 73 74 65 6d 54 6f 53 74 72 |nvertSystemToStr| 00006210 69 6e 67 28 22 43 61 73 73 65 74 74 65 24 42 6f |ing("Cassette$Bo| 00006220 6c 64 46 6f 6e 74 22 29 0d 2e 04 30 43 61 73 4e |ldFont")...0CasN| 00006230 6f 24 3d a4 43 6f 6e 76 65 72 74 53 79 73 74 65 |o$=.ConvertSyste| 00006240 6d 54 6f 53 74 72 69 6e 67 28 22 54 61 70 65 24 |mToString("Tape$| 00006250 50 72 65 66 69 78 22 29 0d 2e 0e 11 e7 a9 28 43 |Prefix")......(C| 00006260 61 73 4e 6f 24 29 3e 32 8c 0d 2e 18 17 43 6c 69 |asNo$)>2.....Cli| 00006270 70 70 65 64 24 3d c0 43 61 73 4e 6f 24 2c 32 29 |pped$=.CasNo$,2)| 00006280 0d 2e 22 0c 21 71 25 3d 39 30 39 30 0d 2e 2c 6f |..".!q%=9090..,o| 00006290 45 72 72 6f 72 24 3d 22 54 61 70 65 24 50 72 65 |Error$="Tape$Pre| 000062a0 66 69 78 20 69 73 20 73 65 74 20 74 6f 20 6c 6f |fix is set to lo| 000062b0 6e 67 65 72 20 74 68 61 6e 20 32 20 63 68 61 72 |nger than 2 char| 000062c0 61 63 74 65 72 73 2e 20 4f 4b 20 74 6f 20 63 6c |acters. OK to cl| 000062d0 69 70 20 74 6f 20 22 2b 43 6c 69 70 70 65 64 24 |ip to "+Clipped$| 000062e0 2b 22 20 43 61 6e 63 65 6c 20 74 6f 20 61 62 6f |+" Cancel to abo| 000062f0 72 74 20 70 72 6f 67 72 61 6d 22 0d 2e 36 15 24 |rt program"..6.$| 00006300 28 71 25 2b 34 29 3d 45 72 72 6f 72 24 2b bd 30 |(q%+4)=Error$+.0| 00006310 0d 2e 40 37 c8 99 22 57 69 6d 70 5f 52 65 70 6f |..@7.."Wimp_Repo| 00006320 72 74 45 72 72 6f 72 22 2c 71 25 2c 25 30 31 31 |rtError",q%,%011| 00006330 2c 4d 79 54 61 73 6b 4e 61 6d 65 24 20 b8 20 2c |,MyTaskName$ . ,| 00006340 52 65 73 75 6c 74 25 0d 2e 4a 18 e7 52 65 73 75 |Result%..J..Resu| 00006350 6c 74 25 3d 32 f2 43 6c 6f 73 65 44 6f 77 6e 0d |lt%=2.CloseDown.| 00006360 2e 54 1a 43 61 73 4e 6f 24 3d 43 6c 69 70 70 65 |.T.CasNo$=Clippe| 00006370 64 24 2b 22 20 30 30 31 22 0d 2e 5e 05 cc 0d 2e |d$+" 001"..^....| 00006380 68 18 43 61 73 4e 6f 24 3d 43 61 73 4e 6f 24 2b |h.CasNo$=CasNo$+| 00006390 22 20 30 30 31 22 0d 2e 72 05 cd 0d 2e 7c 05 e1 |" 001"..r....|..| 000063a0 0d 2e a4 12 dd f2 52 65 61 64 55 73 65 72 44 61 |......ReadUserDa| 000063b0 74 61 0d 2e b8 30 50 72 69 6e 74 50 6f 73 25 3d |ta...0PrintPos%=| 000063c0 8e 22 3c 43 61 73 73 65 74 74 65 24 44 69 72 3e |."<Cassette$Dir>| 000063d0 2e 52 65 73 6f 75 72 63 65 73 2e 50 72 69 6e 74 |.Resources.Print| 000063e0 59 22 0d 2e c2 11 e7 50 72 69 6e 74 50 6f 73 25 |Y".....PrintPos%| 000063f0 3e 30 8c 0d 2e cc 0a 50 24 3d 22 23 22 0d 2e d6 |>0.....P$="#"...| 00006400 20 c8 95 20 c0 50 24 2c 31 29 3d 22 23 22 20 80 | .. .P$,1)="#" .| 00006410 ac 20 c5 23 50 72 69 6e 74 50 6f 73 25 0d 2e e0 |. .#PrintPos%...| 00006420 12 50 24 3d be 23 50 72 69 6e 74 50 6f 73 25 0d |.P$=.#PrintPos%.| 00006430 2e ea 05 ce 0d 2e f4 13 e7 50 24 3d 22 23 22 20 |.........P$="#" | 00006440 50 24 3d 22 32 35 22 0d 2e fe 1f 50 72 69 6e 74 |P$="25"....Print| 00006450 59 25 3d 28 28 94 bb 50 24 29 2a 37 32 30 30 30 |Y%=((..P$)*72000| 00006460 29 81 32 35 2e 34 0d 2f 08 12 cc 50 72 69 6e 74 |).25.4./...Print| 00006470 59 25 3d 37 32 30 30 30 0d 2f 12 05 cd 0d 2f 1c |Y%=72000./..../.| 00006480 0f d9 23 50 72 69 6e 74 50 6f 73 25 0d 2f 30 30 |..#PrintPos%./00| 00006490 50 72 69 6e 74 4e 6f 25 3d 8e 22 3c 43 61 73 73 |PrintNo%=."<Cass| 000064a0 65 74 74 65 24 44 69 72 3e 2e 52 65 73 6f 75 72 |ette$Dir>.Resour| 000064b0 63 65 73 2e 50 72 69 6e 74 4e 6f 22 0d 2f 3a 11 |ces.PrintNo"./:.| 000064c0 e7 50 72 69 6e 74 4e 6f 25 3e 30 20 8c 0d 2f 44 |.PrintNo%>0 ../D| 000064d0 0a 50 24 3d 22 23 22 0d 2f 4e 1f c8 95 20 c0 50 |.P$="#"./N... .P| 000064e0 24 2c 31 29 3d 22 23 22 20 80 ac 20 c5 23 50 72 |$,1)="#" .. .#Pr| 000064f0 69 6e 74 4e 6f 25 0d 2f 58 11 50 24 3d be 23 50 |intNo%./X.P$=.#P| 00006500 72 69 6e 74 4e 6f 25 0d 2f 62 05 ce 0d 2f 6c 12 |rintNo%./b.../l.| 00006510 e7 50 24 3d 22 23 22 20 50 24 3d 22 31 22 0d 2f |.P$="#" P$="1"./| 00006520 76 1c 50 72 69 6e 74 54 61 70 65 4e 75 6d 62 65 |v.PrintTapeNumbe| 00006530 72 25 3d 28 bb 50 24 3d 31 29 0d 2f 80 17 cc 50 |r%=(.P$=1)./...P| 00006540 72 69 6e 74 54 61 70 65 4e 75 6d 62 65 72 25 3d |rintTapeNumber%=| 00006550 b9 0d 2f 8a 05 cd 0d 2f 94 0e d9 23 50 72 69 6e |../..../...#Prin| 00006560 74 4e 6f 25 0d 2f 9e 05 e1 0d 2f bc 18 dd f2 4c |tNo%./..../....L| 00006570 6f 61 64 46 69 6c 65 49 66 52 65 71 75 69 72 65 |oadFileIfRequire| 00006580 64 0d 2f c6 1c c8 99 22 4f 53 5f 47 65 74 45 6e |d./...."OS_GetEn| 00006590 76 22 20 b8 20 43 6f 6d 6d 61 6e 64 24 0d 2f d0 |v" . Command$./.| 000065a0 1b 49 25 3d a7 43 6f 6d 6d 61 6e 64 24 2c 22 20 |.I%=.Command$," | 000065b0 2d 4c 6f 61 64 20 22 29 0d 2f da 0a e7 20 49 25 |-Load ")./... I%| 000065c0 20 8c 0d 2f e4 12 49 25 2b 3d a9 22 20 2d 4c 6f | ../..I%+=." -Lo| 000065d0 61 64 20 22 0d 2f ee 22 c8 95 20 c1 43 6f 6d 6d |ad "./.".. .Comm| 000065e0 61 6e 64 24 2c 49 25 2c 31 29 3d 22 20 22 3a 49 |and$,I%,1)=" ":I| 000065f0 25 2b 3d 31 3a ce 0d 2f f8 1b 46 69 6c 65 4e 61 |%+=1:../..FileNa| 00006600 6d 65 24 3d c1 43 6f 6d 6d 61 6e 64 24 2c 49 25 |me$=.Command$,I%| 00006610 29 0d 30 02 2f 46 69 6c 65 4e 61 6d 65 24 3d c0 |).0./FileName$=.| 00006620 46 69 6c 65 4e 61 6d 65 24 2c a7 46 69 6c 65 4e |FileName$,.FileN| 00006630 61 6d 65 24 2b 22 20 22 2c 22 20 22 29 2d 31 29 |ame$+" "," ")-1)| 00006640 0d 30 0c 43 e7 20 46 69 6c 65 4e 61 6d 65 24 3c |.0.C. FileName$<| 00006650 3e 22 22 20 8c 53 74 61 72 74 57 69 74 68 4c 6f |>"" .StartWithLo| 00006660 61 64 3d b9 20 3a f2 44 6f 41 63 74 75 61 6c 4c |ad=. :.DoActualL| 00006670 6f 61 64 54 68 69 6e 67 28 46 69 6c 65 4e 61 6d |oadThing(FileNam| 00006680 65 24 29 0d 30 16 05 cc 0d 30 20 13 53 74 61 72 |e$).0....0 .Star| 00006690 74 57 69 74 68 4c 6f 61 64 3d a3 0d 30 2a 05 cd |tWithLoad=..0*..| 000066a0 0d 30 34 05 e1 0d 30 52 22 dd f2 44 6f 41 63 74 |.04...0R"..DoAct| 000066b0 75 61 6c 4c 6f 61 64 54 68 69 6e 67 28 46 69 6c |ualLoadThing(Fil| 000066c0 65 4e 61 6d 65 24 29 0d 30 66 22 e7 20 46 69 6c |eName$).0f". Fil| 000066d0 65 4e 61 6d 65 24 20 3d 20 22 3c 57 69 6d 70 24 |eName$ = "<Wimp$| 000066e0 53 63 72 61 70 3e 22 20 8c 0d 30 70 27 f2 53 65 |Scrap>" ..0p'.Se| 000066f0 74 49 63 6f 6e 54 65 78 74 28 31 2c 53 61 76 65 |tIconText(1,Save| 00006700 25 2c 4c 65 61 66 4e 61 6d 65 52 65 63 64 24 29 |%,LeafNameRecd$)| 00006710 0d 30 7a 05 cc 0d 30 84 23 f2 53 65 74 49 63 6f |.0z...0.#.SetIco| 00006720 6e 54 65 78 74 28 31 2c 53 61 76 65 25 2c 46 69 |nText(1,Save%,Fi| 00006730 6c 65 4e 61 6d 65 24 29 0d 30 98 0f 53 65 63 6f |leName$).0..Seco| 00006740 6e 64 43 44 25 3d a3 0d 30 a2 05 cd 0d 30 ac 18 |ndCD%=..0....0..| 00006750 f2 4c 6f 61 64 44 61 74 61 28 46 69 6c 65 4e 61 |.LoadData(FileNa| 00006760 6d 65 24 29 0d 30 b6 16 f2 4f 70 65 6e 4d 61 69 |me$).0...OpenMai| 00006770 6e 57 69 6e 64 6f 77 28 a3 29 0d 30 c0 05 e1 0d |nWindow(.).0....| 00006780 30 de 13 dd f2 50 72 69 6e 74 4f 75 74 28 6d 62 |0....PrintOut(mb| 00006790 25 29 0d 30 e8 18 e7 a4 50 72 69 6e 74 65 72 5f |%).0....Printer_| 000067a0 4f 6e 4c 69 6e 65 3d b9 20 8c 0d 30 fc 3a c8 99 |OnLine=. ..0.:..| 000067b0 22 58 4f 53 5f 53 57 49 4e 75 6d 62 65 72 46 72 |"XOS_SWINumberFr| 000067c0 6f 6d 53 74 72 69 6e 67 22 2c 2c 22 46 6f 6e 74 |omString",,"Font| 000067d0 5f 53 63 61 6e 53 74 72 69 6e 67 22 20 b8 20 46 |_ScanString" . F| 000067e0 6c 61 67 25 0d 31 06 32 e7 46 6c 61 67 25 80 31 |lag%.1.2.Flag%.1| 000067f0 20 8c 4e 65 77 46 6f 6e 74 4d 61 6e 61 67 65 72 | .NewFontManager| 00006800 25 3d a3 20 8b 4e 65 77 46 6f 6e 74 4d 61 6e 61 |%=. .NewFontMana| 00006810 67 65 72 25 3d b9 0d 31 10 1f ea 20 50 72 69 6e |ger%=..1... Prin| 00006820 74 46 69 6c 65 25 2c 4f 6c 64 4a 6f 62 25 2c 57 |tFile%,OldJob%,W| 00006830 68 69 74 65 25 0d 31 1a 16 53 6f 6d 65 54 65 78 |hite%.1..SomeTex| 00006840 74 54 72 69 6d 6d 65 64 25 3d a3 0d 31 24 14 57 |tTrimmed%=..1$.W| 00006850 68 69 74 65 25 3d 26 46 46 46 46 46 46 30 30 0d |hite%=&FFFFFF00.| 00006860 31 38 1a 50 72 69 6e 74 46 69 6c 65 25 3d ae 22 |18.PrintFile%=."| 00006870 70 72 69 6e 74 65 72 3a 22 0d 31 42 07 ea 20 85 |printer:".1B.. .| 00006880 0d 31 4c 3b ee 20 85 20 ea 3a f7 20 85 3a d9 23 |.1L;. . .:. .:.#| 00006890 50 72 69 6e 74 46 69 6c 65 25 3a f2 61 64 76 69 |PrintFile%:.advi| 000068a0 63 65 28 a4 6d 28 6d 66 25 2c 22 4e 6f 44 72 69 |ce(.m(mf%,"NoDri| 000068b0 76 65 72 22 29 2c 31 37 29 3a e1 0d 31 60 3a c8 |ver"),17):..1`:.| 000068c0 99 22 50 44 72 69 76 65 72 5f 53 65 6c 65 63 74 |."PDriver_Select| 000068d0 4a 6f 62 22 2c 50 72 69 6e 74 46 69 6c 65 25 2c |Job",PrintFile%,| 000068e0 22 50 72 69 6e 74 20 4a 6f 62 22 20 b8 20 4f 6c |"Print Job" . Ol| 000068f0 64 4a 6f 62 25 0d 31 6a 14 c8 99 22 48 6f 75 72 |dJob%.1j..."Hour| 00006900 67 6c 61 73 73 5f 4f 6e 22 0d 31 74 07 ea 20 85 |glass_On".1t.. .| 00006910 0d 31 7e 80 ee 20 85 20 ea 3a f7 20 85 3a c8 99 |.1~.. . .:. .:..| 00006920 22 48 6f 75 72 67 6c 61 73 73 5f 4f 66 66 22 3a |"Hourglass_Off":| 00006930 c8 99 22 50 44 72 69 76 65 72 5f 41 62 6f 72 74 |.."PDriver_Abort| 00006940 4a 6f 62 22 2c 50 72 69 6e 74 46 69 6c 65 25 3a |Job",PrintFile%:| 00006950 c8 99 22 50 44 72 69 76 65 72 5f 53 65 6c 65 63 |.."PDriver_Selec| 00006960 74 4a 6f 62 22 2c 4f 6c 64 4a 6f 62 25 3a f2 61 |tJob",OldJob%:.a| 00006970 64 76 69 63 65 28 a4 6d 28 6d 66 25 2c 22 50 72 |dvice(.m(mf%,"Pr| 00006980 69 6e 74 45 72 72 6f 72 22 29 2c 31 37 29 3a e1 |intError"),17):.| 00006990 0d 31 92 1a f2 47 65 74 44 6f 63 75 6d 65 6e 74 |.1...GetDocument| 000069a0 53 69 7a 65 28 42 6f 78 25 29 0d 31 9c 1e f2 46 |Size(Box%).1...F| 000069b0 69 74 54 6f 50 61 67 65 28 48 65 69 67 68 74 25 |itToPage(Height%| 000069c0 2c 57 69 64 74 68 25 29 0d 31 b0 3a c8 99 22 50 |,Width%).1.:.."P| 000069d0 44 72 69 76 65 72 5f 47 69 76 65 52 65 63 74 61 |Driver_GiveRecta| 000069e0 6e 67 6c 65 22 2c 2c 42 6f 78 25 2c 4d 61 74 72 |ngle",,Box%,Matr| 000069f0 69 78 25 2c 4f 72 69 67 69 6e 25 2c 57 68 69 74 |ix%,Origin%,Whit| 00006a00 65 25 0d 31 c4 32 c8 99 22 50 44 72 69 76 65 72 |e%.1.2.."PDriver| 00006a10 5f 44 72 61 77 50 61 67 65 22 2c 31 2c 42 6f 78 |_DrawPage",1,Box| 00006a20 32 25 2c 30 2c 30 20 b8 20 43 6f 70 69 65 73 4c |2%,0,0 . CopiesL| 00006a30 65 66 74 25 0d 31 ce 12 c8 95 20 43 6f 70 69 65 |eft%.1.... Copie| 00006a40 73 4c 65 66 74 25 0d 31 d8 13 f2 4d 69 6e 69 5f |sLeft%.1...Mini_| 00006a50 57 49 4d 50 5f 50 6f 6c 6c 0d 31 e2 19 f2 44 72 |WIMP_Poll.1...Dr| 00006a60 61 77 49 6e 6c 61 79 28 42 6f 78 32 25 2c 6d 62 |awInlay(Box2%,mb| 00006a70 25 29 0d 31 ec 30 c8 99 22 50 44 72 69 76 65 72 |%).1.0.."PDriver| 00006a80 5f 47 65 74 52 65 63 74 61 6e 67 6c 65 22 2c 2c |_GetRectangle",,| 00006a90 42 6f 78 25 20 b8 20 43 6f 70 69 65 73 4c 65 66 |Box% . CopiesLef| 00006aa0 74 25 0d 31 f6 05 ce 0d 32 0a 21 c8 99 22 50 44 |t%.1....2.!.."PD| 00006ab0 72 69 76 65 72 5f 45 6e 64 4a 6f 62 22 2c 50 72 |river_EndJob",Pr| 00006ac0 69 6e 74 46 69 6c 65 25 0d 32 1e 07 f7 20 85 0d |intFile%.2... ..| 00006ad0 32 32 15 c8 99 22 48 6f 75 72 67 6c 61 73 73 5f |22..."Hourglass_| 00006ae0 4f 66 66 22 0d 32 3c 21 c8 99 22 50 44 72 69 76 |Off".2<!.."PDriv| 00006af0 65 72 5f 53 65 6c 65 63 74 4a 6f 62 22 2c 4f 6c |er_SelectJob",Ol| 00006b00 64 4a 6f 62 25 0d 32 50 07 f7 20 85 0d 32 64 11 |dJob%.2P.. ..2d.| 00006b10 d9 20 23 50 72 69 6e 74 46 69 6c 65 25 0d 32 6e |. #PrintFile%.2n| 00006b20 36 e7 53 6f 6d 65 54 65 78 74 54 72 69 6d 6d 65 |6.SomeTextTrimme| 00006b30 64 25 3d b9 20 8c f2 61 64 76 69 63 65 28 a4 6d |d%=. ..advice(.m| 00006b40 28 6d 66 25 2c 22 54 65 78 74 43 75 74 22 29 2c |(mf%,"TextCut"),| 00006b50 31 37 29 0d 32 78 05 cd 0d 32 82 05 e1 0d 32 96 |17).2x...2....2.| 00006b60 1b dd f2 47 65 74 44 6f 63 75 6d 65 6e 74 53 69 |...GetDocumentSi| 00006b70 7a 65 28 42 6f 78 25 29 0d 32 a0 20 48 65 69 67 |ze(Box%).2. Heig| 00006b80 68 74 25 3d 37 32 35 20 20 20 20 20 20 3a 57 69 |ht%=725 :Wi| 00006b90 64 74 68 25 3d 37 32 35 0d 32 aa 25 58 31 25 3d |dth%=725.2.%X1%=| 00006ba0 34 20 20 3a 58 32 25 3d 57 69 64 74 68 25 81 32 |4 :X2%=Width%.2| 00006bb0 20 20 3a 58 33 25 3d 57 69 64 74 68 25 0d 32 b4 | :X3%=Width%.2.| 00006bc0 42 59 31 25 3d 30 20 20 3a 59 32 25 3d 31 36 33 |BY1%=0 :Y2%=163| 00006bd0 20 20 20 20 20 20 20 3a 59 33 25 3d 59 32 25 2b | :Y3%=Y2%+| 00006be0 39 32 20 3a 59 34 25 3d 48 65 69 67 68 74 25 2d |92 :Y4%=Height%-| 00006bf0 37 30 20 3a 59 35 25 3d 48 65 69 67 68 74 25 0d |70 :Y5%=Height%.| 00006c00 32 be 1e 42 6f 78 25 21 30 3d 30 20 20 20 20 20 |2..Box%!0=0 | 00006c10 20 20 20 20 3a 42 6f 78 25 21 34 3d 30 0d 32 c8 | :Box%!4=0.2.| 00006c20 29 42 6f 78 25 21 38 3d 57 69 64 74 68 25 2b 32 |)Box%!8=Width%+2| 00006c30 30 20 3a 42 6f 78 25 21 31 32 3d 48 65 69 67 68 |0 :Box%!12=Heigh| 00006c40 74 25 2b 32 30 20 0d 32 d2 05 e1 0d 32 e6 1f dd |t%+20 .2....2...| 00006c50 f2 46 69 74 54 6f 50 61 67 65 28 48 65 69 67 68 |.FitToPage(Heigh| 00006c60 74 25 2c 57 69 64 74 68 25 29 0d 32 f0 1f ea 20 |t%,Width%).2... | 00006c70 4c 65 66 74 25 2c 42 6f 74 74 6f 6d 25 2c 52 69 |Left%,Bottom%,Ri| 00006c80 67 68 74 25 2c 54 6f 70 25 0d 33 04 37 c8 99 22 |ght%,Top%.3.7.."| 00006c90 50 44 72 69 76 65 72 5f 50 61 67 65 53 69 7a 65 |PDriver_PageSize| 00006ca0 22 20 b8 20 2c 2c 2c 4c 65 66 74 25 2c 42 6f 74 |" . ,,,Left%,Bot| 00006cb0 74 6f 6d 25 2c 52 69 67 68 74 25 2c 54 6f 70 25 |tom%,Right%,Top%| 00006cc0 0d 33 18 51 4f 72 69 67 69 6e 58 25 3d 28 28 52 |.3.QOriginX%=((R| 00006cd0 69 67 68 74 25 2b 4c 65 66 74 25 29 2d 28 57 69 |ight%+Left%)-(Wi| 00006ce0 64 74 68 25 2a 34 30 30 29 29 2f 32 20 3a 4f 72 |dth%*400))/2 :Or| 00006cf0 69 67 69 6e 59 25 3d 54 6f 70 25 2d 28 48 65 69 |iginY%=Top%-(Hei| 00006d00 67 68 74 25 2a 34 30 30 29 2d 50 72 69 6e 74 59 |ght%*400)-PrintY| 00006d10 25 0d 33 22 2a 4f 72 69 67 69 6e 25 21 30 3d 4f |%.3"*Origin%!0=O| 00006d20 72 69 67 69 6e 58 25 20 3a 4f 72 69 67 69 6e 25 |riginX% :Origin%| 00006d30 21 34 3d 4f 72 69 67 69 6e 59 25 0d 33 2c 05 e1 |!4=OriginY%.3,..| 00006d40 0d 33 40 22 dd f2 44 72 61 77 49 6e 6c 61 79 28 |.3@"..DrawInlay(| 00006d50 43 6f 5f 6f 72 64 69 6e 61 74 65 71 25 2c 6d 62 |Co_ordinateq%,mb| 00006d60 25 29 0d 33 4a 0f f2 66 69 6e 64 5f 66 6f 6e 74 |%).3J..find_font| 00006d70 73 0d 33 54 39 f2 46 6f 6e 74 50 61 69 6e 74 28 |s.3T9.FontPaint(| 00006d80 22 22 2c a4 67 65 74 5f 74 65 78 74 28 4d 61 69 |"",.get_text(Mai| 00006d90 6e 25 2c 32 34 2c a3 29 2c 58 31 25 2b 31 30 2c |n%,24,.),X1%+10,| 00006da0 59 34 25 2b 34 30 2c 32 34 29 0d 33 5e 39 f2 46 |Y4%+40,24).3^9.F| 00006db0 6f 6e 74 50 61 69 6e 74 28 22 22 2c a4 67 65 74 |ontPaint("",.get| 00006dc0 5f 74 65 78 74 28 4d 61 69 6e 25 2c 32 35 2c a3 |_text(Main%,25,.| 00006dd0 29 2c 58 31 25 2b 31 30 2c 59 34 25 2b 30 35 2c |),X1%+10,Y4%+05,| 00006de0 32 35 29 0d 33 68 39 f2 46 6f 6e 74 50 61 69 6e |25).3h9.FontPain| 00006df0 74 28 22 22 2c a4 67 65 74 5f 74 65 78 74 28 4d |t("",.get_text(M| 00006e00 61 69 6e 25 2c 32 36 2c a3 29 2c 58 32 25 2b 31 |ain%,26,.),X2%+1| 00006e10 30 2c 59 34 25 2b 34 30 2c 32 36 29 0d 33 72 39 |0,Y4%+40,26).3r9| 00006e20 f2 46 6f 6e 74 50 61 69 6e 74 28 22 22 2c a4 67 |.FontPaint("",.g| 00006e30 65 74 5f 74 65 78 74 28 4d 61 69 6e 25 2c 32 37 |et_text(Main%,27| 00006e40 2c a3 29 2c 58 32 25 2b 31 30 2c 59 34 25 2b 30 |,.),X2%+10,Y4%+0| 00006e50 35 2c 32 37 29 0d 33 7c 1b 53 65 70 61 72 61 74 |5,27).3|.Separat| 00006e60 69 6f 6e 3d 28 59 34 25 2d 59 33 25 29 2f 31 32 |ion=(Y4%-Y3%)/12| 00006e70 0d 33 86 20 53 70 61 63 65 53 74 61 72 74 59 3d |.3. SpaceStartY=| 00006e80 59 33 25 20 2b 20 53 65 70 61 72 61 74 69 6f 6e |Y3% + Separation| 00006e90 0d 33 90 0d 54 72 61 63 6b 25 3d 32 32 0d 33 9a |.3..Track%=22.3.| 00006ea0 2b c8 99 22 43 6f 6c 6f 75 72 54 72 61 6e 73 5f |+.."ColourTrans_| 00006eb0 53 65 74 47 43 4f 4c 22 2c 26 44 30 44 30 44 30 |SetGCOL",&D0D0D0| 00006ec0 30 30 2c 2c 2c 30 2c 30 0d 33 a4 13 f2 4d 69 6e |00,,,0,0.3...Min| 00006ed0 69 5f 57 49 4d 50 5f 50 6f 6c 6c 0d 33 ae 19 c8 |i_WIMP_Poll.3...| 00006ee0 95 20 53 70 61 63 65 53 74 61 72 74 59 20 3c 3d |. SpaceStartY <=| 00006ef0 20 59 34 25 0d 33 b8 40 e7 20 53 70 61 63 65 53 | Y4%.3.@. SpaceS| 00006f00 74 61 72 74 59 20 3c 20 59 34 25 2d 31 30 20 8c |tartY < Y4%-10 .| 00006f10 ec 20 58 31 25 2c 53 70 61 63 65 53 74 61 72 74 |. X1%,SpaceStart| 00006f20 59 20 3a df 20 58 33 25 2c 53 70 61 63 65 53 74 |Y :. X3%,SpaceSt| 00006f30 61 72 74 59 0d 33 c2 23 54 65 78 74 24 3d a4 67 |artY.3.#Text$=.g| 00006f40 65 74 5f 74 65 78 74 28 4d 61 69 6e 25 2c 54 72 |et_text(Main%,Tr| 00006f50 61 63 6b 25 2c a3 29 0d 33 cc 35 f2 46 6f 6e 74 |ack%,.).3.5.Font| 00006f60 50 61 69 6e 74 28 22 22 2c 54 65 78 74 24 2c 58 |Paint("",Text$,X| 00006f70 31 25 2b 31 30 2c 53 70 61 63 65 53 74 61 72 74 |1%+10,SpaceStart| 00006f80 59 2d 32 35 2c 54 72 61 63 6b 25 29 0d 33 d6 25 |Y-25,Track%).3.%| 00006f90 54 65 78 74 24 3d a4 67 65 74 5f 74 65 78 74 28 |Text$=.get_text(| 00006fa0 4d 61 69 6e 25 2c 54 72 61 63 6b 25 2b 31 2c a3 |Main%,Track%+1,.| 00006fb0 29 0d 33 e0 37 f2 46 6f 6e 74 50 61 69 6e 74 28 |).3.7.FontPaint(| 00006fc0 22 22 2c 54 65 78 74 24 2c 58 32 25 2b 31 30 2c |"",Text$,X2%+10,| 00006fd0 53 70 61 63 65 53 74 61 72 74 59 2d 32 35 2c 54 |SpaceStartY-25,T| 00006fe0 72 61 63 6b 25 2b 31 29 0d 33 ea 1b 53 70 61 63 |rack%+1).3..Spac| 00006ff0 65 53 74 61 72 74 59 2b 3d 53 65 70 61 72 61 74 |eStartY+=Separat| 00007000 69 6f 6e 0d 33 f4 0d 54 72 61 63 6b 25 2d 3d 32 |ion.3..Track%-=2| 00007010 0d 33 fe 05 ce 0d 34 08 41 53 70 69 6e 65 4c 69 |.3....4.ASpineLi| 00007020 6e 65 31 24 3d a4 67 65 74 5f 74 65 78 74 28 4d |ne1$=.get_text(M| 00007030 61 69 6e 25 2c 32 34 2c a3 29 2b 22 20 2d 20 22 |ain%,24,.)+" - "| 00007040 2b a4 67 65 74 5f 74 65 78 74 28 4d 61 69 6e 25 |+.get_text(Main%| 00007050 2c 32 35 2c a3 29 0d 34 12 43 e7 c0 53 70 69 6e |,25,.).4.C..Spin| 00007060 65 4c 69 6e 65 31 24 2c 33 29 3d 22 20 2d 20 22 |eLine1$,3)=" - "| 00007070 20 53 70 69 6e 65 4c 69 6e 65 31 24 3d c2 53 70 | SpineLine1$=.Sp| 00007080 69 6e 65 4c 69 6e 65 31 24 2c a9 53 70 69 6e 65 |ineLine1$,.Spine| 00007090 4c 69 6e 65 31 24 2d 33 29 0d 34 1c 43 e7 c2 53 |Line1$-3).4.C..S| 000070a0 70 69 6e 65 4c 69 6e 65 31 24 2c 33 29 3d 22 20 |pineLine1$,3)=" | 000070b0 2d 20 22 20 53 70 69 6e 65 4c 69 6e 65 31 24 3d |- " SpineLine1$=| 000070c0 c0 53 70 69 6e 65 4c 69 6e 65 31 24 2c a9 53 70 |.SpineLine1$,.Sp| 000070d0 69 6e 65 4c 69 6e 65 31 24 2d 33 29 0d 34 26 41 |ineLine1$-3).4&A| 000070e0 53 70 69 6e 65 4c 69 6e 65 32 24 3d a4 67 65 74 |SpineLine2$=.get| 000070f0 5f 74 65 78 74 28 4d 61 69 6e 25 2c 32 36 2c a3 |_text(Main%,26,.| 00007100 29 2b 22 20 2d 20 22 2b a4 67 65 74 5f 74 65 78 |)+" - "+.get_tex| 00007110 74 28 4d 61 69 6e 25 2c 32 37 2c a3 29 0d 34 30 |t(Main%,27,.).40| 00007120 43 e7 c0 53 70 69 6e 65 4c 69 6e 65 32 24 2c 33 |C..SpineLine2$,3| 00007130 29 3d 22 20 2d 20 22 20 53 70 69 6e 65 4c 69 6e |)=" - " SpineLin| 00007140 65 32 24 3d c2 53 70 69 6e 65 4c 69 6e 65 32 24 |e2$=.SpineLine2$| 00007150 2c a9 53 70 69 6e 65 4c 69 6e 65 32 24 2d 33 29 |,.SpineLine2$-3)| 00007160 0d 34 3a 43 e7 c2 53 70 69 6e 65 4c 69 6e 65 32 |.4:C..SpineLine2| 00007170 24 2c 33 29 3d 22 20 2d 20 22 20 53 70 69 6e 65 |$,3)=" - " Spine| 00007180 4c 69 6e 65 32 24 3d c0 53 70 69 6e 65 4c 69 6e |Line2$=.SpineLin| 00007190 65 32 24 2c a9 53 70 69 6e 65 4c 69 6e 65 32 24 |e2$,.SpineLine2$| 000071a0 2d 33 29 0d 34 44 33 f2 46 6f 6e 74 50 61 69 6e |-3).4D3.FontPain| 000071b0 74 28 22 42 6f 6c 64 22 2c 53 70 69 6e 65 4c 69 |t("Bold",SpineLi| 000071c0 6e 65 31 24 2c 58 31 25 2b 31 30 2c 59 32 25 2b |ne1$,X1%+10,Y2%+| 000071d0 35 35 2c 32 34 29 0d 34 4e 33 f2 46 6f 6e 74 50 |55,24).4N3.FontP| 000071e0 61 69 6e 74 28 22 42 6f 6c 64 22 2c 53 70 69 6e |aint("Bold",Spin| 000071f0 65 4c 69 6e 65 32 24 2c 58 31 25 2b 31 30 2c 59 |eLine2$,X1%+10,Y| 00007200 32 25 2b 31 35 2c 32 36 29 0d 34 62 3b e7 50 72 |2%+15,26).4b;.Pr| 00007210 69 6e 74 54 61 70 65 4e 75 6d 62 65 72 25 3d b9 |intTapeNumber%=.| 00007220 20 80 6d 62 25 3d 34 20 84 50 72 69 6e 74 54 61 | .mb%=4 .PrintTa| 00007230 70 65 4e 75 6d 62 65 72 25 3d a3 20 80 6d 62 25 |peNumber%=. .mb%| 00007240 3d 31 20 8c 0d 34 6c 14 f2 50 72 69 6e 74 54 61 |=1 ..4l..PrintTa| 00007250 70 65 4e 75 6d 62 65 72 0d 34 76 05 cd 0d 34 80 |peNumber.4v...4.| 00007260 1a 53 65 70 61 72 61 74 69 6f 6e 3d 28 59 32 25 |.Separation=(Y2%| 00007270 2d 59 31 25 29 2f 35 0d 34 8a 20 53 70 61 63 65 |-Y1%)/5.4. Space| 00007280 53 74 61 72 74 59 3d 59 31 25 20 2b 20 53 65 70 |StartY=Y1% + Sep| 00007290 61 72 61 74 69 6f 6e 0d 34 94 0d 54 72 61 63 6b |aration.4..Track| 000072a0 25 3d 33 36 0d 34 9e 13 f2 4d 69 6e 69 5f 57 49 |%=36.4...Mini_WI| 000072b0 4d 50 5f 50 6f 6c 6c 0d 34 a8 19 c8 95 20 53 70 |MP_Poll.4.... Sp| 000072c0 61 63 65 53 74 61 72 74 59 20 3c 3d 20 59 32 25 |aceStartY <= Y2%| 000072d0 0d 34 b2 3f e7 20 53 70 61 63 65 53 74 61 72 74 |.4.?. SpaceStart| 000072e0 59 20 3c 20 59 32 25 2d 31 30 20 ec 20 58 31 25 |Y < Y2%-10 . X1%| 000072f0 2c 53 70 61 63 65 53 74 61 72 74 59 20 3a df 20 |,SpaceStartY :. | 00007300 58 33 25 2c 53 70 61 63 65 53 74 61 72 74 59 0d |X3%,SpaceStartY.| 00007310 34 bc 23 54 65 78 74 24 3d a4 67 65 74 5f 74 65 |4.#Text$=.get_te| 00007320 78 74 28 4d 61 69 6e 25 2c 54 72 61 63 6b 25 2c |xt(Main%,Track%,| 00007330 a3 29 0d 34 c6 35 f2 46 6f 6e 74 50 61 69 6e 74 |.).4.5.FontPaint| 00007340 28 22 22 2c 54 65 78 74 24 2c 58 31 25 2b 31 30 |("",Text$,X1%+10| 00007350 2c 53 70 61 63 65 53 74 61 72 74 59 2d 32 35 2c |,SpaceStartY-25,| 00007360 54 72 61 63 6b 25 29 0d 34 d0 25 54 65 78 74 24 |Track%).4.%Text$| 00007370 3d a4 67 65 74 5f 74 65 78 74 28 4d 61 69 6e 25 |=.get_text(Main%| 00007380 2c 54 72 61 63 6b 25 2b 31 2c a3 29 0d 34 da 37 |,Track%+1,.).4.7| 00007390 f2 46 6f 6e 74 50 61 69 6e 74 28 22 22 2c 54 65 |.FontPaint("",Te| 000073a0 78 74 24 2c 58 32 25 2b 31 30 2c 53 70 61 63 65 |xt$,X2%+10,Space| 000073b0 53 74 61 72 74 59 2d 32 35 2c 54 72 61 63 6b 25 |StartY-25,Track%| 000073c0 2b 31 29 0d 34 e4 1b 53 70 61 63 65 53 74 61 72 |+1).4..SpaceStar| 000073d0 74 59 2b 3d 53 65 70 61 72 61 74 69 6f 6e 0d 34 |tY+=Separation.4| 000073e0 ee 0d 54 72 61 63 6b 25 2d 3d 32 0d 34 f8 05 ce |..Track%-=2.4...| 000073f0 0d 35 02 2b c8 99 22 43 6f 6c 6f 75 72 54 72 61 |.5.+.."ColourTra| 00007400 6e 73 5f 53 65 74 47 43 4f 4c 22 2c 26 30 30 30 |ns_SetGCOL",&000| 00007410 30 30 30 30 30 2c 2c 2c 30 2c 30 0d 35 0c 16 c8 |00000,,,0,0.5...| 00007420 93 20 58 31 25 2c 59 31 25 2c 58 33 25 2c 59 35 |. X1%,Y1%,X3%,Y5| 00007430 25 0d 35 16 1a c8 93 20 58 31 25 2c 59 32 25 2c |%.5.... X1%,Y2%,| 00007440 58 33 25 2c 59 33 25 2d 59 32 25 0d 35 20 18 ec |X3%,Y3%-Y2%.5 ..| 00007450 20 58 32 25 2c 59 31 25 20 3a df 20 58 32 25 2c | X2%,Y1% :. X2%,| 00007460 59 32 25 0d 35 2a 18 ec 20 58 32 25 2c 59 33 25 |Y2%.5*.. X2%,Y3%| 00007470 20 3a df 20 58 32 25 2c 59 34 25 0d 35 34 18 ec | :. X2%,Y4%.54..| 00007480 20 58 31 25 2c 59 34 25 20 3a df 20 58 33 25 2c | X1%,Y4% :. X3%,| 00007490 59 34 25 0d 35 3e 0f f2 6c 6f 73 65 5f 66 6f 6e |Y4%.5>..lose_fon| 000074a0 74 73 0d 35 48 05 e1 0d 35 66 2e dd f2 46 6f 6e |ts.5H...5f...Fon| 000074b0 74 50 61 69 6e 74 28 50 6f 73 74 46 69 78 24 2c |tPaint(PostFix$,| 000074c0 4d 65 73 73 61 67 65 24 2c 58 25 2c 59 25 2c 49 |Message$,X%,Y%,I| 000074d0 63 6f 6e 25 29 0d 35 70 11 ea 20 46 6f 6e 74 48 |con%).5p.. FontH| 000074e0 61 6e 64 6c 65 25 0d 35 84 14 e7 20 4d 65 73 73 |andle%.5... Mess| 000074f0 61 67 65 24 3c 3e 22 22 20 8c 0d 35 8e 13 e7 20 |age$<>"" ..5... | 00007500 50 6f 73 74 46 69 78 24 3d 22 22 20 8c 0d 35 98 |PostFix$="" ..5.| 00007510 1b c8 99 20 53 65 74 25 2c 42 61 73 65 46 6f 6e |... Set%,BaseFon| 00007520 74 48 61 6e 64 6c 65 25 0d 35 a2 27 54 65 78 74 |tHandle%.5.'Text| 00007530 24 3d a4 54 72 69 6d 54 6f 46 69 74 28 4d 65 73 |$=.TrimToFit(Mes| 00007540 73 61 67 65 24 2c 34 38 2c 49 63 6f 6e 25 29 0d |sage$,48,Icon%).| 00007550 35 ac 05 cc 0d 35 b6 1b c8 99 20 53 65 74 25 2c |5....5.... Set%,| 00007560 42 6f 6c 64 46 6f 6e 74 48 61 6e 64 6c 65 25 0d |BoldFontHandle%.| 00007570 35 c0 27 54 65 78 74 24 3d a4 54 72 69 6d 54 6f |5.'Text$=.TrimTo| 00007580 46 69 74 28 4d 65 73 73 61 67 65 24 2c 39 39 2c |Fit(Message$,99,| 00007590 49 63 6f 6e 25 29 0d 35 ca 05 cd 0d 35 d4 38 c8 |Icon%).5....5.8.| 000075a0 99 22 43 6f 6c 6f 75 72 54 72 61 6e 73 5f 53 65 |."ColourTrans_Se| 000075b0 74 46 6f 6e 74 43 6f 6c 6f 75 72 73 22 2c 30 2c |tFontColours",0,| 000075c0 26 46 46 46 46 46 46 30 30 2c 26 30 30 30 30 30 |&FFFFFF00,&00000| 000075d0 30 30 30 0d 35 de 1f c8 99 20 50 61 69 6e 74 25 |000.5.... Paint%| 000075e0 2c 2c 54 65 78 74 24 2c 26 32 31 30 2c 58 25 2c |,,Text$,&210,X%,| 000075f0 59 25 0d 35 e8 05 cd 0d 35 f2 05 e1 0d 36 10 28 |Y%.5....5....6.(| 00007600 dd f2 50 72 69 6e 74 54 61 70 65 4e 75 6d 62 65 |..PrintTapeNumbe| 00007610 72 3a ea 54 65 78 74 24 2c 46 6f 6e 74 48 61 6e |r:.Text$,FontHan| 00007620 64 6c 65 25 0d 36 1a 33 c8 99 46 69 6e 64 25 2c |dle%.6.3..Find%,| 00007630 2c 42 61 73 65 46 6f 6e 74 24 2c 38 2a 31 36 2c |,BaseFont$,8*16,| 00007640 31 30 2a 31 36 2c 30 2c 30 20 b8 20 46 6f 6e 74 |10*16,0,0 . Font| 00007650 48 61 6e 64 6c 65 25 0d 36 24 38 c8 99 22 43 6f |Handle%.6$8.."Co| 00007660 6c 6f 75 72 54 72 61 6e 73 5f 53 65 74 46 6f 6e |lourTrans_SetFon| 00007670 74 43 6f 6c 6f 75 72 73 22 2c 30 2c 26 46 46 46 |tColours",0,&FFF| 00007680 46 46 46 30 30 2c 26 30 30 30 30 30 30 30 30 0d |FFF00,&00000000.| 00007690 36 2e 28 54 65 78 74 24 3d a4 67 65 74 5f 74 65 |6.(Text$=.get_te| 000076a0 78 74 28 4d 61 69 6e 25 2c 54 61 70 65 4e 75 6d |xt(Main%,TapeNum| 000076b0 62 65 72 25 2c a3 29 0d 36 38 26 c8 99 20 50 61 |ber%,.).68&.. Pa| 000076c0 69 6e 74 25 2c 2c 54 65 78 74 24 2c 26 31 30 2c |int%,,Text$,&10,| 000076d0 58 33 25 2d 36 30 2c 59 32 25 2b 36 30 0d 36 42 |X3%-60,Y2%+60.6B| 000076e0 18 c8 99 20 4c 6f 73 65 25 2c 46 6f 6e 74 48 61 |... Lose%,FontHa| 000076f0 6e 64 6c 65 25 0d 36 4c 05 e1 0d 36 6a 10 dd f2 |ndle%.6L...6j...| 00007700 66 69 6e 64 5f 66 6f 6e 74 73 0d 36 74 39 c8 99 |find_fonts.6t9..| 00007710 20 46 69 6e 64 25 2c 2c 42 61 73 65 46 6f 6e 74 | Find%,,BaseFont| 00007720 24 2c 30 39 2a 31 36 2c 31 32 2a 31 36 2c 30 2c |$,09*16,12*16,0,| 00007730 30 20 b8 20 42 61 73 65 46 6f 6e 74 48 61 6e 64 |0 . BaseFontHand| 00007740 6c 65 25 0d 36 7e 39 c8 99 20 46 69 6e 64 25 2c |le%.6~9.. Find%,| 00007750 2c 42 6f 6c 64 46 6f 6e 74 24 2c 31 30 2a 31 36 |,BoldFont$,10*16| 00007760 2c 31 33 2a 31 36 2c 30 2c 30 20 b8 20 42 6f 6c |,13*16,0,0 . Bol| 00007770 64 46 6f 6e 74 48 61 6e 64 6c 65 25 0d 36 88 05 |dFontHandle%.6..| 00007780 e1 0d 36 9c 10 dd f2 6c 6f 73 65 5f 66 6f 6e 74 |..6....lose_font| 00007790 73 0d 36 a6 1c c8 99 20 4c 6f 73 65 25 2c 42 61 |s.6.... Lose%,Ba| 000077a0 73 65 46 6f 6e 74 48 61 6e 64 6c 65 25 0d 36 b0 |seFontHandle%.6.| 000077b0 1c c8 99 20 4c 6f 73 65 25 2c 42 6f 6c 64 46 6f |... Lose%,BoldFo| 000077c0 6e 74 48 61 6e 64 6c 65 25 0d 36 ba 05 e1 0d 36 |ntHandle%.6....6| 000077d0 d8 1a dd f2 4f 70 65 6e 53 75 62 4d 65 6e 75 28 |....OpenSubMenu(| 000077e0 57 69 6e 64 6f 77 25 29 0d 36 e2 1f c8 99 22 57 |Window%).6...."W| 000077f0 69 6d 70 5f 47 65 74 50 6f 69 6e 74 65 72 49 6e |imp_GetPointerIn| 00007800 66 6f 22 2c 2c 71 25 0d 36 ec 30 c8 99 22 57 69 |fo",,q%.6.0.."Wi| 00007810 6d 70 5f 43 72 65 61 74 65 4d 65 6e 75 22 2c 2c |mp_CreateMenu",,| 00007820 57 69 6e 64 6f 77 25 2c 71 25 21 30 2d 36 34 2c |Window%,q%!0-64,| 00007830 71 25 21 34 2b 34 38 0d 36 f6 05 e1 0d 37 14 1c |q%!4+48.6....7..| 00007840 dd f2 46 6f 72 6d 61 74 49 63 6f 6e 54 65 78 74 |..FormatIconText| 00007850 3a ea 20 4c 6f 6f 70 25 0d 37 1e 36 e3 4c 6f 6f |:. Loop%.7.6.Loo| 00007860 70 25 3d 54 6f 70 53 65 74 53 69 64 65 4f 4e 45 |p%=TopSetSideONE| 00007870 53 74 61 72 74 25 20 b8 20 54 6f 70 53 65 74 53 |Start% . TopSetS| 00007880 69 64 65 54 57 4f 45 6e 64 25 20 88 20 32 0d 37 |ideTWOEnd% . 2.7| 00007890 28 29 f2 53 65 74 49 63 6f 6e 54 65 78 74 28 4c |().SetIconText(L| 000078a0 6f 6f 70 25 2c 4d 61 69 6e 25 2c a4 43 45 57 28 |oop%,Main%,.CEW(| 000078b0 4c 6f 6f 70 25 29 29 0d 37 32 2d f2 53 65 74 49 |Loop%)).72-.SetI| 000078c0 63 6f 6e 54 65 78 74 28 4c 6f 6f 70 25 2b 31 2c |conText(Loop%+1,| 000078d0 4d 61 69 6e 25 2c a4 43 45 57 28 4c 6f 6f 70 25 |Main%,.CEW(Loop%| 000078e0 2b 31 29 29 0d 37 3c 18 f2 52 65 64 72 61 77 28 |+1)).7<..Redraw(| 000078f0 4d 61 69 6e 25 2c 4c 6f 6f 70 25 29 0d 37 46 1a |Main%,Loop%).7F.| 00007900 f2 52 65 64 72 61 77 28 4d 61 69 6e 25 2c 4c 6f |.Redraw(Main%,Lo| 00007910 6f 70 25 2b 31 29 0d 37 50 05 ed 0d 37 5a 36 e3 |op%+1).7P...7Z6.| 00007920 4c 6f 6f 70 25 3d 42 74 6d 53 65 74 53 69 64 65 |Loop%=BtmSetSide| 00007930 4f 4e 45 53 74 61 72 74 25 20 b8 20 42 74 6d 53 |ONEStart% . BtmS| 00007940 65 74 53 69 64 65 54 57 4f 45 6e 64 25 20 88 20 |etSideTWOEnd% . | 00007950 32 0d 37 64 29 f2 53 65 74 49 63 6f 6e 54 65 78 |2.7d).SetIconTex| 00007960 74 28 4c 6f 6f 70 25 2c 4d 61 69 6e 25 2c a4 43 |t(Loop%,Main%,.C| 00007970 45 57 28 4c 6f 6f 70 25 29 29 0d 37 6e 2d f2 53 |EW(Loop%)).7n-.S| 00007980 65 74 49 63 6f 6e 54 65 78 74 28 4c 6f 6f 70 25 |etIconText(Loop%| 00007990 2b 31 2c 4d 61 69 6e 25 2c a4 43 45 57 28 4c 6f |+1,Main%,.CEW(Lo| 000079a0 6f 70 25 2b 31 29 29 0d 37 78 18 f2 52 65 64 72 |op%+1)).7x..Redr| 000079b0 61 77 28 4d 61 69 6e 25 2c 4c 6f 6f 70 25 29 0d |aw(Main%,Loop%).| 000079c0 37 82 1a f2 52 65 64 72 61 77 28 4d 61 69 6e 25 |7...Redraw(Main%| 000079d0 2c 4c 6f 6f 70 25 2b 31 29 0d 37 8c 05 ed 0d 37 |,Loop%+1).7....7| 000079e0 96 10 e7 41 64 6a 75 73 74 25 3d a3 20 8c 0d 37 |...Adjust%=. ..7| 000079f0 aa 39 f2 53 65 74 49 63 6f 6e 54 65 78 74 28 54 |.9.SetIconText(T| 00007a00 69 74 6c 65 53 69 64 65 4f 4e 45 25 2c 4d 61 69 |itleSideONE%,Mai| 00007a10 6e 25 2c a4 43 45 57 28 54 69 74 6c 65 53 69 64 |n%,.CEW(TitleSid| 00007a20 65 4f 4e 45 25 29 29 0d 37 b4 39 f2 53 65 74 49 |eONE%)).7.9.SetI| 00007a30 63 6f 6e 54 65 78 74 28 54 69 74 6c 65 53 69 64 |conText(TitleSid| 00007a40 65 54 57 4f 25 2c 4d 61 69 6e 25 2c a4 43 45 57 |eTWO%,Main%,.CEW| 00007a50 28 54 69 74 6c 65 53 69 64 65 54 57 4f 25 29 29 |(TitleSideTWO%))| 00007a60 0d 37 be 3b f2 53 65 74 49 63 6f 6e 54 65 78 74 |.7.;.SetIconText| 00007a70 28 41 72 74 69 73 74 53 69 64 65 4f 4e 45 25 2c |(ArtistSideONE%,| 00007a80 4d 61 69 6e 25 2c a4 43 45 57 28 41 72 74 69 73 |Main%,.CEW(Artis| 00007a90 74 53 69 64 65 4f 4e 45 25 29 29 0d 37 c8 3b f2 |tSideONE%)).7.;.| 00007aa0 53 65 74 49 63 6f 6e 54 65 78 74 28 41 72 74 69 |SetIconText(Arti| 00007ab0 73 74 53 69 64 65 54 57 4f 25 2c 4d 61 69 6e 25 |stSideTWO%,Main%| 00007ac0 2c a4 43 45 57 28 41 72 74 69 73 74 53 69 64 65 |,.CEW(ArtistSide| 00007ad0 54 57 4f 25 29 29 0d 37 d2 05 cc 0d 37 e6 3e f2 |TWO%)).7....7.>.| 00007ae0 53 65 74 49 63 6f 6e 54 65 78 74 28 54 69 74 6c |SetIconText(Titl| 00007af0 65 53 69 64 65 4f 4e 45 25 2c 4d 61 69 6e 25 2c |eSideONE%,Main%,| 00007b00 a4 49 63 6f 6e 5f 46 54 55 28 54 69 74 6c 65 53 |.Icon_FTU(TitleS| 00007b10 69 64 65 4f 4e 45 25 29 29 0d 37 f0 3e f2 53 65 |ideONE%)).7.>.Se| 00007b20 74 49 63 6f 6e 54 65 78 74 28 54 69 74 6c 65 53 |tIconText(TitleS| 00007b30 69 64 65 54 57 4f 25 2c 4d 61 69 6e 25 2c a4 49 |ideTWO%,Main%,.I| 00007b40 63 6f 6e 5f 46 54 55 28 54 69 74 6c 65 53 69 64 |con_FTU(TitleSid| 00007b50 65 54 57 4f 25 29 29 0d 37 fa 40 f2 53 65 74 49 |eTWO%)).7.@.SetI| 00007b60 63 6f 6e 54 65 78 74 28 41 72 74 69 73 74 53 69 |conText(ArtistSi| 00007b70 64 65 4f 4e 45 25 2c 4d 61 69 6e 25 2c a4 49 63 |deONE%,Main%,.Ic| 00007b80 6f 6e 5f 46 54 55 28 41 72 74 69 73 74 53 69 64 |on_FTU(ArtistSid| 00007b90 65 4f 4e 45 25 29 29 0d 38 04 40 f2 53 65 74 49 |eONE%)).8.@.SetI| 00007ba0 63 6f 6e 54 65 78 74 28 41 72 74 69 73 74 53 69 |conText(ArtistSi| 00007bb0 64 65 54 57 4f 25 2c 4d 61 69 6e 25 2c a4 49 63 |deTWO%,Main%,.Ic| 00007bc0 6f 6e 5f 46 54 55 28 41 72 74 69 73 74 53 69 64 |on_FTU(ArtistSid| 00007bd0 65 54 57 4f 25 29 29 0d 38 0e 05 cd 0d 38 18 20 |eTWO%)).8....8. | 00007be0 e7 43 44 74 72 61 63 6b 65 72 25 3d b9 20 f2 63 |.CDtracker%=. .c| 00007bf0 64 74 72 61 63 6b 65 72 5f 6f 66 66 0d 38 22 29 |dtracker_off.8")| 00007c00 e3 4c 6f 6f 70 25 3d 54 69 74 6c 65 53 69 64 65 |.Loop%=TitleSide| 00007c10 4f 4e 45 25 20 b8 20 41 72 74 69 73 74 53 69 64 |ONE% . ArtistSid| 00007c20 65 54 57 4f 25 0d 38 2c 18 f2 52 65 64 72 61 77 |eTWO%.8,..Redraw| 00007c30 28 4d 61 69 6e 25 2c 4c 6f 6f 70 25 29 0d 38 36 |(Main%,Loop%).86| 00007c40 05 ed 0d 38 40 11 f2 61 64 6a 75 73 74 5f 63 61 |...8@..adjust_ca| 00007c50 72 65 74 0d 38 4a 05 e1 0d 38 68 23 dd f2 63 64 |ret.8J...8h#..cd| 00007c60 74 72 61 63 6b 65 72 5f 6f 66 66 3a ea 20 74 31 |tracker_off:. t1| 00007c70 24 2c 74 32 24 2c 4c 6f 6f 70 25 0d 38 72 37 74 |$,t2$,Loop%.8r7t| 00007c80 31 24 3d a4 67 65 74 5f 74 65 78 74 28 4d 61 69 |1$=.get_text(Mai| 00007c90 6e 25 2c 32 36 2c a3 29 3a 74 32 24 3d a4 67 65 |n%,26,.):t2$=.ge| 00007ca0 74 5f 74 65 78 74 28 4d 61 69 6e 25 2c 32 37 2c |t_text(Main%,27,| 00007cb0 a3 29 0d 38 7c 60 e7 a4 63 61 73 65 28 74 31 24 |.).8|`..case(t1$| 00007cc0 29 3d a4 63 61 73 65 28 22 43 44 20 66 69 6c 65 |)=.case("CD file| 00007cd0 64 20 77 69 74 68 69 6e 20 43 44 74 72 61 63 6b |d within CDtrack| 00007ce0 65 72 27 73 20 4d 75 73 69 63 22 29 84 a4 63 61 |er's Music")..ca| 00007cf0 73 65 28 c0 74 32 24 2c 31 31 29 29 3d a4 63 61 |se(.t2$,11))=.ca| 00007d00 73 65 28 22 43 61 74 65 67 6f 72 79 20 2d 20 22 |se("Category - "| 00007d10 29 8c 0d 38 86 2f e3 4c 6f 6f 70 25 3d 32 36 b8 |)..8./.Loop%=26.| 00007d20 32 37 3a f2 53 65 74 49 63 6f 6e 54 65 78 74 28 |27:.SetIconText(| 00007d30 4c 6f 6f 70 25 2c 4d 61 69 6e 25 2c 22 22 29 3a |Loop%,Main%,""):| 00007d40 ed 0d 38 90 05 cd 0d 38 9a 05 e1 0d 38 b8 12 dd |..8....8....8...| 00007d50 f2 61 64 6a 75 73 74 5f 63 61 72 65 74 0d 38 c2 |.adjust_caret.8.| 00007d60 21 c8 99 22 57 69 6d 70 5f 47 65 74 43 61 72 65 |!.."Wimp_GetCare| 00007d70 74 50 6f 73 69 74 69 6f 6e 22 2c 2c 71 25 0d 38 |tPosition",,q%.8| 00007d80 cc 40 e7 21 71 25 3d 4d 61 69 6e 25 20 8c f2 53 |.@.!q%=Main% ..S| 00007d90 65 74 43 61 72 65 74 50 6f 73 69 74 69 6f 6e 28 |etCaretPosition(| 00007da0 71 25 21 34 2c a9 a4 67 65 74 5f 74 65 78 74 28 |q%!4,..get_text(| 00007db0 4d 61 69 6e 25 2c 71 25 21 34 2c a3 29 29 0d 38 |Main%,q%!4,.)).8| 00007dc0 d6 05 e1 0d 39 1c 3f dd f2 4c 6f 77 50 6f 77 65 |....9.?..LowPowe| 00007dd0 72 57 61 72 6e 69 6e 67 3a ea 53 61 76 65 4e 61 |rWarning:.SaveNa| 00007de0 6d 65 24 2c 50 6f 69 6e 74 65 72 25 2c 4c 65 61 |me$,Pointer%,Lea| 00007df0 66 4e 61 6d 65 24 2c 4d 79 53 63 72 61 70 44 69 |fName$,MyScrapDi| 00007e00 72 24 0d 39 26 37 4d 79 53 63 72 61 70 44 69 72 |r$.9&7MyScrapDir| 00007e10 24 3d a4 43 6f 6e 76 65 72 74 53 79 73 74 65 6d |$=.ConvertSystem| 00007e20 54 6f 53 74 72 69 6e 67 28 22 57 69 6d 70 24 53 |ToString("Wimp$S| 00007e30 63 72 61 70 44 69 72 22 29 0d 39 30 14 e7 4d 79 |crapDir").90..My| 00007e40 53 63 72 61 70 44 69 72 24 3d 22 22 8c 0d 39 3a |ScrapDir$=""..9:| 00007e50 34 4d 79 53 63 72 61 70 44 69 72 24 3d a4 43 6f |4MyScrapDir$=.Co| 00007e60 6e 76 65 72 74 53 79 73 74 65 6d 54 6f 53 74 72 |nvertSystemToStr| 00007e70 69 6e 67 28 22 57 69 6d 70 24 53 63 72 61 70 22 |ing("Wimp$Scrap"| 00007e80 29 0d 39 44 16 e7 4d 79 53 63 72 61 70 44 69 72 |).9D..MyScrapDir| 00007e90 24 3d 22 22 20 8c e1 0d 39 4e 1b 50 6f 69 6e 74 |$="" ...9N.Point| 00007ea0 65 72 25 3d a9 28 4d 79 53 63 72 61 70 44 69 72 |er%=.(MyScrapDir| 00007eb0 24 29 0d 39 58 30 c8 95 50 6f 69 6e 74 65 72 25 |$).9X0..Pointer%| 00007ec0 3e 31 20 80 20 c1 4d 79 53 63 72 61 70 44 69 72 |>1 . .MyScrapDir| 00007ed0 24 2c 50 6f 69 6e 74 65 72 25 2c 31 29 3c 3e 22 |$,Pointer%,1)<>"| 00007ee0 2e 22 0d 39 62 0f 50 6f 69 6e 74 65 72 25 2d 3d |.".9b.Pointer%-=| 00007ef0 31 0d 39 6c 05 ce 0d 39 76 12 e7 50 6f 69 6e 74 |1.9l...9v..Point| 00007f00 65 72 25 3d 31 20 8c e1 0d 39 80 2a 4d 79 53 63 |er%=1 ...9.*MySc| 00007f10 72 61 70 44 69 72 24 3d c0 4d 79 53 63 72 61 70 |rapDir$=.MyScrap| 00007f20 44 69 72 24 2c 28 50 6f 69 6e 74 65 72 25 2d 31 |Dir$,(Pointer%-1| 00007f30 29 29 0d 39 8a 05 cd 0d 39 94 27 4d 79 53 63 72 |)).9....9.'MyScr| 00007f40 61 70 44 69 72 24 3d 4d 79 53 63 72 61 70 44 69 |apDir$=MyScrapDi| 00007f50 72 24 2b 22 2e 43 61 73 73 65 74 74 65 22 0d 39 |r$+".Cassette".9| 00007f60 9e 18 ff 22 43 44 69 72 20 22 2b 4d 79 53 63 72 |..."CDir "+MyScr| 00007f70 61 70 44 69 72 24 0d 39 a8 2c f2 53 61 76 65 54 |apDir$.9.,.SaveT| 00007f80 6f 28 4d 79 53 63 72 61 70 44 69 72 24 2b 22 2e |o(MyScrapDir$+".| 00007f90 22 2b a4 49 6e 76 65 6e 74 53 61 76 65 4e 61 6d |"+.InventSaveNam| 00007fa0 65 29 0d 39 b2 05 e1 0d 39 c6 11 dd f2 44 65 73 |e).9....9....Des| 00007fb0 6b 54 6f 70 53 61 76 65 0d 39 d0 1a d5 23 28 71 |kTopSave.9...#(q| 00007fc0 25 21 32 30 29 2c 44 65 73 6b 54 6f 70 53 61 76 |%!20),DeskTopSav| 00007fd0 65 24 0d 39 da 05 e1 0d 39 f8 14 dd f2 4d 69 6e |e$.9....9....Min| 00007fe0 69 5f 57 49 4d 50 5f 50 6f 6c 6c 0d 3a 02 1b c8 |i_WIMP_Poll.:...| 00007ff0 99 22 50 44 72 69 76 65 72 5f 53 65 6c 65 63 74 |."PDriver_Select| 00008000 4a 6f 62 22 2c 30 0d 3a 0c 15 c8 99 22 48 6f 75 |Job",0.:...."Hou| 00008010 72 67 6c 61 73 73 5f 4f 66 66 22 0d 3a 16 1b c8 |rglass_Off".:...| 00008020 99 22 57 69 6d 70 5f 50 6f 6c 6c 22 2c 30 2c 71 |."Wimp_Poll",0,q| 00008030 25 20 b8 20 41 25 0d 3a 20 09 c8 8e 41 25 ca 0d |% . A%.: ...A%..| 00008040 3a 2a 1e c9 32 3a c8 99 22 57 69 6d 70 5f 4f 70 |:*..2:.."Wimp_Op| 00008050 65 6e 57 69 6e 64 6f 77 22 2c 2c 71 25 0d 3a 34 |enWindow",,q%.:4| 00008060 1f c9 33 3a c8 99 22 57 69 6d 70 5f 43 6c 6f 73 |..3:.."Wimp_Clos| 00008070 65 57 69 6e 64 6f 77 22 2c 2c 71 25 0d 3a 3e 20 |eWindow",,q%.:> | 00008080 c9 31 37 2c 31 38 3a f2 44 65 63 6f 64 65 4d 65 |.17,18:.DecodeMe| 00008090 73 73 61 67 65 28 71 25 21 31 36 29 0d 3a 48 05 |ssage(q%!16).:H.| 000080a0 cb 0d 3a 52 14 c8 99 22 48 6f 75 72 67 6c 61 73 |..:R..."Hourglas| 000080b0 73 5f 4f 6e 22 0d 3a 5c 24 c8 99 22 50 44 72 69 |s_On".:\$.."PDri| 000080c0 76 65 72 5f 53 65 6c 65 63 74 4a 6f 62 22 2c 50 |ver_SelectJob",P| 000080d0 72 69 6e 74 46 69 6c 65 25 0d 3a 66 05 e1 0d 3a |rintFile%.:f...:| 000080e0 8e 14 dd f2 73 74 6f 72 65 5f 66 6f 72 5f 75 6e |....store_for_un| 000080f0 64 6f 0d 3a 98 0f e3 69 63 6f 6e 25 3d 30 b8 33 |do.:...icon%=0.3| 00008100 37 0d 3a a2 29 75 6e 64 6f 24 28 69 63 6f 6e 25 |7.:.)undo$(icon%| 00008110 29 3d a4 67 65 74 5f 74 65 78 74 28 4d 61 69 6e |)=.get_text(Main| 00008120 25 2c 69 63 6f 6e 25 2c a3 29 0d 3a ac 05 ed 0d |%,icon%,.).:....| 00008130 3a b6 2c 75 6e 64 6f 24 28 33 38 29 3d a4 67 65 |:.,undo$(38)=.ge| 00008140 74 5f 74 65 78 74 28 4d 61 69 6e 25 2c 54 61 70 |t_text(Main%,Tap| 00008150 65 4e 75 6d 62 65 72 25 2c a3 29 0d 3a c0 05 e1 |eNumber%,.).:...| 00008160 0d 3a de 0a dd f2 75 6e 64 6f 0d 3a e8 0e e7 a4 |.:....undo.:....| 00008170 75 6e 64 6f 3d b9 20 8c 0d 3a f2 0f e3 69 63 6f |undo=. ..:...ico| 00008180 6e 25 3d 30 b8 33 37 0d 3a fc 2a f2 53 65 74 49 |n%=0.37.:.*.SetI| 00008190 63 6f 6e 54 65 78 74 28 69 63 6f 6e 25 2c 4d 61 |conText(icon%,Ma| 000081a0 69 6e 25 2c 75 6e 64 6f 24 28 69 63 6f 6e 25 29 |in%,undo$(icon%)| 000081b0 29 0d 3b 06 05 ed 0d 3b 10 2d f2 53 65 74 49 63 |).;....;.-.SetIc| 000081c0 6f 6e 54 65 78 74 28 54 61 70 65 4e 75 6d 62 65 |onText(TapeNumbe| 000081d0 72 25 2c 4d 61 69 6e 25 2c 75 6e 64 6f 24 28 33 |r%,Main%,undo$(3| 000081e0 38 29 29 0d 3b 1a 0f e3 69 63 6f 6e 25 3d 30 b8 |8)).;...icon%=0.| 000081f0 33 37 0d 3b 24 18 f2 52 65 64 72 61 77 28 4d 61 |37.;$..Redraw(Ma| 00008200 69 6e 25 2c 69 63 6f 6e 25 29 0d 3b 2e 05 ed 0d |in%,icon%).;....| 00008210 3b 38 1e f2 52 65 64 72 61 77 28 4d 61 69 6e 25 |;8..Redraw(Main%| 00008220 2c 54 61 70 65 4e 75 6d 62 65 72 25 29 0d 3b 42 |,TapeNumber%).;B| 00008230 1a f2 53 65 74 43 61 72 65 74 50 6f 73 69 74 69 |..SetCaretPositi| 00008240 6f 6e 28 30 2c 30 29 0d 3b 4c 05 cd 0d 3b 56 05 |on(0,0).;L...;V.| 00008250 e1 0d 3b 88 19 dd f2 67 65 74 5f 6d 65 6d 6f 72 |..;....get_memor| 00008260 79 28 6d 65 6d 25 2c 78 25 29 0d 3b 92 2e c8 99 |y(mem%,x%).;....| 00008270 22 57 69 6d 70 5f 53 6c 6f 74 53 69 7a 65 22 2c |"Wimp_SlotSize",| 00008280 61 70 70 5f 73 69 7a 65 25 2b 6d 65 6d 25 2c 2d |app_size%+mem%,-| 00008290 31 20 b8 20 6e 65 77 25 0d 3b 9c 1a e7 6e 65 77 |1 . new%.;...new| 000082a0 25 3c 61 70 70 5f 73 69 7a 65 25 2b 6d 65 6d 25 |%<app_size%+mem%| 000082b0 20 8c 0d 3b a6 0f 65 72 72 5f 66 6c 61 67 25 3d | ..;..err_flag%=| 000082c0 b9 0d 3b b0 1f f2 61 64 76 69 63 65 28 a4 6d 28 |..;...advice(.m(| 000082d0 6d 66 25 2c 22 4e 6f 4d 65 6d 22 29 2c 31 37 29 |mf%,"NoMem"),17)| 000082e0 0d 3b ba 22 c8 99 22 57 69 6d 70 5f 53 6c 6f 74 |.;.".."Wimp_Slot| 000082f0 53 69 7a 65 22 2c 61 70 70 5f 73 69 7a 65 25 2c |Size",app_size%,| 00008300 2d 31 0d 3b c4 05 cc 0d 3b ce 2f e7 78 25 3d 31 |-1.;....;./.x%=1| 00008310 20 8c c8 99 22 58 4f 53 5f 48 65 61 70 22 2c 35 | ..."XOS_Heap",5| 00008320 2c 68 65 61 70 25 2c 2c 6e 65 77 25 2d 61 70 70 |,heap%,,new%-app| 00008330 5f 73 69 7a 65 25 0d 3b d8 1b 68 65 61 70 5f 73 |_size%.;..heap_s| 00008340 69 7a 65 25 3d 6e 65 77 25 2b 26 38 30 30 30 2d |ize%=new%+&8000-| 00008350 93 0d 3b e2 12 61 70 70 5f 73 69 7a 65 25 3d 6e |..;..app_size%=n| 00008360 65 77 25 0d 3b ec 05 cd 0d 3b f6 05 e1 0d 3c 14 |ew%.;....;....<.| 00008370 1c dd f2 73 65 74 75 70 5f 68 65 61 70 28 69 6e |...setup_heap(in| 00008380 69 74 5f 73 69 7a 65 25 29 0d 3c 1e 1d f2 67 65 |it_size%).<...ge| 00008390 74 5f 6d 65 6d 6f 72 79 28 69 6e 69 74 5f 73 69 |t_memory(init_si| 000083a0 7a 65 25 2c 30 29 0d 3c 28 13 e7 ac 28 65 72 72 |ze%,0).<(...(err| 000083b0 5f 66 6c 61 67 25 29 20 8c 0d 3c 32 0b 68 65 61 |_flag%) ..<2.hea| 000083c0 70 25 3d 93 0d 3c 3c 24 c8 99 22 58 4f 53 5f 48 |p%=..<<$.."XOS_H| 000083d0 65 61 70 22 2c 30 2c 68 65 61 70 25 2c 2c 68 65 |eap",0,heap%,,he| 000083e0 61 70 5f 73 69 7a 65 25 0d 3c 46 05 cd 0d 3c 50 |ap_size%.<F...<P| 000083f0 05 e1 0d 3c 6e 11 dd f2 6c 6f 73 65 5f 6d 65 6d |...<n...lose_mem| 00008400 6f 72 79 0d 3c 78 05 f5 0d 3c 82 2e c8 99 22 58 |ory.<x...<...."X| 00008410 4f 53 5f 48 65 61 70 22 2c 35 2c 68 65 61 70 25 |OS_Heap",5,heap%| 00008420 2c 2c 2d 70 61 67 65 25 20 b8 20 2c 2c 2c 73 25 |,,-page% . ,,,s%| 00008430 3b 66 6c 61 67 25 0d 3c 8c 12 e7 28 66 6c 61 67 |;flag%.<...(flag| 00008440 25 20 80 20 31 29 20 8c 0d 3c 96 1c c8 99 22 58 |% . 1) ..<...."X| 00008450 4f 53 5f 48 65 61 70 22 2c 35 2c 68 65 61 70 25 |OS_Heap",5,heap%| 00008460 2c 2c 73 25 0d 3c a0 05 cc 0d 3c aa 28 c8 99 22 |,,s%.<....<.(.."| 00008470 57 69 6d 70 5f 53 6c 6f 74 53 69 7a 65 22 2c 61 |Wimp_SlotSize",a| 00008480 70 70 5f 73 69 7a 65 25 2d 70 61 67 65 25 2c 2d |pp_size%-page%,-| 00008490 31 0d 3c b4 26 61 70 70 5f 73 69 7a 65 25 2d 3d |1.<.&app_size%-=| 000084a0 70 61 67 65 25 3a 68 65 61 70 5f 73 69 7a 65 25 |page%:heap_size%| 000084b0 2d 3d 70 61 67 65 25 0d 3c be 05 cd 0d 3c c8 10 |-=page%.<....<..| 000084c0 fd 28 66 6c 61 67 25 20 80 20 31 29 0d 3c d2 05 |.(flag% . 1).<..| 000084d0 e1 0d 3d 04 2a dd f2 61 6c 74 65 72 5f 62 6c 6f |..=.*..alter_blo| 000084e0 63 6b 28 f8 20 70 74 72 25 2c 73 69 7a 65 25 29 |ck(. ptr%,size%)| 000084f0 3a ea 65 72 72 5f 66 6c 61 67 25 0d 3d 0e 05 f5 |:.err_flag%.=...| 00008500 0d 3d 18 32 c8 99 22 58 4f 53 5f 48 65 61 70 22 |.=.2.."XOS_Heap"| 00008510 2c 34 2c 68 65 61 70 25 2c 70 74 72 25 2c 73 69 |,4,heap%,ptr%,si| 00008520 7a 65 25 20 b8 20 2c 2c 70 74 72 25 3b 66 6c 61 |ze% . ,,ptr%;fla| 00008530 67 25 0d 3d 2c 26 e7 28 66 6c 61 67 25 20 80 20 |g%.=,&.(flag% . | 00008540 31 29 20 8c f2 67 65 74 5f 6d 65 6d 6f 72 79 28 |1) ..get_memory(| 00008550 70 61 67 65 25 2c 31 29 0d 3d 36 20 fd 28 66 6c |page%,1).=6 .(fl| 00008560 61 67 25 20 80 20 31 29 3d 30 20 84 20 65 72 72 |ag% . 1)=0 . err| 00008570 5f 66 6c 61 67 25 3d b9 0d 3d 40 12 e7 28 65 72 |_flag%=..=@..(er| 00008580 72 5f 66 6c 61 67 25 29 20 8c 0d 3d 54 1a e7 73 |r_flag%) ..=T..s| 00008590 69 7a 65 25 3c 30 20 8c f2 6c 6f 73 65 5f 6d 65 |ize%<0 ..lose_me| 000085a0 6d 6f 72 79 0d 3d 5e 05 cd 0d 3d 68 05 e1 0d 3d |mory.=^...=h...=| 000085b0 9a 17 dd f2 64 65 5f 61 6c 6c 6f 63 61 74 65 28 |....de_allocate(| 000085c0 70 74 72 25 29 0d 3d a4 1d c8 99 22 58 4f 53 5f |ptr%).=...."XOS_| 000085d0 48 65 61 70 22 2c 33 2c 68 65 61 70 25 2c 70 74 |Heap",3,heap%,pt| 000085e0 72 25 0d 3d ae 10 f2 6c 6f 73 65 5f 6d 65 6d 6f |r%.=...lose_memo| 000085f0 72 79 0d 3d b8 05 e1 0d 3d cc 35 dd f2 65 6e 63 |ry.=....=.5..enc| 00008600 6f 64 65 5f 73 61 76 65 5f 62 6c 6f 63 6b 28 f8 |ode_save_block(.| 00008610 20 73 61 76 65 5f 62 6c 6f 63 6b 25 2c 74 65 78 | save_block%,tex| 00008620 74 24 2c 70 6f 69 6e 74 65 72 25 29 0d 3d d6 1a |t$,pointer%).=..| 00008630 73 61 76 65 5f 62 6c 6f 63 6b 25 3f 70 6f 69 6e |save_block%?poin| 00008640 74 65 72 25 3d 30 0d 3d e0 0f 70 6f 69 6e 74 65 |ter%=0.=..pointe| 00008650 72 25 2b 3d 31 0d 3d ea 1f 73 61 76 65 5f 62 6c |r%+=1.=..save_bl| 00008660 6f 63 6b 25 3f 70 6f 69 6e 74 65 72 25 3d a9 74 |ock%?pointer%=.t| 00008670 65 78 74 24 0d 3d f4 0f e7 74 65 78 74 24 3c 3e |ext$.=...text$<>| 00008680 22 22 8c 0d 3e 08 17 e3 63 6f 75 6e 74 25 3d a9 |""..>...count%=.| 00008690 74 65 78 74 24 b8 31 88 2d 31 0d 3e 12 0f 70 6f |text$.1.-1.>..po| 000086a0 69 6e 74 65 72 25 2b 3d 31 0d 3e 1c 2c 73 61 76 |inter%+=1.>.,sav| 000086b0 65 5f 62 6c 6f 63 6b 25 3f 70 6f 69 6e 74 65 72 |e_block%?pointer| 000086c0 25 3d 97 28 c1 74 65 78 74 24 2c 63 6f 75 6e 74 |%=.(.text$,count| 000086d0 25 2c 31 29 29 0d 3e 26 05 ed 0d 3e 30 05 cd 0d |%,1)).>&...>0...| 000086e0 3e 3a 05 e1 0d 3e 4e 1f dd f2 63 6c 6f 73 65 5f |>:...>N...close_| 000086f0 77 69 6e 64 6f 77 28 71 25 29 3a 77 69 6e 25 3d |window(q%):win%=| 00008700 21 71 25 0d 3e 58 1f c8 99 22 57 69 6d 70 5f 47 |!q%.>X..."Wimp_G| 00008710 65 74 50 6f 69 6e 74 65 72 49 6e 66 6f 22 2c 2c |etPointerInfo",,| 00008720 71 25 0d 3e 62 0f e7 71 25 21 38 20 80 20 31 20 |q%.>b..q%!8 . 1 | 00008730 8c 0d 3e 6c 1d 64 69 72 24 3d a4 67 65 74 5f 74 |..>l.dir$=.get_t| 00008740 65 78 74 28 53 61 76 65 25 2c 31 2c a3 29 0d 3e |ext(Save%,1,.).>| 00008750 76 10 e7 a7 64 69 72 24 2c 22 2e 22 29 8c 0d 3e |v...dir$,".")..>| 00008760 80 05 f5 0d 3e 8a 17 64 69 72 24 3d c0 64 69 72 |....>..dir$=.dir| 00008770 24 2c a9 64 69 72 24 2d 31 29 0d 3e 94 11 fd c2 |$,.dir$-1).>....| 00008780 64 69 72 24 2c 31 29 3d 22 2e 22 0d 3e 9e 17 64 |dir$,1)=".".>..d| 00008790 69 72 24 3d c0 64 69 72 24 2c a9 64 69 72 24 2d |ir$=.dir$,.dir$-| 000087a0 31 29 0d 3e a8 13 21 71 25 3d 32 35 36 3a 71 25 |1).>..!q%=256:q%| 000087b0 21 31 32 3d 30 0d 3e b2 16 71 25 21 31 36 3d 26 |!12=0.>..q%!16=&| 000087c0 34 30 30 3a 71 25 21 32 30 3d 30 0d 3e bc 19 71 |400:q%!20=0.>..q| 000087d0 25 21 32 34 3d 30 3a 24 28 71 25 2b 32 38 29 3d |%!24=0:$(q%+28)=| 000087e0 64 69 72 24 0d 3e c6 22 c8 99 22 57 69 6d 70 5f |dir$.>.".."Wimp_| 000087f0 53 65 6e 64 4d 65 73 73 61 67 65 22 2c 31 38 2c |SendMessage",18,| 00008800 71 25 2c 30 2c 30 0d 3e d0 05 cd 0d 3e da 05 cd |q%,0,0.>....>...| 00008810 0d 3e e4 0d e7 ac 28 a6 2d 31 29 20 8c 0d 3e ee |.>....(.-1) ..>.| 00008820 0c 21 71 25 3d 77 69 6e 25 0d 3e f8 1c c8 99 22 |.!q%=win%.>...."| 00008830 57 69 6d 70 5f 43 6c 6f 73 65 57 69 6e 64 6f 77 |Wimp_CloseWindow| 00008840 22 2c 2c 71 25 0d 3f 02 05 cd 0d 3f 0c 05 e1 0d |",,q%.?....?....| 00008850 3f 20 44 dd f2 61 64 76 69 63 65 28 65 72 72 24 |? D..advice(err$| 00008860 2c 66 6c 61 67 25 29 3a e7 66 6c 61 67 25 80 31 |,flag%):.flag%.1| 00008870 36 20 8c 6e 61 6d 65 24 3d 22 41 64 76 69 63 65 |6 .name$="Advice| 00008880 20 66 72 6f 6d 20 22 2b 4d 79 54 61 73 6b 4e 61 | from "+MyTaskNa| 00008890 6d 65 24 0d 3f 2a 26 66 6c 61 67 25 2b 3d 32 35 |me$.?*&flag%+=25| 000088a0 36 3a 21 71 25 3d 32 35 35 3a 24 28 71 25 2b 34 |6:!q%=255:$(q%+4| 000088b0 29 3d 65 72 72 24 2b bd 30 0d 3f 34 3c c8 99 22 |)=err$+.0.?4<.."| 000088c0 57 69 6d 70 5f 52 65 70 6f 72 74 45 72 72 6f 72 |Wimp_ReportError| 000088d0 22 2c 71 25 2c 66 6c 61 67 25 2c 6e 61 6d 65 24 |",q%,flag%,name$| 000088e0 2c 22 21 63 61 73 73 65 74 74 65 22 2c 31 20 b8 |,"!cassette",1 .| 000088f0 20 2c 6f 6b 25 0d 3f 3e 05 e1 0d ff | ,ok%.?>....| 000088fc