Home » Recent acquisitions » Acorn ADFS disks » adfs_AcornUser_199508.adf » !Regulars » Regulars/StarInfo/Allison/!Today/!RunImage
Regulars/StarInfo/Allison/!Today/!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 » Recent acquisitions » Acorn ADFS disks » adfs_AcornUser_199508.adf » !Regulars |
Filename: | Regulars/StarInfo/Allison/!Today/!RunImage |
Read OK: | ✔ |
File size: | 4FFE bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10PROCWimp_Start("Today",701,308) 20PROCUser_SetInitialData 30PROCCreate_Windows 40PROCCreate_Menus 50PROCWimp_WaitForEvent 60PROCWimp_CloseDown 70END 80DEFPROCUser_SetInitialData 90DIMtimeblk 8,timeformat 128,timestring 128 100DIMmdays%(12),m3$(12),m3lc$(12) 110timeblk?0=3:SYS7,14,timeblk 120MaxLines%=20*3 130DIMBday$(MaxLines%/3),Eday$(MaxLines%/3),Rday$(MaxLines%/3),Plist$(MaxLines%+10) 140today$=FNtimetext("%MN%DY"):month$=FNtimetext("%M3"):day$=FNtimetext("%DY") 150Today%=VAL(FNtimetext("%WN")) 160Bday%=0:Eday%=0:Rday%=0 170file$="<Today$Dir>.TodayData."+FNLowerCase(FNtimetext("%M3")) 180ownfile$="<Today$Dir>.TodayData.own" 190RESTORE:FORI%=1TO12:READmdays%(I%),m3$(I%),m3lc$(I%):NEXT 200DATA 31,Jan,jan,29,Feb,feb,31,Mar,mar,30,Apr,apr,31,May,may,30,Jun,jun,31,Jul,jul,31,Aug,aug,30,Sep,sep,31,Oct,oct,30,Nov,nov,31,Dec,dec 210PROCData_Load(ownfile$) 220PROCData_Load(file$) 230PROCPrepare_PrintList(0,"","") 240ENDPROC 250DEFPROCCreate_Windows 260PROCWimp_SpritesLoad 270Main_Window%=FNWimp_WindowLoad("Main") 280Info_Window%=FNWimp_WindowLoad("Info") 290Search_Window%=FNWimp_WindowLoad("Search") 300Bar_Icon%=FNWimp_IconBar("!Today") 310PROCWimp_IconPutText(Search_Window%,0,day$):PROCWimp_IconPutText(Search_Window%,1,month$) 320ENDPROC 330DEFFNEvent_Save(window%)=FALSE 340DEFFNEvent_Sprites(window%)=sprites% 350DEFPROCCreate_Menus 360menu$="!Today\Info>Info_Window%\Help\Quit" 370Bar_Menu%=FNWimp_MenuCreate(menu$) 380menu$="!Today\Info>Info_Window%\Not Today>Search_Window%\Edit\Quit" 390Main_Menu%=FNWimp_MenuCreate(menu$) 400ENDPROC 410DEFFNEvent_Menu(window%) 420CASEwindow%OF 430WHENBar_Window%:=Bar_Menu% 440WHENMain_Window%:=Main_Menu% 450OTHERWISE:=FALSE 460ENDCASE 470DEFPROCEvent_WindowClose(window%,buttons%) 480CASEwindow%OF 490ENDCASE 500ENDPROC 510DEFPROCEvent_Draw(window%,x_origin%,y_origin%) 520CASEwindow%OF 530WHENMain_Window%:PROCUser_DrawMainWindow 540WHENInfo_Window%:PROCUser_DrawInfoWindow 550WHENSearch_Window%:PROCUser_DrawSearchWindow 560ENDCASE 570ENDPROC 580DEFPROCUser_DrawMainWindow 590LOCALi%,x%,y%,h%,l%:Pr%=TRUE 600h%=32 610y%=y_origin%-h% 620FORi%=1TOPlist% 630x%=x_origin%+h% 640MOVEx%,y% 650PRINTPlist$(i%) 660y%-=h% 670NEXT 680Pr%=FALSE 690ENDPROC 700DEFPROCUser_DrawInfoWindow 710ENDPROC 720DEFPROCUser_DrawSearchWindow 730ENDPROC 740DEFPROCEvent_MouseClick(window%,icon%,button%,x%,y%) 750CASEwindow%OF 760WHENBar_Window%:PROCWimp_WindowBringToTop(Main_Window%) 770WHENMain_Window%:PROCUser_MouseMain(button%,icon%) 780WHENInfo_Window%:PROCUser_MouseInfo(button%,icon%) 790WHENSearch_Window%:PROCUser_MouseSearch(button%,icon%) 800ENDCASE 810ENDPROC 820DEFPROCUser_MouseMain(button%,icon%) 830ENDPROC 840DEFPROCUser_MouseInfo(button%,icon%) 850ENDPROC 860DEFPROCUser_MouseSearch(button%,icon%) 870CASEicon%OF 880WHEN2:PROCIncDate 890WHEN3:PROCIncMonth 900WHEN4:PROCDecDate 910WHEN5:PROCDecMonth 920WHEN6:PROCUpdateMain 930ENDCASE 940ENDPROC 950DEFPROCEvent_KeyPress(window%,icon%,key%) 960CASEwindow%OF 970WHENSearch_Window%:IFkey%=13PROCUpdateMain:ENDCASE 980ENDCASE 990ENDPROC 1000DEFPROCEvent_MenuChoice(menu%) 1010CASEmenu%OF 1020WHENBar_Menu%:PROCUser_MenuChoiceBar 1030WHENMain_Menu%:PROCUser_MenuChoiceMain 1040ENDCASE 1050ENDPROC 1060DEFPROCUser_MenuChoiceBar 1070CASEFNWimp_MenuChoice(0)OF 1080WHEN1 1090WHEN2:PROCWimp_SendToEdit("<Today$Dir>.!Help") 1100WHEN3:finished%=TRUE 1110ENDCASE 1120ENDPROC 1130DEFPROCUser_MenuChoiceMain 1140CASEFNWimp_MenuChoice(0)OF 1150WHEN1 1160WHEN2 1170WHEN3:PROCWimp_SendToEdit("<Today$Dir>.TodayData.own") 1180WHEN4:finished%=TRUE 1190ENDCASE 1200ENDPROC 1210DEFPROCEvent_LoadFile(file$,type$) 1220ENDPROC 1230DEFPROCEvent_SaveFile(file$,window%) 1240ENDPROC 1250DEFFNtimetext(f$) 1260$timeformat=f$+CHR$0 1270SYS&C1,timeblk,timestring,64,timeformatTOr0,r1 1280?r1=13 1290=$timestring 1300DEFFNLowerCase(A$) 1310LOCALI%:B$="" 1320FORI%=1TOLEN(A$) 1330B$=B$+CHR$(ASC(MID$(A$,I%,1))OR&20) 1340NEXT 1350=B$ 1360DEFPROCData_Load(file$) 1370SYS"Hourglass_On" 1380LOCALF%,Line$,Failed% 1390F%=OPENIN(file$) 1400REPEAT 1410Line$=GET$#F% 1420IFLEFT$(Line$,1)="*"THENLine$=GET$#F% 1430PROCWeekday 1440IF(MID$(Line$,2,4)=today$OR((MID$(Line$,2,2)="00"ANDMID$(Line$,4,2)=MID$(today$,3,2))OR(MID$(Line$,4,2)="00"ANDMID$(Line$,2,2)=MID$(today$,1,2))))X%=TRUEELSEX%=FALSE 1450IF(LEFT$(Line$,1)="B"AND X%)THENBday$(Bday%+1)=Line$:Bday%+=1 1460IF(LEFT$(Line$,1)="S"AND X%)THENEday$(Eday%+1)=Line$:Eday%+=1 1470IF(LEFT$(Line$,1)="R"AND X%)THENRday$(Rday%+1)=Line$:Rday%+=1 1480UNTIL(EOF#F%OR(Bday%+Eday%+Rday%)=MaxLines%) 1490CLOSE#F% 1500SYS"Hourglass_Off" 1510IF(Bday%+Eday%)=MaxLines%THENMess$="Data Overflow...":PROCWimp_WindowAlert("WHOOPS!...",Mess$) 1520ENDPROC 1530DEFPROCWeekday 1540LOCALQ% 1550Q%=INSTR("1234567C ",MID$(Line$,10,1)) 1560IFQ%>7ENDPROC 1570IFEOF#F%THEN 1580IFQ%<>Today%THENLine$="":ENDPROCELSEENDPROC 1590ENDIF 1600IFQ%<>Today%Line$=GET$#F%:PROCWeekdayELSEENDPROC 1610ENDPROC 1620DEFPROCPrepare_PrintList(Q%,A$,B$) 1630Plist%=1 1640IFQ%=0THENPlist$(Plist%)=FNtimetext("Today is %WE %zDY%ST %MO %CE%YR"):Plist%+=1 1650IFQ%=1THENPlist$(Plist%)="Data for "+A$+" "+B$:Plist%+=1 1660PROCAddToList("Reminders ",Rday%,Rday$()) 1670PROCAddToList("Birthdays ",Bday%,Bday$()) 1680PROCAddToList("Anniversaries ",Eday%,Eday$()) 1690ENDPROC 1700DEFPROCAddToList(Z$,Z%,Y$()) 1710IFZ%=0THENENDPROC 1720Plist$(Plist%)="":Plist%+=1 1730Plist$(Plist%)=Z$:Plist%+=1 1740Plist$(Plist%)="":Plist%+=1 1750FORI%=1TOZ% 1760A$=MID$(Y$(I%),6) 1770IFMID$(A$,5,1)<>" "THENA$=STRING$(5," ")+MID$(A$,6) 1780Plist$(Plist%)=A$:Plist%+=1 1790NEXT 1800ENDPROC 1810DEFPROCIncDate 1820LOCALA$,B$,I% 1830A$=FNWimp_IconText(Search_Window%,0) 1840B$=FNWimp_IconText(Search_Window%,1) 1850B$=FNLowerCase(B$) 1860I%=0:REPEAT:I%+=1:UNTILB$=m3lc$(I%) 1870A$=STR$(VAL(A$)+1) 1880IFVAL(A$)>=mdays%(I%)THENA$=STR$(mdays%(I%)) 1890PROCWimp_IconPutText(Search_Window%,0,A$) 1900ENDPROC 1910DEFPROCIncMonth 1920LOCALA$,I% 1930A$=FNWimp_IconText(Search_Window%,1) 1940A$=FNLowerCase(A$) 1950I%=0:REPEAT:I%+=1:UNTILA$=m3lc$(I%) 1960IFI%=12 I%=0 1970PROCWimp_IconPutText(Search_Window%,1,m3$(I%+1)) 1980ENDPROC 1990DEFPROCDecDate 2000LOCALA$,I% 2010A$=FNWimp_IconText(Search_Window%,0) 2020A$=STR$(VAL(A$)-1) 2030IFA$="0"A$="1" 2040PROCWimp_IconPutText(Search_Window%,0,A$) 2050ENDPROC 2060DEFPROCDecMonth 2070LOCALA$,I% 2080A$=FNWimp_IconText(Search_Window%,1) 2090A$=FNLowerCase(A$) 2100I%=0:REPEAT:I%+=1:UNTILA$=m3lc$(I%) 2110IFI%=1 I%=13 2120PROCWimp_IconPutText(Search_Window%,1,m3$(I%-1)) 2130ENDPROC 2140DEFPROCUpdateMain 2150LOCALA$,B$,C$,J%,I%,K%,Mess$ 2160A$=FNWimp_IconText(Search_Window%,0) 2170B$=FNWimp_IconText(Search_Window%,1) 2180Today%=9:J%=0:B$=FNLowerCase(B$) 2190IFLEN(A$)=1 A$="0"+A$ 2200FORI%=1TO12 2210IFm3lc$(I%)=B$THENJ%=1 2220NEXT 2230IFJ%=0THENMess$="Month spelt incorrectly":PROCWimp_WindowAlert("Whoops!",Mess$):ENDPROC 2240K%=0:REPEAT:K%+=1:UNTILB$=m3lc$(K%) 2250C$=STR$(K%):IFLEN(C$)=1 C$="0"+C$ 2260IFVAL(A$)>mdays%(K%)THENMess$="Too many days in this month":PROCWimp_WindowAlert("Whoops!",Mess$):ENDPROC 2270FORI%=0TOMaxLines%/3:Bday$(I%)="":Eday$(I%)="":Rday$(I%)="":NEXT 2280FORI%=0TOMaxLines%+10:Plist$="":NEXT 2290file$="<Today$Dir>.TodayData."+B$ 2300Bday%=0:Eday%=0:Rday%=0:today$=C$+A$ 2310FORI%=1TOPlist%:Plist$(I%)="":NEXT 2320PROCData_Load(ownfile$) 2330PROCData_Load(file$) 2340PROCPrepare_PrintList(1,A$,m3$(K%)) 2350PROCWimp_WindowForceDraw(Main_Window%) 2360PROCWimp_WindowClose(Search_Window%) 2370PROCWimp_MenuClose 2380ENDPROC 2390DEFPROCWimp_WindowAlert(title$,message$) 2400PROCWimp_WindowAlertBox(title$,message$,0) 2410ENDPROC 2420DEFPROCWimp_WindowAlertBox(title$,message$,button%) 2430LOCALresponse% 2440$(wimp%+4)=message$ 2450CASEbutton%OF 2460WHEN2:response%=1 2470WHEN1:response%=15 2480WHEN3:response%=(1<<5)+16 2490WHEN4:response%=(1<<6)+16 2500OTHERWISE:response%=16 2510ENDCASE 2520SYS"Wimp_ReportError",wimp%,response%,title$TO,response% 2530ENDPROC 2540DEFFNWimp_WindowCancel(title$,message$) 2550$(wimp%+4)=message$ 2560response%=23 2570SYS"Wimp_ReportError",wimp%,response%,title$TO,response% 2580=response%-2 2590DEFPROCWimp_WindowErrorBox(title$,message$) 2600PROCWimp_WindowAlertBox(title$,message$,2) 2610ENDPROC 2620DEFFNWimp_WindowTitle(window%) 2630wimp%!0=window% 2640SYS"Wimp_GetWindInfo",,wimp% 2650IF((wimp%!60)AND&100)=0ERROR1,"Title isn't indirected" 2660=$(wimp%!76) 2670DEFFNWimp_WindowLoad(window$) 2680=FNWimp_WindowLoadFrom(window$,"<Obey$Dir>.Templates") 2690DEFFNWimp_WindowLoadFrom(window$,template$) 2700LOCALc%,i%,n%,j%,sp$,sp2$ 2710SYS"Wimp_OpenTemplate",,template$ 2720SYS"Wimp_LoadTemplate",,wimp%,icons%,icon_memory%,-1,window$,0TO,,icons% 2730CASEsprites%OF 2740WHEN1:wimp%!64=sprites% 2750OTHERWISE:wimp%!64=FNEvent_Sprites(window%) 2760ENDCASE 2770SYS"Wimp_CreateWindow",,wimp%TOc% 2780SYS"Wimp_CloseTemplate" 2790SYS"Wimp_WhichIcon",c%,wimp%+40,1+2+(1<<8),2+(1<<8) 2800CASEwimp%!40OF 2810WHEN-1 2820OTHERWISE:i%=40 2830REPEAT 2840wimp%!4=wimp%!i%:wimp%!0=c% 2850SYS"Wimp_GetIconState",,wimp% 2860sp$=FNWimp_GetStringAtAddress(wimp%!28) 2870SYS"Wimp_DeleteIcon",,wimp% 2880CASEsprites%OF 2890WHEN1:wimp%!32=1 2900OTHERWISE 2910SYS"OS_SpriteOp",&108,sprites%TO,,,n% 2920j%=0 2930REPEAT:j%+=1 2940SYS"OS_SpriteOp",&10D,sprites%,pointer_block%,20,j% 2950sp2$=FNWimp_GetStringAtAddress(pointer_block%) 2960UNTILj%=n%ORsp$=sp2$ 2970IFsp$=sp2$THENwimp%!32=sprites%ELSEwimp%!32=1 2980ENDCASE 2990wimp%!4=c% 3000SYS"Wimp_CreateIcon",,wimp%+4TOhandle% 3010i%+=4 3020UNTIL(wimp%!i%)=-1 3030ENDCASE 3040=c% 3050DEFPROCWimp_WindowBringToTop(window%) 3060!wimp%=window% 3070SYS"Wimp_GetWindowState",,wimp% 3080wimp%!28=-1 3090SYS"Wimp_OpenWindow",,wimp% 3100ENDPROC 3110DEFPROCWimp_WindowClose(window%) 3120!wimp%=window% 3130SYS"Wimp_CloseWindow",,wimp% 3140ENDPROC 3150DEFPROCWimp_WindowForceDraw(window%) 3160CASEwindow%OF 3170WHEN-1:SYS"Wimp_ForceRedraw",-1,0,0,2*1280,2*1024 3180OTHERWISE:SYS"Wimp_ForceRedraw",window%,0,-2*1024,2*1280,0 3190ENDCASE 3200ENDPROC 3210DEFPROCWimp_WindowOpen(window%) 3220!wimp%=window% 3230SYS"Wimp_GetWindowState",,wimp% 3240SYS"Wimp_OpenWindow",,wimp% 3250ENDPROC 3260PROCWimp_WindowInterface 3270SYS"Wimp_BorderWindow",,wimp% 3280ENDPROC 3290DEFFNWimp_IconBar(Sprite$) 3300LOCALicon% 3310wimp%!0=-1 3320wimp%!4=0:wimp%!8=0 3330wimp%!12=68:wimp%!16=68 3340wimp%!20=&3002 3350$(wimp%+24)=Sprite$ 3360SYS"Wimp_CreateIcon",,wimp%TOicon% 3370=icon% 3380DEFPROCWimp_IconCaret(window%,icon%,chars%) 3390SYS"Wimp_SetCaretPosition",window%,icon%,,,-1,chars% 3400ENDPROC 3410DEFFNWimp_IconText(window%,icon%) 3420wimp%!0=window%:wimp%!4=icon% 3430SYS"Wimp_GetIconState",,wimp% 3440IF((wimp%!24)AND&100)=0ERROR1,"Icon isn't indirected" 3450=$(wimp%!28) 3460DEFFNWimp_IconValidation(window%,icon%) 3470wimp%!0=window%:wimp%!4=icon% 3480SYS"Wimp_GetIconState",,wimp% 3490IF((wimp%!24)AND&100)=0ERROR1,"Icon isn't indirected" 3500=$(wimp%!32) 3510DEFPROCWimp_IconDisable(window%,icon%) 3520wimp%!0=window%:wimp%!4=icon% 3530wimp%!8=1<<22:wimp%!12=1<<22 3540SYS"Wimp_SetIconState",,wimp% 3550ENDPROC 3560DEFPROCWimp_IconEnable(window%,icon%) 3570wimp%!0=window%:wimp%!4=icon% 3580wimp%!8=0:wimp%!12=1<<22 3590SYS"Wimp_SetIconState",,wimp% 3600ENDPROC 3610DEFFNWimp_IconPutSprite(window%,icon%,sprite$) 3620wimp%!0=window%:wimp%!4=icon% 3630SYS"Wimp_GetIconState",,wimp% 3640SYS"Wimp_DeleteIcon",,wimp% 3650wimp%!4=wimp%!8:wimp%!8=wimp%!12:wimp%!12=wimp%!16 3660wimp%!16=wimp%!20:wimp%!20=wimp%!24:$(wimp%+24)=sprite$ 3670SYS"Wimp_CreateIcon",,wimp%TOicon% 3680=icon% 3690DEFPROCWimp_IconPutText(window%,icon%,text$) 3700wimp%!0=window%:wimp%!4=icon% 3710SYS"Wimp_GetIconState",,wimp% 3720IF((wimp%!24)AND&100)=0ERROR1,"Icon isn't indirected" 3730$(wimp%!28)=text$ 3740wimp%!0=window%:wimp%!4=icon% 3750wimp%!8=0:wimp%!12=0 3760SYS"Wimp_SetIconState",,wimp% 3770ENDPROC 3780DEFPROCWimp_IconInterfaceStart 3790SYS"Wimp_BorderIcon",,wimp% 3800ENDPROC 3810DEFPROCWimp_IconInterfaceFinish 3820wimp%!8=0 3830SYS"Wimp_BorderIcon",,wimp% 3840ENDPROC 3850DEFPROCWimp_MenuAdjustOn(menu%) 3860SYS"Wimp_GetPointerInfo",,pointer_block% 3870IF((pointer_block%!8)AND1)=1THENSYS"Wimp_CreateMenu",,menu%,pointer_block%!0,pointer_block%!4 3880ENDPROC 3890DEFFNWimp_MenuChoice(level%) 3900=(wimp%!(4*level%))+1 3910DEFFNWimp_MenuCreate(menu$) 3920IFmenu$="Colours"THEN=FNWimp_MenuColours 3930LOCALmenu%,index%,width%,length%,k%,s% 3940DIMmenu%28+FNWimp_MenuNoOfEntries(menu$)*24 3950menu%?12=7:menu%?13=2:menu%?14=7:menu%?15=0 3960menu%!16=140:menu%!20=44:menu%!24=0 3970index%=menu%+28 3980$menu%=LEFT$(menu$,INSTR(menu$,"\")-1) 3990width%=LEN(LEFT$(menu$,INSTR(menu$,"\")-1)) 4000menu$+="\":Menu_NoOfEntries%=0 4010WHILEmenu$<>"" 4020menu$=MID$(menu$,INSTR(menu$,"\")+1) 4030CASEmenu$OF 4040WHEN"" 4050OTHERWISE 4060!index%=0:index%!4=-1:index%!8=&7000021 4070length%=INSTR(menu$,"\")-1 4080k%=INSTR(LEFT$(menu$,length%),">") 4090CASEk%OF 4100WHEN0 4110OTHERWISE 4120s%=EVAL(MID$(menu$,k%+1,length%-k%)) 4130index%!4=s% 4140length%=k%-1 4150ENDCASE 4160$(index%+12)=LEFT$(menu$,length%) 4170IFlength%>width%THENwidth%=length% 4180index%+=24 4190ENDCASE 4200ENDWHILE 4210menu%!16=16*(width%+1) 4220index%!-24=index%!-24OR&80:=menu% 4230DEFFNWimp_MenuColours 4240=FNWimp_MenuCreateColours(" ") 4250DEFFNWimp_MenuCreateColours(title$) 4260LOCALx$,men%,j%,i% 4270x$=title$+"\0\1\2\3\4\5\6\7\8\9\10\11\12\13\14\15" 4280men%=FNWimp_MenuCreate(x$) 4290FORi%=0TO15 4300CASETRUEOF 4310WHENi%<4,i%=9,i%=12,i%=14,i%=15:j%=7 4320OTHERWISE:j%=0 4330ENDCASE 4340men%?(39+i%*24)=i%*16+j% 4350PROCWimp_MenuCentre(men%,i%+1) 4360NEXT 4370=men% 4380DEFFNWimp_MenuNoOfEntries(menu$) 4390LOCALn%,j%:n%=0:j%=0 4400REPEAT 4410j%=INSTR(menu$,"\",j%+1) 4420IFj%<>0THENn%+=1 4430UNTILj%=0 4440=n% 4450DEFPROCWimp_MenuBackGroundColour(menu%,item%,colour%) 4460LOCALfore%,i% 4470fore%=(menu%?(39+(item%-1)*24))MOD16 4480i%=((menu%?(39+(item%-1)*24))DIV16)MOD16 4490menu%?(39+(item%-1)*24)=fore%+16*colour%+i% 4500ENDPROC 4510DEFPROCWimp_MenuCentre(menu%,item%) 4520menu%!(36+(item%-1)*24)=menu%!(36+(item%-1)*24)OR(1<<3) 4530ENDPROC 4540DEFPROCWimp_MenuClose 4550SYS"Wimp_CreateMenu",-1 4560ENDPROC 4570DEFPROCWimp_MenuDisable(menu%,item%) 4580menu%!(36+(item%-1)*24)=menu%!(36+(item%-1)*24)OR(1<<22) 4590ENDPROC 4600DEFPROCWimp_MenuDottedLine(menu%,item%) 4610menu%!(28+(item%-1)*24)=(menu%!(28+(item%-1)*24))OR2 4620ENDPROC 4630DEFPROCWimp_MenuEnable(menu%,item%) 4640PROCWimp_MenuDisable(menu%,item%) 4650menu%!(36+(item%-1)*24)=menu%!(36+(item%-1)*24)EOR(1<<22) 4660ENDPROC 4670DEFPROCWimp_MenuForegroundColour(menu%,item%,colour%) 4680menu%?(39+(item%-1)*24)=colour%+16*((menu%?(39+(item%-1)*24))DIV16) 4690ENDPROC 4700DEFPROCWimp_MenuGlue(menu1%,item%,menu2%) 4710menu1%!(8+item%*24)=menu2% 4720ENDPROC 4730DEFPROCWimp_MenuItem(menu%,item%,item$) 4740$(menu%+(40+(item%-1)*24))=LEFT$(item$,12)+CHR$0 4750ENDPROC 4760DEFPROCWimp_MenuMessage(menu%,item%) 4770menu%!(28+(item%-1)*24)=(menu%!(28+(item%-1)*24))EOR(1<<3) 4780ENDPROC 4790DEFPROCWimp_MenuPopUp(Menu%,x%,y%) 4800menu%=Menu% 4810SYS"Wimp_CreateMenu",,menu%,x%-64,y%+20 4820ENDPROC 4830DEFPROCWimp_MenuPopUpBar(x%,y%) 4840LOCALn%:n%=0 4850WHILE((Bar_Menu%!(28+n%*24))AND%10000000)=0 4860n%+=1 4870ENDWHILE 4880SYS"Wimp_CreateMenu",,Bar_Menu%,x%-64,96+n%*44 4890menu%=Bar_Menu% 4900ENDPROC 4910DEFPROCWimp_MenuTick(menu%,item%) 4920menu%!(28+(item%-1)*24)=(menu%!(28+(item%-1)*24))EOR1 4930ENDPROC 4940DEFPROCWimp_MenuTitle(menu%,title$) 4950$menu%=LEFT$(title$,12)+CHR$0 4960ENDPROC 4970DEFPROCWimp_MenuWrite(menu%,item%,buffer%,val%,BufferLength%) 4980menu%!(28+(item%-1)*24)=(menu%!(28+(item%-1)*24))OR4 4990menu%!(36+(item%-1)*24)=menu%!(36+(item%-1)*24)OR&100 5000menu%!(40+(item%-1)*24)=buffer% 5010menu%!(44+(item%-1)*24)=val% 5020menu%!(48+(item%-1)*24)=BufferLength% 5030ENDPROC 5040DEFPROCWimp_SpritesLoad 5050PROCWimp_SpritesPathLoad("<Obey$Dir>.Sprites") 5060direct_sprites%=sprites% 5070ENDPROC 5080DEFPROCWimp_SpritesPathLoad(pathname$) 5090LOCALS%,T% 5100S%=OPENIN"<Obey$Dir>.Sprites":T%=EXT#S%+16:CLOSE#S% 5110DIMsprites%T%,spname%12 5120!sprites%=T%:sprites%!8=0 5130SYS"OS_SpriteOp",&109,sprites% 5140SYS"OS_SpriteOp",&10A,sprites%,pathname$ 5150ENDPROC 5160DEFFNWimp_FileType(type%) 5170CASEtype%OF 5180WHEN&FFF:="Text" 5190WHEN&FFD:="Data" 5200WHEN&FFB:="Basic" 5210WHEN&FF9:="Sprite" 5220WHEN&FED:="Palette" 5230WHEN&FEC:="Template" 5240WHEN&AFF:="Draw" 5250WHEN&1000:="Folder" 5260WHEN&2000:="Application" 5270OTHERWISE=STR$~(type%) 5280ENDCASE 5290DEFFNWimp_GetFilePathName 5300=FNWimp_GetStringAtAddress(wimp%+44) 5310DEFFNWimp_FileLoad(pathname$) 5320LOCALS%,T%,file% 5330S%=OPENINpathname$ 5340T%=EXT#S%+16 5350CLOSE#S% 5360DIMfile%T% 5370OSCLI("LOAD"+pathname$+""+STR$~file%) 5380=file% 5390DEFFNWimp_GetStringAtAddress(array%) 5400LOCALs$:s$="" 5410WHILE(?array%<>13)AND(?array%<>0):s$+=CHR$(?array%):array%+=1:ENDWHILE 5420=s$ 5430DEFFNWimp_GetFileFromPathname(f$) 5440CASEINSTR(f$,".")OF 5450WHEN0:=f$ 5460OTHERWISE:=FNWimp_GetFileFromPathname(RIGHT$(f$,LEN(f$)-INSTR(f$,"."))) 5470ENDCASE 5480DEFPROCWimp_SendToEdit(file$) 5490LOCALn% 5500wimp%!4=&6CC01C0C 5510wimp%!16=5 5520wimp%!36=0 5530wimp%!40=&FFF 5540$(wimp%+44)=file$+CHR$0 5550n%=LENfile$+45 5560IFn%MOD4THEN!wimp%=4+(n%>>2)<<2ELSE!wimp%=n% 5570SYS"Wimp_SendMessage",17,wimp%,0 5580ENDPROC 5590DEFPROCWimp_Start(TaskName$,wimp_memory%,icon%) 5600DIMwimp%wimp_memory%,icons%icon% 5610IFwimp_memory%<256THENwimp_memory%=256 5620icon_memory%=icons%+icon% 5630task$=TaskName$ 5640indirect_sprites%=1:direct_sprites%=1 5650PROCWimp_SetEventVariables 5660ONERRORPROCWimp_Error:END 5670SYS"Wimp_Initialise",200,&4B534154,TaskName$TOversion%,task% 5680ENDPROC 5690DEFFNWimp_BASICParameters 5700LOCALcom$,param$,I% 5710SYS"OS_GetEnv"TOcom$ 5720params$="" 5730I%=INSTR(com$," -quit ") 5740IFI%THENparams$=MID$(com$,INSTR(com$," ",I%+LEN" -quit ")+1) 5750=params$ 5760DEFPROCWimp_SetEventVariables 5770DIMpointer_block%20 5780interface%=FALSE 5790null%=1:draw%=2:pointer_leaving%=1<<4 5800pointer_entering%=1<<5:mouse%=1<<6:drag%=1<<7 5810key%=1<<8:menu%=1<<9:scroll%=1<<10 5820lose_caret%=1<<11:gain_caret%=1<<12:message%=(1<<17)+(1<<18) 5830recorder%=1<<18:acknowledge%=1<<19:window%=0 5840sprites%=1:version%=0:task%=0 5850Bar_Window%=-2:Bar_Icon%=0:Bar_Menu%=0 5860x_origin%=0:y_origin%=0:SaveWindow%=-3 5870message_quit%=0:message_save%=2:message_load%=3 5880mouse_button%=2:save_event%=0 5890top_line%=0:bottom_line%=0 5900ENDPROC 5910DEFPROCWimp_Error 5920LOCALX$,x% 5930ONERROROFF 5940x%=ERL 5950X$=REPORT$+"atline"+STR$(x%DIV10) 5960DIMErrorMsg%36 5970ErrorMsg%!0=36:ErrorMsg%!12=0:ErrorMsg%!16=&81080:ErrorMsg%!20=x% 5980$(ErrorMsg%+24)="!RunImage" 5990SYS"Wimp_SendMessage",17,ErrorMsg% 6000PROCWimp_WindowAlert(task$,X$) 6010PROCWimp_CloseDown 6020ENDPROC 6030DEFPROCWimp_CloseDown 6040SYS"Wimp_CloseDown",task%,"TASK" 6050ENDPROC 6060DEFPROCWimp_Quit 6070finished%=TRUE 6080ENDPROC 6090DEFFNWimp_ReadVariable(Variable$) 6100LOCALlen%,result%,variable% 6110$wimp%=Variable$ 6120SYS"OS_ReadVarVal",wimp%,wimp%+255,255,,3TO,,len% 6130wimp%?(len%+255)=13 6140=$(wimp%+255) 6150DEFPROCWimp_WaitForEvent 6160LOCALmask%,event% 6170finished%=FALSE 6180mask%=%111000011001 6190REPEAT 6200SYS"Wimp_Poll",mask%,wimp%TOevent% 6210CASEevent%OF 6220WHEN0 6230WHEN1:PROCWimp_PollDrawWindow 6240WHEN2:SYS"Wimp_OpenWindow",,wimp% 6250WHEN3:PROCWimp_PollCloseWindow 6260WHEN4 6270WHEN5 6280WHEN6:PROCWimp_PollMouseClick 6290WHEN7:PROCWimp_PollSaveMessage 6300WHEN8:PROCWimp_PollKeyPress 6310WHEN9:PROCEvent_MenuChoice(menu%) 6320WHEN10 6330WHEN11 6340WHEN12 6350WHEN17,18:PROCWimp_PollMessages 6360WHEN19 6370ENDCASE 6380UNTILfinished% 6390ENDPROC 6400DEFPROCWimp_PollDrawWindow 6410LOCALmore% 6420SYS"Wimp_RedrawWindow",,wimp%TOmore% 6430window%=wimp%!0 6440x_origin%=16+wimp%!4-wimp%!20:y_origin%=-16+wimp%!16-wimp%!24 6450WHILEmore% 6460IFinterface%THENSYS"Wimp_BorderWindow",,wimp% 6470PROCEvent_Draw(window%,x_origin%,y_origin%) 6480SYS"Wimp_GetRectangle",,wimp%TOmore% 6490ENDWHILE 6500ENDPROC 6510DEFPROCWimp_PollCloseWindow 6520SYS"Wimp_GetPointerInfo",,wimp% 6530window%=wimp%!12:buttons%=wimp%!8 6540PROCEvent_WindowClose(window%,buttons%) 6550!wimp%=window%:SYS"Wimp_CloseWindow",,wimp% 6560ENDPROC 6570DEFPROCWimp_PollMouseClick 6580button%=wimp%!8:window%=wimp%!12:icon%=wimp%!16:x%=wimp%!0:y%=wimp%!4 6590CASEbutton%OF 6600WHEN2:PROCWimp_PollMenuPopUp 6610OTHERWISE:CASEFNEvent_Save(window%)OF 6620WHENTRUE:PROCWimp_PollMouseSave 6630WHENFALSE:PROCWimp_PollEventMouseClick 6640ENDCASE 6650ENDCASE 6660ENDPROC 6670DEFPROCWimp_PollMenuPopUp 6680menu%=FNEvent_Menu(window%) 6690CASEmenu%OF 6700WHENFALSE 6710OTHERWISE 6720CASEwindow%OF 6730WHEN-2:n%=0 6740WHILE((Bar_Menu%!(28+n%*24))AND%10000000)=0 6750n%+=1 6760ENDWHILE 6770SYS"Wimp_CreateMenu",,Bar_Menu%,x%-64,96+n%*44 6780OTHERWISE:SYS"Wimp_CreateMenu",,menu%,x%-64,y%+20 6790ENDCASE 6800ENDCASE 6810ENDPROC 6820DEFPROCWimp_PollMouseSave 6830CASEicon%OF 6840WHEN0:IFbutton%AND&50THENPROCWimp_PollDragBox(window%) 6850WHEN2:IFbutton%AND 5THENPROCWimp_PollSaveFile(window%) 6860ENDCASE 6870ENDPROC 6880DEFPROCWimp_PollEventMouseClick 6890IFinterface%THENSYS"Wimp_BorderIcon",,wimp% 6900PROCEvent_MouseClick(window%,icon%,button%,x%,y%) 6910CASEinterface%OF 6920WHENTRUE 6930wimp%!0=x%:wimp%!4=y%:wimp%!8=0 6940wimp%!12=window%:wimp%!16=icon% 6950SYS"Wimp_BorderIcon",,wimp% 6960ENDCASE 6970ENDPROC 6980DEFPROCWimp_PollSaveFile(window%) 6990LOCALfile$ 7000wimp%!0=window%:wimp%!4=1:SYS"Wimp_GetIconState",,wimp% 7010file$=$(wimp%!28) 7020CASEINSTR(file$,".")OF 7030WHEN0 7040$(wimp%+4)="To save, drag the icon to a directory window" 7050SYS"Wimp_ReportError",wimp%,16,task$ 7060OTHERWISE 7070PROCEvent_SaveFile(file$,window%) 7080ENDCASE 7090SYS"Wimp_CreateMenu",-1 7100ENDPROC 7110DEFPROCWimp_PollDragBox(window%) 7120LOCALx%,y% 7130save%=window% 7140!wimp%=window% 7150SYS"Wimp_GetWindowState",,wimp% 7160x%=wimp%!4-wimp%!20:y%=wimp%!16-wimp%!24 7170wimp%!4=0 7180SYS"Wimp_GetIconState",,wimp% 7190!wimp%=window% 7200wimp%!4=5 7210wimp%!8=x%+wimp%!8:wimp%!12=y%+wimp%!12 7220wimp%!16=x%+wimp%!16:wimp%!20=y%+wimp%!20 7230wimp%!24=0:wimp%!28=0 7240wimp%!32=&7FFFFFFF:wimp%!36=&7FFFFFFF 7250SYS"Wimp_DragBox",,wimp% 7260ENDPROC 7270DEFPROCWimp_PollKeyPress 7280window%=wimp%!0:icon%=wimp%!4:key%=wimp%!24 7290CASEFNEvent_Save(window%)OF 7300WHENTRUE:PROCWimpPoll_SaveFile(window%) 7310WHENFALSE:PROCEvent_KeyPress(window%,icon%,key%) 7320ENDCASE 7330ENDPROC 7340DEFPROCWimp_PollSaveMessage 7350LOCALfile$,window%,icon%,x%,y% 7360SYS"Wimp_GetPointerInfo",,wimp% 7370window%=wimp%!12:icon%=wimp%!16:x%=wimp%!0:y%=wimp%!4 7380wimp%!0=save%:wimp%!4=1:SYS"Wimp_GetIconState",,wimp% 7390file$=$(wimp%!28) 7400file$=FNWimp_GetFileFromPathname(file$) 7410wimp%!20=window% 7420wimp%!24=icon% 7430wimp%!28=x%:wimp%!32=y% 7440wimp%!36=length% 7450wimp%!0=64 7460wimp%!12=0 7470wimp%!16=1 7480wimp%!40=&FFF 7490$(wimp%+44)=file$ 7500SYS"Wimp_SendMessage",17,wimp%,wimp%!20,wimp%!24 7510ENDPROC 7520DEFPROCWimp_PollMessages 7530LOCALfile$ 7540file$=FNWimp_GetStringAtAddress(wimp%+44) 7550CASEwimp%!16OF 7560WHEN0:finished%=TRUE 7570WHEN1 7580WHEN2 7590wimp%!0=save%:wimp%!4=1:SYS"Wimp_GetIconState",,wimp% 7600$(wimp%!28)=file$ 7610wimp%!0=save%:wimp%!4=1:wimp%!8=0:wimp%!12=0 7620SYS"Wimp_SetIconState",,wimp% 7630SYS"Wimp_SetCaretPosition",save%,1,,,-1,LENfile$ 7640PROCEvent_SaveFile(file$,save%) 7650WHEN3 7660type$=FNWimp_FileType(wimp%!40):PROCEvent_LoadFile(file$,type$) 7670ENDCASE 7680ENDPROC 7690DEFFNWimp_GetStringAtAddress(array%) 7700LOCALs$:s$="" 7710WHILE(?array%<>13)AND(?array%<>0):s$+=CHR$(?array%):array%+=1:ENDWHILE 7720=s$ 7730DEFFNWimp_GetFileFromPathname(f$) 7740CASEINSTR(f$,".")OF 7750WHEN0:=f$ 7760OTHERWISE:=FNWimp_GetFileFromPathname(RIGHT$(f$,LEN(f$)-INSTR(f$,"."))) 7770ENDCASE 7780DEFFNWimp_FileType(type%) 7790CASEtype%OF 7800WHEN&FFF:="Text" 7810WHEN&FFD:="Data" 7820WHEN&FFB:="Basic" 7830WHEN&FF9:="Sprite" 7840WHEN&FED:="Palette" 7850WHEN&FEC:="Template" 7860WHEN&AFF:="Draw" 7870WHEN&1000:="Folder" 7880WHEN&2000:="Application" 7890OTHERWISE=STR$~(type%) 7900ENDCASE 7910DEFPROCshell_WindowResize(whandle%,bx%,by%,tx%,ty%,open%) 7920!_Q%=bx%:_Q%!4=by%:_Q%!8=tx%:_Q%!12=ty% 7930SYS"Wimp_SetExtent",whandle%,_Q% 7940IFopen%THEN 7950_Q%!0=whandle% 7960SYS"Wimp_GetWindowInfo",,_Q% 7970SYS"Wimp_OpenWindow",,_Q% 7980ENDIF 7990ENDPROC
�Wimp_Start("Today",701,308) �User_SetInitialData �Create_Windows (�Create_Menus 2�Wimp_WaitForEvent <�Wimp_CloseDown F� P��User_SetInitialData Z,�timeblk 8,timeformat 128,timestring 128 d!�mdays%(12),m3$(12),m3lc$(12) ntimeblk?0=3:ș7,14,timeblk xMaxLines%=20*3 �R�Bday$(MaxLines%/3),Eday$(MaxLines%/3),Rday$(MaxLines%/3),Plist$(MaxLines%+10) �Ltoday$=�timetext("%MN%DY"):month$=�timetext("%M3"):day$=�timetext("%DY") �Today%=�(�timetext("%WN")) �Bday%=0:Eday%=0:Rday%=0 �?file$="<Today$Dir>.TodayData."+�LowerCase(�timetext("%M3")) �(ownfile$="<Today$Dir>.TodayData.own" �.�:�I%=1�12:�mdays%(I%),m3$(I%),m3lc$(I%):� ȉ� 31,Jan,jan,29,Feb,feb,31,Mar,mar,30,Apr,apr,31,May,may,30,Jun,jun,31,Jul,jul,31,Aug,aug,30,Sep,sep,31,Oct,oct,30,Nov,nov,31,Dec,dec ��Data_Load(ownfile$) ��Data_Load(file$) ��Prepare_PrintList(0,"","") �� ���Create_Windows �Wimp_SpritesLoad )Main_Window%=�Wimp_WindowLoad("Main") )Info_Window%=�Wimp_WindowLoad("Info") "-Search_Window%=�Wimp_WindowLoad("Search") ,%Bar_Icon%=�Wimp_IconBar("!Today") 6W�Wimp_IconPutText(Search_Window%,0,day$):�Wimp_IconPutText(Search_Window%,1,month$) @� JݤEvent_Save(window%)=� T%ݤEvent_Sprites(window%)=sprites% ^��Create_Menus h.menu$="!Today\Info>Info_Window%\Help\Quit" r%Bar_Menu%=�Wimp_MenuCreate(menu$) |Gmenu$="!Today\Info>Info_Window%\Not Today>Search_Window%\Edit\Quit" �&Main_Menu%=�Wimp_MenuCreate(menu$) �� �ݤEvent_Menu(window%) �Ȏwindow%� ��Bar_Window%:=Bar_Menu% ��Main_Window%:=Main_Menu% �:=� �� �)��Event_WindowClose(window%,buttons%) �Ȏwindow%� �� �� �-��Event_Draw(window%,x_origin%,y_origin%) Ȏwindow%� &�Main_Window%:�User_DrawMainWindow &�Info_Window%:�User_DrawInfoWindow &*�Search_Window%:�User_DrawSearchWindow 0� :� D��User_DrawMainWindow N�i%,x%,y%,h%,l%:Pr%=� X h%=32 by%=y_origin%-h% l�i%=1�Plist% vx%=x_origin%+h% � �x%,y% ��Plist$(i%) � y%-=h% �� � Pr%=� �� ���User_DrawInfoWindow �� ���User_DrawSearchWindow �� �3��Event_MouseClick(window%,icon%,button%,x%,y%) �Ȏwindow%� �5�Bar_Window%:�Wimp_WindowBringToTop(Main_Window%) 0�Main_Window%:�User_MouseMain(button%,icon%) 0�Info_Window%:�User_MouseInfo(button%,icon%) 4�Search_Window%:�User_MouseSearch(button%,icon%) � *� 4#��User_MouseMain(button%,icon%) >� H#��User_MouseInfo(button%,icon%) R� \%��User_MouseSearch(button%,icon%) fȎicon%� p�2:�IncDate z�3:�IncMonth ��4:�DecDate ��5:�DecMonth ��6:�UpdateMain �� �� �(��Event_KeyPress(window%,icon%,key%) �Ȏwindow%� �)�Search_Window%:�key%=13�UpdateMain:� �� �� ���Event_MenuChoice(menu%) �Ȏmenu%� �"�Bar_Menu%:�User_MenuChoiceBar $�Main_Menu%:�User_MenuChoiceMain � � $��User_MenuChoiceBar .Ȏ�Wimp_MenuChoice(0)� 8�1 B,�2:�Wimp_SendToEdit("<Today$Dir>.!Help") L�3:finished%=� V� `� j��User_MenuChoiceMain tȎ�Wimp_MenuChoice(0)� ~�1 ��2 �4�3:�Wimp_SendToEdit("<Today$Dir>.TodayData.own") ��4:finished%=� �� �� �!��Event_LoadFile(file$,type$) �� �#��Event_SaveFile(file$,window%) �� �ݤtimetext(f$) �$timeformat=f$+�0 �0ș&C1,timeblk,timestring,64,timeformat�r0,r1 ?r1=13 =$timestring ݤLowerCase(A$) �I%:B$="" (�I%=1��(A$) 2B$=B$+�(�(�A$,I%,1))�&20) <� F=B$ P��Data_Load(file$) Zș"Hourglass_On" d�F%,Line$,Failed% nF%=�(file$) x� �Line$=�#F% ��Line$,1)="*"�Line$=�#F% ��Weekday �|�(�Line$,2,4)=today$�((�Line$,2,2)="00"��Line$,4,2)=�today$,3,2))�(�Line$,4,2)="00"��Line$,2,2)=�today$,1,2))))X%=��X%=� �6�(�Line$,1)="B"� X%)�Bday$(Bday%+1)=Line$:Bday%+=1 �6�(�Line$,1)="S"� X%)�Eday$(Eday%+1)=Line$:Eday%+=1 �6�(�Line$,1)="R"� X%)�Rday$(Rday%+1)=Line$:Rday%+=1 �)�(�#F%�(Bday%+Eday%+Rday%)=MaxLines%) ��#F% �ș"Hourglass_Off" �[�(Bday%+Eday%)=MaxLines%�Mess$="Data Overflow...":�Wimp_WindowAlert("WHOOPS!...",Mess$) �� � ��Weekday �Q% !Q%=�"1234567C ",�Line$,10,1)) �Q%>7� " ��#F%� ,�Q%<>Today%�Line$="":�� 6� @$�Q%<>Today%Line$=�#F%:�Weekday�� J� T!��Prepare_PrintList(Q%,A$,B$) ^Plist%=1 hO�Q%=0�Plist$(Plist%)=�timetext("Today is %WE %zDY%ST %MO %CE%YR"):Plist%+=1 r8�Q%=1�Plist$(Plist%)="Data for "+A$+" "+B$:Plist%+=1 |*�AddToList("Reminders ",Rday%,Rday$()) �*�AddToList("Birthdays ",Bday%,Bday$()) �.�AddToList("Anniversaries ",Eday%,Eday$()) �� ���AddToList(Z$,Z%,Y$()) ��Z%=0�� �Plist$(Plist%)="":Plist%+=1 �Plist$(Plist%)=Z$:Plist%+=1 �Plist$(Plist%)="":Plist%+=1 ��I%=1�Z% �A$=�Y$(I%),6) �$�A$,5,1)<>" "�A$=�5," ")+�A$,6) �Plist$(Plist%)=A$:Plist%+=1 �� � ��IncDate �A$,B$,I% &'A$=�Wimp_IconText(Search_Window%,0) 0'B$=�Wimp_IconText(Search_Window%,1) :B$=�LowerCase(B$) DI%=0:�:I%+=1:�B$=m3lc$(I%) NA$=�(�(A$)+1) X'�(A$)>=mdays%(I%)�A$=�(mdays%(I%)) b*�Wimp_IconPutText(Search_Window%,0,A$) l� v��IncMonth � �A$,I% �'A$=�Wimp_IconText(Search_Window%,1) �A$=�LowerCase(A$) �I%=0:�:I%+=1:�A$=m3lc$(I%) ��I%=12 I%=0 �1�Wimp_IconPutText(Search_Window%,1,m3$(I%+1)) �� � ��DecDate � �A$,I% �'A$=�Wimp_IconText(Search_Window%,0) �A$=�(�(A$)-1) ��A$="0"A$="1" �*�Wimp_IconPutText(Search_Window%,0,A$) � ��DecMonth �A$,I% 'A$=�Wimp_IconText(Search_Window%,1) *A$=�LowerCase(A$) 4I%=0:�:I%+=1:�A$=m3lc$(I%) >�I%=1 I%=13 H1�Wimp_IconPutText(Search_Window%,1,m3$(I%-1)) R� \��UpdateMain f�A$,B$,C$,J%,I%,K%,Mess$ p'A$=�Wimp_IconText(Search_Window%,0) z'B$=�Wimp_IconText(Search_Window%,1) �#Today%=9:J%=0:B$=�LowerCase(B$) ��(A$)=1 A$="0"+A$ ��I%=1�12 ��m3lc$(I%)=B$�J%=1 �� �N�J%=0�Mess$="Month spelt incorrectly":�Wimp_WindowAlert("Whoops!",Mess$):� �K%=0:�:K%+=1:�B$=m3lc$(K%) �C$=�(K%):�(C$)=1 C$="0"+C$ �^�(A$)>mdays%(K%)�Mess$="Too many days in this month":�Wimp_WindowAlert("Whoops!",Mess$):� �>�I%=0�MaxLines%/3:Bday$(I%)="":Eday$(I%)="":Rday$(I%)="":� �"�I%=0�MaxLines%+10:Plist$="":� �%file$="<Today$Dir>.TodayData."+B$ �(Bday%=0:Eday%=0:Rday%=0:today$=C$+A$ �I%=1�Plist%:Plist$(I%)="":� �Data_Load(ownfile$) �Data_Load(file$) $$�Prepare_PrintList(1,A$,m3$(K%)) .'�Wimp_WindowForceDraw(Main_Window%) 8%�Wimp_WindowClose(Search_Window%) B�Wimp_MenuClose L� V'��Wimp_WindowAlert(title$,message$) `+�Wimp_WindowAlertBox(title$,message$,0) j� t2��Wimp_WindowAlertBox(title$,message$,button%) ~�response% �$(wimp%+4)=message$ �Ȏbutton%� ��2:response%=1 ��1:response%=15 ��3:response%=(1<<5)+16 ��4:response%=(1<<6)+16 �:response%=16 �� �:ș"Wimp_ReportError",wimp%,response%,title$�,response% �� �(ݤWimp_WindowCancel(title$,message$) �$(wimp%+4)=message$ response%=23 :ș"Wimp_ReportError",wimp%,response%,title$�,response% =response%-2 *��Wimp_WindowErrorBox(title$,message$) (+�Wimp_WindowAlertBox(title$,message$,2) 2� <ݤWimp_WindowTitle(window%) Fwimp%!0=window% Pș"Wimp_GetWindInfo",,wimp% Z3�((wimp%!60)�&100)=0�1,"Title isn't indirected" d=$(wimp%!76) nݤWimp_WindowLoad(window$) x9=�Wimp_WindowLoadFrom(window$,"<Obey$Dir>.Templates") �,ݤWimp_WindowLoadFrom(window$,template$) ��c%,i%,n%,j%,sp$,sp2$ �$ș"Wimp_OpenTemplate",,template$ �Jș"Wimp_LoadTemplate",,wimp%,icons%,icon_memory%,-1,window$,0�,,icons% �Ȏsprites%� ��1:wimp%!64=sprites% �&:wimp%!64=�Event_Sprites(window%) �� �#ș"Wimp_CreateWindow",,wimp%�c% �ș"Wimp_CloseTemplate" �6ș"Wimp_WhichIcon",c%,wimp%+40,1+2+(1<<8),2+(1<<8) �Ȏwimp%!40� ��-1 :i%=40 � wimp%!4=wimp%!i%:wimp%!0=c% " ș"Wimp_GetIconState",,wimp% ,*sp$=�Wimp_GetStringAtAddress(wimp%!28) 6ș"Wimp_DeleteIcon",,wimp% @Ȏsprites%� J�1:wimp%!32=1 T ^'ș"OS_SpriteOp",&108,sprites%�,,,n% hj%=0 r�:j%+=1 |6ș"OS_SpriteOp",&10D,sprites%,pointer_block%,20,j% �1sp2$=�Wimp_GetStringAtAddress(pointer_block%) ��j%=n%�sp$=sp2$ �*�sp$=sp2$�wimp%!32=sprites%�wimp%!32=1 �� �wimp%!4=c% �(ș"Wimp_CreateIcon",,wimp%+4�handle% � i%+=4 ��(wimp%!i%)=-1 �� �=c% �$��Wimp_WindowBringToTop(window%) �!wimp%=window% �"ș"Wimp_GetWindowState",,wimp% wimp%!28=-1 ș"Wimp_OpenWindow",,wimp% � &��Wimp_WindowClose(window%) 0!wimp%=window% :ș"Wimp_CloseWindow",,wimp% D� N#��Wimp_WindowForceDraw(window%) XȎwindow%� b1�-1:ș"Wimp_ForceRedraw",-1,0,0,2*1280,2*1024 l5:ș"Wimp_ForceRedraw",window%,0,-2*1024,2*1280,0 v� �� ���Wimp_WindowOpen(window%) �!wimp%=window% �"ș"Wimp_GetWindowState",,wimp% �ș"Wimp_OpenWindow",,wimp% �� ��Wimp_WindowInterface � ș"Wimp_BorderWindow",,wimp% �� �ݤWimp_IconBar(Sprite$) � �icon% �wimp%!0=-1 �wimp%!4=0:wimp%!8=0 wimp%!12=68:wimp%!16=68 wimp%!20=&3002 $(wimp%+24)=Sprite$ $ș"Wimp_CreateIcon",,wimp%�icon% * =icon% 4*��Wimp_IconCaret(window%,icon%,chars%) >7ș"Wimp_SetCaretPosition",window%,icon%,,,-1,chars% H� R"ݤWimp_IconText(window%,icon%) \!wimp%!0=window%:wimp%!4=icon% f ș"Wimp_GetIconState",,wimp% p2�((wimp%!24)�&100)=0�1,"Icon isn't indirected" z=$(wimp%!28) �(ݤWimp_IconValidation(window%,icon%) �!wimp%!0=window%:wimp%!4=icon% � ș"Wimp_GetIconState",,wimp% �2�((wimp%!24)�&100)=0�1,"Icon isn't indirected" �=$(wimp%!32) �%��Wimp_IconDisable(window%,icon%) �!wimp%!0=window%:wimp%!4=icon% � wimp%!8=1<<22:wimp%!12=1<<22 � ș"Wimp_SetIconState",,wimp% �� �$��Wimp_IconEnable(window%,icon%) �!wimp%!0=window%:wimp%!4=icon% �wimp%!8=0:wimp%!12=1<<22 ș"Wimp_SetIconState",,wimp% � /ݤWimp_IconPutSprite(window%,icon%,sprite$) $!wimp%!0=window%:wimp%!4=icon% . ș"Wimp_GetIconState",,wimp% 8ș"Wimp_DeleteIcon",,wimp% B6wimp%!4=wimp%!8:wimp%!8=wimp%!12:wimp%!12=wimp%!16 L;wimp%!16=wimp%!20:wimp%!20=wimp%!24:$(wimp%+24)=sprite$ V$ș"Wimp_CreateIcon",,wimp%�icon% ` =icon% j+��Wimp_IconPutText(window%,icon%,text$) t!wimp%!0=window%:wimp%!4=icon% ~ ș"Wimp_GetIconState",,wimp% �2�((wimp%!24)�&100)=0�1,"Icon isn't indirected" �$(wimp%!28)=text$ �!wimp%!0=window%:wimp%!4=icon% �wimp%!8=0:wimp%!12=0 � ș"Wimp_SetIconState",,wimp% �� ���Wimp_IconInterfaceStart �ș"Wimp_BorderIcon",,wimp% �� ���Wimp_IconInterfaceFinish � wimp%!8=0 �ș"Wimp_BorderIcon",,wimp% � ��Wimp_MenuAdjustOn(menu%) +ș"Wimp_GetPointerInfo",,pointer_block% Z�((pointer_block%!8)�1)=1�ș"Wimp_CreateMenu",,menu%,pointer_block%!0,pointer_block%!4 (� 2ݤWimp_MenuChoice(level%) <=(wimp%!(4*level%))+1 FݤWimp_MenuCreate(menu$) P'�menu$="Colours"�=�Wimp_MenuColours Z&�menu%,index%,width%,length%,k%,s% d,�menu%28+�Wimp_MenuNoOfEntries(menu$)*24 n/menu%?12=7:menu%?13=2:menu%?14=7:menu%?15=0 x'menu%!16=140:menu%!20=44:menu%!24=0 �index%=menu%+28 � $menu%=�menu$,�menu$,"\")-1) �#width%=�(�menu$,�menu$,"\")-1)) �"menu$+="\":Menu_NoOfEntries%=0 �ȕmenu$<>"" �menu$=�menu$,�menu$,"\")+1) �Ȏmenu$� ��"" � �+!index%=0:index%!4=-1:index%!8=&7000021 �length%=�menu$,"\")-1 �k%=��menu$,length%),">") � Ȏk%� �0 !s%=�(�menu$,k%+1,length%-k%)) "index%!4=s% ,length%=k%-1 6� @ $(index%+12)=�menu$,length%) J"�length%>width%�width%=length% Tindex%+=24 ^� h� rmenu%!16=16*(width%+1) |$index%!-24=index%!-24�&80:=menu% �ݤWimp_MenuColours �!=�Wimp_MenuCreateColours(" ") �$ݤWimp_MenuCreateColours(title$) ��x$,men%,j%,i% �6x$=title$+"\0\1\2\3\4\5\6\7\8\9\10\11\12\13\14\15" �men%=�Wimp_MenuCreate(x$) ��i%=0�15 �Ȏ�� �%�i%<4,i%=9,i%=12,i%=14,i%=15:j%=7 � :j%=0 �� �men%?(39+i%*24)=i%*16+j% ��Wimp_MenuCentre(men%,i%+1) � =men% !ݤWimp_MenuNoOfEntries(menu$) &�n%,j%:n%=0:j%=0 0� :j%=�menu$,"\",j%+1) D�j%<>0�n%+=1 N �j%=0 X=n% b4��Wimp_MenuBackGroundColour(menu%,item%,colour%) l �fore%,i% v&fore%=(menu%?(39+(item%-1)*24))�16 �(i%=((menu%?(39+(item%-1)*24))�16)�16 �/menu%?(39+(item%-1)*24)=fore%+16*colour%+i% �� �"��Wimp_MenuCentre(menu%,item%) �:menu%!(36+(item%-1)*24)=menu%!(36+(item%-1)*24)�(1<<3) �� ���Wimp_MenuClose �ș"Wimp_CreateMenu",-1 �� �#��Wimp_MenuDisable(menu%,item%) �;menu%!(36+(item%-1)*24)=menu%!(36+(item%-1)*24)�(1<<22) �� �&��Wimp_MenuDottedLine(menu%,item%) 7menu%!(28+(item%-1)*24)=(menu%!(28+(item%-1)*24))�2 � "��Wimp_MenuEnable(menu%,item%) "�Wimp_MenuDisable(menu%,item%) *;menu%!(36+(item%-1)*24)=menu%!(36+(item%-1)*24)�(1<<22) 4� >4��Wimp_MenuForegroundColour(menu%,item%,colour%) HEmenu%?(39+(item%-1)*24)=colour%+16*((menu%?(39+(item%-1)*24))�16) R� \(��Wimp_MenuGlue(menu1%,item%,menu2%) fmenu1%!(8+item%*24)=menu2% p� z&��Wimp_MenuItem(menu%,item%,item$) �,$(menu%+(40+(item%-1)*24))=�item$,12)+�0 �� �#��Wimp_MenuMessage(menu%,item%) �<menu%!(28+(item%-1)*24)=(menu%!(28+(item%-1)*24))�(1<<3) �� �!��Wimp_MenuPopUp(Menu%,x%,y%) �menu%=Menu% �*ș"Wimp_CreateMenu",,menu%,x%-64,y%+20 �� ���Wimp_MenuPopUpBar(x%,y%) ��n%:n%=0 �*ȕ((Bar_Menu%!(28+n%*24))�%10000000)=0 � n%+=1 � 1ș"Wimp_CreateMenu",,Bar_Menu%,x%-64,96+n%*44 menu%=Bar_Menu% $� . ��Wimp_MenuTick(menu%,item%) 87menu%!(28+(item%-1)*24)=(menu%!(28+(item%-1)*24))�1 B� L"��Wimp_MenuTitle(menu%,title$) V$menu%=�title$,12)+�0 `� j<��Wimp_MenuWrite(menu%,item%,buffer%,val%,BufferLength%) t7menu%!(28+(item%-1)*24)=(menu%!(28+(item%-1)*24))�4 ~8menu%!(36+(item%-1)*24)=menu%!(36+(item%-1)*24)�&100 �#menu%!(40+(item%-1)*24)=buffer% � menu%!(44+(item%-1)*24)=val% �)menu%!(48+(item%-1)*24)=BufferLength% �� ���Wimp_SpritesLoad �/�Wimp_SpritesPathLoad("<Obey$Dir>.Sprites") �direct_sprites%=sprites% �� �%��Wimp_SpritesPathLoad(pathname$) � �S%,T% �,S%=�"<Obey$Dir>.Sprites":T%=�#S%+16:�#S% ��sprites%T%,spname%12 !sprites%=T%:sprites%!8=0 !ș"OS_SpriteOp",&109,sprites% +ș"OS_SpriteOp",&10A,sprites%,pathname$ � (ݤWimp_FileType(type%) 2Ȏtype%� <�&FFF:="Text" F�&FFD:="Data" P�&FFB:="Basic" Z�&FF9:="Sprite" d�&FED:="Palette" n�&FEC:="Template" x�&AFF:="Draw" ��&1000:="Folder" ��&2000:="Application" �=�~(type%) �� �ݤWimp_GetFilePathName �'=�Wimp_GetStringAtAddress(wimp%+44) �ݤWimp_FileLoad(pathname$) ��S%,T%,file% �S%=�pathname$ �T%=�#S%+16 ��#S% ��file%T% �"�("LOAD"+pathname$+""+�~file%) =file% %ݤWimp_GetStringAtAddress(array%) �s$:s$="" ";ȕ(?array%<>13)�(?array%<>0):s$+=�(?array%):array%+=1:� ,=s$ 6"ݤWimp_GetFileFromPathname(f$) @Ȏ�f$,".")� J �0:=f$ T5:=�Wimp_GetFileFromPathname(�f$,�(f$)-�f$,"."))) ^� h��Wimp_SendToEdit(file$) r�n% |wimp%!4=&6CC01C0C �wimp%!16=5 �wimp%!36=0 �wimp%!40=&FFF �$(wimp%+44)=file$+�0 �n%=�file$+45 �'�n%�4�!wimp%=4+(n%>>2)<<2�!wimp%=n% �#ș"Wimp_SendMessage",17,wimp%,0 �� �.��Wimp_Start(TaskName$,wimp_memory%,icon%) �"�wimp%wimp_memory%,icons%icon% �&�wimp_memory%<256�wimp_memory%=256 �icon_memory%=icons%+icon% �task$=TaskName$ )indirect_sprites%=1:direct_sprites%=1 �Wimp_SetEventVariables ��Wimp_Error:� &>ș"Wimp_Initialise",200,&4B534154,TaskName$�version%,task% 0� :ݤWimp_BASICParameters D�com$,param$,I% Nș"OS_GetEnv"�com$ Xparams$="" bI%=�com$," -quit ") l1�I%�params$=�com$,�com$," ",I%+�" -quit ")+1) v=params$ ���Wimp_SetEventVariables ��pointer_block%20 �interface%=� �)null%=1:draw%=2:pointer_leaving%=1<<4 �1pointer_entering%=1<<5:mouse%=1<<6:drag%=1<<7 �&key%=1<<8:menu%=1<<9:scroll%=1<<10 �@lose_caret%=1<<11:gain_caret%=1<<12:message%=(1<<17)+(1<<18) �0recorder%=1<<18:acknowledge%=1<<19:window%=0 �!sprites%=1:version%=0:task%=0 �*Bar_Window%=-2:Bar_Icon%=0:Bar_Menu%=0 �*x_origin%=0:y_origin%=0:SaveWindow%=-3 �3message_quit%=0:message_save%=2:message_load%=3 �!mouse_button%=2:save_event%=0 top_line%=0:bottom_line%=0 � ��Wimp_Error �X$,x% * 4x%=� >X$=�$+"atline"+�(x%�10) H�ErrorMsg%36 REErrorMsg%!0=36:ErrorMsg%!12=0:ErrorMsg%!16=&81080:ErrorMsg%!20=x% \$(ErrorMsg%+24)="!RunImage" f%ș"Wimp_SendMessage",17,ErrorMsg% p�Wimp_WindowAlert(task$,X$) z�Wimp_CloseDown �� ���Wimp_CloseDown �#ș"Wimp_CloseDown",task%,"TASK" �� ���Wimp_Quit �finished%=� �� �"ݤWimp_ReadVariable(Variable$) ��len%,result%,variable% �$wimp%=Variable$ �3ș"OS_ReadVarVal",wimp%,wimp%+255,255,,3�,,len% �wimp%?(len%+255)=13 �=$(wimp%+255) ��Wimp_WaitForEvent �mask%,event% finished%=� $mask%=%111000011001 .� 8$ș"Wimp_Poll",mask%,wimp%�event% B Ȏevent%� L�0 V�1:�Wimp_PollDrawWindow `!�2:ș"Wimp_OpenWindow",,wimp% j�3:�Wimp_PollCloseWindow t�4 ~�5 ��6:�Wimp_PollMouseClick ��7:�Wimp_PollSaveMessage ��8:�Wimp_PollKeyPress ��9:�Event_MenuChoice(menu%) ��10 ��11 ��12 ��17,18:�Wimp_PollMessages ��19 �� ��finished% �� ��Wimp_PollDrawWindow �more% &ș"Wimp_RedrawWindow",,wimp%�more% window%=wimp%!0 (Ax_origin%=16+wimp%!4-wimp%!20:y_origin%=-16+wimp%!16-wimp%!24 2ȕmore% <,�interface%�ș"Wimp_BorderWindow",,wimp% F,�Event_Draw(window%,x_origin%,y_origin%) P&ș"Wimp_GetRectangle",,wimp%�more% Z� d� n��Wimp_PollCloseWindow x"ș"Wimp_GetPointerInfo",,wimp% �%window%=wimp%!12:buttons%=wimp%!8 �(�Event_WindowClose(window%,buttons%) �.!wimp%=window%:ș"Wimp_CloseWindow",,wimp% �� ���Wimp_PollMouseClick �Ibutton%=wimp%!8:window%=wimp%!12:icon%=wimp%!16:x%=wimp%!0:y%=wimp%!4 �Ȏbutton%� ��2:�Wimp_PollMenuPopUp �:Ȏ�Event_Save(window%)� �ɹ:�Wimp_PollMouseSave � ɣ:�Wimp_PollEventMouseClick �� �� � ��Wimp_PollMenuPopUp menu%=�Event_Menu(window%) "Ȏmenu%� ,ɣ 6 @Ȏwindow%� J�-2:n%=0 T*ȕ((Bar_Menu%!(28+n%*24))�%10000000)=0 ^ n%+=1 h� r1ș"Wimp_CreateMenu",,Bar_Menu%,x%-64,96+n%*44 |,:ș"Wimp_CreateMenu",,menu%,x%-64,y%+20 �� �� �� ���Wimp_PollMouseSave �Ȏicon%� �.�0:�button%�&50��Wimp_PollDragBox(window%) �.�2:�button%� 5��Wimp_PollSaveFile(window%) �� �� ���Wimp_PollEventMouseClick �*�interface%�ș"Wimp_BorderIcon",,wimp% �2�Event_MouseClick(window%,icon%,button%,x%,y%) �Ȏinterface%� ɹ #wimp%!0=x%:wimp%!4=y%:wimp%!8=0 #wimp%!12=window%:wimp%!16=icon% &ș"Wimp_BorderIcon",,wimp% 0� :� D ��Wimp_PollSaveFile(window%) N �file$ X:wimp%!0=window%:wimp%!4=1:ș"Wimp_GetIconState",,wimp% bfile$=$(wimp%!28) lȎ�file$,".")� v�0 �=$(wimp%+4)="To save, drag the icon to a directory window" �'ș"Wimp_ReportError",wimp%,16,task$ � �"�Event_SaveFile(file$,window%) �� �ș"Wimp_CreateMenu",-1 �� ���Wimp_PollDragBox(window%) � �x%,y% �save%=window% �!wimp%=window% �"ș"Wimp_GetWindowState",,wimp% �,x%=wimp%!4-wimp%!20:y%=wimp%!16-wimp%!24 wimp%!4=0 ș"Wimp_GetIconState",,wimp% !wimp%=window% wimp%!4=5 *+wimp%!8=x%+wimp%!8:wimp%!12=y%+wimp%!12 4-wimp%!16=x%+wimp%!16:wimp%!20=y%+wimp%!20 >wimp%!24=0:wimp%!28=0 H)wimp%!32=&7FFFFFFF:wimp%!36=&7FFFFFFF Rș"Wimp_DragBox",,wimp% \� f��Wimp_PollKeyPress p/window%=wimp%!0:icon%=wimp%!4:key%=wimp%!24 zȎ�Event_Save(window%)� �"ɹ:�WimpPoll_SaveFile(window%) �*ɣ:�Event_KeyPress(window%,icon%,key%) �� �� ���Wimp_PollSaveMessage ��file$,window%,icon%,x%,y% �"ș"Wimp_GetPointerInfo",,wimp% �9window%=wimp%!12:icon%=wimp%!16:x%=wimp%!0:y%=wimp%!4 �8wimp%!0=save%:wimp%!4=1:ș"Wimp_GetIconState",,wimp% �file$=$(wimp%!28) �*file$=�Wimp_GetFileFromPathname(file$) �wimp%!20=window% �wimp%!24=icon% wimp%!28=x%:wimp%!32=y% wimp%!36=length% wimp%!0=64 $wimp%!12=0 .wimp%!16=1 8wimp%!40=&FFF B$(wimp%+44)=file$ L3ș"Wimp_SendMessage",17,wimp%,wimp%!20,wimp%!24 V� `��Wimp_PollMessages j �file$ t,file$=�Wimp_GetStringAtAddress(wimp%+44) ~Ȏwimp%!16� ��0:finished%=� ��1 ��2 �8wimp%!0=save%:wimp%!4=1:ș"Wimp_GetIconState",,wimp% �$(wimp%!28)=file$ �0wimp%!0=save%:wimp%!4=1:wimp%!8=0:wimp%!12=0 � ș"Wimp_SetIconState",,wimp% �1ș"Wimp_SetCaretPosition",save%,1,,,-1,�file$ � �Event_SaveFile(file$,save%) ��3 �?type$=�Wimp_FileType(wimp%!40):�Event_LoadFile(file$,type$) �� � %ݤWimp_GetStringAtAddress(array%) �s$:s$="" ;ȕ(?array%<>13)�(?array%<>0):s$+=�(?array%):array%+=1:� (=s$ 2"ݤWimp_GetFileFromPathname(f$) <Ȏ�f$,".")� F �0:=f$ P5:=�Wimp_GetFileFromPathname(�f$,�(f$)-�f$,"."))) Z� dݤWimp_FileType(type%) nȎtype%� x�&FFF:="Text" ��&FFD:="Data" ��&FFB:="Basic" ��&FF9:="Sprite" ��&FED:="Palette" ��&FEC:="Template" ��&AFF:="Draw" ��&1000:="Folder" ��&2000:="Application" �=�~(type%) �� �8��shell_WindowResize(whandle%,bx%,by%,tx%,ty%,open%) �+!_Q%=bx%:_Q%!4=by%:_Q%!8=tx%:_Q%!12=ty% �#ș"Wimp_SetExtent",whandle%,_Q% �open%� _Q%!0=whandle% ș"Wimp_GetWindowInfo",,_Q% "ș"Wimp_OpenWindow",,_Q% ,� 6� �
00000000 0d 00 0a 20 f2 57 69 6d 70 5f 53 74 61 72 74 28 |... .Wimp_Start(| 00000010 22 54 6f 64 61 79 22 2c 37 30 31 2c 33 30 38 29 |"Today",701,308)| 00000020 0d 00 14 18 f2 55 73 65 72 5f 53 65 74 49 6e 69 |.....User_SetIni| 00000030 74 69 61 6c 44 61 74 61 0d 00 1e 13 f2 43 72 65 |tialData.....Cre| 00000040 61 74 65 5f 57 69 6e 64 6f 77 73 0d 00 28 11 f2 |ate_Windows..(..| 00000050 43 72 65 61 74 65 5f 4d 65 6e 75 73 0d 00 32 16 |Create_Menus..2.| 00000060 f2 57 69 6d 70 5f 57 61 69 74 46 6f 72 45 76 65 |.Wimp_WaitForEve| 00000070 6e 74 0d 00 3c 13 f2 57 69 6d 70 5f 43 6c 6f 73 |nt..<..Wimp_Clos| 00000080 65 44 6f 77 6e 0d 00 46 05 e0 0d 00 50 19 dd f2 |eDown..F....P...| 00000090 55 73 65 72 5f 53 65 74 49 6e 69 74 69 61 6c 44 |User_SetInitialD| 000000a0 61 74 61 0d 00 5a 2c de 74 69 6d 65 62 6c 6b 20 |ata..Z,.timeblk | 000000b0 38 2c 74 69 6d 65 66 6f 72 6d 61 74 20 31 32 38 |8,timeformat 128| 000000c0 2c 74 69 6d 65 73 74 72 69 6e 67 20 31 32 38 0d |,timestring 128.| 000000d0 00 64 21 de 6d 64 61 79 73 25 28 31 32 29 2c 6d |.d!.mdays%(12),m| 000000e0 33 24 28 31 32 29 2c 6d 33 6c 63 24 28 31 32 29 |3$(12),m3lc$(12)| 000000f0 0d 00 6e 1e 74 69 6d 65 62 6c 6b 3f 30 3d 33 3a |..n.timeblk?0=3:| 00000100 c8 99 37 2c 31 34 2c 74 69 6d 65 62 6c 6b 0d 00 |..7,14,timeblk..| 00000110 78 12 4d 61 78 4c 69 6e 65 73 25 3d 32 30 2a 33 |x.MaxLines%=20*3| 00000120 0d 00 82 52 de 42 64 61 79 24 28 4d 61 78 4c 69 |...R.Bday$(MaxLi| 00000130 6e 65 73 25 2f 33 29 2c 45 64 61 79 24 28 4d 61 |nes%/3),Eday$(Ma| 00000140 78 4c 69 6e 65 73 25 2f 33 29 2c 52 64 61 79 24 |xLines%/3),Rday$| 00000150 28 4d 61 78 4c 69 6e 65 73 25 2f 33 29 2c 50 6c |(MaxLines%/3),Pl| 00000160 69 73 74 24 28 4d 61 78 4c 69 6e 65 73 25 2b 31 |ist$(MaxLines%+1| 00000170 30 29 0d 00 8c 4c 74 6f 64 61 79 24 3d a4 74 69 |0)...Ltoday$=.ti| 00000180 6d 65 74 65 78 74 28 22 25 4d 4e 25 44 59 22 29 |metext("%MN%DY")| 00000190 3a 6d 6f 6e 74 68 24 3d a4 74 69 6d 65 74 65 78 |:month$=.timetex| 000001a0 74 28 22 25 4d 33 22 29 3a 64 61 79 24 3d a4 74 |t("%M3"):day$=.t| 000001b0 69 6d 65 74 65 78 74 28 22 25 44 59 22 29 0d 00 |imetext("%DY")..| 000001c0 96 1e 54 6f 64 61 79 25 3d bb 28 a4 74 69 6d 65 |..Today%=.(.time| 000001d0 74 65 78 74 28 22 25 57 4e 22 29 29 0d 00 a0 1b |text("%WN"))....| 000001e0 42 64 61 79 25 3d 30 3a 45 64 61 79 25 3d 30 3a |Bday%=0:Eday%=0:| 000001f0 52 64 61 79 25 3d 30 0d 00 aa 3f 66 69 6c 65 24 |Rday%=0...?file$| 00000200 3d 22 3c 54 6f 64 61 79 24 44 69 72 3e 2e 54 6f |="<Today$Dir>.To| 00000210 64 61 79 44 61 74 61 2e 22 2b a4 4c 6f 77 65 72 |dayData."+.Lower| 00000220 43 61 73 65 28 a4 74 69 6d 65 74 65 78 74 28 22 |Case(.timetext("| 00000230 25 4d 33 22 29 29 0d 00 b4 28 6f 77 6e 66 69 6c |%M3"))...(ownfil| 00000240 65 24 3d 22 3c 54 6f 64 61 79 24 44 69 72 3e 2e |e$="<Today$Dir>.| 00000250 54 6f 64 61 79 44 61 74 61 2e 6f 77 6e 22 0d 00 |TodayData.own"..| 00000260 be 2e f7 3a e3 49 25 3d 31 b8 31 32 3a f3 6d 64 |...:.I%=1.12:.md| 00000270 61 79 73 25 28 49 25 29 2c 6d 33 24 28 49 25 29 |ays%(I%),m3$(I%)| 00000280 2c 6d 33 6c 63 24 28 49 25 29 3a ed 0d 00 c8 89 |,m3lc$(I%):.....| 00000290 dc 20 33 31 2c 4a 61 6e 2c 6a 61 6e 2c 32 39 2c |. 31,Jan,jan,29,| 000002a0 46 65 62 2c 66 65 62 2c 33 31 2c 4d 61 72 2c 6d |Feb,feb,31,Mar,m| 000002b0 61 72 2c 33 30 2c 41 70 72 2c 61 70 72 2c 33 31 |ar,30,Apr,apr,31| 000002c0 2c 4d 61 79 2c 6d 61 79 2c 33 30 2c 4a 75 6e 2c |,May,may,30,Jun,| 000002d0 6a 75 6e 2c 33 31 2c 4a 75 6c 2c 6a 75 6c 2c 33 |jun,31,Jul,jul,3| 000002e0 31 2c 41 75 67 2c 61 75 67 2c 33 30 2c 53 65 70 |1,Aug,aug,30,Sep| 000002f0 2c 73 65 70 2c 33 31 2c 4f 63 74 2c 6f 63 74 2c |,sep,31,Oct,oct,| 00000300 33 30 2c 4e 6f 76 2c 6e 6f 76 2c 33 31 2c 44 65 |30,Nov,nov,31,De| 00000310 63 2c 64 65 63 0d 00 d2 18 f2 44 61 74 61 5f 4c |c,dec.....Data_L| 00000320 6f 61 64 28 6f 77 6e 66 69 6c 65 24 29 0d 00 dc |oad(ownfile$)...| 00000330 15 f2 44 61 74 61 5f 4c 6f 61 64 28 66 69 6c 65 |..Data_Load(file| 00000340 24 29 0d 00 e6 1f f2 50 72 65 70 61 72 65 5f 50 |$).....Prepare_P| 00000350 72 69 6e 74 4c 69 73 74 28 30 2c 22 22 2c 22 22 |rintList(0,"",""| 00000360 29 0d 00 f0 05 e1 0d 00 fa 14 dd f2 43 72 65 61 |)...........Crea| 00000370 74 65 5f 57 69 6e 64 6f 77 73 0d 01 04 15 f2 57 |te_Windows.....W| 00000380 69 6d 70 5f 53 70 72 69 74 65 73 4c 6f 61 64 0d |imp_SpritesLoad.| 00000390 01 0e 29 4d 61 69 6e 5f 57 69 6e 64 6f 77 25 3d |..)Main_Window%=| 000003a0 a4 57 69 6d 70 5f 57 69 6e 64 6f 77 4c 6f 61 64 |.Wimp_WindowLoad| 000003b0 28 22 4d 61 69 6e 22 29 0d 01 18 29 49 6e 66 6f |("Main")...)Info| 000003c0 5f 57 69 6e 64 6f 77 25 3d a4 57 69 6d 70 5f 57 |_Window%=.Wimp_W| 000003d0 69 6e 64 6f 77 4c 6f 61 64 28 22 49 6e 66 6f 22 |indowLoad("Info"| 000003e0 29 0d 01 22 2d 53 65 61 72 63 68 5f 57 69 6e 64 |).."-Search_Wind| 000003f0 6f 77 25 3d a4 57 69 6d 70 5f 57 69 6e 64 6f 77 |ow%=.Wimp_Window| 00000400 4c 6f 61 64 28 22 53 65 61 72 63 68 22 29 0d 01 |Load("Search")..| 00000410 2c 25 42 61 72 5f 49 63 6f 6e 25 3d a4 57 69 6d |,%Bar_Icon%=.Wim| 00000420 70 5f 49 63 6f 6e 42 61 72 28 22 21 54 6f 64 61 |p_IconBar("!Toda| 00000430 79 22 29 0d 01 36 57 f2 57 69 6d 70 5f 49 63 6f |y")..6W.Wimp_Ico| 00000440 6e 50 75 74 54 65 78 74 28 53 65 61 72 63 68 5f |nPutText(Search_| 00000450 57 69 6e 64 6f 77 25 2c 30 2c 64 61 79 24 29 3a |Window%,0,day$):| 00000460 f2 57 69 6d 70 5f 49 63 6f 6e 50 75 74 54 65 78 |.Wimp_IconPutTex| 00000470 74 28 53 65 61 72 63 68 5f 57 69 6e 64 6f 77 25 |t(Search_Window%| 00000480 2c 31 2c 6d 6f 6e 74 68 24 29 0d 01 40 05 e1 0d |,1,month$)..@...| 00000490 01 4a 1b dd a4 45 76 65 6e 74 5f 53 61 76 65 28 |.J...Event_Save(| 000004a0 77 69 6e 64 6f 77 25 29 3d a3 0d 01 54 25 dd a4 |window%)=...T%..| 000004b0 45 76 65 6e 74 5f 53 70 72 69 74 65 73 28 77 69 |Event_Sprites(wi| 000004c0 6e 64 6f 77 25 29 3d 73 70 72 69 74 65 73 25 0d |ndow%)=sprites%.| 000004d0 01 5e 12 dd f2 43 72 65 61 74 65 5f 4d 65 6e 75 |.^...Create_Menu| 000004e0 73 0d 01 68 2e 6d 65 6e 75 24 3d 22 21 54 6f 64 |s..h.menu$="!Tod| 000004f0 61 79 5c 49 6e 66 6f 3e 49 6e 66 6f 5f 57 69 6e |ay\Info>Info_Win| 00000500 64 6f 77 25 5c 48 65 6c 70 5c 51 75 69 74 22 0d |dow%\Help\Quit".| 00000510 01 72 25 42 61 72 5f 4d 65 6e 75 25 3d a4 57 69 |.r%Bar_Menu%=.Wi| 00000520 6d 70 5f 4d 65 6e 75 43 72 65 61 74 65 28 6d 65 |mp_MenuCreate(me| 00000530 6e 75 24 29 0d 01 7c 47 6d 65 6e 75 24 3d 22 21 |nu$)..|Gmenu$="!| 00000540 54 6f 64 61 79 5c 49 6e 66 6f 3e 49 6e 66 6f 5f |Today\Info>Info_| 00000550 57 69 6e 64 6f 77 25 5c 4e 6f 74 20 54 6f 64 61 |Window%\Not Toda| 00000560 79 3e 53 65 61 72 63 68 5f 57 69 6e 64 6f 77 25 |y>Search_Window%| 00000570 5c 45 64 69 74 5c 51 75 69 74 22 0d 01 86 26 4d |\Edit\Quit"...&M| 00000580 61 69 6e 5f 4d 65 6e 75 25 3d a4 57 69 6d 70 5f |ain_Menu%=.Wimp_| 00000590 4d 65 6e 75 43 72 65 61 74 65 28 6d 65 6e 75 24 |MenuCreate(menu$| 000005a0 29 0d 01 90 05 e1 0d 01 9a 19 dd a4 45 76 65 6e |)...........Even| 000005b0 74 5f 4d 65 6e 75 28 77 69 6e 64 6f 77 25 29 0d |t_Menu(window%).| 000005c0 01 a4 0e c8 8e 77 69 6e 64 6f 77 25 ca 0d 01 ae |.....window%....| 000005d0 1b c9 42 61 72 5f 57 69 6e 64 6f 77 25 3a 3d 42 |..Bar_Window%:=B| 000005e0 61 72 5f 4d 65 6e 75 25 0d 01 b8 1d c9 4d 61 69 |ar_Menu%.....Mai| 000005f0 6e 5f 57 69 6e 64 6f 77 25 3a 3d 4d 61 69 6e 5f |n_Window%:=Main_| 00000600 4d 65 6e 75 25 0d 01 c2 08 7f 3a 3d a3 0d 01 cc |Menu%.....:=....| 00000610 05 cb 0d 01 d6 29 dd f2 45 76 65 6e 74 5f 57 69 |.....)..Event_Wi| 00000620 6e 64 6f 77 43 6c 6f 73 65 28 77 69 6e 64 6f 77 |ndowClose(window| 00000630 25 2c 62 75 74 74 6f 6e 73 25 29 0d 01 e0 0e c8 |%,buttons%).....| 00000640 8e 77 69 6e 64 6f 77 25 ca 0d 01 ea 05 cb 0d 01 |.window%........| 00000650 f4 05 e1 0d 01 fe 2d dd f2 45 76 65 6e 74 5f 44 |......-..Event_D| 00000660 72 61 77 28 77 69 6e 64 6f 77 25 2c 78 5f 6f 72 |raw(window%,x_or| 00000670 69 67 69 6e 25 2c 79 5f 6f 72 69 67 69 6e 25 29 |igin%,y_origin%)| 00000680 0d 02 08 0e c8 8e 77 69 6e 64 6f 77 25 ca 0d 02 |......window%...| 00000690 12 26 c9 4d 61 69 6e 5f 57 69 6e 64 6f 77 25 3a |.&.Main_Window%:| 000006a0 f2 55 73 65 72 5f 44 72 61 77 4d 61 69 6e 57 69 |.User_DrawMainWi| 000006b0 6e 64 6f 77 0d 02 1c 26 c9 49 6e 66 6f 5f 57 69 |ndow...&.Info_Wi| 000006c0 6e 64 6f 77 25 3a f2 55 73 65 72 5f 44 72 61 77 |ndow%:.User_Draw| 000006d0 49 6e 66 6f 57 69 6e 64 6f 77 0d 02 26 2a c9 53 |InfoWindow..&*.S| 000006e0 65 61 72 63 68 5f 57 69 6e 64 6f 77 25 3a f2 55 |earch_Window%:.U| 000006f0 73 65 72 5f 44 72 61 77 53 65 61 72 63 68 57 69 |ser_DrawSearchWi| 00000700 6e 64 6f 77 0d 02 30 05 cb 0d 02 3a 05 e1 0d 02 |ndow..0....:....| 00000710 44 19 dd f2 55 73 65 72 5f 44 72 61 77 4d 61 69 |D...User_DrawMai| 00000720 6e 57 69 6e 64 6f 77 0d 02 4e 19 ea 69 25 2c 78 |nWindow..N..i%,x| 00000730 25 2c 79 25 2c 68 25 2c 6c 25 3a 50 72 25 3d b9 |%,y%,h%,l%:Pr%=.| 00000740 0d 02 58 09 68 25 3d 33 32 0d 02 62 13 79 25 3d |..X.h%=32..b.y%=| 00000750 79 5f 6f 72 69 67 69 6e 25 2d 68 25 0d 02 6c 10 |y_origin%-h%..l.| 00000760 e3 69 25 3d 31 b8 50 6c 69 73 74 25 0d 02 76 13 |.i%=1.Plist%..v.| 00000770 78 25 3d 78 5f 6f 72 69 67 69 6e 25 2b 68 25 0d |x%=x_origin%+h%.| 00000780 02 80 0a ec 78 25 2c 79 25 0d 02 8a 0f f1 50 6c |....x%,y%.....Pl| 00000790 69 73 74 24 28 69 25 29 0d 02 94 0a 79 25 2d 3d |ist$(i%)....y%-=| 000007a0 68 25 0d 02 9e 05 ed 0d 02 a8 09 50 72 25 3d a3 |h%.........Pr%=.| 000007b0 0d 02 b2 05 e1 0d 02 bc 19 dd f2 55 73 65 72 5f |...........User_| 000007c0 44 72 61 77 49 6e 66 6f 57 69 6e 64 6f 77 0d 02 |DrawInfoWindow..| 000007d0 c6 05 e1 0d 02 d0 1b dd f2 55 73 65 72 5f 44 72 |.........User_Dr| 000007e0 61 77 53 65 61 72 63 68 57 69 6e 64 6f 77 0d 02 |awSearchWindow..| 000007f0 da 05 e1 0d 02 e4 33 dd f2 45 76 65 6e 74 5f 4d |......3..Event_M| 00000800 6f 75 73 65 43 6c 69 63 6b 28 77 69 6e 64 6f 77 |ouseClick(window| 00000810 25 2c 69 63 6f 6e 25 2c 62 75 74 74 6f 6e 25 2c |%,icon%,button%,| 00000820 78 25 2c 79 25 29 0d 02 ee 0e c8 8e 77 69 6e 64 |x%,y%)......wind| 00000830 6f 77 25 ca 0d 02 f8 35 c9 42 61 72 5f 57 69 6e |ow%....5.Bar_Win| 00000840 64 6f 77 25 3a f2 57 69 6d 70 5f 57 69 6e 64 6f |dow%:.Wimp_Windo| 00000850 77 42 72 69 6e 67 54 6f 54 6f 70 28 4d 61 69 6e |wBringToTop(Main| 00000860 5f 57 69 6e 64 6f 77 25 29 0d 03 02 30 c9 4d 61 |_Window%)...0.Ma| 00000870 69 6e 5f 57 69 6e 64 6f 77 25 3a f2 55 73 65 72 |in_Window%:.User| 00000880 5f 4d 6f 75 73 65 4d 61 69 6e 28 62 75 74 74 6f |_MouseMain(butto| 00000890 6e 25 2c 69 63 6f 6e 25 29 0d 03 0c 30 c9 49 6e |n%,icon%)...0.In| 000008a0 66 6f 5f 57 69 6e 64 6f 77 25 3a f2 55 73 65 72 |fo_Window%:.User| 000008b0 5f 4d 6f 75 73 65 49 6e 66 6f 28 62 75 74 74 6f |_MouseInfo(butto| 000008c0 6e 25 2c 69 63 6f 6e 25 29 0d 03 16 34 c9 53 65 |n%,icon%)...4.Se| 000008d0 61 72 63 68 5f 57 69 6e 64 6f 77 25 3a f2 55 73 |arch_Window%:.Us| 000008e0 65 72 5f 4d 6f 75 73 65 53 65 61 72 63 68 28 62 |er_MouseSearch(b| 000008f0 75 74 74 6f 6e 25 2c 69 63 6f 6e 25 29 0d 03 20 |utton%,icon%).. | 00000900 05 cb 0d 03 2a 05 e1 0d 03 34 23 dd f2 55 73 65 |....*....4#..Use| 00000910 72 5f 4d 6f 75 73 65 4d 61 69 6e 28 62 75 74 74 |r_MouseMain(butt| 00000920 6f 6e 25 2c 69 63 6f 6e 25 29 0d 03 3e 05 e1 0d |on%,icon%)..>...| 00000930 03 48 23 dd f2 55 73 65 72 5f 4d 6f 75 73 65 49 |.H#..User_MouseI| 00000940 6e 66 6f 28 62 75 74 74 6f 6e 25 2c 69 63 6f 6e |nfo(button%,icon| 00000950 25 29 0d 03 52 05 e1 0d 03 5c 25 dd f2 55 73 65 |%)..R....\%..Use| 00000960 72 5f 4d 6f 75 73 65 53 65 61 72 63 68 28 62 75 |r_MouseSearch(bu| 00000970 74 74 6f 6e 25 2c 69 63 6f 6e 25 29 0d 03 66 0c |tton%,icon%)..f.| 00000980 c8 8e 69 63 6f 6e 25 ca 0d 03 70 0f c9 32 3a f2 |..icon%...p..2:.| 00000990 49 6e 63 44 61 74 65 0d 03 7a 10 c9 33 3a f2 49 |IncDate..z..3:.I| 000009a0 6e 63 4d 6f 6e 74 68 0d 03 84 0f c9 34 3a f2 44 |ncMonth.....4:.D| 000009b0 65 63 44 61 74 65 0d 03 8e 10 c9 35 3a f2 44 65 |ecDate.....5:.De| 000009c0 63 4d 6f 6e 74 68 0d 03 98 12 c9 36 3a f2 55 70 |cMonth.....6:.Up| 000009d0 64 61 74 65 4d 61 69 6e 0d 03 a2 05 cb 0d 03 ac |dateMain........| 000009e0 05 e1 0d 03 b6 28 dd f2 45 76 65 6e 74 5f 4b 65 |.....(..Event_Ke| 000009f0 79 50 72 65 73 73 28 77 69 6e 64 6f 77 25 2c 69 |yPress(window%,i| 00000a00 63 6f 6e 25 2c 6b 65 79 25 29 0d 03 c0 0e c8 8e |con%,key%)......| 00000a10 77 69 6e 64 6f 77 25 ca 0d 03 ca 29 c9 53 65 61 |window%....).Sea| 00000a20 72 63 68 5f 57 69 6e 64 6f 77 25 3a e7 6b 65 79 |rch_Window%:.key| 00000a30 25 3d 31 33 f2 55 70 64 61 74 65 4d 61 69 6e 3a |%=13.UpdateMain:| 00000a40 cb 0d 03 d4 05 cb 0d 03 de 05 e1 0d 03 e8 1d dd |................| 00000a50 f2 45 76 65 6e 74 5f 4d 65 6e 75 43 68 6f 69 63 |.Event_MenuChoic| 00000a60 65 28 6d 65 6e 75 25 29 0d 03 f2 0c c8 8e 6d 65 |e(menu%)......me| 00000a70 6e 75 25 ca 0d 03 fc 22 c9 42 61 72 5f 4d 65 6e |nu%....".Bar_Men| 00000a80 75 25 3a f2 55 73 65 72 5f 4d 65 6e 75 43 68 6f |u%:.User_MenuCho| 00000a90 69 63 65 42 61 72 0d 04 06 24 c9 4d 61 69 6e 5f |iceBar...$.Main_| 00000aa0 4d 65 6e 75 25 3a f2 55 73 65 72 5f 4d 65 6e 75 |Menu%:.User_Menu| 00000ab0 43 68 6f 69 63 65 4d 61 69 6e 0d 04 10 05 cb 0d |ChoiceMain......| 00000ac0 04 1a 05 e1 0d 04 24 18 dd f2 55 73 65 72 5f 4d |......$...User_M| 00000ad0 65 6e 75 43 68 6f 69 63 65 42 61 72 0d 04 2e 1a |enuChoiceBar....| 00000ae0 c8 8e a4 57 69 6d 70 5f 4d 65 6e 75 43 68 6f 69 |...Wimp_MenuChoi| 00000af0 63 65 28 30 29 ca 0d 04 38 06 c9 31 0d 04 42 2c |ce(0)...8..1..B,| 00000b00 c9 32 3a f2 57 69 6d 70 5f 53 65 6e 64 54 6f 45 |.2:.Wimp_SendToE| 00000b10 64 69 74 28 22 3c 54 6f 64 61 79 24 44 69 72 3e |dit("<Today$Dir>| 00000b20 2e 21 48 65 6c 70 22 29 0d 04 4c 12 c9 33 3a 66 |.!Help")..L..3:f| 00000b30 69 6e 69 73 68 65 64 25 3d b9 0d 04 56 05 cb 0d |inished%=...V...| 00000b40 04 60 05 e1 0d 04 6a 19 dd f2 55 73 65 72 5f 4d |.`....j...User_M| 00000b50 65 6e 75 43 68 6f 69 63 65 4d 61 69 6e 0d 04 74 |enuChoiceMain..t| 00000b60 1a c8 8e a4 57 69 6d 70 5f 4d 65 6e 75 43 68 6f |....Wimp_MenuCho| 00000b70 69 63 65 28 30 29 ca 0d 04 7e 06 c9 31 0d 04 88 |ice(0)...~..1...| 00000b80 06 c9 32 0d 04 92 34 c9 33 3a f2 57 69 6d 70 5f |..2...4.3:.Wimp_| 00000b90 53 65 6e 64 54 6f 45 64 69 74 28 22 3c 54 6f 64 |SendToEdit("<Tod| 00000ba0 61 79 24 44 69 72 3e 2e 54 6f 64 61 79 44 61 74 |ay$Dir>.TodayDat| 00000bb0 61 2e 6f 77 6e 22 29 0d 04 9c 12 c9 34 3a 66 69 |a.own").....4:fi| 00000bc0 6e 69 73 68 65 64 25 3d b9 0d 04 a6 05 cb 0d 04 |nished%=........| 00000bd0 b0 05 e1 0d 04 ba 21 dd f2 45 76 65 6e 74 5f 4c |......!..Event_L| 00000be0 6f 61 64 46 69 6c 65 28 66 69 6c 65 24 2c 74 79 |oadFile(file$,ty| 00000bf0 70 65 24 29 0d 04 c4 05 e1 0d 04 ce 23 dd f2 45 |pe$)........#..E| 00000c00 76 65 6e 74 5f 53 61 76 65 46 69 6c 65 28 66 69 |vent_SaveFile(fi| 00000c10 6c 65 24 2c 77 69 6e 64 6f 77 25 29 0d 04 d8 05 |le$,window%)....| 00000c20 e1 0d 04 e2 12 dd a4 74 69 6d 65 74 65 78 74 28 |.......timetext(| 00000c30 66 24 29 0d 04 ec 15 24 74 69 6d 65 66 6f 72 6d |f$)....$timeform| 00000c40 61 74 3d 66 24 2b bd 30 0d 04 f6 30 c8 99 26 43 |at=f$+.0...0..&C| 00000c50 31 2c 74 69 6d 65 62 6c 6b 2c 74 69 6d 65 73 74 |1,timeblk,timest| 00000c60 72 69 6e 67 2c 36 34 2c 74 69 6d 65 66 6f 72 6d |ring,64,timeform| 00000c70 61 74 b8 72 30 2c 72 31 0d 05 00 0a 3f 72 31 3d |at.r0,r1....?r1=| 00000c80 31 33 0d 05 0a 10 3d 24 74 69 6d 65 73 74 72 69 |13....=$timestri| 00000c90 6e 67 0d 05 14 13 dd a4 4c 6f 77 65 72 43 61 73 |ng......LowerCas| 00000ca0 65 28 41 24 29 0d 05 1e 0d ea 49 25 3a 42 24 3d |e(A$).....I%:B$=| 00000cb0 22 22 0d 05 28 0f e3 49 25 3d 31 b8 a9 28 41 24 |""..(..I%=1..(A$| 00000cc0 29 0d 05 32 1d 42 24 3d 42 24 2b bd 28 97 28 c1 |)..2.B$=B$+.(.(.| 00000cd0 41 24 2c 49 25 2c 31 29 29 84 26 32 30 29 0d 05 |A$,I%,1)).&20)..| 00000ce0 3c 05 ed 0d 05 46 07 3d 42 24 0d 05 50 16 dd f2 |<....F.=B$..P...| 00000cf0 44 61 74 61 5f 4c 6f 61 64 28 66 69 6c 65 24 29 |Data_Load(file$)| 00000d00 0d 05 5a 14 c8 99 22 48 6f 75 72 67 6c 61 73 73 |..Z..."Hourglass| 00000d10 5f 4f 6e 22 0d 05 64 15 ea 46 25 2c 4c 69 6e 65 |_On"..d..F%,Line| 00000d20 24 2c 46 61 69 6c 65 64 25 0d 05 6e 0f 46 25 3d |$,Failed%..n.F%=| 00000d30 8e 28 66 69 6c 65 24 29 0d 05 78 05 f5 0d 05 82 |.(file$)..x.....| 00000d40 0e 4c 69 6e 65 24 3d be 23 46 25 0d 05 8c 1d e7 |.Line$=.#F%.....| 00000d50 c0 4c 69 6e 65 24 2c 31 29 3d 22 2a 22 8c 4c 69 |.Line$,1)="*".Li| 00000d60 6e 65 24 3d be 23 46 25 0d 05 96 0c f2 57 65 65 |ne$=.#F%.....Wee| 00000d70 6b 64 61 79 0d 05 a0 7c e7 28 c1 4c 69 6e 65 24 |kday...|.(.Line$| 00000d80 2c 32 2c 34 29 3d 74 6f 64 61 79 24 84 28 28 c1 |,2,4)=today$.((.| 00000d90 4c 69 6e 65 24 2c 32 2c 32 29 3d 22 30 30 22 80 |Line$,2,2)="00".| 00000da0 c1 4c 69 6e 65 24 2c 34 2c 32 29 3d c1 74 6f 64 |.Line$,4,2)=.tod| 00000db0 61 79 24 2c 33 2c 32 29 29 84 28 c1 4c 69 6e 65 |ay$,3,2)).(.Line| 00000dc0 24 2c 34 2c 32 29 3d 22 30 30 22 80 c1 4c 69 6e |$,4,2)="00"..Lin| 00000dd0 65 24 2c 32 2c 32 29 3d c1 74 6f 64 61 79 24 2c |e$,2,2)=.today$,| 00000de0 31 2c 32 29 29 29 29 58 25 3d b9 8b 58 25 3d a3 |1,2))))X%=..X%=.| 00000df0 0d 05 aa 36 e7 28 c0 4c 69 6e 65 24 2c 31 29 3d |...6.(.Line$,1)=| 00000e00 22 42 22 80 20 58 25 29 8c 42 64 61 79 24 28 42 |"B". X%).Bday$(B| 00000e10 64 61 79 25 2b 31 29 3d 4c 69 6e 65 24 3a 42 64 |day%+1)=Line$:Bd| 00000e20 61 79 25 2b 3d 31 0d 05 b4 36 e7 28 c0 4c 69 6e |ay%+=1...6.(.Lin| 00000e30 65 24 2c 31 29 3d 22 53 22 80 20 58 25 29 8c 45 |e$,1)="S". X%).E| 00000e40 64 61 79 24 28 45 64 61 79 25 2b 31 29 3d 4c 69 |day$(Eday%+1)=Li| 00000e50 6e 65 24 3a 45 64 61 79 25 2b 3d 31 0d 05 be 36 |ne$:Eday%+=1...6| 00000e60 e7 28 c0 4c 69 6e 65 24 2c 31 29 3d 22 52 22 80 |.(.Line$,1)="R".| 00000e70 20 58 25 29 8c 52 64 61 79 24 28 52 64 61 79 25 | X%).Rday$(Rday%| 00000e80 2b 31 29 3d 4c 69 6e 65 24 3a 52 64 61 79 25 2b |+1)=Line$:Rday%+| 00000e90 3d 31 0d 05 c8 29 fd 28 c5 23 46 25 84 28 42 64 |=1...).(.#F%.(Bd| 00000ea0 61 79 25 2b 45 64 61 79 25 2b 52 64 61 79 25 29 |ay%+Eday%+Rday%)| 00000eb0 3d 4d 61 78 4c 69 6e 65 73 25 29 0d 05 d2 08 d9 |=MaxLines%).....| 00000ec0 23 46 25 0d 05 dc 15 c8 99 22 48 6f 75 72 67 6c |#F%......"Hourgl| 00000ed0 61 73 73 5f 4f 66 66 22 0d 05 e6 5b e7 28 42 64 |ass_Off"...[.(Bd| 00000ee0 61 79 25 2b 45 64 61 79 25 29 3d 4d 61 78 4c 69 |ay%+Eday%)=MaxLi| 00000ef0 6e 65 73 25 8c 4d 65 73 73 24 3d 22 44 61 74 61 |nes%.Mess$="Data| 00000f00 20 4f 76 65 72 66 6c 6f 77 2e 2e 2e 22 3a f2 57 | Overflow...":.W| 00000f10 69 6d 70 5f 57 69 6e 64 6f 77 41 6c 65 72 74 28 |imp_WindowAlert(| 00000f20 22 57 48 4f 4f 50 53 21 2e 2e 2e 22 2c 4d 65 73 |"WHOOPS!...",Mes| 00000f30 73 24 29 0d 05 f0 05 e1 0d 05 fa 0d dd f2 57 65 |s$)...........We| 00000f40 65 6b 64 61 79 0d 06 04 07 ea 51 25 0d 06 0e 21 |ekday.....Q%...!| 00000f50 51 25 3d a7 22 31 32 33 34 35 36 37 43 20 22 2c |Q%=."1234567C ",| 00000f60 c1 4c 69 6e 65 24 2c 31 30 2c 31 29 29 0d 06 18 |.Line$,10,1))...| 00000f70 0a e7 51 25 3e 37 e1 0d 06 22 0a e7 c5 23 46 25 |..Q%>7..."...#F%| 00000f80 8c 0d 06 2c 1c e7 51 25 3c 3e 54 6f 64 61 79 25 |...,..Q%<>Today%| 00000f90 8c 4c 69 6e 65 24 3d 22 22 3a e1 8b e1 0d 06 36 |.Line$="":.....6| 00000fa0 05 cd 0d 06 40 24 e7 51 25 3c 3e 54 6f 64 61 79 |....@$.Q%<>Today| 00000fb0 25 4c 69 6e 65 24 3d be 23 46 25 3a f2 57 65 65 |%Line$=.#F%:.Wee| 00000fc0 6b 64 61 79 8b e1 0d 06 4a 05 e1 0d 06 54 21 dd |kday....J....T!.| 00000fd0 f2 50 72 65 70 61 72 65 5f 50 72 69 6e 74 4c 69 |.Prepare_PrintLi| 00000fe0 73 74 28 51 25 2c 41 24 2c 42 24 29 0d 06 5e 0c |st(Q%,A$,B$)..^.| 00000ff0 50 6c 69 73 74 25 3d 31 0d 06 68 4f e7 51 25 3d |Plist%=1..hO.Q%=| 00001000 30 8c 50 6c 69 73 74 24 28 50 6c 69 73 74 25 29 |0.Plist$(Plist%)| 00001010 3d a4 74 69 6d 65 74 65 78 74 28 22 54 6f 64 61 |=.timetext("Toda| 00001020 79 20 69 73 20 25 57 45 20 25 7a 44 59 25 53 54 |y is %WE %zDY%ST| 00001030 20 25 4d 4f 20 25 43 45 25 59 52 22 29 3a 50 6c | %MO %CE%YR"):Pl| 00001040 69 73 74 25 2b 3d 31 0d 06 72 38 e7 51 25 3d 31 |ist%+=1..r8.Q%=1| 00001050 8c 50 6c 69 73 74 24 28 50 6c 69 73 74 25 29 3d |.Plist$(Plist%)=| 00001060 22 44 61 74 61 20 66 6f 72 20 22 2b 41 24 2b 22 |"Data for "+A$+"| 00001070 20 22 2b 42 24 3a 50 6c 69 73 74 25 2b 3d 31 0d | "+B$:Plist%+=1.| 00001080 06 7c 2a f2 41 64 64 54 6f 4c 69 73 74 28 22 52 |.|*.AddToList("R| 00001090 65 6d 69 6e 64 65 72 73 20 22 2c 52 64 61 79 25 |eminders ",Rday%| 000010a0 2c 52 64 61 79 24 28 29 29 0d 06 86 2a f2 41 64 |,Rday$())...*.Ad| 000010b0 64 54 6f 4c 69 73 74 28 22 42 69 72 74 68 64 61 |dToList("Birthda| 000010c0 79 73 20 22 2c 42 64 61 79 25 2c 42 64 61 79 24 |ys ",Bday%,Bday$| 000010d0 28 29 29 0d 06 90 2e f2 41 64 64 54 6f 4c 69 73 |()).....AddToLis| 000010e0 74 28 22 41 6e 6e 69 76 65 72 73 61 72 69 65 73 |t("Anniversaries| 000010f0 20 22 2c 45 64 61 79 25 2c 45 64 61 79 24 28 29 | ",Eday%,Eday$()| 00001100 29 0d 06 9a 05 e1 0d 06 a4 1b dd f2 41 64 64 54 |)...........AddT| 00001110 6f 4c 69 73 74 28 5a 24 2c 5a 25 2c 59 24 28 29 |oList(Z$,Z%,Y$()| 00001120 29 0d 06 ae 0b e7 5a 25 3d 30 8c e1 0d 06 b8 1f |).....Z%=0......| 00001130 50 6c 69 73 74 24 28 50 6c 69 73 74 25 29 3d 22 |Plist$(Plist%)="| 00001140 22 3a 50 6c 69 73 74 25 2b 3d 31 0d 06 c2 1f 50 |":Plist%+=1....P| 00001150 6c 69 73 74 24 28 50 6c 69 73 74 25 29 3d 5a 24 |list$(Plist%)=Z$| 00001160 3a 50 6c 69 73 74 25 2b 3d 31 0d 06 cc 1f 50 6c |:Plist%+=1....Pl| 00001170 69 73 74 24 28 50 6c 69 73 74 25 29 3d 22 22 3a |ist$(Plist%)="":| 00001180 50 6c 69 73 74 25 2b 3d 31 0d 06 d6 0c e3 49 25 |Plist%+=1.....I%| 00001190 3d 31 b8 5a 25 0d 06 e0 11 41 24 3d c1 59 24 28 |=1.Z%....A$=.Y$(| 000011a0 49 25 29 2c 36 29 0d 06 ea 24 e7 c1 41 24 2c 35 |I%),6)...$..A$,5| 000011b0 2c 31 29 3c 3e 22 20 22 8c 41 24 3d c4 35 2c 22 |,1)<>" ".A$=.5,"| 000011c0 20 22 29 2b c1 41 24 2c 36 29 0d 06 f4 1f 50 6c | ")+.A$,6)....Pl| 000011d0 69 73 74 24 28 50 6c 69 73 74 25 29 3d 41 24 3a |ist$(Plist%)=A$:| 000011e0 50 6c 69 73 74 25 2b 3d 31 0d 06 fe 05 ed 0d 07 |Plist%+=1.......| 000011f0 08 05 e1 0d 07 12 0d dd f2 49 6e 63 44 61 74 65 |.........IncDate| 00001200 0d 07 1c 0d ea 41 24 2c 42 24 2c 49 25 0d 07 26 |.....A$,B$,I%..&| 00001210 27 41 24 3d a4 57 69 6d 70 5f 49 63 6f 6e 54 65 |'A$=.Wimp_IconTe| 00001220 78 74 28 53 65 61 72 63 68 5f 57 69 6e 64 6f 77 |xt(Search_Window| 00001230 25 2c 30 29 0d 07 30 27 42 24 3d a4 57 69 6d 70 |%,0)..0'B$=.Wimp| 00001240 5f 49 63 6f 6e 54 65 78 74 28 53 65 61 72 63 68 |_IconText(Search| 00001250 5f 57 69 6e 64 6f 77 25 2c 31 29 0d 07 3a 15 42 |_Window%,1)..:.B| 00001260 24 3d a4 4c 6f 77 65 72 43 61 73 65 28 42 24 29 |$=.LowerCase(B$)| 00001270 0d 07 44 1e 49 25 3d 30 3a f5 3a 49 25 2b 3d 31 |..D.I%=0:.:I%+=1| 00001280 3a fd 42 24 3d 6d 33 6c 63 24 28 49 25 29 0d 07 |:.B$=m3lc$(I%)..| 00001290 4e 11 41 24 3d c3 28 bb 28 41 24 29 2b 31 29 0d |N.A$=.(.(A$)+1).| 000012a0 07 58 27 e7 bb 28 41 24 29 3e 3d 6d 64 61 79 73 |.X'..(A$)>=mdays| 000012b0 25 28 49 25 29 8c 41 24 3d c3 28 6d 64 61 79 73 |%(I%).A$=.(mdays| 000012c0 25 28 49 25 29 29 0d 07 62 2a f2 57 69 6d 70 5f |%(I%))..b*.Wimp_| 000012d0 49 63 6f 6e 50 75 74 54 65 78 74 28 53 65 61 72 |IconPutText(Sear| 000012e0 63 68 5f 57 69 6e 64 6f 77 25 2c 30 2c 41 24 29 |ch_Window%,0,A$)| 000012f0 0d 07 6c 05 e1 0d 07 76 0e dd f2 49 6e 63 4d 6f |..l....v...IncMo| 00001300 6e 74 68 0d 07 80 0a ea 41 24 2c 49 25 0d 07 8a |nth.....A$,I%...| 00001310 27 41 24 3d a4 57 69 6d 70 5f 49 63 6f 6e 54 65 |'A$=.Wimp_IconTe| 00001320 78 74 28 53 65 61 72 63 68 5f 57 69 6e 64 6f 77 |xt(Search_Window| 00001330 25 2c 31 29 0d 07 94 15 41 24 3d a4 4c 6f 77 65 |%,1)....A$=.Lowe| 00001340 72 43 61 73 65 28 41 24 29 0d 07 9e 1e 49 25 3d |rCase(A$)....I%=| 00001350 30 3a f5 3a 49 25 2b 3d 31 3a fd 41 24 3d 6d 33 |0:.:I%+=1:.A$=m3| 00001360 6c 63 24 28 49 25 29 0d 07 a8 0f e7 49 25 3d 31 |lc$(I%).....I%=1| 00001370 32 20 49 25 3d 30 0d 07 b2 31 f2 57 69 6d 70 5f |2 I%=0...1.Wimp_| 00001380 49 63 6f 6e 50 75 74 54 65 78 74 28 53 65 61 72 |IconPutText(Sear| 00001390 63 68 5f 57 69 6e 64 6f 77 25 2c 31 2c 6d 33 24 |ch_Window%,1,m3$| 000013a0 28 49 25 2b 31 29 29 0d 07 bc 05 e1 0d 07 c6 0d |(I%+1)).........| 000013b0 dd f2 44 65 63 44 61 74 65 0d 07 d0 0a ea 41 24 |..DecDate.....A$| 000013c0 2c 49 25 0d 07 da 27 41 24 3d a4 57 69 6d 70 5f |,I%...'A$=.Wimp_| 000013d0 49 63 6f 6e 54 65 78 74 28 53 65 61 72 63 68 5f |IconText(Search_| 000013e0 57 69 6e 64 6f 77 25 2c 30 29 0d 07 e4 11 41 24 |Window%,0)....A$| 000013f0 3d c3 28 bb 28 41 24 29 2d 31 29 0d 07 ee 11 e7 |=.(.(A$)-1).....| 00001400 41 24 3d 22 30 22 41 24 3d 22 31 22 0d 07 f8 2a |A$="0"A$="1"...*| 00001410 f2 57 69 6d 70 5f 49 63 6f 6e 50 75 74 54 65 78 |.Wimp_IconPutTex| 00001420 74 28 53 65 61 72 63 68 5f 57 69 6e 64 6f 77 25 |t(Search_Window%| 00001430 2c 30 2c 41 24 29 0d 08 02 05 e1 0d 08 0c 0e dd |,0,A$)..........| 00001440 f2 44 65 63 4d 6f 6e 74 68 0d 08 16 0a ea 41 24 |.DecMonth.....A$| 00001450 2c 49 25 0d 08 20 27 41 24 3d a4 57 69 6d 70 5f |,I%.. 'A$=.Wimp_| 00001460 49 63 6f 6e 54 65 78 74 28 53 65 61 72 63 68 5f |IconText(Search_| 00001470 57 69 6e 64 6f 77 25 2c 31 29 0d 08 2a 15 41 24 |Window%,1)..*.A$| 00001480 3d a4 4c 6f 77 65 72 43 61 73 65 28 41 24 29 0d |=.LowerCase(A$).| 00001490 08 34 1e 49 25 3d 30 3a f5 3a 49 25 2b 3d 31 3a |.4.I%=0:.:I%+=1:| 000014a0 fd 41 24 3d 6d 33 6c 63 24 28 49 25 29 0d 08 3e |.A$=m3lc$(I%)..>| 000014b0 0f e7 49 25 3d 31 20 49 25 3d 31 33 0d 08 48 31 |..I%=1 I%=13..H1| 000014c0 f2 57 69 6d 70 5f 49 63 6f 6e 50 75 74 54 65 78 |.Wimp_IconPutTex| 000014d0 74 28 53 65 61 72 63 68 5f 57 69 6e 64 6f 77 25 |t(Search_Window%| 000014e0 2c 31 2c 6d 33 24 28 49 25 2d 31 29 29 0d 08 52 |,1,m3$(I%-1))..R| 000014f0 05 e1 0d 08 5c 10 dd f2 55 70 64 61 74 65 4d 61 |....\...UpdateMa| 00001500 69 6e 0d 08 66 1c ea 41 24 2c 42 24 2c 43 24 2c |in..f..A$,B$,C$,| 00001510 4a 25 2c 49 25 2c 4b 25 2c 4d 65 73 73 24 0d 08 |J%,I%,K%,Mess$..| 00001520 70 27 41 24 3d a4 57 69 6d 70 5f 49 63 6f 6e 54 |p'A$=.Wimp_IconT| 00001530 65 78 74 28 53 65 61 72 63 68 5f 57 69 6e 64 6f |ext(Search_Windo| 00001540 77 25 2c 30 29 0d 08 7a 27 42 24 3d a4 57 69 6d |w%,0)..z'B$=.Wim| 00001550 70 5f 49 63 6f 6e 54 65 78 74 28 53 65 61 72 63 |p_IconText(Searc| 00001560 68 5f 57 69 6e 64 6f 77 25 2c 31 29 0d 08 84 23 |h_Window%,1)...#| 00001570 54 6f 64 61 79 25 3d 39 3a 4a 25 3d 30 3a 42 24 |Today%=9:J%=0:B$| 00001580 3d a4 4c 6f 77 65 72 43 61 73 65 28 42 24 29 0d |=.LowerCase(B$).| 00001590 08 8e 16 e7 a9 28 41 24 29 3d 31 20 41 24 3d 22 |.....(A$)=1 A$="| 000015a0 30 22 2b 41 24 0d 08 98 0c e3 49 25 3d 31 b8 31 |0"+A$.....I%=1.1| 000015b0 32 0d 08 a2 16 e7 6d 33 6c 63 24 28 49 25 29 3d |2.....m3lc$(I%)=| 000015c0 42 24 8c 4a 25 3d 31 0d 08 ac 05 ed 0d 08 b6 4e |B$.J%=1........N| 000015d0 e7 4a 25 3d 30 8c 4d 65 73 73 24 3d 22 4d 6f 6e |.J%=0.Mess$="Mon| 000015e0 74 68 20 73 70 65 6c 74 20 69 6e 63 6f 72 72 65 |th spelt incorre| 000015f0 63 74 6c 79 22 3a f2 57 69 6d 70 5f 57 69 6e 64 |ctly":.Wimp_Wind| 00001600 6f 77 41 6c 65 72 74 28 22 57 68 6f 6f 70 73 21 |owAlert("Whoops!| 00001610 22 2c 4d 65 73 73 24 29 3a e1 0d 08 c0 1e 4b 25 |",Mess$):.....K%| 00001620 3d 30 3a f5 3a 4b 25 2b 3d 31 3a fd 42 24 3d 6d |=0:.:K%+=1:.B$=m| 00001630 33 6c 63 24 28 4b 25 29 0d 08 ca 1f 43 24 3d c3 |3lc$(K%)....C$=.| 00001640 28 4b 25 29 3a e7 a9 28 43 24 29 3d 31 20 43 24 |(K%):..(C$)=1 C$| 00001650 3d 22 30 22 2b 43 24 0d 08 d4 5e e7 bb 28 41 24 |="0"+C$...^..(A$| 00001660 29 3e 6d 64 61 79 73 25 28 4b 25 29 8c 4d 65 73 |)>mdays%(K%).Mes| 00001670 73 24 3d 22 54 6f 6f 20 6d 61 6e 79 20 64 61 79 |s$="Too many day| 00001680 73 20 69 6e 20 74 68 69 73 20 6d 6f 6e 74 68 22 |s in this month"| 00001690 3a f2 57 69 6d 70 5f 57 69 6e 64 6f 77 41 6c 65 |:.Wimp_WindowAle| 000016a0 72 74 28 22 57 68 6f 6f 70 73 21 22 2c 4d 65 73 |rt("Whoops!",Mes| 000016b0 73 24 29 3a e1 0d 08 de 3e e3 49 25 3d 30 b8 4d |s$):....>.I%=0.M| 000016c0 61 78 4c 69 6e 65 73 25 2f 33 3a 42 64 61 79 24 |axLines%/3:Bday$| 000016d0 28 49 25 29 3d 22 22 3a 45 64 61 79 24 28 49 25 |(I%)="":Eday$(I%| 000016e0 29 3d 22 22 3a 52 64 61 79 24 28 49 25 29 3d 22 |)="":Rday$(I%)="| 000016f0 22 3a ed 0d 08 e8 22 e3 49 25 3d 30 b8 4d 61 78 |":....".I%=0.Max| 00001700 4c 69 6e 65 73 25 2b 31 30 3a 50 6c 69 73 74 24 |Lines%+10:Plist$| 00001710 3d 22 22 3a ed 0d 08 f2 25 66 69 6c 65 24 3d 22 |="":....%file$="| 00001720 3c 54 6f 64 61 79 24 44 69 72 3e 2e 54 6f 64 61 |<Today$Dir>.Toda| 00001730 79 44 61 74 61 2e 22 2b 42 24 0d 08 fc 28 42 64 |yData."+B$...(Bd| 00001740 61 79 25 3d 30 3a 45 64 61 79 25 3d 30 3a 52 64 |ay%=0:Eday%=0:Rd| 00001750 61 79 25 3d 30 3a 74 6f 64 61 79 24 3d 43 24 2b |ay%=0:today$=C$+| 00001760 41 24 0d 09 06 20 e3 49 25 3d 31 b8 50 6c 69 73 |A$... .I%=1.Plis| 00001770 74 25 3a 50 6c 69 73 74 24 28 49 25 29 3d 22 22 |t%:Plist$(I%)=""| 00001780 3a ed 0d 09 10 18 f2 44 61 74 61 5f 4c 6f 61 64 |:......Data_Load| 00001790 28 6f 77 6e 66 69 6c 65 24 29 0d 09 1a 15 f2 44 |(ownfile$).....D| 000017a0 61 74 61 5f 4c 6f 61 64 28 66 69 6c 65 24 29 0d |ata_Load(file$).| 000017b0 09 24 24 f2 50 72 65 70 61 72 65 5f 50 72 69 6e |.$$.Prepare_Prin| 000017c0 74 4c 69 73 74 28 31 2c 41 24 2c 6d 33 24 28 4b |tList(1,A$,m3$(K| 000017d0 25 29 29 0d 09 2e 27 f2 57 69 6d 70 5f 57 69 6e |%))...'.Wimp_Win| 000017e0 64 6f 77 46 6f 72 63 65 44 72 61 77 28 4d 61 69 |dowForceDraw(Mai| 000017f0 6e 5f 57 69 6e 64 6f 77 25 29 0d 09 38 25 f2 57 |n_Window%)..8%.W| 00001800 69 6d 70 5f 57 69 6e 64 6f 77 43 6c 6f 73 65 28 |imp_WindowClose(| 00001810 53 65 61 72 63 68 5f 57 69 6e 64 6f 77 25 29 0d |Search_Window%).| 00001820 09 42 13 f2 57 69 6d 70 5f 4d 65 6e 75 43 6c 6f |.B..Wimp_MenuClo| 00001830 73 65 0d 09 4c 05 e1 0d 09 56 27 dd f2 57 69 6d |se..L....V'..Wim| 00001840 70 5f 57 69 6e 64 6f 77 41 6c 65 72 74 28 74 69 |p_WindowAlert(ti| 00001850 74 6c 65 24 2c 6d 65 73 73 61 67 65 24 29 0d 09 |tle$,message$)..| 00001860 60 2b f2 57 69 6d 70 5f 57 69 6e 64 6f 77 41 6c |`+.Wimp_WindowAl| 00001870 65 72 74 42 6f 78 28 74 69 74 6c 65 24 2c 6d 65 |ertBox(title$,me| 00001880 73 73 61 67 65 24 2c 30 29 0d 09 6a 05 e1 0d 09 |ssage$,0)..j....| 00001890 74 32 dd f2 57 69 6d 70 5f 57 69 6e 64 6f 77 41 |t2..Wimp_WindowA| 000018a0 6c 65 72 74 42 6f 78 28 74 69 74 6c 65 24 2c 6d |lertBox(title$,m| 000018b0 65 73 73 61 67 65 24 2c 62 75 74 74 6f 6e 25 29 |essage$,button%)| 000018c0 0d 09 7e 0e ea 72 65 73 70 6f 6e 73 65 25 0d 09 |..~..response%..| 000018d0 88 17 24 28 77 69 6d 70 25 2b 34 29 3d 6d 65 73 |..$(wimp%+4)=mes| 000018e0 73 61 67 65 24 0d 09 92 0e c8 8e 62 75 74 74 6f |sage$......butto| 000018f0 6e 25 ca 0d 09 9c 12 c9 32 3a 72 65 73 70 6f 6e |n%......2:respon| 00001900 73 65 25 3d 31 0d 09 a6 13 c9 31 3a 72 65 73 70 |se%=1.....1:resp| 00001910 6f 6e 73 65 25 3d 31 35 0d 09 b0 1a c9 33 3a 72 |onse%=15.....3:r| 00001920 65 73 70 6f 6e 73 65 25 3d 28 31 3c 3c 35 29 2b |esponse%=(1<<5)+| 00001930 31 36 0d 09 ba 1a c9 34 3a 72 65 73 70 6f 6e 73 |16.....4:respons| 00001940 65 25 3d 28 31 3c 3c 36 29 2b 31 36 0d 09 c4 12 |e%=(1<<6)+16....| 00001950 7f 3a 72 65 73 70 6f 6e 73 65 25 3d 31 36 0d 09 |.:response%=16..| 00001960 ce 05 cb 0d 09 d8 3a c8 99 22 57 69 6d 70 5f 52 |......:.."Wimp_R| 00001970 65 70 6f 72 74 45 72 72 6f 72 22 2c 77 69 6d 70 |eportError",wimp| 00001980 25 2c 72 65 73 70 6f 6e 73 65 25 2c 74 69 74 6c |%,response%,titl| 00001990 65 24 b8 2c 72 65 73 70 6f 6e 73 65 25 0d 09 e2 |e$.,response%...| 000019a0 05 e1 0d 09 ec 28 dd a4 57 69 6d 70 5f 57 69 6e |.....(..Wimp_Win| 000019b0 64 6f 77 43 61 6e 63 65 6c 28 74 69 74 6c 65 24 |dowCancel(title$| 000019c0 2c 6d 65 73 73 61 67 65 24 29 0d 09 f6 17 24 28 |,message$)....$(| 000019d0 77 69 6d 70 25 2b 34 29 3d 6d 65 73 73 61 67 65 |wimp%+4)=message| 000019e0 24 0d 0a 00 10 72 65 73 70 6f 6e 73 65 25 3d 32 |$....response%=2| 000019f0 33 0d 0a 0a 3a c8 99 22 57 69 6d 70 5f 52 65 70 |3...:.."Wimp_Rep| 00001a00 6f 72 74 45 72 72 6f 72 22 2c 77 69 6d 70 25 2c |ortError",wimp%,| 00001a10 72 65 73 70 6f 6e 73 65 25 2c 74 69 74 6c 65 24 |response%,title$| 00001a20 b8 2c 72 65 73 70 6f 6e 73 65 25 0d 0a 14 10 3d |.,response%....=| 00001a30 72 65 73 70 6f 6e 73 65 25 2d 32 0d 0a 1e 2a dd |response%-2...*.| 00001a40 f2 57 69 6d 70 5f 57 69 6e 64 6f 77 45 72 72 6f |.Wimp_WindowErro| 00001a50 72 42 6f 78 28 74 69 74 6c 65 24 2c 6d 65 73 73 |rBox(title$,mess| 00001a60 61 67 65 24 29 0d 0a 28 2b f2 57 69 6d 70 5f 57 |age$)..(+.Wimp_W| 00001a70 69 6e 64 6f 77 41 6c 65 72 74 42 6f 78 28 74 69 |indowAlertBox(ti| 00001a80 74 6c 65 24 2c 6d 65 73 73 61 67 65 24 2c 32 29 |tle$,message$,2)| 00001a90 0d 0a 32 05 e1 0d 0a 3c 1f dd a4 57 69 6d 70 5f |..2....<...Wimp_| 00001aa0 57 69 6e 64 6f 77 54 69 74 6c 65 28 77 69 6e 64 |WindowTitle(wind| 00001ab0 6f 77 25 29 0d 0a 46 13 77 69 6d 70 25 21 30 3d |ow%)..F.wimp%!0=| 00001ac0 77 69 6e 64 6f 77 25 0d 0a 50 1f c8 99 22 57 69 |window%..P..."Wi| 00001ad0 6d 70 5f 47 65 74 57 69 6e 64 49 6e 66 6f 22 2c |mp_GetWindInfo",| 00001ae0 2c 77 69 6d 70 25 0d 0a 5a 33 e7 28 28 77 69 6d |,wimp%..Z3.((wim| 00001af0 70 25 21 36 30 29 80 26 31 30 30 29 3d 30 85 31 |p%!60).&100)=0.1| 00001b00 2c 22 54 69 74 6c 65 20 69 73 6e 27 74 20 69 6e |,"Title isn't in| 00001b10 64 69 72 65 63 74 65 64 22 0d 0a 64 10 3d 24 28 |directed"..d.=$(| 00001b20 77 69 6d 70 25 21 37 36 29 0d 0a 6e 1e dd a4 57 |wimp%!76)..n...W| 00001b30 69 6d 70 5f 57 69 6e 64 6f 77 4c 6f 61 64 28 77 |imp_WindowLoad(w| 00001b40 69 6e 64 6f 77 24 29 0d 0a 78 39 3d a4 57 69 6d |indow$)..x9=.Wim| 00001b50 70 5f 57 69 6e 64 6f 77 4c 6f 61 64 46 72 6f 6d |p_WindowLoadFrom| 00001b60 28 77 69 6e 64 6f 77 24 2c 22 3c 4f 62 65 79 24 |(window$,"<Obey$| 00001b70 44 69 72 3e 2e 54 65 6d 70 6c 61 74 65 73 22 29 |Dir>.Templates")| 00001b80 0d 0a 82 2c dd a4 57 69 6d 70 5f 57 69 6e 64 6f |...,..Wimp_Windo| 00001b90 77 4c 6f 61 64 46 72 6f 6d 28 77 69 6e 64 6f 77 |wLoadFrom(window| 00001ba0 24 2c 74 65 6d 70 6c 61 74 65 24 29 0d 0a 8c 19 |$,template$)....| 00001bb0 ea 63 25 2c 69 25 2c 6e 25 2c 6a 25 2c 73 70 24 |.c%,i%,n%,j%,sp$| 00001bc0 2c 73 70 32 24 0d 0a 96 24 c8 99 22 57 69 6d 70 |,sp2$...$.."Wimp| 00001bd0 5f 4f 70 65 6e 54 65 6d 70 6c 61 74 65 22 2c 2c |_OpenTemplate",,| 00001be0 74 65 6d 70 6c 61 74 65 24 0d 0a a0 4a c8 99 22 |template$...J.."| 00001bf0 57 69 6d 70 5f 4c 6f 61 64 54 65 6d 70 6c 61 74 |Wimp_LoadTemplat| 00001c00 65 22 2c 2c 77 69 6d 70 25 2c 69 63 6f 6e 73 25 |e",,wimp%,icons%| 00001c10 2c 69 63 6f 6e 5f 6d 65 6d 6f 72 79 25 2c 2d 31 |,icon_memory%,-1| 00001c20 2c 77 69 6e 64 6f 77 24 2c 30 b8 2c 2c 69 63 6f |,window$,0.,,ico| 00001c30 6e 73 25 0d 0a aa 0f c8 8e 73 70 72 69 74 65 73 |ns%......sprites| 00001c40 25 ca 0d 0a b4 18 c9 31 3a 77 69 6d 70 25 21 36 |%......1:wimp%!6| 00001c50 34 3d 73 70 72 69 74 65 73 25 0d 0a be 26 7f 3a |4=sprites%...&.:| 00001c60 77 69 6d 70 25 21 36 34 3d a4 45 76 65 6e 74 5f |wimp%!64=.Event_| 00001c70 53 70 72 69 74 65 73 28 77 69 6e 64 6f 77 25 29 |Sprites(window%)| 00001c80 0d 0a c8 05 cb 0d 0a d2 23 c8 99 22 57 69 6d 70 |........#.."Wimp| 00001c90 5f 43 72 65 61 74 65 57 69 6e 64 6f 77 22 2c 2c |_CreateWindow",,| 00001ca0 77 69 6d 70 25 b8 63 25 0d 0a dc 1a c8 99 22 57 |wimp%.c%......"W| 00001cb0 69 6d 70 5f 43 6c 6f 73 65 54 65 6d 70 6c 61 74 |imp_CloseTemplat| 00001cc0 65 22 0d 0a e6 36 c8 99 22 57 69 6d 70 5f 57 68 |e"...6.."Wimp_Wh| 00001cd0 69 63 68 49 63 6f 6e 22 2c 63 25 2c 77 69 6d 70 |ichIcon",c%,wimp| 00001ce0 25 2b 34 30 2c 31 2b 32 2b 28 31 3c 3c 38 29 2c |%+40,1+2+(1<<8),| 00001cf0 32 2b 28 31 3c 3c 38 29 0d 0a f0 0f c8 8e 77 69 |2+(1<<8)......wi| 00001d00 6d 70 25 21 34 30 ca 0d 0a fa 07 c9 2d 31 0d 0b |mp%!40......-1..| 00001d10 04 0b 7f 3a 69 25 3d 34 30 0d 0b 0e 05 f5 0d 0b |...:i%=40.......| 00001d20 18 1f 77 69 6d 70 25 21 34 3d 77 69 6d 70 25 21 |..wimp%!4=wimp%!| 00001d30 69 25 3a 77 69 6d 70 25 21 30 3d 63 25 0d 0b 22 |i%:wimp%!0=c%.."| 00001d40 20 c8 99 22 57 69 6d 70 5f 47 65 74 49 63 6f 6e | .."Wimp_GetIcon| 00001d50 53 74 61 74 65 22 2c 2c 77 69 6d 70 25 0d 0b 2c |State",,wimp%..,| 00001d60 2a 73 70 24 3d a4 57 69 6d 70 5f 47 65 74 53 74 |*sp$=.Wimp_GetSt| 00001d70 72 69 6e 67 41 74 41 64 64 72 65 73 73 28 77 69 |ringAtAddress(wi| 00001d80 6d 70 25 21 32 38 29 0d 0b 36 1e c8 99 22 57 69 |mp%!28)..6..."Wi| 00001d90 6d 70 5f 44 65 6c 65 74 65 49 63 6f 6e 22 2c 2c |mp_DeleteIcon",,| 00001da0 77 69 6d 70 25 0d 0b 40 0f c8 8e 73 70 72 69 74 |wimp%..@...sprit| 00001db0 65 73 25 ca 0d 0b 4a 11 c9 31 3a 77 69 6d 70 25 |es%...J..1:wimp%| 00001dc0 21 33 32 3d 31 0d 0b 54 05 7f 0d 0b 5e 27 c8 99 |!32=1..T....^'..| 00001dd0 22 4f 53 5f 53 70 72 69 74 65 4f 70 22 2c 26 31 |"OS_SpriteOp",&1| 00001de0 30 38 2c 73 70 72 69 74 65 73 25 b8 2c 2c 2c 6e |08,sprites%.,,,n| 00001df0 25 0d 0b 68 08 6a 25 3d 30 0d 0b 72 0b f5 3a 6a |%..h.j%=0..r..:j| 00001e00 25 2b 3d 31 0d 0b 7c 36 c8 99 22 4f 53 5f 53 70 |%+=1..|6.."OS_Sp| 00001e10 72 69 74 65 4f 70 22 2c 26 31 30 44 2c 73 70 72 |riteOp",&10D,spr| 00001e20 69 74 65 73 25 2c 70 6f 69 6e 74 65 72 5f 62 6c |ites%,pointer_bl| 00001e30 6f 63 6b 25 2c 32 30 2c 6a 25 0d 0b 86 31 73 70 |ock%,20,j%...1sp| 00001e40 32 24 3d a4 57 69 6d 70 5f 47 65 74 53 74 72 69 |2$=.Wimp_GetStri| 00001e50 6e 67 41 74 41 64 64 72 65 73 73 28 70 6f 69 6e |ngAtAddress(poin| 00001e60 74 65 72 5f 62 6c 6f 63 6b 25 29 0d 0b 90 13 fd |ter_block%).....| 00001e70 6a 25 3d 6e 25 84 73 70 24 3d 73 70 32 24 0d 0b |j%=n%.sp$=sp2$..| 00001e80 9a 2a e7 73 70 24 3d 73 70 32 24 8c 77 69 6d 70 |.*.sp$=sp2$.wimp| 00001e90 25 21 33 32 3d 73 70 72 69 74 65 73 25 8b 77 69 |%!32=sprites%.wi| 00001ea0 6d 70 25 21 33 32 3d 31 0d 0b a4 05 cb 0d 0b ae |mp%!32=1........| 00001eb0 0e 77 69 6d 70 25 21 34 3d 63 25 0d 0b b8 28 c8 |.wimp%!4=c%...(.| 00001ec0 99 22 57 69 6d 70 5f 43 72 65 61 74 65 49 63 6f |."Wimp_CreateIco| 00001ed0 6e 22 2c 2c 77 69 6d 70 25 2b 34 b8 68 61 6e 64 |n",,wimp%+4.hand| 00001ee0 6c 65 25 0d 0b c2 09 69 25 2b 3d 34 0d 0b cc 12 |le%....i%+=4....| 00001ef0 fd 28 77 69 6d 70 25 21 69 25 29 3d 2d 31 0d 0b |.(wimp%!i%)=-1..| 00001f00 d6 05 cb 0d 0b e0 07 3d 63 25 0d 0b ea 24 dd f2 |.......=c%...$..| 00001f10 57 69 6d 70 5f 57 69 6e 64 6f 77 42 72 69 6e 67 |Wimp_WindowBring| 00001f20 54 6f 54 6f 70 28 77 69 6e 64 6f 77 25 29 0d 0b |ToTop(window%)..| 00001f30 f4 12 21 77 69 6d 70 25 3d 77 69 6e 64 6f 77 25 |..!wimp%=window%| 00001f40 0d 0b fe 22 c8 99 22 57 69 6d 70 5f 47 65 74 57 |...".."Wimp_GetW| 00001f50 69 6e 64 6f 77 53 74 61 74 65 22 2c 2c 77 69 6d |indowState",,wim| 00001f60 70 25 0d 0c 08 0f 77 69 6d 70 25 21 32 38 3d 2d |p%....wimp%!28=-| 00001f70 31 0d 0c 12 1e c8 99 22 57 69 6d 70 5f 4f 70 65 |1......"Wimp_Ope| 00001f80 6e 57 69 6e 64 6f 77 22 2c 2c 77 69 6d 70 25 0d |nWindow",,wimp%.| 00001f90 0c 1c 05 e1 0d 0c 26 1f dd f2 57 69 6d 70 5f 57 |......&...Wimp_W| 00001fa0 69 6e 64 6f 77 43 6c 6f 73 65 28 77 69 6e 64 6f |indowClose(windo| 00001fb0 77 25 29 0d 0c 30 12 21 77 69 6d 70 25 3d 77 69 |w%)..0.!wimp%=wi| 00001fc0 6e 64 6f 77 25 0d 0c 3a 1f c8 99 22 57 69 6d 70 |ndow%..:..."Wimp| 00001fd0 5f 43 6c 6f 73 65 57 69 6e 64 6f 77 22 2c 2c 77 |_CloseWindow",,w| 00001fe0 69 6d 70 25 0d 0c 44 05 e1 0d 0c 4e 23 dd f2 57 |imp%..D....N#..W| 00001ff0 69 6d 70 5f 57 69 6e 64 6f 77 46 6f 72 63 65 44 |imp_WindowForceD| 00002000 72 61 77 28 77 69 6e 64 6f 77 25 29 0d 0c 58 0e |raw(window%)..X.| 00002010 c8 8e 77 69 6e 64 6f 77 25 ca 0d 0c 62 31 c9 2d |..window%...b1.-| 00002020 31 3a c8 99 22 57 69 6d 70 5f 46 6f 72 63 65 52 |1:.."Wimp_ForceR| 00002030 65 64 72 61 77 22 2c 2d 31 2c 30 2c 30 2c 32 2a |edraw",-1,0,0,2*| 00002040 31 32 38 30 2c 32 2a 31 30 32 34 0d 0c 6c 35 7f |1280,2*1024..l5.| 00002050 3a c8 99 22 57 69 6d 70 5f 46 6f 72 63 65 52 65 |:.."Wimp_ForceRe| 00002060 64 72 61 77 22 2c 77 69 6e 64 6f 77 25 2c 30 2c |draw",window%,0,| 00002070 2d 32 2a 31 30 32 34 2c 32 2a 31 32 38 30 2c 30 |-2*1024,2*1280,0| 00002080 0d 0c 76 05 cb 0d 0c 80 05 e1 0d 0c 8a 1e dd f2 |..v.............| 00002090 57 69 6d 70 5f 57 69 6e 64 6f 77 4f 70 65 6e 28 |Wimp_WindowOpen(| 000020a0 77 69 6e 64 6f 77 25 29 0d 0c 94 12 21 77 69 6d |window%)....!wim| 000020b0 70 25 3d 77 69 6e 64 6f 77 25 0d 0c 9e 22 c8 99 |p%=window%..."..| 000020c0 22 57 69 6d 70 5f 47 65 74 57 69 6e 64 6f 77 53 |"Wimp_GetWindowS| 000020d0 74 61 74 65 22 2c 2c 77 69 6d 70 25 0d 0c a8 1e |tate",,wimp%....| 000020e0 c8 99 22 57 69 6d 70 5f 4f 70 65 6e 57 69 6e 64 |.."Wimp_OpenWind| 000020f0 6f 77 22 2c 2c 77 69 6d 70 25 0d 0c b2 05 e1 0d |ow",,wimp%......| 00002100 0c bc 19 f2 57 69 6d 70 5f 57 69 6e 64 6f 77 49 |....Wimp_WindowI| 00002110 6e 74 65 72 66 61 63 65 0d 0c c6 20 c8 99 22 57 |nterface... .."W| 00002120 69 6d 70 5f 42 6f 72 64 65 72 57 69 6e 64 6f 77 |imp_BorderWindow| 00002130 22 2c 2c 77 69 6d 70 25 0d 0c d0 05 e1 0d 0c da |",,wimp%........| 00002140 1b dd a4 57 69 6d 70 5f 49 63 6f 6e 42 61 72 28 |...Wimp_IconBar(| 00002150 53 70 72 69 74 65 24 29 0d 0c e4 0a ea 69 63 6f |Sprite$).....ico| 00002160 6e 25 0d 0c ee 0e 77 69 6d 70 25 21 30 3d 2d 31 |n%....wimp%!0=-1| 00002170 0d 0c f8 17 77 69 6d 70 25 21 34 3d 30 3a 77 69 |....wimp%!4=0:wi| 00002180 6d 70 25 21 38 3d 30 0d 0d 02 1b 77 69 6d 70 25 |mp%!8=0....wimp%| 00002190 21 31 32 3d 36 38 3a 77 69 6d 70 25 21 31 36 3d |!12=68:wimp%!16=| 000021a0 36 38 0d 0d 0c 12 77 69 6d 70 25 21 32 30 3d 26 |68....wimp%!20=&| 000021b0 33 30 30 32 0d 0d 16 17 24 28 77 69 6d 70 25 2b |3002....$(wimp%+| 000021c0 32 34 29 3d 53 70 72 69 74 65 24 0d 0d 20 24 c8 |24)=Sprite$.. $.| 000021d0 99 22 57 69 6d 70 5f 43 72 65 61 74 65 49 63 6f |."Wimp_CreateIco| 000021e0 6e 22 2c 2c 77 69 6d 70 25 b8 69 63 6f 6e 25 0d |n",,wimp%.icon%.| 000021f0 0d 2a 0a 3d 69 63 6f 6e 25 0d 0d 34 2a dd f2 57 |.*.=icon%..4*..W| 00002200 69 6d 70 5f 49 63 6f 6e 43 61 72 65 74 28 77 69 |imp_IconCaret(wi| 00002210 6e 64 6f 77 25 2c 69 63 6f 6e 25 2c 63 68 61 72 |ndow%,icon%,char| 00002220 73 25 29 0d 0d 3e 37 c8 99 22 57 69 6d 70 5f 53 |s%)..>7.."Wimp_S| 00002230 65 74 43 61 72 65 74 50 6f 73 69 74 69 6f 6e 22 |etCaretPosition"| 00002240 2c 77 69 6e 64 6f 77 25 2c 69 63 6f 6e 25 2c 2c |,window%,icon%,,| 00002250 2c 2d 31 2c 63 68 61 72 73 25 0d 0d 48 05 e1 0d |,-1,chars%..H...| 00002260 0d 52 22 dd a4 57 69 6d 70 5f 49 63 6f 6e 54 65 |.R"..Wimp_IconTe| 00002270 78 74 28 77 69 6e 64 6f 77 25 2c 69 63 6f 6e 25 |xt(window%,icon%| 00002280 29 0d 0d 5c 21 77 69 6d 70 25 21 30 3d 77 69 6e |)..\!wimp%!0=win| 00002290 64 6f 77 25 3a 77 69 6d 70 25 21 34 3d 69 63 6f |dow%:wimp%!4=ico| 000022a0 6e 25 0d 0d 66 20 c8 99 22 57 69 6d 70 5f 47 65 |n%..f .."Wimp_Ge| 000022b0 74 49 63 6f 6e 53 74 61 74 65 22 2c 2c 77 69 6d |tIconState",,wim| 000022c0 70 25 0d 0d 70 32 e7 28 28 77 69 6d 70 25 21 32 |p%..p2.((wimp%!2| 000022d0 34 29 80 26 31 30 30 29 3d 30 85 31 2c 22 49 63 |4).&100)=0.1,"Ic| 000022e0 6f 6e 20 69 73 6e 27 74 20 69 6e 64 69 72 65 63 |on isn't indirec| 000022f0 74 65 64 22 0d 0d 7a 10 3d 24 28 77 69 6d 70 25 |ted"..z.=$(wimp%| 00002300 21 32 38 29 0d 0d 84 28 dd a4 57 69 6d 70 5f 49 |!28)...(..Wimp_I| 00002310 63 6f 6e 56 61 6c 69 64 61 74 69 6f 6e 28 77 69 |conValidation(wi| 00002320 6e 64 6f 77 25 2c 69 63 6f 6e 25 29 0d 0d 8e 21 |ndow%,icon%)...!| 00002330 77 69 6d 70 25 21 30 3d 77 69 6e 64 6f 77 25 3a |wimp%!0=window%:| 00002340 77 69 6d 70 25 21 34 3d 69 63 6f 6e 25 0d 0d 98 |wimp%!4=icon%...| 00002350 20 c8 99 22 57 69 6d 70 5f 47 65 74 49 63 6f 6e | .."Wimp_GetIcon| 00002360 53 74 61 74 65 22 2c 2c 77 69 6d 70 25 0d 0d a2 |State",,wimp%...| 00002370 32 e7 28 28 77 69 6d 70 25 21 32 34 29 80 26 31 |2.((wimp%!24).&1| 00002380 30 30 29 3d 30 85 31 2c 22 49 63 6f 6e 20 69 73 |00)=0.1,"Icon is| 00002390 6e 27 74 20 69 6e 64 69 72 65 63 74 65 64 22 0d |n't indirected".| 000023a0 0d ac 10 3d 24 28 77 69 6d 70 25 21 33 32 29 0d |...=$(wimp%!32).| 000023b0 0d b6 25 dd f2 57 69 6d 70 5f 49 63 6f 6e 44 69 |..%..Wimp_IconDi| 000023c0 73 61 62 6c 65 28 77 69 6e 64 6f 77 25 2c 69 63 |sable(window%,ic| 000023d0 6f 6e 25 29 0d 0d c0 21 77 69 6d 70 25 21 30 3d |on%)...!wimp%!0=| 000023e0 77 69 6e 64 6f 77 25 3a 77 69 6d 70 25 21 34 3d |window%:wimp%!4=| 000023f0 69 63 6f 6e 25 0d 0d ca 20 77 69 6d 70 25 21 38 |icon%... wimp%!8| 00002400 3d 31 3c 3c 32 32 3a 77 69 6d 70 25 21 31 32 3d |=1<<22:wimp%!12=| 00002410 31 3c 3c 32 32 0d 0d d4 20 c8 99 22 57 69 6d 70 |1<<22... .."Wimp| 00002420 5f 53 65 74 49 63 6f 6e 53 74 61 74 65 22 2c 2c |_SetIconState",,| 00002430 77 69 6d 70 25 0d 0d de 05 e1 0d 0d e8 24 dd f2 |wimp%........$..| 00002440 57 69 6d 70 5f 49 63 6f 6e 45 6e 61 62 6c 65 28 |Wimp_IconEnable(| 00002450 77 69 6e 64 6f 77 25 2c 69 63 6f 6e 25 29 0d 0d |window%,icon%)..| 00002460 f2 21 77 69 6d 70 25 21 30 3d 77 69 6e 64 6f 77 |.!wimp%!0=window| 00002470 25 3a 77 69 6d 70 25 21 34 3d 69 63 6f 6e 25 0d |%:wimp%!4=icon%.| 00002480 0d fc 1c 77 69 6d 70 25 21 38 3d 30 3a 77 69 6d |...wimp%!8=0:wim| 00002490 70 25 21 31 32 3d 31 3c 3c 32 32 0d 0e 06 20 c8 |p%!12=1<<22... .| 000024a0 99 22 57 69 6d 70 5f 53 65 74 49 63 6f 6e 53 74 |."Wimp_SetIconSt| 000024b0 61 74 65 22 2c 2c 77 69 6d 70 25 0d 0e 10 05 e1 |ate",,wimp%.....| 000024c0 0d 0e 1a 2f dd a4 57 69 6d 70 5f 49 63 6f 6e 50 |.../..Wimp_IconP| 000024d0 75 74 53 70 72 69 74 65 28 77 69 6e 64 6f 77 25 |utSprite(window%| 000024e0 2c 69 63 6f 6e 25 2c 73 70 72 69 74 65 24 29 0d |,icon%,sprite$).| 000024f0 0e 24 21 77 69 6d 70 25 21 30 3d 77 69 6e 64 6f |.$!wimp%!0=windo| 00002500 77 25 3a 77 69 6d 70 25 21 34 3d 69 63 6f 6e 25 |w%:wimp%!4=icon%| 00002510 0d 0e 2e 20 c8 99 22 57 69 6d 70 5f 47 65 74 49 |... .."Wimp_GetI| 00002520 63 6f 6e 53 74 61 74 65 22 2c 2c 77 69 6d 70 25 |conState",,wimp%| 00002530 0d 0e 38 1e c8 99 22 57 69 6d 70 5f 44 65 6c 65 |..8..."Wimp_Dele| 00002540 74 65 49 63 6f 6e 22 2c 2c 77 69 6d 70 25 0d 0e |teIcon",,wimp%..| 00002550 42 36 77 69 6d 70 25 21 34 3d 77 69 6d 70 25 21 |B6wimp%!4=wimp%!| 00002560 38 3a 77 69 6d 70 25 21 38 3d 77 69 6d 70 25 21 |8:wimp%!8=wimp%!| 00002570 31 32 3a 77 69 6d 70 25 21 31 32 3d 77 69 6d 70 |12:wimp%!12=wimp| 00002580 25 21 31 36 0d 0e 4c 3b 77 69 6d 70 25 21 31 36 |%!16..L;wimp%!16| 00002590 3d 77 69 6d 70 25 21 32 30 3a 77 69 6d 70 25 21 |=wimp%!20:wimp%!| 000025a0 32 30 3d 77 69 6d 70 25 21 32 34 3a 24 28 77 69 |20=wimp%!24:$(wi| 000025b0 6d 70 25 2b 32 34 29 3d 73 70 72 69 74 65 24 0d |mp%+24)=sprite$.| 000025c0 0e 56 24 c8 99 22 57 69 6d 70 5f 43 72 65 61 74 |.V$.."Wimp_Creat| 000025d0 65 49 63 6f 6e 22 2c 2c 77 69 6d 70 25 b8 69 63 |eIcon",,wimp%.ic| 000025e0 6f 6e 25 0d 0e 60 0a 3d 69 63 6f 6e 25 0d 0e 6a |on%..`.=icon%..j| 000025f0 2b dd f2 57 69 6d 70 5f 49 63 6f 6e 50 75 74 54 |+..Wimp_IconPutT| 00002600 65 78 74 28 77 69 6e 64 6f 77 25 2c 69 63 6f 6e |ext(window%,icon| 00002610 25 2c 74 65 78 74 24 29 0d 0e 74 21 77 69 6d 70 |%,text$)..t!wimp| 00002620 25 21 30 3d 77 69 6e 64 6f 77 25 3a 77 69 6d 70 |%!0=window%:wimp| 00002630 25 21 34 3d 69 63 6f 6e 25 0d 0e 7e 20 c8 99 22 |%!4=icon%..~ .."| 00002640 57 69 6d 70 5f 47 65 74 49 63 6f 6e 53 74 61 74 |Wimp_GetIconStat| 00002650 65 22 2c 2c 77 69 6d 70 25 0d 0e 88 32 e7 28 28 |e",,wimp%...2.((| 00002660 77 69 6d 70 25 21 32 34 29 80 26 31 30 30 29 3d |wimp%!24).&100)=| 00002670 30 85 31 2c 22 49 63 6f 6e 20 69 73 6e 27 74 20 |0.1,"Icon isn't | 00002680 69 6e 64 69 72 65 63 74 65 64 22 0d 0e 92 15 24 |indirected"....$| 00002690 28 77 69 6d 70 25 21 32 38 29 3d 74 65 78 74 24 |(wimp%!28)=text$| 000026a0 0d 0e 9c 21 77 69 6d 70 25 21 30 3d 77 69 6e 64 |...!wimp%!0=wind| 000026b0 6f 77 25 3a 77 69 6d 70 25 21 34 3d 69 63 6f 6e |ow%:wimp%!4=icon| 000026c0 25 0d 0e a6 18 77 69 6d 70 25 21 38 3d 30 3a 77 |%....wimp%!8=0:w| 000026d0 69 6d 70 25 21 31 32 3d 30 0d 0e b0 20 c8 99 22 |imp%!12=0... .."| 000026e0 57 69 6d 70 5f 53 65 74 49 63 6f 6e 53 74 61 74 |Wimp_SetIconStat| 000026f0 65 22 2c 2c 77 69 6d 70 25 0d 0e ba 05 e1 0d 0e |e",,wimp%.......| 00002700 c4 1d dd f2 57 69 6d 70 5f 49 63 6f 6e 49 6e 74 |....Wimp_IconInt| 00002710 65 72 66 61 63 65 53 74 61 72 74 0d 0e ce 1e c8 |erfaceStart.....| 00002720 99 22 57 69 6d 70 5f 42 6f 72 64 65 72 49 63 6f |."Wimp_BorderIco| 00002730 6e 22 2c 2c 77 69 6d 70 25 0d 0e d8 05 e1 0d 0e |n",,wimp%.......| 00002740 e2 1e dd f2 57 69 6d 70 5f 49 63 6f 6e 49 6e 74 |....Wimp_IconInt| 00002750 65 72 66 61 63 65 46 69 6e 69 73 68 0d 0e ec 0d |erfaceFinish....| 00002760 77 69 6d 70 25 21 38 3d 30 0d 0e f6 1e c8 99 22 |wimp%!8=0......"| 00002770 57 69 6d 70 5f 42 6f 72 64 65 72 49 63 6f 6e 22 |Wimp_BorderIcon"| 00002780 2c 2c 77 69 6d 70 25 0d 0f 00 05 e1 0d 0f 0a 1e |,,wimp%.........| 00002790 dd f2 57 69 6d 70 5f 4d 65 6e 75 41 64 6a 75 73 |..Wimp_MenuAdjus| 000027a0 74 4f 6e 28 6d 65 6e 75 25 29 0d 0f 14 2b c8 99 |tOn(menu%)...+..| 000027b0 22 57 69 6d 70 5f 47 65 74 50 6f 69 6e 74 65 72 |"Wimp_GetPointer| 000027c0 49 6e 66 6f 22 2c 2c 70 6f 69 6e 74 65 72 5f 62 |Info",,pointer_b| 000027d0 6c 6f 63 6b 25 0d 0f 1e 5a e7 28 28 70 6f 69 6e |lock%...Z.((poin| 000027e0 74 65 72 5f 62 6c 6f 63 6b 25 21 38 29 80 31 29 |ter_block%!8).1)| 000027f0 3d 31 8c c8 99 22 57 69 6d 70 5f 43 72 65 61 74 |=1..."Wimp_Creat| 00002800 65 4d 65 6e 75 22 2c 2c 6d 65 6e 75 25 2c 70 6f |eMenu",,menu%,po| 00002810 69 6e 74 65 72 5f 62 6c 6f 63 6b 25 21 30 2c 70 |inter_block%!0,p| 00002820 6f 69 6e 74 65 72 5f 62 6c 6f 63 6b 25 21 34 0d |ointer_block%!4.| 00002830 0f 28 05 e1 0d 0f 32 1d dd a4 57 69 6d 70 5f 4d |.(....2...Wimp_M| 00002840 65 6e 75 43 68 6f 69 63 65 28 6c 65 76 65 6c 25 |enuChoice(level%| 00002850 29 0d 0f 3c 19 3d 28 77 69 6d 70 25 21 28 34 2a |)..<.=(wimp%!(4*| 00002860 6c 65 76 65 6c 25 29 29 2b 31 0d 0f 46 1c dd a4 |level%))+1..F...| 00002870 57 69 6d 70 5f 4d 65 6e 75 43 72 65 61 74 65 28 |Wimp_MenuCreate(| 00002880 6d 65 6e 75 24 29 0d 0f 50 27 e7 6d 65 6e 75 24 |menu$)..P'.menu$| 00002890 3d 22 43 6f 6c 6f 75 72 73 22 8c 3d a4 57 69 6d |="Colours".=.Wim| 000028a0 70 5f 4d 65 6e 75 43 6f 6c 6f 75 72 73 0d 0f 5a |p_MenuColours..Z| 000028b0 26 ea 6d 65 6e 75 25 2c 69 6e 64 65 78 25 2c 77 |&.menu%,index%,w| 000028c0 69 64 74 68 25 2c 6c 65 6e 67 74 68 25 2c 6b 25 |idth%,length%,k%| 000028d0 2c 73 25 0d 0f 64 2c de 6d 65 6e 75 25 32 38 2b |,s%..d,.menu%28+| 000028e0 a4 57 69 6d 70 5f 4d 65 6e 75 4e 6f 4f 66 45 6e |.Wimp_MenuNoOfEn| 000028f0 74 72 69 65 73 28 6d 65 6e 75 24 29 2a 32 34 0d |tries(menu$)*24.| 00002900 0f 6e 2f 6d 65 6e 75 25 3f 31 32 3d 37 3a 6d 65 |.n/menu%?12=7:me| 00002910 6e 75 25 3f 31 33 3d 32 3a 6d 65 6e 75 25 3f 31 |nu%?13=2:menu%?1| 00002920 34 3d 37 3a 6d 65 6e 75 25 3f 31 35 3d 30 0d 0f |4=7:menu%?15=0..| 00002930 78 27 6d 65 6e 75 25 21 31 36 3d 31 34 30 3a 6d |x'menu%!16=140:m| 00002940 65 6e 75 25 21 32 30 3d 34 34 3a 6d 65 6e 75 25 |enu%!20=44:menu%| 00002950 21 32 34 3d 30 0d 0f 82 13 69 6e 64 65 78 25 3d |!24=0....index%=| 00002960 6d 65 6e 75 25 2b 32 38 0d 0f 8c 20 24 6d 65 6e |menu%+28... $men| 00002970 75 25 3d c0 6d 65 6e 75 24 2c a7 6d 65 6e 75 24 |u%=.menu$,.menu$| 00002980 2c 22 5c 22 29 2d 31 29 0d 0f 96 23 77 69 64 74 |,"\")-1)...#widt| 00002990 68 25 3d a9 28 c0 6d 65 6e 75 24 2c a7 6d 65 6e |h%=.(.menu$,.men| 000029a0 75 24 2c 22 5c 22 29 2d 31 29 29 0d 0f a0 22 6d |u$,"\")-1))..."m| 000029b0 65 6e 75 24 2b 3d 22 5c 22 3a 4d 65 6e 75 5f 4e |enu$+="\":Menu_N| 000029c0 6f 4f 66 45 6e 74 72 69 65 73 25 3d 30 0d 0f aa |oOfEntries%=0...| 000029d0 0f c8 95 6d 65 6e 75 24 3c 3e 22 22 0d 0f b4 1f |...menu$<>""....| 000029e0 6d 65 6e 75 24 3d c1 6d 65 6e 75 24 2c a7 6d 65 |menu$=.menu$,.me| 000029f0 6e 75 24 2c 22 5c 22 29 2b 31 29 0d 0f be 0c c8 |nu$,"\")+1).....| 00002a00 8e 6d 65 6e 75 24 ca 0d 0f c8 07 c9 22 22 0d 0f |.menu$......""..| 00002a10 d2 05 7f 0d 0f dc 2b 21 69 6e 64 65 78 25 3d 30 |......+!index%=0| 00002a20 3a 69 6e 64 65 78 25 21 34 3d 2d 31 3a 69 6e 64 |:index%!4=-1:ind| 00002a30 65 78 25 21 38 3d 26 37 30 30 30 30 32 31 0d 0f |ex%!8=&7000021..| 00002a40 e6 19 6c 65 6e 67 74 68 25 3d a7 6d 65 6e 75 24 |..length%=.menu$| 00002a50 2c 22 5c 22 29 2d 31 0d 0f f0 1c 6b 25 3d a7 c0 |,"\")-1....k%=..| 00002a60 6d 65 6e 75 24 2c 6c 65 6e 67 74 68 25 29 2c 22 |menu$,length%),"| 00002a70 3e 22 29 0d 0f fa 09 c8 8e 6b 25 ca 0d 10 04 06 |>")......k%.....| 00002a80 c9 30 0d 10 0e 05 7f 0d 10 18 21 73 25 3d a0 28 |.0........!s%=.(| 00002a90 c1 6d 65 6e 75 24 2c 6b 25 2b 31 2c 6c 65 6e 67 |.menu$,k%+1,leng| 00002aa0 74 68 25 2d 6b 25 29 29 0d 10 22 0f 69 6e 64 65 |th%-k%))..".inde| 00002ab0 78 25 21 34 3d 73 25 0d 10 2c 10 6c 65 6e 67 74 |x%!4=s%..,.lengt| 00002ac0 68 25 3d 6b 25 2d 31 0d 10 36 05 cb 0d 10 40 20 |h%=k%-1..6....@ | 00002ad0 24 28 69 6e 64 65 78 25 2b 31 32 29 3d c0 6d 65 |$(index%+12)=.me| 00002ae0 6e 75 24 2c 6c 65 6e 67 74 68 25 29 0d 10 4a 22 |nu$,length%)..J"| 00002af0 e7 6c 65 6e 67 74 68 25 3e 77 69 64 74 68 25 8c |.length%>width%.| 00002b00 77 69 64 74 68 25 3d 6c 65 6e 67 74 68 25 0d 10 |width%=length%..| 00002b10 54 0e 69 6e 64 65 78 25 2b 3d 32 34 0d 10 5e 05 |T.index%+=24..^.| 00002b20 cb 0d 10 68 05 ce 0d 10 72 1a 6d 65 6e 75 25 21 |...h....r.menu%!| 00002b30 31 36 3d 31 36 2a 28 77 69 64 74 68 25 2b 31 29 |16=16*(width%+1)| 00002b40 0d 10 7c 24 69 6e 64 65 78 25 21 2d 32 34 3d 69 |..|$index%!-24=i| 00002b50 6e 64 65 78 25 21 2d 32 34 84 26 38 30 3a 3d 6d |ndex%!-24.&80:=m| 00002b60 65 6e 75 25 0d 10 86 16 dd a4 57 69 6d 70 5f 4d |enu%......Wimp_M| 00002b70 65 6e 75 43 6f 6c 6f 75 72 73 0d 10 90 21 3d a4 |enuColours...!=.| 00002b80 57 69 6d 70 5f 4d 65 6e 75 43 72 65 61 74 65 43 |Wimp_MenuCreateC| 00002b90 6f 6c 6f 75 72 73 28 22 20 22 29 0d 10 9a 24 dd |olours(" ")...$.| 00002ba0 a4 57 69 6d 70 5f 4d 65 6e 75 43 72 65 61 74 65 |.Wimp_MenuCreate| 00002bb0 43 6f 6c 6f 75 72 73 28 74 69 74 6c 65 24 29 0d |Colours(title$).| 00002bc0 10 a4 12 ea 78 24 2c 6d 65 6e 25 2c 6a 25 2c 69 |....x$,men%,j%,i| 00002bd0 25 0d 10 ae 36 78 24 3d 74 69 74 6c 65 24 2b 22 |%...6x$=title$+"| 00002be0 5c 30 5c 31 5c 32 5c 33 5c 34 5c 35 5c 36 5c 37 |\0\1\2\3\4\5\6\7| 00002bf0 5c 38 5c 39 5c 31 30 5c 31 31 5c 31 32 5c 31 33 |\8\9\10\11\12\13| 00002c00 5c 31 34 5c 31 35 22 0d 10 b8 1d 6d 65 6e 25 3d |\14\15"....men%=| 00002c10 a4 57 69 6d 70 5f 4d 65 6e 75 43 72 65 61 74 65 |.Wimp_MenuCreate| 00002c20 28 78 24 29 0d 10 c2 0c e3 69 25 3d 30 b8 31 35 |(x$).....i%=0.15| 00002c30 0d 10 cc 08 c8 8e b9 ca 0d 10 d6 25 c9 69 25 3c |...........%.i%<| 00002c40 34 2c 69 25 3d 39 2c 69 25 3d 31 32 2c 69 25 3d |4,i%=9,i%=12,i%=| 00002c50 31 34 2c 69 25 3d 31 35 3a 6a 25 3d 37 0d 10 e0 |14,i%=15:j%=7...| 00002c60 0a 7f 3a 6a 25 3d 30 0d 10 ea 05 cb 0d 10 f4 1c |..:j%=0.........| 00002c70 6d 65 6e 25 3f 28 33 39 2b 69 25 2a 32 34 29 3d |men%?(39+i%*24)=| 00002c80 69 25 2a 31 36 2b 6a 25 0d 10 fe 1f f2 57 69 6d |i%*16+j%.....Wim| 00002c90 70 5f 4d 65 6e 75 43 65 6e 74 72 65 28 6d 65 6e |p_MenuCentre(men| 00002ca0 25 2c 69 25 2b 31 29 0d 11 08 05 ed 0d 11 12 09 |%,i%+1).........| 00002cb0 3d 6d 65 6e 25 0d 11 1c 21 dd a4 57 69 6d 70 5f |=men%...!..Wimp_| 00002cc0 4d 65 6e 75 4e 6f 4f 66 45 6e 74 72 69 65 73 28 |MenuNoOfEntries(| 00002cd0 6d 65 6e 75 24 29 0d 11 26 14 ea 6e 25 2c 6a 25 |menu$)..&..n%,j%| 00002ce0 3a 6e 25 3d 30 3a 6a 25 3d 30 0d 11 30 05 f5 0d |:n%=0:j%=0..0...| 00002cf0 11 3a 17 6a 25 3d a7 6d 65 6e 75 24 2c 22 5c 22 |.:.j%=.menu$,"\"| 00002d00 2c 6a 25 2b 31 29 0d 11 44 10 e7 6a 25 3c 3e 30 |,j%+1)..D..j%<>0| 00002d10 8c 6e 25 2b 3d 31 0d 11 4e 09 fd 6a 25 3d 30 0d |.n%+=1..N..j%=0.| 00002d20 11 58 07 3d 6e 25 0d 11 62 34 dd f2 57 69 6d 70 |.X.=n%..b4..Wimp| 00002d30 5f 4d 65 6e 75 42 61 63 6b 47 72 6f 75 6e 64 43 |_MenuBackGroundC| 00002d40 6f 6c 6f 75 72 28 6d 65 6e 75 25 2c 69 74 65 6d |olour(menu%,item| 00002d50 25 2c 63 6f 6c 6f 75 72 25 29 0d 11 6c 0d ea 66 |%,colour%)..l..f| 00002d60 6f 72 65 25 2c 69 25 0d 11 76 26 66 6f 72 65 25 |ore%,i%..v&fore%| 00002d70 3d 28 6d 65 6e 75 25 3f 28 33 39 2b 28 69 74 65 |=(menu%?(39+(ite| 00002d80 6d 25 2d 31 29 2a 32 34 29 29 83 31 36 0d 11 80 |m%-1)*24)).16...| 00002d90 28 69 25 3d 28 28 6d 65 6e 75 25 3f 28 33 39 2b |(i%=((menu%?(39+| 00002da0 28 69 74 65 6d 25 2d 31 29 2a 32 34 29 29 81 31 |(item%-1)*24)).1| 00002db0 36 29 83 31 36 0d 11 8a 2f 6d 65 6e 75 25 3f 28 |6).16.../menu%?(| 00002dc0 33 39 2b 28 69 74 65 6d 25 2d 31 29 2a 32 34 29 |39+(item%-1)*24)| 00002dd0 3d 66 6f 72 65 25 2b 31 36 2a 63 6f 6c 6f 75 72 |=fore%+16*colour| 00002de0 25 2b 69 25 0d 11 94 05 e1 0d 11 9e 22 dd f2 57 |%+i%........"..W| 00002df0 69 6d 70 5f 4d 65 6e 75 43 65 6e 74 72 65 28 6d |imp_MenuCentre(m| 00002e00 65 6e 75 25 2c 69 74 65 6d 25 29 0d 11 a8 3a 6d |enu%,item%)...:m| 00002e10 65 6e 75 25 21 28 33 36 2b 28 69 74 65 6d 25 2d |enu%!(36+(item%-| 00002e20 31 29 2a 32 34 29 3d 6d 65 6e 75 25 21 28 33 36 |1)*24)=menu%!(36| 00002e30 2b 28 69 74 65 6d 25 2d 31 29 2a 32 34 29 84 28 |+(item%-1)*24).(| 00002e40 31 3c 3c 33 29 0d 11 b2 05 e1 0d 11 bc 14 dd f2 |1<<3)...........| 00002e50 57 69 6d 70 5f 4d 65 6e 75 43 6c 6f 73 65 0d 11 |Wimp_MenuClose..| 00002e60 c6 1a c8 99 22 57 69 6d 70 5f 43 72 65 61 74 65 |...."Wimp_Create| 00002e70 4d 65 6e 75 22 2c 2d 31 0d 11 d0 05 e1 0d 11 da |Menu",-1........| 00002e80 23 dd f2 57 69 6d 70 5f 4d 65 6e 75 44 69 73 61 |#..Wimp_MenuDisa| 00002e90 62 6c 65 28 6d 65 6e 75 25 2c 69 74 65 6d 25 29 |ble(menu%,item%)| 00002ea0 0d 11 e4 3b 6d 65 6e 75 25 21 28 33 36 2b 28 69 |...;menu%!(36+(i| 00002eb0 74 65 6d 25 2d 31 29 2a 32 34 29 3d 6d 65 6e 75 |tem%-1)*24)=menu| 00002ec0 25 21 28 33 36 2b 28 69 74 65 6d 25 2d 31 29 2a |%!(36+(item%-1)*| 00002ed0 32 34 29 84 28 31 3c 3c 32 32 29 0d 11 ee 05 e1 |24).(1<<22).....| 00002ee0 0d 11 f8 26 dd f2 57 69 6d 70 5f 4d 65 6e 75 44 |...&..Wimp_MenuD| 00002ef0 6f 74 74 65 64 4c 69 6e 65 28 6d 65 6e 75 25 2c |ottedLine(menu%,| 00002f00 69 74 65 6d 25 29 0d 12 02 37 6d 65 6e 75 25 21 |item%)...7menu%!| 00002f10 28 32 38 2b 28 69 74 65 6d 25 2d 31 29 2a 32 34 |(28+(item%-1)*24| 00002f20 29 3d 28 6d 65 6e 75 25 21 28 32 38 2b 28 69 74 |)=(menu%!(28+(it| 00002f30 65 6d 25 2d 31 29 2a 32 34 29 29 84 32 0d 12 0c |em%-1)*24)).2...| 00002f40 05 e1 0d 12 16 22 dd f2 57 69 6d 70 5f 4d 65 6e |....."..Wimp_Men| 00002f50 75 45 6e 61 62 6c 65 28 6d 65 6e 75 25 2c 69 74 |uEnable(menu%,it| 00002f60 65 6d 25 29 0d 12 20 22 f2 57 69 6d 70 5f 4d 65 |em%).. ".Wimp_Me| 00002f70 6e 75 44 69 73 61 62 6c 65 28 6d 65 6e 75 25 2c |nuDisable(menu%,| 00002f80 69 74 65 6d 25 29 0d 12 2a 3b 6d 65 6e 75 25 21 |item%)..*;menu%!| 00002f90 28 33 36 2b 28 69 74 65 6d 25 2d 31 29 2a 32 34 |(36+(item%-1)*24| 00002fa0 29 3d 6d 65 6e 75 25 21 28 33 36 2b 28 69 74 65 |)=menu%!(36+(ite| 00002fb0 6d 25 2d 31 29 2a 32 34 29 82 28 31 3c 3c 32 32 |m%-1)*24).(1<<22| 00002fc0 29 0d 12 34 05 e1 0d 12 3e 34 dd f2 57 69 6d 70 |)..4....>4..Wimp| 00002fd0 5f 4d 65 6e 75 46 6f 72 65 67 72 6f 75 6e 64 43 |_MenuForegroundC| 00002fe0 6f 6c 6f 75 72 28 6d 65 6e 75 25 2c 69 74 65 6d |olour(menu%,item| 00002ff0 25 2c 63 6f 6c 6f 75 72 25 29 0d 12 48 45 6d 65 |%,colour%)..HEme| 00003000 6e 75 25 3f 28 33 39 2b 28 69 74 65 6d 25 2d 31 |nu%?(39+(item%-1| 00003010 29 2a 32 34 29 3d 63 6f 6c 6f 75 72 25 2b 31 36 |)*24)=colour%+16| 00003020 2a 28 28 6d 65 6e 75 25 3f 28 33 39 2b 28 69 74 |*((menu%?(39+(it| 00003030 65 6d 25 2d 31 29 2a 32 34 29 29 81 31 36 29 0d |em%-1)*24)).16).| 00003040 12 52 05 e1 0d 12 5c 28 dd f2 57 69 6d 70 5f 4d |.R....\(..Wimp_M| 00003050 65 6e 75 47 6c 75 65 28 6d 65 6e 75 31 25 2c 69 |enuGlue(menu1%,i| 00003060 74 65 6d 25 2c 6d 65 6e 75 32 25 29 0d 12 66 1e |tem%,menu2%)..f.| 00003070 6d 65 6e 75 31 25 21 28 38 2b 69 74 65 6d 25 2a |menu1%!(8+item%*| 00003080 32 34 29 3d 6d 65 6e 75 32 25 0d 12 70 05 e1 0d |24)=menu2%..p...| 00003090 12 7a 26 dd f2 57 69 6d 70 5f 4d 65 6e 75 49 74 |.z&..Wimp_MenuIt| 000030a0 65 6d 28 6d 65 6e 75 25 2c 69 74 65 6d 25 2c 69 |em(menu%,item%,i| 000030b0 74 65 6d 24 29 0d 12 84 2c 24 28 6d 65 6e 75 25 |tem$)...,$(menu%| 000030c0 2b 28 34 30 2b 28 69 74 65 6d 25 2d 31 29 2a 32 |+(40+(item%-1)*2| 000030d0 34 29 29 3d c0 69 74 65 6d 24 2c 31 32 29 2b bd |4))=.item$,12)+.| 000030e0 30 0d 12 8e 05 e1 0d 12 98 23 dd f2 57 69 6d 70 |0........#..Wimp| 000030f0 5f 4d 65 6e 75 4d 65 73 73 61 67 65 28 6d 65 6e |_MenuMessage(men| 00003100 75 25 2c 69 74 65 6d 25 29 0d 12 a2 3c 6d 65 6e |u%,item%)...<men| 00003110 75 25 21 28 32 38 2b 28 69 74 65 6d 25 2d 31 29 |u%!(28+(item%-1)| 00003120 2a 32 34 29 3d 28 6d 65 6e 75 25 21 28 32 38 2b |*24)=(menu%!(28+| 00003130 28 69 74 65 6d 25 2d 31 29 2a 32 34 29 29 82 28 |(item%-1)*24)).(| 00003140 31 3c 3c 33 29 0d 12 ac 05 e1 0d 12 b6 21 dd f2 |1<<3)........!..| 00003150 57 69 6d 70 5f 4d 65 6e 75 50 6f 70 55 70 28 4d |Wimp_MenuPopUp(M| 00003160 65 6e 75 25 2c 78 25 2c 79 25 29 0d 12 c0 0f 6d |enu%,x%,y%)....m| 00003170 65 6e 75 25 3d 4d 65 6e 75 25 0d 12 ca 2a c8 99 |enu%=Menu%...*..| 00003180 22 57 69 6d 70 5f 43 72 65 61 74 65 4d 65 6e 75 |"Wimp_CreateMenu| 00003190 22 2c 2c 6d 65 6e 75 25 2c 78 25 2d 36 34 2c 79 |",,menu%,x%-64,y| 000031a0 25 2b 32 30 0d 12 d4 05 e1 0d 12 de 1e dd f2 57 |%+20...........W| 000031b0 69 6d 70 5f 4d 65 6e 75 50 6f 70 55 70 42 61 72 |imp_MenuPopUpBar| 000031c0 28 78 25 2c 79 25 29 0d 12 e8 0c ea 6e 25 3a 6e |(x%,y%).....n%:n| 000031d0 25 3d 30 0d 12 f2 2a c8 95 28 28 42 61 72 5f 4d |%=0...*..((Bar_M| 000031e0 65 6e 75 25 21 28 32 38 2b 6e 25 2a 32 34 29 29 |enu%!(28+n%*24))| 000031f0 80 25 31 30 30 30 30 30 30 30 29 3d 30 0d 12 fc |.%10000000)=0...| 00003200 09 6e 25 2b 3d 31 0d 13 06 05 ce 0d 13 10 31 c8 |.n%+=1........1.| 00003210 99 22 57 69 6d 70 5f 43 72 65 61 74 65 4d 65 6e |."Wimp_CreateMen| 00003220 75 22 2c 2c 42 61 72 5f 4d 65 6e 75 25 2c 78 25 |u",,Bar_Menu%,x%| 00003230 2d 36 34 2c 39 36 2b 6e 25 2a 34 34 0d 13 1a 13 |-64,96+n%*44....| 00003240 6d 65 6e 75 25 3d 42 61 72 5f 4d 65 6e 75 25 0d |menu%=Bar_Menu%.| 00003250 13 24 05 e1 0d 13 2e 20 dd f2 57 69 6d 70 5f 4d |.$..... ..Wimp_M| 00003260 65 6e 75 54 69 63 6b 28 6d 65 6e 75 25 2c 69 74 |enuTick(menu%,it| 00003270 65 6d 25 29 0d 13 38 37 6d 65 6e 75 25 21 28 32 |em%)..87menu%!(2| 00003280 38 2b 28 69 74 65 6d 25 2d 31 29 2a 32 34 29 3d |8+(item%-1)*24)=| 00003290 28 6d 65 6e 75 25 21 28 32 38 2b 28 69 74 65 6d |(menu%!(28+(item| 000032a0 25 2d 31 29 2a 32 34 29 29 82 31 0d 13 42 05 e1 |%-1)*24)).1..B..| 000032b0 0d 13 4c 22 dd f2 57 69 6d 70 5f 4d 65 6e 75 54 |..L"..Wimp_MenuT| 000032c0 69 74 6c 65 28 6d 65 6e 75 25 2c 74 69 74 6c 65 |itle(menu%,title| 000032d0 24 29 0d 13 56 19 24 6d 65 6e 75 25 3d c0 74 69 |$)..V.$menu%=.ti| 000032e0 74 6c 65 24 2c 31 32 29 2b bd 30 0d 13 60 05 e1 |tle$,12)+.0..`..| 000032f0 0d 13 6a 3c dd f2 57 69 6d 70 5f 4d 65 6e 75 57 |..j<..Wimp_MenuW| 00003300 72 69 74 65 28 6d 65 6e 75 25 2c 69 74 65 6d 25 |rite(menu%,item%| 00003310 2c 62 75 66 66 65 72 25 2c 76 61 6c 25 2c 42 75 |,buffer%,val%,Bu| 00003320 66 66 65 72 4c 65 6e 67 74 68 25 29 0d 13 74 37 |fferLength%)..t7| 00003330 6d 65 6e 75 25 21 28 32 38 2b 28 69 74 65 6d 25 |menu%!(28+(item%| 00003340 2d 31 29 2a 32 34 29 3d 28 6d 65 6e 75 25 21 28 |-1)*24)=(menu%!(| 00003350 32 38 2b 28 69 74 65 6d 25 2d 31 29 2a 32 34 29 |28+(item%-1)*24)| 00003360 29 84 34 0d 13 7e 38 6d 65 6e 75 25 21 28 33 36 |).4..~8menu%!(36| 00003370 2b 28 69 74 65 6d 25 2d 31 29 2a 32 34 29 3d 6d |+(item%-1)*24)=m| 00003380 65 6e 75 25 21 28 33 36 2b 28 69 74 65 6d 25 2d |enu%!(36+(item%-| 00003390 31 29 2a 32 34 29 84 26 31 30 30 0d 13 88 23 6d |1)*24).&100...#m| 000033a0 65 6e 75 25 21 28 34 30 2b 28 69 74 65 6d 25 2d |enu%!(40+(item%-| 000033b0 31 29 2a 32 34 29 3d 62 75 66 66 65 72 25 0d 13 |1)*24)=buffer%..| 000033c0 92 20 6d 65 6e 75 25 21 28 34 34 2b 28 69 74 65 |. menu%!(44+(ite| 000033d0 6d 25 2d 31 29 2a 32 34 29 3d 76 61 6c 25 0d 13 |m%-1)*24)=val%..| 000033e0 9c 29 6d 65 6e 75 25 21 28 34 38 2b 28 69 74 65 |.)menu%!(48+(ite| 000033f0 6d 25 2d 31 29 2a 32 34 29 3d 42 75 66 66 65 72 |m%-1)*24)=Buffer| 00003400 4c 65 6e 67 74 68 25 0d 13 a6 05 e1 0d 13 b0 16 |Length%.........| 00003410 dd f2 57 69 6d 70 5f 53 70 72 69 74 65 73 4c 6f |..Wimp_SpritesLo| 00003420 61 64 0d 13 ba 2f f2 57 69 6d 70 5f 53 70 72 69 |ad.../.Wimp_Spri| 00003430 74 65 73 50 61 74 68 4c 6f 61 64 28 22 3c 4f 62 |tesPathLoad("<Ob| 00003440 65 79 24 44 69 72 3e 2e 53 70 72 69 74 65 73 22 |ey$Dir>.Sprites"| 00003450 29 0d 13 c4 1c 64 69 72 65 63 74 5f 73 70 72 69 |)....direct_spri| 00003460 74 65 73 25 3d 73 70 72 69 74 65 73 25 0d 13 ce |tes%=sprites%...| 00003470 05 e1 0d 13 d8 25 dd f2 57 69 6d 70 5f 53 70 72 |.....%..Wimp_Spr| 00003480 69 74 65 73 50 61 74 68 4c 6f 61 64 28 70 61 74 |itesPathLoad(pat| 00003490 68 6e 61 6d 65 24 29 0d 13 e2 0a ea 53 25 2c 54 |hname$).....S%,T| 000034a0 25 0d 13 ec 2c 53 25 3d 8e 22 3c 4f 62 65 79 24 |%...,S%=."<Obey$| 000034b0 44 69 72 3e 2e 53 70 72 69 74 65 73 22 3a 54 25 |Dir>.Sprites":T%| 000034c0 3d a2 23 53 25 2b 31 36 3a d9 23 53 25 0d 13 f6 |=.#S%+16:.#S%...| 000034d0 19 de 73 70 72 69 74 65 73 25 54 25 2c 73 70 6e |..sprites%T%,spn| 000034e0 61 6d 65 25 31 32 0d 14 00 1d 21 73 70 72 69 74 |ame%12....!sprit| 000034f0 65 73 25 3d 54 25 3a 73 70 72 69 74 65 73 25 21 |es%=T%:sprites%!| 00003500 38 3d 30 0d 14 0a 21 c8 99 22 4f 53 5f 53 70 72 |8=0...!.."OS_Spr| 00003510 69 74 65 4f 70 22 2c 26 31 30 39 2c 73 70 72 69 |iteOp",&109,spri| 00003520 74 65 73 25 0d 14 14 2b c8 99 22 4f 53 5f 53 70 |tes%...+.."OS_Sp| 00003530 72 69 74 65 4f 70 22 2c 26 31 30 41 2c 73 70 72 |riteOp",&10A,spr| 00003540 69 74 65 73 25 2c 70 61 74 68 6e 61 6d 65 24 0d |ites%,pathname$.| 00003550 14 1e 05 e1 0d 14 28 1a dd a4 57 69 6d 70 5f 46 |......(...Wimp_F| 00003560 69 6c 65 54 79 70 65 28 74 79 70 65 25 29 0d 14 |ileType(type%)..| 00003570 32 0c c8 8e 74 79 70 65 25 ca 0d 14 3c 11 c9 26 |2...type%...<..&| 00003580 46 46 46 3a 3d 22 54 65 78 74 22 0d 14 46 11 c9 |FFF:="Text"..F..| 00003590 26 46 46 44 3a 3d 22 44 61 74 61 22 0d 14 50 12 |&FFD:="Data"..P.| 000035a0 c9 26 46 46 42 3a 3d 22 42 61 73 69 63 22 0d 14 |.&FFB:="Basic"..| 000035b0 5a 13 c9 26 46 46 39 3a 3d 22 53 70 72 69 74 65 |Z..&FF9:="Sprite| 000035c0 22 0d 14 64 14 c9 26 46 45 44 3a 3d 22 50 61 6c |"..d..&FED:="Pal| 000035d0 65 74 74 65 22 0d 14 6e 15 c9 26 46 45 43 3a 3d |ette"..n..&FEC:=| 000035e0 22 54 65 6d 70 6c 61 74 65 22 0d 14 78 11 c9 26 |"Template"..x..&| 000035f0 41 46 46 3a 3d 22 44 72 61 77 22 0d 14 82 14 c9 |AFF:="Draw".....| 00003600 26 31 30 30 30 3a 3d 22 46 6f 6c 64 65 72 22 0d |&1000:="Folder".| 00003610 14 8c 19 c9 26 32 30 30 30 3a 3d 22 41 70 70 6c |....&2000:="Appl| 00003620 69 63 61 74 69 6f 6e 22 0d 14 96 0f 7f 3d c3 7e |ication".....=.~| 00003630 28 74 79 70 65 25 29 0d 14 a0 05 cb 0d 14 aa 1a |(type%).........| 00003640 dd a4 57 69 6d 70 5f 47 65 74 46 69 6c 65 50 61 |..Wimp_GetFilePa| 00003650 74 68 4e 61 6d 65 0d 14 b4 27 3d a4 57 69 6d 70 |thName...'=.Wimp| 00003660 5f 47 65 74 53 74 72 69 6e 67 41 74 41 64 64 72 |_GetStringAtAddr| 00003670 65 73 73 28 77 69 6d 70 25 2b 34 34 29 0d 14 be |ess(wimp%+44)...| 00003680 1e dd a4 57 69 6d 70 5f 46 69 6c 65 4c 6f 61 64 |...Wimp_FileLoad| 00003690 28 70 61 74 68 6e 61 6d 65 24 29 0d 14 c8 10 ea |(pathname$).....| 000036a0 53 25 2c 54 25 2c 66 69 6c 65 25 0d 14 d2 11 53 |S%,T%,file%....S| 000036b0 25 3d 8e 70 61 74 68 6e 61 6d 65 24 0d 14 dc 0e |%=.pathname$....| 000036c0 54 25 3d a2 23 53 25 2b 31 36 0d 14 e6 08 d9 23 |T%=.#S%+16.....#| 000036d0 53 25 0d 14 f0 0c de 66 69 6c 65 25 54 25 0d 14 |S%.....file%T%..| 000036e0 fa 22 ff 28 22 4c 4f 41 44 22 2b 70 61 74 68 6e |.".("LOAD"+pathn| 000036f0 61 6d 65 24 2b 22 22 2b c3 7e 66 69 6c 65 25 29 |ame$+""+.~file%)| 00003700 0d 15 04 0a 3d 66 69 6c 65 25 0d 15 0e 25 dd a4 |....=file%...%..| 00003710 57 69 6d 70 5f 47 65 74 53 74 72 69 6e 67 41 74 |Wimp_GetStringAt| 00003720 41 64 64 72 65 73 73 28 61 72 72 61 79 25 29 0d |Address(array%).| 00003730 15 18 0d ea 73 24 3a 73 24 3d 22 22 0d 15 22 3b |....s$:s$=""..";| 00003740 c8 95 28 3f 61 72 72 61 79 25 3c 3e 31 33 29 80 |..(?array%<>13).| 00003750 28 3f 61 72 72 61 79 25 3c 3e 30 29 3a 73 24 2b |(?array%<>0):s$+| 00003760 3d bd 28 3f 61 72 72 61 79 25 29 3a 61 72 72 61 |=.(?array%):arra| 00003770 79 25 2b 3d 31 3a ce 0d 15 2c 07 3d 73 24 0d 15 |y%+=1:...,.=s$..| 00003780 36 22 dd a4 57 69 6d 70 5f 47 65 74 46 69 6c 65 |6"..Wimp_GetFile| 00003790 46 72 6f 6d 50 61 74 68 6e 61 6d 65 28 66 24 29 |FromPathname(f$)| 000037a0 0d 15 40 0f c8 8e a7 66 24 2c 22 2e 22 29 ca 0d |..@....f$,".")..| 000037b0 15 4a 0a c9 30 3a 3d 66 24 0d 15 54 35 7f 3a 3d |.J..0:=f$..T5.:=| 000037c0 a4 57 69 6d 70 5f 47 65 74 46 69 6c 65 46 72 6f |.Wimp_GetFileFro| 000037d0 6d 50 61 74 68 6e 61 6d 65 28 c2 66 24 2c a9 28 |mPathname(.f$,.(| 000037e0 66 24 29 2d a7 66 24 2c 22 2e 22 29 29 29 0d 15 |f$)-.f$,".")))..| 000037f0 5e 05 cb 0d 15 68 1c dd f2 57 69 6d 70 5f 53 65 |^....h...Wimp_Se| 00003800 6e 64 54 6f 45 64 69 74 28 66 69 6c 65 24 29 0d |ndToEdit(file$).| 00003810 15 72 07 ea 6e 25 0d 15 7c 15 77 69 6d 70 25 21 |.r..n%..|.wimp%!| 00003820 34 3d 26 36 43 43 30 31 43 30 43 0d 15 86 0e 77 |4=&6CC01C0C....w| 00003830 69 6d 70 25 21 31 36 3d 35 0d 15 90 0e 77 69 6d |imp%!16=5....wim| 00003840 70 25 21 33 36 3d 30 0d 15 9a 11 77 69 6d 70 25 |p%!36=0....wimp%| 00003850 21 34 30 3d 26 46 46 46 0d 15 a4 18 24 28 77 69 |!40=&FFF....$(wi| 00003860 6d 70 25 2b 34 34 29 3d 66 69 6c 65 24 2b bd 30 |mp%+44)=file$+.0| 00003870 0d 15 ae 10 6e 25 3d a9 66 69 6c 65 24 2b 34 35 |....n%=.file$+45| 00003880 0d 15 b8 27 e7 6e 25 83 34 8c 21 77 69 6d 70 25 |...'.n%.4.!wimp%| 00003890 3d 34 2b 28 6e 25 3e 3e 32 29 3c 3c 32 8b 21 77 |=4+(n%>>2)<<2.!w| 000038a0 69 6d 70 25 3d 6e 25 0d 15 c2 23 c8 99 22 57 69 |imp%=n%...#.."Wi| 000038b0 6d 70 5f 53 65 6e 64 4d 65 73 73 61 67 65 22 2c |mp_SendMessage",| 000038c0 31 37 2c 77 69 6d 70 25 2c 30 0d 15 cc 05 e1 0d |17,wimp%,0......| 000038d0 15 d6 2e dd f2 57 69 6d 70 5f 53 74 61 72 74 28 |.....Wimp_Start(| 000038e0 54 61 73 6b 4e 61 6d 65 24 2c 77 69 6d 70 5f 6d |TaskName$,wimp_m| 000038f0 65 6d 6f 72 79 25 2c 69 63 6f 6e 25 29 0d 15 e0 |emory%,icon%)...| 00003900 22 de 77 69 6d 70 25 77 69 6d 70 5f 6d 65 6d 6f |".wimp%wimp_memo| 00003910 72 79 25 2c 69 63 6f 6e 73 25 69 63 6f 6e 25 0d |ry%,icons%icon%.| 00003920 15 ea 26 e7 77 69 6d 70 5f 6d 65 6d 6f 72 79 25 |..&.wimp_memory%| 00003930 3c 32 35 36 8c 77 69 6d 70 5f 6d 65 6d 6f 72 79 |<256.wimp_memory| 00003940 25 3d 32 35 36 0d 15 f4 1d 69 63 6f 6e 5f 6d 65 |%=256....icon_me| 00003950 6d 6f 72 79 25 3d 69 63 6f 6e 73 25 2b 69 63 6f |mory%=icons%+ico| 00003960 6e 25 0d 15 fe 13 74 61 73 6b 24 3d 54 61 73 6b |n%....task$=Task| 00003970 4e 61 6d 65 24 0d 16 08 29 69 6e 64 69 72 65 63 |Name$...)indirec| 00003980 74 5f 73 70 72 69 74 65 73 25 3d 31 3a 64 69 72 |t_sprites%=1:dir| 00003990 65 63 74 5f 73 70 72 69 74 65 73 25 3d 31 0d 16 |ect_sprites%=1..| 000039a0 12 1b f2 57 69 6d 70 5f 53 65 74 45 76 65 6e 74 |...Wimp_SetEvent| 000039b0 56 61 72 69 61 62 6c 65 73 0d 16 1c 13 ee 85 f2 |Variables.......| 000039c0 57 69 6d 70 5f 45 72 72 6f 72 3a e0 0d 16 26 3e |Wimp_Error:...&>| 000039d0 c8 99 22 57 69 6d 70 5f 49 6e 69 74 69 61 6c 69 |.."Wimp_Initiali| 000039e0 73 65 22 2c 32 30 30 2c 26 34 42 35 33 34 31 35 |se",200,&4B53415| 000039f0 34 2c 54 61 73 6b 4e 61 6d 65 24 b8 76 65 72 73 |4,TaskName$.vers| 00003a00 69 6f 6e 25 2c 74 61 73 6b 25 0d 16 30 05 e1 0d |ion%,task%..0...| 00003a10 16 3a 1a dd a4 57 69 6d 70 5f 42 41 53 49 43 50 |.:...Wimp_BASICP| 00003a20 61 72 61 6d 65 74 65 72 73 0d 16 44 13 ea 63 6f |arameters..D..co| 00003a30 6d 24 2c 70 61 72 61 6d 24 2c 49 25 0d 16 4e 16 |m$,param$,I%..N.| 00003a40 c8 99 22 4f 53 5f 47 65 74 45 6e 76 22 b8 63 6f |.."OS_GetEnv".co| 00003a50 6d 24 0d 16 58 0e 70 61 72 61 6d 73 24 3d 22 22 |m$..X.params$=""| 00003a60 0d 16 62 17 49 25 3d a7 63 6f 6d 24 2c 22 20 2d |..b.I%=.com$," -| 00003a70 71 75 69 74 20 22 29 0d 16 6c 31 e7 49 25 8c 70 |quit ")..l1.I%.p| 00003a80 61 72 61 6d 73 24 3d c1 63 6f 6d 24 2c a7 63 6f |arams$=.com$,.co| 00003a90 6d 24 2c 22 20 22 2c 49 25 2b a9 22 20 2d 71 75 |m$," ",I%+." -qu| 00003aa0 69 74 20 22 29 2b 31 29 0d 16 76 0c 3d 70 61 72 |it ")+1)..v.=par| 00003ab0 61 6d 73 24 0d 16 80 1c dd f2 57 69 6d 70 5f 53 |ams$......Wimp_S| 00003ac0 65 74 45 76 65 6e 74 56 61 72 69 61 62 6c 65 73 |etEventVariables| 00003ad0 0d 16 8a 15 de 70 6f 69 6e 74 65 72 5f 62 6c 6f |.....pointer_blo| 00003ae0 63 6b 25 32 30 0d 16 94 10 69 6e 74 65 72 66 61 |ck%20....interfa| 00003af0 63 65 25 3d a3 0d 16 9e 29 6e 75 6c 6c 25 3d 31 |ce%=....)null%=1| 00003b00 3a 64 72 61 77 25 3d 32 3a 70 6f 69 6e 74 65 72 |:draw%=2:pointer| 00003b10 5f 6c 65 61 76 69 6e 67 25 3d 31 3c 3c 34 0d 16 |_leaving%=1<<4..| 00003b20 a8 31 70 6f 69 6e 74 65 72 5f 65 6e 74 65 72 69 |.1pointer_enteri| 00003b30 6e 67 25 3d 31 3c 3c 35 3a 6d 6f 75 73 65 25 3d |ng%=1<<5:mouse%=| 00003b40 31 3c 3c 36 3a 64 72 61 67 25 3d 31 3c 3c 37 0d |1<<6:drag%=1<<7.| 00003b50 16 b2 26 6b 65 79 25 3d 31 3c 3c 38 3a 6d 65 6e |..&key%=1<<8:men| 00003b60 75 25 3d 31 3c 3c 39 3a 73 63 72 6f 6c 6c 25 3d |u%=1<<9:scroll%=| 00003b70 31 3c 3c 31 30 0d 16 bc 40 6c 6f 73 65 5f 63 61 |1<<10...@lose_ca| 00003b80 72 65 74 25 3d 31 3c 3c 31 31 3a 67 61 69 6e 5f |ret%=1<<11:gain_| 00003b90 63 61 72 65 74 25 3d 31 3c 3c 31 32 3a 6d 65 73 |caret%=1<<12:mes| 00003ba0 73 61 67 65 25 3d 28 31 3c 3c 31 37 29 2b 28 31 |sage%=(1<<17)+(1| 00003bb0 3c 3c 31 38 29 0d 16 c6 30 72 65 63 6f 72 64 65 |<<18)...0recorde| 00003bc0 72 25 3d 31 3c 3c 31 38 3a 61 63 6b 6e 6f 77 6c |r%=1<<18:acknowl| 00003bd0 65 64 67 65 25 3d 31 3c 3c 31 39 3a 77 69 6e 64 |edge%=1<<19:wind| 00003be0 6f 77 25 3d 30 0d 16 d0 21 73 70 72 69 74 65 73 |ow%=0...!sprites| 00003bf0 25 3d 31 3a 76 65 72 73 69 6f 6e 25 3d 30 3a 74 |%=1:version%=0:t| 00003c00 61 73 6b 25 3d 30 0d 16 da 2a 42 61 72 5f 57 69 |ask%=0...*Bar_Wi| 00003c10 6e 64 6f 77 25 3d 2d 32 3a 42 61 72 5f 49 63 6f |ndow%=-2:Bar_Ico| 00003c20 6e 25 3d 30 3a 42 61 72 5f 4d 65 6e 75 25 3d 30 |n%=0:Bar_Menu%=0| 00003c30 0d 16 e4 2a 78 5f 6f 72 69 67 69 6e 25 3d 30 3a |...*x_origin%=0:| 00003c40 79 5f 6f 72 69 67 69 6e 25 3d 30 3a 53 61 76 65 |y_origin%=0:Save| 00003c50 57 69 6e 64 6f 77 25 3d 2d 33 0d 16 ee 33 6d 65 |Window%=-3...3me| 00003c60 73 73 61 67 65 5f 71 75 69 74 25 3d 30 3a 6d 65 |ssage_quit%=0:me| 00003c70 73 73 61 67 65 5f 73 61 76 65 25 3d 32 3a 6d 65 |ssage_save%=2:me| 00003c80 73 73 61 67 65 5f 6c 6f 61 64 25 3d 33 0d 16 f8 |ssage_load%=3...| 00003c90 21 6d 6f 75 73 65 5f 62 75 74 74 6f 6e 25 3d 32 |!mouse_button%=2| 00003ca0 3a 73 61 76 65 5f 65 76 65 6e 74 25 3d 30 0d 17 |:save_event%=0..| 00003cb0 02 1e 74 6f 70 5f 6c 69 6e 65 25 3d 30 3a 62 6f |..top_line%=0:bo| 00003cc0 74 74 6f 6d 5f 6c 69 6e 65 25 3d 30 0d 17 0c 05 |ttom_line%=0....| 00003cd0 e1 0d 17 16 10 dd f2 57 69 6d 70 5f 45 72 72 6f |.......Wimp_Erro| 00003ce0 72 0d 17 20 0a ea 58 24 2c 78 25 0d 17 2a 07 ee |r.. ..X$,x%..*..| 00003cf0 85 87 0d 17 34 08 78 25 3d 9e 0d 17 3e 1b 58 24 |....4.x%=...>.X$| 00003d00 3d f6 24 2b 22 61 74 6c 69 6e 65 22 2b c3 28 78 |=.$+"atline"+.(x| 00003d10 25 81 31 30 29 0d 17 48 10 de 45 72 72 6f 72 4d |%.10)..H..ErrorM| 00003d20 73 67 25 33 36 0d 17 52 45 45 72 72 6f 72 4d 73 |sg%36..REErrorMs| 00003d30 67 25 21 30 3d 33 36 3a 45 72 72 6f 72 4d 73 67 |g%!0=36:ErrorMsg| 00003d40 25 21 31 32 3d 30 3a 45 72 72 6f 72 4d 73 67 25 |%!12=0:ErrorMsg%| 00003d50 21 31 36 3d 26 38 31 30 38 30 3a 45 72 72 6f 72 |!16=&81080:Error| 00003d60 4d 73 67 25 21 32 30 3d 78 25 0d 17 5c 1f 24 28 |Msg%!20=x%..\.$(| 00003d70 45 72 72 6f 72 4d 73 67 25 2b 32 34 29 3d 22 21 |ErrorMsg%+24)="!| 00003d80 52 75 6e 49 6d 61 67 65 22 0d 17 66 25 c8 99 22 |RunImage"..f%.."| 00003d90 57 69 6d 70 5f 53 65 6e 64 4d 65 73 73 61 67 65 |Wimp_SendMessage| 00003da0 22 2c 31 37 2c 45 72 72 6f 72 4d 73 67 25 0d 17 |",17,ErrorMsg%..| 00003db0 70 1f f2 57 69 6d 70 5f 57 69 6e 64 6f 77 41 6c |p..Wimp_WindowAl| 00003dc0 65 72 74 28 74 61 73 6b 24 2c 58 24 29 0d 17 7a |ert(task$,X$)..z| 00003dd0 13 f2 57 69 6d 70 5f 43 6c 6f 73 65 44 6f 77 6e |..Wimp_CloseDown| 00003de0 0d 17 84 05 e1 0d 17 8e 14 dd f2 57 69 6d 70 5f |...........Wimp_| 00003df0 43 6c 6f 73 65 44 6f 77 6e 0d 17 98 23 c8 99 22 |CloseDown...#.."| 00003e00 57 69 6d 70 5f 43 6c 6f 73 65 44 6f 77 6e 22 2c |Wimp_CloseDown",| 00003e10 74 61 73 6b 25 2c 22 54 41 53 4b 22 0d 17 a2 05 |task%,"TASK"....| 00003e20 e1 0d 17 ac 0f dd f2 57 69 6d 70 5f 51 75 69 74 |.......Wimp_Quit| 00003e30 0d 17 b6 0f 66 69 6e 69 73 68 65 64 25 3d b9 0d |....finished%=..| 00003e40 17 c0 05 e1 0d 17 ca 22 dd a4 57 69 6d 70 5f 52 |......."..Wimp_R| 00003e50 65 61 64 56 61 72 69 61 62 6c 65 28 56 61 72 69 |eadVariable(Vari| 00003e60 61 62 6c 65 24 29 0d 17 d4 1b ea 6c 65 6e 25 2c |able$).....len%,| 00003e70 72 65 73 75 6c 74 25 2c 76 61 72 69 61 62 6c 65 |result%,variable| 00003e80 25 0d 17 de 14 24 77 69 6d 70 25 3d 56 61 72 69 |%....$wimp%=Vari| 00003e90 61 62 6c 65 24 0d 17 e8 33 c8 99 22 4f 53 5f 52 |able$...3.."OS_R| 00003ea0 65 61 64 56 61 72 56 61 6c 22 2c 77 69 6d 70 25 |eadVarVal",wimp%| 00003eb0 2c 77 69 6d 70 25 2b 32 35 35 2c 32 35 35 2c 2c |,wimp%+255,255,,| 00003ec0 33 b8 2c 2c 6c 65 6e 25 0d 17 f2 17 77 69 6d 70 |3.,,len%....wimp| 00003ed0 25 3f 28 6c 65 6e 25 2b 32 35 35 29 3d 31 33 0d |%?(len%+255)=13.| 00003ee0 17 fc 11 3d 24 28 77 69 6d 70 25 2b 32 35 35 29 |...=$(wimp%+255)| 00003ef0 0d 18 06 17 dd f2 57 69 6d 70 5f 57 61 69 74 46 |......Wimp_WaitF| 00003f00 6f 72 45 76 65 6e 74 0d 18 10 11 ea 6d 61 73 6b |orEvent.....mask| 00003f10 25 2c 65 76 65 6e 74 25 0d 18 1a 0f 66 69 6e 69 |%,event%....fini| 00003f20 73 68 65 64 25 3d a3 0d 18 24 17 6d 61 73 6b 25 |shed%=...$.mask%| 00003f30 3d 25 31 31 31 30 30 30 30 31 31 30 30 31 0d 18 |=%111000011001..| 00003f40 2e 05 f5 0d 18 38 24 c8 99 22 57 69 6d 70 5f 50 |.....8$.."Wimp_P| 00003f50 6f 6c 6c 22 2c 6d 61 73 6b 25 2c 77 69 6d 70 25 |oll",mask%,wimp%| 00003f60 b8 65 76 65 6e 74 25 0d 18 42 0d c8 8e 65 76 65 |.event%..B...eve| 00003f70 6e 74 25 ca 0d 18 4c 06 c9 30 0d 18 56 1b c9 31 |nt%...L..0..V..1| 00003f80 3a f2 57 69 6d 70 5f 50 6f 6c 6c 44 72 61 77 57 |:.Wimp_PollDrawW| 00003f90 69 6e 64 6f 77 0d 18 60 21 c9 32 3a c8 99 22 57 |indow..`!.2:.."W| 00003fa0 69 6d 70 5f 4f 70 65 6e 57 69 6e 64 6f 77 22 2c |imp_OpenWindow",| 00003fb0 2c 77 69 6d 70 25 0d 18 6a 1c c9 33 3a f2 57 69 |,wimp%..j..3:.Wi| 00003fc0 6d 70 5f 50 6f 6c 6c 43 6c 6f 73 65 57 69 6e 64 |mp_PollCloseWind| 00003fd0 6f 77 0d 18 74 06 c9 34 0d 18 7e 06 c9 35 0d 18 |ow..t..4..~..5..| 00003fe0 88 1b c9 36 3a f2 57 69 6d 70 5f 50 6f 6c 6c 4d |...6:.Wimp_PollM| 00003ff0 6f 75 73 65 43 6c 69 63 6b 0d 18 92 1c c9 37 3a |ouseClick.....7:| 00004000 f2 57 69 6d 70 5f 50 6f 6c 6c 53 61 76 65 4d 65 |.Wimp_PollSaveMe| 00004010 73 73 61 67 65 0d 18 9c 19 c9 38 3a f2 57 69 6d |ssage.....8:.Wim| 00004020 70 5f 50 6f 6c 6c 4b 65 79 50 72 65 73 73 0d 18 |p_PollKeyPress..| 00004030 a6 1f c9 39 3a f2 45 76 65 6e 74 5f 4d 65 6e 75 |...9:.Event_Menu| 00004040 43 68 6f 69 63 65 28 6d 65 6e 75 25 29 0d 18 b0 |Choice(menu%)...| 00004050 07 c9 31 30 0d 18 ba 07 c9 31 31 0d 18 c4 07 c9 |..10.....11.....| 00004060 31 32 0d 18 ce 1d c9 31 37 2c 31 38 3a f2 57 69 |12.....17,18:.Wi| 00004070 6d 70 5f 50 6f 6c 6c 4d 65 73 73 61 67 65 73 0d |mp_PollMessages.| 00004080 18 d8 07 c9 31 39 0d 18 e2 05 cb 0d 18 ec 0e fd |....19..........| 00004090 66 69 6e 69 73 68 65 64 25 0d 18 f6 05 e1 0d 19 |finished%.......| 000040a0 00 19 dd f2 57 69 6d 70 5f 50 6f 6c 6c 44 72 61 |....Wimp_PollDra| 000040b0 77 57 69 6e 64 6f 77 0d 19 0a 0a ea 6d 6f 72 65 |wWindow.....more| 000040c0 25 0d 19 14 26 c8 99 22 57 69 6d 70 5f 52 65 64 |%...&.."Wimp_Red| 000040d0 72 61 77 57 69 6e 64 6f 77 22 2c 2c 77 69 6d 70 |rawWindow",,wimp| 000040e0 25 b8 6d 6f 72 65 25 0d 19 1e 13 77 69 6e 64 6f |%.more%....windo| 000040f0 77 25 3d 77 69 6d 70 25 21 30 0d 19 28 41 78 5f |w%=wimp%!0..(Ax_| 00004100 6f 72 69 67 69 6e 25 3d 31 36 2b 77 69 6d 70 25 |origin%=16+wimp%| 00004110 21 34 2d 77 69 6d 70 25 21 32 30 3a 79 5f 6f 72 |!4-wimp%!20:y_or| 00004120 69 67 69 6e 25 3d 2d 31 36 2b 77 69 6d 70 25 21 |igin%=-16+wimp%!| 00004130 31 36 2d 77 69 6d 70 25 21 32 34 0d 19 32 0b c8 |16-wimp%!24..2..| 00004140 95 6d 6f 72 65 25 0d 19 3c 2c e7 69 6e 74 65 72 |.more%..<,.inter| 00004150 66 61 63 65 25 8c c8 99 22 57 69 6d 70 5f 42 6f |face%..."Wimp_Bo| 00004160 72 64 65 72 57 69 6e 64 6f 77 22 2c 2c 77 69 6d |rderWindow",,wim| 00004170 70 25 0d 19 46 2c f2 45 76 65 6e 74 5f 44 72 61 |p%..F,.Event_Dra| 00004180 77 28 77 69 6e 64 6f 77 25 2c 78 5f 6f 72 69 67 |w(window%,x_orig| 00004190 69 6e 25 2c 79 5f 6f 72 69 67 69 6e 25 29 0d 19 |in%,y_origin%)..| 000041a0 50 26 c8 99 22 57 69 6d 70 5f 47 65 74 52 65 63 |P&.."Wimp_GetRec| 000041b0 74 61 6e 67 6c 65 22 2c 2c 77 69 6d 70 25 b8 6d |tangle",,wimp%.m| 000041c0 6f 72 65 25 0d 19 5a 05 ce 0d 19 64 05 e1 0d 19 |ore%..Z....d....| 000041d0 6e 1a dd f2 57 69 6d 70 5f 50 6f 6c 6c 43 6c 6f |n...Wimp_PollClo| 000041e0 73 65 57 69 6e 64 6f 77 0d 19 78 22 c8 99 22 57 |seWindow..x".."W| 000041f0 69 6d 70 5f 47 65 74 50 6f 69 6e 74 65 72 49 6e |imp_GetPointerIn| 00004200 66 6f 22 2c 2c 77 69 6d 70 25 0d 19 82 25 77 69 |fo",,wimp%...%wi| 00004210 6e 64 6f 77 25 3d 77 69 6d 70 25 21 31 32 3a 62 |ndow%=wimp%!12:b| 00004220 75 74 74 6f 6e 73 25 3d 77 69 6d 70 25 21 38 0d |uttons%=wimp%!8.| 00004230 19 8c 28 f2 45 76 65 6e 74 5f 57 69 6e 64 6f 77 |..(.Event_Window| 00004240 43 6c 6f 73 65 28 77 69 6e 64 6f 77 25 2c 62 75 |Close(window%,bu| 00004250 74 74 6f 6e 73 25 29 0d 19 96 2e 21 77 69 6d 70 |ttons%)....!wimp| 00004260 25 3d 77 69 6e 64 6f 77 25 3a c8 99 22 57 69 6d |%=window%:.."Wim| 00004270 70 5f 43 6c 6f 73 65 57 69 6e 64 6f 77 22 2c 2c |p_CloseWindow",,| 00004280 77 69 6d 70 25 0d 19 a0 05 e1 0d 19 aa 19 dd f2 |wimp%...........| 00004290 57 69 6d 70 5f 50 6f 6c 6c 4d 6f 75 73 65 43 6c |Wimp_PollMouseCl| 000042a0 69 63 6b 0d 19 b4 49 62 75 74 74 6f 6e 25 3d 77 |ick...Ibutton%=w| 000042b0 69 6d 70 25 21 38 3a 77 69 6e 64 6f 77 25 3d 77 |imp%!8:window%=w| 000042c0 69 6d 70 25 21 31 32 3a 69 63 6f 6e 25 3d 77 69 |imp%!12:icon%=wi| 000042d0 6d 70 25 21 31 36 3a 78 25 3d 77 69 6d 70 25 21 |mp%!16:x%=wimp%!| 000042e0 30 3a 79 25 3d 77 69 6d 70 25 21 34 0d 19 be 0e |0:y%=wimp%!4....| 000042f0 c8 8e 62 75 74 74 6f 6e 25 ca 0d 19 c8 1a c9 32 |..button%......2| 00004300 3a f2 57 69 6d 70 5f 50 6f 6c 6c 4d 65 6e 75 50 |:.Wimp_PollMenuP| 00004310 6f 70 55 70 0d 19 d2 1d 7f 3a c8 8e a4 45 76 65 |opUp.....:...Eve| 00004320 6e 74 5f 53 61 76 65 28 77 69 6e 64 6f 77 25 29 |nt_Save(window%)| 00004330 ca 0d 19 dc 1a c9 b9 3a f2 57 69 6d 70 5f 50 6f |.......:.Wimp_Po| 00004340 6c 6c 4d 6f 75 73 65 53 61 76 65 0d 19 e6 20 c9 |llMouseSave... .| 00004350 a3 3a f2 57 69 6d 70 5f 50 6f 6c 6c 45 76 65 6e |.:.Wimp_PollEven| 00004360 74 4d 6f 75 73 65 43 6c 69 63 6b 0d 19 f0 05 cb |tMouseClick.....| 00004370 0d 19 fa 05 cb 0d 1a 04 05 e1 0d 1a 0e 18 dd f2 |................| 00004380 57 69 6d 70 5f 50 6f 6c 6c 4d 65 6e 75 50 6f 70 |Wimp_PollMenuPop| 00004390 55 70 0d 1a 18 1e 6d 65 6e 75 25 3d a4 45 76 65 |Up....menu%=.Eve| 000043a0 6e 74 5f 4d 65 6e 75 28 77 69 6e 64 6f 77 25 29 |nt_Menu(window%)| 000043b0 0d 1a 22 0c c8 8e 6d 65 6e 75 25 ca 0d 1a 2c 06 |.."...menu%...,.| 000043c0 c9 a3 0d 1a 36 05 7f 0d 1a 40 0e c8 8e 77 69 6e |....6....@...win| 000043d0 64 6f 77 25 ca 0d 1a 4a 0c c9 2d 32 3a 6e 25 3d |dow%...J..-2:n%=| 000043e0 30 0d 1a 54 2a c8 95 28 28 42 61 72 5f 4d 65 6e |0..T*..((Bar_Men| 000043f0 75 25 21 28 32 38 2b 6e 25 2a 32 34 29 29 80 25 |u%!(28+n%*24)).%| 00004400 31 30 30 30 30 30 30 30 29 3d 30 0d 1a 5e 09 6e |10000000)=0..^.n| 00004410 25 2b 3d 31 0d 1a 68 05 ce 0d 1a 72 31 c8 99 22 |%+=1..h....r1.."| 00004420 57 69 6d 70 5f 43 72 65 61 74 65 4d 65 6e 75 22 |Wimp_CreateMenu"| 00004430 2c 2c 42 61 72 5f 4d 65 6e 75 25 2c 78 25 2d 36 |,,Bar_Menu%,x%-6| 00004440 34 2c 39 36 2b 6e 25 2a 34 34 0d 1a 7c 2c 7f 3a |4,96+n%*44..|,.:| 00004450 c8 99 22 57 69 6d 70 5f 43 72 65 61 74 65 4d 65 |.."Wimp_CreateMe| 00004460 6e 75 22 2c 2c 6d 65 6e 75 25 2c 78 25 2d 36 34 |nu",,menu%,x%-64| 00004470 2c 79 25 2b 32 30 0d 1a 86 05 cb 0d 1a 90 05 cb |,y%+20..........| 00004480 0d 1a 9a 05 e1 0d 1a a4 18 dd f2 57 69 6d 70 5f |...........Wimp_| 00004490 50 6f 6c 6c 4d 6f 75 73 65 53 61 76 65 0d 1a ae |PollMouseSave...| 000044a0 0c c8 8e 69 63 6f 6e 25 ca 0d 1a b8 2e c9 30 3a |...icon%......0:| 000044b0 e7 62 75 74 74 6f 6e 25 80 26 35 30 8c f2 57 69 |.button%.&50..Wi| 000044c0 6d 70 5f 50 6f 6c 6c 44 72 61 67 42 6f 78 28 77 |mp_PollDragBox(w| 000044d0 69 6e 64 6f 77 25 29 0d 1a c2 2e c9 32 3a e7 62 |indow%).....2:.b| 000044e0 75 74 74 6f 6e 25 80 20 35 8c f2 57 69 6d 70 5f |utton%. 5..Wimp_| 000044f0 50 6f 6c 6c 53 61 76 65 46 69 6c 65 28 77 69 6e |PollSaveFile(win| 00004500 64 6f 77 25 29 0d 1a cc 05 cb 0d 1a d6 05 e1 0d |dow%)...........| 00004510 1a e0 1e dd f2 57 69 6d 70 5f 50 6f 6c 6c 45 76 |.....Wimp_PollEv| 00004520 65 6e 74 4d 6f 75 73 65 43 6c 69 63 6b 0d 1a ea |entMouseClick...| 00004530 2a e7 69 6e 74 65 72 66 61 63 65 25 8c c8 99 22 |*.interface%..."| 00004540 57 69 6d 70 5f 42 6f 72 64 65 72 49 63 6f 6e 22 |Wimp_BorderIcon"| 00004550 2c 2c 77 69 6d 70 25 0d 1a f4 32 f2 45 76 65 6e |,,wimp%...2.Even| 00004560 74 5f 4d 6f 75 73 65 43 6c 69 63 6b 28 77 69 6e |t_MouseClick(win| 00004570 64 6f 77 25 2c 69 63 6f 6e 25 2c 62 75 74 74 6f |dow%,icon%,butto| 00004580 6e 25 2c 78 25 2c 79 25 29 0d 1a fe 11 c8 8e 69 |n%,x%,y%)......i| 00004590 6e 74 65 72 66 61 63 65 25 ca 0d 1b 08 06 c9 b9 |nterface%.......| 000045a0 0d 1b 12 23 77 69 6d 70 25 21 30 3d 78 25 3a 77 |...#wimp%!0=x%:w| 000045b0 69 6d 70 25 21 34 3d 79 25 3a 77 69 6d 70 25 21 |imp%!4=y%:wimp%!| 000045c0 38 3d 30 0d 1b 1c 23 77 69 6d 70 25 21 31 32 3d |8=0...#wimp%!12=| 000045d0 77 69 6e 64 6f 77 25 3a 77 69 6d 70 25 21 31 36 |window%:wimp%!16| 000045e0 3d 69 63 6f 6e 25 0d 1b 26 1e c8 99 22 57 69 6d |=icon%..&..."Wim| 000045f0 70 5f 42 6f 72 64 65 72 49 63 6f 6e 22 2c 2c 77 |p_BorderIcon",,w| 00004600 69 6d 70 25 0d 1b 30 05 cb 0d 1b 3a 05 e1 0d 1b |imp%..0....:....| 00004610 44 20 dd f2 57 69 6d 70 5f 50 6f 6c 6c 53 61 76 |D ..Wimp_PollSav| 00004620 65 46 69 6c 65 28 77 69 6e 64 6f 77 25 29 0d 1b |eFile(window%)..| 00004630 4e 0a ea 66 69 6c 65 24 0d 1b 58 3a 77 69 6d 70 |N..file$..X:wimp| 00004640 25 21 30 3d 77 69 6e 64 6f 77 25 3a 77 69 6d 70 |%!0=window%:wimp| 00004650 25 21 34 3d 31 3a c8 99 22 57 69 6d 70 5f 47 65 |%!4=1:.."Wimp_Ge| 00004660 74 49 63 6f 6e 53 74 61 74 65 22 2c 2c 77 69 6d |tIconState",,wim| 00004670 70 25 0d 1b 62 15 66 69 6c 65 24 3d 24 28 77 69 |p%..b.file$=$(wi| 00004680 6d 70 25 21 32 38 29 0d 1b 6c 12 c8 8e a7 66 69 |mp%!28)..l....fi| 00004690 6c 65 24 2c 22 2e 22 29 ca 0d 1b 76 06 c9 30 0d |le$,".")...v..0.| 000046a0 1b 80 3d 24 28 77 69 6d 70 25 2b 34 29 3d 22 54 |..=$(wimp%+4)="T| 000046b0 6f 20 73 61 76 65 2c 20 64 72 61 67 20 74 68 65 |o save, drag the| 000046c0 20 69 63 6f 6e 20 74 6f 20 61 20 64 69 72 65 63 | icon to a direc| 000046d0 74 6f 72 79 20 77 69 6e 64 6f 77 22 0d 1b 8a 27 |tory window"...'| 000046e0 c8 99 22 57 69 6d 70 5f 52 65 70 6f 72 74 45 72 |.."Wimp_ReportEr| 000046f0 72 6f 72 22 2c 77 69 6d 70 25 2c 31 36 2c 74 61 |ror",wimp%,16,ta| 00004700 73 6b 24 0d 1b 94 05 7f 0d 1b 9e 22 f2 45 76 65 |sk$........".Eve| 00004710 6e 74 5f 53 61 76 65 46 69 6c 65 28 66 69 6c 65 |nt_SaveFile(file| 00004720 24 2c 77 69 6e 64 6f 77 25 29 0d 1b a8 05 cb 0d |$,window%)......| 00004730 1b b2 1a c8 99 22 57 69 6d 70 5f 43 72 65 61 74 |....."Wimp_Creat| 00004740 65 4d 65 6e 75 22 2c 2d 31 0d 1b bc 05 e1 0d 1b |eMenu",-1.......| 00004750 c6 1f dd f2 57 69 6d 70 5f 50 6f 6c 6c 44 72 61 |....Wimp_PollDra| 00004760 67 42 6f 78 28 77 69 6e 64 6f 77 25 29 0d 1b d0 |gBox(window%)...| 00004770 0a ea 78 25 2c 79 25 0d 1b da 11 73 61 76 65 25 |..x%,y%....save%| 00004780 3d 77 69 6e 64 6f 77 25 0d 1b e4 12 21 77 69 6d |=window%....!wim| 00004790 70 25 3d 77 69 6e 64 6f 77 25 0d 1b ee 22 c8 99 |p%=window%..."..| 000047a0 22 57 69 6d 70 5f 47 65 74 57 69 6e 64 6f 77 53 |"Wimp_GetWindowS| 000047b0 74 61 74 65 22 2c 2c 77 69 6d 70 25 0d 1b f8 2c |tate",,wimp%...,| 000047c0 78 25 3d 77 69 6d 70 25 21 34 2d 77 69 6d 70 25 |x%=wimp%!4-wimp%| 000047d0 21 32 30 3a 79 25 3d 77 69 6d 70 25 21 31 36 2d |!20:y%=wimp%!16-| 000047e0 77 69 6d 70 25 21 32 34 0d 1c 02 0d 77 69 6d 70 |wimp%!24....wimp| 000047f0 25 21 34 3d 30 0d 1c 0c 20 c8 99 22 57 69 6d 70 |%!4=0... .."Wimp| 00004800 5f 47 65 74 49 63 6f 6e 53 74 61 74 65 22 2c 2c |_GetIconState",,| 00004810 77 69 6d 70 25 0d 1c 16 12 21 77 69 6d 70 25 3d |wimp%....!wimp%=| 00004820 77 69 6e 64 6f 77 25 0d 1c 20 0d 77 69 6d 70 25 |window%.. .wimp%| 00004830 21 34 3d 35 0d 1c 2a 2b 77 69 6d 70 25 21 38 3d |!4=5..*+wimp%!8=| 00004840 78 25 2b 77 69 6d 70 25 21 38 3a 77 69 6d 70 25 |x%+wimp%!8:wimp%| 00004850 21 31 32 3d 79 25 2b 77 69 6d 70 25 21 31 32 0d |!12=y%+wimp%!12.| 00004860 1c 34 2d 77 69 6d 70 25 21 31 36 3d 78 25 2b 77 |.4-wimp%!16=x%+w| 00004870 69 6d 70 25 21 31 36 3a 77 69 6d 70 25 21 32 30 |imp%!16:wimp%!20| 00004880 3d 79 25 2b 77 69 6d 70 25 21 32 30 0d 1c 3e 19 |=y%+wimp%!20..>.| 00004890 77 69 6d 70 25 21 32 34 3d 30 3a 77 69 6d 70 25 |wimp%!24=0:wimp%| 000048a0 21 32 38 3d 30 0d 1c 48 29 77 69 6d 70 25 21 33 |!28=0..H)wimp%!3| 000048b0 32 3d 26 37 46 46 46 46 46 46 46 3a 77 69 6d 70 |2=&7FFFFFFF:wimp| 000048c0 25 21 33 36 3d 26 37 46 46 46 46 46 46 46 0d 1c |%!36=&7FFFFFFF..| 000048d0 52 1b c8 99 22 57 69 6d 70 5f 44 72 61 67 42 6f |R..."Wimp_DragBo| 000048e0 78 22 2c 2c 77 69 6d 70 25 0d 1c 5c 05 e1 0d 1c |x",,wimp%..\....| 000048f0 66 17 dd f2 57 69 6d 70 5f 50 6f 6c 6c 4b 65 79 |f...Wimp_PollKey| 00004900 50 72 65 73 73 0d 1c 70 2f 77 69 6e 64 6f 77 25 |Press..p/window%| 00004910 3d 77 69 6d 70 25 21 30 3a 69 63 6f 6e 25 3d 77 |=wimp%!0:icon%=w| 00004920 69 6d 70 25 21 34 3a 6b 65 79 25 3d 77 69 6d 70 |imp%!4:key%=wimp| 00004930 25 21 32 34 0d 1c 7a 1b c8 8e a4 45 76 65 6e 74 |%!24..z....Event| 00004940 5f 53 61 76 65 28 77 69 6e 64 6f 77 25 29 ca 0d |_Save(window%)..| 00004950 1c 84 22 c9 b9 3a f2 57 69 6d 70 50 6f 6c 6c 5f |.."..:.WimpPoll_| 00004960 53 61 76 65 46 69 6c 65 28 77 69 6e 64 6f 77 25 |SaveFile(window%| 00004970 29 0d 1c 8e 2a c9 a3 3a f2 45 76 65 6e 74 5f 4b |)...*..:.Event_K| 00004980 65 79 50 72 65 73 73 28 77 69 6e 64 6f 77 25 2c |eyPress(window%,| 00004990 69 63 6f 6e 25 2c 6b 65 79 25 29 0d 1c 98 05 cb |icon%,key%).....| 000049a0 0d 1c a2 05 e1 0d 1c ac 1a dd f2 57 69 6d 70 5f |...........Wimp_| 000049b0 50 6f 6c 6c 53 61 76 65 4d 65 73 73 61 67 65 0d |PollSaveMessage.| 000049c0 1c b6 1e ea 66 69 6c 65 24 2c 77 69 6e 64 6f 77 |....file$,window| 000049d0 25 2c 69 63 6f 6e 25 2c 78 25 2c 79 25 0d 1c c0 |%,icon%,x%,y%...| 000049e0 22 c8 99 22 57 69 6d 70 5f 47 65 74 50 6f 69 6e |".."Wimp_GetPoin| 000049f0 74 65 72 49 6e 66 6f 22 2c 2c 77 69 6d 70 25 0d |terInfo",,wimp%.| 00004a00 1c ca 39 77 69 6e 64 6f 77 25 3d 77 69 6d 70 25 |..9window%=wimp%| 00004a10 21 31 32 3a 69 63 6f 6e 25 3d 77 69 6d 70 25 21 |!12:icon%=wimp%!| 00004a20 31 36 3a 78 25 3d 77 69 6d 70 25 21 30 3a 79 25 |16:x%=wimp%!0:y%| 00004a30 3d 77 69 6d 70 25 21 34 0d 1c d4 38 77 69 6d 70 |=wimp%!4...8wimp| 00004a40 25 21 30 3d 73 61 76 65 25 3a 77 69 6d 70 25 21 |%!0=save%:wimp%!| 00004a50 34 3d 31 3a c8 99 22 57 69 6d 70 5f 47 65 74 49 |4=1:.."Wimp_GetI| 00004a60 63 6f 6e 53 74 61 74 65 22 2c 2c 77 69 6d 70 25 |conState",,wimp%| 00004a70 0d 1c de 15 66 69 6c 65 24 3d 24 28 77 69 6d 70 |....file$=$(wimp| 00004a80 25 21 32 38 29 0d 1c e8 2a 66 69 6c 65 24 3d a4 |%!28)...*file$=.| 00004a90 57 69 6d 70 5f 47 65 74 46 69 6c 65 46 72 6f 6d |Wimp_GetFileFrom| 00004aa0 50 61 74 68 6e 61 6d 65 28 66 69 6c 65 24 29 0d |Pathname(file$).| 00004ab0 1c f2 14 77 69 6d 70 25 21 32 30 3d 77 69 6e 64 |...wimp%!20=wind| 00004ac0 6f 77 25 0d 1c fc 12 77 69 6d 70 25 21 32 34 3d |ow%....wimp%!24=| 00004ad0 69 63 6f 6e 25 0d 1d 06 1b 77 69 6d 70 25 21 32 |icon%....wimp%!2| 00004ae0 38 3d 78 25 3a 77 69 6d 70 25 21 33 32 3d 79 25 |8=x%:wimp%!32=y%| 00004af0 0d 1d 10 14 77 69 6d 70 25 21 33 36 3d 6c 65 6e |....wimp%!36=len| 00004b00 67 74 68 25 0d 1d 1a 0e 77 69 6d 70 25 21 30 3d |gth%....wimp%!0=| 00004b10 36 34 0d 1d 24 0e 77 69 6d 70 25 21 31 32 3d 30 |64..$.wimp%!12=0| 00004b20 0d 1d 2e 0e 77 69 6d 70 25 21 31 36 3d 31 0d 1d |....wimp%!16=1..| 00004b30 38 11 77 69 6d 70 25 21 34 30 3d 26 46 46 46 0d |8.wimp%!40=&FFF.| 00004b40 1d 42 15 24 28 77 69 6d 70 25 2b 34 34 29 3d 66 |.B.$(wimp%+44)=f| 00004b50 69 6c 65 24 0d 1d 4c 33 c8 99 22 57 69 6d 70 5f |ile$..L3.."Wimp_| 00004b60 53 65 6e 64 4d 65 73 73 61 67 65 22 2c 31 37 2c |SendMessage",17,| 00004b70 77 69 6d 70 25 2c 77 69 6d 70 25 21 32 30 2c 77 |wimp%,wimp%!20,w| 00004b80 69 6d 70 25 21 32 34 0d 1d 56 05 e1 0d 1d 60 17 |imp%!24..V....`.| 00004b90 dd f2 57 69 6d 70 5f 50 6f 6c 6c 4d 65 73 73 61 |..Wimp_PollMessa| 00004ba0 67 65 73 0d 1d 6a 0a ea 66 69 6c 65 24 0d 1d 74 |ges..j..file$..t| 00004bb0 2c 66 69 6c 65 24 3d a4 57 69 6d 70 5f 47 65 74 |,file$=.Wimp_Get| 00004bc0 53 74 72 69 6e 67 41 74 41 64 64 72 65 73 73 28 |StringAtAddress(| 00004bd0 77 69 6d 70 25 2b 34 34 29 0d 1d 7e 0f c8 8e 77 |wimp%+44)..~...w| 00004be0 69 6d 70 25 21 31 36 ca 0d 1d 88 12 c9 30 3a 66 |imp%!16......0:f| 00004bf0 69 6e 69 73 68 65 64 25 3d b9 0d 1d 92 06 c9 31 |inished%=......1| 00004c00 0d 1d 9c 06 c9 32 0d 1d a6 38 77 69 6d 70 25 21 |.....2...8wimp%!| 00004c10 30 3d 73 61 76 65 25 3a 77 69 6d 70 25 21 34 3d |0=save%:wimp%!4=| 00004c20 31 3a c8 99 22 57 69 6d 70 5f 47 65 74 49 63 6f |1:.."Wimp_GetIco| 00004c30 6e 53 74 61 74 65 22 2c 2c 77 69 6d 70 25 0d 1d |nState",,wimp%..| 00004c40 b0 15 24 28 77 69 6d 70 25 21 32 38 29 3d 66 69 |..$(wimp%!28)=fi| 00004c50 6c 65 24 0d 1d ba 30 77 69 6d 70 25 21 30 3d 73 |le$...0wimp%!0=s| 00004c60 61 76 65 25 3a 77 69 6d 70 25 21 34 3d 31 3a 77 |ave%:wimp%!4=1:w| 00004c70 69 6d 70 25 21 38 3d 30 3a 77 69 6d 70 25 21 31 |imp%!8=0:wimp%!1| 00004c80 32 3d 30 0d 1d c4 20 c8 99 22 57 69 6d 70 5f 53 |2=0... .."Wimp_S| 00004c90 65 74 49 63 6f 6e 53 74 61 74 65 22 2c 2c 77 69 |etIconState",,wi| 00004ca0 6d 70 25 0d 1d ce 31 c8 99 22 57 69 6d 70 5f 53 |mp%...1.."Wimp_S| 00004cb0 65 74 43 61 72 65 74 50 6f 73 69 74 69 6f 6e 22 |etCaretPosition"| 00004cc0 2c 73 61 76 65 25 2c 31 2c 2c 2c 2d 31 2c a9 66 |,save%,1,,,-1,.f| 00004cd0 69 6c 65 24 0d 1d d8 20 f2 45 76 65 6e 74 5f 53 |ile$... .Event_S| 00004ce0 61 76 65 46 69 6c 65 28 66 69 6c 65 24 2c 73 61 |aveFile(file$,sa| 00004cf0 76 65 25 29 0d 1d e2 06 c9 33 0d 1d ec 3f 74 79 |ve%).....3...?ty| 00004d00 70 65 24 3d a4 57 69 6d 70 5f 46 69 6c 65 54 79 |pe$=.Wimp_FileTy| 00004d10 70 65 28 77 69 6d 70 25 21 34 30 29 3a f2 45 76 |pe(wimp%!40):.Ev| 00004d20 65 6e 74 5f 4c 6f 61 64 46 69 6c 65 28 66 69 6c |ent_LoadFile(fil| 00004d30 65 24 2c 74 79 70 65 24 29 0d 1d f6 05 cb 0d 1e |e$,type$).......| 00004d40 00 05 e1 0d 1e 0a 25 dd a4 57 69 6d 70 5f 47 65 |......%..Wimp_Ge| 00004d50 74 53 74 72 69 6e 67 41 74 41 64 64 72 65 73 73 |tStringAtAddress| 00004d60 28 61 72 72 61 79 25 29 0d 1e 14 0d ea 73 24 3a |(array%).....s$:| 00004d70 73 24 3d 22 22 0d 1e 1e 3b c8 95 28 3f 61 72 72 |s$=""...;..(?arr| 00004d80 61 79 25 3c 3e 31 33 29 80 28 3f 61 72 72 61 79 |ay%<>13).(?array| 00004d90 25 3c 3e 30 29 3a 73 24 2b 3d bd 28 3f 61 72 72 |%<>0):s$+=.(?arr| 00004da0 61 79 25 29 3a 61 72 72 61 79 25 2b 3d 31 3a ce |ay%):array%+=1:.| 00004db0 0d 1e 28 07 3d 73 24 0d 1e 32 22 dd a4 57 69 6d |..(.=s$..2"..Wim| 00004dc0 70 5f 47 65 74 46 69 6c 65 46 72 6f 6d 50 61 74 |p_GetFileFromPat| 00004dd0 68 6e 61 6d 65 28 66 24 29 0d 1e 3c 0f c8 8e a7 |hname(f$)..<....| 00004de0 66 24 2c 22 2e 22 29 ca 0d 1e 46 0a c9 30 3a 3d |f$,".")...F..0:=| 00004df0 66 24 0d 1e 50 35 7f 3a 3d a4 57 69 6d 70 5f 47 |f$..P5.:=.Wimp_G| 00004e00 65 74 46 69 6c 65 46 72 6f 6d 50 61 74 68 6e 61 |etFileFromPathna| 00004e10 6d 65 28 c2 66 24 2c a9 28 66 24 29 2d a7 66 24 |me(.f$,.(f$)-.f$| 00004e20 2c 22 2e 22 29 29 29 0d 1e 5a 05 cb 0d 1e 64 1a |,".")))..Z....d.| 00004e30 dd a4 57 69 6d 70 5f 46 69 6c 65 54 79 70 65 28 |..Wimp_FileType(| 00004e40 74 79 70 65 25 29 0d 1e 6e 0c c8 8e 74 79 70 65 |type%)..n...type| 00004e50 25 ca 0d 1e 78 11 c9 26 46 46 46 3a 3d 22 54 65 |%...x..&FFF:="Te| 00004e60 78 74 22 0d 1e 82 11 c9 26 46 46 44 3a 3d 22 44 |xt".....&FFD:="D| 00004e70 61 74 61 22 0d 1e 8c 12 c9 26 46 46 42 3a 3d 22 |ata".....&FFB:="| 00004e80 42 61 73 69 63 22 0d 1e 96 13 c9 26 46 46 39 3a |Basic".....&FF9:| 00004e90 3d 22 53 70 72 69 74 65 22 0d 1e a0 14 c9 26 46 |="Sprite".....&F| 00004ea0 45 44 3a 3d 22 50 61 6c 65 74 74 65 22 0d 1e aa |ED:="Palette"...| 00004eb0 15 c9 26 46 45 43 3a 3d 22 54 65 6d 70 6c 61 74 |..&FEC:="Templat| 00004ec0 65 22 0d 1e b4 11 c9 26 41 46 46 3a 3d 22 44 72 |e".....&AFF:="Dr| 00004ed0 61 77 22 0d 1e be 14 c9 26 31 30 30 30 3a 3d 22 |aw".....&1000:="| 00004ee0 46 6f 6c 64 65 72 22 0d 1e c8 19 c9 26 32 30 30 |Folder".....&200| 00004ef0 30 3a 3d 22 41 70 70 6c 69 63 61 74 69 6f 6e 22 |0:="Application"| 00004f00 0d 1e d2 0f 7f 3d c3 7e 28 74 79 70 65 25 29 0d |.....=.~(type%).| 00004f10 1e dc 05 cb 0d 1e e6 38 dd f2 73 68 65 6c 6c 5f |.......8..shell_| 00004f20 57 69 6e 64 6f 77 52 65 73 69 7a 65 28 77 68 61 |WindowResize(wha| 00004f30 6e 64 6c 65 25 2c 62 78 25 2c 62 79 25 2c 74 78 |ndle%,bx%,by%,tx| 00004f40 25 2c 74 79 25 2c 6f 70 65 6e 25 29 0d 1e f0 2b |%,ty%,open%)...+| 00004f50 21 5f 51 25 3d 62 78 25 3a 5f 51 25 21 34 3d 62 |!_Q%=bx%:_Q%!4=b| 00004f60 79 25 3a 5f 51 25 21 38 3d 74 78 25 3a 5f 51 25 |y%:_Q%!8=tx%:_Q%| 00004f70 21 31 32 3d 74 79 25 0d 1e fa 23 c8 99 22 57 69 |!12=ty%...#.."Wi| 00004f80 6d 70 5f 53 65 74 45 78 74 65 6e 74 22 2c 77 68 |mp_SetExtent",wh| 00004f90 61 6e 64 6c 65 25 2c 5f 51 25 0d 1f 04 0b e7 6f |andle%,_Q%.....o| 00004fa0 70 65 6e 25 8c 0d 1f 0e 12 5f 51 25 21 30 3d 77 |pen%....._Q%!0=w| 00004fb0 68 61 6e 64 6c 65 25 0d 1f 18 1f c8 99 22 57 69 |handle%......"Wi| 00004fc0 6d 70 5f 47 65 74 57 69 6e 64 6f 77 49 6e 66 6f |mp_GetWindowInfo| 00004fd0 22 2c 2c 5f 51 25 0d 1f 22 1c c8 99 22 57 69 6d |",,_Q%.."..."Wim| 00004fe0 70 5f 4f 70 65 6e 57 69 6e 64 6f 77 22 2c 2c 5f |p_OpenWindow",,_| 00004ff0 51 25 0d 1f 2c 05 cd 0d 1f 36 05 e1 0d ff |Q%..,....6....| 00004ffe