Home » Archimedes archive » Acorn User » AU 1997-Xmas B.adf » PD » NetPlex/!Netplex/PDScheme/FlexiCD/!FlexiCD/Resources/Global/!Editor/!RunImage

NetPlex/!Netplex/PDScheme/FlexiCD/!FlexiCD/Resources/Global/!Editor/!RunImage

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

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

Tape/disk: Home » Archimedes archive » Acorn User » AU 1997-Xmas B.adf » PD
Filename: NetPlex/!Netplex/PDScheme/FlexiCD/!FlexiCD/Resources/Global/!Editor/!RunImage
Read OK:
File size: 8D89 bytes
Load address: 0000
Exec address: 0000
File contents
   10REM FlexiCDEditor LEN Andrew Booker
   20REM only to be distributed with !FlexiCD
   30LIBRARY "FlexiCD:Editor.Messages"
   40ONERRORONERROROFF:ERROR0,FNiniterror(REPORT$,STR$ERL):END
   50:
   60:
   70REM ***************************
   80largestdef%=9200:indirlen%=7300
   90REM ***************************
  100:
  110SYS "Hourglass_On"
  120DIM block% largestdef%,indir% indirlen%,temp% 255,filedesc% 15,task% 4,msgs% 3
  130DIM file% 5300,prog% 100,notused% 100
  140DIM notracks% 3,trackstime% 10,noprog% 3,progtime% 10
  150DIM trackname% 40,sm% 3,ss% 3,sf% 3,em% 3,es% 3,ef% 3
  160DIM smi% 96,emi% 96
  170DIM tracksmenu% 27+24*101,newtrackmenu% 27+24*100,deletemenu% 27+24*99
  180ssi%=smi%+32:sfi%=ssi%+32:esi%=emi%+32:efi%=esi%+32
  190endindir%=indir%+indirlen%
  200$task%="TASK":!msgs%=0
  210SYS "Wimp_Initialise",310,!task%,FNbanner,msgs%
  220CDs%=HIMEM
  230SYS "XOS_ReadVarVal","FlexiCD$InitEdit",temp%,1<<31,0 TO ,,check%
  240IF check%=0 THEN
  250  initedit$=""
  260ELSE
  270  SYS "OS_ReadVarVal","FlexiCD$InitEdit",temp%,255,0 TO ,,len%
  280  IF !temp%>0 THEN
  290    initedit$=FNtwo(temp%?2)+"."+FNtwo(temp%?1)+"."+FNtwo(?temp%)
  300  ELSE
  310    initedit$=""
  320  ENDIF
  330  SYS "OS_SetVarVal","FlexiCD$InitEdit",temp%,-1,0,0
  340ENDIF
  350PROCloadallCDs
  360SYS "Wimp_OpenTemplate",,"FlexiCD:Editor.Templates"
  370dummy%=0:CDsPaneHeight%=0:NamesPaneHeight%=0
  380ProgPane1Height%=0:ProgPane2Height%=0:TimesPaneHeight%=0
  390CDsHandle%=FNloadtemplate("cds",dummy%)
  400CDsPane%=FNloadtemplate("cd_pane",CDsPaneHeight%)
  410NamesHandle%=FNloadtemplate("names",dummy%)
  420NamesPane%=FNloadtemplate("names_pane",NamesPaneHeight%)
  430ProgHandle%=FNloadtemplate("prog",dummy%)
  440ProgPane1%=FNloadtemplate("prog_pane1",ProgPane1Height%)
  450ProgPane2%=FNloadtemplate("prog_pane2",ProgPane2Height%)
  460TimesHandle%=FNloadtemplate("times",dummy%)
  470MiscHandle%=FNloadtemplate("misc",dummy%)
  480SYS "Wimp_CloseTemplate"
  490quit%=FALSE
  500dragging%=-1
  510!block%=CDsHandle%:SYS "Wimp_GetWindowState",,block%:PROCopenwindow
  520SYS "Hourglass_Off"
  530:
  540ONERRORPROCerror:IF cancel% THENquit%=TRUE
  550WHILE NOT quit%
  560  SYS "Wimp_Poll",-(dragging%=-1),block% TO reason%
  570  CASE reason% OF
  580    WHEN 0:PROCcheckdrag
  590    WHEN 1:PROCredrawwindow
  600    WHEN 2:PROCopenwindow
  610    WHEN 3:PROCclosewindow
  620    WHEN 6:PROCmouseclick(block%!12,block%!16,block%!8,!block%,block%!4)
  630    WHEN 7:PROCdragfinished
  640    WHEN 8:PROCkeypress(!block%,block%!4,block%!24)
  650    WHEN 9:PROCmenusel(!block%,block%!4)
  660    WHEN 17,18:IF block%!16=0 quit%=TRUE
  670  ENDCASE
  680ENDWHILE
  690SYS "Wimp_CloseDown"
  700END
  710:
  720:
  730:
  740:
  750:
  760:
  770:
  780DEFPROCloadallCDs
  790LOCAL slot%,newslot%,count%
  800adjustCDscroll%=1<<31
  810SYS "OS_FSControl",28,"FlexiCD:CDs",,1 TO ,,,cds%
  820IF cds%>0 THEN
  830  SYS "Wimp_SlotSize",-1,-1 TO slot%
  840  SYS "Wimp_SlotSize",slot%+cds%*68,-1 TO newslot%
  850  IF newslot%<slot%+cds%*64 THENERROR0,FNnomem
  860  count%=0
  870  PROCreaddir("FlexiCD:CDs")
  880ENDIF
  890SYS "Hourglass_Percentage",100
  900IF cds%>0 THEN
  910  SYS "OS_HeapSort",cds%,CDs%+cds%*64+(3<<30),4,,CDs%,64
  920  IF initedit$<>"" THEN
  930    FOR loop%=0 TO cds%-1
  940      IF RIGHT$($(CDs%+loop%*64+41),8)=initedit$ THEN
  950        ?(CDs%+loop%*64+52)=((?(CDs%+loop%*64+52))OR1)
  960        SYS "OS_File",16,"FlexiCD:CDs."+$(CDs%+loop%*64+41),file%,0
  970        adjustCDscroll%=-(loop%*44-260)
  980      ENDIF
  990    NEXT
 1000  ENDIF
 1010ENDIF
 1020ENDPROC
 1030:
 1040:
 1050DEFPROCreaddir(root$)
 1060LOCAL pos%,read%,name$
 1070pos%=0
 1080REPEAT
 1090  SYS "Hourglass_Percentage",100*count%/cds%
 1100  REPEAT
 1110    SYS "OS_GBPB",10,root$,temp%,1,pos%,256,"*" TO ,,,read%,pos%
 1120  UNTILread%=1 OR pos%=-1
 1130  IF pos%<>-1 THEN
 1140    name$=root$+"."+FNreadstring(temp%+20)
 1150    IF temp%!16=2 THEN
 1160      PROCreaddir(name$)
 1170    ELSE
 1180      ch%=OPENIN(name$)
 1190      SYS "OS_GBPB",3,ch%,temp%,41,0
 1200      CLOSE#ch%
 1210      $(CDs%+count%*64)=FNreadstring(temp%)
 1220      name$=RIGHT$(name$,10)
 1230      IF LEFT$(name$,1)<>"X" THENname$=RIGHT$(name$,8)
 1240      $(CDs%+count%*64+41)=name$
 1250      !(CDs%+count%*64+52)=0
 1260      !(CDs%+count%*64+56)=0
 1270      !(CDs%+count%*64+60)=0
 1280      count%+=1
 1290    ENDIF
 1300  ENDIF
 1310UNTILpos%=-1
 1320ENDPROC
 1330:
 1340:
 1350REM returns a two digit hex string
 1360DEFFNtwo(val%)
 1370LOCAL reply$
 1380IF val%<16 THEN reply$="0" ELSEreply$=""
 1390=reply$+STR$~val%
 1400:
 1410REM returns a two digit decimal string
 1420DEFFNdig(val%)
 1430LOCAL reply$
 1440IF val%<10 THEN reply$="0" ELSEreply$=""
 1450=reply$+STR$val%
 1460:
 1470:
 1480:
 1490REM reads a ctrl-char terminated string
 1500DEFFNreadstring(addr%)
 1510LOCAL str$:str$=""
 1520WHILE (?addr%)>31
 1530  str$+=CHR$(?addr%)
 1540  addr%+=1
 1550ENDWHILE
 1560=str$
 1570:
 1580:
 1590REM stores a zero-term string
 1600DEFPROCputstring(addr%,string$)
 1610$addr%=string$
 1620?(addr%+LEN(string$))=0
 1630ENDPROC
 1640:
 1650:
 1660:
 1670:
 1680:
 1690:
 1700DEFFNloadtemplate(name$,RETURN paneheight%)
 1710LOCAL handle%,height%,loop%
 1720SYS "Wimp_LoadTemplate",,block%,indir%,endindir%,-1,name$,0 TO ,,indir%
 1730paneheight%=(block%!12-block%!4)
 1740IF name$="cd_pane" THEN
 1750  height%=-(44*cds%)
 1760  IF (block%!44)>height% THEN block%!44=height%
 1770ENDIF
 1780IF name$="names" THEN !(block%+88+20)=file%
 1790IF name$="names_pane" THEN
 1800  FOR loop%=0 TO 98
 1810    !(block%+88+loop%*32+20)=file%+44+44*loop%
 1820  NEXT
 1830ENDIF
 1840IF name$="prog" THEN !(block%+88+20)=file%
 1850IF LEFT$(name$,9)="prog_pane" THEN
 1860  !(block%+88+16)=((!(block%+88+16))OR(1<<23))
 1870  !(block%+88+32+16)=((!(block%+88+32+16))OR(1<<23))
 1880ENDIF
 1890IF name$="times" THEN
 1900  !(block%+88+20)=file%
 1910  !(block%+88+32*8+20)=trackname%
 1920  !(block%+88+32*17+20)=sm%
 1930  !(block%+88+32*18+20)=ss%
 1940  !(block%+88+32*19+20)=sf%
 1950  !(block%+88+32*28+20)=em%
 1960  !(block%+88+32*29+20)=es%
 1970  !(block%+88+32*30+20)=ef%
 1980  FOR loop%=0 TO 32*3-1 STEP4
 1990    smi%!loop%=!(block%+88+32*14+loop%)
 2000    emi%!loop%=!(block%+88+32*25+loop%)
 2010  NEXT
 2020ENDIF
 2030IF name$="misc" THEN
 2040  !(block%+88+20)=file%
 2050  !(block%+88+32*5+20)=notracks%
 2060  !(block%+88+32*7+20)=trackstime%
 2070  !(block%+88+32*9+20)=noprog%
 2080  !(block%+88+32*11+20)=progtime%
 2090ENDIF
 2100SYS "Wimp_CreateWindow",,block% TO handle%
 2110=handle%
 2120:
 2130:
 2140:
 2150DEFPROCerror
 2160LOCAL click%
 2170!temp%=0:$(temp%+4)=FNerror(REPORT$,STR$ERL)
 2180SYS "Wimp_ReportError",temp%,3,FNbanner TO ,click%
 2190IF click%=1 THENok%=TRUE:cancel%=FALSE ELSEok%=FALSE:cancel%=TRUE
 2200ENDPROC
 2210:
 2220:
 2230:
 2240:
 2250DEFPROCopenwindow
 2260CASE !block% OF
 2270  WHEN CDsHandle%:PROCopenpane(CDsPane%,12,-16,CDsPaneHeight%)
 2280  WHEN NamesHandle%:PROCopenpane(NamesPane%,12,-76,NamesPaneHeight%)
 2290  WHEN ProgHandle%:PROCopenpane(ProgPane1%,12,-76,ProgPane1Height%)
 2300                   PROCopenpane(ProgPane2%,12,-364,ProgPane2Height%)
 2310ENDCASE
 2320SYS "Wimp_OpenWindow",,block%
 2330ENDPROC
 2340:
 2350:
 2360DEFPROCopenpane(handle%,x%,y%,h%)
 2370LOCAL w%
 2380!temp%=handle%
 2390SYS "Wimp_GetWindowState",,temp%
 2400w%=temp%!12-temp%!4
 2410temp%!4=x%+block%!4
 2420temp%!16=y%+block%!16
 2430temp%!8=temp%!16-h%
 2440temp%!12=w%+temp%!4
 2450temp%!28=block%!28
 2460IF adjustCDscroll%<>(1<<31) THENtemp%!24=adjustCDscroll%:adjustCDscroll%=1<<31
 2470SYS "Wimp_OpenWindow",,temp%
 2480block%!28=handle%
 2490ENDPROC
 2500:
 2510:
 2520DEFPROCclosewindow
 2530SYS "Wimp_CloseWindow",,block%
 2540CASE !block% OF
 2550  WHEN CDsHandle%:!temp%=CDsPane%:SYS "Wimp_CloseWindow",,temp%
 2560  WHEN NamesHandle%:!temp%=NamesPane%:SYS "Wimp_CloseWindow",,temp%
 2570                    temp%!4=file%?41:temp%!8=0:temp%!12=1<<23
 2580                    SYS "Wimp_SetIconState",,temp%
 2590  WHEN ProgHandle%:!temp%=ProgPane1%:SYS "Wimp_CloseWindow",,temp%
 2600                   !temp%=ProgPane2%:SYS "Wimp_CloseWindow",,temp%
 2610ENDCASE
 2620ENDPROC
 2630:
 2640:
 2650:
 2660:
 2670DEFPROCredrawwindow
 2680LOCAL ox%,oy%,more%
 2690SYS "Wimp_RedrawWindow",,block% TO more%
 2700WHILE more%
 2710  ox%=block%!4-block%!20
 2720  oy%=block%!16-block%!24
 2730  CASE !block% OF
 2740    WHEN CDsPane%:IF CDs%>0 THENPROCredrawCDsPane
 2750    WHEN NamesPane%:PROCredrawNamesPane
 2760    WHEN ProgPane1%:PROCredrawProgPane1
 2770    WHEN ProgPane2%:PROCredrawProgPane2
 2780    WHEN TimesHandle%:PROCredrawTimesWindow
 2790  ENDCASE
 2800  SYS "Wimp_GetRectangle",,block% TO more%
 2810ENDWHILE
 2820ENDPROC
 2830:
 2840:
 2850DEFPROCredrawCDsPane
 2860LOCAL start%,end%,cd%
 2870start%=(oy%-block%!40)DIV44
 2880end%=(oy%-block%!32)DIV44
 2890IF start%<0 THENstart%=0
 2900IF end%>=cds% THENend%=cds%-1
 2910IF start%<cds% THEN
 2920  !temp%=0
 2930  temp%!8=800
 2940  temp%!16=&17000111
 2950  temp%!24=-1
 2960  temp%!28=50
 2970  FOR cd%=start% TO end%
 2980    temp%!4=-(cd%*44+44)
 2990    temp%!12=-(cd%*44)
 3000    temp%!20=CDs%+64*cd%
 3010    IF ((?(CDs%+64*cd%+52))AND1)=1 THEN
 3020      temp%!16=((temp%!16)OR(1<<21))
 3030    ELSE
 3040      temp%!16=((temp%!16)AND(NOT(1<<21)))
 3050    ENDIF
 3060    SYS "Wimp_PlotIcon",,temp%
 3070  NEXT
 3080ENDIF
 3090ENDPROC
 3100:
 3110:
 3120:
 3130DEFPROCredrawNamesPane
 3140LOCAL loop%,pos%,z$
 3150IF (file%?41)>1 THEN
 3160  !temp%=NamesPane%
 3170  temp%!4=99
 3180  SYS "Wimp_GetIconState",,temp%
 3190  FOR loop%=2 TO file%?41
 3200    temp%!12=(temp%!12)-52
 3210    temp%!20=(temp%!20)-52
 3220    pos%=INSTR($(temp%+28),STR$(loop%-1))
 3230    IF loop%=10 THENpos%-=1
 3240    z$=$(temp%+28)
 3250    MID$(z$,pos%,LEN(STR$(loop%)))=STR$(loop%)
 3260    $(temp%+28)=z$
 3270    SYS "Wimp_PlotIcon",,temp%+8
 3280  NEXT
 3290ENDIF
 3300ENDPROC
 3310:
 3320:
 3330:
 3340:
 3350DEFPROCredrawProgPane1
 3360PROCredrawProgPane(prog%,noinprog%)
 3370ENDPROC
 3380:
 3390DEFPROCredrawProgPane2
 3400PROCredrawProgPane(notused%,noinnotused%)
 3410ENDPROC
 3420:
 3430DEFPROCredrawProgPane(prog%,noinprog%)
 3440LOCAL start%,end%,track%
 3450start%=(oy%-8-block%!40)DIV52
 3460end%=(oy%-8-block%!32)DIV52
 3470IF start%<0 THENstart%=0
 3480IF end%>=noinprog% THENend%=noinprog%-1
 3490IF start%<noinprog% THEN
 3500  !temp%=ProgPane1%:temp%!4=0:SYS "Wimp_GetIconState",,temp%
 3510  temp%!24=((temp%!24)AND(NOT(1<<23)))
 3520  temp%!12-=start%*52:temp%!20-=start%*52
 3530  temp%!100=ProgPane1%:temp%!104=1:SYS "Wimp_GetIconState",,temp%+100
 3540  temp%!124=((temp%!124)AND(NOT(1<<23)))
 3550  temp%!112-=start%*52:temp%!120-=start%*52
 3560  FOR track%=start% TO end%
 3570    temp%!28=file%+44*(prog%?track%)
 3580    $(temp%+128)=FNprogtrack(FNdig(prog%?track%))
 3590    SYS "Wimp_PlotIcon",,temp%+8
 3600    SYS "Wimp_PlotIcon",,temp%+108
 3610    temp%!12-=52:temp%!20-=52
 3620    temp%!112-=52:temp%!120-=52
 3630  NEXT
 3640ENDIF
 3650ENDPROC
 3660:
 3670:
 3680:
 3690:
 3700DEFPROCredrawTimesWindow
 3710PROCredrawonetime(smi%,ssi%,sfi%,VAL($sm%),VAL($ss%),VAL($sf%))
 3720PROCredrawonetime(emi%,esi%,efi%,VAL($em%),VAL($es%),VAL($ef%))
 3730ENDPROC
 3740:
 3750DEFPROCredrawonetime(mi%,si%,fi%,m%,s%,f%)
 3760SYS "Wimp_SetColour",7
 3770RECTANGLE FILL ox%+!mi%+4+m%*4,oy%+mi%!12-4,3,mi%!4-mi%!12+9
 3780RECTANGLE FILL ox%+!si%+4+s%*4,oy%+si%!12-4,3,si%!4-si%!12+9
 3790RECTANGLE FILL ox%+!fi%+4+f%*4,oy%+fi%!12-4,3,fi%!4-fi%!12+9
 3800SYS "Wimp_SetColour",3
 3810LINE ox%+!mi%+4+m%*4,oy%+mi%!4-4,ox%+!si%,oy%+si%!12
 3820LINE ox%+!si%+4+s%*4,oy%+si%!4-4,ox%+!fi%,oy%+fi%!12
 3830LINE ox%+!mi%+4+m%*4+3,oy%+mi%!4-4,ox%+si%!8-4,oy%+si%!12
 3840LINE ox%+!si%+4+s%*4+3,oy%+si%!4-4,ox%+fi%!8-4,oy%+fi%!12
 3850ENDPROC
 3860:
 3870:
 3880:
 3890:
 3900:
 3910:
 3920:
 3930DEFPROCmouseclick(window%,icon%,buttons%,x%,y%)
 3940IF buttons%=1 OR buttons%=4 THEN
 3950  CASE window% OF
 3960    WHEN CDsHandle%:PROCmouse_CDs
 3970    WHEN CDsPane%:PROCmouse_CDsPane
 3980    WHEN NamesHandle%:PROCmouse_names
 3990    WHEN ProgHandle%:PROCmouse_prog
 4000    WHEN ProgPane1%:PROCmouse_progpane1
 4010    WHEN ProgPane2%:PROCmouse_progpane2
 4020    WHEN TimesHandle%:PROCmouse_times
 4030    WHEN MiscHandle%:PROCmouse_misc
 4040  ENDCASE
 4050ENDIF
 4060ENDPROC
 4070:
 4080:
 4090:
 4100DEFPROCmouse_CDs
 4110CASE icon% OF
 4120  WHEN 0:PROCopentracknames
 4130  WHEN 1:PROCopenprogseq
 4140  WHEN 2:PROCopentracktimes
 4150  WHEN 3:PROCopenmisc
 4160  WHEN 4:quit%=TRUE
 4170ENDCASE
 4180ENDPROC
 4190:
 4200:
 4210:
 4220DEFPROCmouse_CDsPane
 4230LOCAL cd%,loop%,flags%,redraw%
 4240!temp%=CDsPane%
 4250SYS "Wimp_GetWindowState",,temp%
 4260IF cds%>0 THEN
 4270  cd%=(temp%!16-y%-temp%!24)DIV44
 4280  FOR loop%=0 TO cds%-1
 4290    redraw%=FALSE
 4300    flags%=?(CDs%+64*loop%+52)
 4310    IF (flags% AND 1)=1 THENflags%=(flags% AND 254):redraw%=NOTredraw%
 4320    IF cd%=loop% THENflags%=(flags% OR 1):redraw%=NOTredraw%
 4330    IF redraw% THEN
 4340      ?(CDs%+64*loop%+52)=flags%
 4350      SYS "Wimp_ForceRedraw",CDsPane%,0,-(loop%*44+43),1000,-(loop%*44)
 4360    ENDIF
 4370  NEXT
 4380ENDIF
 4390ENDPROC
 4400:
 4410:
 4420:
 4430DEFPROCmouse_names
 4440IF icon%=2 THEN
 4450  PROCsavefile(&50520)
 4460  $(CDs%+64*editingcd%)=FNreadstring(file%)
 4470  SYS "OS_HeapSort",cds%,CDs%+cds%*64+(1<<30),4,,CDs%,64
 4480ENDIF
 4490IF (icon%=3) OR (icon%=2 AND buttons%=4) THEN
 4500  PROCopennewwindow(CDsHandle%,NamesHandle%,NamesPane%)
 4510ENDIF
 4520ENDPROC
 4530:
 4540:
 4550:
 4560DEFPROCsavefile(msg%)
 4570LOCAL pos%,MSF%
 4580pos%=CDs%+64*editingcd%+41
 4590SYS "OS_File",10,"<FlexiCD$Dir>.Resources.Global.CDs."+$pos%,&FFD,,file%,file%+5300
 4600!temp%=36
 4610temp%!12=0
 4620temp%!16=msg%
 4630$(temp%+24)=$pos%+CHR$0
 4640IF ?pos%=ASC"X" THENpos%+=2
 4650MSF%=EVAL("&"+CHR$(?pos%))<<20
 4660MSF%+=EVAL("&"+CHR$(pos%?1))<<16
 4670MSF%+=EVAL("&"+CHR$(pos%?3))<<12
 4680MSF%+=EVAL("&"+CHR$(pos%?4))<<8
 4690MSF%+=EVAL("&"+CHR$(pos%?6))<<4
 4700MSF%+=EVAL("&"+CHR$(pos%?7))
 4710temp%!20=MSF%
 4720SYS "Wimp_SendMessage",17,temp%,0
 4730ENDPROC
 4740:
 4750:
 4760:
 4770:
 4780DEFPROCmouse_prog
 4790LOCAL loop%
 4800IF icon%=2 THEN
 4810  loop%=-1
 4820  REPEAT
 4830    loop%+=1
 4840    ?(file%+4400+loop%)=prog%?loop%
 4850  UNTILprog%?loop%=0
 4860  PROCsavefile(&50521)
 4870ENDIF
 4880IF (icon%=3) OR (icon%=2 AND buttons%=4) THEN
 4890  PROCopennewwindow(CDsHandle%,ProgHandle%,ProgPane1%)
 4900ENDIF
 4910ENDPROC
 4920:
 4930:
 4940:
 4950DEFPROCmouse_progpane1
 4960PROCmouse_progpane(ProgPane1%,prog%,noinprog%)
 4970ENDPROC
 4980:
 4990DEFPROCmouse_progpane2
 5000PROCmouse_progpane(ProgPane2%,notused%,noinnotused%)
 5010ENDPROC
 5020:
 5030DEFPROCmouse_progpane(handle%,whichdrag%,noinprog%)
 5040LOCAL top%,drag%
 5050!temp%=handle%
 5060SYS "Wimp_GetWindowState",,temp%
 5070top%=temp%!16-temp%!24-4
 5080drag%=(top%-y%)DIV52
 5090IF drag%<0 THENdrag%=0
 5100IF drag%<noinprog% THEN
 5110  dragging%=drag%
 5120  temp%!20=ProgPane1%
 5130  SYS "Wimp_GetWindowState",,temp%+20
 5140  temp%!40=ProgPane2%
 5150  SYS "Wimp_GetWindowState",,temp%+40
 5160  temp%!28=(temp%!48)+48
 5170  temp%!36-=32
 5180  temp%!8=temp%!24
 5190  temp%!16=temp%!32
 5200  temp%!12=top%-dragging%*52-4
 5210  temp%!20=top%-dragging%*52-52
 5220  temp%!4=5
 5230  SYS "Wimp_DragBox",,temp%
 5240  IF whichdrag%=notused% THENdragging%+=1000
 5250ENDIF
 5260ENDPROC
 5270:
 5280:
 5290:
 5300:
 5310:
 5320DEFPROCmouse_misc
 5330LOCAL loop%,flags%
 5340IF icon%>14 AND icon%<18 THEN
 5350  !temp%=MiscHandle%
 5360  temp%!12=1<<21
 5370  FOR loop%=15 TO 17
 5380    temp%!4=loop%
 5390    IF icon%=loop% THENtemp%!8=1<<21 ELSEtemp%!8=0
 5400    SYS "Wimp_SetIconState",,temp%
 5410  NEXT
 5420  temp%!4=18
 5430  IF icon%=17 THEN
 5440    temp%!8=(1<<22)+(2<<24)
 5450    temp%!12=(3<<21)+(15<<24)
 5460  ELSE
 5470    temp%!8=7<<24
 5480    temp%!12=(1<<22)+(15<<24)
 5490  ENDIF
 5500  SYS "Wimp_SetIconState",,temp%
 5510ENDIF
 5520IF icon%=2 THEN
 5530  flags%=0
 5540  !temp%=MiscHandle%
 5550  temp%!4=16
 5560  SYS "Wimp_GetIconState",,temp%
 5570  IF ((temp%!24)AND(1<<21))=(1<<21) THENflags%+=%1
 5580  temp%!4=17
 5590  SYS "Wimp_GetIconState",,temp%
 5600  IF ((temp%!24)AND(1<<21))=(1<<21) THENflags%+=%10
 5610  temp%!4=18
 5620  SYS "Wimp_GetIconState",,temp%
 5630  IF ((temp%!24)AND(1<<21))=(1<<21) THENflags%+=%100
 5640  file%?42=flags%
 5650  PROCsavefile(&50523)
 5660ENDIF
 5670IF (icon%=3) OR (icon%=2 AND buttons%=4) THEN
 5680  PROCopennewwindow(CDsHandle%,MiscHandle%,MiscHandle%)
 5690ENDIF
 5700ENDPROC
 5710:
 5720:
 5730:
 5740:
 5750:
 5760DEFPROCmouse_times
 5770LOCAL time%,addr%,max%,write%,b%
 5780CASE icon% OF
 5790  WHEN 9:REM pop up menu
 5800  PROCcreatemenus
 5810  SYS "Wimp_CreateMenu",,tracksmenu%,!block%,block%!4
 5820  
 5830  WHEN 14,15,16,25,26,27:REM drag bars
 5840  !temp%=TimesHandle%
 5850  temp%!4=icon%
 5860  SYS "Wimp_GetIconState",,temp%
 5870  temp%!100=TimesHandle%
 5880  SYS "Wimp_GetWindowState",,temp%+100
 5890  temp%!24=temp%!8+temp%!104+4
 5900  temp%!28=temp%!12+temp%!116+4
 5910  temp%!32=temp%!16+temp%!104-8
 5920  temp%!36=temp%!20+temp%!116-8
 5930  temp%!4=7
 5940  SYS "Wimp_DragBox",,temp%
 5950  dragging%=2000+icon%
 5960  
 5970  WHEN 7,32:REM track adjust
 5980  PROCreadcurrenttracktime
 5990  IF buttons%=1 THENicon%=39-icon%
 6000  IF icon%=7 AND editingtrack%>0 THENPROCsetuptracktimes(editingtrack%-1)
 6010  IF icon%=32 ANDeditingtrack%+1<file%?41 THENPROCsetuptracktimes(editingtrack%+1)
 6020  
 6030  WHEN 33,34,35,36,37,38,39,40,41,42,43,44
 6040  IF buttons%=1 THEN
 6050    IF (icon%MOD2)=1 THEN icon%+=1 ELSEicon%-=1
 6060  ENDIF
 6070  CASE icon% OF
 6080    WHEN 33,34:addr%=sm%:max%=79:write%=17
 6090    WHEN 35,36:addr%=ss%:max%=59:write%=18
 6100    WHEN 37,38:addr%=sf%:max%=74:write%=19
 6110    WHEN 39,40:addr%=em%:max%=79:write%=28
 6120    WHEN 41,42:addr%=es%:max%=59:write%=29
 6130    WHEN 43,44:addr%=ef%:max%=74:write%=30
 6140  ENDCASE
 6150  IF (icon%MOD2)=0 AND VAL($addr%)>0 THEN $addr%=FNdig(VAL($addr%)-1)
 6160  IF (icon%MOD2)=1 AND VAL($addr%)<max% THEN $addr%=FNdig(VAL($addr%)+1)
 6170  SYS "Wimp_GetCaretPosition",,temp%
 6180  IF !temp%=TimesHandle% AND temp%!4=write% THEN
 6190    SYS "Wimp_SetCaretPosition",!temp%,temp%!4,-1,-1,-1,2
 6200  ENDIF
 6210  !temp%=TimesHandle%
 6220  temp%!4=write%
 6230  SYS "Wimp_GetIconState",,temp%:REM temp% is top & right
 6240  temp%!40=TimesHandle%
 6250  temp%!44=write%-3
 6260  SYS "Wimp_GetIconState",,temp%+40:REM temp%+40 is left
 6270  IF write%=19 OR write%=30 THEN
 6280    b%=temp%!8
 6290  ELSE
 6300    temp%!100=TimesHandle%
 6310    temp%!104=write%-2
 6320    SYS "Wimp_GetIconState",,temp%+100
 6330    b%=temp%!120
 6340  ENDIF
 6350  SYS "Wimp_ForceRedraw",TimesHandle%,temp%!48,b%,temp%!16,temp%!20
 6360  
 6370  WHEN 20:REM start track test
 6380  time%=(VAL($sm%)<<16)+(VAL($ss%)<<8)+(VAL($sf%))
 6390  PROCplayCD(time%,FNaddtwoMSF(time%,&400))
 6400  
 6410  WHEN 31:REM end track test
 6420  time%=(VAL($em%)<<16)+(VAL($es%)<<8)+(VAL($ef%))
 6430  PROCplayCD(FNsubtwoMSF(time%,&800),time%)
 6440  
 6450ENDCASE
 6460IF icon%=2 THEN
 6470  PROCreadcurrenttracktime
 6480  !temp%=TimesHandle%
 6490  temp%!4=6
 6500  SYS "Wimp_GetIconState",,temp%
 6510  IF ((temp%!24)AND(1<<21))=0 THEN
 6520    file%?43=((file%?43)OR1)
 6530  ELSE
 6540    file%?43=((file%?43)AND254)
 6550  ENDIF
 6560  PROCsavefile(&50522)
 6570ENDIF
 6580IF (icon%=3) OR (icon%=2 AND buttons%=4) THEN
 6590  PROCopennewwindow(CDsHandle%,TimesHandle%,TimesHandle%)
 6600ENDIF
 6610ENDPROC
 6620:
 6630:
 6640:
 6650:
 6660:
 6670:
 6680:
 6690DEFPROCcheckdrag
 6700IF dragging%<2000 THENPROCcheckdrag_prog ELSEPROCcheckdrag_times
 6710ENDPROC
 6720:
 6730:
 6740DEFPROCcheckdrag_prog
 6750LOCAL top%,bottom%,y%
 6760!temp%=ProgPane1%
 6770SYS "Wimp_GetWindowState",,temp%
 6780SYS "Wimp_GetPointerInfo",,temp%+100
 6790y%=temp%!104
 6800top%=temp%!16
 6810bottom%=temp%!8
 6820change%=0
 6830IF y%<top% AND y%>top%-80 THENchange%=80-top%+y%
 6840IF y%>bottom% AND y%<bottom%+64 THENchange%=y%-bottom%-64
 6850change%=(change%AND(NOT3))
 6860IF change%<>0 THEN
 6870  temp%!24+=change%
 6880  SYS "Wimp_OpenWindow",,temp%
 6890ENDIF
 6900ENDPROC
 6910:
 6920:
 6930DEFPROCcheckdrag_times
 6940LOCAL addr%,val%,l%,b%,r%,t%
 6950!temp%=TimesHandle%
 6960temp%!4=dragging%-2000
 6970SYS "Wimp_GetIconState",,temp%
 6980l%=temp%!8
 6990SYS "Wimp_GetPointerInfo",,temp%+100
 7000temp%!140=TimesHandle%
 7010SYS "Wimp_GetWindowState",,temp%+140
 7020val%=(temp%!100-(temp%!8+temp%!144)-4)DIV4
 7030CASE dragging% OF
 7040  WHEN 2014:addr%=sm%
 7050  WHEN 2015:addr%=ss%
 7060  WHEN 2016:addr%=sf%
 7070  WHEN 2025:addr%=em%
 7080  WHEN 2026:addr%=es%
 7090  WHEN 2027:addr%=ef%
 7100ENDCASE
 7110IF VAL($addr%)<>val% THEN
 7120  $addr%=FNdig(val%)
 7130  REM adjust carrot
 7140  SYS "Wimp_GetCaretPosition",,temp%
 7150  IF !temp%=TimesHandle% AND temp%!4=dragging%-1997 THEN
 7160    SYS "Wimp_GetIconState",,temp%
 7170    SYS "Wimp_SetCaretPosition",!temp%,temp%!4,-1,-1,-1,LEN($(temp%!28))
 7180  ENDIF
 7190  temp%!100=TimesHandle%
 7200  temp%!104=dragging%-1997
 7210  SYS "Wimp_GetIconState",,temp%+100
 7220  r%=temp%!116
 7230  t%=temp%!120
 7240  IF dragging%=2016 OR dragging%=2027 THEN
 7250    b%=temp%!112
 7260  ELSE
 7270    temp%!104=dragging%-1999
 7280    SYS "Wimp_GetIconState",,temp%+100
 7290    b%=temp%!120
 7300  ENDIF
 7310  SYS "Wimp_ForceRedraw",TimesHandle%,l%,b%,r%,t%
 7320ENDIF
 7330ENDPROC
 7340:
 7350:
 7360:
 7370:
 7380DEFPROCdragfinished
 7390IF dragging%<2000 THENPROCdragfinished_prog
 7400dragging%=-1
 7410ENDPROC
 7420:
 7430DEFPROCdragfinished_prog
 7440LOCAL endpos%
 7450SYS "Wimp_GetPointerInfo",,temp%
 7460IF temp%!12=ProgHandle% THEN
 7470  temp%!100=ProgPane1%
 7480  SYS "Wimp_GetWindowState",,temp%+100
 7490  IF temp%!4>=temp%!116 THEN
 7500    temp%!4=temp%!116
 7510    temp%!12=ProgPane1%
 7520  ENDIF
 7530ENDIF
 7540CASE temp%!12 OF
 7550  WHEN ProgPane2%:IF dragging%<1000 THENPROCdragoutofseq
 7560  WHEN ProgPane1%
 7570    temp%!100=ProgPane1%
 7580    SYS "Wimp_GetWindowState",,temp%+100
 7590    endpos%=(temp%!116-temp%!124+22-temp%!4)DIV52
 7600    IF endpos%<0 THENendpos%=0
 7610    IF endpos%>noinprog% THENendpos%=noinprog%
 7620    IF dragging%<1000 THENPROCdragaroundseq ELSEPROCdragintoseq
 7630ENDCASE
 7640ENDPROC
 7650:
 7660:
 7670DEFPROCdragaroundseq
 7680LOCAL change%,offset%,startpos%,loop%
 7690startpos%=dragging%
 7700change%=prog%?startpos%
 7710IF startpos%<>endpos%-1 THEN
 7720  IF startpos%<endpos%-1 THEN
 7730    endpos%-=1
 7740    FOR loop%=prog%+startpos% TO prog%+endpos%-1
 7750      ?loop%=loop%?1
 7760    NEXT
 7770  ENDIF
 7780  IF startpos%>endpos% THEN
 7790    FOR loop%=prog%+startpos% TO prog%+endpos%+1 STEP-1
 7800      ?loop%=loop%?-1
 7810    NEXT
 7820  ENDIF
 7830  prog%?endpos%=change%
 7840ENDIF
 7850SYS "Wimp_ForceRedraw",ProgPane1%,0,-6000,1000,0
 7860ENDPROC
 7870:
 7880:
 7890DEFPROCdragintoseq
 7900LOCAL startpos%,change%,loop%
 7910startpos%=dragging%-1000
 7920change%=notused%?startpos%
 7930noinnotused%-=1
 7940FOR loop%=startpos% TO noinnotused%
 7950  notused%?loop%=?(notused%+loop%+1)
 7960NEXT
 7970noinprog%+=1
 7980FOR loop%=noinprog% TO endpos%+1 STEP-1
 7990  prog%?loop%=?(prog%+loop%-1)
 8000NEXT
 8010prog%?endpos%=change%
 8020PROCadjustbothprogheights
 8030ENDPROC
 8040:
 8050:
 8060DEFPROCdragoutofseq
 8070LOCAL change%,loop%,flag%,startpos%
 8080startpos%=dragging%
 8090change%=prog%?startpos%
 8100noinprog%-=1
 8110FOR loop%=startpos% TO noinprog%
 8120  prog%?loop%=?(prog%+loop%+1)
 8130NEXT
 8140noinnotused%+=1
 8150loop%=noinnotused%
 8160flag%=FALSE
 8170WHILE NOTflag% 
 8180  notused%?loop%=?(notused%+loop%-1)
 8190  IF notused%?loop%<change% AND notused%?loop%>0 THEN
 8200    notused%?loop%=change%
 8210    flag%=TRUE
 8220  ENDIF
 8230  loop%-=1
 8240  IF loop%=0 AND flag%=FALSE THEN
 8250    flag%=TRUE
 8260    ?notused%=change%
 8270  ENDIF
 8280ENDWHILE
 8290PROCadjustbothprogheights
 8300ENDPROC
 8310:
 8320:
 8330DEFPROCadjustbothprogheights
 8340!temp%=ProgPane1%
 8350SYS "Wimp_GetWindowState",,temp%
 8360temp%!108=temp%!12-temp%!4
 8370temp%!100=0
 8380temp%!112=0
 8390temp%!104=-(52*noinprog%+16)
 8400IF temp%!104>-ProgPane1Height% THENtemp%!104=-ProgPane1Height%
 8410SYS "Wimp_SetExtent",ProgPane1%,temp%+100
 8420SYS "Wimp_OpenWindow",,temp%
 8430!temp%=ProgPane2%
 8440SYS "Wimp_GetWindowState",,temp%
 8450temp%!108=temp%!12-temp%!4
 8460temp%!100=0
 8470temp%!112=0
 8480temp%!104=-(52*noinnotused%+16)
 8490IF temp%!104>-ProgPane2Height% THENtemp%!104=-ProgPane2Height%
 8500SYS "Wimp_SetExtent",ProgPane2%,temp%+100
 8510SYS "Wimp_OpenWindow",,temp%
 8520SYS "Wimp_ForceRedraw",ProgPane1%,0,-6000,1000,0
 8530SYS "Wimp_ForceRedraw",ProgPane2%,0,-6000,1000,0
 8540ENDPROC
 8550:
 8560:
 8570:
 8580:
 8590:
 8600DEFPROCkeypress(window%,icon%,key%)
 8610used%=FALSE
 8620CASE window% OF
 8630  WHEN NamesHandle%:PROCkey_nameshandle
 8640  WHEN NamesPane%:PROCkey_namespane
 8650  WHEN TimesHandle%:PROCkey_timeshandle
 8660ENDCASE
 8670IF NOTused% THENSYS "Wimp_ProcessKey",key%
 8680ENDPROC
 8690:
 8700:
 8710:
 8720:
 8730DEFPROCkey_nameshandle
 8740LOCAL icon%
 8750IF key%<255 THENused%=TRUE
 8760IF key%<32 THENused%=FALSE
 8770IF key%=8 OR key%=10 OR key%=13 OR key%=21 THENused%=TRUE
 8780CASE key%-&180 OF
 8790  WHEN &a,&b,&c,&d,&e,&f,&1a,&1b,&1c,&1d,&2b,&2c,&2d:used%=TRUE
 8800ENDCASE
 8810icon%=-1
 8820IF key%=&18f OR key%=&19a THENicon%=(file%?41)-1
 8830IF key%=&18e OR key%=&18a OR key%=10 OR key%=13 THENicon%=0
 8840IF icon%>-1 THEN
 8850  SYS "Wimp_SetCaretPosition",NamesPane%,icon%,-1,-1,-1,LEN(FNreadstring(file%+44+44*icon%))
 8860  !temp%=NamesPane%
 8870  SYS "Wimp_GetWindowState",,temp%
 8880  temp%!24=-icon%*10000
 8890  SYS "Wimp_OpenWindow",,temp%
 8900ENDIF
 8910ENDPROC
 8920:
 8930:
 8940DEFPROCkey_namespane
 8950LOCAL scroll%
 8960IF key%<255 THENused%=TRUE
 8970IF key%<32 THENused%=FALSE
 8980IF key%=8 OR key%=10 OR key%=13 OR key%=21 THENused%=TRUE
 8990CASE key%-&180 OF
 9000  WHEN &a,&b,&c,&d,&e,&f,&1a,&1b,&1c,&1d,&2b,&2c,&2d:used%=TRUE
 9010ENDCASE
 9020scroll%=0
 9030IF key%=&18f OR key%=&19a THEN
 9040  IF icon%=0 THEN
 9050    SYS "Wimp_SetCaretPosition",NamesHandle%,0,-1,-1,-1,LEN(FNreadstring(file%))
 9060  ELSE
 9070    scroll%=52
 9080  ENDIF
 9090ENDIF
 9100IF key%=&18e OR key%=&18a OR key%=10 OR key%=13 THEN
 9110  IF icon%=(file%?41)-1 THEN
 9120    IF key%>&180 THEN
 9130      SYS "Wimp_SetCaretPosition",NamesHandle%,0,-1,-1,-1,LEN(FNreadstring(file%))
 9140    ELSE
 9150      SYS "Wimp_SetCaretPosition",NamesPane%,icon%,-1,-1,-1,LEN(FNreadstring(file%+44+44*icon%))
 9160    ENDIF
 9170  ELSE
 9180    scroll%=-52
 9190  ENDIF
 9200ENDIF
 9210IF scroll%<>0 THEN
 9220  !temp%=NamesPane%
 9230  SYS "Wimp_GetWindowState",,temp%
 9240  temp%!24+=scroll%
 9250  SYS "Wimp_OpenWindow",,temp%
 9260ENDIF
 9270ENDPROC
 9280:
 9290:
 9300:
 9310DEFPROCkey_timeshandle
 9320LOCAL bottom%
 9330IF key%=8 OR key%=10 OR key%=13 OR key%=21 OR key%=127 THENused%=TRUE
 9340CASE key%-&180 OF
 9350  WHEN &a,&b,&c,&d,&e,&f,&1a,&1b,&1c,&1d,&2b,&2c,&2d:used%=TRUE
 9360ENDCASE
 9370key%-=48
 9380temp%!100=window%
 9390temp%!104=icon%
 9400SYS "Wimp_GetIconState",,temp%+100
 9410IF key%>-1 AND key%<10 THEN
 9420  SYS "Wimp_GetCaretPosition",,temp%
 9430  CASE icon% OF
 9440    WHEN 17,18,28,29:PROCkey_minssecs(icon%,8)
 9450    WHEN 19,30:PROCkey_frames(icon%)
 9460  ENDCASE
 9470ENDIF
 9480key%+=48
 9490IF (used%) AND ((key%>47 AND key%<58) OR key%=8 OR key%=21 OR key%=127) THEN
 9500  REM redraw - temp+100 contains right and top icon
 9510  !temp%=window%
 9520  temp%!4=icon%-3
 9530  SYS "Wimp_GetIconState",,temp%:REM temp contains left icon
 9540  IF icon%=19 OR icon%=30 THEN
 9550    bottom%=temp%!112
 9560  ELSE
 9570    temp%!40=window%
 9580    temp%!44=icon%-2
 9590    SYS "Wimp_GetIconState",,temp%+40
 9600    bottom%=temp%!60
 9610  ENDIF
 9620  SYS "Wimp_ForceRedraw",TimesHandle%,temp%!8,bottom%,temp%!116,temp%!120
 9630ENDIF
 9640ENDPROC
 9650:
 9660:
 9670DEFPROCkey_minssecs(icon%,max%)
 9680CASE LEN($(temp%!128)) OF
 9690  WHEN 0
 9700  $(temp%!128)=STR$key%
 9710  SYS "Wimp_SetCaretPosition",window%,icon%,-1,-1,-1,1
 9720  used%=TRUE
 9730  WHEN 1
 9740  IF temp%!20=0 THEN
 9750    IF key%<max% THEN
 9760      $(temp%!128)=STR$key%+$(temp%!128)
 9770      SYS "Wimp_SetCaretPosition",window%,icon%,-1,-1,-1,1
 9780      used%=TRUE
 9790    ENDIF
 9800  ELSE
 9810    IF VAL($(temp%!128))<max% THEN
 9820      $(temp%!128)+=STR$key%
 9830      SYS "Wimp_SetCaretPosition",window%,icon%,-1,-1,-1,2
 9840      used%=TRUE
 9850    ENDIF
 9860  ENDIF
 9870ENDCASE
 9880ENDPROC
 9890:
 9900DEFPROCkey_frames(icon%)
 9910CASE LEN($(temp%!128)) OF
 9920  WHEN 0
 9930  $(temp%!128)=STR$key%
 9940  SYS "Wimp_SetCaretPosition",window%,icon%,-1,-1,-1,1
 9950  used%=TRUE
 9960  WHEN 1
 9970  IF temp%!20=0 THEN
 9980    IF (key%<7) OR (key%=7 AND VAL($(temp%!128))<5) THEN
 9990      $(temp%!128)=STR$key%+$(temp%!128)
10000      SYS "Wimp_SetCaretPosition",window%,icon%,-1,-1,-1,1
10010      used%=TRUE
10020    ENDIF
10030  ELSE
10040    IF (VAL($(temp%!128))<7) OR (VAL($(temp%!128))=7 AND key%<5) THEN
10050      $(temp%!128)+=STR$key%
10060      SYS "Wimp_SetCaretPosition",window%,icon%,-1,-1,-1,2
10070      used%=TRUE
10080    ENDIF
10090  ENDIF
10100ENDCASE
10110ENDPROC
10120:
10130:
10140:
10150:
10160:
10170:
10180:
10190:
10200:
10210:
10220:
10230:
10240:
10250:
10260REM opens new% in the position of old%, using top% to work out where in the stack
10270DEFPROCopennewwindow(new%,old%,top%)
10280!temp%=top%
10290SYS "Wimp_GetWindowState",,temp%
10300!block%=old%
10310SYS "Wimp_GetWindowState",,block%
10320PROCclosewindow
10330!block%=new%
10340block%!24=0
10350block%!28=temp%!28
10360PROCopenwindow
10370ENDPROC
10380:
10390:
10400:
10410:
10420:
10430:
10440:
10450:
10460:
10470:
10480:
10490:
10500:
10510:
10520:
10530DEFPROCopentracknames
10540LOCAL cd%,loop%,height%
10550loop%=0:cd%=-1
10560WHILE cd%=-1 AND loop%<cds%
10570  IF ((?(CDs%+loop%*64+52))AND1)=1 THENcd%=loop%
10580  loop%+=1
10590ENDWHILE
10600IF cd%>-1 THEN
10610  SYS "OS_File",16,"FlexiCD:CDs."+$(CDs%+cd%*64+41),file%,0
10620  height%=52*(file%?41)+16
10630  IF height%<NamesPaneHeight% THENheight%=NamesPaneHeight%
10640  !temp%=NamesPane%
10650  SYS "Wimp_GetWindowState",,temp%
10660  temp%!8=temp%!12-temp%!4
10670  !temp%=0
10680  temp%!4=-height%
10690  temp%!12=0
10700  SYS "Wimp_SetExtent",NamesPane%,temp%
10710  !temp%=NamesPane%
10720  temp%!12=1<<23
10730  FOR loop%=2 TO 10
10740    IF loop%>file%?41 THEN temp%!8=1<<23 ELSEtemp%!8=0
10750    temp%!4=loop%
10760    SYS "Wimp_SetIconState",,temp%
10770  NEXT
10780  IF file%?41<99 THEN
10790    temp%!4=file%?41
10800    temp%!8=1<<23
10810    SYS "Wimp_SetIconState",,temp%
10820  ENDIF
10830  PROCopennewwindow(NamesHandle%,CDsHandle%,CDsPane%)
10840  SYS "Wimp_SetCaretPosition",NamesHandle%,0,-1,-1,-1,LEN(FNreadstring(file%))
10850  editingcd%=cd%
10860ENDIF
10870ENDPROC
10880:
10890:
10900:
10910:
10920DEFPROCopenprogseq
10930LOCAL cd%,loop%,offset%,used%
10940loop%=0:cd%=-1
10950WHILE cd%=-1 AND loop%<cds%
10960  IF ((?(CDs%+loop%*64+52))AND1)=1 THENcd%=loop%
10970  loop%+=1
10980ENDWHILE
10990IF cd%>-1 THEN
11000  SYS "OS_File",16,"FlexiCD:CDs."+$(CDs%+cd%*64+41),file%,0
11010  noinprog%=0
11020  REPEAT
11030    prog%?noinprog%=?(file%+4400+noinprog%)
11040    noinprog%+=1
11050  UNTIL?(file%+4400+noinprog%)=0
11060  prog%?noinprog%=0
11070  noinnotused%=0
11080  FOR loop%=1 TO file%?41
11090    used%=FALSE
11100    FOR offset%=0 TO noinprog%-1
11110      IF prog%?offset%=loop% THENused%=TRUE
11120    NEXT
11130    IF NOTused% THEN notused%?noinnotused%=loop%:noinnotused%+=1
11140  NEXT
11150  notused%?noinnotused%=0
11160  height%=52*noinprog%+16
11170  IF height%<ProgPane1Height% THENheight%=ProgPane1Height%
11180  !temp%=ProgPane1%
11190  SYS "Wimp_GetWindowState",,temp%
11200  temp%!8=temp%!12-temp%!4
11210  !temp%=0
11220  temp%!4=-height%
11230  temp%!12=0
11240  SYS "Wimp_SetExtent",ProgPane1%,temp%
11250  height%=52*noinnotused%+16
11260  IF height%<ProgPane2Height% THENheight%=ProgPane2Height%
11270  !temp%=ProgPane2%
11280  SYS "Wimp_GetWindowState",,temp%
11290  temp%!8=temp%!12-temp%!4
11300  !temp%=0
11310  temp%!4=-height%
11320  temp%!12=0
11330  SYS "Wimp_SetExtent",ProgPane2%,temp%
11340  PROCopennewwindow(ProgHandle%,CDsHandle%,CDsPane%)
11350  editingcd%=cd%
11360ENDIF
11370ENDPROC
11380:
11390:
11400:
11410:
11420:
11430DEFPROCopenmisc
11440LOCAL cd%,loop%,time%,start%,end%,track%,tracks%,flags%
11450loop%=0:cd%=-1
11460WHILE cd%=-1 AND loop%<cds%
11470  IF ((?(CDs%+loop%*64+52))AND1)=1 THENcd%=loop%
11480  loop%+=1
11490ENDWHILE
11500IF cd%>-1 THEN
11510  SYS "OS_File",16,"FlexiCD:CDs."+$(CDs%+cd%*64+41),file%,0
11520  $notracks%=STR$(file%?41)
11530  loop%=4500
11540  time%=0
11550  WHILE file%!loop%>255
11560    track%=FNsubtwoMSF(!(file%+loop%+4),(file%!loop%)>>>8)
11570    time%=FNaddtwoMSF(time%,track%)
11580    time%=FNaddtwoMSF(time%,1)
11590    loop%+=8
11600  ENDWHILE
11610  time%=FNsubtwoMSF(time%,1)
11620  $trackstime%=FNdig(time%>>16)+":"+FNdig((time%>>8)AND255)+":"+FNdig(time%AND255)
11630  tracks%=0
11640  loop%=4400
11650  time%=0
11660  WHILE file%?loop%>0
11670   track%=FNsubtwoMSF(!(file%+4496+(file%?loop%)*8),(!(file%+4492+(file%?loop%)*8))>>>8)
11680   time%=FNaddtwoMSF(time%,track%)
11690   time%=FNaddtwoMSF(time%,1)
11700   tracks%+=1
11710   loop%+=1
11720  ENDWHILE
11730  time%=FNsubtwoMSF(time%,1)
11740  $noprog%=STR$(tracks%)
11750  $progtime%=FNdig(time%>>16)+":"+FNdig((time%>>8)AND255)+":"+FNdig(time%AND255)
11760  flags%=file%?42
11770  REM repeat
11780  !temp%=MiscHandle%
11790  temp%!4=18
11800  temp%!8=((flags%AND%100)<<19)+(7<<24)
11810  temp%!12=(3<<21)+(15<<24)
11820  SYS "Wimp_SetIconState",,temp%
11830  REM prog
11840  temp%!4=16
11850  temp%!8=(flags%AND%1)<<21
11860  temp%!12=1<<21
11870  SYS "Wimp_SetIconState",,temp%
11880  REM shuffle
11890  temp%!4=17
11900  temp%!8=(flags%AND%10)<<20
11910  SYS "Wimp_SetIconState",,temp%
11920  temp%!4=18
11930  IF (flags%AND%10)=%10 THEN
11940    temp%!8=(1<<22)+(2<<24)
11950    temp%!12=(1<<22)+(15<<24)
11960    SYS "Wimp_SetIconState",,temp%
11970  ENDIF
11980  REM normal
11990  temp%!4=15
12000  temp%!12=1<<21
12010  IF (flags%AND%11)=0 THEN temp%!8=1<<21 ELSEtemp%!8=0
12020  SYS "Wimp_SetIconState",,temp%
12030  PROCopennewwindow(MiscHandle%,CDsHandle%,CDsPane%)
12040  editingcd%=cd%
12050ENDIF
12060ENDPROC
12070:
12080:
12090DEFFNaddtwoMSF(A%,B%)
12100LOCAL C%,D%,E%,F%,G%,H%
12110C%=A%AND255:F%=B%AND255
12120D%=(A%>>8)AND255:G%=(B%>>8)AND255
12130E%=A%>>16:H%=B%>>16
12140C%+=F%:IF C%>74 THENC%-=75:D%+=1:IF D%=60 THEND%=0:E%+=1
12150D%+=G%:IF D%>59 THEND%-=60:E%+=1
12160E%+=H%
12170=(E%<<16)+(D%<<8)+C%
12180:
12190DEFFNsubtwoMSF(A%,B%)
12200LOCAL C%,D%,E%,F%,G%,H%
12210C%=A%AND255:F%=B%AND255
12220D%=(A%>>8)AND255:G%=(B%>>8)AND255
12230E%=A%>>16:H%=B%>>16
12240C%-=F%:IF C%<0 THENC%+=75:D%-=1:IF D%=-1 THEND%=59:E%-=1
12250D%-=G%:IF D%<0 THEND%+=60:E%-=1
12260E%-=H%
12270=(E%<<16)+(D%<<8)+C%
12280:
12290:
12300:
12310:
12320:
12330:
12340:
12350:
12360DEFPROCopentracktimes
12370LOCAL cd%,loop%
12380loop%=0:cd%=-1
12390WHILE cd%=-1 AND loop%<cds%
12400  IF ((?(CDs%+loop%*64+52))AND1)=1 THENcd%=loop%
12410  loop%+=1
12420ENDWHILE
12430IF cd%>-1 THEN
12440  SYS "OS_File",16,"FlexiCD:CDs."+$(CDs%+cd%*64+41),file%,0
12450  !temp%=TimesHandle%
12460  temp%!4=6
12470  temp%!8=(((file%?43)AND1)EOR1)<<21
12480  temp%!12=1<<21
12490  SYS "Wimp_SetIconState",,temp%
12500  PROCsetuptracktimes(0)
12510  PROCopennewwindow(TimesHandle%,CDsHandle%,CDsPane%)
12520  SYS "Wimp_SetCaretPosition",TimesHandle%,17,-1,-1,-1,LEN($sm%)
12530  editingcd%=cd%
12540ENDIF
12550ENDPROC
12560:
12570:
12580:
12590DEFPROCsetuptracktimes(track%)
12600LOCAL start%,end%,index%
12610editingtrack%=track%
12620$trackname%=FNreadstring(file%+44+44*track%)
12630start%=(!(file%+4500+track%*8))>>>8
12640end%=!(file%+4504+track%*8)
12650$sm%=FNdig(start%>>16)
12660$ss%=FNdig((start%>>8)AND255)
12670$sf%=FNdig(start%AND255)
12680$em%=FNdig(end%>>16)
12690$es%=FNdig((end%>>8)AND255)
12700$ef%=FNdig(end%AND255)
12710SYS "Wimp_GetCaretPosition",,temp%
12720IF !temp%=TimesHandle% THEN
12730  index%=temp%!20
12740  SYS "Wimp_GetIconState",,temp%
12750  SYS "Wimp_SetCaretPosition",!temp%,temp%!4,-1,-1,-1,LEN($(temp%!28))
12760ENDIF
12770!temp%=TimesHandle%
12780temp%!4=14
12790SYS "Wimp_GetIconState",,temp%
12800temp%!100=TimesHandle%
12810temp%!104=30
12820SYS "Wimp_GetIconState",,temp%+100
12830SYS "Wimp_ForceRedraw",TimesHandle%,temp%!8,temp%!112,temp%!116,temp%!20
12840!temp%=TimesHandle%
12850temp%!4=8
12860temp%!8=0
12870temp%!12=0
12880SYS "Wimp_SetIconState",,temp%
12890ENDPROC
12900:
12910:
12920DEFPROCreadcurrenttracktime
12930LOCAL start%,end%
12940start%=((VAL($sm%)<<16)+(VAL($ss%)<<8)+(VAL($sf%)))<<8
12950end%=(VAL($em%)<<16)+(VAL($es%)<<8)+(VAL($ef%))
12960!(file%+4500+editingtrack%*8)=start%
12970!(file%+4504+editingtrack%*8)=end%
12980ENDPROC
12990:
13000:
13010:
13020:
13030:
13040:
13050:
13060:
13070DEFPROCmenusel(A%,B%)
13080LOCAL adj%,loop%,offset%,done%,from%,to%
13090SYS "Wimp_GetPointerInfo",,temp%
13100IF ((temp%!8)AND1)=1 THENadj%=TRUE ELSEadj%=FALSE
13110A%-=2
13120IF A%=-2 THEN
13130  SYS "Hourglass_On"
13140  IF B%>-1 THEN
13150    IF file%?41=99 THEN
13160      !temp%=0
13170      $(temp%+4)=FNtoomanytracks
13180      SYS "Wimp_ReportError",temp%,1,FNbanner
13190      B%=-2
13200    ELSE
13210      IF B%<=editingtrack% THENeditingtrack%+=1
13220      REM shift up track info in file
13230      FOR loop%=file%?41+1 TO B% STEP-1
13240        IF loop%>0 THEN
13250          !(file%+4500+loop%*8)=!(file%+4492+loop%*8)
13260          !(file%+4504+loop%*8)=!(file%+4496+loop%*8)
13270          FOR offset%=0 TO 43 STEP4
13280            !(file%+44+loop%*44+offset%)=!(file%+loop%*44+offset%)
13290          NEXT
13300        ENDIF        
13310      NEXT
13320      PROCputstring(file%+44+B%*44,FNuntitledtrack)
13330      REM adjust prog sequence for inserting track
13340      loop%=0
13350      WHILE ?(file%+4400+loop%)>0
13360        IF ?(file%+4400+loop%)>B% THEN ?(file%+4400+loop%)+=1
13370        loop%+=1
13380      ENDWHILE
13390      file%?41+=1
13400      IF adj% THENPROCcreatemenus    
13410    ENDIF
13420  ENDIF
13430  A%=B%
13440  SYS "Hourglass_Off"
13450ENDIF
13460IF A%=-1 THEN
13470  IF file%?41=1 THEN
13480    !temp%=0
13490    $(temp%+4)=FNonetrack
13500    SYS "Wimp_ReportError",temp%,1,FNbanner
13510  ELSE
13520    FOR loop%=B% TO file%?41-1
13530        !(file%+4500+loop%*8)=!(file%+4508+loop%*8)
13540        !(file%+4504+loop%*8)=!(file%+4512+loop%*8)
13550      FOR offset%=0 TO 43 STEP3
13560        !(file%+44+loop%*44+offset%)=!(file%+88+loop%*44+offset%)
13570      NEXT
13580    NEXT
13590    REM adjust prog sequence for deleting track
13600    changed%=FALSE
13610    from%=4400
13620    to%=4400
13630    REPEAT
13640      IF file%?from%<=B%THENfile%?to%=file%?from%:IF file%?to%=0 THENchanged%=TRUE
13650      IF file%?from%=B%+1 THENto%-=1
13660      IF file%?from%>B%+1 THENfile%?to%=file%?from%-1
13670      from%+=1
13680      to%+=1
13690    UNTILchanged%
13700    file%?41-=1
13710    IF B%<editingtrack% THEN editingtrack%-=1
13720    IF B%=editingtrack% THEN PROCsetuptracktimes(0)
13730    IF adj% THENPROCcreatemenus
13740  ENDIF
13750ENDIF
13760IF A%>-1 THEN
13770  PROCreadcurrenttracktime
13780  PROCsetuptracktimes(A%)
13790ENDIF
13800IF adj% THENSYS "Wimp_CreateMenu",,tracksmenu%
13810ENDPROC
13820:
13830:
13840:
13850:
13860:
13870:
13880DEFPROCcreatemenus
13890LOCAL m1%,m2%,w1%,w2%,l%,loop%
13900$tracksmenu%=FNtracks:$newtrackmenu%=FNbefore:$deletemenu%=FNdelete
13910w1%=LEN(FNtracks)-2  :w2%=LEN(FNbefore)-2    :w3%=LEN(FNdelete)-2
13920tracksmenu%!12=&70207:newtrackmenu%!12=&70207:deletemenu%!12=&70207
13930tracksmenu%!20=44    :newtrackmenu%!20=44    :deletemenu%!20=44
13940tracksmenu%!24=0     :newtrackmenu%!24=0     :deletemenu%!24=0
13950tracksmenu%!28=0
13960tracksmenu%!32=newtrackmenu%
13970tracksmenu%!36=&7000021
13980$(tracksmenu%+40)=FNnewtrack
13990tracksmenu%!52=2
14000tracksmenu%!56=deletemenu%
14010tracksmenu%!60=&7000021
14020$(tracksmenu%+64)=FNdelitem
14030IF LEN(FNnewtrack)+1>w1% THENw1%=LEN(FNnewtrack)+1
14040IF LEN(FNdelitem)+1>w3% THENw3%=LEN(FNdelitem)+1
14050m1%=tracksmenu%+76
14060m2%=newtrackmenu%+28
14070m3%=deletemenu%+28
14080FOR loop%=1 TO file%?41
14090  !m1%=0               :!m2%=0               :!m3%=0
14100  m1%!4=-1             :m2%!4=-1             :m3%!4=-1
14110  m1%!8=&7000121       :m2%!8=&7000121       :m3%!8=&7000121
14120  m1%!12=file%+loop%*44:m2%!12=file%+loop%*44:m3%!12=file%+loop%*44
14130  m1%!16=-1            :m2%!16=-1            :m3%!16=-1
14140  m1%!20=40            :m2%!20=40            :m3%!20=40
14150  l%=LEN(FNreadstring(file%+loop%*44))+1
14160  IF l%>w1% THENw1%=l%
14170  IF l%>w2% THENw2%=l%
14180  IF l%>w3% THENw3%=l%
14190  m1%+=24
14200  m2%+=24
14210  m3%+=24
14220NEXT
14230!(m1%-24)=&80
14240!(m2%-24)=2
14250!(m3%-24)=&80
14260!m2%=&80
14270m2%!4=-1
14280m2%!8=&7000021
14290$(m2%+12)=FNatend
14300IF LEN(FNatend)+1>w2% THENw2%=LEN(FNatend)+1
14310tracksmenu%!16=w1%*16
14320newtrackmenu%!16=w2%*16
14330deletemenu%!16=w3%*16
14340ENDPROC
14350:
14360:
14370:
14380:
14390:
14400DEFPROCplayCD(start%,end%)
14410LOCAL err%,loop%,D%,flags%,drive%,CD%,cd$
14420cd$=$(CDs%+editingcd%*64+41)
14430IF LEFT$(cd$,1)="X" THENcd$=RIGHT$(cd$,8)
14440CD%=(EVAL("&"+LEFT$(cd$,2))<<16)+(EVAL("&"+MID$(cd$,4,2))<<8)+(EVAL("&"+RIGHT$(cd$,2)))
14450err%=FALSE
14460drive%=-1
14470LOCAL ERROR
14480ON ERROR LOCAL:err%=TRUE:PROCplayCD_error
14490IF NOT err% THEN
14500  loop%=0
14510  WHILE loop%<4 AND drive%=-1
14520    SYS "CDFS_ConvertDriveToDevice",loop% TO ,D%
14530    IF D%=-1 THEN generate an error
14540    !temp%=(D% AND 7)
14550    temp%!4=(D% AND &18)>>>3
14560    temp%!8=(D% AND &E0)>>>5
14570    temp%!12=(D% AND &FF00)>>>8
14580    temp%!16=(D%>>>16)
14590    SYS "XCD_DiscUsed",1,temp%+20,,,,,,temp% TO ;flags%
14600    IF (flags% AND 1)=0 THEN
14610      IF temp%!20=CD% THENdrive%=loop%
14620    ENDIF
14630    loop%+=1
14640  ENDWHILE
14650  IF drive%=-1 THEN generate another error
14660  SYS "XFlexiCD_Stop",drive%,0
14670  SYS "XCD_PlayAudio",1,start%,end%,,,,,temp% TO ;flags%
14680  IF (flags% AND 1)=1 THEN
14690    temp%!100=0
14700    $(temp%+104)=FNbadtimes
14710    SYS "Wimp_ReportError",temp%+100,1,FNbanner
14720  ENDIF
14730ENDIF
14740RESTORE ERROR
14750ENDPROC
14760:
14770DEFPROCplayCD_error
14780temp%!100=0
14790$(temp%+104)=FNinsertCD($(CDs%+64*editingcd%))
14800SYS "Wimp_ReportError",temp%+100,17,FNmsg+FNbanner
14810ENDPROC

%� FlexiCDEditor LEN Andrew Booker
*� only to be distributed with !FlexiCD
 ț "FlexiCD:Editor.Messages"
( �:�0,�initerror(�$,Þ):�
2:
<:
F!� ***************************
P#largestdef%=9200:indirlen%=7300
Z!� ***************************
d:
nș "Hourglass_On"
xP� block% largestdef%,indir% indirlen%,temp% 255,filedesc% 15,task% 4,msgs% 3
�'� file% 5300,prog% 100,notused% 100
�7� notracks% 3,trackstime% 10,noprog% 3,progtime% 10
�7� trackname% 40,sm% 3,ss% 3,sf% 3,em% 3,es% 3,ef% 3
�� smi% 96,emi% 96
�H� tracksmenu% 27+24*101,newtrackmenu% 27+24*100,deletemenu% 27+24*99
�7ssi%=smi%+32:sfi%=ssi%+32:esi%=emi%+32:efi%=esi%+32
�endindir%=indir%+indirlen%
�$task%="TASK":!msgs%=0
�1ș "Wimp_Initialise",310,!task%,�banner,msgs%
�
CDs%=�
�Cș "XOS_ReadVarVal","FlexiCD$InitEdit",temp%,1<<31,0 � ,,check%
�� check%=0 �
�  initedit$=""
�
@  ș "OS_ReadVarVal","FlexiCD$InitEdit",temp%,255,0 � ,,len%
  � !temp%>0 �
"B    initedit$=�two(temp%?2)+"."+�two(temp%?1)+"."+�two(?temp%)
,  �
6    initedit$=""
@  �
J7  ș "OS_SetVarVal","FlexiCD$InitEdit",temp%,-1,0,0
T�
^�loadallCDs
h6ș "Wimp_OpenTemplate",,"FlexiCD:Editor.Templates"
r0dummy%=0:CDsPaneHeight%=0:NamesPaneHeight%=0
|<ProgPane1Height%=0:ProgPane2Height%=0:TimesPaneHeight%=0
�*CDsHandle%=�loadtemplate("cds",dummy%)
�4CDsPane%=�loadtemplate("cd_pane",CDsPaneHeight%)
�.NamesHandle%=�loadtemplate("names",dummy%)
�;NamesPane%=�loadtemplate("names_pane",NamesPaneHeight%)
�,ProgHandle%=�loadtemplate("prog",dummy%)
�;ProgPane1%=�loadtemplate("prog_pane1",ProgPane1Height%)
�;ProgPane2%=�loadtemplate("prog_pane2",ProgPane2Height%)
�.TimesHandle%=�loadtemplate("times",dummy%)
�,MiscHandle%=�loadtemplate("misc",dummy%)
�ș "Wimp_CloseTemplate"
�quit%=�
�dragging%=-1
�C!block%=CDsHandle%:ș "Wimp_GetWindowState",,block%:�openwindow
ș "Hourglass_Off"
:
��error:� cancel% �quit%=�
&ȕ � quit%
05  ș "Wimp_Poll",-(dragging%=-1),block% � reason%
:  Ȏ reason% �
D    � 0:�checkdrag
N    � 1:�redrawwindow
X    � 2:�openwindow
b    � 3:�closewindow
lF    � 6:�mouseclick(block%!12,block%!16,block%!8,!block%,block%!4)
v    � 7:�dragfinished
�1    � 8:�keypress(!block%,block%!4,block%!24)
�&    � 9:�menusel(!block%,block%!4)
�%    � 17,18:� block%!16=0 quit%=�
�  �
��
�ș "Wimp_CloseDown"
��
�:
�:
�:
�:
�:
�:
:
��loadallCDs
� slot%,newslot%,count%
 adjustCDscroll%=1<<31
*3ș "OS_FSControl",28,"FlexiCD:CDs",,1 � ,,,cds%
4� cds%>0 �
>&  ș "Wimp_SlotSize",-1,-1 � slot%
H4  ș "Wimp_SlotSize",slot%+cds%*68,-1 � newslot%
R)  � newslot%<slot%+cds%*64 ��0,�nomem
\  count%=0
f  �readdir("FlexiCD:CDs")
p�
z!ș "Hourglass_Percentage",100
�� cds%>0 �
�;  ș "OS_HeapSort",cds%,CDs%+cds%*64+(3<<30),4,,CDs%,64
�  � initedit$<>"" �
�    � loop%=0 � cds%-1
�/      � �$(CDs%+loop%*64+41),8)=initedit$ �
�9        ?(CDs%+loop%*64+52)=((?(CDs%+loop%*64+52))�1)
�F        ș "OS_File",16,"FlexiCD:CDs."+$(CDs%+loop%*64+41),file%,0
�+        adjustCDscroll%=-(loop%*44-260)
�      �
�	    �
�  �
��
��
:
:
��readdir(root$)
$� pos%,read%,name$
.
pos%=0
8�
B/  ș "Hourglass_Percentage",100*count%/cds%
L  �
VB    ș "OS_GBPB",10,root$,temp%,1,pos%,256,"*" � ,,,read%,pos%
`  �read%=1 � pos%=-1
j  � pos%<>-1 �
t-    name$=root$+"."+�readstring(temp%+20)
~    � temp%!16=2 �
�      �readdir(name$)
�	    �
�      ch%=�(name$)
�'      ș "OS_GBPB",3,ch%,temp%,41,0
�      �#ch%
�.      $(CDs%+count%*64)=�readstring(temp%)
�      name$=�name$,10)
�+      � �name$,1)<>"X" �name$=�name$,8)
�$      $(CDs%+count%*64+41)=name$
�       !(CDs%+count%*64+52)=0
�       !(CDs%+count%*64+56)=0
�       !(CDs%+count%*64+60)=0
      count%+=1

	    �
  �
�pos%=-1
(�
2:
<:
F$� returns a two digit hex string
Pݤtwo(val%)
Z� reply$
d%� val%<16 � reply$="0" �reply$=""
n=reply$+�~val%
x:
�(� returns a two digit decimal string
�ݤdig(val%)
�� reply$
�%� val%<10 � reply$="0" �reply$=""
�=reply$+�val%
�:
�:
�:
�)� reads a ctrl-char terminated string
�ݤreadstring(addr%)
�� str$:str$=""
�ȕ (?addr%)>31
�  str$+=�(?addr%)
  addr%+=1
�
	=str$
":
,:
6� stores a zero-term string
@��putstring(addr%,string$)
J$addr%=string$
T?(addr%+�(string$))=0
^�
h:
r:
|:
�:
�:
�:
�'ݤloadtemplate(name$,� paneheight%)
�� handle%,height%,loop%
�Iș "Wimp_LoadTemplate",,block%,indir%,endindir%,-1,name$,0 � ,,indir%
�$paneheight%=(block%!12-block%!4)
�� name$="cd_pane" �
�  height%=-(44*cds%)
�/  � (block%!44)>height% � block%!44=height%
��
�+� name$="names" � !(block%+88+20)=file%
�� name$="names_pane" �
  � loop%=0 � 98
2    !(block%+88+loop%*32+20)=file%+44+44*loop%
  �
&�
0*� name$="prog" � !(block%+88+20)=file%
:� �name$,9)="prog_pane" �
D1  !(block%+88+16)=((!(block%+88+16))�(1<<23))
N7  !(block%+88+32+16)=((!(block%+88+32+16))�(1<<23))
X�
b� name$="times" �
l  !(block%+88+20)=file%
v%  !(block%+88+32*8+20)=trackname%
�  !(block%+88+32*17+20)=sm%
�  !(block%+88+32*18+20)=ss%
�  !(block%+88+32*19+20)=sf%
�  !(block%+88+32*28+20)=em%
�  !(block%+88+32*29+20)=es%
�  !(block%+88+32*30+20)=ef%
�  � loop%=0 � 32*3-1 �4
�+    smi%!loop%=!(block%+88+32*14+loop%)
�+    emi%!loop%=!(block%+88+32*25+loop%)
�  �
��
�� name$="misc" �
�  !(block%+88+20)=file%
$  !(block%+88+32*5+20)=notracks%
&  !(block%+88+32*7+20)=trackstime%
"  !(block%+88+32*9+20)=noprog%
 %  !(block%+88+32*11+20)=progtime%
*�
4,ș "Wimp_CreateWindow",,block% � handle%
>=handle%
H:
R:
\:
f��error
p� click%
z%!temp%=0:$(temp%+4)=�error(�$,Þ)
�3ș "Wimp_ReportError",temp%,3,�banner � ,click%
�0� click%=1 �ok%=�:cancel%=� �ok%=�:cancel%=�
��
�:
�:
�:
�:
���openwindow
�Ȏ !block% �
�<  � CDsHandle%:�openpane(CDsPane%,12,-16,CDsPaneHeight%)
�B  � NamesHandle%:�openpane(NamesPane%,12,-76,NamesPaneHeight%)
�A  � ProgHandle%:�openpane(ProgPane1%,12,-76,ProgPane1Height%)
�E                   �openpane(ProgPane2%,12,-364,ProgPane2Height%)
	�
	 ș "Wimp_OpenWindow",,block%
	�
	$:
	.:
	8 ��openpane(handle%,x%,y%,h%)
	B� w%
	L!temp%=handle%
	V#ș "Wimp_GetWindowState",,temp%
	`w%=temp%!12-temp%!4
	jtemp%!4=x%+block%!4
	ttemp%!16=y%+block%!16
	~temp%!8=temp%!16-h%
	�temp%!12=w%+temp%!4
	�temp%!28=block%!28
	�N� adjustCDscroll%<>(1<<31) �temp%!24=adjustCDscroll%:adjustCDscroll%=1<<31
	�ș "Wimp_OpenWindow",,temp%
	�block%!28=handle%
	��
	�:
	�:
	���closewindow
	�!ș "Wimp_CloseWindow",,block%
	�Ȏ !block% �
	�?  � CDsHandle%:!temp%=CDsPane%:ș "Wimp_CloseWindow",,temp%
C  � NamesHandle%:!temp%=NamesPane%:ș "Wimp_CloseWindow",,temp%

A                    temp%!4=file%?41:temp%!8=0:temp%!12=1<<23
5                    ș "Wimp_SetIconState",,temp%
B  � ProgHandle%:!temp%=ProgPane1%:ș "Wimp_CloseWindow",,temp%
(E                   !temp%=ProgPane2%:ș "Wimp_CloseWindow",,temp%
2�
<�
F:
P:
Z:
d:
n��redrawwindow
x� ox%,oy%,more%
�*ș "Wimp_RedrawWindow",,block% � more%
�ȕ more%
�  ox%=block%!4-block%!20
�  oy%=block%!16-block%!24
�  Ȏ !block% �
�+    � CDsPane%:� CDs%>0 ��redrawCDsPane
�%    � NamesPane%:�redrawNamesPane
�%    � ProgPane1%:�redrawProgPane1
�%    � ProgPane2%:�redrawProgPane2
�)    � TimesHandle%:�redrawTimesWindow
�  �
�,  ș "Wimp_GetRectangle",,block% � more%
��
�
:
:
"��redrawCDsPane
,� start%,end%,cd%
6start%=(oy%-block%!40)�44
@end%=(oy%-block%!32)�44
J� start%<0 �start%=0
T� end%>=cds% �end%=cds%-1
^� start%<cds% �
h  !temp%=0
r  temp%!8=800
|  temp%!16=&17000111
�  temp%!24=-1
�  temp%!28=50
�  � cd%=start% � end%
�    temp%!4=-(cd%*44+44)
�    temp%!12=-(cd%*44)
�    temp%!20=CDs%+64*cd%
�%    � ((?(CDs%+64*cd%+52))�1)=1 �
�'      temp%!16=((temp%!16)�(1<<21))
�	    �
�*      temp%!16=((temp%!16)�(�(1<<21)))
�	    �
�!    ș "Wimp_PlotIcon",,temp%
�  �
�
�
:
&:
0:
:��redrawNamesPane
D� loop%,pos%,z$
N� (file%?41)>1 �
X  !temp%=NamesPane%
b  temp%!4=99
l#  ș "Wimp_GetIconState",,temp%
v  � loop%=2 � file%?41
�    temp%!12=(temp%!12)-52
�    temp%!20=(temp%!20)-52
�%    pos%=�$(temp%+28),�(loop%-1))
�    � loop%=10 �pos%-=1
�    z$=$(temp%+28)
�&    �z$,pos%,�(�(loop%)))=�(loop%)
�    $(temp%+28)=z$
�#    ș "Wimp_PlotIcon",,temp%+8
�  �
��
��
�:
�:

:

:

��redrawProgPane1

 $�redrawProgPane(prog%,noinprog%)

*�

4:

>��redrawProgPane2

H*�redrawProgPane(notused%,noinnotused%)

R�

\:

f%��redrawProgPane(prog%,noinprog%)

p� start%,end%,track%

zstart%=(oy%-8-block%!40)�52

�end%=(oy%-8-block%!32)�52

�� start%<0 �start%=0

�'� end%>=noinprog% �end%=noinprog%-1

�� start%<noinprog% �

�?  !temp%=ProgPane1%:temp%!4=0:ș "Wimp_GetIconState",,temp%

�&  temp%!24=((temp%!24)�(�(1<<23)))

�-  temp%!12-=start%*52:temp%!20-=start%*52

�H  temp%!100=ProgPane1%:temp%!104=1:ș "Wimp_GetIconState",,temp%+100

�(  temp%!124=((temp%!124)�(�(1<<23)))

�/  temp%!112-=start%*52:temp%!120-=start%*52

�  � track%=start% � end%

�(    temp%!28=file%+44*(prog%?track%)

�3    $(temp%+128)=�progtrack(�dig(prog%?track%))
#    ș "Wimp_PlotIcon",,temp%+8
%    ș "Wimp_PlotIcon",,temp%+108
!    temp%!12-=52:temp%!20-=52
$#    temp%!112-=52:temp%!120-=52
.  �
8�
B�
L:
V:
`:
j:
t��redrawTimesWindow
~:�redrawonetime(smi%,ssi%,sfi%,�($sm%),�($ss%),�($sf%))
�:�redrawonetime(emi%,esi%,efi%,�($em%),�($es%),�($ef%))
��
�:
�)��redrawonetime(mi%,si%,fi%,m%,s%,f%)
�ș "Wimp_SetColour",7
�7ȓ Ȑ ox%+!mi%+4+m%*4,oy%+mi%!12-4,3,mi%!4-mi%!12+9
�7ȓ Ȑ ox%+!si%+4+s%*4,oy%+si%!12-4,3,si%!4-si%!12+9
�7ȓ Ȑ ox%+!fi%+4+f%*4,oy%+fi%!12-4,3,fi%!4-fi%!12+9
�ș "Wimp_SetColour",3
�5� ox%+!mi%+4+m%*4,oy%+mi%!4-4,ox%+!si%,oy%+si%!12
�5� ox%+!si%+4+s%*4,oy%+si%!4-4,ox%+!fi%,oy%+fi%!12
�:� ox%+!mi%+4+m%*4+3,oy%+mi%!4-4,ox%+si%!8-4,oy%+si%!12
:� ox%+!si%+4+s%*4+3,oy%+si%!4-4,ox%+fi%!8-4,oy%+fi%!12

�
:
:
(:
2:
<:
F:
P:
Z.��mouseclick(window%,icon%,buttons%,x%,y%)
d� buttons%=1 � buttons%=4 �
n  Ȏ window% �
x    � CDsHandle%:�mouse_CDs
�!    � CDsPane%:�mouse_CDsPane
�#    � NamesHandle%:�mouse_names
�!    � ProgHandle%:�mouse_prog
�%    � ProgPane1%:�mouse_progpane1
�%    � ProgPane2%:�mouse_progpane2
�#    � TimesHandle%:�mouse_times
�!    � MiscHandle%:�mouse_misc
�  �
��
��
�:
�:
�:
��mouse_CDs
Ȏ icon% �
  � 0:�opentracknames
"  � 1:�openprogseq
,  � 2:�opentracktimes
6  � 3:�openmisc
@  � 4:quit%=�
J�
T�
^:
h:
r:
|��mouse_CDsPane
�� cd%,loop%,flags%,redraw%
�!temp%=CDsPane%
�#ș "Wimp_GetWindowState",,temp%
�� cds%>0 �
�#  cd%=(temp%!16-y%-temp%!24)�44
�  � loop%=0 � cds%-1
�    redraw%=�
�"    flags%=?(CDs%+64*loop%+52)
�@    � (flags% � 1)=1 �flags%=(flags% � 254):redraw%=�redraw%
�9    � cd%=loop% �flags%=(flags% � 1):redraw%=�redraw%
�    � redraw% �
�$      ?(CDs%+64*loop%+52)=flags%
�J      ș "Wimp_ForceRedraw",CDsPane%,0,-(loop%*44+43),1000,-(loop%*44)
	    �
  �
�
&�
0:
::
D:
N��mouse_names
X� icon%=2 �
b  �savefile(&50520)
l.  $(CDs%+64*editingcd%)=�readstring(file%)
v;  ș "OS_HeapSort",cds%,CDs%+cds%*64+(1<<30),4,,CDs%,64
��
�*� (icon%=3) � (icon%=2 � buttons%=4) �
�8  �opennewwindow(CDsHandle%,NamesHandle%,NamesPane%)
��
��
�:
�:
�:
���savefile(msg%)
�� pos%,MSF%
�pos%=CDs%+64*editingcd%+41
�Vș "OS_File",10,"<FlexiCD$Dir>.Resources.Global.CDs."+$pos%,&FFD,,file%,file%+5300
�
!temp%=36
temp%!12=0
temp%!16=msg%
$(temp%+24)=$pos%+�0
 � ?pos%=�"X" �pos%+=2
*MSF%=�("&"+�(?pos%))<<20
4MSF%+=�("&"+�(pos%?1))<<16
>MSF%+=�("&"+�(pos%?3))<<12
HMSF%+=�("&"+�(pos%?4))<<8
RMSF%+=�("&"+�(pos%?6))<<4
\MSF%+=�("&"+�(pos%?7))
ftemp%!20=MSF%
p$ș "Wimp_SendMessage",17,temp%,0
z�
�:
�:
�:
�:
���mouse_prog
�� loop%
�� icon%=2 �
�  loop%=-1
�  �
�    loop%+=1
�'    ?(file%+4400+loop%)=prog%?loop%
�  �prog%?loop%=0
�  �savefile(&50521)
�
*� (icon%=3) � (icon%=2 � buttons%=4) �
7  �opennewwindow(CDsHandle%,ProgHandle%,ProgPane1%)
$�
.�
8:
B:
L:
V��mouse_progpane1
`/�mouse_progpane(ProgPane1%,prog%,noinprog%)
j�
t:
~��mouse_progpane2
�5�mouse_progpane(ProgPane2%,notused%,noinnotused%)
��
�:
�2��mouse_progpane(handle%,whichdrag%,noinprog%)
�� top%,drag%
�!temp%=handle%
�#ș "Wimp_GetWindowState",,temp%
�top%=temp%!16-temp%!24-4
�drag%=(top%-y%)�52
�� drag%<0 �drag%=0
�� drag%<noinprog% �
�  dragging%=drag%
  temp%!20=ProgPane1%

(  ș "Wimp_GetWindowState",,temp%+20
  temp%!40=ProgPane2%
(  ș "Wimp_GetWindowState",,temp%+40
(  temp%!28=(temp%!48)+48
2  temp%!36-=32
<  temp%!8=temp%!24
F  temp%!16=temp%!32
P"  temp%!12=top%-dragging%*52-4
Z#  temp%!20=top%-dragging%*52-52
d  temp%!4=5
n  ș "Wimp_DragBox",,temp%
x,  � whichdrag%=notused% �dragging%+=1000
��
��
�:
�:
�:
�:
�:
���mouse_misc
�� loop%,flags%
�� icon%>14 � icon%<18 �
�  !temp%=MiscHandle%
�  temp%!12=1<<21
�  � loop%=15 � 17
    temp%!4=loop%
/    � icon%=loop% �temp%!8=1<<21 �temp%!8=0
%    ș "Wimp_SetIconState",,temp%
"  �
,  temp%!4=18
6  � icon%=17 �
@    temp%!8=(1<<22)+(2<<24)
J!    temp%!12=(3<<21)+(15<<24)
T  �
^    temp%!8=7<<24
h!    temp%!12=(1<<22)+(15<<24)
r  �
|#  ș "Wimp_SetIconState",,temp%
��
�� icon%=2 �
�  flags%=0
�  !temp%=MiscHandle%
�  temp%!4=16
�#  ș "Wimp_GetIconState",,temp%
�0  � ((temp%!24)�(1<<21))=(1<<21) �flags%+=%1
�  temp%!4=17
�#  ș "Wimp_GetIconState",,temp%
�1  � ((temp%!24)�(1<<21))=(1<<21) �flags%+=%10
�  temp%!4=18
�#  ș "Wimp_GetIconState",,temp%
�2  � ((temp%!24)�(1<<21))=(1<<21) �flags%+=%100
  file%?42=flags%
  �savefile(&50523)
�
&*� (icon%=3) � (icon%=2 � buttons%=4) �
08  �opennewwindow(CDsHandle%,MiscHandle%,MiscHandle%)
:�
D�
N:
X:
b:
l:
v:
���mouse_times
� � time%,addr%,max%,write%,b%
�Ȏ icon% �
�  � 9:� pop up menu
�  �createmenus
�8  ș "Wimp_CreateMenu",,tracksmenu%,!block%,block%!4
�  
�%  � 14,15,16,25,26,27:� drag bars
�  !temp%=TimesHandle%
�  temp%!4=icon%
�#  ș "Wimp_GetIconState",,temp%
�  temp%!100=TimesHandle%
�)  ș "Wimp_GetWindowState",,temp%+100
"  temp%!24=temp%!8+temp%!104+4
#  temp%!28=temp%!12+temp%!116+4
#  temp%!32=temp%!16+temp%!104-8
 #  temp%!36=temp%!20+temp%!116-8
*  temp%!4=7
4  ș "Wimp_DragBox",,temp%
>  dragging%=2000+icon%
H  
R  � 7,32:� track adjust
\  �readcurrenttracktime
f"  � buttons%=1 �icon%=39-icon%
pD  � icon%=7 � editingtrack%>0 ��setuptracktimes(editingtrack%-1)
zM  � icon%=32 �editingtrack%+1<file%?41 ��setuptracktimes(editingtrack%+1)
�  
�+  � 33,34,35,36,37,38,39,40,41,42,43,44
�  � buttons%=1 �
�*    � (icon%�2)=1 � icon%+=1 �icon%-=1
�  �
�  Ȏ icon% �
�+    � 33,34:addr%=sm%:max%=79:write%=17
�+    � 35,36:addr%=ss%:max%=59:write%=18
�+    � 37,38:addr%=sf%:max%=74:write%=19
�+    � 39,40:addr%=em%:max%=79:write%=28
�+    � 41,42:addr%=es%:max%=59:write%=29
�+    � 43,44:addr%=ef%:max%=74:write%=30
�  �
<  � (icon%�2)=0 � �($addr%)>0 � $addr%=�dig(�($addr%)-1)
?  � (icon%�2)=1 � �($addr%)<max% � $addr%=�dig(�($addr%)+1)
'  ș "Wimp_GetCaretPosition",,temp%
$.  � !temp%=TimesHandle% � temp%!4=write% �
.<    ș "Wimp_SetCaretPosition",!temp%,temp%!4,-1,-1,-1,2
8  �
B  !temp%=TimesHandle%
L  temp%!4=write%
V:  ș "Wimp_GetIconState",,temp%:� temp% is top & right
`  temp%!40=TimesHandle%
j  temp%!44=write%-3
t9  ș "Wimp_GetIconState",,temp%+40:� temp%+40 is left
~  � write%=19 � write%=30 �
�    b%=temp%!8
�  �
�    temp%!100=TimesHandle%
�    temp%!104=write%-2
�)    ș "Wimp_GetIconState",,temp%+100
�    b%=temp%!120
�  �
�F  ș "Wimp_ForceRedraw",TimesHandle%,temp%!48,b%,temp%!16,temp%!20
�  
�  � 20:� start track test
�0  time%=(�($sm%)<<16)+(�($ss%)<<8)+(�($sf%))
�+  �playCD(time%,�addtwoMSF(time%,&400))
  

  � 31:� end track test
0  time%=(�($em%)<<16)+(�($es%)<<8)+(�($ef%))
+  �playCD(�subtwoMSF(time%,&800),time%)
(  
2�
<� icon%=2 �
F  �readcurrenttracktime
P  !temp%=TimesHandle%
Z  temp%!4=6
d#  ș "Wimp_GetIconState",,temp%
n   � ((temp%!24)�(1<<21))=0 �
x    file%?43=((file%?43)�1)
�  �
�!    file%?43=((file%?43)�254)
�  �
�  �savefile(&50522)
��
�*� (icon%=3) � (icon%=2 � buttons%=4) �
�:  �opennewwindow(CDsHandle%,TimesHandle%,TimesHandle%)
��
��
�:
�:
�:
�:
:
:
:
"��checkdrag
,7� dragging%<2000 ��checkdrag_prog ��checkdrag_times
6�
@:
J:
T��checkdrag_prog
^� top%,bottom%,y%
h!temp%=ProgPane1%
r#ș "Wimp_GetWindowState",,temp%
|'ș "Wimp_GetPointerInfo",,temp%+100
�y%=temp%!104
�top%=temp%!16
�bottom%=temp%!8
�
change%=0
�.� y%<top% � y%>top%-80 �change%=80-top%+y%
�7� y%>bottom% � y%<bottom%+64 �change%=y%-bottom%-64
�change%=(change%�(�3))
�� change%<>0 �
�  temp%!24+=change%
�!  ș "Wimp_OpenWindow",,temp%
��
��
�:
:
��checkdrag_times
� addr%,val%,l%,b%,r%,t%
&!temp%=TimesHandle%
0temp%!4=dragging%-2000
:!ș "Wimp_GetIconState",,temp%
Dl%=temp%!8
N'ș "Wimp_GetPointerInfo",,temp%+100
Xtemp%!140=TimesHandle%
b'ș "Wimp_GetWindowState",,temp%+140
l,val%=(temp%!100-(temp%!8+temp%!144)-4)�4
vȎ dragging% �
�  � 2014:addr%=sm%
�  � 2015:addr%=ss%
�  � 2016:addr%=sf%
�  � 2025:addr%=em%
�  � 2026:addr%=es%
�  � 2027:addr%=ef%
��
�� �($addr%)<>val% �
�  $addr%=�dig(val%)
�  � adjust carrot
�'  ș "Wimp_GetCaretPosition",,temp%
�6  � !temp%=TimesHandle% � temp%!4=dragging%-1997 �
�%    ș "Wimp_GetIconState",,temp%
I    ș "Wimp_SetCaretPosition",!temp%,temp%!4,-1,-1,-1,�($(temp%!28))
  �
  temp%!100=TimesHandle%
   temp%!104=dragging%-1997
*'  ș "Wimp_GetIconState",,temp%+100
4  r%=temp%!116
>  t%=temp%!120
H)  � dragging%=2016 � dragging%=2027 �
R    b%=temp%!112
\  �
f     temp%!104=dragging%-1999
p)    ș "Wimp_GetIconState",,temp%+100
z    b%=temp%!120
�  �
�4  ș "Wimp_ForceRedraw",TimesHandle%,l%,b%,r%,t%
��
��
�:
�:
�:
�:
���dragfinished
�(� dragging%<2000 ��dragfinished_prog
�dragging%=-1
��
�:
��dragfinished_prog

� endpos%
#ș "Wimp_GetPointerInfo",,temp%
$� temp%!12=ProgHandle% �
.  temp%!100=ProgPane1%
8)  ș "Wimp_GetWindowState",,temp%+100
B  � temp%!4>=temp%!116 �
L    temp%!4=temp%!116
V    temp%!12=ProgPane1%
`  �
j�
tȎ temp%!12 �
~2  � ProgPane2%:� dragging%<1000 ��dragoutofseq
�  � ProgPane1%
�    temp%!100=ProgPane1%
�+    ș "Wimp_GetWindowState",,temp%+100
�3    endpos%=(temp%!116-temp%!124+22-temp%!4)�52
�    � endpos%<0 �endpos%=0
�.    � endpos%>noinprog% �endpos%=noinprog%
�6    � dragging%<1000 ��dragaroundseq ��dragintoseq
��
��
�:
�:
���dragaroundseq
%� change%,offset%,startpos%,loop%

startpos%=dragging%
change%=prog%?startpos%
� startpos%<>endpos%-1 �
(  � startpos%<endpos%-1 �
2    endpos%-=1
<1    � loop%=prog%+startpos% � prog%+endpos%-1
F      ?loop%=loop%?1
P	    �
Z  �
d  � startpos%>endpos% �
n5    � loop%=prog%+startpos% � prog%+endpos%+1 �-1
x      ?loop%=loop%?-1
�	    �
�  �
�  prog%?endpos%=change%
��
�3ș "Wimp_ForceRedraw",ProgPane1%,0,-6000,1000,0
��
�:
�:
���dragintoseq
�� startpos%,change%,loop%
�startpos%=dragging%-1000
�change%=notused%?startpos%
�noinnotused%-=1
$� loop%=startpos% � noinnotused%
(  notused%?loop%=?(notused%+loop%+1)
�
"noinprog%+=1
,%� loop%=noinprog% � endpos%+1 �-1
6"  prog%?loop%=?(prog%+loop%-1)
@�
Jprog%?endpos%=change%
T�adjustbothprogheights
^�
h:
r:
|��dragoutofseq
�#� change%,loop%,flag%,startpos%
�startpos%=dragging%
�change%=prog%?startpos%
�noinprog%-=1
�!� loop%=startpos% � noinprog%
�"  prog%?loop%=?(prog%+loop%+1)
��
�noinnotused%+=1
�loop%=noinnotused%
�flag%=�
�ȕ �flag% 
�(  notused%?loop%=?(notused%+loop%-1)
�3  � notused%?loop%<change% � notused%?loop%>0 �
     notused%?loop%=change%
     flag%=�
   �
 &  loop%-=1
 0  � loop%=0 � flag%=� �
 :    flag%=�
 D    ?notused%=change%
 N  �
 X�
 b�adjustbothprogheights
 l�
 v:
 �:
 ���adjustbothprogheights
 �!temp%=ProgPane1%
 �#ș "Wimp_GetWindowState",,temp%
 �temp%!108=temp%!12-temp%!4
 �temp%!100=0
 �temp%!112=0
 � temp%!104=-(52*noinprog%+16)
 �>� temp%!104>-ProgPane1Height% �temp%!104=-ProgPane1Height%
 �,ș "Wimp_SetExtent",ProgPane1%,temp%+100
 �ș "Wimp_OpenWindow",,temp%
 �!temp%=ProgPane2%
 �#ș "Wimp_GetWindowState",,temp%
!temp%!108=temp%!12-temp%!4
!temp%!100=0
!temp%!112=0
! #temp%!104=-(52*noinnotused%+16)
!*>� temp%!104>-ProgPane2Height% �temp%!104=-ProgPane2Height%
!4,ș "Wimp_SetExtent",ProgPane2%,temp%+100
!>ș "Wimp_OpenWindow",,temp%
!H3ș "Wimp_ForceRedraw",ProgPane1%,0,-6000,1000,0
!R3ș "Wimp_ForceRedraw",ProgPane2%,0,-6000,1000,0
!\�
!f:
!p:
!z:
!�:
!�:
!�"��keypress(window%,icon%,key%)
!�used%=�
!�Ȏ window% �
!�%  � NamesHandle%:�key_nameshandle
!�!  � NamesPane%:�key_namespane
!�%  � TimesHandle%:�key_timeshandle
!��
!�'� �used% �ș "Wimp_ProcessKey",key%
!��
!�:
!�:
":
":
"��key_nameshandle
"$� icon%
".� key%<255 �used%=�
"8� key%<32 �used%=�
"B3� key%=8 � key%=10 � key%=13 � key%=21 �used%=�
"LȎ key%-&180 �
"V=  � &a,&b,&c,&d,&e,&f,&1a,&1b,&1c,&1d,&2b,&2c,&2d:used%=�
"`�
"jicon%=-1
"t/� key%=&18f � key%=&19a �icon%=(file%?41)-1
"~8� key%=&18e � key%=&18a � key%=10 � key%=13 �icon%=0
"�� icon%>-1 �
"�\  ș "Wimp_SetCaretPosition",NamesPane%,icon%,-1,-1,-1,�(�readstring(file%+44+44*icon%))
"�  !temp%=NamesPane%
"�%  ș "Wimp_GetWindowState",,temp%
"�  temp%!24=-icon%*10000
"�!  ș "Wimp_OpenWindow",,temp%
"��
"��
"�:
"�:
"���key_namespane
"�
� scroll%
#� key%<255 �used%=�
#
� key%<32 �used%=�
#3� key%=8 � key%=10 � key%=13 � key%=21 �used%=�
#Ȏ key%-&180 �
#(=  � &a,&b,&c,&d,&e,&f,&1a,&1b,&1c,&1d,&2b,&2c,&2d:used%=�
#2�
#<
scroll%=0
#F� key%=&18f � key%=&19a �
#P  � icon%=0 �
#ZP    ș "Wimp_SetCaretPosition",NamesHandle%,0,-1,-1,-1,�(�readstring(file%))
#d  �
#n    scroll%=52
#x  �
#��
#�1� key%=&18e � key%=&18a � key%=10 � key%=13 �
#�  � icon%=(file%?41)-1 �
#�    � key%>&180 �
#�R      ș "Wimp_SetCaretPosition",NamesHandle%,0,-1,-1,-1,�(�readstring(file%))
#�	    �
#�`      ș "Wimp_SetCaretPosition",NamesPane%,icon%,-1,-1,-1,�(�readstring(file%+44+44*icon%))
#�	    �
#�  �
#�    scroll%=-52
#�  �
#��
#�� scroll%<>0 �
$  !temp%=NamesPane%
$%  ș "Wimp_GetWindowState",,temp%
$  temp%!24+=scroll%
$"!  ș "Wimp_OpenWindow",,temp%
$,�
$6�
$@:
$J:
$T:
$^��key_timeshandle
$h
� bottom%
$r>� key%=8 � key%=10 � key%=13 � key%=21 � key%=127 �used%=�
$|Ȏ key%-&180 �
$�=  � &a,&b,&c,&d,&e,&f,&1a,&1b,&1c,&1d,&2b,&2c,&2d:used%=�
$��
$�key%-=48
$�temp%!100=window%
$�temp%!104=icon%
$�%ș "Wimp_GetIconState",,temp%+100
$�� key%>-1 � key%<10 �
$�'  ș "Wimp_GetCaretPosition",,temp%
$�  Ȏ icon% �
$�,    � 17,18,28,29:�key_minssecs(icon%,8)
$�"    � 19,30:�key_frames(icon%)
$�  �
$��
%key%+=48
%E� (used%) � ((key%>47 � key%<58) � key%=8 � key%=21 � key%=127) �
%5  � redraw - temp+100 contains right and top icon
%&  !temp%=window%
%0  temp%!4=icon%-3
%:=  ș "Wimp_GetIconState",,temp%:� temp contains left icon
%D  � icon%=19 � icon%=30 �
%N    bottom%=temp%!112
%X  �
%b    temp%!40=window%
%l    temp%!44=icon%-2
%v(    ș "Wimp_GetIconState",,temp%+40
%�    bottom%=temp%!60
%�  �
%�L  ș "Wimp_ForceRedraw",TimesHandle%,temp%!8,bottom%,temp%!116,temp%!120
%��
%��
%�:
%�:
%���key_minssecs(icon%,max%)
%�Ȏ �($(temp%!128)) �
%�	  � 0
%�  $(temp%!128)=�key%
%�9  ș "Wimp_SetCaretPosition",window%,icon%,-1,-1,-1,1
%�
  used%=�
&	  � 1
&  � temp%!20=0 �
&    � key%<max% �
& )      $(temp%!128)=�key%+$(temp%!128)
&*=      ș "Wimp_SetCaretPosition",window%,icon%,-1,-1,-1,1
&4      used%=�
&>	    �
&H  �
&R     � �($(temp%!128))<max% �
&\      $(temp%!128)+=�key%
&f=      ș "Wimp_SetCaretPosition",window%,icon%,-1,-1,-1,2
&p      used%=�
&z	    �
&�  �
&��
&��
&�:
&���key_frames(icon%)
&�Ȏ �($(temp%!128)) �
&�	  � 0
&�  $(temp%!128)=�key%
&�9  ș "Wimp_SetCaretPosition",window%,icon%,-1,-1,-1,1
&�
  used%=�
&�	  � 1
&�  � temp%!20=0 �
&�3    � (key%<7) � (key%=7 � �($(temp%!128))<5) �
')      $(temp%!128)=�key%+$(temp%!128)
'=      ș "Wimp_SetCaretPosition",window%,icon%,-1,-1,-1,1
'      used%=�
'$	    �
'.  �
'8>    � (�($(temp%!128))<7) � (�($(temp%!128))=7 � key%<5) �
'B      $(temp%!128)+=�key%
'L=      ș "Wimp_SetCaretPosition",window%,icon%,-1,-1,-1,2
'V      used%=�
'`	    �
'j  �
't�
'~�
'�:
'�:
'�:
'�:
'�:
'�:
'�:
'�:
'�:
'�:
'�:
'�:
(:
(
:
(S� opens new% in the position of old%, using top% to work out where in the stack
(#��opennewwindow(new%,old%,top%)
((!temp%=top%
(2#ș "Wimp_GetWindowState",,temp%
(<!block%=old%
(F$ș "Wimp_GetWindowState",,block%
(P�closewindow
(Z!block%=new%
(dblock%!24=0
(nblock%!28=temp%!28
(x�openwindow
(��
(�:
(�:
(�:
(�:
(�:
(�:
(�:
(�:
(�:
(�:
(�:
(�:
):
):
):
)"��opentracknames
),� cd%,loop%,height%
)6loop%=0:cd%=-1
)@ȕ cd%=-1 � loop%<cds%
)J.  � ((?(CDs%+loop%*64+52))�1)=1 �cd%=loop%
)T  loop%+=1
)^�
)h� cd%>-1 �
)r>  ș "OS_File",16,"FlexiCD:CDs."+$(CDs%+cd%*64+41),file%,0
)|  height%=52*(file%?41)+16
)�:  � height%<NamesPaneHeight% �height%=NamesPaneHeight%
)�  !temp%=NamesPane%
)�%  ș "Wimp_GetWindowState",,temp%
)�  temp%!8=temp%!12-temp%!4
)�  !temp%=0
)�  temp%!4=-height%
)�  temp%!12=0
)�*  ș "Wimp_SetExtent",NamesPane%,temp%
)�  !temp%=NamesPane%
)�  temp%!12=1<<23
)�  � loop%=2 � 10
)�3    � loop%>file%?41 � temp%!8=1<<23 �temp%!8=0
)�    temp%!4=loop%
*%    ș "Wimp_SetIconState",,temp%
*  �
*  � file%?41<99 �
*&    temp%!4=file%?41
*0    temp%!8=1<<23
*:%    ș "Wimp_SetIconState",,temp%
*D  �
*N6  �opennewwindow(NamesHandle%,CDsHandle%,CDsPane%)
*XN  ș "Wimp_SetCaretPosition",NamesHandle%,0,-1,-1,-1,�(�readstring(file%))
*b  editingcd%=cd%
*l�
*v�
*�:
*�:
*�:
*�:
*���openprogseq
*�� cd%,loop%,offset%,used%
*�loop%=0:cd%=-1
*�ȕ cd%=-1 � loop%<cds%
*�.  � ((?(CDs%+loop%*64+52))�1)=1 �cd%=loop%
*�  loop%+=1
*��
*�� cd%>-1 �
*�>  ș "OS_File",16,"FlexiCD:CDs."+$(CDs%+cd%*64+41),file%,0
+  noinprog%=0
+  �
+/    prog%?noinprog%=?(file%+4400+noinprog%)
+     noinprog%+=1
+*   �?(file%+4400+noinprog%)=0
+4  prog%?noinprog%=0
+>  noinnotused%=0
+H  � loop%=1 � file%?41
+R    used%=�
+\!    � offset%=0 � noinprog%-1
+f(      � prog%?offset%=loop% �used%=�
+p	    �
+z>    � �used% � notused%?noinnotused%=loop%:noinnotused%+=1
+�  �
+�  notused%?noinnotused%=0
+�  height%=52*noinprog%+16
+�:  � height%<ProgPane1Height% �height%=ProgPane1Height%
+�  !temp%=ProgPane1%
+�%  ș "Wimp_GetWindowState",,temp%
+�  temp%!8=temp%!12-temp%!4
+�  !temp%=0
+�  temp%!4=-height%
+�  temp%!12=0
+�*  ș "Wimp_SetExtent",ProgPane1%,temp%
+�   height%=52*noinnotused%+16
+�:  � height%<ProgPane2Height% �height%=ProgPane2Height%
,  !temp%=ProgPane2%
,%  ș "Wimp_GetWindowState",,temp%
,  temp%!8=temp%!12-temp%!4
,$  !temp%=0
,.  temp%!4=-height%
,8  temp%!12=0
,B*  ș "Wimp_SetExtent",ProgPane2%,temp%
,L5  �opennewwindow(ProgHandle%,CDsHandle%,CDsPane%)
,V  editingcd%=cd%
,`�
,j�
,t:
,~:
,�:
,�:
,�:
,���openmisc
,�7� cd%,loop%,time%,start%,end%,track%,tracks%,flags%
,�loop%=0:cd%=-1
,�ȕ cd%=-1 � loop%<cds%
,�.  � ((?(CDs%+loop%*64+52))�1)=1 �cd%=loop%
,�  loop%+=1
,��
,�� cd%>-1 �
,�>  ș "OS_File",16,"FlexiCD:CDs."+$(CDs%+cd%*64+41),file%,0
-  $notracks%=�(file%?41)
-
  loop%=4500
-
  time%=0
-  ȕ file%!loop%>255
-(=    track%=�subtwoMSF(!(file%+loop%+4),(file%!loop%)>>>8)
-2&    time%=�addtwoMSF(time%,track%)
-<!    time%=�addtwoMSF(time%,1)
-F    loop%+=8
-P  �
-Z  time%=�subtwoMSF(time%,1)
-dO  $trackstime%=�dig(time%>>16)+":"+�dig((time%>>8)�255)+":"+�dig(time%�255)
-n  tracks%=0
-x  loop%=4400
-�
  time%=0
-�  ȕ file%?loop%>0
-�[   track%=�subtwoMSF(!(file%+4496+(file%?loop%)*8),(!(file%+4492+(file%?loop%)*8))>>>8)
-�%   time%=�addtwoMSF(time%,track%)
-�    time%=�addtwoMSF(time%,1)
-�   tracks%+=1
-�   loop%+=1
-�  �
-�  time%=�subtwoMSF(time%,1)
-�  $noprog%=�(tracks%)
-�M  $progtime%=�dig(time%>>16)+":"+�dig((time%>>8)�255)+":"+�dig(time%�255)
-�  flags%=file%?42
-�  � repeat
.  !temp%=MiscHandle%
.  temp%!4=18
.)  temp%!8=((flags%�%100)<<19)+(7<<24)
."  temp%!12=(3<<21)+(15<<24)
.,#  ș "Wimp_SetIconState",,temp%
.6  � prog
.@  temp%!4=16
.J  temp%!8=(flags%�%1)<<21
.T  temp%!12=1<<21
.^#  ș "Wimp_SetIconState",,temp%
.h  � shuffle
.r  temp%!4=17
.|  temp%!8=(flags%�%10)<<20
.�#  ș "Wimp_SetIconState",,temp%
.�  temp%!4=18
.�  � (flags%�%10)=%10 �
.�    temp%!8=(1<<22)+(2<<24)
.�!    temp%!12=(1<<22)+(15<<24)
.�%    ș "Wimp_SetIconState",,temp%
.�  �
.�  � normal
.�  temp%!4=15
.�  temp%!12=1<<21
.�1  � (flags%�%11)=0 � temp%!8=1<<21 �temp%!8=0
.�#  ș "Wimp_SetIconState",,temp%
.�5  �opennewwindow(MiscHandle%,CDsHandle%,CDsPane%)
/  editingcd%=cd%
/�
/�
/&:
/0:
/:ݤaddtwoMSF(A%,B%)
/D� C%,D%,E%,F%,G%,H%
/NC%=A%�255:F%=B%�255
/X!D%=(A%>>8)�255:G%=(B%>>8)�255
/bE%=A%>>16:H%=B%>>16
/l4C%+=F%:� C%>74 �C%-=75:D%+=1:� D%=60 �D%=0:E%+=1
/v D%+=G%:� D%>59 �D%-=60:E%+=1
/�
E%+=H%
/�=(E%<<16)+(D%<<8)+C%
/�:
/�ݤsubtwoMSF(A%,B%)
/�� C%,D%,E%,F%,G%,H%
/�C%=A%�255:F%=B%�255
/�!D%=(A%>>8)�255:G%=(B%>>8)�255
/�E%=A%>>16:H%=B%>>16
/�4C%-=F%:� C%<0 �C%+=75:D%-=1:� D%=-1 �D%=59:E%-=1
/�D%-=G%:� D%<0 �D%+=60:E%-=1
/�
E%-=H%
/�=(E%<<16)+(D%<<8)+C%
/�:
0:
0:
0:
0 :
0*:
04:
0>:
0H��opentracktimes
0R� cd%,loop%
0\loop%=0:cd%=-1
0fȕ cd%=-1 � loop%<cds%
0p.  � ((?(CDs%+loop%*64+52))�1)=1 �cd%=loop%
0z  loop%+=1
0��
0�� cd%>-1 �
0�>  ș "OS_File",16,"FlexiCD:CDs."+$(CDs%+cd%*64+41),file%,0
0�  !temp%=TimesHandle%
0�  temp%!4=6
0�$  temp%!8=(((file%?43)�1)�1)<<21
0�  temp%!12=1<<21
0�#  ș "Wimp_SetIconState",,temp%
0�  �setuptracktimes(0)
0�6  �opennewwindow(TimesHandle%,CDsHandle%,CDsPane%)
0�A  ș "Wimp_SetCaretPosition",TimesHandle%,17,-1,-1,-1,�($sm%)
0�  editingcd%=cd%
0��
1�
1:
1:
1$:
1.��setuptracktimes(track%)
18� start%,end%,index%
1Beditingtrack%=track%
1L/$trackname%=�readstring(file%+44+44*track%)
1V'start%=(!(file%+4500+track%*8))>>>8
1`end%=!(file%+4504+track%*8)
1j$sm%=�dig(start%>>16)
1t$ss%=�dig((start%>>8)�255)
1~$sf%=�dig(start%�255)
1�$em%=�dig(end%>>16)
1�$es%=�dig((end%>>8)�255)
1�$ef%=�dig(end%�255)
1�%ș "Wimp_GetCaretPosition",,temp%
1�� !temp%=TimesHandle% �
1�  index%=temp%!20
1�#  ș "Wimp_GetIconState",,temp%
1�G  ș "Wimp_SetCaretPosition",!temp%,temp%!4,-1,-1,-1,�($(temp%!28))
1��
1�!temp%=TimesHandle%
1�temp%!4=14
1�!ș "Wimp_GetIconState",,temp%
2temp%!100=TimesHandle%
2
temp%!104=30
2%ș "Wimp_GetIconState",,temp%+100
2Kș "Wimp_ForceRedraw",TimesHandle%,temp%!8,temp%!112,temp%!116,temp%!20
2(!temp%=TimesHandle%
22
temp%!4=8
2<
temp%!8=0
2Ftemp%!12=0
2P!ș "Wimp_SetIconState",,temp%
2Z�
2d:
2n:
2x��readcurrenttracktime
2�� start%,end%
2�4start%=((�($sm%)<<16)+(�($ss%)<<8)+(�($sf%)))<<8
2�-end%=(�($em%)<<16)+(�($es%)<<8)+(�($ef%))
2�(!(file%+4500+editingtrack%*8)=start%
2�&!(file%+4504+editingtrack%*8)=end%
2��
2�:
2�:
2�:
2�:
2�:
2�:
2�:
3:
3��menusel(A%,B%)
3(� adj%,loop%,offset%,done%,from%,to%
3"#ș "Wimp_GetPointerInfo",,temp%
3,%� ((temp%!8)�1)=1 �adj%=� �adj%=�
36	A%-=2
3@
� A%=-2 �
3J  ș "Hourglass_On"
3T  � B%>-1 �
3^    � file%?41=99 �
3h      !temp%=0
3r#      $(temp%+4)=�toomanytracks
3|/      ș "Wimp_ReportError",temp%,1,�banner
3�      B%=-2
3�	    �
3�/      � B%<=editingtrack% �editingtrack%+=1
3�'      � shift up track info in file
3�%      � loop%=file%?41+1 � B% �-1
3�        � loop%>0 �
3�9          !(file%+4500+loop%*8)=!(file%+4492+loop%*8)
3�9          !(file%+4504+loop%*8)=!(file%+4496+loop%*8)
3�!          � offset%=0 � 43 �4
3�F            !(file%+44+loop%*44+offset%)=!(file%+loop%*44+offset%)
3�          �
3�        �        
3�      �
43      �putstring(file%+44+B%*44,�untitledtrack)
44      � adjust prog sequence for inserting track
4      loop%=0
4&"      ȕ ?(file%+4400+loop%)>0
40=        � ?(file%+4400+loop%)>B% � ?(file%+4400+loop%)+=1
4:        loop%+=1
4D      �
4N      file%?41+=1
4X"      � adj% ��createmenus    
4b	    �
4l  �
4v  A%=B%
4�  ș "Hourglass_Off"
4��
4�
� A%=-1 �
4�  � file%?41=1 �
4�    !temp%=0
4�    $(temp%+4)=�onetrack
4�-    ș "Wimp_ReportError",temp%,1,�banner
4�  �
4�    � loop%=B% � file%?41-1
4�7        !(file%+4500+loop%*8)=!(file%+4508+loop%*8)
4�7        !(file%+4504+loop%*8)=!(file%+4512+loop%*8)
4�      � offset%=0 � 43 �3
4�E        !(file%+44+loop%*44+offset%)=!(file%+88+loop%*44+offset%)
5      �
5	    �
51    � adjust prog sequence for deleting track
5     changed%=�
5*    from%=4400
54    to%=4400
5>	    �
5HK      � file%?from%<=B%�file%?to%=file%?from%:� file%?to%=0 �changed%=�
5R$      � file%?from%=B%+1 �to%-=1
5\5      � file%?from%>B%+1 �file%?to%=file%?from%-1
5f      from%+=1
5p      to%+=1
5z    �changed%
5�    file%?41-=1
5�-    � B%<editingtrack% � editingtrack%-=1
5�0    � B%=editingtrack% � �setuptracktimes(0)
5�    � adj% ��createmenus
5�  �
5��
5�
� A%>-1 �
5�  �readcurrenttracktime
5�  �setuptracktimes(A%)
5��
5�-� adj% �ș "Wimp_CreateMenu",,tracksmenu%
5��
5�:
6:
6:
6:
6$:
6.:
68��createmenus
6B� m1%,m2%,w1%,w2%,l%,loop%
6LD$tracksmenu%=�tracks:$newtrackmenu%=�before:$deletemenu%=�delete
6V<w1%=�(�tracks)-2  :w2%=�(�before)-2    :w3%=�(�delete)-2
6`Gtracksmenu%!12=&70207:newtrackmenu%!12=&70207:deletemenu%!12=&70207
6jCtracksmenu%!20=44    :newtrackmenu%!20=44    :deletemenu%!20=44
6tBtracksmenu%!24=0     :newtrackmenu%!24=0     :deletemenu%!24=0
6~tracksmenu%!28=0
6� tracksmenu%!32=newtrackmenu%
6�tracksmenu%!36=&7000021
6�$(tracksmenu%+40)=�newtrack
6�tracksmenu%!52=2
6�tracksmenu%!56=deletemenu%
6�tracksmenu%!60=&7000021
6�$(tracksmenu%+64)=�delitem
6�,� �(�newtrack)+1>w1% �w1%=�(�newtrack)+1
6�*� �(�delitem)+1>w3% �w3%=�(�delitem)+1
6�m1%=tracksmenu%+76
6�m2%=newtrackmenu%+28
6�m3%=deletemenu%+28
7� loop%=1 � file%?41
7
8  !m1%=0               :!m2%=0               :!m3%=0
7:  m1%!4=-1             :m2%!4=-1             :m3%!4=-1
7@  m1%!8=&7000121       :m2%!8=&7000121       :m3%!8=&7000121
7(G  m1%!12=file%+loop%*44:m2%!12=file%+loop%*44:m3%!12=file%+loop%*44
72;  m1%!16=-1            :m2%!16=-1            :m3%!16=-1
7<;  m1%!20=40            :m2%!20=40            :m3%!20=40
7F)  l%=�(�readstring(file%+loop%*44))+1
7P  � l%>w1% �w1%=l%
7Z  � l%>w2% �w2%=l%
7d  � l%>w3% �w3%=l%
7n
  m1%+=24
7x
  m2%+=24
7�
  m3%+=24
7��
7�!(m1%-24)=&80
7�!(m2%-24)=2
7�!(m3%-24)=&80
7�!m2%=&80
7�m2%!4=-1
7�m2%!8=&7000021
7�$(m2%+12)=�atend
7�&� �(�atend)+1>w2% �w2%=�(�atend)+1
7�tracksmenu%!16=w1%*16
7�newtrackmenu%!16=w2%*16
7�deletemenu%!16=w3%*16
8�
8:
8:
8":
8,:
86:
8@��playCD(start%,end%)
8J)� err%,loop%,D%,flags%,drive%,CD%,cd$
8T cd$=$(CDs%+editingcd%*64+41)
8^� �cd$,1)="X" �cd$=�cd$,8)
8hCCD%=(�("&"+�cd$,2))<<16)+(�("&"+�cd$,4,2))<<8)+(�("&"+�cd$,2)))
8r
err%=�
8|
drive%=-1
8�� �
8�� � �:err%=�:�playCD_error
8�� � err% �
8�
  loop%=0
8�  ȕ loop%<4 � drive%=-1
8�2    ș "CDFS_ConvertDriveToDevice",loop% � ,D%
8�#    � D%=-1 � generate an error
8�    !temp%=(D% � 7)
8�    temp%!4=(D% � &18)>>>3
8�    temp%!8=(D% � &E0)>>>5
8�!    temp%!12=(D% � &FF00)>>>8
8�    temp%!16=(D%>>>16)
8�9    ș "XCD_DiscUsed",1,temp%+20,,,,,,temp% � ;flags%
9    � (flags% � 1)=0 �
9&      � temp%!20=CD% �drive%=loop%
9	    �
9&    loop%+=1
90  �
9:*  � drive%=-1 � generate another error
9D!  ș "XFlexiCD_Stop",drive%,0
9N:  ș "XCD_PlayAudio",1,start%,end%,,,,,temp% � ;flags%
9X  � (flags% � 1)=1 �
9b    temp%!100=0
9l    $(temp%+104)=�badtimes
9v1    ș "Wimp_ReportError",temp%+100,1,�banner
9�  �
9��
9�� �
9��
9�:
9���playCD_error
9�temp%!100=0
9�1$(temp%+104)=�insertCD($(CDs%+64*editingcd%))
9�3ș "Wimp_ReportError",temp%+100,17,�msg+�banner
9��
�
00000000  0d 00 0a 25 f4 20 46 6c  65 78 69 43 44 45 64 69  |...%. FlexiCDEdi|
00000010  74 6f 72 20 4c 45 4e 20  41 6e 64 72 65 77 20 42  |tor LEN Andrew B|
00000020  6f 6f 6b 65 72 0d 00 14  2a f4 20 6f 6e 6c 79 20  |ooker...*. only |
00000030  74 6f 20 62 65 20 64 69  73 74 72 69 62 75 74 65  |to be distribute|
00000040  64 20 77 69 74 68 20 21  46 6c 65 78 69 43 44 0d  |d with !FlexiCD.|
00000050  00 1e 20 c8 9b 20 22 46  6c 65 78 69 43 44 3a 45  |.. .. "FlexiCD:E|
00000060  64 69 74 6f 72 2e 4d 65  73 73 61 67 65 73 22 0d  |ditor.Messages".|
00000070  00 28 20 ee 85 ee 85 87  3a 85 30 2c a4 69 6e 69  |.( .....:.0,.ini|
00000080  74 65 72 72 6f 72 28 f6  24 2c c3 9e 29 3a e0 0d  |terror(.$,..):..|
00000090  00 32 05 3a 0d 00 3c 05  3a 0d 00 46 21 f4 20 2a  |.2.:..<.:..F!. *|
000000a0  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |****************|
000000b0  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 0d 00 50 23 6c 61  |**********..P#la|
000000c0  72 67 65 73 74 64 65 66  25 3d 39 32 30 30 3a 69  |rgestdef%=9200:i|
000000d0  6e 64 69 72 6c 65 6e 25  3d 37 33 30 30 0d 00 5a  |ndirlen%=7300..Z|
000000e0  21 f4 20 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |!. *************|
000000f0  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 0d 00  |**************..|
00000100  64 05 3a 0d 00 6e 15 c8  99 20 22 48 6f 75 72 67  |d.:..n... "Hourg|
00000110  6c 61 73 73 5f 4f 6e 22  0d 00 78 50 de 20 62 6c  |lass_On"..xP. bl|
00000120  6f 63 6b 25 20 6c 61 72  67 65 73 74 64 65 66 25  |ock% largestdef%|
00000130  2c 69 6e 64 69 72 25 20  69 6e 64 69 72 6c 65 6e  |,indir% indirlen|
00000140  25 2c 74 65 6d 70 25 20  32 35 35 2c 66 69 6c 65  |%,temp% 255,file|
00000150  64 65 73 63 25 20 31 35  2c 74 61 73 6b 25 20 34  |desc% 15,task% 4|
00000160  2c 6d 73 67 73 25 20 33  0d 00 82 27 de 20 66 69  |,msgs% 3...'. fi|
00000170  6c 65 25 20 35 33 30 30  2c 70 72 6f 67 25 20 31  |le% 5300,prog% 1|
00000180  30 30 2c 6e 6f 74 75 73  65 64 25 20 31 30 30 0d  |00,notused% 100.|
00000190  00 8c 37 de 20 6e 6f 74  72 61 63 6b 73 25 20 33  |..7. notracks% 3|
000001a0  2c 74 72 61 63 6b 73 74  69 6d 65 25 20 31 30 2c  |,trackstime% 10,|
000001b0  6e 6f 70 72 6f 67 25 20  33 2c 70 72 6f 67 74 69  |noprog% 3,progti|
000001c0  6d 65 25 20 31 30 0d 00  96 37 de 20 74 72 61 63  |me% 10...7. trac|
000001d0  6b 6e 61 6d 65 25 20 34  30 2c 73 6d 25 20 33 2c  |kname% 40,sm% 3,|
000001e0  73 73 25 20 33 2c 73 66  25 20 33 2c 65 6d 25 20  |ss% 3,sf% 3,em% |
000001f0  33 2c 65 73 25 20 33 2c  65 66 25 20 33 0d 00 a0  |3,es% 3,ef% 3...|
00000200  15 de 20 73 6d 69 25 20  39 36 2c 65 6d 69 25 20  |.. smi% 96,emi% |
00000210  39 36 0d 00 aa 48 de 20  74 72 61 63 6b 73 6d 65  |96...H. tracksme|
00000220  6e 75 25 20 32 37 2b 32  34 2a 31 30 31 2c 6e 65  |nu% 27+24*101,ne|
00000230  77 74 72 61 63 6b 6d 65  6e 75 25 20 32 37 2b 32  |wtrackmenu% 27+2|
00000240  34 2a 31 30 30 2c 64 65  6c 65 74 65 6d 65 6e 75  |4*100,deletemenu|
00000250  25 20 32 37 2b 32 34 2a  39 39 0d 00 b4 37 73 73  |% 27+24*99...7ss|
00000260  69 25 3d 73 6d 69 25 2b  33 32 3a 73 66 69 25 3d  |i%=smi%+32:sfi%=|
00000270  73 73 69 25 2b 33 32 3a  65 73 69 25 3d 65 6d 69  |ssi%+32:esi%=emi|
00000280  25 2b 33 32 3a 65 66 69  25 3d 65 73 69 25 2b 33  |%+32:efi%=esi%+3|
00000290  32 0d 00 be 1e 65 6e 64  69 6e 64 69 72 25 3d 69  |2....endindir%=i|
000002a0  6e 64 69 72 25 2b 69 6e  64 69 72 6c 65 6e 25 0d  |ndir%+indirlen%.|
000002b0  00 c8 1a 24 74 61 73 6b  25 3d 22 54 41 53 4b 22  |...$task%="TASK"|
000002c0  3a 21 6d 73 67 73 25 3d  30 0d 00 d2 31 c8 99 20  |:!msgs%=0...1.. |
000002d0  22 57 69 6d 70 5f 49 6e  69 74 69 61 6c 69 73 65  |"Wimp_Initialise|
000002e0  22 2c 33 31 30 2c 21 74  61 73 6b 25 2c a4 62 61  |",310,!task%,.ba|
000002f0  6e 6e 65 72 2c 6d 73 67  73 25 0d 00 dc 0a 43 44  |nner,msgs%....CD|
00000300  73 25 3d 93 0d 00 e6 43  c8 99 20 22 58 4f 53 5f  |s%=....C.. "XOS_|
00000310  52 65 61 64 56 61 72 56  61 6c 22 2c 22 46 6c 65  |ReadVarVal","Fle|
00000320  78 69 43 44 24 49 6e 69  74 45 64 69 74 22 2c 74  |xiCD$InitEdit",t|
00000330  65 6d 70 25 2c 31 3c 3c  33 31 2c 30 20 b8 20 2c  |emp%,1<<31,0 . ,|
00000340  2c 63 68 65 63 6b 25 0d  00 f0 10 e7 20 63 68 65  |,check%..... che|
00000350  63 6b 25 3d 30 20 8c 0d  00 fa 12 20 20 69 6e 69  |ck%=0 .....  ini|
00000360  74 65 64 69 74 24 3d 22  22 0d 01 04 05 cc 0d 01  |tedit$="".......|
00000370  0e 40 20 20 c8 99 20 22  4f 53 5f 52 65 61 64 56  |.@  .. "OS_ReadV|
00000380  61 72 56 61 6c 22 2c 22  46 6c 65 78 69 43 44 24  |arVal","FlexiCD$|
00000390  49 6e 69 74 45 64 69 74  22 2c 74 65 6d 70 25 2c  |InitEdit",temp%,|
000003a0  32 35 35 2c 30 20 b8 20  2c 2c 6c 65 6e 25 0d 01  |255,0 . ,,len%..|
000003b0  18 12 20 20 e7 20 21 74  65 6d 70 25 3e 30 20 8c  |..  . !temp%>0 .|
000003c0  0d 01 22 42 20 20 20 20  69 6e 69 74 65 64 69 74  |.."B    initedit|
000003d0  24 3d a4 74 77 6f 28 74  65 6d 70 25 3f 32 29 2b  |$=.two(temp%?2)+|
000003e0  22 2e 22 2b a4 74 77 6f  28 74 65 6d 70 25 3f 31  |"."+.two(temp%?1|
000003f0  29 2b 22 2e 22 2b a4 74  77 6f 28 3f 74 65 6d 70  |)+"."+.two(?temp|
00000400  25 29 0d 01 2c 07 20 20  cc 0d 01 36 14 20 20 20  |%)..,.  ...6.   |
00000410  20 69 6e 69 74 65 64 69  74 24 3d 22 22 0d 01 40  | initedit$=""..@|
00000420  07 20 20 cd 0d 01 4a 37  20 20 c8 99 20 22 4f 53  |.  ...J7  .. "OS|
00000430  5f 53 65 74 56 61 72 56  61 6c 22 2c 22 46 6c 65  |_SetVarVal","Fle|
00000440  78 69 43 44 24 49 6e 69  74 45 64 69 74 22 2c 74  |xiCD$InitEdit",t|
00000450  65 6d 70 25 2c 2d 31 2c  30 2c 30 0d 01 54 05 cd  |emp%,-1,0,0..T..|
00000460  0d 01 5e 0f f2 6c 6f 61  64 61 6c 6c 43 44 73 0d  |..^..loadallCDs.|
00000470  01 68 36 c8 99 20 22 57  69 6d 70 5f 4f 70 65 6e  |.h6.. "Wimp_Open|
00000480  54 65 6d 70 6c 61 74 65  22 2c 2c 22 46 6c 65 78  |Template",,"Flex|
00000490  69 43 44 3a 45 64 69 74  6f 72 2e 54 65 6d 70 6c  |iCD:Editor.Templ|
000004a0  61 74 65 73 22 0d 01 72  30 64 75 6d 6d 79 25 3d  |ates"..r0dummy%=|
000004b0  30 3a 43 44 73 50 61 6e  65 48 65 69 67 68 74 25  |0:CDsPaneHeight%|
000004c0  3d 30 3a 4e 61 6d 65 73  50 61 6e 65 48 65 69 67  |=0:NamesPaneHeig|
000004d0  68 74 25 3d 30 0d 01 7c  3c 50 72 6f 67 50 61 6e  |ht%=0..|<ProgPan|
000004e0  65 31 48 65 69 67 68 74  25 3d 30 3a 50 72 6f 67  |e1Height%=0:Prog|
000004f0  50 61 6e 65 32 48 65 69  67 68 74 25 3d 30 3a 54  |Pane2Height%=0:T|
00000500  69 6d 65 73 50 61 6e 65  48 65 69 67 68 74 25 3d  |imesPaneHeight%=|
00000510  30 0d 01 86 2a 43 44 73  48 61 6e 64 6c 65 25 3d  |0...*CDsHandle%=|
00000520  a4 6c 6f 61 64 74 65 6d  70 6c 61 74 65 28 22 63  |.loadtemplate("c|
00000530  64 73 22 2c 64 75 6d 6d  79 25 29 0d 01 90 34 43  |ds",dummy%)...4C|
00000540  44 73 50 61 6e 65 25 3d  a4 6c 6f 61 64 74 65 6d  |DsPane%=.loadtem|
00000550  70 6c 61 74 65 28 22 63  64 5f 70 61 6e 65 22 2c  |plate("cd_pane",|
00000560  43 44 73 50 61 6e 65 48  65 69 67 68 74 25 29 0d  |CDsPaneHeight%).|
00000570  01 9a 2e 4e 61 6d 65 73  48 61 6e 64 6c 65 25 3d  |...NamesHandle%=|
00000580  a4 6c 6f 61 64 74 65 6d  70 6c 61 74 65 28 22 6e  |.loadtemplate("n|
00000590  61 6d 65 73 22 2c 64 75  6d 6d 79 25 29 0d 01 a4  |ames",dummy%)...|
000005a0  3b 4e 61 6d 65 73 50 61  6e 65 25 3d a4 6c 6f 61  |;NamesPane%=.loa|
000005b0  64 74 65 6d 70 6c 61 74  65 28 22 6e 61 6d 65 73  |dtemplate("names|
000005c0  5f 70 61 6e 65 22 2c 4e  61 6d 65 73 50 61 6e 65  |_pane",NamesPane|
000005d0  48 65 69 67 68 74 25 29  0d 01 ae 2c 50 72 6f 67  |Height%)...,Prog|
000005e0  48 61 6e 64 6c 65 25 3d  a4 6c 6f 61 64 74 65 6d  |Handle%=.loadtem|
000005f0  70 6c 61 74 65 28 22 70  72 6f 67 22 2c 64 75 6d  |plate("prog",dum|
00000600  6d 79 25 29 0d 01 b8 3b  50 72 6f 67 50 61 6e 65  |my%)...;ProgPane|
00000610  31 25 3d a4 6c 6f 61 64  74 65 6d 70 6c 61 74 65  |1%=.loadtemplate|
00000620  28 22 70 72 6f 67 5f 70  61 6e 65 31 22 2c 50 72  |("prog_pane1",Pr|
00000630  6f 67 50 61 6e 65 31 48  65 69 67 68 74 25 29 0d  |ogPane1Height%).|
00000640  01 c2 3b 50 72 6f 67 50  61 6e 65 32 25 3d a4 6c  |..;ProgPane2%=.l|
00000650  6f 61 64 74 65 6d 70 6c  61 74 65 28 22 70 72 6f  |oadtemplate("pro|
00000660  67 5f 70 61 6e 65 32 22  2c 50 72 6f 67 50 61 6e  |g_pane2",ProgPan|
00000670  65 32 48 65 69 67 68 74  25 29 0d 01 cc 2e 54 69  |e2Height%)....Ti|
00000680  6d 65 73 48 61 6e 64 6c  65 25 3d a4 6c 6f 61 64  |mesHandle%=.load|
00000690  74 65 6d 70 6c 61 74 65  28 22 74 69 6d 65 73 22  |template("times"|
000006a0  2c 64 75 6d 6d 79 25 29  0d 01 d6 2c 4d 69 73 63  |,dummy%)...,Misc|
000006b0  48 61 6e 64 6c 65 25 3d  a4 6c 6f 61 64 74 65 6d  |Handle%=.loadtem|
000006c0  70 6c 61 74 65 28 22 6d  69 73 63 22 2c 64 75 6d  |plate("misc",dum|
000006d0  6d 79 25 29 0d 01 e0 1b  c8 99 20 22 57 69 6d 70  |my%)...... "Wimp|
000006e0  5f 43 6c 6f 73 65 54 65  6d 70 6c 61 74 65 22 0d  |_CloseTemplate".|
000006f0  01 ea 0b 71 75 69 74 25  3d a3 0d 01 f4 10 64 72  |...quit%=.....dr|
00000700  61 67 67 69 6e 67 25 3d  2d 31 0d 01 fe 43 21 62  |agging%=-1...C!b|
00000710  6c 6f 63 6b 25 3d 43 44  73 48 61 6e 64 6c 65 25  |lock%=CDsHandle%|
00000720  3a c8 99 20 22 57 69 6d  70 5f 47 65 74 57 69 6e  |:.. "Wimp_GetWin|
00000730  64 6f 77 53 74 61 74 65  22 2c 2c 62 6c 6f 63 6b  |dowState",,block|
00000740  25 3a f2 6f 70 65 6e 77  69 6e 64 6f 77 0d 02 08  |%:.openwindow...|
00000750  16 c8 99 20 22 48 6f 75  72 67 6c 61 73 73 5f 4f  |... "Hourglass_O|
00000760  66 66 22 0d 02 12 05 3a  0d 02 1c 1f ee 85 f2 65  |ff"....:.......e|
00000770  72 72 6f 72 3a e7 20 63  61 6e 63 65 6c 25 20 8c  |rror:. cancel% .|
00000780  71 75 69 74 25 3d b9 0d  02 26 0e c8 95 20 ac 20  |quit%=...&... . |
00000790  71 75 69 74 25 0d 02 30  35 20 20 c8 99 20 22 57  |quit%..05  .. "W|
000007a0  69 6d 70 5f 50 6f 6c 6c  22 2c 2d 28 64 72 61 67  |imp_Poll",-(drag|
000007b0  67 69 6e 67 25 3d 2d 31  29 2c 62 6c 6f 63 6b 25  |ging%=-1),block%|
000007c0  20 b8 20 72 65 61 73 6f  6e 25 0d 02 3a 12 20 20  | . reason%..:.  |
000007d0  c8 8e 20 72 65 61 73 6f  6e 25 20 ca 0d 02 44 16  |.. reason% ...D.|
000007e0  20 20 20 20 c9 20 30 3a  f2 63 68 65 63 6b 64 72  |    . 0:.checkdr|
000007f0  61 67 0d 02 4e 19 20 20  20 20 c9 20 31 3a f2 72  |ag..N.    . 1:.r|
00000800  65 64 72 61 77 77 69 6e  64 6f 77 0d 02 58 17 20  |edrawwindow..X. |
00000810  20 20 20 c9 20 32 3a f2  6f 70 65 6e 77 69 6e 64  |   . 2:.openwind|
00000820  6f 77 0d 02 62 18 20 20  20 20 c9 20 33 3a f2 63  |ow..b.    . 3:.c|
00000830  6c 6f 73 65 77 69 6e 64  6f 77 0d 02 6c 46 20 20  |losewindow..lF  |
00000840  20 20 c9 20 36 3a f2 6d  6f 75 73 65 63 6c 69 63  |  . 6:.mouseclic|
00000850  6b 28 62 6c 6f 63 6b 25  21 31 32 2c 62 6c 6f 63  |k(block%!12,bloc|
00000860  6b 25 21 31 36 2c 62 6c  6f 63 6b 25 21 38 2c 21  |k%!16,block%!8,!|
00000870  62 6c 6f 63 6b 25 2c 62  6c 6f 63 6b 25 21 34 29  |block%,block%!4)|
00000880  0d 02 76 19 20 20 20 20  c9 20 37 3a f2 64 72 61  |..v.    . 7:.dra|
00000890  67 66 69 6e 69 73 68 65  64 0d 02 80 31 20 20 20  |gfinished...1   |
000008a0  20 c9 20 38 3a f2 6b 65  79 70 72 65 73 73 28 21  | . 8:.keypress(!|
000008b0  62 6c 6f 63 6b 25 2c 62  6c 6f 63 6b 25 21 34 2c  |block%,block%!4,|
000008c0  62 6c 6f 63 6b 25 21 32  34 29 0d 02 8a 26 20 20  |block%!24)...&  |
000008d0  20 20 c9 20 39 3a f2 6d  65 6e 75 73 65 6c 28 21  |  . 9:.menusel(!|
000008e0  62 6c 6f 63 6b 25 2c 62  6c 6f 63 6b 25 21 34 29  |block%,block%!4)|
000008f0  0d 02 94 25 20 20 20 20  c9 20 31 37 2c 31 38 3a  |...%    . 17,18:|
00000900  e7 20 62 6c 6f 63 6b 25  21 31 36 3d 30 20 71 75  |. block%!16=0 qu|
00000910  69 74 25 3d b9 0d 02 9e  07 20 20 cb 0d 02 a8 05  |it%=.....  .....|
00000920  ce 0d 02 b2 17 c8 99 20  22 57 69 6d 70 5f 43 6c  |....... "Wimp_Cl|
00000930  6f 73 65 44 6f 77 6e 22  0d 02 bc 05 e0 0d 02 c6  |oseDown"........|
00000940  05 3a 0d 02 d0 05 3a 0d  02 da 05 3a 0d 02 e4 05  |.:....:....:....|
00000950  3a 0d 02 ee 05 3a 0d 02  f8 05 3a 0d 03 02 05 3a  |:....:....:....:|
00000960  0d 03 0c 10 dd f2 6c 6f  61 64 61 6c 6c 43 44 73  |......loadallCDs|
00000970  0d 03 16 1b ea 20 73 6c  6f 74 25 2c 6e 65 77 73  |..... slot%,news|
00000980  6c 6f 74 25 2c 63 6f 75  6e 74 25 0d 03 20 19 61  |lot%,count%.. .a|
00000990  64 6a 75 73 74 43 44 73  63 72 6f 6c 6c 25 3d 31  |djustCDscroll%=1|
000009a0  3c 3c 33 31 0d 03 2a 33  c8 99 20 22 4f 53 5f 46  |<<31..*3.. "OS_F|
000009b0  53 43 6f 6e 74 72 6f 6c  22 2c 32 38 2c 22 46 6c  |SControl",28,"Fl|
000009c0  65 78 69 43 44 3a 43 44  73 22 2c 2c 31 20 b8 20  |exiCD:CDs",,1 . |
000009d0  2c 2c 2c 63 64 73 25 0d  03 34 0e e7 20 63 64 73  |,,,cds%..4.. cds|
000009e0  25 3e 30 20 8c 0d 03 3e  26 20 20 c8 99 20 22 57  |%>0 ...>&  .. "W|
000009f0  69 6d 70 5f 53 6c 6f 74  53 69 7a 65 22 2c 2d 31  |imp_SlotSize",-1|
00000a00  2c 2d 31 20 b8 20 73 6c  6f 74 25 0d 03 48 34 20  |,-1 . slot%..H4 |
00000a10  20 c8 99 20 22 57 69 6d  70 5f 53 6c 6f 74 53 69  | .. "Wimp_SlotSi|
00000a20  7a 65 22 2c 73 6c 6f 74  25 2b 63 64 73 25 2a 36  |ze",slot%+cds%*6|
00000a30  38 2c 2d 31 20 b8 20 6e  65 77 73 6c 6f 74 25 0d  |8,-1 . newslot%.|
00000a40  03 52 29 20 20 e7 20 6e  65 77 73 6c 6f 74 25 3c  |.R)  . newslot%<|
00000a50  73 6c 6f 74 25 2b 63 64  73 25 2a 36 34 20 8c 85  |slot%+cds%*64 ..|
00000a60  30 2c a4 6e 6f 6d 65 6d  0d 03 5c 0e 20 20 63 6f  |0,.nomem..\.  co|
00000a70  75 6e 74 25 3d 30 0d 03  66 1d 20 20 f2 72 65 61  |unt%=0..f.  .rea|
00000a80  64 64 69 72 28 22 46 6c  65 78 69 43 44 3a 43 44  |ddir("FlexiCD:CD|
00000a90  73 22 29 0d 03 70 05 cd  0d 03 7a 21 c8 99 20 22  |s")..p....z!.. "|
00000aa0  48 6f 75 72 67 6c 61 73  73 5f 50 65 72 63 65 6e  |Hourglass_Percen|
00000ab0  74 61 67 65 22 2c 31 30  30 0d 03 84 0e e7 20 63  |tage",100..... c|
00000ac0  64 73 25 3e 30 20 8c 0d  03 8e 3b 20 20 c8 99 20  |ds%>0 ....;  .. |
00000ad0  22 4f 53 5f 48 65 61 70  53 6f 72 74 22 2c 63 64  |"OS_HeapSort",cd|
00000ae0  73 25 2c 43 44 73 25 2b  63 64 73 25 2a 36 34 2b  |s%,CDs%+cds%*64+|
00000af0  28 33 3c 3c 33 30 29 2c  34 2c 2c 43 44 73 25 2c  |(3<<30),4,,CDs%,|
00000b00  36 34 0d 03 98 17 20 20  e7 20 69 6e 69 74 65 64  |64....  . inited|
00000b10  69 74 24 3c 3e 22 22 20  8c 0d 03 a2 1a 20 20 20  |it$<>"" .....   |
00000b20  20 e3 20 6c 6f 6f 70 25  3d 30 20 b8 20 63 64 73  | . loop%=0 . cds|
00000b30  25 2d 31 0d 03 ac 2f 20  20 20 20 20 20 e7 20 c2  |%-1.../      . .|
00000b40  24 28 43 44 73 25 2b 6c  6f 6f 70 25 2a 36 34 2b  |$(CDs%+loop%*64+|
00000b50  34 31 29 2c 38 29 3d 69  6e 69 74 65 64 69 74 24  |41),8)=initedit$|
00000b60  20 8c 0d 03 b6 39 20 20  20 20 20 20 20 20 3f 28  | ....9        ?(|
00000b70  43 44 73 25 2b 6c 6f 6f  70 25 2a 36 34 2b 35 32  |CDs%+loop%*64+52|
00000b80  29 3d 28 28 3f 28 43 44  73 25 2b 6c 6f 6f 70 25  |)=((?(CDs%+loop%|
00000b90  2a 36 34 2b 35 32 29 29  84 31 29 0d 03 c0 46 20  |*64+52)).1)...F |
00000ba0  20 20 20 20 20 20 20 c8  99 20 22 4f 53 5f 46 69  |       .. "OS_Fi|
00000bb0  6c 65 22 2c 31 36 2c 22  46 6c 65 78 69 43 44 3a  |le",16,"FlexiCD:|
00000bc0  43 44 73 2e 22 2b 24 28  43 44 73 25 2b 6c 6f 6f  |CDs."+$(CDs%+loo|
00000bd0  70 25 2a 36 34 2b 34 31  29 2c 66 69 6c 65 25 2c  |p%*64+41),file%,|
00000be0  30 0d 03 ca 2b 20 20 20  20 20 20 20 20 61 64 6a  |0...+        adj|
00000bf0  75 73 74 43 44 73 63 72  6f 6c 6c 25 3d 2d 28 6c  |ustCDscroll%=-(l|
00000c00  6f 6f 70 25 2a 34 34 2d  32 36 30 29 0d 03 d4 0b  |oop%*44-260)....|
00000c10  20 20 20 20 20 20 cd 0d  03 de 09 20 20 20 20 ed  |      .....    .|
00000c20  0d 03 e8 07 20 20 cd 0d  03 f2 05 cd 0d 03 fc 05  |....  ..........|
00000c30  e1 0d 04 06 05 3a 0d 04  10 05 3a 0d 04 1a 14 dd  |.....:....:.....|
00000c40  f2 72 65 61 64 64 69 72  28 72 6f 6f 74 24 29 0d  |.readdir(root$).|
00000c50  04 24 16 ea 20 70 6f 73  25 2c 72 65 61 64 25 2c  |.$.. pos%,read%,|
00000c60  6e 61 6d 65 24 0d 04 2e  0a 70 6f 73 25 3d 30 0d  |name$....pos%=0.|
00000c70  04 38 05 f5 0d 04 42 2f  20 20 c8 99 20 22 48 6f  |.8....B/  .. "Ho|
00000c80  75 72 67 6c 61 73 73 5f  50 65 72 63 65 6e 74 61  |urglass_Percenta|
00000c90  67 65 22 2c 31 30 30 2a  63 6f 75 6e 74 25 2f 63  |ge",100*count%/c|
00000ca0  64 73 25 0d 04 4c 07 20  20 f5 0d 04 56 42 20 20  |ds%..L.  ...VB  |
00000cb0  20 20 c8 99 20 22 4f 53  5f 47 42 50 42 22 2c 31  |  .. "OS_GBPB",1|
00000cc0  30 2c 72 6f 6f 74 24 2c  74 65 6d 70 25 2c 31 2c  |0,root$,temp%,1,|
00000cd0  70 6f 73 25 2c 32 35 36  2c 22 2a 22 20 b8 20 2c  |pos%,256,"*" . ,|
00000ce0  2c 2c 72 65 61 64 25 2c  70 6f 73 25 0d 04 60 18  |,,read%,pos%..`.|
00000cf0  20 20 fd 72 65 61 64 25  3d 31 20 84 20 70 6f 73  |  .read%=1 . pos|
00000d00  25 3d 2d 31 0d 04 6a 12  20 20 e7 20 70 6f 73 25  |%=-1..j.  . pos%|
00000d10  3c 3e 2d 31 20 8c 0d 04  74 2d 20 20 20 20 6e 61  |<>-1 ...t-    na|
00000d20  6d 65 24 3d 72 6f 6f 74  24 2b 22 2e 22 2b a4 72  |me$=root$+"."+.r|
00000d30  65 61 64 73 74 72 69 6e  67 28 74 65 6d 70 25 2b  |eadstring(temp%+|
00000d40  32 30 29 0d 04 7e 16 20  20 20 20 e7 20 74 65 6d  |20)..~.    . tem|
00000d50  70 25 21 31 36 3d 32 20  8c 0d 04 88 19 20 20 20  |p%!16=2 .....   |
00000d60  20 20 20 f2 72 65 61 64  64 69 72 28 6e 61 6d 65  |   .readdir(name|
00000d70  24 29 0d 04 92 09 20 20  20 20 cc 0d 04 9c 16 20  |$)....    ..... |
00000d80  20 20 20 20 20 63 68 25  3d 8e 28 6e 61 6d 65 24  |     ch%=.(name$|
00000d90  29 0d 04 a6 27 20 20 20  20 20 20 c8 99 20 22 4f  |)...'      .. "O|
00000da0  53 5f 47 42 50 42 22 2c  33 2c 63 68 25 2c 74 65  |S_GBPB",3,ch%,te|
00000db0  6d 70 25 2c 34 31 2c 30  0d 04 b0 0f 20 20 20 20  |mp%,41,0....    |
00000dc0  20 20 d9 23 63 68 25 0d  04 ba 2e 20 20 20 20 20  |  .#ch%....     |
00000dd0  20 24 28 43 44 73 25 2b  63 6f 75 6e 74 25 2a 36  | $(CDs%+count%*6|
00000de0  34 29 3d a4 72 65 61 64  73 74 72 69 6e 67 28 74  |4)=.readstring(t|
00000df0  65 6d 70 25 29 0d 04 c4  1a 20 20 20 20 20 20 6e  |emp%)....      n|
00000e00  61 6d 65 24 3d c2 6e 61  6d 65 24 2c 31 30 29 0d  |ame$=.name$,10).|
00000e10  04 ce 2b 20 20 20 20 20  20 e7 20 c0 6e 61 6d 65  |..+      . .name|
00000e20  24 2c 31 29 3c 3e 22 58  22 20 8c 6e 61 6d 65 24  |$,1)<>"X" .name$|
00000e30  3d c2 6e 61 6d 65 24 2c  38 29 0d 04 d8 24 20 20  |=.name$,8)...$  |
00000e40  20 20 20 20 24 28 43 44  73 25 2b 63 6f 75 6e 74  |    $(CDs%+count|
00000e50  25 2a 36 34 2b 34 31 29  3d 6e 61 6d 65 24 0d 04  |%*64+41)=name$..|
00000e60  e2 20 20 20 20 20 20 20  21 28 43 44 73 25 2b 63  |.       !(CDs%+c|
00000e70  6f 75 6e 74 25 2a 36 34  2b 35 32 29 3d 30 0d 04  |ount%*64+52)=0..|
00000e80  ec 20 20 20 20 20 20 20  21 28 43 44 73 25 2b 63  |.       !(CDs%+c|
00000e90  6f 75 6e 74 25 2a 36 34  2b 35 36 29 3d 30 0d 04  |ount%*64+56)=0..|
00000ea0  f6 20 20 20 20 20 20 20  21 28 43 44 73 25 2b 63  |.       !(CDs%+c|
00000eb0  6f 75 6e 74 25 2a 36 34  2b 36 30 29 3d 30 0d 05  |ount%*64+60)=0..|
00000ec0  00 13 20 20 20 20 20 20  63 6f 75 6e 74 25 2b 3d  |..      count%+=|
00000ed0  31 0d 05 0a 09 20 20 20  20 cd 0d 05 14 07 20 20  |1....    .....  |
00000ee0  cd 0d 05 1e 0c fd 70 6f  73 25 3d 2d 31 0d 05 28  |......pos%=-1..(|
00000ef0  05 e1 0d 05 32 05 3a 0d  05 3c 05 3a 0d 05 46 24  |....2.:..<.:..F$|
00000f00  f4 20 72 65 74 75 72 6e  73 20 61 20 74 77 6f 20  |. returns a two |
00000f10  64 69 67 69 74 20 68 65  78 20 73 74 72 69 6e 67  |digit hex string|
00000f20  0d 05 50 0f dd a4 74 77  6f 28 76 61 6c 25 29 0d  |..P...two(val%).|
00000f30  05 5a 0c ea 20 72 65 70  6c 79 24 0d 05 64 25 e7  |.Z.. reply$..d%.|
00000f40  20 76 61 6c 25 3c 31 36  20 8c 20 72 65 70 6c 79  | val%<16 . reply|
00000f50  24 3d 22 30 22 20 8b 72  65 70 6c 79 24 3d 22 22  |$="0" .reply$=""|
00000f60  0d 05 6e 12 3d 72 65 70  6c 79 24 2b c3 7e 76 61  |..n.=reply$+.~va|
00000f70  6c 25 0d 05 78 05 3a 0d  05 82 28 f4 20 72 65 74  |l%..x.:...(. ret|
00000f80  75 72 6e 73 20 61 20 74  77 6f 20 64 69 67 69 74  |urns a two digit|
00000f90  20 64 65 63 69 6d 61 6c  20 73 74 72 69 6e 67 0d  | decimal string.|
00000fa0  05 8c 0f dd a4 64 69 67  28 76 61 6c 25 29 0d 05  |.....dig(val%)..|
00000fb0  96 0c ea 20 72 65 70 6c  79 24 0d 05 a0 25 e7 20  |... reply$...%. |
00000fc0  76 61 6c 25 3c 31 30 20  8c 20 72 65 70 6c 79 24  |val%<10 . reply$|
00000fd0  3d 22 30 22 20 8b 72 65  70 6c 79 24 3d 22 22 0d  |="0" .reply$="".|
00000fe0  05 aa 11 3d 72 65 70 6c  79 24 2b c3 76 61 6c 25  |...=reply$+.val%|
00000ff0  0d 05 b4 05 3a 0d 05 be  05 3a 0d 05 c8 05 3a 0d  |....:....:....:.|
00001000  05 d2 29 f4 20 72 65 61  64 73 20 61 20 63 74 72  |..). reads a ctr|
00001010  6c 2d 63 68 61 72 20 74  65 72 6d 69 6e 61 74 65  |l-char terminate|
00001020  64 20 73 74 72 69 6e 67  0d 05 dc 17 dd a4 72 65  |d string......re|
00001030  61 64 73 74 72 69 6e 67  28 61 64 64 72 25 29 0d  |adstring(addr%).|
00001040  05 e6 12 ea 20 73 74 72  24 3a 73 74 72 24 3d 22  |.... str$:str$="|
00001050  22 0d 05 f0 12 c8 95 20  28 3f 61 64 64 72 25 29  |"...... (?addr%)|
00001060  3e 33 31 0d 05 fa 15 20  20 73 74 72 24 2b 3d bd  |>31....  str$+=.|
00001070  28 3f 61 64 64 72 25 29  0d 06 04 0e 20 20 61 64  |(?addr%)....  ad|
00001080  64 72 25 2b 3d 31 0d 06  0e 05 ce 0d 06 18 09 3d  |dr%+=1.........=|
00001090  73 74 72 24 0d 06 22 05  3a 0d 06 2c 05 3a 0d 06  |str$..".:..,.:..|
000010a0  36 1f f4 20 73 74 6f 72  65 73 20 61 20 7a 65 72  |6.. stores a zer|
000010b0  6f 2d 74 65 72 6d 20 73  74 72 69 6e 67 0d 06 40  |o-term string..@|
000010c0  1e dd f2 70 75 74 73 74  72 69 6e 67 28 61 64 64  |...putstring(add|
000010d0  72 25 2c 73 74 72 69 6e  67 24 29 0d 06 4a 12 24  |r%,string$)..J.$|
000010e0  61 64 64 72 25 3d 73 74  72 69 6e 67 24 0d 06 54  |addr%=string$..T|
000010f0  19 3f 28 61 64 64 72 25  2b a9 28 73 74 72 69 6e  |.?(addr%+.(strin|
00001100  67 24 29 29 3d 30 0d 06  5e 05 e1 0d 06 68 05 3a  |g$))=0..^....h.:|
00001110  0d 06 72 05 3a 0d 06 7c  05 3a 0d 06 86 05 3a 0d  |..r.:..|.:....:.|
00001120  06 90 05 3a 0d 06 9a 05  3a 0d 06 a4 27 dd a4 6c  |...:....:...'..l|
00001130  6f 61 64 74 65 6d 70 6c  61 74 65 28 6e 61 6d 65  |oadtemplate(name|
00001140  24 2c f8 20 70 61 6e 65  68 65 69 67 68 74 25 29  |$,. paneheight%)|
00001150  0d 06 ae 1b ea 20 68 61  6e 64 6c 65 25 2c 68 65  |..... handle%,he|
00001160  69 67 68 74 25 2c 6c 6f  6f 70 25 0d 06 b8 49 c8  |ight%,loop%...I.|
00001170  99 20 22 57 69 6d 70 5f  4c 6f 61 64 54 65 6d 70  |. "Wimp_LoadTemp|
00001180  6c 61 74 65 22 2c 2c 62  6c 6f 63 6b 25 2c 69 6e  |late",,block%,in|
00001190  64 69 72 25 2c 65 6e 64  69 6e 64 69 72 25 2c 2d  |dir%,endindir%,-|
000011a0  31 2c 6e 61 6d 65 24 2c  30 20 b8 20 2c 2c 69 6e  |1,name$,0 . ,,in|
000011b0  64 69 72 25 0d 06 c2 24  70 61 6e 65 68 65 69 67  |dir%...$paneheig|
000011c0  68 74 25 3d 28 62 6c 6f  63 6b 25 21 31 32 2d 62  |ht%=(block%!12-b|
000011d0  6c 6f 63 6b 25 21 34 29  0d 06 cc 17 e7 20 6e 61  |lock%!4)..... na|
000011e0  6d 65 24 3d 22 63 64 5f  70 61 6e 65 22 20 8c 0d  |me$="cd_pane" ..|
000011f0  06 d6 18 20 20 68 65 69  67 68 74 25 3d 2d 28 34  |...  height%=-(4|
00001200  34 2a 63 64 73 25 29 0d  06 e0 2f 20 20 e7 20 28  |4*cds%).../  . (|
00001210  62 6c 6f 63 6b 25 21 34  34 29 3e 68 65 69 67 68  |block%!44)>heigh|
00001220  74 25 20 8c 20 62 6c 6f  63 6b 25 21 34 34 3d 68  |t% . block%!44=h|
00001230  65 69 67 68 74 25 0d 06  ea 05 cd 0d 06 f4 2b e7  |eight%........+.|
00001240  20 6e 61 6d 65 24 3d 22  6e 61 6d 65 73 22 20 8c  | name$="names" .|
00001250  20 21 28 62 6c 6f 63 6b  25 2b 38 38 2b 32 30 29  | !(block%+88+20)|
00001260  3d 66 69 6c 65 25 0d 06  fe 1a e7 20 6e 61 6d 65  |=file%..... name|
00001270  24 3d 22 6e 61 6d 65 73  5f 70 61 6e 65 22 20 8c  |$="names_pane" .|
00001280  0d 07 08 14 20 20 e3 20  6c 6f 6f 70 25 3d 30 20  |....  . loop%=0 |
00001290  b8 20 39 38 0d 07 12 32  20 20 20 20 21 28 62 6c  |. 98...2    !(bl|
000012a0  6f 63 6b 25 2b 38 38 2b  6c 6f 6f 70 25 2a 33 32  |ock%+88+loop%*32|
000012b0  2b 32 30 29 3d 66 69 6c  65 25 2b 34 34 2b 34 34  |+20)=file%+44+44|
000012c0  2a 6c 6f 6f 70 25 0d 07  1c 07 20 20 ed 0d 07 26  |*loop%....  ...&|
000012d0  05 cd 0d 07 30 2a e7 20  6e 61 6d 65 24 3d 22 70  |....0*. name$="p|
000012e0  72 6f 67 22 20 8c 20 21  28 62 6c 6f 63 6b 25 2b  |rog" . !(block%+|
000012f0  38 38 2b 32 30 29 3d 66  69 6c 65 25 0d 07 3a 1d  |88+20)=file%..:.|
00001300  e7 20 c0 6e 61 6d 65 24  2c 39 29 3d 22 70 72 6f  |. .name$,9)="pro|
00001310  67 5f 70 61 6e 65 22 20  8c 0d 07 44 31 20 20 21  |g_pane" ...D1  !|
00001320  28 62 6c 6f 63 6b 25 2b  38 38 2b 31 36 29 3d 28  |(block%+88+16)=(|
00001330  28 21 28 62 6c 6f 63 6b  25 2b 38 38 2b 31 36 29  |(!(block%+88+16)|
00001340  29 84 28 31 3c 3c 32 33  29 29 0d 07 4e 37 20 20  |).(1<<23))..N7  |
00001350  21 28 62 6c 6f 63 6b 25  2b 38 38 2b 33 32 2b 31  |!(block%+88+32+1|
00001360  36 29 3d 28 28 21 28 62  6c 6f 63 6b 25 2b 38 38  |6)=((!(block%+88|
00001370  2b 33 32 2b 31 36 29 29  84 28 31 3c 3c 32 33 29  |+32+16)).(1<<23)|
00001380  29 0d 07 58 05 cd 0d 07  62 15 e7 20 6e 61 6d 65  |)..X....b.. name|
00001390  24 3d 22 74 69 6d 65 73  22 20 8c 0d 07 6c 1b 20  |$="times" ...l. |
000013a0  20 21 28 62 6c 6f 63 6b  25 2b 38 38 2b 32 30 29  | !(block%+88+20)|
000013b0  3d 66 69 6c 65 25 0d 07  76 25 20 20 21 28 62 6c  |=file%..v%  !(bl|
000013c0  6f 63 6b 25 2b 38 38 2b  33 32 2a 38 2b 32 30 29  |ock%+88+32*8+20)|
000013d0  3d 74 72 61 63 6b 6e 61  6d 65 25 0d 07 80 1f 20  |=trackname%.... |
000013e0  20 21 28 62 6c 6f 63 6b  25 2b 38 38 2b 33 32 2a  | !(block%+88+32*|
000013f0  31 37 2b 32 30 29 3d 73  6d 25 0d 07 8a 1f 20 20  |17+20)=sm%....  |
00001400  21 28 62 6c 6f 63 6b 25  2b 38 38 2b 33 32 2a 31  |!(block%+88+32*1|
00001410  38 2b 32 30 29 3d 73 73  25 0d 07 94 1f 20 20 21  |8+20)=ss%....  !|
00001420  28 62 6c 6f 63 6b 25 2b  38 38 2b 33 32 2a 31 39  |(block%+88+32*19|
00001430  2b 32 30 29 3d 73 66 25  0d 07 9e 1f 20 20 21 28  |+20)=sf%....  !(|
00001440  62 6c 6f 63 6b 25 2b 38  38 2b 33 32 2a 32 38 2b  |block%+88+32*28+|
00001450  32 30 29 3d 65 6d 25 0d  07 a8 1f 20 20 21 28 62  |20)=em%....  !(b|
00001460  6c 6f 63 6b 25 2b 38 38  2b 33 32 2a 32 39 2b 32  |lock%+88+32*29+2|
00001470  30 29 3d 65 73 25 0d 07  b2 1f 20 20 21 28 62 6c  |0)=es%....  !(bl|
00001480  6f 63 6b 25 2b 38 38 2b  33 32 2a 33 30 2b 32 30  |ock%+88+32*30+20|
00001490  29 3d 65 66 25 0d 07 bc  1b 20 20 e3 20 6c 6f 6f  |)=ef%....  . loo|
000014a0  70 25 3d 30 20 b8 20 33  32 2a 33 2d 31 20 88 34  |p%=0 . 32*3-1 .4|
000014b0  0d 07 c6 2b 20 20 20 20  73 6d 69 25 21 6c 6f 6f  |...+    smi%!loo|
000014c0  70 25 3d 21 28 62 6c 6f  63 6b 25 2b 38 38 2b 33  |p%=!(block%+88+3|
000014d0  32 2a 31 34 2b 6c 6f 6f  70 25 29 0d 07 d0 2b 20  |2*14+loop%)...+ |
000014e0  20 20 20 65 6d 69 25 21  6c 6f 6f 70 25 3d 21 28  |   emi%!loop%=!(|
000014f0  62 6c 6f 63 6b 25 2b 38  38 2b 33 32 2a 32 35 2b  |block%+88+32*25+|
00001500  6c 6f 6f 70 25 29 0d 07  da 07 20 20 ed 0d 07 e4  |loop%)....  ....|
00001510  05 cd 0d 07 ee 14 e7 20  6e 61 6d 65 24 3d 22 6d  |....... name$="m|
00001520  69 73 63 22 20 8c 0d 07  f8 1b 20 20 21 28 62 6c  |isc" .....  !(bl|
00001530  6f 63 6b 25 2b 38 38 2b  32 30 29 3d 66 69 6c 65  |ock%+88+20)=file|
00001540  25 0d 08 02 24 20 20 21  28 62 6c 6f 63 6b 25 2b  |%...$  !(block%+|
00001550  38 38 2b 33 32 2a 35 2b  32 30 29 3d 6e 6f 74 72  |88+32*5+20)=notr|
00001560  61 63 6b 73 25 0d 08 0c  26 20 20 21 28 62 6c 6f  |acks%...&  !(blo|
00001570  63 6b 25 2b 38 38 2b 33  32 2a 37 2b 32 30 29 3d  |ck%+88+32*7+20)=|
00001580  74 72 61 63 6b 73 74 69  6d 65 25 0d 08 16 22 20  |trackstime%..." |
00001590  20 21 28 62 6c 6f 63 6b  25 2b 38 38 2b 33 32 2a  | !(block%+88+32*|
000015a0  39 2b 32 30 29 3d 6e 6f  70 72 6f 67 25 0d 08 20  |9+20)=noprog%.. |
000015b0  25 20 20 21 28 62 6c 6f  63 6b 25 2b 38 38 2b 33  |%  !(block%+88+3|
000015c0  32 2a 31 31 2b 32 30 29  3d 70 72 6f 67 74 69 6d  |2*11+20)=progtim|
000015d0  65 25 0d 08 2a 05 cd 0d  08 34 2c c8 99 20 22 57  |e%..*....4,.. "W|
000015e0  69 6d 70 5f 43 72 65 61  74 65 57 69 6e 64 6f 77  |imp_CreateWindow|
000015f0  22 2c 2c 62 6c 6f 63 6b  25 20 b8 20 68 61 6e 64  |",,block% . hand|
00001600  6c 65 25 0d 08 3e 0c 3d  68 61 6e 64 6c 65 25 0d  |le%..>.=handle%.|
00001610  08 48 05 3a 0d 08 52 05  3a 0d 08 5c 05 3a 0d 08  |.H.:..R.:..\.:..|
00001620  66 0b dd f2 65 72 72 6f  72 0d 08 70 0c ea 20 63  |f...error..p.. c|
00001630  6c 69 63 6b 25 0d 08 7a  25 21 74 65 6d 70 25 3d  |lick%..z%!temp%=|
00001640  30 3a 24 28 74 65 6d 70  25 2b 34 29 3d a4 65 72  |0:$(temp%+4)=.er|
00001650  72 6f 72 28 f6 24 2c c3  9e 29 0d 08 84 33 c8 99  |ror(.$,..)...3..|
00001660  20 22 57 69 6d 70 5f 52  65 70 6f 72 74 45 72 72  | "Wimp_ReportErr|
00001670  6f 72 22 2c 74 65 6d 70  25 2c 33 2c a4 62 61 6e  |or",temp%,3,.ban|
00001680  6e 65 72 20 b8 20 2c 63  6c 69 63 6b 25 0d 08 8e  |ner . ,click%...|
00001690  30 e7 20 63 6c 69 63 6b  25 3d 31 20 8c 6f 6b 25  |0. click%=1 .ok%|
000016a0  3d b9 3a 63 61 6e 63 65  6c 25 3d a3 20 8b 6f 6b  |=.:cancel%=. .ok|
000016b0  25 3d a3 3a 63 61 6e 63  65 6c 25 3d b9 0d 08 98  |%=.:cancel%=....|
000016c0  05 e1 0d 08 a2 05 3a 0d  08 ac 05 3a 0d 08 b6 05  |......:....:....|
000016d0  3a 0d 08 c0 05 3a 0d 08  ca 10 dd f2 6f 70 65 6e  |:....:......open|
000016e0  77 69 6e 64 6f 77 0d 08  d4 10 c8 8e 20 21 62 6c  |window...... !bl|
000016f0  6f 63 6b 25 20 ca 0d 08  de 3c 20 20 c9 20 43 44  |ock% ....<  . CD|
00001700  73 48 61 6e 64 6c 65 25  3a f2 6f 70 65 6e 70 61  |sHandle%:.openpa|
00001710  6e 65 28 43 44 73 50 61  6e 65 25 2c 31 32 2c 2d  |ne(CDsPane%,12,-|
00001720  31 36 2c 43 44 73 50 61  6e 65 48 65 69 67 68 74  |16,CDsPaneHeight|
00001730  25 29 0d 08 e8 42 20 20  c9 20 4e 61 6d 65 73 48  |%)...B  . NamesH|
00001740  61 6e 64 6c 65 25 3a f2  6f 70 65 6e 70 61 6e 65  |andle%:.openpane|
00001750  28 4e 61 6d 65 73 50 61  6e 65 25 2c 31 32 2c 2d  |(NamesPane%,12,-|
00001760  37 36 2c 4e 61 6d 65 73  50 61 6e 65 48 65 69 67  |76,NamesPaneHeig|
00001770  68 74 25 29 0d 08 f2 41  20 20 c9 20 50 72 6f 67  |ht%)...A  . Prog|
00001780  48 61 6e 64 6c 65 25 3a  f2 6f 70 65 6e 70 61 6e  |Handle%:.openpan|
00001790  65 28 50 72 6f 67 50 61  6e 65 31 25 2c 31 32 2c  |e(ProgPane1%,12,|
000017a0  2d 37 36 2c 50 72 6f 67  50 61 6e 65 31 48 65 69  |-76,ProgPane1Hei|
000017b0  67 68 74 25 29 0d 08 fc  45 20 20 20 20 20 20 20  |ght%)...E       |
000017c0  20 20 20 20 20 20 20 20  20 20 20 20 f2 6f 70 65  |            .ope|
000017d0  6e 70 61 6e 65 28 50 72  6f 67 50 61 6e 65 32 25  |npane(ProgPane2%|
000017e0  2c 31 32 2c 2d 33 36 34  2c 50 72 6f 67 50 61 6e  |,12,-364,ProgPan|
000017f0  65 32 48 65 69 67 68 74  25 29 0d 09 06 05 cb 0d  |e2Height%)......|
00001800  09 10 20 c8 99 20 22 57  69 6d 70 5f 4f 70 65 6e  |.. .. "Wimp_Open|
00001810  57 69 6e 64 6f 77 22 2c  2c 62 6c 6f 63 6b 25 0d  |Window",,block%.|
00001820  09 1a 05 e1 0d 09 24 05  3a 0d 09 2e 05 3a 0d 09  |......$.:....:..|
00001830  38 20 dd f2 6f 70 65 6e  70 61 6e 65 28 68 61 6e  |8 ..openpane(han|
00001840  64 6c 65 25 2c 78 25 2c  79 25 2c 68 25 29 0d 09  |dle%,x%,y%,h%)..|
00001850  42 08 ea 20 77 25 0d 09  4c 12 21 74 65 6d 70 25  |B.. w%..L.!temp%|
00001860  3d 68 61 6e 64 6c 65 25  0d 09 56 23 c8 99 20 22  |=handle%..V#.. "|
00001870  57 69 6d 70 5f 47 65 74  57 69 6e 64 6f 77 53 74  |Wimp_GetWindowSt|
00001880  61 74 65 22 2c 2c 74 65  6d 70 25 0d 09 60 17 77  |ate",,temp%..`.w|
00001890  25 3d 74 65 6d 70 25 21  31 32 2d 74 65 6d 70 25  |%=temp%!12-temp%|
000018a0  21 34 0d 09 6a 17 74 65  6d 70 25 21 34 3d 78 25  |!4..j.temp%!4=x%|
000018b0  2b 62 6c 6f 63 6b 25 21  34 0d 09 74 19 74 65 6d  |+block%!4..t.tem|
000018c0  70 25 21 31 36 3d 79 25  2b 62 6c 6f 63 6b 25 21  |p%!16=y%+block%!|
000018d0  31 36 0d 09 7e 17 74 65  6d 70 25 21 38 3d 74 65  |16..~.temp%!8=te|
000018e0  6d 70 25 21 31 36 2d 68  25 0d 09 88 17 74 65 6d  |mp%!16-h%....tem|
000018f0  70 25 21 31 32 3d 77 25  2b 74 65 6d 70 25 21 34  |p%!12=w%+temp%!4|
00001900  0d 09 92 16 74 65 6d 70  25 21 32 38 3d 62 6c 6f  |....temp%!28=blo|
00001910  63 6b 25 21 32 38 0d 09  9c 4e e7 20 61 64 6a 75  |ck%!28...N. adju|
00001920  73 74 43 44 73 63 72 6f  6c 6c 25 3c 3e 28 31 3c  |stCDscroll%<>(1<|
00001930  3c 33 31 29 20 8c 74 65  6d 70 25 21 32 34 3d 61  |<31) .temp%!24=a|
00001940  64 6a 75 73 74 43 44 73  63 72 6f 6c 6c 25 3a 61  |djustCDscroll%:a|
00001950  64 6a 75 73 74 43 44 73  63 72 6f 6c 6c 25 3d 31  |djustCDscroll%=1|
00001960  3c 3c 33 31 0d 09 a6 1f  c8 99 20 22 57 69 6d 70  |<<31...... "Wimp|
00001970  5f 4f 70 65 6e 57 69 6e  64 6f 77 22 2c 2c 74 65  |_OpenWindow",,te|
00001980  6d 70 25 0d 09 b0 15 62  6c 6f 63 6b 25 21 32 38  |mp%....block%!28|
00001990  3d 68 61 6e 64 6c 65 25  0d 09 ba 05 e1 0d 09 c4  |=handle%........|
000019a0  05 3a 0d 09 ce 05 3a 0d  09 d8 11 dd f2 63 6c 6f  |.:....:......clo|
000019b0  73 65 77 69 6e 64 6f 77  0d 09 e2 21 c8 99 20 22  |sewindow...!.. "|
000019c0  57 69 6d 70 5f 43 6c 6f  73 65 57 69 6e 64 6f 77  |Wimp_CloseWindow|
000019d0  22 2c 2c 62 6c 6f 63 6b  25 0d 09 ec 10 c8 8e 20  |",,block%...... |
000019e0  21 62 6c 6f 63 6b 25 20  ca 0d 09 f6 3f 20 20 c9  |!block% ....?  .|
000019f0  20 43 44 73 48 61 6e 64  6c 65 25 3a 21 74 65 6d  | CDsHandle%:!tem|
00001a00  70 25 3d 43 44 73 50 61  6e 65 25 3a c8 99 20 22  |p%=CDsPane%:.. "|
00001a10  57 69 6d 70 5f 43 6c 6f  73 65 57 69 6e 64 6f 77  |Wimp_CloseWindow|
00001a20  22 2c 2c 74 65 6d 70 25  0d 0a 00 43 20 20 c9 20  |",,temp%...C  . |
00001a30  4e 61 6d 65 73 48 61 6e  64 6c 65 25 3a 21 74 65  |NamesHandle%:!te|
00001a40  6d 70 25 3d 4e 61 6d 65  73 50 61 6e 65 25 3a c8  |mp%=NamesPane%:.|
00001a50  99 20 22 57 69 6d 70 5f  43 6c 6f 73 65 57 69 6e  |. "Wimp_CloseWin|
00001a60  64 6f 77 22 2c 2c 74 65  6d 70 25 0d 0a 0a 41 20  |dow",,temp%...A |
00001a70  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001a80  20 20 20 74 65 6d 70 25  21 34 3d 66 69 6c 65 25  |   temp%!4=file%|
00001a90  3f 34 31 3a 74 65 6d 70  25 21 38 3d 30 3a 74 65  |?41:temp%!8=0:te|
00001aa0  6d 70 25 21 31 32 3d 31  3c 3c 32 33 0d 0a 14 35  |mp%!12=1<<23...5|
00001ab0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001ac0  20 20 20 20 c8 99 20 22  57 69 6d 70 5f 53 65 74  |    .. "Wimp_Set|
00001ad0  49 63 6f 6e 53 74 61 74  65 22 2c 2c 74 65 6d 70  |IconState",,temp|
00001ae0  25 0d 0a 1e 42 20 20 c9  20 50 72 6f 67 48 61 6e  |%...B  . ProgHan|
00001af0  64 6c 65 25 3a 21 74 65  6d 70 25 3d 50 72 6f 67  |dle%:!temp%=Prog|
00001b00  50 61 6e 65 31 25 3a c8  99 20 22 57 69 6d 70 5f  |Pane1%:.. "Wimp_|
00001b10  43 6c 6f 73 65 57 69 6e  64 6f 77 22 2c 2c 74 65  |CloseWindow",,te|
00001b20  6d 70 25 0d 0a 28 45 20  20 20 20 20 20 20 20 20  |mp%..(E         |
00001b30  20 20 20 20 20 20 20 20  20 20 21 74 65 6d 70 25  |          !temp%|
00001b40  3d 50 72 6f 67 50 61 6e  65 32 25 3a c8 99 20 22  |=ProgPane2%:.. "|
00001b50  57 69 6d 70 5f 43 6c 6f  73 65 57 69 6e 64 6f 77  |Wimp_CloseWindow|
00001b60  22 2c 2c 74 65 6d 70 25  0d 0a 32 05 cb 0d 0a 3c  |",,temp%..2....<|
00001b70  05 e1 0d 0a 46 05 3a 0d  0a 50 05 3a 0d 0a 5a 05  |....F.:..P.:..Z.|
00001b80  3a 0d 0a 64 05 3a 0d 0a  6e 12 dd f2 72 65 64 72  |:..d.:..n...redr|
00001b90  61 77 77 69 6e 64 6f 77  0d 0a 78 13 ea 20 6f 78  |awwindow..x.. ox|
00001ba0  25 2c 6f 79 25 2c 6d 6f  72 65 25 0d 0a 82 2a c8  |%,oy%,more%...*.|
00001bb0  99 20 22 57 69 6d 70 5f  52 65 64 72 61 77 57 69  |. "Wimp_RedrawWi|
00001bc0  6e 64 6f 77 22 2c 2c 62  6c 6f 63 6b 25 20 b8 20  |ndow",,block% . |
00001bd0  6d 6f 72 65 25 0d 0a 8c  0c c8 95 20 6d 6f 72 65  |more%...... more|
00001be0  25 0d 0a 96 1c 20 20 6f  78 25 3d 62 6c 6f 63 6b  |%....  ox%=block|
00001bf0  25 21 34 2d 62 6c 6f 63  6b 25 21 32 30 0d 0a a0  |%!4-block%!20...|
00001c00  1d 20 20 6f 79 25 3d 62  6c 6f 63 6b 25 21 31 36  |.  oy%=block%!16|
00001c10  2d 62 6c 6f 63 6b 25 21  32 34 0d 0a aa 12 20 20  |-block%!24....  |
00001c20  c8 8e 20 21 62 6c 6f 63  6b 25 20 ca 0d 0a b4 2b  |.. !block% ....+|
00001c30  20 20 20 20 c9 20 43 44  73 50 61 6e 65 25 3a e7  |    . CDsPane%:.|
00001c40  20 43 44 73 25 3e 30 20  8c f2 72 65 64 72 61 77  | CDs%>0 ..redraw|
00001c50  43 44 73 50 61 6e 65 0d  0a be 25 20 20 20 20 c9  |CDsPane...%    .|
00001c60  20 4e 61 6d 65 73 50 61  6e 65 25 3a f2 72 65 64  | NamesPane%:.red|
00001c70  72 61 77 4e 61 6d 65 73  50 61 6e 65 0d 0a c8 25  |rawNamesPane...%|
00001c80  20 20 20 20 c9 20 50 72  6f 67 50 61 6e 65 31 25  |    . ProgPane1%|
00001c90  3a f2 72 65 64 72 61 77  50 72 6f 67 50 61 6e 65  |:.redrawProgPane|
00001ca0  31 0d 0a d2 25 20 20 20  20 c9 20 50 72 6f 67 50  |1...%    . ProgP|
00001cb0  61 6e 65 32 25 3a f2 72  65 64 72 61 77 50 72 6f  |ane2%:.redrawPro|
00001cc0  67 50 61 6e 65 32 0d 0a  dc 29 20 20 20 20 c9 20  |gPane2...)    . |
00001cd0  54 69 6d 65 73 48 61 6e  64 6c 65 25 3a f2 72 65  |TimesHandle%:.re|
00001ce0  64 72 61 77 54 69 6d 65  73 57 69 6e 64 6f 77 0d  |drawTimesWindow.|
00001cf0  0a e6 07 20 20 cb 0d 0a  f0 2c 20 20 c8 99 20 22  |...  ....,  .. "|
00001d00  57 69 6d 70 5f 47 65 74  52 65 63 74 61 6e 67 6c  |Wimp_GetRectangl|
00001d10  65 22 2c 2c 62 6c 6f 63  6b 25 20 b8 20 6d 6f 72  |e",,block% . mor|
00001d20  65 25 0d 0a fa 05 ce 0d  0b 04 05 e1 0d 0b 0e 05  |e%..............|
00001d30  3a 0d 0b 18 05 3a 0d 0b  22 13 dd f2 72 65 64 72  |:....:.."...redr|
00001d40  61 77 43 44 73 50 61 6e  65 0d 0b 2c 15 ea 20 73  |awCDsPane..,.. s|
00001d50  74 61 72 74 25 2c 65 6e  64 25 2c 63 64 25 0d 0b  |tart%,end%,cd%..|
00001d60  36 1d 73 74 61 72 74 25  3d 28 6f 79 25 2d 62 6c  |6.start%=(oy%-bl|
00001d70  6f 63 6b 25 21 34 30 29  81 34 34 0d 0b 40 1b 65  |ock%!40).44..@.e|
00001d80  6e 64 25 3d 28 6f 79 25  2d 62 6c 6f 63 6b 25 21  |nd%=(oy%-block%!|
00001d90  33 32 29 81 34 34 0d 0b  4a 18 e7 20 73 74 61 72  |32).44..J.. star|
00001da0  74 25 3c 30 20 8c 73 74  61 72 74 25 3d 30 0d 0b  |t%<0 .start%=0..|
00001db0  54 1d e7 20 65 6e 64 25  3e 3d 63 64 73 25 20 8c  |T.. end%>=cds% .|
00001dc0  65 6e 64 25 3d 63 64 73  25 2d 31 0d 0b 5e 13 e7  |end%=cds%-1..^..|
00001dd0  20 73 74 61 72 74 25 3c  63 64 73 25 20 8c 0d 0b  | start%<cds% ...|
00001de0  68 0e 20 20 21 74 65 6d  70 25 3d 30 0d 0b 72 11  |h.  !temp%=0..r.|
00001df0  20 20 74 65 6d 70 25 21  38 3d 38 30 30 0d 0b 7c  |  temp%!8=800..||
00001e00  18 20 20 74 65 6d 70 25  21 31 36 3d 26 31 37 30  |.  temp%!16=&170|
00001e10  30 30 31 31 31 0d 0b 86  11 20 20 74 65 6d 70 25  |00111....  temp%|
00001e20  21 32 34 3d 2d 31 0d 0b  90 11 20 20 74 65 6d 70  |!24=-1....  temp|
00001e30  25 21 32 38 3d 35 30 0d  0b 9a 19 20 20 e3 20 63  |%!28=50....  . c|
00001e40  64 25 3d 73 74 61 72 74  25 20 b8 20 65 6e 64 25  |d%=start% . end%|
00001e50  0d 0b a4 1c 20 20 20 20  74 65 6d 70 25 21 34 3d  |....    temp%!4=|
00001e60  2d 28 63 64 25 2a 34 34  2b 34 34 29 0d 0b ae 1a  |-(cd%*44+44)....|
00001e70  20 20 20 20 74 65 6d 70  25 21 31 32 3d 2d 28 63  |    temp%!12=-(c|
00001e80  64 25 2a 34 34 29 0d 0b  b8 1c 20 20 20 20 74 65  |d%*44)....    te|
00001e90  6d 70 25 21 32 30 3d 43  44 73 25 2b 36 34 2a 63  |mp%!20=CDs%+64*c|
00001ea0  64 25 0d 0b c2 25 20 20  20 20 e7 20 28 28 3f 28  |d%...%    . ((?(|
00001eb0  43 44 73 25 2b 36 34 2a  63 64 25 2b 35 32 29 29  |CDs%+64*cd%+52))|
00001ec0  80 31 29 3d 31 20 8c 0d  0b cc 27 20 20 20 20 20  |.1)=1 ....'     |
00001ed0  20 74 65 6d 70 25 21 31  36 3d 28 28 74 65 6d 70  | temp%!16=((temp|
00001ee0  25 21 31 36 29 84 28 31  3c 3c 32 31 29 29 0d 0b  |%!16).(1<<21))..|
00001ef0  d6 09 20 20 20 20 cc 0d  0b e0 2a 20 20 20 20 20  |..    ....*     |
00001f00  20 74 65 6d 70 25 21 31  36 3d 28 28 74 65 6d 70  | temp%!16=((temp|
00001f10  25 21 31 36 29 80 28 ac  28 31 3c 3c 32 31 29 29  |%!16).(.(1<<21))|
00001f20  29 0d 0b ea 09 20 20 20  20 cd 0d 0b f4 21 20 20  |)....    ....!  |
00001f30  20 20 c8 99 20 22 57 69  6d 70 5f 50 6c 6f 74 49  |  .. "Wimp_PlotI|
00001f40  63 6f 6e 22 2c 2c 74 65  6d 70 25 0d 0b fe 07 20  |con",,temp%.... |
00001f50  20 ed 0d 0c 08 05 cd 0d  0c 12 05 e1 0d 0c 1c 05  | ...............|
00001f60  3a 0d 0c 26 05 3a 0d 0c  30 05 3a 0d 0c 3a 15 dd  |:..&.:..0.:..:..|
00001f70  f2 72 65 64 72 61 77 4e  61 6d 65 73 50 61 6e 65  |.redrawNamesPane|
00001f80  0d 0c 44 13 ea 20 6c 6f  6f 70 25 2c 70 6f 73 25  |..D.. loop%,pos%|
00001f90  2c 7a 24 0d 0c 4e 14 e7  20 28 66 69 6c 65 25 3f  |,z$..N.. (file%?|
00001fa0  34 31 29 3e 31 20 8c 0d  0c 58 17 20 20 21 74 65  |41)>1 ...X.  !te|
00001fb0  6d 70 25 3d 4e 61 6d 65  73 50 61 6e 65 25 0d 0c  |mp%=NamesPane%..|
00001fc0  62 10 20 20 74 65 6d 70  25 21 34 3d 39 39 0d 0c  |b.  temp%!4=99..|
00001fd0  6c 23 20 20 c8 99 20 22  57 69 6d 70 5f 47 65 74  |l#  .. "Wimp_Get|
00001fe0  49 63 6f 6e 53 74 61 74  65 22 2c 2c 74 65 6d 70  |IconState",,temp|
00001ff0  25 0d 0c 76 1a 20 20 e3  20 6c 6f 6f 70 25 3d 32  |%..v.  . loop%=2|
00002000  20 b8 20 66 69 6c 65 25  3f 34 31 0d 0c 80 1e 20  | . file%?41.... |
00002010  20 20 20 74 65 6d 70 25  21 31 32 3d 28 74 65 6d  |   temp%!12=(tem|
00002020  70 25 21 31 32 29 2d 35  32 0d 0c 8a 1e 20 20 20  |p%!12)-52....   |
00002030  20 74 65 6d 70 25 21 32  30 3d 28 74 65 6d 70 25  | temp%!20=(temp%|
00002040  21 32 30 29 2d 35 32 0d  0c 94 25 20 20 20 20 70  |!20)-52...%    p|
00002050  6f 73 25 3d a7 24 28 74  65 6d 70 25 2b 32 38 29  |os%=.$(temp%+28)|
00002060  2c c3 28 6c 6f 6f 70 25  2d 31 29 29 0d 0c 9e 1b  |,.(loop%-1))....|
00002070  20 20 20 20 e7 20 6c 6f  6f 70 25 3d 31 30 20 8c  |    . loop%=10 .|
00002080  70 6f 73 25 2d 3d 31 0d  0c a8 16 20 20 20 20 7a  |pos%-=1....    z|
00002090  24 3d 24 28 74 65 6d 70  25 2b 32 38 29 0d 0c b2  |$=$(temp%+28)...|
000020a0  26 20 20 20 20 c1 7a 24  2c 70 6f 73 25 2c a9 28  |&    .z$,pos%,.(|
000020b0  c3 28 6c 6f 6f 70 25 29  29 29 3d c3 28 6c 6f 6f  |.(loop%)))=.(loo|
000020c0  70 25 29 0d 0c bc 16 20  20 20 20 24 28 74 65 6d  |p%)....    $(tem|
000020d0  70 25 2b 32 38 29 3d 7a  24 0d 0c c6 23 20 20 20  |p%+28)=z$...#   |
000020e0  20 c8 99 20 22 57 69 6d  70 5f 50 6c 6f 74 49 63  | .. "Wimp_PlotIc|
000020f0  6f 6e 22 2c 2c 74 65 6d  70 25 2b 38 0d 0c d0 07  |on",,temp%+8....|
00002100  20 20 ed 0d 0c da 05 cd  0d 0c e4 05 e1 0d 0c ee  |  ..............|
00002110  05 3a 0d 0c f8 05 3a 0d  0d 02 05 3a 0d 0d 0c 05  |.:....:....:....|
00002120  3a 0d 0d 16 15 dd f2 72  65 64 72 61 77 50 72 6f  |:......redrawPro|
00002130  67 50 61 6e 65 31 0d 0d  20 24 f2 72 65 64 72 61  |gPane1.. $.redra|
00002140  77 50 72 6f 67 50 61 6e  65 28 70 72 6f 67 25 2c  |wProgPane(prog%,|
00002150  6e 6f 69 6e 70 72 6f 67  25 29 0d 0d 2a 05 e1 0d  |noinprog%)..*...|
00002160  0d 34 05 3a 0d 0d 3e 15  dd f2 72 65 64 72 61 77  |.4.:..>...redraw|
00002170  50 72 6f 67 50 61 6e 65  32 0d 0d 48 2a f2 72 65  |ProgPane2..H*.re|
00002180  64 72 61 77 50 72 6f 67  50 61 6e 65 28 6e 6f 74  |drawProgPane(not|
00002190  75 73 65 64 25 2c 6e 6f  69 6e 6e 6f 74 75 73 65  |used%,noinnotuse|
000021a0  64 25 29 0d 0d 52 05 e1  0d 0d 5c 05 3a 0d 0d 66  |d%)..R....\.:..f|
000021b0  25 dd f2 72 65 64 72 61  77 50 72 6f 67 50 61 6e  |%..redrawProgPan|
000021c0  65 28 70 72 6f 67 25 2c  6e 6f 69 6e 70 72 6f 67  |e(prog%,noinprog|
000021d0  25 29 0d 0d 70 18 ea 20  73 74 61 72 74 25 2c 65  |%)..p.. start%,e|
000021e0  6e 64 25 2c 74 72 61 63  6b 25 0d 0d 7a 1f 73 74  |nd%,track%..z.st|
000021f0  61 72 74 25 3d 28 6f 79  25 2d 38 2d 62 6c 6f 63  |art%=(oy%-8-bloc|
00002200  6b 25 21 34 30 29 81 35  32 0d 0d 84 1d 65 6e 64  |k%!40).52....end|
00002210  25 3d 28 6f 79 25 2d 38  2d 62 6c 6f 63 6b 25 21  |%=(oy%-8-block%!|
00002220  33 32 29 81 35 32 0d 0d  8e 18 e7 20 73 74 61 72  |32).52..... star|
00002230  74 25 3c 30 20 8c 73 74  61 72 74 25 3d 30 0d 0d  |t%<0 .start%=0..|
00002240  98 27 e7 20 65 6e 64 25  3e 3d 6e 6f 69 6e 70 72  |.'. end%>=noinpr|
00002250  6f 67 25 20 8c 65 6e 64  25 3d 6e 6f 69 6e 70 72  |og% .end%=noinpr|
00002260  6f 67 25 2d 31 0d 0d a2  18 e7 20 73 74 61 72 74  |og%-1..... start|
00002270  25 3c 6e 6f 69 6e 70 72  6f 67 25 20 8c 0d 0d ac  |%<noinprog% ....|
00002280  3f 20 20 21 74 65 6d 70  25 3d 50 72 6f 67 50 61  |?  !temp%=ProgPa|
00002290  6e 65 31 25 3a 74 65 6d  70 25 21 34 3d 30 3a c8  |ne1%:temp%!4=0:.|
000022a0  99 20 22 57 69 6d 70 5f  47 65 74 49 63 6f 6e 53  |. "Wimp_GetIconS|
000022b0  74 61 74 65 22 2c 2c 74  65 6d 70 25 0d 0d b6 26  |tate",,temp%...&|
000022c0  20 20 74 65 6d 70 25 21  32 34 3d 28 28 74 65 6d  |  temp%!24=((tem|
000022d0  70 25 21 32 34 29 80 28  ac 28 31 3c 3c 32 33 29  |p%!24).(.(1<<23)|
000022e0  29 29 0d 0d c0 2d 20 20  74 65 6d 70 25 21 31 32  |))...-  temp%!12|
000022f0  2d 3d 73 74 61 72 74 25  2a 35 32 3a 74 65 6d 70  |-=start%*52:temp|
00002300  25 21 32 30 2d 3d 73 74  61 72 74 25 2a 35 32 0d  |%!20-=start%*52.|
00002310  0d ca 48 20 20 74 65 6d  70 25 21 31 30 30 3d 50  |..H  temp%!100=P|
00002320  72 6f 67 50 61 6e 65 31  25 3a 74 65 6d 70 25 21  |rogPane1%:temp%!|
00002330  31 30 34 3d 31 3a c8 99  20 22 57 69 6d 70 5f 47  |104=1:.. "Wimp_G|
00002340  65 74 49 63 6f 6e 53 74  61 74 65 22 2c 2c 74 65  |etIconState",,te|
00002350  6d 70 25 2b 31 30 30 0d  0d d4 28 20 20 74 65 6d  |mp%+100...(  tem|
00002360  70 25 21 31 32 34 3d 28  28 74 65 6d 70 25 21 31  |p%!124=((temp%!1|
00002370  32 34 29 80 28 ac 28 31  3c 3c 32 33 29 29 29 0d  |24).(.(1<<23))).|
00002380  0d de 2f 20 20 74 65 6d  70 25 21 31 31 32 2d 3d  |../  temp%!112-=|
00002390  73 74 61 72 74 25 2a 35  32 3a 74 65 6d 70 25 21  |start%*52:temp%!|
000023a0  31 32 30 2d 3d 73 74 61  72 74 25 2a 35 32 0d 0d  |120-=start%*52..|
000023b0  e8 1c 20 20 e3 20 74 72  61 63 6b 25 3d 73 74 61  |..  . track%=sta|
000023c0  72 74 25 20 b8 20 65 6e  64 25 0d 0d f2 28 20 20  |rt% . end%...(  |
000023d0  20 20 74 65 6d 70 25 21  32 38 3d 66 69 6c 65 25  |  temp%!28=file%|
000023e0  2b 34 34 2a 28 70 72 6f  67 25 3f 74 72 61 63 6b  |+44*(prog%?track|
000023f0  25 29 0d 0d fc 33 20 20  20 20 24 28 74 65 6d 70  |%)...3    $(temp|
00002400  25 2b 31 32 38 29 3d a4  70 72 6f 67 74 72 61 63  |%+128)=.progtrac|
00002410  6b 28 a4 64 69 67 28 70  72 6f 67 25 3f 74 72 61  |k(.dig(prog%?tra|
00002420  63 6b 25 29 29 0d 0e 06  23 20 20 20 20 c8 99 20  |ck%))...#    .. |
00002430  22 57 69 6d 70 5f 50 6c  6f 74 49 63 6f 6e 22 2c  |"Wimp_PlotIcon",|
00002440  2c 74 65 6d 70 25 2b 38  0d 0e 10 25 20 20 20 20  |,temp%+8...%    |
00002450  c8 99 20 22 57 69 6d 70  5f 50 6c 6f 74 49 63 6f  |.. "Wimp_PlotIco|
00002460  6e 22 2c 2c 74 65 6d 70  25 2b 31 30 38 0d 0e 1a  |n",,temp%+108...|
00002470  21 20 20 20 20 74 65 6d  70 25 21 31 32 2d 3d 35  |!    temp%!12-=5|
00002480  32 3a 74 65 6d 70 25 21  32 30 2d 3d 35 32 0d 0e  |2:temp%!20-=52..|
00002490  24 23 20 20 20 20 74 65  6d 70 25 21 31 31 32 2d  |$#    temp%!112-|
000024a0  3d 35 32 3a 74 65 6d 70  25 21 31 32 30 2d 3d 35  |=52:temp%!120-=5|
000024b0  32 0d 0e 2e 07 20 20 ed  0d 0e 38 05 cd 0d 0e 42  |2....  ...8....B|
000024c0  05 e1 0d 0e 4c 05 3a 0d  0e 56 05 3a 0d 0e 60 05  |....L.:..V.:..`.|
000024d0  3a 0d 0e 6a 05 3a 0d 0e  74 17 dd f2 72 65 64 72  |:..j.:..t...redr|
000024e0  61 77 54 69 6d 65 73 57  69 6e 64 6f 77 0d 0e 7e  |awTimesWindow..~|
000024f0  3a f2 72 65 64 72 61 77  6f 6e 65 74 69 6d 65 28  |:.redrawonetime(|
00002500  73 6d 69 25 2c 73 73 69  25 2c 73 66 69 25 2c bb  |smi%,ssi%,sfi%,.|
00002510  28 24 73 6d 25 29 2c bb  28 24 73 73 25 29 2c bb  |($sm%),.($ss%),.|
00002520  28 24 73 66 25 29 29 0d  0e 88 3a f2 72 65 64 72  |($sf%))...:.redr|
00002530  61 77 6f 6e 65 74 69 6d  65 28 65 6d 69 25 2c 65  |awonetime(emi%,e|
00002540  73 69 25 2c 65 66 69 25  2c bb 28 24 65 6d 25 29  |si%,efi%,.($em%)|
00002550  2c bb 28 24 65 73 25 29  2c bb 28 24 65 66 25 29  |,.($es%),.($ef%)|
00002560  29 0d 0e 92 05 e1 0d 0e  9c 05 3a 0d 0e a6 29 dd  |).........:...).|
00002570  f2 72 65 64 72 61 77 6f  6e 65 74 69 6d 65 28 6d  |.redrawonetime(m|
00002580  69 25 2c 73 69 25 2c 66  69 25 2c 6d 25 2c 73 25  |i%,si%,fi%,m%,s%|
00002590  2c 66 25 29 0d 0e b0 19  c8 99 20 22 57 69 6d 70  |,f%)...... "Wimp|
000025a0  5f 53 65 74 43 6f 6c 6f  75 72 22 2c 37 0d 0e ba  |_SetColour",7...|
000025b0  37 c8 93 20 c8 90 20 6f  78 25 2b 21 6d 69 25 2b  |7.. .. ox%+!mi%+|
000025c0  34 2b 6d 25 2a 34 2c 6f  79 25 2b 6d 69 25 21 31  |4+m%*4,oy%+mi%!1|
000025d0  32 2d 34 2c 33 2c 6d 69  25 21 34 2d 6d 69 25 21  |2-4,3,mi%!4-mi%!|
000025e0  31 32 2b 39 0d 0e c4 37  c8 93 20 c8 90 20 6f 78  |12+9...7.. .. ox|
000025f0  25 2b 21 73 69 25 2b 34  2b 73 25 2a 34 2c 6f 79  |%+!si%+4+s%*4,oy|
00002600  25 2b 73 69 25 21 31 32  2d 34 2c 33 2c 73 69 25  |%+si%!12-4,3,si%|
00002610  21 34 2d 73 69 25 21 31  32 2b 39 0d 0e ce 37 c8  |!4-si%!12+9...7.|
00002620  93 20 c8 90 20 6f 78 25  2b 21 66 69 25 2b 34 2b  |. .. ox%+!fi%+4+|
00002630  66 25 2a 34 2c 6f 79 25  2b 66 69 25 21 31 32 2d  |f%*4,oy%+fi%!12-|
00002640  34 2c 33 2c 66 69 25 21  34 2d 66 69 25 21 31 32  |4,3,fi%!4-fi%!12|
00002650  2b 39 0d 0e d8 19 c8 99  20 22 57 69 6d 70 5f 53  |+9...... "Wimp_S|
00002660  65 74 43 6f 6c 6f 75 72  22 2c 33 0d 0e e2 35 86  |etColour",3...5.|
00002670  20 6f 78 25 2b 21 6d 69  25 2b 34 2b 6d 25 2a 34  | ox%+!mi%+4+m%*4|
00002680  2c 6f 79 25 2b 6d 69 25  21 34 2d 34 2c 6f 78 25  |,oy%+mi%!4-4,ox%|
00002690  2b 21 73 69 25 2c 6f 79  25 2b 73 69 25 21 31 32  |+!si%,oy%+si%!12|
000026a0  0d 0e ec 35 86 20 6f 78  25 2b 21 73 69 25 2b 34  |...5. ox%+!si%+4|
000026b0  2b 73 25 2a 34 2c 6f 79  25 2b 73 69 25 21 34 2d  |+s%*4,oy%+si%!4-|
000026c0  34 2c 6f 78 25 2b 21 66  69 25 2c 6f 79 25 2b 66  |4,ox%+!fi%,oy%+f|
000026d0  69 25 21 31 32 0d 0e f6  3a 86 20 6f 78 25 2b 21  |i%!12...:. ox%+!|
000026e0  6d 69 25 2b 34 2b 6d 25  2a 34 2b 33 2c 6f 79 25  |mi%+4+m%*4+3,oy%|
000026f0  2b 6d 69 25 21 34 2d 34  2c 6f 78 25 2b 73 69 25  |+mi%!4-4,ox%+si%|
00002700  21 38 2d 34 2c 6f 79 25  2b 73 69 25 21 31 32 0d  |!8-4,oy%+si%!12.|
00002710  0f 00 3a 86 20 6f 78 25  2b 21 73 69 25 2b 34 2b  |..:. ox%+!si%+4+|
00002720  73 25 2a 34 2b 33 2c 6f  79 25 2b 73 69 25 21 34  |s%*4+3,oy%+si%!4|
00002730  2d 34 2c 6f 78 25 2b 66  69 25 21 38 2d 34 2c 6f  |-4,ox%+fi%!8-4,o|
00002740  79 25 2b 66 69 25 21 31  32 0d 0f 0a 05 e1 0d 0f  |y%+fi%!12.......|
00002750  14 05 3a 0d 0f 1e 05 3a  0d 0f 28 05 3a 0d 0f 32  |..:....:..(.:..2|
00002760  05 3a 0d 0f 3c 05 3a 0d  0f 46 05 3a 0d 0f 50 05  |.:..<.:..F.:..P.|
00002770  3a 0d 0f 5a 2e dd f2 6d  6f 75 73 65 63 6c 69 63  |:..Z...mouseclic|
00002780  6b 28 77 69 6e 64 6f 77  25 2c 69 63 6f 6e 25 2c  |k(window%,icon%,|
00002790  62 75 74 74 6f 6e 73 25  2c 78 25 2c 79 25 29 0d  |buttons%,x%,y%).|
000027a0  0f 64 1f e7 20 62 75 74  74 6f 6e 73 25 3d 31 20  |.d.. buttons%=1 |
000027b0  84 20 62 75 74 74 6f 6e  73 25 3d 34 20 8c 0d 0f  |. buttons%=4 ...|
000027c0  6e 12 20 20 c8 8e 20 77  69 6e 64 6f 77 25 20 ca  |n.  .. window% .|
000027d0  0d 0f 78 1f 20 20 20 20  c9 20 43 44 73 48 61 6e  |..x.    . CDsHan|
000027e0  64 6c 65 25 3a f2 6d 6f  75 73 65 5f 43 44 73 0d  |dle%:.mouse_CDs.|
000027f0  0f 82 21 20 20 20 20 c9  20 43 44 73 50 61 6e 65  |..!    . CDsPane|
00002800  25 3a f2 6d 6f 75 73 65  5f 43 44 73 50 61 6e 65  |%:.mouse_CDsPane|
00002810  0d 0f 8c 23 20 20 20 20  c9 20 4e 61 6d 65 73 48  |...#    . NamesH|
00002820  61 6e 64 6c 65 25 3a f2  6d 6f 75 73 65 5f 6e 61  |andle%:.mouse_na|
00002830  6d 65 73 0d 0f 96 21 20  20 20 20 c9 20 50 72 6f  |mes...!    . Pro|
00002840  67 48 61 6e 64 6c 65 25  3a f2 6d 6f 75 73 65 5f  |gHandle%:.mouse_|
00002850  70 72 6f 67 0d 0f a0 25  20 20 20 20 c9 20 50 72  |prog...%    . Pr|
00002860  6f 67 50 61 6e 65 31 25  3a f2 6d 6f 75 73 65 5f  |ogPane1%:.mouse_|
00002870  70 72 6f 67 70 61 6e 65  31 0d 0f aa 25 20 20 20  |progpane1...%   |
00002880  20 c9 20 50 72 6f 67 50  61 6e 65 32 25 3a f2 6d  | . ProgPane2%:.m|
00002890  6f 75 73 65 5f 70 72 6f  67 70 61 6e 65 32 0d 0f  |ouse_progpane2..|
000028a0  b4 23 20 20 20 20 c9 20  54 69 6d 65 73 48 61 6e  |.#    . TimesHan|
000028b0  64 6c 65 25 3a f2 6d 6f  75 73 65 5f 74 69 6d 65  |dle%:.mouse_time|
000028c0  73 0d 0f be 21 20 20 20  20 c9 20 4d 69 73 63 48  |s...!    . MiscH|
000028d0  61 6e 64 6c 65 25 3a f2  6d 6f 75 73 65 5f 6d 69  |andle%:.mouse_mi|
000028e0  73 63 0d 0f c8 07 20 20  cb 0d 0f d2 05 cd 0d 0f  |sc....  ........|
000028f0  dc 05 e1 0d 0f e6 05 3a  0d 0f f0 05 3a 0d 0f fa  |.......:....:...|
00002900  05 3a 0d 10 04 0f dd f2  6d 6f 75 73 65 5f 43 44  |.:......mouse_CD|
00002910  73 0d 10 0e 0e c8 8e 20  69 63 6f 6e 25 20 ca 0d  |s...... icon% ..|
00002920  10 18 19 20 20 c9 20 30  3a f2 6f 70 65 6e 74 72  |...  . 0:.opentr|
00002930  61 63 6b 6e 61 6d 65 73  0d 10 22 16 20 20 c9 20  |acknames..".  . |
00002940  31 3a f2 6f 70 65 6e 70  72 6f 67 73 65 71 0d 10  |1:.openprogseq..|
00002950  2c 19 20 20 c9 20 32 3a  f2 6f 70 65 6e 74 72 61  |,.  . 2:.opentra|
00002960  63 6b 74 69 6d 65 73 0d  10 36 13 20 20 c9 20 33  |cktimes..6.  . 3|
00002970  3a f2 6f 70 65 6e 6d 69  73 63 0d 10 40 11 20 20  |:.openmisc..@.  |
00002980  c9 20 34 3a 71 75 69 74  25 3d b9 0d 10 4a 05 cb  |. 4:quit%=...J..|
00002990  0d 10 54 05 e1 0d 10 5e  05 3a 0d 10 68 05 3a 0d  |..T....^.:..h.:.|
000029a0  10 72 05 3a 0d 10 7c 13  dd f2 6d 6f 75 73 65 5f  |.r.:..|...mouse_|
000029b0  43 44 73 50 61 6e 65 0d  10 86 1e ea 20 63 64 25  |CDsPane..... cd%|
000029c0  2c 6c 6f 6f 70 25 2c 66  6c 61 67 73 25 2c 72 65  |,loop%,flags%,re|
000029d0  64 72 61 77 25 0d 10 90  13 21 74 65 6d 70 25 3d  |draw%....!temp%=|
000029e0  43 44 73 50 61 6e 65 25  0d 10 9a 23 c8 99 20 22  |CDsPane%...#.. "|
000029f0  57 69 6d 70 5f 47 65 74  57 69 6e 64 6f 77 53 74  |Wimp_GetWindowSt|
00002a00  61 74 65 22 2c 2c 74 65  6d 70 25 0d 10 a4 0e e7  |ate",,temp%.....|
00002a10  20 63 64 73 25 3e 30 20  8c 0d 10 ae 23 20 20 63  | cds%>0 ....#  c|
00002a20  64 25 3d 28 74 65 6d 70  25 21 31 36 2d 79 25 2d  |d%=(temp%!16-y%-|
00002a30  74 65 6d 70 25 21 32 34  29 81 34 34 0d 10 b8 18  |temp%!24).44....|
00002a40  20 20 e3 20 6c 6f 6f 70  25 3d 30 20 b8 20 63 64  |  . loop%=0 . cd|
00002a50  73 25 2d 31 0d 10 c2 11  20 20 20 20 72 65 64 72  |s%-1....    redr|
00002a60  61 77 25 3d a3 0d 10 cc  22 20 20 20 20 66 6c 61  |aw%=...."    fla|
00002a70  67 73 25 3d 3f 28 43 44  73 25 2b 36 34 2a 6c 6f  |gs%=?(CDs%+64*lo|
00002a80  6f 70 25 2b 35 32 29 0d  10 d6 40 20 20 20 20 e7  |op%+52)...@    .|
00002a90  20 28 66 6c 61 67 73 25  20 80 20 31 29 3d 31 20  | (flags% . 1)=1 |
00002aa0  8c 66 6c 61 67 73 25 3d  28 66 6c 61 67 73 25 20  |.flags%=(flags% |
00002ab0  80 20 32 35 34 29 3a 72  65 64 72 61 77 25 3d ac  |. 254):redraw%=.|
00002ac0  72 65 64 72 61 77 25 0d  10 e0 39 20 20 20 20 e7  |redraw%...9    .|
00002ad0  20 63 64 25 3d 6c 6f 6f  70 25 20 8c 66 6c 61 67  | cd%=loop% .flag|
00002ae0  73 25 3d 28 66 6c 61 67  73 25 20 84 20 31 29 3a  |s%=(flags% . 1):|
00002af0  72 65 64 72 61 77 25 3d  ac 72 65 64 72 61 77 25  |redraw%=.redraw%|
00002b00  0d 10 ea 13 20 20 20 20  e7 20 72 65 64 72 61 77  |....    . redraw|
00002b10  25 20 8c 0d 10 f4 24 20  20 20 20 20 20 3f 28 43  |% ....$      ?(C|
00002b20  44 73 25 2b 36 34 2a 6c  6f 6f 70 25 2b 35 32 29  |Ds%+64*loop%+52)|
00002b30  3d 66 6c 61 67 73 25 0d  10 fe 4a 20 20 20 20 20  |=flags%...J     |
00002b40  20 c8 99 20 22 57 69 6d  70 5f 46 6f 72 63 65 52  | .. "Wimp_ForceR|
00002b50  65 64 72 61 77 22 2c 43  44 73 50 61 6e 65 25 2c  |edraw",CDsPane%,|
00002b60  30 2c 2d 28 6c 6f 6f 70  25 2a 34 34 2b 34 33 29  |0,-(loop%*44+43)|
00002b70  2c 31 30 30 30 2c 2d 28  6c 6f 6f 70 25 2a 34 34  |,1000,-(loop%*44|
00002b80  29 0d 11 08 09 20 20 20  20 cd 0d 11 12 07 20 20  |)....    .....  |
00002b90  ed 0d 11 1c 05 cd 0d 11  26 05 e1 0d 11 30 05 3a  |........&....0.:|
00002ba0  0d 11 3a 05 3a 0d 11 44  05 3a 0d 11 4e 11 dd f2  |..:.:..D.:..N...|
00002bb0  6d 6f 75 73 65 5f 6e 61  6d 65 73 0d 11 58 0f e7  |mouse_names..X..|
00002bc0  20 69 63 6f 6e 25 3d 32  20 8c 0d 11 62 17 20 20  | icon%=2 ...b.  |
00002bd0  f2 73 61 76 65 66 69 6c  65 28 26 35 30 35 32 30  |.savefile(&50520|
00002be0  29 0d 11 6c 2e 20 20 24  28 43 44 73 25 2b 36 34  |)..l.  $(CDs%+64|
00002bf0  2a 65 64 69 74 69 6e 67  63 64 25 29 3d a4 72 65  |*editingcd%)=.re|
00002c00  61 64 73 74 72 69 6e 67  28 66 69 6c 65 25 29 0d  |adstring(file%).|
00002c10  11 76 3b 20 20 c8 99 20  22 4f 53 5f 48 65 61 70  |.v;  .. "OS_Heap|
00002c20  53 6f 72 74 22 2c 63 64  73 25 2c 43 44 73 25 2b  |Sort",cds%,CDs%+|
00002c30  63 64 73 25 2a 36 34 2b  28 31 3c 3c 33 30 29 2c  |cds%*64+(1<<30),|
00002c40  34 2c 2c 43 44 73 25 2c  36 34 0d 11 80 05 cd 0d  |4,,CDs%,64......|
00002c50  11 8a 2a e7 20 28 69 63  6f 6e 25 3d 33 29 20 84  |..*. (icon%=3) .|
00002c60  20 28 69 63 6f 6e 25 3d  32 20 80 20 62 75 74 74  | (icon%=2 . butt|
00002c70  6f 6e 73 25 3d 34 29 20  8c 0d 11 94 38 20 20 f2  |ons%=4) ....8  .|
00002c80  6f 70 65 6e 6e 65 77 77  69 6e 64 6f 77 28 43 44  |opennewwindow(CD|
00002c90  73 48 61 6e 64 6c 65 25  2c 4e 61 6d 65 73 48 61  |sHandle%,NamesHa|
00002ca0  6e 64 6c 65 25 2c 4e 61  6d 65 73 50 61 6e 65 25  |ndle%,NamesPane%|
00002cb0  29 0d 11 9e 05 cd 0d 11  a8 05 e1 0d 11 b2 05 3a  |)..............:|
00002cc0  0d 11 bc 05 3a 0d 11 c6  05 3a 0d 11 d0 14 dd f2  |....:....:......|
00002cd0  73 61 76 65 66 69 6c 65  28 6d 73 67 25 29 0d 11  |savefile(msg%)..|
00002ce0  da 0f ea 20 70 6f 73 25  2c 4d 53 46 25 0d 11 e4  |... pos%,MSF%...|
00002cf0  1e 70 6f 73 25 3d 43 44  73 25 2b 36 34 2a 65 64  |.pos%=CDs%+64*ed|
00002d00  69 74 69 6e 67 63 64 25  2b 34 31 0d 11 ee 56 c8  |itingcd%+41...V.|
00002d10  99 20 22 4f 53 5f 46 69  6c 65 22 2c 31 30 2c 22  |. "OS_File",10,"|
00002d20  3c 46 6c 65 78 69 43 44  24 44 69 72 3e 2e 52 65  |<FlexiCD$Dir>.Re|
00002d30  73 6f 75 72 63 65 73 2e  47 6c 6f 62 61 6c 2e 43  |sources.Global.C|
00002d40  44 73 2e 22 2b 24 70 6f  73 25 2c 26 46 46 44 2c  |Ds."+$pos%,&FFD,|
00002d50  2c 66 69 6c 65 25 2c 66  69 6c 65 25 2b 35 33 30  |,file%,file%+530|
00002d60  30 0d 11 f8 0d 21 74 65  6d 70 25 3d 33 36 0d 12  |0....!temp%=36..|
00002d70  02 0e 74 65 6d 70 25 21  31 32 3d 30 0d 12 0c 11  |..temp%!12=0....|
00002d80  74 65 6d 70 25 21 31 36  3d 6d 73 67 25 0d 12 16  |temp%!16=msg%...|
00002d90  18 24 28 74 65 6d 70 25  2b 32 34 29 3d 24 70 6f  |.$(temp%+24)=$po|
00002da0  73 25 2b bd 30 0d 12 20  19 e7 20 3f 70 6f 73 25  |s%+.0.. .. ?pos%|
00002db0  3d 97 22 58 22 20 8c 70  6f 73 25 2b 3d 32 0d 12  |=."X" .pos%+=2..|
00002dc0  2a 1c 4d 53 46 25 3d a0  28 22 26 22 2b bd 28 3f  |*.MSF%=.("&"+.(?|
00002dd0  70 6f 73 25 29 29 3c 3c  32 30 0d 12 34 1e 4d 53  |pos%))<<20..4.MS|
00002de0  46 25 2b 3d a0 28 22 26  22 2b bd 28 70 6f 73 25  |F%+=.("&"+.(pos%|
00002df0  3f 31 29 29 3c 3c 31 36  0d 12 3e 1e 4d 53 46 25  |?1))<<16..>.MSF%|
00002e00  2b 3d a0 28 22 26 22 2b  bd 28 70 6f 73 25 3f 33  |+=.("&"+.(pos%?3|
00002e10  29 29 3c 3c 31 32 0d 12  48 1d 4d 53 46 25 2b 3d  |))<<12..H.MSF%+=|
00002e20  a0 28 22 26 22 2b bd 28  70 6f 73 25 3f 34 29 29  |.("&"+.(pos%?4))|
00002e30  3c 3c 38 0d 12 52 1d 4d  53 46 25 2b 3d a0 28 22  |<<8..R.MSF%+=.("|
00002e40  26 22 2b bd 28 70 6f 73  25 3f 36 29 29 3c 3c 34  |&"+.(pos%?6))<<4|
00002e50  0d 12 5c 1a 4d 53 46 25  2b 3d a0 28 22 26 22 2b  |..\.MSF%+=.("&"+|
00002e60  bd 28 70 6f 73 25 3f 37  29 29 0d 12 66 11 74 65  |.(pos%?7))..f.te|
00002e70  6d 70 25 21 32 30 3d 4d  53 46 25 0d 12 70 24 c8  |mp%!20=MSF%..p$.|
00002e80  99 20 22 57 69 6d 70 5f  53 65 6e 64 4d 65 73 73  |. "Wimp_SendMess|
00002e90  61 67 65 22 2c 31 37 2c  74 65 6d 70 25 2c 30 0d  |age",17,temp%,0.|
00002ea0  12 7a 05 e1 0d 12 84 05  3a 0d 12 8e 05 3a 0d 12  |.z......:....:..|
00002eb0  98 05 3a 0d 12 a2 05 3a  0d 12 ac 10 dd f2 6d 6f  |..:....:......mo|
00002ec0  75 73 65 5f 70 72 6f 67  0d 12 b6 0b ea 20 6c 6f  |use_prog..... lo|
00002ed0  6f 70 25 0d 12 c0 0f e7  20 69 63 6f 6e 25 3d 32  |op%..... icon%=2|
00002ee0  20 8c 0d 12 ca 0e 20 20  6c 6f 6f 70 25 3d 2d 31  | .....  loop%=-1|
00002ef0  0d 12 d4 07 20 20 f5 0d  12 de 10 20 20 20 20 6c  |....  .....    l|
00002f00  6f 6f 70 25 2b 3d 31 0d  12 e8 27 20 20 20 20 3f  |oop%+=1...'    ?|
00002f10  28 66 69 6c 65 25 2b 34  34 30 30 2b 6c 6f 6f 70  |(file%+4400+loop|
00002f20  25 29 3d 70 72 6f 67 25  3f 6c 6f 6f 70 25 0d 12  |%)=prog%?loop%..|
00002f30  f2 14 20 20 fd 70 72 6f  67 25 3f 6c 6f 6f 70 25  |..  .prog%?loop%|
00002f40  3d 30 0d 12 fc 17 20 20  f2 73 61 76 65 66 69 6c  |=0....  .savefil|
00002f50  65 28 26 35 30 35 32 31  29 0d 13 06 05 cd 0d 13  |e(&50521).......|
00002f60  10 2a e7 20 28 69 63 6f  6e 25 3d 33 29 20 84 20  |.*. (icon%=3) . |
00002f70  28 69 63 6f 6e 25 3d 32  20 80 20 62 75 74 74 6f  |(icon%=2 . butto|
00002f80  6e 73 25 3d 34 29 20 8c  0d 13 1a 37 20 20 f2 6f  |ns%=4) ....7  .o|
00002f90  70 65 6e 6e 65 77 77 69  6e 64 6f 77 28 43 44 73  |pennewwindow(CDs|
00002fa0  48 61 6e 64 6c 65 25 2c  50 72 6f 67 48 61 6e 64  |Handle%,ProgHand|
00002fb0  6c 65 25 2c 50 72 6f 67  50 61 6e 65 31 25 29 0d  |le%,ProgPane1%).|
00002fc0  13 24 05 cd 0d 13 2e 05  e1 0d 13 38 05 3a 0d 13  |.$.........8.:..|
00002fd0  42 05 3a 0d 13 4c 05 3a  0d 13 56 15 dd f2 6d 6f  |B.:..L.:..V...mo|
00002fe0  75 73 65 5f 70 72 6f 67  70 61 6e 65 31 0d 13 60  |use_progpane1..`|
00002ff0  2f f2 6d 6f 75 73 65 5f  70 72 6f 67 70 61 6e 65  |/.mouse_progpane|
00003000  28 50 72 6f 67 50 61 6e  65 31 25 2c 70 72 6f 67  |(ProgPane1%,prog|
00003010  25 2c 6e 6f 69 6e 70 72  6f 67 25 29 0d 13 6a 05  |%,noinprog%)..j.|
00003020  e1 0d 13 74 05 3a 0d 13  7e 15 dd f2 6d 6f 75 73  |...t.:..~...mous|
00003030  65 5f 70 72 6f 67 70 61  6e 65 32 0d 13 88 35 f2  |e_progpane2...5.|
00003040  6d 6f 75 73 65 5f 70 72  6f 67 70 61 6e 65 28 50  |mouse_progpane(P|
00003050  72 6f 67 50 61 6e 65 32  25 2c 6e 6f 74 75 73 65  |rogPane2%,notuse|
00003060  64 25 2c 6e 6f 69 6e 6e  6f 74 75 73 65 64 25 29  |d%,noinnotused%)|
00003070  0d 13 92 05 e1 0d 13 9c  05 3a 0d 13 a6 32 dd f2  |.........:...2..|
00003080  6d 6f 75 73 65 5f 70 72  6f 67 70 61 6e 65 28 68  |mouse_progpane(h|
00003090  61 6e 64 6c 65 25 2c 77  68 69 63 68 64 72 61 67  |andle%,whichdrag|
000030a0  25 2c 6e 6f 69 6e 70 72  6f 67 25 29 0d 13 b0 10  |%,noinprog%)....|
000030b0  ea 20 74 6f 70 25 2c 64  72 61 67 25 0d 13 ba 12  |. top%,drag%....|
000030c0  21 74 65 6d 70 25 3d 68  61 6e 64 6c 65 25 0d 13  |!temp%=handle%..|
000030d0  c4 23 c8 99 20 22 57 69  6d 70 5f 47 65 74 57 69  |.#.. "Wimp_GetWi|
000030e0  6e 64 6f 77 53 74 61 74  65 22 2c 2c 74 65 6d 70  |ndowState",,temp|
000030f0  25 0d 13 ce 1c 74 6f 70  25 3d 74 65 6d 70 25 21  |%....top%=temp%!|
00003100  31 36 2d 74 65 6d 70 25  21 32 34 2d 34 0d 13 d8  |16-temp%!24-4...|
00003110  16 64 72 61 67 25 3d 28  74 6f 70 25 2d 79 25 29  |.drag%=(top%-y%)|
00003120  81 35 32 0d 13 e2 16 e7  20 64 72 61 67 25 3c 30  |.52..... drag%<0|
00003130  20 8c 64 72 61 67 25 3d  30 0d 13 ec 17 e7 20 64  | .drag%=0..... d|
00003140  72 61 67 25 3c 6e 6f 69  6e 70 72 6f 67 25 20 8c  |rag%<noinprog% .|
00003150  0d 13 f6 15 20 20 64 72  61 67 67 69 6e 67 25 3d  |....  dragging%=|
00003160  64 72 61 67 25 0d 14 00  19 20 20 74 65 6d 70 25  |drag%....  temp%|
00003170  21 32 30 3d 50 72 6f 67  50 61 6e 65 31 25 0d 14  |!20=ProgPane1%..|
00003180  0a 28 20 20 c8 99 20 22  57 69 6d 70 5f 47 65 74  |.(  .. "Wimp_Get|
00003190  57 69 6e 64 6f 77 53 74  61 74 65 22 2c 2c 74 65  |WindowState",,te|
000031a0  6d 70 25 2b 32 30 0d 14  14 19 20 20 74 65 6d 70  |mp%+20....  temp|
000031b0  25 21 34 30 3d 50 72 6f  67 50 61 6e 65 32 25 0d  |%!40=ProgPane2%.|
000031c0  14 1e 28 20 20 c8 99 20  22 57 69 6d 70 5f 47 65  |..(  .. "Wimp_Ge|
000031d0  74 57 69 6e 64 6f 77 53  74 61 74 65 22 2c 2c 74  |tWindowState",,t|
000031e0  65 6d 70 25 2b 34 30 0d  14 28 1c 20 20 74 65 6d  |emp%+40..(.  tem|
000031f0  70 25 21 32 38 3d 28 74  65 6d 70 25 21 34 38 29  |p%!28=(temp%!48)|
00003200  2b 34 38 0d 14 32 12 20  20 74 65 6d 70 25 21 33  |+48..2.  temp%!3|
00003210  36 2d 3d 33 32 0d 14 3c  16 20 20 74 65 6d 70 25  |6-=32..<.  temp%|
00003220  21 38 3d 74 65 6d 70 25  21 32 34 0d 14 46 17 20  |!8=temp%!24..F. |
00003230  20 74 65 6d 70 25 21 31  36 3d 74 65 6d 70 25 21  | temp%!16=temp%!|
00003240  33 32 0d 14 50 22 20 20  74 65 6d 70 25 21 31 32  |32..P"  temp%!12|
00003250  3d 74 6f 70 25 2d 64 72  61 67 67 69 6e 67 25 2a  |=top%-dragging%*|
00003260  35 32 2d 34 0d 14 5a 23  20 20 74 65 6d 70 25 21  |52-4..Z#  temp%!|
00003270  32 30 3d 74 6f 70 25 2d  64 72 61 67 67 69 6e 67  |20=top%-dragging|
00003280  25 2a 35 32 2d 35 32 0d  14 64 0f 20 20 74 65 6d  |%*52-52..d.  tem|
00003290  70 25 21 34 3d 35 0d 14  6e 1e 20 20 c8 99 20 22  |p%!4=5..n.  .. "|
000032a0  57 69 6d 70 5f 44 72 61  67 42 6f 78 22 2c 2c 74  |Wimp_DragBox",,t|
000032b0  65 6d 70 25 0d 14 78 2c  20 20 e7 20 77 68 69 63  |emp%..x,  . whic|
000032c0  68 64 72 61 67 25 3d 6e  6f 74 75 73 65 64 25 20  |hdrag%=notused% |
000032d0  8c 64 72 61 67 67 69 6e  67 25 2b 3d 31 30 30 30  |.dragging%+=1000|
000032e0  0d 14 82 05 cd 0d 14 8c  05 e1 0d 14 96 05 3a 0d  |..............:.|
000032f0  14 a0 05 3a 0d 14 aa 05  3a 0d 14 b4 05 3a 0d 14  |...:....:....:..|
00003300  be 05 3a 0d 14 c8 10 dd  f2 6d 6f 75 73 65 5f 6d  |..:......mouse_m|
00003310  69 73 63 0d 14 d2 12 ea  20 6c 6f 6f 70 25 2c 66  |isc..... loop%,f|
00003320  6c 61 67 73 25 0d 14 dc  1b e7 20 69 63 6f 6e 25  |lags%..... icon%|
00003330  3e 31 34 20 80 20 69 63  6f 6e 25 3c 31 38 20 8c  |>14 . icon%<18 .|
00003340  0d 14 e6 18 20 20 21 74  65 6d 70 25 3d 4d 69 73  |....  !temp%=Mis|
00003350  63 48 61 6e 64 6c 65 25  0d 14 f0 14 20 20 74 65  |cHandle%....  te|
00003360  6d 70 25 21 31 32 3d 31  3c 3c 32 31 0d 14 fa 15  |mp%!12=1<<21....|
00003370  20 20 e3 20 6c 6f 6f 70  25 3d 31 35 20 b8 20 31  |  . loop%=15 . 1|
00003380  37 0d 15 04 15 20 20 20  20 74 65 6d 70 25 21 34  |7....    temp%!4|
00003390  3d 6c 6f 6f 70 25 0d 15  0e 2f 20 20 20 20 e7 20  |=loop%.../    . |
000033a0  69 63 6f 6e 25 3d 6c 6f  6f 70 25 20 8c 74 65 6d  |icon%=loop% .tem|
000033b0  70 25 21 38 3d 31 3c 3c  32 31 20 8b 74 65 6d 70  |p%!8=1<<21 .temp|
000033c0  25 21 38 3d 30 0d 15 18  25 20 20 20 20 c8 99 20  |%!8=0...%    .. |
000033d0  22 57 69 6d 70 5f 53 65  74 49 63 6f 6e 53 74 61  |"Wimp_SetIconSta|
000033e0  74 65 22 2c 2c 74 65 6d  70 25 0d 15 22 07 20 20  |te",,temp%..".  |
000033f0  ed 0d 15 2c 10 20 20 74  65 6d 70 25 21 34 3d 31  |...,.  temp%!4=1|
00003400  38 0d 15 36 12 20 20 e7  20 69 63 6f 6e 25 3d 31  |8..6.  . icon%=1|
00003410  37 20 8c 0d 15 40 1f 20  20 20 20 74 65 6d 70 25  |7 ...@.    temp%|
00003420  21 38 3d 28 31 3c 3c 32  32 29 2b 28 32 3c 3c 32  |!8=(1<<22)+(2<<2|
00003430  34 29 0d 15 4a 21 20 20  20 20 74 65 6d 70 25 21  |4)..J!    temp%!|
00003440  31 32 3d 28 33 3c 3c 32  31 29 2b 28 31 35 3c 3c  |12=(3<<21)+(15<<|
00003450  32 34 29 0d 15 54 07 20  20 cc 0d 15 5e 15 20 20  |24)..T.  ...^.  |
00003460  20 20 74 65 6d 70 25 21  38 3d 37 3c 3c 32 34 0d  |  temp%!8=7<<24.|
00003470  15 68 21 20 20 20 20 74  65 6d 70 25 21 31 32 3d  |.h!    temp%!12=|
00003480  28 31 3c 3c 32 32 29 2b  28 31 35 3c 3c 32 34 29  |(1<<22)+(15<<24)|
00003490  0d 15 72 07 20 20 cd 0d  15 7c 23 20 20 c8 99 20  |..r.  ...|#  .. |
000034a0  22 57 69 6d 70 5f 53 65  74 49 63 6f 6e 53 74 61  |"Wimp_SetIconSta|
000034b0  74 65 22 2c 2c 74 65 6d  70 25 0d 15 86 05 cd 0d  |te",,temp%......|
000034c0  15 90 0f e7 20 69 63 6f  6e 25 3d 32 20 8c 0d 15  |.... icon%=2 ...|
000034d0  9a 0e 20 20 66 6c 61 67  73 25 3d 30 0d 15 a4 18  |..  flags%=0....|
000034e0  20 20 21 74 65 6d 70 25  3d 4d 69 73 63 48 61 6e  |  !temp%=MiscHan|
000034f0  64 6c 65 25 0d 15 ae 10  20 20 74 65 6d 70 25 21  |dle%....  temp%!|
00003500  34 3d 31 36 0d 15 b8 23  20 20 c8 99 20 22 57 69  |4=16...#  .. "Wi|
00003510  6d 70 5f 47 65 74 49 63  6f 6e 53 74 61 74 65 22  |mp_GetIconState"|
00003520  2c 2c 74 65 6d 70 25 0d  15 c2 30 20 20 e7 20 28  |,,temp%...0  . (|
00003530  28 74 65 6d 70 25 21 32  34 29 80 28 31 3c 3c 32  |(temp%!24).(1<<2|
00003540  31 29 29 3d 28 31 3c 3c  32 31 29 20 8c 66 6c 61  |1))=(1<<21) .fla|
00003550  67 73 25 2b 3d 25 31 0d  15 cc 10 20 20 74 65 6d  |gs%+=%1....  tem|
00003560  70 25 21 34 3d 31 37 0d  15 d6 23 20 20 c8 99 20  |p%!4=17...#  .. |
00003570  22 57 69 6d 70 5f 47 65  74 49 63 6f 6e 53 74 61  |"Wimp_GetIconSta|
00003580  74 65 22 2c 2c 74 65 6d  70 25 0d 15 e0 31 20 20  |te",,temp%...1  |
00003590  e7 20 28 28 74 65 6d 70  25 21 32 34 29 80 28 31  |. ((temp%!24).(1|
000035a0  3c 3c 32 31 29 29 3d 28  31 3c 3c 32 31 29 20 8c  |<<21))=(1<<21) .|
000035b0  66 6c 61 67 73 25 2b 3d  25 31 30 0d 15 ea 10 20  |flags%+=%10.... |
000035c0  20 74 65 6d 70 25 21 34  3d 31 38 0d 15 f4 23 20  | temp%!4=18...# |
000035d0  20 c8 99 20 22 57 69 6d  70 5f 47 65 74 49 63 6f  | .. "Wimp_GetIco|
000035e0  6e 53 74 61 74 65 22 2c  2c 74 65 6d 70 25 0d 15  |nState",,temp%..|
000035f0  fe 32 20 20 e7 20 28 28  74 65 6d 70 25 21 32 34  |.2  . ((temp%!24|
00003600  29 80 28 31 3c 3c 32 31  29 29 3d 28 31 3c 3c 32  |).(1<<21))=(1<<2|
00003610  31 29 20 8c 66 6c 61 67  73 25 2b 3d 25 31 30 30  |1) .flags%+=%100|
00003620  0d 16 08 15 20 20 66 69  6c 65 25 3f 34 32 3d 66  |....  file%?42=f|
00003630  6c 61 67 73 25 0d 16 12  17 20 20 f2 73 61 76 65  |lags%....  .save|
00003640  66 69 6c 65 28 26 35 30  35 32 33 29 0d 16 1c 05  |file(&50523)....|
00003650  cd 0d 16 26 2a e7 20 28  69 63 6f 6e 25 3d 33 29  |...&*. (icon%=3)|
00003660  20 84 20 28 69 63 6f 6e  25 3d 32 20 80 20 62 75  | . (icon%=2 . bu|
00003670  74 74 6f 6e 73 25 3d 34  29 20 8c 0d 16 30 38 20  |ttons%=4) ...08 |
00003680  20 f2 6f 70 65 6e 6e 65  77 77 69 6e 64 6f 77 28  | .opennewwindow(|
00003690  43 44 73 48 61 6e 64 6c  65 25 2c 4d 69 73 63 48  |CDsHandle%,MiscH|
000036a0  61 6e 64 6c 65 25 2c 4d  69 73 63 48 61 6e 64 6c  |andle%,MiscHandl|
000036b0  65 25 29 0d 16 3a 05 cd  0d 16 44 05 e1 0d 16 4e  |e%)..:....D....N|
000036c0  05 3a 0d 16 58 05 3a 0d  16 62 05 3a 0d 16 6c 05  |.:..X.:..b.:..l.|
000036d0  3a 0d 16 76 05 3a 0d 16  80 11 dd f2 6d 6f 75 73  |:..v.:......mous|
000036e0  65 5f 74 69 6d 65 73 0d  16 8a 20 ea 20 74 69 6d  |e_times... . tim|
000036f0  65 25 2c 61 64 64 72 25  2c 6d 61 78 25 2c 77 72  |e%,addr%,max%,wr|
00003700  69 74 65 25 2c 62 25 0d  16 94 0e c8 8e 20 69 63  |ite%,b%...... ic|
00003710  6f 6e 25 20 ca 0d 16 9e  17 20 20 c9 20 39 3a f4  |on% .....  . 9:.|
00003720  20 70 6f 70 20 75 70 20  6d 65 6e 75 0d 16 a8 12  | pop up menu....|
00003730  20 20 f2 63 72 65 61 74  65 6d 65 6e 75 73 0d 16  |  .createmenus..|
00003740  b2 38 20 20 c8 99 20 22  57 69 6d 70 5f 43 72 65  |.8  .. "Wimp_Cre|
00003750  61 74 65 4d 65 6e 75 22  2c 2c 74 72 61 63 6b 73  |ateMenu",,tracks|
00003760  6d 65 6e 75 25 2c 21 62  6c 6f 63 6b 25 2c 62 6c  |menu%,!block%,bl|
00003770  6f 63 6b 25 21 34 0d 16  bc 06 20 20 0d 16 c6 25  |ock%!4....  ...%|
00003780  20 20 c9 20 31 34 2c 31  35 2c 31 36 2c 32 35 2c  |  . 14,15,16,25,|
00003790  32 36 2c 32 37 3a f4 20  64 72 61 67 20 62 61 72  |26,27:. drag bar|
000037a0  73 0d 16 d0 19 20 20 21  74 65 6d 70 25 3d 54 69  |s....  !temp%=Ti|
000037b0  6d 65 73 48 61 6e 64 6c  65 25 0d 16 da 13 20 20  |mesHandle%....  |
000037c0  74 65 6d 70 25 21 34 3d  69 63 6f 6e 25 0d 16 e4  |temp%!4=icon%...|
000037d0  23 20 20 c8 99 20 22 57  69 6d 70 5f 47 65 74 49  |#  .. "Wimp_GetI|
000037e0  63 6f 6e 53 74 61 74 65  22 2c 2c 74 65 6d 70 25  |conState",,temp%|
000037f0  0d 16 ee 1c 20 20 74 65  6d 70 25 21 31 30 30 3d  |....  temp%!100=|
00003800  54 69 6d 65 73 48 61 6e  64 6c 65 25 0d 16 f8 29  |TimesHandle%...)|
00003810  20 20 c8 99 20 22 57 69  6d 70 5f 47 65 74 57 69  |  .. "Wimp_GetWi|
00003820  6e 64 6f 77 53 74 61 74  65 22 2c 2c 74 65 6d 70  |ndowState",,temp|
00003830  25 2b 31 30 30 0d 17 02  22 20 20 74 65 6d 70 25  |%+100..."  temp%|
00003840  21 32 34 3d 74 65 6d 70  25 21 38 2b 74 65 6d 70  |!24=temp%!8+temp|
00003850  25 21 31 30 34 2b 34 0d  17 0c 23 20 20 74 65 6d  |%!104+4...#  tem|
00003860  70 25 21 32 38 3d 74 65  6d 70 25 21 31 32 2b 74  |p%!28=temp%!12+t|
00003870  65 6d 70 25 21 31 31 36  2b 34 0d 17 16 23 20 20  |emp%!116+4...#  |
00003880  74 65 6d 70 25 21 33 32  3d 74 65 6d 70 25 21 31  |temp%!32=temp%!1|
00003890  36 2b 74 65 6d 70 25 21  31 30 34 2d 38 0d 17 20  |6+temp%!104-8.. |
000038a0  23 20 20 74 65 6d 70 25  21 33 36 3d 74 65 6d 70  |#  temp%!36=temp|
000038b0  25 21 32 30 2b 74 65 6d  70 25 21 31 31 36 2d 38  |%!20+temp%!116-8|
000038c0  0d 17 2a 0f 20 20 74 65  6d 70 25 21 34 3d 37 0d  |..*.  temp%!4=7.|
000038d0  17 34 1e 20 20 c8 99 20  22 57 69 6d 70 5f 44 72  |.4.  .. "Wimp_Dr|
000038e0  61 67 42 6f 78 22 2c 2c  74 65 6d 70 25 0d 17 3e  |agBox",,temp%..>|
000038f0  1a 20 20 64 72 61 67 67  69 6e 67 25 3d 32 30 30  |.  dragging%=200|
00003900  30 2b 69 63 6f 6e 25 0d  17 48 06 20 20 0d 17 52  |0+icon%..H.  ..R|
00003910  1b 20 20 c9 20 37 2c 33  32 3a f4 20 74 72 61 63  |.  . 7,32:. trac|
00003920  6b 20 61 64 6a 75 73 74  0d 17 5c 1b 20 20 f2 72  |k adjust..\.  .r|
00003930  65 61 64 63 75 72 72 65  6e 74 74 72 61 63 6b 74  |eadcurrenttrackt|
00003940  69 6d 65 0d 17 66 22 20  20 e7 20 62 75 74 74 6f  |ime..f"  . butto|
00003950  6e 73 25 3d 31 20 8c 69  63 6f 6e 25 3d 33 39 2d  |ns%=1 .icon%=39-|
00003960  69 63 6f 6e 25 0d 17 70  44 20 20 e7 20 69 63 6f  |icon%..pD  . ico|
00003970  6e 25 3d 37 20 80 20 65  64 69 74 69 6e 67 74 72  |n%=7 . editingtr|
00003980  61 63 6b 25 3e 30 20 8c  f2 73 65 74 75 70 74 72  |ack%>0 ..setuptr|
00003990  61 63 6b 74 69 6d 65 73  28 65 64 69 74 69 6e 67  |acktimes(editing|
000039a0  74 72 61 63 6b 25 2d 31  29 0d 17 7a 4d 20 20 e7  |track%-1)..zM  .|
000039b0  20 69 63 6f 6e 25 3d 33  32 20 80 65 64 69 74 69  | icon%=32 .editi|
000039c0  6e 67 74 72 61 63 6b 25  2b 31 3c 66 69 6c 65 25  |ngtrack%+1<file%|
000039d0  3f 34 31 20 8c f2 73 65  74 75 70 74 72 61 63 6b  |?41 ..setuptrack|
000039e0  74 69 6d 65 73 28 65 64  69 74 69 6e 67 74 72 61  |times(editingtra|
000039f0  63 6b 25 2b 31 29 0d 17  84 06 20 20 0d 17 8e 2b  |ck%+1)....  ...+|
00003a00  20 20 c9 20 33 33 2c 33  34 2c 33 35 2c 33 36 2c  |  . 33,34,35,36,|
00003a10  33 37 2c 33 38 2c 33 39  2c 34 30 2c 34 31 2c 34  |37,38,39,40,41,4|
00003a20  32 2c 34 33 2c 34 34 0d  17 98 14 20 20 e7 20 62  |2,43,44....  . b|
00003a30  75 74 74 6f 6e 73 25 3d  31 20 8c 0d 17 a2 2a 20  |uttons%=1 ....* |
00003a40  20 20 20 e7 20 28 69 63  6f 6e 25 83 32 29 3d 31  |   . (icon%.2)=1|
00003a50  20 8c 20 69 63 6f 6e 25  2b 3d 31 20 8b 69 63 6f  | . icon%+=1 .ico|
00003a60  6e 25 2d 3d 31 0d 17 ac  07 20 20 cd 0d 17 b6 10  |n%-=1....  .....|
00003a70  20 20 c8 8e 20 69 63 6f  6e 25 20 ca 0d 17 c0 2b  |  .. icon% ....+|
00003a80  20 20 20 20 c9 20 33 33  2c 33 34 3a 61 64 64 72  |    . 33,34:addr|
00003a90  25 3d 73 6d 25 3a 6d 61  78 25 3d 37 39 3a 77 72  |%=sm%:max%=79:wr|
00003aa0  69 74 65 25 3d 31 37 0d  17 ca 2b 20 20 20 20 c9  |ite%=17...+    .|
00003ab0  20 33 35 2c 33 36 3a 61  64 64 72 25 3d 73 73 25  | 35,36:addr%=ss%|
00003ac0  3a 6d 61 78 25 3d 35 39  3a 77 72 69 74 65 25 3d  |:max%=59:write%=|
00003ad0  31 38 0d 17 d4 2b 20 20  20 20 c9 20 33 37 2c 33  |18...+    . 37,3|
00003ae0  38 3a 61 64 64 72 25 3d  73 66 25 3a 6d 61 78 25  |8:addr%=sf%:max%|
00003af0  3d 37 34 3a 77 72 69 74  65 25 3d 31 39 0d 17 de  |=74:write%=19...|
00003b00  2b 20 20 20 20 c9 20 33  39 2c 34 30 3a 61 64 64  |+    . 39,40:add|
00003b10  72 25 3d 65 6d 25 3a 6d  61 78 25 3d 37 39 3a 77  |r%=em%:max%=79:w|
00003b20  72 69 74 65 25 3d 32 38  0d 17 e8 2b 20 20 20 20  |rite%=28...+    |
00003b30  c9 20 34 31 2c 34 32 3a  61 64 64 72 25 3d 65 73  |. 41,42:addr%=es|
00003b40  25 3a 6d 61 78 25 3d 35  39 3a 77 72 69 74 65 25  |%:max%=59:write%|
00003b50  3d 32 39 0d 17 f2 2b 20  20 20 20 c9 20 34 33 2c  |=29...+    . 43,|
00003b60  34 34 3a 61 64 64 72 25  3d 65 66 25 3a 6d 61 78  |44:addr%=ef%:max|
00003b70  25 3d 37 34 3a 77 72 69  74 65 25 3d 33 30 0d 17  |%=74:write%=30..|
00003b80  fc 07 20 20 cb 0d 18 06  3c 20 20 e7 20 28 69 63  |..  ....<  . (ic|
00003b90  6f 6e 25 83 32 29 3d 30  20 80 20 bb 28 24 61 64  |on%.2)=0 . .($ad|
00003ba0  64 72 25 29 3e 30 20 8c  20 24 61 64 64 72 25 3d  |dr%)>0 . $addr%=|
00003bb0  a4 64 69 67 28 bb 28 24  61 64 64 72 25 29 2d 31  |.dig(.($addr%)-1|
00003bc0  29 0d 18 10 3f 20 20 e7  20 28 69 63 6f 6e 25 83  |)...?  . (icon%.|
00003bd0  32 29 3d 31 20 80 20 bb  28 24 61 64 64 72 25 29  |2)=1 . .($addr%)|
00003be0  3c 6d 61 78 25 20 8c 20  24 61 64 64 72 25 3d a4  |<max% . $addr%=.|
00003bf0  64 69 67 28 bb 28 24 61  64 64 72 25 29 2b 31 29  |dig(.($addr%)+1)|
00003c00  0d 18 1a 27 20 20 c8 99  20 22 57 69 6d 70 5f 47  |...'  .. "Wimp_G|
00003c10  65 74 43 61 72 65 74 50  6f 73 69 74 69 6f 6e 22  |etCaretPosition"|
00003c20  2c 2c 74 65 6d 70 25 0d  18 24 2e 20 20 e7 20 21  |,,temp%..$.  . !|
00003c30  74 65 6d 70 25 3d 54 69  6d 65 73 48 61 6e 64 6c  |temp%=TimesHandl|
00003c40  65 25 20 80 20 74 65 6d  70 25 21 34 3d 77 72 69  |e% . temp%!4=wri|
00003c50  74 65 25 20 8c 0d 18 2e  3c 20 20 20 20 c8 99 20  |te% ....<    .. |
00003c60  22 57 69 6d 70 5f 53 65  74 43 61 72 65 74 50 6f  |"Wimp_SetCaretPo|
00003c70  73 69 74 69 6f 6e 22 2c  21 74 65 6d 70 25 2c 74  |sition",!temp%,t|
00003c80  65 6d 70 25 21 34 2c 2d  31 2c 2d 31 2c 2d 31 2c  |emp%!4,-1,-1,-1,|
00003c90  32 0d 18 38 07 20 20 cd  0d 18 42 19 20 20 21 74  |2..8.  ...B.  !t|
00003ca0  65 6d 70 25 3d 54 69 6d  65 73 48 61 6e 64 6c 65  |emp%=TimesHandle|
00003cb0  25 0d 18 4c 14 20 20 74  65 6d 70 25 21 34 3d 77  |%..L.  temp%!4=w|
00003cc0  72 69 74 65 25 0d 18 56  3a 20 20 c8 99 20 22 57  |rite%..V:  .. "W|
00003cd0  69 6d 70 5f 47 65 74 49  63 6f 6e 53 74 61 74 65  |imp_GetIconState|
00003ce0  22 2c 2c 74 65 6d 70 25  3a f4 20 74 65 6d 70 25  |",,temp%:. temp%|
00003cf0  20 69 73 20 74 6f 70 20  26 20 72 69 67 68 74 0d  | is top & right.|
00003d00  18 60 1b 20 20 74 65 6d  70 25 21 34 30 3d 54 69  |.`.  temp%!40=Ti|
00003d10  6d 65 73 48 61 6e 64 6c  65 25 0d 18 6a 17 20 20  |mesHandle%..j.  |
00003d20  74 65 6d 70 25 21 34 34  3d 77 72 69 74 65 25 2d  |temp%!44=write%-|
00003d30  33 0d 18 74 39 20 20 c8  99 20 22 57 69 6d 70 5f  |3..t9  .. "Wimp_|
00003d40  47 65 74 49 63 6f 6e 53  74 61 74 65 22 2c 2c 74  |GetIconState",,t|
00003d50  65 6d 70 25 2b 34 30 3a  f4 20 74 65 6d 70 25 2b  |emp%+40:. temp%+|
00003d60  34 30 20 69 73 20 6c 65  66 74 0d 18 7e 1f 20 20  |40 is left..~.  |
00003d70  e7 20 77 72 69 74 65 25  3d 31 39 20 84 20 77 72  |. write%=19 . wr|
00003d80  69 74 65 25 3d 33 30 20  8c 0d 18 88 12 20 20 20  |ite%=30 .....   |
00003d90  20 62 25 3d 74 65 6d 70  25 21 38 0d 18 92 07 20  | b%=temp%!8.... |
00003da0  20 cc 0d 18 9c 1e 20 20  20 20 74 65 6d 70 25 21  | .....    temp%!|
00003db0  31 30 30 3d 54 69 6d 65  73 48 61 6e 64 6c 65 25  |100=TimesHandle%|
00003dc0  0d 18 a6 1a 20 20 20 20  74 65 6d 70 25 21 31 30  |....    temp%!10|
00003dd0  34 3d 77 72 69 74 65 25  2d 32 0d 18 b0 29 20 20  |4=write%-2...)  |
00003de0  20 20 c8 99 20 22 57 69  6d 70 5f 47 65 74 49 63  |  .. "Wimp_GetIc|
00003df0  6f 6e 53 74 61 74 65 22  2c 2c 74 65 6d 70 25 2b  |onState",,temp%+|
00003e00  31 30 30 0d 18 ba 14 20  20 20 20 62 25 3d 74 65  |100....    b%=te|
00003e10  6d 70 25 21 31 32 30 0d  18 c4 07 20 20 cd 0d 18  |mp%!120....  ...|
00003e20  ce 46 20 20 c8 99 20 22  57 69 6d 70 5f 46 6f 72  |.F  .. "Wimp_For|
00003e30  63 65 52 65 64 72 61 77  22 2c 54 69 6d 65 73 48  |ceRedraw",TimesH|
00003e40  61 6e 64 6c 65 25 2c 74  65 6d 70 25 21 34 38 2c  |andle%,temp%!48,|
00003e50  62 25 2c 74 65 6d 70 25  21 31 36 2c 74 65 6d 70  |b%,temp%!16,temp|
00003e60  25 21 32 30 0d 18 d8 06  20 20 0d 18 e2 1d 20 20  |%!20....  ....  |
00003e70  c9 20 32 30 3a f4 20 73  74 61 72 74 20 74 72 61  |. 20:. start tra|
00003e80  63 6b 20 74 65 73 74 0d  18 ec 30 20 20 74 69 6d  |ck test...0  tim|
00003e90  65 25 3d 28 bb 28 24 73  6d 25 29 3c 3c 31 36 29  |e%=(.($sm%)<<16)|
00003ea0  2b 28 bb 28 24 73 73 25  29 3c 3c 38 29 2b 28 bb  |+(.($ss%)<<8)+(.|
00003eb0  28 24 73 66 25 29 29 0d  18 f6 2b 20 20 f2 70 6c  |($sf%))...+  .pl|
00003ec0  61 79 43 44 28 74 69 6d  65 25 2c a4 61 64 64 74  |ayCD(time%,.addt|
00003ed0  77 6f 4d 53 46 28 74 69  6d 65 25 2c 26 34 30 30  |woMSF(time%,&400|
00003ee0  29 29 0d 19 00 06 20 20  0d 19 0a 1b 20 20 c9 20  |))....  ....  . |
00003ef0  33 31 3a f4 20 65 6e 64  20 74 72 61 63 6b 20 74  |31:. end track t|
00003f00  65 73 74 0d 19 14 30 20  20 74 69 6d 65 25 3d 28  |est...0  time%=(|
00003f10  bb 28 24 65 6d 25 29 3c  3c 31 36 29 2b 28 bb 28  |.($em%)<<16)+(.(|
00003f20  24 65 73 25 29 3c 3c 38  29 2b 28 bb 28 24 65 66  |$es%)<<8)+(.($ef|
00003f30  25 29 29 0d 19 1e 2b 20  20 f2 70 6c 61 79 43 44  |%))...+  .playCD|
00003f40  28 a4 73 75 62 74 77 6f  4d 53 46 28 74 69 6d 65  |(.subtwoMSF(time|
00003f50  25 2c 26 38 30 30 29 2c  74 69 6d 65 25 29 0d 19  |%,&800),time%)..|
00003f60  28 06 20 20 0d 19 32 05  cb 0d 19 3c 0f e7 20 69  |(.  ..2....<.. i|
00003f70  63 6f 6e 25 3d 32 20 8c  0d 19 46 1b 20 20 f2 72  |con%=2 ...F.  .r|
00003f80  65 61 64 63 75 72 72 65  6e 74 74 72 61 63 6b 74  |eadcurrenttrackt|
00003f90  69 6d 65 0d 19 50 19 20  20 21 74 65 6d 70 25 3d  |ime..P.  !temp%=|
00003fa0  54 69 6d 65 73 48 61 6e  64 6c 65 25 0d 19 5a 0f  |TimesHandle%..Z.|
00003fb0  20 20 74 65 6d 70 25 21  34 3d 36 0d 19 64 23 20  |  temp%!4=6..d# |
00003fc0  20 c8 99 20 22 57 69 6d  70 5f 47 65 74 49 63 6f  | .. "Wimp_GetIco|
00003fd0  6e 53 74 61 74 65 22 2c  2c 74 65 6d 70 25 0d 19  |nState",,temp%..|
00003fe0  6e 20 20 20 e7 20 28 28  74 65 6d 70 25 21 32 34  |n   . ((temp%!24|
00003ff0  29 80 28 31 3c 3c 32 31  29 29 3d 30 20 8c 0d 19  |).(1<<21))=0 ...|
00004000  78 1f 20 20 20 20 66 69  6c 65 25 3f 34 33 3d 28  |x.    file%?43=(|
00004010  28 66 69 6c 65 25 3f 34  33 29 84 31 29 0d 19 82  |(file%?43).1)...|
00004020  07 20 20 cc 0d 19 8c 21  20 20 20 20 66 69 6c 65  |.  ....!    file|
00004030  25 3f 34 33 3d 28 28 66  69 6c 65 25 3f 34 33 29  |%?43=((file%?43)|
00004040  80 32 35 34 29 0d 19 96  07 20 20 cd 0d 19 a0 17  |.254)....  .....|
00004050  20 20 f2 73 61 76 65 66  69 6c 65 28 26 35 30 35  |  .savefile(&505|
00004060  32 32 29 0d 19 aa 05 cd  0d 19 b4 2a e7 20 28 69  |22)........*. (i|
00004070  63 6f 6e 25 3d 33 29 20  84 20 28 69 63 6f 6e 25  |con%=3) . (icon%|
00004080  3d 32 20 80 20 62 75 74  74 6f 6e 73 25 3d 34 29  |=2 . buttons%=4)|
00004090  20 8c 0d 19 be 3a 20 20  f2 6f 70 65 6e 6e 65 77  | ....:  .opennew|
000040a0  77 69 6e 64 6f 77 28 43  44 73 48 61 6e 64 6c 65  |window(CDsHandle|
000040b0  25 2c 54 69 6d 65 73 48  61 6e 64 6c 65 25 2c 54  |%,TimesHandle%,T|
000040c0  69 6d 65 73 48 61 6e 64  6c 65 25 29 0d 19 c8 05  |imesHandle%)....|
000040d0  cd 0d 19 d2 05 e1 0d 19  dc 05 3a 0d 19 e6 05 3a  |..........:....:|
000040e0  0d 19 f0 05 3a 0d 19 fa  05 3a 0d 1a 04 05 3a 0d  |....:....:....:.|
000040f0  1a 0e 05 3a 0d 1a 18 05  3a 0d 1a 22 0f dd f2 63  |...:....:.."...c|
00004100  68 65 63 6b 64 72 61 67  0d 1a 2c 37 e7 20 64 72  |heckdrag..,7. dr|
00004110  61 67 67 69 6e 67 25 3c  32 30 30 30 20 8c f2 63  |agging%<2000 ..c|
00004120  68 65 63 6b 64 72 61 67  5f 70 72 6f 67 20 8b f2  |heckdrag_prog ..|
00004130  63 68 65 63 6b 64 72 61  67 5f 74 69 6d 65 73 0d  |checkdrag_times.|
00004140  1a 36 05 e1 0d 1a 40 05  3a 0d 1a 4a 05 3a 0d 1a  |.6....@.:..J.:..|
00004150  54 14 dd f2 63 68 65 63  6b 64 72 61 67 5f 70 72  |T...checkdrag_pr|
00004160  6f 67 0d 1a 5e 15 ea 20  74 6f 70 25 2c 62 6f 74  |og..^.. top%,bot|
00004170  74 6f 6d 25 2c 79 25 0d  1a 68 15 21 74 65 6d 70  |tom%,y%..h.!temp|
00004180  25 3d 50 72 6f 67 50 61  6e 65 31 25 0d 1a 72 23  |%=ProgPane1%..r#|
00004190  c8 99 20 22 57 69 6d 70  5f 47 65 74 57 69 6e 64  |.. "Wimp_GetWind|
000041a0  6f 77 53 74 61 74 65 22  2c 2c 74 65 6d 70 25 0d  |owState",,temp%.|
000041b0  1a 7c 27 c8 99 20 22 57  69 6d 70 5f 47 65 74 50  |.|'.. "Wimp_GetP|
000041c0  6f 69 6e 74 65 72 49 6e  66 6f 22 2c 2c 74 65 6d  |ointerInfo",,tem|
000041d0  70 25 2b 31 30 30 0d 1a  86 10 79 25 3d 74 65 6d  |p%+100....y%=tem|
000041e0  70 25 21 31 30 34 0d 1a  90 11 74 6f 70 25 3d 74  |p%!104....top%=t|
000041f0  65 6d 70 25 21 31 36 0d  1a 9a 13 62 6f 74 74 6f  |emp%!16....botto|
00004200  6d 25 3d 74 65 6d 70 25  21 38 0d 1a a4 0d 63 68  |m%=temp%!8....ch|
00004210  61 6e 67 65 25 3d 30 0d  1a ae 2e e7 20 79 25 3c  |ange%=0..... y%<|
00004220  74 6f 70 25 20 80 20 79  25 3e 74 6f 70 25 2d 38  |top% . y%>top%-8|
00004230  30 20 8c 63 68 61 6e 67  65 25 3d 38 30 2d 74 6f  |0 .change%=80-to|
00004240  70 25 2b 79 25 0d 1a b8  37 e7 20 79 25 3e 62 6f  |p%+y%...7. y%>bo|
00004250  74 74 6f 6d 25 20 80 20  79 25 3c 62 6f 74 74 6f  |ttom% . y%<botto|
00004260  6d 25 2b 36 34 20 8c 63  68 61 6e 67 65 25 3d 79  |m%+64 .change%=y|
00004270  25 2d 62 6f 74 74 6f 6d  25 2d 36 34 0d 1a c2 1a  |%-bottom%-64....|
00004280  63 68 61 6e 67 65 25 3d  28 63 68 61 6e 67 65 25  |change%=(change%|
00004290  80 28 ac 33 29 29 0d 1a  cc 12 e7 20 63 68 61 6e  |.(.3))..... chan|
000042a0  67 65 25 3c 3e 30 20 8c  0d 1a d6 17 20 20 74 65  |ge%<>0 .....  te|
000042b0  6d 70 25 21 32 34 2b 3d  63 68 61 6e 67 65 25 0d  |mp%!24+=change%.|
000042c0  1a e0 21 20 20 c8 99 20  22 57 69 6d 70 5f 4f 70  |..!  .. "Wimp_Op|
000042d0  65 6e 57 69 6e 64 6f 77  22 2c 2c 74 65 6d 70 25  |enWindow",,temp%|
000042e0  0d 1a ea 05 cd 0d 1a f4  05 e1 0d 1a fe 05 3a 0d  |..............:.|
000042f0  1b 08 05 3a 0d 1b 12 15  dd f2 63 68 65 63 6b 64  |...:......checkd|
00004300  72 61 67 5f 74 69 6d 65  73 0d 1b 1c 1c ea 20 61  |rag_times..... a|
00004310  64 64 72 25 2c 76 61 6c  25 2c 6c 25 2c 62 25 2c  |ddr%,val%,l%,b%,|
00004320  72 25 2c 74 25 0d 1b 26  17 21 74 65 6d 70 25 3d  |r%,t%..&.!temp%=|
00004330  54 69 6d 65 73 48 61 6e  64 6c 65 25 0d 1b 30 1a  |TimesHandle%..0.|
00004340  74 65 6d 70 25 21 34 3d  64 72 61 67 67 69 6e 67  |temp%!4=dragging|
00004350  25 2d 32 30 30 30 0d 1b  3a 21 c8 99 20 22 57 69  |%-2000..:!.. "Wi|
00004360  6d 70 5f 47 65 74 49 63  6f 6e 53 74 61 74 65 22  |mp_GetIconState"|
00004370  2c 2c 74 65 6d 70 25 0d  1b 44 0e 6c 25 3d 74 65  |,,temp%..D.l%=te|
00004380  6d 70 25 21 38 0d 1b 4e  27 c8 99 20 22 57 69 6d  |mp%!8..N'.. "Wim|
00004390  70 5f 47 65 74 50 6f 69  6e 74 65 72 49 6e 66 6f  |p_GetPointerInfo|
000043a0  22 2c 2c 74 65 6d 70 25  2b 31 30 30 0d 1b 58 1a  |",,temp%+100..X.|
000043b0  74 65 6d 70 25 21 31 34  30 3d 54 69 6d 65 73 48  |temp%!140=TimesH|
000043c0  61 6e 64 6c 65 25 0d 1b  62 27 c8 99 20 22 57 69  |andle%..b'.. "Wi|
000043d0  6d 70 5f 47 65 74 57 69  6e 64 6f 77 53 74 61 74  |mp_GetWindowStat|
000043e0  65 22 2c 2c 74 65 6d 70  25 2b 31 34 30 0d 1b 6c  |e",,temp%+140..l|
000043f0  2c 76 61 6c 25 3d 28 74  65 6d 70 25 21 31 30 30  |,val%=(temp%!100|
00004400  2d 28 74 65 6d 70 25 21  38 2b 74 65 6d 70 25 21  |-(temp%!8+temp%!|
00004410  31 34 34 29 2d 34 29 81  34 0d 1b 76 12 c8 8e 20  |144)-4).4..v... |
00004420  64 72 61 67 67 69 6e 67  25 20 ca 0d 1b 80 16 20  |dragging% ..... |
00004430  20 c9 20 32 30 31 34 3a  61 64 64 72 25 3d 73 6d  | . 2014:addr%=sm|
00004440  25 0d 1b 8a 16 20 20 c9  20 32 30 31 35 3a 61 64  |%....  . 2015:ad|
00004450  64 72 25 3d 73 73 25 0d  1b 94 16 20 20 c9 20 32  |dr%=ss%....  . 2|
00004460  30 31 36 3a 61 64 64 72  25 3d 73 66 25 0d 1b 9e  |016:addr%=sf%...|
00004470  16 20 20 c9 20 32 30 32  35 3a 61 64 64 72 25 3d  |.  . 2025:addr%=|
00004480  65 6d 25 0d 1b a8 16 20  20 c9 20 32 30 32 36 3a  |em%....  . 2026:|
00004490  61 64 64 72 25 3d 65 73  25 0d 1b b2 16 20 20 c9  |addr%=es%....  .|
000044a0  20 32 30 32 37 3a 61 64  64 72 25 3d 65 66 25 0d  | 2027:addr%=ef%.|
000044b0  1b bc 05 cb 0d 1b c6 17  e7 20 bb 28 24 61 64 64  |......... .($add|
000044c0  72 25 29 3c 3e 76 61 6c  25 20 8c 0d 1b d0 17 20  |r%)<>val% ..... |
000044d0  20 24 61 64 64 72 25 3d  a4 64 69 67 28 76 61 6c  | $addr%=.dig(val|
000044e0  25 29 0d 1b da 15 20 20  f4 20 61 64 6a 75 73 74  |%)....  . adjust|
000044f0  20 63 61 72 72 6f 74 0d  1b e4 27 20 20 c8 99 20  | carrot...'  .. |
00004500  22 57 69 6d 70 5f 47 65  74 43 61 72 65 74 50 6f  |"Wimp_GetCaretPo|
00004510  73 69 74 69 6f 6e 22 2c  2c 74 65 6d 70 25 0d 1b  |sition",,temp%..|
00004520  ee 36 20 20 e7 20 21 74  65 6d 70 25 3d 54 69 6d  |.6  . !temp%=Tim|
00004530  65 73 48 61 6e 64 6c 65  25 20 80 20 74 65 6d 70  |esHandle% . temp|
00004540  25 21 34 3d 64 72 61 67  67 69 6e 67 25 2d 31 39  |%!4=dragging%-19|
00004550  39 37 20 8c 0d 1b f8 25  20 20 20 20 c8 99 20 22  |97 ....%    .. "|
00004560  57 69 6d 70 5f 47 65 74  49 63 6f 6e 53 74 61 74  |Wimp_GetIconStat|
00004570  65 22 2c 2c 74 65 6d 70  25 0d 1c 02 49 20 20 20  |e",,temp%...I   |
00004580  20 c8 99 20 22 57 69 6d  70 5f 53 65 74 43 61 72  | .. "Wimp_SetCar|
00004590  65 74 50 6f 73 69 74 69  6f 6e 22 2c 21 74 65 6d  |etPosition",!tem|
000045a0  70 25 2c 74 65 6d 70 25  21 34 2c 2d 31 2c 2d 31  |p%,temp%!4,-1,-1|
000045b0  2c 2d 31 2c a9 28 24 28  74 65 6d 70 25 21 32 38  |,-1,.($(temp%!28|
000045c0  29 29 0d 1c 0c 07 20 20  cd 0d 1c 16 1c 20 20 74  |))....  .....  t|
000045d0  65 6d 70 25 21 31 30 30  3d 54 69 6d 65 73 48 61  |emp%!100=TimesHa|
000045e0  6e 64 6c 65 25 0d 1c 20  1e 20 20 74 65 6d 70 25  |ndle%.. .  temp%|
000045f0  21 31 30 34 3d 64 72 61  67 67 69 6e 67 25 2d 31  |!104=dragging%-1|
00004600  39 39 37 0d 1c 2a 27 20  20 c8 99 20 22 57 69 6d  |997..*'  .. "Wim|
00004610  70 5f 47 65 74 49 63 6f  6e 53 74 61 74 65 22 2c  |p_GetIconState",|
00004620  2c 74 65 6d 70 25 2b 31  30 30 0d 1c 34 12 20 20  |,temp%+100..4.  |
00004630  72 25 3d 74 65 6d 70 25  21 31 31 36 0d 1c 3e 12  |r%=temp%!116..>.|
00004640  20 20 74 25 3d 74 65 6d  70 25 21 31 32 30 0d 1c  |  t%=temp%!120..|
00004650  48 29 20 20 e7 20 64 72  61 67 67 69 6e 67 25 3d  |H)  . dragging%=|
00004660  32 30 31 36 20 84 20 64  72 61 67 67 69 6e 67 25  |2016 . dragging%|
00004670  3d 32 30 32 37 20 8c 0d  1c 52 14 20 20 20 20 62  |=2027 ...R.    b|
00004680  25 3d 74 65 6d 70 25 21  31 31 32 0d 1c 5c 07 20  |%=temp%!112..\. |
00004690  20 cc 0d 1c 66 20 20 20  20 20 74 65 6d 70 25 21  | ...f     temp%!|
000046a0  31 30 34 3d 64 72 61 67  67 69 6e 67 25 2d 31 39  |104=dragging%-19|
000046b0  39 39 0d 1c 70 29 20 20  20 20 c8 99 20 22 57 69  |99..p)    .. "Wi|
000046c0  6d 70 5f 47 65 74 49 63  6f 6e 53 74 61 74 65 22  |mp_GetIconState"|
000046d0  2c 2c 74 65 6d 70 25 2b  31 30 30 0d 1c 7a 14 20  |,,temp%+100..z. |
000046e0  20 20 20 62 25 3d 74 65  6d 70 25 21 31 32 30 0d  |   b%=temp%!120.|
000046f0  1c 84 07 20 20 cd 0d 1c  8e 34 20 20 c8 99 20 22  |...  ....4  .. "|
00004700  57 69 6d 70 5f 46 6f 72  63 65 52 65 64 72 61 77  |Wimp_ForceRedraw|
00004710  22 2c 54 69 6d 65 73 48  61 6e 64 6c 65 25 2c 6c  |",TimesHandle%,l|
00004720  25 2c 62 25 2c 72 25 2c  74 25 0d 1c 98 05 cd 0d  |%,b%,r%,t%......|
00004730  1c a2 05 e1 0d 1c ac 05  3a 0d 1c b6 05 3a 0d 1c  |........:....:..|
00004740  c0 05 3a 0d 1c ca 05 3a  0d 1c d4 12 dd f2 64 72  |..:....:......dr|
00004750  61 67 66 69 6e 69 73 68  65 64 0d 1c de 28 e7 20  |agfinished...(. |
00004760  64 72 61 67 67 69 6e 67  25 3c 32 30 30 30 20 8c  |dragging%<2000 .|
00004770  f2 64 72 61 67 66 69 6e  69 73 68 65 64 5f 70 72  |.dragfinished_pr|
00004780  6f 67 0d 1c e8 10 64 72  61 67 67 69 6e 67 25 3d  |og....dragging%=|
00004790  2d 31 0d 1c f2 05 e1 0d  1c fc 05 3a 0d 1d 06 17  |-1.........:....|
000047a0  dd f2 64 72 61 67 66 69  6e 69 73 68 65 64 5f 70  |..dragfinished_p|
000047b0  72 6f 67 0d 1d 10 0d ea  20 65 6e 64 70 6f 73 25  |rog..... endpos%|
000047c0  0d 1d 1a 23 c8 99 20 22  57 69 6d 70 5f 47 65 74  |...#.. "Wimp_Get|
000047d0  50 6f 69 6e 74 65 72 49  6e 66 6f 22 2c 2c 74 65  |PointerInfo",,te|
000047e0  6d 70 25 0d 1d 24 1c e7  20 74 65 6d 70 25 21 31  |mp%..$.. temp%!1|
000047f0  32 3d 50 72 6f 67 48 61  6e 64 6c 65 25 20 8c 0d  |2=ProgHandle% ..|
00004800  1d 2e 1a 20 20 74 65 6d  70 25 21 31 30 30 3d 50  |...  temp%!100=P|
00004810  72 6f 67 50 61 6e 65 31  25 0d 1d 38 29 20 20 c8  |rogPane1%..8)  .|
00004820  99 20 22 57 69 6d 70 5f  47 65 74 57 69 6e 64 6f  |. "Wimp_GetWindo|
00004830  77 53 74 61 74 65 22 2c  2c 74 65 6d 70 25 2b 31  |wState",,temp%+1|
00004840  30 30 0d 1d 42 1c 20 20  e7 20 74 65 6d 70 25 21  |00..B.  . temp%!|
00004850  34 3e 3d 74 65 6d 70 25  21 31 31 36 20 8c 0d 1d  |4>=temp%!116 ...|
00004860  4c 19 20 20 20 20 74 65  6d 70 25 21 34 3d 74 65  |L.    temp%!4=te|
00004870  6d 70 25 21 31 31 36 0d  1d 56 1b 20 20 20 20 74  |mp%!116..V.    t|
00004880  65 6d 70 25 21 31 32 3d  50 72 6f 67 50 61 6e 65  |emp%!12=ProgPane|
00004890  31 25 0d 1d 60 07 20 20  cd 0d 1d 6a 05 cd 0d 1d  |1%..`.  ...j....|
000048a0  74 11 c8 8e 20 74 65 6d  70 25 21 31 32 20 ca 0d  |t... temp%!12 ..|
000048b0  1d 7e 32 20 20 c9 20 50  72 6f 67 50 61 6e 65 32  |.~2  . ProgPane2|
000048c0  25 3a e7 20 64 72 61 67  67 69 6e 67 25 3c 31 30  |%:. dragging%<10|
000048d0  30 30 20 8c f2 64 72 61  67 6f 75 74 6f 66 73 65  |00 ..dragoutofse|
000048e0  71 0d 1d 88 12 20 20 c9  20 50 72 6f 67 50 61 6e  |q....  . ProgPan|
000048f0  65 31 25 0d 1d 92 1c 20  20 20 20 74 65 6d 70 25  |e1%....    temp%|
00004900  21 31 30 30 3d 50 72 6f  67 50 61 6e 65 31 25 0d  |!100=ProgPane1%.|
00004910  1d 9c 2b 20 20 20 20 c8  99 20 22 57 69 6d 70 5f  |..+    .. "Wimp_|
00004920  47 65 74 57 69 6e 64 6f  77 53 74 61 74 65 22 2c  |GetWindowState",|
00004930  2c 74 65 6d 70 25 2b 31  30 30 0d 1d a6 33 20 20  |,temp%+100...3  |
00004940  20 20 65 6e 64 70 6f 73  25 3d 28 74 65 6d 70 25  |  endpos%=(temp%|
00004950  21 31 31 36 2d 74 65 6d  70 25 21 31 32 34 2b 32  |!116-temp%!124+2|
00004960  32 2d 74 65 6d 70 25 21  34 29 81 35 32 0d 1d b0  |2-temp%!4).52...|
00004970  1e 20 20 20 20 e7 20 65  6e 64 70 6f 73 25 3c 30  |.    . endpos%<0|
00004980  20 8c 65 6e 64 70 6f 73  25 3d 30 0d 1d ba 2e 20  | .endpos%=0.... |
00004990  20 20 20 e7 20 65 6e 64  70 6f 73 25 3e 6e 6f 69  |   . endpos%>noi|
000049a0  6e 70 72 6f 67 25 20 8c  65 6e 64 70 6f 73 25 3d  |nprog% .endpos%=|
000049b0  6e 6f 69 6e 70 72 6f 67  25 0d 1d c4 36 20 20 20  |noinprog%...6   |
000049c0  20 e7 20 64 72 61 67 67  69 6e 67 25 3c 31 30 30  | . dragging%<100|
000049d0  30 20 8c f2 64 72 61 67  61 72 6f 75 6e 64 73 65  |0 ..dragaroundse|
000049e0  71 20 8b f2 64 72 61 67  69 6e 74 6f 73 65 71 0d  |q ..dragintoseq.|
000049f0  1d ce 05 cb 0d 1d d8 05  e1 0d 1d e2 05 3a 0d 1d  |.............:..|
00004a00  ec 05 3a 0d 1d f6 13 dd  f2 64 72 61 67 61 72 6f  |..:......dragaro|
00004a10  75 6e 64 73 65 71 0d 1e  00 25 ea 20 63 68 61 6e  |undseq...%. chan|
00004a20  67 65 25 2c 6f 66 66 73  65 74 25 2c 73 74 61 72  |ge%,offset%,star|
00004a30  74 70 6f 73 25 2c 6c 6f  6f 70 25 0d 1e 0a 17 73  |tpos%,loop%....s|
00004a40  74 61 72 74 70 6f 73 25  3d 64 72 61 67 67 69 6e  |tartpos%=draggin|
00004a50  67 25 0d 1e 14 1b 63 68  61 6e 67 65 25 3d 70 72  |g%....change%=pr|
00004a60  6f 67 25 3f 73 74 61 72  74 70 6f 73 25 0d 1e 1e  |og%?startpos%...|
00004a70  1c e7 20 73 74 61 72 74  70 6f 73 25 3c 3e 65 6e  |.. startpos%<>en|
00004a80  64 70 6f 73 25 2d 31 20  8c 0d 1e 28 1d 20 20 e7  |dpos%-1 ...(.  .|
00004a90  20 73 74 61 72 74 70 6f  73 25 3c 65 6e 64 70 6f  | startpos%<endpo|
00004aa0  73 25 2d 31 20 8c 0d 1e  32 12 20 20 20 20 65 6e  |s%-1 ...2.    en|
00004ab0  64 70 6f 73 25 2d 3d 31  0d 1e 3c 31 20 20 20 20  |dpos%-=1..<1    |
00004ac0  e3 20 6c 6f 6f 70 25 3d  70 72 6f 67 25 2b 73 74  |. loop%=prog%+st|
00004ad0  61 72 74 70 6f 73 25 20  b8 20 70 72 6f 67 25 2b  |artpos% . prog%+|
00004ae0  65 6e 64 70 6f 73 25 2d  31 0d 1e 46 18 20 20 20  |endpos%-1..F.   |
00004af0  20 20 20 3f 6c 6f 6f 70  25 3d 6c 6f 6f 70 25 3f  |   ?loop%=loop%?|
00004b00  31 0d 1e 50 09 20 20 20  20 ed 0d 1e 5a 07 20 20  |1..P.    ...Z.  |
00004b10  cd 0d 1e 64 1b 20 20 e7  20 73 74 61 72 74 70 6f  |...d.  . startpo|
00004b20  73 25 3e 65 6e 64 70 6f  73 25 20 8c 0d 1e 6e 35  |s%>endpos% ...n5|
00004b30  20 20 20 20 e3 20 6c 6f  6f 70 25 3d 70 72 6f 67  |    . loop%=prog|
00004b40  25 2b 73 74 61 72 74 70  6f 73 25 20 b8 20 70 72  |%+startpos% . pr|
00004b50  6f 67 25 2b 65 6e 64 70  6f 73 25 2b 31 20 88 2d  |og%+endpos%+1 .-|
00004b60  31 0d 1e 78 19 20 20 20  20 20 20 3f 6c 6f 6f 70  |1..x.      ?loop|
00004b70  25 3d 6c 6f 6f 70 25 3f  2d 31 0d 1e 82 09 20 20  |%=loop%?-1....  |
00004b80  20 20 ed 0d 1e 8c 07 20  20 cd 0d 1e 96 1b 20 20  |  .....  .....  |
00004b90  70 72 6f 67 25 3f 65 6e  64 70 6f 73 25 3d 63 68  |prog%?endpos%=ch|
00004ba0  61 6e 67 65 25 0d 1e a0  05 cd 0d 1e aa 33 c8 99  |ange%........3..|
00004bb0  20 22 57 69 6d 70 5f 46  6f 72 63 65 52 65 64 72  | "Wimp_ForceRedr|
00004bc0  61 77 22 2c 50 72 6f 67  50 61 6e 65 31 25 2c 30  |aw",ProgPane1%,0|
00004bd0  2c 2d 36 30 30 30 2c 31  30 30 30 2c 30 0d 1e b4  |,-6000,1000,0...|
00004be0  05 e1 0d 1e be 05 3a 0d  1e c8 05 3a 0d 1e d2 11  |......:....:....|
00004bf0  dd f2 64 72 61 67 69 6e  74 6f 73 65 71 0d 1e dc  |..dragintoseq...|
00004c00  1d ea 20 73 74 61 72 74  70 6f 73 25 2c 63 68 61  |.. startpos%,cha|
00004c10  6e 67 65 25 2c 6c 6f 6f  70 25 0d 1e e6 1c 73 74  |nge%,loop%....st|
00004c20  61 72 74 70 6f 73 25 3d  64 72 61 67 67 69 6e 67  |artpos%=dragging|
00004c30  25 2d 31 30 30 30 0d 1e  f0 1e 63 68 61 6e 67 65  |%-1000....change|
00004c40  25 3d 6e 6f 74 75 73 65  64 25 3f 73 74 61 72 74  |%=notused%?start|
00004c50  70 6f 73 25 0d 1e fa 13  6e 6f 69 6e 6e 6f 74 75  |pos%....noinnotu|
00004c60  73 65 64 25 2d 3d 31 0d  1f 04 24 e3 20 6c 6f 6f  |sed%-=1...$. loo|
00004c70  70 25 3d 73 74 61 72 74  70 6f 73 25 20 b8 20 6e  |p%=startpos% . n|
00004c80  6f 69 6e 6e 6f 74 75 73  65 64 25 0d 1f 0e 28 20  |oinnotused%...( |
00004c90  20 6e 6f 74 75 73 65 64  25 3f 6c 6f 6f 70 25 3d  | notused%?loop%=|
00004ca0  3f 28 6e 6f 74 75 73 65  64 25 2b 6c 6f 6f 70 25  |?(notused%+loop%|
00004cb0  2b 31 29 0d 1f 18 05 ed  0d 1f 22 10 6e 6f 69 6e  |+1).......".noin|
00004cc0  70 72 6f 67 25 2b 3d 31  0d 1f 2c 25 e3 20 6c 6f  |prog%+=1..,%. lo|
00004cd0  6f 70 25 3d 6e 6f 69 6e  70 72 6f 67 25 20 b8 20  |op%=noinprog% . |
00004ce0  65 6e 64 70 6f 73 25 2b  31 20 88 2d 31 0d 1f 36  |endpos%+1 .-1..6|
00004cf0  22 20 20 70 72 6f 67 25  3f 6c 6f 6f 70 25 3d 3f  |"  prog%?loop%=?|
00004d00  28 70 72 6f 67 25 2b 6c  6f 6f 70 25 2d 31 29 0d  |(prog%+loop%-1).|
00004d10  1f 40 05 ed 0d 1f 4a 19  70 72 6f 67 25 3f 65 6e  |.@....J.prog%?en|
00004d20  64 70 6f 73 25 3d 63 68  61 6e 67 65 25 0d 1f 54  |dpos%=change%..T|
00004d30  1a f2 61 64 6a 75 73 74  62 6f 74 68 70 72 6f 67  |..adjustbothprog|
00004d40  68 65 69 67 68 74 73 0d  1f 5e 05 e1 0d 1f 68 05  |heights..^....h.|
00004d50  3a 0d 1f 72 05 3a 0d 1f  7c 12 dd f2 64 72 61 67  |:..r.:..|...drag|
00004d60  6f 75 74 6f 66 73 65 71  0d 1f 86 23 ea 20 63 68  |outofseq...#. ch|
00004d70  61 6e 67 65 25 2c 6c 6f  6f 70 25 2c 66 6c 61 67  |ange%,loop%,flag|
00004d80  25 2c 73 74 61 72 74 70  6f 73 25 0d 1f 90 17 73  |%,startpos%....s|
00004d90  74 61 72 74 70 6f 73 25  3d 64 72 61 67 67 69 6e  |tartpos%=draggin|
00004da0  67 25 0d 1f 9a 1b 63 68  61 6e 67 65 25 3d 70 72  |g%....change%=pr|
00004db0  6f 67 25 3f 73 74 61 72  74 70 6f 73 25 0d 1f a4  |og%?startpos%...|
00004dc0  10 6e 6f 69 6e 70 72 6f  67 25 2d 3d 31 0d 1f ae  |.noinprog%-=1...|
00004dd0  21 e3 20 6c 6f 6f 70 25  3d 73 74 61 72 74 70 6f  |!. loop%=startpo|
00004de0  73 25 20 b8 20 6e 6f 69  6e 70 72 6f 67 25 0d 1f  |s% . noinprog%..|
00004df0  b8 22 20 20 70 72 6f 67  25 3f 6c 6f 6f 70 25 3d  |."  prog%?loop%=|
00004e00  3f 28 70 72 6f 67 25 2b  6c 6f 6f 70 25 2b 31 29  |?(prog%+loop%+1)|
00004e10  0d 1f c2 05 ed 0d 1f cc  13 6e 6f 69 6e 6e 6f 74  |.........noinnot|
00004e20  75 73 65 64 25 2b 3d 31  0d 1f d6 16 6c 6f 6f 70  |used%+=1....loop|
00004e30  25 3d 6e 6f 69 6e 6e 6f  74 75 73 65 64 25 0d 1f  |%=noinnotused%..|
00004e40  e0 0b 66 6c 61 67 25 3d  a3 0d 1f ea 0e c8 95 20  |..flag%=....... |
00004e50  ac 66 6c 61 67 25 20 0d  1f f4 28 20 20 6e 6f 74  |.flag% ...(  not|
00004e60  75 73 65 64 25 3f 6c 6f  6f 70 25 3d 3f 28 6e 6f  |used%?loop%=?(no|
00004e70  74 75 73 65 64 25 2b 6c  6f 6f 70 25 2d 31 29 0d  |tused%+loop%-1).|
00004e80  1f fe 33 20 20 e7 20 6e  6f 74 75 73 65 64 25 3f  |..3  . notused%?|
00004e90  6c 6f 6f 70 25 3c 63 68  61 6e 67 65 25 20 80 20  |loop%<change% . |
00004ea0  6e 6f 74 75 73 65 64 25  3f 6c 6f 6f 70 25 3e 30  |notused%?loop%>0|
00004eb0  20 8c 0d 20 08 1e 20 20  20 20 6e 6f 74 75 73 65  | .. ..    notuse|
00004ec0  64 25 3f 6c 6f 6f 70 25  3d 63 68 61 6e 67 65 25  |d%?loop%=change%|
00004ed0  0d 20 12 0f 20 20 20 20  66 6c 61 67 25 3d b9 0d  |. ..    flag%=..|
00004ee0  20 1c 07 20 20 cd 0d 20  26 0e 20 20 6c 6f 6f 70  | ..  .. &.  loop|
00004ef0  25 2d 3d 31 0d 20 30 1b  20 20 e7 20 6c 6f 6f 70  |%-=1. 0.  . loop|
00004f00  25 3d 30 20 80 20 66 6c  61 67 25 3d a3 20 8c 0d  |%=0 . flag%=. ..|
00004f10  20 3a 0f 20 20 20 20 66  6c 61 67 25 3d b9 0d 20  | :.    flag%=.. |
00004f20  44 19 20 20 20 20 3f 6e  6f 74 75 73 65 64 25 3d  |D.    ?notused%=|
00004f30  63 68 61 6e 67 65 25 0d  20 4e 07 20 20 cd 0d 20  |change%. N.  .. |
00004f40  58 05 ce 0d 20 62 1a f2  61 64 6a 75 73 74 62 6f  |X... b..adjustbo|
00004f50  74 68 70 72 6f 67 68 65  69 67 68 74 73 0d 20 6c  |thprogheights. l|
00004f60  05 e1 0d 20 76 05 3a 0d  20 80 05 3a 0d 20 8a 1b  |... v.:. ..:. ..|
00004f70  dd f2 61 64 6a 75 73 74  62 6f 74 68 70 72 6f 67  |..adjustbothprog|
00004f80  68 65 69 67 68 74 73 0d  20 94 15 21 74 65 6d 70  |heights. ..!temp|
00004f90  25 3d 50 72 6f 67 50 61  6e 65 31 25 0d 20 9e 23  |%=ProgPane1%. .#|
00004fa0  c8 99 20 22 57 69 6d 70  5f 47 65 74 57 69 6e 64  |.. "Wimp_GetWind|
00004fb0  6f 77 53 74 61 74 65 22  2c 2c 74 65 6d 70 25 0d  |owState",,temp%.|
00004fc0  20 a8 1e 74 65 6d 70 25  21 31 30 38 3d 74 65 6d  | ..temp%!108=tem|
00004fd0  70 25 21 31 32 2d 74 65  6d 70 25 21 34 0d 20 b2  |p%!12-temp%!4. .|
00004fe0  0f 74 65 6d 70 25 21 31  30 30 3d 30 0d 20 bc 0f  |.temp%!100=0. ..|
00004ff0  74 65 6d 70 25 21 31 31  32 3d 30 0d 20 c6 20 74  |temp%!112=0. . t|
00005000  65 6d 70 25 21 31 30 34  3d 2d 28 35 32 2a 6e 6f  |emp%!104=-(52*no|
00005010  69 6e 70 72 6f 67 25 2b  31 36 29 0d 20 d0 3e e7  |inprog%+16). .>.|
00005020  20 74 65 6d 70 25 21 31  30 34 3e 2d 50 72 6f 67  | temp%!104>-Prog|
00005030  50 61 6e 65 31 48 65 69  67 68 74 25 20 8c 74 65  |Pane1Height% .te|
00005040  6d 70 25 21 31 30 34 3d  2d 50 72 6f 67 50 61 6e  |mp%!104=-ProgPan|
00005050  65 31 48 65 69 67 68 74  25 0d 20 da 2c c8 99 20  |e1Height%. .,.. |
00005060  22 57 69 6d 70 5f 53 65  74 45 78 74 65 6e 74 22  |"Wimp_SetExtent"|
00005070  2c 50 72 6f 67 50 61 6e  65 31 25 2c 74 65 6d 70  |,ProgPane1%,temp|
00005080  25 2b 31 30 30 0d 20 e4  1f c8 99 20 22 57 69 6d  |%+100. .... "Wim|
00005090  70 5f 4f 70 65 6e 57 69  6e 64 6f 77 22 2c 2c 74  |p_OpenWindow",,t|
000050a0  65 6d 70 25 0d 20 ee 15  21 74 65 6d 70 25 3d 50  |emp%. ..!temp%=P|
000050b0  72 6f 67 50 61 6e 65 32  25 0d 20 f8 23 c8 99 20  |rogPane2%. .#.. |
000050c0  22 57 69 6d 70 5f 47 65  74 57 69 6e 64 6f 77 53  |"Wimp_GetWindowS|
000050d0  74 61 74 65 22 2c 2c 74  65 6d 70 25 0d 21 02 1e  |tate",,temp%.!..|
000050e0  74 65 6d 70 25 21 31 30  38 3d 74 65 6d 70 25 21  |temp%!108=temp%!|
000050f0  31 32 2d 74 65 6d 70 25  21 34 0d 21 0c 0f 74 65  |12-temp%!4.!..te|
00005100  6d 70 25 21 31 30 30 3d  30 0d 21 16 0f 74 65 6d  |mp%!100=0.!..tem|
00005110  70 25 21 31 31 32 3d 30  0d 21 20 23 74 65 6d 70  |p%!112=0.! #temp|
00005120  25 21 31 30 34 3d 2d 28  35 32 2a 6e 6f 69 6e 6e  |%!104=-(52*noinn|
00005130  6f 74 75 73 65 64 25 2b  31 36 29 0d 21 2a 3e e7  |otused%+16).!*>.|
00005140  20 74 65 6d 70 25 21 31  30 34 3e 2d 50 72 6f 67  | temp%!104>-Prog|
00005150  50 61 6e 65 32 48 65 69  67 68 74 25 20 8c 74 65  |Pane2Height% .te|
00005160  6d 70 25 21 31 30 34 3d  2d 50 72 6f 67 50 61 6e  |mp%!104=-ProgPan|
00005170  65 32 48 65 69 67 68 74  25 0d 21 34 2c c8 99 20  |e2Height%.!4,.. |
00005180  22 57 69 6d 70 5f 53 65  74 45 78 74 65 6e 74 22  |"Wimp_SetExtent"|
00005190  2c 50 72 6f 67 50 61 6e  65 32 25 2c 74 65 6d 70  |,ProgPane2%,temp|
000051a0  25 2b 31 30 30 0d 21 3e  1f c8 99 20 22 57 69 6d  |%+100.!>... "Wim|
000051b0  70 5f 4f 70 65 6e 57 69  6e 64 6f 77 22 2c 2c 74  |p_OpenWindow",,t|
000051c0  65 6d 70 25 0d 21 48 33  c8 99 20 22 57 69 6d 70  |emp%.!H3.. "Wimp|
000051d0  5f 46 6f 72 63 65 52 65  64 72 61 77 22 2c 50 72  |_ForceRedraw",Pr|
000051e0  6f 67 50 61 6e 65 31 25  2c 30 2c 2d 36 30 30 30  |ogPane1%,0,-6000|
000051f0  2c 31 30 30 30 2c 30 0d  21 52 33 c8 99 20 22 57  |,1000,0.!R3.. "W|
00005200  69 6d 70 5f 46 6f 72 63  65 52 65 64 72 61 77 22  |imp_ForceRedraw"|
00005210  2c 50 72 6f 67 50 61 6e  65 32 25 2c 30 2c 2d 36  |,ProgPane2%,0,-6|
00005220  30 30 30 2c 31 30 30 30  2c 30 0d 21 5c 05 e1 0d  |000,1000,0.!\...|
00005230  21 66 05 3a 0d 21 70 05  3a 0d 21 7a 05 3a 0d 21  |!f.:.!p.:.!z.:.!|
00005240  84 05 3a 0d 21 8e 05 3a  0d 21 98 22 dd f2 6b 65  |..:.!..:.!."..ke|
00005250  79 70 72 65 73 73 28 77  69 6e 64 6f 77 25 2c 69  |ypress(window%,i|
00005260  63 6f 6e 25 2c 6b 65 79  25 29 0d 21 a2 0b 75 73  |con%,key%).!..us|
00005270  65 64 25 3d a3 0d 21 ac  10 c8 8e 20 77 69 6e 64  |ed%=..!.... wind|
00005280  6f 77 25 20 ca 0d 21 b6  25 20 20 c9 20 4e 61 6d  |ow% ..!.%  . Nam|
00005290  65 73 48 61 6e 64 6c 65  25 3a f2 6b 65 79 5f 6e  |esHandle%:.key_n|
000052a0  61 6d 65 73 68 61 6e 64  6c 65 0d 21 c0 21 20 20  |ameshandle.!.!  |
000052b0  c9 20 4e 61 6d 65 73 50  61 6e 65 25 3a f2 6b 65  |. NamesPane%:.ke|
000052c0  79 5f 6e 61 6d 65 73 70  61 6e 65 0d 21 ca 25 20  |y_namespane.!.% |
000052d0  20 c9 20 54 69 6d 65 73  48 61 6e 64 6c 65 25 3a  | . TimesHandle%:|
000052e0  f2 6b 65 79 5f 74 69 6d  65 73 68 61 6e 64 6c 65  |.key_timeshandle|
000052f0  0d 21 d4 05 cb 0d 21 de  27 e7 20 ac 75 73 65 64  |.!....!.'. .used|
00005300  25 20 8c c8 99 20 22 57  69 6d 70 5f 50 72 6f 63  |% ... "Wimp_Proc|
00005310  65 73 73 4b 65 79 22 2c  6b 65 79 25 0d 21 e8 05  |essKey",key%.!..|
00005320  e1 0d 21 f2 05 3a 0d 21  fc 05 3a 0d 22 06 05 3a  |..!..:.!..:."..:|
00005330  0d 22 10 05 3a 0d 22 1a  15 dd f2 6b 65 79 5f 6e  |."..:."....key_n|
00005340  61 6d 65 73 68 61 6e 64  6c 65 0d 22 24 0b ea 20  |ameshandle."$.. |
00005350  69 63 6f 6e 25 0d 22 2e  17 e7 20 6b 65 79 25 3c  |icon%."... key%<|
00005360  32 35 35 20 8c 75 73 65  64 25 3d b9 0d 22 38 16  |255 .used%=.."8.|
00005370  e7 20 6b 65 79 25 3c 33  32 20 8c 75 73 65 64 25  |. key%<32 .used%|
00005380  3d a3 0d 22 42 33 e7 20  6b 65 79 25 3d 38 20 84  |=.."B3. key%=8 .|
00005390  20 6b 65 79 25 3d 31 30  20 84 20 6b 65 79 25 3d  | key%=10 . key%=|
000053a0  31 33 20 84 20 6b 65 79  25 3d 32 31 20 8c 75 73  |13 . key%=21 .us|
000053b0  65 64 25 3d b9 0d 22 4c  12 c8 8e 20 6b 65 79 25  |ed%=.."L... key%|
000053c0  2d 26 31 38 30 20 ca 0d  22 56 3d 20 20 c9 20 26  |-&180 .."V=  . &|
000053d0  61 2c 26 62 2c 26 63 2c  26 64 2c 26 65 2c 26 66  |a,&b,&c,&d,&e,&f|
000053e0  2c 26 31 61 2c 26 31 62  2c 26 31 63 2c 26 31 64  |,&1a,&1b,&1c,&1d|
000053f0  2c 26 32 62 2c 26 32 63  2c 26 32 64 3a 75 73 65  |,&2b,&2c,&2d:use|
00005400  64 25 3d b9 0d 22 60 05  cb 0d 22 6a 0c 69 63 6f  |d%=.."`..."j.ico|
00005410  6e 25 3d 2d 31 0d 22 74  2f e7 20 6b 65 79 25 3d  |n%=-1."t/. key%=|
00005420  26 31 38 66 20 84 20 6b  65 79 25 3d 26 31 39 61  |&18f . key%=&19a|
00005430  20 8c 69 63 6f 6e 25 3d  28 66 69 6c 65 25 3f 34  | .icon%=(file%?4|
00005440  31 29 2d 31 0d 22 7e 38  e7 20 6b 65 79 25 3d 26  |1)-1."~8. key%=&|
00005450  31 38 65 20 84 20 6b 65  79 25 3d 26 31 38 61 20  |18e . key%=&18a |
00005460  84 20 6b 65 79 25 3d 31  30 20 84 20 6b 65 79 25  |. key%=10 . key%|
00005470  3d 31 33 20 8c 69 63 6f  6e 25 3d 30 0d 22 88 10  |=13 .icon%=0."..|
00005480  e7 20 69 63 6f 6e 25 3e  2d 31 20 8c 0d 22 92 5c  |. icon%>-1 ..".\|
00005490  20 20 c8 99 20 22 57 69  6d 70 5f 53 65 74 43 61  |  .. "Wimp_SetCa|
000054a0  72 65 74 50 6f 73 69 74  69 6f 6e 22 2c 4e 61 6d  |retPosition",Nam|
000054b0  65 73 50 61 6e 65 25 2c  69 63 6f 6e 25 2c 2d 31  |esPane%,icon%,-1|
000054c0  2c 2d 31 2c 2d 31 2c a9  28 a4 72 65 61 64 73 74  |,-1,-1,.(.readst|
000054d0  72 69 6e 67 28 66 69 6c  65 25 2b 34 34 2b 34 34  |ring(file%+44+44|
000054e0  2a 69 63 6f 6e 25 29 29  0d 22 9c 17 20 20 21 74  |*icon%))."..  !t|
000054f0  65 6d 70 25 3d 4e 61 6d  65 73 50 61 6e 65 25 0d  |emp%=NamesPane%.|
00005500  22 a6 25 20 20 c8 99 20  22 57 69 6d 70 5f 47 65  |".%  .. "Wimp_Ge|
00005510  74 57 69 6e 64 6f 77 53  74 61 74 65 22 2c 2c 74  |tWindowState",,t|
00005520  65 6d 70 25 0d 22 b0 1b  20 20 74 65 6d 70 25 21  |emp%."..  temp%!|
00005530  32 34 3d 2d 69 63 6f 6e  25 2a 31 30 30 30 30 0d  |24=-icon%*10000.|
00005540  22 ba 21 20 20 c8 99 20  22 57 69 6d 70 5f 4f 70  |".!  .. "Wimp_Op|
00005550  65 6e 57 69 6e 64 6f 77  22 2c 2c 74 65 6d 70 25  |enWindow",,temp%|
00005560  0d 22 c4 05 cd 0d 22 ce  05 e1 0d 22 d8 05 3a 0d  |."...."...."..:.|
00005570  22 e2 05 3a 0d 22 ec 13  dd f2 6b 65 79 5f 6e 61  |"..:."....key_na|
00005580  6d 65 73 70 61 6e 65 0d  22 f6 0d ea 20 73 63 72  |mespane."... scr|
00005590  6f 6c 6c 25 0d 23 00 17  e7 20 6b 65 79 25 3c 32  |oll%.#... key%<2|
000055a0  35 35 20 8c 75 73 65 64  25 3d b9 0d 23 0a 16 e7  |55 .used%=..#...|
000055b0  20 6b 65 79 25 3c 33 32  20 8c 75 73 65 64 25 3d  | key%<32 .used%=|
000055c0  a3 0d 23 14 33 e7 20 6b  65 79 25 3d 38 20 84 20  |..#.3. key%=8 . |
000055d0  6b 65 79 25 3d 31 30 20  84 20 6b 65 79 25 3d 31  |key%=10 . key%=1|
000055e0  33 20 84 20 6b 65 79 25  3d 32 31 20 8c 75 73 65  |3 . key%=21 .use|
000055f0  64 25 3d b9 0d 23 1e 12  c8 8e 20 6b 65 79 25 2d  |d%=..#.... key%-|
00005600  26 31 38 30 20 ca 0d 23  28 3d 20 20 c9 20 26 61  |&180 ..#(=  . &a|
00005610  2c 26 62 2c 26 63 2c 26  64 2c 26 65 2c 26 66 2c  |,&b,&c,&d,&e,&f,|
00005620  26 31 61 2c 26 31 62 2c  26 31 63 2c 26 31 64 2c  |&1a,&1b,&1c,&1d,|
00005630  26 32 62 2c 26 32 63 2c  26 32 64 3a 75 73 65 64  |&2b,&2c,&2d:used|
00005640  25 3d b9 0d 23 32 05 cb  0d 23 3c 0d 73 63 72 6f  |%=..#2...#<.scro|
00005650  6c 6c 25 3d 30 0d 23 46  1d e7 20 6b 65 79 25 3d  |ll%=0.#F.. key%=|
00005660  26 31 38 66 20 84 20 6b  65 79 25 3d 26 31 39 61  |&18f . key%=&19a|
00005670  20 8c 0d 23 50 11 20 20  e7 20 69 63 6f 6e 25 3d  | ..#P.  . icon%=|
00005680  30 20 8c 0d 23 5a 50 20  20 20 20 c8 99 20 22 57  |0 ..#ZP    .. "W|
00005690  69 6d 70 5f 53 65 74 43  61 72 65 74 50 6f 73 69  |imp_SetCaretPosi|
000056a0  74 69 6f 6e 22 2c 4e 61  6d 65 73 48 61 6e 64 6c  |tion",NamesHandl|
000056b0  65 25 2c 30 2c 2d 31 2c  2d 31 2c 2d 31 2c a9 28  |e%,0,-1,-1,-1,.(|
000056c0  a4 72 65 61 64 73 74 72  69 6e 67 28 66 69 6c 65  |.readstring(file|
000056d0  25 29 29 0d 23 64 07 20  20 cc 0d 23 6e 12 20 20  |%)).#d.  ..#n.  |
000056e0  20 20 73 63 72 6f 6c 6c  25 3d 35 32 0d 23 78 07  |  scroll%=52.#x.|
000056f0  20 20 cd 0d 23 82 05 cd  0d 23 8c 31 e7 20 6b 65  |  ..#....#.1. ke|
00005700  79 25 3d 26 31 38 65 20  84 20 6b 65 79 25 3d 26  |y%=&18e . key%=&|
00005710  31 38 61 20 84 20 6b 65  79 25 3d 31 30 20 84 20  |18a . key%=10 . |
00005720  6b 65 79 25 3d 31 33 20  8c 0d 23 96 1c 20 20 e7  |key%=13 ..#..  .|
00005730  20 69 63 6f 6e 25 3d 28  66 69 6c 65 25 3f 34 31  | icon%=(file%?41|
00005740  29 2d 31 20 8c 0d 23 a0  15 20 20 20 20 e7 20 6b  |)-1 ..#..    . k|
00005750  65 79 25 3e 26 31 38 30  20 8c 0d 23 aa 52 20 20  |ey%>&180 ..#.R  |
00005760  20 20 20 20 c8 99 20 22  57 69 6d 70 5f 53 65 74  |    .. "Wimp_Set|
00005770  43 61 72 65 74 50 6f 73  69 74 69 6f 6e 22 2c 4e  |CaretPosition",N|
00005780  61 6d 65 73 48 61 6e 64  6c 65 25 2c 30 2c 2d 31  |amesHandle%,0,-1|
00005790  2c 2d 31 2c 2d 31 2c a9  28 a4 72 65 61 64 73 74  |,-1,-1,.(.readst|
000057a0  72 69 6e 67 28 66 69 6c  65 25 29 29 0d 23 b4 09  |ring(file%)).#..|
000057b0  20 20 20 20 cc 0d 23 be  60 20 20 20 20 20 20 c8  |    ..#.`      .|
000057c0  99 20 22 57 69 6d 70 5f  53 65 74 43 61 72 65 74  |. "Wimp_SetCaret|
000057d0  50 6f 73 69 74 69 6f 6e  22 2c 4e 61 6d 65 73 50  |Position",NamesP|
000057e0  61 6e 65 25 2c 69 63 6f  6e 25 2c 2d 31 2c 2d 31  |ane%,icon%,-1,-1|
000057f0  2c 2d 31 2c a9 28 a4 72  65 61 64 73 74 72 69 6e  |,-1,.(.readstrin|
00005800  67 28 66 69 6c 65 25 2b  34 34 2b 34 34 2a 69 63  |g(file%+44+44*ic|
00005810  6f 6e 25 29 29 0d 23 c8  09 20 20 20 20 cd 0d 23  |on%)).#..    ..#|
00005820  d2 07 20 20 cc 0d 23 dc  13 20 20 20 20 73 63 72  |..  ..#..    scr|
00005830  6f 6c 6c 25 3d 2d 35 32  0d 23 e6 07 20 20 cd 0d  |oll%=-52.#..  ..|
00005840  23 f0 05 cd 0d 23 fa 12  e7 20 73 63 72 6f 6c 6c  |#....#... scroll|
00005850  25 3c 3e 30 20 8c 0d 24  04 17 20 20 21 74 65 6d  |%<>0 ..$..  !tem|
00005860  70 25 3d 4e 61 6d 65 73  50 61 6e 65 25 0d 24 0e  |p%=NamesPane%.$.|
00005870  25 20 20 c8 99 20 22 57  69 6d 70 5f 47 65 74 57  |%  .. "Wimp_GetW|
00005880  69 6e 64 6f 77 53 74 61  74 65 22 2c 2c 74 65 6d  |indowState",,tem|
00005890  70 25 0d 24 18 17 20 20  74 65 6d 70 25 21 32 34  |p%.$..  temp%!24|
000058a0  2b 3d 73 63 72 6f 6c 6c  25 0d 24 22 21 20 20 c8  |+=scroll%.$"!  .|
000058b0  99 20 22 57 69 6d 70 5f  4f 70 65 6e 57 69 6e 64  |. "Wimp_OpenWind|
000058c0  6f 77 22 2c 2c 74 65 6d  70 25 0d 24 2c 05 cd 0d  |ow",,temp%.$,...|
000058d0  24 36 05 e1 0d 24 40 05  3a 0d 24 4a 05 3a 0d 24  |$6...$@.:.$J.:.$|
000058e0  54 05 3a 0d 24 5e 15 dd  f2 6b 65 79 5f 74 69 6d  |T.:.$^...key_tim|
000058f0  65 73 68 61 6e 64 6c 65  0d 24 68 0d ea 20 62 6f  |eshandle.$h.. bo|
00005900  74 74 6f 6d 25 0d 24 72  3e e7 20 6b 65 79 25 3d  |ttom%.$r>. key%=|
00005910  38 20 84 20 6b 65 79 25  3d 31 30 20 84 20 6b 65  |8 . key%=10 . ke|
00005920  79 25 3d 31 33 20 84 20  6b 65 79 25 3d 32 31 20  |y%=13 . key%=21 |
00005930  84 20 6b 65 79 25 3d 31  32 37 20 8c 75 73 65 64  |. key%=127 .used|
00005940  25 3d b9 0d 24 7c 12 c8  8e 20 6b 65 79 25 2d 26  |%=..$|... key%-&|
00005950  31 38 30 20 ca 0d 24 86  3d 20 20 c9 20 26 61 2c  |180 ..$.=  . &a,|
00005960  26 62 2c 26 63 2c 26 64  2c 26 65 2c 26 66 2c 26  |&b,&c,&d,&e,&f,&|
00005970  31 61 2c 26 31 62 2c 26  31 63 2c 26 31 64 2c 26  |1a,&1b,&1c,&1d,&|
00005980  32 62 2c 26 32 63 2c 26  32 64 3a 75 73 65 64 25  |2b,&2c,&2d:used%|
00005990  3d b9 0d 24 90 05 cb 0d  24 9a 0c 6b 65 79 25 2d  |=..$....$..key%-|
000059a0  3d 34 38 0d 24 a4 15 74  65 6d 70 25 21 31 30 30  |=48.$..temp%!100|
000059b0  3d 77 69 6e 64 6f 77 25  0d 24 ae 13 74 65 6d 70  |=window%.$..temp|
000059c0  25 21 31 30 34 3d 69 63  6f 6e 25 0d 24 b8 25 c8  |%!104=icon%.$.%.|
000059d0  99 20 22 57 69 6d 70 5f  47 65 74 49 63 6f 6e 53  |. "Wimp_GetIconS|
000059e0  74 61 74 65 22 2c 2c 74  65 6d 70 25 2b 31 30 30  |tate",,temp%+100|
000059f0  0d 24 c2 19 e7 20 6b 65  79 25 3e 2d 31 20 80 20  |.$... key%>-1 . |
00005a00  6b 65 79 25 3c 31 30 20  8c 0d 24 cc 27 20 20 c8  |key%<10 ..$.'  .|
00005a10  99 20 22 57 69 6d 70 5f  47 65 74 43 61 72 65 74  |. "Wimp_GetCaret|
00005a20  50 6f 73 69 74 69 6f 6e  22 2c 2c 74 65 6d 70 25  |Position",,temp%|
00005a30  0d 24 d6 10 20 20 c8 8e  20 69 63 6f 6e 25 20 ca  |.$..  .. icon% .|
00005a40  0d 24 e0 2c 20 20 20 20  c9 20 31 37 2c 31 38 2c  |.$.,    . 17,18,|
00005a50  32 38 2c 32 39 3a f2 6b  65 79 5f 6d 69 6e 73 73  |28,29:.key_minss|
00005a60  65 63 73 28 69 63 6f 6e  25 2c 38 29 0d 24 ea 22  |ecs(icon%,8).$."|
00005a70  20 20 20 20 c9 20 31 39  2c 33 30 3a f2 6b 65 79  |    . 19,30:.key|
00005a80  5f 66 72 61 6d 65 73 28  69 63 6f 6e 25 29 0d 24  |_frames(icon%).$|
00005a90  f4 07 20 20 cb 0d 24 fe  05 cd 0d 25 08 0c 6b 65  |..  ..$....%..ke|
00005aa0  79 25 2b 3d 34 38 0d 25  12 45 e7 20 28 75 73 65  |y%+=48.%.E. (use|
00005ab0  64 25 29 20 80 20 28 28  6b 65 79 25 3e 34 37 20  |d%) . ((key%>47 |
00005ac0  80 20 6b 65 79 25 3c 35  38 29 20 84 20 6b 65 79  |. key%<58) . key|
00005ad0  25 3d 38 20 84 20 6b 65  79 25 3d 32 31 20 84 20  |%=8 . key%=21 . |
00005ae0  6b 65 79 25 3d 31 32 37  29 20 8c 0d 25 1c 35 20  |key%=127) ..%.5 |
00005af0  20 f4 20 72 65 64 72 61  77 20 2d 20 74 65 6d 70  | . redraw - temp|
00005b00  2b 31 30 30 20 63 6f 6e  74 61 69 6e 73 20 72 69  |+100 contains ri|
00005b10  67 68 74 20 61 6e 64 20  74 6f 70 20 69 63 6f 6e  |ght and top icon|
00005b20  0d 25 26 14 20 20 21 74  65 6d 70 25 3d 77 69 6e  |.%&.  !temp%=win|
00005b30  64 6f 77 25 0d 25 30 15  20 20 74 65 6d 70 25 21  |dow%.%0.  temp%!|
00005b40  34 3d 69 63 6f 6e 25 2d  33 0d 25 3a 3d 20 20 c8  |4=icon%-3.%:=  .|
00005b50  99 20 22 57 69 6d 70 5f  47 65 74 49 63 6f 6e 53  |. "Wimp_GetIconS|
00005b60  74 61 74 65 22 2c 2c 74  65 6d 70 25 3a f4 20 74  |tate",,temp%:. t|
00005b70  65 6d 70 20 63 6f 6e 74  61 69 6e 73 20 6c 65 66  |emp contains lef|
00005b80  74 20 69 63 6f 6e 0d 25  44 1d 20 20 e7 20 69 63  |t icon.%D.  . ic|
00005b90  6f 6e 25 3d 31 39 20 84  20 69 63 6f 6e 25 3d 33  |on%=19 . icon%=3|
00005ba0  30 20 8c 0d 25 4e 19 20  20 20 20 62 6f 74 74 6f  |0 ..%N.    botto|
00005bb0  6d 25 3d 74 65 6d 70 25  21 31 31 32 0d 25 58 07  |m%=temp%!112.%X.|
00005bc0  20 20 cc 0d 25 62 18 20  20 20 20 74 65 6d 70 25  |  ..%b.    temp%|
00005bd0  21 34 30 3d 77 69 6e 64  6f 77 25 0d 25 6c 18 20  |!40=window%.%l. |
00005be0  20 20 20 74 65 6d 70 25  21 34 34 3d 69 63 6f 6e  |   temp%!44=icon|
00005bf0  25 2d 32 0d 25 76 28 20  20 20 20 c8 99 20 22 57  |%-2.%v(    .. "W|
00005c00  69 6d 70 5f 47 65 74 49  63 6f 6e 53 74 61 74 65  |imp_GetIconState|
00005c10  22 2c 2c 74 65 6d 70 25  2b 34 30 0d 25 80 18 20  |",,temp%+40.%.. |
00005c20  20 20 20 62 6f 74 74 6f  6d 25 3d 74 65 6d 70 25  |   bottom%=temp%|
00005c30  21 36 30 0d 25 8a 07 20  20 cd 0d 25 94 4c 20 20  |!60.%..  ..%.L  |
00005c40  c8 99 20 22 57 69 6d 70  5f 46 6f 72 63 65 52 65  |.. "Wimp_ForceRe|
00005c50  64 72 61 77 22 2c 54 69  6d 65 73 48 61 6e 64 6c  |draw",TimesHandl|
00005c60  65 25 2c 74 65 6d 70 25  21 38 2c 62 6f 74 74 6f  |e%,temp%!8,botto|
00005c70  6d 25 2c 74 65 6d 70 25  21 31 31 36 2c 74 65 6d  |m%,temp%!116,tem|
00005c80  70 25 21 31 32 30 0d 25  9e 05 cd 0d 25 a8 05 e1  |p%!120.%....%...|
00005c90  0d 25 b2 05 3a 0d 25 bc  05 3a 0d 25 c6 1e dd f2  |.%..:.%..:.%....|
00005ca0  6b 65 79 5f 6d 69 6e 73  73 65 63 73 28 69 63 6f  |key_minssecs(ico|
00005cb0  6e 25 2c 6d 61 78 25 29  0d 25 d0 18 c8 8e 20 a9  |n%,max%).%.... .|
00005cc0  28 24 28 74 65 6d 70 25  21 31 32 38 29 29 20 ca  |($(temp%!128)) .|
00005cd0  0d 25 da 09 20 20 c9 20  30 0d 25 e4 18 20 20 24  |.%..  . 0.%..  $|
00005ce0  28 74 65 6d 70 25 21 31  32 38 29 3d c3 6b 65 79  |(temp%!128)=.key|
00005cf0  25 0d 25 ee 39 20 20 c8  99 20 22 57 69 6d 70 5f  |%.%.9  .. "Wimp_|
00005d00  53 65 74 43 61 72 65 74  50 6f 73 69 74 69 6f 6e  |SetCaretPosition|
00005d10  22 2c 77 69 6e 64 6f 77  25 2c 69 63 6f 6e 25 2c  |",window%,icon%,|
00005d20  2d 31 2c 2d 31 2c 2d 31  2c 31 0d 25 f8 0d 20 20  |-1,-1,-1,1.%..  |
00005d30  75 73 65 64 25 3d b9 0d  26 02 09 20 20 c9 20 31  |used%=..&..  . 1|
00005d40  0d 26 0c 14 20 20 e7 20  74 65 6d 70 25 21 32 30  |.&..  . temp%!20|
00005d50  3d 30 20 8c 0d 26 16 15  20 20 20 20 e7 20 6b 65  |=0 ..&..    . ke|
00005d60  79 25 3c 6d 61 78 25 20  8c 0d 26 20 29 20 20 20  |y%<max% ..& )   |
00005d70  20 20 20 24 28 74 65 6d  70 25 21 31 32 38 29 3d  |   $(temp%!128)=|
00005d80  c3 6b 65 79 25 2b 24 28  74 65 6d 70 25 21 31 32  |.key%+$(temp%!12|
00005d90  38 29 0d 26 2a 3d 20 20  20 20 20 20 c8 99 20 22  |8).&*=      .. "|
00005da0  57 69 6d 70 5f 53 65 74  43 61 72 65 74 50 6f 73  |Wimp_SetCaretPos|
00005db0  69 74 69 6f 6e 22 2c 77  69 6e 64 6f 77 25 2c 69  |ition",window%,i|
00005dc0  63 6f 6e 25 2c 2d 31 2c  2d 31 2c 2d 31 2c 31 0d  |con%,-1,-1,-1,1.|
00005dd0  26 34 11 20 20 20 20 20  20 75 73 65 64 25 3d b9  |&4.      used%=.|
00005de0  0d 26 3e 09 20 20 20 20  cd 0d 26 48 07 20 20 cc  |.&>.    ..&H.  .|
00005df0  0d 26 52 20 20 20 20 20  e7 20 bb 28 24 28 74 65  |.&R     . .($(te|
00005e00  6d 70 25 21 31 32 38 29  29 3c 6d 61 78 25 20 8c  |mp%!128))<max% .|
00005e10  0d 26 5c 1d 20 20 20 20  20 20 24 28 74 65 6d 70  |.&\.      $(temp|
00005e20  25 21 31 32 38 29 2b 3d  c3 6b 65 79 25 0d 26 66  |%!128)+=.key%.&f|
00005e30  3d 20 20 20 20 20 20 c8  99 20 22 57 69 6d 70 5f  |=      .. "Wimp_|
00005e40  53 65 74 43 61 72 65 74  50 6f 73 69 74 69 6f 6e  |SetCaretPosition|
00005e50  22 2c 77 69 6e 64 6f 77  25 2c 69 63 6f 6e 25 2c  |",window%,icon%,|
00005e60  2d 31 2c 2d 31 2c 2d 31  2c 32 0d 26 70 11 20 20  |-1,-1,-1,2.&p.  |
00005e70  20 20 20 20 75 73 65 64  25 3d b9 0d 26 7a 09 20  |    used%=..&z. |
00005e80  20 20 20 cd 0d 26 84 07  20 20 cd 0d 26 8e 05 cb  |   ..&..  ..&...|
00005e90  0d 26 98 05 e1 0d 26 a2  05 3a 0d 26 ac 17 dd f2  |.&....&..:.&....|
00005ea0  6b 65 79 5f 66 72 61 6d  65 73 28 69 63 6f 6e 25  |key_frames(icon%|
00005eb0  29 0d 26 b6 18 c8 8e 20  a9 28 24 28 74 65 6d 70  |).&.... .($(temp|
00005ec0  25 21 31 32 38 29 29 20  ca 0d 26 c0 09 20 20 c9  |%!128)) ..&..  .|
00005ed0  20 30 0d 26 ca 18 20 20  24 28 74 65 6d 70 25 21  | 0.&..  $(temp%!|
00005ee0  31 32 38 29 3d c3 6b 65  79 25 0d 26 d4 39 20 20  |128)=.key%.&.9  |
00005ef0  c8 99 20 22 57 69 6d 70  5f 53 65 74 43 61 72 65  |.. "Wimp_SetCare|
00005f00  74 50 6f 73 69 74 69 6f  6e 22 2c 77 69 6e 64 6f  |tPosition",windo|
00005f10  77 25 2c 69 63 6f 6e 25  2c 2d 31 2c 2d 31 2c 2d  |w%,icon%,-1,-1,-|
00005f20  31 2c 31 0d 26 de 0d 20  20 75 73 65 64 25 3d b9  |1,1.&..  used%=.|
00005f30  0d 26 e8 09 20 20 c9 20  31 0d 26 f2 14 20 20 e7  |.&..  . 1.&..  .|
00005f40  20 74 65 6d 70 25 21 32  30 3d 30 20 8c 0d 26 fc  | temp%!20=0 ..&.|
00005f50  33 20 20 20 20 e7 20 28  6b 65 79 25 3c 37 29 20  |3    . (key%<7) |
00005f60  84 20 28 6b 65 79 25 3d  37 20 80 20 bb 28 24 28  |. (key%=7 . .($(|
00005f70  74 65 6d 70 25 21 31 32  38 29 29 3c 35 29 20 8c  |temp%!128))<5) .|
00005f80  0d 27 06 29 20 20 20 20  20 20 24 28 74 65 6d 70  |.'.)      $(temp|
00005f90  25 21 31 32 38 29 3d c3  6b 65 79 25 2b 24 28 74  |%!128)=.key%+$(t|
00005fa0  65 6d 70 25 21 31 32 38  29 0d 27 10 3d 20 20 20  |emp%!128).'.=   |
00005fb0  20 20 20 c8 99 20 22 57  69 6d 70 5f 53 65 74 43  |   .. "Wimp_SetC|
00005fc0  61 72 65 74 50 6f 73 69  74 69 6f 6e 22 2c 77 69  |aretPosition",wi|
00005fd0  6e 64 6f 77 25 2c 69 63  6f 6e 25 2c 2d 31 2c 2d  |ndow%,icon%,-1,-|
00005fe0  31 2c 2d 31 2c 31 0d 27  1a 11 20 20 20 20 20 20  |1,-1,1.'..      |
00005ff0  75 73 65 64 25 3d b9 0d  27 24 09 20 20 20 20 cd  |used%=..'$.    .|
00006000  0d 27 2e 07 20 20 cc 0d  27 38 3e 20 20 20 20 e7  |.'..  ..'8>    .|
00006010  20 28 bb 28 24 28 74 65  6d 70 25 21 31 32 38 29  | (.($(temp%!128)|
00006020  29 3c 37 29 20 84 20 28  bb 28 24 28 74 65 6d 70  |)<7) . (.($(temp|
00006030  25 21 31 32 38 29 29 3d  37 20 80 20 6b 65 79 25  |%!128))=7 . key%|
00006040  3c 35 29 20 8c 0d 27 42  1d 20 20 20 20 20 20 24  |<5) ..'B.      $|
00006050  28 74 65 6d 70 25 21 31  32 38 29 2b 3d c3 6b 65  |(temp%!128)+=.ke|
00006060  79 25 0d 27 4c 3d 20 20  20 20 20 20 c8 99 20 22  |y%.'L=      .. "|
00006070  57 69 6d 70 5f 53 65 74  43 61 72 65 74 50 6f 73  |Wimp_SetCaretPos|
00006080  69 74 69 6f 6e 22 2c 77  69 6e 64 6f 77 25 2c 69  |ition",window%,i|
00006090  63 6f 6e 25 2c 2d 31 2c  2d 31 2c 2d 31 2c 32 0d  |con%,-1,-1,-1,2.|
000060a0  27 56 11 20 20 20 20 20  20 75 73 65 64 25 3d b9  |'V.      used%=.|
000060b0  0d 27 60 09 20 20 20 20  cd 0d 27 6a 07 20 20 cd  |.'`.    ..'j.  .|
000060c0  0d 27 74 05 cb 0d 27 7e  05 e1 0d 27 88 05 3a 0d  |.'t...'~...'..:.|
000060d0  27 92 05 3a 0d 27 9c 05  3a 0d 27 a6 05 3a 0d 27  |'..:.'..:.'..:.'|
000060e0  b0 05 3a 0d 27 ba 05 3a  0d 27 c4 05 3a 0d 27 ce  |..:.'..:.'..:.'.|
000060f0  05 3a 0d 27 d8 05 3a 0d  27 e2 05 3a 0d 27 ec 05  |.:.'..:.'..:.'..|
00006100  3a 0d 27 f6 05 3a 0d 28  00 05 3a 0d 28 0a 05 3a  |:.'..:.(..:.(..:|
00006110  0d 28 14 53 f4 20 6f 70  65 6e 73 20 6e 65 77 25  |.(.S. opens new%|
00006120  20 69 6e 20 74 68 65 20  70 6f 73 69 74 69 6f 6e  | in the position|
00006130  20 6f 66 20 6f 6c 64 25  2c 20 75 73 69 6e 67 20  | of old%, using |
00006140  74 6f 70 25 20 74 6f 20  77 6f 72 6b 20 6f 75 74  |top% to work out|
00006150  20 77 68 65 72 65 20 69  6e 20 74 68 65 20 73 74  | where in the st|
00006160  61 63 6b 0d 28 1e 23 dd  f2 6f 70 65 6e 6e 65 77  |ack.(.#..opennew|
00006170  77 69 6e 64 6f 77 28 6e  65 77 25 2c 6f 6c 64 25  |window(new%,old%|
00006180  2c 74 6f 70 25 29 0d 28  28 0f 21 74 65 6d 70 25  |,top%).((.!temp%|
00006190  3d 74 6f 70 25 0d 28 32  23 c8 99 20 22 57 69 6d  |=top%.(2#.. "Wim|
000061a0  70 5f 47 65 74 57 69 6e  64 6f 77 53 74 61 74 65  |p_GetWindowState|
000061b0  22 2c 2c 74 65 6d 70 25  0d 28 3c 10 21 62 6c 6f  |",,temp%.(<.!blo|
000061c0  63 6b 25 3d 6f 6c 64 25  0d 28 46 24 c8 99 20 22  |ck%=old%.(F$.. "|
000061d0  57 69 6d 70 5f 47 65 74  57 69 6e 64 6f 77 53 74  |Wimp_GetWindowSt|
000061e0  61 74 65 22 2c 2c 62 6c  6f 63 6b 25 0d 28 50 10  |ate",,block%.(P.|
000061f0  f2 63 6c 6f 73 65 77 69  6e 64 6f 77 0d 28 5a 10  |.closewindow.(Z.|
00006200  21 62 6c 6f 63 6b 25 3d  6e 65 77 25 0d 28 64 0f  |!block%=new%.(d.|
00006210  62 6c 6f 63 6b 25 21 32  34 3d 30 0d 28 6e 16 62  |block%!24=0.(n.b|
00006220  6c 6f 63 6b 25 21 32 38  3d 74 65 6d 70 25 21 32  |lock%!28=temp%!2|
00006230  38 0d 28 78 0f f2 6f 70  65 6e 77 69 6e 64 6f 77  |8.(x..openwindow|
00006240  0d 28 82 05 e1 0d 28 8c  05 3a 0d 28 96 05 3a 0d  |.(....(..:.(..:.|
00006250  28 a0 05 3a 0d 28 aa 05  3a 0d 28 b4 05 3a 0d 28  |(..:.(..:.(..:.(|
00006260  be 05 3a 0d 28 c8 05 3a  0d 28 d2 05 3a 0d 28 dc  |..:.(..:.(..:.(.|
00006270  05 3a 0d 28 e6 05 3a 0d  28 f0 05 3a 0d 28 fa 05  |.:.(..:.(..:.(..|
00006280  3a 0d 29 04 05 3a 0d 29  0e 05 3a 0d 29 18 05 3a  |:.)..:.)..:.)..:|
00006290  0d 29 22 14 dd f2 6f 70  65 6e 74 72 61 63 6b 6e  |.)"...opentrackn|
000062a0  61 6d 65 73 0d 29 2c 17  ea 20 63 64 25 2c 6c 6f  |ames.),.. cd%,lo|
000062b0  6f 70 25 2c 68 65 69 67  68 74 25 0d 29 36 12 6c  |op%,height%.)6.l|
000062c0  6f 6f 70 25 3d 30 3a 63  64 25 3d 2d 31 0d 29 40  |oop%=0:cd%=-1.)@|
000062d0  1a c8 95 20 63 64 25 3d  2d 31 20 80 20 6c 6f 6f  |... cd%=-1 . loo|
000062e0  70 25 3c 63 64 73 25 0d  29 4a 2e 20 20 e7 20 28  |p%<cds%.)J.  . (|
000062f0  28 3f 28 43 44 73 25 2b  6c 6f 6f 70 25 2a 36 34  |(?(CDs%+loop%*64|
00006300  2b 35 32 29 29 80 31 29  3d 31 20 8c 63 64 25 3d  |+52)).1)=1 .cd%=|
00006310  6c 6f 6f 70 25 0d 29 54  0e 20 20 6c 6f 6f 70 25  |loop%.)T.  loop%|
00006320  2b 3d 31 0d 29 5e 05 ce  0d 29 68 0e e7 20 63 64  |+=1.)^...)h.. cd|
00006330  25 3e 2d 31 20 8c 0d 29  72 3e 20 20 c8 99 20 22  |%>-1 ..)r>  .. "|
00006340  4f 53 5f 46 69 6c 65 22  2c 31 36 2c 22 46 6c 65  |OS_File",16,"Fle|
00006350  78 69 43 44 3a 43 44 73  2e 22 2b 24 28 43 44 73  |xiCD:CDs."+$(CDs|
00006360  25 2b 63 64 25 2a 36 34  2b 34 31 29 2c 66 69 6c  |%+cd%*64+41),fil|
00006370  65 25 2c 30 0d 29 7c 1e  20 20 68 65 69 67 68 74  |e%,0.)|.  height|
00006380  25 3d 35 32 2a 28 66 69  6c 65 25 3f 34 31 29 2b  |%=52*(file%?41)+|
00006390  31 36 0d 29 86 3a 20 20  e7 20 68 65 69 67 68 74  |16.).:  . height|
000063a0  25 3c 4e 61 6d 65 73 50  61 6e 65 48 65 69 67 68  |%<NamesPaneHeigh|
000063b0  74 25 20 8c 68 65 69 67  68 74 25 3d 4e 61 6d 65  |t% .height%=Name|
000063c0  73 50 61 6e 65 48 65 69  67 68 74 25 0d 29 90 17  |sPaneHeight%.)..|
000063d0  20 20 21 74 65 6d 70 25  3d 4e 61 6d 65 73 50 61  |  !temp%=NamesPa|
000063e0  6e 65 25 0d 29 9a 25 20  20 c8 99 20 22 57 69 6d  |ne%.).%  .. "Wim|
000063f0  70 5f 47 65 74 57 69 6e  64 6f 77 53 74 61 74 65  |p_GetWindowState|
00006400  22 2c 2c 74 65 6d 70 25  0d 29 a4 1e 20 20 74 65  |",,temp%.)..  te|
00006410  6d 70 25 21 38 3d 74 65  6d 70 25 21 31 32 2d 74  |mp%!8=temp%!12-t|
00006420  65 6d 70 25 21 34 0d 29  ae 0e 20 20 21 74 65 6d  |emp%!4.)..  !tem|
00006430  70 25 3d 30 0d 29 b8 16  20 20 74 65 6d 70 25 21  |p%=0.)..  temp%!|
00006440  34 3d 2d 68 65 69 67 68  74 25 0d 29 c2 10 20 20  |4=-height%.)..  |
00006450  74 65 6d 70 25 21 31 32  3d 30 0d 29 cc 2a 20 20  |temp%!12=0.).*  |
00006460  c8 99 20 22 57 69 6d 70  5f 53 65 74 45 78 74 65  |.. "Wimp_SetExte|
00006470  6e 74 22 2c 4e 61 6d 65  73 50 61 6e 65 25 2c 74  |nt",NamesPane%,t|
00006480  65 6d 70 25 0d 29 d6 17  20 20 21 74 65 6d 70 25  |emp%.)..  !temp%|
00006490  3d 4e 61 6d 65 73 50 61  6e 65 25 0d 29 e0 14 20  |=NamesPane%.).. |
000064a0  20 74 65 6d 70 25 21 31  32 3d 31 3c 3c 32 33 0d  | temp%!12=1<<23.|
000064b0  29 ea 14 20 20 e3 20 6c  6f 6f 70 25 3d 32 20 b8  |)..  . loop%=2 .|
000064c0  20 31 30 0d 29 f4 33 20  20 20 20 e7 20 6c 6f 6f  | 10.).3    . loo|
000064d0  70 25 3e 66 69 6c 65 25  3f 34 31 20 8c 20 74 65  |p%>file%?41 . te|
000064e0  6d 70 25 21 38 3d 31 3c  3c 32 33 20 8b 74 65 6d  |mp%!8=1<<23 .tem|
000064f0  70 25 21 38 3d 30 0d 29  fe 15 20 20 20 20 74 65  |p%!8=0.)..    te|
00006500  6d 70 25 21 34 3d 6c 6f  6f 70 25 0d 2a 08 25 20  |mp%!4=loop%.*.% |
00006510  20 20 20 c8 99 20 22 57  69 6d 70 5f 53 65 74 49  |   .. "Wimp_SetI|
00006520  63 6f 6e 53 74 61 74 65  22 2c 2c 74 65 6d 70 25  |conState",,temp%|
00006530  0d 2a 12 07 20 20 ed 0d  2a 1c 15 20 20 e7 20 66  |.*..  ..*..  . f|
00006540  69 6c 65 25 3f 34 31 3c  39 39 20 8c 0d 2a 26 18  |ile%?41<99 ..*&.|
00006550  20 20 20 20 74 65 6d 70  25 21 34 3d 66 69 6c 65  |    temp%!4=file|
00006560  25 3f 34 31 0d 2a 30 15  20 20 20 20 74 65 6d 70  |%?41.*0.    temp|
00006570  25 21 38 3d 31 3c 3c 32  33 0d 2a 3a 25 20 20 20  |%!8=1<<23.*:%   |
00006580  20 c8 99 20 22 57 69 6d  70 5f 53 65 74 49 63 6f  | .. "Wimp_SetIco|
00006590  6e 53 74 61 74 65 22 2c  2c 74 65 6d 70 25 0d 2a  |nState",,temp%.*|
000065a0  44 07 20 20 cd 0d 2a 4e  36 20 20 f2 6f 70 65 6e  |D.  ..*N6  .open|
000065b0  6e 65 77 77 69 6e 64 6f  77 28 4e 61 6d 65 73 48  |newwindow(NamesH|
000065c0  61 6e 64 6c 65 25 2c 43  44 73 48 61 6e 64 6c 65  |andle%,CDsHandle|
000065d0  25 2c 43 44 73 50 61 6e  65 25 29 0d 2a 58 4e 20  |%,CDsPane%).*XN |
000065e0  20 c8 99 20 22 57 69 6d  70 5f 53 65 74 43 61 72  | .. "Wimp_SetCar|
000065f0  65 74 50 6f 73 69 74 69  6f 6e 22 2c 4e 61 6d 65  |etPosition",Name|
00006600  73 48 61 6e 64 6c 65 25  2c 30 2c 2d 31 2c 2d 31  |sHandle%,0,-1,-1|
00006610  2c 2d 31 2c a9 28 a4 72  65 61 64 73 74 72 69 6e  |,-1,.(.readstrin|
00006620  67 28 66 69 6c 65 25 29  29 0d 2a 62 14 20 20 65  |g(file%)).*b.  e|
00006630  64 69 74 69 6e 67 63 64  25 3d 63 64 25 0d 2a 6c  |ditingcd%=cd%.*l|
00006640  05 cd 0d 2a 76 05 e1 0d  2a 80 05 3a 0d 2a 8a 05  |...*v...*..:.*..|
00006650  3a 0d 2a 94 05 3a 0d 2a  9e 05 3a 0d 2a a8 11 dd  |:.*..:.*..:.*...|
00006660  f2 6f 70 65 6e 70 72 6f  67 73 65 71 0d 2a b2 1d  |.openprogseq.*..|
00006670  ea 20 63 64 25 2c 6c 6f  6f 70 25 2c 6f 66 66 73  |. cd%,loop%,offs|
00006680  65 74 25 2c 75 73 65 64  25 0d 2a bc 12 6c 6f 6f  |et%,used%.*..loo|
00006690  70 25 3d 30 3a 63 64 25  3d 2d 31 0d 2a c6 1a c8  |p%=0:cd%=-1.*...|
000066a0  95 20 63 64 25 3d 2d 31  20 80 20 6c 6f 6f 70 25  |. cd%=-1 . loop%|
000066b0  3c 63 64 73 25 0d 2a d0  2e 20 20 e7 20 28 28 3f  |<cds%.*..  . ((?|
000066c0  28 43 44 73 25 2b 6c 6f  6f 70 25 2a 36 34 2b 35  |(CDs%+loop%*64+5|
000066d0  32 29 29 80 31 29 3d 31  20 8c 63 64 25 3d 6c 6f  |2)).1)=1 .cd%=lo|
000066e0  6f 70 25 0d 2a da 0e 20  20 6c 6f 6f 70 25 2b 3d  |op%.*..  loop%+=|
000066f0  31 0d 2a e4 05 ce 0d 2a  ee 0e e7 20 63 64 25 3e  |1.*....*... cd%>|
00006700  2d 31 20 8c 0d 2a f8 3e  20 20 c8 99 20 22 4f 53  |-1 ..*.>  .. "OS|
00006710  5f 46 69 6c 65 22 2c 31  36 2c 22 46 6c 65 78 69  |_File",16,"Flexi|
00006720  43 44 3a 43 44 73 2e 22  2b 24 28 43 44 73 25 2b  |CD:CDs."+$(CDs%+|
00006730  63 64 25 2a 36 34 2b 34  31 29 2c 66 69 6c 65 25  |cd%*64+41),file%|
00006740  2c 30 0d 2b 02 11 20 20  6e 6f 69 6e 70 72 6f 67  |,0.+..  noinprog|
00006750  25 3d 30 0d 2b 0c 07 20  20 f5 0d 2b 16 2f 20 20  |%=0.+..  ..+./  |
00006760  20 20 70 72 6f 67 25 3f  6e 6f 69 6e 70 72 6f 67  |  prog%?noinprog|
00006770  25 3d 3f 28 66 69 6c 65  25 2b 34 34 30 30 2b 6e  |%=?(file%+4400+n|
00006780  6f 69 6e 70 72 6f 67 25  29 0d 2b 20 14 20 20 20  |oinprog%).+ .   |
00006790  20 6e 6f 69 6e 70 72 6f  67 25 2b 3d 31 0d 2b 2a  | noinprog%+=1.+*|
000067a0  20 20 20 fd 3f 28 66 69  6c 65 25 2b 34 34 30 30  |   .?(file%+4400|
000067b0  2b 6e 6f 69 6e 70 72 6f  67 25 29 3d 30 0d 2b 34  |+noinprog%)=0.+4|
000067c0  17 20 20 70 72 6f 67 25  3f 6e 6f 69 6e 70 72 6f  |.  prog%?noinpro|
000067d0  67 25 3d 30 0d 2b 3e 14  20 20 6e 6f 69 6e 6e 6f  |g%=0.+>.  noinno|
000067e0  74 75 73 65 64 25 3d 30  0d 2b 48 1a 20 20 e3 20  |tused%=0.+H.  . |
000067f0  6c 6f 6f 70 25 3d 31 20  b8 20 66 69 6c 65 25 3f  |loop%=1 . file%?|
00006800  34 31 0d 2b 52 0f 20 20  20 20 75 73 65 64 25 3d  |41.+R.    used%=|
00006810  a3 0d 2b 5c 21 20 20 20  20 e3 20 6f 66 66 73 65  |..+\!    . offse|
00006820  74 25 3d 30 20 b8 20 6e  6f 69 6e 70 72 6f 67 25  |t%=0 . noinprog%|
00006830  2d 31 0d 2b 66 28 20 20  20 20 20 20 e7 20 70 72  |-1.+f(      . pr|
00006840  6f 67 25 3f 6f 66 66 73  65 74 25 3d 6c 6f 6f 70  |og%?offset%=loop|
00006850  25 20 8c 75 73 65 64 25  3d b9 0d 2b 70 09 20 20  |% .used%=..+p.  |
00006860  20 20 ed 0d 2b 7a 3e 20  20 20 20 e7 20 ac 75 73  |  ..+z>    . .us|
00006870  65 64 25 20 8c 20 6e 6f  74 75 73 65 64 25 3f 6e  |ed% . notused%?n|
00006880  6f 69 6e 6e 6f 74 75 73  65 64 25 3d 6c 6f 6f 70  |oinnotused%=loop|
00006890  25 3a 6e 6f 69 6e 6e 6f  74 75 73 65 64 25 2b 3d  |%:noinnotused%+=|
000068a0  31 0d 2b 84 07 20 20 ed  0d 2b 8e 1d 20 20 6e 6f  |1.+..  ..+..  no|
000068b0  74 75 73 65 64 25 3f 6e  6f 69 6e 6e 6f 74 75 73  |tused%?noinnotus|
000068c0  65 64 25 3d 30 0d 2b 98  1d 20 20 68 65 69 67 68  |ed%=0.+..  heigh|
000068d0  74 25 3d 35 32 2a 6e 6f  69 6e 70 72 6f 67 25 2b  |t%=52*noinprog%+|
000068e0  31 36 0d 2b a2 3a 20 20  e7 20 68 65 69 67 68 74  |16.+.:  . height|
000068f0  25 3c 50 72 6f 67 50 61  6e 65 31 48 65 69 67 68  |%<ProgPane1Heigh|
00006900  74 25 20 8c 68 65 69 67  68 74 25 3d 50 72 6f 67  |t% .height%=Prog|
00006910  50 61 6e 65 31 48 65 69  67 68 74 25 0d 2b ac 17  |Pane1Height%.+..|
00006920  20 20 21 74 65 6d 70 25  3d 50 72 6f 67 50 61 6e  |  !temp%=ProgPan|
00006930  65 31 25 0d 2b b6 25 20  20 c8 99 20 22 57 69 6d  |e1%.+.%  .. "Wim|
00006940  70 5f 47 65 74 57 69 6e  64 6f 77 53 74 61 74 65  |p_GetWindowState|
00006950  22 2c 2c 74 65 6d 70 25  0d 2b c0 1e 20 20 74 65  |",,temp%.+..  te|
00006960  6d 70 25 21 38 3d 74 65  6d 70 25 21 31 32 2d 74  |mp%!8=temp%!12-t|
00006970  65 6d 70 25 21 34 0d 2b  ca 0e 20 20 21 74 65 6d  |emp%!4.+..  !tem|
00006980  70 25 3d 30 0d 2b d4 16  20 20 74 65 6d 70 25 21  |p%=0.+..  temp%!|
00006990  34 3d 2d 68 65 69 67 68  74 25 0d 2b de 10 20 20  |4=-height%.+..  |
000069a0  74 65 6d 70 25 21 31 32  3d 30 0d 2b e8 2a 20 20  |temp%!12=0.+.*  |
000069b0  c8 99 20 22 57 69 6d 70  5f 53 65 74 45 78 74 65  |.. "Wimp_SetExte|
000069c0  6e 74 22 2c 50 72 6f 67  50 61 6e 65 31 25 2c 74  |nt",ProgPane1%,t|
000069d0  65 6d 70 25 0d 2b f2 20  20 20 68 65 69 67 68 74  |emp%.+.   height|
000069e0  25 3d 35 32 2a 6e 6f 69  6e 6e 6f 74 75 73 65 64  |%=52*noinnotused|
000069f0  25 2b 31 36 0d 2b fc 3a  20 20 e7 20 68 65 69 67  |%+16.+.:  . heig|
00006a00  68 74 25 3c 50 72 6f 67  50 61 6e 65 32 48 65 69  |ht%<ProgPane2Hei|
00006a10  67 68 74 25 20 8c 68 65  69 67 68 74 25 3d 50 72  |ght% .height%=Pr|
00006a20  6f 67 50 61 6e 65 32 48  65 69 67 68 74 25 0d 2c  |ogPane2Height%.,|
00006a30  06 17 20 20 21 74 65 6d  70 25 3d 50 72 6f 67 50  |..  !temp%=ProgP|
00006a40  61 6e 65 32 25 0d 2c 10  25 20 20 c8 99 20 22 57  |ane2%.,.%  .. "W|
00006a50  69 6d 70 5f 47 65 74 57  69 6e 64 6f 77 53 74 61  |imp_GetWindowSta|
00006a60  74 65 22 2c 2c 74 65 6d  70 25 0d 2c 1a 1e 20 20  |te",,temp%.,..  |
00006a70  74 65 6d 70 25 21 38 3d  74 65 6d 70 25 21 31 32  |temp%!8=temp%!12|
00006a80  2d 74 65 6d 70 25 21 34  0d 2c 24 0e 20 20 21 74  |-temp%!4.,$.  !t|
00006a90  65 6d 70 25 3d 30 0d 2c  2e 16 20 20 74 65 6d 70  |emp%=0.,..  temp|
00006aa0  25 21 34 3d 2d 68 65 69  67 68 74 25 0d 2c 38 10  |%!4=-height%.,8.|
00006ab0  20 20 74 65 6d 70 25 21  31 32 3d 30 0d 2c 42 2a  |  temp%!12=0.,B*|
00006ac0  20 20 c8 99 20 22 57 69  6d 70 5f 53 65 74 45 78  |  .. "Wimp_SetEx|
00006ad0  74 65 6e 74 22 2c 50 72  6f 67 50 61 6e 65 32 25  |tent",ProgPane2%|
00006ae0  2c 74 65 6d 70 25 0d 2c  4c 35 20 20 f2 6f 70 65  |,temp%.,L5  .ope|
00006af0  6e 6e 65 77 77 69 6e 64  6f 77 28 50 72 6f 67 48  |nnewwindow(ProgH|
00006b00  61 6e 64 6c 65 25 2c 43  44 73 48 61 6e 64 6c 65  |andle%,CDsHandle|
00006b10  25 2c 43 44 73 50 61 6e  65 25 29 0d 2c 56 14 20  |%,CDsPane%).,V. |
00006b20  20 65 64 69 74 69 6e 67  63 64 25 3d 63 64 25 0d  | editingcd%=cd%.|
00006b30  2c 60 05 cd 0d 2c 6a 05  e1 0d 2c 74 05 3a 0d 2c  |,`...,j...,t.:.,|
00006b40  7e 05 3a 0d 2c 88 05 3a  0d 2c 92 05 3a 0d 2c 9c  |~.:.,..:.,..:.,.|
00006b50  05 3a 0d 2c a6 0e dd f2  6f 70 65 6e 6d 69 73 63  |.:.,....openmisc|
00006b60  0d 2c b0 37 ea 20 63 64  25 2c 6c 6f 6f 70 25 2c  |.,.7. cd%,loop%,|
00006b70  74 69 6d 65 25 2c 73 74  61 72 74 25 2c 65 6e 64  |time%,start%,end|
00006b80  25 2c 74 72 61 63 6b 25  2c 74 72 61 63 6b 73 25  |%,track%,tracks%|
00006b90  2c 66 6c 61 67 73 25 0d  2c ba 12 6c 6f 6f 70 25  |,flags%.,..loop%|
00006ba0  3d 30 3a 63 64 25 3d 2d  31 0d 2c c4 1a c8 95 20  |=0:cd%=-1.,.... |
00006bb0  63 64 25 3d 2d 31 20 80  20 6c 6f 6f 70 25 3c 63  |cd%=-1 . loop%<c|
00006bc0  64 73 25 0d 2c ce 2e 20  20 e7 20 28 28 3f 28 43  |ds%.,..  . ((?(C|
00006bd0  44 73 25 2b 6c 6f 6f 70  25 2a 36 34 2b 35 32 29  |Ds%+loop%*64+52)|
00006be0  29 80 31 29 3d 31 20 8c  63 64 25 3d 6c 6f 6f 70  |).1)=1 .cd%=loop|
00006bf0  25 0d 2c d8 0e 20 20 6c  6f 6f 70 25 2b 3d 31 0d  |%.,..  loop%+=1.|
00006c00  2c e2 05 ce 0d 2c ec 0e  e7 20 63 64 25 3e 2d 31  |,....,... cd%>-1|
00006c10  20 8c 0d 2c f6 3e 20 20  c8 99 20 22 4f 53 5f 46  | ..,.>  .. "OS_F|
00006c20  69 6c 65 22 2c 31 36 2c  22 46 6c 65 78 69 43 44  |ile",16,"FlexiCD|
00006c30  3a 43 44 73 2e 22 2b 24  28 43 44 73 25 2b 63 64  |:CDs."+$(CDs%+cd|
00006c40  25 2a 36 34 2b 34 31 29  2c 66 69 6c 65 25 2c 30  |%*64+41),file%,0|
00006c50  0d 2d 00 1c 20 20 24 6e  6f 74 72 61 63 6b 73 25  |.-..  $notracks%|
00006c60  3d c3 28 66 69 6c 65 25  3f 34 31 29 0d 2d 0a 10  |=.(file%?41).-..|
00006c70  20 20 6c 6f 6f 70 25 3d  34 35 30 30 0d 2d 14 0d  |  loop%=4500.-..|
00006c80  20 20 74 69 6d 65 25 3d  30 0d 2d 1e 18 20 20 c8  |  time%=0.-..  .|
00006c90  95 20 66 69 6c 65 25 21  6c 6f 6f 70 25 3e 32 35  |. file%!loop%>25|
00006ca0  35 0d 2d 28 3d 20 20 20  20 74 72 61 63 6b 25 3d  |5.-(=    track%=|
00006cb0  a4 73 75 62 74 77 6f 4d  53 46 28 21 28 66 69 6c  |.subtwoMSF(!(fil|
00006cc0  65 25 2b 6c 6f 6f 70 25  2b 34 29 2c 28 66 69 6c  |e%+loop%+4),(fil|
00006cd0  65 25 21 6c 6f 6f 70 25  29 3e 3e 3e 38 29 0d 2d  |e%!loop%)>>>8).-|
00006ce0  32 26 20 20 20 20 74 69  6d 65 25 3d a4 61 64 64  |2&    time%=.add|
00006cf0  74 77 6f 4d 53 46 28 74  69 6d 65 25 2c 74 72 61  |twoMSF(time%,tra|
00006d00  63 6b 25 29 0d 2d 3c 21  20 20 20 20 74 69 6d 65  |ck%).-<!    time|
00006d10  25 3d a4 61 64 64 74 77  6f 4d 53 46 28 74 69 6d  |%=.addtwoMSF(tim|
00006d20  65 25 2c 31 29 0d 2d 46  10 20 20 20 20 6c 6f 6f  |e%,1).-F.    loo|
00006d30  70 25 2b 3d 38 0d 2d 50  07 20 20 ce 0d 2d 5a 1f  |p%+=8.-P.  ..-Z.|
00006d40  20 20 74 69 6d 65 25 3d  a4 73 75 62 74 77 6f 4d  |  time%=.subtwoM|
00006d50  53 46 28 74 69 6d 65 25  2c 31 29 0d 2d 64 4f 20  |SF(time%,1).-dO |
00006d60  20 24 74 72 61 63 6b 73  74 69 6d 65 25 3d a4 64  | $trackstime%=.d|
00006d70  69 67 28 74 69 6d 65 25  3e 3e 31 36 29 2b 22 3a  |ig(time%>>16)+":|
00006d80  22 2b a4 64 69 67 28 28  74 69 6d 65 25 3e 3e 38  |"+.dig((time%>>8|
00006d90  29 80 32 35 35 29 2b 22  3a 22 2b a4 64 69 67 28  |).255)+":"+.dig(|
00006da0  74 69 6d 65 25 80 32 35  35 29 0d 2d 6e 0f 20 20  |time%.255).-n.  |
00006db0  74 72 61 63 6b 73 25 3d  30 0d 2d 78 10 20 20 6c  |tracks%=0.-x.  l|
00006dc0  6f 6f 70 25 3d 34 34 30  30 0d 2d 82 0d 20 20 74  |oop%=4400.-..  t|
00006dd0  69 6d 65 25 3d 30 0d 2d  8c 16 20 20 c8 95 20 66  |ime%=0.-..  .. f|
00006de0  69 6c 65 25 3f 6c 6f 6f  70 25 3e 30 0d 2d 96 5b  |ile%?loop%>0.-.[|
00006df0  20 20 20 74 72 61 63 6b  25 3d a4 73 75 62 74 77  |   track%=.subtw|
00006e00  6f 4d 53 46 28 21 28 66  69 6c 65 25 2b 34 34 39  |oMSF(!(file%+449|
00006e10  36 2b 28 66 69 6c 65 25  3f 6c 6f 6f 70 25 29 2a  |6+(file%?loop%)*|
00006e20  38 29 2c 28 21 28 66 69  6c 65 25 2b 34 34 39 32  |8),(!(file%+4492|
00006e30  2b 28 66 69 6c 65 25 3f  6c 6f 6f 70 25 29 2a 38  |+(file%?loop%)*8|
00006e40  29 29 3e 3e 3e 38 29 0d  2d a0 25 20 20 20 74 69  |))>>>8).-.%   ti|
00006e50  6d 65 25 3d a4 61 64 64  74 77 6f 4d 53 46 28 74  |me%=.addtwoMSF(t|
00006e60  69 6d 65 25 2c 74 72 61  63 6b 25 29 0d 2d aa 20  |ime%,track%).-. |
00006e70  20 20 20 74 69 6d 65 25  3d a4 61 64 64 74 77 6f  |   time%=.addtwo|
00006e80  4d 53 46 28 74 69 6d 65  25 2c 31 29 0d 2d b4 11  |MSF(time%,1).-..|
00006e90  20 20 20 74 72 61 63 6b  73 25 2b 3d 31 0d 2d be  |   tracks%+=1.-.|
00006ea0  0f 20 20 20 6c 6f 6f 70  25 2b 3d 31 0d 2d c8 07  |.   loop%+=1.-..|
00006eb0  20 20 ce 0d 2d d2 1f 20  20 74 69 6d 65 25 3d a4  |  ..-..  time%=.|
00006ec0  73 75 62 74 77 6f 4d 53  46 28 74 69 6d 65 25 2c  |subtwoMSF(time%,|
00006ed0  31 29 0d 2d dc 19 20 20  24 6e 6f 70 72 6f 67 25  |1).-..  $noprog%|
00006ee0  3d c3 28 74 72 61 63 6b  73 25 29 0d 2d e6 4d 20  |=.(tracks%).-.M |
00006ef0  20 24 70 72 6f 67 74 69  6d 65 25 3d a4 64 69 67  | $progtime%=.dig|
00006f00  28 74 69 6d 65 25 3e 3e  31 36 29 2b 22 3a 22 2b  |(time%>>16)+":"+|
00006f10  a4 64 69 67 28 28 74 69  6d 65 25 3e 3e 38 29 80  |.dig((time%>>8).|
00006f20  32 35 35 29 2b 22 3a 22  2b a4 64 69 67 28 74 69  |255)+":"+.dig(ti|
00006f30  6d 65 25 80 32 35 35 29  0d 2d f0 15 20 20 66 6c  |me%.255).-..  fl|
00006f40  61 67 73 25 3d 66 69 6c  65 25 3f 34 32 0d 2d fa  |ags%=file%?42.-.|
00006f50  0e 20 20 f4 20 72 65 70  65 61 74 0d 2e 04 18 20  |.  . repeat.... |
00006f60  20 21 74 65 6d 70 25 3d  4d 69 73 63 48 61 6e 64  | !temp%=MiscHand|
00006f70  6c 65 25 0d 2e 0e 10 20  20 74 65 6d 70 25 21 34  |le%....  temp%!4|
00006f80  3d 31 38 0d 2e 18 29 20  20 74 65 6d 70 25 21 38  |=18...)  temp%!8|
00006f90  3d 28 28 66 6c 61 67 73  25 80 25 31 30 30 29 3c  |=((flags%.%100)<|
00006fa0  3c 31 39 29 2b 28 37 3c  3c 32 34 29 0d 2e 22 1f  |<19)+(7<<24)..".|
00006fb0  20 20 74 65 6d 70 25 21  31 32 3d 28 33 3c 3c 32  |  temp%!12=(3<<2|
00006fc0  31 29 2b 28 31 35 3c 3c  32 34 29 0d 2e 2c 23 20  |1)+(15<<24)..,# |
00006fd0  20 c8 99 20 22 57 69 6d  70 5f 53 65 74 49 63 6f  | .. "Wimp_SetIco|
00006fe0  6e 53 74 61 74 65 22 2c  2c 74 65 6d 70 25 0d 2e  |nState",,temp%..|
00006ff0  36 0c 20 20 f4 20 70 72  6f 67 0d 2e 40 10 20 20  |6.  . prog..@.  |
00007000  74 65 6d 70 25 21 34 3d  31 36 0d 2e 4a 1d 20 20  |temp%!4=16..J.  |
00007010  74 65 6d 70 25 21 38 3d  28 66 6c 61 67 73 25 80  |temp%!8=(flags%.|
00007020  25 31 29 3c 3c 32 31 0d  2e 54 14 20 20 74 65 6d  |%1)<<21..T.  tem|
00007030  70 25 21 31 32 3d 31 3c  3c 32 31 0d 2e 5e 23 20  |p%!12=1<<21..^# |
00007040  20 c8 99 20 22 57 69 6d  70 5f 53 65 74 49 63 6f  | .. "Wimp_SetIco|
00007050  6e 53 74 61 74 65 22 2c  2c 74 65 6d 70 25 0d 2e  |nState",,temp%..|
00007060  68 0f 20 20 f4 20 73 68  75 66 66 6c 65 0d 2e 72  |h.  . shuffle..r|
00007070  10 20 20 74 65 6d 70 25  21 34 3d 31 37 0d 2e 7c  |.  temp%!4=17..||
00007080  1e 20 20 74 65 6d 70 25  21 38 3d 28 66 6c 61 67  |.  temp%!8=(flag|
00007090  73 25 80 25 31 30 29 3c  3c 32 30 0d 2e 86 23 20  |s%.%10)<<20...# |
000070a0  20 c8 99 20 22 57 69 6d  70 5f 53 65 74 49 63 6f  | .. "Wimp_SetIco|
000070b0  6e 53 74 61 74 65 22 2c  2c 74 65 6d 70 25 0d 2e  |nState",,temp%..|
000070c0  90 10 20 20 74 65 6d 70  25 21 34 3d 31 38 0d 2e  |..  temp%!4=18..|
000070d0  9a 1a 20 20 e7 20 28 66  6c 61 67 73 25 80 25 31  |..  . (flags%.%1|
000070e0  30 29 3d 25 31 30 20 8c  0d 2e a4 1f 20 20 20 20  |0)=%10 .....    |
000070f0  74 65 6d 70 25 21 38 3d  28 31 3c 3c 32 32 29 2b  |temp%!8=(1<<22)+|
00007100  28 32 3c 3c 32 34 29 0d  2e ae 21 20 20 20 20 74  |(2<<24)...!    t|
00007110  65 6d 70 25 21 31 32 3d  28 31 3c 3c 32 32 29 2b  |emp%!12=(1<<22)+|
00007120  28 31 35 3c 3c 32 34 29  0d 2e b8 25 20 20 20 20  |(15<<24)...%    |
00007130  c8 99 20 22 57 69 6d 70  5f 53 65 74 49 63 6f 6e  |.. "Wimp_SetIcon|
00007140  53 74 61 74 65 22 2c 2c  74 65 6d 70 25 0d 2e c2  |State",,temp%...|
00007150  07 20 20 cd 0d 2e cc 0e  20 20 f4 20 6e 6f 72 6d  |.  .....  . norm|
00007160  61 6c 0d 2e d6 10 20 20  74 65 6d 70 25 21 34 3d  |al....  temp%!4=|
00007170  31 35 0d 2e e0 14 20 20  74 65 6d 70 25 21 31 32  |15....  temp%!12|
00007180  3d 31 3c 3c 32 31 0d 2e  ea 31 20 20 e7 20 28 66  |=1<<21...1  . (f|
00007190  6c 61 67 73 25 80 25 31  31 29 3d 30 20 8c 20 74  |lags%.%11)=0 . t|
000071a0  65 6d 70 25 21 38 3d 31  3c 3c 32 31 20 8b 74 65  |emp%!8=1<<21 .te|
000071b0  6d 70 25 21 38 3d 30 0d  2e f4 23 20 20 c8 99 20  |mp%!8=0...#  .. |
000071c0  22 57 69 6d 70 5f 53 65  74 49 63 6f 6e 53 74 61  |"Wimp_SetIconSta|
000071d0  74 65 22 2c 2c 74 65 6d  70 25 0d 2e fe 35 20 20  |te",,temp%...5  |
000071e0  f2 6f 70 65 6e 6e 65 77  77 69 6e 64 6f 77 28 4d  |.opennewwindow(M|
000071f0  69 73 63 48 61 6e 64 6c  65 25 2c 43 44 73 48 61  |iscHandle%,CDsHa|
00007200  6e 64 6c 65 25 2c 43 44  73 50 61 6e 65 25 29 0d  |ndle%,CDsPane%).|
00007210  2f 08 14 20 20 65 64 69  74 69 6e 67 63 64 25 3d  |/..  editingcd%=|
00007220  63 64 25 0d 2f 12 05 cd  0d 2f 1c 05 e1 0d 2f 26  |cd%./..../..../&|
00007230  05 3a 0d 2f 30 05 3a 0d  2f 3a 16 dd a4 61 64 64  |.:./0.:./:...add|
00007240  74 77 6f 4d 53 46 28 41  25 2c 42 25 29 0d 2f 44  |twoMSF(A%,B%)./D|
00007250  17 ea 20 43 25 2c 44 25  2c 45 25 2c 46 25 2c 47  |.. C%,D%,E%,F%,G|
00007260  25 2c 48 25 0d 2f 4e 17  43 25 3d 41 25 80 32 35  |%,H%./N.C%=A%.25|
00007270  35 3a 46 25 3d 42 25 80  32 35 35 0d 2f 58 21 44  |5:F%=B%.255./X!D|
00007280  25 3d 28 41 25 3e 3e 38  29 80 32 35 35 3a 47 25  |%=(A%>>8).255:G%|
00007290  3d 28 42 25 3e 3e 38 29  80 32 35 35 0d 2f 62 17  |=(B%>>8).255./b.|
000072a0  45 25 3d 41 25 3e 3e 31  36 3a 48 25 3d 42 25 3e  |E%=A%>>16:H%=B%>|
000072b0  3e 31 36 0d 2f 6c 34 43  25 2b 3d 46 25 3a e7 20  |>16./l4C%+=F%:. |
000072c0  43 25 3e 37 34 20 8c 43  25 2d 3d 37 35 3a 44 25  |C%>74 .C%-=75:D%|
000072d0  2b 3d 31 3a e7 20 44 25  3d 36 30 20 8c 44 25 3d  |+=1:. D%=60 .D%=|
000072e0  30 3a 45 25 2b 3d 31 0d  2f 76 20 44 25 2b 3d 47  |0:E%+=1./v D%+=G|
000072f0  25 3a e7 20 44 25 3e 35  39 20 8c 44 25 2d 3d 36  |%:. D%>59 .D%-=6|
00007300  30 3a 45 25 2b 3d 31 0d  2f 80 0a 45 25 2b 3d 48  |0:E%+=1./..E%+=H|
00007310  25 0d 2f 8a 18 3d 28 45  25 3c 3c 31 36 29 2b 28  |%./..=(E%<<16)+(|
00007320  44 25 3c 3c 38 29 2b 43  25 0d 2f 94 05 3a 0d 2f  |D%<<8)+C%./..:./|
00007330  9e 16 dd a4 73 75 62 74  77 6f 4d 53 46 28 41 25  |....subtwoMSF(A%|
00007340  2c 42 25 29 0d 2f a8 17  ea 20 43 25 2c 44 25 2c  |,B%)./... C%,D%,|
00007350  45 25 2c 46 25 2c 47 25  2c 48 25 0d 2f b2 17 43  |E%,F%,G%,H%./..C|
00007360  25 3d 41 25 80 32 35 35  3a 46 25 3d 42 25 80 32  |%=A%.255:F%=B%.2|
00007370  35 35 0d 2f bc 21 44 25  3d 28 41 25 3e 3e 38 29  |55./.!D%=(A%>>8)|
00007380  80 32 35 35 3a 47 25 3d  28 42 25 3e 3e 38 29 80  |.255:G%=(B%>>8).|
00007390  32 35 35 0d 2f c6 17 45  25 3d 41 25 3e 3e 31 36  |255./..E%=A%>>16|
000073a0  3a 48 25 3d 42 25 3e 3e  31 36 0d 2f d0 34 43 25  |:H%=B%>>16./.4C%|
000073b0  2d 3d 46 25 3a e7 20 43  25 3c 30 20 8c 43 25 2b  |-=F%:. C%<0 .C%+|
000073c0  3d 37 35 3a 44 25 2d 3d  31 3a e7 20 44 25 3d 2d  |=75:D%-=1:. D%=-|
000073d0  31 20 8c 44 25 3d 35 39  3a 45 25 2d 3d 31 0d 2f  |1 .D%=59:E%-=1./|
000073e0  da 1f 44 25 2d 3d 47 25  3a e7 20 44 25 3c 30 20  |..D%-=G%:. D%<0 |
000073f0  8c 44 25 2b 3d 36 30 3a  45 25 2d 3d 31 0d 2f e4  |.D%+=60:E%-=1./.|
00007400  0a 45 25 2d 3d 48 25 0d  2f ee 18 3d 28 45 25 3c  |.E%-=H%./..=(E%<|
00007410  3c 31 36 29 2b 28 44 25  3c 3c 38 29 2b 43 25 0d  |<16)+(D%<<8)+C%.|
00007420  2f f8 05 3a 0d 30 02 05  3a 0d 30 0c 05 3a 0d 30  |/..:.0..:.0..:.0|
00007430  16 05 3a 0d 30 20 05 3a  0d 30 2a 05 3a 0d 30 34  |..:.0 .:.0*.:.04|
00007440  05 3a 0d 30 3e 05 3a 0d  30 48 14 dd f2 6f 70 65  |.:.0>.:.0H...ope|
00007450  6e 74 72 61 63 6b 74 69  6d 65 73 0d 30 52 0f ea  |ntracktimes.0R..|
00007460  20 63 64 25 2c 6c 6f 6f  70 25 0d 30 5c 12 6c 6f  | cd%,loop%.0\.lo|
00007470  6f 70 25 3d 30 3a 63 64  25 3d 2d 31 0d 30 66 1a  |op%=0:cd%=-1.0f.|
00007480  c8 95 20 63 64 25 3d 2d  31 20 80 20 6c 6f 6f 70  |.. cd%=-1 . loop|
00007490  25 3c 63 64 73 25 0d 30  70 2e 20 20 e7 20 28 28  |%<cds%.0p.  . ((|
000074a0  3f 28 43 44 73 25 2b 6c  6f 6f 70 25 2a 36 34 2b  |?(CDs%+loop%*64+|
000074b0  35 32 29 29 80 31 29 3d  31 20 8c 63 64 25 3d 6c  |52)).1)=1 .cd%=l|
000074c0  6f 6f 70 25 0d 30 7a 0e  20 20 6c 6f 6f 70 25 2b  |oop%.0z.  loop%+|
000074d0  3d 31 0d 30 84 05 ce 0d  30 8e 0e e7 20 63 64 25  |=1.0....0... cd%|
000074e0  3e 2d 31 20 8c 0d 30 98  3e 20 20 c8 99 20 22 4f  |>-1 ..0.>  .. "O|
000074f0  53 5f 46 69 6c 65 22 2c  31 36 2c 22 46 6c 65 78  |S_File",16,"Flex|
00007500  69 43 44 3a 43 44 73 2e  22 2b 24 28 43 44 73 25  |iCD:CDs."+$(CDs%|
00007510  2b 63 64 25 2a 36 34 2b  34 31 29 2c 66 69 6c 65  |+cd%*64+41),file|
00007520  25 2c 30 0d 30 a2 19 20  20 21 74 65 6d 70 25 3d  |%,0.0..  !temp%=|
00007530  54 69 6d 65 73 48 61 6e  64 6c 65 25 0d 30 ac 0f  |TimesHandle%.0..|
00007540  20 20 74 65 6d 70 25 21  34 3d 36 0d 30 b6 24 20  |  temp%!4=6.0.$ |
00007550  20 74 65 6d 70 25 21 38  3d 28 28 28 66 69 6c 65  | temp%!8=(((file|
00007560  25 3f 34 33 29 80 31 29  82 31 29 3c 3c 32 31 0d  |%?43).1).1)<<21.|
00007570  30 c0 14 20 20 74 65 6d  70 25 21 31 32 3d 31 3c  |0..  temp%!12=1<|
00007580  3c 32 31 0d 30 ca 23 20  20 c8 99 20 22 57 69 6d  |<21.0.#  .. "Wim|
00007590  70 5f 53 65 74 49 63 6f  6e 53 74 61 74 65 22 2c  |p_SetIconState",|
000075a0  2c 74 65 6d 70 25 0d 30  d4 19 20 20 f2 73 65 74  |,temp%.0..  .set|
000075b0  75 70 74 72 61 63 6b 74  69 6d 65 73 28 30 29 0d  |uptracktimes(0).|
000075c0  30 de 36 20 20 f2 6f 70  65 6e 6e 65 77 77 69 6e  |0.6  .opennewwin|
000075d0  64 6f 77 28 54 69 6d 65  73 48 61 6e 64 6c 65 25  |dow(TimesHandle%|
000075e0  2c 43 44 73 48 61 6e 64  6c 65 25 2c 43 44 73 50  |,CDsHandle%,CDsP|
000075f0  61 6e 65 25 29 0d 30 e8  41 20 20 c8 99 20 22 57  |ane%).0.A  .. "W|
00007600  69 6d 70 5f 53 65 74 43  61 72 65 74 50 6f 73 69  |imp_SetCaretPosi|
00007610  74 69 6f 6e 22 2c 54 69  6d 65 73 48 61 6e 64 6c  |tion",TimesHandl|
00007620  65 25 2c 31 37 2c 2d 31  2c 2d 31 2c 2d 31 2c a9  |e%,17,-1,-1,-1,.|
00007630  28 24 73 6d 25 29 0d 30  f2 14 20 20 65 64 69 74  |($sm%).0..  edit|
00007640  69 6e 67 63 64 25 3d 63  64 25 0d 30 fc 05 cd 0d  |ingcd%=cd%.0....|
00007650  31 06 05 e1 0d 31 10 05  3a 0d 31 1a 05 3a 0d 31  |1....1..:.1..:.1|
00007660  24 05 3a 0d 31 2e 1d dd  f2 73 65 74 75 70 74 72  |$.:.1....setuptr|
00007670  61 63 6b 74 69 6d 65 73  28 74 72 61 63 6b 25 29  |acktimes(track%)|
00007680  0d 31 38 18 ea 20 73 74  61 72 74 25 2c 65 6e 64  |.18.. start%,end|
00007690  25 2c 69 6e 64 65 78 25  0d 31 42 18 65 64 69 74  |%,index%.1B.edit|
000076a0  69 6e 67 74 72 61 63 6b  25 3d 74 72 61 63 6b 25  |ingtrack%=track%|
000076b0  0d 31 4c 2f 24 74 72 61  63 6b 6e 61 6d 65 25 3d  |.1L/$trackname%=|
000076c0  a4 72 65 61 64 73 74 72  69 6e 67 28 66 69 6c 65  |.readstring(file|
000076d0  25 2b 34 34 2b 34 34 2a  74 72 61 63 6b 25 29 0d  |%+44+44*track%).|
000076e0  31 56 27 73 74 61 72 74  25 3d 28 21 28 66 69 6c  |1V'start%=(!(fil|
000076f0  65 25 2b 34 35 30 30 2b  74 72 61 63 6b 25 2a 38  |e%+4500+track%*8|
00007700  29 29 3e 3e 3e 38 0d 31  60 1f 65 6e 64 25 3d 21  |))>>>8.1`.end%=!|
00007710  28 66 69 6c 65 25 2b 34  35 30 34 2b 74 72 61 63  |(file%+4504+trac|
00007720  6b 25 2a 38 29 0d 31 6a  19 24 73 6d 25 3d a4 64  |k%*8).1j.$sm%=.d|
00007730  69 67 28 73 74 61 72 74  25 3e 3e 31 36 29 0d 31  |ig(start%>>16).1|
00007740  74 1e 24 73 73 25 3d a4  64 69 67 28 28 73 74 61  |t.$ss%=.dig((sta|
00007750  72 74 25 3e 3e 38 29 80  32 35 35 29 0d 31 7e 19  |rt%>>8).255).1~.|
00007760  24 73 66 25 3d a4 64 69  67 28 73 74 61 72 74 25  |$sf%=.dig(start%|
00007770  80 32 35 35 29 0d 31 88  17 24 65 6d 25 3d a4 64  |.255).1..$em%=.d|
00007780  69 67 28 65 6e 64 25 3e  3e 31 36 29 0d 31 92 1c  |ig(end%>>16).1..|
00007790  24 65 73 25 3d a4 64 69  67 28 28 65 6e 64 25 3e  |$es%=.dig((end%>|
000077a0  3e 38 29 80 32 35 35 29  0d 31 9c 17 24 65 66 25  |>8).255).1..$ef%|
000077b0  3d a4 64 69 67 28 65 6e  64 25 80 32 35 35 29 0d  |=.dig(end%.255).|
000077c0  31 a6 25 c8 99 20 22 57  69 6d 70 5f 47 65 74 43  |1.%.. "Wimp_GetC|
000077d0  61 72 65 74 50 6f 73 69  74 69 6f 6e 22 2c 2c 74  |aretPosition",,t|
000077e0  65 6d 70 25 0d 31 b0 1b  e7 20 21 74 65 6d 70 25  |emp%.1... !temp%|
000077f0  3d 54 69 6d 65 73 48 61  6e 64 6c 65 25 20 8c 0d  |=TimesHandle% ..|
00007800  31 ba 15 20 20 69 6e 64  65 78 25 3d 74 65 6d 70  |1..  index%=temp|
00007810  25 21 32 30 0d 31 c4 23  20 20 c8 99 20 22 57 69  |%!20.1.#  .. "Wi|
00007820  6d 70 5f 47 65 74 49 63  6f 6e 53 74 61 74 65 22  |mp_GetIconState"|
00007830  2c 2c 74 65 6d 70 25 0d  31 ce 47 20 20 c8 99 20  |,,temp%.1.G  .. |
00007840  22 57 69 6d 70 5f 53 65  74 43 61 72 65 74 50 6f  |"Wimp_SetCaretPo|
00007850  73 69 74 69 6f 6e 22 2c  21 74 65 6d 70 25 2c 74  |sition",!temp%,t|
00007860  65 6d 70 25 21 34 2c 2d  31 2c 2d 31 2c 2d 31 2c  |emp%!4,-1,-1,-1,|
00007870  a9 28 24 28 74 65 6d 70  25 21 32 38 29 29 0d 31  |.($(temp%!28)).1|
00007880  d8 05 cd 0d 31 e2 17 21  74 65 6d 70 25 3d 54 69  |....1..!temp%=Ti|
00007890  6d 65 73 48 61 6e 64 6c  65 25 0d 31 ec 0e 74 65  |mesHandle%.1..te|
000078a0  6d 70 25 21 34 3d 31 34  0d 31 f6 21 c8 99 20 22  |mp%!4=14.1.!.. "|
000078b0  57 69 6d 70 5f 47 65 74  49 63 6f 6e 53 74 61 74  |Wimp_GetIconStat|
000078c0  65 22 2c 2c 74 65 6d 70  25 0d 32 00 1a 74 65 6d  |e",,temp%.2..tem|
000078d0  70 25 21 31 30 30 3d 54  69 6d 65 73 48 61 6e 64  |p%!100=TimesHand|
000078e0  6c 65 25 0d 32 0a 10 74  65 6d 70 25 21 31 30 34  |le%.2..temp%!104|
000078f0  3d 33 30 0d 32 14 25 c8  99 20 22 57 69 6d 70 5f  |=30.2.%.. "Wimp_|
00007900  47 65 74 49 63 6f 6e 53  74 61 74 65 22 2c 2c 74  |GetIconState",,t|
00007910  65 6d 70 25 2b 31 30 30  0d 32 1e 4b c8 99 20 22  |emp%+100.2.K.. "|
00007920  57 69 6d 70 5f 46 6f 72  63 65 52 65 64 72 61 77  |Wimp_ForceRedraw|
00007930  22 2c 54 69 6d 65 73 48  61 6e 64 6c 65 25 2c 74  |",TimesHandle%,t|
00007940  65 6d 70 25 21 38 2c 74  65 6d 70 25 21 31 31 32  |emp%!8,temp%!112|
00007950  2c 74 65 6d 70 25 21 31  31 36 2c 74 65 6d 70 25  |,temp%!116,temp%|
00007960  21 32 30 0d 32 28 17 21  74 65 6d 70 25 3d 54 69  |!20.2(.!temp%=Ti|
00007970  6d 65 73 48 61 6e 64 6c  65 25 0d 32 32 0d 74 65  |mesHandle%.22.te|
00007980  6d 70 25 21 34 3d 38 0d  32 3c 0d 74 65 6d 70 25  |mp%!4=8.2<.temp%|
00007990  21 38 3d 30 0d 32 46 0e  74 65 6d 70 25 21 31 32  |!8=0.2F.temp%!12|
000079a0  3d 30 0d 32 50 21 c8 99  20 22 57 69 6d 70 5f 53  |=0.2P!.. "Wimp_S|
000079b0  65 74 49 63 6f 6e 53 74  61 74 65 22 2c 2c 74 65  |etIconState",,te|
000079c0  6d 70 25 0d 32 5a 05 e1  0d 32 64 05 3a 0d 32 6e  |mp%.2Z...2d.:.2n|
000079d0  05 3a 0d 32 78 1a dd f2  72 65 61 64 63 75 72 72  |.:.2x...readcurr|
000079e0  65 6e 74 74 72 61 63 6b  74 69 6d 65 0d 32 82 11  |enttracktime.2..|
000079f0  ea 20 73 74 61 72 74 25  2c 65 6e 64 25 0d 32 8c  |. start%,end%.2.|
00007a00  34 73 74 61 72 74 25 3d  28 28 bb 28 24 73 6d 25  |4start%=((.($sm%|
00007a10  29 3c 3c 31 36 29 2b 28  bb 28 24 73 73 25 29 3c  |)<<16)+(.($ss%)<|
00007a20  3c 38 29 2b 28 bb 28 24  73 66 25 29 29 29 3c 3c  |<8)+(.($sf%)))<<|
00007a30  38 0d 32 96 2d 65 6e 64  25 3d 28 bb 28 24 65 6d  |8.2.-end%=(.($em|
00007a40  25 29 3c 3c 31 36 29 2b  28 bb 28 24 65 73 25 29  |%)<<16)+(.($es%)|
00007a50  3c 3c 38 29 2b 28 bb 28  24 65 66 25 29 29 0d 32  |<<8)+(.($ef%)).2|
00007a60  a0 28 21 28 66 69 6c 65  25 2b 34 35 30 30 2b 65  |.(!(file%+4500+e|
00007a70  64 69 74 69 6e 67 74 72  61 63 6b 25 2a 38 29 3d  |ditingtrack%*8)=|
00007a80  73 74 61 72 74 25 0d 32  aa 26 21 28 66 69 6c 65  |start%.2.&!(file|
00007a90  25 2b 34 35 30 34 2b 65  64 69 74 69 6e 67 74 72  |%+4504+editingtr|
00007aa0  61 63 6b 25 2a 38 29 3d  65 6e 64 25 0d 32 b4 05  |ack%*8)=end%.2..|
00007ab0  e1 0d 32 be 05 3a 0d 32  c8 05 3a 0d 32 d2 05 3a  |..2..:.2..:.2..:|
00007ac0  0d 32 dc 05 3a 0d 32 e6  05 3a 0d 32 f0 05 3a 0d  |.2..:.2..:.2..:.|
00007ad0  32 fa 05 3a 0d 33 04 05  3a 0d 33 0e 14 dd f2 6d  |2..:.3..:.3....m|
00007ae0  65 6e 75 73 65 6c 28 41  25 2c 42 25 29 0d 33 18  |enusel(A%,B%).3.|
00007af0  28 ea 20 61 64 6a 25 2c  6c 6f 6f 70 25 2c 6f 66  |(. adj%,loop%,of|
00007b00  66 73 65 74 25 2c 64 6f  6e 65 25 2c 66 72 6f 6d  |fset%,done%,from|
00007b10  25 2c 74 6f 25 0d 33 22  23 c8 99 20 22 57 69 6d  |%,to%.3"#.. "Wim|
00007b20  70 5f 47 65 74 50 6f 69  6e 74 65 72 49 6e 66 6f  |p_GetPointerInfo|
00007b30  22 2c 2c 74 65 6d 70 25  0d 33 2c 25 e7 20 28 28  |",,temp%.3,%. ((|
00007b40  74 65 6d 70 25 21 38 29  80 31 29 3d 31 20 8c 61  |temp%!8).1)=1 .a|
00007b50  64 6a 25 3d b9 20 8b 61  64 6a 25 3d a3 0d 33 36  |dj%=. .adj%=..36|
00007b60  09 41 25 2d 3d 32 0d 33  40 0d e7 20 41 25 3d 2d  |.A%-=2.3@.. A%=-|
00007b70  32 20 8c 0d 33 4a 17 20  20 c8 99 20 22 48 6f 75  |2 ..3J.  .. "Hou|
00007b80  72 67 6c 61 73 73 5f 4f  6e 22 0d 33 54 0f 20 20  |rglass_On".3T.  |
00007b90  e7 20 42 25 3e 2d 31 20  8c 0d 33 5e 17 20 20 20  |. B%>-1 ..3^.   |
00007ba0  20 e7 20 66 69 6c 65 25  3f 34 31 3d 39 39 20 8c  | . file%?41=99 .|
00007bb0  0d 33 68 12 20 20 20 20  20 20 21 74 65 6d 70 25  |.3h.      !temp%|
00007bc0  3d 30 0d 33 72 23 20 20  20 20 20 20 24 28 74 65  |=0.3r#      $(te|
00007bd0  6d 70 25 2b 34 29 3d a4  74 6f 6f 6d 61 6e 79 74  |mp%+4)=.toomanyt|
00007be0  72 61 63 6b 73 0d 33 7c  2f 20 20 20 20 20 20 c8  |racks.3|/      .|
00007bf0  99 20 22 57 69 6d 70 5f  52 65 70 6f 72 74 45 72  |. "Wimp_ReportEr|
00007c00  72 6f 72 22 2c 74 65 6d  70 25 2c 31 2c a4 62 61  |ror",temp%,1,.ba|
00007c10  6e 6e 65 72 0d 33 86 0f  20 20 20 20 20 20 42 25  |nner.3..      B%|
00007c20  3d 2d 32 0d 33 90 09 20  20 20 20 cc 0d 33 9a 2f  |=-2.3..    ..3./|
00007c30  20 20 20 20 20 20 e7 20  42 25 3c 3d 65 64 69 74  |      . B%<=edit|
00007c40  69 6e 67 74 72 61 63 6b  25 20 8c 65 64 69 74 69  |ingtrack% .editi|
00007c50  6e 67 74 72 61 63 6b 25  2b 3d 31 0d 33 a4 27 20  |ngtrack%+=1.3.' |
00007c60  20 20 20 20 20 f4 20 73  68 69 66 74 20 75 70 20  |     . shift up |
00007c70  74 72 61 63 6b 20 69 6e  66 6f 20 69 6e 20 66 69  |track info in fi|
00007c80  6c 65 0d 33 ae 25 20 20  20 20 20 20 e3 20 6c 6f  |le.3.%      . lo|
00007c90  6f 70 25 3d 66 69 6c 65  25 3f 34 31 2b 31 20 b8  |op%=file%?41+1 .|
00007ca0  20 42 25 20 88 2d 31 0d  33 b8 17 20 20 20 20 20  | B% .-1.3..     |
00007cb0  20 20 20 e7 20 6c 6f 6f  70 25 3e 30 20 8c 0d 33  |   . loop%>0 ..3|
00007cc0  c2 39 20 20 20 20 20 20  20 20 20 20 21 28 66 69  |.9          !(fi|
00007cd0  6c 65 25 2b 34 35 30 30  2b 6c 6f 6f 70 25 2a 38  |le%+4500+loop%*8|
00007ce0  29 3d 21 28 66 69 6c 65  25 2b 34 34 39 32 2b 6c  |)=!(file%+4492+l|
00007cf0  6f 6f 70 25 2a 38 29 0d  33 cc 39 20 20 20 20 20  |oop%*8).3.9     |
00007d00  20 20 20 20 20 21 28 66  69 6c 65 25 2b 34 35 30  |     !(file%+450|
00007d10  34 2b 6c 6f 6f 70 25 2a  38 29 3d 21 28 66 69 6c  |4+loop%*8)=!(fil|
00007d20  65 25 2b 34 34 39 36 2b  6c 6f 6f 70 25 2a 38 29  |e%+4496+loop%*8)|
00007d30  0d 33 d6 21 20 20 20 20  20 20 20 20 20 20 e3 20  |.3.!          . |
00007d40  6f 66 66 73 65 74 25 3d  30 20 b8 20 34 33 20 88  |offset%=0 . 43 .|
00007d50  34 0d 33 e0 46 20 20 20  20 20 20 20 20 20 20 20  |4.3.F           |
00007d60  20 21 28 66 69 6c 65 25  2b 34 34 2b 6c 6f 6f 70  | !(file%+44+loop|
00007d70  25 2a 34 34 2b 6f 66 66  73 65 74 25 29 3d 21 28  |%*44+offset%)=!(|
00007d80  66 69 6c 65 25 2b 6c 6f  6f 70 25 2a 34 34 2b 6f  |file%+loop%*44+o|
00007d90  66 66 73 65 74 25 29 0d  33 ea 0f 20 20 20 20 20  |ffset%).3..     |
00007da0  20 20 20 20 20 ed 0d 33  f4 15 20 20 20 20 20 20  |     ..3..      |
00007db0  20 20 cd 20 20 20 20 20  20 20 20 0d 33 fe 0b 20  |  .        .3.. |
00007dc0  20 20 20 20 20 ed 0d 34  08 33 20 20 20 20 20 20  |     ..4.3      |
00007dd0  f2 70 75 74 73 74 72 69  6e 67 28 66 69 6c 65 25  |.putstring(file%|
00007de0  2b 34 34 2b 42 25 2a 34  34 2c a4 75 6e 74 69 74  |+44+B%*44,.untit|
00007df0  6c 65 64 74 72 61 63 6b  29 0d 34 12 34 20 20 20  |ledtrack).4.4   |
00007e00  20 20 20 f4 20 61 64 6a  75 73 74 20 70 72 6f 67  |   . adjust prog|
00007e10  20 73 65 71 75 65 6e 63  65 20 66 6f 72 20 69 6e  | sequence for in|
00007e20  73 65 72 74 69 6e 67 20  74 72 61 63 6b 0d 34 1c  |serting track.4.|
00007e30  11 20 20 20 20 20 20 6c  6f 6f 70 25 3d 30 0d 34  |.      loop%=0.4|
00007e40  26 22 20 20 20 20 20 20  c8 95 20 3f 28 66 69 6c  |&"      .. ?(fil|
00007e50  65 25 2b 34 34 30 30 2b  6c 6f 6f 70 25 29 3e 30  |e%+4400+loop%)>0|
00007e60  0d 34 30 3d 20 20 20 20  20 20 20 20 e7 20 3f 28  |.40=        . ?(|
00007e70  66 69 6c 65 25 2b 34 34  30 30 2b 6c 6f 6f 70 25  |file%+4400+loop%|
00007e80  29 3e 42 25 20 8c 20 3f  28 66 69 6c 65 25 2b 34  |)>B% . ?(file%+4|
00007e90  34 30 30 2b 6c 6f 6f 70  25 29 2b 3d 31 0d 34 3a  |400+loop%)+=1.4:|
00007ea0  14 20 20 20 20 20 20 20  20 6c 6f 6f 70 25 2b 3d  |.        loop%+=|
00007eb0  31 0d 34 44 0b 20 20 20  20 20 20 ce 0d 34 4e 15  |1.4D.      ..4N.|
00007ec0  20 20 20 20 20 20 66 69  6c 65 25 3f 34 31 2b 3d  |      file%?41+=|
00007ed0  31 0d 34 58 22 20 20 20  20 20 20 e7 20 61 64 6a  |1.4X"      . adj|
00007ee0  25 20 8c f2 63 72 65 61  74 65 6d 65 6e 75 73 20  |% ..createmenus |
00007ef0  20 20 20 0d 34 62 09 20  20 20 20 cd 0d 34 6c 07  |   .4b.    ..4l.|
00007f00  20 20 cd 0d 34 76 0b 20  20 41 25 3d 42 25 0d 34  |  ..4v.  A%=B%.4|
00007f10  80 18 20 20 c8 99 20 22  48 6f 75 72 67 6c 61 73  |..  .. "Hourglas|
00007f20  73 5f 4f 66 66 22 0d 34  8a 05 cd 0d 34 94 0d e7  |s_Off".4....4...|
00007f30  20 41 25 3d 2d 31 20 8c  0d 34 9e 14 20 20 e7 20  | A%=-1 ..4..  . |
00007f40  66 69 6c 65 25 3f 34 31  3d 31 20 8c 0d 34 a8 10  |file%?41=1 ..4..|
00007f50  20 20 20 20 21 74 65 6d  70 25 3d 30 0d 34 b2 1c  |    !temp%=0.4..|
00007f60  20 20 20 20 24 28 74 65  6d 70 25 2b 34 29 3d a4  |    $(temp%+4)=.|
00007f70  6f 6e 65 74 72 61 63 6b  0d 34 bc 2d 20 20 20 20  |onetrack.4.-    |
00007f80  c8 99 20 22 57 69 6d 70  5f 52 65 70 6f 72 74 45  |.. "Wimp_ReportE|
00007f90  72 72 6f 72 22 2c 74 65  6d 70 25 2c 31 2c a4 62  |rror",temp%,1,.b|
00007fa0  61 6e 6e 65 72 0d 34 c6  07 20 20 cc 0d 34 d0 1f  |anner.4..  ..4..|
00007fb0  20 20 20 20 e3 20 6c 6f  6f 70 25 3d 42 25 20 b8  |    . loop%=B% .|
00007fc0  20 66 69 6c 65 25 3f 34  31 2d 31 0d 34 da 37 20  | file%?41-1.4.7 |
00007fd0  20 20 20 20 20 20 20 21  28 66 69 6c 65 25 2b 34  |       !(file%+4|
00007fe0  35 30 30 2b 6c 6f 6f 70  25 2a 38 29 3d 21 28 66  |500+loop%*8)=!(f|
00007ff0  69 6c 65 25 2b 34 35 30  38 2b 6c 6f 6f 70 25 2a  |ile%+4508+loop%*|
00008000  38 29 0d 34 e4 37 20 20  20 20 20 20 20 20 21 28  |8).4.7        !(|
00008010  66 69 6c 65 25 2b 34 35  30 34 2b 6c 6f 6f 70 25  |file%+4504+loop%|
00008020  2a 38 29 3d 21 28 66 69  6c 65 25 2b 34 35 31 32  |*8)=!(file%+4512|
00008030  2b 6c 6f 6f 70 25 2a 38  29 0d 34 ee 1d 20 20 20  |+loop%*8).4..   |
00008040  20 20 20 e3 20 6f 66 66  73 65 74 25 3d 30 20 b8  |   . offset%=0 .|
00008050  20 34 33 20 88 33 0d 34  f8 45 20 20 20 20 20 20  | 43 .3.4.E      |
00008060  20 20 21 28 66 69 6c 65  25 2b 34 34 2b 6c 6f 6f  |  !(file%+44+loo|
00008070  70 25 2a 34 34 2b 6f 66  66 73 65 74 25 29 3d 21  |p%*44+offset%)=!|
00008080  28 66 69 6c 65 25 2b 38  38 2b 6c 6f 6f 70 25 2a  |(file%+88+loop%*|
00008090  34 34 2b 6f 66 66 73 65  74 25 29 0d 35 02 0b 20  |44+offset%).5.. |
000080a0  20 20 20 20 20 ed 0d 35  0c 09 20 20 20 20 ed 0d  |     ..5..    ..|
000080b0  35 16 31 20 20 20 20 f4  20 61 64 6a 75 73 74 20  |5.1    . adjust |
000080c0  70 72 6f 67 20 73 65 71  75 65 6e 63 65 20 66 6f  |prog sequence fo|
000080d0  72 20 64 65 6c 65 74 69  6e 67 20 74 72 61 63 6b  |r deleting track|
000080e0  0d 35 20 12 20 20 20 20  63 68 61 6e 67 65 64 25  |.5 .    changed%|
000080f0  3d a3 0d 35 2a 12 20 20  20 20 66 72 6f 6d 25 3d  |=..5*.    from%=|
00008100  34 34 30 30 0d 35 34 10  20 20 20 20 74 6f 25 3d  |4400.54.    to%=|
00008110  34 34 30 30 0d 35 3e 09  20 20 20 20 f5 0d 35 48  |4400.5>.    ..5H|
00008120  4b 20 20 20 20 20 20 e7  20 66 69 6c 65 25 3f 66  |K      . file%?f|
00008130  72 6f 6d 25 3c 3d 42 25  8c 66 69 6c 65 25 3f 74  |rom%<=B%.file%?t|
00008140  6f 25 3d 66 69 6c 65 25  3f 66 72 6f 6d 25 3a e7  |o%=file%?from%:.|
00008150  20 66 69 6c 65 25 3f 74  6f 25 3d 30 20 8c 63 68  | file%?to%=0 .ch|
00008160  61 6e 67 65 64 25 3d b9  0d 35 52 24 20 20 20 20  |anged%=..5R$    |
00008170  20 20 e7 20 66 69 6c 65  25 3f 66 72 6f 6d 25 3d  |  . file%?from%=|
00008180  42 25 2b 31 20 8c 74 6f  25 2d 3d 31 0d 35 5c 35  |B%+1 .to%-=1.5\5|
00008190  20 20 20 20 20 20 e7 20  66 69 6c 65 25 3f 66 72  |      . file%?fr|
000081a0  6f 6d 25 3e 42 25 2b 31  20 8c 66 69 6c 65 25 3f  |om%>B%+1 .file%?|
000081b0  74 6f 25 3d 66 69 6c 65  25 3f 66 72 6f 6d 25 2d  |to%=file%?from%-|
000081c0  31 0d 35 66 12 20 20 20  20 20 20 66 72 6f 6d 25  |1.5f.      from%|
000081d0  2b 3d 31 0d 35 70 10 20  20 20 20 20 20 74 6f 25  |+=1.5p.      to%|
000081e0  2b 3d 31 0d 35 7a 11 20  20 20 20 fd 63 68 61 6e  |+=1.5z.    .chan|
000081f0  67 65 64 25 0d 35 84 13  20 20 20 20 66 69 6c 65  |ged%.5..    file|
00008200  25 3f 34 31 2d 3d 31 0d  35 8e 2d 20 20 20 20 e7  |%?41-=1.5.-    .|
00008210  20 42 25 3c 65 64 69 74  69 6e 67 74 72 61 63 6b  | B%<editingtrack|
00008220  25 20 8c 20 65 64 69 74  69 6e 67 74 72 61 63 6b  |% . editingtrack|
00008230  25 2d 3d 31 0d 35 98 30  20 20 20 20 e7 20 42 25  |%-=1.5.0    . B%|
00008240  3d 65 64 69 74 69 6e 67  74 72 61 63 6b 25 20 8c  |=editingtrack% .|
00008250  20 f2 73 65 74 75 70 74  72 61 63 6b 74 69 6d 65  | .setuptracktime|
00008260  73 28 30 29 0d 35 a2 1c  20 20 20 20 e7 20 61 64  |s(0).5..    . ad|
00008270  6a 25 20 8c f2 63 72 65  61 74 65 6d 65 6e 75 73  |j% ..createmenus|
00008280  0d 35 ac 07 20 20 cd 0d  35 b6 05 cd 0d 35 c0 0d  |.5..  ..5....5..|
00008290  e7 20 41 25 3e 2d 31 20  8c 0d 35 ca 1b 20 20 f2  |. A%>-1 ..5..  .|
000082a0  72 65 61 64 63 75 72 72  65 6e 74 74 72 61 63 6b  |readcurrenttrack|
000082b0  74 69 6d 65 0d 35 d4 1a  20 20 f2 73 65 74 75 70  |time.5..  .setup|
000082c0  74 72 61 63 6b 74 69 6d  65 73 28 41 25 29 0d 35  |tracktimes(A%).5|
000082d0  de 05 cd 0d 35 e8 2d e7  20 61 64 6a 25 20 8c c8  |....5.-. adj% ..|
000082e0  99 20 22 57 69 6d 70 5f  43 72 65 61 74 65 4d 65  |. "Wimp_CreateMe|
000082f0  6e 75 22 2c 2c 74 72 61  63 6b 73 6d 65 6e 75 25  |nu",,tracksmenu%|
00008300  0d 35 f2 05 e1 0d 35 fc  05 3a 0d 36 06 05 3a 0d  |.5....5..:.6..:.|
00008310  36 10 05 3a 0d 36 1a 05  3a 0d 36 24 05 3a 0d 36  |6..:.6..:.6$.:.6|
00008320  2e 05 3a 0d 36 38 11 dd  f2 63 72 65 61 74 65 6d  |..:.68...createm|
00008330  65 6e 75 73 0d 36 42 1e  ea 20 6d 31 25 2c 6d 32  |enus.6B.. m1%,m2|
00008340  25 2c 77 31 25 2c 77 32  25 2c 6c 25 2c 6c 6f 6f  |%,w1%,w2%,l%,loo|
00008350  70 25 0d 36 4c 44 24 74  72 61 63 6b 73 6d 65 6e  |p%.6LD$tracksmen|
00008360  75 25 3d a4 74 72 61 63  6b 73 3a 24 6e 65 77 74  |u%=.tracks:$newt|
00008370  72 61 63 6b 6d 65 6e 75  25 3d a4 62 65 66 6f 72  |rackmenu%=.befor|
00008380  65 3a 24 64 65 6c 65 74  65 6d 65 6e 75 25 3d a4  |e:$deletemenu%=.|
00008390  64 65 6c 65 74 65 0d 36  56 3c 77 31 25 3d a9 28  |delete.6V<w1%=.(|
000083a0  a4 74 72 61 63 6b 73 29  2d 32 20 20 3a 77 32 25  |.tracks)-2  :w2%|
000083b0  3d a9 28 a4 62 65 66 6f  72 65 29 2d 32 20 20 20  |=.(.before)-2   |
000083c0  20 3a 77 33 25 3d a9 28  a4 64 65 6c 65 74 65 29  | :w3%=.(.delete)|
000083d0  2d 32 0d 36 60 47 74 72  61 63 6b 73 6d 65 6e 75  |-2.6`Gtracksmenu|
000083e0  25 21 31 32 3d 26 37 30  32 30 37 3a 6e 65 77 74  |%!12=&70207:newt|
000083f0  72 61 63 6b 6d 65 6e 75  25 21 31 32 3d 26 37 30  |rackmenu%!12=&70|
00008400  32 30 37 3a 64 65 6c 65  74 65 6d 65 6e 75 25 21  |207:deletemenu%!|
00008410  31 32 3d 26 37 30 32 30  37 0d 36 6a 43 74 72 61  |12=&70207.6jCtra|
00008420  63 6b 73 6d 65 6e 75 25  21 32 30 3d 34 34 20 20  |cksmenu%!20=44  |
00008430  20 20 3a 6e 65 77 74 72  61 63 6b 6d 65 6e 75 25  |  :newtrackmenu%|
00008440  21 32 30 3d 34 34 20 20  20 20 3a 64 65 6c 65 74  |!20=44    :delet|
00008450  65 6d 65 6e 75 25 21 32  30 3d 34 34 0d 36 74 42  |emenu%!20=44.6tB|
00008460  74 72 61 63 6b 73 6d 65  6e 75 25 21 32 34 3d 30  |tracksmenu%!24=0|
00008470  20 20 20 20 20 3a 6e 65  77 74 72 61 63 6b 6d 65  |     :newtrackme|
00008480  6e 75 25 21 32 34 3d 30  20 20 20 20 20 3a 64 65  |nu%!24=0     :de|
00008490  6c 65 74 65 6d 65 6e 75  25 21 32 34 3d 30 0d 36  |letemenu%!24=0.6|
000084a0  7e 14 74 72 61 63 6b 73  6d 65 6e 75 25 21 32 38  |~.tracksmenu%!28|
000084b0  3d 30 0d 36 88 20 74 72  61 63 6b 73 6d 65 6e 75  |=0.6. tracksmenu|
000084c0  25 21 33 32 3d 6e 65 77  74 72 61 63 6b 6d 65 6e  |%!32=newtrackmen|
000084d0  75 25 0d 36 92 1b 74 72  61 63 6b 73 6d 65 6e 75  |u%.6..tracksmenu|
000084e0  25 21 33 36 3d 26 37 30  30 30 30 32 31 0d 36 9c  |%!36=&7000021.6.|
000084f0  1f 24 28 74 72 61 63 6b  73 6d 65 6e 75 25 2b 34  |.$(tracksmenu%+4|
00008500  30 29 3d a4 6e 65 77 74  72 61 63 6b 0d 36 a6 14  |0)=.newtrack.6..|
00008510  74 72 61 63 6b 73 6d 65  6e 75 25 21 35 32 3d 32  |tracksmenu%!52=2|
00008520  0d 36 b0 1e 74 72 61 63  6b 73 6d 65 6e 75 25 21  |.6..tracksmenu%!|
00008530  35 36 3d 64 65 6c 65 74  65 6d 65 6e 75 25 0d 36  |56=deletemenu%.6|
00008540  ba 1b 74 72 61 63 6b 73  6d 65 6e 75 25 21 36 30  |..tracksmenu%!60|
00008550  3d 26 37 30 30 30 30 32  31 0d 36 c4 1e 24 28 74  |=&7000021.6..$(t|
00008560  72 61 63 6b 73 6d 65 6e  75 25 2b 36 34 29 3d a4  |racksmenu%+64)=.|
00008570  64 65 6c 69 74 65 6d 0d  36 ce 2c e7 20 a9 28 a4  |delitem.6.,. .(.|
00008580  6e 65 77 74 72 61 63 6b  29 2b 31 3e 77 31 25 20  |newtrack)+1>w1% |
00008590  8c 77 31 25 3d a9 28 a4  6e 65 77 74 72 61 63 6b  |.w1%=.(.newtrack|
000085a0  29 2b 31 0d 36 d8 2a e7  20 a9 28 a4 64 65 6c 69  |)+1.6.*. .(.deli|
000085b0  74 65 6d 29 2b 31 3e 77  33 25 20 8c 77 33 25 3d  |tem)+1>w3% .w3%=|
000085c0  a9 28 a4 64 65 6c 69 74  65 6d 29 2b 31 0d 36 e2  |.(.delitem)+1.6.|
000085d0  16 6d 31 25 3d 74 72 61  63 6b 73 6d 65 6e 75 25  |.m1%=tracksmenu%|
000085e0  2b 37 36 0d 36 ec 18 6d  32 25 3d 6e 65 77 74 72  |+76.6..m2%=newtr|
000085f0  61 63 6b 6d 65 6e 75 25  2b 32 38 0d 36 f6 16 6d  |ackmenu%+28.6..m|
00008600  33 25 3d 64 65 6c 65 74  65 6d 65 6e 75 25 2b 32  |3%=deletemenu%+2|
00008610  38 0d 37 00 18 e3 20 6c  6f 6f 70 25 3d 31 20 b8  |8.7... loop%=1 .|
00008620  20 66 69 6c 65 25 3f 34  31 0d 37 0a 38 20 20 21  | file%?41.7.8  !|
00008630  6d 31 25 3d 30 20 20 20  20 20 20 20 20 20 20 20  |m1%=0           |
00008640  20 20 20 20 3a 21 6d 32  25 3d 30 20 20 20 20 20  |    :!m2%=0     |
00008650  20 20 20 20 20 20 20 20  20 20 3a 21 6d 33 25 3d  |          :!m3%=|
00008660  30 0d 37 14 3a 20 20 6d  31 25 21 34 3d 2d 31 20  |0.7.:  m1%!4=-1 |
00008670  20 20 20 20 20 20 20 20  20 20 20 20 3a 6d 32 25  |            :m2%|
00008680  21 34 3d 2d 31 20 20 20  20 20 20 20 20 20 20 20  |!4=-1           |
00008690  20 20 3a 6d 33 25 21 34  3d 2d 31 0d 37 1e 40 20  |  :m3%!4=-1.7.@ |
000086a0  20 6d 31 25 21 38 3d 26  37 30 30 30 31 32 31 20  | m1%!8=&7000121 |
000086b0  20 20 20 20 20 20 3a 6d  32 25 21 38 3d 26 37 30  |      :m2%!8=&70|
000086c0  30 30 31 32 31 20 20 20  20 20 20 20 3a 6d 33 25  |00121       :m3%|
000086d0  21 38 3d 26 37 30 30 30  31 32 31 0d 37 28 47 20  |!8=&7000121.7(G |
000086e0  20 6d 31 25 21 31 32 3d  66 69 6c 65 25 2b 6c 6f  | m1%!12=file%+lo|
000086f0  6f 70 25 2a 34 34 3a 6d  32 25 21 31 32 3d 66 69  |op%*44:m2%!12=fi|
00008700  6c 65 25 2b 6c 6f 6f 70  25 2a 34 34 3a 6d 33 25  |le%+loop%*44:m3%|
00008710  21 31 32 3d 66 69 6c 65  25 2b 6c 6f 6f 70 25 2a  |!12=file%+loop%*|
00008720  34 34 0d 37 32 3b 20 20  6d 31 25 21 31 36 3d 2d  |44.72;  m1%!16=-|
00008730  31 20 20 20 20 20 20 20  20 20 20 20 20 3a 6d 32  |1            :m2|
00008740  25 21 31 36 3d 2d 31 20  20 20 20 20 20 20 20 20  |%!16=-1         |
00008750  20 20 20 3a 6d 33 25 21  31 36 3d 2d 31 0d 37 3c  |   :m3%!16=-1.7<|
00008760  3b 20 20 6d 31 25 21 32  30 3d 34 30 20 20 20 20  |;  m1%!20=40    |
00008770  20 20 20 20 20 20 20 20  3a 6d 32 25 21 32 30 3d  |        :m2%!20=|
00008780  34 30 20 20 20 20 20 20  20 20 20 20 20 20 3a 6d  |40            :m|
00008790  33 25 21 32 30 3d 34 30  0d 37 46 29 20 20 6c 25  |3%!20=40.7F)  l%|
000087a0  3d a9 28 a4 72 65 61 64  73 74 72 69 6e 67 28 66  |=.(.readstring(f|
000087b0  69 6c 65 25 2b 6c 6f 6f  70 25 2a 34 34 29 29 2b  |ile%+loop%*44))+|
000087c0  31 0d 37 50 16 20 20 e7  20 6c 25 3e 77 31 25 20  |1.7P.  . l%>w1% |
000087d0  8c 77 31 25 3d 6c 25 0d  37 5a 16 20 20 e7 20 6c  |.w1%=l%.7Z.  . l|
000087e0  25 3e 77 32 25 20 8c 77  32 25 3d 6c 25 0d 37 64  |%>w2% .w2%=l%.7d|
000087f0  16 20 20 e7 20 6c 25 3e  77 33 25 20 8c 77 33 25  |.  . l%>w3% .w3%|
00008800  3d 6c 25 0d 37 6e 0d 20  20 6d 31 25 2b 3d 32 34  |=l%.7n.  m1%+=24|
00008810  0d 37 78 0d 20 20 6d 32  25 2b 3d 32 34 0d 37 82  |.7x.  m2%+=24.7.|
00008820  0d 20 20 6d 33 25 2b 3d  32 34 0d 37 8c 05 ed 0d  |.  m3%+=24.7....|
00008830  37 96 11 21 28 6d 31 25  2d 32 34 29 3d 26 38 30  |7..!(m1%-24)=&80|
00008840  0d 37 a0 0f 21 28 6d 32  25 2d 32 34 29 3d 32 0d  |.7..!(m2%-24)=2.|
00008850  37 aa 11 21 28 6d 33 25  2d 32 34 29 3d 26 38 30  |7..!(m3%-24)=&80|
00008860  0d 37 b4 0c 21 6d 32 25  3d 26 38 30 0d 37 be 0c  |.7..!m2%=&80.7..|
00008870  6d 32 25 21 34 3d 2d 31  0d 37 c8 12 6d 32 25 21  |m2%!4=-1.7..m2%!|
00008880  38 3d 26 37 30 30 30 30  32 31 0d 37 d2 14 24 28  |8=&7000021.7..$(|
00008890  6d 32 25 2b 31 32 29 3d  a4 61 74 65 6e 64 0d 37  |m2%+12)=.atend.7|
000088a0  dc 26 e7 20 a9 28 a4 61  74 65 6e 64 29 2b 31 3e  |.&. .(.atend)+1>|
000088b0  77 32 25 20 8c 77 32 25  3d a9 28 a4 61 74 65 6e  |w2% .w2%=.(.aten|
000088c0  64 29 2b 31 0d 37 e6 19  74 72 61 63 6b 73 6d 65  |d)+1.7..tracksme|
000088d0  6e 75 25 21 31 36 3d 77  31 25 2a 31 36 0d 37 f0  |nu%!16=w1%*16.7.|
000088e0  1b 6e 65 77 74 72 61 63  6b 6d 65 6e 75 25 21 31  |.newtrackmenu%!1|
000088f0  36 3d 77 32 25 2a 31 36  0d 37 fa 19 64 65 6c 65  |6=w2%*16.7..dele|
00008900  74 65 6d 65 6e 75 25 21  31 36 3d 77 33 25 2a 31  |temenu%!16=w3%*1|
00008910  36 0d 38 04 05 e1 0d 38  0e 05 3a 0d 38 18 05 3a  |6.8....8..:.8..:|
00008920  0d 38 22 05 3a 0d 38 2c  05 3a 0d 38 36 05 3a 0d  |.8".:.8,.:.86.:.|
00008930  38 40 19 dd f2 70 6c 61  79 43 44 28 73 74 61 72  |8@...playCD(star|
00008940  74 25 2c 65 6e 64 25 29  0d 38 4a 29 ea 20 65 72  |t%,end%).8J). er|
00008950  72 25 2c 6c 6f 6f 70 25  2c 44 25 2c 66 6c 61 67  |r%,loop%,D%,flag|
00008960  73 25 2c 64 72 69 76 65  25 2c 43 44 25 2c 63 64  |s%,drive%,CD%,cd|
00008970  24 0d 38 54 20 63 64 24  3d 24 28 43 44 73 25 2b  |$.8T cd$=$(CDs%+|
00008980  65 64 69 74 69 6e 67 63  64 25 2a 36 34 2b 34 31  |editingcd%*64+41|
00008990  29 0d 38 5e 1e e7 20 c0  63 64 24 2c 31 29 3d 22  |).8^.. .cd$,1)="|
000089a0  58 22 20 8c 63 64 24 3d  c2 63 64 24 2c 38 29 0d  |X" .cd$=.cd$,8).|
000089b0  38 68 43 43 44 25 3d 28  a0 28 22 26 22 2b c0 63  |8hCCD%=(.("&"+.c|
000089c0  64 24 2c 32 29 29 3c 3c  31 36 29 2b 28 a0 28 22  |d$,2))<<16)+(.("|
000089d0  26 22 2b c1 63 64 24 2c  34 2c 32 29 29 3c 3c 38  |&"+.cd$,4,2))<<8|
000089e0  29 2b 28 a0 28 22 26 22  2b c2 63 64 24 2c 32 29  |)+(.("&"+.cd$,2)|
000089f0  29 29 0d 38 72 0a 65 72  72 25 3d a3 0d 38 7c 0d  |)).8r.err%=..8|.|
00008a00  64 72 69 76 65 25 3d 2d  31 0d 38 86 07 ea 20 85  |drive%=-1.8... .|
00008a10  0d 38 90 1e ee 20 85 20  ea 3a 65 72 72 25 3d b9  |.8... . .:err%=.|
00008a20  3a f2 70 6c 61 79 43 44  5f 65 72 72 6f 72 0d 38  |:.playCD_error.8|
00008a30  9a 0e e7 20 ac 20 65 72  72 25 20 8c 0d 38 a4 0d  |... . err% ..8..|
00008a40  20 20 6c 6f 6f 70 25 3d  30 0d 38 ae 1c 20 20 c8  |  loop%=0.8..  .|
00008a50  95 20 6c 6f 6f 70 25 3c  34 20 80 20 64 72 69 76  |. loop%<4 . driv|
00008a60  65 25 3d 2d 31 0d 38 b8  32 20 20 20 20 c8 99 20  |e%=-1.8.2    .. |
00008a70  22 43 44 46 53 5f 43 6f  6e 76 65 72 74 44 72 69  |"CDFS_ConvertDri|
00008a80  76 65 54 6f 44 65 76 69  63 65 22 2c 6c 6f 6f 70  |veToDevice",loop|
00008a90  25 20 b8 20 2c 44 25 0d  38 c2 23 20 20 20 20 e7  |% . ,D%.8.#    .|
00008aa0  20 44 25 3d 2d 31 20 8c  20 67 65 6e 65 72 61 74  | D%=-1 . generat|
00008ab0  65 20 61 6e 20 65 72 72  6f 72 0d 38 cc 17 20 20  |e an error.8..  |
00008ac0  20 20 21 74 65 6d 70 25  3d 28 44 25 20 80 20 37  |  !temp%=(D% . 7|
00008ad0  29 0d 38 d6 1e 20 20 20  20 74 65 6d 70 25 21 34  |).8..    temp%!4|
00008ae0  3d 28 44 25 20 80 20 26  31 38 29 3e 3e 3e 33 0d  |=(D% . &18)>>>3.|
00008af0  38 e0 1e 20 20 20 20 74  65 6d 70 25 21 38 3d 28  |8..    temp%!8=(|
00008b00  44 25 20 80 20 26 45 30  29 3e 3e 3e 35 0d 38 ea  |D% . &E0)>>>5.8.|
00008b10  21 20 20 20 20 74 65 6d  70 25 21 31 32 3d 28 44  |!    temp%!12=(D|
00008b20  25 20 80 20 26 46 46 30  30 29 3e 3e 3e 38 0d 38  |% . &FF00)>>>8.8|
00008b30  f4 1a 20 20 20 20 74 65  6d 70 25 21 31 36 3d 28  |..    temp%!16=(|
00008b40  44 25 3e 3e 3e 31 36 29  0d 38 fe 39 20 20 20 20  |D%>>>16).8.9    |
00008b50  c8 99 20 22 58 43 44 5f  44 69 73 63 55 73 65 64  |.. "XCD_DiscUsed|
00008b60  22 2c 31 2c 74 65 6d 70  25 2b 32 30 2c 2c 2c 2c  |",1,temp%+20,,,,|
00008b70  2c 2c 74 65 6d 70 25 20  b8 20 3b 66 6c 61 67 73  |,,temp% . ;flags|
00008b80  25 0d 39 08 1a 20 20 20  20 e7 20 28 66 6c 61 67  |%.9..    . (flag|
00008b90  73 25 20 80 20 31 29 3d  30 20 8c 0d 39 12 26 20  |s% . 1)=0 ..9.& |
00008ba0  20 20 20 20 20 e7 20 74  65 6d 70 25 21 32 30 3d  |     . temp%!20=|
00008bb0  43 44 25 20 8c 64 72 69  76 65 25 3d 6c 6f 6f 70  |CD% .drive%=loop|
00008bc0  25 0d 39 1c 09 20 20 20  20 cd 0d 39 26 10 20 20  |%.9..    ..9&.  |
00008bd0  20 20 6c 6f 6f 70 25 2b  3d 31 0d 39 30 07 20 20  |  loop%+=1.90.  |
00008be0  ce 0d 39 3a 2a 20 20 e7  20 64 72 69 76 65 25 3d  |..9:*  . drive%=|
00008bf0  2d 31 20 8c 20 67 65 6e  65 72 61 74 65 20 61 6e  |-1 . generate an|
00008c00  6f 74 68 65 72 20 65 72  72 6f 72 0d 39 44 21 20  |other error.9D! |
00008c10  20 c8 99 20 22 58 46 6c  65 78 69 43 44 5f 53 74  | .. "XFlexiCD_St|
00008c20  6f 70 22 2c 64 72 69 76  65 25 2c 30 0d 39 4e 3a  |op",drive%,0.9N:|
00008c30  20 20 c8 99 20 22 58 43  44 5f 50 6c 61 79 41 75  |  .. "XCD_PlayAu|
00008c40  64 69 6f 22 2c 31 2c 73  74 61 72 74 25 2c 65 6e  |dio",1,start%,en|
00008c50  64 25 2c 2c 2c 2c 2c 74  65 6d 70 25 20 b8 20 3b  |d%,,,,,temp% . ;|
00008c60  66 6c 61 67 73 25 0d 39  58 18 20 20 e7 20 28 66  |flags%.9X.  . (f|
00008c70  6c 61 67 73 25 20 80 20  31 29 3d 31 20 8c 0d 39  |lags% . 1)=1 ..9|
00008c80  62 13 20 20 20 20 74 65  6d 70 25 21 31 30 30 3d  |b.    temp%!100=|
00008c90  30 0d 39 6c 1e 20 20 20  20 24 28 74 65 6d 70 25  |0.9l.    $(temp%|
00008ca0  2b 31 30 34 29 3d a4 62  61 64 74 69 6d 65 73 0d  |+104)=.badtimes.|
00008cb0  39 76 31 20 20 20 20 c8  99 20 22 57 69 6d 70 5f  |9v1    .. "Wimp_|
00008cc0  52 65 70 6f 72 74 45 72  72 6f 72 22 2c 74 65 6d  |ReportError",tem|
00008cd0  70 25 2b 31 30 30 2c 31  2c a4 62 61 6e 6e 65 72  |p%+100,1,.banner|
00008ce0  0d 39 80 07 20 20 cd 0d  39 8a 05 cd 0d 39 94 07  |.9..  ..9....9..|
00008cf0  f7 20 85 0d 39 9e 05 e1  0d 39 a8 05 3a 0d 39 b2  |. ..9....9..:.9.|
00008d00  12 dd f2 70 6c 61 79 43  44 5f 65 72 72 6f 72 0d  |...playCD_error.|
00008d10  39 bc 0f 74 65 6d 70 25  21 31 30 30 3d 30 0d 39  |9..temp%!100=0.9|
00008d20  c6 31 24 28 74 65 6d 70  25 2b 31 30 34 29 3d a4  |.1$(temp%+104)=.|
00008d30  69 6e 73 65 72 74 43 44  28 24 28 43 44 73 25 2b  |insertCD($(CDs%+|
00008d40  36 34 2a 65 64 69 74 69  6e 67 63 64 25 29 29 0d  |64*editingcd%)).|
00008d50  39 d0 33 c8 99 20 22 57  69 6d 70 5f 52 65 70 6f  |9.3.. "Wimp_Repo|
00008d60  72 74 45 72 72 6f 72 22  2c 74 65 6d 70 25 2b 31  |rtError",temp%+1|
00008d70  30 30 2c 31 37 2c a4 6d  73 67 2b a4 62 61 6e 6e  |00,17,.msg+.bann|
00008d80  65 72 0d 39 da 05 e1 0d  ff                       |er.9.....|
00008d89