Home » Archimedes archive » Archimedes World » AW-1992-05.adf » May92 » !AWMay92/Goodies/SFXMDemo/!SFXED/!RunImage

!AWMay92/Goodies/SFXMDemo/!SFXED/!RunImage

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

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

Tape/disk: Home » Archimedes archive » Archimedes World » AW-1992-05.adf » May92
Filename: !AWMay92/Goodies/SFXMDemo/!SFXED/!RunImage
Read OK:
File size: 12021 bytes
Load address: 0000
Exec address: 0000
Duplicates

There is 1 duplicate copy of this file in the archive:

File contents
   10REM >RAM:$.!SFXED.!RunImage
   20REM >Written by G. Vermeulen
   30ON ERROR PROCIntError:GOTO 50
   40PROCInit
   50REPEAT
   60  SYS"Wimp_Poll",0,pollb% TO reason%,polledb%
   70  CASE reason% OF
   80    WHEN 0:PROCNull_Reason
   90    WHEN 1:PROCRedraw_Window
  100    WHEN 2:PROCOpen_Window
  110    WHEN 3:PROCClose_Window
  120    WHEN 6:PROCMouse_Click
  130    WHEN 7:PROCUser_Drag_Box
  140    WHEN 8:PROCKey_Pressed
  150    WHEN 9:PROCMenu_Select
  160    WHEN 17,18,19:PROCUser_Message
  170  ENDCASE
  180UNTIL FALSE
  190END
  200
  210DEFPROCIntError
  220LOCAL ERROR
  230ON ERROR LOCAL GOTO 23720
  240A%=FNinterr(REPORT$+" at line "+STR$ERL+". Continue program?")
  250IF A%=2 THEN PROCQuit
  260ENDPROC
  270
  280DEFPROCScrToWork
  290temp%!0=wworkh%
  300SYS"Wimp_GetWindowState",,temp%
  310SYS"Wimp_GetPointerInfo",,temp2%
  320workx%=temp2%!0-temp%!4+temp%!20
  330IF workx%<0 THEN workx%=0
  340IF workx%>maxx% THEN workx%=maxx%
  350ENDPROC
  360
  370DEFFNWorkToPtr(a%)
  380IF a%=-1 THEN =-1 ELSE =INT(0.5+samplelen%*a%/maxx%)
  390
  400DEFFNPtrToWork(a%)
  410IF a%=-1 THEN =-1 ELSE =INT(0.5+maxx%*a%/samplelen%)
  420
  430DEFPROCNull_Reason
  440PROCPutPtrs
  450PROCPlotPP
  460PROCCheckScroll
  470CASE dragtype% OF
  480  WHEN 1:PROCDragASelL
  490  WHEN 2:PROCDragASelR
  500  WHEN 3:PROCDragLoopL
  510  WHEN 4:PROCDragLoopR
  520ENDCASE
  530ENDPROC
  540
  550DEFPROCPutPtrs
  560SYS"SFXMP_GetPtrs"TOA%:A%!0=startsample%:A%!4=samplelen%:A%!8=ploopl%:A%!12=ploopr%:A%!16=pselectl%:A%!20=pselectr%:A%!24=playtype%:A%!28=stype%:A%!32=releasek%:A%!36=multiplek%:A%!40=okt%
  570SYS"Wimp_GetCaretPosition",,temp%
  580IF temp%!0=wkeyboardh% THEN SYS"SFXMP_Enable" ELSE SYS"SFXMP_Disable"
  590ENDPROC
  600
  610DEFPROCPlotPP
  620IF playp%<>-1 THEN PROCPlotPPtr
  630SYS"SFXMP_GetBlock"TOA%:IF A%!40<>0 THEN playp%=((A%!32)>>12)+A%!36-startsample%:PROCPlotPPtr ELSE playp%=-1
  640ENDPROC
  650
  660DEFPROCCheckScroll
  670temp%!0=wworkh%:SYS"Wimp_GetWindowState",,temp%:SYS"Wimp_GetPointerInfo",,temp2%
  680IF (temp2%!12=wworkh%) AND (temp2%!16=-1) THEN
  690  IF ABS(temp%!4-temp2%!0)<64 THEN PROCScrollL
  700  IF ABS(temp%!12-temp2%!0)<64 THEN PROCScrollR
  710  A%=temp2%!0+temp%!20-temp%!4:IF A%<0 THEN A%=0
  720  pos%=FNWorkToPtr(A%):PROCDrawPos
  730ENDIF
  740ENDPROC
  750
  760DEFPROCDrawPos
  770IF pos%<>oldpos% THEN
  780  temp%!0=wposh%:temp%!4=0:SYS"Wimp_GetIconState",,temp%
  790  IF pdisphd% THEN $(temp%!28)="&"+STR$~(pos%) ELSE $(temp%!28)=STR$(pos%)
  800  temp%!8=0:temp%!12=0:SYS"Wimp_SetIconState",,temp%:oldpos%=pos%
  810ENDIF
  820ENDPROC
  830
  840DEFPROCScrollL
  850diff%=64-ABS(temp%!4-temp2%!0)
  860os%=temp%!20
  870os%=os%-diff%*4
  880IF os%<0 THEN os%=0
  890IF os%>maxx%-1024 THEN os%=maxx%-1024
  900temp%!20=os% AND &fffffffe
  910SYS"Wimp_OpenWindow",,temp%
  920ENDPROC
  930
  940DEFPROCScrollR
  950diff%=64-ABS(temp%!12-temp2%!0)
  960os%=temp%!20
  970os%=os%+diff%*4
  980IF os%<0 THEN os%=0
  990IF os%>maxx%-1024 THEN os%=maxx%-1024
 1000temp%!20=os% AND &fffffffe
 1010SYS"Wimp_OpenWindow",,temp%
 1020ENDPROC
 1030
 1040DEFPROCDragASelL
 1050PROCScrToWork:selectl%=workx%
 1060IF selectl%>selectr% THEN SWAP selectl%,selectr%:dragtype%=2
 1070pselectl%=FNWorkToPtr(selectl%):pselectr%=FNWorkToPtr(selectr%):selectl%=FNPtrToWork(pselectl%):selectr%=FNPtrToWork(pselectr%):PROCUpdateSelect
 1080ENDPROC
 1090
 1100DEFPROCDragASelR
 1110PROCScrToWork:selectr%=workx%
 1120IF selectl%>selectr% THEN SWAP selectl%,selectr%:dragtype%=1
 1130pselectl%=FNWorkToPtr(selectl%):pselectr%=FNWorkToPtr(selectr%):selectl%=FNPtrToWork(pselectl%):selectr%=FNPtrToWork(pselectr%):PROCUpdateSelect
 1140ENDPROC
 1150
 1160DEFPROCDragLoopL
 1170SYS"OS_Byte",202,0,255TO,sh%:dlp%=ploopr%-ploopl%:PROCScrToWork:loopl%=workx%:ploopl%=FNWorkToPtr(loopl%)
 1180IF sh%AND8 THEN
 1190  ploopr%=ploopl%+dlp%
 1200  IF ploopr%>samplelen% THEN ploopr%=samplelen%:ploopl%=samplelen%-dlp%
 1210ENDIF
 1220loopl%=FNPtrToWork(ploopl%):loopr%=FNPtrToWork(ploopr%)
 1230IF ploopl%>ploopr% THEN ploopr%=ploopl%:loopr%=loopl%
 1240IF loopl%<>oloopl% OR loopr%<>oloopr% THEN PROCUpdateLoopP
 1250ENDPROC
 1260
 1270DEFPROCDragLoopR
 1280SYS"OS_Byte",202,0,255TO,sh%:dlp%=ploopr%-ploopl%:PROCScrToWork:loopr%=workx%:ploopr%=FNWorkToPtr(loopr%)
 1290IF sh%AND8 THEN
 1300  ploopl%=ploopr%-dlp%
 1310  IF ploopl%<0 THEN ploopl%=0:ploopr%=dlp%
 1320ENDIF
 1330loopl%=FNPtrToWork(ploopl%):loopr%=FNPtrToWork(ploopr%)
 1340IF ploopr%<ploopl% THEN ploopl%=ploopr%:loopl%=loopr%
 1350IF loopl%<>oloopl% OR loopr%<>oloopr% THEN PROCUpdateLoopP
 1360ENDPROC
 1370
 1380DEFPROCRedraw_Window
 1390SYS"Wimp_RedrawWindow",,polledb%TOmore%
 1400CASE polledb%!0 OF
 1410  WHEN wworkh%:PROCRedrawWork
 1420  WHEN wsongh%:PROCRedrawSong
 1430  OTHERWISE:PROCJustRedraw
 1440ENDCASE
 1450ENDPROC
 1460
 1470DEFPROCRedrawWork
 1480lh%=32
 1490mi%=polledb%!4
 1500ma%=polledb%!12
 1510y%=polledb%!8
 1520sl%=polledb%!4-polledb%!20+selectl%
 1530sr%=polledb%!4-polledb%!20+selectr%
 1540ll%=polledb%!4-polledb%!20+loopl%
 1550lr%=polledb%!4-polledb%!20+loopr%
 1560llp%=FNPtrToWork(playp%)
 1570wllp%=polledb%!4-polledb%!20+llp%
 1580dr%=-1
 1590ldr%=-1
 1600rdr%=-1
 1610drp%=-1
 1620IF sl%<polledb%!4 AND sr%<polledb%!4 THEN dr%=0
 1630IF sl%>polledb%!12 AND sr%>polledb%!12 THEN dr%=0
 1640IF sl%<polledb%!4 AND dr% THEN sl%=polledb%!4
 1650IF sr%>polledb%!12 AND dr% THEN sr%=polledb%!12
 1660IF ll%<polledb%!4-32 OR ll%>polledb%!12+32 THEN ldr%=0
 1670IF lr%<polledb%!4-32 OR lr%>polledb%!12+32 THEN rdr%=0
 1680IF wllp%<polledb%!4-4 OR wllp%>polledb%!12+4 THEN drp%=0
 1690
 1700A%=startsample%+samplelen%*(polledb%!20)/maxx%
 1710B%=8*displen%
 1720C%=4096*(startsample%+samplelen%*(polledb%!20)/maxx%-A%)
 1730D%=polledb%!4
 1740E%=polledb%!8
 1750F%=stype%
 1760G%=startsample%
 1770
 1780WHILE more%
 1790  SYS"Wimp_SetColour",1
 1800  LINE mi%,y%+lh%*1,ma%,y%+lh%*1
 1810  LINE mi%,y%+lh%*2,ma%,y%+lh%*2
 1820  LINE mi%,y%+lh%*3,ma%,y%+lh%*3
 1830  LINE mi%,y%+lh%*5,ma%,y%+lh%*5
 1840  LINE mi%,y%+lh%*6,ma%,y%+lh%*6
 1850  LINE mi%,y%+lh%*7,ma%,y%+lh%*7
 1860  SYS"Wimp_SetColour",3
 1870  LINE mi%,y%+lh%*4,ma%,y%+lh%*4
 1880  SYS"Wimp_SetColour",7
 1890  LINE mi%,y%+lh%*8,ma%,y%+lh%*8
 1900  CALLredrwk
 1910  IF ldr% THEN
 1920    PROCInvCol2
 1930    LINE ll%,polledb%!8,ll%,polledb%!8+256
 1940    MOVE ll%,polledb%!8+260
 1950    MOVE ll%+8,polledb%!8+280
 1960    PLOT 85,ll%-8,polledb%!8+280
 1970  ENDIF
 1980  IF rdr% THEN
 1990    PROCInvCol3
 2000    LINE lr%,polledb%!8,lr%,polledb%!8+256
 2010    MOVE lr%,polledb%!8+260
 2020    MOVE lr%+8,polledb%!8+280
 2030    PLOT 85,lr%-8,polledb%!8+280
 2040  ENDIF
 2050  IF (selectl%<>-1) AND (selectr%<>-1) AND dr% THEN
 2060    PROCInvCol
 2070    RECTANGLE FILL sl%,polledb%!8,sr%-sl%,252
 2080  ENDIF
 2090  IF (playp%<>-1) AND drp% THEN
 2100    PROCInvCol
 2110    LINE wllp%,polledb%!8,wllp%,polledb%!8+288
 2120  ENDIF
 2130  SYS"Wimp_GetRectangle",,polledb%TOmore%
 2140ENDWHILE
 2150ENDPROC
 2160
 2170DEFPROCRedrawSong
 2180zx%=polledb%!4-polledb%!20
 2190zy%=polledb%!16-polledb%!24-96
 2200WHILE more%
 2210  SYS"Wimp_SetColour",3
 2220  LINE zx%+74,polledb%!32,zx%+74,polledb%!40
 2230  LINE zx%+76,polledb%!32,zx%+76,polledb%!40
 2240  LINE zx%+246,polledb%!32,zx%+246,polledb%!40
 2250  LINE zx%+248,polledb%!32,zx%+248,polledb%!40
 2260  LINE zx%+370,polledb%!32,zx%+370,polledb%!40
 2270  LINE zx%+372,polledb%!32,zx%+372,polledb%!40
 2280  LINE zx%+494,polledb%!32,zx%+494,polledb%!40
 2290  LINE zx%+496,polledb%!32,zx%+496,polledb%!40
 2300
 2310  SYS"Wimp_SetColour",7
 2320  sl%=(zy%-polledb%!40)/36
 2330  sr%=1+(zy%-polledb%!32)/36
 2340  IF sl%<0 THEN sl%=0
 2350  IF sr%<0 THEN sr%=0
 2360  IF sl%>songlen% THEN sl%=songlen%
 2370  IF sr%>songlen% THEN sr%=songlen%
 2380  WHILE sl%<sr%
 2390    MOVE zx%+6,zy%-36*sl%
 2400    PRINT STR$(sl%+1);
 2410    MOVE zx%+82,zy%-36*sl%
 2420    PRINT $(songstart%+sl%*32);
 2430    MOVE zx%+254,zy%-36*sl%
 2440    PRINT STR$(songstart%!(sl%*32+12));
 2450    MOVE zx%+378,zy%-36*sl%
 2460    PRINT STR$(songstart%!(sl%*32+16));
 2470    MOVE zx%+502,zy%-36*sl%
 2480    PRINT STR$(songstart%!(sl%*32+20));
 2490    sl%+=1
 2500  ENDWHILE
 2510  SYS"Wimp_GetRectangle",,polledb%TOmore%
 2520ENDWHILE
 2530ENDPROC
 2540
 2550DEFPROCJustRedraw
 2560WHILE more%
 2570  SYS"Wimp_GetRectangle",,polledb%TOmore%
 2580ENDWHILE
 2590ENDPROC
 2600
 2610DEFPROCInvCol
 2620SYS"XOS_ReadModeVariable",-1,3TO,,c%
 2630CASE c% OF
 2640  WHEN 1:GCOL3,1
 2650  WHEN 3:GCOL3,3
 2660  WHEN 15:GCOL3,7
 2670  WHEN 63:GCOL3,63 TINT 0
 2680  OTHERWISE:GCOL3,63
 2690ENDCASE
 2700ENDPROC
 2710
 2720DEFPROCInvCol2
 2730SYS"XOS_ReadModeVariable",-1,3TO,,c%
 2740CASE c% OF
 2750  WHEN 1:GCOL3,1
 2760  WHEN 3:GCOL3,1
 2770  WHEN 15:GCOL3,10
 2780  WHEN 63:GCOL3,%110011 TINT 0
 2790  OTHERWISE:GCOL3,63
 2800ENDCASE
 2810ENDPROC
 2820
 2830DEFPROCInvCol3
 2840SYS"XOS_ReadModeVariable",-1,3TO,,c%
 2850CASE c% OF
 2860  WHEN 1:GCOL3,1
 2870  WHEN 3:GCOL3,2
 2880  WHEN 15:GCOL3,11
 2890  WHEN 63:GCOL3,%111100 TINT 0
 2900  OTHERWISE:GCOL3,63
 2910ENDCASE
 2920ENDPROC
 2930
 2940DEFPROCOpen_Window
 2950IF polledb%!0=wworkh% THEN PROCOpen_Work:ENDPROC
 2960IF polledb%!0=wsongh% THEN PROCOpen_Song:ENDPROC
 2970IF polledb%!0=wposh% THEN polledb%!0=wworkh%:SYS"Wimp_GetWindowState",,polledb%:PROCOpen_Work:ENDPROC
 2980IF polledb%!0=wsongpaneh% THEN polledb%!0=wsongpaneh%:SYS"Wimp_GetWindowState",,polledb%:PROCOpen_Song:ENDPROC
 2990SYS"Wimp_OpenWindow",,polledb%
 3000ENDPROC
 3010
 3020DEFPROCOpen_Work
 3030temp%!0=wposh%
 3040SYS"Wimp_GetWindowState",,temp%
 3050A%=polledb%!28
 3060polledb%!28=wposh%
 3070SYS"Wimp_OpenWindow",,polledb%
 3080SYS"Wimp_GetWindowState",,polledb%
 3090temp%!4=polledb%!4
 3100temp%!8=polledb%!8-100
 3110temp%!12=temp%!4+1024
 3120temp%!16=temp%!8+56
 3130temp%!28=A%
 3140SYS"Wimp_OpenWindow",,temp%
 3150polledb%!28=wposh%
 3160SYS"Wimp_OpenWindow",,polledb%
 3170ENDPROC
 3180
 3190DEFPROCOpen_Song
 3200temp%!0=wsongpaneh%
 3210SYS"Wimp_GetWindowState",,temp%
 3220A%=polledb%!28
 3230polledb%!28=wsongpaneh%
 3240SYS"Wimp_OpenWindow",,polledb%
 3250SYS"Wimp_GetWindowState",,polledb%
 3260temp%!4=polledb%!4
 3270temp%!12=polledb%!12
 3280temp%!16=polledb%!16
 3290temp%!8=polledb%!16-84
 3300temp%!20=polledb%!20
 3310temp%!28=A%
 3320SYS"Wimp_OpenWindow",,temp%
 3330polledb%!28=wsongpaneh%
 3340SYS"Wimp_OpenWindow",,polledb%
 3350ENDPROC
 3360
 3370DEFPROCClose_Window
 3380SYS"Wimp_CloseWindow",,polledb%
 3390IF polledb%!0=wworkh% THEN polledb%!0=wposh%:SYS"Wimp_CloseWindow",,polledb%
 3400IF polledb%!0=wsongh% THEN polledb%!0=wsongpaneh%:SYS"Wimp_CloseWindow",,polledb%
 3410ENDPROC
 3420
 3430DEFPROCMouse_Click
 3440CASE polledb%!12 OF
 3450  WHEN wworkh%:PROCWorkClick
 3460  WHEN wechoh%:PROCEchoClick
 3470  WHEN wfadeh%:PROCFadeClick
 3480  WHEN wkeyboardh%:PROCKeyClick
 3490  WHEN wposh%:PROCPosClick
 3500  WHEN wsongh%:PROCSongClick
 3510  WHEN -2:PROCIconBClick
 3520ENDCASE
 3530ENDPROC
 3540
 3550DEFPROCSongClick
 3560temp%!0=wsongh%
 3570SYS"Wimp_GetWindowState",,temp%
 3580currsect%=(temp%!16-temp%!24-96-polledb%!4)/36
 3590IF currsect%<0 THEN currsect%=0
 3600IF currsect%>songlen% THEN currsect%=songlen%
 3610IF currsect%=songlen% THEN $(sectmenu%)="Loop" ELSE $sectmenu%="Loop "+STR$(currsect%+1)
 3620CASE polledb%!8 OF
 3630  WHEN 2:lastmx%=polledb%!0-64:lastmy%=polledb%!4+16:lastmenu%=sectmenu%:SYS"Wimp_CreateMenu",,lastmenu%,lastmx%,lastmy%
 3640  WHEN 1024:PROCEditSect
 3650ENDCASE
 3660ENDPROC
 3670
 3680DEFPROCEditSect
 3690IF currsect%<songlen% THEN
 3700  temp%!0=wsongpaneh%
 3710  temp%!4=5
 3720  SYS"Wimp_GetIconState",,temp%
 3730  $(temp%!28)=STR$(currsect%+1)
 3740  temp%!4=6
 3750  SYS"Wimp_GetIconState",,temp%
 3760  $(temp%!28)=$(songstart%+currsect%*32)
 3770  temp%!4=7
 3780  SYS"Wimp_GetIconState",,temp%
 3790  $(temp%!28)=STR$(songstart%!(currsect%*32+12))
 3800  temp%!4=8
 3810  SYS"Wimp_GetIconState",,temp%
 3820  $(temp%!28)=STR$(songstart%!(currsect%*32+16))
 3830  temp%!4=9
 3840  SYS"Wimp_GetIconState",,temp%
 3850  $(temp%!28)=STR$(songstart%!(currsect%*32+20))
 3860  ploopl%=songstart%!(currsect%*32+24)
 3870  ploopr%=songstart%!(currsect%*32+28)
 3880  IF ploopl%<0 THEN ploopl%=0
 3890  IF ploopr%<0 THEN ploopr%=0
 3900  IF ploopl%>samplelen% THEN ploopl%=samplelen%
 3910  IF ploopr%>samplelen% THEN ploopr%=samplelen%
 3920  loopl%=FNPtrToWork(ploopl%)
 3930  loopr%=FNPtrToWork(ploopr%)
 3940  PROCUpdateLoopP
 3950  PROCRdSongPane
 3960  SYS"Wimp_GetCaretPosition",,temp%
 3970  IF (temp%!0=wsongpaneh%)AND(temp%!4<>-1) THEN PROCSetWIC(temp%!0,temp%!4)
 3980  ospitch%=-1
 3990ENDIF
 4000ENDPROC
 4010
 4020DEFPROCPosClick
 4030CASE polledb%!16 OF
 4040  WHEN 0:pdisphd%=NOT pdisphd%
 4050  WHEN 8:PROCPosPAll
 4060  WHEN 9:PROCPosPSel
 4070  WHEN 10:PROCPosPWin
 4080  WHEN 12:PROCPosPStop
 4090ENDCASE
 4100ENDPROC
 4110
 4120DEFPROCPosPAll
 4130SYS"SFXMP_Stop",1:SYS"SFXMP_Stop",2:SYS"SFXMP_Stop",3
 4140SYS"SFXMP_GetBlock"TOA%
 4150SYS"SFXMP_GetPitch"TOB%
 4160A%+=32
 4170A%!0=0
 4180A%!4=startsample%
 4190A%!8=B%
 4200A%!12=samplelen%
 4210A%!16=stype%<<8
 4220A%!20=0
 4230SYS"SFXMP_Play",1
 4240ENDPROC
 4250
 4260DEFPROCPosPSel
 4270SYS"SFXMP_Stop",1:SYS"SFXMP_Stop",2:SYS"SFXMP_Stop",3
 4280IF pselectl%<>-1 THEN
 4290  SYS"SFXMP_GetBlock"TOA%
 4300  SYS"SFXMP_GetPitch"TOB%
 4310  A%+=32
 4320  A%!0=0
 4330  A%!4=startsample%+pselectl%
 4340  A%!8=B%
 4350  A%!12=pselectr%-pselectl%
 4360  A%!16=stype%<<8
 4370  A%!20=0
 4380  SYS"SFXMP_Play",1
 4390ENDIF
 4400ENDPROC
 4410
 4420DEFPROCPosPWin
 4430SYS"SFXMP_Stop",1:SYS"SFXMP_Stop",2:SYS"SFXMP_Stop",3
 4440temp%!0=wworkh%
 4450SYS"Wimp_GetWindowState",,temp%
 4460B%=FNWorkToPtr(temp%!20)
 4470C%=FNWorkToPtr(temp%!20+1024)
 4480SYS"SFXMP_GetBlock"TOA%
 4490SYS"SFXMP_GetPitch"TOE%
 4500A%+=32
 4510A%!0=0
 4520A%!4=startsample%+B%
 4530A%!8=E%
 4540A%!12=C%-B%
 4550A%!16=stype%<<8
 4560A%!20=0
 4570SYS"SFXMP_Play",1
 4580ENDPROC
 4590
 4600DEFPROCPosPStop
 4610SYS"SFXMP_Stop",1:SYS"SFXMP_Stop",2:SYS"SFXMP_Stop",3
 4620ENDPROC
 4630
 4640DEFFNStrip(fs$)
 4650LOCAL f%,a%
 4660f%=1
 4670a%=1
 4680WHILE MID$(fs$,f%)<>""
 4690  IF MID$(fs$,f%,1)="." OR MID$(fs$,f%,1)=":" THEN a%=f%+1
 4700  f%+=1
 4710ENDWHILE
 4720=MID$(fs$,a%)
 4730
 4740DEFPROCMBString(s%)
 4750WHILE ?s%>31 s%+=1:ENDWHILE
 4760?s%=13
 4770ENDPROC
 4780
 4790DEFPROCDataSave
 4800IF messbk%!4<>taskh% THEN
 4810  filetoload2$=FNStrip($(messbk%+44))
 4820  $(messbk%+44)="<Wimp$Scrap>"+CHR$(0)
 4830  messbk%!0=256
 4840  messbk%!12=messbk%!8
 4850  messbk%!16=2
 4860  messbk%!36=-1
 4870  SYS"Wimp_SendMessage",18,messbk%,messbk%!4
 4880ENDIF
 4890ENDPROC
 4900
 4910DEFPROCGetStartLen
 4920CASE savedata% OF
 4930  WHEN 0:ss%=startsample%:sl%=samplelen%
 4940  WHEN 1:IF pselectl%<>-1 THEN ss%=startsample%+pselectl%:sl%=pselectr%-pselectl% ELSE ss%=-1
 4950  WHEN 2:ss%=clipbstart%:sl%=clipblen%
 4960ENDCASE
 4970ENDPROC
 4980
 4990DEFPROCKeyClick
 5000CASE polledb%!8 OF
 5010  WHEN 1:SYS"XWimp_SetCaretPosition",wkeyboardh%,-1,-1,-1,-1,-1:SYS"SFXMP_Stop",1:SYS"SFXMP_Stop",2:SYS"SFXMP_Stop",3
 5020  WHEN 4:SYS"XWimp_SetCaretPosition",wkeyboardh%,-1,-1,-1,-1,-1
 5030ENDCASE
 5040CASE polledb%!16 OF
 5050  WHEN 43:playtype%=0
 5060  WHEN 44:playtype%=1
 5070  WHEN 45:playtype%=2
 5080  WHEN 46:playtype%=3
 5090  WHEN 48:temp%!0=wkeyboardh%:temp%!4=48:SYS"Wimp_GetIconState",,temp%:IF (temp%!24)AND(1<<21) THEN releasek%=-1 ELSE releasek%=0
 5100  WHEN 49:temp%!0=wkeyboardh%:temp%!4=49:SYS"Wimp_GetIconState",,temp%:IF (temp%!24)AND(1<<21) THEN multiplek%=-1 ELSE multiplek%=0
 5110ENDCASE
 5120ENDPROC
 5130
 5140DEFPROCWorkClick
 5150SYS"XWimp_SetCaretPosition",wkeyboardh%,-1,-1,-1,-1,-1
 5160CASE polledb%!8 OF
 5170  WHEN 2:lastmx%=polledb%!0-64:lastmy%=polledb%!4+16:lastmenu%=workmenu%:SYS"Wimp_CreateMenu",,lastmenu%,lastmx%,lastmy%
 5180  WHEN 1024:PROCSelClick
 5190  WHEN 256:PROCAdjClick
 5200  WHEN 64:PROCSelDrag
 5210  WHEN 16:PROCAdjDrag
 5220ENDCASE
 5230ENDPROC
 5240
 5250DEFPROCSelClick
 5260temp%!0=wworkh%
 5270SYS"Wimp_GetWindowState",,temp%
 5280IF polledb%!4-temp%!8<256 THEN
 5290  PROCSelClick2
 5300ELSE
 5310  SYS"OS_Byte",202,0,255TO,sh%
 5320  dlp%=ploopr%-ploopl%
 5330  PROCScrToWork
 5340  loopl%=workx%
 5350  ploopl%=FNWorkToPtr(loopl%)
 5360  IF sh%AND8 THEN
 5370    ploopr%=ploopl%+dlp%
 5380    IF ploopr%>samplelen% THEN ploopr%=samplelen%:ploopl%=samplelen%-dlp%
 5390  ENDIF
 5400  loopl%=FNPtrToWork(ploopl%)
 5410  loopr%=FNPtrToWork(ploopr%)
 5420  IF ploopl%>ploopr% THEN ploopr%=ploopl%:loopr%=loopl%
 5430  PROCUpdateLoopP
 5440ENDIF
 5450ENDPROC
 5460
 5470DEFPROCAdjClick
 5480temp%!0=wworkh%
 5490SYS"Wimp_GetWindowState",,temp%
 5500IF polledb%!4-temp%!8<256 THEN
 5510  PROCAdjClick2
 5520ELSE
 5530  SYS"OS_Byte",202,0,255TO,sh%
 5540  dlp%=ploopr%-ploopl%
 5550  PROCScrToWork
 5560  loopr%=workx%
 5570  ploopr%=FNWorkToPtr(loopr%)
 5580  IF sh%AND8 THEN
 5590    ploopl%=ploopr%-dlp%
 5600    IF ploopl%<0 THEN ploopl%=0:ploopr%=dlp%
 5610  ENDIF
 5620  loopl%=FNPtrToWork(ploopl%)
 5630  loopr%=FNPtrToWork(ploopr%)
 5640  IF ploopr%<ploopl% THEN ploopl%=ploopr%:loopl%=loopr%
 5650  PROCUpdateLoopP
 5660ENDIF
 5670ENDPROC
 5680
 5690DEFPROCSelDrag
 5700temp%!0=wworkh%
 5710SYS"Wimp_GetWindowState",,temp%
 5720IF polledb%!4-temp%!8<256 THEN
 5730  PROCSelDrag2
 5740ELSE
 5750  temp%!0=wworkh%
 5760  SYS"Wimp_GetWindowState",,temp%
 5770  temp2%!0=wworkh%
 5780  temp2%!4=7
 5790  temp2%!8=0
 5800  temp2%!12=0
 5810  temp2%!16=0
 5820  temp2%!20=0
 5830  temp2%!24=temp%!4
 5840  temp2%!28=temp%!8+260
 5850  temp2%!32=temp%!4+1022
 5860  temp2%!36=temp%!8+284
 5870  temp2%!40=-1
 5880  temp2%!44=-1
 5890  temp2%!48=-1
 5900  temp2%!52=-1
 5910  SYS"Wimp_DragBox",,temp2%
 5920  dragtype%=3
 5930ENDIF
 5940ENDPROC
 5950
 5960DEFPROCAdjDrag
 5970temp%!0=wworkh%
 5980SYS"Wimp_GetWindowState",,temp%
 5990IF polledb%!4-temp%!8<256 THEN
 6000  PROCAdjDrag2
 6010ELSE
 6020  temp%!0=wworkh%
 6030  SYS"Wimp_GetWindowState",,temp%
 6040  temp2%!0=wworkh%
 6050  temp2%!4=7
 6060  temp2%!8=0
 6070  temp2%!12=0
 6080  temp2%!16=0
 6090  temp2%!20=0
 6100  temp2%!24=temp%!4
 6110  temp2%!28=temp%!8+260
 6120  temp2%!32=temp%!4+1022
 6130  temp2%!36=temp%!8+284
 6140  temp2%!40=-1
 6150  temp2%!44=-1
 6160  temp2%!48=-1
 6170  temp2%!52=-1
 6180  SYS"Wimp_DragBox",,temp2%
 6190  dragtype%=4
 6200ENDIF
 6210ENDPROC
 6220
 6230DEFPROCSelClick2
 6240PROCScrToWork
 6250selectl%=workx%
 6260selectr%=workx%
 6270pselectl%=FNWorkToPtr(selectl%)
 6280pselectr%=FNWorkToPtr(selectr%)
 6290selectl%=FNPtrToWork(pselectl%)
 6300selectr%=FNPtrToWork(pselectr%)
 6310PROCUpdateSelect
 6320ENDPROC
 6330
 6340DEFPROCAdjClick2
 6350PROCScrToWork
 6360IF ABS(selectl%-workx%)>ABS(selectr%-workx%) THEN
 6370  selectr%=workx%
 6380ELSE
 6390  selectl%=workx%
 6400ENDIF
 6410IF selectl%=-1 OR selectr%=-1 THEN selectl%=workx%:selectr%=workx%
 6420IF selectl%>selectr% THEN SWAP selectl%,selectr%
 6430pselectl%=FNWorkToPtr(selectl%)
 6440pselectr%=FNWorkToPtr(selectr%)
 6450selectl%=FNPtrToWork(pselectl%)
 6460selectr%=FNPtrToWork(pselectr%)
 6470PROCUpdateSelect
 6480ENDPROC
 6490
 6500DEFPROCSelDrag2
 6510temp%!0=wworkh%
 6520SYS"Wimp_GetWindowState",,temp%
 6530temp2%!0=wworkh%
 6540temp2%!4=7
 6550temp2%!8=0
 6560temp2%!12=0
 6570temp2%!16=0
 6580temp2%!20=0
 6590temp2%!24=temp%!4
 6600temp2%!28=temp%!8
 6610temp2%!32=temp%!4+1022
 6620temp2%!36=temp%!8+252
 6630temp2%!40=-1
 6640temp2%!44=-1
 6650temp2%!48=-1
 6660temp2%!52=-1
 6670SYS"Wimp_DragBox",,temp2%
 6680dragtype%=1
 6690PROCScrToWork
 6700IF selectl%=-1 OR selectr%=-1 THEN
 6710  selectl%=workx%:selectr%=workx%
 6720  pselectl%=FNWorkToPtr(selectl%)
 6730  pselectr%=FNWorkToPtr(selectr%)
 6740  selectl%=FNPtrToWork(pselectl%)
 6750  selectr%=FNPtrToWork(pselectr%)
 6760ENDIF
 6770ENDPROC
 6780
 6790DEFPROCAdjDrag2
 6800temp%!0=wworkh%
 6810SYS"Wimp_GetWindowState",,temp%
 6820temp2%!0=wworkh%
 6830temp2%!4=7
 6840temp2%!8=0
 6850temp2%!12=0
 6860temp2%!16=0
 6870temp2%!20=0
 6880temp2%!24=temp%!4
 6890temp2%!28=temp%!8
 6900temp2%!32=temp%!4+1022
 6910temp2%!36=temp%!8+252
 6920temp2%!40=-1
 6930temp2%!44=-1
 6940temp2%!48=-1
 6950temp2%!52=-1
 6960SYS"Wimp_DragBox",,temp2%
 6970PROCScrToWork
 6980IF selectl%=-1 OR selectr%=-1 THEN
 6990  selectl%=workx%:selectr%=workx%
 7000  pselectl%=FNWorkToPtr(selectl%)
 7010  pselectr%=FNWorkToPtr(selectr%)
 7020  selectl%=FNPtrToWork(pselectl%)
 7030  selectr%=FNPtrToWork(pselectr%)
 7040ENDIF
 7050IF ABS(selectl%-workx%)>ABS(selectr%-workx%) THEN
 7060  dragtype%=2
 7070ELSE
 7080  dragtype%=1
 7090ENDIF
 7100ENDPROC
 7110
 7120DEFPROCUpdateSelect
 7130IF oselectl%=-1 OR oselectr%=-1 THEN oselectl%=selectl%:oselectr%=selectr%:PROCPtSelect:ENDPROC
 7140IF (selectl%<>oselectl%) AND (selectr%<>oselectr%) THEN PROCPtSelect:oselectl%=selectl%:oselectr%=selectr%:PROCPtSelect:ENDPROC
 7150IF selectl%<>oselectl% THEN PROCSetSelectL:ENDPROC
 7160IF selectr%<>oselectr% THEN PROCSetSelectR:ENDPROC
 7170ENDPROC
 7180
 7190DEFPROCPtSelect
 7200polledb%!0=wworkh%
 7210polledb%!8=-288
 7220polledb%!16=-32
 7230IF (oselectl%<>-1) AND (oselectr%<>-1) THEN
 7240  polledb%!4=oselectl%:polledb%!12=oselectr%+2
 7250  SYS"Wimp_UpdateWindow",,polledb%TOmore%
 7260  WHILE more%
 7270    PROCInvCol
 7280    RECTANGLE FILL polledb%!28,polledb%!32,polledb%!36-polledb%!28,polledb%!40-polledb%!32
 7290    SYS"Wimp_GetRectangle",,polledb%TOmore%
 7300  ENDWHILE
 7310ENDIF
 7320ENDPROC
 7330
 7340DEFPROCSetSelectL
 7350polledb%!0=wworkh%
 7360polledb%!8=-288
 7370polledb%!16=-32
 7380IF (selectl%<>-1) AND (oselectl%<>-1) THEN
 7390  IF selectl%<oselectl% THEN polledb%!4=selectl%:polledb%!12=oselectl% ELSE polledb%!4=oselectl%:polledb%!12=selectl%
 7400  SYS"Wimp_UpdateWindow",,polledb%TOmore%
 7410  WHILE more%
 7420    PROCInvCol
 7430    RECTANGLE FILL polledb%!28,polledb%!32,polledb%!36-polledb%!28,polledb%!40-polledb%!32
 7440    SYS"Wimp_GetRectangle",,polledb%TOmore%
 7450  ENDWHILE
 7460  oselectl%=selectl%
 7470ENDIF
 7480ENDPROC
 7490
 7500DEFPROCSetSelectR
 7510polledb%!0=wworkh%
 7520polledb%!8=-288
 7530polledb%!16=-32
 7540IF (selectr%<>-1) AND (oselectr%<>-1) THEN
 7550  IF selectr%<oselectr% THEN polledb%!4=selectr%+2:polledb%!12=oselectr%+2 ELSE polledb%!4=oselectr%+2:polledb%!12=selectr%+2
 7560  SYS"Wimp_UpdateWindow",,polledb%TOmore%
 7570  WHILE more%
 7580    PROCInvCol
 7590    RECTANGLE FILL polledb%!28,polledb%!32,polledb%!36-polledb%!28,polledb%!40-polledb%!32
 7600    SYS"Wimp_GetRectangle",,polledb%TOmore%
 7610  ENDWHILE
 7620  oselectr%=selectr%
 7630ENDIF
 7640ENDPROC
 7650
 7660DEFPROCPlotPPtr
 7670IF playp%<0 OR playp%>samplelen% THEN playp%=-1:ENDPROC
 7680llp%=FNPtrToWork(playp%)
 7690temp%!0=wworkh%
 7700SYS"Wimp_GetWindowState",,temp%
 7710ll%=temp%!4-temp%!20+llp%
 7720IF ll%>temp%!4-4 AND ll%<temp%!12+4 THEN
 7730  polledb%!0=wworkh%
 7740  polledb%!4=llp%
 7750  polledb%!8=-288
 7760  polledb%!12=llp%+2
 7770  polledb%!16=0
 7780  SYS"Wimp_UpdateWindow",,polledb%TOmore%
 7790  WHILE more%
 7800    PROCInvCol
 7810    LINE ll%,polledb%!8,ll%,polledb%!8+288
 7820    SYS"Wimp_GetRectangle",,polledb%TOmore%
 7830  ENDWHILE
 7840ENDIF
 7850ENDPROC
 7860
 7870DEFPROCUpdateLoopP
 7880temp%!0=wworkh%
 7890SYS"Wimp_GetWindowState",,temp%
 7900polledb%!0=wworkh%
 7910polledb%!4=temp%!20
 7920polledb%!8=-288
 7930polledb%!12=temp%!20+1024
 7940polledb%!16=0
 7950ll%=temp%!4-temp%!20+loopl%
 7960oll%=temp%!4-temp%!20+oloopl%
 7970lr%=temp%!4-temp%!20+loopr%
 7980olr%=temp%!4-temp%!20+oloopr%
 7990ldr%=-1
 8000oldr%=-1
 8010rdr%=-1
 8020ordr%=-1
 8030IF ll%<temp%!4-32 OR ll%>temp%!12+32 THEN ldr%=0
 8040IF oll%<temp%!4-32 OR oll%>temp%!12+32 THEN oldr%=0
 8050IF lr%<temp%!4-32 OR lr%>temp%!12+32 THEN rdr%=0
 8060IF olr%<temp%!4-32 OR olr%>temp%!12+32 THEN ordr%=0
 8070SYS"Wimp_UpdateWindow",,polledb%TOmore%
 8080WHILE more%
 8090  IF ldr% THEN
 8100    PROCInvCol2
 8110    LINE ll%,polledb%!8,ll%,polledb%!8+256
 8120    MOVE ll%,polledb%!8+260
 8130    MOVE ll%+8,polledb%!8+280
 8140    PLOT 85,ll%-8,polledb%!8+280
 8150  ENDIF
 8160  IF oldr% THEN
 8170    PROCInvCol2
 8180    LINE oll%,polledb%!8,oll%,polledb%!8+256
 8190    MOVE oll%,polledb%!8+260
 8200    MOVE oll%+8,polledb%!8+280
 8210    PLOT 85,oll%-8,polledb%!8+280
 8220  ENDIF
 8230  IF rdr% THEN
 8240    PROCInvCol3
 8250    LINE lr%,polledb%!8,lr%,polledb%!8+256
 8260    MOVE lr%,polledb%!8+260
 8270    MOVE lr%+8,polledb%!8+280
 8280    PLOT 85,lr%-8,polledb%!8+280
 8290  ENDIF
 8300  IF ordr% THEN
 8310    PROCInvCol3
 8320    LINE olr%,polledb%!8,olr%,polledb%!8+256
 8330    MOVE olr%,polledb%!8+260
 8340    MOVE olr%+8,polledb%!8+280
 8350    PLOT 85,olr%-8,polledb%!8+280
 8360  ENDIF
 8370  SYS"Wimp_GetRectangle",,polledb%TOmore%
 8380ENDWHILE
 8390oloopl%=loopl%:oloopr%=loopr%
 8400PROCUpdateSLoop
 8410ENDPROC
 8420
 8430DEFPROCUpdateSLoop
 8440IF playtype%=1 THEN
 8450  SYS"SFXMP_GetBlock"TOA%
 8460  A%=A%+32:A%!4=startsample%+ploopl%:A%!12=ploopr%-ploopl%:A%!20=0:A%!16=(A%!16) AND &ffffefff
 8470  A%=A%+32:A%!4=startsample%+ploopl%:A%!12=ploopr%-ploopl%:A%!20=0:A%!16=(A%!16) AND &ffffefff
 8480  A%=A%+32:A%!4=startsample%+ploopl%:A%!12=ploopr%-ploopl%:A%!20=0:A%!16=(A%!16) AND &ffffefff
 8490ENDIF
 8500IF playtype%=3 THEN
 8510  SYS"SFXMP_GetBlock"TOA%
 8520  A%=A%+32:A%!4=startsample%:A%!12=ploopr%:A%!20=ploopl%:A%!16=(A%!16) AND &ffffefff
 8530  A%=A%+32:A%!4=startsample%:A%!12=ploopr%:A%!20=ploopl%:A%!16=(A%!16) AND &ffffefff
 8540  A%=A%+32:A%!4=startsample%:A%!12=ploopr%:A%!20=ploopl%:A%!16=(A%!16) AND &ffffefff
 8550ENDIF
 8560ENDPROC
 8570
 8580DEFPROCIconBClick
 8590CASE polledb%!8 OF
 8600  WHEN 1,4:PROCOpenWork
 8610  WHEN 2:lastmx%=polledb%!0-64:lastmy%=184:lastmenu%=iconmenu%:SYS"Wimp_CreateMenu",,lastmenu%,lastmx%,lastmy%
 8620ENDCASE
 8630ENDPROC
 8640
 8650DEFPROCOpenWork
 8660polledb%!0=wworkh%
 8670SYS"Wimp_GetWindowState",,polledb%
 8680polledb%!28=-1
 8690PROCOpen_Window
 8700polledb%!0=wkeyboardh%
 8710SYS"Wimp_GetWindowState",,polledb%
 8720polledb%!28=-1
 8730SYS"Wimp_OpenWindow",,polledb%
 8740ENDPROC
 8750
 8760DEFPROCUser_Drag_Box
 8770CASE dragtype% OF
 8780  WHEN 1,2,3,4:dragtype%=-1
 8800ENDCASE
 8810ENDPROC
 8820
 8830DEFPROCRdWork
 8840polledb%!0=wworkh%
 8850SYS"Wimp_RedrawWindow",,polledb%TOmore%
 8860PROCRedrawWork
 8870ENDPROC
 8880
 8890DEFPROCRdSong
 8900polledb%!0=wsongh%
 8910SYS"Wimp_RedrawWindow",,polledb%TOmore%
 8920PROCRedrawSong
 8930ENDPROC
 8940
 8950DEFPROCRdSongPane
 8960polledb%!0=wsongpaneh%
 8970SYS"Wimp_RedrawWindow",,polledb%TOmore%
 8980PROCJustRedraw
 8990ENDPROC
 9000
 9010DEFPROCKey_Pressed
 9020IF polledb%!24=&1cc THEN SYS"SFXMP_Disable":SYS"Wimp_ProcessKey",&1cc
 9030IF polledb%!24=&1fc THEN SYS"SFXMP_Disable":SYS"Wimp_ProcessKey",&1fc
 9040CASE polledb%!0 OF
 9050  WHEN wkeyboardh%:PROCKeyKey
 9070  WHEN wposh%:PROCPosKey
 9080  WHEN wfadeh%:PROCFadeKey
 9090  WHEN wechoh%:PROCEchoKey
 9100  WHEN wsongpaneh%:PROCSongKey
 9110ENDCASE
 9120ENDPROC
 9130
 9140DEFPROCFadeKey
 9150IF polledb%!24=13 THEN
 9160  IF polledb%!4=2 THEN PROCSetWIC(wfadeh%,3)
 9170  IF polledb%!4=3 THEN PROCSetWIC(wfadeh%,2)
 9180ENDIF
 9190ENDPROC
 9200
 9210DEFPROCEchoKey
 9220IF polledb%!24=13 THEN
 9230  IF polledb%!4=2 THEN PROCSetWIC(wechoh%,3)
 9240  IF polledb%!4=3 THEN PROCSetWIC(wechoh%,2)
 9250ENDIF
 9260ENDPROC
 9270
 9280DEFPROCSongKey
 9290IF polledb%!24=13 THEN
 9300  IF polledb%!4=6 THEN PROCSetWIC(wsongpaneh%,7)
 9310  IF polledb%!4=7 THEN PROCSetWIC(wsongpaneh%,8)
 9320  IF polledb%!4=8 THEN PROCSetWIC(wsongpaneh%,9)
 9330  IF polledb%!4=9 THEN PROCSetWIC(wsongpaneh%,6)
 9340ENDIF
 9350ENDPROC
 9360
 9370DEFPROCSetWIC(w%,i%)
 9380IF i%=-1 THEN
 9390  SYS"XWimp_SetCaretPosition",-1,-1,-1,-1
 9400ELSE
 9410  temp%!0=w%
 9420  temp%!4=i%
 9430  SYS"Wimp_GetIconState",,temp%
 9440  A%=LEN($(temp%!28))
 9450  SYS"XWimp_SetCaretPosition",w%,i%,-1,-1,-1,A%
 9460ENDIF
 9470ENDPROC
 9480
 9490DEFPROCPosKey
 9500IF polledb%!24=13 THEN PROCSetPitch ELSE SYS"Wimp_ProcessKey",polledb%!24
 9510ENDPROC
 9520
 9530DEFPROCSetPitch
 9540temp%!0=wposh%
 9550IF polledb%!4=3 THEN
 9560  temp%!4=3
 9570  SYS"Wimp_GetIconState",,temp%
 9580  pitch%=VAL($(temp%!28))
 9590ENDIF
 9600IF polledb%!4=5 THEN
 9610  temp%!4=5
 9620  SYS"Wimp_GetIconState",,temp%
 9630  pitch%=VAL($(temp%!28))
 9640  IF pitch%=0 THEN pitch%=1
 9650  pitch%=1E6/pitch%
 9660ENDIF
 9670PROCSetPitch2
 9680ENDPROC
 9690
 9700DEFPROCSetPitch2
 9710IF pitch%<24 THEN pitch%=24
 9720IF pitch%>255 THEN pitch%=255
 9730pitch%=pitch%AND&fc
 9740temp2%!0=wposh%
 9750temp2%!4=3
 9760SYS"Wimp_GetIconState",,temp2%
 9770$(temp2%!28)=STR$pitch%
 9780temp2%!8=0:temp2%!12=0:SYS"Wimp_SetIconState",,temp2%
 9790temp2%!4=5
 9800SYS"Wimp_GetIconState",,temp2%
 9810$(temp2%!28)=STR$(INT(1E6/pitch%))
 9820temp2%!8=0:temp2%!12=0:SYS"Wimp_SetIconState",,temp2%
 9830SYS"XWimp_SetCaretPosition",wkeyboardh%,-1,-1,-1,-1,-1
 9840SYS"XSound_Configure",0,0,pitch%,0,0
 9850ENDPROC
 9860
 9870DEFPROCKeyKey
 9880key%=polledb%!24
 9890IF key%=13 THEN SYS"XWimp_SetCaretPosition",-1,-1,-1,-1:ENDPROC
 9900IF (key%>=&181)AND(key%<=&185) okt%=key%-&181:ENDPROC
 9910IF key%<32 THEN PROCCtrlKey:ENDPROC
 9920SYS"SFXMP_GetPitch"TOspitch%:IF spitch%<>ospitch% THEN temp%!0=wsongpaneh%:temp%!4=8:SYS"Wimp_GetIconState",,temp%:$(temp%!28)=STR$spitch%:temp%!8=0:temp%!12=0:SYS"Wimp_SetIconState",,temp%:ospitch%=spitch%
 9930ENDPROC
 9940
 9950DEFPROCCtrlKey
 9960CASE key% OF
 9970  WHEN ASC"X"-64:polledb%!4=0:PROCMEdit
 9980  WHEN ASC"C"-64:polledb%!4=1:PROCMEdit
 9990  WHEN ASC"V"-64:polledb%!4=2:PROCMEdit
10000  WHEN ASC"D"-64:polledb%!4=3:PROCMEdit
10010  WHEN ASC"A"-64:PROCMSelAll
10020  WHEN ASC"Z"-64:PROCMSelClear
10030  WHEN ASC"Q"-64:PROCZoomAll
10040  WHEN ASC"W"-64:PROCZoomOut
10050  WHEN ASC"S"-64:PROCZoomSel
10060  WHEN ASC"T"-64:PROCZoomStore
10070  WHEN ASC"R"-64:PROCZoomRestore
10080ENDCASE
10090ENDPROC
10100
10110DEFPROCMenu_Select
10120SYS"Wimp_GetPointerInfo",,temp%
10130oldbut%=temp%!8
10140CASE lastmenu% OF
10150  WHEN iconmenu%:PROCMSelIcon
10160  WHEN workmenu%:PROCMSelWork
10170  WHEN sectmenu%:PROCMSelSect
10180ENDCASE
10190IF (oldbut%AND1) THEN SYS"Wimp_CreateMenu",,lastmenu%,lastmx%,lastmy%
10200ENDPROC
10210
10220DEFPROCMSelSect
10230CASE polledb%!0 OF
10240  WHEN 0:PROCMSectInsert
10250  WHEN 1:PROCMSectAppend
10260  WHEN 2:PROCMSectOverwrite
10270  WHEN 3:PROCMSectDelete
10280  WHEN 4:PROCMSectPlay
10290  WHEN 5:PROCPlaySong
10300ENDCASE
10310ENDPROC
10320
10330DEFPROCMSectInsert
10340SYS"SFXMP_Stop",1:SYS"SFXMP_Stop",2:SYS"SFXMP_Stop",3
10350IF songlen%>=INT(songbuflen%/32) THEN
10360  PROCReportErr("No room.")
10370ELSE
10380  T%=songlen%
10390  WHILE T%>currsect%
10400    FORS%=0TO28STEP4
10410      songstart%!(T%*32+S%)=songstart%!(T%*32-32+S%)
10420    NEXTS%
10430    T%-=1
10440  ENDWHILE
10450  songlen%+=1
10460  PROCPutSect(currsect%)
10470  PROCSetSongExtent
10480  PROCRdSong
10490ENDIF
10500ENDPROC
10510
10520DEFPROCMSectAppend
10530SYS"SFXMP_Stop",1:SYS"SFXMP_Stop",2:SYS"SFXMP_Stop",3
10540IF songlen%>=INT(songbuflen%/32) THEN
10550  PROCReportErr("Too many loops.")
10560ELSE
10570  PROCPutSect(songlen%)
10580  songlen%+=1
10590  PROCSetSongExtent
10600  PROCRdSong
10610ENDIF
10620ENDPROC
10630
10640DEFPROCMSectOverwrite
10650SYS"SFXMP_Stop",1:SYS"SFXMP_Stop",2:SYS"SFXMP_Stop",3
10660IF currsect%<songlen% THEN PROCPutSect(currsect%):PROCRdSong
10670ENDPROC
10680
10690DEFPROCMSectDelete
10700SYS"SFXMP_Stop",1:SYS"SFXMP_Stop",2:SYS"SFXMP_Stop",3
10710IF currsect%<songlen% THEN
10720  T%=currsect%
10730  WHILE T%<songlen%-1
10740    FORS%=0TO28STEP4
10750      songstart%!(T%*32+S%)=songstart%!(T%*32+32+S%)
10760    NEXTS%
10770    T%+=1
10780  ENDWHILE
10790  songlen%-=1
10800  PROCSetSongExtent
10810  PROCRdSong
10820ENDIF
10830ENDPROC
10840
10850DEFPROCMSectPlay
10860IF currsect%<songlen% THEN
10870  SYS"SFXMP_Stop",1:SYS"SFXMP_Stop",2:SYS"SFXMP_Stop",3
10880  VOICES 2
10890  VOICE 2,"SFXMVoice"
10900  SYS"SFXMP_PlaySong",songstart%+32*currsect%,songlen%-currsect%,startsample%,1,stype%
10910ENDIF
10920ENDPROC
10930
10940DEFPROCPutSect(s%)
10950temp%!0=wsongpaneh%
10960temp%!4=6
10970SYS"Wimp_GetIconState",,temp%
10980$(songstart%+s%*32)=$(temp%!28)
10990temp%!4=7
11000SYS"Wimp_GetIconState",,temp%
11010A%=VAL($(temp%!28))
11020IF A%>255 THEN A%=255
11030IF A%<1 THEN A%=1
11040!(songstart%+s%*32+12)=A%
11050temp%!4=8
11060SYS"Wimp_GetIconState",,temp%
11070A%=VAL($(temp%!28))
11080IF A%<1 THEN A%=1
11090IF A%>&10000 THEN A%=&10000
11100!(songstart%+s%*32+16)=A%
11110temp%!4=9
11120SYS"Wimp_GetIconState",,temp%
11130A%=VAL($(temp%!28))
11140IF A%<2 THEN A%=2
11150IF A%>255 THEN A%=255
11160!(songstart%+s%*32+20)=A%
11170!(songstart%+s%*32+24)=ploopl%
11180!(songstart%+s%*32+28)=ploopr%
11190ENDPROC
11200
11210DEFPROCCheckSong
11220T%=0
11230WHILE T%<songlen%
11240  A%=songstart%!(T%*32+24):B%=songstart%!(T%*32+28)
11250  IF A%<0 THEN A%=0
11260  IF B%<0 THEN B%=0
11270  IF A%>samplelen% THEN A%=samplelen%
11280  IF B%>samplelen% THEN B%=samplelen%
11290  songstart%!(T%*32+24)=A%:songstart%!(T%*32+28)=B%
11300  T%+=1
11310ENDWHILE
11320ENDPROC
11330
11340DEFPROCMSelIcon
11350IF polledb%!0=1 THEN PROCCloseDown
11360ENDPROC
11370
11380DEFPROCMSelWork
11390CASE polledb%!0 OF
11400  WHEN 0:PROCMInfo
11410  WHEN 1:PROCMSave
11420  WHEN 2:PROCMEdit
11430  WHEN 3:PROCMSelect
11440  WHEN 4:PROCMZoom
11450  WHEN 5:PROCMLoop
11460  WHEN 6:PROCMGoodies
11470  WHEN 7:PROCMSong
11480ENDCASE
11490ENDPROC
11500
11510DEFPROCMSong
11520m%=polledb%!4
11530CASE m% OF
11540  WHEN 0:PROCPlaySong
11550  WHEN 1:PROCOpenSong
11560  WHEN 4:PROCClearSong
11570  WHEN 5:PROCSwapSongRep
11580ENDCASE
11590ENDPROC
11600
11610DEFPROCSwapSongRep
11620songrep%=NOT songrep%
11630PROCAdjSongM
11640ENDPROC
11650
11660DEFPROCOpenSong
11670temp%!0=wsongh%
11680SYS"Wimp_GetWindowState",,temp%
11690temp%!28=-1
11700SYS"Wimp_OpenWindow",,temp%
11710temp2%!0=wsongpaneh%
11720SYS"Wimp_GetWindowState",,temp2%
11730temp2%!4=temp%!4
11740temp2%!12=temp%!12
11750temp2%!16=temp%!16
11760temp2%!8=temp%!16-84
11770temp2%!28=-1
11780SYS"Wimp_OpenWindow",,temp2%
11790ENDPROC
11800
11810DEFPROCPlaySong
11820IF songlen%>0 THEN
11830  SYS"SFXMP_Stop",1:SYS"SFXMP_Stop",2:SYS"SFXMP_Stop",3
11840  VOICES 2
11850  VOICE 2,"SFXMVoice"
11860  SYS"SFXMP_PlaySong",songstart%,songlen%,startsample%,1,stype%+(songrep%<<8)
11870ENDIF
11880ENDPROC
11890
11900DEFPROCMInfo
11910m%=polledb%!4
11920CASE m% OF
11930  WHEN 1:PROCMType
11940  WHEN 2:PROCSetBuf
11950  WHEN 3:PROCClearAll
11960ENDCASE
11970ENDPROC
11980
11990DEFPROCSetBuf
12000SYS"SFXMP_Stop",1:SYS"SFXMP_Stop",2:SYS"SFXMP_Stop",3
12010newblen%=1024*VAL($(mbuflen%!40))
12020IF newblen%<1024 THEN newblen%=1024
12030b%=1
12040IF newblen%<buflen% THEN
12050  temp%!0=0
12060  $(temp%+4)="You will lose the current sample."
12070  SYS"Wimp_ReportError",temp%,%10011,"Confirm"TO,b%
12080ENDIF
12090IF b%=1 THEN
12100  SYS"XOS_Module",6,,,newblen%TO,,newbstart%;v%
12110  IF v%AND1 THEN
12120    PROCReportErr("Can't claim memory.")
12130  ELSE
12140    IF newblen%<buflen% THEN
12150      SYS"XOS_Module",7,,bufstart%
12160      bufstart%=newbstart%
12170      buflen%=newblen%
12180      PROCClear
12190    ELSE
12200      chb%=newbstart%-bufstart%
12210      A%=bufstart%
12220      B%=newbstart%
12230      C%=startsample%+samplelen%-bufstart%
12240      CALLcopymem
12250      A%=clipbstart%
12260      B%=newbstart%+newblen%-clipblen%
12270      C%=clipblen%
12280      CALLcopymem
12290      startsample%=startsample%+chb%
12300      SYS"XOS_Module",7,,bufstart%
12310      bufstart%=newbstart%
12320      buflen%=newblen%
12330    ENDIF
12340  ENDIF
12350ENDIF
12360ENDPROC
12370
12380DEFPROCClearAll
12390IF samplesaved%=-1 THEN
12400  PROCClear
12410ELSE
12420  A%=FNConfirm("Sample has been modified. Are you sure you want to do this?")
12430  IF A%=1 THEN PROCClear
12440ENDIF
12450ENDPROC
12460
12470DEFPROCClear
12480PROCRestart
12490temp%!0=wworkh%
12500SYS"Wimp_GetWindowState",,temp%
12510polledb%!20=0
12520SYS"Wimp_OpenWindow",,temp%
12530PROCSetExtent
12540PROCSetSongExtent
12550$(wwork%!72)="<Untitled>"
12560samplesaved%=-1
12570PROCRdWork
12580ENDPROC
12590
12600DEFPROCMSave
12610ENDPROC
12620
12630DEFPROCMType
12640CASE polledb%!8 OF
12650  WHEN 0:stype%=2:PROCAdjTypeM:PROCRdWork
12660  WHEN 1:stype%=0:PROCAdjTypeM:PROCRdWork
12670  WHEN 2:stype%=1:PROCAdjTypeM:PROCRdWork
12680ENDCASE
12690ENDPROC
12700
12710DEFPROCAdjTypeM
12720CASE stype% OF
12730  WHEN 0:typemenu%!(28+24*0+0)=0:typemenu%!(28+24*1+0)=1:typemenu%!(28+24*2+0)=128
12740  WHEN 1:typemenu%!(28+24*0+0)=0:typemenu%!(28+24*1+0)=0:typemenu%!(28+24*2+0)=129
12750  WHEN 2:typemenu%!(28+24*0+0)=1:typemenu%!(28+24*1+0)=0:typemenu%!(28+24*2+0)=128
12760ENDCASE
12770ENDPROC
12780
12790DEFPROCAdjSongM
12800IF songrep% THEN songmenu%!(28+24*5)=129 ELSE songmenu%!(28+24*5)=128
12810ENDPROC
12820
12830DEFPROCMEdit
12840IF selectl%<>-1 AND selectr%<>-1 THEN
12850  m%=polledb%!4
12860  CASE m% OF
12870    WHEN 0:PROCMECut
12880    WHEN 1:PROCMECopy
12890    WHEN 2:PROCMEPaste
12900    WHEN 3:PROCMEDelete
12910    WHEN 4:PROCMEDeleteNS
12920    WHEN 5:PROCMEDeleteL
12930    WHEN 6:PROCMEDeleteR
12940  ENDCASE
12950ENDIF
12960ENDPROC
12970
12980DEFPROCMECut
12990c%=FNCheckLen(samplelen%+pselectr%-pselectl%,"No room for cut.")
13000IF c%=0 THEN
13010  A%=startsample%+pselectl%
13020  B%=bufstart%+buflen%-(pselectr%-pselectl%)
13030  C%=pselectr%-pselectl%
13040  CALLcopymem
13050  clipbstart%=B%
13060  clipblen%=C%
13070  PROCMEDelete
13080  PROCModTitle(0)
13090ENDIF
13100ENDPROC
13110
13120DEFPROCMECopy
13130c%=FNCheckLen(samplelen%+pselectr%-pselectl%,"No room for copy.")
13140IF c%=0 THEN
13150  A%=startsample%+pselectl%
13160  B%=bufstart%+buflen%-(pselectr%-pselectl%)
13170  C%=pselectr%-pselectl%
13180  CALLcopymem
13190  clipbstart%=B%
13200  clipblen%=C%
13210ENDIF
13220ENDPROC
13230
13240DEFPROCMEPaste
13250c%=FNCheckLen(samplelen%+2*clipblen%,"No room for paste.")
13260IF c%=0 THEN
13270  A%=startsample%+pselectr%
13280  B%=startsample%+pselectr%+clipblen%
13290  C%=samplelen%-pselectr%
13300  CALLcopymem
13310  A%=clipbstart%
13320  B%=startsample%+pselectr%
13330  C%=clipblen%
13340  CALLcopymem
13350  IF ploopl%>pselectr% THEN ploopl%=ploopl%+clipblen%
13360  IF ploopr%>pselectr% THEN ploopr%=ploopr%+clipblen%
13370  PROCgetwinp
13380  samplelen%=samplelen%+clipblen%
13390  IF samplelen%<1 THEN samplelen%=1:startsample%?0=0:startsample%?1=0
13400  PROCCheckLoop
13410  PROCCheckSong
13420  PROCadjptrs
13430  PROCZoomSel
13440  PROCModTitle(0)
13450ENDIF
13460ENDPROC
13470
13480DEFFNCheckLen(l%,e$)
13490IF startsample%+l%>=bufstart%+buflen% THEN
13500  PROCReportErr(e$)
13510  A%=-1
13520ELSE
13530  A%=0
13540ENDIF
13550=A%
13560
13570DEFPROCMEDelete
13580A%=startsample%+pselectr%
13590B%=startsample%+pselectl%
13600C%=samplelen%-pselectr%
13610CALLcopymem
13620IF ploopl%>pselectl% THEN ploopl%=ploopl%-(pselectr%-pselectl%)
13630IF ploopr%>pselectl% THEN ploopr%=ploopr%-(pselectr%-pselectl%)
13640PROCgetwinp
13650samplelen%=samplelen%-(A%-B%)
13660IF samplelen%<1 THEN samplelen%=1:startsample%?0=0:startsample%?1=0
13670PROCCheckLoop
13680PROCCheckSong
13690PROCadjptrs
13700PROCZoomSel
13710PROCModTitle(0)
13720ENDPROC
13730
13740DEFPROCMEDeleteNS
13750A%=startsample%+pselectl%
13760B%=startsample%
13770C%=pselectr%-pselectl%
13780CALLcopymem
13790ploopl%=ploopl%-pselectl%
13800ploopr%=ploopr%-pselectl%
13810PROCgetwinp
13820samplelen%=C%
13830IF samplelen%<1 THEN samplelen%=1:startsample%?0=0:startsample%?1=0
13840PROCCheckLoop
13850PROCCheckSong
13860PROCadjptrs
13870PROCZoomSel
13880PROCModTitle(0)
13890ENDPROC
13900
13910DEFPROCMEDeleteL
13920A%=startsample%+pselectl%
13930B%=startsample%
13940C%=samplelen%-pselectl%
13950CALLcopymem
13960ploopl%=ploopl%-pselectl%
13970ploopr%=ploopr%-pselectl%
13980PROCgetwinp
13990samplelen%=C%
14000IF samplelen%<1 THEN samplelen%=1:startsample%?0=0:startsample%?1=0
14010PROCCheckLoop
14020PROCCheckSong
14030PROCadjptrs
14040PROCZoomSel
14050PROCModTitle(0)
14060ENDPROC
14070
14080DEFPROCMEDeleteR
14090A%=pselectr%
14100PROCgetwinp
14110samplelen%=A%
14120IF samplelen%<1 THEN samplelen%=1:startsample%?0=0:startsample%?1=0
14130PROCCheckLoop
14140PROCCheckSong
14150PROCadjptrs
14160PROCZoomSel
14170PROCModTitle(0)
14180ENDPROC
14190
14200DEFPROCCheckLoop
14210IF ploopl%<0 THEN ploopl%=0
14220IF ploopl%>samplelen% THEN ploopl%=samplelen%
14230IF ploopr%<0 THEN ploopr%=0
14240IF ploopr%>samplelen% THEN ploopr%=samplelen%
14250IF ploopl%>ploopr% THEN ploopr%=ploopl%
14260PROCUpdateSLoop
14270ENDPROC
14280
14290DEFPROCgetwinp
14300temp%!0=wworkh%
14310SYS"Wimp_GetWindowState",,temp%
14320selectl%=temp%!20
14330selectr%=temp%!20+1022
14340pselectl%=FNWorkToPtr(selectl%)
14350pselectr%=FNWorkToPtr(selectr%)
14360ENDPROC
14370
14380DEFPROCadjptrs
14390IF pselectl%<0 THEN pselectr%=pselectr%-pselectl%:pselectl%=0
14400IF pselectr%>samplelen% THEN pselectl%=pselectl%-(pselectr%-samplelen%):pselectr%=samplelen%
14410IF pselectl%<0 THEN pselectl%=0
14420IF pselectr%>samplelen% THEN pselectr%=samplelen%
14430selectl%=FNPtrToWork(pselectl%)
14440selectr%=FNPtrToWork(pselectr%)
14450ENDPROC
14460
14470DEFPROCMSelect
14480m%=polledb%!4
14490CASE m% OF
14500  WHEN 0:PROCMSelAll
14510  WHEN 1:PROCMSelLoop
14520  WHEN 2:PROCMSelLeft
14530  WHEN 3:PROCMSelRight
14540  WHEN 4:PROCMSelWindow
14550  WHEN -1,5:PROCMSelClear
14560ENDCASE
14570ENDPROC
14580
14590DEFPROCMSelAll
14600pselectl%=0
14610pselectr%=samplelen%
14620selectl%=FNPtrToWork(pselectl%)
14630selectr%=FNPtrToWork(pselectr%)
14640PROCUpdateSelect
14650ENDPROC
14660
14670DEFPROCMSelLeft
14680pselectr%=pselectl%
14690pselectl%=0
14700selectl%=FNPtrToWork(pselectl%)
14710selectr%=FNPtrToWork(pselectr%)
14720PROCUpdateSelect
14730ENDPROC
14740
14750DEFPROCMSelRight
14760pselectl%=pselectr%
14770pselectr%=samplelen%
14780selectl%=FNPtrToWork(pselectl%)
14790selectr%=FNPtrToWork(pselectr%)
14800PROCUpdateSelect
14810ENDPROC
14820
14830DEFPROCMSelWindow
14840temp%!0=wworkh%
14850SYS"Wimp_GetWindowState",,temp%
14860selectl%=temp%!20
14870selectr%=temp%!20+1022
14880pselectl%=FNWorkToPtr(selectl%)
14890pselectr%=FNWorkToPtr(selectr%)
14900selectl%=FNPtrToWork(pselectl%)
14910selectr%=FNPtrToWork(pselectr%)
14920PROCUpdateSelect
14930ENDPROC
14940
14950DEFPROCMSelLoop
14960pselectl%=ploopl%
14970pselectr%=ploopr%
14980selectl%=FNPtrToWork(pselectl%)
14990selectr%=FNPtrToWork(pselectr%)
15000PROCUpdateSelect
15010ENDPROC
15020
15030DEFPROCMSelClear
15040selectl%=-1:selectr%=-1
15050pselectl%=-1:pselectr%=-1
15060PROCUpdateSelect
15070ENDPROC
15080
15090DEFPROCMZoom
15100m%=polledb%!4
15110CASE m% OF
15120  WHEN 0:PROCZoomAll
15130  WHEN 1:PROCZoomOut
15140  WHEN 2:PROCZoomLoop
15150  WHEN -1,3:PROCZoomSel
15160  WHEN 4:PROCZoomStore
15170  WHEN 5:PROCZoomRestore
15180ENDCASE
15190ENDPROC
15200
15210DEFPROCZoomAll
15220polledb%!0=wworkh%
15230SYS"Wimp_GetWindowState",,polledb%
15240polledb%!20=0
15250SYS"Wimp_OpenWindow",,polledb%
15260displen%=samplelen%
15270PROCSetExtent
15280selectl%=FNPtrToWork(pselectl%)
15290selectr%=FNPtrToWork(pselectr%)
15300loopl%=FNPtrToWork(ploopl%)
15310loopr%=FNPtrToWork(ploopr%)
15320oloopl%=loopl%:oloopr%=loopr%
15330oselectl%=selectl%:oselectr%=selectr%
15340PROCRdWork
15350ENDPROC
15360
15370DEFPROCZoomOut
15380opsl%=pselectl%:opsr%=pselectr%
15390polledb%!0=wworkh%
15400SYS"Wimp_GetWindowState",,polledb%
15410selectl%=polledb%!20
15420selectr%=polledb%!20+1022
15430pselectl%=FNWorkToPtr(selectl%)
15440pselectr%=FNWorkToPtr(selectr%)
15450sw%=pselectr%-pselectl%
15460pselectl%=pselectl%-sw%
15470pselectr%=pselectr%+sw%
15480IF pselectl%<0 THEN pselectr%=pselectr%-pselectl%:pselectl%=0
15490IF pselectr%>samplelen% THEN pselectl%=pselectl%-(pselectr%-samplelen%):pselectr%=samplelen%
15500IF pselectl%<0 THEN pselectl%=0
15510IF pselectr%>samplelen% THEN pselectr%=samplelen%
15520selectl%=FNPtrToWork(pselectl%)
15530selectr%=FNPtrToWork(pselectr%)
15540loopl%=FNPtrToWork(ploopl%)
15550loopr%=FNPtrToWork(ploopr%)
15560oloopl%=loopl%:oloopr%=loopr%
15570PROCZoomSel
15580pselectl%=opsl%:pselectr%=opsr%
15590selectl%=FNPtrToWork(pselectl%)
15600selectr%=FNPtrToWork(pselectr%)
15610PROCUpdateSelect
15620ENDPROC
15630
15640DEFPROCZoomLoop
15650opsl%=pselectl%
15660opsr%=pselectr%
15670pselectl%=ploopl%
15680pselectr%=ploopr%
15690selectl%=FNPtrToWork(pselectl%)
15700selectr%=FNPtrToWork(pselectr%)
15710PROCZoomSel
15720pselectl%=opsl%
15730pselectr%=opsr%
15740selectl%=FNPtrToWork(pselectl%)
15750selectr%=FNPtrToWork(pselectr%)
15760PROCUpdateSelect
15770ENDPROC
15780
15790DEFPROCZoomSel
15800IF pselectl%<>-1 AND pselectr%<>-1 THEN
15810  displen%=pselectr%-pselectl%
15820  IF displen%<1 THEN displen%=1
15830  dispst=pselectl%/samplelen%
15840  polledb%!0=wworkh%
15850  SYS"Wimp_GetWindowState",,polledb%
15860  polledb%!20=0
15870  SYS"Wimp_OpenWindow",,polledb%
15880  PROCSetExtent
15890  polledb%!20=dispst*maxx%
15900  SYS"Wimp_OpenWindow",,polledb%
15910  selectl%=-1:selectr%=-1:oselectl%=-1:oselectr%=-1
15920  pselectl%=-1:pselectr%=-1
15930  loopl%=FNPtrToWork(ploopl%)
15940  loopr%=FNPtrToWork(ploopr%)
15950  oloopl%=loopl%:oloopr%=loopr%
15960  PROCRdWork
15970ENDIF
15980ENDPROC
15990
16000DEFPROCZoomStore
16010temp%!0=wworkh%
16020SYS"Wimp_GetWindowState",,temp%
16030zoomsl%=temp%!20
16040zoomsr%=temp%!20+1024
16050zoomsl%=FNWorkToPtr(zoomsl%)
16060zoomsr%=FNWorkToPtr(zoomsr%)
16070ENDPROC
16080
16090DEFPROCZoomRestore
16100opsl%=pselectl%:opsr%=pselectr%
16110pselectl%=zoomsl%
16120pselectr%=zoomsr%
16130IF pselectl%<0 THEN pselectl%=0
16140IF pselectr%<0 THEN pselectr%=0
16150IF pselectl%>samplelen% THEN pselectl%=samplelen%
16160IF pselectr%>samplelen% THEN pselectr%=samplelen%
16170PROCZoomSel
16180pselectl%=opsl%:pselectr%=opsr%
16190selectl%=FNPtrToWork(pselectl%)
16200selectr%=FNPtrToWork(pselectr%)
16210PROCUpdateSelect
16220ENDPROC
16230
16240DEFPROCMLoop
16250m%=polledb%!4
16260CASE m% OF
16270  WHEN 0:PROCLoopAll
16280  WHEN 1:PROCLoopWindow
16290  WHEN 2:PROCLoopSel
16300  WHEN 3:PROCLoopHalf
16310  WHEN 4:PROCLoopDouble
16320  WHEN 5:PROCLoopStore
16330  WHEN 6:PROCLoopRestore
16340ENDCASE
16350ENDPROC
16360
16370DEFPROCLoopAll
16380ploopl%=0
16390ploopr%=samplelen%
16400loopl%=FNPtrToWork(ploopl%)
16410loopr%=FNPtrToWork(ploopr%)
16420PROCUpdateLoopP
16430ENDPROC
16440
16450DEFPROCLoopWindow
16460opsl%=pselectl%
16470opsr%=pselectr%
16480PROCgetwinp
16490PROCLoopSel
16500pselectl%=opsl%
16510pselectr%=opsr%
16520selectl%=FNPtrToWork(pselectl%)
16530selectr%=FNPtrToWork(pselectr%)
16540PROCUpdateSelect
16550ENDPROC
16560
16570DEFPROCLoopSel
16580IF pselectl%<>-1 AND pselectr%<>-1 THEN
16590  ploopl%=pselectl%
16600  ploopr%=pselectr%
16610  loopl%=FNPtrToWork(ploopl%)
16620  loopr%=FNPtrToWork(ploopr%)
16630  PROCUpdateLoopP
16640ENDIF
16650ENDPROC
16660
16670DEFPROCLoopHalf
16680ploopr%=ploopl%+(ploopr%-ploopl%)/2
16690loopl%=FNPtrToWork(ploopl%)
16700loopr%=FNPtrToWork(ploopr%)
16710PROCUpdateLoopP
16720ENDPROC
16730
16740DEFPROCLoopDouble
16750ploopr%=ploopl%+(ploopr%-ploopl%)*2
16760IF ploopr%>samplelen% THEN ploopl%=ploopl%-(ploopr%-samplelen%):ploopr%=samplelen%
16770IF ploopl%<0 THEN ploopl%=0
16780loopl%=FNPtrToWork(ploopl%)
16790loopr%=FNPtrToWork(ploopr%)
16800PROCUpdateLoopP
16810ENDPROC
16820
16830DEFPROCLoopStore
16840sploopl%=ploopl%:sploopr%=ploopr%
16850ENDPROC
16860
16870DEFPROCLoopRestore
16880ploopl%=sploopl%:ploopr%=sploopr%
16890IF ploopl%<0 THEN ploopl%=0
16900IF ploopr%<0 THEN ploopr%=0
16910IF ploopl%>samplelen% THEN ploopl%=samplelen%
16920IF ploopr%>samplelen% THEN ploopr%=samplelen%
16930loopl%=FNPtrToWork(ploopl%)
16940loopr%=FNPtrToWork(ploopr%)
16950PROCUpdateLoopP
16960ENDPROC
16970
16980DEFPROCMGoodies
16990IF pselectl%<>-1 AND pselectr%<>-1 THEN
17000  A%=startsample%+pselectl%
17010  B%=startsample%+pselectr%
17020ELSE
17030  A%=startsample%
17040  B%=startsample%+samplelen%
17050ENDIF
17060IF A%>B% THEN SWAP A%,B%
17070m%=polledb%!4
17080CASE m% OF
17090  WHEN 0:PROCMGSigned
17100  WHEN 1:PROCMGLinLog
17110  WHEN 2:PROCMGLogLin
17120  WHEN 3:PROCMGReverse
17130  WHEN 4:PROCMGFiltLo
17140  WHEN 5:PROCMGFiltHi
17150  WHEN 6:PROCMGScAmp
17160  WHEN 9:PROCMGLength
17170  WHEN 10:PROCMGFill
17180  WHEN 11:PROCMGFFT
17190  WHEN 12:PROCMGAddClipB
17200ENDCASE
17210ENDPROC
17220
17230DEFPROCMGSigned
17240CALLsigned
17250PROCRdWork
17260PROCModTitle(0)
17270ENDPROC
17280
17290DEFPROCMGLinLog
17300IF stype%<>0 AND stype%<>1 THEN
17310  PROCReportErr("SFXED not in lineair mode.")
17320ELSE
17330  SYS"SFXMP_Stop",1:SYS"SFXMP_Stop",2:SYS"SFXMP_Stop",3
17340  C%=stype%
17350  CALLlinlog
17360  stype%=2
17370  PROCAdjTypeM
17380  PROCRdWork
17390  PROCModTitle(0)
17400ENDIF
17410ENDPROC
17420
17430DEFPROCMGLogLin
17440SYS"SFXMP_Stop",1:SYS"SFXMP_Stop",2:SYS"SFXMP_Stop",3
17450CALLloglin
17460stype%=0
17470PROCAdjTypeM
17480PROCRdWork
17490PROCModTitle(0)
17500ENDPROC
17510
17520DEFPROCMGReverse
17530CALLreverse
17540PROCRdWork
17550PROCModTitle(0)
17560ENDPROC
17570
17580DEFPROCMGFiltLo
17590IF stype%=2 THEN
17600  PROCReportErr("Only for lineair samples.")
17610ELSE
17620  C%=16*VAL($(mfiltlo%!40))
17630  IF C%<0 OR C%>4095 THEN
17640    PROCReportErr("Only values from 0 to 256.")
17650  ELSE
17660    D%=stype%
17670    E%=A%?0
17680    IF stype%=1 THEN E%=E% EOR &80
17690    E%=(E%<<24)>>24
17700    E%=E%*256
17710    CALLfiltlo
17720    PROCRdWork
17730    PROCModTitle(0)
17740  ENDIF
17750ENDIF
17760ENDPROC
17770
17780DEFPROCMGFiltHi
17790IF stype%=2 THEN
17800  PROCReportErr("Only for lineair samples.")
17810ELSE
17820  C%=16*VAL($(mfilthi%!40))
17830  IF C%<0 OR C%>4095 THEN
17840    PROCReportErr("Only values from 0 to 256")
17850  ELSE
17860    D%=stype%
17870    IF A%=startsample% THEN E%=0 ELSE E%=A%?0
17880    IF stype%=1 THEN E%=E% EOR &80
17890    E%=(E%<<24)>>24
17900    E%=E%*256
17910    CALLfilthi
17920    PROCRdWork
17930    PROCModTitle(0)
17940  ENDIF
17950ENDIF
17960ENDPROC
17970
17980DEFPROCMGScAmp
17990IF stype%=2 THEN
18000  PROCReportErr("Only for lineair samples.")
18010ELSE
18020  C%=4096*VAL($(mscamp%!40))/100
18030  D%=stype%
18040  CALLscamp
18050  PROCRdWork
18060  PROCModTitle(0)
18070ENDIF
18080ENDPROC
18090
18100DEFPROCMGLength
18110fr=VAL($(mnewlen%!40))/100
18120sa%=A%-startsample%
18130sb%=B%-startsample%
18140c%=FNCheckLen(samplelen%+clipblen%+(sb%-sa%)*(fr-1),"No room for stretch.")
18150IF c%=0 THEN
18160  sc%=fr*&1000000
18170  IF sc%>=&1000000 THEN
18180    A%=startsample%+sb%
18190    B%=startsample%+sa%+(sb%-sa%)*fr
18200    C%=samplelen%-sb%
18210    CALLcopymem
18220  ENDIF
18230  A%=startsample%+sa%
18240  B%=startsample%+sb%
18250  C%=sc%
18260  IF sc%<&1000000 THEN
18270    IF fr<>0 THEN C%=&1000000/fr:CALLnwlengths
18280  ELSE
18290    C%=&1000000/fr
18300    D%=startsample%+sa%+(sb%-sa%)*fr
18310    CALLnwlengthb
18320  ENDIF
18330  IF sc%<&1000000 THEN
18340    A%=startsample%+sb%
18350    B%=startsample%+sa%+(sb%-sa%)*fr
18360    C%=samplelen%-sb%
18370    CALLcopymem
18380  ENDIF
18390  IF ploopl%>sa% THEN ploopl%=ploopl%-(sb%-sa%)+(sb%-sa%)*fr
18400  IF ploopr%>sa% THEN ploopr%=ploopr%-(sb%-sa%)+(sb%-sa%)*fr
18410  PROCgetwinp
18420  samplelen%=samplelen%-(sb%-sa%)+(sb%-sa%)*fr
18430  IF samplelen%<1 THEN samplelen%=1:startsample%?0=0:startsample%?1=0
18440  PROCCheckLoop
18450  PROCCheckSong
18460  PROCadjptrs
18470  PROCZoomSel
18480  PROCModTitle(0)
18490ENDIF
18500ENDPROC
18510
18520DEFPROCMGFill
18530IF stype%=1 THEN C%=128 ELSE C%=0
18540CALLfillmem
18550PROCRdWork
18560PROCModTitle(0)
18570ENDPROC
18580
18590DEFPROCMGFFT
18600IF stype%=2 THEN
18610  PROCReportErr("Only for lineair samples.")
18620ELSE
18630  C%=VAL($(mfftamp%!40))
18640  IF C%<0 THEN C%=0
18650  SYS"Hourglass_On"
18660  SYS"Wimp_BaseOfSprites"TO,S%
18670  SYS"OS_SpriteOp",60+256,S%,"fftsprite",0
18680  CLG:VDU5
18690  LINE 512,512,0,256
18700  LINE 512,512,1024,256
18710  LINE 512,512,512,1024
18720  MOVE 8,212
18730  PRINT"f";
18740  LINE 26,232,0,220
18750  LINE 12,220,0,220
18760  LINE 8,228,0,220
18770  MOVE 1000,212
18780  PRINT"t";
18790  LINE 996,232,1022,220
18800  LINE 1010,220,1022,220
18810  LINE 1014,228,1022,220
18820  MOVE 490,1020
18830  PRINT"A";
18840  LINE 480,1020,480,988
18850  LINE 476,1008,480,1020
18860  LINE 484,1008,480,1020
18870
18880  fftcode%!4=A%
18890  fftcode%!8=B%
18900  fftcode%!12=0
18910  IF (B%-A%)<128 THEN fftcode%!16=0 ELSE fftcode%!16=64*(B%-A%)
18920  fftcode%!20=0
18930  fftcode%!24=stype%
18940  fftcode%!28=C%
18950  fftcode%!32=512
18960  fftcode%!36=512
18970  fftcode%!40=fftrcoef%
18980  fftcode%!44=ffticoef%
18990  CALLfftcode%
19000
19010  SYS"OS_SpriteOp",60+256,S%,0,0
19020  temp%!0=wffth%
19030  SYS"Wimp_CloseWindow",,temp%
19040  SYS"Wimp_GetWindowState",,temp%
19050  temp%!28=-1
19060  SYS"Wimp_OpenWindow",,temp%
19070  SYS"Hourglass_Off"
19080ENDIF
19090ENDPROC
19100
19110DEFPROCMGAddClipB
19120IF stype%=2 THEN
19130  PROCReportErr("Only for lineair samples.")
19140ELSE
19150  IF B%-A%>clipblen% THEN C%=clipblen% ELSE C%=B%-A%
19160  B%=clipbstart%
19170  D%=stype%
19180  CALLaddclip
19190  PROCRdWork
19200  PROCModTitle(0)
19210ENDIF
19220ENDPROC
19230
19240DEFPROCEchoClick
19250IF pselectl%<>-1 AND pselectr%<>-1 THEN
19260  A%=startsample%+pselectl%
19270  B%=startsample%+pselectr%
19280ELSE
19290  A%=startsample%
19300  B%=startsample%+samplelen%
19310ENDIF
19320IF A%>B% THEN SWAP A%,B%
19330IF polledb%!16=8 THEN
19340  MOUSE a%,b%,bc%
19350  IF stype%=2 THEN
19360    PROCReportErr("Only for lineair samples.")
19370  ELSE
19380    temp%!0=wechoh%
19390    temp%!4=2
19400    SYS"Wimp_GetIconState",,temp%
19410    C%=256-(256*VAL($(temp%!28))/100)
19420    temp%!0=wechoh%
19430    temp%!4=3
19440    SYS"Wimp_GetIconState",,temp%
19450    D%=VAL($(temp%!28))
19460    temp%!0=wechoh%
19470    temp%!4=6
19480    SYS"Wimp_GetIconState",,temp%
19490    E%=(temp%!24)AND(1<<21)
19500    F%=stype%
19510    IF C%<0 OR C%>256 THEN
19520      PROCReportErr("Decay rate out of range.")
19530    ELSE
19540      CALLecho
19550      PROCRdWork
19560      PROCModTitle(0)
19570    ENDIF
19580  ENDIF
19590  IF (bc% AND 1)=0 THEN SYS"Wimp_CreateMenu",-1,-1,-1,-1
19600ENDIF
19610ENDPROC
19620
19630DEFPROCFadeClick
19640IF pselectl%<>-1 AND pselectr%<>-1 THEN
19650  A%=startsample%+pselectl%
19660  B%=startsample%+pselectr%
19670ELSE
19680  A%=startsample%
19690  B%=startsample%+samplelen%
19700ENDIF
19710IF A%>B% THEN SWAP A%,B%
19720IF polledb%!16=6 THEN
19730  MOUSE a%,b%,bc%
19740  IF stype%=2 THEN
19750    PROCReportErr("Only for lineair samples.")
19760  ELSE
19770    temp%!0=wfadeh%
19780    temp%!4=2
19790    SYS"Wimp_GetIconState",,temp%
19800    C%=&10000000*VAL($(temp%!28))/100
19810    temp%!0=wfadeh%
19820    temp%!4=3
19830    SYS"Wimp_GetIconState",,temp%
19840    D%=&10000000*VAL($(temp%!28))/100
19850    IF B%-A%<>0 THEN
19860      E%=(D%-C%)/(B%-A%)
19870      F%=stype%
19880      CALLfade
19890      PROCRdWork
19900      PROCModTitle(0)
19910    ENDIF
19920  ENDIF
19930  IF (bc% AND 1)=0 THEN SYS"Wimp_CreateMenu",-1,-1,-1,-1
19940ENDIF
19950ENDPROC
19960
19970DEFPROCUser_Message
19980FORT%=0TO255STEP4:messbk%!T%=polledb%!T%:NEXTT%
19990m%=polledb%!16
20000CASE m% OF
20010  WHEN 0:PROCQuit
20020  WHEN 1:PROCDataSave
20030  WHEN 2:PROCSaveAck
20040  WHEN 3:PROCDataLoad
20050  WHEN &400c0:PROCMenuWarning
20060  WHEN &9abc0:polledb%!8=1:PROCMType
20070  WHEN &9abc1:polledb%!8=2:PROCMType
20080  WHEN &9abc2:polledb%!8=0:PROCMType
20090  WHEN &9abc3:PROCMessGetLen
20100  WHEN &9abc4:PROCCalculated
20110ENDCASE
20120ENDPROC
20130
20140DEFPROCDataLoad
20150CASE polledb%!20 OF
20160  WHEN -2,wworkh%:PROCLoadSample
20170ENDCASE
20180ENDPROC
20190
20200DEFPROCMessGetLen
20210SYS"SFXMP_Stop",1:SYS"SFXMP_Stop",2:SYS"SFXMP_Stop",3
20220temp%!20=bufstart%
20230temp%!24=buflen%-clipblen%
20240PROCSendSFXM(&9abc5)
20250ENDPROC
20260
20270DEFPROCCalculated
20280SYS"SFXMP_Stop",1:SYS"SFXMP_Stop",2:SYS"SFXMP_Stop",3
20290startsample%=bufstart%
20300samplelen%=polledb%!20
20310stype%=polledb%!24
20320PROCAdjTypeM
20330selectl%=-1:selectr%=-1:oselectl%=-1:oselectr%=-1
20340pselectl%=-1:pselectr%=-1
20350ploopl%=0:ploopr%=samplelen%
20360$(wwork%!72)=$(polledb%+28)
20370samplesaved%=-1
20380PROCOpenWork
20390PROCCheckSong
20400PROCZoomAll
20410SYS"XWimp_SetCaretPosition",wkeyboardh%,-1,-1,-1,-1,-1
20420ENDPROC
20430
20440DEFPROCSendSFXM(M%)
20450H%=FNGetSFXMH
20460IF H%<>0 THEN
20470  temp%!0=256
20480  temp%!4=0
20490  temp%!8=0
20500  temp%!12=0
20510  temp%!16=M%
20520  SYS"Wimp_SendMessage",17,temp%,H%
20530ENDIF
20540ENDPROC
20550
20560DEFFNGetSFXMH
20570SYS"XOS_ReadVarVal","SFXM_TaskHandle",temp2%,16,0,0TO,,A%
20580temp2%?A%=13
20590IF A%=0 THEN =0 ELSE =EVAL("&"+$temp2%)
20600
20610DEFPROCLoadSample
20620SYS"SFXMP_Stop",1:SYS"SFXMP_Stop",2:SYS"SFXMP_Stop",3
20630PROCMBString(polledb%+44)
20640filetoload$=$(polledb%+44)
20650filetype%=polledb%!40
20660IF samplesaved%=-1 THEN
20670  PROCLoadSample2
20680ELSE
20690  A%=FNConfirm("Sample has been modified. Are you sure you want to load another sample?")
20700  IF A%=1 THEN PROCLoadSample2
20710ENDIF
20720messbk%!0=256
20730messbk%!12=messbk%!8
20740messbk%!16=4
20750SYS"Wimp_SendMessage",17,messbk%,messbk%!4
20760ENDPROC
20770
20780DEFPROCLoadSample2
20790LOCAL ERROR
20800ON ERROR LOCAL PROCReportErr(REPORT$):ENDPROC
20810f%=OPENIN(filetoload$)
20820IF f%=0 THEN
20830  samplelen%=1
20840  startsample%?0=0
20850  startsample%?1=0
20860  CLOSE#f%
20870ELSE
20880  filelen%=EXT#f%
20890  CLOSE#f%
20900  c%=FNCheckLen(filelen%+clipblen%,"No room.")
20910  IF c%=0 THEN
20920    f%=OPENIN(filetoload$)
20930    startsample%=bufstart%
20940    CASE filetype% OF
20950      WHEN &cb5:PROCLoadSa1
20960      WHEN &d3c:PROCLoadSa2
20970      WHEN &df9:PROCLoadSa3
20980      WHEN &ed0:PROCLoadSa4
20990      WHEN &d3b:PROCLoadSong
21000      OTHERWISE:PROCLoadSaX
21010    ENDCASE
21020    CLOSE#f%
21030    selectl%=-1:selectr%=-1:oselectl%=-1:oselectr%=-1
21040    pselectl%=-1:pselectr%=-1
21050    IF filetoload$="<Wimp$Scrap>" THEN
21060      OSCLI("delete <Wimp$Scrap>")
21070      filetoload$=filetoload2$
21080    ENDIF
21090    $(wwork%!72)=filetoload$
21100    IF filetype%=&d3b THEN
21110      temp%!0=wsaveassongh%
21120      temp%!4=1
21130      SYS"Wimp_GetIconState",,temp%
21140      $(!(temp%+28))=filetoload$
21150    ELSE
21160      temp%!0=wsaveassa1h%
21170      temp%!4=1
21180      SYS"Wimp_GetIconState",,temp%
21190      $(!(temp%+28))=filetoload$
21200      temp%!0=wsaveassa2h%
21210      temp%!4=1
21220      SYS"Wimp_GetIconState",,temp%
21230      $(!(temp%+28))=filetoload$
21240      temp%!0=wsaveassa3h%
21250      temp%!4=1
21260      SYS"Wimp_GetIconState",,temp%
21270      $(!(temp%+28))=filetoload$
21280      temp%!0=wsaveassa4h%
21290      temp%!4=1
21300      SYS"Wimp_GetIconState",,temp%
21310      $(!(temp%+28))=filetoload$
21320      temp%!0=wsaveassa5h%
21330      temp%!4=1
21340      SYS"Wimp_GetIconState",,temp%
21350      $(!(temp%+28))=filetoload$
21360      temp%!0=wsaveassa6h%
21370      temp%!4=1
21380      SYS"Wimp_GetIconState",,temp%
21390      $(!(temp%+28))=filetoload$
21400      temp%!0=wsaveasmoh%
21410      temp%!4=1
21420      SYS"Wimp_GetIconState",,temp%
21430      $(!(temp%+28))=filetoload$
21440    ENDIF
21450    samplesaved%=-1
21460    PROCCheckSong
21470    PROCOpenWork
21480    PROCZoomAll
21490  ENDIF
21500ENDIF
21510ENDPROC
21520
21530DEFPROCLoadSong
21540PROCClearSong
21550INPUT#f%,a$,pitch%,songlen%,samplelen%
21560IF a$="RgnosXFS" THEN songrep%=-1:a$="gnosXFS" ELSE songrep%=0
21570T%=0
21580WHILE T%<songlen%
21590  INPUT#f%,b$,A%,B%,C%,D%,E%
21600  D%=D%*16
21610  IF a$<>"gnosXFS" THEN E%=255
21620  IF A%<0 THEN A%=0
21630  IF B%<0 THEN B%=0
21640  IF A%>samplelen% THEN A%=samplelen%
21650  IF B%>samplelen% THEN B%=samplelen%
21660  IF C%<1 THEN C%=1
21670  IF C%>255 THEN C%=255
21680  IF D%<1 THEN D%=1
21690  IF D%>&10000 THEN D%=&10000
21700  IF E%<2 THEN E%=2
21710  IF E%>255 THEN E%=255
21720  IF T%<INT(songbuflen%/32) THEN
21730    $(songstart%+T%*32)=LEFT$(b$,10)
21740    songstart%!(T%*32+12)=C%
21750    songstart%!(T%*32+16)=D%
21760    songstart%!(T%*32+20)=E%
21770    songstart%!(T%*32+24)=A%
21780    songstart%!(T%*32+28)=B%
21790  ENDIF
21800  T%+=1
21810ENDWHILE
21820SYS"OS_GBPB",4,f%,startsample%,samplelen%
21830PROCSetPitch2
21840PROCAdjSongM
21850PROCRdSong
21860PROCSetSongExtent
21870ploopl%=0:ploopr%=samplelen%
21880ENDPROC
21890
21900DEFPROCLoadSa1
21910SYS"OS_GBPB",3,f%,temp%,4,0
21920IF !temp%<>&504d4153 THEN
21930  SYS"OS_GBPB",3,f%,startsample%,filelen%,0
21940  samplelen%=filelen%
21950  ploopl%=0:ploopr%=2
21960ELSE
21970  samplelen%=-1
21980  ploopl%=-1
21990  ploopr%=-1
22000  N%=0:T%=0
22010  WHILE N%=0 AND (samplelen%=-1 OR ploopl%=-1 OR ploopr%=-1)
22020    SYS"OS_GBPB",3,f%,temp%,4,T%TO,,,,T%
22030    CASE !temp% OF
22040      WHEN &53464f52:SYS"OS_GBPB",3,f%,temp%,8,T%TO,,,,T%:ploopl%=temp%!4
22050      WHEN &4e454c52:SYS"OS_GBPB",3,f%,temp%,8,T%TO,,,,T%:ploopr%=temp%!4
22060      WHEN &54414453:SYS"OS_GBPB",3,f%,temp%,4,T%TO,,,,T%:samplelen%=temp%!0:SYS"OS_GBPB",3,f%,startsample%,samplelen%,T%TO,,,,T%
22070    ENDCASE
22080    SYS"OS_Args",254,f%TON%
22090    N%=N%AND(1<<9)
22100  ENDWHILE
22110  IF samplelen%=-1 THEN PROCReportErr("Bad Chunk."):samplelen%=1:ploopl%=0:ploopr%=1
22120  IF ploopl%=-1 OR ploopr%=-1 THEN PROCReportErr("Bad Chunk."):ploopl%=0:ploopr%=samplelen%
22130  ploopr%=ploopl%+ploopr%
22140ENDIF
22150stype%=2
22160PROCAdjTypeM
22170IF ploopl%=0 AND ploopr%=2 THEN playtype%=0 ELSE playtype%=3
22180PROCAdjKeys
22190IF ploopl%<0 THEN ploopl%=0
22200IF ploopl%>samplelen% THEN ploopl%=samplelen%:ploopr%=samplelen%
22210IF ploopr%>samplelen% THEN ploopr%=samplelen%
22220IF ploopr%<0 THEN ploopl%=0:ploopr%=0
22230IF ploopr%<ploopl% THEN ploopr%=ploopl%
22240ENDIF
22250ENDPROC
22260
22270DEFPROCLoadSa2
22280SYS"OS_GBPB",3,f%,startsample%,1,0
22290pitch%=?startsample%
22300PROCSetPitch2
22310SYS"OS_GBPB",3,f%,startsample%,filelen%-1,1
22320samplelen%=filelen%-1
22330ploopl%=0:ploopr%=samplelen%
22340stype%=0
22350PROCAdjTypeM
22360ENDPROC
22370
22380DEFPROCLoadSa3
22390SYS"OS_GBPB",3,f%,temp%,4,20
22400samplelen%=temp%!0
22410SYS"OS_GBPB",3,f%,temp%,4,24
22420ploopl%=(temp%!0)*256
22430SYS"OS_GBPB",3,f%,temp%,4,28
22440ploopr%=(temp%!0)*256
22450SYS"OS_GBPB",3,f%,startsample%,samplelen%,544
22460stype%=0
22470PROCAdjTypeM
22480IF ploopl%=ploopr% THEN playtype%=0 ELSE playtype%=3
22490PROCAdjKeys
22500IF ploopl%<0 THEN ploopl%=0
22510IF ploopl%>samplelen% THEN ploopl%=samplelen%:ploopr%=samplelen%
22520IF ploopr%>samplelen% THEN ploopr%=samplelen%
22530IF ploopr%<0 THEN ploopl%=0:ploopr%=0
22540IF ploopr%<ploopl% THEN ploopr%=ploopl%
22550ENDPROC
22560
22570DEFPROCLoadSa4
22580SYS"OS_GBPB",3,f%,startsample%,filelen%,0
22590samplelen%=filelen%
22600ploopl%=0:ploopr%=samplelen%
22610stype%=1
22620PROCAdjTypeM
22630ENDPROC
22640
22650DEFPROCLoadSaX
22660SYS"OS_GBPB",3,f%,startsample%,filelen%,0
22670samplelen%=filelen%
22680ploopl%=0:ploopr%=samplelen%
22690ENDPROC
22700
22710DEFPROCAdjKeys
22720temp%!0=wkeyboardh%
22730temp%!4=43
22740IF playtype%=0 THEN temp%!8=1<<21 ELSE temp%!8=0
22750temp%!12=1<<21
22760SYS"Wimp_SetIconState",,temp%
22770temp%!4=44
22780IF playtype%=1 THEN temp%!8=1<<21 ELSE temp%!8=0
22790temp%!12=1<<21
22800SYS"Wimp_SetIconState",,temp%
22810temp%!4=45
22820IF playtype%=2 THEN temp%!8=1<<21 ELSE temp%!8=0
22830temp%!12=1<<21
22840SYS"Wimp_SetIconState",,temp%
22850temp%!4=46
22860IF playtype%=3 THEN temp%!8=1<<21 ELSE temp%!8=0
22870temp%!12=1<<21
22880SYS"Wimp_SetIconState",,temp%
22890ENDPROC
22900
22910DEFPROCMenuWarning
22920IF (lastmenu%=workmenu%) AND (polledb%!32=0) AND (polledb%!36=0) THEN PROCNewMenuInfo
22930IF (lastmenu%=workmenu%) AND (polledb%!32=1) AND (polledb%!40=-1) THEN PROCNewMenuSave
22940IF (lastmenu%=workmenu%) AND (polledb%!32=1) AND (polledb%!40<>-1) THEN PROCNewMenuWSave
22950IF (lastmenu%=workmenu%) AND (polledb%!32=7) AND (polledb%!36<>-1) THEN PROCNewMenuSSave
22960ENDPROC
22970
22980DEFPROCNewMenuSave
22990CASE polledb%!36 OF
23000  WHEN 0:savedata%=0:$savemenu2%="All"
23010  WHEN 1:savedata%=1:$savemenu2%="Selected"
23020  WHEN 2:savedata%=2:$savemenu2%="Clipboard"
23030ENDCASE
23040SYS"Wimp_CreateSubMenu",,polledb%!20,polledb%!24,polledb%!28
23050ENDPROC
23060
23070DEFPROCNewMenuWSave
23080CASE polledb%!40 OF
23090  WHEN 0:savedt%=0
23100  WHEN 1:savedt%=1
23110  WHEN 2:savedt%=2
23120  WHEN 3:savedt%=3
23130  WHEN 4:savedt%=4
23140  WHEN 5:savedt%=5
23150  WHEN 6:savedt%=6
23160ENDCASE
23170SYS"Wimp_CreateSubMenu",,polledb%!20,polledb%!24,polledb%!28
23180ENDPROC
23190
23200DEFPROCNewMenuSSave
23210CASE polledb%!36 OF
23220  WHEN 2:savedt%=10:savedata%=0
23230  WHEN 3:savedt%=11:savedata%=0
23240ENDCASE
23250SYS"Wimp_CreateSubMenu",,polledb%!20,polledb%!24,polledb%!28
23260ENDPROC
23270
23280DEFPROCNewMenuInfo
23290temp%!0=winfoh%
23300temp%!4=5
23310SYS"Wimp_GetIconState",,temp%
23320$(temp%!28)=STR$buflen%
23330temp%!4=6
23340SYS"Wimp_GetIconState",,temp%
23350$(temp%!28)=STR$samplelen%
23360temp%!4=7
23370SYS"Wimp_GetIconState",,temp%
23380$(temp%!28)=STR$clipblen%
23390temp%!4=8
23400SYS"Wimp_GetIconState",,temp%
23410IF pselectl%<>-1 AND pselectr%<>-1 THEN $(temp%!28)=STR$(pselectr%-pselectl%) ELSE $(temp%!28)=""
23420temp%!4=9
23430SYS"Wimp_GetIconState",,temp%
23440IF pselectl%<>-1 THEN $(temp%!28)=STR$pselectl% ELSE $(temp%!28)=""
23450temp%!4=16
23460SYS"Wimp_GetIconState",,temp%
23470IF pselectr%<>-1 THEN $(temp%!28)=STR$pselectr% ELSE $(temp%!28)=""
23480temp%!4=20
23490SYS"Wimp_GetIconState",,temp%
23500$(temp%!28)=STR$ploopl%
23510temp%!4=21
23520SYS"Wimp_GetIconState",,temp%
23530$(temp%!28)=STR$ploopr%
23540SYS"Wimp_CreateSubMenu",,polledb%!20,polledb%!24,polledb%!28
23550ENDPROC
23560
23570DEFPROCCloseDown
23580IF samplesaved%=-1 THEN
23590  PROCQuit
23600ELSE
23610  A%=FNConfirm("Sample has been modified. Are you sure you want to quit?")
23620  IF A%=1 THEN PROCQuit
23630ENDIF
23640ENDPROC
23650
23660DEFPROCQuit
23670PROCSendSFXM(0)
23680SYS"SFXMP_Stop",1
23690SYS"SFXMP_Stop",2
23700SYS"SFXMP_Stop",3
23710SYS"SFXMP_Disable"
23720SYS"XOS_SetVarVal","SFXED_TaskHandle","",-1,0,0
23730SYS"Wimp_BaseOfSprites"TO,S%
23740SYS"XOS_SpriteOp",25+256,S%,"fftsprite"
23750IF bufstart%<>-1 THEN SYS"XOS_Module",7,,bufstart%
23760IF songstart%<>-1 THEN SYS"XOS_Module",7,,songstart%
23770SYS"Hourglass_Smash"
23780SYS"Wimp_CloseDown",taskh%,&4b534154
23790SYS"OS_Exit"
23800ENDPROC
23810
23820DEFPROCSetExtent
23830maxx%=1024*samplelen%/displen%
23840temp%!0=0
23850temp%!4=-256
23860temp%!8=maxx%
23870temp%!12=0
23880SYS"Wimp_SetExtent",wworkh%,temp%
23890ENDPROC
23900
23910DEFPROCSetSongExtent
23920temp%!0=0
23930temp%!4=-(96+songlen%*36+36)
23940temp%!8=604
23950temp%!12=0
23960SYS"Wimp_SetExtent",wsongh%,temp%
23970temp%!0=wsongh%
23980SYS"Wimp_GetWindowState",,temp%
23990IF (temp%!32)AND(1<<16) THEN SYS"Wimp_OpenWindow",,temp%
24000ENDPROC
24010
24020DEFPROCInit
24030DIM temp% 1000
24040DIM temp2% 1000
24050DIM messbk% 512
24060bufstart%=-1
24070songstart%=-1
24080SYS"Wimp_Initialise",200,&4b534154,"SFXED"TOversion%,taskh%
24090IF version%<200 THEN SYS"Wimp_CloseDown",taskh%,&4b534154:SYS"OS_Exit"
24100SYS"XOS_ReadVarVal","SFXED_TaskHandle",temp2%,16,0,0TO,,A%
24110IF A%<>0 THEN
24120  PROCReportErr("SFXED already running.")
24130  SYS"Wimp_CloseDown",taskh%,&4b534154
24140  SYS"OS_Exit"
24150ENDIF
24160SYS"Hourglass_On"
24170SYS"XOS_SetVarVal","SFXED_TaskHandle",STR$~taskh%,8,0,0
24180DIM smodlog% 512
24190DIM smodslin% 512
24200DIM smodulin% 512
24210DIM smodsong% 1024
24220DIM fftcode% 3000
24230DIM fftrcoef% 128*4
24240DIM ffticoef% 128*4
24250OSCLI("LOAD <SFXED$Dir>.pmlog "+STR$~smodlog%)
24260OSCLI("LOAD <SFXED$Dir>.pmslin "+STR$~smodslin%)
24270OSCLI("LOAD <SFXED$Dir>.pmulin "+STR$~smodulin%)
24280OSCLI("LOAD <SFXED$Dir>.pmsong "+STR$~smodsong%)
24290OSCLI("LOAD <SFXED$Dir>.fftcode "+STR$~fftcode%)
24300SYS"Wimp_SpriteOp",11,,"<SFXED$Dir>.Sprites"
24310SYS"Wimp_OpenTemplate",,"<SFXED$Dir>.Templates"
24320DIM wsaveassa1% 1000
24330DIM wsaveassa2% 1000
24340DIM wsaveassa3% 1000
24350DIM wsaveassa4% 1000
24360DIM wsaveassa5% 1000
24370DIM wsaveassa6% 1000
24380DIM wsaveassong% 1000
24390DIM wsavesongmo% 1000
24400DIM wsaveasmo% 1000
24410DIM wabout% 1000
24420DIM wkeyboard% 4000
24430DIM wwork% 1000
24440DIM winfo% 1000
24450DIM wecho% 1000
24460DIM wfade% 1000
24470DIM wpos% 1000
24480DIM wfft% 1000
24490DIM wsong% 1000
24500DIM wsongpane% 1000
24510DIM icbuf% 4000
24520icbufn%=icbuf%
24530DIM tname% 16
24540next%=0
24550PROCLoadTemp(wsaveassa1%,"saveassa1")
24560PROCLoadTemp(wsaveassa2%,"saveassa2")
24570PROCLoadTemp(wsaveassa3%,"saveassa3")
24580PROCLoadTemp(wsaveassa4%,"saveassa4")
24590PROCLoadTemp(wsaveassa5%,"saveassa5")
24600PROCLoadTemp(wsaveassa6%,"saveassa6")
24610PROCLoadTemp(wsaveassong%,"saveassong")
24620PROCLoadTemp(wsavesongmo%,"savesongmo")
24630PROCLoadTemp(wabout%,"about")
24640PROCLoadTemp(wkeyboard%,"keyboard")
24650PROCLoadTemp(wsaveasmo%,"saveasmo")
24660PROCLoadTemp(wfade%,"fade")
24670PROCLoadTemp(wecho%,"echo")
24680PROCLoadTemp(winfo%,"info")
24690PROCLoadTemp(wwork%,"work")
24700PROCLoadTemp(wpos%,"pos")
24710PROCLoadTemp(wfft%,"fft")
24720PROCLoadTemp(wsong%,"song")
24730PROCLoadTemp(wsongpane%,"songpane")
24740SYS"Wimp_CloseTemplate"
24750SYS"Wimp_CreateWindow",,wsaveassa1%TOwsaveassa1h%
24760SYS"Wimp_CreateWindow",,wsaveassa2%TOwsaveassa2h%
24770SYS"Wimp_CreateWindow",,wsaveassa3%TOwsaveassa3h%
24780SYS"Wimp_CreateWindow",,wsaveassa4%TOwsaveassa4h%
24790SYS"Wimp_CreateWindow",,wsaveassa5%TOwsaveassa5h%
24800SYS"Wimp_CreateWindow",,wsaveassa6%TOwsaveassa6h%
24810SYS"Wimp_CreateWindow",,wsaveassong%TOwsaveassongh%
24820SYS"Wimp_CreateWindow",,wsavesongmo%TOwsavesongmoh%
24830SYS"Wimp_CreateWindow",,wsaveasmo%TOwsaveasmoh%
24840SYS"Wimp_CreateWindow",,wabout%TOwabouth%
24850SYS"Wimp_CreateWindow",,wkeyboard%TOwkeyboardh%
24860SYS"Wimp_CreateWindow",,wwork%TOwworkh%
24870SYS"Wimp_CreateWindow",,winfo%TOwinfoh%
24880SYS"Wimp_CreateWindow",,wecho%TOwechoh%
24890SYS"Wimp_CreateWindow",,wfade%TOwfadeh%
24900SYS"Wimp_CreateWindow",,wpos%TOwposh%
24910SYS"Wimp_CreateWindow",,wfft%TOwffth%
24920SYS"Wimp_CreateWindow",,wsong%TOwsongh%
24930SYS"Wimp_CreateWindow",,wsongpane%TOwsongpaneh%
24940PROCMenus
24950DIM bicon% 32
24960bicon%!0=-1
24970bicon%!4=0
24980bicon%!8=0
24990bicon%!12=68
25000bicon%!16=68
25010bicon%!20=%0011000000011010
25020$(bicon%+24)="!sfxed"
25030SYS"Wimp_CreateIcon",,bicon%TObiconh%
25040PROCAssem
25050DIM dragb% 256
25060DIM pollb% 256
25070DIM polledb% 256
25080*VOLUME 127
25090SYS"XSound_Configure",0,0,0,0,0TO,,,T%
25100DIM logtable% 256
25110!logtab=logtable%
25120FORS%=0TO255
25130  logtable%?S%=?((T%!8)+(S%<<5))
25140NEXTS%
25150DIM lintable% 256
25160!lintab=lintable%
25170FORS%=0TO127
25180  lintable%?(S%*2)=INT((0.5+267.33*2^(S%/16))/512)
25190  lintable%?(S%*2+1)=-lintable%?(S%*2)
25200NEXTS%
25210samplesaved%=-1
25220filetoload$="":filetoload2$=""
25230savedata%=-1
25240savedt%=-1
25250savetype%=-1
25260ss%=-1
25270oldbut%=0:lastmenu%=-1:lastmx%=-1:lastmy%=-1
25280dragtype%=-1
25290playtype%=0
25300maxx%=0
25310more%=0
25320stype%=0
25330releasek%=-1
25340multiplek%=-1
25350okt%=1
25360pdisphd%=0
25370pitch%=48
25380spitch%=&1000
25390ospitch%=&1000
25400SYS"XSound_Configure",0,0,pitch%,0,0
25410buflen%=&20000
25420songbuflen%=&1000
25430songrep%=0
25440VOICES4
25450VOICE2,"SFXMVoice"
25460VOICE3,"SFXMVoice"
25470VOICE4,"SFXMVoice"
25480SYS"SFXMP_Enable"
25490SYS"XOS_Module",6,,,songbuflen%+32TO,,songstart%;v%
25500IF v%AND1 THEN
25510  songstart%=-1
25520  PROCReportErr("Can't claim sample memory.")
25530  PROCQuit
25540ENDIF
25550SYS"XOS_Module",6,,,buflen%TO,,bufstart%;v%
25560IF v%AND1 THEN
25570  bufstart%=-1
25580  PROCReportErr("Can't claim sample memory.")
25590  PROCQuit
25600ENDIF
25610PROCRestart
25620PROCSetExtent
25630SYS"Hourglass_Off"
25640ENDPROC
25650
25660DEFPROCRestart
25670SYS"SFXMP_Stop",1:SYS"SFXMP_Stop",2:SYS"SFXMP_Stop",3
25680startsample%=bufstart%
25690samplelen%=1
25700clipbstart%=bufstart%+buflen%
25710clipblen%=0
25720displen%=1
25730selectl%=-1:oselectl%=-1:selectr%=-1:oselectr%=-1
25740pselectl%=-1:pselectr%=-1
25750playp%=-1
25760loopl%=0:loopr%=1024
25770oloopl%=0:oloopr%=1024
25780ploopl%=0:ploopr%=samplelen%
25790sploopl%=ploopl%:sploopr%=ploopr%
25800startsample%?0=0
25810startsample%?1=0
25820pos%=0:oldpos%=-1
25830zoomsl%=0:zoomsr%=samplelen%
25840PROCDrawPos
25850PROCClearSong
25860ENDPROC
25870
25880DEFPROCClearSong
25890SYS"SFXMP_Stop",1:SYS"SFXMP_Stop",2:SYS"SFXMP_Stop",3
25900songlen%=0
25910currsect%=0
25920temp%!0=wsongpaneh%
25930temp%!4=5
25940SYS"Wimp_GetIconState",,temp%
25950$(temp%!28)="1"
25960temp%!4=6
25970SYS"Wimp_GetIconState",,temp%
25980$(temp%!28)="<Untitled>"
25990temp%!4=7
26000SYS"Wimp_GetIconState",,temp%
26010$(temp%!28)="1"
26020temp%!4=8
26030SYS"Wimp_GetIconState",,temp%
26040$(temp%!28)="4096"
26050temp%!4=9
26060SYS"Wimp_GetIconState",,temp%
26070$(temp%!28)="255"
26080PROCSetSongExtent
26090PROCRdSong
26100PROCRdSongPane
26110ENDPROC
26120
26130DEFPROCModTitle(ss%)
26140LOCAL ti$
26150IF ss%=samplesaved% THEN ENDPROC
26160ti$=$(wwork%!72)
26170IF INSTR(ti$," ")<>0 THEN ti$=LEFT$(ti$,INSTR(ti$," ")-1)
26180IF ss%=0 THEN ti$=ti$+" *"
26190$(wwork%!72)=ti$
26200temp%!0=wworkh%
26210SYS"Wimp_GetWindowOutline",,temp%
26220SYS"Wimp_ForceRedraw",-1,temp%!4,temp%!16-40,temp%!12,temp%!16
26230samplesaved%=ss%
26240ENDPROC
26250
26260DEFPROCLoadTemp(RETURN start%,name$)
26270$tname%=name$
26280SYS"Wimp_LoadTemplate",,start%,icbufn%,icbuf%+4000,-1,tname%,0TO,start%,icbufn%,,,,next%
26290IF next%=0 THEN SYS"Wimp_CloseTemplate":ERROR 0,"Template "+name$+" not found"
26300ENDPROC
26310
26320DEFPROCReportErr(a$)
26330temp2%!0=0
26340$(temp2%+4)=a$
26350SYS"Wimp_ReportError",temp2%,1,"SFXED"
26360ENDPROC
26370
26380DEFFNConfirm(a$)
26390temp2%!0=0
26400$(temp2%+4)=a$
26410SYS"Wimp_ReportError",temp2%,%10011,"Confirm"TO,A%
26420=A%
26430
26440DEFFNinterr(a$)
26450temp2%!0=0
26460$(temp2%+4)=a$
26470SYS"Wimp_ReportError",temp2%,%10011,"SFXED Internal Error."TO,A%
26480=A%
26490
26500REM titlestring, width in chars.
26510DEFFNMenuHead(t$,w%)
26520LOCAL a%
26530a%=Menus%+MenuPtr%
26540$a%=t$
26550a%?12=7
26560a%?13=2
26570a%?14=7
26580a%?15=0
26590a%!16=w%*16
26600a%!20=44
26610a%!24=0
26620MenuPtr%+=28
26630=a%
26640
26650REM itemtext, flags, indirected, val. string, max. length
26660DEFPROCAddItem(i$,f%,i%,v$,ml%)
26670LOCAL a%
26680a%=Menus%+MenuPtr%
26690IF (LEN(i$)>11)AND(i%=0) THEN i%=-1:ml%=LEN(i$)+1
26700a%!0=f%AND255
26710IF f%AND 256 THEN a%!8=%00000111010000011001000000010001 ELSE a%!8=%00000111000000011001000000010001
26720a%!4=-1
26730IF i% THEN
26740  a%!8+=256
26750  $(MenuData%+MenuDataPtr%)=i$
26760  a%!12=MenuData%+MenuDataPtr%
26770  MenuDataPtr%+=LEN(i$)+1
26780  $(MenuData%+MenuDataPtr%)=v$
26790  a%!16=MenuData%+MenuDataPtr%
26800  MenuDataPtr%+=LEN(v$)+1
26810  a%!20=ml%
26820ELSE
26830  $(a%+12)=i$
26840ENDIF
26850MenuPtr%+=24
26860ENDPROC
26870
26880REM menu, item, submenupointer
26890DEFPROCAddSubMenu(m%,i%,p%)
26900m%!(28+24*i%+4)=p%
26910ENDPROC
26920
26930DEFPROCMenus
26940DIM Menus% 4000
26950DIM MenuData% 2000
26960MenuPtr%=0
26970MenuDataPtr%=0
26980
26990iconmenu%=FNMenuHead("SFXED",6)
27000PROCAddItem("Info",0,0,"",0)
27010PROCAddItem("Quit",128,0,"",0)
27020PROCAddSubMenu(iconmenu%,0,wabouth%)
27030
27040workmenu%=FNMenuHead("SFXED",8)
27050PROCAddItem("Misc",0,0,"",0)
27060PROCAddItem("Save",0,0,"",0)
27070PROCAddItem("Edit",0,0,"",0)
27080PROCAddItem("Select",0,0,"",0)
27090PROCAddItem("Zoom",0,0,"",0)
27100PROCAddItem("Loop",0,0,"",0)
27110PROCAddItem("Goodies",0,0,"",0)
27120PROCAddItem("Song",128,0,"",0)
27130miscmenu%=FNMenuHead("Misc",12)
27140PROCAddItem("Info",8,0,"",0)
27150PROCAddItem("Sample Type",0,0,"",0)
27160PROCAddItem("Set Buffer",0,0,"",0)
27170PROCAddItem("Restart",128,0,"",0)
27180typemenu%=FNMenuHead("Sample Type",17)
27190PROCAddItem("Logarithmic",0,0,"",0)
27200PROCAddItem("Signed Lineair",1,0,"",0)
27210PROCAddItem("Unsigned Lineair",128,0,"",0)
27220mbuflen%=FNMenuHead("Length (K)",11)
27230PROCAddItem("128",128+4,-1,"A0-9",5)
27240savemenu1%=FNMenuHead("Save",10)
27250PROCAddItem("All",8,0,"",0)
27260PROCAddItem("Selected",8,0,"",0)
27270PROCAddItem("Clipboard",128+8,0,"",0)
27280savemenu2%=FNMenuHead("           ",12)
27290PROCAddItem("Tracker",256+8,0,"",0)
27300PROCAddItem("Tracker_NH",256+8,0,"",0)
27310PROCAddItem("Armadeus",256+8,0,"",0)
27320PROCAddItem("DSEdit",256+8,0,"",0)
27330PROCAddItem("EMR",256+8,0,"",0)
27340PROCAddItem("Raw",256+8,0,"",0)
27350PROCAddItem("Module",256+136,0,"",0)
27360editmenu%=FNMenuHead("Edit",11)
27370PROCAddItem("Cut     ^X",0,0,"",0)
27380PROCAddItem("Copy    ^C",0,0,"",0)
27390PROCAddItem("Paste   ^V",0,0,"",0)
27400PROCAddItem("Delete  ^D",0,0,"",0)
27410PROCAddItem("Delete*",0,0,"",0)
27420PROCAddItem("DeleteL",0,0,"",0)
27430PROCAddItem("DeleteR",128,0,"",0)
27440selectmenu%=FNMenuHead("Select",10)
27450PROCAddItem("All    ^A",0,0,"",0)
27460PROCAddItem("Loop",0,0,"",0)
27470PROCAddItem("Left",0,0,"",0)
27480PROCAddItem("Right",0,0,"",0)
27490PROCAddItem("Window",0,0,"",0)
27500PROCAddItem("Clear  ^Z",128,0,"",0)
27510zoommenu%=FNMenuHead("Zoom",12)
27520PROCAddItem("All      ^Q",0,0,"",0)
27530PROCAddItem("Out      ^W",0,0,"",0)
27540PROCAddItem("Loop",0,0,"",0)
27550PROCAddItem("Selected ^S",0,0,"",0)
27560PROCAddItem("Remember ^T",0,0,"",0)
27570PROCAddItem("Recall   ^R",128,0,"",0)
27580loopmenu%=FNMenuHead("Loop",9)
27590PROCAddItem("All",0,0,"",0)
27600PROCAddItem("Window",0,0,"",0)
27610PROCAddItem("Selected",0,0,"",0)
27620PROCAddItem("Half",0,0,"",0)
27630PROCAddItem("Double",0,0,"",0)
27640PROCAddItem("Remember",0,0,"",0)
27650PROCAddItem("Recall",128,0,"",0)
27660goodiesmenu%=FNMenuHead("Goodies",12)
27670PROCAddItem("Signed",0,0,"",0)
27680PROCAddItem("Lin->Log",0,0,"",0)
27690PROCAddItem("Log->Lin",0,0,"",0)
27700PROCAddItem("Reverse",0,0,"",0)
27710PROCAddItem("Low Pass",0,0,"",0)
27720PROCAddItem("High Pass",0,0,"",0)
27730PROCAddItem("Amplify",0,0,"",0)
27740PROCAddItem("Echo/Reverb",0,0,"",0)
27750PROCAddItem("Fade In/Out",0,0,"",0)
27760PROCAddItem("Stretch",0,0,"",0)
27770PROCAddItem("Silence",0,0,"",0)
27780PROCAddItem("FFT",0,0,"",0)
27790PROCAddItem("Add Clipb.",128,0,"",0)
27800mfiltlo%=FNMenuHead("Low Pass",10)
27810PROCAddItem("32",128+4,-1,"A0-9",4)
27820mfilthi%=FNMenuHead("High Pass",10)
27830PROCAddItem("224",128+4,-1,"A0-9",4)
27840mscamp%=FNMenuHead("Volume %",10)
27850PROCAddItem("100",128+4,-1,"A0-9",5)
27860mnewlen%=FNMenuHead("Length %",10)
27870PROCAddItem("100",128+4,-1,"A0-9",5)
27880mfftamp%=FNMenuHead("Scale",10)
27890PROCAddItem("256",128+4,-1,"A0-9",6)
27900songmenu%=FNMenuHead("Song",12)
27910PROCAddItem("Play",0,0,"",0)
27920PROCAddItem("Show",0,0,"",0)
27930PROCAddItem("Save",256+8,0,"",0)
27940PROCAddItem("Save Module",256+8,0,"",0)
27950PROCAddItem("Clear",0,0,"",0)
27960PROCAddItem("Repeat",128,0,"",0)
27970PROCAddSubMenu(songmenu%,2,wsaveassongh%)
27980PROCAddSubMenu(songmenu%,3,wsavesongmoh%)
27990PROCAddSubMenu(workmenu%,0,miscmenu%)
28000PROCAddSubMenu(workmenu%,1,savemenu1%)
28010PROCAddSubMenu(workmenu%,2,editmenu%)
28020PROCAddSubMenu(workmenu%,3,selectmenu%)
28030PROCAddSubMenu(workmenu%,4,zoommenu%)
28040PROCAddSubMenu(workmenu%,5,loopmenu%)
28050PROCAddSubMenu(workmenu%,6,goodiesmenu%)
28060PROCAddSubMenu(workmenu%,7,songmenu%)
28070PROCAddSubMenu(miscmenu%,0,winfoh%)
28080PROCAddSubMenu(miscmenu%,1,typemenu%)
28090PROCAddSubMenu(miscmenu%,2,mbuflen%)
28100PROCAddSubMenu(savemenu1%,0,savemenu2%)
28110PROCAddSubMenu(savemenu1%,1,savemenu2%)
28120PROCAddSubMenu(savemenu1%,2,savemenu2%)
28130PROCAddSubMenu(savemenu2%,0,wsaveassa1h%)
28140PROCAddSubMenu(savemenu2%,1,wsaveassa2h%)
28150PROCAddSubMenu(savemenu2%,2,wsaveassa3h%)
28160PROCAddSubMenu(savemenu2%,3,wsaveassa4h%)
28170PROCAddSubMenu(savemenu2%,4,wsaveassa5h%)
28180PROCAddSubMenu(savemenu2%,5,wsaveassa6h%)
28190PROCAddSubMenu(savemenu2%,6,wsaveasmoh%)
28200PROCAddSubMenu(goodiesmenu%,4,mfiltlo%)
28210PROCAddSubMenu(goodiesmenu%,5,mfilthi%)
28220PROCAddSubMenu(goodiesmenu%,6,mscamp%)
28230PROCAddSubMenu(goodiesmenu%,7,wechoh%)
28240PROCAddSubMenu(goodiesmenu%,8,wfadeh%)
28250PROCAddSubMenu(goodiesmenu%,9,mnewlen%)
28260PROCAddSubMenu(goodiesmenu%,11,mfftamp%)
28270
28280sectmenu%=FNMenuHead("          ",15)
28290PROCAddItem("Insert Loop",0,0,"",0)
28300PROCAddItem("Append Loop",0,0,"",0)
28310PROCAddItem("Overwrite Loop",0,0,"",0)
28320PROCAddItem("Delete Loop",0,0,"",0)
28330PROCAddItem("Play to End",0,0,"",0)
28340PROCAddItem("Play Song",128,0,"",0)
28350ENDPROC
28360
28370DEFPROCAssem
28380DIM code% 5000
28390FOR pass%=0TO2STEP2
28400P%=code%
28410[       opt     pass%
28420.redrwk
28430stmfd   r13!,{r0-r12,r14}
28440ldmfd   r13,{r6-r12}
28450sub     r5,r8,r7
28460add     r0,r6,r5,asr #12
28470cmp     r0,r12
28480movmi   r0,#&80
28490bmi     skipfr
28500ldrb    r0,[r6,r5,asr #12]
28510cmp     r11,#0
28520eoreq   r0,r0,#&80
28530cmp     r11,#2
28540bne     P%+16
28550movs    r0,r0,lsr #1
28560rsbcs   r0,r0,#0
28570add     r0,r0,#128
28580.skipfr
28590add     r2,r0,r10
28600sub     r1,r9,#2
28610mov     r0,#4
28620swi     "OS_Plot"
28630mov     r12,#512
28640add     r12,r12,#1
28650add     r5,r5,r7
28660.drawloop
28670ldrb    r0,[r6,r5,asr #12]
28680cmp     r11,#0
28690eoreq   r0,r0,#&80
28700cmp     r11,#2
28710bne     P%+16
28720movs    r0,r0,lsr #1
28730rsbcs   r0,r0,#0
28740add     r0,r0,#128
28750add     r2,r0,r10
28760mov     r1,r9
28770mov     r0,#5
28780swi     "OS_Plot"
28790
28800add     r9,r9,#2
28810add     r5,r5,r7
28820subs    r12,r12,#1
28830bne     drawloop
28840
28850ldmfd   r13!,{r0-r12,pc}
28860
28870.fillmem
28880stmfd   r13!,{r0-r12,r14}
28890cmp     r0,r1
28900movhi   r3,r0
28910movhi   r0,r1
28920movhi   r1,r3
28930.fillup
28940cmp     r0,r1
28950ldmeqfd r13!,{r0-r12,pc}
28960strb    r2,[r0],#1
28970b       fillup
28980
28990.copymem
29000stmfd   r13!,{r0-r12,r14}
29010cmp     r0,r1
29020bhi     copypl
29030add     r0,r0,r2
29040add     r1,r1,r2
29050cmp     r2,#0
29060.cpymlp
29070ldmeqfd r13!,{r0-r12,pc}
29080ldrb    r3,[r0,#-1]!
29090strb    r3,[r1,#-1]!
29100subs    r2,r2,#1
29110b       cpymlp
29120.copypl
29130cmp     r2,#0
29140.cpyplp
29150ldmeqfd r13!,{r0-r12,pc}
29160ldrb    r3,[r0],#1
29170strb    r3,[r1],#1
29180subs    r2,r2,#1
29190b       cpyplp
29200
29210.signed
29220stmfd   r13!,{r0-r12,r14}
29230.signlp
29240cmp     r0,r1
29250ldmhsfd r13!,{r0-r12,pc}
29260ldrb    r2,[r0]
29270eor     r2,r2,#&80
29280strb    r2,[r0],#1
29290b       signlp
29300
29310
29320.linlog
29330stmfd   r13!,{r0-r12,r14}
29340ldr     r4,logtab
29350.linllp
29360cmp     r0,r1
29370ldmhsfd r13!,{r0-r12,pc}
29380ldrb    r3,[r0]
29390cmp     r2,#1
29400eoreq   r3,r3,#&80
29410ldrb    r3,[r4,r3]
29420strb    r3,[r0],#1
29430b       linllp
29440
29450
29460.loglin
29470stmfd   r13!,{r0-r12,r14}
29480ldr     r4,lintab
29490.logllp
29500cmp     r0,r1
29510ldmhsfd r13!,{r0-r12,pc}
29520ldrb    r3,[r0]
29530ldr     r3,[r4,r3]
29540strb    r3,[r0],#1
29550b       logllp
29560
29570.logtab
29580equd    0
29590.lintab
29600equd    0
29610
29620.reverse
29630stmfd   r13!,{r0-r12,r14}
29640.revlup
29650cmp     r0,r1
29660ldmhsfd r13!,{r0-r12,pc}
29670ldrb    r2,[r0]
29680ldrb    r3,[r1,#-1]
29690strb    r3,[r0],#1
29700strb    r2,[r1,#-1]!
29710b       revlup
29720
29730.filtlo
29740stmfd   r13!,{r0-r12,r14}
29750.fltllp
29760cmp     r0,r1
29770ldmhsfd r13!,{r0-r12,pc}
29780ldrb    r5,[r0]
29790cmp     r3,#1
29800eoreq   r5,r5,#&80
29810mov     r5,r5,lsl #24
29820mov     r5,r5,asr #24
29830sub     r5,r4,r5,lsl #8
29840mul     r5,r2,r5
29850sub     r4,r4,r5,asr #12
29860mov     r5,r4,asr #8
29870cmp     r5,#127
29880movpl   r5,#127
29890cmn     r5,#127
29900movmi   r5,#128
29910cmp     r3,#1
29920eoreq   r5,r5,#&80
29930strb    r5,[r0],#1
29940b       fltllp
29950
29960.filthi
29970stmfd   r13!,{r0-r12,r14}
29980.flthlp
29990cmp     r0,r1
30000ldmhsfd r13!,{r0-r12,pc}
30010ldrb    r5,[r0]
30020cmp     r3,#1
30030eoreq   r5,r5,#&80
30040mov     r5,r5,lsl #24
30050mov     r5,r5,asr #24
30060mov     r6,r5,lsl #8
30070sub     r5,r4,r5,lsl #8
30080mul     r5,r2,r5
30090sub     r4,r4,r5,asr #12
30100sub     r5,r6,r4
30110mov     r5,r5,asr #8
30120cmp     r5,#127
30130movpl   r5,#127
30140cmn     r5,#127
30150movmi   r5,#128
30160cmp     r3,#1
30170eoreq   r5,r5,#&80
30180strb    r5,[r0],#1
30190b       flthlp
30200
30210.scamp
30220stmfd   r13!,{r0-r12,r14}
30230.scmplp
30240cmp     r0,r1
30250ldmhsfd r13!,{r0-r12,pc}
30260ldrb    r5,[r0]
30270cmp     r3,#1
30280eoreq   r5,r5,#&80
30290mov     r5,r5,lsl #24
30300mov     r5,r5,asr #24
30310mul     r5,r2,r5
30320mov     r5,r5,asr #12
30330cmp     r5,#127
30340movpl   r5,#127
30350cmn     r5,#127
30360movmi   r5,#128
30370cmp     r3,#1
30380eoreq   r5,r5,#&80
30390strb    r5,[r0],#1
30400b       scmplp
30410
30420.echo
30430stmfd   r13!,{r0-r12,r14}
30440cmp     r4,#0
30450beq     revrb
30460.echolp
30470cmp     r0,r1
30480ldmhsfd r13!,{r0-r12,pc}
30490ldrb    r6,[r0]
30500ldrb    r7,[r0,r3]
30510cmp     r5,#1
30520eoreq   r6,r6,#&80
30530eoreq   r7,r7,#&80
30540mov     r6,r6,lsl #24
30550mov     r6,r6,asr #24
30560mov     r7,r7,lsl #24
30570mov     r7,r7,asr #24
30580mul     r6,r2,r6
30590add     r7,r7,r6,asr #8
30600mov     r6,r6,asr #8
30610cmp     r6,#127
30620movpl   r6,#127
30630cmn     r6,#127
30640movmi   r6,#128
30650cmp     r7,#127
30660movpl   r7,#127
30670cmn     r7,#127
30680movmi   r7,#128
30690cmp     r5,#1
30700eoreq   r6,r6,#&80
30710eoreq   r7,r7,#&80
30720strb    r7,[r0,r3]
30730strb    r6,[r0],#1
30740b       echolp
30750.revrb
30760mov     r6,r1
30770add     r1,r0,r3
30780sub     r0,r6,#1
30790.revblp
30800cmp     r0,r1
30810ldmlofd r13!,{r0-r12,pc}
30820ldrb    r6,[r0]
30830ldrb    r7,[r0,-r3]
30840cmp     r5,#1
30850eoreq   r6,r6,#&80
30860eoreq   r7,r7,#&80
30870mov     r6,r6,lsl #24
30880mov     r6,r6,asr #24
30890mov     r7,r7,lsl #24
30900mov     r7,r7,asr #24
30910mul     r7,r2,r7
30920add     r6,r6,r7,asr #8
30930cmp     r6,#127
30940movpl   r6,#127
30950cmn     r6,#127
30960movmi   r6,#128
30970cmp     r5,#1
30980eoreq   r6,r6,#&80
30990strb    r6,[r0],#-1
31000b       revblp
31010
31020.nwlengths
31030stmfd   r13!,{r0-r12,r14}
31040mov     r3,#0
31050mov     r4,r0
31060.nwlslp
31070cmp     r0,r1
31080ldmhsfd r13!,{r0-r12,pc}
31090ldrb    r5,[r0]
31100strb    r5,[r4]
31110add     r4,r4,#1
31120add     r3,r3,r2
31130mov     r5,r3,lsr #24
31140bic     r3,r3,#&ff000000
31150add     r0,r0,r5
31160b       nwlslp
31170
31180.nwlengthb
31190stmfd   r13!,{r0-r12,r14}
31200mov     r4,#0
31210.nwlblp
31220cmp     r3,r0
31230ldmlofd r13!,{r0-r12,pc}
31240ldrb    r5,[r1]
31250strb    r5,[r3]
31260sub     r3,r3,#1
31270add     r4,r4,r2
31280mov     r5,r4,lsr #24
31290bic     r4,r4,#&ff000000
31300sub     r1,r1,r5
31310b       nwlblp
31320
31330.fade
31340stmfd   r13!,{r0-r12,r14}
31350.fadelp
31360cmp     r0,r1
31370ldmhsfd r13!,{r0-r12,pc}
31380ldrb    r6,[r0]
31390cmp     r5,#1
31400eoreq   r6,r6,#&80
31410mov     r6,r6,lsl #24
31420mov     r6,r6,asr #24
31430mov     r7,r2,asr #20
31440mul     r6,r7,r6
31450mov     r6,r6,asr #8
31460cmp     r6,#127
31470movpl   r6,#127
31480cmn     r6,#127
31490movmi   r6,#128
31500cmp     r5,#1
31510eoreq   r6,r6,#&80
31520strb    r6,[r0],#1
31530add     r2,r2,r4
31540b       fadelp
31550
31560.addclip
31570stmfd   r13!,{r0-r12,r14}
31580.addcll
31590cmp     r2,#0
31600ldmlefd r13!,{r0-r12,pc}
31610ldrb    r4,[r0]
31620ldrb    r5,[r1],#1
31630cmp     r3,#1
31640eoreq   r4,r4,#&80
31650eoreq   r5,r5,#&80
31660mov     r4,r4,lsl #24
31670mov     r4,r4,asr #24
31680mov     r5,r5,lsl #24
31690mov     r5,r5,asr #24
31700add     r4,r4,r5
31710mov     r4,r4,asr #1
31720eoreq   r4,r4,#&80
31730strb    r4,[r0],#1
31740sub     r2,r2,#1
31750b       addcll
31760.endcode
31770]
31780NEXTpass%
31790ENDPROC

� >RAM:$.!SFXED.!RunImage
� >Written by G. Vermeulen
� � �IntError:� �Tr@
(	�Init
2�
</  ș"Wimp_Poll",0,pollb% � reason%,polledb%
F  Ȏ reason% �
P    � 0:�Null_Reason
Z    � 1:�Redraw_Window
d    � 2:�Open_Window
n    � 3:�Close_Window
x    � 6:�Mouse_Click
�    � 7:�User_Drag_Box
�    � 8:�Key_Pressed
�    � 9:�Menu_Select
�     � 17,18,19:�User_Message
�  �
�� �
��
�
���IntError
�� �
�� � � � �ph\
�7A%=�interr(�$+" at line "+Þ+". Continue program?")
�� A%=2 � �Quit
�

��ScrToWork
"temp%!0=wworkh%
,"ș"Wimp_GetWindowState",,temp%
6#ș"Wimp_GetPointerInfo",,temp2%
@$workx%=temp2%!0-temp%!4+temp%!20
J� workx%<0 � workx%=0
T!� workx%>maxx% � workx%=maxx%
^�
h
rݤWorkToPtr(a%)
|/� a%=-1 � =-1 � =�(0.5+samplelen%*a%/maxx%)
�
�ݤPtrToWork(a%)
�/� a%=-1 � =-1 � =�(0.5+maxx%*a%/samplelen%)
�
���Null_Reason
��PutPtrs
��PlotPP
��CheckScroll
�Ȏ dragtype% �
�  � 1:�DragASelL
�  � 2:�DragASelR
�  � 3:�DragLoopL
�  � 4:�DragLoopR
�
�

&
��PutPtrs
0�ș"SFXMP_GetPtrs"�A%:A%!0=startsample%:A%!4=samplelen%:A%!8=ploopl%:A%!12=ploopr%:A%!16=pselectl%:A%!20=pselectr%:A%!24=playtype%:A%!28=stype%:A%!32=releasek%:A%!36=multiplek%:A%!40=okt%
:$ș"Wimp_GetCaretPosition",,temp%
D@� temp%!0=wkeyboardh% � ș"SFXMP_Enable" � ș"SFXMP_Disable"
N�
X
b��PlotPP
l� playp%<>-1 � �PlotPPtr
vdș"SFXMP_GetBlock"�A%:� A%!40<>0 � playp%=((A%!32)>>12)+A%!36-startsample%:�PlotPPtr � playp%=-1
��
�
���CheckScroll
�Rtemp%!0=wworkh%:ș"Wimp_GetWindowState",,temp%:ș"Wimp_GetPointerInfo",,temp2%
�,� (temp2%!12=wworkh%) � (temp2%!16=-1) �
�)  � �(temp%!4-temp2%!0)<64 � �ScrollL
�*  � �(temp%!12-temp2%!0)<64 � �ScrollR
�0  A%=temp2%!0+temp%!20-temp%!4:� A%<0 � A%=0
�"  pos%=�WorkToPtr(A%):�DrawPos
��
��
�
�
��DrawPos
� pos%<>oldpos% �
;  temp%!0=wposh%:temp%!4=0:ș"Wimp_GetIconState",,temp%
A  � pdisphd% � $(temp%!28)="&"+�~(pos%) � $(temp%!28)=�(pos%)
 D  temp%!8=0:temp%!12=0:ș"Wimp_SetIconState",,temp%:oldpos%=pos%
*�
4�
>
H
��ScrollL
R diff%=64-�(temp%!4-temp2%!0)
\os%=temp%!20
fos%=os%-diff%*4
p� os%<0 � os%=0
z%� os%>maxx%-1024 � os%=maxx%-1024
�temp%!20=os% � &fffffffe
�ș"Wimp_OpenWindow",,temp%
��
�
�
��ScrollR
�!diff%=64-�(temp%!12-temp2%!0)
�os%=temp%!20
�os%=os%+diff%*4
�� os%<0 � os%=0
�%� os%>maxx%-1024 � os%=maxx%-1024
�temp%!20=os% � &fffffffe
�ș"Wimp_OpenWindow",,temp%
��

��DragASelL
�ScrToWork:selectl%=workx%
$:� selectl%>selectr% � Ȕ selectl%,selectr%:dragtype%=2
.�pselectl%=�WorkToPtr(selectl%):pselectr%=�WorkToPtr(selectr%):selectl%=�PtrToWork(pselectl%):selectr%=�PtrToWork(pselectr%):�UpdateSelect
8�
B
L��DragASelR
V�ScrToWork:selectr%=workx%
`:� selectl%>selectr% � Ȕ selectl%,selectr%:dragtype%=1
j�pselectl%=�WorkToPtr(selectl%):pselectr%=�WorkToPtr(selectr%):selectl%=�PtrToWork(pselectl%):selectr%=�PtrToWork(pselectr%):�UpdateSelect
t�
~
���DragLoopL
�gș"OS_Byte",202,0,255�,sh%:dlp%=ploopr%-ploopl%:�ScrToWork:loopl%=workx%:ploopl%=�WorkToPtr(loopl%)
�
� sh%�8 �
�  ploopr%=ploopl%+dlp%
�G  � ploopr%>samplelen% � ploopr%=samplelen%:ploopl%=samplelen%-dlp%
��
�9loopl%=�PtrToWork(ploopl%):loopr%=�PtrToWork(ploopr%)
�5� ploopl%>ploopr% � ploopr%=ploopl%:loopr%=loopl%
�6� loopl%<>oloopl% � loopr%<>oloopr% � �UpdateLoopP
��
�
���DragLoopR
gș"OS_Byte",202,0,255�,sh%:dlp%=ploopr%-ploopl%:�ScrToWork:loopr%=workx%:ploopr%=�WorkToPtr(loopr%)


� sh%�8 �
  ploopl%=ploopr%-dlp%
*  � ploopl%<0 � ploopl%=0:ploopr%=dlp%
(�
29loopl%=�PtrToWork(ploopl%):loopr%=�PtrToWork(ploopr%)
<5� ploopr%<ploopl% � ploopl%=ploopr%:loopl%=loopr%
F6� loopl%<>oloopl% � loopr%<>oloopr% � �UpdateLoopP
P�
Z
d��Redraw_Window
n)ș"Wimp_RedrawWindow",,polledb%�more%
xȎ polledb%!0 �
�  � wworkh%:�RedrawWork
�  � wsongh%:�RedrawSong
�  :�JustRedraw
��
��
�
���RedrawWork
�
lh%=32
�mi%=polledb%!4
�ma%=polledb%!12
�y%=polledb%!8
�'sl%=polledb%!4-polledb%!20+selectl%
�'sr%=polledb%!4-polledb%!20+selectr%
%ll%=polledb%!4-polledb%!20+loopl%
%lr%=polledb%!4-polledb%!20+loopr%
llp%=�PtrToWork(playp%)
"%wllp%=polledb%!4-polledb%!20+llp%
,
dr%=-1
6ldr%=-1
@rdr%=-1
Jdrp%=-1
T-� sl%<polledb%!4 � sr%<polledb%!4 � dr%=0
^/� sl%>polledb%!12 � sr%>polledb%!12 � dr%=0
h+� sl%<polledb%!4 � dr% � sl%=polledb%!4
r-� sr%>polledb%!12 � dr% � sr%=polledb%!12
|5� ll%<polledb%!4-32 � ll%>polledb%!12+32 � ldr%=0
�5� lr%<polledb%!4-32 � lr%>polledb%!12+32 � rdr%=0
�7� wllp%<polledb%!4-4 � wllp%>polledb%!12+4 � drp%=0
�
�2A%=startsample%+samplelen%*(polledb%!20)/maxx%
�B%=8*displen%
�<C%=4096*(startsample%+samplelen%*(polledb%!20)/maxx%-A%)
�D%=polledb%!4
�E%=polledb%!8
�
F%=stype%
�G%=startsample%
�
�ȕ more%
�  ș"Wimp_SetColour",1
!  � mi%,y%+lh%*1,ma%,y%+lh%*1
!  � mi%,y%+lh%*2,ma%,y%+lh%*2
!  � mi%,y%+lh%*3,ma%,y%+lh%*3
&!  � mi%,y%+lh%*5,ma%,y%+lh%*5
0!  � mi%,y%+lh%*6,ma%,y%+lh%*6
:!  � mi%,y%+lh%*7,ma%,y%+lh%*7
D  ș"Wimp_SetColour",3
N!  � mi%,y%+lh%*4,ma%,y%+lh%*4
X  ș"Wimp_SetColour",7
b!  � mi%,y%+lh%*8,ma%,y%+lh%*8
l
  �redrwk
v  � ldr% �
�    �InvCol2
�+    � ll%,polledb%!8,ll%,polledb%!8+256
�    � ll%,polledb%!8+260
�    � ll%+8,polledb%!8+280
�!    � 85,ll%-8,polledb%!8+280
�  �
�  � rdr% �
�    �InvCol3
�+    � lr%,polledb%!8,lr%,polledb%!8+256
�    � lr%,polledb%!8+260
�    � lr%+8,polledb%!8+280
�!    � 85,lr%-8,polledb%!8+280
�  �
/  � (selectl%<>-1) � (selectr%<>-1) � dr% �
    �InvCol
(    ȓ Ȑ sl%,polledb%!8,sr%-sl%,252
   �
*  � (playp%<>-1) � drp% �
4    �InvCol
>/    � wllp%,polledb%!8,wllp%,polledb%!8+288
H  �
R+  ș"Wimp_GetRectangle",,polledb%�more%
\�
f�
p
z��RedrawSong
�zx%=polledb%!4-polledb%!20
�"zy%=polledb%!16-polledb%!24-96
�ȕ more%
�  ș"Wimp_SetColour",3
�-  � zx%+74,polledb%!32,zx%+74,polledb%!40
�-  � zx%+76,polledb%!32,zx%+76,polledb%!40
�/  � zx%+246,polledb%!32,zx%+246,polledb%!40
�/  � zx%+248,polledb%!32,zx%+248,polledb%!40
�/  � zx%+370,polledb%!32,zx%+370,polledb%!40
�/  � zx%+372,polledb%!32,zx%+372,polledb%!40
�/  � zx%+494,polledb%!32,zx%+494,polledb%!40
�/  � zx%+496,polledb%!32,zx%+496,polledb%!40
�
	  ș"Wimp_SetColour",7
	  sl%=(zy%-polledb%!40)/36
	   sr%=1+(zy%-polledb%!32)/36
	$  � sl%<0 � sl%=0
	.  � sr%<0 � sr%=0
	8#  � sl%>songlen% � sl%=songlen%
	B#  � sr%>songlen% � sr%=songlen%
	L  ȕ sl%<sr%
	V    � zx%+6,zy%-36*sl%
	`    � �(sl%+1);
	j    � zx%+82,zy%-36*sl%
	t    � $(songstart%+sl%*32);
	~    � zx%+254,zy%-36*sl%
	�$    � �(songstart%!(sl%*32+12));
	�    � zx%+378,zy%-36*sl%
	�$    � �(songstart%!(sl%*32+16));
	�    � zx%+502,zy%-36*sl%
	�$    � �(songstart%!(sl%*32+20));
	�    sl%+=1
	�  �
	�+  ș"Wimp_GetRectangle",,polledb%�more%
	��
	��
	�
	���JustRedraw
ȕ more%

+  ș"Wimp_GetRectangle",,polledb%�more%
�
�
(
2��InvCol
<&ș"XOS_ReadModeVariable",-1,3�,,c%
FȎ c% �
P  � 1:�3,1
Z  � 3:�3,3
d  � 15:�3,7
n  � 63:�3,63 Ȝ 0
x
  :�3,63
��
��
�
�
��InvCol2
�&ș"XOS_ReadModeVariable",-1,3�,,c%
�Ȏ c% �
�  � 1:�3,1
�  � 3:�3,1
�  � 15:�3,10
�  � 63:�3,%110011 Ȝ 0
�
  :�3,63
��
��


��InvCol3
&ș"XOS_ReadModeVariable",-1,3�,,c%
"Ȏ c% �
,  � 1:�3,1
6  � 3:�3,2
@  � 15:�3,11
J  � 63:�3,%111100 Ȝ 0
T
  :�3,63
^�
h�
r
|��Open_Window
�'� polledb%!0=wworkh% � �Open_Work:�
�'� polledb%!0=wsongh% � �Open_Song:�
�[� polledb%!0=wposh% � polledb%!0=wworkh%:ș"Wimp_GetWindowState",,polledb%:�Open_Work:�
�d� polledb%!0=wsongpaneh% � polledb%!0=wsongpaneh%:ș"Wimp_GetWindowState",,polledb%:�Open_Song:�
�!ș"Wimp_OpenWindow",,polledb%
��
�
���Open_Work
�temp%!0=wposh%
�"ș"Wimp_GetWindowState",,temp%
�A%=polledb%!28
�polledb%!28=wposh%
�!ș"Wimp_OpenWindow",,polledb%
%ș"Wimp_GetWindowState",,polledb%
temp%!4=polledb%!4
temp%!8=polledb%!8-100
&temp%!12=temp%!4+1024
0temp%!16=temp%!8+56
:temp%!28=A%
Dș"Wimp_OpenWindow",,temp%
Npolledb%!28=wposh%
X!ș"Wimp_OpenWindow",,polledb%
b�
l
v��Open_Song
�temp%!0=wsongpaneh%
�"ș"Wimp_GetWindowState",,temp%
�A%=polledb%!28
�polledb%!28=wsongpaneh%
�!ș"Wimp_OpenWindow",,polledb%
�%ș"Wimp_GetWindowState",,polledb%
�temp%!4=polledb%!4
�temp%!12=polledb%!12
�temp%!16=polledb%!16
�temp%!8=polledb%!16-84
�temp%!20=polledb%!20
�temp%!28=A%
�ș"Wimp_OpenWindow",,temp%

polledb%!28=wsongpaneh%

!ș"Wimp_OpenWindow",,polledb%

�

 

*��Close_Window

4"ș"Wimp_CloseWindow",,polledb%

>K� polledb%!0=wworkh% � polledb%!0=wposh%:ș"Wimp_CloseWindow",,polledb%

HP� polledb%!0=wsongh% � polledb%!0=wsongpaneh%:ș"Wimp_CloseWindow",,polledb%

R�

\

f��Mouse_Click

pȎ polledb%!12 �

z  � wworkh%:�WorkClick

�  � wechoh%:�EchoClick

�  � wfadeh%:�FadeClick

�  � wkeyboardh%:�KeyClick

�  � wposh%:�PosClick

�  � wsongh%:�SongClick

�  � -2:�IconBClick

��

��

�

���SongClick

�temp%!0=wsongh%

�"ș"Wimp_GetWindowState",,temp%

�2currsect%=(temp%!16-temp%!24-96-polledb%!4)/36
� currsect%<0 � currsect%=0
-� currsect%>songlen% � currsect%=songlen%
R� currsect%=songlen% � $(sectmenu%)="Loop" � $sectmenu%="Loop "+�(currsect%+1)
$Ȏ polledb%!8 �
.x  � 2:lastmx%=polledb%!0-64:lastmy%=polledb%!4+16:lastmenu%=sectmenu%:ș"Wimp_CreateMenu",,lastmenu%,lastmx%,lastmy%
8  � 1024:�EditSect
B�
L�
V
`��EditSect
j� currsect%<songlen% �
t  temp%!0=wsongpaneh%
~  temp%!4=5
�"  ș"Wimp_GetIconState",,temp%
�   $(temp%!28)=�(currsect%+1)
�  temp%!4=6
�"  ș"Wimp_GetIconState",,temp%
�,  $(temp%!28)=$(songstart%+currsect%*32)
�  temp%!4=7
�"  ș"Wimp_GetIconState",,temp%
�1  $(temp%!28)=�(songstart%!(currsect%*32+12))
�  temp%!4=8
�"  ș"Wimp_GetIconState",,temp%
�1  $(temp%!28)=�(songstart%!(currsect%*32+16))
�  temp%!4=9
"  ș"Wimp_GetIconState",,temp%

1  $(temp%!28)=�(songstart%!(currsect%*32+20))
*  ploopl%=songstart%!(currsect%*32+24)
*  ploopr%=songstart%!(currsect%*32+28)
(  � ploopl%<0 � ploopl%=0
2  � ploopr%<0 � ploopr%=0
</  � ploopl%>samplelen% � ploopl%=samplelen%
F/  � ploopr%>samplelen% � ploopr%=samplelen%
P   loopl%=�PtrToWork(ploopl%)
Z   loopr%=�PtrToWork(ploopr%)
d  �UpdateLoopP
n  �RdSongPane
x&  ș"Wimp_GetCaretPosition",,temp%
�F  � (temp%!0=wsongpaneh%)�(temp%!4<>-1) � �SetWIC(temp%!0,temp%!4)
�  ospitch%=-1
��
��
�
���PosClick
�Ȏ polledb%!16 �
�  � 0:pdisphd%=� pdisphd%
�  � 8:�PosPAll
�  � 9:�PosPSel
�  � 10:�PosPWin
�  � 12:�PosPStop
��
�


��PosPAll
"6ș"SFXMP_Stop",1:ș"SFXMP_Stop",2:ș"SFXMP_Stop",3
,ș"SFXMP_GetBlock"�A%
6ș"SFXMP_GetPitch"�B%
@
A%+=32
J
A%!0=0
TA%!4=startsample%
^A%!8=B%
hA%!12=samplelen%
rA%!16=stype%<<8
|A%!20=0
�ș"SFXMP_Play",1
��
�
�
��PosPSel
�6ș"SFXMP_Stop",1:ș"SFXMP_Stop",2:ș"SFXMP_Stop",3
�� pselectl%<>-1 �
�  ș"SFXMP_GetBlock"�A%
�  ș"SFXMP_GetPitch"�B%
�  A%+=32
�  A%!0=0
�!  A%!4=startsample%+pselectl%
�
  A%!8=B%
�  A%!12=pselectr%-pselectl%
  A%!16=stype%<<8

  A%!20=0
  ș"SFXMP_Play",1
&�
0�
:
D
��PosPWin
N6ș"SFXMP_Stop",1:ș"SFXMP_Stop",2:ș"SFXMP_Stop",3
Xtemp%!0=wworkh%
b"ș"Wimp_GetWindowState",,temp%
lB%=�WorkToPtr(temp%!20)
v C%=�WorkToPtr(temp%!20+1024)
�ș"SFXMP_GetBlock"�A%
�ș"SFXMP_GetPitch"�E%
�
A%+=32
�
A%!0=0
�A%!4=startsample%+B%
�A%!8=E%
�A%!12=C%-B%
�A%!16=stype%<<8
�A%!20=0
�ș"SFXMP_Play",1
��
�
���PosPStop
6ș"SFXMP_Stop",1:ș"SFXMP_Stop",2:ș"SFXMP_Stop",3
�

 ݤStrip(fs$)
*� f%,a%
4f%=1
>a%=1
Hȕ �fs$,f%)<>""
R1  � �fs$,f%,1)="." � �fs$,f%,1)=":" � a%=f%+1
\  f%+=1
f�
p
=�fs$,a%)
z
���MBString(s%)
�ȕ ?s%>31 s%+=1:�
�
?s%=13
��
�
���DataSave
�� messbk%!4<>taskh% �
�(  filetoload2$=�Strip($(messbk%+44))
�'  $(messbk%+44)="<Wimp$Scrap>"+�(0)
�  messbk%!0=256
�  messbk%!12=messbk%!8
�  messbk%!16=2
�  messbk%!36=-1
/  ș"Wimp_SendMessage",18,messbk%,messbk%!4
�
�
$
.��GetStartLen
8Ȏ savedata% �
B)  � 0:ss%=startsample%:sl%=samplelen%
LW  � 1:� pselectl%<>-1 � ss%=startsample%+pselectl%:sl%=pselectr%-pselectl% � ss%=-1
V'  � 2:ss%=clipbstart%:sl%=clipblen%
`�
j�
t
~��KeyClick
�Ȏ polledb%!8 �
�r  � 1:ș"XWimp_SetCaretPosition",wkeyboardh%,-1,-1,-1,-1,-1:ș"SFXMP_Stop",1:ș"SFXMP_Stop",2:ș"SFXMP_Stop",3
�?  � 4:ș"XWimp_SetCaretPosition",wkeyboardh%,-1,-1,-1,-1,-1
��
�Ȏ polledb%!16 �
�  � 43:playtype%=0
�  � 44:playtype%=1
�  � 45:playtype%=2
�  � 46:playtype%=3
�x  � 48:temp%!0=wkeyboardh%:temp%!4=48:ș"Wimp_GetIconState",,temp%:� (temp%!24)�(1<<21) � releasek%=-1 � releasek%=0
�z  � 49:temp%!0=wkeyboardh%:temp%!4=49:ș"Wimp_GetIconState",,temp%:� (temp%!24)�(1<<21) � multiplek%=-1 � multiplek%=0
��
�


��WorkClick
9ș"XWimp_SetCaretPosition",wkeyboardh%,-1,-1,-1,-1,-1
(Ȏ polledb%!8 �
2x  � 2:lastmx%=polledb%!0-64:lastmy%=polledb%!4+16:lastmenu%=workmenu%:ș"Wimp_CreateMenu",,lastmenu%,lastmx%,lastmy%
<  � 1024:�SelClick
F  � 256:�AdjClick
P  � 64:�SelDrag
Z  � 16:�AdjDrag
d�
n�
x
���SelClick
�temp%!0=wworkh%
�"ș"Wimp_GetWindowState",,temp%
�� polledb%!4-temp%!8<256 �
�  �SelClick2
��
�   ș"OS_Byte",202,0,255�,sh%
�  dlp%=ploopr%-ploopl%
�  �ScrToWork
�  loopl%=workx%
�   ploopl%=�WorkToPtr(loopl%)
�  � sh%�8 �
�    ploopr%=ploopl%+dlp%
I    � ploopr%>samplelen% � ploopr%=samplelen%:ploopl%=samplelen%-dlp%
  �
   loopl%=�PtrToWork(ploopl%)
"   loopr%=�PtrToWork(ploopr%)
,7  � ploopl%>ploopr% � ploopr%=ploopl%:loopr%=loopl%
6  �UpdateLoopP
@�
J�
T
^��AdjClick
htemp%!0=wworkh%
r"ș"Wimp_GetWindowState",,temp%
|� polledb%!4-temp%!8<256 �
�  �AdjClick2
��
�   ș"OS_Byte",202,0,255�,sh%
�  dlp%=ploopr%-ploopl%
�  �ScrToWork
�  loopr%=workx%
�   ploopr%=�WorkToPtr(loopr%)
�  � sh%�8 �
�    ploopl%=ploopr%-dlp%
�,    � ploopl%<0 � ploopl%=0:ploopr%=dlp%
�  �
�   loopl%=�PtrToWork(ploopl%)
�   loopr%=�PtrToWork(ploopr%)
7  � ploopr%<ploopl% � ploopl%=ploopr%:loopl%=loopr%
  �UpdateLoopP
�
&�
0
:
��SelDrag
Dtemp%!0=wworkh%
N"ș"Wimp_GetWindowState",,temp%
X� polledb%!4-temp%!8<256 �
b  �SelDrag2
l�
v  temp%!0=wworkh%
�$  ș"Wimp_GetWindowState",,temp%
�  temp2%!0=wworkh%
�  temp2%!4=7
�  temp2%!8=0
�  temp2%!12=0
�  temp2%!16=0
�  temp2%!20=0
�  temp2%!24=temp%!4
�  temp2%!28=temp%!8+260
�  temp2%!32=temp%!4+1022
�  temp2%!36=temp%!8+284
�  temp2%!40=-1
�  temp2%!44=-1
  temp2%!48=-1
  temp2%!52=-1
  ș"Wimp_DragBox",,temp2%
   dragtype%=3
*�
4�
>
H
��AdjDrag
Rtemp%!0=wworkh%
\"ș"Wimp_GetWindowState",,temp%
f� polledb%!4-temp%!8<256 �
p  �AdjDrag2
z�
�  temp%!0=wworkh%
�$  ș"Wimp_GetWindowState",,temp%
�  temp2%!0=wworkh%
�  temp2%!4=7
�  temp2%!8=0
�  temp2%!12=0
�  temp2%!16=0
�  temp2%!20=0
�  temp2%!24=temp%!4
�  temp2%!28=temp%!8+260
�  temp2%!32=temp%!4+1022
�  temp2%!36=temp%!8+284
�  temp2%!40=-1
  temp2%!44=-1
  temp2%!48=-1
  temp2%!52=-1
$  ș"Wimp_DragBox",,temp2%
.  dragtype%=4
8�
B�
L
V��SelClick2
`�ScrToWork
jselectl%=workx%
tselectr%=workx%
~"pselectl%=�WorkToPtr(selectl%)
�"pselectr%=�WorkToPtr(selectr%)
�"selectl%=�PtrToWork(pselectl%)
�"selectr%=�PtrToWork(pselectr%)
��UpdateSelect
��
�
���AdjClick2
��ScrToWork
�-� �(selectl%-workx%)>�(selectr%-workx%) �
�  selectr%=workx%
��
�  selectl%=workx%
�

A� selectl%=-1 � selectr%=-1 � selectl%=workx%:selectr%=workx%
.� selectl%>selectr% � Ȕ selectl%,selectr%
"pselectl%=�WorkToPtr(selectl%)
("pselectr%=�WorkToPtr(selectr%)
2"selectl%=�PtrToWork(pselectl%)
<"selectr%=�PtrToWork(pselectr%)
F�UpdateSelect
P�
Z
d��SelDrag2
ntemp%!0=wworkh%
x"ș"Wimp_GetWindowState",,temp%
�temp2%!0=wworkh%
�temp2%!4=7
�temp2%!8=0
�temp2%!12=0
�temp2%!16=0
�temp2%!20=0
�temp2%!24=temp%!4
�temp2%!28=temp%!8
�temp2%!32=temp%!4+1022
�temp2%!36=temp%!8+252
�temp2%!40=-1
�temp2%!44=-1
�temp2%!48=-1
temp2%!52=-1
ș"Wimp_DragBox",,temp2%
dragtype%=1
"�ScrToWork
,!� selectl%=-1 � selectr%=-1 �
6%  selectl%=workx%:selectr%=workx%
@$  pselectl%=�WorkToPtr(selectl%)
J$  pselectr%=�WorkToPtr(selectr%)
T$  selectl%=�PtrToWork(pselectl%)
^$  selectr%=�PtrToWork(pselectr%)
h�
r�
|
���AdjDrag2
�temp%!0=wworkh%
�"ș"Wimp_GetWindowState",,temp%
�temp2%!0=wworkh%
�temp2%!4=7
�temp2%!8=0
�temp2%!12=0
�temp2%!16=0
�temp2%!20=0
�temp2%!24=temp%!4
�temp2%!28=temp%!8
�temp2%!32=temp%!4+1022
�temp2%!36=temp%!8+252
temp2%!40=-1
temp2%!44=-1
temp2%!48=-1
&temp2%!52=-1
0ș"Wimp_DragBox",,temp2%
:�ScrToWork
D!� selectl%=-1 � selectr%=-1 �
N%  selectl%=workx%:selectr%=workx%
X$  pselectl%=�WorkToPtr(selectl%)
b$  pselectr%=�WorkToPtr(selectr%)
l$  selectl%=�PtrToWork(pselectl%)
v$  selectr%=�PtrToWork(pselectr%)
��
�-� �(selectl%-workx%)>�(selectr%-workx%) �
�  dragtype%=2
��
�  dragtype%=1
��
��
�
���UpdateSelect
�U� oselectl%=-1 � oselectr%=-1 � oselectl%=selectl%:oselectr%=selectr%:�PtSelect:�
�q� (selectl%<>oselectl%) � (selectr%<>oselectr%) � �PtSelect:oselectl%=selectl%:oselectr%=selectr%:�PtSelect:�
�)� selectl%<>oselectl% � �SetSelectL:�
�)� selectr%<>oselectr% � �SetSelectR:�
�

��PtSelect
 polledb%!0=wworkh%
*polledb%!8=-288
4polledb%!16=-32
>)� (oselectl%<>-1) � (oselectr%<>-1) �
H2  polledb%!4=oselectl%:polledb%!12=oselectr%+2
R+  ș"Wimp_UpdateWindow",,polledb%�more%
\  ȕ more%
f    �InvCol
pU    ȓ Ȑ polledb%!28,polledb%!32,polledb%!36-polledb%!28,polledb%!40-polledb%!32
z-    ș"Wimp_GetRectangle",,polledb%�more%
�  �
��
��
�
���SetSelectL
�polledb%!0=wworkh%
�polledb%!8=-288
�polledb%!16=-32
�(� (selectl%<>-1) � (oselectl%<>-1) �
�r  � selectl%<oselectl% � polledb%!4=selectl%:polledb%!12=oselectl% � polledb%!4=oselectl%:polledb%!12=selectl%
�+  ș"Wimp_UpdateWindow",,polledb%�more%
�  ȕ more%
�    �InvCol
U    ȓ Ȑ polledb%!28,polledb%!32,polledb%!36-polledb%!28,polledb%!40-polledb%!32
-    ș"Wimp_GetRectangle",,polledb%�more%
  �
$  oselectl%=selectl%
.�
8�
B
L��SetSelectR
Vpolledb%!0=wworkh%
`polledb%!8=-288
jpolledb%!16=-32
t(� (selectr%<>-1) � (oselectr%<>-1) �
~z  � selectr%<oselectr% � polledb%!4=selectr%+2:polledb%!12=oselectr%+2 � polledb%!4=oselectr%+2:polledb%!12=selectr%+2
�+  ș"Wimp_UpdateWindow",,polledb%�more%
�  ȕ more%
�    �InvCol
�U    ȓ Ȑ polledb%!28,polledb%!32,polledb%!36-polledb%!28,polledb%!40-polledb%!32
�-    ș"Wimp_GetRectangle",,polledb%�more%
�  �
�  oselectr%=selectr%
��
��
�
���PlotPPtr
�0� playp%<0 � playp%>samplelen% � playp%=-1:�
llp%=�PtrToWork(playp%)

temp%!0=wworkh%
"ș"Wimp_GetWindowState",,temp%
ll%=temp%!4-temp%!20+llp%
(&� ll%>temp%!4-4 � ll%<temp%!12+4 �
2  polledb%!0=wworkh%
<  polledb%!4=llp%
F  polledb%!8=-288
P  polledb%!12=llp%+2
Z  polledb%!16=0
d+  ș"Wimp_UpdateWindow",,polledb%�more%
n  ȕ more%
x    �InvCol
�+    � ll%,polledb%!8,ll%,polledb%!8+288
�-    ș"Wimp_GetRectangle",,polledb%�more%
�  �
��
��
�
���UpdateLoopP
�temp%!0=wworkh%
�"ș"Wimp_GetWindowState",,temp%
�polledb%!0=wworkh%
�polledb%!4=temp%!20
�polledb%!8=-288
�polledb%!12=temp%!20+1024
polledb%!16=0
ll%=temp%!4-temp%!20+loopl%
!oll%=temp%!4-temp%!20+oloopl%
"lr%=temp%!4-temp%!20+loopr%
,!olr%=temp%!4-temp%!20+oloopr%
6ldr%=-1
@oldr%=-1
Jrdr%=-1
Tordr%=-1
^/� ll%<temp%!4-32 � ll%>temp%!12+32 � ldr%=0
h2� oll%<temp%!4-32 � oll%>temp%!12+32 � oldr%=0
r/� lr%<temp%!4-32 � lr%>temp%!12+32 � rdr%=0
|2� olr%<temp%!4-32 � olr%>temp%!12+32 � ordr%=0
�)ș"Wimp_UpdateWindow",,polledb%�more%
�ȕ more%
�  � ldr% �
�    �InvCol2
�+    � ll%,polledb%!8,ll%,polledb%!8+256
�    � ll%,polledb%!8+260
�    � ll%+8,polledb%!8+280
�!    � 85,ll%-8,polledb%!8+280
�  �
�  � oldr% �
�    �InvCol2
�-    � oll%,polledb%!8,oll%,polledb%!8+256
�    � oll%,polledb%!8+260
     � oll%+8,polledb%!8+280
 "    � 85,oll%-8,polledb%!8+280
   �
 &  � rdr% �
 0    �InvCol3
 :+    � lr%,polledb%!8,lr%,polledb%!8+256
 D    � lr%,polledb%!8+260
 N    � lr%+8,polledb%!8+280
 X!    � 85,lr%-8,polledb%!8+280
 b  �
 l  � ordr% �
 v    �InvCol3
 �-    � olr%,polledb%!8,olr%,polledb%!8+256
 �    � olr%,polledb%!8+260
 �    � olr%+8,polledb%!8+280
 �"    � 85,olr%-8,polledb%!8+280
 �  �
 �+  ș"Wimp_GetRectangle",,polledb%�more%
 ��
 �!oloopl%=loopl%:oloopr%=loopr%
 ��UpdateSLoop
 ��
 �
 ���UpdateSLoop
 �� playtype%=1 �
!  ș"SFXMP_GetBlock"�A%
!`  A%=A%+32:A%!4=startsample%+ploopl%:A%!12=ploopr%-ploopl%:A%!20=0:A%!16=(A%!16) � &ffffefff
!`  A%=A%+32:A%!4=startsample%+ploopl%:A%!12=ploopr%-ploopl%:A%!20=0:A%!16=(A%!16) � &ffffefff
! `  A%=A%+32:A%!4=startsample%+ploopl%:A%!12=ploopr%-ploopl%:A%!20=0:A%!16=(A%!16) � &ffffefff
!*�
!4� playtype%=3 �
!>  ș"SFXMP_GetBlock"�A%
!HV  A%=A%+32:A%!4=startsample%:A%!12=ploopr%:A%!20=ploopl%:A%!16=(A%!16) � &ffffefff
!RV  A%=A%+32:A%!4=startsample%:A%!12=ploopr%:A%!20=ploopl%:A%!16=(A%!16) � &ffffefff
!\V  A%=A%+32:A%!4=startsample%:A%!12=ploopr%:A%!20=ploopl%:A%!16=(A%!16) � &ffffefff
!f�
!p�
!z
!���IconBClick
!�Ȏ polledb%!8 �
!�  � 1,4:�OpenWork
!�n  � 2:lastmx%=polledb%!0-64:lastmy%=184:lastmenu%=iconmenu%:ș"Wimp_CreateMenu",,lastmenu%,lastmx%,lastmy%
!��
!��
!�
!���OpenWork
!�polledb%!0=wworkh%
!�%ș"Wimp_GetWindowState",,polledb%
!�polledb%!28=-1
!��Open_Window
!�polledb%!0=wkeyboardh%
"%ș"Wimp_GetWindowState",,polledb%
"polledb%!28=-1
"!ș"Wimp_OpenWindow",,polledb%
"$�
".
"8��User_Drag_Box
"BȎ dragtype% �
"L  � 1,2,3,4:dragtype%=-1
"`�
"j�
"t
"~��RdWork
"�polledb%!0=wworkh%
"�)ș"Wimp_RedrawWindow",,polledb%�more%
"��RedrawWork
"��
"�
"���RdSong
"�polledb%!0=wsongh%
"�)ș"Wimp_RedrawWindow",,polledb%�more%
"��RedrawSong
"��
"�
"���RdSongPane
#polledb%!0=wsongpaneh%
#
)ș"Wimp_RedrawWindow",,polledb%�more%
#�JustRedraw
#�
#(
#2��Key_Pressed
#<C� polledb%!24=&1cc � ș"SFXMP_Disable":ș"Wimp_ProcessKey",&1cc
#FC� polledb%!24=&1fc � ș"SFXMP_Disable":ș"Wimp_ProcessKey",&1fc
#PȎ polledb%!0 �
#Z  � wkeyboardh%:�KeyKey
#n  � wposh%:�PosKey
#x  � wfadeh%:�FadeKey
#�  � wechoh%:�EchoKey
#�  � wsongpaneh%:�SongKey
#��
#��
#�
#�
��FadeKey
#�� polledb%!24=13 �
#�)  � polledb%!4=2 � �SetWIC(wfadeh%,3)
#�)  � polledb%!4=3 � �SetWIC(wfadeh%,2)
#��
#��
#�
#�
��EchoKey
$� polledb%!24=13 �
$)  � polledb%!4=2 � �SetWIC(wechoh%,3)
$)  � polledb%!4=3 � �SetWIC(wechoh%,2)
$"�
$,�
$6
$@
��SongKey
$J� polledb%!24=13 �
$T-  � polledb%!4=6 � �SetWIC(wsongpaneh%,7)
$^-  � polledb%!4=7 � �SetWIC(wsongpaneh%,8)
$h-  � polledb%!4=8 � �SetWIC(wsongpaneh%,9)
$r-  � polledb%!4=9 � �SetWIC(wsongpaneh%,6)
$|�
$��
$�
$���SetWIC(w%,i%)
$�
� i%=-1 �
$�,  ș"XWimp_SetCaretPosition",-1,-1,-1,-1
$��
$�  temp%!0=w%
$�  temp%!4=i%
$�"  ș"Wimp_GetIconState",,temp%
$�  A%=�($(temp%!28))
$�2  ș"XWimp_SetCaretPosition",w%,i%,-1,-1,-1,A%
$��
$��
%
%��PosKey
%B� polledb%!24=13 � �SetPitch � ș"Wimp_ProcessKey",polledb%!24
%&�
%0
%:��SetPitch
%Dtemp%!0=wposh%
%N� polledb%!4=3 �
%X  temp%!4=3
%b"  ș"Wimp_GetIconState",,temp%
%l  pitch%=�($(temp%!28))
%v�
%�� polledb%!4=5 �
%�  temp%!4=5
%�"  ș"Wimp_GetIconState",,temp%
%�  pitch%=�($(temp%!28))
%�  � pitch%=0 � pitch%=1
%�  pitch%=1E6/pitch%
%��
%��SetPitch2
%��
%�
%���SetPitch2
%�� pitch%<24 � pitch%=24
%�� pitch%>255 � pitch%=255
&pitch%=pitch%�&fc
&temp2%!0=wposh%
&temp2%!4=3
& !ș"Wimp_GetIconState",,temp2%
&*$(temp2%!28)=�pitch%
&48temp2%!8=0:temp2%!12=0:ș"Wimp_SetIconState",,temp2%
&>temp2%!4=5
&H!ș"Wimp_GetIconState",,temp2%
&R!$(temp2%!28)=�(�(1E6/pitch%))
&\8temp2%!8=0:temp2%!12=0:ș"Wimp_SetIconState",,temp2%
&f9ș"XWimp_SetCaretPosition",wkeyboardh%,-1,-1,-1,-1,-1
&p'ș"XSound_Configure",0,0,pitch%,0,0
&z�
&�
&���KeyKey
&�key%=polledb%!24
&�8� key%=13 � ș"XWimp_SetCaretPosition",-1,-1,-1,-1:�
&�0� (key%>=&181)�(key%<=&185) okt%=key%-&181:�
&�� key%<32 � �CtrlKey:�
&��ș"SFXMP_GetPitch"�spitch%:� spitch%<>ospitch% � temp%!0=wsongpaneh%:temp%!4=8:ș"Wimp_GetIconState",,temp%:$(temp%!28)=�spitch%:temp%!8=0:temp%!12=0:ș"Wimp_SetIconState",,temp%:ospitch%=spitch%
&��
&�
&�
��CtrlKey
&�
Ȏ key% �
&�#  � �"X"-64:polledb%!4=0:�MEdit
&�#  � �"C"-64:polledb%!4=1:�MEdit
'#  � �"V"-64:polledb%!4=2:�MEdit
'#  � �"D"-64:polledb%!4=3:�MEdit
'  � �"A"-64:�MSelAll
'$  � �"Z"-64:�MSelClear
'.  � �"Q"-64:�ZoomAll
'8  � �"W"-64:�ZoomOut
'B  � �"S"-64:�ZoomSel
'L  � �"T"-64:�ZoomStore
'V  � �"R"-64:�ZoomRestore
'`�
'j�
't
'~��Menu_Select
'�"ș"Wimp_GetPointerInfo",,temp%
'�oldbut%=temp%!8
'�Ȏ lastmenu% �
'�  � iconmenu%:�MSelIcon
'�  � workmenu%:�MSelWork
'�  � sectmenu%:�MSelSect
'��
'�B� (oldbut%�1) � ș"Wimp_CreateMenu",,lastmenu%,lastmx%,lastmy%
'��
'�
'���MSelSect
'�Ȏ polledb%!0 �
(  � 0:�MSectInsert
(
  � 1:�MSectAppend
(  � 2:�MSectOverwrite
(  � 3:�MSectDelete
((  � 4:�MSectPlay
(2  � 5:�PlaySong
(<�
(F�
(P
(Z��MSectInsert
(d6ș"SFXMP_Stop",1:ș"SFXMP_Stop",2:ș"SFXMP_Stop",3
(n#� songlen%>=�(songbuflen%/32) �
(x  �ReportErr("No room.")
(��
(�  T%=songlen%
(�  ȕ T%>currsect%
(�    �S%=0�28�4
(�8      songstart%!(T%*32+S%)=songstart%!(T%*32-32+S%)
(�    �S%
(�
    T%-=1
(�  �
(�  songlen%+=1
(�  �PutSect(currsect%)
(�  �SetSongExtent
(�
  �RdSong
(��
)�
)
)��MSectAppend
)"6ș"SFXMP_Stop",1:ș"SFXMP_Stop",2:ș"SFXMP_Stop",3
),#� songlen%>=�(songbuflen%/32) �
)6#  �ReportErr("Too many loops.")
)@�
)J  �PutSect(songlen%)
)T  songlen%+=1
)^  �SetSongExtent
)h
  �RdSong
)r�
)|�
)�
)���MSectOverwrite
)�6ș"SFXMP_Stop",1:ș"SFXMP_Stop",2:ș"SFXMP_Stop",3
)�6� currsect%<songlen% � �PutSect(currsect%):�RdSong
)��
)�
)���MSectDelete
)�6ș"SFXMP_Stop",1:ș"SFXMP_Stop",2:ș"SFXMP_Stop",3
)�� currsect%<songlen% �
)�  T%=currsect%
)�  ȕ T%<songlen%-1
)�    �S%=0�28�4
)�8      songstart%!(T%*32+S%)=songstart%!(T%*32+32+S%)
*    �S%
*
    T%+=1
*  �
*&  songlen%-=1
*0  �SetSongExtent
*:
  �RdSong
*D�
*N�
*X
*b��MSectPlay
*l� currsect%<songlen% �
*v8  ș"SFXMP_Stop",1:ș"SFXMP_Stop",2:ș"SFXMP_Stop",3
*�
  Ƞ 2
*�  ȡ 2,"SFXMVoice"
*�Y  ș"SFXMP_PlaySong",songstart%+32*currsect%,songlen%-currsect%,startsample%,1,stype%
*��
*��
*�
*���PutSect(s%)
*�temp%!0=wsongpaneh%
*�
temp%!4=6
*� ș"Wimp_GetIconState",,temp%
*�#$(songstart%+s%*32)=$(temp%!28)
*�
temp%!4=7
*� ș"Wimp_GetIconState",,temp%
+A%=�($(temp%!28))
+� A%>255 � A%=255
+� A%<1 � A%=1
+ !(songstart%+s%*32+12)=A%
+*
temp%!4=8
+4 ș"Wimp_GetIconState",,temp%
+>A%=�($(temp%!28))
+H� A%<1 � A%=1
+R� A%>&10000 � A%=&10000
+\!(songstart%+s%*32+16)=A%
+f
temp%!4=9
+p ș"Wimp_GetIconState",,temp%
+zA%=�($(temp%!28))
+�� A%<2 � A%=2
+�� A%>255 � A%=255
+�!(songstart%+s%*32+20)=A%
+�"!(songstart%+s%*32+24)=ploopl%
+�"!(songstart%+s%*32+28)=ploopr%
+��
+�
+���CheckSong
+�T%=0
+�ȕ T%<songlen%
+�7  A%=songstart%!(T%*32+24):B%=songstart%!(T%*32+28)
+�  � A%<0 � A%=0
+�  � B%<0 � B%=0
,%  � A%>samplelen% � A%=samplelen%
,%  � B%>samplelen% � B%=samplelen%
,7  songstart%!(T%*32+24)=A%:songstart%!(T%*32+28)=B%
,$  T%+=1
,.�
,8�
,B
,L��MSelIcon
,V� polledb%!0=1 � �CloseDown
,`�
,j
,t��MSelWork
,~Ȏ polledb%!0 �
,�  � 0:�MInfo
,�  � 1:�MSave
,�  � 2:�MEdit
,�  � 3:�MSelect
,�  � 4:�MZoom
,�  � 5:�MLoop
,�  � 6:�MGoodies
,�  � 7:�MSong
,��
,��
,�
,���MSong
-m%=polledb%!4
-
Ȏ m% �
-  � 0:�PlaySong
-  � 1:�OpenSong
-(  � 4:�ClearSong
-2  � 5:�SwapSongRep
-<�
-F�
-P
-Z��SwapSongRep
-dsongrep%=� songrep%
-n
�AdjSongM
-x�
-�
-���OpenSong
-�temp%!0=wsongh%
-�"ș"Wimp_GetWindowState",,temp%
-�temp%!28=-1
-�ș"Wimp_OpenWindow",,temp%
-�temp2%!0=wsongpaneh%
-�#ș"Wimp_GetWindowState",,temp2%
-�temp2%!4=temp%!4
-�temp2%!12=temp%!12
-�temp2%!16=temp%!16
-�temp2%!8=temp%!16-84
-�temp2%!28=-1
.ș"Wimp_OpenWindow",,temp2%
.�
.
."��PlaySong
.,� songlen%>0 �
.68  ș"SFXMP_Stop",1:ș"SFXMP_Stop",2:ș"SFXMP_Stop",3
.@
  Ƞ 2
.J  ȡ 2,"SFXMVoice"
.TP  ș"SFXMP_PlaySong",songstart%,songlen%,startsample%,1,stype%+(songrep%<<8)
.^�
.h�
.r
.|��MInfo
.�m%=polledb%!4
.�Ȏ m% �
.�  � 1:�MType
.�  � 2:�SetBuf
.�  � 3:�ClearAll
.��
.��
.�
.���SetBuf
.�6ș"SFXMP_Stop",1:ș"SFXMP_Stop",2:ș"SFXMP_Stop",3
.�#newblen%=1024*�($(mbuflen%!40))
.�#� newblen%<1024 � newblen%=1024
.�b%=1
/� newblen%<buflen% �
/  temp%!0=0
/4  $(temp%+4)="You will lose the current sample."
/&5  ș"Wimp_ReportError",temp%,%10011,"Confirm"�,b%
/0�
/:� b%=1 �
/D1  ș"XOS_Module",6,,,newblen%�,,newbstart%;v%
/N  � v%�1 �
/X)    �ReportErr("Can't claim memory.")
/b  �
/l    � newblen%<buflen% �
/v%      ș"XOS_Module",7,,bufstart%
/�      bufstart%=newbstart%
/�      buflen%=newblen%
/�      �Clear
/�	    �
/�#      chb%=newbstart%-bufstart%
/�      A%=bufstart%
/�      B%=newbstart%
/�.      C%=startsample%+samplelen%-bufstart%
/�      �copymem
/�      A%=clipbstart%
/�*      B%=newbstart%+newblen%-clipblen%
/�      C%=clipblen%
/�      �copymem
0(      startsample%=startsample%+chb%
0%      ș"XOS_Module",7,,bufstart%
0      bufstart%=newbstart%
0       buflen%=newblen%
0*	    �
04  �
0>�
0H�
0R
0\��ClearAll
0f� samplesaved%=-1 �
0p  �Clear
0z�
0�P  A%=�Confirm("Sample has been modified. Are you sure you want to do this?")
0�  � A%=1 � �Clear
0��
0��
0�
0���Clear
0��Restart
0�temp%!0=wworkh%
0�"ș"Wimp_GetWindowState",,temp%
0�polledb%!20=0
0�ș"Wimp_OpenWindow",,temp%
0��SetExtent
0��SetSongExtent
1$(wwork%!72)="<Untitled>"
1samplesaved%=-1
1�RdWork
1$�
1.
18��MSave
1B�
1L
1V��MType
1`Ȏ polledb%!8 �
1j$  � 0:stype%=2:�AdjTypeM:�RdWork
1t$  � 1:stype%=0:�AdjTypeM:�RdWork
1~$  � 2:stype%=1:�AdjTypeM:�RdWork
1��
1��
1�
1���AdjTypeM
1�Ȏ stype% �
1�S  � 0:typemenu%!(28+24*0+0)=0:typemenu%!(28+24*1+0)=1:typemenu%!(28+24*2+0)=128
1�S  � 1:typemenu%!(28+24*0+0)=0:typemenu%!(28+24*1+0)=0:typemenu%!(28+24*2+0)=129
1�S  � 2:typemenu%!(28+24*0+0)=1:typemenu%!(28+24*1+0)=0:typemenu%!(28+24*2+0)=128
1��
1��
1�
1���AdjSongM
2B� songrep% � songmenu%!(28+24*5)=129 � songmenu%!(28+24*5)=128
2
�
2
2��MEdit
2(#� selectl%<>-1 � selectr%<>-1 �
22  m%=polledb%!4
2<
  Ȏ m% �
2F    � 0:�MECut
2P    � 1:�MECopy
2Z    � 2:�MEPaste
2d    � 3:�MEDelete
2n    � 4:�MEDeleteNS
2x    � 5:�MEDeleteL
2�    � 6:�MEDeleteR
2�  �
2��
2��
2�
2���MECut
2�Cc%=�CheckLen(samplelen%+pselectr%-pselectl%,"No room for cut.")
2�� c%=0 �
2�  A%=startsample%+pselectl%
2�0  B%=bufstart%+buflen%-(pselectr%-pselectl%)
2�  C%=pselectr%-pselectl%
2�  �copymem
2�  clipbstart%=B%
3  clipblen%=C%
3  �MEDelete
3  �ModTitle(0)
3"�
3,�
36
3@��MECopy
3JDc%=�CheckLen(samplelen%+pselectr%-pselectl%,"No room for copy.")
3T� c%=0 �
3^  A%=startsample%+pselectl%
3h0  B%=bufstart%+buflen%-(pselectr%-pselectl%)
3r  C%=pselectr%-pselectl%
3|  �copymem
3�  clipbstart%=B%
3�  clipblen%=C%
3��
3��
3�
3�
��MEPaste
3�=c%=�CheckLen(samplelen%+2*clipblen%,"No room for paste.")
3�� c%=0 �
3�  A%=startsample%+pselectr%
3�)  B%=startsample%+pselectr%+clipblen%
3�  C%=samplelen%-pselectr%
3�  �copymem
3�  A%=clipbstart%
4  B%=startsample%+pselectr%
4  C%=clipblen%
4  �copymem
4&5  � ploopl%>pselectr% � ploopl%=ploopl%+clipblen%
405  � ploopr%>pselectr% � ploopr%=ploopr%+clipblen%
4:  �getwinp
4D%  samplelen%=samplelen%+clipblen%
4NE  � samplelen%<1 � samplelen%=1:startsample%?0=0:startsample%?1=0
4X  �CheckLoop
4b  �CheckSong
4l  �adjptrs
4v  �ZoomSel
4�  �ModTitle(0)
4��
4��
4�
4�ݤCheckLen(l%,e$)
4�*� startsample%+l%>=bufstart%+buflen% �
4�  �ReportErr(e$)
4�  A%=-1
4��
4�
  A%=0
4��
4�=A%
4�
5��MEDelete
5A%=startsample%+pselectr%
5B%=startsample%+pselectl%
5 C%=samplelen%-pselectr%
5*�copymem
54?� ploopl%>pselectl% � ploopl%=ploopl%-(pselectr%-pselectl%)
5>?� ploopr%>pselectl% � ploopr%=ploopr%-(pselectr%-pselectl%)
5H�getwinp
5R!samplelen%=samplelen%-(A%-B%)
5\C� samplelen%<1 � samplelen%=1:startsample%?0=0:startsample%?1=0
5f�CheckLoop
5p�CheckSong
5z�adjptrs
5��ZoomSel
5��ModTitle(0)
5��
5�
5���MEDeleteNS
5�A%=startsample%+pselectl%
5�B%=startsample%
5�C%=pselectr%-pselectl%
5��copymem
5�ploopl%=ploopl%-pselectl%
5�ploopr%=ploopr%-pselectl%
5��getwinp
5�samplelen%=C%
6C� samplelen%<1 � samplelen%=1:startsample%?0=0:startsample%?1=0
6�CheckLoop
6�CheckSong
6$�adjptrs
6.�ZoomSel
68�ModTitle(0)
6B�
6L
6V��MEDeleteL
6`A%=startsample%+pselectl%
6jB%=startsample%
6tC%=samplelen%-pselectl%
6~�copymem
6�ploopl%=ploopl%-pselectl%
6�ploopr%=ploopr%-pselectl%
6��getwinp
6�samplelen%=C%
6�C� samplelen%<1 � samplelen%=1:startsample%?0=0:startsample%?1=0
6��CheckLoop
6��CheckSong
6��adjptrs
6��ZoomSel
6��ModTitle(0)
6��
6�
7��MEDeleteR
7
A%=pselectr%
7�getwinp
7samplelen%=A%
7(C� samplelen%<1 � samplelen%=1:startsample%?0=0:startsample%?1=0
72�CheckLoop
7<�CheckSong
7F�adjptrs
7P�ZoomSel
7Z�ModTitle(0)
7d�
7n
7x��CheckLoop
7�� ploopl%<0 � ploopl%=0
7�-� ploopl%>samplelen% � ploopl%=samplelen%
7�� ploopr%<0 � ploopr%=0
7�-� ploopr%>samplelen% � ploopr%=samplelen%
7�'� ploopl%>ploopr% � ploopr%=ploopl%
7��UpdateSLoop
7��
7�
7�
��getwinp
7�temp%!0=wworkh%
7�"ș"Wimp_GetWindowState",,temp%
7�selectl%=temp%!20
7�selectr%=temp%!20+1022
8"pselectl%=�WorkToPtr(selectl%)
8"pselectr%=�WorkToPtr(selectr%)
8�
8"
8,
��adjptrs
86=� pselectl%<0 � pselectr%=pselectr%-pselectl%:pselectl%=0
8@\� pselectr%>samplelen% � pselectl%=pselectl%-(pselectr%-samplelen%):pselectr%=samplelen%
8J� pselectl%<0 � pselectl%=0
8T1� pselectr%>samplelen% � pselectr%=samplelen%
8^"selectl%=�PtrToWork(pselectl%)
8h"selectr%=�PtrToWork(pselectr%)
8r�
8|
8�
��MSelect
8�m%=polledb%!4
8�Ȏ m% �
8�  � 0:�MSelAll
8�  � 1:�MSelLoop
8�  � 2:�MSelLeft
8�  � 3:�MSelRight
8�  � 4:�MSelWindow
8�  � -1,5:�MSelClear
8��
8��
8�
8�
��MSelAll
9pselectl%=0
9pselectr%=samplelen%
9"selectl%=�PtrToWork(pselectl%)
9&"selectr%=�PtrToWork(pselectr%)
90�UpdateSelect
9:�
9D
9N��MSelLeft
9Xpselectr%=pselectl%
9bpselectl%=0
9l"selectl%=�PtrToWork(pselectl%)
9v"selectr%=�PtrToWork(pselectr%)
9��UpdateSelect
9��
9�
9���MSelRight
9�pselectl%=pselectr%
9�pselectr%=samplelen%
9�"selectl%=�PtrToWork(pselectl%)
9�"selectr%=�PtrToWork(pselectr%)
9��UpdateSelect
9��
9�
9���MSelWindow
9�temp%!0=wworkh%
:"ș"Wimp_GetWindowState",,temp%
:selectl%=temp%!20
:selectr%=temp%!20+1022
: "pselectl%=�WorkToPtr(selectl%)
:*"pselectr%=�WorkToPtr(selectr%)
:4"selectl%=�PtrToWork(pselectl%)
:>"selectr%=�PtrToWork(pselectr%)
:H�UpdateSelect
:R�
:\
:f��MSelLoop
:ppselectl%=ploopl%
:zpselectr%=ploopr%
:�"selectl%=�PtrToWork(pselectl%)
:�"selectr%=�PtrToWork(pselectr%)
:��UpdateSelect
:��
:�
:���MSelClear
:�selectl%=-1:selectr%=-1
:�pselectl%=-1:pselectr%=-1
:��UpdateSelect
:��
:�
:���MZoom
:�m%=polledb%!4
;Ȏ m% �
;  � 0:�ZoomAll
;  � 1:�ZoomOut
;$  � 2:�ZoomLoop
;.  � -1,3:�ZoomSel
;8  � 4:�ZoomStore
;B  � 5:�ZoomRestore
;L�
;V�
;`
;j
��ZoomAll
;tpolledb%!0=wworkh%
;~%ș"Wimp_GetWindowState",,polledb%
;�polledb%!20=0
;�!ș"Wimp_OpenWindow",,polledb%
;�displen%=samplelen%
;��SetExtent
;�"selectl%=�PtrToWork(pselectl%)
;�"selectr%=�PtrToWork(pselectr%)
;�loopl%=�PtrToWork(ploopl%)
;�loopr%=�PtrToWork(ploopr%)
;�!oloopl%=loopl%:oloopr%=loopr%
;�)oselectl%=selectl%:oselectr%=selectr%
;��RdWork
;��
<
<

��ZoomOut
<#opsl%=pselectl%:opsr%=pselectr%
<polledb%!0=wworkh%
<(%ș"Wimp_GetWindowState",,polledb%
<2selectl%=polledb%!20
<<selectr%=polledb%!20+1022
<F"pselectl%=�WorkToPtr(selectl%)
<P"pselectr%=�WorkToPtr(selectr%)
<Zsw%=pselectr%-pselectl%
<dpselectl%=pselectl%-sw%
<npselectr%=pselectr%+sw%
<x=� pselectl%<0 � pselectr%=pselectr%-pselectl%:pselectl%=0
<�\� pselectr%>samplelen% � pselectl%=pselectl%-(pselectr%-samplelen%):pselectr%=samplelen%
<�� pselectl%<0 � pselectl%=0
<�1� pselectr%>samplelen% � pselectr%=samplelen%
<�"selectl%=�PtrToWork(pselectl%)
<�"selectr%=�PtrToWork(pselectr%)
<�loopl%=�PtrToWork(ploopl%)
<�loopr%=�PtrToWork(ploopr%)
<�!oloopl%=loopl%:oloopr%=loopr%
<��ZoomSel
<�#pselectl%=opsl%:pselectr%=opsr%
<�"selectl%=�PtrToWork(pselectl%)
<�"selectr%=�PtrToWork(pselectr%)
<��UpdateSelect
=�
=
=��ZoomLoop
="opsl%=pselectl%
=,opsr%=pselectr%
=6pselectl%=ploopl%
=@pselectr%=ploopr%
=J"selectl%=�PtrToWork(pselectl%)
=T"selectr%=�PtrToWork(pselectr%)
=^�ZoomSel
=hpselectl%=opsl%
=rpselectr%=opsr%
=|"selectl%=�PtrToWork(pselectl%)
=�"selectr%=�PtrToWork(pselectr%)
=��UpdateSelect
=��
=�
=�
��ZoomSel
=�%� pselectl%<>-1 � pselectr%<>-1 �
=�"  displen%=pselectr%-pselectl%
=�  � displen%<1 � displen%=1
=�!  dispst=pselectl%/samplelen%
=�  polledb%!0=wworkh%
=�'  ș"Wimp_GetWindowState",,polledb%
=�  polledb%!20=0
=�#  ș"Wimp_OpenWindow",,polledb%
>  �SetExtent
>  polledb%!20=dispst*maxx%
>#  ș"Wimp_OpenWindow",,polledb%
>&7  selectl%=-1:selectr%=-1:oselectl%=-1:oselectr%=-1
>0  pselectl%=-1:pselectr%=-1
>:   loopl%=�PtrToWork(ploopl%)
>D   loopr%=�PtrToWork(ploopr%)
>N#  oloopl%=loopl%:oloopr%=loopr%
>X
  �RdWork
>b�
>l�
>v
>���ZoomStore
>�temp%!0=wworkh%
>�"ș"Wimp_GetWindowState",,temp%
>�zoomsl%=temp%!20
>�zoomsr%=temp%!20+1024
>�zoomsl%=�WorkToPtr(zoomsl%)
>�zoomsr%=�WorkToPtr(zoomsr%)
>��
>�
>���ZoomRestore
>�#opsl%=pselectl%:opsr%=pselectr%
>�pselectl%=zoomsl%
>�pselectr%=zoomsr%
?� pselectl%<0 � pselectl%=0
?� pselectr%<0 � pselectr%=0
?1� pselectl%>samplelen% � pselectl%=samplelen%
? 1� pselectr%>samplelen% � pselectr%=samplelen%
?*�ZoomSel
?4#pselectl%=opsl%:pselectr%=opsr%
?>"selectl%=�PtrToWork(pselectl%)
?H"selectr%=�PtrToWork(pselectr%)
?R�UpdateSelect
?\�
?f
?p��MLoop
?zm%=polledb%!4
?�Ȏ m% �
?�  � 0:�LoopAll
?�  � 1:�LoopWindow
?�  � 2:�LoopSel
?�  � 3:�LoopHalf
?�  � 4:�LoopDouble
?�  � 5:�LoopStore
?�  � 6:�LoopRestore
?��
?��
?�
?�
��LoopAll
?�
ploopl%=0
@ploopr%=samplelen%
@loopl%=�PtrToWork(ploopl%)
@loopr%=�PtrToWork(ploopr%)
@$�UpdateLoopP
@.�
@8
@B��LoopWindow
@Lopsl%=pselectl%
@Vopsr%=pselectr%
@`�getwinp
@j�LoopSel
@tpselectl%=opsl%
@~pselectr%=opsr%
@�"selectl%=�PtrToWork(pselectl%)
@�"selectr%=�PtrToWork(pselectr%)
@��UpdateSelect
@��
@�
@�
��LoopSel
@�%� pselectl%<>-1 � pselectr%<>-1 �
@�  ploopl%=pselectl%
@�  ploopr%=pselectr%
@�   loopl%=�PtrToWork(ploopl%)
@�   loopr%=�PtrToWork(ploopr%)
@�  �UpdateLoopP
A�
A
�
A
A��LoopHalf
A('ploopr%=ploopl%+(ploopr%-ploopl%)/2
A2loopl%=�PtrToWork(ploopl%)
A<loopr%=�PtrToWork(ploopr%)
AF�UpdateLoopP
AP�
AZ
Ad��LoopDouble
An'ploopr%=ploopl%+(ploopr%-ploopl%)*2
AxR� ploopr%>samplelen% � ploopl%=ploopl%-(ploopr%-samplelen%):ploopr%=samplelen%
A�� ploopl%<0 � ploopl%=0
A�loopl%=�PtrToWork(ploopl%)
A�loopr%=�PtrToWork(ploopr%)
A��UpdateLoopP
A��
A�
A���LoopStore
A�%sploopl%=ploopl%:sploopr%=ploopr%
A��
A�
A���LoopRestore
A�%ploopl%=sploopl%:ploopr%=sploopr%
A�� ploopl%<0 � ploopl%=0
B� ploopr%<0 � ploopr%=0
B-� ploopl%>samplelen% � ploopl%=samplelen%
B-� ploopr%>samplelen% � ploopr%=samplelen%
B"loopl%=�PtrToWork(ploopl%)
B,loopr%=�PtrToWork(ploopr%)
B6�UpdateLoopP
B@�
BJ
BT��MGoodies
B^%� pselectl%<>-1 � pselectr%<>-1 �
Bh  A%=startsample%+pselectl%
Br  B%=startsample%+pselectr%
B|�
B�  A%=startsample%
B�   B%=startsample%+samplelen%
B��
B�� A%>B% � Ȕ A%,B%
B�m%=polledb%!4
B�Ȏ m% �
B�  � 0:�MGSigned
B�  � 1:�MGLinLog
B�  � 2:�MGLogLin
B�  � 3:�MGReverse
B�  � 4:�MGFiltLo
B�  � 5:�MGFiltHi
B�  � 6:�MGScAmp
C  � 9:�MGLength
C  � 10:�MGFill
C  � 11:�MGFFT
C&  � 12:�MGAddClipB
C0�
C:�
CD
CN��MGSigned
CX�signed
Cb�RdWork
Cl�ModTitle(0)
Cv�
C�
C���MGLinLog
C�� stype%<>0 � stype%<>1 �
C�.  �ReportErr("SFXED not in lineair mode.")
C��
C�8  ș"SFXMP_Stop",1:ș"SFXMP_Stop",2:ș"SFXMP_Stop",3
C�  C%=stype%
C�
  �linlog
C�  stype%=2
C�  �AdjTypeM
C�
  �RdWork
C�  �ModTitle(0)
C��
D�
D
D��MGLogLin
D 6ș"SFXMP_Stop",1:ș"SFXMP_Stop",2:ș"SFXMP_Stop",3
D*�loglin
D4stype%=0
D>
�AdjTypeM
DH�RdWork
DR�ModTitle(0)
D\�
Df
Dp��MGReverse
Dz�reverse
D��RdWork
D��ModTitle(0)
D��
D�
D���MGFiltLo
D�� stype%=2 �
D�-  �ReportErr("Only for lineair samples.")
D��
D�  C%=16*�($(mfiltlo%!40))
D�  � C%<0 � C%>4095 �
D�0    �ReportErr("Only values from 0 to 256.")
D�  �
D�    D%=stype%
E    E%=A%?0
E     � stype%=1 � E%=E% � &80
E    E%=(E%<<24)>>24
E$    E%=E%*256
E.    �filtlo
E8    �RdWork
EB    �ModTitle(0)
EL  �
EV�
E`�
Ej
Et��MGFiltHi
E~� stype%=2 �
E�-  �ReportErr("Only for lineair samples.")
E��
E�  C%=16*�($(mfilthi%!40))
E�  � C%<0 � C%>4095 �
E�/    �ReportErr("Only values from 0 to 256")
E�  �
E�    D%=stype%
E�*    � A%=startsample% � E%=0 � E%=A%?0
E�     � stype%=1 � E%=E% � &80
E�    E%=(E%<<24)>>24
E�    E%=E%*256
E�    �filthi
F    �RdWork
F
    �ModTitle(0)
F  �
F�
F(�
F2
F<
��MGScAmp
FF� stype%=2 �
FP-  �ReportErr("Only for lineair samples.")
FZ�
Fd"  C%=4096*�($(mscamp%!40))/100
Fn  D%=stype%
Fx  �scamp
F�
  �RdWork
F�  �ModTitle(0)
F��
F��
F�
F���MGLength
F�fr=�($(mnewlen%!40))/100
F�sa%=A%-startsample%
F�sb%=B%-startsample%
F�Nc%=�CheckLen(samplelen%+clipblen%+(sb%-sa%)*(fr-1),"No room for stretch.")
F�� c%=0 �
F�  sc%=fr*&1000000
F�  � sc%>=&1000000 �
G    A%=startsample%+sb%
G(    B%=startsample%+sa%+(sb%-sa%)*fr
G    C%=samplelen%-sb%
G"    �copymem
G,  �
G6  A%=startsample%+sa%
G@  B%=startsample%+sb%
GJ  C%=sc%
GT  � sc%<&1000000 �
G^+    � fr<>0 � C%=&1000000/fr:�nwlengths
Gh  �
Gr    C%=&1000000/fr
G|(    D%=startsample%+sa%+(sb%-sa%)*fr
G�    �nwlengthb
G�  �
G�  � sc%<&1000000 �
G�    A%=startsample%+sb%
G�(    B%=startsample%+sa%+(sb%-sa%)*fr
G�    C%=samplelen%-sb%
G�    �copymem
G�  �
G�<  � ploopl%>sa% � ploopl%=ploopl%-(sb%-sa%)+(sb%-sa%)*fr
G�<  � ploopr%>sa% � ploopr%=ploopr%-(sb%-sa%)+(sb%-sa%)*fr
G�  �getwinp
G�2  samplelen%=samplelen%-(sb%-sa%)+(sb%-sa%)*fr
G�E  � samplelen%<1 � samplelen%=1:startsample%?0=0:startsample%?1=0
H  �CheckLoop
H  �CheckSong
H  �adjptrs
H&  �ZoomSel
H0  �ModTitle(0)
H:�
HD�
HN
HX��MGFill
Hb� stype%=1 � C%=128 � C%=0
Hl�fillmem
Hv�RdWork
H��ModTitle(0)
H��
H�
H���MGFFT
H�� stype%=2 �
H�-  �ReportErr("Only for lineair samples.")
H��
H�  C%=�($(mfftamp%!40))
H�  � C%<0 � C%=0
H�  ș"Hourglass_On"
H�   ș"Wimp_BaseOfSprites"�,S%
H�-  ș"OS_SpriteOp",60+256,S%,"fftsprite",0
H�
  �:�5
I  � 512,512,0,256
I  � 512,512,1024,256
I  � 512,512,512,1024
I 
  � 8,212
I*  �"f";
I4  � 26,232,0,220
I>  � 12,220,0,220
IH  � 8,228,0,220
IR  � 1000,212
I\  �"t";
If  � 996,232,1022,220
Ip  � 1010,220,1022,220
Iz  � 1014,228,1022,220
I�  � 490,1020
I�  �"A";
I�  � 480,1020,480,988
I�  � 476,1008,480,1020
I�  � 484,1008,480,1020
I�
I�  fftcode%!4=A%
I�  fftcode%!8=B%
I�  fftcode%!12=0
I�<  � (B%-A%)<128 � fftcode%!16=0 � fftcode%!16=64*(B%-A%)
I�  fftcode%!20=0
I�  fftcode%!24=stype%
I�  fftcode%!28=C%
J  fftcode%!32=512
J  fftcode%!36=512
J  fftcode%!40=fftrcoef%
J$  fftcode%!44=ffticoef%
J.  �fftcode%
J8
JB#  ș"OS_SpriteOp",60+256,S%,0,0
JL  temp%!0=wffth%
JV!  ș"Wimp_CloseWindow",,temp%
J`$  ș"Wimp_GetWindowState",,temp%
Jj  temp%!28=-1
Jt   ș"Wimp_OpenWindow",,temp%
J~  ș"Hourglass_Off"
J��
J��
J�
J���MGAddClipB
J�� stype%=2 �
J�-  �ReportErr("Only for lineair samples.")
J��
J�1  � B%-A%>clipblen% � C%=clipblen% � C%=B%-A%
J�  B%=clipbstart%
J�  D%=stype%
J�  �addclip
J�
  �RdWork
K  �ModTitle(0)
K
�
K�
K
K(��EchoClick
K2%� pselectl%<>-1 � pselectr%<>-1 �
K<  A%=startsample%+pselectl%
KF  B%=startsample%+pselectr%
KP�
KZ  A%=startsample%
Kd   B%=startsample%+samplelen%
Kn�
Kx� A%>B% � Ȕ A%,B%
K�� polledb%!16=8 �
K�  ȗ a%,b%,bc%
K�  � stype%=2 �
K�/    �ReportErr("Only for lineair samples.")
K�  �
K�    temp%!0=wechoh%
K�    temp%!4=2
K�$    ș"Wimp_GetIconState",,temp%
K�'    C%=256-(256*�($(temp%!28))/100)
K�    temp%!0=wechoh%
K�    temp%!4=3
K�$    ș"Wimp_GetIconState",,temp%
K�    D%=�($(temp%!28))
L    temp%!0=wechoh%
L    temp%!4=6
L$    ș"Wimp_GetIconState",,temp%
L"    E%=(temp%!24)�(1<<21)
L,    F%=stype%
L6    � C%<0 � C%>256 �
L@0      �ReportErr("Decay rate out of range.")
LJ	    �
LT      �echo
L^      �RdWork
Lh      �ModTitle(0)
Lr	    �
L|  �
L�5  � (bc% � 1)=0 � ș"Wimp_CreateMenu",-1,-1,-1,-1
L��
L��
L�
L���FadeClick
L�%� pselectl%<>-1 � pselectr%<>-1 �
L�  A%=startsample%+pselectl%
L�  B%=startsample%+pselectr%
L��
L�  A%=startsample%
L�   B%=startsample%+samplelen%
L��
L�� A%>B% � Ȕ A%,B%
M� polledb%!16=6 �
M  ȗ a%,b%,bc%
M  � stype%=2 �
M&/    �ReportErr("Only for lineair samples.")
M0  �
M:    temp%!0=wfadeh%
MD    temp%!4=2
MN$    ș"Wimp_GetIconState",,temp%
MX'    C%=&10000000*�($(temp%!28))/100
Mb    temp%!0=wfadeh%
Ml    temp%!4=3
Mv$    ș"Wimp_GetIconState",,temp%
M�'    D%=&10000000*�($(temp%!28))/100
M�    � B%-A%<>0 �
M�      E%=(D%-C%)/(B%-A%)
M�      F%=stype%
M�      �fade
M�      �RdWork
M�      �ModTitle(0)
M�	    �
M�  �
M�5  � (bc% � 1)=0 � ș"Wimp_CreateMenu",-1,-1,-1,-1
M��
M��
M�
N��User_Message
N*�T%=0�255�4:messbk%!T%=polledb%!T%:�T%
Nm%=polledb%!16
N Ȏ m% �
N*  � 0:�Quit
N4  � 1:�DataSave
N>  � 2:�SaveAck
NH  � 3:�DataLoad
NR  � &400c0:�MenuWarning
N\"  � &9abc0:polledb%!8=1:�MType
Nf"  � &9abc1:polledb%!8=2:�MType
Np"  � &9abc2:polledb%!8=0:�MType
Nz  � &9abc3:�MessGetLen
N�  � &9abc4:�Calculated
N��
N��
N�
N���DataLoad
N�Ȏ polledb%!20 �
N�  � -2,wworkh%:�LoadSample
N��
N��
N�
N���MessGetLen
N�6ș"SFXMP_Stop",1:ș"SFXMP_Stop",2:ș"SFXMP_Stop",3
N�temp%!20=bufstart%
Otemp%!24=buflen%-clipblen%
O�SendSFXM(&9abc5)
O�
O$
O.��Calculated
O86ș"SFXMP_Stop",1:ș"SFXMP_Stop",2:ș"SFXMP_Stop",3
OBstartsample%=bufstart%
OLsamplelen%=polledb%!20
OVstype%=polledb%!24
O`
�AdjTypeM
Oj5selectl%=-1:selectr%=-1:oselectl%=-1:oselectr%=-1
Otpselectl%=-1:pselectr%=-1
O~ ploopl%=0:ploopr%=samplelen%
O�$(wwork%!72)=$(polledb%+28)
O�samplesaved%=-1
O�
�OpenWork
O��CheckSong
O��ZoomAll
O�9ș"XWimp_SetCaretPosition",wkeyboardh%,-1,-1,-1,-1,-1
O��
O�
O���SendSFXM(M%)
O�H%=�GetSFXMH
O�
� H%<>0 �
O�  temp%!0=256
P  temp%!4=0
P
  temp%!8=0
P  temp%!12=0
P  temp%!16=M%
P(&  ș"Wimp_SendMessage",17,temp%,H%
P2�
P<�
PF
PPݤGetSFXMH
PZ;ș"XOS_ReadVarVal","SFXM_TaskHandle",temp2%,16,0,0�,,A%
Pdtemp2%?A%=13
Pn!� A%=0 � =0 � =�("&"+$temp2%)
Px
P���LoadSample
P�6ș"SFXMP_Stop",1:ș"SFXMP_Stop",2:ș"SFXMP_Stop",3
P��MBString(polledb%+44)
P�filetoload$=$(polledb%+44)
P�filetype%=polledb%!40
P�� samplesaved%=-1 �
P�  �LoadSample2
P��
P�\  A%=�Confirm("Sample has been modified. Are you sure you want to load another sample?")
P�  � A%=1 � �LoadSample2
P��
P�messbk%!0=256
P�messbk%!12=messbk%!8
Qmessbk%!16=4
Q-ș"Wimp_SendMessage",17,messbk%,messbk%!4
Q�
Q"
Q,��LoadSample2
Q6� �
Q@� � � �ReportErr(�$):�
QJf%=�(filetoload$)
QT� f%=0 �
Q^  samplelen%=1
Qh  startsample%?0=0
Qr  startsample%?1=0
Q|
  �#f%
Q��
Q�  filelen%=�#f%
Q�
  �#f%
Q�1  c%=�CheckLen(filelen%+clipblen%,"No room.")
Q�  � c%=0 �
Q�    f%=�(filetoload$)
Q�    startsample%=bufstart%
Q�    Ȏ filetype% �
Q�      � &cb5:�LoadSa1
Q�      � &d3c:�LoadSa2
Q�      � &df9:�LoadSa3
Q�      � &ed0:�LoadSa4
Q�      � &d3b:�LoadSong
R      :�LoadSaX
R	    �
R    �#f%
R&9    selectl%=-1:selectr%=-1:oselectl%=-1:oselectr%=-1
R0!    pselectl%=-1:pselectr%=-1
R:&    � filetoload$="<Wimp$Scrap>" �
RD"      �("delete <Wimp$Scrap>")
RN"      filetoload$=filetoload2$
RX	    �
Rb     $(wwork%!72)=filetoload$
Rl    � filetype%=&d3b �
Rv      temp%!0=wsaveassongh%
R�      temp%!4=1
R�&      ș"Wimp_GetIconState",,temp%
R�$      $(!(temp%+28))=filetoload$
R�	    �
R�      temp%!0=wsaveassa1h%
R�      temp%!4=1
R�&      ș"Wimp_GetIconState",,temp%
R�$      $(!(temp%+28))=filetoload$
R�      temp%!0=wsaveassa2h%
R�      temp%!4=1
R�&      ș"Wimp_GetIconState",,temp%
R�$      $(!(temp%+28))=filetoload$
R�      temp%!0=wsaveassa3h%
S      temp%!4=1
S&      ș"Wimp_GetIconState",,temp%
S$      $(!(temp%+28))=filetoload$
S       temp%!0=wsaveassa4h%
S*      temp%!4=1
S4&      ș"Wimp_GetIconState",,temp%
S>$      $(!(temp%+28))=filetoload$
SH      temp%!0=wsaveassa5h%
SR      temp%!4=1
S\&      ș"Wimp_GetIconState",,temp%
Sf$      $(!(temp%+28))=filetoload$
Sp      temp%!0=wsaveassa6h%
Sz      temp%!4=1
S�&      ș"Wimp_GetIconState",,temp%
S�$      $(!(temp%+28))=filetoload$
S�      temp%!0=wsaveasmoh%
S�      temp%!4=1
S�&      ș"Wimp_GetIconState",,temp%
S�$      $(!(temp%+28))=filetoload$
S�	    �
S�    samplesaved%=-1
S�    �CheckSong
S�    �OpenWork
S�    �ZoomAll
S�  �
S��
T�
T
T��LoadSong
T$�ClearSong
T.&�#f%,a$,pitch%,songlen%,samplelen%
T8;� a$="RgnosXFS" � songrep%=-1:a$="gnosXFS" � songrep%=0
TBT%=0
TLȕ T%<songlen%
TV  �#f%,b$,A%,B%,C%,D%,E%
T`  D%=D%*16
Tj  � a$<>"gnosXFS" � E%=255
Tt  � A%<0 � A%=0
T~  � B%<0 � B%=0
T�%  � A%>samplelen% � A%=samplelen%
T�%  � B%>samplelen% � B%=samplelen%
T�  � C%<1 � C%=1
T�  � C%>255 � C%=255
T�  � D%<1 � D%=1
T�  � D%>&10000 � D%=&10000
T�  � E%<2 � E%=2
T�  � E%>255 � E%=255
T�  � T%<�(songbuflen%/32) �
T�#    $(songstart%+T%*32)=�b$,10)
T�     songstart%!(T%*32+12)=C%
T�     songstart%!(T%*32+16)=D%
U     songstart%!(T%*32+20)=E%
U
     songstart%!(T%*32+24)=A%
U     songstart%!(T%*32+28)=B%
U  �
U(  T%+=1
U2�
U<,ș"OS_GBPB",4,f%,startsample%,samplelen%
UF�SetPitch2
UP
�AdjSongM
UZ�RdSong
Ud�SetSongExtent
Un ploopl%=0:ploopr%=samplelen%
Ux�
U�
U�
��LoadSa1
U�ș"OS_GBPB",3,f%,temp%,4,0
U�� !temp%<>&504d4153 �
U�.  ș"OS_GBPB",3,f%,startsample%,filelen%,0
U�  samplelen%=filelen%
U�  ploopl%=0:ploopr%=2
U��
U�  samplelen%=-1
U�  ploopl%=-1
U�  ploopr%=-1
U�  N%=0:T%=0
U�9  ȕ N%=0 � (samplelen%=-1 � ploopl%=-1 � ploopr%=-1)
V*    ș"OS_GBPB",3,f%,temp%,4,T%�,,,,T%
V    Ȏ !temp% �
VH      � &53464f52:ș"OS_GBPB",3,f%,temp%,8,T%�,,,,T%:ploopl%=temp%!4
V"H      � &4e454c52:ș"OS_GBPB",3,f%,temp%,8,T%�,,,,T%:ploopr%=temp%!4
V,~      � &54414453:ș"OS_GBPB",3,f%,temp%,4,T%�,,,,T%:samplelen%=temp%!0:ș"OS_GBPB",3,f%,startsample%,samplelen%,T%�,,,,T%
V6	    �
V@    ș"OS_Args",254,f%�N%
VJ    N%=N%�(1<<9)
VT  �
V^Q  � samplelen%=-1 � �ReportErr("Bad Chunk."):samplelen%=1:ploopl%=0:ploopr%=1
VhW  � ploopl%=-1 � ploopr%=-1 � �ReportErr("Bad Chunk."):ploopl%=0:ploopr%=samplelen%
Vr  ploopr%=ploopl%+ploopr%
V|�
V�stype%=2
V�
�AdjTypeM
V�7� ploopl%=0 � ploopr%=2 � playtype%=0 � playtype%=3
V��AdjKeys
V�� ploopl%<0 � ploopl%=0
V�@� ploopl%>samplelen% � ploopl%=samplelen%:ploopr%=samplelen%
V�-� ploopr%>samplelen% � ploopr%=samplelen%
V�%� ploopr%<0 � ploopl%=0:ploopr%=0
V�'� ploopr%<ploopl% � ploopr%=ploopl%
V��
V��
V�
V�
��LoadSa2
W%ș"OS_GBPB",3,f%,startsample%,1,0
Wpitch%=?startsample%
W�SetPitch2
W&.ș"OS_GBPB",3,f%,startsample%,filelen%-1,1
W0samplelen%=filelen%-1
W: ploopl%=0:ploopr%=samplelen%
WDstype%=0
WN
�AdjTypeM
WX�
Wb
Wl
��LoadSa3
Wvș"OS_GBPB",3,f%,temp%,4,20
W�samplelen%=temp%!0
W�ș"OS_GBPB",3,f%,temp%,4,24
W�ploopl%=(temp%!0)*256
W�ș"OS_GBPB",3,f%,temp%,4,28
W�ploopr%=(temp%!0)*256
W�0ș"OS_GBPB",3,f%,startsample%,samplelen%,544
W�stype%=0
W�
�AdjTypeM
W�1� ploopl%=ploopr% � playtype%=0 � playtype%=3
W��AdjKeys
W�� ploopl%<0 � ploopl%=0
W�@� ploopl%>samplelen% � ploopl%=samplelen%:ploopr%=samplelen%
W�-� ploopr%>samplelen% � ploopr%=samplelen%
X%� ploopr%<0 � ploopl%=0:ploopr%=0
X'� ploopr%<ploopl% � ploopr%=ploopl%
X�
X 
X*
��LoadSa4
X4,ș"OS_GBPB",3,f%,startsample%,filelen%,0
X>samplelen%=filelen%
XH ploopl%=0:ploopr%=samplelen%
XRstype%=1
X\
�AdjTypeM
Xf�
Xp
Xz
��LoadSaX
X�,ș"OS_GBPB",3,f%,startsample%,filelen%,0
X�samplelen%=filelen%
X� ploopl%=0:ploopr%=samplelen%
X��
X�
X�
��AdjKeys
X�temp%!0=wkeyboardh%
X�temp%!4=43
X�-� playtype%=0 � temp%!8=1<<21 � temp%!8=0
X�temp%!12=1<<21
X� ș"Wimp_SetIconState",,temp%
X�temp%!4=44
X�-� playtype%=1 � temp%!8=1<<21 � temp%!8=0
Ytemp%!12=1<<21
Y ș"Wimp_SetIconState",,temp%
Ytemp%!4=45
Y$-� playtype%=2 � temp%!8=1<<21 � temp%!8=0
Y.temp%!12=1<<21
Y8 ș"Wimp_SetIconState",,temp%
YBtemp%!4=46
YL-� playtype%=3 � temp%!8=1<<21 � temp%!8=0
YVtemp%!12=1<<21
Y` ș"Wimp_SetIconState",,temp%
Yj�
Yt
Y~��MenuWarning
Y�N� (lastmenu%=workmenu%) � (polledb%!32=0) � (polledb%!36=0) � �NewMenuInfo
Y�O� (lastmenu%=workmenu%) � (polledb%!32=1) � (polledb%!40=-1) � �NewMenuSave
Y�Q� (lastmenu%=workmenu%) � (polledb%!32=1) � (polledb%!40<>-1) � �NewMenuWSave
Y�Q� (lastmenu%=workmenu%) � (polledb%!32=7) � (polledb%!36<>-1) � �NewMenuSSave
Y��
Y�
Y���NewMenuSave
Y�Ȏ polledb%!36 �
Y�'  � 0:savedata%=0:$savemenu2%="All"
Y�,  � 1:savedata%=1:$savemenu2%="Selected"
Y�-  � 2:savedata%=2:$savemenu2%="Clipboard"
Y��
Z?ș"Wimp_CreateSubMenu",,polledb%!20,polledb%!24,polledb%!28
Z
�
Z
Z��NewMenuWSave
Z(Ȏ polledb%!40 �
Z2  � 0:savedt%=0
Z<  � 1:savedt%=1
ZF  � 2:savedt%=2
ZP  � 3:savedt%=3
ZZ  � 4:savedt%=4
Zd  � 5:savedt%=5
Zn  � 6:savedt%=6
Zx�
Z�?ș"Wimp_CreateSubMenu",,polledb%!20,polledb%!24,polledb%!28
Z��
Z�
Z���NewMenuSSave
Z�Ȏ polledb%!36 �
Z�   � 2:savedt%=10:savedata%=0
Z�   � 3:savedt%=11:savedata%=0
Z��
Z�?ș"Wimp_CreateSubMenu",,polledb%!20,polledb%!24,polledb%!28
Z��
Z�
Z���NewMenuInfo
Z�temp%!0=winfoh%
[
temp%!4=5
[ ș"Wimp_GetIconState",,temp%
[$(temp%!28)=�buflen%
["
temp%!4=6
[, ș"Wimp_GetIconState",,temp%
[6$(temp%!28)=�samplelen%
[@
temp%!4=7
[J ș"Wimp_GetIconState",,temp%
[T$(temp%!28)=�clipblen%
[^
temp%!4=8
[h ș"Wimp_GetIconState",,temp%
[rY� pselectl%<>-1 � pselectr%<>-1 � $(temp%!28)=�(pselectr%-pselectl%) � $(temp%!28)=""
[|
temp%!4=9
[� ș"Wimp_GetIconState",,temp%
[�=� pselectl%<>-1 � $(temp%!28)=�pselectl% � $(temp%!28)=""
[�temp%!4=16
[� ș"Wimp_GetIconState",,temp%
[�=� pselectr%<>-1 � $(temp%!28)=�pselectr% � $(temp%!28)=""
[�temp%!4=20
[� ș"Wimp_GetIconState",,temp%
[�$(temp%!28)=�ploopl%
[�temp%!4=21
[� ș"Wimp_GetIconState",,temp%
[�$(temp%!28)=�ploopr%
[�?ș"Wimp_CreateSubMenu",,polledb%!20,polledb%!24,polledb%!28
[��
\
\��CloseDown
\� samplesaved%=-1 �
\&  �Quit
\0�
\:M  A%=�Confirm("Sample has been modified. Are you sure you want to quit?")
\D  � A%=1 � �Quit
\N�
\X�
\b
\l
��Quit
\v�SendSFXM(0)
\�ș"SFXMP_Stop",1
\�ș"SFXMP_Stop",2
\�ș"SFXMP_Stop",3
\�ș"SFXMP_Disable"
\�2ș"XOS_SetVarVal","SFXED_TaskHandle","",-1,0,0
\�ș"Wimp_BaseOfSprites"�,S%
\�*ș"XOS_SpriteOp",25+256,S%,"fftsprite"
\�1� bufstart%<>-1 � ș"XOS_Module",7,,bufstart%
\�3� songstart%<>-1 � ș"XOS_Module",7,,songstart%
\�ș"Hourglass_Smash"
\�'ș"Wimp_CloseDown",taskh%,&4b534154
\�ș"OS_Exit"
\��
]
]��SetExtent
]"maxx%=1024*samplelen%/displen%
] 
temp%!0=0
]*temp%!4=-256
]4temp%!8=maxx%
]>temp%!12=0
]H$ș"Wimp_SetExtent",wworkh%,temp%
]R�
]\
]f��SetSongExtent
]p
temp%!0=0
]z temp%!4=-(96+songlen%*36+36)
]�temp%!8=604
]�temp%!12=0
]�$ș"Wimp_SetExtent",wsongh%,temp%
]�temp%!0=wsongh%
]�"ș"Wimp_GetWindowState",,temp%
]�5� (temp%!32)�(1<<16) � ș"Wimp_OpenWindow",,temp%
]��
]�
]�
��Init
]�� temp% 1000
]�� temp2% 1000
]�� messbk% 512
]�bufstart%=-1
^songstart%=-1
^=ș"Wimp_Initialise",200,&4b534154,"SFXED"�version%,taskh%
^D� version%<200 � ș"Wimp_CloseDown",taskh%,&4b534154:ș"OS_Exit"
^$<ș"XOS_ReadVarVal","SFXED_TaskHandle",temp2%,16,0,0�,,A%
^.
� A%<>0 �
^8*  �ReportErr("SFXED already running.")
^B)  ș"Wimp_CloseDown",taskh%,&4b534154
^L  ș"OS_Exit"
^V�
^`ș"Hourglass_On"
^j7ș"XOS_SetVarVal","SFXED_TaskHandle",�~taskh%,8,0,0
^t� smodlog% 512
^~� smodslin% 512
^�� smodulin% 512
^�� smodsong% 1024
^�� fftcode% 3000
^�� fftrcoef% 128*4
^�� ffticoef% 128*4
^�+�("LOAD <SFXED$Dir>.pmlog "+�~smodlog%)
^�-�("LOAD <SFXED$Dir>.pmslin "+�~smodslin%)
^�-�("LOAD <SFXED$Dir>.pmulin "+�~smodulin%)
^�-�("LOAD <SFXED$Dir>.pmsong "+�~smodsong%)
^�-�("LOAD <SFXED$Dir>.fftcode "+�~fftcode%)
^�/ș"Wimp_SpriteOp",11,,"<SFXED$Dir>.Sprites"
^�2ș"Wimp_OpenTemplate",,"<SFXED$Dir>.Templates"
_� wsaveassa1% 1000
_
� wsaveassa2% 1000
_� wsaveassa3% 1000
_� wsaveassa4% 1000
_(� wsaveassa5% 1000
_2� wsaveassa6% 1000
_<� wsaveassong% 1000
_F� wsavesongmo% 1000
_P� wsaveasmo% 1000
_Z� wabout% 1000
_d� wkeyboard% 4000
_n� wwork% 1000
_x� winfo% 1000
_�� wecho% 1000
_�� wfade% 1000
_�� wpos% 1000
_�� wfft% 1000
_�� wsong% 1000
_�� wsongpane% 1000
_�� icbuf% 4000
_�icbufn%=icbuf%
_�� tname% 16
_�next%=0
_�&�LoadTemp(wsaveassa1%,"saveassa1")
_�&�LoadTemp(wsaveassa2%,"saveassa2")
_�&�LoadTemp(wsaveassa3%,"saveassa3")
`&�LoadTemp(wsaveassa4%,"saveassa4")
`&�LoadTemp(wsaveassa5%,"saveassa5")
`&�LoadTemp(wsaveassa6%,"saveassa6")
`"(�LoadTemp(wsaveassong%,"saveassong")
`,(�LoadTemp(wsavesongmo%,"savesongmo")
`6�LoadTemp(wabout%,"about")
`@$�LoadTemp(wkeyboard%,"keyboard")
`J$�LoadTemp(wsaveasmo%,"saveasmo")
`T�LoadTemp(wfade%,"fade")
`^�LoadTemp(wecho%,"echo")
`h�LoadTemp(winfo%,"info")
`r�LoadTemp(wwork%,"work")
`|�LoadTemp(wpos%,"pos")
`��LoadTemp(wfft%,"fft")
`��LoadTemp(wsong%,"song")
`�$�LoadTemp(wsongpane%,"songpane")
`�ș"Wimp_CloseTemplate"
`�3ș"Wimp_CreateWindow",,wsaveassa1%�wsaveassa1h%
`�3ș"Wimp_CreateWindow",,wsaveassa2%�wsaveassa2h%
`�3ș"Wimp_CreateWindow",,wsaveassa3%�wsaveassa3h%
`�3ș"Wimp_CreateWindow",,wsaveassa4%�wsaveassa4h%
`�3ș"Wimp_CreateWindow",,wsaveassa5%�wsaveassa5h%
`�3ș"Wimp_CreateWindow",,wsaveassa6%�wsaveassa6h%
`�5ș"Wimp_CreateWindow",,wsaveassong%�wsaveassongh%
`�5ș"Wimp_CreateWindow",,wsavesongmo%�wsavesongmoh%
`�1ș"Wimp_CreateWindow",,wsaveasmo%�wsaveasmoh%
a+ș"Wimp_CreateWindow",,wabout%�wabouth%
a1ș"Wimp_CreateWindow",,wkeyboard%�wkeyboardh%
a)ș"Wimp_CreateWindow",,wwork%�wworkh%
a&)ș"Wimp_CreateWindow",,winfo%�winfoh%
a0)ș"Wimp_CreateWindow",,wecho%�wechoh%
a:)ș"Wimp_CreateWindow",,wfade%�wfadeh%
aD'ș"Wimp_CreateWindow",,wpos%�wposh%
aN'ș"Wimp_CreateWindow",,wfft%�wffth%
aX)ș"Wimp_CreateWindow",,wsong%�wsongh%
ab1ș"Wimp_CreateWindow",,wsongpane%�wsongpaneh%
al
�Menus
av� bicon% 32
a�bicon%!0=-1
a�bicon%!4=0
a�bicon%!8=0
a�bicon%!12=68
a�bicon%!16=68
a�bicon%!20=%0011000000011010
a�$(bicon%+24)="!sfxed"
a�'ș"Wimp_CreateIcon",,bicon%�biconh%
a�
�Assem
a�� dragb% 256
a�� pollb% 256
a�� polledb% 256
a�*VOLUME 127
b(ș"XSound_Configure",0,0,0,0,0�,,,T%
b� logtable% 256
b!logtab=logtable%
b 
�S%=0�255
b*$  logtable%?S%=?((T%!8)+(S%<<5))
b4�S%
b>� lintable% 256
bH!lintab=lintable%
bR
�S%=0�127
b\4  lintable%?(S%*2)=�((0.5+267.33*2^(S%/16))/512)
bf*  lintable%?(S%*2+1)=-lintable%?(S%*2)
bp�S%
bzsamplesaved%=-1
b�"filetoload$="":filetoload2$=""
b�savedata%=-1
b�savedt%=-1
b�savetype%=-1
b�
ss%=-1
b�0oldbut%=0:lastmenu%=-1:lastmx%=-1:lastmy%=-1
b�dragtype%=-1
b�playtype%=0
b�maxx%=0
b�more%=0
b�stype%=0
b�releasek%=-1
b�multiplek%=-1
c
okt%=1
cpdisphd%=0
c
pitch%=48
c$spitch%=&1000
c.ospitch%=&1000
c8'ș"XSound_Configure",0,0,pitch%,0,0
cBbuflen%=&20000
cLsongbuflen%=&1000
cVsongrep%=0
c`Ƞ4
cjȡ2,"SFXMVoice"
ctȡ3,"SFXMVoice"
c~ȡ4,"SFXMVoice"
c�ș"SFXMP_Enable"
c�5ș"XOS_Module",6,,,songbuflen%+32�,,songstart%;v%
c�� v%�1 �
c�  songstart%=-1
c�.  �ReportErr("Can't claim sample memory.")
c�  �Quit
c��
c�-ș"XOS_Module",6,,,buflen%�,,bufstart%;v%
c�� v%�1 �
c�  bufstart%=-1
c�.  �ReportErr("Can't claim sample memory.")
c�  �Quit
d�
d
�Restart
d�SetExtent
dș"Hourglass_Off"
d(�
d2
d<
��Restart
dF6ș"SFXMP_Stop",1:ș"SFXMP_Stop",2:ș"SFXMP_Stop",3
dPstartsample%=bufstart%
dZsamplelen%=1
dd!clipbstart%=bufstart%+buflen%
dnclipblen%=0
dxdisplen%=1
d�5selectl%=-1:oselectl%=-1:selectr%=-1:oselectr%=-1
d�pselectl%=-1:pselectr%=-1
d�
playp%=-1
d�loopl%=0:loopr%=1024
d�oloopl%=0:oloopr%=1024
d� ploopl%=0:ploopr%=samplelen%
d�%sploopl%=ploopl%:sploopr%=ploopr%
d�startsample%?0=0
d�startsample%?1=0
d�pos%=0:oldpos%=-1
d� zoomsl%=0:zoomsr%=samplelen%
d��DrawPos
d��ClearSong
e�
e
e��ClearSong
e"6ș"SFXMP_Stop",1:ș"SFXMP_Stop",2:ș"SFXMP_Stop",3
e,songlen%=0
e6currsect%=0
e@temp%!0=wsongpaneh%
eJ
temp%!4=5
eT ș"Wimp_GetIconState",,temp%
e^$(temp%!28)="1"
eh
temp%!4=6
er ș"Wimp_GetIconState",,temp%
e|$(temp%!28)="<Untitled>"
e�
temp%!4=7
e� ș"Wimp_GetIconState",,temp%
e�$(temp%!28)="1"
e�
temp%!4=8
e� ș"Wimp_GetIconState",,temp%
e�$(temp%!28)="4096"
e�
temp%!4=9
e� ș"Wimp_GetIconState",,temp%
e�$(temp%!28)="255"
e��SetSongExtent
e��RdSong
e��RdSongPane
e��
f
f��ModTitle(ss%)
f	� ti$
f&� ss%=samplesaved% � �
f0ti$=$(wwork%!72)
f:*� �ti$," ")<>0 � ti$=�ti$,�ti$," ")-1)
fD� ss%=0 � ti$=ti$+" *"
fN$(wwork%!72)=ti$
fXtemp%!0=wworkh%
fb$ș"Wimp_GetWindowOutline",,temp%
flAș"Wimp_ForceRedraw",-1,temp%!4,temp%!16-40,temp%!12,temp%!16
fvsamplesaved%=ss%
f��
f�
f���LoadTemp(� start%,name$)
f�$tname%=name$
f�Zș"Wimp_LoadTemplate",,start%,icbufn%,icbuf%+4000,-1,tname%,0�,start%,icbufn%,,,,next%
f�I� next%=0 � ș"Wimp_CloseTemplate":� 0,"Template "+name$+" not found"
f��
f�
f���ReportErr(a$)
f�temp2%!0=0
f�$(temp2%+4)=a$
f�)ș"Wimp_ReportError",temp2%,1,"SFXED"
f��
g
gݤConfirm(a$)
gtemp2%!0=0
g $(temp2%+4)=a$
g*4ș"Wimp_ReportError",temp2%,%10011,"Confirm"�,A%
g4=A%
g>
gHݤinterr(a$)
gRtemp2%!0=0
g\$(temp2%+4)=a$
gfBș"Wimp_ReportError",temp2%,%10011,"SFXED Internal Error."�,A%
gp=A%
gz
g�"� titlestring, width in chars.
g�ݤMenuHead(t$,w%)
g�� a%
g�a%=Menus%+MenuPtr%
g�
$a%=t$
g�a%?12=7
g�a%?13=2
g�a%?14=7
g�a%?15=0
g�a%!16=w%*16
g�a%!20=44
g�a%!24=0
g�MenuPtr%+=28
h=a%
h
h;� itemtext, flags, indirected, val. string, max. length
h$��AddItem(i$,f%,i%,v$,ml%)
h.� a%
h8a%=Menus%+MenuPtr%
hB+� (�(i$)>11)�(i%=0) � i%=-1:ml%=�(i$)+1
hLa%!0=f%�255
hV_� f%� 256 � a%!8=%00000111010000011001000000010001 � a%!8=%00000111000000011001000000010001
h`a%!4=-1
hj
� i% �
ht  a%!8+=256
h~"  $(MenuData%+MenuDataPtr%)=i$
h�"  a%!12=MenuData%+MenuDataPtr%
h�  MenuDataPtr%+=�(i$)+1
h�"  $(MenuData%+MenuDataPtr%)=v$
h�"  a%!16=MenuData%+MenuDataPtr%
h�  MenuDataPtr%+=�(v$)+1
h�  a%!20=ml%
h��
h�  $(a%+12)=i$
h��
h�MenuPtr%+=24
h��
h�
i � menu, item, submenupointer
i
��AddSubMenu(m%,i%,p%)
im%!(28+24*i%+4)=p%
i�
i(
i2��Menus
i<� Menus% 4000
iF� MenuData% 2000
iPMenuPtr%=0
iZMenuDataPtr%=0
id
in"iconmenu%=�MenuHead("SFXED",6)
ix�AddItem("Info",0,0,"",0)
i��AddItem("Quit",128,0,"",0)
i�%�AddSubMenu(iconmenu%,0,wabouth%)
i�
i�"workmenu%=�MenuHead("SFXED",8)
i��AddItem("Misc",0,0,"",0)
i��AddItem("Save",0,0,"",0)
i��AddItem("Edit",0,0,"",0)
i��AddItem("Select",0,0,"",0)
i��AddItem("Zoom",0,0,"",0)
i��AddItem("Loop",0,0,"",0)
i� �AddItem("Goodies",0,0,"",0)
i��AddItem("Song",128,0,"",0)
i�"miscmenu%=�MenuHead("Misc",12)
j�AddItem("Info",8,0,"",0)
j$�AddItem("Sample Type",0,0,"",0)
j#�AddItem("Set Buffer",0,0,"",0)
j""�AddItem("Restart",128,0,"",0)
j,)typemenu%=�MenuHead("Sample Type",17)
j6$�AddItem("Logarithmic",0,0,"",0)
j@'�AddItem("Signed Lineair",1,0,"",0)
jJ+�AddItem("Unsigned Lineair",128,0,"",0)
jT'mbuflen%=�MenuHead("Length (K)",11)
j^%�AddItem("128",128+4,-1,"A0-9",5)
jh#savemenu1%=�MenuHead("Save",10)
jr�AddItem("All",8,0,"",0)
j|!�AddItem("Selected",8,0,"",0)
j�&�AddItem("Clipboard",128+8,0,"",0)
j�*savemenu2%=�MenuHead("           ",12)
j�$�AddItem("Tracker",256+8,0,"",0)
j�'�AddItem("Tracker_NH",256+8,0,"",0)
j�%�AddItem("Armadeus",256+8,0,"",0)
j�#�AddItem("DSEdit",256+8,0,"",0)
j� �AddItem("EMR",256+8,0,"",0)
j� �AddItem("Raw",256+8,0,"",0)
j�%�AddItem("Module",256+136,0,"",0)
j�"editmenu%=�MenuHead("Edit",11)
j�#�AddItem("Cut     ^X",0,0,"",0)
j�#�AddItem("Copy    ^C",0,0,"",0)
j�#�AddItem("Paste   ^V",0,0,"",0)
k#�AddItem("Delete  ^D",0,0,"",0)
k �AddItem("Delete*",0,0,"",0)
k �AddItem("DeleteL",0,0,"",0)
k&"�AddItem("DeleteR",128,0,"",0)
k0&selectmenu%=�MenuHead("Select",10)
k:"�AddItem("All    ^A",0,0,"",0)
kD�AddItem("Loop",0,0,"",0)
kN�AddItem("Left",0,0,"",0)
kX�AddItem("Right",0,0,"",0)
kb�AddItem("Window",0,0,"",0)
kl$�AddItem("Clear  ^Z",128,0,"",0)
kv"zoommenu%=�MenuHead("Zoom",12)
k�$�AddItem("All      ^Q",0,0,"",0)
k�$�AddItem("Out      ^W",0,0,"",0)
k��AddItem("Loop",0,0,"",0)
k�$�AddItem("Selected ^S",0,0,"",0)
k�$�AddItem("Remember ^T",0,0,"",0)
k�&�AddItem("Recall   ^R",128,0,"",0)
k�!loopmenu%=�MenuHead("Loop",9)
k��AddItem("All",0,0,"",0)
k��AddItem("Window",0,0,"",0)
k�!�AddItem("Selected",0,0,"",0)
k��AddItem("Half",0,0,"",0)
k��AddItem("Double",0,0,"",0)
k�!�AddItem("Remember",0,0,"",0)
l!�AddItem("Recall",128,0,"",0)
l(goodiesmenu%=�MenuHead("Goodies",12)
l�AddItem("Signed",0,0,"",0)
l !�AddItem("Lin->Log",0,0,"",0)
l*!�AddItem("Log->Lin",0,0,"",0)
l4 �AddItem("Reverse",0,0,"",0)
l>!�AddItem("Low Pass",0,0,"",0)
lH"�AddItem("High Pass",0,0,"",0)
lR �AddItem("Amplify",0,0,"",0)
l\$�AddItem("Echo/Reverb",0,0,"",0)
lf$�AddItem("Fade In/Out",0,0,"",0)
lp �AddItem("Stretch",0,0,"",0)
lz �AddItem("Silence",0,0,"",0)
l��AddItem("FFT",0,0,"",0)
l�%�AddItem("Add Clipb.",128,0,"",0)
l�%mfiltlo%=�MenuHead("Low Pass",10)
l�$�AddItem("32",128+4,-1,"A0-9",4)
l�&mfilthi%=�MenuHead("High Pass",10)
l�%�AddItem("224",128+4,-1,"A0-9",4)
l�$mscamp%=�MenuHead("Volume %",10)
l�%�AddItem("100",128+4,-1,"A0-9",5)
l�%mnewlen%=�MenuHead("Length %",10)
l�%�AddItem("100",128+4,-1,"A0-9",5)
l�"mfftamp%=�MenuHead("Scale",10)
l�%�AddItem("256",128+4,-1,"A0-9",6)
l�"songmenu%=�MenuHead("Song",12)
m�AddItem("Play",0,0,"",0)
m�AddItem("Show",0,0,"",0)
m!�AddItem("Save",256+8,0,"",0)
m$(�AddItem("Save Module",256+8,0,"",0)
m.�AddItem("Clear",0,0,"",0)
m8!�AddItem("Repeat",128,0,"",0)
mB*�AddSubMenu(songmenu%,2,wsaveassongh%)
mL*�AddSubMenu(songmenu%,3,wsavesongmoh%)
mV&�AddSubMenu(workmenu%,0,miscmenu%)
m`'�AddSubMenu(workmenu%,1,savemenu1%)
mj&�AddSubMenu(workmenu%,2,editmenu%)
mt(�AddSubMenu(workmenu%,3,selectmenu%)
m~&�AddSubMenu(workmenu%,4,zoommenu%)
m�&�AddSubMenu(workmenu%,5,loopmenu%)
m�)�AddSubMenu(workmenu%,6,goodiesmenu%)
m�&�AddSubMenu(workmenu%,7,songmenu%)
m�$�AddSubMenu(miscmenu%,0,winfoh%)
m�&�AddSubMenu(miscmenu%,1,typemenu%)
m�%�AddSubMenu(miscmenu%,2,mbuflen%)
m�(�AddSubMenu(savemenu1%,0,savemenu2%)
m�(�AddSubMenu(savemenu1%,1,savemenu2%)
m�(�AddSubMenu(savemenu1%,2,savemenu2%)
m�*�AddSubMenu(savemenu2%,0,wsaveassa1h%)
m�*�AddSubMenu(savemenu2%,1,wsaveassa2h%)
m�*�AddSubMenu(savemenu2%,2,wsaveassa3h%)
n*�AddSubMenu(savemenu2%,3,wsaveassa4h%)
n
*�AddSubMenu(savemenu2%,4,wsaveassa5h%)
n*�AddSubMenu(savemenu2%,5,wsaveassa6h%)
n)�AddSubMenu(savemenu2%,6,wsaveasmoh%)
n((�AddSubMenu(goodiesmenu%,4,mfiltlo%)
n2(�AddSubMenu(goodiesmenu%,5,mfilthi%)
n<'�AddSubMenu(goodiesmenu%,6,mscamp%)
nF'�AddSubMenu(goodiesmenu%,7,wechoh%)
nP'�AddSubMenu(goodiesmenu%,8,wfadeh%)
nZ(�AddSubMenu(goodiesmenu%,9,mnewlen%)
nd)�AddSubMenu(goodiesmenu%,11,mfftamp%)
nn
nx(sectmenu%=�MenuHead("          ",15)
n�$�AddItem("Insert Loop",0,0,"",0)
n�$�AddItem("Append Loop",0,0,"",0)
n�'�AddItem("Overwrite Loop",0,0,"",0)
n�$�AddItem("Delete Loop",0,0,"",0)
n�$�AddItem("Play to End",0,0,"",0)
n�$�AddItem("Play Song",128,0,"",0)
n��
n�
n���Assem
n�� code% 5000
n�� pass%=0�2�2
n�P%=code%
n�[       opt     pass%
o.redrwk
ostmfd   r13!,{r0-r12,r14}
oldmfd   r13,{r6-r12}
o"sub     r5,r8,r7
o,add     r0,r6,r5,asr #12
o6cmp     r0,r12
o@movmi   r0,#&80
oJbmi     skipfr
oTldrb    r0,[r6,r5,asr #12]
o^cmp     r11,#0
oheoreq   r0,r0,#&80
orcmp     r11,#2
o|bne     P%+16
o�movs    r0,r0,lsr #1
o�rsbcs   r0,r0,#0
o�add     r0,r0,#128
o�.skipfr
o�add     r2,r0,r10
o�sub     r1,r9,#2
o�mov     r0,#4
o�swi     "OS_Plot"
o�mov     r12,#512
o�add     r12,r12,#1
o�add     r5,r5,r7
o�
.drawloop
o�ldrb    r0,[r6,r5,asr #12]
pcmp     r11,#0
peoreq   r0,r0,#&80
pcmp     r11,#2
p&bne     P%+16
p0movs    r0,r0,lsr #1
p:rsbcs   r0,r0,#0
pDadd     r0,r0,#128
pNadd     r2,r0,r10
pXmov     r1,r9
pbmov     r0,#5
plswi     "OS_Plot"
pv
p�add     r9,r9,#2
p�add     r5,r5,r7
p�subs    r12,r12,#1
p�bne     drawloop
p�
p�ldmfd   r13!,{r0-r12,pc}
p�
p�.fillmem
p�stmfd   r13!,{r0-r12,r14}
p�cmp     r0,r1
p�movhi   r3,r0
p�movhi   r0,r1
p�movhi   r1,r3
q.fillup
qcmp     r0,r1
qldmeqfd r13!,{r0-r12,pc}
q strb    r2,[r0],#1
q*b       fillup
q4
q>.copymem
qHstmfd   r13!,{r0-r12,r14}
qRcmp     r0,r1
q\bhi     copypl
qfadd     r0,r0,r2
qpadd     r1,r1,r2
qzcmp     r2,#0
q�.cpymlp
q�ldmeqfd r13!,{r0-r12,pc}
q�ldrb    r3,[r0,#-1]!
q�strb    r3,[r1,#-1]!
q�subs    r2,r2,#1
q�b       cpymlp
q�.copypl
q�cmp     r2,#0
q�.cpyplp
q�ldmeqfd r13!,{r0-r12,pc}
q�ldrb    r3,[r0],#1
q�strb    r3,[r1],#1
q�subs    r2,r2,#1
rb       cpyplp
r
r.signed
r$stmfd   r13!,{r0-r12,r14}
r..signlp
r8cmp     r0,r1
rBldmhsfd r13!,{r0-r12,pc}
rLldrb    r2,[r0]
rVeor     r2,r2,#&80
r`strb    r2,[r0],#1
rjb       signlp
rt
r~
r�.linlog
r�stmfd   r13!,{r0-r12,r14}
r�ldr     r4,logtab
r�.linllp
r�cmp     r0,r1
r�ldmhsfd r13!,{r0-r12,pc}
r�ldrb    r3,[r0]
r�cmp     r2,#1
r�eoreq   r3,r3,#&80
r�ldrb    r3,[r4,r3]
r�strb    r3,[r0],#1
r�b       linllp
s
s

s.loglin
sstmfd   r13!,{r0-r12,r14}
s(ldr     r4,lintab
s2.logllp
s<cmp     r0,r1
sFldmhsfd r13!,{r0-r12,pc}
sPldrb    r3,[r0]
sZldr     r3,[r4,r3]
sdstrb    r3,[r0],#1
snb       logllp
sx
s�.logtab
s�
equd    0
s�.lintab
s�
equd    0
s�
s�.reverse
s�stmfd   r13!,{r0-r12,r14}
s�.revlup
s�cmp     r0,r1
s�ldmhsfd r13!,{r0-r12,pc}
s�ldrb    r2,[r0]
s�ldrb    r3,[r1,#-1]
s�strb    r3,[r0],#1
tstrb    r2,[r1,#-1]!
tb       revlup
t
t".filtlo
t,stmfd   r13!,{r0-r12,r14}
t6.fltllp
t@cmp     r0,r1
tJldmhsfd r13!,{r0-r12,pc}
tTldrb    r5,[r0]
t^cmp     r3,#1
theoreq   r5,r5,#&80
trmov     r5,r5,lsl #24
t|mov     r5,r5,asr #24
t�sub     r5,r4,r5,lsl #8
t�mul     r5,r2,r5
t�sub     r4,r4,r5,asr #12
t�mov     r5,r4,asr #8
t�cmp     r5,#127
t�movpl   r5,#127
t�cmn     r5,#127
t�movmi   r5,#128
t�cmp     r3,#1
t�eoreq   r5,r5,#&80
t�strb    r5,[r0],#1
t�b       fltllp
t�
u.filthi
ustmfd   r13!,{r0-r12,r14}
u.flthlp
u&cmp     r0,r1
u0ldmhsfd r13!,{r0-r12,pc}
u:ldrb    r5,[r0]
uDcmp     r3,#1
uNeoreq   r5,r5,#&80
uXmov     r5,r5,lsl #24
ubmov     r5,r5,asr #24
ulmov     r6,r5,lsl #8
uvsub     r5,r4,r5,lsl #8
u�mul     r5,r2,r5
u�sub     r4,r4,r5,asr #12
u�sub     r5,r6,r4
u�mov     r5,r5,asr #8
u�cmp     r5,#127
u�movpl   r5,#127
u�cmn     r5,#127
u�movmi   r5,#128
u�cmp     r3,#1
u�eoreq   r5,r5,#&80
u�strb    r5,[r0],#1
u�b       flthlp
u�
v
.scamp
vstmfd   r13!,{r0-r12,r14}
v.scmplp
v cmp     r0,r1
v*ldmhsfd r13!,{r0-r12,pc}
v4ldrb    r5,[r0]
v>cmp     r3,#1
vHeoreq   r5,r5,#&80
vRmov     r5,r5,lsl #24
v\mov     r5,r5,asr #24
vfmul     r5,r2,r5
vpmov     r5,r5,asr #12
vzcmp     r5,#127
v�movpl   r5,#127
v�cmn     r5,#127
v�movmi   r5,#128
v�cmp     r3,#1
v�eoreq   r5,r5,#&80
v�strb    r5,[r0],#1
v�b       scmplp
v�
v�	.echo
v�stmfd   r13!,{r0-r12,r14}
v�cmp     r4,#0
v�beq     revrb
v�.echolp
wcmp     r0,r1
wldmhsfd r13!,{r0-r12,pc}
wldrb    r6,[r0]
w$ldrb    r7,[r0,r3]
w.cmp     r5,#1
w8eoreq   r6,r6,#&80
wBeoreq   r7,r7,#&80
wLmov     r6,r6,lsl #24
wVmov     r6,r6,asr #24
w`mov     r7,r7,lsl #24
wjmov     r7,r7,asr #24
wtmul     r6,r2,r6
w~add     r7,r7,r6,asr #8
w�mov     r6,r6,asr #8
w�cmp     r6,#127
w�movpl   r6,#127
w�cmn     r6,#127
w�movmi   r6,#128
w�cmp     r7,#127
w�movpl   r7,#127
w�cmn     r7,#127
w�movmi   r7,#128
w�cmp     r5,#1
w�eoreq   r6,r6,#&80
w�eoreq   r7,r7,#&80
xstrb    r7,[r0,r3]
x
strb    r6,[r0],#1
xb       echolp
x
.revrb
x(mov     r6,r1
x2add     r1,r0,r3
x<sub     r0,r6,#1
xF.revblp
xPcmp     r0,r1
xZldmlofd r13!,{r0-r12,pc}
xdldrb    r6,[r0]
xnldrb    r7,[r0,-r3]
xxcmp     r5,#1
x�eoreq   r6,r6,#&80
x�eoreq   r7,r7,#&80
x�mov     r6,r6,lsl #24
x�mov     r6,r6,asr #24
x�mov     r7,r7,lsl #24
x�mov     r7,r7,asr #24
x�mul     r7,r2,r7
x�add     r6,r6,r7,asr #8
x�cmp     r6,#127
x�movpl   r6,#127
x�cmn     r6,#127
x�movmi   r6,#128
x�cmp     r5,#1
yeoreq   r6,r6,#&80
ystrb    r6,[r0],#-1
yb       revblp
y"
y,.nwlengths
y6stmfd   r13!,{r0-r12,r14}
y@mov     r3,#0
yJmov     r4,r0
yT.nwlslp
y^cmp     r0,r1
yhldmhsfd r13!,{r0-r12,pc}
yrldrb    r5,[r0]
y|strb    r5,[r4]
y�add     r4,r4,#1
y�add     r3,r3,r2
y�mov     r5,r3,lsr #24
y�bic     r3,r3,#&ff000000
y�add     r0,r0,r5
y�b       nwlslp
y�
y�.nwlengthb
y�stmfd   r13!,{r0-r12,r14}
y�mov     r4,#0
y�.nwlblp
y�cmp     r3,r0
y�ldmlofd r13!,{r0-r12,pc}
zldrb    r5,[r1]
zstrb    r5,[r3]
zsub     r3,r3,#1
z&add     r4,r4,r2
z0mov     r5,r4,lsr #24
z:bic     r4,r4,#&ff000000
zDsub     r1,r1,r5
zNb       nwlblp
zX
zb	.fade
zlstmfd   r13!,{r0-r12,r14}
zv.fadelp
z�cmp     r0,r1
z�ldmhsfd r13!,{r0-r12,pc}
z�ldrb    r6,[r0]
z�cmp     r5,#1
z�eoreq   r6,r6,#&80
z�mov     r6,r6,lsl #24
z�mov     r6,r6,asr #24
z�mov     r7,r2,asr #20
z�mul     r6,r7,r6
z�mov     r6,r6,asr #8
z�cmp     r6,#127
z�movpl   r6,#127
z�cmn     r6,#127
{movmi   r6,#128
{cmp     r5,#1
{eoreq   r6,r6,#&80
{ strb    r6,[r0],#1
{*add     r2,r2,r4
{4b       fadelp
{>
{H.addclip
{Rstmfd   r13!,{r0-r12,r14}
{\.addcll
{fcmp     r2,#0
{pldmlefd r13!,{r0-r12,pc}
{zldrb    r4,[r0]
{�ldrb    r5,[r1],#1
{�cmp     r3,#1
{�eoreq   r4,r4,#&80
{�eoreq   r5,r5,#&80
{�mov     r4,r4,lsl #24
{�mov     r4,r4,asr #24
{�mov     r5,r5,lsl #24
{�mov     r5,r5,asr #24
{�add     r4,r4,r5
{�mov     r4,r4,asr #1
{�eoreq   r4,r4,#&80
{�strb    r4,[r0],#1
{�sub     r2,r2,#1
|b       addcll
|.endcode
|]
|$
�pass%
|.�
�
00000000  0d 00 0a 1d f4 20 3e 52  41 4d 3a 24 2e 21 53 46  |..... >RAM:$.!SF|
00000010  58 45 44 2e 21 52 75 6e  49 6d 61 67 65 0d 00 14  |XED.!RunImage...|
00000020  1e f4 20 3e 57 72 69 74  74 65 6e 20 62 79 20 47  |.. >Written by G|
00000030  2e 20 56 65 72 6d 65 75  6c 65 6e 0d 00 1e 18 ee  |. Vermeulen.....|
00000040  20 85 20 f2 49 6e 74 45  72 72 6f 72 3a e5 20 8d  | . .IntError:. .|
00000050  54 72 40 0d 00 28 09 f2  49 6e 69 74 0d 00 32 05  |Tr@..(..Init..2.|
00000060  f5 0d 00 3c 2f 20 20 c8  99 22 57 69 6d 70 5f 50  |...</  .."Wimp_P|
00000070  6f 6c 6c 22 2c 30 2c 70  6f 6c 6c 62 25 20 b8 20  |oll",0,pollb% . |
00000080  72 65 61 73 6f 6e 25 2c  70 6f 6c 6c 65 64 62 25  |reason%,polledb%|
00000090  0d 00 46 12 20 20 c8 8e  20 72 65 61 73 6f 6e 25  |..F.  .. reason%|
000000a0  20 ca 0d 00 50 18 20 20  20 20 c9 20 30 3a f2 4e  | ...P.    . 0:.N|
000000b0  75 6c 6c 5f 52 65 61 73  6f 6e 0d 00 5a 1a 20 20  |ull_Reason..Z.  |
000000c0  20 20 c9 20 31 3a f2 52  65 64 72 61 77 5f 57 69  |  . 1:.Redraw_Wi|
000000d0  6e 64 6f 77 0d 00 64 18  20 20 20 20 c9 20 32 3a  |ndow..d.    . 2:|
000000e0  f2 4f 70 65 6e 5f 57 69  6e 64 6f 77 0d 00 6e 19  |.Open_Window..n.|
000000f0  20 20 20 20 c9 20 33 3a  f2 43 6c 6f 73 65 5f 57  |    . 3:.Close_W|
00000100  69 6e 64 6f 77 0d 00 78  18 20 20 20 20 c9 20 36  |indow..x.    . 6|
00000110  3a f2 4d 6f 75 73 65 5f  43 6c 69 63 6b 0d 00 82  |:.Mouse_Click...|
00000120  1a 20 20 20 20 c9 20 37  3a f2 55 73 65 72 5f 44  |.    . 7:.User_D|
00000130  72 61 67 5f 42 6f 78 0d  00 8c 18 20 20 20 20 c9  |rag_Box....    .|
00000140  20 38 3a f2 4b 65 79 5f  50 72 65 73 73 65 64 0d  | 8:.Key_Pressed.|
00000150  00 96 18 20 20 20 20 c9  20 39 3a f2 4d 65 6e 75  |...    . 9:.Menu|
00000160  5f 53 65 6c 65 63 74 0d  00 a0 20 20 20 20 20 c9  |_Select...     .|
00000170  20 31 37 2c 31 38 2c 31  39 3a f2 55 73 65 72 5f  | 17,18,19:.User_|
00000180  4d 65 73 73 61 67 65 0d  00 aa 07 20 20 cb 0d 00  |Message....  ...|
00000190  b4 07 fd 20 a3 0d 00 be  05 e0 0d 00 c8 04 0d 00  |... ............|
000001a0  d2 0e dd f2 49 6e 74 45  72 72 6f 72 0d 00 dc 07  |....IntError....|
000001b0  ea 20 85 0d 00 e6 10 ee  20 85 20 ea 20 e5 20 8d  |. ...... . . . .|
000001c0  70 68 5c 0d 00 f0 37 41  25 3d a4 69 6e 74 65 72  |ph\...7A%=.inter|
000001d0  72 28 f6 24 2b 22 20 61  74 20 6c 69 6e 65 20 22  |r(.$+" at line "|
000001e0  2b c3 9e 2b 22 2e 20 43  6f 6e 74 69 6e 75 65 20  |+..+". Continue |
000001f0  70 72 6f 67 72 61 6d 3f  22 29 0d 00 fa 12 e7 20  |program?")..... |
00000200  41 25 3d 32 20 8c 20 f2  51 75 69 74 0d 01 04 05  |A%=2 . .Quit....|
00000210  e1 0d 01 0e 04 0d 01 18  0f dd f2 53 63 72 54 6f  |...........ScrTo|
00000220  57 6f 72 6b 0d 01 22 13  74 65 6d 70 25 21 30 3d  |Work..".temp%!0=|
00000230  77 77 6f 72 6b 68 25 0d  01 2c 22 c8 99 22 57 69  |wworkh%..,".."Wi|
00000240  6d 70 5f 47 65 74 57 69  6e 64 6f 77 53 74 61 74  |mp_GetWindowStat|
00000250  65 22 2c 2c 74 65 6d 70  25 0d 01 36 23 c8 99 22  |e",,temp%..6#.."|
00000260  57 69 6d 70 5f 47 65 74  50 6f 69 6e 74 65 72 49  |Wimp_GetPointerI|
00000270  6e 66 6f 22 2c 2c 74 65  6d 70 32 25 0d 01 40 24  |nfo",,temp2%..@$|
00000280  77 6f 72 6b 78 25 3d 74  65 6d 70 32 25 21 30 2d  |workx%=temp2%!0-|
00000290  74 65 6d 70 25 21 34 2b  74 65 6d 70 25 21 32 30  |temp%!4+temp%!20|
000002a0  0d 01 4a 19 e7 20 77 6f  72 6b 78 25 3c 30 20 8c  |..J.. workx%<0 .|
000002b0  20 77 6f 72 6b 78 25 3d  30 0d 01 54 21 e7 20 77  | workx%=0..T!. w|
000002c0  6f 72 6b 78 25 3e 6d 61  78 78 25 20 8c 20 77 6f  |orkx%>maxx% . wo|
000002d0  72 6b 78 25 3d 6d 61 78  78 25 0d 01 5e 05 e1 0d  |rkx%=maxx%..^...|
000002e0  01 68 04 0d 01 72 13 dd  a4 57 6f 72 6b 54 6f 50  |.h...r...WorkToP|
000002f0  74 72 28 61 25 29 0d 01  7c 2f e7 20 61 25 3d 2d  |tr(a%)..|/. a%=-|
00000300  31 20 8c 20 3d 2d 31 20  8b 20 3d a8 28 30 2e 35  |1 . =-1 . =.(0.5|
00000310  2b 73 61 6d 70 6c 65 6c  65 6e 25 2a 61 25 2f 6d  |+samplelen%*a%/m|
00000320  61 78 78 25 29 0d 01 86  04 0d 01 90 13 dd a4 50  |axx%)..........P|
00000330  74 72 54 6f 57 6f 72 6b  28 61 25 29 0d 01 9a 2f  |trToWork(a%).../|
00000340  e7 20 61 25 3d 2d 31 20  8c 20 3d 2d 31 20 8b 20  |. a%=-1 . =-1 . |
00000350  3d a8 28 30 2e 35 2b 6d  61 78 78 25 2a 61 25 2f  |=.(0.5+maxx%*a%/|
00000360  73 61 6d 70 6c 65 6c 65  6e 25 29 0d 01 a4 04 0d  |samplelen%).....|
00000370  01 ae 11 dd f2 4e 75 6c  6c 5f 52 65 61 73 6f 6e  |.....Null_Reason|
00000380  0d 01 b8 0c f2 50 75 74  50 74 72 73 0d 01 c2 0b  |.....PutPtrs....|
00000390  f2 50 6c 6f 74 50 50 0d  01 cc 10 f2 43 68 65 63  |.PlotPP.....Chec|
000003a0  6b 53 63 72 6f 6c 6c 0d  01 d6 12 c8 8e 20 64 72  |kScroll...... dr|
000003b0  61 67 74 79 70 65 25 20  ca 0d 01 e0 14 20 20 c9  |agtype% .....  .|
000003c0  20 31 3a f2 44 72 61 67  41 53 65 6c 4c 0d 01 ea  | 1:.DragASelL...|
000003d0  14 20 20 c9 20 32 3a f2  44 72 61 67 41 53 65 6c  |.  . 2:.DragASel|
000003e0  52 0d 01 f4 14 20 20 c9  20 33 3a f2 44 72 61 67  |R....  . 3:.Drag|
000003f0  4c 6f 6f 70 4c 0d 01 fe  14 20 20 c9 20 34 3a f2  |LoopL....  . 4:.|
00000400  44 72 61 67 4c 6f 6f 70  52 0d 02 08 05 cb 0d 02  |DragLoopR.......|
00000410  12 05 e1 0d 02 1c 04 0d  02 26 0d dd f2 50 75 74  |.........&...Put|
00000420  50 74 72 73 0d 02 30 be  c8 99 22 53 46 58 4d 50  |Ptrs..0..."SFXMP|
00000430  5f 47 65 74 50 74 72 73  22 b8 41 25 3a 41 25 21  |_GetPtrs".A%:A%!|
00000440  30 3d 73 74 61 72 74 73  61 6d 70 6c 65 25 3a 41  |0=startsample%:A|
00000450  25 21 34 3d 73 61 6d 70  6c 65 6c 65 6e 25 3a 41  |%!4=samplelen%:A|
00000460  25 21 38 3d 70 6c 6f 6f  70 6c 25 3a 41 25 21 31  |%!8=ploopl%:A%!1|
00000470  32 3d 70 6c 6f 6f 70 72  25 3a 41 25 21 31 36 3d  |2=ploopr%:A%!16=|
00000480  70 73 65 6c 65 63 74 6c  25 3a 41 25 21 32 30 3d  |pselectl%:A%!20=|
00000490  70 73 65 6c 65 63 74 72  25 3a 41 25 21 32 34 3d  |pselectr%:A%!24=|
000004a0  70 6c 61 79 74 79 70 65  25 3a 41 25 21 32 38 3d  |playtype%:A%!28=|
000004b0  73 74 79 70 65 25 3a 41  25 21 33 32 3d 72 65 6c  |stype%:A%!32=rel|
000004c0  65 61 73 65 6b 25 3a 41  25 21 33 36 3d 6d 75 6c  |easek%:A%!36=mul|
000004d0  74 69 70 6c 65 6b 25 3a  41 25 21 34 30 3d 6f 6b  |tiplek%:A%!40=ok|
000004e0  74 25 0d 02 3a 24 c8 99  22 57 69 6d 70 5f 47 65  |t%..:$.."Wimp_Ge|
000004f0  74 43 61 72 65 74 50 6f  73 69 74 69 6f 6e 22 2c  |tCaretPosition",|
00000500  2c 74 65 6d 70 25 0d 02  44 40 e7 20 74 65 6d 70  |,temp%..D@. temp|
00000510  25 21 30 3d 77 6b 65 79  62 6f 61 72 64 68 25 20  |%!0=wkeyboardh% |
00000520  8c 20 c8 99 22 53 46 58  4d 50 5f 45 6e 61 62 6c  |. .."SFXMP_Enabl|
00000530  65 22 20 8b 20 c8 99 22  53 46 58 4d 50 5f 44 69  |e" . .."SFXMP_Di|
00000540  73 61 62 6c 65 22 0d 02  4e 05 e1 0d 02 58 04 0d  |sable"..N....X..|
00000550  02 62 0c dd f2 50 6c 6f  74 50 50 0d 02 6c 1c e7  |.b...PlotPP..l..|
00000560  20 70 6c 61 79 70 25 3c  3e 2d 31 20 8c 20 f2 50  | playp%<>-1 . .P|
00000570  6c 6f 74 50 50 74 72 0d  02 76 64 c8 99 22 53 46  |lotPPtr..vd.."SF|
00000580  58 4d 50 5f 47 65 74 42  6c 6f 63 6b 22 b8 41 25  |XMP_GetBlock".A%|
00000590  3a e7 20 41 25 21 34 30  3c 3e 30 20 8c 20 70 6c  |:. A%!40<>0 . pl|
000005a0  61 79 70 25 3d 28 28 41  25 21 33 32 29 3e 3e 31  |ayp%=((A%!32)>>1|
000005b0  32 29 2b 41 25 21 33 36  2d 73 74 61 72 74 73 61  |2)+A%!36-startsa|
000005c0  6d 70 6c 65 25 3a f2 50  6c 6f 74 50 50 74 72 20  |mple%:.PlotPPtr |
000005d0  8b 20 70 6c 61 79 70 25  3d 2d 31 0d 02 80 05 e1  |. playp%=-1.....|
000005e0  0d 02 8a 04 0d 02 94 11  dd f2 43 68 65 63 6b 53  |..........CheckS|
000005f0  63 72 6f 6c 6c 0d 02 9e  52 74 65 6d 70 25 21 30  |croll...Rtemp%!0|
00000600  3d 77 77 6f 72 6b 68 25  3a c8 99 22 57 69 6d 70  |=wworkh%:.."Wimp|
00000610  5f 47 65 74 57 69 6e 64  6f 77 53 74 61 74 65 22  |_GetWindowState"|
00000620  2c 2c 74 65 6d 70 25 3a  c8 99 22 57 69 6d 70 5f  |,,temp%:.."Wimp_|
00000630  47 65 74 50 6f 69 6e 74  65 72 49 6e 66 6f 22 2c  |GetPointerInfo",|
00000640  2c 74 65 6d 70 32 25 0d  02 a8 2c e7 20 28 74 65  |,temp2%...,. (te|
00000650  6d 70 32 25 21 31 32 3d  77 77 6f 72 6b 68 25 29  |mp2%!12=wworkh%)|
00000660  20 80 20 28 74 65 6d 70  32 25 21 31 36 3d 2d 31  | . (temp2%!16=-1|
00000670  29 20 8c 0d 02 b2 29 20  20 e7 20 94 28 74 65 6d  |) ....)  . .(tem|
00000680  70 25 21 34 2d 74 65 6d  70 32 25 21 30 29 3c 36  |p%!4-temp2%!0)<6|
00000690  34 20 8c 20 f2 53 63 72  6f 6c 6c 4c 0d 02 bc 2a  |4 . .ScrollL...*|
000006a0  20 20 e7 20 94 28 74 65  6d 70 25 21 31 32 2d 74  |  . .(temp%!12-t|
000006b0  65 6d 70 32 25 21 30 29  3c 36 34 20 8c 20 f2 53  |emp2%!0)<64 . .S|
000006c0  63 72 6f 6c 6c 52 0d 02  c6 30 20 20 41 25 3d 74  |crollR...0  A%=t|
000006d0  65 6d 70 32 25 21 30 2b  74 65 6d 70 25 21 32 30  |emp2%!0+temp%!20|
000006e0  2d 74 65 6d 70 25 21 34  3a e7 20 41 25 3c 30 20  |-temp%!4:. A%<0 |
000006f0  8c 20 41 25 3d 30 0d 02  d0 22 20 20 70 6f 73 25  |. A%=0..."  pos%|
00000700  3d a4 57 6f 72 6b 54 6f  50 74 72 28 41 25 29 3a  |=.WorkToPtr(A%):|
00000710  f2 44 72 61 77 50 6f 73  0d 02 da 05 cd 0d 02 e4  |.DrawPos........|
00000720  05 e1 0d 02 ee 04 0d 02  f8 0d dd f2 44 72 61 77  |............Draw|
00000730  50 6f 73 0d 03 02 15 e7  20 70 6f 73 25 3c 3e 6f  |Pos..... pos%<>o|
00000740  6c 64 70 6f 73 25 20 8c  0d 03 0c 3b 20 20 74 65  |ldpos% ....;  te|
00000750  6d 70 25 21 30 3d 77 70  6f 73 68 25 3a 74 65 6d  |mp%!0=wposh%:tem|
00000760  70 25 21 34 3d 30 3a c8  99 22 57 69 6d 70 5f 47  |p%!4=0:.."Wimp_G|
00000770  65 74 49 63 6f 6e 53 74  61 74 65 22 2c 2c 74 65  |etIconState",,te|
00000780  6d 70 25 0d 03 16 41 20  20 e7 20 70 64 69 73 70  |mp%...A  . pdisp|
00000790  68 64 25 20 8c 20 24 28  74 65 6d 70 25 21 32 38  |hd% . $(temp%!28|
000007a0  29 3d 22 26 22 2b c3 7e  28 70 6f 73 25 29 20 8b  |)="&"+.~(pos%) .|
000007b0  20 24 28 74 65 6d 70 25  21 32 38 29 3d c3 28 70  | $(temp%!28)=.(p|
000007c0  6f 73 25 29 0d 03 20 44  20 20 74 65 6d 70 25 21  |os%).. D  temp%!|
000007d0  38 3d 30 3a 74 65 6d 70  25 21 31 32 3d 30 3a c8  |8=0:temp%!12=0:.|
000007e0  99 22 57 69 6d 70 5f 53  65 74 49 63 6f 6e 53 74  |."Wimp_SetIconSt|
000007f0  61 74 65 22 2c 2c 74 65  6d 70 25 3a 6f 6c 64 70  |ate",,temp%:oldp|
00000800  6f 73 25 3d 70 6f 73 25  0d 03 2a 05 cd 0d 03 34  |os%=pos%..*....4|
00000810  05 e1 0d 03 3e 04 0d 03  48 0d dd f2 53 63 72 6f  |....>...H...Scro|
00000820  6c 6c 4c 0d 03 52 20 64  69 66 66 25 3d 36 34 2d  |llL..R diff%=64-|
00000830  94 28 74 65 6d 70 25 21  34 2d 74 65 6d 70 32 25  |.(temp%!4-temp2%|
00000840  21 30 29 0d 03 5c 10 6f  73 25 3d 74 65 6d 70 25  |!0)..\.os%=temp%|
00000850  21 32 30 0d 03 66 13 6f  73 25 3d 6f 73 25 2d 64  |!20..f.os%=os%-d|
00000860  69 66 66 25 2a 34 0d 03  70 13 e7 20 6f 73 25 3c  |iff%*4..p.. os%<|
00000870  30 20 8c 20 6f 73 25 3d  30 0d 03 7a 25 e7 20 6f  |0 . os%=0..z%. o|
00000880  73 25 3e 6d 61 78 78 25  2d 31 30 32 34 20 8c 20  |s%>maxx%-1024 . |
00000890  6f 73 25 3d 6d 61 78 78  25 2d 31 30 32 34 0d 03  |os%=maxx%-1024..|
000008a0  84 1c 74 65 6d 70 25 21  32 30 3d 6f 73 25 20 80  |..temp%!20=os% .|
000008b0  20 26 66 66 66 66 66 66  66 65 0d 03 8e 1e c8 99  | &fffffffe......|
000008c0  22 57 69 6d 70 5f 4f 70  65 6e 57 69 6e 64 6f 77  |"Wimp_OpenWindow|
000008d0  22 2c 2c 74 65 6d 70 25  0d 03 98 05 e1 0d 03 a2  |",,temp%........|
000008e0  04 0d 03 ac 0d dd f2 53  63 72 6f 6c 6c 52 0d 03  |.......ScrollR..|
000008f0  b6 21 64 69 66 66 25 3d  36 34 2d 94 28 74 65 6d  |.!diff%=64-.(tem|
00000900  70 25 21 31 32 2d 74 65  6d 70 32 25 21 30 29 0d  |p%!12-temp2%!0).|
00000910  03 c0 10 6f 73 25 3d 74  65 6d 70 25 21 32 30 0d  |...os%=temp%!20.|
00000920  03 ca 13 6f 73 25 3d 6f  73 25 2b 64 69 66 66 25  |...os%=os%+diff%|
00000930  2a 34 0d 03 d4 13 e7 20  6f 73 25 3c 30 20 8c 20  |*4..... os%<0 . |
00000940  6f 73 25 3d 30 0d 03 de  25 e7 20 6f 73 25 3e 6d  |os%=0...%. os%>m|
00000950  61 78 78 25 2d 31 30 32  34 20 8c 20 6f 73 25 3d  |axx%-1024 . os%=|
00000960  6d 61 78 78 25 2d 31 30  32 34 0d 03 e8 1c 74 65  |maxx%-1024....te|
00000970  6d 70 25 21 32 30 3d 6f  73 25 20 80 20 26 66 66  |mp%!20=os% . &ff|
00000980  66 66 66 66 66 65 0d 03  f2 1e c8 99 22 57 69 6d  |fffffe......"Wim|
00000990  70 5f 4f 70 65 6e 57 69  6e 64 6f 77 22 2c 2c 74  |p_OpenWindow",,t|
000009a0  65 6d 70 25 0d 03 fc 05  e1 0d 04 06 04 0d 04 10  |emp%............|
000009b0  0f dd f2 44 72 61 67 41  53 65 6c 4c 0d 04 1a 1e  |...DragASelL....|
000009c0  f2 53 63 72 54 6f 57 6f  72 6b 3a 73 65 6c 65 63  |.ScrToWork:selec|
000009d0  74 6c 25 3d 77 6f 72 6b  78 25 0d 04 24 3a e7 20  |tl%=workx%..$:. |
000009e0  73 65 6c 65 63 74 6c 25  3e 73 65 6c 65 63 74 72  |selectl%>selectr|
000009f0  25 20 8c 20 c8 94 20 73  65 6c 65 63 74 6c 25 2c  |% . .. selectl%,|
00000a00  73 65 6c 65 63 74 72 25  3a 64 72 61 67 74 79 70  |selectr%:dragtyp|
00000a10  65 25 3d 32 0d 04 2e 8d  70 73 65 6c 65 63 74 6c  |e%=2....pselectl|
00000a20  25 3d a4 57 6f 72 6b 54  6f 50 74 72 28 73 65 6c  |%=.WorkToPtr(sel|
00000a30  65 63 74 6c 25 29 3a 70  73 65 6c 65 63 74 72 25  |ectl%):pselectr%|
00000a40  3d a4 57 6f 72 6b 54 6f  50 74 72 28 73 65 6c 65  |=.WorkToPtr(sele|
00000a50  63 74 72 25 29 3a 73 65  6c 65 63 74 6c 25 3d a4  |ctr%):selectl%=.|
00000a60  50 74 72 54 6f 57 6f 72  6b 28 70 73 65 6c 65 63  |PtrToWork(pselec|
00000a70  74 6c 25 29 3a 73 65 6c  65 63 74 72 25 3d a4 50  |tl%):selectr%=.P|
00000a80  74 72 54 6f 57 6f 72 6b  28 70 73 65 6c 65 63 74  |trToWork(pselect|
00000a90  72 25 29 3a f2 55 70 64  61 74 65 53 65 6c 65 63  |r%):.UpdateSelec|
00000aa0  74 0d 04 38 05 e1 0d 04  42 04 0d 04 4c 0f dd f2  |t..8....B...L...|
00000ab0  44 72 61 67 41 53 65 6c  52 0d 04 56 1e f2 53 63  |DragASelR..V..Sc|
00000ac0  72 54 6f 57 6f 72 6b 3a  73 65 6c 65 63 74 72 25  |rToWork:selectr%|
00000ad0  3d 77 6f 72 6b 78 25 0d  04 60 3a e7 20 73 65 6c  |=workx%..`:. sel|
00000ae0  65 63 74 6c 25 3e 73 65  6c 65 63 74 72 25 20 8c  |ectl%>selectr% .|
00000af0  20 c8 94 20 73 65 6c 65  63 74 6c 25 2c 73 65 6c  | .. selectl%,sel|
00000b00  65 63 74 72 25 3a 64 72  61 67 74 79 70 65 25 3d  |ectr%:dragtype%=|
00000b10  31 0d 04 6a 8d 70 73 65  6c 65 63 74 6c 25 3d a4  |1..j.pselectl%=.|
00000b20  57 6f 72 6b 54 6f 50 74  72 28 73 65 6c 65 63 74  |WorkToPtr(select|
00000b30  6c 25 29 3a 70 73 65 6c  65 63 74 72 25 3d a4 57  |l%):pselectr%=.W|
00000b40  6f 72 6b 54 6f 50 74 72  28 73 65 6c 65 63 74 72  |orkToPtr(selectr|
00000b50  25 29 3a 73 65 6c 65 63  74 6c 25 3d a4 50 74 72  |%):selectl%=.Ptr|
00000b60  54 6f 57 6f 72 6b 28 70  73 65 6c 65 63 74 6c 25  |ToWork(pselectl%|
00000b70  29 3a 73 65 6c 65 63 74  72 25 3d a4 50 74 72 54  |):selectr%=.PtrT|
00000b80  6f 57 6f 72 6b 28 70 73  65 6c 65 63 74 72 25 29  |oWork(pselectr%)|
00000b90  3a f2 55 70 64 61 74 65  53 65 6c 65 63 74 0d 04  |:.UpdateSelect..|
00000ba0  74 05 e1 0d 04 7e 04 0d  04 88 0f dd f2 44 72 61  |t....~.......Dra|
00000bb0  67 4c 6f 6f 70 4c 0d 04  92 67 c8 99 22 4f 53 5f  |gLoopL...g.."OS_|
00000bc0  42 79 74 65 22 2c 32 30  32 2c 30 2c 32 35 35 b8  |Byte",202,0,255.|
00000bd0  2c 73 68 25 3a 64 6c 70  25 3d 70 6c 6f 6f 70 72  |,sh%:dlp%=ploopr|
00000be0  25 2d 70 6c 6f 6f 70 6c  25 3a f2 53 63 72 54 6f  |%-ploopl%:.ScrTo|
00000bf0  57 6f 72 6b 3a 6c 6f 6f  70 6c 25 3d 77 6f 72 6b  |Work:loopl%=work|
00000c00  78 25 3a 70 6c 6f 6f 70  6c 25 3d a4 57 6f 72 6b  |x%:ploopl%=.Work|
00000c10  54 6f 50 74 72 28 6c 6f  6f 70 6c 25 29 0d 04 9c  |ToPtr(loopl%)...|
00000c20  0d e7 20 73 68 25 80 38  20 8c 0d 04 a6 1a 20 20  |.. sh%.8 .....  |
00000c30  70 6c 6f 6f 70 72 25 3d  70 6c 6f 6f 70 6c 25 2b  |ploopr%=ploopl%+|
00000c40  64 6c 70 25 0d 04 b0 47  20 20 e7 20 70 6c 6f 6f  |dlp%...G  . ploo|
00000c50  70 72 25 3e 73 61 6d 70  6c 65 6c 65 6e 25 20 8c  |pr%>samplelen% .|
00000c60  20 70 6c 6f 6f 70 72 25  3d 73 61 6d 70 6c 65 6c  | ploopr%=samplel|
00000c70  65 6e 25 3a 70 6c 6f 6f  70 6c 25 3d 73 61 6d 70  |en%:ploopl%=samp|
00000c80  6c 65 6c 65 6e 25 2d 64  6c 70 25 0d 04 ba 05 cd  |lelen%-dlp%.....|
00000c90  0d 04 c4 39 6c 6f 6f 70  6c 25 3d a4 50 74 72 54  |...9loopl%=.PtrT|
00000ca0  6f 57 6f 72 6b 28 70 6c  6f 6f 70 6c 25 29 3a 6c  |oWork(ploopl%):l|
00000cb0  6f 6f 70 72 25 3d a4 50  74 72 54 6f 57 6f 72 6b  |oopr%=.PtrToWork|
00000cc0  28 70 6c 6f 6f 70 72 25  29 0d 04 ce 35 e7 20 70  |(ploopr%)...5. p|
00000cd0  6c 6f 6f 70 6c 25 3e 70  6c 6f 6f 70 72 25 20 8c  |loopl%>ploopr% .|
00000ce0  20 70 6c 6f 6f 70 72 25  3d 70 6c 6f 6f 70 6c 25  | ploopr%=ploopl%|
00000cf0  3a 6c 6f 6f 70 72 25 3d  6c 6f 6f 70 6c 25 0d 04  |:loopr%=loopl%..|
00000d00  d8 36 e7 20 6c 6f 6f 70  6c 25 3c 3e 6f 6c 6f 6f  |.6. loopl%<>oloo|
00000d10  70 6c 25 20 84 20 6c 6f  6f 70 72 25 3c 3e 6f 6c  |pl% . loopr%<>ol|
00000d20  6f 6f 70 72 25 20 8c 20  f2 55 70 64 61 74 65 4c  |oopr% . .UpdateL|
00000d30  6f 6f 70 50 0d 04 e2 05  e1 0d 04 ec 04 0d 04 f6  |oopP............|
00000d40  0f dd f2 44 72 61 67 4c  6f 6f 70 52 0d 05 00 67  |...DragLoopR...g|
00000d50  c8 99 22 4f 53 5f 42 79  74 65 22 2c 32 30 32 2c  |.."OS_Byte",202,|
00000d60  30 2c 32 35 35 b8 2c 73  68 25 3a 64 6c 70 25 3d  |0,255.,sh%:dlp%=|
00000d70  70 6c 6f 6f 70 72 25 2d  70 6c 6f 6f 70 6c 25 3a  |ploopr%-ploopl%:|
00000d80  f2 53 63 72 54 6f 57 6f  72 6b 3a 6c 6f 6f 70 72  |.ScrToWork:loopr|
00000d90  25 3d 77 6f 72 6b 78 25  3a 70 6c 6f 6f 70 72 25  |%=workx%:ploopr%|
00000da0  3d a4 57 6f 72 6b 54 6f  50 74 72 28 6c 6f 6f 70  |=.WorkToPtr(loop|
00000db0  72 25 29 0d 05 0a 0d e7  20 73 68 25 80 38 20 8c  |r%)..... sh%.8 .|
00000dc0  0d 05 14 1a 20 20 70 6c  6f 6f 70 6c 25 3d 70 6c  |....  ploopl%=pl|
00000dd0  6f 6f 70 72 25 2d 64 6c  70 25 0d 05 1e 2a 20 20  |oopr%-dlp%...*  |
00000de0  e7 20 70 6c 6f 6f 70 6c  25 3c 30 20 8c 20 70 6c  |. ploopl%<0 . pl|
00000df0  6f 6f 70 6c 25 3d 30 3a  70 6c 6f 6f 70 72 25 3d  |oopl%=0:ploopr%=|
00000e00  64 6c 70 25 0d 05 28 05  cd 0d 05 32 39 6c 6f 6f  |dlp%..(....29loo|
00000e10  70 6c 25 3d a4 50 74 72  54 6f 57 6f 72 6b 28 70  |pl%=.PtrToWork(p|
00000e20  6c 6f 6f 70 6c 25 29 3a  6c 6f 6f 70 72 25 3d a4  |loopl%):loopr%=.|
00000e30  50 74 72 54 6f 57 6f 72  6b 28 70 6c 6f 6f 70 72  |PtrToWork(ploopr|
00000e40  25 29 0d 05 3c 35 e7 20  70 6c 6f 6f 70 72 25 3c  |%)..<5. ploopr%<|
00000e50  70 6c 6f 6f 70 6c 25 20  8c 20 70 6c 6f 6f 70 6c  |ploopl% . ploopl|
00000e60  25 3d 70 6c 6f 6f 70 72  25 3a 6c 6f 6f 70 6c 25  |%=ploopr%:loopl%|
00000e70  3d 6c 6f 6f 70 72 25 0d  05 46 36 e7 20 6c 6f 6f  |=loopr%..F6. loo|
00000e80  70 6c 25 3c 3e 6f 6c 6f  6f 70 6c 25 20 84 20 6c  |pl%<>oloopl% . l|
00000e90  6f 6f 70 72 25 3c 3e 6f  6c 6f 6f 70 72 25 20 8c  |oopr%<>oloopr% .|
00000ea0  20 f2 55 70 64 61 74 65  4c 6f 6f 70 50 0d 05 50  | .UpdateLoopP..P|
00000eb0  05 e1 0d 05 5a 04 0d 05  64 13 dd f2 52 65 64 72  |....Z...d...Redr|
00000ec0  61 77 5f 57 69 6e 64 6f  77 0d 05 6e 29 c8 99 22  |aw_Window..n).."|
00000ed0  57 69 6d 70 5f 52 65 64  72 61 77 57 69 6e 64 6f  |Wimp_RedrawWindo|
00000ee0  77 22 2c 2c 70 6f 6c 6c  65 64 62 25 b8 6d 6f 72  |w",,polledb%.mor|
00000ef0  65 25 0d 05 78 13 c8 8e  20 70 6f 6c 6c 65 64 62  |e%..x... polledb|
00000f00  25 21 30 20 ca 0d 05 82  1b 20 20 c9 20 77 77 6f  |%!0 .....  . wwo|
00000f10  72 6b 68 25 3a f2 52 65  64 72 61 77 57 6f 72 6b  |rkh%:.RedrawWork|
00000f20  0d 05 8c 1b 20 20 c9 20  77 73 6f 6e 67 68 25 3a  |....  . wsongh%:|
00000f30  f2 52 65 64 72 61 77 53  6f 6e 67 0d 05 96 13 20  |.RedrawSong.... |
00000f40  20 7f 3a f2 4a 75 73 74  52 65 64 72 61 77 0d 05  | .:.JustRedraw..|
00000f50  a0 05 cb 0d 05 aa 05 e1  0d 05 b4 04 0d 05 be 10  |................|
00000f60  dd f2 52 65 64 72 61 77  57 6f 72 6b 0d 05 c8 0a  |..RedrawWork....|
00000f70  6c 68 25 3d 33 32 0d 05  d2 12 6d 69 25 3d 70 6f  |lh%=32....mi%=po|
00000f80  6c 6c 65 64 62 25 21 34  0d 05 dc 13 6d 61 25 3d  |lledb%!4....ma%=|
00000f90  70 6f 6c 6c 65 64 62 25  21 31 32 0d 05 e6 11 79  |polledb%!12....y|
00000fa0  25 3d 70 6f 6c 6c 65 64  62 25 21 38 0d 05 f0 27  |%=polledb%!8...'|
00000fb0  73 6c 25 3d 70 6f 6c 6c  65 64 62 25 21 34 2d 70  |sl%=polledb%!4-p|
00000fc0  6f 6c 6c 65 64 62 25 21  32 30 2b 73 65 6c 65 63  |olledb%!20+selec|
00000fd0  74 6c 25 0d 05 fa 27 73  72 25 3d 70 6f 6c 6c 65  |tl%...'sr%=polle|
00000fe0  64 62 25 21 34 2d 70 6f  6c 6c 65 64 62 25 21 32  |db%!4-polledb%!2|
00000ff0  30 2b 73 65 6c 65 63 74  72 25 0d 06 04 25 6c 6c  |0+selectr%...%ll|
00001000  25 3d 70 6f 6c 6c 65 64  62 25 21 34 2d 70 6f 6c  |%=polledb%!4-pol|
00001010  6c 65 64 62 25 21 32 30  2b 6c 6f 6f 70 6c 25 0d  |ledb%!20+loopl%.|
00001020  06 0e 25 6c 72 25 3d 70  6f 6c 6c 65 64 62 25 21  |..%lr%=polledb%!|
00001030  34 2d 70 6f 6c 6c 65 64  62 25 21 32 30 2b 6c 6f  |4-polledb%!20+lo|
00001040  6f 70 72 25 0d 06 18 1b  6c 6c 70 25 3d a4 50 74  |opr%....llp%=.Pt|
00001050  72 54 6f 57 6f 72 6b 28  70 6c 61 79 70 25 29 0d  |rToWork(playp%).|
00001060  06 22 25 77 6c 6c 70 25  3d 70 6f 6c 6c 65 64 62  |."%wllp%=polledb|
00001070  25 21 34 2d 70 6f 6c 6c  65 64 62 25 21 32 30 2b  |%!4-polledb%!20+|
00001080  6c 6c 70 25 0d 06 2c 0a  64 72 25 3d 2d 31 0d 06  |llp%..,.dr%=-1..|
00001090  36 0b 6c 64 72 25 3d 2d  31 0d 06 40 0b 72 64 72  |6.ldr%=-1..@.rdr|
000010a0  25 3d 2d 31 0d 06 4a 0b  64 72 70 25 3d 2d 31 0d  |%=-1..J.drp%=-1.|
000010b0  06 54 2d e7 20 73 6c 25  3c 70 6f 6c 6c 65 64 62  |.T-. sl%<polledb|
000010c0  25 21 34 20 80 20 73 72  25 3c 70 6f 6c 6c 65 64  |%!4 . sr%<polled|
000010d0  62 25 21 34 20 8c 20 64  72 25 3d 30 0d 06 5e 2f  |b%!4 . dr%=0..^/|
000010e0  e7 20 73 6c 25 3e 70 6f  6c 6c 65 64 62 25 21 31  |. sl%>polledb%!1|
000010f0  32 20 80 20 73 72 25 3e  70 6f 6c 6c 65 64 62 25  |2 . sr%>polledb%|
00001100  21 31 32 20 8c 20 64 72  25 3d 30 0d 06 68 2b e7  |!12 . dr%=0..h+.|
00001110  20 73 6c 25 3c 70 6f 6c  6c 65 64 62 25 21 34 20  | sl%<polledb%!4 |
00001120  80 20 64 72 25 20 8c 20  73 6c 25 3d 70 6f 6c 6c  |. dr% . sl%=poll|
00001130  65 64 62 25 21 34 0d 06  72 2d e7 20 73 72 25 3e  |edb%!4..r-. sr%>|
00001140  70 6f 6c 6c 65 64 62 25  21 31 32 20 80 20 64 72  |polledb%!12 . dr|
00001150  25 20 8c 20 73 72 25 3d  70 6f 6c 6c 65 64 62 25  |% . sr%=polledb%|
00001160  21 31 32 0d 06 7c 35 e7  20 6c 6c 25 3c 70 6f 6c  |!12..|5. ll%<pol|
00001170  6c 65 64 62 25 21 34 2d  33 32 20 84 20 6c 6c 25  |ledb%!4-32 . ll%|
00001180  3e 70 6f 6c 6c 65 64 62  25 21 31 32 2b 33 32 20  |>polledb%!12+32 |
00001190  8c 20 6c 64 72 25 3d 30  0d 06 86 35 e7 20 6c 72  |. ldr%=0...5. lr|
000011a0  25 3c 70 6f 6c 6c 65 64  62 25 21 34 2d 33 32 20  |%<polledb%!4-32 |
000011b0  84 20 6c 72 25 3e 70 6f  6c 6c 65 64 62 25 21 31  |. lr%>polledb%!1|
000011c0  32 2b 33 32 20 8c 20 72  64 72 25 3d 30 0d 06 90  |2+32 . rdr%=0...|
000011d0  37 e7 20 77 6c 6c 70 25  3c 70 6f 6c 6c 65 64 62  |7. wllp%<polledb|
000011e0  25 21 34 2d 34 20 84 20  77 6c 6c 70 25 3e 70 6f  |%!4-4 . wllp%>po|
000011f0  6c 6c 65 64 62 25 21 31  32 2b 34 20 8c 20 64 72  |lledb%!12+4 . dr|
00001200  70 25 3d 30 0d 06 9a 04  0d 06 a4 32 41 25 3d 73  |p%=0.......2A%=s|
00001210  74 61 72 74 73 61 6d 70  6c 65 25 2b 73 61 6d 70  |tartsample%+samp|
00001220  6c 65 6c 65 6e 25 2a 28  70 6f 6c 6c 65 64 62 25  |lelen%*(polledb%|
00001230  21 32 30 29 2f 6d 61 78  78 25 0d 06 ae 11 42 25  |!20)/maxx%....B%|
00001240  3d 38 2a 64 69 73 70 6c  65 6e 25 0d 06 b8 3c 43  |=8*displen%...<C|
00001250  25 3d 34 30 39 36 2a 28  73 74 61 72 74 73 61 6d  |%=4096*(startsam|
00001260  70 6c 65 25 2b 73 61 6d  70 6c 65 6c 65 6e 25 2a  |ple%+samplelen%*|
00001270  28 70 6f 6c 6c 65 64 62  25 21 32 30 29 2f 6d 61  |(polledb%!20)/ma|
00001280  78 78 25 2d 41 25 29 0d  06 c2 11 44 25 3d 70 6f  |xx%-A%)....D%=po|
00001290  6c 6c 65 64 62 25 21 34  0d 06 cc 11 45 25 3d 70  |lledb%!4....E%=p|
000012a0  6f 6c 6c 65 64 62 25 21  38 0d 06 d6 0d 46 25 3d  |olledb%!8....F%=|
000012b0  73 74 79 70 65 25 0d 06  e0 13 47 25 3d 73 74 61  |stype%....G%=sta|
000012c0  72 74 73 61 6d 70 6c 65  25 0d 06 ea 04 0d 06 f4  |rtsample%.......|
000012d0  0c c8 95 20 6d 6f 72 65  25 0d 06 fe 1a 20 20 c8  |... more%....  .|
000012e0  99 22 57 69 6d 70 5f 53  65 74 43 6f 6c 6f 75 72  |."Wimp_SetColour|
000012f0  22 2c 31 0d 07 08 21 20  20 86 20 6d 69 25 2c 79  |",1...!  . mi%,y|
00001300  25 2b 6c 68 25 2a 31 2c  6d 61 25 2c 79 25 2b 6c  |%+lh%*1,ma%,y%+l|
00001310  68 25 2a 31 0d 07 12 21  20 20 86 20 6d 69 25 2c  |h%*1...!  . mi%,|
00001320  79 25 2b 6c 68 25 2a 32  2c 6d 61 25 2c 79 25 2b  |y%+lh%*2,ma%,y%+|
00001330  6c 68 25 2a 32 0d 07 1c  21 20 20 86 20 6d 69 25  |lh%*2...!  . mi%|
00001340  2c 79 25 2b 6c 68 25 2a  33 2c 6d 61 25 2c 79 25  |,y%+lh%*3,ma%,y%|
00001350  2b 6c 68 25 2a 33 0d 07  26 21 20 20 86 20 6d 69  |+lh%*3..&!  . mi|
00001360  25 2c 79 25 2b 6c 68 25  2a 35 2c 6d 61 25 2c 79  |%,y%+lh%*5,ma%,y|
00001370  25 2b 6c 68 25 2a 35 0d  07 30 21 20 20 86 20 6d  |%+lh%*5..0!  . m|
00001380  69 25 2c 79 25 2b 6c 68  25 2a 36 2c 6d 61 25 2c  |i%,y%+lh%*6,ma%,|
00001390  79 25 2b 6c 68 25 2a 36  0d 07 3a 21 20 20 86 20  |y%+lh%*6..:!  . |
000013a0  6d 69 25 2c 79 25 2b 6c  68 25 2a 37 2c 6d 61 25  |mi%,y%+lh%*7,ma%|
000013b0  2c 79 25 2b 6c 68 25 2a  37 0d 07 44 1a 20 20 c8  |,y%+lh%*7..D.  .|
000013c0  99 22 57 69 6d 70 5f 53  65 74 43 6f 6c 6f 75 72  |."Wimp_SetColour|
000013d0  22 2c 33 0d 07 4e 21 20  20 86 20 6d 69 25 2c 79  |",3..N!  . mi%,y|
000013e0  25 2b 6c 68 25 2a 34 2c  6d 61 25 2c 79 25 2b 6c  |%+lh%*4,ma%,y%+l|
000013f0  68 25 2a 34 0d 07 58 1a  20 20 c8 99 22 57 69 6d  |h%*4..X.  .."Wim|
00001400  70 5f 53 65 74 43 6f 6c  6f 75 72 22 2c 37 0d 07  |p_SetColour",7..|
00001410  62 21 20 20 86 20 6d 69  25 2c 79 25 2b 6c 68 25  |b!  . mi%,y%+lh%|
00001420  2a 38 2c 6d 61 25 2c 79  25 2b 6c 68 25 2a 38 0d  |*8,ma%,y%+lh%*8.|
00001430  07 6c 0d 20 20 d6 72 65  64 72 77 6b 0d 07 76 0e  |.l.  .redrwk..v.|
00001440  20 20 e7 20 6c 64 72 25  20 8c 0d 07 80 10 20 20  |  . ldr% .....  |
00001450  20 20 f2 49 6e 76 43 6f  6c 32 0d 07 8a 2b 20 20  |  .InvCol2...+  |
00001460  20 20 86 20 6c 6c 25 2c  70 6f 6c 6c 65 64 62 25  |  . ll%,polledb%|
00001470  21 38 2c 6c 6c 25 2c 70  6f 6c 6c 65 64 62 25 21  |!8,ll%,polledb%!|
00001480  38 2b 32 35 36 0d 07 94  1c 20 20 20 20 ec 20 6c  |8+256....    . l|
00001490  6c 25 2c 70 6f 6c 6c 65  64 62 25 21 38 2b 32 36  |l%,polledb%!8+26|
000014a0  30 0d 07 9e 1e 20 20 20  20 ec 20 6c 6c 25 2b 38  |0....    . ll%+8|
000014b0  2c 70 6f 6c 6c 65 64 62  25 21 38 2b 32 38 30 0d  |,polledb%!8+280.|
000014c0  07 a8 21 20 20 20 20 f0  20 38 35 2c 6c 6c 25 2d  |..!    . 85,ll%-|
000014d0  38 2c 70 6f 6c 6c 65 64  62 25 21 38 2b 32 38 30  |8,polledb%!8+280|
000014e0  0d 07 b2 07 20 20 cd 0d  07 bc 0e 20 20 e7 20 72  |....  .....  . r|
000014f0  64 72 25 20 8c 0d 07 c6  10 20 20 20 20 f2 49 6e  |dr% .....    .In|
00001500  76 43 6f 6c 33 0d 07 d0  2b 20 20 20 20 86 20 6c  |vCol3...+    . l|
00001510  72 25 2c 70 6f 6c 6c 65  64 62 25 21 38 2c 6c 72  |r%,polledb%!8,lr|
00001520  25 2c 70 6f 6c 6c 65 64  62 25 21 38 2b 32 35 36  |%,polledb%!8+256|
00001530  0d 07 da 1c 20 20 20 20  ec 20 6c 72 25 2c 70 6f  |....    . lr%,po|
00001540  6c 6c 65 64 62 25 21 38  2b 32 36 30 0d 07 e4 1e  |lledb%!8+260....|
00001550  20 20 20 20 ec 20 6c 72  25 2b 38 2c 70 6f 6c 6c  |    . lr%+8,poll|
00001560  65 64 62 25 21 38 2b 32  38 30 0d 07 ee 21 20 20  |edb%!8+280...!  |
00001570  20 20 f0 20 38 35 2c 6c  72 25 2d 38 2c 70 6f 6c  |  . 85,lr%-8,pol|
00001580  6c 65 64 62 25 21 38 2b  32 38 30 0d 07 f8 07 20  |ledb%!8+280.... |
00001590  20 cd 0d 08 02 2f 20 20  e7 20 28 73 65 6c 65 63  | ..../  . (selec|
000015a0  74 6c 25 3c 3e 2d 31 29  20 80 20 28 73 65 6c 65  |tl%<>-1) . (sele|
000015b0  63 74 72 25 3c 3e 2d 31  29 20 80 20 64 72 25 20  |ctr%<>-1) . dr% |
000015c0  8c 0d 08 0c 0f 20 20 20  20 f2 49 6e 76 43 6f 6c  |.....    .InvCol|
000015d0  0d 08 16 28 20 20 20 20  c8 93 20 c8 90 20 73 6c  |...(    .. .. sl|
000015e0  25 2c 70 6f 6c 6c 65 64  62 25 21 38 2c 73 72 25  |%,polledb%!8,sr%|
000015f0  2d 73 6c 25 2c 32 35 32  0d 08 20 07 20 20 cd 0d  |-sl%,252.. .  ..|
00001600  08 2a 1d 20 20 e7 20 28  70 6c 61 79 70 25 3c 3e  |.*.  . (playp%<>|
00001610  2d 31 29 20 80 20 64 72  70 25 20 8c 0d 08 34 0f  |-1) . drp% ...4.|
00001620  20 20 20 20 f2 49 6e 76  43 6f 6c 0d 08 3e 2f 20  |    .InvCol..>/ |
00001630  20 20 20 86 20 77 6c 6c  70 25 2c 70 6f 6c 6c 65  |   . wllp%,polle|
00001640  64 62 25 21 38 2c 77 6c  6c 70 25 2c 70 6f 6c 6c  |db%!8,wllp%,poll|
00001650  65 64 62 25 21 38 2b 32  38 38 0d 08 48 07 20 20  |edb%!8+288..H.  |
00001660  cd 0d 08 52 2b 20 20 c8  99 22 57 69 6d 70 5f 47  |...R+  .."Wimp_G|
00001670  65 74 52 65 63 74 61 6e  67 6c 65 22 2c 2c 70 6f  |etRectangle",,po|
00001680  6c 6c 65 64 62 25 b8 6d  6f 72 65 25 0d 08 5c 05  |lledb%.more%..\.|
00001690  ce 0d 08 66 05 e1 0d 08  70 04 0d 08 7a 10 dd f2  |...f....p...z...|
000016a0  52 65 64 72 61 77 53 6f  6e 67 0d 08 84 1e 7a 78  |RedrawSong....zx|
000016b0  25 3d 70 6f 6c 6c 65 64  62 25 21 34 2d 70 6f 6c  |%=polledb%!4-pol|
000016c0  6c 65 64 62 25 21 32 30  0d 08 8e 22 7a 79 25 3d  |ledb%!20..."zy%=|
000016d0  70 6f 6c 6c 65 64 62 25  21 31 36 2d 70 6f 6c 6c  |polledb%!16-poll|
000016e0  65 64 62 25 21 32 34 2d  39 36 0d 08 98 0c c8 95  |edb%!24-96......|
000016f0  20 6d 6f 72 65 25 0d 08  a2 1a 20 20 c8 99 22 57  | more%....  .."W|
00001700  69 6d 70 5f 53 65 74 43  6f 6c 6f 75 72 22 2c 33  |imp_SetColour",3|
00001710  0d 08 ac 2d 20 20 86 20  7a 78 25 2b 37 34 2c 70  |...-  . zx%+74,p|
00001720  6f 6c 6c 65 64 62 25 21  33 32 2c 7a 78 25 2b 37  |olledb%!32,zx%+7|
00001730  34 2c 70 6f 6c 6c 65 64  62 25 21 34 30 0d 08 b6  |4,polledb%!40...|
00001740  2d 20 20 86 20 7a 78 25  2b 37 36 2c 70 6f 6c 6c  |-  . zx%+76,poll|
00001750  65 64 62 25 21 33 32 2c  7a 78 25 2b 37 36 2c 70  |edb%!32,zx%+76,p|
00001760  6f 6c 6c 65 64 62 25 21  34 30 0d 08 c0 2f 20 20  |olledb%!40.../  |
00001770  86 20 7a 78 25 2b 32 34  36 2c 70 6f 6c 6c 65 64  |. zx%+246,polled|
00001780  62 25 21 33 32 2c 7a 78  25 2b 32 34 36 2c 70 6f  |b%!32,zx%+246,po|
00001790  6c 6c 65 64 62 25 21 34  30 0d 08 ca 2f 20 20 86  |lledb%!40.../  .|
000017a0  20 7a 78 25 2b 32 34 38  2c 70 6f 6c 6c 65 64 62  | zx%+248,polledb|
000017b0  25 21 33 32 2c 7a 78 25  2b 32 34 38 2c 70 6f 6c  |%!32,zx%+248,pol|
000017c0  6c 65 64 62 25 21 34 30  0d 08 d4 2f 20 20 86 20  |ledb%!40.../  . |
000017d0  7a 78 25 2b 33 37 30 2c  70 6f 6c 6c 65 64 62 25  |zx%+370,polledb%|
000017e0  21 33 32 2c 7a 78 25 2b  33 37 30 2c 70 6f 6c 6c  |!32,zx%+370,poll|
000017f0  65 64 62 25 21 34 30 0d  08 de 2f 20 20 86 20 7a  |edb%!40.../  . z|
00001800  78 25 2b 33 37 32 2c 70  6f 6c 6c 65 64 62 25 21  |x%+372,polledb%!|
00001810  33 32 2c 7a 78 25 2b 33  37 32 2c 70 6f 6c 6c 65  |32,zx%+372,polle|
00001820  64 62 25 21 34 30 0d 08  e8 2f 20 20 86 20 7a 78  |db%!40.../  . zx|
00001830  25 2b 34 39 34 2c 70 6f  6c 6c 65 64 62 25 21 33  |%+494,polledb%!3|
00001840  32 2c 7a 78 25 2b 34 39  34 2c 70 6f 6c 6c 65 64  |2,zx%+494,polled|
00001850  62 25 21 34 30 0d 08 f2  2f 20 20 86 20 7a 78 25  |b%!40.../  . zx%|
00001860  2b 34 39 36 2c 70 6f 6c  6c 65 64 62 25 21 33 32  |+496,polledb%!32|
00001870  2c 7a 78 25 2b 34 39 36  2c 70 6f 6c 6c 65 64 62  |,zx%+496,polledb|
00001880  25 21 34 30 0d 08 fc 04  0d 09 06 1a 20 20 c8 99  |%!40........  ..|
00001890  22 57 69 6d 70 5f 53 65  74 43 6f 6c 6f 75 72 22  |"Wimp_SetColour"|
000018a0  2c 37 0d 09 10 1e 20 20  73 6c 25 3d 28 7a 79 25  |,7....  sl%=(zy%|
000018b0  2d 70 6f 6c 6c 65 64 62  25 21 34 30 29 2f 33 36  |-polledb%!40)/36|
000018c0  0d 09 1a 20 20 20 73 72  25 3d 31 2b 28 7a 79 25  |...   sr%=1+(zy%|
000018d0  2d 70 6f 6c 6c 65 64 62  25 21 33 32 29 2f 33 36  |-polledb%!32)/36|
000018e0  0d 09 24 15 20 20 e7 20  73 6c 25 3c 30 20 8c 20  |..$.  . sl%<0 . |
000018f0  73 6c 25 3d 30 0d 09 2e  15 20 20 e7 20 73 72 25  |sl%=0....  . sr%|
00001900  3c 30 20 8c 20 73 72 25  3d 30 0d 09 38 23 20 20  |<0 . sr%=0..8#  |
00001910  e7 20 73 6c 25 3e 73 6f  6e 67 6c 65 6e 25 20 8c  |. sl%>songlen% .|
00001920  20 73 6c 25 3d 73 6f 6e  67 6c 65 6e 25 0d 09 42  | sl%=songlen%..B|
00001930  23 20 20 e7 20 73 72 25  3e 73 6f 6e 67 6c 65 6e  |#  . sr%>songlen|
00001940  25 20 8c 20 73 72 25 3d  73 6f 6e 67 6c 65 6e 25  |% . sr%=songlen%|
00001950  0d 09 4c 10 20 20 c8 95  20 73 6c 25 3c 73 72 25  |..L.  .. sl%<sr%|
00001960  0d 09 56 1a 20 20 20 20  ec 20 7a 78 25 2b 36 2c  |..V.    . zx%+6,|
00001970  7a 79 25 2d 33 36 2a 73  6c 25 0d 09 60 13 20 20  |zy%-36*sl%..`.  |
00001980  20 20 f1 20 c3 28 73 6c  25 2b 31 29 3b 0d 09 6a  |  . .(sl%+1);..j|
00001990  1b 20 20 20 20 ec 20 7a  78 25 2b 38 32 2c 7a 79  |.    . zx%+82,zy|
000019a0  25 2d 33 36 2a 73 6c 25  0d 09 74 1f 20 20 20 20  |%-36*sl%..t.    |
000019b0  f1 20 24 28 73 6f 6e 67  73 74 61 72 74 25 2b 73  |. $(songstart%+s|
000019c0  6c 25 2a 33 32 29 3b 0d  09 7e 1c 20 20 20 20 ec  |l%*32);..~.    .|
000019d0  20 7a 78 25 2b 32 35 34  2c 7a 79 25 2d 33 36 2a  | zx%+254,zy%-36*|
000019e0  73 6c 25 0d 09 88 24 20  20 20 20 f1 20 c3 28 73  |sl%...$    . .(s|
000019f0  6f 6e 67 73 74 61 72 74  25 21 28 73 6c 25 2a 33  |ongstart%!(sl%*3|
00001a00  32 2b 31 32 29 29 3b 0d  09 92 1c 20 20 20 20 ec  |2+12));....    .|
00001a10  20 7a 78 25 2b 33 37 38  2c 7a 79 25 2d 33 36 2a  | zx%+378,zy%-36*|
00001a20  73 6c 25 0d 09 9c 24 20  20 20 20 f1 20 c3 28 73  |sl%...$    . .(s|
00001a30  6f 6e 67 73 74 61 72 74  25 21 28 73 6c 25 2a 33  |ongstart%!(sl%*3|
00001a40  32 2b 31 36 29 29 3b 0d  09 a6 1c 20 20 20 20 ec  |2+16));....    .|
00001a50  20 7a 78 25 2b 35 30 32  2c 7a 79 25 2d 33 36 2a  | zx%+502,zy%-36*|
00001a60  73 6c 25 0d 09 b0 24 20  20 20 20 f1 20 c3 28 73  |sl%...$    . .(s|
00001a70  6f 6e 67 73 74 61 72 74  25 21 28 73 6c 25 2a 33  |ongstart%!(sl%*3|
00001a80  32 2b 32 30 29 29 3b 0d  09 ba 0e 20 20 20 20 73  |2+20));....    s|
00001a90  6c 25 2b 3d 31 0d 09 c4  07 20 20 ce 0d 09 ce 2b  |l%+=1....  ....+|
00001aa0  20 20 c8 99 22 57 69 6d  70 5f 47 65 74 52 65 63  |  .."Wimp_GetRec|
00001ab0  74 61 6e 67 6c 65 22 2c  2c 70 6f 6c 6c 65 64 62  |tangle",,polledb|
00001ac0  25 b8 6d 6f 72 65 25 0d  09 d8 05 ce 0d 09 e2 05  |%.more%.........|
00001ad0  e1 0d 09 ec 04 0d 09 f6  10 dd f2 4a 75 73 74 52  |...........JustR|
00001ae0  65 64 72 61 77 0d 0a 00  0c c8 95 20 6d 6f 72 65  |edraw...... more|
00001af0  25 0d 0a 0a 2b 20 20 c8  99 22 57 69 6d 70 5f 47  |%...+  .."Wimp_G|
00001b00  65 74 52 65 63 74 61 6e  67 6c 65 22 2c 2c 70 6f  |etRectangle",,po|
00001b10  6c 6c 65 64 62 25 b8 6d  6f 72 65 25 0d 0a 14 05  |lledb%.more%....|
00001b20  ce 0d 0a 1e 05 e1 0d 0a  28 04 0d 0a 32 0c dd f2  |........(...2...|
00001b30  49 6e 76 43 6f 6c 0d 0a  3c 26 c8 99 22 58 4f 53  |InvCol..<&.."XOS|
00001b40  5f 52 65 61 64 4d 6f 64  65 56 61 72 69 61 62 6c  |_ReadModeVariabl|
00001b50  65 22 2c 2d 31 2c 33 b8  2c 2c 63 25 0d 0a 46 0b  |e",-1,3.,,c%..F.|
00001b60  c8 8e 20 63 25 20 ca 0d  0a 50 0e 20 20 c9 20 31  |.. c% ...P.  . 1|
00001b70  3a e6 33 2c 31 0d 0a 5a  0e 20 20 c9 20 33 3a e6  |:.3,1..Z.  . 3:.|
00001b80  33 2c 33 0d 0a 64 0f 20  20 c9 20 31 35 3a e6 33  |3,3..d.  . 15:.3|
00001b90  2c 37 0d 0a 6e 15 20 20  c9 20 36 33 3a e6 33 2c  |,7..n.  . 63:.3,|
00001ba0  36 33 20 c8 9c 20 30 0d  0a 78 0d 20 20 7f 3a e6  |63 .. 0..x.  .:.|
00001bb0  33 2c 36 33 0d 0a 82 05  cb 0d 0a 8c 05 e1 0d 0a  |3,63............|
00001bc0  96 04 0d 0a a0 0d dd f2  49 6e 76 43 6f 6c 32 0d  |........InvCol2.|
00001bd0  0a aa 26 c8 99 22 58 4f  53 5f 52 65 61 64 4d 6f  |..&.."XOS_ReadMo|
00001be0  64 65 56 61 72 69 61 62  6c 65 22 2c 2d 31 2c 33  |deVariable",-1,3|
00001bf0  b8 2c 2c 63 25 0d 0a b4  0b c8 8e 20 63 25 20 ca  |.,,c%...... c% .|
00001c00  0d 0a be 0e 20 20 c9 20  31 3a e6 33 2c 31 0d 0a  |....  . 1:.3,1..|
00001c10  c8 0e 20 20 c9 20 33 3a  e6 33 2c 31 0d 0a d2 10  |..  . 3:.3,1....|
00001c20  20 20 c9 20 31 35 3a e6  33 2c 31 30 0d 0a dc 1a  |  . 15:.3,10....|
00001c30  20 20 c9 20 36 33 3a e6  33 2c 25 31 31 30 30 31  |  . 63:.3,%11001|
00001c40  31 20 c8 9c 20 30 0d 0a  e6 0d 20 20 7f 3a e6 33  |1 .. 0....  .:.3|
00001c50  2c 36 33 0d 0a f0 05 cb  0d 0a fa 05 e1 0d 0b 04  |,63.............|
00001c60  04 0d 0b 0e 0d dd f2 49  6e 76 43 6f 6c 33 0d 0b  |.......InvCol3..|
00001c70  18 26 c8 99 22 58 4f 53  5f 52 65 61 64 4d 6f 64  |.&.."XOS_ReadMod|
00001c80  65 56 61 72 69 61 62 6c  65 22 2c 2d 31 2c 33 b8  |eVariable",-1,3.|
00001c90  2c 2c 63 25 0d 0b 22 0b  c8 8e 20 63 25 20 ca 0d  |,,c%.."... c% ..|
00001ca0  0b 2c 0e 20 20 c9 20 31  3a e6 33 2c 31 0d 0b 36  |.,.  . 1:.3,1..6|
00001cb0  0e 20 20 c9 20 33 3a e6  33 2c 32 0d 0b 40 10 20  |.  . 3:.3,2..@. |
00001cc0  20 c9 20 31 35 3a e6 33  2c 31 31 0d 0b 4a 1a 20  | . 15:.3,11..J. |
00001cd0  20 c9 20 36 33 3a e6 33  2c 25 31 31 31 31 30 30  | . 63:.3,%111100|
00001ce0  20 c8 9c 20 30 0d 0b 54  0d 20 20 7f 3a e6 33 2c  | .. 0..T.  .:.3,|
00001cf0  36 33 0d 0b 5e 05 cb 0d  0b 68 05 e1 0d 0b 72 04  |63..^....h....r.|
00001d00  0d 0b 7c 11 dd f2 4f 70  65 6e 5f 57 69 6e 64 6f  |..|...Open_Windo|
00001d10  77 0d 0b 86 27 e7 20 70  6f 6c 6c 65 64 62 25 21  |w...'. polledb%!|
00001d20  30 3d 77 77 6f 72 6b 68  25 20 8c 20 f2 4f 70 65  |0=wworkh% . .Ope|
00001d30  6e 5f 57 6f 72 6b 3a e1  0d 0b 90 27 e7 20 70 6f  |n_Work:....'. po|
00001d40  6c 6c 65 64 62 25 21 30  3d 77 73 6f 6e 67 68 25  |lledb%!0=wsongh%|
00001d50  20 8c 20 f2 4f 70 65 6e  5f 53 6f 6e 67 3a e1 0d  | . .Open_Song:..|
00001d60  0b 9a 5b e7 20 70 6f 6c  6c 65 64 62 25 21 30 3d  |..[. polledb%!0=|
00001d70  77 70 6f 73 68 25 20 8c  20 70 6f 6c 6c 65 64 62  |wposh% . polledb|
00001d80  25 21 30 3d 77 77 6f 72  6b 68 25 3a c8 99 22 57  |%!0=wworkh%:.."W|
00001d90  69 6d 70 5f 47 65 74 57  69 6e 64 6f 77 53 74 61  |imp_GetWindowSta|
00001da0  74 65 22 2c 2c 70 6f 6c  6c 65 64 62 25 3a f2 4f  |te",,polledb%:.O|
00001db0  70 65 6e 5f 57 6f 72 6b  3a e1 0d 0b a4 64 e7 20  |pen_Work:....d. |
00001dc0  70 6f 6c 6c 65 64 62 25  21 30 3d 77 73 6f 6e 67  |polledb%!0=wsong|
00001dd0  70 61 6e 65 68 25 20 8c  20 70 6f 6c 6c 65 64 62  |paneh% . polledb|
00001de0  25 21 30 3d 77 73 6f 6e  67 70 61 6e 65 68 25 3a  |%!0=wsongpaneh%:|
00001df0  c8 99 22 57 69 6d 70 5f  47 65 74 57 69 6e 64 6f  |.."Wimp_GetWindo|
00001e00  77 53 74 61 74 65 22 2c  2c 70 6f 6c 6c 65 64 62  |wState",,polledb|
00001e10  25 3a f2 4f 70 65 6e 5f  53 6f 6e 67 3a e1 0d 0b  |%:.Open_Song:...|
00001e20  ae 21 c8 99 22 57 69 6d  70 5f 4f 70 65 6e 57 69  |.!.."Wimp_OpenWi|
00001e30  6e 64 6f 77 22 2c 2c 70  6f 6c 6c 65 64 62 25 0d  |ndow",,polledb%.|
00001e40  0b b8 05 e1 0d 0b c2 04  0d 0b cc 0f dd f2 4f 70  |..............Op|
00001e50  65 6e 5f 57 6f 72 6b 0d  0b d6 12 74 65 6d 70 25  |en_Work....temp%|
00001e60  21 30 3d 77 70 6f 73 68  25 0d 0b e0 22 c8 99 22  |!0=wposh%...".."|
00001e70  57 69 6d 70 5f 47 65 74  57 69 6e 64 6f 77 53 74  |Wimp_GetWindowSt|
00001e80  61 74 65 22 2c 2c 74 65  6d 70 25 0d 0b ea 12 41  |ate",,temp%....A|
00001e90  25 3d 70 6f 6c 6c 65 64  62 25 21 32 38 0d 0b f4  |%=polledb%!28...|
00001ea0  16 70 6f 6c 6c 65 64 62  25 21 32 38 3d 77 70 6f  |.polledb%!28=wpo|
00001eb0  73 68 25 0d 0b fe 21 c8  99 22 57 69 6d 70 5f 4f  |sh%...!.."Wimp_O|
00001ec0  70 65 6e 57 69 6e 64 6f  77 22 2c 2c 70 6f 6c 6c  |penWindow",,poll|
00001ed0  65 64 62 25 0d 0c 08 25  c8 99 22 57 69 6d 70 5f  |edb%...%.."Wimp_|
00001ee0  47 65 74 57 69 6e 64 6f  77 53 74 61 74 65 22 2c  |GetWindowState",|
00001ef0  2c 70 6f 6c 6c 65 64 62  25 0d 0c 12 16 74 65 6d  |,polledb%....tem|
00001f00  70 25 21 34 3d 70 6f 6c  6c 65 64 62 25 21 34 0d  |p%!4=polledb%!4.|
00001f10  0c 1c 1a 74 65 6d 70 25  21 38 3d 70 6f 6c 6c 65  |...temp%!8=polle|
00001f20  64 62 25 21 38 2d 31 30  30 0d 0c 26 19 74 65 6d  |db%!8-100..&.tem|
00001f30  70 25 21 31 32 3d 74 65  6d 70 25 21 34 2b 31 30  |p%!12=temp%!4+10|
00001f40  32 34 0d 0c 30 17 74 65  6d 70 25 21 31 36 3d 74  |24..0.temp%!16=t|
00001f50  65 6d 70 25 21 38 2b 35  36 0d 0c 3a 0f 74 65 6d  |emp%!8+56..:.tem|
00001f60  70 25 21 32 38 3d 41 25  0d 0c 44 1e c8 99 22 57  |p%!28=A%..D..."W|
00001f70  69 6d 70 5f 4f 70 65 6e  57 69 6e 64 6f 77 22 2c  |imp_OpenWindow",|
00001f80  2c 74 65 6d 70 25 0d 0c  4e 16 70 6f 6c 6c 65 64  |,temp%..N.polled|
00001f90  62 25 21 32 38 3d 77 70  6f 73 68 25 0d 0c 58 21  |b%!28=wposh%..X!|
00001fa0  c8 99 22 57 69 6d 70 5f  4f 70 65 6e 57 69 6e 64  |.."Wimp_OpenWind|
00001fb0  6f 77 22 2c 2c 70 6f 6c  6c 65 64 62 25 0d 0c 62  |ow",,polledb%..b|
00001fc0  05 e1 0d 0c 6c 04 0d 0c  76 0f dd f2 4f 70 65 6e  |....l...v...Open|
00001fd0  5f 53 6f 6e 67 0d 0c 80  17 74 65 6d 70 25 21 30  |_Song....temp%!0|
00001fe0  3d 77 73 6f 6e 67 70 61  6e 65 68 25 0d 0c 8a 22  |=wsongpaneh%..."|
00001ff0  c8 99 22 57 69 6d 70 5f  47 65 74 57 69 6e 64 6f  |.."Wimp_GetWindo|
00002000  77 53 74 61 74 65 22 2c  2c 74 65 6d 70 25 0d 0c  |wState",,temp%..|
00002010  94 12 41 25 3d 70 6f 6c  6c 65 64 62 25 21 32 38  |..A%=polledb%!28|
00002020  0d 0c 9e 1b 70 6f 6c 6c  65 64 62 25 21 32 38 3d  |....polledb%!28=|
00002030  77 73 6f 6e 67 70 61 6e  65 68 25 0d 0c a8 21 c8  |wsongpaneh%...!.|
00002040  99 22 57 69 6d 70 5f 4f  70 65 6e 57 69 6e 64 6f  |."Wimp_OpenWindo|
00002050  77 22 2c 2c 70 6f 6c 6c  65 64 62 25 0d 0c b2 25  |w",,polledb%...%|
00002060  c8 99 22 57 69 6d 70 5f  47 65 74 57 69 6e 64 6f  |.."Wimp_GetWindo|
00002070  77 53 74 61 74 65 22 2c  2c 70 6f 6c 6c 65 64 62  |wState",,polledb|
00002080  25 0d 0c bc 16 74 65 6d  70 25 21 34 3d 70 6f 6c  |%....temp%!4=pol|
00002090  6c 65 64 62 25 21 34 0d  0c c6 18 74 65 6d 70 25  |ledb%!4....temp%|
000020a0  21 31 32 3d 70 6f 6c 6c  65 64 62 25 21 31 32 0d  |!12=polledb%!12.|
000020b0  0c d0 18 74 65 6d 70 25  21 31 36 3d 70 6f 6c 6c  |...temp%!16=poll|
000020c0  65 64 62 25 21 31 36 0d  0c da 1a 74 65 6d 70 25  |edb%!16....temp%|
000020d0  21 38 3d 70 6f 6c 6c 65  64 62 25 21 31 36 2d 38  |!8=polledb%!16-8|
000020e0  34 0d 0c e4 18 74 65 6d  70 25 21 32 30 3d 70 6f  |4....temp%!20=po|
000020f0  6c 6c 65 64 62 25 21 32  30 0d 0c ee 0f 74 65 6d  |lledb%!20....tem|
00002100  70 25 21 32 38 3d 41 25  0d 0c f8 1e c8 99 22 57  |p%!28=A%......"W|
00002110  69 6d 70 5f 4f 70 65 6e  57 69 6e 64 6f 77 22 2c  |imp_OpenWindow",|
00002120  2c 74 65 6d 70 25 0d 0d  02 1b 70 6f 6c 6c 65 64  |,temp%....polled|
00002130  62 25 21 32 38 3d 77 73  6f 6e 67 70 61 6e 65 68  |b%!28=wsongpaneh|
00002140  25 0d 0d 0c 21 c8 99 22  57 69 6d 70 5f 4f 70 65  |%...!.."Wimp_Ope|
00002150  6e 57 69 6e 64 6f 77 22  2c 2c 70 6f 6c 6c 65 64  |nWindow",,polled|
00002160  62 25 0d 0d 16 05 e1 0d  0d 20 04 0d 0d 2a 12 dd  |b%....... ...*..|
00002170  f2 43 6c 6f 73 65 5f 57  69 6e 64 6f 77 0d 0d 34  |.Close_Window..4|
00002180  22 c8 99 22 57 69 6d 70  5f 43 6c 6f 73 65 57 69  |".."Wimp_CloseWi|
00002190  6e 64 6f 77 22 2c 2c 70  6f 6c 6c 65 64 62 25 0d  |ndow",,polledb%.|
000021a0  0d 3e 4b e7 20 70 6f 6c  6c 65 64 62 25 21 30 3d  |.>K. polledb%!0=|
000021b0  77 77 6f 72 6b 68 25 20  8c 20 70 6f 6c 6c 65 64  |wworkh% . polled|
000021c0  62 25 21 30 3d 77 70 6f  73 68 25 3a c8 99 22 57  |b%!0=wposh%:.."W|
000021d0  69 6d 70 5f 43 6c 6f 73  65 57 69 6e 64 6f 77 22  |imp_CloseWindow"|
000021e0  2c 2c 70 6f 6c 6c 65 64  62 25 0d 0d 48 50 e7 20  |,,polledb%..HP. |
000021f0  70 6f 6c 6c 65 64 62 25  21 30 3d 77 73 6f 6e 67  |polledb%!0=wsong|
00002200  68 25 20 8c 20 70 6f 6c  6c 65 64 62 25 21 30 3d  |h% . polledb%!0=|
00002210  77 73 6f 6e 67 70 61 6e  65 68 25 3a c8 99 22 57  |wsongpaneh%:.."W|
00002220  69 6d 70 5f 43 6c 6f 73  65 57 69 6e 64 6f 77 22  |imp_CloseWindow"|
00002230  2c 2c 70 6f 6c 6c 65 64  62 25 0d 0d 52 05 e1 0d  |,,polledb%..R...|
00002240  0d 5c 04 0d 0d 66 11 dd  f2 4d 6f 75 73 65 5f 43  |.\...f...Mouse_C|
00002250  6c 69 63 6b 0d 0d 70 14  c8 8e 20 70 6f 6c 6c 65  |lick..p... polle|
00002260  64 62 25 21 31 32 20 ca  0d 0d 7a 1a 20 20 c9 20  |db%!12 ...z.  . |
00002270  77 77 6f 72 6b 68 25 3a  f2 57 6f 72 6b 43 6c 69  |wworkh%:.WorkCli|
00002280  63 6b 0d 0d 84 1a 20 20  c9 20 77 65 63 68 6f 68  |ck....  . wechoh|
00002290  25 3a f2 45 63 68 6f 43  6c 69 63 6b 0d 0d 8e 1a  |%:.EchoClick....|
000022a0  20 20 c9 20 77 66 61 64  65 68 25 3a f2 46 61 64  |  . wfadeh%:.Fad|
000022b0  65 43 6c 69 63 6b 0d 0d  98 1d 20 20 c9 20 77 6b  |eClick....  . wk|
000022c0  65 79 62 6f 61 72 64 68  25 3a f2 4b 65 79 43 6c  |eyboardh%:.KeyCl|
000022d0  69 63 6b 0d 0d a2 18 20  20 c9 20 77 70 6f 73 68  |ick....  . wposh|
000022e0  25 3a f2 50 6f 73 43 6c  69 63 6b 0d 0d ac 1a 20  |%:.PosClick.... |
000022f0  20 c9 20 77 73 6f 6e 67  68 25 3a f2 53 6f 6e 67  | . wsongh%:.Song|
00002300  43 6c 69 63 6b 0d 0d b6  16 20 20 c9 20 2d 32 3a  |Click....  . -2:|
00002310  f2 49 63 6f 6e 42 43 6c  69 63 6b 0d 0d c0 05 cb  |.IconBClick.....|
00002320  0d 0d ca 05 e1 0d 0d d4  04 0d 0d de 0f dd f2 53  |...............S|
00002330  6f 6e 67 43 6c 69 63 6b  0d 0d e8 13 74 65 6d 70  |ongClick....temp|
00002340  25 21 30 3d 77 73 6f 6e  67 68 25 0d 0d f2 22 c8  |%!0=wsongh%...".|
00002350  99 22 57 69 6d 70 5f 47  65 74 57 69 6e 64 6f 77  |."Wimp_GetWindow|
00002360  53 74 61 74 65 22 2c 2c  74 65 6d 70 25 0d 0d fc  |State",,temp%...|
00002370  32 63 75 72 72 73 65 63  74 25 3d 28 74 65 6d 70  |2currsect%=(temp|
00002380  25 21 31 36 2d 74 65 6d  70 25 21 32 34 2d 39 36  |%!16-temp%!24-96|
00002390  2d 70 6f 6c 6c 65 64 62  25 21 34 29 2f 33 36 0d  |-polledb%!4)/36.|
000023a0  0e 06 1f e7 20 63 75 72  72 73 65 63 74 25 3c 30  |.... currsect%<0|
000023b0  20 8c 20 63 75 72 72 73  65 63 74 25 3d 30 0d 0e  | . currsect%=0..|
000023c0  10 2d e7 20 63 75 72 72  73 65 63 74 25 3e 73 6f  |.-. currsect%>so|
000023d0  6e 67 6c 65 6e 25 20 8c  20 63 75 72 72 73 65 63  |nglen% . currsec|
000023e0  74 25 3d 73 6f 6e 67 6c  65 6e 25 0d 0e 1a 52 e7  |t%=songlen%...R.|
000023f0  20 63 75 72 72 73 65 63  74 25 3d 73 6f 6e 67 6c  | currsect%=songl|
00002400  65 6e 25 20 8c 20 24 28  73 65 63 74 6d 65 6e 75  |en% . $(sectmenu|
00002410  25 29 3d 22 4c 6f 6f 70  22 20 8b 20 24 73 65 63  |%)="Loop" . $sec|
00002420  74 6d 65 6e 75 25 3d 22  4c 6f 6f 70 20 22 2b c3  |tmenu%="Loop "+.|
00002430  28 63 75 72 72 73 65 63  74 25 2b 31 29 0d 0e 24  |(currsect%+1)..$|
00002440  13 c8 8e 20 70 6f 6c 6c  65 64 62 25 21 38 20 ca  |... polledb%!8 .|
00002450  0d 0e 2e 78 20 20 c9 20  32 3a 6c 61 73 74 6d 78  |...x  . 2:lastmx|
00002460  25 3d 70 6f 6c 6c 65 64  62 25 21 30 2d 36 34 3a  |%=polledb%!0-64:|
00002470  6c 61 73 74 6d 79 25 3d  70 6f 6c 6c 65 64 62 25  |lastmy%=polledb%|
00002480  21 34 2b 31 36 3a 6c 61  73 74 6d 65 6e 75 25 3d  |!4+16:lastmenu%=|
00002490  73 65 63 74 6d 65 6e 75  25 3a c8 99 22 57 69 6d  |sectmenu%:.."Wim|
000024a0  70 5f 43 72 65 61 74 65  4d 65 6e 75 22 2c 2c 6c  |p_CreateMenu",,l|
000024b0  61 73 74 6d 65 6e 75 25  2c 6c 61 73 74 6d 78 25  |astmenu%,lastmx%|
000024c0  2c 6c 61 73 74 6d 79 25  0d 0e 38 16 20 20 c9 20  |,lastmy%..8.  . |
000024d0  31 30 32 34 3a f2 45 64  69 74 53 65 63 74 0d 0e  |1024:.EditSect..|
000024e0  42 05 cb 0d 0e 4c 05 e1  0d 0e 56 04 0d 0e 60 0e  |B....L....V...`.|
000024f0  dd f2 45 64 69 74 53 65  63 74 0d 0e 6a 1a e7 20  |..EditSect..j.. |
00002500  63 75 72 72 73 65 63 74  25 3c 73 6f 6e 67 6c 65  |currsect%<songle|
00002510  6e 25 20 8c 0d 0e 74 19  20 20 74 65 6d 70 25 21  |n% ...t.  temp%!|
00002520  30 3d 77 73 6f 6e 67 70  61 6e 65 68 25 0d 0e 7e  |0=wsongpaneh%..~|
00002530  0f 20 20 74 65 6d 70 25  21 34 3d 35 0d 0e 88 22  |.  temp%!4=5..."|
00002540  20 20 c8 99 22 57 69 6d  70 5f 47 65 74 49 63 6f  |  .."Wimp_GetIco|
00002550  6e 53 74 61 74 65 22 2c  2c 74 65 6d 70 25 0d 0e  |nState",,temp%..|
00002560  92 20 20 20 24 28 74 65  6d 70 25 21 32 38 29 3d  |.   $(temp%!28)=|
00002570  c3 28 63 75 72 72 73 65  63 74 25 2b 31 29 0d 0e  |.(currsect%+1)..|
00002580  9c 0f 20 20 74 65 6d 70  25 21 34 3d 36 0d 0e a6  |..  temp%!4=6...|
00002590  22 20 20 c8 99 22 57 69  6d 70 5f 47 65 74 49 63  |"  .."Wimp_GetIc|
000025a0  6f 6e 53 74 61 74 65 22  2c 2c 74 65 6d 70 25 0d  |onState",,temp%.|
000025b0  0e b0 2c 20 20 24 28 74  65 6d 70 25 21 32 38 29  |..,  $(temp%!28)|
000025c0  3d 24 28 73 6f 6e 67 73  74 61 72 74 25 2b 63 75  |=$(songstart%+cu|
000025d0  72 72 73 65 63 74 25 2a  33 32 29 0d 0e ba 0f 20  |rrsect%*32).... |
000025e0  20 74 65 6d 70 25 21 34  3d 37 0d 0e c4 22 20 20  | temp%!4=7..."  |
000025f0  c8 99 22 57 69 6d 70 5f  47 65 74 49 63 6f 6e 53  |.."Wimp_GetIconS|
00002600  74 61 74 65 22 2c 2c 74  65 6d 70 25 0d 0e ce 31  |tate",,temp%...1|
00002610  20 20 24 28 74 65 6d 70  25 21 32 38 29 3d c3 28  |  $(temp%!28)=.(|
00002620  73 6f 6e 67 73 74 61 72  74 25 21 28 63 75 72 72  |songstart%!(curr|
00002630  73 65 63 74 25 2a 33 32  2b 31 32 29 29 0d 0e d8  |sect%*32+12))...|
00002640  0f 20 20 74 65 6d 70 25  21 34 3d 38 0d 0e e2 22  |.  temp%!4=8..."|
00002650  20 20 c8 99 22 57 69 6d  70 5f 47 65 74 49 63 6f  |  .."Wimp_GetIco|
00002660  6e 53 74 61 74 65 22 2c  2c 74 65 6d 70 25 0d 0e  |nState",,temp%..|
00002670  ec 31 20 20 24 28 74 65  6d 70 25 21 32 38 29 3d  |.1  $(temp%!28)=|
00002680  c3 28 73 6f 6e 67 73 74  61 72 74 25 21 28 63 75  |.(songstart%!(cu|
00002690  72 72 73 65 63 74 25 2a  33 32 2b 31 36 29 29 0d  |rrsect%*32+16)).|
000026a0  0e f6 0f 20 20 74 65 6d  70 25 21 34 3d 39 0d 0f  |...  temp%!4=9..|
000026b0  00 22 20 20 c8 99 22 57  69 6d 70 5f 47 65 74 49  |."  .."Wimp_GetI|
000026c0  63 6f 6e 53 74 61 74 65  22 2c 2c 74 65 6d 70 25  |conState",,temp%|
000026d0  0d 0f 0a 31 20 20 24 28  74 65 6d 70 25 21 32 38  |...1  $(temp%!28|
000026e0  29 3d c3 28 73 6f 6e 67  73 74 61 72 74 25 21 28  |)=.(songstart%!(|
000026f0  63 75 72 72 73 65 63 74  25 2a 33 32 2b 32 30 29  |currsect%*32+20)|
00002700  29 0d 0f 14 2a 20 20 70  6c 6f 6f 70 6c 25 3d 73  |)...*  ploopl%=s|
00002710  6f 6e 67 73 74 61 72 74  25 21 28 63 75 72 72 73  |ongstart%!(currs|
00002720  65 63 74 25 2a 33 32 2b  32 34 29 0d 0f 1e 2a 20  |ect%*32+24)...* |
00002730  20 70 6c 6f 6f 70 72 25  3d 73 6f 6e 67 73 74 61  | ploopr%=songsta|
00002740  72 74 25 21 28 63 75 72  72 73 65 63 74 25 2a 33  |rt%!(currsect%*3|
00002750  32 2b 32 38 29 0d 0f 28  1d 20 20 e7 20 70 6c 6f  |2+28)..(.  . plo|
00002760  6f 70 6c 25 3c 30 20 8c  20 70 6c 6f 6f 70 6c 25  |opl%<0 . ploopl%|
00002770  3d 30 0d 0f 32 1d 20 20  e7 20 70 6c 6f 6f 70 72  |=0..2.  . ploopr|
00002780  25 3c 30 20 8c 20 70 6c  6f 6f 70 72 25 3d 30 0d  |%<0 . ploopr%=0.|
00002790  0f 3c 2f 20 20 e7 20 70  6c 6f 6f 70 6c 25 3e 73  |.</  . ploopl%>s|
000027a0  61 6d 70 6c 65 6c 65 6e  25 20 8c 20 70 6c 6f 6f  |amplelen% . ploo|
000027b0  70 6c 25 3d 73 61 6d 70  6c 65 6c 65 6e 25 0d 0f  |pl%=samplelen%..|
000027c0  46 2f 20 20 e7 20 70 6c  6f 6f 70 72 25 3e 73 61  |F/  . ploopr%>sa|
000027d0  6d 70 6c 65 6c 65 6e 25  20 8c 20 70 6c 6f 6f 70  |mplelen% . ploop|
000027e0  72 25 3d 73 61 6d 70 6c  65 6c 65 6e 25 0d 0f 50  |r%=samplelen%..P|
000027f0  20 20 20 6c 6f 6f 70 6c  25 3d a4 50 74 72 54 6f  |   loopl%=.PtrTo|
00002800  57 6f 72 6b 28 70 6c 6f  6f 70 6c 25 29 0d 0f 5a  |Work(ploopl%)..Z|
00002810  20 20 20 6c 6f 6f 70 72  25 3d a4 50 74 72 54 6f  |   loopr%=.PtrTo|
00002820  57 6f 72 6b 28 70 6c 6f  6f 70 72 25 29 0d 0f 64  |Work(ploopr%)..d|
00002830  12 20 20 f2 55 70 64 61  74 65 4c 6f 6f 70 50 0d  |.  .UpdateLoopP.|
00002840  0f 6e 11 20 20 f2 52 64  53 6f 6e 67 50 61 6e 65  |.n.  .RdSongPane|
00002850  0d 0f 78 26 20 20 c8 99  22 57 69 6d 70 5f 47 65  |..x&  .."Wimp_Ge|
00002860  74 43 61 72 65 74 50 6f  73 69 74 69 6f 6e 22 2c  |tCaretPosition",|
00002870  2c 74 65 6d 70 25 0d 0f  82 46 20 20 e7 20 28 74  |,temp%...F  . (t|
00002880  65 6d 70 25 21 30 3d 77  73 6f 6e 67 70 61 6e 65  |emp%!0=wsongpane|
00002890  68 25 29 80 28 74 65 6d  70 25 21 34 3c 3e 2d 31  |h%).(temp%!4<>-1|
000028a0  29 20 8c 20 f2 53 65 74  57 49 43 28 74 65 6d 70  |) . .SetWIC(temp|
000028b0  25 21 30 2c 74 65 6d 70  25 21 34 29 0d 0f 8c 11  |%!0,temp%!4)....|
000028c0  20 20 6f 73 70 69 74 63  68 25 3d 2d 31 0d 0f 96  |  ospitch%=-1...|
000028d0  05 cd 0d 0f a0 05 e1 0d  0f aa 04 0d 0f b4 0e dd  |................|
000028e0  f2 50 6f 73 43 6c 69 63  6b 0d 0f be 14 c8 8e 20  |.PosClick...... |
000028f0  70 6f 6c 6c 65 64 62 25  21 31 36 20 ca 0d 0f c8  |polledb%!16 ....|
00002900  1d 20 20 c9 20 30 3a 70  64 69 73 70 68 64 25 3d  |.  . 0:pdisphd%=|
00002910  ac 20 70 64 69 73 70 68  64 25 0d 0f d2 12 20 20  |. pdisphd%....  |
00002920  c9 20 38 3a f2 50 6f 73  50 41 6c 6c 0d 0f dc 12  |. 8:.PosPAll....|
00002930  20 20 c9 20 39 3a f2 50  6f 73 50 53 65 6c 0d 0f  |  . 9:.PosPSel..|
00002940  e6 13 20 20 c9 20 31 30  3a f2 50 6f 73 50 57 69  |..  . 10:.PosPWi|
00002950  6e 0d 0f f0 14 20 20 c9  20 31 32 3a f2 50 6f 73  |n....  . 12:.Pos|
00002960  50 53 74 6f 70 0d 0f fa  05 cb 0d 10 04 05 e1 0d  |PStop...........|
00002970  10 0e 04 0d 10 18 0d dd  f2 50 6f 73 50 41 6c 6c  |.........PosPAll|
00002980  0d 10 22 36 c8 99 22 53  46 58 4d 50 5f 53 74 6f  |.."6.."SFXMP_Sto|
00002990  70 22 2c 31 3a c8 99 22  53 46 58 4d 50 5f 53 74  |p",1:.."SFXMP_St|
000029a0  6f 70 22 2c 32 3a c8 99  22 53 46 58 4d 50 5f 53  |op",2:.."SFXMP_S|
000029b0  74 6f 70 22 2c 33 0d 10  2c 19 c8 99 22 53 46 58  |top",3..,..."SFX|
000029c0  4d 50 5f 47 65 74 42 6c  6f 63 6b 22 b8 41 25 0d  |MP_GetBlock".A%.|
000029d0  10 36 19 c8 99 22 53 46  58 4d 50 5f 47 65 74 50  |.6..."SFXMP_GetP|
000029e0  69 74 63 68 22 b8 42 25  0d 10 40 0a 41 25 2b 3d  |itch".B%..@.A%+=|
000029f0  33 32 0d 10 4a 0a 41 25  21 30 3d 30 0d 10 54 15  |32..J.A%!0=0..T.|
00002a00  41 25 21 34 3d 73 74 61  72 74 73 61 6d 70 6c 65  |A%!4=startsample|
00002a10  25 0d 10 5e 0b 41 25 21  38 3d 42 25 0d 10 68 14  |%..^.A%!8=B%..h.|
00002a20  41 25 21 31 32 3d 73 61  6d 70 6c 65 6c 65 6e 25  |A%!12=samplelen%|
00002a30  0d 10 72 13 41 25 21 31  36 3d 73 74 79 70 65 25  |..r.A%!16=stype%|
00002a40  3c 3c 38 0d 10 7c 0b 41  25 21 32 30 3d 30 0d 10  |<<8..|.A%!20=0..|
00002a50  86 14 c8 99 22 53 46 58  4d 50 5f 50 6c 61 79 22  |...."SFXMP_Play"|
00002a60  2c 31 0d 10 90 05 e1 0d  10 9a 04 0d 10 a4 0d dd  |,1..............|
00002a70  f2 50 6f 73 50 53 65 6c  0d 10 ae 36 c8 99 22 53  |.PosPSel...6.."S|
00002a80  46 58 4d 50 5f 53 74 6f  70 22 2c 31 3a c8 99 22  |FXMP_Stop",1:.."|
00002a90  53 46 58 4d 50 5f 53 74  6f 70 22 2c 32 3a c8 99  |SFXMP_Stop",2:..|
00002aa0  22 53 46 58 4d 50 5f 53  74 6f 70 22 2c 33 0d 10  |"SFXMP_Stop",3..|
00002ab0  b8 15 e7 20 70 73 65 6c  65 63 74 6c 25 3c 3e 2d  |... pselectl%<>-|
00002ac0  31 20 8c 0d 10 c2 1b 20  20 c8 99 22 53 46 58 4d  |1 .....  .."SFXM|
00002ad0  50 5f 47 65 74 42 6c 6f  63 6b 22 b8 41 25 0d 10  |P_GetBlock".A%..|
00002ae0  cc 1b 20 20 c8 99 22 53  46 58 4d 50 5f 47 65 74  |..  .."SFXMP_Get|
00002af0  50 69 74 63 68 22 b8 42  25 0d 10 d6 0c 20 20 41  |Pitch".B%....  A|
00002b00  25 2b 3d 33 32 0d 10 e0  0c 20 20 41 25 21 30 3d  |%+=32....  A%!0=|
00002b10  30 0d 10 ea 21 20 20 41  25 21 34 3d 73 74 61 72  |0...!  A%!4=star|
00002b20  74 73 61 6d 70 6c 65 25  2b 70 73 65 6c 65 63 74  |tsample%+pselect|
00002b30  6c 25 0d 10 f4 0d 20 20  41 25 21 38 3d 42 25 0d  |l%....  A%!8=B%.|
00002b40  10 fe 1f 20 20 41 25 21  31 32 3d 70 73 65 6c 65  |...  A%!12=psele|
00002b50  63 74 72 25 2d 70 73 65  6c 65 63 74 6c 25 0d 11  |ctr%-pselectl%..|
00002b60  08 15 20 20 41 25 21 31  36 3d 73 74 79 70 65 25  |..  A%!16=stype%|
00002b70  3c 3c 38 0d 11 12 0d 20  20 41 25 21 32 30 3d 30  |<<8....  A%!20=0|
00002b80  0d 11 1c 16 20 20 c8 99  22 53 46 58 4d 50 5f 50  |....  .."SFXMP_P|
00002b90  6c 61 79 22 2c 31 0d 11  26 05 cd 0d 11 30 05 e1  |lay",1..&....0..|
00002ba0  0d 11 3a 04 0d 11 44 0d  dd f2 50 6f 73 50 57 69  |..:...D...PosPWi|
00002bb0  6e 0d 11 4e 36 c8 99 22  53 46 58 4d 50 5f 53 74  |n..N6.."SFXMP_St|
00002bc0  6f 70 22 2c 31 3a c8 99  22 53 46 58 4d 50 5f 53  |op",1:.."SFXMP_S|
00002bd0  74 6f 70 22 2c 32 3a c8  99 22 53 46 58 4d 50 5f  |top",2:.."SFXMP_|
00002be0  53 74 6f 70 22 2c 33 0d  11 58 13 74 65 6d 70 25  |Stop",3..X.temp%|
00002bf0  21 30 3d 77 77 6f 72 6b  68 25 0d 11 62 22 c8 99  |!0=wworkh%..b"..|
00002c00  22 57 69 6d 70 5f 47 65  74 57 69 6e 64 6f 77 53  |"Wimp_GetWindowS|
00002c10  74 61 74 65 22 2c 2c 74  65 6d 70 25 0d 11 6c 1b  |tate",,temp%..l.|
00002c20  42 25 3d a4 57 6f 72 6b  54 6f 50 74 72 28 74 65  |B%=.WorkToPtr(te|
00002c30  6d 70 25 21 32 30 29 0d  11 76 20 43 25 3d a4 57  |mp%!20)..v C%=.W|
00002c40  6f 72 6b 54 6f 50 74 72  28 74 65 6d 70 25 21 32  |orkToPtr(temp%!2|
00002c50  30 2b 31 30 32 34 29 0d  11 80 19 c8 99 22 53 46  |0+1024)......"SF|
00002c60  58 4d 50 5f 47 65 74 42  6c 6f 63 6b 22 b8 41 25  |XMP_GetBlock".A%|
00002c70  0d 11 8a 19 c8 99 22 53  46 58 4d 50 5f 47 65 74  |......"SFXMP_Get|
00002c80  50 69 74 63 68 22 b8 45  25 0d 11 94 0a 41 25 2b  |Pitch".E%....A%+|
00002c90  3d 33 32 0d 11 9e 0a 41  25 21 30 3d 30 0d 11 a8  |=32....A%!0=0...|
00002ca0  18 41 25 21 34 3d 73 74  61 72 74 73 61 6d 70 6c  |.A%!4=startsampl|
00002cb0  65 25 2b 42 25 0d 11 b2  0b 41 25 21 38 3d 45 25  |e%+B%....A%!8=E%|
00002cc0  0d 11 bc 0f 41 25 21 31  32 3d 43 25 2d 42 25 0d  |....A%!12=C%-B%.|
00002cd0  11 c6 13 41 25 21 31 36  3d 73 74 79 70 65 25 3c  |...A%!16=stype%<|
00002ce0  3c 38 0d 11 d0 0b 41 25  21 32 30 3d 30 0d 11 da  |<8....A%!20=0...|
00002cf0  14 c8 99 22 53 46 58 4d  50 5f 50 6c 61 79 22 2c  |..."SFXMP_Play",|
00002d00  31 0d 11 e4 05 e1 0d 11  ee 04 0d 11 f8 0e dd f2  |1...............|
00002d10  50 6f 73 50 53 74 6f 70  0d 12 02 36 c8 99 22 53  |PosPStop...6.."S|
00002d20  46 58 4d 50 5f 53 74 6f  70 22 2c 31 3a c8 99 22  |FXMP_Stop",1:.."|
00002d30  53 46 58 4d 50 5f 53 74  6f 70 22 2c 32 3a c8 99  |SFXMP_Stop",2:..|
00002d40  22 53 46 58 4d 50 5f 53  74 6f 70 22 2c 33 0d 12  |"SFXMP_Stop",3..|
00002d50  0c 05 e1 0d 12 16 04 0d  12 20 10 dd a4 53 74 72  |......... ...Str|
00002d60  69 70 28 66 73 24 29 0d  12 2a 0b ea 20 66 25 2c  |ip(fs$)..*.. f%,|
00002d70  61 25 0d 12 34 08 66 25  3d 31 0d 12 3e 08 61 25  |a%..4.f%=1..>.a%|
00002d80  3d 31 0d 12 48 13 c8 95  20 c1 66 73 24 2c 66 25  |=1..H... .fs$,f%|
00002d90  29 3c 3e 22 22 0d 12 52  31 20 20 e7 20 c1 66 73  |)<>""..R1  . .fs|
00002da0  24 2c 66 25 2c 31 29 3d  22 2e 22 20 84 20 c1 66  |$,f%,1)="." . .f|
00002db0  73 24 2c 66 25 2c 31 29  3d 22 3a 22 20 8c 20 61  |s$,f%,1)=":" . a|
00002dc0  25 3d 66 25 2b 31 0d 12  5c 0b 20 20 66 25 2b 3d  |%=f%+1..\.  f%+=|
00002dd0  31 0d 12 66 05 ce 0d 12  70 0d 3d c1 66 73 24 2c  |1..f....p.=.fs$,|
00002de0  61 25 29 0d 12 7a 04 0d  12 84 12 dd f2 4d 42 53  |a%)..z.......MBS|
00002df0  74 72 69 6e 67 28 73 25  29 0d 12 8e 15 c8 95 20  |tring(s%)...... |
00002e00  3f 73 25 3e 33 31 20 73  25 2b 3d 31 3a ce 0d 12  |?s%>31 s%+=1:...|
00002e10  98 0a 3f 73 25 3d 31 33  0d 12 a2 05 e1 0d 12 ac  |..?s%=13........|
00002e20  04 0d 12 b6 0e dd f2 44  61 74 61 53 61 76 65 0d  |.......DataSave.|
00002e30  12 c0 19 e7 20 6d 65 73  73 62 6b 25 21 34 3c 3e  |.... messbk%!4<>|
00002e40  74 61 73 6b 68 25 20 8c  0d 12 ca 28 20 20 66 69  |taskh% ....(  fi|
00002e50  6c 65 74 6f 6c 6f 61 64  32 24 3d a4 53 74 72 69  |letoload2$=.Stri|
00002e60  70 28 24 28 6d 65 73 73  62 6b 25 2b 34 34 29 29  |p($(messbk%+44))|
00002e70  0d 12 d4 27 20 20 24 28  6d 65 73 73 62 6b 25 2b  |...'  $(messbk%+|
00002e80  34 34 29 3d 22 3c 57 69  6d 70 24 53 63 72 61 70  |44)="<Wimp$Scrap|
00002e90  3e 22 2b bd 28 30 29 0d  12 de 13 20 20 6d 65 73  |>"+.(0)....  mes|
00002ea0  73 62 6b 25 21 30 3d 32  35 36 0d 12 e8 1a 20 20  |sbk%!0=256....  |
00002eb0  6d 65 73 73 62 6b 25 21  31 32 3d 6d 65 73 73 62  |messbk%!12=messb|
00002ec0  6b 25 21 38 0d 12 f2 12  20 20 6d 65 73 73 62 6b  |k%!8....  messbk|
00002ed0  25 21 31 36 3d 32 0d 12  fc 13 20 20 6d 65 73 73  |%!16=2....  mess|
00002ee0  62 6b 25 21 33 36 3d 2d  31 0d 13 06 2f 20 20 c8  |bk%!36=-1.../  .|
00002ef0  99 22 57 69 6d 70 5f 53  65 6e 64 4d 65 73 73 61  |."Wimp_SendMessa|
00002f00  67 65 22 2c 31 38 2c 6d  65 73 73 62 6b 25 2c 6d  |ge",18,messbk%,m|
00002f10  65 73 73 62 6b 25 21 34  0d 13 10 05 cd 0d 13 1a  |essbk%!4........|
00002f20  05 e1 0d 13 24 04 0d 13  2e 11 dd f2 47 65 74 53  |....$.......GetS|
00002f30  74 61 72 74 4c 65 6e 0d  13 38 12 c8 8e 20 73 61  |tartLen..8... sa|
00002f40  76 65 64 61 74 61 25 20  ca 0d 13 42 29 20 20 c9  |vedata% ...B)  .|
00002f50  20 30 3a 73 73 25 3d 73  74 61 72 74 73 61 6d 70  | 0:ss%=startsamp|
00002f60  6c 65 25 3a 73 6c 25 3d  73 61 6d 70 6c 65 6c 65  |le%:sl%=samplele|
00002f70  6e 25 0d 13 4c 57 20 20  c9 20 31 3a e7 20 70 73  |n%..LW  . 1:. ps|
00002f80  65 6c 65 63 74 6c 25 3c  3e 2d 31 20 8c 20 73 73  |electl%<>-1 . ss|
00002f90  25 3d 73 74 61 72 74 73  61 6d 70 6c 65 25 2b 70  |%=startsample%+p|
00002fa0  73 65 6c 65 63 74 6c 25  3a 73 6c 25 3d 70 73 65  |selectl%:sl%=pse|
00002fb0  6c 65 63 74 72 25 2d 70  73 65 6c 65 63 74 6c 25  |lectr%-pselectl%|
00002fc0  20 8b 20 73 73 25 3d 2d  31 0d 13 56 27 20 20 c9  | . ss%=-1..V'  .|
00002fd0  20 32 3a 73 73 25 3d 63  6c 69 70 62 73 74 61 72  | 2:ss%=clipbstar|
00002fe0  74 25 3a 73 6c 25 3d 63  6c 69 70 62 6c 65 6e 25  |t%:sl%=clipblen%|
00002ff0  0d 13 60 05 cb 0d 13 6a  05 e1 0d 13 74 04 0d 13  |..`....j....t...|
00003000  7e 0e dd f2 4b 65 79 43  6c 69 63 6b 0d 13 88 13  |~...KeyClick....|
00003010  c8 8e 20 70 6f 6c 6c 65  64 62 25 21 38 20 ca 0d  |.. polledb%!8 ..|
00003020  13 92 72 20 20 c9 20 31  3a c8 99 22 58 57 69 6d  |..r  . 1:.."XWim|
00003030  70 5f 53 65 74 43 61 72  65 74 50 6f 73 69 74 69  |p_SetCaretPositi|
00003040  6f 6e 22 2c 77 6b 65 79  62 6f 61 72 64 68 25 2c  |on",wkeyboardh%,|
00003050  2d 31 2c 2d 31 2c 2d 31  2c 2d 31 2c 2d 31 3a c8  |-1,-1,-1,-1,-1:.|
00003060  99 22 53 46 58 4d 50 5f  53 74 6f 70 22 2c 31 3a  |."SFXMP_Stop",1:|
00003070  c8 99 22 53 46 58 4d 50  5f 53 74 6f 70 22 2c 32  |.."SFXMP_Stop",2|
00003080  3a c8 99 22 53 46 58 4d  50 5f 53 74 6f 70 22 2c  |:.."SFXMP_Stop",|
00003090  33 0d 13 9c 3f 20 20 c9  20 34 3a c8 99 22 58 57  |3...?  . 4:.."XW|
000030a0  69 6d 70 5f 53 65 74 43  61 72 65 74 50 6f 73 69  |imp_SetCaretPosi|
000030b0  74 69 6f 6e 22 2c 77 6b  65 79 62 6f 61 72 64 68  |tion",wkeyboardh|
000030c0  25 2c 2d 31 2c 2d 31 2c  2d 31 2c 2d 31 2c 2d 31  |%,-1,-1,-1,-1,-1|
000030d0  0d 13 a6 05 cb 0d 13 b0  14 c8 8e 20 70 6f 6c 6c  |........... poll|
000030e0  65 64 62 25 21 31 36 20  ca 0d 13 ba 16 20 20 c9  |edb%!16 .....  .|
000030f0  20 34 33 3a 70 6c 61 79  74 79 70 65 25 3d 30 0d  | 43:playtype%=0.|
00003100  13 c4 16 20 20 c9 20 34  34 3a 70 6c 61 79 74 79  |...  . 44:playty|
00003110  70 65 25 3d 31 0d 13 ce  16 20 20 c9 20 34 35 3a  |pe%=1....  . 45:|
00003120  70 6c 61 79 74 79 70 65  25 3d 32 0d 13 d8 16 20  |playtype%=2.... |
00003130  20 c9 20 34 36 3a 70 6c  61 79 74 79 70 65 25 3d  | . 46:playtype%=|
00003140  33 0d 13 e2 78 20 20 c9  20 34 38 3a 74 65 6d 70  |3...x  . 48:temp|
00003150  25 21 30 3d 77 6b 65 79  62 6f 61 72 64 68 25 3a  |%!0=wkeyboardh%:|
00003160  74 65 6d 70 25 21 34 3d  34 38 3a c8 99 22 57 69  |temp%!4=48:.."Wi|
00003170  6d 70 5f 47 65 74 49 63  6f 6e 53 74 61 74 65 22  |mp_GetIconState"|
00003180  2c 2c 74 65 6d 70 25 3a  e7 20 28 74 65 6d 70 25  |,,temp%:. (temp%|
00003190  21 32 34 29 80 28 31 3c  3c 32 31 29 20 8c 20 72  |!24).(1<<21) . r|
000031a0  65 6c 65 61 73 65 6b 25  3d 2d 31 20 8b 20 72 65  |eleasek%=-1 . re|
000031b0  6c 65 61 73 65 6b 25 3d  30 0d 13 ec 7a 20 20 c9  |leasek%=0...z  .|
000031c0  20 34 39 3a 74 65 6d 70  25 21 30 3d 77 6b 65 79  | 49:temp%!0=wkey|
000031d0  62 6f 61 72 64 68 25 3a  74 65 6d 70 25 21 34 3d  |boardh%:temp%!4=|
000031e0  34 39 3a c8 99 22 57 69  6d 70 5f 47 65 74 49 63  |49:.."Wimp_GetIc|
000031f0  6f 6e 53 74 61 74 65 22  2c 2c 74 65 6d 70 25 3a  |onState",,temp%:|
00003200  e7 20 28 74 65 6d 70 25  21 32 34 29 80 28 31 3c  |. (temp%!24).(1<|
00003210  3c 32 31 29 20 8c 20 6d  75 6c 74 69 70 6c 65 6b  |<21) . multiplek|
00003220  25 3d 2d 31 20 8b 20 6d  75 6c 74 69 70 6c 65 6b  |%=-1 . multiplek|
00003230  25 3d 30 0d 13 f6 05 cb  0d 14 00 05 e1 0d 14 0a  |%=0.............|
00003240  04 0d 14 14 0f dd f2 57  6f 72 6b 43 6c 69 63 6b  |.......WorkClick|
00003250  0d 14 1e 39 c8 99 22 58  57 69 6d 70 5f 53 65 74  |...9.."XWimp_Set|
00003260  43 61 72 65 74 50 6f 73  69 74 69 6f 6e 22 2c 77  |CaretPosition",w|
00003270  6b 65 79 62 6f 61 72 64  68 25 2c 2d 31 2c 2d 31  |keyboardh%,-1,-1|
00003280  2c 2d 31 2c 2d 31 2c 2d  31 0d 14 28 13 c8 8e 20  |,-1,-1,-1..(... |
00003290  70 6f 6c 6c 65 64 62 25  21 38 20 ca 0d 14 32 78  |polledb%!8 ...2x|
000032a0  20 20 c9 20 32 3a 6c 61  73 74 6d 78 25 3d 70 6f  |  . 2:lastmx%=po|
000032b0  6c 6c 65 64 62 25 21 30  2d 36 34 3a 6c 61 73 74  |lledb%!0-64:last|
000032c0  6d 79 25 3d 70 6f 6c 6c  65 64 62 25 21 34 2b 31  |my%=polledb%!4+1|
000032d0  36 3a 6c 61 73 74 6d 65  6e 75 25 3d 77 6f 72 6b  |6:lastmenu%=work|
000032e0  6d 65 6e 75 25 3a c8 99  22 57 69 6d 70 5f 43 72  |menu%:.."Wimp_Cr|
000032f0  65 61 74 65 4d 65 6e 75  22 2c 2c 6c 61 73 74 6d  |eateMenu",,lastm|
00003300  65 6e 75 25 2c 6c 61 73  74 6d 78 25 2c 6c 61 73  |enu%,lastmx%,las|
00003310  74 6d 79 25 0d 14 3c 16  20 20 c9 20 31 30 32 34  |tmy%..<.  . 1024|
00003320  3a f2 53 65 6c 43 6c 69  63 6b 0d 14 46 15 20 20  |:.SelClick..F.  |
00003330  c9 20 32 35 36 3a f2 41  64 6a 43 6c 69 63 6b 0d  |. 256:.AdjClick.|
00003340  14 50 13 20 20 c9 20 36  34 3a f2 53 65 6c 44 72  |.P.  . 64:.SelDr|
00003350  61 67 0d 14 5a 13 20 20  c9 20 31 36 3a f2 41 64  |ag..Z.  . 16:.Ad|
00003360  6a 44 72 61 67 0d 14 64  05 cb 0d 14 6e 05 e1 0d  |jDrag..d....n...|
00003370  14 78 04 0d 14 82 0e dd  f2 53 65 6c 43 6c 69 63  |.x.......SelClic|
00003380  6b 0d 14 8c 13 74 65 6d  70 25 21 30 3d 77 77 6f  |k....temp%!0=wwo|
00003390  72 6b 68 25 0d 14 96 22  c8 99 22 57 69 6d 70 5f  |rkh%...".."Wimp_|
000033a0  47 65 74 57 69 6e 64 6f  77 53 74 61 74 65 22 2c  |GetWindowState",|
000033b0  2c 74 65 6d 70 25 0d 14  a0 1e e7 20 70 6f 6c 6c  |,temp%..... poll|
000033c0  65 64 62 25 21 34 2d 74  65 6d 70 25 21 38 3c 32  |edb%!4-temp%!8<2|
000033d0  35 36 20 8c 0d 14 aa 10  20 20 f2 53 65 6c 43 6c  |56 .....  .SelCl|
000033e0  69 63 6b 32 0d 14 b4 05  cc 0d 14 be 20 20 20 c8  |ick2........   .|
000033f0  99 22 4f 53 5f 42 79 74  65 22 2c 32 30 32 2c 30  |."OS_Byte",202,0|
00003400  2c 32 35 35 b8 2c 73 68  25 0d 14 c8 1a 20 20 64  |,255.,sh%....  d|
00003410  6c 70 25 3d 70 6c 6f 6f  70 72 25 2d 70 6c 6f 6f  |lp%=ploopr%-ploo|
00003420  70 6c 25 0d 14 d2 10 20  20 f2 53 63 72 54 6f 57  |pl%....  .ScrToW|
00003430  6f 72 6b 0d 14 dc 13 20  20 6c 6f 6f 70 6c 25 3d  |ork....  loopl%=|
00003440  77 6f 72 6b 78 25 0d 14  e6 20 20 20 70 6c 6f 6f  |workx%...   ploo|
00003450  70 6c 25 3d a4 57 6f 72  6b 54 6f 50 74 72 28 6c  |pl%=.WorkToPtr(l|
00003460  6f 6f 70 6c 25 29 0d 14  f0 0f 20 20 e7 20 73 68  |oopl%)....  . sh|
00003470  25 80 38 20 8c 0d 14 fa  1c 20 20 20 20 70 6c 6f  |%.8 .....    plo|
00003480  6f 70 72 25 3d 70 6c 6f  6f 70 6c 25 2b 64 6c 70  |opr%=ploopl%+dlp|
00003490  25 0d 15 04 49 20 20 20  20 e7 20 70 6c 6f 6f 70  |%...I    . ploop|
000034a0  72 25 3e 73 61 6d 70 6c  65 6c 65 6e 25 20 8c 20  |r%>samplelen% . |
000034b0  70 6c 6f 6f 70 72 25 3d  73 61 6d 70 6c 65 6c 65  |ploopr%=samplele|
000034c0  6e 25 3a 70 6c 6f 6f 70  6c 25 3d 73 61 6d 70 6c  |n%:ploopl%=sampl|
000034d0  65 6c 65 6e 25 2d 64 6c  70 25 0d 15 0e 07 20 20  |elen%-dlp%....  |
000034e0  cd 0d 15 18 20 20 20 6c  6f 6f 70 6c 25 3d a4 50  |....   loopl%=.P|
000034f0  74 72 54 6f 57 6f 72 6b  28 70 6c 6f 6f 70 6c 25  |trToWork(ploopl%|
00003500  29 0d 15 22 20 20 20 6c  6f 6f 70 72 25 3d a4 50  |).."   loopr%=.P|
00003510  74 72 54 6f 57 6f 72 6b  28 70 6c 6f 6f 70 72 25  |trToWork(ploopr%|
00003520  29 0d 15 2c 37 20 20 e7  20 70 6c 6f 6f 70 6c 25  |)..,7  . ploopl%|
00003530  3e 70 6c 6f 6f 70 72 25  20 8c 20 70 6c 6f 6f 70  |>ploopr% . ploop|
00003540  72 25 3d 70 6c 6f 6f 70  6c 25 3a 6c 6f 6f 70 72  |r%=ploopl%:loopr|
00003550  25 3d 6c 6f 6f 70 6c 25  0d 15 36 12 20 20 f2 55  |%=loopl%..6.  .U|
00003560  70 64 61 74 65 4c 6f 6f  70 50 0d 15 40 05 cd 0d  |pdateLoopP..@...|
00003570  15 4a 05 e1 0d 15 54 04  0d 15 5e 0e dd f2 41 64  |.J....T...^...Ad|
00003580  6a 43 6c 69 63 6b 0d 15  68 13 74 65 6d 70 25 21  |jClick..h.temp%!|
00003590  30 3d 77 77 6f 72 6b 68  25 0d 15 72 22 c8 99 22  |0=wworkh%..r".."|
000035a0  57 69 6d 70 5f 47 65 74  57 69 6e 64 6f 77 53 74  |Wimp_GetWindowSt|
000035b0  61 74 65 22 2c 2c 74 65  6d 70 25 0d 15 7c 1e e7  |ate",,temp%..|..|
000035c0  20 70 6f 6c 6c 65 64 62  25 21 34 2d 74 65 6d 70  | polledb%!4-temp|
000035d0  25 21 38 3c 32 35 36 20  8c 0d 15 86 10 20 20 f2  |%!8<256 .....  .|
000035e0  41 64 6a 43 6c 69 63 6b  32 0d 15 90 05 cc 0d 15  |AdjClick2.......|
000035f0  9a 20 20 20 c8 99 22 4f  53 5f 42 79 74 65 22 2c  |.   .."OS_Byte",|
00003600  32 30 32 2c 30 2c 32 35  35 b8 2c 73 68 25 0d 15  |202,0,255.,sh%..|
00003610  a4 1a 20 20 64 6c 70 25  3d 70 6c 6f 6f 70 72 25  |..  dlp%=ploopr%|
00003620  2d 70 6c 6f 6f 70 6c 25  0d 15 ae 10 20 20 f2 53  |-ploopl%....  .S|
00003630  63 72 54 6f 57 6f 72 6b  0d 15 b8 13 20 20 6c 6f  |crToWork....  lo|
00003640  6f 70 72 25 3d 77 6f 72  6b 78 25 0d 15 c2 20 20  |opr%=workx%...  |
00003650  20 70 6c 6f 6f 70 72 25  3d a4 57 6f 72 6b 54 6f  | ploopr%=.WorkTo|
00003660  50 74 72 28 6c 6f 6f 70  72 25 29 0d 15 cc 0f 20  |Ptr(loopr%).... |
00003670  20 e7 20 73 68 25 80 38  20 8c 0d 15 d6 1c 20 20  | . sh%.8 .....  |
00003680  20 20 70 6c 6f 6f 70 6c  25 3d 70 6c 6f 6f 70 72  |  ploopl%=ploopr|
00003690  25 2d 64 6c 70 25 0d 15  e0 2c 20 20 20 20 e7 20  |%-dlp%...,    . |
000036a0  70 6c 6f 6f 70 6c 25 3c  30 20 8c 20 70 6c 6f 6f  |ploopl%<0 . ploo|
000036b0  70 6c 25 3d 30 3a 70 6c  6f 6f 70 72 25 3d 64 6c  |pl%=0:ploopr%=dl|
000036c0  70 25 0d 15 ea 07 20 20  cd 0d 15 f4 20 20 20 6c  |p%....  ....   l|
000036d0  6f 6f 70 6c 25 3d a4 50  74 72 54 6f 57 6f 72 6b  |oopl%=.PtrToWork|
000036e0  28 70 6c 6f 6f 70 6c 25  29 0d 15 fe 20 20 20 6c  |(ploopl%)...   l|
000036f0  6f 6f 70 72 25 3d a4 50  74 72 54 6f 57 6f 72 6b  |oopr%=.PtrToWork|
00003700  28 70 6c 6f 6f 70 72 25  29 0d 16 08 37 20 20 e7  |(ploopr%)...7  .|
00003710  20 70 6c 6f 6f 70 72 25  3c 70 6c 6f 6f 70 6c 25  | ploopr%<ploopl%|
00003720  20 8c 20 70 6c 6f 6f 70  6c 25 3d 70 6c 6f 6f 70  | . ploopl%=ploop|
00003730  72 25 3a 6c 6f 6f 70 6c  25 3d 6c 6f 6f 70 72 25  |r%:loopl%=loopr%|
00003740  0d 16 12 12 20 20 f2 55  70 64 61 74 65 4c 6f 6f  |....  .UpdateLoo|
00003750  70 50 0d 16 1c 05 cd 0d  16 26 05 e1 0d 16 30 04  |pP.......&....0.|
00003760  0d 16 3a 0d dd f2 53 65  6c 44 72 61 67 0d 16 44  |..:...SelDrag..D|
00003770  13 74 65 6d 70 25 21 30  3d 77 77 6f 72 6b 68 25  |.temp%!0=wworkh%|
00003780  0d 16 4e 22 c8 99 22 57  69 6d 70 5f 47 65 74 57  |..N".."Wimp_GetW|
00003790  69 6e 64 6f 77 53 74 61  74 65 22 2c 2c 74 65 6d  |indowState",,tem|
000037a0  70 25 0d 16 58 1e e7 20  70 6f 6c 6c 65 64 62 25  |p%..X.. polledb%|
000037b0  21 34 2d 74 65 6d 70 25  21 38 3c 32 35 36 20 8c  |!4-temp%!8<256 .|
000037c0  0d 16 62 0f 20 20 f2 53  65 6c 44 72 61 67 32 0d  |..b.  .SelDrag2.|
000037d0  16 6c 05 cc 0d 16 76 15  20 20 74 65 6d 70 25 21  |.l....v.  temp%!|
000037e0  30 3d 77 77 6f 72 6b 68  25 0d 16 80 24 20 20 c8  |0=wworkh%...$  .|
000037f0  99 22 57 69 6d 70 5f 47  65 74 57 69 6e 64 6f 77  |."Wimp_GetWindow|
00003800  53 74 61 74 65 22 2c 2c  74 65 6d 70 25 0d 16 8a  |State",,temp%...|
00003810  16 20 20 74 65 6d 70 32  25 21 30 3d 77 77 6f 72  |.  temp2%!0=wwor|
00003820  6b 68 25 0d 16 94 10 20  20 74 65 6d 70 32 25 21  |kh%....  temp2%!|
00003830  34 3d 37 0d 16 9e 10 20  20 74 65 6d 70 32 25 21  |4=7....  temp2%!|
00003840  38 3d 30 0d 16 a8 11 20  20 74 65 6d 70 32 25 21  |8=0....  temp2%!|
00003850  31 32 3d 30 0d 16 b2 11  20 20 74 65 6d 70 32 25  |12=0....  temp2%|
00003860  21 31 36 3d 30 0d 16 bc  11 20 20 74 65 6d 70 32  |!16=0....  temp2|
00003870  25 21 32 30 3d 30 0d 16  c6 17 20 20 74 65 6d 70  |%!20=0....  temp|
00003880  32 25 21 32 34 3d 74 65  6d 70 25 21 34 0d 16 d0  |2%!24=temp%!4...|
00003890  1b 20 20 74 65 6d 70 32  25 21 32 38 3d 74 65 6d  |.  temp2%!28=tem|
000038a0  70 25 21 38 2b 32 36 30  0d 16 da 1c 20 20 74 65  |p%!8+260....  te|
000038b0  6d 70 32 25 21 33 32 3d  74 65 6d 70 25 21 34 2b  |mp2%!32=temp%!4+|
000038c0  31 30 32 32 0d 16 e4 1b  20 20 74 65 6d 70 32 25  |1022....  temp2%|
000038d0  21 33 36 3d 74 65 6d 70  25 21 38 2b 32 38 34 0d  |!36=temp%!8+284.|
000038e0  16 ee 12 20 20 74 65 6d  70 32 25 21 34 30 3d 2d  |...  temp2%!40=-|
000038f0  31 0d 16 f8 12 20 20 74  65 6d 70 32 25 21 34 34  |1....  temp2%!44|
00003900  3d 2d 31 0d 17 02 12 20  20 74 65 6d 70 32 25 21  |=-1....  temp2%!|
00003910  34 38 3d 2d 31 0d 17 0c  12 20 20 74 65 6d 70 32  |48=-1....  temp2|
00003920  25 21 35 32 3d 2d 31 0d  17 16 1e 20 20 c8 99 22  |%!52=-1....  .."|
00003930  57 69 6d 70 5f 44 72 61  67 42 6f 78 22 2c 2c 74  |Wimp_DragBox",,t|
00003940  65 6d 70 32 25 0d 17 20  11 20 20 64 72 61 67 74  |emp2%.. .  dragt|
00003950  79 70 65 25 3d 33 0d 17  2a 05 cd 0d 17 34 05 e1  |ype%=3..*....4..|
00003960  0d 17 3e 04 0d 17 48 0d  dd f2 41 64 6a 44 72 61  |..>...H...AdjDra|
00003970  67 0d 17 52 13 74 65 6d  70 25 21 30 3d 77 77 6f  |g..R.temp%!0=wwo|
00003980  72 6b 68 25 0d 17 5c 22  c8 99 22 57 69 6d 70 5f  |rkh%..\".."Wimp_|
00003990  47 65 74 57 69 6e 64 6f  77 53 74 61 74 65 22 2c  |GetWindowState",|
000039a0  2c 74 65 6d 70 25 0d 17  66 1e e7 20 70 6f 6c 6c  |,temp%..f.. poll|
000039b0  65 64 62 25 21 34 2d 74  65 6d 70 25 21 38 3c 32  |edb%!4-temp%!8<2|
000039c0  35 36 20 8c 0d 17 70 0f  20 20 f2 41 64 6a 44 72  |56 ...p.  .AdjDr|
000039d0  61 67 32 0d 17 7a 05 cc  0d 17 84 15 20 20 74 65  |ag2..z......  te|
000039e0  6d 70 25 21 30 3d 77 77  6f 72 6b 68 25 0d 17 8e  |mp%!0=wworkh%...|
000039f0  24 20 20 c8 99 22 57 69  6d 70 5f 47 65 74 57 69  |$  .."Wimp_GetWi|
00003a00  6e 64 6f 77 53 74 61 74  65 22 2c 2c 74 65 6d 70  |ndowState",,temp|
00003a10  25 0d 17 98 16 20 20 74  65 6d 70 32 25 21 30 3d  |%....  temp2%!0=|
00003a20  77 77 6f 72 6b 68 25 0d  17 a2 10 20 20 74 65 6d  |wworkh%....  tem|
00003a30  70 32 25 21 34 3d 37 0d  17 ac 10 20 20 74 65 6d  |p2%!4=7....  tem|
00003a40  70 32 25 21 38 3d 30 0d  17 b6 11 20 20 74 65 6d  |p2%!8=0....  tem|
00003a50  70 32 25 21 31 32 3d 30  0d 17 c0 11 20 20 74 65  |p2%!12=0....  te|
00003a60  6d 70 32 25 21 31 36 3d  30 0d 17 ca 11 20 20 74  |mp2%!16=0....  t|
00003a70  65 6d 70 32 25 21 32 30  3d 30 0d 17 d4 17 20 20  |emp2%!20=0....  |
00003a80  74 65 6d 70 32 25 21 32  34 3d 74 65 6d 70 25 21  |temp2%!24=temp%!|
00003a90  34 0d 17 de 1b 20 20 74  65 6d 70 32 25 21 32 38  |4....  temp2%!28|
00003aa0  3d 74 65 6d 70 25 21 38  2b 32 36 30 0d 17 e8 1c  |=temp%!8+260....|
00003ab0  20 20 74 65 6d 70 32 25  21 33 32 3d 74 65 6d 70  |  temp2%!32=temp|
00003ac0  25 21 34 2b 31 30 32 32  0d 17 f2 1b 20 20 74 65  |%!4+1022....  te|
00003ad0  6d 70 32 25 21 33 36 3d  74 65 6d 70 25 21 38 2b  |mp2%!36=temp%!8+|
00003ae0  32 38 34 0d 17 fc 12 20  20 74 65 6d 70 32 25 21  |284....  temp2%!|
00003af0  34 30 3d 2d 31 0d 18 06  12 20 20 74 65 6d 70 32  |40=-1....  temp2|
00003b00  25 21 34 34 3d 2d 31 0d  18 10 12 20 20 74 65 6d  |%!44=-1....  tem|
00003b10  70 32 25 21 34 38 3d 2d  31 0d 18 1a 12 20 20 74  |p2%!48=-1....  t|
00003b20  65 6d 70 32 25 21 35 32  3d 2d 31 0d 18 24 1e 20  |emp2%!52=-1..$. |
00003b30  20 c8 99 22 57 69 6d 70  5f 44 72 61 67 42 6f 78  | .."Wimp_DragBox|
00003b40  22 2c 2c 74 65 6d 70 32  25 0d 18 2e 11 20 20 64  |",,temp2%....  d|
00003b50  72 61 67 74 79 70 65 25  3d 34 0d 18 38 05 cd 0d  |ragtype%=4..8...|
00003b60  18 42 05 e1 0d 18 4c 04  0d 18 56 0f dd f2 53 65  |.B....L...V...Se|
00003b70  6c 43 6c 69 63 6b 32 0d  18 60 0e f2 53 63 72 54  |lClick2..`..ScrT|
00003b80  6f 57 6f 72 6b 0d 18 6a  13 73 65 6c 65 63 74 6c  |oWork..j.selectl|
00003b90  25 3d 77 6f 72 6b 78 25  0d 18 74 13 73 65 6c 65  |%=workx%..t.sele|
00003ba0  63 74 72 25 3d 77 6f 72  6b 78 25 0d 18 7e 22 70  |ctr%=workx%..~"p|
00003bb0  73 65 6c 65 63 74 6c 25  3d a4 57 6f 72 6b 54 6f  |selectl%=.WorkTo|
00003bc0  50 74 72 28 73 65 6c 65  63 74 6c 25 29 0d 18 88  |Ptr(selectl%)...|
00003bd0  22 70 73 65 6c 65 63 74  72 25 3d a4 57 6f 72 6b  |"pselectr%=.Work|
00003be0  54 6f 50 74 72 28 73 65  6c 65 63 74 72 25 29 0d  |ToPtr(selectr%).|
00003bf0  18 92 22 73 65 6c 65 63  74 6c 25 3d a4 50 74 72  |.."selectl%=.Ptr|
00003c00  54 6f 57 6f 72 6b 28 70  73 65 6c 65 63 74 6c 25  |ToWork(pselectl%|
00003c10  29 0d 18 9c 22 73 65 6c  65 63 74 72 25 3d a4 50  |)..."selectr%=.P|
00003c20  74 72 54 6f 57 6f 72 6b  28 70 73 65 6c 65 63 74  |trToWork(pselect|
00003c30  72 25 29 0d 18 a6 11 f2  55 70 64 61 74 65 53 65  |r%).....UpdateSe|
00003c40  6c 65 63 74 0d 18 b0 05  e1 0d 18 ba 04 0d 18 c4  |lect............|
00003c50  0f dd f2 41 64 6a 43 6c  69 63 6b 32 0d 18 ce 0e  |...AdjClick2....|
00003c60  f2 53 63 72 54 6f 57 6f  72 6b 0d 18 d8 2d e7 20  |.ScrToWork...-. |
00003c70  94 28 73 65 6c 65 63 74  6c 25 2d 77 6f 72 6b 78  |.(selectl%-workx|
00003c80  25 29 3e 94 28 73 65 6c  65 63 74 72 25 2d 77 6f  |%)>.(selectr%-wo|
00003c90  72 6b 78 25 29 20 8c 0d  18 e2 15 20 20 73 65 6c  |rkx%) .....  sel|
00003ca0  65 63 74 72 25 3d 77 6f  72 6b 78 25 0d 18 ec 05  |ectr%=workx%....|
00003cb0  cc 0d 18 f6 15 20 20 73  65 6c 65 63 74 6c 25 3d  |.....  selectl%=|
00003cc0  77 6f 72 6b 78 25 0d 19  00 05 cd 0d 19 0a 41 e7  |workx%........A.|
00003cd0  20 73 65 6c 65 63 74 6c  25 3d 2d 31 20 84 20 73  | selectl%=-1 . s|
00003ce0  65 6c 65 63 74 72 25 3d  2d 31 20 8c 20 73 65 6c  |electr%=-1 . sel|
00003cf0  65 63 74 6c 25 3d 77 6f  72 6b 78 25 3a 73 65 6c  |ectl%=workx%:sel|
00003d00  65 63 74 72 25 3d 77 6f  72 6b 78 25 0d 19 14 2e  |ectr%=workx%....|
00003d10  e7 20 73 65 6c 65 63 74  6c 25 3e 73 65 6c 65 63  |. selectl%>selec|
00003d20  74 72 25 20 8c 20 c8 94  20 73 65 6c 65 63 74 6c  |tr% . .. selectl|
00003d30  25 2c 73 65 6c 65 63 74  72 25 0d 19 1e 22 70 73  |%,selectr%..."ps|
00003d40  65 6c 65 63 74 6c 25 3d  a4 57 6f 72 6b 54 6f 50  |electl%=.WorkToP|
00003d50  74 72 28 73 65 6c 65 63  74 6c 25 29 0d 19 28 22  |tr(selectl%)..("|
00003d60  70 73 65 6c 65 63 74 72  25 3d a4 57 6f 72 6b 54  |pselectr%=.WorkT|
00003d70  6f 50 74 72 28 73 65 6c  65 63 74 72 25 29 0d 19  |oPtr(selectr%)..|
00003d80  32 22 73 65 6c 65 63 74  6c 25 3d a4 50 74 72 54  |2"selectl%=.PtrT|
00003d90  6f 57 6f 72 6b 28 70 73  65 6c 65 63 74 6c 25 29  |oWork(pselectl%)|
00003da0  0d 19 3c 22 73 65 6c 65  63 74 72 25 3d a4 50 74  |..<"selectr%=.Pt|
00003db0  72 54 6f 57 6f 72 6b 28  70 73 65 6c 65 63 74 72  |rToWork(pselectr|
00003dc0  25 29 0d 19 46 11 f2 55  70 64 61 74 65 53 65 6c  |%)..F..UpdateSel|
00003dd0  65 63 74 0d 19 50 05 e1  0d 19 5a 04 0d 19 64 0e  |ect..P....Z...d.|
00003de0  dd f2 53 65 6c 44 72 61  67 32 0d 19 6e 13 74 65  |..SelDrag2..n.te|
00003df0  6d 70 25 21 30 3d 77 77  6f 72 6b 68 25 0d 19 78  |mp%!0=wworkh%..x|
00003e00  22 c8 99 22 57 69 6d 70  5f 47 65 74 57 69 6e 64  |".."Wimp_GetWind|
00003e10  6f 77 53 74 61 74 65 22  2c 2c 74 65 6d 70 25 0d  |owState",,temp%.|
00003e20  19 82 14 74 65 6d 70 32  25 21 30 3d 77 77 6f 72  |...temp2%!0=wwor|
00003e30  6b 68 25 0d 19 8c 0e 74  65 6d 70 32 25 21 34 3d  |kh%....temp2%!4=|
00003e40  37 0d 19 96 0e 74 65 6d  70 32 25 21 38 3d 30 0d  |7....temp2%!8=0.|
00003e50  19 a0 0f 74 65 6d 70 32  25 21 31 32 3d 30 0d 19  |...temp2%!12=0..|
00003e60  aa 0f 74 65 6d 70 32 25  21 31 36 3d 30 0d 19 b4  |..temp2%!16=0...|
00003e70  0f 74 65 6d 70 32 25 21  32 30 3d 30 0d 19 be 15  |.temp2%!20=0....|
00003e80  74 65 6d 70 32 25 21 32  34 3d 74 65 6d 70 25 21  |temp2%!24=temp%!|
00003e90  34 0d 19 c8 15 74 65 6d  70 32 25 21 32 38 3d 74  |4....temp2%!28=t|
00003ea0  65 6d 70 25 21 38 0d 19  d2 1a 74 65 6d 70 32 25  |emp%!8....temp2%|
00003eb0  21 33 32 3d 74 65 6d 70  25 21 34 2b 31 30 32 32  |!32=temp%!4+1022|
00003ec0  0d 19 dc 19 74 65 6d 70  32 25 21 33 36 3d 74 65  |....temp2%!36=te|
00003ed0  6d 70 25 21 38 2b 32 35  32 0d 19 e6 10 74 65 6d  |mp%!8+252....tem|
00003ee0  70 32 25 21 34 30 3d 2d  31 0d 19 f0 10 74 65 6d  |p2%!40=-1....tem|
00003ef0  70 32 25 21 34 34 3d 2d  31 0d 19 fa 10 74 65 6d  |p2%!44=-1....tem|
00003f00  70 32 25 21 34 38 3d 2d  31 0d 1a 04 10 74 65 6d  |p2%!48=-1....tem|
00003f10  70 32 25 21 35 32 3d 2d  31 0d 1a 0e 1c c8 99 22  |p2%!52=-1......"|
00003f20  57 69 6d 70 5f 44 72 61  67 42 6f 78 22 2c 2c 74  |Wimp_DragBox",,t|
00003f30  65 6d 70 32 25 0d 1a 18  0f 64 72 61 67 74 79 70  |emp2%....dragtyp|
00003f40  65 25 3d 31 0d 1a 22 0e  f2 53 63 72 54 6f 57 6f  |e%=1.."..ScrToWo|
00003f50  72 6b 0d 1a 2c 21 e7 20  73 65 6c 65 63 74 6c 25  |rk..,!. selectl%|
00003f60  3d 2d 31 20 84 20 73 65  6c 65 63 74 72 25 3d 2d  |=-1 . selectr%=-|
00003f70  31 20 8c 0d 1a 36 25 20  20 73 65 6c 65 63 74 6c  |1 ...6%  selectl|
00003f80  25 3d 77 6f 72 6b 78 25  3a 73 65 6c 65 63 74 72  |%=workx%:selectr|
00003f90  25 3d 77 6f 72 6b 78 25  0d 1a 40 24 20 20 70 73  |%=workx%..@$  ps|
00003fa0  65 6c 65 63 74 6c 25 3d  a4 57 6f 72 6b 54 6f 50  |electl%=.WorkToP|
00003fb0  74 72 28 73 65 6c 65 63  74 6c 25 29 0d 1a 4a 24  |tr(selectl%)..J$|
00003fc0  20 20 70 73 65 6c 65 63  74 72 25 3d a4 57 6f 72  |  pselectr%=.Wor|
00003fd0  6b 54 6f 50 74 72 28 73  65 6c 65 63 74 72 25 29  |kToPtr(selectr%)|
00003fe0  0d 1a 54 24 20 20 73 65  6c 65 63 74 6c 25 3d a4  |..T$  selectl%=.|
00003ff0  50 74 72 54 6f 57 6f 72  6b 28 70 73 65 6c 65 63  |PtrToWork(pselec|
00004000  74 6c 25 29 0d 1a 5e 24  20 20 73 65 6c 65 63 74  |tl%)..^$  select|
00004010  72 25 3d a4 50 74 72 54  6f 57 6f 72 6b 28 70 73  |r%=.PtrToWork(ps|
00004020  65 6c 65 63 74 72 25 29  0d 1a 68 05 cd 0d 1a 72  |electr%)..h....r|
00004030  05 e1 0d 1a 7c 04 0d 1a  86 0e dd f2 41 64 6a 44  |....|.......AdjD|
00004040  72 61 67 32 0d 1a 90 13  74 65 6d 70 25 21 30 3d  |rag2....temp%!0=|
00004050  77 77 6f 72 6b 68 25 0d  1a 9a 22 c8 99 22 57 69  |wworkh%...".."Wi|
00004060  6d 70 5f 47 65 74 57 69  6e 64 6f 77 53 74 61 74  |mp_GetWindowStat|
00004070  65 22 2c 2c 74 65 6d 70  25 0d 1a a4 14 74 65 6d  |e",,temp%....tem|
00004080  70 32 25 21 30 3d 77 77  6f 72 6b 68 25 0d 1a ae  |p2%!0=wworkh%...|
00004090  0e 74 65 6d 70 32 25 21  34 3d 37 0d 1a b8 0e 74  |.temp2%!4=7....t|
000040a0  65 6d 70 32 25 21 38 3d  30 0d 1a c2 0f 74 65 6d  |emp2%!8=0....tem|
000040b0  70 32 25 21 31 32 3d 30  0d 1a cc 0f 74 65 6d 70  |p2%!12=0....temp|
000040c0  32 25 21 31 36 3d 30 0d  1a d6 0f 74 65 6d 70 32  |2%!16=0....temp2|
000040d0  25 21 32 30 3d 30 0d 1a  e0 15 74 65 6d 70 32 25  |%!20=0....temp2%|
000040e0  21 32 34 3d 74 65 6d 70  25 21 34 0d 1a ea 15 74  |!24=temp%!4....t|
000040f0  65 6d 70 32 25 21 32 38  3d 74 65 6d 70 25 21 38  |emp2%!28=temp%!8|
00004100  0d 1a f4 1a 74 65 6d 70  32 25 21 33 32 3d 74 65  |....temp2%!32=te|
00004110  6d 70 25 21 34 2b 31 30  32 32 0d 1a fe 19 74 65  |mp%!4+1022....te|
00004120  6d 70 32 25 21 33 36 3d  74 65 6d 70 25 21 38 2b  |mp2%!36=temp%!8+|
00004130  32 35 32 0d 1b 08 10 74  65 6d 70 32 25 21 34 30  |252....temp2%!40|
00004140  3d 2d 31 0d 1b 12 10 74  65 6d 70 32 25 21 34 34  |=-1....temp2%!44|
00004150  3d 2d 31 0d 1b 1c 10 74  65 6d 70 32 25 21 34 38  |=-1....temp2%!48|
00004160  3d 2d 31 0d 1b 26 10 74  65 6d 70 32 25 21 35 32  |=-1..&.temp2%!52|
00004170  3d 2d 31 0d 1b 30 1c c8  99 22 57 69 6d 70 5f 44  |=-1..0..."Wimp_D|
00004180  72 61 67 42 6f 78 22 2c  2c 74 65 6d 70 32 25 0d  |ragBox",,temp2%.|
00004190  1b 3a 0e f2 53 63 72 54  6f 57 6f 72 6b 0d 1b 44  |.:..ScrToWork..D|
000041a0  21 e7 20 73 65 6c 65 63  74 6c 25 3d 2d 31 20 84  |!. selectl%=-1 .|
000041b0  20 73 65 6c 65 63 74 72  25 3d 2d 31 20 8c 0d 1b  | selectr%=-1 ...|
000041c0  4e 25 20 20 73 65 6c 65  63 74 6c 25 3d 77 6f 72  |N%  selectl%=wor|
000041d0  6b 78 25 3a 73 65 6c 65  63 74 72 25 3d 77 6f 72  |kx%:selectr%=wor|
000041e0  6b 78 25 0d 1b 58 24 20  20 70 73 65 6c 65 63 74  |kx%..X$  pselect|
000041f0  6c 25 3d a4 57 6f 72 6b  54 6f 50 74 72 28 73 65  |l%=.WorkToPtr(se|
00004200  6c 65 63 74 6c 25 29 0d  1b 62 24 20 20 70 73 65  |lectl%)..b$  pse|
00004210  6c 65 63 74 72 25 3d a4  57 6f 72 6b 54 6f 50 74  |lectr%=.WorkToPt|
00004220  72 28 73 65 6c 65 63 74  72 25 29 0d 1b 6c 24 20  |r(selectr%)..l$ |
00004230  20 73 65 6c 65 63 74 6c  25 3d a4 50 74 72 54 6f  | selectl%=.PtrTo|
00004240  57 6f 72 6b 28 70 73 65  6c 65 63 74 6c 25 29 0d  |Work(pselectl%).|
00004250  1b 76 24 20 20 73 65 6c  65 63 74 72 25 3d a4 50  |.v$  selectr%=.P|
00004260  74 72 54 6f 57 6f 72 6b  28 70 73 65 6c 65 63 74  |trToWork(pselect|
00004270  72 25 29 0d 1b 80 05 cd  0d 1b 8a 2d e7 20 94 28  |r%)........-. .(|
00004280  73 65 6c 65 63 74 6c 25  2d 77 6f 72 6b 78 25 29  |selectl%-workx%)|
00004290  3e 94 28 73 65 6c 65 63  74 72 25 2d 77 6f 72 6b  |>.(selectr%-work|
000042a0  78 25 29 20 8c 0d 1b 94  11 20 20 64 72 61 67 74  |x%) .....  dragt|
000042b0  79 70 65 25 3d 32 0d 1b  9e 05 cc 0d 1b a8 11 20  |ype%=2......... |
000042c0  20 64 72 61 67 74 79 70  65 25 3d 31 0d 1b b2 05  | dragtype%=1....|
000042d0  cd 0d 1b bc 05 e1 0d 1b  c6 04 0d 1b d0 12 dd f2  |................|
000042e0  55 70 64 61 74 65 53 65  6c 65 63 74 0d 1b da 55  |UpdateSelect...U|
000042f0  e7 20 6f 73 65 6c 65 63  74 6c 25 3d 2d 31 20 84  |. oselectl%=-1 .|
00004300  20 6f 73 65 6c 65 63 74  72 25 3d 2d 31 20 8c 20  | oselectr%=-1 . |
00004310  6f 73 65 6c 65 63 74 6c  25 3d 73 65 6c 65 63 74  |oselectl%=select|
00004320  6c 25 3a 6f 73 65 6c 65  63 74 72 25 3d 73 65 6c  |l%:oselectr%=sel|
00004330  65 63 74 72 25 3a f2 50  74 53 65 6c 65 63 74 3a  |ectr%:.PtSelect:|
00004340  e1 0d 1b e4 71 e7 20 28  73 65 6c 65 63 74 6c 25  |....q. (selectl%|
00004350  3c 3e 6f 73 65 6c 65 63  74 6c 25 29 20 80 20 28  |<>oselectl%) . (|
00004360  73 65 6c 65 63 74 72 25  3c 3e 6f 73 65 6c 65 63  |selectr%<>oselec|
00004370  74 72 25 29 20 8c 20 f2  50 74 53 65 6c 65 63 74  |tr%) . .PtSelect|
00004380  3a 6f 73 65 6c 65 63 74  6c 25 3d 73 65 6c 65 63  |:oselectl%=selec|
00004390  74 6c 25 3a 6f 73 65 6c  65 63 74 72 25 3d 73 65  |tl%:oselectr%=se|
000043a0  6c 65 63 74 72 25 3a f2  50 74 53 65 6c 65 63 74  |lectr%:.PtSelect|
000043b0  3a e1 0d 1b ee 29 e7 20  73 65 6c 65 63 74 6c 25  |:....). selectl%|
000043c0  3c 3e 6f 73 65 6c 65 63  74 6c 25 20 8c 20 f2 53  |<>oselectl% . .S|
000043d0  65 74 53 65 6c 65 63 74  4c 3a e1 0d 1b f8 29 e7  |etSelectL:....).|
000043e0  20 73 65 6c 65 63 74 72  25 3c 3e 6f 73 65 6c 65  | selectr%<>osele|
000043f0  63 74 72 25 20 8c 20 f2  53 65 74 53 65 6c 65 63  |ctr% . .SetSelec|
00004400  74 52 3a e1 0d 1c 02 05  e1 0d 1c 0c 04 0d 1c 16  |tR:.............|
00004410  0e dd f2 50 74 53 65 6c  65 63 74 0d 1c 20 16 70  |...PtSelect.. .p|
00004420  6f 6c 6c 65 64 62 25 21  30 3d 77 77 6f 72 6b 68  |olledb%!0=wworkh|
00004430  25 0d 1c 2a 13 70 6f 6c  6c 65 64 62 25 21 38 3d  |%..*.polledb%!8=|
00004440  2d 32 38 38 0d 1c 34 13  70 6f 6c 6c 65 64 62 25  |-288..4.polledb%|
00004450  21 31 36 3d 2d 33 32 0d  1c 3e 29 e7 20 28 6f 73  |!16=-32..>). (os|
00004460  65 6c 65 63 74 6c 25 3c  3e 2d 31 29 20 80 20 28  |electl%<>-1) . (|
00004470  6f 73 65 6c 65 63 74 72  25 3c 3e 2d 31 29 20 8c  |oselectr%<>-1) .|
00004480  0d 1c 48 32 20 20 70 6f  6c 6c 65 64 62 25 21 34  |..H2  polledb%!4|
00004490  3d 6f 73 65 6c 65 63 74  6c 25 3a 70 6f 6c 6c 65  |=oselectl%:polle|
000044a0  64 62 25 21 31 32 3d 6f  73 65 6c 65 63 74 72 25  |db%!12=oselectr%|
000044b0  2b 32 0d 1c 52 2b 20 20  c8 99 22 57 69 6d 70 5f  |+2..R+  .."Wimp_|
000044c0  55 70 64 61 74 65 57 69  6e 64 6f 77 22 2c 2c 70  |UpdateWindow",,p|
000044d0  6f 6c 6c 65 64 62 25 b8  6d 6f 72 65 25 0d 1c 5c  |olledb%.more%..\|
000044e0  0e 20 20 c8 95 20 6d 6f  72 65 25 0d 1c 66 0f 20  |.  .. more%..f. |
000044f0  20 20 20 f2 49 6e 76 43  6f 6c 0d 1c 70 55 20 20  |   .InvCol..pU  |
00004500  20 20 c8 93 20 c8 90 20  70 6f 6c 6c 65 64 62 25  |  .. .. polledb%|
00004510  21 32 38 2c 70 6f 6c 6c  65 64 62 25 21 33 32 2c  |!28,polledb%!32,|
00004520  70 6f 6c 6c 65 64 62 25  21 33 36 2d 70 6f 6c 6c  |polledb%!36-poll|
00004530  65 64 62 25 21 32 38 2c  70 6f 6c 6c 65 64 62 25  |edb%!28,polledb%|
00004540  21 34 30 2d 70 6f 6c 6c  65 64 62 25 21 33 32 0d  |!40-polledb%!32.|
00004550  1c 7a 2d 20 20 20 20 c8  99 22 57 69 6d 70 5f 47  |.z-    .."Wimp_G|
00004560  65 74 52 65 63 74 61 6e  67 6c 65 22 2c 2c 70 6f  |etRectangle",,po|
00004570  6c 6c 65 64 62 25 b8 6d  6f 72 65 25 0d 1c 84 07  |lledb%.more%....|
00004580  20 20 ce 0d 1c 8e 05 cd  0d 1c 98 05 e1 0d 1c a2  |  ..............|
00004590  04 0d 1c ac 10 dd f2 53  65 74 53 65 6c 65 63 74  |.......SetSelect|
000045a0  4c 0d 1c b6 16 70 6f 6c  6c 65 64 62 25 21 30 3d  |L....polledb%!0=|
000045b0  77 77 6f 72 6b 68 25 0d  1c c0 13 70 6f 6c 6c 65  |wworkh%....polle|
000045c0  64 62 25 21 38 3d 2d 32  38 38 0d 1c ca 13 70 6f  |db%!8=-288....po|
000045d0  6c 6c 65 64 62 25 21 31  36 3d 2d 33 32 0d 1c d4  |lledb%!16=-32...|
000045e0  28 e7 20 28 73 65 6c 65  63 74 6c 25 3c 3e 2d 31  |(. (selectl%<>-1|
000045f0  29 20 80 20 28 6f 73 65  6c 65 63 74 6c 25 3c 3e  |) . (oselectl%<>|
00004600  2d 31 29 20 8c 0d 1c de  72 20 20 e7 20 73 65 6c  |-1) ....r  . sel|
00004610  65 63 74 6c 25 3c 6f 73  65 6c 65 63 74 6c 25 20  |ectl%<oselectl% |
00004620  8c 20 70 6f 6c 6c 65 64  62 25 21 34 3d 73 65 6c  |. polledb%!4=sel|
00004630  65 63 74 6c 25 3a 70 6f  6c 6c 65 64 62 25 21 31  |ectl%:polledb%!1|
00004640  32 3d 6f 73 65 6c 65 63  74 6c 25 20 8b 20 70 6f  |2=oselectl% . po|
00004650  6c 6c 65 64 62 25 21 34  3d 6f 73 65 6c 65 63 74  |lledb%!4=oselect|
00004660  6c 25 3a 70 6f 6c 6c 65  64 62 25 21 31 32 3d 73  |l%:polledb%!12=s|
00004670  65 6c 65 63 74 6c 25 0d  1c e8 2b 20 20 c8 99 22  |electl%...+  .."|
00004680  57 69 6d 70 5f 55 70 64  61 74 65 57 69 6e 64 6f  |Wimp_UpdateWindo|
00004690  77 22 2c 2c 70 6f 6c 6c  65 64 62 25 b8 6d 6f 72  |w",,polledb%.mor|
000046a0  65 25 0d 1c f2 0e 20 20  c8 95 20 6d 6f 72 65 25  |e%....  .. more%|
000046b0  0d 1c fc 0f 20 20 20 20  f2 49 6e 76 43 6f 6c 0d  |....    .InvCol.|
000046c0  1d 06 55 20 20 20 20 c8  93 20 c8 90 20 70 6f 6c  |..U    .. .. pol|
000046d0  6c 65 64 62 25 21 32 38  2c 70 6f 6c 6c 65 64 62  |ledb%!28,polledb|
000046e0  25 21 33 32 2c 70 6f 6c  6c 65 64 62 25 21 33 36  |%!32,polledb%!36|
000046f0  2d 70 6f 6c 6c 65 64 62  25 21 32 38 2c 70 6f 6c  |-polledb%!28,pol|
00004700  6c 65 64 62 25 21 34 30  2d 70 6f 6c 6c 65 64 62  |ledb%!40-polledb|
00004710  25 21 33 32 0d 1d 10 2d  20 20 20 20 c8 99 22 57  |%!32...-    .."W|
00004720  69 6d 70 5f 47 65 74 52  65 63 74 61 6e 67 6c 65  |imp_GetRectangle|
00004730  22 2c 2c 70 6f 6c 6c 65  64 62 25 b8 6d 6f 72 65  |",,polledb%.more|
00004740  25 0d 1d 1a 07 20 20 ce  0d 1d 24 18 20 20 6f 73  |%....  ...$.  os|
00004750  65 6c 65 63 74 6c 25 3d  73 65 6c 65 63 74 6c 25  |electl%=selectl%|
00004760  0d 1d 2e 05 cd 0d 1d 38  05 e1 0d 1d 42 04 0d 1d  |.......8....B...|
00004770  4c 10 dd f2 53 65 74 53  65 6c 65 63 74 52 0d 1d  |L...SetSelectR..|
00004780  56 16 70 6f 6c 6c 65 64  62 25 21 30 3d 77 77 6f  |V.polledb%!0=wwo|
00004790  72 6b 68 25 0d 1d 60 13  70 6f 6c 6c 65 64 62 25  |rkh%..`.polledb%|
000047a0  21 38 3d 2d 32 38 38 0d  1d 6a 13 70 6f 6c 6c 65  |!8=-288..j.polle|
000047b0  64 62 25 21 31 36 3d 2d  33 32 0d 1d 74 28 e7 20  |db%!16=-32..t(. |
000047c0  28 73 65 6c 65 63 74 72  25 3c 3e 2d 31 29 20 80  |(selectr%<>-1) .|
000047d0  20 28 6f 73 65 6c 65 63  74 72 25 3c 3e 2d 31 29  | (oselectr%<>-1)|
000047e0  20 8c 0d 1d 7e 7a 20 20  e7 20 73 65 6c 65 63 74  | ...~z  . select|
000047f0  72 25 3c 6f 73 65 6c 65  63 74 72 25 20 8c 20 70  |r%<oselectr% . p|
00004800  6f 6c 6c 65 64 62 25 21  34 3d 73 65 6c 65 63 74  |olledb%!4=select|
00004810  72 25 2b 32 3a 70 6f 6c  6c 65 64 62 25 21 31 32  |r%+2:polledb%!12|
00004820  3d 6f 73 65 6c 65 63 74  72 25 2b 32 20 8b 20 70  |=oselectr%+2 . p|
00004830  6f 6c 6c 65 64 62 25 21  34 3d 6f 73 65 6c 65 63  |olledb%!4=oselec|
00004840  74 72 25 2b 32 3a 70 6f  6c 6c 65 64 62 25 21 31  |tr%+2:polledb%!1|
00004850  32 3d 73 65 6c 65 63 74  72 25 2b 32 0d 1d 88 2b  |2=selectr%+2...+|
00004860  20 20 c8 99 22 57 69 6d  70 5f 55 70 64 61 74 65  |  .."Wimp_Update|
00004870  57 69 6e 64 6f 77 22 2c  2c 70 6f 6c 6c 65 64 62  |Window",,polledb|
00004880  25 b8 6d 6f 72 65 25 0d  1d 92 0e 20 20 c8 95 20  |%.more%....  .. |
00004890  6d 6f 72 65 25 0d 1d 9c  0f 20 20 20 20 f2 49 6e  |more%....    .In|
000048a0  76 43 6f 6c 0d 1d a6 55  20 20 20 20 c8 93 20 c8  |vCol...U    .. .|
000048b0  90 20 70 6f 6c 6c 65 64  62 25 21 32 38 2c 70 6f  |. polledb%!28,po|
000048c0  6c 6c 65 64 62 25 21 33  32 2c 70 6f 6c 6c 65 64  |lledb%!32,polled|
000048d0  62 25 21 33 36 2d 70 6f  6c 6c 65 64 62 25 21 32  |b%!36-polledb%!2|
000048e0  38 2c 70 6f 6c 6c 65 64  62 25 21 34 30 2d 70 6f  |8,polledb%!40-po|
000048f0  6c 6c 65 64 62 25 21 33  32 0d 1d b0 2d 20 20 20  |lledb%!32...-   |
00004900  20 c8 99 22 57 69 6d 70  5f 47 65 74 52 65 63 74  | .."Wimp_GetRect|
00004910  61 6e 67 6c 65 22 2c 2c  70 6f 6c 6c 65 64 62 25  |angle",,polledb%|
00004920  b8 6d 6f 72 65 25 0d 1d  ba 07 20 20 ce 0d 1d c4  |.more%....  ....|
00004930  18 20 20 6f 73 65 6c 65  63 74 72 25 3d 73 65 6c  |.  oselectr%=sel|
00004940  65 63 74 72 25 0d 1d ce  05 cd 0d 1d d8 05 e1 0d  |ectr%...........|
00004950  1d e2 04 0d 1d ec 0e dd  f2 50 6c 6f 74 50 50 74  |.........PlotPPt|
00004960  72 0d 1d f6 30 e7 20 70  6c 61 79 70 25 3c 30 20  |r...0. playp%<0 |
00004970  84 20 70 6c 61 79 70 25  3e 73 61 6d 70 6c 65 6c  |. playp%>samplel|
00004980  65 6e 25 20 8c 20 70 6c  61 79 70 25 3d 2d 31 3a  |en% . playp%=-1:|
00004990  e1 0d 1e 00 1b 6c 6c 70  25 3d a4 50 74 72 54 6f  |.....llp%=.PtrTo|
000049a0  57 6f 72 6b 28 70 6c 61  79 70 25 29 0d 1e 0a 13  |Work(playp%)....|
000049b0  74 65 6d 70 25 21 30 3d  77 77 6f 72 6b 68 25 0d  |temp%!0=wworkh%.|
000049c0  1e 14 22 c8 99 22 57 69  6d 70 5f 47 65 74 57 69  |..".."Wimp_GetWi|
000049d0  6e 64 6f 77 53 74 61 74  65 22 2c 2c 74 65 6d 70  |ndowState",,temp|
000049e0  25 0d 1e 1e 1d 6c 6c 25  3d 74 65 6d 70 25 21 34  |%....ll%=temp%!4|
000049f0  2d 74 65 6d 70 25 21 32  30 2b 6c 6c 70 25 0d 1e  |-temp%!20+llp%..|
00004a00  28 26 e7 20 6c 6c 25 3e  74 65 6d 70 25 21 34 2d  |(&. ll%>temp%!4-|
00004a10  34 20 80 20 6c 6c 25 3c  74 65 6d 70 25 21 31 32  |4 . ll%<temp%!12|
00004a20  2b 34 20 8c 0d 1e 32 18  20 20 70 6f 6c 6c 65 64  |+4 ...2.  polled|
00004a30  62 25 21 30 3d 77 77 6f  72 6b 68 25 0d 1e 3c 15  |b%!0=wworkh%..<.|
00004a40  20 20 70 6f 6c 6c 65 64  62 25 21 34 3d 6c 6c 70  |  polledb%!4=llp|
00004a50  25 0d 1e 46 15 20 20 70  6f 6c 6c 65 64 62 25 21  |%..F.  polledb%!|
00004a60  38 3d 2d 32 38 38 0d 1e  50 18 20 20 70 6f 6c 6c  |8=-288..P.  poll|
00004a70  65 64 62 25 21 31 32 3d  6c 6c 70 25 2b 32 0d 1e  |edb%!12=llp%+2..|
00004a80  5a 13 20 20 70 6f 6c 6c  65 64 62 25 21 31 36 3d  |Z.  polledb%!16=|
00004a90  30 0d 1e 64 2b 20 20 c8  99 22 57 69 6d 70 5f 55  |0..d+  .."Wimp_U|
00004aa0  70 64 61 74 65 57 69 6e  64 6f 77 22 2c 2c 70 6f  |pdateWindow",,po|
00004ab0  6c 6c 65 64 62 25 b8 6d  6f 72 65 25 0d 1e 6e 0e  |lledb%.more%..n.|
00004ac0  20 20 c8 95 20 6d 6f 72  65 25 0d 1e 78 0f 20 20  |  .. more%..x.  |
00004ad0  20 20 f2 49 6e 76 43 6f  6c 0d 1e 82 2b 20 20 20  |  .InvCol...+   |
00004ae0  20 86 20 6c 6c 25 2c 70  6f 6c 6c 65 64 62 25 21  | . ll%,polledb%!|
00004af0  38 2c 6c 6c 25 2c 70 6f  6c 6c 65 64 62 25 21 38  |8,ll%,polledb%!8|
00004b00  2b 32 38 38 0d 1e 8c 2d  20 20 20 20 c8 99 22 57  |+288...-    .."W|
00004b10  69 6d 70 5f 47 65 74 52  65 63 74 61 6e 67 6c 65  |imp_GetRectangle|
00004b20  22 2c 2c 70 6f 6c 6c 65  64 62 25 b8 6d 6f 72 65  |",,polledb%.more|
00004b30  25 0d 1e 96 07 20 20 ce  0d 1e a0 05 cd 0d 1e aa  |%....  .........|
00004b40  05 e1 0d 1e b4 04 0d 1e  be 11 dd f2 55 70 64 61  |............Upda|
00004b50  74 65 4c 6f 6f 70 50 0d  1e c8 13 74 65 6d 70 25  |teLoopP....temp%|
00004b60  21 30 3d 77 77 6f 72 6b  68 25 0d 1e d2 22 c8 99  |!0=wworkh%..."..|
00004b70  22 57 69 6d 70 5f 47 65  74 57 69 6e 64 6f 77 53  |"Wimp_GetWindowS|
00004b80  74 61 74 65 22 2c 2c 74  65 6d 70 25 0d 1e dc 16  |tate",,temp%....|
00004b90  70 6f 6c 6c 65 64 62 25  21 30 3d 77 77 6f 72 6b  |polledb%!0=wwork|
00004ba0  68 25 0d 1e e6 17 70 6f  6c 6c 65 64 62 25 21 34  |h%....polledb%!4|
00004bb0  3d 74 65 6d 70 25 21 32  30 0d 1e f0 13 70 6f 6c  |=temp%!20....pol|
00004bc0  6c 65 64 62 25 21 38 3d  2d 32 38 38 0d 1e fa 1d  |ledb%!8=-288....|
00004bd0  70 6f 6c 6c 65 64 62 25  21 31 32 3d 74 65 6d 70  |polledb%!12=temp|
00004be0  25 21 32 30 2b 31 30 32  34 0d 1f 04 11 70 6f 6c  |%!20+1024....pol|
00004bf0  6c 65 64 62 25 21 31 36  3d 30 0d 1f 0e 1f 6c 6c  |ledb%!16=0....ll|
00004c00  25 3d 74 65 6d 70 25 21  34 2d 74 65 6d 70 25 21  |%=temp%!4-temp%!|
00004c10  32 30 2b 6c 6f 6f 70 6c  25 0d 1f 18 21 6f 6c 6c  |20+loopl%...!oll|
00004c20  25 3d 74 65 6d 70 25 21  34 2d 74 65 6d 70 25 21  |%=temp%!4-temp%!|
00004c30  32 30 2b 6f 6c 6f 6f 70  6c 25 0d 1f 22 1f 6c 72  |20+oloopl%..".lr|
00004c40  25 3d 74 65 6d 70 25 21  34 2d 74 65 6d 70 25 21  |%=temp%!4-temp%!|
00004c50  32 30 2b 6c 6f 6f 70 72  25 0d 1f 2c 21 6f 6c 72  |20+loopr%..,!olr|
00004c60  25 3d 74 65 6d 70 25 21  34 2d 74 65 6d 70 25 21  |%=temp%!4-temp%!|
00004c70  32 30 2b 6f 6c 6f 6f 70  72 25 0d 1f 36 0b 6c 64  |20+oloopr%..6.ld|
00004c80  72 25 3d 2d 31 0d 1f 40  0c 6f 6c 64 72 25 3d 2d  |r%=-1..@.oldr%=-|
00004c90  31 0d 1f 4a 0b 72 64 72  25 3d 2d 31 0d 1f 54 0c  |1..J.rdr%=-1..T.|
00004ca0  6f 72 64 72 25 3d 2d 31  0d 1f 5e 2f e7 20 6c 6c  |ordr%=-1..^/. ll|
00004cb0  25 3c 74 65 6d 70 25 21  34 2d 33 32 20 84 20 6c  |%<temp%!4-32 . l|
00004cc0  6c 25 3e 74 65 6d 70 25  21 31 32 2b 33 32 20 8c  |l%>temp%!12+32 .|
00004cd0  20 6c 64 72 25 3d 30 0d  1f 68 32 e7 20 6f 6c 6c  | ldr%=0..h2. oll|
00004ce0  25 3c 74 65 6d 70 25 21  34 2d 33 32 20 84 20 6f  |%<temp%!4-32 . o|
00004cf0  6c 6c 25 3e 74 65 6d 70  25 21 31 32 2b 33 32 20  |ll%>temp%!12+32 |
00004d00  8c 20 6f 6c 64 72 25 3d  30 0d 1f 72 2f e7 20 6c  |. oldr%=0..r/. l|
00004d10  72 25 3c 74 65 6d 70 25  21 34 2d 33 32 20 84 20  |r%<temp%!4-32 . |
00004d20  6c 72 25 3e 74 65 6d 70  25 21 31 32 2b 33 32 20  |lr%>temp%!12+32 |
00004d30  8c 20 72 64 72 25 3d 30  0d 1f 7c 32 e7 20 6f 6c  |. rdr%=0..|2. ol|
00004d40  72 25 3c 74 65 6d 70 25  21 34 2d 33 32 20 84 20  |r%<temp%!4-32 . |
00004d50  6f 6c 72 25 3e 74 65 6d  70 25 21 31 32 2b 33 32  |olr%>temp%!12+32|
00004d60  20 8c 20 6f 72 64 72 25  3d 30 0d 1f 86 29 c8 99  | . ordr%=0...)..|
00004d70  22 57 69 6d 70 5f 55 70  64 61 74 65 57 69 6e 64  |"Wimp_UpdateWind|
00004d80  6f 77 22 2c 2c 70 6f 6c  6c 65 64 62 25 b8 6d 6f  |ow",,polledb%.mo|
00004d90  72 65 25 0d 1f 90 0c c8  95 20 6d 6f 72 65 25 0d  |re%...... more%.|
00004da0  1f 9a 0e 20 20 e7 20 6c  64 72 25 20 8c 0d 1f a4  |...  . ldr% ....|
00004db0  10 20 20 20 20 f2 49 6e  76 43 6f 6c 32 0d 1f ae  |.    .InvCol2...|
00004dc0  2b 20 20 20 20 86 20 6c  6c 25 2c 70 6f 6c 6c 65  |+    . ll%,polle|
00004dd0  64 62 25 21 38 2c 6c 6c  25 2c 70 6f 6c 6c 65 64  |db%!8,ll%,polled|
00004de0  62 25 21 38 2b 32 35 36  0d 1f b8 1c 20 20 20 20  |b%!8+256....    |
00004df0  ec 20 6c 6c 25 2c 70 6f  6c 6c 65 64 62 25 21 38  |. ll%,polledb%!8|
00004e00  2b 32 36 30 0d 1f c2 1e  20 20 20 20 ec 20 6c 6c  |+260....    . ll|
00004e10  25 2b 38 2c 70 6f 6c 6c  65 64 62 25 21 38 2b 32  |%+8,polledb%!8+2|
00004e20  38 30 0d 1f cc 21 20 20  20 20 f0 20 38 35 2c 6c  |80...!    . 85,l|
00004e30  6c 25 2d 38 2c 70 6f 6c  6c 65 64 62 25 21 38 2b  |l%-8,polledb%!8+|
00004e40  32 38 30 0d 1f d6 07 20  20 cd 0d 1f e0 0f 20 20  |280....  .....  |
00004e50  e7 20 6f 6c 64 72 25 20  8c 0d 1f ea 10 20 20 20  |. oldr% .....   |
00004e60  20 f2 49 6e 76 43 6f 6c  32 0d 1f f4 2d 20 20 20  | .InvCol2...-   |
00004e70  20 86 20 6f 6c 6c 25 2c  70 6f 6c 6c 65 64 62 25  | . oll%,polledb%|
00004e80  21 38 2c 6f 6c 6c 25 2c  70 6f 6c 6c 65 64 62 25  |!8,oll%,polledb%|
00004e90  21 38 2b 32 35 36 0d 1f  fe 1d 20 20 20 20 ec 20  |!8+256....    . |
00004ea0  6f 6c 6c 25 2c 70 6f 6c  6c 65 64 62 25 21 38 2b  |oll%,polledb%!8+|
00004eb0  32 36 30 0d 20 08 1f 20  20 20 20 ec 20 6f 6c 6c  |260. ..    . oll|
00004ec0  25 2b 38 2c 70 6f 6c 6c  65 64 62 25 21 38 2b 32  |%+8,polledb%!8+2|
00004ed0  38 30 0d 20 12 22 20 20  20 20 f0 20 38 35 2c 6f  |80. ."    . 85,o|
00004ee0  6c 6c 25 2d 38 2c 70 6f  6c 6c 65 64 62 25 21 38  |ll%-8,polledb%!8|
00004ef0  2b 32 38 30 0d 20 1c 07  20 20 cd 0d 20 26 0e 20  |+280. ..  .. &. |
00004f00  20 e7 20 72 64 72 25 20  8c 0d 20 30 10 20 20 20  | . rdr% .. 0.   |
00004f10  20 f2 49 6e 76 43 6f 6c  33 0d 20 3a 2b 20 20 20  | .InvCol3. :+   |
00004f20  20 86 20 6c 72 25 2c 70  6f 6c 6c 65 64 62 25 21  | . lr%,polledb%!|
00004f30  38 2c 6c 72 25 2c 70 6f  6c 6c 65 64 62 25 21 38  |8,lr%,polledb%!8|
00004f40  2b 32 35 36 0d 20 44 1c  20 20 20 20 ec 20 6c 72  |+256. D.    . lr|
00004f50  25 2c 70 6f 6c 6c 65 64  62 25 21 38 2b 32 36 30  |%,polledb%!8+260|
00004f60  0d 20 4e 1e 20 20 20 20  ec 20 6c 72 25 2b 38 2c  |. N.    . lr%+8,|
00004f70  70 6f 6c 6c 65 64 62 25  21 38 2b 32 38 30 0d 20  |polledb%!8+280. |
00004f80  58 21 20 20 20 20 f0 20  38 35 2c 6c 72 25 2d 38  |X!    . 85,lr%-8|
00004f90  2c 70 6f 6c 6c 65 64 62  25 21 38 2b 32 38 30 0d  |,polledb%!8+280.|
00004fa0  20 62 07 20 20 cd 0d 20  6c 0f 20 20 e7 20 6f 72  | b.  .. l.  . or|
00004fb0  64 72 25 20 8c 0d 20 76  10 20 20 20 20 f2 49 6e  |dr% .. v.    .In|
00004fc0  76 43 6f 6c 33 0d 20 80  2d 20 20 20 20 86 20 6f  |vCol3. .-    . o|
00004fd0  6c 72 25 2c 70 6f 6c 6c  65 64 62 25 21 38 2c 6f  |lr%,polledb%!8,o|
00004fe0  6c 72 25 2c 70 6f 6c 6c  65 64 62 25 21 38 2b 32  |lr%,polledb%!8+2|
00004ff0  35 36 0d 20 8a 1d 20 20  20 20 ec 20 6f 6c 72 25  |56. ..    . olr%|
00005000  2c 70 6f 6c 6c 65 64 62  25 21 38 2b 32 36 30 0d  |,polledb%!8+260.|
00005010  20 94 1f 20 20 20 20 ec  20 6f 6c 72 25 2b 38 2c  | ..    . olr%+8,|
00005020  70 6f 6c 6c 65 64 62 25  21 38 2b 32 38 30 0d 20  |polledb%!8+280. |
00005030  9e 22 20 20 20 20 f0 20  38 35 2c 6f 6c 72 25 2d  |."    . 85,olr%-|
00005040  38 2c 70 6f 6c 6c 65 64  62 25 21 38 2b 32 38 30  |8,polledb%!8+280|
00005050  0d 20 a8 07 20 20 cd 0d  20 b2 2b 20 20 c8 99 22  |. ..  .. .+  .."|
00005060  57 69 6d 70 5f 47 65 74  52 65 63 74 61 6e 67 6c  |Wimp_GetRectangl|
00005070  65 22 2c 2c 70 6f 6c 6c  65 64 62 25 b8 6d 6f 72  |e",,polledb%.mor|
00005080  65 25 0d 20 bc 05 ce 0d  20 c6 21 6f 6c 6f 6f 70  |e%. .... .!oloop|
00005090  6c 25 3d 6c 6f 6f 70 6c  25 3a 6f 6c 6f 6f 70 72  |l%=loopl%:oloopr|
000050a0  25 3d 6c 6f 6f 70 72 25  0d 20 d0 10 f2 55 70 64  |%=loopr%. ...Upd|
000050b0  61 74 65 53 4c 6f 6f 70  0d 20 da 05 e1 0d 20 e4  |ateSLoop. .... .|
000050c0  04 0d 20 ee 11 dd f2 55  70 64 61 74 65 53 4c 6f  |.. ....UpdateSLo|
000050d0  6f 70 0d 20 f8 13 e7 20  70 6c 61 79 74 79 70 65  |op. ... playtype|
000050e0  25 3d 31 20 8c 0d 21 02  1b 20 20 c8 99 22 53 46  |%=1 ..!..  .."SF|
000050f0  58 4d 50 5f 47 65 74 42  6c 6f 63 6b 22 b8 41 25  |XMP_GetBlock".A%|
00005100  0d 21 0c 60 20 20 41 25  3d 41 25 2b 33 32 3a 41  |.!.`  A%=A%+32:A|
00005110  25 21 34 3d 73 74 61 72  74 73 61 6d 70 6c 65 25  |%!4=startsample%|
00005120  2b 70 6c 6f 6f 70 6c 25  3a 41 25 21 31 32 3d 70  |+ploopl%:A%!12=p|
00005130  6c 6f 6f 70 72 25 2d 70  6c 6f 6f 70 6c 25 3a 41  |loopr%-ploopl%:A|
00005140  25 21 32 30 3d 30 3a 41  25 21 31 36 3d 28 41 25  |%!20=0:A%!16=(A%|
00005150  21 31 36 29 20 80 20 26  66 66 66 66 65 66 66 66  |!16) . &ffffefff|
00005160  0d 21 16 60 20 20 41 25  3d 41 25 2b 33 32 3a 41  |.!.`  A%=A%+32:A|
00005170  25 21 34 3d 73 74 61 72  74 73 61 6d 70 6c 65 25  |%!4=startsample%|
00005180  2b 70 6c 6f 6f 70 6c 25  3a 41 25 21 31 32 3d 70  |+ploopl%:A%!12=p|
00005190  6c 6f 6f 70 72 25 2d 70  6c 6f 6f 70 6c 25 3a 41  |loopr%-ploopl%:A|
000051a0  25 21 32 30 3d 30 3a 41  25 21 31 36 3d 28 41 25  |%!20=0:A%!16=(A%|
000051b0  21 31 36 29 20 80 20 26  66 66 66 66 65 66 66 66  |!16) . &ffffefff|
000051c0  0d 21 20 60 20 20 41 25  3d 41 25 2b 33 32 3a 41  |.! `  A%=A%+32:A|
000051d0  25 21 34 3d 73 74 61 72  74 73 61 6d 70 6c 65 25  |%!4=startsample%|
000051e0  2b 70 6c 6f 6f 70 6c 25  3a 41 25 21 31 32 3d 70  |+ploopl%:A%!12=p|
000051f0  6c 6f 6f 70 72 25 2d 70  6c 6f 6f 70 6c 25 3a 41  |loopr%-ploopl%:A|
00005200  25 21 32 30 3d 30 3a 41  25 21 31 36 3d 28 41 25  |%!20=0:A%!16=(A%|
00005210  21 31 36 29 20 80 20 26  66 66 66 66 65 66 66 66  |!16) . &ffffefff|
00005220  0d 21 2a 05 cd 0d 21 34  13 e7 20 70 6c 61 79 74  |.!*...!4.. playt|
00005230  79 70 65 25 3d 33 20 8c  0d 21 3e 1b 20 20 c8 99  |ype%=3 ..!>.  ..|
00005240  22 53 46 58 4d 50 5f 47  65 74 42 6c 6f 63 6b 22  |"SFXMP_GetBlock"|
00005250  b8 41 25 0d 21 48 56 20  20 41 25 3d 41 25 2b 33  |.A%.!HV  A%=A%+3|
00005260  32 3a 41 25 21 34 3d 73  74 61 72 74 73 61 6d 70  |2:A%!4=startsamp|
00005270  6c 65 25 3a 41 25 21 31  32 3d 70 6c 6f 6f 70 72  |le%:A%!12=ploopr|
00005280  25 3a 41 25 21 32 30 3d  70 6c 6f 6f 70 6c 25 3a  |%:A%!20=ploopl%:|
00005290  41 25 21 31 36 3d 28 41  25 21 31 36 29 20 80 20  |A%!16=(A%!16) . |
000052a0  26 66 66 66 66 65 66 66  66 0d 21 52 56 20 20 41  |&ffffefff.!RV  A|
000052b0  25 3d 41 25 2b 33 32 3a  41 25 21 34 3d 73 74 61  |%=A%+32:A%!4=sta|
000052c0  72 74 73 61 6d 70 6c 65  25 3a 41 25 21 31 32 3d  |rtsample%:A%!12=|
000052d0  70 6c 6f 6f 70 72 25 3a  41 25 21 32 30 3d 70 6c  |ploopr%:A%!20=pl|
000052e0  6f 6f 70 6c 25 3a 41 25  21 31 36 3d 28 41 25 21  |oopl%:A%!16=(A%!|
000052f0  31 36 29 20 80 20 26 66  66 66 66 65 66 66 66 0d  |16) . &ffffefff.|
00005300  21 5c 56 20 20 41 25 3d  41 25 2b 33 32 3a 41 25  |!\V  A%=A%+32:A%|
00005310  21 34 3d 73 74 61 72 74  73 61 6d 70 6c 65 25 3a  |!4=startsample%:|
00005320  41 25 21 31 32 3d 70 6c  6f 6f 70 72 25 3a 41 25  |A%!12=ploopr%:A%|
00005330  21 32 30 3d 70 6c 6f 6f  70 6c 25 3a 41 25 21 31  |!20=ploopl%:A%!1|
00005340  36 3d 28 41 25 21 31 36  29 20 80 20 26 66 66 66  |6=(A%!16) . &fff|
00005350  66 65 66 66 66 0d 21 66  05 cd 0d 21 70 05 e1 0d  |fefff.!f...!p...|
00005360  21 7a 04 0d 21 84 10 dd  f2 49 63 6f 6e 42 43 6c  |!z..!....IconBCl|
00005370  69 63 6b 0d 21 8e 13 c8  8e 20 70 6f 6c 6c 65 64  |ick.!.... polled|
00005380  62 25 21 38 20 ca 0d 21  98 15 20 20 c9 20 31 2c  |b%!8 ..!..  . 1,|
00005390  34 3a f2 4f 70 65 6e 57  6f 72 6b 0d 21 a2 6e 20  |4:.OpenWork.!.n |
000053a0  20 c9 20 32 3a 6c 61 73  74 6d 78 25 3d 70 6f 6c  | . 2:lastmx%=pol|
000053b0  6c 65 64 62 25 21 30 2d  36 34 3a 6c 61 73 74 6d  |ledb%!0-64:lastm|
000053c0  79 25 3d 31 38 34 3a 6c  61 73 74 6d 65 6e 75 25  |y%=184:lastmenu%|
000053d0  3d 69 63 6f 6e 6d 65 6e  75 25 3a c8 99 22 57 69  |=iconmenu%:.."Wi|
000053e0  6d 70 5f 43 72 65 61 74  65 4d 65 6e 75 22 2c 2c  |mp_CreateMenu",,|
000053f0  6c 61 73 74 6d 65 6e 75  25 2c 6c 61 73 74 6d 78  |lastmenu%,lastmx|
00005400  25 2c 6c 61 73 74 6d 79  25 0d 21 ac 05 cb 0d 21  |%,lastmy%.!....!|
00005410  b6 05 e1 0d 21 c0 04 0d  21 ca 0e dd f2 4f 70 65  |....!...!....Ope|
00005420  6e 57 6f 72 6b 0d 21 d4  16 70 6f 6c 6c 65 64 62  |nWork.!..polledb|
00005430  25 21 30 3d 77 77 6f 72  6b 68 25 0d 21 de 25 c8  |%!0=wworkh%.!.%.|
00005440  99 22 57 69 6d 70 5f 47  65 74 57 69 6e 64 6f 77  |."Wimp_GetWindow|
00005450  53 74 61 74 65 22 2c 2c  70 6f 6c 6c 65 64 62 25  |State",,polledb%|
00005460  0d 21 e8 12 70 6f 6c 6c  65 64 62 25 21 32 38 3d  |.!..polledb%!28=|
00005470  2d 31 0d 21 f2 10 f2 4f  70 65 6e 5f 57 69 6e 64  |-1.!...Open_Wind|
00005480  6f 77 0d 21 fc 1a 70 6f  6c 6c 65 64 62 25 21 30  |ow.!..polledb%!0|
00005490  3d 77 6b 65 79 62 6f 61  72 64 68 25 0d 22 06 25  |=wkeyboardh%.".%|
000054a0  c8 99 22 57 69 6d 70 5f  47 65 74 57 69 6e 64 6f  |.."Wimp_GetWindo|
000054b0  77 53 74 61 74 65 22 2c  2c 70 6f 6c 6c 65 64 62  |wState",,polledb|
000054c0  25 0d 22 10 12 70 6f 6c  6c 65 64 62 25 21 32 38  |%."..polledb%!28|
000054d0  3d 2d 31 0d 22 1a 21 c8  99 22 57 69 6d 70 5f 4f  |=-1.".!.."Wimp_O|
000054e0  70 65 6e 57 69 6e 64 6f  77 22 2c 2c 70 6f 6c 6c  |penWindow",,poll|
000054f0  65 64 62 25 0d 22 24 05  e1 0d 22 2e 04 0d 22 38  |edb%."$..."..."8|
00005500  13 dd f2 55 73 65 72 5f  44 72 61 67 5f 42 6f 78  |...User_Drag_Box|
00005510  0d 22 42 12 c8 8e 20 64  72 61 67 74 79 70 65 25  |."B... dragtype%|
00005520  20 ca 0d 22 4c 1c 20 20  c9 20 31 2c 32 2c 33 2c  | .."L.  . 1,2,3,|
00005530  34 3a 64 72 61 67 74 79  70 65 25 3d 2d 31 0d 22  |4:dragtype%=-1."|
00005540  60 05 cb 0d 22 6a 05 e1  0d 22 74 04 0d 22 7e 0c  |`..."j..."t.."~.|
00005550  dd f2 52 64 57 6f 72 6b  0d 22 88 16 70 6f 6c 6c  |..RdWork."..poll|
00005560  65 64 62 25 21 30 3d 77  77 6f 72 6b 68 25 0d 22  |edb%!0=wworkh%."|
00005570  92 29 c8 99 22 57 69 6d  70 5f 52 65 64 72 61 77  |.).."Wimp_Redraw|
00005580  57 69 6e 64 6f 77 22 2c  2c 70 6f 6c 6c 65 64 62  |Window",,polledb|
00005590  25 b8 6d 6f 72 65 25 0d  22 9c 0f f2 52 65 64 72  |%.more%."...Redr|
000055a0  61 77 57 6f 72 6b 0d 22  a6 05 e1 0d 22 b0 04 0d  |awWork."...."...|
000055b0  22 ba 0c dd f2 52 64 53  6f 6e 67 0d 22 c4 16 70  |"....RdSong."..p|
000055c0  6f 6c 6c 65 64 62 25 21  30 3d 77 73 6f 6e 67 68  |olledb%!0=wsongh|
000055d0  25 0d 22 ce 29 c8 99 22  57 69 6d 70 5f 52 65 64  |%.".).."Wimp_Red|
000055e0  72 61 77 57 69 6e 64 6f  77 22 2c 2c 70 6f 6c 6c  |rawWindow",,poll|
000055f0  65 64 62 25 b8 6d 6f 72  65 25 0d 22 d8 0f f2 52  |edb%.more%."...R|
00005600  65 64 72 61 77 53 6f 6e  67 0d 22 e2 05 e1 0d 22  |edrawSong."...."|
00005610  ec 04 0d 22 f6 10 dd f2  52 64 53 6f 6e 67 50 61  |..."....RdSongPa|
00005620  6e 65 0d 23 00 1a 70 6f  6c 6c 65 64 62 25 21 30  |ne.#..polledb%!0|
00005630  3d 77 73 6f 6e 67 70 61  6e 65 68 25 0d 23 0a 29  |=wsongpaneh%.#.)|
00005640  c8 99 22 57 69 6d 70 5f  52 65 64 72 61 77 57 69  |.."Wimp_RedrawWi|
00005650  6e 64 6f 77 22 2c 2c 70  6f 6c 6c 65 64 62 25 b8  |ndow",,polledb%.|
00005660  6d 6f 72 65 25 0d 23 14  0f f2 4a 75 73 74 52 65  |more%.#...JustRe|
00005670  64 72 61 77 0d 23 1e 05  e1 0d 23 28 04 0d 23 32  |draw.#....#(..#2|
00005680  11 dd f2 4b 65 79 5f 50  72 65 73 73 65 64 0d 23  |...Key_Pressed.#|
00005690  3c 43 e7 20 70 6f 6c 6c  65 64 62 25 21 32 34 3d  |<C. polledb%!24=|
000056a0  26 31 63 63 20 8c 20 c8  99 22 53 46 58 4d 50 5f  |&1cc . .."SFXMP_|
000056b0  44 69 73 61 62 6c 65 22  3a c8 99 22 57 69 6d 70  |Disable":.."Wimp|
000056c0  5f 50 72 6f 63 65 73 73  4b 65 79 22 2c 26 31 63  |_ProcessKey",&1c|
000056d0  63 0d 23 46 43 e7 20 70  6f 6c 6c 65 64 62 25 21  |c.#FC. polledb%!|
000056e0  32 34 3d 26 31 66 63 20  8c 20 c8 99 22 53 46 58  |24=&1fc . .."SFX|
000056f0  4d 50 5f 44 69 73 61 62  6c 65 22 3a c8 99 22 57  |MP_Disable":.."W|
00005700  69 6d 70 5f 50 72 6f 63  65 73 73 4b 65 79 22 2c  |imp_ProcessKey",|
00005710  26 31 66 63 0d 23 50 13  c8 8e 20 70 6f 6c 6c 65  |&1fc.#P... polle|
00005720  64 62 25 21 30 20 ca 0d  23 5a 1b 20 20 c9 20 77  |db%!0 ..#Z.  . w|
00005730  6b 65 79 62 6f 61 72 64  68 25 3a f2 4b 65 79 4b  |keyboardh%:.KeyK|
00005740  65 79 0d 23 6e 16 20 20  c9 20 77 70 6f 73 68 25  |ey.#n.  . wposh%|
00005750  3a f2 50 6f 73 4b 65 79  0d 23 78 18 20 20 c9 20  |:.PosKey.#x.  . |
00005760  77 66 61 64 65 68 25 3a  f2 46 61 64 65 4b 65 79  |wfadeh%:.FadeKey|
00005770  0d 23 82 18 20 20 c9 20  77 65 63 68 6f 68 25 3a  |.#..  . wechoh%:|
00005780  f2 45 63 68 6f 4b 65 79  0d 23 8c 1c 20 20 c9 20  |.EchoKey.#..  . |
00005790  77 73 6f 6e 67 70 61 6e  65 68 25 3a f2 53 6f 6e  |wsongpaneh%:.Son|
000057a0  67 4b 65 79 0d 23 96 05  cb 0d 23 a0 05 e1 0d 23  |gKey.#....#....#|
000057b0  aa 04 0d 23 b4 0d dd f2  46 61 64 65 4b 65 79 0d  |...#....FadeKey.|
000057c0  23 be 16 e7 20 70 6f 6c  6c 65 64 62 25 21 32 34  |#... polledb%!24|
000057d0  3d 31 33 20 8c 0d 23 c8  29 20 20 e7 20 70 6f 6c  |=13 ..#.)  . pol|
000057e0  6c 65 64 62 25 21 34 3d  32 20 8c 20 f2 53 65 74  |ledb%!4=2 . .Set|
000057f0  57 49 43 28 77 66 61 64  65 68 25 2c 33 29 0d 23  |WIC(wfadeh%,3).#|
00005800  d2 29 20 20 e7 20 70 6f  6c 6c 65 64 62 25 21 34  |.)  . polledb%!4|
00005810  3d 33 20 8c 20 f2 53 65  74 57 49 43 28 77 66 61  |=3 . .SetWIC(wfa|
00005820  64 65 68 25 2c 32 29 0d  23 dc 05 cd 0d 23 e6 05  |deh%,2).#....#..|
00005830  e1 0d 23 f0 04 0d 23 fa  0d dd f2 45 63 68 6f 4b  |..#...#....EchoK|
00005840  65 79 0d 24 04 16 e7 20  70 6f 6c 6c 65 64 62 25  |ey.$... polledb%|
00005850  21 32 34 3d 31 33 20 8c  0d 24 0e 29 20 20 e7 20  |!24=13 ..$.)  . |
00005860  70 6f 6c 6c 65 64 62 25  21 34 3d 32 20 8c 20 f2  |polledb%!4=2 . .|
00005870  53 65 74 57 49 43 28 77  65 63 68 6f 68 25 2c 33  |SetWIC(wechoh%,3|
00005880  29 0d 24 18 29 20 20 e7  20 70 6f 6c 6c 65 64 62  |).$.)  . polledb|
00005890  25 21 34 3d 33 20 8c 20  f2 53 65 74 57 49 43 28  |%!4=3 . .SetWIC(|
000058a0  77 65 63 68 6f 68 25 2c  32 29 0d 24 22 05 cd 0d  |wechoh%,2).$"...|
000058b0  24 2c 05 e1 0d 24 36 04  0d 24 40 0d dd f2 53 6f  |$,...$6..$@...So|
000058c0  6e 67 4b 65 79 0d 24 4a  16 e7 20 70 6f 6c 6c 65  |ngKey.$J.. polle|
000058d0  64 62 25 21 32 34 3d 31  33 20 8c 0d 24 54 2d 20  |db%!24=13 ..$T- |
000058e0  20 e7 20 70 6f 6c 6c 65  64 62 25 21 34 3d 36 20  | . polledb%!4=6 |
000058f0  8c 20 f2 53 65 74 57 49  43 28 77 73 6f 6e 67 70  |. .SetWIC(wsongp|
00005900  61 6e 65 68 25 2c 37 29  0d 24 5e 2d 20 20 e7 20  |aneh%,7).$^-  . |
00005910  70 6f 6c 6c 65 64 62 25  21 34 3d 37 20 8c 20 f2  |polledb%!4=7 . .|
00005920  53 65 74 57 49 43 28 77  73 6f 6e 67 70 61 6e 65  |SetWIC(wsongpane|
00005930  68 25 2c 38 29 0d 24 68  2d 20 20 e7 20 70 6f 6c  |h%,8).$h-  . pol|
00005940  6c 65 64 62 25 21 34 3d  38 20 8c 20 f2 53 65 74  |ledb%!4=8 . .Set|
00005950  57 49 43 28 77 73 6f 6e  67 70 61 6e 65 68 25 2c  |WIC(wsongpaneh%,|
00005960  39 29 0d 24 72 2d 20 20  e7 20 70 6f 6c 6c 65 64  |9).$r-  . polled|
00005970  62 25 21 34 3d 39 20 8c  20 f2 53 65 74 57 49 43  |b%!4=9 . .SetWIC|
00005980  28 77 73 6f 6e 67 70 61  6e 65 68 25 2c 36 29 0d  |(wsongpaneh%,6).|
00005990  24 7c 05 cd 0d 24 86 05  e1 0d 24 90 04 0d 24 9a  |$|...$....$...$.|
000059a0  13 dd f2 53 65 74 57 49  43 28 77 25 2c 69 25 29  |...SetWIC(w%,i%)|
000059b0  0d 24 a4 0d e7 20 69 25  3d 2d 31 20 8c 0d 24 ae  |.$... i%=-1 ..$.|
000059c0  2c 20 20 c8 99 22 58 57  69 6d 70 5f 53 65 74 43  |,  .."XWimp_SetC|
000059d0  61 72 65 74 50 6f 73 69  74 69 6f 6e 22 2c 2d 31  |aretPosition",-1|
000059e0  2c 2d 31 2c 2d 31 2c 2d  31 0d 24 b8 05 cc 0d 24  |,-1,-1,-1.$....$|
000059f0  c2 10 20 20 74 65 6d 70  25 21 30 3d 77 25 0d 24  |..  temp%!0=w%.$|
00005a00  cc 10 20 20 74 65 6d 70  25 21 34 3d 69 25 0d 24  |..  temp%!4=i%.$|
00005a10  d6 22 20 20 c8 99 22 57  69 6d 70 5f 47 65 74 49  |."  .."Wimp_GetI|
00005a20  63 6f 6e 53 74 61 74 65  22 2c 2c 74 65 6d 70 25  |conState",,temp%|
00005a30  0d 24 e0 17 20 20 41 25  3d a9 28 24 28 74 65 6d  |.$..  A%=.($(tem|
00005a40  70 25 21 32 38 29 29 0d  24 ea 32 20 20 c8 99 22  |p%!28)).$.2  .."|
00005a50  58 57 69 6d 70 5f 53 65  74 43 61 72 65 74 50 6f  |XWimp_SetCaretPo|
00005a60  73 69 74 69 6f 6e 22 2c  77 25 2c 69 25 2c 2d 31  |sition",w%,i%,-1|
00005a70  2c 2d 31 2c 2d 31 2c 41  25 0d 24 f4 05 cd 0d 24  |,-1,-1,A%.$....$|
00005a80  fe 05 e1 0d 25 08 04 0d  25 12 0c dd f2 50 6f 73  |....%...%....Pos|
00005a90  4b 65 79 0d 25 1c 42 e7  20 70 6f 6c 6c 65 64 62  |Key.%.B. polledb|
00005aa0  25 21 32 34 3d 31 33 20  8c 20 f2 53 65 74 50 69  |%!24=13 . .SetPi|
00005ab0  74 63 68 20 8b 20 c8 99  22 57 69 6d 70 5f 50 72  |tch . .."Wimp_Pr|
00005ac0  6f 63 65 73 73 4b 65 79  22 2c 70 6f 6c 6c 65 64  |ocessKey",polled|
00005ad0  62 25 21 32 34 0d 25 26  05 e1 0d 25 30 04 0d 25  |b%!24.%&...%0..%|
00005ae0  3a 0e dd f2 53 65 74 50  69 74 63 68 0d 25 44 12  |:...SetPitch.%D.|
00005af0  74 65 6d 70 25 21 30 3d  77 70 6f 73 68 25 0d 25  |temp%!0=wposh%.%|
00005b00  4e 14 e7 20 70 6f 6c 6c  65 64 62 25 21 34 3d 33  |N.. polledb%!4=3|
00005b10  20 8c 0d 25 58 0f 20 20  74 65 6d 70 25 21 34 3d  | ..%X.  temp%!4=|
00005b20  33 0d 25 62 22 20 20 c8  99 22 57 69 6d 70 5f 47  |3.%b"  .."Wimp_G|
00005b30  65 74 49 63 6f 6e 53 74  61 74 65 22 2c 2c 74 65  |etIconState",,te|
00005b40  6d 70 25 0d 25 6c 1b 20  20 70 69 74 63 68 25 3d  |mp%.%l.  pitch%=|
00005b50  bb 28 24 28 74 65 6d 70  25 21 32 38 29 29 0d 25  |.($(temp%!28)).%|
00005b60  76 05 cd 0d 25 80 14 e7  20 70 6f 6c 6c 65 64 62  |v...%... polledb|
00005b70  25 21 34 3d 35 20 8c 0d  25 8a 0f 20 20 74 65 6d  |%!4=5 ..%..  tem|
00005b80  70 25 21 34 3d 35 0d 25  94 22 20 20 c8 99 22 57  |p%!4=5.%."  .."W|
00005b90  69 6d 70 5f 47 65 74 49  63 6f 6e 53 74 61 74 65  |imp_GetIconState|
00005ba0  22 2c 2c 74 65 6d 70 25  0d 25 9e 1b 20 20 70 69  |",,temp%.%..  pi|
00005bb0  74 63 68 25 3d bb 28 24  28 74 65 6d 70 25 21 32  |tch%=.($(temp%!2|
00005bc0  38 29 29 0d 25 a8 1b 20  20 e7 20 70 69 74 63 68  |8)).%..  . pitch|
00005bd0  25 3d 30 20 8c 20 70 69  74 63 68 25 3d 31 0d 25  |%=0 . pitch%=1.%|
00005be0  b2 17 20 20 70 69 74 63  68 25 3d 31 45 36 2f 70  |..  pitch%=1E6/p|
00005bf0  69 74 63 68 25 0d 25 bc  05 cd 0d 25 c6 0e f2 53  |itch%.%....%...S|
00005c00  65 74 50 69 74 63 68 32  0d 25 d0 05 e1 0d 25 da  |etPitch2.%....%.|
00005c10  04 0d 25 e4 0f dd f2 53  65 74 50 69 74 63 68 32  |..%....SetPitch2|
00005c20  0d 25 ee 1b e7 20 70 69  74 63 68 25 3c 32 34 20  |.%... pitch%<24 |
00005c30  8c 20 70 69 74 63 68 25  3d 32 34 0d 25 f8 1d e7  |. pitch%=24.%...|
00005c40  20 70 69 74 63 68 25 3e  32 35 35 20 8c 20 70 69  | pitch%>255 . pi|
00005c50  74 63 68 25 3d 32 35 35  0d 26 02 15 70 69 74 63  |tch%=255.&..pitc|
00005c60  68 25 3d 70 69 74 63 68  25 80 26 66 63 0d 26 0c  |h%=pitch%.&fc.&.|
00005c70  13 74 65 6d 70 32 25 21  30 3d 77 70 6f 73 68 25  |.temp2%!0=wposh%|
00005c80  0d 26 16 0e 74 65 6d 70  32 25 21 34 3d 33 0d 26  |.&..temp2%!4=3.&|
00005c90  20 21 c8 99 22 57 69 6d  70 5f 47 65 74 49 63 6f  | !.."Wimp_GetIco|
00005ca0  6e 53 74 61 74 65 22 2c  2c 74 65 6d 70 32 25 0d  |nState",,temp2%.|
00005cb0  26 2a 18 24 28 74 65 6d  70 32 25 21 32 38 29 3d  |&*.$(temp2%!28)=|
00005cc0  c3 70 69 74 63 68 25 0d  26 34 38 74 65 6d 70 32  |.pitch%.&48temp2|
00005cd0  25 21 38 3d 30 3a 74 65  6d 70 32 25 21 31 32 3d  |%!8=0:temp2%!12=|
00005ce0  30 3a c8 99 22 57 69 6d  70 5f 53 65 74 49 63 6f  |0:.."Wimp_SetIco|
00005cf0  6e 53 74 61 74 65 22 2c  2c 74 65 6d 70 32 25 0d  |nState",,temp2%.|
00005d00  26 3e 0e 74 65 6d 70 32  25 21 34 3d 35 0d 26 48  |&>.temp2%!4=5.&H|
00005d10  21 c8 99 22 57 69 6d 70  5f 47 65 74 49 63 6f 6e  |!.."Wimp_GetIcon|
00005d20  53 74 61 74 65 22 2c 2c  74 65 6d 70 32 25 0d 26  |State",,temp2%.&|
00005d30  52 21 24 28 74 65 6d 70  32 25 21 32 38 29 3d c3  |R!$(temp2%!28)=.|
00005d40  28 a8 28 31 45 36 2f 70  69 74 63 68 25 29 29 0d  |(.(1E6/pitch%)).|
00005d50  26 5c 38 74 65 6d 70 32  25 21 38 3d 30 3a 74 65  |&\8temp2%!8=0:te|
00005d60  6d 70 32 25 21 31 32 3d  30 3a c8 99 22 57 69 6d  |mp2%!12=0:.."Wim|
00005d70  70 5f 53 65 74 49 63 6f  6e 53 74 61 74 65 22 2c  |p_SetIconState",|
00005d80  2c 74 65 6d 70 32 25 0d  26 66 39 c8 99 22 58 57  |,temp2%.&f9.."XW|
00005d90  69 6d 70 5f 53 65 74 43  61 72 65 74 50 6f 73 69  |imp_SetCaretPosi|
00005da0  74 69 6f 6e 22 2c 77 6b  65 79 62 6f 61 72 64 68  |tion",wkeyboardh|
00005db0  25 2c 2d 31 2c 2d 31 2c  2d 31 2c 2d 31 2c 2d 31  |%,-1,-1,-1,-1,-1|
00005dc0  0d 26 70 27 c8 99 22 58  53 6f 75 6e 64 5f 43 6f  |.&p'.."XSound_Co|
00005dd0  6e 66 69 67 75 72 65 22  2c 30 2c 30 2c 70 69 74  |nfigure",0,0,pit|
00005de0  63 68 25 2c 30 2c 30 0d  26 7a 05 e1 0d 26 84 04  |ch%,0,0.&z...&..|
00005df0  0d 26 8e 0c dd f2 4b 65  79 4b 65 79 0d 26 98 14  |.&....KeyKey.&..|
00005e00  6b 65 79 25 3d 70 6f 6c  6c 65 64 62 25 21 32 34  |key%=polledb%!24|
00005e10  0d 26 a2 38 e7 20 6b 65  79 25 3d 31 33 20 8c 20  |.&.8. key%=13 . |
00005e20  c8 99 22 58 57 69 6d 70  5f 53 65 74 43 61 72 65  |.."XWimp_SetCare|
00005e30  74 50 6f 73 69 74 69 6f  6e 22 2c 2d 31 2c 2d 31  |tPosition",-1,-1|
00005e40  2c 2d 31 2c 2d 31 3a e1  0d 26 ac 30 e7 20 28 6b  |,-1,-1:..&.0. (k|
00005e50  65 79 25 3e 3d 26 31 38  31 29 80 28 6b 65 79 25  |ey%>=&181).(key%|
00005e60  3c 3d 26 31 38 35 29 20  6f 6b 74 25 3d 6b 65 79  |<=&185) okt%=key|
00005e70  25 2d 26 31 38 31 3a e1  0d 26 b6 1a e7 20 6b 65  |%-&181:..&... ke|
00005e80  79 25 3c 33 32 20 8c 20  f2 43 74 72 6c 4b 65 79  |y%<32 . .CtrlKey|
00005e90  3a e1 0d 26 c0 c7 c8 99  22 53 46 58 4d 50 5f 47  |:..&...."SFXMP_G|
00005ea0  65 74 50 69 74 63 68 22  b8 73 70 69 74 63 68 25  |etPitch".spitch%|
00005eb0  3a e7 20 73 70 69 74 63  68 25 3c 3e 6f 73 70 69  |:. spitch%<>ospi|
00005ec0  74 63 68 25 20 8c 20 74  65 6d 70 25 21 30 3d 77  |tch% . temp%!0=w|
00005ed0  73 6f 6e 67 70 61 6e 65  68 25 3a 74 65 6d 70 25  |songpaneh%:temp%|
00005ee0  21 34 3d 38 3a c8 99 22  57 69 6d 70 5f 47 65 74  |!4=8:.."Wimp_Get|
00005ef0  49 63 6f 6e 53 74 61 74  65 22 2c 2c 74 65 6d 70  |IconState",,temp|
00005f00  25 3a 24 28 74 65 6d 70  25 21 32 38 29 3d c3 73  |%:$(temp%!28)=.s|
00005f10  70 69 74 63 68 25 3a 74  65 6d 70 25 21 38 3d 30  |pitch%:temp%!8=0|
00005f20  3a 74 65 6d 70 25 21 31  32 3d 30 3a c8 99 22 57  |:temp%!12=0:.."W|
00005f30  69 6d 70 5f 53 65 74 49  63 6f 6e 53 74 61 74 65  |imp_SetIconState|
00005f40  22 2c 2c 74 65 6d 70 25  3a 6f 73 70 69 74 63 68  |",,temp%:ospitch|
00005f50  25 3d 73 70 69 74 63 68  25 0d 26 ca 05 e1 0d 26  |%=spitch%.&....&|
00005f60  d4 04 0d 26 de 0d dd f2  43 74 72 6c 4b 65 79 0d  |...&....CtrlKey.|
00005f70  26 e8 0d c8 8e 20 6b 65  79 25 20 ca 0d 26 f2 23  |&.... key% ..&.#|
00005f80  20 20 c9 20 97 22 58 22  2d 36 34 3a 70 6f 6c 6c  |  . ."X"-64:poll|
00005f90  65 64 62 25 21 34 3d 30  3a f2 4d 45 64 69 74 0d  |edb%!4=0:.MEdit.|
00005fa0  26 fc 23 20 20 c9 20 97  22 43 22 2d 36 34 3a 70  |&.#  . ."C"-64:p|
00005fb0  6f 6c 6c 65 64 62 25 21  34 3d 31 3a f2 4d 45 64  |olledb%!4=1:.MEd|
00005fc0  69 74 0d 27 06 23 20 20  c9 20 97 22 56 22 2d 36  |it.'.#  . ."V"-6|
00005fd0  34 3a 70 6f 6c 6c 65 64  62 25 21 34 3d 32 3a f2  |4:polledb%!4=2:.|
00005fe0  4d 45 64 69 74 0d 27 10  23 20 20 c9 20 97 22 44  |MEdit.'.#  . ."D|
00005ff0  22 2d 36 34 3a 70 6f 6c  6c 65 64 62 25 21 34 3d  |"-64:polledb%!4=|
00006000  33 3a f2 4d 45 64 69 74  0d 27 1a 18 20 20 c9 20  |3:.MEdit.'..  . |
00006010  97 22 41 22 2d 36 34 3a  f2 4d 53 65 6c 41 6c 6c  |."A"-64:.MSelAll|
00006020  0d 27 24 1a 20 20 c9 20  97 22 5a 22 2d 36 34 3a  |.'$.  . ."Z"-64:|
00006030  f2 4d 53 65 6c 43 6c 65  61 72 0d 27 2e 18 20 20  |.MSelClear.'..  |
00006040  c9 20 97 22 51 22 2d 36  34 3a f2 5a 6f 6f 6d 41  |. ."Q"-64:.ZoomA|
00006050  6c 6c 0d 27 38 18 20 20  c9 20 97 22 57 22 2d 36  |ll.'8.  . ."W"-6|
00006060  34 3a f2 5a 6f 6f 6d 4f  75 74 0d 27 42 18 20 20  |4:.ZoomOut.'B.  |
00006070  c9 20 97 22 53 22 2d 36  34 3a f2 5a 6f 6f 6d 53  |. ."S"-64:.ZoomS|
00006080  65 6c 0d 27 4c 1a 20 20  c9 20 97 22 54 22 2d 36  |el.'L.  . ."T"-6|
00006090  34 3a f2 5a 6f 6f 6d 53  74 6f 72 65 0d 27 56 1c  |4:.ZoomStore.'V.|
000060a0  20 20 c9 20 97 22 52 22  2d 36 34 3a f2 5a 6f 6f  |  . ."R"-64:.Zoo|
000060b0  6d 52 65 73 74 6f 72 65  0d 27 60 05 cb 0d 27 6a  |mRestore.'`...'j|
000060c0  05 e1 0d 27 74 04 0d 27  7e 11 dd f2 4d 65 6e 75  |...'t..'~...Menu|
000060d0  5f 53 65 6c 65 63 74 0d  27 88 22 c8 99 22 57 69  |_Select.'.".."Wi|
000060e0  6d 70 5f 47 65 74 50 6f  69 6e 74 65 72 49 6e 66  |mp_GetPointerInf|
000060f0  6f 22 2c 2c 74 65 6d 70  25 0d 27 92 13 6f 6c 64  |o",,temp%.'..old|
00006100  62 75 74 25 3d 74 65 6d  70 25 21 38 0d 27 9c 12  |but%=temp%!8.'..|
00006110  c8 8e 20 6c 61 73 74 6d  65 6e 75 25 20 ca 0d 27  |.. lastmenu% ..'|
00006120  a6 1b 20 20 c9 20 69 63  6f 6e 6d 65 6e 75 25 3a  |..  . iconmenu%:|
00006130  f2 4d 53 65 6c 49 63 6f  6e 0d 27 b0 1b 20 20 c9  |.MSelIcon.'..  .|
00006140  20 77 6f 72 6b 6d 65 6e  75 25 3a f2 4d 53 65 6c  | workmenu%:.MSel|
00006150  57 6f 72 6b 0d 27 ba 1b  20 20 c9 20 73 65 63 74  |Work.'..  . sect|
00006160  6d 65 6e 75 25 3a f2 4d  53 65 6c 53 65 63 74 0d  |menu%:.MSelSect.|
00006170  27 c4 05 cb 0d 27 ce 42  e7 20 28 6f 6c 64 62 75  |'....'.B. (oldbu|
00006180  74 25 80 31 29 20 8c 20  c8 99 22 57 69 6d 70 5f  |t%.1) . .."Wimp_|
00006190  43 72 65 61 74 65 4d 65  6e 75 22 2c 2c 6c 61 73  |CreateMenu",,las|
000061a0  74 6d 65 6e 75 25 2c 6c  61 73 74 6d 78 25 2c 6c  |tmenu%,lastmx%,l|
000061b0  61 73 74 6d 79 25 0d 27  d8 05 e1 0d 27 e2 04 0d  |astmy%.'....'...|
000061c0  27 ec 0e dd f2 4d 53 65  6c 53 65 63 74 0d 27 f6  |'....MSelSect.'.|
000061d0  13 c8 8e 20 70 6f 6c 6c  65 64 62 25 21 30 20 ca  |... polledb%!0 .|
000061e0  0d 28 00 16 20 20 c9 20  30 3a f2 4d 53 65 63 74  |.(..  . 0:.MSect|
000061f0  49 6e 73 65 72 74 0d 28  0a 16 20 20 c9 20 31 3a  |Insert.(..  . 1:|
00006200  f2 4d 53 65 63 74 41 70  70 65 6e 64 0d 28 14 19  |.MSectAppend.(..|
00006210  20 20 c9 20 32 3a f2 4d  53 65 63 74 4f 76 65 72  |  . 2:.MSectOver|
00006220  77 72 69 74 65 0d 28 1e  16 20 20 c9 20 33 3a f2  |write.(..  . 3:.|
00006230  4d 53 65 63 74 44 65 6c  65 74 65 0d 28 28 14 20  |MSectDelete.((. |
00006240  20 c9 20 34 3a f2 4d 53  65 63 74 50 6c 61 79 0d  | . 4:.MSectPlay.|
00006250  28 32 13 20 20 c9 20 35  3a f2 50 6c 61 79 53 6f  |(2.  . 5:.PlaySo|
00006260  6e 67 0d 28 3c 05 cb 0d  28 46 05 e1 0d 28 50 04  |ng.(<...(F...(P.|
00006270  0d 28 5a 11 dd f2 4d 53  65 63 74 49 6e 73 65 72  |.(Z...MSectInser|
00006280  74 0d 28 64 36 c8 99 22  53 46 58 4d 50 5f 53 74  |t.(d6.."SFXMP_St|
00006290  6f 70 22 2c 31 3a c8 99  22 53 46 58 4d 50 5f 53  |op",1:.."SFXMP_S|
000062a0  74 6f 70 22 2c 32 3a c8  99 22 53 46 58 4d 50 5f  |top",2:.."SFXMP_|
000062b0  53 74 6f 70 22 2c 33 0d  28 6e 23 e7 20 73 6f 6e  |Stop",3.(n#. son|
000062c0  67 6c 65 6e 25 3e 3d a8  28 73 6f 6e 67 62 75 66  |glen%>=.(songbuf|
000062d0  6c 65 6e 25 2f 33 32 29  20 8c 0d 28 78 1c 20 20  |len%/32) ..(x.  |
000062e0  f2 52 65 70 6f 72 74 45  72 72 28 22 4e 6f 20 72  |.ReportErr("No r|
000062f0  6f 6f 6d 2e 22 29 0d 28  82 05 cc 0d 28 8c 11 20  |oom.").(....(.. |
00006300  20 54 25 3d 73 6f 6e 67  6c 65 6e 25 0d 28 96 15  | T%=songlen%.(..|
00006310  20 20 c8 95 20 54 25 3e  63 75 72 72 73 65 63 74  |  .. T%>currsect|
00006320  25 0d 28 a0 12 20 20 20  20 e3 53 25 3d 30 b8 32  |%.(..    .S%=0.2|
00006330  38 88 34 0d 28 aa 38 20  20 20 20 20 20 73 6f 6e  |8.4.(.8      son|
00006340  67 73 74 61 72 74 25 21  28 54 25 2a 33 32 2b 53  |gstart%!(T%*32+S|
00006350  25 29 3d 73 6f 6e 67 73  74 61 72 74 25 21 28 54  |%)=songstart%!(T|
00006360  25 2a 33 32 2d 33 32 2b  53 25 29 0d 28 b4 0b 20  |%*32-32+S%).(.. |
00006370  20 20 20 ed 53 25 0d 28  be 0d 20 20 20 20 54 25  |   .S%.(..    T%|
00006380  2d 3d 31 0d 28 c8 07 20  20 ce 0d 28 d2 11 20 20  |-=1.(..  ..(..  |
00006390  73 6f 6e 67 6c 65 6e 25  2b 3d 31 0d 28 dc 19 20  |songlen%+=1.(.. |
000063a0  20 f2 50 75 74 53 65 63  74 28 63 75 72 72 73 65  | .PutSect(currse|
000063b0  63 74 25 29 0d 28 e6 14  20 20 f2 53 65 74 53 6f  |ct%).(..  .SetSo|
000063c0  6e 67 45 78 74 65 6e 74  0d 28 f0 0d 20 20 f2 52  |ngExtent.(..  .R|
000063d0  64 53 6f 6e 67 0d 28 fa  05 cd 0d 29 04 05 e1 0d  |dSong.(....)....|
000063e0  29 0e 04 0d 29 18 11 dd  f2 4d 53 65 63 74 41 70  |)...)....MSectAp|
000063f0  70 65 6e 64 0d 29 22 36  c8 99 22 53 46 58 4d 50  |pend.)"6.."SFXMP|
00006400  5f 53 74 6f 70 22 2c 31  3a c8 99 22 53 46 58 4d  |_Stop",1:.."SFXM|
00006410  50 5f 53 74 6f 70 22 2c  32 3a c8 99 22 53 46 58  |P_Stop",2:.."SFX|
00006420  4d 50 5f 53 74 6f 70 22  2c 33 0d 29 2c 23 e7 20  |MP_Stop",3.),#. |
00006430  73 6f 6e 67 6c 65 6e 25  3e 3d a8 28 73 6f 6e 67  |songlen%>=.(song|
00006440  62 75 66 6c 65 6e 25 2f  33 32 29 20 8c 0d 29 36  |buflen%/32) ..)6|
00006450  23 20 20 f2 52 65 70 6f  72 74 45 72 72 28 22 54  |#  .ReportErr("T|
00006460  6f 6f 20 6d 61 6e 79 20  6c 6f 6f 70 73 2e 22 29  |oo many loops.")|
00006470  0d 29 40 05 cc 0d 29 4a  18 20 20 f2 50 75 74 53  |.)@...)J.  .PutS|
00006480  65 63 74 28 73 6f 6e 67  6c 65 6e 25 29 0d 29 54  |ect(songlen%).)T|
00006490  11 20 20 73 6f 6e 67 6c  65 6e 25 2b 3d 31 0d 29  |.  songlen%+=1.)|
000064a0  5e 14 20 20 f2 53 65 74  53 6f 6e 67 45 78 74 65  |^.  .SetSongExte|
000064b0  6e 74 0d 29 68 0d 20 20  f2 52 64 53 6f 6e 67 0d  |nt.)h.  .RdSong.|
000064c0  29 72 05 cd 0d 29 7c 05  e1 0d 29 86 04 0d 29 90  |)r...)|...)...).|
000064d0  14 dd f2 4d 53 65 63 74  4f 76 65 72 77 72 69 74  |...MSectOverwrit|
000064e0  65 0d 29 9a 36 c8 99 22  53 46 58 4d 50 5f 53 74  |e.).6.."SFXMP_St|
000064f0  6f 70 22 2c 31 3a c8 99  22 53 46 58 4d 50 5f 53  |op",1:.."SFXMP_S|
00006500  74 6f 70 22 2c 32 3a c8  99 22 53 46 58 4d 50 5f  |top",2:.."SFXMP_|
00006510  53 74 6f 70 22 2c 33 0d  29 a4 36 e7 20 63 75 72  |Stop",3.).6. cur|
00006520  72 73 65 63 74 25 3c 73  6f 6e 67 6c 65 6e 25 20  |rsect%<songlen% |
00006530  8c 20 f2 50 75 74 53 65  63 74 28 63 75 72 72 73  |. .PutSect(currs|
00006540  65 63 74 25 29 3a f2 52  64 53 6f 6e 67 0d 29 ae  |ect%):.RdSong.).|
00006550  05 e1 0d 29 b8 04 0d 29  c2 11 dd f2 4d 53 65 63  |...)...)....MSec|
00006560  74 44 65 6c 65 74 65 0d  29 cc 36 c8 99 22 53 46  |tDelete.).6.."SF|
00006570  58 4d 50 5f 53 74 6f 70  22 2c 31 3a c8 99 22 53  |XMP_Stop",1:.."S|
00006580  46 58 4d 50 5f 53 74 6f  70 22 2c 32 3a c8 99 22  |FXMP_Stop",2:.."|
00006590  53 46 58 4d 50 5f 53 74  6f 70 22 2c 33 0d 29 d6  |SFXMP_Stop",3.).|
000065a0  1a e7 20 63 75 72 72 73  65 63 74 25 3c 73 6f 6e  |.. currsect%<son|
000065b0  67 6c 65 6e 25 20 8c 0d  29 e0 12 20 20 54 25 3d  |glen% ..)..  T%=|
000065c0  63 75 72 72 73 65 63 74  25 0d 29 ea 16 20 20 c8  |currsect%.)..  .|
000065d0  95 20 54 25 3c 73 6f 6e  67 6c 65 6e 25 2d 31 0d  |. T%<songlen%-1.|
000065e0  29 f4 12 20 20 20 20 e3  53 25 3d 30 b8 32 38 88  |)..    .S%=0.28.|
000065f0  34 0d 29 fe 38 20 20 20  20 20 20 73 6f 6e 67 73  |4.).8      songs|
00006600  74 61 72 74 25 21 28 54  25 2a 33 32 2b 53 25 29  |tart%!(T%*32+S%)|
00006610  3d 73 6f 6e 67 73 74 61  72 74 25 21 28 54 25 2a  |=songstart%!(T%*|
00006620  33 32 2b 33 32 2b 53 25  29 0d 2a 08 0b 20 20 20  |32+32+S%).*..   |
00006630  20 ed 53 25 0d 2a 12 0d  20 20 20 20 54 25 2b 3d  | .S%.*..    T%+=|
00006640  31 0d 2a 1c 07 20 20 ce  0d 2a 26 11 20 20 73 6f  |1.*..  ..*&.  so|
00006650  6e 67 6c 65 6e 25 2d 3d  31 0d 2a 30 14 20 20 f2  |nglen%-=1.*0.  .|
00006660  53 65 74 53 6f 6e 67 45  78 74 65 6e 74 0d 2a 3a  |SetSongExtent.*:|
00006670  0d 20 20 f2 52 64 53 6f  6e 67 0d 2a 44 05 cd 0d  |.  .RdSong.*D...|
00006680  2a 4e 05 e1 0d 2a 58 04  0d 2a 62 0f dd f2 4d 53  |*N...*X..*b...MS|
00006690  65 63 74 50 6c 61 79 0d  2a 6c 1a e7 20 63 75 72  |ectPlay.*l.. cur|
000066a0  72 73 65 63 74 25 3c 73  6f 6e 67 6c 65 6e 25 20  |rsect%<songlen% |
000066b0  8c 0d 2a 76 38 20 20 c8  99 22 53 46 58 4d 50 5f  |..*v8  .."SFXMP_|
000066c0  53 74 6f 70 22 2c 31 3a  c8 99 22 53 46 58 4d 50  |Stop",1:.."SFXMP|
000066d0  5f 53 74 6f 70 22 2c 32  3a c8 99 22 53 46 58 4d  |_Stop",2:.."SFXM|
000066e0  50 5f 53 74 6f 70 22 2c  33 0d 2a 80 0a 20 20 c8  |P_Stop",3.*..  .|
000066f0  a0 20 32 0d 2a 8a 16 20  20 c8 a1 20 32 2c 22 53  |. 2.*..  .. 2,"S|
00006700  46 58 4d 56 6f 69 63 65  22 0d 2a 94 59 20 20 c8  |FXMVoice".*.Y  .|
00006710  99 22 53 46 58 4d 50 5f  50 6c 61 79 53 6f 6e 67  |."SFXMP_PlaySong|
00006720  22 2c 73 6f 6e 67 73 74  61 72 74 25 2b 33 32 2a  |",songstart%+32*|
00006730  63 75 72 72 73 65 63 74  25 2c 73 6f 6e 67 6c 65  |currsect%,songle|
00006740  6e 25 2d 63 75 72 72 73  65 63 74 25 2c 73 74 61  |n%-currsect%,sta|
00006750  72 74 73 61 6d 70 6c 65  25 2c 31 2c 73 74 79 70  |rtsample%,1,styp|
00006760  65 25 0d 2a 9e 05 cd 0d  2a a8 05 e1 0d 2a b2 04  |e%.*....*....*..|
00006770  0d 2a bc 11 dd f2 50 75  74 53 65 63 74 28 73 25  |.*....PutSect(s%|
00006780  29 0d 2a c6 17 74 65 6d  70 25 21 30 3d 77 73 6f  |).*..temp%!0=wso|
00006790  6e 67 70 61 6e 65 68 25  0d 2a d0 0d 74 65 6d 70  |ngpaneh%.*..temp|
000067a0  25 21 34 3d 36 0d 2a da  20 c8 99 22 57 69 6d 70  |%!4=6.*. .."Wimp|
000067b0  5f 47 65 74 49 63 6f 6e  53 74 61 74 65 22 2c 2c  |_GetIconState",,|
000067c0  74 65 6d 70 25 0d 2a e4  23 24 28 73 6f 6e 67 73  |temp%.*.#$(songs|
000067d0  74 61 72 74 25 2b 73 25  2a 33 32 29 3d 24 28 74  |tart%+s%*32)=$(t|
000067e0  65 6d 70 25 21 32 38 29  0d 2a ee 0d 74 65 6d 70  |emp%!28).*..temp|
000067f0  25 21 34 3d 37 0d 2a f8  20 c8 99 22 57 69 6d 70  |%!4=7.*. .."Wimp|
00006800  5f 47 65 74 49 63 6f 6e  53 74 61 74 65 22 2c 2c  |_GetIconState",,|
00006810  74 65 6d 70 25 0d 2b 02  15 41 25 3d bb 28 24 28  |temp%.+..A%=.($(|
00006820  74 65 6d 70 25 21 32 38  29 29 0d 2b 0c 15 e7 20  |temp%!28)).+... |
00006830  41 25 3e 32 35 35 20 8c  20 41 25 3d 32 35 35 0d  |A%>255 . A%=255.|
00006840  2b 16 11 e7 20 41 25 3c  31 20 8c 20 41 25 3d 31  |+... A%<1 . A%=1|
00006850  0d 2b 20 1d 21 28 73 6f  6e 67 73 74 61 72 74 25  |.+ .!(songstart%|
00006860  2b 73 25 2a 33 32 2b 31  32 29 3d 41 25 0d 2b 2a  |+s%*32+12)=A%.+*|
00006870  0d 74 65 6d 70 25 21 34  3d 38 0d 2b 34 20 c8 99  |.temp%!4=8.+4 ..|
00006880  22 57 69 6d 70 5f 47 65  74 49 63 6f 6e 53 74 61  |"Wimp_GetIconSta|
00006890  74 65 22 2c 2c 74 65 6d  70 25 0d 2b 3e 15 41 25  |te",,temp%.+>.A%|
000068a0  3d bb 28 24 28 74 65 6d  70 25 21 32 38 29 29 0d  |=.($(temp%!28)).|
000068b0  2b 48 11 e7 20 41 25 3c  31 20 8c 20 41 25 3d 31  |+H.. A%<1 . A%=1|
000068c0  0d 2b 52 1b e7 20 41 25  3e 26 31 30 30 30 30 20  |.+R.. A%>&10000 |
000068d0  8c 20 41 25 3d 26 31 30  30 30 30 0d 2b 5c 1d 21  |. A%=&10000.+\.!|
000068e0  28 73 6f 6e 67 73 74 61  72 74 25 2b 73 25 2a 33  |(songstart%+s%*3|
000068f0  32 2b 31 36 29 3d 41 25  0d 2b 66 0d 74 65 6d 70  |2+16)=A%.+f.temp|
00006900  25 21 34 3d 39 0d 2b 70  20 c8 99 22 57 69 6d 70  |%!4=9.+p .."Wimp|
00006910  5f 47 65 74 49 63 6f 6e  53 74 61 74 65 22 2c 2c  |_GetIconState",,|
00006920  74 65 6d 70 25 0d 2b 7a  15 41 25 3d bb 28 24 28  |temp%.+z.A%=.($(|
00006930  74 65 6d 70 25 21 32 38  29 29 0d 2b 84 11 e7 20  |temp%!28)).+... |
00006940  41 25 3c 32 20 8c 20 41  25 3d 32 0d 2b 8e 15 e7  |A%<2 . A%=2.+...|
00006950  20 41 25 3e 32 35 35 20  8c 20 41 25 3d 32 35 35  | A%>255 . A%=255|
00006960  0d 2b 98 1d 21 28 73 6f  6e 67 73 74 61 72 74 25  |.+..!(songstart%|
00006970  2b 73 25 2a 33 32 2b 32  30 29 3d 41 25 0d 2b a2  |+s%*32+20)=A%.+.|
00006980  22 21 28 73 6f 6e 67 73  74 61 72 74 25 2b 73 25  |"!(songstart%+s%|
00006990  2a 33 32 2b 32 34 29 3d  70 6c 6f 6f 70 6c 25 0d  |*32+24)=ploopl%.|
000069a0  2b ac 22 21 28 73 6f 6e  67 73 74 61 72 74 25 2b  |+."!(songstart%+|
000069b0  73 25 2a 33 32 2b 32 38  29 3d 70 6c 6f 6f 70 72  |s%*32+28)=ploopr|
000069c0  25 0d 2b b6 05 e1 0d 2b  c0 04 0d 2b ca 0f dd f2  |%.+....+...+....|
000069d0  43 68 65 63 6b 53 6f 6e  67 0d 2b d4 08 54 25 3d  |CheckSong.+..T%=|
000069e0  30 0d 2b de 12 c8 95 20  54 25 3c 73 6f 6e 67 6c  |0.+.... T%<songl|
000069f0  65 6e 25 0d 2b e8 37 20  20 41 25 3d 73 6f 6e 67  |en%.+.7  A%=song|
00006a00  73 74 61 72 74 25 21 28  54 25 2a 33 32 2b 32 34  |start%!(T%*32+24|
00006a10  29 3a 42 25 3d 73 6f 6e  67 73 74 61 72 74 25 21  |):B%=songstart%!|
00006a20  28 54 25 2a 33 32 2b 32  38 29 0d 2b f2 13 20 20  |(T%*32+28).+..  |
00006a30  e7 20 41 25 3c 30 20 8c  20 41 25 3d 30 0d 2b fc  |. A%<0 . A%=0.+.|
00006a40  13 20 20 e7 20 42 25 3c  30 20 8c 20 42 25 3d 30  |.  . B%<0 . B%=0|
00006a50  0d 2c 06 25 20 20 e7 20  41 25 3e 73 61 6d 70 6c  |.,.%  . A%>sampl|
00006a60  65 6c 65 6e 25 20 8c 20  41 25 3d 73 61 6d 70 6c  |elen% . A%=sampl|
00006a70  65 6c 65 6e 25 0d 2c 10  25 20 20 e7 20 42 25 3e  |elen%.,.%  . B%>|
00006a80  73 61 6d 70 6c 65 6c 65  6e 25 20 8c 20 42 25 3d  |samplelen% . B%=|
00006a90  73 61 6d 70 6c 65 6c 65  6e 25 0d 2c 1a 37 20 20  |samplelen%.,.7  |
00006aa0  73 6f 6e 67 73 74 61 72  74 25 21 28 54 25 2a 33  |songstart%!(T%*3|
00006ab0  32 2b 32 34 29 3d 41 25  3a 73 6f 6e 67 73 74 61  |2+24)=A%:songsta|
00006ac0  72 74 25 21 28 54 25 2a  33 32 2b 32 38 29 3d 42  |rt%!(T%*32+28)=B|
00006ad0  25 0d 2c 24 0b 20 20 54  25 2b 3d 31 0d 2c 2e 05  |%.,$.  T%+=1.,..|
00006ae0  ce 0d 2c 38 05 e1 0d 2c  42 04 0d 2c 4c 0e dd f2  |..,8...,B..,L...|
00006af0  4d 53 65 6c 49 63 6f 6e  0d 2c 56 1f e7 20 70 6f  |MSelIcon.,V.. po|
00006b00  6c 6c 65 64 62 25 21 30  3d 31 20 8c 20 f2 43 6c  |lledb%!0=1 . .Cl|
00006b10  6f 73 65 44 6f 77 6e 0d  2c 60 05 e1 0d 2c 6a 04  |oseDown.,`...,j.|
00006b20  0d 2c 74 0e dd f2 4d 53  65 6c 57 6f 72 6b 0d 2c  |.,t...MSelWork.,|
00006b30  7e 13 c8 8e 20 70 6f 6c  6c 65 64 62 25 21 30 20  |~... polledb%!0 |
00006b40  ca 0d 2c 88 10 20 20 c9  20 30 3a f2 4d 49 6e 66  |..,..  . 0:.MInf|
00006b50  6f 0d 2c 92 10 20 20 c9  20 31 3a f2 4d 53 61 76  |o.,..  . 1:.MSav|
00006b60  65 0d 2c 9c 10 20 20 c9  20 32 3a f2 4d 45 64 69  |e.,..  . 2:.MEdi|
00006b70  74 0d 2c a6 12 20 20 c9  20 33 3a f2 4d 53 65 6c  |t.,..  . 3:.MSel|
00006b80  65 63 74 0d 2c b0 10 20  20 c9 20 34 3a f2 4d 5a  |ect.,..  . 4:.MZ|
00006b90  6f 6f 6d 0d 2c ba 10 20  20 c9 20 35 3a f2 4d 4c  |oom.,..  . 5:.ML|
00006ba0  6f 6f 70 0d 2c c4 13 20  20 c9 20 36 3a f2 4d 47  |oop.,..  . 6:.MG|
00006bb0  6f 6f 64 69 65 73 0d 2c  ce 10 20 20 c9 20 37 3a  |oodies.,..  . 7:|
00006bc0  f2 4d 53 6f 6e 67 0d 2c  d8 05 cb 0d 2c e2 05 e1  |.MSong.,....,...|
00006bd0  0d 2c ec 04 0d 2c f6 0b  dd f2 4d 53 6f 6e 67 0d  |.,...,....MSong.|
00006be0  2d 00 11 6d 25 3d 70 6f  6c 6c 65 64 62 25 21 34  |-..m%=polledb%!4|
00006bf0  0d 2d 0a 0b c8 8e 20 6d  25 20 ca 0d 2d 14 13 20  |.-.... m% ..-.. |
00006c00  20 c9 20 30 3a f2 50 6c  61 79 53 6f 6e 67 0d 2d  | . 0:.PlaySong.-|
00006c10  1e 13 20 20 c9 20 31 3a  f2 4f 70 65 6e 53 6f 6e  |..  . 1:.OpenSon|
00006c20  67 0d 2d 28 14 20 20 c9  20 34 3a f2 43 6c 65 61  |g.-(.  . 4:.Clea|
00006c30  72 53 6f 6e 67 0d 2d 32  16 20 20 c9 20 35 3a f2  |rSong.-2.  . 5:.|
00006c40  53 77 61 70 53 6f 6e 67  52 65 70 0d 2d 3c 05 cb  |SwapSongRep.-<..|
00006c50  0d 2d 46 05 e1 0d 2d 50  04 0d 2d 5a 11 dd f2 53  |.-F...-P..-Z...S|
00006c60  77 61 70 53 6f 6e 67 52  65 70 0d 2d 64 17 73 6f  |wapSongRep.-d.so|
00006c70  6e 67 72 65 70 25 3d ac  20 73 6f 6e 67 72 65 70  |ngrep%=. songrep|
00006c80  25 0d 2d 6e 0d f2 41 64  6a 53 6f 6e 67 4d 0d 2d  |%.-n..AdjSongM.-|
00006c90  78 05 e1 0d 2d 82 04 0d  2d 8c 0e dd f2 4f 70 65  |x...-...-....Ope|
00006ca0  6e 53 6f 6e 67 0d 2d 96  13 74 65 6d 70 25 21 30  |nSong.-..temp%!0|
00006cb0  3d 77 73 6f 6e 67 68 25  0d 2d a0 22 c8 99 22 57  |=wsongh%.-.".."W|
00006cc0  69 6d 70 5f 47 65 74 57  69 6e 64 6f 77 53 74 61  |imp_GetWindowSta|
00006cd0  74 65 22 2c 2c 74 65 6d  70 25 0d 2d aa 0f 74 65  |te",,temp%.-..te|
00006ce0  6d 70 25 21 32 38 3d 2d  31 0d 2d b4 1e c8 99 22  |mp%!28=-1.-...."|
00006cf0  57 69 6d 70 5f 4f 70 65  6e 57 69 6e 64 6f 77 22  |Wimp_OpenWindow"|
00006d00  2c 2c 74 65 6d 70 25 0d  2d be 18 74 65 6d 70 32  |,,temp%.-..temp2|
00006d10  25 21 30 3d 77 73 6f 6e  67 70 61 6e 65 68 25 0d  |%!0=wsongpaneh%.|
00006d20  2d c8 23 c8 99 22 57 69  6d 70 5f 47 65 74 57 69  |-.#.."Wimp_GetWi|
00006d30  6e 64 6f 77 53 74 61 74  65 22 2c 2c 74 65 6d 70  |ndowState",,temp|
00006d40  32 25 0d 2d d2 14 74 65  6d 70 32 25 21 34 3d 74  |2%.-..temp2%!4=t|
00006d50  65 6d 70 25 21 34 0d 2d  dc 16 74 65 6d 70 32 25  |emp%!4.-..temp2%|
00006d60  21 31 32 3d 74 65 6d 70  25 21 31 32 0d 2d e6 16  |!12=temp%!12.-..|
00006d70  74 65 6d 70 32 25 21 31  36 3d 74 65 6d 70 25 21  |temp2%!16=temp%!|
00006d80  31 36 0d 2d f0 18 74 65  6d 70 32 25 21 38 3d 74  |16.-..temp2%!8=t|
00006d90  65 6d 70 25 21 31 36 2d  38 34 0d 2d fa 10 74 65  |emp%!16-84.-..te|
00006da0  6d 70 32 25 21 32 38 3d  2d 31 0d 2e 04 1f c8 99  |mp2%!28=-1......|
00006db0  22 57 69 6d 70 5f 4f 70  65 6e 57 69 6e 64 6f 77  |"Wimp_OpenWindow|
00006dc0  22 2c 2c 74 65 6d 70 32  25 0d 2e 0e 05 e1 0d 2e  |",,temp2%.......|
00006dd0  18 04 0d 2e 22 0e dd f2  50 6c 61 79 53 6f 6e 67  |...."...PlaySong|
00006de0  0d 2e 2c 12 e7 20 73 6f  6e 67 6c 65 6e 25 3e 30  |..,.. songlen%>0|
00006df0  20 8c 0d 2e 36 38 20 20  c8 99 22 53 46 58 4d 50  | ...68  .."SFXMP|
00006e00  5f 53 74 6f 70 22 2c 31  3a c8 99 22 53 46 58 4d  |_Stop",1:.."SFXM|
00006e10  50 5f 53 74 6f 70 22 2c  32 3a c8 99 22 53 46 58  |P_Stop",2:.."SFX|
00006e20  4d 50 5f 53 74 6f 70 22  2c 33 0d 2e 40 0a 20 20  |MP_Stop",3..@.  |
00006e30  c8 a0 20 32 0d 2e 4a 16  20 20 c8 a1 20 32 2c 22  |.. 2..J.  .. 2,"|
00006e40  53 46 58 4d 56 6f 69 63  65 22 0d 2e 54 50 20 20  |SFXMVoice"..TP  |
00006e50  c8 99 22 53 46 58 4d 50  5f 50 6c 61 79 53 6f 6e  |.."SFXMP_PlaySon|
00006e60  67 22 2c 73 6f 6e 67 73  74 61 72 74 25 2c 73 6f  |g",songstart%,so|
00006e70  6e 67 6c 65 6e 25 2c 73  74 61 72 74 73 61 6d 70  |nglen%,startsamp|
00006e80  6c 65 25 2c 31 2c 73 74  79 70 65 25 2b 28 73 6f  |le%,1,stype%+(so|
00006e90  6e 67 72 65 70 25 3c 3c  38 29 0d 2e 5e 05 cd 0d  |ngrep%<<8)..^...|
00006ea0  2e 68 05 e1 0d 2e 72 04  0d 2e 7c 0b dd f2 4d 49  |.h....r...|...MI|
00006eb0  6e 66 6f 0d 2e 86 11 6d  25 3d 70 6f 6c 6c 65 64  |nfo....m%=polled|
00006ec0  62 25 21 34 0d 2e 90 0b  c8 8e 20 6d 25 20 ca 0d  |b%!4...... m% ..|
00006ed0  2e 9a 10 20 20 c9 20 31  3a f2 4d 54 79 70 65 0d  |...  . 1:.MType.|
00006ee0  2e a4 11 20 20 c9 20 32  3a f2 53 65 74 42 75 66  |...  . 2:.SetBuf|
00006ef0  0d 2e ae 13 20 20 c9 20  33 3a f2 43 6c 65 61 72  |....  . 3:.Clear|
00006f00  41 6c 6c 0d 2e b8 05 cb  0d 2e c2 05 e1 0d 2e cc  |All.............|
00006f10  04 0d 2e d6 0c dd f2 53  65 74 42 75 66 0d 2e e0  |.......SetBuf...|
00006f20  36 c8 99 22 53 46 58 4d  50 5f 53 74 6f 70 22 2c  |6.."SFXMP_Stop",|
00006f30  31 3a c8 99 22 53 46 58  4d 50 5f 53 74 6f 70 22  |1:.."SFXMP_Stop"|
00006f40  2c 32 3a c8 99 22 53 46  58 4d 50 5f 53 74 6f 70  |,2:.."SFXMP_Stop|
00006f50  22 2c 33 0d 2e ea 23 6e  65 77 62 6c 65 6e 25 3d  |",3...#newblen%=|
00006f60  31 30 32 34 2a bb 28 24  28 6d 62 75 66 6c 65 6e  |1024*.($(mbuflen|
00006f70  25 21 34 30 29 29 0d 2e  f4 23 e7 20 6e 65 77 62  |%!40))...#. newb|
00006f80  6c 65 6e 25 3c 31 30 32  34 20 8c 20 6e 65 77 62  |len%<1024 . newb|
00006f90  6c 65 6e 25 3d 31 30 32  34 0d 2e fe 08 62 25 3d  |len%=1024....b%=|
00006fa0  31 0d 2f 08 18 e7 20 6e  65 77 62 6c 65 6e 25 3c  |1./... newblen%<|
00006fb0  62 75 66 6c 65 6e 25 20  8c 0d 2f 12 0f 20 20 74  |buflen% ../..  t|
00006fc0  65 6d 70 25 21 30 3d 30  0d 2f 1c 34 20 20 24 28  |emp%!0=0./.4  $(|
00006fd0  74 65 6d 70 25 2b 34 29  3d 22 59 6f 75 20 77 69  |temp%+4)="You wi|
00006fe0  6c 6c 20 6c 6f 73 65 20  74 68 65 20 63 75 72 72  |ll lose the curr|
00006ff0  65 6e 74 20 73 61 6d 70  6c 65 2e 22 0d 2f 26 35  |ent sample."./&5|
00007000  20 20 c8 99 22 57 69 6d  70 5f 52 65 70 6f 72 74  |  .."Wimp_Report|
00007010  45 72 72 6f 72 22 2c 74  65 6d 70 25 2c 25 31 30  |Error",temp%,%10|
00007020  30 31 31 2c 22 43 6f 6e  66 69 72 6d 22 b8 2c 62  |011,"Confirm".,b|
00007030  25 0d 2f 30 05 cd 0d 2f  3a 0c e7 20 62 25 3d 31  |%./0.../:.. b%=1|
00007040  20 8c 0d 2f 44 31 20 20  c8 99 22 58 4f 53 5f 4d  | ../D1  .."XOS_M|
00007050  6f 64 75 6c 65 22 2c 36  2c 2c 2c 6e 65 77 62 6c  |odule",6,,,newbl|
00007060  65 6e 25 b8 2c 2c 6e 65  77 62 73 74 61 72 74 25  |en%.,,newbstart%|
00007070  3b 76 25 0d 2f 4e 0e 20  20 e7 20 76 25 80 31 20  |;v%./N.  . v%.1 |
00007080  8c 0d 2f 58 29 20 20 20  20 f2 52 65 70 6f 72 74  |../X)    .Report|
00007090  45 72 72 28 22 43 61 6e  27 74 20 63 6c 61 69 6d  |Err("Can't claim|
000070a0  20 6d 65 6d 6f 72 79 2e  22 29 0d 2f 62 07 20 20  | memory.")./b.  |
000070b0  cc 0d 2f 6c 1c 20 20 20  20 e7 20 6e 65 77 62 6c  |../l.    . newbl|
000070c0  65 6e 25 3c 62 75 66 6c  65 6e 25 20 8c 0d 2f 76  |en%<buflen% ../v|
000070d0  25 20 20 20 20 20 20 c8  99 22 58 4f 53 5f 4d 6f  |%      .."XOS_Mo|
000070e0  64 75 6c 65 22 2c 37 2c  2c 62 75 66 73 74 61 72  |dule",7,,bufstar|
000070f0  74 25 0d 2f 80 1e 20 20  20 20 20 20 62 75 66 73  |t%./..      bufs|
00007100  74 61 72 74 25 3d 6e 65  77 62 73 74 61 72 74 25  |tart%=newbstart%|
00007110  0d 2f 8a 1a 20 20 20 20  20 20 62 75 66 6c 65 6e  |./..      buflen|
00007120  25 3d 6e 65 77 62 6c 65  6e 25 0d 2f 94 10 20 20  |%=newblen%./..  |
00007130  20 20 20 20 f2 43 6c 65  61 72 0d 2f 9e 09 20 20  |    .Clear./..  |
00007140  20 20 cc 0d 2f a8 23 20  20 20 20 20 20 63 68 62  |  ../.#      chb|
00007150  25 3d 6e 65 77 62 73 74  61 72 74 25 2d 62 75 66  |%=newbstart%-buf|
00007160  73 74 61 72 74 25 0d 2f  b2 16 20 20 20 20 20 20  |start%./..      |
00007170  41 25 3d 62 75 66 73 74  61 72 74 25 0d 2f bc 17  |A%=bufstart%./..|
00007180  20 20 20 20 20 20 42 25  3d 6e 65 77 62 73 74 61  |      B%=newbsta|
00007190  72 74 25 0d 2f c6 2e 20  20 20 20 20 20 43 25 3d  |rt%./..      C%=|
000071a0  73 74 61 72 74 73 61 6d  70 6c 65 25 2b 73 61 6d  |startsample%+sam|
000071b0  70 6c 65 6c 65 6e 25 2d  62 75 66 73 74 61 72 74  |plelen%-bufstart|
000071c0  25 0d 2f d0 12 20 20 20  20 20 20 d6 63 6f 70 79  |%./..      .copy|
000071d0  6d 65 6d 0d 2f da 18 20  20 20 20 20 20 41 25 3d  |mem./..      A%=|
000071e0  63 6c 69 70 62 73 74 61  72 74 25 0d 2f e4 2a 20  |clipbstart%./.* |
000071f0  20 20 20 20 20 42 25 3d  6e 65 77 62 73 74 61 72  |     B%=newbstar|
00007200  74 25 2b 6e 65 77 62 6c  65 6e 25 2d 63 6c 69 70  |t%+newblen%-clip|
00007210  62 6c 65 6e 25 0d 2f ee  16 20 20 20 20 20 20 43  |blen%./..      C|
00007220  25 3d 63 6c 69 70 62 6c  65 6e 25 0d 2f f8 12 20  |%=clipblen%./.. |
00007230  20 20 20 20 20 d6 63 6f  70 79 6d 65 6d 0d 30 02  |     .copymem.0.|
00007240  28 20 20 20 20 20 20 73  74 61 72 74 73 61 6d 70  |(      startsamp|
00007250  6c 65 25 3d 73 74 61 72  74 73 61 6d 70 6c 65 25  |le%=startsample%|
00007260  2b 63 68 62 25 0d 30 0c  25 20 20 20 20 20 20 c8  |+chb%.0.%      .|
00007270  99 22 58 4f 53 5f 4d 6f  64 75 6c 65 22 2c 37 2c  |."XOS_Module",7,|
00007280  2c 62 75 66 73 74 61 72  74 25 0d 30 16 1e 20 20  |,bufstart%.0..  |
00007290  20 20 20 20 62 75 66 73  74 61 72 74 25 3d 6e 65  |    bufstart%=ne|
000072a0  77 62 73 74 61 72 74 25  0d 30 20 1a 20 20 20 20  |wbstart%.0 .    |
000072b0  20 20 62 75 66 6c 65 6e  25 3d 6e 65 77 62 6c 65  |  buflen%=newble|
000072c0  6e 25 0d 30 2a 09 20 20  20 20 cd 0d 30 34 07 20  |n%.0*.    ..04. |
000072d0  20 cd 0d 30 3e 05 cd 0d  30 48 05 e1 0d 30 52 04  | ..0>...0H...0R.|
000072e0  0d 30 5c 0e dd f2 43 6c  65 61 72 41 6c 6c 0d 30  |.0\...ClearAll.0|
000072f0  66 17 e7 20 73 61 6d 70  6c 65 73 61 76 65 64 25  |f.. samplesaved%|
00007300  3d 2d 31 20 8c 0d 30 70  0c 20 20 f2 43 6c 65 61  |=-1 ..0p.  .Clea|
00007310  72 0d 30 7a 05 cc 0d 30  84 50 20 20 41 25 3d a4  |r.0z...0.P  A%=.|
00007320  43 6f 6e 66 69 72 6d 28  22 53 61 6d 70 6c 65 20  |Confirm("Sample |
00007330  68 61 73 20 62 65 65 6e  20 6d 6f 64 69 66 69 65  |has been modifie|
00007340  64 2e 20 41 72 65 20 79  6f 75 20 73 75 72 65 20  |d. Are you sure |
00007350  79 6f 75 20 77 61 6e 74  20 74 6f 20 64 6f 20 74  |you want to do t|
00007360  68 69 73 3f 22 29 0d 30  8e 15 20 20 e7 20 41 25  |his?").0..  . A%|
00007370  3d 31 20 8c 20 f2 43 6c  65 61 72 0d 30 98 05 cd  |=1 . .Clear.0...|
00007380  0d 30 a2 05 e1 0d 30 ac  04 0d 30 b6 0b dd f2 43  |.0....0...0....C|
00007390  6c 65 61 72 0d 30 c0 0c  f2 52 65 73 74 61 72 74  |lear.0...Restart|
000073a0  0d 30 ca 13 74 65 6d 70  25 21 30 3d 77 77 6f 72  |.0..temp%!0=wwor|
000073b0  6b 68 25 0d 30 d4 22 c8  99 22 57 69 6d 70 5f 47  |kh%.0.".."Wimp_G|
000073c0  65 74 57 69 6e 64 6f 77  53 74 61 74 65 22 2c 2c  |etWindowState",,|
000073d0  74 65 6d 70 25 0d 30 de  11 70 6f 6c 6c 65 64 62  |temp%.0..polledb|
000073e0  25 21 32 30 3d 30 0d 30  e8 1e c8 99 22 57 69 6d  |%!20=0.0...."Wim|
000073f0  70 5f 4f 70 65 6e 57 69  6e 64 6f 77 22 2c 2c 74  |p_OpenWindow",,t|
00007400  65 6d 70 25 0d 30 f2 0e  f2 53 65 74 45 78 74 65  |emp%.0...SetExte|
00007410  6e 74 0d 30 fc 12 f2 53  65 74 53 6f 6e 67 45 78  |nt.0...SetSongEx|
00007420  74 65 6e 74 0d 31 06 1d  24 28 77 77 6f 72 6b 25  |tent.1..$(wwork%|
00007430  21 37 32 29 3d 22 3c 55  6e 74 69 74 6c 65 64 3e  |!72)="<Untitled>|
00007440  22 0d 31 10 13 73 61 6d  70 6c 65 73 61 76 65 64  |".1..samplesaved|
00007450  25 3d 2d 31 0d 31 1a 0b  f2 52 64 57 6f 72 6b 0d  |%=-1.1...RdWork.|
00007460  31 24 05 e1 0d 31 2e 04  0d 31 38 0b dd f2 4d 53  |1$...1...18...MS|
00007470  61 76 65 0d 31 42 05 e1  0d 31 4c 04 0d 31 56 0b  |ave.1B...1L..1V.|
00007480  dd f2 4d 54 79 70 65 0d  31 60 13 c8 8e 20 70 6f  |..MType.1`... po|
00007490  6c 6c 65 64 62 25 21 38  20 ca 0d 31 6a 24 20 20  |lledb%!8 ..1j$  |
000074a0  c9 20 30 3a 73 74 79 70  65 25 3d 32 3a f2 41 64  |. 0:stype%=2:.Ad|
000074b0  6a 54 79 70 65 4d 3a f2  52 64 57 6f 72 6b 0d 31  |jTypeM:.RdWork.1|
000074c0  74 24 20 20 c9 20 31 3a  73 74 79 70 65 25 3d 30  |t$  . 1:stype%=0|
000074d0  3a f2 41 64 6a 54 79 70  65 4d 3a f2 52 64 57 6f  |:.AdjTypeM:.RdWo|
000074e0  72 6b 0d 31 7e 24 20 20  c9 20 32 3a 73 74 79 70  |rk.1~$  . 2:styp|
000074f0  65 25 3d 31 3a f2 41 64  6a 54 79 70 65 4d 3a f2  |e%=1:.AdjTypeM:.|
00007500  52 64 57 6f 72 6b 0d 31  88 05 cb 0d 31 92 05 e1  |RdWork.1....1...|
00007510  0d 31 9c 04 0d 31 a6 0e  dd f2 41 64 6a 54 79 70  |.1...1....AdjTyp|
00007520  65 4d 0d 31 b0 0f c8 8e  20 73 74 79 70 65 25 20  |eM.1.... stype% |
00007530  ca 0d 31 ba 53 20 20 c9  20 30 3a 74 79 70 65 6d  |..1.S  . 0:typem|
00007540  65 6e 75 25 21 28 32 38  2b 32 34 2a 30 2b 30 29  |enu%!(28+24*0+0)|
00007550  3d 30 3a 74 79 70 65 6d  65 6e 75 25 21 28 32 38  |=0:typemenu%!(28|
00007560  2b 32 34 2a 31 2b 30 29  3d 31 3a 74 79 70 65 6d  |+24*1+0)=1:typem|
00007570  65 6e 75 25 21 28 32 38  2b 32 34 2a 32 2b 30 29  |enu%!(28+24*2+0)|
00007580  3d 31 32 38 0d 31 c4 53  20 20 c9 20 31 3a 74 79  |=128.1.S  . 1:ty|
00007590  70 65 6d 65 6e 75 25 21  28 32 38 2b 32 34 2a 30  |pemenu%!(28+24*0|
000075a0  2b 30 29 3d 30 3a 74 79  70 65 6d 65 6e 75 25 21  |+0)=0:typemenu%!|
000075b0  28 32 38 2b 32 34 2a 31  2b 30 29 3d 30 3a 74 79  |(28+24*1+0)=0:ty|
000075c0  70 65 6d 65 6e 75 25 21  28 32 38 2b 32 34 2a 32  |pemenu%!(28+24*2|
000075d0  2b 30 29 3d 31 32 39 0d  31 ce 53 20 20 c9 20 32  |+0)=129.1.S  . 2|
000075e0  3a 74 79 70 65 6d 65 6e  75 25 21 28 32 38 2b 32  |:typemenu%!(28+2|
000075f0  34 2a 30 2b 30 29 3d 31  3a 74 79 70 65 6d 65 6e  |4*0+0)=1:typemen|
00007600  75 25 21 28 32 38 2b 32  34 2a 31 2b 30 29 3d 30  |u%!(28+24*1+0)=0|
00007610  3a 74 79 70 65 6d 65 6e  75 25 21 28 32 38 2b 32  |:typemenu%!(28+2|
00007620  34 2a 32 2b 30 29 3d 31  32 38 0d 31 d8 05 cb 0d  |4*2+0)=128.1....|
00007630  31 e2 05 e1 0d 31 ec 04  0d 31 f6 0e dd f2 41 64  |1....1...1....Ad|
00007640  6a 53 6f 6e 67 4d 0d 32  00 42 e7 20 73 6f 6e 67  |jSongM.2.B. song|
00007650  72 65 70 25 20 8c 20 73  6f 6e 67 6d 65 6e 75 25  |rep% . songmenu%|
00007660  21 28 32 38 2b 32 34 2a  35 29 3d 31 32 39 20 8b  |!(28+24*5)=129 .|
00007670  20 73 6f 6e 67 6d 65 6e  75 25 21 28 32 38 2b 32  | songmenu%!(28+2|
00007680  34 2a 35 29 3d 31 32 38  0d 32 0a 05 e1 0d 32 14  |4*5)=128.2....2.|
00007690  04 0d 32 1e 0b dd f2 4d  45 64 69 74 0d 32 28 23  |..2....MEdit.2(#|
000076a0  e7 20 73 65 6c 65 63 74  6c 25 3c 3e 2d 31 20 80  |. selectl%<>-1 .|
000076b0  20 73 65 6c 65 63 74 72  25 3c 3e 2d 31 20 8c 0d  | selectr%<>-1 ..|
000076c0  32 32 13 20 20 6d 25 3d  70 6f 6c 6c 65 64 62 25  |22.  m%=polledb%|
000076d0  21 34 0d 32 3c 0d 20 20  c8 8e 20 6d 25 20 ca 0d  |!4.2<.  .. m% ..|
000076e0  32 46 12 20 20 20 20 c9  20 30 3a f2 4d 45 43 75  |2F.    . 0:.MECu|
000076f0  74 0d 32 50 13 20 20 20  20 c9 20 31 3a f2 4d 45  |t.2P.    . 1:.ME|
00007700  43 6f 70 79 0d 32 5a 14  20 20 20 20 c9 20 32 3a  |Copy.2Z.    . 2:|
00007710  f2 4d 45 50 61 73 74 65  0d 32 64 15 20 20 20 20  |.MEPaste.2d.    |
00007720  c9 20 33 3a f2 4d 45 44  65 6c 65 74 65 0d 32 6e  |. 3:.MEDelete.2n|
00007730  17 20 20 20 20 c9 20 34  3a f2 4d 45 44 65 6c 65  |.    . 4:.MEDele|
00007740  74 65 4e 53 0d 32 78 16  20 20 20 20 c9 20 35 3a  |teNS.2x.    . 5:|
00007750  f2 4d 45 44 65 6c 65 74  65 4c 0d 32 82 16 20 20  |.MEDeleteL.2..  |
00007760  20 20 c9 20 36 3a f2 4d  45 44 65 6c 65 74 65 52  |  . 6:.MEDeleteR|
00007770  0d 32 8c 07 20 20 cb 0d  32 96 05 cd 0d 32 a0 05  |.2..  ..2....2..|
00007780  e1 0d 32 aa 04 0d 32 b4  0b dd f2 4d 45 43 75 74  |..2...2....MECut|
00007790  0d 32 be 43 63 25 3d a4  43 68 65 63 6b 4c 65 6e  |.2.Cc%=.CheckLen|
000077a0  28 73 61 6d 70 6c 65 6c  65 6e 25 2b 70 73 65 6c  |(samplelen%+psel|
000077b0  65 63 74 72 25 2d 70 73  65 6c 65 63 74 6c 25 2c  |ectr%-pselectl%,|
000077c0  22 4e 6f 20 72 6f 6f 6d  20 66 6f 72 20 63 75 74  |"No room for cut|
000077d0  2e 22 29 0d 32 c8 0c e7  20 63 25 3d 30 20 8c 0d  |.").2... c%=0 ..|
000077e0  32 d2 1f 20 20 41 25 3d  73 74 61 72 74 73 61 6d  |2..  A%=startsam|
000077f0  70 6c 65 25 2b 70 73 65  6c 65 63 74 6c 25 0d 32  |ple%+pselectl%.2|
00007800  dc 30 20 20 42 25 3d 62  75 66 73 74 61 72 74 25  |.0  B%=bufstart%|
00007810  2b 62 75 66 6c 65 6e 25  2d 28 70 73 65 6c 65 63  |+buflen%-(pselec|
00007820  74 72 25 2d 70 73 65 6c  65 63 74 6c 25 29 0d 32  |tr%-pselectl%).2|
00007830  e6 1c 20 20 43 25 3d 70  73 65 6c 65 63 74 72 25  |..  C%=pselectr%|
00007840  2d 70 73 65 6c 65 63 74  6c 25 0d 32 f0 0e 20 20  |-pselectl%.2..  |
00007850  d6 63 6f 70 79 6d 65 6d  0d 32 fa 14 20 20 63 6c  |.copymem.2..  cl|
00007860  69 70 62 73 74 61 72 74  25 3d 42 25 0d 33 04 12  |ipbstart%=B%.3..|
00007870  20 20 63 6c 69 70 62 6c  65 6e 25 3d 43 25 0d 33  |  clipblen%=C%.3|
00007880  0e 0f 20 20 f2 4d 45 44  65 6c 65 74 65 0d 33 18  |..  .MEDelete.3.|
00007890  12 20 20 f2 4d 6f 64 54  69 74 6c 65 28 30 29 0d  |.  .ModTitle(0).|
000078a0  33 22 05 cd 0d 33 2c 05  e1 0d 33 36 04 0d 33 40  |3"...3,...36..3@|
000078b0  0c dd f2 4d 45 43 6f 70  79 0d 33 4a 44 63 25 3d  |...MECopy.3JDc%=|
000078c0  a4 43 68 65 63 6b 4c 65  6e 28 73 61 6d 70 6c 65  |.CheckLen(sample|
000078d0  6c 65 6e 25 2b 70 73 65  6c 65 63 74 72 25 2d 70  |len%+pselectr%-p|
000078e0  73 65 6c 65 63 74 6c 25  2c 22 4e 6f 20 72 6f 6f  |selectl%,"No roo|
000078f0  6d 20 66 6f 72 20 63 6f  70 79 2e 22 29 0d 33 54  |m for copy.").3T|
00007900  0c e7 20 63 25 3d 30 20  8c 0d 33 5e 1f 20 20 41  |.. c%=0 ..3^.  A|
00007910  25 3d 73 74 61 72 74 73  61 6d 70 6c 65 25 2b 70  |%=startsample%+p|
00007920  73 65 6c 65 63 74 6c 25  0d 33 68 30 20 20 42 25  |selectl%.3h0  B%|
00007930  3d 62 75 66 73 74 61 72  74 25 2b 62 75 66 6c 65  |=bufstart%+bufle|
00007940  6e 25 2d 28 70 73 65 6c  65 63 74 72 25 2d 70 73  |n%-(pselectr%-ps|
00007950  65 6c 65 63 74 6c 25 29  0d 33 72 1c 20 20 43 25  |electl%).3r.  C%|
00007960  3d 70 73 65 6c 65 63 74  72 25 2d 70 73 65 6c 65  |=pselectr%-psele|
00007970  63 74 6c 25 0d 33 7c 0e  20 20 d6 63 6f 70 79 6d  |ctl%.3|.  .copym|
00007980  65 6d 0d 33 86 14 20 20  63 6c 69 70 62 73 74 61  |em.3..  clipbsta|
00007990  72 74 25 3d 42 25 0d 33  90 12 20 20 63 6c 69 70  |rt%=B%.3..  clip|
000079a0  62 6c 65 6e 25 3d 43 25  0d 33 9a 05 cd 0d 33 a4  |blen%=C%.3....3.|
000079b0  05 e1 0d 33 ae 04 0d 33  b8 0d dd f2 4d 45 50 61  |...3...3....MEPa|
000079c0  73 74 65 0d 33 c2 3d 63  25 3d a4 43 68 65 63 6b  |ste.3.=c%=.Check|
000079d0  4c 65 6e 28 73 61 6d 70  6c 65 6c 65 6e 25 2b 32  |Len(samplelen%+2|
000079e0  2a 63 6c 69 70 62 6c 65  6e 25 2c 22 4e 6f 20 72  |*clipblen%,"No r|
000079f0  6f 6f 6d 20 66 6f 72 20  70 61 73 74 65 2e 22 29  |oom for paste.")|
00007a00  0d 33 cc 0c e7 20 63 25  3d 30 20 8c 0d 33 d6 1f  |.3... c%=0 ..3..|
00007a10  20 20 41 25 3d 73 74 61  72 74 73 61 6d 70 6c 65  |  A%=startsample|
00007a20  25 2b 70 73 65 6c 65 63  74 72 25 0d 33 e0 29 20  |%+pselectr%.3.) |
00007a30  20 42 25 3d 73 74 61 72  74 73 61 6d 70 6c 65 25  | B%=startsample%|
00007a40  2b 70 73 65 6c 65 63 74  72 25 2b 63 6c 69 70 62  |+pselectr%+clipb|
00007a50  6c 65 6e 25 0d 33 ea 1d  20 20 43 25 3d 73 61 6d  |len%.3..  C%=sam|
00007a60  70 6c 65 6c 65 6e 25 2d  70 73 65 6c 65 63 74 72  |plelen%-pselectr|
00007a70  25 0d 33 f4 0e 20 20 d6  63 6f 70 79 6d 65 6d 0d  |%.3..  .copymem.|
00007a80  33 fe 14 20 20 41 25 3d  63 6c 69 70 62 73 74 61  |3..  A%=clipbsta|
00007a90  72 74 25 0d 34 08 1f 20  20 42 25 3d 73 74 61 72  |rt%.4..  B%=star|
00007aa0  74 73 61 6d 70 6c 65 25  2b 70 73 65 6c 65 63 74  |tsample%+pselect|
00007ab0  72 25 0d 34 12 12 20 20  43 25 3d 63 6c 69 70 62  |r%.4..  C%=clipb|
00007ac0  6c 65 6e 25 0d 34 1c 0e  20 20 d6 63 6f 70 79 6d  |len%.4..  .copym|
00007ad0  65 6d 0d 34 26 35 20 20  e7 20 70 6c 6f 6f 70 6c  |em.4&5  . ploopl|
00007ae0  25 3e 70 73 65 6c 65 63  74 72 25 20 8c 20 70 6c  |%>pselectr% . pl|
00007af0  6f 6f 70 6c 25 3d 70 6c  6f 6f 70 6c 25 2b 63 6c  |oopl%=ploopl%+cl|
00007b00  69 70 62 6c 65 6e 25 0d  34 30 35 20 20 e7 20 70  |ipblen%.405  . p|
00007b10  6c 6f 6f 70 72 25 3e 70  73 65 6c 65 63 74 72 25  |loopr%>pselectr%|
00007b20  20 8c 20 70 6c 6f 6f 70  72 25 3d 70 6c 6f 6f 70  | . ploopr%=ploop|
00007b30  72 25 2b 63 6c 69 70 62  6c 65 6e 25 0d 34 3a 0e  |r%+clipblen%.4:.|
00007b40  20 20 f2 67 65 74 77 69  6e 70 0d 34 44 25 20 20  |  .getwinp.4D%  |
00007b50  73 61 6d 70 6c 65 6c 65  6e 25 3d 73 61 6d 70 6c  |samplelen%=sampl|
00007b60  65 6c 65 6e 25 2b 63 6c  69 70 62 6c 65 6e 25 0d  |elen%+clipblen%.|
00007b70  34 4e 45 20 20 e7 20 73  61 6d 70 6c 65 6c 65 6e  |4NE  . samplelen|
00007b80  25 3c 31 20 8c 20 73 61  6d 70 6c 65 6c 65 6e 25  |%<1 . samplelen%|
00007b90  3d 31 3a 73 74 61 72 74  73 61 6d 70 6c 65 25 3f  |=1:startsample%?|
00007ba0  30 3d 30 3a 73 74 61 72  74 73 61 6d 70 6c 65 25  |0=0:startsample%|
00007bb0  3f 31 3d 30 0d 34 58 10  20 20 f2 43 68 65 63 6b  |?1=0.4X.  .Check|
00007bc0  4c 6f 6f 70 0d 34 62 10  20 20 f2 43 68 65 63 6b  |Loop.4b.  .Check|
00007bd0  53 6f 6e 67 0d 34 6c 0e  20 20 f2 61 64 6a 70 74  |Song.4l.  .adjpt|
00007be0  72 73 0d 34 76 0e 20 20  f2 5a 6f 6f 6d 53 65 6c  |rs.4v.  .ZoomSel|
00007bf0  0d 34 80 12 20 20 f2 4d  6f 64 54 69 74 6c 65 28  |.4..  .ModTitle(|
00007c00  30 29 0d 34 8a 05 cd 0d  34 94 05 e1 0d 34 9e 04  |0).4....4....4..|
00007c10  0d 34 a8 15 dd a4 43 68  65 63 6b 4c 65 6e 28 6c  |.4....CheckLen(l|
00007c20  25 2c 65 24 29 0d 34 b2  2a e7 20 73 74 61 72 74  |%,e$).4.*. start|
00007c30  73 61 6d 70 6c 65 25 2b  6c 25 3e 3d 62 75 66 73  |sample%+l%>=bufs|
00007c40  74 61 72 74 25 2b 62 75  66 6c 65 6e 25 20 8c 0d  |tart%+buflen% ..|
00007c50  34 bc 14 20 20 f2 52 65  70 6f 72 74 45 72 72 28  |4..  .ReportErr(|
00007c60  65 24 29 0d 34 c6 0b 20  20 41 25 3d 2d 31 0d 34  |e$).4..  A%=-1.4|
00007c70  d0 05 cc 0d 34 da 0a 20  20 41 25 3d 30 0d 34 e4  |....4..  A%=0.4.|
00007c80  05 cd 0d 34 ee 07 3d 41  25 0d 34 f8 04 0d 35 02  |...4..=A%.4...5.|
00007c90  0e dd f2 4d 45 44 65 6c  65 74 65 0d 35 0c 1d 41  |...MEDelete.5..A|
00007ca0  25 3d 73 74 61 72 74 73  61 6d 70 6c 65 25 2b 70  |%=startsample%+p|
00007cb0  73 65 6c 65 63 74 72 25  0d 35 16 1d 42 25 3d 73  |selectr%.5..B%=s|
00007cc0  74 61 72 74 73 61 6d 70  6c 65 25 2b 70 73 65 6c  |tartsample%+psel|
00007cd0  65 63 74 6c 25 0d 35 20  1b 43 25 3d 73 61 6d 70  |ectl%.5 .C%=samp|
00007ce0  6c 65 6c 65 6e 25 2d 70  73 65 6c 65 63 74 72 25  |lelen%-pselectr%|
00007cf0  0d 35 2a 0c d6 63 6f 70  79 6d 65 6d 0d 35 34 3f  |.5*..copymem.54?|
00007d00  e7 20 70 6c 6f 6f 70 6c  25 3e 70 73 65 6c 65 63  |. ploopl%>pselec|
00007d10  74 6c 25 20 8c 20 70 6c  6f 6f 70 6c 25 3d 70 6c  |tl% . ploopl%=pl|
00007d20  6f 6f 70 6c 25 2d 28 70  73 65 6c 65 63 74 72 25  |oopl%-(pselectr%|
00007d30  2d 70 73 65 6c 65 63 74  6c 25 29 0d 35 3e 3f e7  |-pselectl%).5>?.|
00007d40  20 70 6c 6f 6f 70 72 25  3e 70 73 65 6c 65 63 74  | ploopr%>pselect|
00007d50  6c 25 20 8c 20 70 6c 6f  6f 70 72 25 3d 70 6c 6f  |l% . ploopr%=plo|
00007d60  6f 70 72 25 2d 28 70 73  65 6c 65 63 74 72 25 2d  |opr%-(pselectr%-|
00007d70  70 73 65 6c 65 63 74 6c  25 29 0d 35 48 0c f2 67  |pselectl%).5H..g|
00007d80  65 74 77 69 6e 70 0d 35  52 21 73 61 6d 70 6c 65  |etwinp.5R!sample|
00007d90  6c 65 6e 25 3d 73 61 6d  70 6c 65 6c 65 6e 25 2d  |len%=samplelen%-|
00007da0  28 41 25 2d 42 25 29 0d  35 5c 43 e7 20 73 61 6d  |(A%-B%).5\C. sam|
00007db0  70 6c 65 6c 65 6e 25 3c  31 20 8c 20 73 61 6d 70  |plelen%<1 . samp|
00007dc0  6c 65 6c 65 6e 25 3d 31  3a 73 74 61 72 74 73 61  |lelen%=1:startsa|
00007dd0  6d 70 6c 65 25 3f 30 3d  30 3a 73 74 61 72 74 73  |mple%?0=0:starts|
00007de0  61 6d 70 6c 65 25 3f 31  3d 30 0d 35 66 0e f2 43  |ample%?1=0.5f..C|
00007df0  68 65 63 6b 4c 6f 6f 70  0d 35 70 0e f2 43 68 65  |heckLoop.5p..Che|
00007e00  63 6b 53 6f 6e 67 0d 35  7a 0c f2 61 64 6a 70 74  |ckSong.5z..adjpt|
00007e10  72 73 0d 35 84 0c f2 5a  6f 6f 6d 53 65 6c 0d 35  |rs.5...ZoomSel.5|
00007e20  8e 10 f2 4d 6f 64 54 69  74 6c 65 28 30 29 0d 35  |...ModTitle(0).5|
00007e30  98 05 e1 0d 35 a2 04 0d  35 ac 10 dd f2 4d 45 44  |....5...5....MED|
00007e40  65 6c 65 74 65 4e 53 0d  35 b6 1d 41 25 3d 73 74  |eleteNS.5..A%=st|
00007e50  61 72 74 73 61 6d 70 6c  65 25 2b 70 73 65 6c 65  |artsample%+psele|
00007e60  63 74 6c 25 0d 35 c0 13  42 25 3d 73 74 61 72 74  |ctl%.5..B%=start|
00007e70  73 61 6d 70 6c 65 25 0d  35 ca 1a 43 25 3d 70 73  |sample%.5..C%=ps|
00007e80  65 6c 65 63 74 72 25 2d  70 73 65 6c 65 63 74 6c  |electr%-pselectl|
00007e90  25 0d 35 d4 0c d6 63 6f  70 79 6d 65 6d 0d 35 de  |%.5...copymem.5.|
00007ea0  1d 70 6c 6f 6f 70 6c 25  3d 70 6c 6f 6f 70 6c 25  |.ploopl%=ploopl%|
00007eb0  2d 70 73 65 6c 65 63 74  6c 25 0d 35 e8 1d 70 6c  |-pselectl%.5..pl|
00007ec0  6f 6f 70 72 25 3d 70 6c  6f 6f 70 72 25 2d 70 73  |oopr%=ploopr%-ps|
00007ed0  65 6c 65 63 74 6c 25 0d  35 f2 0c f2 67 65 74 77  |electl%.5...getw|
00007ee0  69 6e 70 0d 35 fc 11 73  61 6d 70 6c 65 6c 65 6e  |inp.5..samplelen|
00007ef0  25 3d 43 25 0d 36 06 43  e7 20 73 61 6d 70 6c 65  |%=C%.6.C. sample|
00007f00  6c 65 6e 25 3c 31 20 8c  20 73 61 6d 70 6c 65 6c  |len%<1 . samplel|
00007f10  65 6e 25 3d 31 3a 73 74  61 72 74 73 61 6d 70 6c  |en%=1:startsampl|
00007f20  65 25 3f 30 3d 30 3a 73  74 61 72 74 73 61 6d 70  |e%?0=0:startsamp|
00007f30  6c 65 25 3f 31 3d 30 0d  36 10 0e f2 43 68 65 63  |le%?1=0.6...Chec|
00007f40  6b 4c 6f 6f 70 0d 36 1a  0e f2 43 68 65 63 6b 53  |kLoop.6...CheckS|
00007f50  6f 6e 67 0d 36 24 0c f2  61 64 6a 70 74 72 73 0d  |ong.6$..adjptrs.|
00007f60  36 2e 0c f2 5a 6f 6f 6d  53 65 6c 0d 36 38 10 f2  |6...ZoomSel.68..|
00007f70  4d 6f 64 54 69 74 6c 65  28 30 29 0d 36 42 05 e1  |ModTitle(0).6B..|
00007f80  0d 36 4c 04 0d 36 56 0f  dd f2 4d 45 44 65 6c 65  |.6L..6V...MEDele|
00007f90  74 65 4c 0d 36 60 1d 41  25 3d 73 74 61 72 74 73  |teL.6`.A%=starts|
00007fa0  61 6d 70 6c 65 25 2b 70  73 65 6c 65 63 74 6c 25  |ample%+pselectl%|
00007fb0  0d 36 6a 13 42 25 3d 73  74 61 72 74 73 61 6d 70  |.6j.B%=startsamp|
00007fc0  6c 65 25 0d 36 74 1b 43  25 3d 73 61 6d 70 6c 65  |le%.6t.C%=sample|
00007fd0  6c 65 6e 25 2d 70 73 65  6c 65 63 74 6c 25 0d 36  |len%-pselectl%.6|
00007fe0  7e 0c d6 63 6f 70 79 6d  65 6d 0d 36 88 1d 70 6c  |~..copymem.6..pl|
00007ff0  6f 6f 70 6c 25 3d 70 6c  6f 6f 70 6c 25 2d 70 73  |oopl%=ploopl%-ps|
00008000  65 6c 65 63 74 6c 25 0d  36 92 1d 70 6c 6f 6f 70  |electl%.6..ploop|
00008010  72 25 3d 70 6c 6f 6f 70  72 25 2d 70 73 65 6c 65  |r%=ploopr%-psele|
00008020  63 74 6c 25 0d 36 9c 0c  f2 67 65 74 77 69 6e 70  |ctl%.6...getwinp|
00008030  0d 36 a6 11 73 61 6d 70  6c 65 6c 65 6e 25 3d 43  |.6..samplelen%=C|
00008040  25 0d 36 b0 43 e7 20 73  61 6d 70 6c 65 6c 65 6e  |%.6.C. samplelen|
00008050  25 3c 31 20 8c 20 73 61  6d 70 6c 65 6c 65 6e 25  |%<1 . samplelen%|
00008060  3d 31 3a 73 74 61 72 74  73 61 6d 70 6c 65 25 3f  |=1:startsample%?|
00008070  30 3d 30 3a 73 74 61 72  74 73 61 6d 70 6c 65 25  |0=0:startsample%|
00008080  3f 31 3d 30 0d 36 ba 0e  f2 43 68 65 63 6b 4c 6f  |?1=0.6...CheckLo|
00008090  6f 70 0d 36 c4 0e f2 43  68 65 63 6b 53 6f 6e 67  |op.6...CheckSong|
000080a0  0d 36 ce 0c f2 61 64 6a  70 74 72 73 0d 36 d8 0c  |.6...adjptrs.6..|
000080b0  f2 5a 6f 6f 6d 53 65 6c  0d 36 e2 10 f2 4d 6f 64  |.ZoomSel.6...Mod|
000080c0  54 69 74 6c 65 28 30 29  0d 36 ec 05 e1 0d 36 f6  |Title(0).6....6.|
000080d0  04 0d 37 00 0f dd f2 4d  45 44 65 6c 65 74 65 52  |..7....MEDeleteR|
000080e0  0d 37 0a 10 41 25 3d 70  73 65 6c 65 63 74 72 25  |.7..A%=pselectr%|
000080f0  0d 37 14 0c f2 67 65 74  77 69 6e 70 0d 37 1e 11  |.7...getwinp.7..|
00008100  73 61 6d 70 6c 65 6c 65  6e 25 3d 41 25 0d 37 28  |samplelen%=A%.7(|
00008110  43 e7 20 73 61 6d 70 6c  65 6c 65 6e 25 3c 31 20  |C. samplelen%<1 |
00008120  8c 20 73 61 6d 70 6c 65  6c 65 6e 25 3d 31 3a 73  |. samplelen%=1:s|
00008130  74 61 72 74 73 61 6d 70  6c 65 25 3f 30 3d 30 3a  |tartsample%?0=0:|
00008140  73 74 61 72 74 73 61 6d  70 6c 65 25 3f 31 3d 30  |startsample%?1=0|
00008150  0d 37 32 0e f2 43 68 65  63 6b 4c 6f 6f 70 0d 37  |.72..CheckLoop.7|
00008160  3c 0e f2 43 68 65 63 6b  53 6f 6e 67 0d 37 46 0c  |<..CheckSong.7F.|
00008170  f2 61 64 6a 70 74 72 73  0d 37 50 0c f2 5a 6f 6f  |.adjptrs.7P..Zoo|
00008180  6d 53 65 6c 0d 37 5a 10  f2 4d 6f 64 54 69 74 6c  |mSel.7Z..ModTitl|
00008190  65 28 30 29 0d 37 64 05  e1 0d 37 6e 04 0d 37 78  |e(0).7d...7n..7x|
000081a0  0f dd f2 43 68 65 63 6b  4c 6f 6f 70 0d 37 82 1b  |...CheckLoop.7..|
000081b0  e7 20 70 6c 6f 6f 70 6c  25 3c 30 20 8c 20 70 6c  |. ploopl%<0 . pl|
000081c0  6f 6f 70 6c 25 3d 30 0d  37 8c 2d e7 20 70 6c 6f  |oopl%=0.7.-. plo|
000081d0  6f 70 6c 25 3e 73 61 6d  70 6c 65 6c 65 6e 25 20  |opl%>samplelen% |
000081e0  8c 20 70 6c 6f 6f 70 6c  25 3d 73 61 6d 70 6c 65  |. ploopl%=sample|
000081f0  6c 65 6e 25 0d 37 96 1b  e7 20 70 6c 6f 6f 70 72  |len%.7... ploopr|
00008200  25 3c 30 20 8c 20 70 6c  6f 6f 70 72 25 3d 30 0d  |%<0 . ploopr%=0.|
00008210  37 a0 2d e7 20 70 6c 6f  6f 70 72 25 3e 73 61 6d  |7.-. ploopr%>sam|
00008220  70 6c 65 6c 65 6e 25 20  8c 20 70 6c 6f 6f 70 72  |plelen% . ploopr|
00008230  25 3d 73 61 6d 70 6c 65  6c 65 6e 25 0d 37 aa 27  |%=samplelen%.7.'|
00008240  e7 20 70 6c 6f 6f 70 6c  25 3e 70 6c 6f 6f 70 72  |. ploopl%>ploopr|
00008250  25 20 8c 20 70 6c 6f 6f  70 72 25 3d 70 6c 6f 6f  |% . ploopr%=ploo|
00008260  70 6c 25 0d 37 b4 10 f2  55 70 64 61 74 65 53 4c  |pl%.7...UpdateSL|
00008270  6f 6f 70 0d 37 be 05 e1  0d 37 c8 04 0d 37 d2 0d  |oop.7....7...7..|
00008280  dd f2 67 65 74 77 69 6e  70 0d 37 dc 13 74 65 6d  |..getwinp.7..tem|
00008290  70 25 21 30 3d 77 77 6f  72 6b 68 25 0d 37 e6 22  |p%!0=wworkh%.7."|
000082a0  c8 99 22 57 69 6d 70 5f  47 65 74 57 69 6e 64 6f  |.."Wimp_GetWindo|
000082b0  77 53 74 61 74 65 22 2c  2c 74 65 6d 70 25 0d 37  |wState",,temp%.7|
000082c0  f0 15 73 65 6c 65 63 74  6c 25 3d 74 65 6d 70 25  |..selectl%=temp%|
000082d0  21 32 30 0d 37 fa 1a 73  65 6c 65 63 74 72 25 3d  |!20.7..selectr%=|
000082e0  74 65 6d 70 25 21 32 30  2b 31 30 32 32 0d 38 04  |temp%!20+1022.8.|
000082f0  22 70 73 65 6c 65 63 74  6c 25 3d a4 57 6f 72 6b  |"pselectl%=.Work|
00008300  54 6f 50 74 72 28 73 65  6c 65 63 74 6c 25 29 0d  |ToPtr(selectl%).|
00008310  38 0e 22 70 73 65 6c 65  63 74 72 25 3d a4 57 6f  |8."pselectr%=.Wo|
00008320  72 6b 54 6f 50 74 72 28  73 65 6c 65 63 74 72 25  |rkToPtr(selectr%|
00008330  29 0d 38 18 05 e1 0d 38  22 04 0d 38 2c 0d dd f2  |).8....8"..8,...|
00008340  61 64 6a 70 74 72 73 0d  38 36 3d e7 20 70 73 65  |adjptrs.86=. pse|
00008350  6c 65 63 74 6c 25 3c 30  20 8c 20 70 73 65 6c 65  |lectl%<0 . psele|
00008360  63 74 72 25 3d 70 73 65  6c 65 63 74 72 25 2d 70  |ctr%=pselectr%-p|
00008370  73 65 6c 65 63 74 6c 25  3a 70 73 65 6c 65 63 74  |selectl%:pselect|
00008380  6c 25 3d 30 0d 38 40 5c  e7 20 70 73 65 6c 65 63  |l%=0.8@\. pselec|
00008390  74 72 25 3e 73 61 6d 70  6c 65 6c 65 6e 25 20 8c  |tr%>samplelen% .|
000083a0  20 70 73 65 6c 65 63 74  6c 25 3d 70 73 65 6c 65  | pselectl%=psele|
000083b0  63 74 6c 25 2d 28 70 73  65 6c 65 63 74 72 25 2d  |ctl%-(pselectr%-|
000083c0  73 61 6d 70 6c 65 6c 65  6e 25 29 3a 70 73 65 6c  |samplelen%):psel|
000083d0  65 63 74 72 25 3d 73 61  6d 70 6c 65 6c 65 6e 25  |ectr%=samplelen%|
000083e0  0d 38 4a 1f e7 20 70 73  65 6c 65 63 74 6c 25 3c  |.8J.. pselectl%<|
000083f0  30 20 8c 20 70 73 65 6c  65 63 74 6c 25 3d 30 0d  |0 . pselectl%=0.|
00008400  38 54 31 e7 20 70 73 65  6c 65 63 74 72 25 3e 73  |8T1. pselectr%>s|
00008410  61 6d 70 6c 65 6c 65 6e  25 20 8c 20 70 73 65 6c  |amplelen% . psel|
00008420  65 63 74 72 25 3d 73 61  6d 70 6c 65 6c 65 6e 25  |ectr%=samplelen%|
00008430  0d 38 5e 22 73 65 6c 65  63 74 6c 25 3d a4 50 74  |.8^"selectl%=.Pt|
00008440  72 54 6f 57 6f 72 6b 28  70 73 65 6c 65 63 74 6c  |rToWork(pselectl|
00008450  25 29 0d 38 68 22 73 65  6c 65 63 74 72 25 3d a4  |%).8h"selectr%=.|
00008460  50 74 72 54 6f 57 6f 72  6b 28 70 73 65 6c 65 63  |PtrToWork(pselec|
00008470  74 72 25 29 0d 38 72 05  e1 0d 38 7c 04 0d 38 86  |tr%).8r...8|..8.|
00008480  0d dd f2 4d 53 65 6c 65  63 74 0d 38 90 11 6d 25  |...MSelect.8..m%|
00008490  3d 70 6f 6c 6c 65 64 62  25 21 34 0d 38 9a 0b c8  |=polledb%!4.8...|
000084a0  8e 20 6d 25 20 ca 0d 38  a4 12 20 20 c9 20 30 3a  |. m% ..8..  . 0:|
000084b0  f2 4d 53 65 6c 41 6c 6c  0d 38 ae 13 20 20 c9 20  |.MSelAll.8..  . |
000084c0  31 3a f2 4d 53 65 6c 4c  6f 6f 70 0d 38 b8 13 20  |1:.MSelLoop.8.. |
000084d0  20 c9 20 32 3a f2 4d 53  65 6c 4c 65 66 74 0d 38  | . 2:.MSelLeft.8|
000084e0  c2 14 20 20 c9 20 33 3a  f2 4d 53 65 6c 52 69 67  |..  . 3:.MSelRig|
000084f0  68 74 0d 38 cc 15 20 20  c9 20 34 3a f2 4d 53 65  |ht.8..  . 4:.MSe|
00008500  6c 57 69 6e 64 6f 77 0d  38 d6 17 20 20 c9 20 2d  |lWindow.8..  . -|
00008510  31 2c 35 3a f2 4d 53 65  6c 43 6c 65 61 72 0d 38  |1,5:.MSelClear.8|
00008520  e0 05 cb 0d 38 ea 05 e1  0d 38 f4 04 0d 38 fe 0d  |....8....8...8..|
00008530  dd f2 4d 53 65 6c 41 6c  6c 0d 39 08 0f 70 73 65  |..MSelAll.9..pse|
00008540  6c 65 63 74 6c 25 3d 30  0d 39 12 18 70 73 65 6c  |lectl%=0.9..psel|
00008550  65 63 74 72 25 3d 73 61  6d 70 6c 65 6c 65 6e 25  |ectr%=samplelen%|
00008560  0d 39 1c 22 73 65 6c 65  63 74 6c 25 3d a4 50 74  |.9."selectl%=.Pt|
00008570  72 54 6f 57 6f 72 6b 28  70 73 65 6c 65 63 74 6c  |rToWork(pselectl|
00008580  25 29 0d 39 26 22 73 65  6c 65 63 74 72 25 3d a4  |%).9&"selectr%=.|
00008590  50 74 72 54 6f 57 6f 72  6b 28 70 73 65 6c 65 63  |PtrToWork(pselec|
000085a0  74 72 25 29 0d 39 30 11  f2 55 70 64 61 74 65 53  |tr%).90..UpdateS|
000085b0  65 6c 65 63 74 0d 39 3a  05 e1 0d 39 44 04 0d 39  |elect.9:...9D..9|
000085c0  4e 0e dd f2 4d 53 65 6c  4c 65 66 74 0d 39 58 17  |N...MSelLeft.9X.|
000085d0  70 73 65 6c 65 63 74 72  25 3d 70 73 65 6c 65 63  |pselectr%=pselec|
000085e0  74 6c 25 0d 39 62 0f 70  73 65 6c 65 63 74 6c 25  |tl%.9b.pselectl%|
000085f0  3d 30 0d 39 6c 22 73 65  6c 65 63 74 6c 25 3d a4  |=0.9l"selectl%=.|
00008600  50 74 72 54 6f 57 6f 72  6b 28 70 73 65 6c 65 63  |PtrToWork(pselec|
00008610  74 6c 25 29 0d 39 76 22  73 65 6c 65 63 74 72 25  |tl%).9v"selectr%|
00008620  3d a4 50 74 72 54 6f 57  6f 72 6b 28 70 73 65 6c  |=.PtrToWork(psel|
00008630  65 63 74 72 25 29 0d 39  80 11 f2 55 70 64 61 74  |ectr%).9...Updat|
00008640  65 53 65 6c 65 63 74 0d  39 8a 05 e1 0d 39 94 04  |eSelect.9....9..|
00008650  0d 39 9e 0f dd f2 4d 53  65 6c 52 69 67 68 74 0d  |.9....MSelRight.|
00008660  39 a8 17 70 73 65 6c 65  63 74 6c 25 3d 70 73 65  |9..pselectl%=pse|
00008670  6c 65 63 74 72 25 0d 39  b2 18 70 73 65 6c 65 63  |lectr%.9..pselec|
00008680  74 72 25 3d 73 61 6d 70  6c 65 6c 65 6e 25 0d 39  |tr%=samplelen%.9|
00008690  bc 22 73 65 6c 65 63 74  6c 25 3d a4 50 74 72 54  |."selectl%=.PtrT|
000086a0  6f 57 6f 72 6b 28 70 73  65 6c 65 63 74 6c 25 29  |oWork(pselectl%)|
000086b0  0d 39 c6 22 73 65 6c 65  63 74 72 25 3d a4 50 74  |.9."selectr%=.Pt|
000086c0  72 54 6f 57 6f 72 6b 28  70 73 65 6c 65 63 74 72  |rToWork(pselectr|
000086d0  25 29 0d 39 d0 11 f2 55  70 64 61 74 65 53 65 6c  |%).9...UpdateSel|
000086e0  65 63 74 0d 39 da 05 e1  0d 39 e4 04 0d 39 ee 10  |ect.9....9...9..|
000086f0  dd f2 4d 53 65 6c 57 69  6e 64 6f 77 0d 39 f8 13  |..MSelWindow.9..|
00008700  74 65 6d 70 25 21 30 3d  77 77 6f 72 6b 68 25 0d  |temp%!0=wworkh%.|
00008710  3a 02 22 c8 99 22 57 69  6d 70 5f 47 65 74 57 69  |:.".."Wimp_GetWi|
00008720  6e 64 6f 77 53 74 61 74  65 22 2c 2c 74 65 6d 70  |ndowState",,temp|
00008730  25 0d 3a 0c 15 73 65 6c  65 63 74 6c 25 3d 74 65  |%.:..selectl%=te|
00008740  6d 70 25 21 32 30 0d 3a  16 1a 73 65 6c 65 63 74  |mp%!20.:..select|
00008750  72 25 3d 74 65 6d 70 25  21 32 30 2b 31 30 32 32  |r%=temp%!20+1022|
00008760  0d 3a 20 22 70 73 65 6c  65 63 74 6c 25 3d a4 57  |.: "pselectl%=.W|
00008770  6f 72 6b 54 6f 50 74 72  28 73 65 6c 65 63 74 6c  |orkToPtr(selectl|
00008780  25 29 0d 3a 2a 22 70 73  65 6c 65 63 74 72 25 3d  |%).:*"pselectr%=|
00008790  a4 57 6f 72 6b 54 6f 50  74 72 28 73 65 6c 65 63  |.WorkToPtr(selec|
000087a0  74 72 25 29 0d 3a 34 22  73 65 6c 65 63 74 6c 25  |tr%).:4"selectl%|
000087b0  3d a4 50 74 72 54 6f 57  6f 72 6b 28 70 73 65 6c  |=.PtrToWork(psel|
000087c0  65 63 74 6c 25 29 0d 3a  3e 22 73 65 6c 65 63 74  |ectl%).:>"select|
000087d0  72 25 3d a4 50 74 72 54  6f 57 6f 72 6b 28 70 73  |r%=.PtrToWork(ps|
000087e0  65 6c 65 63 74 72 25 29  0d 3a 48 11 f2 55 70 64  |electr%).:H..Upd|
000087f0  61 74 65 53 65 6c 65 63  74 0d 3a 52 05 e1 0d 3a  |ateSelect.:R...:|
00008800  5c 04 0d 3a 66 0e dd f2  4d 53 65 6c 4c 6f 6f 70  |\..:f...MSelLoop|
00008810  0d 3a 70 15 70 73 65 6c  65 63 74 6c 25 3d 70 6c  |.:p.pselectl%=pl|
00008820  6f 6f 70 6c 25 0d 3a 7a  15 70 73 65 6c 65 63 74  |oopl%.:z.pselect|
00008830  72 25 3d 70 6c 6f 6f 70  72 25 0d 3a 84 22 73 65  |r%=ploopr%.:."se|
00008840  6c 65 63 74 6c 25 3d a4  50 74 72 54 6f 57 6f 72  |lectl%=.PtrToWor|
00008850  6b 28 70 73 65 6c 65 63  74 6c 25 29 0d 3a 8e 22  |k(pselectl%).:."|
00008860  73 65 6c 65 63 74 72 25  3d a4 50 74 72 54 6f 57  |selectr%=.PtrToW|
00008870  6f 72 6b 28 70 73 65 6c  65 63 74 72 25 29 0d 3a  |ork(pselectr%).:|
00008880  98 11 f2 55 70 64 61 74  65 53 65 6c 65 63 74 0d  |...UpdateSelect.|
00008890  3a a2 05 e1 0d 3a ac 04  0d 3a b6 0f dd f2 4d 53  |:....:...:....MS|
000088a0  65 6c 43 6c 65 61 72 0d  3a c0 1b 73 65 6c 65 63  |elClear.:..selec|
000088b0  74 6c 25 3d 2d 31 3a 73  65 6c 65 63 74 72 25 3d  |tl%=-1:selectr%=|
000088c0  2d 31 0d 3a ca 1d 70 73  65 6c 65 63 74 6c 25 3d  |-1.:..pselectl%=|
000088d0  2d 31 3a 70 73 65 6c 65  63 74 72 25 3d 2d 31 0d  |-1:pselectr%=-1.|
000088e0  3a d4 11 f2 55 70 64 61  74 65 53 65 6c 65 63 74  |:...UpdateSelect|
000088f0  0d 3a de 05 e1 0d 3a e8  04 0d 3a f2 0b dd f2 4d  |.:....:...:....M|
00008900  5a 6f 6f 6d 0d 3a fc 11  6d 25 3d 70 6f 6c 6c 65  |Zoom.:..m%=polle|
00008910  64 62 25 21 34 0d 3b 06  0b c8 8e 20 6d 25 20 ca  |db%!4.;.... m% .|
00008920  0d 3b 10 12 20 20 c9 20  30 3a f2 5a 6f 6f 6d 41  |.;..  . 0:.ZoomA|
00008930  6c 6c 0d 3b 1a 12 20 20  c9 20 31 3a f2 5a 6f 6f  |ll.;..  . 1:.Zoo|
00008940  6d 4f 75 74 0d 3b 24 13  20 20 c9 20 32 3a f2 5a  |mOut.;$.  . 2:.Z|
00008950  6f 6f 6d 4c 6f 6f 70 0d  3b 2e 15 20 20 c9 20 2d  |oomLoop.;..  . -|
00008960  31 2c 33 3a f2 5a 6f 6f  6d 53 65 6c 0d 3b 38 14  |1,3:.ZoomSel.;8.|
00008970  20 20 c9 20 34 3a f2 5a  6f 6f 6d 53 74 6f 72 65  |  . 4:.ZoomStore|
00008980  0d 3b 42 16 20 20 c9 20  35 3a f2 5a 6f 6f 6d 52  |.;B.  . 5:.ZoomR|
00008990  65 73 74 6f 72 65 0d 3b  4c 05 cb 0d 3b 56 05 e1  |estore.;L...;V..|
000089a0  0d 3b 60 04 0d 3b 6a 0d  dd f2 5a 6f 6f 6d 41 6c  |.;`..;j...ZoomAl|
000089b0  6c 0d 3b 74 16 70 6f 6c  6c 65 64 62 25 21 30 3d  |l.;t.polledb%!0=|
000089c0  77 77 6f 72 6b 68 25 0d  3b 7e 25 c8 99 22 57 69  |wworkh%.;~%.."Wi|
000089d0  6d 70 5f 47 65 74 57 69  6e 64 6f 77 53 74 61 74  |mp_GetWindowStat|
000089e0  65 22 2c 2c 70 6f 6c 6c  65 64 62 25 0d 3b 88 11  |e",,polledb%.;..|
000089f0  70 6f 6c 6c 65 64 62 25  21 32 30 3d 30 0d 3b 92  |polledb%!20=0.;.|
00008a00  21 c8 99 22 57 69 6d 70  5f 4f 70 65 6e 57 69 6e  |!.."Wimp_OpenWin|
00008a10  64 6f 77 22 2c 2c 70 6f  6c 6c 65 64 62 25 0d 3b  |dow",,polledb%.;|
00008a20  9c 17 64 69 73 70 6c 65  6e 25 3d 73 61 6d 70 6c  |..displen%=sampl|
00008a30  65 6c 65 6e 25 0d 3b a6  0e f2 53 65 74 45 78 74  |elen%.;...SetExt|
00008a40  65 6e 74 0d 3b b0 22 73  65 6c 65 63 74 6c 25 3d  |ent.;."selectl%=|
00008a50  a4 50 74 72 54 6f 57 6f  72 6b 28 70 73 65 6c 65  |.PtrToWork(psele|
00008a60  63 74 6c 25 29 0d 3b ba  22 73 65 6c 65 63 74 72  |ctl%).;."selectr|
00008a70  25 3d a4 50 74 72 54 6f  57 6f 72 6b 28 70 73 65  |%=.PtrToWork(pse|
00008a80  6c 65 63 74 72 25 29 0d  3b c4 1e 6c 6f 6f 70 6c  |lectr%).;..loopl|
00008a90  25 3d a4 50 74 72 54 6f  57 6f 72 6b 28 70 6c 6f  |%=.PtrToWork(plo|
00008aa0  6f 70 6c 25 29 0d 3b ce  1e 6c 6f 6f 70 72 25 3d  |opl%).;..loopr%=|
00008ab0  a4 50 74 72 54 6f 57 6f  72 6b 28 70 6c 6f 6f 70  |.PtrToWork(ploop|
00008ac0  72 25 29 0d 3b d8 21 6f  6c 6f 6f 70 6c 25 3d 6c  |r%).;.!oloopl%=l|
00008ad0  6f 6f 70 6c 25 3a 6f 6c  6f 6f 70 72 25 3d 6c 6f  |oopl%:oloopr%=lo|
00008ae0  6f 70 72 25 0d 3b e2 29  6f 73 65 6c 65 63 74 6c  |opr%.;.)oselectl|
00008af0  25 3d 73 65 6c 65 63 74  6c 25 3a 6f 73 65 6c 65  |%=selectl%:osele|
00008b00  63 74 72 25 3d 73 65 6c  65 63 74 72 25 0d 3b ec  |ctr%=selectr%.;.|
00008b10  0b f2 52 64 57 6f 72 6b  0d 3b f6 05 e1 0d 3c 00  |..RdWork.;....<.|
00008b20  04 0d 3c 0a 0d dd f2 5a  6f 6f 6d 4f 75 74 0d 3c  |..<....ZoomOut.<|
00008b30  14 23 6f 70 73 6c 25 3d  70 73 65 6c 65 63 74 6c  |.#opsl%=pselectl|
00008b40  25 3a 6f 70 73 72 25 3d  70 73 65 6c 65 63 74 72  |%:opsr%=pselectr|
00008b50  25 0d 3c 1e 16 70 6f 6c  6c 65 64 62 25 21 30 3d  |%.<..polledb%!0=|
00008b60  77 77 6f 72 6b 68 25 0d  3c 28 25 c8 99 22 57 69  |wworkh%.<(%.."Wi|
00008b70  6d 70 5f 47 65 74 57 69  6e 64 6f 77 53 74 61 74  |mp_GetWindowStat|
00008b80  65 22 2c 2c 70 6f 6c 6c  65 64 62 25 0d 3c 32 18  |e",,polledb%.<2.|
00008b90  73 65 6c 65 63 74 6c 25  3d 70 6f 6c 6c 65 64 62  |selectl%=polledb|
00008ba0  25 21 32 30 0d 3c 3c 1d  73 65 6c 65 63 74 72 25  |%!20.<<.selectr%|
00008bb0  3d 70 6f 6c 6c 65 64 62  25 21 32 30 2b 31 30 32  |=polledb%!20+102|
00008bc0  32 0d 3c 46 22 70 73 65  6c 65 63 74 6c 25 3d a4  |2.<F"pselectl%=.|
00008bd0  57 6f 72 6b 54 6f 50 74  72 28 73 65 6c 65 63 74  |WorkToPtr(select|
00008be0  6c 25 29 0d 3c 50 22 70  73 65 6c 65 63 74 72 25  |l%).<P"pselectr%|
00008bf0  3d a4 57 6f 72 6b 54 6f  50 74 72 28 73 65 6c 65  |=.WorkToPtr(sele|
00008c00  63 74 72 25 29 0d 3c 5a  1b 73 77 25 3d 70 73 65  |ctr%).<Z.sw%=pse|
00008c10  6c 65 63 74 72 25 2d 70  73 65 6c 65 63 74 6c 25  |lectr%-pselectl%|
00008c20  0d 3c 64 1b 70 73 65 6c  65 63 74 6c 25 3d 70 73  |.<d.pselectl%=ps|
00008c30  65 6c 65 63 74 6c 25 2d  73 77 25 0d 3c 6e 1b 70  |electl%-sw%.<n.p|
00008c40  73 65 6c 65 63 74 72 25  3d 70 73 65 6c 65 63 74  |selectr%=pselect|
00008c50  72 25 2b 73 77 25 0d 3c  78 3d e7 20 70 73 65 6c  |r%+sw%.<x=. psel|
00008c60  65 63 74 6c 25 3c 30 20  8c 20 70 73 65 6c 65 63  |ectl%<0 . pselec|
00008c70  74 72 25 3d 70 73 65 6c  65 63 74 72 25 2d 70 73  |tr%=pselectr%-ps|
00008c80  65 6c 65 63 74 6c 25 3a  70 73 65 6c 65 63 74 6c  |electl%:pselectl|
00008c90  25 3d 30 0d 3c 82 5c e7  20 70 73 65 6c 65 63 74  |%=0.<.\. pselect|
00008ca0  72 25 3e 73 61 6d 70 6c  65 6c 65 6e 25 20 8c 20  |r%>samplelen% . |
00008cb0  70 73 65 6c 65 63 74 6c  25 3d 70 73 65 6c 65 63  |pselectl%=pselec|
00008cc0  74 6c 25 2d 28 70 73 65  6c 65 63 74 72 25 2d 73  |tl%-(pselectr%-s|
00008cd0  61 6d 70 6c 65 6c 65 6e  25 29 3a 70 73 65 6c 65  |amplelen%):psele|
00008ce0  63 74 72 25 3d 73 61 6d  70 6c 65 6c 65 6e 25 0d  |ctr%=samplelen%.|
00008cf0  3c 8c 1f e7 20 70 73 65  6c 65 63 74 6c 25 3c 30  |<... pselectl%<0|
00008d00  20 8c 20 70 73 65 6c 65  63 74 6c 25 3d 30 0d 3c  | . pselectl%=0.<|
00008d10  96 31 e7 20 70 73 65 6c  65 63 74 72 25 3e 73 61  |.1. pselectr%>sa|
00008d20  6d 70 6c 65 6c 65 6e 25  20 8c 20 70 73 65 6c 65  |mplelen% . psele|
00008d30  63 74 72 25 3d 73 61 6d  70 6c 65 6c 65 6e 25 0d  |ctr%=samplelen%.|
00008d40  3c a0 22 73 65 6c 65 63  74 6c 25 3d a4 50 74 72  |<."selectl%=.Ptr|
00008d50  54 6f 57 6f 72 6b 28 70  73 65 6c 65 63 74 6c 25  |ToWork(pselectl%|
00008d60  29 0d 3c aa 22 73 65 6c  65 63 74 72 25 3d a4 50  |).<."selectr%=.P|
00008d70  74 72 54 6f 57 6f 72 6b  28 70 73 65 6c 65 63 74  |trToWork(pselect|
00008d80  72 25 29 0d 3c b4 1e 6c  6f 6f 70 6c 25 3d a4 50  |r%).<..loopl%=.P|
00008d90  74 72 54 6f 57 6f 72 6b  28 70 6c 6f 6f 70 6c 25  |trToWork(ploopl%|
00008da0  29 0d 3c be 1e 6c 6f 6f  70 72 25 3d a4 50 74 72  |).<..loopr%=.Ptr|
00008db0  54 6f 57 6f 72 6b 28 70  6c 6f 6f 70 72 25 29 0d  |ToWork(ploopr%).|
00008dc0  3c c8 21 6f 6c 6f 6f 70  6c 25 3d 6c 6f 6f 70 6c  |<.!oloopl%=loopl|
00008dd0  25 3a 6f 6c 6f 6f 70 72  25 3d 6c 6f 6f 70 72 25  |%:oloopr%=loopr%|
00008de0  0d 3c d2 0c f2 5a 6f 6f  6d 53 65 6c 0d 3c dc 23  |.<...ZoomSel.<.#|
00008df0  70 73 65 6c 65 63 74 6c  25 3d 6f 70 73 6c 25 3a  |pselectl%=opsl%:|
00008e00  70 73 65 6c 65 63 74 72  25 3d 6f 70 73 72 25 0d  |pselectr%=opsr%.|
00008e10  3c e6 22 73 65 6c 65 63  74 6c 25 3d a4 50 74 72  |<."selectl%=.Ptr|
00008e20  54 6f 57 6f 72 6b 28 70  73 65 6c 65 63 74 6c 25  |ToWork(pselectl%|
00008e30  29 0d 3c f0 22 73 65 6c  65 63 74 72 25 3d a4 50  |).<."selectr%=.P|
00008e40  74 72 54 6f 57 6f 72 6b  28 70 73 65 6c 65 63 74  |trToWork(pselect|
00008e50  72 25 29 0d 3c fa 11 f2  55 70 64 61 74 65 53 65  |r%).<...UpdateSe|
00008e60  6c 65 63 74 0d 3d 04 05  e1 0d 3d 0e 04 0d 3d 18  |lect.=....=...=.|
00008e70  0e dd f2 5a 6f 6f 6d 4c  6f 6f 70 0d 3d 22 13 6f  |...ZoomLoop.=".o|
00008e80  70 73 6c 25 3d 70 73 65  6c 65 63 74 6c 25 0d 3d  |psl%=pselectl%.=|
00008e90  2c 13 6f 70 73 72 25 3d  70 73 65 6c 65 63 74 72  |,.opsr%=pselectr|
00008ea0  25 0d 3d 36 15 70 73 65  6c 65 63 74 6c 25 3d 70  |%.=6.pselectl%=p|
00008eb0  6c 6f 6f 70 6c 25 0d 3d  40 15 70 73 65 6c 65 63  |loopl%.=@.pselec|
00008ec0  74 72 25 3d 70 6c 6f 6f  70 72 25 0d 3d 4a 22 73  |tr%=ploopr%.=J"s|
00008ed0  65 6c 65 63 74 6c 25 3d  a4 50 74 72 54 6f 57 6f  |electl%=.PtrToWo|
00008ee0  72 6b 28 70 73 65 6c 65  63 74 6c 25 29 0d 3d 54  |rk(pselectl%).=T|
00008ef0  22 73 65 6c 65 63 74 72  25 3d a4 50 74 72 54 6f  |"selectr%=.PtrTo|
00008f00  57 6f 72 6b 28 70 73 65  6c 65 63 74 72 25 29 0d  |Work(pselectr%).|
00008f10  3d 5e 0c f2 5a 6f 6f 6d  53 65 6c 0d 3d 68 13 70  |=^..ZoomSel.=h.p|
00008f20  73 65 6c 65 63 74 6c 25  3d 6f 70 73 6c 25 0d 3d  |selectl%=opsl%.=|
00008f30  72 13 70 73 65 6c 65 63  74 72 25 3d 6f 70 73 72  |r.pselectr%=opsr|
00008f40  25 0d 3d 7c 22 73 65 6c  65 63 74 6c 25 3d a4 50  |%.=|"selectl%=.P|
00008f50  74 72 54 6f 57 6f 72 6b  28 70 73 65 6c 65 63 74  |trToWork(pselect|
00008f60  6c 25 29 0d 3d 86 22 73  65 6c 65 63 74 72 25 3d  |l%).=."selectr%=|
00008f70  a4 50 74 72 54 6f 57 6f  72 6b 28 70 73 65 6c 65  |.PtrToWork(psele|
00008f80  63 74 72 25 29 0d 3d 90  11 f2 55 70 64 61 74 65  |ctr%).=...Update|
00008f90  53 65 6c 65 63 74 0d 3d  9a 05 e1 0d 3d a4 04 0d  |Select.=....=...|
00008fa0  3d ae 0d dd f2 5a 6f 6f  6d 53 65 6c 0d 3d b8 25  |=....ZoomSel.=.%|
00008fb0  e7 20 70 73 65 6c 65 63  74 6c 25 3c 3e 2d 31 20  |. pselectl%<>-1 |
00008fc0  80 20 70 73 65 6c 65 63  74 72 25 3c 3e 2d 31 20  |. pselectr%<>-1 |
00008fd0  8c 0d 3d c2 22 20 20 64  69 73 70 6c 65 6e 25 3d  |..=."  displen%=|
00008fe0  70 73 65 6c 65 63 74 72  25 2d 70 73 65 6c 65 63  |pselectr%-pselec|
00008ff0  74 6c 25 0d 3d cc 1f 20  20 e7 20 64 69 73 70 6c  |tl%.=..  . displ|
00009000  65 6e 25 3c 31 20 8c 20  64 69 73 70 6c 65 6e 25  |en%<1 . displen%|
00009010  3d 31 0d 3d d6 21 20 20  64 69 73 70 73 74 3d 70  |=1.=.!  dispst=p|
00009020  73 65 6c 65 63 74 6c 25  2f 73 61 6d 70 6c 65 6c  |selectl%/samplel|
00009030  65 6e 25 0d 3d e0 18 20  20 70 6f 6c 6c 65 64 62  |en%.=..  polledb|
00009040  25 21 30 3d 77 77 6f 72  6b 68 25 0d 3d ea 27 20  |%!0=wworkh%.=.' |
00009050  20 c8 99 22 57 69 6d 70  5f 47 65 74 57 69 6e 64  | .."Wimp_GetWind|
00009060  6f 77 53 74 61 74 65 22  2c 2c 70 6f 6c 6c 65 64  |owState",,polled|
00009070  62 25 0d 3d f4 13 20 20  70 6f 6c 6c 65 64 62 25  |b%.=..  polledb%|
00009080  21 32 30 3d 30 0d 3d fe  23 20 20 c8 99 22 57 69  |!20=0.=.#  .."Wi|
00009090  6d 70 5f 4f 70 65 6e 57  69 6e 64 6f 77 22 2c 2c  |mp_OpenWindow",,|
000090a0  70 6f 6c 6c 65 64 62 25  0d 3e 08 10 20 20 f2 53  |polledb%.>..  .S|
000090b0  65 74 45 78 74 65 6e 74  0d 3e 12 1e 20 20 70 6f  |etExtent.>..  po|
000090c0  6c 6c 65 64 62 25 21 32  30 3d 64 69 73 70 73 74  |lledb%!20=dispst|
000090d0  2a 6d 61 78 78 25 0d 3e  1c 23 20 20 c8 99 22 57  |*maxx%.>.#  .."W|
000090e0  69 6d 70 5f 4f 70 65 6e  57 69 6e 64 6f 77 22 2c  |imp_OpenWindow",|
000090f0  2c 70 6f 6c 6c 65 64 62  25 0d 3e 26 37 20 20 73  |,polledb%.>&7  s|
00009100  65 6c 65 63 74 6c 25 3d  2d 31 3a 73 65 6c 65 63  |electl%=-1:selec|
00009110  74 72 25 3d 2d 31 3a 6f  73 65 6c 65 63 74 6c 25  |tr%=-1:oselectl%|
00009120  3d 2d 31 3a 6f 73 65 6c  65 63 74 72 25 3d 2d 31  |=-1:oselectr%=-1|
00009130  0d 3e 30 1f 20 20 70 73  65 6c 65 63 74 6c 25 3d  |.>0.  pselectl%=|
00009140  2d 31 3a 70 73 65 6c 65  63 74 72 25 3d 2d 31 0d  |-1:pselectr%=-1.|
00009150  3e 3a 20 20 20 6c 6f 6f  70 6c 25 3d a4 50 74 72  |>:   loopl%=.Ptr|
00009160  54 6f 57 6f 72 6b 28 70  6c 6f 6f 70 6c 25 29 0d  |ToWork(ploopl%).|
00009170  3e 44 20 20 20 6c 6f 6f  70 72 25 3d a4 50 74 72  |>D   loopr%=.Ptr|
00009180  54 6f 57 6f 72 6b 28 70  6c 6f 6f 70 72 25 29 0d  |ToWork(ploopr%).|
00009190  3e 4e 23 20 20 6f 6c 6f  6f 70 6c 25 3d 6c 6f 6f  |>N#  oloopl%=loo|
000091a0  70 6c 25 3a 6f 6c 6f 6f  70 72 25 3d 6c 6f 6f 70  |pl%:oloopr%=loop|
000091b0  72 25 0d 3e 58 0d 20 20  f2 52 64 57 6f 72 6b 0d  |r%.>X.  .RdWork.|
000091c0  3e 62 05 cd 0d 3e 6c 05  e1 0d 3e 76 04 0d 3e 80  |>b...>l...>v..>.|
000091d0  0f dd f2 5a 6f 6f 6d 53  74 6f 72 65 0d 3e 8a 13  |...ZoomStore.>..|
000091e0  74 65 6d 70 25 21 30 3d  77 77 6f 72 6b 68 25 0d  |temp%!0=wworkh%.|
000091f0  3e 94 22 c8 99 22 57 69  6d 70 5f 47 65 74 57 69  |>.".."Wimp_GetWi|
00009200  6e 64 6f 77 53 74 61 74  65 22 2c 2c 74 65 6d 70  |ndowState",,temp|
00009210  25 0d 3e 9e 14 7a 6f 6f  6d 73 6c 25 3d 74 65 6d  |%.>..zoomsl%=tem|
00009220  70 25 21 32 30 0d 3e a8  19 7a 6f 6f 6d 73 72 25  |p%!20.>..zoomsr%|
00009230  3d 74 65 6d 70 25 21 32  30 2b 31 30 32 34 0d 3e  |=temp%!20+1024.>|
00009240  b2 1f 7a 6f 6f 6d 73 6c  25 3d a4 57 6f 72 6b 54  |..zoomsl%=.WorkT|
00009250  6f 50 74 72 28 7a 6f 6f  6d 73 6c 25 29 0d 3e bc  |oPtr(zoomsl%).>.|
00009260  1f 7a 6f 6f 6d 73 72 25  3d a4 57 6f 72 6b 54 6f  |.zoomsr%=.WorkTo|
00009270  50 74 72 28 7a 6f 6f 6d  73 72 25 29 0d 3e c6 05  |Ptr(zoomsr%).>..|
00009280  e1 0d 3e d0 04 0d 3e da  11 dd f2 5a 6f 6f 6d 52  |..>...>....ZoomR|
00009290  65 73 74 6f 72 65 0d 3e  e4 23 6f 70 73 6c 25 3d  |estore.>.#opsl%=|
000092a0  70 73 65 6c 65 63 74 6c  25 3a 6f 70 73 72 25 3d  |pselectl%:opsr%=|
000092b0  70 73 65 6c 65 63 74 72  25 0d 3e ee 15 70 73 65  |pselectr%.>..pse|
000092c0  6c 65 63 74 6c 25 3d 7a  6f 6f 6d 73 6c 25 0d 3e  |lectl%=zoomsl%.>|
000092d0  f8 15 70 73 65 6c 65 63  74 72 25 3d 7a 6f 6f 6d  |..pselectr%=zoom|
000092e0  73 72 25 0d 3f 02 1f e7  20 70 73 65 6c 65 63 74  |sr%.?... pselect|
000092f0  6c 25 3c 30 20 8c 20 70  73 65 6c 65 63 74 6c 25  |l%<0 . pselectl%|
00009300  3d 30 0d 3f 0c 1f e7 20  70 73 65 6c 65 63 74 72  |=0.?... pselectr|
00009310  25 3c 30 20 8c 20 70 73  65 6c 65 63 74 72 25 3d  |%<0 . pselectr%=|
00009320  30 0d 3f 16 31 e7 20 70  73 65 6c 65 63 74 6c 25  |0.?.1. pselectl%|
00009330  3e 73 61 6d 70 6c 65 6c  65 6e 25 20 8c 20 70 73  |>samplelen% . ps|
00009340  65 6c 65 63 74 6c 25 3d  73 61 6d 70 6c 65 6c 65  |electl%=samplele|
00009350  6e 25 0d 3f 20 31 e7 20  70 73 65 6c 65 63 74 72  |n%.? 1. pselectr|
00009360  25 3e 73 61 6d 70 6c 65  6c 65 6e 25 20 8c 20 70  |%>samplelen% . p|
00009370  73 65 6c 65 63 74 72 25  3d 73 61 6d 70 6c 65 6c  |selectr%=samplel|
00009380  65 6e 25 0d 3f 2a 0c f2  5a 6f 6f 6d 53 65 6c 0d  |en%.?*..ZoomSel.|
00009390  3f 34 23 70 73 65 6c 65  63 74 6c 25 3d 6f 70 73  |?4#pselectl%=ops|
000093a0  6c 25 3a 70 73 65 6c 65  63 74 72 25 3d 6f 70 73  |l%:pselectr%=ops|
000093b0  72 25 0d 3f 3e 22 73 65  6c 65 63 74 6c 25 3d a4  |r%.?>"selectl%=.|
000093c0  50 74 72 54 6f 57 6f 72  6b 28 70 73 65 6c 65 63  |PtrToWork(pselec|
000093d0  74 6c 25 29 0d 3f 48 22  73 65 6c 65 63 74 72 25  |tl%).?H"selectr%|
000093e0  3d a4 50 74 72 54 6f 57  6f 72 6b 28 70 73 65 6c  |=.PtrToWork(psel|
000093f0  65 63 74 72 25 29 0d 3f  52 11 f2 55 70 64 61 74  |ectr%).?R..Updat|
00009400  65 53 65 6c 65 63 74 0d  3f 5c 05 e1 0d 3f 66 04  |eSelect.?\...?f.|
00009410  0d 3f 70 0b dd f2 4d 4c  6f 6f 70 0d 3f 7a 11 6d  |.?p...MLoop.?z.m|
00009420  25 3d 70 6f 6c 6c 65 64  62 25 21 34 0d 3f 84 0b  |%=polledb%!4.?..|
00009430  c8 8e 20 6d 25 20 ca 0d  3f 8e 12 20 20 c9 20 30  |.. m% ..?..  . 0|
00009440  3a f2 4c 6f 6f 70 41 6c  6c 0d 3f 98 15 20 20 c9  |:.LoopAll.?..  .|
00009450  20 31 3a f2 4c 6f 6f 70  57 69 6e 64 6f 77 0d 3f  | 1:.LoopWindow.?|
00009460  a2 12 20 20 c9 20 32 3a  f2 4c 6f 6f 70 53 65 6c  |..  . 2:.LoopSel|
00009470  0d 3f ac 13 20 20 c9 20  33 3a f2 4c 6f 6f 70 48  |.?..  . 3:.LoopH|
00009480  61 6c 66 0d 3f b6 15 20  20 c9 20 34 3a f2 4c 6f  |alf.?..  . 4:.Lo|
00009490  6f 70 44 6f 75 62 6c 65  0d 3f c0 14 20 20 c9 20  |opDouble.?..  . |
000094a0  35 3a f2 4c 6f 6f 70 53  74 6f 72 65 0d 3f ca 16  |5:.LoopStore.?..|
000094b0  20 20 c9 20 36 3a f2 4c  6f 6f 70 52 65 73 74 6f  |  . 6:.LoopResto|
000094c0  72 65 0d 3f d4 05 cb 0d  3f de 05 e1 0d 3f e8 04  |re.?....?....?..|
000094d0  0d 3f f2 0d dd f2 4c 6f  6f 70 41 6c 6c 0d 3f fc  |.?....LoopAll.?.|
000094e0  0d 70 6c 6f 6f 70 6c 25  3d 30 0d 40 06 16 70 6c  |.ploopl%=0.@..pl|
000094f0  6f 6f 70 72 25 3d 73 61  6d 70 6c 65 6c 65 6e 25  |oopr%=samplelen%|
00009500  0d 40 10 1e 6c 6f 6f 70  6c 25 3d a4 50 74 72 54  |.@..loopl%=.PtrT|
00009510  6f 57 6f 72 6b 28 70 6c  6f 6f 70 6c 25 29 0d 40  |oWork(ploopl%).@|
00009520  1a 1e 6c 6f 6f 70 72 25  3d a4 50 74 72 54 6f 57  |..loopr%=.PtrToW|
00009530  6f 72 6b 28 70 6c 6f 6f  70 72 25 29 0d 40 24 10  |ork(ploopr%).@$.|
00009540  f2 55 70 64 61 74 65 4c  6f 6f 70 50 0d 40 2e 05  |.UpdateLoopP.@..|
00009550  e1 0d 40 38 04 0d 40 42  10 dd f2 4c 6f 6f 70 57  |..@8..@B...LoopW|
00009560  69 6e 64 6f 77 0d 40 4c  13 6f 70 73 6c 25 3d 70  |indow.@L.opsl%=p|
00009570  73 65 6c 65 63 74 6c 25  0d 40 56 13 6f 70 73 72  |selectl%.@V.opsr|
00009580  25 3d 70 73 65 6c 65 63  74 72 25 0d 40 60 0c f2  |%=pselectr%.@`..|
00009590  67 65 74 77 69 6e 70 0d  40 6a 0c f2 4c 6f 6f 70  |getwinp.@j..Loop|
000095a0  53 65 6c 0d 40 74 13 70  73 65 6c 65 63 74 6c 25  |Sel.@t.pselectl%|
000095b0  3d 6f 70 73 6c 25 0d 40  7e 13 70 73 65 6c 65 63  |=opsl%.@~.pselec|
000095c0  74 72 25 3d 6f 70 73 72  25 0d 40 88 22 73 65 6c  |tr%=opsr%.@."sel|
000095d0  65 63 74 6c 25 3d a4 50  74 72 54 6f 57 6f 72 6b  |ectl%=.PtrToWork|
000095e0  28 70 73 65 6c 65 63 74  6c 25 29 0d 40 92 22 73  |(pselectl%).@."s|
000095f0  65 6c 65 63 74 72 25 3d  a4 50 74 72 54 6f 57 6f  |electr%=.PtrToWo|
00009600  72 6b 28 70 73 65 6c 65  63 74 72 25 29 0d 40 9c  |rk(pselectr%).@.|
00009610  11 f2 55 70 64 61 74 65  53 65 6c 65 63 74 0d 40  |..UpdateSelect.@|
00009620  a6 05 e1 0d 40 b0 04 0d  40 ba 0d dd f2 4c 6f 6f  |....@...@....Loo|
00009630  70 53 65 6c 0d 40 c4 25  e7 20 70 73 65 6c 65 63  |pSel.@.%. pselec|
00009640  74 6c 25 3c 3e 2d 31 20  80 20 70 73 65 6c 65 63  |tl%<>-1 . pselec|
00009650  74 72 25 3c 3e 2d 31 20  8c 0d 40 ce 17 20 20 70  |tr%<>-1 ..@..  p|
00009660  6c 6f 6f 70 6c 25 3d 70  73 65 6c 65 63 74 6c 25  |loopl%=pselectl%|
00009670  0d 40 d8 17 20 20 70 6c  6f 6f 70 72 25 3d 70 73  |.@..  ploopr%=ps|
00009680  65 6c 65 63 74 72 25 0d  40 e2 20 20 20 6c 6f 6f  |electr%.@.   loo|
00009690  70 6c 25 3d a4 50 74 72  54 6f 57 6f 72 6b 28 70  |pl%=.PtrToWork(p|
000096a0  6c 6f 6f 70 6c 25 29 0d  40 ec 20 20 20 6c 6f 6f  |loopl%).@.   loo|
000096b0  70 72 25 3d a4 50 74 72  54 6f 57 6f 72 6b 28 70  |pr%=.PtrToWork(p|
000096c0  6c 6f 6f 70 72 25 29 0d  40 f6 12 20 20 f2 55 70  |loopr%).@..  .Up|
000096d0  64 61 74 65 4c 6f 6f 70  50 0d 41 00 05 cd 0d 41  |dateLoopP.A....A|
000096e0  0a 05 e1 0d 41 14 04 0d  41 1e 0e dd f2 4c 6f 6f  |....A...A....Loo|
000096f0  70 48 61 6c 66 0d 41 28  27 70 6c 6f 6f 70 72 25  |pHalf.A('ploopr%|
00009700  3d 70 6c 6f 6f 70 6c 25  2b 28 70 6c 6f 6f 70 72  |=ploopl%+(ploopr|
00009710  25 2d 70 6c 6f 6f 70 6c  25 29 2f 32 0d 41 32 1e  |%-ploopl%)/2.A2.|
00009720  6c 6f 6f 70 6c 25 3d a4  50 74 72 54 6f 57 6f 72  |loopl%=.PtrToWor|
00009730  6b 28 70 6c 6f 6f 70 6c  25 29 0d 41 3c 1e 6c 6f  |k(ploopl%).A<.lo|
00009740  6f 70 72 25 3d a4 50 74  72 54 6f 57 6f 72 6b 28  |opr%=.PtrToWork(|
00009750  70 6c 6f 6f 70 72 25 29  0d 41 46 10 f2 55 70 64  |ploopr%).AF..Upd|
00009760  61 74 65 4c 6f 6f 70 50  0d 41 50 05 e1 0d 41 5a  |ateLoopP.AP...AZ|
00009770  04 0d 41 64 10 dd f2 4c  6f 6f 70 44 6f 75 62 6c  |..Ad...LoopDoubl|
00009780  65 0d 41 6e 27 70 6c 6f  6f 70 72 25 3d 70 6c 6f  |e.An'ploopr%=plo|
00009790  6f 70 6c 25 2b 28 70 6c  6f 6f 70 72 25 2d 70 6c  |opl%+(ploopr%-pl|
000097a0  6f 6f 70 6c 25 29 2a 32  0d 41 78 52 e7 20 70 6c  |oopl%)*2.AxR. pl|
000097b0  6f 6f 70 72 25 3e 73 61  6d 70 6c 65 6c 65 6e 25  |oopr%>samplelen%|
000097c0  20 8c 20 70 6c 6f 6f 70  6c 25 3d 70 6c 6f 6f 70  | . ploopl%=ploop|
000097d0  6c 25 2d 28 70 6c 6f 6f  70 72 25 2d 73 61 6d 70  |l%-(ploopr%-samp|
000097e0  6c 65 6c 65 6e 25 29 3a  70 6c 6f 6f 70 72 25 3d  |lelen%):ploopr%=|
000097f0  73 61 6d 70 6c 65 6c 65  6e 25 0d 41 82 1b e7 20  |samplelen%.A... |
00009800  70 6c 6f 6f 70 6c 25 3c  30 20 8c 20 70 6c 6f 6f  |ploopl%<0 . ploo|
00009810  70 6c 25 3d 30 0d 41 8c  1e 6c 6f 6f 70 6c 25 3d  |pl%=0.A..loopl%=|
00009820  a4 50 74 72 54 6f 57 6f  72 6b 28 70 6c 6f 6f 70  |.PtrToWork(ploop|
00009830  6c 25 29 0d 41 96 1e 6c  6f 6f 70 72 25 3d a4 50  |l%).A..loopr%=.P|
00009840  74 72 54 6f 57 6f 72 6b  28 70 6c 6f 6f 70 72 25  |trToWork(ploopr%|
00009850  29 0d 41 a0 10 f2 55 70  64 61 74 65 4c 6f 6f 70  |).A...UpdateLoop|
00009860  50 0d 41 aa 05 e1 0d 41  b4 04 0d 41 be 0f dd f2  |P.A....A...A....|
00009870  4c 6f 6f 70 53 74 6f 72  65 0d 41 c8 25 73 70 6c  |LoopStore.A.%spl|
00009880  6f 6f 70 6c 25 3d 70 6c  6f 6f 70 6c 25 3a 73 70  |oopl%=ploopl%:sp|
00009890  6c 6f 6f 70 72 25 3d 70  6c 6f 6f 70 72 25 0d 41  |loopr%=ploopr%.A|
000098a0  d2 05 e1 0d 41 dc 04 0d  41 e6 11 dd f2 4c 6f 6f  |....A...A....Loo|
000098b0  70 52 65 73 74 6f 72 65  0d 41 f0 25 70 6c 6f 6f  |pRestore.A.%ploo|
000098c0  70 6c 25 3d 73 70 6c 6f  6f 70 6c 25 3a 70 6c 6f  |pl%=sploopl%:plo|
000098d0  6f 70 72 25 3d 73 70 6c  6f 6f 70 72 25 0d 41 fa  |opr%=sploopr%.A.|
000098e0  1b e7 20 70 6c 6f 6f 70  6c 25 3c 30 20 8c 20 70  |.. ploopl%<0 . p|
000098f0  6c 6f 6f 70 6c 25 3d 30  0d 42 04 1b e7 20 70 6c  |loopl%=0.B... pl|
00009900  6f 6f 70 72 25 3c 30 20  8c 20 70 6c 6f 6f 70 72  |oopr%<0 . ploopr|
00009910  25 3d 30 0d 42 0e 2d e7  20 70 6c 6f 6f 70 6c 25  |%=0.B.-. ploopl%|
00009920  3e 73 61 6d 70 6c 65 6c  65 6e 25 20 8c 20 70 6c  |>samplelen% . pl|
00009930  6f 6f 70 6c 25 3d 73 61  6d 70 6c 65 6c 65 6e 25  |oopl%=samplelen%|
00009940  0d 42 18 2d e7 20 70 6c  6f 6f 70 72 25 3e 73 61  |.B.-. ploopr%>sa|
00009950  6d 70 6c 65 6c 65 6e 25  20 8c 20 70 6c 6f 6f 70  |mplelen% . ploop|
00009960  72 25 3d 73 61 6d 70 6c  65 6c 65 6e 25 0d 42 22  |r%=samplelen%.B"|
00009970  1e 6c 6f 6f 70 6c 25 3d  a4 50 74 72 54 6f 57 6f  |.loopl%=.PtrToWo|
00009980  72 6b 28 70 6c 6f 6f 70  6c 25 29 0d 42 2c 1e 6c  |rk(ploopl%).B,.l|
00009990  6f 6f 70 72 25 3d a4 50  74 72 54 6f 57 6f 72 6b  |oopr%=.PtrToWork|
000099a0  28 70 6c 6f 6f 70 72 25  29 0d 42 36 10 f2 55 70  |(ploopr%).B6..Up|
000099b0  64 61 74 65 4c 6f 6f 70  50 0d 42 40 05 e1 0d 42  |dateLoopP.B@...B|
000099c0  4a 04 0d 42 54 0e dd f2  4d 47 6f 6f 64 69 65 73  |J..BT...MGoodies|
000099d0  0d 42 5e 25 e7 20 70 73  65 6c 65 63 74 6c 25 3c  |.B^%. pselectl%<|
000099e0  3e 2d 31 20 80 20 70 73  65 6c 65 63 74 72 25 3c  |>-1 . pselectr%<|
000099f0  3e 2d 31 20 8c 0d 42 68  1f 20 20 41 25 3d 73 74  |>-1 ..Bh.  A%=st|
00009a00  61 72 74 73 61 6d 70 6c  65 25 2b 70 73 65 6c 65  |artsample%+psele|
00009a10  63 74 6c 25 0d 42 72 1f  20 20 42 25 3d 73 74 61  |ctl%.Br.  B%=sta|
00009a20  72 74 73 61 6d 70 6c 65  25 2b 70 73 65 6c 65 63  |rtsample%+pselec|
00009a30  74 72 25 0d 42 7c 05 cc  0d 42 86 15 20 20 41 25  |tr%.B|...B..  A%|
00009a40  3d 73 74 61 72 74 73 61  6d 70 6c 65 25 0d 42 90  |=startsample%.B.|
00009a50  20 20 20 42 25 3d 73 74  61 72 74 73 61 6d 70 6c  |   B%=startsampl|
00009a60  65 25 2b 73 61 6d 70 6c  65 6c 65 6e 25 0d 42 9a  |e%+samplelen%.B.|
00009a70  05 cd 0d 42 a4 16 e7 20  41 25 3e 42 25 20 8c 20  |...B... A%>B% . |
00009a80  c8 94 20 41 25 2c 42 25  0d 42 ae 11 6d 25 3d 70  |.. A%,B%.B..m%=p|
00009a90  6f 6c 6c 65 64 62 25 21  34 0d 42 b8 0b c8 8e 20  |olledb%!4.B.... |
00009aa0  6d 25 20 ca 0d 42 c2 13  20 20 c9 20 30 3a f2 4d  |m% ..B..  . 0:.M|
00009ab0  47 53 69 67 6e 65 64 0d  42 cc 13 20 20 c9 20 31  |GSigned.B..  . 1|
00009ac0  3a f2 4d 47 4c 69 6e 4c  6f 67 0d 42 d6 13 20 20  |:.MGLinLog.B..  |
00009ad0  c9 20 32 3a f2 4d 47 4c  6f 67 4c 69 6e 0d 42 e0  |. 2:.MGLogLin.B.|
00009ae0  14 20 20 c9 20 33 3a f2  4d 47 52 65 76 65 72 73  |.  . 3:.MGRevers|
00009af0  65 0d 42 ea 13 20 20 c9  20 34 3a f2 4d 47 46 69  |e.B..  . 4:.MGFi|
00009b00  6c 74 4c 6f 0d 42 f4 13  20 20 c9 20 35 3a f2 4d  |ltLo.B..  . 5:.M|
00009b10  47 46 69 6c 74 48 69 0d  42 fe 12 20 20 c9 20 36  |GFiltHi.B..  . 6|
00009b20  3a f2 4d 47 53 63 41 6d  70 0d 43 08 13 20 20 c9  |:.MGScAmp.C..  .|
00009b30  20 39 3a f2 4d 47 4c 65  6e 67 74 68 0d 43 12 12  | 9:.MGLength.C..|
00009b40  20 20 c9 20 31 30 3a f2  4d 47 46 69 6c 6c 0d 43  |  . 10:.MGFill.C|
00009b50  1c 11 20 20 c9 20 31 31  3a f2 4d 47 46 46 54 0d  |..  . 11:.MGFFT.|
00009b60  43 26 16 20 20 c9 20 31  32 3a f2 4d 47 41 64 64  |C&.  . 12:.MGAdd|
00009b70  43 6c 69 70 42 0d 43 30  05 cb 0d 43 3a 05 e1 0d  |ClipB.C0...C:...|
00009b80  43 44 04 0d 43 4e 0e dd  f2 4d 47 53 69 67 6e 65  |CD..CN...MGSigne|
00009b90  64 0d 43 58 0b d6 73 69  67 6e 65 64 0d 43 62 0b  |d.CX..signed.Cb.|
00009ba0  f2 52 64 57 6f 72 6b 0d  43 6c 10 f2 4d 6f 64 54  |.RdWork.Cl..ModT|
00009bb0  69 74 6c 65 28 30 29 0d  43 76 05 e1 0d 43 80 04  |itle(0).Cv...C..|
00009bc0  0d 43 8a 0e dd f2 4d 47  4c 69 6e 4c 6f 67 0d 43  |.C....MGLinLog.C|
00009bd0  94 1d e7 20 73 74 79 70  65 25 3c 3e 30 20 80 20  |... stype%<>0 . |
00009be0  73 74 79 70 65 25 3c 3e  31 20 8c 0d 43 9e 2e 20  |stype%<>1 ..C.. |
00009bf0  20 f2 52 65 70 6f 72 74  45 72 72 28 22 53 46 58  | .ReportErr("SFX|
00009c00  45 44 20 6e 6f 74 20 69  6e 20 6c 69 6e 65 61 69  |ED not in lineai|
00009c10  72 20 6d 6f 64 65 2e 22  29 0d 43 a8 05 cc 0d 43  |r mode.").C....C|
00009c20  b2 38 20 20 c8 99 22 53  46 58 4d 50 5f 53 74 6f  |.8  .."SFXMP_Sto|
00009c30  70 22 2c 31 3a c8 99 22  53 46 58 4d 50 5f 53 74  |p",1:.."SFXMP_St|
00009c40  6f 70 22 2c 32 3a c8 99  22 53 46 58 4d 50 5f 53  |op",2:.."SFXMP_S|
00009c50  74 6f 70 22 2c 33 0d 43  bc 0f 20 20 43 25 3d 73  |top",3.C..  C%=s|
00009c60  74 79 70 65 25 0d 43 c6  0d 20 20 d6 6c 69 6e 6c  |type%.C..  .linl|
00009c70  6f 67 0d 43 d0 0e 20 20  73 74 79 70 65 25 3d 32  |og.C..  stype%=2|
00009c80  0d 43 da 0f 20 20 f2 41  64 6a 54 79 70 65 4d 0d  |.C..  .AdjTypeM.|
00009c90  43 e4 0d 20 20 f2 52 64  57 6f 72 6b 0d 43 ee 12  |C..  .RdWork.C..|
00009ca0  20 20 f2 4d 6f 64 54 69  74 6c 65 28 30 29 0d 43  |  .ModTitle(0).C|
00009cb0  f8 05 cd 0d 44 02 05 e1  0d 44 0c 04 0d 44 16 0e  |....D....D...D..|
00009cc0  dd f2 4d 47 4c 6f 67 4c  69 6e 0d 44 20 36 c8 99  |..MGLogLin.D 6..|
00009cd0  22 53 46 58 4d 50 5f 53  74 6f 70 22 2c 31 3a c8  |"SFXMP_Stop",1:.|
00009ce0  99 22 53 46 58 4d 50 5f  53 74 6f 70 22 2c 32 3a  |."SFXMP_Stop",2:|
00009cf0  c8 99 22 53 46 58 4d 50  5f 53 74 6f 70 22 2c 33  |.."SFXMP_Stop",3|
00009d00  0d 44 2a 0b d6 6c 6f 67  6c 69 6e 0d 44 34 0c 73  |.D*..loglin.D4.s|
00009d10  74 79 70 65 25 3d 30 0d  44 3e 0d f2 41 64 6a 54  |type%=0.D>..AdjT|
00009d20  79 70 65 4d 0d 44 48 0b  f2 52 64 57 6f 72 6b 0d  |ypeM.DH..RdWork.|
00009d30  44 52 10 f2 4d 6f 64 54  69 74 6c 65 28 30 29 0d  |DR..ModTitle(0).|
00009d40  44 5c 05 e1 0d 44 66 04  0d 44 70 0f dd f2 4d 47  |D\...Df..Dp...MG|
00009d50  52 65 76 65 72 73 65 0d  44 7a 0c d6 72 65 76 65  |Reverse.Dz..reve|
00009d60  72 73 65 0d 44 84 0b f2  52 64 57 6f 72 6b 0d 44  |rse.D...RdWork.D|
00009d70  8e 10 f2 4d 6f 64 54 69  74 6c 65 28 30 29 0d 44  |...ModTitle(0).D|
00009d80  98 05 e1 0d 44 a2 04 0d  44 ac 0e dd f2 4d 47 46  |....D...D....MGF|
00009d90  69 6c 74 4c 6f 0d 44 b6  10 e7 20 73 74 79 70 65  |iltLo.D... stype|
00009da0  25 3d 32 20 8c 0d 44 c0  2d 20 20 f2 52 65 70 6f  |%=2 ..D.-  .Repo|
00009db0  72 74 45 72 72 28 22 4f  6e 6c 79 20 66 6f 72 20  |rtErr("Only for |
00009dc0  6c 69 6e 65 61 69 72 20  73 61 6d 70 6c 65 73 2e  |lineair samples.|
00009dd0  22 29 0d 44 ca 05 cc 0d  44 d4 1d 20 20 43 25 3d  |").D....D..  C%=|
00009de0  31 36 2a bb 28 24 28 6d  66 69 6c 74 6c 6f 25 21  |16*.($(mfiltlo%!|
00009df0  34 30 29 29 0d 44 de 18  20 20 e7 20 43 25 3c 30  |40)).D..  . C%<0|
00009e00  20 84 20 43 25 3e 34 30  39 35 20 8c 0d 44 e8 30  | . C%>4095 ..D.0|
00009e10  20 20 20 20 f2 52 65 70  6f 72 74 45 72 72 28 22  |    .ReportErr("|
00009e20  4f 6e 6c 79 20 76 61 6c  75 65 73 20 66 72 6f 6d  |Only values from|
00009e30  20 30 20 74 6f 20 32 35  36 2e 22 29 0d 44 f2 07  | 0 to 256.").D..|
00009e40  20 20 cc 0d 44 fc 11 20  20 20 20 44 25 3d 73 74  |  ..D..    D%=st|
00009e50  79 70 65 25 0d 45 06 0f  20 20 20 20 45 25 3d 41  |ype%.E..    E%=A|
00009e60  25 3f 30 0d 45 10 20 20  20 20 20 e7 20 73 74 79  |%?0.E.     . sty|
00009e70  70 65 25 3d 31 20 8c 20  45 25 3d 45 25 20 82 20  |pe%=1 . E%=E% . |
00009e80  26 38 30 0d 45 1a 17 20  20 20 20 45 25 3d 28 45  |&80.E..    E%=(E|
00009e90  25 3c 3c 32 34 29 3e 3e  32 34 0d 45 24 11 20 20  |%<<24)>>24.E$.  |
00009ea0  20 20 45 25 3d 45 25 2a  32 35 36 0d 45 2e 0f 20  |  E%=E%*256.E.. |
00009eb0  20 20 20 d6 66 69 6c 74  6c 6f 0d 45 38 0f 20 20  |   .filtlo.E8.  |
00009ec0  20 20 f2 52 64 57 6f 72  6b 0d 45 42 14 20 20 20  |  .RdWork.EB.   |
00009ed0  20 f2 4d 6f 64 54 69 74  6c 65 28 30 29 0d 45 4c  | .ModTitle(0).EL|
00009ee0  07 20 20 cd 0d 45 56 05  cd 0d 45 60 05 e1 0d 45  |.  ..EV...E`...E|
00009ef0  6a 04 0d 45 74 0e dd f2  4d 47 46 69 6c 74 48 69  |j..Et...MGFiltHi|
00009f00  0d 45 7e 10 e7 20 73 74  79 70 65 25 3d 32 20 8c  |.E~.. stype%=2 .|
00009f10  0d 45 88 2d 20 20 f2 52  65 70 6f 72 74 45 72 72  |.E.-  .ReportErr|
00009f20  28 22 4f 6e 6c 79 20 66  6f 72 20 6c 69 6e 65 61  |("Only for linea|
00009f30  69 72 20 73 61 6d 70 6c  65 73 2e 22 29 0d 45 92  |ir samples.").E.|
00009f40  05 cc 0d 45 9c 1d 20 20  43 25 3d 31 36 2a bb 28  |...E..  C%=16*.(|
00009f50  24 28 6d 66 69 6c 74 68  69 25 21 34 30 29 29 0d  |$(mfilthi%!40)).|
00009f60  45 a6 18 20 20 e7 20 43  25 3c 30 20 84 20 43 25  |E..  . C%<0 . C%|
00009f70  3e 34 30 39 35 20 8c 0d  45 b0 2f 20 20 20 20 f2  |>4095 ..E./    .|
00009f80  52 65 70 6f 72 74 45 72  72 28 22 4f 6e 6c 79 20  |ReportErr("Only |
00009f90  76 61 6c 75 65 73 20 66  72 6f 6d 20 30 20 74 6f  |values from 0 to|
00009fa0  20 32 35 36 22 29 0d 45  ba 07 20 20 cc 0d 45 c4  | 256").E..  ..E.|
00009fb0  11 20 20 20 20 44 25 3d  73 74 79 70 65 25 0d 45  |.    D%=stype%.E|
00009fc0  ce 2a 20 20 20 20 e7 20  41 25 3d 73 74 61 72 74  |.*    . A%=start|
00009fd0  73 61 6d 70 6c 65 25 20  8c 20 45 25 3d 30 20 8b  |sample% . E%=0 .|
00009fe0  20 45 25 3d 41 25 3f 30  0d 45 d8 20 20 20 20 20  | E%=A%?0.E.     |
00009ff0  e7 20 73 74 79 70 65 25  3d 31 20 8c 20 45 25 3d  |. stype%=1 . E%=|
0000a000  45 25 20 82 20 26 38 30  0d 45 e2 17 20 20 20 20  |E% . &80.E..    |
0000a010  45 25 3d 28 45 25 3c 3c  32 34 29 3e 3e 32 34 0d  |E%=(E%<<24)>>24.|
0000a020  45 ec 11 20 20 20 20 45  25 3d 45 25 2a 32 35 36  |E..    E%=E%*256|
0000a030  0d 45 f6 0f 20 20 20 20  d6 66 69 6c 74 68 69 0d  |.E..    .filthi.|
0000a040  46 00 0f 20 20 20 20 f2  52 64 57 6f 72 6b 0d 46  |F..    .RdWork.F|
0000a050  0a 14 20 20 20 20 f2 4d  6f 64 54 69 74 6c 65 28  |..    .ModTitle(|
0000a060  30 29 0d 46 14 07 20 20  cd 0d 46 1e 05 cd 0d 46  |0).F..  ..F....F|
0000a070  28 05 e1 0d 46 32 04 0d  46 3c 0d dd f2 4d 47 53  |(...F2..F<...MGS|
0000a080  63 41 6d 70 0d 46 46 10  e7 20 73 74 79 70 65 25  |cAmp.FF.. stype%|
0000a090  3d 32 20 8c 0d 46 50 2d  20 20 f2 52 65 70 6f 72  |=2 ..FP-  .Repor|
0000a0a0  74 45 72 72 28 22 4f 6e  6c 79 20 66 6f 72 20 6c  |tErr("Only for l|
0000a0b0  69 6e 65 61 69 72 20 73  61 6d 70 6c 65 73 2e 22  |ineair samples."|
0000a0c0  29 0d 46 5a 05 cc 0d 46  64 22 20 20 43 25 3d 34  |).FZ...Fd"  C%=4|
0000a0d0  30 39 36 2a bb 28 24 28  6d 73 63 61 6d 70 25 21  |096*.($(mscamp%!|
0000a0e0  34 30 29 29 2f 31 30 30  0d 46 6e 0f 20 20 44 25  |40))/100.Fn.  D%|
0000a0f0  3d 73 74 79 70 65 25 0d  46 78 0c 20 20 d6 73 63  |=stype%.Fx.  .sc|
0000a100  61 6d 70 0d 46 82 0d 20  20 f2 52 64 57 6f 72 6b  |amp.F..  .RdWork|
0000a110  0d 46 8c 12 20 20 f2 4d  6f 64 54 69 74 6c 65 28  |.F..  .ModTitle(|
0000a120  30 29 0d 46 96 05 cd 0d  46 a0 05 e1 0d 46 aa 04  |0).F....F....F..|
0000a130  0d 46 b4 0e dd f2 4d 47  4c 65 6e 67 74 68 0d 46  |.F....MGLength.F|
0000a140  be 1c 66 72 3d bb 28 24  28 6d 6e 65 77 6c 65 6e  |..fr=.($(mnewlen|
0000a150  25 21 34 30 29 29 2f 31  30 30 0d 46 c8 17 73 61  |%!40))/100.F..sa|
0000a160  25 3d 41 25 2d 73 74 61  72 74 73 61 6d 70 6c 65  |%=A%-startsample|
0000a170  25 0d 46 d2 17 73 62 25  3d 42 25 2d 73 74 61 72  |%.F..sb%=B%-star|
0000a180  74 73 61 6d 70 6c 65 25  0d 46 dc 4e 63 25 3d a4  |tsample%.F.Nc%=.|
0000a190  43 68 65 63 6b 4c 65 6e  28 73 61 6d 70 6c 65 6c  |CheckLen(samplel|
0000a1a0  65 6e 25 2b 63 6c 69 70  62 6c 65 6e 25 2b 28 73  |en%+clipblen%+(s|
0000a1b0  62 25 2d 73 61 25 29 2a  28 66 72 2d 31 29 2c 22  |b%-sa%)*(fr-1),"|
0000a1c0  4e 6f 20 72 6f 6f 6d 20  66 6f 72 20 73 74 72 65  |No room for stre|
0000a1d0  74 63 68 2e 22 29 0d 46  e6 0c e7 20 63 25 3d 30  |tch.").F... c%=0|
0000a1e0  20 8c 0d 46 f0 15 20 20  73 63 25 3d 66 72 2a 26  | ..F..  sc%=fr*&|
0000a1f0  31 30 30 30 30 30 30 0d  46 fa 17 20 20 e7 20 73  |1000000.F..  . s|
0000a200  63 25 3e 3d 26 31 30 30  30 30 30 30 20 8c 0d 47  |c%>=&1000000 ..G|
0000a210  04 1b 20 20 20 20 41 25  3d 73 74 61 72 74 73 61  |..    A%=startsa|
0000a220  6d 70 6c 65 25 2b 73 62  25 0d 47 0e 28 20 20 20  |mple%+sb%.G.(   |
0000a230  20 42 25 3d 73 74 61 72  74 73 61 6d 70 6c 65 25  | B%=startsample%|
0000a240  2b 73 61 25 2b 28 73 62  25 2d 73 61 25 29 2a 66  |+sa%+(sb%-sa%)*f|
0000a250  72 0d 47 18 19 20 20 20  20 43 25 3d 73 61 6d 70  |r.G..    C%=samp|
0000a260  6c 65 6c 65 6e 25 2d 73  62 25 0d 47 22 10 20 20  |lelen%-sb%.G".  |
0000a270  20 20 d6 63 6f 70 79 6d  65 6d 0d 47 2c 07 20 20  |  .copymem.G,.  |
0000a280  cd 0d 47 36 19 20 20 41  25 3d 73 74 61 72 74 73  |..G6.  A%=starts|
0000a290  61 6d 70 6c 65 25 2b 73  61 25 0d 47 40 19 20 20  |ample%+sa%.G@.  |
0000a2a0  42 25 3d 73 74 61 72 74  73 61 6d 70 6c 65 25 2b  |B%=startsample%+|
0000a2b0  73 62 25 0d 47 4a 0c 20  20 43 25 3d 73 63 25 0d  |sb%.GJ.  C%=sc%.|
0000a2c0  47 54 16 20 20 e7 20 73  63 25 3c 26 31 30 30 30  |GT.  . sc%<&1000|
0000a2d0  30 30 30 20 8c 0d 47 5e  2b 20 20 20 20 e7 20 66  |000 ..G^+    . f|
0000a2e0  72 3c 3e 30 20 8c 20 43  25 3d 26 31 30 30 30 30  |r<>0 . C%=&10000|
0000a2f0  30 30 2f 66 72 3a d6 6e  77 6c 65 6e 67 74 68 73  |00/fr:.nwlengths|
0000a300  0d 47 68 07 20 20 cc 0d  47 72 16 20 20 20 20 43  |.Gh.  ..Gr.    C|
0000a310  25 3d 26 31 30 30 30 30  30 30 2f 66 72 0d 47 7c  |%=&1000000/fr.G||
0000a320  28 20 20 20 20 44 25 3d  73 74 61 72 74 73 61 6d  |(    D%=startsam|
0000a330  70 6c 65 25 2b 73 61 25  2b 28 73 62 25 2d 73 61  |ple%+sa%+(sb%-sa|
0000a340  25 29 2a 66 72 0d 47 86  12 20 20 20 20 d6 6e 77  |%)*fr.G..    .nw|
0000a350  6c 65 6e 67 74 68 62 0d  47 90 07 20 20 cd 0d 47  |lengthb.G..  ..G|
0000a360  9a 16 20 20 e7 20 73 63  25 3c 26 31 30 30 30 30  |..  . sc%<&10000|
0000a370  30 30 20 8c 0d 47 a4 1b  20 20 20 20 41 25 3d 73  |00 ..G..    A%=s|
0000a380  74 61 72 74 73 61 6d 70  6c 65 25 2b 73 62 25 0d  |tartsample%+sb%.|
0000a390  47 ae 28 20 20 20 20 42  25 3d 73 74 61 72 74 73  |G.(    B%=starts|
0000a3a0  61 6d 70 6c 65 25 2b 73  61 25 2b 28 73 62 25 2d  |ample%+sa%+(sb%-|
0000a3b0  73 61 25 29 2a 66 72 0d  47 b8 19 20 20 20 20 43  |sa%)*fr.G..    C|
0000a3c0  25 3d 73 61 6d 70 6c 65  6c 65 6e 25 2d 73 62 25  |%=samplelen%-sb%|
0000a3d0  0d 47 c2 10 20 20 20 20  d6 63 6f 70 79 6d 65 6d  |.G..    .copymem|
0000a3e0  0d 47 cc 07 20 20 cd 0d  47 d6 3c 20 20 e7 20 70  |.G..  ..G.<  . p|
0000a3f0  6c 6f 6f 70 6c 25 3e 73  61 25 20 8c 20 70 6c 6f  |loopl%>sa% . plo|
0000a400  6f 70 6c 25 3d 70 6c 6f  6f 70 6c 25 2d 28 73 62  |opl%=ploopl%-(sb|
0000a410  25 2d 73 61 25 29 2b 28  73 62 25 2d 73 61 25 29  |%-sa%)+(sb%-sa%)|
0000a420  2a 66 72 0d 47 e0 3c 20  20 e7 20 70 6c 6f 6f 70  |*fr.G.<  . ploop|
0000a430  72 25 3e 73 61 25 20 8c  20 70 6c 6f 6f 70 72 25  |r%>sa% . ploopr%|
0000a440  3d 70 6c 6f 6f 70 72 25  2d 28 73 62 25 2d 73 61  |=ploopr%-(sb%-sa|
0000a450  25 29 2b 28 73 62 25 2d  73 61 25 29 2a 66 72 0d  |%)+(sb%-sa%)*fr.|
0000a460  47 ea 0e 20 20 f2 67 65  74 77 69 6e 70 0d 47 f4  |G..  .getwinp.G.|
0000a470  32 20 20 73 61 6d 70 6c  65 6c 65 6e 25 3d 73 61  |2  samplelen%=sa|
0000a480  6d 70 6c 65 6c 65 6e 25  2d 28 73 62 25 2d 73 61  |mplelen%-(sb%-sa|
0000a490  25 29 2b 28 73 62 25 2d  73 61 25 29 2a 66 72 0d  |%)+(sb%-sa%)*fr.|
0000a4a0  47 fe 45 20 20 e7 20 73  61 6d 70 6c 65 6c 65 6e  |G.E  . samplelen|
0000a4b0  25 3c 31 20 8c 20 73 61  6d 70 6c 65 6c 65 6e 25  |%<1 . samplelen%|
0000a4c0  3d 31 3a 73 74 61 72 74  73 61 6d 70 6c 65 25 3f  |=1:startsample%?|
0000a4d0  30 3d 30 3a 73 74 61 72  74 73 61 6d 70 6c 65 25  |0=0:startsample%|
0000a4e0  3f 31 3d 30 0d 48 08 10  20 20 f2 43 68 65 63 6b  |?1=0.H..  .Check|
0000a4f0  4c 6f 6f 70 0d 48 12 10  20 20 f2 43 68 65 63 6b  |Loop.H..  .Check|
0000a500  53 6f 6e 67 0d 48 1c 0e  20 20 f2 61 64 6a 70 74  |Song.H..  .adjpt|
0000a510  72 73 0d 48 26 0e 20 20  f2 5a 6f 6f 6d 53 65 6c  |rs.H&.  .ZoomSel|
0000a520  0d 48 30 12 20 20 f2 4d  6f 64 54 69 74 6c 65 28  |.H0.  .ModTitle(|
0000a530  30 29 0d 48 3a 05 cd 0d  48 44 05 e1 0d 48 4e 04  |0).H:...HD...HN.|
0000a540  0d 48 58 0c dd f2 4d 47  46 69 6c 6c 0d 48 62 1e  |.HX...MGFill.Hb.|
0000a550  e7 20 73 74 79 70 65 25  3d 31 20 8c 20 43 25 3d  |. stype%=1 . C%=|
0000a560  31 32 38 20 8b 20 43 25  3d 30 0d 48 6c 0c d6 66  |128 . C%=0.Hl..f|
0000a570  69 6c 6c 6d 65 6d 0d 48  76 0b f2 52 64 57 6f 72  |illmem.Hv..RdWor|
0000a580  6b 0d 48 80 10 f2 4d 6f  64 54 69 74 6c 65 28 30  |k.H...ModTitle(0|
0000a590  29 0d 48 8a 05 e1 0d 48  94 04 0d 48 9e 0b dd f2  |).H....H...H....|
0000a5a0  4d 47 46 46 54 0d 48 a8  10 e7 20 73 74 79 70 65  |MGFFT.H... stype|
0000a5b0  25 3d 32 20 8c 0d 48 b2  2d 20 20 f2 52 65 70 6f  |%=2 ..H.-  .Repo|
0000a5c0  72 74 45 72 72 28 22 4f  6e 6c 79 20 66 6f 72 20  |rtErr("Only for |
0000a5d0  6c 69 6e 65 61 69 72 20  73 61 6d 70 6c 65 73 2e  |lineair samples.|
0000a5e0  22 29 0d 48 bc 05 cc 0d  48 c6 1a 20 20 43 25 3d  |").H....H..  C%=|
0000a5f0  bb 28 24 28 6d 66 66 74  61 6d 70 25 21 34 30 29  |.($(mfftamp%!40)|
0000a600  29 0d 48 d0 13 20 20 e7  20 43 25 3c 30 20 8c 20  |).H..  . C%<0 . |
0000a610  43 25 3d 30 0d 48 da 16  20 20 c8 99 22 48 6f 75  |C%=0.H..  .."Hou|
0000a620  72 67 6c 61 73 73 5f 4f  6e 22 0d 48 e4 20 20 20  |rglass_On".H.   |
0000a630  c8 99 22 57 69 6d 70 5f  42 61 73 65 4f 66 53 70  |.."Wimp_BaseOfSp|
0000a640  72 69 74 65 73 22 b8 2c  53 25 0d 48 ee 2d 20 20  |rites".,S%.H.-  |
0000a650  c8 99 22 4f 53 5f 53 70  72 69 74 65 4f 70 22 2c  |.."OS_SpriteOp",|
0000a660  36 30 2b 32 35 36 2c 53  25 2c 22 66 66 74 73 70  |60+256,S%,"fftsp|
0000a670  72 69 74 65 22 2c 30 0d  48 f8 0a 20 20 da 3a ef  |rite",0.H..  .:.|
0000a680  35 0d 49 02 15 20 20 86  20 35 31 32 2c 35 31 32  |5.I..  . 512,512|
0000a690  2c 30 2c 32 35 36 0d 49  0c 18 20 20 86 20 35 31  |,0,256.I..  . 51|
0000a6a0  32 2c 35 31 32 2c 31 30  32 34 2c 32 35 36 0d 49  |2,512,1024,256.I|
0000a6b0  16 18 20 20 86 20 35 31  32 2c 35 31 32 2c 35 31  |..  . 512,512,51|
0000a6c0  32 2c 31 30 32 34 0d 49  20 0d 20 20 ec 20 38 2c  |2,1024.I .  . 8,|
0000a6d0  32 31 32 0d 49 2a 0b 20  20 f1 22 66 22 3b 0d 49  |212.I*.  ."f";.I|
0000a6e0  34 14 20 20 86 20 32 36  2c 32 33 32 2c 30 2c 32  |4.  . 26,232,0,2|
0000a6f0  32 30 0d 49 3e 14 20 20  86 20 31 32 2c 32 32 30  |20.I>.  . 12,220|
0000a700  2c 30 2c 32 32 30 0d 49  48 13 20 20 86 20 38 2c  |,0,220.IH.  . 8,|
0000a710  32 32 38 2c 30 2c 32 32  30 0d 49 52 10 20 20 ec  |228,0,220.IR.  .|
0000a720  20 31 30 30 30 2c 32 31  32 0d 49 5c 0b 20 20 f1  | 1000,212.I\.  .|
0000a730  22 74 22 3b 0d 49 66 18  20 20 86 20 39 39 36 2c  |"t";.If.  . 996,|
0000a740  32 33 32 2c 31 30 32 32  2c 32 32 30 0d 49 70 19  |232,1022,220.Ip.|
0000a750  20 20 86 20 31 30 31 30  2c 32 32 30 2c 31 30 32  |  . 1010,220,102|
0000a760  32 2c 32 32 30 0d 49 7a  19 20 20 86 20 31 30 31  |2,220.Iz.  . 101|
0000a770  34 2c 32 32 38 2c 31 30  32 32 2c 32 32 30 0d 49  |4,228,1022,220.I|
0000a780  84 10 20 20 ec 20 34 39  30 2c 31 30 32 30 0d 49  |..  . 490,1020.I|
0000a790  8e 0b 20 20 f1 22 41 22  3b 0d 49 98 18 20 20 86  |..  ."A";.I..  .|
0000a7a0  20 34 38 30 2c 31 30 32  30 2c 34 38 30 2c 39 38  | 480,1020,480,98|
0000a7b0  38 0d 49 a2 19 20 20 86  20 34 37 36 2c 31 30 30  |8.I..  . 476,100|
0000a7c0  38 2c 34 38 30 2c 31 30  32 30 0d 49 ac 19 20 20  |8,480,1020.I..  |
0000a7d0  86 20 34 38 34 2c 31 30  30 38 2c 34 38 30 2c 31  |. 484,1008,480,1|
0000a7e0  30 32 30 0d 49 b6 04 0d  49 c0 13 20 20 66 66 74  |020.I...I..  fft|
0000a7f0  63 6f 64 65 25 21 34 3d  41 25 0d 49 ca 13 20 20  |code%!4=A%.I..  |
0000a800  66 66 74 63 6f 64 65 25  21 38 3d 42 25 0d 49 d4  |fftcode%!8=B%.I.|
0000a810  13 20 20 66 66 74 63 6f  64 65 25 21 31 32 3d 30  |.  fftcode%!12=0|
0000a820  0d 49 de 3c 20 20 e7 20  28 42 25 2d 41 25 29 3c  |.I.<  . (B%-A%)<|
0000a830  31 32 38 20 8c 20 66 66  74 63 6f 64 65 25 21 31  |128 . fftcode%!1|
0000a840  36 3d 30 20 8b 20 66 66  74 63 6f 64 65 25 21 31  |6=0 . fftcode%!1|
0000a850  36 3d 36 34 2a 28 42 25  2d 41 25 29 0d 49 e8 13  |6=64*(B%-A%).I..|
0000a860  20 20 66 66 74 63 6f 64  65 25 21 32 30 3d 30 0d  |  fftcode%!20=0.|
0000a870  49 f2 18 20 20 66 66 74  63 6f 64 65 25 21 32 34  |I..  fftcode%!24|
0000a880  3d 73 74 79 70 65 25 0d  49 fc 14 20 20 66 66 74  |=stype%.I..  fft|
0000a890  63 6f 64 65 25 21 32 38  3d 43 25 0d 4a 06 15 20  |code%!28=C%.J.. |
0000a8a0  20 66 66 74 63 6f 64 65  25 21 33 32 3d 35 31 32  | fftcode%!32=512|
0000a8b0  0d 4a 10 15 20 20 66 66  74 63 6f 64 65 25 21 33  |.J..  fftcode%!3|
0000a8c0  36 3d 35 31 32 0d 4a 1a  1b 20 20 66 66 74 63 6f  |6=512.J..  fftco|
0000a8d0  64 65 25 21 34 30 3d 66  66 74 72 63 6f 65 66 25  |de%!40=fftrcoef%|
0000a8e0  0d 4a 24 1b 20 20 66 66  74 63 6f 64 65 25 21 34  |.J$.  fftcode%!4|
0000a8f0  34 3d 66 66 74 69 63 6f  65 66 25 0d 4a 2e 0f 20  |4=ffticoef%.J.. |
0000a900  20 d6 66 66 74 63 6f 64  65 25 0d 4a 38 04 0d 4a  | .fftcode%.J8..J|
0000a910  42 23 20 20 c8 99 22 4f  53 5f 53 70 72 69 74 65  |B#  .."OS_Sprite|
0000a920  4f 70 22 2c 36 30 2b 32  35 36 2c 53 25 2c 30 2c  |Op",60+256,S%,0,|
0000a930  30 0d 4a 4c 14 20 20 74  65 6d 70 25 21 30 3d 77  |0.JL.  temp%!0=w|
0000a940  66 66 74 68 25 0d 4a 56  21 20 20 c8 99 22 57 69  |ffth%.JV!  .."Wi|
0000a950  6d 70 5f 43 6c 6f 73 65  57 69 6e 64 6f 77 22 2c  |mp_CloseWindow",|
0000a960  2c 74 65 6d 70 25 0d 4a  60 24 20 20 c8 99 22 57  |,temp%.J`$  .."W|
0000a970  69 6d 70 5f 47 65 74 57  69 6e 64 6f 77 53 74 61  |imp_GetWindowSta|
0000a980  74 65 22 2c 2c 74 65 6d  70 25 0d 4a 6a 11 20 20  |te",,temp%.Jj.  |
0000a990  74 65 6d 70 25 21 32 38  3d 2d 31 0d 4a 74 20 20  |temp%!28=-1.Jt  |
0000a9a0  20 c8 99 22 57 69 6d 70  5f 4f 70 65 6e 57 69 6e  | .."Wimp_OpenWin|
0000a9b0  64 6f 77 22 2c 2c 74 65  6d 70 25 0d 4a 7e 17 20  |dow",,temp%.J~. |
0000a9c0  20 c8 99 22 48 6f 75 72  67 6c 61 73 73 5f 4f 66  | .."Hourglass_Of|
0000a9d0  66 22 0d 4a 88 05 cd 0d  4a 92 05 e1 0d 4a 9c 04  |f".J....J....J..|
0000a9e0  0d 4a a6 10 dd f2 4d 47  41 64 64 43 6c 69 70 42  |.J....MGAddClipB|
0000a9f0  0d 4a b0 10 e7 20 73 74  79 70 65 25 3d 32 20 8c  |.J... stype%=2 .|
0000aa00  0d 4a ba 2d 20 20 f2 52  65 70 6f 72 74 45 72 72  |.J.-  .ReportErr|
0000aa10  28 22 4f 6e 6c 79 20 66  6f 72 20 6c 69 6e 65 61  |("Only for linea|
0000aa20  69 72 20 73 61 6d 70 6c  65 73 2e 22 29 0d 4a c4  |ir samples.").J.|
0000aa30  05 cc 0d 4a ce 31 20 20  e7 20 42 25 2d 41 25 3e  |...J.1  . B%-A%>|
0000aa40  63 6c 69 70 62 6c 65 6e  25 20 8c 20 43 25 3d 63  |clipblen% . C%=c|
0000aa50  6c 69 70 62 6c 65 6e 25  20 8b 20 43 25 3d 42 25  |lipblen% . C%=B%|
0000aa60  2d 41 25 0d 4a d8 14 20  20 42 25 3d 63 6c 69 70  |-A%.J..  B%=clip|
0000aa70  62 73 74 61 72 74 25 0d  4a e2 0f 20 20 44 25 3d  |bstart%.J..  D%=|
0000aa80  73 74 79 70 65 25 0d 4a  ec 0e 20 20 d6 61 64 64  |stype%.J..  .add|
0000aa90  63 6c 69 70 0d 4a f6 0d  20 20 f2 52 64 57 6f 72  |clip.J..  .RdWor|
0000aaa0  6b 0d 4b 00 12 20 20 f2  4d 6f 64 54 69 74 6c 65  |k.K..  .ModTitle|
0000aab0  28 30 29 0d 4b 0a 05 cd  0d 4b 14 05 e1 0d 4b 1e  |(0).K....K....K.|
0000aac0  04 0d 4b 28 0f dd f2 45  63 68 6f 43 6c 69 63 6b  |..K(...EchoClick|
0000aad0  0d 4b 32 25 e7 20 70 73  65 6c 65 63 74 6c 25 3c  |.K2%. pselectl%<|
0000aae0  3e 2d 31 20 80 20 70 73  65 6c 65 63 74 72 25 3c  |>-1 . pselectr%<|
0000aaf0  3e 2d 31 20 8c 0d 4b 3c  1f 20 20 41 25 3d 73 74  |>-1 ..K<.  A%=st|
0000ab00  61 72 74 73 61 6d 70 6c  65 25 2b 70 73 65 6c 65  |artsample%+psele|
0000ab10  63 74 6c 25 0d 4b 46 1f  20 20 42 25 3d 73 74 61  |ctl%.KF.  B%=sta|
0000ab20  72 74 73 61 6d 70 6c 65  25 2b 70 73 65 6c 65 63  |rtsample%+pselec|
0000ab30  74 72 25 0d 4b 50 05 cc  0d 4b 5a 15 20 20 41 25  |tr%.KP...KZ.  A%|
0000ab40  3d 73 74 61 72 74 73 61  6d 70 6c 65 25 0d 4b 64  |=startsample%.Kd|
0000ab50  20 20 20 42 25 3d 73 74  61 72 74 73 61 6d 70 6c  |   B%=startsampl|
0000ab60  65 25 2b 73 61 6d 70 6c  65 6c 65 6e 25 0d 4b 6e  |e%+samplelen%.Kn|
0000ab70  05 cd 0d 4b 78 16 e7 20  41 25 3e 42 25 20 8c 20  |...Kx.. A%>B% . |
0000ab80  c8 94 20 41 25 2c 42 25  0d 4b 82 15 e7 20 70 6f  |.. A%,B%.K... po|
0000ab90  6c 6c 65 64 62 25 21 31  36 3d 38 20 8c 0d 4b 8c  |lledb%!16=8 ..K.|
0000aba0  12 20 20 c8 97 20 61 25  2c 62 25 2c 62 63 25 0d  |.  .. a%,b%,bc%.|
0000abb0  4b 96 12 20 20 e7 20 73  74 79 70 65 25 3d 32 20  |K..  . stype%=2 |
0000abc0  8c 0d 4b a0 2f 20 20 20  20 f2 52 65 70 6f 72 74  |..K./    .Report|
0000abd0  45 72 72 28 22 4f 6e 6c  79 20 66 6f 72 20 6c 69  |Err("Only for li|
0000abe0  6e 65 61 69 72 20 73 61  6d 70 6c 65 73 2e 22 29  |neair samples.")|
0000abf0  0d 4b aa 07 20 20 cc 0d  4b b4 17 20 20 20 20 74  |.K..  ..K..    t|
0000ac00  65 6d 70 25 21 30 3d 77  65 63 68 6f 68 25 0d 4b  |emp%!0=wechoh%.K|
0000ac10  be 11 20 20 20 20 74 65  6d 70 25 21 34 3d 32 0d  |..    temp%!4=2.|
0000ac20  4b c8 24 20 20 20 20 c8  99 22 57 69 6d 70 5f 47  |K.$    .."Wimp_G|
0000ac30  65 74 49 63 6f 6e 53 74  61 74 65 22 2c 2c 74 65  |etIconState",,te|
0000ac40  6d 70 25 0d 4b d2 27 20  20 20 20 43 25 3d 32 35  |mp%.K.'    C%=25|
0000ac50  36 2d 28 32 35 36 2a bb  28 24 28 74 65 6d 70 25  |6-(256*.($(temp%|
0000ac60  21 32 38 29 29 2f 31 30  30 29 0d 4b dc 17 20 20  |!28))/100).K..  |
0000ac70  20 20 74 65 6d 70 25 21  30 3d 77 65 63 68 6f 68  |  temp%!0=wechoh|
0000ac80  25 0d 4b e6 11 20 20 20  20 74 65 6d 70 25 21 34  |%.K..    temp%!4|
0000ac90  3d 33 0d 4b f0 24 20 20  20 20 c8 99 22 57 69 6d  |=3.K.$    .."Wim|
0000aca0  70 5f 47 65 74 49 63 6f  6e 53 74 61 74 65 22 2c  |p_GetIconState",|
0000acb0  2c 74 65 6d 70 25 0d 4b  fa 19 20 20 20 20 44 25  |,temp%.K..    D%|
0000acc0  3d bb 28 24 28 74 65 6d  70 25 21 32 38 29 29 0d  |=.($(temp%!28)).|
0000acd0  4c 04 17 20 20 20 20 74  65 6d 70 25 21 30 3d 77  |L..    temp%!0=w|
0000ace0  65 63 68 6f 68 25 0d 4c  0e 11 20 20 20 20 74 65  |echoh%.L..    te|
0000acf0  6d 70 25 21 34 3d 36 0d  4c 18 24 20 20 20 20 c8  |mp%!4=6.L.$    .|
0000ad00  99 22 57 69 6d 70 5f 47  65 74 49 63 6f 6e 53 74  |."Wimp_GetIconSt|
0000ad10  61 74 65 22 2c 2c 74 65  6d 70 25 0d 4c 22 1d 20  |ate",,temp%.L". |
0000ad20  20 20 20 45 25 3d 28 74  65 6d 70 25 21 32 34 29  |   E%=(temp%!24)|
0000ad30  80 28 31 3c 3c 32 31 29  0d 4c 2c 11 20 20 20 20  |.(1<<21).L,.    |
0000ad40  46 25 3d 73 74 79 70 65  25 0d 4c 36 19 20 20 20  |F%=stype%.L6.   |
0000ad50  20 e7 20 43 25 3c 30 20  84 20 43 25 3e 32 35 36  | . C%<0 . C%>256|
0000ad60  20 8c 0d 4c 40 30 20 20  20 20 20 20 f2 52 65 70  | ..L@0      .Rep|
0000ad70  6f 72 74 45 72 72 28 22  44 65 63 61 79 20 72 61  |ortErr("Decay ra|
0000ad80  74 65 20 6f 75 74 20 6f  66 20 72 61 6e 67 65 2e  |te out of range.|
0000ad90  22 29 0d 4c 4a 09 20 20  20 20 cc 0d 4c 54 0f 20  |").LJ.    ..LT. |
0000ada0  20 20 20 20 20 d6 65 63  68 6f 0d 4c 5e 11 20 20  |     .echo.L^.  |
0000adb0  20 20 20 20 f2 52 64 57  6f 72 6b 0d 4c 68 16 20  |    .RdWork.Lh. |
0000adc0  20 20 20 20 20 f2 4d 6f  64 54 69 74 6c 65 28 30  |     .ModTitle(0|
0000add0  29 0d 4c 72 09 20 20 20  20 cd 0d 4c 7c 07 20 20  |).Lr.    ..L|.  |
0000ade0  cd 0d 4c 86 35 20 20 e7  20 28 62 63 25 20 80 20  |..L.5  . (bc% . |
0000adf0  31 29 3d 30 20 8c 20 c8  99 22 57 69 6d 70 5f 43  |1)=0 . .."Wimp_C|
0000ae00  72 65 61 74 65 4d 65 6e  75 22 2c 2d 31 2c 2d 31  |reateMenu",-1,-1|
0000ae10  2c 2d 31 2c 2d 31 0d 4c  90 05 cd 0d 4c 9a 05 e1  |,-1,-1.L....L...|
0000ae20  0d 4c a4 04 0d 4c ae 0f  dd f2 46 61 64 65 43 6c  |.L...L....FadeCl|
0000ae30  69 63 6b 0d 4c b8 25 e7  20 70 73 65 6c 65 63 74  |ick.L.%. pselect|
0000ae40  6c 25 3c 3e 2d 31 20 80  20 70 73 65 6c 65 63 74  |l%<>-1 . pselect|
0000ae50  72 25 3c 3e 2d 31 20 8c  0d 4c c2 1f 20 20 41 25  |r%<>-1 ..L..  A%|
0000ae60  3d 73 74 61 72 74 73 61  6d 70 6c 65 25 2b 70 73  |=startsample%+ps|
0000ae70  65 6c 65 63 74 6c 25 0d  4c cc 1f 20 20 42 25 3d  |electl%.L..  B%=|
0000ae80  73 74 61 72 74 73 61 6d  70 6c 65 25 2b 70 73 65  |startsample%+pse|
0000ae90  6c 65 63 74 72 25 0d 4c  d6 05 cc 0d 4c e0 15 20  |lectr%.L....L.. |
0000aea0  20 41 25 3d 73 74 61 72  74 73 61 6d 70 6c 65 25  | A%=startsample%|
0000aeb0  0d 4c ea 20 20 20 42 25  3d 73 74 61 72 74 73 61  |.L.   B%=startsa|
0000aec0  6d 70 6c 65 25 2b 73 61  6d 70 6c 65 6c 65 6e 25  |mple%+samplelen%|
0000aed0  0d 4c f4 05 cd 0d 4c fe  16 e7 20 41 25 3e 42 25  |.L....L... A%>B%|
0000aee0  20 8c 20 c8 94 20 41 25  2c 42 25 0d 4d 08 15 e7  | . .. A%,B%.M...|
0000aef0  20 70 6f 6c 6c 65 64 62  25 21 31 36 3d 36 20 8c  | polledb%!16=6 .|
0000af00  0d 4d 12 12 20 20 c8 97  20 61 25 2c 62 25 2c 62  |.M..  .. a%,b%,b|
0000af10  63 25 0d 4d 1c 12 20 20  e7 20 73 74 79 70 65 25  |c%.M..  . stype%|
0000af20  3d 32 20 8c 0d 4d 26 2f  20 20 20 20 f2 52 65 70  |=2 ..M&/    .Rep|
0000af30  6f 72 74 45 72 72 28 22  4f 6e 6c 79 20 66 6f 72  |ortErr("Only for|
0000af40  20 6c 69 6e 65 61 69 72  20 73 61 6d 70 6c 65 73  | lineair samples|
0000af50  2e 22 29 0d 4d 30 07 20  20 cc 0d 4d 3a 17 20 20  |.").M0.  ..M:.  |
0000af60  20 20 74 65 6d 70 25 21  30 3d 77 66 61 64 65 68  |  temp%!0=wfadeh|
0000af70  25 0d 4d 44 11 20 20 20  20 74 65 6d 70 25 21 34  |%.MD.    temp%!4|
0000af80  3d 32 0d 4d 4e 24 20 20  20 20 c8 99 22 57 69 6d  |=2.MN$    .."Wim|
0000af90  70 5f 47 65 74 49 63 6f  6e 53 74 61 74 65 22 2c  |p_GetIconState",|
0000afa0  2c 74 65 6d 70 25 0d 4d  58 27 20 20 20 20 43 25  |,temp%.MX'    C%|
0000afb0  3d 26 31 30 30 30 30 30  30 30 2a bb 28 24 28 74  |=&10000000*.($(t|
0000afc0  65 6d 70 25 21 32 38 29  29 2f 31 30 30 0d 4d 62  |emp%!28))/100.Mb|
0000afd0  17 20 20 20 20 74 65 6d  70 25 21 30 3d 77 66 61  |.    temp%!0=wfa|
0000afe0  64 65 68 25 0d 4d 6c 11  20 20 20 20 74 65 6d 70  |deh%.Ml.    temp|
0000aff0  25 21 34 3d 33 0d 4d 76  24 20 20 20 20 c8 99 22  |%!4=3.Mv$    .."|
0000b000  57 69 6d 70 5f 47 65 74  49 63 6f 6e 53 74 61 74  |Wimp_GetIconStat|
0000b010  65 22 2c 2c 74 65 6d 70  25 0d 4d 80 27 20 20 20  |e",,temp%.M.'   |
0000b020  20 44 25 3d 26 31 30 30  30 30 30 30 30 2a bb 28  | D%=&10000000*.(|
0000b030  24 28 74 65 6d 70 25 21  32 38 29 29 2f 31 30 30  |$(temp%!28))/100|
0000b040  0d 4d 8a 14 20 20 20 20  e7 20 42 25 2d 41 25 3c  |.M..    . B%-A%<|
0000b050  3e 30 20 8c 0d 4d 94 1c  20 20 20 20 20 20 45 25  |>0 ..M..      E%|
0000b060  3d 28 44 25 2d 43 25 29  2f 28 42 25 2d 41 25 29  |=(D%-C%)/(B%-A%)|
0000b070  0d 4d 9e 13 20 20 20 20  20 20 46 25 3d 73 74 79  |.M..      F%=sty|
0000b080  70 65 25 0d 4d a8 0f 20  20 20 20 20 20 d6 66 61  |pe%.M..      .fa|
0000b090  64 65 0d 4d b2 11 20 20  20 20 20 20 f2 52 64 57  |de.M..      .RdW|
0000b0a0  6f 72 6b 0d 4d bc 16 20  20 20 20 20 20 f2 4d 6f  |ork.M..      .Mo|
0000b0b0  64 54 69 74 6c 65 28 30  29 0d 4d c6 09 20 20 20  |dTitle(0).M..   |
0000b0c0  20 cd 0d 4d d0 07 20 20  cd 0d 4d da 35 20 20 e7  | ..M..  ..M.5  .|
0000b0d0  20 28 62 63 25 20 80 20  31 29 3d 30 20 8c 20 c8  | (bc% . 1)=0 . .|
0000b0e0  99 22 57 69 6d 70 5f 43  72 65 61 74 65 4d 65 6e  |."Wimp_CreateMen|
0000b0f0  75 22 2c 2d 31 2c 2d 31  2c 2d 31 2c 2d 31 0d 4d  |u",-1,-1,-1,-1.M|
0000b100  e4 05 cd 0d 4d ee 05 e1  0d 4d f8 04 0d 4e 02 12  |....M....M...N..|
0000b110  dd f2 55 73 65 72 5f 4d  65 73 73 61 67 65 0d 4e  |..User_Message.N|
0000b120  0c 2a e3 54 25 3d 30 b8  32 35 35 88 34 3a 6d 65  |.*.T%=0.255.4:me|
0000b130  73 73 62 6b 25 21 54 25  3d 70 6f 6c 6c 65 64 62  |ssbk%!T%=polledb|
0000b140  25 21 54 25 3a ed 54 25  0d 4e 16 12 6d 25 3d 70  |%!T%:.T%.N..m%=p|
0000b150  6f 6c 6c 65 64 62 25 21  31 36 0d 4e 20 0b c8 8e  |olledb%!16.N ...|
0000b160  20 6d 25 20 ca 0d 4e 2a  0f 20 20 c9 20 30 3a f2  | m% ..N*.  . 0:.|
0000b170  51 75 69 74 0d 4e 34 13  20 20 c9 20 31 3a f2 44  |Quit.N4.  . 1:.D|
0000b180  61 74 61 53 61 76 65 0d  4e 3e 12 20 20 c9 20 32  |ataSave.N>.  . 2|
0000b190  3a f2 53 61 76 65 41 63  6b 0d 4e 48 13 20 20 c9  |:.SaveAck.NH.  .|
0000b1a0  20 33 3a f2 44 61 74 61  4c 6f 61 64 0d 4e 52 1b  | 3:.DataLoad.NR.|
0000b1b0  20 20 c9 20 26 34 30 30  63 30 3a f2 4d 65 6e 75  |  . &400c0:.Menu|
0000b1c0  57 61 72 6e 69 6e 67 0d  4e 5c 22 20 20 c9 20 26  |Warning.N\"  . &|
0000b1d0  39 61 62 63 30 3a 70 6f  6c 6c 65 64 62 25 21 38  |9abc0:polledb%!8|
0000b1e0  3d 31 3a f2 4d 54 79 70  65 0d 4e 66 22 20 20 c9  |=1:.MType.Nf"  .|
0000b1f0  20 26 39 61 62 63 31 3a  70 6f 6c 6c 65 64 62 25  | &9abc1:polledb%|
0000b200  21 38 3d 32 3a f2 4d 54  79 70 65 0d 4e 70 22 20  |!8=2:.MType.Np" |
0000b210  20 c9 20 26 39 61 62 63  32 3a 70 6f 6c 6c 65 64  | . &9abc2:polled|
0000b220  62 25 21 38 3d 30 3a f2  4d 54 79 70 65 0d 4e 7a  |b%!8=0:.MType.Nz|
0000b230  1a 20 20 c9 20 26 39 61  62 63 33 3a f2 4d 65 73  |.  . &9abc3:.Mes|
0000b240  73 47 65 74 4c 65 6e 0d  4e 84 1a 20 20 c9 20 26  |sGetLen.N..  . &|
0000b250  39 61 62 63 34 3a f2 43  61 6c 63 75 6c 61 74 65  |9abc4:.Calculate|
0000b260  64 0d 4e 8e 05 cb 0d 4e  98 05 e1 0d 4e a2 04 0d  |d.N....N....N...|
0000b270  4e ac 0e dd f2 44 61 74  61 4c 6f 61 64 0d 4e b6  |N....DataLoad.N.|
0000b280  14 c8 8e 20 70 6f 6c 6c  65 64 62 25 21 32 30 20  |... polledb%!20 |
0000b290  ca 0d 4e c0 1e 20 20 c9  20 2d 32 2c 77 77 6f 72  |..N..  . -2,wwor|
0000b2a0  6b 68 25 3a f2 4c 6f 61  64 53 61 6d 70 6c 65 0d  |kh%:.LoadSample.|
0000b2b0  4e ca 05 cb 0d 4e d4 05  e1 0d 4e de 04 0d 4e e8  |N....N....N...N.|
0000b2c0  10 dd f2 4d 65 73 73 47  65 74 4c 65 6e 0d 4e f2  |...MessGetLen.N.|
0000b2d0  36 c8 99 22 53 46 58 4d  50 5f 53 74 6f 70 22 2c  |6.."SFXMP_Stop",|
0000b2e0  31 3a c8 99 22 53 46 58  4d 50 5f 53 74 6f 70 22  |1:.."SFXMP_Stop"|
0000b2f0  2c 32 3a c8 99 22 53 46  58 4d 50 5f 53 74 6f 70  |,2:.."SFXMP_Stop|
0000b300  22 2c 33 0d 4e fc 16 74  65 6d 70 25 21 32 30 3d  |",3.N..temp%!20=|
0000b310  62 75 66 73 74 61 72 74  25 0d 4f 06 1e 74 65 6d  |bufstart%.O..tem|
0000b320  70 25 21 32 34 3d 62 75  66 6c 65 6e 25 2d 63 6c  |p%!24=buflen%-cl|
0000b330  69 70 62 6c 65 6e 25 0d  4f 10 15 f2 53 65 6e 64  |ipblen%.O...Send|
0000b340  53 46 58 4d 28 26 39 61  62 63 35 29 0d 4f 1a 05  |SFXM(&9abc5).O..|
0000b350  e1 0d 4f 24 04 0d 4f 2e  10 dd f2 43 61 6c 63 75  |..O$..O....Calcu|
0000b360  6c 61 74 65 64 0d 4f 38  36 c8 99 22 53 46 58 4d  |lated.O86.."SFXM|
0000b370  50 5f 53 74 6f 70 22 2c  31 3a c8 99 22 53 46 58  |P_Stop",1:.."SFX|
0000b380  4d 50 5f 53 74 6f 70 22  2c 32 3a c8 99 22 53 46  |MP_Stop",2:.."SF|
0000b390  58 4d 50 5f 53 74 6f 70  22 2c 33 0d 4f 42 1a 73  |XMP_Stop",3.OB.s|
0000b3a0  74 61 72 74 73 61 6d 70  6c 65 25 3d 62 75 66 73  |tartsample%=bufs|
0000b3b0  74 61 72 74 25 0d 4f 4c  1a 73 61 6d 70 6c 65 6c  |tart%.OL.samplel|
0000b3c0  65 6e 25 3d 70 6f 6c 6c  65 64 62 25 21 32 30 0d  |en%=polledb%!20.|
0000b3d0  4f 56 16 73 74 79 70 65  25 3d 70 6f 6c 6c 65 64  |OV.stype%=polled|
0000b3e0  62 25 21 32 34 0d 4f 60  0d f2 41 64 6a 54 79 70  |b%!24.O`..AdjTyp|
0000b3f0  65 4d 0d 4f 6a 35 73 65  6c 65 63 74 6c 25 3d 2d  |eM.Oj5selectl%=-|
0000b400  31 3a 73 65 6c 65 63 74  72 25 3d 2d 31 3a 6f 73  |1:selectr%=-1:os|
0000b410  65 6c 65 63 74 6c 25 3d  2d 31 3a 6f 73 65 6c 65  |electl%=-1:osele|
0000b420  63 74 72 25 3d 2d 31 0d  4f 74 1d 70 73 65 6c 65  |ctr%=-1.Ot.psele|
0000b430  63 74 6c 25 3d 2d 31 3a  70 73 65 6c 65 63 74 72  |ctl%=-1:pselectr|
0000b440  25 3d 2d 31 0d 4f 7e 20  70 6c 6f 6f 70 6c 25 3d  |%=-1.O~ ploopl%=|
0000b450  30 3a 70 6c 6f 6f 70 72  25 3d 73 61 6d 70 6c 65  |0:ploopr%=sample|
0000b460  6c 65 6e 25 0d 4f 88 1f  24 28 77 77 6f 72 6b 25  |len%.O..$(wwork%|
0000b470  21 37 32 29 3d 24 28 70  6f 6c 6c 65 64 62 25 2b  |!72)=$(polledb%+|
0000b480  32 38 29 0d 4f 92 13 73  61 6d 70 6c 65 73 61 76  |28).O..samplesav|
0000b490  65 64 25 3d 2d 31 0d 4f  9c 0d f2 4f 70 65 6e 57  |ed%=-1.O...OpenW|
0000b4a0  6f 72 6b 0d 4f a6 0e f2  43 68 65 63 6b 53 6f 6e  |ork.O...CheckSon|
0000b4b0  67 0d 4f b0 0c f2 5a 6f  6f 6d 41 6c 6c 0d 4f ba  |g.O...ZoomAll.O.|
0000b4c0  39 c8 99 22 58 57 69 6d  70 5f 53 65 74 43 61 72  |9.."XWimp_SetCar|
0000b4d0  65 74 50 6f 73 69 74 69  6f 6e 22 2c 77 6b 65 79  |etPosition",wkey|
0000b4e0  62 6f 61 72 64 68 25 2c  2d 31 2c 2d 31 2c 2d 31  |boardh%,-1,-1,-1|
0000b4f0  2c 2d 31 2c 2d 31 0d 4f  c4 05 e1 0d 4f ce 04 0d  |,-1,-1.O....O...|
0000b500  4f d8 12 dd f2 53 65 6e  64 53 46 58 4d 28 4d 25  |O....SendSFXM(M%|
0000b510  29 0d 4f e2 10 48 25 3d  a4 47 65 74 53 46 58 4d  |).O..H%=.GetSFXM|
0000b520  48 0d 4f ec 0d e7 20 48  25 3c 3e 30 20 8c 0d 4f  |H.O... H%<>0 ..O|
0000b530  f6 11 20 20 74 65 6d 70  25 21 30 3d 32 35 36 0d  |..  temp%!0=256.|
0000b540  50 00 0f 20 20 74 65 6d  70 25 21 34 3d 30 0d 50  |P..  temp%!4=0.P|
0000b550  0a 0f 20 20 74 65 6d 70  25 21 38 3d 30 0d 50 14  |..  temp%!8=0.P.|
0000b560  10 20 20 74 65 6d 70 25  21 31 32 3d 30 0d 50 1e  |.  temp%!12=0.P.|
0000b570  11 20 20 74 65 6d 70 25  21 31 36 3d 4d 25 0d 50  |.  temp%!16=M%.P|
0000b580  28 26 20 20 c8 99 22 57  69 6d 70 5f 53 65 6e 64  |(&  .."Wimp_Send|
0000b590  4d 65 73 73 61 67 65 22  2c 31 37 2c 74 65 6d 70  |Message",17,temp|
0000b5a0  25 2c 48 25 0d 50 32 05  cd 0d 50 3c 05 e1 0d 50  |%,H%.P2...P<...P|
0000b5b0  46 04 0d 50 50 0e dd a4  47 65 74 53 46 58 4d 48  |F..PP...GetSFXMH|
0000b5c0  0d 50 5a 3b c8 99 22 58  4f 53 5f 52 65 61 64 56  |.PZ;.."XOS_ReadV|
0000b5d0  61 72 56 61 6c 22 2c 22  53 46 58 4d 5f 54 61 73  |arVal","SFXM_Tas|
0000b5e0  6b 48 61 6e 64 6c 65 22  2c 74 65 6d 70 32 25 2c  |kHandle",temp2%,|
0000b5f0  31 36 2c 30 2c 30 b8 2c  2c 41 25 0d 50 64 10 74  |16,0,0.,,A%.Pd.t|
0000b600  65 6d 70 32 25 3f 41 25  3d 31 33 0d 50 6e 21 e7  |emp2%?A%=13.Pn!.|
0000b610  20 41 25 3d 30 20 8c 20  3d 30 20 8b 20 3d a0 28  | A%=0 . =0 . =.(|
0000b620  22 26 22 2b 24 74 65 6d  70 32 25 29 0d 50 78 04  |"&"+$temp2%).Px.|
0000b630  0d 50 82 10 dd f2 4c 6f  61 64 53 61 6d 70 6c 65  |.P....LoadSample|
0000b640  0d 50 8c 36 c8 99 22 53  46 58 4d 50 5f 53 74 6f  |.P.6.."SFXMP_Sto|
0000b650  70 22 2c 31 3a c8 99 22  53 46 58 4d 50 5f 53 74  |p",1:.."SFXMP_St|
0000b660  6f 70 22 2c 32 3a c8 99  22 53 46 58 4d 50 5f 53  |op",2:.."SFXMP_S|
0000b670  74 6f 70 22 2c 33 0d 50  96 1a f2 4d 42 53 74 72  |top",3.P...MBStr|
0000b680  69 6e 67 28 70 6f 6c 6c  65 64 62 25 2b 34 34 29  |ing(polledb%+44)|
0000b690  0d 50 a0 1e 66 69 6c 65  74 6f 6c 6f 61 64 24 3d  |.P..filetoload$=|
0000b6a0  24 28 70 6f 6c 6c 65 64  62 25 2b 34 34 29 0d 50  |$(polledb%+44).P|
0000b6b0  aa 19 66 69 6c 65 74 79  70 65 25 3d 70 6f 6c 6c  |..filetype%=poll|
0000b6c0  65 64 62 25 21 34 30 0d  50 b4 17 e7 20 73 61 6d  |edb%!40.P... sam|
0000b6d0  70 6c 65 73 61 76 65 64  25 3d 2d 31 20 8c 0d 50  |plesaved%=-1 ..P|
0000b6e0  be 12 20 20 f2 4c 6f 61  64 53 61 6d 70 6c 65 32  |..  .LoadSample2|
0000b6f0  0d 50 c8 05 cc 0d 50 d2  5c 20 20 41 25 3d a4 43  |.P....P.\  A%=.C|
0000b700  6f 6e 66 69 72 6d 28 22  53 61 6d 70 6c 65 20 68  |onfirm("Sample h|
0000b710  61 73 20 62 65 65 6e 20  6d 6f 64 69 66 69 65 64  |as been modified|
0000b720  2e 20 41 72 65 20 79 6f  75 20 73 75 72 65 20 79  |. Are you sure y|
0000b730  6f 75 20 77 61 6e 74 20  74 6f 20 6c 6f 61 64 20  |ou want to load |
0000b740  61 6e 6f 74 68 65 72 20  73 61 6d 70 6c 65 3f 22  |another sample?"|
0000b750  29 0d 50 dc 1b 20 20 e7  20 41 25 3d 31 20 8c 20  |).P..  . A%=1 . |
0000b760  f2 4c 6f 61 64 53 61 6d  70 6c 65 32 0d 50 e6 05  |.LoadSample2.P..|
0000b770  cd 0d 50 f0 11 6d 65 73  73 62 6b 25 21 30 3d 32  |..P..messbk%!0=2|
0000b780  35 36 0d 50 fa 18 6d 65  73 73 62 6b 25 21 31 32  |56.P..messbk%!12|
0000b790  3d 6d 65 73 73 62 6b 25  21 38 0d 51 04 10 6d 65  |=messbk%!8.Q..me|
0000b7a0  73 73 62 6b 25 21 31 36  3d 34 0d 51 0e 2d c8 99  |ssbk%!16=4.Q.-..|
0000b7b0  22 57 69 6d 70 5f 53 65  6e 64 4d 65 73 73 61 67  |"Wimp_SendMessag|
0000b7c0  65 22 2c 31 37 2c 6d 65  73 73 62 6b 25 2c 6d 65  |e",17,messbk%,me|
0000b7d0  73 73 62 6b 25 21 34 0d  51 18 05 e1 0d 51 22 04  |ssbk%!4.Q....Q".|
0000b7e0  0d 51 2c 11 dd f2 4c 6f  61 64 53 61 6d 70 6c 65  |.Q,...LoadSample|
0000b7f0  32 0d 51 36 07 ea 20 85  0d 51 40 1a ee 20 85 20  |2.Q6.. ..Q@.. . |
0000b800  ea 20 f2 52 65 70 6f 72  74 45 72 72 28 f6 24 29  |. .ReportErr(.$)|
0000b810  3a e1 0d 51 4a 15 66 25  3d 8e 28 66 69 6c 65 74  |:..QJ.f%=.(filet|
0000b820  6f 6c 6f 61 64 24 29 0d  51 54 0c e7 20 66 25 3d  |oload$).QT.. f%=|
0000b830  30 20 8c 0d 51 5e 12 20  20 73 61 6d 70 6c 65 6c  |0 ..Q^.  samplel|
0000b840  65 6e 25 3d 31 0d 51 68  16 20 20 73 74 61 72 74  |en%=1.Qh.  start|
0000b850  73 61 6d 70 6c 65 25 3f  30 3d 30 0d 51 72 16 20  |sample%?0=0.Qr. |
0000b860  20 73 74 61 72 74 73 61  6d 70 6c 65 25 3f 31 3d  | startsample%?1=|
0000b870  30 0d 51 7c 0a 20 20 d9  23 66 25 0d 51 86 05 cc  |0.Q|.  .#f%.Q...|
0000b880  0d 51 90 13 20 20 66 69  6c 65 6c 65 6e 25 3d a2  |.Q..  filelen%=.|
0000b890  23 66 25 0d 51 9a 0a 20  20 d9 23 66 25 0d 51 a4  |#f%.Q..  .#f%.Q.|
0000b8a0  31 20 20 63 25 3d a4 43  68 65 63 6b 4c 65 6e 28  |1  c%=.CheckLen(|
0000b8b0  66 69 6c 65 6c 65 6e 25  2b 63 6c 69 70 62 6c 65  |filelen%+clipble|
0000b8c0  6e 25 2c 22 4e 6f 20 72  6f 6f 6d 2e 22 29 0d 51  |n%,"No room.").Q|
0000b8d0  ae 0e 20 20 e7 20 63 25  3d 30 20 8c 0d 51 b8 19  |..  . c%=0 ..Q..|
0000b8e0  20 20 20 20 66 25 3d 8e  28 66 69 6c 65 74 6f 6c  |    f%=.(filetol|
0000b8f0  6f 61 64 24 29 0d 51 c2  1e 20 20 20 20 73 74 61  |oad$).Q..    sta|
0000b900  72 74 73 61 6d 70 6c 65  25 3d 62 75 66 73 74 61  |rtsample%=bufsta|
0000b910  72 74 25 0d 51 cc 16 20  20 20 20 c8 8e 20 66 69  |rt%.Q..    .. fi|
0000b920  6c 65 74 79 70 65 25 20  ca 0d 51 d6 19 20 20 20  |letype% ..Q..   |
0000b930  20 20 20 c9 20 26 63 62  35 3a f2 4c 6f 61 64 53  |   . &cb5:.LoadS|
0000b940  61 31 0d 51 e0 19 20 20  20 20 20 20 c9 20 26 64  |a1.Q..      . &d|
0000b950  33 63 3a f2 4c 6f 61 64  53 61 32 0d 51 ea 19 20  |3c:.LoadSa2.Q.. |
0000b960  20 20 20 20 20 c9 20 26  64 66 39 3a f2 4c 6f 61  |     . &df9:.Loa|
0000b970  64 53 61 33 0d 51 f4 19  20 20 20 20 20 20 c9 20  |dSa3.Q..      . |
0000b980  26 65 64 30 3a f2 4c 6f  61 64 53 61 34 0d 51 fe  |&ed0:.LoadSa4.Q.|
0000b990  1a 20 20 20 20 20 20 c9  20 26 64 33 62 3a f2 4c  |.      . &d3b:.L|
0000b9a0  6f 61 64 53 6f 6e 67 0d  52 08 14 20 20 20 20 20  |oadSong.R..     |
0000b9b0  20 7f 3a f2 4c 6f 61 64  53 61 58 0d 52 12 09 20  | .:.LoadSaX.R.. |
0000b9c0  20 20 20 cb 0d 52 1c 0c  20 20 20 20 d9 23 66 25  |   ..R..    .#f%|
0000b9d0  0d 52 26 39 20 20 20 20  73 65 6c 65 63 74 6c 25  |.R&9    selectl%|
0000b9e0  3d 2d 31 3a 73 65 6c 65  63 74 72 25 3d 2d 31 3a  |=-1:selectr%=-1:|
0000b9f0  6f 73 65 6c 65 63 74 6c  25 3d 2d 31 3a 6f 73 65  |oselectl%=-1:ose|
0000ba00  6c 65 63 74 72 25 3d 2d  31 0d 52 30 21 20 20 20  |lectr%=-1.R0!   |
0000ba10  20 70 73 65 6c 65 63 74  6c 25 3d 2d 31 3a 70 73  | pselectl%=-1:ps|
0000ba20  65 6c 65 63 74 72 25 3d  2d 31 0d 52 3a 26 20 20  |electr%=-1.R:&  |
0000ba30  20 20 e7 20 66 69 6c 65  74 6f 6c 6f 61 64 24 3d  |  . filetoload$=|
0000ba40  22 3c 57 69 6d 70 24 53  63 72 61 70 3e 22 20 8c  |"<Wimp$Scrap>" .|
0000ba50  0d 52 44 22 20 20 20 20  20 20 ff 28 22 64 65 6c  |.RD"      .("del|
0000ba60  65 74 65 20 3c 57 69 6d  70 24 53 63 72 61 70 3e  |ete <Wimp$Scrap>|
0000ba70  22 29 0d 52 4e 22 20 20  20 20 20 20 66 69 6c 65  |").RN"      file|
0000ba80  74 6f 6c 6f 61 64 24 3d  66 69 6c 65 74 6f 6c 6f  |toload$=filetolo|
0000ba90  61 64 32 24 0d 52 58 09  20 20 20 20 cd 0d 52 62  |ad2$.RX.    ..Rb|
0000baa0  20 20 20 20 20 24 28 77  77 6f 72 6b 25 21 37 32  |     $(wwork%!72|
0000bab0  29 3d 66 69 6c 65 74 6f  6c 6f 61 64 24 0d 52 6c  |)=filetoload$.Rl|
0000bac0  1a 20 20 20 20 e7 20 66  69 6c 65 74 79 70 65 25  |.    . filetype%|
0000bad0  3d 26 64 33 62 20 8c 0d  52 76 1f 20 20 20 20 20  |=&d3b ..Rv.     |
0000bae0  20 74 65 6d 70 25 21 30  3d 77 73 61 76 65 61 73  | temp%!0=wsaveas|
0000baf0  73 6f 6e 67 68 25 0d 52  80 13 20 20 20 20 20 20  |songh%.R..      |
0000bb00  74 65 6d 70 25 21 34 3d  31 0d 52 8a 26 20 20 20  |temp%!4=1.R.&   |
0000bb10  20 20 20 c8 99 22 57 69  6d 70 5f 47 65 74 49 63  |   .."Wimp_GetIc|
0000bb20  6f 6e 53 74 61 74 65 22  2c 2c 74 65 6d 70 25 0d  |onState",,temp%.|
0000bb30  52 94 24 20 20 20 20 20  20 24 28 21 28 74 65 6d  |R.$      $(!(tem|
0000bb40  70 25 2b 32 38 29 29 3d  66 69 6c 65 74 6f 6c 6f  |p%+28))=filetolo|
0000bb50  61 64 24 0d 52 9e 09 20  20 20 20 cc 0d 52 a8 1e  |ad$.R..    ..R..|
0000bb60  20 20 20 20 20 20 74 65  6d 70 25 21 30 3d 77 73  |      temp%!0=ws|
0000bb70  61 76 65 61 73 73 61 31  68 25 0d 52 b2 13 20 20  |aveassa1h%.R..  |
0000bb80  20 20 20 20 74 65 6d 70  25 21 34 3d 31 0d 52 bc  |    temp%!4=1.R.|
0000bb90  26 20 20 20 20 20 20 c8  99 22 57 69 6d 70 5f 47  |&      .."Wimp_G|
0000bba0  65 74 49 63 6f 6e 53 74  61 74 65 22 2c 2c 74 65  |etIconState",,te|
0000bbb0  6d 70 25 0d 52 c6 24 20  20 20 20 20 20 24 28 21  |mp%.R.$      $(!|
0000bbc0  28 74 65 6d 70 25 2b 32  38 29 29 3d 66 69 6c 65  |(temp%+28))=file|
0000bbd0  74 6f 6c 6f 61 64 24 0d  52 d0 1e 20 20 20 20 20  |toload$.R..     |
0000bbe0  20 74 65 6d 70 25 21 30  3d 77 73 61 76 65 61 73  | temp%!0=wsaveas|
0000bbf0  73 61 32 68 25 0d 52 da  13 20 20 20 20 20 20 74  |sa2h%.R..      t|
0000bc00  65 6d 70 25 21 34 3d 31  0d 52 e4 26 20 20 20 20  |emp%!4=1.R.&    |
0000bc10  20 20 c8 99 22 57 69 6d  70 5f 47 65 74 49 63 6f  |  .."Wimp_GetIco|
0000bc20  6e 53 74 61 74 65 22 2c  2c 74 65 6d 70 25 0d 52  |nState",,temp%.R|
0000bc30  ee 24 20 20 20 20 20 20  24 28 21 28 74 65 6d 70  |.$      $(!(temp|
0000bc40  25 2b 32 38 29 29 3d 66  69 6c 65 74 6f 6c 6f 61  |%+28))=filetoloa|
0000bc50  64 24 0d 52 f8 1e 20 20  20 20 20 20 74 65 6d 70  |d$.R..      temp|
0000bc60  25 21 30 3d 77 73 61 76  65 61 73 73 61 33 68 25  |%!0=wsaveassa3h%|
0000bc70  0d 53 02 13 20 20 20 20  20 20 74 65 6d 70 25 21  |.S..      temp%!|
0000bc80  34 3d 31 0d 53 0c 26 20  20 20 20 20 20 c8 99 22  |4=1.S.&      .."|
0000bc90  57 69 6d 70 5f 47 65 74  49 63 6f 6e 53 74 61 74  |Wimp_GetIconStat|
0000bca0  65 22 2c 2c 74 65 6d 70  25 0d 53 16 24 20 20 20  |e",,temp%.S.$   |
0000bcb0  20 20 20 24 28 21 28 74  65 6d 70 25 2b 32 38 29  |   $(!(temp%+28)|
0000bcc0  29 3d 66 69 6c 65 74 6f  6c 6f 61 64 24 0d 53 20  |)=filetoload$.S |
0000bcd0  1e 20 20 20 20 20 20 74  65 6d 70 25 21 30 3d 77  |.      temp%!0=w|
0000bce0  73 61 76 65 61 73 73 61  34 68 25 0d 53 2a 13 20  |saveassa4h%.S*. |
0000bcf0  20 20 20 20 20 74 65 6d  70 25 21 34 3d 31 0d 53  |     temp%!4=1.S|
0000bd00  34 26 20 20 20 20 20 20  c8 99 22 57 69 6d 70 5f  |4&      .."Wimp_|
0000bd10  47 65 74 49 63 6f 6e 53  74 61 74 65 22 2c 2c 74  |GetIconState",,t|
0000bd20  65 6d 70 25 0d 53 3e 24  20 20 20 20 20 20 24 28  |emp%.S>$      $(|
0000bd30  21 28 74 65 6d 70 25 2b  32 38 29 29 3d 66 69 6c  |!(temp%+28))=fil|
0000bd40  65 74 6f 6c 6f 61 64 24  0d 53 48 1e 20 20 20 20  |etoload$.SH.    |
0000bd50  20 20 74 65 6d 70 25 21  30 3d 77 73 61 76 65 61  |  temp%!0=wsavea|
0000bd60  73 73 61 35 68 25 0d 53  52 13 20 20 20 20 20 20  |ssa5h%.SR.      |
0000bd70  74 65 6d 70 25 21 34 3d  31 0d 53 5c 26 20 20 20  |temp%!4=1.S\&   |
0000bd80  20 20 20 c8 99 22 57 69  6d 70 5f 47 65 74 49 63  |   .."Wimp_GetIc|
0000bd90  6f 6e 53 74 61 74 65 22  2c 2c 74 65 6d 70 25 0d  |onState",,temp%.|
0000bda0  53 66 24 20 20 20 20 20  20 24 28 21 28 74 65 6d  |Sf$      $(!(tem|
0000bdb0  70 25 2b 32 38 29 29 3d  66 69 6c 65 74 6f 6c 6f  |p%+28))=filetolo|
0000bdc0  61 64 24 0d 53 70 1e 20  20 20 20 20 20 74 65 6d  |ad$.Sp.      tem|
0000bdd0  70 25 21 30 3d 77 73 61  76 65 61 73 73 61 36 68  |p%!0=wsaveassa6h|
0000bde0  25 0d 53 7a 13 20 20 20  20 20 20 74 65 6d 70 25  |%.Sz.      temp%|
0000bdf0  21 34 3d 31 0d 53 84 26  20 20 20 20 20 20 c8 99  |!4=1.S.&      ..|
0000be00  22 57 69 6d 70 5f 47 65  74 49 63 6f 6e 53 74 61  |"Wimp_GetIconSta|
0000be10  74 65 22 2c 2c 74 65 6d  70 25 0d 53 8e 24 20 20  |te",,temp%.S.$  |
0000be20  20 20 20 20 24 28 21 28  74 65 6d 70 25 2b 32 38  |    $(!(temp%+28|
0000be30  29 29 3d 66 69 6c 65 74  6f 6c 6f 61 64 24 0d 53  |))=filetoload$.S|
0000be40  98 1d 20 20 20 20 20 20  74 65 6d 70 25 21 30 3d  |..      temp%!0=|
0000be50  77 73 61 76 65 61 73 6d  6f 68 25 0d 53 a2 13 20  |wsaveasmoh%.S.. |
0000be60  20 20 20 20 20 74 65 6d  70 25 21 34 3d 31 0d 53  |     temp%!4=1.S|
0000be70  ac 26 20 20 20 20 20 20  c8 99 22 57 69 6d 70 5f  |.&      .."Wimp_|
0000be80  47 65 74 49 63 6f 6e 53  74 61 74 65 22 2c 2c 74  |GetIconState",,t|
0000be90  65 6d 70 25 0d 53 b6 24  20 20 20 20 20 20 24 28  |emp%.S.$      $(|
0000bea0  21 28 74 65 6d 70 25 2b  32 38 29 29 3d 66 69 6c  |!(temp%+28))=fil|
0000beb0  65 74 6f 6c 6f 61 64 24  0d 53 c0 09 20 20 20 20  |etoload$.S..    |
0000bec0  cd 0d 53 ca 17 20 20 20  20 73 61 6d 70 6c 65 73  |..S..    samples|
0000bed0  61 76 65 64 25 3d 2d 31  0d 53 d4 12 20 20 20 20  |aved%=-1.S..    |
0000bee0  f2 43 68 65 63 6b 53 6f  6e 67 0d 53 de 11 20 20  |.CheckSong.S..  |
0000bef0  20 20 f2 4f 70 65 6e 57  6f 72 6b 0d 53 e8 10 20  |  .OpenWork.S.. |
0000bf00  20 20 20 f2 5a 6f 6f 6d  41 6c 6c 0d 53 f2 07 20  |   .ZoomAll.S.. |
0000bf10  20 cd 0d 53 fc 05 cd 0d  54 06 05 e1 0d 54 10 04  | ..S....T....T..|
0000bf20  0d 54 1a 0e dd f2 4c 6f  61 64 53 6f 6e 67 0d 54  |.T....LoadSong.T|
0000bf30  24 0e f2 43 6c 65 61 72  53 6f 6e 67 0d 54 2e 26  |$..ClearSong.T.&|
0000bf40  e8 23 66 25 2c 61 24 2c  70 69 74 63 68 25 2c 73  |.#f%,a$,pitch%,s|
0000bf50  6f 6e 67 6c 65 6e 25 2c  73 61 6d 70 6c 65 6c 65  |onglen%,samplele|
0000bf60  6e 25 0d 54 38 3b e7 20  61 24 3d 22 52 67 6e 6f  |n%.T8;. a$="Rgno|
0000bf70  73 58 46 53 22 20 8c 20  73 6f 6e 67 72 65 70 25  |sXFS" . songrep%|
0000bf80  3d 2d 31 3a 61 24 3d 22  67 6e 6f 73 58 46 53 22  |=-1:a$="gnosXFS"|
0000bf90  20 8b 20 73 6f 6e 67 72  65 70 25 3d 30 0d 54 42  | . songrep%=0.TB|
0000bfa0  08 54 25 3d 30 0d 54 4c  12 c8 95 20 54 25 3c 73  |.T%=0.TL... T%<s|
0000bfb0  6f 6e 67 6c 65 6e 25 0d  54 56 1c 20 20 e8 23 66  |onglen%.TV.  .#f|
0000bfc0  25 2c 62 24 2c 41 25 2c  42 25 2c 43 25 2c 44 25  |%,b$,A%,B%,C%,D%|
0000bfd0  2c 45 25 0d 54 60 0e 20  20 44 25 3d 44 25 2a 31  |,E%.T`.  D%=D%*1|
0000bfe0  36 0d 54 6a 1e 20 20 e7  20 61 24 3c 3e 22 67 6e  |6.Tj.  . a$<>"gn|
0000bff0  6f 73 58 46 53 22 20 8c  20 45 25 3d 32 35 35 0d  |osXFS" . E%=255.|
0000c000  54 74 13 20 20 e7 20 41  25 3c 30 20 8c 20 41 25  |Tt.  . A%<0 . A%|
0000c010  3d 30 0d 54 7e 13 20 20  e7 20 42 25 3c 30 20 8c  |=0.T~.  . B%<0 .|
0000c020  20 42 25 3d 30 0d 54 88  25 20 20 e7 20 41 25 3e  | B%=0.T.%  . A%>|
0000c030  73 61 6d 70 6c 65 6c 65  6e 25 20 8c 20 41 25 3d  |samplelen% . A%=|
0000c040  73 61 6d 70 6c 65 6c 65  6e 25 0d 54 92 25 20 20  |samplelen%.T.%  |
0000c050  e7 20 42 25 3e 73 61 6d  70 6c 65 6c 65 6e 25 20  |. B%>samplelen% |
0000c060  8c 20 42 25 3d 73 61 6d  70 6c 65 6c 65 6e 25 0d  |. B%=samplelen%.|
0000c070  54 9c 13 20 20 e7 20 43  25 3c 31 20 8c 20 43 25  |T..  . C%<1 . C%|
0000c080  3d 31 0d 54 a6 17 20 20  e7 20 43 25 3e 32 35 35  |=1.T..  . C%>255|
0000c090  20 8c 20 43 25 3d 32 35  35 0d 54 b0 13 20 20 e7  | . C%=255.T..  .|
0000c0a0  20 44 25 3c 31 20 8c 20  44 25 3d 31 0d 54 ba 1d  | D%<1 . D%=1.T..|
0000c0b0  20 20 e7 20 44 25 3e 26  31 30 30 30 30 20 8c 20  |  . D%>&10000 . |
0000c0c0  44 25 3d 26 31 30 30 30  30 0d 54 c4 13 20 20 e7  |D%=&10000.T..  .|
0000c0d0  20 45 25 3c 32 20 8c 20  45 25 3d 32 0d 54 ce 17  | E%<2 . E%=2.T..|
0000c0e0  20 20 e7 20 45 25 3e 32  35 35 20 8c 20 45 25 3d  |  . E%>255 . E%=|
0000c0f0  32 35 35 0d 54 d8 1e 20  20 e7 20 54 25 3c a8 28  |255.T..  . T%<.(|
0000c100  73 6f 6e 67 62 75 66 6c  65 6e 25 2f 33 32 29 20  |songbuflen%/32) |
0000c110  8c 0d 54 e2 23 20 20 20  20 24 28 73 6f 6e 67 73  |..T.#    $(songs|
0000c120  74 61 72 74 25 2b 54 25  2a 33 32 29 3d c0 62 24  |tart%+T%*32)=.b$|
0000c130  2c 31 30 29 0d 54 ec 20  20 20 20 20 73 6f 6e 67  |,10).T.     song|
0000c140  73 74 61 72 74 25 21 28  54 25 2a 33 32 2b 31 32  |start%!(T%*32+12|
0000c150  29 3d 43 25 0d 54 f6 20  20 20 20 20 73 6f 6e 67  |)=C%.T.     song|
0000c160  73 74 61 72 74 25 21 28  54 25 2a 33 32 2b 31 36  |start%!(T%*32+16|
0000c170  29 3d 44 25 0d 55 00 20  20 20 20 20 73 6f 6e 67  |)=D%.U.     song|
0000c180  73 74 61 72 74 25 21 28  54 25 2a 33 32 2b 32 30  |start%!(T%*32+20|
0000c190  29 3d 45 25 0d 55 0a 20  20 20 20 20 73 6f 6e 67  |)=E%.U.     song|
0000c1a0  73 74 61 72 74 25 21 28  54 25 2a 33 32 2b 32 34  |start%!(T%*32+24|
0000c1b0  29 3d 41 25 0d 55 14 20  20 20 20 20 73 6f 6e 67  |)=A%.U.     song|
0000c1c0  73 74 61 72 74 25 21 28  54 25 2a 33 32 2b 32 38  |start%!(T%*32+28|
0000c1d0  29 3d 42 25 0d 55 1e 07  20 20 cd 0d 55 28 0b 20  |)=B%.U..  ..U(. |
0000c1e0  20 54 25 2b 3d 31 0d 55  32 05 ce 0d 55 3c 2c c8  | T%+=1.U2...U<,.|
0000c1f0  99 22 4f 53 5f 47 42 50  42 22 2c 34 2c 66 25 2c  |."OS_GBPB",4,f%,|
0000c200  73 74 61 72 74 73 61 6d  70 6c 65 25 2c 73 61 6d  |startsample%,sam|
0000c210  70 6c 65 6c 65 6e 25 0d  55 46 0e f2 53 65 74 50  |plelen%.UF..SetP|
0000c220  69 74 63 68 32 0d 55 50  0d f2 41 64 6a 53 6f 6e  |itch2.UP..AdjSon|
0000c230  67 4d 0d 55 5a 0b f2 52  64 53 6f 6e 67 0d 55 64  |gM.UZ..RdSong.Ud|
0000c240  12 f2 53 65 74 53 6f 6e  67 45 78 74 65 6e 74 0d  |..SetSongExtent.|
0000c250  55 6e 20 70 6c 6f 6f 70  6c 25 3d 30 3a 70 6c 6f  |Un ploopl%=0:plo|
0000c260  6f 70 72 25 3d 73 61 6d  70 6c 65 6c 65 6e 25 0d  |opr%=samplelen%.|
0000c270  55 78 05 e1 0d 55 82 04  0d 55 8c 0d dd f2 4c 6f  |Ux...U...U....Lo|
0000c280  61 64 53 61 31 0d 55 96  1e c8 99 22 4f 53 5f 47  |adSa1.U...."OS_G|
0000c290  42 50 42 22 2c 33 2c 66  25 2c 74 65 6d 70 25 2c  |BPB",3,f%,temp%,|
0000c2a0  34 2c 30 0d 55 a0 19 e7  20 21 74 65 6d 70 25 3c  |4,0.U... !temp%<|
0000c2b0  3e 26 35 30 34 64 34 31  35 33 20 8c 0d 55 aa 2e  |>&504d4153 ..U..|
0000c2c0  20 20 c8 99 22 4f 53 5f  47 42 50 42 22 2c 33 2c  |  .."OS_GBPB",3,|
0000c2d0  66 25 2c 73 74 61 72 74  73 61 6d 70 6c 65 25 2c  |f%,startsample%,|
0000c2e0  66 69 6c 65 6c 65 6e 25  2c 30 0d 55 b4 19 20 20  |filelen%,0.U..  |
0000c2f0  73 61 6d 70 6c 65 6c 65  6e 25 3d 66 69 6c 65 6c  |samplelen%=filel|
0000c300  65 6e 25 0d 55 be 19 20  20 70 6c 6f 6f 70 6c 25  |en%.U..  ploopl%|
0000c310  3d 30 3a 70 6c 6f 6f 70  72 25 3d 32 0d 55 c8 05  |=0:ploopr%=2.U..|
0000c320  cc 0d 55 d2 13 20 20 73  61 6d 70 6c 65 6c 65 6e  |..U..  samplelen|
0000c330  25 3d 2d 31 0d 55 dc 10  20 20 70 6c 6f 6f 70 6c  |%=-1.U..  ploopl|
0000c340  25 3d 2d 31 0d 55 e6 10  20 20 70 6c 6f 6f 70 72  |%=-1.U..  ploopr|
0000c350  25 3d 2d 31 0d 55 f0 0f  20 20 4e 25 3d 30 3a 54  |%=-1.U..  N%=0:T|
0000c360  25 3d 30 0d 55 fa 39 20  20 c8 95 20 4e 25 3d 30  |%=0.U.9  .. N%=0|
0000c370  20 80 20 28 73 61 6d 70  6c 65 6c 65 6e 25 3d 2d  | . (samplelen%=-|
0000c380  31 20 84 20 70 6c 6f 6f  70 6c 25 3d 2d 31 20 84  |1 . ploopl%=-1 .|
0000c390  20 70 6c 6f 6f 70 72 25  3d 2d 31 29 0d 56 04 2a  | ploopr%=-1).V.*|
0000c3a0  20 20 20 20 c8 99 22 4f  53 5f 47 42 50 42 22 2c  |    .."OS_GBPB",|
0000c3b0  33 2c 66 25 2c 74 65 6d  70 25 2c 34 2c 54 25 b8  |3,f%,temp%,4,T%.|
0000c3c0  2c 2c 2c 2c 54 25 0d 56  0e 13 20 20 20 20 c8 8e  |,,,,T%.V..    ..|
0000c3d0  20 21 74 65 6d 70 25 20  ca 0d 56 18 48 20 20 20  | !temp% ..V.H   |
0000c3e0  20 20 20 c9 20 26 35 33  34 36 34 66 35 32 3a c8  |   . &53464f52:.|
0000c3f0  99 22 4f 53 5f 47 42 50  42 22 2c 33 2c 66 25 2c  |."OS_GBPB",3,f%,|
0000c400  74 65 6d 70 25 2c 38 2c  54 25 b8 2c 2c 2c 2c 54  |temp%,8,T%.,,,,T|
0000c410  25 3a 70 6c 6f 6f 70 6c  25 3d 74 65 6d 70 25 21  |%:ploopl%=temp%!|
0000c420  34 0d 56 22 48 20 20 20  20 20 20 c9 20 26 34 65  |4.V"H      . &4e|
0000c430  34 35 34 63 35 32 3a c8  99 22 4f 53 5f 47 42 50  |454c52:.."OS_GBP|
0000c440  42 22 2c 33 2c 66 25 2c  74 65 6d 70 25 2c 38 2c  |B",3,f%,temp%,8,|
0000c450  54 25 b8 2c 2c 2c 2c 54  25 3a 70 6c 6f 6f 70 72  |T%.,,,,T%:ploopr|
0000c460  25 3d 74 65 6d 70 25 21  34 0d 56 2c 7e 20 20 20  |%=temp%!4.V,~   |
0000c470  20 20 20 c9 20 26 35 34  34 31 34 34 35 33 3a c8  |   . &54414453:.|
0000c480  99 22 4f 53 5f 47 42 50  42 22 2c 33 2c 66 25 2c  |."OS_GBPB",3,f%,|
0000c490  74 65 6d 70 25 2c 34 2c  54 25 b8 2c 2c 2c 2c 54  |temp%,4,T%.,,,,T|
0000c4a0  25 3a 73 61 6d 70 6c 65  6c 65 6e 25 3d 74 65 6d  |%:samplelen%=tem|
0000c4b0  70 25 21 30 3a c8 99 22  4f 53 5f 47 42 50 42 22  |p%!0:.."OS_GBPB"|
0000c4c0  2c 33 2c 66 25 2c 73 74  61 72 74 73 61 6d 70 6c  |,3,f%,startsampl|
0000c4d0  65 25 2c 73 61 6d 70 6c  65 6c 65 6e 25 2c 54 25  |e%,samplelen%,T%|
0000c4e0  b8 2c 2c 2c 2c 54 25 0d  56 36 09 20 20 20 20 cb  |.,,,,T%.V6.    .|
0000c4f0  0d 56 40 1d 20 20 20 20  c8 99 22 4f 53 5f 41 72  |.V@.    .."OS_Ar|
0000c500  67 73 22 2c 32 35 34 2c  66 25 b8 4e 25 0d 56 4a  |gs",254,f%.N%.VJ|
0000c510  14 20 20 20 20 4e 25 3d  4e 25 80 28 31 3c 3c 39  |.    N%=N%.(1<<9|
0000c520  29 0d 56 54 07 20 20 ce  0d 56 5e 51 20 20 e7 20  |).VT.  ..V^Q  . |
0000c530  73 61 6d 70 6c 65 6c 65  6e 25 3d 2d 31 20 8c 20  |samplelen%=-1 . |
0000c540  f2 52 65 70 6f 72 74 45  72 72 28 22 42 61 64 20  |.ReportErr("Bad |
0000c550  43 68 75 6e 6b 2e 22 29  3a 73 61 6d 70 6c 65 6c  |Chunk."):samplel|
0000c560  65 6e 25 3d 31 3a 70 6c  6f 6f 70 6c 25 3d 30 3a  |en%=1:ploopl%=0:|
0000c570  70 6c 6f 6f 70 72 25 3d  31 0d 56 68 57 20 20 e7  |ploopr%=1.VhW  .|
0000c580  20 70 6c 6f 6f 70 6c 25  3d 2d 31 20 84 20 70 6c  | ploopl%=-1 . pl|
0000c590  6f 6f 70 72 25 3d 2d 31  20 8c 20 f2 52 65 70 6f  |oopr%=-1 . .Repo|
0000c5a0  72 74 45 72 72 28 22 42  61 64 20 43 68 75 6e 6b  |rtErr("Bad Chunk|
0000c5b0  2e 22 29 3a 70 6c 6f 6f  70 6c 25 3d 30 3a 70 6c  |."):ploopl%=0:pl|
0000c5c0  6f 6f 70 72 25 3d 73 61  6d 70 6c 65 6c 65 6e 25  |oopr%=samplelen%|
0000c5d0  0d 56 72 1d 20 20 70 6c  6f 6f 70 72 25 3d 70 6c  |.Vr.  ploopr%=pl|
0000c5e0  6f 6f 70 6c 25 2b 70 6c  6f 6f 70 72 25 0d 56 7c  |oopl%+ploopr%.V||
0000c5f0  05 cd 0d 56 86 0c 73 74  79 70 65 25 3d 32 0d 56  |...V..stype%=2.V|
0000c600  90 0d f2 41 64 6a 54 79  70 65 4d 0d 56 9a 37 e7  |...AdjTypeM.V.7.|
0000c610  20 70 6c 6f 6f 70 6c 25  3d 30 20 80 20 70 6c 6f  | ploopl%=0 . plo|
0000c620  6f 70 72 25 3d 32 20 8c  20 70 6c 61 79 74 79 70  |opr%=2 . playtyp|
0000c630  65 25 3d 30 20 8b 20 70  6c 61 79 74 79 70 65 25  |e%=0 . playtype%|
0000c640  3d 33 0d 56 a4 0c f2 41  64 6a 4b 65 79 73 0d 56  |=3.V...AdjKeys.V|
0000c650  ae 1b e7 20 70 6c 6f 6f  70 6c 25 3c 30 20 8c 20  |... ploopl%<0 . |
0000c660  70 6c 6f 6f 70 6c 25 3d  30 0d 56 b8 40 e7 20 70  |ploopl%=0.V.@. p|
0000c670  6c 6f 6f 70 6c 25 3e 73  61 6d 70 6c 65 6c 65 6e  |loopl%>samplelen|
0000c680  25 20 8c 20 70 6c 6f 6f  70 6c 25 3d 73 61 6d 70  |% . ploopl%=samp|
0000c690  6c 65 6c 65 6e 25 3a 70  6c 6f 6f 70 72 25 3d 73  |lelen%:ploopr%=s|
0000c6a0  61 6d 70 6c 65 6c 65 6e  25 0d 56 c2 2d e7 20 70  |amplelen%.V.-. p|
0000c6b0  6c 6f 6f 70 72 25 3e 73  61 6d 70 6c 65 6c 65 6e  |loopr%>samplelen|
0000c6c0  25 20 8c 20 70 6c 6f 6f  70 72 25 3d 73 61 6d 70  |% . ploopr%=samp|
0000c6d0  6c 65 6c 65 6e 25 0d 56  cc 25 e7 20 70 6c 6f 6f  |lelen%.V.%. ploo|
0000c6e0  70 72 25 3c 30 20 8c 20  70 6c 6f 6f 70 6c 25 3d  |pr%<0 . ploopl%=|
0000c6f0  30 3a 70 6c 6f 6f 70 72  25 3d 30 0d 56 d6 27 e7  |0:ploopr%=0.V.'.|
0000c700  20 70 6c 6f 6f 70 72 25  3c 70 6c 6f 6f 70 6c 25  | ploopr%<ploopl%|
0000c710  20 8c 20 70 6c 6f 6f 70  72 25 3d 70 6c 6f 6f 70  | . ploopr%=ploop|
0000c720  6c 25 0d 56 e0 05 cd 0d  56 ea 05 e1 0d 56 f4 04  |l%.V....V....V..|
0000c730  0d 56 fe 0d dd f2 4c 6f  61 64 53 61 32 0d 57 08  |.V....LoadSa2.W.|
0000c740  25 c8 99 22 4f 53 5f 47  42 50 42 22 2c 33 2c 66  |%.."OS_GBPB",3,f|
0000c750  25 2c 73 74 61 72 74 73  61 6d 70 6c 65 25 2c 31  |%,startsample%,1|
0000c760  2c 30 0d 57 12 18 70 69  74 63 68 25 3d 3f 73 74  |,0.W..pitch%=?st|
0000c770  61 72 74 73 61 6d 70 6c  65 25 0d 57 1c 0e f2 53  |artsample%.W...S|
0000c780  65 74 50 69 74 63 68 32  0d 57 26 2e c8 99 22 4f  |etPitch2.W&..."O|
0000c790  53 5f 47 42 50 42 22 2c  33 2c 66 25 2c 73 74 61  |S_GBPB",3,f%,sta|
0000c7a0  72 74 73 61 6d 70 6c 65  25 2c 66 69 6c 65 6c 65  |rtsample%,filele|
0000c7b0  6e 25 2d 31 2c 31 0d 57  30 19 73 61 6d 70 6c 65  |n%-1,1.W0.sample|
0000c7c0  6c 65 6e 25 3d 66 69 6c  65 6c 65 6e 25 2d 31 0d  |len%=filelen%-1.|
0000c7d0  57 3a 20 70 6c 6f 6f 70  6c 25 3d 30 3a 70 6c 6f  |W: ploopl%=0:plo|
0000c7e0  6f 70 72 25 3d 73 61 6d  70 6c 65 6c 65 6e 25 0d  |opr%=samplelen%.|
0000c7f0  57 44 0c 73 74 79 70 65  25 3d 30 0d 57 4e 0d f2  |WD.stype%=0.WN..|
0000c800  41 64 6a 54 79 70 65 4d  0d 57 58 05 e1 0d 57 62  |AdjTypeM.WX...Wb|
0000c810  04 0d 57 6c 0d dd f2 4c  6f 61 64 53 61 33 0d 57  |..Wl...LoadSa3.W|
0000c820  76 1f c8 99 22 4f 53 5f  47 42 50 42 22 2c 33 2c  |v..."OS_GBPB",3,|
0000c830  66 25 2c 74 65 6d 70 25  2c 34 2c 32 30 0d 57 80  |f%,temp%,4,20.W.|
0000c840  16 73 61 6d 70 6c 65 6c  65 6e 25 3d 74 65 6d 70  |.samplelen%=temp|
0000c850  25 21 30 0d 57 8a 1f c8  99 22 4f 53 5f 47 42 50  |%!0.W...."OS_GBP|
0000c860  42 22 2c 33 2c 66 25 2c  74 65 6d 70 25 2c 34 2c  |B",3,f%,temp%,4,|
0000c870  32 34 0d 57 94 19 70 6c  6f 6f 70 6c 25 3d 28 74  |24.W..ploopl%=(t|
0000c880  65 6d 70 25 21 30 29 2a  32 35 36 0d 57 9e 1f c8  |emp%!0)*256.W...|
0000c890  99 22 4f 53 5f 47 42 50  42 22 2c 33 2c 66 25 2c  |."OS_GBPB",3,f%,|
0000c8a0  74 65 6d 70 25 2c 34 2c  32 38 0d 57 a8 19 70 6c  |temp%,4,28.W..pl|
0000c8b0  6f 6f 70 72 25 3d 28 74  65 6d 70 25 21 30 29 2a  |oopr%=(temp%!0)*|
0000c8c0  32 35 36 0d 57 b2 30 c8  99 22 4f 53 5f 47 42 50  |256.W.0.."OS_GBP|
0000c8d0  42 22 2c 33 2c 66 25 2c  73 74 61 72 74 73 61 6d  |B",3,f%,startsam|
0000c8e0  70 6c 65 25 2c 73 61 6d  70 6c 65 6c 65 6e 25 2c  |ple%,samplelen%,|
0000c8f0  35 34 34 0d 57 bc 0c 73  74 79 70 65 25 3d 30 0d  |544.W..stype%=0.|
0000c900  57 c6 0d f2 41 64 6a 54  79 70 65 4d 0d 57 d0 31  |W...AdjTypeM.W.1|
0000c910  e7 20 70 6c 6f 6f 70 6c  25 3d 70 6c 6f 6f 70 72  |. ploopl%=ploopr|
0000c920  25 20 8c 20 70 6c 61 79  74 79 70 65 25 3d 30 20  |% . playtype%=0 |
0000c930  8b 20 70 6c 61 79 74 79  70 65 25 3d 33 0d 57 da  |. playtype%=3.W.|
0000c940  0c f2 41 64 6a 4b 65 79  73 0d 57 e4 1b e7 20 70  |..AdjKeys.W... p|
0000c950  6c 6f 6f 70 6c 25 3c 30  20 8c 20 70 6c 6f 6f 70  |loopl%<0 . ploop|
0000c960  6c 25 3d 30 0d 57 ee 40  e7 20 70 6c 6f 6f 70 6c  |l%=0.W.@. ploopl|
0000c970  25 3e 73 61 6d 70 6c 65  6c 65 6e 25 20 8c 20 70  |%>samplelen% . p|
0000c980  6c 6f 6f 70 6c 25 3d 73  61 6d 70 6c 65 6c 65 6e  |loopl%=samplelen|
0000c990  25 3a 70 6c 6f 6f 70 72  25 3d 73 61 6d 70 6c 65  |%:ploopr%=sample|
0000c9a0  6c 65 6e 25 0d 57 f8 2d  e7 20 70 6c 6f 6f 70 72  |len%.W.-. ploopr|
0000c9b0  25 3e 73 61 6d 70 6c 65  6c 65 6e 25 20 8c 20 70  |%>samplelen% . p|
0000c9c0  6c 6f 6f 70 72 25 3d 73  61 6d 70 6c 65 6c 65 6e  |loopr%=samplelen|
0000c9d0  25 0d 58 02 25 e7 20 70  6c 6f 6f 70 72 25 3c 30  |%.X.%. ploopr%<0|
0000c9e0  20 8c 20 70 6c 6f 6f 70  6c 25 3d 30 3a 70 6c 6f  | . ploopl%=0:plo|
0000c9f0  6f 70 72 25 3d 30 0d 58  0c 27 e7 20 70 6c 6f 6f  |opr%=0.X.'. ploo|
0000ca00  70 72 25 3c 70 6c 6f 6f  70 6c 25 20 8c 20 70 6c  |pr%<ploopl% . pl|
0000ca10  6f 6f 70 72 25 3d 70 6c  6f 6f 70 6c 25 0d 58 16  |oopr%=ploopl%.X.|
0000ca20  05 e1 0d 58 20 04 0d 58  2a 0d dd f2 4c 6f 61 64  |...X ..X*...Load|
0000ca30  53 61 34 0d 58 34 2c c8  99 22 4f 53 5f 47 42 50  |Sa4.X4,.."OS_GBP|
0000ca40  42 22 2c 33 2c 66 25 2c  73 74 61 72 74 73 61 6d  |B",3,f%,startsam|
0000ca50  70 6c 65 25 2c 66 69 6c  65 6c 65 6e 25 2c 30 0d  |ple%,filelen%,0.|
0000ca60  58 3e 17 73 61 6d 70 6c  65 6c 65 6e 25 3d 66 69  |X>.samplelen%=fi|
0000ca70  6c 65 6c 65 6e 25 0d 58  48 20 70 6c 6f 6f 70 6c  |lelen%.XH ploopl|
0000ca80  25 3d 30 3a 70 6c 6f 6f  70 72 25 3d 73 61 6d 70  |%=0:ploopr%=samp|
0000ca90  6c 65 6c 65 6e 25 0d 58  52 0c 73 74 79 70 65 25  |lelen%.XR.stype%|
0000caa0  3d 31 0d 58 5c 0d f2 41  64 6a 54 79 70 65 4d 0d  |=1.X\..AdjTypeM.|
0000cab0  58 66 05 e1 0d 58 70 04  0d 58 7a 0d dd f2 4c 6f  |Xf...Xp..Xz...Lo|
0000cac0  61 64 53 61 58 0d 58 84  2c c8 99 22 4f 53 5f 47  |adSaX.X.,.."OS_G|
0000cad0  42 50 42 22 2c 33 2c 66  25 2c 73 74 61 72 74 73  |BPB",3,f%,starts|
0000cae0  61 6d 70 6c 65 25 2c 66  69 6c 65 6c 65 6e 25 2c  |ample%,filelen%,|
0000caf0  30 0d 58 8e 17 73 61 6d  70 6c 65 6c 65 6e 25 3d  |0.X..samplelen%=|
0000cb00  66 69 6c 65 6c 65 6e 25  0d 58 98 20 70 6c 6f 6f  |filelen%.X. ploo|
0000cb10  70 6c 25 3d 30 3a 70 6c  6f 6f 70 72 25 3d 73 61  |pl%=0:ploopr%=sa|
0000cb20  6d 70 6c 65 6c 65 6e 25  0d 58 a2 05 e1 0d 58 ac  |mplelen%.X....X.|
0000cb30  04 0d 58 b6 0d dd f2 41  64 6a 4b 65 79 73 0d 58  |..X....AdjKeys.X|
0000cb40  c0 17 74 65 6d 70 25 21  30 3d 77 6b 65 79 62 6f  |..temp%!0=wkeybo|
0000cb50  61 72 64 68 25 0d 58 ca  0e 74 65 6d 70 25 21 34  |ardh%.X..temp%!4|
0000cb60  3d 34 33 0d 58 d4 2d e7  20 70 6c 61 79 74 79 70  |=43.X.-. playtyp|
0000cb70  65 25 3d 30 20 8c 20 74  65 6d 70 25 21 38 3d 31  |e%=0 . temp%!8=1|
0000cb80  3c 3c 32 31 20 8b 20 74  65 6d 70 25 21 38 3d 30  |<<21 . temp%!8=0|
0000cb90  0d 58 de 12 74 65 6d 70  25 21 31 32 3d 31 3c 3c  |.X..temp%!12=1<<|
0000cba0  32 31 0d 58 e8 20 c8 99  22 57 69 6d 70 5f 53 65  |21.X. .."Wimp_Se|
0000cbb0  74 49 63 6f 6e 53 74 61  74 65 22 2c 2c 74 65 6d  |tIconState",,tem|
0000cbc0  70 25 0d 58 f2 0e 74 65  6d 70 25 21 34 3d 34 34  |p%.X..temp%!4=44|
0000cbd0  0d 58 fc 2d e7 20 70 6c  61 79 74 79 70 65 25 3d  |.X.-. playtype%=|
0000cbe0  31 20 8c 20 74 65 6d 70  25 21 38 3d 31 3c 3c 32  |1 . temp%!8=1<<2|
0000cbf0  31 20 8b 20 74 65 6d 70  25 21 38 3d 30 0d 59 06  |1 . temp%!8=0.Y.|
0000cc00  12 74 65 6d 70 25 21 31  32 3d 31 3c 3c 32 31 0d  |.temp%!12=1<<21.|
0000cc10  59 10 20 c8 99 22 57 69  6d 70 5f 53 65 74 49 63  |Y. .."Wimp_SetIc|
0000cc20  6f 6e 53 74 61 74 65 22  2c 2c 74 65 6d 70 25 0d  |onState",,temp%.|
0000cc30  59 1a 0e 74 65 6d 70 25  21 34 3d 34 35 0d 59 24  |Y..temp%!4=45.Y$|
0000cc40  2d e7 20 70 6c 61 79 74  79 70 65 25 3d 32 20 8c  |-. playtype%=2 .|
0000cc50  20 74 65 6d 70 25 21 38  3d 31 3c 3c 32 31 20 8b  | temp%!8=1<<21 .|
0000cc60  20 74 65 6d 70 25 21 38  3d 30 0d 59 2e 12 74 65  | temp%!8=0.Y..te|
0000cc70  6d 70 25 21 31 32 3d 31  3c 3c 32 31 0d 59 38 20  |mp%!12=1<<21.Y8 |
0000cc80  c8 99 22 57 69 6d 70 5f  53 65 74 49 63 6f 6e 53  |.."Wimp_SetIconS|
0000cc90  74 61 74 65 22 2c 2c 74  65 6d 70 25 0d 59 42 0e  |tate",,temp%.YB.|
0000cca0  74 65 6d 70 25 21 34 3d  34 36 0d 59 4c 2d e7 20  |temp%!4=46.YL-. |
0000ccb0  70 6c 61 79 74 79 70 65  25 3d 33 20 8c 20 74 65  |playtype%=3 . te|
0000ccc0  6d 70 25 21 38 3d 31 3c  3c 32 31 20 8b 20 74 65  |mp%!8=1<<21 . te|
0000ccd0  6d 70 25 21 38 3d 30 0d  59 56 12 74 65 6d 70 25  |mp%!8=0.YV.temp%|
0000cce0  21 31 32 3d 31 3c 3c 32  31 0d 59 60 20 c8 99 22  |!12=1<<21.Y` .."|
0000ccf0  57 69 6d 70 5f 53 65 74  49 63 6f 6e 53 74 61 74  |Wimp_SetIconStat|
0000cd00  65 22 2c 2c 74 65 6d 70  25 0d 59 6a 05 e1 0d 59  |e",,temp%.Yj...Y|
0000cd10  74 04 0d 59 7e 11 dd f2  4d 65 6e 75 57 61 72 6e  |t..Y~...MenuWarn|
0000cd20  69 6e 67 0d 59 88 4e e7  20 28 6c 61 73 74 6d 65  |ing.Y.N. (lastme|
0000cd30  6e 75 25 3d 77 6f 72 6b  6d 65 6e 75 25 29 20 80  |nu%=workmenu%) .|
0000cd40  20 28 70 6f 6c 6c 65 64  62 25 21 33 32 3d 30 29  | (polledb%!32=0)|
0000cd50  20 80 20 28 70 6f 6c 6c  65 64 62 25 21 33 36 3d  | . (polledb%!36=|
0000cd60  30 29 20 8c 20 f2 4e 65  77 4d 65 6e 75 49 6e 66  |0) . .NewMenuInf|
0000cd70  6f 0d 59 92 4f e7 20 28  6c 61 73 74 6d 65 6e 75  |o.Y.O. (lastmenu|
0000cd80  25 3d 77 6f 72 6b 6d 65  6e 75 25 29 20 80 20 28  |%=workmenu%) . (|
0000cd90  70 6f 6c 6c 65 64 62 25  21 33 32 3d 31 29 20 80  |polledb%!32=1) .|
0000cda0  20 28 70 6f 6c 6c 65 64  62 25 21 34 30 3d 2d 31  | (polledb%!40=-1|
0000cdb0  29 20 8c 20 f2 4e 65 77  4d 65 6e 75 53 61 76 65  |) . .NewMenuSave|
0000cdc0  0d 59 9c 51 e7 20 28 6c  61 73 74 6d 65 6e 75 25  |.Y.Q. (lastmenu%|
0000cdd0  3d 77 6f 72 6b 6d 65 6e  75 25 29 20 80 20 28 70  |=workmenu%) . (p|
0000cde0  6f 6c 6c 65 64 62 25 21  33 32 3d 31 29 20 80 20  |olledb%!32=1) . |
0000cdf0  28 70 6f 6c 6c 65 64 62  25 21 34 30 3c 3e 2d 31  |(polledb%!40<>-1|
0000ce00  29 20 8c 20 f2 4e 65 77  4d 65 6e 75 57 53 61 76  |) . .NewMenuWSav|
0000ce10  65 0d 59 a6 51 e7 20 28  6c 61 73 74 6d 65 6e 75  |e.Y.Q. (lastmenu|
0000ce20  25 3d 77 6f 72 6b 6d 65  6e 75 25 29 20 80 20 28  |%=workmenu%) . (|
0000ce30  70 6f 6c 6c 65 64 62 25  21 33 32 3d 37 29 20 80  |polledb%!32=7) .|
0000ce40  20 28 70 6f 6c 6c 65 64  62 25 21 33 36 3c 3e 2d  | (polledb%!36<>-|
0000ce50  31 29 20 8c 20 f2 4e 65  77 4d 65 6e 75 53 53 61  |1) . .NewMenuSSa|
0000ce60  76 65 0d 59 b0 05 e1 0d  59 ba 04 0d 59 c4 11 dd  |ve.Y....Y...Y...|
0000ce70  f2 4e 65 77 4d 65 6e 75  53 61 76 65 0d 59 ce 14  |.NewMenuSave.Y..|
0000ce80  c8 8e 20 70 6f 6c 6c 65  64 62 25 21 33 36 20 ca  |.. polledb%!36 .|
0000ce90  0d 59 d8 27 20 20 c9 20  30 3a 73 61 76 65 64 61  |.Y.'  . 0:saveda|
0000cea0  74 61 25 3d 30 3a 24 73  61 76 65 6d 65 6e 75 32  |ta%=0:$savemenu2|
0000ceb0  25 3d 22 41 6c 6c 22 0d  59 e2 2c 20 20 c9 20 31  |%="All".Y.,  . 1|
0000cec0  3a 73 61 76 65 64 61 74  61 25 3d 31 3a 24 73 61  |:savedata%=1:$sa|
0000ced0  76 65 6d 65 6e 75 32 25  3d 22 53 65 6c 65 63 74  |vemenu2%="Select|
0000cee0  65 64 22 0d 59 ec 2d 20  20 c9 20 32 3a 73 61 76  |ed".Y.-  . 2:sav|
0000cef0  65 64 61 74 61 25 3d 32  3a 24 73 61 76 65 6d 65  |edata%=2:$saveme|
0000cf00  6e 75 32 25 3d 22 43 6c  69 70 62 6f 61 72 64 22  |nu2%="Clipboard"|
0000cf10  0d 59 f6 05 cb 0d 5a 00  3f c8 99 22 57 69 6d 70  |.Y....Z.?.."Wimp|
0000cf20  5f 43 72 65 61 74 65 53  75 62 4d 65 6e 75 22 2c  |_CreateSubMenu",|
0000cf30  2c 70 6f 6c 6c 65 64 62  25 21 32 30 2c 70 6f 6c  |,polledb%!20,pol|
0000cf40  6c 65 64 62 25 21 32 34  2c 70 6f 6c 6c 65 64 62  |ledb%!24,polledb|
0000cf50  25 21 32 38 0d 5a 0a 05  e1 0d 5a 14 04 0d 5a 1e  |%!28.Z....Z...Z.|
0000cf60  12 dd f2 4e 65 77 4d 65  6e 75 57 53 61 76 65 0d  |...NewMenuWSave.|
0000cf70  5a 28 14 c8 8e 20 70 6f  6c 6c 65 64 62 25 21 34  |Z(... polledb%!4|
0000cf80  30 20 ca 0d 5a 32 13 20  20 c9 20 30 3a 73 61 76  |0 ..Z2.  . 0:sav|
0000cf90  65 64 74 25 3d 30 0d 5a  3c 13 20 20 c9 20 31 3a  |edt%=0.Z<.  . 1:|
0000cfa0  73 61 76 65 64 74 25 3d  31 0d 5a 46 13 20 20 c9  |savedt%=1.ZF.  .|
0000cfb0  20 32 3a 73 61 76 65 64  74 25 3d 32 0d 5a 50 13  | 2:savedt%=2.ZP.|
0000cfc0  20 20 c9 20 33 3a 73 61  76 65 64 74 25 3d 33 0d  |  . 3:savedt%=3.|
0000cfd0  5a 5a 13 20 20 c9 20 34  3a 73 61 76 65 64 74 25  |ZZ.  . 4:savedt%|
0000cfe0  3d 34 0d 5a 64 13 20 20  c9 20 35 3a 73 61 76 65  |=4.Zd.  . 5:save|
0000cff0  64 74 25 3d 35 0d 5a 6e  13 20 20 c9 20 36 3a 73  |dt%=5.Zn.  . 6:s|
0000d000  61 76 65 64 74 25 3d 36  0d 5a 78 05 cb 0d 5a 82  |avedt%=6.Zx...Z.|
0000d010  3f c8 99 22 57 69 6d 70  5f 43 72 65 61 74 65 53  |?.."Wimp_CreateS|
0000d020  75 62 4d 65 6e 75 22 2c  2c 70 6f 6c 6c 65 64 62  |ubMenu",,polledb|
0000d030  25 21 32 30 2c 70 6f 6c  6c 65 64 62 25 21 32 34  |%!20,polledb%!24|
0000d040  2c 70 6f 6c 6c 65 64 62  25 21 32 38 0d 5a 8c 05  |,polledb%!28.Z..|
0000d050  e1 0d 5a 96 04 0d 5a a0  12 dd f2 4e 65 77 4d 65  |..Z...Z....NewMe|
0000d060  6e 75 53 53 61 76 65 0d  5a aa 14 c8 8e 20 70 6f  |nuSSave.Z.... po|
0000d070  6c 6c 65 64 62 25 21 33  36 20 ca 0d 5a b4 20 20  |lledb%!36 ..Z.  |
0000d080  20 c9 20 32 3a 73 61 76  65 64 74 25 3d 31 30 3a  | . 2:savedt%=10:|
0000d090  73 61 76 65 64 61 74 61  25 3d 30 0d 5a be 20 20  |savedata%=0.Z.  |
0000d0a0  20 c9 20 33 3a 73 61 76  65 64 74 25 3d 31 31 3a  | . 3:savedt%=11:|
0000d0b0  73 61 76 65 64 61 74 61  25 3d 30 0d 5a c8 05 cb  |savedata%=0.Z...|
0000d0c0  0d 5a d2 3f c8 99 22 57  69 6d 70 5f 43 72 65 61  |.Z.?.."Wimp_Crea|
0000d0d0  74 65 53 75 62 4d 65 6e  75 22 2c 2c 70 6f 6c 6c  |teSubMenu",,poll|
0000d0e0  65 64 62 25 21 32 30 2c  70 6f 6c 6c 65 64 62 25  |edb%!20,polledb%|
0000d0f0  21 32 34 2c 70 6f 6c 6c  65 64 62 25 21 32 38 0d  |!24,polledb%!28.|
0000d100  5a dc 05 e1 0d 5a e6 04  0d 5a f0 11 dd f2 4e 65  |Z....Z...Z....Ne|
0000d110  77 4d 65 6e 75 49 6e 66  6f 0d 5a fa 13 74 65 6d  |wMenuInfo.Z..tem|
0000d120  70 25 21 30 3d 77 69 6e  66 6f 68 25 0d 5b 04 0d  |p%!0=winfoh%.[..|
0000d130  74 65 6d 70 25 21 34 3d  35 0d 5b 0e 20 c8 99 22  |temp%!4=5.[. .."|
0000d140  57 69 6d 70 5f 47 65 74  49 63 6f 6e 53 74 61 74  |Wimp_GetIconStat|
0000d150  65 22 2c 2c 74 65 6d 70  25 0d 5b 18 18 24 28 74  |e",,temp%.[..$(t|
0000d160  65 6d 70 25 21 32 38 29  3d c3 62 75 66 6c 65 6e  |emp%!28)=.buflen|
0000d170  25 0d 5b 22 0d 74 65 6d  70 25 21 34 3d 36 0d 5b  |%.[".temp%!4=6.[|
0000d180  2c 20 c8 99 22 57 69 6d  70 5f 47 65 74 49 63 6f  |, .."Wimp_GetIco|
0000d190  6e 53 74 61 74 65 22 2c  2c 74 65 6d 70 25 0d 5b  |nState",,temp%.[|
0000d1a0  36 1b 24 28 74 65 6d 70  25 21 32 38 29 3d c3 73  |6.$(temp%!28)=.s|
0000d1b0  61 6d 70 6c 65 6c 65 6e  25 0d 5b 40 0d 74 65 6d  |amplelen%.[@.tem|
0000d1c0  70 25 21 34 3d 37 0d 5b  4a 20 c8 99 22 57 69 6d  |p%!4=7.[J .."Wim|
0000d1d0  70 5f 47 65 74 49 63 6f  6e 53 74 61 74 65 22 2c  |p_GetIconState",|
0000d1e0  2c 74 65 6d 70 25 0d 5b  54 1a 24 28 74 65 6d 70  |,temp%.[T.$(temp|
0000d1f0  25 21 32 38 29 3d c3 63  6c 69 70 62 6c 65 6e 25  |%!28)=.clipblen%|
0000d200  0d 5b 5e 0d 74 65 6d 70  25 21 34 3d 38 0d 5b 68  |.[^.temp%!4=8.[h|
0000d210  20 c8 99 22 57 69 6d 70  5f 47 65 74 49 63 6f 6e  | .."Wimp_GetIcon|
0000d220  53 74 61 74 65 22 2c 2c  74 65 6d 70 25 0d 5b 72  |State",,temp%.[r|
0000d230  59 e7 20 70 73 65 6c 65  63 74 6c 25 3c 3e 2d 31  |Y. pselectl%<>-1|
0000d240  20 80 20 70 73 65 6c 65  63 74 72 25 3c 3e 2d 31  | . pselectr%<>-1|
0000d250  20 8c 20 24 28 74 65 6d  70 25 21 32 38 29 3d c3  | . $(temp%!28)=.|
0000d260  28 70 73 65 6c 65 63 74  72 25 2d 70 73 65 6c 65  |(pselectr%-psele|
0000d270  63 74 6c 25 29 20 8b 20  24 28 74 65 6d 70 25 21  |ctl%) . $(temp%!|
0000d280  32 38 29 3d 22 22 0d 5b  7c 0d 74 65 6d 70 25 21  |28)="".[|.temp%!|
0000d290  34 3d 39 0d 5b 86 20 c8  99 22 57 69 6d 70 5f 47  |4=9.[. .."Wimp_G|
0000d2a0  65 74 49 63 6f 6e 53 74  61 74 65 22 2c 2c 74 65  |etIconState",,te|
0000d2b0  6d 70 25 0d 5b 90 3d e7  20 70 73 65 6c 65 63 74  |mp%.[.=. pselect|
0000d2c0  6c 25 3c 3e 2d 31 20 8c  20 24 28 74 65 6d 70 25  |l%<>-1 . $(temp%|
0000d2d0  21 32 38 29 3d c3 70 73  65 6c 65 63 74 6c 25 20  |!28)=.pselectl% |
0000d2e0  8b 20 24 28 74 65 6d 70  25 21 32 38 29 3d 22 22  |. $(temp%!28)=""|
0000d2f0  0d 5b 9a 0e 74 65 6d 70  25 21 34 3d 31 36 0d 5b  |.[..temp%!4=16.[|
0000d300  a4 20 c8 99 22 57 69 6d  70 5f 47 65 74 49 63 6f  |. .."Wimp_GetIco|
0000d310  6e 53 74 61 74 65 22 2c  2c 74 65 6d 70 25 0d 5b  |nState",,temp%.[|
0000d320  ae 3d e7 20 70 73 65 6c  65 63 74 72 25 3c 3e 2d  |.=. pselectr%<>-|
0000d330  31 20 8c 20 24 28 74 65  6d 70 25 21 32 38 29 3d  |1 . $(temp%!28)=|
0000d340  c3 70 73 65 6c 65 63 74  72 25 20 8b 20 24 28 74  |.pselectr% . $(t|
0000d350  65 6d 70 25 21 32 38 29  3d 22 22 0d 5b b8 0e 74  |emp%!28)="".[..t|
0000d360  65 6d 70 25 21 34 3d 32  30 0d 5b c2 20 c8 99 22  |emp%!4=20.[. .."|
0000d370  57 69 6d 70 5f 47 65 74  49 63 6f 6e 53 74 61 74  |Wimp_GetIconStat|
0000d380  65 22 2c 2c 74 65 6d 70  25 0d 5b cc 18 24 28 74  |e",,temp%.[..$(t|
0000d390  65 6d 70 25 21 32 38 29  3d c3 70 6c 6f 6f 70 6c  |emp%!28)=.ploopl|
0000d3a0  25 0d 5b d6 0e 74 65 6d  70 25 21 34 3d 32 31 0d  |%.[..temp%!4=21.|
0000d3b0  5b e0 20 c8 99 22 57 69  6d 70 5f 47 65 74 49 63  |[. .."Wimp_GetIc|
0000d3c0  6f 6e 53 74 61 74 65 22  2c 2c 74 65 6d 70 25 0d  |onState",,temp%.|
0000d3d0  5b ea 18 24 28 74 65 6d  70 25 21 32 38 29 3d c3  |[..$(temp%!28)=.|
0000d3e0  70 6c 6f 6f 70 72 25 0d  5b f4 3f c8 99 22 57 69  |ploopr%.[.?.."Wi|
0000d3f0  6d 70 5f 43 72 65 61 74  65 53 75 62 4d 65 6e 75  |mp_CreateSubMenu|
0000d400  22 2c 2c 70 6f 6c 6c 65  64 62 25 21 32 30 2c 70  |",,polledb%!20,p|
0000d410  6f 6c 6c 65 64 62 25 21  32 34 2c 70 6f 6c 6c 65  |olledb%!24,polle|
0000d420  64 62 25 21 32 38 0d 5b  fe 05 e1 0d 5c 08 04 0d  |db%!28.[....\...|
0000d430  5c 12 0f dd f2 43 6c 6f  73 65 44 6f 77 6e 0d 5c  |\....CloseDown.\|
0000d440  1c 17 e7 20 73 61 6d 70  6c 65 73 61 76 65 64 25  |... samplesaved%|
0000d450  3d 2d 31 20 8c 0d 5c 26  0b 20 20 f2 51 75 69 74  |=-1 ..\&.  .Quit|
0000d460  0d 5c 30 05 cc 0d 5c 3a  4d 20 20 41 25 3d a4 43  |.\0...\:M  A%=.C|
0000d470  6f 6e 66 69 72 6d 28 22  53 61 6d 70 6c 65 20 68  |onfirm("Sample h|
0000d480  61 73 20 62 65 65 6e 20  6d 6f 64 69 66 69 65 64  |as been modified|
0000d490  2e 20 41 72 65 20 79 6f  75 20 73 75 72 65 20 79  |. Are you sure y|
0000d4a0  6f 75 20 77 61 6e 74 20  74 6f 20 71 75 69 74 3f  |ou want to quit?|
0000d4b0  22 29 0d 5c 44 14 20 20  e7 20 41 25 3d 31 20 8c  |").\D.  . A%=1 .|
0000d4c0  20 f2 51 75 69 74 0d 5c  4e 05 cd 0d 5c 58 05 e1  | .Quit.\N...\X..|
0000d4d0  0d 5c 62 04 0d 5c 6c 0a  dd f2 51 75 69 74 0d 5c  |.\b..\l...Quit.\|
0000d4e0  76 10 f2 53 65 6e 64 53  46 58 4d 28 30 29 0d 5c  |v..SendSFXM(0).\|
0000d4f0  80 14 c8 99 22 53 46 58  4d 50 5f 53 74 6f 70 22  |...."SFXMP_Stop"|
0000d500  2c 31 0d 5c 8a 14 c8 99  22 53 46 58 4d 50 5f 53  |,1.\...."SFXMP_S|
0000d510  74 6f 70 22 2c 32 0d 5c  94 14 c8 99 22 53 46 58  |top",2.\...."SFX|
0000d520  4d 50 5f 53 74 6f 70 22  2c 33 0d 5c 9e 15 c8 99  |MP_Stop",3.\....|
0000d530  22 53 46 58 4d 50 5f 44  69 73 61 62 6c 65 22 0d  |"SFXMP_Disable".|
0000d540  5c a8 32 c8 99 22 58 4f  53 5f 53 65 74 56 61 72  |\.2.."XOS_SetVar|
0000d550  56 61 6c 22 2c 22 53 46  58 45 44 5f 54 61 73 6b  |Val","SFXED_Task|
0000d560  48 61 6e 64 6c 65 22 2c  22 22 2c 2d 31 2c 30 2c  |Handle","",-1,0,|
0000d570  30 0d 5c b2 1e c8 99 22  57 69 6d 70 5f 42 61 73  |0.\...."Wimp_Bas|
0000d580  65 4f 66 53 70 72 69 74  65 73 22 b8 2c 53 25 0d  |eOfSprites".,S%.|
0000d590  5c bc 2a c8 99 22 58 4f  53 5f 53 70 72 69 74 65  |\.*.."XOS_Sprite|
0000d5a0  4f 70 22 2c 32 35 2b 32  35 36 2c 53 25 2c 22 66  |Op",25+256,S%,"f|
0000d5b0  66 74 73 70 72 69 74 65  22 0d 5c c6 31 e7 20 62  |ftsprite".\.1. b|
0000d5c0  75 66 73 74 61 72 74 25  3c 3e 2d 31 20 8c 20 c8  |ufstart%<>-1 . .|
0000d5d0  99 22 58 4f 53 5f 4d 6f  64 75 6c 65 22 2c 37 2c  |."XOS_Module",7,|
0000d5e0  2c 62 75 66 73 74 61 72  74 25 0d 5c d0 33 e7 20  |,bufstart%.\.3. |
0000d5f0  73 6f 6e 67 73 74 61 72  74 25 3c 3e 2d 31 20 8c  |songstart%<>-1 .|
0000d600  20 c8 99 22 58 4f 53 5f  4d 6f 64 75 6c 65 22 2c  | .."XOS_Module",|
0000d610  37 2c 2c 73 6f 6e 67 73  74 61 72 74 25 0d 5c da  |7,,songstart%.\.|
0000d620  17 c8 99 22 48 6f 75 72  67 6c 61 73 73 5f 53 6d  |..."Hourglass_Sm|
0000d630  61 73 68 22 0d 5c e4 27  c8 99 22 57 69 6d 70 5f  |ash".\.'.."Wimp_|
0000d640  43 6c 6f 73 65 44 6f 77  6e 22 2c 74 61 73 6b 68  |CloseDown",taskh|
0000d650  25 2c 26 34 62 35 33 34  31 35 34 0d 5c ee 0f c8  |%,&4b534154.\...|
0000d660  99 22 4f 53 5f 45 78 69  74 22 0d 5c f8 05 e1 0d  |."OS_Exit".\....|
0000d670  5d 02 04 0d 5d 0c 0f dd  f2 53 65 74 45 78 74 65  |]...]....SetExte|
0000d680  6e 74 0d 5d 16 22 6d 61  78 78 25 3d 31 30 32 34  |nt.]."maxx%=1024|
0000d690  2a 73 61 6d 70 6c 65 6c  65 6e 25 2f 64 69 73 70  |*samplelen%/disp|
0000d6a0  6c 65 6e 25 0d 5d 20 0d  74 65 6d 70 25 21 30 3d  |len%.] .temp%!0=|
0000d6b0  30 0d 5d 2a 10 74 65 6d  70 25 21 34 3d 2d 32 35  |0.]*.temp%!4=-25|
0000d6c0  36 0d 5d 34 11 74 65 6d  70 25 21 38 3d 6d 61 78  |6.]4.temp%!8=max|
0000d6d0  78 25 0d 5d 3e 0e 74 65  6d 70 25 21 31 32 3d 30  |x%.]>.temp%!12=0|
0000d6e0  0d 5d 48 24 c8 99 22 57  69 6d 70 5f 53 65 74 45  |.]H$.."Wimp_SetE|
0000d6f0  78 74 65 6e 74 22 2c 77  77 6f 72 6b 68 25 2c 74  |xtent",wworkh%,t|
0000d700  65 6d 70 25 0d 5d 52 05  e1 0d 5d 5c 04 0d 5d 66  |emp%.]R...]\..]f|
0000d710  13 dd f2 53 65 74 53 6f  6e 67 45 78 74 65 6e 74  |...SetSongExtent|
0000d720  0d 5d 70 0d 74 65 6d 70  25 21 30 3d 30 0d 5d 7a  |.]p.temp%!0=0.]z|
0000d730  20 74 65 6d 70 25 21 34  3d 2d 28 39 36 2b 73 6f  | temp%!4=-(96+so|
0000d740  6e 67 6c 65 6e 25 2a 33  36 2b 33 36 29 0d 5d 84  |nglen%*36+36).].|
0000d750  0f 74 65 6d 70 25 21 38  3d 36 30 34 0d 5d 8e 0e  |.temp%!8=604.]..|
0000d760  74 65 6d 70 25 21 31 32  3d 30 0d 5d 98 24 c8 99  |temp%!12=0.].$..|
0000d770  22 57 69 6d 70 5f 53 65  74 45 78 74 65 6e 74 22  |"Wimp_SetExtent"|
0000d780  2c 77 73 6f 6e 67 68 25  2c 74 65 6d 70 25 0d 5d  |,wsongh%,temp%.]|
0000d790  a2 13 74 65 6d 70 25 21  30 3d 77 73 6f 6e 67 68  |..temp%!0=wsongh|
0000d7a0  25 0d 5d ac 22 c8 99 22  57 69 6d 70 5f 47 65 74  |%.].".."Wimp_Get|
0000d7b0  57 69 6e 64 6f 77 53 74  61 74 65 22 2c 2c 74 65  |WindowState",,te|
0000d7c0  6d 70 25 0d 5d b6 35 e7  20 28 74 65 6d 70 25 21  |mp%.].5. (temp%!|
0000d7d0  33 32 29 80 28 31 3c 3c  31 36 29 20 8c 20 c8 99  |32).(1<<16) . ..|
0000d7e0  22 57 69 6d 70 5f 4f 70  65 6e 57 69 6e 64 6f 77  |"Wimp_OpenWindow|
0000d7f0  22 2c 2c 74 65 6d 70 25  0d 5d c0 05 e1 0d 5d ca  |",,temp%.]....].|
0000d800  04 0d 5d d4 0a dd f2 49  6e 69 74 0d 5d de 10 de  |..]....Init.]...|
0000d810  20 74 65 6d 70 25 20 31  30 30 30 0d 5d e8 11 de  | temp% 1000.]...|
0000d820  20 74 65 6d 70 32 25 20  31 30 30 30 0d 5d f2 11  | temp2% 1000.]..|
0000d830  de 20 6d 65 73 73 62 6b  25 20 35 31 32 0d 5d fc  |. messbk% 512.].|
0000d840  10 62 75 66 73 74 61 72  74 25 3d 2d 31 0d 5e 06  |.bufstart%=-1.^.|
0000d850  11 73 6f 6e 67 73 74 61  72 74 25 3d 2d 31 0d 5e  |.songstart%=-1.^|
0000d860  10 3d c8 99 22 57 69 6d  70 5f 49 6e 69 74 69 61  |.=.."Wimp_Initia|
0000d870  6c 69 73 65 22 2c 32 30  30 2c 26 34 62 35 33 34  |lise",200,&4b534|
0000d880  31 35 34 2c 22 53 46 58  45 44 22 b8 76 65 72 73  |154,"SFXED".vers|
0000d890  69 6f 6e 25 2c 74 61 73  6b 68 25 0d 5e 1a 44 e7  |ion%,taskh%.^.D.|
0000d8a0  20 76 65 72 73 69 6f 6e  25 3c 32 30 30 20 8c 20  | version%<200 . |
0000d8b0  c8 99 22 57 69 6d 70 5f  43 6c 6f 73 65 44 6f 77  |.."Wimp_CloseDow|
0000d8c0  6e 22 2c 74 61 73 6b 68  25 2c 26 34 62 35 33 34  |n",taskh%,&4b534|
0000d8d0  31 35 34 3a c8 99 22 4f  53 5f 45 78 69 74 22 0d  |154:.."OS_Exit".|
0000d8e0  5e 24 3c c8 99 22 58 4f  53 5f 52 65 61 64 56 61  |^$<.."XOS_ReadVa|
0000d8f0  72 56 61 6c 22 2c 22 53  46 58 45 44 5f 54 61 73  |rVal","SFXED_Tas|
0000d900  6b 48 61 6e 64 6c 65 22  2c 74 65 6d 70 32 25 2c  |kHandle",temp2%,|
0000d910  31 36 2c 30 2c 30 b8 2c  2c 41 25 0d 5e 2e 0d e7  |16,0,0.,,A%.^...|
0000d920  20 41 25 3c 3e 30 20 8c  0d 5e 38 2a 20 20 f2 52  | A%<>0 ..^8*  .R|
0000d930  65 70 6f 72 74 45 72 72  28 22 53 46 58 45 44 20  |eportErr("SFXED |
0000d940  61 6c 72 65 61 64 79 20  72 75 6e 6e 69 6e 67 2e  |already running.|
0000d950  22 29 0d 5e 42 29 20 20  c8 99 22 57 69 6d 70 5f  |").^B)  .."Wimp_|
0000d960  43 6c 6f 73 65 44 6f 77  6e 22 2c 74 61 73 6b 68  |CloseDown",taskh|
0000d970  25 2c 26 34 62 35 33 34  31 35 34 0d 5e 4c 11 20  |%,&4b534154.^L. |
0000d980  20 c8 99 22 4f 53 5f 45  78 69 74 22 0d 5e 56 05  | .."OS_Exit".^V.|
0000d990  cd 0d 5e 60 14 c8 99 22  48 6f 75 72 67 6c 61 73  |..^`..."Hourglas|
0000d9a0  73 5f 4f 6e 22 0d 5e 6a  37 c8 99 22 58 4f 53 5f  |s_On".^j7.."XOS_|
0000d9b0  53 65 74 56 61 72 56 61  6c 22 2c 22 53 46 58 45  |SetVarVal","SFXE|
0000d9c0  44 5f 54 61 73 6b 48 61  6e 64 6c 65 22 2c c3 7e  |D_TaskHandle",.~|
0000d9d0  74 61 73 6b 68 25 2c 38  2c 30 2c 30 0d 5e 74 12  |taskh%,8,0,0.^t.|
0000d9e0  de 20 73 6d 6f 64 6c 6f  67 25 20 35 31 32 0d 5e  |. smodlog% 512.^|
0000d9f0  7e 13 de 20 73 6d 6f 64  73 6c 69 6e 25 20 35 31  |~.. smodslin% 51|
0000da00  32 0d 5e 88 13 de 20 73  6d 6f 64 75 6c 69 6e 25  |2.^... smodulin%|
0000da10  20 35 31 32 0d 5e 92 14  de 20 73 6d 6f 64 73 6f  | 512.^... smodso|
0000da20  6e 67 25 20 31 30 32 34  0d 5e 9c 13 de 20 66 66  |ng% 1024.^... ff|
0000da30  74 63 6f 64 65 25 20 33  30 30 30 0d 5e a6 15 de  |tcode% 3000.^...|
0000da40  20 66 66 74 72 63 6f 65  66 25 20 31 32 38 2a 34  | fftrcoef% 128*4|
0000da50  0d 5e b0 15 de 20 66 66  74 69 63 6f 65 66 25 20  |.^... ffticoef% |
0000da60  31 32 38 2a 34 0d 5e ba  2b ff 28 22 4c 4f 41 44  |128*4.^.+.("LOAD|
0000da70  20 3c 53 46 58 45 44 24  44 69 72 3e 2e 70 6d 6c  | <SFXED$Dir>.pml|
0000da80  6f 67 20 22 2b c3 7e 73  6d 6f 64 6c 6f 67 25 29  |og "+.~smodlog%)|
0000da90  0d 5e c4 2d ff 28 22 4c  4f 41 44 20 3c 53 46 58  |.^.-.("LOAD <SFX|
0000daa0  45 44 24 44 69 72 3e 2e  70 6d 73 6c 69 6e 20 22  |ED$Dir>.pmslin "|
0000dab0  2b c3 7e 73 6d 6f 64 73  6c 69 6e 25 29 0d 5e ce  |+.~smodslin%).^.|
0000dac0  2d ff 28 22 4c 4f 41 44  20 3c 53 46 58 45 44 24  |-.("LOAD <SFXED$|
0000dad0  44 69 72 3e 2e 70 6d 75  6c 69 6e 20 22 2b c3 7e  |Dir>.pmulin "+.~|
0000dae0  73 6d 6f 64 75 6c 69 6e  25 29 0d 5e d8 2d ff 28  |smodulin%).^.-.(|
0000daf0  22 4c 4f 41 44 20 3c 53  46 58 45 44 24 44 69 72  |"LOAD <SFXED$Dir|
0000db00  3e 2e 70 6d 73 6f 6e 67  20 22 2b c3 7e 73 6d 6f  |>.pmsong "+.~smo|
0000db10  64 73 6f 6e 67 25 29 0d  5e e2 2d ff 28 22 4c 4f  |dsong%).^.-.("LO|
0000db20  41 44 20 3c 53 46 58 45  44 24 44 69 72 3e 2e 66  |AD <SFXED$Dir>.f|
0000db30  66 74 63 6f 64 65 20 22  2b c3 7e 66 66 74 63 6f  |ftcode "+.~fftco|
0000db40  64 65 25 29 0d 5e ec 2f  c8 99 22 57 69 6d 70 5f  |de%).^./.."Wimp_|
0000db50  53 70 72 69 74 65 4f 70  22 2c 31 31 2c 2c 22 3c  |SpriteOp",11,,"<|
0000db60  53 46 58 45 44 24 44 69  72 3e 2e 53 70 72 69 74  |SFXED$Dir>.Sprit|
0000db70  65 73 22 0d 5e f6 32 c8  99 22 57 69 6d 70 5f 4f  |es".^.2.."Wimp_O|
0000db80  70 65 6e 54 65 6d 70 6c  61 74 65 22 2c 2c 22 3c  |penTemplate",,"<|
0000db90  53 46 58 45 44 24 44 69  72 3e 2e 54 65 6d 70 6c  |SFXED$Dir>.Templ|
0000dba0  61 74 65 73 22 0d 5f 00  16 de 20 77 73 61 76 65  |ates"._... wsave|
0000dbb0  61 73 73 61 31 25 20 31  30 30 30 0d 5f 0a 16 de  |assa1% 1000._...|
0000dbc0  20 77 73 61 76 65 61 73  73 61 32 25 20 31 30 30  | wsaveassa2% 100|
0000dbd0  30 0d 5f 14 16 de 20 77  73 61 76 65 61 73 73 61  |0._... wsaveassa|
0000dbe0  33 25 20 31 30 30 30 0d  5f 1e 16 de 20 77 73 61  |3% 1000._... wsa|
0000dbf0  76 65 61 73 73 61 34 25  20 31 30 30 30 0d 5f 28  |veassa4% 1000._(|
0000dc00  16 de 20 77 73 61 76 65  61 73 73 61 35 25 20 31  |.. wsaveassa5% 1|
0000dc10  30 30 30 0d 5f 32 16 de  20 77 73 61 76 65 61 73  |000._2.. wsaveas|
0000dc20  73 61 36 25 20 31 30 30  30 0d 5f 3c 17 de 20 77  |sa6% 1000._<.. w|
0000dc30  73 61 76 65 61 73 73 6f  6e 67 25 20 31 30 30 30  |saveassong% 1000|
0000dc40  0d 5f 46 17 de 20 77 73  61 76 65 73 6f 6e 67 6d  |._F.. wsavesongm|
0000dc50  6f 25 20 31 30 30 30 0d  5f 50 15 de 20 77 73 61  |o% 1000._P.. wsa|
0000dc60  76 65 61 73 6d 6f 25 20  31 30 30 30 0d 5f 5a 12  |veasmo% 1000._Z.|
0000dc70  de 20 77 61 62 6f 75 74  25 20 31 30 30 30 0d 5f  |. wabout% 1000._|
0000dc80  64 15 de 20 77 6b 65 79  62 6f 61 72 64 25 20 34  |d.. wkeyboard% 4|
0000dc90  30 30 30 0d 5f 6e 11 de  20 77 77 6f 72 6b 25 20  |000._n.. wwork% |
0000dca0  31 30 30 30 0d 5f 78 11  de 20 77 69 6e 66 6f 25  |1000._x.. winfo%|
0000dcb0  20 31 30 30 30 0d 5f 82  11 de 20 77 65 63 68 6f  | 1000._... wecho|
0000dcc0  25 20 31 30 30 30 0d 5f  8c 11 de 20 77 66 61 64  |% 1000._... wfad|
0000dcd0  65 25 20 31 30 30 30 0d  5f 96 10 de 20 77 70 6f  |e% 1000._... wpo|
0000dce0  73 25 20 31 30 30 30 0d  5f a0 10 de 20 77 66 66  |s% 1000._... wff|
0000dcf0  74 25 20 31 30 30 30 0d  5f aa 11 de 20 77 73 6f  |t% 1000._... wso|
0000dd00  6e 67 25 20 31 30 30 30  0d 5f b4 15 de 20 77 73  |ng% 1000._... ws|
0000dd10  6f 6e 67 70 61 6e 65 25  20 31 30 30 30 0d 5f be  |ongpane% 1000._.|
0000dd20  11 de 20 69 63 62 75 66  25 20 34 30 30 30 0d 5f  |.. icbuf% 4000._|
0000dd30  c8 12 69 63 62 75 66 6e  25 3d 69 63 62 75 66 25  |..icbufn%=icbuf%|
0000dd40  0d 5f d2 0f de 20 74 6e  61 6d 65 25 20 31 36 0d  |._... tname% 16.|
0000dd50  5f dc 0b 6e 65 78 74 25  3d 30 0d 5f e6 26 f2 4c  |_..next%=0._.&.L|
0000dd60  6f 61 64 54 65 6d 70 28  77 73 61 76 65 61 73 73  |oadTemp(wsaveass|
0000dd70  61 31 25 2c 22 73 61 76  65 61 73 73 61 31 22 29  |a1%,"saveassa1")|
0000dd80  0d 5f f0 26 f2 4c 6f 61  64 54 65 6d 70 28 77 73  |._.&.LoadTemp(ws|
0000dd90  61 76 65 61 73 73 61 32  25 2c 22 73 61 76 65 61  |aveassa2%,"savea|
0000dda0  73 73 61 32 22 29 0d 5f  fa 26 f2 4c 6f 61 64 54  |ssa2")._.&.LoadT|
0000ddb0  65 6d 70 28 77 73 61 76  65 61 73 73 61 33 25 2c  |emp(wsaveassa3%,|
0000ddc0  22 73 61 76 65 61 73 73  61 33 22 29 0d 60 04 26  |"saveassa3").`.&|
0000ddd0  f2 4c 6f 61 64 54 65 6d  70 28 77 73 61 76 65 61  |.LoadTemp(wsavea|
0000dde0  73 73 61 34 25 2c 22 73  61 76 65 61 73 73 61 34  |ssa4%,"saveassa4|
0000ddf0  22 29 0d 60 0e 26 f2 4c  6f 61 64 54 65 6d 70 28  |").`.&.LoadTemp(|
0000de00  77 73 61 76 65 61 73 73  61 35 25 2c 22 73 61 76  |wsaveassa5%,"sav|
0000de10  65 61 73 73 61 35 22 29  0d 60 18 26 f2 4c 6f 61  |eassa5").`.&.Loa|
0000de20  64 54 65 6d 70 28 77 73  61 76 65 61 73 73 61 36  |dTemp(wsaveassa6|
0000de30  25 2c 22 73 61 76 65 61  73 73 61 36 22 29 0d 60  |%,"saveassa6").`|
0000de40  22 28 f2 4c 6f 61 64 54  65 6d 70 28 77 73 61 76  |"(.LoadTemp(wsav|
0000de50  65 61 73 73 6f 6e 67 25  2c 22 73 61 76 65 61 73  |eassong%,"saveas|
0000de60  73 6f 6e 67 22 29 0d 60  2c 28 f2 4c 6f 61 64 54  |song").`,(.LoadT|
0000de70  65 6d 70 28 77 73 61 76  65 73 6f 6e 67 6d 6f 25  |emp(wsavesongmo%|
0000de80  2c 22 73 61 76 65 73 6f  6e 67 6d 6f 22 29 0d 60  |,"savesongmo").`|
0000de90  36 1e f2 4c 6f 61 64 54  65 6d 70 28 77 61 62 6f  |6..LoadTemp(wabo|
0000dea0  75 74 25 2c 22 61 62 6f  75 74 22 29 0d 60 40 24  |ut%,"about").`@$|
0000deb0  f2 4c 6f 61 64 54 65 6d  70 28 77 6b 65 79 62 6f  |.LoadTemp(wkeybo|
0000dec0  61 72 64 25 2c 22 6b 65  79 62 6f 61 72 64 22 29  |ard%,"keyboard")|
0000ded0  0d 60 4a 24 f2 4c 6f 61  64 54 65 6d 70 28 77 73  |.`J$.LoadTemp(ws|
0000dee0  61 76 65 61 73 6d 6f 25  2c 22 73 61 76 65 61 73  |aveasmo%,"saveas|
0000def0  6d 6f 22 29 0d 60 54 1c  f2 4c 6f 61 64 54 65 6d  |mo").`T..LoadTem|
0000df00  70 28 77 66 61 64 65 25  2c 22 66 61 64 65 22 29  |p(wfade%,"fade")|
0000df10  0d 60 5e 1c f2 4c 6f 61  64 54 65 6d 70 28 77 65  |.`^..LoadTemp(we|
0000df20  63 68 6f 25 2c 22 65 63  68 6f 22 29 0d 60 68 1c  |cho%,"echo").`h.|
0000df30  f2 4c 6f 61 64 54 65 6d  70 28 77 69 6e 66 6f 25  |.LoadTemp(winfo%|
0000df40  2c 22 69 6e 66 6f 22 29  0d 60 72 1c f2 4c 6f 61  |,"info").`r..Loa|
0000df50  64 54 65 6d 70 28 77 77  6f 72 6b 25 2c 22 77 6f  |dTemp(wwork%,"wo|
0000df60  72 6b 22 29 0d 60 7c 1a  f2 4c 6f 61 64 54 65 6d  |rk").`|..LoadTem|
0000df70  70 28 77 70 6f 73 25 2c  22 70 6f 73 22 29 0d 60  |p(wpos%,"pos").`|
0000df80  86 1a f2 4c 6f 61 64 54  65 6d 70 28 77 66 66 74  |...LoadTemp(wfft|
0000df90  25 2c 22 66 66 74 22 29  0d 60 90 1c f2 4c 6f 61  |%,"fft").`...Loa|
0000dfa0  64 54 65 6d 70 28 77 73  6f 6e 67 25 2c 22 73 6f  |dTemp(wsong%,"so|
0000dfb0  6e 67 22 29 0d 60 9a 24  f2 4c 6f 61 64 54 65 6d  |ng").`.$.LoadTem|
0000dfc0  70 28 77 73 6f 6e 67 70  61 6e 65 25 2c 22 73 6f  |p(wsongpane%,"so|
0000dfd0  6e 67 70 61 6e 65 22 29  0d 60 a4 1a c8 99 22 57  |ngpane").`...."W|
0000dfe0  69 6d 70 5f 43 6c 6f 73  65 54 65 6d 70 6c 61 74  |imp_CloseTemplat|
0000dff0  65 22 0d 60 ae 33 c8 99  22 57 69 6d 70 5f 43 72  |e".`.3.."Wimp_Cr|
0000e000  65 61 74 65 57 69 6e 64  6f 77 22 2c 2c 77 73 61  |eateWindow",,wsa|
0000e010  76 65 61 73 73 61 31 25  b8 77 73 61 76 65 61 73  |veassa1%.wsaveas|
0000e020  73 61 31 68 25 0d 60 b8  33 c8 99 22 57 69 6d 70  |sa1h%.`.3.."Wimp|
0000e030  5f 43 72 65 61 74 65 57  69 6e 64 6f 77 22 2c 2c  |_CreateWindow",,|
0000e040  77 73 61 76 65 61 73 73  61 32 25 b8 77 73 61 76  |wsaveassa2%.wsav|
0000e050  65 61 73 73 61 32 68 25  0d 60 c2 33 c8 99 22 57  |eassa2h%.`.3.."W|
0000e060  69 6d 70 5f 43 72 65 61  74 65 57 69 6e 64 6f 77  |imp_CreateWindow|
0000e070  22 2c 2c 77 73 61 76 65  61 73 73 61 33 25 b8 77  |",,wsaveassa3%.w|
0000e080  73 61 76 65 61 73 73 61  33 68 25 0d 60 cc 33 c8  |saveassa3h%.`.3.|
0000e090  99 22 57 69 6d 70 5f 43  72 65 61 74 65 57 69 6e  |."Wimp_CreateWin|
0000e0a0  64 6f 77 22 2c 2c 77 73  61 76 65 61 73 73 61 34  |dow",,wsaveassa4|
0000e0b0  25 b8 77 73 61 76 65 61  73 73 61 34 68 25 0d 60  |%.wsaveassa4h%.`|
0000e0c0  d6 33 c8 99 22 57 69 6d  70 5f 43 72 65 61 74 65  |.3.."Wimp_Create|
0000e0d0  57 69 6e 64 6f 77 22 2c  2c 77 73 61 76 65 61 73  |Window",,wsaveas|
0000e0e0  73 61 35 25 b8 77 73 61  76 65 61 73 73 61 35 68  |sa5%.wsaveassa5h|
0000e0f0  25 0d 60 e0 33 c8 99 22  57 69 6d 70 5f 43 72 65  |%.`.3.."Wimp_Cre|
0000e100  61 74 65 57 69 6e 64 6f  77 22 2c 2c 77 73 61 76  |ateWindow",,wsav|
0000e110  65 61 73 73 61 36 25 b8  77 73 61 76 65 61 73 73  |eassa6%.wsaveass|
0000e120  61 36 68 25 0d 60 ea 35  c8 99 22 57 69 6d 70 5f  |a6h%.`.5.."Wimp_|
0000e130  43 72 65 61 74 65 57 69  6e 64 6f 77 22 2c 2c 77  |CreateWindow",,w|
0000e140  73 61 76 65 61 73 73 6f  6e 67 25 b8 77 73 61 76  |saveassong%.wsav|
0000e150  65 61 73 73 6f 6e 67 68  25 0d 60 f4 35 c8 99 22  |eassongh%.`.5.."|
0000e160  57 69 6d 70 5f 43 72 65  61 74 65 57 69 6e 64 6f  |Wimp_CreateWindo|
0000e170  77 22 2c 2c 77 73 61 76  65 73 6f 6e 67 6d 6f 25  |w",,wsavesongmo%|
0000e180  b8 77 73 61 76 65 73 6f  6e 67 6d 6f 68 25 0d 60  |.wsavesongmoh%.`|
0000e190  fe 31 c8 99 22 57 69 6d  70 5f 43 72 65 61 74 65  |.1.."Wimp_Create|
0000e1a0  57 69 6e 64 6f 77 22 2c  2c 77 73 61 76 65 61 73  |Window",,wsaveas|
0000e1b0  6d 6f 25 b8 77 73 61 76  65 61 73 6d 6f 68 25 0d  |mo%.wsaveasmoh%.|
0000e1c0  61 08 2b c8 99 22 57 69  6d 70 5f 43 72 65 61 74  |a.+.."Wimp_Creat|
0000e1d0  65 57 69 6e 64 6f 77 22  2c 2c 77 61 62 6f 75 74  |eWindow",,wabout|
0000e1e0  25 b8 77 61 62 6f 75 74  68 25 0d 61 12 31 c8 99  |%.wabouth%.a.1..|
0000e1f0  22 57 69 6d 70 5f 43 72  65 61 74 65 57 69 6e 64  |"Wimp_CreateWind|
0000e200  6f 77 22 2c 2c 77 6b 65  79 62 6f 61 72 64 25 b8  |ow",,wkeyboard%.|
0000e210  77 6b 65 79 62 6f 61 72  64 68 25 0d 61 1c 29 c8  |wkeyboardh%.a.).|
0000e220  99 22 57 69 6d 70 5f 43  72 65 61 74 65 57 69 6e  |."Wimp_CreateWin|
0000e230  64 6f 77 22 2c 2c 77 77  6f 72 6b 25 b8 77 77 6f  |dow",,wwork%.wwo|
0000e240  72 6b 68 25 0d 61 26 29  c8 99 22 57 69 6d 70 5f  |rkh%.a&).."Wimp_|
0000e250  43 72 65 61 74 65 57 69  6e 64 6f 77 22 2c 2c 77  |CreateWindow",,w|
0000e260  69 6e 66 6f 25 b8 77 69  6e 66 6f 68 25 0d 61 30  |info%.winfoh%.a0|
0000e270  29 c8 99 22 57 69 6d 70  5f 43 72 65 61 74 65 57  |).."Wimp_CreateW|
0000e280  69 6e 64 6f 77 22 2c 2c  77 65 63 68 6f 25 b8 77  |indow",,wecho%.w|
0000e290  65 63 68 6f 68 25 0d 61  3a 29 c8 99 22 57 69 6d  |echoh%.a:).."Wim|
0000e2a0  70 5f 43 72 65 61 74 65  57 69 6e 64 6f 77 22 2c  |p_CreateWindow",|
0000e2b0  2c 77 66 61 64 65 25 b8  77 66 61 64 65 68 25 0d  |,wfade%.wfadeh%.|
0000e2c0  61 44 27 c8 99 22 57 69  6d 70 5f 43 72 65 61 74  |aD'.."Wimp_Creat|
0000e2d0  65 57 69 6e 64 6f 77 22  2c 2c 77 70 6f 73 25 b8  |eWindow",,wpos%.|
0000e2e0  77 70 6f 73 68 25 0d 61  4e 27 c8 99 22 57 69 6d  |wposh%.aN'.."Wim|
0000e2f0  70 5f 43 72 65 61 74 65  57 69 6e 64 6f 77 22 2c  |p_CreateWindow",|
0000e300  2c 77 66 66 74 25 b8 77  66 66 74 68 25 0d 61 58  |,wfft%.wffth%.aX|
0000e310  29 c8 99 22 57 69 6d 70  5f 43 72 65 61 74 65 57  |).."Wimp_CreateW|
0000e320  69 6e 64 6f 77 22 2c 2c  77 73 6f 6e 67 25 b8 77  |indow",,wsong%.w|
0000e330  73 6f 6e 67 68 25 0d 61  62 31 c8 99 22 57 69 6d  |songh%.ab1.."Wim|
0000e340  70 5f 43 72 65 61 74 65  57 69 6e 64 6f 77 22 2c  |p_CreateWindow",|
0000e350  2c 77 73 6f 6e 67 70 61  6e 65 25 b8 77 73 6f 6e  |,wsongpane%.wson|
0000e360  67 70 61 6e 65 68 25 0d  61 6c 0a f2 4d 65 6e 75  |gpaneh%.al..Menu|
0000e370  73 0d 61 76 0f de 20 62  69 63 6f 6e 25 20 33 32  |s.av.. bicon% 32|
0000e380  0d 61 80 0f 62 69 63 6f  6e 25 21 30 3d 2d 31 0d  |.a..bicon%!0=-1.|
0000e390  61 8a 0e 62 69 63 6f 6e  25 21 34 3d 30 0d 61 94  |a..bicon%!4=0.a.|
0000e3a0  0e 62 69 63 6f 6e 25 21  38 3d 30 0d 61 9e 10 62  |.bicon%!8=0.a..b|
0000e3b0  69 63 6f 6e 25 21 31 32  3d 36 38 0d 61 a8 10 62  |icon%!12=68.a..b|
0000e3c0  69 63 6f 6e 25 21 31 36  3d 36 38 0d 61 b2 1f 62  |icon%!16=68.a..b|
0000e3d0  69 63 6f 6e 25 21 32 30  3d 25 30 30 31 31 30 30  |icon%!20=%001100|
0000e3e0  30 30 30 30 30 31 31 30  31 30 0d 61 bc 19 24 28  |0000011010.a..$(|
0000e3f0  62 69 63 6f 6e 25 2b 32  34 29 3d 22 21 73 66 78  |bicon%+24)="!sfx|
0000e400  65 64 22 0d 61 c6 27 c8  99 22 57 69 6d 70 5f 43  |ed".a.'.."Wimp_C|
0000e410  72 65 61 74 65 49 63 6f  6e 22 2c 2c 62 69 63 6f  |reateIcon",,bico|
0000e420  6e 25 b8 62 69 63 6f 6e  68 25 0d 61 d0 0a f2 41  |n%.biconh%.a...A|
0000e430  73 73 65 6d 0d 61 da 10  de 20 64 72 61 67 62 25  |ssem.a... dragb%|
0000e440  20 32 35 36 0d 61 e4 10  de 20 70 6f 6c 6c 62 25  | 256.a... pollb%|
0000e450  20 32 35 36 0d 61 ee 12  de 20 70 6f 6c 6c 65 64  | 256.a... polled|
0000e460  62 25 20 32 35 36 0d 61  f8 0f 2a 56 4f 4c 55 4d  |b% 256.a..*VOLUM|
0000e470  45 20 31 32 37 0d 62 02  28 c8 99 22 58 53 6f 75  |E 127.b.(.."XSou|
0000e480  6e 64 5f 43 6f 6e 66 69  67 75 72 65 22 2c 30 2c  |nd_Configure",0,|
0000e490  30 2c 30 2c 30 2c 30 b8  2c 2c 2c 54 25 0d 62 0c  |0,0,0,0.,,,T%.b.|
0000e4a0  13 de 20 6c 6f 67 74 61  62 6c 65 25 20 32 35 36  |.. logtable% 256|
0000e4b0  0d 62 16 15 21 6c 6f 67  74 61 62 3d 6c 6f 67 74  |.b..!logtab=logt|
0000e4c0  61 62 6c 65 25 0d 62 20  0d e3 53 25 3d 30 b8 32  |able%.b ..S%=0.2|
0000e4d0  35 35 0d 62 2a 24 20 20  6c 6f 67 74 61 62 6c 65  |55.b*$  logtable|
0000e4e0  25 3f 53 25 3d 3f 28 28  54 25 21 38 29 2b 28 53  |%?S%=?((T%!8)+(S|
0000e4f0  25 3c 3c 35 29 29 0d 62  34 07 ed 53 25 0d 62 3e  |%<<5)).b4..S%.b>|
0000e500  13 de 20 6c 69 6e 74 61  62 6c 65 25 20 32 35 36  |.. lintable% 256|
0000e510  0d 62 48 15 21 6c 69 6e  74 61 62 3d 6c 69 6e 74  |.bH.!lintab=lint|
0000e520  61 62 6c 65 25 0d 62 52  0d e3 53 25 3d 30 b8 31  |able%.bR..S%=0.1|
0000e530  32 37 0d 62 5c 34 20 20  6c 69 6e 74 61 62 6c 65  |27.b\4  lintable|
0000e540  25 3f 28 53 25 2a 32 29  3d a8 28 28 30 2e 35 2b  |%?(S%*2)=.((0.5+|
0000e550  32 36 37 2e 33 33 2a 32  5e 28 53 25 2f 31 36 29  |267.33*2^(S%/16)|
0000e560  29 2f 35 31 32 29 0d 62  66 2a 20 20 6c 69 6e 74  |)/512).bf*  lint|
0000e570  61 62 6c 65 25 3f 28 53  25 2a 32 2b 31 29 3d 2d  |able%?(S%*2+1)=-|
0000e580  6c 69 6e 74 61 62 6c 65  25 3f 28 53 25 2a 32 29  |lintable%?(S%*2)|
0000e590  0d 62 70 07 ed 53 25 0d  62 7a 13 73 61 6d 70 6c  |.bp..S%.bz.sampl|
0000e5a0  65 73 61 76 65 64 25 3d  2d 31 0d 62 84 22 66 69  |esaved%=-1.b."fi|
0000e5b0  6c 65 74 6f 6c 6f 61 64  24 3d 22 22 3a 66 69 6c  |letoload$="":fil|
0000e5c0  65 74 6f 6c 6f 61 64 32  24 3d 22 22 0d 62 8e 10  |etoload2$="".b..|
0000e5d0  73 61 76 65 64 61 74 61  25 3d 2d 31 0d 62 98 0e  |savedata%=-1.b..|
0000e5e0  73 61 76 65 64 74 25 3d  2d 31 0d 62 a2 10 73 61  |savedt%=-1.b..sa|
0000e5f0  76 65 74 79 70 65 25 3d  2d 31 0d 62 ac 0a 73 73  |vetype%=-1.b..ss|
0000e600  25 3d 2d 31 0d 62 b6 30  6f 6c 64 62 75 74 25 3d  |%=-1.b.0oldbut%=|
0000e610  30 3a 6c 61 73 74 6d 65  6e 75 25 3d 2d 31 3a 6c  |0:lastmenu%=-1:l|
0000e620  61 73 74 6d 78 25 3d 2d  31 3a 6c 61 73 74 6d 79  |astmx%=-1:lastmy|
0000e630  25 3d 2d 31 0d 62 c0 10  64 72 61 67 74 79 70 65  |%=-1.b..dragtype|
0000e640  25 3d 2d 31 0d 62 ca 0f  70 6c 61 79 74 79 70 65  |%=-1.b..playtype|
0000e650  25 3d 30 0d 62 d4 0b 6d  61 78 78 25 3d 30 0d 62  |%=0.b..maxx%=0.b|
0000e660  de 0b 6d 6f 72 65 25 3d  30 0d 62 e8 0c 73 74 79  |..more%=0.b..sty|
0000e670  70 65 25 3d 30 0d 62 f2  10 72 65 6c 65 61 73 65  |pe%=0.b..release|
0000e680  6b 25 3d 2d 31 0d 62 fc  11 6d 75 6c 74 69 70 6c  |k%=-1.b..multipl|
0000e690  65 6b 25 3d 2d 31 0d 63  06 0a 6f 6b 74 25 3d 31  |ek%=-1.c..okt%=1|
0000e6a0  0d 63 10 0e 70 64 69 73  70 68 64 25 3d 30 0d 63  |.c..pdisphd%=0.c|
0000e6b0  1a 0d 70 69 74 63 68 25  3d 34 38 0d 63 24 11 73  |..pitch%=48.c$.s|
0000e6c0  70 69 74 63 68 25 3d 26  31 30 30 30 0d 63 2e 12  |pitch%=&1000.c..|
0000e6d0  6f 73 70 69 74 63 68 25  3d 26 31 30 30 30 0d 63  |ospitch%=&1000.c|
0000e6e0  38 27 c8 99 22 58 53 6f  75 6e 64 5f 43 6f 6e 66  |8'.."XSound_Conf|
0000e6f0  69 67 75 72 65 22 2c 30  2c 30 2c 70 69 74 63 68  |igure",0,0,pitch|
0000e700  25 2c 30 2c 30 0d 63 42  12 62 75 66 6c 65 6e 25  |%,0,0.cB.buflen%|
0000e710  3d 26 32 30 30 30 30 0d  63 4c 15 73 6f 6e 67 62  |=&20000.cL.songb|
0000e720  75 66 6c 65 6e 25 3d 26  31 30 30 30 0d 63 56 0e  |uflen%=&1000.cV.|
0000e730  73 6f 6e 67 72 65 70 25  3d 30 0d 63 60 07 c8 a0  |songrep%=0.c`...|
0000e740  34 0d 63 6a 13 c8 a1 32  2c 22 53 46 58 4d 56 6f  |4.cj...2,"SFXMVo|
0000e750  69 63 65 22 0d 63 74 13  c8 a1 33 2c 22 53 46 58  |ice".ct...3,"SFX|
0000e760  4d 56 6f 69 63 65 22 0d  63 7e 13 c8 a1 34 2c 22  |MVoice".c~...4,"|
0000e770  53 46 58 4d 56 6f 69 63  65 22 0d 63 88 14 c8 99  |SFXMVoice".c....|
0000e780  22 53 46 58 4d 50 5f 45  6e 61 62 6c 65 22 0d 63  |"SFXMP_Enable".c|
0000e790  92 35 c8 99 22 58 4f 53  5f 4d 6f 64 75 6c 65 22  |.5.."XOS_Module"|
0000e7a0  2c 36 2c 2c 2c 73 6f 6e  67 62 75 66 6c 65 6e 25  |,6,,,songbuflen%|
0000e7b0  2b 33 32 b8 2c 2c 73 6f  6e 67 73 74 61 72 74 25  |+32.,,songstart%|
0000e7c0  3b 76 25 0d 63 9c 0c e7  20 76 25 80 31 20 8c 0d  |;v%.c... v%.1 ..|
0000e7d0  63 a6 13 20 20 73 6f 6e  67 73 74 61 72 74 25 3d  |c..  songstart%=|
0000e7e0  2d 31 0d 63 b0 2e 20 20  f2 52 65 70 6f 72 74 45  |-1.c..  .ReportE|
0000e7f0  72 72 28 22 43 61 6e 27  74 20 63 6c 61 69 6d 20  |rr("Can't claim |
0000e800  73 61 6d 70 6c 65 20 6d  65 6d 6f 72 79 2e 22 29  |sample memory.")|
0000e810  0d 63 ba 0b 20 20 f2 51  75 69 74 0d 63 c4 05 cd  |.c..  .Quit.c...|
0000e820  0d 63 ce 2d c8 99 22 58  4f 53 5f 4d 6f 64 75 6c  |.c.-.."XOS_Modul|
0000e830  65 22 2c 36 2c 2c 2c 62  75 66 6c 65 6e 25 b8 2c  |e",6,,,buflen%.,|
0000e840  2c 62 75 66 73 74 61 72  74 25 3b 76 25 0d 63 d8  |,bufstart%;v%.c.|
0000e850  0c e7 20 76 25 80 31 20  8c 0d 63 e2 12 20 20 62  |.. v%.1 ..c..  b|
0000e860  75 66 73 74 61 72 74 25  3d 2d 31 0d 63 ec 2e 20  |ufstart%=-1.c.. |
0000e870  20 f2 52 65 70 6f 72 74  45 72 72 28 22 43 61 6e  | .ReportErr("Can|
0000e880  27 74 20 63 6c 61 69 6d  20 73 61 6d 70 6c 65 20  |'t claim sample |
0000e890  6d 65 6d 6f 72 79 2e 22  29 0d 63 f6 0b 20 20 f2  |memory.").c..  .|
0000e8a0  51 75 69 74 0d 64 00 05  cd 0d 64 0a 0c f2 52 65  |Quit.d....d...Re|
0000e8b0  73 74 61 72 74 0d 64 14  0e f2 53 65 74 45 78 74  |start.d...SetExt|
0000e8c0  65 6e 74 0d 64 1e 15 c8  99 22 48 6f 75 72 67 6c  |ent.d...."Hourgl|
0000e8d0  61 73 73 5f 4f 66 66 22  0d 64 28 05 e1 0d 64 32  |ass_Off".d(...d2|
0000e8e0  04 0d 64 3c 0d dd f2 52  65 73 74 61 72 74 0d 64  |..d<...Restart.d|
0000e8f0  46 36 c8 99 22 53 46 58  4d 50 5f 53 74 6f 70 22  |F6.."SFXMP_Stop"|
0000e900  2c 31 3a c8 99 22 53 46  58 4d 50 5f 53 74 6f 70  |,1:.."SFXMP_Stop|
0000e910  22 2c 32 3a c8 99 22 53  46 58 4d 50 5f 53 74 6f  |",2:.."SFXMP_Sto|
0000e920  70 22 2c 33 0d 64 50 1a  73 74 61 72 74 73 61 6d  |p",3.dP.startsam|
0000e930  70 6c 65 25 3d 62 75 66  73 74 61 72 74 25 0d 64  |ple%=bufstart%.d|
0000e940  5a 10 73 61 6d 70 6c 65  6c 65 6e 25 3d 31 0d 64  |Z.samplelen%=1.d|
0000e950  64 21 63 6c 69 70 62 73  74 61 72 74 25 3d 62 75  |d!clipbstart%=bu|
0000e960  66 73 74 61 72 74 25 2b  62 75 66 6c 65 6e 25 0d  |fstart%+buflen%.|
0000e970  64 6e 0f 63 6c 69 70 62  6c 65 6e 25 3d 30 0d 64  |dn.clipblen%=0.d|
0000e980  78 0e 64 69 73 70 6c 65  6e 25 3d 31 0d 64 82 35  |x.displen%=1.d.5|
0000e990  73 65 6c 65 63 74 6c 25  3d 2d 31 3a 6f 73 65 6c  |selectl%=-1:osel|
0000e9a0  65 63 74 6c 25 3d 2d 31  3a 73 65 6c 65 63 74 72  |ectl%=-1:selectr|
0000e9b0  25 3d 2d 31 3a 6f 73 65  6c 65 63 74 72 25 3d 2d  |%=-1:oselectr%=-|
0000e9c0  31 0d 64 8c 1d 70 73 65  6c 65 63 74 6c 25 3d 2d  |1.d..pselectl%=-|
0000e9d0  31 3a 70 73 65 6c 65 63  74 72 25 3d 2d 31 0d 64  |1:pselectr%=-1.d|
0000e9e0  96 0d 70 6c 61 79 70 25  3d 2d 31 0d 64 a0 18 6c  |..playp%=-1.d..l|
0000e9f0  6f 6f 70 6c 25 3d 30 3a  6c 6f 6f 70 72 25 3d 31  |oopl%=0:loopr%=1|
0000ea00  30 32 34 0d 64 aa 1a 6f  6c 6f 6f 70 6c 25 3d 30  |024.d..oloopl%=0|
0000ea10  3a 6f 6c 6f 6f 70 72 25  3d 31 30 32 34 0d 64 b4  |:oloopr%=1024.d.|
0000ea20  20 70 6c 6f 6f 70 6c 25  3d 30 3a 70 6c 6f 6f 70  | ploopl%=0:ploop|
0000ea30  72 25 3d 73 61 6d 70 6c  65 6c 65 6e 25 0d 64 be  |r%=samplelen%.d.|
0000ea40  25 73 70 6c 6f 6f 70 6c  25 3d 70 6c 6f 6f 70 6c  |%sploopl%=ploopl|
0000ea50  25 3a 73 70 6c 6f 6f 70  72 25 3d 70 6c 6f 6f 70  |%:sploopr%=ploop|
0000ea60  72 25 0d 64 c8 14 73 74  61 72 74 73 61 6d 70 6c  |r%.d..startsampl|
0000ea70  65 25 3f 30 3d 30 0d 64  d2 14 73 74 61 72 74 73  |e%?0=0.d..starts|
0000ea80  61 6d 70 6c 65 25 3f 31  3d 30 0d 64 dc 15 70 6f  |ample%?1=0.d..po|
0000ea90  73 25 3d 30 3a 6f 6c 64  70 6f 73 25 3d 2d 31 0d  |s%=0:oldpos%=-1.|
0000eaa0  64 e6 20 7a 6f 6f 6d 73  6c 25 3d 30 3a 7a 6f 6f  |d. zoomsl%=0:zoo|
0000eab0  6d 73 72 25 3d 73 61 6d  70 6c 65 6c 65 6e 25 0d  |msr%=samplelen%.|
0000eac0  64 f0 0c f2 44 72 61 77  50 6f 73 0d 64 fa 0e f2  |d...DrawPos.d...|
0000ead0  43 6c 65 61 72 53 6f 6e  67 0d 65 04 05 e1 0d 65  |ClearSong.e....e|
0000eae0  0e 04 0d 65 18 0f dd f2  43 6c 65 61 72 53 6f 6e  |...e....ClearSon|
0000eaf0  67 0d 65 22 36 c8 99 22  53 46 58 4d 50 5f 53 74  |g.e"6.."SFXMP_St|
0000eb00  6f 70 22 2c 31 3a c8 99  22 53 46 58 4d 50 5f 53  |op",1:.."SFXMP_S|
0000eb10  74 6f 70 22 2c 32 3a c8  99 22 53 46 58 4d 50 5f  |top",2:.."SFXMP_|
0000eb20  53 74 6f 70 22 2c 33 0d  65 2c 0e 73 6f 6e 67 6c  |Stop",3.e,.songl|
0000eb30  65 6e 25 3d 30 0d 65 36  0f 63 75 72 72 73 65 63  |en%=0.e6.currsec|
0000eb40  74 25 3d 30 0d 65 40 17  74 65 6d 70 25 21 30 3d  |t%=0.e@.temp%!0=|
0000eb50  77 73 6f 6e 67 70 61 6e  65 68 25 0d 65 4a 0d 74  |wsongpaneh%.eJ.t|
0000eb60  65 6d 70 25 21 34 3d 35  0d 65 54 20 c8 99 22 57  |emp%!4=5.eT .."W|
0000eb70  69 6d 70 5f 47 65 74 49  63 6f 6e 53 74 61 74 65  |imp_GetIconState|
0000eb80  22 2c 2c 74 65 6d 70 25  0d 65 5e 13 24 28 74 65  |",,temp%.e^.$(te|
0000eb90  6d 70 25 21 32 38 29 3d  22 31 22 0d 65 68 0d 74  |mp%!28)="1".eh.t|
0000eba0  65 6d 70 25 21 34 3d 36  0d 65 72 20 c8 99 22 57  |emp%!4=6.er .."W|
0000ebb0  69 6d 70 5f 47 65 74 49  63 6f 6e 53 74 61 74 65  |imp_GetIconState|
0000ebc0  22 2c 2c 74 65 6d 70 25  0d 65 7c 1c 24 28 74 65  |",,temp%.e|.$(te|
0000ebd0  6d 70 25 21 32 38 29 3d  22 3c 55 6e 74 69 74 6c  |mp%!28)="<Untitl|
0000ebe0  65 64 3e 22 0d 65 86 0d  74 65 6d 70 25 21 34 3d  |ed>".e..temp%!4=|
0000ebf0  37 0d 65 90 20 c8 99 22  57 69 6d 70 5f 47 65 74  |7.e. .."Wimp_Get|
0000ec00  49 63 6f 6e 53 74 61 74  65 22 2c 2c 74 65 6d 70  |IconState",,temp|
0000ec10  25 0d 65 9a 13 24 28 74  65 6d 70 25 21 32 38 29  |%.e..$(temp%!28)|
0000ec20  3d 22 31 22 0d 65 a4 0d  74 65 6d 70 25 21 34 3d  |="1".e..temp%!4=|
0000ec30  38 0d 65 ae 20 c8 99 22  57 69 6d 70 5f 47 65 74  |8.e. .."Wimp_Get|
0000ec40  49 63 6f 6e 53 74 61 74  65 22 2c 2c 74 65 6d 70  |IconState",,temp|
0000ec50  25 0d 65 b8 16 24 28 74  65 6d 70 25 21 32 38 29  |%.e..$(temp%!28)|
0000ec60  3d 22 34 30 39 36 22 0d  65 c2 0d 74 65 6d 70 25  |="4096".e..temp%|
0000ec70  21 34 3d 39 0d 65 cc 20  c8 99 22 57 69 6d 70 5f  |!4=9.e. .."Wimp_|
0000ec80  47 65 74 49 63 6f 6e 53  74 61 74 65 22 2c 2c 74  |GetIconState",,t|
0000ec90  65 6d 70 25 0d 65 d6 15  24 28 74 65 6d 70 25 21  |emp%.e..$(temp%!|
0000eca0  32 38 29 3d 22 32 35 35  22 0d 65 e0 12 f2 53 65  |28)="255".e...Se|
0000ecb0  74 53 6f 6e 67 45 78 74  65 6e 74 0d 65 ea 0b f2  |tSongExtent.e...|
0000ecc0  52 64 53 6f 6e 67 0d 65  f4 0f f2 52 64 53 6f 6e  |RdSong.e...RdSon|
0000ecd0  67 50 61 6e 65 0d 65 fe  05 e1 0d 66 08 04 0d 66  |gPane.e....f...f|
0000ece0  12 13 dd f2 4d 6f 64 54  69 74 6c 65 28 73 73 25  |....ModTitle(ss%|
0000ecf0  29 0d 66 1c 09 ea 20 74  69 24 0d 66 26 1a e7 20  |).f... ti$.f&.. |
0000ed00  73 73 25 3d 73 61 6d 70  6c 65 73 61 76 65 64 25  |ss%=samplesaved%|
0000ed10  20 8c 20 e1 0d 66 30 14  74 69 24 3d 24 28 77 77  | . ..f0.ti$=$(ww|
0000ed20  6f 72 6b 25 21 37 32 29  0d 66 3a 2a e7 20 a7 74  |ork%!72).f:*. .t|
0000ed30  69 24 2c 22 20 22 29 3c  3e 30 20 8c 20 74 69 24  |i$," ")<>0 . ti$|
0000ed40  3d c0 74 69 24 2c a7 74  69 24 2c 22 20 22 29 2d  |=.ti$,.ti$," ")-|
0000ed50  31 29 0d 66 44 1a e7 20  73 73 25 3d 30 20 8c 20  |1).fD.. ss%=0 . |
0000ed60  74 69 24 3d 74 69 24 2b  22 20 2a 22 0d 66 4e 14  |ti$=ti$+" *".fN.|
0000ed70  24 28 77 77 6f 72 6b 25  21 37 32 29 3d 74 69 24  |$(wwork%!72)=ti$|
0000ed80  0d 66 58 13 74 65 6d 70  25 21 30 3d 77 77 6f 72  |.fX.temp%!0=wwor|
0000ed90  6b 68 25 0d 66 62 24 c8  99 22 57 69 6d 70 5f 47  |kh%.fb$.."Wimp_G|
0000eda0  65 74 57 69 6e 64 6f 77  4f 75 74 6c 69 6e 65 22  |etWindowOutline"|
0000edb0  2c 2c 74 65 6d 70 25 0d  66 6c 41 c8 99 22 57 69  |,,temp%.flA.."Wi|
0000edc0  6d 70 5f 46 6f 72 63 65  52 65 64 72 61 77 22 2c  |mp_ForceRedraw",|
0000edd0  2d 31 2c 74 65 6d 70 25  21 34 2c 74 65 6d 70 25  |-1,temp%!4,temp%|
0000ede0  21 31 36 2d 34 30 2c 74  65 6d 70 25 21 31 32 2c  |!16-40,temp%!12,|
0000edf0  74 65 6d 70 25 21 31 36  0d 66 76 14 73 61 6d 70  |temp%!16.fv.samp|
0000ee00  6c 65 73 61 76 65 64 25  3d 73 73 25 0d 66 80 05  |lesaved%=ss%.f..|
0000ee10  e1 0d 66 8a 04 0d 66 94  1e dd f2 4c 6f 61 64 54  |..f...f....LoadT|
0000ee20  65 6d 70 28 f8 20 73 74  61 72 74 25 2c 6e 61 6d  |emp(. start%,nam|
0000ee30  65 24 29 0d 66 9e 11 24  74 6e 61 6d 65 25 3d 6e  |e$).f..$tname%=n|
0000ee40  61 6d 65 24 0d 66 a8 5a  c8 99 22 57 69 6d 70 5f  |ame$.f.Z.."Wimp_|
0000ee50  4c 6f 61 64 54 65 6d 70  6c 61 74 65 22 2c 2c 73  |LoadTemplate",,s|
0000ee60  74 61 72 74 25 2c 69 63  62 75 66 6e 25 2c 69 63  |tart%,icbufn%,ic|
0000ee70  62 75 66 25 2b 34 30 30  30 2c 2d 31 2c 74 6e 61  |buf%+4000,-1,tna|
0000ee80  6d 65 25 2c 30 b8 2c 73  74 61 72 74 25 2c 69 63  |me%,0.,start%,ic|
0000ee90  62 75 66 6e 25 2c 2c 2c  2c 6e 65 78 74 25 0d 66  |bufn%,,,,next%.f|
0000eea0  b2 49 e7 20 6e 65 78 74  25 3d 30 20 8c 20 c8 99  |.I. next%=0 . ..|
0000eeb0  22 57 69 6d 70 5f 43 6c  6f 73 65 54 65 6d 70 6c  |"Wimp_CloseTempl|
0000eec0  61 74 65 22 3a 85 20 30  2c 22 54 65 6d 70 6c 61  |ate":. 0,"Templa|
0000eed0  74 65 20 22 2b 6e 61 6d  65 24 2b 22 20 6e 6f 74  |te "+name$+" not|
0000eee0  20 66 6f 75 6e 64 22 0d  66 bc 05 e1 0d 66 c6 04  | found".f....f..|
0000eef0  0d 66 d0 13 dd f2 52 65  70 6f 72 74 45 72 72 28  |.f....ReportErr(|
0000ef00  61 24 29 0d 66 da 0e 74  65 6d 70 32 25 21 30 3d  |a$).f..temp2%!0=|
0000ef10  30 0d 66 e4 12 24 28 74  65 6d 70 32 25 2b 34 29  |0.f..$(temp2%+4)|
0000ef20  3d 61 24 0d 66 ee 29 c8  99 22 57 69 6d 70 5f 52  |=a$.f.).."Wimp_R|
0000ef30  65 70 6f 72 74 45 72 72  6f 72 22 2c 74 65 6d 70  |eportError",temp|
0000ef40  32 25 2c 31 2c 22 53 46  58 45 44 22 0d 66 f8 05  |2%,1,"SFXED".f..|
0000ef50  e1 0d 67 02 04 0d 67 0c  11 dd a4 43 6f 6e 66 69  |..g...g....Confi|
0000ef60  72 6d 28 61 24 29 0d 67  16 0e 74 65 6d 70 32 25  |rm(a$).g..temp2%|
0000ef70  21 30 3d 30 0d 67 20 12  24 28 74 65 6d 70 32 25  |!0=0.g .$(temp2%|
0000ef80  2b 34 29 3d 61 24 0d 67  2a 34 c8 99 22 57 69 6d  |+4)=a$.g*4.."Wim|
0000ef90  70 5f 52 65 70 6f 72 74  45 72 72 6f 72 22 2c 74  |p_ReportError",t|
0000efa0  65 6d 70 32 25 2c 25 31  30 30 31 31 2c 22 43 6f  |emp2%,%10011,"Co|
0000efb0  6e 66 69 72 6d 22 b8 2c  41 25 0d 67 34 07 3d 41  |nfirm".,A%.g4.=A|
0000efc0  25 0d 67 3e 04 0d 67 48  10 dd a4 69 6e 74 65 72  |%.g>..gH...inter|
0000efd0  72 28 61 24 29 0d 67 52  0e 74 65 6d 70 32 25 21  |r(a$).gR.temp2%!|
0000efe0  30 3d 30 0d 67 5c 12 24  28 74 65 6d 70 32 25 2b  |0=0.g\.$(temp2%+|
0000eff0  34 29 3d 61 24 0d 67 66  42 c8 99 22 57 69 6d 70  |4)=a$.gfB.."Wimp|
0000f000  5f 52 65 70 6f 72 74 45  72 72 6f 72 22 2c 74 65  |_ReportError",te|
0000f010  6d 70 32 25 2c 25 31 30  30 31 31 2c 22 53 46 58  |mp2%,%10011,"SFX|
0000f020  45 44 20 49 6e 74 65 72  6e 61 6c 20 45 72 72 6f  |ED Internal Erro|
0000f030  72 2e 22 b8 2c 41 25 0d  67 70 07 3d 41 25 0d 67  |r.".,A%.gp.=A%.g|
0000f040  7a 04 0d 67 84 22 f4 20  74 69 74 6c 65 73 74 72  |z..g.". titlestr|
0000f050  69 6e 67 2c 20 77 69 64  74 68 20 69 6e 20 63 68  |ing, width in ch|
0000f060  61 72 73 2e 0d 67 8e 15  dd a4 4d 65 6e 75 48 65  |ars..g....MenuHe|
0000f070  61 64 28 74 24 2c 77 25  29 0d 67 98 08 ea 20 61  |ad(t$,w%).g... a|
0000f080  25 0d 67 a2 16 61 25 3d  4d 65 6e 75 73 25 2b 4d  |%.g..a%=Menus%+M|
0000f090  65 6e 75 50 74 72 25 0d  67 ac 0a 24 61 25 3d 74  |enuPtr%.g..$a%=t|
0000f0a0  24 0d 67 b6 0b 61 25 3f  31 32 3d 37 0d 67 c0 0b  |$.g..a%?12=7.g..|
0000f0b0  61 25 3f 31 33 3d 32 0d  67 ca 0b 61 25 3f 31 34  |a%?13=2.g..a%?14|
0000f0c0  3d 37 0d 67 d4 0b 61 25  3f 31 35 3d 30 0d 67 de  |=7.g..a%?15=0.g.|
0000f0d0  0f 61 25 21 31 36 3d 77  25 2a 31 36 0d 67 e8 0c  |.a%!16=w%*16.g..|
0000f0e0  61 25 21 32 30 3d 34 34  0d 67 f2 0b 61 25 21 32  |a%!20=44.g..a%!2|
0000f0f0  34 3d 30 0d 67 fc 10 4d  65 6e 75 50 74 72 25 2b  |4=0.g..MenuPtr%+|
0000f100  3d 32 38 0d 68 06 07 3d  61 25 0d 68 10 04 0d 68  |=28.h..=a%.h...h|
0000f110  1a 3b f4 20 69 74 65 6d  74 65 78 74 2c 20 66 6c  |.;. itemtext, fl|
0000f120  61 67 73 2c 20 69 6e 64  69 72 65 63 74 65 64 2c  |ags, indirected,|
0000f130  20 76 61 6c 2e 20 73 74  72 69 6e 67 2c 20 6d 61  | val. string, ma|
0000f140  78 2e 20 6c 65 6e 67 74  68 0d 68 24 1e dd f2 41  |x. length.h$...A|
0000f150  64 64 49 74 65 6d 28 69  24 2c 66 25 2c 69 25 2c  |ddItem(i$,f%,i%,|
0000f160  76 24 2c 6d 6c 25 29 0d  68 2e 08 ea 20 61 25 0d  |v$,ml%).h... a%.|
0000f170  68 38 16 61 25 3d 4d 65  6e 75 73 25 2b 4d 65 6e  |h8.a%=Menus%+Men|
0000f180  75 50 74 72 25 0d 68 42  2b e7 20 28 a9 28 69 24  |uPtr%.hB+. (.(i$|
0000f190  29 3e 31 31 29 80 28 69  25 3d 30 29 20 8c 20 69  |)>11).(i%=0) . i|
0000f1a0  25 3d 2d 31 3a 6d 6c 25  3d a9 28 69 24 29 2b 31  |%=-1:ml%=.(i$)+1|
0000f1b0  0d 68 4c 0f 61 25 21 30  3d 66 25 80 32 35 35 0d  |.hL.a%!0=f%.255.|
0000f1c0  68 56 5f e7 20 66 25 80  20 32 35 36 20 8c 20 61  |hV_. f%. 256 . a|
0000f1d0  25 21 38 3d 25 30 30 30  30 30 31 31 31 30 31 30  |%!8=%00000111010|
0000f1e0  30 30 30 30 31 31 30 30  31 30 30 30 30 30 30 30  |0000110010000000|
0000f1f0  31 30 30 30 31 20 8b 20  61 25 21 38 3d 25 30 30  |10001 . a%!8=%00|
0000f200  30 30 30 31 31 31 30 30  30 30 30 30 30 31 31 30  |0001110000000110|
0000f210  30 31 30 30 30 30 30 30  30 31 30 30 30 31 0d 68  |01000000010001.h|
0000f220  60 0b 61 25 21 34 3d 2d  31 0d 68 6a 0a e7 20 69  |`.a%!4=-1.hj.. i|
0000f230  25 20 8c 0d 68 74 0f 20  20 61 25 21 38 2b 3d 32  |% ..ht.  a%!8+=2|
0000f240  35 36 0d 68 7e 22 20 20  24 28 4d 65 6e 75 44 61  |56.h~"  $(MenuDa|
0000f250  74 61 25 2b 4d 65 6e 75  44 61 74 61 50 74 72 25  |ta%+MenuDataPtr%|
0000f260  29 3d 69 24 0d 68 88 22  20 20 61 25 21 31 32 3d  |)=i$.h."  a%!12=|
0000f270  4d 65 6e 75 44 61 74 61  25 2b 4d 65 6e 75 44 61  |MenuData%+MenuDa|
0000f280  74 61 50 74 72 25 0d 68  92 1b 20 20 4d 65 6e 75  |taPtr%.h..  Menu|
0000f290  44 61 74 61 50 74 72 25  2b 3d a9 28 69 24 29 2b  |DataPtr%+=.(i$)+|
0000f2a0  31 0d 68 9c 22 20 20 24  28 4d 65 6e 75 44 61 74  |1.h."  $(MenuDat|
0000f2b0  61 25 2b 4d 65 6e 75 44  61 74 61 50 74 72 25 29  |a%+MenuDataPtr%)|
0000f2c0  3d 76 24 0d 68 a6 22 20  20 61 25 21 31 36 3d 4d  |=v$.h."  a%!16=M|
0000f2d0  65 6e 75 44 61 74 61 25  2b 4d 65 6e 75 44 61 74  |enuData%+MenuDat|
0000f2e0  61 50 74 72 25 0d 68 b0  1b 20 20 4d 65 6e 75 44  |aPtr%.h..  MenuD|
0000f2f0  61 74 61 50 74 72 25 2b  3d a9 28 76 24 29 2b 31  |ataPtr%+=.(v$)+1|
0000f300  0d 68 ba 0f 20 20 61 25  21 32 30 3d 6d 6c 25 0d  |.h..  a%!20=ml%.|
0000f310  68 c4 05 cc 0d 68 ce 11  20 20 24 28 61 25 2b 31  |h....h..  $(a%+1|
0000f320  32 29 3d 69 24 0d 68 d8  05 cd 0d 68 e2 10 4d 65  |2)=i$.h....h..Me|
0000f330  6e 75 50 74 72 25 2b 3d  32 34 0d 68 ec 05 e1 0d  |nuPtr%+=24.h....|
0000f340  68 f6 04 0d 69 00 20 f4  20 6d 65 6e 75 2c 20 69  |h...i. . menu, i|
0000f350  74 65 6d 2c 20 73 75 62  6d 65 6e 75 70 6f 69 6e  |tem, submenupoin|
0000f360  74 65 72 0d 69 0a 1a dd  f2 41 64 64 53 75 62 4d  |ter.i....AddSubM|
0000f370  65 6e 75 28 6d 25 2c 69  25 2c 70 25 29 0d 69 14  |enu(m%,i%,p%).i.|
0000f380  16 6d 25 21 28 32 38 2b  32 34 2a 69 25 2b 34 29  |.m%!(28+24*i%+4)|
0000f390  3d 70 25 0d 69 1e 05 e1  0d 69 28 04 0d 69 32 0b  |=p%.i....i(..i2.|
0000f3a0  dd f2 4d 65 6e 75 73 0d  69 3c 11 de 20 4d 65 6e  |..Menus.i<.. Men|
0000f3b0  75 73 25 20 34 30 30 30  0d 69 46 14 de 20 4d 65  |us% 4000.iF.. Me|
0000f3c0  6e 75 44 61 74 61 25 20  32 30 30 30 0d 69 50 0e  |nuData% 2000.iP.|
0000f3d0  4d 65 6e 75 50 74 72 25  3d 30 0d 69 5a 12 4d 65  |MenuPtr%=0.iZ.Me|
0000f3e0  6e 75 44 61 74 61 50 74  72 25 3d 30 0d 69 64 04  |nuDataPtr%=0.id.|
0000f3f0  0d 69 6e 22 69 63 6f 6e  6d 65 6e 75 25 3d a4 4d  |.in"iconmenu%=.M|
0000f400  65 6e 75 48 65 61 64 28  22 53 46 58 45 44 22 2c  |enuHead("SFXED",|
0000f410  36 29 0d 69 78 1d f2 41  64 64 49 74 65 6d 28 22  |6).ix..AddItem("|
0000f420  49 6e 66 6f 22 2c 30 2c  30 2c 22 22 2c 30 29 0d  |Info",0,0,"",0).|
0000f430  69 82 1f f2 41 64 64 49  74 65 6d 28 22 51 75 69  |i...AddItem("Qui|
0000f440  74 22 2c 31 32 38 2c 30  2c 22 22 2c 30 29 0d 69  |t",128,0,"",0).i|
0000f450  8c 25 f2 41 64 64 53 75  62 4d 65 6e 75 28 69 63  |.%.AddSubMenu(ic|
0000f460  6f 6e 6d 65 6e 75 25 2c  30 2c 77 61 62 6f 75 74  |onmenu%,0,wabout|
0000f470  68 25 29 0d 69 96 04 0d  69 a0 22 77 6f 72 6b 6d  |h%).i...i."workm|
0000f480  65 6e 75 25 3d a4 4d 65  6e 75 48 65 61 64 28 22  |enu%=.MenuHead("|
0000f490  53 46 58 45 44 22 2c 38  29 0d 69 aa 1d f2 41 64  |SFXED",8).i...Ad|
0000f4a0  64 49 74 65 6d 28 22 4d  69 73 63 22 2c 30 2c 30  |dItem("Misc",0,0|
0000f4b0  2c 22 22 2c 30 29 0d 69  b4 1d f2 41 64 64 49 74  |,"",0).i...AddIt|
0000f4c0  65 6d 28 22 53 61 76 65  22 2c 30 2c 30 2c 22 22  |em("Save",0,0,""|
0000f4d0  2c 30 29 0d 69 be 1d f2  41 64 64 49 74 65 6d 28  |,0).i...AddItem(|
0000f4e0  22 45 64 69 74 22 2c 30  2c 30 2c 22 22 2c 30 29  |"Edit",0,0,"",0)|
0000f4f0  0d 69 c8 1f f2 41 64 64  49 74 65 6d 28 22 53 65  |.i...AddItem("Se|
0000f500  6c 65 63 74 22 2c 30 2c  30 2c 22 22 2c 30 29 0d  |lect",0,0,"",0).|
0000f510  69 d2 1d f2 41 64 64 49  74 65 6d 28 22 5a 6f 6f  |i...AddItem("Zoo|
0000f520  6d 22 2c 30 2c 30 2c 22  22 2c 30 29 0d 69 dc 1d  |m",0,0,"",0).i..|
0000f530  f2 41 64 64 49 74 65 6d  28 22 4c 6f 6f 70 22 2c  |.AddItem("Loop",|
0000f540  30 2c 30 2c 22 22 2c 30  29 0d 69 e6 20 f2 41 64  |0,0,"",0).i. .Ad|
0000f550  64 49 74 65 6d 28 22 47  6f 6f 64 69 65 73 22 2c  |dItem("Goodies",|
0000f560  30 2c 30 2c 22 22 2c 30  29 0d 69 f0 1f f2 41 64  |0,0,"",0).i...Ad|
0000f570  64 49 74 65 6d 28 22 53  6f 6e 67 22 2c 31 32 38  |dItem("Song",128|
0000f580  2c 30 2c 22 22 2c 30 29  0d 69 fa 22 6d 69 73 63  |,0,"",0).i."misc|
0000f590  6d 65 6e 75 25 3d a4 4d  65 6e 75 48 65 61 64 28  |menu%=.MenuHead(|
0000f5a0  22 4d 69 73 63 22 2c 31  32 29 0d 6a 04 1d f2 41  |"Misc",12).j...A|
0000f5b0  64 64 49 74 65 6d 28 22  49 6e 66 6f 22 2c 38 2c  |ddItem("Info",8,|
0000f5c0  30 2c 22 22 2c 30 29 0d  6a 0e 24 f2 41 64 64 49  |0,"",0).j.$.AddI|
0000f5d0  74 65 6d 28 22 53 61 6d  70 6c 65 20 54 79 70 65  |tem("Sample Type|
0000f5e0  22 2c 30 2c 30 2c 22 22  2c 30 29 0d 6a 18 23 f2  |",0,0,"",0).j.#.|
0000f5f0  41 64 64 49 74 65 6d 28  22 53 65 74 20 42 75 66  |AddItem("Set Buf|
0000f600  66 65 72 22 2c 30 2c 30  2c 22 22 2c 30 29 0d 6a  |fer",0,0,"",0).j|
0000f610  22 22 f2 41 64 64 49 74  65 6d 28 22 52 65 73 74  |"".AddItem("Rest|
0000f620  61 72 74 22 2c 31 32 38  2c 30 2c 22 22 2c 30 29  |art",128,0,"",0)|
0000f630  0d 6a 2c 29 74 79 70 65  6d 65 6e 75 25 3d a4 4d  |.j,)typemenu%=.M|
0000f640  65 6e 75 48 65 61 64 28  22 53 61 6d 70 6c 65 20  |enuHead("Sample |
0000f650  54 79 70 65 22 2c 31 37  29 0d 6a 36 24 f2 41 64  |Type",17).j6$.Ad|
0000f660  64 49 74 65 6d 28 22 4c  6f 67 61 72 69 74 68 6d  |dItem("Logarithm|
0000f670  69 63 22 2c 30 2c 30 2c  22 22 2c 30 29 0d 6a 40  |ic",0,0,"",0).j@|
0000f680  27 f2 41 64 64 49 74 65  6d 28 22 53 69 67 6e 65  |'.AddItem("Signe|
0000f690  64 20 4c 69 6e 65 61 69  72 22 2c 31 2c 30 2c 22  |d Lineair",1,0,"|
0000f6a0  22 2c 30 29 0d 6a 4a 2b  f2 41 64 64 49 74 65 6d  |",0).jJ+.AddItem|
0000f6b0  28 22 55 6e 73 69 67 6e  65 64 20 4c 69 6e 65 61  |("Unsigned Linea|
0000f6c0  69 72 22 2c 31 32 38 2c  30 2c 22 22 2c 30 29 0d  |ir",128,0,"",0).|
0000f6d0  6a 54 27 6d 62 75 66 6c  65 6e 25 3d a4 4d 65 6e  |jT'mbuflen%=.Men|
0000f6e0  75 48 65 61 64 28 22 4c  65 6e 67 74 68 20 28 4b  |uHead("Length (K|
0000f6f0  29 22 2c 31 31 29 0d 6a  5e 25 f2 41 64 64 49 74  |)",11).j^%.AddIt|
0000f700  65 6d 28 22 31 32 38 22  2c 31 32 38 2b 34 2c 2d  |em("128",128+4,-|
0000f710  31 2c 22 41 30 2d 39 22  2c 35 29 0d 6a 68 23 73  |1,"A0-9",5).jh#s|
0000f720  61 76 65 6d 65 6e 75 31  25 3d a4 4d 65 6e 75 48  |avemenu1%=.MenuH|
0000f730  65 61 64 28 22 53 61 76  65 22 2c 31 30 29 0d 6a  |ead("Save",10).j|
0000f740  72 1c f2 41 64 64 49 74  65 6d 28 22 41 6c 6c 22  |r..AddItem("All"|
0000f750  2c 38 2c 30 2c 22 22 2c  30 29 0d 6a 7c 21 f2 41  |,8,0,"",0).j|!.A|
0000f760  64 64 49 74 65 6d 28 22  53 65 6c 65 63 74 65 64  |ddItem("Selected|
0000f770  22 2c 38 2c 30 2c 22 22  2c 30 29 0d 6a 86 26 f2  |",8,0,"",0).j.&.|
0000f780  41 64 64 49 74 65 6d 28  22 43 6c 69 70 62 6f 61  |AddItem("Clipboa|
0000f790  72 64 22 2c 31 32 38 2b  38 2c 30 2c 22 22 2c 30  |rd",128+8,0,"",0|
0000f7a0  29 0d 6a 90 2a 73 61 76  65 6d 65 6e 75 32 25 3d  |).j.*savemenu2%=|
0000f7b0  a4 4d 65 6e 75 48 65 61  64 28 22 20 20 20 20 20  |.MenuHead("     |
0000f7c0  20 20 20 20 20 20 22 2c  31 32 29 0d 6a 9a 24 f2  |      ",12).j.$.|
0000f7d0  41 64 64 49 74 65 6d 28  22 54 72 61 63 6b 65 72  |AddItem("Tracker|
0000f7e0  22 2c 32 35 36 2b 38 2c  30 2c 22 22 2c 30 29 0d  |",256+8,0,"",0).|
0000f7f0  6a a4 27 f2 41 64 64 49  74 65 6d 28 22 54 72 61  |j.'.AddItem("Tra|
0000f800  63 6b 65 72 5f 4e 48 22  2c 32 35 36 2b 38 2c 30  |cker_NH",256+8,0|
0000f810  2c 22 22 2c 30 29 0d 6a  ae 25 f2 41 64 64 49 74  |,"",0).j.%.AddIt|
0000f820  65 6d 28 22 41 72 6d 61  64 65 75 73 22 2c 32 35  |em("Armadeus",25|
0000f830  36 2b 38 2c 30 2c 22 22  2c 30 29 0d 6a b8 23 f2  |6+8,0,"",0).j.#.|
0000f840  41 64 64 49 74 65 6d 28  22 44 53 45 64 69 74 22  |AddItem("DSEdit"|
0000f850  2c 32 35 36 2b 38 2c 30  2c 22 22 2c 30 29 0d 6a  |,256+8,0,"",0).j|
0000f860  c2 20 f2 41 64 64 49 74  65 6d 28 22 45 4d 52 22  |. .AddItem("EMR"|
0000f870  2c 32 35 36 2b 38 2c 30  2c 22 22 2c 30 29 0d 6a  |,256+8,0,"",0).j|
0000f880  cc 20 f2 41 64 64 49 74  65 6d 28 22 52 61 77 22  |. .AddItem("Raw"|
0000f890  2c 32 35 36 2b 38 2c 30  2c 22 22 2c 30 29 0d 6a  |,256+8,0,"",0).j|
0000f8a0  d6 25 f2 41 64 64 49 74  65 6d 28 22 4d 6f 64 75  |.%.AddItem("Modu|
0000f8b0  6c 65 22 2c 32 35 36 2b  31 33 36 2c 30 2c 22 22  |le",256+136,0,""|
0000f8c0  2c 30 29 0d 6a e0 22 65  64 69 74 6d 65 6e 75 25  |,0).j."editmenu%|
0000f8d0  3d a4 4d 65 6e 75 48 65  61 64 28 22 45 64 69 74  |=.MenuHead("Edit|
0000f8e0  22 2c 31 31 29 0d 6a ea  23 f2 41 64 64 49 74 65  |",11).j.#.AddIte|
0000f8f0  6d 28 22 43 75 74 20 20  20 20 20 5e 58 22 2c 30  |m("Cut     ^X",0|
0000f900  2c 30 2c 22 22 2c 30 29  0d 6a f4 23 f2 41 64 64  |,0,"",0).j.#.Add|
0000f910  49 74 65 6d 28 22 43 6f  70 79 20 20 20 20 5e 43  |Item("Copy    ^C|
0000f920  22 2c 30 2c 30 2c 22 22  2c 30 29 0d 6a fe 23 f2  |",0,0,"",0).j.#.|
0000f930  41 64 64 49 74 65 6d 28  22 50 61 73 74 65 20 20  |AddItem("Paste  |
0000f940  20 5e 56 22 2c 30 2c 30  2c 22 22 2c 30 29 0d 6b  | ^V",0,0,"",0).k|
0000f950  08 23 f2 41 64 64 49 74  65 6d 28 22 44 65 6c 65  |.#.AddItem("Dele|
0000f960  74 65 20 20 5e 44 22 2c  30 2c 30 2c 22 22 2c 30  |te  ^D",0,0,"",0|
0000f970  29 0d 6b 12 20 f2 41 64  64 49 74 65 6d 28 22 44  |).k. .AddItem("D|
0000f980  65 6c 65 74 65 2a 22 2c  30 2c 30 2c 22 22 2c 30  |elete*",0,0,"",0|
0000f990  29 0d 6b 1c 20 f2 41 64  64 49 74 65 6d 28 22 44  |).k. .AddItem("D|
0000f9a0  65 6c 65 74 65 4c 22 2c  30 2c 30 2c 22 22 2c 30  |eleteL",0,0,"",0|
0000f9b0  29 0d 6b 26 22 f2 41 64  64 49 74 65 6d 28 22 44  |).k&".AddItem("D|
0000f9c0  65 6c 65 74 65 52 22 2c  31 32 38 2c 30 2c 22 22  |eleteR",128,0,""|
0000f9d0  2c 30 29 0d 6b 30 26 73  65 6c 65 63 74 6d 65 6e  |,0).k0&selectmen|
0000f9e0  75 25 3d a4 4d 65 6e 75  48 65 61 64 28 22 53 65  |u%=.MenuHead("Se|
0000f9f0  6c 65 63 74 22 2c 31 30  29 0d 6b 3a 22 f2 41 64  |lect",10).k:".Ad|
0000fa00  64 49 74 65 6d 28 22 41  6c 6c 20 20 20 20 5e 41  |dItem("All    ^A|
0000fa10  22 2c 30 2c 30 2c 22 22  2c 30 29 0d 6b 44 1d f2  |",0,0,"",0).kD..|
0000fa20  41 64 64 49 74 65 6d 28  22 4c 6f 6f 70 22 2c 30  |AddItem("Loop",0|
0000fa30  2c 30 2c 22 22 2c 30 29  0d 6b 4e 1d f2 41 64 64  |,0,"",0).kN..Add|
0000fa40  49 74 65 6d 28 22 4c 65  66 74 22 2c 30 2c 30 2c  |Item("Left",0,0,|
0000fa50  22 22 2c 30 29 0d 6b 58  1e f2 41 64 64 49 74 65  |"",0).kX..AddIte|
0000fa60  6d 28 22 52 69 67 68 74  22 2c 30 2c 30 2c 22 22  |m("Right",0,0,""|
0000fa70  2c 30 29 0d 6b 62 1f f2  41 64 64 49 74 65 6d 28  |,0).kb..AddItem(|
0000fa80  22 57 69 6e 64 6f 77 22  2c 30 2c 30 2c 22 22 2c  |"Window",0,0,"",|
0000fa90  30 29 0d 6b 6c 24 f2 41  64 64 49 74 65 6d 28 22  |0).kl$.AddItem("|
0000faa0  43 6c 65 61 72 20 20 5e  5a 22 2c 31 32 38 2c 30  |Clear  ^Z",128,0|
0000fab0  2c 22 22 2c 30 29 0d 6b  76 22 7a 6f 6f 6d 6d 65  |,"",0).kv"zoomme|
0000fac0  6e 75 25 3d a4 4d 65 6e  75 48 65 61 64 28 22 5a  |nu%=.MenuHead("Z|
0000fad0  6f 6f 6d 22 2c 31 32 29  0d 6b 80 24 f2 41 64 64  |oom",12).k.$.Add|
0000fae0  49 74 65 6d 28 22 41 6c  6c 20 20 20 20 20 20 5e  |Item("All      ^|
0000faf0  51 22 2c 30 2c 30 2c 22  22 2c 30 29 0d 6b 8a 24  |Q",0,0,"",0).k.$|
0000fb00  f2 41 64 64 49 74 65 6d  28 22 4f 75 74 20 20 20  |.AddItem("Out   |
0000fb10  20 20 20 5e 57 22 2c 30  2c 30 2c 22 22 2c 30 29  |   ^W",0,0,"",0)|
0000fb20  0d 6b 94 1d f2 41 64 64  49 74 65 6d 28 22 4c 6f  |.k...AddItem("Lo|
0000fb30  6f 70 22 2c 30 2c 30 2c  22 22 2c 30 29 0d 6b 9e  |op",0,0,"",0).k.|
0000fb40  24 f2 41 64 64 49 74 65  6d 28 22 53 65 6c 65 63  |$.AddItem("Selec|
0000fb50  74 65 64 20 5e 53 22 2c  30 2c 30 2c 22 22 2c 30  |ted ^S",0,0,"",0|
0000fb60  29 0d 6b a8 24 f2 41 64  64 49 74 65 6d 28 22 52  |).k.$.AddItem("R|
0000fb70  65 6d 65 6d 62 65 72 20  5e 54 22 2c 30 2c 30 2c  |emember ^T",0,0,|
0000fb80  22 22 2c 30 29 0d 6b b2  26 f2 41 64 64 49 74 65  |"",0).k.&.AddIte|
0000fb90  6d 28 22 52 65 63 61 6c  6c 20 20 20 5e 52 22 2c  |m("Recall   ^R",|
0000fba0  31 32 38 2c 30 2c 22 22  2c 30 29 0d 6b bc 21 6c  |128,0,"",0).k.!l|
0000fbb0  6f 6f 70 6d 65 6e 75 25  3d a4 4d 65 6e 75 48 65  |oopmenu%=.MenuHe|
0000fbc0  61 64 28 22 4c 6f 6f 70  22 2c 39 29 0d 6b c6 1c  |ad("Loop",9).k..|
0000fbd0  f2 41 64 64 49 74 65 6d  28 22 41 6c 6c 22 2c 30  |.AddItem("All",0|
0000fbe0  2c 30 2c 22 22 2c 30 29  0d 6b d0 1f f2 41 64 64  |,0,"",0).k...Add|
0000fbf0  49 74 65 6d 28 22 57 69  6e 64 6f 77 22 2c 30 2c  |Item("Window",0,|
0000fc00  30 2c 22 22 2c 30 29 0d  6b da 21 f2 41 64 64 49  |0,"",0).k.!.AddI|
0000fc10  74 65 6d 28 22 53 65 6c  65 63 74 65 64 22 2c 30  |tem("Selected",0|
0000fc20  2c 30 2c 22 22 2c 30 29  0d 6b e4 1d f2 41 64 64  |,0,"",0).k...Add|
0000fc30  49 74 65 6d 28 22 48 61  6c 66 22 2c 30 2c 30 2c  |Item("Half",0,0,|
0000fc40  22 22 2c 30 29 0d 6b ee  1f f2 41 64 64 49 74 65  |"",0).k...AddIte|
0000fc50  6d 28 22 44 6f 75 62 6c  65 22 2c 30 2c 30 2c 22  |m("Double",0,0,"|
0000fc60  22 2c 30 29 0d 6b f8 21  f2 41 64 64 49 74 65 6d  |",0).k.!.AddItem|
0000fc70  28 22 52 65 6d 65 6d 62  65 72 22 2c 30 2c 30 2c  |("Remember",0,0,|
0000fc80  22 22 2c 30 29 0d 6c 02  21 f2 41 64 64 49 74 65  |"",0).l.!.AddIte|
0000fc90  6d 28 22 52 65 63 61 6c  6c 22 2c 31 32 38 2c 30  |m("Recall",128,0|
0000fca0  2c 22 22 2c 30 29 0d 6c  0c 28 67 6f 6f 64 69 65  |,"",0).l.(goodie|
0000fcb0  73 6d 65 6e 75 25 3d a4  4d 65 6e 75 48 65 61 64  |smenu%=.MenuHead|
0000fcc0  28 22 47 6f 6f 64 69 65  73 22 2c 31 32 29 0d 6c  |("Goodies",12).l|
0000fcd0  16 1f f2 41 64 64 49 74  65 6d 28 22 53 69 67 6e  |...AddItem("Sign|
0000fce0  65 64 22 2c 30 2c 30 2c  22 22 2c 30 29 0d 6c 20  |ed",0,0,"",0).l |
0000fcf0  21 f2 41 64 64 49 74 65  6d 28 22 4c 69 6e 2d 3e  |!.AddItem("Lin->|
0000fd00  4c 6f 67 22 2c 30 2c 30  2c 22 22 2c 30 29 0d 6c  |Log",0,0,"",0).l|
0000fd10  2a 21 f2 41 64 64 49 74  65 6d 28 22 4c 6f 67 2d  |*!.AddItem("Log-|
0000fd20  3e 4c 69 6e 22 2c 30 2c  30 2c 22 22 2c 30 29 0d  |>Lin",0,0,"",0).|
0000fd30  6c 34 20 f2 41 64 64 49  74 65 6d 28 22 52 65 76  |l4 .AddItem("Rev|
0000fd40  65 72 73 65 22 2c 30 2c  30 2c 22 22 2c 30 29 0d  |erse",0,0,"",0).|
0000fd50  6c 3e 21 f2 41 64 64 49  74 65 6d 28 22 4c 6f 77  |l>!.AddItem("Low|
0000fd60  20 50 61 73 73 22 2c 30  2c 30 2c 22 22 2c 30 29  | Pass",0,0,"",0)|
0000fd70  0d 6c 48 22 f2 41 64 64  49 74 65 6d 28 22 48 69  |.lH".AddItem("Hi|
0000fd80  67 68 20 50 61 73 73 22  2c 30 2c 30 2c 22 22 2c  |gh Pass",0,0,"",|
0000fd90  30 29 0d 6c 52 20 f2 41  64 64 49 74 65 6d 28 22  |0).lR .AddItem("|
0000fda0  41 6d 70 6c 69 66 79 22  2c 30 2c 30 2c 22 22 2c  |Amplify",0,0,"",|
0000fdb0  30 29 0d 6c 5c 24 f2 41  64 64 49 74 65 6d 28 22  |0).l\$.AddItem("|
0000fdc0  45 63 68 6f 2f 52 65 76  65 72 62 22 2c 30 2c 30  |Echo/Reverb",0,0|
0000fdd0  2c 22 22 2c 30 29 0d 6c  66 24 f2 41 64 64 49 74  |,"",0).lf$.AddIt|
0000fde0  65 6d 28 22 46 61 64 65  20 49 6e 2f 4f 75 74 22  |em("Fade In/Out"|
0000fdf0  2c 30 2c 30 2c 22 22 2c  30 29 0d 6c 70 20 f2 41  |,0,0,"",0).lp .A|
0000fe00  64 64 49 74 65 6d 28 22  53 74 72 65 74 63 68 22  |ddItem("Stretch"|
0000fe10  2c 30 2c 30 2c 22 22 2c  30 29 0d 6c 7a 20 f2 41  |,0,0,"",0).lz .A|
0000fe20  64 64 49 74 65 6d 28 22  53 69 6c 65 6e 63 65 22  |ddItem("Silence"|
0000fe30  2c 30 2c 30 2c 22 22 2c  30 29 0d 6c 84 1c f2 41  |,0,0,"",0).l...A|
0000fe40  64 64 49 74 65 6d 28 22  46 46 54 22 2c 30 2c 30  |ddItem("FFT",0,0|
0000fe50  2c 22 22 2c 30 29 0d 6c  8e 25 f2 41 64 64 49 74  |,"",0).l.%.AddIt|
0000fe60  65 6d 28 22 41 64 64 20  43 6c 69 70 62 2e 22 2c  |em("Add Clipb.",|
0000fe70  31 32 38 2c 30 2c 22 22  2c 30 29 0d 6c 98 25 6d  |128,0,"",0).l.%m|
0000fe80  66 69 6c 74 6c 6f 25 3d  a4 4d 65 6e 75 48 65 61  |filtlo%=.MenuHea|
0000fe90  64 28 22 4c 6f 77 20 50  61 73 73 22 2c 31 30 29  |d("Low Pass",10)|
0000fea0  0d 6c a2 24 f2 41 64 64  49 74 65 6d 28 22 33 32  |.l.$.AddItem("32|
0000feb0  22 2c 31 32 38 2b 34 2c  2d 31 2c 22 41 30 2d 39  |",128+4,-1,"A0-9|
0000fec0  22 2c 34 29 0d 6c ac 26  6d 66 69 6c 74 68 69 25  |",4).l.&mfilthi%|
0000fed0  3d a4 4d 65 6e 75 48 65  61 64 28 22 48 69 67 68  |=.MenuHead("High|
0000fee0  20 50 61 73 73 22 2c 31  30 29 0d 6c b6 25 f2 41  | Pass",10).l.%.A|
0000fef0  64 64 49 74 65 6d 28 22  32 32 34 22 2c 31 32 38  |ddItem("224",128|
0000ff00  2b 34 2c 2d 31 2c 22 41  30 2d 39 22 2c 34 29 0d  |+4,-1,"A0-9",4).|
0000ff10  6c c0 24 6d 73 63 61 6d  70 25 3d a4 4d 65 6e 75  |l.$mscamp%=.Menu|
0000ff20  48 65 61 64 28 22 56 6f  6c 75 6d 65 20 25 22 2c  |Head("Volume %",|
0000ff30  31 30 29 0d 6c ca 25 f2  41 64 64 49 74 65 6d 28  |10).l.%.AddItem(|
0000ff40  22 31 30 30 22 2c 31 32  38 2b 34 2c 2d 31 2c 22  |"100",128+4,-1,"|
0000ff50  41 30 2d 39 22 2c 35 29  0d 6c d4 25 6d 6e 65 77  |A0-9",5).l.%mnew|
0000ff60  6c 65 6e 25 3d a4 4d 65  6e 75 48 65 61 64 28 22  |len%=.MenuHead("|
0000ff70  4c 65 6e 67 74 68 20 25  22 2c 31 30 29 0d 6c de  |Length %",10).l.|
0000ff80  25 f2 41 64 64 49 74 65  6d 28 22 31 30 30 22 2c  |%.AddItem("100",|
0000ff90  31 32 38 2b 34 2c 2d 31  2c 22 41 30 2d 39 22 2c  |128+4,-1,"A0-9",|
0000ffa0  35 29 0d 6c e8 22 6d 66  66 74 61 6d 70 25 3d a4  |5).l."mfftamp%=.|
0000ffb0  4d 65 6e 75 48 65 61 64  28 22 53 63 61 6c 65 22  |MenuHead("Scale"|
0000ffc0  2c 31 30 29 0d 6c f2 25  f2 41 64 64 49 74 65 6d  |,10).l.%.AddItem|
0000ffd0  28 22 32 35 36 22 2c 31  32 38 2b 34 2c 2d 31 2c  |("256",128+4,-1,|
0000ffe0  22 41 30 2d 39 22 2c 36  29 0d 6c fc 22 73 6f 6e  |"A0-9",6).l."son|
0000fff0  67 6d 65 6e 75 25 3d a4  4d 65 6e 75 48 65 61 64  |gmenu%=.MenuHead|
00010000  28 22 53 6f 6e 67 22 2c  31 32 29 0d 6d 06 1d f2  |("Song",12).m...|
00010010  41 64 64 49 74 65 6d 28  22 50 6c 61 79 22 2c 30  |AddItem("Play",0|
00010020  2c 30 2c 22 22 2c 30 29  0d 6d 10 1d f2 41 64 64  |,0,"",0).m...Add|
00010030  49 74 65 6d 28 22 53 68  6f 77 22 2c 30 2c 30 2c  |Item("Show",0,0,|
00010040  22 22 2c 30 29 0d 6d 1a  21 f2 41 64 64 49 74 65  |"",0).m.!.AddIte|
00010050  6d 28 22 53 61 76 65 22  2c 32 35 36 2b 38 2c 30  |m("Save",256+8,0|
00010060  2c 22 22 2c 30 29 0d 6d  24 28 f2 41 64 64 49 74  |,"",0).m$(.AddIt|
00010070  65 6d 28 22 53 61 76 65  20 4d 6f 64 75 6c 65 22  |em("Save Module"|
00010080  2c 32 35 36 2b 38 2c 30  2c 22 22 2c 30 29 0d 6d  |,256+8,0,"",0).m|
00010090  2e 1e f2 41 64 64 49 74  65 6d 28 22 43 6c 65 61  |...AddItem("Clea|
000100a0  72 22 2c 30 2c 30 2c 22  22 2c 30 29 0d 6d 38 21  |r",0,0,"",0).m8!|
000100b0  f2 41 64 64 49 74 65 6d  28 22 52 65 70 65 61 74  |.AddItem("Repeat|
000100c0  22 2c 31 32 38 2c 30 2c  22 22 2c 30 29 0d 6d 42  |",128,0,"",0).mB|
000100d0  2a f2 41 64 64 53 75 62  4d 65 6e 75 28 73 6f 6e  |*.AddSubMenu(son|
000100e0  67 6d 65 6e 75 25 2c 32  2c 77 73 61 76 65 61 73  |gmenu%,2,wsaveas|
000100f0  73 6f 6e 67 68 25 29 0d  6d 4c 2a f2 41 64 64 53  |songh%).mL*.AddS|
00010100  75 62 4d 65 6e 75 28 73  6f 6e 67 6d 65 6e 75 25  |ubMenu(songmenu%|
00010110  2c 33 2c 77 73 61 76 65  73 6f 6e 67 6d 6f 68 25  |,3,wsavesongmoh%|
00010120  29 0d 6d 56 26 f2 41 64  64 53 75 62 4d 65 6e 75  |).mV&.AddSubMenu|
00010130  28 77 6f 72 6b 6d 65 6e  75 25 2c 30 2c 6d 69 73  |(workmenu%,0,mis|
00010140  63 6d 65 6e 75 25 29 0d  6d 60 27 f2 41 64 64 53  |cmenu%).m`'.AddS|
00010150  75 62 4d 65 6e 75 28 77  6f 72 6b 6d 65 6e 75 25  |ubMenu(workmenu%|
00010160  2c 31 2c 73 61 76 65 6d  65 6e 75 31 25 29 0d 6d  |,1,savemenu1%).m|
00010170  6a 26 f2 41 64 64 53 75  62 4d 65 6e 75 28 77 6f  |j&.AddSubMenu(wo|
00010180  72 6b 6d 65 6e 75 25 2c  32 2c 65 64 69 74 6d 65  |rkmenu%,2,editme|
00010190  6e 75 25 29 0d 6d 74 28  f2 41 64 64 53 75 62 4d  |nu%).mt(.AddSubM|
000101a0  65 6e 75 28 77 6f 72 6b  6d 65 6e 75 25 2c 33 2c  |enu(workmenu%,3,|
000101b0  73 65 6c 65 63 74 6d 65  6e 75 25 29 0d 6d 7e 26  |selectmenu%).m~&|
000101c0  f2 41 64 64 53 75 62 4d  65 6e 75 28 77 6f 72 6b  |.AddSubMenu(work|
000101d0  6d 65 6e 75 25 2c 34 2c  7a 6f 6f 6d 6d 65 6e 75  |menu%,4,zoommenu|
000101e0  25 29 0d 6d 88 26 f2 41  64 64 53 75 62 4d 65 6e  |%).m.&.AddSubMen|
000101f0  75 28 77 6f 72 6b 6d 65  6e 75 25 2c 35 2c 6c 6f  |u(workmenu%,5,lo|
00010200  6f 70 6d 65 6e 75 25 29  0d 6d 92 29 f2 41 64 64  |opmenu%).m.).Add|
00010210  53 75 62 4d 65 6e 75 28  77 6f 72 6b 6d 65 6e 75  |SubMenu(workmenu|
00010220  25 2c 36 2c 67 6f 6f 64  69 65 73 6d 65 6e 75 25  |%,6,goodiesmenu%|
00010230  29 0d 6d 9c 26 f2 41 64  64 53 75 62 4d 65 6e 75  |).m.&.AddSubMenu|
00010240  28 77 6f 72 6b 6d 65 6e  75 25 2c 37 2c 73 6f 6e  |(workmenu%,7,son|
00010250  67 6d 65 6e 75 25 29 0d  6d a6 24 f2 41 64 64 53  |gmenu%).m.$.AddS|
00010260  75 62 4d 65 6e 75 28 6d  69 73 63 6d 65 6e 75 25  |ubMenu(miscmenu%|
00010270  2c 30 2c 77 69 6e 66 6f  68 25 29 0d 6d b0 26 f2  |,0,winfoh%).m.&.|
00010280  41 64 64 53 75 62 4d 65  6e 75 28 6d 69 73 63 6d  |AddSubMenu(miscm|
00010290  65 6e 75 25 2c 31 2c 74  79 70 65 6d 65 6e 75 25  |enu%,1,typemenu%|
000102a0  29 0d 6d ba 25 f2 41 64  64 53 75 62 4d 65 6e 75  |).m.%.AddSubMenu|
000102b0  28 6d 69 73 63 6d 65 6e  75 25 2c 32 2c 6d 62 75  |(miscmenu%,2,mbu|
000102c0  66 6c 65 6e 25 29 0d 6d  c4 28 f2 41 64 64 53 75  |flen%).m.(.AddSu|
000102d0  62 4d 65 6e 75 28 73 61  76 65 6d 65 6e 75 31 25  |bMenu(savemenu1%|
000102e0  2c 30 2c 73 61 76 65 6d  65 6e 75 32 25 29 0d 6d  |,0,savemenu2%).m|
000102f0  ce 28 f2 41 64 64 53 75  62 4d 65 6e 75 28 73 61  |.(.AddSubMenu(sa|
00010300  76 65 6d 65 6e 75 31 25  2c 31 2c 73 61 76 65 6d  |vemenu1%,1,savem|
00010310  65 6e 75 32 25 29 0d 6d  d8 28 f2 41 64 64 53 75  |enu2%).m.(.AddSu|
00010320  62 4d 65 6e 75 28 73 61  76 65 6d 65 6e 75 31 25  |bMenu(savemenu1%|
00010330  2c 32 2c 73 61 76 65 6d  65 6e 75 32 25 29 0d 6d  |,2,savemenu2%).m|
00010340  e2 2a f2 41 64 64 53 75  62 4d 65 6e 75 28 73 61  |.*.AddSubMenu(sa|
00010350  76 65 6d 65 6e 75 32 25  2c 30 2c 77 73 61 76 65  |vemenu2%,0,wsave|
00010360  61 73 73 61 31 68 25 29  0d 6d ec 2a f2 41 64 64  |assa1h%).m.*.Add|
00010370  53 75 62 4d 65 6e 75 28  73 61 76 65 6d 65 6e 75  |SubMenu(savemenu|
00010380  32 25 2c 31 2c 77 73 61  76 65 61 73 73 61 32 68  |2%,1,wsaveassa2h|
00010390  25 29 0d 6d f6 2a f2 41  64 64 53 75 62 4d 65 6e  |%).m.*.AddSubMen|
000103a0  75 28 73 61 76 65 6d 65  6e 75 32 25 2c 32 2c 77  |u(savemenu2%,2,w|
000103b0  73 61 76 65 61 73 73 61  33 68 25 29 0d 6e 00 2a  |saveassa3h%).n.*|
000103c0  f2 41 64 64 53 75 62 4d  65 6e 75 28 73 61 76 65  |.AddSubMenu(save|
000103d0  6d 65 6e 75 32 25 2c 33  2c 77 73 61 76 65 61 73  |menu2%,3,wsaveas|
000103e0  73 61 34 68 25 29 0d 6e  0a 2a f2 41 64 64 53 75  |sa4h%).n.*.AddSu|
000103f0  62 4d 65 6e 75 28 73 61  76 65 6d 65 6e 75 32 25  |bMenu(savemenu2%|
00010400  2c 34 2c 77 73 61 76 65  61 73 73 61 35 68 25 29  |,4,wsaveassa5h%)|
00010410  0d 6e 14 2a f2 41 64 64  53 75 62 4d 65 6e 75 28  |.n.*.AddSubMenu(|
00010420  73 61 76 65 6d 65 6e 75  32 25 2c 35 2c 77 73 61  |savemenu2%,5,wsa|
00010430  76 65 61 73 73 61 36 68  25 29 0d 6e 1e 29 f2 41  |veassa6h%).n.).A|
00010440  64 64 53 75 62 4d 65 6e  75 28 73 61 76 65 6d 65  |ddSubMenu(saveme|
00010450  6e 75 32 25 2c 36 2c 77  73 61 76 65 61 73 6d 6f  |nu2%,6,wsaveasmo|
00010460  68 25 29 0d 6e 28 28 f2  41 64 64 53 75 62 4d 65  |h%).n((.AddSubMe|
00010470  6e 75 28 67 6f 6f 64 69  65 73 6d 65 6e 75 25 2c  |nu(goodiesmenu%,|
00010480  34 2c 6d 66 69 6c 74 6c  6f 25 29 0d 6e 32 28 f2  |4,mfiltlo%).n2(.|
00010490  41 64 64 53 75 62 4d 65  6e 75 28 67 6f 6f 64 69  |AddSubMenu(goodi|
000104a0  65 73 6d 65 6e 75 25 2c  35 2c 6d 66 69 6c 74 68  |esmenu%,5,mfilth|
000104b0  69 25 29 0d 6e 3c 27 f2  41 64 64 53 75 62 4d 65  |i%).n<'.AddSubMe|
000104c0  6e 75 28 67 6f 6f 64 69  65 73 6d 65 6e 75 25 2c  |nu(goodiesmenu%,|
000104d0  36 2c 6d 73 63 61 6d 70  25 29 0d 6e 46 27 f2 41  |6,mscamp%).nF'.A|
000104e0  64 64 53 75 62 4d 65 6e  75 28 67 6f 6f 64 69 65  |ddSubMenu(goodie|
000104f0  73 6d 65 6e 75 25 2c 37  2c 77 65 63 68 6f 68 25  |smenu%,7,wechoh%|
00010500  29 0d 6e 50 27 f2 41 64  64 53 75 62 4d 65 6e 75  |).nP'.AddSubMenu|
00010510  28 67 6f 6f 64 69 65 73  6d 65 6e 75 25 2c 38 2c  |(goodiesmenu%,8,|
00010520  77 66 61 64 65 68 25 29  0d 6e 5a 28 f2 41 64 64  |wfadeh%).nZ(.Add|
00010530  53 75 62 4d 65 6e 75 28  67 6f 6f 64 69 65 73 6d  |SubMenu(goodiesm|
00010540  65 6e 75 25 2c 39 2c 6d  6e 65 77 6c 65 6e 25 29  |enu%,9,mnewlen%)|
00010550  0d 6e 64 29 f2 41 64 64  53 75 62 4d 65 6e 75 28  |.nd).AddSubMenu(|
00010560  67 6f 6f 64 69 65 73 6d  65 6e 75 25 2c 31 31 2c  |goodiesmenu%,11,|
00010570  6d 66 66 74 61 6d 70 25  29 0d 6e 6e 04 0d 6e 78  |mfftamp%).nn..nx|
00010580  28 73 65 63 74 6d 65 6e  75 25 3d a4 4d 65 6e 75  |(sectmenu%=.Menu|
00010590  48 65 61 64 28 22 20 20  20 20 20 20 20 20 20 20  |Head("          |
000105a0  22 2c 31 35 29 0d 6e 82  24 f2 41 64 64 49 74 65  |",15).n.$.AddIte|
000105b0  6d 28 22 49 6e 73 65 72  74 20 4c 6f 6f 70 22 2c  |m("Insert Loop",|
000105c0  30 2c 30 2c 22 22 2c 30  29 0d 6e 8c 24 f2 41 64  |0,0,"",0).n.$.Ad|
000105d0  64 49 74 65 6d 28 22 41  70 70 65 6e 64 20 4c 6f  |dItem("Append Lo|
000105e0  6f 70 22 2c 30 2c 30 2c  22 22 2c 30 29 0d 6e 96  |op",0,0,"",0).n.|
000105f0  27 f2 41 64 64 49 74 65  6d 28 22 4f 76 65 72 77  |'.AddItem("Overw|
00010600  72 69 74 65 20 4c 6f 6f  70 22 2c 30 2c 30 2c 22  |rite Loop",0,0,"|
00010610  22 2c 30 29 0d 6e a0 24  f2 41 64 64 49 74 65 6d  |",0).n.$.AddItem|
00010620  28 22 44 65 6c 65 74 65  20 4c 6f 6f 70 22 2c 30  |("Delete Loop",0|
00010630  2c 30 2c 22 22 2c 30 29  0d 6e aa 24 f2 41 64 64  |,0,"",0).n.$.Add|
00010640  49 74 65 6d 28 22 50 6c  61 79 20 74 6f 20 45 6e  |Item("Play to En|
00010650  64 22 2c 30 2c 30 2c 22  22 2c 30 29 0d 6e b4 24  |d",0,0,"",0).n.$|
00010660  f2 41 64 64 49 74 65 6d  28 22 50 6c 61 79 20 53  |.AddItem("Play S|
00010670  6f 6e 67 22 2c 31 32 38  2c 30 2c 22 22 2c 30 29  |ong",128,0,"",0)|
00010680  0d 6e be 05 e1 0d 6e c8  04 0d 6e d2 0b dd f2 41  |.n....n...n....A|
00010690  73 73 65 6d 0d 6e dc 10  de 20 63 6f 64 65 25 20  |ssem.n... code% |
000106a0  35 30 30 30 0d 6e e6 11  e3 20 70 61 73 73 25 3d  |5000.n... pass%=|
000106b0  30 b8 32 88 32 0d 6e f0  0c 50 25 3d 63 6f 64 65  |0.2.2.n..P%=code|
000106c0  25 0d 6e fa 19 5b 20 20  20 20 20 20 20 6f 70 74  |%.n..[       opt|
000106d0  20 20 20 20 20 70 61 73  73 25 0d 6f 04 0b 2e 72  |     pass%.o...r|
000106e0  65 64 72 77 6b 0d 6f 0e  1d 73 74 6d 66 64 20 20  |edrwk.o..stmfd  |
000106f0  20 72 31 33 21 2c 7b 72  30 2d 72 31 32 2c 72 31  | r13!,{r0-r12,r1|
00010700  34 7d 0d 6f 18 18 6c 64  6d 66 64 20 20 20 72 31  |4}.o..ldmfd   r1|
00010710  33 2c 7b 72 36 2d 72 31  32 7d 0d 6f 22 14 73 75  |3,{r6-r12}.o".su|
00010720  62 20 20 20 20 20 72 35  2c 72 38 2c 72 37 0d 6f  |b     r5,r8,r7.o|
00010730  2c 1c 61 64 64 20 20 20  20 20 72 30 2c 72 36 2c  |,.add     r0,r6,|
00010740  72 35 2c 61 73 72 20 23  31 32 0d 6f 36 12 63 6d  |r5,asr #12.o6.cm|
00010750  70 20 20 20 20 20 72 30  2c 72 31 32 0d 6f 40 13  |p     r0,r12.o@.|
00010760  6d 6f 76 6d 69 20 20 20  72 30 2c 23 26 38 30 0d  |movmi   r0,#&80.|
00010770  6f 4a 12 62 6d 69 20 20  20 20 20 73 6b 69 70 66  |oJ.bmi     skipf|
00010780  72 0d 6f 54 1e 6c 64 72  62 20 20 20 20 72 30 2c  |r.oT.ldrb    r0,|
00010790  5b 72 36 2c 72 35 2c 61  73 72 20 23 31 32 5d 0d  |[r6,r5,asr #12].|
000107a0  6f 5e 12 63 6d 70 20 20  20 20 20 72 31 31 2c 23  |o^.cmp     r11,#|
000107b0  30 0d 6f 68 16 65 6f 72  65 71 20 20 20 72 30 2c  |0.oh.eoreq   r0,|
000107c0  72 30 2c 23 26 38 30 0d  6f 72 12 63 6d 70 20 20  |r0,#&80.or.cmp  |
000107d0  20 20 20 72 31 31 2c 23  32 0d 6f 7c 11 62 6e 65  |   r11,#2.o|.bne|
000107e0  20 20 20 20 20 50 25 2b  31 36 0d 6f 86 18 6d 6f  |     P%+16.o..mo|
000107f0  76 73 20 20 20 20 72 30  2c 72 30 2c 6c 73 72 20  |vs    r0,r0,lsr |
00010800  23 31 0d 6f 90 14 72 73  62 63 73 20 20 20 72 30  |#1.o..rsbcs   r0|
00010810  2c 72 30 2c 23 30 0d 6f  9a 16 61 64 64 20 20 20  |,r0,#0.o..add   |
00010820  20 20 72 30 2c 72 30 2c  23 31 32 38 0d 6f a4 0b  |  r0,r0,#128.o..|
00010830  2e 73 6b 69 70 66 72 0d  6f ae 15 61 64 64 20 20  |.skipfr.o..add  |
00010840  20 20 20 72 32 2c 72 30  2c 72 31 30 0d 6f b8 14  |   r2,r0,r10.o..|
00010850  73 75 62 20 20 20 20 20  72 31 2c 72 39 2c 23 32  |sub     r1,r9,#2|
00010860  0d 6f c2 11 6d 6f 76 20  20 20 20 20 72 30 2c 23  |.o..mov     r0,#|
00010870  34 0d 6f cc 15 73 77 69  20 20 20 20 20 22 4f 53  |4.o..swi     "OS|
00010880  5f 50 6c 6f 74 22 0d 6f  d6 14 6d 6f 76 20 20 20  |_Plot".o..mov   |
00010890  20 20 72 31 32 2c 23 35  31 32 0d 6f e0 16 61 64  |  r12,#512.o..ad|
000108a0  64 20 20 20 20 20 72 31  32 2c 72 31 32 2c 23 31  |d     r12,r12,#1|
000108b0  0d 6f ea 14 61 64 64 20  20 20 20 20 72 35 2c 72  |.o..add     r5,r|
000108c0  35 2c 72 37 0d 6f f4 0d  2e 64 72 61 77 6c 6f 6f  |5,r7.o...drawloo|
000108d0  70 0d 6f fe 1e 6c 64 72  62 20 20 20 20 72 30 2c  |p.o..ldrb    r0,|
000108e0  5b 72 36 2c 72 35 2c 61  73 72 20 23 31 32 5d 0d  |[r6,r5,asr #12].|
000108f0  70 08 12 63 6d 70 20 20  20 20 20 72 31 31 2c 23  |p..cmp     r11,#|
00010900  30 0d 70 12 16 65 6f 72  65 71 20 20 20 72 30 2c  |0.p..eoreq   r0,|
00010910  72 30 2c 23 26 38 30 0d  70 1c 12 63 6d 70 20 20  |r0,#&80.p..cmp  |
00010920  20 20 20 72 31 31 2c 23  32 0d 70 26 11 62 6e 65  |   r11,#2.p&.bne|
00010930  20 20 20 20 20 50 25 2b  31 36 0d 70 30 18 6d 6f  |     P%+16.p0.mo|
00010940  76 73 20 20 20 20 72 30  2c 72 30 2c 6c 73 72 20  |vs    r0,r0,lsr |
00010950  23 31 0d 70 3a 14 72 73  62 63 73 20 20 20 72 30  |#1.p:.rsbcs   r0|
00010960  2c 72 30 2c 23 30 0d 70  44 16 61 64 64 20 20 20  |,r0,#0.pD.add   |
00010970  20 20 72 30 2c 72 30 2c  23 31 32 38 0d 70 4e 15  |  r0,r0,#128.pN.|
00010980  61 64 64 20 20 20 20 20  72 32 2c 72 30 2c 72 31  |add     r2,r0,r1|
00010990  30 0d 70 58 11 6d 6f 76  20 20 20 20 20 72 31 2c  |0.pX.mov     r1,|
000109a0  72 39 0d 70 62 11 6d 6f  76 20 20 20 20 20 72 30  |r9.pb.mov     r0|
000109b0  2c 23 35 0d 70 6c 15 73  77 69 20 20 20 20 20 22  |,#5.pl.swi     "|
000109c0  4f 53 5f 50 6c 6f 74 22  0d 70 76 04 0d 70 80 14  |OS_Plot".pv..p..|
000109d0  61 64 64 20 20 20 20 20  72 39 2c 72 39 2c 23 32  |add     r9,r9,#2|
000109e0  0d 70 8a 14 61 64 64 20  20 20 20 20 72 35 2c 72  |.p..add     r5,r|
000109f0  35 2c 72 37 0d 70 94 16  73 75 62 73 20 20 20 20  |5,r7.p..subs    |
00010a00  72 31 32 2c 72 31 32 2c  23 31 0d 70 9e 14 62 6e  |r12,r12,#1.p..bn|
00010a10  65 20 20 20 20 20 64 72  61 77 6c 6f 6f 70 0d 70  |e     drawloop.p|
00010a20  a8 04 0d 70 b2 1c 6c 64  6d 66 64 20 20 20 72 31  |...p..ldmfd   r1|
00010a30  33 21 2c 7b 72 30 2d 72  31 32 2c 70 63 7d 0d 70  |3!,{r0-r12,pc}.p|
00010a40  bc 04 0d 70 c6 0c 2e 66  69 6c 6c 6d 65 6d 0d 70  |...p...fillmem.p|
00010a50  d0 1d 73 74 6d 66 64 20  20 20 72 31 33 21 2c 7b  |..stmfd   r13!,{|
00010a60  72 30 2d 72 31 32 2c 72  31 34 7d 0d 70 da 11 63  |r0-r12,r14}.p..c|
00010a70  6d 70 20 20 20 20 20 72  30 2c 72 31 0d 70 e4 11  |mp     r0,r1.p..|
00010a80  6d 6f 76 68 69 20 20 20  72 33 2c 72 30 0d 70 ee  |movhi   r3,r0.p.|
00010a90  11 6d 6f 76 68 69 20 20  20 72 30 2c 72 31 0d 70  |.movhi   r0,r1.p|
00010aa0  f8 11 6d 6f 76 68 69 20  20 20 72 31 2c 72 33 0d  |..movhi   r1,r3.|
00010ab0  71 02 0b 2e 66 69 6c 6c  75 70 0d 71 0c 11 63 6d  |q...fillup.q..cm|
00010ac0  70 20 20 20 20 20 72 30  2c 72 31 0d 71 16 1c 6c  |p     r0,r1.q..l|
00010ad0  64 6d 65 71 66 64 20 72  31 33 21 2c 7b 72 30 2d  |dmeqfd r13!,{r0-|
00010ae0  72 31 32 2c 70 63 7d 0d  71 20 16 73 74 72 62 20  |r12,pc}.q .strb |
00010af0  20 20 20 72 32 2c 5b 72  30 5d 2c 23 31 0d 71 2a  |   r2,[r0],#1.q*|
00010b00  12 62 20 20 20 20 20 20  20 66 69 6c 6c 75 70 0d  |.b       fillup.|
00010b10  71 34 04 0d 71 3e 0c 2e  63 6f 70 79 6d 65 6d 0d  |q4..q>..copymem.|
00010b20  71 48 1d 73 74 6d 66 64  20 20 20 72 31 33 21 2c  |qH.stmfd   r13!,|
00010b30  7b 72 30 2d 72 31 32 2c  72 31 34 7d 0d 71 52 11  |{r0-r12,r14}.qR.|
00010b40  63 6d 70 20 20 20 20 20  72 30 2c 72 31 0d 71 5c  |cmp     r0,r1.q\|
00010b50  12 62 68 69 20 20 20 20  20 63 6f 70 79 70 6c 0d  |.bhi     copypl.|
00010b60  71 66 14 61 64 64 20 20  20 20 20 72 30 2c 72 30  |qf.add     r0,r0|
00010b70  2c 72 32 0d 71 70 14 61  64 64 20 20 20 20 20 72  |,r2.qp.add     r|
00010b80  31 2c 72 31 2c 72 32 0d  71 7a 11 63 6d 70 20 20  |1,r1,r2.qz.cmp  |
00010b90  20 20 20 72 32 2c 23 30  0d 71 84 0b 2e 63 70 79  |   r2,#0.q...cpy|
00010ba0  6d 6c 70 0d 71 8e 1c 6c  64 6d 65 71 66 64 20 72  |mlp.q..ldmeqfd r|
00010bb0  31 33 21 2c 7b 72 30 2d  72 31 32 2c 70 63 7d 0d  |13!,{r0-r12,pc}.|
00010bc0  71 98 18 6c 64 72 62 20  20 20 20 72 33 2c 5b 72  |q..ldrb    r3,[r|
00010bd0  30 2c 23 2d 31 5d 21 0d  71 a2 18 73 74 72 62 20  |0,#-1]!.q..strb |
00010be0  20 20 20 72 33 2c 5b 72  31 2c 23 2d 31 5d 21 0d  |   r3,[r1,#-1]!.|
00010bf0  71 ac 14 73 75 62 73 20  20 20 20 72 32 2c 72 32  |q..subs    r2,r2|
00010c00  2c 23 31 0d 71 b6 12 62  20 20 20 20 20 20 20 63  |,#1.q..b       c|
00010c10  70 79 6d 6c 70 0d 71 c0  0b 2e 63 6f 70 79 70 6c  |pymlp.q...copypl|
00010c20  0d 71 ca 11 63 6d 70 20  20 20 20 20 72 32 2c 23  |.q..cmp     r2,#|
00010c30  30 0d 71 d4 0b 2e 63 70  79 70 6c 70 0d 71 de 1c  |0.q...cpyplp.q..|
00010c40  6c 64 6d 65 71 66 64 20  72 31 33 21 2c 7b 72 30  |ldmeqfd r13!,{r0|
00010c50  2d 72 31 32 2c 70 63 7d  0d 71 e8 16 6c 64 72 62  |-r12,pc}.q..ldrb|
00010c60  20 20 20 20 72 33 2c 5b  72 30 5d 2c 23 31 0d 71  |    r3,[r0],#1.q|
00010c70  f2 16 73 74 72 62 20 20  20 20 72 33 2c 5b 72 31  |..strb    r3,[r1|
00010c80  5d 2c 23 31 0d 71 fc 14  73 75 62 73 20 20 20 20  |],#1.q..subs    |
00010c90  72 32 2c 72 32 2c 23 31  0d 72 06 12 62 20 20 20  |r2,r2,#1.r..b   |
00010ca0  20 20 20 20 63 70 79 70  6c 70 0d 72 10 04 0d 72  |    cpyplp.r...r|
00010cb0  1a 0b 2e 73 69 67 6e 65  64 0d 72 24 1d 73 74 6d  |...signed.r$.stm|
00010cc0  66 64 20 20 20 72 31 33  21 2c 7b 72 30 2d 72 31  |fd   r13!,{r0-r1|
00010cd0  32 2c 72 31 34 7d 0d 72  2e 0b 2e 73 69 67 6e 6c  |2,r14}.r...signl|
00010ce0  70 0d 72 38 11 63 6d 70  20 20 20 20 20 72 30 2c  |p.r8.cmp     r0,|
00010cf0  72 31 0d 72 42 1c 6c 64  6d 68 73 66 64 20 72 31  |r1.rB.ldmhsfd r1|
00010d00  33 21 2c 7b 72 30 2d 72  31 32 2c 70 63 7d 0d 72  |3!,{r0-r12,pc}.r|
00010d10  4c 13 6c 64 72 62 20 20  20 20 72 32 2c 5b 72 30  |L.ldrb    r2,[r0|
00010d20  5d 0d 72 56 16 65 6f 72  20 20 20 20 20 72 32 2c  |].rV.eor     r2,|
00010d30  72 32 2c 23 26 38 30 0d  72 60 16 73 74 72 62 20  |r2,#&80.r`.strb |
00010d40  20 20 20 72 32 2c 5b 72  30 5d 2c 23 31 0d 72 6a  |   r2,[r0],#1.rj|
00010d50  12 62 20 20 20 20 20 20  20 73 69 67 6e 6c 70 0d  |.b       signlp.|
00010d60  72 74 04 0d 72 7e 04 0d  72 88 0b 2e 6c 69 6e 6c  |rt..r~..r...linl|
00010d70  6f 67 0d 72 92 1d 73 74  6d 66 64 20 20 20 72 31  |og.r..stmfd   r1|
00010d80  33 21 2c 7b 72 30 2d 72  31 32 2c 72 31 34 7d 0d  |3!,{r0-r12,r14}.|
00010d90  72 9c 15 6c 64 72 20 20  20 20 20 72 34 2c 6c 6f  |r..ldr     r4,lo|
00010da0  67 74 61 62 0d 72 a6 0b  2e 6c 69 6e 6c 6c 70 0d  |gtab.r...linllp.|
00010db0  72 b0 11 63 6d 70 20 20  20 20 20 72 30 2c 72 31  |r..cmp     r0,r1|
00010dc0  0d 72 ba 1c 6c 64 6d 68  73 66 64 20 72 31 33 21  |.r..ldmhsfd r13!|
00010dd0  2c 7b 72 30 2d 72 31 32  2c 70 63 7d 0d 72 c4 13  |,{r0-r12,pc}.r..|
00010de0  6c 64 72 62 20 20 20 20  72 33 2c 5b 72 30 5d 0d  |ldrb    r3,[r0].|
00010df0  72 ce 11 63 6d 70 20 20  20 20 20 72 32 2c 23 31  |r..cmp     r2,#1|
00010e00  0d 72 d8 16 65 6f 72 65  71 20 20 20 72 33 2c 72  |.r..eoreq   r3,r|
00010e10  33 2c 23 26 38 30 0d 72  e2 16 6c 64 72 62 20 20  |3,#&80.r..ldrb  |
00010e20  20 20 72 33 2c 5b 72 34  2c 72 33 5d 0d 72 ec 16  |  r3,[r4,r3].r..|
00010e30  73 74 72 62 20 20 20 20  72 33 2c 5b 72 30 5d 2c  |strb    r3,[r0],|
00010e40  23 31 0d 72 f6 12 62 20  20 20 20 20 20 20 6c 69  |#1.r..b       li|
00010e50  6e 6c 6c 70 0d 73 00 04  0d 73 0a 04 0d 73 14 0b  |nllp.s...s...s..|
00010e60  2e 6c 6f 67 6c 69 6e 0d  73 1e 1d 73 74 6d 66 64  |.loglin.s..stmfd|
00010e70  20 20 20 72 31 33 21 2c  7b 72 30 2d 72 31 32 2c  |   r13!,{r0-r12,|
00010e80  72 31 34 7d 0d 73 28 15  6c 64 72 20 20 20 20 20  |r14}.s(.ldr     |
00010e90  72 34 2c 6c 69 6e 74 61  62 0d 73 32 0b 2e 6c 6f  |r4,lintab.s2..lo|
00010ea0  67 6c 6c 70 0d 73 3c 11  63 6d 70 20 20 20 20 20  |gllp.s<.cmp     |
00010eb0  72 30 2c 72 31 0d 73 46  1c 6c 64 6d 68 73 66 64  |r0,r1.sF.ldmhsfd|
00010ec0  20 72 31 33 21 2c 7b 72  30 2d 72 31 32 2c 70 63  | r13!,{r0-r12,pc|
00010ed0  7d 0d 73 50 13 6c 64 72  62 20 20 20 20 72 33 2c  |}.sP.ldrb    r3,|
00010ee0  5b 72 30 5d 0d 73 5a 16  6c 64 72 20 20 20 20 20  |[r0].sZ.ldr     |
00010ef0  72 33 2c 5b 72 34 2c 72  33 5d 0d 73 64 16 73 74  |r3,[r4,r3].sd.st|
00010f00  72 62 20 20 20 20 72 33  2c 5b 72 30 5d 2c 23 31  |rb    r3,[r0],#1|
00010f10  0d 73 6e 12 62 20 20 20  20 20 20 20 6c 6f 67 6c  |.sn.b       logl|
00010f20  6c 70 0d 73 78 04 0d 73  82 0b 2e 6c 6f 67 74 61  |lp.sx..s...logta|
00010f30  62 0d 73 8c 0d 65 71 75  64 20 20 20 20 30 0d 73  |b.s..equd    0.s|
00010f40  96 0b 2e 6c 69 6e 74 61  62 0d 73 a0 0d 65 71 75  |...lintab.s..equ|
00010f50  64 20 20 20 20 30 0d 73  aa 04 0d 73 b4 0c 2e 72  |d    0.s...s...r|
00010f60  65 76 65 72 73 65 0d 73  be 1d 73 74 6d 66 64 20  |everse.s..stmfd |
00010f70  20 20 72 31 33 21 2c 7b  72 30 2d 72 31 32 2c 72  |  r13!,{r0-r12,r|
00010f80  31 34 7d 0d 73 c8 0b 2e  72 65 76 6c 75 70 0d 73  |14}.s...revlup.s|
00010f90  d2 11 63 6d 70 20 20 20  20 20 72 30 2c 72 31 0d  |..cmp     r0,r1.|
00010fa0  73 dc 1c 6c 64 6d 68 73  66 64 20 72 31 33 21 2c  |s..ldmhsfd r13!,|
00010fb0  7b 72 30 2d 72 31 32 2c  70 63 7d 0d 73 e6 13 6c  |{r0-r12,pc}.s..l|
00010fc0  64 72 62 20 20 20 20 72  32 2c 5b 72 30 5d 0d 73  |drb    r2,[r0].s|
00010fd0  f0 17 6c 64 72 62 20 20  20 20 72 33 2c 5b 72 31  |..ldrb    r3,[r1|
00010fe0  2c 23 2d 31 5d 0d 73 fa  16 73 74 72 62 20 20 20  |,#-1].s..strb   |
00010ff0  20 72 33 2c 5b 72 30 5d  2c 23 31 0d 74 04 18 73  | r3,[r0],#1.t..s|
00011000  74 72 62 20 20 20 20 72  32 2c 5b 72 31 2c 23 2d  |trb    r2,[r1,#-|
00011010  31 5d 21 0d 74 0e 12 62  20 20 20 20 20 20 20 72  |1]!.t..b       r|
00011020  65 76 6c 75 70 0d 74 18  04 0d 74 22 0b 2e 66 69  |evlup.t...t"..fi|
00011030  6c 74 6c 6f 0d 74 2c 1d  73 74 6d 66 64 20 20 20  |ltlo.t,.stmfd   |
00011040  72 31 33 21 2c 7b 72 30  2d 72 31 32 2c 72 31 34  |r13!,{r0-r12,r14|
00011050  7d 0d 74 36 0b 2e 66 6c  74 6c 6c 70 0d 74 40 11  |}.t6..fltllp.t@.|
00011060  63 6d 70 20 20 20 20 20  72 30 2c 72 31 0d 74 4a  |cmp     r0,r1.tJ|
00011070  1c 6c 64 6d 68 73 66 64  20 72 31 33 21 2c 7b 72  |.ldmhsfd r13!,{r|
00011080  30 2d 72 31 32 2c 70 63  7d 0d 74 54 13 6c 64 72  |0-r12,pc}.tT.ldr|
00011090  62 20 20 20 20 72 35 2c  5b 72 30 5d 0d 74 5e 11  |b    r5,[r0].t^.|
000110a0  63 6d 70 20 20 20 20 20  72 33 2c 23 31 0d 74 68  |cmp     r3,#1.th|
000110b0  16 65 6f 72 65 71 20 20  20 72 35 2c 72 35 2c 23  |.eoreq   r5,r5,#|
000110c0  26 38 30 0d 74 72 19 6d  6f 76 20 20 20 20 20 72  |&80.tr.mov     r|
000110d0  35 2c 72 35 2c 6c 73 6c  20 23 32 34 0d 74 7c 19  |5,r5,lsl #24.t|.|
000110e0  6d 6f 76 20 20 20 20 20  72 35 2c 72 35 2c 61 73  |mov     r5,r5,as|
000110f0  72 20 23 32 34 0d 74 86  1b 73 75 62 20 20 20 20  |r #24.t..sub    |
00011100  20 72 35 2c 72 34 2c 72  35 2c 6c 73 6c 20 23 38  | r5,r4,r5,lsl #8|
00011110  0d 74 90 14 6d 75 6c 20  20 20 20 20 72 35 2c 72  |.t..mul     r5,r|
00011120  32 2c 72 35 0d 74 9a 1c  73 75 62 20 20 20 20 20  |2,r5.t..sub     |
00011130  72 34 2c 72 34 2c 72 35  2c 61 73 72 20 23 31 32  |r4,r4,r5,asr #12|
00011140  0d 74 a4 18 6d 6f 76 20  20 20 20 20 72 35 2c 72  |.t..mov     r5,r|
00011150  34 2c 61 73 72 20 23 38  0d 74 ae 13 63 6d 70 20  |4,asr #8.t..cmp |
00011160  20 20 20 20 72 35 2c 23  31 32 37 0d 74 b8 13 6d  |    r5,#127.t..m|
00011170  6f 76 70 6c 20 20 20 72  35 2c 23 31 32 37 0d 74  |ovpl   r5,#127.t|
00011180  c2 13 63 6d 6e 20 20 20  20 20 72 35 2c 23 31 32  |..cmn     r5,#12|
00011190  37 0d 74 cc 13 6d 6f 76  6d 69 20 20 20 72 35 2c  |7.t..movmi   r5,|
000111a0  23 31 32 38 0d 74 d6 11  63 6d 70 20 20 20 20 20  |#128.t..cmp     |
000111b0  72 33 2c 23 31 0d 74 e0  16 65 6f 72 65 71 20 20  |r3,#1.t..eoreq  |
000111c0  20 72 35 2c 72 35 2c 23  26 38 30 0d 74 ea 16 73  | r5,r5,#&80.t..s|
000111d0  74 72 62 20 20 20 20 72  35 2c 5b 72 30 5d 2c 23  |trb    r5,[r0],#|
000111e0  31 0d 74 f4 12 62 20 20  20 20 20 20 20 66 6c 74  |1.t..b       flt|
000111f0  6c 6c 70 0d 74 fe 04 0d  75 08 0b 2e 66 69 6c 74  |llp.t...u...filt|
00011200  68 69 0d 75 12 1d 73 74  6d 66 64 20 20 20 72 31  |hi.u..stmfd   r1|
00011210  33 21 2c 7b 72 30 2d 72  31 32 2c 72 31 34 7d 0d  |3!,{r0-r12,r14}.|
00011220  75 1c 0b 2e 66 6c 74 68  6c 70 0d 75 26 11 63 6d  |u...flthlp.u&.cm|
00011230  70 20 20 20 20 20 72 30  2c 72 31 0d 75 30 1c 6c  |p     r0,r1.u0.l|
00011240  64 6d 68 73 66 64 20 72  31 33 21 2c 7b 72 30 2d  |dmhsfd r13!,{r0-|
00011250  72 31 32 2c 70 63 7d 0d  75 3a 13 6c 64 72 62 20  |r12,pc}.u:.ldrb |
00011260  20 20 20 72 35 2c 5b 72  30 5d 0d 75 44 11 63 6d  |   r5,[r0].uD.cm|
00011270  70 20 20 20 20 20 72 33  2c 23 31 0d 75 4e 16 65  |p     r3,#1.uN.e|
00011280  6f 72 65 71 20 20 20 72  35 2c 72 35 2c 23 26 38  |oreq   r5,r5,#&8|
00011290  30 0d 75 58 19 6d 6f 76  20 20 20 20 20 72 35 2c  |0.uX.mov     r5,|
000112a0  72 35 2c 6c 73 6c 20 23  32 34 0d 75 62 19 6d 6f  |r5,lsl #24.ub.mo|
000112b0  76 20 20 20 20 20 72 35  2c 72 35 2c 61 73 72 20  |v     r5,r5,asr |
000112c0  23 32 34 0d 75 6c 18 6d  6f 76 20 20 20 20 20 72  |#24.ul.mov     r|
000112d0  36 2c 72 35 2c 6c 73 6c  20 23 38 0d 75 76 1b 73  |6,r5,lsl #8.uv.s|
000112e0  75 62 20 20 20 20 20 72  35 2c 72 34 2c 72 35 2c  |ub     r5,r4,r5,|
000112f0  6c 73 6c 20 23 38 0d 75  80 14 6d 75 6c 20 20 20  |lsl #8.u..mul   |
00011300  20 20 72 35 2c 72 32 2c  72 35 0d 75 8a 1c 73 75  |  r5,r2,r5.u..su|
00011310  62 20 20 20 20 20 72 34  2c 72 34 2c 72 35 2c 61  |b     r4,r4,r5,a|
00011320  73 72 20 23 31 32 0d 75  94 14 73 75 62 20 20 20  |sr #12.u..sub   |
00011330  20 20 72 35 2c 72 36 2c  72 34 0d 75 9e 18 6d 6f  |  r5,r6,r4.u..mo|
00011340  76 20 20 20 20 20 72 35  2c 72 35 2c 61 73 72 20  |v     r5,r5,asr |
00011350  23 38 0d 75 a8 13 63 6d  70 20 20 20 20 20 72 35  |#8.u..cmp     r5|
00011360  2c 23 31 32 37 0d 75 b2  13 6d 6f 76 70 6c 20 20  |,#127.u..movpl  |
00011370  20 72 35 2c 23 31 32 37  0d 75 bc 13 63 6d 6e 20  | r5,#127.u..cmn |
00011380  20 20 20 20 72 35 2c 23  31 32 37 0d 75 c6 13 6d  |    r5,#127.u..m|
00011390  6f 76 6d 69 20 20 20 72  35 2c 23 31 32 38 0d 75  |ovmi   r5,#128.u|
000113a0  d0 11 63 6d 70 20 20 20  20 20 72 33 2c 23 31 0d  |..cmp     r3,#1.|
000113b0  75 da 16 65 6f 72 65 71  20 20 20 72 35 2c 72 35  |u..eoreq   r5,r5|
000113c0  2c 23 26 38 30 0d 75 e4  16 73 74 72 62 20 20 20  |,#&80.u..strb   |
000113d0  20 72 35 2c 5b 72 30 5d  2c 23 31 0d 75 ee 12 62  | r5,[r0],#1.u..b|
000113e0  20 20 20 20 20 20 20 66  6c 74 68 6c 70 0d 75 f8  |       flthlp.u.|
000113f0  04 0d 76 02 0a 2e 73 63  61 6d 70 0d 76 0c 1d 73  |..v...scamp.v..s|
00011400  74 6d 66 64 20 20 20 72  31 33 21 2c 7b 72 30 2d  |tmfd   r13!,{r0-|
00011410  72 31 32 2c 72 31 34 7d  0d 76 16 0b 2e 73 63 6d  |r12,r14}.v...scm|
00011420  70 6c 70 0d 76 20 11 63  6d 70 20 20 20 20 20 72  |plp.v .cmp     r|
00011430  30 2c 72 31 0d 76 2a 1c  6c 64 6d 68 73 66 64 20  |0,r1.v*.ldmhsfd |
00011440  72 31 33 21 2c 7b 72 30  2d 72 31 32 2c 70 63 7d  |r13!,{r0-r12,pc}|
00011450  0d 76 34 13 6c 64 72 62  20 20 20 20 72 35 2c 5b  |.v4.ldrb    r5,[|
00011460  72 30 5d 0d 76 3e 11 63  6d 70 20 20 20 20 20 72  |r0].v>.cmp     r|
00011470  33 2c 23 31 0d 76 48 16  65 6f 72 65 71 20 20 20  |3,#1.vH.eoreq   |
00011480  72 35 2c 72 35 2c 23 26  38 30 0d 76 52 19 6d 6f  |r5,r5,#&80.vR.mo|
00011490  76 20 20 20 20 20 72 35  2c 72 35 2c 6c 73 6c 20  |v     r5,r5,lsl |
000114a0  23 32 34 0d 76 5c 19 6d  6f 76 20 20 20 20 20 72  |#24.v\.mov     r|
000114b0  35 2c 72 35 2c 61 73 72  20 23 32 34 0d 76 66 14  |5,r5,asr #24.vf.|
000114c0  6d 75 6c 20 20 20 20 20  72 35 2c 72 32 2c 72 35  |mul     r5,r2,r5|
000114d0  0d 76 70 19 6d 6f 76 20  20 20 20 20 72 35 2c 72  |.vp.mov     r5,r|
000114e0  35 2c 61 73 72 20 23 31  32 0d 76 7a 13 63 6d 70  |5,asr #12.vz.cmp|
000114f0  20 20 20 20 20 72 35 2c  23 31 32 37 0d 76 84 13  |     r5,#127.v..|
00011500  6d 6f 76 70 6c 20 20 20  72 35 2c 23 31 32 37 0d  |movpl   r5,#127.|
00011510  76 8e 13 63 6d 6e 20 20  20 20 20 72 35 2c 23 31  |v..cmn     r5,#1|
00011520  32 37 0d 76 98 13 6d 6f  76 6d 69 20 20 20 72 35  |27.v..movmi   r5|
00011530  2c 23 31 32 38 0d 76 a2  11 63 6d 70 20 20 20 20  |,#128.v..cmp    |
00011540  20 72 33 2c 23 31 0d 76  ac 16 65 6f 72 65 71 20  | r3,#1.v..eoreq |
00011550  20 20 72 35 2c 72 35 2c  23 26 38 30 0d 76 b6 16  |  r5,r5,#&80.v..|
00011560  73 74 72 62 20 20 20 20  72 35 2c 5b 72 30 5d 2c  |strb    r5,[r0],|
00011570  23 31 0d 76 c0 12 62 20  20 20 20 20 20 20 73 63  |#1.v..b       sc|
00011580  6d 70 6c 70 0d 76 ca 04  0d 76 d4 09 2e 65 63 68  |mplp.v...v...ech|
00011590  6f 0d 76 de 1d 73 74 6d  66 64 20 20 20 72 31 33  |o.v..stmfd   r13|
000115a0  21 2c 7b 72 30 2d 72 31  32 2c 72 31 34 7d 0d 76  |!,{r0-r12,r14}.v|
000115b0  e8 11 63 6d 70 20 20 20  20 20 72 34 2c 23 30 0d  |..cmp     r4,#0.|
000115c0  76 f2 11 62 65 71 20 20  20 20 20 72 65 76 72 62  |v..beq     revrb|
000115d0  0d 76 fc 0b 2e 65 63 68  6f 6c 70 0d 77 06 11 63  |.v...echolp.w..c|
000115e0  6d 70 20 20 20 20 20 72  30 2c 72 31 0d 77 10 1c  |mp     r0,r1.w..|
000115f0  6c 64 6d 68 73 66 64 20  72 31 33 21 2c 7b 72 30  |ldmhsfd r13!,{r0|
00011600  2d 72 31 32 2c 70 63 7d  0d 77 1a 13 6c 64 72 62  |-r12,pc}.w..ldrb|
00011610  20 20 20 20 72 36 2c 5b  72 30 5d 0d 77 24 16 6c  |    r6,[r0].w$.l|
00011620  64 72 62 20 20 20 20 72  37 2c 5b 72 30 2c 72 33  |drb    r7,[r0,r3|
00011630  5d 0d 77 2e 11 63 6d 70  20 20 20 20 20 72 35 2c  |].w..cmp     r5,|
00011640  23 31 0d 77 38 16 65 6f  72 65 71 20 20 20 72 36  |#1.w8.eoreq   r6|
00011650  2c 72 36 2c 23 26 38 30  0d 77 42 16 65 6f 72 65  |,r6,#&80.wB.eore|
00011660  71 20 20 20 72 37 2c 72  37 2c 23 26 38 30 0d 77  |q   r7,r7,#&80.w|
00011670  4c 19 6d 6f 76 20 20 20  20 20 72 36 2c 72 36 2c  |L.mov     r6,r6,|
00011680  6c 73 6c 20 23 32 34 0d  77 56 19 6d 6f 76 20 20  |lsl #24.wV.mov  |
00011690  20 20 20 72 36 2c 72 36  2c 61 73 72 20 23 32 34  |   r6,r6,asr #24|
000116a0  0d 77 60 19 6d 6f 76 20  20 20 20 20 72 37 2c 72  |.w`.mov     r7,r|
000116b0  37 2c 6c 73 6c 20 23 32  34 0d 77 6a 19 6d 6f 76  |7,lsl #24.wj.mov|
000116c0  20 20 20 20 20 72 37 2c  72 37 2c 61 73 72 20 23  |     r7,r7,asr #|
000116d0  32 34 0d 77 74 14 6d 75  6c 20 20 20 20 20 72 36  |24.wt.mul     r6|
000116e0  2c 72 32 2c 72 36 0d 77  7e 1b 61 64 64 20 20 20  |,r2,r6.w~.add   |
000116f0  20 20 72 37 2c 72 37 2c  72 36 2c 61 73 72 20 23  |  r7,r7,r6,asr #|
00011700  38 0d 77 88 18 6d 6f 76  20 20 20 20 20 72 36 2c  |8.w..mov     r6,|
00011710  72 36 2c 61 73 72 20 23  38 0d 77 92 13 63 6d 70  |r6,asr #8.w..cmp|
00011720  20 20 20 20 20 72 36 2c  23 31 32 37 0d 77 9c 13  |     r6,#127.w..|
00011730  6d 6f 76 70 6c 20 20 20  72 36 2c 23 31 32 37 0d  |movpl   r6,#127.|
00011740  77 a6 13 63 6d 6e 20 20  20 20 20 72 36 2c 23 31  |w..cmn     r6,#1|
00011750  32 37 0d 77 b0 13 6d 6f  76 6d 69 20 20 20 72 36  |27.w..movmi   r6|
00011760  2c 23 31 32 38 0d 77 ba  13 63 6d 70 20 20 20 20  |,#128.w..cmp    |
00011770  20 72 37 2c 23 31 32 37  0d 77 c4 13 6d 6f 76 70  | r7,#127.w..movp|
00011780  6c 20 20 20 72 37 2c 23  31 32 37 0d 77 ce 13 63  |l   r7,#127.w..c|
00011790  6d 6e 20 20 20 20 20 72  37 2c 23 31 32 37 0d 77  |mn     r7,#127.w|
000117a0  d8 13 6d 6f 76 6d 69 20  20 20 72 37 2c 23 31 32  |..movmi   r7,#12|
000117b0  38 0d 77 e2 11 63 6d 70  20 20 20 20 20 72 35 2c  |8.w..cmp     r5,|
000117c0  23 31 0d 77 ec 16 65 6f  72 65 71 20 20 20 72 36  |#1.w..eoreq   r6|
000117d0  2c 72 36 2c 23 26 38 30  0d 77 f6 16 65 6f 72 65  |,r6,#&80.w..eore|
000117e0  71 20 20 20 72 37 2c 72  37 2c 23 26 38 30 0d 78  |q   r7,r7,#&80.x|
000117f0  00 16 73 74 72 62 20 20  20 20 72 37 2c 5b 72 30  |..strb    r7,[r0|
00011800  2c 72 33 5d 0d 78 0a 16  73 74 72 62 20 20 20 20  |,r3].x..strb    |
00011810  72 36 2c 5b 72 30 5d 2c  23 31 0d 78 14 12 62 20  |r6,[r0],#1.x..b |
00011820  20 20 20 20 20 20 65 63  68 6f 6c 70 0d 78 1e 0a  |      echolp.x..|
00011830  2e 72 65 76 72 62 0d 78  28 11 6d 6f 76 20 20 20  |.revrb.x(.mov   |
00011840  20 20 72 36 2c 72 31 0d  78 32 14 61 64 64 20 20  |  r6,r1.x2.add  |
00011850  20 20 20 72 31 2c 72 30  2c 72 33 0d 78 3c 14 73  |   r1,r0,r3.x<.s|
00011860  75 62 20 20 20 20 20 72  30 2c 72 36 2c 23 31 0d  |ub     r0,r6,#1.|
00011870  78 46 0b 2e 72 65 76 62  6c 70 0d 78 50 11 63 6d  |xF..revblp.xP.cm|
00011880  70 20 20 20 20 20 72 30  2c 72 31 0d 78 5a 1c 6c  |p     r0,r1.xZ.l|
00011890  64 6d 6c 6f 66 64 20 72  31 33 21 2c 7b 72 30 2d  |dmlofd r13!,{r0-|
000118a0  72 31 32 2c 70 63 7d 0d  78 64 13 6c 64 72 62 20  |r12,pc}.xd.ldrb |
000118b0  20 20 20 72 36 2c 5b 72  30 5d 0d 78 6e 17 6c 64  |   r6,[r0].xn.ld|
000118c0  72 62 20 20 20 20 72 37  2c 5b 72 30 2c 2d 72 33  |rb    r7,[r0,-r3|
000118d0  5d 0d 78 78 11 63 6d 70  20 20 20 20 20 72 35 2c  |].xx.cmp     r5,|
000118e0  23 31 0d 78 82 16 65 6f  72 65 71 20 20 20 72 36  |#1.x..eoreq   r6|
000118f0  2c 72 36 2c 23 26 38 30  0d 78 8c 16 65 6f 72 65  |,r6,#&80.x..eore|
00011900  71 20 20 20 72 37 2c 72  37 2c 23 26 38 30 0d 78  |q   r7,r7,#&80.x|
00011910  96 19 6d 6f 76 20 20 20  20 20 72 36 2c 72 36 2c  |..mov     r6,r6,|
00011920  6c 73 6c 20 23 32 34 0d  78 a0 19 6d 6f 76 20 20  |lsl #24.x..mov  |
00011930  20 20 20 72 36 2c 72 36  2c 61 73 72 20 23 32 34  |   r6,r6,asr #24|
00011940  0d 78 aa 19 6d 6f 76 20  20 20 20 20 72 37 2c 72  |.x..mov     r7,r|
00011950  37 2c 6c 73 6c 20 23 32  34 0d 78 b4 19 6d 6f 76  |7,lsl #24.x..mov|
00011960  20 20 20 20 20 72 37 2c  72 37 2c 61 73 72 20 23  |     r7,r7,asr #|
00011970  32 34 0d 78 be 14 6d 75  6c 20 20 20 20 20 72 37  |24.x..mul     r7|
00011980  2c 72 32 2c 72 37 0d 78  c8 1b 61 64 64 20 20 20  |,r2,r7.x..add   |
00011990  20 20 72 36 2c 72 36 2c  72 37 2c 61 73 72 20 23  |  r6,r6,r7,asr #|
000119a0  38 0d 78 d2 13 63 6d 70  20 20 20 20 20 72 36 2c  |8.x..cmp     r6,|
000119b0  23 31 32 37 0d 78 dc 13  6d 6f 76 70 6c 20 20 20  |#127.x..movpl   |
000119c0  72 36 2c 23 31 32 37 0d  78 e6 13 63 6d 6e 20 20  |r6,#127.x..cmn  |
000119d0  20 20 20 72 36 2c 23 31  32 37 0d 78 f0 13 6d 6f  |   r6,#127.x..mo|
000119e0  76 6d 69 20 20 20 72 36  2c 23 31 32 38 0d 78 fa  |vmi   r6,#128.x.|
000119f0  11 63 6d 70 20 20 20 20  20 72 35 2c 23 31 0d 79  |.cmp     r5,#1.y|
00011a00  04 16 65 6f 72 65 71 20  20 20 72 36 2c 72 36 2c  |..eoreq   r6,r6,|
00011a10  23 26 38 30 0d 79 0e 17  73 74 72 62 20 20 20 20  |#&80.y..strb    |
00011a20  72 36 2c 5b 72 30 5d 2c  23 2d 31 0d 79 18 12 62  |r6,[r0],#-1.y..b|
00011a30  20 20 20 20 20 20 20 72  65 76 62 6c 70 0d 79 22  |       revblp.y"|
00011a40  04 0d 79 2c 0e 2e 6e 77  6c 65 6e 67 74 68 73 0d  |..y,..nwlengths.|
00011a50  79 36 1d 73 74 6d 66 64  20 20 20 72 31 33 21 2c  |y6.stmfd   r13!,|
00011a60  7b 72 30 2d 72 31 32 2c  72 31 34 7d 0d 79 40 11  |{r0-r12,r14}.y@.|
00011a70  6d 6f 76 20 20 20 20 20  72 33 2c 23 30 0d 79 4a  |mov     r3,#0.yJ|
00011a80  11 6d 6f 76 20 20 20 20  20 72 34 2c 72 30 0d 79  |.mov     r4,r0.y|
00011a90  54 0b 2e 6e 77 6c 73 6c  70 0d 79 5e 11 63 6d 70  |T..nwlslp.y^.cmp|
00011aa0  20 20 20 20 20 72 30 2c  72 31 0d 79 68 1c 6c 64  |     r0,r1.yh.ld|
00011ab0  6d 68 73 66 64 20 72 31  33 21 2c 7b 72 30 2d 72  |mhsfd r13!,{r0-r|
00011ac0  31 32 2c 70 63 7d 0d 79  72 13 6c 64 72 62 20 20  |12,pc}.yr.ldrb  |
00011ad0  20 20 72 35 2c 5b 72 30  5d 0d 79 7c 13 73 74 72  |  r5,[r0].y|.str|
00011ae0  62 20 20 20 20 72 35 2c  5b 72 34 5d 0d 79 86 14  |b    r5,[r4].y..|
00011af0  61 64 64 20 20 20 20 20  72 34 2c 72 34 2c 23 31  |add     r4,r4,#1|
00011b00  0d 79 90 14 61 64 64 20  20 20 20 20 72 33 2c 72  |.y..add     r3,r|
00011b10  33 2c 72 32 0d 79 9a 19  6d 6f 76 20 20 20 20 20  |3,r2.y..mov     |
00011b20  72 35 2c 72 33 2c 6c 73  72 20 23 32 34 0d 79 a4  |r5,r3,lsr #24.y.|
00011b30  1c 62 69 63 20 20 20 20  20 72 33 2c 72 33 2c 23  |.bic     r3,r3,#|
00011b40  26 66 66 30 30 30 30 30  30 0d 79 ae 14 61 64 64  |&ff000000.y..add|
00011b50  20 20 20 20 20 72 30 2c  72 30 2c 72 35 0d 79 b8  |     r0,r0,r5.y.|
00011b60  12 62 20 20 20 20 20 20  20 6e 77 6c 73 6c 70 0d  |.b       nwlslp.|
00011b70  79 c2 04 0d 79 cc 0e 2e  6e 77 6c 65 6e 67 74 68  |y...y...nwlength|
00011b80  62 0d 79 d6 1d 73 74 6d  66 64 20 20 20 72 31 33  |b.y..stmfd   r13|
00011b90  21 2c 7b 72 30 2d 72 31  32 2c 72 31 34 7d 0d 79  |!,{r0-r12,r14}.y|
00011ba0  e0 11 6d 6f 76 20 20 20  20 20 72 34 2c 23 30 0d  |..mov     r4,#0.|
00011bb0  79 ea 0b 2e 6e 77 6c 62  6c 70 0d 79 f4 11 63 6d  |y...nwlblp.y..cm|
00011bc0  70 20 20 20 20 20 72 33  2c 72 30 0d 79 fe 1c 6c  |p     r3,r0.y..l|
00011bd0  64 6d 6c 6f 66 64 20 72  31 33 21 2c 7b 72 30 2d  |dmlofd r13!,{r0-|
00011be0  72 31 32 2c 70 63 7d 0d  7a 08 13 6c 64 72 62 20  |r12,pc}.z..ldrb |
00011bf0  20 20 20 72 35 2c 5b 72  31 5d 0d 7a 12 13 73 74  |   r5,[r1].z..st|
00011c00  72 62 20 20 20 20 72 35  2c 5b 72 33 5d 0d 7a 1c  |rb    r5,[r3].z.|
00011c10  14 73 75 62 20 20 20 20  20 72 33 2c 72 33 2c 23  |.sub     r3,r3,#|
00011c20  31 0d 7a 26 14 61 64 64  20 20 20 20 20 72 34 2c  |1.z&.add     r4,|
00011c30  72 34 2c 72 32 0d 7a 30  19 6d 6f 76 20 20 20 20  |r4,r2.z0.mov    |
00011c40  20 72 35 2c 72 34 2c 6c  73 72 20 23 32 34 0d 7a  | r5,r4,lsr #24.z|
00011c50  3a 1c 62 69 63 20 20 20  20 20 72 34 2c 72 34 2c  |:.bic     r4,r4,|
00011c60  23 26 66 66 30 30 30 30  30 30 0d 7a 44 14 73 75  |#&ff000000.zD.su|
00011c70  62 20 20 20 20 20 72 31  2c 72 31 2c 72 35 0d 7a  |b     r1,r1,r5.z|
00011c80  4e 12 62 20 20 20 20 20  20 20 6e 77 6c 62 6c 70  |N.b       nwlblp|
00011c90  0d 7a 58 04 0d 7a 62 09  2e 66 61 64 65 0d 7a 6c  |.zX..zb..fade.zl|
00011ca0  1d 73 74 6d 66 64 20 20  20 72 31 33 21 2c 7b 72  |.stmfd   r13!,{r|
00011cb0  30 2d 72 31 32 2c 72 31  34 7d 0d 7a 76 0b 2e 66  |0-r12,r14}.zv..f|
00011cc0  61 64 65 6c 70 0d 7a 80  11 63 6d 70 20 20 20 20  |adelp.z..cmp    |
00011cd0  20 72 30 2c 72 31 0d 7a  8a 1c 6c 64 6d 68 73 66  | r0,r1.z..ldmhsf|
00011ce0  64 20 72 31 33 21 2c 7b  72 30 2d 72 31 32 2c 70  |d r13!,{r0-r12,p|
00011cf0  63 7d 0d 7a 94 13 6c 64  72 62 20 20 20 20 72 36  |c}.z..ldrb    r6|
00011d00  2c 5b 72 30 5d 0d 7a 9e  11 63 6d 70 20 20 20 20  |,[r0].z..cmp    |
00011d10  20 72 35 2c 23 31 0d 7a  a8 16 65 6f 72 65 71 20  | r5,#1.z..eoreq |
00011d20  20 20 72 36 2c 72 36 2c  23 26 38 30 0d 7a b2 19  |  r6,r6,#&80.z..|
00011d30  6d 6f 76 20 20 20 20 20  72 36 2c 72 36 2c 6c 73  |mov     r6,r6,ls|
00011d40  6c 20 23 32 34 0d 7a bc  19 6d 6f 76 20 20 20 20  |l #24.z..mov    |
00011d50  20 72 36 2c 72 36 2c 61  73 72 20 23 32 34 0d 7a  | r6,r6,asr #24.z|
00011d60  c6 19 6d 6f 76 20 20 20  20 20 72 37 2c 72 32 2c  |..mov     r7,r2,|
00011d70  61 73 72 20 23 32 30 0d  7a d0 14 6d 75 6c 20 20  |asr #20.z..mul  |
00011d80  20 20 20 72 36 2c 72 37  2c 72 36 0d 7a da 18 6d  |   r6,r7,r6.z..m|
00011d90  6f 76 20 20 20 20 20 72  36 2c 72 36 2c 61 73 72  |ov     r6,r6,asr|
00011da0  20 23 38 0d 7a e4 13 63  6d 70 20 20 20 20 20 72  | #8.z..cmp     r|
00011db0  36 2c 23 31 32 37 0d 7a  ee 13 6d 6f 76 70 6c 20  |6,#127.z..movpl |
00011dc0  20 20 72 36 2c 23 31 32  37 0d 7a f8 13 63 6d 6e  |  r6,#127.z..cmn|
00011dd0  20 20 20 20 20 72 36 2c  23 31 32 37 0d 7b 02 13  |     r6,#127.{..|
00011de0  6d 6f 76 6d 69 20 20 20  72 36 2c 23 31 32 38 0d  |movmi   r6,#128.|
00011df0  7b 0c 11 63 6d 70 20 20  20 20 20 72 35 2c 23 31  |{..cmp     r5,#1|
00011e00  0d 7b 16 16 65 6f 72 65  71 20 20 20 72 36 2c 72  |.{..eoreq   r6,r|
00011e10  36 2c 23 26 38 30 0d 7b  20 16 73 74 72 62 20 20  |6,#&80.{ .strb  |
00011e20  20 20 72 36 2c 5b 72 30  5d 2c 23 31 0d 7b 2a 14  |  r6,[r0],#1.{*.|
00011e30  61 64 64 20 20 20 20 20  72 32 2c 72 32 2c 72 34  |add     r2,r2,r4|
00011e40  0d 7b 34 12 62 20 20 20  20 20 20 20 66 61 64 65  |.{4.b       fade|
00011e50  6c 70 0d 7b 3e 04 0d 7b  48 0c 2e 61 64 64 63 6c  |lp.{>..{H..addcl|
00011e60  69 70 0d 7b 52 1d 73 74  6d 66 64 20 20 20 72 31  |ip.{R.stmfd   r1|
00011e70  33 21 2c 7b 72 30 2d 72  31 32 2c 72 31 34 7d 0d  |3!,{r0-r12,r14}.|
00011e80  7b 5c 0b 2e 61 64 64 63  6c 6c 0d 7b 66 11 63 6d  |{\..addcll.{f.cm|
00011e90  70 20 20 20 20 20 72 32  2c 23 30 0d 7b 70 1c 6c  |p     r2,#0.{p.l|
00011ea0  64 6d 6c 65 66 64 20 72  31 33 21 2c 7b 72 30 2d  |dmlefd r13!,{r0-|
00011eb0  72 31 32 2c 70 63 7d 0d  7b 7a 13 6c 64 72 62 20  |r12,pc}.{z.ldrb |
00011ec0  20 20 20 72 34 2c 5b 72  30 5d 0d 7b 84 16 6c 64  |   r4,[r0].{..ld|
00011ed0  72 62 20 20 20 20 72 35  2c 5b 72 31 5d 2c 23 31  |rb    r5,[r1],#1|
00011ee0  0d 7b 8e 11 63 6d 70 20  20 20 20 20 72 33 2c 23  |.{..cmp     r3,#|
00011ef0  31 0d 7b 98 16 65 6f 72  65 71 20 20 20 72 34 2c  |1.{..eoreq   r4,|
00011f00  72 34 2c 23 26 38 30 0d  7b a2 16 65 6f 72 65 71  |r4,#&80.{..eoreq|
00011f10  20 20 20 72 35 2c 72 35  2c 23 26 38 30 0d 7b ac  |   r5,r5,#&80.{.|
00011f20  19 6d 6f 76 20 20 20 20  20 72 34 2c 72 34 2c 6c  |.mov     r4,r4,l|
00011f30  73 6c 20 23 32 34 0d 7b  b6 19 6d 6f 76 20 20 20  |sl #24.{..mov   |
00011f40  20 20 72 34 2c 72 34 2c  61 73 72 20 23 32 34 0d  |  r4,r4,asr #24.|
00011f50  7b c0 19 6d 6f 76 20 20  20 20 20 72 35 2c 72 35  |{..mov     r5,r5|
00011f60  2c 6c 73 6c 20 23 32 34  0d 7b ca 19 6d 6f 76 20  |,lsl #24.{..mov |
00011f70  20 20 20 20 72 35 2c 72  35 2c 61 73 72 20 23 32  |    r5,r5,asr #2|
00011f80  34 0d 7b d4 14 61 64 64  20 20 20 20 20 72 34 2c  |4.{..add     r4,|
00011f90  72 34 2c 72 35 0d 7b de  18 6d 6f 76 20 20 20 20  |r4,r5.{..mov    |
00011fa0  20 72 34 2c 72 34 2c 61  73 72 20 23 31 0d 7b e8  | r4,r4,asr #1.{.|
00011fb0  16 65 6f 72 65 71 20 20  20 72 34 2c 72 34 2c 23  |.eoreq   r4,r4,#|
00011fc0  26 38 30 0d 7b f2 16 73  74 72 62 20 20 20 20 72  |&80.{..strb    r|
00011fd0  34 2c 5b 72 30 5d 2c 23  31 0d 7b fc 14 73 75 62  |4,[r0],#1.{..sub|
00011fe0  20 20 20 20 20 72 32 2c  72 32 2c 23 31 0d 7c 06  |     r2,r2,#1.|.|
00011ff0  12 62 20 20 20 20 20 20  20 61 64 64 63 6c 6c 0d  |.b       addcll.|
00012000  7c 10 0c 2e 65 6e 64 63  6f 64 65 0d 7c 1a 05 5d  ||...endcode.|..]|
00012010  0d 7c 24 0a ed 70 61 73  73 25 0d 7c 2e 05 e1 0d  |.|$..pass%.|....|
00012020  ff                                                |.|
00012021