Home » Archimedes archive » Acorn User » AU 1998-02 B.adf » Regulars » RTR/!SuperWah/RunWah

RTR/!SuperWah/RunWah

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

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

Tape/disk: Home » Archimedes archive » Acorn User » AU 1998-02 B.adf » Regulars
Filename: RTR/!SuperWah/RunWah
Read OK:
File size: 3B39 bytes
Load address: 0000
Exec address: 0000
File contents
   10REM>!WahWah.RunWah
   20ON ERROR PROCerrorbox
   30
   40DIM taskid%4:$taskid%="TASK"
   50DIM intmess% 200
   60intmess%!0=2:intmess%!4=3:intmess%!8=4:intmess%!12=&400C1:intmess%!16=&502
   70intmess%!20=0
   80DIM Pt% 24,invmenu% 100,defmenu% 100
   90SYS "Wimp_Initialise",300,!taskid%,"SuperWah",intmess% TO version%,taskhand%
  100
  110DIM q% &300,qc% 80, W% &1000,temp% 256,buffers% 512,menu% 256,SW% 512,cb% 18
  120DIM IsName% 256, Wmenu% 512,Smenu% 256,Imenu% 256, TextWarn% 100, ww% 256
  130DIM Pl% 255,Pr% 255,PBK% 8,IsName% 256
  140NoI%=43
  150DIM SPoint%(NoI%),IX%(NoI%),IY%(NoI%),IX1%(NoI%),IY1%(NoI%)
  160DIM Slider%(6,2),Gain%(26),Current%(6,255,1),LastS%(6,1)
  170DIM PBK% 5, PBS% 4
  180
  190SYS "Wimp_OpenTemplate",,"<WahWah$Dir>.Templates"
  200ON ERROR SYS "Wimp_CloseTemplate":PROCerrorbox
  210
  220SYS "Wimp_LoadTemplate",,q%,temp%,temp%+256,-1,"Info",0
  230SYS "Wimp_CreateWindow",,q% TO info%
  240
  250SYS "Wimp_LoadTemplate",,q%,IsName%,IsName%+256,-1,"save_script",0
  260SYS "Wimp_CreateWindow",,q% TO saveW%
  270
  280
  290SYS "Wimp_LoadTemplate",,W%+4,SW%,SW%+512,-1,"Pallette",0
  300W%!28=-1
  310FOR A%=0 TO NoI%
  320SPoint%(A%)=!(W%+4+88+20+32*A%)
  330IX%(A%)=!(W%+4+88+32*A%):IY%(A%)=!(W%+4+88+4+32*A%)
  340IX1%(A%)=!(W%+4+88+8+32*A%):IY1%(A%)=!(W%+4+88+12+32*A%)
  350IF A%>29 AND A%<44 THEN IX%(A%)-=2:IX1%(A%)+=2
  360NEXT
  370
  380SYS "Wimp_CreateWindow",,W%+4 TO pallW%
  390W%!0=pallW%
  400
  410SYS "Wimp_LoadTemplate",,q%,ww%,ww%+256,-1,"Warning",0
  420q%!108=TextWarn%:q%!112=-1:q%!116=300
  430XQ%=q%!8-q%!0:YQ%=q%!12-q%!4
  440SYS "Wimp_CreateWindow",,q% TO warningW%
  450SYS "Wimp_CloseTemplate"
  460ref%=0
  470cpL%=0:cpR%=0
  480smpicon%=FNicon
  490wopen%=FALSE:warnOn%=FALSE
  500ON ERROR PROCerrorbox
  510DragOn%=-1:XL%=0:YL%=0
  520secureF%=0:Lock%=FALSE:Oview%=TRUE
  530Ped%=127:secureF%=-1:wSide%=0
  540PROCsetupmenu
  550PROCinitSlide
  560PROC_PutName("Effect")
  570?PBS%=&0
  580REM Set up the control register
  590SYS "XIIC_Control",&90,PBS%,1
  600
  610REPEAT
  620 SYS "Wimp_Poll",0,q% TO A%
  630  CASE A% OF
  640   WHEN 0:PROCnull
  650   WHEN 1:PROC_doWindow
  660   WHEN 2:SYS "Wimp_OpenWindow",,q% :IF q%!0=pallW% THEN wopen%=TRUE
  670   WHEN 3:PROC_close
  680   WHEN 6:PROC_do_click(q%)
  690   WHEN 7:PROC_PutDown(q%)
  700   WHEN 8:PROC_KeyPress
  710   WHEN 9:PROC_SORT_Menu
  720   WHEN 17,18:PROCreceive(q%)
  730   ENDCASE
  740 UNTIL FALSE
  750
  760END
  770
  780DEF PROCnull
  790LOCAL A%,F%,T%,S%,D%
  800D%=FALSE
  810MOUSE X%,Y%,mouseB%
  820IF DragOn%<>-1 THEN
  830IF mouseB%=4 THEN
  840IF DragOn%<>-1 AND (XL%<>X% OR YL%<>Y%) THEN PROCdragSlide
  850ELSE
  860IF DragOn%>13 THEN S%=DragOn% ELSE S%=DragOn%-14
  870F%=VAL($SPoint%(22)):T%=VAL($SPoint%(23))
  880IF T%>255 THEN T%=255:$SPoint%(23)="255":SYS"Wimp_ForceRedraw",pallW%,IX%(23),IY%(23),IX1%(23),IY1%(23)
  890IF F%>255 THEN F%=255:$SPoint%(22)="255":SYS"Wimp_ForceRedraw",pallW%,IX%(22),IY%(22),IX1%(22),IY1%(22)
  900IF F%>T% THEN SWAP T%,F%
  910IF F%<>T% THEN PROCinterpolate(F%,T%)
  920Ped%=-1
  930DragOn%=-1
  940D%=TRUE
  950ENDIF
  960ENDIF
  970Oview%=TRUE
  980REM Read the peddel value into A%
  990SYS "XIIC_Control",&91,PBK%,1
 1000A%=PBK%?0
 1010IF A%<>Ped% THEN
 1020Ped%=A%
 1030$SPoint%(21)=STR$(Ped%)
 1040SYS"Wimp_ForceRedraw",pallW%,IX%(21),IY%(21),IX1%(21),IY1%(21)
 1050Oview%=D%:PROCupNew
 1060ENDIF
 1070ENDPROC
 1080
 1090DEF PROCupNew
 1100LOCAL A%,S%
 1110FOR S%=0 TO 1
 1120FOR A%=0 TO 6
 1130IF S%=wSide% THEN Slider%(A%,1)=Current%(A%,Ped%,S%)
 1140IF Current%(A%,Ped%,S%)<>LastS%(A%,S%) THEN SYS"Wimp_ForceRedraw",pallW%,IX%(A%+7),IY%(A%+7),IX1%(A%+7),IY1%(A%+7):LastS%(A%,S%)=Current%(A%,Ped%,S%):PROCupVol(A%,S%)
 1150NEXT:NEXT
 1160
 1170ENDPROC
 1180
 1190DEF PROC_PutDown(q%)
 1200IF sDragOn% THEN
 1210PROC_GetName
 1220SYS "Wimp_GetPointerInfo",,q%
 1230messh%=q%!12:messi%=q%!16:messx%=q%!0:messy%=q%!4
 1240IF INSTR( fn$,":") THEN fn$=FN_spath(fn$)
 1250$(q%+44)=fn$
 1260?(q%+44+LEN(fn$))=0
 1270q%!20=q%!12:q%!28=q%!0:q%!32=q%!4:q%!36=1024:q%!40=&048
 1280q%!0=56:q%!12=0:q%!16=1
 1290SYS "Wimp_SendMessage",17,q%,messh%,messi%
 1300saveref%=q%!8
 1310SYS "Wimp_CreateMenu",,-1
 1320sDragOn%=FALSE
 1330ENDIF
 1340ENDPROC
 1350
 1360DEF FN_spath(n$)
 1370WHILE INSTR(n$,".")
 1380n$=RIGHT$(n$,LEN(n$)-1)
 1390ENDWHILE
 1400IF LEN(n$)>10 THEN n$=RIGHT$(n$,10)
 1410=n$
 1420
 1430DEF PROC_SORT_Menu
 1440LOCAL I%
 1450I%=!q%
 1460CASE I% OF
 1470WHEN 2: PROCloadset:PROCupSide:PROCupOview
 1480WHEN 3: PROCsame:PROCupOview
 1490WHEN 4: PROCinv:PROCupOview
 1500WHEN 5: PROCrev:PROCupOview
 1510WHEN 6: PROC_Save("<WahWah$Dir>.Settings"):PROCdie
 1520ENDCASE
 1530SYS"Wimp_GetPointerInfo",,q%
 1540ENDPROC
 1550
 1560DEF PROC_close
 1570IF q%!0=pallW% THEN wopen%=FALSE:GotBar%=FALSE:SYS"Wimp_GetWindowInfo",,W%
 1580IF q%!0=warningW% THEN warnOn%=FALSE
 1590SYS "Wimp_CloseWindow",,q%
 1600ENDPROC
 1610
 1620DEF PROC_do_click(q%)
 1630LOCAL X%,Y%,C%,T%
 1640i%=q%!16
 1650CASE q%!12 OF
 1660WHEN warningW%: q%!0=warningW% :PROC_close
 1670WHEN    saveW%: IF i%=0 THEN sDragOn%=TRUE: PROC_SaveSettings(0)
 1680                IF i%=2 THEN PROC_GetName: PROC_SaveSettings(2)
 1690
 1700WHEN -2: REM Look first at Icon Bar Click
 1710        IF q%!16=smpicon% THEN
 1720        IF q%!8=2 THEN IconMenu%=TRUE: SYS"Wimp_CreateMenu",,menu%,q%!0-94,376
 1730        IF q%!8=4 THEN PROC_OpenWhat
 1740        ENDIF
 1750
 1760WHEN pallW%:  
 1770              IF q%!8=4 THEN PROC_MonClick
 1780              IF q%!8=2 THEN IconMenu%=FALSE:SYS"Wimp_CreateMenu",,menu%,q%!0-94,q%!4
 1790ENDCASE
 1800ENDPROC
 1810
 1820DEF PROC_MonClick
 1830LOCAL D%,V%,B%
 1840REM Do the action for a window click
 1850PROC_Trans(pallW%)
 1860IF i%<7 OR (i%>13 AND i%<21) THEN
 1870 DragOn%=i%:XL%=-1:YL%=-1
 1880ENDIF
 1890CASE i% OF
 1900WHEN 24 : wSide%=1:$SPoint%(24)="yes":$SPoint%(25)="no":PROCupSide
 1910WHEN 25 : wSide%=0:$SPoint%(24)="no":$SPoint%(25)="yes":PROCupSide
 1920WHEN 26 : PROCt1(Ped%)
 1930WHEN 27 : PROCt2(Ped%)
 1940WHEN 28 : PROCt3
 1950WHEN 29 : PROCt4
 1960ENDCASE
 1970ENDPROC
 1980
 1990DEF PROCupSide
 2000LOCAL A%
 2010SYS"Wimp_ForceRedraw",pallW%,IX%(24),IY%(24),IX1%(24),IY1%(24)
 2020SYS"Wimp_ForceRedraw",pallW%,IX%(25),IY%(25),IX1%(25),IY1%(25)
 2030PROCt1(VAL($SPoint%(22)))
 2040PROCt2(VAL($SPoint%(23)))
 2050FOR A%=0 TO 6
 2060Slider%(A%,1)=Current%(A%,Ped%,wSide%)
 2070SYS"Wimp_ForceRedraw",pallW%,IX%(A%+7),IY%(A%+7),IX1%(A%+7),IY1%(A%+7)
 2080NEXT
 2090ENDPROC
 2100
 2110DEF PROC_OpenWhat
 2120LOCAL Ncol%
 2130IF NOT(warnOn%) THEN
 2140  SYS"OS_ReadModeVariable",-1,3 TO ,,Ncol%
 2150  PROC_Open
 2160ENDIF
 2170ENDPROC
 2180
 2190DEF PROC_Open
 2200REM OPEN UP WINDOW HERE
 2210IF wopen% THEN
 2220q%!0=pallW%
 2230SYS"Wimp_GetWindowState",,q%
 2240  IF q%!28<>-1 THEN q%!28=-1: SYS "Wimp_OpenWindow",,q%
 2250ELSE
 2260SYS "Wimp_OpenWindow",,W%
 2270wopen%=TRUE
 2280ENDIF
 2290ENDPROC
 2300
 2310DEF PROC_doWindow
 2320  LOCAL A%,I%,L%
 2330 IF q%!0=pallW% THEN
 2340   PROC_Trans(pallW%)
 2350   SYS "Wimp_RedrawWindow",,q% TO flag%
 2360     WHILE flag%
 2370
 2380REM Draw window here
 2390FOR I%=0 TO 2
 2400 FOR A%=0 TO 6
 2410  PROCdSlide(A%,I%)
 2420 NEXT:NEXT
 2430 IF Oview% THEN
 2440 SYS"Wimp_SetColour",13
 2450 FOR I%=0 TO 1
 2460FOR A%=0 TO 6
 2470 PROCdBox(A%,I%)
 2480NEXT
 2490SYS"Wimp_SetColour",8
 2500NEXT
 2510ENDIF
 2520     SYS "Wimp_GetRectangle",,q% TO flag%
 2530     ENDWHILE
 2540   ENDIF
 2550
 2560  ENDPROC
 2570  
 2580DEF PROCdSlide(S%,P%)
 2590LOCAL A%,X%
 2600X%=xo%+36+S%*42+P%*374
 2610SYS"Wimp_SetColour",1
 2620RECTANGLEFILL X%,yo%+94,8,208
 2630SYS"Wimp_SetColour",11
 2640A%=Slider%(S%,P%)*8
 2650RECTANGLEFILL X%,yo%+86+12+A%,8,-A%+4
 2660ENDPROC
 2670
 2680DEF PROC_Trans(wh%)
 2690!q%=wh%
 2700SYS "Wimp_GetWindowState",,q%
 2710xo%=q%!4-q%!20+8:yo%=q%!16-q%!24-354
 2720XO%=q%!4:YO%=q%!16
 2730ENDPROC
 2740
 2750DEFPROCsetupmenu
 2760LOCAL m%
 2770
 2780$menu%="Equaliser"
 2790menu%?12=7
 2800menu%?13=2
 2810menu%?14=7
 2820menu%?15=0
 2830menu%!16=128
 2840menu%!20=40
 2850menu%!24=0
 2860m%=menu%+28
 2870m%!0=0
 2880m%!4=info%
 2890m%!8=(7<<24)OR %10001
 2900$(m%+12)="Info"
 2910
 2920m%+=24
 2930m%!0=0
 2940m%!4=saveW%
 2950m%!8=(7<<24)OR %10001
 2960$(m%+12)="Save"
 2970
 2980m%+=24
 2990m%!0=0
 3000m%!4=0
 3010m%!8=(7<<24)OR %10001
 3020$(m%+12)="Restore"
 3030
 3040m%+=24
 3050m%!0=0
 3060m%!4=0
 3070m%!8=(7<<24)OR %10001
 3080$(m%+12)="Ch Same"
 3090
 3100m%+=24
 3110m%!0=0
 3120m%!4=0
 3130m%!8=(7<<24)OR %10001
 3140$(m%+12)="Ch Invert"
 3150
 3160m%+=24
 3170m%!0=0
 3180m%!4=0
 3190m%!8=(7<<24)OR %10001
 3200$(m%+12)="Ch Reverse"
 3210
 3220m%+=24
 3230m%!0=&80
 3240m%!4=0
 3250m%!8=(7<<24)OR %10001
 3260$(m%+12)="Quit"
 3270
 3280ENDPROC
 3290
 3300DEF PROCreceive(q%)
 3310LOCAL A%
 3320A%=q%!16
 3330CASE A% OF
 3340WHEN 0:PROCdie
 3350
 3360WHEN 2:IF q%!12=saveref% THEN 
 3370          secureF%=q%!36
 3380          fn$=FNsget(q%+44):PROC_SaveSettings(2)
 3390          q%!12=saveref%:q%!16=3:q%!0=256:q%!40=&048
 3400          q%!20=messh%:q%!24=messi%:q%!28=messx%:q%!32=messy%
 3410          SYS "Wimp_SendMessage",17,q%,messh%,messi%
 3420          ENDIF
 3430
 3440WHEN 3:IF (q%!20=-2 OR q%!20=pallW%) AND q%!40=&48 THEN
 3450       REM load in defination file
 3460        n$=FNsget(q%+44)
 3470        PROC_Dack
 3480        PROC_load(n$)
 3490        ref%=0
 3500        PROCupNew:PROCupOview
 3510        PROC_PutName(n$)
 3520       ENDIF
 3530       
 3540
 3550WHEN &502:   CASE TRUE OF
 3560             WHEN q%!32=-2 AND q%!36=smpicon%:mes$="This is the Super Wah Wah icon.|MAudio effects application."
 3570             OTHERWISE:mes$=""
 3580             ENDCASE
 3590    IF mes$<>"" THEN
 3600    q%!12=q%!8
 3610    $(q%+20)=mes$+CHR$0
 3620    q%!0=(20+LENmes$+4)AND NOT 3
 3630    q%!16=&503
 3640    SYS "Wimp_SendMessage",18,q%,q%!4
 3650ENDCASE
 3660ENDPROC
 3670
 3680DEF PROC_Dack
 3690sendth%=q%!4
 3700myref%=q%!8
 3710SYS "Wimp_GetPointerInfo",,q%+8
 3720q%!28=q%!8
 3730q%!32=q%!12
 3740q%!0=(44+LENn$+4)AND NOT 3
 3750q%!12=myref%
 3760q%!16=4
 3770q%!36=-1
 3780q%!40=&FF9
 3790$(q%+44)=n$+CHR$0
 3800SYS "Wimp_SendMessage",17,q%,sendth%
 3810ENDIF
 3820ENDPROC
 3830
 3840DEFFNsget(x%)
 3850LOCAL x$
 3860WHILE ?x% x$+=CHR$(?x%):x%+=1:ENDWHILE
 3870=x$
 3880
 3890DEFFNicon
 3900q%!0=-1
 3910q%!4=0
 3920q%!8=10 : REM Y DIRECTION
 3930q%!12=70 : REM X DIRECTION
 3940q%!16=96
 3950q%!20=&2002
 3960$(q%+24)="!SuperWah"
 3970SYS "Wimp_CreateIcon",,q% TO icon%
 3980=icon%
 3990
 4000DEF PROC_setupW(t$)
 4010!q%=warningW%:q%!4=200:q%!8=200:q%!12=200+XQ%:q%!16=200+YQ%:q%!20=0:q%!24=0:q%!28=-1
 4020$TextWarn%=t$
 4030TextWarn%?LEN(t$)=0
 4040VDU 7
 4050warnOn%=TRUE
 4060SYS "Wimp_OpenWindow",,q%
 4070ENDPROC
 4080
 4090DEF PROCerrorbox
 4100SYS "Wimp_DragBox",,-1
 4110!buffers%=ERR:$(buffers%+4)=REPORT$+" at line "+STR$ERL+CHR$0
 4120SYS "Wimp_ReportError",buffers%,1,"Super Wah Wah"
 4130PROCdie
 4140ENDPROC
 4150
 4160DEFPROCdie
 4170SYS "Wimp_CloseDown",taskhand%,!taskid%
 4180END
 4190ENDPROC
 4200
 4210DEF PROCdragicon(mousex%,mousey%,handle%,icon%)
 4220LOCAL bx%,by%,ix0%,iy0%,ix1%,iy1%
 4230PROCgetw(handle%)
 4240PROCgeti(handle%,icon%)
 4250!q%=handle%:q%!4=5
 4260q%!8=bx%+ix0%:q%!12=by%+iy0%:q%!16=bx%+ix1%:q%!20=by%+iy1%
 4270q%!24=q%!8-mousex%:q%!28=q%!12-mousey%
 4280SYS "Wimp_DragBox",,q%
 4290SFLAG%=TRUE
 4300ENDPROC
 4310
 4320DEF PROCgetw(handle%)
 4330!q%=handle%:SYS "Wimp_GetWindowState",,q%:PROCinfo(q%+4)
 4340ENDPROC
 4350DEF PROCgeti(h%,i%)
 4360!q%=h%:q%!4=i%:SYS "Wimp_GetIconState",,q%
 4370ix0%=q%!8:iy0%=q%!12:ix1%=q%!16:iy1%=q%!20
 4380iflags%=q%!24:idata%=q%+28
 4390ENDPROC
 4400
 4410DEF PROCinfo(p%)
 4420LOCAL x0%,y0%
 4430x0%=!p%:y0%=p%!4:x1%=p%!8:y1%=p%!12
 4440scx%=p%!16:scy%=p%!20:bhandle%=p%!24:flags%=p%!28
 4450bx%=x0%-scx%:by%=y1%-scy%
 4460ENDPROC
 4470
 4480DEF PROC_KeyPress
 4490LOCAL A%,K%,i%
 4500i%=q%!4
 4510K%=q%!24
 4520IF K%=13 THEN
 4530IF q%!0=pallW% THEN
 4540  IF i%=22 THEN PROC_upS(0,i%)
 4550  IF i%=23 THEN PROC_upS(2,i%)
 4560ENDIF
 4570IF q%!0=saveW% THEN i%=2:PROC_GetName:PROC_SaveSettings(2)
 4580
 4590ELSE
 4600SYS"Wimp_ProcessKey",K%
 4610ENDIF
 4620ENDPROC
 4630
 4640DEF PROC_upS(N%,I%)
 4650LOCAL A%,V%,S%
 4660S%=N%*7
 4670V%=VAL($SPoint%(I%))
 4680FOR A%=0 TO 6
 4690Slider%(A%,N%)=Current%(A%,V%,wSide%)
 4700SYS"Wimp_ForceRedraw",pallW%,IX%(S%+A%),IY%(S%+A%),IX1%(S%+A%),IY1%(S%+A%)
 4710NEXT
 4720ENDPROC
 4730
 4740DEF PROC_sput(x%,X$)
 4750LOCAL A%
 4760FOR A%=1 TO LEN(X$)
 4770?x%=ASC(MID$(X$,A%,1))
 4780x%+=1
 4790NEXT
 4800?x%=0
 4810ENDPROC
 4820
 4830DEF PROCupall
 4840LOCAL A%
 4850FOR A%=0 TO 20
 4860SYS"Wimp_ForceRedraw",pallW%,IX%(A%),IY%(A%),IX1%(A%),IY1%(A%)
 4870NEXT
 4880FOR A%=0 TO 6
 4890PROCupVol(A%,0)
 4900PROCupVol(A%,1)
 4910NEXT
 4920ENDPROC
 4930
 4940DEF PROCflat(B%)
 4950LOCAL A%
 4960FOR A%=0 TO 6
 4970Slider%(A%,B%)=13
 4980NEXT
 4990ENDPROC
 5000
 5010REM Drag Slider
 5020DEF PROCdragSlide
 5030LOCAL S%,T%,V%
 5040   IF DragOn%>13 THEN S%=2:V%=1 ELSE S%=0:V%=0
 5050   Slider%(DragOn%-7*S%,S%)=(Y%-86-yo%)/8
 5060   IF Slider%(DragOn%-7*S%,S%)>25 THEN Slider%(DragOn%-7*S%,S%)=25
 5070   IF Slider%(DragOn%-7*S%,S%)<1 THEN Slider%(DragOn%-7*S%,S%)=1
 5080   PROCupVol(DragOn%-7*S%,V%)
 5090q%!0=pallW%:q%!4=IX%(DragOn%):q%!8=IY%(DragOn%):q%!12=IX1%(DragOn%):q%!16=IY1%(DragOn%)
 5100
 5110  SYS"Wimp_UpdateWindow",,q% TO More%
 5120 WHILE More%
 5130PROCdSlide(DragOn%-7*S%,S%)
 5140
 5150  SYS"Wimp_GetRectangle",,q% TO More%
 5160 ENDWHILE
 5170   XL%=X%:YL%=Y%
 5180ENDPROC
 5190
 5200DEF PROC_SaveSettings(i%)
 5210LOCAL A%,B%
 5220IF i%=0 THEN
 5230            SYS "Wimp_GetPointerInfo",,q%
 5240            PROCdragicon(q%!0,q%!4,saveW%,i%)
 5250 ENDIF
 5260 IF i%=2 THEN
 5270  IF INSTR(fn$,":") THEN PROC_Save(fn$) ELSE PROC_setupW("Drag the Icon into a Directory"+fn$)
 5280  SYS "Wimp_CreateMenu",,-1
 5290 ENDIF
 5300ENDPROC
 5310
 5320DEF PROC_Save(f$)
 5330LOCAL A%,B%,S%
 5340F%=OPENOUT(f$)
 5350IF F%=0 THEN PROC_setupW("Can't open settings file") GOTO 5440
 5360FOR S%=0 TO 1
 5370FOR A%=0 TO 6
 5380FOR B%=0 TO 255
 5390PRINT#F%,Current%(A%,B%,S%)
 5400NEXT:NEXT:NEXT
 5410CLOSE#F%
 5420OSCLI("SETTYPE "+f$+" 048")
 5430IF secureF%<>-1 THEN PROC_PutName(fn$)
 5440ENDPROC
 5450
 5460DEF PROCinterpolate(F%,T%)
 5470LOCAL A%,B%,I,C%
 5480FOR B%=0 TO 6
 5490I=(Slider%(B%,0)-Slider%(B%,2))/(T%-F%)
 5500C%=0
 5510FOR A%=F% TO T%
 5520Current%(B%,A%,wSide%)=Slider%(B%,0)-(I*C%)
 5530C%+=1
 5540NEXT:NEXT
 5550PROCupOview
 5560ENDPROC
 5570
 5580DEF PROCinitSlide
 5590LOCAL F%,A%,B%
 5600REM Initilise printer port
 5610REM See if we need to load in module to have SYS parallel
 5620REM commands with a single direction port
 5630SYS"OS_ReadSysInfo",2 TO ,F%
 5640IF (F% AND 1)=0 THEN
 5650OSCLI("*RMLOAD <WahWah$Dir>.Mono_D")
 5660ENDIF
 5670REM Make Port Outputs
 5680SYS"Parallel_Op",2,0,&DF
 5690REM Put 1s on all lines
 5700SYS"Parallel_Op",1,&FF
 5710
 5720FOR S%=0 TO 1
 5730FOR B%=0 TO 6
 5740LastS%(B%,S%)=-1
 5750NEXT:NEXT
 5760FOR B%=0 TO 1
 5770FOR A%=0 TO 6
 5780Slider%(A%,B%)=1
 5790NEXT:NEXT
 5800PROCloadset
 5810FOR A%=0 TO 26
 5820READ Gain%(A%)
 5830NEXT
 5840DATA &2F,&2F,&2D,&29,&01,&16,&2A,&12,&02,&04,&08,&10,&20
 5850DATA 0,&60,&50,&48,&44,&42,&52,&6A,&56,&41,&69,&6D,&6F,&6F
 5860FOR B%=0 TO 1
 5870FOR A%=0 TO 6
 5880PROCupVol(A%,B%)
 5890NEXT:NEXT
 5900ENDPROC
 5910
 5920DEF PROCloadset
 5930LOCAL A%,B%,S%
 5940PROC_load("<WahWah$Dir>.Settings")
 5950ENDPROC
 5960
 5970DEF PROC_load(f$)
 5980F%=OPENIN(f$)
 5990IF F%=0 THEN PROC_setupW("Can't open settings file") : GOTO 6080
 6000FOR S%=0 TO 1
 6010FOR A%=0 TO 6
 6020FOR B%=0 TO 255
 6030INPUT#F%,Current%(A%,B%,S%)
 6040NEXT:NEXT:NEXT
 6050CLOSE#F%
 6060PROCt1(0)
 6070PROCt2(255)
 6080ENDPROC
 6090
 6100DEF PROCupVol(C%,S%)
 6110LOCAL A%,B%,D%
 6120D%=C%+1+S%*7
 6130A%=D% OR &80
 6140PROCsend(A%)
 6150PROCsend(Gain%(Current%(C%,Ped%,S%)))
 6160ENDPROC
 6170
 6180DEF PROCsend(s%)
 6190LOCAL A%,B%
 6200FOR B%=0 TO 7
 6210A%=((s% AND 1)<<4) OR &4F
 6220SYS"Parallel_Op",1,A%
 6230A%=A% OR &20
 6240SYS"Parallel_Op",1,A%
 6250s%=s%>>1
 6260NEXT
 6270SYS"Parallel_Op",1,&BF
 6280SYS"Parallel_Op",1,&FF
 6290ENDPROC
 6300
 6310DEF PROC_GetName
 6320LOCAL T%,A%,F$
 6330F$="":fn$=""
 6340q%!0=saveW%:q%!4=1
 6350SYS "Wimp_GetIconState",,q%
 6360T%=q%!28
 6370T%-=1
 6380REPEAT
 6390T%+=1
 6400F$=F$+CHR$(?T%)
 6410UNTIL ?T%=0
 6420fn$=MID$(F$,1,LEN(F$)-1)
 6430ENDPROC
 6440
 6450DEF PROC_PutName(p$)
 6460LOCAL T%
 6470q%!0=saveW%:q%!4=1
 6480SYS "Wimp_GetIconState",,q%
 6490T%=q%!28
 6500$T%=p$
 6510!(T%+LEN(p$))=0
 6520ENDPROC
 6530
 6540DEF PROCinv
 6550LOCAL ss%,ds%,A%,B%
 6560ss%=1:ds%=0
 6570IF wSide%<>1 THEN ss%=0:ds%=1
 6580FOR A%=0 TO 6
 6590FOR B%=0 TO 255
 6600Current%(A%,B%,ds%)=26-Current%(A%,B%,ss%)
 6610NEXT:NEXT
 6620ENDPROC
 6630
 6640DEF PROCrev
 6650LOCAL ss%,ds%,A%,B%
 6660ss%=1:ds%=0
 6670IF wSide%<>1 THEN ss%=0:ds%=1
 6680FOR A%=0 TO 6
 6690FOR B%=0 TO 255
 6700Current%(A%,B%,ds%)=Current%(A%,255-B%,ss%)
 6710NEXT:NEXT
 6720ENDPROC
 6730
 6740DEF PROCsame
 6750LOCAL ss%,ds%,A%,B%
 6760ss%=1:ds%=0
 6770IF wSide%<>1 THEN ss%=0:ds%=1
 6780FOR A%=0 TO 6
 6790FOR B%=0 TO 255
 6800Current%(A%,B%,ds%)=Current%(A%,B%,ss%)
 6810NEXT:NEXT
 6820ENDPROC
 6830
 6840DEF PROCdBox(n%,s%)
 6850LOCAL A%,X%,Y%,p%
 6860Y%=yo%-21-(s%*42)
 6870X%=xo%+112+(136*n%)
 6880FOR A%=0 TO 127 STEP 2
 6890LINE X%+A%,Y%,X%+A%,Y%+Current%(n%,A%*2,s%)
 6900NEXT
 6910ENDPROC
 6920
 6930DEF PROCupOview
 6940LOCAL A%
 6950FOR A%=30 TO 43
 6960SYS"Wimp_ForceRedraw",pallW%,IX%(A%),IY%(A%),IX1%(A%),IY1%(A%)
 6970NEXT
 6980ENDPROC
 6990
 7000DEF PROCt1(p%)
 7010LOCAL A%
 7020$SPoint%(22)=STR$(p%)
 7030SYS"Wimp_ForceRedraw",pallW%,IX%(22),IY%(22),IX1%(22),IY1%(22)
 7040FOR A%=0 TO 6
 7050Slider%(A%,0)=Current%(A%,p%,wSide%)
 7060SYS"Wimp_ForceRedraw",pallW%,IX%(A%),IY%(A%),IX1%(A%),IY1%(A%)
 7070NEXT
 7080ENDPROC
 7090
 7100DEF PROCt2(p%)
 7110LOCAL A%
 7120$SPoint%(23)=STR$(p%)
 7130SYS"Wimp_ForceRedraw",pallW%,IX%(23),IY%(23),IX1%(23),IY1%(23)
 7140FOR A%=0 TO 6
 7150Slider%(A%,2)=Current%(A%,p%,wSide%)
 7160SYS"Wimp_ForceRedraw",pallW%,IX%(A%+14),IY%(A%+14),IX1%(A%+14),IY1%(A%+14)
 7170NEXT
 7180ENDPROC
 7190
 7200DEF PROCt3
 7210LOCAL A%
 7220$SPoint%(23)=$SPoint%(22)
 7230SYS"Wimp_ForceRedraw",pallW%,IX%(23),IY%(23),IX1%(23),IY1%(23)
 7240FOR A%=0 TO 6
 7250Slider%(A%,2)=Slider%(A%,0)
 7260SYS"Wimp_ForceRedraw",pallW%,IX%(A%+14),IY%(A%+14),IX1%(A%+14),IY1%(A%+14)
 7270NEXT
 7280ENDPROC
 7290
 7300DEF PROCt4
 7310LOCAL A%
 7320$SPoint%(22)=$SPoint%(23)
 7330SYS"Wimp_ForceRedraw",pallW%,IX%(22),IY%(22),IX1%(22),IY1%(22)
 7340FOR A%=0 TO 6
 7350Slider%(A%,0)=Slider%(A%,2)
 7360SYS"Wimp_ForceRedraw",pallW%,IX%(A%),IY%(A%),IX1%(A%),IY1%(A%)
 7370NEXT
 7380ENDPROC
 7390

