Home » Archimedes archive » Archimedes World » AW-1993-11.adf » AWNov93 » !AWNov93/Goodies/Cheats/!Cheats/!RunImage

!AWNov93/Goodies/Cheats/!Cheats/!RunImage

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Archimedes archive » Archimedes World » AW-1993-11.adf » AWNov93
Filename: !AWNov93/Goodies/Cheats/!Cheats/!RunImage
Read OK:
File size: 787F bytes
Load address: 0000
Exec address: 0000
File contents
   10SYS "OS_GetEnv" TO env$
   20IF INSTR(env$," -quit ") THEN
   30fileload$=MID$(env$,INSTR(env$,CHR$(34),INSTR(env$,CHR$(34))+1)+1)
   40ENDIF
   50                           PROCWimp_Start("Cheats",1200,2500)
   60                           PROCUser_SetInitialData
   70                           PROCCreate_Windows
   80                           PROCCreate_Menus
   90IF fileload$<>" " THEN
  100PROCEvent_LoadFile(fileload$,"Cheat")
  110ENDIF
  120                           PROCWimp_WaitForEvent
  130                           PROCWimp_CloseDown
  140                           END
  150       :
  160       DEF PROCUser_SetInitialData
  170CD%=FALSE
  180DIM title% 256
  190tot=199
  200DIM name$(tot)
  210DIM note1$(tot)
  220DIM note2$(tot)
  230DIM note3$(tot)
  240DIM note4$(tot)
  250DIM note5$(tot)
  260DIM note6$(tot)
  270DIM note7$(tot)
  280ptot=0
  290cur=0
  300num=0
  310print=TRUE
  320UPDATE%=FALSE
  330SA%=FALSE
  340DRIVER%=FALSE
  350       ENDPROC
  360       :
  370       DEF PROCCreate_Windows
  380         PROCWimp_SpritesLoad
  390                  Info_Window%=FNWimp_WindowLoad("Info")
  400                  main_Window%=FNWimp_WindowLoad("main")
  410                  Save_Window%=FNWimp_WindowLoad("Save")
  420                search_Window%=FNWimp_WindowLoad("search")
  430                 print_Window%=FNWimp_WindowLoad("print")
  440                 Save2_Window%=FNWimp_WindowLoad("Save2")
  450                 Close_Window%=FNWimp_WindowLoad("Close")
  460       Bar_Icon%=FNWimp_IconBar("!Cheats")
  470       ENDPROC
  480        :
  490        DEF FNEvent_Save(window%)
  500          CASE window% OF
  510            WHEN Save_Window% :=TRUE
  520            WHEN Save2_Window% :=TRUE
  530            OTHERWISE :=FALSE
  540          ENDCASE
  550        :
  560        DEF FNEvent_Sprites(window%)=sprites%
  570       :
  580       DEF PROCCreate_Menus
  590         menu$="Cheats\Info>Info_Window%\Quit"
  600         Bar_Menu%=FNWimp_MenuCreate(menu$)
  610         save_Menu%=FNWimp_MenuCreate("Save\Cheat>Save_Window%\Text>Save2_Window%")
  620         main_Menu%=FNWimp_MenuCreate("Main\Print>print_Window%\Save>save_Menu%")
  630PROCWimp_MenuDottedLine(main_Menu%,1)
  640PROCWimp_MenuDisable(main_Menu%,2)
  650PROCWimp_MenuDisable(main_Menu%,1)
  660       ENDPROC
  670        :
  680        DEF FNEvent_Menu(window%)
  690        CASE window% OF
  700         WHEN Bar_Window%        : =Bar_Menu%
  710         WHEN main_Window%       : =main_Menu%
  720         OTHERWISE               : =FALSE
  730        ENDCASE
  740       :
  750       DEF PROCEvent_WindowClose(window%,buttons%)
  760       CASE window% OF
  770       ENDCASE
  780       ENDPROC
  790       :
  800       DEF PROCEvent_Draw(window%,x_origin%,y_origin%)
  810       CASE window% OF
  820        WHEN main_Window%        : PROCUser_DrawmainWindow
  830       ENDCASE
  840       ENDPROC
  850             DEF PROCUser_DrawmainWindow
  860SYS"Wimp_SetColour",11
  870len=604/(ptot+1)
  880pos=cur*len
  890RECTANGLE FILL (x_origin%+pos)+32,y_origin%-930,len,12
  900             ENDPROC
  910       :
  920       DEF PROCEvent_MouseClick(window%,icon%,button%,x%,y%)
  930       CASE window% OF
  940        WHEN Bar_Window%        : PROCUser_MouseBar
  950        WHEN main_Window%       : PROCUser_Mousemain( button%,icon%)
  960        WHEN search_Window%     : PROCUser_Mousesearch( button%,icon%)
  970        WHEN print_Window%      : PROCUser_Mouseprint( button%,icon%)
  980        WHEN Close_Window%      : PROCUser_MouseClose( button%,icon%)
  990       ENDCASE
 1000       ENDPROC
 1010         :
 1020         DEF PROCUser_MouseClose( button%,icon%)
 1030         IF icon%=1 THEN
 1040SA%=TRUE
 1050PROCunbox
 1060PROCWimp_WindowClose(Close_Window%)
 1070UPDATE%=FALSE
 1080PROCWimp_WindowBringToTop(Save_Window%)
 1090A$=FNWimp_IconText(Save_Window%,1)
 1100PROCWimp_IconCaret(Save_Window%,1,LEN(A$))
 1110ENDIF
 1120         IF icon%=2 THEN
 1130PROCunbox
 1140UPDATE%=FALSE
 1150PROCWimp_WindowClose(Close_Window%)
 1160CD%=TRUE
 1170ENDIF
 1180         IF icon%=3 THEN
 1190PROCunbox
 1200PROCWimp_WindowClose(Close_Window%)
 1210ENDIF
 1220IF CD%=TRUE THEN PROCWimp_CloseDown
 1230         ENDPROC
 1240         :
 1250         DEF PROCUser_MouseBar
 1260IF SA%=FALSE THEN PROCWimp_WindowBringToTop(main_Window%)
 1270         ENDPROC
 1280         :
 1290         DEF PROCUser_Mouseprint( button%,icon%)
 1300IF icon%=3 THEN
 1310PROCWimp_SelectIcon(print_Window%,3)
 1320print=TRUE
 1330ENDIF
 1340IF icon%=1 THEN
 1350PROCWimp_SelectIcon(print_Window%,1)
 1360print=FALSE
 1370ENDIF
 1380IF icon%=2 AND DRIVER%=TRUE THEN
 1390PROCWimp_MenuClose
 1400PROCprint
 1410ENDIF
 1420         ENDPROC
 1430         :
 1440         DEF PROCUser_Mousesearch( button%,icon%)
 1450IF icon%=2 THEN
 1460found=FALSE
 1470A$=FNWimp_IconText(search_Window%,1)
 1480C=LEN(A$)
 1490cuv=FALSE
 1500FOR A=num TO ptot
 1510B$=LEFT$(name$(A),C)
 1520IF A$=B$ AND cuv=FALSE THEN
 1530cur=A
 1540REM PROCWimp_WindowBringToTop(main_Window%)
 1550PROCupdatemain
 1560PROCWimp_IconUpdate(main_Window%,16)
 1570num=A
 1580num+=1
 1590cuv=TRUE
 1600found=TRUE
 1610ENDIF
 1620NEXT A
 1630IF found=FALSE THEN num=0
 1640ENDIF
 1650
 1660IF icon%=3 THEN
 1670PROCWimp_PollCloseWindow
 1680num=0
 1690PROCupdatemain
 1700PROCWimp_IconUpdate(main_Window%,16)
 1710ENDIF
 1720         ENDPROC
 1730         DEF PROCUser_Mousemain( button%,icon%)
 1740REM         PROCWimp_WindowAlert("main","Mouse button="+STR$button%+"icon="+STR$icon%)
 1750IF icon%=11 AND cur<ptot THEN
 1760PROCinputmain
 1770cur+=1
 1780PROCupdatemain
 1790PROCWimp_IconUpdate(main_Window%,16)
 1800ENDIF
 1810
 1820IF icon%=12 THEN
 1830UPDATE%=TRUE
 1840IF ptot=0 THEN
 1850name$(cur)=""
 1860note1$(cur)=""
 1870note2$(cur)=""
 1880note3$(cur)=""
 1890note4$(cur)=""
 1900note5$(cur)=""
 1910note6$(cur)=""
 1920note7$(cur)=""
 1930PROCupdatemain
 1940ENDIF
 1950IF cur=ptot AND ptot>0 THEN
 1960PROCinputmain
 1970name$(cur)=""
 1980note1$(cur)=""
 1990note2$(cur)=""
 2000note3$(cur)=""
 2010note4$(cur)=""
 2020note5$(cur)=""
 2030note6$(cur)=""
 2040note7$(cur)=""
 2050cur-=1
 2060ptot-=1
 2070PROCupdatemain
 2080PROCWimp_IconUpdate(main_Window%,16)
 2090ENDIF
 2100IF cur<ptot THEN
 2110PROCinputmain
 2120FOR A=cur TO ptot
 2130name$(A)=name$(A+1)
 2140note1$(A)=note1$(A+1)
 2150note2$(A)=note2$(A+1)
 2160note3$(A)=note3$(A+1)
 2170note4$(A)=note4$(A+1)
 2180note5$(A)=note5$(A+1)
 2190note6$(A)=note6$(A+1)
 2200note7$(A)=note7$(A+1)
 2210NEXT A
 2220name$(ptot)=""
 2230note1$(ptot)=""
 2240note2$(ptot)=""
 2250note3$(ptot)=""
 2260note4$(ptot)=""
 2270note5$(ptot)=""
 2280note6$(ptot)=""
 2290note7$(ptot)=""
 2300ptot-=1
 2310PROCupdatemain
 2320PROCWimp_IconUpdate(main_Window%,16)
 2330ENDIF
 2340ENDIF
 2350
 2360IF icon%=13 AND cur>0 THEN
 2370PROCinputmain
 2380cur-=1
 2390PROCupdatemain
 2400PROCWimp_IconUpdate(main_Window%,16)
 2410ENDIF
 2420IF icon%=14 AND cur<ptot THEN
 2430PROCinputmain
 2440cur=ptot
 2450PROCupdatemain
 2460PROCWimp_IconUpdate(main_Window%,16)
 2470ENDIF
 2480IF icon%=15 AND cur>0 THEN
 2490PROCinputmain
 2500cur=0
 2510PROCupdatemain
 2520PROCWimp_IconUpdate(main_Window%,16)
 2530ENDIF
 2540
 2550
 2560IF icon%=17 THEN
 2570UPDATE%=TRUE
 2580PROCinputmain
 2590ptot+=1
 2600cur=ptot
 2610name$(ptot)=""
 2620note1$(ptot)=""
 2630note2$(ptot)=""
 2640note3$(ptot)=""
 2650note4$(ptot)=""
 2660note5$(ptot)=""
 2670note6$(ptot)=""
 2680note7$(ptot)=""
 2690PROCupdatemain
 2700PROCWimp_IconUpdate(main_Window%,16)
 2710ENDIF
 2720
 2730IF icon%=18 THEN
 2740IF ptot>0 THEN
 2750UPDATE%=TRUE
 2760PROCinputmain
 2770SYS"Hourglass_On"
 2780n=tot
 2790FOR BB%=0 TO ptot
 2800perc=BB%*(ptot/100)
 2810SYS"Hourglass_Percentage",perc
 2820FOR AA%=0 TO ptot-1
 2830IF name$(AA%)>name$(AA%+1) THEN
 2840SWAP name$(AA%),name$(AA%+1)
 2850SWAP note1$(AA%),note1$(AA%+1)
 2860SWAP note2$(AA%),note2$(AA%+1)
 2870SWAP note3$(AA%),note3$(AA%+1)
 2880SWAP note4$(AA%),note4$(AA%+1)
 2890SWAP note5$(AA%),note5$(AA%+1)
 2900SWAP note6$(AA%),note6$(AA%+1)
 2910SWAP note7$(AA%),note7$(AA%+1)
 2920ENDIF
 2930NEXT AA%
 2940NEXT BB%
 2950PROCupdatemain
 2960PROCinputmain
 2970SYS"Hourglass_Smash"
 2980ENDIF
 2990ENDIF
 3000
 3010IF icon%=19 AND ptot>0 THEN
 3020PROCWimp_WindowBringToTop(search_Window%)
 3030ENDIF
 3040
 3050IF icon%=20 AND ptot>0 THEN
 3060x%=wimp%!0:y%=wimp%!4
 3070PROCWimp_MenuPopUp(print_Window%,x%-150,y%+100)
 3080ENDIF
 3090
 3100         ENDPROC
 3110       :
 3120       DEF PROCEvent_KeyPress(window%,icon%,key%)
 3130          CASE window% OF
 3140           WHEN main_Window%       : PROCUser_KeyPressmain( icon%,key%)
 3150          ENDCASE
 3160       ENDPROC
 3170         :
 3180         DEF PROCUser_KeyPressmain( icon%,key%)
 3190REM      PROCWimp_WindowAlert("main","Key pressed="+STR$key%+"icon="+STR$icon%)
 3200IF key%=13 AND icon%<10 OR key%=398 AND icon%<10 THEN
 3210a%=LEN(FNWimp_IconText(main_Window%,icon%+1))
 3220PROCWimp_IconCaret(main_Window%,icon%+1,a%)
 3230ENDIF
 3240IF key%=13 AND icon%=10 OR key%=398 AND icon%=10 THEN
 3250a%=LEN(FNWimp_IconText(main_Window%,3))
 3260PROCWimp_IconCaret(main_Window%,3,a%)
 3270ENDIF
 3280IF key%=399 AND icon%>3 THEN
 3290a%=LEN(FNWimp_IconText(main_Window%,icon%-1))
 3300PROCWimp_IconCaret(main_Window%,icon%-1,a%)
 3310ENDIF
 3320IF key%=399 AND icon%=3 THEN
 3330a%=LEN(FNWimp_IconText(main_Window%,10))
 3340PROCWimp_IconCaret(main_Window%,10,a%)
 3350ENDIF
 3360         ENDPROC
 3370       :
 3380       DEF PROCEvent_MenuChoice(menu%)
 3390        CASE menu% OF
 3400              WHEN Bar_Menu%          : PROCUser_MenuChoiceBar
 3410              WHEN main_Menu%         : PROCUser_MenuChoicemain
 3420        ENDCASE
 3430       ENDPROC
 3440       :
 3450       DEF PROCUser_MenuChoiceBar
 3460IF SA%=FALSE THEN
 3470        CASE FNWimp_MenuChoice(0) OF
 3480         WHEN 1 :
 3490         WHEN 2
 3500IF UPDATE%=TRUE THEN
 3510PROCWimp_IconPutText(Close_Window%,0,"This file has been modified")
 3520PROCWimp_WindowBringToTop(Close_Window%)
 3530PROCmousebox(Close_Window%)
 3540ENDIF
 3550IF UPDATE%=FALSE THEN finished%=TRUE
 3560        ENDCASE
 3570       ENDPROC
 3580       :
 3590       DEF PROCUser_MenuChoicemain
 3600        CASE FNWimp_MenuChoice(0) OF
 3610         WHEN 1 :
 3620        ENDCASE
 3630       ENDPROC
 3640       :
 3650       DEF PROCEvent_LoadFile(file$,type$)
 3660         CASE type$ OF
 3670           WHEN "Cheat"
 3680PROCWimp_IconPutText(Save_Window%,1,file$)
 3690X%=OPENIN(file$)
 3700INPUT #X%,ptot
 3710FOR A=0 TO ptot
 3720INPUT #X%,name$(A)
 3730INPUT #X%,note1$(A)
 3740INPUT #X%,note2$(A)
 3750INPUT #X%,note3$(A)
 3760INPUT #X%,note4$(A)
 3770INPUT #X%,note5$(A)
 3780INPUT #X%,note6$(A)
 3790INPUT #X%,note7$(A)
 3800NEXT A
 3810CLOSE #X%
 3820cur=0
 3830PROCWimp_WindowBringToTop(main_Window%)
 3840PROCupdatemain
 3850PROCWimp_IconUpdate(main_Window%,16)
 3860         ENDCASE
 3870       ENDPROC
 3880         :
 3890         DEF PROCUser_LoadFileTemplate(file$)
 3900           PROCWimp_WindowAlert("!Cheats","Loading file "+file$)
 3910         ENDPROC
 3920       :
 3930       DEF PROCEvent_SaveFile(file$,window%)
 3940         CASE window% OF
 3950           WHEN Save_Window%
 3960LOCAL ERROR
 3970ON ERROR LOCAL PROCerror
 3980PROCinputmain
 3990X%=OPENOUT(file$)
 4000PRINT #X%,ptot
 4010FOR A=0 TO ptot
 4020PRINT #X%,name$(A)
 4030PRINT #X%,note1$(A)
 4040PRINT #X%,note2$(A)
 4050PRINT #X%,note3$(A)
 4060PRINT #X%,note4$(A)
 4070PRINT #X%,note5$(A)
 4080PRINT #X%,note6$(A)
 4090PRINT #X%,note7$(A)
 4100NEXT A
 4110CLOSE #X%
 4120OSCLI("SETTYPE "+file$+" BBD")
 4130PROCWimp_MenuClose
 4140UPDATE%=FALSE
 4150         WHEN Save2_Window%
 4160LOCAL ERROR
 4170ON ERROR LOCAL PROCerror
 4180PROCinputmain
 4190VDU21
 4200OSCLI("SPOOL "+file$)
 4210FOR A=0 TO ptot
 4220PRINT name$(A)+CHR$(10);
 4230IF note1$(A)<>"" THEN PRINT note1$(A)+CHR$(10);
 4240IF note2$(A)<>"" THEN PRINT note2$(A)+CHR$(10);
 4250IF note3$(A)<>"" THEN PRINT note3$(A)+CHR$(10);
 4260IF note4$(A)<>"" THEN PRINT note4$(A)+CHR$(10);
 4270IF note5$(A)<>"" THEN PRINT note5$(A)+CHR$(10);
 4280IF note6$(A)<>"" THEN PRINT note6$(A)+CHR$(10);
 4290IF note7$(A)<>"" THEN PRINT note7$(A)+CHR$(10);
 4300PRINT CHR$(10);
 4310NEXT A
 4320OSCLI("SPOOL")
 4330OSCLI("SETTYPE "+file$+" FFF")
 4340VDU6
 4350PROCWimp_MenuClose
 4360IF file$="<Wimp$Scrap>" THEN
 4370PROCWimp_SendToEdit(file$)
 4380PROCWimp_IconPutText(Save2_Window%,1,ACE$)
 4390ENDIF
 4400         ENDCASE
 4410       ENDPROC
 4420REM *************************************************************************
 4430DEF PROCWimp_WindowAlert(title$,message$)
 4440PROCWimp_WindowAlertBox(title$,message$,0)
 4450ENDPROC
 4460:
 4470DEF PROCWimp_WindowAlertBox(title$,message$,button%)
 4480LOCAL response%
 4490$(wimp%+4)=message$
 4500CASE button% OF
 4510 WHEN 2    : response%=1
 4520 WHEN 1    : response%=15
 4530 WHEN 3    : response%=(1<<5)+16
 4540 WHEN 4    : response%=(1<<6)+16
 4550OTHERWISE : response%=16
 4560ENDCASE
 4570SYS "Wimp_ReportError",wimp%,response%,title$ TO ,response%
 4580ENDPROC
 4590:
 4600DEF FNWimp_WindowCancel(title$,message$)
 4610$(wimp%+4)=message$
 4620response%=23
 4630SYS "Wimp_ReportError",wimp%,response%,title$ TO ,response%
 4640=response%-2
 4650:
 4660DEF PROCWimp_WindowErrorBox(title$,message$)
 4670PROCWimp_WindowAlertBox(title$,message$,2)
 4680ENDPROC
 4690:
 4700DEF FNWimp_WindowTitle(window%)
 4710wimp%!0=window%
 4720SYS "Wimp_GetWindInfo",,wimp%
 4730IF ((wimp%!60)AND&100)=0 ERROR 1,"Title isn't indirected"
 4740=$(wimp%!76)
 4750:
 4760DEF FNWimp_WindowLoad(window$)
 4770=FNWimp_WindowLoadFrom(window$,"<Obey$Dir>.Templates")
 4780:
 4790DEF FNWimp_WindowLoadFrom(window$,template$)
 4800LOCAL c%,i%,n%,j%,sp$,sp2$
 4810SYS "Wimp_OpenTemplate",,template$
 4820SYS "Wimp_LoadTemplate",,wimp%,icons%,icon_memory%,-1,window$,0 TO ,,icons%
 4830CASE sprites% OF
 4840 WHEN 1    : wimp%!64=sprites%
 4850 OTHERWISE : wimp%!64=FNEvent_Sprites(window%)
 4860ENDCASE
 4870SYS "Wimp_CreateWindow",,wimp% TO c%
 4880SYS "Wimp_CloseTemplate"
 4890SYS "Wimp_WhichIcon",c%,wimp%+40,1+2+(1<<8),2+(1<<8)
 4900CASE wimp%!40 OF
 4910 WHEN -1   :
 4920 OTHERWISE : i%=40
 4930 REPEAT
 4940   wimp%!4=wimp%!i% : wimp%!0=c%
 4950   SYS "Wimp_GetIconState",,wimp%
 4960   sp$=FNWimp_GetStringAtAddress(wimp%!28)
 4970   SYS "Wimp_DeleteIcon",,wimp%
 4980   CASE sprites% OF
 4990    WHEN 1    : wimp%!32=1
 5000    OTHERWISE :
 5010     SYS "OS_SpriteOp",&108,sprites% TO ,,,n%
 5020     j%=0
 5030     REPEAT : j%+=1
 5040      SYS "OS_SpriteOp",&10D,sprites%,pointer_block%,20,j%
 5050      sp2$=FNWimp_GetStringAtAddress(pointer_block%)
 5060     UNTIL j%=n% OR sp$=sp2$
 5070     IF sp$=sp2$ THEN wimp%!32=sprites% ELSE wimp%!32=1
 5080   ENDCASE
 5090   wimp%!4=c%
 5100   SYS "Wimp_CreateIcon",,wimp%+4 TO handle%
 5110   i%+=4
 5120 UNTIL (wimp%!i%)=-1
 5130ENDCASE
 5140=c%
 5150:
 5160DEF PROCWimp_WindowBringToTop(window%)
 5170!wimp%=window%
 5180SYS "Wimp_GetWindowState",,wimp%
 5190wimp%!28=-1
 5200SYS "Wimp_OpenWindow",,wimp%
 5210ENDPROC
 5220:
 5230DEF PROCWimp_WindowClose(window%)
 5240!wimp%=window%
 5250SYS "Wimp_CloseWindow",,wimp%
 5260ENDPROC
 5270:
 5280DEF PROCWimp_WindowForceDraw(window%)
 5290CASE window% OF
 5300 WHEN -1   : SYS "Wimp_ForceRedraw",-1,0,0,2*1280,2*1024
 5310 OTHERWISE : SYS "Wimp_ForceRedraw",window%,0,-2*1024,2*1280,0
 5320ENDCASE
 5330ENDPROC
 5340:
 5350DEF PROCWimp_WindowOpen(window%)
 5360!wimp%=window%
 5370SYS "Wimp_GetWindowState",,wimp%
 5380SYS "Wimp_OpenWindow",,wimp%
 5390ENDPROC
 5400:
 5410PROCWimp_WindowInterface
 5420SYS"Wimp_BorderWindow",,wimp%
 5430ENDPROC
 5440REM *************************************************************************
 5450DEF PROCWimp_SetIconSprite(window%,icon%,sprite$)
 5460wimp%!0=window%
 5470wimp%!4=icon%
 5480SYS "Wimp_GetIconState",,wimp%
 5490$wimp%!32="S"+sprite$
 5500wimp%!0=window%
 5510wimp%!8=0
 5520wimp%!12=0
 5530SYS "Wimp_SetIconState",,wimp%
 5540ENDPROC
 5550:
 5560DEF PROCWimp_IconUpdate(window%,icon%)
 5570wimp%!0=window%
 5580wimp%!4=icon%
 5590wimp%!8=0
 5600wimp%!12=0
 5610SYS "Wimp_SetIconState",,wimp%
 5620ENDPROC
 5630:
 5640DEF FNWimp_IconBar(Sprite$)
 5650LOCAL icon%
 5660wimp%!0=-1
 5670wimp%!4=0     : wimp%!8=0
 5680wimp%!12=68 : wimp%!16=68
 5690wimp%!20=&3002
 5700$(wimp%+24)=Sprite$
 5710SYS "Wimp_CreateIcon",,wimp% TO icon%
 5720=icon%
 5730:
 5740DEF PROCWimp_IconCaret(window%,icon%,chars%)
 5750SYS "Wimp_SetCaretPosition",window%,icon%,,,-1,chars%
 5760ENDPROC
 5770:
 5780DEF FNWimp_IconText(window%,icon%)
 5790wimp%!0=window% : wimp%!4=icon%
 5800SYS "Wimp_GetIconState",,wimp%
 5810IF ((wimp%!24) AND &100)=0 ERROR 1,"Icon isn't indirected"
 5820=$(wimp%!28)
 5830:
 5840DEF FNWimp_IconValidation(window%,icon%)
 5850wimp%!0=window% : wimp%!4=icon%
 5860SYS "Wimp_GetIconState",,wimp%
 5870IF ((wimp%!24) AND &100)=0 ERROR 1,"Icon isn't indirected"
 5880=$(wimp%!32)
 5890:
 5900DEF PROCWimp_IconDisable(window%,icon%)
 5910wimp%!0=window% : wimp%!4=icon%
 5920wimp%!8=1<<22   : wimp%!12=1<<22
 5930SYS "Wimp_SetIconState",,wimp%
 5940ENDPROC
 5950:
 5960DEF PROCWimp_IconEnable(window%,icon%)
 5970wimp%!0=window% : wimp%!4=icon%
 5980wimp%!8=0       : wimp%!12=1<<22
 5990SYS "Wimp_SetIconState",,wimp%
 6000ENDPROC
 6010:
 6020DEF FNWimp_IconPutSprite(window%,icon%,sprite$)
 6030wimp%!0=window%:wimp%!4=icon%
 6040SYS "Wimp_GetIconState",,wimp%
 6050SYS "Wimp_DeleteIcon",,wimp%
 6060wimp%!4=wimp%!8   : wimp%!8=wimp%!12  : wimp%!12=wimp%!16
 6070wimp%!16=wimp%!20 : wimp%!20=wimp%!24 : $(wimp%+24)=sprite$
 6080SYS "Wimp_CreateIcon",,wimp% TO icon%
 6090=icon%
 6100:
 6110DEF PROCWimp_IconPutText(window%,icon%,text$)
 6120wimp%!0=window% : wimp%!4=icon%
 6130SYS "Wimp_GetIconState",,wimp%
 6140IF ((wimp%!24) AND &100)=0 ERROR 1,"Icon isn't indirected"
 6150$(wimp%!28)=text$
 6160wimp%!0=window% : wimp%!4=icon%
 6170wimp%!8=0 : wimp%!12=0
 6180SYS "Wimp_SetIconState",,wimp%
 6190ENDPROC
 6200:
 6210DEF PROCWimp_IconInterfaceStart
 6220SYS"Wimp_BorderIcon",,wimp%
 6230ENDPROC
 6240:
 6250DEF PROCWimp_IconInterfaceFinish
 6260wimp%!8=0
 6270SYS"Wimp_BorderIcon",,wimp%
 6280ENDPROC
 6290REM *************************************************************************
 6300DEF PROCWimp_MenuAdjustOn(menu%)
 6310SYS "Wimp_GetPointerInfo",,pointer_block%
 6320IF ((pointer_block%!8)AND1)=1 THEN SYS "Wimp_CreateMenu",,menu%,pointer_block%!0,pointer_block%!4
 6330ENDPROC
 6340:
 6350DEF FNWimp_MenuChoice(level%)
 6360=(wimp%!(4*level%))+1
 6370:
 6380DEF FNWimp_MenuCreate(menu$)
 6390IF menu$="Colours" THEN=FNWimp_MenuColours
 6400LOCAL menu%,index%,width%,length%,k%,s%
 6410DIM menu% 28+FNWimp_MenuNoOfEntries(menu$)*24
 6420menu%?12=7   : menu%?13=2  : menu%?14=7 :menu%?15=0
 6430menu%!16=140 : menu%!20=44 : menu%!24=0
 6440index%=menu%+28
 6450$menu%=LEFT$(menu$,INSTR(menu$,"\")-1)
 6460width%=LEN(LEFT$(menu$,INSTR(menu$,"\")-1))
 6470menu$+="\" : Menu_NoOfEntries%=0
 6480WHILE menu$<>""
 6490menu$=MID$(menu$,INSTR(menu$,"\")+1)
 6500CASE menu$ OF
 6510 WHEN ""
 6520 OTHERWISE :
 6530  !index%=0 : index%!4=-1 : index%!8=&7000021
 6540  length%=INSTR(menu$,"\")-1
 6550  k%=INSTR(LEFT$(menu$,length%),">")
 6560  CASE k% OF
 6570   WHEN 0
 6580   OTHERWISE
 6590    s%=EVAL(MID$(menu$,k%+1,length%-k%))
 6600    index%!4=s%
 6610    length%=k%-1
 6620  ENDCASE
 6630  $(index%+12)=LEFT$(menu$,length%)
 6640  IF length%>width% THEN width%=length%
 6650  index%+=24
 6660ENDCASE
 6670ENDWHILE
 6680menu%!16=16*(width%+1)
 6690index%!-24=index%!-24 OR &80 : =menu%
 6700:
 6710DEF FNWimp_MenuColours
 6720=FNWimp_MenuCreateColours(" ")
 6730:
 6740DEF FNWimp_MenuCreateColours(title$)
 6750LOCAL x$,men%,j%,i%
 6760x$=title$+"\0\1\2\3\4\5\6\7\8\9\10\11\12\13\14\15"
 6770men%=FNWimp_MenuCreate(x$)
 6780FOR i%=0 TO 15
 6790CASE TRUE OF
 6800WHEN i%<4,i%=9,i%=12,i%=14,i%=15 : j%=7
 6810OTHERWISE : j%=0
 6820ENDCASE
 6830men%?(39+i%*24)=i%*16+j%
 6840PROCWimp_MenuCentre(men%,i%+1)
 6850NEXT
 6860=men%
 6870:
 6880DEF FNWimp_MenuNoOfEntries(menu$)
 6890LOCAL n% ,j% : n%=0 : j%=0
 6900REPEAT
 6910j%=INSTR(menu$,"\",j%+1)
 6920IF j%<>0 THEN n%+=1
 6930UNTIL j%=0
 6940=n%
 6950:
 6960DEF PROCWimp_MenuBackGroundColour(menu%,item%,colour%)
 6970LOCAL fore%,i%
 6980fore%=(menu%?(39+(item%-1)*24))MOD16
 6990i%=((menu%?(39+(item%-1)*24))DIV16)MOD16
 7000menu%?(39+(item%-1)*24)=fore%+16*colour%+i%
 7010ENDPROC
 7020:
 7030DEF PROCWimp_MenuCentre(menu%,item%)
 7040menu%!(36+(item%-1)*24)=menu%!(36+(item%-1)*24)OR(1<<3)
 7050ENDPROC
 7060:
 7070DEF PROCWimp_MenuClose
 7080SYS "Wimp_CreateMenu",-1
 7090ENDPROC
 7100:
 7110DEF PROCWimp_MenuDisable(menu%,item%)
 7120menu%!(36+(item%-1)*24)=menu%!(36+(item%-1)*24)OR(1<<22)
 7130ENDPROC
 7140:
 7150DEF PROCWimp_MenuDottedLine(menu%,item%)
 7160menu%!(28+(item%-1)*24)=(menu%!(28+(item%-1)*24))OR2
 7170ENDPROC
 7180:
 7190DEF PROCWimp_MenuEnable(menu%,item%)
 7200PROCWimp_MenuDisable(menu%,item%)
 7210menu%!(36+(item%-1)*24)=menu%!(36+(item%-1)*24)EOR(1<<22)
 7220ENDPROC
 7230:
 7240DEF PROCWimp_MenuForegroundColour(menu%,item%,colour%)
 7250menu%?(39+(item%-1)*24)=colour%+16*((menu%?(39+(item%-1)*24))DIV16)
 7260ENDPROC
 7270:
 7280DEF PROCWimp_MenuGlue(menu1%,item%,menu2%)
 7290menu1%!(8+item%*24)=menu2%
 7300ENDPROC
 7310:
 7320DEF PROCWimp_MenuItem(menu%,item%,item$)
 7330$(menu%+(40+(item%-1)*24))=LEFT$(item$,12)+CHR$0
 7340ENDPROC
 7350:
 7360DEF PROCWimp_MenuMessage(menu%,item%)
 7370menu%!(28+(item%-1)*24)=(menu%!(28+(item%-1)*24))EOR(1<<3)
 7380ENDPROC
 7390:
 7400DEF PROCWimp_MenuPopUp(Menu%,x%,y%)
 7410IF SA%=FALSE THEN
 7420PROCopenprinter
 7430menu%=Menu%
 7440SYS "Wimp_CreateMenu",,menu%,x%-64,y%+20
 7450ENDIF
 7460ENDPROC
 7470:
 7480DEF PROCWimp_MenuPopUpBar(x%,y%)
 7490LOCAL n% : n%=0
 7500WHILE ((Bar_Menu%!(28+n%*24))AND%10000000)=0
 7510n%+=1
 7520ENDWHILE
 7530SYS "Wimp_CreateMenu",,Bar_Menu%,x%-64,96+n%*44
 7540menu%=Bar_Menu%
 7550ENDPROC
 7560:
 7570DEF PROCWimp_MenuTick(menu%,item%)
 7580menu%!(28+(item%-1)*24)=(menu%!(28+(item%-1)*24))EOR1
 7590ENDPROC
 7600:
 7610DEF PROCWimp_MenuTitle(menu%,title$)
 7620$menu%=LEFT$(title$,12)+CHR$0
 7630ENDPROC
 7640:
 7650DEF PROCWimp_MenuWrite(menu%,item%,buffer%,val%,BufferLength%)
 7660menu%!(28+(item%-1)*24)=(menu%!(28+(item%-1)*24))OR4
 7670menu%!(36+(item%-1)*24)=menu%!(36+(item%-1)*24)OR&100
 7680menu%!(40+(item%-1)*24)=buffer%
 7690menu%!(44+(item%-1)*24)=val%
 7700menu%!(48+(item%-1)*24)=BufferLength%
 7710ENDPROC
 7720REM *************************************************************************
 7730DEF PROCWimp_SelectIcon(window%,icon%)
 7740wimp%!0=window%
 7750wimp%!4=icon%
 7760wimp%!8=%1000000000000000000000
 7770wimp%!12=%1000000000000000000000
 7780SYS&400CD,,wimp%
 7790ENDPROC
 7800:
 7810DEF PROCWimp_UnselectIcon(window%,icon%)
 7820wimp%!0=window%
 7830wimp%!4=icon%
 7840wimp%!8=0
 7850wimp%!12=%1000000000000000000000
 7860SYS&400CD,,wimp%
 7870ENDPROC
 7880:
 7890DEF PROCWimp_SpritesLoad
 7900PROCWimp_SpritesPathLoad("<Obey$Dir>.Sprites")
 7910direct_sprites%=sprites%
 7920ENDPROC
 7930:
 7940DEF PROCWimp_SpritesPathLoad(pathname$)
 7950LOCALS%,T%
 7960S%=OPENIN"<Obey$Dir>.Sprites":T%=EXT#S%+16:CLOSE#S%
 7970DIMsprites%T%,spname%12
 7980!sprites%=T%:sprites%!8=0
 7990SYS"OS_SpriteOp",&109,sprites%
 8000SYS"OS_SpriteOp",&10A,sprites%,pathname$
 8010ENDPROC
 8020REM *************************************************************************
 8030DEF FNWimp_DiskName(path$)
 8040E=INSTR(path$,".")
 8050S=INSTR(path$,"::")
 8060IF S=0 THEN ="RAM"
 8070S+=2
 8080=MID$(path$,S,E-S)
 8090:
 8100DEF FNWimp_FileType(type%)
 8110CASEtype%OF
 8120WHEN&BBD:="Cheat"
 8130WHEN&FFF:="Text"
 8140WHEN&FFD:="Data"
 8150WHEN&FFB:="Basic"
 8160WHEN&FF9:="Sprite"
 8170WHEN&FED:="Palette"
 8180WHEN&FEC:="Template"
 8190WHEN&AFF:="Draw"
 8200WHEN&1000:="Folder"
 8210WHEN&2000:="Application"
 8220OTHERWISE=STR$~(type%)
 8230ENDCASE
 8240:
 8250DEF FNWimp_GetFilePathName
 8260=FNWimp_GetStringAtAddress(wimp%+44)
 8270:
 8280DEF FNWimp_FileLoad(pathname$)
 8290LOCALS%,T%,file%
 8300S%=OPENINpathname$
 8310T%=EXT#S%+16
 8320CLOSE#S%
 8330DIMfile%T%
 8340OSCLI("LOAD"+pathname$+""+STR$~file%)
 8350=file%
 8360;
 8370DEF FNWimp_GetStringAtAddress(array%)
 8380LOCALs$:s$=""
 8390WHILE(?array%<>13)AND(?array%<>0):s$+=CHR$(?array%):array%+=1:ENDWHILE:
 8400=s$
 8410:
 8420DEF FNWimp_GetFileFromPathname(f$)
 8430CASE INSTR(f$,".") OF
 8440 WHEN 0    :=f$
 8450 OTHERWISE :=FNWimp_GetFileFromPathname(RIGHT$(f$,LEN(f$)-INSTR(f$,".")))
 8460ENDCASE
 8470:
 8480DEF PROCWimp_SendToEdit(file$)
 8490LOCAL n%
 8500wimp%!4=&6CC01C0C
 8510wimp%!16=5
 8520wimp%!36=0
 8530wimp%!40=&FFF
 8540$(wimp%+44)=file$+CHR$0
 8550n%=LENfile$+45
 8560IF n%MOD4 THEN !wimp%=4+(n%>>2)<<2 ELSE !wimp%=n%
 8570SYS "Wimp_SendMessage",17,wimp%,icon%
 8580ENDPROC
 8590REM *************************************************************************
 8600DEF PROCinputmain
 8610name$(cur)=FNWimp_IconText(main_Window%,3)
 8620note1$(cur)=FNWimp_IconText(main_Window%,4)
 8630note2$(cur)=FNWimp_IconText(main_Window%,5)
 8640note3$(cur)=FNWimp_IconText(main_Window%,6)
 8650note4$(cur)=FNWimp_IconText(main_Window%,7)
 8660note5$(cur)=FNWimp_IconText(main_Window%,8)
 8670note6$(cur)=FNWimp_IconText(main_Window%,9)
 8680note7$(cur)=FNWimp_IconText(main_Window%,10)
 8690ENDPROC
 8700:
 8710DEF PROCupdatemain
 8720IF ptot=0 THEN PROCWimp_MenuDisable(main_Menu%,2):PROCWimp_MenuDisable(main_Menu%,1)
 8730IF ptot>0 THEN PROCWimp_MenuEnable(main_Menu%,2):PROCWimp_MenuEnable(main_Menu%,1)
 8740PROCWimp_IconPutText(main_Window%,3,name$(cur))
 8750a%=LEN(FNWimp_IconText(main_Window%,3))
 8760PROCWimp_IconCaret(main_Window%,3,a%)
 8770PROCWimp_IconPutText(main_Window%,4,note1$(cur))
 8780PROCWimp_IconPutText(main_Window%,5,note2$(cur))
 8790PROCWimp_IconPutText(main_Window%,6,note3$(cur))
 8800PROCWimp_IconPutText(main_Window%,7,note4$(cur))
 8810PROCWimp_IconPutText(main_Window%,8,note5$(cur))
 8820PROCWimp_IconPutText(main_Window%,9,note6$(cur))
 8830PROCWimp_IconPutText(main_Window%,10,note7$(cur))
 8840ENDPROC
 8850:
 8860DEF PROCWimp_Start(TaskName$,wimp_memory%,icon%)
 8870DIM wimp% wimp_memory%,icons% icon%
 8880IF wimp_memory%<256 THEN wimp_memory%=256
 8890icon_memory%=icons%+icon%
 8900task$=TaskName$
 8910indirect_sprites%=1 : direct_sprites%=1
 8920PROCWimp_SetEventVariables
 8930ON ERROR PROCWimp_Error:END
 8940SYS"Wimp_Initialise",200,&4B534154,TaskName$ TO version%,task%
 8950ENDPROC
 8960:
 8970DEF FNWimp_BASICParameters
 8980 LOCAL com$,param$,I%
 8990 SYS "OS_GetEnv" TO com$
 9000 params$=""
 9010 I%=INSTR(com$," -quit ")
 9020 IF I% THEN params$=MID$(com$,INSTR(com$," ",I%+LEN" -quit ")+1)
 9030=params$
 9040:
 9050DEF PROCWimp_SetEventVariables
 9060DIM pointer_block% 20
 9070interface%=FALSE
 9080null%=1  :draw%=2 :  pointer_leaving%=1<<4
 9090pointer_entering%=1<<5:mouse%=1<<6:drag%=1<<7
 9100key%=1<<8:menu%=1<<9:scroll%=1<<10
 9110lose_caret%=1<<11:gain_caret%=1<<12:message%=(1<<17)+(1<<18)
 9120recorder%=1<<18:acknowledge%=1<<19:window%=0
 9130sprites%=1:version%=0:task%=0
 9140Bar_Window%=-2:Bar_Icon%=0:Bar_Menu%=0
 9150x_origin%=0:y_origin%=0:SaveWindow%=-3
 9160message_quit%=0:message_save%=2:message_load%=3
 9170mouse_button%=2:save_event%=0
 9180top_line%=0 : bottom_line%=0
 9190ENDPROC
 9200:
 9210DEF PROCWimp_Error
 9220LOCALX$,x%
 9230ON ERROR OFF
 9240x%=ERL
 9250X$=REPORT$+"atline"+STR$(x%DIV10)
 9260DIMErrorMsg%36
 9270ErrorMsg%!0=36:ErrorMsg%!12=0:ErrorMsg%!16=&81080:ErrorMsg%!20=x%
 9280$(ErrorMsg%+24)="!RunImage"
 9290SYS"Wimp_SendMessage",17,ErrorMsg%
 9300PROCWimp_WindowAlert(task$,X$)
 9310PROCWimp_CloseDown
 9320ENDPROC
 9330:
 9340DEF PROCWimp_CloseDown
 9350SYS"Wimp_CloseDown",task%,"TASK"
 9360ENDPROC
 9370:
 9380DEF PROCWimp_Quit
 9390finished%=TRUE
 9400ENDPROC
 9410:
 9420DEF FNWimp_ReadVariable(Variable$)
 9430LOCALlen%,result%,variable%
 9440$wimp%=Variable$
 9450SYS"OS_ReadVarVal",wimp%,wimp%+255,255,,3TO,,len%
 9460wimp%?(len%+255)=13
 9470=$(wimp%+255)
 9480REM *************************************************************************
 9490DEF PROCWimp_WaitForEvent
 9500LOCAL mask%,event%
 9510finished%=FALSE
 9520mask%=%111000011001
 9530REPEAT
 9540 SYS"Wimp_Poll",mask%,wimp% TO event%
 9550 CASE event% OF
 9560  WHEN0 :
 9570  WHEN1 : PROCWimp_PollDrawWindow
 9580  WHEN2 : SYS "Wimp_OpenWindow",,wimp%
 9590  WHEN3 : PROCWimp_PollCloseWindow
 9600  WHEN4 :
 9610  WHEN5 :
 9620  WHEN6 : PROCWimp_PollMouseClick
 9630  WHEN7 : PROCWimp_PollSaveMessage
 9640  WHEN8 : PROCWimp_PollKeyPress
 9650  WHEN9 : PROCEvent_MenuChoice(menu%)
 9660  WHEN10:
 9670  WHEN11:
 9680  WHEN12:
 9690  WHEN17,18: PROCWimp_PollMessages
 9700  WHEN19:
 9710 ENDCASE
 9720UNTIL finished%
 9730ENDPROC
 9740:
 9750DEF PROCWimp_PollDrawWindow
 9760LOCAL more%
 9770SYS"Wimp_RedrawWindow",,wimp%TOmore%
 9780window%=wimp%!0
 9790x_origin%=16+wimp%!4-wimp%!20:y_origin%=-16+wimp%!16-wimp%!24
 9800WHILEmore%
 9810 IF interface% THEN SYS"Wimp_BorderWindow",,wimp%
 9820 PROCEvent_Draw(window%,x_origin%,y_origin%)
 9830 SYS"Wimp_GetRectangle",,wimp%TOmore%
 9840ENDWHILE
 9850ENDPROC
 9860:
 9870DEF PROCWimp_PollCloseWindow
 9880  SYS "Wimp_GetPointerInfo",,wimp%
 9890  window%=wimp%!12 : buttons%=wimp%!8
 9900 PROCEvent_WindowClose(window%,buttons%)
 9910 !wimp%=window% : SYS "Wimp_CloseWindow",,wimp%
 9920ENDPROC
 9930:
 9940DEF PROCWimp_PollMouseClick
 9950 button%=wimp%!8:window%=wimp%!12:icon%=wimp%!16:x%=wimp%!0:y%=wimp%!4
 9960 CASE button% OF
 9970   WHEN2    : PROCWimp_PollMenuPopUp
 9980   OTHERWISE: CASE FNEvent_Save(window%) OF
 9990               WHEN TRUE : PROCWimp_PollMouseSave
10000               WHEN FALSE: PROCWimp_PollEventMouseClick
10010              ENDCASE
10020 ENDCASE
10030ENDPROC
10040:
10050DEF PROCWimp_PollMenuPopUp
10060IF SA%=FALSE THEN
10070PROCopenprinter
10080menu%=FNEvent_Menu(window%)
10090  CASE menu%  OF
10100   WHEN FALSE:
10110   OTHERWISE :
10120     CASE window% OF
10130      WHEN -2   : n%=0
10140        WHILE ((Bar_Menu%!(28+n%*24))AND%10000000)=0
10150         n%+=1
10160        ENDWHILE
10170        SYS "Wimp_CreateMenu",,Bar_Menu%,x%-64,96+n%*44
10180      OTHERWISE : SYS"Wimp_CreateMenu",,menu%,x%-64,y%+20
10190     ENDCASE
10200  ENDCASE
10210ENDIF
10220ENDPROC
10230:
10240DEF PROCWimp_PollMouseSave
10250 CASE icon% OF
10260  WHEN 0 : IF button% AND &50 THEN PROCWimp_PollDragBox(window%)
10270  WHEN 2 : IF button% AND 5 THEN  PROCWimp_PollSaveFile(window%)
10280 ENDCASE
10290ENDPROC
10300:
10310DEF PROCWimp_PollEventMouseClick
10320 IF interface% THEN SYS"Wimp_BorderIcon",,wimp%
10330 PROCEvent_MouseClick(window%,icon%,button%,x%,y%)
10340 CASE  interface% OF
10350  WHEN TRUE :
10360   wimp%!0=x%:wimp%!4=y% : wimp%!8=0
10370   wimp%!12=window% : wimp%!16=icon%
10380   SYS"Wimp_BorderIcon",,wimp%
10390 ENDCASE
10400ENDPROC
10410:
10420DEF PROCWimp_PollSaveFile(window%)
10430LOCALfile$
10440 wimp%!0=window% : wimp%!4=1 : SYS "Wimp_GetIconState",,wimp%
10450 file$=$(wimp%!28)
10460 CASE INSTR(file$,".") OF
10470  WHEN 0   :
10480   $(wimp%+4)="To save, drag the icon to a directory window"
10490   SYS "Wimp_ReportError",wimp%,16,task$
10500  OTHERWISE:
10510   PROCEvent_SaveFile(file$,window%)
10520 ENDCASE
10530 SYS"Wimp_CreateMenu",-1
10540IF SA%=TRUE THEN PROCWimp_CloseDown
10550ENDPROC
10560:
10570DEF PROCWimp_PollDragBox(window%)
10580LOCALx%,y%
10590 save%=window%
10600 !wimp%=window%
10610 SYS"Wimp_GetWindowState",,wimp%
10620 x%=wimp%!4-wimp%!20:y%=wimp%!16-wimp%!24
10630 wimp%!4=0
10640 SYS"Wimp_GetIconState",,wimp%
10650 !wimp%=window%
10660 wimp%!4=5
10670 wimp%!8=x%+wimp%!8:wimp%!12=y%+wimp%!12
10680 wimp%!16=x%+wimp%!16:wimp%!20=y%+wimp%!20
10690 wimp%!24=0:wimp%!28=0
10700 wimp%!32=&7FFFFFFF:wimp%!36=&7FFFFFFF
10710 SYS"Wimp_DragBox",,wimp%
10720ENDPROC
10730:
10740DEF PROCWimp_PollKeyPress
10750  window%=wimp%!0:icon%=wimp%!4:key%=wimp%!24
10760  CASE FNEvent_Save(window%) OF
10770   WHEN TRUE : PROCWimp_PollSaveFile(window%)
10780   WHEN FALSE: PROCEvent_KeyPress(window%,icon%,key%)
10790  ENDCASE
10800ENDPROC
10810:
10820DEF PROCWimp_PollSaveMessage
10830LOCALfile$,window%,icon%,x%,y%
10840 SYS"Wimp_GetPointerInfo",,wimp%
10850 window%=wimp%!12:icon%=wimp%!16:x%=wimp%!0:y%=wimp%!4
10860 wimp%!0=save% : wimp%!4=1 : SYS "Wimp_GetIconState",,wimp%
10870 file$=$(wimp%!28)
10880 file$=FNWimp_GetFileFromPathname(file$)
10890ACE$=file$
10900 wimp%!20=window%
10910 wimp%!24=icon%
10920 wimp%!28=x%:wimp%!32=y%
10930 wimp%!36=length%
10940 wimp%!0=64
10950 wimp%!12=0
10960 wimp%!16=1
10970 wimp%!40=&FFF
10980 $(wimp%+44)=file$
10990 SYS"Wimp_SendMessage",17,wimp%,wimp%!20,wimp%!24
11000ENDPROC
11010:
11020DEF PROCWimp_PollMessages
11030LOCAL file$
11040file$=FNWimp_GetStringAtAddress(wimp%+44)
11050    CASE wimp%!16 OF
11060     WHEN 0 : finished%=TRUE
11070     WHEN 1 :
11080     WHEN 2 :
11090      PROCWimp_IconPutText(save%,1,file$)
11100      wimp%!0=save% : wimp%!4=1 : SYS "Wimp_GetIconState",,wimp%
11110      $(wimp%!28)=file$
11120      wimp%!0=save% : wimp%!4=1 : wimp%!8=0 : wimp%!12=0
11130      SYS "Wimp_SetIconState",,wimp%
11140      PROCWimp_IconCaret(save%,1,LENfile$)
11150      SYS "Wimp_SetCaretPosition",save%,1,,,-1,LENfile$
11160      PROCEvent_SaveFile(file$,save%)
11170IF SA%=TRUE THEN PROCWimp_CloseDown
11180     WHEN 3
11190      type$=FNWimp_FileType(wimp%!40) : PROCEvent_LoadFile(file$,type$)
11200WHEN 4 :
11210WHEN 5
11220type$=FNWimp_FileType(wimp%!40)
11230IF type$="Cheat" THEN
11240wimp%!12=wimp%!8
11250SYS"XWimp_SendMessage",17,wimp%,wimp%!20
11260file$=FNWimp_GetFilePathName
11270PROCEvent_LoadFile(file$,type$)
11280ENDIF
11290    ENDCASE
11300ENDPROC
11310:
11320DEF FNWimp_GetStringAtAddress(array%)
11330LOCALs$:s$=""
11340WHILE(?array%<>13)AND(?array%<>0):s$+=CHR$(?array%):array%+=1:ENDWHILE:
11350=s$
11360:
11370DEF FNWimp_GetFileFromPathname(f$)
11380CASE INSTR(f$,".") OF
11390 WHEN 0    :=f$
11400 OTHERWISE :=FNWimp_GetFileFromPathname(RIGHT$(f$,LEN(f$)-INSTR(f$,".")))
11410ENDCASE
11420:
11430DEF FNWimp_FileType(type%)
11440CASEtype%OF
11450WHEN&BBD:="Cheat"
11460WHEN&FFF:="Text"
11470WHEN&FFD:="Data"
11480WHEN&FFB:="Basic"
11490WHEN&FF9:="Sprite"
11500WHEN&FED:="Palette"
11510WHEN&FEC:="Template"
11520WHEN&AFF:="Draw"
11530WHEN&1000:="Folder"
11540WHEN&2000:="Application"
11550OTHERWISE=STR$~(type%)
11560ENDCASE
11570:
11580DEF PROCmousebox(w%)
11590wimp%!0=w%
11600SYS"Wimp_GetWindowOutline",,wimp%
11610MOUSE RECTANGLE wimp%!4+2,wimp%!8+2,wimp%!12-wimp%!4-4,wimp%!16-wimp%!8-4
11620ENDPROC
11630:
11640DEF PROCunbox
11650SYS "OS_ReadModeVariable",-1,11 TO ,,xpic
11660SYS "OS_ReadModeVariable",-1,12 TO ,,ypic
11670SYS "OS_ReadModeVariable",-1,4 TO ,,xfact
11680SYS "OS_ReadModeVariable",-1,5 TO ,,yfact
11690MOUSE RECTANGLE 0,0,xpic<<xfact,ypic<<yfact
11700ENDPROC
11710:
11720DEF FNgetstring(array%)
11730LOCAL path$,pointer%
11740path$=""
11750pointer%=array%
11760REPEAT
11770path$+=CHR$?pointer%
11780pointer%+=1
11790UNTIL ?pointer%=0 OR ?pointer%=13
11800=path$
11810:
11820DEFPROCopenprinter
11830SYS "XPDriver_Info" TO R0,R1,R2,R3,R4,R5,R6,R7
11840IF R1=0 AND R2=0 AND R3=0 AND R5=0 AND R6=0 AND R7=0 THEN
11850PROCWimp_IconPutText(print_Window%,0,"No driver loaded")
11860DRIVER%=FALSE
11870ELSE
11880DRIVER%=TRUE
11890REM no printer ?
11900ENDIF
11910IF DRIVER%=TRUE THEN
11920printer$=FNgetstring(R4)
11930PROCWimp_IconPutText(print_Window%,0,printer$)
11940ENDIF
11950ENDPROC
11960:
11970DEFPROCprint
11980:
11990printhand%=OPENOUT("PRINTER:$.Job1") : REM start a job !!!
12000$title%="Exchange file"
12010SYS &80145,printhand%,title%
12020BPUT#printhand%,13 : REM put head to left of paper to start!!!!
12030:
12040IF print=TRUE THEN
12050PROCprintline("Name : "+name$(cur)+CHR$(10))
12060IF note1$(cur)<>"" THEN PROCprintline(""+note1$(cur)+CHR$(10))
12070IF note2$(cur)<>"" THEN PROCprintline(""+note2$(cur)+CHR$(10))
12080IF note3$(cur)<>"" THEN PROCprintline(""+note3$(cur)+CHR$(10))
12090IF note4$(cur)<>"" THEN PROCprintline(""+note4$(cur)+CHR$(10))
12100IF note5$(cur)<>"" THEN PROCprintline(""+note5$(cur)+CHR$(10))
12110IF note6$(cur)<>"" THEN PROCprintline(""+note6$(cur)+CHR$(10))
12120IF note7$(cur)<>"" THEN PROCprintline(""+note7$(cur)+CHR$(10))
12130PROCprintline(CHR$(10))
12140ENDIF
12150IF print=FALSE THEN
12160FOR A=0 TO ptot
12170PROCprintline("Name : "+name$(A)+CHR$(10))
12180IF note1$(A)<>"" THEN PROCprintline(""+note1$(A)+CHR$(10))
12190IF note2$(A)<>"" THEN PROCprintline(""+note2$(A)+CHR$(10))
12200IF note3$(A)<>"" THEN PROCprintline(""+note3$(A)+CHR$(10))
12210IF note4$(A)<>"" THEN PROCprintline(""+note4$(A)+CHR$(10))
12220IF note5$(A)<>"" THEN PROCprintline(""+note5$(A)+CHR$(10))
12230IF note6$(A)<>"" THEN PROCprintline(""+note6$(A)+CHR$(10))
12240IF note7$(A)<>"" THEN PROCprintline(""+note7$(A)+CHR$(10))
12250PROCprintline(CHR$(10))
12260NEXT A
12270ENDIF
12280:
12290BPUT#printhand%,12 : REM do linefeed !!!!
12300SYS &80148,printhand%
12310CLOSE #printhand%
12320ENDPROC
12330:
12340DEFPROCprintline(line$)
12350FOR cco=1 TO LEN(line$)
12360byte=ASC(MID$(line$,cco,1))
12370BPUT#printhand%,byte
12380IF byte=10 OR byte=13 THEN BPUT#printhand%,13 : REM put head to left of paper
12390NEXT cco
12400ENDPROC
12410:
12420DEF PROCerror
12430IF ERR=67785 THEN PROCWimp_WindowErrorBox("!Cheats","Please write enable the disk"):CLOSE #X%:ENDPROC
12440ENDPROC

ș "OS_GetEnv" � env$
� �env$," -quit ") �
2fileload$=�env$,�env$,�(34),�env$,�(34))+1)+1)
(�
2>                           �Wimp_Start("Cheats",1200,2500)
<3                           �User_SetInitialData
F.                           �Create_Windows
P,                           �Create_Menus
Z� fileload$<>" " �
d&�Event_LoadFile(fileload$,"Cheat")
n�
x1                           �Wimp_WaitForEvent
�.                           �Wimp_CloseDown
�                            �
�       :
�!       � �User_SetInitialData
�	CD%=�
�� title% 256
�tot=199
�� name$(tot)
�� note1$(tot)
�� note2$(tot)
�� note3$(tot)
�� note4$(tot)
�� note5$(tot)
� note6$(tot)
� note7$(tot)

ptot=0
"	cur=0
,	num=0
6print=�
@
UPDATE%=�
J	SA%=�
T
DRIVER%=�
^       �
h       :
r       � �Create_Windows
|         �Wimp_SpritesLoad
�;                  Info_Window%=�Wimp_WindowLoad("Info")
�;                  main_Window%=�Wimp_WindowLoad("main")
�;                  Save_Window%=�Wimp_WindowLoad("Save")
�=                search_Window%=�Wimp_WindowLoad("search")
�<                 print_Window%=�Wimp_WindowLoad("print")
�<                 Save2_Window%=�Wimp_WindowLoad("Save2")
�<                 Close_Window%=�Wimp_WindowLoad("Close")
�-       Bar_Icon%=�Wimp_IconBar("!Cheats")
�       �
�
        :
�"        � �Event_Save(window%)
�          Ȏ window% �
�"            � Save_Window% :=�
#            � Save2_Window% :=�
             :=�
          �
&
        :
0.        � �Event_Sprites(window%)=sprites%
:       :
D       � �Create_Menus
N2         menu$="Cheats\Info>Info_Window%\Quit"
X.         Bar_Menu%=�Wimp_MenuCreate(menu$)
bV         save_Menu%=�Wimp_MenuCreate("Save\Cheat>Save_Window%\Text>Save2_Window%")
lT         main_Menu%=�Wimp_MenuCreate("Main\Print>print_Window%\Save>save_Menu%")
v&�Wimp_MenuDottedLine(main_Menu%,1)
�#�Wimp_MenuDisable(main_Menu%,2)
�#�Wimp_MenuDisable(main_Menu%,1)
�       �
�
        :
�"        � �Event_Menu(window%)
�        Ȏ window% �
�.         � Bar_Window%        : =Bar_Menu%
�/         � main_Window%       : =main_Menu%
�!                        : =�
�
        �
�       :
�1       � �Event_WindowClose(window%,buttons%)
�       Ȏ window% �
       �
       �
       :
 5       � �Event_Draw(window%,x_origin%,y_origin%)
*       Ȏ window% �
48        � main_Window%        : �User_DrawmainWindow
>       �
H       �
R'             � �User_DrawmainWindow
\ș"Wimp_SetColour",11
flen=604/(ptot+1)
ppos=cur*len
z1ȓ Ȑ (x_origin%+pos)+32,y_origin%-930,len,12
�             �
�       :
�;       � �Event_MouseClick(window%,icon%,button%,x%,y%)
�       Ȏ window% �
�1        � Bar_Window%        : �User_MouseBar
�B        � main_Window%       : �User_Mousemain( button%,icon%)
�D        � search_Window%     : �User_Mousesearch( button%,icon%)
�C        � print_Window%      : �User_Mouseprint( button%,icon%)
�C        � Close_Window%      : �User_MouseClose( button%,icon%)
�       �
�       �
�         :
�/         � �User_MouseClose( button%,icon%)
         � icon%=1 �
	SA%=�

�unbox
$$�Wimp_WindowClose(Close_Window%)
.
UPDATE%=�
8(�Wimp_WindowBringToTop(Save_Window%)
B%A$=�Wimp_IconText(Save_Window%,1)
L)�Wimp_IconCaret(Save_Window%,1,�(A$))
V�
`         � icon%=2 �
j
�unbox
t
UPDATE%=�
~$�Wimp_WindowClose(Close_Window%)
�	CD%=�
��
�         � icon%=3 �
�
�unbox
�$�Wimp_WindowClose(Close_Window%)
��
�� CD%=� � �Wimp_CloseDown
�         �
�         :
�         � �User_MouseBar
�2� SA%=� � �Wimp_WindowBringToTop(main_Window%)
�         �
         :

/         � �User_Mouseprint( button%,icon%)
� icon%=3 �
%�Wimp_SelectIcon(print_Window%,3)
(print=�
2�
<� icon%=1 �
F%�Wimp_SelectIcon(print_Window%,1)
Pprint=�
Z�
d� icon%=2 � DRIVER%=� �
n�Wimp_MenuClose
x
�print
��
�         �
�         :
�0         � �User_Mousesearch( button%,icon%)
�� icon%=2 �
�found=�
�'A$=�Wimp_IconText(search_Window%,1)
�C=�(A$)
�	cuv=�
�� A=num � ptot
�B$=�name$(A),C)
�� A$=B$ � cuv=� �
�	cur=A
-� PROCWimp_WindowBringToTop(main_Window%)
�updatemain
%�Wimp_IconUpdate(main_Window%,16)
"	num=A
,
num+=1
6	cuv=�
@found=�
J�
T� A
^� found=� � num=0
h�
r
|� icon%=3 �
��Wimp_PollCloseWindow
�	num=0
��updatemain
�%�Wimp_IconUpdate(main_Window%,16)
��
�         �
�.         � �User_Mousemain( button%,icon%)
�X�         PROCWimp_WindowAlert("main","Mouse button="+STR$button%+"icon="+STR$icon%)
�� icon%=11 � cur<ptot �
��inputmain
�
cur+=1
��updatemain
�%�Wimp_IconUpdate(main_Window%,16)
�

� icon%=12 �
&
UPDATE%=�
0� ptot=0 �
:name$(cur)=""
Dnote1$(cur)=""
Nnote2$(cur)=""
Xnote3$(cur)=""
bnote4$(cur)=""
lnote5$(cur)=""
vnote6$(cur)=""
�note7$(cur)=""
��updatemain
��
�� cur=ptot � ptot>0 �
��inputmain
�name$(cur)=""
�note1$(cur)=""
�note2$(cur)=""
�note3$(cur)=""
�note4$(cur)=""
�note5$(cur)=""
�note6$(cur)=""
�note7$(cur)=""

cur-=1
ptot-=1
�updatemain
 %�Wimp_IconUpdate(main_Window%,16)
*�
4� cur<ptot �
>�inputmain
H� A=cur � ptot
Rname$(A)=name$(A+1)
\note1$(A)=note1$(A+1)
fnote2$(A)=note2$(A+1)
pnote3$(A)=note3$(A+1)
znote4$(A)=note4$(A+1)
�note5$(A)=note5$(A+1)
�note6$(A)=note6$(A+1)
�note7$(A)=note7$(A+1)
�� A
�name$(ptot)=""
�note1$(ptot)=""
�note2$(ptot)=""
�note3$(ptot)=""
�note4$(ptot)=""
�note5$(ptot)=""
�note6$(ptot)=""
�note7$(ptot)=""
�ptot-=1
	�updatemain
	%�Wimp_IconUpdate(main_Window%,16)
	�
	$�
	.
	8� icon%=13 � cur>0 �
	B�inputmain
	L
cur-=1
	V�updatemain
	`%�Wimp_IconUpdate(main_Window%,16)
	j�
	t� icon%=14 � cur<ptot �
	~�inputmain
	�cur=ptot
	��updatemain
	�%�Wimp_IconUpdate(main_Window%,16)
	��
	�� icon%=15 � cur>0 �
	��inputmain
	�	cur=0
	��updatemain
	�%�Wimp_IconUpdate(main_Window%,16)
	��
	�
	�
� icon%=17 �


UPDATE%=�
�inputmain
ptot+=1
(cur=ptot
2name$(ptot)=""
<note1$(ptot)=""
Fnote2$(ptot)=""
Pnote3$(ptot)=""
Znote4$(ptot)=""
dnote5$(ptot)=""
nnote6$(ptot)=""
xnote7$(ptot)=""
��updatemain
�%�Wimp_IconUpdate(main_Window%,16)
��
�
�� icon%=18 �
�� ptot>0 �
�
UPDATE%=�
��inputmain
�ș"Hourglass_On"
�	n=tot
�� BB%=0 � ptot
�perc=BB%*(ptot/100)
�!ș"Hourglass_Percentage",perc
� AA%=0 � ptot-1
� name$(AA%)>name$(AA%+1) �
Ȕ name$(AA%),name$(AA%+1)
" Ȕ note1$(AA%),note1$(AA%+1)
, Ȕ note2$(AA%),note2$(AA%+1)
6 Ȕ note3$(AA%),note3$(AA%+1)
@ Ȕ note4$(AA%),note4$(AA%+1)
J Ȕ note5$(AA%),note5$(AA%+1)
T Ȕ note6$(AA%),note6$(AA%+1)
^ Ȕ note7$(AA%),note7$(AA%+1)
h�
r	� AA%
|	� BB%
��updatemain
��inputmain
�ș"Hourglass_Smash"
��
��
�
�� icon%=19 � ptot>0 �
�*�Wimp_WindowBringToTop(search_Window%)
��
�
�� icon%=20 � ptot>0 �
�x%=wimp%!0:y%=wimp%!4
�0�Wimp_MenuPopUp(print_Window%,x%-150,y%+100)
�

         �
&       :
00       � �Event_KeyPress(window%,icon%,key%)
:          Ȏ window% �
DE           � main_Window%       : �User_KeyPressmain( icon%,key%)
N          �
X       �
b         :
l.         � �User_KeyPressmain( icon%,key%)
vQ�      PROCWimp_WindowAlert("main","Key pressed="+STR$key%+"icon="+STR$icon%)
�0� key%=13 � icon%<10 � key%=398 � icon%<10 �
�.a%=�(�Wimp_IconText(main_Window%,icon%+1))
�,�Wimp_IconCaret(main_Window%,icon%+1,a%)
��
�0� key%=13 � icon%=10 � key%=398 � icon%=10 �
�(a%=�(�Wimp_IconText(main_Window%,3))
�&�Wimp_IconCaret(main_Window%,3,a%)
��
�� key%=399 � icon%>3 �
�.a%=�(�Wimp_IconText(main_Window%,icon%-1))
�,�Wimp_IconCaret(main_Window%,icon%-1,a%)
��
�� key%=399 � icon%=3 �

)a%=�(�Wimp_IconText(main_Window%,10))

'�Wimp_IconCaret(main_Window%,10,a%)

�

          �

*       :

4%       � �Event_MenuChoice(menu%)

>        Ȏ menu% �

H<              � Bar_Menu%          : �User_MenuChoiceBar

R=              � main_Menu%         : �User_MenuChoicemain

\
        �

f       �

p       :

z        � �User_MenuChoiceBar

�
� SA%=� �

�$        Ȏ �Wimp_MenuChoice(0) �

�         � 1 :

�         � 2

�� UPDATE%=� �

�D�Wimp_IconPutText(Close_Window%,0,"This file has been modified")

�)�Wimp_WindowBringToTop(Close_Window%)

��mousebox(Close_Window%)

��

�� UPDATE%=� � finished%=�

�
        �

�       �

�       :
!       � �User_MenuChoicemain
$        Ȏ �Wimp_MenuChoice(0) �
         � 1 :
$
        �
.       �
8       :
B)       � �Event_LoadFile(file$,type$)
L         Ȏ type$ �
V           � "Cheat"
`+�Wimp_IconPutText(Save_Window%,1,file$)
jX%=�(file$)
t� #X%,ptot
~� A=0 � ptot
�� #X%,name$(A)
�� #X%,note1$(A)
�� #X%,note2$(A)
�� #X%,note3$(A)
�� #X%,note4$(A)
�� #X%,note5$(A)
�� #X%,note6$(A)
�� #X%,note7$(A)
�� A
�	� #X%
�	cur=0
�(�Wimp_WindowBringToTop(main_Window%)
�updatemain

%�Wimp_IconUpdate(main_Window%,16)
         �
       �
(         :
2,         � �User_LoadFileTemplate(file$)
<A           �Wimp_WindowAlert("!Cheats","Loading file "+file$)
F         �
P       :
Z+       � �Event_SaveFile(file$,window%)
d         Ȏ window% �
n           � Save_Window%
x� �
�� � � �error
��inputmain
�X%=�(file$)
�� #X%,ptot
�� A=0 � ptot
�� #X%,name$(A)
�� #X%,note1$(A)
�� #X%,note2$(A)
�� #X%,note3$(A)
�� #X%,note4$(A)
�� #X%,note5$(A)
�� #X%,note6$(A)
�� #X%,note7$(A)
� A
	� #X%
�("SETTYPE "+file$+" BBD")
"�Wimp_MenuClose
,
UPDATE%=�
6         � Save2_Window%
@� �
J� � � �error
T�inputmain
^�21
h�("SPOOL "+file$)
r� A=0 � ptot
|� name$(A)+�(10);
�(� note1$(A)<>"" � � note1$(A)+�(10);
�(� note2$(A)<>"" � � note2$(A)+�(10);
�(� note3$(A)<>"" � � note3$(A)+�(10);
�(� note4$(A)<>"" � � note4$(A)+�(10);
�(� note5$(A)<>"" � � note5$(A)+�(10);
�(� note6$(A)<>"" � � note6$(A)+�(10);
�(� note7$(A)<>"" � � note7$(A)+�(10);
�� �(10);
�� A
��("SPOOL")
��("SETTYPE "+file$+" FFF")
��6
��Wimp_MenuClose
� file$="<Wimp$Scrap>" �
�Wimp_SendToEdit(file$)
+�Wimp_IconPutText(Save2_Window%,1,ACE$)
&�
0         �
:       �
DO� *************************************************************************
N(� �Wimp_WindowAlert(title$,message$)
X+�Wimp_WindowAlertBox(title$,message$,0)
b�
l:
v3� �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
*:
4+� �Wimp_WindowErrorBox(title$,message$)
>+�Wimp_WindowAlertBox(title$,message$,2)
H�
R:
\ � �Wimp_WindowTitle(window%)
fwimp%!0=window%
p ș "Wimp_GetWindInfo",,wimp%
z6� ((wimp%!60)�&100)=0 � 1,"Title isn't indirected"
�=$(wimp%!76)
�:
�� �Wimp_WindowLoad(window$)
�9=�Wimp_WindowLoadFrom(window$,"<Obey$Dir>.Templates")
�:
�-� �Wimp_WindowLoadFrom(window$,template$)
�� c%,i%,n%,j%,sp$,sp2$
�%ș "Wimp_OpenTemplate",,template$
�Mș "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"
7ș "Wimp_WhichIcon",c%,wimp%+40,1+2+(1<<8),2+(1<<8)
$Ȏ wimp%!40 �
.
 � -1   :
8  : i%=40
B �
L$   wimp%!4=wimp%!i% : wimp%!0=c%
V$   ș "Wimp_GetIconState",,wimp%
`-   sp$=�Wimp_GetStringAtAddress(wimp%!28)
j"   ș "Wimp_DeleteIcon",,wimp%
t   Ȏ sprites% �
~    � 1    : wimp%!32=1
�     :
�/     ș "OS_SpriteOp",&108,sprites% � ,,,n%
�
     j%=0
�     � : j%+=1
�=      ș "OS_SpriteOp",&10D,sprites%,pointer_block%,20,j%
�7      sp2$=�Wimp_GetStringAtAddress(pointer_block%)
�     � j%=n% � sp$=sp2$
�4     � 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%)
2!wimp%=window%
<#ș "Wimp_GetWindowState",,wimp%
Fwimp%!28=-1
Pș "Wimp_OpenWindow",,wimp%
Z�
d:
n � �Wimp_WindowClose(window%)
x!wimp%=window%
� ș "Wimp_CloseWindow",,wimp%
��
�:
�$� �Wimp_WindowForceDraw(window%)
�Ȏ window% �
�8 � -1   : ș "Wimp_ForceRedraw",-1,0,0,2*1280,2*1024
�9  : ș "Wimp_ForceRedraw",window%,0,-2*1024,2*1280,0
��
��
�:
�� �Wimp_WindowOpen(window%)
�!wimp%=window%
�#ș "Wimp_GetWindowState",,wimp%
ș "Wimp_OpenWindow",,wimp%
�
:
"�Wimp_WindowInterface
, ș"Wimp_BorderWindow",,wimp%
6�
@O� *************************************************************************
J0� �Wimp_SetIconSprite(window%,icon%,sprite$)
Twimp%!0=window%
^wimp%!4=icon%
h!ș "Wimp_GetIconState",,wimp%
r$wimp%!32="S"+sprite$
|wimp%!0=window%
�
wimp%!8=0
�wimp%!12=0
�!ș "Wimp_SetIconState",,wimp%
��
�:
�%� �Wimp_IconUpdate(window%,icon%)
�wimp%!0=window%
�wimp%!4=icon%
�
wimp%!8=0
�wimp%!12=0
�!ș "Wimp_SetIconState",,wimp%
��
�:
� �Wimp_IconBar(Sprite$)
� icon%
wimp%!0=-1
&wimp%!4=0     : wimp%!8=0
0wimp%!12=68 : wimp%!16=68
:wimp%!20=&3002
D$(wimp%+24)=Sprite$
N'ș "Wimp_CreateIcon",,wimp% � icon%
X
=icon%
b:
l+� �Wimp_IconCaret(window%,icon%,chars%)
v8ș "Wimp_SetCaretPosition",window%,icon%,,,-1,chars%
��
�:
�#� �Wimp_IconText(window%,icon%)
�#wimp%!0=window% : wimp%!4=icon%
�!ș "Wimp_GetIconState",,wimp%
�7� ((wimp%!24) � &100)=0 � 1,"Icon isn't indirected"
�=$(wimp%!28)
�:
�)� �Wimp_IconValidation(window%,icon%)
�#wimp%!0=window% : wimp%!4=icon%
�!ș "Wimp_GetIconState",,wimp%
�7� ((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%
4�
>:
H%� �Wimp_IconEnable(window%,icon%)
R#wimp%!0=window% : wimp%!4=icon%
\$wimp%!8=0       : wimp%!12=1<<22
f!ș "Wimp_SetIconState",,wimp%
p�
z:
�0� �Wimp_IconPutSprite(window%,icon%,sprite$)
�!wimp%!0=window%:wimp%!4=icon%
�!ș "Wimp_GetIconState",,wimp%
�ș "Wimp_DeleteIcon",,wimp%
�=wimp%!4=wimp%!8   : wimp%!8=wimp%!12  : wimp%!12=wimp%!16
�?wimp%!16=wimp%!20 : wimp%!20=wimp%!24 : $(wimp%+24)=sprite$
�'ș "Wimp_CreateIcon",,wimp% � icon%
�
=icon%
�:
�,� �Wimp_IconPutText(window%,icon%,text$)
�#wimp%!0=window% : wimp%!4=icon%
�!ș "Wimp_GetIconState",,wimp%
�7� ((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%
.�
8:
B� �Wimp_IconInterfaceStart
Lș"Wimp_BorderIcon",,wimp%
V�
`:
j� �Wimp_IconInterfaceFinish
t
wimp%!8=0
~ș"Wimp_BorderIcon",,wimp%
��
�O� *************************************************************************
�� �Wimp_MenuAdjustOn(menu%)
�,ș "Wimp_GetPointerInfo",,pointer_block%
�^� ((pointer_block%!8)�1)=1 � ș "Wimp_CreateMenu",,menu%,pointer_block%!0,pointer_block%!4
��
�:
�� �Wimp_MenuChoice(level%)
�=(wimp%!(4*level%))+1
�:
�� �Wimp_MenuCreate(menu$)
�)� menu$="Colours" �=�Wimp_MenuColours
'� menu%,index%,width%,length%,k%,s%

.� menu% 28+�Wimp_MenuNoOfEntries(menu$)*24
7menu%?12=7   : menu%?13=2  : menu%?14=7 :menu%?15=0
+menu%!16=140 : menu%!20=44 : menu%!24=0
(index%=menu%+28
2 $menu%=�menu$,�menu$,"\")-1)
<#width%=�(�menu$,�menu$,"\")-1))
F$menu$+="\" : Menu_NoOfEntries%=0
Pȕ menu$<>""
Zmenu$=�menu$,�menu$,"\")+1)
dȎ menu$ �
n	 � ""
x  :
�1  !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
�  �
�"  $(index%+12)=�menu$,length%)
�'  � length%>width% � width%=length%
�  index%+=24
�
�
menu%!16=16*(width%+1)
"(index%!-24=index%!-24 � &80 : =menu%
,:
6� �Wimp_MenuColours
@!=�Wimp_MenuCreateColours(" ")
J:
T%� �Wimp_MenuCreateColours(title$)
^� x$,men%,j%,i%
h6x$=title$+"\0\1\2\3\4\5\6\7\8\9\10\11\12\13\14\15"
rmen%=�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
��
�j%=�menu$,"\",j%+1)
� j%<>0 � n%+=1

� j%=0
=n%
&:
05� �Wimp_MenuBackGroundColour(menu%,item%,colour%)
:� fore%,i%
D&fore%=(menu%?(39+(item%-1)*24))�16
N(i%=((menu%?(39+(item%-1)*24))�16)�16
X/menu%?(39+(item%-1)*24)=fore%+16*colour%+i%
b�
l:
v#� �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�
>:
H5� �Wimp_MenuForegroundColour(menu%,item%,colour%)
REmenu%?(39+(item%-1)*24)=colour%+16*((menu%?(39+(item%-1)*24))�16)
\�
f:
p)� �Wimp_MenuGlue(menu1%,item%,menu2%)
zmenu1%!(8+item%*24)=menu2%
��
�:
�'� �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%)
�
� SA%=� �
��openprinter
menu%=Menu%
+ș "Wimp_CreateMenu",,menu%,x%-64,y%+20
�
$�
.:
8� �Wimp_MenuPopUpBar(x%,y%)
B� n% : n%=0
L+ȕ ((Bar_Menu%!(28+n%*24))�%10000000)=0
V	n%+=1
`�
j2ș "Wimp_CreateMenu",,Bar_Menu%,x%-64,96+n%*44
tmenu%=Bar_Menu%
~�
�:
�!� �Wimp_MenuTick(menu%,item%)
�7menu%!(28+(item%-1)*24)=(menu%!(28+(item%-1)*24))�1
��
�:
�#� �Wimp_MenuTitle(menu%,title$)
�$menu%=�title$,12)+�0
��
�:
�=� �Wimp_MenuWrite(menu%,item%,buffer%,val%,BufferLength%)
�7menu%!(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%
�
(O� *************************************************************************
2%� �Wimp_SelectIcon(window%,icon%)
<wimp%!0=window%
Fwimp%!4=icon%
P#wimp%!8=%1000000000000000000000
Z$wimp%!12=%1000000000000000000000
dș&400CD,,wimp%
n�
x:
�'� �Wimp_UnselectIcon(window%,icon%)
�wimp%!0=window%
�wimp%!4=icon%
�
wimp%!8=0
�$wimp%!12=%1000000000000000000000
�ș&400CD,,wimp%
��
�:
�� �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
6!ș"OS_SpriteOp",&109,sprites%
@+ș"OS_SpriteOp",&10A,sprites%,pathname$
J�
TO� *************************************************************************
^� �Wimp_DiskName(path$)
hE=�path$,".")
rS=�path$,"::")
|� S=0 � ="RAM"
�S+=2
�=�path$,S,E-S)
�:
�� �Wimp_FileType(type%)
�Ȏtype%�
��&BBD:="Cheat"
��&FFF:="Text"
��&FFD:="Data"
��&FFB:="Basic"
��&FF9:="Sprite"
��&FED:="Palette"
��&FEC:="Template"
��&AFF:="Draw"
 �&1000:="Folder"
 �&2000:="Application"
 =�~(type%)
 &�
 0:
 :� �Wimp_GetFilePathName
 D'=�Wimp_GetStringAtAddress(wimp%+44)
 N:
 X� �Wimp_FileLoad(pathname$)
 b�S%,T%,file%
 lS%=�pathname$
 vT%=�#S%+16
 ��#S%
 ��file%T%
 �"�("LOAD"+pathname$+""+�~file%)
 �
=file%
 �;
 �&� �Wimp_GetStringAtAddress(array%)
 �
�s$:s$=""
 �<ȕ(?array%<>13)�(?array%<>0):s$+=�(?array%):array%+=1:�:
 �=s$
 �:
 �#� �Wimp_GetFileFromPathname(f$)
 �Ȏ �f$,".") �
 � � 0    :=f$
!7  :=�Wimp_GetFileFromPathname(�f$,�(f$)-�f$,".")))
!�
!:
! � �Wimp_SendToEdit(file$)
!*� n%
!4wimp%!4=&6CC01C0C
!>wimp%!16=5
!Hwimp%!36=0
!Rwimp%!40=&FFF
!\$(wimp%+44)=file$+�0
!fn%=�file$+45
!p,� n%�4 � !wimp%=4+(n%>>2)<<2 � !wimp%=n%
!z(ș "Wimp_SendMessage",17,wimp%,icon%
!��
!�O� *************************************************************************
!�� �inputmain
!�-name$(cur)=�Wimp_IconText(main_Window%,3)
!�.note1$(cur)=�Wimp_IconText(main_Window%,4)
!�.note2$(cur)=�Wimp_IconText(main_Window%,5)
!�.note3$(cur)=�Wimp_IconText(main_Window%,6)
!�.note4$(cur)=�Wimp_IconText(main_Window%,7)
!�.note5$(cur)=�Wimp_IconText(main_Window%,8)
!�.note6$(cur)=�Wimp_IconText(main_Window%,9)
!�/note7$(cur)=�Wimp_IconText(main_Window%,10)
!��
!�:
"� �updatemain
"N� ptot=0 � �Wimp_MenuDisable(main_Menu%,2):�Wimp_MenuDisable(main_Menu%,1)
"L� ptot>0 � �Wimp_MenuEnable(main_Menu%,2):�Wimp_MenuEnable(main_Menu%,1)
"$0�Wimp_IconPutText(main_Window%,3,name$(cur))
".(a%=�(�Wimp_IconText(main_Window%,3))
"8&�Wimp_IconCaret(main_Window%,3,a%)
"B1�Wimp_IconPutText(main_Window%,4,note1$(cur))
"L1�Wimp_IconPutText(main_Window%,5,note2$(cur))
"V1�Wimp_IconPutText(main_Window%,6,note3$(cur))
"`1�Wimp_IconPutText(main_Window%,7,note4$(cur))
"j1�Wimp_IconPutText(main_Window%,8,note5$(cur))
"t1�Wimp_IconPutText(main_Window%,9,note6$(cur))
"~2�Wimp_IconPutText(main_Window%,10,note7$(cur))
"��
"�:
"�/� �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%
"��
#:
#
� �Wimp_BASICParameters
# � com$,param$,I%
# ș "OS_GetEnv" � com$
#( params$=""
#2 I%=�com$," -quit ")
#<5 � I% � params$=�com$,�com$," ",I%+�" -quit ")+1)
#F=params$
#P:
#Z� �Wimp_SetEventVariables
#d� pointer_block% 20
#ninterface%=�
#x.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%
$	� � �
$x%=�
$"X$=�$+"atline"+�(x%�10)
$,�ErrorMsg%36
$6EErrorMsg%!0=36:ErrorMsg%!12=0:ErrorMsg%!16=&81080:ErrorMsg%!20=x%
$@$(ErrorMsg%+24)="!RunImage"
$J%ș"Wimp_SendMessage",17,ErrorMsg%
$T�Wimp_WindowAlert(task$,X$)
$^�Wimp_CloseDown
$h�
$r:
$|� �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)
%O� *************************************************************************
%� �Wimp_WaitForEvent
%� mask%,event%
%&finished%=�
%0mask%=%111000011001
%:�
%D' ș"Wimp_Poll",mask%,wimp% � event%
%N Ȏ event% �
%X
  �0 :
%b  �1 : �Wimp_PollDrawWindow
%l&  �2 : ș "Wimp_OpenWindow",,wimp%
%v   �3 : �Wimp_PollCloseWindow
%�
  �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%
&4window%=wimp%!0
&>Ax_origin%=16+wimp%!4-wimp%!20:y_origin%=-16+wimp%!16-wimp%!24
&Hȕmore%
&R0 � interface% � ș"Wimp_BorderWindow",,wimp%
&\- �Event_Draw(window%,x_origin%,y_origin%)
&f' ș"Wimp_GetRectangle",,wimp%�more%
&p�
&z�
&�:
&�� �Wimp_PollCloseWindow
&�%  ș "Wimp_GetPointerInfo",,wimp%
&�)  window%=wimp%!12 : buttons%=wimp%!8
&�) �Event_WindowClose(window%,buttons%)
&�2 !wimp%=window% : ș "Wimp_CloseWindow",,wimp%
&��
&�:
&�� �Wimp_PollMouseClick
&�J button%=wimp%!8:window%=wimp%!12:icon%=wimp%!16:x%=wimp%!0:y%=wimp%!4
&� Ȏ button% �
&�"   �2    : �Wimp_PollMenuPopUp
&�#   : Ȏ �Event_Save(window%) �
',               � � : �Wimp_PollMouseSave
'1               � �: �Wimp_PollEventMouseClick
'              �
'$ �
'.�
'8:
'B� �Wimp_PollMenuPopUp
'L
� SA%=� �
'V�openprinter
'`menu%=�Event_Menu(window%)
'j  Ȏ menu%  �
't   � �:
'~
    :
'�     Ȏ window% �
'�      � -2   : n%=0
'�3        ȕ ((Bar_Menu%!(28+n%*24))�%10000000)=0
'�         n%+=1
'�
        �
'�:        ș "Wimp_CreateMenu",,Bar_Menu%,x%-64,96+n%*44
'�4       : ș"Wimp_CreateMenu",,menu%,x%-64,y%+20
'�
     �
'�  �
'��
'��
'�:
(� �Wimp_PollMouseSave
(
 Ȏ icon% �
(8  � 0 : � button% � &50 � �Wimp_PollDragBox(window%)
(8  � 2 : � button% � 5 �  �Wimp_PollSaveFile(window%)
(( �
(2�
(<:
(F� �Wimp_PollEventMouseClick
(P. � interface% � ș"Wimp_BorderIcon",,wimp%
(Z3 �Event_MouseClick(window%,icon%,button%,x%,y%)
(d Ȏ  interface% �
(n  � � :
(x(   wimp%!0=x%:wimp%!4=y% : wimp%!8=0
(�(   wimp%!12=window% : wimp%!16=icon%
(�!   ș"Wimp_BorderIcon",,wimp%
(� �
(��
(�:
(�!� �Wimp_PollSaveFile(window%)
(�
�file$
(�@ wimp%!0=window% : wimp%!4=1 : ș "Wimp_GetIconState",,wimp%
(� file$=$(wimp%!28)
(� Ȏ �file$,".") �
(�
  � 0   :
(�@   $(wimp%+4)="To save, drag the icon to a directory window"
(�+   ș "Wimp_ReportError",wimp%,16,task$
)  :
)%   �Event_SaveFile(file$,window%)
) �
)" ș"Wimp_CreateMenu",-1
),� SA%=� � �Wimp_CloseDown
)6�
)@:
)J � �Wimp_PollDragBox(window%)
)T
�x%,y%
)^ save%=window%
)h !wimp%=window%
)r# ș"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
)�. wimp%!16=x%+wimp%!16:wimp%!20=y%+wimp%!20
)� wimp%!24=0:wimp%!28=0
)�* wimp%!32=&7FFFFFFF:wimp%!36=&7FFFFFFF
)� ș"Wimp_DragBox",,wimp%
)��
)�:
)�� �Wimp_PollKeyPress
)�1  window%=wimp%!0:icon%=wimp%!4:key%=wimp%!24
*  Ȏ �Event_Save(window%) �
*(   � � : �Wimp_PollSaveFile(window%)
*/   � �: �Event_KeyPress(window%,icon%,key%)
*&  �
*0�
*::
*D� �Wimp_PollSaveMessage
*N�file$,window%,icon%,x%,y%
*X# ș"Wimp_GetPointerInfo",,wimp%
*b: window%=wimp%!12:icon%=wimp%!16:x%=wimp%!0:y%=wimp%!4
*l> wimp%!0=save% : wimp%!4=1 : ș "Wimp_GetIconState",,wimp%
*v file$=$(wimp%!28)
*�+ file$=�Wimp_GetFileFromPathname(file$)
*�ACE$=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
*� wimp%!40=&FFF
*� $(wimp%+44)=file$
*�4 ș"Wimp_SendMessage",17,wimp%,wimp%!20,wimp%!24
*��
+:
+� �Wimp_PollMessages
+� file$
+ ,file$=�Wimp_GetStringAtAddress(wimp%+44)
+*    Ȏ wimp%!16 �
+4     � 0 : finished%=�
+>     � 1 :
+H     � 2 :
+R*      �Wimp_IconPutText(save%,1,file$)
+\C      wimp%!0=save% : wimp%!4=1 : ș "Wimp_GetIconState",,wimp%
+f      $(wimp%!28)=file$
+p<      wimp%!0=save% : wimp%!4=1 : wimp%!8=0 : wimp%!12=0
+z'      ș "Wimp_SetIconState",,wimp%
+�)      �Wimp_IconCaret(save%,1,�file$)
+�8      ș "Wimp_SetCaretPosition",save%,1,,,-1,�file$
+�&      �Event_SaveFile(file$,save%)
+�� SA%=� � �Wimp_CloseDown
+�     � 3
+�G      type$=�Wimp_FileType(wimp%!40) : �Event_LoadFile(file$,type$)
+�	� 4 :
+�� 5
+�"type$=�Wimp_FileType(wimp%!40)
+�� type$="Cheat" �
+�wimp%!12=wimp%!8
+�+ș"XWimp_SendMessage",17,wimp%,wimp%!20
+�file$=�Wimp_GetFilePathName
, �Event_LoadFile(file$,type$)
,�
,	    �
,$�
,.:
,8&� �Wimp_GetStringAtAddress(array%)
,B
�s$:s$=""
,L<ȕ(?array%<>13)�(?array%<>0):s$+=�(?array%):array%+=1:�:
,V=s$
,`:
,j#� �Wimp_GetFileFromPathname(f$)
,tȎ �f$,".") �
,~ � 0    :=f$
,�7  :=�Wimp_GetFileFromPathname(�f$,�(f$)-�f$,".")))
,��
,�:
,�� �Wimp_FileType(type%)
,�Ȏtype%�
,��&BBD:="Cheat"
,��&FFF:="Text"
,��&FFD:="Data"
,��&FFB:="Basic"
,��&FF9:="Sprite"
,��&FED:="Palette"
,��&FEC:="Template"
-�&AFF:="Draw"
-
�&1000:="Folder"
-�&2000:="Application"
-=�~(type%)
-(�
-2:
-<� �mousebox(w%)
-Fwimp%!0=w%
-P$ș"Wimp_GetWindowOutline",,wimp%
-ZCȗ ȓ wimp%!4+2,wimp%!8+2,wimp%!12-wimp%!4-4,wimp%!16-wimp%!8-4
-d�
-n:
-x� �unbox
-�+ș "OS_ReadModeVariable",-1,11 � ,,xpic
-�+ș "OS_ReadModeVariable",-1,12 � ,,ypic
-�+ș "OS_ReadModeVariable",-1,4 � ,,xfact
-�+ș "OS_ReadModeVariable",-1,5 � ,,yfact
-�%ȗ ȓ 0,0,xpic<<xfact,ypic<<yfact
-��
-�:
-�� �getstring(array%)
-�� path$,pointer%
-�path$=""
-�pointer%=array%
-��
-�path$+=�?pointer%
.pointer%+=1
. � ?pointer%=0 � ?pointer%=13
.
=path$
.":
.,��openprinter
.60ș "XPDriver_Info" � R0,R1,R2,R3,R4,R5,R6,R7
.@/� R1=0 � R2=0 � R3=0 � R5=0 � R6=0 � R7=0 �
.J9�Wimp_IconPutText(print_Window%,0,"No driver loaded")
.T
DRIVER%=�
.^�
.h
DRIVER%=�
.r� no printer ?
.|�
.�� DRIVER%=� �
.�printer$=�getstring(R4)
.�/�Wimp_IconPutText(print_Window%,0,printer$)
.��
.��
.�:
.���print
.�:
.�6printhand%=�("PRINTER:$.Job1") : � start a job !!!
.�$title%="Exchange file"
.�ș &80145,printhand%,title%
.�>�#printhand%,13 : � put head to left of paper to start!!!!
.�:
/� print=� �
/*�printline("Name : "+name$(cur)+�(10))
/8� note1$(cur)<>"" � �printline(""+note1$(cur)+�(10))
/&8� note2$(cur)<>"" � �printline(""+note2$(cur)+�(10))
/08� note3$(cur)<>"" � �printline(""+note3$(cur)+�(10))
/:8� note4$(cur)<>"" � �printline(""+note4$(cur)+�(10))
/D8� note5$(cur)<>"" � �printline(""+note5$(cur)+�(10))
/N8� note6$(cur)<>"" � �printline(""+note6$(cur)+�(10))
/X8� note7$(cur)<>"" � �printline(""+note7$(cur)+�(10))
/b�printline(�(10))
/l�
/v� print=� �
/�� A=0 � ptot
/�(�printline("Name : "+name$(A)+�(10))
/�4� note1$(A)<>"" � �printline(""+note1$(A)+�(10))
/�4� note2$(A)<>"" � �printline(""+note2$(A)+�(10))
/�4� note3$(A)<>"" � �printline(""+note3$(A)+�(10))
/�4� note4$(A)<>"" � �printline(""+note4$(A)+�(10))
/�4� note5$(A)<>"" � �printline(""+note5$(A)+�(10))
/�4� note6$(A)<>"" � �printline(""+note6$(A)+�(10))
/�4� note7$(A)<>"" � �printline(""+note7$(A)+�(10))
/��printline(�(10))
/�� A
/��
/�:
0(�#printhand%,12 : � do linefeed !!!!
0ș &80148,printhand%
0� #printhand%
0 �
0*:
04��printline(line$)
0>� cco=1 � �(line$)
0Hbyte=�(�line$,cco,1))
0R�#printhand%,byte
0\G� byte=10 � byte=13 � �#printhand%,13 : � put head to left of paper
0f	� cco
0p�
0z:
0�� �error
0�V� �=67785 � �Wimp_WindowErrorBox("!Cheats","Please write enable the disk"):� #X%:�
0��
�
00000000  0d 00 0a 19 c8 99 20 22  4f 53 5f 47 65 74 45 6e  |...... "OS_GetEn|
00000010  76 22 20 b8 20 65 6e 76  24 0d 00 14 18 e7 20 a7  |v" . env$..... .|
00000020  65 6e 76 24 2c 22 20 2d  71 75 69 74 20 22 29 20  |env$," -quit ") |
00000030  8c 0d 00 1e 32 66 69 6c  65 6c 6f 61 64 24 3d c1  |....2fileload$=.|
00000040  65 6e 76 24 2c a7 65 6e  76 24 2c bd 28 33 34 29  |env$,.env$,.(34)|
00000050  2c a7 65 6e 76 24 2c bd  28 33 34 29 29 2b 31 29  |,.env$,.(34))+1)|
00000060  2b 31 29 0d 00 28 05 cd  0d 00 32 3e 20 20 20 20  |+1)..(....2>    |
00000070  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000080  20 20 20 20 20 20 20 f2  57 69 6d 70 5f 53 74 61  |       .Wimp_Sta|
00000090  72 74 28 22 43 68 65 61  74 73 22 2c 31 32 30 30  |rt("Cheats",1200|
000000a0  2c 32 35 30 30 29 0d 00  3c 33 20 20 20 20 20 20  |,2500)..<3      |
000000b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000000c0  20 20 20 20 20 f2 55 73  65 72 5f 53 65 74 49 6e  |     .User_SetIn|
000000d0  69 74 69 61 6c 44 61 74  61 0d 00 46 2e 20 20 20  |itialData..F.   |
000000e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000000f0  20 20 20 20 20 20 20 20  f2 43 72 65 61 74 65 5f  |        .Create_|
00000100  57 69 6e 64 6f 77 73 0d  00 50 2c 20 20 20 20 20  |Windows..P,     |
00000110  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000120  20 20 20 20 20 20 f2 43  72 65 61 74 65 5f 4d 65  |      .Create_Me|
00000130  6e 75 73 0d 00 5a 16 e7  20 66 69 6c 65 6c 6f 61  |nus..Z.. fileloa|
00000140  64 24 3c 3e 22 20 22 20  8c 0d 00 64 26 f2 45 76  |d$<>" " ...d&.Ev|
00000150  65 6e 74 5f 4c 6f 61 64  46 69 6c 65 28 66 69 6c  |ent_LoadFile(fil|
00000160  65 6c 6f 61 64 24 2c 22  43 68 65 61 74 22 29 0d  |eload$,"Cheat").|
00000170  00 6e 05 cd 0d 00 78 31  20 20 20 20 20 20 20 20  |.n....x1        |
00000180  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000190  20 20 20 f2 57 69 6d 70  5f 57 61 69 74 46 6f 72  |   .Wimp_WaitFor|
000001a0  45 76 65 6e 74 0d 00 82  2e 20 20 20 20 20 20 20  |Event....       |
000001b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000001c0  20 20 20 20 f2 57 69 6d  70 5f 43 6c 6f 73 65 44  |    .Wimp_CloseD|
000001d0  6f 77 6e 0d 00 8c 20 20  20 20 20 20 20 20 20 20  |own...          |
000001e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000001f0  20 20 e0 0d 00 96 0c 20  20 20 20 20 20 20 3a 0d  |  .....       :.|
00000200  00 a0 21 20 20 20 20 20  20 20 dd 20 f2 55 73 65  |..!       . .Use|
00000210  72 5f 53 65 74 49 6e 69  74 69 61 6c 44 61 74 61  |r_SetInitialData|
00000220  0d 00 aa 09 43 44 25 3d  a3 0d 00 b4 10 de 20 74  |....CD%=...... t|
00000230  69 74 6c 65 25 20 32 35  36 0d 00 be 0b 74 6f 74  |itle% 256....tot|
00000240  3d 31 39 39 0d 00 c8 10  de 20 6e 61 6d 65 24 28  |=199..... name$(|
00000250  74 6f 74 29 0d 00 d2 11  de 20 6e 6f 74 65 31 24  |tot)..... note1$|
00000260  28 74 6f 74 29 0d 00 dc  11 de 20 6e 6f 74 65 32  |(tot)..... note2|
00000270  24 28 74 6f 74 29 0d 00  e6 11 de 20 6e 6f 74 65  |$(tot)..... note|
00000280  33 24 28 74 6f 74 29 0d  00 f0 11 de 20 6e 6f 74  |3$(tot)..... not|
00000290  65 34 24 28 74 6f 74 29  0d 00 fa 11 de 20 6e 6f  |e4$(tot)..... no|
000002a0  74 65 35 24 28 74 6f 74  29 0d 01 04 11 de 20 6e  |te5$(tot)..... n|
000002b0  6f 74 65 36 24 28 74 6f  74 29 0d 01 0e 11 de 20  |ote6$(tot)..... |
000002c0  6e 6f 74 65 37 24 28 74  6f 74 29 0d 01 18 0a 70  |note7$(tot)....p|
000002d0  74 6f 74 3d 30 0d 01 22  09 63 75 72 3d 30 0d 01  |tot=0..".cur=0..|
000002e0  2c 09 6e 75 6d 3d 30 0d  01 36 0b 70 72 69 6e 74  |,.num=0..6.print|
000002f0  3d b9 0d 01 40 0d 55 50  44 41 54 45 25 3d a3 0d  |=...@.UPDATE%=..|
00000300  01 4a 09 53 41 25 3d a3  0d 01 54 0d 44 52 49 56  |.J.SA%=...T.DRIV|
00000310  45 52 25 3d a3 0d 01 5e  0c 20 20 20 20 20 20 20  |ER%=...^.       |
00000320  e1 0d 01 68 0c 20 20 20  20 20 20 20 3a 0d 01 72  |...h.       :..r|
00000330  1c 20 20 20 20 20 20 20  dd 20 f2 43 72 65 61 74  |.       . .Creat|
00000340  65 5f 57 69 6e 64 6f 77  73 0d 01 7c 1e 20 20 20  |e_Windows..|.   |
00000350  20 20 20 20 20 20 f2 57  69 6d 70 5f 53 70 72 69  |      .Wimp_Spri|
00000360  74 65 73 4c 6f 61 64 0d  01 86 3b 20 20 20 20 20  |tesLoad...;     |
00000370  20 20 20 20 20 20 20 20  20 20 20 20 20 49 6e 66  |             Inf|
00000380  6f 5f 57 69 6e 64 6f 77  25 3d a4 57 69 6d 70 5f  |o_Window%=.Wimp_|
00000390  57 69 6e 64 6f 77 4c 6f  61 64 28 22 49 6e 66 6f  |WindowLoad("Info|
000003a0  22 29 0d 01 90 3b 20 20  20 20 20 20 20 20 20 20  |")...;          |
000003b0  20 20 20 20 20 20 20 20  6d 61 69 6e 5f 57 69 6e  |        main_Win|
000003c0  64 6f 77 25 3d a4 57 69  6d 70 5f 57 69 6e 64 6f  |dow%=.Wimp_Windo|
000003d0  77 4c 6f 61 64 28 22 6d  61 69 6e 22 29 0d 01 9a  |wLoad("main")...|
000003e0  3b 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |;               |
000003f0  20 20 20 53 61 76 65 5f  57 69 6e 64 6f 77 25 3d  |   Save_Window%=|
00000400  a4 57 69 6d 70 5f 57 69  6e 64 6f 77 4c 6f 61 64  |.Wimp_WindowLoad|
00000410  28 22 53 61 76 65 22 29  0d 01 a4 3d 20 20 20 20  |("Save")...=    |
00000420  20 20 20 20 20 20 20 20  20 20 20 20 73 65 61 72  |            sear|
00000430  63 68 5f 57 69 6e 64 6f  77 25 3d a4 57 69 6d 70  |ch_Window%=.Wimp|
00000440  5f 57 69 6e 64 6f 77 4c  6f 61 64 28 22 73 65 61  |_WindowLoad("sea|
00000450  72 63 68 22 29 0d 01 ae  3c 20 20 20 20 20 20 20  |rch")...<       |
00000460  20 20 20 20 20 20 20 20  20 20 70 72 69 6e 74 5f  |          print_|
00000470  57 69 6e 64 6f 77 25 3d  a4 57 69 6d 70 5f 57 69  |Window%=.Wimp_Wi|
00000480  6e 64 6f 77 4c 6f 61 64  28 22 70 72 69 6e 74 22  |ndowLoad("print"|
00000490  29 0d 01 b8 3c 20 20 20  20 20 20 20 20 20 20 20  |)...<           |
000004a0  20 20 20 20 20 20 53 61  76 65 32 5f 57 69 6e 64  |      Save2_Wind|
000004b0  6f 77 25 3d a4 57 69 6d  70 5f 57 69 6e 64 6f 77  |ow%=.Wimp_Window|
000004c0  4c 6f 61 64 28 22 53 61  76 65 32 22 29 0d 01 c2  |Load("Save2")...|
000004d0  3c 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |<               |
000004e0  20 20 43 6c 6f 73 65 5f  57 69 6e 64 6f 77 25 3d  |  Close_Window%=|
000004f0  a4 57 69 6d 70 5f 57 69  6e 64 6f 77 4c 6f 61 64  |.Wimp_WindowLoad|
00000500  28 22 43 6c 6f 73 65 22  29 0d 01 cc 2d 20 20 20  |("Close")...-   |
00000510  20 20 20 20 42 61 72 5f  49 63 6f 6e 25 3d a4 57  |    Bar_Icon%=.W|
00000520  69 6d 70 5f 49 63 6f 6e  42 61 72 28 22 21 43 68  |imp_IconBar("!Ch|
00000530  65 61 74 73 22 29 0d 01  d6 0c 20 20 20 20 20 20  |eats")....      |
00000540  20 e1 0d 01 e0 0d 20 20  20 20 20 20 20 20 3a 0d  | .....        :.|
00000550  01 ea 22 20 20 20 20 20  20 20 20 dd 20 a4 45 76  |.."        . .Ev|
00000560  65 6e 74 5f 53 61 76 65  28 77 69 6e 64 6f 77 25  |ent_Save(window%|
00000570  29 0d 01 f4 1a 20 20 20  20 20 20 20 20 20 20 c8  |)....          .|
00000580  8e 20 77 69 6e 64 6f 77  25 20 ca 0d 01 fe 22 20  |. window% ...." |
00000590  20 20 20 20 20 20 20 20  20 20 20 c9 20 53 61 76  |           . Sav|
000005a0  65 5f 57 69 6e 64 6f 77  25 20 3a 3d b9 0d 02 08  |e_Window% :=....|
000005b0  23 20 20 20 20 20 20 20  20 20 20 20 20 c9 20 53  |#            . S|
000005c0  61 76 65 32 5f 57 69 6e  64 6f 77 25 20 3a 3d b9  |ave2_Window% :=.|
000005d0  0d 02 12 15 20 20 20 20  20 20 20 20 20 20 20 20  |....            |
000005e0  7f 20 3a 3d a3 0d 02 1c  0f 20 20 20 20 20 20 20  |. :=.....       |
000005f0  20 20 20 cb 0d 02 26 0d  20 20 20 20 20 20 20 20  |   ...&.        |
00000600  3a 0d 02 30 2e 20 20 20  20 20 20 20 20 dd 20 a4  |:..0.        . .|
00000610  45 76 65 6e 74 5f 53 70  72 69 74 65 73 28 77 69  |Event_Sprites(wi|
00000620  6e 64 6f 77 25 29 3d 73  70 72 69 74 65 73 25 0d  |ndow%)=sprites%.|
00000630  02 3a 0c 20 20 20 20 20  20 20 3a 0d 02 44 1a 20  |.:.       :..D. |
00000640  20 20 20 20 20 20 dd 20  f2 43 72 65 61 74 65 5f  |      . .Create_|
00000650  4d 65 6e 75 73 0d 02 4e  32 20 20 20 20 20 20 20  |Menus..N2       |
00000660  20 20 6d 65 6e 75 24 3d  22 43 68 65 61 74 73 5c  |  menu$="Cheats\|
00000670  49 6e 66 6f 3e 49 6e 66  6f 5f 57 69 6e 64 6f 77  |Info>Info_Window|
00000680  25 5c 51 75 69 74 22 0d  02 58 2e 20 20 20 20 20  |%\Quit"..X.     |
00000690  20 20 20 20 42 61 72 5f  4d 65 6e 75 25 3d a4 57  |    Bar_Menu%=.W|
000006a0  69 6d 70 5f 4d 65 6e 75  43 72 65 61 74 65 28 6d  |imp_MenuCreate(m|
000006b0  65 6e 75 24 29 0d 02 62  56 20 20 20 20 20 20 20  |enu$)..bV       |
000006c0  20 20 73 61 76 65 5f 4d  65 6e 75 25 3d a4 57 69  |  save_Menu%=.Wi|
000006d0  6d 70 5f 4d 65 6e 75 43  72 65 61 74 65 28 22 53  |mp_MenuCreate("S|
000006e0  61 76 65 5c 43 68 65 61  74 3e 53 61 76 65 5f 57  |ave\Cheat>Save_W|
000006f0  69 6e 64 6f 77 25 5c 54  65 78 74 3e 53 61 76 65  |indow%\Text>Save|
00000700  32 5f 57 69 6e 64 6f 77  25 22 29 0d 02 6c 54 20  |2_Window%")..lT |
00000710  20 20 20 20 20 20 20 20  6d 61 69 6e 5f 4d 65 6e  |        main_Men|
00000720  75 25 3d a4 57 69 6d 70  5f 4d 65 6e 75 43 72 65  |u%=.Wimp_MenuCre|
00000730  61 74 65 28 22 4d 61 69  6e 5c 50 72 69 6e 74 3e  |ate("Main\Print>|
00000740  70 72 69 6e 74 5f 57 69  6e 64 6f 77 25 5c 53 61  |print_Window%\Sa|
00000750  76 65 3e 73 61 76 65 5f  4d 65 6e 75 25 22 29 0d  |ve>save_Menu%").|
00000760  02 76 26 f2 57 69 6d 70  5f 4d 65 6e 75 44 6f 74  |.v&.Wimp_MenuDot|
00000770  74 65 64 4c 69 6e 65 28  6d 61 69 6e 5f 4d 65 6e  |tedLine(main_Men|
00000780  75 25 2c 31 29 0d 02 80  23 f2 57 69 6d 70 5f 4d  |u%,1)...#.Wimp_M|
00000790  65 6e 75 44 69 73 61 62  6c 65 28 6d 61 69 6e 5f  |enuDisable(main_|
000007a0  4d 65 6e 75 25 2c 32 29  0d 02 8a 23 f2 57 69 6d  |Menu%,2)...#.Wim|
000007b0  70 5f 4d 65 6e 75 44 69  73 61 62 6c 65 28 6d 61  |p_MenuDisable(ma|
000007c0  69 6e 5f 4d 65 6e 75 25  2c 31 29 0d 02 94 0c 20  |in_Menu%,1).... |
000007d0  20 20 20 20 20 20 e1 0d  02 9e 0d 20 20 20 20 20  |      .....     |
000007e0  20 20 20 3a 0d 02 a8 22  20 20 20 20 20 20 20 20  |   :..."        |
000007f0  dd 20 a4 45 76 65 6e 74  5f 4d 65 6e 75 28 77 69  |. .Event_Menu(wi|
00000800  6e 64 6f 77 25 29 0d 02  b2 18 20 20 20 20 20 20  |ndow%)....      |
00000810  20 20 c8 8e 20 77 69 6e  64 6f 77 25 20 ca 0d 02  |  .. window% ...|
00000820  bc 2e 20 20 20 20 20 20  20 20 20 c9 20 42 61 72  |..         . Bar|
00000830  5f 57 69 6e 64 6f 77 25  20 20 20 20 20 20 20 20  |_Window%        |
00000840  3a 20 3d 42 61 72 5f 4d  65 6e 75 25 0d 02 c6 2f  |: =Bar_Menu%.../|
00000850  20 20 20 20 20 20 20 20  20 c9 20 6d 61 69 6e 5f  |         . main_|
00000860  57 69 6e 64 6f 77 25 20  20 20 20 20 20 20 3a 20  |Window%       : |
00000870  3d 6d 61 69 6e 5f 4d 65  6e 75 25 0d 02 d0 21 20  |=main_Menu%...! |
00000880  20 20 20 20 20 20 20 20  7f 20 20 20 20 20 20 20  |        .       |
00000890  20 20 20 20 20 20 20 20  3a 20 3d a3 0d 02 da 0d  |        : =.....|
000008a0  20 20 20 20 20 20 20 20  cb 0d 02 e4 0c 20 20 20  |        .....   |
000008b0  20 20 20 20 3a 0d 02 ee  31 20 20 20 20 20 20 20  |    :...1       |
000008c0  dd 20 f2 45 76 65 6e 74  5f 57 69 6e 64 6f 77 43  |. .Event_WindowC|
000008d0  6c 6f 73 65 28 77 69 6e  64 6f 77 25 2c 62 75 74  |lose(window%,but|
000008e0  74 6f 6e 73 25 29 0d 02  f8 17 20 20 20 20 20 20  |tons%)....      |
000008f0  20 c8 8e 20 77 69 6e 64  6f 77 25 20 ca 0d 03 02  | .. window% ....|
00000900  0c 20 20 20 20 20 20 20  cb 0d 03 0c 0c 20 20 20  |.       .....   |
00000910  20 20 20 20 e1 0d 03 16  0c 20 20 20 20 20 20 20  |    .....       |
00000920  3a 0d 03 20 35 20 20 20  20 20 20 20 dd 20 f2 45  |:.. 5       . .E|
00000930  76 65 6e 74 5f 44 72 61  77 28 77 69 6e 64 6f 77  |vent_Draw(window|
00000940  25 2c 78 5f 6f 72 69 67  69 6e 25 2c 79 5f 6f 72  |%,x_origin%,y_or|
00000950  69 67 69 6e 25 29 0d 03  2a 17 20 20 20 20 20 20  |igin%)..*.      |
00000960  20 c8 8e 20 77 69 6e 64  6f 77 25 20 ca 0d 03 34  | .. window% ...4|
00000970  38 20 20 20 20 20 20 20  20 c9 20 6d 61 69 6e 5f  |8        . main_|
00000980  57 69 6e 64 6f 77 25 20  20 20 20 20 20 20 20 3a  |Window%        :|
00000990  20 f2 55 73 65 72 5f 44  72 61 77 6d 61 69 6e 57  | .User_DrawmainW|
000009a0  69 6e 64 6f 77 0d 03 3e  0c 20 20 20 20 20 20 20  |indow..>.       |
000009b0  cb 0d 03 48 0c 20 20 20  20 20 20 20 e1 0d 03 52  |...H.       ...R|
000009c0  27 20 20 20 20 20 20 20  20 20 20 20 20 20 dd 20  |'             . |
000009d0  f2 55 73 65 72 5f 44 72  61 77 6d 61 69 6e 57 69  |.User_DrawmainWi|
000009e0  6e 64 6f 77 0d 03 5c 19  c8 99 22 57 69 6d 70 5f  |ndow..\..."Wimp_|
000009f0  53 65 74 43 6f 6c 6f 75  72 22 2c 31 31 0d 03 66  |SetColour",11..f|
00000a00  14 6c 65 6e 3d 36 30 34  2f 28 70 74 6f 74 2b 31  |.len=604/(ptot+1|
00000a10  29 0d 03 70 0f 70 6f 73  3d 63 75 72 2a 6c 65 6e  |)..p.pos=cur*len|
00000a20  0d 03 7a 31 c8 93 20 c8  90 20 28 78 5f 6f 72 69  |..z1.. .. (x_ori|
00000a30  67 69 6e 25 2b 70 6f 73  29 2b 33 32 2c 79 5f 6f  |gin%+pos)+32,y_o|
00000a40  72 69 67 69 6e 25 2d 39  33 30 2c 6c 65 6e 2c 31  |rigin%-930,len,1|
00000a50  32 0d 03 84 12 20 20 20  20 20 20 20 20 20 20 20  |2....           |
00000a60  20 20 e1 0d 03 8e 0c 20  20 20 20 20 20 20 3a 0d  |  .....       :.|
00000a70  03 98 3b 20 20 20 20 20  20 20 dd 20 f2 45 76 65  |..;       . .Eve|
00000a80  6e 74 5f 4d 6f 75 73 65  43 6c 69 63 6b 28 77 69  |nt_MouseClick(wi|
00000a90  6e 64 6f 77 25 2c 69 63  6f 6e 25 2c 62 75 74 74  |ndow%,icon%,butt|
00000aa0  6f 6e 25 2c 78 25 2c 79  25 29 0d 03 a2 17 20 20  |on%,x%,y%)....  |
00000ab0  20 20 20 20 20 c8 8e 20  77 69 6e 64 6f 77 25 20  |     .. window% |
00000ac0  ca 0d 03 ac 31 20 20 20  20 20 20 20 20 c9 20 42  |....1        . B|
00000ad0  61 72 5f 57 69 6e 64 6f  77 25 20 20 20 20 20 20  |ar_Window%      |
00000ae0  20 20 3a 20 f2 55 73 65  72 5f 4d 6f 75 73 65 42  |  : .User_MouseB|
00000af0  61 72 0d 03 b6 42 20 20  20 20 20 20 20 20 c9 20  |ar...B        . |
00000b00  6d 61 69 6e 5f 57 69 6e  64 6f 77 25 20 20 20 20  |main_Window%    |
00000b10  20 20 20 3a 20 f2 55 73  65 72 5f 4d 6f 75 73 65  |   : .User_Mouse|
00000b20  6d 61 69 6e 28 20 62 75  74 74 6f 6e 25 2c 69 63  |main( button%,ic|
00000b30  6f 6e 25 29 0d 03 c0 44  20 20 20 20 20 20 20 20  |on%)...D        |
00000b40  c9 20 73 65 61 72 63 68  5f 57 69 6e 64 6f 77 25  |. search_Window%|
00000b50  20 20 20 20 20 3a 20 f2  55 73 65 72 5f 4d 6f 75  |     : .User_Mou|
00000b60  73 65 73 65 61 72 63 68  28 20 62 75 74 74 6f 6e  |sesearch( button|
00000b70  25 2c 69 63 6f 6e 25 29  0d 03 ca 43 20 20 20 20  |%,icon%)...C    |
00000b80  20 20 20 20 c9 20 70 72  69 6e 74 5f 57 69 6e 64  |    . print_Wind|
00000b90  6f 77 25 20 20 20 20 20  20 3a 20 f2 55 73 65 72  |ow%      : .User|
00000ba0  5f 4d 6f 75 73 65 70 72  69 6e 74 28 20 62 75 74  |_Mouseprint( but|
00000bb0  74 6f 6e 25 2c 69 63 6f  6e 25 29 0d 03 d4 43 20  |ton%,icon%)...C |
00000bc0  20 20 20 20 20 20 20 c9  20 43 6c 6f 73 65 5f 57  |       . Close_W|
00000bd0  69 6e 64 6f 77 25 20 20  20 20 20 20 3a 20 f2 55  |indow%      : .U|
00000be0  73 65 72 5f 4d 6f 75 73  65 43 6c 6f 73 65 28 20  |ser_MouseClose( |
00000bf0  62 75 74 74 6f 6e 25 2c  69 63 6f 6e 25 29 0d 03  |button%,icon%)..|
00000c00  de 0c 20 20 20 20 20 20  20 cb 0d 03 e8 0c 20 20  |..       .....  |
00000c10  20 20 20 20 20 e1 0d 03  f2 0e 20 20 20 20 20 20  |     .....      |
00000c20  20 20 20 3a 0d 03 fc 2f  20 20 20 20 20 20 20 20  |   :.../        |
00000c30  20 dd 20 f2 55 73 65 72  5f 4d 6f 75 73 65 43 6c  | . .User_MouseCl|
00000c40  6f 73 65 28 20 62 75 74  74 6f 6e 25 2c 69 63 6f  |ose( button%,ico|
00000c50  6e 25 29 0d 04 06 18 20  20 20 20 20 20 20 20 20  |n%)....         |
00000c60  e7 20 69 63 6f 6e 25 3d  31 20 8c 0d 04 10 09 53  |. icon%=1 .....S|
00000c70  41 25 3d b9 0d 04 1a 0a  f2 75 6e 62 6f 78 0d 04  |A%=......unbox..|
00000c80  24 24 f2 57 69 6d 70 5f  57 69 6e 64 6f 77 43 6c  |$$.Wimp_WindowCl|
00000c90  6f 73 65 28 43 6c 6f 73  65 5f 57 69 6e 64 6f 77  |ose(Close_Window|
00000ca0  25 29 0d 04 2e 0d 55 50  44 41 54 45 25 3d a3 0d  |%)....UPDATE%=..|
00000cb0  04 38 28 f2 57 69 6d 70  5f 57 69 6e 64 6f 77 42  |.8(.Wimp_WindowB|
00000cc0  72 69 6e 67 54 6f 54 6f  70 28 53 61 76 65 5f 57  |ringToTop(Save_W|
00000cd0  69 6e 64 6f 77 25 29 0d  04 42 25 41 24 3d a4 57  |indow%)..B%A$=.W|
00000ce0  69 6d 70 5f 49 63 6f 6e  54 65 78 74 28 53 61 76  |imp_IconText(Sav|
00000cf0  65 5f 57 69 6e 64 6f 77  25 2c 31 29 0d 04 4c 29  |e_Window%,1)..L)|
00000d00  f2 57 69 6d 70 5f 49 63  6f 6e 43 61 72 65 74 28  |.Wimp_IconCaret(|
00000d10  53 61 76 65 5f 57 69 6e  64 6f 77 25 2c 31 2c a9  |Save_Window%,1,.|
00000d20  28 41 24 29 29 0d 04 56  05 cd 0d 04 60 18 20 20  |(A$))..V....`.  |
00000d30  20 20 20 20 20 20 20 e7  20 69 63 6f 6e 25 3d 32  |       . icon%=2|
00000d40  20 8c 0d 04 6a 0a f2 75  6e 62 6f 78 0d 04 74 0d  | ...j..unbox..t.|
00000d50  55 50 44 41 54 45 25 3d  a3 0d 04 7e 24 f2 57 69  |UPDATE%=...~$.Wi|
00000d60  6d 70 5f 57 69 6e 64 6f  77 43 6c 6f 73 65 28 43  |mp_WindowClose(C|
00000d70  6c 6f 73 65 5f 57 69 6e  64 6f 77 25 29 0d 04 88  |lose_Window%)...|
00000d80  09 43 44 25 3d b9 0d 04  92 05 cd 0d 04 9c 18 20  |.CD%=.......... |
00000d90  20 20 20 20 20 20 20 20  e7 20 69 63 6f 6e 25 3d  |        . icon%=|
00000da0  33 20 8c 0d 04 a6 0a f2  75 6e 62 6f 78 0d 04 b0  |3 ......unbox...|
00000db0  24 f2 57 69 6d 70 5f 57  69 6e 64 6f 77 43 6c 6f  |$.Wimp_WindowClo|
00000dc0  73 65 28 43 6c 6f 73 65  5f 57 69 6e 64 6f 77 25  |se(Close_Window%|
00000dd0  29 0d 04 ba 05 cd 0d 04  c4 1d e7 20 43 44 25 3d  |).......... CD%=|
00000de0  b9 20 8c 20 f2 57 69 6d  70 5f 43 6c 6f 73 65 44  |. . .Wimp_CloseD|
00000df0  6f 77 6e 0d 04 ce 0e 20  20 20 20 20 20 20 20 20  |own....         |
00000e00  e1 0d 04 d8 0e 20 20 20  20 20 20 20 20 20 3a 0d  |.....         :.|
00000e10  04 e2 1d 20 20 20 20 20  20 20 20 20 dd 20 f2 55  |...         . .U|
00000e20  73 65 72 5f 4d 6f 75 73  65 42 61 72 0d 04 ec 32  |ser_MouseBar...2|
00000e30  e7 20 53 41 25 3d a3 20  8c 20 f2 57 69 6d 70 5f  |. SA%=. . .Wimp_|
00000e40  57 69 6e 64 6f 77 42 72  69 6e 67 54 6f 54 6f 70  |WindowBringToTop|
00000e50  28 6d 61 69 6e 5f 57 69  6e 64 6f 77 25 29 0d 04  |(main_Window%)..|
00000e60  f6 0e 20 20 20 20 20 20  20 20 20 e1 0d 05 00 0e  |..         .....|
00000e70  20 20 20 20 20 20 20 20  20 3a 0d 05 0a 2f 20 20  |         :.../  |
00000e80  20 20 20 20 20 20 20 dd  20 f2 55 73 65 72 5f 4d  |       . .User_M|
00000e90  6f 75 73 65 70 72 69 6e  74 28 20 62 75 74 74 6f  |ouseprint( butto|
00000ea0  6e 25 2c 69 63 6f 6e 25  29 0d 05 14 0f e7 20 69  |n%,icon%)..... i|
00000eb0  63 6f 6e 25 3d 33 20 8c  0d 05 1e 25 f2 57 69 6d  |con%=3 ....%.Wim|
00000ec0  70 5f 53 65 6c 65 63 74  49 63 6f 6e 28 70 72 69  |p_SelectIcon(pri|
00000ed0  6e 74 5f 57 69 6e 64 6f  77 25 2c 33 29 0d 05 28  |nt_Window%,3)..(|
00000ee0  0b 70 72 69 6e 74 3d b9  0d 05 32 05 cd 0d 05 3c  |.print=...2....<|
00000ef0  0f e7 20 69 63 6f 6e 25  3d 31 20 8c 0d 05 46 25  |.. icon%=1 ...F%|
00000f00  f2 57 69 6d 70 5f 53 65  6c 65 63 74 49 63 6f 6e  |.Wimp_SelectIcon|
00000f10  28 70 72 69 6e 74 5f 57  69 6e 64 6f 77 25 2c 31  |(print_Window%,1|
00000f20  29 0d 05 50 0b 70 72 69  6e 74 3d a3 0d 05 5a 05  |)..P.print=...Z.|
00000f30  cd 0d 05 64 1b e7 20 69  63 6f 6e 25 3d 32 20 80  |...d.. icon%=2 .|
00000f40  20 44 52 49 56 45 52 25  3d b9 20 8c 0d 05 6e 13  | DRIVER%=. ...n.|
00000f50  f2 57 69 6d 70 5f 4d 65  6e 75 43 6c 6f 73 65 0d  |.Wimp_MenuClose.|
00000f60  05 78 0a f2 70 72 69 6e  74 0d 05 82 05 cd 0d 05  |.x..print.......|
00000f70  8c 0e 20 20 20 20 20 20  20 20 20 e1 0d 05 96 0e  |..         .....|
00000f80  20 20 20 20 20 20 20 20  20 3a 0d 05 a0 30 20 20  |         :...0  |
00000f90  20 20 20 20 20 20 20 dd  20 f2 55 73 65 72 5f 4d  |       . .User_M|
00000fa0  6f 75 73 65 73 65 61 72  63 68 28 20 62 75 74 74  |ousesearch( butt|
00000fb0  6f 6e 25 2c 69 63 6f 6e  25 29 0d 05 aa 0f e7 20  |on%,icon%)..... |
00000fc0  69 63 6f 6e 25 3d 32 20  8c 0d 05 b4 0b 66 6f 75  |icon%=2 .....fou|
00000fd0  6e 64 3d a3 0d 05 be 27  41 24 3d a4 57 69 6d 70  |nd=....'A$=.Wimp|
00000fe0  5f 49 63 6f 6e 54 65 78  74 28 73 65 61 72 63 68  |_IconText(search|
00000ff0  5f 57 69 6e 64 6f 77 25  2c 31 29 0d 05 c8 0b 43  |_Window%,1)....C|
00001000  3d a9 28 41 24 29 0d 05  d2 09 63 75 76 3d a3 0d  |=.(A$)....cuv=..|
00001010  05 dc 12 e3 20 41 3d 6e  75 6d 20 b8 20 70 74 6f  |.... A=num . pto|
00001020  74 0d 05 e6 13 42 24 3d  c0 6e 61 6d 65 24 28 41  |t....B$=.name$(A|
00001030  29 2c 43 29 0d 05 f0 15  e7 20 41 24 3d 42 24 20  |),C)..... A$=B$ |
00001040  80 20 63 75 76 3d a3 20  8c 0d 05 fa 09 63 75 72  |. cuv=. .....cur|
00001050  3d 41 0d 06 04 2d f4 20  50 52 4f 43 57 69 6d 70  |=A...-. PROCWimp|
00001060  5f 57 69 6e 64 6f 77 42  72 69 6e 67 54 6f 54 6f  |_WindowBringToTo|
00001070  70 28 6d 61 69 6e 5f 57  69 6e 64 6f 77 25 29 0d  |p(main_Window%).|
00001080  06 0e 0f f2 75 70 64 61  74 65 6d 61 69 6e 0d 06  |....updatemain..|
00001090  18 25 f2 57 69 6d 70 5f  49 63 6f 6e 55 70 64 61  |.%.Wimp_IconUpda|
000010a0  74 65 28 6d 61 69 6e 5f  57 69 6e 64 6f 77 25 2c  |te(main_Window%,|
000010b0  31 36 29 0d 06 22 09 6e  75 6d 3d 41 0d 06 2c 0a  |16)..".num=A..,.|
000010c0  6e 75 6d 2b 3d 31 0d 06  36 09 63 75 76 3d b9 0d  |num+=1..6.cuv=..|
000010d0  06 40 0b 66 6f 75 6e 64  3d b9 0d 06 4a 05 cd 0d  |.@.found=...J...|
000010e0  06 54 07 ed 20 41 0d 06  5e 15 e7 20 66 6f 75 6e  |.T.. A..^.. foun|
000010f0  64 3d a3 20 8c 20 6e 75  6d 3d 30 0d 06 68 05 cd  |d=. . num=0..h..|
00001100  0d 06 72 04 0d 06 7c 0f  e7 20 69 63 6f 6e 25 3d  |..r...|.. icon%=|
00001110  33 20 8c 0d 06 86 19 f2  57 69 6d 70 5f 50 6f 6c  |3 ......Wimp_Pol|
00001120  6c 43 6c 6f 73 65 57 69  6e 64 6f 77 0d 06 90 09  |lCloseWindow....|
00001130  6e 75 6d 3d 30 0d 06 9a  0f f2 75 70 64 61 74 65  |num=0.....update|
00001140  6d 61 69 6e 0d 06 a4 25  f2 57 69 6d 70 5f 49 63  |main...%.Wimp_Ic|
00001150  6f 6e 55 70 64 61 74 65  28 6d 61 69 6e 5f 57 69  |onUpdate(main_Wi|
00001160  6e 64 6f 77 25 2c 31 36  29 0d 06 ae 05 cd 0d 06  |ndow%,16).......|
00001170  b8 0e 20 20 20 20 20 20  20 20 20 e1 0d 06 c2 2e  |..         .....|
00001180  20 20 20 20 20 20 20 20  20 dd 20 f2 55 73 65 72  |         . .User|
00001190  5f 4d 6f 75 73 65 6d 61  69 6e 28 20 62 75 74 74  |_Mousemain( butt|
000011a0  6f 6e 25 2c 69 63 6f 6e  25 29 0d 06 cc 58 f4 20  |on%,icon%)...X. |
000011b0  20 20 20 20 20 20 20 20  50 52 4f 43 57 69 6d 70  |        PROCWimp|
000011c0  5f 57 69 6e 64 6f 77 41  6c 65 72 74 28 22 6d 61  |_WindowAlert("ma|
000011d0  69 6e 22 2c 22 4d 6f 75  73 65 20 62 75 74 74 6f  |in","Mouse butto|
000011e0  6e 3d 22 2b 53 54 52 24  62 75 74 74 6f 6e 25 2b  |n="+STR$button%+|
000011f0  22 69 63 6f 6e 3d 22 2b  53 54 52 24 69 63 6f 6e  |"icon="+STR$icon|
00001200  25 29 0d 06 d6 1b e7 20  69 63 6f 6e 25 3d 31 31  |%)..... icon%=11|
00001210  20 80 20 63 75 72 3c 70  74 6f 74 20 8c 0d 06 e0  | . cur<ptot ....|
00001220  0e f2 69 6e 70 75 74 6d  61 69 6e 0d 06 ea 0a 63  |..inputmain....c|
00001230  75 72 2b 3d 31 0d 06 f4  0f f2 75 70 64 61 74 65  |ur+=1.....update|
00001240  6d 61 69 6e 0d 06 fe 25  f2 57 69 6d 70 5f 49 63  |main...%.Wimp_Ic|
00001250  6f 6e 55 70 64 61 74 65  28 6d 61 69 6e 5f 57 69  |onUpdate(main_Wi|
00001260  6e 64 6f 77 25 2c 31 36  29 0d 07 08 05 cd 0d 07  |ndow%,16).......|
00001270  12 04 0d 07 1c 10 e7 20  69 63 6f 6e 25 3d 31 32  |....... icon%=12|
00001280  20 8c 0d 07 26 0d 55 50  44 41 54 45 25 3d b9 0d  | ...&.UPDATE%=..|
00001290  07 30 0e e7 20 70 74 6f  74 3d 30 20 8c 0d 07 3a  |.0.. ptot=0 ...:|
000012a0  11 6e 61 6d 65 24 28 63  75 72 29 3d 22 22 0d 07  |.name$(cur)=""..|
000012b0  44 12 6e 6f 74 65 31 24  28 63 75 72 29 3d 22 22  |D.note1$(cur)=""|
000012c0  0d 07 4e 12 6e 6f 74 65  32 24 28 63 75 72 29 3d  |..N.note2$(cur)=|
000012d0  22 22 0d 07 58 12 6e 6f  74 65 33 24 28 63 75 72  |""..X.note3$(cur|
000012e0  29 3d 22 22 0d 07 62 12  6e 6f 74 65 34 24 28 63  |)=""..b.note4$(c|
000012f0  75 72 29 3d 22 22 0d 07  6c 12 6e 6f 74 65 35 24  |ur)=""..l.note5$|
00001300  28 63 75 72 29 3d 22 22  0d 07 76 12 6e 6f 74 65  |(cur)=""..v.note|
00001310  36 24 28 63 75 72 29 3d  22 22 0d 07 80 12 6e 6f  |6$(cur)=""....no|
00001320  74 65 37 24 28 63 75 72  29 3d 22 22 0d 07 8a 0f  |te7$(cur)=""....|
00001330  f2 75 70 64 61 74 65 6d  61 69 6e 0d 07 94 05 cd  |.updatemain.....|
00001340  0d 07 9e 19 e7 20 63 75  72 3d 70 74 6f 74 20 80  |..... cur=ptot .|
00001350  20 70 74 6f 74 3e 30 20  8c 0d 07 a8 0e f2 69 6e  | ptot>0 ......in|
00001360  70 75 74 6d 61 69 6e 0d  07 b2 11 6e 61 6d 65 24  |putmain....name$|
00001370  28 63 75 72 29 3d 22 22  0d 07 bc 12 6e 6f 74 65  |(cur)=""....note|
00001380  31 24 28 63 75 72 29 3d  22 22 0d 07 c6 12 6e 6f  |1$(cur)=""....no|
00001390  74 65 32 24 28 63 75 72  29 3d 22 22 0d 07 d0 12  |te2$(cur)=""....|
000013a0  6e 6f 74 65 33 24 28 63  75 72 29 3d 22 22 0d 07  |note3$(cur)=""..|
000013b0  da 12 6e 6f 74 65 34 24  28 63 75 72 29 3d 22 22  |..note4$(cur)=""|
000013c0  0d 07 e4 12 6e 6f 74 65  35 24 28 63 75 72 29 3d  |....note5$(cur)=|
000013d0  22 22 0d 07 ee 12 6e 6f  74 65 36 24 28 63 75 72  |""....note6$(cur|
000013e0  29 3d 22 22 0d 07 f8 12  6e 6f 74 65 37 24 28 63  |)=""....note7$(c|
000013f0  75 72 29 3d 22 22 0d 08  02 0a 63 75 72 2d 3d 31  |ur)=""....cur-=1|
00001400  0d 08 0c 0b 70 74 6f 74  2d 3d 31 0d 08 16 0f f2  |....ptot-=1.....|
00001410  75 70 64 61 74 65 6d 61  69 6e 0d 08 20 25 f2 57  |updatemain.. %.W|
00001420  69 6d 70 5f 49 63 6f 6e  55 70 64 61 74 65 28 6d  |imp_IconUpdate(m|
00001430  61 69 6e 5f 57 69 6e 64  6f 77 25 2c 31 36 29 0d  |ain_Window%,16).|
00001440  08 2a 05 cd 0d 08 34 10  e7 20 63 75 72 3c 70 74  |.*....4.. cur<pt|
00001450  6f 74 20 8c 0d 08 3e 0e  f2 69 6e 70 75 74 6d 61  |ot ...>..inputma|
00001460  69 6e 0d 08 48 12 e3 20  41 3d 63 75 72 20 b8 20  |in..H.. A=cur . |
00001470  70 74 6f 74 0d 08 52 17  6e 61 6d 65 24 28 41 29  |ptot..R.name$(A)|
00001480  3d 6e 61 6d 65 24 28 41  2b 31 29 0d 08 5c 19 6e  |=name$(A+1)..\.n|
00001490  6f 74 65 31 24 28 41 29  3d 6e 6f 74 65 31 24 28  |ote1$(A)=note1$(|
000014a0  41 2b 31 29 0d 08 66 19  6e 6f 74 65 32 24 28 41  |A+1)..f.note2$(A|
000014b0  29 3d 6e 6f 74 65 32 24  28 41 2b 31 29 0d 08 70  |)=note2$(A+1)..p|
000014c0  19 6e 6f 74 65 33 24 28  41 29 3d 6e 6f 74 65 33  |.note3$(A)=note3|
000014d0  24 28 41 2b 31 29 0d 08  7a 19 6e 6f 74 65 34 24  |$(A+1)..z.note4$|
000014e0  28 41 29 3d 6e 6f 74 65  34 24 28 41 2b 31 29 0d  |(A)=note4$(A+1).|
000014f0  08 84 19 6e 6f 74 65 35  24 28 41 29 3d 6e 6f 74  |...note5$(A)=not|
00001500  65 35 24 28 41 2b 31 29  0d 08 8e 19 6e 6f 74 65  |e5$(A+1)....note|
00001510  36 24 28 41 29 3d 6e 6f  74 65 36 24 28 41 2b 31  |6$(A)=note6$(A+1|
00001520  29 0d 08 98 19 6e 6f 74  65 37 24 28 41 29 3d 6e  |)....note7$(A)=n|
00001530  6f 74 65 37 24 28 41 2b  31 29 0d 08 a2 07 ed 20  |ote7$(A+1)..... |
00001540  41 0d 08 ac 12 6e 61 6d  65 24 28 70 74 6f 74 29  |A....name$(ptot)|
00001550  3d 22 22 0d 08 b6 13 6e  6f 74 65 31 24 28 70 74  |=""....note1$(pt|
00001560  6f 74 29 3d 22 22 0d 08  c0 13 6e 6f 74 65 32 24  |ot)=""....note2$|
00001570  28 70 74 6f 74 29 3d 22  22 0d 08 ca 13 6e 6f 74  |(ptot)=""....not|
00001580  65 33 24 28 70 74 6f 74  29 3d 22 22 0d 08 d4 13  |e3$(ptot)=""....|
00001590  6e 6f 74 65 34 24 28 70  74 6f 74 29 3d 22 22 0d  |note4$(ptot)="".|
000015a0  08 de 13 6e 6f 74 65 35  24 28 70 74 6f 74 29 3d  |...note5$(ptot)=|
000015b0  22 22 0d 08 e8 13 6e 6f  74 65 36 24 28 70 74 6f  |""....note6$(pto|
000015c0  74 29 3d 22 22 0d 08 f2  13 6e 6f 74 65 37 24 28  |t)=""....note7$(|
000015d0  70 74 6f 74 29 3d 22 22  0d 08 fc 0b 70 74 6f 74  |ptot)=""....ptot|
000015e0  2d 3d 31 0d 09 06 0f f2  75 70 64 61 74 65 6d 61  |-=1.....updatema|
000015f0  69 6e 0d 09 10 25 f2 57  69 6d 70 5f 49 63 6f 6e  |in...%.Wimp_Icon|
00001600  55 70 64 61 74 65 28 6d  61 69 6e 5f 57 69 6e 64  |Update(main_Wind|
00001610  6f 77 25 2c 31 36 29 0d  09 1a 05 cd 0d 09 24 05  |ow%,16).......$.|
00001620  cd 0d 09 2e 04 0d 09 38  18 e7 20 69 63 6f 6e 25  |.......8.. icon%|
00001630  3d 31 33 20 80 20 63 75  72 3e 30 20 8c 0d 09 42  |=13 . cur>0 ...B|
00001640  0e f2 69 6e 70 75 74 6d  61 69 6e 0d 09 4c 0a 63  |..inputmain..L.c|
00001650  75 72 2d 3d 31 0d 09 56  0f f2 75 70 64 61 74 65  |ur-=1..V..update|
00001660  6d 61 69 6e 0d 09 60 25  f2 57 69 6d 70 5f 49 63  |main..`%.Wimp_Ic|
00001670  6f 6e 55 70 64 61 74 65  28 6d 61 69 6e 5f 57 69  |onUpdate(main_Wi|
00001680  6e 64 6f 77 25 2c 31 36  29 0d 09 6a 05 cd 0d 09  |ndow%,16)..j....|
00001690  74 1b e7 20 69 63 6f 6e  25 3d 31 34 20 80 20 63  |t.. icon%=14 . c|
000016a0  75 72 3c 70 74 6f 74 20  8c 0d 09 7e 0e f2 69 6e  |ur<ptot ...~..in|
000016b0  70 75 74 6d 61 69 6e 0d  09 88 0c 63 75 72 3d 70  |putmain....cur=p|
000016c0  74 6f 74 0d 09 92 0f f2  75 70 64 61 74 65 6d 61  |tot.....updatema|
000016d0  69 6e 0d 09 9c 25 f2 57  69 6d 70 5f 49 63 6f 6e  |in...%.Wimp_Icon|
000016e0  55 70 64 61 74 65 28 6d  61 69 6e 5f 57 69 6e 64  |Update(main_Wind|
000016f0  6f 77 25 2c 31 36 29 0d  09 a6 05 cd 0d 09 b0 18  |ow%,16).........|
00001700  e7 20 69 63 6f 6e 25 3d  31 35 20 80 20 63 75 72  |. icon%=15 . cur|
00001710  3e 30 20 8c 0d 09 ba 0e  f2 69 6e 70 75 74 6d 61  |>0 ......inputma|
00001720  69 6e 0d 09 c4 09 63 75  72 3d 30 0d 09 ce 0f f2  |in....cur=0.....|
00001730  75 70 64 61 74 65 6d 61  69 6e 0d 09 d8 25 f2 57  |updatemain...%.W|
00001740  69 6d 70 5f 49 63 6f 6e  55 70 64 61 74 65 28 6d  |imp_IconUpdate(m|
00001750  61 69 6e 5f 57 69 6e 64  6f 77 25 2c 31 36 29 0d  |ain_Window%,16).|
00001760  09 e2 05 cd 0d 09 ec 04  0d 09 f6 04 0d 0a 00 10  |................|
00001770  e7 20 69 63 6f 6e 25 3d  31 37 20 8c 0d 0a 0a 0d  |. icon%=17 .....|
00001780  55 50 44 41 54 45 25 3d  b9 0d 0a 14 0e f2 69 6e  |UPDATE%=......in|
00001790  70 75 74 6d 61 69 6e 0d  0a 1e 0b 70 74 6f 74 2b  |putmain....ptot+|
000017a0  3d 31 0d 0a 28 0c 63 75  72 3d 70 74 6f 74 0d 0a  |=1..(.cur=ptot..|
000017b0  32 12 6e 61 6d 65 24 28  70 74 6f 74 29 3d 22 22  |2.name$(ptot)=""|
000017c0  0d 0a 3c 13 6e 6f 74 65  31 24 28 70 74 6f 74 29  |..<.note1$(ptot)|
000017d0  3d 22 22 0d 0a 46 13 6e  6f 74 65 32 24 28 70 74  |=""..F.note2$(pt|
000017e0  6f 74 29 3d 22 22 0d 0a  50 13 6e 6f 74 65 33 24  |ot)=""..P.note3$|
000017f0  28 70 74 6f 74 29 3d 22  22 0d 0a 5a 13 6e 6f 74  |(ptot)=""..Z.not|
00001800  65 34 24 28 70 74 6f 74  29 3d 22 22 0d 0a 64 13  |e4$(ptot)=""..d.|
00001810  6e 6f 74 65 35 24 28 70  74 6f 74 29 3d 22 22 0d  |note5$(ptot)="".|
00001820  0a 6e 13 6e 6f 74 65 36  24 28 70 74 6f 74 29 3d  |.n.note6$(ptot)=|
00001830  22 22 0d 0a 78 13 6e 6f  74 65 37 24 28 70 74 6f  |""..x.note7$(pto|
00001840  74 29 3d 22 22 0d 0a 82  0f f2 75 70 64 61 74 65  |t)="".....update|
00001850  6d 61 69 6e 0d 0a 8c 25  f2 57 69 6d 70 5f 49 63  |main...%.Wimp_Ic|
00001860  6f 6e 55 70 64 61 74 65  28 6d 61 69 6e 5f 57 69  |onUpdate(main_Wi|
00001870  6e 64 6f 77 25 2c 31 36  29 0d 0a 96 05 cd 0d 0a  |ndow%,16).......|
00001880  a0 04 0d 0a aa 10 e7 20  69 63 6f 6e 25 3d 31 38  |....... icon%=18|
00001890  20 8c 0d 0a b4 0e e7 20  70 74 6f 74 3e 30 20 8c  | ...... ptot>0 .|
000018a0  0d 0a be 0d 55 50 44 41  54 45 25 3d b9 0d 0a c8  |....UPDATE%=....|
000018b0  0e f2 69 6e 70 75 74 6d  61 69 6e 0d 0a d2 14 c8  |..inputmain.....|
000018c0  99 22 48 6f 75 72 67 6c  61 73 73 5f 4f 6e 22 0d  |."Hourglass_On".|
000018d0  0a dc 09 6e 3d 74 6f 74  0d 0a e6 12 e3 20 42 42  |...n=tot..... BB|
000018e0  25 3d 30 20 b8 20 70 74  6f 74 0d 0a f0 17 70 65  |%=0 . ptot....pe|
000018f0  72 63 3d 42 42 25 2a 28  70 74 6f 74 2f 31 30 30  |rc=BB%*(ptot/100|
00001900  29 0d 0a fa 21 c8 99 22  48 6f 75 72 67 6c 61 73  |)...!.."Hourglas|
00001910  73 5f 50 65 72 63 65 6e  74 61 67 65 22 2c 70 65  |s_Percentage",pe|
00001920  72 63 0d 0b 04 14 e3 20  41 41 25 3d 30 20 b8 20  |rc..... AA%=0 . |
00001930  70 74 6f 74 2d 31 0d 0b  0e 1f e7 20 6e 61 6d 65  |ptot-1..... name|
00001940  24 28 41 41 25 29 3e 6e  61 6d 65 24 28 41 41 25  |$(AA%)>name$(AA%|
00001950  2b 31 29 20 8c 0d 0b 18  1e c8 94 20 6e 61 6d 65  |+1) ....... name|
00001960  24 28 41 41 25 29 2c 6e  61 6d 65 24 28 41 41 25  |$(AA%),name$(AA%|
00001970  2b 31 29 0d 0b 22 20 c8  94 20 6e 6f 74 65 31 24  |+1).." .. note1$|
00001980  28 41 41 25 29 2c 6e 6f  74 65 31 24 28 41 41 25  |(AA%),note1$(AA%|
00001990  2b 31 29 0d 0b 2c 20 c8  94 20 6e 6f 74 65 32 24  |+1).., .. note2$|
000019a0  28 41 41 25 29 2c 6e 6f  74 65 32 24 28 41 41 25  |(AA%),note2$(AA%|
000019b0  2b 31 29 0d 0b 36 20 c8  94 20 6e 6f 74 65 33 24  |+1)..6 .. note3$|
000019c0  28 41 41 25 29 2c 6e 6f  74 65 33 24 28 41 41 25  |(AA%),note3$(AA%|
000019d0  2b 31 29 0d 0b 40 20 c8  94 20 6e 6f 74 65 34 24  |+1)..@ .. note4$|
000019e0  28 41 41 25 29 2c 6e 6f  74 65 34 24 28 41 41 25  |(AA%),note4$(AA%|
000019f0  2b 31 29 0d 0b 4a 20 c8  94 20 6e 6f 74 65 35 24  |+1)..J .. note5$|
00001a00  28 41 41 25 29 2c 6e 6f  74 65 35 24 28 41 41 25  |(AA%),note5$(AA%|
00001a10  2b 31 29 0d 0b 54 20 c8  94 20 6e 6f 74 65 36 24  |+1)..T .. note6$|
00001a20  28 41 41 25 29 2c 6e 6f  74 65 36 24 28 41 41 25  |(AA%),note6$(AA%|
00001a30  2b 31 29 0d 0b 5e 20 c8  94 20 6e 6f 74 65 37 24  |+1)..^ .. note7$|
00001a40  28 41 41 25 29 2c 6e 6f  74 65 37 24 28 41 41 25  |(AA%),note7$(AA%|
00001a50  2b 31 29 0d 0b 68 05 cd  0d 0b 72 09 ed 20 41 41  |+1)..h....r.. AA|
00001a60  25 0d 0b 7c 09 ed 20 42  42 25 0d 0b 86 0f f2 75  |%..|.. BB%.....u|
00001a70  70 64 61 74 65 6d 61 69  6e 0d 0b 90 0e f2 69 6e  |pdatemain.....in|
00001a80  70 75 74 6d 61 69 6e 0d  0b 9a 17 c8 99 22 48 6f  |putmain......"Ho|
00001a90  75 72 67 6c 61 73 73 5f  53 6d 61 73 68 22 0d 0b  |urglass_Smash"..|
00001aa0  a4 05 cd 0d 0b ae 05 cd  0d 0b b8 04 0d 0b c2 19  |................|
00001ab0  e7 20 69 63 6f 6e 25 3d  31 39 20 80 20 70 74 6f  |. icon%=19 . pto|
00001ac0  74 3e 30 20 8c 0d 0b cc  2a f2 57 69 6d 70 5f 57  |t>0 ....*.Wimp_W|
00001ad0  69 6e 64 6f 77 42 72 69  6e 67 54 6f 54 6f 70 28  |indowBringToTop(|
00001ae0  73 65 61 72 63 68 5f 57  69 6e 64 6f 77 25 29 0d  |search_Window%).|
00001af0  0b d6 05 cd 0d 0b e0 04  0d 0b ea 19 e7 20 69 63  |............. ic|
00001b00  6f 6e 25 3d 32 30 20 80  20 70 74 6f 74 3e 30 20  |on%=20 . ptot>0 |
00001b10  8c 0d 0b f4 19 78 25 3d  77 69 6d 70 25 21 30 3a  |.....x%=wimp%!0:|
00001b20  79 25 3d 77 69 6d 70 25  21 34 0d 0b fe 30 f2 57  |y%=wimp%!4...0.W|
00001b30  69 6d 70 5f 4d 65 6e 75  50 6f 70 55 70 28 70 72  |imp_MenuPopUp(pr|
00001b40  69 6e 74 5f 57 69 6e 64  6f 77 25 2c 78 25 2d 31  |int_Window%,x%-1|
00001b50  35 30 2c 79 25 2b 31 30  30 29 0d 0c 08 05 cd 0d  |50,y%+100)......|
00001b60  0c 12 04 0d 0c 1c 0e 20  20 20 20 20 20 20 20 20  |.......         |
00001b70  e1 0d 0c 26 0c 20 20 20  20 20 20 20 3a 0d 0c 30  |...&.       :..0|
00001b80  30 20 20 20 20 20 20 20  dd 20 f2 45 76 65 6e 74  |0       . .Event|
00001b90  5f 4b 65 79 50 72 65 73  73 28 77 69 6e 64 6f 77  |_KeyPress(window|
00001ba0  25 2c 69 63 6f 6e 25 2c  6b 65 79 25 29 0d 0c 3a  |%,icon%,key%)..:|
00001bb0  1a 20 20 20 20 20 20 20  20 20 20 c8 8e 20 77 69  |.          .. wi|
00001bc0  6e 64 6f 77 25 20 ca 0d  0c 44 45 20 20 20 20 20  |ndow% ...DE     |
00001bd0  20 20 20 20 20 20 c9 20  6d 61 69 6e 5f 57 69 6e  |      . main_Win|
00001be0  64 6f 77 25 20 20 20 20  20 20 20 3a 20 f2 55 73  |dow%       : .Us|
00001bf0  65 72 5f 4b 65 79 50 72  65 73 73 6d 61 69 6e 28  |er_KeyPressmain(|
00001c00  20 69 63 6f 6e 25 2c 6b  65 79 25 29 0d 0c 4e 0f  | icon%,key%)..N.|
00001c10  20 20 20 20 20 20 20 20  20 20 cb 0d 0c 58 0c 20  |          ...X. |
00001c20  20 20 20 20 20 20 e1 0d  0c 62 0e 20 20 20 20 20  |      ...b.     |
00001c30  20 20 20 20 3a 0d 0c 6c  2e 20 20 20 20 20 20 20  |    :..l.       |
00001c40  20 20 dd 20 f2 55 73 65  72 5f 4b 65 79 50 72 65  |  . .User_KeyPre|
00001c50  73 73 6d 61 69 6e 28 20  69 63 6f 6e 25 2c 6b 65  |ssmain( icon%,ke|
00001c60  79 25 29 0d 0c 76 51 f4  20 20 20 20 20 20 50 52  |y%)..vQ.      PR|
00001c70  4f 43 57 69 6d 70 5f 57  69 6e 64 6f 77 41 6c 65  |OCWimp_WindowAle|
00001c80  72 74 28 22 6d 61 69 6e  22 2c 22 4b 65 79 20 70  |rt("main","Key p|
00001c90  72 65 73 73 65 64 3d 22  2b 53 54 52 24 6b 65 79  |ressed="+STR$key|
00001ca0  25 2b 22 69 63 6f 6e 3d  22 2b 53 54 52 24 69 63  |%+"icon="+STR$ic|
00001cb0  6f 6e 25 29 0d 0c 80 30  e7 20 6b 65 79 25 3d 31  |on%)...0. key%=1|
00001cc0  33 20 80 20 69 63 6f 6e  25 3c 31 30 20 84 20 6b  |3 . icon%<10 . k|
00001cd0  65 79 25 3d 33 39 38 20  80 20 69 63 6f 6e 25 3c  |ey%=398 . icon%<|
00001ce0  31 30 20 8c 0d 0c 8a 2e  61 25 3d a9 28 a4 57 69  |10 .....a%=.(.Wi|
00001cf0  6d 70 5f 49 63 6f 6e 54  65 78 74 28 6d 61 69 6e  |mp_IconText(main|
00001d00  5f 57 69 6e 64 6f 77 25  2c 69 63 6f 6e 25 2b 31  |_Window%,icon%+1|
00001d10  29 29 0d 0c 94 2c f2 57  69 6d 70 5f 49 63 6f 6e  |))...,.Wimp_Icon|
00001d20  43 61 72 65 74 28 6d 61  69 6e 5f 57 69 6e 64 6f  |Caret(main_Windo|
00001d30  77 25 2c 69 63 6f 6e 25  2b 31 2c 61 25 29 0d 0c  |w%,icon%+1,a%)..|
00001d40  9e 05 cd 0d 0c a8 30 e7  20 6b 65 79 25 3d 31 33  |......0. key%=13|
00001d50  20 80 20 69 63 6f 6e 25  3d 31 30 20 84 20 6b 65  | . icon%=10 . ke|
00001d60  79 25 3d 33 39 38 20 80  20 69 63 6f 6e 25 3d 31  |y%=398 . icon%=1|
00001d70  30 20 8c 0d 0c b2 28 61  25 3d a9 28 a4 57 69 6d  |0 ....(a%=.(.Wim|
00001d80  70 5f 49 63 6f 6e 54 65  78 74 28 6d 61 69 6e 5f  |p_IconText(main_|
00001d90  57 69 6e 64 6f 77 25 2c  33 29 29 0d 0c bc 26 f2  |Window%,3))...&.|
00001da0  57 69 6d 70 5f 49 63 6f  6e 43 61 72 65 74 28 6d  |Wimp_IconCaret(m|
00001db0  61 69 6e 5f 57 69 6e 64  6f 77 25 2c 33 2c 61 25  |ain_Window%,3,a%|
00001dc0  29 0d 0c c6 05 cd 0d 0c  d0 1a e7 20 6b 65 79 25  |).......... key%|
00001dd0  3d 33 39 39 20 80 20 69  63 6f 6e 25 3e 33 20 8c  |=399 . icon%>3 .|
00001de0  0d 0c da 2e 61 25 3d a9  28 a4 57 69 6d 70 5f 49  |....a%=.(.Wimp_I|
00001df0  63 6f 6e 54 65 78 74 28  6d 61 69 6e 5f 57 69 6e  |conText(main_Win|
00001e00  64 6f 77 25 2c 69 63 6f  6e 25 2d 31 29 29 0d 0c  |dow%,icon%-1))..|
00001e10  e4 2c f2 57 69 6d 70 5f  49 63 6f 6e 43 61 72 65  |.,.Wimp_IconCare|
00001e20  74 28 6d 61 69 6e 5f 57  69 6e 64 6f 77 25 2c 69  |t(main_Window%,i|
00001e30  63 6f 6e 25 2d 31 2c 61  25 29 0d 0c ee 05 cd 0d  |con%-1,a%)......|
00001e40  0c f8 1a e7 20 6b 65 79  25 3d 33 39 39 20 80 20  |.... key%=399 . |
00001e50  69 63 6f 6e 25 3d 33 20  8c 0d 0d 02 29 61 25 3d  |icon%=3 ....)a%=|
00001e60  a9 28 a4 57 69 6d 70 5f  49 63 6f 6e 54 65 78 74  |.(.Wimp_IconText|
00001e70  28 6d 61 69 6e 5f 57 69  6e 64 6f 77 25 2c 31 30  |(main_Window%,10|
00001e80  29 29 0d 0d 0c 27 f2 57  69 6d 70 5f 49 63 6f 6e  |))...'.Wimp_Icon|
00001e90  43 61 72 65 74 28 6d 61  69 6e 5f 57 69 6e 64 6f  |Caret(main_Windo|
00001ea0  77 25 2c 31 30 2c 61 25  29 0d 0d 16 05 cd 0d 0d  |w%,10,a%).......|
00001eb0  20 0e 20 20 20 20 20 20  20 20 20 e1 0d 0d 2a 0c  | .         ...*.|
00001ec0  20 20 20 20 20 20 20 3a  0d 0d 34 25 20 20 20 20  |       :..4%    |
00001ed0  20 20 20 dd 20 f2 45 76  65 6e 74 5f 4d 65 6e 75  |   . .Event_Menu|
00001ee0  43 68 6f 69 63 65 28 6d  65 6e 75 25 29 0d 0d 3e  |Choice(menu%)..>|
00001ef0  16 20 20 20 20 20 20 20  20 c8 8e 20 6d 65 6e 75  |.        .. menu|
00001f00  25 20 ca 0d 0d 48 3c 20  20 20 20 20 20 20 20 20  |% ...H<         |
00001f10  20 20 20 20 20 c9 20 42  61 72 5f 4d 65 6e 75 25  |     . Bar_Menu%|
00001f20  20 20 20 20 20 20 20 20  20 20 3a 20 f2 55 73 65  |          : .Use|
00001f30  72 5f 4d 65 6e 75 43 68  6f 69 63 65 42 61 72 0d  |r_MenuChoiceBar.|
00001f40  0d 52 3d 20 20 20 20 20  20 20 20 20 20 20 20 20  |.R=             |
00001f50  20 c9 20 6d 61 69 6e 5f  4d 65 6e 75 25 20 20 20  | . main_Menu%   |
00001f60  20 20 20 20 20 20 3a 20  f2 55 73 65 72 5f 4d 65  |      : .User_Me|
00001f70  6e 75 43 68 6f 69 63 65  6d 61 69 6e 0d 0d 5c 0d  |nuChoicemain..\.|
00001f80  20 20 20 20 20 20 20 20  cb 0d 0d 66 0c 20 20 20  |        ...f.   |
00001f90  20 20 20 20 e1 0d 0d 70  0c 20 20 20 20 20 20 20  |    ...p.       |
00001fa0  3a 0d 0d 7a 20 20 20 20  20 20 20 20 dd 20 f2 55  |:..z        . .U|
00001fb0  73 65 72 5f 4d 65 6e 75  43 68 6f 69 63 65 42 61  |ser_MenuChoiceBa|
00001fc0  72 0d 0d 84 0d e7 20 53  41 25 3d a3 20 8c 0d 0d  |r..... SA%=. ...|
00001fd0  8e 24 20 20 20 20 20 20  20 20 c8 8e 20 a4 57 69  |.$        .. .Wi|
00001fe0  6d 70 5f 4d 65 6e 75 43  68 6f 69 63 65 28 30 29  |mp_MenuChoice(0)|
00001ff0  20 ca 0d 0d 98 12 20 20  20 20 20 20 20 20 20 c9  | .....         .|
00002000  20 31 20 3a 0d 0d a2 10  20 20 20 20 20 20 20 20  | 1 :....        |
00002010  20 c9 20 32 0d 0d ac 11  e7 20 55 50 44 41 54 45  | . 2..... UPDATE|
00002020  25 3d b9 20 8c 0d 0d b6  44 f2 57 69 6d 70 5f 49  |%=. ....D.Wimp_I|
00002030  63 6f 6e 50 75 74 54 65  78 74 28 43 6c 6f 73 65  |conPutText(Close|
00002040  5f 57 69 6e 64 6f 77 25  2c 30 2c 22 54 68 69 73  |_Window%,0,"This|
00002050  20 66 69 6c 65 20 68 61  73 20 62 65 65 6e 20 6d  | file has been m|
00002060  6f 64 69 66 69 65 64 22  29 0d 0d c0 29 f2 57 69  |odified")...).Wi|
00002070  6d 70 5f 57 69 6e 64 6f  77 42 72 69 6e 67 54 6f  |mp_WindowBringTo|
00002080  54 6f 70 28 43 6c 6f 73  65 5f 57 69 6e 64 6f 77  |Top(Close_Window|
00002090  25 29 0d 0d ca 1c f2 6d  6f 75 73 65 62 6f 78 28  |%).....mousebox(|
000020a0  43 6c 6f 73 65 5f 57 69  6e 64 6f 77 25 29 0d 0d  |Close_Window%)..|
000020b0  d4 05 cd 0d 0d de 1d e7  20 55 50 44 41 54 45 25  |........ UPDATE%|
000020c0  3d a3 20 8c 20 66 69 6e  69 73 68 65 64 25 3d b9  |=. . finished%=.|
000020d0  0d 0d e8 0d 20 20 20 20  20 20 20 20 cb 0d 0d f2  |....        ....|
000020e0  0c 20 20 20 20 20 20 20  e1 0d 0d fc 0c 20 20 20  |.       .....   |
000020f0  20 20 20 20 3a 0d 0e 06  21 20 20 20 20 20 20 20  |    :...!       |
00002100  dd 20 f2 55 73 65 72 5f  4d 65 6e 75 43 68 6f 69  |. .User_MenuChoi|
00002110  63 65 6d 61 69 6e 0d 0e  10 24 20 20 20 20 20 20  |cemain...$      |
00002120  20 20 c8 8e 20 a4 57 69  6d 70 5f 4d 65 6e 75 43  |  .. .Wimp_MenuC|
00002130  68 6f 69 63 65 28 30 29  20 ca 0d 0e 1a 12 20 20  |hoice(0) .....  |
00002140  20 20 20 20 20 20 20 c9  20 31 20 3a 0d 0e 24 0d  |       . 1 :..$.|
00002150  20 20 20 20 20 20 20 20  cb 0d 0e 2e 0c 20 20 20  |        .....   |
00002160  20 20 20 20 e1 0d 0e 38  0c 20 20 20 20 20 20 20  |    ...8.       |
00002170  3a 0d 0e 42 29 20 20 20  20 20 20 20 dd 20 f2 45  |:..B)       . .E|
00002180  76 65 6e 74 5f 4c 6f 61  64 46 69 6c 65 28 66 69  |vent_LoadFile(fi|
00002190  6c 65 24 2c 74 79 70 65  24 29 0d 0e 4c 17 20 20  |le$,type$)..L.  |
000021a0  20 20 20 20 20 20 20 c8  8e 20 74 79 70 65 24 20  |       .. type$ |
000021b0  ca 0d 0e 56 18 20 20 20  20 20 20 20 20 20 20 20  |...V.           |
000021c0  c9 20 22 43 68 65 61 74  22 0d 0e 60 2b f2 57 69  |. "Cheat"..`+.Wi|
000021d0  6d 70 5f 49 63 6f 6e 50  75 74 54 65 78 74 28 53  |mp_IconPutText(S|
000021e0  61 76 65 5f 57 69 6e 64  6f 77 25 2c 31 2c 66 69  |ave_Window%,1,fi|
000021f0  6c 65 24 29 0d 0e 6a 0f  58 25 3d 8e 28 66 69 6c  |le$)..j.X%=.(fil|
00002200  65 24 29 0d 0e 74 0e e8  20 23 58 25 2c 70 74 6f  |e$)..t.. #X%,pto|
00002210  74 0d 0e 7e 10 e3 20 41  3d 30 20 b8 20 70 74 6f  |t..~.. A=0 . pto|
00002220  74 0d 0e 88 12 e8 20 23  58 25 2c 6e 61 6d 65 24  |t..... #X%,name$|
00002230  28 41 29 0d 0e 92 13 e8  20 23 58 25 2c 6e 6f 74  |(A)..... #X%,not|
00002240  65 31 24 28 41 29 0d 0e  9c 13 e8 20 23 58 25 2c  |e1$(A)..... #X%,|
00002250  6e 6f 74 65 32 24 28 41  29 0d 0e a6 13 e8 20 23  |note2$(A)..... #|
00002260  58 25 2c 6e 6f 74 65 33  24 28 41 29 0d 0e b0 13  |X%,note3$(A)....|
00002270  e8 20 23 58 25 2c 6e 6f  74 65 34 24 28 41 29 0d  |. #X%,note4$(A).|
00002280  0e ba 13 e8 20 23 58 25  2c 6e 6f 74 65 35 24 28  |.... #X%,note5$(|
00002290  41 29 0d 0e c4 13 e8 20  23 58 25 2c 6e 6f 74 65  |A)..... #X%,note|
000022a0  36 24 28 41 29 0d 0e ce  13 e8 20 23 58 25 2c 6e  |6$(A)..... #X%,n|
000022b0  6f 74 65 37 24 28 41 29  0d 0e d8 07 ed 20 41 0d  |ote7$(A)..... A.|
000022c0  0e e2 09 d9 20 23 58 25  0d 0e ec 09 63 75 72 3d  |.... #X%....cur=|
000022d0  30 0d 0e f6 28 f2 57 69  6d 70 5f 57 69 6e 64 6f  |0...(.Wimp_Windo|
000022e0  77 42 72 69 6e 67 54 6f  54 6f 70 28 6d 61 69 6e  |wBringToTop(main|
000022f0  5f 57 69 6e 64 6f 77 25  29 0d 0f 00 0f f2 75 70  |_Window%).....up|
00002300  64 61 74 65 6d 61 69 6e  0d 0f 0a 25 f2 57 69 6d  |datemain...%.Wim|
00002310  70 5f 49 63 6f 6e 55 70  64 61 74 65 28 6d 61 69  |p_IconUpdate(mai|
00002320  6e 5f 57 69 6e 64 6f 77  25 2c 31 36 29 0d 0f 14  |n_Window%,16)...|
00002330  0e 20 20 20 20 20 20 20  20 20 cb 0d 0f 1e 0c 20  |.         ..... |
00002340  20 20 20 20 20 20 e1 0d  0f 28 0e 20 20 20 20 20  |      ...(.     |
00002350  20 20 20 20 3a 0d 0f 32  2c 20 20 20 20 20 20 20  |    :..2,       |
00002360  20 20 dd 20 f2 55 73 65  72 5f 4c 6f 61 64 46 69  |  . .User_LoadFi|
00002370  6c 65 54 65 6d 70 6c 61  74 65 28 66 69 6c 65 24  |leTemplate(file$|
00002380  29 0d 0f 3c 41 20 20 20  20 20 20 20 20 20 20 20  |)..<A           |
00002390  f2 57 69 6d 70 5f 57 69  6e 64 6f 77 41 6c 65 72  |.Wimp_WindowAler|
000023a0  74 28 22 21 43 68 65 61  74 73 22 2c 22 4c 6f 61  |t("!Cheats","Loa|
000023b0  64 69 6e 67 20 66 69 6c  65 20 22 2b 66 69 6c 65  |ding file "+file|
000023c0  24 29 0d 0f 46 0e 20 20  20 20 20 20 20 20 20 e1  |$)..F.         .|
000023d0  0d 0f 50 0c 20 20 20 20  20 20 20 3a 0d 0f 5a 2b  |..P.       :..Z+|
000023e0  20 20 20 20 20 20 20 dd  20 f2 45 76 65 6e 74 5f  |       . .Event_|
000023f0  53 61 76 65 46 69 6c 65  28 66 69 6c 65 24 2c 77  |SaveFile(file$,w|
00002400  69 6e 64 6f 77 25 29 0d  0f 64 19 20 20 20 20 20  |indow%)..d.     |
00002410  20 20 20 20 c8 8e 20 77  69 6e 64 6f 77 25 20 ca  |    .. window% .|
00002420  0d 0f 6e 1d 20 20 20 20  20 20 20 20 20 20 20 c9  |..n.           .|
00002430  20 53 61 76 65 5f 57 69  6e 64 6f 77 25 0d 0f 78  | Save_Window%..x|
00002440  07 ea 20 85 0d 0f 82 10  ee 20 85 20 ea 20 f2 65  |.. ...... . . .e|
00002450  72 72 6f 72 0d 0f 8c 0e  f2 69 6e 70 75 74 6d 61  |rror.....inputma|
00002460  69 6e 0d 0f 96 0f 58 25  3d ae 28 66 69 6c 65 24  |in....X%=.(file$|
00002470  29 0d 0f a0 0e f1 20 23  58 25 2c 70 74 6f 74 0d  |)..... #X%,ptot.|
00002480  0f aa 10 e3 20 41 3d 30  20 b8 20 70 74 6f 74 0d  |.... A=0 . ptot.|
00002490  0f b4 12 f1 20 23 58 25  2c 6e 61 6d 65 24 28 41  |.... #X%,name$(A|
000024a0  29 0d 0f be 13 f1 20 23  58 25 2c 6e 6f 74 65 31  |)..... #X%,note1|
000024b0  24 28 41 29 0d 0f c8 13  f1 20 23 58 25 2c 6e 6f  |$(A)..... #X%,no|
000024c0  74 65 32 24 28 41 29 0d  0f d2 13 f1 20 23 58 25  |te2$(A)..... #X%|
000024d0  2c 6e 6f 74 65 33 24 28  41 29 0d 0f dc 13 f1 20  |,note3$(A)..... |
000024e0  23 58 25 2c 6e 6f 74 65  34 24 28 41 29 0d 0f e6  |#X%,note4$(A)...|
000024f0  13 f1 20 23 58 25 2c 6e  6f 74 65 35 24 28 41 29  |.. #X%,note5$(A)|
00002500  0d 0f f0 13 f1 20 23 58  25 2c 6e 6f 74 65 36 24  |..... #X%,note6$|
00002510  28 41 29 0d 0f fa 13 f1  20 23 58 25 2c 6e 6f 74  |(A)..... #X%,not|
00002520  65 37 24 28 41 29 0d 10  04 07 ed 20 41 0d 10 0e  |e7$(A)..... A...|
00002530  09 d9 20 23 58 25 0d 10  18 1e ff 28 22 53 45 54  |.. #X%.....("SET|
00002540  54 59 50 45 20 22 2b 66  69 6c 65 24 2b 22 20 42  |TYPE "+file$+" B|
00002550  42 44 22 29 0d 10 22 13  f2 57 69 6d 70 5f 4d 65  |BD").."..Wimp_Me|
00002560  6e 75 43 6c 6f 73 65 0d  10 2c 0d 55 50 44 41 54  |nuClose..,.UPDAT|
00002570  45 25 3d a3 0d 10 36 1c  20 20 20 20 20 20 20 20  |E%=...6.        |
00002580  20 c9 20 53 61 76 65 32  5f 57 69 6e 64 6f 77 25  | . Save2_Window%|
00002590  0d 10 40 07 ea 20 85 0d  10 4a 10 ee 20 85 20 ea  |..@.. ...J.. . .|
000025a0  20 f2 65 72 72 6f 72 0d  10 54 0e f2 69 6e 70 75  | .error..T..inpu|
000025b0  74 6d 61 69 6e 0d 10 5e  07 ef 32 31 0d 10 68 15  |tmain..^..21..h.|
000025c0  ff 28 22 53 50 4f 4f 4c  20 22 2b 66 69 6c 65 24  |.("SPOOL "+file$|
000025d0  29 0d 10 72 10 e3 20 41  3d 30 20 b8 20 70 74 6f  |)..r.. A=0 . pto|
000025e0  74 0d 10 7c 15 f1 20 6e  61 6d 65 24 28 41 29 2b  |t..|.. name$(A)+|
000025f0  bd 28 31 30 29 3b 0d 10  86 28 e7 20 6e 6f 74 65  |.(10);...(. note|
00002600  31 24 28 41 29 3c 3e 22  22 20 8c 20 f1 20 6e 6f  |1$(A)<>"" . . no|
00002610  74 65 31 24 28 41 29 2b  bd 28 31 30 29 3b 0d 10  |te1$(A)+.(10);..|
00002620  90 28 e7 20 6e 6f 74 65  32 24 28 41 29 3c 3e 22  |.(. note2$(A)<>"|
00002630  22 20 8c 20 f1 20 6e 6f  74 65 32 24 28 41 29 2b  |" . . note2$(A)+|
00002640  bd 28 31 30 29 3b 0d 10  9a 28 e7 20 6e 6f 74 65  |.(10);...(. note|
00002650  33 24 28 41 29 3c 3e 22  22 20 8c 20 f1 20 6e 6f  |3$(A)<>"" . . no|
00002660  74 65 33 24 28 41 29 2b  bd 28 31 30 29 3b 0d 10  |te3$(A)+.(10);..|
00002670  a4 28 e7 20 6e 6f 74 65  34 24 28 41 29 3c 3e 22  |.(. note4$(A)<>"|
00002680  22 20 8c 20 f1 20 6e 6f  74 65 34 24 28 41 29 2b  |" . . note4$(A)+|
00002690  bd 28 31 30 29 3b 0d 10  ae 28 e7 20 6e 6f 74 65  |.(10);...(. note|
000026a0  35 24 28 41 29 3c 3e 22  22 20 8c 20 f1 20 6e 6f  |5$(A)<>"" . . no|
000026b0  74 65 35 24 28 41 29 2b  bd 28 31 30 29 3b 0d 10  |te5$(A)+.(10);..|
000026c0  b8 28 e7 20 6e 6f 74 65  36 24 28 41 29 3c 3e 22  |.(. note6$(A)<>"|
000026d0  22 20 8c 20 f1 20 6e 6f  74 65 36 24 28 41 29 2b  |" . . note6$(A)+|
000026e0  bd 28 31 30 29 3b 0d 10  c2 28 e7 20 6e 6f 74 65  |.(10);...(. note|
000026f0  37 24 28 41 29 3c 3e 22  22 20 8c 20 f1 20 6e 6f  |7$(A)<>"" . . no|
00002700  74 65 37 24 28 41 29 2b  bd 28 31 30 29 3b 0d 10  |te7$(A)+.(10);..|
00002710  cc 0c f1 20 bd 28 31 30  29 3b 0d 10 d6 07 ed 20  |... .(10);..... |
00002720  41 0d 10 e0 0e ff 28 22  53 50 4f 4f 4c 22 29 0d  |A.....("SPOOL").|
00002730  10 ea 1e ff 28 22 53 45  54 54 59 50 45 20 22 2b  |....("SETTYPE "+|
00002740  66 69 6c 65 24 2b 22 20  46 46 46 22 29 0d 10 f4  |file$+" FFF")...|
00002750  06 ef 36 0d 10 fe 13 f2  57 69 6d 70 5f 4d 65 6e  |..6.....Wimp_Men|
00002760  75 43 6c 6f 73 65 0d 11  08 1c e7 20 66 69 6c 65  |uClose..... file|
00002770  24 3d 22 3c 57 69 6d 70  24 53 63 72 61 70 3e 22  |$="<Wimp$Scrap>"|
00002780  20 8c 0d 11 12 1b f2 57  69 6d 70 5f 53 65 6e 64  | ......Wimp_Send|
00002790  54 6f 45 64 69 74 28 66  69 6c 65 24 29 0d 11 1c  |ToEdit(file$)...|
000027a0  2b f2 57 69 6d 70 5f 49  63 6f 6e 50 75 74 54 65  |+.Wimp_IconPutTe|
000027b0  78 74 28 53 61 76 65 32  5f 57 69 6e 64 6f 77 25  |xt(Save2_Window%|
000027c0  2c 31 2c 41 43 45 24 29  0d 11 26 05 cd 0d 11 30  |,1,ACE$)..&....0|
000027d0  0e 20 20 20 20 20 20 20  20 20 cb 0d 11 3a 0c 20  |.         ...:. |
000027e0  20 20 20 20 20 20 e1 0d  11 44 4f f4 20 2a 2a 2a  |      ...DO. ***|
000027f0  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |****************|
*
00002830  2a 2a 2a 2a 2a 2a 0d 11  4e 28 dd 20 f2 57 69 6d  |******..N(. .Wim|
00002840  70 5f 57 69 6e 64 6f 77  41 6c 65 72 74 28 74 69  |p_WindowAlert(ti|
00002850  74 6c 65 24 2c 6d 65 73  73 61 67 65 24 29 0d 11  |tle$,message$)..|
00002860  58 2b f2 57 69 6d 70 5f  57 69 6e 64 6f 77 41 6c  |X+.Wimp_WindowAl|
00002870  65 72 74 42 6f 78 28 74  69 74 6c 65 24 2c 6d 65  |ertBox(title$,me|
00002880  73 73 61 67 65 24 2c 30  29 0d 11 62 05 e1 0d 11  |ssage$,0)..b....|
00002890  6c 05 3a 0d 11 76 33 dd  20 f2 57 69 6d 70 5f 57  |l.:..v3. .Wimp_W|
000028a0  69 6e 64 6f 77 41 6c 65  72 74 42 6f 78 28 74 69  |indowAlertBox(ti|
000028b0  74 6c 65 24 2c 6d 65 73  73 61 67 65 24 2c 62 75  |tle$,message$,bu|
000028c0  74 74 6f 6e 25 29 0d 11  80 0f ea 20 72 65 73 70  |tton%)..... resp|
000028d0  6f 6e 73 65 25 0d 11 8a  17 24 28 77 69 6d 70 25  |onse%....$(wimp%|
000028e0  2b 34 29 3d 6d 65 73 73  61 67 65 24 0d 11 94 10  |+4)=message$....|
000028f0  c8 8e 20 62 75 74 74 6f  6e 25 20 ca 0d 11 9e 19  |.. button% .....|
00002900  20 c9 20 32 20 20 20 20  3a 20 72 65 73 70 6f 6e  | . 2    : respon|
00002910  73 65 25 3d 31 0d 11 a8  1a 20 c9 20 31 20 20 20  |se%=1.... . 1   |
00002920  20 3a 20 72 65 73 70 6f  6e 73 65 25 3d 31 35 0d  | : response%=15.|
00002930  11 b2 21 20 c9 20 33 20  20 20 20 3a 20 72 65 73  |..! . 3    : res|
00002940  70 6f 6e 73 65 25 3d 28  31 3c 3c 35 29 2b 31 36  |ponse%=(1<<5)+16|
00002950  0d 11 bc 21 20 c9 20 34  20 20 20 20 3a 20 72 65  |...! . 4    : re|
00002960  73 70 6f 6e 73 65 25 3d  28 31 3c 3c 36 29 2b 31  |sponse%=(1<<6)+1|
00002970  36 0d 11 c6 14 7f 20 3a  20 72 65 73 70 6f 6e 73  |6..... : respons|
00002980  65 25 3d 31 36 0d 11 d0  05 cb 0d 11 da 3d c8 99  |e%=16........=..|
00002990  20 22 57 69 6d 70 5f 52  65 70 6f 72 74 45 72 72  | "Wimp_ReportErr|
000029a0  6f 72 22 2c 77 69 6d 70  25 2c 72 65 73 70 6f 6e  |or",wimp%,respon|
000029b0  73 65 25 2c 74 69 74 6c  65 24 20 b8 20 2c 72 65  |se%,title$ . ,re|
000029c0  73 70 6f 6e 73 65 25 0d  11 e4 05 e1 0d 11 ee 05  |sponse%.........|
000029d0  3a 0d 11 f8 29 dd 20 a4  57 69 6d 70 5f 57 69 6e  |:...). .Wimp_Win|
000029e0  64 6f 77 43 61 6e 63 65  6c 28 74 69 74 6c 65 24  |dowCancel(title$|
000029f0  2c 6d 65 73 73 61 67 65  24 29 0d 12 02 17 24 28  |,message$)....$(|
00002a00  77 69 6d 70 25 2b 34 29  3d 6d 65 73 73 61 67 65  |wimp%+4)=message|
00002a10  24 0d 12 0c 10 72 65 73  70 6f 6e 73 65 25 3d 32  |$....response%=2|
00002a20  33 0d 12 16 3d c8 99 20  22 57 69 6d 70 5f 52 65  |3...=.. "Wimp_Re|
00002a30  70 6f 72 74 45 72 72 6f  72 22 2c 77 69 6d 70 25  |portError",wimp%|
00002a40  2c 72 65 73 70 6f 6e 73  65 25 2c 74 69 74 6c 65  |,response%,title|
00002a50  24 20 b8 20 2c 72 65 73  70 6f 6e 73 65 25 0d 12  |$ . ,response%..|
00002a60  20 10 3d 72 65 73 70 6f  6e 73 65 25 2d 32 0d 12  | .=response%-2..|
00002a70  2a 05 3a 0d 12 34 2b dd  20 f2 57 69 6d 70 5f 57  |*.:..4+. .Wimp_W|
00002a80  69 6e 64 6f 77 45 72 72  6f 72 42 6f 78 28 74 69  |indowErrorBox(ti|
00002a90  74 6c 65 24 2c 6d 65 73  73 61 67 65 24 29 0d 12  |tle$,message$)..|
00002aa0  3e 2b f2 57 69 6d 70 5f  57 69 6e 64 6f 77 41 6c  |>+.Wimp_WindowAl|
00002ab0  65 72 74 42 6f 78 28 74  69 74 6c 65 24 2c 6d 65  |ertBox(title$,me|
00002ac0  73 73 61 67 65 24 2c 32  29 0d 12 48 05 e1 0d 12  |ssage$,2)..H....|
00002ad0  52 05 3a 0d 12 5c 20 dd  20 a4 57 69 6d 70 5f 57  |R.:..\ . .Wimp_W|
00002ae0  69 6e 64 6f 77 54 69 74  6c 65 28 77 69 6e 64 6f  |indowTitle(windo|
00002af0  77 25 29 0d 12 66 13 77  69 6d 70 25 21 30 3d 77  |w%)..f.wimp%!0=w|
00002b00  69 6e 64 6f 77 25 0d 12  70 20 c8 99 20 22 57 69  |indow%..p .. "Wi|
00002b10  6d 70 5f 47 65 74 57 69  6e 64 49 6e 66 6f 22 2c  |mp_GetWindInfo",|
00002b20  2c 77 69 6d 70 25 0d 12  7a 36 e7 20 28 28 77 69  |,wimp%..z6. ((wi|
00002b30  6d 70 25 21 36 30 29 80  26 31 30 30 29 3d 30 20  |mp%!60).&100)=0 |
00002b40  85 20 31 2c 22 54 69 74  6c 65 20 69 73 6e 27 74  |. 1,"Title isn't|
00002b50  20 69 6e 64 69 72 65 63  74 65 64 22 0d 12 84 10  | indirected"....|
00002b60  3d 24 28 77 69 6d 70 25  21 37 36 29 0d 12 8e 05  |=$(wimp%!76)....|
00002b70  3a 0d 12 98 1f dd 20 a4  57 69 6d 70 5f 57 69 6e  |:..... .Wimp_Win|
00002b80  64 6f 77 4c 6f 61 64 28  77 69 6e 64 6f 77 24 29  |dowLoad(window$)|
00002b90  0d 12 a2 39 3d a4 57 69  6d 70 5f 57 69 6e 64 6f  |...9=.Wimp_Windo|
00002ba0  77 4c 6f 61 64 46 72 6f  6d 28 77 69 6e 64 6f 77  |wLoadFrom(window|
00002bb0  24 2c 22 3c 4f 62 65 79  24 44 69 72 3e 2e 54 65  |$,"<Obey$Dir>.Te|
00002bc0  6d 70 6c 61 74 65 73 22  29 0d 12 ac 05 3a 0d 12  |mplates")....:..|
00002bd0  b6 2d dd 20 a4 57 69 6d  70 5f 57 69 6e 64 6f 77  |.-. .Wimp_Window|
00002be0  4c 6f 61 64 46 72 6f 6d  28 77 69 6e 64 6f 77 24  |LoadFrom(window$|
00002bf0  2c 74 65 6d 70 6c 61 74  65 24 29 0d 12 c0 1a ea  |,template$).....|
00002c00  20 63 25 2c 69 25 2c 6e  25 2c 6a 25 2c 73 70 24  | c%,i%,n%,j%,sp$|
00002c10  2c 73 70 32 24 0d 12 ca  25 c8 99 20 22 57 69 6d  |,sp2$...%.. "Wim|
00002c20  70 5f 4f 70 65 6e 54 65  6d 70 6c 61 74 65 22 2c  |p_OpenTemplate",|
00002c30  2c 74 65 6d 70 6c 61 74  65 24 0d 12 d4 4d c8 99  |,template$...M..|
00002c40  20 22 57 69 6d 70 5f 4c  6f 61 64 54 65 6d 70 6c  | "Wimp_LoadTempl|
00002c50  61 74 65 22 2c 2c 77 69  6d 70 25 2c 69 63 6f 6e  |ate",,wimp%,icon|
00002c60  73 25 2c 69 63 6f 6e 5f  6d 65 6d 6f 72 79 25 2c  |s%,icon_memory%,|
00002c70  2d 31 2c 77 69 6e 64 6f  77 24 2c 30 20 b8 20 2c  |-1,window$,0 . ,|
00002c80  2c 69 63 6f 6e 73 25 0d  12 de 11 c8 8e 20 73 70  |,icons%...... sp|
00002c90  72 69 74 65 73 25 20 ca  0d 12 e8 1f 20 c9 20 31  |rites% ..... . 1|
00002ca0  20 20 20 20 3a 20 77 69  6d 70 25 21 36 34 3d 73  |    : wimp%!64=s|
00002cb0  70 72 69 74 65 73 25 0d  12 f2 29 20 7f 20 3a 20  |prites%...) . : |
00002cc0  77 69 6d 70 25 21 36 34  3d a4 45 76 65 6e 74 5f  |wimp%!64=.Event_|
00002cd0  53 70 72 69 74 65 73 28  77 69 6e 64 6f 77 25 29  |Sprites(window%)|
00002ce0  0d 12 fc 05 cb 0d 13 06  26 c8 99 20 22 57 69 6d  |........&.. "Wim|
00002cf0  70 5f 43 72 65 61 74 65  57 69 6e 64 6f 77 22 2c  |p_CreateWindow",|
00002d00  2c 77 69 6d 70 25 20 b8  20 63 25 0d 13 10 1b c8  |,wimp% . c%.....|
00002d10  99 20 22 57 69 6d 70 5f  43 6c 6f 73 65 54 65 6d  |. "Wimp_CloseTem|
00002d20  70 6c 61 74 65 22 0d 13  1a 37 c8 99 20 22 57 69  |plate"...7.. "Wi|
00002d30  6d 70 5f 57 68 69 63 68  49 63 6f 6e 22 2c 63 25  |mp_WhichIcon",c%|
00002d40  2c 77 69 6d 70 25 2b 34  30 2c 31 2b 32 2b 28 31  |,wimp%+40,1+2+(1|
00002d50  3c 3c 38 29 2c 32 2b 28  31 3c 3c 38 29 0d 13 24  |<<8),2+(1<<8)..$|
00002d60  11 c8 8e 20 77 69 6d 70  25 21 34 30 20 ca 0d 13  |... wimp%!40 ...|
00002d70  2e 0d 20 c9 20 2d 31 20  20 20 3a 0d 13 38 0e 20  |.. . -1   :..8. |
00002d80  7f 20 3a 20 69 25 3d 34  30 0d 13 42 06 20 f5 0d  |. : i%=40..B. ..|
00002d90  13 4c 24 20 20 20 77 69  6d 70 25 21 34 3d 77 69  |.L$   wimp%!4=wi|
00002da0  6d 70 25 21 69 25 20 3a  20 77 69 6d 70 25 21 30  |mp%!i% : wimp%!0|
00002db0  3d 63 25 0d 13 56 24 20  20 20 c8 99 20 22 57 69  |=c%..V$   .. "Wi|
00002dc0  6d 70 5f 47 65 74 49 63  6f 6e 53 74 61 74 65 22  |mp_GetIconState"|
00002dd0  2c 2c 77 69 6d 70 25 0d  13 60 2d 20 20 20 73 70  |,,wimp%..`-   sp|
00002de0  24 3d a4 57 69 6d 70 5f  47 65 74 53 74 72 69 6e  |$=.Wimp_GetStrin|
00002df0  67 41 74 41 64 64 72 65  73 73 28 77 69 6d 70 25  |gAtAddress(wimp%|
00002e00  21 32 38 29 0d 13 6a 22  20 20 20 c8 99 20 22 57  |!28)..j"   .. "W|
00002e10  69 6d 70 5f 44 65 6c 65  74 65 49 63 6f 6e 22 2c  |imp_DeleteIcon",|
00002e20  2c 77 69 6d 70 25 0d 13  74 14 20 20 20 c8 8e 20  |,wimp%..t.   .. |
00002e30  73 70 72 69 74 65 73 25  20 ca 0d 13 7e 1b 20 20  |sprites% ...~.  |
00002e40  20 20 c9 20 31 20 20 20  20 3a 20 77 69 6d 70 25  |  . 1    : wimp%|
00002e50  21 33 32 3d 31 0d 13 88  0b 20 20 20 20 7f 20 3a  |!32=1....    . :|
00002e60  0d 13 92 2f 20 20 20 20  20 c8 99 20 22 4f 53 5f  |.../     .. "OS_|
00002e70  53 70 72 69 74 65 4f 70  22 2c 26 31 30 38 2c 73  |SpriteOp",&108,s|
00002e80  70 72 69 74 65 73 25 20  b8 20 2c 2c 2c 6e 25 0d  |prites% . ,,,n%.|
00002e90  13 9c 0d 20 20 20 20 20  6a 25 3d 30 0d 13 a6 12  |...     j%=0....|
00002ea0  20 20 20 20 20 f5 20 3a  20 6a 25 2b 3d 31 0d 13  |     . : j%+=1..|
00002eb0  b0 3d 20 20 20 20 20 20  c8 99 20 22 4f 53 5f 53  |.=      .. "OS_S|
00002ec0  70 72 69 74 65 4f 70 22  2c 26 31 30 44 2c 73 70  |priteOp",&10D,sp|
00002ed0  72 69 74 65 73 25 2c 70  6f 69 6e 74 65 72 5f 62  |rites%,pointer_b|
00002ee0  6c 6f 63 6b 25 2c 32 30  2c 6a 25 0d 13 ba 37 20  |lock%,20,j%...7 |
00002ef0  20 20 20 20 20 73 70 32  24 3d a4 57 69 6d 70 5f  |     sp2$=.Wimp_|
00002f00  47 65 74 53 74 72 69 6e  67 41 74 41 64 64 72 65  |GetStringAtAddre|
00002f10  73 73 28 70 6f 69 6e 74  65 72 5f 62 6c 6f 63 6b  |ss(pointer_block|
00002f20  25 29 0d 13 c4 1b 20 20  20 20 20 fd 20 6a 25 3d  |%)....     . j%=|
00002f30  6e 25 20 84 20 73 70 24  3d 73 70 32 24 0d 13 ce  |n% . sp$=sp2$...|
00002f40  34 20 20 20 20 20 e7 20  73 70 24 3d 73 70 32 24  |4     . sp$=sp2$|
00002f50  20 8c 20 77 69 6d 70 25  21 33 32 3d 73 70 72 69  | . wimp%!32=spri|
00002f60  74 65 73 25 20 8b 20 77  69 6d 70 25 21 33 32 3d  |tes% . wimp%!32=|
00002f70  31 0d 13 d8 08 20 20 20  cb 0d 13 e2 11 20 20 20  |1....   .....   |
00002f80  77 69 6d 70 25 21 34 3d  63 25 0d 13 ec 2e 20 20  |wimp%!4=c%....  |
00002f90  20 c8 99 20 22 57 69 6d  70 5f 43 72 65 61 74 65  | .. "Wimp_Create|
00002fa0  49 63 6f 6e 22 2c 2c 77  69 6d 70 25 2b 34 20 b8  |Icon",,wimp%+4 .|
00002fb0  20 68 61 6e 64 6c 65 25  0d 13 f6 0c 20 20 20 69  | handle%....   i|
00002fc0  25 2b 3d 34 0d 14 00 14  20 fd 20 28 77 69 6d 70  |%+=4.... . (wimp|
00002fd0  25 21 69 25 29 3d 2d 31  0d 14 0a 05 cb 0d 14 14  |%!i%)=-1........|
00002fe0  07 3d 63 25 0d 14 1e 05  3a 0d 14 28 25 dd 20 f2  |.=c%....:..(%. .|
00002ff0  57 69 6d 70 5f 57 69 6e  64 6f 77 42 72 69 6e 67  |Wimp_WindowBring|
00003000  54 6f 54 6f 70 28 77 69  6e 64 6f 77 25 29 0d 14  |ToTop(window%)..|
00003010  32 12 21 77 69 6d 70 25  3d 77 69 6e 64 6f 77 25  |2.!wimp%=window%|
00003020  0d 14 3c 23 c8 99 20 22  57 69 6d 70 5f 47 65 74  |..<#.. "Wimp_Get|
00003030  57 69 6e 64 6f 77 53 74  61 74 65 22 2c 2c 77 69  |WindowState",,wi|
00003040  6d 70 25 0d 14 46 0f 77  69 6d 70 25 21 32 38 3d  |mp%..F.wimp%!28=|
00003050  2d 31 0d 14 50 1f c8 99  20 22 57 69 6d 70 5f 4f  |-1..P... "Wimp_O|
00003060  70 65 6e 57 69 6e 64 6f  77 22 2c 2c 77 69 6d 70  |penWindow",,wimp|
00003070  25 0d 14 5a 05 e1 0d 14  64 05 3a 0d 14 6e 20 dd  |%..Z....d.:..n .|
00003080  20 f2 57 69 6d 70 5f 57  69 6e 64 6f 77 43 6c 6f  | .Wimp_WindowClo|
00003090  73 65 28 77 69 6e 64 6f  77 25 29 0d 14 78 12 21  |se(window%)..x.!|
000030a0  77 69 6d 70 25 3d 77 69  6e 64 6f 77 25 0d 14 82  |wimp%=window%...|
000030b0  20 c8 99 20 22 57 69 6d  70 5f 43 6c 6f 73 65 57  | .. "Wimp_CloseW|
000030c0  69 6e 64 6f 77 22 2c 2c  77 69 6d 70 25 0d 14 8c  |indow",,wimp%...|
000030d0  05 e1 0d 14 96 05 3a 0d  14 a0 24 dd 20 f2 57 69  |......:...$. .Wi|
000030e0  6d 70 5f 57 69 6e 64 6f  77 46 6f 72 63 65 44 72  |mp_WindowForceDr|
000030f0  61 77 28 77 69 6e 64 6f  77 25 29 0d 14 aa 10 c8  |aw(window%).....|
00003100  8e 20 77 69 6e 64 6f 77  25 20 ca 0d 14 b4 38 20  |. window% ....8 |
00003110  c9 20 2d 31 20 20 20 3a  20 c8 99 20 22 57 69 6d  |. -1   : .. "Wim|
00003120  70 5f 46 6f 72 63 65 52  65 64 72 61 77 22 2c 2d  |p_ForceRedraw",-|
00003130  31 2c 30 2c 30 2c 32 2a  31 32 38 30 2c 32 2a 31  |1,0,0,2*1280,2*1|
00003140  30 32 34 0d 14 be 39 20  7f 20 3a 20 c8 99 20 22  |024...9 . : .. "|
00003150  57 69 6d 70 5f 46 6f 72  63 65 52 65 64 72 61 77  |Wimp_ForceRedraw|
00003160  22 2c 77 69 6e 64 6f 77  25 2c 30 2c 2d 32 2a 31  |",window%,0,-2*1|
00003170  30 32 34 2c 32 2a 31 32  38 30 2c 30 0d 14 c8 05  |024,2*1280,0....|
00003180  cb 0d 14 d2 05 e1 0d 14  dc 05 3a 0d 14 e6 1f dd  |..........:.....|
00003190  20 f2 57 69 6d 70 5f 57  69 6e 64 6f 77 4f 70 65  | .Wimp_WindowOpe|
000031a0  6e 28 77 69 6e 64 6f 77  25 29 0d 14 f0 12 21 77  |n(window%)....!w|
000031b0  69 6d 70 25 3d 77 69 6e  64 6f 77 25 0d 14 fa 23  |imp%=window%...#|
000031c0  c8 99 20 22 57 69 6d 70  5f 47 65 74 57 69 6e 64  |.. "Wimp_GetWind|
000031d0  6f 77 53 74 61 74 65 22  2c 2c 77 69 6d 70 25 0d  |owState",,wimp%.|
000031e0  15 04 1f c8 99 20 22 57  69 6d 70 5f 4f 70 65 6e  |..... "Wimp_Open|
000031f0  57 69 6e 64 6f 77 22 2c  2c 77 69 6d 70 25 0d 15  |Window",,wimp%..|
00003200  0e 05 e1 0d 15 18 05 3a  0d 15 22 19 f2 57 69 6d  |.......:.."..Wim|
00003210  70 5f 57 69 6e 64 6f 77  49 6e 74 65 72 66 61 63  |p_WindowInterfac|
00003220  65 0d 15 2c 20 c8 99 22  57 69 6d 70 5f 42 6f 72  |e.., .."Wimp_Bor|
00003230  64 65 72 57 69 6e 64 6f  77 22 2c 2c 77 69 6d 70  |derWindow",,wimp|
00003240  25 0d 15 36 05 e1 0d 15  40 4f f4 20 2a 2a 2a 2a  |%..6....@O. ****|
00003250  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |****************|
*
00003290  2a 2a 2a 2a 2a 0d 15 4a  30 dd 20 f2 57 69 6d 70  |*****..J0. .Wimp|
000032a0  5f 53 65 74 49 63 6f 6e  53 70 72 69 74 65 28 77  |_SetIconSprite(w|
000032b0  69 6e 64 6f 77 25 2c 69  63 6f 6e 25 2c 73 70 72  |indow%,icon%,spr|
000032c0  69 74 65 24 29 0d 15 54  13 77 69 6d 70 25 21 30  |ite$)..T.wimp%!0|
000032d0  3d 77 69 6e 64 6f 77 25  0d 15 5e 11 77 69 6d 70  |=window%..^.wimp|
000032e0  25 21 34 3d 69 63 6f 6e  25 0d 15 68 21 c8 99 20  |%!4=icon%..h!.. |
000032f0  22 57 69 6d 70 5f 47 65  74 49 63 6f 6e 53 74 61  |"Wimp_GetIconSta|
00003300  74 65 22 2c 2c 77 69 6d  70 25 0d 15 72 19 24 77  |te",,wimp%..r.$w|
00003310  69 6d 70 25 21 33 32 3d  22 53 22 2b 73 70 72 69  |imp%!32="S"+spri|
00003320  74 65 24 0d 15 7c 13 77  69 6d 70 25 21 30 3d 77  |te$..|.wimp%!0=w|
00003330  69 6e 64 6f 77 25 0d 15  86 0d 77 69 6d 70 25 21  |indow%....wimp%!|
00003340  38 3d 30 0d 15 90 0e 77  69 6d 70 25 21 31 32 3d  |8=0....wimp%!12=|
00003350  30 0d 15 9a 21 c8 99 20  22 57 69 6d 70 5f 53 65  |0...!.. "Wimp_Se|
00003360  74 49 63 6f 6e 53 74 61  74 65 22 2c 2c 77 69 6d  |tIconState",,wim|
00003370  70 25 0d 15 a4 05 e1 0d  15 ae 05 3a 0d 15 b8 25  |p%.........:...%|
00003380  dd 20 f2 57 69 6d 70 5f  49 63 6f 6e 55 70 64 61  |. .Wimp_IconUpda|
00003390  74 65 28 77 69 6e 64 6f  77 25 2c 69 63 6f 6e 25  |te(window%,icon%|
000033a0  29 0d 15 c2 13 77 69 6d  70 25 21 30 3d 77 69 6e  |)....wimp%!0=win|
000033b0  64 6f 77 25 0d 15 cc 11  77 69 6d 70 25 21 34 3d  |dow%....wimp%!4=|
000033c0  69 63 6f 6e 25 0d 15 d6  0d 77 69 6d 70 25 21 38  |icon%....wimp%!8|
000033d0  3d 30 0d 15 e0 0e 77 69  6d 70 25 21 31 32 3d 30  |=0....wimp%!12=0|
000033e0  0d 15 ea 21 c8 99 20 22  57 69 6d 70 5f 53 65 74  |...!.. "Wimp_Set|
000033f0  49 63 6f 6e 53 74 61 74  65 22 2c 2c 77 69 6d 70  |IconState",,wimp|
00003400  25 0d 15 f4 05 e1 0d 15  fe 05 3a 0d 16 08 1c dd  |%.........:.....|
00003410  20 a4 57 69 6d 70 5f 49  63 6f 6e 42 61 72 28 53  | .Wimp_IconBar(S|
00003420  70 72 69 74 65 24 29 0d  16 12 0b ea 20 69 63 6f  |prite$)..... ico|
00003430  6e 25 0d 16 1c 0e 77 69  6d 70 25 21 30 3d 2d 31  |n%....wimp%!0=-1|
00003440  0d 16 26 1d 77 69 6d 70  25 21 34 3d 30 20 20 20  |..&.wimp%!4=0   |
00003450  20 20 3a 20 77 69 6d 70  25 21 38 3d 30 0d 16 30  |  : wimp%!8=0..0|
00003460  1d 77 69 6d 70 25 21 31  32 3d 36 38 20 3a 20 77  |.wimp%!12=68 : w|
00003470  69 6d 70 25 21 31 36 3d  36 38 0d 16 3a 12 77 69  |imp%!16=68..:.wi|
00003480  6d 70 25 21 32 30 3d 26  33 30 30 32 0d 16 44 17  |mp%!20=&3002..D.|
00003490  24 28 77 69 6d 70 25 2b  32 34 29 3d 53 70 72 69  |$(wimp%+24)=Spri|
000034a0  74 65 24 0d 16 4e 27 c8  99 20 22 57 69 6d 70 5f  |te$..N'.. "Wimp_|
000034b0  43 72 65 61 74 65 49 63  6f 6e 22 2c 2c 77 69 6d  |CreateIcon",,wim|
000034c0  70 25 20 b8 20 69 63 6f  6e 25 0d 16 58 0a 3d 69  |p% . icon%..X.=i|
000034d0  63 6f 6e 25 0d 16 62 05  3a 0d 16 6c 2b dd 20 f2  |con%..b.:..l+. .|
000034e0  57 69 6d 70 5f 49 63 6f  6e 43 61 72 65 74 28 77  |Wimp_IconCaret(w|
000034f0  69 6e 64 6f 77 25 2c 69  63 6f 6e 25 2c 63 68 61  |indow%,icon%,cha|
00003500  72 73 25 29 0d 16 76 38  c8 99 20 22 57 69 6d 70  |rs%)..v8.. "Wimp|
00003510  5f 53 65 74 43 61 72 65  74 50 6f 73 69 74 69 6f  |_SetCaretPositio|
00003520  6e 22 2c 77 69 6e 64 6f  77 25 2c 69 63 6f 6e 25  |n",window%,icon%|
00003530  2c 2c 2c 2d 31 2c 63 68  61 72 73 25 0d 16 80 05  |,,,-1,chars%....|
00003540  e1 0d 16 8a 05 3a 0d 16  94 23 dd 20 a4 57 69 6d  |.....:...#. .Wim|
00003550  70 5f 49 63 6f 6e 54 65  78 74 28 77 69 6e 64 6f  |p_IconText(windo|
00003560  77 25 2c 69 63 6f 6e 25  29 0d 16 9e 23 77 69 6d  |w%,icon%)...#wim|
00003570  70 25 21 30 3d 77 69 6e  64 6f 77 25 20 3a 20 77  |p%!0=window% : w|
00003580  69 6d 70 25 21 34 3d 69  63 6f 6e 25 0d 16 a8 21  |imp%!4=icon%...!|
00003590  c8 99 20 22 57 69 6d 70  5f 47 65 74 49 63 6f 6e  |.. "Wimp_GetIcon|
000035a0  53 74 61 74 65 22 2c 2c  77 69 6d 70 25 0d 16 b2  |State",,wimp%...|
000035b0  37 e7 20 28 28 77 69 6d  70 25 21 32 34 29 20 80  |7. ((wimp%!24) .|
000035c0  20 26 31 30 30 29 3d 30  20 85 20 31 2c 22 49 63  | &100)=0 . 1,"Ic|
000035d0  6f 6e 20 69 73 6e 27 74  20 69 6e 64 69 72 65 63  |on isn't indirec|
000035e0  74 65 64 22 0d 16 bc 10  3d 24 28 77 69 6d 70 25  |ted"....=$(wimp%|
000035f0  21 32 38 29 0d 16 c6 05  3a 0d 16 d0 29 dd 20 a4  |!28)....:...). .|
00003600  57 69 6d 70 5f 49 63 6f  6e 56 61 6c 69 64 61 74  |Wimp_IconValidat|
00003610  69 6f 6e 28 77 69 6e 64  6f 77 25 2c 69 63 6f 6e  |ion(window%,icon|
00003620  25 29 0d 16 da 23 77 69  6d 70 25 21 30 3d 77 69  |%)...#wimp%!0=wi|
00003630  6e 64 6f 77 25 20 3a 20  77 69 6d 70 25 21 34 3d  |ndow% : wimp%!4=|
00003640  69 63 6f 6e 25 0d 16 e4  21 c8 99 20 22 57 69 6d  |icon%...!.. "Wim|
00003650  70 5f 47 65 74 49 63 6f  6e 53 74 61 74 65 22 2c  |p_GetIconState",|
00003660  2c 77 69 6d 70 25 0d 16  ee 37 e7 20 28 28 77 69  |,wimp%...7. ((wi|
00003670  6d 70 25 21 32 34 29 20  80 20 26 31 30 30 29 3d  |mp%!24) . &100)=|
00003680  30 20 85 20 31 2c 22 49  63 6f 6e 20 69 73 6e 27  |0 . 1,"Icon isn'|
00003690  74 20 69 6e 64 69 72 65  63 74 65 64 22 0d 16 f8  |t indirected"...|
000036a0  10 3d 24 28 77 69 6d 70  25 21 33 32 29 0d 17 02  |.=$(wimp%!32)...|
000036b0  05 3a 0d 17 0c 26 dd 20  f2 57 69 6d 70 5f 49 63  |.:...&. .Wimp_Ic|
000036c0  6f 6e 44 69 73 61 62 6c  65 28 77 69 6e 64 6f 77  |onDisable(window|
000036d0  25 2c 69 63 6f 6e 25 29  0d 17 16 23 77 69 6d 70  |%,icon%)...#wimp|
000036e0  25 21 30 3d 77 69 6e 64  6f 77 25 20 3a 20 77 69  |%!0=window% : wi|
000036f0  6d 70 25 21 34 3d 69 63  6f 6e 25 0d 17 20 24 77  |mp%!4=icon%.. $w|
00003700  69 6d 70 25 21 38 3d 31  3c 3c 32 32 20 20 20 3a  |imp%!8=1<<22   :|
00003710  20 77 69 6d 70 25 21 31  32 3d 31 3c 3c 32 32 0d  | wimp%!12=1<<22.|
00003720  17 2a 21 c8 99 20 22 57  69 6d 70 5f 53 65 74 49  |.*!.. "Wimp_SetI|
00003730  63 6f 6e 53 74 61 74 65  22 2c 2c 77 69 6d 70 25  |conState",,wimp%|
00003740  0d 17 34 05 e1 0d 17 3e  05 3a 0d 17 48 25 dd 20  |..4....>.:..H%. |
00003750  f2 57 69 6d 70 5f 49 63  6f 6e 45 6e 61 62 6c 65  |.Wimp_IconEnable|
00003760  28 77 69 6e 64 6f 77 25  2c 69 63 6f 6e 25 29 0d  |(window%,icon%).|
00003770  17 52 23 77 69 6d 70 25  21 30 3d 77 69 6e 64 6f  |.R#wimp%!0=windo|
00003780  77 25 20 3a 20 77 69 6d  70 25 21 34 3d 69 63 6f  |w% : wimp%!4=ico|
00003790  6e 25 0d 17 5c 24 77 69  6d 70 25 21 38 3d 30 20  |n%..\$wimp%!8=0 |
000037a0  20 20 20 20 20 20 3a 20  77 69 6d 70 25 21 31 32  |      : wimp%!12|
000037b0  3d 31 3c 3c 32 32 0d 17  66 21 c8 99 20 22 57 69  |=1<<22..f!.. "Wi|
000037c0  6d 70 5f 53 65 74 49 63  6f 6e 53 74 61 74 65 22  |mp_SetIconState"|
000037d0  2c 2c 77 69 6d 70 25 0d  17 70 05 e1 0d 17 7a 05  |,,wimp%..p....z.|
000037e0  3a 0d 17 84 30 dd 20 a4  57 69 6d 70 5f 49 63 6f  |:...0. .Wimp_Ico|
000037f0  6e 50 75 74 53 70 72 69  74 65 28 77 69 6e 64 6f  |nPutSprite(windo|
00003800  77 25 2c 69 63 6f 6e 25  2c 73 70 72 69 74 65 24  |w%,icon%,sprite$|
00003810  29 0d 17 8e 21 77 69 6d  70 25 21 30 3d 77 69 6e  |)...!wimp%!0=win|
00003820  64 6f 77 25 3a 77 69 6d  70 25 21 34 3d 69 63 6f  |dow%:wimp%!4=ico|
00003830  6e 25 0d 17 98 21 c8 99  20 22 57 69 6d 70 5f 47  |n%...!.. "Wimp_G|
00003840  65 74 49 63 6f 6e 53 74  61 74 65 22 2c 2c 77 69  |etIconState",,wi|
00003850  6d 70 25 0d 17 a2 1f c8  99 20 22 57 69 6d 70 5f  |mp%...... "Wimp_|
00003860  44 65 6c 65 74 65 49 63  6f 6e 22 2c 2c 77 69 6d  |DeleteIcon",,wim|
00003870  70 25 0d 17 ac 3d 77 69  6d 70 25 21 34 3d 77 69  |p%...=wimp%!4=wi|
00003880  6d 70 25 21 38 20 20 20  3a 20 77 69 6d 70 25 21  |mp%!8   : wimp%!|
00003890  38 3d 77 69 6d 70 25 21  31 32 20 20 3a 20 77 69  |8=wimp%!12  : wi|
000038a0  6d 70 25 21 31 32 3d 77  69 6d 70 25 21 31 36 0d  |mp%!12=wimp%!16.|
000038b0  17 b6 3f 77 69 6d 70 25  21 31 36 3d 77 69 6d 70  |..?wimp%!16=wimp|
000038c0  25 21 32 30 20 3a 20 77  69 6d 70 25 21 32 30 3d  |%!20 : wimp%!20=|
000038d0  77 69 6d 70 25 21 32 34  20 3a 20 24 28 77 69 6d  |wimp%!24 : $(wim|
000038e0  70 25 2b 32 34 29 3d 73  70 72 69 74 65 24 0d 17  |p%+24)=sprite$..|
000038f0  c0 27 c8 99 20 22 57 69  6d 70 5f 43 72 65 61 74  |.'.. "Wimp_Creat|
00003900  65 49 63 6f 6e 22 2c 2c  77 69 6d 70 25 20 b8 20  |eIcon",,wimp% . |
00003910  69 63 6f 6e 25 0d 17 ca  0a 3d 69 63 6f 6e 25 0d  |icon%....=icon%.|
00003920  17 d4 05 3a 0d 17 de 2c  dd 20 f2 57 69 6d 70 5f  |...:...,. .Wimp_|
00003930  49 63 6f 6e 50 75 74 54  65 78 74 28 77 69 6e 64  |IconPutText(wind|
00003940  6f 77 25 2c 69 63 6f 6e  25 2c 74 65 78 74 24 29  |ow%,icon%,text$)|
00003950  0d 17 e8 23 77 69 6d 70  25 21 30 3d 77 69 6e 64  |...#wimp%!0=wind|
00003960  6f 77 25 20 3a 20 77 69  6d 70 25 21 34 3d 69 63  |ow% : wimp%!4=ic|
00003970  6f 6e 25 0d 17 f2 21 c8  99 20 22 57 69 6d 70 5f  |on%...!.. "Wimp_|
00003980  47 65 74 49 63 6f 6e 53  74 61 74 65 22 2c 2c 77  |GetIconState",,w|
00003990  69 6d 70 25 0d 17 fc 37  e7 20 28 28 77 69 6d 70  |imp%...7. ((wimp|
000039a0  25 21 32 34 29 20 80 20  26 31 30 30 29 3d 30 20  |%!24) . &100)=0 |
000039b0  85 20 31 2c 22 49 63 6f  6e 20 69 73 6e 27 74 20  |. 1,"Icon isn't |
000039c0  69 6e 64 69 72 65 63 74  65 64 22 0d 18 06 15 24  |indirected"....$|
000039d0  28 77 69 6d 70 25 21 32  38 29 3d 74 65 78 74 24  |(wimp%!28)=text$|
000039e0  0d 18 10 23 77 69 6d 70  25 21 30 3d 77 69 6e 64  |...#wimp%!0=wind|
000039f0  6f 77 25 20 3a 20 77 69  6d 70 25 21 34 3d 69 63  |ow% : wimp%!4=ic|
00003a00  6f 6e 25 0d 18 1a 1a 77  69 6d 70 25 21 38 3d 30  |on%....wimp%!8=0|
00003a10  20 3a 20 77 69 6d 70 25  21 31 32 3d 30 0d 18 24  | : wimp%!12=0..$|
00003a20  21 c8 99 20 22 57 69 6d  70 5f 53 65 74 49 63 6f  |!.. "Wimp_SetIco|
00003a30  6e 53 74 61 74 65 22 2c  2c 77 69 6d 70 25 0d 18  |nState",,wimp%..|
00003a40  2e 05 e1 0d 18 38 05 3a  0d 18 42 1e dd 20 f2 57  |.....8.:..B.. .W|
00003a50  69 6d 70 5f 49 63 6f 6e  49 6e 74 65 72 66 61 63  |imp_IconInterfac|
00003a60  65 53 74 61 72 74 0d 18  4c 1e c8 99 22 57 69 6d  |eStart..L..."Wim|
00003a70  70 5f 42 6f 72 64 65 72  49 63 6f 6e 22 2c 2c 77  |p_BorderIcon",,w|
00003a80  69 6d 70 25 0d 18 56 05  e1 0d 18 60 05 3a 0d 18  |imp%..V....`.:..|
00003a90  6a 1f dd 20 f2 57 69 6d  70 5f 49 63 6f 6e 49 6e  |j.. .Wimp_IconIn|
00003aa0  74 65 72 66 61 63 65 46  69 6e 69 73 68 0d 18 74  |terfaceFinish..t|
00003ab0  0d 77 69 6d 70 25 21 38  3d 30 0d 18 7e 1e c8 99  |.wimp%!8=0..~...|
00003ac0  22 57 69 6d 70 5f 42 6f  72 64 65 72 49 63 6f 6e  |"Wimp_BorderIcon|
00003ad0  22 2c 2c 77 69 6d 70 25  0d 18 88 05 e1 0d 18 92  |",,wimp%........|
00003ae0  4f f4 20 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |O. *************|
00003af0  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |****************|
*
00003b20  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 0d 18 9c 1f  |************....|
00003b30  dd 20 f2 57 69 6d 70 5f  4d 65 6e 75 41 64 6a 75  |. .Wimp_MenuAdju|
00003b40  73 74 4f 6e 28 6d 65 6e  75 25 29 0d 18 a6 2c c8  |stOn(menu%)...,.|
00003b50  99 20 22 57 69 6d 70 5f  47 65 74 50 6f 69 6e 74  |. "Wimp_GetPoint|
00003b60  65 72 49 6e 66 6f 22 2c  2c 70 6f 69 6e 74 65 72  |erInfo",,pointer|
00003b70  5f 62 6c 6f 63 6b 25 0d  18 b0 5e e7 20 28 28 70  |_block%...^. ((p|
00003b80  6f 69 6e 74 65 72 5f 62  6c 6f 63 6b 25 21 38 29  |ointer_block%!8)|
00003b90  80 31 29 3d 31 20 8c 20  c8 99 20 22 57 69 6d 70  |.1)=1 . .. "Wimp|
00003ba0  5f 43 72 65 61 74 65 4d  65 6e 75 22 2c 2c 6d 65  |_CreateMenu",,me|
00003bb0  6e 75 25 2c 70 6f 69 6e  74 65 72 5f 62 6c 6f 63  |nu%,pointer_bloc|
00003bc0  6b 25 21 30 2c 70 6f 69  6e 74 65 72 5f 62 6c 6f  |k%!0,pointer_blo|
00003bd0  63 6b 25 21 34 0d 18 ba  05 e1 0d 18 c4 05 3a 0d  |ck%!4.........:.|
00003be0  18 ce 1e dd 20 a4 57 69  6d 70 5f 4d 65 6e 75 43  |.... .Wimp_MenuC|
00003bf0  68 6f 69 63 65 28 6c 65  76 65 6c 25 29 0d 18 d8  |hoice(level%)...|
00003c00  19 3d 28 77 69 6d 70 25  21 28 34 2a 6c 65 76 65  |.=(wimp%!(4*leve|
00003c10  6c 25 29 29 2b 31 0d 18  e2 05 3a 0d 18 ec 1d dd  |l%))+1....:.....|
00003c20  20 a4 57 69 6d 70 5f 4d  65 6e 75 43 72 65 61 74  | .Wimp_MenuCreat|
00003c30  65 28 6d 65 6e 75 24 29  0d 18 f6 29 e7 20 6d 65  |e(menu$)...). me|
00003c40  6e 75 24 3d 22 43 6f 6c  6f 75 72 73 22 20 8c 3d  |nu$="Colours" .=|
00003c50  a4 57 69 6d 70 5f 4d 65  6e 75 43 6f 6c 6f 75 72  |.Wimp_MenuColour|
00003c60  73 0d 19 00 27 ea 20 6d  65 6e 75 25 2c 69 6e 64  |s...'. menu%,ind|
00003c70  65 78 25 2c 77 69 64 74  68 25 2c 6c 65 6e 67 74  |ex%,width%,lengt|
00003c80  68 25 2c 6b 25 2c 73 25  0d 19 0a 2e de 20 6d 65  |h%,k%,s%..... me|
00003c90  6e 75 25 20 32 38 2b a4  57 69 6d 70 5f 4d 65 6e  |nu% 28+.Wimp_Men|
00003ca0  75 4e 6f 4f 66 45 6e 74  72 69 65 73 28 6d 65 6e  |uNoOfEntries(men|
00003cb0  75 24 29 2a 32 34 0d 19  14 37 6d 65 6e 75 25 3f  |u$)*24...7menu%?|
00003cc0  31 32 3d 37 20 20 20 3a  20 6d 65 6e 75 25 3f 31  |12=7   : menu%?1|
00003cd0  33 3d 32 20 20 3a 20 6d  65 6e 75 25 3f 31 34 3d  |3=2  : menu%?14=|
00003ce0  37 20 3a 6d 65 6e 75 25  3f 31 35 3d 30 0d 19 1e  |7 :menu%?15=0...|
00003cf0  2b 6d 65 6e 75 25 21 31  36 3d 31 34 30 20 3a 20  |+menu%!16=140 : |
00003d00  6d 65 6e 75 25 21 32 30  3d 34 34 20 3a 20 6d 65  |menu%!20=44 : me|
00003d10  6e 75 25 21 32 34 3d 30  0d 19 28 13 69 6e 64 65  |nu%!24=0..(.inde|
00003d20  78 25 3d 6d 65 6e 75 25  2b 32 38 0d 19 32 20 24  |x%=menu%+28..2 $|
00003d30  6d 65 6e 75 25 3d c0 6d  65 6e 75 24 2c a7 6d 65  |menu%=.menu$,.me|
00003d40  6e 75 24 2c 22 5c 22 29  2d 31 29 0d 19 3c 23 77  |nu$,"\")-1)..<#w|
00003d50  69 64 74 68 25 3d a9 28  c0 6d 65 6e 75 24 2c a7  |idth%=.(.menu$,.|
00003d60  6d 65 6e 75 24 2c 22 5c  22 29 2d 31 29 29 0d 19  |menu$,"\")-1))..|
00003d70  46 24 6d 65 6e 75 24 2b  3d 22 5c 22 20 3a 20 4d  |F$menu$+="\" : M|
00003d80  65 6e 75 5f 4e 6f 4f 66  45 6e 74 72 69 65 73 25  |enu_NoOfEntries%|
00003d90  3d 30 0d 19 50 10 c8 95  20 6d 65 6e 75 24 3c 3e  |=0..P... menu$<>|
00003da0  22 22 0d 19 5a 1f 6d 65  6e 75 24 3d c1 6d 65 6e  |""..Z.menu$=.men|
00003db0  75 24 2c a7 6d 65 6e 75  24 2c 22 5c 22 29 2b 31  |u$,.menu$,"\")+1|
00003dc0  29 0d 19 64 0e c8 8e 20  6d 65 6e 75 24 20 ca 0d  |)..d... menu$ ..|
00003dd0  19 6e 09 20 c9 20 22 22  0d 19 78 08 20 7f 20 3a  |.n. . ""..x. . :|
00003de0  0d 19 82 31 20 20 21 69  6e 64 65 78 25 3d 30 20  |...1  !index%=0 |
00003df0  3a 20 69 6e 64 65 78 25  21 34 3d 2d 31 20 3a 20  |: index%!4=-1 : |
00003e00  69 6e 64 65 78 25 21 38  3d 26 37 30 30 30 30 32  |index%!8=&700002|
00003e10  31 0d 19 8c 1b 20 20 6c  65 6e 67 74 68 25 3d a7  |1....  length%=.|
00003e20  6d 65 6e 75 24 2c 22 5c  22 29 2d 31 0d 19 96 1e  |menu$,"\")-1....|
00003e30  20 20 6b 25 3d a7 c0 6d  65 6e 75 24 2c 6c 65 6e  |  k%=..menu$,len|
00003e40  67 74 68 25 29 2c 22 3e  22 29 0d 19 a0 0d 20 20  |gth%),">")....  |
00003e50  c8 8e 20 6b 25 20 ca 0d  19 aa 0a 20 20 20 c9 20  |.. k% .....   . |
00003e60  30 0d 19 b4 08 20 20 20  7f 0d 19 be 25 20 20 20  |0....   ....%   |
00003e70  20 73 25 3d a0 28 c1 6d  65 6e 75 24 2c 6b 25 2b  | s%=.(.menu$,k%+|
00003e80  31 2c 6c 65 6e 67 74 68  25 2d 6b 25 29 29 0d 19  |1,length%-k%))..|
00003e90  c8 13 20 20 20 20 69 6e  64 65 78 25 21 34 3d 73  |..    index%!4=s|
00003ea0  25 0d 19 d2 14 20 20 20  20 6c 65 6e 67 74 68 25  |%....    length%|
00003eb0  3d 6b 25 2d 31 0d 19 dc  07 20 20 cb 0d 19 e6 22  |=k%-1....  ...."|
00003ec0  20 20 24 28 69 6e 64 65  78 25 2b 31 32 29 3d c0  |  $(index%+12)=.|
00003ed0  6d 65 6e 75 24 2c 6c 65  6e 67 74 68 25 29 0d 19  |menu$,length%)..|
00003ee0  f0 27 20 20 e7 20 6c 65  6e 67 74 68 25 3e 77 69  |.'  . length%>wi|
00003ef0  64 74 68 25 20 8c 20 77  69 64 74 68 25 3d 6c 65  |dth% . width%=le|
00003f00  6e 67 74 68 25 0d 19 fa  10 20 20 69 6e 64 65 78  |ngth%....  index|
00003f10  25 2b 3d 32 34 0d 1a 04  05 cb 0d 1a 0e 05 ce 0d  |%+=24...........|
00003f20  1a 18 1a 6d 65 6e 75 25  21 31 36 3d 31 36 2a 28  |...menu%!16=16*(|
00003f30  77 69 64 74 68 25 2b 31  29 0d 1a 22 28 69 6e 64  |width%+1).."(ind|
00003f40  65 78 25 21 2d 32 34 3d  69 6e 64 65 78 25 21 2d  |ex%!-24=index%!-|
00003f50  32 34 20 84 20 26 38 30  20 3a 20 3d 6d 65 6e 75  |24 . &80 : =menu|
00003f60  25 0d 1a 2c 05 3a 0d 1a  36 17 dd 20 a4 57 69 6d  |%..,.:..6.. .Wim|
00003f70  70 5f 4d 65 6e 75 43 6f  6c 6f 75 72 73 0d 1a 40  |p_MenuColours..@|
00003f80  21 3d a4 57 69 6d 70 5f  4d 65 6e 75 43 72 65 61  |!=.Wimp_MenuCrea|
00003f90  74 65 43 6f 6c 6f 75 72  73 28 22 20 22 29 0d 1a  |teColours(" ")..|
00003fa0  4a 05 3a 0d 1a 54 25 dd  20 a4 57 69 6d 70 5f 4d  |J.:..T%. .Wimp_M|
00003fb0  65 6e 75 43 72 65 61 74  65 43 6f 6c 6f 75 72 73  |enuCreateColours|
00003fc0  28 74 69 74 6c 65 24 29  0d 1a 5e 13 ea 20 78 24  |(title$)..^.. x$|
00003fd0  2c 6d 65 6e 25 2c 6a 25  2c 69 25 0d 1a 68 36 78  |,men%,j%,i%..h6x|
00003fe0  24 3d 74 69 74 6c 65 24  2b 22 5c 30 5c 31 5c 32  |$=title$+"\0\1\2|
00003ff0  5c 33 5c 34 5c 35 5c 36  5c 37 5c 38 5c 39 5c 31  |\3\4\5\6\7\8\9\1|
00004000  30 5c 31 31 5c 31 32 5c  31 33 5c 31 34 5c 31 35  |0\11\12\13\14\15|
00004010  22 0d 1a 72 1d 6d 65 6e  25 3d a4 57 69 6d 70 5f  |"..r.men%=.Wimp_|
00004020  4d 65 6e 75 43 72 65 61  74 65 28 78 24 29 0d 1a  |MenuCreate(x$)..|
00004030  7c 0f e3 20 69 25 3d 30  20 b8 20 31 35 0d 1a 86  ||.. i%=0 . 15...|
00004040  0a c8 8e 20 b9 20 ca 0d  1a 90 28 c9 20 69 25 3c  |... . ....(. i%<|
00004050  34 2c 69 25 3d 39 2c 69  25 3d 31 32 2c 69 25 3d  |4,i%=9,i%=12,i%=|
00004060  31 34 2c 69 25 3d 31 35  20 3a 20 6a 25 3d 37 0d  |14,i%=15 : j%=7.|
00004070  1a 9a 0c 7f 20 3a 20 6a  25 3d 30 0d 1a a4 05 cb  |.... : j%=0.....|
00004080  0d 1a ae 1c 6d 65 6e 25  3f 28 33 39 2b 69 25 2a  |....men%?(39+i%*|
00004090  32 34 29 3d 69 25 2a 31  36 2b 6a 25 0d 1a b8 1f  |24)=i%*16+j%....|
000040a0  f2 57 69 6d 70 5f 4d 65  6e 75 43 65 6e 74 72 65  |.Wimp_MenuCentre|
000040b0  28 6d 65 6e 25 2c 69 25  2b 31 29 0d 1a c2 05 ed  |(men%,i%+1).....|
000040c0  0d 1a cc 09 3d 6d 65 6e  25 0d 1a d6 05 3a 0d 1a  |....=men%....:..|
000040d0  e0 22 dd 20 a4 57 69 6d  70 5f 4d 65 6e 75 4e 6f  |.". .Wimp_MenuNo|
000040e0  4f 66 45 6e 74 72 69 65  73 28 6d 65 6e 75 24 29  |OfEntries(menu$)|
000040f0  0d 1a ea 1a ea 20 6e 25  20 2c 6a 25 20 3a 20 6e  |..... n% ,j% : n|
00004100  25 3d 30 20 3a 20 6a 25  3d 30 0d 1a f4 05 f5 0d  |%=0 : j%=0......|
00004110  1a fe 17 6a 25 3d a7 6d  65 6e 75 24 2c 22 5c 22  |...j%=.menu$,"\"|
00004120  2c 6a 25 2b 31 29 0d 1b  08 13 e7 20 6a 25 3c 3e  |,j%+1)..... j%<>|
00004130  30 20 8c 20 6e 25 2b 3d  31 0d 1b 12 0a fd 20 6a  |0 . n%+=1..... j|
00004140  25 3d 30 0d 1b 1c 07 3d  6e 25 0d 1b 26 05 3a 0d  |%=0....=n%..&.:.|
00004150  1b 30 35 dd 20 f2 57 69  6d 70 5f 4d 65 6e 75 42  |.05. .Wimp_MenuB|
00004160  61 63 6b 47 72 6f 75 6e  64 43 6f 6c 6f 75 72 28  |ackGroundColour(|
00004170  6d 65 6e 75 25 2c 69 74  65 6d 25 2c 63 6f 6c 6f  |menu%,item%,colo|
00004180  75 72 25 29 0d 1b 3a 0e  ea 20 66 6f 72 65 25 2c  |ur%)..:.. fore%,|
00004190  69 25 0d 1b 44 26 66 6f  72 65 25 3d 28 6d 65 6e  |i%..D&fore%=(men|
000041a0  75 25 3f 28 33 39 2b 28  69 74 65 6d 25 2d 31 29  |u%?(39+(item%-1)|
000041b0  2a 32 34 29 29 83 31 36  0d 1b 4e 28 69 25 3d 28  |*24)).16..N(i%=(|
000041c0  28 6d 65 6e 75 25 3f 28  33 39 2b 28 69 74 65 6d  |(menu%?(39+(item|
000041d0  25 2d 31 29 2a 32 34 29  29 81 31 36 29 83 31 36  |%-1)*24)).16).16|
000041e0  0d 1b 58 2f 6d 65 6e 75  25 3f 28 33 39 2b 28 69  |..X/menu%?(39+(i|
000041f0  74 65 6d 25 2d 31 29 2a  32 34 29 3d 66 6f 72 65  |tem%-1)*24)=fore|
00004200  25 2b 31 36 2a 63 6f 6c  6f 75 72 25 2b 69 25 0d  |%+16*colour%+i%.|
00004210  1b 62 05 e1 0d 1b 6c 05  3a 0d 1b 76 23 dd 20 f2  |.b....l.:..v#. .|
00004220  57 69 6d 70 5f 4d 65 6e  75 43 65 6e 74 72 65 28  |Wimp_MenuCentre(|
00004230  6d 65 6e 75 25 2c 69 74  65 6d 25 29 0d 1b 80 3a  |menu%,item%)...:|
00004240  6d 65 6e 75 25 21 28 33  36 2b 28 69 74 65 6d 25  |menu%!(36+(item%|
00004250  2d 31 29 2a 32 34 29 3d  6d 65 6e 75 25 21 28 33  |-1)*24)=menu%!(3|
00004260  36 2b 28 69 74 65 6d 25  2d 31 29 2a 32 34 29 84  |6+(item%-1)*24).|
00004270  28 31 3c 3c 33 29 0d 1b  8a 05 e1 0d 1b 94 05 3a  |(1<<3).........:|
00004280  0d 1b 9e 15 dd 20 f2 57  69 6d 70 5f 4d 65 6e 75  |..... .Wimp_Menu|
00004290  43 6c 6f 73 65 0d 1b a8  1b c8 99 20 22 57 69 6d  |Close...... "Wim|
000042a0  70 5f 43 72 65 61 74 65  4d 65 6e 75 22 2c 2d 31  |p_CreateMenu",-1|
000042b0  0d 1b b2 05 e1 0d 1b bc  05 3a 0d 1b c6 24 dd 20  |.........:...$. |
000042c0  f2 57 69 6d 70 5f 4d 65  6e 75 44 69 73 61 62 6c  |.Wimp_MenuDisabl|
000042d0  65 28 6d 65 6e 75 25 2c  69 74 65 6d 25 29 0d 1b  |e(menu%,item%)..|
000042e0  d0 3b 6d 65 6e 75 25 21  28 33 36 2b 28 69 74 65  |.;menu%!(36+(ite|
000042f0  6d 25 2d 31 29 2a 32 34  29 3d 6d 65 6e 75 25 21  |m%-1)*24)=menu%!|
00004300  28 33 36 2b 28 69 74 65  6d 25 2d 31 29 2a 32 34  |(36+(item%-1)*24|
00004310  29 84 28 31 3c 3c 32 32  29 0d 1b da 05 e1 0d 1b  |).(1<<22).......|
00004320  e4 05 3a 0d 1b ee 27 dd  20 f2 57 69 6d 70 5f 4d  |..:...'. .Wimp_M|
00004330  65 6e 75 44 6f 74 74 65  64 4c 69 6e 65 28 6d 65  |enuDottedLine(me|
00004340  6e 75 25 2c 69 74 65 6d  25 29 0d 1b f8 37 6d 65  |nu%,item%)...7me|
00004350  6e 75 25 21 28 32 38 2b  28 69 74 65 6d 25 2d 31  |nu%!(28+(item%-1|
00004360  29 2a 32 34 29 3d 28 6d  65 6e 75 25 21 28 32 38  |)*24)=(menu%!(28|
00004370  2b 28 69 74 65 6d 25 2d  31 29 2a 32 34 29 29 84  |+(item%-1)*24)).|
00004380  32 0d 1c 02 05 e1 0d 1c  0c 05 3a 0d 1c 16 23 dd  |2.........:...#.|
00004390  20 f2 57 69 6d 70 5f 4d  65 6e 75 45 6e 61 62 6c  | .Wimp_MenuEnabl|
000043a0  65 28 6d 65 6e 75 25 2c  69 74 65 6d 25 29 0d 1c  |e(menu%,item%)..|
000043b0  20 22 f2 57 69 6d 70 5f  4d 65 6e 75 44 69 73 61  | ".Wimp_MenuDisa|
000043c0  62 6c 65 28 6d 65 6e 75  25 2c 69 74 65 6d 25 29  |ble(menu%,item%)|
000043d0  0d 1c 2a 3b 6d 65 6e 75  25 21 28 33 36 2b 28 69  |..*;menu%!(36+(i|
000043e0  74 65 6d 25 2d 31 29 2a  32 34 29 3d 6d 65 6e 75  |tem%-1)*24)=menu|
000043f0  25 21 28 33 36 2b 28 69  74 65 6d 25 2d 31 29 2a  |%!(36+(item%-1)*|
00004400  32 34 29 82 28 31 3c 3c  32 32 29 0d 1c 34 05 e1  |24).(1<<22)..4..|
00004410  0d 1c 3e 05 3a 0d 1c 48  35 dd 20 f2 57 69 6d 70  |..>.:..H5. .Wimp|
00004420  5f 4d 65 6e 75 46 6f 72  65 67 72 6f 75 6e 64 43  |_MenuForegroundC|
00004430  6f 6c 6f 75 72 28 6d 65  6e 75 25 2c 69 74 65 6d  |olour(menu%,item|
00004440  25 2c 63 6f 6c 6f 75 72  25 29 0d 1c 52 45 6d 65  |%,colour%)..REme|
00004450  6e 75 25 3f 28 33 39 2b  28 69 74 65 6d 25 2d 31  |nu%?(39+(item%-1|
00004460  29 2a 32 34 29 3d 63 6f  6c 6f 75 72 25 2b 31 36  |)*24)=colour%+16|
00004470  2a 28 28 6d 65 6e 75 25  3f 28 33 39 2b 28 69 74  |*((menu%?(39+(it|
00004480  65 6d 25 2d 31 29 2a 32  34 29 29 81 31 36 29 0d  |em%-1)*24)).16).|
00004490  1c 5c 05 e1 0d 1c 66 05  3a 0d 1c 70 29 dd 20 f2  |.\....f.:..p). .|
000044a0  57 69 6d 70 5f 4d 65 6e  75 47 6c 75 65 28 6d 65  |Wimp_MenuGlue(me|
000044b0  6e 75 31 25 2c 69 74 65  6d 25 2c 6d 65 6e 75 32  |nu1%,item%,menu2|
000044c0  25 29 0d 1c 7a 1e 6d 65  6e 75 31 25 21 28 38 2b  |%)..z.menu1%!(8+|
000044d0  69 74 65 6d 25 2a 32 34  29 3d 6d 65 6e 75 32 25  |item%*24)=menu2%|
000044e0  0d 1c 84 05 e1 0d 1c 8e  05 3a 0d 1c 98 27 dd 20  |.........:...'. |
000044f0  f2 57 69 6d 70 5f 4d 65  6e 75 49 74 65 6d 28 6d  |.Wimp_MenuItem(m|
00004500  65 6e 75 25 2c 69 74 65  6d 25 2c 69 74 65 6d 24  |enu%,item%,item$|
00004510  29 0d 1c a2 2c 24 28 6d  65 6e 75 25 2b 28 34 30  |)...,$(menu%+(40|
00004520  2b 28 69 74 65 6d 25 2d  31 29 2a 32 34 29 29 3d  |+(item%-1)*24))=|
00004530  c0 69 74 65 6d 24 2c 31  32 29 2b bd 30 0d 1c ac  |.item$,12)+.0...|
00004540  05 e1 0d 1c b6 05 3a 0d  1c c0 24 dd 20 f2 57 69  |......:...$. .Wi|
00004550  6d 70 5f 4d 65 6e 75 4d  65 73 73 61 67 65 28 6d  |mp_MenuMessage(m|
00004560  65 6e 75 25 2c 69 74 65  6d 25 29 0d 1c ca 3c 6d  |enu%,item%)...<m|
00004570  65 6e 75 25 21 28 32 38  2b 28 69 74 65 6d 25 2d  |enu%!(28+(item%-|
00004580  31 29 2a 32 34 29 3d 28  6d 65 6e 75 25 21 28 32  |1)*24)=(menu%!(2|
00004590  38 2b 28 69 74 65 6d 25  2d 31 29 2a 32 34 29 29  |8+(item%-1)*24))|
000045a0  82 28 31 3c 3c 33 29 0d  1c d4 05 e1 0d 1c de 05  |.(1<<3).........|
000045b0  3a 0d 1c e8 22 dd 20 f2  57 69 6d 70 5f 4d 65 6e  |:...". .Wimp_Men|
000045c0  75 50 6f 70 55 70 28 4d  65 6e 75 25 2c 78 25 2c  |uPopUp(Menu%,x%,|
000045d0  79 25 29 0d 1c f2 0d e7  20 53 41 25 3d a3 20 8c  |y%)..... SA%=. .|
000045e0  0d 1c fc 10 f2 6f 70 65  6e 70 72 69 6e 74 65 72  |.....openprinter|
000045f0  0d 1d 06 0f 6d 65 6e 75  25 3d 4d 65 6e 75 25 0d  |....menu%=Menu%.|
00004600  1d 10 2b c8 99 20 22 57  69 6d 70 5f 43 72 65 61  |..+.. "Wimp_Crea|
00004610  74 65 4d 65 6e 75 22 2c  2c 6d 65 6e 75 25 2c 78  |teMenu",,menu%,x|
00004620  25 2d 36 34 2c 79 25 2b  32 30 0d 1d 1a 05 cd 0d  |%-64,y%+20......|
00004630  1d 24 05 e1 0d 1d 2e 05  3a 0d 1d 38 1f dd 20 f2  |.$......:..8.. .|
00004640  57 69 6d 70 5f 4d 65 6e  75 50 6f 70 55 70 42 61  |Wimp_MenuPopUpBa|
00004650  72 28 78 25 2c 79 25 29  0d 1d 42 0f ea 20 6e 25  |r(x%,y%)..B.. n%|
00004660  20 3a 20 6e 25 3d 30 0d  1d 4c 2b c8 95 20 28 28  | : n%=0..L+.. ((|
00004670  42 61 72 5f 4d 65 6e 75  25 21 28 32 38 2b 6e 25  |Bar_Menu%!(28+n%|
00004680  2a 32 34 29 29 80 25 31  30 30 30 30 30 30 30 29  |*24)).%10000000)|
00004690  3d 30 0d 1d 56 09 6e 25  2b 3d 31 0d 1d 60 05 ce  |=0..V.n%+=1..`..|
000046a0  0d 1d 6a 32 c8 99 20 22  57 69 6d 70 5f 43 72 65  |..j2.. "Wimp_Cre|
000046b0  61 74 65 4d 65 6e 75 22  2c 2c 42 61 72 5f 4d 65  |ateMenu",,Bar_Me|
000046c0  6e 75 25 2c 78 25 2d 36  34 2c 39 36 2b 6e 25 2a  |nu%,x%-64,96+n%*|
000046d0  34 34 0d 1d 74 13 6d 65  6e 75 25 3d 42 61 72 5f  |44..t.menu%=Bar_|
000046e0  4d 65 6e 75 25 0d 1d 7e  05 e1 0d 1d 88 05 3a 0d  |Menu%..~......:.|
000046f0  1d 92 21 dd 20 f2 57 69  6d 70 5f 4d 65 6e 75 54  |..!. .Wimp_MenuT|
00004700  69 63 6b 28 6d 65 6e 75  25 2c 69 74 65 6d 25 29  |ick(menu%,item%)|
00004710  0d 1d 9c 37 6d 65 6e 75  25 21 28 32 38 2b 28 69  |...7menu%!(28+(i|
00004720  74 65 6d 25 2d 31 29 2a  32 34 29 3d 28 6d 65 6e  |tem%-1)*24)=(men|
00004730  75 25 21 28 32 38 2b 28  69 74 65 6d 25 2d 31 29  |u%!(28+(item%-1)|
00004740  2a 32 34 29 29 82 31 0d  1d a6 05 e1 0d 1d b0 05  |*24)).1.........|
00004750  3a 0d 1d ba 23 dd 20 f2  57 69 6d 70 5f 4d 65 6e  |:...#. .Wimp_Men|
00004760  75 54 69 74 6c 65 28 6d  65 6e 75 25 2c 74 69 74  |uTitle(menu%,tit|
00004770  6c 65 24 29 0d 1d c4 19  24 6d 65 6e 75 25 3d c0  |le$)....$menu%=.|
00004780  74 69 74 6c 65 24 2c 31  32 29 2b bd 30 0d 1d ce  |title$,12)+.0...|
00004790  05 e1 0d 1d d8 05 3a 0d  1d e2 3d dd 20 f2 57 69  |......:...=. .Wi|
000047a0  6d 70 5f 4d 65 6e 75 57  72 69 74 65 28 6d 65 6e  |mp_MenuWrite(men|
000047b0  75 25 2c 69 74 65 6d 25  2c 62 75 66 66 65 72 25  |u%,item%,buffer%|
000047c0  2c 76 61 6c 25 2c 42 75  66 66 65 72 4c 65 6e 67  |,val%,BufferLeng|
000047d0  74 68 25 29 0d 1d ec 37  6d 65 6e 75 25 21 28 32  |th%)...7menu%!(2|
000047e0  38 2b 28 69 74 65 6d 25  2d 31 29 2a 32 34 29 3d  |8+(item%-1)*24)=|
000047f0  28 6d 65 6e 75 25 21 28  32 38 2b 28 69 74 65 6d  |(menu%!(28+(item|
00004800  25 2d 31 29 2a 32 34 29  29 84 34 0d 1d f6 38 6d  |%-1)*24)).4...8m|
00004810  65 6e 75 25 21 28 33 36  2b 28 69 74 65 6d 25 2d  |enu%!(36+(item%-|
00004820  31 29 2a 32 34 29 3d 6d  65 6e 75 25 21 28 33 36  |1)*24)=menu%!(36|
00004830  2b 28 69 74 65 6d 25 2d  31 29 2a 32 34 29 84 26  |+(item%-1)*24).&|
00004840  31 30 30 0d 1e 00 23 6d  65 6e 75 25 21 28 34 30  |100...#menu%!(40|
00004850  2b 28 69 74 65 6d 25 2d  31 29 2a 32 34 29 3d 62  |+(item%-1)*24)=b|
00004860  75 66 66 65 72 25 0d 1e  0a 20 6d 65 6e 75 25 21  |uffer%... menu%!|
00004870  28 34 34 2b 28 69 74 65  6d 25 2d 31 29 2a 32 34  |(44+(item%-1)*24|
00004880  29 3d 76 61 6c 25 0d 1e  14 29 6d 65 6e 75 25 21  |)=val%...)menu%!|
00004890  28 34 38 2b 28 69 74 65  6d 25 2d 31 29 2a 32 34  |(48+(item%-1)*24|
000048a0  29 3d 42 75 66 66 65 72  4c 65 6e 67 74 68 25 0d  |)=BufferLength%.|
000048b0  1e 1e 05 e1 0d 1e 28 4f  f4 20 2a 2a 2a 2a 2a 2a  |......(O. ******|
000048c0  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |****************|
*
00004900  2a 2a 2a 0d 1e 32 25 dd  20 f2 57 69 6d 70 5f 53  |***..2%. .Wimp_S|
00004910  65 6c 65 63 74 49 63 6f  6e 28 77 69 6e 64 6f 77  |electIcon(window|
00004920  25 2c 69 63 6f 6e 25 29  0d 1e 3c 13 77 69 6d 70  |%,icon%)..<.wimp|
00004930  25 21 30 3d 77 69 6e 64  6f 77 25 0d 1e 46 11 77  |%!0=window%..F.w|
00004940  69 6d 70 25 21 34 3d 69  63 6f 6e 25 0d 1e 50 23  |imp%!4=icon%..P#|
00004950  77 69 6d 70 25 21 38 3d  25 31 30 30 30 30 30 30  |wimp%!8=%1000000|
00004960  30 30 30 30 30 30 30 30  30 30 30 30 30 30 30 0d  |000000000000000.|
00004970  1e 5a 24 77 69 6d 70 25  21 31 32 3d 25 31 30 30  |.Z$wimp%!12=%100|
00004980  30 30 30 30 30 30 30 30  30 30 30 30 30 30 30 30  |0000000000000000|
00004990  30 30 30 0d 1e 64 13 c8  99 26 34 30 30 43 44 2c  |000..d...&400CD,|
000049a0  2c 77 69 6d 70 25 0d 1e  6e 05 e1 0d 1e 78 05 3a  |,wimp%..n....x.:|
000049b0  0d 1e 82 27 dd 20 f2 57  69 6d 70 5f 55 6e 73 65  |...'. .Wimp_Unse|
000049c0  6c 65 63 74 49 63 6f 6e  28 77 69 6e 64 6f 77 25  |lectIcon(window%|
000049d0  2c 69 63 6f 6e 25 29 0d  1e 8c 13 77 69 6d 70 25  |,icon%)....wimp%|
000049e0  21 30 3d 77 69 6e 64 6f  77 25 0d 1e 96 11 77 69  |!0=window%....wi|
000049f0  6d 70 25 21 34 3d 69 63  6f 6e 25 0d 1e a0 0d 77  |mp%!4=icon%....w|
00004a00  69 6d 70 25 21 38 3d 30  0d 1e aa 24 77 69 6d 70  |imp%!8=0...$wimp|
00004a10  25 21 31 32 3d 25 31 30  30 30 30 30 30 30 30 30  |%!12=%1000000000|
00004a20  30 30 30 30 30 30 30 30  30 30 30 30 0d 1e b4 13  |000000000000....|
00004a30  c8 99 26 34 30 30 43 44  2c 2c 77 69 6d 70 25 0d  |..&400CD,,wimp%.|
00004a40  1e be 05 e1 0d 1e c8 05  3a 0d 1e d2 17 dd 20 f2  |........:..... .|
00004a50  57 69 6d 70 5f 53 70 72  69 74 65 73 4c 6f 61 64  |Wimp_SpritesLoad|
00004a60  0d 1e dc 2f f2 57 69 6d  70 5f 53 70 72 69 74 65  |.../.Wimp_Sprite|
00004a70  73 50 61 74 68 4c 6f 61  64 28 22 3c 4f 62 65 79  |sPathLoad("<Obey|
00004a80  24 44 69 72 3e 2e 53 70  72 69 74 65 73 22 29 0d  |$Dir>.Sprites").|
00004a90  1e e6 1c 64 69 72 65 63  74 5f 73 70 72 69 74 65  |...direct_sprite|
00004aa0  73 25 3d 73 70 72 69 74  65 73 25 0d 1e f0 05 e1  |s%=sprites%.....|
00004ab0  0d 1e fa 05 3a 0d 1f 04  26 dd 20 f2 57 69 6d 70  |....:...&. .Wimp|
00004ac0  5f 53 70 72 69 74 65 73  50 61 74 68 4c 6f 61 64  |_SpritesPathLoad|
00004ad0  28 70 61 74 68 6e 61 6d  65 24 29 0d 1f 0e 0a ea  |(pathname$).....|
00004ae0  53 25 2c 54 25 0d 1f 18  2c 53 25 3d 8e 22 3c 4f  |S%,T%...,S%=."<O|
00004af0  62 65 79 24 44 69 72 3e  2e 53 70 72 69 74 65 73  |bey$Dir>.Sprites|
00004b00  22 3a 54 25 3d a2 23 53  25 2b 31 36 3a d9 23 53  |":T%=.#S%+16:.#S|
00004b10  25 0d 1f 22 19 de 73 70  72 69 74 65 73 25 54 25  |%.."..sprites%T%|
00004b20  2c 73 70 6e 61 6d 65 25  31 32 0d 1f 2c 1d 21 73  |,spname%12..,.!s|
00004b30  70 72 69 74 65 73 25 3d  54 25 3a 73 70 72 69 74  |prites%=T%:sprit|
00004b40  65 73 25 21 38 3d 30 0d  1f 36 21 c8 99 22 4f 53  |es%!8=0..6!.."OS|
00004b50  5f 53 70 72 69 74 65 4f  70 22 2c 26 31 30 39 2c  |_SpriteOp",&109,|
00004b60  73 70 72 69 74 65 73 25  0d 1f 40 2b c8 99 22 4f  |sprites%..@+.."O|
00004b70  53 5f 53 70 72 69 74 65  4f 70 22 2c 26 31 30 41  |S_SpriteOp",&10A|
00004b80  2c 73 70 72 69 74 65 73  25 2c 70 61 74 68 6e 61  |,sprites%,pathna|
00004b90  6d 65 24 0d 1f 4a 05 e1  0d 1f 54 4f f4 20 2a 2a  |me$..J....TO. **|
00004ba0  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |****************|
*
00004be0  2a 2a 2a 2a 2a 2a 2a 0d  1f 5e 1b dd 20 a4 57 69  |*******..^.. .Wi|
00004bf0  6d 70 5f 44 69 73 6b 4e  61 6d 65 28 70 61 74 68  |mp_DiskName(path|
00004c00  24 29 0d 1f 68 11 45 3d  a7 70 61 74 68 24 2c 22  |$)..h.E=.path$,"|
00004c10  2e 22 29 0d 1f 72 12 53  3d a7 70 61 74 68 24 2c  |.")..r.S=.path$,|
00004c20  22 3a 3a 22 29 0d 1f 7c  12 e7 20 53 3d 30 20 8c  |"::")..|.. S=0 .|
00004c30  20 3d 22 52 41 4d 22 0d  1f 86 08 53 2b 3d 32 0d  | ="RAM"....S+=2.|
00004c40  1f 90 12 3d c1 70 61 74  68 24 2c 53 2c 45 2d 53  |...=.path$,S,E-S|
00004c50  29 0d 1f 9a 05 3a 0d 1f  a4 1b dd 20 a4 57 69 6d  |)....:..... .Wim|
00004c60  70 5f 46 69 6c 65 54 79  70 65 28 74 79 70 65 25  |p_FileType(type%|
00004c70  29 0d 1f ae 0c c8 8e 74  79 70 65 25 ca 0d 1f b8  |)......type%....|
00004c80  12 c9 26 42 42 44 3a 3d  22 43 68 65 61 74 22 0d  |..&BBD:="Cheat".|
00004c90  1f c2 11 c9 26 46 46 46  3a 3d 22 54 65 78 74 22  |....&FFF:="Text"|
00004ca0  0d 1f cc 11 c9 26 46 46  44 3a 3d 22 44 61 74 61  |.....&FFD:="Data|
00004cb0  22 0d 1f d6 12 c9 26 46  46 42 3a 3d 22 42 61 73  |".....&FFB:="Bas|
00004cc0  69 63 22 0d 1f e0 13 c9  26 46 46 39 3a 3d 22 53  |ic".....&FF9:="S|
00004cd0  70 72 69 74 65 22 0d 1f  ea 14 c9 26 46 45 44 3a  |prite".....&FED:|
00004ce0  3d 22 50 61 6c 65 74 74  65 22 0d 1f f4 15 c9 26  |="Palette".....&|
00004cf0  46 45 43 3a 3d 22 54 65  6d 70 6c 61 74 65 22 0d  |FEC:="Template".|
00004d00  1f fe 11 c9 26 41 46 46  3a 3d 22 44 72 61 77 22  |....&AFF:="Draw"|
00004d10  0d 20 08 14 c9 26 31 30  30 30 3a 3d 22 46 6f 6c  |. ...&1000:="Fol|
00004d20  64 65 72 22 0d 20 12 19  c9 26 32 30 30 30 3a 3d  |der". ...&2000:=|
00004d30  22 41 70 70 6c 69 63 61  74 69 6f 6e 22 0d 20 1c  |"Application". .|
00004d40  0f 7f 3d c3 7e 28 74 79  70 65 25 29 0d 20 26 05  |..=.~(type%). &.|
00004d50  cb 0d 20 30 05 3a 0d 20  3a 1b dd 20 a4 57 69 6d  |.. 0.:. :.. .Wim|
00004d60  70 5f 47 65 74 46 69 6c  65 50 61 74 68 4e 61 6d  |p_GetFilePathNam|
00004d70  65 0d 20 44 27 3d a4 57  69 6d 70 5f 47 65 74 53  |e. D'=.Wimp_GetS|
00004d80  74 72 69 6e 67 41 74 41  64 64 72 65 73 73 28 77  |tringAtAddress(w|
00004d90  69 6d 70 25 2b 34 34 29  0d 20 4e 05 3a 0d 20 58  |imp%+44). N.:. X|
00004da0  1f dd 20 a4 57 69 6d 70  5f 46 69 6c 65 4c 6f 61  |.. .Wimp_FileLoa|
00004db0  64 28 70 61 74 68 6e 61  6d 65 24 29 0d 20 62 10  |d(pathname$). b.|
00004dc0  ea 53 25 2c 54 25 2c 66  69 6c 65 25 0d 20 6c 11  |.S%,T%,file%. l.|
00004dd0  53 25 3d 8e 70 61 74 68  6e 61 6d 65 24 0d 20 76  |S%=.pathname$. v|
00004de0  0e 54 25 3d a2 23 53 25  2b 31 36 0d 20 80 08 d9  |.T%=.#S%+16. ...|
00004df0  23 53 25 0d 20 8a 0c de  66 69 6c 65 25 54 25 0d  |#S%. ...file%T%.|
00004e00  20 94 22 ff 28 22 4c 4f  41 44 22 2b 70 61 74 68  | .".("LOAD"+path|
00004e10  6e 61 6d 65 24 2b 22 22  2b c3 7e 66 69 6c 65 25  |name$+""+.~file%|
00004e20  29 0d 20 9e 0a 3d 66 69  6c 65 25 0d 20 a8 05 3b  |). ..=file%. ..;|
00004e30  0d 20 b2 26 dd 20 a4 57  69 6d 70 5f 47 65 74 53  |. .&. .Wimp_GetS|
00004e40  74 72 69 6e 67 41 74 41  64 64 72 65 73 73 28 61  |tringAtAddress(a|
00004e50  72 72 61 79 25 29 0d 20  bc 0d ea 73 24 3a 73 24  |rray%). ...s$:s$|
00004e60  3d 22 22 0d 20 c6 3c c8  95 28 3f 61 72 72 61 79  |="". .<..(?array|
00004e70  25 3c 3e 31 33 29 80 28  3f 61 72 72 61 79 25 3c  |%<>13).(?array%<|
00004e80  3e 30 29 3a 73 24 2b 3d  bd 28 3f 61 72 72 61 79  |>0):s$+=.(?array|
00004e90  25 29 3a 61 72 72 61 79  25 2b 3d 31 3a ce 3a 0d  |%):array%+=1:.:.|
00004ea0  20 d0 07 3d 73 24 0d 20  da 05 3a 0d 20 e4 23 dd  | ..=s$. ..:. .#.|
00004eb0  20 a4 57 69 6d 70 5f 47  65 74 46 69 6c 65 46 72  | .Wimp_GetFileFr|
00004ec0  6f 6d 50 61 74 68 6e 61  6d 65 28 66 24 29 0d 20  |omPathname(f$). |
00004ed0  ee 11 c8 8e 20 a7 66 24  2c 22 2e 22 29 20 ca 0d  |.... .f$,".") ..|
00004ee0  20 f8 10 20 c9 20 30 20  20 20 20 3a 3d 66 24 0d  | .. . 0    :=f$.|
00004ef0  21 02 37 20 7f 20 3a 3d  a4 57 69 6d 70 5f 47 65  |!.7 . :=.Wimp_Ge|
00004f00  74 46 69 6c 65 46 72 6f  6d 50 61 74 68 6e 61 6d  |tFileFromPathnam|
00004f10  65 28 c2 66 24 2c a9 28  66 24 29 2d a7 66 24 2c  |e(.f$,.(f$)-.f$,|
00004f20  22 2e 22 29 29 29 0d 21  0c 05 cb 0d 21 16 05 3a  |"."))).!....!..:|
00004f30  0d 21 20 1d dd 20 f2 57  69 6d 70 5f 53 65 6e 64  |.! .. .Wimp_Send|
00004f40  54 6f 45 64 69 74 28 66  69 6c 65 24 29 0d 21 2a  |ToEdit(file$).!*|
00004f50  08 ea 20 6e 25 0d 21 34  15 77 69 6d 70 25 21 34  |.. n%.!4.wimp%!4|
00004f60  3d 26 36 43 43 30 31 43  30 43 0d 21 3e 0e 77 69  |=&6CC01C0C.!>.wi|
00004f70  6d 70 25 21 31 36 3d 35  0d 21 48 0e 77 69 6d 70  |mp%!16=5.!H.wimp|
00004f80  25 21 33 36 3d 30 0d 21  52 11 77 69 6d 70 25 21  |%!36=0.!R.wimp%!|
00004f90  34 30 3d 26 46 46 46 0d  21 5c 18 24 28 77 69 6d  |40=&FFF.!\.$(wim|
00004fa0  70 25 2b 34 34 29 3d 66  69 6c 65 24 2b bd 30 0d  |p%+44)=file$+.0.|
00004fb0  21 66 10 6e 25 3d a9 66  69 6c 65 24 2b 34 35 0d  |!f.n%=.file$+45.|
00004fc0  21 70 2c e7 20 6e 25 83  34 20 8c 20 21 77 69 6d  |!p,. n%.4 . !wim|
00004fd0  70 25 3d 34 2b 28 6e 25  3e 3e 32 29 3c 3c 32 20  |p%=4+(n%>>2)<<2 |
00004fe0  8b 20 21 77 69 6d 70 25  3d 6e 25 0d 21 7a 28 c8  |. !wimp%=n%.!z(.|
00004ff0  99 20 22 57 69 6d 70 5f  53 65 6e 64 4d 65 73 73  |. "Wimp_SendMess|
00005000  61 67 65 22 2c 31 37 2c  77 69 6d 70 25 2c 69 63  |age",17,wimp%,ic|
00005010  6f 6e 25 0d 21 84 05 e1  0d 21 8e 4f f4 20 2a 2a  |on%.!....!.O. **|
00005020  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |****************|
*
00005060  2a 2a 2a 2a 2a 2a 2a 0d  21 98 10 dd 20 f2 69 6e  |*******.!... .in|
00005070  70 75 74 6d 61 69 6e 0d  21 a2 2d 6e 61 6d 65 24  |putmain.!.-name$|
00005080  28 63 75 72 29 3d a4 57  69 6d 70 5f 49 63 6f 6e  |(cur)=.Wimp_Icon|
00005090  54 65 78 74 28 6d 61 69  6e 5f 57 69 6e 64 6f 77  |Text(main_Window|
000050a0  25 2c 33 29 0d 21 ac 2e  6e 6f 74 65 31 24 28 63  |%,3).!..note1$(c|
000050b0  75 72 29 3d a4 57 69 6d  70 5f 49 63 6f 6e 54 65  |ur)=.Wimp_IconTe|
000050c0  78 74 28 6d 61 69 6e 5f  57 69 6e 64 6f 77 25 2c  |xt(main_Window%,|
000050d0  34 29 0d 21 b6 2e 6e 6f  74 65 32 24 28 63 75 72  |4).!..note2$(cur|
000050e0  29 3d a4 57 69 6d 70 5f  49 63 6f 6e 54 65 78 74  |)=.Wimp_IconText|
000050f0  28 6d 61 69 6e 5f 57 69  6e 64 6f 77 25 2c 35 29  |(main_Window%,5)|
00005100  0d 21 c0 2e 6e 6f 74 65  33 24 28 63 75 72 29 3d  |.!..note3$(cur)=|
00005110  a4 57 69 6d 70 5f 49 63  6f 6e 54 65 78 74 28 6d  |.Wimp_IconText(m|
00005120  61 69 6e 5f 57 69 6e 64  6f 77 25 2c 36 29 0d 21  |ain_Window%,6).!|
00005130  ca 2e 6e 6f 74 65 34 24  28 63 75 72 29 3d a4 57  |..note4$(cur)=.W|
00005140  69 6d 70 5f 49 63 6f 6e  54 65 78 74 28 6d 61 69  |imp_IconText(mai|
00005150  6e 5f 57 69 6e 64 6f 77  25 2c 37 29 0d 21 d4 2e  |n_Window%,7).!..|
00005160  6e 6f 74 65 35 24 28 63  75 72 29 3d a4 57 69 6d  |note5$(cur)=.Wim|
00005170  70 5f 49 63 6f 6e 54 65  78 74 28 6d 61 69 6e 5f  |p_IconText(main_|
00005180  57 69 6e 64 6f 77 25 2c  38 29 0d 21 de 2e 6e 6f  |Window%,8).!..no|
00005190  74 65 36 24 28 63 75 72  29 3d a4 57 69 6d 70 5f  |te6$(cur)=.Wimp_|
000051a0  49 63 6f 6e 54 65 78 74  28 6d 61 69 6e 5f 57 69  |IconText(main_Wi|
000051b0  6e 64 6f 77 25 2c 39 29  0d 21 e8 2f 6e 6f 74 65  |ndow%,9).!./note|
000051c0  37 24 28 63 75 72 29 3d  a4 57 69 6d 70 5f 49 63  |7$(cur)=.Wimp_Ic|
000051d0  6f 6e 54 65 78 74 28 6d  61 69 6e 5f 57 69 6e 64  |onText(main_Wind|
000051e0  6f 77 25 2c 31 30 29 0d  21 f2 05 e1 0d 21 fc 05  |ow%,10).!....!..|
000051f0  3a 0d 22 06 11 dd 20 f2  75 70 64 61 74 65 6d 61  |:."... .updatema|
00005200  69 6e 0d 22 10 4e e7 20  70 74 6f 74 3d 30 20 8c  |in.".N. ptot=0 .|
00005210  20 f2 57 69 6d 70 5f 4d  65 6e 75 44 69 73 61 62  | .Wimp_MenuDisab|
00005220  6c 65 28 6d 61 69 6e 5f  4d 65 6e 75 25 2c 32 29  |le(main_Menu%,2)|
00005230  3a f2 57 69 6d 70 5f 4d  65 6e 75 44 69 73 61 62  |:.Wimp_MenuDisab|
00005240  6c 65 28 6d 61 69 6e 5f  4d 65 6e 75 25 2c 31 29  |le(main_Menu%,1)|
00005250  0d 22 1a 4c e7 20 70 74  6f 74 3e 30 20 8c 20 f2  |.".L. ptot>0 . .|
00005260  57 69 6d 70 5f 4d 65 6e  75 45 6e 61 62 6c 65 28  |Wimp_MenuEnable(|
00005270  6d 61 69 6e 5f 4d 65 6e  75 25 2c 32 29 3a f2 57  |main_Menu%,2):.W|
00005280  69 6d 70 5f 4d 65 6e 75  45 6e 61 62 6c 65 28 6d  |imp_MenuEnable(m|
00005290  61 69 6e 5f 4d 65 6e 75  25 2c 31 29 0d 22 24 30  |ain_Menu%,1)."$0|
000052a0  f2 57 69 6d 70 5f 49 63  6f 6e 50 75 74 54 65 78  |.Wimp_IconPutTex|
000052b0  74 28 6d 61 69 6e 5f 57  69 6e 64 6f 77 25 2c 33  |t(main_Window%,3|
000052c0  2c 6e 61 6d 65 24 28 63  75 72 29 29 0d 22 2e 28  |,name$(cur)).".(|
000052d0  61 25 3d a9 28 a4 57 69  6d 70 5f 49 63 6f 6e 54  |a%=.(.Wimp_IconT|
000052e0  65 78 74 28 6d 61 69 6e  5f 57 69 6e 64 6f 77 25  |ext(main_Window%|
000052f0  2c 33 29 29 0d 22 38 26  f2 57 69 6d 70 5f 49 63  |,3))."8&.Wimp_Ic|
00005300  6f 6e 43 61 72 65 74 28  6d 61 69 6e 5f 57 69 6e  |onCaret(main_Win|
00005310  64 6f 77 25 2c 33 2c 61  25 29 0d 22 42 31 f2 57  |dow%,3,a%)."B1.W|
00005320  69 6d 70 5f 49 63 6f 6e  50 75 74 54 65 78 74 28  |imp_IconPutText(|
00005330  6d 61 69 6e 5f 57 69 6e  64 6f 77 25 2c 34 2c 6e  |main_Window%,4,n|
00005340  6f 74 65 31 24 28 63 75  72 29 29 0d 22 4c 31 f2  |ote1$(cur))."L1.|
00005350  57 69 6d 70 5f 49 63 6f  6e 50 75 74 54 65 78 74  |Wimp_IconPutText|
00005360  28 6d 61 69 6e 5f 57 69  6e 64 6f 77 25 2c 35 2c  |(main_Window%,5,|
00005370  6e 6f 74 65 32 24 28 63  75 72 29 29 0d 22 56 31  |note2$(cur))."V1|
00005380  f2 57 69 6d 70 5f 49 63  6f 6e 50 75 74 54 65 78  |.Wimp_IconPutTex|
00005390  74 28 6d 61 69 6e 5f 57  69 6e 64 6f 77 25 2c 36  |t(main_Window%,6|
000053a0  2c 6e 6f 74 65 33 24 28  63 75 72 29 29 0d 22 60  |,note3$(cur))."`|
000053b0  31 f2 57 69 6d 70 5f 49  63 6f 6e 50 75 74 54 65  |1.Wimp_IconPutTe|
000053c0  78 74 28 6d 61 69 6e 5f  57 69 6e 64 6f 77 25 2c  |xt(main_Window%,|
000053d0  37 2c 6e 6f 74 65 34 24  28 63 75 72 29 29 0d 22  |7,note4$(cur))."|
000053e0  6a 31 f2 57 69 6d 70 5f  49 63 6f 6e 50 75 74 54  |j1.Wimp_IconPutT|
000053f0  65 78 74 28 6d 61 69 6e  5f 57 69 6e 64 6f 77 25  |ext(main_Window%|
00005400  2c 38 2c 6e 6f 74 65 35  24 28 63 75 72 29 29 0d  |,8,note5$(cur)).|
00005410  22 74 31 f2 57 69 6d 70  5f 49 63 6f 6e 50 75 74  |"t1.Wimp_IconPut|
00005420  54 65 78 74 28 6d 61 69  6e 5f 57 69 6e 64 6f 77  |Text(main_Window|
00005430  25 2c 39 2c 6e 6f 74 65  36 24 28 63 75 72 29 29  |%,9,note6$(cur))|
00005440  0d 22 7e 32 f2 57 69 6d  70 5f 49 63 6f 6e 50 75  |."~2.Wimp_IconPu|
00005450  74 54 65 78 74 28 6d 61  69 6e 5f 57 69 6e 64 6f  |tText(main_Windo|
00005460  77 25 2c 31 30 2c 6e 6f  74 65 37 24 28 63 75 72  |w%,10,note7$(cur|
00005470  29 29 0d 22 88 05 e1 0d  22 92 05 3a 0d 22 9c 2f  |))."...."..:."./|
00005480  dd 20 f2 57 69 6d 70 5f  53 74 61 72 74 28 54 61  |. .Wimp_Start(Ta|
00005490  73 6b 4e 61 6d 65 24 2c  77 69 6d 70 5f 6d 65 6d  |skName$,wimp_mem|
000054a0  6f 72 79 25 2c 69 63 6f  6e 25 29 0d 22 a6 25 de  |ory%,icon%).".%.|
000054b0  20 77 69 6d 70 25 20 77  69 6d 70 5f 6d 65 6d 6f  | wimp% wimp_memo|
000054c0  72 79 25 2c 69 63 6f 6e  73 25 20 69 63 6f 6e 25  |ry%,icons% icon%|
000054d0  0d 22 b0 29 e7 20 77 69  6d 70 5f 6d 65 6d 6f 72  |.".). wimp_memor|
000054e0  79 25 3c 32 35 36 20 8c  20 77 69 6d 70 5f 6d 65  |y%<256 . wimp_me|
000054f0  6d 6f 72 79 25 3d 32 35  36 0d 22 ba 1d 69 63 6f  |mory%=256."..ico|
00005500  6e 5f 6d 65 6d 6f 72 79  25 3d 69 63 6f 6e 73 25  |n_memory%=icons%|
00005510  2b 69 63 6f 6e 25 0d 22  c4 13 74 61 73 6b 24 3d  |+icon%."..task$=|
00005520  54 61 73 6b 4e 61 6d 65  24 0d 22 ce 2b 69 6e 64  |TaskName$.".+ind|
00005530  69 72 65 63 74 5f 73 70  72 69 74 65 73 25 3d 31  |irect_sprites%=1|
00005540  20 3a 20 64 69 72 65 63  74 5f 73 70 72 69 74 65  | : direct_sprite|
00005550  73 25 3d 31 0d 22 d8 1b  f2 57 69 6d 70 5f 53 65  |s%=1."...Wimp_Se|
00005560  74 45 76 65 6e 74 56 61  72 69 61 62 6c 65 73 0d  |tEventVariables.|
00005570  22 e2 15 ee 20 85 20 f2  57 69 6d 70 5f 45 72 72  |"... . .Wimp_Err|
00005580  6f 72 3a e0 0d 22 ec 40  c8 99 22 57 69 6d 70 5f  |or:..".@.."Wimp_|
00005590  49 6e 69 74 69 61 6c 69  73 65 22 2c 32 30 30 2c  |Initialise",200,|
000055a0  26 34 42 35 33 34 31 35  34 2c 54 61 73 6b 4e 61  |&4B534154,TaskNa|
000055b0  6d 65 24 20 b8 20 76 65  72 73 69 6f 6e 25 2c 74  |me$ . version%,t|
000055c0  61 73 6b 25 0d 22 f6 05  e1 0d 23 00 05 3a 0d 23  |ask%."....#..:.#|
000055d0  0a 1b dd 20 a4 57 69 6d  70 5f 42 41 53 49 43 50  |... .Wimp_BASICP|
000055e0  61 72 61 6d 65 74 65 72  73 0d 23 14 15 20 ea 20  |arameters.#.. . |
000055f0  63 6f 6d 24 2c 70 61 72  61 6d 24 2c 49 25 0d 23  |com$,param$,I%.#|
00005600  1e 1a 20 c8 99 20 22 4f  53 5f 47 65 74 45 6e 76  |.. .. "OS_GetEnv|
00005610  22 20 b8 20 63 6f 6d 24  0d 23 28 0f 20 70 61 72  |" . com$.#(. par|
00005620  61 6d 73 24 3d 22 22 0d  23 32 18 20 49 25 3d a7  |ams$="".#2. I%=.|
00005630  63 6f 6d 24 2c 22 20 2d  71 75 69 74 20 22 29 0d  |com$," -quit ").|
00005640  23 3c 35 20 e7 20 49 25  20 8c 20 70 61 72 61 6d  |#<5 . I% . param|
00005650  73 24 3d c1 63 6f 6d 24  2c a7 63 6f 6d 24 2c 22  |s$=.com$,.com$,"|
00005660  20 22 2c 49 25 2b a9 22  20 2d 71 75 69 74 20 22  | ",I%+." -quit "|
00005670  29 2b 31 29 0d 23 46 0c  3d 70 61 72 61 6d 73 24  |)+1).#F.=params$|
00005680  0d 23 50 05 3a 0d 23 5a  1d dd 20 f2 57 69 6d 70  |.#P.:.#Z.. .Wimp|
00005690  5f 53 65 74 45 76 65 6e  74 56 61 72 69 61 62 6c  |_SetEventVariabl|
000056a0  65 73 0d 23 64 17 de 20  70 6f 69 6e 74 65 72 5f  |es.#d.. pointer_|
000056b0  62 6c 6f 63 6b 25 20 32  30 0d 23 6e 10 69 6e 74  |block% 20.#n.int|
000056c0  65 72 66 61 63 65 25 3d  a3 0d 23 78 2e 6e 75 6c  |erface%=..#x.nul|
000056d0  6c 25 3d 31 20 20 3a 64  72 61 77 25 3d 32 20 3a  |l%=1  :draw%=2 :|
000056e0  20 20 70 6f 69 6e 74 65  72 5f 6c 65 61 76 69 6e  |  pointer_leavin|
000056f0  67 25 3d 31 3c 3c 34 0d  23 82 31 70 6f 69 6e 74  |g%=1<<4.#.1point|
00005700  65 72 5f 65 6e 74 65 72  69 6e 67 25 3d 31 3c 3c  |er_entering%=1<<|
00005710  35 3a 6d 6f 75 73 65 25  3d 31 3c 3c 36 3a 64 72  |5:mouse%=1<<6:dr|
00005720  61 67 25 3d 31 3c 3c 37  0d 23 8c 26 6b 65 79 25  |ag%=1<<7.#.&key%|
00005730  3d 31 3c 3c 38 3a 6d 65  6e 75 25 3d 31 3c 3c 39  |=1<<8:menu%=1<<9|
00005740  3a 73 63 72 6f 6c 6c 25  3d 31 3c 3c 31 30 0d 23  |:scroll%=1<<10.#|
00005750  96 40 6c 6f 73 65 5f 63  61 72 65 74 25 3d 31 3c  |.@lose_caret%=1<|
00005760  3c 31 31 3a 67 61 69 6e  5f 63 61 72 65 74 25 3d  |<11:gain_caret%=|
00005770  31 3c 3c 31 32 3a 6d 65  73 73 61 67 65 25 3d 28  |1<<12:message%=(|
00005780  31 3c 3c 31 37 29 2b 28  31 3c 3c 31 38 29 0d 23  |1<<17)+(1<<18).#|
00005790  a0 30 72 65 63 6f 72 64  65 72 25 3d 31 3c 3c 31  |.0recorder%=1<<1|
000057a0  38 3a 61 63 6b 6e 6f 77  6c 65 64 67 65 25 3d 31  |8:acknowledge%=1|
000057b0  3c 3c 31 39 3a 77 69 6e  64 6f 77 25 3d 30 0d 23  |<<19:window%=0.#|
000057c0  aa 21 73 70 72 69 74 65  73 25 3d 31 3a 76 65 72  |.!sprites%=1:ver|
000057d0  73 69 6f 6e 25 3d 30 3a  74 61 73 6b 25 3d 30 0d  |sion%=0:task%=0.|
000057e0  23 b4 2a 42 61 72 5f 57  69 6e 64 6f 77 25 3d 2d  |#.*Bar_Window%=-|
000057f0  32 3a 42 61 72 5f 49 63  6f 6e 25 3d 30 3a 42 61  |2:Bar_Icon%=0:Ba|
00005800  72 5f 4d 65 6e 75 25 3d  30 0d 23 be 2a 78 5f 6f  |r_Menu%=0.#.*x_o|
00005810  72 69 67 69 6e 25 3d 30  3a 79 5f 6f 72 69 67 69  |rigin%=0:y_origi|
00005820  6e 25 3d 30 3a 53 61 76  65 57 69 6e 64 6f 77 25  |n%=0:SaveWindow%|
00005830  3d 2d 33 0d 23 c8 33 6d  65 73 73 61 67 65 5f 71  |=-3.#.3message_q|
00005840  75 69 74 25 3d 30 3a 6d  65 73 73 61 67 65 5f 73  |uit%=0:message_s|
00005850  61 76 65 25 3d 32 3a 6d  65 73 73 61 67 65 5f 6c  |ave%=2:message_l|
00005860  6f 61 64 25 3d 33 0d 23  d2 21 6d 6f 75 73 65 5f  |oad%=3.#.!mouse_|
00005870  62 75 74 74 6f 6e 25 3d  32 3a 73 61 76 65 5f 65  |button%=2:save_e|
00005880  76 65 6e 74 25 3d 30 0d  23 dc 20 74 6f 70 5f 6c  |vent%=0.#. top_l|
00005890  69 6e 65 25 3d 30 20 3a  20 62 6f 74 74 6f 6d 5f  |ine%=0 : bottom_|
000058a0  6c 69 6e 65 25 3d 30 0d  23 e6 05 e1 0d 23 f0 05  |line%=0.#....#..|
000058b0  3a 0d 23 fa 11 dd 20 f2  57 69 6d 70 5f 45 72 72  |:.#... .Wimp_Err|
000058c0  6f 72 0d 24 04 0a ea 58  24 2c 78 25 0d 24 0e 09  |or.$...X$,x%.$..|
000058d0  ee 20 85 20 87 0d 24 18  08 78 25 3d 9e 0d 24 22  |. . ..$..x%=..$"|
000058e0  1b 58 24 3d f6 24 2b 22  61 74 6c 69 6e 65 22 2b  |.X$=.$+"atline"+|
000058f0  c3 28 78 25 81 31 30 29  0d 24 2c 10 de 45 72 72  |.(x%.10).$,..Err|
00005900  6f 72 4d 73 67 25 33 36  0d 24 36 45 45 72 72 6f  |orMsg%36.$6EErro|
00005910  72 4d 73 67 25 21 30 3d  33 36 3a 45 72 72 6f 72  |rMsg%!0=36:Error|
00005920  4d 73 67 25 21 31 32 3d  30 3a 45 72 72 6f 72 4d  |Msg%!12=0:ErrorM|
00005930  73 67 25 21 31 36 3d 26  38 31 30 38 30 3a 45 72  |sg%!16=&81080:Er|
00005940  72 6f 72 4d 73 67 25 21  32 30 3d 78 25 0d 24 40  |rorMsg%!20=x%.$@|
00005950  1f 24 28 45 72 72 6f 72  4d 73 67 25 2b 32 34 29  |.$(ErrorMsg%+24)|
00005960  3d 22 21 52 75 6e 49 6d  61 67 65 22 0d 24 4a 25  |="!RunImage".$J%|
00005970  c8 99 22 57 69 6d 70 5f  53 65 6e 64 4d 65 73 73  |.."Wimp_SendMess|
00005980  61 67 65 22 2c 31 37 2c  45 72 72 6f 72 4d 73 67  |age",17,ErrorMsg|
00005990  25 0d 24 54 1f f2 57 69  6d 70 5f 57 69 6e 64 6f  |%.$T..Wimp_Windo|
000059a0  77 41 6c 65 72 74 28 74  61 73 6b 24 2c 58 24 29  |wAlert(task$,X$)|
000059b0  0d 24 5e 13 f2 57 69 6d  70 5f 43 6c 6f 73 65 44  |.$^..Wimp_CloseD|
000059c0  6f 77 6e 0d 24 68 05 e1  0d 24 72 05 3a 0d 24 7c  |own.$h...$r.:.$||
000059d0  15 dd 20 f2 57 69 6d 70  5f 43 6c 6f 73 65 44 6f  |.. .Wimp_CloseDo|
000059e0  77 6e 0d 24 86 23 c8 99  22 57 69 6d 70 5f 43 6c  |wn.$.#.."Wimp_Cl|
000059f0  6f 73 65 44 6f 77 6e 22  2c 74 61 73 6b 25 2c 22  |oseDown",task%,"|
00005a00  54 41 53 4b 22 0d 24 90  05 e1 0d 24 9a 05 3a 0d  |TASK".$....$..:.|
00005a10  24 a4 10 dd 20 f2 57 69  6d 70 5f 51 75 69 74 0d  |$... .Wimp_Quit.|
00005a20  24 ae 0f 66 69 6e 69 73  68 65 64 25 3d b9 0d 24  |$..finished%=..$|
00005a30  b8 05 e1 0d 24 c2 05 3a  0d 24 cc 23 dd 20 a4 57  |....$..:.$.#. .W|
00005a40  69 6d 70 5f 52 65 61 64  56 61 72 69 61 62 6c 65  |imp_ReadVariable|
00005a50  28 56 61 72 69 61 62 6c  65 24 29 0d 24 d6 1b ea  |(Variable$).$...|
00005a60  6c 65 6e 25 2c 72 65 73  75 6c 74 25 2c 76 61 72  |len%,result%,var|
00005a70  69 61 62 6c 65 25 0d 24  e0 14 24 77 69 6d 70 25  |iable%.$..$wimp%|
00005a80  3d 56 61 72 69 61 62 6c  65 24 0d 24 ea 33 c8 99  |=Variable$.$.3..|
00005a90  22 4f 53 5f 52 65 61 64  56 61 72 56 61 6c 22 2c  |"OS_ReadVarVal",|
00005aa0  77 69 6d 70 25 2c 77 69  6d 70 25 2b 32 35 35 2c  |wimp%,wimp%+255,|
00005ab0  32 35 35 2c 2c 33 b8 2c  2c 6c 65 6e 25 0d 24 f4  |255,,3.,,len%.$.|
00005ac0  17 77 69 6d 70 25 3f 28  6c 65 6e 25 2b 32 35 35  |.wimp%?(len%+255|
00005ad0  29 3d 31 33 0d 24 fe 11  3d 24 28 77 69 6d 70 25  |)=13.$..=$(wimp%|
00005ae0  2b 32 35 35 29 0d 25 08  4f f4 20 2a 2a 2a 2a 2a  |+255).%.O. *****|
00005af0  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |****************|
*
00005b30  2a 2a 2a 2a 0d 25 12 18  dd 20 f2 57 69 6d 70 5f  |****.%... .Wimp_|
00005b40  57 61 69 74 46 6f 72 45  76 65 6e 74 0d 25 1c 12  |WaitForEvent.%..|
00005b50  ea 20 6d 61 73 6b 25 2c  65 76 65 6e 74 25 0d 25  |. mask%,event%.%|
00005b60  26 0f 66 69 6e 69 73 68  65 64 25 3d a3 0d 25 30  |&.finished%=..%0|
00005b70  17 6d 61 73 6b 25 3d 25  31 31 31 30 30 30 30 31  |.mask%=%11100001|
00005b80  31 30 30 31 0d 25 3a 05  f5 0d 25 44 27 20 c8 99  |1001.%:...%D' ..|
00005b90  22 57 69 6d 70 5f 50 6f  6c 6c 22 2c 6d 61 73 6b  |"Wimp_Poll",mask|
00005ba0  25 2c 77 69 6d 70 25 20  b8 20 65 76 65 6e 74 25  |%,wimp% . event%|
00005bb0  0d 25 4e 10 20 c8 8e 20  65 76 65 6e 74 25 20 ca  |.%N. .. event% .|
00005bc0  0d 25 58 0a 20 20 c9 30  20 3a 0d 25 62 1f 20 20  |.%X.  .0 :.%b.  |
00005bd0  c9 31 20 3a 20 f2 57 69  6d 70 5f 50 6f 6c 6c 44  |.1 : .Wimp_PollD|
00005be0  72 61 77 57 69 6e 64 6f  77 0d 25 6c 26 20 20 c9  |rawWindow.%l&  .|
00005bf0  32 20 3a 20 c8 99 20 22  57 69 6d 70 5f 4f 70 65  |2 : .. "Wimp_Ope|
00005c00  6e 57 69 6e 64 6f 77 22  2c 2c 77 69 6d 70 25 0d  |nWindow",,wimp%.|
00005c10  25 76 20 20 20 c9 33 20  3a 20 f2 57 69 6d 70 5f  |%v   .3 : .Wimp_|
00005c20  50 6f 6c 6c 43 6c 6f 73  65 57 69 6e 64 6f 77 0d  |PollCloseWindow.|
00005c30  25 80 0a 20 20 c9 34 20  3a 0d 25 8a 0a 20 20 c9  |%..  .4 :.%..  .|
00005c40  35 20 3a 0d 25 94 1f 20  20 c9 36 20 3a 20 f2 57  |5 :.%..  .6 : .W|
00005c50  69 6d 70 5f 50 6f 6c 6c  4d 6f 75 73 65 43 6c 69  |imp_PollMouseCli|
00005c60  63 6b 0d 25 9e 20 20 20  c9 37 20 3a 20 f2 57 69  |ck.%.   .7 : .Wi|
00005c70  6d 70 5f 50 6f 6c 6c 53  61 76 65 4d 65 73 73 61  |mp_PollSaveMessa|
00005c80  67 65 0d 25 a8 1d 20 20  c9 38 20 3a 20 f2 57 69  |ge.%..  .8 : .Wi|
00005c90  6d 70 5f 50 6f 6c 6c 4b  65 79 50 72 65 73 73 0d  |mp_PollKeyPress.|
00005ca0  25 b2 23 20 20 c9 39 20  3a 20 f2 45 76 65 6e 74  |%.#  .9 : .Event|
00005cb0  5f 4d 65 6e 75 43 68 6f  69 63 65 28 6d 65 6e 75  |_MenuChoice(menu|
00005cc0  25 29 0d 25 bc 0a 20 20  c9 31 30 3a 0d 25 c6 0a  |%).%..  .10:.%..|
00005cd0  20 20 c9 31 31 3a 0d 25  d0 0a 20 20 c9 31 32 3a  |  .11:.%..  .12:|
00005ce0  0d 25 da 20 20 20 c9 31  37 2c 31 38 3a 20 f2 57  |.%.   .17,18: .W|
00005cf0  69 6d 70 5f 50 6f 6c 6c  4d 65 73 73 61 67 65 73  |imp_PollMessages|
00005d00  0d 25 e4 0a 20 20 c9 31  39 3a 0d 25 ee 06 20 cb  |.%..  .19:.%.. .|
00005d10  0d 25 f8 0f fd 20 66 69  6e 69 73 68 65 64 25 0d  |.%... finished%.|
00005d20  26 02 05 e1 0d 26 0c 05  3a 0d 26 16 1a dd 20 f2  |&....&..:.&... .|
00005d30  57 69 6d 70 5f 50 6f 6c  6c 44 72 61 77 57 69 6e  |Wimp_PollDrawWin|
00005d40  64 6f 77 0d 26 20 0b ea  20 6d 6f 72 65 25 0d 26  |dow.& .. more%.&|
00005d50  2a 26 c8 99 22 57 69 6d  70 5f 52 65 64 72 61 77  |*&.."Wimp_Redraw|
00005d60  57 69 6e 64 6f 77 22 2c  2c 77 69 6d 70 25 b8 6d  |Window",,wimp%.m|
00005d70  6f 72 65 25 0d 26 34 13  77 69 6e 64 6f 77 25 3d  |ore%.&4.window%=|
00005d80  77 69 6d 70 25 21 30 0d  26 3e 41 78 5f 6f 72 69  |wimp%!0.&>Ax_ori|
00005d90  67 69 6e 25 3d 31 36 2b  77 69 6d 70 25 21 34 2d  |gin%=16+wimp%!4-|
00005da0  77 69 6d 70 25 21 32 30  3a 79 5f 6f 72 69 67 69  |wimp%!20:y_origi|
00005db0  6e 25 3d 2d 31 36 2b 77  69 6d 70 25 21 31 36 2d  |n%=-16+wimp%!16-|
00005dc0  77 69 6d 70 25 21 32 34  0d 26 48 0b c8 95 6d 6f  |wimp%!24.&H...mo|
00005dd0  72 65 25 0d 26 52 30 20  e7 20 69 6e 74 65 72 66  |re%.&R0 . interf|
00005de0  61 63 65 25 20 8c 20 c8  99 22 57 69 6d 70 5f 42  |ace% . .."Wimp_B|
00005df0  6f 72 64 65 72 57 69 6e  64 6f 77 22 2c 2c 77 69  |orderWindow",,wi|
00005e00  6d 70 25 0d 26 5c 2d 20  f2 45 76 65 6e 74 5f 44  |mp%.&\- .Event_D|
00005e10  72 61 77 28 77 69 6e 64  6f 77 25 2c 78 5f 6f 72  |raw(window%,x_or|
00005e20  69 67 69 6e 25 2c 79 5f  6f 72 69 67 69 6e 25 29  |igin%,y_origin%)|
00005e30  0d 26 66 27 20 c8 99 22  57 69 6d 70 5f 47 65 74  |.&f' .."Wimp_Get|
00005e40  52 65 63 74 61 6e 67 6c  65 22 2c 2c 77 69 6d 70  |Rectangle",,wimp|
00005e50  25 b8 6d 6f 72 65 25 0d  26 70 05 ce 0d 26 7a 05  |%.more%.&p...&z.|
00005e60  e1 0d 26 84 05 3a 0d 26  8e 1b dd 20 f2 57 69 6d  |..&..:.&... .Wim|
00005e70  70 5f 50 6f 6c 6c 43 6c  6f 73 65 57 69 6e 64 6f  |p_PollCloseWindo|
00005e80  77 0d 26 98 25 20 20 c8  99 20 22 57 69 6d 70 5f  |w.&.%  .. "Wimp_|
00005e90  47 65 74 50 6f 69 6e 74  65 72 49 6e 66 6f 22 2c  |GetPointerInfo",|
00005ea0  2c 77 69 6d 70 25 0d 26  a2 29 20 20 77 69 6e 64  |,wimp%.&.)  wind|
00005eb0  6f 77 25 3d 77 69 6d 70  25 21 31 32 20 3a 20 62  |ow%=wimp%!12 : b|
00005ec0  75 74 74 6f 6e 73 25 3d  77 69 6d 70 25 21 38 0d  |uttons%=wimp%!8.|
00005ed0  26 ac 29 20 f2 45 76 65  6e 74 5f 57 69 6e 64 6f  |&.) .Event_Windo|
00005ee0  77 43 6c 6f 73 65 28 77  69 6e 64 6f 77 25 2c 62  |wClose(window%,b|
00005ef0  75 74 74 6f 6e 73 25 29  0d 26 b6 32 20 21 77 69  |uttons%).&.2 !wi|
00005f00  6d 70 25 3d 77 69 6e 64  6f 77 25 20 3a 20 c8 99  |mp%=window% : ..|
00005f10  20 22 57 69 6d 70 5f 43  6c 6f 73 65 57 69 6e 64  | "Wimp_CloseWind|
00005f20  6f 77 22 2c 2c 77 69 6d  70 25 0d 26 c0 05 e1 0d  |ow",,wimp%.&....|
00005f30  26 ca 05 3a 0d 26 d4 1a  dd 20 f2 57 69 6d 70 5f  |&..:.&... .Wimp_|
00005f40  50 6f 6c 6c 4d 6f 75 73  65 43 6c 69 63 6b 0d 26  |PollMouseClick.&|
00005f50  de 4a 20 62 75 74 74 6f  6e 25 3d 77 69 6d 70 25  |.J button%=wimp%|
00005f60  21 38 3a 77 69 6e 64 6f  77 25 3d 77 69 6d 70 25  |!8:window%=wimp%|
00005f70  21 31 32 3a 69 63 6f 6e  25 3d 77 69 6d 70 25 21  |!12:icon%=wimp%!|
00005f80  31 36 3a 78 25 3d 77 69  6d 70 25 21 30 3a 79 25  |16:x%=wimp%!0:y%|
00005f90  3d 77 69 6d 70 25 21 34  0d 26 e8 11 20 c8 8e 20  |=wimp%!4.&.. .. |
00005fa0  62 75 74 74 6f 6e 25 20  ca 0d 26 f2 22 20 20 20  |button% ..&."   |
00005fb0  c9 32 20 20 20 20 3a 20  f2 57 69 6d 70 5f 50 6f  |.2    : .Wimp_Po|
00005fc0  6c 6c 4d 65 6e 75 50 6f  70 55 70 0d 26 fc 23 20  |llMenuPopUp.&.# |
00005fd0  20 20 7f 3a 20 c8 8e 20  a4 45 76 65 6e 74 5f 53  |  .: .. .Event_S|
00005fe0  61 76 65 28 77 69 6e 64  6f 77 25 29 20 ca 0d 27  |ave(window%) ..'|
00005ff0  06 2c 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.,              |
00006000  20 c9 20 b9 20 3a 20 f2  57 69 6d 70 5f 50 6f 6c  | . . : .Wimp_Pol|
00006010  6c 4d 6f 75 73 65 53 61  76 65 0d 27 10 31 20 20  |lMouseSave.'.1  |
00006020  20 20 20 20 20 20 20 20  20 20 20 20 20 c9 20 a3  |             . .|
00006030  3a 20 f2 57 69 6d 70 5f  50 6f 6c 6c 45 76 65 6e  |: .Wimp_PollEven|
00006040  74 4d 6f 75 73 65 43 6c  69 63 6b 0d 27 1a 13 20  |tMouseClick.'.. |
00006050  20 20 20 20 20 20 20 20  20 20 20 20 20 cb 0d 27  |             ..'|
00006060  24 06 20 cb 0d 27 2e 05  e1 0d 27 38 05 3a 0d 27  |$. ..'....'8.:.'|
00006070  42 19 dd 20 f2 57 69 6d  70 5f 50 6f 6c 6c 4d 65  |B.. .Wimp_PollMe|
00006080  6e 75 50 6f 70 55 70 0d  27 4c 0d e7 20 53 41 25  |nuPopUp.'L.. SA%|
00006090  3d a3 20 8c 0d 27 56 10  f2 6f 70 65 6e 70 72 69  |=. ..'V..openpri|
000060a0  6e 74 65 72 0d 27 60 1e  6d 65 6e 75 25 3d a4 45  |nter.'`.menu%=.E|
000060b0  76 65 6e 74 5f 4d 65 6e  75 28 77 69 6e 64 6f 77  |vent_Menu(window|
000060c0  25 29 0d 27 6a 11 20 20  c8 8e 20 6d 65 6e 75 25  |%).'j.  .. menu%|
000060d0  20 20 ca 0d 27 74 0b 20  20 20 c9 20 a3 3a 0d 27  |  ..'t.   . .:.'|
000060e0  7e 0a 20 20 20 7f 20 3a  0d 27 88 15 20 20 20 20  |~.   . :.'..    |
000060f0  20 c8 8e 20 77 69 6e 64  6f 77 25 20 ca 0d 27 92  | .. window% ..'.|
00006100  17 20 20 20 20 20 20 c9  20 2d 32 20 20 20 3a 20  |.      . -2   : |
00006110  6e 25 3d 30 0d 27 9c 33  20 20 20 20 20 20 20 20  |n%=0.'.3        |
00006120  c8 95 20 28 28 42 61 72  5f 4d 65 6e 75 25 21 28  |.. ((Bar_Menu%!(|
00006130  32 38 2b 6e 25 2a 32 34  29 29 80 25 31 30 30 30  |28+n%*24)).%1000|
00006140  30 30 30 30 29 3d 30 0d  27 a6 12 20 20 20 20 20  |0000)=0.'..     |
00006150  20 20 20 20 6e 25 2b 3d  31 0d 27 b0 0d 20 20 20  |    n%+=1.'..   |
00006160  20 20 20 20 20 ce 0d 27  ba 3a 20 20 20 20 20 20  |     ..'.:      |
00006170  20 20 c8 99 20 22 57 69  6d 70 5f 43 72 65 61 74  |  .. "Wimp_Creat|
00006180  65 4d 65 6e 75 22 2c 2c  42 61 72 5f 4d 65 6e 75  |eMenu",,Bar_Menu|
00006190  25 2c 78 25 2d 36 34 2c  39 36 2b 6e 25 2a 34 34  |%,x%-64,96+n%*44|
000061a0  0d 27 c4 34 20 20 20 20  20 20 7f 20 3a 20 c8 99  |.'.4      . : ..|
000061b0  22 57 69 6d 70 5f 43 72  65 61 74 65 4d 65 6e 75  |"Wimp_CreateMenu|
000061c0  22 2c 2c 6d 65 6e 75 25  2c 78 25 2d 36 34 2c 79  |",,menu%,x%-64,y|
000061d0  25 2b 32 30 0d 27 ce 0a  20 20 20 20 20 cb 0d 27  |%+20.'..     ..'|
000061e0  d8 07 20 20 cb 0d 27 e2  05 cd 0d 27 ec 05 e1 0d  |..  ..'....'....|
000061f0  27 f6 05 3a 0d 28 00 19  dd 20 f2 57 69 6d 70 5f  |'..:.(... .Wimp_|
00006200  50 6f 6c 6c 4d 6f 75 73  65 53 61 76 65 0d 28 0a  |PollMouseSave.(.|
00006210  0f 20 c8 8e 20 69 63 6f  6e 25 20 ca 0d 28 14 38  |. .. icon% ..(.8|
00006220  20 20 c9 20 30 20 3a 20  e7 20 62 75 74 74 6f 6e  |  . 0 : . button|
00006230  25 20 80 20 26 35 30 20  8c 20 f2 57 69 6d 70 5f  |% . &50 . .Wimp_|
00006240  50 6f 6c 6c 44 72 61 67  42 6f 78 28 77 69 6e 64  |PollDragBox(wind|
00006250  6f 77 25 29 0d 28 1e 38  20 20 c9 20 32 20 3a 20  |ow%).(.8  . 2 : |
00006260  e7 20 62 75 74 74 6f 6e  25 20 80 20 35 20 8c 20  |. button% . 5 . |
00006270  20 f2 57 69 6d 70 5f 50  6f 6c 6c 53 61 76 65 46  | .Wimp_PollSaveF|
00006280  69 6c 65 28 77 69 6e 64  6f 77 25 29 0d 28 28 06  |ile(window%).((.|
00006290  20 cb 0d 28 32 05 e1 0d  28 3c 05 3a 0d 28 46 1f  | ..(2...(<.:.(F.|
000062a0  dd 20 f2 57 69 6d 70 5f  50 6f 6c 6c 45 76 65 6e  |. .Wimp_PollEven|
000062b0  74 4d 6f 75 73 65 43 6c  69 63 6b 0d 28 50 2e 20  |tMouseClick.(P. |
000062c0  e7 20 69 6e 74 65 72 66  61 63 65 25 20 8c 20 c8  |. interface% . .|
000062d0  99 22 57 69 6d 70 5f 42  6f 72 64 65 72 49 63 6f  |."Wimp_BorderIco|
000062e0  6e 22 2c 2c 77 69 6d 70  25 0d 28 5a 33 20 f2 45  |n",,wimp%.(Z3 .E|
000062f0  76 65 6e 74 5f 4d 6f 75  73 65 43 6c 69 63 6b 28  |vent_MouseClick(|
00006300  77 69 6e 64 6f 77 25 2c  69 63 6f 6e 25 2c 62 75  |window%,icon%,bu|
00006310  74 74 6f 6e 25 2c 78 25  2c 79 25 29 0d 28 64 15  |tton%,x%,y%).(d.|
00006320  20 c8 8e 20 20 69 6e 74  65 72 66 61 63 65 25 20  | ..  interface% |
00006330  ca 0d 28 6e 0b 20 20 c9  20 b9 20 3a 0d 28 78 28  |..(n.  . . :.(x(|
00006340  20 20 20 77 69 6d 70 25  21 30 3d 78 25 3a 77 69  |   wimp%!0=x%:wi|
00006350  6d 70 25 21 34 3d 79 25  20 3a 20 77 69 6d 70 25  |mp%!4=y% : wimp%|
00006360  21 38 3d 30 0d 28 82 28  20 20 20 77 69 6d 70 25  |!8=0.(.(   wimp%|
00006370  21 31 32 3d 77 69 6e 64  6f 77 25 20 3a 20 77 69  |!12=window% : wi|
00006380  6d 70 25 21 31 36 3d 69  63 6f 6e 25 0d 28 8c 21  |mp%!16=icon%.(.!|
00006390  20 20 20 c8 99 22 57 69  6d 70 5f 42 6f 72 64 65  |   .."Wimp_Borde|
000063a0  72 49 63 6f 6e 22 2c 2c  77 69 6d 70 25 0d 28 96  |rIcon",,wimp%.(.|
000063b0  06 20 cb 0d 28 a0 05 e1  0d 28 aa 05 3a 0d 28 b4  |. ..(....(..:.(.|
000063c0  21 dd 20 f2 57 69 6d 70  5f 50 6f 6c 6c 53 61 76  |!. .Wimp_PollSav|
000063d0  65 46 69 6c 65 28 77 69  6e 64 6f 77 25 29 0d 28  |eFile(window%).(|
000063e0  be 0a ea 66 69 6c 65 24  0d 28 c8 40 20 77 69 6d  |...file$.(.@ wim|
000063f0  70 25 21 30 3d 77 69 6e  64 6f 77 25 20 3a 20 77  |p%!0=window% : w|
00006400  69 6d 70 25 21 34 3d 31  20 3a 20 c8 99 20 22 57  |imp%!4=1 : .. "W|
00006410  69 6d 70 5f 47 65 74 49  63 6f 6e 53 74 61 74 65  |imp_GetIconState|
00006420  22 2c 2c 77 69 6d 70 25  0d 28 d2 16 20 66 69 6c  |",,wimp%.(.. fil|
00006430  65 24 3d 24 28 77 69 6d  70 25 21 32 38 29 0d 28  |e$=$(wimp%!28).(|
00006440  dc 15 20 c8 8e 20 a7 66  69 6c 65 24 2c 22 2e 22  |.. .. .file$,"."|
00006450  29 20 ca 0d 28 e6 0d 20  20 c9 20 30 20 20 20 3a  |) ..(..  . 0   :|
00006460  0d 28 f0 40 20 20 20 24  28 77 69 6d 70 25 2b 34  |.(.@   $(wimp%+4|
00006470  29 3d 22 54 6f 20 73 61  76 65 2c 20 64 72 61 67  |)="To save, drag|
00006480  20 74 68 65 20 69 63 6f  6e 20 74 6f 20 61 20 64  | the icon to a d|
00006490  69 72 65 63 74 6f 72 79  20 77 69 6e 64 6f 77 22  |irectory window"|
000064a0  0d 28 fa 2b 20 20 20 c8  99 20 22 57 69 6d 70 5f  |.(.+   .. "Wimp_|
000064b0  52 65 70 6f 72 74 45 72  72 6f 72 22 2c 77 69 6d  |ReportError",wim|
000064c0  70 25 2c 31 36 2c 74 61  73 6b 24 0d 29 04 08 20  |p%,16,task$.).. |
000064d0  20 7f 3a 0d 29 0e 25 20  20 20 f2 45 76 65 6e 74  | .:.).%   .Event|
000064e0  5f 53 61 76 65 46 69 6c  65 28 66 69 6c 65 24 2c  |_SaveFile(file$,|
000064f0  77 69 6e 64 6f 77 25 29  0d 29 18 06 20 cb 0d 29  |window%).).. ..)|
00006500  22 1b 20 c8 99 22 57 69  6d 70 5f 43 72 65 61 74  |". .."Wimp_Creat|
00006510  65 4d 65 6e 75 22 2c 2d  31 0d 29 2c 1d e7 20 53  |eMenu",-1.),.. S|
00006520  41 25 3d b9 20 8c 20 f2  57 69 6d 70 5f 43 6c 6f  |A%=. . .Wimp_Clo|
00006530  73 65 44 6f 77 6e 0d 29  36 05 e1 0d 29 40 05 3a  |seDown.)6...)@.:|
00006540  0d 29 4a 20 dd 20 f2 57  69 6d 70 5f 50 6f 6c 6c  |.)J . .Wimp_Poll|
00006550  44 72 61 67 42 6f 78 28  77 69 6e 64 6f 77 25 29  |DragBox(window%)|
00006560  0d 29 54 0a ea 78 25 2c  79 25 0d 29 5e 12 20 73  |.)T..x%,y%.)^. s|
00006570  61 76 65 25 3d 77 69 6e  64 6f 77 25 0d 29 68 13  |ave%=window%.)h.|
00006580  20 21 77 69 6d 70 25 3d  77 69 6e 64 6f 77 25 0d  | !wimp%=window%.|
00006590  29 72 23 20 c8 99 22 57  69 6d 70 5f 47 65 74 57  |)r# .."Wimp_GetW|
000065a0  69 6e 64 6f 77 53 74 61  74 65 22 2c 2c 77 69 6d  |indowState",,wim|
000065b0  70 25 0d 29 7c 2d 20 78  25 3d 77 69 6d 70 25 21  |p%.)|- x%=wimp%!|
000065c0  34 2d 77 69 6d 70 25 21  32 30 3a 79 25 3d 77 69  |4-wimp%!20:y%=wi|
000065d0  6d 70 25 21 31 36 2d 77  69 6d 70 25 21 32 34 0d  |mp%!16-wimp%!24.|
000065e0  29 86 0e 20 77 69 6d 70  25 21 34 3d 30 0d 29 90  |).. wimp%!4=0.).|
000065f0  21 20 c8 99 22 57 69 6d  70 5f 47 65 74 49 63 6f  |! .."Wimp_GetIco|
00006600  6e 53 74 61 74 65 22 2c  2c 77 69 6d 70 25 0d 29  |nState",,wimp%.)|
00006610  9a 13 20 21 77 69 6d 70  25 3d 77 69 6e 64 6f 77  |.. !wimp%=window|
00006620  25 0d 29 a4 0e 20 77 69  6d 70 25 21 34 3d 35 0d  |%.).. wimp%!4=5.|
00006630  29 ae 2c 20 77 69 6d 70  25 21 38 3d 78 25 2b 77  |)., wimp%!8=x%+w|
00006640  69 6d 70 25 21 38 3a 77  69 6d 70 25 21 31 32 3d  |imp%!8:wimp%!12=|
00006650  79 25 2b 77 69 6d 70 25  21 31 32 0d 29 b8 2e 20  |y%+wimp%!12.).. |
00006660  77 69 6d 70 25 21 31 36  3d 78 25 2b 77 69 6d 70  |wimp%!16=x%+wimp|
00006670  25 21 31 36 3a 77 69 6d  70 25 21 32 30 3d 79 25  |%!16:wimp%!20=y%|
00006680  2b 77 69 6d 70 25 21 32  30 0d 29 c2 1a 20 77 69  |+wimp%!20.).. wi|
00006690  6d 70 25 21 32 34 3d 30  3a 77 69 6d 70 25 21 32  |mp%!24=0:wimp%!2|
000066a0  38 3d 30 0d 29 cc 2a 20  77 69 6d 70 25 21 33 32  |8=0.).* wimp%!32|
000066b0  3d 26 37 46 46 46 46 46  46 46 3a 77 69 6d 70 25  |=&7FFFFFFF:wimp%|
000066c0  21 33 36 3d 26 37 46 46  46 46 46 46 46 0d 29 d6  |!36=&7FFFFFFF.).|
000066d0  1c 20 c8 99 22 57 69 6d  70 5f 44 72 61 67 42 6f  |. .."Wimp_DragBo|
000066e0  78 22 2c 2c 77 69 6d 70  25 0d 29 e0 05 e1 0d 29  |x",,wimp%.)....)|
000066f0  ea 05 3a 0d 29 f4 18 dd  20 f2 57 69 6d 70 5f 50  |..:.)... .Wimp_P|
00006700  6f 6c 6c 4b 65 79 50 72  65 73 73 0d 29 fe 31 20  |ollKeyPress.).1 |
00006710  20 77 69 6e 64 6f 77 25  3d 77 69 6d 70 25 21 30  | window%=wimp%!0|
00006720  3a 69 63 6f 6e 25 3d 77  69 6d 70 25 21 34 3a 6b  |:icon%=wimp%!4:k|
00006730  65 79 25 3d 77 69 6d 70  25 21 32 34 0d 2a 08 1f  |ey%=wimp%!24.*..|
00006740  20 20 c8 8e 20 a4 45 76  65 6e 74 5f 53 61 76 65  |  .. .Event_Save|
00006750  28 77 69 6e 64 6f 77 25  29 20 ca 0d 2a 12 28 20  |(window%) ..*.( |
00006760  20 20 c9 20 b9 20 3a 20  f2 57 69 6d 70 5f 50 6f  |  . . : .Wimp_Po|
00006770  6c 6c 53 61 76 65 46 69  6c 65 28 77 69 6e 64 6f  |llSaveFile(windo|
00006780  77 25 29 0d 2a 1c 2f 20  20 20 c9 20 a3 3a 20 f2  |w%).*./   . .: .|
00006790  45 76 65 6e 74 5f 4b 65  79 50 72 65 73 73 28 77  |Event_KeyPress(w|
000067a0  69 6e 64 6f 77 25 2c 69  63 6f 6e 25 2c 6b 65 79  |indow%,icon%,key|
000067b0  25 29 0d 2a 26 07 20 20  cb 0d 2a 30 05 e1 0d 2a  |%).*&.  ..*0...*|
000067c0  3a 05 3a 0d 2a 44 1b dd  20 f2 57 69 6d 70 5f 50  |:.:.*D.. .Wimp_P|
000067d0  6f 6c 6c 53 61 76 65 4d  65 73 73 61 67 65 0d 2a  |ollSaveMessage.*|
000067e0  4e 1e ea 66 69 6c 65 24  2c 77 69 6e 64 6f 77 25  |N..file$,window%|
000067f0  2c 69 63 6f 6e 25 2c 78  25 2c 79 25 0d 2a 58 23  |,icon%,x%,y%.*X#|
00006800  20 c8 99 22 57 69 6d 70  5f 47 65 74 50 6f 69 6e  | .."Wimp_GetPoin|
00006810  74 65 72 49 6e 66 6f 22  2c 2c 77 69 6d 70 25 0d  |terInfo",,wimp%.|
00006820  2a 62 3a 20 77 69 6e 64  6f 77 25 3d 77 69 6d 70  |*b: window%=wimp|
00006830  25 21 31 32 3a 69 63 6f  6e 25 3d 77 69 6d 70 25  |%!12:icon%=wimp%|
00006840  21 31 36 3a 78 25 3d 77  69 6d 70 25 21 30 3a 79  |!16:x%=wimp%!0:y|
00006850  25 3d 77 69 6d 70 25 21  34 0d 2a 6c 3e 20 77 69  |%=wimp%!4.*l> wi|
00006860  6d 70 25 21 30 3d 73 61  76 65 25 20 3a 20 77 69  |mp%!0=save% : wi|
00006870  6d 70 25 21 34 3d 31 20  3a 20 c8 99 20 22 57 69  |mp%!4=1 : .. "Wi|
00006880  6d 70 5f 47 65 74 49 63  6f 6e 53 74 61 74 65 22  |mp_GetIconState"|
00006890  2c 2c 77 69 6d 70 25 0d  2a 76 16 20 66 69 6c 65  |,,wimp%.*v. file|
000068a0  24 3d 24 28 77 69 6d 70  25 21 32 38 29 0d 2a 80  |$=$(wimp%!28).*.|
000068b0  2b 20 66 69 6c 65 24 3d  a4 57 69 6d 70 5f 47 65  |+ file$=.Wimp_Ge|
000068c0  74 46 69 6c 65 46 72 6f  6d 50 61 74 68 6e 61 6d  |tFileFromPathnam|
000068d0  65 28 66 69 6c 65 24 29  0d 2a 8a 0e 41 43 45 24  |e(file$).*..ACE$|
000068e0  3d 66 69 6c 65 24 0d 2a  94 15 20 77 69 6d 70 25  |=file$.*.. wimp%|
000068f0  21 32 30 3d 77 69 6e 64  6f 77 25 0d 2a 9e 13 20  |!20=window%.*.. |
00006900  77 69 6d 70 25 21 32 34  3d 69 63 6f 6e 25 0d 2a  |wimp%!24=icon%.*|
00006910  a8 1c 20 77 69 6d 70 25  21 32 38 3d 78 25 3a 77  |.. wimp%!28=x%:w|
00006920  69 6d 70 25 21 33 32 3d  79 25 0d 2a b2 15 20 77  |imp%!32=y%.*.. w|
00006930  69 6d 70 25 21 33 36 3d  6c 65 6e 67 74 68 25 0d  |imp%!36=length%.|
00006940  2a bc 0f 20 77 69 6d 70  25 21 30 3d 36 34 0d 2a  |*.. wimp%!0=64.*|
00006950  c6 0f 20 77 69 6d 70 25  21 31 32 3d 30 0d 2a d0  |.. wimp%!12=0.*.|
00006960  0f 20 77 69 6d 70 25 21  31 36 3d 31 0d 2a da 12  |. wimp%!16=1.*..|
00006970  20 77 69 6d 70 25 21 34  30 3d 26 46 46 46 0d 2a  | wimp%!40=&FFF.*|
00006980  e4 16 20 24 28 77 69 6d  70 25 2b 34 34 29 3d 66  |.. $(wimp%+44)=f|
00006990  69 6c 65 24 0d 2a ee 34  20 c8 99 22 57 69 6d 70  |ile$.*.4 .."Wimp|
000069a0  5f 53 65 6e 64 4d 65 73  73 61 67 65 22 2c 31 37  |_SendMessage",17|
000069b0  2c 77 69 6d 70 25 2c 77  69 6d 70 25 21 32 30 2c  |,wimp%,wimp%!20,|
000069c0  77 69 6d 70 25 21 32 34  0d 2a f8 05 e1 0d 2b 02  |wimp%!24.*....+.|
000069d0  05 3a 0d 2b 0c 18 dd 20  f2 57 69 6d 70 5f 50 6f  |.:.+... .Wimp_Po|
000069e0  6c 6c 4d 65 73 73 61 67  65 73 0d 2b 16 0b ea 20  |llMessages.+... |
000069f0  66 69 6c 65 24 0d 2b 20  2c 66 69 6c 65 24 3d a4  |file$.+ ,file$=.|
00006a00  57 69 6d 70 5f 47 65 74  53 74 72 69 6e 67 41 74  |Wimp_GetStringAt|
00006a10  41 64 64 72 65 73 73 28  77 69 6d 70 25 2b 34 34  |Address(wimp%+44|
00006a20  29 0d 2b 2a 15 20 20 20  20 c8 8e 20 77 69 6d 70  |).+*.    .. wimp|
00006a30  25 21 31 36 20 ca 0d 2b  34 1a 20 20 20 20 20 c9  |%!16 ..+4.     .|
00006a40  20 30 20 3a 20 66 69 6e  69 73 68 65 64 25 3d b9  | 0 : finished%=.|
00006a50  0d 2b 3e 0e 20 20 20 20  20 c9 20 31 20 3a 0d 2b  |.+>.     . 1 :.+|
00006a60  48 0e 20 20 20 20 20 c9  20 32 20 3a 0d 2b 52 2a  |H.     . 2 :.+R*|
00006a70  20 20 20 20 20 20 f2 57  69 6d 70 5f 49 63 6f 6e  |      .Wimp_Icon|
00006a80  50 75 74 54 65 78 74 28  73 61 76 65 25 2c 31 2c  |PutText(save%,1,|
00006a90  66 69 6c 65 24 29 0d 2b  5c 43 20 20 20 20 20 20  |file$).+\C      |
00006aa0  77 69 6d 70 25 21 30 3d  73 61 76 65 25 20 3a 20  |wimp%!0=save% : |
00006ab0  77 69 6d 70 25 21 34 3d  31 20 3a 20 c8 99 20 22  |wimp%!4=1 : .. "|
00006ac0  57 69 6d 70 5f 47 65 74  49 63 6f 6e 53 74 61 74  |Wimp_GetIconStat|
00006ad0  65 22 2c 2c 77 69 6d 70  25 0d 2b 66 1b 20 20 20  |e",,wimp%.+f.   |
00006ae0  20 20 20 24 28 77 69 6d  70 25 21 32 38 29 3d 66  |   $(wimp%!28)=f|
00006af0  69 6c 65 24 0d 2b 70 3c  20 20 20 20 20 20 77 69  |ile$.+p<      wi|
00006b00  6d 70 25 21 30 3d 73 61  76 65 25 20 3a 20 77 69  |mp%!0=save% : wi|
00006b10  6d 70 25 21 34 3d 31 20  3a 20 77 69 6d 70 25 21  |mp%!4=1 : wimp%!|
00006b20  38 3d 30 20 3a 20 77 69  6d 70 25 21 31 32 3d 30  |8=0 : wimp%!12=0|
00006b30  0d 2b 7a 27 20 20 20 20  20 20 c8 99 20 22 57 69  |.+z'      .. "Wi|
00006b40  6d 70 5f 53 65 74 49 63  6f 6e 53 74 61 74 65 22  |mp_SetIconState"|
00006b50  2c 2c 77 69 6d 70 25 0d  2b 84 29 20 20 20 20 20  |,,wimp%.+.)     |
00006b60  20 f2 57 69 6d 70 5f 49  63 6f 6e 43 61 72 65 74  | .Wimp_IconCaret|
00006b70  28 73 61 76 65 25 2c 31  2c a9 66 69 6c 65 24 29  |(save%,1,.file$)|
00006b80  0d 2b 8e 38 20 20 20 20  20 20 c8 99 20 22 57 69  |.+.8      .. "Wi|
00006b90  6d 70 5f 53 65 74 43 61  72 65 74 50 6f 73 69 74  |mp_SetCaretPosit|
00006ba0  69 6f 6e 22 2c 73 61 76  65 25 2c 31 2c 2c 2c 2d  |ion",save%,1,,,-|
00006bb0  31 2c a9 66 69 6c 65 24  0d 2b 98 26 20 20 20 20  |1,.file$.+.&    |
00006bc0  20 20 f2 45 76 65 6e 74  5f 53 61 76 65 46 69 6c  |  .Event_SaveFil|
00006bd0  65 28 66 69 6c 65 24 2c  73 61 76 65 25 29 0d 2b  |e(file$,save%).+|
00006be0  a2 1d e7 20 53 41 25 3d  b9 20 8c 20 f2 57 69 6d  |... SA%=. . .Wim|
00006bf0  70 5f 43 6c 6f 73 65 44  6f 77 6e 0d 2b ac 0c 20  |p_CloseDown.+.. |
00006c00  20 20 20 20 c9 20 33 0d  2b b6 47 20 20 20 20 20  |    . 3.+.G     |
00006c10  20 74 79 70 65 24 3d a4  57 69 6d 70 5f 46 69 6c  | type$=.Wimp_Fil|
00006c20  65 54 79 70 65 28 77 69  6d 70 25 21 34 30 29 20  |eType(wimp%!40) |
00006c30  3a 20 f2 45 76 65 6e 74  5f 4c 6f 61 64 46 69 6c  |: .Event_LoadFil|
00006c40  65 28 66 69 6c 65 24 2c  74 79 70 65 24 29 0d 2b  |e(file$,type$).+|
00006c50  c0 09 c9 20 34 20 3a 0d  2b ca 07 c9 20 35 0d 2b  |... 4 :.+... 5.+|
00006c60  d4 22 74 79 70 65 24 3d  a4 57 69 6d 70 5f 46 69  |."type$=.Wimp_Fi|
00006c70  6c 65 54 79 70 65 28 77  69 6d 70 25 21 34 30 29  |leType(wimp%!40)|
00006c80  0d 2b de 15 e7 20 74 79  70 65 24 3d 22 43 68 65  |.+... type$="Che|
00006c90  61 74 22 20 8c 0d 2b e8  14 77 69 6d 70 25 21 31  |at" ..+..wimp%!1|
00006ca0  32 3d 77 69 6d 70 25 21  38 0d 2b f2 2b c8 99 22  |2=wimp%!8.+.+.."|
00006cb0  58 57 69 6d 70 5f 53 65  6e 64 4d 65 73 73 61 67  |XWimp_SendMessag|
00006cc0  65 22 2c 31 37 2c 77 69  6d 70 25 2c 77 69 6d 70  |e",17,wimp%,wimp|
00006cd0  25 21 32 30 0d 2b fc 1f  66 69 6c 65 24 3d a4 57  |%!20.+..file$=.W|
00006ce0  69 6d 70 5f 47 65 74 46  69 6c 65 50 61 74 68 4e  |imp_GetFilePathN|
00006cf0  61 6d 65 0d 2c 06 20 f2  45 76 65 6e 74 5f 4c 6f  |ame.,. .Event_Lo|
00006d00  61 64 46 69 6c 65 28 66  69 6c 65 24 2c 74 79 70  |adFile(file$,typ|
00006d10  65 24 29 0d 2c 10 05 cd  0d 2c 1a 09 20 20 20 20  |e$).,....,..    |
00006d20  cb 0d 2c 24 05 e1 0d 2c  2e 05 3a 0d 2c 38 26 dd  |..,$...,..:.,8&.|
00006d30  20 a4 57 69 6d 70 5f 47  65 74 53 74 72 69 6e 67  | .Wimp_GetString|
00006d40  41 74 41 64 64 72 65 73  73 28 61 72 72 61 79 25  |AtAddress(array%|
00006d50  29 0d 2c 42 0d ea 73 24  3a 73 24 3d 22 22 0d 2c  |).,B..s$:s$="".,|
00006d60  4c 3c c8 95 28 3f 61 72  72 61 79 25 3c 3e 31 33  |L<..(?array%<>13|
00006d70  29 80 28 3f 61 72 72 61  79 25 3c 3e 30 29 3a 73  |).(?array%<>0):s|
00006d80  24 2b 3d bd 28 3f 61 72  72 61 79 25 29 3a 61 72  |$+=.(?array%):ar|
00006d90  72 61 79 25 2b 3d 31 3a  ce 3a 0d 2c 56 07 3d 73  |ray%+=1:.:.,V.=s|
00006da0  24 0d 2c 60 05 3a 0d 2c  6a 23 dd 20 a4 57 69 6d  |$.,`.:.,j#. .Wim|
00006db0  70 5f 47 65 74 46 69 6c  65 46 72 6f 6d 50 61 74  |p_GetFileFromPat|
00006dc0  68 6e 61 6d 65 28 66 24  29 0d 2c 74 11 c8 8e 20  |hname(f$).,t... |
00006dd0  a7 66 24 2c 22 2e 22 29  20 ca 0d 2c 7e 10 20 c9  |.f$,".") ..,~. .|
00006de0  20 30 20 20 20 20 3a 3d  66 24 0d 2c 88 37 20 7f  | 0    :=f$.,.7 .|
00006df0  20 3a 3d a4 57 69 6d 70  5f 47 65 74 46 69 6c 65  | :=.Wimp_GetFile|
00006e00  46 72 6f 6d 50 61 74 68  6e 61 6d 65 28 c2 66 24  |FromPathname(.f$|
00006e10  2c a9 28 66 24 29 2d a7  66 24 2c 22 2e 22 29 29  |,.(f$)-.f$,"."))|
00006e20  29 0d 2c 92 05 cb 0d 2c  9c 05 3a 0d 2c a6 1b dd  |).,....,..:.,...|
00006e30  20 a4 57 69 6d 70 5f 46  69 6c 65 54 79 70 65 28  | .Wimp_FileType(|
00006e40  74 79 70 65 25 29 0d 2c  b0 0c c8 8e 74 79 70 65  |type%).,....type|
00006e50  25 ca 0d 2c ba 12 c9 26  42 42 44 3a 3d 22 43 68  |%..,...&BBD:="Ch|
00006e60  65 61 74 22 0d 2c c4 11  c9 26 46 46 46 3a 3d 22  |eat".,...&FFF:="|
00006e70  54 65 78 74 22 0d 2c ce  11 c9 26 46 46 44 3a 3d  |Text".,...&FFD:=|
00006e80  22 44 61 74 61 22 0d 2c  d8 12 c9 26 46 46 42 3a  |"Data".,...&FFB:|
00006e90  3d 22 42 61 73 69 63 22  0d 2c e2 13 c9 26 46 46  |="Basic".,...&FF|
00006ea0  39 3a 3d 22 53 70 72 69  74 65 22 0d 2c ec 14 c9  |9:="Sprite".,...|
00006eb0  26 46 45 44 3a 3d 22 50  61 6c 65 74 74 65 22 0d  |&FED:="Palette".|
00006ec0  2c f6 15 c9 26 46 45 43  3a 3d 22 54 65 6d 70 6c  |,...&FEC:="Templ|
00006ed0  61 74 65 22 0d 2d 00 11  c9 26 41 46 46 3a 3d 22  |ate".-...&AFF:="|
00006ee0  44 72 61 77 22 0d 2d 0a  14 c9 26 31 30 30 30 3a  |Draw".-...&1000:|
00006ef0  3d 22 46 6f 6c 64 65 72  22 0d 2d 14 19 c9 26 32  |="Folder".-...&2|
00006f00  30 30 30 3a 3d 22 41 70  70 6c 69 63 61 74 69 6f  |000:="Applicatio|
00006f10  6e 22 0d 2d 1e 0f 7f 3d  c3 7e 28 74 79 70 65 25  |n".-...=.~(type%|
00006f20  29 0d 2d 28 05 cb 0d 2d  32 05 3a 0d 2d 3c 13 dd  |).-(...-2.:.-<..|
00006f30  20 f2 6d 6f 75 73 65 62  6f 78 28 77 25 29 0d 2d  | .mousebox(w%).-|
00006f40  46 0e 77 69 6d 70 25 21  30 3d 77 25 0d 2d 50 24  |F.wimp%!0=w%.-P$|
00006f50  c8 99 22 57 69 6d 70 5f  47 65 74 57 69 6e 64 6f  |.."Wimp_GetWindo|
00006f60  77 4f 75 74 6c 69 6e 65  22 2c 2c 77 69 6d 70 25  |wOutline",,wimp%|
00006f70  0d 2d 5a 43 c8 97 20 c8  93 20 77 69 6d 70 25 21  |.-ZC.. .. wimp%!|
00006f80  34 2b 32 2c 77 69 6d 70  25 21 38 2b 32 2c 77 69  |4+2,wimp%!8+2,wi|
00006f90  6d 70 25 21 31 32 2d 77  69 6d 70 25 21 34 2d 34  |mp%!12-wimp%!4-4|
00006fa0  2c 77 69 6d 70 25 21 31  36 2d 77 69 6d 70 25 21  |,wimp%!16-wimp%!|
00006fb0  38 2d 34 0d 2d 64 05 e1  0d 2d 6e 05 3a 0d 2d 78  |8-4.-d...-n.:.-x|
00006fc0  0c dd 20 f2 75 6e 62 6f  78 0d 2d 82 2b c8 99 20  |.. .unbox.-.+.. |
00006fd0  22 4f 53 5f 52 65 61 64  4d 6f 64 65 56 61 72 69  |"OS_ReadModeVari|
00006fe0  61 62 6c 65 22 2c 2d 31  2c 31 31 20 b8 20 2c 2c  |able",-1,11 . ,,|
00006ff0  78 70 69 63 0d 2d 8c 2b  c8 99 20 22 4f 53 5f 52  |xpic.-.+.. "OS_R|
00007000  65 61 64 4d 6f 64 65 56  61 72 69 61 62 6c 65 22  |eadModeVariable"|
00007010  2c 2d 31 2c 31 32 20 b8  20 2c 2c 79 70 69 63 0d  |,-1,12 . ,,ypic.|
00007020  2d 96 2b c8 99 20 22 4f  53 5f 52 65 61 64 4d 6f  |-.+.. "OS_ReadMo|
00007030  64 65 56 61 72 69 61 62  6c 65 22 2c 2d 31 2c 34  |deVariable",-1,4|
00007040  20 b8 20 2c 2c 78 66 61  63 74 0d 2d a0 2b c8 99  | . ,,xfact.-.+..|
00007050  20 22 4f 53 5f 52 65 61  64 4d 6f 64 65 56 61 72  | "OS_ReadModeVar|
00007060  69 61 62 6c 65 22 2c 2d  31 2c 35 20 b8 20 2c 2c  |iable",-1,5 . ,,|
00007070  79 66 61 63 74 0d 2d aa  25 c8 97 20 c8 93 20 30  |yfact.-.%.. .. 0|
00007080  2c 30 2c 78 70 69 63 3c  3c 78 66 61 63 74 2c 79  |,0,xpic<<xfact,y|
00007090  70 69 63 3c 3c 79 66 61  63 74 0d 2d b4 05 e1 0d  |pic<<yfact.-....|
000070a0  2d be 05 3a 0d 2d c8 18  dd 20 a4 67 65 74 73 74  |-..:.-... .getst|
000070b0  72 69 6e 67 28 61 72 72  61 79 25 29 0d 2d d2 14  |ring(array%).-..|
000070c0  ea 20 70 61 74 68 24 2c  70 6f 69 6e 74 65 72 25  |. path$,pointer%|
000070d0  0d 2d dc 0c 70 61 74 68  24 3d 22 22 0d 2d e6 13  |.-..path$="".-..|
000070e0  70 6f 69 6e 74 65 72 25  3d 61 72 72 61 79 25 0d  |pointer%=array%.|
000070f0  2d f0 05 f5 0d 2d fa 15  70 61 74 68 24 2b 3d bd  |-....-..path$+=.|
00007100  3f 70 6f 69 6e 74 65 72  25 0d 2e 04 0f 70 6f 69  |?pointer%....poi|
00007110  6e 74 65 72 25 2b 3d 31  0d 2e 0e 20 fd 20 3f 70  |nter%+=1... . ?p|
00007120  6f 69 6e 74 65 72 25 3d  30 20 84 20 3f 70 6f 69  |ointer%=0 . ?poi|
00007130  6e 74 65 72 25 3d 31 33  0d 2e 18 0a 3d 70 61 74  |nter%=13....=pat|
00007140  68 24 0d 2e 22 05 3a 0d  2e 2c 11 dd f2 6f 70 65  |h$..".:..,...ope|
00007150  6e 70 72 69 6e 74 65 72  0d 2e 36 30 c8 99 20 22  |nprinter..60.. "|
00007160  58 50 44 72 69 76 65 72  5f 49 6e 66 6f 22 20 b8  |XPDriver_Info" .|
00007170  20 52 30 2c 52 31 2c 52  32 2c 52 33 2c 52 34 2c  | R0,R1,R2,R3,R4,|
00007180  52 35 2c 52 36 2c 52 37  0d 2e 40 2f e7 20 52 31  |R5,R6,R7..@/. R1|
00007190  3d 30 20 80 20 52 32 3d  30 20 80 20 52 33 3d 30  |=0 . R2=0 . R3=0|
000071a0  20 80 20 52 35 3d 30 20  80 20 52 36 3d 30 20 80  | . R5=0 . R6=0 .|
000071b0  20 52 37 3d 30 20 8c 0d  2e 4a 39 f2 57 69 6d 70  | R7=0 ...J9.Wimp|
000071c0  5f 49 63 6f 6e 50 75 74  54 65 78 74 28 70 72 69  |_IconPutText(pri|
000071d0  6e 74 5f 57 69 6e 64 6f  77 25 2c 30 2c 22 4e 6f  |nt_Window%,0,"No|
000071e0  20 64 72 69 76 65 72 20  6c 6f 61 64 65 64 22 29  | driver loaded")|
000071f0  0d 2e 54 0d 44 52 49 56  45 52 25 3d a3 0d 2e 5e  |..T.DRIVER%=...^|
00007200  05 cc 0d 2e 68 0d 44 52  49 56 45 52 25 3d b9 0d  |....h.DRIVER%=..|
00007210  2e 72 12 f4 20 6e 6f 20  70 72 69 6e 74 65 72 20  |.r.. no printer |
00007220  3f 0d 2e 7c 05 cd 0d 2e  86 11 e7 20 44 52 49 56  |?..|....... DRIV|
00007230  45 52 25 3d b9 20 8c 0d  2e 90 1b 70 72 69 6e 74  |ER%=. .....print|
00007240  65 72 24 3d a4 67 65 74  73 74 72 69 6e 67 28 52  |er$=.getstring(R|
00007250  34 29 0d 2e 9a 2f f2 57  69 6d 70 5f 49 63 6f 6e  |4).../.Wimp_Icon|
00007260  50 75 74 54 65 78 74 28  70 72 69 6e 74 5f 57 69  |PutText(print_Wi|
00007270  6e 64 6f 77 25 2c 30 2c  70 72 69 6e 74 65 72 24  |ndow%,0,printer$|
00007280  29 0d 2e a4 05 cd 0d 2e  ae 05 e1 0d 2e b8 05 3a  |)..............:|
00007290  0d 2e c2 0b dd f2 70 72  69 6e 74 0d 2e cc 05 3a  |......print....:|
000072a0  0d 2e d6 36 70 72 69 6e  74 68 61 6e 64 25 3d ae  |...6printhand%=.|
000072b0  28 22 50 52 49 4e 54 45  52 3a 24 2e 4a 6f 62 31  |("PRINTER:$.Job1|
000072c0  22 29 20 3a 20 f4 20 73  74 61 72 74 20 61 20 6a  |") : . start a j|
000072d0  6f 62 20 21 21 21 0d 2e  e0 1b 24 74 69 74 6c 65  |ob !!!....$title|
000072e0  25 3d 22 45 78 63 68 61  6e 67 65 20 66 69 6c 65  |%="Exchange file|
000072f0  22 0d 2e ea 1f c8 99 20  26 38 30 31 34 35 2c 70  |"...... &80145,p|
00007300  72 69 6e 74 68 61 6e 64  25 2c 74 69 74 6c 65 25  |rinthand%,title%|
00007310  0d 2e f4 3e d5 23 70 72  69 6e 74 68 61 6e 64 25  |...>.#printhand%|
00007320  2c 31 33 20 3a 20 f4 20  70 75 74 20 68 65 61 64  |,13 : . put head|
00007330  20 74 6f 20 6c 65 66 74  20 6f 66 20 70 61 70 65  | to left of pape|
00007340  72 20 74 6f 20 73 74 61  72 74 21 21 21 21 0d 2e  |r to start!!!!..|
00007350  fe 05 3a 0d 2f 08 0f e7  20 70 72 69 6e 74 3d b9  |..:./... print=.|
00007360  20 8c 0d 2f 12 2a f2 70  72 69 6e 74 6c 69 6e 65  | ../.*.printline|
00007370  28 22 4e 61 6d 65 20 3a  20 22 2b 6e 61 6d 65 24  |("Name : "+name$|
00007380  28 63 75 72 29 2b bd 28  31 30 29 29 0d 2f 1c 38  |(cur)+.(10))./.8|
00007390  e7 20 6e 6f 74 65 31 24  28 63 75 72 29 3c 3e 22  |. note1$(cur)<>"|
000073a0  22 20 8c 20 f2 70 72 69  6e 74 6c 69 6e 65 28 22  |" . .printline("|
000073b0  22 2b 6e 6f 74 65 31 24  28 63 75 72 29 2b bd 28  |"+note1$(cur)+.(|
000073c0  31 30 29 29 0d 2f 26 38  e7 20 6e 6f 74 65 32 24  |10))./&8. note2$|
000073d0  28 63 75 72 29 3c 3e 22  22 20 8c 20 f2 70 72 69  |(cur)<>"" . .pri|
000073e0  6e 74 6c 69 6e 65 28 22  22 2b 6e 6f 74 65 32 24  |ntline(""+note2$|
000073f0  28 63 75 72 29 2b bd 28  31 30 29 29 0d 2f 30 38  |(cur)+.(10))./08|
00007400  e7 20 6e 6f 74 65 33 24  28 63 75 72 29 3c 3e 22  |. note3$(cur)<>"|
00007410  22 20 8c 20 f2 70 72 69  6e 74 6c 69 6e 65 28 22  |" . .printline("|
00007420  22 2b 6e 6f 74 65 33 24  28 63 75 72 29 2b bd 28  |"+note3$(cur)+.(|
00007430  31 30 29 29 0d 2f 3a 38  e7 20 6e 6f 74 65 34 24  |10))./:8. note4$|
00007440  28 63 75 72 29 3c 3e 22  22 20 8c 20 f2 70 72 69  |(cur)<>"" . .pri|
00007450  6e 74 6c 69 6e 65 28 22  22 2b 6e 6f 74 65 34 24  |ntline(""+note4$|
00007460  28 63 75 72 29 2b bd 28  31 30 29 29 0d 2f 44 38  |(cur)+.(10))./D8|
00007470  e7 20 6e 6f 74 65 35 24  28 63 75 72 29 3c 3e 22  |. note5$(cur)<>"|
00007480  22 20 8c 20 f2 70 72 69  6e 74 6c 69 6e 65 28 22  |" . .printline("|
00007490  22 2b 6e 6f 74 65 35 24  28 63 75 72 29 2b bd 28  |"+note5$(cur)+.(|
000074a0  31 30 29 29 0d 2f 4e 38  e7 20 6e 6f 74 65 36 24  |10))./N8. note6$|
000074b0  28 63 75 72 29 3c 3e 22  22 20 8c 20 f2 70 72 69  |(cur)<>"" . .pri|
000074c0  6e 74 6c 69 6e 65 28 22  22 2b 6e 6f 74 65 36 24  |ntline(""+note6$|
000074d0  28 63 75 72 29 2b bd 28  31 30 29 29 0d 2f 58 38  |(cur)+.(10))./X8|
000074e0  e7 20 6e 6f 74 65 37 24  28 63 75 72 29 3c 3e 22  |. note7$(cur)<>"|
000074f0  22 20 8c 20 f2 70 72 69  6e 74 6c 69 6e 65 28 22  |" . .printline("|
00007500  22 2b 6e 6f 74 65 37 24  28 63 75 72 29 2b bd 28  |"+note7$(cur)+.(|
00007510  31 30 29 29 0d 2f 62 15  f2 70 72 69 6e 74 6c 69  |10))./b..printli|
00007520  6e 65 28 bd 28 31 30 29  29 0d 2f 6c 05 cd 0d 2f  |ne(.(10))./l.../|
00007530  76 0f e7 20 70 72 69 6e  74 3d a3 20 8c 0d 2f 80  |v.. print=. ../.|
00007540  10 e3 20 41 3d 30 20 b8  20 70 74 6f 74 0d 2f 8a  |.. A=0 . ptot./.|
00007550  28 f2 70 72 69 6e 74 6c  69 6e 65 28 22 4e 61 6d  |(.printline("Nam|
00007560  65 20 3a 20 22 2b 6e 61  6d 65 24 28 41 29 2b bd  |e : "+name$(A)+.|
00007570  28 31 30 29 29 0d 2f 94  34 e7 20 6e 6f 74 65 31  |(10))./.4. note1|
00007580  24 28 41 29 3c 3e 22 22  20 8c 20 f2 70 72 69 6e  |$(A)<>"" . .prin|
00007590  74 6c 69 6e 65 28 22 22  2b 6e 6f 74 65 31 24 28  |tline(""+note1$(|
000075a0  41 29 2b bd 28 31 30 29  29 0d 2f 9e 34 e7 20 6e  |A)+.(10))./.4. n|
000075b0  6f 74 65 32 24 28 41 29  3c 3e 22 22 20 8c 20 f2  |ote2$(A)<>"" . .|
000075c0  70 72 69 6e 74 6c 69 6e  65 28 22 22 2b 6e 6f 74  |printline(""+not|
000075d0  65 32 24 28 41 29 2b bd  28 31 30 29 29 0d 2f a8  |e2$(A)+.(10))./.|
000075e0  34 e7 20 6e 6f 74 65 33  24 28 41 29 3c 3e 22 22  |4. note3$(A)<>""|
000075f0  20 8c 20 f2 70 72 69 6e  74 6c 69 6e 65 28 22 22  | . .printline(""|
00007600  2b 6e 6f 74 65 33 24 28  41 29 2b bd 28 31 30 29  |+note3$(A)+.(10)|
00007610  29 0d 2f b2 34 e7 20 6e  6f 74 65 34 24 28 41 29  |)./.4. note4$(A)|
00007620  3c 3e 22 22 20 8c 20 f2  70 72 69 6e 74 6c 69 6e  |<>"" . .printlin|
00007630  65 28 22 22 2b 6e 6f 74  65 34 24 28 41 29 2b bd  |e(""+note4$(A)+.|
00007640  28 31 30 29 29 0d 2f bc  34 e7 20 6e 6f 74 65 35  |(10))./.4. note5|
00007650  24 28 41 29 3c 3e 22 22  20 8c 20 f2 70 72 69 6e  |$(A)<>"" . .prin|
00007660  74 6c 69 6e 65 28 22 22  2b 6e 6f 74 65 35 24 28  |tline(""+note5$(|
00007670  41 29 2b bd 28 31 30 29  29 0d 2f c6 34 e7 20 6e  |A)+.(10))./.4. n|
00007680  6f 74 65 36 24 28 41 29  3c 3e 22 22 20 8c 20 f2  |ote6$(A)<>"" . .|
00007690  70 72 69 6e 74 6c 69 6e  65 28 22 22 2b 6e 6f 74  |printline(""+not|
000076a0  65 36 24 28 41 29 2b bd  28 31 30 29 29 0d 2f d0  |e6$(A)+.(10))./.|
000076b0  34 e7 20 6e 6f 74 65 37  24 28 41 29 3c 3e 22 22  |4. note7$(A)<>""|
000076c0  20 8c 20 f2 70 72 69 6e  74 6c 69 6e 65 28 22 22  | . .printline(""|
000076d0  2b 6e 6f 74 65 37 24 28  41 29 2b bd 28 31 30 29  |+note7$(A)+.(10)|
000076e0  29 0d 2f da 15 f2 70 72  69 6e 74 6c 69 6e 65 28  |)./...printline(|
000076f0  bd 28 31 30 29 29 0d 2f  e4 07 ed 20 41 0d 2f ee  |.(10))./... A./.|
00007700  05 cd 0d 2f f8 05 3a 0d  30 02 28 d5 23 70 72 69  |.../..:.0.(.#pri|
00007710  6e 74 68 61 6e 64 25 2c  31 32 20 3a 20 f4 20 64  |nthand%,12 : . d|
00007720  6f 20 6c 69 6e 65 66 65  65 64 20 21 21 21 21 0d  |o linefeed !!!!.|
00007730  30 0c 18 c8 99 20 26 38  30 31 34 38 2c 70 72 69  |0.... &80148,pri|
00007740  6e 74 68 61 6e 64 25 0d  30 16 11 d9 20 23 70 72  |nthand%.0... #pr|
00007750  69 6e 74 68 61 6e 64 25  0d 30 20 05 e1 0d 30 2a  |inthand%.0 ...0*|
00007760  05 3a 0d 30 34 16 dd f2  70 72 69 6e 74 6c 69 6e  |.:.04...printlin|
00007770  65 28 6c 69 6e 65 24 29  0d 30 3e 16 e3 20 63 63  |e(line$).0>.. cc|
00007780  6f 3d 31 20 b8 20 a9 28  6c 69 6e 65 24 29 0d 30  |o=1 . .(line$).0|
00007790  48 19 62 79 74 65 3d 97  28 c1 6c 69 6e 65 24 2c  |H.byte=.(.line$,|
000077a0  63 63 6f 2c 31 29 29 0d  30 52 15 d5 23 70 72 69  |cco,1)).0R..#pri|
000077b0  6e 74 68 61 6e 64 25 2c  62 79 74 65 0d 30 5c 47  |nthand%,byte.0\G|
000077c0  e7 20 62 79 74 65 3d 31  30 20 84 20 62 79 74 65  |. byte=10 . byte|
000077d0  3d 31 33 20 8c 20 d5 23  70 72 69 6e 74 68 61 6e  |=13 . .#printhan|
000077e0  64 25 2c 31 33 20 3a 20  f4 20 70 75 74 20 68 65  |d%,13 : . put he|
000077f0  61 64 20 74 6f 20 6c 65  66 74 20 6f 66 20 70 61  |ad to left of pa|
00007800  70 65 72 0d 30 66 09 ed  20 63 63 6f 0d 30 70 05  |per.0f.. cco.0p.|
00007810  e1 0d 30 7a 05 3a 0d 30  84 0c dd 20 f2 65 72 72  |..0z.:.0... .err|
00007820  6f 72 0d 30 8e 56 e7 20  9f 3d 36 37 37 38 35 20  |or.0.V. .=67785 |
00007830  8c 20 f2 57 69 6d 70 5f  57 69 6e 64 6f 77 45 72  |. .Wimp_WindowEr|
00007840  72 6f 72 42 6f 78 28 22  21 43 68 65 61 74 73 22  |rorBox("!Cheats"|
00007850  2c 22 50 6c 65 61 73 65  20 77 72 69 74 65 20 65  |,"Please write e|
00007860  6e 61 62 6c 65 20 74 68  65 20 64 69 73 6b 22 29  |nable the disk")|
00007870  3a d9 20 23 58 25 3a e1  0d 30 98 05 e1 0d ff     |:. #X%:..0.....|
0000787f