Home » Recent acquisitions » Acorn ADFS disks » adfs_ArchimedesWorld_199204.adf » April92 » !AWApr92/Goodies/DiscMan/!DiscMan/!RunImage
!AWApr92/Goodies/DiscMan/!DiscMan/!RunImage
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Recent acquisitions » Acorn ADFS disks » adfs_ArchimedesWorld_199204.adf » April92 |
Filename: | !AWApr92/Goodies/DiscMan/!DiscMan/!RunImage |
Read OK: | ✔ |
File size: | 415D bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10 REM >$.!DiscMan.!RunImage 20 REM 30 REM DiscManager Version 1.02 1991 J.A.Beaven 35 REM (c) Archimedes World April 1992 40 REM 50 REM This application allows the user to produce a simple 'Database' 60 REM of their disc collection allowing searches to determine which 70 REM disc has which programs on it.To use this program the discs 80 REM should idealy be numbered. 90 REM 100 REM J.A.B 26th June 1991 110 : 120 PROCActivate_Task("Disc Manager") 130 PROCInit_Sprite_Area("<DiscMan$Dir>.Sprites") 140 PROCInit_New_Vars 150 PROCcolours 160 PROCBar_Icon("!DiscMan","RIGHT") 170 PROCLoadTemplates 180 PROCCodeWimpMenus 190 PROCSetPageIcons(1) 200 Quit=FALSE 210 : 220 ON ERROR PROCWimp_Error(REPORT$+" at "+STR$(ERL)) 230 REPEAT 240 PROCAction(FNPoll(0)) 250 UNTIL Quit=TRUE 260 SYS "Wimp_CloseDown" 270 END 280 : 290 DEF FNPoll(M%) 300 LOCAL code% 310 block!0=M% 320 SYS "Wimp_Poll",0,block TO code% 330 =code% 340 : 350 DEFPROCAction(Event%) 360 CASE Event% OF 370 WHEN 0 : 380 WHEN 1 :PROCRedrawWindow(block!0) 390 WHEN 2 :PROCOpenWindowB(block!0) 400 WHEN 3 :PROCCloseWindow(block!0,TRUE) 410 WHEN 4 : 420 WHEN 5 : 430 WHEN 6 :PROCOpenMenus:PROCWindowClick 440 WHEN 7 :PROCsave 450 WHEN 8 :PROCKeyPress(block) 460 WHEN 9 :PROCMenuSelect(block) 470 WHEN 17,18 :PROCRecieveMessage(block) 480 ENDCASE 490 ENDPROC 500 : 510 DEFPROCOpenWindow(Handle%) 520 PROCCloseWindow(Handle%,FALSE) 530 block!0 = Handle% 540 SYS "Wimp_GetWindowState",0,block 550 SYS "Wimp_OpenWindow",0,block 560 ENDPROC 570 : 580 DEFPROCOpenWindowB(Handle%) 590 block!0 = Handle% 600 SYS "Wimp_OpenWindow",0,block 610 ENDPROC 620 : 630 DEFPROCRedrawWindow(Handle%) 640 LOCAL More%,XOrigin%,YOrigin% 650 block!0=Handle% 660 SYS "Wimp_RedrawWindow",0,block TO More% 670 PROCFindLWAOrigin(block+4,XOrigin%,YOrigin%) 680 WHILE More% 690 PROCFindsWindow(XOrigin%,YOrigin%) 700 SYS "Wimp_GetRectangle",0,block TO More% 710 ENDWHILE 720 ENDPROC 730 : 740 DEFPROCCloseWindow(handle%,FLAG) 750 IF block!0=extra% AND FLAG=TRUE THEN ExtraOpen=-1 760 block!0=handle% 770 SYS "Wimp_CloseWindow",0,block 780 ENDPROC 790 : 800 DEFPROCFindLWAOrigin(b,RETURN x%,RETURN y%) 810 x%=b!0-b!16 820 y%=b!12-b!20 830 ENDPROC 840 : 850 DEF PROCWindowClick 860 b%=block!8 870 h%=block!12 880 i%=block!16 890 IF h%=-2 AND b%=4 THEN PROCOpenWindow(controll%):PROCOpenWindow(index%) 900 IF h%=file THEN 910 IF i%=0 THEN 920 !block=file 930 SYS "Wimp_GetWindowState",,block 940 IX%=block!4-block!20 950 IY%=block!16-block!24 960 block!4=0 970 SYS "Wimp_GetIconState",,block 980 !block=file 990 block!4=5 1000 block!8=block!8+IX% 1010 block!12=block!12+IY% 1020 block!16=block!16+IX% 1030 block!20=block!20+IY% 1040 block!24=0:block!28=0 1050 block!32=&7FFFFFFF:block!36=&7FFFFFFF 1060 SYS "Wimp_DragBox",,block 1070 ENDIF 1080 ENDIF 1090 IF h%=file AND i%=2 THEN PROCOKSave 1100 IF h%=controll% THEN PROCControllPannel(block) 1110 IF h%=index% THEN PROCClickOnIndex(block) 1120 IF h%=extra% AND i%=5 AND ExtraOpen<>-1 THEN PROCCloseExtra(ExtraOpen) 1130 IF h%=extra% AND block!16=6 AND ExtraOpen<>-1 THEN PROCExamineDisc(ExtraOpen) 1140 IF h%=search% THEN PROCSearchButtons(block) 1150 IF h%=print% AND i%=3 THEN PROCPrintIndex 1160 ENDPROC 1170 : 1180 DEF PROCCodeWimpMenus 1190 DIM BlockMainMenu 1*(28+(10*24)) 1200 DIM BlockIconMenu 1*(28+(10*24)) 1210 UsingMenu=-1 1220 REM Header For Main Menu 1230 $BlockMainMenu=LEFT$("DiscManager",11) 1240 BlockMainMenu?12=Black 1250 BlockMainMenu?13=2 1260 BlockMainMenu?14=Black 1270 BlockMainMenu?15=White 1280 BlockMainMenu!16=200 1290 BlockMainMenu!20=40 1300 BlockMainMenu!24=10 1310 REM Data For Main Menu 1320 ItemPos=28 1330 PROCMenuItem("Info",BlockMainMenu+ItemPos,info%,FALSE) 1340 ItemPos+=24 1350 PROCMenuItem("Search",BlockMainMenu+ItemPos,search%,FALSE) 1360 ItemPos+=24 1370 PROCMenuItem("Examine",BlockMainMenu+ItemPos,-1,FALSE) 1380 ItemPos+=24 1390 PROCMenuItem("Clear Rec",BlockMainMenu+ItemPos,-1,FALSE) 1400 ItemPos+=24 1410 PROCMenuItem("Goto",BlockMainMenu+ItemPos,goto%,FALSE) 1420 ItemPos+=24 1430 PROCMenuItem("Save",BlockMainMenu+ItemPos,file,FALSE) 1440 ItemPos+=24 1450 PROCMenuItem("Print",BlockMainMenu+ItemPos,print%,FALSE) 1460 ItemPos+=24 1470 PROCMenuItem("Quit",BlockMainMenu+ItemPos,-1,TRUE) 1480 REM Header For Icon Menu 1490 $BlockIconMenu=LEFT$("DiscManager",11) 1500 BlockIconMenu?12=Black 1510 BlockIconMenu?13=2 1520 BlockIconMenu?14=Black 1530 BlockIconMenu?15=White 1540 BlockIconMenu!16=150 1550 BlockIconMenu!20=40 1560 BlockIconMenu!24=10 1570 REM Data For Icon Menu 1580 ItemPos=28 1590 PROCMenuItem("Info",BlockIconMenu+ItemPos,info%,FALSE) 1600 ItemPos+=24 1610 PROCMenuItem("Quit",BlockIconMenu+ItemPos,-1,TRUE) 1620 ENDPROC 1630 : 1640 DEFPROCMenuItem(Data$,Point,Handle%,LAST) 1650 IF LAST=FALSE THEN Point!0=&0 1660 IF LAST=TRUE THEN Point!0=&80 1670 Point!4=Handle% 1680 Point!8=&010021 OR 7<<24 1690 $(Point+12)=LEFT$(Data$,11) 1700 ENDPROC 1710 : 1720 DEFPROCBringUpMenu(MenuName,MouseX,MouseY) 1730 SYS "Wimp_CreateMenu",0,MenuName,MouseX,MouseY 1740 UsingMenu=MenuName 1750 ENDPROC 1760 : 1770 DEF PROCOpenMenus 1780 MenuHandle=block!12 1790 MenuIcon=block!16 1800 Handle%=block!12 1810 Button%=((block!8)AND7)AND NOT((block!20)AND7) 1820 MouseX=block!0 1830 MouseY=block!4 1840 IF Button%=2 AND Handle%<>-2 THEN PROCBringUpMenu(BlockMainMenu,MouseX,MouseY) 1850 IF Button%=2 AND Handle%=-2 THEN PROCBringUpMenu(BlockIconMenu,MouseX,MouseY) 1860 ENDPROC 1870 : 1880 DEFPROCMenuSelect(block) 1890 CASE UsingMenu OF 1900 WHEN BlockMainMenu : PROCMenuSelect_Main(block) 1910 WHEN BlockIconMenu : PROCMenuSelect_Icon(block) 1920 ENDCASE 1930 UsingMenu=-1 1940 ENDPROC 1950 : 1960 DEFPROCMenuSelect_Main(block) 1970 Root=block!0 1980 Sub1=block!4 1990 Sub2=block!8 2000 Sub3=block!12 2010 Sub4=block!16 2020 IF Root=1 THEN PROCOpenWindow(search%) 2030 IF Root=2 THEN PROCExamineDisc(ExtraOpen) 2040 IF Root=3 THEN PROCClearRecord 2050 IF Root=7 THEN Quit=TRUE 2060 ENDPROC 2070 : 2080 DEFPROCMenuSelect_Icon(block) 2090 Root=block!0 2100 Sub1=block!4 2110 Sub2=block!8 2120 Sub3=block!12 2130 Sub4=block!16 2140 IF Root=1 THEN Quit=TRUE 2150 ENDPROC 2160 : 2170 DEFPROCcolours 2180 Black=7 2190 Red=11 2200 Green=10 2210 Yellow=9 2220 Blue=8 2230 Magenta=5 2240 Cyan=6 2250 White=0 2260 ENDPROC 2270 : 2280 DEFPROCRecieveMessage(b) 2290 CASE b!16 OF 2300 WHEN 0:Quit=TRUE 2310 WHEN 1: 2320 WHEN 2:PROCDataSave(b) 2330 WHEN 3:PROCDataLoad(b) 2340 ENDCASE 2350 ENDPROC 2360 : 2370 DEF PROCDataLoad(b) 2380 IF b!12=0 THEN 2390 path$=FNFindName(b+44) 2400 PROCDo_The_Load(path$) 2410 b!12=b!8:b!16=4:!b=64 2420 ENDIF 2430 ENDPROC 2440 : 2450 DEF FNFindName(ptr) 2460 p$="" 2470 WHILE ?ptr<>0 2480 p$+=CHR$?ptr:ptr+=1 2490 ENDWHILE 2500 =p$ 2510 : 2520 DEF PROCOKSave 2530 Name$=FNGet_Icon_State(file,1) 2540 IF INSTR(Name$,".") THEN 2550 PROCDo_The_Save(Name$) 2560 ELSE 2570 $block=" To save, drag the icon to a directory viewer" 2580 SYS "Wimp_ReportError",block,1,"Disc Manager" 2590 ENDIF 2600 ENDPROC 2610 : 2620 DEF PROCDataSave(b) 2630 PROCDo_The_Save(FNGetName(b+44)) 2640 PROCSet_Icon_Text(file,1,FNGetName(b+44)) 2650 b!12=b!8:b!16=3:!b=64 2660 SYS "Wimp_SendMessage",17,b,b!20,b!24 2670 ENDPROC 2680 : 2690 DEF FNGetName(ptr) 2700 f$="" 2710 WHILE ?ptr<>0 AND ?ptr<>13 2720 f$=f$+CHR$?ptr:ptr+=1 2730 ENDWHILE 2740 =f$ 2750 : 2760 DEF PROCsave 2770 Name$=FNGet_Icon_State(file,1) 2780 SYS "Wimp_GetPointerInfo",,block 2790 block!20=64:block!32=0 2800 block!36=1:block!40=block!12 2810 block!44=block!16 2820 block!48=!block 2830 block!52=block!4 2840 block!56=100*40 2850 block!60=&FEE 2860 $(block+64)=FNFindLastPathName(Name$) 2870 SYS "Wimp_SendMessage",17,block+20,block!12,block!16 2880 ENDPROC 2890 : 2900 DEF FNFindLastPathName(path$) 2910 WHILE INSTR(path$,".") 2920 path$=MID$(path$,INSTR(path$,".")+1) 2930 ENDWHILE 2940 =path$ 2950 : 2960 DEFPROCDo_The_Save(NNAME$) 2970 PROCWriteIconsToIndex(Page) 2980 X=OPENOUT(NNAME$) 2990 PRINT #X,MaxPages 3000 FOR Save=1 TO (MaxPages*10) 3010 PRINT #X,Text$(Save) 3020 NEXT 3030 FOR Save=1 TO (MaxPages*10*5) 3040 PRINT #X,Notes$(Save) 3050 NEXT 3060 CLOSE #X 3070 OSCLI "SETTYPE "+NNAME$+" Index" 3080 ENDPROC 3090 : 3100 DEFPROCDo_The_Load(NNAME$) 3110 X=OPENIN(NNAME$) 3120 INPUT #X,MaxPages 3130 FOR Save=1 TO (MaxPages*10) 3140 INPUT #X,Text$(Save) 3150 NEXT 3160 FOR Save=1 TO (MaxPages*10*5) 3170 INPUT #X,Notes$(Save) 3180 NEXT 3190 Page=1 3200 PROCSetPageIcons(1) 3210 CLOSE #X 3220 ENDPROC 3230 : 3240 DEF PROCLoadTemplates 3250 DIM bblock &800,template% &800 3260 SYS "Wimp_OpenTemplate",,"<DiscMan$Dir>.Templates" 3270 LOCAL c%,end% : end%=template%+&800 3280 : 3290 SYS "Wimp_LoadTemplate",,bblock,template%,end%,-1,"Info",0 TO ,,template%,,,,c% 3300 SYS "Wimp_CreateWindow",,bblock TO c% 3310 info%=c% 3320 : 3330 SYS "Wimp_LoadTemplate",,bblock,template%,end%,-1,"Index",0 TO ,,template%,,,,c% 3340 SYS "Wimp_CreateWindow",,bblock TO c% 3350 index%=c% 3360 : 3370 SYS "Wimp_LoadTemplate",,bblock,template%,end%,-1,"Controll",0 TO ,,template%,,,,c% 3380 bblock!64=SpritePointer 3390 SYS "Wimp_CreateWindow",,bblock TO c% 3400 controll%=c% 3410 : 3420 SYS "Wimp_LoadTemplate",,bblock,template%,end%,-1,"Extra",0 TO ,,template%,,,,c% 3430 SYS "Wimp_CreateWindow",,bblock TO c% 3440 extra%=c% 3450 : 3460 SYS "Wimp_LoadTemplate",,bblock,template%,end%,-1,"Search",0 TO ,,template%,,,,c% 3470 SYS "Wimp_CreateWindow",,bblock TO c% 3480 search%=c% 3490 : 3500 SYS "Wimp_LoadTemplate",,bblock,template%,end%,-1,"Finds",0 TO ,,template%,,,,c% 3510 SYS "Wimp_CreateWindow",,bblock TO c% 3520 finds%=c% 3530 : 3540 SYS "Wimp_LoadTemplate",,bblock,template%,end%,-1,"Save",0 TO ,,template%,,,,c% 3550 SYS "Wimp_CreateWindow",,bblock TO c% 3560 file=c% 3570 : 3580 SYS "Wimp_LoadTemplate",,bblock,template%,end%,-1,"Goto",0 TO ,,template%,,,,c% 3590 SYS "Wimp_CreateWindow",,bblock TO c% 3600 goto%=c% 3610 : 3620 SYS "Wimp_LoadTemplate",,bblock,template%,end%,-1,"Print",0 TO ,,template%,,,,c% 3630 SYS "Wimp_CreateWindow",,bblock TO c% 3640 print%=c% 3650 SYS "Wimp_CloseTemplate" 3660 ENDPROC 3670 : 3680 DEF PROCWimp_Error(message$) 3690 !block=ERR:$(block+4)=message$ 3700 SYS "Wimp_ReportError",block,1,"Disc Manager" 3710 ENDPROC 3720 : 3730 DEFPROCActivate_Task(Name$) 3740 DIM SetSystemTaskID 4 3750 $SetSystemTaskID="TASK" 3760 SYS "Wimp_Initialise",200,!SetSystemTaskID,Name$ 3770 ENDPROC 3780 : 3790 DEFPROCInit_New_Vars 3800 DiscLimit=300 3810 PageLimit=DiscLimit/10 3820 DIM block &300 3830 DIM Text$(DiscLimit) 3840 DIM Notes$(DiscLimit*5) 3850 DIM SearchFinds(DiscLimit) 3860 DIM Buffer% 1000 3870 DIM RootDir$(77) 3880 Search_Extra=TRUE 3890 Search_Title=FALSE 3900 Page=1 3910 MaxPages=1 3920 ExtraOpen=-1 3930 Finds=0 3940 ENDPROC 3950 : 3960 DEFPROCBar_Icon(Application$,side$) 3970 LOCAL p% 3980 IF side$="LEFT" THEN num=-2 3990 IF side$="RIGHT" THEN num=-1 4000 block!0=num 4010 block!4=0:block!8=0 4020 block!12=68:block!16=68 4030 block!20=&3012 OR White<<28 OR Black<<24 4040 $(block+24)=LEFT$(Application$,11) 4050 SYS "Wimp_CreateIcon",0,block 4060 ENDPROC 4070 : 4080 DEF FNGet_Icon_State(Handle%,Icon%) 4090 block!0=Handle% 4100 block!4=Icon% 4110 SYS "Wimp_GetIconState",0,block 4120 =$(block!28) 4130 : 4140 DEF PROCSet_Icon_Text(Handle%,Icon%,Text$) 4150 block!0=Handle% 4160 block!4=Icon% 4170 SYS "Wimp_GetIconState",0,block 4180 $(block!28)=Text$ 4190 block!8=0 4200 block!12=0 4210 SYS "Wimp_SetIconState",0,block 4220 ENDPROC 4230 : 4240 DEFPROCSetPageIcons(Current) 4250 RealNumber=(Current*10)-9 4260 FOR IconPointer=10 TO 19 4270 PROCSet_Icon_Text(index%,IconPointer,STR$(RealNumber)) 4280 RealNumber+=1 4290 NEXT 4300 PROCShowIndex(Current) 4310 ENDPROC 4320 : 4330 DEFPROCControllPannel(block) 4340 CASE block!16 OF 4350 WHEN 0 : PROCWriteIconsToIndex(Page):Page=1:PROCSetPageIcons(Page) 4360 WHEN 1 : IF Page>1 THEN PROCWriteIconsToIndex(Page):Page=Page-1:PROCSetPageIcons(Page) 4370 WHEN 2 : IFPage<PageLimit THEN PROCWriteIconsToIndex(Page):Page=Page+1:PROCSetPageIcons(Page):IF MaxPages<Page THEN MaxPages=Page 4380 WHEN 3 : PROCWriteIconsToIndex(Page):Page=MaxPages:PROCSetPageIcons(Page) 4390 ENDCASE 4400 ENDPROC 4410 : 4420 DEFPROCClickOnIndex(block) 4430 IF block!16<10 OR block!16>19 THEN :ENDPROC 4440 ExtraOpen=VAL(FNGet_Icon_State(index%,block!16)) 4450 PROCOpenExtra(ExtraOpen) 4460 ENDPROC 4470 : 4480 DEFPROCOpenExtra(Num) 4490 Icon_Handle=0 4500 FOR L=(Num*5)-4 TO (Num*5) 4510 PROCSet_Icon_Text(extra%,Icon_Handle,Notes$(L)) 4520 Icon_Handle+=1 4530 NEXT 4540 PROCOpenWindow(extra%) 4550 PROCSet_Icon_Text(extra%,8,STR$(Num)) 4560 ENDPROC 4570 : 4580 DEFPROCCloseExtra(Num) 4590 Icon_Handle=0 4600 FOR L=(Num*5)-4 TO (Num*5) 4610 Notes$(L)=FNGet_Icon_State(extra%,Icon_Handle) 4620 Icon_Handle+=1 4630 NEXT 4640 PROCCloseWindow(extra%,TRUE) 4650 ExtraOpen=-1 4660 ENDPROC 4670 : 4680 DEFPROCWriteIconsToIndex(Current) 4690 RealNumber=(Current*10)-9 4700 FOR IconPointer=0 TO 9 4710 Text$(RealNumber)=FNGet_Icon_State(index%,IconPointer) 4720 RealNumber+=1 4730 NEXT 4740 ENDPROC 4750 : 4760 DEFPROCShowIndex(Current) 4770 RealNumber=(Current*10)-9 4780 FOR IconPointer=0 TO 9 4790 PROCSet_Icon_Text(index%,IconPointer,Text$(RealNumber)) 4800 RealNumber+=1 4810 NEXT 4820 ENDPROC 4830 : 4840 DEFPROCSearchButtons(block) 4850 IF block!8=1 THEN ENDPROC 4860 IF block!16=1 AND Search_Extra=FALSE THEN 4870 Search_Extra=FNToggle(Search_Extra) 4880 Search_Title=FNToggle(Search_Title) 4890 ENDIF 4900 IF block!16=2 AND Search_Title=FALSE THEN 4910 Search_Extra=FNToggle(Search_Extra) 4920 Search_Title=FNToggle(Search_Title) 4930 ENDIF 4940 ENDPROC 4950 : 4960 DEFFNToggle(a) 4970 R=TRUE 4980 IF a=TRUE THEN R=FALSE 4990 =R 5000 : 5010 DEFPROCSearch(Word$) 5020 IF Search_Title=TRUE THEN PROCSearch_Title(Word$) 5030 IF Search_Extra=TRUE THEN PROCSearch_Extra(Word$) 5040 ENDIF 5050 ENDPROC 5060 : 5070 DEFPROCSearch_Extra(Word$) 5080 Finds=0 5090 FOR Disc=1 TO (10*MaxPages) 5100 Extra=(Disc*5)-4 5110 Halt=FALSE 5120 REPEAT 5130 Search=INSTR(Notes$(Extra),Word$) 5140 Extra+=1 5150 IF Search<>0 THEN 5160 Halt=TRUE 5170 Finds+=1 5180 SearchFinds(Finds)=Disc 5190 ENDIF 5200 IF Extra>(Disc*5) THEN Halt=TRUE 5210 UNTIL Halt=TRUE 5220 NEXT 5230 Header$=Word$+" [Scan Over Extra Block]" 5240 PROCSet_Icon_Text(finds%,0,Header$) 5250 PROCOpenWindow(finds%) 5260 PROCRedrawWindow(finds%) 5270 ENDPROC 5280 : 5290 DEFPROCSearch_Title(Word$) 5300 Finds=0 5310 FOR Disc=1 TO (10*MaxPages) 5320 Search=INSTR(Text$(Disc),Word$) 5330 IF Search <>0 THEN 5340 Finds+=1 5350 SearchFinds(Finds)=Disc 5360 ENDIF 5370 NEXT 5380 Header$=Word$+" [Scan Over Title]" 5390 PROCSet_Icon_Text(finds%,0,Header$) 5400 PROCOpenWindow(finds%) 5410 PROCRedrawWindow(finds%) 5420 ENDPROC 5430 : 5440 DEFPROCFindsWindow(XOrigin%,YOrigin%) 5450 IF Finds=0 THEN MOVE XOrigin%+30,YOrigin%-100:PRINT"String Not Found In Index !":ENDPROC 5460 Drop=100 5470 FOR Pointer=1 TO Finds 5480 MOVE XOrigin%+30,YOrigin%-Drop 5490 IF SearchFinds(Pointer)<>0 THEN PRINT "Found On Disc : ";STR$(SearchFinds(Pointer)) 5500 Drop+=40 5510 NEXT 5520 ENDPROC 5530 : 5540 DEFFNGet_Catolog 5550 LOCAL NumberOfFiles,Pointer,Index 5560 SYS "OS_GBPB",9,"ADFS:$",Buffer%,255,0,1000,"*" TO ,,,NumberOfFiles 5570 File$="" 5580 Pointer=0 5590 FOR Index=1 TO NumberOfFiles 5600 Finish=FALSE 5610 REPEAT 5620 Char=Buffer%?Pointer 5630 IF Char<>0 THEN File$+=CHR$(Char) 5640 Pointer+=1 5650 IF Char=0 THEN Finish=TRUE 5660 UNTIL Finish=TRUE 5670 RootDir$(Index)=File$ 5680 File$="" 5690 NEXT 5700 =NumberOfFiles 5710 : 5720 DEFPROCExamineDisc(ExtraOpen) 5730 IF ExtraOpen=-1 THEN VDU7:ENDPROC 5740 OSCLI("ADFS") 5750 OSCLI("MOUNT") 5760 FOR Clear=0 TO 4 5770 PROCSet_Icon_Text(extra%,Clear,"") 5780 NEXT 5790 NumFiles=FNGet_Catolog 5800 Title$=FNTitle 5810 Icon=0 5820 Total=0 5830 Build$="" 5840 IF NumFiles>0 THEN 5850 FOR Pointer=1 TO NumFiles 5860 Set=FALSE 5870 Total=LEN(Build$)+LEN(RootDir$(Pointer)) 5880 IF Total>70 THEN 5890 IF Icon<5 THEN PROCSet_Icon_Text(extra%,Icon,Build$) 5900 Icon+=1 5910 Build$="" 5920 Total=0 5930 Set=TRUE 5940 ENDIF 5950 IF Total<70 THEN 5960 IF Pointer<>1 THEN Build$+="," 5970 Build$+=RootDir$(Pointer) 5980 ENDIF 5990 NEXT 6000 IF Set=FALSE AND Icon<5 THEN PROCSet_Icon_Text(extra%,Icon,Build$) 6010 ENDIF 6020 PROCSet_Icon_Text(index%,FNWhichIcon(ExtraOpen),Title$) 6030 ENDPROC 6040 : 6050 DEFPROCGoto 6060 OldPage=Page 6070 Disc=VAL(FNGet_Icon_State(goto%,1)) 6080 IF Disc=0 THEN PROCWimp_Error("Disc Does Not Exist"):ENDPROC 6090 PROCWriteIconsToIndex(Page) 6100 T=Disc DIV 10 6110 M=T*10 6120 S=Disc-M 6130 IF S=0 THEN Page=T ELSE Page=T+1 6140 IF Page>PageLimit THEN PROCWimp_Error("Only "+STR$(DiscLimit)+" Discs Available"):Page=OldPage:ENDPROC 6150 IF MaxPages<Page THEN MaxPages=Page 6160 PROCSetPageIcons(Page) 6170 ENDPROC 6180 : 6190 DEFPROCKeyPress(block) 6200 CASE block!0 OF 6210 WHEN search% : PROCSearch(FNGet_Icon_State(search%,0)) 6220 WHEN goto% : PROCGoto 6230 WHEN index% : PROCIcon_Move(!block,block!4,block!24) 6240 WHEN print% : PROCIcon_Move(!block,block!4,block!24) 6250 ENDCASE 6260 ENDPROC 6270 : 6280 DEFPROCPrintIndex 6290 Start=VAL(FNGet_Icon_State(print%,0)) 6300 Finish=VAL(FNGet_Icon_State(print%,1)) 6310 IF Start>DiscLimit OR Finish>DiscLimit OR Start<1 OR Finish<1 THEN PROCWimp_Error("Disc Does Not Exist !"):ENDPROC 6320 X=OPENOUT("Printer:$.Dummy") 6330 FOR Disc=Start TO Finish 6340 PrintString$=STR$(Disc)+" "+Text$(Disc) 6350 BPUT #X,PrintString$ 6360 BPUT #X,"" 6370 FOR Extra=(Disc*5)-4 TO (Disc*5) 6380 PrintString$=" "+Notes$(Extra) 6390 BPUT #X,PrintString$ 6400 NEXT 6410 NEXT 6420 CLOSE #X 6430 ENDPROC 6440 : 6450 DEF PROCIcon_Move(window%,icon%,key%) 6460 IF window%<>index% AND window%<>print% THEN ENDPROC 6470 IF window%=index% THEN 6480 newicon%=icon% 6490 IF key%=13 THEN 6500 newicon%+=1 6510 IF newicon%>9 THEN newicon%=0 6520 ENDIF 6530 IF key%=399 THEN 6540 newicon%-=1 6550 IF newicon%<0 THEN newicon%=0 6560 ENDIF 6570 IF key%=398 THEN 6580 newicon%+=1 6590 IF newicon%>9 THEN newicon%=9 6600 ENDIF 6610 SYS"Wimp_SetCaretPosition",index%,newicon%,,,-1,0 6620 ENDIF 6630 IF window%=print% THEN 6640 newicon%=icon% 6650 IF key%=13 AND icon%=0 THEN newicon%=1 6660 IF key%=13 AND icon%=1 THEN newicon%=0 6670 SYS"Wimp_SetCaretPosition",print%,newicon%,,,-1,0 6680 ENDIF 6690 ENDPROC 6700 : 6710 DEFFNTitle 6720 Result$="" 6730 SYS "ADFS_DescribeDisc","0",Buffer% 6740 FOR Pointer=22 TO 31 6750 IF Buffer%?Pointer>32 THEN Result$+=CHR$(Buffer%?Pointer) 6760 NEXT 6770 =Result$ 6780 : 6790 DEFPROCInit_Sprite_Area(file$) 6800 DIM SpritePointer &1000:!SpritePointer=&1000 6810 SpritePointer!4=0:SpritePointer!8=16:SpritePointer!12=16 6820 SYS "OS_SpriteOp",266,SpritePointer,file$ TO MySprites% 6830 ENDPROC 6840 : 6850 DEFPROCClearRecord 6860 Disc=(Page*10)-(10-(MenuIcon+1)) 6870 IF MenuIcon>9 OR MenuIcon<0 THEN ENDPROC 6880 IF MenuHandle=extra% THEN Disc=ExtraOpen 6890 IF Disc<1 OR Disc>DiscLimit THEN PROCWimp_Error("Disc Not Valid"):ENDPROC 6900 Check=FNAction_Confirm("Erase Disc "+STR$(Disc)+" ?") 6910 IF Check=2 THEN ENDPROC 6920 Text$(Disc)="" 6930 ExtraStart=(Disc*5)-4 6940 ExtraFinish=(Disc*5) 6950 FOR Pointer=ExtraStart TO ExtraFinish 6960 Notes$(Pointer)="" 6970 NEXT 6980 IF ExtraOpen=Disc THEN PROCOpenExtra(ExtraOpen) 6990 PROCSet_Icon_Text(index%,MenuIcon,"") 7000 ENDPROC 7010 : 7020 DEFFNWhichIcon(X) 7030 T=X DIV 10 7040 VT=T*10 7050 R=X-VT-1 7060 IF VT=X THEN R=9 7070 =R 7080 : 7090 DEFFNAction_Confirm(Message$) 7100 !block=0 7110 $(block+4)=Message$+CHR$(0) 7120 SYS"Wimp_ReportError",block,23,"Disc Manager" TO ,Icon 7130 =Icon
� >$.!DiscMan.!RunImage � / � DiscManager Version 1.02 1991 J.A.Beaven #& � (c) Archimedes World April 1992 ( � 2F � This application allows the user to produce a simple 'Database' <D � of their disc collection allowing searches to determine which FB � disc has which programs on it.To use this program the discs P! � should idealy be numbered. Z � d � J.A.B 26th June 1991 n : x# �Activate_Task("Disc Manager") �/ �Init_Sprite_Area("<DiscMan$Dir>.Sprites") � �Init_New_Vars � �colours �" �Bar_Icon("!DiscMan","RIGHT") � �LoadTemplates � �CodeWimpMenus � �SetPageIcons(1) � Quit=� � : �$ � � �Wimp_Error(�$+" at "+�(�)) � � � �Action(�Poll(0)) � � Quit=� ș "Wimp_CloseDown" � : " � �Poll(M%) , � code% 6 block!0=M% @# ș "Wimp_Poll",0,block � code% J =code% T : ^ ��Action(Event%) h Ȏ Event% � r � 0 : | � 1 :�RedrawWindow(block!0) � � 2 :�OpenWindowB(block!0) �! � 3 :�CloseWindow(block!0,�) � � 4 : � � 5 : �! � 6 :�OpenMenus:�WindowClick � � 7 :�save � � 8 :�KeyPress(block) � � 9 :�MenuSelect(block) �$ � 17,18 :�RecieveMessage(block) � � � � � : � ��OpenWindow(Handle%) �CloseWindow(Handle%,�) block!0 = Handle% % ș "Wimp_GetWindowState",0,block &! ș "Wimp_OpenWindow",0,block 0 � : : D ��OpenWindowB(Handle%) N block!0 = Handle% X! ș "Wimp_OpenWindow",0,block b � l : v ��RedrawWindow(Handle%) � � More%,XOrigin%,YOrigin% � block!0=Handle% �+ ș "Wimp_RedrawWindow",0,block � More% �. �FindLWAOrigin(block+4,XOrigin%,YOrigin%) � ȕ More% �$ �FindsWindow(XOrigin%,YOrigin%) �+ ș "Wimp_GetRectangle",0,block � More% � � � � � : � ��CloseWindow(handle%,FLAG) �- � block!0=extra% � FLAG=� � ExtraOpen=-1 � block!0=handle% " ș "Wimp_CloseWindow",0,block � : ! ��FindLWAOrigin(b,� x%,� y%) * x%=b!0-b!16 4 y%=b!12-b!20 > � H : R � �WindowClick \ b%=block!8 f h%=block!12 p i%=block!16 z@ � h%=-2 � b%=4 � �OpenWindow(controll%):�OpenWindow(index%) � � h%=file � � � i%=0 � � !block=file �$ ș "Wimp_GetWindowState",,block � IX%=block!4-block!20 � IY%=block!16-block!24 � block!4=0 �" ș "Wimp_GetIconState",,block � !block=file � block!4=5 � block!8=block!8+IX% � block!12=block!12+IY% � block!16=block!16+IX% block!20=block!20+IY% block!24=0:block!28=0 * block!32=&7FFFFFFF:block!36=&7FFFFFFF $ ș "Wimp_DragBox",,block . � 8 � B � h%=file � i%=2 � �OKSave L, � h%=controll% � �ControllPannel(block) V' � h%=index% � �ClickOnIndex(block) `@ � h%=extra% � i%=5 � ExtraOpen<>-1 � �CloseExtra(ExtraOpen) jG � h%=extra% � block!16=6 � ExtraOpen<>-1 � �ExamineDisc(ExtraOpen) t) � h%=search% � �SearchButtons(block) ~% � h%=print% � i%=3 � �PrintIndex � � � : � � �CodeWimpMenus �# � BlockMainMenu 1*(28+(10*24)) �# � BlockIconMenu 1*(28+(10*24)) � UsingMenu=-1 � � Header For Main Menu �& $BlockMainMenu=�"DiscManager",11) � BlockMainMenu?12=Black � BlockMainMenu?13=2 � BlockMainMenu?14=Black � BlockMainMenu?15=White BlockMainMenu!16=200 BlockMainMenu!20=40 BlockMainMenu!24=10 � Data For Main Menu ( ItemPos=28 24 �MenuItem("Info",BlockMainMenu+ItemPos,info%,�) < ItemPos+=24 F8 �MenuItem("Search",BlockMainMenu+ItemPos,search%,�) P ItemPos+=24 Z4 �MenuItem("Examine",BlockMainMenu+ItemPos,-1,�) d ItemPos+=24 n6 �MenuItem("Clear Rec",BlockMainMenu+ItemPos,-1,�) x ItemPos+=24 �4 �MenuItem("Goto",BlockMainMenu+ItemPos,goto%,�) � ItemPos+=24 �3 �MenuItem("Save",BlockMainMenu+ItemPos,file,�) � ItemPos+=24 �6 �MenuItem("Print",BlockMainMenu+ItemPos,print%,�) � ItemPos+=24 �1 �MenuItem("Quit",BlockMainMenu+ItemPos,-1,�) � � Header For Icon Menu �& $BlockIconMenu=�"DiscManager",11) � BlockIconMenu?12=Black � BlockIconMenu?13=2 � BlockIconMenu?14=Black � BlockIconMenu?15=White BlockIconMenu!16=150 BlockIconMenu!20=40 BlockIconMenu!24=10 " � Data For Icon Menu , ItemPos=28 64 �MenuItem("Info",BlockIconMenu+ItemPos,info%,�) @ ItemPos+=24 J1 �MenuItem("Quit",BlockIconMenu+ItemPos,-1,�) T � ^ : h) ��MenuItem(Data$,Point,Handle%,LAST) r � LAST=� � Point!0=&0 | � LAST=� � Point!0=&80 � Point!4=Handle% � Point!8=&010021 � 7<<24 � $(Point+12)=�Data$,11) � � � : �* ��BringUpMenu(MenuName,MouseX,MouseY) �2 ș "Wimp_CreateMenu",0,MenuName,MouseX,MouseY � UsingMenu=MenuName � � � : � � �OpenMenus � MenuHandle=block!12 � MenuIcon=block!16 Handle%=block!12 + Button%=((block!8)�7)� �((block!20)�7) MouseX=block!0 & MouseY=block!4 0J � Button%=2 � Handle%<>-2 � �BringUpMenu(BlockMainMenu,MouseX,MouseY) :I � Button%=2 � Handle%=-2 � �BringUpMenu(BlockIconMenu,MouseX,MouseY) D � N : X ��MenuSelect(block) b Ȏ UsingMenu � l. � BlockMainMenu : �MenuSelect_Main(block) v. � BlockIconMenu : �MenuSelect_Icon(block) � � � UsingMenu=-1 � � � : � ��MenuSelect_Main(block) � Root=block!0 � Sub1=block!4 � Sub2=block!8 � Sub3=block!12 � Sub4=block!16 �$ � Root=1 � �OpenWindow(search%) �' � Root=2 � �ExamineDisc(ExtraOpen) � � Root=3 � �ClearRecord � Root=7 � Quit=� � : ��MenuSelect_Icon(block) * Root=block!0 4 Sub1=block!4 > Sub2=block!8 H Sub3=block!12 R Sub4=block!16 \ � Root=1 � Quit=� f � p : z ��colours � Black=7 � Red=11 � Green=10 � Yellow=9 � Blue=8 � Magenta=5 � Cyan=6 � White=0 � � � : � ��RecieveMessage(b) � Ȏ b!16 � � � 0:Quit=� � 1: � 2:�DataSave(b) � 3:�DataLoad(b) $ � . � 8 : B � �DataLoad(b) L � b!12=0 � V path$=�FindName(b+44) ` �Do_The_Load(path$) j b!12=b!8:b!16=4:!b=64 t � ~ � � : � � �FindName(ptr) � p$="" � ȕ ?ptr<>0 � p$+=�?ptr:ptr+=1 � � � =p$ � : � � �OKSave �" Name$=�Get_Icon_State(file,1) � � �Name$,".") � � �Do_The_Save(Name$) � > $block=" To save, drag the icon to a directory viewer" 1 ș "Wimp_ReportError",block,1,"Disc Manager" � ( � 2 : < � �DataSave(b) F! �Do_The_Save(�GetName(b+44)) P* �Set_Icon_Text(file,1,�GetName(b+44)) Z b!12=b!8:b!16=3:!b=64 d) ș "Wimp_SendMessage",17,b,b!20,b!24 n � x : � � �GetName(ptr) � f$="" � ȕ ?ptr<>0 � ?ptr<>13 � f$=f$+�?ptr:ptr+=1 � � � =f$ � : � � �save �" Name$=�Get_Icon_State(file,1) �$ ș "Wimp_GetPointerInfo",,block � block!20=64:block!32=0 �! block!36=1:block!40=block!12 � block!44=block!16 block!48=!block block!52=block!4 block!56=100*40 " block!60=&FEE ,) $(block+64)=�FindLastPathName(Name$) 68 ș "Wimp_SendMessage",17,block+20,block!12,block!16 @ � J : T � �FindLastPathName(path$) ^ ȕ �path$,".") h path$=�path$,�path$,".")+1) r � | =path$ � : � ��Do_The_Save(NNAME$) � �WriteIconsToIndex(Page) � X=�(NNAME$) � � #X,MaxPages � � Save=1 � (MaxPages*10) � � #X,Text$(Save) � � � � Save=1 � (MaxPages*10*5) � � #X,Notes$(Save) � � � � #X �! � "SETTYPE "+NNAME$+" Index" � : ��Do_The_Load(NNAME$) & X=�(NNAME$) 0 � #X,MaxPages : � Save=1 � (MaxPages*10) D � #X,Text$(Save) N � X � Save=1 � (MaxPages*10*5) b � #X,Notes$(Save) l � v Page=1 � �SetPageIcons(1) � � #X � � � : � � �LoadTemplates �! � bblock &800,template% &800 �6 ș "Wimp_OpenTemplate",,"<DiscMan$Dir>.Templates" �$ � c%,end% : end%=template%+&800 � : �R ș "Wimp_LoadTemplate",,bblock,template%,end%,-1,"Info",0 � ,,template%,,,,c% �( ș "Wimp_CreateWindow",,bblock � c% � info%=c% � : S ș "Wimp_LoadTemplate",,bblock,template%,end%,-1,"Index",0 � ,,template%,,,,c% ( ș "Wimp_CreateWindow",,bblock � c% index%=c% : *V ș "Wimp_LoadTemplate",,bblock,template%,end%,-1,"Controll",0 � ,,template%,,,,c% 4 bblock!64=SpritePointer >( ș "Wimp_CreateWindow",,bblock � c% H controll%=c% R : \S ș "Wimp_LoadTemplate",,bblock,template%,end%,-1,"Extra",0 � ,,template%,,,,c% f( ș "Wimp_CreateWindow",,bblock � c% p extra%=c% z : �T ș "Wimp_LoadTemplate",,bblock,template%,end%,-1,"Search",0 � ,,template%,,,,c% �( ș "Wimp_CreateWindow",,bblock � c% � search%=c% � : �S ș "Wimp_LoadTemplate",,bblock,template%,end%,-1,"Finds",0 � ,,template%,,,,c% �( ș "Wimp_CreateWindow",,bblock � c% � finds%=c% � : �R ș "Wimp_LoadTemplate",,bblock,template%,end%,-1,"Save",0 � ,,template%,,,,c% �( ș "Wimp_CreateWindow",,bblock � c% � file=c% � : �R ș "Wimp_LoadTemplate",,bblock,template%,end%,-1,"Goto",0 � ,,template%,,,,c% ( ș "Wimp_CreateWindow",,bblock � c% goto%=c% : $S ș "Wimp_LoadTemplate",,bblock,template%,end%,-1,"Print",0 � ,,template%,,,,c% .( ș "Wimp_CreateWindow",,bblock � c% 8 print%=c% B ș "Wimp_CloseTemplate" L � V : ` � �Wimp_Error(message$) j! !block=�:$(block+4)=message$ t1 ș "Wimp_ReportError",block,1,"Disc Manager" ~ � � : � ��Activate_Task(Name$) � � SetSystemTaskID 4 � $SetSystemTaskID="TASK" �4 ș "Wimp_Initialise",200,!SetSystemTaskID,Name$ � � � : � ��Init_New_Vars � DiscLimit=300 � PageLimit=DiscLimit/10 � � block &300 � � Text$(DiscLimit) � Notes$(DiscLimit*5) � SearchFinds(DiscLimit) � Buffer% 1000 � RootDir$(77) ( Search_Extra=� 2 Search_Title=� < Page=1 F MaxPages=1 P ExtraOpen=-1 Z Finds=0 d � n : x# ��Bar_Icon(Application$,side$) � � p% � � side$="LEFT" � num=-2 � � side$="RIGHT" � num=-1 � block!0=num � block!4=0:block!8=0 � block!12=68:block!16=68 �+ block!20=&3012 � White<<28 � Black<<24 �" $(block+24)=�Application$,11) �! ș "Wimp_CreateIcon",0,block � � � : �% � �Get_Icon_State(Handle%,Icon%) � block!0=Handle% block!4=Icon% # ș "Wimp_GetIconState",0,block =$(block!28) " : ,* � �Set_Icon_Text(Handle%,Icon%,Text$) 6 block!0=Handle% @ block!4=Icon% J# ș "Wimp_GetIconState",0,block T $(block!28)=Text$ ^ block!8=0 h block!12=0 r# ș "Wimp_SetIconState",0,block | � � : � ��SetPageIcons(Current) � RealNumber=(Current*10)-9 � � IconPointer=10 � 19 �5 �Set_Icon_Text(index%,IconPointer,�(RealNumber)) � RealNumber+=1 � � � �ShowIndex(Current) � � � : � ��ControllPannel(block) � Ȏ block!16 � �> � 0 : �WriteIconsToIndex(Page):Page=1:�SetPageIcons(Page) N � 1 : � Page>1 � �WriteIconsToIndex(Page):Page=Page-1:�SetPageIcons(Page) u � 2 : �Page<PageLimit � �WriteIconsToIndex(Page):Page=Page+1:�SetPageIcons(Page):� MaxPages<Page � MaxPages=Page E � 3 : �WriteIconsToIndex(Page):Page=MaxPages:�SetPageIcons(Page) & � 0 � : : D ��ClickOnIndex(block) N% � block!16<10 � block!16>19 � :� X2 ExtraOpen=�(�Get_Icon_State(index%,block!16)) b �OpenExtra(ExtraOpen) l � v : � ��OpenExtra(Num) � Icon_Handle=0 � � L=(Num*5)-4 � (Num*5) �1 �Set_Icon_Text(extra%,Icon_Handle,Notes$(L)) � Icon_Handle+=1 � � � �OpenWindow(extra%) �$ �Set_Icon_Text(extra%,8,�(Num)) � � � : � ��CloseExtra(Num) � Icon_Handle=0 � � L=(Num*5)-4 � (Num*5) 2 Notes$(L)=�Get_Icon_State(extra%,Icon_Handle) Icon_Handle+=1 � �CloseWindow(extra%,�) * ExtraOpen=-1 4 � > : H! ��WriteIconsToIndex(Current) R RealNumber=(Current*10)-9 \ � IconPointer=0 � 9 f: Text$(RealNumber)=�Get_Icon_State(index%,IconPointer) p RealNumber+=1 z � � � � : � ��ShowIndex(Current) � RealNumber=(Current*10)-9 � � IconPointer=0 � 9 �9 �Set_Icon_Text(index%,IconPointer,Text$(RealNumber)) � RealNumber+=1 � � � � � : � ��SearchButtons(block) � � block!8=1 � � �$ � block!16=1 � Search_Extra=� � ' Search_Extra=�Toggle(Search_Extra) ' Search_Title=�Toggle(Search_Title) � $$ � block!16=2 � Search_Title=� � .' Search_Extra=�Toggle(Search_Extra) 8' Search_Title=�Toggle(Search_Title) B � L � V : ` ݤToggle(a) j R=� t � a=� � R=� ~ =R � : � ��Search(Word$) �, � Search_Title=� � �Search_Title(Word$) �, � Search_Extra=� � �Search_Extra(Word$) � � � � � : � ��Search_Extra(Word$) � Finds=0 � � Disc=1 � (10*MaxPages) � Extra=(Disc*5)-4 � Halt=� � ! Search=�Notes$(Extra),Word$) Extra+=1 � Search<>0 � ( Halt=� 2 Finds+=1 < SearchFinds(Finds)=Disc F � P � Extra>(Disc*5) � Halt=� Z � Halt=� d � n- Header$=Word$+" [Scan Over Extra Block]" x% �Set_Icon_Text(finds%,0,Header$) � �OpenWindow(finds%) � �RedrawWindow(finds%) � � � : � ��Search_Title(Word$) � Finds=0 � � Disc=1 � (10*MaxPages) � Search=�Text$(Disc),Word$) � � Search <>0 � � Finds+=1 � SearchFinds(Finds)=Disc � � � � ' Header$=Word$+" [Scan Over Title]" % �Set_Icon_Text(finds%,0,Header$) �OpenWindow(finds%) " �RedrawWindow(finds%) , � 6 : @% ��FindsWindow(XOrigin%,YOrigin%) JL � Finds=0 � � XOrigin%+30,YOrigin%-100:�"String Not Found In Index !":� T Drop=100 ^ � Pointer=1 � Finds h � XOrigin%+30,YOrigin%-Drop rM � SearchFinds(Pointer)<>0 � � "Found On Disc : ";�(SearchFinds(Pointer)) | Drop+=40 � � � � � : � ݤGet_Catolog �" � NumberOfFiles,Pointer,Index �F ș "OS_GBPB",9,"ADFS:$",Buffer%,255,0,1000,"*" � ,,,NumberOfFiles � File$="" � Pointer=0 � � Index=1 � NumberOfFiles � Finish=� � � � Char=Buffer%?Pointer � � Char<>0 � File$+=�(Char) Pointer+=1 � Char=0 � Finish=� � Finish=� & RootDir$(Index)=File$ 0 File$="" : � D =NumberOfFiles N : X ��ExamineDisc(ExtraOpen) b � ExtraOpen=-1 � �7:� l �("ADFS") v �("MOUNT") � � Clear=0 � 4 �$ �Set_Icon_Text(extra%,Clear,"") � � � NumFiles=�Get_Catolog � Title$=�Title � Icon=0 � Total=0 � Build$="" � � NumFiles>0 � � � Pointer=1 � NumFiles � Set=� �) Total=�(Build$)+�(RootDir$(Pointer)) � � Total>70 � 2 � Icon<5 � �Set_Icon_Text(extra%,Icon,Build$) Icon+=1 Build$="" Total=0 * Set=� 4 � > � Total<70 � H � Pointer<>1 � Build$+="," R Build$+=RootDir$(Pointer) \ � f � p: � Set=� � Icon<5 � �Set_Icon_Text(extra%,Icon,Build$) z � �8 �Set_Icon_Text(index%,�WhichIcon(ExtraOpen),Title$) � � � : � ��Goto � OldPage=Page �% Disc=�(�Get_Icon_State(goto%,1)) �4 � Disc=0 � �Wimp_Error("Disc Does Not Exist"):� � �WriteIconsToIndex(Page) � T=Disc � 10 � M=T*10 � S=Disc-M � � S=0 � Page=T � Page=T+1 �[ � Page>PageLimit � �Wimp_Error("Only "+�(DiscLimit)+" Discs Available"):Page=OldPage:� $ � MaxPages<Page � MaxPages=Page �SetPageIcons(Page) � $ : . ��KeyPress(block) 8 Ȏ block!0 � B4 � search% : �Search(�Get_Icon_State(search%,0)) L � goto% : �Goto V4 � index% : �Icon_Move(!block,block!4,block!24) `4 � print% : �Icon_Move(!block,block!4,block!24) j � t � ~ : � ��PrintIndex �' Start=�(�Get_Icon_State(print%,0)) �( Finish=�(�Get_Icon_State(print%,1)) �h � Start>DiscLimit � Finish>DiscLimit � Start<1 � Finish<1 � �Wimp_Error("Disc Does Not Exist !"):� � X=�("Printer:$.Dummy") � � Disc=Start � Finish �) PrintString$=�(Disc)+" "+Text$(Disc) � � #X,PrintString$ � � #X,"" �" � Extra=(Disc*5)-4 � (Disc*5) �% PrintString$=" "+Notes$(Extra) � � #X,PrintString$ � � � #X � ( : 2% � �Icon_Move(window%,icon%,key%) <, � window%<>index% � window%<>print% � � F � window%=index% � P newicon%=icon% Z � key%=13 � d newicon%+=1 n � newicon%>9 � newicon%=0 x � � � key%=399 � � newicon%-=1 � � newicon%<0 � newicon%=0 � � � � key%=398 � � newicon%+=1 � � newicon%>9 � newicon%=9 � � �5 ș"Wimp_SetCaretPosition",index%,newicon%,,,-1,0 � � � � window%=print% � � newicon%=icon% �% � key%=13 � icon%=0 � newicon%=1 % � key%=13 � icon%=1 � newicon%=0 5 ș"Wimp_SetCaretPosition",print%,newicon%,,,-1,0 � " � , : 6 ݤTitle @ Result$="" J' ș "ADFS_DescribeDisc","0",Buffer% T � Pointer=22 � 31 ^7 � Buffer%?Pointer>32 � Result$+=�(Buffer%?Pointer) h � r =Result$ | : � ��Init_Sprite_Area(file$) �/ � SpritePointer &1000:!SpritePointer=&1000 �= SpritePointer!4=0:SpritePointer!8=16:SpritePointer!12=16 �: ș "OS_SpriteOp",266,SpritePointer,file$ � MySprites% � � � : � ��ClearRecord �% Disc=(Page*10)-(10-(MenuIcon+1)) �" � MenuIcon>9 � MenuIcon<0 � � �) � MenuHandle=extra% � Disc=ExtraOpen �@ � Disc<1 � Disc>DiscLimit � �Wimp_Error("Disc Not Valid"):� �6 Check=�Action_Confirm("Erase Disc "+�(Disc)+" ?") � � Check=2 � � Text$(Disc)="" ExtraStart=(Disc*5)-4 ExtraFinish=(Disc*5) &' � Pointer=ExtraStart � ExtraFinish 0 Notes$(Pointer)="" : � D- � ExtraOpen=Disc � �OpenExtra(ExtraOpen) N' �Set_Icon_Text(index%,MenuIcon,"") X � b : l ݤWhichIcon(X) v T=X � 10 � VT=T*10 � R=X-VT-1 � � VT=X � R=9 � =R � : � ݤAction_Confirm(Message$) � !block=0 � $(block+4)=Message$+�(0) �9 ș"Wimp_ReportError",block,23,"Disc Manager" � ,Icon � =Icon �
00000000 0d 00 0a 1c 20 f4 20 3e 24 2e 21 44 69 73 63 4d |.... . >$.!DiscM| 00000010 61 6e 2e 21 52 75 6e 49 6d 61 67 65 0d 00 14 06 |an.!RunImage....| 00000020 20 f4 0d 00 1e 2f 20 f4 20 44 69 73 63 4d 61 6e | ..../ . DiscMan| 00000030 61 67 65 72 20 56 65 72 73 69 6f 6e 20 31 2e 30 |ager Version 1.0| 00000040 32 20 31 39 39 31 20 4a 2e 41 2e 42 65 61 76 65 |2 1991 J.A.Beave| 00000050 6e 0d 00 23 26 20 f4 20 28 63 29 20 41 72 63 68 |n..#& . (c) Arch| 00000060 69 6d 65 64 65 73 20 57 6f 72 6c 64 20 41 70 72 |imedes World Apr| 00000070 69 6c 20 31 39 39 32 0d 00 28 06 20 f4 0d 00 32 |il 1992..(. ...2| 00000080 46 20 f4 20 54 68 69 73 20 61 70 70 6c 69 63 61 |F . This applica| 00000090 74 69 6f 6e 20 61 6c 6c 6f 77 73 20 74 68 65 20 |tion allows the | 000000a0 75 73 65 72 20 74 6f 20 70 72 6f 64 75 63 65 20 |user to produce | 000000b0 61 20 73 69 6d 70 6c 65 20 27 44 61 74 61 62 61 |a simple 'Databa| 000000c0 73 65 27 0d 00 3c 44 20 f4 20 6f 66 20 74 68 65 |se'..<D . of the| 000000d0 69 72 20 64 69 73 63 20 63 6f 6c 6c 65 63 74 69 |ir disc collecti| 000000e0 6f 6e 20 61 6c 6c 6f 77 69 6e 67 20 73 65 61 72 |on allowing sear| 000000f0 63 68 65 73 20 74 6f 20 64 65 74 65 72 6d 69 6e |ches to determin| 00000100 65 20 77 68 69 63 68 0d 00 46 42 20 f4 20 64 69 |e which..FB . di| 00000110 73 63 20 68 61 73 20 77 68 69 63 68 20 70 72 6f |sc has which pro| 00000120 67 72 61 6d 73 20 6f 6e 20 69 74 2e 54 6f 20 75 |grams on it.To u| 00000130 73 65 20 74 68 69 73 20 70 72 6f 67 72 61 6d 20 |se this program | 00000140 74 68 65 20 64 69 73 63 73 0d 00 50 21 20 f4 20 |the discs..P! . | 00000150 73 68 6f 75 6c 64 20 69 64 65 61 6c 79 20 62 65 |should idealy be| 00000160 20 6e 75 6d 62 65 72 65 64 2e 0d 00 5a 06 20 f4 | numbered...Z. .| 00000170 0d 00 64 1b 20 f4 20 4a 2e 41 2e 42 20 32 36 74 |..d. . J.A.B 26t| 00000180 68 20 4a 75 6e 65 20 31 39 39 31 0d 00 6e 06 20 |h June 1991..n. | 00000190 3a 0d 00 78 23 20 f2 41 63 74 69 76 61 74 65 5f |:..x# .Activate_| 000001a0 54 61 73 6b 28 22 44 69 73 63 20 4d 61 6e 61 67 |Task("Disc Manag| 000001b0 65 72 22 29 0d 00 82 2f 20 f2 49 6e 69 74 5f 53 |er").../ .Init_S| 000001c0 70 72 69 74 65 5f 41 72 65 61 28 22 3c 44 69 73 |prite_Area("<Dis| 000001d0 63 4d 61 6e 24 44 69 72 3e 2e 53 70 72 69 74 65 |cMan$Dir>.Sprite| 000001e0 73 22 29 0d 00 8c 13 20 f2 49 6e 69 74 5f 4e 65 |s").... .Init_Ne| 000001f0 77 5f 56 61 72 73 0d 00 96 0d 20 f2 63 6f 6c 6f |w_Vars.... .colo| 00000200 75 72 73 0d 00 a0 22 20 f2 42 61 72 5f 49 63 6f |urs..." .Bar_Ico| 00000210 6e 28 22 21 44 69 73 63 4d 61 6e 22 2c 22 52 49 |n("!DiscMan","RI| 00000220 47 48 54 22 29 0d 00 aa 13 20 f2 4c 6f 61 64 54 |GHT").... .LoadT| 00000230 65 6d 70 6c 61 74 65 73 0d 00 b4 13 20 f2 43 6f |emplates.... .Co| 00000240 64 65 57 69 6d 70 4d 65 6e 75 73 0d 00 be 15 20 |deWimpMenus.... | 00000250 f2 53 65 74 50 61 67 65 49 63 6f 6e 73 28 31 29 |.SetPageIcons(1)| 00000260 0d 00 c8 0b 20 51 75 69 74 3d a3 0d 00 d2 06 20 |.... Quit=..... | 00000270 3a 0d 00 dc 24 20 ee 20 85 20 f2 57 69 6d 70 5f |:...$ . . .Wimp_| 00000280 45 72 72 6f 72 28 f6 24 2b 22 20 61 74 20 22 2b |Error(.$+" at "+| 00000290 c3 28 9e 29 29 0d 00 e6 06 20 f5 0d 00 f0 16 20 |.(.)).... ..... | 000002a0 f2 41 63 74 69 6f 6e 28 a4 50 6f 6c 6c 28 30 29 |.Action(.Poll(0)| 000002b0 29 0d 00 fa 0d 20 fd 20 51 75 69 74 3d b9 0d 01 |).... . Quit=...| 000002c0 04 18 20 c8 99 20 22 57 69 6d 70 5f 43 6c 6f 73 |.. .. "Wimp_Clos| 000002d0 65 44 6f 77 6e 22 0d 01 0e 06 20 e0 0d 01 18 06 |eDown".... .....| 000002e0 20 3a 0d 01 22 10 20 dd 20 a4 50 6f 6c 6c 28 4d | :..". . .Poll(M| 000002f0 25 29 0d 01 2c 0c 20 ea 20 63 6f 64 65 25 0d 01 |%)..,. . code%..| 00000300 36 0f 20 62 6c 6f 63 6b 21 30 3d 4d 25 0d 01 40 |6. block!0=M%..@| 00000310 23 20 c8 99 20 22 57 69 6d 70 5f 50 6f 6c 6c 22 |# .. "Wimp_Poll"| 00000320 2c 30 2c 62 6c 6f 63 6b 20 b8 20 63 6f 64 65 25 |,0,block . code%| 00000330 0d 01 4a 0b 20 3d 63 6f 64 65 25 0d 01 54 06 20 |..J. =code%..T. | 00000340 3a 0d 01 5e 15 20 dd f2 41 63 74 69 6f 6e 28 45 |:..^. ..Action(E| 00000350 76 65 6e 74 25 29 0d 01 68 10 20 c8 8e 20 45 76 |vent%)..h. .. Ev| 00000360 65 6e 74 25 20 ca 0d 01 72 0a 20 c9 20 30 20 3a |ent% ...r. . 0 :| 00000370 0d 01 7c 20 20 c9 20 31 20 3a f2 52 65 64 72 61 |..| . 1 :.Redra| 00000380 77 57 69 6e 64 6f 77 28 62 6c 6f 63 6b 21 30 29 |wWindow(block!0)| 00000390 0d 01 86 1f 20 c9 20 32 20 3a f2 4f 70 65 6e 57 |.... . 2 :.OpenW| 000003a0 69 6e 64 6f 77 42 28 62 6c 6f 63 6b 21 30 29 0d |indowB(block!0).| 000003b0 01 90 21 20 c9 20 33 20 3a f2 43 6c 6f 73 65 57 |..! . 3 :.CloseW| 000003c0 69 6e 64 6f 77 28 62 6c 6f 63 6b 21 30 2c b9 29 |indow(block!0,.)| 000003d0 0d 01 9a 0a 20 c9 20 34 20 3a 0d 01 a4 0a 20 c9 |.... . 4 :.... .| 000003e0 20 35 20 3a 0d 01 ae 21 20 c9 20 36 20 3a f2 4f | 5 :...! . 6 :.O| 000003f0 70 65 6e 4d 65 6e 75 73 3a f2 57 69 6e 64 6f 77 |penMenus:.Window| 00000400 43 6c 69 63 6b 0d 01 b8 0f 20 c9 20 37 20 3a f2 |Click.... . 7 :.| 00000410 73 61 76 65 0d 01 c2 1a 20 c9 20 38 20 3a f2 4b |save.... . 8 :.K| 00000420 65 79 50 72 65 73 73 28 62 6c 6f 63 6b 29 0d 01 |eyPress(block)..| 00000430 cc 1c 20 c9 20 39 20 3a f2 4d 65 6e 75 53 65 6c |.. . 9 :.MenuSel| 00000440 65 63 74 28 62 6c 6f 63 6b 29 0d 01 d6 24 20 c9 |ect(block)...$ .| 00000450 20 31 37 2c 31 38 20 3a f2 52 65 63 69 65 76 65 | 17,18 :.Recieve| 00000460 4d 65 73 73 61 67 65 28 62 6c 6f 63 6b 29 0d 01 |Message(block)..| 00000470 e0 06 20 cb 0d 01 ea 06 20 e1 0d 01 f4 06 20 3a |.. ..... ..... :| 00000480 0d 01 fe 1a 20 dd f2 4f 70 65 6e 57 69 6e 64 6f |.... ..OpenWindo| 00000490 77 28 48 61 6e 64 6c 65 25 29 0d 02 08 1c 20 f2 |w(Handle%).... .| 000004a0 43 6c 6f 73 65 57 69 6e 64 6f 77 28 48 61 6e 64 |CloseWindow(Hand| 000004b0 6c 65 25 2c a3 29 0d 02 12 16 20 62 6c 6f 63 6b |le%,.).... block| 000004c0 21 30 20 3d 20 48 61 6e 64 6c 65 25 0d 02 1c 25 |!0 = Handle%...%| 000004d0 20 c8 99 20 22 57 69 6d 70 5f 47 65 74 57 69 6e | .. "Wimp_GetWin| 000004e0 64 6f 77 53 74 61 74 65 22 2c 30 2c 62 6c 6f 63 |dowState",0,bloc| 000004f0 6b 0d 02 26 21 20 c8 99 20 22 57 69 6d 70 5f 4f |k..&! .. "Wimp_O| 00000500 70 65 6e 57 69 6e 64 6f 77 22 2c 30 2c 62 6c 6f |penWindow",0,blo| 00000510 63 6b 0d 02 30 06 20 e1 0d 02 3a 06 20 3a 0d 02 |ck..0. ...:. :..| 00000520 44 1b 20 dd f2 4f 70 65 6e 57 69 6e 64 6f 77 42 |D. ..OpenWindowB| 00000530 28 48 61 6e 64 6c 65 25 29 0d 02 4e 16 20 62 6c |(Handle%)..N. bl| 00000540 6f 63 6b 21 30 20 3d 20 48 61 6e 64 6c 65 25 0d |ock!0 = Handle%.| 00000550 02 58 21 20 c8 99 20 22 57 69 6d 70 5f 4f 70 65 |.X! .. "Wimp_Ope| 00000560 6e 57 69 6e 64 6f 77 22 2c 30 2c 62 6c 6f 63 6b |nWindow",0,block| 00000570 0d 02 62 06 20 e1 0d 02 6c 06 20 3a 0d 02 76 1c |..b. ...l. :..v.| 00000580 20 dd f2 52 65 64 72 61 77 57 69 6e 64 6f 77 28 | ..RedrawWindow(| 00000590 48 61 6e 64 6c 65 25 29 0d 02 80 1e 20 ea 20 4d |Handle%).... . M| 000005a0 6f 72 65 25 2c 58 4f 72 69 67 69 6e 25 2c 59 4f |ore%,XOrigin%,YO| 000005b0 72 69 67 69 6e 25 0d 02 8a 14 20 62 6c 6f 63 6b |rigin%.... block| 000005c0 21 30 3d 48 61 6e 64 6c 65 25 0d 02 94 2b 20 c8 |!0=Handle%...+ .| 000005d0 99 20 22 57 69 6d 70 5f 52 65 64 72 61 77 57 69 |. "Wimp_RedrawWi| 000005e0 6e 64 6f 77 22 2c 30 2c 62 6c 6f 63 6b 20 b8 20 |ndow",0,block . | 000005f0 4d 6f 72 65 25 0d 02 9e 2e 20 f2 46 69 6e 64 4c |More%.... .FindL| 00000600 57 41 4f 72 69 67 69 6e 28 62 6c 6f 63 6b 2b 34 |WAOrigin(block+4| 00000610 2c 58 4f 72 69 67 69 6e 25 2c 59 4f 72 69 67 69 |,XOrigin%,YOrigi| 00000620 6e 25 29 0d 02 a8 0d 20 c8 95 20 4d 6f 72 65 25 |n%).... .. More%| 00000630 0d 02 b2 24 20 f2 46 69 6e 64 73 57 69 6e 64 6f |...$ .FindsWindo| 00000640 77 28 58 4f 72 69 67 69 6e 25 2c 59 4f 72 69 67 |w(XOrigin%,YOrig| 00000650 69 6e 25 29 0d 02 bc 2b 20 c8 99 20 22 57 69 6d |in%)...+ .. "Wim| 00000660 70 5f 47 65 74 52 65 63 74 61 6e 67 6c 65 22 2c |p_GetRectangle",| 00000670 30 2c 62 6c 6f 63 6b 20 b8 20 4d 6f 72 65 25 0d |0,block . More%.| 00000680 02 c6 06 20 ce 0d 02 d0 06 20 e1 0d 02 da 06 20 |... ..... ..... | 00000690 3a 0d 02 e4 20 20 dd f2 43 6c 6f 73 65 57 69 6e |:... ..CloseWin| 000006a0 64 6f 77 28 68 61 6e 64 6c 65 25 2c 46 4c 41 47 |dow(handle%,FLAG| 000006b0 29 0d 02 ee 2d 20 e7 20 62 6c 6f 63 6b 21 30 3d |)...- . block!0=| 000006c0 65 78 74 72 61 25 20 80 20 46 4c 41 47 3d b9 20 |extra% . FLAG=. | 000006d0 8c 20 45 78 74 72 61 4f 70 65 6e 3d 2d 31 0d 02 |. ExtraOpen=-1..| 000006e0 f8 14 20 62 6c 6f 63 6b 21 30 3d 68 61 6e 64 6c |.. block!0=handl| 000006f0 65 25 0d 03 02 22 20 c8 99 20 22 57 69 6d 70 5f |e%..." .. "Wimp_| 00000700 43 6c 6f 73 65 57 69 6e 64 6f 77 22 2c 30 2c 62 |CloseWindow",0,b| 00000710 6c 6f 63 6b 0d 03 0c 06 20 e1 0d 03 16 06 20 3a |lock.... ..... :| 00000720 0d 03 20 21 20 dd f2 46 69 6e 64 4c 57 41 4f 72 |.. ! ..FindLWAOr| 00000730 69 67 69 6e 28 62 2c f8 20 78 25 2c f8 20 79 25 |igin(b,. x%,. y%| 00000740 29 0d 03 2a 10 20 78 25 3d 62 21 30 2d 62 21 31 |)..*. x%=b!0-b!1| 00000750 36 0d 03 34 11 20 79 25 3d 62 21 31 32 2d 62 21 |6..4. y%=b!12-b!| 00000760 32 30 0d 03 3e 06 20 e1 0d 03 48 06 20 3a 0d 03 |20..>. ...H. :..| 00000770 52 13 20 dd 20 f2 57 69 6e 64 6f 77 43 6c 69 63 |R. . .WindowClic| 00000780 6b 0d 03 5c 0f 20 62 25 3d 62 6c 6f 63 6b 21 38 |k..\. b%=block!8| 00000790 0d 03 66 10 20 68 25 3d 62 6c 6f 63 6b 21 31 32 |..f. h%=block!12| 000007a0 0d 03 70 10 20 69 25 3d 62 6c 6f 63 6b 21 31 36 |..p. i%=block!16| 000007b0 0d 03 7a 40 20 e7 20 68 25 3d 2d 32 20 80 20 62 |..z@ . h%=-2 . b| 000007c0 25 3d 34 20 8c 20 f2 4f 70 65 6e 57 69 6e 64 6f |%=4 . .OpenWindo| 000007d0 77 28 63 6f 6e 74 72 6f 6c 6c 25 29 3a f2 4f 70 |w(controll%):.Op| 000007e0 65 6e 57 69 6e 64 6f 77 28 69 6e 64 65 78 25 29 |enWindow(index%)| 000007f0 0d 03 84 10 20 e7 20 68 25 3d 66 69 6c 65 20 8c |.... . h%=file .| 00000800 0d 03 8e 0d 20 e7 20 69 25 3d 30 20 8c 0d 03 98 |.... . i%=0 ....| 00000810 10 20 21 62 6c 6f 63 6b 3d 66 69 6c 65 0d 03 a2 |. !block=file...| 00000820 24 20 c8 99 20 22 57 69 6d 70 5f 47 65 74 57 69 |$ .. "Wimp_GetWi| 00000830 6e 64 6f 77 53 74 61 74 65 22 2c 2c 62 6c 6f 63 |ndowState",,bloc| 00000840 6b 0d 03 ac 19 20 49 58 25 3d 62 6c 6f 63 6b 21 |k.... IX%=block!| 00000850 34 2d 62 6c 6f 63 6b 21 32 30 0d 03 b6 1a 20 49 |4-block!20.... I| 00000860 59 25 3d 62 6c 6f 63 6b 21 31 36 2d 62 6c 6f 63 |Y%=block!16-bloc| 00000870 6b 21 32 34 0d 03 c0 0e 20 62 6c 6f 63 6b 21 34 |k!24.... block!4| 00000880 3d 30 0d 03 ca 22 20 c8 99 20 22 57 69 6d 70 5f |=0..." .. "Wimp_| 00000890 47 65 74 49 63 6f 6e 53 74 61 74 65 22 2c 2c 62 |GetIconState",,b| 000008a0 6c 6f 63 6b 0d 03 d4 10 20 21 62 6c 6f 63 6b 3d |lock.... !block=| 000008b0 66 69 6c 65 0d 03 de 0e 20 62 6c 6f 63 6b 21 34 |file.... block!4| 000008c0 3d 35 0d 03 e8 18 20 62 6c 6f 63 6b 21 38 3d 62 |=5.... block!8=b| 000008d0 6c 6f 63 6b 21 38 2b 49 58 25 0d 03 f2 1a 20 62 |lock!8+IX%.... b| 000008e0 6c 6f 63 6b 21 31 32 3d 62 6c 6f 63 6b 21 31 32 |lock!12=block!12| 000008f0 2b 49 59 25 0d 03 fc 1a 20 62 6c 6f 63 6b 21 31 |+IY%.... block!1| 00000900 36 3d 62 6c 6f 63 6b 21 31 36 2b 49 58 25 0d 04 |6=block!16+IX%..| 00000910 06 1a 20 62 6c 6f 63 6b 21 32 30 3d 62 6c 6f 63 |.. block!20=bloc| 00000920 6b 21 32 30 2b 49 59 25 0d 04 10 1a 20 62 6c 6f |k!20+IY%.... blo| 00000930 63 6b 21 32 34 3d 30 3a 62 6c 6f 63 6b 21 32 38 |ck!24=0:block!28| 00000940 3d 30 0d 04 1a 2a 20 62 6c 6f 63 6b 21 33 32 3d |=0...* block!32=| 00000950 26 37 46 46 46 46 46 46 46 3a 62 6c 6f 63 6b 21 |&7FFFFFFF:block!| 00000960 33 36 3d 26 37 46 46 46 46 46 46 46 0d 04 24 1d |36=&7FFFFFFF..$.| 00000970 20 c8 99 20 22 57 69 6d 70 5f 44 72 61 67 42 6f | .. "Wimp_DragBo| 00000980 78 22 2c 2c 62 6c 6f 63 6b 0d 04 2e 06 20 cd 0d |x",,block.... ..| 00000990 04 38 06 20 cd 0d 04 42 1f 20 e7 20 68 25 3d 66 |.8. ...B. . h%=f| 000009a0 69 6c 65 20 80 20 69 25 3d 32 20 8c 20 f2 4f 4b |ile . i%=2 . .OK| 000009b0 53 61 76 65 0d 04 4c 2c 20 e7 20 68 25 3d 63 6f |Save..L, . h%=co| 000009c0 6e 74 72 6f 6c 6c 25 20 8c 20 f2 43 6f 6e 74 72 |ntroll% . .Contr| 000009d0 6f 6c 6c 50 61 6e 6e 65 6c 28 62 6c 6f 63 6b 29 |ollPannel(block)| 000009e0 0d 04 56 27 20 e7 20 68 25 3d 69 6e 64 65 78 25 |..V' . h%=index%| 000009f0 20 8c 20 f2 43 6c 69 63 6b 4f 6e 49 6e 64 65 78 | . .ClickOnIndex| 00000a00 28 62 6c 6f 63 6b 29 0d 04 60 40 20 e7 20 68 25 |(block)..`@ . h%| 00000a10 3d 65 78 74 72 61 25 20 80 20 69 25 3d 35 20 80 |=extra% . i%=5 .| 00000a20 20 45 78 74 72 61 4f 70 65 6e 3c 3e 2d 31 20 8c | ExtraOpen<>-1 .| 00000a30 20 f2 43 6c 6f 73 65 45 78 74 72 61 28 45 78 74 | .CloseExtra(Ext| 00000a40 72 61 4f 70 65 6e 29 0d 04 6a 47 20 e7 20 68 25 |raOpen)..jG . h%| 00000a50 3d 65 78 74 72 61 25 20 80 20 62 6c 6f 63 6b 21 |=extra% . block!| 00000a60 31 36 3d 36 20 80 20 45 78 74 72 61 4f 70 65 6e |16=6 . ExtraOpen| 00000a70 3c 3e 2d 31 20 8c 20 f2 45 78 61 6d 69 6e 65 44 |<>-1 . .ExamineD| 00000a80 69 73 63 28 45 78 74 72 61 4f 70 65 6e 29 0d 04 |isc(ExtraOpen)..| 00000a90 74 29 20 e7 20 68 25 3d 73 65 61 72 63 68 25 20 |t) . h%=search% | 00000aa0 8c 20 f2 53 65 61 72 63 68 42 75 74 74 6f 6e 73 |. .SearchButtons| 00000ab0 28 62 6c 6f 63 6b 29 0d 04 7e 25 20 e7 20 68 25 |(block)..~% . h%| 00000ac0 3d 70 72 69 6e 74 25 20 80 20 69 25 3d 33 20 8c |=print% . i%=3 .| 00000ad0 20 f2 50 72 69 6e 74 49 6e 64 65 78 0d 04 88 06 | .PrintIndex....| 00000ae0 20 e1 0d 04 92 06 20 3a 0d 04 9c 15 20 dd 20 f2 | ..... :.... . .| 00000af0 43 6f 64 65 57 69 6d 70 4d 65 6e 75 73 0d 04 a6 |CodeWimpMenus...| 00000b00 23 20 de 20 42 6c 6f 63 6b 4d 61 69 6e 4d 65 6e |# . BlockMainMen| 00000b10 75 20 31 2a 28 32 38 2b 28 31 30 2a 32 34 29 29 |u 1*(28+(10*24))| 00000b20 0d 04 b0 23 20 de 20 42 6c 6f 63 6b 49 63 6f 6e |...# . BlockIcon| 00000b30 4d 65 6e 75 20 31 2a 28 32 38 2b 28 31 30 2a 32 |Menu 1*(28+(10*2| 00000b40 34 29 29 0d 04 ba 11 20 55 73 69 6e 67 4d 65 6e |4)).... UsingMen| 00000b50 75 3d 2d 31 0d 04 c4 1b 20 f4 20 48 65 61 64 65 |u=-1.... . Heade| 00000b60 72 20 46 6f 72 20 4d 61 69 6e 20 4d 65 6e 75 0d |r For Main Menu.| 00000b70 04 ce 26 20 24 42 6c 6f 63 6b 4d 61 69 6e 4d 65 |..& $BlockMainMe| 00000b80 6e 75 3d c0 22 44 69 73 63 4d 61 6e 61 67 65 72 |nu=."DiscManager| 00000b90 22 2c 31 31 29 0d 04 d8 1b 20 42 6c 6f 63 6b 4d |",11).... BlockM| 00000ba0 61 69 6e 4d 65 6e 75 3f 31 32 3d 42 6c 61 63 6b |ainMenu?12=Black| 00000bb0 0d 04 e2 17 20 42 6c 6f 63 6b 4d 61 69 6e 4d 65 |.... BlockMainMe| 00000bc0 6e 75 3f 31 33 3d 32 0d 04 ec 1b 20 42 6c 6f 63 |nu?13=2.... Bloc| 00000bd0 6b 4d 61 69 6e 4d 65 6e 75 3f 31 34 3d 42 6c 61 |kMainMenu?14=Bla| 00000be0 63 6b 0d 04 f6 1b 20 42 6c 6f 63 6b 4d 61 69 6e |ck.... BlockMain| 00000bf0 4d 65 6e 75 3f 31 35 3d 57 68 69 74 65 0d 05 00 |Menu?15=White...| 00000c00 19 20 42 6c 6f 63 6b 4d 61 69 6e 4d 65 6e 75 21 |. BlockMainMenu!| 00000c10 31 36 3d 32 30 30 0d 05 0a 18 20 42 6c 6f 63 6b |16=200.... Block| 00000c20 4d 61 69 6e 4d 65 6e 75 21 32 30 3d 34 30 0d 05 |MainMenu!20=40..| 00000c30 14 18 20 42 6c 6f 63 6b 4d 61 69 6e 4d 65 6e 75 |.. BlockMainMenu| 00000c40 21 32 34 3d 31 30 0d 05 1e 19 20 f4 20 44 61 74 |!24=10.... . Dat| 00000c50 61 20 46 6f 72 20 4d 61 69 6e 20 4d 65 6e 75 0d |a For Main Menu.| 00000c60 05 28 0f 20 49 74 65 6d 50 6f 73 3d 32 38 0d 05 |.(. ItemPos=28..| 00000c70 32 34 20 f2 4d 65 6e 75 49 74 65 6d 28 22 49 6e |24 .MenuItem("In| 00000c80 66 6f 22 2c 42 6c 6f 63 6b 4d 61 69 6e 4d 65 6e |fo",BlockMainMen| 00000c90 75 2b 49 74 65 6d 50 6f 73 2c 69 6e 66 6f 25 2c |u+ItemPos,info%,| 00000ca0 a3 29 0d 05 3c 10 20 49 74 65 6d 50 6f 73 2b 3d |.)..<. ItemPos+=| 00000cb0 32 34 0d 05 46 38 20 f2 4d 65 6e 75 49 74 65 6d |24..F8 .MenuItem| 00000cc0 28 22 53 65 61 72 63 68 22 2c 42 6c 6f 63 6b 4d |("Search",BlockM| 00000cd0 61 69 6e 4d 65 6e 75 2b 49 74 65 6d 50 6f 73 2c |ainMenu+ItemPos,| 00000ce0 73 65 61 72 63 68 25 2c a3 29 0d 05 50 10 20 49 |search%,.)..P. I| 00000cf0 74 65 6d 50 6f 73 2b 3d 32 34 0d 05 5a 34 20 f2 |temPos+=24..Z4 .| 00000d00 4d 65 6e 75 49 74 65 6d 28 22 45 78 61 6d 69 6e |MenuItem("Examin| 00000d10 65 22 2c 42 6c 6f 63 6b 4d 61 69 6e 4d 65 6e 75 |e",BlockMainMenu| 00000d20 2b 49 74 65 6d 50 6f 73 2c 2d 31 2c a3 29 0d 05 |+ItemPos,-1,.)..| 00000d30 64 10 20 49 74 65 6d 50 6f 73 2b 3d 32 34 0d 05 |d. ItemPos+=24..| 00000d40 6e 36 20 f2 4d 65 6e 75 49 74 65 6d 28 22 43 6c |n6 .MenuItem("Cl| 00000d50 65 61 72 20 52 65 63 22 2c 42 6c 6f 63 6b 4d 61 |ear Rec",BlockMa| 00000d60 69 6e 4d 65 6e 75 2b 49 74 65 6d 50 6f 73 2c 2d |inMenu+ItemPos,-| 00000d70 31 2c a3 29 0d 05 78 10 20 49 74 65 6d 50 6f 73 |1,.)..x. ItemPos| 00000d80 2b 3d 32 34 0d 05 82 34 20 f2 4d 65 6e 75 49 74 |+=24...4 .MenuIt| 00000d90 65 6d 28 22 47 6f 74 6f 22 2c 42 6c 6f 63 6b 4d |em("Goto",BlockM| 00000da0 61 69 6e 4d 65 6e 75 2b 49 74 65 6d 50 6f 73 2c |ainMenu+ItemPos,| 00000db0 67 6f 74 6f 25 2c a3 29 0d 05 8c 10 20 49 74 65 |goto%,.).... Ite| 00000dc0 6d 50 6f 73 2b 3d 32 34 0d 05 96 33 20 f2 4d 65 |mPos+=24...3 .Me| 00000dd0 6e 75 49 74 65 6d 28 22 53 61 76 65 22 2c 42 6c |nuItem("Save",Bl| 00000de0 6f 63 6b 4d 61 69 6e 4d 65 6e 75 2b 49 74 65 6d |ockMainMenu+Item| 00000df0 50 6f 73 2c 66 69 6c 65 2c a3 29 0d 05 a0 10 20 |Pos,file,.).... | 00000e00 49 74 65 6d 50 6f 73 2b 3d 32 34 0d 05 aa 36 20 |ItemPos+=24...6 | 00000e10 f2 4d 65 6e 75 49 74 65 6d 28 22 50 72 69 6e 74 |.MenuItem("Print| 00000e20 22 2c 42 6c 6f 63 6b 4d 61 69 6e 4d 65 6e 75 2b |",BlockMainMenu+| 00000e30 49 74 65 6d 50 6f 73 2c 70 72 69 6e 74 25 2c a3 |ItemPos,print%,.| 00000e40 29 0d 05 b4 10 20 49 74 65 6d 50 6f 73 2b 3d 32 |).... ItemPos+=2| 00000e50 34 0d 05 be 31 20 f2 4d 65 6e 75 49 74 65 6d 28 |4...1 .MenuItem(| 00000e60 22 51 75 69 74 22 2c 42 6c 6f 63 6b 4d 61 69 6e |"Quit",BlockMain| 00000e70 4d 65 6e 75 2b 49 74 65 6d 50 6f 73 2c 2d 31 2c |Menu+ItemPos,-1,| 00000e80 b9 29 0d 05 c8 1b 20 f4 20 48 65 61 64 65 72 20 |.).... . Header | 00000e90 46 6f 72 20 49 63 6f 6e 20 4d 65 6e 75 0d 05 d2 |For Icon Menu...| 00000ea0 26 20 24 42 6c 6f 63 6b 49 63 6f 6e 4d 65 6e 75 |& $BlockIconMenu| 00000eb0 3d c0 22 44 69 73 63 4d 61 6e 61 67 65 72 22 2c |=."DiscManager",| 00000ec0 31 31 29 0d 05 dc 1b 20 42 6c 6f 63 6b 49 63 6f |11).... BlockIco| 00000ed0 6e 4d 65 6e 75 3f 31 32 3d 42 6c 61 63 6b 0d 05 |nMenu?12=Black..| 00000ee0 e6 17 20 42 6c 6f 63 6b 49 63 6f 6e 4d 65 6e 75 |.. BlockIconMenu| 00000ef0 3f 31 33 3d 32 0d 05 f0 1b 20 42 6c 6f 63 6b 49 |?13=2.... BlockI| 00000f00 63 6f 6e 4d 65 6e 75 3f 31 34 3d 42 6c 61 63 6b |conMenu?14=Black| 00000f10 0d 05 fa 1b 20 42 6c 6f 63 6b 49 63 6f 6e 4d 65 |.... BlockIconMe| 00000f20 6e 75 3f 31 35 3d 57 68 69 74 65 0d 06 04 19 20 |nu?15=White.... | 00000f30 42 6c 6f 63 6b 49 63 6f 6e 4d 65 6e 75 21 31 36 |BlockIconMenu!16| 00000f40 3d 31 35 30 0d 06 0e 18 20 42 6c 6f 63 6b 49 63 |=150.... BlockIc| 00000f50 6f 6e 4d 65 6e 75 21 32 30 3d 34 30 0d 06 18 18 |onMenu!20=40....| 00000f60 20 42 6c 6f 63 6b 49 63 6f 6e 4d 65 6e 75 21 32 | BlockIconMenu!2| 00000f70 34 3d 31 30 0d 06 22 19 20 f4 20 44 61 74 61 20 |4=10..". . Data | 00000f80 46 6f 72 20 49 63 6f 6e 20 4d 65 6e 75 0d 06 2c |For Icon Menu..,| 00000f90 0f 20 49 74 65 6d 50 6f 73 3d 32 38 0d 06 36 34 |. ItemPos=28..64| 00000fa0 20 f2 4d 65 6e 75 49 74 65 6d 28 22 49 6e 66 6f | .MenuItem("Info| 00000fb0 22 2c 42 6c 6f 63 6b 49 63 6f 6e 4d 65 6e 75 2b |",BlockIconMenu+| 00000fc0 49 74 65 6d 50 6f 73 2c 69 6e 66 6f 25 2c a3 29 |ItemPos,info%,.)| 00000fd0 0d 06 40 10 20 49 74 65 6d 50 6f 73 2b 3d 32 34 |..@. ItemPos+=24| 00000fe0 0d 06 4a 31 20 f2 4d 65 6e 75 49 74 65 6d 28 22 |..J1 .MenuItem("| 00000ff0 51 75 69 74 22 2c 42 6c 6f 63 6b 49 63 6f 6e 4d |Quit",BlockIconM| 00001000 65 6e 75 2b 49 74 65 6d 50 6f 73 2c 2d 31 2c b9 |enu+ItemPos,-1,.| 00001010 29 0d 06 54 06 20 e1 0d 06 5e 06 20 3a 0d 06 68 |)..T. ...^. :..h| 00001020 29 20 dd f2 4d 65 6e 75 49 74 65 6d 28 44 61 74 |) ..MenuItem(Dat| 00001030 61 24 2c 50 6f 69 6e 74 2c 48 61 6e 64 6c 65 25 |a$,Point,Handle%| 00001040 2c 4c 41 53 54 29 0d 06 72 1a 20 e7 20 4c 41 53 |,LAST)..r. . LAS| 00001050 54 3d a3 20 8c 20 50 6f 69 6e 74 21 30 3d 26 30 |T=. . Point!0=&0| 00001060 0d 06 7c 1b 20 e7 20 4c 41 53 54 3d b9 20 8c 20 |..|. . LAST=. . | 00001070 50 6f 69 6e 74 21 30 3d 26 38 30 0d 06 86 14 20 |Point!0=&80.... | 00001080 50 6f 69 6e 74 21 34 3d 48 61 6e 64 6c 65 25 0d |Point!4=Handle%.| 00001090 06 90 1c 20 50 6f 69 6e 74 21 38 3d 26 30 31 30 |... Point!8=&010| 000010a0 30 32 31 20 84 20 37 3c 3c 32 34 0d 06 9a 1b 20 |021 . 7<<24.... | 000010b0 24 28 50 6f 69 6e 74 2b 31 32 29 3d c0 44 61 74 |$(Point+12)=.Dat| 000010c0 61 24 2c 31 31 29 0d 06 a4 06 20 e1 0d 06 ae 06 |a$,11).... .....| 000010d0 20 3a 0d 06 b8 2a 20 dd f2 42 72 69 6e 67 55 70 | :...* ..BringUp| 000010e0 4d 65 6e 75 28 4d 65 6e 75 4e 61 6d 65 2c 4d 6f |Menu(MenuName,Mo| 000010f0 75 73 65 58 2c 4d 6f 75 73 65 59 29 0d 06 c2 32 |useX,MouseY)...2| 00001100 20 c8 99 20 22 57 69 6d 70 5f 43 72 65 61 74 65 | .. "Wimp_Create| 00001110 4d 65 6e 75 22 2c 30 2c 4d 65 6e 75 4e 61 6d 65 |Menu",0,MenuName| 00001120 2c 4d 6f 75 73 65 58 2c 4d 6f 75 73 65 59 0d 06 |,MouseX,MouseY..| 00001130 cc 17 20 55 73 69 6e 67 4d 65 6e 75 3d 4d 65 6e |.. UsingMenu=Men| 00001140 75 4e 61 6d 65 0d 06 d6 06 20 e1 0d 06 e0 06 20 |uName.... ..... | 00001150 3a 0d 06 ea 11 20 dd 20 f2 4f 70 65 6e 4d 65 6e |:.... . .OpenMen| 00001160 75 73 0d 06 f4 18 20 4d 65 6e 75 48 61 6e 64 6c |us.... MenuHandl| 00001170 65 3d 62 6c 6f 63 6b 21 31 32 0d 06 fe 16 20 4d |e=block!12.... M| 00001180 65 6e 75 49 63 6f 6e 3d 62 6c 6f 63 6b 21 31 36 |enuIcon=block!16| 00001190 0d 07 08 15 20 48 61 6e 64 6c 65 25 3d 62 6c 6f |.... Handle%=blo| 000011a0 63 6b 21 31 32 0d 07 12 2b 20 42 75 74 74 6f 6e |ck!12...+ Button| 000011b0 25 3d 28 28 62 6c 6f 63 6b 21 38 29 80 37 29 80 |%=((block!8).7).| 000011c0 20 ac 28 28 62 6c 6f 63 6b 21 32 30 29 80 37 29 | .((block!20).7)| 000011d0 0d 07 1c 13 20 4d 6f 75 73 65 58 3d 62 6c 6f 63 |.... MouseX=bloc| 000011e0 6b 21 30 0d 07 26 13 20 4d 6f 75 73 65 59 3d 62 |k!0..&. MouseY=b| 000011f0 6c 6f 63 6b 21 34 0d 07 30 4a 20 e7 20 42 75 74 |lock!4..0J . But| 00001200 74 6f 6e 25 3d 32 20 80 20 48 61 6e 64 6c 65 25 |ton%=2 . Handle%| 00001210 3c 3e 2d 32 20 8c 20 f2 42 72 69 6e 67 55 70 4d |<>-2 . .BringUpM| 00001220 65 6e 75 28 42 6c 6f 63 6b 4d 61 69 6e 4d 65 6e |enu(BlockMainMen| 00001230 75 2c 4d 6f 75 73 65 58 2c 4d 6f 75 73 65 59 29 |u,MouseX,MouseY)| 00001240 0d 07 3a 49 20 e7 20 42 75 74 74 6f 6e 25 3d 32 |..:I . Button%=2| 00001250 20 80 20 48 61 6e 64 6c 65 25 3d 2d 32 20 8c 20 | . Handle%=-2 . | 00001260 f2 42 72 69 6e 67 55 70 4d 65 6e 75 28 42 6c 6f |.BringUpMenu(Blo| 00001270 63 6b 49 63 6f 6e 4d 65 6e 75 2c 4d 6f 75 73 65 |ckIconMenu,Mouse| 00001280 58 2c 4d 6f 75 73 65 59 29 0d 07 44 06 20 e1 0d |X,MouseY)..D. ..| 00001290 07 4e 06 20 3a 0d 07 58 18 20 dd f2 4d 65 6e 75 |.N. :..X. ..Menu| 000012a0 53 65 6c 65 63 74 28 62 6c 6f 63 6b 29 0d 07 62 |Select(block)..b| 000012b0 13 20 c8 8e 20 55 73 69 6e 67 4d 65 6e 75 20 ca |. .. UsingMenu .| 000012c0 0d 07 6c 2e 20 c9 20 42 6c 6f 63 6b 4d 61 69 6e |..l. . BlockMain| 000012d0 4d 65 6e 75 20 3a 20 f2 4d 65 6e 75 53 65 6c 65 |Menu : .MenuSele| 000012e0 63 74 5f 4d 61 69 6e 28 62 6c 6f 63 6b 29 0d 07 |ct_Main(block)..| 000012f0 76 2e 20 c9 20 42 6c 6f 63 6b 49 63 6f 6e 4d 65 |v. . BlockIconMe| 00001300 6e 75 20 3a 20 f2 4d 65 6e 75 53 65 6c 65 63 74 |nu : .MenuSelect| 00001310 5f 49 63 6f 6e 28 62 6c 6f 63 6b 29 0d 07 80 06 |_Icon(block)....| 00001320 20 cb 0d 07 8a 11 20 55 73 69 6e 67 4d 65 6e 75 | ..... UsingMenu| 00001330 3d 2d 31 0d 07 94 06 20 e1 0d 07 9e 06 20 3a 0d |=-1.... ..... :.| 00001340 07 a8 1d 20 dd f2 4d 65 6e 75 53 65 6c 65 63 74 |... ..MenuSelect| 00001350 5f 4d 61 69 6e 28 62 6c 6f 63 6b 29 0d 07 b2 11 |_Main(block)....| 00001360 20 52 6f 6f 74 3d 62 6c 6f 63 6b 21 30 0d 07 bc | Root=block!0...| 00001370 11 20 53 75 62 31 3d 62 6c 6f 63 6b 21 34 0d 07 |. Sub1=block!4..| 00001380 c6 11 20 53 75 62 32 3d 62 6c 6f 63 6b 21 38 0d |.. Sub2=block!8.| 00001390 07 d0 12 20 53 75 62 33 3d 62 6c 6f 63 6b 21 31 |... Sub3=block!1| 000013a0 32 0d 07 da 12 20 53 75 62 34 3d 62 6c 6f 63 6b |2.... Sub4=block| 000013b0 21 31 36 0d 07 e4 24 20 e7 20 52 6f 6f 74 3d 31 |!16...$ . Root=1| 000013c0 20 8c 20 f2 4f 70 65 6e 57 69 6e 64 6f 77 28 73 | . .OpenWindow(s| 000013d0 65 61 72 63 68 25 29 0d 07 ee 27 20 e7 20 52 6f |earch%)...' . Ro| 000013e0 6f 74 3d 32 20 8c 20 f2 45 78 61 6d 69 6e 65 44 |ot=2 . .ExamineD| 000013f0 69 73 63 28 45 78 74 72 61 4f 70 65 6e 29 0d 07 |isc(ExtraOpen)..| 00001400 f8 1c 20 e7 20 52 6f 6f 74 3d 33 20 8c 20 f2 43 |.. . Root=3 . .C| 00001410 6c 65 61 72 52 65 63 6f 72 64 0d 08 02 16 20 e7 |learRecord.... .| 00001420 20 52 6f 6f 74 3d 37 20 8c 20 51 75 69 74 3d b9 | Root=7 . Quit=.| 00001430 0d 08 0c 06 20 e1 0d 08 16 06 20 3a 0d 08 20 1d |.... ..... :.. .| 00001440 20 dd f2 4d 65 6e 75 53 65 6c 65 63 74 5f 49 63 | ..MenuSelect_Ic| 00001450 6f 6e 28 62 6c 6f 63 6b 29 0d 08 2a 11 20 52 6f |on(block)..*. Ro| 00001460 6f 74 3d 62 6c 6f 63 6b 21 30 0d 08 34 11 20 53 |ot=block!0..4. S| 00001470 75 62 31 3d 62 6c 6f 63 6b 21 34 0d 08 3e 11 20 |ub1=block!4..>. | 00001480 53 75 62 32 3d 62 6c 6f 63 6b 21 38 0d 08 48 12 |Sub2=block!8..H.| 00001490 20 53 75 62 33 3d 62 6c 6f 63 6b 21 31 32 0d 08 | Sub3=block!12..| 000014a0 52 12 20 53 75 62 34 3d 62 6c 6f 63 6b 21 31 36 |R. Sub4=block!16| 000014b0 0d 08 5c 16 20 e7 20 52 6f 6f 74 3d 31 20 8c 20 |..\. . Root=1 . | 000014c0 51 75 69 74 3d b9 0d 08 66 06 20 e1 0d 08 70 06 |Quit=...f. ...p.| 000014d0 20 3a 0d 08 7a 0e 20 dd f2 63 6f 6c 6f 75 72 73 | :..z. ..colours| 000014e0 0d 08 84 0c 20 42 6c 61 63 6b 3d 37 0d 08 8e 0b |.... Black=7....| 000014f0 20 52 65 64 3d 31 31 0d 08 98 0d 20 47 72 65 65 | Red=11.... Gree| 00001500 6e 3d 31 30 0d 08 a2 0d 20 59 65 6c 6c 6f 77 3d |n=10.... Yellow=| 00001510 39 0d 08 ac 0b 20 42 6c 75 65 3d 38 0d 08 b6 0e |9.... Blue=8....| 00001520 20 4d 61 67 65 6e 74 61 3d 35 0d 08 c0 0b 20 43 | Magenta=5.... C| 00001530 79 61 6e 3d 36 0d 08 ca 0c 20 57 68 69 74 65 3d |yan=6.... White=| 00001540 30 0d 08 d4 06 20 e1 0d 08 de 06 20 3a 0d 08 e8 |0.... ..... :...| 00001550 18 20 dd f2 52 65 63 69 65 76 65 4d 65 73 73 61 |. ..RecieveMessa| 00001560 67 65 28 62 29 0d 08 f2 0e 20 c8 8e 20 62 21 31 |ge(b).... .. b!1| 00001570 36 20 ca 0d 08 fc 0f 20 c9 20 30 3a 51 75 69 74 |6 ..... . 0:Quit| 00001580 3d b9 0d 09 06 09 20 c9 20 31 3a 0d 09 10 15 20 |=..... . 1:.... | 00001590 c9 20 32 3a f2 44 61 74 61 53 61 76 65 28 62 29 |. 2:.DataSave(b)| 000015a0 0d 09 1a 15 20 c9 20 33 3a f2 44 61 74 61 4c 6f |.... . 3:.DataLo| 000015b0 61 64 28 62 29 0d 09 24 06 20 cb 0d 09 2e 06 20 |ad(b)..$. ..... | 000015c0 e1 0d 09 38 06 20 3a 0d 09 42 13 20 dd 20 f2 44 |...8. :..B. . .D| 000015d0 61 74 61 4c 6f 61 64 28 62 29 0d 09 4c 0f 20 e7 |ataLoad(b)..L. .| 000015e0 20 62 21 31 32 3d 30 20 8c 0d 09 56 1a 20 70 61 | b!12=0 ...V. pa| 000015f0 74 68 24 3d a4 46 69 6e 64 4e 61 6d 65 28 62 2b |th$=.FindName(b+| 00001600 34 34 29 0d 09 60 18 20 f2 44 6f 5f 54 68 65 5f |44)..`. .Do_The_| 00001610 4c 6f 61 64 28 70 61 74 68 24 29 0d 09 6a 1a 20 |Load(path$)..j. | 00001620 62 21 31 32 3d 62 21 38 3a 62 21 31 36 3d 34 3a |b!12=b!8:b!16=4:| 00001630 21 62 3d 36 34 0d 09 74 06 20 cd 0d 09 7e 06 20 |!b=64..t. ...~. | 00001640 e1 0d 09 88 06 20 3a 0d 09 92 15 20 dd 20 a4 46 |..... :.... . .F| 00001650 69 6e 64 4e 61 6d 65 28 70 74 72 29 0d 09 9c 0a |indName(ptr)....| 00001660 20 70 24 3d 22 22 0d 09 a6 0f 20 c8 95 20 3f 70 | p$="".... .. ?p| 00001670 74 72 3c 3e 30 0d 09 b0 15 20 70 24 2b 3d bd 3f |tr<>0.... p$+=.?| 00001680 70 74 72 3a 70 74 72 2b 3d 31 0d 09 ba 06 20 ce |ptr:ptr+=1.... .| 00001690 0d 09 c4 08 20 3d 70 24 0d 09 ce 06 20 3a 0d 09 |.... =p$.... :..| 000016a0 d8 0e 20 dd 20 f2 4f 4b 53 61 76 65 0d 09 e2 22 |.. . .OKSave..."| 000016b0 20 4e 61 6d 65 24 3d a4 47 65 74 5f 49 63 6f 6e | Name$=.Get_Icon| 000016c0 5f 53 74 61 74 65 28 66 69 6c 65 2c 31 29 0d 09 |_State(file,1)..| 000016d0 ec 14 20 e7 20 a7 4e 61 6d 65 24 2c 22 2e 22 29 |.. . .Name$,".")| 000016e0 20 8c 0d 09 f6 18 20 f2 44 6f 5f 54 68 65 5f 53 | ..... .Do_The_S| 000016f0 61 76 65 28 4e 61 6d 65 24 29 0d 0a 00 06 20 cc |ave(Name$).... .| 00001700 0d 0a 0a 3e 20 24 62 6c 6f 63 6b 3d 22 20 20 20 |...> $block=" | 00001710 20 54 6f 20 73 61 76 65 2c 20 64 72 61 67 20 74 | To save, drag t| 00001720 68 65 20 69 63 6f 6e 20 74 6f 20 61 20 64 69 72 |he icon to a dir| 00001730 65 63 74 6f 72 79 20 76 69 65 77 65 72 22 0d 0a |ectory viewer"..| 00001740 14 31 20 c8 99 20 22 57 69 6d 70 5f 52 65 70 6f |.1 .. "Wimp_Repo| 00001750 72 74 45 72 72 6f 72 22 2c 62 6c 6f 63 6b 2c 31 |rtError",block,1| 00001760 2c 22 44 69 73 63 20 4d 61 6e 61 67 65 72 22 0d |,"Disc Manager".| 00001770 0a 1e 06 20 cd 0d 0a 28 06 20 e1 0d 0a 32 06 20 |... ...(. ...2. | 00001780 3a 0d 0a 3c 13 20 dd 20 f2 44 61 74 61 53 61 76 |:..<. . .DataSav| 00001790 65 28 62 29 0d 0a 46 21 20 f2 44 6f 5f 54 68 65 |e(b)..F! .Do_The| 000017a0 5f 53 61 76 65 28 a4 47 65 74 4e 61 6d 65 28 62 |_Save(.GetName(b| 000017b0 2b 34 34 29 29 0d 0a 50 2a 20 f2 53 65 74 5f 49 |+44))..P* .Set_I| 000017c0 63 6f 6e 5f 54 65 78 74 28 66 69 6c 65 2c 31 2c |con_Text(file,1,| 000017d0 a4 47 65 74 4e 61 6d 65 28 62 2b 34 34 29 29 0d |.GetName(b+44)).| 000017e0 0a 5a 1a 20 62 21 31 32 3d 62 21 38 3a 62 21 31 |.Z. b!12=b!8:b!1| 000017f0 36 3d 33 3a 21 62 3d 36 34 0d 0a 64 29 20 c8 99 |6=3:!b=64..d) ..| 00001800 20 22 57 69 6d 70 5f 53 65 6e 64 4d 65 73 73 61 | "Wimp_SendMessa| 00001810 67 65 22 2c 31 37 2c 62 2c 62 21 32 30 2c 62 21 |ge",17,b,b!20,b!| 00001820 32 34 0d 0a 6e 06 20 e1 0d 0a 78 06 20 3a 0d 0a |24..n. ...x. :..| 00001830 82 14 20 dd 20 a4 47 65 74 4e 61 6d 65 28 70 74 |.. . .GetName(pt| 00001840 72 29 0d 0a 8c 0a 20 66 24 3d 22 22 0d 0a 96 1a |r).... f$=""....| 00001850 20 c8 95 20 3f 70 74 72 3c 3e 30 20 80 20 3f 70 | .. ?ptr<>0 . ?p| 00001860 74 72 3c 3e 31 33 0d 0a a0 17 20 66 24 3d 66 24 |tr<>13.... f$=f$| 00001870 2b bd 3f 70 74 72 3a 70 74 72 2b 3d 31 0d 0a aa |+.?ptr:ptr+=1...| 00001880 06 20 ce 0d 0a b4 08 20 3d 66 24 0d 0a be 06 20 |. ..... =f$.... | 00001890 3a 0d 0a c8 0c 20 dd 20 f2 73 61 76 65 0d 0a d2 |:.... . .save...| 000018a0 22 20 4e 61 6d 65 24 3d a4 47 65 74 5f 49 63 6f |" Name$=.Get_Ico| 000018b0 6e 5f 53 74 61 74 65 28 66 69 6c 65 2c 31 29 0d |n_State(file,1).| 000018c0 0a dc 24 20 c8 99 20 22 57 69 6d 70 5f 47 65 74 |..$ .. "Wimp_Get| 000018d0 50 6f 69 6e 74 65 72 49 6e 66 6f 22 2c 2c 62 6c |PointerInfo",,bl| 000018e0 6f 63 6b 0d 0a e6 1b 20 62 6c 6f 63 6b 21 32 30 |ock.... block!20| 000018f0 3d 36 34 3a 62 6c 6f 63 6b 21 33 32 3d 30 0d 0a |=64:block!32=0..| 00001900 f0 21 20 62 6c 6f 63 6b 21 33 36 3d 31 3a 62 6c |.! block!36=1:bl| 00001910 6f 63 6b 21 34 30 3d 62 6c 6f 63 6b 21 31 32 0d |ock!40=block!12.| 00001920 0a fa 16 20 62 6c 6f 63 6b 21 34 34 3d 62 6c 6f |... block!44=blo| 00001930 63 6b 21 31 36 0d 0b 04 14 20 62 6c 6f 63 6b 21 |ck!16.... block!| 00001940 34 38 3d 21 62 6c 6f 63 6b 0d 0b 0e 15 20 62 6c |48=!block.... bl| 00001950 6f 63 6b 21 35 32 3d 62 6c 6f 63 6b 21 34 0d 0b |ock!52=block!4..| 00001960 18 14 20 62 6c 6f 63 6b 21 35 36 3d 31 30 30 2a |.. block!56=100*| 00001970 34 30 0d 0b 22 12 20 62 6c 6f 63 6b 21 36 30 3d |40..". block!60=| 00001980 26 46 45 45 0d 0b 2c 29 20 24 28 62 6c 6f 63 6b |&FEE..,) $(block| 00001990 2b 36 34 29 3d a4 46 69 6e 64 4c 61 73 74 50 61 |+64)=.FindLastPa| 000019a0 74 68 4e 61 6d 65 28 4e 61 6d 65 24 29 0d 0b 36 |thName(Name$)..6| 000019b0 38 20 c8 99 20 22 57 69 6d 70 5f 53 65 6e 64 4d |8 .. "Wimp_SendM| 000019c0 65 73 73 61 67 65 22 2c 31 37 2c 62 6c 6f 63 6b |essage",17,block| 000019d0 2b 32 30 2c 62 6c 6f 63 6b 21 31 32 2c 62 6c 6f |+20,block!12,blo| 000019e0 63 6b 21 31 36 0d 0b 40 06 20 e1 0d 0b 4a 06 20 |ck!16..@. ...J. | 000019f0 3a 0d 0b 54 1f 20 dd 20 a4 46 69 6e 64 4c 61 73 |:..T. . .FindLas| 00001a00 74 50 61 74 68 4e 61 6d 65 28 70 61 74 68 24 29 |tPathName(path$)| 00001a10 0d 0b 5e 13 20 c8 95 20 a7 70 61 74 68 24 2c 22 |..^. .. .path$,"| 00001a20 2e 22 29 0d 0b 68 20 20 70 61 74 68 24 3d c1 70 |.")..h path$=.p| 00001a30 61 74 68 24 2c a7 70 61 74 68 24 2c 22 2e 22 29 |ath$,.path$,".")| 00001a40 2b 31 29 0d 0b 72 06 20 ce 0d 0b 7c 0b 20 3d 70 |+1)..r. ...|. =p| 00001a50 61 74 68 24 0d 0b 86 06 20 3a 0d 0b 90 1a 20 dd |ath$.... :.... .| 00001a60 f2 44 6f 5f 54 68 65 5f 53 61 76 65 28 4e 4e 41 |.Do_The_Save(NNA| 00001a70 4d 45 24 29 0d 0b 9a 1d 20 f2 57 72 69 74 65 49 |ME$).... .WriteI| 00001a80 63 6f 6e 73 54 6f 49 6e 64 65 78 28 50 61 67 65 |consToIndex(Page| 00001a90 29 0d 0b a4 10 20 58 3d ae 28 4e 4e 41 4d 45 24 |).... X=.(NNAME$| 00001aa0 29 0d 0b ae 12 20 f1 20 23 58 2c 4d 61 78 50 61 |).... . #X,MaxPa| 00001ab0 67 65 73 0d 0b b8 1d 20 e3 20 53 61 76 65 3d 31 |ges.... . Save=1| 00001ac0 20 b8 20 28 4d 61 78 50 61 67 65 73 2a 31 30 29 | . (MaxPages*10)| 00001ad0 0d 0b c2 15 20 f1 20 23 58 2c 54 65 78 74 24 28 |.... . #X,Text$(| 00001ae0 53 61 76 65 29 0d 0b cc 06 20 ed 0d 0b d6 1f 20 |Save).... ..... | 00001af0 e3 20 53 61 76 65 3d 31 20 b8 20 28 4d 61 78 50 |. Save=1 . (MaxP| 00001b00 61 67 65 73 2a 31 30 2a 35 29 0d 0b e0 16 20 f1 |ages*10*5).... .| 00001b10 20 23 58 2c 4e 6f 74 65 73 24 28 53 61 76 65 29 | #X,Notes$(Save)| 00001b20 0d 0b ea 06 20 ed 0d 0b f4 09 20 d9 20 23 58 0d |.... ..... . #X.| 00001b30 0b fe 21 20 ff 20 22 53 45 54 54 59 50 45 20 22 |..! . "SETTYPE "| 00001b40 2b 4e 4e 41 4d 45 24 2b 22 20 49 6e 64 65 78 22 |+NNAME$+" Index"| 00001b50 0d 0c 08 06 20 e1 0d 0c 12 06 20 3a 0d 0c 1c 1a |.... ..... :....| 00001b60 20 dd f2 44 6f 5f 54 68 65 5f 4c 6f 61 64 28 4e | ..Do_The_Load(N| 00001b70 4e 41 4d 45 24 29 0d 0c 26 10 20 58 3d 8e 28 4e |NAME$)..&. X=.(N| 00001b80 4e 41 4d 45 24 29 0d 0c 30 12 20 e8 20 23 58 2c |NAME$)..0. . #X,| 00001b90 4d 61 78 50 61 67 65 73 0d 0c 3a 1d 20 e3 20 53 |MaxPages..:. . S| 00001ba0 61 76 65 3d 31 20 b8 20 28 4d 61 78 50 61 67 65 |ave=1 . (MaxPage| 00001bb0 73 2a 31 30 29 0d 0c 44 15 20 e8 20 23 58 2c 54 |s*10)..D. . #X,T| 00001bc0 65 78 74 24 28 53 61 76 65 29 0d 0c 4e 06 20 ed |ext$(Save)..N. .| 00001bd0 0d 0c 58 1f 20 e3 20 53 61 76 65 3d 31 20 b8 20 |..X. . Save=1 . | 00001be0 28 4d 61 78 50 61 67 65 73 2a 31 30 2a 35 29 0d |(MaxPages*10*5).| 00001bf0 0c 62 16 20 e8 20 23 58 2c 4e 6f 74 65 73 24 28 |.b. . #X,Notes$(| 00001c00 53 61 76 65 29 0d 0c 6c 06 20 ed 0d 0c 76 0b 20 |Save)..l. ...v. | 00001c10 50 61 67 65 3d 31 0d 0c 80 15 20 f2 53 65 74 50 |Page=1.... .SetP| 00001c20 61 67 65 49 63 6f 6e 73 28 31 29 0d 0c 8a 09 20 |ageIcons(1).... | 00001c30 d9 20 23 58 0d 0c 94 06 20 e1 0d 0c 9e 06 20 3a |. #X.... ..... :| 00001c40 0d 0c a8 15 20 dd 20 f2 4c 6f 61 64 54 65 6d 70 |.... . .LoadTemp| 00001c50 6c 61 74 65 73 0d 0c b2 21 20 de 20 62 62 6c 6f |lates...! . bblo| 00001c60 63 6b 20 26 38 30 30 2c 74 65 6d 70 6c 61 74 65 |ck &800,template| 00001c70 25 20 26 38 30 30 0d 0c bc 36 20 c8 99 20 22 57 |% &800...6 .. "W| 00001c80 69 6d 70 5f 4f 70 65 6e 54 65 6d 70 6c 61 74 65 |imp_OpenTemplate| 00001c90 22 2c 2c 22 3c 44 69 73 63 4d 61 6e 24 44 69 72 |",,"<DiscMan$Dir| 00001ca0 3e 2e 54 65 6d 70 6c 61 74 65 73 22 0d 0c c6 24 |>.Templates"...$| 00001cb0 20 ea 20 63 25 2c 65 6e 64 25 20 3a 20 65 6e 64 | . c%,end% : end| 00001cc0 25 3d 74 65 6d 70 6c 61 74 65 25 2b 26 38 30 30 |%=template%+&800| 00001cd0 0d 0c d0 06 20 3a 0d 0c da 52 20 c8 99 20 22 57 |.... :...R .. "W| 00001ce0 69 6d 70 5f 4c 6f 61 64 54 65 6d 70 6c 61 74 65 |imp_LoadTemplate| 00001cf0 22 2c 2c 62 62 6c 6f 63 6b 2c 74 65 6d 70 6c 61 |",,bblock,templa| 00001d00 74 65 25 2c 65 6e 64 25 2c 2d 31 2c 22 49 6e 66 |te%,end%,-1,"Inf| 00001d10 6f 22 2c 30 20 b8 20 2c 2c 74 65 6d 70 6c 61 74 |o",0 . ,,templat| 00001d20 65 25 2c 2c 2c 2c 63 25 0d 0c e4 28 20 c8 99 20 |e%,,,,c%...( .. | 00001d30 22 57 69 6d 70 5f 43 72 65 61 74 65 57 69 6e 64 |"Wimp_CreateWind| 00001d40 6f 77 22 2c 2c 62 62 6c 6f 63 6b 20 b8 20 63 25 |ow",,bblock . c%| 00001d50 0d 0c ee 0d 20 69 6e 66 6f 25 3d 63 25 0d 0c f8 |.... info%=c%...| 00001d60 06 20 3a 0d 0d 02 53 20 c8 99 20 22 57 69 6d 70 |. :...S .. "Wimp| 00001d70 5f 4c 6f 61 64 54 65 6d 70 6c 61 74 65 22 2c 2c |_LoadTemplate",,| 00001d80 62 62 6c 6f 63 6b 2c 74 65 6d 70 6c 61 74 65 25 |bblock,template%| 00001d90 2c 65 6e 64 25 2c 2d 31 2c 22 49 6e 64 65 78 22 |,end%,-1,"Index"| 00001da0 2c 30 20 b8 20 2c 2c 74 65 6d 70 6c 61 74 65 25 |,0 . ,,template%| 00001db0 2c 2c 2c 2c 63 25 0d 0d 0c 28 20 c8 99 20 22 57 |,,,,c%...( .. "W| 00001dc0 69 6d 70 5f 43 72 65 61 74 65 57 69 6e 64 6f 77 |imp_CreateWindow| 00001dd0 22 2c 2c 62 62 6c 6f 63 6b 20 b8 20 63 25 0d 0d |",,bblock . c%..| 00001de0 16 0e 20 69 6e 64 65 78 25 3d 63 25 0d 0d 20 06 |.. index%=c%.. .| 00001df0 20 3a 0d 0d 2a 56 20 c8 99 20 22 57 69 6d 70 5f | :..*V .. "Wimp_| 00001e00 4c 6f 61 64 54 65 6d 70 6c 61 74 65 22 2c 2c 62 |LoadTemplate",,b| 00001e10 62 6c 6f 63 6b 2c 74 65 6d 70 6c 61 74 65 25 2c |block,template%,| 00001e20 65 6e 64 25 2c 2d 31 2c 22 43 6f 6e 74 72 6f 6c |end%,-1,"Control| 00001e30 6c 22 2c 30 20 b8 20 2c 2c 74 65 6d 70 6c 61 74 |l",0 . ,,templat| 00001e40 65 25 2c 2c 2c 2c 63 25 0d 0d 34 1c 20 62 62 6c |e%,,,,c%..4. bbl| 00001e50 6f 63 6b 21 36 34 3d 53 70 72 69 74 65 50 6f 69 |ock!64=SpritePoi| 00001e60 6e 74 65 72 0d 0d 3e 28 20 c8 99 20 22 57 69 6d |nter..>( .. "Wim| 00001e70 70 5f 43 72 65 61 74 65 57 69 6e 64 6f 77 22 2c |p_CreateWindow",| 00001e80 2c 62 62 6c 6f 63 6b 20 b8 20 63 25 0d 0d 48 11 |,bblock . c%..H.| 00001e90 20 63 6f 6e 74 72 6f 6c 6c 25 3d 63 25 0d 0d 52 | controll%=c%..R| 00001ea0 06 20 3a 0d 0d 5c 53 20 c8 99 20 22 57 69 6d 70 |. :..\S .. "Wimp| 00001eb0 5f 4c 6f 61 64 54 65 6d 70 6c 61 74 65 22 2c 2c |_LoadTemplate",,| 00001ec0 62 62 6c 6f 63 6b 2c 74 65 6d 70 6c 61 74 65 25 |bblock,template%| 00001ed0 2c 65 6e 64 25 2c 2d 31 2c 22 45 78 74 72 61 22 |,end%,-1,"Extra"| 00001ee0 2c 30 20 b8 20 2c 2c 74 65 6d 70 6c 61 74 65 25 |,0 . ,,template%| 00001ef0 2c 2c 2c 2c 63 25 0d 0d 66 28 20 c8 99 20 22 57 |,,,,c%..f( .. "W| 00001f00 69 6d 70 5f 43 72 65 61 74 65 57 69 6e 64 6f 77 |imp_CreateWindow| 00001f10 22 2c 2c 62 62 6c 6f 63 6b 20 b8 20 63 25 0d 0d |",,bblock . c%..| 00001f20 70 0e 20 65 78 74 72 61 25 3d 63 25 0d 0d 7a 06 |p. extra%=c%..z.| 00001f30 20 3a 0d 0d 84 54 20 c8 99 20 22 57 69 6d 70 5f | :...T .. "Wimp_| 00001f40 4c 6f 61 64 54 65 6d 70 6c 61 74 65 22 2c 2c 62 |LoadTemplate",,b| 00001f50 62 6c 6f 63 6b 2c 74 65 6d 70 6c 61 74 65 25 2c |block,template%,| 00001f60 65 6e 64 25 2c 2d 31 2c 22 53 65 61 72 63 68 22 |end%,-1,"Search"| 00001f70 2c 30 20 b8 20 2c 2c 74 65 6d 70 6c 61 74 65 25 |,0 . ,,template%| 00001f80 2c 2c 2c 2c 63 25 0d 0d 8e 28 20 c8 99 20 22 57 |,,,,c%...( .. "W| 00001f90 69 6d 70 5f 43 72 65 61 74 65 57 69 6e 64 6f 77 |imp_CreateWindow| 00001fa0 22 2c 2c 62 62 6c 6f 63 6b 20 b8 20 63 25 0d 0d |",,bblock . c%..| 00001fb0 98 0f 20 73 65 61 72 63 68 25 3d 63 25 0d 0d a2 |.. search%=c%...| 00001fc0 06 20 3a 0d 0d ac 53 20 c8 99 20 22 57 69 6d 70 |. :...S .. "Wimp| 00001fd0 5f 4c 6f 61 64 54 65 6d 70 6c 61 74 65 22 2c 2c |_LoadTemplate",,| 00001fe0 62 62 6c 6f 63 6b 2c 74 65 6d 70 6c 61 74 65 25 |bblock,template%| 00001ff0 2c 65 6e 64 25 2c 2d 31 2c 22 46 69 6e 64 73 22 |,end%,-1,"Finds"| 00002000 2c 30 20 b8 20 2c 2c 74 65 6d 70 6c 61 74 65 25 |,0 . ,,template%| 00002010 2c 2c 2c 2c 63 25 0d 0d b6 28 20 c8 99 20 22 57 |,,,,c%...( .. "W| 00002020 69 6d 70 5f 43 72 65 61 74 65 57 69 6e 64 6f 77 |imp_CreateWindow| 00002030 22 2c 2c 62 62 6c 6f 63 6b 20 b8 20 63 25 0d 0d |",,bblock . c%..| 00002040 c0 0e 20 66 69 6e 64 73 25 3d 63 25 0d 0d ca 06 |.. finds%=c%....| 00002050 20 3a 0d 0d d4 52 20 c8 99 20 22 57 69 6d 70 5f | :...R .. "Wimp_| 00002060 4c 6f 61 64 54 65 6d 70 6c 61 74 65 22 2c 2c 62 |LoadTemplate",,b| 00002070 62 6c 6f 63 6b 2c 74 65 6d 70 6c 61 74 65 25 2c |block,template%,| 00002080 65 6e 64 25 2c 2d 31 2c 22 53 61 76 65 22 2c 30 |end%,-1,"Save",0| 00002090 20 b8 20 2c 2c 74 65 6d 70 6c 61 74 65 25 2c 2c | . ,,template%,,| 000020a0 2c 2c 63 25 0d 0d de 28 20 c8 99 20 22 57 69 6d |,,c%...( .. "Wim| 000020b0 70 5f 43 72 65 61 74 65 57 69 6e 64 6f 77 22 2c |p_CreateWindow",| 000020c0 2c 62 62 6c 6f 63 6b 20 b8 20 63 25 0d 0d e8 0c |,bblock . c%....| 000020d0 20 66 69 6c 65 3d 63 25 0d 0d f2 06 20 3a 0d 0d | file=c%.... :..| 000020e0 fc 52 20 c8 99 20 22 57 69 6d 70 5f 4c 6f 61 64 |.R .. "Wimp_Load| 000020f0 54 65 6d 70 6c 61 74 65 22 2c 2c 62 62 6c 6f 63 |Template",,bbloc| 00002100 6b 2c 74 65 6d 70 6c 61 74 65 25 2c 65 6e 64 25 |k,template%,end%| 00002110 2c 2d 31 2c 22 47 6f 74 6f 22 2c 30 20 b8 20 2c |,-1,"Goto",0 . ,| 00002120 2c 74 65 6d 70 6c 61 74 65 25 2c 2c 2c 2c 63 25 |,template%,,,,c%| 00002130 0d 0e 06 28 20 c8 99 20 22 57 69 6d 70 5f 43 72 |...( .. "Wimp_Cr| 00002140 65 61 74 65 57 69 6e 64 6f 77 22 2c 2c 62 62 6c |eateWindow",,bbl| 00002150 6f 63 6b 20 b8 20 63 25 0d 0e 10 0d 20 67 6f 74 |ock . c%.... got| 00002160 6f 25 3d 63 25 0d 0e 1a 06 20 3a 0d 0e 24 53 20 |o%=c%.... :..$S | 00002170 c8 99 20 22 57 69 6d 70 5f 4c 6f 61 64 54 65 6d |.. "Wimp_LoadTem| 00002180 70 6c 61 74 65 22 2c 2c 62 62 6c 6f 63 6b 2c 74 |plate",,bblock,t| 00002190 65 6d 70 6c 61 74 65 25 2c 65 6e 64 25 2c 2d 31 |emplate%,end%,-1| 000021a0 2c 22 50 72 69 6e 74 22 2c 30 20 b8 20 2c 2c 74 |,"Print",0 . ,,t| 000021b0 65 6d 70 6c 61 74 65 25 2c 2c 2c 2c 63 25 0d 0e |emplate%,,,,c%..| 000021c0 2e 28 20 c8 99 20 22 57 69 6d 70 5f 43 72 65 61 |.( .. "Wimp_Crea| 000021d0 74 65 57 69 6e 64 6f 77 22 2c 2c 62 62 6c 6f 63 |teWindow",,bbloc| 000021e0 6b 20 b8 20 63 25 0d 0e 38 0e 20 70 72 69 6e 74 |k . c%..8. print| 000021f0 25 3d 63 25 0d 0e 42 1c 20 c8 99 20 22 57 69 6d |%=c%..B. .. "Wim| 00002200 70 5f 43 6c 6f 73 65 54 65 6d 70 6c 61 74 65 22 |p_CloseTemplate"| 00002210 0d 0e 4c 06 20 e1 0d 0e 56 06 20 3a 0d 0e 60 1c |..L. ...V. :..`.| 00002220 20 dd 20 f2 57 69 6d 70 5f 45 72 72 6f 72 28 6d | . .Wimp_Error(m| 00002230 65 73 73 61 67 65 24 29 0d 0e 6a 21 20 21 62 6c |essage$)..j! !bl| 00002240 6f 63 6b 3d 9f 3a 24 28 62 6c 6f 63 6b 2b 34 29 |ock=.:$(block+4)| 00002250 3d 6d 65 73 73 61 67 65 24 0d 0e 74 31 20 c8 99 |=message$..t1 ..| 00002260 20 22 57 69 6d 70 5f 52 65 70 6f 72 74 45 72 72 | "Wimp_ReportErr| 00002270 6f 72 22 2c 62 6c 6f 63 6b 2c 31 2c 22 44 69 73 |or",block,1,"Dis| 00002280 63 20 4d 61 6e 61 67 65 72 22 0d 0e 7e 06 20 e1 |c Manager"..~. .| 00002290 0d 0e 88 06 20 3a 0d 0e 92 1b 20 dd f2 41 63 74 |.... :.... ..Act| 000022a0 69 76 61 74 65 5f 54 61 73 6b 28 4e 61 6d 65 24 |ivate_Task(Name$| 000022b0 29 0d 0e 9c 18 20 de 20 53 65 74 53 79 73 74 65 |).... . SetSyste| 000022c0 6d 54 61 73 6b 49 44 20 34 0d 0e a6 1c 20 24 53 |mTaskID 4.... $S| 000022d0 65 74 53 79 73 74 65 6d 54 61 73 6b 49 44 3d 22 |etSystemTaskID="| 000022e0 54 41 53 4b 22 0d 0e b0 34 20 c8 99 20 22 57 69 |TASK"...4 .. "Wi| 000022f0 6d 70 5f 49 6e 69 74 69 61 6c 69 73 65 22 2c 32 |mp_Initialise",2| 00002300 30 30 2c 21 53 65 74 53 79 73 74 65 6d 54 61 73 |00,!SetSystemTas| 00002310 6b 49 44 2c 4e 61 6d 65 24 0d 0e ba 06 20 e1 0d |kID,Name$.... ..| 00002320 0e c4 06 20 3a 0d 0e ce 14 20 dd f2 49 6e 69 74 |... :.... ..Init| 00002330 5f 4e 65 77 5f 56 61 72 73 0d 0e d8 12 20 44 69 |_New_Vars.... Di| 00002340 73 63 4c 69 6d 69 74 3d 33 30 30 0d 0e e2 1b 20 |scLimit=300.... | 00002350 50 61 67 65 4c 69 6d 69 74 3d 44 69 73 63 4c 69 |PageLimit=DiscLi| 00002360 6d 69 74 2f 31 30 0d 0e ec 11 20 de 20 62 6c 6f |mit/10.... . blo| 00002370 63 6b 20 26 33 30 30 0d 0e f6 17 20 de 20 54 65 |ck &300.... . Te| 00002380 78 74 24 28 44 69 73 63 4c 69 6d 69 74 29 0d 0f |xt$(DiscLimit)..| 00002390 00 1a 20 de 20 4e 6f 74 65 73 24 28 44 69 73 63 |.. . Notes$(Disc| 000023a0 4c 69 6d 69 74 2a 35 29 0d 0f 0a 1d 20 de 20 53 |Limit*5).... . S| 000023b0 65 61 72 63 68 46 69 6e 64 73 28 44 69 73 63 4c |earchFinds(DiscL| 000023c0 69 6d 69 74 29 0d 0f 14 13 20 de 20 42 75 66 66 |imit).... . Buff| 000023d0 65 72 25 20 31 30 30 30 0d 0f 1e 13 20 de 20 52 |er% 1000.... . R| 000023e0 6f 6f 74 44 69 72 24 28 37 37 29 0d 0f 28 13 20 |ootDir$(77)..(. | 000023f0 53 65 61 72 63 68 5f 45 78 74 72 61 3d b9 0d 0f |Search_Extra=...| 00002400 32 13 20 53 65 61 72 63 68 5f 54 69 74 6c 65 3d |2. Search_Title=| 00002410 a3 0d 0f 3c 0b 20 50 61 67 65 3d 31 0d 0f 46 0f |...<. Page=1..F.| 00002420 20 4d 61 78 50 61 67 65 73 3d 31 0d 0f 50 11 20 | MaxPages=1..P. | 00002430 45 78 74 72 61 4f 70 65 6e 3d 2d 31 0d 0f 5a 0c |ExtraOpen=-1..Z.| 00002440 20 46 69 6e 64 73 3d 30 0d 0f 64 06 20 e1 0d 0f | Finds=0..d. ...| 00002450 6e 06 20 3a 0d 0f 78 23 20 dd f2 42 61 72 5f 49 |n. :..x# ..Bar_I| 00002460 63 6f 6e 28 41 70 70 6c 69 63 61 74 69 6f 6e 24 |con(Application$| 00002470 2c 73 69 64 65 24 29 0d 0f 82 09 20 ea 20 70 25 |,side$).... . p%| 00002480 0d 0f 8c 1c 20 e7 20 73 69 64 65 24 3d 22 4c 45 |.... . side$="LE| 00002490 46 54 22 20 8c 20 6e 75 6d 3d 2d 32 0d 0f 96 1d |FT" . num=-2....| 000024a0 20 e7 20 73 69 64 65 24 3d 22 52 49 47 48 54 22 | . side$="RIGHT"| 000024b0 20 8c 20 6e 75 6d 3d 2d 31 0d 0f a0 10 20 62 6c | . num=-1.... bl| 000024c0 6f 63 6b 21 30 3d 6e 75 6d 0d 0f aa 18 20 62 6c |ock!0=num.... bl| 000024d0 6f 63 6b 21 34 3d 30 3a 62 6c 6f 63 6b 21 38 3d |ock!4=0:block!8=| 000024e0 30 0d 0f b4 1c 20 62 6c 6f 63 6b 21 31 32 3d 36 |0.... block!12=6| 000024f0 38 3a 62 6c 6f 63 6b 21 31 36 3d 36 38 0d 0f be |8:block!16=68...| 00002500 2b 20 62 6c 6f 63 6b 21 32 30 3d 26 33 30 31 32 |+ block!20=&3012| 00002510 20 84 20 57 68 69 74 65 3c 3c 32 38 20 84 20 42 | . White<<28 . B| 00002520 6c 61 63 6b 3c 3c 32 34 0d 0f c8 22 20 24 28 62 |lack<<24..." $(b| 00002530 6c 6f 63 6b 2b 32 34 29 3d c0 41 70 70 6c 69 63 |lock+24)=.Applic| 00002540 61 74 69 6f 6e 24 2c 31 31 29 0d 0f d2 21 20 c8 |ation$,11)...! .| 00002550 99 20 22 57 69 6d 70 5f 43 72 65 61 74 65 49 63 |. "Wimp_CreateIc| 00002560 6f 6e 22 2c 30 2c 62 6c 6f 63 6b 0d 0f dc 06 20 |on",0,block.... | 00002570 e1 0d 0f e6 06 20 3a 0d 0f f0 25 20 dd 20 a4 47 |..... :...% . .G| 00002580 65 74 5f 49 63 6f 6e 5f 53 74 61 74 65 28 48 61 |et_Icon_State(Ha| 00002590 6e 64 6c 65 25 2c 49 63 6f 6e 25 29 0d 0f fa 14 |ndle%,Icon%)....| 000025a0 20 62 6c 6f 63 6b 21 30 3d 48 61 6e 64 6c 65 25 | block!0=Handle%| 000025b0 0d 10 04 12 20 62 6c 6f 63 6b 21 34 3d 49 63 6f |.... block!4=Ico| 000025c0 6e 25 0d 10 0e 23 20 c8 99 20 22 57 69 6d 70 5f |n%...# .. "Wimp_| 000025d0 47 65 74 49 63 6f 6e 53 74 61 74 65 22 2c 30 2c |GetIconState",0,| 000025e0 62 6c 6f 63 6b 0d 10 18 11 20 3d 24 28 62 6c 6f |block.... =$(blo| 000025f0 63 6b 21 32 38 29 0d 10 22 06 20 3a 0d 10 2c 2a |ck!28)..". :..,*| 00002600 20 dd 20 f2 53 65 74 5f 49 63 6f 6e 5f 54 65 78 | . .Set_Icon_Tex| 00002610 74 28 48 61 6e 64 6c 65 25 2c 49 63 6f 6e 25 2c |t(Handle%,Icon%,| 00002620 54 65 78 74 24 29 0d 10 36 14 20 62 6c 6f 63 6b |Text$)..6. block| 00002630 21 30 3d 48 61 6e 64 6c 65 25 0d 10 40 12 20 62 |!0=Handle%..@. b| 00002640 6c 6f 63 6b 21 34 3d 49 63 6f 6e 25 0d 10 4a 23 |lock!4=Icon%..J#| 00002650 20 c8 99 20 22 57 69 6d 70 5f 47 65 74 49 63 6f | .. "Wimp_GetIco| 00002660 6e 53 74 61 74 65 22 2c 30 2c 62 6c 6f 63 6b 0d |nState",0,block.| 00002670 10 54 16 20 24 28 62 6c 6f 63 6b 21 32 38 29 3d |.T. $(block!28)=| 00002680 54 65 78 74 24 0d 10 5e 0e 20 62 6c 6f 63 6b 21 |Text$..^. block!| 00002690 38 3d 30 0d 10 68 0f 20 62 6c 6f 63 6b 21 31 32 |8=0..h. block!12| 000026a0 3d 30 0d 10 72 23 20 c8 99 20 22 57 69 6d 70 5f |=0..r# .. "Wimp_| 000026b0 53 65 74 49 63 6f 6e 53 74 61 74 65 22 2c 30 2c |SetIconState",0,| 000026c0 62 6c 6f 63 6b 0d 10 7c 06 20 e1 0d 10 86 06 20 |block..|. ..... | 000026d0 3a 0d 10 90 1c 20 dd f2 53 65 74 50 61 67 65 49 |:.... ..SetPageI| 000026e0 63 6f 6e 73 28 43 75 72 72 65 6e 74 29 0d 10 9a |cons(Current)...| 000026f0 1e 20 52 65 61 6c 4e 75 6d 62 65 72 3d 28 43 75 |. RealNumber=(Cu| 00002700 72 72 65 6e 74 2a 31 30 29 2d 39 0d 10 a4 1a 20 |rrent*10)-9.... | 00002710 e3 20 49 63 6f 6e 50 6f 69 6e 74 65 72 3d 31 30 |. IconPointer=10| 00002720 20 b8 20 31 39 0d 10 ae 35 20 f2 53 65 74 5f 49 | . 19...5 .Set_I| 00002730 63 6f 6e 5f 54 65 78 74 28 69 6e 64 65 78 25 2c |con_Text(index%,| 00002740 49 63 6f 6e 50 6f 69 6e 74 65 72 2c c3 28 52 65 |IconPointer,.(Re| 00002750 61 6c 4e 75 6d 62 65 72 29 29 0d 10 b8 12 20 52 |alNumber)).... R| 00002760 65 61 6c 4e 75 6d 62 65 72 2b 3d 31 0d 10 c2 06 |ealNumber+=1....| 00002770 20 ed 0d 10 cc 18 20 f2 53 68 6f 77 49 6e 64 65 | ..... .ShowInde| 00002780 78 28 43 75 72 72 65 6e 74 29 0d 10 d6 06 20 e1 |x(Current).... .| 00002790 0d 10 e0 06 20 3a 0d 10 ea 1c 20 dd f2 43 6f 6e |.... :.... ..Con| 000027a0 74 72 6f 6c 6c 50 61 6e 6e 65 6c 28 62 6c 6f 63 |trollPannel(bloc| 000027b0 6b 29 0d 10 f4 12 20 c8 8e 20 62 6c 6f 63 6b 21 |k).... .. block!| 000027c0 31 36 20 ca 0d 10 fe 3e 20 c9 20 30 20 3a 20 f2 |16 ....> . 0 : .| 000027d0 57 72 69 74 65 49 63 6f 6e 73 54 6f 49 6e 64 65 |WriteIconsToInde| 000027e0 78 28 50 61 67 65 29 3a 50 61 67 65 3d 31 3a f2 |x(Page):Page=1:.| 000027f0 53 65 74 50 61 67 65 49 63 6f 6e 73 28 50 61 67 |SetPageIcons(Pag| 00002800 65 29 0d 11 08 4e 20 c9 20 31 20 3a 20 e7 20 50 |e)...N . 1 : . P| 00002810 61 67 65 3e 31 20 8c 20 f2 57 72 69 74 65 49 63 |age>1 . .WriteIc| 00002820 6f 6e 73 54 6f 49 6e 64 65 78 28 50 61 67 65 29 |onsToIndex(Page)| 00002830 3a 50 61 67 65 3d 50 61 67 65 2d 31 3a f2 53 65 |:Page=Page-1:.Se| 00002840 74 50 61 67 65 49 63 6f 6e 73 28 50 61 67 65 29 |tPageIcons(Page)| 00002850 0d 11 12 75 20 c9 20 32 20 3a 20 e7 50 61 67 65 |...u . 2 : .Page| 00002860 3c 50 61 67 65 4c 69 6d 69 74 20 8c 20 f2 57 72 |<PageLimit . .Wr| 00002870 69 74 65 49 63 6f 6e 73 54 6f 49 6e 64 65 78 28 |iteIconsToIndex(| 00002880 50 61 67 65 29 3a 50 61 67 65 3d 50 61 67 65 2b |Page):Page=Page+| 00002890 31 3a f2 53 65 74 50 61 67 65 49 63 6f 6e 73 28 |1:.SetPageIcons(| 000028a0 50 61 67 65 29 3a e7 20 4d 61 78 50 61 67 65 73 |Page):. MaxPages| 000028b0 3c 50 61 67 65 20 8c 20 4d 61 78 50 61 67 65 73 |<Page . MaxPages| 000028c0 3d 50 61 67 65 0d 11 1c 45 20 c9 20 33 20 3a 20 |=Page...E . 3 : | 000028d0 f2 57 72 69 74 65 49 63 6f 6e 73 54 6f 49 6e 64 |.WriteIconsToInd| 000028e0 65 78 28 50 61 67 65 29 3a 50 61 67 65 3d 4d 61 |ex(Page):Page=Ma| 000028f0 78 50 61 67 65 73 3a f2 53 65 74 50 61 67 65 49 |xPages:.SetPageI| 00002900 63 6f 6e 73 28 50 61 67 65 29 0d 11 26 06 20 cb |cons(Page)..&. .| 00002910 0d 11 30 06 20 e1 0d 11 3a 06 20 3a 0d 11 44 1a |..0. ...:. :..D.| 00002920 20 dd f2 43 6c 69 63 6b 4f 6e 49 6e 64 65 78 28 | ..ClickOnIndex(| 00002930 62 6c 6f 63 6b 29 0d 11 4e 25 20 e7 20 62 6c 6f |block)..N% . blo| 00002940 63 6b 21 31 36 3c 31 30 20 84 20 62 6c 6f 63 6b |ck!16<10 . block| 00002950 21 31 36 3e 31 39 20 8c 20 3a e1 0d 11 58 32 20 |!16>19 . :...X2 | 00002960 45 78 74 72 61 4f 70 65 6e 3d bb 28 a4 47 65 74 |ExtraOpen=.(.Get| 00002970 5f 49 63 6f 6e 5f 53 74 61 74 65 28 69 6e 64 65 |_Icon_State(inde| 00002980 78 25 2c 62 6c 6f 63 6b 21 31 36 29 29 0d 11 62 |x%,block!16))..b| 00002990 1a 20 f2 4f 70 65 6e 45 78 74 72 61 28 45 78 74 |. .OpenExtra(Ext| 000029a0 72 61 4f 70 65 6e 29 0d 11 6c 06 20 e1 0d 11 76 |raOpen)..l. ...v| 000029b0 06 20 3a 0d 11 80 15 20 dd f2 4f 70 65 6e 45 78 |. :.... ..OpenEx| 000029c0 74 72 61 28 4e 75 6d 29 0d 11 8a 12 20 49 63 6f |tra(Num).... Ico| 000029d0 6e 5f 48 61 6e 64 6c 65 3d 30 0d 11 94 1c 20 e3 |n_Handle=0.... .| 000029e0 20 4c 3d 28 4e 75 6d 2a 35 29 2d 34 20 b8 20 28 | L=(Num*5)-4 . (| 000029f0 4e 75 6d 2a 35 29 0d 11 9e 31 20 f2 53 65 74 5f |Num*5)...1 .Set_| 00002a00 49 63 6f 6e 5f 54 65 78 74 28 65 78 74 72 61 25 |Icon_Text(extra%| 00002a10 2c 49 63 6f 6e 5f 48 61 6e 64 6c 65 2c 4e 6f 74 |,Icon_Handle,Not| 00002a20 65 73 24 28 4c 29 29 0d 11 a8 13 20 49 63 6f 6e |es$(L)).... Icon| 00002a30 5f 48 61 6e 64 6c 65 2b 3d 31 0d 11 b2 06 20 ed |_Handle+=1.... .| 00002a40 0d 11 bc 18 20 f2 4f 70 65 6e 57 69 6e 64 6f 77 |.... .OpenWindow| 00002a50 28 65 78 74 72 61 25 29 0d 11 c6 24 20 f2 53 65 |(extra%)...$ .Se| 00002a60 74 5f 49 63 6f 6e 5f 54 65 78 74 28 65 78 74 72 |t_Icon_Text(extr| 00002a70 61 25 2c 38 2c c3 28 4e 75 6d 29 29 0d 11 d0 06 |a%,8,.(Num))....| 00002a80 20 e1 0d 11 da 06 20 3a 0d 11 e4 16 20 dd f2 43 | ..... :.... ..C| 00002a90 6c 6f 73 65 45 78 74 72 61 28 4e 75 6d 29 0d 11 |loseExtra(Num)..| 00002aa0 ee 12 20 49 63 6f 6e 5f 48 61 6e 64 6c 65 3d 30 |.. Icon_Handle=0| 00002ab0 0d 11 f8 1c 20 e3 20 4c 3d 28 4e 75 6d 2a 35 29 |.... . L=(Num*5)| 00002ac0 2d 34 20 b8 20 28 4e 75 6d 2a 35 29 0d 12 02 32 |-4 . (Num*5)...2| 00002ad0 20 4e 6f 74 65 73 24 28 4c 29 3d a4 47 65 74 5f | Notes$(L)=.Get_| 00002ae0 49 63 6f 6e 5f 53 74 61 74 65 28 65 78 74 72 61 |Icon_State(extra| 00002af0 25 2c 49 63 6f 6e 5f 48 61 6e 64 6c 65 29 0d 12 |%,Icon_Handle)..| 00002b00 0c 13 20 49 63 6f 6e 5f 48 61 6e 64 6c 65 2b 3d |.. Icon_Handle+=| 00002b10 31 0d 12 16 06 20 ed 0d 12 20 1b 20 f2 43 6c 6f |1.... ... . .Clo| 00002b20 73 65 57 69 6e 64 6f 77 28 65 78 74 72 61 25 2c |seWindow(extra%,| 00002b30 b9 29 0d 12 2a 11 20 45 78 74 72 61 4f 70 65 6e |.)..*. ExtraOpen| 00002b40 3d 2d 31 0d 12 34 06 20 e1 0d 12 3e 06 20 3a 0d |=-1..4. ...>. :.| 00002b50 12 48 21 20 dd f2 57 72 69 74 65 49 63 6f 6e 73 |.H! ..WriteIcons| 00002b60 54 6f 49 6e 64 65 78 28 43 75 72 72 65 6e 74 29 |ToIndex(Current)| 00002b70 0d 12 52 1e 20 52 65 61 6c 4e 75 6d 62 65 72 3d |..R. RealNumber=| 00002b80 28 43 75 72 72 65 6e 74 2a 31 30 29 2d 39 0d 12 |(Current*10)-9..| 00002b90 5c 18 20 e3 20 49 63 6f 6e 50 6f 69 6e 74 65 72 |\. . IconPointer| 00002ba0 3d 30 20 b8 20 39 0d 12 66 3a 20 54 65 78 74 24 |=0 . 9..f: Text$| 00002bb0 28 52 65 61 6c 4e 75 6d 62 65 72 29 3d a4 47 65 |(RealNumber)=.Ge| 00002bc0 74 5f 49 63 6f 6e 5f 53 74 61 74 65 28 69 6e 64 |t_Icon_State(ind| 00002bd0 65 78 25 2c 49 63 6f 6e 50 6f 69 6e 74 65 72 29 |ex%,IconPointer)| 00002be0 0d 12 70 12 20 52 65 61 6c 4e 75 6d 62 65 72 2b |..p. RealNumber+| 00002bf0 3d 31 0d 12 7a 06 20 ed 0d 12 84 06 20 e1 0d 12 |=1..z. ..... ...| 00002c00 8e 06 20 3a 0d 12 98 19 20 dd f2 53 68 6f 77 49 |.. :.... ..ShowI| 00002c10 6e 64 65 78 28 43 75 72 72 65 6e 74 29 0d 12 a2 |ndex(Current)...| 00002c20 1e 20 52 65 61 6c 4e 75 6d 62 65 72 3d 28 43 75 |. RealNumber=(Cu| 00002c30 72 72 65 6e 74 2a 31 30 29 2d 39 0d 12 ac 18 20 |rrent*10)-9.... | 00002c40 e3 20 49 63 6f 6e 50 6f 69 6e 74 65 72 3d 30 20 |. IconPointer=0 | 00002c50 b8 20 39 0d 12 b6 39 20 f2 53 65 74 5f 49 63 6f |. 9...9 .Set_Ico| 00002c60 6e 5f 54 65 78 74 28 69 6e 64 65 78 25 2c 49 63 |n_Text(index%,Ic| 00002c70 6f 6e 50 6f 69 6e 74 65 72 2c 54 65 78 74 24 28 |onPointer,Text$(| 00002c80 52 65 61 6c 4e 75 6d 62 65 72 29 29 0d 12 c0 12 |RealNumber))....| 00002c90 20 52 65 61 6c 4e 75 6d 62 65 72 2b 3d 31 0d 12 | RealNumber+=1..| 00002ca0 ca 06 20 ed 0d 12 d4 06 20 e1 0d 12 de 06 20 3a |.. ..... ..... :| 00002cb0 0d 12 e8 1b 20 dd f2 53 65 61 72 63 68 42 75 74 |.... ..SearchBut| 00002cc0 74 6f 6e 73 28 62 6c 6f 63 6b 29 0d 12 f2 14 20 |tons(block).... | 00002cd0 e7 20 62 6c 6f 63 6b 21 38 3d 31 20 8c 20 e1 0d |. block!8=1 . ..| 00002ce0 12 fc 24 20 e7 20 62 6c 6f 63 6b 21 31 36 3d 31 |..$ . block!16=1| 00002cf0 20 80 20 53 65 61 72 63 68 5f 45 78 74 72 61 3d | . Search_Extra=| 00002d00 a3 20 8c 0d 13 06 27 20 53 65 61 72 63 68 5f 45 |. ....' Search_E| 00002d10 78 74 72 61 3d a4 54 6f 67 67 6c 65 28 53 65 61 |xtra=.Toggle(Sea| 00002d20 72 63 68 5f 45 78 74 72 61 29 0d 13 10 27 20 53 |rch_Extra)...' S| 00002d30 65 61 72 63 68 5f 54 69 74 6c 65 3d a4 54 6f 67 |earch_Title=.Tog| 00002d40 67 6c 65 28 53 65 61 72 63 68 5f 54 69 74 6c 65 |gle(Search_Title| 00002d50 29 0d 13 1a 06 20 cd 0d 13 24 24 20 e7 20 62 6c |).... ...$$ . bl| 00002d60 6f 63 6b 21 31 36 3d 32 20 80 20 53 65 61 72 63 |ock!16=2 . Searc| 00002d70 68 5f 54 69 74 6c 65 3d a3 20 8c 0d 13 2e 27 20 |h_Title=. ....' | 00002d80 53 65 61 72 63 68 5f 45 78 74 72 61 3d a4 54 6f |Search_Extra=.To| 00002d90 67 67 6c 65 28 53 65 61 72 63 68 5f 45 78 74 72 |ggle(Search_Extr| 00002da0 61 29 0d 13 38 27 20 53 65 61 72 63 68 5f 54 69 |a)..8' Search_Ti| 00002db0 74 6c 65 3d a4 54 6f 67 67 6c 65 28 53 65 61 72 |tle=.Toggle(Sear| 00002dc0 63 68 5f 54 69 74 6c 65 29 0d 13 42 06 20 cd 0d |ch_Title)..B. ..| 00002dd0 13 4c 06 20 e1 0d 13 56 06 20 3a 0d 13 60 10 20 |.L. ...V. :..`. | 00002de0 dd a4 54 6f 67 67 6c 65 28 61 29 0d 13 6a 08 20 |..Toggle(a)..j. | 00002df0 52 3d b9 0d 13 74 10 20 e7 20 61 3d b9 20 8c 20 |R=...t. . a=. . | 00002e00 52 3d a3 0d 13 7e 07 20 3d 52 0d 13 88 06 20 3a |R=...~. =R.... :| 00002e10 0d 13 92 14 20 dd f2 53 65 61 72 63 68 28 57 6f |.... ..Search(Wo| 00002e20 72 64 24 29 0d 13 9c 2c 20 e7 20 53 65 61 72 63 |rd$)..., . Searc| 00002e30 68 5f 54 69 74 6c 65 3d b9 20 8c 20 f2 53 65 61 |h_Title=. . .Sea| 00002e40 72 63 68 5f 54 69 74 6c 65 28 57 6f 72 64 24 29 |rch_Title(Word$)| 00002e50 0d 13 a6 2c 20 e7 20 53 65 61 72 63 68 5f 45 78 |..., . Search_Ex| 00002e60 74 72 61 3d b9 20 8c 20 f2 53 65 61 72 63 68 5f |tra=. . .Search_| 00002e70 45 78 74 72 61 28 57 6f 72 64 24 29 0d 13 b0 06 |Extra(Word$)....| 00002e80 20 cd 0d 13 ba 06 20 e1 0d 13 c4 06 20 3a 0d 13 | ..... ..... :..| 00002e90 ce 1a 20 dd f2 53 65 61 72 63 68 5f 45 78 74 72 |.. ..Search_Extr| 00002ea0 61 28 57 6f 72 64 24 29 0d 13 d8 0c 20 46 69 6e |a(Word$).... Fin| 00002eb0 64 73 3d 30 0d 13 e2 1d 20 e3 20 44 69 73 63 3d |ds=0.... . Disc=| 00002ec0 31 20 b8 20 28 31 30 2a 4d 61 78 50 61 67 65 73 |1 . (10*MaxPages| 00002ed0 29 0d 13 ec 15 20 45 78 74 72 61 3d 28 44 69 73 |).... Extra=(Dis| 00002ee0 63 2a 35 29 2d 34 0d 13 f6 0b 20 48 61 6c 74 3d |c*5)-4.... Halt=| 00002ef0 a3 0d 14 00 06 20 f5 0d 14 0a 21 20 53 65 61 72 |..... ....! Sear| 00002f00 63 68 3d a7 4e 6f 74 65 73 24 28 45 78 74 72 61 |ch=.Notes$(Extra| 00002f10 29 2c 57 6f 72 64 24 29 0d 14 14 0d 20 45 78 74 |),Word$).... Ext| 00002f20 72 61 2b 3d 31 0d 14 1e 12 20 e7 20 53 65 61 72 |ra+=1.... . Sear| 00002f30 63 68 3c 3e 30 20 8c 0d 14 28 0b 20 48 61 6c 74 |ch<>0 ...(. Halt| 00002f40 3d b9 0d 14 32 0d 20 46 69 6e 64 73 2b 3d 31 0d |=...2. Finds+=1.| 00002f50 14 3c 1c 20 53 65 61 72 63 68 46 69 6e 64 73 28 |.<. SearchFinds(| 00002f60 46 69 6e 64 73 29 3d 44 69 73 63 0d 14 46 06 20 |Finds)=Disc..F. | 00002f70 cd 0d 14 50 1e 20 e7 20 45 78 74 72 61 3e 28 44 |...P. . Extra>(D| 00002f80 69 73 63 2a 35 29 20 8c 20 48 61 6c 74 3d b9 0d |isc*5) . Halt=..| 00002f90 14 5a 0d 20 fd 20 48 61 6c 74 3d b9 0d 14 64 06 |.Z. . Halt=...d.| 00002fa0 20 ed 0d 14 6e 2d 20 48 65 61 64 65 72 24 3d 57 | ...n- Header$=W| 00002fb0 6f 72 64 24 2b 22 20 5b 53 63 61 6e 20 4f 76 65 |ord$+" [Scan Ove| 00002fc0 72 20 45 78 74 72 61 20 42 6c 6f 63 6b 5d 22 0d |r Extra Block]".| 00002fd0 14 78 25 20 f2 53 65 74 5f 49 63 6f 6e 5f 54 65 |.x% .Set_Icon_Te| 00002fe0 78 74 28 66 69 6e 64 73 25 2c 30 2c 48 65 61 64 |xt(finds%,0,Head| 00002ff0 65 72 24 29 0d 14 82 18 20 f2 4f 70 65 6e 57 69 |er$).... .OpenWi| 00003000 6e 64 6f 77 28 66 69 6e 64 73 25 29 0d 14 8c 1a |ndow(finds%)....| 00003010 20 f2 52 65 64 72 61 77 57 69 6e 64 6f 77 28 66 | .RedrawWindow(f| 00003020 69 6e 64 73 25 29 0d 14 96 06 20 e1 0d 14 a0 06 |inds%).... .....| 00003030 20 3a 0d 14 aa 1a 20 dd f2 53 65 61 72 63 68 5f | :.... ..Search_| 00003040 54 69 74 6c 65 28 57 6f 72 64 24 29 0d 14 b4 0c |Title(Word$)....| 00003050 20 46 69 6e 64 73 3d 30 0d 14 be 1d 20 e3 20 44 | Finds=0.... . D| 00003060 69 73 63 3d 31 20 b8 20 28 31 30 2a 4d 61 78 50 |isc=1 . (10*MaxP| 00003070 61 67 65 73 29 0d 14 c8 1f 20 53 65 61 72 63 68 |ages).... Search| 00003080 3d a7 54 65 78 74 24 28 44 69 73 63 29 2c 57 6f |=.Text$(Disc),Wo| 00003090 72 64 24 29 0d 14 d2 13 20 e7 20 53 65 61 72 63 |rd$).... . Searc| 000030a0 68 20 3c 3e 30 20 8c 0d 14 dc 0d 20 46 69 6e 64 |h <>0 ..... Find| 000030b0 73 2b 3d 31 0d 14 e6 1c 20 53 65 61 72 63 68 46 |s+=1.... SearchF| 000030c0 69 6e 64 73 28 46 69 6e 64 73 29 3d 44 69 73 63 |inds(Finds)=Disc| 000030d0 0d 14 f0 06 20 cd 0d 14 fa 06 20 ed 0d 15 04 27 |.... ..... ....'| 000030e0 20 48 65 61 64 65 72 24 3d 57 6f 72 64 24 2b 22 | Header$=Word$+"| 000030f0 20 5b 53 63 61 6e 20 4f 76 65 72 20 54 69 74 6c | [Scan Over Titl| 00003100 65 5d 22 0d 15 0e 25 20 f2 53 65 74 5f 49 63 6f |e]"...% .Set_Ico| 00003110 6e 5f 54 65 78 74 28 66 69 6e 64 73 25 2c 30 2c |n_Text(finds%,0,| 00003120 48 65 61 64 65 72 24 29 0d 15 18 18 20 f2 4f 70 |Header$).... .Op| 00003130 65 6e 57 69 6e 64 6f 77 28 66 69 6e 64 73 25 29 |enWindow(finds%)| 00003140 0d 15 22 1a 20 f2 52 65 64 72 61 77 57 69 6e 64 |..". .RedrawWind| 00003150 6f 77 28 66 69 6e 64 73 25 29 0d 15 2c 06 20 e1 |ow(finds%)..,. .| 00003160 0d 15 36 06 20 3a 0d 15 40 25 20 dd f2 46 69 6e |..6. :..@% ..Fin| 00003170 64 73 57 69 6e 64 6f 77 28 58 4f 72 69 67 69 6e |dsWindow(XOrigin| 00003180 25 2c 59 4f 72 69 67 69 6e 25 29 0d 15 4a 4c 20 |%,YOrigin%)..JL | 00003190 e7 20 46 69 6e 64 73 3d 30 20 8c 20 ec 20 58 4f |. Finds=0 . . XO| 000031a0 72 69 67 69 6e 25 2b 33 30 2c 59 4f 72 69 67 69 |rigin%+30,YOrigi| 000031b0 6e 25 2d 31 30 30 3a f1 22 53 74 72 69 6e 67 20 |n%-100:."String | 000031c0 4e 6f 74 20 46 6f 75 6e 64 20 49 6e 20 49 6e 64 |Not Found In Ind| 000031d0 65 78 20 21 22 3a e1 0d 15 54 0d 20 44 72 6f 70 |ex !":...T. Drop| 000031e0 3d 31 30 30 0d 15 5e 18 20 e3 20 50 6f 69 6e 74 |=100..^. . Point| 000031f0 65 72 3d 31 20 b8 20 46 69 6e 64 73 0d 15 68 20 |er=1 . Finds..h | 00003200 20 ec 20 58 4f 72 69 67 69 6e 25 2b 33 30 2c 59 | . XOrigin%+30,Y| 00003210 4f 72 69 67 69 6e 25 2d 44 72 6f 70 0d 15 72 4d |Origin%-Drop..rM| 00003220 20 e7 20 53 65 61 72 63 68 46 69 6e 64 73 28 50 | . SearchFinds(P| 00003230 6f 69 6e 74 65 72 29 3c 3e 30 20 8c 20 f1 20 22 |ointer)<>0 . . "| 00003240 46 6f 75 6e 64 20 4f 6e 20 44 69 73 63 20 3a 20 |Found On Disc : | 00003250 22 3b c3 28 53 65 61 72 63 68 46 69 6e 64 73 28 |";.(SearchFinds(| 00003260 50 6f 69 6e 74 65 72 29 29 0d 15 7c 0d 20 44 72 |Pointer))..|. Dr| 00003270 6f 70 2b 3d 34 30 0d 15 86 06 20 ed 0d 15 90 06 |op+=40.... .....| 00003280 20 e1 0d 15 9a 06 20 3a 0d 15 a4 12 20 dd a4 47 | ..... :.... ..G| 00003290 65 74 5f 43 61 74 6f 6c 6f 67 0d 15 ae 22 20 ea |et_Catolog..." .| 000032a0 20 4e 75 6d 62 65 72 4f 66 46 69 6c 65 73 2c 50 | NumberOfFiles,P| 000032b0 6f 69 6e 74 65 72 2c 49 6e 64 65 78 0d 15 b8 46 |ointer,Index...F| 000032c0 20 c8 99 20 22 4f 53 5f 47 42 50 42 22 2c 39 2c | .. "OS_GBPB",9,| 000032d0 22 41 44 46 53 3a 24 22 2c 42 75 66 66 65 72 25 |"ADFS:$",Buffer%| 000032e0 2c 32 35 35 2c 30 2c 31 30 30 30 2c 22 2a 22 20 |,255,0,1000,"*" | 000032f0 b8 20 2c 2c 2c 4e 75 6d 62 65 72 4f 66 46 69 6c |. ,,,NumberOfFil| 00003300 65 73 0d 15 c2 0d 20 46 69 6c 65 24 3d 22 22 0d |es.... File$="".| 00003310 15 cc 0e 20 50 6f 69 6e 74 65 72 3d 30 0d 15 d6 |... Pointer=0...| 00003320 1e 20 e3 20 49 6e 64 65 78 3d 31 20 b8 20 4e 75 |. . Index=1 . Nu| 00003330 6d 62 65 72 4f 66 46 69 6c 65 73 0d 15 e0 0d 20 |mberOfFiles.... | 00003340 46 69 6e 69 73 68 3d a3 0d 15 ea 06 20 f5 0d 15 |Finish=..... ...| 00003350 f4 19 20 43 68 61 72 3d 42 75 66 66 65 72 25 3f |.. Char=Buffer%?| 00003360 50 6f 69 6e 74 65 72 0d 15 fe 1f 20 e7 20 43 68 |Pointer.... . Ch| 00003370 61 72 3c 3e 30 20 8c 20 46 69 6c 65 24 2b 3d bd |ar<>0 . File$+=.| 00003380 28 43 68 61 72 29 0d 16 08 0f 20 50 6f 69 6e 74 |(Char).... Point| 00003390 65 72 2b 3d 31 0d 16 12 18 20 e7 20 43 68 61 72 |er+=1.... . Char| 000033a0 3d 30 20 8c 20 46 69 6e 69 73 68 3d b9 0d 16 1c |=0 . Finish=....| 000033b0 0f 20 fd 20 46 69 6e 69 73 68 3d b9 0d 16 26 1a |. . Finish=...&.| 000033c0 20 52 6f 6f 74 44 69 72 24 28 49 6e 64 65 78 29 | RootDir$(Index)| 000033d0 3d 46 69 6c 65 24 0d 16 30 0d 20 46 69 6c 65 24 |=File$..0. File$| 000033e0 3d 22 22 0d 16 3a 06 20 ed 0d 16 44 13 20 3d 4e |=""..:. ...D. =N| 000033f0 75 6d 62 65 72 4f 66 46 69 6c 65 73 0d 16 4e 06 |umberOfFiles..N.| 00003400 20 3a 0d 16 58 1d 20 dd f2 45 78 61 6d 69 6e 65 | :..X. ..Examine| 00003410 44 69 73 63 28 45 78 74 72 61 4f 70 65 6e 29 0d |Disc(ExtraOpen).| 00003420 16 62 1a 20 e7 20 45 78 74 72 61 4f 70 65 6e 3d |.b. . ExtraOpen=| 00003430 2d 31 20 8c 20 ef 37 3a e1 0d 16 6c 0e 20 ff 28 |-1 . .7:...l. .(| 00003440 22 41 44 46 53 22 29 0d 16 76 0f 20 ff 28 22 4d |"ADFS")..v. .("M| 00003450 4f 55 4e 54 22 29 0d 16 80 12 20 e3 20 43 6c 65 |OUNT").... . Cle| 00003460 61 72 3d 30 20 b8 20 34 0d 16 8a 24 20 f2 53 65 |ar=0 . 4...$ .Se| 00003470 74 5f 49 63 6f 6e 5f 54 65 78 74 28 65 78 74 72 |t_Icon_Text(extr| 00003480 61 25 2c 43 6c 65 61 72 2c 22 22 29 0d 16 94 06 |a%,Clear,"")....| 00003490 20 ed 0d 16 9e 1a 20 4e 75 6d 46 69 6c 65 73 3d | ..... NumFiles=| 000034a0 a4 47 65 74 5f 43 61 74 6f 6c 6f 67 0d 16 a8 12 |.Get_Catolog....| 000034b0 20 54 69 74 6c 65 24 3d a4 54 69 74 6c 65 0d 16 | Title$=.Title..| 000034c0 b2 0b 20 49 63 6f 6e 3d 30 0d 16 bc 0c 20 54 6f |.. Icon=0.... To| 000034d0 74 61 6c 3d 30 0d 16 c6 0e 20 42 75 69 6c 64 24 |tal=0.... Build$| 000034e0 3d 22 22 0d 16 d0 13 20 e7 20 4e 75 6d 46 69 6c |="".... . NumFil| 000034f0 65 73 3e 30 20 8c 0d 16 da 1b 20 e3 20 50 6f 69 |es>0 ..... . Poi| 00003500 6e 74 65 72 3d 31 20 b8 20 4e 75 6d 46 69 6c 65 |nter=1 . NumFile| 00003510 73 0d 16 e4 0a 20 53 65 74 3d a3 0d 16 ee 29 20 |s.... Set=....) | 00003520 54 6f 74 61 6c 3d a9 28 42 75 69 6c 64 24 29 2b |Total=.(Build$)+| 00003530 a9 28 52 6f 6f 74 44 69 72 24 28 50 6f 69 6e 74 |.(RootDir$(Point| 00003540 65 72 29 29 0d 16 f8 11 20 e7 20 54 6f 74 61 6c |er)).... . Total| 00003550 3e 37 30 20 8c 0d 17 02 32 20 e7 20 49 63 6f 6e |>70 ....2 . Icon| 00003560 3c 35 20 8c 20 f2 53 65 74 5f 49 63 6f 6e 5f 54 |<5 . .Set_Icon_T| 00003570 65 78 74 28 65 78 74 72 61 25 2c 49 63 6f 6e 2c |ext(extra%,Icon,| 00003580 42 75 69 6c 64 24 29 0d 17 0c 0c 20 49 63 6f 6e |Build$).... Icon| 00003590 2b 3d 31 0d 17 16 0e 20 42 75 69 6c 64 24 3d 22 |+=1.... Build$="| 000035a0 22 0d 17 20 0c 20 54 6f 74 61 6c 3d 30 0d 17 2a |".. . Total=0..*| 000035b0 0a 20 53 65 74 3d b9 0d 17 34 06 20 cd 0d 17 3e |. Set=...4. ...>| 000035c0 11 20 e7 20 54 6f 74 61 6c 3c 37 30 20 8c 0d 17 |. . Total<70 ...| 000035d0 48 1f 20 e7 20 50 6f 69 6e 74 65 72 3c 3e 31 20 |H. . Pointer<>1 | 000035e0 8c 20 42 75 69 6c 64 24 2b 3d 22 2c 22 0d 17 52 |. Build$+=","..R| 000035f0 1e 20 42 75 69 6c 64 24 2b 3d 52 6f 6f 74 44 69 |. Build$+=RootDi| 00003600 72 24 28 50 6f 69 6e 74 65 72 29 0d 17 5c 06 20 |r$(Pointer)..\. | 00003610 cd 0d 17 66 06 20 ed 0d 17 70 3a 20 e7 20 53 65 |...f. ...p: . Se| 00003620 74 3d a3 20 80 20 49 63 6f 6e 3c 35 20 8c 20 f2 |t=. . Icon<5 . .| 00003630 53 65 74 5f 49 63 6f 6e 5f 54 65 78 74 28 65 78 |Set_Icon_Text(ex| 00003640 74 72 61 25 2c 49 63 6f 6e 2c 42 75 69 6c 64 24 |tra%,Icon,Build$| 00003650 29 0d 17 7a 06 20 cd 0d 17 84 38 20 f2 53 65 74 |)..z. ....8 .Set| 00003660 5f 49 63 6f 6e 5f 54 65 78 74 28 69 6e 64 65 78 |_Icon_Text(index| 00003670 25 2c a4 57 68 69 63 68 49 63 6f 6e 28 45 78 74 |%,.WhichIcon(Ext| 00003680 72 61 4f 70 65 6e 29 2c 54 69 74 6c 65 24 29 0d |raOpen),Title$).| 00003690 17 8e 06 20 e1 0d 17 98 06 20 3a 0d 17 a2 0b 20 |... ..... :.... | 000036a0 dd f2 47 6f 74 6f 0d 17 ac 11 20 4f 6c 64 50 61 |..Goto.... OldPa| 000036b0 67 65 3d 50 61 67 65 0d 17 b6 25 20 44 69 73 63 |ge=Page...% Disc| 000036c0 3d bb 28 a4 47 65 74 5f 49 63 6f 6e 5f 53 74 61 |=.(.Get_Icon_Sta| 000036d0 74 65 28 67 6f 74 6f 25 2c 31 29 29 0d 17 c0 34 |te(goto%,1))...4| 000036e0 20 e7 20 44 69 73 63 3d 30 20 8c 20 f2 57 69 6d | . Disc=0 . .Wim| 000036f0 70 5f 45 72 72 6f 72 28 22 44 69 73 63 20 44 6f |p_Error("Disc Do| 00003700 65 73 20 4e 6f 74 20 45 78 69 73 74 22 29 3a e1 |es Not Exist"):.| 00003710 0d 17 ca 1d 20 f2 57 72 69 74 65 49 63 6f 6e 73 |.... .WriteIcons| 00003720 54 6f 49 6e 64 65 78 28 50 61 67 65 29 0d 17 d4 |ToIndex(Page)...| 00003730 10 20 54 3d 44 69 73 63 20 81 20 31 30 0d 17 de |. T=Disc . 10...| 00003740 0b 20 4d 3d 54 2a 31 30 0d 17 e8 0d 20 53 3d 44 |. M=T*10.... S=D| 00003750 69 73 63 2d 4d 0d 17 f2 1e 20 e7 20 53 3d 30 20 |isc-M.... . S=0 | 00003760 8c 20 50 61 67 65 3d 54 20 8b 20 50 61 67 65 3d |. Page=T . Page=| 00003770 54 2b 31 0d 17 fc 5b 20 e7 20 50 61 67 65 3e 50 |T+1...[ . Page>P| 00003780 61 67 65 4c 69 6d 69 74 20 8c 20 f2 57 69 6d 70 |ageLimit . .Wimp| 00003790 5f 45 72 72 6f 72 28 22 4f 6e 6c 79 20 22 2b c3 |_Error("Only "+.| 000037a0 28 44 69 73 63 4c 69 6d 69 74 29 2b 22 20 44 69 |(DiscLimit)+" Di| 000037b0 73 63 73 20 41 76 61 69 6c 61 62 6c 65 22 29 3a |scs Available"):| 000037c0 50 61 67 65 3d 4f 6c 64 50 61 67 65 3a e1 0d 18 |Page=OldPage:...| 000037d0 06 24 20 e7 20 4d 61 78 50 61 67 65 73 3c 50 61 |.$ . MaxPages<Pa| 000037e0 67 65 20 8c 20 4d 61 78 50 61 67 65 73 3d 50 61 |ge . MaxPages=Pa| 000037f0 67 65 0d 18 10 18 20 f2 53 65 74 50 61 67 65 49 |ge.... .SetPageI| 00003800 63 6f 6e 73 28 50 61 67 65 29 0d 18 1a 06 20 e1 |cons(Page).... .| 00003810 0d 18 24 06 20 3a 0d 18 2e 16 20 dd f2 4b 65 79 |..$. :.... ..Key| 00003820 50 72 65 73 73 28 62 6c 6f 63 6b 29 0d 18 38 11 |Press(block)..8.| 00003830 20 c8 8e 20 62 6c 6f 63 6b 21 30 20 ca 0d 18 42 | .. block!0 ...B| 00003840 34 20 c9 20 73 65 61 72 63 68 25 20 3a 20 f2 53 |4 . search% : .S| 00003850 65 61 72 63 68 28 a4 47 65 74 5f 49 63 6f 6e 5f |earch(.Get_Icon_| 00003860 53 74 61 74 65 28 73 65 61 72 63 68 25 2c 30 29 |State(search%,0)| 00003870 29 0d 18 4c 16 20 c9 20 67 6f 74 6f 25 20 20 20 |)..L. . goto% | 00003880 3a 20 f2 47 6f 74 6f 0d 18 56 34 20 c9 20 69 6e |: .Goto..V4 . in| 00003890 64 65 78 25 20 20 3a 20 f2 49 63 6f 6e 5f 4d 6f |dex% : .Icon_Mo| 000038a0 76 65 28 21 62 6c 6f 63 6b 2c 62 6c 6f 63 6b 21 |ve(!block,block!| 000038b0 34 2c 62 6c 6f 63 6b 21 32 34 29 0d 18 60 34 20 |4,block!24)..`4 | 000038c0 c9 20 70 72 69 6e 74 25 20 20 3a 20 f2 49 63 6f |. print% : .Ico| 000038d0 6e 5f 4d 6f 76 65 28 21 62 6c 6f 63 6b 2c 62 6c |n_Move(!block,bl| 000038e0 6f 63 6b 21 34 2c 62 6c 6f 63 6b 21 32 34 29 0d |ock!4,block!24).| 000038f0 18 6a 06 20 cb 0d 18 74 06 20 e1 0d 18 7e 06 20 |.j. ...t. ...~. | 00003900 3a 0d 18 88 11 20 dd f2 50 72 69 6e 74 49 6e 64 |:.... ..PrintInd| 00003910 65 78 0d 18 92 27 20 53 74 61 72 74 3d bb 28 a4 |ex...' Start=.(.| 00003920 47 65 74 5f 49 63 6f 6e 5f 53 74 61 74 65 28 70 |Get_Icon_State(p| 00003930 72 69 6e 74 25 2c 30 29 29 0d 18 9c 28 20 46 69 |rint%,0))...( Fi| 00003940 6e 69 73 68 3d bb 28 a4 47 65 74 5f 49 63 6f 6e |nish=.(.Get_Icon| 00003950 5f 53 74 61 74 65 28 70 72 69 6e 74 25 2c 31 29 |_State(print%,1)| 00003960 29 0d 18 a6 68 20 e7 20 53 74 61 72 74 3e 44 69 |)...h . Start>Di| 00003970 73 63 4c 69 6d 69 74 20 84 20 46 69 6e 69 73 68 |scLimit . Finish| 00003980 3e 44 69 73 63 4c 69 6d 69 74 20 84 20 53 74 61 |>DiscLimit . Sta| 00003990 72 74 3c 31 20 84 20 46 69 6e 69 73 68 3c 31 20 |rt<1 . Finish<1 | 000039a0 20 8c 20 f2 57 69 6d 70 5f 45 72 72 6f 72 28 22 | . .Wimp_Error("| 000039b0 44 69 73 63 20 44 6f 65 73 20 4e 6f 74 20 45 78 |Disc Does Not Ex| 000039c0 69 73 74 20 21 22 29 3a e1 0d 18 b0 1b 20 58 3d |ist !"):..... X=| 000039d0 ae 28 22 50 72 69 6e 74 65 72 3a 24 2e 44 75 6d |.("Printer:$.Dum| 000039e0 6d 79 22 29 0d 18 ba 1a 20 e3 20 44 69 73 63 3d |my").... . Disc=| 000039f0 53 74 61 72 74 20 b8 20 46 69 6e 69 73 68 0d 18 |Start . Finish..| 00003a00 c4 29 20 50 72 69 6e 74 53 74 72 69 6e 67 24 3d |.) PrintString$=| 00003a10 c3 28 44 69 73 63 29 2b 22 20 22 2b 54 65 78 74 |.(Disc)+" "+Text| 00003a20 24 28 44 69 73 63 29 0d 18 ce 16 20 d5 20 23 58 |$(Disc).... . #X| 00003a30 2c 50 72 69 6e 74 53 74 72 69 6e 67 24 0d 18 d8 |,PrintString$...| 00003a40 0c 20 d5 20 23 58 2c 22 22 0d 18 e2 22 20 e3 20 |. . #X,""..." . | 00003a50 45 78 74 72 61 3d 28 44 69 73 63 2a 35 29 2d 34 |Extra=(Disc*5)-4| 00003a60 20 b8 20 28 44 69 73 63 2a 35 29 0d 18 ec 25 20 | . (Disc*5)...% | 00003a70 50 72 69 6e 74 53 74 72 69 6e 67 24 3d 22 20 20 |PrintString$=" | 00003a80 20 22 2b 4e 6f 74 65 73 24 28 45 78 74 72 61 29 | "+Notes$(Extra)| 00003a90 0d 18 f6 16 20 d5 20 23 58 2c 50 72 69 6e 74 53 |.... . #X,PrintS| 00003aa0 74 72 69 6e 67 24 0d 19 00 06 20 ed 0d 19 0a 06 |tring$.... .....| 00003ab0 20 ed 0d 19 14 09 20 d9 20 23 58 0d 19 1e 06 20 | ..... . #X.... | 00003ac0 e1 0d 19 28 06 20 3a 0d 19 32 25 20 dd 20 f2 49 |...(. :..2% . .I| 00003ad0 63 6f 6e 5f 4d 6f 76 65 28 77 69 6e 64 6f 77 25 |con_Move(window%| 00003ae0 2c 69 63 6f 6e 25 2c 6b 65 79 25 29 0d 19 3c 2c |,icon%,key%)..<,| 00003af0 20 e7 20 77 69 6e 64 6f 77 25 3c 3e 69 6e 64 65 | . window%<>inde| 00003b00 78 25 20 80 20 77 69 6e 64 6f 77 25 3c 3e 70 72 |x% . window%<>pr| 00003b10 69 6e 74 25 20 8c 20 e1 0d 19 46 17 20 e7 20 77 |int% . ...F. . w| 00003b20 69 6e 64 6f 77 25 3d 69 6e 64 65 78 25 20 8c 0d |indow%=index% ..| 00003b30 19 50 13 20 6e 65 77 69 63 6f 6e 25 3d 69 63 6f |.P. newicon%=ico| 00003b40 6e 25 0d 19 5a 10 20 e7 20 6b 65 79 25 3d 31 33 |n%..Z. . key%=13| 00003b50 20 8c 0d 19 64 11 20 20 6e 65 77 69 63 6f 6e 25 | ...d. newicon%| 00003b60 2b 3d 31 0d 19 6e 1f 20 20 e7 20 6e 65 77 69 63 |+=1..n. . newic| 00003b70 6f 6e 25 3e 39 20 8c 20 6e 65 77 69 63 6f 6e 25 |on%>9 . newicon%| 00003b80 3d 30 0d 19 78 06 20 cd 0d 19 82 11 20 e7 20 6b |=0..x. ..... . k| 00003b90 65 79 25 3d 33 39 39 20 8c 0d 19 8c 11 20 20 6e |ey%=399 ..... n| 00003ba0 65 77 69 63 6f 6e 25 2d 3d 31 0d 19 96 1f 20 20 |ewicon%-=1.... | 00003bb0 e7 20 6e 65 77 69 63 6f 6e 25 3c 30 20 8c 20 6e |. newicon%<0 . n| 00003bc0 65 77 69 63 6f 6e 25 3d 30 0d 19 a0 06 20 cd 0d |ewicon%=0.... ..| 00003bd0 19 aa 11 20 e7 20 6b 65 79 25 3d 33 39 38 20 8c |... . key%=398 .| 00003be0 0d 19 b4 11 20 20 6e 65 77 69 63 6f 6e 25 2b 3d |.... newicon%+=| 00003bf0 31 0d 19 be 1f 20 20 e7 20 6e 65 77 69 63 6f 6e |1.... . newicon| 00003c00 25 3e 39 20 8c 20 6e 65 77 69 63 6f 6e 25 3d 39 |%>9 . newicon%=9| 00003c10 0d 19 c8 06 20 cd 0d 19 d2 35 20 c8 99 22 57 69 |.... ....5 .."Wi| 00003c20 6d 70 5f 53 65 74 43 61 72 65 74 50 6f 73 69 74 |mp_SetCaretPosit| 00003c30 69 6f 6e 22 2c 69 6e 64 65 78 25 2c 6e 65 77 69 |ion",index%,newi| 00003c40 63 6f 6e 25 2c 2c 2c 2d 31 2c 30 0d 19 dc 06 20 |con%,,,-1,0.... | 00003c50 cd 0d 19 e6 17 20 e7 20 77 69 6e 64 6f 77 25 3d |..... . window%=| 00003c60 70 72 69 6e 74 25 20 8c 0d 19 f0 13 20 6e 65 77 |print% ..... new| 00003c70 69 63 6f 6e 25 3d 69 63 6f 6e 25 0d 19 fa 25 20 |icon%=icon%...% | 00003c80 e7 20 6b 65 79 25 3d 31 33 20 80 20 69 63 6f 6e |. key%=13 . icon| 00003c90 25 3d 30 20 8c 20 6e 65 77 69 63 6f 6e 25 3d 31 |%=0 . newicon%=1| 00003ca0 0d 1a 04 25 20 e7 20 6b 65 79 25 3d 31 33 20 80 |...% . key%=13 .| 00003cb0 20 69 63 6f 6e 25 3d 31 20 8c 20 6e 65 77 69 63 | icon%=1 . newic| 00003cc0 6f 6e 25 3d 30 0d 1a 0e 35 20 c8 99 22 57 69 6d |on%=0...5 .."Wim| 00003cd0 70 5f 53 65 74 43 61 72 65 74 50 6f 73 69 74 69 |p_SetCaretPositi| 00003ce0 6f 6e 22 2c 70 72 69 6e 74 25 2c 6e 65 77 69 63 |on",print%,newic| 00003cf0 6f 6e 25 2c 2c 2c 2d 31 2c 30 0d 1a 18 06 20 cd |on%,,,-1,0.... .| 00003d00 0d 1a 22 06 20 e1 0d 1a 2c 06 20 3a 0d 1a 36 0c |..". ...,. :..6.| 00003d10 20 dd a4 54 69 74 6c 65 0d 1a 40 0f 20 52 65 73 | ..Title..@. Res| 00003d20 75 6c 74 24 3d 22 22 0d 1a 4a 27 20 c8 99 20 22 |ult$=""..J' .. "| 00003d30 41 44 46 53 5f 44 65 73 63 72 69 62 65 44 69 73 |ADFS_DescribeDis| 00003d40 63 22 2c 22 30 22 2c 42 75 66 66 65 72 25 0d 1a |c","0",Buffer%..| 00003d50 54 16 20 e3 20 50 6f 69 6e 74 65 72 3d 32 32 20 |T. . Pointer=22 | 00003d60 b8 20 33 31 0d 1a 5e 37 20 e7 20 42 75 66 66 65 |. 31..^7 . Buffe| 00003d70 72 25 3f 50 6f 69 6e 74 65 72 3e 33 32 20 8c 20 |r%?Pointer>32 . | 00003d80 52 65 73 75 6c 74 24 2b 3d bd 28 42 75 66 66 65 |Result$+=.(Buffe| 00003d90 72 25 3f 50 6f 69 6e 74 65 72 29 0d 1a 68 06 20 |r%?Pointer)..h. | 00003da0 ed 0d 1a 72 0d 20 3d 52 65 73 75 6c 74 24 0d 1a |...r. =Result$..| 00003db0 7c 06 20 3a 0d 1a 86 1e 20 dd f2 49 6e 69 74 5f ||. :.... ..Init_| 00003dc0 53 70 72 69 74 65 5f 41 72 65 61 28 66 69 6c 65 |Sprite_Area(file| 00003dd0 24 29 0d 1a 90 2f 20 de 20 53 70 72 69 74 65 50 |$).../ . SpriteP| 00003de0 6f 69 6e 74 65 72 20 26 31 30 30 30 3a 21 53 70 |ointer &1000:!Sp| 00003df0 72 69 74 65 50 6f 69 6e 74 65 72 3d 26 31 30 30 |ritePointer=&100| 00003e00 30 0d 1a 9a 3d 20 53 70 72 69 74 65 50 6f 69 6e |0...= SpritePoin| 00003e10 74 65 72 21 34 3d 30 3a 53 70 72 69 74 65 50 6f |ter!4=0:SpritePo| 00003e20 69 6e 74 65 72 21 38 3d 31 36 3a 53 70 72 69 74 |inter!8=16:Sprit| 00003e30 65 50 6f 69 6e 74 65 72 21 31 32 3d 31 36 0d 1a |ePointer!12=16..| 00003e40 a4 3a 20 c8 99 20 22 4f 53 5f 53 70 72 69 74 65 |.: .. "OS_Sprite| 00003e50 4f 70 22 2c 32 36 36 2c 53 70 72 69 74 65 50 6f |Op",266,SpritePo| 00003e60 69 6e 74 65 72 2c 66 69 6c 65 24 20 b8 20 4d 79 |inter,file$ . My| 00003e70 53 70 72 69 74 65 73 25 0d 1a ae 06 20 e1 0d 1a |Sprites%.... ...| 00003e80 b8 06 20 3a 0d 1a c2 12 20 dd f2 43 6c 65 61 72 |.. :.... ..Clear| 00003e90 52 65 63 6f 72 64 0d 1a cc 25 20 44 69 73 63 3d |Record...% Disc=| 00003ea0 28 50 61 67 65 2a 31 30 29 2d 28 31 30 2d 28 4d |(Page*10)-(10-(M| 00003eb0 65 6e 75 49 63 6f 6e 2b 31 29 29 0d 1a d6 22 20 |enuIcon+1))..." | 00003ec0 e7 20 4d 65 6e 75 49 63 6f 6e 3e 39 20 84 20 4d |. MenuIcon>9 . M| 00003ed0 65 6e 75 49 63 6f 6e 3c 30 20 8c 20 e1 0d 1a e0 |enuIcon<0 . ....| 00003ee0 29 20 e7 20 4d 65 6e 75 48 61 6e 64 6c 65 3d 65 |) . MenuHandle=e| 00003ef0 78 74 72 61 25 20 8c 20 44 69 73 63 3d 45 78 74 |xtra% . Disc=Ext| 00003f00 72 61 4f 70 65 6e 0d 1a ea 40 20 e7 20 44 69 73 |raOpen...@ . Dis| 00003f10 63 3c 31 20 84 20 44 69 73 63 3e 44 69 73 63 4c |c<1 . Disc>DiscL| 00003f20 69 6d 69 74 20 8c 20 f2 57 69 6d 70 5f 45 72 72 |imit . .Wimp_Err| 00003f30 6f 72 28 22 44 69 73 63 20 4e 6f 74 20 56 61 6c |or("Disc Not Val| 00003f40 69 64 22 29 3a e1 0d 1a f4 36 20 43 68 65 63 6b |id"):....6 Check| 00003f50 3d a4 41 63 74 69 6f 6e 5f 43 6f 6e 66 69 72 6d |=.Action_Confirm| 00003f60 28 22 45 72 61 73 65 20 44 69 73 63 20 22 2b c3 |("Erase Disc "+.| 00003f70 28 44 69 73 63 29 2b 22 20 3f 22 29 0d 1a fe 12 |(Disc)+" ?")....| 00003f80 20 e7 20 43 68 65 63 6b 3d 32 20 8c 20 e1 0d 1b | . Check=2 . ...| 00003f90 08 13 20 54 65 78 74 24 28 44 69 73 63 29 3d 22 |.. Text$(Disc)="| 00003fa0 22 0d 1b 12 1a 20 45 78 74 72 61 53 74 61 72 74 |".... ExtraStart| 00003fb0 3d 28 44 69 73 63 2a 35 29 2d 34 0d 1b 1c 19 20 |=(Disc*5)-4.... | 00003fc0 45 78 74 72 61 46 69 6e 69 73 68 3d 28 44 69 73 |ExtraFinish=(Dis| 00003fd0 63 2a 35 29 0d 1b 26 27 20 e3 20 50 6f 69 6e 74 |c*5)..&' . Point| 00003fe0 65 72 3d 45 78 74 72 61 53 74 61 72 74 20 b8 20 |er=ExtraStart . | 00003ff0 45 78 74 72 61 46 69 6e 69 73 68 0d 1b 30 17 20 |ExtraFinish..0. | 00004000 4e 6f 74 65 73 24 28 50 6f 69 6e 74 65 72 29 3d |Notes$(Pointer)=| 00004010 22 22 0d 1b 3a 06 20 ed 0d 1b 44 2d 20 e7 20 45 |""..:. ...D- . E| 00004020 78 74 72 61 4f 70 65 6e 3d 44 69 73 63 20 8c 20 |xtraOpen=Disc . | 00004030 f2 4f 70 65 6e 45 78 74 72 61 28 45 78 74 72 61 |.OpenExtra(Extra| 00004040 4f 70 65 6e 29 0d 1b 4e 27 20 f2 53 65 74 5f 49 |Open)..N' .Set_I| 00004050 63 6f 6e 5f 54 65 78 74 28 69 6e 64 65 78 25 2c |con_Text(index%,| 00004060 4d 65 6e 75 49 63 6f 6e 2c 22 22 29 0d 1b 58 06 |MenuIcon,"")..X.| 00004070 20 e1 0d 1b 62 06 20 3a 0d 1b 6c 13 20 dd a4 57 | ...b. :..l. ..W| 00004080 68 69 63 68 49 63 6f 6e 28 58 29 0d 1b 76 0d 20 |hichIcon(X)..v. | 00004090 54 3d 58 20 81 20 31 30 0d 1b 80 0c 20 56 54 3d |T=X . 10.... VT=| 000040a0 54 2a 31 30 0d 1b 8a 0d 20 52 3d 58 2d 56 54 2d |T*10.... R=X-VT-| 000040b0 31 0d 1b 94 11 20 e7 20 56 54 3d 58 20 8c 20 52 |1.... . VT=X . R| 000040c0 3d 39 0d 1b 9e 07 20 3d 52 0d 1b a8 06 20 3a 0d |=9.... =R.... :.| 000040d0 1b b2 1f 20 dd a4 41 63 74 69 6f 6e 5f 43 6f 6e |... ..Action_Con| 000040e0 66 69 72 6d 28 4d 65 73 73 61 67 65 24 29 0d 1b |firm(Message$)..| 000040f0 bc 0d 20 21 62 6c 6f 63 6b 3d 30 0d 1b c6 1d 20 |.. !block=0.... | 00004100 24 28 62 6c 6f 63 6b 2b 34 29 3d 4d 65 73 73 61 |$(block+4)=Messa| 00004110 67 65 24 2b bd 28 30 29 0d 1b d0 39 20 c8 99 22 |ge$+.(0)...9 .."| 00004120 57 69 6d 70 5f 52 65 70 6f 72 74 45 72 72 6f 72 |Wimp_ReportError| 00004130 22 2c 62 6c 6f 63 6b 2c 32 33 2c 22 44 69 73 63 |",block,23,"Disc| 00004140 20 4d 61 6e 61 67 65 72 22 20 b8 20 2c 49 63 6f | Manager" . ,Ico| 00004150 6e 0d 1b da 0a 20 3d 49 63 6f 6e 0d ff |n.... =Icon..| 0000415d