�>!WahWah.RunWah
� � �errorbox

(� taskid%4:$taskid%="TASK"
2� intmess% 200
<Nintmess%!0=2:intmess%!4=3:intmess%!8=4:intmess%!12=&400C1:intmess%!16=&502
Fintmess%!20=0
P&� Pt% 24,invmenu% 100,defmenu% 100
ZNș "Wimp_Initialise",300,!taskid%,"SuperWah",intmess% � version%,taskhand%
d
nN� q% &300,qc% 80, W% &1000,temp% 256,buffers% 512,menu% 256,SW% 512,cb% 18
xK� IsName% 256, Wmenu% 512,Smenu% 256,Imenu% 256, TextWarn% 100, ww% 256
�(� Pl% 255,Pr% 255,PBK% 8,IsName% 256
�NoI%=43
�=� SPoint%(NoI%),IX%(NoI%),IY%(NoI%),IX1%(NoI%),IY1%(NoI%)
�:� Slider%(6,2),Gain%(26),Current%(6,255,1),LastS%(6,1)
�� PBK% 5, PBS% 4
�
�4ș "Wimp_OpenTemplate",,"<WahWah$Dir>.Templates"
�)� � ș "Wimp_CloseTemplate":�errorbox
�
�:ș "Wimp_LoadTemplate",,q%,temp%,temp%+256,-1,"Info",0
�&ș "Wimp_CreateWindow",,q% � info%
�
�Eș "Wimp_LoadTemplate",,q%,IsName%,IsName%+256,-1,"save_script",0
'ș "Wimp_CreateWindow",,q% � saveW%


"<ș "Wimp_LoadTemplate",,W%+4,SW%,SW%+512,-1,"Pallette",0
,W%!28=-1
6� A%=0 � NoI%
@#SPoint%(A%)=!(W%+4+88+20+32*A%)
J7IX%(A%)=!(W%+4+88+32*A%):IY%(A%)=!(W%+4+88+4+32*A%)
T<IX1%(A%)=!(W%+4+88+8+32*A%):IY1%(A%)=!(W%+4+88+12+32*A%)
^,� A%>29 � A%<44 � IX%(A%)-=2:IX1%(A%)+=2
h�
r
|)ș "Wimp_CreateWindow",,W%+4 � pallW%
�W%!0=pallW%
�
�9ș "Wimp_LoadTemplate",,q%,ww%,ww%+256,-1,"Warning",0
�)q%!108=TextWarn%:q%!112=-1:q%!116=300
� XQ%=q%!8-q%!0:YQ%=q%!12-q%!4
�*ș "Wimp_CreateWindow",,q% � warningW%
�ș "Wimp_CloseTemplate"
�
ref%=0
�cpL%=0:cpR%=0
�smpicon%=�icon
�wopen%=�:warnOn%=�
�� � �errorbox
�DragOn%=-1:XL%=0:YL%=0
secureF%=0:Lock%=�:Oview%=�
!Ped%=127:secureF%=-1:wSide%=0
�setupmenu
&�initSlide
0�_PutName("Effect")
:?PBS%=&0
D!� Set up the control register
N ș "XIIC_Control",&90,PBS%,1
X
b�
l ș "Wimp_Poll",0,q% � A%
v
  Ȏ A% �
�   � 0:�null
�   � 1:�_doWindow
�=   � 2:ș "Wimp_OpenWindow",,q% :� q%!0=pallW% � wopen%=�
�   � 3:�_close
�   � 6:�_do_click(q%)
�   � 7:�_PutDown(q%)
�   � 8:�_KeyPress
�   � 9:�_SORT_Menu
�   � 17,18:�receive(q%)
�   �
� � �
�
��

� �null
� A%,F%,T%,S%,D%
 D%=�
*ȗ X%,Y%,mouseB%
4� DragOn%<>-1 �
>� mouseB%=4 �
H4� DragOn%<>-1 � (XL%<>X% � YL%<>Y%) � �dragSlide
R�
\-� DragOn%>13 � S%=DragOn% � S%=DragOn%-14
f)F%=�($SPoint%(22)):T%=�($SPoint%(23))
pf� T%>255 � T%=255:$SPoint%(23)="255":ș"Wimp_ForceRedraw",pallW%,IX%(23),IY%(23),IX1%(23),IY1%(23)
zf� F%>255 � F%=255:$SPoint%(22)="255":ș"Wimp_ForceRedraw",pallW%,IX%(22),IY%(22),IX1%(22),IY1%(22)
�� F%>T% � Ȕ T%,F%
�"� F%<>T% � �interpolate(F%,T%)
�Ped%=-1
�DragOn%=-1
�D%=�
��
��
�Oview%=�
�#� Read the peddel value into A%
� ș "XIIC_Control",&91,PBK%,1
�
A%=PBK%?0
�� A%<>Ped% �
�Ped%=A%
$SPoint%(21)=�(Ped%)
Aș"Wimp_ForceRedraw",pallW%,IX%(21),IY%(21),IX1%(21),IY1%(21)
Oview%=D%:�upNew
$�
.�
8
B� �upNew
L� A%,S%
V� S%=0 � 1
`� A%=0 � 6
j4� S%=wSide% � Slider%(A%,1)=Current%(A%,Ped%,S%)
t�� Current%(A%,Ped%,S%)<>LastS%(A%,S%) � ș"Wimp_ForceRedraw",pallW%,IX%(A%+7),IY%(A%+7),IX1%(A%+7),IY1%(A%+7):LastS%(A%,S%)=Current%(A%,Ped%,S%):�upVol(A%,S%)
~�:�
�
��
�
�� �_PutDown(q%)
�� sDragOn% �
�
�_GetName
� ș "Wimp_GetPointerInfo",,q%
�5messh%=q%!12:messi%=q%!16:messx%=q%!0:messy%=q%!4
�#� � fn$,":") � fn$=�_spath(fn$)
�$(q%+44)=fn$
�?(q%+44+�(fn$))=0
�;q%!20=q%!12:q%!28=q%!0:q%!32=q%!4:q%!36=1024:q%!40=&048
q%!0=56:q%!12=0:q%!16=1

-ș "Wimp_SendMessage",17,q%,messh%,messi%
saveref%=q%!8
ș "Wimp_CreateMenu",,-1
(sDragOn%=�
2�
<�
F
P� �_spath(n$)
Zȕ �n$,".")
dn$=�n$,�(n$)-1)
n�
x� �(n$)>10 � n$=�n$,10)
�=n$
�
�� �_SORT_Menu
�� I%
�
I%=!q%
�Ȏ I% �
�"� 2: �loadset:�upSide:�upOview
�� 3: �same:�upOview
�� 4: �inv:�upOview
�� 5: �rev:�upOview
�-� 6: �_Save("<WahWah$Dir>.Settings"):�die
��
�ș"Wimp_GetPointerInfo",,q%
�


� �_close
"A� q%!0=pallW% � wopen%=�:GotBar%=�:ș"Wimp_GetWindowInfo",,W%
, � q%!0=warningW% � warnOn%=�
6ș "Wimp_CloseWindow",,q%
@�
J
T� �_do_click(q%)
^� X%,Y%,C%,T%
hi%=q%!16
rȎ q%!12 �
|(� warningW%: q%!0=warningW% :�_close
�7�    saveW%: � i%=0 � sDragOn%=�: �_SaveSettings(0)
�9                � i%=2 � �_GetName: �_SaveSettings(2)
�
�(� -2: � Look first at Icon Bar Click
�        � q%!16=smpicon% �
�J        � q%!8=2 � IconMenu%=�: ș"Wimp_CreateMenu",,menu%,q%!0-94,376
�!        � q%!8=4 � �_OpenWhat
�
        �
�
�� pallW%:  
�'              � q%!8=4 � �_MonClick
�P              � q%!8=2 � IconMenu%=�:ș"Wimp_CreateMenu",,menu%,q%!0-94,q%!4
��
�

� �_MonClick
&� D%,V%,B%
0&� Do the action for a window click
:�_Trans(pallW%)
D� i%<7 � (i%>13 � i%<21) �
N DragOn%=i%:XL%=-1:YL%=-1
X�
bȎ i% �
l@� 24 : wSide%=1:$SPoint%(24)="yes":$SPoint%(25)="no":�upSide
v@� 25 : wSide%=0:$SPoint%(24)="no":$SPoint%(25)="yes":�upSide
�� 26 : �t1(Ped%)
�� 27 : �t2(Ped%)
�� 28 : �t3
�� 29 : �t4
��
��
�
�
� �upSide
�� A%
�Aș"Wimp_ForceRedraw",pallW%,IX%(24),IY%(24),IX1%(24),IY1%(24)
�Aș"Wimp_ForceRedraw",pallW%,IX%(25),IY%(25),IX1%(25),IY1%(25)
��t1(�($SPoint%(22)))
��t2(�($SPoint%(23)))
� A%=0 � 6
*Slider%(A%,1)=Current%(A%,Ped%,wSide%)
Iș"Wimp_ForceRedraw",pallW%,IX%(A%+7),IY%(A%+7),IX1%(A%+7),IY1%(A%+7)
 �
*�
4
>� �_OpenWhat
H� Ncol%
R� �(warnOn%) �
\,  ș"OS_ReadModeVariable",-1,3 � ,,Ncol%
f  �_Open
p�
z�
�
�� �_Open
�� OPEN UP WINDOW HERE
�� wopen% �
�q%!0=pallW%
�ș"Wimp_GetWindowState",,q%
�6  � q%!28<>-1 � q%!28=-1: ș "Wimp_OpenWindow",,q%
��
�ș "Wimp_OpenWindow",,W%
�wopen%=�
��
��
�
	� �_doWindow
	  � A%,I%,L%
	 � q%!0=pallW% �
	$   �_Trans(pallW%)
	.)   ș "Wimp_RedrawWindow",,q% � flag%
	8     ȕ flag%
	B
	L� Draw window here
	V� I%=0 � 2
	` � A%=0 � 6
	j  �dSlide(A%,I%)
	t �:�
	~ � Oview% �
	� ș"Wimp_SetColour",13
	� � I%=0 � 1
	�� A%=0 � 6
	� �dBox(A%,I%)
	��
	�ș"Wimp_SetColour",8
	��
	��
	�+     ș "Wimp_GetRectangle",,q% � flag%
	�
     �
	�   �
	�
  �

  
� �dSlide(S%,P%)
� A%,X%
(X%=xo%+36+S%*42+P%*374
2ș"Wimp_SetColour",1
<ȓȐ X%,yo%+94,8,208
Fș"Wimp_SetColour",11
PA%=Slider%(S%,P%)*8
Z ȓȐ X%,yo%+86+12+A%,8,-A%+4
d�
n
x� �_Trans(wh%)
�!q%=wh%
� ș "Wimp_GetWindowState",,q%
�(xo%=q%!4-q%!20+8:yo%=q%!16-q%!24-354
�XO%=q%!4:YO%=q%!16
��
�
���setupmenu
�� m%
�
�$menu%="Equaliser"
�menu%?12=7
�menu%?13=2
�menu%?14=7
menu%?15=0
menu%!16=128
menu%!20=40
"menu%!24=0
,m%=menu%+28
6
m%!0=0
@m%!4=info%
Jm%!8=(7<<24)� %10001
T$(m%+12)="Info"
^
h
m%+=24
r
m%!0=0
|m%!4=saveW%
�m%!8=(7<<24)� %10001
�$(m%+12)="Save"
�
�
m%+=24
�
m%!0=0
�
m%!4=0
�m%!8=(7<<24)� %10001
�$(m%+12)="Restore"
�
�
m%+=24
�
m%!0=0
�
m%!4=0
�m%!8=(7<<24)� %10001
$(m%+12)="Ch Same"


m%+=24
&
m%!0=0
0
m%!4=0
:m%!8=(7<<24)� %10001
D$(m%+12)="Ch Invert"
N
X
m%+=24
b
m%!0=0
l
m%!4=0
vm%!8=(7<<24)� %10001
�$(m%+12)="Ch Reverse"
�
�
m%+=24
�m%!0=&80
�
m%!4=0
�m%!8=(7<<24)� %10001
�$(m%+12)="Quit"
�
��
�
�� �receive(q%)
�� A%
�A%=q%!16

Ȏ A% �

� 0:�die



 � 2:� q%!12=saveref% � 

*          secureF%=q%!36

40          fn$=�sget(q%+44):�_SaveSettings(2)

>8          q%!12=saveref%:q%!16=3:q%!0=256:q%!40=&048

HA          q%!20=messh%:q%!24=messi%:q%!28=messx%:q%!32=messy%

R7          ș "Wimp_SendMessage",17,q%,messh%,messi%

\          �

f

p1� 3:� (q%!20=-2 � q%!20=pallW%) � q%!40=&48 �

z$       � load in defination file

�        n$=�sget(q%+44)

�        �_Dack

�        �_load(n$)

�        ref%=0

�        �upNew:�upOview

�        �_PutName(n$)

�       �

�       

�

�� &502:   Ȏ � �

�o             � q%!32=-2 � q%!36=smpicon%:mes$="This is the Super Wah Wah icon.|MAudio effects application."

�             :mes$=""

�             �
    � mes$<>"" �
    q%!12=q%!8
    $(q%+20)=mes$+�0
$    q%!0=(20+�mes$+4)� � 3
.    q%!16=&503
8(    ș "Wimp_SendMessage",18,q%,q%!4
B�
L�
V
`� �_Dack
jsendth%=q%!4
tmyref%=q%!8
~"ș "Wimp_GetPointerInfo",,q%+8
�q%!28=q%!8
�q%!32=q%!12
�q%!0=(44+�n$+4)� � 3
�q%!12=myref%
�q%!16=4
�q%!36=-1
�q%!40=&FF9
�$(q%+44)=n$+�0
�'ș "Wimp_SendMessage",17,q%,sendth%
��
��
�
ݤsget(x%)

� x$
ȕ ?x% x$+=�(?x%):x%+=1:�
=x$
(
2
ݤicon
<q%!0=-1
F
q%!4=0
Pq%!8=10 : � Y DIRECTION
Zq%!12=70 : � X DIRECTION
dq%!16=96
nq%!20=&2002
x$(q%+24)="!SuperWah"
�$ș "Wimp_CreateIcon",,q% � icon%
�
=icon%
�
�� �_setupW(t$)
�X!q%=warningW%:q%!4=200:q%!8=200:q%!12=200+XQ%:q%!16=200+YQ%:q%!20=0:q%!24=0:q%!28=-1
�$TextWarn%=t$
�TextWarn%?�(t$)=0
�� 7
�
warnOn%=�
�ș "Wimp_OpenWindow",,q%
��
�
�� �errorbox
ș "Wimp_DragBox",,-1
2!buffers%=�:$(buffers%+4)=�$+" at line "+Þ+�0
4ș "Wimp_ReportError",buffers%,1,"Super Wah Wah"
"�die
,�
6
@	��die
J*ș "Wimp_CloseDown",taskhand%,!taskid%
T�
^�
h
r.� �dragicon(mousex%,mousey%,handle%,icon%)
|!� bx%,by%,ix0%,iy0%,ix1%,iy1%
��getw(handle%)
��geti(handle%,icon%)
�!q%=handle%:q%!4=5
�>q%!8=bx%+ix0%:q%!12=by%+iy0%:q%!16=bx%+ix1%:q%!20=by%+iy1%
�*q%!24=q%!8-mousex%:q%!28=q%!12-mousey%
�ș "Wimp_DragBox",,q%
�SFLAG%=�
��
�
�� �getw(handle%)
�8!q%=handle%:ș "Wimp_GetWindowState",,q%:�info(q%+4)
��
�� �geti(h%,i%)
-!q%=h%:q%!4=i%:ș "Wimp_GetIconState",,q%
.ix0%=q%!8:iy0%=q%!12:ix1%=q%!16:iy1%=q%!20
iflags%=q%!24:idata%=q%+28
&�
0
:� �info(p%)
D
� x0%,y0%
N'x0%=!p%:y0%=p%!4:x1%=p%!8:y1%=p%!12
X5scx%=p%!16:scy%=p%!20:bhandle%=p%!24:flags%=p%!28
bbx%=x0%-scx%:by%=y1%-scy%
l�
v
�� �_KeyPress
�� A%,K%,i%
�i%=q%!4
�K%=q%!24
�
� K%=13 �
�� q%!0=pallW% �
�  � i%=22 � �_upS(0,i%)
�  � i%=23 � �_upS(2,i%)
��
�4� q%!0=saveW% � i%=2:�_GetName:�_SaveSettings(2)
�
��
�ș"Wimp_ProcessKey",K%
�
�

 � �_upS(N%,I%)
*� A%,V%,S%
4S%=N%*7
>V%=�($SPoint%(I%))
H� A%=0 � 6
R)Slider%(A%,N%)=Current%(A%,V%,wSide%)
\Mș"Wimp_ForceRedraw",pallW%,IX%(S%+A%),IY%(S%+A%),IX1%(S%+A%),IY1%(S%+A%)
f�
p�
z
�� �_sput(x%,X$)
�� A%
�� A%=1 � �(X$)
�?x%=�(�X$,A%,1))
�	x%+=1
��
�	?x%=0
��
�
�� �upall
�� A%
�� A%=0 � 20
�Aș"Wimp_ForceRedraw",pallW%,IX%(A%),IY%(A%),IX1%(A%),IY1%(A%)
�
� A%=0 � 6
�upVol(A%,0)
$�upVol(A%,1)
.�
8�
B
L� �flat(B%)
V� A%
`� A%=0 � 6
jSlider%(A%,B%)=13
t�
~�
�
�� Drag Slider
�� �dragSlide
�� S%,T%,V%
�+   � DragOn%>13 � S%=2:V%=1 � S%=0:V%=0
�-   Slider%(DragOn%-7*S%,S%)=(Y%-86-yo%)/8
�B   � Slider%(DragOn%-7*S%,S%)>25 � Slider%(DragOn%-7*S%,S%)=25
�@   � Slider%(DragOn%-7*S%,S%)<1 � Slider%(DragOn%-7*S%,S%)=1
�   �upVol(DragOn%-7*S%,V%)
�[q%!0=pallW%:q%!4=IX%(DragOn%):q%!8=IY%(DragOn%):q%!12=IX1%(DragOn%):q%!16=IY1%(DragOn%)
�
�'  ș"Wimp_UpdateWindow",,q% � More%

 ȕ More%

�dSlide(DragOn%-7*S%,S%)

'  ș"Wimp_GetRectangle",,q% � More%
( �
2   XL%=X%:YL%=Y%
<�
F
P� �_SaveSettings(i%)
Z� A%,B%
d� i%=0 �
n,            ș "Wimp_GetPointerInfo",,q%
x.            �dragicon(q%!0,q%!4,saveW%,i%)
� �
�
 � i%=2 �
�P  � �fn$,":") � �_Save(fn$) � �_setupW("Drag the Icon into a Directory"+fn$)
�  ș "Wimp_CreateMenu",,-1
� �
��
�
�� �_Save(f$)
�� A%,B%,S%
�F%=�(f$)
�8� F%=0 � �_setupW("Can't open settings file") � �D@U
�� S%=0 � 1
�� A%=0 � 6
� B%=0 � 255
�#F%,Current%(A%,B%,S%)
	�:�:�
"�#F%
,�("SETTYPE "+f$+" 048")
6#� secureF%<>-1 � �_PutName(fn$)
@�
J
T� �interpolate(F%,T%)
^� A%,B%,I,C%
h� B%=0 � 6
r+I=(Slider%(B%,0)-Slider%(B%,2))/(T%-F%)
|C%=0
�� A%=F% � T%
�/Current%(B%,A%,wSide%)=Slider%(B%,0)-(I*C%)
�	C%+=1
��:�
��upOview
��
�
�� �initSlide
�� F%,A%,B%
�� Initilise printer port
�;� See if we need to load in module to have SYS parallel
�+� commands with a single direction port
�ș"OS_ReadSysInfo",2 � ,F%
� (F% � 1)=0 �
$�("*RMLOAD <WahWah$Dir>.Mono_D")
�
&� Make Port Outputs
0ș"Parallel_Op",2,0,&DF
:� Put 1s on all lines
Dș"Parallel_Op",1,&FF
N
X� S%=0 � 1
b� B%=0 � 6
lLastS%(B%,S%)=-1
v�:�
�� B%=0 � 1
�� A%=0 � 6
�Slider%(A%,B%)=1
��:�
��loadset
�� A%=0 � 26
�� Gain%(A%)
��
�9� &2F,&2F,&2D,&29,&01,&16,&2A,&12,&02,&04,&08,&10,&20
�;� 0,&60,&50,&48,&44,&42,&52,&6A,&56,&41,&69,&6D,&6F,&6F
�� B%=0 � 1
�� A%=0 � 6
��upVol(A%,B%)
�:�
�

 � �loadset
*� A%,B%,S%
4#�_load("<WahWah$Dir>.Settings")
>�
H
R� �_load(f$)
\F%=�(f$)
f:� F%=0 � �_setupW("Can't open settings file") : � �d@W
p� S%=0 � 1
z� A%=0 � 6
�� B%=0 � 255
��#F%,Current%(A%,B%,S%)
�	�:�:�
��#F%
�
�t1(0)
��t2(255)
��
�
�� �upVol(C%,S%)
�� A%,B%,D%
�D%=C%+1+S%*7
�A%=D% � &80
�
�send(A%)
&�send(Gain%(Current%(C%,Ped%,S%)))
�

$� �send(s%)
.� A%,B%
8� B%=0 � 7
BA%=((s% � 1)<<4) � &4F
Lș"Parallel_Op",1,A%
VA%=A% � &20
`ș"Parallel_Op",1,A%
js%=s%>>1
t�
~ș"Parallel_Op",1,&BF
�ș"Parallel_Op",1,&FF
��
�
�� �_GetName
�� T%,A%,F$
�F$="":fn$=""
�q%!0=saveW%:q%!4=1
�ș "Wimp_GetIconState",,q%
�T%=q%!28
�	T%-=1
��
�	T%+=1
F$=F$+�(?T%)

� ?T%=0
fn$=�F$,1,�(F$)-1)
�
(
2� �_PutName(p$)
<� T%
Fq%!0=saveW%:q%!4=1
Pș "Wimp_GetIconState",,q%
ZT%=q%!28
d
$T%=p$
n!(T%+�(p$))=0
x�
�
�
� �inv
�� ss%,ds%,A%,B%
�ss%=1:ds%=0
�� wSide%<>1 � ss%=0:ds%=1
�� A%=0 � 6
�� B%=0 � 255
�.Current%(A%,B%,ds%)=26-Current%(A%,B%,ss%)
��:�
��
�
�
� �rev
�� ss%,ds%,A%,B%
ss%=1:ds%=0
� wSide%<>1 � ss%=0:ds%=1
� A%=0 � 6
"� B%=0 � 255
,/Current%(A%,B%,ds%)=Current%(A%,255-B%,ss%)
6�:�
@�
J
T� �same
^� ss%,ds%,A%,B%
hss%=1:ds%=0
r� wSide%<>1 � ss%=0:ds%=1
|� A%=0 � 6
�� B%=0 � 255
�+Current%(A%,B%,ds%)=Current%(A%,B%,ss%)
��:�
��
�
�� �dBox(n%,s%)
�� A%,X%,Y%,p%
�Y%=yo%-21-(s%*42)
�X%=xo%+112+(136*n%)
�� A%=0 � 127 � 2
�,� X%+A%,Y%,X%+A%,Y%+Current%(n%,A%*2,s%)
��
��

� �upOview
� A%
&� A%=30 � 43
0Aș"Wimp_ForceRedraw",pallW%,IX%(A%),IY%(A%),IX1%(A%),IY1%(A%)
:�
D�
N
X
� �t1(p%)
b� A%
l$SPoint%(22)=�(p%)
vAș"Wimp_ForceRedraw",pallW%,IX%(22),IY%(22),IX1%(22),IY1%(22)
�� A%=0 � 6
�(Slider%(A%,0)=Current%(A%,p%,wSide%)
�Aș"Wimp_ForceRedraw",pallW%,IX%(A%),IY%(A%),IX1%(A%),IY1%(A%)
��
��
�
�
� �t2(p%)
�� A%
�$SPoint%(23)=�(p%)
�Aș"Wimp_ForceRedraw",pallW%,IX%(23),IY%(23),IX1%(23),IY1%(23)
�� A%=0 � 6
�(Slider%(A%,2)=Current%(A%,p%,wSide%)
�Mș"Wimp_ForceRedraw",pallW%,IX%(A%+14),IY%(A%+14),IX1%(A%+14),IY1%(A%+14)
�
�

 	� �t3
*� A%
4$SPoint%(23)=$SPoint%(22)
>Aș"Wimp_ForceRedraw",pallW%,IX%(23),IY%(23),IX1%(23),IY1%(23)
H� A%=0 � 6
RSlider%(A%,2)=Slider%(A%,0)
\Mș"Wimp_ForceRedraw",pallW%,IX%(A%+14),IY%(A%+14),IX1%(A%+14),IY1%(A%+14)
f�
p�
z
�	� �t4
�� A%
�$SPoint%(22)=$SPoint%(23)
�Aș"Wimp_ForceRedraw",pallW%,IX%(22),IY%(22),IX1%(22),IY1%(22)
�� A%=0 � 6
�Slider%(A%,0)=Slider%(A%,2)
�Aș"Wimp_ForceRedraw",pallW%,IX%(A%),IY%(A%),IX1%(A%),IY1%(A%)
��
��
�
�
00000000  0d 00 0a 14 f4 3e 21 57  61 68 57 61 68 2e 52 75  |.....>!WahWah.Ru|
00000010  6e 57 61 68 0d 00 14 11  ee 20 85 20 f2 65 72 72  |nWah..... . .err|
00000020  6f 72 62 6f 78 0d 00 1e  04 0d 00 28 1e de 20 74  |orbox......(.. t|
00000030  61 73 6b 69 64 25 34 3a  24 74 61 73 6b 69 64 25  |askid%4:$taskid%|
00000040  3d 22 54 41 53 4b 22 0d  00 32 12 de 20 69 6e 74  |="TASK"..2.. int|
00000050  6d 65 73 73 25 20 32 30  30 0d 00 3c 4e 69 6e 74  |mess% 200..<Nint|
00000060  6d 65 73 73 25 21 30 3d  32 3a 69 6e 74 6d 65 73  |mess%!0=2:intmes|
00000070  73 25 21 34 3d 33 3a 69  6e 74 6d 65 73 73 25 21  |s%!4=3:intmess%!|
00000080  38 3d 34 3a 69 6e 74 6d  65 73 73 25 21 31 32 3d  |8=4:intmess%!12=|
00000090  26 34 30 30 43 31 3a 69  6e 74 6d 65 73 73 25 21  |&400C1:intmess%!|
000000a0  31 36 3d 26 35 30 32 0d  00 46 11 69 6e 74 6d 65  |16=&502..F.intme|
000000b0  73 73 25 21 32 30 3d 30  0d 00 50 26 de 20 50 74  |ss%!20=0..P&. Pt|
000000c0  25 20 32 34 2c 69 6e 76  6d 65 6e 75 25 20 31 30  |% 24,invmenu% 10|
000000d0  30 2c 64 65 66 6d 65 6e  75 25 20 31 30 30 0d 00  |0,defmenu% 100..|
000000e0  5a 4e c8 99 20 22 57 69  6d 70 5f 49 6e 69 74 69  |ZN.. "Wimp_Initi|
000000f0  61 6c 69 73 65 22 2c 33  30 30 2c 21 74 61 73 6b  |alise",300,!task|
00000100  69 64 25 2c 22 53 75 70  65 72 57 61 68 22 2c 69  |id%,"SuperWah",i|
00000110  6e 74 6d 65 73 73 25 20  b8 20 76 65 72 73 69 6f  |ntmess% . versio|
00000120  6e 25 2c 74 61 73 6b 68  61 6e 64 25 0d 00 64 04  |n%,taskhand%..d.|
00000130  0d 00 6e 4e de 20 71 25  20 26 33 30 30 2c 71 63  |..nN. q% &300,qc|
00000140  25 20 38 30 2c 20 57 25  20 26 31 30 30 30 2c 74  |% 80, W% &1000,t|
00000150  65 6d 70 25 20 32 35 36  2c 62 75 66 66 65 72 73  |emp% 256,buffers|
00000160  25 20 35 31 32 2c 6d 65  6e 75 25 20 32 35 36 2c  |% 512,menu% 256,|
00000170  53 57 25 20 35 31 32 2c  63 62 25 20 31 38 0d 00  |SW% 512,cb% 18..|
00000180  78 4b de 20 49 73 4e 61  6d 65 25 20 32 35 36 2c  |xK. IsName% 256,|
00000190  20 57 6d 65 6e 75 25 20  35 31 32 2c 53 6d 65 6e  | Wmenu% 512,Smen|
000001a0  75 25 20 32 35 36 2c 49  6d 65 6e 75 25 20 32 35  |u% 256,Imenu% 25|
000001b0  36 2c 20 54 65 78 74 57  61 72 6e 25 20 31 30 30  |6, TextWarn% 100|
000001c0  2c 20 77 77 25 20 32 35  36 0d 00 82 28 de 20 50  |, ww% 256...(. P|
000001d0  6c 25 20 32 35 35 2c 50  72 25 20 32 35 35 2c 50  |l% 255,Pr% 255,P|
000001e0  42 4b 25 20 38 2c 49 73  4e 61 6d 65 25 20 32 35  |BK% 8,IsName% 25|
000001f0  36 0d 00 8c 0b 4e 6f 49  25 3d 34 33 0d 00 96 3d  |6....NoI%=43...=|
00000200  de 20 53 50 6f 69 6e 74  25 28 4e 6f 49 25 29 2c  |. SPoint%(NoI%),|
00000210  49 58 25 28 4e 6f 49 25  29 2c 49 59 25 28 4e 6f  |IX%(NoI%),IY%(No|
00000220  49 25 29 2c 49 58 31 25  28 4e 6f 49 25 29 2c 49  |I%),IX1%(NoI%),I|
00000230  59 31 25 28 4e 6f 49 25  29 0d 00 a0 3a de 20 53  |Y1%(NoI%)...:. S|
00000240  6c 69 64 65 72 25 28 36  2c 32 29 2c 47 61 69 6e  |lider%(6,2),Gain|
00000250  25 28 32 36 29 2c 43 75  72 72 65 6e 74 25 28 36  |%(26),Current%(6|
00000260  2c 32 35 35 2c 31 29 2c  4c 61 73 74 53 25 28 36  |,255,1),LastS%(6|
00000270  2c 31 29 0d 00 aa 14 de  20 50 42 4b 25 20 35 2c  |,1)..... PBK% 5,|
00000280  20 50 42 53 25 20 34 0d  00 b4 04 0d 00 be 34 c8  | PBS% 4.......4.|
00000290  99 20 22 57 69 6d 70 5f  4f 70 65 6e 54 65 6d 70  |. "Wimp_OpenTemp|
000002a0  6c 61 74 65 22 2c 2c 22  3c 57 61 68 57 61 68 24  |late",,"<WahWah$|
000002b0  44 69 72 3e 2e 54 65 6d  70 6c 61 74 65 73 22 0d  |Dir>.Templates".|
000002c0  00 c8 29 ee 20 85 20 c8  99 20 22 57 69 6d 70 5f  |..). . .. "Wimp_|
000002d0  43 6c 6f 73 65 54 65 6d  70 6c 61 74 65 22 3a f2  |CloseTemplate":.|
000002e0  65 72 72 6f 72 62 6f 78  0d 00 d2 04 0d 00 dc 3a  |errorbox.......:|
000002f0  c8 99 20 22 57 69 6d 70  5f 4c 6f 61 64 54 65 6d  |.. "Wimp_LoadTem|
00000300  70 6c 61 74 65 22 2c 2c  71 25 2c 74 65 6d 70 25  |plate",,q%,temp%|
00000310  2c 74 65 6d 70 25 2b 32  35 36 2c 2d 31 2c 22 49  |,temp%+256,-1,"I|
00000320  6e 66 6f 22 2c 30 0d 00  e6 26 c8 99 20 22 57 69  |nfo",0...&.. "Wi|
00000330  6d 70 5f 43 72 65 61 74  65 57 69 6e 64 6f 77 22  |mp_CreateWindow"|
00000340  2c 2c 71 25 20 b8 20 69  6e 66 6f 25 0d 00 f0 04  |,,q% . info%....|
00000350  0d 00 fa 45 c8 99 20 22  57 69 6d 70 5f 4c 6f 61  |...E.. "Wimp_Loa|
00000360  64 54 65 6d 70 6c 61 74  65 22 2c 2c 71 25 2c 49  |dTemplate",,q%,I|
00000370  73 4e 61 6d 65 25 2c 49  73 4e 61 6d 65 25 2b 32  |sName%,IsName%+2|
00000380  35 36 2c 2d 31 2c 22 73  61 76 65 5f 73 63 72 69  |56,-1,"save_scri|
00000390  70 74 22 2c 30 0d 01 04  27 c8 99 20 22 57 69 6d  |pt",0...'.. "Wim|
000003a0  70 5f 43 72 65 61 74 65  57 69 6e 64 6f 77 22 2c  |p_CreateWindow",|
000003b0  2c 71 25 20 b8 20 73 61  76 65 57 25 0d 01 0e 04  |,q% . saveW%....|
000003c0  0d 01 18 04 0d 01 22 3c  c8 99 20 22 57 69 6d 70  |......"<.. "Wimp|
000003d0  5f 4c 6f 61 64 54 65 6d  70 6c 61 74 65 22 2c 2c  |_LoadTemplate",,|
000003e0  57 25 2b 34 2c 53 57 25  2c 53 57 25 2b 35 31 32  |W%+4,SW%,SW%+512|
000003f0  2c 2d 31 2c 22 50 61 6c  6c 65 74 74 65 22 2c 30  |,-1,"Pallette",0|
00000400  0d 01 2c 0c 57 25 21 32  38 3d 2d 31 0d 01 36 11  |..,.W%!28=-1..6.|
00000410  e3 20 41 25 3d 30 20 b8  20 4e 6f 49 25 0d 01 40  |. A%=0 . NoI%..@|
00000420  23 53 50 6f 69 6e 74 25  28 41 25 29 3d 21 28 57  |#SPoint%(A%)=!(W|
00000430  25 2b 34 2b 38 38 2b 32  30 2b 33 32 2a 41 25 29  |%+4+88+20+32*A%)|
00000440  0d 01 4a 37 49 58 25 28  41 25 29 3d 21 28 57 25  |..J7IX%(A%)=!(W%|
00000450  2b 34 2b 38 38 2b 33 32  2a 41 25 29 3a 49 59 25  |+4+88+32*A%):IY%|
00000460  28 41 25 29 3d 21 28 57  25 2b 34 2b 38 38 2b 34  |(A%)=!(W%+4+88+4|
00000470  2b 33 32 2a 41 25 29 0d  01 54 3c 49 58 31 25 28  |+32*A%)..T<IX1%(|
00000480  41 25 29 3d 21 28 57 25  2b 34 2b 38 38 2b 38 2b  |A%)=!(W%+4+88+8+|
00000490  33 32 2a 41 25 29 3a 49  59 31 25 28 41 25 29 3d  |32*A%):IY1%(A%)=|
000004a0  21 28 57 25 2b 34 2b 38  38 2b 31 32 2b 33 32 2a  |!(W%+4+88+12+32*|
000004b0  41 25 29 0d 01 5e 2c e7  20 41 25 3e 32 39 20 80  |A%)..^,. A%>29 .|
000004c0  20 41 25 3c 34 34 20 8c  20 49 58 25 28 41 25 29  | A%<44 . IX%(A%)|
000004d0  2d 3d 32 3a 49 58 31 25  28 41 25 29 2b 3d 32 0d  |-=2:IX1%(A%)+=2.|
000004e0  01 68 05 ed 0d 01 72 04  0d 01 7c 29 c8 99 20 22  |.h....r...|).. "|
000004f0  57 69 6d 70 5f 43 72 65  61 74 65 57 69 6e 64 6f  |Wimp_CreateWindo|
00000500  77 22 2c 2c 57 25 2b 34  20 b8 20 70 61 6c 6c 57  |w",,W%+4 . pallW|
00000510  25 0d 01 86 0f 57 25 21  30 3d 70 61 6c 6c 57 25  |%....W%!0=pallW%|
00000520  0d 01 90 04 0d 01 9a 39  c8 99 20 22 57 69 6d 70  |.......9.. "Wimp|
00000530  5f 4c 6f 61 64 54 65 6d  70 6c 61 74 65 22 2c 2c  |_LoadTemplate",,|
00000540  71 25 2c 77 77 25 2c 77  77 25 2b 32 35 36 2c 2d  |q%,ww%,ww%+256,-|
00000550  31 2c 22 57 61 72 6e 69  6e 67 22 2c 30 0d 01 a4  |1,"Warning",0...|
00000560  29 71 25 21 31 30 38 3d  54 65 78 74 57 61 72 6e  |)q%!108=TextWarn|
00000570  25 3a 71 25 21 31 31 32  3d 2d 31 3a 71 25 21 31  |%:q%!112=-1:q%!1|
00000580  31 36 3d 33 30 30 0d 01  ae 20 58 51 25 3d 71 25  |16=300... XQ%=q%|
00000590  21 38 2d 71 25 21 30 3a  59 51 25 3d 71 25 21 31  |!8-q%!0:YQ%=q%!1|
000005a0  32 2d 71 25 21 34 0d 01  b8 2a c8 99 20 22 57 69  |2-q%!4...*.. "Wi|
000005b0  6d 70 5f 43 72 65 61 74  65 57 69 6e 64 6f 77 22  |mp_CreateWindow"|
000005c0  2c 2c 71 25 20 b8 20 77  61 72 6e 69 6e 67 57 25  |,,q% . warningW%|
000005d0  0d 01 c2 1b c8 99 20 22  57 69 6d 70 5f 43 6c 6f  |...... "Wimp_Clo|
000005e0  73 65 54 65 6d 70 6c 61  74 65 22 0d 01 cc 0a 72  |seTemplate"....r|
000005f0  65 66 25 3d 30 0d 01 d6  11 63 70 4c 25 3d 30 3a  |ef%=0....cpL%=0:|
00000600  63 70 52 25 3d 30 0d 01  e0 12 73 6d 70 69 63 6f  |cpR%=0....smpico|
00000610  6e 25 3d a4 69 63 6f 6e  0d 01 ea 16 77 6f 70 65  |n%=.icon....wope|
00000620  6e 25 3d a3 3a 77 61 72  6e 4f 6e 25 3d a3 0d 01  |n%=.:warnOn%=...|
00000630  f4 11 ee 20 85 20 f2 65  72 72 6f 72 62 6f 78 0d  |... . .errorbox.|
00000640  01 fe 1a 44 72 61 67 4f  6e 25 3d 2d 31 3a 58 4c  |...DragOn%=-1:XL|
00000650  25 3d 30 3a 59 4c 25 3d  30 0d 02 08 1f 73 65 63  |%=0:YL%=0....sec|
00000660  75 72 65 46 25 3d 30 3a  4c 6f 63 6b 25 3d a3 3a  |ureF%=0:Lock%=.:|
00000670  4f 76 69 65 77 25 3d b9  0d 02 12 21 50 65 64 25  |Oview%=....!Ped%|
00000680  3d 31 32 37 3a 73 65 63  75 72 65 46 25 3d 2d 31  |=127:secureF%=-1|
00000690  3a 77 53 69 64 65 25 3d  30 0d 02 1c 0e f2 73 65  |:wSide%=0.....se|
000006a0  74 75 70 6d 65 6e 75 0d  02 26 0e f2 69 6e 69 74  |tupmenu..&..init|
000006b0  53 6c 69 64 65 0d 02 30  17 f2 5f 50 75 74 4e 61  |Slide..0.._PutNa|
000006c0  6d 65 28 22 45 66 66 65  63 74 22 29 0d 02 3a 0c  |me("Effect")..:.|
000006d0  3f 50 42 53 25 3d 26 30  0d 02 44 21 f4 20 53 65  |?PBS%=&0..D!. Se|
000006e0  74 20 75 70 20 74 68 65  20 63 6f 6e 74 72 6f 6c  |t up the control|
000006f0  20 72 65 67 69 73 74 65  72 0d 02 4e 20 c8 99 20  | register..N .. |
00000700  22 58 49 49 43 5f 43 6f  6e 74 72 6f 6c 22 2c 26  |"XIIC_Control",&|
00000710  39 30 2c 50 42 53 25 2c  31 0d 02 58 04 0d 02 62  |90,PBS%,1..X...b|
00000720  05 f5 0d 02 6c 1d 20 c8  99 20 22 57 69 6d 70 5f  |....l. .. "Wimp_|
00000730  50 6f 6c 6c 22 2c 30 2c  71 25 20 b8 20 41 25 0d  |Poll",0,q% . A%.|
00000740  02 76 0d 20 20 c8 8e 20  41 25 20 ca 0d 02 80 10  |.v.  .. A% .....|
00000750  20 20 20 c9 20 30 3a f2  6e 75 6c 6c 0d 02 8a 15  |   . 0:.null....|
00000760  20 20 20 c9 20 31 3a f2  5f 64 6f 57 69 6e 64 6f  |   . 1:._doWindo|
00000770  77 0d 02 94 3d 20 20 20  c9 20 32 3a c8 99 20 22  |w...=   . 2:.. "|
00000780  57 69 6d 70 5f 4f 70 65  6e 57 69 6e 64 6f 77 22  |Wimp_OpenWindow"|
00000790  2c 2c 71 25 20 3a e7 20  71 25 21 30 3d 70 61 6c  |,,q% :. q%!0=pal|
000007a0  6c 57 25 20 8c 20 77 6f  70 65 6e 25 3d b9 0d 02  |lW% . wopen%=...|
000007b0  9e 12 20 20 20 c9 20 33  3a f2 5f 63 6c 6f 73 65  |..   . 3:._close|
000007c0  0d 02 a8 19 20 20 20 c9  20 36 3a f2 5f 64 6f 5f  |....   . 6:._do_|
000007d0  63 6c 69 63 6b 28 71 25  29 0d 02 b2 18 20 20 20  |click(q%)....   |
000007e0  c9 20 37 3a f2 5f 50 75  74 44 6f 77 6e 28 71 25  |. 7:._PutDown(q%|
000007f0  29 0d 02 bc 15 20 20 20  c9 20 38 3a f2 5f 4b 65  |)....   . 8:._Ke|
00000800  79 50 72 65 73 73 0d 02  c6 16 20 20 20 c9 20 39  |yPress....   . 9|
00000810  3a f2 5f 53 4f 52 54 5f  4d 65 6e 75 0d 02 d0 1b  |:._SORT_Menu....|
00000820  20 20 20 c9 20 31 37 2c  31 38 3a f2 72 65 63 65  |   . 17,18:.rece|
00000830  69 76 65 28 71 25 29 0d  02 da 08 20 20 20 cb 0d  |ive(q%)....   ..|
00000840  02 e4 08 20 fd 20 a3 0d  02 ee 04 0d 02 f8 05 e0  |... . ..........|
00000850  0d 03 02 04 0d 03 0c 0b  dd 20 f2 6e 75 6c 6c 0d  |......... .null.|
00000860  03 16 14 ea 20 41 25 2c  46 25 2c 54 25 2c 53 25  |.... A%,F%,T%,S%|
00000870  2c 44 25 0d 03 20 08 44  25 3d a3 0d 03 2a 14 c8  |,D%.. .D%=...*..|
00000880  97 20 58 25 2c 59 25 2c  6d 6f 75 73 65 42 25 0d  |. X%,Y%,mouseB%.|
00000890  03 34 13 e7 20 44 72 61  67 4f 6e 25 3c 3e 2d 31  |.4.. DragOn%<>-1|
000008a0  20 8c 0d 03 3e 11 e7 20  6d 6f 75 73 65 42 25 3d  | ...>.. mouseB%=|
000008b0  34 20 8c 0d 03 48 34 e7  20 44 72 61 67 4f 6e 25  |4 ...H4. DragOn%|
000008c0  3c 3e 2d 31 20 80 20 28  58 4c 25 3c 3e 58 25 20  |<>-1 . (XL%<>X% |
000008d0  84 20 59 4c 25 3c 3e 59  25 29 20 8c 20 f2 64 72  |. YL%<>Y%) . .dr|
000008e0  61 67 53 6c 69 64 65 0d  03 52 05 cc 0d 03 5c 2d  |agSlide..R....\-|
000008f0  e7 20 44 72 61 67 4f 6e  25 3e 31 33 20 8c 20 53  |. DragOn%>13 . S|
00000900  25 3d 44 72 61 67 4f 6e  25 20 8b 20 53 25 3d 44  |%=DragOn% . S%=D|
00000910  72 61 67 4f 6e 25 2d 31  34 0d 03 66 29 46 25 3d  |ragOn%-14..f)F%=|
00000920  bb 28 24 53 50 6f 69 6e  74 25 28 32 32 29 29 3a  |.($SPoint%(22)):|
00000930  54 25 3d bb 28 24 53 50  6f 69 6e 74 25 28 32 33  |T%=.($SPoint%(23|
00000940  29 29 0d 03 70 66 e7 20  54 25 3e 32 35 35 20 8c  |))..pf. T%>255 .|
00000950  20 54 25 3d 32 35 35 3a  24 53 50 6f 69 6e 74 25  | T%=255:$SPoint%|
00000960  28 32 33 29 3d 22 32 35  35 22 3a c8 99 22 57 69  |(23)="255":.."Wi|
00000970  6d 70 5f 46 6f 72 63 65  52 65 64 72 61 77 22 2c  |mp_ForceRedraw",|
00000980  70 61 6c 6c 57 25 2c 49  58 25 28 32 33 29 2c 49  |pallW%,IX%(23),I|
00000990  59 25 28 32 33 29 2c 49  58 31 25 28 32 33 29 2c  |Y%(23),IX1%(23),|
000009a0  49 59 31 25 28 32 33 29  0d 03 7a 66 e7 20 46 25  |IY1%(23)..zf. F%|
000009b0  3e 32 35 35 20 8c 20 46  25 3d 32 35 35 3a 24 53  |>255 . F%=255:$S|
000009c0  50 6f 69 6e 74 25 28 32  32 29 3d 22 32 35 35 22  |Point%(22)="255"|
000009d0  3a c8 99 22 57 69 6d 70  5f 46 6f 72 63 65 52 65  |:.."Wimp_ForceRe|
000009e0  64 72 61 77 22 2c 70 61  6c 6c 57 25 2c 49 58 25  |draw",pallW%,IX%|
000009f0  28 32 32 29 2c 49 59 25  28 32 32 29 2c 49 58 31  |(22),IY%(22),IX1|
00000a00  25 28 32 32 29 2c 49 59  31 25 28 32 32 29 0d 03  |%(22),IY1%(22)..|
00000a10  84 16 e7 20 46 25 3e 54  25 20 8c 20 c8 94 20 54  |... F%>T% . .. T|
00000a20  25 2c 46 25 0d 03 8e 22  e7 20 46 25 3c 3e 54 25  |%,F%...". F%<>T%|
00000a30  20 8c 20 f2 69 6e 74 65  72 70 6f 6c 61 74 65 28  | . .interpolate(|
00000a40  46 25 2c 54 25 29 0d 03  98 0b 50 65 64 25 3d 2d  |F%,T%)....Ped%=-|
00000a50  31 0d 03 a2 0e 44 72 61  67 4f 6e 25 3d 2d 31 0d  |1....DragOn%=-1.|
00000a60  03 ac 08 44 25 3d b9 0d  03 b6 05 cd 0d 03 c0 05  |...D%=..........|
00000a70  cd 0d 03 ca 0c 4f 76 69  65 77 25 3d b9 0d 03 d4  |.....Oview%=....|
00000a80  23 f4 20 52 65 61 64 20  74 68 65 20 70 65 64 64  |#. Read the pedd|
00000a90  65 6c 20 76 61 6c 75 65  20 69 6e 74 6f 20 41 25  |el value into A%|
00000aa0  0d 03 de 20 c8 99 20 22  58 49 49 43 5f 43 6f 6e  |... .. "XIIC_Con|
00000ab0  74 72 6f 6c 22 2c 26 39  31 2c 50 42 4b 25 2c 31  |trol",&91,PBK%,1|
00000ac0  0d 03 e8 0d 41 25 3d 50  42 4b 25 3f 30 0d 03 f2  |....A%=PBK%?0...|
00000ad0  10 e7 20 41 25 3c 3e 50  65 64 25 20 8c 0d 03 fc  |.. A%<>Ped% ....|
00000ae0  0b 50 65 64 25 3d 41 25  0d 04 06 18 24 53 50 6f  |.Ped%=A%....$SPo|
00000af0  69 6e 74 25 28 32 31 29  3d c3 28 50 65 64 25 29  |int%(21)=.(Ped%)|
00000b00  0d 04 10 41 c8 99 22 57  69 6d 70 5f 46 6f 72 63  |...A.."Wimp_Forc|
00000b10  65 52 65 64 72 61 77 22  2c 70 61 6c 6c 57 25 2c  |eRedraw",pallW%,|
00000b20  49 58 25 28 32 31 29 2c  49 59 25 28 32 31 29 2c  |IX%(21),IY%(21),|
00000b30  49 58 31 25 28 32 31 29  2c 49 59 31 25 28 32 31  |IX1%(21),IY1%(21|
00000b40  29 0d 04 1a 14 4f 76 69  65 77 25 3d 44 25 3a f2  |)....Oview%=D%:.|
00000b50  75 70 4e 65 77 0d 04 24  05 cd 0d 04 2e 05 e1 0d  |upNew..$........|
00000b60  04 38 04 0d 04 42 0c dd  20 f2 75 70 4e 65 77 0d  |.8...B.. .upNew.|
00000b70  04 4c 0b ea 20 41 25 2c  53 25 0d 04 56 0e e3 20  |.L.. A%,S%..V.. |
00000b80  53 25 3d 30 20 b8 20 31  0d 04 60 0e e3 20 41 25  |S%=0 . 1..`.. A%|
00000b90  3d 30 20 b8 20 36 0d 04  6a 34 e7 20 53 25 3d 77  |=0 . 6..j4. S%=w|
00000ba0  53 69 64 65 25 20 8c 20  53 6c 69 64 65 72 25 28  |Side% . Slider%(|
00000bb0  41 25 2c 31 29 3d 43 75  72 72 65 6e 74 25 28 41  |A%,1)=Current%(A|
00000bc0  25 2c 50 65 64 25 2c 53  25 29 0d 04 74 a2 e7 20  |%,Ped%,S%)..t.. |
00000bd0  43 75 72 72 65 6e 74 25  28 41 25 2c 50 65 64 25  |Current%(A%,Ped%|
00000be0  2c 53 25 29 3c 3e 4c 61  73 74 53 25 28 41 25 2c  |,S%)<>LastS%(A%,|
00000bf0  53 25 29 20 8c 20 c8 99  22 57 69 6d 70 5f 46 6f  |S%) . .."Wimp_Fo|
00000c00  72 63 65 52 65 64 72 61  77 22 2c 70 61 6c 6c 57  |rceRedraw",pallW|
00000c10  25 2c 49 58 25 28 41 25  2b 37 29 2c 49 59 25 28  |%,IX%(A%+7),IY%(|
00000c20  41 25 2b 37 29 2c 49 58  31 25 28 41 25 2b 37 29  |A%+7),IX1%(A%+7)|
00000c30  2c 49 59 31 25 28 41 25  2b 37 29 3a 4c 61 73 74  |,IY1%(A%+7):Last|
00000c40  53 25 28 41 25 2c 53 25  29 3d 43 75 72 72 65 6e  |S%(A%,S%)=Curren|
00000c50  74 25 28 41 25 2c 50 65  64 25 2c 53 25 29 3a f2  |t%(A%,Ped%,S%):.|
00000c60  75 70 56 6f 6c 28 41 25  2c 53 25 29 0d 04 7e 07  |upVol(A%,S%)..~.|
00000c70  ed 3a ed 0d 04 88 04 0d  04 92 05 e1 0d 04 9c 04  |.:..............|
00000c80  0d 04 a6 13 dd 20 f2 5f  50 75 74 44 6f 77 6e 28  |..... ._PutDown(|
00000c90  71 25 29 0d 04 b0 10 e7  20 73 44 72 61 67 4f 6e  |q%)..... sDragOn|
00000ca0  25 20 8c 0d 04 ba 0d f2  5f 47 65 74 4e 61 6d 65  |% ......_GetName|
00000cb0  0d 04 c4 20 c8 99 20 22  57 69 6d 70 5f 47 65 74  |... .. "Wimp_Get|
00000cc0  50 6f 69 6e 74 65 72 49  6e 66 6f 22 2c 2c 71 25  |PointerInfo",,q%|
00000cd0  0d 04 ce 35 6d 65 73 73  68 25 3d 71 25 21 31 32  |...5messh%=q%!12|
00000ce0  3a 6d 65 73 73 69 25 3d  71 25 21 31 36 3a 6d 65  |:messi%=q%!16:me|
00000cf0  73 73 78 25 3d 71 25 21  30 3a 6d 65 73 73 79 25  |ssx%=q%!0:messy%|
00000d00  3d 71 25 21 34 0d 04 d8  23 e7 20 a7 20 66 6e 24  |=q%!4...#. . fn$|
00000d10  2c 22 3a 22 29 20 8c 20  66 6e 24 3d a4 5f 73 70  |,":") . fn$=._sp|
00000d20  61 74 68 28 66 6e 24 29  0d 04 e2 10 24 28 71 25  |ath(fn$)....$(q%|
00000d30  2b 34 34 29 3d 66 6e 24  0d 04 ec 15 3f 28 71 25  |+44)=fn$....?(q%|
00000d40  2b 34 34 2b a9 28 66 6e  24 29 29 3d 30 0d 04 f6  |+44+.(fn$))=0...|
00000d50  3b 71 25 21 32 30 3d 71  25 21 31 32 3a 71 25 21  |;q%!20=q%!12:q%!|
00000d60  32 38 3d 71 25 21 30 3a  71 25 21 33 32 3d 71 25  |28=q%!0:q%!32=q%|
00000d70  21 34 3a 71 25 21 33 36  3d 31 30 32 34 3a 71 25  |!4:q%!36=1024:q%|
00000d80  21 34 30 3d 26 30 34 38  0d 05 00 1b 71 25 21 30  |!40=&048....q%!0|
00000d90  3d 35 36 3a 71 25 21 31  32 3d 30 3a 71 25 21 31  |=56:q%!12=0:q%!1|
00000da0  36 3d 31 0d 05 0a 2d c8  99 20 22 57 69 6d 70 5f  |6=1...-.. "Wimp_|
00000db0  53 65 6e 64 4d 65 73 73  61 67 65 22 2c 31 37 2c  |SendMessage",17,|
00000dc0  71 25 2c 6d 65 73 73 68  25 2c 6d 65 73 73 69 25  |q%,messh%,messi%|
00000dd0  0d 05 14 11 73 61 76 65  72 65 66 25 3d 71 25 21  |....saveref%=q%!|
00000de0  38 0d 05 1e 1c c8 99 20  22 57 69 6d 70 5f 43 72  |8...... "Wimp_Cr|
00000df0  65 61 74 65 4d 65 6e 75  22 2c 2c 2d 31 0d 05 28  |eateMenu",,-1..(|
00000e00  0e 73 44 72 61 67 4f 6e  25 3d a3 0d 05 32 05 cd  |.sDragOn%=...2..|
00000e10  0d 05 3c 05 e1 0d 05 46  04 0d 05 50 11 dd 20 a4  |..<....F...P.. .|
00000e20  5f 73 70 61 74 68 28 6e  24 29 0d 05 5a 0f c8 95  |_spath(n$)..Z...|
00000e30  20 a7 6e 24 2c 22 2e 22  29 0d 05 64 13 6e 24 3d  | .n$,".")..d.n$=|
00000e40  c2 6e 24 2c a9 28 6e 24  29 2d 31 29 0d 05 6e 05  |.n$,.(n$)-1)..n.|
00000e50  ce 0d 05 78 1b e7 20 a9  28 6e 24 29 3e 31 30 20  |...x.. .(n$)>10 |
00000e60  8c 20 6e 24 3d c2 6e 24  2c 31 30 29 0d 05 82 07  |. n$=.n$,10)....|
00000e70  3d 6e 24 0d 05 8c 04 0d  05 96 11 dd 20 f2 5f 53  |=n$......... ._S|
00000e80  4f 52 54 5f 4d 65 6e 75  0d 05 a0 08 ea 20 49 25  |ORT_Menu..... I%|
00000e90  0d 05 aa 0a 49 25 3d 21  71 25 0d 05 b4 0b c8 8e  |....I%=!q%......|
00000ea0  20 49 25 20 ca 0d 05 be  22 c9 20 32 3a 20 f2 6c  | I% ....". 2: .l|
00000eb0  6f 61 64 73 65 74 3a f2  75 70 53 69 64 65 3a f2  |oadset:.upSide:.|
00000ec0  75 70 4f 76 69 65 77 0d  05 c8 17 c9 20 33 3a 20  |upOview..... 3: |
00000ed0  f2 73 61 6d 65 3a f2 75  70 4f 76 69 65 77 0d 05  |.same:.upOview..|
00000ee0  d2 16 c9 20 34 3a 20 f2  69 6e 76 3a f2 75 70 4f  |... 4: .inv:.upO|
00000ef0  76 69 65 77 0d 05 dc 16  c9 20 35 3a 20 f2 72 65  |view..... 5: .re|
00000f00  76 3a f2 75 70 4f 76 69  65 77 0d 05 e6 2d c9 20  |v:.upOview...-. |
00000f10  36 3a 20 f2 5f 53 61 76  65 28 22 3c 57 61 68 57  |6: ._Save("<WahW|
00000f20  61 68 24 44 69 72 3e 2e  53 65 74 74 69 6e 67 73  |ah$Dir>.Settings|
00000f30  22 29 3a f2 64 69 65 0d  05 f0 05 cb 0d 05 fa 1f  |"):.die.........|
00000f40  c8 99 22 57 69 6d 70 5f  47 65 74 50 6f 69 6e 74  |.."Wimp_GetPoint|
00000f50  65 72 49 6e 66 6f 22 2c  2c 71 25 0d 06 04 05 e1  |erInfo",,q%.....|
00000f60  0d 06 0e 04 0d 06 18 0d  dd 20 f2 5f 63 6c 6f 73  |......... ._clos|
00000f70  65 0d 06 22 41 e7 20 71  25 21 30 3d 70 61 6c 6c  |e.."A. q%!0=pall|
00000f80  57 25 20 8c 20 77 6f 70  65 6e 25 3d a3 3a 47 6f  |W% . wopen%=.:Go|
00000f90  74 42 61 72 25 3d a3 3a  c8 99 22 57 69 6d 70 5f  |tBar%=.:.."Wimp_|
00000fa0  47 65 74 57 69 6e 64 6f  77 49 6e 66 6f 22 2c 2c  |GetWindowInfo",,|
00000fb0  57 25 0d 06 2c 20 e7 20  71 25 21 30 3d 77 61 72  |W%.., . q%!0=war|
00000fc0  6e 69 6e 67 57 25 20 8c  20 77 61 72 6e 4f 6e 25  |ningW% . warnOn%|
00000fd0  3d a3 0d 06 36 1d c8 99  20 22 57 69 6d 70 5f 43  |=...6... "Wimp_C|
00000fe0  6c 6f 73 65 57 69 6e 64  6f 77 22 2c 2c 71 25 0d  |loseWindow",,q%.|
00000ff0  06 40 05 e1 0d 06 4a 04  0d 06 54 14 dd 20 f2 5f  |.@....J...T.. ._|
00001000  64 6f 5f 63 6c 69 63 6b  28 71 25 29 0d 06 5e 11  |do_click(q%)..^.|
00001010  ea 20 58 25 2c 59 25 2c  43 25 2c 54 25 0d 06 68  |. X%,Y%,C%,T%..h|
00001020  0c 69 25 3d 71 25 21 31  36 0d 06 72 0e c8 8e 20  |.i%=q%!16..r... |
00001030  71 25 21 31 32 20 ca 0d  06 7c 28 c9 20 77 61 72  |q%!12 ...|(. war|
00001040  6e 69 6e 67 57 25 3a 20  71 25 21 30 3d 77 61 72  |ningW%: q%!0=war|
00001050  6e 69 6e 67 57 25 20 3a  f2 5f 63 6c 6f 73 65 0d  |ningW% :._close.|
00001060  06 86 37 c9 20 20 20 20  73 61 76 65 57 25 3a 20  |..7.    saveW%: |
00001070  e7 20 69 25 3d 30 20 8c  20 73 44 72 61 67 4f 6e  |. i%=0 . sDragOn|
00001080  25 3d b9 3a 20 f2 5f 53  61 76 65 53 65 74 74 69  |%=.: ._SaveSetti|
00001090  6e 67 73 28 30 29 0d 06  90 39 20 20 20 20 20 20  |ngs(0)...9      |
000010a0  20 20 20 20 20 20 20 20  20 20 e7 20 69 25 3d 32  |          . i%=2|
000010b0  20 8c 20 f2 5f 47 65 74  4e 61 6d 65 3a 20 f2 5f  | . ._GetName: ._|
000010c0  53 61 76 65 53 65 74 74  69 6e 67 73 28 32 29 0d  |SaveSettings(2).|
000010d0  06 9a 04 0d 06 a4 28 c9  20 2d 32 3a 20 f4 20 4c  |......(. -2: . L|
000010e0  6f 6f 6b 20 66 69 72 73  74 20 61 74 20 49 63 6f  |ook first at Ico|
000010f0  6e 20 42 61 72 20 43 6c  69 63 6b 0d 06 ae 1e 20  |n Bar Click.... |
00001100  20 20 20 20 20 20 20 e7  20 71 25 21 31 36 3d 73  |       . q%!16=s|
00001110  6d 70 69 63 6f 6e 25 20  8c 0d 06 b8 4a 20 20 20  |mpicon% ....J   |
00001120  20 20 20 20 20 e7 20 71  25 21 38 3d 32 20 8c 20  |     . q%!8=2 . |
00001130  49 63 6f 6e 4d 65 6e 75  25 3d b9 3a 20 c8 99 22  |IconMenu%=.: .."|
00001140  57 69 6d 70 5f 43 72 65  61 74 65 4d 65 6e 75 22  |Wimp_CreateMenu"|
00001150  2c 2c 6d 65 6e 75 25 2c  71 25 21 30 2d 39 34 2c  |,,menu%,q%!0-94,|
00001160  33 37 36 0d 06 c2 21 20  20 20 20 20 20 20 20 e7  |376...!        .|
00001170  20 71 25 21 38 3d 34 20  8c 20 f2 5f 4f 70 65 6e  | q%!8=4 . ._Open|
00001180  57 68 61 74 0d 06 cc 0d  20 20 20 20 20 20 20 20  |What....        |
00001190  cd 0d 06 d6 04 0d 06 e0  0f c9 20 70 61 6c 6c 57  |.......... pallW|
000011a0  25 3a 20 20 0d 06 ea 27  20 20 20 20 20 20 20 20  |%:  ...'        |
000011b0  20 20 20 20 20 20 e7 20  71 25 21 38 3d 34 20 8c  |      . q%!8=4 .|
000011c0  20 f2 5f 4d 6f 6e 43 6c  69 63 6b 0d 06 f4 50 20  | ._MonClick...P |
000011d0  20 20 20 20 20 20 20 20  20 20 20 20 20 e7 20 71  |             . q|
000011e0  25 21 38 3d 32 20 8c 20  49 63 6f 6e 4d 65 6e 75  |%!8=2 . IconMenu|
000011f0  25 3d a3 3a c8 99 22 57  69 6d 70 5f 43 72 65 61  |%=.:.."Wimp_Crea|
00001200  74 65 4d 65 6e 75 22 2c  2c 6d 65 6e 75 25 2c 71  |teMenu",,menu%,q|
00001210  25 21 30 2d 39 34 2c 71  25 21 34 0d 06 fe 05 cb  |%!0-94,q%!4.....|
00001220  0d 07 08 05 e1 0d 07 12  04 0d 07 1c 10 dd 20 f2  |.............. .|
00001230  5f 4d 6f 6e 43 6c 69 63  6b 0d 07 26 0e ea 20 44  |_MonClick..&.. D|
00001240  25 2c 56 25 2c 42 25 0d  07 30 26 f4 20 44 6f 20  |%,V%,B%..0&. Do |
00001250  74 68 65 20 61 63 74 69  6f 6e 20 66 6f 72 20 61  |the action for a|
00001260  20 77 69 6e 64 6f 77 20  63 6c 69 63 6b 0d 07 3a  | window click..:|
00001270  13 f2 5f 54 72 61 6e 73  28 70 61 6c 6c 57 25 29  |.._Trans(pallW%)|
00001280  0d 07 44 1e e7 20 69 25  3c 37 20 84 20 28 69 25  |..D.. i%<7 . (i%|
00001290  3e 31 33 20 80 20 69 25  3c 32 31 29 20 8c 0d 07  |>13 . i%<21) ...|
000012a0  4e 1d 20 44 72 61 67 4f  6e 25 3d 69 25 3a 58 4c  |N. DragOn%=i%:XL|
000012b0  25 3d 2d 31 3a 59 4c 25  3d 2d 31 0d 07 58 05 cd  |%=-1:YL%=-1..X..|
000012c0  0d 07 62 0b c8 8e 20 69  25 20 ca 0d 07 6c 40 c9  |..b... i% ...l@.|
000012d0  20 32 34 20 3a 20 77 53  69 64 65 25 3d 31 3a 24  | 24 : wSide%=1:$|
000012e0  53 50 6f 69 6e 74 25 28  32 34 29 3d 22 79 65 73  |SPoint%(24)="yes|
000012f0  22 3a 24 53 50 6f 69 6e  74 25 28 32 35 29 3d 22  |":$SPoint%(25)="|
00001300  6e 6f 22 3a f2 75 70 53  69 64 65 0d 07 76 40 c9  |no":.upSide..v@.|
00001310  20 32 35 20 3a 20 77 53  69 64 65 25 3d 30 3a 24  | 25 : wSide%=0:$|
00001320  53 50 6f 69 6e 74 25 28  32 34 29 3d 22 6e 6f 22  |SPoint%(24)="no"|
00001330  3a 24 53 50 6f 69 6e 74  25 28 32 35 29 3d 22 79  |:$SPoint%(25)="y|
00001340  65 73 22 3a f2 75 70 53  69 64 65 0d 07 80 14 c9  |es":.upSide.....|
00001350  20 32 36 20 3a 20 f2 74  31 28 50 65 64 25 29 0d  | 26 : .t1(Ped%).|
00001360  07 8a 14 c9 20 32 37 20  3a 20 f2 74 32 28 50 65  |.... 27 : .t2(Pe|
00001370  64 25 29 0d 07 94 0e c9  20 32 38 20 3a 20 f2 74  |d%)..... 28 : .t|
00001380  33 0d 07 9e 0e c9 20 32  39 20 3a 20 f2 74 34 0d  |3..... 29 : .t4.|
00001390  07 a8 05 cb 0d 07 b2 05  e1 0d 07 bc 04 0d 07 c6  |................|
000013a0  0d dd 20 f2 75 70 53 69  64 65 0d 07 d0 08 ea 20  |.. .upSide..... |
000013b0  41 25 0d 07 da 41 c8 99  22 57 69 6d 70 5f 46 6f  |A%...A.."Wimp_Fo|
000013c0  72 63 65 52 65 64 72 61  77 22 2c 70 61 6c 6c 57  |rceRedraw",pallW|
000013d0  25 2c 49 58 25 28 32 34  29 2c 49 59 25 28 32 34  |%,IX%(24),IY%(24|
000013e0  29 2c 49 58 31 25 28 32  34 29 2c 49 59 31 25 28  |),IX1%(24),IY1%(|
000013f0  32 34 29 0d 07 e4 41 c8  99 22 57 69 6d 70 5f 46  |24)...A.."Wimp_F|
00001400  6f 72 63 65 52 65 64 72  61 77 22 2c 70 61 6c 6c  |orceRedraw",pall|
00001410  57 25 2c 49 58 25 28 32  35 29 2c 49 59 25 28 32  |W%,IX%(25),IY%(2|
00001420  35 29 2c 49 58 31 25 28  32 35 29 2c 49 59 31 25  |5),IX1%(25),IY1%|
00001430  28 32 35 29 0d 07 ee 18  f2 74 31 28 bb 28 24 53  |(25).....t1(.($S|
00001440  50 6f 69 6e 74 25 28 32  32 29 29 29 0d 07 f8 18  |Point%(22)))....|
00001450  f2 74 32 28 bb 28 24 53  50 6f 69 6e 74 25 28 32  |.t2(.($SPoint%(2|
00001460  33 29 29 29 0d 08 02 0e  e3 20 41 25 3d 30 20 b8  |3)))..... A%=0 .|
00001470  20 36 0d 08 0c 2a 53 6c  69 64 65 72 25 28 41 25  | 6...*Slider%(A%|
00001480  2c 31 29 3d 43 75 72 72  65 6e 74 25 28 41 25 2c  |,1)=Current%(A%,|
00001490  50 65 64 25 2c 77 53 69  64 65 25 29 0d 08 16 49  |Ped%,wSide%)...I|
000014a0  c8 99 22 57 69 6d 70 5f  46 6f 72 63 65 52 65 64  |.."Wimp_ForceRed|
000014b0  72 61 77 22 2c 70 61 6c  6c 57 25 2c 49 58 25 28  |raw",pallW%,IX%(|
000014c0  41 25 2b 37 29 2c 49 59  25 28 41 25 2b 37 29 2c  |A%+7),IY%(A%+7),|
000014d0  49 58 31 25 28 41 25 2b  37 29 2c 49 59 31 25 28  |IX1%(A%+7),IY1%(|
000014e0  41 25 2b 37 29 0d 08 20  05 ed 0d 08 2a 05 e1 0d  |A%+7).. ....*...|
000014f0  08 34 04 0d 08 3e 10 dd  20 f2 5f 4f 70 65 6e 57  |.4...>.. ._OpenW|
00001500  68 61 74 0d 08 48 0b ea  20 4e 63 6f 6c 25 0d 08  |hat..H.. Ncol%..|
00001510  52 12 e7 20 ac 28 77 61  72 6e 4f 6e 25 29 20 8c  |R.. .(warnOn%) .|
00001520  0d 08 5c 2c 20 20 c8 99  22 4f 53 5f 52 65 61 64  |..\,  .."OS_Read|
00001530  4d 6f 64 65 56 61 72 69  61 62 6c 65 22 2c 2d 31  |ModeVariable",-1|
00001540  2c 33 20 b8 20 2c 2c 4e  63 6f 6c 25 0d 08 66 0c  |,3 . ,,Ncol%..f.|
00001550  20 20 f2 5f 4f 70 65 6e  0d 08 70 05 cd 0d 08 7a  |  ._Open..p....z|
00001560  05 e1 0d 08 84 04 0d 08  8e 0c dd 20 f2 5f 4f 70  |........... ._Op|
00001570  65 6e 0d 08 98 19 f4 20  4f 50 45 4e 20 55 50 20  |en..... OPEN UP |
00001580  57 49 4e 44 4f 57 20 48  45 52 45 0d 08 a2 0e e7  |WINDOW HERE.....|
00001590  20 77 6f 70 65 6e 25 20  8c 0d 08 ac 0f 71 25 21  | wopen% .....q%!|
000015a0  30 3d 70 61 6c 6c 57 25  0d 08 b6 1f c8 99 22 57  |0=pallW%......"W|
000015b0  69 6d 70 5f 47 65 74 57  69 6e 64 6f 77 53 74 61  |imp_GetWindowSta|
000015c0  74 65 22 2c 2c 71 25 0d  08 c0 36 20 20 e7 20 71  |te",,q%...6  . q|
000015d0  25 21 32 38 3c 3e 2d 31  20 8c 20 71 25 21 32 38  |%!28<>-1 . q%!28|
000015e0  3d 2d 31 3a 20 c8 99 20  22 57 69 6d 70 5f 4f 70  |=-1: .. "Wimp_Op|
000015f0  65 6e 57 69 6e 64 6f 77  22 2c 2c 71 25 0d 08 ca  |enWindow",,q%...|
00001600  05 cc 0d 08 d4 1c c8 99  20 22 57 69 6d 70 5f 4f  |........ "Wimp_O|
00001610  70 65 6e 57 69 6e 64 6f  77 22 2c 2c 57 25 0d 08  |penWindow",,W%..|
00001620  de 0c 77 6f 70 65 6e 25  3d b9 0d 08 e8 05 cd 0d  |..wopen%=.......|
00001630  08 f2 05 e1 0d 08 fc 04  0d 09 06 10 dd 20 f2 5f  |............. ._|
00001640  64 6f 57 69 6e 64 6f 77  0d 09 10 10 20 20 ea 20  |doWindow....  . |
00001650  41 25 2c 49 25 2c 4c 25  0d 09 1a 14 20 e7 20 71  |A%,I%,L%.... . q|
00001660  25 21 30 3d 70 61 6c 6c  57 25 20 8c 0d 09 24 16  |%!0=pallW% ...$.|
00001670  20 20 20 f2 5f 54 72 61  6e 73 28 70 61 6c 6c 57  |   ._Trans(pallW|
00001680  25 29 0d 09 2e 29 20 20  20 c8 99 20 22 57 69 6d  |%)...)   .. "Wim|
00001690  70 5f 52 65 64 72 61 77  57 69 6e 64 6f 77 22 2c  |p_RedrawWindow",|
000016a0  2c 71 25 20 b8 20 66 6c  61 67 25 0d 09 38 11 20  |,q% . flag%..8. |
000016b0  20 20 20 20 c8 95 20 66  6c 61 67 25 0d 09 42 04  |    .. flag%..B.|
000016c0  0d 09 4c 16 f4 20 44 72  61 77 20 77 69 6e 64 6f  |..L.. Draw windo|
000016d0  77 20 68 65 72 65 0d 09  56 0e e3 20 49 25 3d 30  |w here..V.. I%=0|
000016e0  20 b8 20 32 0d 09 60 0f  20 e3 20 41 25 3d 30 20  | . 2..`. . A%=0 |
000016f0  b8 20 36 0d 09 6a 14 20  20 f2 64 53 6c 69 64 65  |. 6..j.  .dSlide|
00001700  28 41 25 2c 49 25 29 0d  09 74 08 20 ed 3a ed 0d  |(A%,I%)..t. .:..|
00001710  09 7e 0f 20 e7 20 4f 76  69 65 77 25 20 8c 0d 09  |.~. . Oview% ...|
00001720  88 1a 20 c8 99 22 57 69  6d 70 5f 53 65 74 43 6f  |.. .."Wimp_SetCo|
00001730  6c 6f 75 72 22 2c 31 33  0d 09 92 0f 20 e3 20 49  |lour",13.... . I|
00001740  25 3d 30 20 b8 20 31 0d  09 9c 0e e3 20 41 25 3d  |%=0 . 1..... A%=|
00001750  30 20 b8 20 36 0d 09 a6  11 20 f2 64 42 6f 78 28  |0 . 6.... .dBox(|
00001760  41 25 2c 49 25 29 0d 09  b0 05 ed 0d 09 ba 18 c8  |A%,I%)..........|
00001770  99 22 57 69 6d 70 5f 53  65 74 43 6f 6c 6f 75 72  |."Wimp_SetColour|
00001780  22 2c 38 0d 09 c4 05 ed  0d 09 ce 05 cd 0d 09 d8  |",8.............|
00001790  2b 20 20 20 20 20 c8 99  20 22 57 69 6d 70 5f 47  |+     .. "Wimp_G|
000017a0  65 74 52 65 63 74 61 6e  67 6c 65 22 2c 2c 71 25  |etRectangle",,q%|
000017b0  20 b8 20 66 6c 61 67 25  0d 09 e2 0a 20 20 20 20  | . flag%....    |
000017c0  20 ce 0d 09 ec 08 20 20  20 cd 0d 09 f6 04 0d 0a  | .....   .......|
000017d0  00 07 20 20 e1 0d 0a 0a  06 20 20 0d 0a 14 14 dd  |..  .....  .....|
000017e0  20 f2 64 53 6c 69 64 65  28 53 25 2c 50 25 29 0d  | .dSlide(S%,P%).|
000017f0  0a 1e 0b ea 20 41 25 2c  58 25 0d 0a 28 1a 58 25  |.... A%,X%..(.X%|
00001800  3d 78 6f 25 2b 33 36 2b  53 25 2a 34 32 2b 50 25  |=xo%+36+S%*42+P%|
00001810  2a 33 37 34 0d 0a 32 18  c8 99 22 57 69 6d 70 5f  |*374..2..."Wimp_|
00001820  53 65 74 43 6f 6c 6f 75  72 22 2c 31 0d 0a 3c 18  |SetColour",1..<.|
00001830  c8 93 c8 90 20 58 25 2c  79 6f 25 2b 39 34 2c 38  |.... X%,yo%+94,8|
00001840  2c 32 30 38 0d 0a 46 19  c8 99 22 57 69 6d 70 5f  |,208..F..."Wimp_|
00001850  53 65 74 43 6f 6c 6f 75  72 22 2c 31 31 0d 0a 50  |SetColour",11..P|
00001860  17 41 25 3d 53 6c 69 64  65 72 25 28 53 25 2c 50  |.A%=Slider%(S%,P|
00001870  25 29 2a 38 0d 0a 5a 20  c8 93 c8 90 20 58 25 2c  |%)*8..Z .... X%,|
00001880  79 6f 25 2b 38 36 2b 31  32 2b 41 25 2c 38 2c 2d  |yo%+86+12+A%,8,-|
00001890  41 25 2b 34 0d 0a 64 05  e1 0d 0a 6e 04 0d 0a 78  |A%+4..d....n...x|
000018a0  12 dd 20 f2 5f 54 72 61  6e 73 28 77 68 25 29 0d  |.. ._Trans(wh%).|
000018b0  0a 82 0b 21 71 25 3d 77  68 25 0d 0a 8c 20 c8 99  |...!q%=wh%... ..|
000018c0  20 22 57 69 6d 70 5f 47  65 74 57 69 6e 64 6f 77  | "Wimp_GetWindow|
000018d0  53 74 61 74 65 22 2c 2c  71 25 0d 0a 96 28 78 6f  |State",,q%...(xo|
000018e0  25 3d 71 25 21 34 2d 71  25 21 32 30 2b 38 3a 79  |%=q%!4-q%!20+8:y|
000018f0  6f 25 3d 71 25 21 31 36  2d 71 25 21 32 34 2d 33  |o%=q%!16-q%!24-3|
00001900  35 34 0d 0a a0 16 58 4f  25 3d 71 25 21 34 3a 59  |54....XO%=q%!4:Y|
00001910  4f 25 3d 71 25 21 31 36  0d 0a aa 05 e1 0d 0a b4  |O%=q%!16........|
00001920  04 0d 0a be 0f dd f2 73  65 74 75 70 6d 65 6e 75  |.......setupmenu|
00001930  0d 0a c8 08 ea 20 6d 25  0d 0a d2 04 0d 0a dc 16  |..... m%........|
00001940  24 6d 65 6e 75 25 3d 22  45 71 75 61 6c 69 73 65  |$menu%="Equalise|
00001950  72 22 0d 0a e6 0e 6d 65  6e 75 25 3f 31 32 3d 37  |r"....menu%?12=7|
00001960  0d 0a f0 0e 6d 65 6e 75  25 3f 31 33 3d 32 0d 0a  |....menu%?13=2..|
00001970  fa 0e 6d 65 6e 75 25 3f  31 34 3d 37 0d 0b 04 0e  |..menu%?14=7....|
00001980  6d 65 6e 75 25 3f 31 35  3d 30 0d 0b 0e 10 6d 65  |menu%?15=0....me|
00001990  6e 75 25 21 31 36 3d 31  32 38 0d 0b 18 0f 6d 65  |nu%!16=128....me|
000019a0  6e 75 25 21 32 30 3d 34  30 0d 0b 22 0e 6d 65 6e  |nu%!20=40..".men|
000019b0  75 25 21 32 34 3d 30 0d  0b 2c 0f 6d 25 3d 6d 65  |u%!24=0..,.m%=me|
000019c0  6e 75 25 2b 32 38 0d 0b  36 0a 6d 25 21 30 3d 30  |nu%+28..6.m%!0=0|
000019d0  0d 0b 40 0e 6d 25 21 34  3d 69 6e 66 6f 25 0d 0b  |..@.m%!4=info%..|
000019e0  4a 18 6d 25 21 38 3d 28  37 3c 3c 32 34 29 84 20  |J.m%!8=(7<<24). |
000019f0  25 31 30 30 30 31 0d 0b  54 13 24 28 6d 25 2b 31  |%10001..T.$(m%+1|
00001a00  32 29 3d 22 49 6e 66 6f  22 0d 0b 5e 04 0d 0b 68  |2)="Info"..^...h|
00001a10  0a 6d 25 2b 3d 32 34 0d  0b 72 0a 6d 25 21 30 3d  |.m%+=24..r.m%!0=|
00001a20  30 0d 0b 7c 0f 6d 25 21  34 3d 73 61 76 65 57 25  |0..|.m%!4=saveW%|
00001a30  0d 0b 86 18 6d 25 21 38  3d 28 37 3c 3c 32 34 29  |....m%!8=(7<<24)|
00001a40  84 20 25 31 30 30 30 31  0d 0b 90 13 24 28 6d 25  |. %10001....$(m%|
00001a50  2b 31 32 29 3d 22 53 61  76 65 22 0d 0b 9a 04 0d  |+12)="Save".....|
00001a60  0b a4 0a 6d 25 2b 3d 32  34 0d 0b ae 0a 6d 25 21  |...m%+=24....m%!|
00001a70  30 3d 30 0d 0b b8 0a 6d  25 21 34 3d 30 0d 0b c2  |0=0....m%!4=0...|
00001a80  18 6d 25 21 38 3d 28 37  3c 3c 32 34 29 84 20 25  |.m%!8=(7<<24). %|
00001a90  31 30 30 30 31 0d 0b cc  16 24 28 6d 25 2b 31 32  |10001....$(m%+12|
00001aa0  29 3d 22 52 65 73 74 6f  72 65 22 0d 0b d6 04 0d  |)="Restore".....|
00001ab0  0b e0 0a 6d 25 2b 3d 32  34 0d 0b ea 0a 6d 25 21  |...m%+=24....m%!|
00001ac0  30 3d 30 0d 0b f4 0a 6d  25 21 34 3d 30 0d 0b fe  |0=0....m%!4=0...|
00001ad0  18 6d 25 21 38 3d 28 37  3c 3c 32 34 29 84 20 25  |.m%!8=(7<<24). %|
00001ae0  31 30 30 30 31 0d 0c 08  16 24 28 6d 25 2b 31 32  |10001....$(m%+12|
00001af0  29 3d 22 43 68 20 53 61  6d 65 22 0d 0c 12 04 0d  |)="Ch Same".....|
00001b00  0c 1c 0a 6d 25 2b 3d 32  34 0d 0c 26 0a 6d 25 21  |...m%+=24..&.m%!|
00001b10  30 3d 30 0d 0c 30 0a 6d  25 21 34 3d 30 0d 0c 3a  |0=0..0.m%!4=0..:|
00001b20  18 6d 25 21 38 3d 28 37  3c 3c 32 34 29 84 20 25  |.m%!8=(7<<24). %|
00001b30  31 30 30 30 31 0d 0c 44  18 24 28 6d 25 2b 31 32  |10001..D.$(m%+12|
00001b40  29 3d 22 43 68 20 49 6e  76 65 72 74 22 0d 0c 4e  |)="Ch Invert"..N|
00001b50  04 0d 0c 58 0a 6d 25 2b  3d 32 34 0d 0c 62 0a 6d  |...X.m%+=24..b.m|
00001b60  25 21 30 3d 30 0d 0c 6c  0a 6d 25 21 34 3d 30 0d  |%!0=0..l.m%!4=0.|
00001b70  0c 76 18 6d 25 21 38 3d  28 37 3c 3c 32 34 29 84  |.v.m%!8=(7<<24).|
00001b80  20 25 31 30 30 30 31 0d  0c 80 19 24 28 6d 25 2b  | %10001....$(m%+|
00001b90  31 32 29 3d 22 43 68 20  52 65 76 65 72 73 65 22  |12)="Ch Reverse"|
00001ba0  0d 0c 8a 04 0d 0c 94 0a  6d 25 2b 3d 32 34 0d 0c  |........m%+=24..|
00001bb0  9e 0c 6d 25 21 30 3d 26  38 30 0d 0c a8 0a 6d 25  |..m%!0=&80....m%|
00001bc0  21 34 3d 30 0d 0c b2 18  6d 25 21 38 3d 28 37 3c  |!4=0....m%!8=(7<|
00001bd0  3c 32 34 29 84 20 25 31  30 30 30 31 0d 0c bc 13  |<24). %10001....|
00001be0  24 28 6d 25 2b 31 32 29  3d 22 51 75 69 74 22 0d  |$(m%+12)="Quit".|
00001bf0  0c c6 04 0d 0c d0 05 e1  0d 0c da 04 0d 0c e4 12  |................|
00001c00  dd 20 f2 72 65 63 65 69  76 65 28 71 25 29 0d 0c  |. .receive(q%)..|
00001c10  ee 08 ea 20 41 25 0d 0c  f8 0c 41 25 3d 71 25 21  |... A%....A%=q%!|
00001c20  31 36 0d 0d 02 0b c8 8e  20 41 25 20 ca 0d 0d 0c  |16...... A% ....|
00001c30  0c c9 20 30 3a f2 64 69  65 0d 0d 16 04 0d 0d 20  |.. 0:.die...... |
00001c40  1b c9 20 32 3a e7 20 71  25 21 31 32 3d 73 61 76  |.. 2:. q%!12=sav|
00001c50  65 72 65 66 25 20 8c 20  0d 0d 2a 1c 20 20 20 20  |eref% . ..*.    |
00001c60  20 20 20 20 20 20 73 65  63 75 72 65 46 25 3d 71  |      secureF%=q|
00001c70  25 21 33 36 0d 0d 34 30  20 20 20 20 20 20 20 20  |%!36..40        |
00001c80  20 20 66 6e 24 3d a4 73  67 65 74 28 71 25 2b 34  |  fn$=.sget(q%+4|
00001c90  34 29 3a f2 5f 53 61 76  65 53 65 74 74 69 6e 67  |4):._SaveSetting|
00001ca0  73 28 32 29 0d 0d 3e 38  20 20 20 20 20 20 20 20  |s(2)..>8        |
00001cb0  20 20 71 25 21 31 32 3d  73 61 76 65 72 65 66 25  |  q%!12=saveref%|
00001cc0  3a 71 25 21 31 36 3d 33  3a 71 25 21 30 3d 32 35  |:q%!16=3:q%!0=25|
00001cd0  36 3a 71 25 21 34 30 3d  26 30 34 38 0d 0d 48 41  |6:q%!40=&048..HA|
00001ce0  20 20 20 20 20 20 20 20  20 20 71 25 21 32 30 3d  |          q%!20=|
00001cf0  6d 65 73 73 68 25 3a 71  25 21 32 34 3d 6d 65 73  |messh%:q%!24=mes|
00001d00  73 69 25 3a 71 25 21 32  38 3d 6d 65 73 73 78 25  |si%:q%!28=messx%|
00001d10  3a 71 25 21 33 32 3d 6d  65 73 73 79 25 0d 0d 52  |:q%!32=messy%..R|
00001d20  37 20 20 20 20 20 20 20  20 20 20 c8 99 20 22 57  |7          .. "W|
00001d30  69 6d 70 5f 53 65 6e 64  4d 65 73 73 61 67 65 22  |imp_SendMessage"|
00001d40  2c 31 37 2c 71 25 2c 6d  65 73 73 68 25 2c 6d 65  |,17,q%,messh%,me|
00001d50  73 73 69 25 0d 0d 5c 0f  20 20 20 20 20 20 20 20  |ssi%..\.        |
00001d60  20 20 cd 0d 0d 66 04 0d  0d 70 31 c9 20 33 3a e7  |  ...f...p1. 3:.|
00001d70  20 28 71 25 21 32 30 3d  2d 32 20 84 20 71 25 21  | (q%!20=-2 . q%!|
00001d80  32 30 3d 70 61 6c 6c 57  25 29 20 80 20 71 25 21  |20=pallW%) . q%!|
00001d90  34 30 3d 26 34 38 20 8c  0d 0d 7a 24 20 20 20 20  |40=&48 ...z$    |
00001da0  20 20 20 f4 20 6c 6f 61  64 20 69 6e 20 64 65 66  |   . load in def|
00001db0  69 6e 61 74 69 6f 6e 20  66 69 6c 65 0d 0d 84 1b  |ination file....|
00001dc0  20 20 20 20 20 20 20 20  6e 24 3d a4 73 67 65 74  |        n$=.sget|
00001dd0  28 71 25 2b 34 34 29 0d  0d 8e 12 20 20 20 20 20  |(q%+44)....     |
00001de0  20 20 20 f2 5f 44 61 63  6b 0d 0d 98 16 20 20 20  |   ._Dack....   |
00001df0  20 20 20 20 20 f2 5f 6c  6f 61 64 28 6e 24 29 0d  |     ._load(n$).|
00001e00  0d a2 12 20 20 20 20 20  20 20 20 72 65 66 25 3d  |...        ref%=|
00001e10  30 0d 0d ac 1b 20 20 20  20 20 20 20 20 f2 75 70  |0....        .up|
00001e20  4e 65 77 3a f2 75 70 4f  76 69 65 77 0d 0d b6 19  |New:.upOview....|
00001e30  20 20 20 20 20 20 20 20  f2 5f 50 75 74 4e 61 6d  |        ._PutNam|
00001e40  65 28 6e 24 29 0d 0d c0  0c 20 20 20 20 20 20 20  |e(n$)....       |
00001e50  cd 0d 0d ca 0b 20 20 20  20 20 20 20 0d 0d d4 04  |.....       ....|
00001e60  0d 0d de 14 c9 20 26 35  30 32 3a 20 20 20 c8 8e  |..... &502:   ..|
00001e70  20 b9 20 ca 0d 0d e8 6f  20 20 20 20 20 20 20 20  | . ....o        |
00001e80  20 20 20 20 20 c9 20 71  25 21 33 32 3d 2d 32 20  |     . q%!32=-2 |
00001e90  80 20 71 25 21 33 36 3d  73 6d 70 69 63 6f 6e 25  |. q%!36=smpicon%|
00001ea0  3a 6d 65 73 24 3d 22 54  68 69 73 20 69 73 20 74  |:mes$="This is t|
00001eb0  68 65 20 53 75 70 65 72  20 57 61 68 20 57 61 68  |he Super Wah Wah|
00001ec0  20 69 63 6f 6e 2e 7c 4d  41 75 64 69 6f 20 65 66  | icon.|MAudio ef|
00001ed0  66 65 63 74 73 20 61 70  70 6c 69 63 61 74 69 6f  |fects applicatio|
00001ee0  6e 2e 22 0d 0d f2 1a 20  20 20 20 20 20 20 20 20  |n."....         |
00001ef0  20 20 20 20 7f 3a 6d 65  73 24 3d 22 22 0d 0d fc  |    .:mes$=""...|
00001f00  12 20 20 20 20 20 20 20  20 20 20 20 20 20 cb 0d  |.             ..|
00001f10  0e 06 14 20 20 20 20 e7  20 6d 65 73 24 3c 3e 22  |...    . mes$<>"|
00001f20  22 20 8c 0d 0e 10 12 20  20 20 20 71 25 21 31 32  |" .....    q%!12|
00001f30  3d 71 25 21 38 0d 0e 1a  18 20 20 20 20 24 28 71  |=q%!8....    $(q|
00001f40  25 2b 32 30 29 3d 6d 65  73 24 2b bd 30 0d 0e 24  |%+20)=mes$+.0..$|
00001f50  1e 20 20 20 20 71 25 21  30 3d 28 32 30 2b a9 6d  |.    q%!0=(20+.m|
00001f60  65 73 24 2b 34 29 80 20  ac 20 33 0d 0e 2e 12 20  |es$+4). . 3.... |
00001f70  20 20 20 71 25 21 31 36  3d 26 35 30 33 0d 0e 38  |   q%!16=&503..8|
00001f80  28 20 20 20 20 c8 99 20  22 57 69 6d 70 5f 53 65  |(    .. "Wimp_Se|
00001f90  6e 64 4d 65 73 73 61 67  65 22 2c 31 38 2c 71 25  |ndMessage",18,q%|
00001fa0  2c 71 25 21 34 0d 0e 42  05 cb 0d 0e 4c 05 e1 0d  |,q%!4..B....L...|
00001fb0  0e 56 04 0d 0e 60 0c dd  20 f2 5f 44 61 63 6b 0d  |.V...`.. ._Dack.|
00001fc0  0e 6a 10 73 65 6e 64 74  68 25 3d 71 25 21 34 0d  |.j.sendth%=q%!4.|
00001fd0  0e 74 0f 6d 79 72 65 66  25 3d 71 25 21 38 0d 0e  |.t.myref%=q%!8..|
00001fe0  7e 22 c8 99 20 22 57 69  6d 70 5f 47 65 74 50 6f  |~".. "Wimp_GetPo|
00001ff0  69 6e 74 65 72 49 6e 66  6f 22 2c 2c 71 25 2b 38  |interInfo",,q%+8|
00002000  0d 0e 88 0e 71 25 21 32  38 3d 71 25 21 38 0d 0e  |....q%!28=q%!8..|
00002010  92 0f 71 25 21 33 32 3d  71 25 21 31 32 0d 0e 9c  |..q%!32=q%!12...|
00002020  18 71 25 21 30 3d 28 34  34 2b a9 6e 24 2b 34 29  |.q%!0=(44+.n$+4)|
00002030  80 20 ac 20 33 0d 0e a6  10 71 25 21 31 32 3d 6d  |. . 3....q%!12=m|
00002040  79 72 65 66 25 0d 0e b0  0b 71 25 21 31 36 3d 34  |yref%....q%!16=4|
00002050  0d 0e ba 0c 71 25 21 33  36 3d 2d 31 0d 0e c4 0e  |....q%!36=-1....|
00002060  71 25 21 34 30 3d 26 46  46 39 0d 0e ce 12 24 28  |q%!40=&FF9....$(|
00002070  71 25 2b 34 34 29 3d 6e  24 2b bd 30 0d 0e d8 27  |q%+44)=n$+.0...'|
00002080  c8 99 20 22 57 69 6d 70  5f 53 65 6e 64 4d 65 73  |.. "Wimp_SendMes|
00002090  73 61 67 65 22 2c 31 37  2c 71 25 2c 73 65 6e 64  |sage",17,q%,send|
000020a0  74 68 25 0d 0e e2 05 cd  0d 0e ec 05 e1 0d 0e f6  |th%.............|
000020b0  04 0d 0f 00 0e dd a4 73  67 65 74 28 78 25 29 0d  |.......sget(x%).|
000020c0  0f 0a 08 ea 20 78 24 0d  0f 14 1d c8 95 20 3f 78  |.... x$...... ?x|
000020d0  25 20 78 24 2b 3d bd 28  3f 78 25 29 3a 78 25 2b  |% x$+=.(?x%):x%+|
000020e0  3d 31 3a ce 0d 0f 1e 07  3d 78 24 0d 0f 28 04 0d  |=1:.....=x$..(..|
000020f0  0f 32 0a dd a4 69 63 6f  6e 0d 0f 3c 0b 71 25 21  |.2...icon..<.q%!|
00002100  30 3d 2d 31 0d 0f 46 0a  71 25 21 34 3d 30 0d 0f  |0=-1..F.q%!4=0..|
00002110  50 1b 71 25 21 38 3d 31  30 20 3a 20 f4 20 59 20  |P.q%!8=10 : . Y |
00002120  44 49 52 45 43 54 49 4f  4e 0d 0f 5a 1c 71 25 21  |DIRECTION..Z.q%!|
00002130  31 32 3d 37 30 20 3a 20  f4 20 58 20 44 49 52 45  |12=70 : . X DIRE|
00002140  43 54 49 4f 4e 0d 0f 64  0c 71 25 21 31 36 3d 39  |CTION..d.q%!16=9|
00002150  36 0d 0f 6e 0f 71 25 21  32 30 3d 26 32 30 30 32  |6..n.q%!20=&2002|
00002160  0d 0f 78 18 24 28 71 25  2b 32 34 29 3d 22 21 53  |..x.$(q%+24)="!S|
00002170  75 70 65 72 57 61 68 22  0d 0f 82 24 c8 99 20 22  |uperWah"...$.. "|
00002180  57 69 6d 70 5f 43 72 65  61 74 65 49 63 6f 6e 22  |Wimp_CreateIcon"|
00002190  2c 2c 71 25 20 b8 20 69  63 6f 6e 25 0d 0f 8c 0a  |,,q% . icon%....|
000021a0  3d 69 63 6f 6e 25 0d 0f  96 04 0d 0f a0 12 dd 20  |=icon%......... |
000021b0  f2 5f 73 65 74 75 70 57  28 74 24 29 0d 0f aa 58  |._setupW(t$)...X|
000021c0  21 71 25 3d 77 61 72 6e  69 6e 67 57 25 3a 71 25  |!q%=warningW%:q%|
000021d0  21 34 3d 32 30 30 3a 71  25 21 38 3d 32 30 30 3a  |!4=200:q%!8=200:|
000021e0  71 25 21 31 32 3d 32 30  30 2b 58 51 25 3a 71 25  |q%!12=200+XQ%:q%|
000021f0  21 31 36 3d 32 30 30 2b  59 51 25 3a 71 25 21 32  |!16=200+YQ%:q%!2|
00002200  30 3d 30 3a 71 25 21 32  34 3d 30 3a 71 25 21 32  |0=0:q%!24=0:q%!2|
00002210  38 3d 2d 31 0d 0f b4 11  24 54 65 78 74 57 61 72  |8=-1....$TextWar|
00002220  6e 25 3d 74 24 0d 0f be  15 54 65 78 74 57 61 72  |n%=t$....TextWar|
00002230  6e 25 3f a9 28 74 24 29  3d 30 0d 0f c8 07 ef 20  |n%?.(t$)=0..... |
00002240  37 0d 0f d2 0d 77 61 72  6e 4f 6e 25 3d b9 0d 0f  |7....warnOn%=...|
00002250  dc 1c c8 99 20 22 57 69  6d 70 5f 4f 70 65 6e 57  |.... "Wimp_OpenW|
00002260  69 6e 64 6f 77 22 2c 2c  71 25 0d 0f e6 05 e1 0d  |indow",,q%......|
00002270  0f f0 04 0d 0f fa 0f dd  20 f2 65 72 72 6f 72 62  |........ .errorb|
00002280  6f 78 0d 10 04 19 c8 99  20 22 57 69 6d 70 5f 44  |ox...... "Wimp_D|
00002290  72 61 67 42 6f 78 22 2c  2c 2d 31 0d 10 0e 32 21  |ragBox",,-1...2!|
000022a0  62 75 66 66 65 72 73 25  3d 9f 3a 24 28 62 75 66  |buffers%=.:$(buf|
000022b0  66 65 72 73 25 2b 34 29  3d f6 24 2b 22 20 61 74  |fers%+4)=.$+" at|
000022c0  20 6c 69 6e 65 20 22 2b  c3 9e 2b bd 30 0d 10 18  | line "+..+.0...|
000022d0  34 c8 99 20 22 57 69 6d  70 5f 52 65 70 6f 72 74  |4.. "Wimp_Report|
000022e0  45 72 72 6f 72 22 2c 62  75 66 66 65 72 73 25 2c  |Error",buffers%,|
000022f0  31 2c 22 53 75 70 65 72  20 57 61 68 20 57 61 68  |1,"Super Wah Wah|
00002300  22 0d 10 22 08 f2 64 69  65 0d 10 2c 05 e1 0d 10  |".."..die..,....|
00002310  36 04 0d 10 40 09 dd f2  64 69 65 0d 10 4a 2a c8  |6...@...die..J*.|
00002320  99 20 22 57 69 6d 70 5f  43 6c 6f 73 65 44 6f 77  |. "Wimp_CloseDow|
00002330  6e 22 2c 74 61 73 6b 68  61 6e 64 25 2c 21 74 61  |n",taskhand%,!ta|
00002340  73 6b 69 64 25 0d 10 54  05 e0 0d 10 5e 05 e1 0d  |skid%..T....^...|
00002350  10 68 04 0d 10 72 2e dd  20 f2 64 72 61 67 69 63  |.h...r.. .dragic|
00002360  6f 6e 28 6d 6f 75 73 65  78 25 2c 6d 6f 75 73 65  |on(mousex%,mouse|
00002370  79 25 2c 68 61 6e 64 6c  65 25 2c 69 63 6f 6e 25  |y%,handle%,icon%|
00002380  29 0d 10 7c 21 ea 20 62  78 25 2c 62 79 25 2c 69  |)..|!. bx%,by%,i|
00002390  78 30 25 2c 69 79 30 25  2c 69 78 31 25 2c 69 79  |x0%,iy0%,ix1%,iy|
000023a0  31 25 0d 10 86 12 f2 67  65 74 77 28 68 61 6e 64  |1%.....getw(hand|
000023b0  6c 65 25 29 0d 10 90 18  f2 67 65 74 69 28 68 61  |le%).....geti(ha|
000023c0  6e 64 6c 65 25 2c 69 63  6f 6e 25 29 0d 10 9a 16  |ndle%,icon%)....|
000023d0  21 71 25 3d 68 61 6e 64  6c 65 25 3a 71 25 21 34  |!q%=handle%:q%!4|
000023e0  3d 35 0d 10 a4 3e 71 25  21 38 3d 62 78 25 2b 69  |=5...>q%!8=bx%+i|
000023f0  78 30 25 3a 71 25 21 31  32 3d 62 79 25 2b 69 79  |x0%:q%!12=by%+iy|
00002400  30 25 3a 71 25 21 31 36  3d 62 78 25 2b 69 78 31  |0%:q%!16=bx%+ix1|
00002410  25 3a 71 25 21 32 30 3d  62 79 25 2b 69 79 31 25  |%:q%!20=by%+iy1%|
00002420  0d 10 ae 2a 71 25 21 32  34 3d 71 25 21 38 2d 6d  |...*q%!24=q%!8-m|
00002430  6f 75 73 65 78 25 3a 71  25 21 32 38 3d 71 25 21  |ousex%:q%!28=q%!|
00002440  31 32 2d 6d 6f 75 73 65  79 25 0d 10 b8 19 c8 99  |12-mousey%......|
00002450  20 22 57 69 6d 70 5f 44  72 61 67 42 6f 78 22 2c  | "Wimp_DragBox",|
00002460  2c 71 25 0d 10 c2 0c 53  46 4c 41 47 25 3d b9 0d  |,q%....SFLAG%=..|
00002470  10 cc 05 e1 0d 10 d6 04  0d 10 e0 14 dd 20 f2 67  |............. .g|
00002480  65 74 77 28 68 61 6e 64  6c 65 25 29 0d 10 ea 38  |etw(handle%)...8|
00002490  21 71 25 3d 68 61 6e 64  6c 65 25 3a c8 99 20 22  |!q%=handle%:.. "|
000024a0  57 69 6d 70 5f 47 65 74  57 69 6e 64 6f 77 53 74  |Wimp_GetWindowSt|
000024b0  61 74 65 22 2c 2c 71 25  3a f2 69 6e 66 6f 28 71  |ate",,q%:.info(q|
000024c0  25 2b 34 29 0d 10 f4 05  e1 0d 10 fe 12 dd 20 f2  |%+4).......... .|
000024d0  67 65 74 69 28 68 25 2c  69 25 29 0d 11 08 2d 21  |geti(h%,i%)...-!|
000024e0  71 25 3d 68 25 3a 71 25  21 34 3d 69 25 3a c8 99  |q%=h%:q%!4=i%:..|
000024f0  20 22 57 69 6d 70 5f 47  65 74 49 63 6f 6e 53 74  | "Wimp_GetIconSt|
00002500  61 74 65 22 2c 2c 71 25  0d 11 12 2e 69 78 30 25  |ate",,q%....ix0%|
00002510  3d 71 25 21 38 3a 69 79  30 25 3d 71 25 21 31 32  |=q%!8:iy0%=q%!12|
00002520  3a 69 78 31 25 3d 71 25  21 31 36 3a 69 79 31 25  |:ix1%=q%!16:iy1%|
00002530  3d 71 25 21 32 30 0d 11  1c 1e 69 66 6c 61 67 73  |=q%!20....iflags|
00002540  25 3d 71 25 21 32 34 3a  69 64 61 74 61 25 3d 71  |%=q%!24:idata%=q|
00002550  25 2b 32 38 0d 11 26 05  e1 0d 11 30 04 0d 11 3a  |%+28..&....0...:|
00002560  0f dd 20 f2 69 6e 66 6f  28 70 25 29 0d 11 44 0d  |.. .info(p%)..D.|
00002570  ea 20 78 30 25 2c 79 30  25 0d 11 4e 27 78 30 25  |. x0%,y0%..N'x0%|
00002580  3d 21 70 25 3a 79 30 25  3d 70 25 21 34 3a 78 31  |=!p%:y0%=p%!4:x1|
00002590  25 3d 70 25 21 38 3a 79  31 25 3d 70 25 21 31 32  |%=p%!8:y1%=p%!12|
000025a0  0d 11 58 35 73 63 78 25  3d 70 25 21 31 36 3a 73  |..X5scx%=p%!16:s|
000025b0  63 79 25 3d 70 25 21 32  30 3a 62 68 61 6e 64 6c  |cy%=p%!20:bhandl|
000025c0  65 25 3d 70 25 21 32 34  3a 66 6c 61 67 73 25 3d  |e%=p%!24:flags%=|
000025d0  70 25 21 32 38 0d 11 62  1d 62 78 25 3d 78 30 25  |p%!28..b.bx%=x0%|
000025e0  2d 73 63 78 25 3a 62 79  25 3d 79 31 25 2d 73 63  |-scx%:by%=y1%-sc|
000025f0  79 25 0d 11 6c 05 e1 0d  11 76 04 0d 11 80 10 dd  |y%..l....v......|
00002600  20 f2 5f 4b 65 79 50 72  65 73 73 0d 11 8a 0e ea  | ._KeyPress.....|
00002610  20 41 25 2c 4b 25 2c 69  25 0d 11 94 0b 69 25 3d  | A%,K%,i%....i%=|
00002620  71 25 21 34 0d 11 9e 0c  4b 25 3d 71 25 21 32 34  |q%!4....K%=q%!24|
00002630  0d 11 a8 0d e7 20 4b 25  3d 31 33 20 8c 0d 11 b2  |..... K%=13 ....|
00002640  13 e7 20 71 25 21 30 3d  70 61 6c 6c 57 25 20 8c  |.. q%!0=pallW% .|
00002650  0d 11 bc 1b 20 20 e7 20  69 25 3d 32 32 20 8c 20  |....  . i%=22 . |
00002660  f2 5f 75 70 53 28 30 2c  69 25 29 0d 11 c6 1b 20  |._upS(0,i%).... |
00002670  20 e7 20 69 25 3d 32 33  20 8c 20 f2 5f 75 70 53  | . i%=23 . ._upS|
00002680  28 32 2c 69 25 29 0d 11  d0 05 cd 0d 11 da 34 e7  |(2,i%)........4.|
00002690  20 71 25 21 30 3d 73 61  76 65 57 25 20 8c 20 69  | q%!0=saveW% . i|
000026a0  25 3d 32 3a f2 5f 47 65  74 4e 61 6d 65 3a f2 5f  |%=2:._GetName:._|
000026b0  53 61 76 65 53 65 74 74  69 6e 67 73 28 32 29 0d  |SaveSettings(2).|
000026c0  11 e4 04 0d 11 ee 05 cc  0d 11 f8 1a c8 99 22 57  |.............."W|
000026d0  69 6d 70 5f 50 72 6f 63  65 73 73 4b 65 79 22 2c  |imp_ProcessKey",|
000026e0  4b 25 0d 12 02 05 cd 0d  12 0c 05 e1 0d 12 16 04  |K%..............|
000026f0  0d 12 20 12 dd 20 f2 5f  75 70 53 28 4e 25 2c 49  |.. .. ._upS(N%,I|
00002700  25 29 0d 12 2a 0e ea 20  41 25 2c 56 25 2c 53 25  |%)..*.. A%,V%,S%|
00002710  0d 12 34 0b 53 25 3d 4e  25 2a 37 0d 12 3e 16 56  |..4.S%=N%*7..>.V|
00002720  25 3d bb 28 24 53 50 6f  69 6e 74 25 28 49 25 29  |%=.($SPoint%(I%)|
00002730  29 0d 12 48 0e e3 20 41  25 3d 30 20 b8 20 36 0d  |)..H.. A%=0 . 6.|
00002740  12 52 29 53 6c 69 64 65  72 25 28 41 25 2c 4e 25  |.R)Slider%(A%,N%|
00002750  29 3d 43 75 72 72 65 6e  74 25 28 41 25 2c 56 25  |)=Current%(A%,V%|
00002760  2c 77 53 69 64 65 25 29  0d 12 5c 4d c8 99 22 57  |,wSide%)..\M.."W|
00002770  69 6d 70 5f 46 6f 72 63  65 52 65 64 72 61 77 22  |imp_ForceRedraw"|
00002780  2c 70 61 6c 6c 57 25 2c  49 58 25 28 53 25 2b 41  |,pallW%,IX%(S%+A|
00002790  25 29 2c 49 59 25 28 53  25 2b 41 25 29 2c 49 58  |%),IY%(S%+A%),IX|
000027a0  31 25 28 53 25 2b 41 25  29 2c 49 59 31 25 28 53  |1%(S%+A%),IY1%(S|
000027b0  25 2b 41 25 29 0d 12 66  05 ed 0d 12 70 05 e1 0d  |%+A%)..f....p...|
000027c0  12 7a 04 0d 12 84 13 dd  20 f2 5f 73 70 75 74 28  |.z...... ._sput(|
000027d0  78 25 2c 58 24 29 0d 12  8e 08 ea 20 41 25 0d 12  |x%,X$)..... A%..|
000027e0  98 12 e3 20 41 25 3d 31  20 b8 20 a9 28 58 24 29  |... A%=1 . .(X$)|
000027f0  0d 12 a2 14 3f 78 25 3d  97 28 c1 58 24 2c 41 25  |....?x%=.(.X$,A%|
00002800  2c 31 29 29 0d 12 ac 09  78 25 2b 3d 31 0d 12 b6  |,1))....x%+=1...|
00002810  05 ed 0d 12 c0 09 3f 78  25 3d 30 0d 12 ca 05 e1  |......?x%=0.....|
00002820  0d 12 d4 04 0d 12 de 0c  dd 20 f2 75 70 61 6c 6c  |......... .upall|
00002830  0d 12 e8 08 ea 20 41 25  0d 12 f2 0f e3 20 41 25  |..... A%..... A%|
00002840  3d 30 20 b8 20 32 30 0d  12 fc 41 c8 99 22 57 69  |=0 . 20...A.."Wi|
00002850  6d 70 5f 46 6f 72 63 65  52 65 64 72 61 77 22 2c  |mp_ForceRedraw",|
00002860  70 61 6c 6c 57 25 2c 49  58 25 28 41 25 29 2c 49  |pallW%,IX%(A%),I|
00002870  59 25 28 41 25 29 2c 49  58 31 25 28 41 25 29 2c  |Y%(A%),IX1%(A%),|
00002880  49 59 31 25 28 41 25 29  0d 13 06 05 ed 0d 13 10  |IY1%(A%)........|
00002890  0e e3 20 41 25 3d 30 20  b8 20 36 0d 13 1a 10 f2  |.. A%=0 . 6.....|
000028a0  75 70 56 6f 6c 28 41 25  2c 30 29 0d 13 24 10 f2  |upVol(A%,0)..$..|
000028b0  75 70 56 6f 6c 28 41 25  2c 31 29 0d 13 2e 05 ed  |upVol(A%,1).....|
000028c0  0d 13 38 05 e1 0d 13 42  04 0d 13 4c 0f dd 20 f2  |..8....B...L.. .|
000028d0  66 6c 61 74 28 42 25 29  0d 13 56 08 ea 20 41 25  |flat(B%)..V.. A%|
000028e0  0d 13 60 0e e3 20 41 25  3d 30 20 b8 20 36 0d 13  |..`.. A%=0 . 6..|
000028f0  6a 15 53 6c 69 64 65 72  25 28 41 25 2c 42 25 29  |j.Slider%(A%,B%)|
00002900  3d 31 33 0d 13 74 05 ed  0d 13 7e 05 e1 0d 13 88  |=13..t....~.....|
00002910  04 0d 13 92 11 f4 20 44  72 61 67 20 53 6c 69 64  |...... Drag Slid|
00002920  65 72 0d 13 9c 10 dd 20  f2 64 72 61 67 53 6c 69  |er..... .dragSli|
00002930  64 65 0d 13 a6 0e ea 20  53 25 2c 54 25 2c 56 25  |de..... S%,T%,V%|
00002940  0d 13 b0 2b 20 20 20 e7  20 44 72 61 67 4f 6e 25  |...+   . DragOn%|
00002950  3e 31 33 20 8c 20 53 25  3d 32 3a 56 25 3d 31 20  |>13 . S%=2:V%=1 |
00002960  8b 20 53 25 3d 30 3a 56  25 3d 30 0d 13 ba 2d 20  |. S%=0:V%=0...- |
00002970  20 20 53 6c 69 64 65 72  25 28 44 72 61 67 4f 6e  |  Slider%(DragOn|
00002980  25 2d 37 2a 53 25 2c 53  25 29 3d 28 59 25 2d 38  |%-7*S%,S%)=(Y%-8|
00002990  36 2d 79 6f 25 29 2f 38  0d 13 c4 42 20 20 20 e7  |6-yo%)/8...B   .|
000029a0  20 53 6c 69 64 65 72 25  28 44 72 61 67 4f 6e 25  | Slider%(DragOn%|
000029b0  2d 37 2a 53 25 2c 53 25  29 3e 32 35 20 8c 20 53  |-7*S%,S%)>25 . S|
000029c0  6c 69 64 65 72 25 28 44  72 61 67 4f 6e 25 2d 37  |lider%(DragOn%-7|
000029d0  2a 53 25 2c 53 25 29 3d  32 35 0d 13 ce 40 20 20  |*S%,S%)=25...@  |
000029e0  20 e7 20 53 6c 69 64 65  72 25 28 44 72 61 67 4f  | . Slider%(DragO|
000029f0  6e 25 2d 37 2a 53 25 2c  53 25 29 3c 31 20 8c 20  |n%-7*S%,S%)<1 . |
00002a00  53 6c 69 64 65 72 25 28  44 72 61 67 4f 6e 25 2d  |Slider%(DragOn%-|
00002a10  37 2a 53 25 2c 53 25 29  3d 31 0d 13 d8 1e 20 20  |7*S%,S%)=1....  |
00002a20  20 f2 75 70 56 6f 6c 28  44 72 61 67 4f 6e 25 2d  | .upVol(DragOn%-|
00002a30  37 2a 53 25 2c 56 25 29  0d 13 e2 5b 71 25 21 30  |7*S%,V%)...[q%!0|
00002a40  3d 70 61 6c 6c 57 25 3a  71 25 21 34 3d 49 58 25  |=pallW%:q%!4=IX%|
00002a50  28 44 72 61 67 4f 6e 25  29 3a 71 25 21 38 3d 49  |(DragOn%):q%!8=I|
00002a60  59 25 28 44 72 61 67 4f  6e 25 29 3a 71 25 21 31  |Y%(DragOn%):q%!1|
00002a70  32 3d 49 58 31 25 28 44  72 61 67 4f 6e 25 29 3a  |2=IX1%(DragOn%):|
00002a80  71 25 21 31 36 3d 49 59  31 25 28 44 72 61 67 4f  |q%!16=IY1%(DragO|
00002a90  6e 25 29 0d 13 ec 04 0d  13 f6 27 20 20 c8 99 22  |n%).......'  .."|
00002aa0  57 69 6d 70 5f 55 70 64  61 74 65 57 69 6e 64 6f  |Wimp_UpdateWindo|
00002ab0  77 22 2c 2c 71 25 20 b8  20 4d 6f 72 65 25 0d 14  |w",,q% . More%..|
00002ac0  00 0d 20 c8 95 20 4d 6f  72 65 25 0d 14 0a 1c f2  |.. .. More%.....|
00002ad0  64 53 6c 69 64 65 28 44  72 61 67 4f 6e 25 2d 37  |dSlide(DragOn%-7|
00002ae0  2a 53 25 2c 53 25 29 0d  14 14 04 0d 14 1e 27 20  |*S%,S%).......' |
00002af0  20 c8 99 22 57 69 6d 70  5f 47 65 74 52 65 63 74  | .."Wimp_GetRect|
00002b00  61 6e 67 6c 65 22 2c 2c  71 25 20 b8 20 4d 6f 72  |angle",,q% . Mor|
00002b10  65 25 0d 14 28 06 20 ce  0d 14 32 14 20 20 20 58  |e%..(. ...2.   X|
00002b20  4c 25 3d 58 25 3a 59 4c  25 3d 59 25 0d 14 3c 05  |L%=X%:YL%=Y%..<.|
00002b30  e1 0d 14 46 04 0d 14 50  18 dd 20 f2 5f 53 61 76  |...F...P.. ._Sav|
00002b40  65 53 65 74 74 69 6e 67  73 28 69 25 29 0d 14 5a  |eSettings(i%)..Z|
00002b50  0b ea 20 41 25 2c 42 25  0d 14 64 0c e7 20 69 25  |.. A%,B%..d.. i%|
00002b60  3d 30 20 8c 0d 14 6e 2c  20 20 20 20 20 20 20 20  |=0 ...n,        |
00002b70  20 20 20 20 c8 99 20 22  57 69 6d 70 5f 47 65 74  |    .. "Wimp_Get|
00002b80  50 6f 69 6e 74 65 72 49  6e 66 6f 22 2c 2c 71 25  |PointerInfo",,q%|
00002b90  0d 14 78 2e 20 20 20 20  20 20 20 20 20 20 20 20  |..x.            |
00002ba0  f2 64 72 61 67 69 63 6f  6e 28 71 25 21 30 2c 71  |.dragicon(q%!0,q|
00002bb0  25 21 34 2c 73 61 76 65  57 25 2c 69 25 29 0d 14  |%!4,saveW%,i%)..|
00002bc0  82 06 20 cd 0d 14 8c 0d  20 e7 20 69 25 3d 32 20  |.. ..... . i%=2 |
00002bd0  8c 0d 14 96 50 20 20 e7  20 a7 66 6e 24 2c 22 3a  |....P  . .fn$,":|
00002be0  22 29 20 8c 20 f2 5f 53  61 76 65 28 66 6e 24 29  |") . ._Save(fn$)|
00002bf0  20 8b 20 f2 5f 73 65 74  75 70 57 28 22 44 72 61  | . ._setupW("Dra|
00002c00  67 20 74 68 65 20 49 63  6f 6e 20 69 6e 74 6f 20  |g the Icon into |
00002c10  61 20 44 69 72 65 63 74  6f 72 79 22 2b 66 6e 24  |a Directory"+fn$|
00002c20  29 0d 14 a0 1e 20 20 c8  99 20 22 57 69 6d 70 5f  |)....  .. "Wimp_|
00002c30  43 72 65 61 74 65 4d 65  6e 75 22 2c 2c 2d 31 0d  |CreateMenu",,-1.|
00002c40  14 aa 06 20 cd 0d 14 b4  05 e1 0d 14 be 04 0d 14  |... ............|
00002c50  c8 10 dd 20 f2 5f 53 61  76 65 28 66 24 29 0d 14  |... ._Save(f$)..|
00002c60  d2 0e ea 20 41 25 2c 42  25 2c 53 25 0d 14 dc 0c  |... A%,B%,S%....|
00002c70  46 25 3d ae 28 66 24 29  0d 14 e6 38 e7 20 46 25  |F%=.(f$)...8. F%|
00002c80  3d 30 20 8c 20 f2 5f 73  65 74 75 70 57 28 22 43  |=0 . ._setupW("C|
00002c90  61 6e 27 74 20 6f 70 65  6e 20 73 65 74 74 69 6e  |an't open settin|
00002ca0  67 73 20 66 69 6c 65 22  29 20 e5 20 8d 44 40 55  |gs file") . .D@U|
00002cb0  0d 14 f0 0e e3 20 53 25  3d 30 20 b8 20 31 0d 14  |..... S%=0 . 1..|
00002cc0  fa 0e e3 20 41 25 3d 30  20 b8 20 36 0d 15 04 10  |... A%=0 . 6....|
00002cd0  e3 20 42 25 3d 30 20 b8  20 32 35 35 0d 15 0e 1b  |. B%=0 . 255....|
00002ce0  f1 23 46 25 2c 43 75 72  72 65 6e 74 25 28 41 25  |.#F%,Current%(A%|
00002cf0  2c 42 25 2c 53 25 29 0d  15 18 09 ed 3a ed 3a ed  |,B%,S%).....:.:.|
00002d00  0d 15 22 08 d9 23 46 25  0d 15 2c 1b ff 28 22 53  |.."..#F%..,..("S|
00002d10  45 54 54 59 50 45 20 22  2b 66 24 2b 22 20 30 34  |ETTYPE "+f$+" 04|
00002d20  38 22 29 0d 15 36 23 e7  20 73 65 63 75 72 65 46  |8")..6#. secureF|
00002d30  25 3c 3e 2d 31 20 8c 20  f2 5f 50 75 74 4e 61 6d  |%<>-1 . ._PutNam|
00002d40  65 28 66 6e 24 29 0d 15  40 05 e1 0d 15 4a 04 0d  |e(fn$)..@....J..|
00002d50  15 54 19 dd 20 f2 69 6e  74 65 72 70 6f 6c 61 74  |.T.. .interpolat|
00002d60  65 28 46 25 2c 54 25 29  0d 15 5e 10 ea 20 41 25  |e(F%,T%)..^.. A%|
00002d70  2c 42 25 2c 49 2c 43 25  0d 15 68 0e e3 20 42 25  |,B%,I,C%..h.. B%|
00002d80  3d 30 20 b8 20 36 0d 15  72 2b 49 3d 28 53 6c 69  |=0 . 6..r+I=(Sli|
00002d90  64 65 72 25 28 42 25 2c  30 29 2d 53 6c 69 64 65  |der%(B%,0)-Slide|
00002da0  72 25 28 42 25 2c 32 29  29 2f 28 54 25 2d 46 25  |r%(B%,2))/(T%-F%|
00002db0  29 0d 15 7c 08 43 25 3d  30 0d 15 86 10 e3 20 41  |)..|.C%=0..... A|
00002dc0  25 3d 46 25 20 b8 20 54  25 0d 15 90 2f 43 75 72  |%=F% . T%.../Cur|
00002dd0  72 65 6e 74 25 28 42 25  2c 41 25 2c 77 53 69 64  |rent%(B%,A%,wSid|
00002de0  65 25 29 3d 53 6c 69 64  65 72 25 28 42 25 2c 30  |e%)=Slider%(B%,0|
00002df0  29 2d 28 49 2a 43 25 29  0d 15 9a 09 43 25 2b 3d  |)-(I*C%)....C%+=|
00002e00  31 0d 15 a4 07 ed 3a ed  0d 15 ae 0c f2 75 70 4f  |1.....:......upO|
00002e10  76 69 65 77 0d 15 b8 05  e1 0d 15 c2 04 0d 15 cc  |view............|
00002e20  10 dd 20 f2 69 6e 69 74  53 6c 69 64 65 0d 15 d6  |.. .initSlide...|
00002e30  0e ea 20 46 25 2c 41 25  2c 42 25 0d 15 e0 1c f4  |.. F%,A%,B%.....|
00002e40  20 49 6e 69 74 69 6c 69  73 65 20 70 72 69 6e 74  | Initilise print|
00002e50  65 72 20 70 6f 72 74 0d  15 ea 3b f4 20 53 65 65  |er port...;. See|
00002e60  20 69 66 20 77 65 20 6e  65 65 64 20 74 6f 20 6c  | if we need to l|
00002e70  6f 61 64 20 69 6e 20 6d  6f 64 75 6c 65 20 74 6f  |oad in module to|
00002e80  20 68 61 76 65 20 53 59  53 20 70 61 72 61 6c 6c  | have SYS parall|
00002e90  65 6c 0d 15 f4 2b f4 20  63 6f 6d 6d 61 6e 64 73  |el...+. commands|
00002ea0  20 77 69 74 68 20 61 20  73 69 6e 67 6c 65 20 64  | with a single d|
00002eb0  69 72 65 63 74 69 6f 6e  20 70 6f 72 74 0d 15 fe  |irection port...|
00002ec0  1e c8 99 22 4f 53 5f 52  65 61 64 53 79 73 49 6e  |..."OS_ReadSysIn|
00002ed0  66 6f 22 2c 32 20 b8 20  2c 46 25 0d 16 08 12 e7  |fo",2 . ,F%.....|
00002ee0  20 28 46 25 20 80 20 31  29 3d 30 20 8c 0d 16 12  | (F% . 1)=0 ....|
00002ef0  24 ff 28 22 2a 52 4d 4c  4f 41 44 20 3c 57 61 68  |$.("*RMLOAD <Wah|
00002f00  57 61 68 24 44 69 72 3e  2e 4d 6f 6e 6f 5f 44 22  |Wah$Dir>.Mono_D"|
00002f10  29 0d 16 1c 05 cd 0d 16  26 17 f4 20 4d 61 6b 65  |).......&.. Make|
00002f20  20 50 6f 72 74 20 4f 75  74 70 75 74 73 0d 16 30  | Port Outputs..0|
00002f30  1b c8 99 22 50 61 72 61  6c 6c 65 6c 5f 4f 70 22  |..."Parallel_Op"|
00002f40  2c 32 2c 30 2c 26 44 46  0d 16 3a 19 f4 20 50 75  |,2,0,&DF..:.. Pu|
00002f50  74 20 31 73 20 6f 6e 20  61 6c 6c 20 6c 69 6e 65  |t 1s on all line|
00002f60  73 0d 16 44 19 c8 99 22  50 61 72 61 6c 6c 65 6c  |s..D..."Parallel|
00002f70  5f 4f 70 22 2c 31 2c 26  46 46 0d 16 4e 04 0d 16  |_Op",1,&FF..N...|
00002f80  58 0e e3 20 53 25 3d 30  20 b8 20 31 0d 16 62 0e  |X.. S%=0 . 1..b.|
00002f90  e3 20 42 25 3d 30 20 b8  20 36 0d 16 6c 14 4c 61  |. B%=0 . 6..l.La|
00002fa0  73 74 53 25 28 42 25 2c  53 25 29 3d 2d 31 0d 16  |stS%(B%,S%)=-1..|
00002fb0  76 07 ed 3a ed 0d 16 80  0e e3 20 42 25 3d 30 20  |v..:...... B%=0 |
00002fc0  b8 20 31 0d 16 8a 0e e3  20 41 25 3d 30 20 b8 20  |. 1..... A%=0 . |
00002fd0  36 0d 16 94 14 53 6c 69  64 65 72 25 28 41 25 2c  |6....Slider%(A%,|
00002fe0  42 25 29 3d 31 0d 16 9e  07 ed 3a ed 0d 16 a8 0c  |B%)=1.....:.....|
00002ff0  f2 6c 6f 61 64 73 65 74  0d 16 b2 0f e3 20 41 25  |.loadset..... A%|
00003000  3d 30 20 b8 20 32 36 0d  16 bc 0f f3 20 47 61 69  |=0 . 26..... Gai|
00003010  6e 25 28 41 25 29 0d 16  c6 05 ed 0d 16 d0 39 dc  |n%(A%)........9.|
00003020  20 26 32 46 2c 26 32 46  2c 26 32 44 2c 26 32 39  | &2F,&2F,&2D,&29|
00003030  2c 26 30 31 2c 26 31 36  2c 26 32 41 2c 26 31 32  |,&01,&16,&2A,&12|
00003040  2c 26 30 32 2c 26 30 34  2c 26 30 38 2c 26 31 30  |,&02,&04,&08,&10|
00003050  2c 26 32 30 0d 16 da 3b  dc 20 30 2c 26 36 30 2c  |,&20...;. 0,&60,|
00003060  26 35 30 2c 26 34 38 2c  26 34 34 2c 26 34 32 2c  |&50,&48,&44,&42,|
00003070  26 35 32 2c 26 36 41 2c  26 35 36 2c 26 34 31 2c  |&52,&6A,&56,&41,|
00003080  26 36 39 2c 26 36 44 2c  26 36 46 2c 26 36 46 0d  |&69,&6D,&6F,&6F.|
00003090  16 e4 0e e3 20 42 25 3d  30 20 b8 20 31 0d 16 ee  |.... B%=0 . 1...|
000030a0  0e e3 20 41 25 3d 30 20  b8 20 36 0d 16 f8 11 f2  |.. A%=0 . 6.....|
000030b0  75 70 56 6f 6c 28 41 25  2c 42 25 29 0d 17 02 07  |upVol(A%,B%)....|
000030c0  ed 3a ed 0d 17 0c 05 e1  0d 17 16 04 0d 17 20 0e  |.:............ .|
000030d0  dd 20 f2 6c 6f 61 64 73  65 74 0d 17 2a 0e ea 20  |. .loadset..*.. |
000030e0  41 25 2c 42 25 2c 53 25  0d 17 34 23 f2 5f 6c 6f  |A%,B%,S%..4#._lo|
000030f0  61 64 28 22 3c 57 61 68  57 61 68 24 44 69 72 3e  |ad("<WahWah$Dir>|
00003100  2e 53 65 74 74 69 6e 67  73 22 29 0d 17 3e 05 e1  |.Settings")..>..|
00003110  0d 17 48 04 0d 17 52 10  dd 20 f2 5f 6c 6f 61 64  |..H...R.. ._load|
00003120  28 66 24 29 0d 17 5c 0c  46 25 3d 8e 28 66 24 29  |(f$)..\.F%=.(f$)|
00003130  0d 17 66 3a e7 20 46 25  3d 30 20 8c 20 f2 5f 73  |..f:. F%=0 . ._s|
00003140  65 74 75 70 57 28 22 43  61 6e 27 74 20 6f 70 65  |etupW("Can't ope|
00003150  6e 20 73 65 74 74 69 6e  67 73 20 66 69 6c 65 22  |n settings file"|
00003160  29 20 3a 20 e5 20 8d 64  40 57 0d 17 70 0e e3 20  |) : . .d@W..p.. |
00003170  53 25 3d 30 20 b8 20 31  0d 17 7a 0e e3 20 41 25  |S%=0 . 1..z.. A%|
00003180  3d 30 20 b8 20 36 0d 17  84 10 e3 20 42 25 3d 30  |=0 . 6..... B%=0|
00003190  20 b8 20 32 35 35 0d 17  8e 1b e8 23 46 25 2c 43  | . 255.....#F%,C|
000031a0  75 72 72 65 6e 74 25 28  41 25 2c 42 25 2c 53 25  |urrent%(A%,B%,S%|
000031b0  29 0d 17 98 09 ed 3a ed  3a ed 0d 17 a2 08 d9 23  |).....:.:......#|
000031c0  46 25 0d 17 ac 0a f2 74  31 28 30 29 0d 17 b6 0c  |F%.....t1(0)....|
000031d0  f2 74 32 28 32 35 35 29  0d 17 c0 05 e1 0d 17 ca  |.t2(255)........|
000031e0  04 0d 17 d4 13 dd 20 f2  75 70 56 6f 6c 28 43 25  |...... .upVol(C%|
000031f0  2c 53 25 29 0d 17 de 0e  ea 20 41 25 2c 42 25 2c  |,S%)..... A%,B%,|
00003200  44 25 0d 17 e8 10 44 25  3d 43 25 2b 31 2b 53 25  |D%....D%=C%+1+S%|
00003210  2a 37 0d 17 f2 0f 41 25  3d 44 25 20 84 20 26 38  |*7....A%=D% . &8|
00003220  30 0d 17 fc 0d f2 73 65  6e 64 28 41 25 29 0d 18  |0.....send(A%)..|
00003230  06 26 f2 73 65 6e 64 28  47 61 69 6e 25 28 43 75  |.&.send(Gain%(Cu|
00003240  72 72 65 6e 74 25 28 43  25 2c 50 65 64 25 2c 53  |rrent%(C%,Ped%,S|
00003250  25 29 29 29 0d 18 10 05  e1 0d 18 1a 04 0d 18 24  |%)))...........$|
00003260  0f dd 20 f2 73 65 6e 64  28 73 25 29 0d 18 2e 0b  |.. .send(s%)....|
00003270  ea 20 41 25 2c 42 25 0d  18 38 0e e3 20 42 25 3d  |. A%,B%..8.. B%=|
00003280  30 20 b8 20 37 0d 18 42  1a 41 25 3d 28 28 73 25  |0 . 7..B.A%=((s%|
00003290  20 80 20 31 29 3c 3c 34  29 20 84 20 26 34 46 0d  | . 1)<<4) . &4F.|
000032a0  18 4c 18 c8 99 22 50 61  72 61 6c 6c 65 6c 5f 4f  |.L..."Parallel_O|
000032b0  70 22 2c 31 2c 41 25 0d  18 56 0f 41 25 3d 41 25  |p",1,A%..V.A%=A%|
000032c0  20 84 20 26 32 30 0d 18  60 18 c8 99 22 50 61 72  | . &20..`..."Par|
000032d0  61 6c 6c 65 6c 5f 4f 70  22 2c 31 2c 41 25 0d 18  |allel_Op",1,A%..|
000032e0  6a 0c 73 25 3d 73 25 3e  3e 31 0d 18 74 05 ed 0d  |j.s%=s%>>1..t...|
000032f0  18 7e 19 c8 99 22 50 61  72 61 6c 6c 65 6c 5f 4f  |.~..."Parallel_O|
00003300  70 22 2c 31 2c 26 42 46  0d 18 88 19 c8 99 22 50  |p",1,&BF......"P|
00003310  61 72 61 6c 6c 65 6c 5f  4f 70 22 2c 31 2c 26 46  |arallel_Op",1,&F|
00003320  46 0d 18 92 05 e1 0d 18  9c 04 0d 18 a6 0f dd 20  |F.............. |
00003330  f2 5f 47 65 74 4e 61 6d  65 0d 18 b0 0e ea 20 54  |._GetName..... T|
00003340  25 2c 41 25 2c 46 24 0d  18 ba 10 46 24 3d 22 22  |%,A%,F$....F$=""|
00003350  3a 66 6e 24 3d 22 22 0d  18 c4 16 71 25 21 30 3d  |:fn$=""....q%!0=|
00003360  73 61 76 65 57 25 3a 71  25 21 34 3d 31 0d 18 ce  |saveW%:q%!4=1...|
00003370  1e c8 99 20 22 57 69 6d  70 5f 47 65 74 49 63 6f  |... "Wimp_GetIco|
00003380  6e 53 74 61 74 65 22 2c  2c 71 25 0d 18 d8 0c 54  |nState",,q%....T|
00003390  25 3d 71 25 21 32 38 0d  18 e2 09 54 25 2d 3d 31  |%=q%!28....T%-=1|
000033a0  0d 18 ec 05 f5 0d 18 f6  09 54 25 2b 3d 31 0d 19  |.........T%+=1..|
000033b0  00 10 46 24 3d 46 24 2b  bd 28 3f 54 25 29 0d 19  |..F$=F$+.(?T%)..|
000033c0  0a 0b fd 20 3f 54 25 3d  30 0d 19 14 16 66 6e 24  |... ?T%=0....fn$|
000033d0  3d c1 46 24 2c 31 2c a9  28 46 24 29 2d 31 29 0d  |=.F$,1,.(F$)-1).|
000033e0  19 1e 05 e1 0d 19 28 04  0d 19 32 13 dd 20 f2 5f  |......(...2.. ._|
000033f0  50 75 74 4e 61 6d 65 28  70 24 29 0d 19 3c 08 ea  |PutName(p$)..<..|
00003400  20 54 25 0d 19 46 16 71  25 21 30 3d 73 61 76 65  | T%..F.q%!0=save|
00003410  57 25 3a 71 25 21 34 3d  31 0d 19 50 1e c8 99 20  |W%:q%!4=1..P... |
00003420  22 57 69 6d 70 5f 47 65  74 49 63 6f 6e 53 74 61  |"Wimp_GetIconSta|
00003430  74 65 22 2c 2c 71 25 0d  19 5a 0c 54 25 3d 71 25  |te",,q%..Z.T%=q%|
00003440  21 32 38 0d 19 64 0a 24  54 25 3d 70 24 0d 19 6e  |!28..d.$T%=p$..n|
00003450  11 21 28 54 25 2b a9 28  70 24 29 29 3d 30 0d 19  |.!(T%+.(p$))=0..|
00003460  78 05 e1 0d 19 82 04 0d  19 8c 0a dd 20 f2 69 6e  |x........... .in|
00003470  76 0d 19 96 13 ea 20 73  73 25 2c 64 73 25 2c 41  |v..... ss%,ds%,A|
00003480  25 2c 42 25 0d 19 a0 0f  73 73 25 3d 31 3a 64 73  |%,B%....ss%=1:ds|
00003490  25 3d 30 0d 19 aa 1d e7  20 77 53 69 64 65 25 3c  |%=0..... wSide%<|
000034a0  3e 31 20 8c 20 73 73 25  3d 30 3a 64 73 25 3d 31  |>1 . ss%=0:ds%=1|
000034b0  0d 19 b4 0e e3 20 41 25  3d 30 20 b8 20 36 0d 19  |..... A%=0 . 6..|
000034c0  be 10 e3 20 42 25 3d 30  20 b8 20 32 35 35 0d 19  |... B%=0 . 255..|
000034d0  c8 2e 43 75 72 72 65 6e  74 25 28 41 25 2c 42 25  |..Current%(A%,B%|
000034e0  2c 64 73 25 29 3d 32 36  2d 43 75 72 72 65 6e 74  |,ds%)=26-Current|
000034f0  25 28 41 25 2c 42 25 2c  73 73 25 29 0d 19 d2 07  |%(A%,B%,ss%)....|
00003500  ed 3a ed 0d 19 dc 05 e1  0d 19 e6 04 0d 19 f0 0a  |.:..............|
00003510  dd 20 f2 72 65 76 0d 19  fa 13 ea 20 73 73 25 2c  |. .rev..... ss%,|
00003520  64 73 25 2c 41 25 2c 42  25 0d 1a 04 0f 73 73 25  |ds%,A%,B%....ss%|
00003530  3d 31 3a 64 73 25 3d 30  0d 1a 0e 1d e7 20 77 53  |=1:ds%=0..... wS|
00003540  69 64 65 25 3c 3e 31 20  8c 20 73 73 25 3d 30 3a  |ide%<>1 . ss%=0:|
00003550  64 73 25 3d 31 0d 1a 18  0e e3 20 41 25 3d 30 20  |ds%=1..... A%=0 |
00003560  b8 20 36 0d 1a 22 10 e3  20 42 25 3d 30 20 b8 20  |. 6..".. B%=0 . |
00003570  32 35 35 0d 1a 2c 2f 43  75 72 72 65 6e 74 25 28  |255..,/Current%(|
00003580  41 25 2c 42 25 2c 64 73  25 29 3d 43 75 72 72 65  |A%,B%,ds%)=Curre|
00003590  6e 74 25 28 41 25 2c 32  35 35 2d 42 25 2c 73 73  |nt%(A%,255-B%,ss|
000035a0  25 29 0d 1a 36 07 ed 3a  ed 0d 1a 40 05 e1 0d 1a  |%)..6..:...@....|
000035b0  4a 04 0d 1a 54 0b dd 20  f2 73 61 6d 65 0d 1a 5e  |J...T.. .same..^|
000035c0  13 ea 20 73 73 25 2c 64  73 25 2c 41 25 2c 42 25  |.. ss%,ds%,A%,B%|
000035d0  0d 1a 68 0f 73 73 25 3d  31 3a 64 73 25 3d 30 0d  |..h.ss%=1:ds%=0.|
000035e0  1a 72 1d e7 20 77 53 69  64 65 25 3c 3e 31 20 8c  |.r.. wSide%<>1 .|
000035f0  20 73 73 25 3d 30 3a 64  73 25 3d 31 0d 1a 7c 0e  | ss%=0:ds%=1..|.|
00003600  e3 20 41 25 3d 30 20 b8  20 36 0d 1a 86 10 e3 20  |. A%=0 . 6..... |
00003610  42 25 3d 30 20 b8 20 32  35 35 0d 1a 90 2b 43 75  |B%=0 . 255...+Cu|
00003620  72 72 65 6e 74 25 28 41  25 2c 42 25 2c 64 73 25  |rrent%(A%,B%,ds%|
00003630  29 3d 43 75 72 72 65 6e  74 25 28 41 25 2c 42 25  |)=Current%(A%,B%|
00003640  2c 73 73 25 29 0d 1a 9a  07 ed 3a ed 0d 1a a4 05  |,ss%).....:.....|
00003650  e1 0d 1a ae 04 0d 1a b8  12 dd 20 f2 64 42 6f 78  |.......... .dBox|
00003660  28 6e 25 2c 73 25 29 0d  1a c2 11 ea 20 41 25 2c  |(n%,s%)..... A%,|
00003670  58 25 2c 59 25 2c 70 25  0d 1a cc 15 59 25 3d 79  |X%,Y%,p%....Y%=y|
00003680  6f 25 2d 32 31 2d 28 73  25 2a 34 32 29 0d 1a d6  |o%-21-(s%*42)...|
00003690  17 58 25 3d 78 6f 25 2b  31 31 32 2b 28 31 33 36  |.X%=xo%+112+(136|
000036a0  2a 6e 25 29 0d 1a e0 14  e3 20 41 25 3d 30 20 b8  |*n%)..... A%=0 .|
000036b0  20 31 32 37 20 88 20 32  0d 1a ea 2c 86 20 58 25  | 127 . 2...,. X%|
000036c0  2b 41 25 2c 59 25 2c 58  25 2b 41 25 2c 59 25 2b  |+A%,Y%,X%+A%,Y%+|
000036d0  43 75 72 72 65 6e 74 25  28 6e 25 2c 41 25 2a 32  |Current%(n%,A%*2|
000036e0  2c 73 25 29 0d 1a f4 05  ed 0d 1a fe 05 e1 0d 1b  |,s%)............|
000036f0  08 04 0d 1b 12 0e dd 20  f2 75 70 4f 76 69 65 77  |....... .upOview|
00003700  0d 1b 1c 08 ea 20 41 25  0d 1b 26 10 e3 20 41 25  |..... A%..&.. A%|
00003710  3d 33 30 20 b8 20 34 33  0d 1b 30 41 c8 99 22 57  |=30 . 43..0A.."W|
00003720  69 6d 70 5f 46 6f 72 63  65 52 65 64 72 61 77 22  |imp_ForceRedraw"|
00003730  2c 70 61 6c 6c 57 25 2c  49 58 25 28 41 25 29 2c  |,pallW%,IX%(A%),|
00003740  49 59 25 28 41 25 29 2c  49 58 31 25 28 41 25 29  |IY%(A%),IX1%(A%)|
00003750  2c 49 59 31 25 28 41 25  29 0d 1b 3a 05 ed 0d 1b  |,IY1%(A%)..:....|
00003760  44 05 e1 0d 1b 4e 04 0d  1b 58 0d dd 20 f2 74 31  |D....N...X.. .t1|
00003770  28 70 25 29 0d 1b 62 08  ea 20 41 25 0d 1b 6c 16  |(p%)..b.. A%..l.|
00003780  24 53 50 6f 69 6e 74 25  28 32 32 29 3d c3 28 70  |$SPoint%(22)=.(p|
00003790  25 29 0d 1b 76 41 c8 99  22 57 69 6d 70 5f 46 6f  |%)..vA.."Wimp_Fo|
000037a0  72 63 65 52 65 64 72 61  77 22 2c 70 61 6c 6c 57  |rceRedraw",pallW|
000037b0  25 2c 49 58 25 28 32 32  29 2c 49 59 25 28 32 32  |%,IX%(22),IY%(22|
000037c0  29 2c 49 58 31 25 28 32  32 29 2c 49 59 31 25 28  |),IX1%(22),IY1%(|
000037d0  32 32 29 0d 1b 80 0e e3  20 41 25 3d 30 20 b8 20  |22)..... A%=0 . |
000037e0  36 0d 1b 8a 28 53 6c 69  64 65 72 25 28 41 25 2c  |6...(Slider%(A%,|
000037f0  30 29 3d 43 75 72 72 65  6e 74 25 28 41 25 2c 70  |0)=Current%(A%,p|
00003800  25 2c 77 53 69 64 65 25  29 0d 1b 94 41 c8 99 22  |%,wSide%)...A.."|
00003810  57 69 6d 70 5f 46 6f 72  63 65 52 65 64 72 61 77  |Wimp_ForceRedraw|
00003820  22 2c 70 61 6c 6c 57 25  2c 49 58 25 28 41 25 29  |",pallW%,IX%(A%)|
00003830  2c 49 59 25 28 41 25 29  2c 49 58 31 25 28 41 25  |,IY%(A%),IX1%(A%|
00003840  29 2c 49 59 31 25 28 41  25 29 0d 1b 9e 05 ed 0d  |),IY1%(A%)......|
00003850  1b a8 05 e1 0d 1b b2 04  0d 1b bc 0d dd 20 f2 74  |............. .t|
00003860  32 28 70 25 29 0d 1b c6  08 ea 20 41 25 0d 1b d0  |2(p%)..... A%...|
00003870  16 24 53 50 6f 69 6e 74  25 28 32 33 29 3d c3 28  |.$SPoint%(23)=.(|
00003880  70 25 29 0d 1b da 41 c8  99 22 57 69 6d 70 5f 46  |p%)...A.."Wimp_F|
00003890  6f 72 63 65 52 65 64 72  61 77 22 2c 70 61 6c 6c  |orceRedraw",pall|
000038a0  57 25 2c 49 58 25 28 32  33 29 2c 49 59 25 28 32  |W%,IX%(23),IY%(2|
000038b0  33 29 2c 49 58 31 25 28  32 33 29 2c 49 59 31 25  |3),IX1%(23),IY1%|
000038c0  28 32 33 29 0d 1b e4 0e  e3 20 41 25 3d 30 20 b8  |(23)..... A%=0 .|
000038d0  20 36 0d 1b ee 28 53 6c  69 64 65 72 25 28 41 25  | 6...(Slider%(A%|
000038e0  2c 32 29 3d 43 75 72 72  65 6e 74 25 28 41 25 2c  |,2)=Current%(A%,|
000038f0  70 25 2c 77 53 69 64 65  25 29 0d 1b f8 4d c8 99  |p%,wSide%)...M..|
00003900  22 57 69 6d 70 5f 46 6f  72 63 65 52 65 64 72 61  |"Wimp_ForceRedra|
00003910  77 22 2c 70 61 6c 6c 57  25 2c 49 58 25 28 41 25  |w",pallW%,IX%(A%|
00003920  2b 31 34 29 2c 49 59 25  28 41 25 2b 31 34 29 2c  |+14),IY%(A%+14),|
00003930  49 58 31 25 28 41 25 2b  31 34 29 2c 49 59 31 25  |IX1%(A%+14),IY1%|
00003940  28 41 25 2b 31 34 29 0d  1c 02 05 ed 0d 1c 0c 05  |(A%+14).........|
00003950  e1 0d 1c 16 04 0d 1c 20  09 dd 20 f2 74 33 0d 1c  |....... .. .t3..|
00003960  2a 08 ea 20 41 25 0d 1c  34 1d 24 53 50 6f 69 6e  |*.. A%..4.$SPoin|
00003970  74 25 28 32 33 29 3d 24  53 50 6f 69 6e 74 25 28  |t%(23)=$SPoint%(|
00003980  32 32 29 0d 1c 3e 41 c8  99 22 57 69 6d 70 5f 46  |22)..>A.."Wimp_F|
00003990  6f 72 63 65 52 65 64 72  61 77 22 2c 70 61 6c 6c  |orceRedraw",pall|
000039a0  57 25 2c 49 58 25 28 32  33 29 2c 49 59 25 28 32  |W%,IX%(23),IY%(2|
000039b0  33 29 2c 49 58 31 25 28  32 33 29 2c 49 59 31 25  |3),IX1%(23),IY1%|
000039c0  28 32 33 29 0d 1c 48 0e  e3 20 41 25 3d 30 20 b8  |(23)..H.. A%=0 .|
000039d0  20 36 0d 1c 52 1f 53 6c  69 64 65 72 25 28 41 25  | 6..R.Slider%(A%|
000039e0  2c 32 29 3d 53 6c 69 64  65 72 25 28 41 25 2c 30  |,2)=Slider%(A%,0|
000039f0  29 0d 1c 5c 4d c8 99 22  57 69 6d 70 5f 46 6f 72  |)..\M.."Wimp_For|
00003a00  63 65 52 65 64 72 61 77  22 2c 70 61 6c 6c 57 25  |ceRedraw",pallW%|
00003a10  2c 49 58 25 28 41 25 2b  31 34 29 2c 49 59 25 28  |,IX%(A%+14),IY%(|
00003a20  41 25 2b 31 34 29 2c 49  58 31 25 28 41 25 2b 31  |A%+14),IX1%(A%+1|
00003a30  34 29 2c 49 59 31 25 28  41 25 2b 31 34 29 0d 1c  |4),IY1%(A%+14)..|
00003a40  66 05 ed 0d 1c 70 05 e1  0d 1c 7a 04 0d 1c 84 09  |f....p....z.....|
00003a50  dd 20 f2 74 34 0d 1c 8e  08 ea 20 41 25 0d 1c 98  |. .t4..... A%...|
00003a60  1d 24 53 50 6f 69 6e 74  25 28 32 32 29 3d 24 53  |.$SPoint%(22)=$S|
00003a70  50 6f 69 6e 74 25 28 32  33 29 0d 1c a2 41 c8 99  |Point%(23)...A..|
00003a80  22 57 69 6d 70 5f 46 6f  72 63 65 52 65 64 72 61  |"Wimp_ForceRedra|
00003a90  77 22 2c 70 61 6c 6c 57  25 2c 49 58 25 28 32 32  |w",pallW%,IX%(22|
00003aa0  29 2c 49 59 25 28 32 32  29 2c 49 58 31 25 28 32  |),IY%(22),IX1%(2|
00003ab0  32 29 2c 49 59 31 25 28  32 32 29 0d 1c ac 0e e3  |2),IY1%(22).....|
00003ac0  20 41 25 3d 30 20 b8 20  36 0d 1c b6 1f 53 6c 69  | A%=0 . 6....Sli|
00003ad0  64 65 72 25 28 41 25 2c  30 29 3d 53 6c 69 64 65  |der%(A%,0)=Slide|
00003ae0  72 25 28 41 25 2c 32 29  0d 1c c0 41 c8 99 22 57  |r%(A%,2)...A.."W|
00003af0  69 6d 70 5f 46 6f 72 63  65 52 65 64 72 61 77 22  |imp_ForceRedraw"|
00003b00  2c 70 61 6c 6c 57 25 2c  49 58 25 28 41 25 29 2c  |,pallW%,IX%(A%),|
00003b10  49 59 25 28 41 25 29 2c  49 58 31 25 28 41 25 29  |IY%(A%),IX1%(A%)|
00003b20  2c 49 59 31 25 28 41 25  29 0d 1c ca 05 ed 0d 1c  |,IY1%(A%).......|
00003b30  d4 05 e1 0d 1c de 04 0d  ff                       |.........|
00003b39