Home » Archimedes archive » Acorn Computing » 1992 12 Mega Disk.adf » !_92_12 » SFXM/!SFXM/!RunImage

SFXM/!SFXM/!RunImage

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

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

Tape/disk: Home » Archimedes archive » Acorn Computing » 1992 12 Mega Disk.adf » !_92_12
Filename: SFXM/!SFXM/!RunImage
Read OK:
File size: 11AE3 bytes
Load address: 0000
Exec address: 0000
File contents
   10REM >:4.$.SFXMDemo.!SFXM.!RunImage
   20REM >Written by G. Vermeulen
   30ON ERROR PROCIntError:GOTO 60
   40insttime%=TIME
   50PROCInit
   60REPEAT
   70  SYS"Wimp_Poll",nopoll%,pollb% TO reason%,polledb%
   80  nopoll%=0
   90  CASE reason% OF
  100    WHEN 0:PROCNull_Reason
  110    WHEN 1:PROCRedraw_Window
  120    WHEN 2:PROCOpen_Window
  130    WHEN 3:PROCClose_Window
  140    WHEN 6:PROCMouse_Click:nopoll%=1<<6
  150    WHEN 7:PROCUser_Drag_Box
  160    WHEN 8:PROCKey_Pressed
  170    WHEN 9:PROCMenu_Select
  180    WHEN 17,18,19:PROCUser_Message
  190  ENDCASE
  200UNTIL FALSE
  210END
  220
  230DEFPROCIntError
  240LOCAL ERROR
  250ON ERROR LOCAL GOTO 17730
  260A%=FNinterr(REPORT$+" at line "+STR$ERL+". Continue program?")
  270IF A%=2 THEN PROCQuit
  280ENDPROC
  290
  300DEFPROCNull_Reason
  310IF ((dfunc%>=0)AND(dfunc%<=9))OR((dfunc%>=13)AND(dfunc%<=18)) THEN PROCDragObject
  320IF dfunc%=12 THEN PROCDragLine
  330IF drag% THEN PROCDragMoveObjs
  340ENDPROC
  350
  360DEFPROCDragObject
  370SYS"Wimp_GetPointerInfo",,temp2%
  380IF (temp2%!12=wworkh%)AND(temp2%!16>=-1) THEN
  390  temp%!0=wworkh%
  400  SYS"Wimp_GetWindowState",,temp%
  410  newdx%=temp2%!0+temp%!20-temp%!4
  420  newdy%=temp2%!4+temp%!24-temp%!16
  430  newdx%=(newdx%DIV96)*96
  440  newdy%=(newdy%DIV56)*56-56
  450  IF (olddx%<>newdx%)OR(olddy%<>newdy%) THEN
  460    PROCRemDf(olddx%,olddy%)
  470    PROCPlotDf(newdx%,newdy%)
  480    olddx%=newdx%:olddy%=newdy%
  490  ENDIF
  500ENDIF
  510ENDPROC
  520
  530DEFPROCDragLine
  540SYS"Wimp_GetPointerInfo",,temp2%
  550IF (temp2%!12=wworkh%)AND(temp2%!16>=-1)AND(startlx%<>-1) THEN
  560  temp%!0=wworkh%
  570  SYS"Wimp_GetWindowState",,temp%
  580  newlx%=temp2%!0+temp%!20-temp%!4
  590  newly%=temp2%!4+temp%!24-temp%!16
  600  IF (oldlx%<>newlx%)OR(oldly%<>newly%) THEN
  610    PROCPlotLn(oldlx%,oldly%)
  620    PROCPlotLn(newlx%,newly%)
  630    oldlx%=newlx%:oldly%=newly%
  640  ENDIF
  650ENDIF
  660ENDPROC
  670
  680DEFPROCDragMoveObjs
  690SYS"Wimp_GetPointerInfo",,temp2%
  700IF (temp2%!8)AND4 THEN
  710  temp%!0=wworkh%
  720  SYS"Wimp_GetWindowState",,temp%
  730  newlx%=temp2%!0+temp%!20-temp%!4
  740  newly%=temp2%!4+temp%!24-temp%!16
  750  newlx%=(newlx%DIV96)*96+48
  760  newly%=(newly%DIV56)*56-32
  770  IF (oldlx%<>newlx%)OR(oldly%<>newly%) THEN
  780    PROCPlotLn(oldlx%,oldly%)
  790    PROCPlotLn(newlx%,newly%)
  800    oldlx%=newlx%:oldly%=newly%
  810  ENDIF
  820ELSE
  830  IF (startlx%<>-1)AND(oldlx%<>-1) THEN
  840    PROCPlotLn(oldlx%,oldly%)
  850    PROCMoveIcns(oldlx%-startlx%,oldly%-startly%)
  860  ENDIF
  870  drag%=0
  880  startlx%=-1:startly%=-1
  890  newlx%=-1:newly%=-1
  900  oldlx%=-1:oldly%=-1
  910ENDIF
  920ENDPROC
  930
  940DEFPROCRemAllDrag
  950IF olddx%<>-1 THEN
  960  PROCRemDf(olddx%,olddy%)
  970ENDIF
  980IF startlx%<>-1 THEN
  990  PROCPlotLn(oldlx%,oldly%)
 1000ENDIF
 1010newdx%=-1:newdy%=-1
 1020olddx%=-1:olddy%=-1
 1030oldlx%=-1:oldly%=-1
 1040newlx%=-1:newly%=-1
 1050startlx%=-1:startly%=-1
 1060startic%=-1
 1070starti%=-1
 1080endi%=-1
 1090drag%=0
 1100ENDPROC
 1110
 1120DEFPROCMoveIcns(dx%,dy%)
 1130temp2%!0=wworkh%
 1140FORT%=0TOmaxicons%-1
 1150  IF (iconinfo%!(T%*32)<>-1)AND(iconinfo%!(T%*32+28))AND16 THEN
 1160    PROCModTitle(0)
 1170    temp2%!4=T%
 1180    SYS"Wimp_DeleteIcon",,temp2%
 1190    temp2%!4=iconinfo%!(T%*32+4)+dx%
 1200    temp2%!8=iconinfo%!(T%*32+8)+dy%
 1210    temp2%!12=temp2%!4+92
 1220    temp2%!16=temp2%!8+52
 1230    temp2%!20=%00001000000000001010000000011010
 1240    CASE iconinfo%!(T%*32) OF
 1250      WHEN 0:i$="vco"
 1260      WHEN 1:i$="noise"
 1270      WHEN 2:i$="eg"
 1280      WHEN 5:i$="const"
 1290      WHEN 3:i$="filtlo"
 1300      WHEN 4:i$="filthi"
 1310      WHEN 6:i$="mult"
 1320      WHEN 7:i$="multc"
 1330      WHEN 8:i$="add"
 1340      WHEN 13:i$="sub"
 1350      WHEN 14:i$="pulse"
 1360      WHEN 15:i$="delay"
 1370      WHEN 9:i$="output"
 1380      WHEN 16:i$="input"
 1390      WHEN 17:i$="samhold"
 1400      WHEN 18:i$="nldist"
 1410    ENDCASE
 1420    $(temp2%+24)=i$
 1430    SYS"Wimp_CreateIcon",,temp2%TOih%
 1440    iconinfo%!(T%*32+4)+=dx%
 1450    iconinfo%!(T%*32+8)+=dy%
 1460    iconinfo%!(T%*32+28)=(iconinfo%!(T%*32+28))AND&ffffffef
 1470    IF ih%<>T% THEN
 1480      iconinfo%!(ih%*32+0)=iconinfo%!(T%*32+0)
 1490      iconinfo%!(ih%*32+4)=iconinfo%!(T%*32+4)
 1500      iconinfo%!(ih%*32+8)=iconinfo%!(T%*32+8)
 1510      iconinfo%!(ih%*32+12)=iconinfo%!(T%*32+12)
 1520      iconinfo%!(ih%*32+16)=iconinfo%!(T%*32+16)
 1530      iconinfo%!(ih%*32+20)=iconinfo%!(T%*32+20)
 1540      iconinfo%!(ih%*32+24)=iconinfo%!(T%*32+24)
 1550      iconinfo%!(ih%*32+28)=iconinfo%!(T%*32+28)
 1560      iconinfo%!(T%*32+0)=-1
 1570      iconinfo%!(T%*32+4)=-1
 1580      iconinfo%!(T%*32+8)=-1
 1590      iconinfo%!(T%*32+12)=-1
 1600      iconinfo%!(T%*32+16)=-1
 1610      iconinfo%!(T%*32+20)=-1
 1620      iconinfo%!(T%*32+24)=-1
 1630      iconinfo%!(T%*32+28)=-1
 1640      FORS%=0TOmaxicons%-1
 1650        IF iconinfo%!(S%*32)<>-1 THEN
 1660          IF iconinfo%!(S%*32+16)=T% THEN iconinfo%!(S%*32+16)=ih%
 1670          IF iconinfo%!(S%*32+20)=T% THEN iconinfo%!(S%*32+20)=ih%
 1680        ENDIF
 1690      NEXTS%
 1700    ENDIF
 1710  ENDIF
 1720NEXTT%
 1730SYS"Wimp_ForceRedraw",wworkh%,0,-4000,4000,0
 1740ENDPROC
 1750
 1760DEFPROCPlotDf(x%,y%)
 1770IF x%<>-1 THEN
 1780  temp%!0=wworkh%
 1790  SYS"Wimp_GetWindowState",,temp%
 1800  sx%=temp%!4+x%-temp%!20
 1810  sy%=temp%!16+y%-temp%!24
 1820  temp2%!0=wworkh%
 1830  temp2%!4=x%
 1840  temp2%!8=y%
 1850  temp2%!12=x%+96
 1860  temp2%!16=y%+56
 1870  SYS"Wimp_ReadPixTrans",&100,1,"vco",,,,scalef%,pixtrans%
 1880  SYS"Wimp_UpdateWindow",,temp2%TOmore%
 1890  WHILE more%
 1900    SYS"Wimp_SpriteOp",&34,,df$,sx%,sy%,8,scalef%,pixtrans%
 1910    SYS"Wimp_GetRectangle",,temp2%TOmore%
 1920  ENDWHILE
 1930ENDIF
 1940ENDPROC
 1950
 1960DEFPROCRemDf(x%,y%)
 1970IF x%<>-1 THEN
 1980  SYS"Wimp_ForceRedraw",wworkh%,x%,y%,x%+96,y%+56
 1990ENDIF
 2000ENDPROC
 2010
 2020DEFPROCPlotLn(x%,y%)
 2030IF (x%<>-1)AND(startlx%<>-1) THEN
 2040  temp2%!0=wworkh%
 2050  SYS"Wimp_GetWindowState",,temp2%
 2060  ssx%=temp2%!4+startlx%-temp2%!20
 2070  ssy%=temp2%!16+startly%-temp2%!24
 2080  sex%=temp2%!4+x%-temp2%!20
 2090  sey%=temp2%!16+y%-temp2%!24
 2100  wsx%=startlx%
 2110  wsy%=startly%
 2120  wex%=x%
 2130  wey%=y%
 2140  IF wsx%>wex% THEN SWAP wsx%,wex%
 2150  IF wsy%>wey% THEN SWAP wsy%,wey%
 2160  temp2%!0=wworkh%
 2170  temp2%!4=wsx%-4
 2180  temp2%!8=wsy%-4
 2190  temp2%!12=wex%+4
 2200  temp2%!16=wey%+4
 2210  SYS"Wimp_UpdateWindow",,temp2%TOmore%
 2220  WHILE more%
 2230    GCOL3,15
 2240    LINE ssx%,ssy%,sex%,sey%
 2250    SYS"Wimp_GetRectangle",,temp2%TOmore%
 2260  ENDWHILE
 2270ENDIF
 2280ENDPROC
 2290
 2300DEFPROCRedraw_Window
 2310SYS"Wimp_RedrawWindow",,polledb%TOmore%
 2320CASE polledb%!0 OF
 2330  WHEN wworkh%:PROCRedrawWork
 2340  WHEN wvcoh%:PROCRedrawVCO
 2350  WHEN wegh%:PROCRedrawEG
 2360  WHEN wnldisth%:PROCRedrawNLD
 2370  OTHERWISE:PROCJustRedraw
 2380ENDCASE
 2390ENDPROC
 2400
 2410DEFPROCRedrawWork
 2420SYS"Wimp_ReadPixTrans",&100,1,"vco",,,,scalef%,pixtrans%
 2430ox%=newdx%+polledb%!4-polledb%!20
 2440oy%=newdy%+polledb%!16-polledb%!24
 2450ssx%=startlx%+polledb%!4-polledb%!20
 2460ssy%=startly%+polledb%!16-polledb%!24
 2470sex%=newlx%+polledb%!4-polledb%!20
 2480sey%=newly%+polledb%!16-polledb%!24
 2490WHILE more%
 2500  PROCRedrawLines(polledb%!4-58,polledb%!8-28,polledb%!12+58,polledb%!16+28)
 2510
 2520  IF newdx%<>-1 THEN SYS"Wimp_SpriteOp",&34,,df$,ox%,oy%,8,scalef%,pixtrans%
 2530  IF (startlx%<>-1) AND (newlx%<>-1) THEN GCOL3,15:LINE ssx%,ssy%,sex%,sey%
 2540  SYS"Wimp_GetRectangle",,polledb%TOmore%
 2550ENDWHILE
 2560ENDPROC
 2570
 2580DEFPROCRedrawVCO
 2590A%=polledb%!4
 2600B%=polledb%!8
 2610C%=vcoptr%
 2620WHILE more%
 2630  SYS"Wimp_SetColour",3
 2640  LINE A%+166,B%+132,A%+166+512,B%+132
 2650  SYS"Wimp_SetColour",1
 2660  LINE A%+166,B%+132+32,A%+166+512,B%+132+32
 2670  LINE A%+166,B%+132+64,A%+166+512,B%+132+64
 2680  LINE A%+166,B%+132+96,A%+166+512,B%+132+96
 2690  LINE A%+166,B%+132-32,A%+166+512,B%+132-32
 2700  LINE A%+166,B%+132-64,A%+166+512,B%+132-64
 2710  LINE A%+166,B%+132-96,A%+166+512,B%+132-96
 2720  SYS"Wimp_SetColour",7
 2730  CALLredrawvco
 2740  SYS"Wimp_GetRectangle",,polledb%TOmore%
 2750ENDWHILE
 2760ENDPROC
 2770
 2780DEFPROCRedrawNLD
 2790A%=polledb%!4
 2800B%=polledb%!8
 2810C%=nldistptr%
 2820WHILE more%
 2830  SYS"Wimp_SetColour",1
 2840  LINE A%,B%+64,A%+512,B%+64
 2850  LINE A%,B%+128,A%+512,B%+128
 2860  LINE A%,B%+192,A%+512,B%+192
 2870  LINE A%,B%+320,A%+512,B%+320
 2880  LINE A%,B%+384,A%+512,B%+384
 2890  LINE A%,B%+448,A%+512,B%+448
 2900  LINE A%+64,B%,A%+64,B%+512
 2910  LINE A%+128,B%,A%+128,B%+512
 2920  LINE A%+192,B%,A%+192,B%+512
 2930  LINE A%+320,B%,A%+320,B%+512
 2940  LINE A%+384,B%,A%+384,B%+512
 2950  LINE A%+448,B%,A%+448,B%+512
 2960  SYS"Wimp_SetColour",3
 2970  LINE A%,B%+256,A%+512,B%+256
 2980  LINE A%+256,B%,A%+256,B%+512
 2990  SYS"Wimp_SetColour",7
 3000  CALLredrawnld
 3010  SYS"Wimp_GetRectangle",,polledb%TOmore%
 3020ENDWHILE
 3030ENDPROC
 3040
 3050DEFPROCVCOClick
 3060CASE polledb%!16 OF
 3070  WHEN 0:PROCVCOsin(vcoptr%+4)
 3080  WHEN 1:PROCVCOtri(vcoptr%+4)
 3090  WHEN 2:PROCVCOramp(vcoptr%+4)
 3100  WHEN 3:PROCVCOsqr(vcoptr%+4)
 3110  WHEN 4:PROCVCOconst(vcoptr%+4)
 3120  WHEN 5:PROCVCOshftlft(vcoptr%+4)
 3130  WHEN 6:PROCVCOshftrght(vcoptr%+4)
 3140  WHEN 7:PROCVCOmuldiv2(vcoptr%+4)
 3150  WHEN 8:PROCVCOrot90(vcoptr%+4)
 3160  WHEN 9:PROCVCOrand(vcoptr%+4)
 3170  WHEN 10:PROCVCOpaint(vcoptr%+4)
 3180ENDCASE
 3190IF (polledb%!16<>10)AND(polledb%!16<>-1) THEN:SYS"Wimp_ForceRedraw",wvcoh%,166,-260,678,-4
 3200ENDPROC
 3210
 3220DEFPROCVCOsin(a%)
 3230FORT%=0TO255
 3240  ?(a%+T%)=127*SIN(2*PI*T%/256)
 3250NEXTT%
 3260PROCModTitle(0)
 3270ENDPROC
 3280DEFPROCVCOtri(a%)
 3290FORT%=0TO127
 3300  ?(a%+T%)=127-ABS(-127+2*T%)
 3310  ?(a%+255-T%)=-?(a%+T%)
 3320NEXTT%
 3330PROCModTitle(0)
 3340ENDPROC
 3350DEFPROCVCOramp(a%)
 3360MOUSE A%,B%,C%
 3370FORT%=0TO255
 3380  IF C%AND4 THEN ?(a%+T%)=-128+T%
 3390  IF C%AND1 THEN ?(a%+T%)=127-T%
 3400NEXTT%
 3410PROCModTitle(0)
 3420ENDPROC
 3430DEFPROCVCOsqr(a%)
 3440FORT%=0TO255
 3450  ?(a%+T%)=127+254*(T%>127)
 3460NEXTT%
 3470PROCModTitle(0)
 3480ENDPROC
 3490DEFPROCVCOconst(a%)
 3500MOUSE A%,B%,C%
 3510IF C%AND4 THEN l%=127
 3520IF C%AND2 THEN l%=0
 3530IF C%AND1 THEN l%=128
 3540FORT%=0TO255
 3550  ?(a%+T%)=l%
 3560NEXTT%
 3570PROCModTitle(0)
 3580ENDPROC
 3590DEFPROCVCOshftlft(a%)
 3600FORT%=0TO127
 3610  ?(a%+T%)=?(a%+T%*2)
 3620NEXTT%
 3630FORT%=0TO127
 3640  ?(a%+T%+128)=?(a%+T%)
 3650NEXTT%
 3660PROCModTitle(0)
 3670ENDPROC
 3680DEFPROCVCOshftrght(a%)
 3690FORT%=255TO0STEP-1
 3700  ?(a%+T%)=?(a%+(T%>>1))
 3710NEXTT%
 3720PROCModTitle(0)
 3730ENDPROC
 3740DEFPROCVCOmuldiv2(a%)
 3750MOUSE A%,B%,C%
 3760FORT%=0TO255
 3770  l%=(((?(a%+T%))<<24)>>24)
 3780  IF C%AND4 THEN l%=l%*2
 3790  IF C%AND1 THEN l%=l%DIV2
 3800  IF l%>127 THEN l%=127
 3810  IF l%<-127 THEN l%=-127
 3820  ?(a%+T%)=l%
 3830NEXTT%
 3840PROCModTitle(0)
 3850ENDPROC
 3860DEFPROCVCOrot90(a%)
 3870MOUSE A%,B%,C%
 3880FORT%=0TO255
 3890  l%=T%
 3900  IF C%AND4 THEN l%=(T%+64)AND255
 3910  IF C%AND1 THEN l%=(T%-64)AND255
 3920  temp%?T%=?(a%+l%)
 3930NEXTT%
 3940FORT%=0TO255
 3950  ?(a%+T%)=temp%?T%
 3960NEXTT%
 3970PROCModTitle(0)
 3980ENDPROC
 3990DEFPROCVCOrand(a%)
 4000FORT%=0TO255
 4010  ?(a%+T%)=RND(255)-128
 4020NEXTT%
 4030PROCModTitle(0)
 4040ENDPROC
 4050DEFPROCVCOpaint(a%)
 4060SYS"OS_Byte",202,0,255TO,sh%
 4070IF (sh%AND8)=0 THEN
 4080MOUSE A%,B%,C%
 4090IF C%=0 THEN vcolastx%=-1
 4100IF (C%AND4)OR((C%AND1)AND(vcolastx%=-1)) THEN
 4110  temp%!0=wvcoh%
 4120  SYS"Wimp_GetWindowState",,temp%
 4130  x%=polledb%!0-temp%!4+temp%!20
 4140  y%=polledb%!4-temp%!16+temp%!24
 4150  IF (x%>=166)AND(x%<=676)AND(y%<=-8)AND(y%>=-260) THEN
 4160    PROCModTitle(0)
 4170    a%?((x%-166)/2)=(134+y%)
 4180    vcolastx%=(x%-166)/2
 4190    vcolasty%=134+y%
 4200    SYS"Wimp_ForceRedraw",wvcoh%,x%,-260,x%+2,-4
 4210  ENDIF
 4220ENDIF
 4230IF (C%AND1)AND(vcolastx%<>-1) THEN
 4240  temp%!0=wvcoh%
 4250  SYS"Wimp_GetWindowState",,temp%
 4260  x%=polledb%!0-temp%!4+temp%!20
 4270  y%=polledb%!4-temp%!16+temp%!24
 4280  IF (x%>=166)AND(x%<=676)AND(y%<=-8)AND(y%>=-260) THEN
 4290    PROCModTitle(0)
 4300    sx=vcolastx%
 4310    sy=vcolasty%
 4320    ex=(x%-166)DIV2
 4330    ey=134+y%
 4340    IF ABS(sx-ex)<1 THEN
 4350     a%?((x%-166)/2)=(134+y%)
 4360    ELSE
 4370      y=sy
 4380      dx=SGN(ex-sx)
 4390      dy=(ey-sy)/ABS(ex-sx)
 4400      FOR x=sx TO ex STEP dx
 4410        a%?x=y
 4420        y+=dy
 4430      NEXTx
 4440    ENDIF
 4450    vcolastx%=(x%-166)/2
 4460    vcolasty%=134+y%
 4470    IF sx>ex THEN SWAP sx,ex
 4480    IF sy>ey THEN SWAP sy,ey
 4490    SYS"Wimp_ForceRedraw",wvcoh%,sx*2+166,-260,ex*2+168,-4
 4500  ENDIF
 4510ENDIF
 4520ENDIF
 4530ENDPROC
 4540
 4550DEFPROCEGClick
 4560SYS"OS_Byte",202,0,255TO,sh%
 4570IF (sh%AND8)=0 THEN
 4580a%=egptr%+8
 4590MOUSE A%,B%,C%
 4600IF C%=0 THEN eglastx%=-1
 4610IF (C%AND4)OR((C%AND1)AND(eglastx%=-1)) THEN
 4620  temp%!0=wegh%
 4630  SYS"Wimp_GetWindowState",,temp%
 4640  x%=polledb%!0-temp%!4+temp%!20
 4650  y%=polledb%!4-temp%!16+temp%!24
 4660  IF (x%>=0)AND(x%<=1022)AND(y%<=-4)AND(y%>=-256) THEN
 4670    PROCModTitle(0)
 4680    a%?(x%/2)=256+y%
 4690    eglastx%=x%/2
 4700    eglasty%=256+y%
 4710    SYS"Wimp_ForceRedraw",wegh%,x%,-256,x%+2,0
 4720  ENDIF
 4730ENDIF
 4740IF (C%AND1)AND(eglastx%<>-1) THEN
 4750  temp%!0=wegh%
 4760  SYS"Wimp_GetWindowState",,temp%
 4770  x%=polledb%!0-temp%!4+temp%!20
 4780  y%=polledb%!4-temp%!16+temp%!24
 4790  IF (x%>=0)AND(x%<=1022)AND(y%<=-4)AND(y%>=-256) THEN
 4800    PROCModTitle(0)
 4810    sx=eglastx%
 4820    sy=eglasty%
 4830    ex=x%DIV2
 4840    ey=256+y%
 4850    IF ABS(sx-ex)<1 THEN
 4860     a%?(x%/2)=256+y%
 4870    ELSE
 4880      y=sy
 4890      dx=SGN(ex-sx)
 4900      dy=(ey-sy)/ABS(ex-sx)
 4910      FOR x=sx TO ex STEP dx
 4920        a%?x=y
 4930        y+=dy
 4940      NEXTx
 4950    ENDIF
 4960    eglastx%=x%/2
 4970    eglasty%=256+y%
 4980    IF sx>ex THEN SWAP sx,ex
 4990    IF sy>ey THEN SWAP sy,ey
 5000    SYS"Wimp_ForceRedraw",wegh%,sx*2,-256,ex*2+2,0
 5010  ENDIF
 5020ENDIF
 5030ENDIF
 5040ENDPROC
 5050
 5060DEFPROCRedrawEG
 5070A%=polledb%!4
 5080B%=polledb%!8
 5090C%=egptr%
 5100WHILE more%
 5110  SYS"Wimp_SetColour",1
 5120  LINE A%+2,B%+32,A%+1024,B%+32
 5130  LINE A%+2,B%+64,A%+1024,B%+64
 5140  LINE A%+2,B%+96,A%+1024,B%+96
 5150  LINE A%+2,B%+128,A%+1024,B%+128
 5160  LINE A%+2,B%+160,A%+1024,B%+160
 5170  LINE A%+2,B%+192,A%+1024,B%+192
 5180  LINE A%+2,B%+224,A%+1024,B%+224
 5190  SYS"Wimp_SetColour",7
 5200  CALLredraweg
 5210  SYS"Wimp_GetRectangle",,polledb%TOmore%
 5220ENDWHILE
 5230ENDPROC
 5240
 5250DEFPROCJustRedraw
 5260WHILE more%
 5270  SYS"Wimp_GetRectangle",,polledb%TOmore%
 5280ENDWHILE
 5290ENDPROC
 5300
 5310DEFPROCOpen_Window
 5320IF polledb%!0=wworkh% AND tools% THEN PROCOpen_Work:ENDPROC
 5330IF polledb%!0=wtools% THEN polledb%!0=wworkh%:SYS"Wimp_GetWindowState",,polledb%:PROCOpen_Work:ENDPROC
 5340SYS"Wimp_OpenWindow",,polledb%
 5350ENDPROC
 5360
 5370DEFPROCOpen_Work
 5380  temp2%!0=wworkh%
 5390  SYS"Wimp_GetWindowState",,temp2%
 5400  temp%!0=wtoolsh%
 5410  SYS"Wimp_GetWindowState",,temp%
 5420  temp%!4=polledb%!4-114
 5430  temp%!16=polledb%!16
 5440  temp%!12=polledb%!4-4
 5450  IF polledb%!16-polledb%!8>620 THEN temp%!8=temp%!16-620 ELSE temp%!8=temp%!16-(polledb%!16-polledb%!8)
 5460  IF temp%!4<0 THEN temp%!12=temp%!12-temp%!4:temp%!4=0
 5470  A%=polledb%!4<oldworkx%
 5480  A%=A% OR ((polledb%!4-temp%!4)<114)
 5490  A%=A% AND (((temp2%!32)AND(1<<19))=0)
 5500  A%=A% OR (((temp2%!32)AND(1<<18))<>0)
 5510  IF A% THEN
 5520    temp%!28=polledb%!28
 5530    SYS"Wimp_OpenWindow",,temp%
 5540    polledb%!28=wtoolsh%
 5550    SYS"Wimp_OpenWindow",,polledb%
 5560  ELSE
 5570    temp%!28=polledb%!28
 5580    polledb%!28=wtoolsh%
 5590    SYS"Wimp_OpenWindow",,polledb%
 5600    SYS"Wimp_GetWindowState",,polledb%
 5610    temp%!4=polledb%!4-114
 5620    temp%!16=polledb%!16
 5630    temp%!12=polledb%!4-4
 5640    IF polledb%!16-polledb%!8>620 THEN temp%!8=temp%!16-620 ELSE temp%!8=temp%!16-(polledb%!16-polledb%!8)
 5650    IF temp%!4<0 THEN temp%!12=temp%!12-temp%!4:temp%!4=0
 5660    SYS"Wimp_OpenWindow",,temp%
 5670    polledb%!28=wtoolsh%
 5680    SYS"Wimp_OpenWindow",,polledb%
 5690  ENDIF
 5700  oldworkx%=polledb%!4
 5710ENDPROC
 5720
 5730DEFPROCClose_Window
 5740SYS"Wimp_CloseWindow",,polledb%
 5750IF polledb%!0=wworkh% THEN
 5760  polledb%!0=wtoolsh%
 5770  SYS"Wimp_CloseWindow",,polledb%
 5780ENDIF
 5790ENDPROC
 5800
 5810DEFPROCMouse_Click
 5820CASE polledb%!12 OF
 5830  WHEN wworkh%:PROCWorkClick
 5840  WHEN wtoolsh%:PROCToolsClick
 5850  WHEN wconstanth%:PROCConstClick
 5860  WHEN wmultch%:PROCMultCClick
 5870  WHEN wvcoh%:PROCVCOClick
 5880  WHEN wegh%:PROCEGClick
 5890  WHEN wnldisth%:PROCNLDistClick
 5900  WHEN wstatsh%:PROCStatsClick
 5910  WHEN winputh%:PROCInputClick
 5920  WHEN -2:PROCIconBClick
 5930ENDCASE
 5940ENDPROC
 5950
 5960DEFPROCToolsClick
 5970IF polledb%!8<16 THEN
 5980  CASE polledb%!16 OF
 5990    WHEN 0:PROCPopPlaceM
 6000    WHEN 1:lastmenu%=workmenu%:polledb%!0=2:polledb%!4=-1:PROCMenu_Select2
 6010    WHEN 2:lastmenu%=workmenu%:polledb%!0=1:polledb%!4=-1:PROCMenu_Select2
 6020    WHEN 3:lastmenu%=workmenu%:polledb%!0=1:polledb%!4=3:polledb%!8=-1:PROCMenu_Select2
 6030    WHEN 4:lastmenu%=workmenu%:polledb%!0=1:polledb%!4=4:polledb%!8=-1:PROCMenu_Select2
 6040    WHEN 5:lastmenu%=workmenu%:polledb%!0=1:polledb%!4=0:polledb%!8=-1:PROCMenu_Select2
 6050    WHEN 6:lastmenu%=workmenu%:polledb%!0=1:polledb%!4=1:polledb%!8=-1:PROCMenu_Select2
 6060    WHEN 7:lastmenu%=workmenu%:polledb%!0=1:polledb%!4=2:polledb%!8=-1:PROCMenu_Select2
 6070    WHEN 8:lastmenu%=workmenu%:polledb%!0=3:polledb%!4=-1:PROCMenu_Select2
 6080  ENDCASE
 6090ENDIF
 6100ENDPROC
 6110
 6120DEFPROCPopPlaceM
 6130lastmx%=polledb%!0-64:lastmy%=polledb%!4+12:lastmenu%=addmenu%:SYS"Wimp_CreateMenu",,lastmenu%,lastmx%,lastmy%
 6140ENDPROC
 6150
 6160DEFPROCSaveasshCl
 6170IF polledb%!16=0 THEN savetype%=0:PROCDragSave(wsaveasshh%)
 6180IF polledb%!16=2 THEN
 6190  temp%!0=wsaveasshh%
 6200  temp%!4=1
 6210  SYS"Wimp_GetIconState",,temp%
 6220  f$=$(!(temp%+28))
 6230  IF (INSTR(f$,".")=0) AND (INSTR(f$,":")=0) THEN
 6240    PROCReportErr("Please give a directory.")
 6250  ELSE
 6260  PROCSaveSh(f$)
 6270  IF f%<>0 THEN CLOSE#f%
 6280  SYS"Wimp_CreateMenu",-1,-1,-1,-1
 6290  ENDIF
 6300ENDIF
 6310ENDPROC
 6320
 6330DEFPROCNLDistClick
 6340SYS"OS_Byte",202,0,255TO,sh%
 6350IF (sh%AND8)=0 THEN
 6360a%=nldistptr%
 6370MOUSE A%,B%,C%
 6380IF C%=0 THEN nldistlastx%=-1
 6390IF (C%AND4)OR((C%AND1)AND(nldistlastx%=-1)) THEN
 6400  temp%!0=wnldisth%
 6410  SYS"Wimp_GetWindowState",,temp%
 6420  x%=polledb%!0-temp%!4+temp%!20
 6430  y%=polledb%!4-temp%!16+temp%!24
 6440  IF (x%>=0)AND(x%<=510)AND(y%<=-2)AND(y%>=-512) THEN
 6450    PROCModTitle(0)
 6460    a%?(x%/2)=256+y%/2
 6470    nldistlastx%=x%/2
 6480    nldistlasty%=256+y%/2
 6490    SYS"Wimp_ForceRedraw",wnldisth%,x%,-512,x%+2,0
 6500  ENDIF
 6510ENDIF
 6520IF (C%AND1)AND(nldistlastx%<>-1) THEN
 6530  temp%!0=wnldisth%
 6540  SYS"Wimp_GetWindowState",,temp%
 6550  x%=polledb%!0-temp%!4+temp%!20
 6560  y%=polledb%!4-temp%!16+temp%!24
 6570  IF (x%>=0)AND(x%<=510)AND(y%<=-2)AND(y%>=-512) THEN
 6580    PROCModTitle(0)
 6590    sx=nldistlastx%
 6600    sy=nldistlasty%
 6610    ex=x%DIV2
 6620    ey=256+y%/2
 6630    IF ABS(sx-ex)<1 THEN
 6640     a%?(x%/2)=256+y%/2
 6650    ELSE
 6660      y=sy
 6670      dx=SGN(ex-sx)
 6680      dy=(ey-sy)/ABS(ex-sx)
 6690      FOR x=sx TO ex STEP dx
 6700        a%?x=y
 6710        y+=dy
 6720      NEXTx
 6730    ENDIF
 6740    nldistlastx%=x%/2
 6750    nldistlasty%=256+y%/2
 6760    IF sx>ex THEN SWAP sx,ex
 6770    IF sy>ey THEN SWAP sy,ey
 6780    SYS"Wimp_ForceRedraw",wnldisth%,sx*2,-512,ex*2+2,0
 6790  ENDIF
 6800ENDIF
 6810ENDIF
 6820ENDPROC
 6830
 6840DEFPROCStatsClick
 6850IF polledb%!8<8 THEN
 6860  IF polledb%!16=4 THEN samtype%=0:PROCSendSFXED(&44640)
 6870  IF polledb%!16=5 THEN samtype%=1:PROCSendSFXED(&44641)
 6880  IF polledb%!16=6 THEN samtype%=2:PROCSendSFXED(&44642)
 6890ENDIF
 6900ENDPROC
 6910
 6920DEFPROCSendSFXED(M%)
 6930H%=FNGetSFXEDH
 6940IF H%=0 THEN
 6950  PROCReportErr("SFXED not present.")
 6960ELSE
 6970  temp%!0=256
 6980  temp%!4=0
 6990  temp%!8=0
 7000  temp%!12=0
 7010  temp%!16=M%
 7020  SYS"Wimp_SendMessage",17,temp%,H%
 7030ENDIF
 7040ENDPROC
 7050
 7060DEFPROCDragSave(wh%)
 7070temp%!0=wh%
 7080SYS"Wimp_GetWindowState",,temp%
 7090wx%=(temp%!4)-(temp%!20)
 7100wy%=(temp%!16)-(temp%!24)
 7110temp%!4=0
 7120SYS "Wimp_GetIconState",,temp%
 7130dragb%!0=0
 7140dragb%!4=5
 7150dragb%!8=(temp%!8)+wx%
 7160dragb%!12=(temp%!12)+wy%
 7170dragb%!16=(temp%!16)+wx%
 7180dragb%!20=(temp%!20)+wy%
 7190dragb%!24=0
 7200dragb%!28=0
 7210dragb%!32=32768
 7220dragb%!36=32768
 7230dragb%!40=0
 7240dragb%!44=0
 7250dragb%!48=0
 7260dragb%!52=0
 7270SYS"Wimp_DragBox",,dragb%
 7280ENDPROC
 7290
 7300DEFPROCDragSaved
 7310IF savetype%<>-1 THEN
 7320  CASE savetype% OF
 7330    WHEN 0:temp2%!40=&c36:temp%!0=wsaveasshh%
 7340  ENDCASE
 7350  temp%!4=1
 7360  SYS"Wimp_GetIconState",,temp%
 7370  $(temp2%+44)=FNStrip($(!(temp%+28)))
 7380  SYS"Wimp_GetPointerInfo",,temp%
 7390  temp2%!0=256
 7400  temp2%!4=0
 7410  temp2%!8=0
 7420  temp2%!12=0
 7430  temp2%!16=1
 7440  temp2%!20=temp%!12
 7450  temp2%!24=temp%!16
 7460  temp2%!28=temp%!0
 7470  temp2%!32=temp%!4
 7480  temp2%!36=1
 7490  SYS "Wimp_SendMessage",17,temp2%,temp%!12,temp%!16
 7500  SYS"Wimp_CreateMenu",,-1
 7510ENDIF
 7520ENDPROC
 7530
 7540DEFPROCMBString(s%)
 7550WHILE ?s%>31 s%+=1:ENDWHILE
 7560?s%=13
 7570ENDPROC
 7580
 7590DEFPROCDataSave
 7600IF messbk%!4<>taskh% THEN
 7610  SYS"XOS_ReadVarVal","Wimp$Scrap",temp%,-1,0,0TO,,A%
 7620  IF A%=0 THEN
 7630    PROCReportErr("<Wimp$Scrap> not defined.")
 7640  ELSE
 7650    filetoload2$=FNStrip($(messbk%+44))
 7660    messbk%!0=256
 7670    $(messbk%+44)="<Wimp$Scrap>"+CHR$(0)
 7680    messbk%!12=messbk%!8
 7690    messbk%!16=2
 7700    messbk%!36=-1
 7710    SYS"Wimp_SendMessage",17,messbk%,messbk%!4
 7720  ENDIF
 7730ENDIF
 7740ENDPROC
 7750
 7760DEFPROCSaveAck
 7770IF savetype%<>-1 THEN
 7780  CASE savetype% OF
 7790    WHEN 0:temp%!0=wsaveasshh%
 7800  ENDCASE
 7810  temp%!4=1
 7820  SYS"Wimp_GetIconState",,temp%
 7830  PROCMBString(polledb%+44)
 7840  $(!(temp%+28))=$(polledb%+44)
 7850  f$=$(polledb%+44)
 7860  CASE savetype% OF
 7870    WHEN 0:PROCSaveSh(f$)
 7880  ENDCASE
 7890  IF f%<>0 THEN CLOSE#f%
 7900  savetype%=-1
 7910  messbk%!12=messbk%!8
 7920  messbk%!16=3
 7930  SYS"Wimp_SendMessage",17,messbk%,messbk%!4
 7940ENDIF
 7950ENDPROC
 7960
 7970DEFPROCSaveSh(fi$)
 7980ENDPROC
 7990
 8000DEFPROCDataLoad
 8010CASE polledb%!20 OF
 8020  WHEN wworkh%,-2:PROCLoadSheet
 8030  WHEN winputh%:PROCLoadInput
 8040ENDCASE
 8050ENDPROC
 8060
 8070DEFPROCDataOpen
 8080IF polledb%!40=&c36 THEN
 8090  PROCLoadSheet
 8100  messbk%!0=256
 8110  messbk%!12=messbk%!8
 8120  SYS"Wimp_SendMessage",17,messbk%,messbk%!4
 8130ENDIF
 8140ENDPROC
 8150
 8160DEFPROCLoadInput
 8170LOCAL ERROR
 8180ON ERROR LOCAL PROCReportErr(REPORT$):ENDPROC
 8190PROCModTitle(0)
 8200PROCMBString(polledb%+44)
 8210$(inpptr%)=$(polledb%+44)
 8220temp%!0=winputh%
 8230temp%!4=1
 8240SYS"Wimp_GetIconState",,temp%
 8250$(temp%!28)=$(polledb%+44)
 8260f%=OPENIN($(polledb%+44))
 8270inpptr%!268=EXT#f%
 8280CLOSE#f%
 8290temp%!4=8
 8300SYS"Wimp_GetIconState",,temp%
 8310@%=&90a
 8320$(temp%!28)=STR$(inpptr%!268)
 8330@%=&01020a00
 8340SYS"Wimp_ForceRedraw",winputh%,0,-4000,4000,0
 8350ENDPROC
 8360
 8370DEFPROCLoadSheet
 8380LOCAL ERROR
 8390ON ERROR LOCAL PROCReportErr(REPORT$):ENDPROC
 8400IF polledb%!40<>&c36 THEN
 8410  PROCReportErr("Not a sheet.")
 8420ELSE
 8430  PROCMBString(polledb%+44)
 8440  filetoload$=$(polledb%+44)
 8450  IF sheetsaved%=-1 THEN
 8460    PROCLoadSh(filetoload$)
 8470  ELSE
 8480    A%=FNConfirm("Sheet has been modified. Are you sure you want to load another sheet?")
 8490    IF A%=1 THEN PROCLoadSh(filetoload$)
 8500  ENDIF
 8510ENDIF
 8520ENDPROC
 8530
 8540DEFPROCLoadSh(f$)
 8550  PROCRemAllDrag
 8560  PROCClear
 8570  fi$=FNStrip(f$)
 8580  sheetname$=fi$
 8590  f%=OPENIN(f$)
 8600  SYS"OS_GBPB",4,f%,temp%,4
 8610  IF temp%!0=&4d584653 THEN
 8620    SYS"OS_GBPB",4,f%,temp%,20
 8630    temp2%!0=wstatsh%
 8640    temp2%!4=8
 8650    SYS"Wimp_GetIconState",,temp2%
 8660    $(temp2%!28)=$temp%
 8670    SYS"OS_GBPB",4,f%,temp%,4
 8680  ENDIF
 8690  IF temp%!0>99999 THEN temp%!0=99999
 8700  temp2%!0=wstatsh%
 8710  temp2%!4=3
 8720  SYS"Wimp_GetIconState",,temp2%
 8730  $(temp2%!28)=STR$(temp%!0)
 8740  SYS"OS_GBPB",4,f%,temp%,4
 8750  i%=temp%!0
 8760  WHILE i%<>-1
 8770    SYS"OS_GBPB",4,f%,temp2%,32
 8780    SYS"OS_GBPB",4,f%,temp%,4
 8790    l%=FNAlloc(temp%!0)
 8800    temp2%!12=l%
 8810    temp2%!28=(temp2%!28)AND&f
 8820    SYS"OS_GBPB",4,f%,l%,temp%!0
 8830    temp%!0=wworkh%
 8840    temp%!4=temp2%!4
 8850    temp%!8=temp2%!8
 8860    temp%!12=temp2%!4+92
 8870    temp%!16=temp2%!8+52
 8880    temp%!20=%00001000000000001010000000011010
 8890    CASE temp2%!0 OF
 8900      WHEN 0:i$="vco"
 8910      WHEN 1:i$="noise"
 8920      WHEN 2:i$="eg"
 8930      WHEN 3:i$="filtlo"
 8940      WHEN 4:i$="filthi"
 8950      WHEN 5:i$="const"
 8960      WHEN 6:i$="mult"
 8970      WHEN 7:i$="multc"
 8980      WHEN 8:i$="add"
 8990      WHEN 13:i$="sub"
 9000      WHEN 14:i$="pulse"
 9010      WHEN 15:i$="delay"
 9020      WHEN 9:i$="output"
 9030      WHEN 16:i$="input"
 9040      WHEN 17:i$="samhold"
 9050      WHEN 18:i$="nldist"
 9060    ENDCASE
 9070    $(temp%+24)=i$
 9080    SYS"Wimp_CreateIcon",,temp%TOih%
 9090    litrans%(i%)=ih%
 9100    FORT%=0TO28STEP4
 9110      iconinfo%!(ih%*32+T%)=temp2%!T%
 9120    NEXTT%
 9130    SYS"OS_GBPB",4,f%,temp%,4
 9140    i%=temp%!0
 9150  ENDWHILE
 9160  FORT%=0TOmaxicons%-1
 9170    IF iconinfo%!(T%*32)<>-1 THEN
 9180      IF iconinfo%!(T%*32+16)<>-1 THEN iconinfo%!(T%*32+16)=litrans%(iconinfo%!(T%*32+16))
 9190      IF iconinfo%!(T%*32+20)<>-1 THEN iconinfo%!(T%*32+20)=litrans%(iconinfo%!(T%*32+20))
 9200    ENDIF
 9210  NEXTT%
 9220  CLOSE#f%
 9230  IF filetoload$="<Wimp$Scrap>" THEN
 9240    OSCLI("Delete "+filetoload$)
 9250    f$=filetoload2$
 9260  ENDIF
 9270  $(wwork%!72)=f$
 9280  sheetsaved%=-1
 9290  temp%!0=wworkh%
 9300  temp%!0=wsaveasshh%
 9310  temp%!4=1
 9320  SYS"Wimp_GetIconState",,temp%
 9330  $(temp%!28)=f$
 9340  PROCOpenWork
 9350  SYS"Wimp_ForceRedraw",wworkh%,0,-4000,4000,0
 9360  SYS"Wimp_ForceRedraw",wstatsh%,0,-4000,4000,0
 9370ENDPROC
 9380
 9390DEFFNStrip(fs$)
 9400LOCAL f%,a%
 9410f%=1
 9420a%=1
 9430WHILE MID$(fs$,f%)<>""
 9440  IF MID$(fs$,f%,1)="." OR MID$(fs$,f%,1)=":" THEN a%=f%+1
 9450  f%+=1
 9460ENDWHILE
 9470=MID$(fs$,a%)
 9480
 9490DEFPROCInst
 9500temp%!0=winsth%
 9510SYS"Wimp_GetWindowState",,temp%
 9520temp%!28=-1
 9530SYS"Wimp_OpenWindow",,temp%
 9540polledb%!0=winsth%
 9550SYS"Wimp_RedrawWindow",,polledb%TOmore%
 9560PROCJustRedraw
 9570ENDPROC
 9580
 9590DEFPROCConstClick
 9600PROCModTitle(0)
 9610IF polledb%!16=2 THEN
 9620  temp%!0=wconstanth%
 9630  temp%!4=0
 9640  SYS"Wimp_GetIconState",,temp%
 9650  v=VAL($(temp%!28))
 9660  IF ABS(v)>32767 THEN
 9670    PROCReportErr("Only numbers between -32767 and 32767 allowed.")
 9680  ELSE
 9690    !constptr%=&10000*v
 9700    SYS"Wimp_CloseWindow",,temp%
 9710    constptr%=0
 9720  ENDIF
 9730ENDIF
 9740ENDPROC
 9750
 9760DEFPROCInputClick
 9770PROCModTitle(0)
 9780inptype%=inpptr%!256
 9790IF polledb%!16=6 THEN
 9800  temp%!0=winputh%
 9810  SYS"Wimp_CloseWindow",,temp%
 9820ENDIF
 9830IF polledb%!16=3 THEN inptype%=(inptype%AND&fffffffc)+0
 9840IF polledb%!16=4 THEN inptype%=(inptype%AND&fffffffc)+1
 9850IF polledb%!16=5 THEN inptype%=(inptype%AND&fffffffc)+2
 9860IF polledb%!16=11 THEN inptype%=(inptype%AND&fffffffb)+4
 9870IF polledb%!16=12 THEN inptype%=(inptype%AND&fffffffb)
 9880inpptr%!256=inptype%
 9890ENDPROC
 9900
 9910DEFPROCMultCClick
 9920PROCModTitle(0)
 9930IF polledb%!16=2 THEN
 9940  temp%!0=wmultch%
 9950  temp%!4=0
 9960  SYS"Wimp_GetIconState",,temp%
 9970  v=VAL($(temp%!28))
 9980  IF ABS(v)>32767 THEN
 9990    PROCReportErr("Only numbers between -32767 and 32767 allowed.")
10000  ELSE
10010    !mconstptr%=&10000*v
10020    SYS"Wimp_CloseWindow",,temp%
10030    mconstptr%=0
10040  ENDIF
10050ENDIF
10060IF (polledb%!16>=3)AND(polledb%!16<=13) THEN
10070  SYS"Wimp_SetCaretPosition",-1,-1
10080  temp%!0=wmultch%
10090  temp%!4=0
10100  SYS"Wimp_GetIconState",,temp%
10110  $(temp%!28)=LEFT$(STR$(2^(((polledb%!16)-2)/12)),11)
10120  SYS"Wimp_ForceRedraw",wmultch%,0,-108,390,0
10130ENDIF
10140ENDPROC
10150
10160DEFPROCWorkClick
10170CASE polledb%!8 OF
10180  WHEN 2:lastmx%=polledb%!0-64:lastmy%=polledb%!4+12:lastmenu%=workmenu%:SYS"Wimp_CreateMenu",,lastmenu%,lastmx%,lastmy%
10190  WHEN 4*256:PROCClickWork
10200  WHEN 1*256:PROCAdjCWork
10210  WHEN 4*16:PROCDragWork
10220  WHEN 4:PROCDoubleWork
10230  WHEN 1:PROCAdjCWork
10240ENDCASE
10250ENDPROC
10260
10270DEFPROCClickWork
10280CASE dfunc% OF
10290  WHEN 0,1,2,3,4,5,6,7,8,9,13,14,15,16,17,18:PROCCreateObj(dfunc%,polledb%!0,polledb%!4)
10300  WHEN 10:PROCSelIcn2
10310  WHEN 12:PROCConnect
10320ENDCASE
10330ENDPROC
10340
10350DEFPROCAdjToolsC
10360CASE olddfunc% OF
10370  WHEN 0,1,2,3,4,5,6,7,8,9,13,14,15,16,17,18:PROCIconColor(0,0)
10380  WHEN 10:PROCIconColor(2,0)
10390  WHEN 12:PROCIconColor(1,0)
10400ENDCASE
10410CASE dfunc% OF
10420  WHEN 0,1,2,3,4,5,6,7,8,9,13,14,15,16,17,18:PROCIconColor(0,9)
10430  WHEN 10:PROCIconColor(2,9)
10440  WHEN 12:PROCIconColor(1,9)
10450ENDCASE
10460olddfunc%=dfunc%
10470ENDPROC
10480
10490DEFPROCIconColor(I%,C%)
10500C%=C%AND15
10510temp%!0=wtoolsh%
10520temp%!4=I%
10530temp%!8=C%<<28
10540temp%!12=15<<28
10550SYS"Wimp_SetIconState",,temp%
10560ENDPROC
10570
10580DEFPROCSelIcn
10590IF polledb%!16<>-1 THEN
10600  PROCSwapIconS(polledb%!16)
10610ELSE
10620  PROCClearSel
10630ENDIF
10640ENDPROC
10650
10660DEFPROCSelIcn2
10670IF polledb%!16<>-1 THEN PROCSwapIconS(polledb%!16)
10680ENDPROC
10690
10700DEFPROCDragWork
10710IF dfunc%=10 THEN
10720  drag%=-1
10730  temp%!0=wworkh%
10740  SYS"Wimp_GetWindowState",,temp%
10750  startlx%=polledb%!0+temp%!20-temp%!4
10760  startly%=polledb%!4+temp%!24-temp%!16
10770  startlx%=(startlx%DIV96)*96+48
10780  startly%=(startly%DIV56)*56-32
10790  newlx%=-1:newly%=-1
10800  oldlx%=-1:oldly%=-1
10810ENDIF
10820ENDPROC
10830
10840DEFPROCDoubleWork
10850CASE dfunc% OF
10860  WHEN 10:PROCSelIcn
10870  WHEN 12:PROCConnect
10880ENDCASE
10890ENDPROC
10900
10910DEFPROCAdjCWork
10920CASE dfunc% OF
10930  WHEN 10:PROCSetParam
10940  WHEN 12:PROCSwapLin
10950ENDCASE
10960ENDPROC
10970
10980DEFPROCSetParam
10990CASE iconinfo%!((polledb%!16)*32) OF
11000  WHEN 0:PROCSetVCOParam
11010  WHEN 2:PROCSetEGParam
11020  WHEN 5:PROCSetConstParam
11030  WHEN 7:PROCSetMultCParam
11040  WHEN 16:PROCSetInputParam
11050  WHEN 18:PROCSetNLDistParam
11060ENDCASE
11070ENDPROC
11080
11090DEFPROCSetNLDistParam
11100temp%!0=wnldisth%
11110SYS"Wimp_GetWindowState",,temp%
11120temp%!4=polledb%!0-256
11130temp%!8=polledb%!4-256
11140temp%!12=temp%!4+512
11150temp%!16=temp%!8+512
11160temp%!28=-1
11170IF (temp%!32)AND(1<<16) THEN SYS"Wimp_CloseWindow",,temp%
11180SYS"Wimp_OpenWindow",,temp%
11190nldistptr%=iconinfo%!((polledb%!16)*32+12)
11200nldistlastx%=-1
11210nldistlasty%=-1
11220REPEAT:MOUSE A%,B%,C%:UNTIL C%=0
11230ENDPROC
11240
11250DEFPROCSetInputParam
11260temp%!0=winputh%
11270temp%!4=1
11280SYS"Wimp_GetIconState",,temp%
11290inpptr%=iconinfo%!((polledb%!16)*32+12)
11300$(temp%!28)=$(inpptr%)
11310inptype%=inpptr%!256
11320temp%!4=8
11330SYS"Wimp_GetIconState",,temp%
11340@%=&90a
11350$(temp%!28)=STR$(inpptr%!268)
11360@%=&01020a00
11370temp%!12=1<<21
11380temp%!4=3
11390IF (inptype%AND3)=0 THEN temp%!8=1<<21 ELSE temp%!8=0
11400SYS"Wimp_SetIconState",,temp%
11410temp%!4=4
11420IF (inptype%AND3)=1 THEN temp%!8=1<<21 ELSE temp%!8=0
11430SYS"Wimp_SetIconState",,temp%
11440temp%!4=5
11450IF (inptype%AND3)=2 THEN temp%!8=1<<21 ELSE temp%!8=0
11460SYS"Wimp_SetIconState",,temp%
11470temp%!4=11
11480IF (inptype%AND4) THEN temp%!8=1<<21 ELSE temp%!8=0
11490SYS"Wimp_SetIconState",,temp%
11500temp%!4=12
11510IF (inptype%AND4) THEN temp%!8=0 ELSE temp%!8=1<<21
11520SYS"Wimp_SetIconState",,temp%
11530SYS"Wimp_GetWindowState",,temp%
11540temp%!4=polledb%!0-210
11550temp%!8=polledb%!4-100
11560temp%!12=temp%!4+430
11570temp%!16=temp%!8+212
11580temp%!28=-1
11590IF (temp%!32)AND(1<<16) THEN SYS"Wimp_CloseWindow",,temp%
11600SYS"Wimp_OpenWindow",,temp%
11610REPEAT:MOUSE A%,B%,C%:UNTIL C%=0
11620ENDPROC
11630
11640DEFPROCSetVCOParam
11650temp%!0=wvcoh%
11660SYS"Wimp_GetWindowState",,temp%
11670temp%!4=polledb%!0-342
11680temp%!8=polledb%!4-132
11690temp%!12=temp%!4+684
11700temp%!16=temp%!8+264
11710temp%!28=-1
11720IF (temp%!32)AND(1<<16) THEN SYS"Wimp_CloseWindow",,temp%
11730SYS"Wimp_OpenWindow",,temp%
11740vcoptr%=iconinfo%!((polledb%!16)*32+12)
11750vcolastx%=-1
11760vcolasty%=-1
11770REPEAT:MOUSE A%,B%,C%:UNTIL C%=0
11780ENDPROC
11790
11800DEFPROCSetEGParam
11810temp%!0=wegh%
11820SYS"Wimp_GetWindowState",,temp%
11830temp%!4=polledb%!0-512
11840temp%!8=polledb%!4-128
11850temp%!12=temp%!4+1024
11860temp%!16=temp%!8+256
11870temp%!28=-1
11880IF (temp%!32)AND(1<<16) THEN SYS"Wimp_CloseWindow",,temp%
11890SYS"Wimp_OpenWindow",,temp%
11900egptr%=iconinfo%!((polledb%!16)*32+12)
11910REPEAT:MOUSE A%,B%,C%:UNTIL C%=0
11920ENDPROC
11930
11940DEFPROCSetConstParam
11950temp%!0=wconstanth%
11960temp%!4=0
11970SYS"Wimp_GetIconState",,temp%
11980constptr%=iconinfo%!((polledb%!16)*32+12)
11990$(temp%!28)=LEFT$(STR$((!constptr%)/&10000),11)
12000SYS"Wimp_GetWindowState",,temp%
12010temp%!4=polledb%!0-180
12020temp%!8=polledb%!4-28
12030temp%!12=temp%!4+360
12040temp%!16=temp%!8+56
12050temp%!28=-1
12060IF (temp%!32)AND(1<<16) THEN SYS"Wimp_CloseWindow",,temp%
12070SYS"Wimp_OpenWindow",,temp%
12080ENDPROC
12090
12100DEFPROCSetMultCParam
12110temp%!0=wmultch%
12120temp%!4=0
12130SYS"Wimp_GetIconState",,temp%
12140mconstptr%=iconinfo%!((polledb%!16)*32+12)
12150$(temp%!28)=LEFT$(STR$((!mconstptr%)/&10000),11)
12160SYS"Wimp_GetWindowState",,temp%
12170temp%!4=polledb%!0-145
12180temp%!8=polledb%!4-54
12190temp%!12=temp%!4+390
12200temp%!16=temp%!8+108
12210temp%!28=-1
12220IF (temp%!32)AND(1<<16) THEN SYS"Wimp_CloseWindow",,temp%
12230SYS"Wimp_OpenWindow",,temp%
12240ENDPROC
12250
12260DEFPROCSwapLin
12270PROCModTitle(0)
12280IF (polledb%!16<>-1) THEN
12290  temp%!0=wworkh%
12300  SYS"Wimp_GetWindowState",,temp%
12310  slx%=polledb%!0-temp%!4+temp%!20
12320  sly%=polledb%!4-temp%!16+temp%!24
12330  sic%=polledb%!16
12340  x%=slx%-iconinfo%!(sic%*32+4)-58
12350  y%=sly%-iconinfo%!(sic%*32+8)-28
12360  si%=FNGetIO(x%,y%,sic%)
12370  IF (si%<>2) THEN
12380    eic%=iconinfo%!(sic%*32+si%*4+16)
12390    elx%=iconinfo%!(eic%*32+4)
12400    ely%=iconinfo%!(eic%*32+8)
12410    ls%=iconinfo%!(sic%*32+28)
12420    IF si%=0 THEN ls%=(ls%AND&fffffffc)OR((ls%+1)AND3) ELSE ls%=(ls%AND&fffffff3)OR((ls%+4)AND&c)
12430    iconinfo%!(sic%*32+28)=ls%
12440    IF slx%>elx% THEN SWAP slx%,elx%
12450    IF sly%>ely% THEN SWAP sly%,ely%
12460    SYS"Wimp_ForceRedraw",wworkh%,slx%-98,sly%-58,elx%+98,ely%+58
12470  ENDIF
12480ENDIF
12490ENDPROC
12500
12510DEFPROCConnect
12520PROCModTitle(0)
12530IF polledb%!16=-1 THEN
12540  VDU7
12550ELSE
12560  temp%!0=wworkh%
12570  SYS"Wimp_GetWindowState",,temp%
12580  IF startlx%=-1 THEN
12590    startlx%=polledb%!0-temp%!4+temp%!20
12600    startly%=polledb%!4-temp%!16+temp%!24
12610    startic%=polledb%!16
12620    x%=startlx%-iconinfo%!(startic%*32+4)-58
12630    y%=startly%-iconinfo%!(startic%*32+8)-28
12640    starti%=FNGetIO(x%,y%,startic%)
12650  ELSE
12660    endlx%=polledb%!0-temp%!4+temp%!20
12670    endly%=polledb%!4-temp%!16+temp%!24
12680    endic%=polledb%!16
12690    x%=endlx%-iconinfo%!(endic%*32+4)-58
12700    y%=endly%-iconinfo%!(endic%*32+8)-28
12710    endi%=FNGetIO(x%,y%,endic%)
12720    IF (starti%=endi%)OR((starti%EORendi%)=1) THEN
12730      VDU7
12740    ELSE
12750      IF endi%=2 THEN
12760        IF iconinfo%!(startic%*32+16+starti%*4)<>-1 THEN PROCReportErr("Input already connected.") ELSE iconinfo%!(startic%*32+16+starti%*4)=endic%
12770      ELSE
12780        IF iconinfo%!(endic%*32+16+endi%*4)<>-1 THEN PROCReportErr("Input already connected.") ELSE iconinfo%!(endic%*32+16+endi%*4)=startic%
12790      ENDIF
12800      IF startlx%>endlx% THEN SWAP startlx%,endlx%
12810      IF startly%>endly% THEN SWAP startly%,endly%
12820      SYS"Wimp_ForceRedraw",wworkh%,startlx%-98,startly%-58,endlx%+98,endly%+58
12830      PROCRemAllDrag
12840    ENDIF
12850  ENDIF
12860ENDIF
12870ENDPROC
12880
12890DEFFNGetIO(x%,y%,i%)
12900IF x%>0 THEN
12910  io%=2
12920ELSE
12930  IF y%>0 THEN io%=0 ELSE io%=1
12940ENDIF
12950CASE iconinfo%!(i%*32) OF
12960  WHEN 1:IF io%=1 THEN io%=0
12970  WHEN 2:io%=2
12980  WHEN 5:io%=2
12990  WHEN 7:IF io%=1 THEN io%=0
13000  WHEN 9:io%=0
13010  WHEN 16:io%=2
13020  WHEN 18:IF io%=1 THEN io%=0
13030ENDCASE
13040=io%
13050
13060DEFPROCCreateObj(obj%,xc%,yc%)
13070PROCRemAllDrag
13080PROCModTitle(0)
13090temp%!0=wworkh%
13100SYS"Wimp_GetWindowState",,temp%
13110x%=xc%-(temp%!4)+(temp%!20)
13120y%=yc%-(temp%!16)+(temp%!24)
13130x%=(x%DIV96)*96
13140y%=((y%DIV56)-1)*56
13150temp%!0=wworkh%
13160temp%!4=x%
13170temp%!8=y%
13180temp%!12=x%+92
13190temp%!16=y%+52
13200temp%!20=%00001000000000001010000000011010
13210$(temp%+24)=df$
13220SYS"Wimp_CreateIcon",,temp%TOih%
13230IF ih%>=maxicons% THEN
13240  temp%!0=wworkh%
13250  temp%!4=ih%
13260  SYS"Wimp_DeleteIcon",,temp%
13270  PROCReportErr("Too many objects.")
13280ELSE
13290  CASE obj% OF
13300    WHEN 0:l%=FNAlloc(260):IF l%<>-1 THEN PROCVCOsin(l%+4)
13310    WHEN 1:l%=FNAlloc(12):IF l%<>-1 THEN !l%=&12345678
13320    WHEN 2:l%=FNAlloc(520):IF l%<>-1 THEN FORT%=l%+8TOl%+516STEP4:!T%=-1:NEXTT%
13330    WHEN 3:l%=FNAlloc(8)
13340    WHEN 4:l%=FNAlloc(8)
13350    WHEN 5:l%=FNAlloc(4):IF l%<>-1 THEN !l%=&10000
13360    WHEN 6:l%=FNAlloc(4)
13370    WHEN 7:l%=FNAlloc(4):IF l%<>-1 THEN !l%=&10000
13380    WHEN 8:l%=FNAlloc(4)
13390    WHEN 9:l%=FNAlloc(4)
13400    WHEN 13:l%=FNAlloc(4)
13410    WHEN 14:l%=FNAlloc(4)
13420    WHEN 15:l%=FNAlloc(256)
13430    WHEN 16:l%=FNAlloc(280):IF l%<>-1 THEN ?l%=13:l%!256=0:l%!268=0:l%!272=-1
13440    WHEN 17:l%=FNAlloc(4)
13450    WHEN 18:l%=FNAlloc(256):IF l%<>-1 THEN FORT%=0TO255:l%?T%=T%:NEXTT%
13460  ENDCASE
13470  IF l%=-1 THEN
13480    temp%!0=wworkh%
13490    temp%!4=ih%
13500    SYS"Wimp_DeleteIcon",,temp%
13510    PROCReportErr("No room for object.")
13520  ELSE
13530    iconinfo%!(ih%*32+0)=obj%
13540    iconinfo%!(ih%*32+4)=x%
13550    iconinfo%!(ih%*32+8)=y%
13560    iconinfo%!(ih%*32+12)=l%
13570    iconinfo%!(ih%*32+16)=-1
13580    iconinfo%!(ih%*32+20)=-1
13590    iconinfo%!(ih%*32+24)=-1
13600    iconinfo%!(ih%*32+28)=15
13610  ENDIF
13620ENDIF
13630SYS"Wimp_ForceRedraw",wworkh%,x%,y%,x%+46*2,y%+13*4
13640ENDPROC
13650
13660DEFPROCIconBClick
13670CASE polledb%!8 OF
13680  WHEN 1,4:PROCOpenWork
13690  WHEN 2:lastmx%=polledb%!0-64:lastmy%=96+176:lastmenu%=iconmenu%:SYS"Wimp_CreateMenu",,lastmenu%,lastmx%,lastmy%
13700ENDCASE
13710ENDPROC
13720
13730DEFPROCOpenWork
13740polledb%!0=wworkh%
13750SYS"Wimp_GetWindowState",,polledb%
13760polledb%!28=-1
13770oldworkx%=polledb%!4
13780PROCOpen_Window
13790temp%!0=wstatsh%
13800SYS"Wimp_GetWindowState",,temp%
13810temp%!28=-1
13820SYS"Wimp_OpenWindow",,temp%
13830ENDPROC
13840
13850DEFPROCUser_Drag_Box
13860PROCDragSaved
13870ENDPROC
13880
13890DEFPROCKey_Pressed
13900IF polledb%!24=&1cc THEN
13910  SYS"Wimp_ProcessKey",&1cc
13920ELSE
13930  CASE polledb%!0 OF
13940    WHEN wconstanth%:PROCKeyConst
13950    WHEN winputh%:PROCKeyInput
13960    WHEN wmultch%:PROCKeyMultC
13970    WHEN wstatsh%:IF((polledb%!4=3)OR(polledb%!4=8))AND(polledb%!24=13) THEN SYS"Wimp_SetCaretPosition",-1,-1
13980  ENDCASE
13990ENDIF
14000ENDPROC
14010
14020DEFPROCKeyInput
14030PROCModTitle(0)
14040IF (polledb%!4=1)AND(polledb%!24=13) THEN
14050  temp%!0=winputh%
14060  temp%!4=1
14070  SYS"Wimp_GetIconState",,temp%
14080  $(inpptr%)=$(temp%!28)
14090  inpptr%!256=inptype%
14100  SYS"Wimp_CloseWindow",,temp%
14110ENDIF
14120ENDPROC
14130
14140DEFPROCKeyConst
14150PROCModTitle(0)
14160IF (polledb%!4=0)AND(polledb%!24=13) THEN
14170  temp%!0=wconstanth%
14180  temp%!4=0
14190  SYS"Wimp_GetIconState",,temp%
14200  v=VAL($(temp%!28))
14210  IF ABS(v)>32767 THEN
14220    PROCReportErr("Only numbers between -32767 and 32767 allowed.")
14230  ELSE
14240    !constptr%=&10000*v
14250    SYS"Wimp_CloseWindow",,temp%
14260    constptr%=0
14270  ENDIF
14280ENDIF
14290ENDPROC
14300
14310DEFPROCKeyMultC
14320PROCModTitle(0)
14330IF (polledb%!4=0)AND(polledb%!24=13) THEN
14340  temp%!0=wmultch%
14350  temp%!4=0
14360  SYS"Wimp_GetIconState",,temp%
14370  v=VAL($(temp%!28))
14380  IF ABS(v)>32767 THEN
14390    PROCReportErr("Only numbers between -32767 and 32767 allowed.")
14400  ELSE
14410    !mconstptr%=&10000*v
14420    SYS"Wimp_CloseWindow",,temp%
14430    mconstptr%=0
14440  ENDIF
14450ENDIF
14460ENDPROC
14470
14480DEFPROCMenu_Select
14490SYS"Wimp_GetPointerInfo",,temp%
14500oldbut%=temp%!8
14510PROCMenu_Select2
14520IF (oldbut%AND1) THEN SYS"Wimp_CreateMenu",,lastmenu%,lastmx%,lastmy%
14530ENDPROC
14540
14550DEFPROCMenu_Select2
14560CASE lastmenu% OF
14570  WHEN iconmenu%:PROCMSelIcon
14580  WHEN workmenu%:PROCMSelWork
14590  WHEN addmenu%:polledb%!4=polledb%!0:polledb%!8=-1:polledb%!0=0:PROCMSelWork
14600ENDCASE
14610ENDPROC
14620
14630DEFPROCMSelIcon
14640IF polledb%!0=1 THEN PROCMSelIconSave
14650IF polledb%!0=2 THEN PROCClear2
14660IF polledb%!0=3 THEN PROCCloseDown
14670ENDPROC
14680
14690DEFPROCMSelIconSave
14700IF polledb%!4=-1 THEN polledb%!16=2:PROCSaveasshCl
14710ENDPROC
14720
14730DEFPROCMSelWork
14740CASE polledb%!0 OF
14750  WHEN 0:PROCMenuAdd
14760  WHEN 1:PROCMenuSel
14770  WHEN 2:workmenu%!(28+24*1+0)=0:workmenu%!(28+24*2+0)=1:PROCMenuConnect
14780  WHEN 3:PROCMenuCalc
14790  WHEN 4:PROCSwapTools
14800ENDCASE
14810PROCAdjToolsC
14820ENDPROC
14830
14840DEFPROCSwapTools
14850tools%=NOT tools%
14860IF tools%=0 THEN
14870  temp%!0=wtoolsh%
14880  SYS"Wimp_CloseWindow",,temp%
14890  workmenu%!(28+24*4+0)=128
14900ELSE
14910  polledb%!0=wworkh%
14920  SYS"Wimp_GetWindowState",,polledb%
14930  oldworkx%=polledb%!4
14940  PROCOpen_Window
14950  workmenu%!(28+24*4+0)=128+1
14960ENDIF
14970ENDPROC
14980
14990DEFPROCMenuAdd
15000CASE polledb%!4 OF
15010  WHEN 0:dfunc%=0:df$="vco"
15020  WHEN 1:dfunc%=1:df$="noise"
15030  WHEN 2:dfunc%=2:df$="eg"
15040  WHEN 3:dfunc%=5:df$="const"
15050  WHEN 4:dfunc%=3:df$="filtlo"
15060  WHEN 5:dfunc%=4:df$="filthi"
15070  WHEN 6:dfunc%=6:df$="mult"
15080  WHEN 7:dfunc%=7:df$="multc"
15090  WHEN 8:dfunc%=8:df$="add"
15100  WHEN 9:dfunc%=13:df$="sub"
15110  WHEN 10:dfunc%=17:df$="samhold"
15120  WHEN 11:dfunc%=18:df$="nldist"
15130  WHEN 12:dfunc%=14:df$="pulse"
15140  WHEN 13:dfunc%=15:df$="delay"
15150  WHEN 14:dfunc%=9:df$="output"
15160  WHEN 15:dfunc%=16:df$="input"
15170ENDCASE
15180IF polledb%!4<>-1 THEN workmenu%!(28+24*1+0)=0:workmenu%!(28+24*2+0)=0
15190PROCRemAllDrag
15200ENDPROC
15210
15220DEFPROCMenuSel
15230CASE polledb%!4 OF
15240  WHEN -1:dfunc%=10:workmenu%!(28+24*1+0)=1:workmenu%!(28+24*2+0)=0
15250  WHEN 0:PROCAllSel
15260  WHEN 1:PROCClearSel
15270  WHEN 2:PROCSwapSel
15280  WHEN 3:PROCDeleteObjs
15290  WHEN 4:PROCDeleteInpt
15300ENDCASE
15310PROCRemAllDrag
15320ENDPROC
15330
15340DEFPROCSwapSel
15350FORT%=0TOmaxicons%-1
15360  IFiconinfo%!(T%*32)<>-1 THEN PROCSwapIconS(T%)
15370NEXTT%
15380ENDPROC
15390
15400DEFPROCClearSel
15410FORT%=0TOmaxicons%-1
15420  IFiconinfo%!(T%*32)<>-1 THEN PROCSetIconS(T%,0)
15430NEXTT%
15440ENDPROC
15450
15460DEFPROCAllSel
15470FORT%=0TOmaxicons%-1
15480  IFiconinfo%!(T%*32)<>-1 THEN PROCSetIconS(T%,1)
15490NEXTT%
15500ENDPROC
15510
15520DEFPROCDeleteObjs
15530FORT%=0TOmaxicons%-1
15540  IF(iconinfo%!(T%*32)<>-1)AND(iconinfo%!(T%*32+28))AND(1<<4) THEN
15550    IF iconinfo%!(T%*32+12)=constptr% THEN temp%!0=wconstanth%:SYS"Wimp_CloseWindow",,temp%:constptr%=0
15560    IF iconinfo%!(T%*32+12)=mconstptr% THEN temp%!0=wmultch%:SYS"Wimp_CloseWindow",,temp%:mconstptr%=0
15570    IF iconinfo%!(T%*32+12)=vcoptr% THEN temp%!0=wvcoh%:SYS"Wimp_CloseWindow",,temp%:vcoptr%=0
15580    IF iconinfo%!(T%*32+12)=egptr% THEN temp%!0=wegh%:SYS"Wimp_CloseWindow",,temp%:egptr%=0
15590    IF iconinfo%!(T%*32+12)=inpptr% THEN temp%!0=winputh%:SYS"Wimp_CloseWindow",,temp%:inpptr%=0
15600    IF iconinfo%!(T%*32+12)=nldistptr% THEN temp%!0=wnldisth%:SYS"Wimp_CloseWindow",,temp%:nldistptr%=0
15610    temp%!0=wworkh%
15620    temp%!4=T%
15630    SYS"Wimp_DeleteIcon",,temp%
15640    PROCFree(iconinfo%!(T%*32+12))
15650    iconinfo%!(T%*32+0)=-1
15660    iconinfo%!(T%*32+4)=-1
15670    iconinfo%!(T%*32+8)=-1
15680    iconinfo%!(T%*32+12)=-1
15690    iconinfo%!(T%*32+16)=-1
15700    iconinfo%!(T%*32+20)=-1
15710    iconinfo%!(T%*32+24)=-1
15720    iconinfo%!(T%*32+28)=-1
15730    FORS%=0TOmaxicons%-1
15740      IF iconinfo%!(S%*32)<>-1 THEN
15750        IF iconinfo%!(S%*32+16)=T% THEN iconinfo%!(S%*32+16)=-1
15760        IF iconinfo%!(S%*32+20)=T% THEN iconinfo%!(S%*32+20)=-1
15770      ENDIF
15780    NEXTS%
15790  ENDIF
15800NEXTT%
15810SYS"Wimp_ForceRedraw",wworkh%,0,-4000,4000,0
15820ENDPROC
15830
15840DEFPROCDeleteInpt
15850FORT%=0TOmaxicons%-1
15860  IF(iconinfo%!(T%*32)<>-1)AND(iconinfo%!(T%*32+28))AND(1<<4) THEN iconinfo%!(T%*32+16)=-1:iconinfo%!(T%*32+20)=-1:iconinfo%!(T%*32+28)=31
15870NEXTT%
15880SYS"Wimp_ForceRedraw",wworkh%,0,-4000,4000,0
15890ENDPROC
15900
15910DEFPROCSetIconS(i%,s%)
15920temp%!0=wworkh%
15930temp%!4=i%
15940temp%!8=s%<<21
15950temp%!12=1<<21
15960SYS"Wimp_SetIconState",,temp%
15970iconinfo%!(i%*32+28)=((iconinfo%!(i%*32+28))AND&ffffffef)OR(s%<<4)
15980ENDPROC
15990
16000DEFPROCSwapIconS(i%)
16010temp%!0=wworkh%
16020temp%!4=i%
16030temp%!8=1<<21
16040temp%!12=0
16050SYS"Wimp_SetIconState",,temp%
16060iconinfo%!(i%*32+28)=(iconinfo%!(i%*32+28))EOR(1<<4)
16070ENDPROC
16080
16090DEFPROCMenuConnect
16100PROCRemAllDrag
16110dfunc%=12
16120ENDPROC
16130
16140DEFPROCMenuCalc
16150PROCSendSFXED(&44643)
16160ENDPROC
16170
16180DEFPROCStartReceived
16190temp%!0=wstatsh%
16200temp%!4=3
16210SYS"Wimp_GetIconState",,temp%
16220samlen%=VAL($(temp%!28))
16230IF samlen%<=0 THEN samlen%=1
16240IF samlen%>polledb%!24 THEN
16250  PROCReportErr("No room.")
16260ELSE
16270  startsam%=polledb%!20
16280  PROCMenuCalc2
16290ENDIF
16300ENDPROC
16310
16320DEFPROCMenuCalc2
16330io%=-1
16340FORT%=0TOmaxicons%-1
16350  IF iconinfo%!(T%*32)=9 THEN
16360    IF io%=-1 THEN io%=T% ELSE io%=-2
16370  ENDIF
16380NEXTT%
16390CASE io% OF
16400  WHEN -1:PROCReportErr("No output!")
16410  WHEN -2:PROCReportErr("More than one output!")
16420  OTHERWISE:PROCCalcOK(io%)
16430ENDCASE
16440ENDPROC
16450
16460DEFPROCCalcOK(i%)
16470temp%!0=wstatsh%
16480temp%!4=3
16490SYS"Wimp_GetIconState",,temp%
16500samlen%=VAL($(temp%!28))
16510IF samlen%<=0 THEN samlen%=1
16520IF startsam%<>-1 THEN
16530  e%=0:T%=0
16540  WHILE (T%<maxicons%)AND(e%=0)
16550    CASE iconinfo%!(T%*32) OF
16560      WHEN 0:PROCInitVCO(iconinfo%!(T%*32+12))
16570      WHEN 2:PROCInitEG(iconinfo%!(T%*32+12),samlen%)
16580      WHEN 3:PROCInitFilt(iconinfo%!(T%*32+12))
16590      WHEN 4:PROCInitFilt(iconinfo%!(T%*32+12))
16600      WHEN 14:PROCInitPulse(iconinfo%!(T%*32+12))
16610      WHEN 15:PROCInitDelay(iconinfo%!(T%*32+12))
16620      WHEN 16:e%=FNInitInput(iconinfo%!(T%*32+12))
16630      WHEN 17:PROCInitSamHold(iconinfo%!(T%*32+12))
16640    ENDCASE
16650    T%+=1
16660  ENDWHILE
16670  IF e%<>0 THEN
16680    PROCReportErr("Can't claim input memory")
16690    PROCCloseInput
16700    SYS"Hourglass_Off"
16710  ELSE
16720    SYS"Hourglass_On"
16730    !samtyp=samtype%
16740    A%=iconinfo%!(i%*32+16)
16750    B%=iconinfo%
16760    C%=startsam%
16770    D%=samlen%
16780    CALLcalcall
16790    SYS"Hourglass_Off"
16800    PROCCloseInput
16810    temp%!20=samlen%
16820    temp%!24=samtype%
16830    $(temp%+28)=sheetname$
16840    PROCSendSFXED(&44644)
16850    startsam%=-1
16860  ENDIF
16870ENDIF
16880ENDPROC
16890
16900DEFPROCInitVCO(l%)
16910!l%=0
16920ENDPROC
16930
16940DEFPROCInitEG(l%,k%)
16950l%!0=0
16960l%!4=(65536*512)/samlen%
16970ENDPROC
16980
16990DEFPROCInitFilt(l%)
17000!l%=0
17010ENDPROC
17020
17030DEFPROCInitDelay(l%)
17040FORJ%=0TO252STEP4:l%!J%=0:NEXTJ%
17050ENDPROC
17060
17070DEFPROCInitPulse(l%)
17080!l%=0
17090ENDPROC
17100
17110DEFPROCInitSamHold(l%)
17120!l%=0
17130ENDPROC
17140
17150DEFFNInitInput(l%)
17160LOCAL ERROR
17170ON ERROR LOCAL PROCReportErr(REPORT$):il%=1:GOTO 17260
17180IF $l%="" THEN
17190  PROCReportErr("Warning: no input name given.")
17200  il%=1
17210ELSE
17220  f%=OPENIN($l%)
17230  IF f%=0 THEN il%=1:PROCReportErr("Warning: can't load input.") ELSE il%=EXT#f%:CLOSE#f%
17240ENDIF
17250IF il%<=0 THEN il%=1
17260SYS"XOS_Module",6,,,(il%+3)AND&fffffffc TO ,,s%;v%
17270IF v%AND1 THEN
17280  l%!272=-1
17290  error%=-1
17300ELSE
17310  l%!260=(&1000*il%)/samlen%
17320  l%!264=0
17330  l%!268=il%
17340  l%!272=s%
17350  l%!276=0
17360  IF il%>1 THEN OSCLI("LOAD "+$l%+" "+STR$~s%)
17370  error%=0
17380ENDIF
17390=error%
17400
17410DEFPROCCloseInput
17420FORT%=0TOmaxicons%
17430  IF iconinfo%!(T%*32)=16 THEN
17440    f%=iconinfo%!(T%*32+12)
17450    IF f%!272<>-1 THEN SYS"XOS_Module",7,,f%!272:f%!272=-1
17460  ENDIF
17470NEXTT%
17480ENDPROC
17490
17500DEFPROCUser_Message
17510FORT%=0TO255STEP4:messbk%!T%=polledb%!T%:NEXTT%
17520m%=polledb%!16
17530CASE m% OF
17540  WHEN 0:PROCQuit
17550  WHEN 1:PROCDataSave
17560  WHEN 2:PROCSaveAck
17570  WHEN 3:PROCDataLoad
17580  WHEN 5:PROCDataOpen
17590  WHEN &44645:PROCStartReceived
17600ENDCASE
17610ENDPROC
17620
17630DEFPROCCloseDown
17640IF sheetsaved%=-1 THEN
17650  PROCQuit
17660ELSE
17670  A%=FNConfirm("Sheet has been modified. Are you sure you want to quit?")
17680  IF A%=1 THEN PROCQuit
17690ENDIF
17700ENDPROC
17710
17720DEFPROCQuit
17730SYS"XOS_SetVarVal","SFXM_TaskHandle","",-1,0,0
17740SYS"Hourglass_Smash"
17750SYS"Wimp_CloseDown",taskh%,&4b534154
17760SYS"OS_Exit"
17770ENDPROC
17780
17790DEFFNGetSFXEDH
17800SYS"XOS_ReadVarVal","SFXED_TaskHandle",temp2%,16,0,0TO,,A%
17810temp2%?A%=13
17820IF A%=0 THEN =0 ELSE =EVAL("&"+$temp2%)
17830
17840DEFPROCInit
17850SYS "OS_GetEnv" TO EnvStr$
17860I%=1:S%=0
17870REPEAT
17880  IF MID$(EnvStr$,I%,1)=" " THEN S%+=1
17890  I%+=1
17900UNTIL (S%=3)OR(MID$(EnvStr$,I%,1)="")
17910lf$=MID$(EnvStr$,I%)
17920@%=&01020a00
17930maxicons%=100
17940DIM temp% 1000
17950DIM temp2% 1000
17960DIM messbk% 512
17970DIM pollb% 256
17980polledb%=pollb%
17990SYS"Wimp_Initialise",200,&4b534154,"SFXM"TOversion%,taskh%
18000IF version%<200 THEN SYS"Wimp_CloseDown",taskh%,&4b534154:SYS"OS_Exit"
18010SYS"XOS_ReadVarVal","SFXM_TaskHandle",temp2%,16,0,0TO,,A%
18020IF A%<>0 THEN
18030  PROCReportErr("SFXM already running.")
18040  SYS"Wimp_CloseDown",taskh%,&4b534154
18050  SYS"OS_Exit"
18060ENDIF
18070SYS"Hourglass_On"
18080SYS"XOS_SetVarVal","SFXM_TaskHandle",STR$~taskh%,8,0,0
18090SYS"Wimp_SpriteOp",11,,"<SFXM$Dir>.Sprites"
18100H%=FNGetSFXEDH
18110IF H%=0 THEN OSCLI("*WimpTask Run <SFXED$Dir>.^.!SFXED")
18120SYS"Wimp_OpenTemplate",,"<SFXM$Dir>.Templates"
18130DIM pixtrans% 16
18140DIM scalef% 16
18150DIM weg% 1000
18160DIM wvco% 1000
18170DIM wnldist% 1000
18180DIM wabout% 1000
18190DIM wsaveassh% 1000
18200DIM wconstant% 1000
18210DIM wwork% 1000
18220DIM wtools% 2000
18230DIM wstats% 1000
18240DIM wmultc% 1000
18250DIM winput% 1000
18260DIM winst% 1000
18270DIM icbuf% 4000
18280icbufn%=icbuf%
18290DIM tname% 16
18300PROCLoadTemp(winst%,"inst")
18310SYS"Wimp_CloseTemplate"
18320SYS"Wimp_CreateWindow",,winst%TOwinsth%
18330PROCInst
18340SYS"Wimp_OpenTemplate",,"<SFXM$Dir>.Templates"
18350PROCLoadTemp(weg%,"eg")
18360PROCLoadTemp(wvco%,"vco")
18370PROCLoadTemp(wnldist%,"nldist")
18380PROCLoadTemp(wabout%,"about")
18390PROCLoadTemp(wsaveassh%,"saveassh")
18400PROCLoadTemp(wconstant%,"constant")
18410PROCLoadTemp(wwork%,"work")
18420PROCLoadTemp(wtools%,"tools")
18430PROCLoadTemp(wstats%,"stats")
18440PROCLoadTemp(wmultc%,"multc")
18450PROCLoadTemp(winput%,"input")
18460SYS"Wimp_CloseTemplate"
18470SYS"Wimp_CreateWindow",,weg%TOwegh%
18480SYS"Wimp_CreateWindow",,wvco%TOwvcoh%
18490SYS"Wimp_CreateWindow",,wnldist%TOwnldisth%
18500SYS"Wimp_CreateWindow",,wabout%TOwabouth%
18510SYS"Wimp_CreateWindow",,wsaveassh%TOwsaveasshh%
18520SYS"Wimp_CreateWindow",,wconstant%TOwconstanth%
18530SYS"Wimp_CreateWindow",,wwork%TOwworkh%
18540SYS"Wimp_CreateWindow",,wtools%TOwtoolsh%
18550SYS"Wimp_CreateWindow",,wstats%TOwstatsh%
18560SYS"Wimp_CreateWindow",,wmultc%TOwmultch%
18570SYS"Wimp_CreateWindow",,winput%TOwinputh%
18580PROCMenus
18590DIM bicon% 32
18600bicon%!0=-1
18610bicon%!4=0
18620bicon%!8=0
18630bicon%!12=68
18640bicon%!16=68
18650bicon%!20=%0011000000011010
18660$(bicon%+24)="!sfxm"
18670SYS"Wimp_CreateIcon",,bicon%TObiconh%
18680DIM iconinfo% maxicons%*32
18690FORT%=0TOmaxicons%*32-4:iconinfo%!T%=-1:NEXTT%
18700olddfunc%=10:dfunc%=10:df$="vco"
18710olddx%=-1:olddy%=-1:newdx%=-1:newdy%=-1
18720oldlx%=-1:oldly%=-1:newlx%=-1:newly%=-1
18730startlx%=-1:startly%=0:startic%=-1
18740starti%=-1:endi%=-1
18750drag%=0
18760dragx%=-1
18770dragy%=-1
18780constptr%=0
18790mconstptr%=0
18800vcoptr%=0
18810egptr%=0
18820nldistptr%=0
18830nldistlastx%=-1
18840nldistlasty%=-1
18850vcolastx%=-1
18860vcolasty%=-1
18870samptrl%=-1
18880samptrr%=-1
18890startsam%=-1
18900samlen%=-1
18910zoomfr=1
18920okt%=1
18930savetype%=-1
18940inpptr%=0
18950nopoll%=0
18960sheetsaved%=-1
18970filetoload$="":filetoload2$=""
18980sheetname$="<Untitled>"
18990oldworkx%=-1
19000tools%=-1
19010PROCAdjToolsC
19020DIM dragb% 56
19030DIM litrans%(maxicons%)
19040samtype%=0
19050PROCAssem
19060DIM freepool% maxicons%*540
19070A%=freepool%
19080B%=maxicons%*540
19090CALL initmem
19100DIM linlog% 8192
19110*VOLUME 127
19120SYS"Sound_Configure",0,0,0,0,0TO,,,T%
19130FORS%=0TO8188STEP4:linlog%!S%=!((T%!8)+S%):NEXTS%
19140!linlog=linlog%
19150DIM lintable% 1024
19160!lintab=lintable%
19170FORT%=0TO127
19180  lintable%!(T%*8)=INT(0.5+267.33*2^(T%/16))
19190  lintable%!(T%*8+4)=-lintable%!(T%*8)
19200NEXTT%
19210IF lf$<>"" THEN
19220  $(polledb%+44)=lf$
19230  polledb%!40=&c36
19240  PROCLoadSheet
19250ENDIF
19260temp%!0=winsth%
19270SYS"Wimp_CloseWindow",,temp%
19280temp%!0=winsth%
19290SYS"Wimp_DeleteWindow",,temp%
19300SYS"Hourglass_Off"
19310ENDPROC
19320
19330DEFPROCModTitle(ss%)
19340LOCAL ti$
19350IF ss%=sheetsaved% THEN ENDPROC
19360ti$=$(wwork%!72)
19370IF INSTR(ti$," ")<>0 THEN ti$=LEFT$(ti$,INSTR(ti$," ")-1)
19380IF ss%=0 THEN ti$=ti$+" *"
19390$(wwork%!72)=ti$
19400temp%!0=wworkh%
19410SYS"Wimp_GetWindowOutline",,temp%
19420SYS"Wimp_ForceRedraw",-1,temp%!4,temp%!16-40,temp%!12,temp%!16
19430sheetsaved%=ss%
19440ENDPROC
19450
19460DEFPROCClear2
19470IF sheetsaved%=-1 THEN
19480  PROCClear
19490ELSE
19500  A%=FNConfirm("Sheet has been modified. Are you sure you want to do this?")
19510  IF A%=1 THEN PROCClear
19520ENDIF
19530ENDPROC
19540
19550DEFPROCClear
19560temp2%!0=wconstanth%
19570SYS"Wimp_CloseWindow",,temp2%
19580temp2%!0=wmultch%
19590SYS"Wimp_CloseWindow",,temp2%
19600temp2%!0=wvcoh%
19610SYS"Wimp_CloseWindow",,temp2%
19620temp2%!0=wegh%
19630SYS"Wimp_CloseWindow",,temp2%
19640temp2%!0=winputh%
19650SYS"Wimp_CloseWindow",,temp2%
19660temp2%!0=wnldisth%
19670SYS"Wimp_CloseWindow",,temp2%
19680temp2%!0=wstatsh%
19690temp2%!4=8
19700SYS"Wimp_GetIconState",,temp2%
19710$(!(temp2%+28))=""
19720temp%!0=wsaveasshh%
19730temp%!4=1
19740SYS"Wimp_GetIconState",,temp%
19750$(temp%!28)="Sheet"
19760SYS"Wimp_ForceRedraw",wstatsh%,0,-4000,4000,0
19770SYS"Wimp_SetCaretPosition",-1,-1
19780temp2%!0=wworkh%
19790FORT%=0TOmaxicons%-1
19800  IF iconinfo%!(T%*32)<>-1 THEN temp2%!4=T%:SYS"Wimp_DeleteIcon",,temp2%
19810NEXTT%
19820constptr%=0
19830mconstptr%=0
19840vcoptr%=0
19850egptr%=0
19860vcolastx%=-1
19870vcolasty%=-1
19880FORT%=0TOmaxicons%*32-4STEP4:iconinfo%!T%=-1:NEXTT%
19890A%=freepool%
19900B%=maxicons%*540
19910CALL initmem
19920$(wwork%!72)="<Untitled>"
19930sheetname$="<Untitled>"
19940temp%!0=wworkh%
19950SYS"Wimp_GetWindowOutline",,temp%
19960SYS"Wimp_ForceRedraw",-1,temp%!4,temp%!16-44,temp%!12,temp%!16
19970SYS"Wimp_ForceRedraw",wworkh%,0,-4000,4000,0
19980sheetsaved%=-1
19990ENDPROC
20000
20010DEFPROCLoadTemp(RETURN start%,name$)
20020$tname%=name$
20030SYS"Wimp_LoadTemplate",,start%,icbufn%,icbuf%+4000,-1,tname%,0TO,start%,icbufn%,,,,next%
20040IF next%=0 THEN SYS"Wimp_CloseTemplate":ERROR 0,"Template "+name$+" not found"
20050ENDPROC
20060
20070DEFPROCReportErr(a$)
20080temp2%!0=0
20090$(temp2%+4)=a$
20100SYS"Wimp_ReportError",temp2%,1,"SFXM"
20110ENDPROC
20120
20130DEFFNConfirm(a$)
20140temp2%!0=0
20150$(temp2%+4)=a$
20160SYS"Wimp_ReportError",temp2%,%10011,"Confirm"TO,A%
20170=A%
20180
20190DEFFNinterr(a$)
20200temp2%!0=0
20210$(temp2%+4)=a$
20220SYS"Wimp_ReportError",temp2%,%10011,"SFXM Internal Error."TO,A%
20230=A%
20240
20250REM titlestring, width in chars.
20260DEFFNMenuHead(t$,w%)
20270LOCAL a%
20280a%=Menus%+MenuPtr%
20290$a%=t$
20300a%?12=7
20310a%?13=2
20320a%?14=7
20330a%?15=0
20340a%!16=w%*16
20350a%!20=44
20360a%!24=0
20370MenuPtr%+=28
20380=a%
20390
20400REM itemtext, flags, indirected, val. string, max. length
20410DEFPROCAddItem(i$,f%,i%,v$,ml%)
20420LOCAL a%
20430a%=Menus%+MenuPtr%
20440IF (LEN(i$)>11)AND(i%=0) THEN i%=-1:ml%=LEN(i$)+1
20450a%!0=f%AND255
20460a%!4=-1
20470IF f%AND256 THEN a%!8=%00000111010000011001000000010001 ELSE a%!8=%00000111000000011001000000010001
20480IF i% THEN
20490  a%!8+=256
20500  $(MenuData%+MenuDataPtr%)=i$
20510  a%!12=MenuData%+MenuDataPtr%
20520  MenuDataPtr%+=LEN(i$)+1
20530  $(MenuData%+MenuDataPtr%)=v$
20540  a%!16=MenuData%+MenuDataPtr%
20550  MenuDataPtr%+=LEN(v$)+1
20560  a%!20=ml%
20570ELSE
20580  $(a%+12)=i$
20590ENDIF
20600MenuPtr%+=24
20610ENDPROC
20620
20630REM menu, item, submenupointer
20640DEFPROCAddSubMenu(m%,i%,p%)
20650m%!(28+24*i%+4)=p%
20660ENDPROC
20670
20680DEFPROCMenus
20690DIM MenuData% 2000
20700DIM Menus% 2000
20710MenuDataPtr%=0
20720MenuPtr%=0
20730iconmenu%=FNMenuHead("SFXM",8)
20740PROCAddItem("Info",0,0,"",0)
20750PROCAddItem("Save",256,0,"",0)
20760PROCAddItem("Restart",0,0,"",0)
20770PROCAddItem("Quit",128,0,"",0)
20780PROCAddSubMenu(iconmenu%,0,wabouth%)
20790PROCAddSubMenu(iconmenu%,1,wsaveasshh%)
20800
20810workmenu%=FNMenuHead("SFXM",11)
20820PROCAddItem("Place",0,0,"",0)
20830PROCAddItem("Select",0,0,"",0)
20840PROCAddItem("Connection",0,0,"",0)
20850PROCAddItem("Calculate",0,0,"",0)
20860PROCAddItem("Show Tools",129,0,"",0)
20870addmenu%=FNMenuHead("Place",20)
20880PROCAddItem("Oscillator",0,0,"",0)
20890PROCAddItem("Noise Generator",256,0,"",0)
20900PROCAddItem("Envelope Generator",0,0,"",0)
20910PROCAddItem("Constant Generator",0,0,"",0)
20920PROCAddItem("Low Pass Filter",0,0,"",0)
20930PROCAddItem("High Pass Filter",256,0,"",0)
20940PROCAddItem("Multiplier",0,0,"",0)
20950PROCAddItem("Constant Multiplier",0,0,"",0)
20960PROCAddItem("Adder",0,0,"",0)
20970PROCAddItem("Subtractor",0,0,"",0)
20980PROCAddItem("Sample & Hold",256,0,"",0)
20990PROCAddItem("General Function",256,0,"",0)
21000PROCAddItem("Pulse Generator",0,0,"",0)
21010PROCAddItem("Delay Line",256,0,"",0)
21020PROCAddItem("Output",0,0,"",0)
21030PROCAddItem("Input",128+256,0,"",0)
21040selmenu%=FNMenuHead("Select",15)
21050PROCAddItem("All",0,0,"",0)
21060PROCAddItem("Clear",0,0,"",0)
21070PROCAddItem("Swap",0,0,"",0)
21080PROCAddItem("Delete Objects",0,0,"",0)
21090PROCAddItem("Delete Inputs",128,0,"",0)
21100PROCAddSubMenu(workmenu%,0,addmenu%)
21110PROCAddSubMenu(workmenu%,1,selmenu%)
21120ENDPROC
21130
21140DEFPROCRedrawLines(x1%,y1%,x2%,y2%)
21150temp2%!0=wworkh%
21160SYS"Wimp_GetWindowState",,temp2%
21170SYS"Wimp_SetColour",7
21180A%=temp2%!4-temp2%!20
21190B%=temp2%!16-temp2%!24
21200C%=x1%
21210D%=y1%
21220E%=x2%
21230F%=y2%
21240G%=iconinfo%
21250CALLredrln
21260ENDPROC
21270
21280DEFFNAlloc(size%)
21290A%=size%
21300=USR(allocmem)
21310
21320DEFPROCFree(loc%)
21330A%=loc%
21340CALLfreemem
21350ENDPROC
21360
21370DEFPROCAssem
21380DIM code% 3000
21390FOR pass%=0TO2STEP2
21400P%=code%
21410[       opt     pass%
21420
21430.redrln stmfd   r13!,{r0-r12,r14}
21440        mov     r7,#0
21450.chkicn add     r8,r6,r7,lsl #5
21460        ldr     r9,[r8,#0]
21470        cmn     r9,#1
21480        beq     nxticn
21490        cmpne   r9,#2
21500        cmpne   r9,#5
21510        beq     nxticn
21520        ldr     r9,[r8,#16]
21530        cmn     r9,#1
21540        beq     noinp1
21550        ldr     r9,[r8,#28]
21560        and     r9,r9,#3
21570        str     r9,lintyp
21580        ldr     r9,[r8]
21590        cmp     r9,#0
21600        cmpne   r9,#3
21610        cmpne   r9,#4
21620        cmpne   r9,#6
21630        cmpne   r9,#8
21640        cmpne   r9,#13
21650        cmpne   r9,#14
21660        cmpne   r9,#15
21670        cmpne   r9,#17
21680        ldr     r9,[r8,#4]
21690        sub     r9,r9,#2
21700        ldr     r10,[r8,#8]
21710        addeq   r10,r10,#9*4
21720        addne   r10,r10,#6*4
21730        ldr     r11,[r8,#16]
21740        add     r11,r6,r11,lsl #5
21750        ldr     r12,[r11,#8]
21760        ldr     r11,[r11,#4]
21770        add     r11,r11,#46*2
21780        add     r12,r12,#6*4
21790        bl      ctline
21800.noinp1 ldr     r9,[r8,#20]
21810        cmn     r9,#1
21820        beq     noinp2
21830        ldr     r9,[r8,#28]
21840        mov     r9,r9,lsr #2
21850        and     r9,r9,#3
21860        str     r9,lintyp
21870        ldr     r9,[r8,#4]
21880        sub     r9,r9,#2
21890        ldr     r10,[r8,#8]
21900        add     r10,r10,#3*4
21910        ldr     r11,[r8,#20]
21920        add     r11,r6,r11,lsl #5
21930        ldr     r12,[r11,#8]
21940        ldr     r11,[r11,#4]
21950        add     r11,r11,#46*2
21960        add     r12,r12,#6*4
21970        bl      ctline
21980.noinp2
21990.nxticn add     r7,r7,#1
22000        cmp     r7,#maxicons%
22010        blo     chkicn
22020        ldmfd   r13!,{r0-r12,pc}
22030
22040.lintyp equd    0
22050
22060.ctline add     r9,r9,r0
22070        add     r10,r10,r1
22080        add     r11,r11,r0
22090        add     r12,r12,r1
22100        stmfd   r13!,{r0-r8,r14}
22110        mov     r0,#4
22120        mov     r1,r9
22130        mov     r2,r10
22140        swi     "OS_Plot"
22150        ldr     r3,lintyp
22160        mov     r0,#5
22170        cmp     r3,#3
22180        addeq   r1,r9,r11
22190        moveq   r1,r1,asr #1
22200        moveq   r2,r10
22210        cmp     r3,#2
22220        moveq   r1,r9
22230        addeq   r2,r10,r12
22240        moveq   r2,r2,asr #1
22250        cmp     r3,#1
22260        moveq   r1,r11
22270        moveq   r2,r10
22280        cmp     r3,#0
22290        moveq   r1,r9
22300        moveq   r2,r12
22310        swi     "OS_Plot"
22320        ldr     r3,lintyp
22330        mov     r0,#5
22340        cmp     r3,#3
22350        addeq   r1,r9,r11
22360        moveq   r1,r1,asr #1
22370        moveq   r2,r12
22380        cmp     r3,#2
22390        moveq   r1,r11
22400        addeq   r2,r10,r12
22410        moveq   r2,r2,asr #1
22420        cmp     r3,#1
22430        cmpne   r3,#0
22440        moveq   r1,r11
22450        moveq   r2,r12
22460        swi     "OS_Plot"
22470        ldr     r3,lintyp
22480        cmp     r3,#0
22490        cmpne   r3,#1
22500        ldmeqfd r13!,{r0-r8,pc}
22510        mov     r0,#5
22520        mov     r1,r11
22530        mov     r2,r12
22540        swi     "OS_Plot"
22550        ldmfd   r13!,{r0-r8,pc}
22560.samtyp equd    0
22570
22580.initmem        ;r0=MemStart, r1=Size
22590        stmfd   r13!,{r0-r3,r14}
22600        add     r0,r0,#3
22610        bic     r0,r0,#3
22620        bic     r1,r1,#3
22630        str     r0,memstart
22640        mvn     r2,#0
22650        str     r2,[r0,#4]
22660        sub     r2,r1,#24
22670        str     r2,[r0,#8]
22680        add     r2,r0,r1
22690        str     r2,[r0]
22700        add     r3,r0,#12
22710        str     r3,[r2,#-8]
22720        mvn     r3,#0
22730        str     r3,[r2,#-12]
22740        mov     r3,#0
22750        str     r3,[r2,#-4]
22760        ldmfd   r13!,{r0-r3,pc}
22770
22780.allocmem       ;r0=RequiredSize -> r0=PtrToFreeMem (-1=failed)
22790        cmp     r0,#0
22800        mvnle   r0,#0
22810        movle   pc,r14
22820        stmfd   r13!,{r1-r4,r14}
22830        add     r0,r0,#3
22840        bic     r0,r0,#3
22850        add     r3,r0,#12
22860        ldr     r1,memstart
22870        add     r1,r1,#12
22880.alloc1 ldr     r2,[r1,#-4]
22890        cmp     r2,r0
22900        bmi     alloc4
22910        cmp     r2,r3
22920        ble     alloc3
22930        add     r0,r0,#12
22940        b       alloc2
22950.alloc4 ldr     r1,[r1,#-12]
22960        cmn     r1,#1
22970        bne     alloc1
22980        mvn     r0,#0
22990        ldmfd   r13!,{r1-r4,pc}
23000.alloc3 mov     r0,r1
23010        mov     r2,#0
23020        str     r2,[r1,#-4]
23030        ldmfd   r13!,{r1-r4,pc}
23040.alloc2 add     r4,r1,r0
23050        sub     r2,r2,r0
23060        ldr     r3,[r1,#-12]
23070        str     r3,[r4,#-12]
23080        str     r2,[r4,#-4]
23090        str     r1,[r4,#-8]
23100        str     r4,[r1,#-12]
23110        cmn     r3,#1
23120        strne   r4,[r3,#-8]
23130        mov     r4,#0
23140        str     r4,[r1,#-4]
23150        mov     r0,r1
23160        ldmfd   r13!,{r1-r4,pc}
23170
23180.freemem        ;r0=PtrToAllocatedMem
23190        stmfd   r13!,{r0-r3,r14}
23200        ldr     r1,[r0,#-12]
23210        sub     r2,r1,r0
23220        sub     r2,r2,#12
23230        ldr     r3,[r1,#-4]
23240        cmp     r3,#0
23250        beq     freem1
23260        add     r2,r2,r3
23270        add     r2,r2,#12
23280        ldr     r1,[r1,#-12]
23290        cmn     r1,#1
23300        strne   r0,[r1,#-8]
23310.freem1 str     r1,[r0,#-12]
23320        str     r2,[r0,#-4]
23330        ldr     r1,[r0,#-8]
23340        cmn     r1,#1
23350        beq     freem2
23360        ldr     r3,[r1,#-4]
23370        cmp     r3,#0
23380        beq     freem2
23390        add     r2,r2,r3
23400        add     r2,r2,#12
23410        str     r2,[r1,#-4]
23420        ldr     r2,[r0,#-12]
23430        str     r2,[r1,#-12]
23440        cmn     r2,#1
23450        strne   r1,[r2,#-8]
23460.freem2 ldmfd   r13!,{r0-r3,pc}
23470
23480.memstart
23490        equd    0
23500
23510.redrawvco
23520        stmfd   r13!,{r0-r12,r14}
23530        add     r8,r0,#166
23540        add     r9,r1,#4
23550        add     r10,r2,#4
23560        mov     r11,#0
23570.rvcolp mov     r0,#69
23580        mov     r1,r11,lsl #1
23590        ldrb    r2,[r10,r11]
23600        mov     r2,r2,lsl #24
23610        mov     r2,r2,asr #24
23620        add     r2,r2,#128
23630        add     r1,r1,r8
23640        add     r2,r2,r9
23650        swi     "OS_Plot"
23660        add     r11,r11,#1
23670        cmp     r11,#256
23680        bne     rvcolp
23690        ldmfd   r13!,{r0-r12,pc}
23700.redrawnld
23710        stmfd   r13!,{r0-r12,r14}
23720        mov     r8,r0
23730        mov     r9,r1
23740        mov     r10,r2
23750        mov     r11,#0
23760.rnldlp mov     r0,#69
23770        mov     r1,r11,lsl #1
23780        ldrb    r2,[r10,r11]
23790        mov     r2,r2,lsl #1
23800        add     r1,r1,r8
23810        add     r2,r2,r9
23820        swi     "OS_Plot"
23830        add     r11,r11,#1
23840        cmp     r11,#256
23850        bne     rnldlp
23860        ldmfd   r13!,{r0-r12,pc}
23870.redraweg
23880        stmfd   r13!,{r0-r12,r14}
23890        mov     r8,r0
23900        mov     r9,r1
23910        add     r10,r2,#8
23920        mov     r11,#0
23930.rvcolp mov     r0,#69
23940        mov     r1,r11,lsl #1
23950        ldrb    r2,[r10,r11]
23960        add     r1,r1,r8
23970        add     r2,r2,r9
23980        swi     "OS_Plot"
23990        add     r11,r11,#1
24000        cmp     r11,#512
24010        bne     rvcolp
24020        ldmfd   r13!,{r0-r12,pc}
24030
24040.calcall
24050        cmp     r2,#0
24060        movmi   pc,r14
24070        cmp     r3,#0
24080        movmi   pc,r14
24090        stmfd   r13!,{r0-r12,r14}
24100        mov     r8,r0
24110        mov     r9,r2
24120        mov     r10,r3
24130        mov     r7,r3
24140        ldr     r11,samtyp
24150        ldr     r12,linlog
24160.callup mov     r0,#0
24170        mov     r2,r1
24180.clloop ldr     r3,[r2,#28]
24190        bic     r3,r3,#&80000000
24200        str     r3,[r2,#28]
24210        add     r2,r2,#32
24220        add     r0,r0,#1
24230        cmp     r0,#maxicons%
24240        bne     clloop
24250        mov     r0,r8
24260        bl      getout
24270        cmp     r0,#&10000
24280        movpl   r0,#&ff00
24290        orrpl   r0,r0,#&ff
24300        cmn     r0,#&10000
24310        movle   r0,#&ff000000
24320        orrle   r0,r0,#&ff0000
24330        cmp     r11,#2
24340        movne   r0,r0,asr #9
24350        moveq   r0,r0,lsl #15
24360        ldreqb  r0,[r12,r0,lsr #19]
24370        cmp     r11,#1
24380        addeq   r0,r0,#128
24390        strb    r0,[r9],#1
24400        tst     r10,#&7f
24410        bne     nohgup
24420        stmfd   r13!,{r0-r2}
24430        mov     r0,#129
24440        mov     r1,#0
24450        mov     r2,#0
24460        swi     "OS_Byte"
24470        cmp     r2,#0
24480        cmpeq   r1,#&1b
24490        ldmfd   r13!,{r0-r2}
24500        beq     escp
24510        stmfd   r13!,{r7-r12}
24520        subs    r10,r7,r10
24530        movmi   r10,#0
24540        mov     r11,r10,lsl #2
24550        add     r11,r11,r10,lsl #5
24560        add     r11,r11,r10,lsl #6
24570        mov     r10,r7
24580        bl      div32
24590        cmp     r12,#0
24600        movmi   r12,#0
24610        cmp     r12,#99
24620        movpl   r12,#99
24630        mov     r0,r12
24640        swi     "Hourglass_Percentage"
24650        ldmfd   r13!,{r7-r12}
24660.nohgup subs    r10,r10,#1
24670        bne     callup
24680        ldmfd   r13!,{r0-r12,pc}
24690.escp   mov     r0,#124
24700        swi     "OS_Byte"
24710        ldmfd   r13!,{r0-r12,pc}
24720
24730.linlog equd    0
24740;r0=icon
24750;r1=iconinfo%
24760.getout stmfd   r13!,{r1-r3,r12,r14}
24770        cmp     r0,#0
24780        movmi   r0,#0
24790        ldmmifd r13!,{r1-r3,r12,pc}
24800        add     r12,r1,r0,lsl #5
24810        ldr     r3,[r12,#28]
24820        tst     r3,#&80000000
24830        orr     r3,r3,#&80000000
24840        str     r3,[r12,#28]
24850        ldrne   r0,[r12,#24]
24860        ldmnefd r13!,{r1-r3,r12,pc}
24870        mov     r2,r0,lsl #5
24880        ldr     r2,[r1,r2]
24890        cmp     r2,#13
24900        moveq   r2,#9
24910        cmp     r2,#14
24920        moveq   r2,#10
24930        cmp     r2,#15
24940        moveq   r2,#11
24950        cmp     r2,#16
24960        moveq   r2,#12
24970        cmp     r2,#17
24980        moveq   r2,#13
24990        cmp     r2,#18
25000        moveq   r2,#14
25010        cmp     r2,#0
25020        movmi   r0,#0
25030        ldmmifd r13!,{r1-r3,r12,pc}
25040        cmp     r2,#15
25050        movpl   r0,#0
25060        ldmplfd r13!,{r1-r3,r12,pc}
25070        adr     r3,jmptab
25080        adr     r14,return
25090        ldr     pc,[r3,r2,lsl #2]
25100.return str     r0,[r12,#24]
25110        ldmfd   r13!,{r1-r3,r12,pc}
25120
25130.jmptab equd    getOvco         ;0
25140        equd    getOnoise       ;1
25150        equd    getOeg          ;2
25160        equd    getOlpass       ;3
25170        equd    getOhpass       ;4
25180        equd    getOconst       ;5
25190        equd    getOmult        ;6
25200        equd    getOmultc       ;7
25210        equd    getOadd         ;8
25220        equd    getOsub         ;13
25230        equd    getOpulse       ;14
25240        equd    getOdelay       ;15
25250        equd    getOinput       ;16
25260        equd    getOsh          ;17
25270        equd    getOnld         ;18
25280
25290.getOvco
25300        stmfd   r13!,{r1-r5,r14}
25310        add     r2,r1,r0,lsl #5
25320        ldr     r0,[r2,#16]
25330        bl      getout
25340        mov     r5,r0
25350        ldr     r0,[r2,#20]
25360        bl      getout
25370        ldr     r2,[r2,#12]
25380        ldr     r3,[r2]
25390        tst     r3,#&80000000
25400        bic     r3,r3,#&ff000000
25410        bne     noresv
25420        cmp     r0,#0
25430        movpl   r3,#0
25440.noresv add     r3,r3,#&40000
25450        ldrb    r4,[r2,r3,lsr #16]
25460        sub     r3,r3,#&40000
25470        add     r3,r3,r5
25480        bic     r3,r3,#&ff000000
25490        cmp     r0,#0
25500        orrpl   r3,r3,#&80000000
25510        str     r3,[r2]
25520        mov     r0,r4,lsl #24
25530        mov     r0,r0,asr #15
25540        ldmfd   r13!,{r1-r5,pc}^
25550
25560.getOnoise
25570        stmfd   r13!,{r1-r6,r14}
25580        add     r2,r1,r0,lsl #5
25590        stmfd   r13!,{r2}
25600        ldr     r0,[r2,#16]
25610        bl      getout
25620        ldmfd   r13!,{r2}
25630        ldr     r2,[r2,#12]
25640        ldr     r3,[r2,#8]
25650        add     r4,r3,r0
25660        str     r4,[r2,#8]
25670        mov     r4,r4,lsr #16
25680        cmp     r4,r3,lsr #16
25690        beq     nonewr
25700        ldr     r0,[r2]
25710        ldr     r4,ranxor
25720        mov     r3,#16
25730        mov     r5,#0
25740.randlp movs    r0,r0,lsl #1
25750        eorcs   r0,r0,r4
25760        and     r6,r0,#&80000000
25770        orr     r5,r6,r5,lsr #1
25780        subs    r3,r3,#1
25790        bne     randlp
25800        str     r0,[r2]
25810        mov     r0,r5,asr #15
25820        str     r0,[r2,#4]
25830.nonewr ldr     r0,[r2,#4]
25840        mov     r0,r0,asl #15
25850        mov     r0,r0,asr #15
25860        ldmfd   r13!,{r1-r6,pc}^
25870.ranxor equd    &1d872b41
25880
25890.getOeg
25900        stmfd   r13!,{r1-r4,r14}
25910        add     r2,r1,r0,lsl #5
25920        ldr     r2,[r2,#12]
25930        ldr     r3,[r2]
25940        add     r3,r3,#&80000
25950        ldrb    r4,[r2,r3,lsr #16]
25960        sub     r3,r3,#&80000
25970        ldr     r0,[r2,#4]
25980        add     r3,r3,r0
25990        bic     r3,r3,#&fe000000
26000        str     r3,[r2]
26010        mov     r0,r4,lsl #8
26020        ldmfd   r13!,{r1-r4,pc}^
26030
26040.getOlpass
26050        stmfd   r13!,{r1-r12,r14}
26060        add     r2,r1,r0,lsl #5
26070        ldr     r0,[r2,#16]
26080        bl      getout
26090        mov     r5,r0
26100        ldr     r0,[r2,#20]
26110        bl      getout
26120        cmp     r0,#0
26130        movmi   r0,#0
26140        cmp     r0,#&10000
26150        movpl   r0,#&10000
26160        mov     r6,r0
26170        ldr     r7,[r2,#12]
26180        mov     r3,r6
26190        ldr     r2,[r7]
26200        sub     r2,r5,r2
26210        bl      mult64
26220        ldr     r2,[r7]
26230        add     r0,r0,r2
26240        str     r0,[r7]
26250        mov     r0,r2
26260        ldmfd   r13!,{r1-r12,pc}^
26270
26280.getOhpass
26290        stmfd   r13!,{r1-r12,r14}
26300        add     r2,r1,r0,lsl #5
26310        ldr     r0,[r2,#16]
26320        bl      getout
26330        mov     r5,r0
26340        ldr     r0,[r2,#20]
26350        bl      getout
26360        cmp     r0,#0
26370        movmi   r0,#0
26380        cmp     r0,#&10000
26390        movpl   r0,#&10000
26400        mov     r6,r0
26410        ldr     r7,[r2,#12]
26420        mov     r3,r6
26430        ldr     r2,[r7]
26440        sub     r2,r5,r2
26450        bl      mult64
26460        ldr     r2,[r7]
26470        add     r0,r0,r2
26480        str     r0,[r7]
26490        sub     r0,r5,r2
26500        ldmfd   r13!,{r1-r12,pc}^
26510
26520.getOconst
26530        stmfd   r13!,{r1,r14}
26540        add     r0,r1,r0,lsl #5
26550        ldr     r0,[r0,#12]
26560        ldr     r0,[r0]
26570        ldmfd   r13!,{r1,pc}^
26580
26590.getOmult
26600        stmfd   r13!,{r1-r3,r14}
26610        add     r2,r1,r0,lsl #5
26620        stmfd   r13!,{r2}
26630        ldr     r0,[r2,#16]
26640        bl      getout
26650        ldmfd   r13!,{r2}
26660        stmfd   r13!,{r0}
26670        ldr     r0,[r2,#20]
26680        bl      getout
26690        ldmfd   r13!,{r2}
26700        mov     r3,r0
26710        bl      mult64
26720        ldmfd   r13!,{r1-r3,pc}^
26730
26740.getOmultc
26750        stmfd   r13!,{r1-r3,r14}
26760        add     r2,r1,r0,lsl #5
26770        stmfd   r13!,{r2}
26780        ldr     r0,[r2,#16]
26790        bl      getout
26800        ldmfd   r13!,{r2}
26810        ldr     r2,[r2,#12]
26820        ldr     r2,[r2]
26830        mov     r3,r0
26840        bl      mult64
26850        ldmfd   r13!,{r1-r3,pc}^
26860
26870.getOadd
26880        stmfd   r13!,{r1-r2,r14}
26890        add     r2,r1,r0,lsl #5
26900        stmfd   r13!,{r2}
26910        ldr     r0,[r2,#16]
26920        bl      getout
26930        ldmfd   r13!,{r2}
26940        stmfd   r13!,{r0}
26950        ldr     r0,[r2,#20]
26960        bl      getout
26970        ldmfd   r13!,{r2}
26980        add     r0,r0,r2
26990        ldmfd   r13!,{r1-r2,pc}^
27000
27010.getOsub
27020        stmfd   r13!,{r1-r2,r14}
27030        add     r2,r1,r0,lsl #5
27040        stmfd   r13!,{r2}
27050        ldr     r0,[r2,#16]
27060        bl      getout
27070        ldmfd   r13!,{r2}
27080        stmfd   r13!,{r0}
27090        ldr     r0,[r2,#20]
27100        bl      getout
27110        ldmfd   r13!,{r2}
27120        sub     r0,r2,r0
27130        ldmfd   r13!,{r1-r2,pc}^
27140
27150.getOpulse
27160        stmfd   r13!,{r1-r12,r14}
27170        add     r2,r1,r0,lsl #5
27180        ldr     r0,[r2,#16]
27190        bl      getout
27200        stmfd   r13!,{r0}
27210        ldr     r0,[r2,#20]
27220        bl      getout
27230        cmp     r0,#0
27240        movmi   r0,#0
27250        cmp     r0,#&10000
27260        movpl   r0,#&10000
27270        ldmfd   r13!,{r3}
27280        ldr     r4,[r2,#12]
27290        ldr     r5,[r4]
27300        add     r5,r5,r3
27310        bic     r5,r5,#&ff000000
27320        str     r5,[r4]
27330        cmp     r5,r0,lsl #8
27340        mov     r0,#&10000
27350        rsbpl   r0,r0,#0
27360        ldmfd   r13!,{r1-r12,pc}^
27370
27380.getOdelay
27390        stmfd   r13!,{r1-r12,r14}
27400        add     r2,r1,r0,lsl #5
27410        stmfd   r13!,{r2}
27420        ldr     r2,[r2,#12]
27430        add     r2,r2,#248
27440        add     r3,r2,#4
27450        ldmda   r2!,{r4-r12,r14}
27460        stmda   r3!,{r4-r12,r14}
27470        ldmda   r2!,{r4-r12,r14}
27480        stmda   r3!,{r4-r12,r14}
27490        ldmda   r2!,{r4-r12,r14}
27500        stmda   r3!,{r4-r12,r14}
27510        ldmda   r2!,{r4-r12,r14}
27520        stmda   r3!,{r4-r12,r14}
27530        ldmda   r2!,{r4-r12,r14}
27540        stmda   r3!,{r4-r12,r14}
27550        ldmda   r2!,{r4-r12,r14}
27560        stmda   r3!,{r4-r12,r14}
27570        ldmda   r2!,{r4-r5,r14}
27580        stmda   r3!,{r4-r5,r14}
27590        ldmfd   r13,{r2}
27600        ldr     r0,[r2,#16]
27610        bl      getout
27620        ldmfd   r13,{r2}
27630        ldr     r2,[r2,#12]
27640        str     r0,[r2]
27650        ldmfd   r13,{r2}
27660        ldr     r0,[r2,#20]
27670        bl      getout
27680        ldmfd   r13!,{r2}
27690        ldr     r2,[r2,#12]
27700        mov     r0,r0,asr #10
27710        cmp     r0,#0
27720        movmi   r0,#0
27730        cmp     r0,#63
27740        movpl   r0,#63
27750        ldr     r0,[r2,r0,lsl #2]
27760        ldmfd   r13!,{r1-r12,pc}^
27770
27780.getOinput
27790        stmfd   r13!,{r1-r6,r14}
27800        add     r6,r1,r0,lsl #5
27810        ldr     r6,[r6,#12]
27820        ldr     r5,[r6,#264]
27830        ldr     r4,[r6,#260]
27840        ldr     r1,[r6,#268]
27850        cmp     r5,r1,lsl #12
27860        movpl   r0,#0
27870        ldmplfd r13!,{r1-r6,pc}^
27880        ldr     r1,[r6,#272]
27890        add     r1,r1,r5,lsr #12
27900        ldrb    r0,[r1]
27910
27920        ldr     r1,[r6,#256]
27930        tst     r1,#4
27940        addne   r5,r5,r4
27950        addeq   r5,r5,#&1000
27960        str     r5,[r6,#264]
27970
27980        ldr     r1,[r6,#256]
27990        and     r1,r1,#3
28000        cmp     r1,#0
28010        moveq   r0,r0,lsl #24
28020        moveq   r0,r0,asr #15
28030        ldmeqfd r13!,{r1-r6,pc}^
28040        cmp     r1,#1
28050        subeq   r0,r0,#128
28060        moveq   r0,r0,lsl #9
28070        ldmeqfd r13!,{r1-r6,pc}^
28080        ldr     r1,lintab
28090        ldr     r0,[r1,r0,lsl #2]
28100        ldmfd   r13!,{r1-r6,pc}^
28110
28120.lintab equd    0
28130
28140.getOsh stmfd   r13!,{r1-r5,r14}
28150        add     r2,r1,r0,lsl #5
28160        ldr     r0,[r2,#16]
28170        bl      getout
28180        mov     r5,r0
28190        ldr     r0,[r2,#20]
28200        bl      getout
28210        ldr     r2,[r2,#12]
28220        ldr     r4,[r2]
28230        tst     r4,#&80000000
28240        bne     noress
28250        cmp     r0,#0
28260        movpl   r4,r5,asr #1
28270.noress bic     r4,r4,#&80000000
28280        cmp     r0,#0
28290        orrpl   r4,r4,#&80000000
28300        str     r4,[r2]
28310        mov     r0,r4,lsl #1
28320        ldmfd   r13!,{r1-r5,pc}^
28330
28340.getOnld
28350        stmfd   r13!,{r1-r5,r14}
28360        add     r2,r1,r0,lsl #5
28370        ldr     r0,[r2,#16]
28380        bl      getout
28390        mov     r0,r0,asr #1
28400        add     r0,r0,#&8000
28410        cmp     r0,#0
28420        movmi   r0,#0
28430        cmp     r0,#&10000
28440        movpl   r0,#&ff00
28450        mov     r0,r0,asr #8
28460        ldr     r2,[r2,#12]
28470        ldrb    r0,[r2,r0]
28480        mov     r0,r0,asl #8
28490        sub     r0,r0,#&8000
28500        mov     r0,r0,asl #1
28510        ldmfd   r13!,{r1-r5,pc}^
28520
28530.mult64 ;r0=r2*r3 and . between bit 15,16
28540        stmfd   r13!,{r1-r7,r14}
28550        eor     r4,r2,r3
28560        cmp     r2,#0
28570        rsbmi   r2,r2,#0
28580        cmp     r3,#0
28590        rsbmi   r3,r3,#0
28600        mov     r5,r2,lsl #16
28610        mov     r5,r5,lsr #16
28620        mov     r6,r3,lsl #16
28630        mov     r6,r6,lsr #16
28640        mul     r0,r5,r6
28650        mov     r0,r0,lsr #16
28660        mov     r6,r3,lsr #16
28670        mul     r7,r5,r6
28680        add     r0,r0,r7
28690        mov     r5,r2,lsr #16
28700        mov     r6,r3,lsl #16
28710        mov     r6,r6,lsr #16
28720        mul     r7,r5,r6
28730        add     r0,r0,r7
28740        mov     r6,r3,lsr #16
28750        mul     r7,r5,r6
28760        add     r0,r0,r7,lsl #16
28770        bic     r0,r0,#&80000000
28780        tst     r4,#&80000000
28790        rsbne   r0,r0,#0
28800        ldmfd   r13!,{r1-r7,pc}
28810
28820.copymem
28830        stmfd   r13!,{r0-r3,r14}
28840.cpylup cmp     r2,#0
28850        ldmlefd r13!,{r0-r3,pc}
28860        ldrb    r3,[r1],#1
28870        strb    r3,[r0],#1
28880        sub     r2,r2,#1
28890        b       cpylup
28900
28910.revmem stmfd   r13!,{r0-r3,r14}
28920.revlup cmp     r0,r1
28930        ldmplfd r13!,{r0-r3,pc}
28940        ldrb    r2,[r0]
28950        ldrb    r3,[r1]
28960        strb    r3,[r0],#1
28970        strb    r2,[r1],#-1
28980        b       revlup
28990
29000.div32  mov     r9,#0   ;r12=r11/r10
29010        mov     r12,#0
29020        mov     r8,#32
29030        mov     r7,#0
29040        cmp     r10,#0
29050        rsbmi   r10,r10,#0
29060        eormi   r7,r7,#1
29070        cmp     r11,#0
29080        rsbmi   r11,r11,#0
29090        eormi   r7,r7,#1
29100.divlp1 movs    r11,r11,asl #1
29110        adc     r9,r9,r9
29120        cmp     r9,r10
29130        adc     r12,r12,r12
29140        subcs   r9,r9,r10
29150        subs    r8,r8,#1
29160        bne     divlp1
29170        cmp     r7,#0
29180        rsbne   r12,r12,#0
29190        mov     pc,r14
29200.endcode
29210]
29220NEXT pass%
29230ENDPROC

$� >:4.$.SFXMDemo.!SFXM.!RunImage
� >Written by G. Vermeulen
� � �IntError:� �T|@
(insttime%=�
2	�Init
<�
F5  ș"Wimp_Poll",nopoll%,pollb% � reason%,polledb%
P  nopoll%=0
Z  Ȏ reason% �
d    � 0:�Null_Reason
n    � 1:�Redraw_Window
x    � 2:�Open_Window
�    � 3:�Close_Window
�%    � 6:�Mouse_Click:nopoll%=1<<6
�    � 7:�User_Drag_Box
�    � 8:�Key_Pressed
�    � 9:�Menu_Select
�     � 17,18,19:�User_Message
�  �
�� �
��
�
���IntError
�� �
�� � � � �@BE
7A%=�interr(�$+" at line "+Þ+". Continue program?")
� A%=2 � �Quit
�
"
,��Null_Reason
6I� ((dfunc%>=0)�(dfunc%<=9))�((dfunc%>=13)�(dfunc%<=18)) � �DragObject
@� dfunc%=12 � �DragLine
J� drag% � �DragMoveObjs
T�
^
h��DragObject
r#ș"Wimp_GetPointerInfo",,temp2%
|+� (temp2%!12=wworkh%)�(temp2%!16>=-1) �
�  temp%!0=wworkh%
�$  ș"Wimp_GetWindowState",,temp%
�&  newdx%=temp2%!0+temp%!20-temp%!4
�'  newdy%=temp2%!4+temp%!24-temp%!16
�  newdx%=(newdx%�96)*96
�  newdy%=(newdy%�56)*56-56
�+  � (olddx%<>newdx%)�(olddy%<>newdy%) �
�    �RemDf(olddx%,olddy%)
�    �PlotDf(newdx%,newdy%)
�#    olddx%=newdx%:olddy%=newdy%
�  �
��
��

��DragLine
#ș"Wimp_GetPointerInfo",,temp2%
&:� (temp2%!12=wworkh%)�(temp2%!16>=-1)�(startlx%<>-1) �
0  temp%!0=wworkh%
:$  ș"Wimp_GetWindowState",,temp%
D&  newlx%=temp2%!0+temp%!20-temp%!4
N'  newly%=temp2%!4+temp%!24-temp%!16
X+  � (oldlx%<>newlx%)�(oldly%<>newly%) �
b    �PlotLn(oldlx%,oldly%)
l    �PlotLn(newlx%,newly%)
v#    oldlx%=newlx%:oldly%=newly%
�  �
��
��
�
���DragMoveObjs
�#ș"Wimp_GetPointerInfo",,temp2%
�� (temp2%!8)�4 �
�  temp%!0=wworkh%
�$  ș"Wimp_GetWindowState",,temp%
�&  newlx%=temp2%!0+temp%!20-temp%!4
�'  newly%=temp2%!4+temp%!24-temp%!16
�  newlx%=(newlx%�96)*96+48
�  newly%=(newly%�56)*56-32
+  � (oldlx%<>newlx%)�(oldly%<>newly%) �
    �PlotLn(oldlx%,oldly%)
    �PlotLn(newlx%,newly%)
 #    oldlx%=newlx%:oldly%=newly%
*  �
4�
>%  � (startlx%<>-1)�(oldlx%<>-1) �
H    �PlotLn(oldlx%,oldly%)
R2    �MoveIcns(oldlx%-startlx%,oldly%-startly%)
\  �
f
  drag%=0
p  startlx%=-1:startly%=-1
z  newlx%=-1:newly%=-1
�  oldlx%=-1:oldly%=-1
��
��
�
���RemAllDrag
�� olddx%<>-1 �
�  �RemDf(olddx%,olddy%)
��
�� startlx%<>-1 �
�  �PlotLn(oldlx%,oldly%)
��
�newdx%=-1:newdy%=-1
�olddx%=-1:olddy%=-1
oldlx%=-1:oldly%=-1
newlx%=-1:newly%=-1
startlx%=-1:startly%=-1
$startic%=-1
.starti%=-1
8endi%=-1
Bdrag%=0
L�
V
`��MoveIcns(dx%,dy%)
jtemp2%!0=wworkh%
t�T%=0�maxicons%-1
~;  � (iconinfo%!(T%*32)<>-1)�(iconinfo%!(T%*32+28))�16 �
�    �ModTitle(0)
�    temp2%!4=T%
�#    ș"Wimp_DeleteIcon",,temp2%
�(    temp2%!4=iconinfo%!(T%*32+4)+dx%
�(    temp2%!8=iconinfo%!(T%*32+8)+dy%
�    temp2%!12=temp2%!4+92
�    temp2%!16=temp2%!8+52
�3    temp2%!20=%00001000000000001010000000011010
�    Ȏ iconinfo%!(T%*32) �
�      � 0:i$="vco"
�      � 1:i$="noise"
�      � 2:i$="eg"
      � 5:i$="const"

      � 3:i$="filtlo"
      � 4:i$="filthi"
      � 6:i$="mult"
(      � 7:i$="multc"
2      � 8:i$="add"
<      � 13:i$="sub"
F      � 14:i$="pulse"
P      � 15:i$="delay"
Z      � 9:i$="output"
d      � 16:i$="input"
n      � 17:i$="samhold"
x      � 18:i$="nldist"
�	    �
�    $(temp2%+24)=i$
�'    ș"Wimp_CreateIcon",,temp2%�ih%
�     iconinfo%!(T%*32+4)+=dx%
�     iconinfo%!(T%*32+8)+=dy%
�=    iconinfo%!(T%*32+28)=(iconinfo%!(T%*32+28))�&ffffffef
�    � ih%<>T% �
�2      iconinfo%!(ih%*32+0)=iconinfo%!(T%*32+0)
�2      iconinfo%!(ih%*32+4)=iconinfo%!(T%*32+4)
�2      iconinfo%!(ih%*32+8)=iconinfo%!(T%*32+8)
�4      iconinfo%!(ih%*32+12)=iconinfo%!(T%*32+12)
�4      iconinfo%!(ih%*32+16)=iconinfo%!(T%*32+16)
�4      iconinfo%!(ih%*32+20)=iconinfo%!(T%*32+20)
4      iconinfo%!(ih%*32+24)=iconinfo%!(T%*32+24)
4      iconinfo%!(ih%*32+28)=iconinfo%!(T%*32+28)
       iconinfo%!(T%*32+0)=-1
"       iconinfo%!(T%*32+4)=-1
,       iconinfo%!(T%*32+8)=-1
6!      iconinfo%!(T%*32+12)=-1
@!      iconinfo%!(T%*32+16)=-1
J!      iconinfo%!(T%*32+20)=-1
T!      iconinfo%!(T%*32+24)=-1
^!      iconinfo%!(T%*32+28)=-1
h      �S%=0�maxicons%-1
r%        � iconinfo%!(S%*32)<>-1 �
|B          � iconinfo%!(S%*32+16)=T% � iconinfo%!(S%*32+16)=ih%
�B          � iconinfo%!(S%*32+20)=T% � iconinfo%!(S%*32+20)=ih%
�
        �
�
      �S%
�	    �
�  �
��T%
�/ș"Wimp_ForceRedraw",wworkh%,0,-4000,4000,0
��
�
���PlotDf(x%,y%)
�� x%<>-1 �
�  temp%!0=wworkh%
�$  ș"Wimp_GetWindowState",,temp%
  sx%=temp%!4+x%-temp%!20
  sy%=temp%!16+y%-temp%!24
  temp2%!0=wworkh%
&  temp2%!4=x%
0  temp2%!8=y%
:  temp2%!12=x%+96
D  temp2%!16=y%+56
N=  ș"Wimp_ReadPixTrans",&100,1,"vco",,,,scalef%,pixtrans%
X)  ș"Wimp_UpdateWindow",,temp2%�more%
b  ȕ more%
l>    ș"Wimp_SpriteOp",&34,,df$,sx%,sy%,8,scalef%,pixtrans%
v+    ș"Wimp_GetRectangle",,temp2%�more%
�  �
��
��
�
���RemDf(x%,y%)
�� x%<>-1 �
�4  ș"Wimp_ForceRedraw",wworkh%,x%,y%,x%+96,y%+56
��
��
�
���PlotLn(x%,y%)
�� (x%<>-1)�(startlx%<>-1) �
�  temp2%!0=wworkh%
%  ș"Wimp_GetWindowState",,temp2%
&  ssx%=temp2%!4+startlx%-temp2%!20
'  ssy%=temp2%!16+startly%-temp2%!24
    sex%=temp2%!4+x%-temp2%!20
*!  sey%=temp2%!16+y%-temp2%!24
4  wsx%=startlx%
>  wsy%=startly%
H
  wex%=x%
R
  wey%=y%
\   � wsx%>wex% � Ȕ wsx%,wex%
f   � wsy%>wey% � Ȕ wsy%,wey%
p  temp2%!0=wworkh%
z  temp2%!4=wsx%-4
�  temp2%!8=wsy%-4
�  temp2%!12=wex%+4
�  temp2%!16=wey%+4
�)  ș"Wimp_UpdateWindow",,temp2%�more%
�  ȕ more%
�
    �3,15
�    � ssx%,ssy%,sex%,sey%
�+    ș"Wimp_GetRectangle",,temp2%�more%
�  �
��
��
�
���Redraw_Window
	)ș"Wimp_RedrawWindow",,polledb%�more%
	Ȏ polledb%!0 �
	  � wworkh%:�RedrawWork
	$  � wvcoh%:�RedrawVCO
	.  � wegh%:�RedrawEG
	8  � wnldisth%:�RedrawNLD
	B  :�JustRedraw
	L�
	V�
	`
	j��RedrawWork
	t;ș"Wimp_ReadPixTrans",&100,1,"vco",,,,scalef%,pixtrans%
	~%ox%=newdx%+polledb%!4-polledb%!20
	�&oy%=newdy%+polledb%!16-polledb%!24
	�(ssx%=startlx%+polledb%!4-polledb%!20
	�)ssy%=startly%+polledb%!16-polledb%!24
	�&sex%=newlx%+polledb%!4-polledb%!20
	�'sey%=newly%+polledb%!16-polledb%!24
	�ȕ more%
	�M  �RedrawLines(polledb%!4-58,polledb%!8-28,polledb%!12+58,polledb%!16+28)
	�
	�K  � newdx%<>-1 � ș"Wimp_SpriteOp",&34,,df$,ox%,oy%,8,scalef%,pixtrans%
	�C  � (startlx%<>-1) � (newlx%<>-1) � �3,15:� ssx%,ssy%,sex%,sey%
	�+  ș"Wimp_GetRectangle",,polledb%�more%
	��
�


��RedrawVCO
A%=polledb%!4
(B%=polledb%!8
2C%=vcoptr%
<ȕ more%
F  ș"Wimp_SetColour",3
P'  � A%+166,B%+132,A%+166+512,B%+132
Z  ș"Wimp_SetColour",1
d-  � A%+166,B%+132+32,A%+166+512,B%+132+32
n-  � A%+166,B%+132+64,A%+166+512,B%+132+64
x-  � A%+166,B%+132+96,A%+166+512,B%+132+96
�-  � A%+166,B%+132-32,A%+166+512,B%+132-32
�-  � A%+166,B%+132-64,A%+166+512,B%+132-64
�-  � A%+166,B%+132-96,A%+166+512,B%+132-96
�  ș"Wimp_SetColour",7
�  �redrawvco
�+  ș"Wimp_GetRectangle",,polledb%�more%
��
��
�
���RedrawNLD
�A%=polledb%!4
�B%=polledb%!8
�C%=nldistptr%
ȕ more%
  ș"Wimp_SetColour",1
  � A%,B%+64,A%+512,B%+64
"  � A%,B%+128,A%+512,B%+128
,  � A%,B%+192,A%+512,B%+192
6  � A%,B%+320,A%+512,B%+320
@  � A%,B%+384,A%+512,B%+384
J  � A%,B%+448,A%+512,B%+448
T  � A%+64,B%,A%+64,B%+512
^  � A%+128,B%,A%+128,B%+512
h  � A%+192,B%,A%+192,B%+512
r  � A%+320,B%,A%+320,B%+512
|  � A%+384,B%,A%+384,B%+512
�  � A%+448,B%,A%+448,B%+512
�  ș"Wimp_SetColour",3
�  � A%,B%+256,A%+512,B%+256
�  � A%+256,B%,A%+256,B%+512
�  ș"Wimp_SetColour",7
�  �redrawnld
�+  ș"Wimp_GetRectangle",,polledb%�more%
��
��
�
���VCOClick
�Ȏ polledb%!16 �
�  � 0:�VCOsin(vcoptr%+4)
  � 1:�VCOtri(vcoptr%+4)
  � 2:�VCOramp(vcoptr%+4)
  � 3:�VCOsqr(vcoptr%+4)
&  � 4:�VCOconst(vcoptr%+4)
0   � 5:�VCOshftlft(vcoptr%+4)
:!  � 6:�VCOshftrght(vcoptr%+4)
D   � 7:�VCOmuldiv2(vcoptr%+4)
N  � 8:�VCOrot90(vcoptr%+4)
X  � 9:�VCOrand(vcoptr%+4)
b  � 10:�VCOpaint(vcoptr%+4)
l�
vW� (polledb%!16<>10)�(polledb%!16<>-1) �:ș"Wimp_ForceRedraw",wvcoh%,166,-260,678,-4
��
�
���VCOsin(a%)
�
�T%=0�255
�   ?(a%+T%)=127*�(2*�*T%/256)
��T%
��ModTitle(0)
��
���VCOtri(a%)
�
�T%=0�127
�  ?(a%+T%)=127-�(-127+2*T%)
�  ?(a%+255-T%)=-?(a%+T%)
��T%

�ModTitle(0)

�

��VCOramp(a%)

 ȗ A%,B%,C%

*
�T%=0�255

4  � C%�4 � ?(a%+T%)=-128+T%

>  � C%�1 � ?(a%+T%)=127-T%

H�T%

R�ModTitle(0)

\�

f��VCOsqr(a%)

p
�T%=0�255

z  ?(a%+T%)=127+254*(T%>127)

��T%

��ModTitle(0)

��

���VCOconst(a%)

�ȗ A%,B%,C%

�� C%�4 � l%=127

�� C%�2 � l%=0

�� C%�1 � l%=128

�
�T%=0�255

�  ?(a%+T%)=l%

��T%

��ModTitle(0)

��
��VCOshftlft(a%)

�T%=0�127
  ?(a%+T%)=?(a%+T%*2)
$�T%
.
�T%=0�127
8  ?(a%+T%+128)=?(a%+T%)
B�T%
L�ModTitle(0)
V�
`��VCOshftrght(a%)
j�T%=255�0�-1
t  ?(a%+T%)=?(a%+(T%>>1))
~�T%
��ModTitle(0)
��
���VCOmuldiv2(a%)
�ȗ A%,B%,C%
�
�T%=0�255
�  l%=(((?(a%+T%))<<24)>>24)
�  � C%�4 � l%=l%*2
�  � C%�1 � l%=l%�2
�  � l%>127 � l%=127
�  � l%<-127 � l%=-127
�  ?(a%+T%)=l%
��T%
�ModTitle(0)

�
��VCOrot90(a%)
ȗ A%,B%,C%
(
�T%=0�255
2  l%=T%
<  � C%�4 � l%=(T%+64)�255
F  � C%�1 � l%=(T%-64)�255
P  temp%?T%=?(a%+l%)
Z�T%
d
�T%=0�255
n  ?(a%+T%)=temp%?T%
x�T%
��ModTitle(0)
��
���VCOrand(a%)
�
�T%=0�255
�  ?(a%+T%)=�(255)-128
��T%
��ModTitle(0)
��
���VCOpaint(a%)
�ș"OS_Byte",202,0,255�,sh%
�� (sh%�8)=0 �
�ȗ A%,B%,C%
�� C%=0 � vcolastx%=-1
&� (C%�4)�((C%�1)�(vcolastx%=-1)) �
  temp%!0=wvcoh%
$  ș"Wimp_GetWindowState",,temp%
"$  x%=polledb%!0-temp%!4+temp%!20
,%  y%=polledb%!4-temp%!16+temp%!24
61  � (x%>=166)�(x%<=676)�(y%<=-8)�(y%>=-260) �
@    �ModTitle(0)
J     a%?((x%-166)/2)=(134+y%)
T    vcolastx%=(x%-166)/2
^    vcolasty%=134+y%
h3    ș"Wimp_ForceRedraw",wvcoh%,x%,-260,x%+2,-4
r  �
|�
�� (C%�1)�(vcolastx%<>-1) �
�  temp%!0=wvcoh%
�$  ș"Wimp_GetWindowState",,temp%
�$  x%=polledb%!0-temp%!4+temp%!20
�%  y%=polledb%!4-temp%!16+temp%!24
�1  � (x%>=166)�(x%<=676)�(y%<=-8)�(y%>=-260) �
�    �ModTitle(0)
�    sx=vcolastx%
�    sy=vcolasty%
�    ex=(x%-166)�2
�    ey=134+y%
�    � �(sx-ex)<1 �
�!     a%?((x%-166)/2)=(134+y%)
	    �
      y=sy
      dx=�(ex-sx)
&      dy=(ey-sy)/�(ex-sx)
0      � x=sx � ex � dx
:        a%?x=y
D        y+=dy
N      �x
X	    �
b    vcolastx%=(x%-166)/2
l    vcolasty%=134+y%
v    � sx>ex � Ȕ sx,ex
�    � sy>ey � Ȕ sy,ey
�=    ș"Wimp_ForceRedraw",wvcoh%,sx*2+166,-260,ex*2+168,-4
�  �
��
��
��
�
�
��EGClick
�ș"OS_Byte",202,0,255�,sh%
�� (sh%�8)=0 �
�a%=egptr%+8
�ȗ A%,B%,C%
�� C%=0 � eglastx%=-1
%� (C%�4)�((C%�1)�(eglastx%=-1)) �
  temp%!0=wegh%
$  ș"Wimp_GetWindowState",,temp%
 $  x%=polledb%!0-temp%!4+temp%!20
*%  y%=polledb%!4-temp%!16+temp%!24
40  � (x%>=0)�(x%<=1022)�(y%<=-4)�(y%>=-256) �
>    �ModTitle(0)
H    a%?(x%/2)=256+y%
R    eglastx%=x%/2
\    eglasty%=256+y%
f1    ș"Wimp_ForceRedraw",wegh%,x%,-256,x%+2,0
p  �
z�
�� (C%�1)�(eglastx%<>-1) �
�  temp%!0=wegh%
�$  ș"Wimp_GetWindowState",,temp%
�$  x%=polledb%!0-temp%!4+temp%!20
�%  y%=polledb%!4-temp%!16+temp%!24
�0  � (x%>=0)�(x%<=1022)�(y%<=-4)�(y%>=-256) �
�    �ModTitle(0)
�    sx=eglastx%
�    sy=eglasty%
�    ex=x%�2
�    ey=256+y%
�    � �(sx-ex)<1 �
�     a%?(x%/2)=256+y%
	    �
      y=sy
      dx=�(ex-sx)
$      dy=(ey-sy)/�(ex-sx)
.      � x=sx � ex � dx
8        a%?x=y
B        y+=dy
L      �x
V	    �
`    eglastx%=x%/2
j    eglasty%=256+y%
t    � sx>ex � Ȕ sx,ex
~    � sy>ey � Ȕ sy,ey
�5    ș"Wimp_ForceRedraw",wegh%,sx*2,-256,ex*2+2,0
�  �
��
��
��
�
���RedrawEG
�A%=polledb%!4
�B%=polledb%!8
�
C%=egptr%
�ȕ more%
�  ș"Wimp_SetColour",1
   � A%+2,B%+32,A%+1024,B%+32

   � A%+2,B%+64,A%+1024,B%+64
   � A%+2,B%+96,A%+1024,B%+96
"  � A%+2,B%+128,A%+1024,B%+128
("  � A%+2,B%+160,A%+1024,B%+160
2"  � A%+2,B%+192,A%+1024,B%+192
<"  � A%+2,B%+224,A%+1024,B%+224
F  ș"Wimp_SetColour",7
P  �redraweg
Z+  ș"Wimp_GetRectangle",,polledb%�more%
d�
n�
x
���JustRedraw
�ȕ more%
�+  ș"Wimp_GetRectangle",,polledb%�more%
��
��
�
���Open_Window
�0� polledb%!0=wworkh% � tools% � �Open_Work:�
�\� polledb%!0=wtools% � polledb%!0=wworkh%:ș"Wimp_GetWindowState",,polledb%:�Open_Work:�
�!ș"Wimp_OpenWindow",,polledb%
��
�
���Open_Work
  temp2%!0=wworkh%
%  ș"Wimp_GetWindowState",,temp2%
  temp%!0=wtoolsh%
"$  ș"Wimp_GetWindowState",,temp%
,  temp%!4=polledb%!4-114
6  temp%!16=polledb%!16
@  temp%!12=polledb%!4-4
Je  � polledb%!16-polledb%!8>620 � temp%!8=temp%!16-620 � temp%!8=temp%!16-(polledb%!16-polledb%!8)
T7  � temp%!4<0 � temp%!12=temp%!12-temp%!4:temp%!4=0
^  A%=polledb%!4<oldworkx%
h(  A%=A% � ((polledb%!4-temp%!4)<114)
r'  A%=A% � (((temp2%!32)�(1<<19))=0)
|(  A%=A% � (((temp2%!32)�(1<<18))<>0)
�  � A% �
�    temp%!28=polledb%!28
�"    ș"Wimp_OpenWindow",,temp%
�    polledb%!28=wtoolsh%
�%    ș"Wimp_OpenWindow",,polledb%
�  �
�    temp%!28=polledb%!28
�    polledb%!28=wtoolsh%
�%    ș"Wimp_OpenWindow",,polledb%
�)    ș"Wimp_GetWindowState",,polledb%
�    temp%!4=polledb%!4-114
�    temp%!16=polledb%!16
�    temp%!12=polledb%!4-4
g    � polledb%!16-polledb%!8>620 � temp%!8=temp%!16-620 � temp%!8=temp%!16-(polledb%!16-polledb%!8)
9    � temp%!4<0 � temp%!12=temp%!12-temp%!4:temp%!4=0
"    ș"Wimp_OpenWindow",,temp%
&    polledb%!28=wtoolsh%
0%    ș"Wimp_OpenWindow",,polledb%
:  �
D  oldworkx%=polledb%!4
N�
X
b��Close_Window
l"ș"Wimp_CloseWindow",,polledb%
v� polledb%!0=wworkh% �
�  polledb%!0=wtoolsh%
�$  ș"Wimp_CloseWindow",,polledb%
��
��
�
���Mouse_Click
�Ȏ polledb%!12 �
�  � wworkh%:�WorkClick
�  � wtoolsh%:�ToolsClick
�  � wconstanth%:�ConstClick
�  � wmultch%:�MultCClick
�  � wvcoh%:�VCOClick
�  � wegh%:�EGClick
  � wnldisth%:�NLDistClick
  � wstatsh%:�StatsClick
  � winputh%:�InputClick
   � -2:�IconBClick
*�
4�
>
H��ToolsClick
R� polledb%!8<16 �
\  Ȏ polledb%!16 �
f    � 0:�PopPlaceM
pH    � 1:lastmenu%=workmenu%:polledb%!0=2:polledb%!4=-1:�Menu_Select2
zH    � 2:lastmenu%=workmenu%:polledb%!0=1:polledb%!4=-1:�Menu_Select2
�U    � 3:lastmenu%=workmenu%:polledb%!0=1:polledb%!4=3:polledb%!8=-1:�Menu_Select2
�U    � 4:lastmenu%=workmenu%:polledb%!0=1:polledb%!4=4:polledb%!8=-1:�Menu_Select2
�U    � 5:lastmenu%=workmenu%:polledb%!0=1:polledb%!4=0:polledb%!8=-1:�Menu_Select2
�U    � 6:lastmenu%=workmenu%:polledb%!0=1:polledb%!4=1:polledb%!8=-1:�Menu_Select2
�U    � 7:lastmenu%=workmenu%:polledb%!0=1:polledb%!4=2:polledb%!8=-1:�Menu_Select2
�H    � 8:lastmenu%=workmenu%:polledb%!0=3:polledb%!4=-1:�Menu_Select2
�  �
��
��
�
���PopPlaceM
�qlastmx%=polledb%!0-64:lastmy%=polledb%!4+12:lastmenu%=addmenu%:ș"Wimp_CreateMenu",,lastmenu%,lastmx%,lastmy%
��

��SaveasshCl
8� polledb%!16=0 � savetype%=0:�DragSave(wsaveasshh%)
$� polledb%!16=2 �
.  temp%!0=wsaveasshh%
8  temp%!4=1
B"  ș"Wimp_GetIconState",,temp%
L  f$=$(!(temp%+28))
V%  � (�f$,".")=0) � (�f$,":")=0) �
`.    �ReportErr("Please give a directory.")
j  �
t  �SaveSh(f$)
~  � f%<>0 � �#f%
�%  ș"Wimp_CreateMenu",-1,-1,-1,-1
�  �
��
��
�
���NLDistClick
�ș"OS_Byte",202,0,255�,sh%
�� (sh%�8)=0 �
�a%=nldistptr%
�ȗ A%,B%,C%
�� C%=0 � nldistlastx%=-1
�)� (C%�4)�((C%�1)�(nldistlastx%=-1)) �
  temp%!0=wnldisth%

$  ș"Wimp_GetWindowState",,temp%
$  x%=polledb%!0-temp%!4+temp%!20
%  y%=polledb%!4-temp%!16+temp%!24
(/  � (x%>=0)�(x%<=510)�(y%<=-2)�(y%>=-512) �
2    �ModTitle(0)
<    a%?(x%/2)=256+y%/2
F    nldistlastx%=x%/2
P    nldistlasty%=256+y%/2
Z5    ș"Wimp_ForceRedraw",wnldisth%,x%,-512,x%+2,0
d  �
n�
x!� (C%�1)�(nldistlastx%<>-1) �
�  temp%!0=wnldisth%
�$  ș"Wimp_GetWindowState",,temp%
�$  x%=polledb%!0-temp%!4+temp%!20
�%  y%=polledb%!4-temp%!16+temp%!24
�/  � (x%>=0)�(x%<=510)�(y%<=-2)�(y%>=-512) �
�    �ModTitle(0)
�    sx=nldistlastx%
�    sy=nldistlasty%
�    ex=x%�2
�    ey=256+y%/2
�    � �(sx-ex)<1 �
�     a%?(x%/2)=256+y%/2
�	    �
      y=sy
      dx=�(ex-sx)
      dy=(ey-sy)/�(ex-sx)
"      � x=sx � ex � dx
,        a%?x=y
6        y+=dy
@      �x
J	    �
T    nldistlastx%=x%/2
^    nldistlasty%=256+y%/2
h    � sx>ex � Ȕ sx,ex
r    � sy>ey � Ȕ sy,ey
|9    ș"Wimp_ForceRedraw",wnldisth%,sx*2,-512,ex*2+2,0
�  �
��
��
��
�
���StatsClick
�� polledb%!8<8 �
�5  � polledb%!16=4 � samtype%=0:�SendSFXED(&44640)
�5  � polledb%!16=5 � samtype%=1:�SendSFXED(&44641)
�5  � polledb%!16=6 � samtype%=2:�SendSFXED(&44642)
��
��
�
��SendSFXED(M%)
H%=�GetSFXEDH
� H%=0 �
&&  �ReportErr("SFXED not present.")
0�
:  temp%!0=256
D  temp%!4=0
N  temp%!8=0
X  temp%!12=0
b  temp%!16=M%
l&  ș"Wimp_SendMessage",17,temp%,H%
v�
��
�
���DragSave(wh%)
�temp%!0=wh%
�"ș"Wimp_GetWindowState",,temp%
�wx%=(temp%!4)-(temp%!20)
�wy%=(temp%!16)-(temp%!24)
�
temp%!4=0
�!ș "Wimp_GetIconState",,temp%
�dragb%!0=0
�dragb%!4=5
�dragb%!8=(temp%!8)+wx%
�dragb%!12=(temp%!12)+wy%
dragb%!16=(temp%!16)+wx%
dragb%!20=(temp%!20)+wy%
dragb%!24=0
 dragb%!28=0
*dragb%!32=32768
4dragb%!36=32768
>dragb%!40=0
Hdragb%!44=0
Rdragb%!48=0
\dragb%!52=0
fș"Wimp_DragBox",,dragb%
p�
z
���DragSaved
�� savetype%<>-1 �
�  Ȏ savetype% �
�.    � 0:temp2%!40=&c36:temp%!0=wsaveasshh%
�  �
�  temp%!4=1
�"  ș"Wimp_GetIconState",,temp%
�)  $(temp2%+44)=�Strip($(!(temp%+28)))
�$  ș"Wimp_GetPointerInfo",,temp%
�  temp2%!0=256
�  temp2%!4=0
�  temp2%!8=0
�  temp2%!12=0
  temp2%!16=1
  temp2%!20=temp%!12
  temp2%!24=temp%!16
$  temp2%!28=temp%!0
.  temp2%!32=temp%!4
8  temp2%!36=1
B7  ș "Wimp_SendMessage",17,temp2%,temp%!12,temp%!16
L  ș"Wimp_CreateMenu",,-1
V�
`�
j
t��MBString(s%)
~ȕ ?s%>31 s%+=1:�
�
?s%=13
��
�
���DataSave
�� messbk%!4<>taskh% �
�7  ș"XOS_ReadVarVal","Wimp$Scrap",temp%,-1,0,0�,,A%
�  � A%=0 �
�/    �ReportErr("<Wimp$Scrap> not defined.")
�  �
�*    filetoload2$=�Strip($(messbk%+44))
�    messbk%!0=256
�)    $(messbk%+44)="<Wimp$Scrap>"+�(0)
    messbk%!12=messbk%!8

    messbk%!16=2
    messbk%!36=-1
1    ș"Wimp_SendMessage",17,messbk%,messbk%!4
(  �
2�
<�
F
P
��SaveAck
Z� savetype%<>-1 �
d  Ȏ savetype% �
n    � 0:temp%!0=wsaveasshh%
x  �
�  temp%!4=1
�"  ș"Wimp_GetIconState",,temp%
�  �MBString(polledb%+44)
�#  $(!(temp%+28))=$(polledb%+44)
�  f$=$(polledb%+44)
�  Ȏ savetype% �
�    � 0:�SaveSh(f$)
�  �
�  � f%<>0 � �#f%
�  savetype%=-1
�  messbk%!12=messbk%!8
�  messbk%!16=3
�/  ș"Wimp_SendMessage",17,messbk%,messbk%!4
�
�

"��SaveSh(fi$)
,�
6
@��DataLoad
JȎ polledb%!20 �
T  � wworkh%,-2:�LoadSheet
^  � winputh%:�LoadInput
h�
r�
|
���DataOpen
�� polledb%!40=&c36 �
�  �LoadSheet
�  messbk%!0=256
�  messbk%!12=messbk%!8
�/  ș"Wimp_SendMessage",17,messbk%,messbk%!4
��
��
�
���LoadInput
�� �
�� � � �ReportErr(�$):�
��ModTitle(0)
 �MBString(polledb%+44)
 $(inpptr%)=$(polledb%+44)
 temp%!0=winputh%
 &
temp%!4=1
 0 ș"Wimp_GetIconState",,temp%
 :$(temp%!28)=$(polledb%+44)
 Df%=�($(polledb%+44))
 Ninpptr%!268=�#f%
 X�#f%
 b
temp%!4=8
 l ș"Wimp_GetIconState",,temp%
 v@%=&90a
 �$(temp%!28)=�(inpptr%!268)
 �@%=&01020a00
 �0ș"Wimp_ForceRedraw",winputh%,0,-4000,4000,0
 ��
 �
 ���LoadSheet
 �� �
 �� � � �ReportErr(�$):�
 �� polledb%!40<>&c36 �
 �   �ReportErr("Not a sheet.")
 ��
 �  �MBString(polledb%+44)
 �   filetoload$=$(polledb%+44)
!  � sheetsaved%=-1 �
!    �LoadSh(filetoload$)
!  �
! \    A%=�Confirm("Sheet has been modified. Are you sure you want to load another sheet?")
!*%    � A%=1 � �LoadSh(filetoload$)
!4  �
!>�
!H�
!R
!\��LoadSh(f$)
!f  �RemAllDrag
!p  �Clear
!z  fi$=�Strip(f$)
!�  sheetname$=fi$
!�  f%=�(f$)
!�  ș"OS_GBPB",4,f%,temp%,4
!�  � temp%!0=&4d584653 �
!�!    ș"OS_GBPB",4,f%,temp%,20
!�    temp2%!0=wstatsh%
!�    temp2%!4=8
!�%    ș"Wimp_GetIconState",,temp2%
!�    $(temp2%!28)=$temp%
!�     ș"OS_GBPB",4,f%,temp%,4
!�  �
!�%  � temp%!0>99999 � temp%!0=99999
!�  temp2%!0=wstatsh%
"  temp2%!4=3
"#  ș"Wimp_GetIconState",,temp2%
"  $(temp2%!28)=�(temp%!0)
"$  ș"OS_GBPB",4,f%,temp%,4
".  i%=temp%!0
"8  ȕ i%<>-1
"B"    ș"OS_GBPB",4,f%,temp2%,32
"L     ș"OS_GBPB",4,f%,temp%,4
"V    l%=�Alloc(temp%!0)
"`    temp2%!12=l%
"j     temp2%!28=(temp2%!28)�&f
"t#    ș"OS_GBPB",4,f%,l%,temp%!0
"~    temp%!0=wworkh%
"�    temp%!4=temp2%!4
"�    temp%!8=temp2%!8
"�    temp%!12=temp2%!4+92
"�    temp%!16=temp2%!8+52
"�2    temp%!20=%00001000000000001010000000011010
"�    Ȏ temp2%!0 �
"�      � 0:i$="vco"
"�      � 1:i$="noise"
"�      � 2:i$="eg"
"�      � 3:i$="filtlo"
"�      � 4:i$="filthi"
"�      � 5:i$="const"
#      � 6:i$="mult"
#
      � 7:i$="multc"
#      � 8:i$="add"
#      � 13:i$="sub"
#(      � 14:i$="pulse"
#2      � 15:i$="delay"
#<      � 9:i$="output"
#F      � 16:i$="input"
#P      � 17:i$="samhold"
#Z      � 18:i$="nldist"
#d	    �
#n    $(temp%+24)=i$
#x&    ș"Wimp_CreateIcon",,temp%�ih%
#�    litrans%(i%)=ih%
#�    �T%=0�28�4
#�)      iconinfo%!(ih%*32+T%)=temp2%!T%
#�    �T%
#�     ș"OS_GBPB",4,f%,temp%,4
#�    i%=temp%!0
#�  �
#�  �T%=0�maxicons%-1
#�!    � iconinfo%!(T%*32)<>-1 �
#�Z      � iconinfo%!(T%*32+16)<>-1 � iconinfo%!(T%*32+16)=litrans%(iconinfo%!(T%*32+16))
#�Z      � iconinfo%!(T%*32+20)<>-1 � iconinfo%!(T%*32+20)=litrans%(iconinfo%!(T%*32+20))
#�	    �
#�	  �T%
$
  �#f%
$$  � filetoload$="<Wimp$Scrap>" �
$     �("Delete "+filetoload$)
$"    f$=filetoload2$
$,  �
$6  $(wwork%!72)=f$
$@  sheetsaved%=-1
$J  temp%!0=wworkh%
$T  temp%!0=wsaveasshh%
$^  temp%!4=1
$h"  ș"Wimp_GetIconState",,temp%
$r  $(temp%!28)=f$
$|  �OpenWork
$�1  ș"Wimp_ForceRedraw",wworkh%,0,-4000,4000,0
$�2  ș"Wimp_ForceRedraw",wstatsh%,0,-4000,4000,0
$��
$�
$�ݤStrip(fs$)
$�� f%,a%
$�f%=1
$�a%=1
$�ȕ �fs$,f%)<>""
$�1  � �fs$,f%,1)="." � �fs$,f%,1)=":" � a%=f%+1
$�  f%+=1
$��
$�
=�fs$,a%)
%
%
��Inst
%temp%!0=winsth%
%&"ș"Wimp_GetWindowState",,temp%
%0temp%!28=-1
%:ș"Wimp_OpenWindow",,temp%
%Dpolledb%!0=winsth%
%N)ș"Wimp_RedrawWindow",,polledb%�more%
%X�JustRedraw
%b�
%l
%v��ConstClick
%��ModTitle(0)
%�� polledb%!16=2 �
%�  temp%!0=wconstanth%
%�  temp%!4=0
%�"  ș"Wimp_GetIconState",,temp%
%�  v=�($(temp%!28))
%�  � �(v)>32767 �
%�D    �ReportErr("Only numbers between -32767 and 32767 allowed.")
%�  �
%�    !constptr%=&10000*v
%�#    ș"Wimp_CloseWindow",,temp%
%�    constptr%=0
%�  �
&�
&�
&
& ��InputClick
&*�ModTitle(0)
&4inptype%=inpptr%!256
&>� polledb%!16=6 �
&H  temp%!0=winputh%
&R!  ș"Wimp_CloseWindow",,temp%
&\�
&f5� polledb%!16=3 � inptype%=(inptype%�&fffffffc)+0
&p5� polledb%!16=4 � inptype%=(inptype%�&fffffffc)+1
&z5� polledb%!16=5 � inptype%=(inptype%�&fffffffc)+2
&�6� polledb%!16=11 � inptype%=(inptype%�&fffffffb)+4
&�4� polledb%!16=12 � inptype%=(inptype%�&fffffffb)
&�inpptr%!256=inptype%
&��
&�
&���MultCClick
&��ModTitle(0)
&�� polledb%!16=2 �
&�  temp%!0=wmultch%
&�  temp%!4=0
&�"  ș"Wimp_GetIconState",,temp%
&�  v=�($(temp%!28))
&�  � �(v)>32767 �
'D    �ReportErr("Only numbers between -32767 and 32767 allowed.")
'  �
'    !mconstptr%=&10000*v
'$#    ș"Wimp_CloseWindow",,temp%
'.    mconstptr%=0
'8  �
'B�
'L*� (polledb%!16>=3)�(polledb%!16<=13) �
'V%  ș"Wimp_SetCaretPosition",-1,-1
'`  temp%!0=wmultch%
'j  temp%!4=0
't"  ș"Wimp_GetIconState",,temp%
'~2  $(temp%!28)=��(2^(((polledb%!16)-2)/12)),11)
'�0  ș"Wimp_ForceRedraw",wmultch%,0,-108,390,0
'��
'��
'�
'���WorkClick
'�Ȏ polledb%!8 �
'�x  � 2:lastmx%=polledb%!0-64:lastmy%=polledb%!4+12:lastmenu%=workmenu%:ș"Wimp_CreateMenu",,lastmenu%,lastmx%,lastmy%
'�  � 4*256:�ClickWork
'�  � 1*256:�AdjCWork
'�  � 4*16:�DragWork
'�  � 4:�DoubleWork
'�  � 1:�AdjCWork
(�
(
�
(
(��ClickWork
((Ȏ dfunc% �
(2V  � 0,1,2,3,4,5,6,7,8,9,13,14,15,16,17,18:�CreateObj(dfunc%,polledb%!0,polledb%!4)
(<  � 10:�SelIcn2
(F  � 12:�Connect
(P�
(Z�
(d
(n��AdjToolsC
(xȎ olddfunc% �
(�=  � 0,1,2,3,4,5,6,7,8,9,13,14,15,16,17,18:�IconColor(0,0)
(�  � 10:�IconColor(2,0)
(�  � 12:�IconColor(1,0)
(��
(�Ȏ dfunc% �
(�=  � 0,1,2,3,4,5,6,7,8,9,13,14,15,16,17,18:�IconColor(0,9)
(�  � 10:�IconColor(2,9)
(�  � 12:�IconColor(1,9)
(��
(�olddfunc%=dfunc%
(��
(�
(���IconColor(I%,C%)
)C%=C%�15
)temp%!0=wtoolsh%
)temp%!4=I%
)"temp%!8=C%<<28
),temp%!12=15<<28
)6 ș"Wimp_SetIconState",,temp%
)@�
)J
)T��SelIcn
)^� polledb%!16<>-1 �
)h  �SwapIconS(polledb%!16)
)r�
)|  �ClearSel
)��
)��
)�
)�
��SelIcn2
)�/� polledb%!16<>-1 � �SwapIconS(polledb%!16)
)��
)�
)���DragWork
)�� dfunc%=10 �
)�  drag%=-1
)�  temp%!0=wworkh%
)�$  ș"Wimp_GetWindowState",,temp%
)�*  startlx%=polledb%!0+temp%!20-temp%!4
*+  startly%=polledb%!4+temp%!24-temp%!16
*"  startlx%=(startlx%�96)*96+48
*"  startly%=(startly%�56)*56-32
*&  newlx%=-1:newly%=-1
*0  oldlx%=-1:oldly%=-1
*:�
*D�
*N
*X��DoubleWork
*bȎ dfunc% �
*l  � 10:�SelIcn
*v  � 12:�Connect
*��
*��
*�
*���AdjCWork
*�Ȏ dfunc% �
*�  � 10:�SetParam
*�  � 12:�SwapLin
*��
*��
*�
*���SetParam
*�%Ȏ iconinfo%!((polledb%!16)*32) �
*�  � 0:�SetVCOParam
+  � 2:�SetEGParam
+  � 5:�SetConstParam
+  � 7:�SetMultCParam
+   � 16:�SetInputParam
+*  � 18:�SetNLDistParam
+4�
+>�
+H
+R��SetNLDistParam
+\temp%!0=wnldisth%
+f"ș"Wimp_GetWindowState",,temp%
+ptemp%!4=polledb%!0-256
+ztemp%!8=polledb%!4-256
+�temp%!12=temp%!4+512
+�temp%!16=temp%!8+512
+�temp%!28=-1
+�6� (temp%!32)�(1<<16) � ș"Wimp_CloseWindow",,temp%
+�ș"Wimp_OpenWindow",,temp%
+�.nldistptr%=iconinfo%!((polledb%!16)*32+12)
+�nldistlastx%=-1
+�nldistlasty%=-1
+��:ȗ A%,B%,C%:� C%=0
+��
+�
+���SetInputParam
+�temp%!0=winputh%
,
temp%!4=1
, ș"Wimp_GetIconState",,temp%
,+inpptr%=iconinfo%!((polledb%!16)*32+12)
,$$(temp%!28)=$(inpptr%)
,.inptype%=inpptr%!256
,8
temp%!4=8
,B ș"Wimp_GetIconState",,temp%
,L@%=&90a
,V$(temp%!28)=�(inpptr%!268)
,`@%=&01020a00
,jtemp%!12=1<<21
,t
temp%!4=3
,~0� (inptype%�3)=0 � temp%!8=1<<21 � temp%!8=0
,� ș"Wimp_SetIconState",,temp%
,�
temp%!4=4
,�0� (inptype%�3)=1 � temp%!8=1<<21 � temp%!8=0
,� ș"Wimp_SetIconState",,temp%
,�
temp%!4=5
,�0� (inptype%�3)=2 � temp%!8=1<<21 � temp%!8=0
,� ș"Wimp_SetIconState",,temp%
,�temp%!4=11
,�.� (inptype%�4) � temp%!8=1<<21 � temp%!8=0
,� ș"Wimp_SetIconState",,temp%
,�temp%!4=12
,�.� (inptype%�4) � temp%!8=0 � temp%!8=1<<21
- ș"Wimp_SetIconState",,temp%
-
"ș"Wimp_GetWindowState",,temp%
-temp%!4=polledb%!0-210
-temp%!8=polledb%!4-100
-(temp%!12=temp%!4+430
-2temp%!16=temp%!8+212
-<temp%!28=-1
-F6� (temp%!32)�(1<<16) � ș"Wimp_CloseWindow",,temp%
-Pș"Wimp_OpenWindow",,temp%
-Z�:ȗ A%,B%,C%:� C%=0
-d�
-n
-x��SetVCOParam
-�temp%!0=wvcoh%
-�"ș"Wimp_GetWindowState",,temp%
-�temp%!4=polledb%!0-342
-�temp%!8=polledb%!4-132
-�temp%!12=temp%!4+684
-�temp%!16=temp%!8+264
-�temp%!28=-1
-�6� (temp%!32)�(1<<16) � ș"Wimp_CloseWindow",,temp%
-�ș"Wimp_OpenWindow",,temp%
-�+vcoptr%=iconinfo%!((polledb%!16)*32+12)
-�vcolastx%=-1
-�vcolasty%=-1
-��:ȗ A%,B%,C%:� C%=0
.�
.
.��SetEGParam
."temp%!0=wegh%
.,"ș"Wimp_GetWindowState",,temp%
.6temp%!4=polledb%!0-512
.@temp%!8=polledb%!4-128
.Jtemp%!12=temp%!4+1024
.Ttemp%!16=temp%!8+256
.^temp%!28=-1
.h6� (temp%!32)�(1<<16) � ș"Wimp_CloseWindow",,temp%
.rș"Wimp_OpenWindow",,temp%
.|*egptr%=iconinfo%!((polledb%!16)*32+12)
.��:ȗ A%,B%,C%:� C%=0
.��
.�
.���SetConstParam
.�temp%!0=wconstanth%
.�
temp%!4=0
.� ș"Wimp_GetIconState",,temp%
.�-constptr%=iconinfo%!((polledb%!16)*32+12)
.�+$(temp%!28)=��((!constptr%)/&10000),11)
.�"ș"Wimp_GetWindowState",,temp%
.�temp%!4=polledb%!0-180
.�temp%!8=polledb%!4-28
.�temp%!12=temp%!4+360
/temp%!16=temp%!8+56
/temp%!28=-1
/6� (temp%!32)�(1<<16) � ș"Wimp_CloseWindow",,temp%
/&ș"Wimp_OpenWindow",,temp%
/0�
/:
/D��SetMultCParam
/Ntemp%!0=wmultch%
/X
temp%!4=0
/b ș"Wimp_GetIconState",,temp%
/l.mconstptr%=iconinfo%!((polledb%!16)*32+12)
/v,$(temp%!28)=��((!mconstptr%)/&10000),11)
/�"ș"Wimp_GetWindowState",,temp%
/�temp%!4=polledb%!0-145
/�temp%!8=polledb%!4-54
/�temp%!12=temp%!4+390
/�temp%!16=temp%!8+108
/�temp%!28=-1
/�6� (temp%!32)�(1<<16) � ș"Wimp_CloseWindow",,temp%
/�ș"Wimp_OpenWindow",,temp%
/��
/�
/�
��SwapLin
/��ModTitle(0)
/�� (polledb%!16<>-1) �
0  temp%!0=wworkh%
0$  ș"Wimp_GetWindowState",,temp%
0&  slx%=polledb%!0-temp%!4+temp%!20
0 '  sly%=polledb%!4-temp%!16+temp%!24
0*  sic%=polledb%!16
04&  x%=slx%-iconinfo%!(sic%*32+4)-58
0>&  y%=sly%-iconinfo%!(sic%*32+8)-28
0H  si%=�GetIO(x%,y%,sic%)
0R  � (si%<>2) �
0\)    eic%=iconinfo%!(sic%*32+si%*4+16)
0f"    elx%=iconinfo%!(eic%*32+4)
0p"    ely%=iconinfo%!(eic%*32+8)
0z"    ls%=iconinfo%!(sic%*32+28)
0�T    � si%=0 � ls%=(ls%�&fffffffc)�((ls%+1)�3) � ls%=(ls%�&fffffff3)�((ls%+4)�&c)
0�"    iconinfo%!(sic%*32+28)=ls%
0�"    � slx%>elx% � Ȕ slx%,elx%
0�"    � sly%>ely% � Ȕ sly%,ely%
0�D    ș"Wimp_ForceRedraw",wworkh%,slx%-98,sly%-58,elx%+98,ely%+58
0�  �
0��
0��
0�
0�
��Connect
0��ModTitle(0)
0�� polledb%!16=-1 �
0�  �7
1�
1  temp%!0=wworkh%
1$  ș"Wimp_GetWindowState",,temp%
1$  � startlx%=-1 �
1.,    startlx%=polledb%!0-temp%!4+temp%!20
18-    startly%=polledb%!4-temp%!16+temp%!24
1B    startic%=polledb%!16
1L0    x%=startlx%-iconinfo%!(startic%*32+4)-58
1V0    y%=startly%-iconinfo%!(startic%*32+8)-28
1`&    starti%=�GetIO(x%,y%,startic%)
1j  �
1t*    endlx%=polledb%!0-temp%!4+temp%!20
1~+    endly%=polledb%!4-temp%!16+temp%!24
1�    endic%=polledb%!16
1�,    x%=endlx%-iconinfo%!(endic%*32+4)-58
1�,    y%=endly%-iconinfo%!(endic%*32+8)-28
1�"    endi%=�GetIO(x%,y%,endic%)
1�/    � (starti%=endi%)�((starti%�endi%)=1) �
1�      �7
1�	    �
1�      � endi%=2 �
1؍        � iconinfo%!(startic%*32+16+starti%*4)<>-1 � �ReportErr("Input already connected.") � iconinfo%!(startic%*32+16+starti%*4)=endic%
1�      �
1�        � iconinfo%!(endic%*32+16+endi%*4)<>-1 � �ReportErr("Input already connected.") � iconinfo%!(endic%*32+16+endi%*4)=startic%
1�      �
20      � startlx%>endlx% � Ȕ startlx%,endlx%
2
0      � startly%>endly% � Ȕ startly%,endly%
2R      ș"Wimp_ForceRedraw",wworkh%,startlx%-98,startly%-58,endlx%+98,endly%+58
2      �RemAllDrag
2(	    �
22  �
2<�
2F�
2P
2ZݤGetIO(x%,y%,i%)
2d� x%>0 �
2n  io%=2
2x�
2�  � y%>0 � io%=0 � io%=1
2��
2�Ȏ iconinfo%!(i%*32) �
2�  � 1:� io%=1 � io%=0
2�  � 2:io%=2
2�  � 5:io%=2
2�  � 7:� io%=1 � io%=0
2�  � 9:io%=0
2�  � 16:io%=2
2�  � 18:� io%=1 � io%=0
2��
2�=io%
2�
3��CreateObj(obj%,xc%,yc%)
3�RemAllDrag
3�ModTitle(0)
3"temp%!0=wworkh%
3,"ș"Wimp_GetWindowState",,temp%
36x%=xc%-(temp%!4)+(temp%!20)
3@ y%=yc%-(temp%!16)+(temp%!24)
3Jx%=(x%�96)*96
3Ty%=((y%�56)-1)*56
3^temp%!0=wworkh%
3htemp%!4=x%
3rtemp%!8=y%
3|temp%!12=x%+92
3�temp%!16=y%+52
3�.temp%!20=%00001000000000001010000000011010
3�$(temp%+24)=df$
3�"ș"Wimp_CreateIcon",,temp%�ih%
3�� ih%>=maxicons% �
3�  temp%!0=wworkh%
3�  temp%!4=ih%
3�   ș"Wimp_DeleteIcon",,temp%
3�%  �ReportErr("Too many objects.")
3��
3�  Ȏ obj% �
3�3    � 0:l%=�Alloc(260):� l%<>-1 � �VCOsin(l%+4)
3�2    � 1:l%=�Alloc(12):� l%<>-1 � !l%=&12345678
4B    � 2:l%=�Alloc(520):� l%<>-1 � �T%=l%+8�l%+516�4:!T%=-1:�T%
4    � 3:l%=�Alloc(8)
4    � 4:l%=�Alloc(8)
4&.    � 5:l%=�Alloc(4):� l%<>-1 � !l%=&10000
40    � 6:l%=�Alloc(4)
4:.    � 7:l%=�Alloc(4):� l%<>-1 � !l%=&10000
4D    � 8:l%=�Alloc(4)
4N    � 9:l%=�Alloc(4)
4X    � 13:l%=�Alloc(4)
4b    � 14:l%=�Alloc(4)
4l    � 15:l%=�Alloc(256)
4vI    � 16:l%=�Alloc(280):� l%<>-1 � ?l%=13:l%!256=0:l%!268=0:l%!272=-1
4�    � 17:l%=�Alloc(4)
4�=    � 18:l%=�Alloc(256):� l%<>-1 � �T%=0�255:l%?T%=T%:�T%
4�  �
4�  � l%=-1 �
4�    temp%!0=wworkh%
4�    temp%!4=ih%
4�"    ș"Wimp_DeleteIcon",,temp%
4�)    �ReportErr("No room for object.")
4�  �
4�!    iconinfo%!(ih%*32+0)=obj%
4�    iconinfo%!(ih%*32+4)=x%
4�    iconinfo%!(ih%*32+8)=y%
4�     iconinfo%!(ih%*32+12)=l%
5     iconinfo%!(ih%*32+16)=-1
5     iconinfo%!(ih%*32+20)=-1
5     iconinfo%!(ih%*32+24)=-1
5      iconinfo%!(ih%*32+28)=15
5*  �
54�
5>6ș"Wimp_ForceRedraw",wworkh%,x%,y%,x%+46*2,y%+13*4
5H�
5R
5\��IconBClick
5fȎ polledb%!8 �
5p  � 1,4:�OpenWork
5zq  � 2:lastmx%=polledb%!0-64:lastmy%=96+176:lastmenu%=iconmenu%:ș"Wimp_CreateMenu",,lastmenu%,lastmx%,lastmy%
5��
5��
5�
5���OpenWork
5�polledb%!0=wworkh%
5�%ș"Wimp_GetWindowState",,polledb%
5�polledb%!28=-1
5�oldworkx%=polledb%!4
5��Open_Window
5�temp%!0=wstatsh%
5�"ș"Wimp_GetWindowState",,temp%
5�temp%!28=-1
5�ș"Wimp_OpenWindow",,temp%
6�
6
6��User_Drag_Box
6$�DragSaved
6.�
68
6B��Key_Pressed
6L� polledb%!24=&1cc �
6V  ș"Wimp_ProcessKey",&1cc
6`�
6j  Ȏ polledb%!0 �
6t    � wconstanth%:�KeyConst
6~    � winputh%:�KeyInput
6�    � wmultch%:�KeyMultC
6�f    � wstatsh%:�((polledb%!4=3)�(polledb%!4=8))�(polledb%!24=13) � ș"Wimp_SetCaretPosition",-1,-1
6�  �
6��
6��
6�
6���KeyInput
6��ModTitle(0)
6�'� (polledb%!4=1)�(polledb%!24=13) �
6�  temp%!0=winputh%
6�  temp%!4=1
6�"  ș"Wimp_GetIconState",,temp%
7  $(inpptr%)=$(temp%!28)
7
  inpptr%!256=inptype%
7!  ș"Wimp_CloseWindow",,temp%
7�
7(�
72
7<��KeyConst
7F�ModTitle(0)
7P'� (polledb%!4=0)�(polledb%!24=13) �
7Z  temp%!0=wconstanth%
7d  temp%!4=0
7n"  ș"Wimp_GetIconState",,temp%
7x  v=�($(temp%!28))
7�  � �(v)>32767 �
7�D    �ReportErr("Only numbers between -32767 and 32767 allowed.")
7�  �
7�    !constptr%=&10000*v
7�#    ș"Wimp_CloseWindow",,temp%
7�    constptr%=0
7�  �
7��
7��
7�
7���KeyMultC
7��ModTitle(0)
7�'� (polledb%!4=0)�(polledb%!24=13) �
8  temp%!0=wmultch%
8  temp%!4=0
8"  ș"Wimp_GetIconState",,temp%
8"  v=�($(temp%!28))
8,  � �(v)>32767 �
86D    �ReportErr("Only numbers between -32767 and 32767 allowed.")
8@  �
8J    !mconstptr%=&10000*v
8T#    ș"Wimp_CloseWindow",,temp%
8^    mconstptr%=0
8h  �
8r�
8|�
8�
8���Menu_Select
8�"ș"Wimp_GetPointerInfo",,temp%
8�oldbut%=temp%!8
8��Menu_Select2
8�B� (oldbut%�1) � ș"Wimp_CreateMenu",,lastmenu%,lastmx%,lastmy%
8��
8�
8���Menu_Select2
8�Ȏ lastmenu% �
8�  � iconmenu%:�MSelIcon
8�  � workmenu%:�MSelWork
8�K  � addmenu%:polledb%!4=polledb%!0:polledb%!8=-1:polledb%!0=0:�MSelWork
9�
9�
9
9&��MSelIcon
90"� polledb%!0=1 � �MSelIconSave
9:� polledb%!0=2 � �Clear2
9D� polledb%!0=3 � �CloseDown
9N�
9X
9b��MSelIconSave
9l/� polledb%!4=-1 � polledb%!16=2:�SaveasshCl
9v�
9�
9���MSelWork
9�Ȏ polledb%!0 �
9�  � 0:�MenuAdd
9�  � 1:�MenuSel
9�F  � 2:workmenu%!(28+24*1+0)=0:workmenu%!(28+24*2+0)=1:�MenuConnect
9�  � 3:�MenuCalc
9�  � 4:�SwapTools
9��
9��AdjToolsC
9��
9�
9���SwapTools
:tools%=� tools%
:� tools%=0 �
:  temp%!0=wtoolsh%
: !  ș"Wimp_CloseWindow",,temp%
:*  workmenu%!(28+24*4+0)=128
:4�
:>  polledb%!0=wworkh%
:H'  ș"Wimp_GetWindowState",,polledb%
:R  oldworkx%=polledb%!4
:\  �Open_Window
:f!  workmenu%!(28+24*4+0)=128+1
:p�
:z�
:�
:�
��MenuAdd
:�Ȏ polledb%!4 �
:�  � 0:dfunc%=0:df$="vco"
:�  � 1:dfunc%=1:df$="noise"
:�  � 2:dfunc%=2:df$="eg"
:�  � 3:dfunc%=5:df$="const"
:�  � 4:dfunc%=3:df$="filtlo"
:�  � 5:dfunc%=4:df$="filthi"
:�  � 6:dfunc%=6:df$="mult"
:�  � 7:dfunc%=7:df$="multc"
:�  � 8:dfunc%=8:df$="add"
:�  � 9:dfunc%=13:df$="sub"
;"  � 10:dfunc%=17:df$="samhold"
;!  � 11:dfunc%=18:df$="nldist"
;   � 12:dfunc%=14:df$="pulse"
;$   � 13:dfunc%=15:df$="delay"
;.   � 14:dfunc%=9:df$="output"
;8   � 15:dfunc%=16:df$="input"
;B�
;LF� polledb%!4<>-1 � workmenu%!(28+24*1+0)=0:workmenu%!(28+24*2+0)=0
;V�RemAllDrag
;`�
;j
;t
��MenuSel
;~Ȏ polledb%!4 �
;�D  � -1:dfunc%=10:workmenu%!(28+24*1+0)=1:workmenu%!(28+24*2+0)=0
;�  � 0:�AllSel
;�  � 1:�ClearSel
;�  � 2:�SwapSel
;�  � 3:�DeleteObjs
;�  � 4:�DeleteInpt
;��
;��RemAllDrag
;��
;�
;�
��SwapSel
;��T%=0�maxicons%-1
<-  �iconinfo%!(T%*32)<>-1 � �SwapIconS(T%)
<
�T%
<�
<
<(��ClearSel
<2�T%=0�maxicons%-1
<<.  �iconinfo%!(T%*32)<>-1 � �SetIconS(T%,0)
<F�T%
<P�
<Z
<d��AllSel
<n�T%=0�maxicons%-1
<x.  �iconinfo%!(T%*32)<>-1 � �SetIconS(T%,1)
<��T%
<��
<�
<���DeleteObjs
<��T%=0�maxicons%-1
<�>  �(iconinfo%!(T%*32)<>-1)�(iconinfo%!(T%*32+28))�(1<<4) �
<�f    � iconinfo%!(T%*32+12)=constptr% � temp%!0=wconstanth%:ș"Wimp_CloseWindow",,temp%:constptr%=0
<�e    � iconinfo%!(T%*32+12)=mconstptr% � temp%!0=wmultch%:ș"Wimp_CloseWindow",,temp%:mconstptr%=0
<�]    � iconinfo%!(T%*32+12)=vcoptr% � temp%!0=wvcoh%:ș"Wimp_CloseWindow",,temp%:vcoptr%=0
<�Z    � iconinfo%!(T%*32+12)=egptr% � temp%!0=wegh%:ș"Wimp_CloseWindow",,temp%:egptr%=0
<�_    � iconinfo%!(T%*32+12)=inpptr% � temp%!0=winputh%:ș"Wimp_CloseWindow",,temp%:inpptr%=0
<�f    � iconinfo%!(T%*32+12)=nldistptr% � temp%!0=wnldisth%:ș"Wimp_CloseWindow",,temp%:nldistptr%=0
<�    temp%!0=wworkh%
=    temp%!4=T%
="    ș"Wimp_DeleteIcon",,temp%
=#    �Free(iconinfo%!(T%*32+12))
="    iconinfo%!(T%*32+0)=-1
=,    iconinfo%!(T%*32+4)=-1
=6    iconinfo%!(T%*32+8)=-1
=@    iconinfo%!(T%*32+12)=-1
=J    iconinfo%!(T%*32+16)=-1
=T    iconinfo%!(T%*32+20)=-1
=^    iconinfo%!(T%*32+24)=-1
=h    iconinfo%!(T%*32+28)=-1
=r    �S%=0�maxicons%-1
=|#      � iconinfo%!(S%*32)<>-1 �
=�?        � iconinfo%!(S%*32+16)=T% � iconinfo%!(S%*32+16)=-1
=�?        � iconinfo%!(S%*32+20)=T% � iconinfo%!(S%*32+20)=-1
=�      �
=�    �S%
=�  �
=��T%
=�/ș"Wimp_ForceRedraw",wworkh%,0,-4000,4000,0
=��
=�
=���DeleteInpt
=��T%=0�maxicons%-1
=�  �(iconinfo%!(T%*32)<>-1)�(iconinfo%!(T%*32+28))�(1<<4) � iconinfo%!(T%*32+16)=-1:iconinfo%!(T%*32+20)=-1:iconinfo%!(T%*32+28)=31
=��T%
>/ș"Wimp_ForceRedraw",wworkh%,0,-4000,4000,0
>�
>
>&��SetIconS(i%,s%)
>0temp%!0=wworkh%
>:temp%!4=i%
>Dtemp%!8=s%<<21
>Ntemp%!12=1<<21
>X ș"Wimp_SetIconState",,temp%
>bCiconinfo%!(i%*32+28)=((iconinfo%!(i%*32+28))�&ffffffef)�(s%<<4)
>l�
>v
>���SwapIconS(i%)
>�temp%!0=wworkh%
>�temp%!4=i%
>�temp%!8=1<<21
>�temp%!12=0
>� ș"Wimp_SetIconState",,temp%
>�6iconinfo%!(i%*32+28)=(iconinfo%!(i%*32+28))�(1<<4)
>��
>�
>���MenuConnect
>��RemAllDrag
>�
dfunc%=12
>��
?
?��MenuCalc
?�SendSFXED(&44643)
? �
?*
?4��StartReceived
?>temp%!0=wstatsh%
?H
temp%!4=3
?R ș"Wimp_GetIconState",,temp%
?\samlen%=�($(temp%!28))
?f� samlen%<=0 � samlen%=1
?p� samlen%>polledb%!24 �
?z  �ReportErr("No room.")
?��
?�  startsam%=polledb%!20
?�  �MenuCalc2
?��
?��
?�
?���MenuCalc2
?�
io%=-1
?��T%=0�maxicons%-1
?�  � iconinfo%!(T%*32)=9 �
?�"    � io%=-1 � io%=T% � io%=-2
?�  �
?��T%
@Ȏ io% �
@#  � -1:�ReportErr("No output!")
@.  � -2:�ReportErr("More than one output!")
@$  :�CalcOK(io%)
@.�
@8�
@B
@L��CalcOK(i%)
@Vtemp%!0=wstatsh%
@`
temp%!4=3
@j ș"Wimp_GetIconState",,temp%
@tsamlen%=�($(temp%!28))
@~� samlen%<=0 � samlen%=1
@�� startsam%<>-1 �
@�  e%=0:T%=0
@�  ȕ (T%<maxicons%)�(e%=0)
@�    Ȏ iconinfo%!(T%*32) �
@�,      � 0:�InitVCO(iconinfo%!(T%*32+12))
@�3      � 2:�InitEG(iconinfo%!(T%*32+12),samlen%)
@�-      � 3:�InitFilt(iconinfo%!(T%*32+12))
@�-      � 4:�InitFilt(iconinfo%!(T%*32+12))
@�/      � 14:�InitPulse(iconinfo%!(T%*32+12))
@�/      � 15:�InitDelay(iconinfo%!(T%*32+12))
@�2      � 16:e%=�InitInput(iconinfo%!(T%*32+12))
@�1      � 17:�InitSamHold(iconinfo%!(T%*32+12))
A	    �
A

    T%+=1
A  �
A  � e%<>0 �
A(.    �ReportErr("Can't claim input memory")
A2    �CloseInput
A<    ș"Hourglass_Off"
AF  �
AP    ș"Hourglass_On"
AZ    !samtyp=samtype%
Ad    A%=iconinfo%!(i%*32+16)
An    B%=iconinfo%
Ax    C%=startsam%
A�    D%=samlen%
A�    �calcall
A�    ș"Hourglass_Off"
A�    �CloseInput
A�    temp%!20=samlen%
A�    temp%!24=samtype%
A�    $(temp%+28)=sheetname$
A�    �SendSFXED(&44644)
A�    startsam%=-1
A�  �
A��
A��
A�
B��InitVCO(l%)
B	!l%=0
B�
B"
B,��InitEG(l%,k%)
B6
l%!0=0
B@l%!4=(65536*512)/samlen%
BJ�
BT
B^��InitFilt(l%)
Bh	!l%=0
Br�
B|
B���InitDelay(l%)
B��J%=0�252�4:l%!J%=0:�J%
B��
B�
B���InitPulse(l%)
B�	!l%=0
B��
B�
B���InitSamHold(l%)
B�	!l%=0
B��
B�
B�ݤInitInput(l%)
C� �
C%� � � �ReportErr(�$):il%=1:� �@lC
C� $l%="" �
C&1  �ReportErr("Warning: no input name given.")
C0  il%=1
C:�
CD  f%=�($l%)
CNM  � f%=0 � il%=1:�ReportErr("Warning: can't load input.") � il%=�#f%:�#f%
CX�
Cb� il%<=0 � il%=1
Cl2ș"XOS_Module",6,,,(il%+3)�&fffffffc � ,,s%;v%
Cv� v%�1 �
C�  l%!272=-1
C�  error%=-1
C��
C�   l%!260=(&1000*il%)/samlen%
C�  l%!264=0
C�  l%!268=il%
C�  l%!272=s%
C�  l%!276=0
C�'  � il%>1 � �("LOAD "+$l%+" "+�~s%)
C�  error%=0
C��
C�=error%
C�
D��CloseInput
D�T%=0�maxicons%
D  � iconinfo%!(T%*32)=16 �
D     f%=iconinfo%!(T%*32+12)
D*9    � f%!272<>-1 � ș"XOS_Module",7,,f%!272:f%!272=-1
D4  �
D>�T%
DH�
DR
D\��User_Message
Df*�T%=0�255�4:messbk%!T%=polledb%!T%:�T%
Dpm%=polledb%!16
DzȎ m% �
D�  � 0:�Quit
D�  � 1:�DataSave
D�  � 2:�SaveAck
D�  � 3:�DataLoad
D�  � 5:�DataOpen
D�  � &44645:�StartReceived
D��
D��
D�
D���CloseDown
D�� sheetsaved%=-1 �
D�  �Quit
D��
EL  A%=�Confirm("Sheet has been modified. Are you sure you want to quit?")
E  � A%=1 � �Quit
E�
E$�
E.
E8
��Quit
EB1ș"XOS_SetVarVal","SFXM_TaskHandle","",-1,0,0
ELș"Hourglass_Smash"
EV'ș"Wimp_CloseDown",taskh%,&4b534154
E`ș"OS_Exit"
Ej�
Et
E~ݤGetSFXEDH
E�<ș"XOS_ReadVarVal","SFXED_TaskHandle",temp2%,16,0,0�,,A%
E�temp2%?A%=13
E�!� A%=0 � =0 � =�("&"+$temp2%)
E�
E�
��Init
E�ș "OS_GetEnv" � EnvStr$
E�
I%=1:S%=0
E��
E�"  � �EnvStr$,I%,1)=" " � S%+=1
E�  I%+=1
E� � (S%=3)�(�EnvStr$,I%,1)="")
E�lf$=�EnvStr$,I%)
F@%=&01020a00
F
maxicons%=100
F� temp% 1000
F� temp2% 1000
F(� messbk% 512
F2� pollb% 256
F<polledb%=pollb%
FF<ș"Wimp_Initialise",200,&4b534154,"SFXM"�version%,taskh%
FPD� version%<200 � ș"Wimp_CloseDown",taskh%,&4b534154:ș"OS_Exit"
FZ;ș"XOS_ReadVarVal","SFXM_TaskHandle",temp2%,16,0,0�,,A%
Fd
� A%<>0 �
Fn)  �ReportErr("SFXM already running.")
Fx)  ș"Wimp_CloseDown",taskh%,&4b534154
F�  ș"OS_Exit"
F��
F�ș"Hourglass_On"
F�6ș"XOS_SetVarVal","SFXM_TaskHandle",�~taskh%,8,0,0
F�.ș"Wimp_SpriteOp",11,,"<SFXM$Dir>.Sprites"
F�H%=�GetSFXEDH
F�4� H%=0 � �("*WimpTask Run <SFXED$Dir>.^.!SFXED")
F�1ș"Wimp_OpenTemplate",,"<SFXM$Dir>.Templates"
F�� pixtrans% 16
F�� scalef% 16
F�� weg% 1000
F�� wvco% 1000
F�� wnldist% 1000
G� wabout% 1000
G� wsaveassh% 1000
G� wconstant% 1000
G"� wwork% 1000
G,� wtools% 2000
G6� wstats% 1000
G@� wmultc% 1000
GJ� winput% 1000
GT� winst% 1000
G^� icbuf% 4000
Ghicbufn%=icbuf%
Gr� tname% 16
G|�LoadTemp(winst%,"inst")
G�ș"Wimp_CloseTemplate"
G�)ș"Wimp_CreateWindow",,winst%�winsth%
G�	�Inst
G�1ș"Wimp_OpenTemplate",,"<SFXM$Dir>.Templates"
G��LoadTemp(weg%,"eg")
G��LoadTemp(wvco%,"vco")
G� �LoadTemp(wnldist%,"nldist")
G��LoadTemp(wabout%,"about")
G�$�LoadTemp(wsaveassh%,"saveassh")
G�$�LoadTemp(wconstant%,"constant")
G��LoadTemp(wwork%,"work")
G��LoadTemp(wtools%,"tools")
G��LoadTemp(wstats%,"stats")
H�LoadTemp(wmultc%,"multc")
H�LoadTemp(winput%,"input")
Hș"Wimp_CloseTemplate"
H&%ș"Wimp_CreateWindow",,weg%�wegh%
H0'ș"Wimp_CreateWindow",,wvco%�wvcoh%
H:-ș"Wimp_CreateWindow",,wnldist%�wnldisth%
HD+ș"Wimp_CreateWindow",,wabout%�wabouth%
HN1ș"Wimp_CreateWindow",,wsaveassh%�wsaveasshh%
HX1ș"Wimp_CreateWindow",,wconstant%�wconstanth%
Hb)ș"Wimp_CreateWindow",,wwork%�wworkh%
Hl+ș"Wimp_CreateWindow",,wtools%�wtoolsh%
Hv+ș"Wimp_CreateWindow",,wstats%�wstatsh%
H�+ș"Wimp_CreateWindow",,wmultc%�wmultch%
H�+ș"Wimp_CreateWindow",,winput%�winputh%
H�
�Menus
H�� bicon% 32
H�bicon%!0=-1
H�bicon%!4=0
H�bicon%!8=0
H�bicon%!12=68
H�bicon%!16=68
H�bicon%!20=%0011000000011010
H�$(bicon%+24)="!sfxm"
H�'ș"Wimp_CreateIcon",,bicon%�biconh%
H�� iconinfo% maxicons%*32
I,�T%=0�maxicons%*32-4:iconinfo%!T%=-1:�T%
I$olddfunc%=10:dfunc%=10:df$="vco"
I+olddx%=-1:olddy%=-1:newdx%=-1:newdy%=-1
I +oldlx%=-1:oldly%=-1:newlx%=-1:newly%=-1
I*&startlx%=-1:startly%=0:startic%=-1
I4starti%=-1:endi%=-1
I>drag%=0
IH
dragx%=-1
IR
dragy%=-1
I\constptr%=0
Ifmconstptr%=0
Ip
vcoptr%=0
Izegptr%=0
I�nldistptr%=0
I�nldistlastx%=-1
I�nldistlasty%=-1
I�vcolastx%=-1
I�vcolasty%=-1
I�samptrl%=-1
I�samptrr%=-1
I�startsam%=-1
I�samlen%=-1
I�zoomfr=1
I�
okt%=1
I�savetype%=-1
I�
inpptr%=0
J
nopoll%=0
Jsheetsaved%=-1
J"filetoload$="":filetoload2$=""
J$sheetname$="<Untitled>"
J.oldworkx%=-1
J8
tools%=-1
JB�AdjToolsC
JL� dragb% 56
JV� litrans%(maxicons%)
J`samtype%=0
Jj
�Assem
Jt� freepool% maxicons%*540
J~A%=freepool%
J�B%=maxicons%*540
J�
� initmem
J�� linlog% 8192
J�*VOLUME 127
J�'ș"Sound_Configure",0,0,0,0,0�,,,T%
J�,�S%=0�8188�4:linlog%!S%=!((T%!8)+S%):�S%
J�!linlog=linlog%
J�� lintable% 1024
J�!lintab=lintable%
J�
�T%=0�127
J�.  lintable%!(T%*8)=�(0.5+267.33*2^(T%/16))
J�*  lintable%!(T%*8+4)=-lintable%!(T%*8)
K�T%
K
� lf$<>"" �
K  $(polledb%+44)=lf$
K  polledb%!40=&c36
K(  �LoadSheet
K2�
K<temp%!0=winsth%
KFș"Wimp_CloseWindow",,temp%
KPtemp%!0=winsth%
KZ ș"Wimp_DeleteWindow",,temp%
Kdș"Hourglass_Off"
Kn�
Kx
K���ModTitle(ss%)
K�	� ti$
K�� ss%=sheetsaved% � �
K�ti$=$(wwork%!72)
K�*� �ti$," ")<>0 � ti$=�ti$,�ti$," ")-1)
K�� ss%=0 � ti$=ti$+" *"
K�$(wwork%!72)=ti$
K�temp%!0=wworkh%
K�$ș"Wimp_GetWindowOutline",,temp%
K�Aș"Wimp_ForceRedraw",-1,temp%!4,temp%!16-40,temp%!12,temp%!16
K�sheetsaved%=ss%
K��
K�
L��Clear2
L� sheetsaved%=-1 �
L  �Clear
L"�
L,O  A%=�Confirm("Sheet has been modified. Are you sure you want to do this?")
L6  � A%=1 � �Clear
L@�
LJ�
LT
L^��Clear
Lhtemp2%!0=wconstanth%
Lr ș"Wimp_CloseWindow",,temp2%
L|temp2%!0=wmultch%
L� ș"Wimp_CloseWindow",,temp2%
L�temp2%!0=wvcoh%
L� ș"Wimp_CloseWindow",,temp2%
L�temp2%!0=wegh%
L� ș"Wimp_CloseWindow",,temp2%
L�temp2%!0=winputh%
L� ș"Wimp_CloseWindow",,temp2%
L�temp2%!0=wnldisth%
L� ș"Wimp_CloseWindow",,temp2%
L�temp2%!0=wstatsh%
L�temp2%!4=8
L�!ș"Wimp_GetIconState",,temp2%
L�$(!(temp2%+28))=""
Mtemp%!0=wsaveasshh%
M
temp%!4=1
M ș"Wimp_GetIconState",,temp%
M&$(temp%!28)="Sheet"
M00ș"Wimp_ForceRedraw",wstatsh%,0,-4000,4000,0
M:#ș"Wimp_SetCaretPosition",-1,-1
MDtemp2%!0=wworkh%
MN�T%=0�maxicons%-1
MXG  � iconinfo%!(T%*32)<>-1 � temp2%!4=T%:ș"Wimp_DeleteIcon",,temp2%
Mb�T%
Mlconstptr%=0
Mvmconstptr%=0
M�
vcoptr%=0
M�egptr%=0
M�vcolastx%=-1
M�vcolasty%=-1
M�.�T%=0�maxicons%*32-4�4:iconinfo%!T%=-1:�T%
M�A%=freepool%
M�B%=maxicons%*540
M�
� initmem
M�$(wwork%!72)="<Untitled>"
M�sheetname$="<Untitled>"
M�temp%!0=wworkh%
M�$ș"Wimp_GetWindowOutline",,temp%
M�Aș"Wimp_ForceRedraw",-1,temp%!4,temp%!16-44,temp%!12,temp%!16
N/ș"Wimp_ForceRedraw",wworkh%,0,-4000,4000,0
Nsheetsaved%=-1
N�
N 
N*��LoadTemp(� start%,name$)
N4$tname%=name$
N>Zș"Wimp_LoadTemplate",,start%,icbufn%,icbuf%+4000,-1,tname%,0�,start%,icbufn%,,,,next%
NHI� next%=0 � ș"Wimp_CloseTemplate":� 0,"Template "+name$+" not found"
NR�
N\
Nf��ReportErr(a$)
Nptemp2%!0=0
Nz$(temp2%+4)=a$
N�(ș"Wimp_ReportError",temp2%,1,"SFXM"
N��
N�
N�ݤConfirm(a$)
N�temp2%!0=0
N�$(temp2%+4)=a$
N�4ș"Wimp_ReportError",temp2%,%10011,"Confirm"�,A%
N�=A%
N�
N�ݤinterr(a$)
N�temp2%!0=0
N�$(temp2%+4)=a$
N�Aș"Wimp_ReportError",temp2%,%10011,"SFXM Internal Error."�,A%
O=A%
O
O"� titlestring, width in chars.
O$ݤMenuHead(t$,w%)
O.� a%
O8a%=Menus%+MenuPtr%
OB
$a%=t$
OLa%?12=7
OVa%?13=2
O`a%?14=7
Oja%?15=0
Ota%!16=w%*16
O~a%!20=44
O�a%!24=0
O�MenuPtr%+=28
O�=a%
O�
O�;� itemtext, flags, indirected, val. string, max. length
O���AddItem(i$,f%,i%,v$,ml%)
O�� a%
O�a%=Menus%+MenuPtr%
O�+� (�(i$)>11)�(i%=0) � i%=-1:ml%=�(i$)+1
O�a%!0=f%�255
O�a%!4=-1
O�^� f%�256 � a%!8=%00000111010000011001000000010001 � a%!8=%00000111000000011001000000010001
P
� i% �
P
  a%!8+=256
P"  $(MenuData%+MenuDataPtr%)=i$
P"  a%!12=MenuData%+MenuDataPtr%
P(  MenuDataPtr%+=�(i$)+1
P2"  $(MenuData%+MenuDataPtr%)=v$
P<"  a%!16=MenuData%+MenuDataPtr%
PF  MenuDataPtr%+=�(v$)+1
PP  a%!20=ml%
PZ�
Pd  $(a%+12)=i$
Pn�
PxMenuPtr%+=24
P��
P�
P� � menu, item, submenupointer
P���AddSubMenu(m%,i%,p%)
P�m%!(28+24*i%+4)=p%
P��
P�
P���Menus
P�� MenuData% 2000
P�� Menus% 2000
P�MenuDataPtr%=0
P�MenuPtr%=0
P�!iconmenu%=�MenuHead("SFXM",8)
Q�AddItem("Info",0,0,"",0)
Q�AddItem("Save",256,0,"",0)
Q �AddItem("Restart",0,0,"",0)
Q"�AddItem("Quit",128,0,"",0)
Q,%�AddSubMenu(iconmenu%,0,wabouth%)
Q6(�AddSubMenu(iconmenu%,1,wsaveasshh%)
Q@
QJ"workmenu%=�MenuHead("SFXM",11)
QT�AddItem("Place",0,0,"",0)
Q^�AddItem("Select",0,0,"",0)
Qh#�AddItem("Connection",0,0,"",0)
Qr"�AddItem("Calculate",0,0,"",0)
Q|%�AddItem("Show Tools",129,0,"",0)
Q�"addmenu%=�MenuHead("Place",20)
Q�#�AddItem("Oscillator",0,0,"",0)
Q�*�AddItem("Noise Generator",256,0,"",0)
Q�+�AddItem("Envelope Generator",0,0,"",0)
Q�+�AddItem("Constant Generator",0,0,"",0)
Q�(�AddItem("Low Pass Filter",0,0,"",0)
Q�+�AddItem("High Pass Filter",256,0,"",0)
Q�#�AddItem("Multiplier",0,0,"",0)
Q�,�AddItem("Constant Multiplier",0,0,"",0)
Q��AddItem("Adder",0,0,"",0)
Q�#�AddItem("Subtractor",0,0,"",0)
Q�(�AddItem("Sample & Hold",256,0,"",0)
Q�+�AddItem("General Function",256,0,"",0)
R(�AddItem("Pulse Generator",0,0,"",0)
R%�AddItem("Delay Line",256,0,"",0)
R�AddItem("Output",0,0,"",0)
R&$�AddItem("Input",128+256,0,"",0)
R0#selmenu%=�MenuHead("Select",15)
R:�AddItem("All",0,0,"",0)
RD�AddItem("Clear",0,0,"",0)
RN�AddItem("Swap",0,0,"",0)
RX'�AddItem("Delete Objects",0,0,"",0)
Rb(�AddItem("Delete Inputs",128,0,"",0)
Rl%�AddSubMenu(workmenu%,0,addmenu%)
Rv%�AddSubMenu(workmenu%,1,selmenu%)
R��
R�
R�"��RedrawLines(x1%,y1%,x2%,y2%)
R�temp2%!0=wworkh%
R�#ș"Wimp_GetWindowState",,temp2%
R�ș"Wimp_SetColour",7
R�A%=temp2%!4-temp2%!20
R�B%=temp2%!16-temp2%!24
R�
C%=x1%
R�
D%=y1%
R�
E%=x2%
R�
F%=y2%
R�G%=iconinfo%
S�redrln
S�
S
S ݤAlloc(size%)
S*A%=size%
S4=�(allocmem)
S>
SH��Free(loc%)
SRA%=loc%
S\�freemem
Sf�
Sp
Sz��Assem
S�� code% 3000
S�� pass%=0�2�2
S�P%=code%
S�[       opt     pass%
S�
S�%.redrln stmfd   r13!,{r0-r12,r14}
S�        mov     r7,#0
S�#.chkicn add     r8,r6,r7,lsl #5
S�        ldr     r9,[r8,#0]
S�        cmn     r9,#1
S�        beq     nxticn
S�        cmpne   r9,#2
S�        cmpne   r9,#5
T        beq     nxticn
T        ldr     r9,[r8,#16]
T        cmn     r9,#1
T$        beq     noinp1
T.        ldr     r9,[r8,#28]
T8        and     r9,r9,#3
TB        str     r9,lintyp
TL        ldr     r9,[r8]
TV        cmp     r9,#0
T`        cmpne   r9,#3
Tj        cmpne   r9,#4
Tt        cmpne   r9,#6
T~        cmpne   r9,#8
T�        cmpne   r9,#13
T�        cmpne   r9,#14
T�        cmpne   r9,#15
T�        cmpne   r9,#17
T�        ldr     r9,[r8,#4]
T�        sub     r9,r9,#2
T�        ldr     r10,[r8,#8]
T�         addeq   r10,r10,#9*4
T�         addne   r10,r10,#6*4
T�         ldr     r11,[r8,#16]
T�%        add     r11,r6,r11,lsl #5
T�         ldr     r12,[r11,#8]
U         ldr     r11,[r11,#4]
U
!        add     r11,r11,#46*2
U         add     r12,r12,#6*4
U        bl      ctline
U(.noinp1 ldr     r9,[r8,#20]
U2        cmn     r9,#1
U<        beq     noinp2
UF        ldr     r9,[r8,#28]
UP         mov     r9,r9,lsr #2
UZ        and     r9,r9,#3
Ud        str     r9,lintyp
Un        ldr     r9,[r8,#4]
Ux        sub     r9,r9,#2
U�        ldr     r10,[r8,#8]
U�         add     r10,r10,#3*4
U�         ldr     r11,[r8,#20]
U�%        add     r11,r6,r11,lsl #5
U�         ldr     r12,[r11,#8]
U�         ldr     r11,[r11,#4]
U�!        add     r11,r11,#46*2
U�         add     r12,r12,#6*4
U�        bl      ctline
U�.noinp2
U�.nxticn add     r7,r7,#1
U�!        cmp     r7,#maxicons%
U�        blo     chkicn
V$        ldmfd   r13!,{r0-r12,pc}
V
V.lintyp equd    0
V"
V,.ctline add     r9,r9,r0
V6        add     r10,r10,r1
V@        add     r11,r11,r0
VJ        add     r12,r12,r1
VT$        stmfd   r13!,{r0-r8,r14}
V^        mov     r0,#4
Vh        mov     r1,r9
Vr        mov     r2,r10
V|        swi     "OS_Plot"
V�        ldr     r3,lintyp
V�        mov     r0,#5
V�        cmp     r3,#3
V�        addeq   r1,r9,r11
V�         moveq   r1,r1,asr #1
V�        moveq   r2,r10
V�        cmp     r3,#2
V�        moveq   r1,r9
V�        addeq   r2,r10,r12
V�         moveq   r2,r2,asr #1
V�        cmp     r3,#1
V�        moveq   r1,r11
V�        moveq   r2,r10
W        cmp     r3,#0
W        moveq   r1,r9
W        moveq   r2,r12
W&        swi     "OS_Plot"
W0        ldr     r3,lintyp
W:        mov     r0,#5
WD        cmp     r3,#3
WN        addeq   r1,r9,r11
WX         moveq   r1,r1,asr #1
Wb        moveq   r2,r12
Wl        cmp     r3,#2
Wv        moveq   r1,r11
W�        addeq   r2,r10,r12
W�         moveq   r2,r2,asr #1
W�        cmp     r3,#1
W�        cmpne   r3,#0
W�        moveq   r1,r11
W�        moveq   r2,r12
W�        swi     "OS_Plot"
W�        ldr     r3,lintyp
W�        cmp     r3,#0
W�        cmpne   r3,#1
W�#        ldmeqfd r13!,{r0-r8,pc}
W�        mov     r0,#5
W�        mov     r1,r11
X        mov     r2,r12
X        swi     "OS_Plot"
X#        ldmfd   r13!,{r0-r8,pc}
X .samtyp equd    0
X*
X4).initmem        ;r0=MemStart, r1=Size
X>$        stmfd   r13!,{r0-r3,r14}
XH        add     r0,r0,#3
XR        bic     r0,r0,#3
X\        bic     r1,r1,#3
Xf        str     r0,memstart
Xp        mvn     r2,#0
Xz        str     r2,[r0,#4]
X�        sub     r2,r1,#24
X�        str     r2,[r0,#8]
X�        add     r2,r0,r1
X�        str     r2,[r0]
X�        add     r3,r0,#12
X�        str     r3,[r2,#-8]
X�        mvn     r3,#0
X�         str     r3,[r2,#-12]
X�        mov     r3,#0
X�        str     r3,[r2,#-4]
X�#        ldmfd   r13!,{r0-r3,pc}
X�
X�C.allocmem       ;r0=RequiredSize -> r0=PtrToFreeMem (-1=failed)
Y        cmp     r0,#0
Y        mvnle   r0,#0
Y        movle   pc,r14
Y$$        stmfd   r13!,{r1-r4,r14}
Y.        add     r0,r0,#3
Y8        bic     r0,r0,#3
YB        add     r3,r0,#12
YL        ldr     r1,memstart
YV        add     r1,r1,#12
Y`.alloc1 ldr     r2,[r1,#-4]
Yj        cmp     r2,r0
Yt        bmi     alloc4
Y~        cmp     r2,r3
Y�        ble     alloc3
Y�        add     r0,r0,#12
Y�        b       alloc2
Y� .alloc4 ldr     r1,[r1,#-12]
Y�        cmn     r1,#1
Y�        bne     alloc1
Y�        mvn     r0,#0
Y�#        ldmfd   r13!,{r1-r4,pc}
Y�.alloc3 mov     r0,r1
Y�        mov     r2,#0
Y�        str     r2,[r1,#-4]
Y�#        ldmfd   r13!,{r1-r4,pc}
Z.alloc2 add     r4,r1,r0
Z
        sub     r2,r2,r0
Z         ldr     r3,[r1,#-12]
Z         str     r3,[r4,#-12]
Z(        str     r2,[r4,#-4]
Z2        str     r1,[r4,#-8]
Z<         str     r4,[r1,#-12]
ZF        cmn     r3,#1
ZP        strne   r4,[r3,#-8]
ZZ        mov     r4,#0
Zd        str     r4,[r1,#-4]
Zn        mov     r0,r1
Zx#        ldmfd   r13!,{r1-r4,pc}
Z�
Z�).freemem        ;r0=PtrToAllocatedMem
Z�$        stmfd   r13!,{r0-r3,r14}
Z�         ldr     r1,[r0,#-12]
Z�        sub     r2,r1,r0
Z�        sub     r2,r2,#12
Z�        ldr     r3,[r1,#-4]
Z�        cmp     r3,#0
Z�        beq     freem1
Z�        add     r2,r2,r3
Z�        add     r2,r2,#12
Z�         ldr     r1,[r1,#-12]
Z�        cmn     r1,#1
[        strne   r0,[r1,#-8]
[ .freem1 str     r1,[r0,#-12]
[        str     r2,[r0,#-4]
["        ldr     r1,[r0,#-8]
[,        cmn     r1,#1
[6        beq     freem2
[@        ldr     r3,[r1,#-4]
[J        cmp     r3,#0
[T        beq     freem2
[^        add     r2,r2,r3
[h        add     r2,r2,#12
[r        str     r2,[r1,#-4]
[|         ldr     r2,[r0,#-12]
[�         str     r2,[r1,#-12]
[�        cmn     r2,#1
[�        strne   r1,[r2,#-8]
[�#.freem2 ldmfd   r13!,{r0-r3,pc}
[�
[�
.memstart
[�        equd    0
[�
[�.redrawvco
[�%        stmfd   r13!,{r0-r12,r14}
[�        add     r8,r0,#166
[�        add     r9,r1,#4
[�        add     r10,r2,#4
\        mov     r11,#0
\.rvcolp mov     r0,#69
\!        mov     r1,r11,lsl #1
\&         ldrb    r2,[r10,r11]
\0!        mov     r2,r2,lsl #24
\:!        mov     r2,r2,asr #24
\D        add     r2,r2,#128
\N        add     r1,r1,r8
\X        add     r2,r2,r9
\b        swi     "OS_Plot"
\l        add     r11,r11,#1
\v        cmp     r11,#256
\�        bne     rvcolp
\�$        ldmfd   r13!,{r0-r12,pc}
\�.redrawnld
\�%        stmfd   r13!,{r0-r12,r14}
\�        mov     r8,r0
\�        mov     r9,r1
\�        mov     r10,r2
\�        mov     r11,#0
\�.rnldlp mov     r0,#69
\�!        mov     r1,r11,lsl #1
\�         ldrb    r2,[r10,r11]
\�         mov     r2,r2,lsl #1
\�        add     r1,r1,r8
]        add     r2,r2,r9
]        swi     "OS_Plot"
]        add     r11,r11,#1
]         cmp     r11,#256
]*        bne     rnldlp
]4$        ldmfd   r13!,{r0-r12,pc}
]>
.redraweg
]H%        stmfd   r13!,{r0-r12,r14}
]R        mov     r8,r0
]\        mov     r9,r1
]f        add     r10,r2,#8
]p        mov     r11,#0
]z.rvcolp mov     r0,#69
]�!        mov     r1,r11,lsl #1
]�         ldrb    r2,[r10,r11]
]�        add     r1,r1,r8
]�        add     r2,r2,r9
]�        swi     "OS_Plot"
]�        add     r11,r11,#1
]�        cmp     r11,#512
]�        bne     rvcolp
]�$        ldmfd   r13!,{r0-r12,pc}
]�
]�.calcall
]�        cmp     r2,#0
]�        movmi   pc,r14
^        cmp     r3,#0
^        movmi   pc,r14
^%        stmfd   r13!,{r0-r12,r14}
^$        mov     r8,r0
^.        mov     r9,r2
^8        mov     r10,r3
^B        mov     r7,r3
^L        ldr     r11,samtyp
^V        ldr     r12,linlog
^`.callup mov     r0,#0
^j        mov     r2,r1
^t.clloop ldr     r3,[r2,#28]
^~$        bic     r3,r3,#&80000000
^�        str     r3,[r2,#28]
^�        add     r2,r2,#32
^�        add     r0,r0,#1
^�!        cmp     r0,#maxicons%
^�        bne     clloop
^�        mov     r0,r8
^�        bl      getout
^�        cmp     r0,#&10000
^�        movpl   r0,#&ff00
^�        orrpl   r0,r0,#&ff
^�        cmn     r0,#&10000
^�!        movle   r0,#&ff000000
_"        orrle   r0,r0,#&ff0000
_
        cmp     r11,#2
_         movne   r0,r0,asr #9
_!        moveq   r0,r0,lsl #15
_('        ldreqb  r0,[r12,r0,lsr #19]
_2        cmp     r11,#1
_<        addeq   r0,r0,#128
_F        strb    r0,[r9],#1
_P        tst     r10,#&7f
_Z        bne     nohgup
_d         stmfd   r13!,{r0-r2}
_n        mov     r0,#129
_x        mov     r1,#0
_�        mov     r2,#0
_�        swi     "OS_Byte"
_�        cmp     r2,#0
_�        cmpeq   r1,#&1b
_�         ldmfd   r13!,{r0-r2}
_�        beq     escp
_�!        stmfd   r13!,{r7-r12}
_�        subs    r10,r7,r10
_�        movmi   r10,#0
_�"        mov     r11,r10,lsl #2
_�&        add     r11,r11,r10,lsl #5
_�&        add     r11,r11,r10,lsl #6
_�        mov     r10,r7
`        bl      div32
`        cmp     r12,#0
`        movmi   r12,#0
`"        cmp     r12,#99
`,        movpl   r12,#99
`6        mov     r0,r12
`@*        swi     "Hourglass_Percentage"
`J!        ldmfd   r13!,{r7-r12}
`T.nohgup subs    r10,r10,#1
`^        bne     callup
`h$        ldmfd   r13!,{r0-r12,pc}
`r.escp   mov     r0,#124
`|        swi     "OS_Byte"
`�$        ldmfd   r13!,{r0-r12,pc}
`�
`�.linlog equd    0
`�;r0=icon
`�;r1=iconinfo%
`�(.getout stmfd   r13!,{r1-r3,r12,r14}
`�        cmp     r0,#0
`�        movmi   r0,#0
`�'        ldmmifd r13!,{r1-r3,r12,pc}
`�$        add     r12,r1,r0,lsl #5
`�         ldr     r3,[r12,#28]
`�!        tst     r3,#&80000000
`�$        orr     r3,r3,#&80000000
a         str     r3,[r12,#28]
a         ldrne   r0,[r12,#24]
a'        ldmnefd r13!,{r1-r3,r12,pc}
a&         mov     r2,r0,lsl #5
a0        ldr     r2,[r1,r2]
a:        cmp     r2,#13
aD        moveq   r2,#9
aN        cmp     r2,#14
aX        moveq   r2,#10
ab        cmp     r2,#15
al        moveq   r2,#11
av        cmp     r2,#16
a�        moveq   r2,#12
a�        cmp     r2,#17
a�        moveq   r2,#13
a�        cmp     r2,#18
a�        moveq   r2,#14
a�        cmp     r2,#0
a�        movmi   r0,#0
a�'        ldmmifd r13!,{r1-r3,r12,pc}
a�        cmp     r2,#15
a�        movpl   r0,#0
a�'        ldmplfd r13!,{r1-r3,r12,pc}
a�        adr     r3,jmptab
a�        adr     r14,return
b%        ldr     pc,[r3,r2,lsl #2]
b .return str     r0,[r12,#24]
b'        ldmfd   r13!,{r1-r3,r12,pc}
b 
b*&.jmptab equd    getOvco         ;0
b4&        equd    getOnoise       ;1
b>&        equd    getOeg          ;2
bH&        equd    getOlpass       ;3
bR&        equd    getOhpass       ;4
b\&        equd    getOconst       ;5
bf&        equd    getOmult        ;6
bp&        equd    getOmultc       ;7
bz&        equd    getOadd         ;8
b�'        equd    getOsub         ;13
b�'        equd    getOpulse       ;14
b�'        equd    getOdelay       ;15
b�'        equd    getOinput       ;16
b�'        equd    getOsh          ;17
b�'        equd    getOnld         ;18
b�
b�.getOvco
b�$        stmfd   r13!,{r1-r5,r14}
b�#        add     r2,r1,r0,lsl #5
b�        ldr     r0,[r2,#16]
b�        bl      getout
b�        mov     r5,r0
c        ldr     r0,[r2,#20]
c        bl      getout
c        ldr     r2,[r2,#12]
c$        ldr     r3,[r2]
c.!        tst     r3,#&80000000
c8$        bic     r3,r3,#&ff000000
cB        bne     noresv
cL        cmp     r0,#0
cV        movpl   r3,#0
c`!.noresv add     r3,r3,#&40000
cj&        ldrb    r4,[r2,r3,lsr #16]
ct!        sub     r3,r3,#&40000
c~        add     r3,r3,r5
c�$        bic     r3,r3,#&ff000000
c�        cmp     r0,#0
c�$        orrpl   r3,r3,#&80000000
c�        str     r3,[r2]
c�!        mov     r0,r4,lsl #24
c�!        mov     r0,r0,asr #15
c�$        ldmfd   r13!,{r1-r5,pc}^
c�
c�.getOnoise
c�$        stmfd   r13!,{r1-r6,r14}
c�#        add     r2,r1,r0,lsl #5
c�        stmfd   r13!,{r2}
d        ldr     r0,[r2,#16]
d
        bl      getout
d        ldmfd   r13!,{r2}
d        ldr     r2,[r2,#12]
d(        ldr     r3,[r2,#8]
d2        add     r4,r3,r0
d<        str     r4,[r2,#8]
dF!        mov     r4,r4,lsr #16
dP!        cmp     r4,r3,lsr #16
dZ        beq     nonewr
dd        ldr     r0,[r2]
dn        ldr     r4,ranxor
dx        mov     r3,#16
d�        mov     r5,#0
d� .randlp movs    r0,r0,lsl #1
d�        eorcs   r0,r0,r4
d�$        and     r6,r0,#&80000000
d�#        orr     r5,r6,r5,lsr #1
d�        subs    r3,r3,#1
d�        bne     randlp
d�        str     r0,[r2]
d�!        mov     r0,r5,asr #15
d�        str     r0,[r2,#4]
d�.nonewr ldr     r0,[r2,#4]
d�!        mov     r0,r0,asl #15
d�!        mov     r0,r0,asr #15
e$        ldmfd   r13!,{r1-r6,pc}^
e.ranxor equd    &1d872b41
e
e".getOeg
e,$        stmfd   r13!,{r1-r4,r14}
e6#        add     r2,r1,r0,lsl #5
e@        ldr     r2,[r2,#12]
eJ        ldr     r3,[r2]
eT!        add     r3,r3,#&80000
e^&        ldrb    r4,[r2,r3,lsr #16]
eh!        sub     r3,r3,#&80000
er        ldr     r0,[r2,#4]
e|        add     r3,r3,r0
e�$        bic     r3,r3,#&fe000000
e�        str     r3,[r2]
e�         mov     r0,r4,lsl #8
e�$        ldmfd   r13!,{r1-r4,pc}^
e�
e�.getOlpass
e�%        stmfd   r13!,{r1-r12,r14}
e�#        add     r2,r1,r0,lsl #5
e�        ldr     r0,[r2,#16]
e�        bl      getout
e�        mov     r5,r0
e�        ldr     r0,[r2,#20]
e�        bl      getout
f        cmp     r0,#0
f        movmi   r0,#0
f        cmp     r0,#&10000
f&        movpl   r0,#&10000
f0        mov     r6,r0
f:        ldr     r7,[r2,#12]
fD        mov     r3,r6
fN        ldr     r2,[r7]
fX        sub     r2,r5,r2
fb        bl      mult64
fl        ldr     r2,[r7]
fv        add     r0,r0,r2
f�        str     r0,[r7]
f�        mov     r0,r2
f�%        ldmfd   r13!,{r1-r12,pc}^
f�
f�.getOhpass
f�%        stmfd   r13!,{r1-r12,r14}
f�#        add     r2,r1,r0,lsl #5
f�        ldr     r0,[r2,#16]
f�        bl      getout
f�        mov     r5,r0
f�        ldr     r0,[r2,#20]
f�        bl      getout
f�        cmp     r0,#0
g        movmi   r0,#0
g        cmp     r0,#&10000
g        movpl   r0,#&10000
g         mov     r6,r0
g*        ldr     r7,[r2,#12]
g4        mov     r3,r6
g>        ldr     r2,[r7]
gH        sub     r2,r5,r2
gR        bl      mult64
g\        ldr     r2,[r7]
gf        add     r0,r0,r2
gp        str     r0,[r7]
gz        sub     r0,r5,r2
g�%        ldmfd   r13!,{r1-r12,pc}^
g�
g�.getOconst
g�!        stmfd   r13!,{r1,r14}
g�#        add     r0,r1,r0,lsl #5
g�        ldr     r0,[r0,#12]
g�        ldr     r0,[r0]
g�!        ldmfd   r13!,{r1,pc}^
g�
g�
.getOmult
g�$        stmfd   r13!,{r1-r3,r14}
g�#        add     r2,r1,r0,lsl #5
g�        stmfd   r13!,{r2}
h        ldr     r0,[r2,#16]
h        bl      getout
h        ldmfd   r13!,{r2}
h$        stmfd   r13!,{r0}
h.        ldr     r0,[r2,#20]
h8        bl      getout
hB        ldmfd   r13!,{r2}
hL        mov     r3,r0
hV        bl      mult64
h`$        ldmfd   r13!,{r1-r3,pc}^
hj
ht.getOmultc
h~$        stmfd   r13!,{r1-r3,r14}
h�#        add     r2,r1,r0,lsl #5
h�        stmfd   r13!,{r2}
h�        ldr     r0,[r2,#16]
h�        bl      getout
h�        ldmfd   r13!,{r2}
h�        ldr     r2,[r2,#12]
h�        ldr     r2,[r2]
h�        mov     r3,r0
h�        bl      mult64
h�$        ldmfd   r13!,{r1-r3,pc}^
h�
h�.getOadd
i$        stmfd   r13!,{r1-r2,r14}
i
#        add     r2,r1,r0,lsl #5
i        stmfd   r13!,{r2}
i        ldr     r0,[r2,#16]
i(        bl      getout
i2        ldmfd   r13!,{r2}
i<        stmfd   r13!,{r0}
iF        ldr     r0,[r2,#20]
iP        bl      getout
iZ        ldmfd   r13!,{r2}
id        add     r0,r0,r2
in$        ldmfd   r13!,{r1-r2,pc}^
ix
i�.getOsub
i�$        stmfd   r13!,{r1-r2,r14}
i�#        add     r2,r1,r0,lsl #5
i�        stmfd   r13!,{r2}
i�        ldr     r0,[r2,#16]
i�        bl      getout
i�        ldmfd   r13!,{r2}
i�        stmfd   r13!,{r0}
i�        ldr     r0,[r2,#20]
i�        bl      getout
i�        ldmfd   r13!,{r2}
i�        sub     r0,r2,r0
i�$        ldmfd   r13!,{r1-r2,pc}^
j
j.getOpulse
j%        stmfd   r13!,{r1-r12,r14}
j"#        add     r2,r1,r0,lsl #5
j,        ldr     r0,[r2,#16]
j6        bl      getout
j@        stmfd   r13!,{r0}
jJ        ldr     r0,[r2,#20]
jT        bl      getout
j^        cmp     r0,#0
jh        movmi   r0,#0
jr        cmp     r0,#&10000
j|        movpl   r0,#&10000
j�        ldmfd   r13!,{r3}
j�        ldr     r4,[r2,#12]
j�        ldr     r5,[r4]
j�        add     r5,r5,r3
j�$        bic     r5,r5,#&ff000000
j�        str     r5,[r4]
j�         cmp     r5,r0,lsl #8
j�        mov     r0,#&10000
j�        rsbpl   r0,r0,#0
j�%        ldmfd   r13!,{r1-r12,pc}^
j�
j�.getOdelay
j�%        stmfd   r13!,{r1-r12,r14}
k#        add     r2,r1,r0,lsl #5
k        stmfd   r13!,{r2}
k        ldr     r2,[r2,#12]
k&        add     r2,r2,#248
k0        add     r3,r2,#4
k:$        ldmda   r2!,{r4-r12,r14}
kD$        stmda   r3!,{r4-r12,r14}
kN$        ldmda   r2!,{r4-r12,r14}
kX$        stmda   r3!,{r4-r12,r14}
kb$        ldmda   r2!,{r4-r12,r14}
kl$        stmda   r3!,{r4-r12,r14}
kv$        ldmda   r2!,{r4-r12,r14}
k�$        stmda   r3!,{r4-r12,r14}
k�$        ldmda   r2!,{r4-r12,r14}
k�$        stmda   r3!,{r4-r12,r14}
k�$        ldmda   r2!,{r4-r12,r14}
k�$        stmda   r3!,{r4-r12,r14}
k�#        ldmda   r2!,{r4-r5,r14}
k�#        stmda   r3!,{r4-r5,r14}
k�        ldmfd   r13,{r2}
k�        ldr     r0,[r2,#16]
k�        bl      getout
k�        ldmfd   r13,{r2}
k�        ldr     r2,[r2,#12]
k�        str     r0,[r2]
l        ldmfd   r13,{r2}
l        ldr     r0,[r2,#20]
l        bl      getout
l         ldmfd   r13!,{r2}
l*        ldr     r2,[r2,#12]
l4!        mov     r0,r0,asr #10
l>        cmp     r0,#0
lH        movmi   r0,#0
lR        cmp     r0,#63
l\        movpl   r0,#63
lf%        ldr     r0,[r2,r0,lsl #2]
lp%        ldmfd   r13!,{r1-r12,pc}^
lz
l�.getOinput
l�$        stmfd   r13!,{r1-r6,r14}
l�#        add     r6,r1,r0,lsl #5
l�        ldr     r6,[r6,#12]
l�         ldr     r5,[r6,#264]
l�         ldr     r4,[r6,#260]
l�         ldr     r1,[r6,#268]
l�!        cmp     r5,r1,lsl #12
l�        movpl   r0,#0
l�$        ldmplfd r13!,{r1-r6,pc}^
l�         ldr     r1,[r6,#272]
l�$        add     r1,r1,r5,lsr #12
l�        ldrb    r0,[r1]
m
m         ldr     r1,[r6,#256]
m        tst     r1,#4
m$        addne   r5,r5,r4
m.         addeq   r5,r5,#&1000
m8         str     r5,[r6,#264]
mB
mL         ldr     r1,[r6,#256]
mV        and     r1,r1,#3
m`        cmp     r1,#0
mj!        moveq   r0,r0,lsl #24
mt!        moveq   r0,r0,asr #15
m~$        ldmeqfd r13!,{r1-r6,pc}^
m�        cmp     r1,#1
m�        subeq   r0,r0,#128
m�         moveq   r0,r0,lsl #9
m�$        ldmeqfd r13!,{r1-r6,pc}^
m�        ldr     r1,lintab
m�%        ldr     r0,[r1,r0,lsl #2]
m�$        ldmfd   r13!,{r1-r6,pc}^
m�
m�.lintab equd    0
m�
m�$.getOsh stmfd   r13!,{r1-r5,r14}
m�#        add     r2,r1,r0,lsl #5
n        ldr     r0,[r2,#16]
n
        bl      getout
n        mov     r5,r0
n        ldr     r0,[r2,#20]
n(        bl      getout
n2        ldr     r2,[r2,#12]
n<        ldr     r4,[r2]
nF!        tst     r4,#&80000000
nP        bne     noress
nZ        cmp     r0,#0
nd         movpl   r4,r5,asr #1
nn$.noress bic     r4,r4,#&80000000
nx        cmp     r0,#0
n�$        orrpl   r4,r4,#&80000000
n�        str     r4,[r2]
n�         mov     r0,r4,lsl #1
n�$        ldmfd   r13!,{r1-r5,pc}^
n�
n�.getOnld
n�$        stmfd   r13!,{r1-r5,r14}
n�#        add     r2,r1,r0,lsl #5
n�        ldr     r0,[r2,#16]
n�        bl      getout
n�         mov     r0,r0,asr #1
n�         add     r0,r0,#&8000
n�        cmp     r0,#0
o        movmi   r0,#0
o        cmp     r0,#&10000
o        movpl   r0,#&ff00
o"         mov     r0,r0,asr #8
o,        ldr     r2,[r2,#12]
o6        ldrb    r0,[r2,r0]
o@         mov     r0,r0,asl #8
oJ         sub     r0,r0,#&8000
oT         mov     r0,r0,asl #1
o^$        ldmfd   r13!,{r1-r5,pc}^
oh
or-.mult64 ;r0=r2*r3 and . between bit 15,16
o|$        stmfd   r13!,{r1-r7,r14}
o�        eor     r4,r2,r3
o�        cmp     r2,#0
o�        rsbmi   r2,r2,#0
o�        cmp     r3,#0
o�        rsbmi   r3,r3,#0
o�!        mov     r5,r2,lsl #16
o�!        mov     r5,r5,lsr #16
o�!        mov     r6,r3,lsl #16
o�!        mov     r6,r6,lsr #16
o�        mul     r0,r5,r6
o�!        mov     r0,r0,lsr #16
o�!        mov     r6,r3,lsr #16
o�        mul     r7,r5,r6
p        add     r0,r0,r7
p!        mov     r5,r2,lsr #16
p!        mov     r6,r3,lsl #16
p&!        mov     r6,r6,lsr #16
p0        mul     r7,r5,r6
p:        add     r0,r0,r7
pD!        mov     r6,r3,lsr #16
pN        mul     r7,r5,r6
pX$        add     r0,r0,r7,lsl #16
pb$        bic     r0,r0,#&80000000
pl!        tst     r4,#&80000000
pv        rsbne   r0,r0,#0
p�#        ldmfd   r13!,{r1-r7,pc}
p�
p�.copymem
p�$        stmfd   r13!,{r0-r3,r14}
p�.cpylup cmp     r2,#0
p�#        ldmlefd r13!,{r0-r3,pc}
p�        ldrb    r3,[r1],#1
p�        strb    r3,[r0],#1
p�        sub     r2,r2,#1
p�        b       cpylup
p�
p�$.revmem stmfd   r13!,{r0-r3,r14}
p�.revlup cmp     r0,r1
q#        ldmplfd r13!,{r0-r3,pc}
q        ldrb    r2,[r0]
q        ldrb    r3,[r1]
q         strb    r3,[r0],#1
q*        strb    r2,[r1],#-1
q4        b       revlup
q>
qH(.div32  mov     r9,#0   ;r12=r11/r10
qR        mov     r12,#0
q\        mov     r8,#32
qf        mov     r7,#0
qp        cmp     r10,#0
qz        rsbmi   r10,r10,#0
q�        eormi   r7,r7,#1
q�        cmp     r11,#0
q�        rsbmi   r11,r11,#0
q�        eormi   r7,r7,#1
q�".divlp1 movs    r11,r11,asl #1
q�        adc     r9,r9,r9
q�        cmp     r9,r10
q�        adc     r12,r12,r12
q�        subcs   r9,r9,r10
q�        subs    r8,r8,#1
q�        bne     divlp1
q�        cmp     r7,#0
q�        rsbne   r12,r12,#0
r        mov     pc,r14
r.endcode
r]
r$� pass%
r.�
�
00000000  0d 00 0a 24 f4 20 3e 3a  34 2e 24 2e 53 46 58 4d  |...$. >:4.$.SFXM|
00000010  44 65 6d 6f 2e 21 53 46  58 4d 2e 21 52 75 6e 49  |Demo.!SFXM.!RunI|
00000020  6d 61 67 65 0d 00 14 1e  f4 20 3e 57 72 69 74 74  |mage..... >Writt|
00000030  65 6e 20 62 79 20 47 2e  20 56 65 72 6d 65 75 6c  |en by G. Vermeul|
00000040  65 6e 0d 00 1e 18 ee 20  85 20 f2 49 6e 74 45 72  |en..... . .IntEr|
00000050  72 6f 72 3a e5 20 8d 54  7c 40 0d 00 28 0f 69 6e  |ror:. .T|@..(.in|
00000060  73 74 74 69 6d 65 25 3d  91 0d 00 32 09 f2 49 6e  |sttime%=...2..In|
00000070  69 74 0d 00 3c 05 f5 0d  00 46 35 20 20 c8 99 22  |it..<....F5  .."|
00000080  57 69 6d 70 5f 50 6f 6c  6c 22 2c 6e 6f 70 6f 6c  |Wimp_Poll",nopol|
00000090  6c 25 2c 70 6f 6c 6c 62  25 20 b8 20 72 65 61 73  |l%,pollb% . reas|
000000a0  6f 6e 25 2c 70 6f 6c 6c  65 64 62 25 0d 00 50 0f  |on%,polledb%..P.|
000000b0  20 20 6e 6f 70 6f 6c 6c  25 3d 30 0d 00 5a 12 20  |  nopoll%=0..Z. |
000000c0  20 c8 8e 20 72 65 61 73  6f 6e 25 20 ca 0d 00 64  | .. reason% ...d|
000000d0  18 20 20 20 20 c9 20 30  3a f2 4e 75 6c 6c 5f 52  |.    . 0:.Null_R|
000000e0  65 61 73 6f 6e 0d 00 6e  1a 20 20 20 20 c9 20 31  |eason..n.    . 1|
000000f0  3a f2 52 65 64 72 61 77  5f 57 69 6e 64 6f 77 0d  |:.Redraw_Window.|
00000100  00 78 18 20 20 20 20 c9  20 32 3a f2 4f 70 65 6e  |.x.    . 2:.Open|
00000110  5f 57 69 6e 64 6f 77 0d  00 82 19 20 20 20 20 c9  |_Window....    .|
00000120  20 33 3a f2 43 6c 6f 73  65 5f 57 69 6e 64 6f 77  | 3:.Close_Window|
00000130  0d 00 8c 25 20 20 20 20  c9 20 36 3a f2 4d 6f 75  |...%    . 6:.Mou|
00000140  73 65 5f 43 6c 69 63 6b  3a 6e 6f 70 6f 6c 6c 25  |se_Click:nopoll%|
00000150  3d 31 3c 3c 36 0d 00 96  1a 20 20 20 20 c9 20 37  |=1<<6....    . 7|
00000160  3a f2 55 73 65 72 5f 44  72 61 67 5f 42 6f 78 0d  |:.User_Drag_Box.|
00000170  00 a0 18 20 20 20 20 c9  20 38 3a f2 4b 65 79 5f  |...    . 8:.Key_|
00000180  50 72 65 73 73 65 64 0d  00 aa 18 20 20 20 20 c9  |Pressed....    .|
00000190  20 39 3a f2 4d 65 6e 75  5f 53 65 6c 65 63 74 0d  | 9:.Menu_Select.|
000001a0  00 b4 20 20 20 20 20 c9  20 31 37 2c 31 38 2c 31  |..     . 17,18,1|
000001b0  39 3a f2 55 73 65 72 5f  4d 65 73 73 61 67 65 0d  |9:.User_Message.|
000001c0  00 be 07 20 20 cb 0d 00  c8 07 fd 20 a3 0d 00 d2  |...  ...... ....|
000001d0  05 e0 0d 00 dc 04 0d 00  e6 0e dd f2 49 6e 74 45  |............IntE|
000001e0  72 72 6f 72 0d 00 f0 07  ea 20 85 0d 00 fa 10 ee  |rror..... ......|
000001f0  20 85 20 ea 20 e5 20 8d  40 42 45 0d 01 04 37 41  | . . . .@BE...7A|
00000200  25 3d a4 69 6e 74 65 72  72 28 f6 24 2b 22 20 61  |%=.interr(.$+" a|
00000210  74 20 6c 69 6e 65 20 22  2b c3 9e 2b 22 2e 20 43  |t line "+..+". C|
00000220  6f 6e 74 69 6e 75 65 20  70 72 6f 67 72 61 6d 3f  |ontinue program?|
00000230  22 29 0d 01 0e 12 e7 20  41 25 3d 32 20 8c 20 f2  |")..... A%=2 . .|
00000240  51 75 69 74 0d 01 18 05  e1 0d 01 22 04 0d 01 2c  |Quit......."...,|
00000250  11 dd f2 4e 75 6c 6c 5f  52 65 61 73 6f 6e 0d 01  |...Null_Reason..|
00000260  36 49 e7 20 28 28 64 66  75 6e 63 25 3e 3d 30 29  |6I. ((dfunc%>=0)|
00000270  80 28 64 66 75 6e 63 25  3c 3d 39 29 29 84 28 28  |.(dfunc%<=9)).((|
00000280  64 66 75 6e 63 25 3e 3d  31 33 29 80 28 64 66 75  |dfunc%>=13).(dfu|
00000290  6e 63 25 3c 3d 31 38 29  29 20 8c 20 f2 44 72 61  |nc%<=18)) . .Dra|
000002a0  67 4f 62 6a 65 63 74 0d  01 40 1b e7 20 64 66 75  |gObject..@.. dfu|
000002b0  6e 63 25 3d 31 32 20 8c  20 f2 44 72 61 67 4c 69  |nc%=12 . .DragLi|
000002c0  6e 65 0d 01 4a 1b e7 20  64 72 61 67 25 20 8c 20  |ne..J.. drag% . |
000002d0  f2 44 72 61 67 4d 6f 76  65 4f 62 6a 73 0d 01 54  |.DragMoveObjs..T|
000002e0  05 e1 0d 01 5e 04 0d 01  68 10 dd f2 44 72 61 67  |....^...h...Drag|
000002f0  4f 62 6a 65 63 74 0d 01  72 23 c8 99 22 57 69 6d  |Object..r#.."Wim|
00000300  70 5f 47 65 74 50 6f 69  6e 74 65 72 49 6e 66 6f  |p_GetPointerInfo|
00000310  22 2c 2c 74 65 6d 70 32  25 0d 01 7c 2b e7 20 28  |",,temp2%..|+. (|
00000320  74 65 6d 70 32 25 21 31  32 3d 77 77 6f 72 6b 68  |temp2%!12=wworkh|
00000330  25 29 80 28 74 65 6d 70  32 25 21 31 36 3e 3d 2d  |%).(temp2%!16>=-|
00000340  31 29 20 8c 0d 01 86 15  20 20 74 65 6d 70 25 21  |1) .....  temp%!|
00000350  30 3d 77 77 6f 72 6b 68  25 0d 01 90 24 20 20 c8  |0=wworkh%...$  .|
00000360  99 22 57 69 6d 70 5f 47  65 74 57 69 6e 64 6f 77  |."Wimp_GetWindow|
00000370  53 74 61 74 65 22 2c 2c  74 65 6d 70 25 0d 01 9a  |State",,temp%...|
00000380  26 20 20 6e 65 77 64 78  25 3d 74 65 6d 70 32 25  |&  newdx%=temp2%|
00000390  21 30 2b 74 65 6d 70 25  21 32 30 2d 74 65 6d 70  |!0+temp%!20-temp|
000003a0  25 21 34 0d 01 a4 27 20  20 6e 65 77 64 79 25 3d  |%!4...'  newdy%=|
000003b0  74 65 6d 70 32 25 21 34  2b 74 65 6d 70 25 21 32  |temp2%!4+temp%!2|
000003c0  34 2d 74 65 6d 70 25 21  31 36 0d 01 ae 1b 20 20  |4-temp%!16....  |
000003d0  6e 65 77 64 78 25 3d 28  6e 65 77 64 78 25 81 39  |newdx%=(newdx%.9|
000003e0  36 29 2a 39 36 0d 01 b8  1e 20 20 6e 65 77 64 79  |6)*96....  newdy|
000003f0  25 3d 28 6e 65 77 64 79  25 81 35 36 29 2a 35 36  |%=(newdy%.56)*56|
00000400  2d 35 36 0d 01 c2 2b 20  20 e7 20 28 6f 6c 64 64  |-56...+  . (oldd|
00000410  78 25 3c 3e 6e 65 77 64  78 25 29 84 28 6f 6c 64  |x%<>newdx%).(old|
00000420  64 79 25 3c 3e 6e 65 77  64 79 25 29 20 8c 0d 01  |dy%<>newdy%) ...|
00000430  cc 1d 20 20 20 20 f2 52  65 6d 44 66 28 6f 6c 64  |..    .RemDf(old|
00000440  64 78 25 2c 6f 6c 64 64  79 25 29 0d 01 d6 1e 20  |dx%,olddy%).... |
00000450  20 20 20 f2 50 6c 6f 74  44 66 28 6e 65 77 64 78  |   .PlotDf(newdx|
00000460  25 2c 6e 65 77 64 79 25  29 0d 01 e0 23 20 20 20  |%,newdy%)...#   |
00000470  20 6f 6c 64 64 78 25 3d  6e 65 77 64 78 25 3a 6f  | olddx%=newdx%:o|
00000480  6c 64 64 79 25 3d 6e 65  77 64 79 25 0d 01 ea 07  |lddy%=newdy%....|
00000490  20 20 cd 0d 01 f4 05 cd  0d 01 fe 05 e1 0d 02 08  |  ..............|
000004a0  04 0d 02 12 0e dd f2 44  72 61 67 4c 69 6e 65 0d  |.......DragLine.|
000004b0  02 1c 23 c8 99 22 57 69  6d 70 5f 47 65 74 50 6f  |..#.."Wimp_GetPo|
000004c0  69 6e 74 65 72 49 6e 66  6f 22 2c 2c 74 65 6d 70  |interInfo",,temp|
000004d0  32 25 0d 02 26 3a e7 20  28 74 65 6d 70 32 25 21  |2%..&:. (temp2%!|
000004e0  31 32 3d 77 77 6f 72 6b  68 25 29 80 28 74 65 6d  |12=wworkh%).(tem|
000004f0  70 32 25 21 31 36 3e 3d  2d 31 29 80 28 73 74 61  |p2%!16>=-1).(sta|
00000500  72 74 6c 78 25 3c 3e 2d  31 29 20 8c 0d 02 30 15  |rtlx%<>-1) ...0.|
00000510  20 20 74 65 6d 70 25 21  30 3d 77 77 6f 72 6b 68  |  temp%!0=wworkh|
00000520  25 0d 02 3a 24 20 20 c8  99 22 57 69 6d 70 5f 47  |%..:$  .."Wimp_G|
00000530  65 74 57 69 6e 64 6f 77  53 74 61 74 65 22 2c 2c  |etWindowState",,|
00000540  74 65 6d 70 25 0d 02 44  26 20 20 6e 65 77 6c 78  |temp%..D&  newlx|
00000550  25 3d 74 65 6d 70 32 25  21 30 2b 74 65 6d 70 25  |%=temp2%!0+temp%|
00000560  21 32 30 2d 74 65 6d 70  25 21 34 0d 02 4e 27 20  |!20-temp%!4..N' |
00000570  20 6e 65 77 6c 79 25 3d  74 65 6d 70 32 25 21 34  | newly%=temp2%!4|
00000580  2b 74 65 6d 70 25 21 32  34 2d 74 65 6d 70 25 21  |+temp%!24-temp%!|
00000590  31 36 0d 02 58 2b 20 20  e7 20 28 6f 6c 64 6c 78  |16..X+  . (oldlx|
000005a0  25 3c 3e 6e 65 77 6c 78  25 29 84 28 6f 6c 64 6c  |%<>newlx%).(oldl|
000005b0  79 25 3c 3e 6e 65 77 6c  79 25 29 20 8c 0d 02 62  |y%<>newly%) ...b|
000005c0  1e 20 20 20 20 f2 50 6c  6f 74 4c 6e 28 6f 6c 64  |.    .PlotLn(old|
000005d0  6c 78 25 2c 6f 6c 64 6c  79 25 29 0d 02 6c 1e 20  |lx%,oldly%)..l. |
000005e0  20 20 20 f2 50 6c 6f 74  4c 6e 28 6e 65 77 6c 78  |   .PlotLn(newlx|
000005f0  25 2c 6e 65 77 6c 79 25  29 0d 02 76 23 20 20 20  |%,newly%)..v#   |
00000600  20 6f 6c 64 6c 78 25 3d  6e 65 77 6c 78 25 3a 6f  | oldlx%=newlx%:o|
00000610  6c 64 6c 79 25 3d 6e 65  77 6c 79 25 0d 02 80 07  |ldly%=newly%....|
00000620  20 20 cd 0d 02 8a 05 cd  0d 02 94 05 e1 0d 02 9e  |  ..............|
00000630  04 0d 02 a8 12 dd f2 44  72 61 67 4d 6f 76 65 4f  |.......DragMoveO|
00000640  62 6a 73 0d 02 b2 23 c8  99 22 57 69 6d 70 5f 47  |bjs...#.."Wimp_G|
00000650  65 74 50 6f 69 6e 74 65  72 49 6e 66 6f 22 2c 2c  |etPointerInfo",,|
00000660  74 65 6d 70 32 25 0d 02  bc 14 e7 20 28 74 65 6d  |temp2%..... (tem|
00000670  70 32 25 21 38 29 80 34  20 8c 0d 02 c6 15 20 20  |p2%!8).4 .....  |
00000680  74 65 6d 70 25 21 30 3d  77 77 6f 72 6b 68 25 0d  |temp%!0=wworkh%.|
00000690  02 d0 24 20 20 c8 99 22  57 69 6d 70 5f 47 65 74  |..$  .."Wimp_Get|
000006a0  57 69 6e 64 6f 77 53 74  61 74 65 22 2c 2c 74 65  |WindowState",,te|
000006b0  6d 70 25 0d 02 da 26 20  20 6e 65 77 6c 78 25 3d  |mp%...&  newlx%=|
000006c0  74 65 6d 70 32 25 21 30  2b 74 65 6d 70 25 21 32  |temp2%!0+temp%!2|
000006d0  30 2d 74 65 6d 70 25 21  34 0d 02 e4 27 20 20 6e  |0-temp%!4...'  n|
000006e0  65 77 6c 79 25 3d 74 65  6d 70 32 25 21 34 2b 74  |ewly%=temp2%!4+t|
000006f0  65 6d 70 25 21 32 34 2d  74 65 6d 70 25 21 31 36  |emp%!24-temp%!16|
00000700  0d 02 ee 1e 20 20 6e 65  77 6c 78 25 3d 28 6e 65  |....  newlx%=(ne|
00000710  77 6c 78 25 81 39 36 29  2a 39 36 2b 34 38 0d 02  |wlx%.96)*96+48..|
00000720  f8 1e 20 20 6e 65 77 6c  79 25 3d 28 6e 65 77 6c  |..  newly%=(newl|
00000730  79 25 81 35 36 29 2a 35  36 2d 33 32 0d 03 02 2b  |y%.56)*56-32...+|
00000740  20 20 e7 20 28 6f 6c 64  6c 78 25 3c 3e 6e 65 77  |  . (oldlx%<>new|
00000750  6c 78 25 29 84 28 6f 6c  64 6c 79 25 3c 3e 6e 65  |lx%).(oldly%<>ne|
00000760  77 6c 79 25 29 20 8c 0d  03 0c 1e 20 20 20 20 f2  |wly%) .....    .|
00000770  50 6c 6f 74 4c 6e 28 6f  6c 64 6c 78 25 2c 6f 6c  |PlotLn(oldlx%,ol|
00000780  64 6c 79 25 29 0d 03 16  1e 20 20 20 20 f2 50 6c  |dly%)....    .Pl|
00000790  6f 74 4c 6e 28 6e 65 77  6c 78 25 2c 6e 65 77 6c  |otLn(newlx%,newl|
000007a0  79 25 29 0d 03 20 23 20  20 20 20 6f 6c 64 6c 78  |y%).. #    oldlx|
000007b0  25 3d 6e 65 77 6c 78 25  3a 6f 6c 64 6c 79 25 3d  |%=newlx%:oldly%=|
000007c0  6e 65 77 6c 79 25 0d 03  2a 07 20 20 cd 0d 03 34  |newly%..*.  ...4|
000007d0  05 cc 0d 03 3e 25 20 20  e7 20 28 73 74 61 72 74  |....>%  . (start|
000007e0  6c 78 25 3c 3e 2d 31 29  80 28 6f 6c 64 6c 78 25  |lx%<>-1).(oldlx%|
000007f0  3c 3e 2d 31 29 20 8c 0d  03 48 1e 20 20 20 20 f2  |<>-1) ...H.    .|
00000800  50 6c 6f 74 4c 6e 28 6f  6c 64 6c 78 25 2c 6f 6c  |PlotLn(oldlx%,ol|
00000810  64 6c 79 25 29 0d 03 52  32 20 20 20 20 f2 4d 6f  |dly%)..R2    .Mo|
00000820  76 65 49 63 6e 73 28 6f  6c 64 6c 78 25 2d 73 74  |veIcns(oldlx%-st|
00000830  61 72 74 6c 78 25 2c 6f  6c 64 6c 79 25 2d 73 74  |artlx%,oldly%-st|
00000840  61 72 74 6c 79 25 29 0d  03 5c 07 20 20 cd 0d 03  |artly%)..\.  ...|
00000850  66 0d 20 20 64 72 61 67  25 3d 30 0d 03 70 1d 20  |f.  drag%=0..p. |
00000860  20 73 74 61 72 74 6c 78  25 3d 2d 31 3a 73 74 61  | startlx%=-1:sta|
00000870  72 74 6c 79 25 3d 2d 31  0d 03 7a 19 20 20 6e 65  |rtly%=-1..z.  ne|
00000880  77 6c 78 25 3d 2d 31 3a  6e 65 77 6c 79 25 3d 2d  |wlx%=-1:newly%=-|
00000890  31 0d 03 84 19 20 20 6f  6c 64 6c 78 25 3d 2d 31  |1....  oldlx%=-1|
000008a0  3a 6f 6c 64 6c 79 25 3d  2d 31 0d 03 8e 05 cd 0d  |:oldly%=-1......|
000008b0  03 98 05 e1 0d 03 a2 04  0d 03 ac 10 dd f2 52 65  |..............Re|
000008c0  6d 41 6c 6c 44 72 61 67  0d 03 b6 12 e7 20 6f 6c  |mAllDrag..... ol|
000008d0  64 64 78 25 3c 3e 2d 31  20 8c 0d 03 c0 1b 20 20  |ddx%<>-1 .....  |
000008e0  f2 52 65 6d 44 66 28 6f  6c 64 64 78 25 2c 6f 6c  |.RemDf(olddx%,ol|
000008f0  64 64 79 25 29 0d 03 ca  05 cd 0d 03 d4 14 e7 20  |ddy%).......... |
00000900  73 74 61 72 74 6c 78 25  3c 3e 2d 31 20 8c 0d 03  |startlx%<>-1 ...|
00000910  de 1c 20 20 f2 50 6c 6f  74 4c 6e 28 6f 6c 64 6c  |..  .PlotLn(oldl|
00000920  78 25 2c 6f 6c 64 6c 79  25 29 0d 03 e8 05 cd 0d  |x%,oldly%)......|
00000930  03 f2 17 6e 65 77 64 78  25 3d 2d 31 3a 6e 65 77  |...newdx%=-1:new|
00000940  64 79 25 3d 2d 31 0d 03  fc 17 6f 6c 64 64 78 25  |dy%=-1....olddx%|
00000950  3d 2d 31 3a 6f 6c 64 64  79 25 3d 2d 31 0d 04 06  |=-1:olddy%=-1...|
00000960  17 6f 6c 64 6c 78 25 3d  2d 31 3a 6f 6c 64 6c 79  |.oldlx%=-1:oldly|
00000970  25 3d 2d 31 0d 04 10 17  6e 65 77 6c 78 25 3d 2d  |%=-1....newlx%=-|
00000980  31 3a 6e 65 77 6c 79 25  3d 2d 31 0d 04 1a 1b 73  |1:newly%=-1....s|
00000990  74 61 72 74 6c 78 25 3d  2d 31 3a 73 74 61 72 74  |tartlx%=-1:start|
000009a0  6c 79 25 3d 2d 31 0d 04  24 0f 73 74 61 72 74 69  |ly%=-1..$.starti|
000009b0  63 25 3d 2d 31 0d 04 2e  0e 73 74 61 72 74 69 25  |c%=-1....starti%|
000009c0  3d 2d 31 0d 04 38 0c 65  6e 64 69 25 3d 2d 31 0d  |=-1..8.endi%=-1.|
000009d0  04 42 0b 64 72 61 67 25  3d 30 0d 04 4c 05 e1 0d  |.B.drag%=0..L...|
000009e0  04 56 04 0d 04 60 17 dd  f2 4d 6f 76 65 49 63 6e  |.V...`...MoveIcn|
000009f0  73 28 64 78 25 2c 64 79  25 29 0d 04 6a 14 74 65  |s(dx%,dy%)..j.te|
00000a00  6d 70 32 25 21 30 3d 77  77 6f 72 6b 68 25 0d 04  |mp2%!0=wworkh%..|
00000a10  74 15 e3 54 25 3d 30 b8  6d 61 78 69 63 6f 6e 73  |t..T%=0.maxicons|
00000a20  25 2d 31 0d 04 7e 3b 20  20 e7 20 28 69 63 6f 6e  |%-1..~;  . (icon|
00000a30  69 6e 66 6f 25 21 28 54  25 2a 33 32 29 3c 3e 2d  |info%!(T%*32)<>-|
00000a40  31 29 80 28 69 63 6f 6e  69 6e 66 6f 25 21 28 54  |1).(iconinfo%!(T|
00000a50  25 2a 33 32 2b 32 38 29  29 80 31 36 20 8c 0d 04  |%*32+28)).16 ...|
00000a60  88 14 20 20 20 20 f2 4d  6f 64 54 69 74 6c 65 28  |..    .ModTitle(|
00000a70  30 29 0d 04 92 13 20 20  20 20 74 65 6d 70 32 25  |0)....    temp2%|
00000a80  21 34 3d 54 25 0d 04 9c  23 20 20 20 20 c8 99 22  |!4=T%...#    .."|
00000a90  57 69 6d 70 5f 44 65 6c  65 74 65 49 63 6f 6e 22  |Wimp_DeleteIcon"|
00000aa0  2c 2c 74 65 6d 70 32 25  0d 04 a6 28 20 20 20 20  |,,temp2%...(    |
00000ab0  74 65 6d 70 32 25 21 34  3d 69 63 6f 6e 69 6e 66  |temp2%!4=iconinf|
00000ac0  6f 25 21 28 54 25 2a 33  32 2b 34 29 2b 64 78 25  |o%!(T%*32+4)+dx%|
00000ad0  0d 04 b0 28 20 20 20 20  74 65 6d 70 32 25 21 38  |...(    temp2%!8|
00000ae0  3d 69 63 6f 6e 69 6e 66  6f 25 21 28 54 25 2a 33  |=iconinfo%!(T%*3|
00000af0  32 2b 38 29 2b 64 79 25  0d 04 ba 1d 20 20 20 20  |2+8)+dy%....    |
00000b00  74 65 6d 70 32 25 21 31  32 3d 74 65 6d 70 32 25  |temp2%!12=temp2%|
00000b10  21 34 2b 39 32 0d 04 c4  1d 20 20 20 20 74 65 6d  |!4+92....    tem|
00000b20  70 32 25 21 31 36 3d 74  65 6d 70 32 25 21 38 2b  |p2%!16=temp2%!8+|
00000b30  35 32 0d 04 ce 33 20 20  20 20 74 65 6d 70 32 25  |52...3    temp2%|
00000b40  21 32 30 3d 25 30 30 30  30 31 30 30 30 30 30 30  |!20=%00001000000|
00000b50  30 30 30 30 30 31 30 31  30 30 30 30 30 30 30 30  |0000010100000000|
00000b60  31 31 30 31 30 0d 04 d8  1e 20 20 20 20 c8 8e 20  |11010....    .. |
00000b70  69 63 6f 6e 69 6e 66 6f  25 21 28 54 25 2a 33 32  |iconinfo%!(T%*32|
00000b80  29 20 ca 0d 04 e2 16 20  20 20 20 20 20 c9 20 30  |) .....      . 0|
00000b90  3a 69 24 3d 22 76 63 6f  22 0d 04 ec 18 20 20 20  |:i$="vco"....   |
00000ba0  20 20 20 c9 20 31 3a 69  24 3d 22 6e 6f 69 73 65  |   . 1:i$="noise|
00000bb0  22 0d 04 f6 15 20 20 20  20 20 20 c9 20 32 3a 69  |"....      . 2:i|
00000bc0  24 3d 22 65 67 22 0d 05  00 18 20 20 20 20 20 20  |$="eg"....      |
00000bd0  c9 20 35 3a 69 24 3d 22  63 6f 6e 73 74 22 0d 05  |. 5:i$="const"..|
00000be0  0a 19 20 20 20 20 20 20  c9 20 33 3a 69 24 3d 22  |..      . 3:i$="|
00000bf0  66 69 6c 74 6c 6f 22 0d  05 14 19 20 20 20 20 20  |filtlo"....     |
00000c00  20 c9 20 34 3a 69 24 3d  22 66 69 6c 74 68 69 22  | . 4:i$="filthi"|
00000c10  0d 05 1e 17 20 20 20 20  20 20 c9 20 36 3a 69 24  |....      . 6:i$|
00000c20  3d 22 6d 75 6c 74 22 0d  05 28 18 20 20 20 20 20  |="mult"..(.     |
00000c30  20 c9 20 37 3a 69 24 3d  22 6d 75 6c 74 63 22 0d  | . 7:i$="multc".|
00000c40  05 32 16 20 20 20 20 20  20 c9 20 38 3a 69 24 3d  |.2.      . 8:i$=|
00000c50  22 61 64 64 22 0d 05 3c  17 20 20 20 20 20 20 c9  |"add"..<.      .|
00000c60  20 31 33 3a 69 24 3d 22  73 75 62 22 0d 05 46 19  | 13:i$="sub"..F.|
00000c70  20 20 20 20 20 20 c9 20  31 34 3a 69 24 3d 22 70  |      . 14:i$="p|
00000c80  75 6c 73 65 22 0d 05 50  19 20 20 20 20 20 20 c9  |ulse"..P.      .|
00000c90  20 31 35 3a 69 24 3d 22  64 65 6c 61 79 22 0d 05  | 15:i$="delay"..|
00000ca0  5a 19 20 20 20 20 20 20  c9 20 39 3a 69 24 3d 22  |Z.      . 9:i$="|
00000cb0  6f 75 74 70 75 74 22 0d  05 64 19 20 20 20 20 20  |output"..d.     |
00000cc0  20 c9 20 31 36 3a 69 24  3d 22 69 6e 70 75 74 22  | . 16:i$="input"|
00000cd0  0d 05 6e 1b 20 20 20 20  20 20 c9 20 31 37 3a 69  |..n.      . 17:i|
00000ce0  24 3d 22 73 61 6d 68 6f  6c 64 22 0d 05 78 1a 20  |$="samhold"..x. |
00000cf0  20 20 20 20 20 c9 20 31  38 3a 69 24 3d 22 6e 6c  |     . 18:i$="nl|
00000d00  64 69 73 74 22 0d 05 82  09 20 20 20 20 cb 0d 05  |dist"....    ...|
00000d10  8c 17 20 20 20 20 24 28  74 65 6d 70 32 25 2b 32  |..    $(temp2%+2|
00000d20  34 29 3d 69 24 0d 05 96  27 20 20 20 20 c8 99 22  |4)=i$...'    .."|
00000d30  57 69 6d 70 5f 43 72 65  61 74 65 49 63 6f 6e 22  |Wimp_CreateIcon"|
00000d40  2c 2c 74 65 6d 70 32 25  b8 69 68 25 0d 05 a0 20  |,,temp2%.ih%... |
00000d50  20 20 20 20 69 63 6f 6e  69 6e 66 6f 25 21 28 54  |    iconinfo%!(T|
00000d60  25 2a 33 32 2b 34 29 2b  3d 64 78 25 0d 05 aa 20  |%*32+4)+=dx%... |
00000d70  20 20 20 20 69 63 6f 6e  69 6e 66 6f 25 21 28 54  |    iconinfo%!(T|
00000d80  25 2a 33 32 2b 38 29 2b  3d 64 79 25 0d 05 b4 3d  |%*32+8)+=dy%...=|
00000d90  20 20 20 20 69 63 6f 6e  69 6e 66 6f 25 21 28 54  |    iconinfo%!(T|
00000da0  25 2a 33 32 2b 32 38 29  3d 28 69 63 6f 6e 69 6e  |%*32+28)=(iconin|
00000db0  66 6f 25 21 28 54 25 2a  33 32 2b 32 38 29 29 80  |fo%!(T%*32+28)).|
00000dc0  26 66 66 66 66 66 66 65  66 0d 05 be 13 20 20 20  |&ffffffef....   |
00000dd0  20 e7 20 69 68 25 3c 3e  54 25 20 8c 0d 05 c8 32  | . ih%<>T% ....2|
00000de0  20 20 20 20 20 20 69 63  6f 6e 69 6e 66 6f 25 21  |      iconinfo%!|
00000df0  28 69 68 25 2a 33 32 2b  30 29 3d 69 63 6f 6e 69  |(ih%*32+0)=iconi|
00000e00  6e 66 6f 25 21 28 54 25  2a 33 32 2b 30 29 0d 05  |nfo%!(T%*32+0)..|
00000e10  d2 32 20 20 20 20 20 20  69 63 6f 6e 69 6e 66 6f  |.2      iconinfo|
00000e20  25 21 28 69 68 25 2a 33  32 2b 34 29 3d 69 63 6f  |%!(ih%*32+4)=ico|
00000e30  6e 69 6e 66 6f 25 21 28  54 25 2a 33 32 2b 34 29  |ninfo%!(T%*32+4)|
00000e40  0d 05 dc 32 20 20 20 20  20 20 69 63 6f 6e 69 6e  |...2      iconin|
00000e50  66 6f 25 21 28 69 68 25  2a 33 32 2b 38 29 3d 69  |fo%!(ih%*32+8)=i|
00000e60  63 6f 6e 69 6e 66 6f 25  21 28 54 25 2a 33 32 2b  |coninfo%!(T%*32+|
00000e70  38 29 0d 05 e6 34 20 20  20 20 20 20 69 63 6f 6e  |8)...4      icon|
00000e80  69 6e 66 6f 25 21 28 69  68 25 2a 33 32 2b 31 32  |info%!(ih%*32+12|
00000e90  29 3d 69 63 6f 6e 69 6e  66 6f 25 21 28 54 25 2a  |)=iconinfo%!(T%*|
00000ea0  33 32 2b 31 32 29 0d 05  f0 34 20 20 20 20 20 20  |32+12)...4      |
00000eb0  69 63 6f 6e 69 6e 66 6f  25 21 28 69 68 25 2a 33  |iconinfo%!(ih%*3|
00000ec0  32 2b 31 36 29 3d 69 63  6f 6e 69 6e 66 6f 25 21  |2+16)=iconinfo%!|
00000ed0  28 54 25 2a 33 32 2b 31  36 29 0d 05 fa 34 20 20  |(T%*32+16)...4  |
00000ee0  20 20 20 20 69 63 6f 6e  69 6e 66 6f 25 21 28 69  |    iconinfo%!(i|
00000ef0  68 25 2a 33 32 2b 32 30  29 3d 69 63 6f 6e 69 6e  |h%*32+20)=iconin|
00000f00  66 6f 25 21 28 54 25 2a  33 32 2b 32 30 29 0d 06  |fo%!(T%*32+20)..|
00000f10  04 34 20 20 20 20 20 20  69 63 6f 6e 69 6e 66 6f  |.4      iconinfo|
00000f20  25 21 28 69 68 25 2a 33  32 2b 32 34 29 3d 69 63  |%!(ih%*32+24)=ic|
00000f30  6f 6e 69 6e 66 6f 25 21  28 54 25 2a 33 32 2b 32  |oninfo%!(T%*32+2|
00000f40  34 29 0d 06 0e 34 20 20  20 20 20 20 69 63 6f 6e  |4)...4      icon|
00000f50  69 6e 66 6f 25 21 28 69  68 25 2a 33 32 2b 32 38  |info%!(ih%*32+28|
00000f60  29 3d 69 63 6f 6e 69 6e  66 6f 25 21 28 54 25 2a  |)=iconinfo%!(T%*|
00000f70  33 32 2b 32 38 29 0d 06  18 20 20 20 20 20 20 20  |32+28)...       |
00000f80  69 63 6f 6e 69 6e 66 6f  25 21 28 54 25 2a 33 32  |iconinfo%!(T%*32|
00000f90  2b 30 29 3d 2d 31 0d 06  22 20 20 20 20 20 20 20  |+0)=-1.."       |
00000fa0  69 63 6f 6e 69 6e 66 6f  25 21 28 54 25 2a 33 32  |iconinfo%!(T%*32|
00000fb0  2b 34 29 3d 2d 31 0d 06  2c 20 20 20 20 20 20 20  |+4)=-1..,       |
00000fc0  69 63 6f 6e 69 6e 66 6f  25 21 28 54 25 2a 33 32  |iconinfo%!(T%*32|
00000fd0  2b 38 29 3d 2d 31 0d 06  36 21 20 20 20 20 20 20  |+8)=-1..6!      |
00000fe0  69 63 6f 6e 69 6e 66 6f  25 21 28 54 25 2a 33 32  |iconinfo%!(T%*32|
00000ff0  2b 31 32 29 3d 2d 31 0d  06 40 21 20 20 20 20 20  |+12)=-1..@!     |
00001000  20 69 63 6f 6e 69 6e 66  6f 25 21 28 54 25 2a 33  | iconinfo%!(T%*3|
00001010  32 2b 31 36 29 3d 2d 31  0d 06 4a 21 20 20 20 20  |2+16)=-1..J!    |
00001020  20 20 69 63 6f 6e 69 6e  66 6f 25 21 28 54 25 2a  |  iconinfo%!(T%*|
00001030  33 32 2b 32 30 29 3d 2d  31 0d 06 54 21 20 20 20  |32+20)=-1..T!   |
00001040  20 20 20 69 63 6f 6e 69  6e 66 6f 25 21 28 54 25  |   iconinfo%!(T%|
00001050  2a 33 32 2b 32 34 29 3d  2d 31 0d 06 5e 21 20 20  |*32+24)=-1..^!  |
00001060  20 20 20 20 69 63 6f 6e  69 6e 66 6f 25 21 28 54  |    iconinfo%!(T|
00001070  25 2a 33 32 2b 32 38 29  3d 2d 31 0d 06 68 1b 20  |%*32+28)=-1..h. |
00001080  20 20 20 20 20 e3 53 25  3d 30 b8 6d 61 78 69 63  |     .S%=0.maxic|
00001090  6f 6e 73 25 2d 31 0d 06  72 25 20 20 20 20 20 20  |ons%-1..r%      |
000010a0  20 20 e7 20 69 63 6f 6e  69 6e 66 6f 25 21 28 53  |  . iconinfo%!(S|
000010b0  25 2a 33 32 29 3c 3e 2d  31 20 8c 0d 06 7c 42 20  |%*32)<>-1 ...|B |
000010c0  20 20 20 20 20 20 20 20  20 e7 20 69 63 6f 6e 69  |         . iconi|
000010d0  6e 66 6f 25 21 28 53 25  2a 33 32 2b 31 36 29 3d  |nfo%!(S%*32+16)=|
000010e0  54 25 20 8c 20 69 63 6f  6e 69 6e 66 6f 25 21 28  |T% . iconinfo%!(|
000010f0  53 25 2a 33 32 2b 31 36  29 3d 69 68 25 0d 06 86  |S%*32+16)=ih%...|
00001100  42 20 20 20 20 20 20 20  20 20 20 e7 20 69 63 6f  |B          . ico|
00001110  6e 69 6e 66 6f 25 21 28  53 25 2a 33 32 2b 32 30  |ninfo%!(S%*32+20|
00001120  29 3d 54 25 20 8c 20 69  63 6f 6e 69 6e 66 6f 25  |)=T% . iconinfo%|
00001130  21 28 53 25 2a 33 32 2b  32 30 29 3d 69 68 25 0d  |!(S%*32+20)=ih%.|
00001140  06 90 0d 20 20 20 20 20  20 20 20 cd 0d 06 9a 0d  |...        .....|
00001150  20 20 20 20 20 20 ed 53  25 0d 06 a4 09 20 20 20  |      .S%....   |
00001160  20 cd 0d 06 ae 07 20 20  cd 0d 06 b8 07 ed 54 25  | .....  ......T%|
00001170  0d 06 c2 2f c8 99 22 57  69 6d 70 5f 46 6f 72 63  |.../.."Wimp_Forc|
00001180  65 52 65 64 72 61 77 22  2c 77 77 6f 72 6b 68 25  |eRedraw",wworkh%|
00001190  2c 30 2c 2d 34 30 30 30  2c 34 30 30 30 2c 30 0d  |,0,-4000,4000,0.|
000011a0  06 cc 05 e1 0d 06 d6 04  0d 06 e0 13 dd f2 50 6c  |..............Pl|
000011b0  6f 74 44 66 28 78 25 2c  79 25 29 0d 06 ea 0e e7  |otDf(x%,y%).....|
000011c0  20 78 25 3c 3e 2d 31 20  8c 0d 06 f4 15 20 20 74  | x%<>-1 .....  t|
000011d0  65 6d 70 25 21 30 3d 77  77 6f 72 6b 68 25 0d 06  |emp%!0=wworkh%..|
000011e0  fe 24 20 20 c8 99 22 57  69 6d 70 5f 47 65 74 57  |.$  .."Wimp_GetW|
000011f0  69 6e 64 6f 77 53 74 61  74 65 22 2c 2c 74 65 6d  |indowState",,tem|
00001200  70 25 0d 07 08 1d 20 20  73 78 25 3d 74 65 6d 70  |p%....  sx%=temp|
00001210  25 21 34 2b 78 25 2d 74  65 6d 70 25 21 32 30 0d  |%!4+x%-temp%!20.|
00001220  07 12 1e 20 20 73 79 25  3d 74 65 6d 70 25 21 31  |...  sy%=temp%!1|
00001230  36 2b 79 25 2d 74 65 6d  70 25 21 32 34 0d 07 1c  |6+y%-temp%!24...|
00001240  16 20 20 74 65 6d 70 32  25 21 30 3d 77 77 6f 72  |.  temp2%!0=wwor|
00001250  6b 68 25 0d 07 26 11 20  20 74 65 6d 70 32 25 21  |kh%..&.  temp2%!|
00001260  34 3d 78 25 0d 07 30 11  20 20 74 65 6d 70 32 25  |4=x%..0.  temp2%|
00001270  21 38 3d 79 25 0d 07 3a  15 20 20 74 65 6d 70 32  |!8=y%..:.  temp2|
00001280  25 21 31 32 3d 78 25 2b  39 36 0d 07 44 15 20 20  |%!12=x%+96..D.  |
00001290  74 65 6d 70 32 25 21 31  36 3d 79 25 2b 35 36 0d  |temp2%!16=y%+56.|
000012a0  07 4e 3d 20 20 c8 99 22  57 69 6d 70 5f 52 65 61  |.N=  .."Wimp_Rea|
000012b0  64 50 69 78 54 72 61 6e  73 22 2c 26 31 30 30 2c  |dPixTrans",&100,|
000012c0  31 2c 22 76 63 6f 22 2c  2c 2c 2c 73 63 61 6c 65  |1,"vco",,,,scale|
000012d0  66 25 2c 70 69 78 74 72  61 6e 73 25 0d 07 58 29  |f%,pixtrans%..X)|
000012e0  20 20 c8 99 22 57 69 6d  70 5f 55 70 64 61 74 65  |  .."Wimp_Update|
000012f0  57 69 6e 64 6f 77 22 2c  2c 74 65 6d 70 32 25 b8  |Window",,temp2%.|
00001300  6d 6f 72 65 25 0d 07 62  0e 20 20 c8 95 20 6d 6f  |more%..b.  .. mo|
00001310  72 65 25 0d 07 6c 3e 20  20 20 20 c8 99 22 57 69  |re%..l>    .."Wi|
00001320  6d 70 5f 53 70 72 69 74  65 4f 70 22 2c 26 33 34  |mp_SpriteOp",&34|
00001330  2c 2c 64 66 24 2c 73 78  25 2c 73 79 25 2c 38 2c  |,,df$,sx%,sy%,8,|
00001340  73 63 61 6c 65 66 25 2c  70 69 78 74 72 61 6e 73  |scalef%,pixtrans|
00001350  25 0d 07 76 2b 20 20 20  20 c8 99 22 57 69 6d 70  |%..v+    .."Wimp|
00001360  5f 47 65 74 52 65 63 74  61 6e 67 6c 65 22 2c 2c  |_GetRectangle",,|
00001370  74 65 6d 70 32 25 b8 6d  6f 72 65 25 0d 07 80 07  |temp2%.more%....|
00001380  20 20 ce 0d 07 8a 05 cd  0d 07 94 05 e1 0d 07 9e  |  ..............|
00001390  04 0d 07 a8 12 dd f2 52  65 6d 44 66 28 78 25 2c  |.......RemDf(x%,|
000013a0  79 25 29 0d 07 b2 0e e7  20 78 25 3c 3e 2d 31 20  |y%)..... x%<>-1 |
000013b0  8c 0d 07 bc 34 20 20 c8  99 22 57 69 6d 70 5f 46  |....4  .."Wimp_F|
000013c0  6f 72 63 65 52 65 64 72  61 77 22 2c 77 77 6f 72  |orceRedraw",wwor|
000013d0  6b 68 25 2c 78 25 2c 79  25 2c 78 25 2b 39 36 2c  |kh%,x%,y%,x%+96,|
000013e0  79 25 2b 35 36 0d 07 c6  05 cd 0d 07 d0 05 e1 0d  |y%+56...........|
000013f0  07 da 04 0d 07 e4 13 dd  f2 50 6c 6f 74 4c 6e 28  |.........PlotLn(|
00001400  78 25 2c 79 25 29 0d 07  ee 1f e7 20 28 78 25 3c  |x%,y%)..... (x%<|
00001410  3e 2d 31 29 80 28 73 74  61 72 74 6c 78 25 3c 3e  |>-1).(startlx%<>|
00001420  2d 31 29 20 8c 0d 07 f8  16 20 20 74 65 6d 70 32  |-1) .....  temp2|
00001430  25 21 30 3d 77 77 6f 72  6b 68 25 0d 08 02 25 20  |%!0=wworkh%...% |
00001440  20 c8 99 22 57 69 6d 70  5f 47 65 74 57 69 6e 64  | .."Wimp_GetWind|
00001450  6f 77 53 74 61 74 65 22  2c 2c 74 65 6d 70 32 25  |owState",,temp2%|
00001460  0d 08 0c 26 20 20 73 73  78 25 3d 74 65 6d 70 32  |...&  ssx%=temp2|
00001470  25 21 34 2b 73 74 61 72  74 6c 78 25 2d 74 65 6d  |%!4+startlx%-tem|
00001480  70 32 25 21 32 30 0d 08  16 27 20 20 73 73 79 25  |p2%!20...'  ssy%|
00001490  3d 74 65 6d 70 32 25 21  31 36 2b 73 74 61 72 74  |=temp2%!16+start|
000014a0  6c 79 25 2d 74 65 6d 70  32 25 21 32 34 0d 08 20  |ly%-temp2%!24.. |
000014b0  20 20 20 73 65 78 25 3d  74 65 6d 70 32 25 21 34  |   sex%=temp2%!4|
000014c0  2b 78 25 2d 74 65 6d 70  32 25 21 32 30 0d 08 2a  |+x%-temp2%!20..*|
000014d0  21 20 20 73 65 79 25 3d  74 65 6d 70 32 25 21 31  |!  sey%=temp2%!1|
000014e0  36 2b 79 25 2d 74 65 6d  70 32 25 21 32 34 0d 08  |6+y%-temp2%!24..|
000014f0  34 13 20 20 77 73 78 25  3d 73 74 61 72 74 6c 78  |4.  wsx%=startlx|
00001500  25 0d 08 3e 13 20 20 77  73 79 25 3d 73 74 61 72  |%..>.  wsy%=star|
00001510  74 6c 79 25 0d 08 48 0d  20 20 77 65 78 25 3d 78  |tly%..H.  wex%=x|
00001520  25 0d 08 52 0d 20 20 77  65 79 25 3d 79 25 0d 08  |%..R.  wey%=y%..|
00001530  5c 20 20 20 e7 20 77 73  78 25 3e 77 65 78 25 20  |\   . wsx%>wex% |
00001540  8c 20 c8 94 20 77 73 78  25 2c 77 65 78 25 0d 08  |. .. wsx%,wex%..|
00001550  66 20 20 20 e7 20 77 73  79 25 3e 77 65 79 25 20  |f   . wsy%>wey% |
00001560  8c 20 c8 94 20 77 73 79  25 2c 77 65 79 25 0d 08  |. .. wsy%,wey%..|
00001570  70 16 20 20 74 65 6d 70  32 25 21 30 3d 77 77 6f  |p.  temp2%!0=wwo|
00001580  72 6b 68 25 0d 08 7a 15  20 20 74 65 6d 70 32 25  |rkh%..z.  temp2%|
00001590  21 34 3d 77 73 78 25 2d  34 0d 08 84 15 20 20 74  |!4=wsx%-4....  t|
000015a0  65 6d 70 32 25 21 38 3d  77 73 79 25 2d 34 0d 08  |emp2%!8=wsy%-4..|
000015b0  8e 16 20 20 74 65 6d 70  32 25 21 31 32 3d 77 65  |..  temp2%!12=we|
000015c0  78 25 2b 34 0d 08 98 16  20 20 74 65 6d 70 32 25  |x%+4....  temp2%|
000015d0  21 31 36 3d 77 65 79 25  2b 34 0d 08 a2 29 20 20  |!16=wey%+4...)  |
000015e0  c8 99 22 57 69 6d 70 5f  55 70 64 61 74 65 57 69  |.."Wimp_UpdateWi|
000015f0  6e 64 6f 77 22 2c 2c 74  65 6d 70 32 25 b8 6d 6f  |ndow",,temp2%.mo|
00001600  72 65 25 0d 08 ac 0e 20  20 c8 95 20 6d 6f 72 65  |re%....  .. more|
00001610  25 0d 08 b6 0d 20 20 20  20 e6 33 2c 31 35 0d 08  |%....    .3,15..|
00001620  c0 1d 20 20 20 20 86 20  73 73 78 25 2c 73 73 79  |..    . ssx%,ssy|
00001630  25 2c 73 65 78 25 2c 73  65 79 25 0d 08 ca 2b 20  |%,sex%,sey%...+ |
00001640  20 20 20 c8 99 22 57 69  6d 70 5f 47 65 74 52 65  |   .."Wimp_GetRe|
00001650  63 74 61 6e 67 6c 65 22  2c 2c 74 65 6d 70 32 25  |ctangle",,temp2%|
00001660  b8 6d 6f 72 65 25 0d 08  d4 07 20 20 ce 0d 08 de  |.more%....  ....|
00001670  05 cd 0d 08 e8 05 e1 0d  08 f2 04 0d 08 fc 13 dd  |................|
00001680  f2 52 65 64 72 61 77 5f  57 69 6e 64 6f 77 0d 09  |.Redraw_Window..|
00001690  06 29 c8 99 22 57 69 6d  70 5f 52 65 64 72 61 77  |.).."Wimp_Redraw|
000016a0  57 69 6e 64 6f 77 22 2c  2c 70 6f 6c 6c 65 64 62  |Window",,polledb|
000016b0  25 b8 6d 6f 72 65 25 0d  09 10 13 c8 8e 20 70 6f  |%.more%...... po|
000016c0  6c 6c 65 64 62 25 21 30  20 ca 0d 09 1a 1b 20 20  |lledb%!0 .....  |
000016d0  c9 20 77 77 6f 72 6b 68  25 3a f2 52 65 64 72 61  |. wworkh%:.Redra|
000016e0  77 57 6f 72 6b 0d 09 24  19 20 20 c9 20 77 76 63  |wWork..$.  . wvc|
000016f0  6f 68 25 3a f2 52 65 64  72 61 77 56 43 4f 0d 09  |oh%:.RedrawVCO..|
00001700  2e 17 20 20 c9 20 77 65  67 68 25 3a f2 52 65 64  |..  . wegh%:.Red|
00001710  72 61 77 45 47 0d 09 38  1c 20 20 c9 20 77 6e 6c  |rawEG..8.  . wnl|
00001720  64 69 73 74 68 25 3a f2  52 65 64 72 61 77 4e 4c  |disth%:.RedrawNL|
00001730  44 0d 09 42 13 20 20 7f  3a f2 4a 75 73 74 52 65  |D..B.  .:.JustRe|
00001740  64 72 61 77 0d 09 4c 05  cb 0d 09 56 05 e1 0d 09  |draw..L....V....|
00001750  60 04 0d 09 6a 10 dd f2  52 65 64 72 61 77 57 6f  |`...j...RedrawWo|
00001760  72 6b 0d 09 74 3b c8 99  22 57 69 6d 70 5f 52 65  |rk..t;.."Wimp_Re|
00001770  61 64 50 69 78 54 72 61  6e 73 22 2c 26 31 30 30  |adPixTrans",&100|
00001780  2c 31 2c 22 76 63 6f 22  2c 2c 2c 2c 73 63 61 6c  |,1,"vco",,,,scal|
00001790  65 66 25 2c 70 69 78 74  72 61 6e 73 25 0d 09 7e  |ef%,pixtrans%..~|
000017a0  25 6f 78 25 3d 6e 65 77  64 78 25 2b 70 6f 6c 6c  |%ox%=newdx%+poll|
000017b0  65 64 62 25 21 34 2d 70  6f 6c 6c 65 64 62 25 21  |edb%!4-polledb%!|
000017c0  32 30 0d 09 88 26 6f 79  25 3d 6e 65 77 64 79 25  |20...&oy%=newdy%|
000017d0  2b 70 6f 6c 6c 65 64 62  25 21 31 36 2d 70 6f 6c  |+polledb%!16-pol|
000017e0  6c 65 64 62 25 21 32 34  0d 09 92 28 73 73 78 25  |ledb%!24...(ssx%|
000017f0  3d 73 74 61 72 74 6c 78  25 2b 70 6f 6c 6c 65 64  |=startlx%+polled|
00001800  62 25 21 34 2d 70 6f 6c  6c 65 64 62 25 21 32 30  |b%!4-polledb%!20|
00001810  0d 09 9c 29 73 73 79 25  3d 73 74 61 72 74 6c 79  |...)ssy%=startly|
00001820  25 2b 70 6f 6c 6c 65 64  62 25 21 31 36 2d 70 6f  |%+polledb%!16-po|
00001830  6c 6c 65 64 62 25 21 32  34 0d 09 a6 26 73 65 78  |lledb%!24...&sex|
00001840  25 3d 6e 65 77 6c 78 25  2b 70 6f 6c 6c 65 64 62  |%=newlx%+polledb|
00001850  25 21 34 2d 70 6f 6c 6c  65 64 62 25 21 32 30 0d  |%!4-polledb%!20.|
00001860  09 b0 27 73 65 79 25 3d  6e 65 77 6c 79 25 2b 70  |..'sey%=newly%+p|
00001870  6f 6c 6c 65 64 62 25 21  31 36 2d 70 6f 6c 6c 65  |olledb%!16-polle|
00001880  64 62 25 21 32 34 0d 09  ba 0c c8 95 20 6d 6f 72  |db%!24...... mor|
00001890  65 25 0d 09 c4 4d 20 20  f2 52 65 64 72 61 77 4c  |e%...M  .RedrawL|
000018a0  69 6e 65 73 28 70 6f 6c  6c 65 64 62 25 21 34 2d  |ines(polledb%!4-|
000018b0  35 38 2c 70 6f 6c 6c 65  64 62 25 21 38 2d 32 38  |58,polledb%!8-28|
000018c0  2c 70 6f 6c 6c 65 64 62  25 21 31 32 2b 35 38 2c  |,polledb%!12+58,|
000018d0  70 6f 6c 6c 65 64 62 25  21 31 36 2b 32 38 29 0d  |polledb%!16+28).|
000018e0  09 ce 04 0d 09 d8 4b 20  20 e7 20 6e 65 77 64 78  |......K  . newdx|
000018f0  25 3c 3e 2d 31 20 8c 20  c8 99 22 57 69 6d 70 5f  |%<>-1 . .."Wimp_|
00001900  53 70 72 69 74 65 4f 70  22 2c 26 33 34 2c 2c 64  |SpriteOp",&34,,d|
00001910  66 24 2c 6f 78 25 2c 6f  79 25 2c 38 2c 73 63 61  |f$,ox%,oy%,8,sca|
00001920  6c 65 66 25 2c 70 69 78  74 72 61 6e 73 25 0d 09  |lef%,pixtrans%..|
00001930  e2 43 20 20 e7 20 28 73  74 61 72 74 6c 78 25 3c  |.C  . (startlx%<|
00001940  3e 2d 31 29 20 80 20 28  6e 65 77 6c 78 25 3c 3e  |>-1) . (newlx%<>|
00001950  2d 31 29 20 8c 20 e6 33  2c 31 35 3a 86 20 73 73  |-1) . .3,15:. ss|
00001960  78 25 2c 73 73 79 25 2c  73 65 78 25 2c 73 65 79  |x%,ssy%,sex%,sey|
00001970  25 0d 09 ec 2b 20 20 c8  99 22 57 69 6d 70 5f 47  |%...+  .."Wimp_G|
00001980  65 74 52 65 63 74 61 6e  67 6c 65 22 2c 2c 70 6f  |etRectangle",,po|
00001990  6c 6c 65 64 62 25 b8 6d  6f 72 65 25 0d 09 f6 05  |lledb%.more%....|
000019a0  ce 0d 0a 00 05 e1 0d 0a  0a 04 0d 0a 14 0f dd f2  |................|
000019b0  52 65 64 72 61 77 56 43  4f 0d 0a 1e 11 41 25 3d  |RedrawVCO....A%=|
000019c0  70 6f 6c 6c 65 64 62 25  21 34 0d 0a 28 11 42 25  |polledb%!4..(.B%|
000019d0  3d 70 6f 6c 6c 65 64 62  25 21 38 0d 0a 32 0e 43  |=polledb%!8..2.C|
000019e0  25 3d 76 63 6f 70 74 72  25 0d 0a 3c 0c c8 95 20  |%=vcoptr%..<... |
000019f0  6d 6f 72 65 25 0d 0a 46  1a 20 20 c8 99 22 57 69  |more%..F.  .."Wi|
00001a00  6d 70 5f 53 65 74 43 6f  6c 6f 75 72 22 2c 33 0d  |mp_SetColour",3.|
00001a10  0a 50 27 20 20 86 20 41  25 2b 31 36 36 2c 42 25  |.P'  . A%+166,B%|
00001a20  2b 31 33 32 2c 41 25 2b  31 36 36 2b 35 31 32 2c  |+132,A%+166+512,|
00001a30  42 25 2b 31 33 32 0d 0a  5a 1a 20 20 c8 99 22 57  |B%+132..Z.  .."W|
00001a40  69 6d 70 5f 53 65 74 43  6f 6c 6f 75 72 22 2c 31  |imp_SetColour",1|
00001a50  0d 0a 64 2d 20 20 86 20  41 25 2b 31 36 36 2c 42  |..d-  . A%+166,B|
00001a60  25 2b 31 33 32 2b 33 32  2c 41 25 2b 31 36 36 2b  |%+132+32,A%+166+|
00001a70  35 31 32 2c 42 25 2b 31  33 32 2b 33 32 0d 0a 6e  |512,B%+132+32..n|
00001a80  2d 20 20 86 20 41 25 2b  31 36 36 2c 42 25 2b 31  |-  . A%+166,B%+1|
00001a90  33 32 2b 36 34 2c 41 25  2b 31 36 36 2b 35 31 32  |32+64,A%+166+512|
00001aa0  2c 42 25 2b 31 33 32 2b  36 34 0d 0a 78 2d 20 20  |,B%+132+64..x-  |
00001ab0  86 20 41 25 2b 31 36 36  2c 42 25 2b 31 33 32 2b  |. A%+166,B%+132+|
00001ac0  39 36 2c 41 25 2b 31 36  36 2b 35 31 32 2c 42 25  |96,A%+166+512,B%|
00001ad0  2b 31 33 32 2b 39 36 0d  0a 82 2d 20 20 86 20 41  |+132+96...-  . A|
00001ae0  25 2b 31 36 36 2c 42 25  2b 31 33 32 2d 33 32 2c  |%+166,B%+132-32,|
00001af0  41 25 2b 31 36 36 2b 35  31 32 2c 42 25 2b 31 33  |A%+166+512,B%+13|
00001b00  32 2d 33 32 0d 0a 8c 2d  20 20 86 20 41 25 2b 31  |2-32...-  . A%+1|
00001b10  36 36 2c 42 25 2b 31 33  32 2d 36 34 2c 41 25 2b  |66,B%+132-64,A%+|
00001b20  31 36 36 2b 35 31 32 2c  42 25 2b 31 33 32 2d 36  |166+512,B%+132-6|
00001b30  34 0d 0a 96 2d 20 20 86  20 41 25 2b 31 36 36 2c  |4...-  . A%+166,|
00001b40  42 25 2b 31 33 32 2d 39  36 2c 41 25 2b 31 36 36  |B%+132-96,A%+166|
00001b50  2b 35 31 32 2c 42 25 2b  31 33 32 2d 39 36 0d 0a  |+512,B%+132-96..|
00001b60  a0 1a 20 20 c8 99 22 57  69 6d 70 5f 53 65 74 43  |..  .."Wimp_SetC|
00001b70  6f 6c 6f 75 72 22 2c 37  0d 0a aa 10 20 20 d6 72  |olour",7....  .r|
00001b80  65 64 72 61 77 76 63 6f  0d 0a b4 2b 20 20 c8 99  |edrawvco...+  ..|
00001b90  22 57 69 6d 70 5f 47 65  74 52 65 63 74 61 6e 67  |"Wimp_GetRectang|
00001ba0  6c 65 22 2c 2c 70 6f 6c  6c 65 64 62 25 b8 6d 6f  |le",,polledb%.mo|
00001bb0  72 65 25 0d 0a be 05 ce  0d 0a c8 05 e1 0d 0a d2  |re%.............|
00001bc0  04 0d 0a dc 0f dd f2 52  65 64 72 61 77 4e 4c 44  |.......RedrawNLD|
00001bd0  0d 0a e6 11 41 25 3d 70  6f 6c 6c 65 64 62 25 21  |....A%=polledb%!|
00001be0  34 0d 0a f0 11 42 25 3d  70 6f 6c 6c 65 64 62 25  |4....B%=polledb%|
00001bf0  21 38 0d 0a fa 11 43 25  3d 6e 6c 64 69 73 74 70  |!8....C%=nldistp|
00001c00  74 72 25 0d 0b 04 0c c8  95 20 6d 6f 72 65 25 0d  |tr%...... more%.|
00001c10  0b 0e 1a 20 20 c8 99 22  57 69 6d 70 5f 53 65 74  |...  .."Wimp_Set|
00001c20  43 6f 6c 6f 75 72 22 2c  31 0d 0b 18 1d 20 20 86  |Colour",1....  .|
00001c30  20 41 25 2c 42 25 2b 36  34 2c 41 25 2b 35 31 32  | A%,B%+64,A%+512|
00001c40  2c 42 25 2b 36 34 0d 0b  22 1f 20 20 86 20 41 25  |,B%+64..".  . A%|
00001c50  2c 42 25 2b 31 32 38 2c  41 25 2b 35 31 32 2c 42  |,B%+128,A%+512,B|
00001c60  25 2b 31 32 38 0d 0b 2c  1f 20 20 86 20 41 25 2c  |%+128..,.  . A%,|
00001c70  42 25 2b 31 39 32 2c 41  25 2b 35 31 32 2c 42 25  |B%+192,A%+512,B%|
00001c80  2b 31 39 32 0d 0b 36 1f  20 20 86 20 41 25 2c 42  |+192..6.  . A%,B|
00001c90  25 2b 33 32 30 2c 41 25  2b 35 31 32 2c 42 25 2b  |%+320,A%+512,B%+|
00001ca0  33 32 30 0d 0b 40 1f 20  20 86 20 41 25 2c 42 25  |320..@.  . A%,B%|
00001cb0  2b 33 38 34 2c 41 25 2b  35 31 32 2c 42 25 2b 33  |+384,A%+512,B%+3|
00001cc0  38 34 0d 0b 4a 1f 20 20  86 20 41 25 2c 42 25 2b  |84..J.  . A%,B%+|
00001cd0  34 34 38 2c 41 25 2b 35  31 32 2c 42 25 2b 34 34  |448,A%+512,B%+44|
00001ce0  38 0d 0b 54 1d 20 20 86  20 41 25 2b 36 34 2c 42  |8..T.  . A%+64,B|
00001cf0  25 2c 41 25 2b 36 34 2c  42 25 2b 35 31 32 0d 0b  |%,A%+64,B%+512..|
00001d00  5e 1f 20 20 86 20 41 25  2b 31 32 38 2c 42 25 2c  |^.  . A%+128,B%,|
00001d10  41 25 2b 31 32 38 2c 42  25 2b 35 31 32 0d 0b 68  |A%+128,B%+512..h|
00001d20  1f 20 20 86 20 41 25 2b  31 39 32 2c 42 25 2c 41  |.  . A%+192,B%,A|
00001d30  25 2b 31 39 32 2c 42 25  2b 35 31 32 0d 0b 72 1f  |%+192,B%+512..r.|
00001d40  20 20 86 20 41 25 2b 33  32 30 2c 42 25 2c 41 25  |  . A%+320,B%,A%|
00001d50  2b 33 32 30 2c 42 25 2b  35 31 32 0d 0b 7c 1f 20  |+320,B%+512..|. |
00001d60  20 86 20 41 25 2b 33 38  34 2c 42 25 2c 41 25 2b  | . A%+384,B%,A%+|
00001d70  33 38 34 2c 42 25 2b 35  31 32 0d 0b 86 1f 20 20  |384,B%+512....  |
00001d80  86 20 41 25 2b 34 34 38  2c 42 25 2c 41 25 2b 34  |. A%+448,B%,A%+4|
00001d90  34 38 2c 42 25 2b 35 31  32 0d 0b 90 1a 20 20 c8  |48,B%+512....  .|
00001da0  99 22 57 69 6d 70 5f 53  65 74 43 6f 6c 6f 75 72  |."Wimp_SetColour|
00001db0  22 2c 33 0d 0b 9a 1f 20  20 86 20 41 25 2c 42 25  |",3....  . A%,B%|
00001dc0  2b 32 35 36 2c 41 25 2b  35 31 32 2c 42 25 2b 32  |+256,A%+512,B%+2|
00001dd0  35 36 0d 0b a4 1f 20 20  86 20 41 25 2b 32 35 36  |56....  . A%+256|
00001de0  2c 42 25 2c 41 25 2b 32  35 36 2c 42 25 2b 35 31  |,B%,A%+256,B%+51|
00001df0  32 0d 0b ae 1a 20 20 c8  99 22 57 69 6d 70 5f 53  |2....  .."Wimp_S|
00001e00  65 74 43 6f 6c 6f 75 72  22 2c 37 0d 0b b8 10 20  |etColour",7.... |
00001e10  20 d6 72 65 64 72 61 77  6e 6c 64 0d 0b c2 2b 20  | .redrawnld...+ |
00001e20  20 c8 99 22 57 69 6d 70  5f 47 65 74 52 65 63 74  | .."Wimp_GetRect|
00001e30  61 6e 67 6c 65 22 2c 2c  70 6f 6c 6c 65 64 62 25  |angle",,polledb%|
00001e40  b8 6d 6f 72 65 25 0d 0b  cc 05 ce 0d 0b d6 05 e1  |.more%..........|
00001e50  0d 0b e0 04 0d 0b ea 0e  dd f2 56 43 4f 43 6c 69  |..........VCOCli|
00001e60  63 6b 0d 0b f4 14 c8 8e  20 70 6f 6c 6c 65 64 62  |ck...... polledb|
00001e70  25 21 31 36 20 ca 0d 0b  fe 1c 20 20 c9 20 30 3a  |%!16 .....  . 0:|
00001e80  f2 56 43 4f 73 69 6e 28  76 63 6f 70 74 72 25 2b  |.VCOsin(vcoptr%+|
00001e90  34 29 0d 0c 08 1c 20 20  c9 20 31 3a f2 56 43 4f  |4)....  . 1:.VCO|
00001ea0  74 72 69 28 76 63 6f 70  74 72 25 2b 34 29 0d 0c  |tri(vcoptr%+4)..|
00001eb0  12 1d 20 20 c9 20 32 3a  f2 56 43 4f 72 61 6d 70  |..  . 2:.VCOramp|
00001ec0  28 76 63 6f 70 74 72 25  2b 34 29 0d 0c 1c 1c 20  |(vcoptr%+4).... |
00001ed0  20 c9 20 33 3a f2 56 43  4f 73 71 72 28 76 63 6f  | . 3:.VCOsqr(vco|
00001ee0  70 74 72 25 2b 34 29 0d  0c 26 1e 20 20 c9 20 34  |ptr%+4)..&.  . 4|
00001ef0  3a f2 56 43 4f 63 6f 6e  73 74 28 76 63 6f 70 74  |:.VCOconst(vcopt|
00001f00  72 25 2b 34 29 0d 0c 30  20 20 20 c9 20 35 3a f2  |r%+4)..0   . 5:.|
00001f10  56 43 4f 73 68 66 74 6c  66 74 28 76 63 6f 70 74  |VCOshftlft(vcopt|
00001f20  72 25 2b 34 29 0d 0c 3a  21 20 20 c9 20 36 3a f2  |r%+4)..:!  . 6:.|
00001f30  56 43 4f 73 68 66 74 72  67 68 74 28 76 63 6f 70  |VCOshftrght(vcop|
00001f40  74 72 25 2b 34 29 0d 0c  44 20 20 20 c9 20 37 3a  |tr%+4)..D   . 7:|
00001f50  f2 56 43 4f 6d 75 6c 64  69 76 32 28 76 63 6f 70  |.VCOmuldiv2(vcop|
00001f60  74 72 25 2b 34 29 0d 0c  4e 1e 20 20 c9 20 38 3a  |tr%+4)..N.  . 8:|
00001f70  f2 56 43 4f 72 6f 74 39  30 28 76 63 6f 70 74 72  |.VCOrot90(vcoptr|
00001f80  25 2b 34 29 0d 0c 58 1d  20 20 c9 20 39 3a f2 56  |%+4)..X.  . 9:.V|
00001f90  43 4f 72 61 6e 64 28 76  63 6f 70 74 72 25 2b 34  |COrand(vcoptr%+4|
00001fa0  29 0d 0c 62 1f 20 20 c9  20 31 30 3a f2 56 43 4f  |)..b.  . 10:.VCO|
00001fb0  70 61 69 6e 74 28 76 63  6f 70 74 72 25 2b 34 29  |paint(vcoptr%+4)|
00001fc0  0d 0c 6c 05 cb 0d 0c 76  57 e7 20 28 70 6f 6c 6c  |..l....vW. (poll|
00001fd0  65 64 62 25 21 31 36 3c  3e 31 30 29 80 28 70 6f  |edb%!16<>10).(po|
00001fe0  6c 6c 65 64 62 25 21 31  36 3c 3e 2d 31 29 20 8c  |lledb%!16<>-1) .|
00001ff0  3a c8 99 22 57 69 6d 70  5f 46 6f 72 63 65 52 65  |:.."Wimp_ForceRe|
00002000  64 72 61 77 22 2c 77 76  63 6f 68 25 2c 31 36 36  |draw",wvcoh%,166|
00002010  2c 2d 32 36 30 2c 36 37  38 2c 2d 34 0d 0c 80 05  |,-260,678,-4....|
00002020  e1 0d 0c 8a 04 0d 0c 94  10 dd f2 56 43 4f 73 69  |...........VCOsi|
00002030  6e 28 61 25 29 0d 0c 9e  0d e3 54 25 3d 30 b8 32  |n(a%).....T%=0.2|
00002040  35 35 0d 0c a8 20 20 20  3f 28 61 25 2b 54 25 29  |55...   ?(a%+T%)|
00002050  3d 31 32 37 2a b5 28 32  2a af 2a 54 25 2f 32 35  |=127*.(2*.*T%/25|
00002060  36 29 0d 0c b2 07 ed 54  25 0d 0c bc 10 f2 4d 6f  |6).....T%.....Mo|
00002070  64 54 69 74 6c 65 28 30  29 0d 0c c6 05 e1 0d 0c  |dTitle(0).......|
00002080  d0 10 dd f2 56 43 4f 74  72 69 28 61 25 29 0d 0c  |....VCOtri(a%)..|
00002090  da 0d e3 54 25 3d 30 b8  31 32 37 0d 0c e4 1f 20  |...T%=0.127.... |
000020a0  20 3f 28 61 25 2b 54 25  29 3d 31 32 37 2d 94 28  | ?(a%+T%)=127-.(|
000020b0  2d 31 32 37 2b 32 2a 54  25 29 0d 0c ee 1c 20 20  |-127+2*T%)....  |
000020c0  3f 28 61 25 2b 32 35 35  2d 54 25 29 3d 2d 3f 28  |?(a%+255-T%)=-?(|
000020d0  61 25 2b 54 25 29 0d 0c  f8 07 ed 54 25 0d 0d 02  |a%+T%).....T%...|
000020e0  10 f2 4d 6f 64 54 69 74  6c 65 28 30 29 0d 0d 0c  |..ModTitle(0)...|
000020f0  05 e1 0d 0d 16 11 dd f2  56 43 4f 72 61 6d 70 28  |........VCOramp(|
00002100  61 25 29 0d 0d 20 0f c8  97 20 41 25 2c 42 25 2c  |a%).. ... A%,B%,|
00002110  43 25 0d 0d 2a 0d e3 54  25 3d 30 b8 32 35 35 0d  |C%..*..T%=0.255.|
00002120  0d 34 1f 20 20 e7 20 43  25 80 34 20 8c 20 3f 28  |.4.  . C%.4 . ?(|
00002130  61 25 2b 54 25 29 3d 2d  31 32 38 2b 54 25 0d 0d  |a%+T%)=-128+T%..|
00002140  3e 1e 20 20 e7 20 43 25  80 31 20 8c 20 3f 28 61  |>.  . C%.1 . ?(a|
00002150  25 2b 54 25 29 3d 31 32  37 2d 54 25 0d 0d 48 07  |%+T%)=127-T%..H.|
00002160  ed 54 25 0d 0d 52 10 f2  4d 6f 64 54 69 74 6c 65  |.T%..R..ModTitle|
00002170  28 30 29 0d 0d 5c 05 e1  0d 0d 66 10 dd f2 56 43  |(0)..\....f...VC|
00002180  4f 73 71 72 28 61 25 29  0d 0d 70 0d e3 54 25 3d  |Osqr(a%)..p..T%=|
00002190  30 b8 32 35 35 0d 0d 7a  1f 20 20 3f 28 61 25 2b  |0.255..z.  ?(a%+|
000021a0  54 25 29 3d 31 32 37 2b  32 35 34 2a 28 54 25 3e  |T%)=127+254*(T%>|
000021b0  31 32 37 29 0d 0d 84 07  ed 54 25 0d 0d 8e 10 f2  |127).....T%.....|
000021c0  4d 6f 64 54 69 74 6c 65  28 30 29 0d 0d 98 05 e1  |ModTitle(0).....|
000021d0  0d 0d a2 12 dd f2 56 43  4f 63 6f 6e 73 74 28 61  |......VCOconst(a|
000021e0  25 29 0d 0d ac 0f c8 97  20 41 25 2c 42 25 2c 43  |%)...... A%,B%,C|
000021f0  25 0d 0d b6 13 e7 20 43  25 80 34 20 8c 20 6c 25  |%..... C%.4 . l%|
00002200  3d 31 32 37 0d 0d c0 11  e7 20 43 25 80 32 20 8c  |=127..... C%.2 .|
00002210  20 6c 25 3d 30 0d 0d ca  13 e7 20 43 25 80 31 20  | l%=0..... C%.1 |
00002220  8c 20 6c 25 3d 31 32 38  0d 0d d4 0d e3 54 25 3d  |. l%=128.....T%=|
00002230  30 b8 32 35 35 0d 0d de  11 20 20 3f 28 61 25 2b  |0.255....  ?(a%+|
00002240  54 25 29 3d 6c 25 0d 0d  e8 07 ed 54 25 0d 0d f2  |T%)=l%.....T%...|
00002250  10 f2 4d 6f 64 54 69 74  6c 65 28 30 29 0d 0d fc  |..ModTitle(0)...|
00002260  05 e1 0d 0e 06 14 dd f2  56 43 4f 73 68 66 74 6c  |........VCOshftl|
00002270  66 74 28 61 25 29 0d 0e  10 0d e3 54 25 3d 30 b8  |ft(a%).....T%=0.|
00002280  31 32 37 0d 0e 1a 19 20  20 3f 28 61 25 2b 54 25  |127....  ?(a%+T%|
00002290  29 3d 3f 28 61 25 2b 54  25 2a 32 29 0d 0e 24 07  |)=?(a%+T%*2)..$.|
000022a0  ed 54 25 0d 0e 2e 0d e3  54 25 3d 30 b8 31 32 37  |.T%.....T%=0.127|
000022b0  0d 0e 38 1b 20 20 3f 28  61 25 2b 54 25 2b 31 32  |..8.  ?(a%+T%+12|
000022c0  38 29 3d 3f 28 61 25 2b  54 25 29 0d 0e 42 07 ed  |8)=?(a%+T%)..B..|
000022d0  54 25 0d 0e 4c 10 f2 4d  6f 64 54 69 74 6c 65 28  |T%..L..ModTitle(|
000022e0  30 29 0d 0e 56 05 e1 0d  0e 60 15 dd f2 56 43 4f  |0)..V....`...VCO|
000022f0  73 68 66 74 72 67 68 74  28 61 25 29 0d 0e 6a 10  |shftrght(a%)..j.|
00002300  e3 54 25 3d 32 35 35 b8  30 88 2d 31 0d 0e 74 1c  |.T%=255.0.-1..t.|
00002310  20 20 3f 28 61 25 2b 54  25 29 3d 3f 28 61 25 2b  |  ?(a%+T%)=?(a%+|
00002320  28 54 25 3e 3e 31 29 29  0d 0e 7e 07 ed 54 25 0d  |(T%>>1))..~..T%.|
00002330  0e 88 10 f2 4d 6f 64 54  69 74 6c 65 28 30 29 0d  |....ModTitle(0).|
00002340  0e 92 05 e1 0d 0e 9c 14  dd f2 56 43 4f 6d 75 6c  |..........VCOmul|
00002350  64 69 76 32 28 61 25 29  0d 0e a6 0f c8 97 20 41  |div2(a%)...... A|
00002360  25 2c 42 25 2c 43 25 0d  0e b0 0d e3 54 25 3d 30  |%,B%,C%.....T%=0|
00002370  b8 32 35 35 0d 0e ba 1f  20 20 6c 25 3d 28 28 28  |.255....  l%=(((|
00002380  3f 28 61 25 2b 54 25 29  29 3c 3c 32 34 29 3e 3e  |?(a%+T%))<<24)>>|
00002390  32 34 29 0d 0e c4 16 20  20 e7 20 43 25 80 34 20  |24)....  . C%.4 |
000023a0  8c 20 6c 25 3d 6c 25 2a  32 0d 0e ce 16 20 20 e7  |. l%=l%*2....  .|
000023b0  20 43 25 80 31 20 8c 20  6c 25 3d 6c 25 81 32 0d  | C%.1 . l%=l%.2.|
000023c0  0e d8 17 20 20 e7 20 6c  25 3e 31 32 37 20 8c 20  |...  . l%>127 . |
000023d0  6c 25 3d 31 32 37 0d 0e  e2 19 20 20 e7 20 6c 25  |l%=127....  . l%|
000023e0  3c 2d 31 32 37 20 8c 20  6c 25 3d 2d 31 32 37 0d  |<-127 . l%=-127.|
000023f0  0e ec 11 20 20 3f 28 61  25 2b 54 25 29 3d 6c 25  |...  ?(a%+T%)=l%|
00002400  0d 0e f6 07 ed 54 25 0d  0f 00 10 f2 4d 6f 64 54  |.....T%.....ModT|
00002410  69 74 6c 65 28 30 29 0d  0f 0a 05 e1 0d 0f 14 12  |itle(0).........|
00002420  dd f2 56 43 4f 72 6f 74  39 30 28 61 25 29 0d 0f  |..VCOrot90(a%)..|
00002430  1e 0f c8 97 20 41 25 2c  42 25 2c 43 25 0d 0f 28  |.... A%,B%,C%..(|
00002440  0d e3 54 25 3d 30 b8 32  35 35 0d 0f 32 0b 20 20  |..T%=0.255..2.  |
00002450  6c 25 3d 54 25 0d 0f 3c  1d 20 20 e7 20 43 25 80  |l%=T%..<.  . C%.|
00002460  34 20 8c 20 6c 25 3d 28  54 25 2b 36 34 29 80 32  |4 . l%=(T%+64).2|
00002470  35 35 0d 0f 46 1d 20 20  e7 20 43 25 80 31 20 8c  |55..F.  . C%.1 .|
00002480  20 6c 25 3d 28 54 25 2d  36 34 29 80 32 35 35 0d  | l%=(T%-64).255.|
00002490  0f 50 17 20 20 74 65 6d  70 25 3f 54 25 3d 3f 28  |.P.  temp%?T%=?(|
000024a0  61 25 2b 6c 25 29 0d 0f  5a 07 ed 54 25 0d 0f 64  |a%+l%)..Z..T%..d|
000024b0  0d e3 54 25 3d 30 b8 32  35 35 0d 0f 6e 17 20 20  |..T%=0.255..n.  |
000024c0  3f 28 61 25 2b 54 25 29  3d 74 65 6d 70 25 3f 54  |?(a%+T%)=temp%?T|
000024d0  25 0d 0f 78 07 ed 54 25  0d 0f 82 10 f2 4d 6f 64  |%..x..T%.....Mod|
000024e0  54 69 74 6c 65 28 30 29  0d 0f 8c 05 e1 0d 0f 96  |Title(0)........|
000024f0  11 dd f2 56 43 4f 72 61  6e 64 28 61 25 29 0d 0f  |...VCOrand(a%)..|
00002500  a0 0d e3 54 25 3d 30 b8  32 35 35 0d 0f aa 19 20  |...T%=0.255.... |
00002510  20 3f 28 61 25 2b 54 25  29 3d b3 28 32 35 35 29  | ?(a%+T%)=.(255)|
00002520  2d 31 32 38 0d 0f b4 07  ed 54 25 0d 0f be 10 f2  |-128.....T%.....|
00002530  4d 6f 64 54 69 74 6c 65  28 30 29 0d 0f c8 05 e1  |ModTitle(0).....|
00002540  0d 0f d2 12 dd f2 56 43  4f 70 61 69 6e 74 28 61  |......VCOpaint(a|
00002550  25 29 0d 0f dc 1e c8 99  22 4f 53 5f 42 79 74 65  |%)......"OS_Byte|
00002560  22 2c 32 30 32 2c 30 2c  32 35 35 b8 2c 73 68 25  |",202,0,255.,sh%|
00002570  0d 0f e6 11 e7 20 28 73  68 25 80 38 29 3d 30 20  |..... (sh%.8)=0 |
00002580  8c 0d 0f f0 0f c8 97 20  41 25 2c 42 25 2c 43 25  |....... A%,B%,C%|
00002590  0d 0f fa 19 e7 20 43 25  3d 30 20 8c 20 76 63 6f  |..... C%=0 . vco|
000025a0  6c 61 73 74 78 25 3d 2d  31 0d 10 04 26 e7 20 28  |lastx%=-1...&. (|
000025b0  43 25 80 34 29 84 28 28  43 25 80 31 29 80 28 76  |C%.4).((C%.1).(v|
000025c0  63 6f 6c 61 73 74 78 25  3d 2d 31 29 29 20 8c 0d  |colastx%=-1)) ..|
000025d0  10 0e 14 20 20 74 65 6d  70 25 21 30 3d 77 76 63  |...  temp%!0=wvc|
000025e0  6f 68 25 0d 10 18 24 20  20 c8 99 22 57 69 6d 70  |oh%...$  .."Wimp|
000025f0  5f 47 65 74 57 69 6e 64  6f 77 53 74 61 74 65 22  |_GetWindowState"|
00002600  2c 2c 74 65 6d 70 25 0d  10 22 24 20 20 78 25 3d  |,,temp%.."$  x%=|
00002610  70 6f 6c 6c 65 64 62 25  21 30 2d 74 65 6d 70 25  |polledb%!0-temp%|
00002620  21 34 2b 74 65 6d 70 25  21 32 30 0d 10 2c 25 20  |!4+temp%!20..,% |
00002630  20 79 25 3d 70 6f 6c 6c  65 64 62 25 21 34 2d 74  | y%=polledb%!4-t|
00002640  65 6d 70 25 21 31 36 2b  74 65 6d 70 25 21 32 34  |emp%!16+temp%!24|
00002650  0d 10 36 31 20 20 e7 20  28 78 25 3e 3d 31 36 36  |..61  . (x%>=166|
00002660  29 80 28 78 25 3c 3d 36  37 36 29 80 28 79 25 3c  |).(x%<=676).(y%<|
00002670  3d 2d 38 29 80 28 79 25  3e 3d 2d 32 36 30 29 20  |=-8).(y%>=-260) |
00002680  8c 0d 10 40 14 20 20 20  20 f2 4d 6f 64 54 69 74  |...@.    .ModTit|
00002690  6c 65 28 30 29 0d 10 4a  20 20 20 20 20 61 25 3f  |le(0)..J     a%?|
000026a0  28 28 78 25 2d 31 36 36  29 2f 32 29 3d 28 31 33  |((x%-166)/2)=(13|
000026b0  34 2b 79 25 29 0d 10 54  1c 20 20 20 20 76 63 6f  |4+y%)..T.    vco|
000026c0  6c 61 73 74 78 25 3d 28  78 25 2d 31 36 36 29 2f  |lastx%=(x%-166)/|
000026d0  32 0d 10 5e 18 20 20 20  20 76 63 6f 6c 61 73 74  |2..^.    vcolast|
000026e0  79 25 3d 31 33 34 2b 79  25 0d 10 68 33 20 20 20  |y%=134+y%..h3   |
000026f0  20 c8 99 22 57 69 6d 70  5f 46 6f 72 63 65 52 65  | .."Wimp_ForceRe|
00002700  64 72 61 77 22 2c 77 76  63 6f 68 25 2c 78 25 2c  |draw",wvcoh%,x%,|
00002710  2d 32 36 30 2c 78 25 2b  32 2c 2d 34 0d 10 72 07  |-260,x%+2,-4..r.|
00002720  20 20 cd 0d 10 7c 05 cd  0d 10 86 1e e7 20 28 43  |  ...|....... (C|
00002730  25 80 31 29 80 28 76 63  6f 6c 61 73 74 78 25 3c  |%.1).(vcolastx%<|
00002740  3e 2d 31 29 20 8c 0d 10  90 14 20 20 74 65 6d 70  |>-1) .....  temp|
00002750  25 21 30 3d 77 76 63 6f  68 25 0d 10 9a 24 20 20  |%!0=wvcoh%...$  |
00002760  c8 99 22 57 69 6d 70 5f  47 65 74 57 69 6e 64 6f  |.."Wimp_GetWindo|
00002770  77 53 74 61 74 65 22 2c  2c 74 65 6d 70 25 0d 10  |wState",,temp%..|
00002780  a4 24 20 20 78 25 3d 70  6f 6c 6c 65 64 62 25 21  |.$  x%=polledb%!|
00002790  30 2d 74 65 6d 70 25 21  34 2b 74 65 6d 70 25 21  |0-temp%!4+temp%!|
000027a0  32 30 0d 10 ae 25 20 20  79 25 3d 70 6f 6c 6c 65  |20...%  y%=polle|
000027b0  64 62 25 21 34 2d 74 65  6d 70 25 21 31 36 2b 74  |db%!4-temp%!16+t|
000027c0  65 6d 70 25 21 32 34 0d  10 b8 31 20 20 e7 20 28  |emp%!24...1  . (|
000027d0  78 25 3e 3d 31 36 36 29  80 28 78 25 3c 3d 36 37  |x%>=166).(x%<=67|
000027e0  36 29 80 28 79 25 3c 3d  2d 38 29 80 28 79 25 3e  |6).(y%<=-8).(y%>|
000027f0  3d 2d 32 36 30 29 20 8c  0d 10 c2 14 20 20 20 20  |=-260) .....    |
00002800  f2 4d 6f 64 54 69 74 6c  65 28 30 29 0d 10 cc 14  |.ModTitle(0)....|
00002810  20 20 20 20 73 78 3d 76  63 6f 6c 61 73 74 78 25  |    sx=vcolastx%|
00002820  0d 10 d6 14 20 20 20 20  73 79 3d 76 63 6f 6c 61  |....    sy=vcola|
00002830  73 74 79 25 0d 10 e0 15  20 20 20 20 65 78 3d 28  |sty%....    ex=(|
00002840  78 25 2d 31 36 36 29 81  32 0d 10 ea 11 20 20 20  |x%-166).2....   |
00002850  20 65 79 3d 31 33 34 2b  79 25 0d 10 f4 16 20 20  | ey=134+y%....  |
00002860  20 20 e7 20 94 28 73 78  2d 65 78 29 3c 31 20 8c  |  . .(sx-ex)<1 .|
00002870  0d 10 fe 21 20 20 20 20  20 61 25 3f 28 28 78 25  |...!     a%?((x%|
00002880  2d 31 36 36 29 2f 32 29  3d 28 31 33 34 2b 79 25  |-166)/2)=(134+y%|
00002890  29 0d 11 08 09 20 20 20  20 cc 0d 11 12 0e 20 20  |)....    .....  |
000028a0  20 20 20 20 79 3d 73 79  0d 11 1c 15 20 20 20 20  |    y=sy....    |
000028b0  20 20 64 78 3d b4 28 65  78 2d 73 78 29 0d 11 26  |  dx=.(ex-sx)..&|
000028c0  1d 20 20 20 20 20 20 64  79 3d 28 65 79 2d 73 79  |.      dy=(ey-sy|
000028d0  29 2f 94 28 65 78 2d 73  78 29 0d 11 30 1a 20 20  |)/.(ex-sx)..0.  |
000028e0  20 20 20 20 e3 20 78 3d  73 78 20 b8 20 65 78 20  |    . x=sx . ex |
000028f0  88 20 64 78 0d 11 3a 12  20 20 20 20 20 20 20 20  |. dx..:.        |
00002900  61 25 3f 78 3d 79 0d 11  44 11 20 20 20 20 20 20  |a%?x=y..D.      |
00002910  20 20 79 2b 3d 64 79 0d  11 4e 0c 20 20 20 20 20  |  y+=dy..N.     |
00002920  20 ed 78 0d 11 58 09 20  20 20 20 cd 0d 11 62 1c  | .x..X.    ...b.|
00002930  20 20 20 20 76 63 6f 6c  61 73 74 78 25 3d 28 78  |    vcolastx%=(x|
00002940  25 2d 31 36 36 29 2f 32  0d 11 6c 18 20 20 20 20  |%-166)/2..l.    |
00002950  76 63 6f 6c 61 73 74 79  25 3d 31 33 34 2b 79 25  |vcolasty%=134+y%|
00002960  0d 11 76 1a 20 20 20 20  e7 20 73 78 3e 65 78 20  |..v.    . sx>ex |
00002970  8c 20 c8 94 20 73 78 2c  65 78 0d 11 80 1a 20 20  |. .. sx,ex....  |
00002980  20 20 e7 20 73 79 3e 65  79 20 8c 20 c8 94 20 73  |  . sy>ey . .. s|
00002990  79 2c 65 79 0d 11 8a 3d  20 20 20 20 c8 99 22 57  |y,ey...=    .."W|
000029a0  69 6d 70 5f 46 6f 72 63  65 52 65 64 72 61 77 22  |imp_ForceRedraw"|
000029b0  2c 77 76 63 6f 68 25 2c  73 78 2a 32 2b 31 36 36  |,wvcoh%,sx*2+166|
000029c0  2c 2d 32 36 30 2c 65 78  2a 32 2b 31 36 38 2c 2d  |,-260,ex*2+168,-|
000029d0  34 0d 11 94 07 20 20 cd  0d 11 9e 05 cd 0d 11 a8  |4....  .........|
000029e0  05 cd 0d 11 b2 05 e1 0d  11 bc 04 0d 11 c6 0d dd  |................|
000029f0  f2 45 47 43 6c 69 63 6b  0d 11 d0 1e c8 99 22 4f  |.EGClick......"O|
00002a00  53 5f 42 79 74 65 22 2c  32 30 32 2c 30 2c 32 35  |S_Byte",202,0,25|
00002a10  35 b8 2c 73 68 25 0d 11  da 11 e7 20 28 73 68 25  |5.,sh%..... (sh%|
00002a20  80 38 29 3d 30 20 8c 0d  11 e4 0f 61 25 3d 65 67  |.8)=0 .....a%=eg|
00002a30  70 74 72 25 2b 38 0d 11  ee 0f c8 97 20 41 25 2c  |ptr%+8...... A%,|
00002a40  42 25 2c 43 25 0d 11 f8  18 e7 20 43 25 3d 30 20  |B%,C%..... C%=0 |
00002a50  8c 20 65 67 6c 61 73 74  78 25 3d 2d 31 0d 12 02  |. eglastx%=-1...|
00002a60  25 e7 20 28 43 25 80 34  29 84 28 28 43 25 80 31  |%. (C%.4).((C%.1|
00002a70  29 80 28 65 67 6c 61 73  74 78 25 3d 2d 31 29 29  |).(eglastx%=-1))|
00002a80  20 8c 0d 12 0c 13 20 20  74 65 6d 70 25 21 30 3d  | .....  temp%!0=|
00002a90  77 65 67 68 25 0d 12 16  24 20 20 c8 99 22 57 69  |wegh%...$  .."Wi|
00002aa0  6d 70 5f 47 65 74 57 69  6e 64 6f 77 53 74 61 74  |mp_GetWindowStat|
00002ab0  65 22 2c 2c 74 65 6d 70  25 0d 12 20 24 20 20 78  |e",,temp%.. $  x|
00002ac0  25 3d 70 6f 6c 6c 65 64  62 25 21 30 2d 74 65 6d  |%=polledb%!0-tem|
00002ad0  70 25 21 34 2b 74 65 6d  70 25 21 32 30 0d 12 2a  |p%!4+temp%!20..*|
00002ae0  25 20 20 79 25 3d 70 6f  6c 6c 65 64 62 25 21 34  |%  y%=polledb%!4|
00002af0  2d 74 65 6d 70 25 21 31  36 2b 74 65 6d 70 25 21  |-temp%!16+temp%!|
00002b00  32 34 0d 12 34 30 20 20  e7 20 28 78 25 3e 3d 30  |24..40  . (x%>=0|
00002b10  29 80 28 78 25 3c 3d 31  30 32 32 29 80 28 79 25  |).(x%<=1022).(y%|
00002b20  3c 3d 2d 34 29 80 28 79  25 3e 3d 2d 32 35 36 29  |<=-4).(y%>=-256)|
00002b30  20 8c 0d 12 3e 14 20 20  20 20 f2 4d 6f 64 54 69  | ...>.    .ModTi|
00002b40  74 6c 65 28 30 29 0d 12  48 18 20 20 20 20 61 25  |tle(0)..H.    a%|
00002b50  3f 28 78 25 2f 32 29 3d  32 35 36 2b 79 25 0d 12  |?(x%/2)=256+y%..|
00002b60  52 15 20 20 20 20 65 67  6c 61 73 74 78 25 3d 78  |R.    eglastx%=x|
00002b70  25 2f 32 0d 12 5c 17 20  20 20 20 65 67 6c 61 73  |%/2..\.    eglas|
00002b80  74 79 25 3d 32 35 36 2b  79 25 0d 12 66 31 20 20  |ty%=256+y%..f1  |
00002b90  20 20 c8 99 22 57 69 6d  70 5f 46 6f 72 63 65 52  |  .."Wimp_ForceR|
00002ba0  65 64 72 61 77 22 2c 77  65 67 68 25 2c 78 25 2c  |edraw",wegh%,x%,|
00002bb0  2d 32 35 36 2c 78 25 2b  32 2c 30 0d 12 70 07 20  |-256,x%+2,0..p. |
00002bc0  20 cd 0d 12 7a 05 cd 0d  12 84 1d e7 20 28 43 25  | ...z....... (C%|
00002bd0  80 31 29 80 28 65 67 6c  61 73 74 78 25 3c 3e 2d  |.1).(eglastx%<>-|
00002be0  31 29 20 8c 0d 12 8e 13  20 20 74 65 6d 70 25 21  |1) .....  temp%!|
00002bf0  30 3d 77 65 67 68 25 0d  12 98 24 20 20 c8 99 22  |0=wegh%...$  .."|
00002c00  57 69 6d 70 5f 47 65 74  57 69 6e 64 6f 77 53 74  |Wimp_GetWindowSt|
00002c10  61 74 65 22 2c 2c 74 65  6d 70 25 0d 12 a2 24 20  |ate",,temp%...$ |
00002c20  20 78 25 3d 70 6f 6c 6c  65 64 62 25 21 30 2d 74  | x%=polledb%!0-t|
00002c30  65 6d 70 25 21 34 2b 74  65 6d 70 25 21 32 30 0d  |emp%!4+temp%!20.|
00002c40  12 ac 25 20 20 79 25 3d  70 6f 6c 6c 65 64 62 25  |..%  y%=polledb%|
00002c50  21 34 2d 74 65 6d 70 25  21 31 36 2b 74 65 6d 70  |!4-temp%!16+temp|
00002c60  25 21 32 34 0d 12 b6 30  20 20 e7 20 28 78 25 3e  |%!24...0  . (x%>|
00002c70  3d 30 29 80 28 78 25 3c  3d 31 30 32 32 29 80 28  |=0).(x%<=1022).(|
00002c80  79 25 3c 3d 2d 34 29 80  28 79 25 3e 3d 2d 32 35  |y%<=-4).(y%>=-25|
00002c90  36 29 20 8c 0d 12 c0 14  20 20 20 20 f2 4d 6f 64  |6) .....    .Mod|
00002ca0  54 69 74 6c 65 28 30 29  0d 12 ca 13 20 20 20 20  |Title(0)....    |
00002cb0  73 78 3d 65 67 6c 61 73  74 78 25 0d 12 d4 13 20  |sx=eglastx%.... |
00002cc0  20 20 20 73 79 3d 65 67  6c 61 73 74 79 25 0d 12  |   sy=eglasty%..|
00002cd0  de 0f 20 20 20 20 65 78  3d 78 25 81 32 0d 12 e8  |..    ex=x%.2...|
00002ce0  11 20 20 20 20 65 79 3d  32 35 36 2b 79 25 0d 12  |.    ey=256+y%..|
00002cf0  f2 16 20 20 20 20 e7 20  94 28 73 78 2d 65 78 29  |..    . .(sx-ex)|
00002d00  3c 31 20 8c 0d 12 fc 19  20 20 20 20 20 61 25 3f  |<1 .....     a%?|
00002d10  28 78 25 2f 32 29 3d 32  35 36 2b 79 25 0d 13 06  |(x%/2)=256+y%...|
00002d20  09 20 20 20 20 cc 0d 13  10 0e 20 20 20 20 20 20  |.    .....      |
00002d30  79 3d 73 79 0d 13 1a 15  20 20 20 20 20 20 64 78  |y=sy....      dx|
00002d40  3d b4 28 65 78 2d 73 78  29 0d 13 24 1d 20 20 20  |=.(ex-sx)..$.   |
00002d50  20 20 20 64 79 3d 28 65  79 2d 73 79 29 2f 94 28  |   dy=(ey-sy)/.(|
00002d60  65 78 2d 73 78 29 0d 13  2e 1a 20 20 20 20 20 20  |ex-sx)....      |
00002d70  e3 20 78 3d 73 78 20 b8  20 65 78 20 88 20 64 78  |. x=sx . ex . dx|
00002d80  0d 13 38 12 20 20 20 20  20 20 20 20 61 25 3f 78  |..8.        a%?x|
00002d90  3d 79 0d 13 42 11 20 20  20 20 20 20 20 20 79 2b  |=y..B.        y+|
00002da0  3d 64 79 0d 13 4c 0c 20  20 20 20 20 20 ed 78 0d  |=dy..L.      .x.|
00002db0  13 56 09 20 20 20 20 cd  0d 13 60 15 20 20 20 20  |.V.    ...`.    |
00002dc0  65 67 6c 61 73 74 78 25  3d 78 25 2f 32 0d 13 6a  |eglastx%=x%/2..j|
00002dd0  17 20 20 20 20 65 67 6c  61 73 74 79 25 3d 32 35  |.    eglasty%=25|
00002de0  36 2b 79 25 0d 13 74 1a  20 20 20 20 e7 20 73 78  |6+y%..t.    . sx|
00002df0  3e 65 78 20 8c 20 c8 94  20 73 78 2c 65 78 0d 13  |>ex . .. sx,ex..|
00002e00  7e 1a 20 20 20 20 e7 20  73 79 3e 65 79 20 8c 20  |~.    . sy>ey . |
00002e10  c8 94 20 73 79 2c 65 79  0d 13 88 35 20 20 20 20  |.. sy,ey...5    |
00002e20  c8 99 22 57 69 6d 70 5f  46 6f 72 63 65 52 65 64  |.."Wimp_ForceRed|
00002e30  72 61 77 22 2c 77 65 67  68 25 2c 73 78 2a 32 2c  |raw",wegh%,sx*2,|
00002e40  2d 32 35 36 2c 65 78 2a  32 2b 32 2c 30 0d 13 92  |-256,ex*2+2,0...|
00002e50  07 20 20 cd 0d 13 9c 05  cd 0d 13 a6 05 cd 0d 13  |.  .............|
00002e60  b0 05 e1 0d 13 ba 04 0d  13 c4 0e dd f2 52 65 64  |.............Red|
00002e70  72 61 77 45 47 0d 13 ce  11 41 25 3d 70 6f 6c 6c  |rawEG....A%=poll|
00002e80  65 64 62 25 21 34 0d 13  d8 11 42 25 3d 70 6f 6c  |edb%!4....B%=pol|
00002e90  6c 65 64 62 25 21 38 0d  13 e2 0d 43 25 3d 65 67  |ledb%!8....C%=eg|
00002ea0  70 74 72 25 0d 13 ec 0c  c8 95 20 6d 6f 72 65 25  |ptr%...... more%|
00002eb0  0d 13 f6 1a 20 20 c8 99  22 57 69 6d 70 5f 53 65  |....  .."Wimp_Se|
00002ec0  74 43 6f 6c 6f 75 72 22  2c 31 0d 14 00 20 20 20  |tColour",1...   |
00002ed0  86 20 41 25 2b 32 2c 42  25 2b 33 32 2c 41 25 2b  |. A%+2,B%+32,A%+|
00002ee0  31 30 32 34 2c 42 25 2b  33 32 0d 14 0a 20 20 20  |1024,B%+32...   |
00002ef0  86 20 41 25 2b 32 2c 42  25 2b 36 34 2c 41 25 2b  |. A%+2,B%+64,A%+|
00002f00  31 30 32 34 2c 42 25 2b  36 34 0d 14 14 20 20 20  |1024,B%+64...   |
00002f10  86 20 41 25 2b 32 2c 42  25 2b 39 36 2c 41 25 2b  |. A%+2,B%+96,A%+|
00002f20  31 30 32 34 2c 42 25 2b  39 36 0d 14 1e 22 20 20  |1024,B%+96..."  |
00002f30  86 20 41 25 2b 32 2c 42  25 2b 31 32 38 2c 41 25  |. A%+2,B%+128,A%|
00002f40  2b 31 30 32 34 2c 42 25  2b 31 32 38 0d 14 28 22  |+1024,B%+128..("|
00002f50  20 20 86 20 41 25 2b 32  2c 42 25 2b 31 36 30 2c  |  . A%+2,B%+160,|
00002f60  41 25 2b 31 30 32 34 2c  42 25 2b 31 36 30 0d 14  |A%+1024,B%+160..|
00002f70  32 22 20 20 86 20 41 25  2b 32 2c 42 25 2b 31 39  |2"  . A%+2,B%+19|
00002f80  32 2c 41 25 2b 31 30 32  34 2c 42 25 2b 31 39 32  |2,A%+1024,B%+192|
00002f90  0d 14 3c 22 20 20 86 20  41 25 2b 32 2c 42 25 2b  |..<"  . A%+2,B%+|
00002fa0  32 32 34 2c 41 25 2b 31  30 32 34 2c 42 25 2b 32  |224,A%+1024,B%+2|
00002fb0  32 34 0d 14 46 1a 20 20  c8 99 22 57 69 6d 70 5f  |24..F.  .."Wimp_|
00002fc0  53 65 74 43 6f 6c 6f 75  72 22 2c 37 0d 14 50 0f  |SetColour",7..P.|
00002fd0  20 20 d6 72 65 64 72 61  77 65 67 0d 14 5a 2b 20  |  .redraweg..Z+ |
00002fe0  20 c8 99 22 57 69 6d 70  5f 47 65 74 52 65 63 74  | .."Wimp_GetRect|
00002ff0  61 6e 67 6c 65 22 2c 2c  70 6f 6c 6c 65 64 62 25  |angle",,polledb%|
00003000  b8 6d 6f 72 65 25 0d 14  64 05 ce 0d 14 6e 05 e1  |.more%..d....n..|
00003010  0d 14 78 04 0d 14 82 10  dd f2 4a 75 73 74 52 65  |..x.......JustRe|
00003020  64 72 61 77 0d 14 8c 0c  c8 95 20 6d 6f 72 65 25  |draw...... more%|
00003030  0d 14 96 2b 20 20 c8 99  22 57 69 6d 70 5f 47 65  |...+  .."Wimp_Ge|
00003040  74 52 65 63 74 61 6e 67  6c 65 22 2c 2c 70 6f 6c  |tRectangle",,pol|
00003050  6c 65 64 62 25 b8 6d 6f  72 65 25 0d 14 a0 05 ce  |ledb%.more%.....|
00003060  0d 14 aa 05 e1 0d 14 b4  04 0d 14 be 11 dd f2 4f  |...............O|
00003070  70 65 6e 5f 57 69 6e 64  6f 77 0d 14 c8 30 e7 20  |pen_Window...0. |
00003080  70 6f 6c 6c 65 64 62 25  21 30 3d 77 77 6f 72 6b  |polledb%!0=wwork|
00003090  68 25 20 80 20 74 6f 6f  6c 73 25 20 8c 20 f2 4f  |h% . tools% . .O|
000030a0  70 65 6e 5f 57 6f 72 6b  3a e1 0d 14 d2 5c e7 20  |pen_Work:....\. |
000030b0  70 6f 6c 6c 65 64 62 25  21 30 3d 77 74 6f 6f 6c  |polledb%!0=wtool|
000030c0  73 25 20 8c 20 70 6f 6c  6c 65 64 62 25 21 30 3d  |s% . polledb%!0=|
000030d0  77 77 6f 72 6b 68 25 3a  c8 99 22 57 69 6d 70 5f  |wworkh%:.."Wimp_|
000030e0  47 65 74 57 69 6e 64 6f  77 53 74 61 74 65 22 2c  |GetWindowState",|
000030f0  2c 70 6f 6c 6c 65 64 62  25 3a f2 4f 70 65 6e 5f  |,polledb%:.Open_|
00003100  57 6f 72 6b 3a e1 0d 14  dc 21 c8 99 22 57 69 6d  |Work:....!.."Wim|
00003110  70 5f 4f 70 65 6e 57 69  6e 64 6f 77 22 2c 2c 70  |p_OpenWindow",,p|
00003120  6f 6c 6c 65 64 62 25 0d  14 e6 05 e1 0d 14 f0 04  |olledb%.........|
00003130  0d 14 fa 0f dd f2 4f 70  65 6e 5f 57 6f 72 6b 0d  |......Open_Work.|
00003140  15 04 16 20 20 74 65 6d  70 32 25 21 30 3d 77 77  |...  temp2%!0=ww|
00003150  6f 72 6b 68 25 0d 15 0e  25 20 20 c8 99 22 57 69  |orkh%...%  .."Wi|
00003160  6d 70 5f 47 65 74 57 69  6e 64 6f 77 53 74 61 74  |mp_GetWindowStat|
00003170  65 22 2c 2c 74 65 6d 70  32 25 0d 15 18 16 20 20  |e",,temp2%....  |
00003180  74 65 6d 70 25 21 30 3d  77 74 6f 6f 6c 73 68 25  |temp%!0=wtoolsh%|
00003190  0d 15 22 24 20 20 c8 99  22 57 69 6d 70 5f 47 65  |.."$  .."Wimp_Ge|
000031a0  74 57 69 6e 64 6f 77 53  74 61 74 65 22 2c 2c 74  |tWindowState",,t|
000031b0  65 6d 70 25 0d 15 2c 1c  20 20 74 65 6d 70 25 21  |emp%..,.  temp%!|
000031c0  34 3d 70 6f 6c 6c 65 64  62 25 21 34 2d 31 31 34  |4=polledb%!4-114|
000031d0  0d 15 36 1a 20 20 74 65  6d 70 25 21 31 36 3d 70  |..6.  temp%!16=p|
000031e0  6f 6c 6c 65 64 62 25 21  31 36 0d 15 40 1b 20 20  |olledb%!16..@.  |
000031f0  74 65 6d 70 25 21 31 32  3d 70 6f 6c 6c 65 64 62  |temp%!12=polledb|
00003200  25 21 34 2d 34 0d 15 4a  65 20 20 e7 20 70 6f 6c  |%!4-4..Je  . pol|
00003210  6c 65 64 62 25 21 31 36  2d 70 6f 6c 6c 65 64 62  |ledb%!16-polledb|
00003220  25 21 38 3e 36 32 30 20  8c 20 74 65 6d 70 25 21  |%!8>620 . temp%!|
00003230  38 3d 74 65 6d 70 25 21  31 36 2d 36 32 30 20 8b  |8=temp%!16-620 .|
00003240  20 74 65 6d 70 25 21 38  3d 74 65 6d 70 25 21 31  | temp%!8=temp%!1|
00003250  36 2d 28 70 6f 6c 6c 65  64 62 25 21 31 36 2d 70  |6-(polledb%!16-p|
00003260  6f 6c 6c 65 64 62 25 21  38 29 0d 15 54 37 20 20  |olledb%!8)..T7  |
00003270  e7 20 74 65 6d 70 25 21  34 3c 30 20 8c 20 74 65  |. temp%!4<0 . te|
00003280  6d 70 25 21 31 32 3d 74  65 6d 70 25 21 31 32 2d  |mp%!12=temp%!12-|
00003290  74 65 6d 70 25 21 34 3a  74 65 6d 70 25 21 34 3d  |temp%!4:temp%!4=|
000032a0  30 0d 15 5e 1d 20 20 41  25 3d 70 6f 6c 6c 65 64  |0..^.  A%=polled|
000032b0  62 25 21 34 3c 6f 6c 64  77 6f 72 6b 78 25 0d 15  |b%!4<oldworkx%..|
000032c0  68 28 20 20 41 25 3d 41  25 20 84 20 28 28 70 6f  |h(  A%=A% . ((po|
000032d0  6c 6c 65 64 62 25 21 34  2d 74 65 6d 70 25 21 34  |lledb%!4-temp%!4|
000032e0  29 3c 31 31 34 29 0d 15  72 27 20 20 41 25 3d 41  |)<114)..r'  A%=A|
000032f0  25 20 80 20 28 28 28 74  65 6d 70 32 25 21 33 32  |% . (((temp2%!32|
00003300  29 80 28 31 3c 3c 31 39  29 29 3d 30 29 0d 15 7c  |).(1<<19))=0)..||
00003310  28 20 20 41 25 3d 41 25  20 84 20 28 28 28 74 65  |(  A%=A% . (((te|
00003320  6d 70 32 25 21 33 32 29  80 28 31 3c 3c 31 38 29  |mp2%!32).(1<<18)|
00003330  29 3c 3e 30 29 0d 15 86  0c 20 20 e7 20 41 25 20  |)<>0)....  . A% |
00003340  8c 0d 15 90 1c 20 20 20  20 74 65 6d 70 25 21 32  |.....    temp%!2|
00003350  38 3d 70 6f 6c 6c 65 64  62 25 21 32 38 0d 15 9a  |8=polledb%!28...|
00003360  22 20 20 20 20 c8 99 22  57 69 6d 70 5f 4f 70 65  |"    .."Wimp_Ope|
00003370  6e 57 69 6e 64 6f 77 22  2c 2c 74 65 6d 70 25 0d  |nWindow",,temp%.|
00003380  15 a4 1c 20 20 20 20 70  6f 6c 6c 65 64 62 25 21  |...    polledb%!|
00003390  32 38 3d 77 74 6f 6f 6c  73 68 25 0d 15 ae 25 20  |28=wtoolsh%...% |
000033a0  20 20 20 c8 99 22 57 69  6d 70 5f 4f 70 65 6e 57  |   .."Wimp_OpenW|
000033b0  69 6e 64 6f 77 22 2c 2c  70 6f 6c 6c 65 64 62 25  |indow",,polledb%|
000033c0  0d 15 b8 07 20 20 cc 0d  15 c2 1c 20 20 20 20 74  |....  .....    t|
000033d0  65 6d 70 25 21 32 38 3d  70 6f 6c 6c 65 64 62 25  |emp%!28=polledb%|
000033e0  21 32 38 0d 15 cc 1c 20  20 20 20 70 6f 6c 6c 65  |!28....    polle|
000033f0  64 62 25 21 32 38 3d 77  74 6f 6f 6c 73 68 25 0d  |db%!28=wtoolsh%.|
00003400  15 d6 25 20 20 20 20 c8  99 22 57 69 6d 70 5f 4f  |..%    .."Wimp_O|
00003410  70 65 6e 57 69 6e 64 6f  77 22 2c 2c 70 6f 6c 6c  |penWindow",,poll|
00003420  65 64 62 25 0d 15 e0 29  20 20 20 20 c8 99 22 57  |edb%...)    .."W|
00003430  69 6d 70 5f 47 65 74 57  69 6e 64 6f 77 53 74 61  |imp_GetWindowSta|
00003440  74 65 22 2c 2c 70 6f 6c  6c 65 64 62 25 0d 15 ea  |te",,polledb%...|
00003450  1e 20 20 20 20 74 65 6d  70 25 21 34 3d 70 6f 6c  |.    temp%!4=pol|
00003460  6c 65 64 62 25 21 34 2d  31 31 34 0d 15 f4 1c 20  |ledb%!4-114.... |
00003470  20 20 20 74 65 6d 70 25  21 31 36 3d 70 6f 6c 6c  |   temp%!16=poll|
00003480  65 64 62 25 21 31 36 0d  15 fe 1d 20 20 20 20 74  |edb%!16....    t|
00003490  65 6d 70 25 21 31 32 3d  70 6f 6c 6c 65 64 62 25  |emp%!12=polledb%|
000034a0  21 34 2d 34 0d 16 08 67  20 20 20 20 e7 20 70 6f  |!4-4...g    . po|
000034b0  6c 6c 65 64 62 25 21 31  36 2d 70 6f 6c 6c 65 64  |lledb%!16-polled|
000034c0  62 25 21 38 3e 36 32 30  20 8c 20 74 65 6d 70 25  |b%!8>620 . temp%|
000034d0  21 38 3d 74 65 6d 70 25  21 31 36 2d 36 32 30 20  |!8=temp%!16-620 |
000034e0  8b 20 74 65 6d 70 25 21  38 3d 74 65 6d 70 25 21  |. temp%!8=temp%!|
000034f0  31 36 2d 28 70 6f 6c 6c  65 64 62 25 21 31 36 2d  |16-(polledb%!16-|
00003500  70 6f 6c 6c 65 64 62 25  21 38 29 0d 16 12 39 20  |polledb%!8)...9 |
00003510  20 20 20 e7 20 74 65 6d  70 25 21 34 3c 30 20 8c  |   . temp%!4<0 .|
00003520  20 74 65 6d 70 25 21 31  32 3d 74 65 6d 70 25 21  | temp%!12=temp%!|
00003530  31 32 2d 74 65 6d 70 25  21 34 3a 74 65 6d 70 25  |12-temp%!4:temp%|
00003540  21 34 3d 30 0d 16 1c 22  20 20 20 20 c8 99 22 57  |!4=0..."    .."W|
00003550  69 6d 70 5f 4f 70 65 6e  57 69 6e 64 6f 77 22 2c  |imp_OpenWindow",|
00003560  2c 74 65 6d 70 25 0d 16  26 1c 20 20 20 20 70 6f  |,temp%..&.    po|
00003570  6c 6c 65 64 62 25 21 32  38 3d 77 74 6f 6f 6c 73  |lledb%!28=wtools|
00003580  68 25 0d 16 30 25 20 20  20 20 c8 99 22 57 69 6d  |h%..0%    .."Wim|
00003590  70 5f 4f 70 65 6e 57 69  6e 64 6f 77 22 2c 2c 70  |p_OpenWindow",,p|
000035a0  6f 6c 6c 65 64 62 25 0d  16 3a 07 20 20 cd 0d 16  |olledb%..:.  ...|
000035b0  44 1a 20 20 6f 6c 64 77  6f 72 6b 78 25 3d 70 6f  |D.  oldworkx%=po|
000035c0  6c 6c 65 64 62 25 21 34  0d 16 4e 05 e1 0d 16 58  |lledb%!4..N....X|
000035d0  04 0d 16 62 12 dd f2 43  6c 6f 73 65 5f 57 69 6e  |...b...Close_Win|
000035e0  64 6f 77 0d 16 6c 22 c8  99 22 57 69 6d 70 5f 43  |dow..l".."Wimp_C|
000035f0  6c 6f 73 65 57 69 6e 64  6f 77 22 2c 2c 70 6f 6c  |loseWindow",,pol|
00003600  6c 65 64 62 25 0d 16 76  1a e7 20 70 6f 6c 6c 65  |ledb%..v.. polle|
00003610  64 62 25 21 30 3d 77 77  6f 72 6b 68 25 20 8c 0d  |db%!0=wworkh% ..|
00003620  16 80 19 20 20 70 6f 6c  6c 65 64 62 25 21 30 3d  |...  polledb%!0=|
00003630  77 74 6f 6f 6c 73 68 25  0d 16 8a 24 20 20 c8 99  |wtoolsh%...$  ..|
00003640  22 57 69 6d 70 5f 43 6c  6f 73 65 57 69 6e 64 6f  |"Wimp_CloseWindo|
00003650  77 22 2c 2c 70 6f 6c 6c  65 64 62 25 0d 16 94 05  |w",,polledb%....|
00003660  cd 0d 16 9e 05 e1 0d 16  a8 04 0d 16 b2 11 dd f2  |................|
00003670  4d 6f 75 73 65 5f 43 6c  69 63 6b 0d 16 bc 14 c8  |Mouse_Click.....|
00003680  8e 20 70 6f 6c 6c 65 64  62 25 21 31 32 20 ca 0d  |. polledb%!12 ..|
00003690  16 c6 1a 20 20 c9 20 77  77 6f 72 6b 68 25 3a f2  |...  . wworkh%:.|
000036a0  57 6f 72 6b 43 6c 69 63  6b 0d 16 d0 1c 20 20 c9  |WorkClick....  .|
000036b0  20 77 74 6f 6f 6c 73 68  25 3a f2 54 6f 6f 6c 73  | wtoolsh%:.Tools|
000036c0  43 6c 69 63 6b 0d 16 da  1f 20 20 c9 20 77 63 6f  |Click....  . wco|
000036d0  6e 73 74 61 6e 74 68 25  3a f2 43 6f 6e 73 74 43  |nstanth%:.ConstC|
000036e0  6c 69 63 6b 0d 16 e4 1c  20 20 c9 20 77 6d 75 6c  |lick....  . wmul|
000036f0  74 63 68 25 3a f2 4d 75  6c 74 43 43 6c 69 63 6b  |tch%:.MultCClick|
00003700  0d 16 ee 18 20 20 c9 20  77 76 63 6f 68 25 3a f2  |....  . wvcoh%:.|
00003710  56 43 4f 43 6c 69 63 6b  0d 16 f8 16 20 20 c9 20  |VCOClick....  . |
00003720  77 65 67 68 25 3a f2 45  47 43 6c 69 63 6b 0d 17  |wegh%:.EGClick..|
00003730  02 1e 20 20 c9 20 77 6e  6c 64 69 73 74 68 25 3a  |..  . wnldisth%:|
00003740  f2 4e 4c 44 69 73 74 43  6c 69 63 6b 0d 17 0c 1c  |.NLDistClick....|
00003750  20 20 c9 20 77 73 74 61  74 73 68 25 3a f2 53 74  |  . wstatsh%:.St|
00003760  61 74 73 43 6c 69 63 6b  0d 17 16 1c 20 20 c9 20  |atsClick....  . |
00003770  77 69 6e 70 75 74 68 25  3a f2 49 6e 70 75 74 43  |winputh%:.InputC|
00003780  6c 69 63 6b 0d 17 20 16  20 20 c9 20 2d 32 3a f2  |lick.. .  . -2:.|
00003790  49 63 6f 6e 42 43 6c 69  63 6b 0d 17 2a 05 cb 0d  |IconBClick..*...|
000037a0  17 34 05 e1 0d 17 3e 04  0d 17 48 10 dd f2 54 6f  |.4....>...H...To|
000037b0  6f 6c 73 43 6c 69 63 6b  0d 17 52 15 e7 20 70 6f  |olsClick..R.. po|
000037c0  6c 6c 65 64 62 25 21 38  3c 31 36 20 8c 0d 17 5c  |lledb%!8<16 ...\|
000037d0  16 20 20 c8 8e 20 70 6f  6c 6c 65 64 62 25 21 31  |.  .. polledb%!1|
000037e0  36 20 ca 0d 17 66 16 20  20 20 20 c9 20 30 3a f2  |6 ...f.    . 0:.|
000037f0  50 6f 70 50 6c 61 63 65  4d 0d 17 70 48 20 20 20  |PopPlaceM..pH   |
00003800  20 c9 20 31 3a 6c 61 73  74 6d 65 6e 75 25 3d 77  | . 1:lastmenu%=w|
00003810  6f 72 6b 6d 65 6e 75 25  3a 70 6f 6c 6c 65 64 62  |orkmenu%:polledb|
00003820  25 21 30 3d 32 3a 70 6f  6c 6c 65 64 62 25 21 34  |%!0=2:polledb%!4|
00003830  3d 2d 31 3a f2 4d 65 6e  75 5f 53 65 6c 65 63 74  |=-1:.Menu_Select|
00003840  32 0d 17 7a 48 20 20 20  20 c9 20 32 3a 6c 61 73  |2..zH    . 2:las|
00003850  74 6d 65 6e 75 25 3d 77  6f 72 6b 6d 65 6e 75 25  |tmenu%=workmenu%|
00003860  3a 70 6f 6c 6c 65 64 62  25 21 30 3d 31 3a 70 6f  |:polledb%!0=1:po|
00003870  6c 6c 65 64 62 25 21 34  3d 2d 31 3a f2 4d 65 6e  |lledb%!4=-1:.Men|
00003880  75 5f 53 65 6c 65 63 74  32 0d 17 84 55 20 20 20  |u_Select2...U   |
00003890  20 c9 20 33 3a 6c 61 73  74 6d 65 6e 75 25 3d 77  | . 3:lastmenu%=w|
000038a0  6f 72 6b 6d 65 6e 75 25  3a 70 6f 6c 6c 65 64 62  |orkmenu%:polledb|
000038b0  25 21 30 3d 31 3a 70 6f  6c 6c 65 64 62 25 21 34  |%!0=1:polledb%!4|
000038c0  3d 33 3a 70 6f 6c 6c 65  64 62 25 21 38 3d 2d 31  |=3:polledb%!8=-1|
000038d0  3a f2 4d 65 6e 75 5f 53  65 6c 65 63 74 32 0d 17  |:.Menu_Select2..|
000038e0  8e 55 20 20 20 20 c9 20  34 3a 6c 61 73 74 6d 65  |.U    . 4:lastme|
000038f0  6e 75 25 3d 77 6f 72 6b  6d 65 6e 75 25 3a 70 6f  |nu%=workmenu%:po|
00003900  6c 6c 65 64 62 25 21 30  3d 31 3a 70 6f 6c 6c 65  |lledb%!0=1:polle|
00003910  64 62 25 21 34 3d 34 3a  70 6f 6c 6c 65 64 62 25  |db%!4=4:polledb%|
00003920  21 38 3d 2d 31 3a f2 4d  65 6e 75 5f 53 65 6c 65  |!8=-1:.Menu_Sele|
00003930  63 74 32 0d 17 98 55 20  20 20 20 c9 20 35 3a 6c  |ct2...U    . 5:l|
00003940  61 73 74 6d 65 6e 75 25  3d 77 6f 72 6b 6d 65 6e  |astmenu%=workmen|
00003950  75 25 3a 70 6f 6c 6c 65  64 62 25 21 30 3d 31 3a  |u%:polledb%!0=1:|
00003960  70 6f 6c 6c 65 64 62 25  21 34 3d 30 3a 70 6f 6c  |polledb%!4=0:pol|
00003970  6c 65 64 62 25 21 38 3d  2d 31 3a f2 4d 65 6e 75  |ledb%!8=-1:.Menu|
00003980  5f 53 65 6c 65 63 74 32  0d 17 a2 55 20 20 20 20  |_Select2...U    |
00003990  c9 20 36 3a 6c 61 73 74  6d 65 6e 75 25 3d 77 6f  |. 6:lastmenu%=wo|
000039a0  72 6b 6d 65 6e 75 25 3a  70 6f 6c 6c 65 64 62 25  |rkmenu%:polledb%|
000039b0  21 30 3d 31 3a 70 6f 6c  6c 65 64 62 25 21 34 3d  |!0=1:polledb%!4=|
000039c0  31 3a 70 6f 6c 6c 65 64  62 25 21 38 3d 2d 31 3a  |1:polledb%!8=-1:|
000039d0  f2 4d 65 6e 75 5f 53 65  6c 65 63 74 32 0d 17 ac  |.Menu_Select2...|
000039e0  55 20 20 20 20 c9 20 37  3a 6c 61 73 74 6d 65 6e  |U    . 7:lastmen|
000039f0  75 25 3d 77 6f 72 6b 6d  65 6e 75 25 3a 70 6f 6c  |u%=workmenu%:pol|
00003a00  6c 65 64 62 25 21 30 3d  31 3a 70 6f 6c 6c 65 64  |ledb%!0=1:polled|
00003a10  62 25 21 34 3d 32 3a 70  6f 6c 6c 65 64 62 25 21  |b%!4=2:polledb%!|
00003a20  38 3d 2d 31 3a f2 4d 65  6e 75 5f 53 65 6c 65 63  |8=-1:.Menu_Selec|
00003a30  74 32 0d 17 b6 48 20 20  20 20 c9 20 38 3a 6c 61  |t2...H    . 8:la|
00003a40  73 74 6d 65 6e 75 25 3d  77 6f 72 6b 6d 65 6e 75  |stmenu%=workmenu|
00003a50  25 3a 70 6f 6c 6c 65 64  62 25 21 30 3d 33 3a 70  |%:polledb%!0=3:p|
00003a60  6f 6c 6c 65 64 62 25 21  34 3d 2d 31 3a f2 4d 65  |olledb%!4=-1:.Me|
00003a70  6e 75 5f 53 65 6c 65 63  74 32 0d 17 c0 07 20 20  |nu_Select2....  |
00003a80  cb 0d 17 ca 05 cd 0d 17  d4 05 e1 0d 17 de 04 0d  |................|
00003a90  17 e8 0f dd f2 50 6f 70  50 6c 61 63 65 4d 0d 17  |.....PopPlaceM..|
00003aa0  f2 71 6c 61 73 74 6d 78  25 3d 70 6f 6c 6c 65 64  |.qlastmx%=polled|
00003ab0  62 25 21 30 2d 36 34 3a  6c 61 73 74 6d 79 25 3d  |b%!0-64:lastmy%=|
00003ac0  70 6f 6c 6c 65 64 62 25  21 34 2b 31 32 3a 6c 61  |polledb%!4+12:la|
00003ad0  73 74 6d 65 6e 75 25 3d  61 64 64 6d 65 6e 75 25  |stmenu%=addmenu%|
00003ae0  3a c8 99 22 57 69 6d 70  5f 43 72 65 61 74 65 4d  |:.."Wimp_CreateM|
00003af0  65 6e 75 22 2c 2c 6c 61  73 74 6d 65 6e 75 25 2c  |enu",,lastmenu%,|
00003b00  6c 61 73 74 6d 78 25 2c  6c 61 73 74 6d 79 25 0d  |lastmx%,lastmy%.|
00003b10  17 fc 05 e1 0d 18 06 04  0d 18 10 10 dd f2 53 61  |..............Sa|
00003b20  76 65 61 73 73 68 43 6c  0d 18 1a 38 e7 20 70 6f  |veasshCl...8. po|
00003b30  6c 6c 65 64 62 25 21 31  36 3d 30 20 8c 20 73 61  |lledb%!16=0 . sa|
00003b40  76 65 74 79 70 65 25 3d  30 3a f2 44 72 61 67 53  |vetype%=0:.DragS|
00003b50  61 76 65 28 77 73 61 76  65 61 73 73 68 68 25 29  |ave(wsaveasshh%)|
00003b60  0d 18 24 15 e7 20 70 6f  6c 6c 65 64 62 25 21 31  |..$.. polledb%!1|
00003b70  36 3d 32 20 8c 0d 18 2e  19 20 20 74 65 6d 70 25  |6=2 .....  temp%|
00003b80  21 30 3d 77 73 61 76 65  61 73 73 68 68 25 0d 18  |!0=wsaveasshh%..|
00003b90  38 0f 20 20 74 65 6d 70  25 21 34 3d 31 0d 18 42  |8.  temp%!4=1..B|
00003ba0  22 20 20 c8 99 22 57 69  6d 70 5f 47 65 74 49 63  |"  .."Wimp_GetIc|
00003bb0  6f 6e 53 74 61 74 65 22  2c 2c 74 65 6d 70 25 0d  |onState",,temp%.|
00003bc0  18 4c 17 20 20 66 24 3d  24 28 21 28 74 65 6d 70  |.L.  f$=$(!(temp|
00003bd0  25 2b 32 38 29 29 0d 18  56 25 20 20 e7 20 28 a7  |%+28))..V%  . (.|
00003be0  66 24 2c 22 2e 22 29 3d  30 29 20 80 20 28 a7 66  |f$,".")=0) . (.f|
00003bf0  24 2c 22 3a 22 29 3d 30  29 20 8c 0d 18 60 2e 20  |$,":")=0) ...`. |
00003c00  20 20 20 f2 52 65 70 6f  72 74 45 72 72 28 22 50  |   .ReportErr("P|
00003c10  6c 65 61 73 65 20 67 69  76 65 20 61 20 64 69 72  |lease give a dir|
00003c20  65 63 74 6f 72 79 2e 22  29 0d 18 6a 07 20 20 cc  |ectory.")..j.  .|
00003c30  0d 18 74 11 20 20 f2 53  61 76 65 53 68 28 66 24  |..t.  .SaveSh(f$|
00003c40  29 0d 18 7e 14 20 20 e7  20 66 25 3c 3e 30 20 8c  |)..~.  . f%<>0 .|
00003c50  20 d9 23 66 25 0d 18 88  25 20 20 c8 99 22 57 69  | .#f%...%  .."Wi|
00003c60  6d 70 5f 43 72 65 61 74  65 4d 65 6e 75 22 2c 2d  |mp_CreateMenu",-|
00003c70  31 2c 2d 31 2c 2d 31 2c  2d 31 0d 18 92 07 20 20  |1,-1,-1,-1....  |
00003c80  cd 0d 18 9c 05 cd 0d 18  a6 05 e1 0d 18 b0 04 0d  |................|
00003c90  18 ba 11 dd f2 4e 4c 44  69 73 74 43 6c 69 63 6b  |.....NLDistClick|
00003ca0  0d 18 c4 1e c8 99 22 4f  53 5f 42 79 74 65 22 2c  |......"OS_Byte",|
00003cb0  32 30 32 2c 30 2c 32 35  35 b8 2c 73 68 25 0d 18  |202,0,255.,sh%..|
00003cc0  ce 11 e7 20 28 73 68 25  80 38 29 3d 30 20 8c 0d  |... (sh%.8)=0 ..|
00003cd0  18 d8 11 61 25 3d 6e 6c  64 69 73 74 70 74 72 25  |...a%=nldistptr%|
00003ce0  0d 18 e2 0f c8 97 20 41  25 2c 42 25 2c 43 25 0d  |...... A%,B%,C%.|
00003cf0  18 ec 1c e7 20 43 25 3d  30 20 8c 20 6e 6c 64 69  |.... C%=0 . nldi|
00003d00  73 74 6c 61 73 74 78 25  3d 2d 31 0d 18 f6 29 e7  |stlastx%=-1...).|
00003d10  20 28 43 25 80 34 29 84  28 28 43 25 80 31 29 80  | (C%.4).((C%.1).|
00003d20  28 6e 6c 64 69 73 74 6c  61 73 74 78 25 3d 2d 31  |(nldistlastx%=-1|
00003d30  29 29 20 8c 0d 19 00 17  20 20 74 65 6d 70 25 21  |)) .....  temp%!|
00003d40  30 3d 77 6e 6c 64 69 73  74 68 25 0d 19 0a 24 20  |0=wnldisth%...$ |
00003d50  20 c8 99 22 57 69 6d 70  5f 47 65 74 57 69 6e 64  | .."Wimp_GetWind|
00003d60  6f 77 53 74 61 74 65 22  2c 2c 74 65 6d 70 25 0d  |owState",,temp%.|
00003d70  19 14 24 20 20 78 25 3d  70 6f 6c 6c 65 64 62 25  |..$  x%=polledb%|
00003d80  21 30 2d 74 65 6d 70 25  21 34 2b 74 65 6d 70 25  |!0-temp%!4+temp%|
00003d90  21 32 30 0d 19 1e 25 20  20 79 25 3d 70 6f 6c 6c  |!20...%  y%=poll|
00003da0  65 64 62 25 21 34 2d 74  65 6d 70 25 21 31 36 2b  |edb%!4-temp%!16+|
00003db0  74 65 6d 70 25 21 32 34  0d 19 28 2f 20 20 e7 20  |temp%!24..(/  . |
00003dc0  28 78 25 3e 3d 30 29 80  28 78 25 3c 3d 35 31 30  |(x%>=0).(x%<=510|
00003dd0  29 80 28 79 25 3c 3d 2d  32 29 80 28 79 25 3e 3d  |).(y%<=-2).(y%>=|
00003de0  2d 35 31 32 29 20 8c 0d  19 32 14 20 20 20 20 f2  |-512) ...2.    .|
00003df0  4d 6f 64 54 69 74 6c 65  28 30 29 0d 19 3c 1a 20  |ModTitle(0)..<. |
00003e00  20 20 20 61 25 3f 28 78  25 2f 32 29 3d 32 35 36  |   a%?(x%/2)=256|
00003e10  2b 79 25 2f 32 0d 19 46  19 20 20 20 20 6e 6c 64  |+y%/2..F.    nld|
00003e20  69 73 74 6c 61 73 74 78  25 3d 78 25 2f 32 0d 19  |istlastx%=x%/2..|
00003e30  50 1d 20 20 20 20 6e 6c  64 69 73 74 6c 61 73 74  |P.    nldistlast|
00003e40  79 25 3d 32 35 36 2b 79  25 2f 32 0d 19 5a 35 20  |y%=256+y%/2..Z5 |
00003e50  20 20 20 c8 99 22 57 69  6d 70 5f 46 6f 72 63 65  |   .."Wimp_Force|
00003e60  52 65 64 72 61 77 22 2c  77 6e 6c 64 69 73 74 68  |Redraw",wnldisth|
00003e70  25 2c 78 25 2c 2d 35 31  32 2c 78 25 2b 32 2c 30  |%,x%,-512,x%+2,0|
00003e80  0d 19 64 07 20 20 cd 0d  19 6e 05 cd 0d 19 78 21  |..d.  ...n....x!|
00003e90  e7 20 28 43 25 80 31 29  80 28 6e 6c 64 69 73 74  |. (C%.1).(nldist|
00003ea0  6c 61 73 74 78 25 3c 3e  2d 31 29 20 8c 0d 19 82  |lastx%<>-1) ....|
00003eb0  17 20 20 74 65 6d 70 25  21 30 3d 77 6e 6c 64 69  |.  temp%!0=wnldi|
00003ec0  73 74 68 25 0d 19 8c 24  20 20 c8 99 22 57 69 6d  |sth%...$  .."Wim|
00003ed0  70 5f 47 65 74 57 69 6e  64 6f 77 53 74 61 74 65  |p_GetWindowState|
00003ee0  22 2c 2c 74 65 6d 70 25  0d 19 96 24 20 20 78 25  |",,temp%...$  x%|
00003ef0  3d 70 6f 6c 6c 65 64 62  25 21 30 2d 74 65 6d 70  |=polledb%!0-temp|
00003f00  25 21 34 2b 74 65 6d 70  25 21 32 30 0d 19 a0 25  |%!4+temp%!20...%|
00003f10  20 20 79 25 3d 70 6f 6c  6c 65 64 62 25 21 34 2d  |  y%=polledb%!4-|
00003f20  74 65 6d 70 25 21 31 36  2b 74 65 6d 70 25 21 32  |temp%!16+temp%!2|
00003f30  34 0d 19 aa 2f 20 20 e7  20 28 78 25 3e 3d 30 29  |4.../  . (x%>=0)|
00003f40  80 28 78 25 3c 3d 35 31  30 29 80 28 79 25 3c 3d  |.(x%<=510).(y%<=|
00003f50  2d 32 29 80 28 79 25 3e  3d 2d 35 31 32 29 20 8c  |-2).(y%>=-512) .|
00003f60  0d 19 b4 14 20 20 20 20  f2 4d 6f 64 54 69 74 6c  |....    .ModTitl|
00003f70  65 28 30 29 0d 19 be 17  20 20 20 20 73 78 3d 6e  |e(0)....    sx=n|
00003f80  6c 64 69 73 74 6c 61 73  74 78 25 0d 19 c8 17 20  |ldistlastx%.... |
00003f90  20 20 20 73 79 3d 6e 6c  64 69 73 74 6c 61 73 74  |   sy=nldistlast|
00003fa0  79 25 0d 19 d2 0f 20 20  20 20 65 78 3d 78 25 81  |y%....    ex=x%.|
00003fb0  32 0d 19 dc 13 20 20 20  20 65 79 3d 32 35 36 2b  |2....    ey=256+|
00003fc0  79 25 2f 32 0d 19 e6 16  20 20 20 20 e7 20 94 28  |y%/2....    . .(|
00003fd0  73 78 2d 65 78 29 3c 31  20 8c 0d 19 f0 1b 20 20  |sx-ex)<1 .....  |
00003fe0  20 20 20 61 25 3f 28 78  25 2f 32 29 3d 32 35 36  |   a%?(x%/2)=256|
00003ff0  2b 79 25 2f 32 0d 19 fa  09 20 20 20 20 cc 0d 1a  |+y%/2....    ...|
00004000  04 0e 20 20 20 20 20 20  79 3d 73 79 0d 1a 0e 15  |..      y=sy....|
00004010  20 20 20 20 20 20 64 78  3d b4 28 65 78 2d 73 78  |      dx=.(ex-sx|
00004020  29 0d 1a 18 1d 20 20 20  20 20 20 64 79 3d 28 65  |)....      dy=(e|
00004030  79 2d 73 79 29 2f 94 28  65 78 2d 73 78 29 0d 1a  |y-sy)/.(ex-sx)..|
00004040  22 1a 20 20 20 20 20 20  e3 20 78 3d 73 78 20 b8  |".      . x=sx .|
00004050  20 65 78 20 88 20 64 78  0d 1a 2c 12 20 20 20 20  | ex . dx..,.    |
00004060  20 20 20 20 61 25 3f 78  3d 79 0d 1a 36 11 20 20  |    a%?x=y..6.  |
00004070  20 20 20 20 20 20 79 2b  3d 64 79 0d 1a 40 0c 20  |      y+=dy..@. |
00004080  20 20 20 20 20 ed 78 0d  1a 4a 09 20 20 20 20 cd  |     .x..J.    .|
00004090  0d 1a 54 19 20 20 20 20  6e 6c 64 69 73 74 6c 61  |..T.    nldistla|
000040a0  73 74 78 25 3d 78 25 2f  32 0d 1a 5e 1d 20 20 20  |stx%=x%/2..^.   |
000040b0  20 6e 6c 64 69 73 74 6c  61 73 74 79 25 3d 32 35  | nldistlasty%=25|
000040c0  36 2b 79 25 2f 32 0d 1a  68 1a 20 20 20 20 e7 20  |6+y%/2..h.    . |
000040d0  73 78 3e 65 78 20 8c 20  c8 94 20 73 78 2c 65 78  |sx>ex . .. sx,ex|
000040e0  0d 1a 72 1a 20 20 20 20  e7 20 73 79 3e 65 79 20  |..r.    . sy>ey |
000040f0  8c 20 c8 94 20 73 79 2c  65 79 0d 1a 7c 39 20 20  |. .. sy,ey..|9  |
00004100  20 20 c8 99 22 57 69 6d  70 5f 46 6f 72 63 65 52  |  .."Wimp_ForceR|
00004110  65 64 72 61 77 22 2c 77  6e 6c 64 69 73 74 68 25  |edraw",wnldisth%|
00004120  2c 73 78 2a 32 2c 2d 35  31 32 2c 65 78 2a 32 2b  |,sx*2,-512,ex*2+|
00004130  32 2c 30 0d 1a 86 07 20  20 cd 0d 1a 90 05 cd 0d  |2,0....  .......|
00004140  1a 9a 05 cd 0d 1a a4 05  e1 0d 1a ae 04 0d 1a b8  |................|
00004150  10 dd f2 53 74 61 74 73  43 6c 69 63 6b 0d 1a c2  |...StatsClick...|
00004160  14 e7 20 70 6f 6c 6c 65  64 62 25 21 38 3c 38 20  |.. polledb%!8<8 |
00004170  8c 0d 1a cc 35 20 20 e7  20 70 6f 6c 6c 65 64 62  |....5  . polledb|
00004180  25 21 31 36 3d 34 20 8c  20 73 61 6d 74 79 70 65  |%!16=4 . samtype|
00004190  25 3d 30 3a f2 53 65 6e  64 53 46 58 45 44 28 26  |%=0:.SendSFXED(&|
000041a0  34 34 36 34 30 29 0d 1a  d6 35 20 20 e7 20 70 6f  |44640)...5  . po|
000041b0  6c 6c 65 64 62 25 21 31  36 3d 35 20 8c 20 73 61  |lledb%!16=5 . sa|
000041c0  6d 74 79 70 65 25 3d 31  3a f2 53 65 6e 64 53 46  |mtype%=1:.SendSF|
000041d0  58 45 44 28 26 34 34 36  34 31 29 0d 1a e0 35 20  |XED(&44641)...5 |
000041e0  20 e7 20 70 6f 6c 6c 65  64 62 25 21 31 36 3d 36  | . polledb%!16=6|
000041f0  20 8c 20 73 61 6d 74 79  70 65 25 3d 32 3a f2 53  | . samtype%=2:.S|
00004200  65 6e 64 53 46 58 45 44  28 26 34 34 36 34 32 29  |endSFXED(&44642)|
00004210  0d 1a ea 05 cd 0d 1a f4  05 e1 0d 1a fe 04 0d 1b  |................|
00004220  08 13 dd f2 53 65 6e 64  53 46 58 45 44 28 4d 25  |....SendSFXED(M%|
00004230  29 0d 1b 12 11 48 25 3d  a4 47 65 74 53 46 58 45  |)....H%=.GetSFXE|
00004240  44 48 0d 1b 1c 0c e7 20  48 25 3d 30 20 8c 0d 1b  |DH..... H%=0 ...|
00004250  26 26 20 20 f2 52 65 70  6f 72 74 45 72 72 28 22  |&&  .ReportErr("|
00004260  53 46 58 45 44 20 6e 6f  74 20 70 72 65 73 65 6e  |SFXED not presen|
00004270  74 2e 22 29 0d 1b 30 05  cc 0d 1b 3a 11 20 20 74  |t.")..0....:.  t|
00004280  65 6d 70 25 21 30 3d 32  35 36 0d 1b 44 0f 20 20  |emp%!0=256..D.  |
00004290  74 65 6d 70 25 21 34 3d  30 0d 1b 4e 0f 20 20 74  |temp%!4=0..N.  t|
000042a0  65 6d 70 25 21 38 3d 30  0d 1b 58 10 20 20 74 65  |emp%!8=0..X.  te|
000042b0  6d 70 25 21 31 32 3d 30  0d 1b 62 11 20 20 74 65  |mp%!12=0..b.  te|
000042c0  6d 70 25 21 31 36 3d 4d  25 0d 1b 6c 26 20 20 c8  |mp%!16=M%..l&  .|
000042d0  99 22 57 69 6d 70 5f 53  65 6e 64 4d 65 73 73 61  |."Wimp_SendMessa|
000042e0  67 65 22 2c 31 37 2c 74  65 6d 70 25 2c 48 25 0d  |ge",17,temp%,H%.|
000042f0  1b 76 05 cd 0d 1b 80 05  e1 0d 1b 8a 04 0d 1b 94  |.v..............|
00004300  13 dd f2 44 72 61 67 53  61 76 65 28 77 68 25 29  |...DragSave(wh%)|
00004310  0d 1b 9e 0f 74 65 6d 70  25 21 30 3d 77 68 25 0d  |....temp%!0=wh%.|
00004320  1b a8 22 c8 99 22 57 69  6d 70 5f 47 65 74 57 69  |..".."Wimp_GetWi|
00004330  6e 64 6f 77 53 74 61 74  65 22 2c 2c 74 65 6d 70  |ndowState",,temp|
00004340  25 0d 1b b2 1c 77 78 25  3d 28 74 65 6d 70 25 21  |%....wx%=(temp%!|
00004350  34 29 2d 28 74 65 6d 70  25 21 32 30 29 0d 1b bc  |4)-(temp%!20)...|
00004360  1d 77 79 25 3d 28 74 65  6d 70 25 21 31 36 29 2d  |.wy%=(temp%!16)-|
00004370  28 74 65 6d 70 25 21 32  34 29 0d 1b c6 0d 74 65  |(temp%!24)....te|
00004380  6d 70 25 21 34 3d 30 0d  1b d0 21 c8 99 20 22 57  |mp%!4=0...!.. "W|
00004390  69 6d 70 5f 47 65 74 49  63 6f 6e 53 74 61 74 65  |imp_GetIconState|
000043a0  22 2c 2c 74 65 6d 70 25  0d 1b da 0e 64 72 61 67  |",,temp%....drag|
000043b0  62 25 21 30 3d 30 0d 1b  e4 0e 64 72 61 67 62 25  |b%!0=0....dragb%|
000043c0  21 34 3d 35 0d 1b ee 1a  64 72 61 67 62 25 21 38  |!4=5....dragb%!8|
000043d0  3d 28 74 65 6d 70 25 21  38 29 2b 77 78 25 0d 1b  |=(temp%!8)+wx%..|
000043e0  f8 1c 64 72 61 67 62 25  21 31 32 3d 28 74 65 6d  |..dragb%!12=(tem|
000043f0  70 25 21 31 32 29 2b 77  79 25 0d 1c 02 1c 64 72  |p%!12)+wy%....dr|
00004400  61 67 62 25 21 31 36 3d  28 74 65 6d 70 25 21 31  |agb%!16=(temp%!1|
00004410  36 29 2b 77 78 25 0d 1c  0c 1c 64 72 61 67 62 25  |6)+wx%....dragb%|
00004420  21 32 30 3d 28 74 65 6d  70 25 21 32 30 29 2b 77  |!20=(temp%!20)+w|
00004430  79 25 0d 1c 16 0f 64 72  61 67 62 25 21 32 34 3d  |y%....dragb%!24=|
00004440  30 0d 1c 20 0f 64 72 61  67 62 25 21 32 38 3d 30  |0.. .dragb%!28=0|
00004450  0d 1c 2a 13 64 72 61 67  62 25 21 33 32 3d 33 32  |..*.dragb%!32=32|
00004460  37 36 38 0d 1c 34 13 64  72 61 67 62 25 21 33 36  |768..4.dragb%!36|
00004470  3d 33 32 37 36 38 0d 1c  3e 0f 64 72 61 67 62 25  |=32768..>.dragb%|
00004480  21 34 30 3d 30 0d 1c 48  0f 64 72 61 67 62 25 21  |!40=0..H.dragb%!|
00004490  34 34 3d 30 0d 1c 52 0f  64 72 61 67 62 25 21 34  |44=0..R.dragb%!4|
000044a0  38 3d 30 0d 1c 5c 0f 64  72 61 67 62 25 21 35 32  |8=0..\.dragb%!52|
000044b0  3d 30 0d 1c 66 1c c8 99  22 57 69 6d 70 5f 44 72  |=0..f..."Wimp_Dr|
000044c0  61 67 42 6f 78 22 2c 2c  64 72 61 67 62 25 0d 1c  |agBox",,dragb%..|
000044d0  70 05 e1 0d 1c 7a 04 0d  1c 84 0f dd f2 44 72 61  |p....z.......Dra|
000044e0  67 53 61 76 65 64 0d 1c  8e 15 e7 20 73 61 76 65  |gSaved..... save|
000044f0  74 79 70 65 25 3c 3e 2d  31 20 8c 0d 1c 98 14 20  |type%<>-1 ..... |
00004500  20 c8 8e 20 73 61 76 65  74 79 70 65 25 20 ca 0d  | .. savetype% ..|
00004510  1c a2 2e 20 20 20 20 c9  20 30 3a 74 65 6d 70 32  |...    . 0:temp2|
00004520  25 21 34 30 3d 26 63 33  36 3a 74 65 6d 70 25 21  |%!40=&c36:temp%!|
00004530  30 3d 77 73 61 76 65 61  73 73 68 68 25 0d 1c ac  |0=wsaveasshh%...|
00004540  07 20 20 cb 0d 1c b6 0f  20 20 74 65 6d 70 25 21  |.  .....  temp%!|
00004550  34 3d 31 0d 1c c0 22 20  20 c8 99 22 57 69 6d 70  |4=1..."  .."Wimp|
00004560  5f 47 65 74 49 63 6f 6e  53 74 61 74 65 22 2c 2c  |_GetIconState",,|
00004570  74 65 6d 70 25 0d 1c ca  29 20 20 24 28 74 65 6d  |temp%...)  $(tem|
00004580  70 32 25 2b 34 34 29 3d  a4 53 74 72 69 70 28 24  |p2%+44)=.Strip($|
00004590  28 21 28 74 65 6d 70 25  2b 32 38 29 29 29 0d 1c  |(!(temp%+28)))..|
000045a0  d4 24 20 20 c8 99 22 57  69 6d 70 5f 47 65 74 50  |.$  .."Wimp_GetP|
000045b0  6f 69 6e 74 65 72 49 6e  66 6f 22 2c 2c 74 65 6d  |ointerInfo",,tem|
000045c0  70 25 0d 1c de 12 20 20  74 65 6d 70 32 25 21 30  |p%....  temp2%!0|
000045d0  3d 32 35 36 0d 1c e8 10  20 20 74 65 6d 70 32 25  |=256....  temp2%|
000045e0  21 34 3d 30 0d 1c f2 10  20 20 74 65 6d 70 32 25  |!4=0....  temp2%|
000045f0  21 38 3d 30 0d 1c fc 11  20 20 74 65 6d 70 32 25  |!8=0....  temp2%|
00004600  21 31 32 3d 30 0d 1d 06  11 20 20 74 65 6d 70 32  |!12=0....  temp2|
00004610  25 21 31 36 3d 31 0d 1d  10 18 20 20 74 65 6d 70  |%!16=1....  temp|
00004620  32 25 21 32 30 3d 74 65  6d 70 25 21 31 32 0d 1d  |2%!20=temp%!12..|
00004630  1a 18 20 20 74 65 6d 70  32 25 21 32 34 3d 74 65  |..  temp2%!24=te|
00004640  6d 70 25 21 31 36 0d 1d  24 17 20 20 74 65 6d 70  |mp%!16..$.  temp|
00004650  32 25 21 32 38 3d 74 65  6d 70 25 21 30 0d 1d 2e  |2%!28=temp%!0...|
00004660  17 20 20 74 65 6d 70 32  25 21 33 32 3d 74 65 6d  |.  temp2%!32=tem|
00004670  70 25 21 34 0d 1d 38 11  20 20 74 65 6d 70 32 25  |p%!4..8.  temp2%|
00004680  21 33 36 3d 31 0d 1d 42  37 20 20 c8 99 20 22 57  |!36=1..B7  .. "W|
00004690  69 6d 70 5f 53 65 6e 64  4d 65 73 73 61 67 65 22  |imp_SendMessage"|
000046a0  2c 31 37 2c 74 65 6d 70  32 25 2c 74 65 6d 70 25  |,17,temp2%,temp%|
000046b0  21 31 32 2c 74 65 6d 70  25 21 31 36 0d 1d 4c 1d  |!12,temp%!16..L.|
000046c0  20 20 c8 99 22 57 69 6d  70 5f 43 72 65 61 74 65  |  .."Wimp_Create|
000046d0  4d 65 6e 75 22 2c 2c 2d  31 0d 1d 56 05 cd 0d 1d  |Menu",,-1..V....|
000046e0  60 05 e1 0d 1d 6a 04 0d  1d 74 12 dd f2 4d 42 53  |`....j...t...MBS|
000046f0  74 72 69 6e 67 28 73 25  29 0d 1d 7e 15 c8 95 20  |tring(s%)..~... |
00004700  3f 73 25 3e 33 31 20 73  25 2b 3d 31 3a ce 0d 1d  |?s%>31 s%+=1:...|
00004710  88 0a 3f 73 25 3d 31 33  0d 1d 92 05 e1 0d 1d 9c  |..?s%=13........|
00004720  04 0d 1d a6 0e dd f2 44  61 74 61 53 61 76 65 0d  |.......DataSave.|
00004730  1d b0 19 e7 20 6d 65 73  73 62 6b 25 21 34 3c 3e  |.... messbk%!4<>|
00004740  74 61 73 6b 68 25 20 8c  0d 1d ba 37 20 20 c8 99  |taskh% ....7  ..|
00004750  22 58 4f 53 5f 52 65 61  64 56 61 72 56 61 6c 22  |"XOS_ReadVarVal"|
00004760  2c 22 57 69 6d 70 24 53  63 72 61 70 22 2c 74 65  |,"Wimp$Scrap",te|
00004770  6d 70 25 2c 2d 31 2c 30  2c 30 b8 2c 2c 41 25 0d  |mp%,-1,0,0.,,A%.|
00004780  1d c4 0e 20 20 e7 20 41  25 3d 30 20 8c 0d 1d ce  |...  . A%=0 ....|
00004790  2f 20 20 20 20 f2 52 65  70 6f 72 74 45 72 72 28  |/    .ReportErr(|
000047a0  22 3c 57 69 6d 70 24 53  63 72 61 70 3e 20 6e 6f  |"<Wimp$Scrap> no|
000047b0  74 20 64 65 66 69 6e 65  64 2e 22 29 0d 1d d8 07  |t defined.")....|
000047c0  20 20 cc 0d 1d e2 2a 20  20 20 20 66 69 6c 65 74  |  ....*    filet|
000047d0  6f 6c 6f 61 64 32 24 3d  a4 53 74 72 69 70 28 24  |oload2$=.Strip($|
000047e0  28 6d 65 73 73 62 6b 25  2b 34 34 29 29 0d 1d ec  |(messbk%+44))...|
000047f0  15 20 20 20 20 6d 65 73  73 62 6b 25 21 30 3d 32  |.    messbk%!0=2|
00004800  35 36 0d 1d f6 29 20 20  20 20 24 28 6d 65 73 73  |56...)    $(mess|
00004810  62 6b 25 2b 34 34 29 3d  22 3c 57 69 6d 70 24 53  |bk%+44)="<Wimp$S|
00004820  63 72 61 70 3e 22 2b bd  28 30 29 0d 1e 00 1c 20  |crap>"+.(0).... |
00004830  20 20 20 6d 65 73 73 62  6b 25 21 31 32 3d 6d 65  |   messbk%!12=me|
00004840  73 73 62 6b 25 21 38 0d  1e 0a 14 20 20 20 20 6d  |ssbk%!8....    m|
00004850  65 73 73 62 6b 25 21 31  36 3d 32 0d 1e 14 15 20  |essbk%!16=2.... |
00004860  20 20 20 6d 65 73 73 62  6b 25 21 33 36 3d 2d 31  |   messbk%!36=-1|
00004870  0d 1e 1e 31 20 20 20 20  c8 99 22 57 69 6d 70 5f  |...1    .."Wimp_|
00004880  53 65 6e 64 4d 65 73 73  61 67 65 22 2c 31 37 2c  |SendMessage",17,|
00004890  6d 65 73 73 62 6b 25 2c  6d 65 73 73 62 6b 25 21  |messbk%,messbk%!|
000048a0  34 0d 1e 28 07 20 20 cd  0d 1e 32 05 cd 0d 1e 3c  |4..(.  ...2....<|
000048b0  05 e1 0d 1e 46 04 0d 1e  50 0d dd f2 53 61 76 65  |....F...P...Save|
000048c0  41 63 6b 0d 1e 5a 15 e7  20 73 61 76 65 74 79 70  |Ack..Z.. savetyp|
000048d0  65 25 3c 3e 2d 31 20 8c  0d 1e 64 14 20 20 c8 8e  |e%<>-1 ...d.  ..|
000048e0  20 73 61 76 65 74 79 70  65 25 20 ca 0d 1e 6e 1f  | savetype% ...n.|
000048f0  20 20 20 20 c9 20 30 3a  74 65 6d 70 25 21 30 3d  |    . 0:temp%!0=|
00004900  77 73 61 76 65 61 73 73  68 68 25 0d 1e 78 07 20  |wsaveasshh%..x. |
00004910  20 cb 0d 1e 82 0f 20 20  74 65 6d 70 25 21 34 3d  | .....  temp%!4=|
00004920  31 0d 1e 8c 22 20 20 c8  99 22 57 69 6d 70 5f 47  |1..."  .."Wimp_G|
00004930  65 74 49 63 6f 6e 53 74  61 74 65 22 2c 2c 74 65  |etIconState",,te|
00004940  6d 70 25 0d 1e 96 1c 20  20 f2 4d 42 53 74 72 69  |mp%....  .MBStri|
00004950  6e 67 28 70 6f 6c 6c 65  64 62 25 2b 34 34 29 0d  |ng(polledb%+44).|
00004960  1e a0 23 20 20 24 28 21  28 74 65 6d 70 25 2b 32  |..#  $(!(temp%+2|
00004970  38 29 29 3d 24 28 70 6f  6c 6c 65 64 62 25 2b 34  |8))=$(polledb%+4|
00004980  34 29 0d 1e aa 17 20 20  66 24 3d 24 28 70 6f 6c  |4)....  f$=$(pol|
00004990  6c 65 64 62 25 2b 34 34  29 0d 1e b4 14 20 20 c8  |ledb%+44)....  .|
000049a0  8e 20 73 61 76 65 74 79  70 65 25 20 ca 0d 1e be  |. savetype% ....|
000049b0  17 20 20 20 20 c9 20 30  3a f2 53 61 76 65 53 68  |.    . 0:.SaveSh|
000049c0  28 66 24 29 0d 1e c8 07  20 20 cb 0d 1e d2 14 20  |(f$)....  ..... |
000049d0  20 e7 20 66 25 3c 3e 30  20 8c 20 d9 23 66 25 0d  | . f%<>0 . .#f%.|
000049e0  1e dc 12 20 20 73 61 76  65 74 79 70 65 25 3d 2d  |...  savetype%=-|
000049f0  31 0d 1e e6 1a 20 20 6d  65 73 73 62 6b 25 21 31  |1....  messbk%!1|
00004a00  32 3d 6d 65 73 73 62 6b  25 21 38 0d 1e f0 12 20  |2=messbk%!8.... |
00004a10  20 6d 65 73 73 62 6b 25  21 31 36 3d 33 0d 1e fa  | messbk%!16=3...|
00004a20  2f 20 20 c8 99 22 57 69  6d 70 5f 53 65 6e 64 4d  |/  .."Wimp_SendM|
00004a30  65 73 73 61 67 65 22 2c  31 37 2c 6d 65 73 73 62  |essage",17,messb|
00004a40  6b 25 2c 6d 65 73 73 62  6b 25 21 34 0d 1f 04 05  |k%,messbk%!4....|
00004a50  cd 0d 1f 0e 05 e1 0d 1f  18 04 0d 1f 22 11 dd f2  |............"...|
00004a60  53 61 76 65 53 68 28 66  69 24 29 0d 1f 2c 05 e1  |SaveSh(fi$)..,..|
00004a70  0d 1f 36 04 0d 1f 40 0e  dd f2 44 61 74 61 4c 6f  |..6...@...DataLo|
00004a80  61 64 0d 1f 4a 14 c8 8e  20 70 6f 6c 6c 65 64 62  |ad..J... polledb|
00004a90  25 21 32 30 20 ca 0d 1f  54 1d 20 20 c9 20 77 77  |%!20 ...T.  . ww|
00004aa0  6f 72 6b 68 25 2c 2d 32  3a f2 4c 6f 61 64 53 68  |orkh%,-2:.LoadSh|
00004ab0  65 65 74 0d 1f 5e 1b 20  20 c9 20 77 69 6e 70 75  |eet..^.  . winpu|
00004ac0  74 68 25 3a f2 4c 6f 61  64 49 6e 70 75 74 0d 1f  |th%:.LoadInput..|
00004ad0  68 05 cb 0d 1f 72 05 e1  0d 1f 7c 04 0d 1f 86 0e  |h....r....|.....|
00004ae0  dd f2 44 61 74 61 4f 70  65 6e 0d 1f 90 18 e7 20  |..DataOpen..... |
00004af0  70 6f 6c 6c 65 64 62 25  21 34 30 3d 26 63 33 36  |polledb%!40=&c36|
00004b00  20 8c 0d 1f 9a 10 20 20  f2 4c 6f 61 64 53 68 65  | .....  .LoadShe|
00004b10  65 74 0d 1f a4 13 20 20  6d 65 73 73 62 6b 25 21  |et....  messbk%!|
00004b20  30 3d 32 35 36 0d 1f ae  1a 20 20 6d 65 73 73 62  |0=256....  messb|
00004b30  6b 25 21 31 32 3d 6d 65  73 73 62 6b 25 21 38 0d  |k%!12=messbk%!8.|
00004b40  1f b8 2f 20 20 c8 99 22  57 69 6d 70 5f 53 65 6e  |../  .."Wimp_Sen|
00004b50  64 4d 65 73 73 61 67 65  22 2c 31 37 2c 6d 65 73  |dMessage",17,mes|
00004b60  73 62 6b 25 2c 6d 65 73  73 62 6b 25 21 34 0d 1f  |sbk%,messbk%!4..|
00004b70  c2 05 cd 0d 1f cc 05 e1  0d 1f d6 04 0d 1f e0 0f  |................|
00004b80  dd f2 4c 6f 61 64 49 6e  70 75 74 0d 1f ea 07 ea  |..LoadInput.....|
00004b90  20 85 0d 1f f4 1a ee 20  85 20 ea 20 f2 52 65 70  | ...... . . .Rep|
00004ba0  6f 72 74 45 72 72 28 f6  24 29 3a e1 0d 1f fe 10  |ortErr(.$):.....|
00004bb0  f2 4d 6f 64 54 69 74 6c  65 28 30 29 0d 20 08 1a  |.ModTitle(0). ..|
00004bc0  f2 4d 42 53 74 72 69 6e  67 28 70 6f 6c 6c 65 64  |.MBString(polled|
00004bd0  62 25 2b 34 34 29 0d 20  12 1d 24 28 69 6e 70 70  |b%+44). ..$(inpp|
00004be0  74 72 25 29 3d 24 28 70  6f 6c 6c 65 64 62 25 2b  |tr%)=$(polledb%+|
00004bf0  34 34 29 0d 20 1c 14 74  65 6d 70 25 21 30 3d 77  |44). ..temp%!0=w|
00004c00  69 6e 70 75 74 68 25 0d  20 26 0d 74 65 6d 70 25  |inputh%. &.temp%|
00004c10  21 34 3d 31 0d 20 30 20  c8 99 22 57 69 6d 70 5f  |!4=1. 0 .."Wimp_|
00004c20  47 65 74 49 63 6f 6e 53  74 61 74 65 22 2c 2c 74  |GetIconState",,t|
00004c30  65 6d 70 25 0d 20 3a 1e  24 28 74 65 6d 70 25 21  |emp%. :.$(temp%!|
00004c40  32 38 29 3d 24 28 70 6f  6c 6c 65 64 62 25 2b 34  |28)=$(polledb%+4|
00004c50  34 29 0d 20 44 18 66 25  3d 8e 28 24 28 70 6f 6c  |4). D.f%=.($(pol|
00004c60  6c 65 64 62 25 2b 34 34  29 29 0d 20 4e 14 69 6e  |ledb%+44)). N.in|
00004c70  70 70 74 72 25 21 32 36  38 3d a2 23 66 25 0d 20  |pptr%!268=.#f%. |
00004c80  58 08 d9 23 66 25 0d 20  62 0d 74 65 6d 70 25 21  |X..#f%. b.temp%!|
00004c90  34 3d 38 0d 20 6c 20 c8  99 22 57 69 6d 70 5f 47  |4=8. l .."Wimp_G|
00004ca0  65 74 49 63 6f 6e 53 74  61 74 65 22 2c 2c 74 65  |etIconState",,te|
00004cb0  6d 70 25 0d 20 76 0b 40  25 3d 26 39 30 61 0d 20  |mp%. v.@%=&90a. |
00004cc0  80 1e 24 28 74 65 6d 70  25 21 32 38 29 3d c3 28  |..$(temp%!28)=.(|
00004cd0  69 6e 70 70 74 72 25 21  32 36 38 29 0d 20 8a 10  |inpptr%!268). ..|
00004ce0  40 25 3d 26 30 31 30 32  30 61 30 30 0d 20 94 30  |@%=&01020a00. .0|
00004cf0  c8 99 22 57 69 6d 70 5f  46 6f 72 63 65 52 65 64  |.."Wimp_ForceRed|
00004d00  72 61 77 22 2c 77 69 6e  70 75 74 68 25 2c 30 2c  |raw",winputh%,0,|
00004d10  2d 34 30 30 30 2c 34 30  30 30 2c 30 0d 20 9e 05  |-4000,4000,0. ..|
00004d20  e1 0d 20 a8 04 0d 20 b2  0f dd f2 4c 6f 61 64 53  |.. ... ....LoadS|
00004d30  68 65 65 74 0d 20 bc 07  ea 20 85 0d 20 c6 1a ee  |heet. ... .. ...|
00004d40  20 85 20 ea 20 f2 52 65  70 6f 72 74 45 72 72 28  | . . .ReportErr(|
00004d50  f6 24 29 3a e1 0d 20 d0  19 e7 20 70 6f 6c 6c 65  |.$):.. ... polle|
00004d60  64 62 25 21 34 30 3c 3e  26 63 33 36 20 8c 0d 20  |db%!40<>&c36 .. |
00004d70  da 20 20 20 f2 52 65 70  6f 72 74 45 72 72 28 22  |.   .ReportErr("|
00004d80  4e 6f 74 20 61 20 73 68  65 65 74 2e 22 29 0d 20  |Not a sheet."). |
00004d90  e4 05 cc 0d 20 ee 1c 20  20 f2 4d 42 53 74 72 69  |.... ..  .MBStri|
00004da0  6e 67 28 70 6f 6c 6c 65  64 62 25 2b 34 34 29 0d  |ng(polledb%+44).|
00004db0  20 f8 20 20 20 66 69 6c  65 74 6f 6c 6f 61 64 24  | .   filetoload$|
00004dc0  3d 24 28 70 6f 6c 6c 65  64 62 25 2b 34 34 29 0d  |=$(polledb%+44).|
00004dd0  21 02 18 20 20 e7 20 73  68 65 65 74 73 61 76 65  |!..  . sheetsave|
00004de0  64 25 3d 2d 31 20 8c 0d  21 0c 1c 20 20 20 20 f2  |d%=-1 ..!..    .|
00004df0  4c 6f 61 64 53 68 28 66  69 6c 65 74 6f 6c 6f 61  |LoadSh(filetoloa|
00004e00  64 24 29 0d 21 16 07 20  20 cc 0d 21 20 5c 20 20  |d$).!..  ..! \  |
00004e10  20 20 41 25 3d a4 43 6f  6e 66 69 72 6d 28 22 53  |  A%=.Confirm("S|
00004e20  68 65 65 74 20 68 61 73  20 62 65 65 6e 20 6d 6f  |heet has been mo|
00004e30  64 69 66 69 65 64 2e 20  41 72 65 20 79 6f 75 20  |dified. Are you |
00004e40  73 75 72 65 20 79 6f 75  20 77 61 6e 74 20 74 6f  |sure you want to|
00004e50  20 6c 6f 61 64 20 61 6e  6f 74 68 65 72 20 73 68  | load another sh|
00004e60  65 65 74 3f 22 29 0d 21  2a 25 20 20 20 20 e7 20  |eet?").!*%    . |
00004e70  41 25 3d 31 20 8c 20 f2  4c 6f 61 64 53 68 28 66  |A%=1 . .LoadSh(f|
00004e80  69 6c 65 74 6f 6c 6f 61  64 24 29 0d 21 34 07 20  |iletoload$).!4. |
00004e90  20 cd 0d 21 3e 05 cd 0d  21 48 05 e1 0d 21 52 04  | ..!>...!H...!R.|
00004ea0  0d 21 5c 10 dd f2 4c 6f  61 64 53 68 28 66 24 29  |.!\...LoadSh(f$)|
00004eb0  0d 21 66 11 20 20 f2 52  65 6d 41 6c 6c 44 72 61  |.!f.  .RemAllDra|
00004ec0  67 0d 21 70 0c 20 20 f2  43 6c 65 61 72 0d 21 7a  |g.!p.  .Clear.!z|
00004ed0  14 20 20 66 69 24 3d a4  53 74 72 69 70 28 66 24  |.  fi$=.Strip(f$|
00004ee0  29 0d 21 84 14 20 20 73  68 65 65 74 6e 61 6d 65  |).!..  sheetname|
00004ef0  24 3d 66 69 24 0d 21 8e  0e 20 20 66 25 3d 8e 28  |$=fi$.!..  f%=.(|
00004f00  66 24 29 0d 21 98 1e 20  20 c8 99 22 4f 53 5f 47  |f$).!..  .."OS_G|
00004f10  42 50 42 22 2c 34 2c 66  25 2c 74 65 6d 70 25 2c  |BPB",4,f%,temp%,|
00004f20  34 0d 21 a2 1b 20 20 e7  20 74 65 6d 70 25 21 30  |4.!..  . temp%!0|
00004f30  3d 26 34 64 35 38 34 36  35 33 20 8c 0d 21 ac 21  |=&4d584653 ..!.!|
00004f40  20 20 20 20 c8 99 22 4f  53 5f 47 42 50 42 22 2c  |    .."OS_GBPB",|
00004f50  34 2c 66 25 2c 74 65 6d  70 25 2c 32 30 0d 21 b6  |4,f%,temp%,20.!.|
00004f60  19 20 20 20 20 74 65 6d  70 32 25 21 30 3d 77 73  |.    temp2%!0=ws|
00004f70  74 61 74 73 68 25 0d 21  c0 12 20 20 20 20 74 65  |tatsh%.!..    te|
00004f80  6d 70 32 25 21 34 3d 38  0d 21 ca 25 20 20 20 20  |mp2%!4=8.!.%    |
00004f90  c8 99 22 57 69 6d 70 5f  47 65 74 49 63 6f 6e 53  |.."Wimp_GetIconS|
00004fa0  74 61 74 65 22 2c 2c 74  65 6d 70 32 25 0d 21 d4  |tate",,temp2%.!.|
00004fb0  1b 20 20 20 20 24 28 74  65 6d 70 32 25 21 32 38  |.    $(temp2%!28|
00004fc0  29 3d 24 74 65 6d 70 25  0d 21 de 20 20 20 20 20  |)=$temp%.!.     |
00004fd0  c8 99 22 4f 53 5f 47 42  50 42 22 2c 34 2c 66 25  |.."OS_GBPB",4,f%|
00004fe0  2c 74 65 6d 70 25 2c 34  0d 21 e8 07 20 20 cd 0d  |,temp%,4.!..  ..|
00004ff0  21 f2 25 20 20 e7 20 74  65 6d 70 25 21 30 3e 39  |!.%  . temp%!0>9|
00005000  39 39 39 39 20 8c 20 74  65 6d 70 25 21 30 3d 39  |9999 . temp%!0=9|
00005010  39 39 39 39 0d 21 fc 17  20 20 74 65 6d 70 32 25  |9999.!..  temp2%|
00005020  21 30 3d 77 73 74 61 74  73 68 25 0d 22 06 10 20  |!0=wstatsh%.".. |
00005030  20 74 65 6d 70 32 25 21  34 3d 33 0d 22 10 23 20  | temp2%!4=3.".# |
00005040  20 c8 99 22 57 69 6d 70  5f 47 65 74 49 63 6f 6e  | .."Wimp_GetIcon|
00005050  53 74 61 74 65 22 2c 2c  74 65 6d 70 32 25 0d 22  |State",,temp2%."|
00005060  1a 1d 20 20 24 28 74 65  6d 70 32 25 21 32 38 29  |..  $(temp2%!28)|
00005070  3d c3 28 74 65 6d 70 25  21 30 29 0d 22 24 1e 20  |=.(temp%!0)."$. |
00005080  20 c8 99 22 4f 53 5f 47  42 50 42 22 2c 34 2c 66  | .."OS_GBPB",4,f|
00005090  25 2c 74 65 6d 70 25 2c  34 0d 22 2e 10 20 20 69  |%,temp%,4."..  i|
000050a0  25 3d 74 65 6d 70 25 21  30 0d 22 38 0f 20 20 c8  |%=temp%!0."8.  .|
000050b0  95 20 69 25 3c 3e 2d 31  0d 22 42 22 20 20 20 20  |. i%<>-1."B"    |
000050c0  c8 99 22 4f 53 5f 47 42  50 42 22 2c 34 2c 66 25  |.."OS_GBPB",4,f%|
000050d0  2c 74 65 6d 70 32 25 2c  33 32 0d 22 4c 20 20 20  |,temp2%,32."L   |
000050e0  20 20 c8 99 22 4f 53 5f  47 42 50 42 22 2c 34 2c  |  .."OS_GBPB",4,|
000050f0  66 25 2c 74 65 6d 70 25  2c 34 0d 22 56 1a 20 20  |f%,temp%,4."V.  |
00005100  20 20 6c 25 3d a4 41 6c  6c 6f 63 28 74 65 6d 70  |  l%=.Alloc(temp|
00005110  25 21 30 29 0d 22 60 14  20 20 20 20 74 65 6d 70  |%!0)."`.    temp|
00005120  32 25 21 31 32 3d 6c 25  0d 22 6a 20 20 20 20 20  |2%!12=l%."j     |
00005130  74 65 6d 70 32 25 21 32  38 3d 28 74 65 6d 70 32  |temp2%!28=(temp2|
00005140  25 21 32 38 29 80 26 66  0d 22 74 23 20 20 20 20  |%!28).&f."t#    |
00005150  c8 99 22 4f 53 5f 47 42  50 42 22 2c 34 2c 66 25  |.."OS_GBPB",4,f%|
00005160  2c 6c 25 2c 74 65 6d 70  25 21 30 0d 22 7e 17 20  |,l%,temp%!0."~. |
00005170  20 20 20 74 65 6d 70 25  21 30 3d 77 77 6f 72 6b  |   temp%!0=wwork|
00005180  68 25 0d 22 88 18 20 20  20 20 74 65 6d 70 25 21  |h%."..    temp%!|
00005190  34 3d 74 65 6d 70 32 25  21 34 0d 22 92 18 20 20  |4=temp2%!4."..  |
000051a0  20 20 74 65 6d 70 25 21  38 3d 74 65 6d 70 32 25  |  temp%!8=temp2%|
000051b0  21 38 0d 22 9c 1c 20 20  20 20 74 65 6d 70 25 21  |!8."..    temp%!|
000051c0  31 32 3d 74 65 6d 70 32  25 21 34 2b 39 32 0d 22  |12=temp2%!4+92."|
000051d0  a6 1c 20 20 20 20 74 65  6d 70 25 21 31 36 3d 74  |..    temp%!16=t|
000051e0  65 6d 70 32 25 21 38 2b  35 32 0d 22 b0 32 20 20  |emp2%!8+52.".2  |
000051f0  20 20 74 65 6d 70 25 21  32 30 3d 25 30 30 30 30  |  temp%!20=%0000|
00005200  31 30 30 30 30 30 30 30  30 30 30 30 31 30 31 30  |1000000000001010|
00005210  30 30 30 30 30 30 30 31  31 30 31 30 0d 22 ba 15  |000000011010."..|
00005220  20 20 20 20 c8 8e 20 74  65 6d 70 32 25 21 30 20  |    .. temp2%!0 |
00005230  ca 0d 22 c4 16 20 20 20  20 20 20 c9 20 30 3a 69  |.."..      . 0:i|
00005240  24 3d 22 76 63 6f 22 0d  22 ce 18 20 20 20 20 20  |$="vco"."..     |
00005250  20 c9 20 31 3a 69 24 3d  22 6e 6f 69 73 65 22 0d  | . 1:i$="noise".|
00005260  22 d8 15 20 20 20 20 20  20 c9 20 32 3a 69 24 3d  |"..      . 2:i$=|
00005270  22 65 67 22 0d 22 e2 19  20 20 20 20 20 20 c9 20  |"eg"."..      . |
00005280  33 3a 69 24 3d 22 66 69  6c 74 6c 6f 22 0d 22 ec  |3:i$="filtlo".".|
00005290  19 20 20 20 20 20 20 c9  20 34 3a 69 24 3d 22 66  |.      . 4:i$="f|
000052a0  69 6c 74 68 69 22 0d 22  f6 18 20 20 20 20 20 20  |ilthi"."..      |
000052b0  c9 20 35 3a 69 24 3d 22  63 6f 6e 73 74 22 0d 23  |. 5:i$="const".#|
000052c0  00 17 20 20 20 20 20 20  c9 20 36 3a 69 24 3d 22  |..      . 6:i$="|
000052d0  6d 75 6c 74 22 0d 23 0a  18 20 20 20 20 20 20 c9  |mult".#..      .|
000052e0  20 37 3a 69 24 3d 22 6d  75 6c 74 63 22 0d 23 14  | 7:i$="multc".#.|
000052f0  16 20 20 20 20 20 20 c9  20 38 3a 69 24 3d 22 61  |.      . 8:i$="a|
00005300  64 64 22 0d 23 1e 17 20  20 20 20 20 20 c9 20 31  |dd".#..      . 1|
00005310  33 3a 69 24 3d 22 73 75  62 22 0d 23 28 19 20 20  |3:i$="sub".#(.  |
00005320  20 20 20 20 c9 20 31 34  3a 69 24 3d 22 70 75 6c  |    . 14:i$="pul|
00005330  73 65 22 0d 23 32 19 20  20 20 20 20 20 c9 20 31  |se".#2.      . 1|
00005340  35 3a 69 24 3d 22 64 65  6c 61 79 22 0d 23 3c 19  |5:i$="delay".#<.|
00005350  20 20 20 20 20 20 c9 20  39 3a 69 24 3d 22 6f 75  |      . 9:i$="ou|
00005360  74 70 75 74 22 0d 23 46  19 20 20 20 20 20 20 c9  |tput".#F.      .|
00005370  20 31 36 3a 69 24 3d 22  69 6e 70 75 74 22 0d 23  | 16:i$="input".#|
00005380  50 1b 20 20 20 20 20 20  c9 20 31 37 3a 69 24 3d  |P.      . 17:i$=|
00005390  22 73 61 6d 68 6f 6c 64  22 0d 23 5a 1a 20 20 20  |"samhold".#Z.   |
000053a0  20 20 20 c9 20 31 38 3a  69 24 3d 22 6e 6c 64 69  |   . 18:i$="nldi|
000053b0  73 74 22 0d 23 64 09 20  20 20 20 cb 0d 23 6e 16  |st".#d.    ..#n.|
000053c0  20 20 20 20 24 28 74 65  6d 70 25 2b 32 34 29 3d  |    $(temp%+24)=|
000053d0  69 24 0d 23 78 26 20 20  20 20 c8 99 22 57 69 6d  |i$.#x&    .."Wim|
000053e0  70 5f 43 72 65 61 74 65  49 63 6f 6e 22 2c 2c 74  |p_CreateIcon",,t|
000053f0  65 6d 70 25 b8 69 68 25  0d 23 82 18 20 20 20 20  |emp%.ih%.#..    |
00005400  6c 69 74 72 61 6e 73 25  28 69 25 29 3d 69 68 25  |litrans%(i%)=ih%|
00005410  0d 23 8c 12 20 20 20 20  e3 54 25 3d 30 b8 32 38  |.#..    .T%=0.28|
00005420  88 34 0d 23 96 29 20 20  20 20 20 20 69 63 6f 6e  |.4.#.)      icon|
00005430  69 6e 66 6f 25 21 28 69  68 25 2a 33 32 2b 54 25  |info%!(ih%*32+T%|
00005440  29 3d 74 65 6d 70 32 25  21 54 25 0d 23 a0 0b 20  |)=temp2%!T%.#.. |
00005450  20 20 20 ed 54 25 0d 23  aa 20 20 20 20 20 c8 99  |   .T%.#.     ..|
00005460  22 4f 53 5f 47 42 50 42  22 2c 34 2c 66 25 2c 74  |"OS_GBPB",4,f%,t|
00005470  65 6d 70 25 2c 34 0d 23  b4 12 20 20 20 20 69 25  |emp%,4.#..    i%|
00005480  3d 74 65 6d 70 25 21 30  0d 23 be 07 20 20 ce 0d  |=temp%!0.#..  ..|
00005490  23 c8 17 20 20 e3 54 25  3d 30 b8 6d 61 78 69 63  |#..  .T%=0.maxic|
000054a0  6f 6e 73 25 2d 31 0d 23  d2 21 20 20 20 20 e7 20  |ons%-1.#.!    . |
000054b0  69 63 6f 6e 69 6e 66 6f  25 21 28 54 25 2a 33 32  |iconinfo%!(T%*32|
000054c0  29 3c 3e 2d 31 20 8c 0d  23 dc 5a 20 20 20 20 20  |)<>-1 ..#.Z     |
000054d0  20 e7 20 69 63 6f 6e 69  6e 66 6f 25 21 28 54 25  | . iconinfo%!(T%|
000054e0  2a 33 32 2b 31 36 29 3c  3e 2d 31 20 8c 20 69 63  |*32+16)<>-1 . ic|
000054f0  6f 6e 69 6e 66 6f 25 21  28 54 25 2a 33 32 2b 31  |oninfo%!(T%*32+1|
00005500  36 29 3d 6c 69 74 72 61  6e 73 25 28 69 63 6f 6e  |6)=litrans%(icon|
00005510  69 6e 66 6f 25 21 28 54  25 2a 33 32 2b 31 36 29  |info%!(T%*32+16)|
00005520  29 0d 23 e6 5a 20 20 20  20 20 20 e7 20 69 63 6f  |).#.Z      . ico|
00005530  6e 69 6e 66 6f 25 21 28  54 25 2a 33 32 2b 32 30  |ninfo%!(T%*32+20|
00005540  29 3c 3e 2d 31 20 8c 20  69 63 6f 6e 69 6e 66 6f  |)<>-1 . iconinfo|
00005550  25 21 28 54 25 2a 33 32  2b 32 30 29 3d 6c 69 74  |%!(T%*32+20)=lit|
00005560  72 61 6e 73 25 28 69 63  6f 6e 69 6e 66 6f 25 21  |rans%(iconinfo%!|
00005570  28 54 25 2a 33 32 2b 32  30 29 29 0d 23 f0 09 20  |(T%*32+20)).#.. |
00005580  20 20 20 cd 0d 23 fa 09  20 20 ed 54 25 0d 24 04  |   ..#..  .T%.$.|
00005590  0a 20 20 d9 23 66 25 0d  24 0e 24 20 20 e7 20 66  |.  .#f%.$.$  . f|
000055a0  69 6c 65 74 6f 6c 6f 61  64 24 3d 22 3c 57 69 6d  |iletoload$="<Wim|
000055b0  70 24 53 63 72 61 70 3e  22 20 8c 0d 24 18 20 20  |p$Scrap>" ..$.  |
000055c0  20 20 20 ff 28 22 44 65  6c 65 74 65 20 22 2b 66  |   .("Delete "+f|
000055d0  69 6c 65 74 6f 6c 6f 61  64 24 29 0d 24 22 17 20  |iletoload$).$". |
000055e0  20 20 20 66 24 3d 66 69  6c 65 74 6f 6c 6f 61 64  |   f$=filetoload|
000055f0  32 24 0d 24 2c 07 20 20  cd 0d 24 36 15 20 20 24  |2$.$,.  ..$6.  $|
00005600  28 77 77 6f 72 6b 25 21  37 32 29 3d 66 24 0d 24  |(wwork%!72)=f$.$|
00005610  40 14 20 20 73 68 65 65  74 73 61 76 65 64 25 3d  |@.  sheetsaved%=|
00005620  2d 31 0d 24 4a 15 20 20  74 65 6d 70 25 21 30 3d  |-1.$J.  temp%!0=|
00005630  77 77 6f 72 6b 68 25 0d  24 54 19 20 20 74 65 6d  |wworkh%.$T.  tem|
00005640  70 25 21 30 3d 77 73 61  76 65 61 73 73 68 68 25  |p%!0=wsaveasshh%|
00005650  0d 24 5e 0f 20 20 74 65  6d 70 25 21 34 3d 31 0d  |.$^.  temp%!4=1.|
00005660  24 68 22 20 20 c8 99 22  57 69 6d 70 5f 47 65 74  |$h"  .."Wimp_Get|
00005670  49 63 6f 6e 53 74 61 74  65 22 2c 2c 74 65 6d 70  |IconState",,temp|
00005680  25 0d 24 72 14 20 20 24  28 74 65 6d 70 25 21 32  |%.$r.  $(temp%!2|
00005690  38 29 3d 66 24 0d 24 7c  0f 20 20 f2 4f 70 65 6e  |8)=f$.$|.  .Open|
000056a0  57 6f 72 6b 0d 24 86 31  20 20 c8 99 22 57 69 6d  |Work.$.1  .."Wim|
000056b0  70 5f 46 6f 72 63 65 52  65 64 72 61 77 22 2c 77  |p_ForceRedraw",w|
000056c0  77 6f 72 6b 68 25 2c 30  2c 2d 34 30 30 30 2c 34  |workh%,0,-4000,4|
000056d0  30 30 30 2c 30 0d 24 90  32 20 20 c8 99 22 57 69  |000,0.$.2  .."Wi|
000056e0  6d 70 5f 46 6f 72 63 65  52 65 64 72 61 77 22 2c  |mp_ForceRedraw",|
000056f0  77 73 74 61 74 73 68 25  2c 30 2c 2d 34 30 30 30  |wstatsh%,0,-4000|
00005700  2c 34 30 30 30 2c 30 0d  24 9a 05 e1 0d 24 a4 04  |,4000,0.$....$..|
00005710  0d 24 ae 10 dd a4 53 74  72 69 70 28 66 73 24 29  |.$....Strip(fs$)|
00005720  0d 24 b8 0b ea 20 66 25  2c 61 25 0d 24 c2 08 66  |.$... f%,a%.$..f|
00005730  25 3d 31 0d 24 cc 08 61  25 3d 31 0d 24 d6 13 c8  |%=1.$..a%=1.$...|
00005740  95 20 c1 66 73 24 2c 66  25 29 3c 3e 22 22 0d 24  |. .fs$,f%)<>"".$|
00005750  e0 31 20 20 e7 20 c1 66  73 24 2c 66 25 2c 31 29  |.1  . .fs$,f%,1)|
00005760  3d 22 2e 22 20 84 20 c1  66 73 24 2c 66 25 2c 31  |="." . .fs$,f%,1|
00005770  29 3d 22 3a 22 20 8c 20  61 25 3d 66 25 2b 31 0d  |)=":" . a%=f%+1.|
00005780  24 ea 0b 20 20 66 25 2b  3d 31 0d 24 f4 05 ce 0d  |$..  f%+=1.$....|
00005790  24 fe 0d 3d c1 66 73 24  2c 61 25 29 0d 25 08 04  |$..=.fs$,a%).%..|
000057a0  0d 25 12 0a dd f2 49 6e  73 74 0d 25 1c 13 74 65  |.%....Inst.%..te|
000057b0  6d 70 25 21 30 3d 77 69  6e 73 74 68 25 0d 25 26  |mp%!0=winsth%.%&|
000057c0  22 c8 99 22 57 69 6d 70  5f 47 65 74 57 69 6e 64  |".."Wimp_GetWind|
000057d0  6f 77 53 74 61 74 65 22  2c 2c 74 65 6d 70 25 0d  |owState",,temp%.|
000057e0  25 30 0f 74 65 6d 70 25  21 32 38 3d 2d 31 0d 25  |%0.temp%!28=-1.%|
000057f0  3a 1e c8 99 22 57 69 6d  70 5f 4f 70 65 6e 57 69  |:..."Wimp_OpenWi|
00005800  6e 64 6f 77 22 2c 2c 74  65 6d 70 25 0d 25 44 16  |ndow",,temp%.%D.|
00005810  70 6f 6c 6c 65 64 62 25  21 30 3d 77 69 6e 73 74  |polledb%!0=winst|
00005820  68 25 0d 25 4e 29 c8 99  22 57 69 6d 70 5f 52 65  |h%.%N).."Wimp_Re|
00005830  64 72 61 77 57 69 6e 64  6f 77 22 2c 2c 70 6f 6c  |drawWindow",,pol|
00005840  6c 65 64 62 25 b8 6d 6f  72 65 25 0d 25 58 0f f2  |ledb%.more%.%X..|
00005850  4a 75 73 74 52 65 64 72  61 77 0d 25 62 05 e1 0d  |JustRedraw.%b...|
00005860  25 6c 04 0d 25 76 10 dd  f2 43 6f 6e 73 74 43 6c  |%l..%v...ConstCl|
00005870  69 63 6b 0d 25 80 10 f2  4d 6f 64 54 69 74 6c 65  |ick.%...ModTitle|
00005880  28 30 29 0d 25 8a 15 e7  20 70 6f 6c 6c 65 64 62  |(0).%... polledb|
00005890  25 21 31 36 3d 32 20 8c  0d 25 94 19 20 20 74 65  |%!16=2 ..%..  te|
000058a0  6d 70 25 21 30 3d 77 63  6f 6e 73 74 61 6e 74 68  |mp%!0=wconstanth|
000058b0  25 0d 25 9e 0f 20 20 74  65 6d 70 25 21 34 3d 30  |%.%..  temp%!4=0|
000058c0  0d 25 a8 22 20 20 c8 99  22 57 69 6d 70 5f 47 65  |.%."  .."Wimp_Ge|
000058d0  74 49 63 6f 6e 53 74 61  74 65 22 2c 2c 74 65 6d  |tIconState",,tem|
000058e0  70 25 0d 25 b2 16 20 20  76 3d bb 28 24 28 74 65  |p%.%..  v=.($(te|
000058f0  6d 70 25 21 32 38 29 29  0d 25 bc 14 20 20 e7 20  |mp%!28)).%..  . |
00005900  94 28 76 29 3e 33 32 37  36 37 20 8c 0d 25 c6 44  |.(v)>32767 ..%.D|
00005910  20 20 20 20 f2 52 65 70  6f 72 74 45 72 72 28 22  |    .ReportErr("|
00005920  4f 6e 6c 79 20 6e 75 6d  62 65 72 73 20 62 65 74  |Only numbers bet|
00005930  77 65 65 6e 20 2d 33 32  37 36 37 20 61 6e 64 20  |ween -32767 and |
00005940  33 32 37 36 37 20 61 6c  6c 6f 77 65 64 2e 22 29  |32767 allowed.")|
00005950  0d 25 d0 07 20 20 cc 0d  25 da 1b 20 20 20 20 21  |.%..  ..%..    !|
00005960  63 6f 6e 73 74 70 74 72  25 3d 26 31 30 30 30 30  |constptr%=&10000|
00005970  2a 76 0d 25 e4 23 20 20  20 20 c8 99 22 57 69 6d  |*v.%.#    .."Wim|
00005980  70 5f 43 6c 6f 73 65 57  69 6e 64 6f 77 22 2c 2c  |p_CloseWindow",,|
00005990  74 65 6d 70 25 0d 25 ee  13 20 20 20 20 63 6f 6e  |temp%.%..    con|
000059a0  73 74 70 74 72 25 3d 30  0d 25 f8 07 20 20 cd 0d  |stptr%=0.%..  ..|
000059b0  26 02 05 cd 0d 26 0c 05  e1 0d 26 16 04 0d 26 20  |&....&....&...& |
000059c0  10 dd f2 49 6e 70 75 74  43 6c 69 63 6b 0d 26 2a  |...InputClick.&*|
000059d0  10 f2 4d 6f 64 54 69 74  6c 65 28 30 29 0d 26 34  |..ModTitle(0).&4|
000059e0  18 69 6e 70 74 79 70 65  25 3d 69 6e 70 70 74 72  |.inptype%=inpptr|
000059f0  25 21 32 35 36 0d 26 3e  15 e7 20 70 6f 6c 6c 65  |%!256.&>.. polle|
00005a00  64 62 25 21 31 36 3d 36  20 8c 0d 26 48 16 20 20  |db%!16=6 ..&H.  |
00005a10  74 65 6d 70 25 21 30 3d  77 69 6e 70 75 74 68 25  |temp%!0=winputh%|
00005a20  0d 26 52 21 20 20 c8 99  22 57 69 6d 70 5f 43 6c  |.&R!  .."Wimp_Cl|
00005a30  6f 73 65 57 69 6e 64 6f  77 22 2c 2c 74 65 6d 70  |oseWindow",,temp|
00005a40  25 0d 26 5c 05 cd 0d 26  66 35 e7 20 70 6f 6c 6c  |%.&\...&f5. poll|
00005a50  65 64 62 25 21 31 36 3d  33 20 8c 20 69 6e 70 74  |edb%!16=3 . inpt|
00005a60  79 70 65 25 3d 28 69 6e  70 74 79 70 65 25 80 26  |ype%=(inptype%.&|
00005a70  66 66 66 66 66 66 66 63  29 2b 30 0d 26 70 35 e7  |fffffffc)+0.&p5.|
00005a80  20 70 6f 6c 6c 65 64 62  25 21 31 36 3d 34 20 8c  | polledb%!16=4 .|
00005a90  20 69 6e 70 74 79 70 65  25 3d 28 69 6e 70 74 79  | inptype%=(inpty|
00005aa0  70 65 25 80 26 66 66 66  66 66 66 66 63 29 2b 31  |pe%.&fffffffc)+1|
00005ab0  0d 26 7a 35 e7 20 70 6f  6c 6c 65 64 62 25 21 31  |.&z5. polledb%!1|
00005ac0  36 3d 35 20 8c 20 69 6e  70 74 79 70 65 25 3d 28  |6=5 . inptype%=(|
00005ad0  69 6e 70 74 79 70 65 25  80 26 66 66 66 66 66 66  |inptype%.&ffffff|
00005ae0  66 63 29 2b 32 0d 26 84  36 e7 20 70 6f 6c 6c 65  |fc)+2.&.6. polle|
00005af0  64 62 25 21 31 36 3d 31  31 20 8c 20 69 6e 70 74  |db%!16=11 . inpt|
00005b00  79 70 65 25 3d 28 69 6e  70 74 79 70 65 25 80 26  |ype%=(inptype%.&|
00005b10  66 66 66 66 66 66 66 62  29 2b 34 0d 26 8e 34 e7  |fffffffb)+4.&.4.|
00005b20  20 70 6f 6c 6c 65 64 62  25 21 31 36 3d 31 32 20  | polledb%!16=12 |
00005b30  8c 20 69 6e 70 74 79 70  65 25 3d 28 69 6e 70 74  |. inptype%=(inpt|
00005b40  79 70 65 25 80 26 66 66  66 66 66 66 66 62 29 0d  |ype%.&fffffffb).|
00005b50  26 98 18 69 6e 70 70 74  72 25 21 32 35 36 3d 69  |&..inpptr%!256=i|
00005b60  6e 70 74 79 70 65 25 0d  26 a2 05 e1 0d 26 ac 04  |nptype%.&....&..|
00005b70  0d 26 b6 10 dd f2 4d 75  6c 74 43 43 6c 69 63 6b  |.&....MultCClick|
00005b80  0d 26 c0 10 f2 4d 6f 64  54 69 74 6c 65 28 30 29  |.&...ModTitle(0)|
00005b90  0d 26 ca 15 e7 20 70 6f  6c 6c 65 64 62 25 21 31  |.&... polledb%!1|
00005ba0  36 3d 32 20 8c 0d 26 d4  16 20 20 74 65 6d 70 25  |6=2 ..&..  temp%|
00005bb0  21 30 3d 77 6d 75 6c 74  63 68 25 0d 26 de 0f 20  |!0=wmultch%.&.. |
00005bc0  20 74 65 6d 70 25 21 34  3d 30 0d 26 e8 22 20 20  | temp%!4=0.&."  |
00005bd0  c8 99 22 57 69 6d 70 5f  47 65 74 49 63 6f 6e 53  |.."Wimp_GetIconS|
00005be0  74 61 74 65 22 2c 2c 74  65 6d 70 25 0d 26 f2 16  |tate",,temp%.&..|
00005bf0  20 20 76 3d bb 28 24 28  74 65 6d 70 25 21 32 38  |  v=.($(temp%!28|
00005c00  29 29 0d 26 fc 14 20 20  e7 20 94 28 76 29 3e 33  |)).&..  . .(v)>3|
00005c10  32 37 36 37 20 8c 0d 27  06 44 20 20 20 20 f2 52  |2767 ..'.D    .R|
00005c20  65 70 6f 72 74 45 72 72  28 22 4f 6e 6c 79 20 6e  |eportErr("Only n|
00005c30  75 6d 62 65 72 73 20 62  65 74 77 65 65 6e 20 2d  |umbers between -|
00005c40  33 32 37 36 37 20 61 6e  64 20 33 32 37 36 37 20  |32767 and 32767 |
00005c50  61 6c 6c 6f 77 65 64 2e  22 29 0d 27 10 07 20 20  |allowed.").'..  |
00005c60  cc 0d 27 1a 1c 20 20 20  20 21 6d 63 6f 6e 73 74  |..'..    !mconst|
00005c70  70 74 72 25 3d 26 31 30  30 30 30 2a 76 0d 27 24  |ptr%=&10000*v.'$|
00005c80  23 20 20 20 20 c8 99 22  57 69 6d 70 5f 43 6c 6f  |#    .."Wimp_Clo|
00005c90  73 65 57 69 6e 64 6f 77  22 2c 2c 74 65 6d 70 25  |seWindow",,temp%|
00005ca0  0d 27 2e 14 20 20 20 20  6d 63 6f 6e 73 74 70 74  |.'..    mconstpt|
00005cb0  72 25 3d 30 0d 27 38 07  20 20 cd 0d 27 42 05 cd  |r%=0.'8.  ..'B..|
00005cc0  0d 27 4c 2a e7 20 28 70  6f 6c 6c 65 64 62 25 21  |.'L*. (polledb%!|
00005cd0  31 36 3e 3d 33 29 80 28  70 6f 6c 6c 65 64 62 25  |16>=3).(polledb%|
00005ce0  21 31 36 3c 3d 31 33 29  20 8c 0d 27 56 25 20 20  |!16<=13) ..'V%  |
00005cf0  c8 99 22 57 69 6d 70 5f  53 65 74 43 61 72 65 74  |.."Wimp_SetCaret|
00005d00  50 6f 73 69 74 69 6f 6e  22 2c 2d 31 2c 2d 31 0d  |Position",-1,-1.|
00005d10  27 60 16 20 20 74 65 6d  70 25 21 30 3d 77 6d 75  |'`.  temp%!0=wmu|
00005d20  6c 74 63 68 25 0d 27 6a  0f 20 20 74 65 6d 70 25  |ltch%.'j.  temp%|
00005d30  21 34 3d 30 0d 27 74 22  20 20 c8 99 22 57 69 6d  |!4=0.'t"  .."Wim|
00005d40  70 5f 47 65 74 49 63 6f  6e 53 74 61 74 65 22 2c  |p_GetIconState",|
00005d50  2c 74 65 6d 70 25 0d 27  7e 32 20 20 24 28 74 65  |,temp%.'~2  $(te|
00005d60  6d 70 25 21 32 38 29 3d  c0 c3 28 32 5e 28 28 28  |mp%!28)=..(2^(((|
00005d70  70 6f 6c 6c 65 64 62 25  21 31 36 29 2d 32 29 2f  |polledb%!16)-2)/|
00005d80  31 32 29 29 2c 31 31 29  0d 27 88 30 20 20 c8 99  |12)),11).'.0  ..|
00005d90  22 57 69 6d 70 5f 46 6f  72 63 65 52 65 64 72 61  |"Wimp_ForceRedra|
00005da0  77 22 2c 77 6d 75 6c 74  63 68 25 2c 30 2c 2d 31  |w",wmultch%,0,-1|
00005db0  30 38 2c 33 39 30 2c 30  0d 27 92 05 cd 0d 27 9c  |08,390,0.'....'.|
00005dc0  05 e1 0d 27 a6 04 0d 27  b0 0f dd f2 57 6f 72 6b  |...'...'....Work|
00005dd0  43 6c 69 63 6b 0d 27 ba  13 c8 8e 20 70 6f 6c 6c  |Click.'.... poll|
00005de0  65 64 62 25 21 38 20 ca  0d 27 c4 78 20 20 c9 20  |edb%!8 ..'.x  . |
00005df0  32 3a 6c 61 73 74 6d 78  25 3d 70 6f 6c 6c 65 64  |2:lastmx%=polled|
00005e00  62 25 21 30 2d 36 34 3a  6c 61 73 74 6d 79 25 3d  |b%!0-64:lastmy%=|
00005e10  70 6f 6c 6c 65 64 62 25  21 34 2b 31 32 3a 6c 61  |polledb%!4+12:la|
00005e20  73 74 6d 65 6e 75 25 3d  77 6f 72 6b 6d 65 6e 75  |stmenu%=workmenu|
00005e30  25 3a c8 99 22 57 69 6d  70 5f 43 72 65 61 74 65  |%:.."Wimp_Create|
00005e40  4d 65 6e 75 22 2c 2c 6c  61 73 74 6d 65 6e 75 25  |Menu",,lastmenu%|
00005e50  2c 6c 61 73 74 6d 78 25  2c 6c 61 73 74 6d 79 25  |,lastmx%,lastmy%|
00005e60  0d 27 ce 18 20 20 c9 20  34 2a 32 35 36 3a f2 43  |.'..  . 4*256:.C|
00005e70  6c 69 63 6b 57 6f 72 6b  0d 27 d8 17 20 20 c9 20  |lickWork.'..  . |
00005e80  31 2a 32 35 36 3a f2 41  64 6a 43 57 6f 72 6b 0d  |1*256:.AdjCWork.|
00005e90  27 e2 16 20 20 c9 20 34  2a 31 36 3a f2 44 72 61  |'..  . 4*16:.Dra|
00005ea0  67 57 6f 72 6b 0d 27 ec  15 20 20 c9 20 34 3a f2  |gWork.'..  . 4:.|
00005eb0  44 6f 75 62 6c 65 57 6f  72 6b 0d 27 f6 13 20 20  |DoubleWork.'..  |
00005ec0  c9 20 31 3a f2 41 64 6a  43 57 6f 72 6b 0d 28 00  |. 1:.AdjCWork.(.|
00005ed0  05 cb 0d 28 0a 05 e1 0d  28 14 04 0d 28 1e 0f dd  |...(....(...(...|
00005ee0  f2 43 6c 69 63 6b 57 6f  72 6b 0d 28 28 0f c8 8e  |.ClickWork.((...|
00005ef0  20 64 66 75 6e 63 25 20  ca 0d 28 32 56 20 20 c9  | dfunc% ..(2V  .|
00005f00  20 30 2c 31 2c 32 2c 33  2c 34 2c 35 2c 36 2c 37  | 0,1,2,3,4,5,6,7|
00005f10  2c 38 2c 39 2c 31 33 2c  31 34 2c 31 35 2c 31 36  |,8,9,13,14,15,16|
00005f20  2c 31 37 2c 31 38 3a f2  43 72 65 61 74 65 4f 62  |,17,18:.CreateOb|
00005f30  6a 28 64 66 75 6e 63 25  2c 70 6f 6c 6c 65 64 62  |j(dfunc%,polledb|
00005f40  25 21 30 2c 70 6f 6c 6c  65 64 62 25 21 34 29 0d  |%!0,polledb%!4).|
00005f50  28 3c 13 20 20 c9 20 31  30 3a f2 53 65 6c 49 63  |(<.  . 10:.SelIc|
00005f60  6e 32 0d 28 46 13 20 20  c9 20 31 32 3a f2 43 6f  |n2.(F.  . 12:.Co|
00005f70  6e 6e 65 63 74 0d 28 50  05 cb 0d 28 5a 05 e1 0d  |nnect.(P...(Z...|
00005f80  28 64 04 0d 28 6e 0f dd  f2 41 64 6a 54 6f 6f 6c  |(d..(n...AdjTool|
00005f90  73 43 0d 28 78 12 c8 8e  20 6f 6c 64 64 66 75 6e  |sC.(x... olddfun|
00005fa0  63 25 20 ca 0d 28 82 3d  20 20 c9 20 30 2c 31 2c  |c% ..(.=  . 0,1,|
00005fb0  32 2c 33 2c 34 2c 35 2c  36 2c 37 2c 38 2c 39 2c  |2,3,4,5,6,7,8,9,|
00005fc0  31 33 2c 31 34 2c 31 35  2c 31 36 2c 31 37 2c 31  |13,14,15,16,17,1|
00005fd0  38 3a f2 49 63 6f 6e 43  6f 6c 6f 72 28 30 2c 30  |8:.IconColor(0,0|
00005fe0  29 0d 28 8c 1a 20 20 c9  20 31 30 3a f2 49 63 6f  |).(..  . 10:.Ico|
00005ff0  6e 43 6f 6c 6f 72 28 32  2c 30 29 0d 28 96 1a 20  |nColor(2,0).(.. |
00006000  20 c9 20 31 32 3a f2 49  63 6f 6e 43 6f 6c 6f 72  | . 12:.IconColor|
00006010  28 31 2c 30 29 0d 28 a0  05 cb 0d 28 aa 0f c8 8e  |(1,0).(....(....|
00006020  20 64 66 75 6e 63 25 20  ca 0d 28 b4 3d 20 20 c9  | dfunc% ..(.=  .|
00006030  20 30 2c 31 2c 32 2c 33  2c 34 2c 35 2c 36 2c 37  | 0,1,2,3,4,5,6,7|
00006040  2c 38 2c 39 2c 31 33 2c  31 34 2c 31 35 2c 31 36  |,8,9,13,14,15,16|
00006050  2c 31 37 2c 31 38 3a f2  49 63 6f 6e 43 6f 6c 6f  |,17,18:.IconColo|
00006060  72 28 30 2c 39 29 0d 28  be 1a 20 20 c9 20 31 30  |r(0,9).(..  . 10|
00006070  3a f2 49 63 6f 6e 43 6f  6c 6f 72 28 32 2c 39 29  |:.IconColor(2,9)|
00006080  0d 28 c8 1a 20 20 c9 20  31 32 3a f2 49 63 6f 6e  |.(..  . 12:.Icon|
00006090  43 6f 6c 6f 72 28 31 2c  39 29 0d 28 d2 05 cb 0d  |Color(1,9).(....|
000060a0  28 dc 14 6f 6c 64 64 66  75 6e 63 25 3d 64 66 75  |(..olddfunc%=dfu|
000060b0  6e 63 25 0d 28 e6 05 e1  0d 28 f0 04 0d 28 fa 16  |nc%.(....(...(..|
000060c0  dd f2 49 63 6f 6e 43 6f  6c 6f 72 28 49 25 2c 43  |..IconColor(I%,C|
000060d0  25 29 0d 29 04 0c 43 25  3d 43 25 80 31 35 0d 29  |%).)..C%=C%.15.)|
000060e0  0e 14 74 65 6d 70 25 21  30 3d 77 74 6f 6f 6c 73  |..temp%!0=wtools|
000060f0  68 25 0d 29 18 0e 74 65  6d 70 25 21 34 3d 49 25  |h%.)..temp%!4=I%|
00006100  0d 29 22 12 74 65 6d 70  25 21 38 3d 43 25 3c 3c  |.)".temp%!8=C%<<|
00006110  32 38 0d 29 2c 13 74 65  6d 70 25 21 31 32 3d 31  |28.),.temp%!12=1|
00006120  35 3c 3c 32 38 0d 29 36  20 c8 99 22 57 69 6d 70  |5<<28.)6 .."Wimp|
00006130  5f 53 65 74 49 63 6f 6e  53 74 61 74 65 22 2c 2c  |_SetIconState",,|
00006140  74 65 6d 70 25 0d 29 40  05 e1 0d 29 4a 04 0d 29  |temp%.)@...)J..)|
00006150  54 0c dd f2 53 65 6c 49  63 6e 0d 29 5e 17 e7 20  |T...SelIcn.)^.. |
00006160  70 6f 6c 6c 65 64 62 25  21 31 36 3c 3e 2d 31 20  |polledb%!16<>-1 |
00006170  8c 0d 29 68 1d 20 20 f2  53 77 61 70 49 63 6f 6e  |..)h.  .SwapIcon|
00006180  53 28 70 6f 6c 6c 65 64  62 25 21 31 36 29 0d 29  |S(polledb%!16).)|
00006190  72 05 cc 0d 29 7c 0f 20  20 f2 43 6c 65 61 72 53  |r...)|.  .ClearS|
000061a0  65 6c 0d 29 86 05 cd 0d  29 90 05 e1 0d 29 9a 04  |el.)....)....)..|
000061b0  0d 29 a4 0d dd f2 53 65  6c 49 63 6e 32 0d 29 ae  |.)....SelIcn2.).|
000061c0  2f e7 20 70 6f 6c 6c 65  64 62 25 21 31 36 3c 3e  |/. polledb%!16<>|
000061d0  2d 31 20 8c 20 f2 53 77  61 70 49 63 6f 6e 53 28  |-1 . .SwapIconS(|
000061e0  70 6f 6c 6c 65 64 62 25  21 31 36 29 0d 29 b8 05  |polledb%!16).)..|
000061f0  e1 0d 29 c2 04 0d 29 cc  0e dd f2 44 72 61 67 57  |..)...)....DragW|
00006200  6f 72 6b 0d 29 d6 11 e7  20 64 66 75 6e 63 25 3d  |ork.)... dfunc%=|
00006210  31 30 20 8c 0d 29 e0 0e  20 20 64 72 61 67 25 3d  |10 ..)..  drag%=|
00006220  2d 31 0d 29 ea 15 20 20  74 65 6d 70 25 21 30 3d  |-1.)..  temp%!0=|
00006230  77 77 6f 72 6b 68 25 0d  29 f4 24 20 20 c8 99 22  |wworkh%.).$  .."|
00006240  57 69 6d 70 5f 47 65 74  57 69 6e 64 6f 77 53 74  |Wimp_GetWindowSt|
00006250  61 74 65 22 2c 2c 74 65  6d 70 25 0d 29 fe 2a 20  |ate",,temp%.).* |
00006260  20 73 74 61 72 74 6c 78  25 3d 70 6f 6c 6c 65 64  | startlx%=polled|
00006270  62 25 21 30 2b 74 65 6d  70 25 21 32 30 2d 74 65  |b%!0+temp%!20-te|
00006280  6d 70 25 21 34 0d 2a 08  2b 20 20 73 74 61 72 74  |mp%!4.*.+  start|
00006290  6c 79 25 3d 70 6f 6c 6c  65 64 62 25 21 34 2b 74  |ly%=polledb%!4+t|
000062a0  65 6d 70 25 21 32 34 2d  74 65 6d 70 25 21 31 36  |emp%!24-temp%!16|
000062b0  0d 2a 12 22 20 20 73 74  61 72 74 6c 78 25 3d 28  |.*."  startlx%=(|
000062c0  73 74 61 72 74 6c 78 25  81 39 36 29 2a 39 36 2b  |startlx%.96)*96+|
000062d0  34 38 0d 2a 1c 22 20 20  73 74 61 72 74 6c 79 25  |48.*."  startly%|
000062e0  3d 28 73 74 61 72 74 6c  79 25 81 35 36 29 2a 35  |=(startly%.56)*5|
000062f0  36 2d 33 32 0d 2a 26 19  20 20 6e 65 77 6c 78 25  |6-32.*&.  newlx%|
00006300  3d 2d 31 3a 6e 65 77 6c  79 25 3d 2d 31 0d 2a 30  |=-1:newly%=-1.*0|
00006310  19 20 20 6f 6c 64 6c 78  25 3d 2d 31 3a 6f 6c 64  |.  oldlx%=-1:old|
00006320  6c 79 25 3d 2d 31 0d 2a  3a 05 cd 0d 2a 44 05 e1  |ly%=-1.*:...*D..|
00006330  0d 2a 4e 04 0d 2a 58 10  dd f2 44 6f 75 62 6c 65  |.*N..*X...Double|
00006340  57 6f 72 6b 0d 2a 62 0f  c8 8e 20 64 66 75 6e 63  |Work.*b... dfunc|
00006350  25 20 ca 0d 2a 6c 12 20  20 c9 20 31 30 3a f2 53  |% ..*l.  . 10:.S|
00006360  65 6c 49 63 6e 0d 2a 76  13 20 20 c9 20 31 32 3a  |elIcn.*v.  . 12:|
00006370  f2 43 6f 6e 6e 65 63 74  0d 2a 80 05 cb 0d 2a 8a  |.Connect.*....*.|
00006380  05 e1 0d 2a 94 04 0d 2a  9e 0e dd f2 41 64 6a 43  |...*...*....AdjC|
00006390  57 6f 72 6b 0d 2a a8 0f  c8 8e 20 64 66 75 6e 63  |Work.*.... dfunc|
000063a0  25 20 ca 0d 2a b2 14 20  20 c9 20 31 30 3a f2 53  |% ..*..  . 10:.S|
000063b0  65 74 50 61 72 61 6d 0d  2a bc 13 20 20 c9 20 31  |etParam.*..  . 1|
000063c0  32 3a f2 53 77 61 70 4c  69 6e 0d 2a c6 05 cb 0d  |2:.SwapLin.*....|
000063d0  2a d0 05 e1 0d 2a da 04  0d 2a e4 0e dd f2 53 65  |*....*...*....Se|
000063e0  74 50 61 72 61 6d 0d 2a  ee 25 c8 8e 20 69 63 6f  |tParam.*.%.. ico|
000063f0  6e 69 6e 66 6f 25 21 28  28 70 6f 6c 6c 65 64 62  |ninfo%!((polledb|
00006400  25 21 31 36 29 2a 33 32  29 20 ca 0d 2a f8 16 20  |%!16)*32) ..*.. |
00006410  20 c9 20 30 3a f2 53 65  74 56 43 4f 50 61 72 61  | . 0:.SetVCOPara|
00006420  6d 0d 2b 02 15 20 20 c9  20 32 3a f2 53 65 74 45  |m.+..  . 2:.SetE|
00006430  47 50 61 72 61 6d 0d 2b  0c 18 20 20 c9 20 35 3a  |GParam.+..  . 5:|
00006440  f2 53 65 74 43 6f 6e 73  74 50 61 72 61 6d 0d 2b  |.SetConstParam.+|
00006450  16 18 20 20 c9 20 37 3a  f2 53 65 74 4d 75 6c 74  |..  . 7:.SetMult|
00006460  43 50 61 72 61 6d 0d 2b  20 19 20 20 c9 20 31 36  |CParam.+ .  . 16|
00006470  3a f2 53 65 74 49 6e 70  75 74 50 61 72 61 6d 0d  |:.SetInputParam.|
00006480  2b 2a 1a 20 20 c9 20 31  38 3a f2 53 65 74 4e 4c  |+*.  . 18:.SetNL|
00006490  44 69 73 74 50 61 72 61  6d 0d 2b 34 05 cb 0d 2b  |DistParam.+4...+|
000064a0  3e 05 e1 0d 2b 48 04 0d  2b 52 14 dd f2 53 65 74  |>...+H..+R...Set|
000064b0  4e 4c 44 69 73 74 50 61  72 61 6d 0d 2b 5c 15 74  |NLDistParam.+\.t|
000064c0  65 6d 70 25 21 30 3d 77  6e 6c 64 69 73 74 68 25  |emp%!0=wnldisth%|
000064d0  0d 2b 66 22 c8 99 22 57  69 6d 70 5f 47 65 74 57  |.+f".."Wimp_GetW|
000064e0  69 6e 64 6f 77 53 74 61  74 65 22 2c 2c 74 65 6d  |indowState",,tem|
000064f0  70 25 0d 2b 70 1a 74 65  6d 70 25 21 34 3d 70 6f  |p%.+p.temp%!4=po|
00006500  6c 6c 65 64 62 25 21 30  2d 32 35 36 0d 2b 7a 1a  |lledb%!0-256.+z.|
00006510  74 65 6d 70 25 21 38 3d  70 6f 6c 6c 65 64 62 25  |temp%!8=polledb%|
00006520  21 34 2d 32 35 36 0d 2b  84 18 74 65 6d 70 25 21  |!4-256.+..temp%!|
00006530  31 32 3d 74 65 6d 70 25  21 34 2b 35 31 32 0d 2b  |12=temp%!4+512.+|
00006540  8e 18 74 65 6d 70 25 21  31 36 3d 74 65 6d 70 25  |..temp%!16=temp%|
00006550  21 38 2b 35 31 32 0d 2b  98 0f 74 65 6d 70 25 21  |!8+512.+..temp%!|
00006560  32 38 3d 2d 31 0d 2b a2  36 e7 20 28 74 65 6d 70  |28=-1.+.6. (temp|
00006570  25 21 33 32 29 80 28 31  3c 3c 31 36 29 20 8c 20  |%!32).(1<<16) . |
00006580  c8 99 22 57 69 6d 70 5f  43 6c 6f 73 65 57 69 6e  |.."Wimp_CloseWin|
00006590  64 6f 77 22 2c 2c 74 65  6d 70 25 0d 2b ac 1e c8  |dow",,temp%.+...|
000065a0  99 22 57 69 6d 70 5f 4f  70 65 6e 57 69 6e 64 6f  |."Wimp_OpenWindo|
000065b0  77 22 2c 2c 74 65 6d 70  25 0d 2b b6 2e 6e 6c 64  |w",,temp%.+..nld|
000065c0  69 73 74 70 74 72 25 3d  69 63 6f 6e 69 6e 66 6f  |istptr%=iconinfo|
000065d0  25 21 28 28 70 6f 6c 6c  65 64 62 25 21 31 36 29  |%!((polledb%!16)|
000065e0  2a 33 32 2b 31 32 29 0d  2b c0 13 6e 6c 64 69 73  |*32+12).+..nldis|
000065f0  74 6c 61 73 74 78 25 3d  2d 31 0d 2b ca 13 6e 6c  |tlastx%=-1.+..nl|
00006600  64 69 73 74 6c 61 73 74  79 25 3d 2d 31 0d 2b d4  |distlasty%=-1.+.|
00006610  18 f5 3a c8 97 20 41 25  2c 42 25 2c 43 25 3a fd  |..:.. A%,B%,C%:.|
00006620  20 43 25 3d 30 0d 2b de  05 e1 0d 2b e8 04 0d 2b  | C%=0.+....+...+|
00006630  f2 13 dd f2 53 65 74 49  6e 70 75 74 50 61 72 61  |....SetInputPara|
00006640  6d 0d 2b fc 14 74 65 6d  70 25 21 30 3d 77 69 6e  |m.+..temp%!0=win|
00006650  70 75 74 68 25 0d 2c 06  0d 74 65 6d 70 25 21 34  |puth%.,..temp%!4|
00006660  3d 31 0d 2c 10 20 c8 99  22 57 69 6d 70 5f 47 65  |=1.,. .."Wimp_Ge|
00006670  74 49 63 6f 6e 53 74 61  74 65 22 2c 2c 74 65 6d  |tIconState",,tem|
00006680  70 25 0d 2c 1a 2b 69 6e  70 70 74 72 25 3d 69 63  |p%.,.+inpptr%=ic|
00006690  6f 6e 69 6e 66 6f 25 21  28 28 70 6f 6c 6c 65 64  |oninfo%!((polled|
000066a0  62 25 21 31 36 29 2a 33  32 2b 31 32 29 0d 2c 24  |b%!16)*32+12).,$|
000066b0  1a 24 28 74 65 6d 70 25  21 32 38 29 3d 24 28 69  |.$(temp%!28)=$(i|
000066c0  6e 70 70 74 72 25 29 0d  2c 2e 18 69 6e 70 74 79  |npptr%).,..inpty|
000066d0  70 65 25 3d 69 6e 70 70  74 72 25 21 32 35 36 0d  |pe%=inpptr%!256.|
000066e0  2c 38 0d 74 65 6d 70 25  21 34 3d 38 0d 2c 42 20  |,8.temp%!4=8.,B |
000066f0  c8 99 22 57 69 6d 70 5f  47 65 74 49 63 6f 6e 53  |.."Wimp_GetIconS|
00006700  74 61 74 65 22 2c 2c 74  65 6d 70 25 0d 2c 4c 0b  |tate",,temp%.,L.|
00006710  40 25 3d 26 39 30 61 0d  2c 56 1e 24 28 74 65 6d  |@%=&90a.,V.$(tem|
00006720  70 25 21 32 38 29 3d c3  28 69 6e 70 70 74 72 25  |p%!28)=.(inpptr%|
00006730  21 32 36 38 29 0d 2c 60  10 40 25 3d 26 30 31 30  |!268).,`.@%=&010|
00006740  32 30 61 30 30 0d 2c 6a  12 74 65 6d 70 25 21 31  |20a00.,j.temp%!1|
00006750  32 3d 31 3c 3c 32 31 0d  2c 74 0d 74 65 6d 70 25  |2=1<<21.,t.temp%|
00006760  21 34 3d 33 0d 2c 7e 30  e7 20 28 69 6e 70 74 79  |!4=3.,~0. (inpty|
00006770  70 65 25 80 33 29 3d 30  20 8c 20 74 65 6d 70 25  |pe%.3)=0 . temp%|
00006780  21 38 3d 31 3c 3c 32 31  20 8b 20 74 65 6d 70 25  |!8=1<<21 . temp%|
00006790  21 38 3d 30 0d 2c 88 20  c8 99 22 57 69 6d 70 5f  |!8=0.,. .."Wimp_|
000067a0  53 65 74 49 63 6f 6e 53  74 61 74 65 22 2c 2c 74  |SetIconState",,t|
000067b0  65 6d 70 25 0d 2c 92 0d  74 65 6d 70 25 21 34 3d  |emp%.,..temp%!4=|
000067c0  34 0d 2c 9c 30 e7 20 28  69 6e 70 74 79 70 65 25  |4.,.0. (inptype%|
000067d0  80 33 29 3d 31 20 8c 20  74 65 6d 70 25 21 38 3d  |.3)=1 . temp%!8=|
000067e0  31 3c 3c 32 31 20 8b 20  74 65 6d 70 25 21 38 3d  |1<<21 . temp%!8=|
000067f0  30 0d 2c a6 20 c8 99 22  57 69 6d 70 5f 53 65 74  |0.,. .."Wimp_Set|
00006800  49 63 6f 6e 53 74 61 74  65 22 2c 2c 74 65 6d 70  |IconState",,temp|
00006810  25 0d 2c b0 0d 74 65 6d  70 25 21 34 3d 35 0d 2c  |%.,..temp%!4=5.,|
00006820  ba 30 e7 20 28 69 6e 70  74 79 70 65 25 80 33 29  |.0. (inptype%.3)|
00006830  3d 32 20 8c 20 74 65 6d  70 25 21 38 3d 31 3c 3c  |=2 . temp%!8=1<<|
00006840  32 31 20 8b 20 74 65 6d  70 25 21 38 3d 30 0d 2c  |21 . temp%!8=0.,|
00006850  c4 20 c8 99 22 57 69 6d  70 5f 53 65 74 49 63 6f  |. .."Wimp_SetIco|
00006860  6e 53 74 61 74 65 22 2c  2c 74 65 6d 70 25 0d 2c  |nState",,temp%.,|
00006870  ce 0e 74 65 6d 70 25 21  34 3d 31 31 0d 2c d8 2e  |..temp%!4=11.,..|
00006880  e7 20 28 69 6e 70 74 79  70 65 25 80 34 29 20 8c  |. (inptype%.4) .|
00006890  20 74 65 6d 70 25 21 38  3d 31 3c 3c 32 31 20 8b  | temp%!8=1<<21 .|
000068a0  20 74 65 6d 70 25 21 38  3d 30 0d 2c e2 20 c8 99  | temp%!8=0.,. ..|
000068b0  22 57 69 6d 70 5f 53 65  74 49 63 6f 6e 53 74 61  |"Wimp_SetIconSta|
000068c0  74 65 22 2c 2c 74 65 6d  70 25 0d 2c ec 0e 74 65  |te",,temp%.,..te|
000068d0  6d 70 25 21 34 3d 31 32  0d 2c f6 2e e7 20 28 69  |mp%!4=12.,... (i|
000068e0  6e 70 74 79 70 65 25 80  34 29 20 8c 20 74 65 6d  |nptype%.4) . tem|
000068f0  70 25 21 38 3d 30 20 8b  20 74 65 6d 70 25 21 38  |p%!8=0 . temp%!8|
00006900  3d 31 3c 3c 32 31 0d 2d  00 20 c8 99 22 57 69 6d  |=1<<21.-. .."Wim|
00006910  70 5f 53 65 74 49 63 6f  6e 53 74 61 74 65 22 2c  |p_SetIconState",|
00006920  2c 74 65 6d 70 25 0d 2d  0a 22 c8 99 22 57 69 6d  |,temp%.-.".."Wim|
00006930  70 5f 47 65 74 57 69 6e  64 6f 77 53 74 61 74 65  |p_GetWindowState|
00006940  22 2c 2c 74 65 6d 70 25  0d 2d 14 1a 74 65 6d 70  |",,temp%.-..temp|
00006950  25 21 34 3d 70 6f 6c 6c  65 64 62 25 21 30 2d 32  |%!4=polledb%!0-2|
00006960  31 30 0d 2d 1e 1a 74 65  6d 70 25 21 38 3d 70 6f  |10.-..temp%!8=po|
00006970  6c 6c 65 64 62 25 21 34  2d 31 30 30 0d 2d 28 18  |lledb%!4-100.-(.|
00006980  74 65 6d 70 25 21 31 32  3d 74 65 6d 70 25 21 34  |temp%!12=temp%!4|
00006990  2b 34 33 30 0d 2d 32 18  74 65 6d 70 25 21 31 36  |+430.-2.temp%!16|
000069a0  3d 74 65 6d 70 25 21 38  2b 32 31 32 0d 2d 3c 0f  |=temp%!8+212.-<.|
000069b0  74 65 6d 70 25 21 32 38  3d 2d 31 0d 2d 46 36 e7  |temp%!28=-1.-F6.|
000069c0  20 28 74 65 6d 70 25 21  33 32 29 80 28 31 3c 3c  | (temp%!32).(1<<|
000069d0  31 36 29 20 8c 20 c8 99  22 57 69 6d 70 5f 43 6c  |16) . .."Wimp_Cl|
000069e0  6f 73 65 57 69 6e 64 6f  77 22 2c 2c 74 65 6d 70  |oseWindow",,temp|
000069f0  25 0d 2d 50 1e c8 99 22  57 69 6d 70 5f 4f 70 65  |%.-P..."Wimp_Ope|
00006a00  6e 57 69 6e 64 6f 77 22  2c 2c 74 65 6d 70 25 0d  |nWindow",,temp%.|
00006a10  2d 5a 18 f5 3a c8 97 20  41 25 2c 42 25 2c 43 25  |-Z..:.. A%,B%,C%|
00006a20  3a fd 20 43 25 3d 30 0d  2d 64 05 e1 0d 2d 6e 04  |:. C%=0.-d...-n.|
00006a30  0d 2d 78 11 dd f2 53 65  74 56 43 4f 50 61 72 61  |.-x...SetVCOPara|
00006a40  6d 0d 2d 82 12 74 65 6d  70 25 21 30 3d 77 76 63  |m.-..temp%!0=wvc|
00006a50  6f 68 25 0d 2d 8c 22 c8  99 22 57 69 6d 70 5f 47  |oh%.-.".."Wimp_G|
00006a60  65 74 57 69 6e 64 6f 77  53 74 61 74 65 22 2c 2c  |etWindowState",,|
00006a70  74 65 6d 70 25 0d 2d 96  1a 74 65 6d 70 25 21 34  |temp%.-..temp%!4|
00006a80  3d 70 6f 6c 6c 65 64 62  25 21 30 2d 33 34 32 0d  |=polledb%!0-342.|
00006a90  2d a0 1a 74 65 6d 70 25  21 38 3d 70 6f 6c 6c 65  |-..temp%!8=polle|
00006aa0  64 62 25 21 34 2d 31 33  32 0d 2d aa 18 74 65 6d  |db%!4-132.-..tem|
00006ab0  70 25 21 31 32 3d 74 65  6d 70 25 21 34 2b 36 38  |p%!12=temp%!4+68|
00006ac0  34 0d 2d b4 18 74 65 6d  70 25 21 31 36 3d 74 65  |4.-..temp%!16=te|
00006ad0  6d 70 25 21 38 2b 32 36  34 0d 2d be 0f 74 65 6d  |mp%!8+264.-..tem|
00006ae0  70 25 21 32 38 3d 2d 31  0d 2d c8 36 e7 20 28 74  |p%!28=-1.-.6. (t|
00006af0  65 6d 70 25 21 33 32 29  80 28 31 3c 3c 31 36 29  |emp%!32).(1<<16)|
00006b00  20 8c 20 c8 99 22 57 69  6d 70 5f 43 6c 6f 73 65  | . .."Wimp_Close|
00006b10  57 69 6e 64 6f 77 22 2c  2c 74 65 6d 70 25 0d 2d  |Window",,temp%.-|
00006b20  d2 1e c8 99 22 57 69 6d  70 5f 4f 70 65 6e 57 69  |...."Wimp_OpenWi|
00006b30  6e 64 6f 77 22 2c 2c 74  65 6d 70 25 0d 2d dc 2b  |ndow",,temp%.-.+|
00006b40  76 63 6f 70 74 72 25 3d  69 63 6f 6e 69 6e 66 6f  |vcoptr%=iconinfo|
00006b50  25 21 28 28 70 6f 6c 6c  65 64 62 25 21 31 36 29  |%!((polledb%!16)|
00006b60  2a 33 32 2b 31 32 29 0d  2d e6 10 76 63 6f 6c 61  |*32+12).-..vcola|
00006b70  73 74 78 25 3d 2d 31 0d  2d f0 10 76 63 6f 6c 61  |stx%=-1.-..vcola|
00006b80  73 74 79 25 3d 2d 31 0d  2d fa 18 f5 3a c8 97 20  |sty%=-1.-...:.. |
00006b90  41 25 2c 42 25 2c 43 25  3a fd 20 43 25 3d 30 0d  |A%,B%,C%:. C%=0.|
00006ba0  2e 04 05 e1 0d 2e 0e 04  0d 2e 18 10 dd f2 53 65  |..............Se|
00006bb0  74 45 47 50 61 72 61 6d  0d 2e 22 11 74 65 6d 70  |tEGParam..".temp|
00006bc0  25 21 30 3d 77 65 67 68  25 0d 2e 2c 22 c8 99 22  |%!0=wegh%..,".."|
00006bd0  57 69 6d 70 5f 47 65 74  57 69 6e 64 6f 77 53 74  |Wimp_GetWindowSt|
00006be0  61 74 65 22 2c 2c 74 65  6d 70 25 0d 2e 36 1a 74  |ate",,temp%..6.t|
00006bf0  65 6d 70 25 21 34 3d 70  6f 6c 6c 65 64 62 25 21  |emp%!4=polledb%!|
00006c00  30 2d 35 31 32 0d 2e 40  1a 74 65 6d 70 25 21 38  |0-512..@.temp%!8|
00006c10  3d 70 6f 6c 6c 65 64 62  25 21 34 2d 31 32 38 0d  |=polledb%!4-128.|
00006c20  2e 4a 19 74 65 6d 70 25  21 31 32 3d 74 65 6d 70  |.J.temp%!12=temp|
00006c30  25 21 34 2b 31 30 32 34  0d 2e 54 18 74 65 6d 70  |%!4+1024..T.temp|
00006c40  25 21 31 36 3d 74 65 6d  70 25 21 38 2b 32 35 36  |%!16=temp%!8+256|
00006c50  0d 2e 5e 0f 74 65 6d 70  25 21 32 38 3d 2d 31 0d  |..^.temp%!28=-1.|
00006c60  2e 68 36 e7 20 28 74 65  6d 70 25 21 33 32 29 80  |.h6. (temp%!32).|
00006c70  28 31 3c 3c 31 36 29 20  8c 20 c8 99 22 57 69 6d  |(1<<16) . .."Wim|
00006c80  70 5f 43 6c 6f 73 65 57  69 6e 64 6f 77 22 2c 2c  |p_CloseWindow",,|
00006c90  74 65 6d 70 25 0d 2e 72  1e c8 99 22 57 69 6d 70  |temp%..r..."Wimp|
00006ca0  5f 4f 70 65 6e 57 69 6e  64 6f 77 22 2c 2c 74 65  |_OpenWindow",,te|
00006cb0  6d 70 25 0d 2e 7c 2a 65  67 70 74 72 25 3d 69 63  |mp%..|*egptr%=ic|
00006cc0  6f 6e 69 6e 66 6f 25 21  28 28 70 6f 6c 6c 65 64  |oninfo%!((polled|
00006cd0  62 25 21 31 36 29 2a 33  32 2b 31 32 29 0d 2e 86  |b%!16)*32+12)...|
00006ce0  18 f5 3a c8 97 20 41 25  2c 42 25 2c 43 25 3a fd  |..:.. A%,B%,C%:.|
00006cf0  20 43 25 3d 30 0d 2e 90  05 e1 0d 2e 9a 04 0d 2e  | C%=0...........|
00006d00  a4 13 dd f2 53 65 74 43  6f 6e 73 74 50 61 72 61  |....SetConstPara|
00006d10  6d 0d 2e ae 17 74 65 6d  70 25 21 30 3d 77 63 6f  |m....temp%!0=wco|
00006d20  6e 73 74 61 6e 74 68 25  0d 2e b8 0d 74 65 6d 70  |nstanth%....temp|
00006d30  25 21 34 3d 30 0d 2e c2  20 c8 99 22 57 69 6d 70  |%!4=0... .."Wimp|
00006d40  5f 47 65 74 49 63 6f 6e  53 74 61 74 65 22 2c 2c  |_GetIconState",,|
00006d50  74 65 6d 70 25 0d 2e cc  2d 63 6f 6e 73 74 70 74  |temp%...-constpt|
00006d60  72 25 3d 69 63 6f 6e 69  6e 66 6f 25 21 28 28 70  |r%=iconinfo%!((p|
00006d70  6f 6c 6c 65 64 62 25 21  31 36 29 2a 33 32 2b 31  |olledb%!16)*32+1|
00006d80  32 29 0d 2e d6 2b 24 28  74 65 6d 70 25 21 32 38  |2)...+$(temp%!28|
00006d90  29 3d c0 c3 28 28 21 63  6f 6e 73 74 70 74 72 25  |)=..((!constptr%|
00006da0  29 2f 26 31 30 30 30 30  29 2c 31 31 29 0d 2e e0  |)/&10000),11)...|
00006db0  22 c8 99 22 57 69 6d 70  5f 47 65 74 57 69 6e 64  |".."Wimp_GetWind|
00006dc0  6f 77 53 74 61 74 65 22  2c 2c 74 65 6d 70 25 0d  |owState",,temp%.|
00006dd0  2e ea 1a 74 65 6d 70 25  21 34 3d 70 6f 6c 6c 65  |...temp%!4=polle|
00006de0  64 62 25 21 30 2d 31 38  30 0d 2e f4 19 74 65 6d  |db%!0-180....tem|
00006df0  70 25 21 38 3d 70 6f 6c  6c 65 64 62 25 21 34 2d  |p%!8=polledb%!4-|
00006e00  32 38 0d 2e fe 18 74 65  6d 70 25 21 31 32 3d 74  |28....temp%!12=t|
00006e10  65 6d 70 25 21 34 2b 33  36 30 0d 2f 08 17 74 65  |emp%!4+360./..te|
00006e20  6d 70 25 21 31 36 3d 74  65 6d 70 25 21 38 2b 35  |mp%!16=temp%!8+5|
00006e30  36 0d 2f 12 0f 74 65 6d  70 25 21 32 38 3d 2d 31  |6./..temp%!28=-1|
00006e40  0d 2f 1c 36 e7 20 28 74  65 6d 70 25 21 33 32 29  |./.6. (temp%!32)|
00006e50  80 28 31 3c 3c 31 36 29  20 8c 20 c8 99 22 57 69  |.(1<<16) . .."Wi|
00006e60  6d 70 5f 43 6c 6f 73 65  57 69 6e 64 6f 77 22 2c  |mp_CloseWindow",|
00006e70  2c 74 65 6d 70 25 0d 2f  26 1e c8 99 22 57 69 6d  |,temp%./&..."Wim|
00006e80  70 5f 4f 70 65 6e 57 69  6e 64 6f 77 22 2c 2c 74  |p_OpenWindow",,t|
00006e90  65 6d 70 25 0d 2f 30 05  e1 0d 2f 3a 04 0d 2f 44  |emp%./0.../:../D|
00006ea0  13 dd f2 53 65 74 4d 75  6c 74 43 50 61 72 61 6d  |...SetMultCParam|
00006eb0  0d 2f 4e 14 74 65 6d 70  25 21 30 3d 77 6d 75 6c  |./N.temp%!0=wmul|
00006ec0  74 63 68 25 0d 2f 58 0d  74 65 6d 70 25 21 34 3d  |tch%./X.temp%!4=|
00006ed0  30 0d 2f 62 20 c8 99 22  57 69 6d 70 5f 47 65 74  |0./b .."Wimp_Get|
00006ee0  49 63 6f 6e 53 74 61 74  65 22 2c 2c 74 65 6d 70  |IconState",,temp|
00006ef0  25 0d 2f 6c 2e 6d 63 6f  6e 73 74 70 74 72 25 3d  |%./l.mconstptr%=|
00006f00  69 63 6f 6e 69 6e 66 6f  25 21 28 28 70 6f 6c 6c  |iconinfo%!((poll|
00006f10  65 64 62 25 21 31 36 29  2a 33 32 2b 31 32 29 0d  |edb%!16)*32+12).|
00006f20  2f 76 2c 24 28 74 65 6d  70 25 21 32 38 29 3d c0  |/v,$(temp%!28)=.|
00006f30  c3 28 28 21 6d 63 6f 6e  73 74 70 74 72 25 29 2f  |.((!mconstptr%)/|
00006f40  26 31 30 30 30 30 29 2c  31 31 29 0d 2f 80 22 c8  |&10000),11)./.".|
00006f50  99 22 57 69 6d 70 5f 47  65 74 57 69 6e 64 6f 77  |."Wimp_GetWindow|
00006f60  53 74 61 74 65 22 2c 2c  74 65 6d 70 25 0d 2f 8a  |State",,temp%./.|
00006f70  1a 74 65 6d 70 25 21 34  3d 70 6f 6c 6c 65 64 62  |.temp%!4=polledb|
00006f80  25 21 30 2d 31 34 35 0d  2f 94 19 74 65 6d 70 25  |%!0-145./..temp%|
00006f90  21 38 3d 70 6f 6c 6c 65  64 62 25 21 34 2d 35 34  |!8=polledb%!4-54|
00006fa0  0d 2f 9e 18 74 65 6d 70  25 21 31 32 3d 74 65 6d  |./..temp%!12=tem|
00006fb0  70 25 21 34 2b 33 39 30  0d 2f a8 18 74 65 6d 70  |p%!4+390./..temp|
00006fc0  25 21 31 36 3d 74 65 6d  70 25 21 38 2b 31 30 38  |%!16=temp%!8+108|
00006fd0  0d 2f b2 0f 74 65 6d 70  25 21 32 38 3d 2d 31 0d  |./..temp%!28=-1.|
00006fe0  2f bc 36 e7 20 28 74 65  6d 70 25 21 33 32 29 80  |/.6. (temp%!32).|
00006ff0  28 31 3c 3c 31 36 29 20  8c 20 c8 99 22 57 69 6d  |(1<<16) . .."Wim|
00007000  70 5f 43 6c 6f 73 65 57  69 6e 64 6f 77 22 2c 2c  |p_CloseWindow",,|
00007010  74 65 6d 70 25 0d 2f c6  1e c8 99 22 57 69 6d 70  |temp%./...."Wimp|
00007020  5f 4f 70 65 6e 57 69 6e  64 6f 77 22 2c 2c 74 65  |_OpenWindow",,te|
00007030  6d 70 25 0d 2f d0 05 e1  0d 2f da 04 0d 2f e4 0d  |mp%./..../.../..|
00007040  dd f2 53 77 61 70 4c 69  6e 0d 2f ee 10 f2 4d 6f  |..SwapLin./...Mo|
00007050  64 54 69 74 6c 65 28 30  29 0d 2f f8 19 e7 20 28  |dTitle(0)./... (|
00007060  70 6f 6c 6c 65 64 62 25  21 31 36 3c 3e 2d 31 29  |polledb%!16<>-1)|
00007070  20 8c 0d 30 02 15 20 20  74 65 6d 70 25 21 30 3d  | ..0..  temp%!0=|
00007080  77 77 6f 72 6b 68 25 0d  30 0c 24 20 20 c8 99 22  |wworkh%.0.$  .."|
00007090  57 69 6d 70 5f 47 65 74  57 69 6e 64 6f 77 53 74  |Wimp_GetWindowSt|
000070a0  61 74 65 22 2c 2c 74 65  6d 70 25 0d 30 16 26 20  |ate",,temp%.0.& |
000070b0  20 73 6c 78 25 3d 70 6f  6c 6c 65 64 62 25 21 30  | slx%=polledb%!0|
000070c0  2d 74 65 6d 70 25 21 34  2b 74 65 6d 70 25 21 32  |-temp%!4+temp%!2|
000070d0  30 0d 30 20 27 20 20 73  6c 79 25 3d 70 6f 6c 6c  |0.0 '  sly%=poll|
000070e0  65 64 62 25 21 34 2d 74  65 6d 70 25 21 31 36 2b  |edb%!4-temp%!16+|
000070f0  74 65 6d 70 25 21 32 34  0d 30 2a 16 20 20 73 69  |temp%!24.0*.  si|
00007100  63 25 3d 70 6f 6c 6c 65  64 62 25 21 31 36 0d 30  |c%=polledb%!16.0|
00007110  34 26 20 20 78 25 3d 73  6c 78 25 2d 69 63 6f 6e  |4&  x%=slx%-icon|
00007120  69 6e 66 6f 25 21 28 73  69 63 25 2a 33 32 2b 34  |info%!(sic%*32+4|
00007130  29 2d 35 38 0d 30 3e 26  20 20 79 25 3d 73 6c 79  |)-58.0>&  y%=sly|
00007140  25 2d 69 63 6f 6e 69 6e  66 6f 25 21 28 73 69 63  |%-iconinfo%!(sic|
00007150  25 2a 33 32 2b 38 29 2d  32 38 0d 30 48 1c 20 20  |%*32+8)-28.0H.  |
00007160  73 69 25 3d a4 47 65 74  49 4f 28 78 25 2c 79 25  |si%=.GetIO(x%,y%|
00007170  2c 73 69 63 25 29 0d 30  52 12 20 20 e7 20 28 73  |,sic%).0R.  . (s|
00007180  69 25 3c 3e 32 29 20 8c  0d 30 5c 29 20 20 20 20  |i%<>2) ..0\)    |
00007190  65 69 63 25 3d 69 63 6f  6e 69 6e 66 6f 25 21 28  |eic%=iconinfo%!(|
000071a0  73 69 63 25 2a 33 32 2b  73 69 25 2a 34 2b 31 36  |sic%*32+si%*4+16|
000071b0  29 0d 30 66 22 20 20 20  20 65 6c 78 25 3d 69 63  |).0f"    elx%=ic|
000071c0  6f 6e 69 6e 66 6f 25 21  28 65 69 63 25 2a 33 32  |oninfo%!(eic%*32|
000071d0  2b 34 29 0d 30 70 22 20  20 20 20 65 6c 79 25 3d  |+4).0p"    ely%=|
000071e0  69 63 6f 6e 69 6e 66 6f  25 21 28 65 69 63 25 2a  |iconinfo%!(eic%*|
000071f0  33 32 2b 38 29 0d 30 7a  22 20 20 20 20 6c 73 25  |32+8).0z"    ls%|
00007200  3d 69 63 6f 6e 69 6e 66  6f 25 21 28 73 69 63 25  |=iconinfo%!(sic%|
00007210  2a 33 32 2b 32 38 29 0d  30 84 54 20 20 20 20 e7  |*32+28).0.T    .|
00007220  20 73 69 25 3d 30 20 8c  20 6c 73 25 3d 28 6c 73  | si%=0 . ls%=(ls|
00007230  25 80 26 66 66 66 66 66  66 66 63 29 84 28 28 6c  |%.&fffffffc).((l|
00007240  73 25 2b 31 29 80 33 29  20 8b 20 6c 73 25 3d 28  |s%+1).3) . ls%=(|
00007250  6c 73 25 80 26 66 66 66  66 66 66 66 33 29 84 28  |ls%.&fffffff3).(|
00007260  28 6c 73 25 2b 34 29 80  26 63 29 0d 30 8e 22 20  |(ls%+4).&c).0." |
00007270  20 20 20 69 63 6f 6e 69  6e 66 6f 25 21 28 73 69  |   iconinfo%!(si|
00007280  63 25 2a 33 32 2b 32 38  29 3d 6c 73 25 0d 30 98  |c%*32+28)=ls%.0.|
00007290  22 20 20 20 20 e7 20 73  6c 78 25 3e 65 6c 78 25  |"    . slx%>elx%|
000072a0  20 8c 20 c8 94 20 73 6c  78 25 2c 65 6c 78 25 0d  | . .. slx%,elx%.|
000072b0  30 a2 22 20 20 20 20 e7  20 73 6c 79 25 3e 65 6c  |0."    . sly%>el|
000072c0  79 25 20 8c 20 c8 94 20  73 6c 79 25 2c 65 6c 79  |y% . .. sly%,ely|
000072d0  25 0d 30 ac 44 20 20 20  20 c8 99 22 57 69 6d 70  |%.0.D    .."Wimp|
000072e0  5f 46 6f 72 63 65 52 65  64 72 61 77 22 2c 77 77  |_ForceRedraw",ww|
000072f0  6f 72 6b 68 25 2c 73 6c  78 25 2d 39 38 2c 73 6c  |orkh%,slx%-98,sl|
00007300  79 25 2d 35 38 2c 65 6c  78 25 2b 39 38 2c 65 6c  |y%-58,elx%+98,el|
00007310  79 25 2b 35 38 0d 30 b6  07 20 20 cd 0d 30 c0 05  |y%+58.0..  ..0..|
00007320  cd 0d 30 ca 05 e1 0d 30  d4 04 0d 30 de 0d dd f2  |..0....0...0....|
00007330  43 6f 6e 6e 65 63 74 0d  30 e8 10 f2 4d 6f 64 54  |Connect.0...ModT|
00007340  69 74 6c 65 28 30 29 0d  30 f2 16 e7 20 70 6f 6c  |itle(0).0... pol|
00007350  6c 65 64 62 25 21 31 36  3d 2d 31 20 8c 0d 30 fc  |ledb%!16=-1 ..0.|
00007360  08 20 20 ef 37 0d 31 06  05 cc 0d 31 10 15 20 20  |.  .7.1....1..  |
00007370  74 65 6d 70 25 21 30 3d  77 77 6f 72 6b 68 25 0d  |temp%!0=wworkh%.|
00007380  31 1a 24 20 20 c8 99 22  57 69 6d 70 5f 47 65 74  |1.$  .."Wimp_Get|
00007390  57 69 6e 64 6f 77 53 74  61 74 65 22 2c 2c 74 65  |WindowState",,te|
000073a0  6d 70 25 0d 31 24 15 20  20 e7 20 73 74 61 72 74  |mp%.1$.  . start|
000073b0  6c 78 25 3d 2d 31 20 8c  0d 31 2e 2c 20 20 20 20  |lx%=-1 ..1.,    |
000073c0  73 74 61 72 74 6c 78 25  3d 70 6f 6c 6c 65 64 62  |startlx%=polledb|
000073d0  25 21 30 2d 74 65 6d 70  25 21 34 2b 74 65 6d 70  |%!0-temp%!4+temp|
000073e0  25 21 32 30 0d 31 38 2d  20 20 20 20 73 74 61 72  |%!20.18-    star|
000073f0  74 6c 79 25 3d 70 6f 6c  6c 65 64 62 25 21 34 2d  |tly%=polledb%!4-|
00007400  74 65 6d 70 25 21 31 36  2b 74 65 6d 70 25 21 32  |temp%!16+temp%!2|
00007410  34 0d 31 42 1c 20 20 20  20 73 74 61 72 74 69 63  |4.1B.    startic|
00007420  25 3d 70 6f 6c 6c 65 64  62 25 21 31 36 0d 31 4c  |%=polledb%!16.1L|
00007430  30 20 20 20 20 78 25 3d  73 74 61 72 74 6c 78 25  |0    x%=startlx%|
00007440  2d 69 63 6f 6e 69 6e 66  6f 25 21 28 73 74 61 72  |-iconinfo%!(star|
00007450  74 69 63 25 2a 33 32 2b  34 29 2d 35 38 0d 31 56  |tic%*32+4)-58.1V|
00007460  30 20 20 20 20 79 25 3d  73 74 61 72 74 6c 79 25  |0    y%=startly%|
00007470  2d 69 63 6f 6e 69 6e 66  6f 25 21 28 73 74 61 72  |-iconinfo%!(star|
00007480  74 69 63 25 2a 33 32 2b  38 29 2d 32 38 0d 31 60  |tic%*32+8)-28.1`|
00007490  26 20 20 20 20 73 74 61  72 74 69 25 3d a4 47 65  |&    starti%=.Ge|
000074a0  74 49 4f 28 78 25 2c 79  25 2c 73 74 61 72 74 69  |tIO(x%,y%,starti|
000074b0  63 25 29 0d 31 6a 07 20  20 cc 0d 31 74 2a 20 20  |c%).1j.  ..1t*  |
000074c0  20 20 65 6e 64 6c 78 25  3d 70 6f 6c 6c 65 64 62  |  endlx%=polledb|
000074d0  25 21 30 2d 74 65 6d 70  25 21 34 2b 74 65 6d 70  |%!0-temp%!4+temp|
000074e0  25 21 32 30 0d 31 7e 2b  20 20 20 20 65 6e 64 6c  |%!20.1~+    endl|
000074f0  79 25 3d 70 6f 6c 6c 65  64 62 25 21 34 2d 74 65  |y%=polledb%!4-te|
00007500  6d 70 25 21 31 36 2b 74  65 6d 70 25 21 32 34 0d  |mp%!16+temp%!24.|
00007510  31 88 1a 20 20 20 20 65  6e 64 69 63 25 3d 70 6f  |1..    endic%=po|
00007520  6c 6c 65 64 62 25 21 31  36 0d 31 92 2c 20 20 20  |lledb%!16.1.,   |
00007530  20 78 25 3d 65 6e 64 6c  78 25 2d 69 63 6f 6e 69  | x%=endlx%-iconi|
00007540  6e 66 6f 25 21 28 65 6e  64 69 63 25 2a 33 32 2b  |nfo%!(endic%*32+|
00007550  34 29 2d 35 38 0d 31 9c  2c 20 20 20 20 79 25 3d  |4)-58.1.,    y%=|
00007560  65 6e 64 6c 79 25 2d 69  63 6f 6e 69 6e 66 6f 25  |endly%-iconinfo%|
00007570  21 28 65 6e 64 69 63 25  2a 33 32 2b 38 29 2d 32  |!(endic%*32+8)-2|
00007580  38 0d 31 a6 22 20 20 20  20 65 6e 64 69 25 3d a4  |8.1."    endi%=.|
00007590  47 65 74 49 4f 28 78 25  2c 79 25 2c 65 6e 64 69  |GetIO(x%,y%,endi|
000075a0  63 25 29 0d 31 b0 2f 20  20 20 20 e7 20 28 73 74  |c%).1./    . (st|
000075b0  61 72 74 69 25 3d 65 6e  64 69 25 29 84 28 28 73  |arti%=endi%).((s|
000075c0  74 61 72 74 69 25 82 65  6e 64 69 25 29 3d 31 29  |tarti%.endi%)=1)|
000075d0  20 8c 0d 31 ba 0c 20 20  20 20 20 20 ef 37 0d 31  | ..1..      .7.1|
000075e0  c4 09 20 20 20 20 cc 0d  31 ce 15 20 20 20 20 20  |..    ..1..     |
000075f0  20 e7 20 65 6e 64 69 25  3d 32 20 8c 0d 31 d8 8d  | . endi%=2 ..1..|
00007600  20 20 20 20 20 20 20 20  e7 20 69 63 6f 6e 69 6e  |        . iconin|
00007610  66 6f 25 21 28 73 74 61  72 74 69 63 25 2a 33 32  |fo%!(startic%*32|
00007620  2b 31 36 2b 73 74 61 72  74 69 25 2a 34 29 3c 3e  |+16+starti%*4)<>|
00007630  2d 31 20 8c 20 f2 52 65  70 6f 72 74 45 72 72 28  |-1 . .ReportErr(|
00007640  22 49 6e 70 75 74 20 61  6c 72 65 61 64 79 20 63  |"Input already c|
00007650  6f 6e 6e 65 63 74 65 64  2e 22 29 20 8b 20 69 63  |onnected.") . ic|
00007660  6f 6e 69 6e 66 6f 25 21  28 73 74 61 72 74 69 63  |oninfo%!(startic|
00007670  25 2a 33 32 2b 31 36 2b  73 74 61 72 74 69 25 2a  |%*32+16+starti%*|
00007680  34 29 3d 65 6e 64 69 63  25 0d 31 e2 0b 20 20 20  |4)=endic%.1..   |
00007690  20 20 20 cc 0d 31 ec 87  20 20 20 20 20 20 20 20  |   ..1..        |
000076a0  e7 20 69 63 6f 6e 69 6e  66 6f 25 21 28 65 6e 64  |. iconinfo%!(end|
000076b0  69 63 25 2a 33 32 2b 31  36 2b 65 6e 64 69 25 2a  |ic%*32+16+endi%*|
000076c0  34 29 3c 3e 2d 31 20 8c  20 f2 52 65 70 6f 72 74  |4)<>-1 . .Report|
000076d0  45 72 72 28 22 49 6e 70  75 74 20 61 6c 72 65 61  |Err("Input alrea|
000076e0  64 79 20 63 6f 6e 6e 65  63 74 65 64 2e 22 29 20  |dy connected.") |
000076f0  8b 20 69 63 6f 6e 69 6e  66 6f 25 21 28 65 6e 64  |. iconinfo%!(end|
00007700  69 63 25 2a 33 32 2b 31  36 2b 65 6e 64 69 25 2a  |ic%*32+16+endi%*|
00007710  34 29 3d 73 74 61 72 74  69 63 25 0d 31 f6 0b 20  |4)=startic%.1.. |
00007720  20 20 20 20 20 cd 0d 32  00 30 20 20 20 20 20 20  |     ..2.0      |
00007730  e7 20 73 74 61 72 74 6c  78 25 3e 65 6e 64 6c 78  |. startlx%>endlx|
00007740  25 20 8c 20 c8 94 20 73  74 61 72 74 6c 78 25 2c  |% . .. startlx%,|
00007750  65 6e 64 6c 78 25 0d 32  0a 30 20 20 20 20 20 20  |endlx%.2.0      |
00007760  e7 20 73 74 61 72 74 6c  79 25 3e 65 6e 64 6c 79  |. startly%>endly|
00007770  25 20 8c 20 c8 94 20 73  74 61 72 74 6c 79 25 2c  |% . .. startly%,|
00007780  65 6e 64 6c 79 25 0d 32  14 52 20 20 20 20 20 20  |endly%.2.R      |
00007790  c8 99 22 57 69 6d 70 5f  46 6f 72 63 65 52 65 64  |.."Wimp_ForceRed|
000077a0  72 61 77 22 2c 77 77 6f  72 6b 68 25 2c 73 74 61  |raw",wworkh%,sta|
000077b0  72 74 6c 78 25 2d 39 38  2c 73 74 61 72 74 6c 79  |rtlx%-98,startly|
000077c0  25 2d 35 38 2c 65 6e 64  6c 78 25 2b 39 38 2c 65  |%-58,endlx%+98,e|
000077d0  6e 64 6c 79 25 2b 35 38  0d 32 1e 15 20 20 20 20  |ndly%+58.2..    |
000077e0  20 20 f2 52 65 6d 41 6c  6c 44 72 61 67 0d 32 28  |  .RemAllDrag.2(|
000077f0  09 20 20 20 20 cd 0d 32  32 07 20 20 cd 0d 32 3c  |.    ..22.  ..2<|
00007800  05 cd 0d 32 46 05 e1 0d  32 50 04 0d 32 5a 15 dd  |...2F...2P..2Z..|
00007810  a4 47 65 74 49 4f 28 78  25 2c 79 25 2c 69 25 29  |.GetIO(x%,y%,i%)|
00007820  0d 32 64 0c e7 20 78 25  3e 30 20 8c 0d 32 6e 0b  |.2d.. x%>0 ..2n.|
00007830  20 20 69 6f 25 3d 32 0d  32 78 05 cc 0d 32 82 1c  |  io%=2.2x...2..|
00007840  20 20 e7 20 79 25 3e 30  20 8c 20 69 6f 25 3d 30  |  . y%>0 . io%=0|
00007850  20 8b 20 69 6f 25 3d 31  0d 32 8c 05 cd 0d 32 96  | . io%=1.2....2.|
00007860  1a c8 8e 20 69 63 6f 6e  69 6e 66 6f 25 21 28 69  |... iconinfo%!(i|
00007870  25 2a 33 32 29 20 ca 0d  32 a0 19 20 20 c9 20 31  |%*32) ..2..  . 1|
00007880  3a e7 20 69 6f 25 3d 31  20 8c 20 69 6f 25 3d 30  |:. io%=1 . io%=0|
00007890  0d 32 aa 0f 20 20 c9 20  32 3a 69 6f 25 3d 32 0d  |.2..  . 2:io%=2.|
000078a0  32 b4 0f 20 20 c9 20 35  3a 69 6f 25 3d 32 0d 32  |2..  . 5:io%=2.2|
000078b0  be 19 20 20 c9 20 37 3a  e7 20 69 6f 25 3d 31 20  |..  . 7:. io%=1 |
000078c0  8c 20 69 6f 25 3d 30 0d  32 c8 0f 20 20 c9 20 39  |. io%=0.2..  . 9|
000078d0  3a 69 6f 25 3d 30 0d 32  d2 10 20 20 c9 20 31 36  |:io%=0.2..  . 16|
000078e0  3a 69 6f 25 3d 32 0d 32  dc 1a 20 20 c9 20 31 38  |:io%=2.2..  . 18|
000078f0  3a e7 20 69 6f 25 3d 31  20 8c 20 69 6f 25 3d 30  |:. io%=1 . io%=0|
00007900  0d 32 e6 05 cb 0d 32 f0  08 3d 69 6f 25 0d 32 fa  |.2....2..=io%.2.|
00007910  04 0d 33 04 1d dd f2 43  72 65 61 74 65 4f 62 6a  |..3....CreateObj|
00007920  28 6f 62 6a 25 2c 78 63  25 2c 79 63 25 29 0d 33  |(obj%,xc%,yc%).3|
00007930  0e 0f f2 52 65 6d 41 6c  6c 44 72 61 67 0d 33 18  |...RemAllDrag.3.|
00007940  10 f2 4d 6f 64 54 69 74  6c 65 28 30 29 0d 33 22  |..ModTitle(0).3"|
00007950  13 74 65 6d 70 25 21 30  3d 77 77 6f 72 6b 68 25  |.temp%!0=wworkh%|
00007960  0d 33 2c 22 c8 99 22 57  69 6d 70 5f 47 65 74 57  |.3,".."Wimp_GetW|
00007970  69 6e 64 6f 77 53 74 61  74 65 22 2c 2c 74 65 6d  |indowState",,tem|
00007980  70 25 0d 33 36 1f 78 25  3d 78 63 25 2d 28 74 65  |p%.36.x%=xc%-(te|
00007990  6d 70 25 21 34 29 2b 28  74 65 6d 70 25 21 32 30  |mp%!4)+(temp%!20|
000079a0  29 0d 33 40 20 79 25 3d  79 63 25 2d 28 74 65 6d  |).3@ y%=yc%-(tem|
000079b0  70 25 21 31 36 29 2b 28  74 65 6d 70 25 21 32 34  |p%!16)+(temp%!24|
000079c0  29 0d 33 4a 11 78 25 3d  28 78 25 81 39 36 29 2a  |).3J.x%=(x%.96)*|
000079d0  39 36 0d 33 54 15 79 25  3d 28 28 79 25 81 35 36  |96.3T.y%=((y%.56|
000079e0  29 2d 31 29 2a 35 36 0d  33 5e 13 74 65 6d 70 25  |)-1)*56.3^.temp%|
000079f0  21 30 3d 77 77 6f 72 6b  68 25 0d 33 68 0e 74 65  |!0=wworkh%.3h.te|
00007a00  6d 70 25 21 34 3d 78 25  0d 33 72 0e 74 65 6d 70  |mp%!4=x%.3r.temp|
00007a10  25 21 38 3d 79 25 0d 33  7c 12 74 65 6d 70 25 21  |%!8=y%.3|.temp%!|
00007a20  31 32 3d 78 25 2b 39 32  0d 33 86 12 74 65 6d 70  |12=x%+92.3..temp|
00007a30  25 21 31 36 3d 79 25 2b  35 32 0d 33 90 2e 74 65  |%!16=y%+52.3..te|
00007a40  6d 70 25 21 32 30 3d 25  30 30 30 30 31 30 30 30  |mp%!20=%00001000|
00007a50  30 30 30 30 30 30 30 30  31 30 31 30 30 30 30 30  |0000000010100000|
00007a60  30 30 30 31 31 30 31 30  0d 33 9a 13 24 28 74 65  |00011010.3..$(te|
00007a70  6d 70 25 2b 32 34 29 3d  64 66 24 0d 33 a4 22 c8  |mp%+24)=df$.3.".|
00007a80  99 22 57 69 6d 70 5f 43  72 65 61 74 65 49 63 6f  |."Wimp_CreateIco|
00007a90  6e 22 2c 2c 74 65 6d 70  25 b8 69 68 25 0d 33 ae  |n",,temp%.ih%.3.|
00007aa0  16 e7 20 69 68 25 3e 3d  6d 61 78 69 63 6f 6e 73  |.. ih%>=maxicons|
00007ab0  25 20 8c 0d 33 b8 15 20  20 74 65 6d 70 25 21 30  |% ..3..  temp%!0|
00007ac0  3d 77 77 6f 72 6b 68 25  0d 33 c2 11 20 20 74 65  |=wworkh%.3..  te|
00007ad0  6d 70 25 21 34 3d 69 68  25 0d 33 cc 20 20 20 c8  |mp%!4=ih%.3.   .|
00007ae0  99 22 57 69 6d 70 5f 44  65 6c 65 74 65 49 63 6f  |."Wimp_DeleteIco|
00007af0  6e 22 2c 2c 74 65 6d 70  25 0d 33 d6 25 20 20 f2  |n",,temp%.3.%  .|
00007b00  52 65 70 6f 72 74 45 72  72 28 22 54 6f 6f 20 6d  |ReportErr("Too m|
00007b10  61 6e 79 20 6f 62 6a 65  63 74 73 2e 22 29 0d 33  |any objects.").3|
00007b20  e0 05 cc 0d 33 ea 0f 20  20 c8 8e 20 6f 62 6a 25  |....3..  .. obj%|
00007b30  20 ca 0d 33 f4 33 20 20  20 20 c9 20 30 3a 6c 25  | ..3.3    . 0:l%|
00007b40  3d a4 41 6c 6c 6f 63 28  32 36 30 29 3a e7 20 6c  |=.Alloc(260):. l|
00007b50  25 3c 3e 2d 31 20 8c 20  f2 56 43 4f 73 69 6e 28  |%<>-1 . .VCOsin(|
00007b60  6c 25 2b 34 29 0d 33 fe  32 20 20 20 20 c9 20 31  |l%+4).3.2    . 1|
00007b70  3a 6c 25 3d a4 41 6c 6c  6f 63 28 31 32 29 3a e7  |:l%=.Alloc(12):.|
00007b80  20 6c 25 3c 3e 2d 31 20  8c 20 21 6c 25 3d 26 31  | l%<>-1 . !l%=&1|
00007b90  32 33 34 35 36 37 38 0d  34 08 42 20 20 20 20 c9  |2345678.4.B    .|
00007ba0  20 32 3a 6c 25 3d a4 41  6c 6c 6f 63 28 35 32 30  | 2:l%=.Alloc(520|
00007bb0  29 3a e7 20 6c 25 3c 3e  2d 31 20 8c 20 e3 54 25  |):. l%<>-1 . .T%|
00007bc0  3d 6c 25 2b 38 b8 6c 25  2b 35 31 36 88 34 3a 21  |=l%+8.l%+516.4:!|
00007bd0  54 25 3d 2d 31 3a ed 54  25 0d 34 12 18 20 20 20  |T%=-1:.T%.4..   |
00007be0  20 c9 20 33 3a 6c 25 3d  a4 41 6c 6c 6f 63 28 38  | . 3:l%=.Alloc(8|
00007bf0  29 0d 34 1c 18 20 20 20  20 c9 20 34 3a 6c 25 3d  |).4..    . 4:l%=|
00007c00  a4 41 6c 6c 6f 63 28 38  29 0d 34 26 2e 20 20 20  |.Alloc(8).4&.   |
00007c10  20 c9 20 35 3a 6c 25 3d  a4 41 6c 6c 6f 63 28 34  | . 5:l%=.Alloc(4|
00007c20  29 3a e7 20 6c 25 3c 3e  2d 31 20 8c 20 21 6c 25  |):. l%<>-1 . !l%|
00007c30  3d 26 31 30 30 30 30 0d  34 30 18 20 20 20 20 c9  |=&10000.40.    .|
00007c40  20 36 3a 6c 25 3d a4 41  6c 6c 6f 63 28 34 29 0d  | 6:l%=.Alloc(4).|
00007c50  34 3a 2e 20 20 20 20 c9  20 37 3a 6c 25 3d a4 41  |4:.    . 7:l%=.A|
00007c60  6c 6c 6f 63 28 34 29 3a  e7 20 6c 25 3c 3e 2d 31  |lloc(4):. l%<>-1|
00007c70  20 8c 20 21 6c 25 3d 26  31 30 30 30 30 0d 34 44  | . !l%=&10000.4D|
00007c80  18 20 20 20 20 c9 20 38  3a 6c 25 3d a4 41 6c 6c  |.    . 8:l%=.All|
00007c90  6f 63 28 34 29 0d 34 4e  18 20 20 20 20 c9 20 39  |oc(4).4N.    . 9|
00007ca0  3a 6c 25 3d a4 41 6c 6c  6f 63 28 34 29 0d 34 58  |:l%=.Alloc(4).4X|
00007cb0  19 20 20 20 20 c9 20 31  33 3a 6c 25 3d a4 41 6c  |.    . 13:l%=.Al|
00007cc0  6c 6f 63 28 34 29 0d 34  62 19 20 20 20 20 c9 20  |loc(4).4b.    . |
00007cd0  31 34 3a 6c 25 3d a4 41  6c 6c 6f 63 28 34 29 0d  |14:l%=.Alloc(4).|
00007ce0  34 6c 1b 20 20 20 20 c9  20 31 35 3a 6c 25 3d a4  |4l.    . 15:l%=.|
00007cf0  41 6c 6c 6f 63 28 32 35  36 29 0d 34 76 49 20 20  |Alloc(256).4vI  |
00007d00  20 20 c9 20 31 36 3a 6c  25 3d a4 41 6c 6c 6f 63  |  . 16:l%=.Alloc|
00007d10  28 32 38 30 29 3a e7 20  6c 25 3c 3e 2d 31 20 8c  |(280):. l%<>-1 .|
00007d20  20 3f 6c 25 3d 31 33 3a  6c 25 21 32 35 36 3d 30  | ?l%=13:l%!256=0|
00007d30  3a 6c 25 21 32 36 38 3d  30 3a 6c 25 21 32 37 32  |:l%!268=0:l%!272|
00007d40  3d 2d 31 0d 34 80 19 20  20 20 20 c9 20 31 37 3a  |=-1.4..    . 17:|
00007d50  6c 25 3d a4 41 6c 6c 6f  63 28 34 29 0d 34 8a 3d  |l%=.Alloc(4).4.=|
00007d60  20 20 20 20 c9 20 31 38  3a 6c 25 3d a4 41 6c 6c  |    . 18:l%=.All|
00007d70  6f 63 28 32 35 36 29 3a  e7 20 6c 25 3c 3e 2d 31  |oc(256):. l%<>-1|
00007d80  20 8c 20 e3 54 25 3d 30  b8 32 35 35 3a 6c 25 3f  | . .T%=0.255:l%?|
00007d90  54 25 3d 54 25 3a ed 54  25 0d 34 94 07 20 20 cb  |T%=T%:.T%.4..  .|
00007da0  0d 34 9e 0f 20 20 e7 20  6c 25 3d 2d 31 20 8c 0d  |.4..  . l%=-1 ..|
00007db0  34 a8 17 20 20 20 20 74  65 6d 70 25 21 30 3d 77  |4..    temp%!0=w|
00007dc0  77 6f 72 6b 68 25 0d 34  b2 13 20 20 20 20 74 65  |workh%.4..    te|
00007dd0  6d 70 25 21 34 3d 69 68  25 0d 34 bc 22 20 20 20  |mp%!4=ih%.4."   |
00007de0  20 c8 99 22 57 69 6d 70  5f 44 65 6c 65 74 65 49  | .."Wimp_DeleteI|
00007df0  63 6f 6e 22 2c 2c 74 65  6d 70 25 0d 34 c6 29 20  |con",,temp%.4.) |
00007e00  20 20 20 f2 52 65 70 6f  72 74 45 72 72 28 22 4e  |   .ReportErr("N|
00007e10  6f 20 72 6f 6f 6d 20 66  6f 72 20 6f 62 6a 65 63  |o room for objec|
00007e20  74 2e 22 29 0d 34 d0 07  20 20 cc 0d 34 da 21 20  |t.").4..  ..4.! |
00007e30  20 20 20 69 63 6f 6e 69  6e 66 6f 25 21 28 69 68  |   iconinfo%!(ih|
00007e40  25 2a 33 32 2b 30 29 3d  6f 62 6a 25 0d 34 e4 1f  |%*32+0)=obj%.4..|
00007e50  20 20 20 20 69 63 6f 6e  69 6e 66 6f 25 21 28 69  |    iconinfo%!(i|
00007e60  68 25 2a 33 32 2b 34 29  3d 78 25 0d 34 ee 1f 20  |h%*32+4)=x%.4.. |
00007e70  20 20 20 69 63 6f 6e 69  6e 66 6f 25 21 28 69 68  |   iconinfo%!(ih|
00007e80  25 2a 33 32 2b 38 29 3d  79 25 0d 34 f8 20 20 20  |%*32+8)=y%.4.   |
00007e90  20 20 69 63 6f 6e 69 6e  66 6f 25 21 28 69 68 25  |  iconinfo%!(ih%|
00007ea0  2a 33 32 2b 31 32 29 3d  6c 25 0d 35 02 20 20 20  |*32+12)=l%.5.   |
00007eb0  20 20 69 63 6f 6e 69 6e  66 6f 25 21 28 69 68 25  |  iconinfo%!(ih%|
00007ec0  2a 33 32 2b 31 36 29 3d  2d 31 0d 35 0c 20 20 20  |*32+16)=-1.5.   |
00007ed0  20 20 69 63 6f 6e 69 6e  66 6f 25 21 28 69 68 25  |  iconinfo%!(ih%|
00007ee0  2a 33 32 2b 32 30 29 3d  2d 31 0d 35 16 20 20 20  |*32+20)=-1.5.   |
00007ef0  20 20 69 63 6f 6e 69 6e  66 6f 25 21 28 69 68 25  |  iconinfo%!(ih%|
00007f00  2a 33 32 2b 32 34 29 3d  2d 31 0d 35 20 20 20 20  |*32+24)=-1.5    |
00007f10  20 20 69 63 6f 6e 69 6e  66 6f 25 21 28 69 68 25  |  iconinfo%!(ih%|
00007f20  2a 33 32 2b 32 38 29 3d  31 35 0d 35 2a 07 20 20  |*32+28)=15.5*.  |
00007f30  cd 0d 35 34 05 cd 0d 35  3e 36 c8 99 22 57 69 6d  |..54...5>6.."Wim|
00007f40  70 5f 46 6f 72 63 65 52  65 64 72 61 77 22 2c 77  |p_ForceRedraw",w|
00007f50  77 6f 72 6b 68 25 2c 78  25 2c 79 25 2c 78 25 2b  |workh%,x%,y%,x%+|
00007f60  34 36 2a 32 2c 79 25 2b  31 33 2a 34 0d 35 48 05  |46*2,y%+13*4.5H.|
00007f70  e1 0d 35 52 04 0d 35 5c  10 dd f2 49 63 6f 6e 42  |..5R..5\...IconB|
00007f80  43 6c 69 63 6b 0d 35 66  13 c8 8e 20 70 6f 6c 6c  |Click.5f... poll|
00007f90  65 64 62 25 21 38 20 ca  0d 35 70 15 20 20 c9 20  |edb%!8 ..5p.  . |
00007fa0  31 2c 34 3a f2 4f 70 65  6e 57 6f 72 6b 0d 35 7a  |1,4:.OpenWork.5z|
00007fb0  71 20 20 c9 20 32 3a 6c  61 73 74 6d 78 25 3d 70  |q  . 2:lastmx%=p|
00007fc0  6f 6c 6c 65 64 62 25 21  30 2d 36 34 3a 6c 61 73  |olledb%!0-64:las|
00007fd0  74 6d 79 25 3d 39 36 2b  31 37 36 3a 6c 61 73 74  |tmy%=96+176:last|
00007fe0  6d 65 6e 75 25 3d 69 63  6f 6e 6d 65 6e 75 25 3a  |menu%=iconmenu%:|
00007ff0  c8 99 22 57 69 6d 70 5f  43 72 65 61 74 65 4d 65  |.."Wimp_CreateMe|
00008000  6e 75 22 2c 2c 6c 61 73  74 6d 65 6e 75 25 2c 6c  |nu",,lastmenu%,l|
00008010  61 73 74 6d 78 25 2c 6c  61 73 74 6d 79 25 0d 35  |astmx%,lastmy%.5|
00008020  84 05 cb 0d 35 8e 05 e1  0d 35 98 04 0d 35 a2 0e  |....5....5...5..|
00008030  dd f2 4f 70 65 6e 57 6f  72 6b 0d 35 ac 16 70 6f  |..OpenWork.5..po|
00008040  6c 6c 65 64 62 25 21 30  3d 77 77 6f 72 6b 68 25  |lledb%!0=wworkh%|
00008050  0d 35 b6 25 c8 99 22 57  69 6d 70 5f 47 65 74 57  |.5.%.."Wimp_GetW|
00008060  69 6e 64 6f 77 53 74 61  74 65 22 2c 2c 70 6f 6c  |indowState",,pol|
00008070  6c 65 64 62 25 0d 35 c0  12 70 6f 6c 6c 65 64 62  |ledb%.5..polledb|
00008080  25 21 32 38 3d 2d 31 0d  35 ca 18 6f 6c 64 77 6f  |%!28=-1.5..oldwo|
00008090  72 6b 78 25 3d 70 6f 6c  6c 65 64 62 25 21 34 0d  |rkx%=polledb%!4.|
000080a0  35 d4 10 f2 4f 70 65 6e  5f 57 69 6e 64 6f 77 0d  |5...Open_Window.|
000080b0  35 de 14 74 65 6d 70 25  21 30 3d 77 73 74 61 74  |5..temp%!0=wstat|
000080c0  73 68 25 0d 35 e8 22 c8  99 22 57 69 6d 70 5f 47  |sh%.5.".."Wimp_G|
000080d0  65 74 57 69 6e 64 6f 77  53 74 61 74 65 22 2c 2c  |etWindowState",,|
000080e0  74 65 6d 70 25 0d 35 f2  0f 74 65 6d 70 25 21 32  |temp%.5..temp%!2|
000080f0  38 3d 2d 31 0d 35 fc 1e  c8 99 22 57 69 6d 70 5f  |8=-1.5...."Wimp_|
00008100  4f 70 65 6e 57 69 6e 64  6f 77 22 2c 2c 74 65 6d  |OpenWindow",,tem|
00008110  70 25 0d 36 06 05 e1 0d  36 10 04 0d 36 1a 13 dd  |p%.6....6...6...|
00008120  f2 55 73 65 72 5f 44 72  61 67 5f 42 6f 78 0d 36  |.User_Drag_Box.6|
00008130  24 0e f2 44 72 61 67 53  61 76 65 64 0d 36 2e 05  |$..DragSaved.6..|
00008140  e1 0d 36 38 04 0d 36 42  11 dd f2 4b 65 79 5f 50  |..68..6B...Key_P|
00008150  72 65 73 73 65 64 0d 36  4c 18 e7 20 70 6f 6c 6c  |ressed.6L.. poll|
00008160  65 64 62 25 21 32 34 3d  26 31 63 63 20 8c 0d 36  |edb%!24=&1cc ..6|
00008170  56 1e 20 20 c8 99 22 57  69 6d 70 5f 50 72 6f 63  |V.  .."Wimp_Proc|
00008180  65 73 73 4b 65 79 22 2c  26 31 63 63 0d 36 60 05  |essKey",&1cc.6`.|
00008190  cc 0d 36 6a 15 20 20 c8  8e 20 70 6f 6c 6c 65 64  |..6j.  .. polled|
000081a0  62 25 21 30 20 ca 0d 36  74 1f 20 20 20 20 c9 20  |b%!0 ..6t.    . |
000081b0  77 63 6f 6e 73 74 61 6e  74 68 25 3a f2 4b 65 79  |wconstanth%:.Key|
000081c0  43 6f 6e 73 74 0d 36 7e  1c 20 20 20 20 c9 20 77  |Const.6~.    . w|
000081d0  69 6e 70 75 74 68 25 3a  f2 4b 65 79 49 6e 70 75  |inputh%:.KeyInpu|
000081e0  74 0d 36 88 1c 20 20 20  20 c9 20 77 6d 75 6c 74  |t.6..    . wmult|
000081f0  63 68 25 3a f2 4b 65 79  4d 75 6c 74 43 0d 36 92  |ch%:.KeyMultC.6.|
00008200  66 20 20 20 20 c9 20 77  73 74 61 74 73 68 25 3a  |f    . wstatsh%:|
00008210  e7 28 28 70 6f 6c 6c 65  64 62 25 21 34 3d 33 29  |.((polledb%!4=3)|
00008220  84 28 70 6f 6c 6c 65 64  62 25 21 34 3d 38 29 29  |.(polledb%!4=8))|
00008230  80 28 70 6f 6c 6c 65 64  62 25 21 32 34 3d 31 33  |.(polledb%!24=13|
00008240  29 20 8c 20 c8 99 22 57  69 6d 70 5f 53 65 74 43  |) . .."Wimp_SetC|
00008250  61 72 65 74 50 6f 73 69  74 69 6f 6e 22 2c 2d 31  |aretPosition",-1|
00008260  2c 2d 31 0d 36 9c 07 20  20 cb 0d 36 a6 05 cd 0d  |,-1.6..  ..6....|
00008270  36 b0 05 e1 0d 36 ba 04  0d 36 c4 0e dd f2 4b 65  |6....6...6....Ke|
00008280  79 49 6e 70 75 74 0d 36  ce 10 f2 4d 6f 64 54 69  |yInput.6...ModTi|
00008290  74 6c 65 28 30 29 0d 36  d8 27 e7 20 28 70 6f 6c  |tle(0).6.'. (pol|
000082a0  6c 65 64 62 25 21 34 3d  31 29 80 28 70 6f 6c 6c  |ledb%!4=1).(poll|
000082b0  65 64 62 25 21 32 34 3d  31 33 29 20 8c 0d 36 e2  |edb%!24=13) ..6.|
000082c0  16 20 20 74 65 6d 70 25  21 30 3d 77 69 6e 70 75  |.  temp%!0=winpu|
000082d0  74 68 25 0d 36 ec 0f 20  20 74 65 6d 70 25 21 34  |th%.6..  temp%!4|
000082e0  3d 31 0d 36 f6 22 20 20  c8 99 22 57 69 6d 70 5f  |=1.6."  .."Wimp_|
000082f0  47 65 74 49 63 6f 6e 53  74 61 74 65 22 2c 2c 74  |GetIconState",,t|
00008300  65 6d 70 25 0d 37 00 1c  20 20 24 28 69 6e 70 70  |emp%.7..  $(inpp|
00008310  74 72 25 29 3d 24 28 74  65 6d 70 25 21 32 38 29  |tr%)=$(temp%!28)|
00008320  0d 37 0a 1a 20 20 69 6e  70 70 74 72 25 21 32 35  |.7..  inpptr%!25|
00008330  36 3d 69 6e 70 74 79 70  65 25 0d 37 14 21 20 20  |6=inptype%.7.!  |
00008340  c8 99 22 57 69 6d 70 5f  43 6c 6f 73 65 57 69 6e  |.."Wimp_CloseWin|
00008350  64 6f 77 22 2c 2c 74 65  6d 70 25 0d 37 1e 05 cd  |dow",,temp%.7...|
00008360  0d 37 28 05 e1 0d 37 32  04 0d 37 3c 0e dd f2 4b  |.7(...72..7<...K|
00008370  65 79 43 6f 6e 73 74 0d  37 46 10 f2 4d 6f 64 54  |eyConst.7F..ModT|
00008380  69 74 6c 65 28 30 29 0d  37 50 27 e7 20 28 70 6f  |itle(0).7P'. (po|
00008390  6c 6c 65 64 62 25 21 34  3d 30 29 80 28 70 6f 6c  |lledb%!4=0).(pol|
000083a0  6c 65 64 62 25 21 32 34  3d 31 33 29 20 8c 0d 37  |ledb%!24=13) ..7|
000083b0  5a 19 20 20 74 65 6d 70  25 21 30 3d 77 63 6f 6e  |Z.  temp%!0=wcon|
000083c0  73 74 61 6e 74 68 25 0d  37 64 0f 20 20 74 65 6d  |stanth%.7d.  tem|
000083d0  70 25 21 34 3d 30 0d 37  6e 22 20 20 c8 99 22 57  |p%!4=0.7n"  .."W|
000083e0  69 6d 70 5f 47 65 74 49  63 6f 6e 53 74 61 74 65  |imp_GetIconState|
000083f0  22 2c 2c 74 65 6d 70 25  0d 37 78 16 20 20 76 3d  |",,temp%.7x.  v=|
00008400  bb 28 24 28 74 65 6d 70  25 21 32 38 29 29 0d 37  |.($(temp%!28)).7|
00008410  82 14 20 20 e7 20 94 28  76 29 3e 33 32 37 36 37  |..  . .(v)>32767|
00008420  20 8c 0d 37 8c 44 20 20  20 20 f2 52 65 70 6f 72  | ..7.D    .Repor|
00008430  74 45 72 72 28 22 4f 6e  6c 79 20 6e 75 6d 62 65  |tErr("Only numbe|
00008440  72 73 20 62 65 74 77 65  65 6e 20 2d 33 32 37 36  |rs between -3276|
00008450  37 20 61 6e 64 20 33 32  37 36 37 20 61 6c 6c 6f  |7 and 32767 allo|
00008460  77 65 64 2e 22 29 0d 37  96 07 20 20 cc 0d 37 a0  |wed.").7..  ..7.|
00008470  1b 20 20 20 20 21 63 6f  6e 73 74 70 74 72 25 3d  |.    !constptr%=|
00008480  26 31 30 30 30 30 2a 76  0d 37 aa 23 20 20 20 20  |&10000*v.7.#    |
00008490  c8 99 22 57 69 6d 70 5f  43 6c 6f 73 65 57 69 6e  |.."Wimp_CloseWin|
000084a0  64 6f 77 22 2c 2c 74 65  6d 70 25 0d 37 b4 13 20  |dow",,temp%.7.. |
000084b0  20 20 20 63 6f 6e 73 74  70 74 72 25 3d 30 0d 37  |   constptr%=0.7|
000084c0  be 07 20 20 cd 0d 37 c8  05 cd 0d 37 d2 05 e1 0d  |..  ..7....7....|
000084d0  37 dc 04 0d 37 e6 0e dd  f2 4b 65 79 4d 75 6c 74  |7...7....KeyMult|
000084e0  43 0d 37 f0 10 f2 4d 6f  64 54 69 74 6c 65 28 30  |C.7...ModTitle(0|
000084f0  29 0d 37 fa 27 e7 20 28  70 6f 6c 6c 65 64 62 25  |).7.'. (polledb%|
00008500  21 34 3d 30 29 80 28 70  6f 6c 6c 65 64 62 25 21  |!4=0).(polledb%!|
00008510  32 34 3d 31 33 29 20 8c  0d 38 04 16 20 20 74 65  |24=13) ..8..  te|
00008520  6d 70 25 21 30 3d 77 6d  75 6c 74 63 68 25 0d 38  |mp%!0=wmultch%.8|
00008530  0e 0f 20 20 74 65 6d 70  25 21 34 3d 30 0d 38 18  |..  temp%!4=0.8.|
00008540  22 20 20 c8 99 22 57 69  6d 70 5f 47 65 74 49 63  |"  .."Wimp_GetIc|
00008550  6f 6e 53 74 61 74 65 22  2c 2c 74 65 6d 70 25 0d  |onState",,temp%.|
00008560  38 22 16 20 20 76 3d bb  28 24 28 74 65 6d 70 25  |8".  v=.($(temp%|
00008570  21 32 38 29 29 0d 38 2c  14 20 20 e7 20 94 28 76  |!28)).8,.  . .(v|
00008580  29 3e 33 32 37 36 37 20  8c 0d 38 36 44 20 20 20  |)>32767 ..86D   |
00008590  20 f2 52 65 70 6f 72 74  45 72 72 28 22 4f 6e 6c  | .ReportErr("Onl|
000085a0  79 20 6e 75 6d 62 65 72  73 20 62 65 74 77 65 65  |y numbers betwee|
000085b0  6e 20 2d 33 32 37 36 37  20 61 6e 64 20 33 32 37  |n -32767 and 327|
000085c0  36 37 20 61 6c 6c 6f 77  65 64 2e 22 29 0d 38 40  |67 allowed.").8@|
000085d0  07 20 20 cc 0d 38 4a 1c  20 20 20 20 21 6d 63 6f  |.  ..8J.    !mco|
000085e0  6e 73 74 70 74 72 25 3d  26 31 30 30 30 30 2a 76  |nstptr%=&10000*v|
000085f0  0d 38 54 23 20 20 20 20  c8 99 22 57 69 6d 70 5f  |.8T#    .."Wimp_|
00008600  43 6c 6f 73 65 57 69 6e  64 6f 77 22 2c 2c 74 65  |CloseWindow",,te|
00008610  6d 70 25 0d 38 5e 14 20  20 20 20 6d 63 6f 6e 73  |mp%.8^.    mcons|
00008620  74 70 74 72 25 3d 30 0d  38 68 07 20 20 cd 0d 38  |tptr%=0.8h.  ..8|
00008630  72 05 cd 0d 38 7c 05 e1  0d 38 86 04 0d 38 90 11  |r...8|...8...8..|
00008640  dd f2 4d 65 6e 75 5f 53  65 6c 65 63 74 0d 38 9a  |..Menu_Select.8.|
00008650  22 c8 99 22 57 69 6d 70  5f 47 65 74 50 6f 69 6e  |".."Wimp_GetPoin|
00008660  74 65 72 49 6e 66 6f 22  2c 2c 74 65 6d 70 25 0d  |terInfo",,temp%.|
00008670  38 a4 13 6f 6c 64 62 75  74 25 3d 74 65 6d 70 25  |8..oldbut%=temp%|
00008680  21 38 0d 38 ae 11 f2 4d  65 6e 75 5f 53 65 6c 65  |!8.8...Menu_Sele|
00008690  63 74 32 0d 38 b8 42 e7  20 28 6f 6c 64 62 75 74  |ct2.8.B. (oldbut|
000086a0  25 80 31 29 20 8c 20 c8  99 22 57 69 6d 70 5f 43  |%.1) . .."Wimp_C|
000086b0  72 65 61 74 65 4d 65 6e  75 22 2c 2c 6c 61 73 74  |reateMenu",,last|
000086c0  6d 65 6e 75 25 2c 6c 61  73 74 6d 78 25 2c 6c 61  |menu%,lastmx%,la|
000086d0  73 74 6d 79 25 0d 38 c2  05 e1 0d 38 cc 04 0d 38  |stmy%.8....8...8|
000086e0  d6 12 dd f2 4d 65 6e 75  5f 53 65 6c 65 63 74 32  |....Menu_Select2|
000086f0  0d 38 e0 12 c8 8e 20 6c  61 73 74 6d 65 6e 75 25  |.8.... lastmenu%|
00008700  20 ca 0d 38 ea 1b 20 20  c9 20 69 63 6f 6e 6d 65  | ..8..  . iconme|
00008710  6e 75 25 3a f2 4d 53 65  6c 49 63 6f 6e 0d 38 f4  |nu%:.MSelIcon.8.|
00008720  1b 20 20 c9 20 77 6f 72  6b 6d 65 6e 75 25 3a f2  |.  . workmenu%:.|
00008730  4d 53 65 6c 57 6f 72 6b  0d 38 fe 4b 20 20 c9 20  |MSelWork.8.K  . |
00008740  61 64 64 6d 65 6e 75 25  3a 70 6f 6c 6c 65 64 62  |addmenu%:polledb|
00008750  25 21 34 3d 70 6f 6c 6c  65 64 62 25 21 30 3a 70  |%!4=polledb%!0:p|
00008760  6f 6c 6c 65 64 62 25 21  38 3d 2d 31 3a 70 6f 6c  |olledb%!8=-1:pol|
00008770  6c 65 64 62 25 21 30 3d  30 3a f2 4d 53 65 6c 57  |ledb%!0=0:.MSelW|
00008780  6f 72 6b 0d 39 08 05 cb  0d 39 12 05 e1 0d 39 1c  |ork.9....9....9.|
00008790  04 0d 39 26 0e dd f2 4d  53 65 6c 49 63 6f 6e 0d  |..9&...MSelIcon.|
000087a0  39 30 22 e7 20 70 6f 6c  6c 65 64 62 25 21 30 3d  |90". polledb%!0=|
000087b0  31 20 8c 20 f2 4d 53 65  6c 49 63 6f 6e 53 61 76  |1 . .MSelIconSav|
000087c0  65 0d 39 3a 1c e7 20 70  6f 6c 6c 65 64 62 25 21  |e.9:.. polledb%!|
000087d0  30 3d 32 20 8c 20 f2 43  6c 65 61 72 32 0d 39 44  |0=2 . .Clear2.9D|
000087e0  1f e7 20 70 6f 6c 6c 65  64 62 25 21 30 3d 33 20  |.. polledb%!0=3 |
000087f0  8c 20 f2 43 6c 6f 73 65  44 6f 77 6e 0d 39 4e 05  |. .CloseDown.9N.|
00008800  e1 0d 39 58 04 0d 39 62  12 dd f2 4d 53 65 6c 49  |..9X..9b...MSelI|
00008810  63 6f 6e 53 61 76 65 0d  39 6c 2f e7 20 70 6f 6c  |conSave.9l/. pol|
00008820  6c 65 64 62 25 21 34 3d  2d 31 20 8c 20 70 6f 6c  |ledb%!4=-1 . pol|
00008830  6c 65 64 62 25 21 31 36  3d 32 3a f2 53 61 76 65  |ledb%!16=2:.Save|
00008840  61 73 73 68 43 6c 0d 39  76 05 e1 0d 39 80 04 0d  |asshCl.9v...9...|
00008850  39 8a 0e dd f2 4d 53 65  6c 57 6f 72 6b 0d 39 94  |9....MSelWork.9.|
00008860  13 c8 8e 20 70 6f 6c 6c  65 64 62 25 21 30 20 ca  |... polledb%!0 .|
00008870  0d 39 9e 12 20 20 c9 20  30 3a f2 4d 65 6e 75 41  |.9..  . 0:.MenuA|
00008880  64 64 0d 39 a8 12 20 20  c9 20 31 3a f2 4d 65 6e  |dd.9..  . 1:.Men|
00008890  75 53 65 6c 0d 39 b2 46  20 20 c9 20 32 3a 77 6f  |uSel.9.F  . 2:wo|
000088a0  72 6b 6d 65 6e 75 25 21  28 32 38 2b 32 34 2a 31  |rkmenu%!(28+24*1|
000088b0  2b 30 29 3d 30 3a 77 6f  72 6b 6d 65 6e 75 25 21  |+0)=0:workmenu%!|
000088c0  28 32 38 2b 32 34 2a 32  2b 30 29 3d 31 3a f2 4d  |(28+24*2+0)=1:.M|
000088d0  65 6e 75 43 6f 6e 6e 65  63 74 0d 39 bc 13 20 20  |enuConnect.9..  |
000088e0  c9 20 33 3a f2 4d 65 6e  75 43 61 6c 63 0d 39 c6  |. 3:.MenuCalc.9.|
000088f0  14 20 20 c9 20 34 3a f2  53 77 61 70 54 6f 6f 6c  |.  . 4:.SwapTool|
00008900  73 0d 39 d0 05 cb 0d 39  da 0e f2 41 64 6a 54 6f  |s.9....9...AdjTo|
00008910  6f 6c 73 43 0d 39 e4 05  e1 0d 39 ee 04 0d 39 f8  |olsC.9....9...9.|
00008920  0f dd f2 53 77 61 70 54  6f 6f 6c 73 0d 3a 02 13  |...SwapTools.:..|
00008930  74 6f 6f 6c 73 25 3d ac  20 74 6f 6f 6c 73 25 0d  |tools%=. tools%.|
00008940  3a 0c 10 e7 20 74 6f 6f  6c 73 25 3d 30 20 8c 0d  |:... tools%=0 ..|
00008950  3a 16 16 20 20 74 65 6d  70 25 21 30 3d 77 74 6f  |:..  temp%!0=wto|
00008960  6f 6c 73 68 25 0d 3a 20  21 20 20 c8 99 22 57 69  |olsh%.: !  .."Wi|
00008970  6d 70 5f 43 6c 6f 73 65  57 69 6e 64 6f 77 22 2c  |mp_CloseWindow",|
00008980  2c 74 65 6d 70 25 0d 3a  2a 1f 20 20 77 6f 72 6b  |,temp%.:*.  work|
00008990  6d 65 6e 75 25 21 28 32  38 2b 32 34 2a 34 2b 30  |menu%!(28+24*4+0|
000089a0  29 3d 31 32 38 0d 3a 34  05 cc 0d 3a 3e 18 20 20  |)=128.:4...:>.  |
000089b0  70 6f 6c 6c 65 64 62 25  21 30 3d 77 77 6f 72 6b  |polledb%!0=wwork|
000089c0  68 25 0d 3a 48 27 20 20  c8 99 22 57 69 6d 70 5f  |h%.:H'  .."Wimp_|
000089d0  47 65 74 57 69 6e 64 6f  77 53 74 61 74 65 22 2c  |GetWindowState",|
000089e0  2c 70 6f 6c 6c 65 64 62  25 0d 3a 52 1a 20 20 6f  |,polledb%.:R.  o|
000089f0  6c 64 77 6f 72 6b 78 25  3d 70 6f 6c 6c 65 64 62  |ldworkx%=polledb|
00008a00  25 21 34 0d 3a 5c 12 20  20 f2 4f 70 65 6e 5f 57  |%!4.:\.  .Open_W|
00008a10  69 6e 64 6f 77 0d 3a 66  21 20 20 77 6f 72 6b 6d  |indow.:f!  workm|
00008a20  65 6e 75 25 21 28 32 38  2b 32 34 2a 34 2b 30 29  |enu%!(28+24*4+0)|
00008a30  3d 31 32 38 2b 31 0d 3a  70 05 cd 0d 3a 7a 05 e1  |=128+1.:p...:z..|
00008a40  0d 3a 84 04 0d 3a 8e 0d  dd f2 4d 65 6e 75 41 64  |.:...:....MenuAd|
00008a50  64 0d 3a 98 13 c8 8e 20  70 6f 6c 6c 65 64 62 25  |d.:.... polledb%|
00008a60  21 34 20 ca 0d 3a a2 1c  20 20 c9 20 30 3a 64 66  |!4 ..:..  . 0:df|
00008a70  75 6e 63 25 3d 30 3a 64  66 24 3d 22 76 63 6f 22  |unc%=0:df$="vco"|
00008a80  0d 3a ac 1e 20 20 c9 20  31 3a 64 66 75 6e 63 25  |.:..  . 1:dfunc%|
00008a90  3d 31 3a 64 66 24 3d 22  6e 6f 69 73 65 22 0d 3a  |=1:df$="noise".:|
00008aa0  b6 1b 20 20 c9 20 32 3a  64 66 75 6e 63 25 3d 32  |..  . 2:dfunc%=2|
00008ab0  3a 64 66 24 3d 22 65 67  22 0d 3a c0 1e 20 20 c9  |:df$="eg".:..  .|
00008ac0  20 33 3a 64 66 75 6e 63  25 3d 35 3a 64 66 24 3d  | 3:dfunc%=5:df$=|
00008ad0  22 63 6f 6e 73 74 22 0d  3a ca 1f 20 20 c9 20 34  |"const".:..  . 4|
00008ae0  3a 64 66 75 6e 63 25 3d  33 3a 64 66 24 3d 22 66  |:dfunc%=3:df$="f|
00008af0  69 6c 74 6c 6f 22 0d 3a  d4 1f 20 20 c9 20 35 3a  |iltlo".:..  . 5:|
00008b00  64 66 75 6e 63 25 3d 34  3a 64 66 24 3d 22 66 69  |dfunc%=4:df$="fi|
00008b10  6c 74 68 69 22 0d 3a de  1d 20 20 c9 20 36 3a 64  |lthi".:..  . 6:d|
00008b20  66 75 6e 63 25 3d 36 3a  64 66 24 3d 22 6d 75 6c  |func%=6:df$="mul|
00008b30  74 22 0d 3a e8 1e 20 20  c9 20 37 3a 64 66 75 6e  |t".:..  . 7:dfun|
00008b40  63 25 3d 37 3a 64 66 24  3d 22 6d 75 6c 74 63 22  |c%=7:df$="multc"|
00008b50  0d 3a f2 1c 20 20 c9 20  38 3a 64 66 75 6e 63 25  |.:..  . 8:dfunc%|
00008b60  3d 38 3a 64 66 24 3d 22  61 64 64 22 0d 3a fc 1d  |=8:df$="add".:..|
00008b70  20 20 c9 20 39 3a 64 66  75 6e 63 25 3d 31 33 3a  |  . 9:dfunc%=13:|
00008b80  64 66 24 3d 22 73 75 62  22 0d 3b 06 22 20 20 c9  |df$="sub".;."  .|
00008b90  20 31 30 3a 64 66 75 6e  63 25 3d 31 37 3a 64 66  | 10:dfunc%=17:df|
00008ba0  24 3d 22 73 61 6d 68 6f  6c 64 22 0d 3b 10 21 20  |$="samhold".;.! |
00008bb0  20 c9 20 31 31 3a 64 66  75 6e 63 25 3d 31 38 3a  | . 11:dfunc%=18:|
00008bc0  64 66 24 3d 22 6e 6c 64  69 73 74 22 0d 3b 1a 20  |df$="nldist".;. |
00008bd0  20 20 c9 20 31 32 3a 64  66 75 6e 63 25 3d 31 34  |  . 12:dfunc%=14|
00008be0  3a 64 66 24 3d 22 70 75  6c 73 65 22 0d 3b 24 20  |:df$="pulse".;$ |
00008bf0  20 20 c9 20 31 33 3a 64  66 75 6e 63 25 3d 31 35  |  . 13:dfunc%=15|
00008c00  3a 64 66 24 3d 22 64 65  6c 61 79 22 0d 3b 2e 20  |:df$="delay".;. |
00008c10  20 20 c9 20 31 34 3a 64  66 75 6e 63 25 3d 39 3a  |  . 14:dfunc%=9:|
00008c20  64 66 24 3d 22 6f 75 74  70 75 74 22 0d 3b 38 20  |df$="output".;8 |
00008c30  20 20 c9 20 31 35 3a 64  66 75 6e 63 25 3d 31 36  |  . 15:dfunc%=16|
00008c40  3a 64 66 24 3d 22 69 6e  70 75 74 22 0d 3b 42 05  |:df$="input".;B.|
00008c50  cb 0d 3b 4c 46 e7 20 70  6f 6c 6c 65 64 62 25 21  |..;LF. polledb%!|
00008c60  34 3c 3e 2d 31 20 8c 20  77 6f 72 6b 6d 65 6e 75  |4<>-1 . workmenu|
00008c70  25 21 28 32 38 2b 32 34  2a 31 2b 30 29 3d 30 3a  |%!(28+24*1+0)=0:|
00008c80  77 6f 72 6b 6d 65 6e 75  25 21 28 32 38 2b 32 34  |workmenu%!(28+24|
00008c90  2a 32 2b 30 29 3d 30 0d  3b 56 0f f2 52 65 6d 41  |*2+0)=0.;V..RemA|
00008ca0  6c 6c 44 72 61 67 0d 3b  60 05 e1 0d 3b 6a 04 0d  |llDrag.;`...;j..|
00008cb0  3b 74 0d dd f2 4d 65 6e  75 53 65 6c 0d 3b 7e 13  |;t...MenuSel.;~.|
00008cc0  c8 8e 20 70 6f 6c 6c 65  64 62 25 21 34 20 ca 0d  |.. polledb%!4 ..|
00008cd0  3b 88 44 20 20 c9 20 2d  31 3a 64 66 75 6e 63 25  |;.D  . -1:dfunc%|
00008ce0  3d 31 30 3a 77 6f 72 6b  6d 65 6e 75 25 21 28 32  |=10:workmenu%!(2|
00008cf0  38 2b 32 34 2a 31 2b 30  29 3d 31 3a 77 6f 72 6b  |8+24*1+0)=1:work|
00008d00  6d 65 6e 75 25 21 28 32  38 2b 32 34 2a 32 2b 30  |menu%!(28+24*2+0|
00008d10  29 3d 30 0d 3b 92 11 20  20 c9 20 30 3a f2 41 6c  |)=0.;..  . 0:.Al|
00008d20  6c 53 65 6c 0d 3b 9c 13  20 20 c9 20 31 3a f2 43  |lSel.;..  . 1:.C|
00008d30  6c 65 61 72 53 65 6c 0d  3b a6 12 20 20 c9 20 32  |learSel.;..  . 2|
00008d40  3a f2 53 77 61 70 53 65  6c 0d 3b b0 15 20 20 c9  |:.SwapSel.;..  .|
00008d50  20 33 3a f2 44 65 6c 65  74 65 4f 62 6a 73 0d 3b  | 3:.DeleteObjs.;|
00008d60  ba 15 20 20 c9 20 34 3a  f2 44 65 6c 65 74 65 49  |..  . 4:.DeleteI|
00008d70  6e 70 74 0d 3b c4 05 cb  0d 3b ce 0f f2 52 65 6d  |npt.;....;...Rem|
00008d80  41 6c 6c 44 72 61 67 0d  3b d8 05 e1 0d 3b e2 04  |AllDrag.;....;..|
00008d90  0d 3b ec 0d dd f2 53 77  61 70 53 65 6c 0d 3b f6  |.;....SwapSel.;.|
00008da0  15 e3 54 25 3d 30 b8 6d  61 78 69 63 6f 6e 73 25  |..T%=0.maxicons%|
00008db0  2d 31 0d 3c 00 2d 20 20  e7 69 63 6f 6e 69 6e 66  |-1.<.-  .iconinf|
00008dc0  6f 25 21 28 54 25 2a 33  32 29 3c 3e 2d 31 20 8c  |o%!(T%*32)<>-1 .|
00008dd0  20 f2 53 77 61 70 49 63  6f 6e 53 28 54 25 29 0d  | .SwapIconS(T%).|
00008de0  3c 0a 07 ed 54 25 0d 3c  14 05 e1 0d 3c 1e 04 0d  |<...T%.<....<...|
00008df0  3c 28 0e dd f2 43 6c 65  61 72 53 65 6c 0d 3c 32  |<(...ClearSel.<2|
00008e00  15 e3 54 25 3d 30 b8 6d  61 78 69 63 6f 6e 73 25  |..T%=0.maxicons%|
00008e10  2d 31 0d 3c 3c 2e 20 20  e7 69 63 6f 6e 69 6e 66  |-1.<<.  .iconinf|
00008e20  6f 25 21 28 54 25 2a 33  32 29 3c 3e 2d 31 20 8c  |o%!(T%*32)<>-1 .|
00008e30  20 f2 53 65 74 49 63 6f  6e 53 28 54 25 2c 30 29  | .SetIconS(T%,0)|
00008e40  0d 3c 46 07 ed 54 25 0d  3c 50 05 e1 0d 3c 5a 04  |.<F..T%.<P...<Z.|
00008e50  0d 3c 64 0c dd f2 41 6c  6c 53 65 6c 0d 3c 6e 15  |.<d...AllSel.<n.|
00008e60  e3 54 25 3d 30 b8 6d 61  78 69 63 6f 6e 73 25 2d  |.T%=0.maxicons%-|
00008e70  31 0d 3c 78 2e 20 20 e7  69 63 6f 6e 69 6e 66 6f  |1.<x.  .iconinfo|
00008e80  25 21 28 54 25 2a 33 32  29 3c 3e 2d 31 20 8c 20  |%!(T%*32)<>-1 . |
00008e90  f2 53 65 74 49 63 6f 6e  53 28 54 25 2c 31 29 0d  |.SetIconS(T%,1).|
00008ea0  3c 82 07 ed 54 25 0d 3c  8c 05 e1 0d 3c 96 04 0d  |<...T%.<....<...|
00008eb0  3c a0 10 dd f2 44 65 6c  65 74 65 4f 62 6a 73 0d  |<....DeleteObjs.|
00008ec0  3c aa 15 e3 54 25 3d 30  b8 6d 61 78 69 63 6f 6e  |<...T%=0.maxicon|
00008ed0  73 25 2d 31 0d 3c b4 3e  20 20 e7 28 69 63 6f 6e  |s%-1.<.>  .(icon|
00008ee0  69 6e 66 6f 25 21 28 54  25 2a 33 32 29 3c 3e 2d  |info%!(T%*32)<>-|
00008ef0  31 29 80 28 69 63 6f 6e  69 6e 66 6f 25 21 28 54  |1).(iconinfo%!(T|
00008f00  25 2a 33 32 2b 32 38 29  29 80 28 31 3c 3c 34 29  |%*32+28)).(1<<4)|
00008f10  20 8c 0d 3c be 66 20 20  20 20 e7 20 69 63 6f 6e  | ..<.f    . icon|
00008f20  69 6e 66 6f 25 21 28 54  25 2a 33 32 2b 31 32 29  |info%!(T%*32+12)|
00008f30  3d 63 6f 6e 73 74 70 74  72 25 20 8c 20 74 65 6d  |=constptr% . tem|
00008f40  70 25 21 30 3d 77 63 6f  6e 73 74 61 6e 74 68 25  |p%!0=wconstanth%|
00008f50  3a c8 99 22 57 69 6d 70  5f 43 6c 6f 73 65 57 69  |:.."Wimp_CloseWi|
00008f60  6e 64 6f 77 22 2c 2c 74  65 6d 70 25 3a 63 6f 6e  |ndow",,temp%:con|
00008f70  73 74 70 74 72 25 3d 30  0d 3c c8 65 20 20 20 20  |stptr%=0.<.e    |
00008f80  e7 20 69 63 6f 6e 69 6e  66 6f 25 21 28 54 25 2a  |. iconinfo%!(T%*|
00008f90  33 32 2b 31 32 29 3d 6d  63 6f 6e 73 74 70 74 72  |32+12)=mconstptr|
00008fa0  25 20 8c 20 74 65 6d 70  25 21 30 3d 77 6d 75 6c  |% . temp%!0=wmul|
00008fb0  74 63 68 25 3a c8 99 22  57 69 6d 70 5f 43 6c 6f  |tch%:.."Wimp_Clo|
00008fc0  73 65 57 69 6e 64 6f 77  22 2c 2c 74 65 6d 70 25  |seWindow",,temp%|
00008fd0  3a 6d 63 6f 6e 73 74 70  74 72 25 3d 30 0d 3c d2  |:mconstptr%=0.<.|
00008fe0  5d 20 20 20 20 e7 20 69  63 6f 6e 69 6e 66 6f 25  |]    . iconinfo%|
00008ff0  21 28 54 25 2a 33 32 2b  31 32 29 3d 76 63 6f 70  |!(T%*32+12)=vcop|
00009000  74 72 25 20 8c 20 74 65  6d 70 25 21 30 3d 77 76  |tr% . temp%!0=wv|
00009010  63 6f 68 25 3a c8 99 22  57 69 6d 70 5f 43 6c 6f  |coh%:.."Wimp_Clo|
00009020  73 65 57 69 6e 64 6f 77  22 2c 2c 74 65 6d 70 25  |seWindow",,temp%|
00009030  3a 76 63 6f 70 74 72 25  3d 30 0d 3c dc 5a 20 20  |:vcoptr%=0.<.Z  |
00009040  20 20 e7 20 69 63 6f 6e  69 6e 66 6f 25 21 28 54  |  . iconinfo%!(T|
00009050  25 2a 33 32 2b 31 32 29  3d 65 67 70 74 72 25 20  |%*32+12)=egptr% |
00009060  8c 20 74 65 6d 70 25 21  30 3d 77 65 67 68 25 3a  |. temp%!0=wegh%:|
00009070  c8 99 22 57 69 6d 70 5f  43 6c 6f 73 65 57 69 6e  |.."Wimp_CloseWin|
00009080  64 6f 77 22 2c 2c 74 65  6d 70 25 3a 65 67 70 74  |dow",,temp%:egpt|
00009090  72 25 3d 30 0d 3c e6 5f  20 20 20 20 e7 20 69 63  |r%=0.<._    . ic|
000090a0  6f 6e 69 6e 66 6f 25 21  28 54 25 2a 33 32 2b 31  |oninfo%!(T%*32+1|
000090b0  32 29 3d 69 6e 70 70 74  72 25 20 8c 20 74 65 6d  |2)=inpptr% . tem|
000090c0  70 25 21 30 3d 77 69 6e  70 75 74 68 25 3a c8 99  |p%!0=winputh%:..|
000090d0  22 57 69 6d 70 5f 43 6c  6f 73 65 57 69 6e 64 6f  |"Wimp_CloseWindo|
000090e0  77 22 2c 2c 74 65 6d 70  25 3a 69 6e 70 70 74 72  |w",,temp%:inpptr|
000090f0  25 3d 30 0d 3c f0 66 20  20 20 20 e7 20 69 63 6f  |%=0.<.f    . ico|
00009100  6e 69 6e 66 6f 25 21 28  54 25 2a 33 32 2b 31 32  |ninfo%!(T%*32+12|
00009110  29 3d 6e 6c 64 69 73 74  70 74 72 25 20 8c 20 74  |)=nldistptr% . t|
00009120  65 6d 70 25 21 30 3d 77  6e 6c 64 69 73 74 68 25  |emp%!0=wnldisth%|
00009130  3a c8 99 22 57 69 6d 70  5f 43 6c 6f 73 65 57 69  |:.."Wimp_CloseWi|
00009140  6e 64 6f 77 22 2c 2c 74  65 6d 70 25 3a 6e 6c 64  |ndow",,temp%:nld|
00009150  69 73 74 70 74 72 25 3d  30 0d 3c fa 17 20 20 20  |istptr%=0.<..   |
00009160  20 74 65 6d 70 25 21 30  3d 77 77 6f 72 6b 68 25  | temp%!0=wworkh%|
00009170  0d 3d 04 12 20 20 20 20  74 65 6d 70 25 21 34 3d  |.=..    temp%!4=|
00009180  54 25 0d 3d 0e 22 20 20  20 20 c8 99 22 57 69 6d  |T%.=."    .."Wim|
00009190  70 5f 44 65 6c 65 74 65  49 63 6f 6e 22 2c 2c 74  |p_DeleteIcon",,t|
000091a0  65 6d 70 25 0d 3d 18 23  20 20 20 20 f2 46 72 65  |emp%.=.#    .Fre|
000091b0  65 28 69 63 6f 6e 69 6e  66 6f 25 21 28 54 25 2a  |e(iconinfo%!(T%*|
000091c0  33 32 2b 31 32 29 29 0d  3d 22 1e 20 20 20 20 69  |32+12)).=".    i|
000091d0  63 6f 6e 69 6e 66 6f 25  21 28 54 25 2a 33 32 2b  |coninfo%!(T%*32+|
000091e0  30 29 3d 2d 31 0d 3d 2c  1e 20 20 20 20 69 63 6f  |0)=-1.=,.    ico|
000091f0  6e 69 6e 66 6f 25 21 28  54 25 2a 33 32 2b 34 29  |ninfo%!(T%*32+4)|
00009200  3d 2d 31 0d 3d 36 1e 20  20 20 20 69 63 6f 6e 69  |=-1.=6.    iconi|
00009210  6e 66 6f 25 21 28 54 25  2a 33 32 2b 38 29 3d 2d  |nfo%!(T%*32+8)=-|
00009220  31 0d 3d 40 1f 20 20 20  20 69 63 6f 6e 69 6e 66  |1.=@.    iconinf|
00009230  6f 25 21 28 54 25 2a 33  32 2b 31 32 29 3d 2d 31  |o%!(T%*32+12)=-1|
00009240  0d 3d 4a 1f 20 20 20 20  69 63 6f 6e 69 6e 66 6f  |.=J.    iconinfo|
00009250  25 21 28 54 25 2a 33 32  2b 31 36 29 3d 2d 31 0d  |%!(T%*32+16)=-1.|
00009260  3d 54 1f 20 20 20 20 69  63 6f 6e 69 6e 66 6f 25  |=T.    iconinfo%|
00009270  21 28 54 25 2a 33 32 2b  32 30 29 3d 2d 31 0d 3d  |!(T%*32+20)=-1.=|
00009280  5e 1f 20 20 20 20 69 63  6f 6e 69 6e 66 6f 25 21  |^.    iconinfo%!|
00009290  28 54 25 2a 33 32 2b 32  34 29 3d 2d 31 0d 3d 68  |(T%*32+24)=-1.=h|
000092a0  1f 20 20 20 20 69 63 6f  6e 69 6e 66 6f 25 21 28  |.    iconinfo%!(|
000092b0  54 25 2a 33 32 2b 32 38  29 3d 2d 31 0d 3d 72 19  |T%*32+28)=-1.=r.|
000092c0  20 20 20 20 e3 53 25 3d  30 b8 6d 61 78 69 63 6f  |    .S%=0.maxico|
000092d0  6e 73 25 2d 31 0d 3d 7c  23 20 20 20 20 20 20 e7  |ns%-1.=|#      .|
000092e0  20 69 63 6f 6e 69 6e 66  6f 25 21 28 53 25 2a 33  | iconinfo%!(S%*3|
000092f0  32 29 3c 3e 2d 31 20 8c  0d 3d 86 3f 20 20 20 20  |2)<>-1 ..=.?    |
00009300  20 20 20 20 e7 20 69 63  6f 6e 69 6e 66 6f 25 21  |    . iconinfo%!|
00009310  28 53 25 2a 33 32 2b 31  36 29 3d 54 25 20 8c 20  |(S%*32+16)=T% . |
00009320  69 63 6f 6e 69 6e 66 6f  25 21 28 53 25 2a 33 32  |iconinfo%!(S%*32|
00009330  2b 31 36 29 3d 2d 31 0d  3d 90 3f 20 20 20 20 20  |+16)=-1.=.?     |
00009340  20 20 20 e7 20 69 63 6f  6e 69 6e 66 6f 25 21 28  |   . iconinfo%!(|
00009350  53 25 2a 33 32 2b 32 30  29 3d 54 25 20 8c 20 69  |S%*32+20)=T% . i|
00009360  63 6f 6e 69 6e 66 6f 25  21 28 53 25 2a 33 32 2b  |coninfo%!(S%*32+|
00009370  32 30 29 3d 2d 31 0d 3d  9a 0b 20 20 20 20 20 20  |20)=-1.=..      |
00009380  cd 0d 3d a4 0b 20 20 20  20 ed 53 25 0d 3d ae 07  |..=..    .S%.=..|
00009390  20 20 cd 0d 3d b8 07 ed  54 25 0d 3d c2 2f c8 99  |  ..=...T%.=./..|
000093a0  22 57 69 6d 70 5f 46 6f  72 63 65 52 65 64 72 61  |"Wimp_ForceRedra|
000093b0  77 22 2c 77 77 6f 72 6b  68 25 2c 30 2c 2d 34 30  |w",wworkh%,0,-40|
000093c0  30 30 2c 34 30 30 30 2c  30 0d 3d cc 05 e1 0d 3d  |00,4000,0.=....=|
000093d0  d6 04 0d 3d e0 10 dd f2  44 65 6c 65 74 65 49 6e  |...=....DeleteIn|
000093e0  70 74 0d 3d ea 15 e3 54  25 3d 30 b8 6d 61 78 69  |pt.=...T%=0.maxi|
000093f0  63 6f 6e 73 25 2d 31 0d  3d f4 86 20 20 e7 28 69  |cons%-1.=..  .(i|
00009400  63 6f 6e 69 6e 66 6f 25  21 28 54 25 2a 33 32 29  |coninfo%!(T%*32)|
00009410  3c 3e 2d 31 29 80 28 69  63 6f 6e 69 6e 66 6f 25  |<>-1).(iconinfo%|
00009420  21 28 54 25 2a 33 32 2b  32 38 29 29 80 28 31 3c  |!(T%*32+28)).(1<|
00009430  3c 34 29 20 8c 20 69 63  6f 6e 69 6e 66 6f 25 21  |<4) . iconinfo%!|
00009440  28 54 25 2a 33 32 2b 31  36 29 3d 2d 31 3a 69 63  |(T%*32+16)=-1:ic|
00009450  6f 6e 69 6e 66 6f 25 21  28 54 25 2a 33 32 2b 32  |oninfo%!(T%*32+2|
00009460  30 29 3d 2d 31 3a 69 63  6f 6e 69 6e 66 6f 25 21  |0)=-1:iconinfo%!|
00009470  28 54 25 2a 33 32 2b 32  38 29 3d 33 31 0d 3d fe  |(T%*32+28)=31.=.|
00009480  07 ed 54 25 0d 3e 08 2f  c8 99 22 57 69 6d 70 5f  |..T%.>./.."Wimp_|
00009490  46 6f 72 63 65 52 65 64  72 61 77 22 2c 77 77 6f  |ForceRedraw",wwo|
000094a0  72 6b 68 25 2c 30 2c 2d  34 30 30 30 2c 34 30 30  |rkh%,0,-4000,400|
000094b0  30 2c 30 0d 3e 12 05 e1  0d 3e 1c 04 0d 3e 26 15  |0,0.>....>...>&.|
000094c0  dd f2 53 65 74 49 63 6f  6e 53 28 69 25 2c 73 25  |..SetIconS(i%,s%|
000094d0  29 0d 3e 30 13 74 65 6d  70 25 21 30 3d 77 77 6f  |).>0.temp%!0=wwo|
000094e0  72 6b 68 25 0d 3e 3a 0e  74 65 6d 70 25 21 34 3d  |rkh%.>:.temp%!4=|
000094f0  69 25 0d 3e 44 12 74 65  6d 70 25 21 38 3d 73 25  |i%.>D.temp%!8=s%|
00009500  3c 3c 32 31 0d 3e 4e 12  74 65 6d 70 25 21 31 32  |<<21.>N.temp%!12|
00009510  3d 31 3c 3c 32 31 0d 3e  58 20 c8 99 22 57 69 6d  |=1<<21.>X .."Wim|
00009520  70 5f 53 65 74 49 63 6f  6e 53 74 61 74 65 22 2c  |p_SetIconState",|
00009530  2c 74 65 6d 70 25 0d 3e  62 43 69 63 6f 6e 69 6e  |,temp%.>bCiconin|
00009540  66 6f 25 21 28 69 25 2a  33 32 2b 32 38 29 3d 28  |fo%!(i%*32+28)=(|
00009550  28 69 63 6f 6e 69 6e 66  6f 25 21 28 69 25 2a 33  |(iconinfo%!(i%*3|
00009560  32 2b 32 38 29 29 80 26  66 66 66 66 66 66 65 66  |2+28)).&ffffffef|
00009570  29 84 28 73 25 3c 3c 34  29 0d 3e 6c 05 e1 0d 3e  |).(s%<<4).>l...>|
00009580  76 04 0d 3e 80 13 dd f2  53 77 61 70 49 63 6f 6e  |v..>....SwapIcon|
00009590  53 28 69 25 29 0d 3e 8a  13 74 65 6d 70 25 21 30  |S(i%).>..temp%!0|
000095a0  3d 77 77 6f 72 6b 68 25  0d 3e 94 0e 74 65 6d 70  |=wworkh%.>..temp|
000095b0  25 21 34 3d 69 25 0d 3e  9e 11 74 65 6d 70 25 21  |%!4=i%.>..temp%!|
000095c0  38 3d 31 3c 3c 32 31 0d  3e a8 0e 74 65 6d 70 25  |8=1<<21.>..temp%|
000095d0  21 31 32 3d 30 0d 3e b2  20 c8 99 22 57 69 6d 70  |!12=0.>. .."Wimp|
000095e0  5f 53 65 74 49 63 6f 6e  53 74 61 74 65 22 2c 2c  |_SetIconState",,|
000095f0  74 65 6d 70 25 0d 3e bc  36 69 63 6f 6e 69 6e 66  |temp%.>.6iconinf|
00009600  6f 25 21 28 69 25 2a 33  32 2b 32 38 29 3d 28 69  |o%!(i%*32+28)=(i|
00009610  63 6f 6e 69 6e 66 6f 25  21 28 69 25 2a 33 32 2b  |coninfo%!(i%*32+|
00009620  32 38 29 29 82 28 31 3c  3c 34 29 0d 3e c6 05 e1  |28)).(1<<4).>...|
00009630  0d 3e d0 04 0d 3e da 11  dd f2 4d 65 6e 75 43 6f  |.>...>....MenuCo|
00009640  6e 6e 65 63 74 0d 3e e4  0f f2 52 65 6d 41 6c 6c  |nnect.>...RemAll|
00009650  44 72 61 67 0d 3e ee 0d  64 66 75 6e 63 25 3d 31  |Drag.>..dfunc%=1|
00009660  32 0d 3e f8 05 e1 0d 3f  02 04 0d 3f 0c 0e dd f2  |2.>....?...?....|
00009670  4d 65 6e 75 43 61 6c 63  0d 3f 16 16 f2 53 65 6e  |MenuCalc.?...Sen|
00009680  64 53 46 58 45 44 28 26  34 34 36 34 33 29 0d 3f  |dSFXED(&44643).?|
00009690  20 05 e1 0d 3f 2a 04 0d  3f 34 13 dd f2 53 74 61  | ...?*..?4...Sta|
000096a0  72 74 52 65 63 65 69 76  65 64 0d 3f 3e 14 74 65  |rtReceived.?>.te|
000096b0  6d 70 25 21 30 3d 77 73  74 61 74 73 68 25 0d 3f  |mp%!0=wstatsh%.?|
000096c0  48 0d 74 65 6d 70 25 21  34 3d 33 0d 3f 52 20 c8  |H.temp%!4=3.?R .|
000096d0  99 22 57 69 6d 70 5f 47  65 74 49 63 6f 6e 53 74  |."Wimp_GetIconSt|
000096e0  61 74 65 22 2c 2c 74 65  6d 70 25 0d 3f 5c 1a 73  |ate",,temp%.?\.s|
000096f0  61 6d 6c 65 6e 25 3d bb  28 24 28 74 65 6d 70 25  |amlen%=.($(temp%|
00009700  21 32 38 29 29 0d 3f 66  1c e7 20 73 61 6d 6c 65  |!28)).?f.. samle|
00009710  6e 25 3c 3d 30 20 8c 20  73 61 6d 6c 65 6e 25 3d  |n%<=0 . samlen%=|
00009720  31 0d 3f 70 1b e7 20 73  61 6d 6c 65 6e 25 3e 70  |1.?p.. samlen%>p|
00009730  6f 6c 6c 65 64 62 25 21  32 34 20 8c 0d 3f 7a 1c  |olledb%!24 ..?z.|
00009740  20 20 f2 52 65 70 6f 72  74 45 72 72 28 22 4e 6f  |  .ReportErr("No|
00009750  20 72 6f 6f 6d 2e 22 29  0d 3f 84 05 cc 0d 3f 8e  | room.").?....?.|
00009760  1b 20 20 73 74 61 72 74  73 61 6d 25 3d 70 6f 6c  |.  startsam%=pol|
00009770  6c 65 64 62 25 21 32 30  0d 3f 98 10 20 20 f2 4d  |ledb%!20.?..  .M|
00009780  65 6e 75 43 61 6c 63 32  0d 3f a2 05 cd 0d 3f ac  |enuCalc2.?....?.|
00009790  05 e1 0d 3f b6 04 0d 3f  c0 0f dd f2 4d 65 6e 75  |...?...?....Menu|
000097a0  43 61 6c 63 32 0d 3f ca  0a 69 6f 25 3d 2d 31 0d  |Calc2.?..io%=-1.|
000097b0  3f d4 15 e3 54 25 3d 30  b8 6d 61 78 69 63 6f 6e  |?...T%=0.maxicon|
000097c0  73 25 2d 31 0d 3f de 1d  20 20 e7 20 69 63 6f 6e  |s%-1.?..  . icon|
000097d0  69 6e 66 6f 25 21 28 54  25 2a 33 32 29 3d 39 20  |info%!(T%*32)=9 |
000097e0  8c 0d 3f e8 22 20 20 20  20 e7 20 69 6f 25 3d 2d  |..?."    . io%=-|
000097f0  31 20 8c 20 69 6f 25 3d  54 25 20 8b 20 69 6f 25  |1 . io%=T% . io%|
00009800  3d 2d 32 0d 3f f2 07 20  20 cd 0d 3f fc 07 ed 54  |=-2.?..  ..?...T|
00009810  25 0d 40 06 0c c8 8e 20  69 6f 25 20 ca 0d 40 10  |%.@.... io% ..@.|
00009820  23 20 20 c9 20 2d 31 3a  f2 52 65 70 6f 72 74 45  |#  . -1:.ReportE|
00009830  72 72 28 22 4e 6f 20 6f  75 74 70 75 74 21 22 29  |rr("No output!")|
00009840  0d 40 1a 2e 20 20 c9 20  2d 32 3a f2 52 65 70 6f  |.@..  . -2:.Repo|
00009850  72 74 45 72 72 28 22 4d  6f 72 65 20 74 68 61 6e  |rtErr("More than|
00009860  20 6f 6e 65 20 6f 75 74  70 75 74 21 22 29 0d 40  | one output!").@|
00009870  24 14 20 20 7f 3a f2 43  61 6c 63 4f 4b 28 69 6f  |$.  .:.CalcOK(io|
00009880  25 29 0d 40 2e 05 cb 0d  40 38 05 e1 0d 40 42 04  |%).@....@8...@B.|
00009890  0d 40 4c 10 dd f2 43 61  6c 63 4f 4b 28 69 25 29  |.@L...CalcOK(i%)|
000098a0  0d 40 56 14 74 65 6d 70  25 21 30 3d 77 73 74 61  |.@V.temp%!0=wsta|
000098b0  74 73 68 25 0d 40 60 0d  74 65 6d 70 25 21 34 3d  |tsh%.@`.temp%!4=|
000098c0  33 0d 40 6a 20 c8 99 22  57 69 6d 70 5f 47 65 74  |3.@j .."Wimp_Get|
000098d0  49 63 6f 6e 53 74 61 74  65 22 2c 2c 74 65 6d 70  |IconState",,temp|
000098e0  25 0d 40 74 1a 73 61 6d  6c 65 6e 25 3d bb 28 24  |%.@t.samlen%=.($|
000098f0  28 74 65 6d 70 25 21 32  38 29 29 0d 40 7e 1c e7  |(temp%!28)).@~..|
00009900  20 73 61 6d 6c 65 6e 25  3c 3d 30 20 8c 20 73 61  | samlen%<=0 . sa|
00009910  6d 6c 65 6e 25 3d 31 0d  40 88 15 e7 20 73 74 61  |mlen%=1.@... sta|
00009920  72 74 73 61 6d 25 3c 3e  2d 31 20 8c 0d 40 92 0f  |rtsam%<>-1 ..@..|
00009930  20 20 65 25 3d 30 3a 54  25 3d 30 0d 40 9c 1e 20  |  e%=0:T%=0.@.. |
00009940  20 c8 95 20 28 54 25 3c  6d 61 78 69 63 6f 6e 73  | .. (T%<maxicons|
00009950  25 29 80 28 65 25 3d 30  29 0d 40 a6 1e 20 20 20  |%).(e%=0).@..   |
00009960  20 c8 8e 20 69 63 6f 6e  69 6e 66 6f 25 21 28 54  | .. iconinfo%!(T|
00009970  25 2a 33 32 29 20 ca 0d  40 b0 2c 20 20 20 20 20  |%*32) ..@.,     |
00009980  20 c9 20 30 3a f2 49 6e  69 74 56 43 4f 28 69 63  | . 0:.InitVCO(ic|
00009990  6f 6e 69 6e 66 6f 25 21  28 54 25 2a 33 32 2b 31  |oninfo%!(T%*32+1|
000099a0  32 29 29 0d 40 ba 33 20  20 20 20 20 20 c9 20 32  |2)).@.3      . 2|
000099b0  3a f2 49 6e 69 74 45 47  28 69 63 6f 6e 69 6e 66  |:.InitEG(iconinf|
000099c0  6f 25 21 28 54 25 2a 33  32 2b 31 32 29 2c 73 61  |o%!(T%*32+12),sa|
000099d0  6d 6c 65 6e 25 29 0d 40  c4 2d 20 20 20 20 20 20  |mlen%).@.-      |
000099e0  c9 20 33 3a f2 49 6e 69  74 46 69 6c 74 28 69 63  |. 3:.InitFilt(ic|
000099f0  6f 6e 69 6e 66 6f 25 21  28 54 25 2a 33 32 2b 31  |oninfo%!(T%*32+1|
00009a00  32 29 29 0d 40 ce 2d 20  20 20 20 20 20 c9 20 34  |2)).@.-      . 4|
00009a10  3a f2 49 6e 69 74 46 69  6c 74 28 69 63 6f 6e 69  |:.InitFilt(iconi|
00009a20  6e 66 6f 25 21 28 54 25  2a 33 32 2b 31 32 29 29  |nfo%!(T%*32+12))|
00009a30  0d 40 d8 2f 20 20 20 20  20 20 c9 20 31 34 3a f2  |.@./      . 14:.|
00009a40  49 6e 69 74 50 75 6c 73  65 28 69 63 6f 6e 69 6e  |InitPulse(iconin|
00009a50  66 6f 25 21 28 54 25 2a  33 32 2b 31 32 29 29 0d  |fo%!(T%*32+12)).|
00009a60  40 e2 2f 20 20 20 20 20  20 c9 20 31 35 3a f2 49  |@./      . 15:.I|
00009a70  6e 69 74 44 65 6c 61 79  28 69 63 6f 6e 69 6e 66  |nitDelay(iconinf|
00009a80  6f 25 21 28 54 25 2a 33  32 2b 31 32 29 29 0d 40  |o%!(T%*32+12)).@|
00009a90  ec 32 20 20 20 20 20 20  c9 20 31 36 3a 65 25 3d  |.2      . 16:e%=|
00009aa0  a4 49 6e 69 74 49 6e 70  75 74 28 69 63 6f 6e 69  |.InitInput(iconi|
00009ab0  6e 66 6f 25 21 28 54 25  2a 33 32 2b 31 32 29 29  |nfo%!(T%*32+12))|
00009ac0  0d 40 f6 31 20 20 20 20  20 20 c9 20 31 37 3a f2  |.@.1      . 17:.|
00009ad0  49 6e 69 74 53 61 6d 48  6f 6c 64 28 69 63 6f 6e  |InitSamHold(icon|
00009ae0  69 6e 66 6f 25 21 28 54  25 2a 33 32 2b 31 32 29  |info%!(T%*32+12)|
00009af0  29 0d 41 00 09 20 20 20  20 cb 0d 41 0a 0d 20 20  |).A..    ..A..  |
00009b00  20 20 54 25 2b 3d 31 0d  41 14 07 20 20 ce 0d 41  |  T%+=1.A..  ..A|
00009b10  1e 0f 20 20 e7 20 65 25  3c 3e 30 20 8c 0d 41 28  |..  . e%<>0 ..A(|
00009b20  2e 20 20 20 20 f2 52 65  70 6f 72 74 45 72 72 28  |.    .ReportErr(|
00009b30  22 43 61 6e 27 74 20 63  6c 61 69 6d 20 69 6e 70  |"Can't claim inp|
00009b40  75 74 20 6d 65 6d 6f 72  79 22 29 0d 41 32 13 20  |ut memory").A2. |
00009b50  20 20 20 f2 43 6c 6f 73  65 49 6e 70 75 74 0d 41  |   .CloseInput.A|
00009b60  3c 19 20 20 20 20 c8 99  22 48 6f 75 72 67 6c 61  |<.    .."Hourgla|
00009b70  73 73 5f 4f 66 66 22 0d  41 46 07 20 20 cc 0d 41  |ss_Off".AF.  ..A|
00009b80  50 18 20 20 20 20 c8 99  22 48 6f 75 72 67 6c 61  |P.    .."Hourgla|
00009b90  73 73 5f 4f 6e 22 0d 41  5a 18 20 20 20 20 21 73  |ss_On".AZ.    !s|
00009ba0  61 6d 74 79 70 3d 73 61  6d 74 79 70 65 25 0d 41  |amtyp=samtype%.A|
00009bb0  64 1f 20 20 20 20 41 25  3d 69 63 6f 6e 69 6e 66  |d.    A%=iconinf|
00009bc0  6f 25 21 28 69 25 2a 33  32 2b 31 36 29 0d 41 6e  |o%!(i%*32+16).An|
00009bd0  14 20 20 20 20 42 25 3d  69 63 6f 6e 69 6e 66 6f  |.    B%=iconinfo|
00009be0  25 0d 41 78 14 20 20 20  20 43 25 3d 73 74 61 72  |%.Ax.    C%=star|
00009bf0  74 73 61 6d 25 0d 41 82  12 20 20 20 20 44 25 3d  |tsam%.A..    D%=|
00009c00  73 61 6d 6c 65 6e 25 0d  41 8c 10 20 20 20 20 d6  |samlen%.A..    .|
00009c10  63 61 6c 63 61 6c 6c 0d  41 96 19 20 20 20 20 c8  |calcall.A..    .|
00009c20  99 22 48 6f 75 72 67 6c  61 73 73 5f 4f 66 66 22  |."Hourglass_Off"|
00009c30  0d 41 a0 13 20 20 20 20  f2 43 6c 6f 73 65 49 6e  |.A..    .CloseIn|
00009c40  70 75 74 0d 41 aa 18 20  20 20 20 74 65 6d 70 25  |put.A..    temp%|
00009c50  21 32 30 3d 73 61 6d 6c  65 6e 25 0d 41 b4 19 20  |!20=samlen%.A.. |
00009c60  20 20 20 74 65 6d 70 25  21 32 34 3d 73 61 6d 74  |   temp%!24=samt|
00009c70  79 70 65 25 0d 41 be 1e  20 20 20 20 24 28 74 65  |ype%.A..    $(te|
00009c80  6d 70 25 2b 32 38 29 3d  73 68 65 65 74 6e 61 6d  |mp%+28)=sheetnam|
00009c90  65 24 0d 41 c8 1a 20 20  20 20 f2 53 65 6e 64 53  |e$.A..    .SendS|
00009ca0  46 58 45 44 28 26 34 34  36 34 34 29 0d 41 d2 14  |FXED(&44644).A..|
00009cb0  20 20 20 20 73 74 61 72  74 73 61 6d 25 3d 2d 31  |    startsam%=-1|
00009cc0  0d 41 dc 07 20 20 cd 0d  41 e6 05 cd 0d 41 f0 05  |.A..  ..A....A..|
00009cd0  e1 0d 41 fa 04 0d 42 04  11 dd f2 49 6e 69 74 56  |..A...B....InitV|
00009ce0  43 4f 28 6c 25 29 0d 42  0e 09 21 6c 25 3d 30 0d  |CO(l%).B..!l%=0.|
00009cf0  42 18 05 e1 0d 42 22 04  0d 42 2c 13 dd f2 49 6e  |B....B"..B,...In|
00009d00  69 74 45 47 28 6c 25 2c  6b 25 29 0d 42 36 0a 6c  |itEG(l%,k%).B6.l|
00009d10  25 21 30 3d 30 0d 42 40  1c 6c 25 21 34 3d 28 36  |%!0=0.B@.l%!4=(6|
00009d20  35 35 33 36 2a 35 31 32  29 2f 73 61 6d 6c 65 6e  |5536*512)/samlen|
00009d30  25 0d 42 4a 05 e1 0d 42  54 04 0d 42 5e 12 dd f2  |%.BJ...BT..B^...|
00009d40  49 6e 69 74 46 69 6c 74  28 6c 25 29 0d 42 68 09  |InitFilt(l%).Bh.|
00009d50  21 6c 25 3d 30 0d 42 72  05 e1 0d 42 7c 04 0d 42  |!l%=0.Br...B|..B|
00009d60  86 13 dd f2 49 6e 69 74  44 65 6c 61 79 28 6c 25  |....InitDelay(l%|
00009d70  29 0d 42 90 1b e3 4a 25  3d 30 b8 32 35 32 88 34  |).B...J%=0.252.4|
00009d80  3a 6c 25 21 4a 25 3d 30  3a ed 4a 25 0d 42 9a 05  |:l%!J%=0:.J%.B..|
00009d90  e1 0d 42 a4 04 0d 42 ae  13 dd f2 49 6e 69 74 50  |..B...B....InitP|
00009da0  75 6c 73 65 28 6c 25 29  0d 42 b8 09 21 6c 25 3d  |ulse(l%).B..!l%=|
00009db0  30 0d 42 c2 05 e1 0d 42  cc 04 0d 42 d6 15 dd f2  |0.B....B...B....|
00009dc0  49 6e 69 74 53 61 6d 48  6f 6c 64 28 6c 25 29 0d  |InitSamHold(l%).|
00009dd0  42 e0 09 21 6c 25 3d 30  0d 42 ea 05 e1 0d 42 f4  |B..!l%=0.B....B.|
00009de0  04 0d 42 fe 13 dd a4 49  6e 69 74 49 6e 70 75 74  |..B....InitInput|
00009df0  28 6c 25 29 0d 43 08 07  ea 20 85 0d 43 12 25 ee  |(l%).C... ..C.%.|
00009e00  20 85 20 ea 20 f2 52 65  70 6f 72 74 45 72 72 28  | . . .ReportErr(|
00009e10  f6 24 29 3a 69 6c 25 3d  31 3a e5 20 8d 40 6c 43  |.$):il%=1:. .@lC|
00009e20  0d 43 1c 0e e7 20 24 6c  25 3d 22 22 20 8c 0d 43  |.C... $l%="" ..C|
00009e30  26 31 20 20 f2 52 65 70  6f 72 74 45 72 72 28 22  |&1  .ReportErr("|
00009e40  57 61 72 6e 69 6e 67 3a  20 6e 6f 20 69 6e 70 75  |Warning: no inpu|
00009e50  74 20 6e 61 6d 65 20 67  69 76 65 6e 2e 22 29 0d  |t name given.").|
00009e60  43 30 0b 20 20 69 6c 25  3d 31 0d 43 3a 05 cc 0d  |C0.  il%=1.C:...|
00009e70  43 44 0f 20 20 66 25 3d  8e 28 24 6c 25 29 0d 43  |CD.  f%=.($l%).C|
00009e80  4e 4d 20 20 e7 20 66 25  3d 30 20 8c 20 69 6c 25  |NM  . f%=0 . il%|
00009e90  3d 31 3a f2 52 65 70 6f  72 74 45 72 72 28 22 57  |=1:.ReportErr("W|
00009ea0  61 72 6e 69 6e 67 3a 20  63 61 6e 27 74 20 6c 6f  |arning: can't lo|
00009eb0  61 64 20 69 6e 70 75 74  2e 22 29 20 8b 20 69 6c  |ad input.") . il|
00009ec0  25 3d a2 23 66 25 3a d9  23 66 25 0d 43 58 05 cd  |%=.#f%:.#f%.CX..|
00009ed0  0d 43 62 14 e7 20 69 6c  25 3c 3d 30 20 8c 20 69  |.Cb.. il%<=0 . i|
00009ee0  6c 25 3d 31 0d 43 6c 32  c8 99 22 58 4f 53 5f 4d  |l%=1.Cl2.."XOS_M|
00009ef0  6f 64 75 6c 65 22 2c 36  2c 2c 2c 28 69 6c 25 2b  |odule",6,,,(il%+|
00009f00  33 29 80 26 66 66 66 66  66 66 66 63 20 b8 20 2c  |3).&fffffffc . ,|
00009f10  2c 73 25 3b 76 25 0d 43  76 0c e7 20 76 25 80 31  |,s%;v%.Cv.. v%.1|
00009f20  20 8c 0d 43 80 0f 20 20  6c 25 21 32 37 32 3d 2d  | ..C..  l%!272=-|
00009f30  31 0d 43 8a 0f 20 20 65  72 72 6f 72 25 3d 2d 31  |1.C..  error%=-1|
00009f40  0d 43 94 05 cc 0d 43 9e  20 20 20 6c 25 21 32 36  |.C....C.   l%!26|
00009f50  30 3d 28 26 31 30 30 30  2a 69 6c 25 29 2f 73 61  |0=(&1000*il%)/sa|
00009f60  6d 6c 65 6e 25 0d 43 a8  0e 20 20 6c 25 21 32 36  |mlen%.C..  l%!26|
00009f70  34 3d 30 0d 43 b2 10 20  20 6c 25 21 32 36 38 3d  |4=0.C..  l%!268=|
00009f80  69 6c 25 0d 43 bc 0f 20  20 6c 25 21 32 37 32 3d  |il%.C..  l%!272=|
00009f90  73 25 0d 43 c6 0e 20 20  6c 25 21 32 37 36 3d 30  |s%.C..  l%!276=0|
00009fa0  0d 43 d0 27 20 20 e7 20  69 6c 25 3e 31 20 8c 20  |.C.'  . il%>1 . |
00009fb0  ff 28 22 4c 4f 41 44 20  22 2b 24 6c 25 2b 22 20  |.("LOAD "+$l%+" |
00009fc0  22 2b c3 7e 73 25 29 0d  43 da 0e 20 20 65 72 72  |"+.~s%).C..  err|
00009fd0  6f 72 25 3d 30 0d 43 e4  05 cd 0d 43 ee 0b 3d 65  |or%=0.C....C..=e|
00009fe0  72 72 6f 72 25 0d 43 f8  04 0d 44 02 10 dd f2 43  |rror%.C...D....C|
00009ff0  6c 6f 73 65 49 6e 70 75  74 0d 44 0c 13 e3 54 25  |loseInput.D...T%|
0000a000  3d 30 b8 6d 61 78 69 63  6f 6e 73 25 0d 44 16 1e  |=0.maxicons%.D..|
0000a010  20 20 e7 20 69 63 6f 6e  69 6e 66 6f 25 21 28 54  |  . iconinfo%!(T|
0000a020  25 2a 33 32 29 3d 31 36  20 8c 0d 44 20 1f 20 20  |%*32)=16 ..D .  |
0000a030  20 20 66 25 3d 69 63 6f  6e 69 6e 66 6f 25 21 28  |  f%=iconinfo%!(|
0000a040  54 25 2a 33 32 2b 31 32  29 0d 44 2a 39 20 20 20  |T%*32+12).D*9   |
0000a050  20 e7 20 66 25 21 32 37  32 3c 3e 2d 31 20 8c 20  | . f%!272<>-1 . |
0000a060  c8 99 22 58 4f 53 5f 4d  6f 64 75 6c 65 22 2c 37  |.."XOS_Module",7|
0000a070  2c 2c 66 25 21 32 37 32  3a 66 25 21 32 37 32 3d  |,,f%!272:f%!272=|
0000a080  2d 31 0d 44 34 07 20 20  cd 0d 44 3e 07 ed 54 25  |-1.D4.  ..D>..T%|
0000a090  0d 44 48 05 e1 0d 44 52  04 0d 44 5c 12 dd f2 55  |.DH...DR..D\...U|
0000a0a0  73 65 72 5f 4d 65 73 73  61 67 65 0d 44 66 2a e3  |ser_Message.Df*.|
0000a0b0  54 25 3d 30 b8 32 35 35  88 34 3a 6d 65 73 73 62  |T%=0.255.4:messb|
0000a0c0  6b 25 21 54 25 3d 70 6f  6c 6c 65 64 62 25 21 54  |k%!T%=polledb%!T|
0000a0d0  25 3a ed 54 25 0d 44 70  12 6d 25 3d 70 6f 6c 6c  |%:.T%.Dp.m%=poll|
0000a0e0  65 64 62 25 21 31 36 0d  44 7a 0b c8 8e 20 6d 25  |edb%!16.Dz... m%|
0000a0f0  20 ca 0d 44 84 0f 20 20  c9 20 30 3a f2 51 75 69  | ..D..  . 0:.Qui|
0000a100  74 0d 44 8e 13 20 20 c9  20 31 3a f2 44 61 74 61  |t.D..  . 1:.Data|
0000a110  53 61 76 65 0d 44 98 12  20 20 c9 20 32 3a f2 53  |Save.D..  . 2:.S|
0000a120  61 76 65 41 63 6b 0d 44  a2 13 20 20 c9 20 33 3a  |aveAck.D..  . 3:|
0000a130  f2 44 61 74 61 4c 6f 61  64 0d 44 ac 13 20 20 c9  |.DataLoad.D..  .|
0000a140  20 35 3a f2 44 61 74 61  4f 70 65 6e 0d 44 b6 1d  | 5:.DataOpen.D..|
0000a150  20 20 c9 20 26 34 34 36  34 35 3a f2 53 74 61 72  |  . &44645:.Star|
0000a160  74 52 65 63 65 69 76 65  64 0d 44 c0 05 cb 0d 44  |tReceived.D....D|
0000a170  ca 05 e1 0d 44 d4 04 0d  44 de 0f dd f2 43 6c 6f  |....D...D....Clo|
0000a180  73 65 44 6f 77 6e 0d 44  e8 16 e7 20 73 68 65 65  |seDown.D... shee|
0000a190  74 73 61 76 65 64 25 3d  2d 31 20 8c 0d 44 f2 0b  |tsaved%=-1 ..D..|
0000a1a0  20 20 f2 51 75 69 74 0d  44 fc 05 cc 0d 45 06 4c  |  .Quit.D....E.L|
0000a1b0  20 20 41 25 3d a4 43 6f  6e 66 69 72 6d 28 22 53  |  A%=.Confirm("S|
0000a1c0  68 65 65 74 20 68 61 73  20 62 65 65 6e 20 6d 6f  |heet has been mo|
0000a1d0  64 69 66 69 65 64 2e 20  41 72 65 20 79 6f 75 20  |dified. Are you |
0000a1e0  73 75 72 65 20 79 6f 75  20 77 61 6e 74 20 74 6f  |sure you want to|
0000a1f0  20 71 75 69 74 3f 22 29  0d 45 10 14 20 20 e7 20  | quit?").E..  . |
0000a200  41 25 3d 31 20 8c 20 f2  51 75 69 74 0d 45 1a 05  |A%=1 . .Quit.E..|
0000a210  cd 0d 45 24 05 e1 0d 45  2e 04 0d 45 38 0a dd f2  |..E$...E...E8...|
0000a220  51 75 69 74 0d 45 42 31  c8 99 22 58 4f 53 5f 53  |Quit.EB1.."XOS_S|
0000a230  65 74 56 61 72 56 61 6c  22 2c 22 53 46 58 4d 5f  |etVarVal","SFXM_|
0000a240  54 61 73 6b 48 61 6e 64  6c 65 22 2c 22 22 2c 2d  |TaskHandle","",-|
0000a250  31 2c 30 2c 30 0d 45 4c  17 c8 99 22 48 6f 75 72  |1,0,0.EL..."Hour|
0000a260  67 6c 61 73 73 5f 53 6d  61 73 68 22 0d 45 56 27  |glass_Smash".EV'|
0000a270  c8 99 22 57 69 6d 70 5f  43 6c 6f 73 65 44 6f 77  |.."Wimp_CloseDow|
0000a280  6e 22 2c 74 61 73 6b 68  25 2c 26 34 62 35 33 34  |n",taskh%,&4b534|
0000a290  31 35 34 0d 45 60 0f c8  99 22 4f 53 5f 45 78 69  |154.E`..."OS_Exi|
0000a2a0  74 22 0d 45 6a 05 e1 0d  45 74 04 0d 45 7e 0f dd  |t".Ej...Et..E~..|
0000a2b0  a4 47 65 74 53 46 58 45  44 48 0d 45 88 3c c8 99  |.GetSFXEDH.E.<..|
0000a2c0  22 58 4f 53 5f 52 65 61  64 56 61 72 56 61 6c 22  |"XOS_ReadVarVal"|
0000a2d0  2c 22 53 46 58 45 44 5f  54 61 73 6b 48 61 6e 64  |,"SFXED_TaskHand|
0000a2e0  6c 65 22 2c 74 65 6d 70  32 25 2c 31 36 2c 30 2c  |le",temp2%,16,0,|
0000a2f0  30 b8 2c 2c 41 25 0d 45  92 10 74 65 6d 70 32 25  |0.,,A%.E..temp2%|
0000a300  3f 41 25 3d 31 33 0d 45  9c 21 e7 20 41 25 3d 30  |?A%=13.E.!. A%=0|
0000a310  20 8c 20 3d 30 20 8b 20  3d a0 28 22 26 22 2b 24  | . =0 . =.("&"+$|
0000a320  74 65 6d 70 32 25 29 0d  45 a6 04 0d 45 b0 0a dd  |temp2%).E...E...|
0000a330  f2 49 6e 69 74 0d 45 ba  1c c8 99 20 22 4f 53 5f  |.Init.E.... "OS_|
0000a340  47 65 74 45 6e 76 22 20  b8 20 45 6e 76 53 74 72  |GetEnv" . EnvStr|
0000a350  24 0d 45 c4 0d 49 25 3d  31 3a 53 25 3d 30 0d 45  |$.E..I%=1:S%=0.E|
0000a360  ce 05 f5 0d 45 d8 22 20  20 e7 20 c1 45 6e 76 53  |....E."  . .EnvS|
0000a370  74 72 24 2c 49 25 2c 31  29 3d 22 20 22 20 8c 20  |tr$,I%,1)=" " . |
0000a380  53 25 2b 3d 31 0d 45 e2  0b 20 20 49 25 2b 3d 31  |S%+=1.E..  I%+=1|
0000a390  0d 45 ec 20 fd 20 28 53  25 3d 33 29 84 28 c1 45  |.E. . (S%=3).(.E|
0000a3a0  6e 76 53 74 72 24 2c 49  25 2c 31 29 3d 22 22 29  |nvStr$,I%,1)="")|
0000a3b0  0d 45 f6 14 6c 66 24 3d  c1 45 6e 76 53 74 72 24  |.E..lf$=.EnvStr$|
0000a3c0  2c 49 25 29 0d 46 00 10  40 25 3d 26 30 31 30 32  |,I%).F..@%=&0102|
0000a3d0  30 61 30 30 0d 46 0a 11  6d 61 78 69 63 6f 6e 73  |0a00.F..maxicons|
0000a3e0  25 3d 31 30 30 0d 46 14  10 de 20 74 65 6d 70 25  |%=100.F... temp%|
0000a3f0  20 31 30 30 30 0d 46 1e  11 de 20 74 65 6d 70 32  | 1000.F... temp2|
0000a400  25 20 31 30 30 30 0d 46  28 11 de 20 6d 65 73 73  |% 1000.F(.. mess|
0000a410  62 6b 25 20 35 31 32 0d  46 32 10 de 20 70 6f 6c  |bk% 512.F2.. pol|
0000a420  6c 62 25 20 32 35 36 0d  46 3c 13 70 6f 6c 6c 65  |lb% 256.F<.polle|
0000a430  64 62 25 3d 70 6f 6c 6c  62 25 0d 46 46 3c c8 99  |db%=pollb%.FF<..|
0000a440  22 57 69 6d 70 5f 49 6e  69 74 69 61 6c 69 73 65  |"Wimp_Initialise|
0000a450  22 2c 32 30 30 2c 26 34  62 35 33 34 31 35 34 2c  |",200,&4b534154,|
0000a460  22 53 46 58 4d 22 b8 76  65 72 73 69 6f 6e 25 2c  |"SFXM".version%,|
0000a470  74 61 73 6b 68 25 0d 46  50 44 e7 20 76 65 72 73  |taskh%.FPD. vers|
0000a480  69 6f 6e 25 3c 32 30 30  20 8c 20 c8 99 22 57 69  |ion%<200 . .."Wi|
0000a490  6d 70 5f 43 6c 6f 73 65  44 6f 77 6e 22 2c 74 61  |mp_CloseDown",ta|
0000a4a0  73 6b 68 25 2c 26 34 62  35 33 34 31 35 34 3a c8  |skh%,&4b534154:.|
0000a4b0  99 22 4f 53 5f 45 78 69  74 22 0d 46 5a 3b c8 99  |."OS_Exit".FZ;..|
0000a4c0  22 58 4f 53 5f 52 65 61  64 56 61 72 56 61 6c 22  |"XOS_ReadVarVal"|
0000a4d0  2c 22 53 46 58 4d 5f 54  61 73 6b 48 61 6e 64 6c  |,"SFXM_TaskHandl|
0000a4e0  65 22 2c 74 65 6d 70 32  25 2c 31 36 2c 30 2c 30  |e",temp2%,16,0,0|
0000a4f0  b8 2c 2c 41 25 0d 46 64  0d e7 20 41 25 3c 3e 30  |.,,A%.Fd.. A%<>0|
0000a500  20 8c 0d 46 6e 29 20 20  f2 52 65 70 6f 72 74 45  | ..Fn)  .ReportE|
0000a510  72 72 28 22 53 46 58 4d  20 61 6c 72 65 61 64 79  |rr("SFXM already|
0000a520  20 72 75 6e 6e 69 6e 67  2e 22 29 0d 46 78 29 20  | running.").Fx) |
0000a530  20 c8 99 22 57 69 6d 70  5f 43 6c 6f 73 65 44 6f  | .."Wimp_CloseDo|
0000a540  77 6e 22 2c 74 61 73 6b  68 25 2c 26 34 62 35 33  |wn",taskh%,&4b53|
0000a550  34 31 35 34 0d 46 82 11  20 20 c8 99 22 4f 53 5f  |4154.F..  .."OS_|
0000a560  45 78 69 74 22 0d 46 8c  05 cd 0d 46 96 14 c8 99  |Exit".F....F....|
0000a570  22 48 6f 75 72 67 6c 61  73 73 5f 4f 6e 22 0d 46  |"Hourglass_On".F|
0000a580  a0 36 c8 99 22 58 4f 53  5f 53 65 74 56 61 72 56  |.6.."XOS_SetVarV|
0000a590  61 6c 22 2c 22 53 46 58  4d 5f 54 61 73 6b 48 61  |al","SFXM_TaskHa|
0000a5a0  6e 64 6c 65 22 2c c3 7e  74 61 73 6b 68 25 2c 38  |ndle",.~taskh%,8|
0000a5b0  2c 30 2c 30 0d 46 aa 2e  c8 99 22 57 69 6d 70 5f  |,0,0.F...."Wimp_|
0000a5c0  53 70 72 69 74 65 4f 70  22 2c 31 31 2c 2c 22 3c  |SpriteOp",11,,"<|
0000a5d0  53 46 58 4d 24 44 69 72  3e 2e 53 70 72 69 74 65  |SFXM$Dir>.Sprite|
0000a5e0  73 22 0d 46 b4 11 48 25  3d a4 47 65 74 53 46 58  |s".F..H%=.GetSFX|
0000a5f0  45 44 48 0d 46 be 34 e7  20 48 25 3d 30 20 8c 20  |EDH.F.4. H%=0 . |
0000a600  ff 28 22 2a 57 69 6d 70  54 61 73 6b 20 52 75 6e  |.("*WimpTask Run|
0000a610  20 3c 53 46 58 45 44 24  44 69 72 3e 2e 5e 2e 21  | <SFXED$Dir>.^.!|
0000a620  53 46 58 45 44 22 29 0d  46 c8 31 c8 99 22 57 69  |SFXED").F.1.."Wi|
0000a630  6d 70 5f 4f 70 65 6e 54  65 6d 70 6c 61 74 65 22  |mp_OpenTemplate"|
0000a640  2c 2c 22 3c 53 46 58 4d  24 44 69 72 3e 2e 54 65  |,,"<SFXM$Dir>.Te|
0000a650  6d 70 6c 61 74 65 73 22  0d 46 d2 12 de 20 70 69  |mplates".F... pi|
0000a660  78 74 72 61 6e 73 25 20  31 36 0d 46 dc 10 de 20  |xtrans% 16.F... |
0000a670  73 63 61 6c 65 66 25 20  31 36 0d 46 e6 0f de 20  |scalef% 16.F... |
0000a680  77 65 67 25 20 31 30 30  30 0d 46 f0 10 de 20 77  |weg% 1000.F... w|
0000a690  76 63 6f 25 20 31 30 30  30 0d 46 fa 13 de 20 77  |vco% 1000.F... w|
0000a6a0  6e 6c 64 69 73 74 25 20  31 30 30 30 0d 47 04 12  |nldist% 1000.G..|
0000a6b0  de 20 77 61 62 6f 75 74  25 20 31 30 30 30 0d 47  |. wabout% 1000.G|
0000a6c0  0e 15 de 20 77 73 61 76  65 61 73 73 68 25 20 31  |... wsaveassh% 1|
0000a6d0  30 30 30 0d 47 18 15 de  20 77 63 6f 6e 73 74 61  |000.G... wconsta|
0000a6e0  6e 74 25 20 31 30 30 30  0d 47 22 11 de 20 77 77  |nt% 1000.G".. ww|
0000a6f0  6f 72 6b 25 20 31 30 30  30 0d 47 2c 12 de 20 77  |ork% 1000.G,.. w|
0000a700  74 6f 6f 6c 73 25 20 32  30 30 30 0d 47 36 12 de  |tools% 2000.G6..|
0000a710  20 77 73 74 61 74 73 25  20 31 30 30 30 0d 47 40  | wstats% 1000.G@|
0000a720  12 de 20 77 6d 75 6c 74  63 25 20 31 30 30 30 0d  |.. wmultc% 1000.|
0000a730  47 4a 12 de 20 77 69 6e  70 75 74 25 20 31 30 30  |GJ.. winput% 100|
0000a740  30 0d 47 54 11 de 20 77  69 6e 73 74 25 20 31 30  |0.GT.. winst% 10|
0000a750  30 30 0d 47 5e 11 de 20  69 63 62 75 66 25 20 34  |00.G^.. icbuf% 4|
0000a760  30 30 30 0d 47 68 12 69  63 62 75 66 6e 25 3d 69  |000.Gh.icbufn%=i|
0000a770  63 62 75 66 25 0d 47 72  0f de 20 74 6e 61 6d 65  |cbuf%.Gr.. tname|
0000a780  25 20 31 36 0d 47 7c 1c  f2 4c 6f 61 64 54 65 6d  |% 16.G|..LoadTem|
0000a790  70 28 77 69 6e 73 74 25  2c 22 69 6e 73 74 22 29  |p(winst%,"inst")|
0000a7a0  0d 47 86 1a c8 99 22 57  69 6d 70 5f 43 6c 6f 73  |.G...."Wimp_Clos|
0000a7b0  65 54 65 6d 70 6c 61 74  65 22 0d 47 90 29 c8 99  |eTemplate".G.)..|
0000a7c0  22 57 69 6d 70 5f 43 72  65 61 74 65 57 69 6e 64  |"Wimp_CreateWind|
0000a7d0  6f 77 22 2c 2c 77 69 6e  73 74 25 b8 77 69 6e 73  |ow",,winst%.wins|
0000a7e0  74 68 25 0d 47 9a 09 f2  49 6e 73 74 0d 47 a4 31  |th%.G...Inst.G.1|
0000a7f0  c8 99 22 57 69 6d 70 5f  4f 70 65 6e 54 65 6d 70  |.."Wimp_OpenTemp|
0000a800  6c 61 74 65 22 2c 2c 22  3c 53 46 58 4d 24 44 69  |late",,"<SFXM$Di|
0000a810  72 3e 2e 54 65 6d 70 6c  61 74 65 73 22 0d 47 ae  |r>.Templates".G.|
0000a820  18 f2 4c 6f 61 64 54 65  6d 70 28 77 65 67 25 2c  |..LoadTemp(weg%,|
0000a830  22 65 67 22 29 0d 47 b8  1a f2 4c 6f 61 64 54 65  |"eg").G...LoadTe|
0000a840  6d 70 28 77 76 63 6f 25  2c 22 76 63 6f 22 29 0d  |mp(wvco%,"vco").|
0000a850  47 c2 20 f2 4c 6f 61 64  54 65 6d 70 28 77 6e 6c  |G. .LoadTemp(wnl|
0000a860  64 69 73 74 25 2c 22 6e  6c 64 69 73 74 22 29 0d  |dist%,"nldist").|
0000a870  47 cc 1e f2 4c 6f 61 64  54 65 6d 70 28 77 61 62  |G...LoadTemp(wab|
0000a880  6f 75 74 25 2c 22 61 62  6f 75 74 22 29 0d 47 d6  |out%,"about").G.|
0000a890  24 f2 4c 6f 61 64 54 65  6d 70 28 77 73 61 76 65  |$.LoadTemp(wsave|
0000a8a0  61 73 73 68 25 2c 22 73  61 76 65 61 73 73 68 22  |assh%,"saveassh"|
0000a8b0  29 0d 47 e0 24 f2 4c 6f  61 64 54 65 6d 70 28 77  |).G.$.LoadTemp(w|
0000a8c0  63 6f 6e 73 74 61 6e 74  25 2c 22 63 6f 6e 73 74  |constant%,"const|
0000a8d0  61 6e 74 22 29 0d 47 ea  1c f2 4c 6f 61 64 54 65  |ant").G...LoadTe|
0000a8e0  6d 70 28 77 77 6f 72 6b  25 2c 22 77 6f 72 6b 22  |mp(wwork%,"work"|
0000a8f0  29 0d 47 f4 1e f2 4c 6f  61 64 54 65 6d 70 28 77  |).G...LoadTemp(w|
0000a900  74 6f 6f 6c 73 25 2c 22  74 6f 6f 6c 73 22 29 0d  |tools%,"tools").|
0000a910  47 fe 1e f2 4c 6f 61 64  54 65 6d 70 28 77 73 74  |G...LoadTemp(wst|
0000a920  61 74 73 25 2c 22 73 74  61 74 73 22 29 0d 48 08  |ats%,"stats").H.|
0000a930  1e f2 4c 6f 61 64 54 65  6d 70 28 77 6d 75 6c 74  |..LoadTemp(wmult|
0000a940  63 25 2c 22 6d 75 6c 74  63 22 29 0d 48 12 1e f2  |c%,"multc").H...|
0000a950  4c 6f 61 64 54 65 6d 70  28 77 69 6e 70 75 74 25  |LoadTemp(winput%|
0000a960  2c 22 69 6e 70 75 74 22  29 0d 48 1c 1a c8 99 22  |,"input").H...."|
0000a970  57 69 6d 70 5f 43 6c 6f  73 65 54 65 6d 70 6c 61  |Wimp_CloseTempla|
0000a980  74 65 22 0d 48 26 25 c8  99 22 57 69 6d 70 5f 43  |te".H&%.."Wimp_C|
0000a990  72 65 61 74 65 57 69 6e  64 6f 77 22 2c 2c 77 65  |reateWindow",,we|
0000a9a0  67 25 b8 77 65 67 68 25  0d 48 30 27 c8 99 22 57  |g%.wegh%.H0'.."W|
0000a9b0  69 6d 70 5f 43 72 65 61  74 65 57 69 6e 64 6f 77  |imp_CreateWindow|
0000a9c0  22 2c 2c 77 76 63 6f 25  b8 77 76 63 6f 68 25 0d  |",,wvco%.wvcoh%.|
0000a9d0  48 3a 2d c8 99 22 57 69  6d 70 5f 43 72 65 61 74  |H:-.."Wimp_Creat|
0000a9e0  65 57 69 6e 64 6f 77 22  2c 2c 77 6e 6c 64 69 73  |eWindow",,wnldis|
0000a9f0  74 25 b8 77 6e 6c 64 69  73 74 68 25 0d 48 44 2b  |t%.wnldisth%.HD+|
0000aa00  c8 99 22 57 69 6d 70 5f  43 72 65 61 74 65 57 69  |.."Wimp_CreateWi|
0000aa10  6e 64 6f 77 22 2c 2c 77  61 62 6f 75 74 25 b8 77  |ndow",,wabout%.w|
0000aa20  61 62 6f 75 74 68 25 0d  48 4e 31 c8 99 22 57 69  |abouth%.HN1.."Wi|
0000aa30  6d 70 5f 43 72 65 61 74  65 57 69 6e 64 6f 77 22  |mp_CreateWindow"|
0000aa40  2c 2c 77 73 61 76 65 61  73 73 68 25 b8 77 73 61  |,,wsaveassh%.wsa|
0000aa50  76 65 61 73 73 68 68 25  0d 48 58 31 c8 99 22 57  |veasshh%.HX1.."W|
0000aa60  69 6d 70 5f 43 72 65 61  74 65 57 69 6e 64 6f 77  |imp_CreateWindow|
0000aa70  22 2c 2c 77 63 6f 6e 73  74 61 6e 74 25 b8 77 63  |",,wconstant%.wc|
0000aa80  6f 6e 73 74 61 6e 74 68  25 0d 48 62 29 c8 99 22  |onstanth%.Hb).."|
0000aa90  57 69 6d 70 5f 43 72 65  61 74 65 57 69 6e 64 6f  |Wimp_CreateWindo|
0000aaa0  77 22 2c 2c 77 77 6f 72  6b 25 b8 77 77 6f 72 6b  |w",,wwork%.wwork|
0000aab0  68 25 0d 48 6c 2b c8 99  22 57 69 6d 70 5f 43 72  |h%.Hl+.."Wimp_Cr|
0000aac0  65 61 74 65 57 69 6e 64  6f 77 22 2c 2c 77 74 6f  |eateWindow",,wto|
0000aad0  6f 6c 73 25 b8 77 74 6f  6f 6c 73 68 25 0d 48 76  |ols%.wtoolsh%.Hv|
0000aae0  2b c8 99 22 57 69 6d 70  5f 43 72 65 61 74 65 57  |+.."Wimp_CreateW|
0000aaf0  69 6e 64 6f 77 22 2c 2c  77 73 74 61 74 73 25 b8  |indow",,wstats%.|
0000ab00  77 73 74 61 74 73 68 25  0d 48 80 2b c8 99 22 57  |wstatsh%.H.+.."W|
0000ab10  69 6d 70 5f 43 72 65 61  74 65 57 69 6e 64 6f 77  |imp_CreateWindow|
0000ab20  22 2c 2c 77 6d 75 6c 74  63 25 b8 77 6d 75 6c 74  |",,wmultc%.wmult|
0000ab30  63 68 25 0d 48 8a 2b c8  99 22 57 69 6d 70 5f 43  |ch%.H.+.."Wimp_C|
0000ab40  72 65 61 74 65 57 69 6e  64 6f 77 22 2c 2c 77 69  |reateWindow",,wi|
0000ab50  6e 70 75 74 25 b8 77 69  6e 70 75 74 68 25 0d 48  |nput%.winputh%.H|
0000ab60  94 0a f2 4d 65 6e 75 73  0d 48 9e 0f de 20 62 69  |...Menus.H... bi|
0000ab70  63 6f 6e 25 20 33 32 0d  48 a8 0f 62 69 63 6f 6e  |con% 32.H..bicon|
0000ab80  25 21 30 3d 2d 31 0d 48  b2 0e 62 69 63 6f 6e 25  |%!0=-1.H..bicon%|
0000ab90  21 34 3d 30 0d 48 bc 0e  62 69 63 6f 6e 25 21 38  |!4=0.H..bicon%!8|
0000aba0  3d 30 0d 48 c6 10 62 69  63 6f 6e 25 21 31 32 3d  |=0.H..bicon%!12=|
0000abb0  36 38 0d 48 d0 10 62 69  63 6f 6e 25 21 31 36 3d  |68.H..bicon%!16=|
0000abc0  36 38 0d 48 da 1f 62 69  63 6f 6e 25 21 32 30 3d  |68.H..bicon%!20=|
0000abd0  25 30 30 31 31 30 30 30  30 30 30 30 31 31 30 31  |%001100000001101|
0000abe0  30 0d 48 e4 18 24 28 62  69 63 6f 6e 25 2b 32 34  |0.H..$(bicon%+24|
0000abf0  29 3d 22 21 73 66 78 6d  22 0d 48 ee 27 c8 99 22  |)="!sfxm".H.'.."|
0000ac00  57 69 6d 70 5f 43 72 65  61 74 65 49 63 6f 6e 22  |Wimp_CreateIcon"|
0000ac10  2c 2c 62 69 63 6f 6e 25  b8 62 69 63 6f 6e 68 25  |,,bicon%.biconh%|
0000ac20  0d 48 f8 1c de 20 69 63  6f 6e 69 6e 66 6f 25 20  |.H... iconinfo% |
0000ac30  6d 61 78 69 63 6f 6e 73  25 2a 33 32 0d 49 02 2c  |maxicons%*32.I.,|
0000ac40  e3 54 25 3d 30 b8 6d 61  78 69 63 6f 6e 73 25 2a  |.T%=0.maxicons%*|
0000ac50  33 32 2d 34 3a 69 63 6f  6e 69 6e 66 6f 25 21 54  |32-4:iconinfo%!T|
0000ac60  25 3d 2d 31 3a ed 54 25  0d 49 0c 24 6f 6c 64 64  |%=-1:.T%.I.$oldd|
0000ac70  66 75 6e 63 25 3d 31 30  3a 64 66 75 6e 63 25 3d  |func%=10:dfunc%=|
0000ac80  31 30 3a 64 66 24 3d 22  76 63 6f 22 0d 49 16 2b  |10:df$="vco".I.+|
0000ac90  6f 6c 64 64 78 25 3d 2d  31 3a 6f 6c 64 64 79 25  |olddx%=-1:olddy%|
0000aca0  3d 2d 31 3a 6e 65 77 64  78 25 3d 2d 31 3a 6e 65  |=-1:newdx%=-1:ne|
0000acb0  77 64 79 25 3d 2d 31 0d  49 20 2b 6f 6c 64 6c 78  |wdy%=-1.I +oldlx|
0000acc0  25 3d 2d 31 3a 6f 6c 64  6c 79 25 3d 2d 31 3a 6e  |%=-1:oldly%=-1:n|
0000acd0  65 77 6c 78 25 3d 2d 31  3a 6e 65 77 6c 79 25 3d  |ewlx%=-1:newly%=|
0000ace0  2d 31 0d 49 2a 26 73 74  61 72 74 6c 78 25 3d 2d  |-1.I*&startlx%=-|
0000acf0  31 3a 73 74 61 72 74 6c  79 25 3d 30 3a 73 74 61  |1:startly%=0:sta|
0000ad00  72 74 69 63 25 3d 2d 31  0d 49 34 17 73 74 61 72  |rtic%=-1.I4.star|
0000ad10  74 69 25 3d 2d 31 3a 65  6e 64 69 25 3d 2d 31 0d  |ti%=-1:endi%=-1.|
0000ad20  49 3e 0b 64 72 61 67 25  3d 30 0d 49 48 0d 64 72  |I>.drag%=0.IH.dr|
0000ad30  61 67 78 25 3d 2d 31 0d  49 52 0d 64 72 61 67 79  |agx%=-1.IR.dragy|
0000ad40  25 3d 2d 31 0d 49 5c 0f  63 6f 6e 73 74 70 74 72  |%=-1.I\.constptr|
0000ad50  25 3d 30 0d 49 66 10 6d  63 6f 6e 73 74 70 74 72  |%=0.If.mconstptr|
0000ad60  25 3d 30 0d 49 70 0d 76  63 6f 70 74 72 25 3d 30  |%=0.Ip.vcoptr%=0|
0000ad70  0d 49 7a 0c 65 67 70 74  72 25 3d 30 0d 49 84 10  |.Iz.egptr%=0.I..|
0000ad80  6e 6c 64 69 73 74 70 74  72 25 3d 30 0d 49 8e 13  |nldistptr%=0.I..|
0000ad90  6e 6c 64 69 73 74 6c 61  73 74 78 25 3d 2d 31 0d  |nldistlastx%=-1.|
0000ada0  49 98 13 6e 6c 64 69 73  74 6c 61 73 74 79 25 3d  |I..nldistlasty%=|
0000adb0  2d 31 0d 49 a2 10 76 63  6f 6c 61 73 74 78 25 3d  |-1.I..vcolastx%=|
0000adc0  2d 31 0d 49 ac 10 76 63  6f 6c 61 73 74 79 25 3d  |-1.I..vcolasty%=|
0000add0  2d 31 0d 49 b6 0f 73 61  6d 70 74 72 6c 25 3d 2d  |-1.I..samptrl%=-|
0000ade0  31 0d 49 c0 0f 73 61 6d  70 74 72 72 25 3d 2d 31  |1.I..samptrr%=-1|
0000adf0  0d 49 ca 10 73 74 61 72  74 73 61 6d 25 3d 2d 31  |.I..startsam%=-1|
0000ae00  0d 49 d4 0e 73 61 6d 6c  65 6e 25 3d 2d 31 0d 49  |.I..samlen%=-1.I|
0000ae10  de 0c 7a 6f 6f 6d 66 72  3d 31 0d 49 e8 0a 6f 6b  |..zoomfr=1.I..ok|
0000ae20  74 25 3d 31 0d 49 f2 10  73 61 76 65 74 79 70 65  |t%=1.I..savetype|
0000ae30  25 3d 2d 31 0d 49 fc 0d  69 6e 70 70 74 72 25 3d  |%=-1.I..inpptr%=|
0000ae40  30 0d 4a 06 0d 6e 6f 70  6f 6c 6c 25 3d 30 0d 4a  |0.J..nopoll%=0.J|
0000ae50  10 12 73 68 65 65 74 73  61 76 65 64 25 3d 2d 31  |..sheetsaved%=-1|
0000ae60  0d 4a 1a 22 66 69 6c 65  74 6f 6c 6f 61 64 24 3d  |.J."filetoload$=|
0000ae70  22 22 3a 66 69 6c 65 74  6f 6c 6f 61 64 32 24 3d  |"":filetoload2$=|
0000ae80  22 22 0d 4a 24 1b 73 68  65 65 74 6e 61 6d 65 24  |"".J$.sheetname$|
0000ae90  3d 22 3c 55 6e 74 69 74  6c 65 64 3e 22 0d 4a 2e  |="<Untitled>".J.|
0000aea0  10 6f 6c 64 77 6f 72 6b  78 25 3d 2d 31 0d 4a 38  |.oldworkx%=-1.J8|
0000aeb0  0d 74 6f 6f 6c 73 25 3d  2d 31 0d 4a 42 0e f2 41  |.tools%=-1.JB..A|
0000aec0  64 6a 54 6f 6f 6c 73 43  0d 4a 4c 0f de 20 64 72  |djToolsC.JL.. dr|
0000aed0  61 67 62 25 20 35 36 0d  4a 56 19 de 20 6c 69 74  |agb% 56.JV.. lit|
0000aee0  72 61 6e 73 25 28 6d 61  78 69 63 6f 6e 73 25 29  |rans%(maxicons%)|
0000aef0  0d 4a 60 0e 73 61 6d 74  79 70 65 25 3d 30 0d 4a  |.J`.samtype%=0.J|
0000af00  6a 0a f2 41 73 73 65 6d  0d 4a 74 1d de 20 66 72  |j..Assem.Jt.. fr|
0000af10  65 65 70 6f 6f 6c 25 20  6d 61 78 69 63 6f 6e 73  |eepool% maxicons|
0000af20  25 2a 35 34 30 0d 4a 7e  10 41 25 3d 66 72 65 65  |%*540.J~.A%=free|
0000af30  70 6f 6f 6c 25 0d 4a 88  14 42 25 3d 6d 61 78 69  |pool%.J..B%=maxi|
0000af40  63 6f 6e 73 25 2a 35 34  30 0d 4a 92 0d d6 20 69  |cons%*540.J... i|
0000af50  6e 69 74 6d 65 6d 0d 4a  9c 12 de 20 6c 69 6e 6c  |nitmem.J... linl|
0000af60  6f 67 25 20 38 31 39 32  0d 4a a6 0f 2a 56 4f 4c  |og% 8192.J..*VOL|
0000af70  55 4d 45 20 31 32 37 0d  4a b0 27 c8 99 22 53 6f  |UME 127.J.'.."So|
0000af80  75 6e 64 5f 43 6f 6e 66  69 67 75 72 65 22 2c 30  |und_Configure",0|
0000af90  2c 30 2c 30 2c 30 2c 30  b8 2c 2c 2c 54 25 0d 4a  |,0,0,0,0.,,,T%.J|
0000afa0  ba 2c e3 53 25 3d 30 b8  38 31 38 38 88 34 3a 6c  |.,.S%=0.8188.4:l|
0000afb0  69 6e 6c 6f 67 25 21 53  25 3d 21 28 28 54 25 21  |inlog%!S%=!((T%!|
0000afc0  38 29 2b 53 25 29 3a ed  53 25 0d 4a c4 13 21 6c  |8)+S%):.S%.J..!l|
0000afd0  69 6e 6c 6f 67 3d 6c 69  6e 6c 6f 67 25 0d 4a ce  |inlog=linlog%.J.|
0000afe0  14 de 20 6c 69 6e 74 61  62 6c 65 25 20 31 30 32  |.. lintable% 102|
0000aff0  34 0d 4a d8 15 21 6c 69  6e 74 61 62 3d 6c 69 6e  |4.J..!lintab=lin|
0000b000  74 61 62 6c 65 25 0d 4a  e2 0d e3 54 25 3d 30 b8  |table%.J...T%=0.|
0000b010  31 32 37 0d 4a ec 2e 20  20 6c 69 6e 74 61 62 6c  |127.J..  lintabl|
0000b020  65 25 21 28 54 25 2a 38  29 3d a8 28 30 2e 35 2b  |e%!(T%*8)=.(0.5+|
0000b030  32 36 37 2e 33 33 2a 32  5e 28 54 25 2f 31 36 29  |267.33*2^(T%/16)|
0000b040  29 0d 4a f6 2a 20 20 6c  69 6e 74 61 62 6c 65 25  |).J.*  lintable%|
0000b050  21 28 54 25 2a 38 2b 34  29 3d 2d 6c 69 6e 74 61  |!(T%*8+4)=-linta|
0000b060  62 6c 65 25 21 28 54 25  2a 38 29 0d 4b 00 07 ed  |ble%!(T%*8).K...|
0000b070  54 25 0d 4b 0a 0f e7 20  6c 66 24 3c 3e 22 22 20  |T%.K... lf$<>"" |
0000b080  8c 0d 4b 14 18 20 20 24  28 70 6f 6c 6c 65 64 62  |..K..  $(polledb|
0000b090  25 2b 34 34 29 3d 6c 66  24 0d 4b 1e 16 20 20 70  |%+44)=lf$.K..  p|
0000b0a0  6f 6c 6c 65 64 62 25 21  34 30 3d 26 63 33 36 0d  |olledb%!40=&c36.|
0000b0b0  4b 28 10 20 20 f2 4c 6f  61 64 53 68 65 65 74 0d  |K(.  .LoadSheet.|
0000b0c0  4b 32 05 cd 0d 4b 3c 13  74 65 6d 70 25 21 30 3d  |K2...K<.temp%!0=|
0000b0d0  77 69 6e 73 74 68 25 0d  4b 46 1f c8 99 22 57 69  |winsth%.KF..."Wi|
0000b0e0  6d 70 5f 43 6c 6f 73 65  57 69 6e 64 6f 77 22 2c  |mp_CloseWindow",|
0000b0f0  2c 74 65 6d 70 25 0d 4b  50 13 74 65 6d 70 25 21  |,temp%.KP.temp%!|
0000b100  30 3d 77 69 6e 73 74 68  25 0d 4b 5a 20 c8 99 22  |0=winsth%.KZ .."|
0000b110  57 69 6d 70 5f 44 65 6c  65 74 65 57 69 6e 64 6f  |Wimp_DeleteWindo|
0000b120  77 22 2c 2c 74 65 6d 70  25 0d 4b 64 15 c8 99 22  |w",,temp%.Kd..."|
0000b130  48 6f 75 72 67 6c 61 73  73 5f 4f 66 66 22 0d 4b  |Hourglass_Off".K|
0000b140  6e 05 e1 0d 4b 78 04 0d  4b 82 13 dd f2 4d 6f 64  |n...Kx..K....Mod|
0000b150  54 69 74 6c 65 28 73 73  25 29 0d 4b 8c 09 ea 20  |Title(ss%).K... |
0000b160  74 69 24 0d 4b 96 19 e7  20 73 73 25 3d 73 68 65  |ti$.K... ss%=she|
0000b170  65 74 73 61 76 65 64 25  20 8c 20 e1 0d 4b a0 14  |etsaved% . ..K..|
0000b180  74 69 24 3d 24 28 77 77  6f 72 6b 25 21 37 32 29  |ti$=$(wwork%!72)|
0000b190  0d 4b aa 2a e7 20 a7 74  69 24 2c 22 20 22 29 3c  |.K.*. .ti$," ")<|
0000b1a0  3e 30 20 8c 20 74 69 24  3d c0 74 69 24 2c a7 74  |>0 . ti$=.ti$,.t|
0000b1b0  69 24 2c 22 20 22 29 2d  31 29 0d 4b b4 1a e7 20  |i$," ")-1).K... |
0000b1c0  73 73 25 3d 30 20 8c 20  74 69 24 3d 74 69 24 2b  |ss%=0 . ti$=ti$+|
0000b1d0  22 20 2a 22 0d 4b be 14  24 28 77 77 6f 72 6b 25  |" *".K..$(wwork%|
0000b1e0  21 37 32 29 3d 74 69 24  0d 4b c8 13 74 65 6d 70  |!72)=ti$.K..temp|
0000b1f0  25 21 30 3d 77 77 6f 72  6b 68 25 0d 4b d2 24 c8  |%!0=wworkh%.K.$.|
0000b200  99 22 57 69 6d 70 5f 47  65 74 57 69 6e 64 6f 77  |."Wimp_GetWindow|
0000b210  4f 75 74 6c 69 6e 65 22  2c 2c 74 65 6d 70 25 0d  |Outline",,temp%.|
0000b220  4b dc 41 c8 99 22 57 69  6d 70 5f 46 6f 72 63 65  |K.A.."Wimp_Force|
0000b230  52 65 64 72 61 77 22 2c  2d 31 2c 74 65 6d 70 25  |Redraw",-1,temp%|
0000b240  21 34 2c 74 65 6d 70 25  21 31 36 2d 34 30 2c 74  |!4,temp%!16-40,t|
0000b250  65 6d 70 25 21 31 32 2c  74 65 6d 70 25 21 31 36  |emp%!12,temp%!16|
0000b260  0d 4b e6 13 73 68 65 65  74 73 61 76 65 64 25 3d  |.K..sheetsaved%=|
0000b270  73 73 25 0d 4b f0 05 e1  0d 4b fa 04 0d 4c 04 0c  |ss%.K....K...L..|
0000b280  dd f2 43 6c 65 61 72 32  0d 4c 0e 16 e7 20 73 68  |..Clear2.L... sh|
0000b290  65 65 74 73 61 76 65 64  25 3d 2d 31 20 8c 0d 4c  |eetsaved%=-1 ..L|
0000b2a0  18 0c 20 20 f2 43 6c 65  61 72 0d 4c 22 05 cc 0d  |..  .Clear.L"...|
0000b2b0  4c 2c 4f 20 20 41 25 3d  a4 43 6f 6e 66 69 72 6d  |L,O  A%=.Confirm|
0000b2c0  28 22 53 68 65 65 74 20  68 61 73 20 62 65 65 6e  |("Sheet has been|
0000b2d0  20 6d 6f 64 69 66 69 65  64 2e 20 41 72 65 20 79  | modified. Are y|
0000b2e0  6f 75 20 73 75 72 65 20  79 6f 75 20 77 61 6e 74  |ou sure you want|
0000b2f0  20 74 6f 20 64 6f 20 74  68 69 73 3f 22 29 0d 4c  | to do this?").L|
0000b300  36 15 20 20 e7 20 41 25  3d 31 20 8c 20 f2 43 6c  |6.  . A%=1 . .Cl|
0000b310  65 61 72 0d 4c 40 05 cd  0d 4c 4a 05 e1 0d 4c 54  |ear.L@...LJ...LT|
0000b320  04 0d 4c 5e 0b dd f2 43  6c 65 61 72 0d 4c 68 18  |..L^...Clear.Lh.|
0000b330  74 65 6d 70 32 25 21 30  3d 77 63 6f 6e 73 74 61  |temp2%!0=wconsta|
0000b340  6e 74 68 25 0d 4c 72 20  c8 99 22 57 69 6d 70 5f  |nth%.Lr .."Wimp_|
0000b350  43 6c 6f 73 65 57 69 6e  64 6f 77 22 2c 2c 74 65  |CloseWindow",,te|
0000b360  6d 70 32 25 0d 4c 7c 15  74 65 6d 70 32 25 21 30  |mp2%.L|.temp2%!0|
0000b370  3d 77 6d 75 6c 74 63 68  25 0d 4c 86 20 c8 99 22  |=wmultch%.L. .."|
0000b380  57 69 6d 70 5f 43 6c 6f  73 65 57 69 6e 64 6f 77  |Wimp_CloseWindow|
0000b390  22 2c 2c 74 65 6d 70 32  25 0d 4c 90 13 74 65 6d  |",,temp2%.L..tem|
0000b3a0  70 32 25 21 30 3d 77 76  63 6f 68 25 0d 4c 9a 20  |p2%!0=wvcoh%.L. |
0000b3b0  c8 99 22 57 69 6d 70 5f  43 6c 6f 73 65 57 69 6e  |.."Wimp_CloseWin|
0000b3c0  64 6f 77 22 2c 2c 74 65  6d 70 32 25 0d 4c a4 12  |dow",,temp2%.L..|
0000b3d0  74 65 6d 70 32 25 21 30  3d 77 65 67 68 25 0d 4c  |temp2%!0=wegh%.L|
0000b3e0  ae 20 c8 99 22 57 69 6d  70 5f 43 6c 6f 73 65 57  |. .."Wimp_CloseW|
0000b3f0  69 6e 64 6f 77 22 2c 2c  74 65 6d 70 32 25 0d 4c  |indow",,temp2%.L|
0000b400  b8 15 74 65 6d 70 32 25  21 30 3d 77 69 6e 70 75  |..temp2%!0=winpu|
0000b410  74 68 25 0d 4c c2 20 c8  99 22 57 69 6d 70 5f 43  |th%.L. .."Wimp_C|
0000b420  6c 6f 73 65 57 69 6e 64  6f 77 22 2c 2c 74 65 6d  |loseWindow",,tem|
0000b430  70 32 25 0d 4c cc 16 74  65 6d 70 32 25 21 30 3d  |p2%.L..temp2%!0=|
0000b440  77 6e 6c 64 69 73 74 68  25 0d 4c d6 20 c8 99 22  |wnldisth%.L. .."|
0000b450  57 69 6d 70 5f 43 6c 6f  73 65 57 69 6e 64 6f 77  |Wimp_CloseWindow|
0000b460  22 2c 2c 74 65 6d 70 32  25 0d 4c e0 15 74 65 6d  |",,temp2%.L..tem|
0000b470  70 32 25 21 30 3d 77 73  74 61 74 73 68 25 0d 4c  |p2%!0=wstatsh%.L|
0000b480  ea 0e 74 65 6d 70 32 25  21 34 3d 38 0d 4c f4 21  |..temp2%!4=8.L.!|
0000b490  c8 99 22 57 69 6d 70 5f  47 65 74 49 63 6f 6e 53  |.."Wimp_GetIconS|
0000b4a0  74 61 74 65 22 2c 2c 74  65 6d 70 32 25 0d 4c fe  |tate",,temp2%.L.|
0000b4b0  16 24 28 21 28 74 65 6d  70 32 25 2b 32 38 29 29  |.$(!(temp2%+28))|
0000b4c0  3d 22 22 0d 4d 08 17 74  65 6d 70 25 21 30 3d 77  |="".M..temp%!0=w|
0000b4d0  73 61 76 65 61 73 73 68  68 25 0d 4d 12 0d 74 65  |saveasshh%.M..te|
0000b4e0  6d 70 25 21 34 3d 31 0d  4d 1c 20 c8 99 22 57 69  |mp%!4=1.M. .."Wi|
0000b4f0  6d 70 5f 47 65 74 49 63  6f 6e 53 74 61 74 65 22  |mp_GetIconState"|
0000b500  2c 2c 74 65 6d 70 25 0d  4d 26 17 24 28 74 65 6d  |,,temp%.M&.$(tem|
0000b510  70 25 21 32 38 29 3d 22  53 68 65 65 74 22 0d 4d  |p%!28)="Sheet".M|
0000b520  30 30 c8 99 22 57 69 6d  70 5f 46 6f 72 63 65 52  |00.."Wimp_ForceR|
0000b530  65 64 72 61 77 22 2c 77  73 74 61 74 73 68 25 2c  |edraw",wstatsh%,|
0000b540  30 2c 2d 34 30 30 30 2c  34 30 30 30 2c 30 0d 4d  |0,-4000,4000,0.M|
0000b550  3a 23 c8 99 22 57 69 6d  70 5f 53 65 74 43 61 72  |:#.."Wimp_SetCar|
0000b560  65 74 50 6f 73 69 74 69  6f 6e 22 2c 2d 31 2c 2d  |etPosition",-1,-|
0000b570  31 0d 4d 44 14 74 65 6d  70 32 25 21 30 3d 77 77  |1.MD.temp2%!0=ww|
0000b580  6f 72 6b 68 25 0d 4d 4e  15 e3 54 25 3d 30 b8 6d  |orkh%.MN..T%=0.m|
0000b590  61 78 69 63 6f 6e 73 25  2d 31 0d 4d 58 47 20 20  |axicons%-1.MXG  |
0000b5a0  e7 20 69 63 6f 6e 69 6e  66 6f 25 21 28 54 25 2a  |. iconinfo%!(T%*|
0000b5b0  33 32 29 3c 3e 2d 31 20  8c 20 74 65 6d 70 32 25  |32)<>-1 . temp2%|
0000b5c0  21 34 3d 54 25 3a c8 99  22 57 69 6d 70 5f 44 65  |!4=T%:.."Wimp_De|
0000b5d0  6c 65 74 65 49 63 6f 6e  22 2c 2c 74 65 6d 70 32  |leteIcon",,temp2|
0000b5e0  25 0d 4d 62 07 ed 54 25  0d 4d 6c 0f 63 6f 6e 73  |%.Mb..T%.Ml.cons|
0000b5f0  74 70 74 72 25 3d 30 0d  4d 76 10 6d 63 6f 6e 73  |tptr%=0.Mv.mcons|
0000b600  74 70 74 72 25 3d 30 0d  4d 80 0d 76 63 6f 70 74  |tptr%=0.M..vcopt|
0000b610  72 25 3d 30 0d 4d 8a 0c  65 67 70 74 72 25 3d 30  |r%=0.M..egptr%=0|
0000b620  0d 4d 94 10 76 63 6f 6c  61 73 74 78 25 3d 2d 31  |.M..vcolastx%=-1|
0000b630  0d 4d 9e 10 76 63 6f 6c  61 73 74 79 25 3d 2d 31  |.M..vcolasty%=-1|
0000b640  0d 4d a8 2e e3 54 25 3d  30 b8 6d 61 78 69 63 6f  |.M...T%=0.maxico|
0000b650  6e 73 25 2a 33 32 2d 34  88 34 3a 69 63 6f 6e 69  |ns%*32-4.4:iconi|
0000b660  6e 66 6f 25 21 54 25 3d  2d 31 3a ed 54 25 0d 4d  |nfo%!T%=-1:.T%.M|
0000b670  b2 10 41 25 3d 66 72 65  65 70 6f 6f 6c 25 0d 4d  |..A%=freepool%.M|
0000b680  bc 14 42 25 3d 6d 61 78  69 63 6f 6e 73 25 2a 35  |..B%=maxicons%*5|
0000b690  34 30 0d 4d c6 0d d6 20  69 6e 69 74 6d 65 6d 0d  |40.M... initmem.|
0000b6a0  4d d0 1d 24 28 77 77 6f  72 6b 25 21 37 32 29 3d  |M..$(wwork%!72)=|
0000b6b0  22 3c 55 6e 74 69 74 6c  65 64 3e 22 0d 4d da 1b  |"<Untitled>".M..|
0000b6c0  73 68 65 65 74 6e 61 6d  65 24 3d 22 3c 55 6e 74  |sheetname$="<Unt|
0000b6d0  69 74 6c 65 64 3e 22 0d  4d e4 13 74 65 6d 70 25  |itled>".M..temp%|
0000b6e0  21 30 3d 77 77 6f 72 6b  68 25 0d 4d ee 24 c8 99  |!0=wworkh%.M.$..|
0000b6f0  22 57 69 6d 70 5f 47 65  74 57 69 6e 64 6f 77 4f  |"Wimp_GetWindowO|
0000b700  75 74 6c 69 6e 65 22 2c  2c 74 65 6d 70 25 0d 4d  |utline",,temp%.M|
0000b710  f8 41 c8 99 22 57 69 6d  70 5f 46 6f 72 63 65 52  |.A.."Wimp_ForceR|
0000b720  65 64 72 61 77 22 2c 2d  31 2c 74 65 6d 70 25 21  |edraw",-1,temp%!|
0000b730  34 2c 74 65 6d 70 25 21  31 36 2d 34 34 2c 74 65  |4,temp%!16-44,te|
0000b740  6d 70 25 21 31 32 2c 74  65 6d 70 25 21 31 36 0d  |mp%!12,temp%!16.|
0000b750  4e 02 2f c8 99 22 57 69  6d 70 5f 46 6f 72 63 65  |N./.."Wimp_Force|
0000b760  52 65 64 72 61 77 22 2c  77 77 6f 72 6b 68 25 2c  |Redraw",wworkh%,|
0000b770  30 2c 2d 34 30 30 30 2c  34 30 30 30 2c 30 0d 4e  |0,-4000,4000,0.N|
0000b780  0c 12 73 68 65 65 74 73  61 76 65 64 25 3d 2d 31  |..sheetsaved%=-1|
0000b790  0d 4e 16 05 e1 0d 4e 20  04 0d 4e 2a 1e dd f2 4c  |.N....N ..N*...L|
0000b7a0  6f 61 64 54 65 6d 70 28  f8 20 73 74 61 72 74 25  |oadTemp(. start%|
0000b7b0  2c 6e 61 6d 65 24 29 0d  4e 34 11 24 74 6e 61 6d  |,name$).N4.$tnam|
0000b7c0  65 25 3d 6e 61 6d 65 24  0d 4e 3e 5a c8 99 22 57  |e%=name$.N>Z.."W|
0000b7d0  69 6d 70 5f 4c 6f 61 64  54 65 6d 70 6c 61 74 65  |imp_LoadTemplate|
0000b7e0  22 2c 2c 73 74 61 72 74  25 2c 69 63 62 75 66 6e  |",,start%,icbufn|
0000b7f0  25 2c 69 63 62 75 66 25  2b 34 30 30 30 2c 2d 31  |%,icbuf%+4000,-1|
0000b800  2c 74 6e 61 6d 65 25 2c  30 b8 2c 73 74 61 72 74  |,tname%,0.,start|
0000b810  25 2c 69 63 62 75 66 6e  25 2c 2c 2c 2c 6e 65 78  |%,icbufn%,,,,nex|
0000b820  74 25 0d 4e 48 49 e7 20  6e 65 78 74 25 3d 30 20  |t%.NHI. next%=0 |
0000b830  8c 20 c8 99 22 57 69 6d  70 5f 43 6c 6f 73 65 54  |. .."Wimp_CloseT|
0000b840  65 6d 70 6c 61 74 65 22  3a 85 20 30 2c 22 54 65  |emplate":. 0,"Te|
0000b850  6d 70 6c 61 74 65 20 22  2b 6e 61 6d 65 24 2b 22  |mplate "+name$+"|
0000b860  20 6e 6f 74 20 66 6f 75  6e 64 22 0d 4e 52 05 e1  | not found".NR..|
0000b870  0d 4e 5c 04 0d 4e 66 13  dd f2 52 65 70 6f 72 74  |.N\..Nf...Report|
0000b880  45 72 72 28 61 24 29 0d  4e 70 0e 74 65 6d 70 32  |Err(a$).Np.temp2|
0000b890  25 21 30 3d 30 0d 4e 7a  12 24 28 74 65 6d 70 32  |%!0=0.Nz.$(temp2|
0000b8a0  25 2b 34 29 3d 61 24 0d  4e 84 28 c8 99 22 57 69  |%+4)=a$.N.(.."Wi|
0000b8b0  6d 70 5f 52 65 70 6f 72  74 45 72 72 6f 72 22 2c  |mp_ReportError",|
0000b8c0  74 65 6d 70 32 25 2c 31  2c 22 53 46 58 4d 22 0d  |temp2%,1,"SFXM".|
0000b8d0  4e 8e 05 e1 0d 4e 98 04  0d 4e a2 11 dd a4 43 6f  |N....N...N....Co|
0000b8e0  6e 66 69 72 6d 28 61 24  29 0d 4e ac 0e 74 65 6d  |nfirm(a$).N..tem|
0000b8f0  70 32 25 21 30 3d 30 0d  4e b6 12 24 28 74 65 6d  |p2%!0=0.N..$(tem|
0000b900  70 32 25 2b 34 29 3d 61  24 0d 4e c0 34 c8 99 22  |p2%+4)=a$.N.4.."|
0000b910  57 69 6d 70 5f 52 65 70  6f 72 74 45 72 72 6f 72  |Wimp_ReportError|
0000b920  22 2c 74 65 6d 70 32 25  2c 25 31 30 30 31 31 2c  |",temp2%,%10011,|
0000b930  22 43 6f 6e 66 69 72 6d  22 b8 2c 41 25 0d 4e ca  |"Confirm".,A%.N.|
0000b940  07 3d 41 25 0d 4e d4 04  0d 4e de 10 dd a4 69 6e  |.=A%.N...N....in|
0000b950  74 65 72 72 28 61 24 29  0d 4e e8 0e 74 65 6d 70  |terr(a$).N..temp|
0000b960  32 25 21 30 3d 30 0d 4e  f2 12 24 28 74 65 6d 70  |2%!0=0.N..$(temp|
0000b970  32 25 2b 34 29 3d 61 24  0d 4e fc 41 c8 99 22 57  |2%+4)=a$.N.A.."W|
0000b980  69 6d 70 5f 52 65 70 6f  72 74 45 72 72 6f 72 22  |imp_ReportError"|
0000b990  2c 74 65 6d 70 32 25 2c  25 31 30 30 31 31 2c 22  |,temp2%,%10011,"|
0000b9a0  53 46 58 4d 20 49 6e 74  65 72 6e 61 6c 20 45 72  |SFXM Internal Er|
0000b9b0  72 6f 72 2e 22 b8 2c 41  25 0d 4f 06 07 3d 41 25  |ror.".,A%.O..=A%|
0000b9c0  0d 4f 10 04 0d 4f 1a 22  f4 20 74 69 74 6c 65 73  |.O...O.". titles|
0000b9d0  74 72 69 6e 67 2c 20 77  69 64 74 68 20 69 6e 20  |tring, width in |
0000b9e0  63 68 61 72 73 2e 0d 4f  24 15 dd a4 4d 65 6e 75  |chars..O$...Menu|
0000b9f0  48 65 61 64 28 74 24 2c  77 25 29 0d 4f 2e 08 ea  |Head(t$,w%).O...|
0000ba00  20 61 25 0d 4f 38 16 61  25 3d 4d 65 6e 75 73 25  | a%.O8.a%=Menus%|
0000ba10  2b 4d 65 6e 75 50 74 72  25 0d 4f 42 0a 24 61 25  |+MenuPtr%.OB.$a%|
0000ba20  3d 74 24 0d 4f 4c 0b 61  25 3f 31 32 3d 37 0d 4f  |=t$.OL.a%?12=7.O|
0000ba30  56 0b 61 25 3f 31 33 3d  32 0d 4f 60 0b 61 25 3f  |V.a%?13=2.O`.a%?|
0000ba40  31 34 3d 37 0d 4f 6a 0b  61 25 3f 31 35 3d 30 0d  |14=7.Oj.a%?15=0.|
0000ba50  4f 74 0f 61 25 21 31 36  3d 77 25 2a 31 36 0d 4f  |Ot.a%!16=w%*16.O|
0000ba60  7e 0c 61 25 21 32 30 3d  34 34 0d 4f 88 0b 61 25  |~.a%!20=44.O..a%|
0000ba70  21 32 34 3d 30 0d 4f 92  10 4d 65 6e 75 50 74 72  |!24=0.O..MenuPtr|
0000ba80  25 2b 3d 32 38 0d 4f 9c  07 3d 61 25 0d 4f a6 04  |%+=28.O..=a%.O..|
0000ba90  0d 4f b0 3b f4 20 69 74  65 6d 74 65 78 74 2c 20  |.O.;. itemtext, |
0000baa0  66 6c 61 67 73 2c 20 69  6e 64 69 72 65 63 74 65  |flags, indirecte|
0000bab0  64 2c 20 76 61 6c 2e 20  73 74 72 69 6e 67 2c 20  |d, val. string, |
0000bac0  6d 61 78 2e 20 6c 65 6e  67 74 68 0d 4f ba 1e dd  |max. length.O...|
0000bad0  f2 41 64 64 49 74 65 6d  28 69 24 2c 66 25 2c 69  |.AddItem(i$,f%,i|
0000bae0  25 2c 76 24 2c 6d 6c 25  29 0d 4f c4 08 ea 20 61  |%,v$,ml%).O... a|
0000baf0  25 0d 4f ce 16 61 25 3d  4d 65 6e 75 73 25 2b 4d  |%.O..a%=Menus%+M|
0000bb00  65 6e 75 50 74 72 25 0d  4f d8 2b e7 20 28 a9 28  |enuPtr%.O.+. (.(|
0000bb10  69 24 29 3e 31 31 29 80  28 69 25 3d 30 29 20 8c  |i$)>11).(i%=0) .|
0000bb20  20 69 25 3d 2d 31 3a 6d  6c 25 3d a9 28 69 24 29  | i%=-1:ml%=.(i$)|
0000bb30  2b 31 0d 4f e2 0f 61 25  21 30 3d 66 25 80 32 35  |+1.O..a%!0=f%.25|
0000bb40  35 0d 4f ec 0b 61 25 21  34 3d 2d 31 0d 4f f6 5e  |5.O..a%!4=-1.O.^|
0000bb50  e7 20 66 25 80 32 35 36  20 8c 20 61 25 21 38 3d  |. f%.256 . a%!8=|
0000bb60  25 30 30 30 30 30 31 31  31 30 31 30 30 30 30 30  |%000001110100000|
0000bb70  31 31 30 30 31 30 30 30  30 30 30 30 31 30 30 30  |1100100000001000|
0000bb80  31 20 8b 20 61 25 21 38  3d 25 30 30 30 30 30 31  |1 . a%!8=%000001|
0000bb90  31 31 30 30 30 30 30 30  30 31 31 30 30 31 30 30  |1100000001100100|
0000bba0  30 30 30 30 30 31 30 30  30 31 0d 50 00 0a e7 20  |0000010001.P... |
0000bbb0  69 25 20 8c 0d 50 0a 0f  20 20 61 25 21 38 2b 3d  |i% ..P..  a%!8+=|
0000bbc0  32 35 36 0d 50 14 22 20  20 24 28 4d 65 6e 75 44  |256.P."  $(MenuD|
0000bbd0  61 74 61 25 2b 4d 65 6e  75 44 61 74 61 50 74 72  |ata%+MenuDataPtr|
0000bbe0  25 29 3d 69 24 0d 50 1e  22 20 20 61 25 21 31 32  |%)=i$.P."  a%!12|
0000bbf0  3d 4d 65 6e 75 44 61 74  61 25 2b 4d 65 6e 75 44  |=MenuData%+MenuD|
0000bc00  61 74 61 50 74 72 25 0d  50 28 1b 20 20 4d 65 6e  |ataPtr%.P(.  Men|
0000bc10  75 44 61 74 61 50 74 72  25 2b 3d a9 28 69 24 29  |uDataPtr%+=.(i$)|
0000bc20  2b 31 0d 50 32 22 20 20  24 28 4d 65 6e 75 44 61  |+1.P2"  $(MenuDa|
0000bc30  74 61 25 2b 4d 65 6e 75  44 61 74 61 50 74 72 25  |ta%+MenuDataPtr%|
0000bc40  29 3d 76 24 0d 50 3c 22  20 20 61 25 21 31 36 3d  |)=v$.P<"  a%!16=|
0000bc50  4d 65 6e 75 44 61 74 61  25 2b 4d 65 6e 75 44 61  |MenuData%+MenuDa|
0000bc60  74 61 50 74 72 25 0d 50  46 1b 20 20 4d 65 6e 75  |taPtr%.PF.  Menu|
0000bc70  44 61 74 61 50 74 72 25  2b 3d a9 28 76 24 29 2b  |DataPtr%+=.(v$)+|
0000bc80  31 0d 50 50 0f 20 20 61  25 21 32 30 3d 6d 6c 25  |1.PP.  a%!20=ml%|
0000bc90  0d 50 5a 05 cc 0d 50 64  11 20 20 24 28 61 25 2b  |.PZ...Pd.  $(a%+|
0000bca0  31 32 29 3d 69 24 0d 50  6e 05 cd 0d 50 78 10 4d  |12)=i$.Pn...Px.M|
0000bcb0  65 6e 75 50 74 72 25 2b  3d 32 34 0d 50 82 05 e1  |enuPtr%+=24.P...|
0000bcc0  0d 50 8c 04 0d 50 96 20  f4 20 6d 65 6e 75 2c 20  |.P...P. . menu, |
0000bcd0  69 74 65 6d 2c 20 73 75  62 6d 65 6e 75 70 6f 69  |item, submenupoi|
0000bce0  6e 74 65 72 0d 50 a0 1a  dd f2 41 64 64 53 75 62  |nter.P....AddSub|
0000bcf0  4d 65 6e 75 28 6d 25 2c  69 25 2c 70 25 29 0d 50  |Menu(m%,i%,p%).P|
0000bd00  aa 16 6d 25 21 28 32 38  2b 32 34 2a 69 25 2b 34  |..m%!(28+24*i%+4|
0000bd10  29 3d 70 25 0d 50 b4 05  e1 0d 50 be 04 0d 50 c8  |)=p%.P....P...P.|
0000bd20  0b dd f2 4d 65 6e 75 73  0d 50 d2 14 de 20 4d 65  |...Menus.P... Me|
0000bd30  6e 75 44 61 74 61 25 20  32 30 30 30 0d 50 dc 11  |nuData% 2000.P..|
0000bd40  de 20 4d 65 6e 75 73 25  20 32 30 30 30 0d 50 e6  |. Menus% 2000.P.|
0000bd50  12 4d 65 6e 75 44 61 74  61 50 74 72 25 3d 30 0d  |.MenuDataPtr%=0.|
0000bd60  50 f0 0e 4d 65 6e 75 50  74 72 25 3d 30 0d 50 fa  |P..MenuPtr%=0.P.|
0000bd70  21 69 63 6f 6e 6d 65 6e  75 25 3d a4 4d 65 6e 75  |!iconmenu%=.Menu|
0000bd80  48 65 61 64 28 22 53 46  58 4d 22 2c 38 29 0d 51  |Head("SFXM",8).Q|
0000bd90  04 1d f2 41 64 64 49 74  65 6d 28 22 49 6e 66 6f  |...AddItem("Info|
0000bda0  22 2c 30 2c 30 2c 22 22  2c 30 29 0d 51 0e 1f f2  |",0,0,"",0).Q...|
0000bdb0  41 64 64 49 74 65 6d 28  22 53 61 76 65 22 2c 32  |AddItem("Save",2|
0000bdc0  35 36 2c 30 2c 22 22 2c  30 29 0d 51 18 20 f2 41  |56,0,"",0).Q. .A|
0000bdd0  64 64 49 74 65 6d 28 22  52 65 73 74 61 72 74 22  |ddItem("Restart"|
0000bde0  2c 30 2c 30 2c 22 22 2c  30 29 0d 51 22 1f f2 41  |,0,0,"",0).Q"..A|
0000bdf0  64 64 49 74 65 6d 28 22  51 75 69 74 22 2c 31 32  |ddItem("Quit",12|
0000be00  38 2c 30 2c 22 22 2c 30  29 0d 51 2c 25 f2 41 64  |8,0,"",0).Q,%.Ad|
0000be10  64 53 75 62 4d 65 6e 75  28 69 63 6f 6e 6d 65 6e  |dSubMenu(iconmen|
0000be20  75 25 2c 30 2c 77 61 62  6f 75 74 68 25 29 0d 51  |u%,0,wabouth%).Q|
0000be30  36 28 f2 41 64 64 53 75  62 4d 65 6e 75 28 69 63  |6(.AddSubMenu(ic|
0000be40  6f 6e 6d 65 6e 75 25 2c  31 2c 77 73 61 76 65 61  |onmenu%,1,wsavea|
0000be50  73 73 68 68 25 29 0d 51  40 04 0d 51 4a 22 77 6f  |sshh%).Q@..QJ"wo|
0000be60  72 6b 6d 65 6e 75 25 3d  a4 4d 65 6e 75 48 65 61  |rkmenu%=.MenuHea|
0000be70  64 28 22 53 46 58 4d 22  2c 31 31 29 0d 51 54 1e  |d("SFXM",11).QT.|
0000be80  f2 41 64 64 49 74 65 6d  28 22 50 6c 61 63 65 22  |.AddItem("Place"|
0000be90  2c 30 2c 30 2c 22 22 2c  30 29 0d 51 5e 1f f2 41  |,0,0,"",0).Q^..A|
0000bea0  64 64 49 74 65 6d 28 22  53 65 6c 65 63 74 22 2c  |ddItem("Select",|
0000beb0  30 2c 30 2c 22 22 2c 30  29 0d 51 68 23 f2 41 64  |0,0,"",0).Qh#.Ad|
0000bec0  64 49 74 65 6d 28 22 43  6f 6e 6e 65 63 74 69 6f  |dItem("Connectio|
0000bed0  6e 22 2c 30 2c 30 2c 22  22 2c 30 29 0d 51 72 22  |n",0,0,"",0).Qr"|
0000bee0  f2 41 64 64 49 74 65 6d  28 22 43 61 6c 63 75 6c  |.AddItem("Calcul|
0000bef0  61 74 65 22 2c 30 2c 30  2c 22 22 2c 30 29 0d 51  |ate",0,0,"",0).Q|
0000bf00  7c 25 f2 41 64 64 49 74  65 6d 28 22 53 68 6f 77  ||%.AddItem("Show|
0000bf10  20 54 6f 6f 6c 73 22 2c  31 32 39 2c 30 2c 22 22  | Tools",129,0,""|
0000bf20  2c 30 29 0d 51 86 22 61  64 64 6d 65 6e 75 25 3d  |,0).Q."addmenu%=|
0000bf30  a4 4d 65 6e 75 48 65 61  64 28 22 50 6c 61 63 65  |.MenuHead("Place|
0000bf40  22 2c 32 30 29 0d 51 90  23 f2 41 64 64 49 74 65  |",20).Q.#.AddIte|
0000bf50  6d 28 22 4f 73 63 69 6c  6c 61 74 6f 72 22 2c 30  |m("Oscillator",0|
0000bf60  2c 30 2c 22 22 2c 30 29  0d 51 9a 2a f2 41 64 64  |,0,"",0).Q.*.Add|
0000bf70  49 74 65 6d 28 22 4e 6f  69 73 65 20 47 65 6e 65  |Item("Noise Gene|
0000bf80  72 61 74 6f 72 22 2c 32  35 36 2c 30 2c 22 22 2c  |rator",256,0,"",|
0000bf90  30 29 0d 51 a4 2b f2 41  64 64 49 74 65 6d 28 22  |0).Q.+.AddItem("|
0000bfa0  45 6e 76 65 6c 6f 70 65  20 47 65 6e 65 72 61 74  |Envelope Generat|
0000bfb0  6f 72 22 2c 30 2c 30 2c  22 22 2c 30 29 0d 51 ae  |or",0,0,"",0).Q.|
0000bfc0  2b f2 41 64 64 49 74 65  6d 28 22 43 6f 6e 73 74  |+.AddItem("Const|
0000bfd0  61 6e 74 20 47 65 6e 65  72 61 74 6f 72 22 2c 30  |ant Generator",0|
0000bfe0  2c 30 2c 22 22 2c 30 29  0d 51 b8 28 f2 41 64 64  |,0,"",0).Q.(.Add|
0000bff0  49 74 65 6d 28 22 4c 6f  77 20 50 61 73 73 20 46  |Item("Low Pass F|
0000c000  69 6c 74 65 72 22 2c 30  2c 30 2c 22 22 2c 30 29  |ilter",0,0,"",0)|
0000c010  0d 51 c2 2b f2 41 64 64  49 74 65 6d 28 22 48 69  |.Q.+.AddItem("Hi|
0000c020  67 68 20 50 61 73 73 20  46 69 6c 74 65 72 22 2c  |gh Pass Filter",|
0000c030  32 35 36 2c 30 2c 22 22  2c 30 29 0d 51 cc 23 f2  |256,0,"",0).Q.#.|
0000c040  41 64 64 49 74 65 6d 28  22 4d 75 6c 74 69 70 6c  |AddItem("Multipl|
0000c050  69 65 72 22 2c 30 2c 30  2c 22 22 2c 30 29 0d 51  |ier",0,0,"",0).Q|
0000c060  d6 2c f2 41 64 64 49 74  65 6d 28 22 43 6f 6e 73  |.,.AddItem("Cons|
0000c070  74 61 6e 74 20 4d 75 6c  74 69 70 6c 69 65 72 22  |tant Multiplier"|
0000c080  2c 30 2c 30 2c 22 22 2c  30 29 0d 51 e0 1e f2 41  |,0,0,"",0).Q...A|
0000c090  64 64 49 74 65 6d 28 22  41 64 64 65 72 22 2c 30  |ddItem("Adder",0|
0000c0a0  2c 30 2c 22 22 2c 30 29  0d 51 ea 23 f2 41 64 64  |,0,"",0).Q.#.Add|
0000c0b0  49 74 65 6d 28 22 53 75  62 74 72 61 63 74 6f 72  |Item("Subtractor|
0000c0c0  22 2c 30 2c 30 2c 22 22  2c 30 29 0d 51 f4 28 f2  |",0,0,"",0).Q.(.|
0000c0d0  41 64 64 49 74 65 6d 28  22 53 61 6d 70 6c 65 20  |AddItem("Sample |
0000c0e0  26 20 48 6f 6c 64 22 2c  32 35 36 2c 30 2c 22 22  |& Hold",256,0,""|
0000c0f0  2c 30 29 0d 51 fe 2b f2  41 64 64 49 74 65 6d 28  |,0).Q.+.AddItem(|
0000c100  22 47 65 6e 65 72 61 6c  20 46 75 6e 63 74 69 6f  |"General Functio|
0000c110  6e 22 2c 32 35 36 2c 30  2c 22 22 2c 30 29 0d 52  |n",256,0,"",0).R|
0000c120  08 28 f2 41 64 64 49 74  65 6d 28 22 50 75 6c 73  |.(.AddItem("Puls|
0000c130  65 20 47 65 6e 65 72 61  74 6f 72 22 2c 30 2c 30  |e Generator",0,0|
0000c140  2c 22 22 2c 30 29 0d 52  12 25 f2 41 64 64 49 74  |,"",0).R.%.AddIt|
0000c150  65 6d 28 22 44 65 6c 61  79 20 4c 69 6e 65 22 2c  |em("Delay Line",|
0000c160  32 35 36 2c 30 2c 22 22  2c 30 29 0d 52 1c 1f f2  |256,0,"",0).R...|
0000c170  41 64 64 49 74 65 6d 28  22 4f 75 74 70 75 74 22  |AddItem("Output"|
0000c180  2c 30 2c 30 2c 22 22 2c  30 29 0d 52 26 24 f2 41  |,0,0,"",0).R&$.A|
0000c190  64 64 49 74 65 6d 28 22  49 6e 70 75 74 22 2c 31  |ddItem("Input",1|
0000c1a0  32 38 2b 32 35 36 2c 30  2c 22 22 2c 30 29 0d 52  |28+256,0,"",0).R|
0000c1b0  30 23 73 65 6c 6d 65 6e  75 25 3d a4 4d 65 6e 75  |0#selmenu%=.Menu|
0000c1c0  48 65 61 64 28 22 53 65  6c 65 63 74 22 2c 31 35  |Head("Select",15|
0000c1d0  29 0d 52 3a 1c f2 41 64  64 49 74 65 6d 28 22 41  |).R:..AddItem("A|
0000c1e0  6c 6c 22 2c 30 2c 30 2c  22 22 2c 30 29 0d 52 44  |ll",0,0,"",0).RD|
0000c1f0  1e f2 41 64 64 49 74 65  6d 28 22 43 6c 65 61 72  |..AddItem("Clear|
0000c200  22 2c 30 2c 30 2c 22 22  2c 30 29 0d 52 4e 1d f2  |",0,0,"",0).RN..|
0000c210  41 64 64 49 74 65 6d 28  22 53 77 61 70 22 2c 30  |AddItem("Swap",0|
0000c220  2c 30 2c 22 22 2c 30 29  0d 52 58 27 f2 41 64 64  |,0,"",0).RX'.Add|
0000c230  49 74 65 6d 28 22 44 65  6c 65 74 65 20 4f 62 6a  |Item("Delete Obj|
0000c240  65 63 74 73 22 2c 30 2c  30 2c 22 22 2c 30 29 0d  |ects",0,0,"",0).|
0000c250  52 62 28 f2 41 64 64 49  74 65 6d 28 22 44 65 6c  |Rb(.AddItem("Del|
0000c260  65 74 65 20 49 6e 70 75  74 73 22 2c 31 32 38 2c  |ete Inputs",128,|
0000c270  30 2c 22 22 2c 30 29 0d  52 6c 25 f2 41 64 64 53  |0,"",0).Rl%.AddS|
0000c280  75 62 4d 65 6e 75 28 77  6f 72 6b 6d 65 6e 75 25  |ubMenu(workmenu%|
0000c290  2c 30 2c 61 64 64 6d 65  6e 75 25 29 0d 52 76 25  |,0,addmenu%).Rv%|
0000c2a0  f2 41 64 64 53 75 62 4d  65 6e 75 28 77 6f 72 6b  |.AddSubMenu(work|
0000c2b0  6d 65 6e 75 25 2c 31 2c  73 65 6c 6d 65 6e 75 25  |menu%,1,selmenu%|
0000c2c0  29 0d 52 80 05 e1 0d 52  8a 04 0d 52 94 22 dd f2  |).R....R...R."..|
0000c2d0  52 65 64 72 61 77 4c 69  6e 65 73 28 78 31 25 2c  |RedrawLines(x1%,|
0000c2e0  79 31 25 2c 78 32 25 2c  79 32 25 29 0d 52 9e 14  |y1%,x2%,y2%).R..|
0000c2f0  74 65 6d 70 32 25 21 30  3d 77 77 6f 72 6b 68 25  |temp2%!0=wworkh%|
0000c300  0d 52 a8 23 c8 99 22 57  69 6d 70 5f 47 65 74 57  |.R.#.."Wimp_GetW|
0000c310  69 6e 64 6f 77 53 74 61  74 65 22 2c 2c 74 65 6d  |indowState",,tem|
0000c320  70 32 25 0d 52 b2 18 c8  99 22 57 69 6d 70 5f 53  |p2%.R...."Wimp_S|
0000c330  65 74 43 6f 6c 6f 75 72  22 2c 37 0d 52 bc 19 41  |etColour",7.R..A|
0000c340  25 3d 74 65 6d 70 32 25  21 34 2d 74 65 6d 70 32  |%=temp2%!4-temp2|
0000c350  25 21 32 30 0d 52 c6 1a  42 25 3d 74 65 6d 70 32  |%!20.R..B%=temp2|
0000c360  25 21 31 36 2d 74 65 6d  70 32 25 21 32 34 0d 52  |%!16-temp2%!24.R|
0000c370  d0 0a 43 25 3d 78 31 25  0d 52 da 0a 44 25 3d 79  |..C%=x1%.R..D%=y|
0000c380  31 25 0d 52 e4 0a 45 25  3d 78 32 25 0d 52 ee 0a  |1%.R..E%=x2%.R..|
0000c390  46 25 3d 79 32 25 0d 52  f8 10 47 25 3d 69 63 6f  |F%=y2%.R..G%=ico|
0000c3a0  6e 69 6e 66 6f 25 0d 53  02 0b d6 72 65 64 72 6c  |ninfo%.S...redrl|
0000c3b0  6e 0d 53 0c 05 e1 0d 53  16 04 0d 53 20 12 dd a4  |n.S....S...S ...|
0000c3c0  41 6c 6c 6f 63 28 73 69  7a 65 25 29 0d 53 2a 0c  |Alloc(size%).S*.|
0000c3d0  41 25 3d 73 69 7a 65 25  0d 53 34 10 3d ba 28 61  |A%=size%.S4.=.(a|
0000c3e0  6c 6c 6f 63 6d 65 6d 29  0d 53 3e 04 0d 53 48 10  |llocmem).S>..SH.|
0000c3f0  dd f2 46 72 65 65 28 6c  6f 63 25 29 0d 53 52 0b  |..Free(loc%).SR.|
0000c400  41 25 3d 6c 6f 63 25 0d  53 5c 0c d6 66 72 65 65  |A%=loc%.S\..free|
0000c410  6d 65 6d 0d 53 66 05 e1  0d 53 70 04 0d 53 7a 0b  |mem.Sf...Sp..Sz.|
0000c420  dd f2 41 73 73 65 6d 0d  53 84 10 de 20 63 6f 64  |..Assem.S... cod|
0000c430  65 25 20 33 30 30 30 0d  53 8e 11 e3 20 70 61 73  |e% 3000.S... pas|
0000c440  73 25 3d 30 b8 32 88 32  0d 53 98 0c 50 25 3d 63  |s%=0.2.2.S..P%=c|
0000c450  6f 64 65 25 0d 53 a2 19  5b 20 20 20 20 20 20 20  |ode%.S..[       |
0000c460  6f 70 74 20 20 20 20 20  70 61 73 73 25 0d 53 ac  |opt     pass%.S.|
0000c470  04 0d 53 b6 25 2e 72 65  64 72 6c 6e 20 73 74 6d  |..S.%.redrln stm|
0000c480  66 64 20 20 20 72 31 33  21 2c 7b 72 30 2d 72 31  |fd   r13!,{r0-r1|
0000c490  32 2c 72 31 34 7d 0d 53  c0 19 20 20 20 20 20 20  |2,r14}.S..      |
0000c4a0  20 20 6d 6f 76 20 20 20  20 20 72 37 2c 23 30 0d  |  mov     r7,#0.|
0000c4b0  53 ca 23 2e 63 68 6b 69  63 6e 20 61 64 64 20 20  |S.#.chkicn add  |
0000c4c0  20 20 20 72 38 2c 72 36  2c 72 37 2c 6c 73 6c 20  |   r8,r6,r7,lsl |
0000c4d0  23 35 0d 53 d4 1e 20 20  20 20 20 20 20 20 6c 64  |#5.S..        ld|
0000c4e0  72 20 20 20 20 20 72 39  2c 5b 72 38 2c 23 30 5d  |r     r9,[r8,#0]|
0000c4f0  0d 53 de 19 20 20 20 20  20 20 20 20 63 6d 6e 20  |.S..        cmn |
0000c500  20 20 20 20 72 39 2c 23  31 0d 53 e8 1a 20 20 20  |    r9,#1.S..   |
0000c510  20 20 20 20 20 62 65 71  20 20 20 20 20 6e 78 74  |     beq     nxt|
0000c520  69 63 6e 0d 53 f2 19 20  20 20 20 20 20 20 20 63  |icn.S..        c|
0000c530  6d 70 6e 65 20 20 20 72  39 2c 23 32 0d 53 fc 19  |mpne   r9,#2.S..|
0000c540  20 20 20 20 20 20 20 20  63 6d 70 6e 65 20 20 20  |        cmpne   |
0000c550  72 39 2c 23 35 0d 54 06  1a 20 20 20 20 20 20 20  |r9,#5.T..       |
0000c560  20 62 65 71 20 20 20 20  20 6e 78 74 69 63 6e 0d  | beq     nxticn.|
0000c570  54 10 1f 20 20 20 20 20  20 20 20 6c 64 72 20 20  |T..        ldr  |
0000c580  20 20 20 72 39 2c 5b 72  38 2c 23 31 36 5d 0d 54  |   r9,[r8,#16].T|
0000c590  1a 19 20 20 20 20 20 20  20 20 63 6d 6e 20 20 20  |..        cmn   |
0000c5a0  20 20 72 39 2c 23 31 0d  54 24 1a 20 20 20 20 20  |  r9,#1.T$.     |
0000c5b0  20 20 20 62 65 71 20 20  20 20 20 6e 6f 69 6e 70  |   beq     noinp|
0000c5c0  31 0d 54 2e 1f 20 20 20  20 20 20 20 20 6c 64 72  |1.T..        ldr|
0000c5d0  20 20 20 20 20 72 39 2c  5b 72 38 2c 23 32 38 5d  |     r9,[r8,#28]|
0000c5e0  0d 54 38 1c 20 20 20 20  20 20 20 20 61 6e 64 20  |.T8.        and |
0000c5f0  20 20 20 20 72 39 2c 72  39 2c 23 33 0d 54 42 1d  |    r9,r9,#3.TB.|
0000c600  20 20 20 20 20 20 20 20  73 74 72 20 20 20 20 20  |        str     |
0000c610  72 39 2c 6c 69 6e 74 79  70 0d 54 4c 1b 20 20 20  |r9,lintyp.TL.   |
0000c620  20 20 20 20 20 6c 64 72  20 20 20 20 20 72 39 2c  |     ldr     r9,|
0000c630  5b 72 38 5d 0d 54 56 19  20 20 20 20 20 20 20 20  |[r8].TV.        |
0000c640  63 6d 70 20 20 20 20 20  72 39 2c 23 30 0d 54 60  |cmp     r9,#0.T`|
0000c650  19 20 20 20 20 20 20 20  20 63 6d 70 6e 65 20 20  |.        cmpne  |
0000c660  20 72 39 2c 23 33 0d 54  6a 19 20 20 20 20 20 20  | r9,#3.Tj.      |
0000c670  20 20 63 6d 70 6e 65 20  20 20 72 39 2c 23 34 0d  |  cmpne   r9,#4.|
0000c680  54 74 19 20 20 20 20 20  20 20 20 63 6d 70 6e 65  |Tt.        cmpne|
0000c690  20 20 20 72 39 2c 23 36  0d 54 7e 19 20 20 20 20  |   r9,#6.T~.    |
0000c6a0  20 20 20 20 63 6d 70 6e  65 20 20 20 72 39 2c 23  |    cmpne   r9,#|
0000c6b0  38 0d 54 88 1a 20 20 20  20 20 20 20 20 63 6d 70  |8.T..        cmp|
0000c6c0  6e 65 20 20 20 72 39 2c  23 31 33 0d 54 92 1a 20  |ne   r9,#13.T.. |
0000c6d0  20 20 20 20 20 20 20 63  6d 70 6e 65 20 20 20 72  |       cmpne   r|
0000c6e0  39 2c 23 31 34 0d 54 9c  1a 20 20 20 20 20 20 20  |9,#14.T..       |
0000c6f0  20 63 6d 70 6e 65 20 20  20 72 39 2c 23 31 35 0d  | cmpne   r9,#15.|
0000c700  54 a6 1a 20 20 20 20 20  20 20 20 63 6d 70 6e 65  |T..        cmpne|
0000c710  20 20 20 72 39 2c 23 31  37 0d 54 b0 1e 20 20 20  |   r9,#17.T..   |
0000c720  20 20 20 20 20 6c 64 72  20 20 20 20 20 72 39 2c  |     ldr     r9,|
0000c730  5b 72 38 2c 23 34 5d 0d  54 ba 1c 20 20 20 20 20  |[r8,#4].T..     |
0000c740  20 20 20 73 75 62 20 20  20 20 20 72 39 2c 72 39  |   sub     r9,r9|
0000c750  2c 23 32 0d 54 c4 1f 20  20 20 20 20 20 20 20 6c  |,#2.T..        l|
0000c760  64 72 20 20 20 20 20 72  31 30 2c 5b 72 38 2c 23  |dr     r10,[r8,#|
0000c770  38 5d 0d 54 ce 20 20 20  20 20 20 20 20 20 61 64  |8].T.         ad|
0000c780  64 65 71 20 20 20 72 31  30 2c 72 31 30 2c 23 39  |deq   r10,r10,#9|
0000c790  2a 34 0d 54 d8 20 20 20  20 20 20 20 20 20 61 64  |*4.T.         ad|
0000c7a0  64 6e 65 20 20 20 72 31  30 2c 72 31 30 2c 23 36  |dne   r10,r10,#6|
0000c7b0  2a 34 0d 54 e2 20 20 20  20 20 20 20 20 20 6c 64  |*4.T.         ld|
0000c7c0  72 20 20 20 20 20 72 31  31 2c 5b 72 38 2c 23 31  |r     r11,[r8,#1|
0000c7d0  36 5d 0d 54 ec 25 20 20  20 20 20 20 20 20 61 64  |6].T.%        ad|
0000c7e0  64 20 20 20 20 20 72 31  31 2c 72 36 2c 72 31 31  |d     r11,r6,r11|
0000c7f0  2c 6c 73 6c 20 23 35 0d  54 f6 20 20 20 20 20 20  |,lsl #5.T.      |
0000c800  20 20 20 6c 64 72 20 20  20 20 20 72 31 32 2c 5b  |   ldr     r12,[|
0000c810  72 31 31 2c 23 38 5d 0d  55 00 20 20 20 20 20 20  |r11,#8].U.      |
0000c820  20 20 20 6c 64 72 20 20  20 20 20 72 31 31 2c 5b  |   ldr     r11,[|
0000c830  72 31 31 2c 23 34 5d 0d  55 0a 21 20 20 20 20 20  |r11,#4].U.!     |
0000c840  20 20 20 61 64 64 20 20  20 20 20 72 31 31 2c 72  |   add     r11,r|
0000c850  31 31 2c 23 34 36 2a 32  0d 55 14 20 20 20 20 20  |11,#46*2.U.     |
0000c860  20 20 20 20 61 64 64 20  20 20 20 20 72 31 32 2c  |    add     r12,|
0000c870  72 31 32 2c 23 36 2a 34  0d 55 1e 1a 20 20 20 20  |r12,#6*4.U..    |
0000c880  20 20 20 20 62 6c 20 20  20 20 20 20 63 74 6c 69  |    bl      ctli|
0000c890  6e 65 0d 55 28 1f 2e 6e  6f 69 6e 70 31 20 6c 64  |ne.U(..noinp1 ld|
0000c8a0  72 20 20 20 20 20 72 39  2c 5b 72 38 2c 23 32 30  |r     r9,[r8,#20|
0000c8b0  5d 0d 55 32 19 20 20 20  20 20 20 20 20 63 6d 6e  |].U2.        cmn|
0000c8c0  20 20 20 20 20 72 39 2c  23 31 0d 55 3c 1a 20 20  |     r9,#1.U<.  |
0000c8d0  20 20 20 20 20 20 62 65  71 20 20 20 20 20 6e 6f  |      beq     no|
0000c8e0  69 6e 70 32 0d 55 46 1f  20 20 20 20 20 20 20 20  |inp2.UF.        |
0000c8f0  6c 64 72 20 20 20 20 20  72 39 2c 5b 72 38 2c 23  |ldr     r9,[r8,#|
0000c900  32 38 5d 0d 55 50 20 20  20 20 20 20 20 20 20 6d  |28].UP         m|
0000c910  6f 76 20 20 20 20 20 72  39 2c 72 39 2c 6c 73 72  |ov     r9,r9,lsr|
0000c920  20 23 32 0d 55 5a 1c 20  20 20 20 20 20 20 20 61  | #2.UZ.        a|
0000c930  6e 64 20 20 20 20 20 72  39 2c 72 39 2c 23 33 0d  |nd     r9,r9,#3.|
0000c940  55 64 1d 20 20 20 20 20  20 20 20 73 74 72 20 20  |Ud.        str  |
0000c950  20 20 20 72 39 2c 6c 69  6e 74 79 70 0d 55 6e 1e  |   r9,lintyp.Un.|
0000c960  20 20 20 20 20 20 20 20  6c 64 72 20 20 20 20 20  |        ldr     |
0000c970  72 39 2c 5b 72 38 2c 23  34 5d 0d 55 78 1c 20 20  |r9,[r8,#4].Ux.  |
0000c980  20 20 20 20 20 20 73 75  62 20 20 20 20 20 72 39  |      sub     r9|
0000c990  2c 72 39 2c 23 32 0d 55  82 1f 20 20 20 20 20 20  |,r9,#2.U..      |
0000c9a0  20 20 6c 64 72 20 20 20  20 20 72 31 30 2c 5b 72  |  ldr     r10,[r|
0000c9b0  38 2c 23 38 5d 0d 55 8c  20 20 20 20 20 20 20 20  |8,#8].U.        |
0000c9c0  20 61 64 64 20 20 20 20  20 72 31 30 2c 72 31 30  | add     r10,r10|
0000c9d0  2c 23 33 2a 34 0d 55 96  20 20 20 20 20 20 20 20  |,#3*4.U.        |
0000c9e0  20 6c 64 72 20 20 20 20  20 72 31 31 2c 5b 72 38  | ldr     r11,[r8|
0000c9f0  2c 23 32 30 5d 0d 55 a0  25 20 20 20 20 20 20 20  |,#20].U.%       |
0000ca00  20 61 64 64 20 20 20 20  20 72 31 31 2c 72 36 2c  | add     r11,r6,|
0000ca10  72 31 31 2c 6c 73 6c 20  23 35 0d 55 aa 20 20 20  |r11,lsl #5.U.   |
0000ca20  20 20 20 20 20 20 6c 64  72 20 20 20 20 20 72 31  |      ldr     r1|
0000ca30  32 2c 5b 72 31 31 2c 23  38 5d 0d 55 b4 20 20 20  |2,[r11,#8].U.   |
0000ca40  20 20 20 20 20 20 6c 64  72 20 20 20 20 20 72 31  |      ldr     r1|
0000ca50  31 2c 5b 72 31 31 2c 23  34 5d 0d 55 be 21 20 20  |1,[r11,#4].U.!  |
0000ca60  20 20 20 20 20 20 61 64  64 20 20 20 20 20 72 31  |      add     r1|
0000ca70  31 2c 72 31 31 2c 23 34  36 2a 32 0d 55 c8 20 20  |1,r11,#46*2.U.  |
0000ca80  20 20 20 20 20 20 20 61  64 64 20 20 20 20 20 72  |       add     r|
0000ca90  31 32 2c 72 31 32 2c 23  36 2a 34 0d 55 d2 1a 20  |12,r12,#6*4.U.. |
0000caa0  20 20 20 20 20 20 20 62  6c 20 20 20 20 20 20 63  |       bl      c|
0000cab0  74 6c 69 6e 65 0d 55 dc  0b 2e 6e 6f 69 6e 70 32  |tline.U...noinp2|
0000cac0  0d 55 e6 1c 2e 6e 78 74  69 63 6e 20 61 64 64 20  |.U...nxticn add |
0000cad0  20 20 20 20 72 37 2c 72  37 2c 23 31 0d 55 f0 21  |    r7,r7,#1.U.!|
0000cae0  20 20 20 20 20 20 20 20  63 6d 70 20 20 20 20 20  |        cmp     |
0000caf0  72 37 2c 23 6d 61 78 69  63 6f 6e 73 25 0d 55 fa  |r7,#maxicons%.U.|
0000cb00  1a 20 20 20 20 20 20 20  20 62 6c 6f 20 20 20 20  |.        blo    |
0000cb10  20 63 68 6b 69 63 6e 0d  56 04 24 20 20 20 20 20  | chkicn.V.$     |
0000cb20  20 20 20 6c 64 6d 66 64  20 20 20 72 31 33 21 2c  |   ldmfd   r13!,|
0000cb30  7b 72 30 2d 72 31 32 2c  70 63 7d 0d 56 0e 04 0d  |{r0-r12,pc}.V...|
0000cb40  56 18 15 2e 6c 69 6e 74  79 70 20 65 71 75 64 20  |V...lintyp equd |
0000cb50  20 20 20 30 0d 56 22 04  0d 56 2c 1c 2e 63 74 6c  |   0.V"..V,..ctl|
0000cb60  69 6e 65 20 61 64 64 20  20 20 20 20 72 39 2c 72  |ine add     r9,r|
0000cb70  39 2c 72 30 0d 56 36 1e  20 20 20 20 20 20 20 20  |9,r0.V6.        |
0000cb80  61 64 64 20 20 20 20 20  72 31 30 2c 72 31 30 2c  |add     r10,r10,|
0000cb90  72 31 0d 56 40 1e 20 20  20 20 20 20 20 20 61 64  |r1.V@.        ad|
0000cba0  64 20 20 20 20 20 72 31  31 2c 72 31 31 2c 72 30  |d     r11,r11,r0|
0000cbb0  0d 56 4a 1e 20 20 20 20  20 20 20 20 61 64 64 20  |.VJ.        add |
0000cbc0  20 20 20 20 72 31 32 2c  72 31 32 2c 72 31 0d 56  |    r12,r12,r1.V|
0000cbd0  54 24 20 20 20 20 20 20  20 20 73 74 6d 66 64 20  |T$        stmfd |
0000cbe0  20 20 72 31 33 21 2c 7b  72 30 2d 72 38 2c 72 31  |  r13!,{r0-r8,r1|
0000cbf0  34 7d 0d 56 5e 19 20 20  20 20 20 20 20 20 6d 6f  |4}.V^.        mo|
0000cc00  76 20 20 20 20 20 72 30  2c 23 34 0d 56 68 19 20  |v     r0,#4.Vh. |
0000cc10  20 20 20 20 20 20 20 6d  6f 76 20 20 20 20 20 72  |       mov     r|
0000cc20  31 2c 72 39 0d 56 72 1a  20 20 20 20 20 20 20 20  |1,r9.Vr.        |
0000cc30  6d 6f 76 20 20 20 20 20  72 32 2c 72 31 30 0d 56  |mov     r2,r10.V|
0000cc40  7c 1d 20 20 20 20 20 20  20 20 73 77 69 20 20 20  ||.        swi   |
0000cc50  20 20 22 4f 53 5f 50 6c  6f 74 22 0d 56 86 1d 20  |  "OS_Plot".V.. |
0000cc60  20 20 20 20 20 20 20 6c  64 72 20 20 20 20 20 72  |       ldr     r|
0000cc70  33 2c 6c 69 6e 74 79 70  0d 56 90 19 20 20 20 20  |3,lintyp.V..    |
0000cc80  20 20 20 20 6d 6f 76 20  20 20 20 20 72 30 2c 23  |    mov     r0,#|
0000cc90  35 0d 56 9a 19 20 20 20  20 20 20 20 20 63 6d 70  |5.V..        cmp|
0000cca0  20 20 20 20 20 72 33 2c  23 33 0d 56 a4 1d 20 20  |     r3,#3.V..  |
0000ccb0  20 20 20 20 20 20 61 64  64 65 71 20 20 20 72 31  |      addeq   r1|
0000ccc0  2c 72 39 2c 72 31 31 0d  56 ae 20 20 20 20 20 20  |,r9,r11.V.      |
0000ccd0  20 20 20 6d 6f 76 65 71  20 20 20 72 31 2c 72 31  |   moveq   r1,r1|
0000cce0  2c 61 73 72 20 23 31 0d  56 b8 1a 20 20 20 20 20  |,asr #1.V..     |
0000ccf0  20 20 20 6d 6f 76 65 71  20 20 20 72 32 2c 72 31  |   moveq   r2,r1|
0000cd00  30 0d 56 c2 19 20 20 20  20 20 20 20 20 63 6d 70  |0.V..        cmp|
0000cd10  20 20 20 20 20 72 33 2c  23 32 0d 56 cc 19 20 20  |     r3,#2.V..  |
0000cd20  20 20 20 20 20 20 6d 6f  76 65 71 20 20 20 72 31  |      moveq   r1|
0000cd30  2c 72 39 0d 56 d6 1e 20  20 20 20 20 20 20 20 61  |,r9.V..        a|
0000cd40  64 64 65 71 20 20 20 72  32 2c 72 31 30 2c 72 31  |ddeq   r2,r10,r1|
0000cd50  32 0d 56 e0 20 20 20 20  20 20 20 20 20 6d 6f 76  |2.V.         mov|
0000cd60  65 71 20 20 20 72 32 2c  72 32 2c 61 73 72 20 23  |eq   r2,r2,asr #|
0000cd70  31 0d 56 ea 19 20 20 20  20 20 20 20 20 63 6d 70  |1.V..        cmp|
0000cd80  20 20 20 20 20 72 33 2c  23 31 0d 56 f4 1a 20 20  |     r3,#1.V..  |
0000cd90  20 20 20 20 20 20 6d 6f  76 65 71 20 20 20 72 31  |      moveq   r1|
0000cda0  2c 72 31 31 0d 56 fe 1a  20 20 20 20 20 20 20 20  |,r11.V..        |
0000cdb0  6d 6f 76 65 71 20 20 20  72 32 2c 72 31 30 0d 57  |moveq   r2,r10.W|
0000cdc0  08 19 20 20 20 20 20 20  20 20 63 6d 70 20 20 20  |..        cmp   |
0000cdd0  20 20 72 33 2c 23 30 0d  57 12 19 20 20 20 20 20  |  r3,#0.W..     |
0000cde0  20 20 20 6d 6f 76 65 71  20 20 20 72 31 2c 72 39  |   moveq   r1,r9|
0000cdf0  0d 57 1c 1a 20 20 20 20  20 20 20 20 6d 6f 76 65  |.W..        move|
0000ce00  71 20 20 20 72 32 2c 72  31 32 0d 57 26 1d 20 20  |q   r2,r12.W&.  |
0000ce10  20 20 20 20 20 20 73 77  69 20 20 20 20 20 22 4f  |      swi     "O|
0000ce20  53 5f 50 6c 6f 74 22 0d  57 30 1d 20 20 20 20 20  |S_Plot".W0.     |
0000ce30  20 20 20 6c 64 72 20 20  20 20 20 72 33 2c 6c 69  |   ldr     r3,li|
0000ce40  6e 74 79 70 0d 57 3a 19  20 20 20 20 20 20 20 20  |ntyp.W:.        |
0000ce50  6d 6f 76 20 20 20 20 20  72 30 2c 23 35 0d 57 44  |mov     r0,#5.WD|
0000ce60  19 20 20 20 20 20 20 20  20 63 6d 70 20 20 20 20  |.        cmp    |
0000ce70  20 72 33 2c 23 33 0d 57  4e 1d 20 20 20 20 20 20  | r3,#3.WN.      |
0000ce80  20 20 61 64 64 65 71 20  20 20 72 31 2c 72 39 2c  |  addeq   r1,r9,|
0000ce90  72 31 31 0d 57 58 20 20  20 20 20 20 20 20 20 6d  |r11.WX         m|
0000cea0  6f 76 65 71 20 20 20 72  31 2c 72 31 2c 61 73 72  |oveq   r1,r1,asr|
0000ceb0  20 23 31 0d 57 62 1a 20  20 20 20 20 20 20 20 6d  | #1.Wb.        m|
0000cec0  6f 76 65 71 20 20 20 72  32 2c 72 31 32 0d 57 6c  |oveq   r2,r12.Wl|
0000ced0  19 20 20 20 20 20 20 20  20 63 6d 70 20 20 20 20  |.        cmp    |
0000cee0  20 72 33 2c 23 32 0d 57  76 1a 20 20 20 20 20 20  | r3,#2.Wv.      |
0000cef0  20 20 6d 6f 76 65 71 20  20 20 72 31 2c 72 31 31  |  moveq   r1,r11|
0000cf00  0d 57 80 1e 20 20 20 20  20 20 20 20 61 64 64 65  |.W..        adde|
0000cf10  71 20 20 20 72 32 2c 72  31 30 2c 72 31 32 0d 57  |q   r2,r10,r12.W|
0000cf20  8a 20 20 20 20 20 20 20  20 20 6d 6f 76 65 71 20  |.         moveq |
0000cf30  20 20 72 32 2c 72 32 2c  61 73 72 20 23 31 0d 57  |  r2,r2,asr #1.W|
0000cf40  94 19 20 20 20 20 20 20  20 20 63 6d 70 20 20 20  |..        cmp   |
0000cf50  20 20 72 33 2c 23 31 0d  57 9e 19 20 20 20 20 20  |  r3,#1.W..     |
0000cf60  20 20 20 63 6d 70 6e 65  20 20 20 72 33 2c 23 30  |   cmpne   r3,#0|
0000cf70  0d 57 a8 1a 20 20 20 20  20 20 20 20 6d 6f 76 65  |.W..        move|
0000cf80  71 20 20 20 72 31 2c 72  31 31 0d 57 b2 1a 20 20  |q   r1,r11.W..  |
0000cf90  20 20 20 20 20 20 6d 6f  76 65 71 20 20 20 72 32  |      moveq   r2|
0000cfa0  2c 72 31 32 0d 57 bc 1d  20 20 20 20 20 20 20 20  |,r12.W..        |
0000cfb0  73 77 69 20 20 20 20 20  22 4f 53 5f 50 6c 6f 74  |swi     "OS_Plot|
0000cfc0  22 0d 57 c6 1d 20 20 20  20 20 20 20 20 6c 64 72  |".W..        ldr|
0000cfd0  20 20 20 20 20 72 33 2c  6c 69 6e 74 79 70 0d 57  |     r3,lintyp.W|
0000cfe0  d0 19 20 20 20 20 20 20  20 20 63 6d 70 20 20 20  |..        cmp   |
0000cff0  20 20 72 33 2c 23 30 0d  57 da 19 20 20 20 20 20  |  r3,#0.W..     |
0000d000  20 20 20 63 6d 70 6e 65  20 20 20 72 33 2c 23 31  |   cmpne   r3,#1|
0000d010  0d 57 e4 23 20 20 20 20  20 20 20 20 6c 64 6d 65  |.W.#        ldme|
0000d020  71 66 64 20 72 31 33 21  2c 7b 72 30 2d 72 38 2c  |qfd r13!,{r0-r8,|
0000d030  70 63 7d 0d 57 ee 19 20  20 20 20 20 20 20 20 6d  |pc}.W..        m|
0000d040  6f 76 20 20 20 20 20 72  30 2c 23 35 0d 57 f8 1a  |ov     r0,#5.W..|
0000d050  20 20 20 20 20 20 20 20  6d 6f 76 20 20 20 20 20  |        mov     |
0000d060  72 31 2c 72 31 31 0d 58  02 1a 20 20 20 20 20 20  |r1,r11.X..      |
0000d070  20 20 6d 6f 76 20 20 20  20 20 72 32 2c 72 31 32  |  mov     r2,r12|
0000d080  0d 58 0c 1d 20 20 20 20  20 20 20 20 73 77 69 20  |.X..        swi |
0000d090  20 20 20 20 22 4f 53 5f  50 6c 6f 74 22 0d 58 16  |    "OS_Plot".X.|
0000d0a0  23 20 20 20 20 20 20 20  20 6c 64 6d 66 64 20 20  |#        ldmfd  |
0000d0b0  20 72 31 33 21 2c 7b 72  30 2d 72 38 2c 70 63 7d  | r13!,{r0-r8,pc}|
0000d0c0  0d 58 20 15 2e 73 61 6d  74 79 70 20 65 71 75 64  |.X ..samtyp equd|
0000d0d0  20 20 20 20 30 0d 58 2a  04 0d 58 34 29 2e 69 6e  |    0.X*..X4).in|
0000d0e0  69 74 6d 65 6d 20 20 20  20 20 20 20 20 3b 72 30  |itmem        ;r0|
0000d0f0  3d 4d 65 6d 53 74 61 72  74 2c 20 72 31 3d 53 69  |=MemStart, r1=Si|
0000d100  7a 65 0d 58 3e 24 20 20  20 20 20 20 20 20 73 74  |ze.X>$        st|
0000d110  6d 66 64 20 20 20 72 31  33 21 2c 7b 72 30 2d 72  |mfd   r13!,{r0-r|
0000d120  33 2c 72 31 34 7d 0d 58  48 1c 20 20 20 20 20 20  |3,r14}.XH.      |
0000d130  20 20 61 64 64 20 20 20  20 20 72 30 2c 72 30 2c  |  add     r0,r0,|
0000d140  23 33 0d 58 52 1c 20 20  20 20 20 20 20 20 62 69  |#3.XR.        bi|
0000d150  63 20 20 20 20 20 72 30  2c 72 30 2c 23 33 0d 58  |c     r0,r0,#3.X|
0000d160  5c 1c 20 20 20 20 20 20  20 20 62 69 63 20 20 20  |\.        bic   |
0000d170  20 20 72 31 2c 72 31 2c  23 33 0d 58 66 1f 20 20  |  r1,r1,#3.Xf.  |
0000d180  20 20 20 20 20 20 73 74  72 20 20 20 20 20 72 30  |      str     r0|
0000d190  2c 6d 65 6d 73 74 61 72  74 0d 58 70 19 20 20 20  |,memstart.Xp.   |
0000d1a0  20 20 20 20 20 6d 76 6e  20 20 20 20 20 72 32 2c  |     mvn     r2,|
0000d1b0  23 30 0d 58 7a 1e 20 20  20 20 20 20 20 20 73 74  |#0.Xz.        st|
0000d1c0  72 20 20 20 20 20 72 32  2c 5b 72 30 2c 23 34 5d  |r     r2,[r0,#4]|
0000d1d0  0d 58 84 1d 20 20 20 20  20 20 20 20 73 75 62 20  |.X..        sub |
0000d1e0  20 20 20 20 72 32 2c 72  31 2c 23 32 34 0d 58 8e  |    r2,r1,#24.X.|
0000d1f0  1e 20 20 20 20 20 20 20  20 73 74 72 20 20 20 20  |.        str    |
0000d200  20 72 32 2c 5b 72 30 2c  23 38 5d 0d 58 98 1c 20  | r2,[r0,#8].X.. |
0000d210  20 20 20 20 20 20 20 61  64 64 20 20 20 20 20 72  |       add     r|
0000d220  32 2c 72 30 2c 72 31 0d  58 a2 1b 20 20 20 20 20  |2,r0,r1.X..     |
0000d230  20 20 20 73 74 72 20 20  20 20 20 72 32 2c 5b 72  |   str     r2,[r|
0000d240  30 5d 0d 58 ac 1d 20 20  20 20 20 20 20 20 61 64  |0].X..        ad|
0000d250  64 20 20 20 20 20 72 33  2c 72 30 2c 23 31 32 0d  |d     r3,r0,#12.|
0000d260  58 b6 1f 20 20 20 20 20  20 20 20 73 74 72 20 20  |X..        str  |
0000d270  20 20 20 72 33 2c 5b 72  32 2c 23 2d 38 5d 0d 58  |   r3,[r2,#-8].X|
0000d280  c0 19 20 20 20 20 20 20  20 20 6d 76 6e 20 20 20  |..        mvn   |
0000d290  20 20 72 33 2c 23 30 0d  58 ca 20 20 20 20 20 20  |  r3,#0.X.      |
0000d2a0  20 20 20 73 74 72 20 20  20 20 20 72 33 2c 5b 72  |   str     r3,[r|
0000d2b0  32 2c 23 2d 31 32 5d 0d  58 d4 19 20 20 20 20 20  |2,#-12].X..     |
0000d2c0  20 20 20 6d 6f 76 20 20  20 20 20 72 33 2c 23 30  |   mov     r3,#0|
0000d2d0  0d 58 de 1f 20 20 20 20  20 20 20 20 73 74 72 20  |.X..        str |
0000d2e0  20 20 20 20 72 33 2c 5b  72 32 2c 23 2d 34 5d 0d  |    r3,[r2,#-4].|
0000d2f0  58 e8 23 20 20 20 20 20  20 20 20 6c 64 6d 66 64  |X.#        ldmfd|
0000d300  20 20 20 72 31 33 21 2c  7b 72 30 2d 72 33 2c 70  |   r13!,{r0-r3,p|
0000d310  63 7d 0d 58 f2 04 0d 58  fc 43 2e 61 6c 6c 6f 63  |c}.X...X.C.alloc|
0000d320  6d 65 6d 20 20 20 20 20  20 20 3b 72 30 3d 52 65  |mem       ;r0=Re|
0000d330  71 75 69 72 65 64 53 69  7a 65 20 2d 3e 20 72 30  |quiredSize -> r0|
0000d340  3d 50 74 72 54 6f 46 72  65 65 4d 65 6d 20 28 2d  |=PtrToFreeMem (-|
0000d350  31 3d 66 61 69 6c 65 64  29 0d 59 06 19 20 20 20  |1=failed).Y..   |
0000d360  20 20 20 20 20 63 6d 70  20 20 20 20 20 72 30 2c  |     cmp     r0,|
0000d370  23 30 0d 59 10 19 20 20  20 20 20 20 20 20 6d 76  |#0.Y..        mv|
0000d380  6e 6c 65 20 20 20 72 30  2c 23 30 0d 59 1a 1a 20  |nle   r0,#0.Y.. |
0000d390  20 20 20 20 20 20 20 6d  6f 76 6c 65 20 20 20 70  |       movle   p|
0000d3a0  63 2c 72 31 34 0d 59 24  24 20 20 20 20 20 20 20  |c,r14.Y$$       |
0000d3b0  20 73 74 6d 66 64 20 20  20 72 31 33 21 2c 7b 72  | stmfd   r13!,{r|
0000d3c0  31 2d 72 34 2c 72 31 34  7d 0d 59 2e 1c 20 20 20  |1-r4,r14}.Y..   |
0000d3d0  20 20 20 20 20 61 64 64  20 20 20 20 20 72 30 2c  |     add     r0,|
0000d3e0  72 30 2c 23 33 0d 59 38  1c 20 20 20 20 20 20 20  |r0,#3.Y8.       |
0000d3f0  20 62 69 63 20 20 20 20  20 72 30 2c 72 30 2c 23  | bic     r0,r0,#|
0000d400  33 0d 59 42 1d 20 20 20  20 20 20 20 20 61 64 64  |3.YB.        add|
0000d410  20 20 20 20 20 72 33 2c  72 30 2c 23 31 32 0d 59  |     r3,r0,#12.Y|
0000d420  4c 1f 20 20 20 20 20 20  20 20 6c 64 72 20 20 20  |L.        ldr   |
0000d430  20 20 72 31 2c 6d 65 6d  73 74 61 72 74 0d 59 56  |  r1,memstart.YV|
0000d440  1d 20 20 20 20 20 20 20  20 61 64 64 20 20 20 20  |.        add    |
0000d450  20 72 31 2c 72 31 2c 23  31 32 0d 59 60 1f 2e 61  | r1,r1,#12.Y`..a|
0000d460  6c 6c 6f 63 31 20 6c 64  72 20 20 20 20 20 72 32  |lloc1 ldr     r2|
0000d470  2c 5b 72 31 2c 23 2d 34  5d 0d 59 6a 19 20 20 20  |,[r1,#-4].Yj.   |
0000d480  20 20 20 20 20 63 6d 70  20 20 20 20 20 72 32 2c  |     cmp     r2,|
0000d490  72 30 0d 59 74 1a 20 20  20 20 20 20 20 20 62 6d  |r0.Yt.        bm|
0000d4a0  69 20 20 20 20 20 61 6c  6c 6f 63 34 0d 59 7e 19  |i     alloc4.Y~.|
0000d4b0  20 20 20 20 20 20 20 20  63 6d 70 20 20 20 20 20  |        cmp     |
0000d4c0  72 32 2c 72 33 0d 59 88  1a 20 20 20 20 20 20 20  |r2,r3.Y..       |
0000d4d0  20 62 6c 65 20 20 20 20  20 61 6c 6c 6f 63 33 0d  | ble     alloc3.|
0000d4e0  59 92 1d 20 20 20 20 20  20 20 20 61 64 64 20 20  |Y..        add  |
0000d4f0  20 20 20 72 30 2c 72 30  2c 23 31 32 0d 59 9c 1a  |   r0,r0,#12.Y..|
0000d500  20 20 20 20 20 20 20 20  62 20 20 20 20 20 20 20  |        b       |
0000d510  61 6c 6c 6f 63 32 0d 59  a6 20 2e 61 6c 6c 6f 63  |alloc2.Y. .alloc|
0000d520  34 20 6c 64 72 20 20 20  20 20 72 31 2c 5b 72 31  |4 ldr     r1,[r1|
0000d530  2c 23 2d 31 32 5d 0d 59  b0 19 20 20 20 20 20 20  |,#-12].Y..      |
0000d540  20 20 63 6d 6e 20 20 20  20 20 72 31 2c 23 31 0d  |  cmn     r1,#1.|
0000d550  59 ba 1a 20 20 20 20 20  20 20 20 62 6e 65 20 20  |Y..        bne  |
0000d560  20 20 20 61 6c 6c 6f 63  31 0d 59 c4 19 20 20 20  |   alloc1.Y..   |
0000d570  20 20 20 20 20 6d 76 6e  20 20 20 20 20 72 30 2c  |     mvn     r0,|
0000d580  23 30 0d 59 ce 23 20 20  20 20 20 20 20 20 6c 64  |#0.Y.#        ld|
0000d590  6d 66 64 20 20 20 72 31  33 21 2c 7b 72 31 2d 72  |mfd   r13!,{r1-r|
0000d5a0  34 2c 70 63 7d 0d 59 d8  19 2e 61 6c 6c 6f 63 33  |4,pc}.Y...alloc3|
0000d5b0  20 6d 6f 76 20 20 20 20  20 72 30 2c 72 31 0d 59  | mov     r0,r1.Y|
0000d5c0  e2 19 20 20 20 20 20 20  20 20 6d 6f 76 20 20 20  |..        mov   |
0000d5d0  20 20 72 32 2c 23 30 0d  59 ec 1f 20 20 20 20 20  |  r2,#0.Y..     |
0000d5e0  20 20 20 73 74 72 20 20  20 20 20 72 32 2c 5b 72  |   str     r2,[r|
0000d5f0  31 2c 23 2d 34 5d 0d 59  f6 23 20 20 20 20 20 20  |1,#-4].Y.#      |
0000d600  20 20 6c 64 6d 66 64 20  20 20 72 31 33 21 2c 7b  |  ldmfd   r13!,{|
0000d610  72 31 2d 72 34 2c 70 63  7d 0d 5a 00 1c 2e 61 6c  |r1-r4,pc}.Z...al|
0000d620  6c 6f 63 32 20 61 64 64  20 20 20 20 20 72 34 2c  |loc2 add     r4,|
0000d630  72 31 2c 72 30 0d 5a 0a  1c 20 20 20 20 20 20 20  |r1,r0.Z..       |
0000d640  20 73 75 62 20 20 20 20  20 72 32 2c 72 32 2c 72  | sub     r2,r2,r|
0000d650  30 0d 5a 14 20 20 20 20  20 20 20 20 20 6c 64 72  |0.Z.         ldr|
0000d660  20 20 20 20 20 72 33 2c  5b 72 31 2c 23 2d 31 32  |     r3,[r1,#-12|
0000d670  5d 0d 5a 1e 20 20 20 20  20 20 20 20 20 73 74 72  |].Z.         str|
0000d680  20 20 20 20 20 72 33 2c  5b 72 34 2c 23 2d 31 32  |     r3,[r4,#-12|
0000d690  5d 0d 5a 28 1f 20 20 20  20 20 20 20 20 73 74 72  |].Z(.        str|
0000d6a0  20 20 20 20 20 72 32 2c  5b 72 34 2c 23 2d 34 5d  |     r2,[r4,#-4]|
0000d6b0  0d 5a 32 1f 20 20 20 20  20 20 20 20 73 74 72 20  |.Z2.        str |
0000d6c0  20 20 20 20 72 31 2c 5b  72 34 2c 23 2d 38 5d 0d  |    r1,[r4,#-8].|
0000d6d0  5a 3c 20 20 20 20 20 20  20 20 20 73 74 72 20 20  |Z<         str  |
0000d6e0  20 20 20 72 34 2c 5b 72  31 2c 23 2d 31 32 5d 0d  |   r4,[r1,#-12].|
0000d6f0  5a 46 19 20 20 20 20 20  20 20 20 63 6d 6e 20 20  |ZF.        cmn  |
0000d700  20 20 20 72 33 2c 23 31  0d 5a 50 1f 20 20 20 20  |   r3,#1.ZP.    |
0000d710  20 20 20 20 73 74 72 6e  65 20 20 20 72 34 2c 5b  |    strne   r4,[|
0000d720  72 33 2c 23 2d 38 5d 0d  5a 5a 19 20 20 20 20 20  |r3,#-8].ZZ.     |
0000d730  20 20 20 6d 6f 76 20 20  20 20 20 72 34 2c 23 30  |   mov     r4,#0|
0000d740  0d 5a 64 1f 20 20 20 20  20 20 20 20 73 74 72 20  |.Zd.        str |
0000d750  20 20 20 20 72 34 2c 5b  72 31 2c 23 2d 34 5d 0d  |    r4,[r1,#-4].|
0000d760  5a 6e 19 20 20 20 20 20  20 20 20 6d 6f 76 20 20  |Zn.        mov  |
0000d770  20 20 20 72 30 2c 72 31  0d 5a 78 23 20 20 20 20  |   r0,r1.Zx#    |
0000d780  20 20 20 20 6c 64 6d 66  64 20 20 20 72 31 33 21  |    ldmfd   r13!|
0000d790  2c 7b 72 31 2d 72 34 2c  70 63 7d 0d 5a 82 04 0d  |,{r1-r4,pc}.Z...|
0000d7a0  5a 8c 29 2e 66 72 65 65  6d 65 6d 20 20 20 20 20  |Z.).freemem     |
0000d7b0  20 20 20 3b 72 30 3d 50  74 72 54 6f 41 6c 6c 6f  |   ;r0=PtrToAllo|
0000d7c0  63 61 74 65 64 4d 65 6d  0d 5a 96 24 20 20 20 20  |catedMem.Z.$    |
0000d7d0  20 20 20 20 73 74 6d 66  64 20 20 20 72 31 33 21  |    stmfd   r13!|
0000d7e0  2c 7b 72 30 2d 72 33 2c  72 31 34 7d 0d 5a a0 20  |,{r0-r3,r14}.Z. |
0000d7f0  20 20 20 20 20 20 20 20  6c 64 72 20 20 20 20 20  |        ldr     |
0000d800  72 31 2c 5b 72 30 2c 23  2d 31 32 5d 0d 5a aa 1c  |r1,[r0,#-12].Z..|
0000d810  20 20 20 20 20 20 20 20  73 75 62 20 20 20 20 20  |        sub     |
0000d820  72 32 2c 72 31 2c 72 30  0d 5a b4 1d 20 20 20 20  |r2,r1,r0.Z..    |
0000d830  20 20 20 20 73 75 62 20  20 20 20 20 72 32 2c 72  |    sub     r2,r|
0000d840  32 2c 23 31 32 0d 5a be  1f 20 20 20 20 20 20 20  |2,#12.Z..       |
0000d850  20 6c 64 72 20 20 20 20  20 72 33 2c 5b 72 31 2c  | ldr     r3,[r1,|
0000d860  23 2d 34 5d 0d 5a c8 19  20 20 20 20 20 20 20 20  |#-4].Z..        |
0000d870  63 6d 70 20 20 20 20 20  72 33 2c 23 30 0d 5a d2  |cmp     r3,#0.Z.|
0000d880  1a 20 20 20 20 20 20 20  20 62 65 71 20 20 20 20  |.        beq    |
0000d890  20 66 72 65 65 6d 31 0d  5a dc 1c 20 20 20 20 20  | freem1.Z..     |
0000d8a0  20 20 20 61 64 64 20 20  20 20 20 72 32 2c 72 32  |   add     r2,r2|
0000d8b0  2c 72 33 0d 5a e6 1d 20  20 20 20 20 20 20 20 61  |,r3.Z..        a|
0000d8c0  64 64 20 20 20 20 20 72  32 2c 72 32 2c 23 31 32  |dd     r2,r2,#12|
0000d8d0  0d 5a f0 20 20 20 20 20  20 20 20 20 6c 64 72 20  |.Z.         ldr |
0000d8e0  20 20 20 20 72 31 2c 5b  72 31 2c 23 2d 31 32 5d  |    r1,[r1,#-12]|
0000d8f0  0d 5a fa 19 20 20 20 20  20 20 20 20 63 6d 6e 20  |.Z..        cmn |
0000d900  20 20 20 20 72 31 2c 23  31 0d 5b 04 1f 20 20 20  |    r1,#1.[..   |
0000d910  20 20 20 20 20 73 74 72  6e 65 20 20 20 72 30 2c  |     strne   r0,|
0000d920  5b 72 31 2c 23 2d 38 5d  0d 5b 0e 20 2e 66 72 65  |[r1,#-8].[. .fre|
0000d930  65 6d 31 20 73 74 72 20  20 20 20 20 72 31 2c 5b  |em1 str     r1,[|
0000d940  72 30 2c 23 2d 31 32 5d  0d 5b 18 1f 20 20 20 20  |r0,#-12].[..    |
0000d950  20 20 20 20 73 74 72 20  20 20 20 20 72 32 2c 5b  |    str     r2,[|
0000d960  72 30 2c 23 2d 34 5d 0d  5b 22 1f 20 20 20 20 20  |r0,#-4].[".     |
0000d970  20 20 20 6c 64 72 20 20  20 20 20 72 31 2c 5b 72  |   ldr     r1,[r|
0000d980  30 2c 23 2d 38 5d 0d 5b  2c 19 20 20 20 20 20 20  |0,#-8].[,.      |
0000d990  20 20 63 6d 6e 20 20 20  20 20 72 31 2c 23 31 0d  |  cmn     r1,#1.|
0000d9a0  5b 36 1a 20 20 20 20 20  20 20 20 62 65 71 20 20  |[6.        beq  |
0000d9b0  20 20 20 66 72 65 65 6d  32 0d 5b 40 1f 20 20 20  |   freem2.[@.   |
0000d9c0  20 20 20 20 20 6c 64 72  20 20 20 20 20 72 33 2c  |     ldr     r3,|
0000d9d0  5b 72 31 2c 23 2d 34 5d  0d 5b 4a 19 20 20 20 20  |[r1,#-4].[J.    |
0000d9e0  20 20 20 20 63 6d 70 20  20 20 20 20 72 33 2c 23  |    cmp     r3,#|
0000d9f0  30 0d 5b 54 1a 20 20 20  20 20 20 20 20 62 65 71  |0.[T.        beq|
0000da00  20 20 20 20 20 66 72 65  65 6d 32 0d 5b 5e 1c 20  |     freem2.[^. |
0000da10  20 20 20 20 20 20 20 61  64 64 20 20 20 20 20 72  |       add     r|
0000da20  32 2c 72 32 2c 72 33 0d  5b 68 1d 20 20 20 20 20  |2,r2,r3.[h.     |
0000da30  20 20 20 61 64 64 20 20  20 20 20 72 32 2c 72 32  |   add     r2,r2|
0000da40  2c 23 31 32 0d 5b 72 1f  20 20 20 20 20 20 20 20  |,#12.[r.        |
0000da50  73 74 72 20 20 20 20 20  72 32 2c 5b 72 31 2c 23  |str     r2,[r1,#|
0000da60  2d 34 5d 0d 5b 7c 20 20  20 20 20 20 20 20 20 6c  |-4].[|         l|
0000da70  64 72 20 20 20 20 20 72  32 2c 5b 72 30 2c 23 2d  |dr     r2,[r0,#-|
0000da80  31 32 5d 0d 5b 86 20 20  20 20 20 20 20 20 20 73  |12].[.         s|
0000da90  74 72 20 20 20 20 20 72  32 2c 5b 72 31 2c 23 2d  |tr     r2,[r1,#-|
0000daa0  31 32 5d 0d 5b 90 19 20  20 20 20 20 20 20 20 63  |12].[..        c|
0000dab0  6d 6e 20 20 20 20 20 72  32 2c 23 31 0d 5b 9a 1f  |mn     r2,#1.[..|
0000dac0  20 20 20 20 20 20 20 20  73 74 72 6e 65 20 20 20  |        strne   |
0000dad0  72 31 2c 5b 72 32 2c 23  2d 38 5d 0d 5b a4 23 2e  |r1,[r2,#-8].[.#.|
0000dae0  66 72 65 65 6d 32 20 6c  64 6d 66 64 20 20 20 72  |freem2 ldmfd   r|
0000daf0  31 33 21 2c 7b 72 30 2d  72 33 2c 70 63 7d 0d 5b  |13!,{r0-r3,pc}.[|
0000db00  ae 04 0d 5b b8 0d 2e 6d  65 6d 73 74 61 72 74 0d  |...[...memstart.|
0000db10  5b c2 15 20 20 20 20 20  20 20 20 65 71 75 64 20  |[..        equd |
0000db20  20 20 20 30 0d 5b cc 04  0d 5b d6 0e 2e 72 65 64  |   0.[...[...red|
0000db30  72 61 77 76 63 6f 0d 5b  e0 25 20 20 20 20 20 20  |rawvco.[.%      |
0000db40  20 20 73 74 6d 66 64 20  20 20 72 31 33 21 2c 7b  |  stmfd   r13!,{|
0000db50  72 30 2d 72 31 32 2c 72  31 34 7d 0d 5b ea 1e 20  |r0-r12,r14}.[.. |
0000db60  20 20 20 20 20 20 20 61  64 64 20 20 20 20 20 72  |       add     r|
0000db70  38 2c 72 30 2c 23 31 36  36 0d 5b f4 1c 20 20 20  |8,r0,#166.[..   |
0000db80  20 20 20 20 20 61 64 64  20 20 20 20 20 72 39 2c  |     add     r9,|
0000db90  72 31 2c 23 34 0d 5b fe  1d 20 20 20 20 20 20 20  |r1,#4.[..       |
0000dba0  20 61 64 64 20 20 20 20  20 72 31 30 2c 72 32 2c  | add     r10,r2,|
0000dbb0  23 34 0d 5c 08 1a 20 20  20 20 20 20 20 20 6d 6f  |#4.\..        mo|
0000dbc0  76 20 20 20 20 20 72 31  31 2c 23 30 0d 5c 12 1a  |v     r11,#0.\..|
0000dbd0  2e 72 76 63 6f 6c 70 20  6d 6f 76 20 20 20 20 20  |.rvcolp mov     |
0000dbe0  72 30 2c 23 36 39 0d 5c  1c 21 20 20 20 20 20 20  |r0,#69.\.!      |
0000dbf0  20 20 6d 6f 76 20 20 20  20 20 72 31 2c 72 31 31  |  mov     r1,r11|
0000dc00  2c 6c 73 6c 20 23 31 0d  5c 26 20 20 20 20 20 20  |,lsl #1.\&      |
0000dc10  20 20 20 6c 64 72 62 20  20 20 20 72 32 2c 5b 72  |   ldrb    r2,[r|
0000dc20  31 30 2c 72 31 31 5d 0d  5c 30 21 20 20 20 20 20  |10,r11].\0!     |
0000dc30  20 20 20 6d 6f 76 20 20  20 20 20 72 32 2c 72 32  |   mov     r2,r2|
0000dc40  2c 6c 73 6c 20 23 32 34  0d 5c 3a 21 20 20 20 20  |,lsl #24.\:!    |
0000dc50  20 20 20 20 6d 6f 76 20  20 20 20 20 72 32 2c 72  |    mov     r2,r|
0000dc60  32 2c 61 73 72 20 23 32  34 0d 5c 44 1e 20 20 20  |2,asr #24.\D.   |
0000dc70  20 20 20 20 20 61 64 64  20 20 20 20 20 72 32 2c  |     add     r2,|
0000dc80  72 32 2c 23 31 32 38 0d  5c 4e 1c 20 20 20 20 20  |r2,#128.\N.     |
0000dc90  20 20 20 61 64 64 20 20  20 20 20 72 31 2c 72 31  |   add     r1,r1|
0000dca0  2c 72 38 0d 5c 58 1c 20  20 20 20 20 20 20 20 61  |,r8.\X.        a|
0000dcb0  64 64 20 20 20 20 20 72  32 2c 72 32 2c 72 39 0d  |dd     r2,r2,r9.|
0000dcc0  5c 62 1d 20 20 20 20 20  20 20 20 73 77 69 20 20  |\b.        swi  |
0000dcd0  20 20 20 22 4f 53 5f 50  6c 6f 74 22 0d 5c 6c 1e  |   "OS_Plot".\l.|
0000dce0  20 20 20 20 20 20 20 20  61 64 64 20 20 20 20 20  |        add     |
0000dcf0  72 31 31 2c 72 31 31 2c  23 31 0d 5c 76 1c 20 20  |r11,r11,#1.\v.  |
0000dd00  20 20 20 20 20 20 63 6d  70 20 20 20 20 20 72 31  |      cmp     r1|
0000dd10  31 2c 23 32 35 36 0d 5c  80 1a 20 20 20 20 20 20  |1,#256.\..      |
0000dd20  20 20 62 6e 65 20 20 20  20 20 72 76 63 6f 6c 70  |  bne     rvcolp|
0000dd30  0d 5c 8a 24 20 20 20 20  20 20 20 20 6c 64 6d 66  |.\.$        ldmf|
0000dd40  64 20 20 20 72 31 33 21  2c 7b 72 30 2d 72 31 32  |d   r13!,{r0-r12|
0000dd50  2c 70 63 7d 0d 5c 94 0e  2e 72 65 64 72 61 77 6e  |,pc}.\...redrawn|
0000dd60  6c 64 0d 5c 9e 25 20 20  20 20 20 20 20 20 73 74  |ld.\.%        st|
0000dd70  6d 66 64 20 20 20 72 31  33 21 2c 7b 72 30 2d 72  |mfd   r13!,{r0-r|
0000dd80  31 32 2c 72 31 34 7d 0d  5c a8 19 20 20 20 20 20  |12,r14}.\..     |
0000dd90  20 20 20 6d 6f 76 20 20  20 20 20 72 38 2c 72 30  |   mov     r8,r0|
0000dda0  0d 5c b2 19 20 20 20 20  20 20 20 20 6d 6f 76 20  |.\..        mov |
0000ddb0  20 20 20 20 72 39 2c 72  31 0d 5c bc 1a 20 20 20  |    r9,r1.\..   |
0000ddc0  20 20 20 20 20 6d 6f 76  20 20 20 20 20 72 31 30  |     mov     r10|
0000ddd0  2c 72 32 0d 5c c6 1a 20  20 20 20 20 20 20 20 6d  |,r2.\..        m|
0000dde0  6f 76 20 20 20 20 20 72  31 31 2c 23 30 0d 5c d0  |ov     r11,#0.\.|
0000ddf0  1a 2e 72 6e 6c 64 6c 70  20 6d 6f 76 20 20 20 20  |..rnldlp mov    |
0000de00  20 72 30 2c 23 36 39 0d  5c da 21 20 20 20 20 20  | r0,#69.\.!     |
0000de10  20 20 20 6d 6f 76 20 20  20 20 20 72 31 2c 72 31  |   mov     r1,r1|
0000de20  31 2c 6c 73 6c 20 23 31  0d 5c e4 20 20 20 20 20  |1,lsl #1.\.     |
0000de30  20 20 20 20 6c 64 72 62  20 20 20 20 72 32 2c 5b  |    ldrb    r2,[|
0000de40  72 31 30 2c 72 31 31 5d  0d 5c ee 20 20 20 20 20  |r10,r11].\.     |
0000de50  20 20 20 20 6d 6f 76 20  20 20 20 20 72 32 2c 72  |    mov     r2,r|
0000de60  32 2c 6c 73 6c 20 23 31  0d 5c f8 1c 20 20 20 20  |2,lsl #1.\..    |
0000de70  20 20 20 20 61 64 64 20  20 20 20 20 72 31 2c 72  |    add     r1,r|
0000de80  31 2c 72 38 0d 5d 02 1c  20 20 20 20 20 20 20 20  |1,r8.]..        |
0000de90  61 64 64 20 20 20 20 20  72 32 2c 72 32 2c 72 39  |add     r2,r2,r9|
0000dea0  0d 5d 0c 1d 20 20 20 20  20 20 20 20 73 77 69 20  |.]..        swi |
0000deb0  20 20 20 20 22 4f 53 5f  50 6c 6f 74 22 0d 5d 16  |    "OS_Plot".].|
0000dec0  1e 20 20 20 20 20 20 20  20 61 64 64 20 20 20 20  |.        add    |
0000ded0  20 72 31 31 2c 72 31 31  2c 23 31 0d 5d 20 1c 20  | r11,r11,#1.] . |
0000dee0  20 20 20 20 20 20 20 63  6d 70 20 20 20 20 20 72  |       cmp     r|
0000def0  31 31 2c 23 32 35 36 0d  5d 2a 1a 20 20 20 20 20  |11,#256.]*.     |
0000df00  20 20 20 62 6e 65 20 20  20 20 20 72 6e 6c 64 6c  |   bne     rnldl|
0000df10  70 0d 5d 34 24 20 20 20  20 20 20 20 20 6c 64 6d  |p.]4$        ldm|
0000df20  66 64 20 20 20 72 31 33  21 2c 7b 72 30 2d 72 31  |fd   r13!,{r0-r1|
0000df30  32 2c 70 63 7d 0d 5d 3e  0d 2e 72 65 64 72 61 77  |2,pc}.]>..redraw|
0000df40  65 67 0d 5d 48 25 20 20  20 20 20 20 20 20 73 74  |eg.]H%        st|
0000df50  6d 66 64 20 20 20 72 31  33 21 2c 7b 72 30 2d 72  |mfd   r13!,{r0-r|
0000df60  31 32 2c 72 31 34 7d 0d  5d 52 19 20 20 20 20 20  |12,r14}.]R.     |
0000df70  20 20 20 6d 6f 76 20 20  20 20 20 72 38 2c 72 30  |   mov     r8,r0|
0000df80  0d 5d 5c 19 20 20 20 20  20 20 20 20 6d 6f 76 20  |.]\.        mov |
0000df90  20 20 20 20 72 39 2c 72  31 0d 5d 66 1d 20 20 20  |    r9,r1.]f.   |
0000dfa0  20 20 20 20 20 61 64 64  20 20 20 20 20 72 31 30  |     add     r10|
0000dfb0  2c 72 32 2c 23 38 0d 5d  70 1a 20 20 20 20 20 20  |,r2,#8.]p.      |
0000dfc0  20 20 6d 6f 76 20 20 20  20 20 72 31 31 2c 23 30  |  mov     r11,#0|
0000dfd0  0d 5d 7a 1a 2e 72 76 63  6f 6c 70 20 6d 6f 76 20  |.]z..rvcolp mov |
0000dfe0  20 20 20 20 72 30 2c 23  36 39 0d 5d 84 21 20 20  |    r0,#69.].!  |
0000dff0  20 20 20 20 20 20 6d 6f  76 20 20 20 20 20 72 31  |      mov     r1|
0000e000  2c 72 31 31 2c 6c 73 6c  20 23 31 0d 5d 8e 20 20  |,r11,lsl #1.].  |
0000e010  20 20 20 20 20 20 20 6c  64 72 62 20 20 20 20 72  |       ldrb    r|
0000e020  32 2c 5b 72 31 30 2c 72  31 31 5d 0d 5d 98 1c 20  |2,[r10,r11].].. |
0000e030  20 20 20 20 20 20 20 61  64 64 20 20 20 20 20 72  |       add     r|
0000e040  31 2c 72 31 2c 72 38 0d  5d a2 1c 20 20 20 20 20  |1,r1,r8.]..     |
0000e050  20 20 20 61 64 64 20 20  20 20 20 72 32 2c 72 32  |   add     r2,r2|
0000e060  2c 72 39 0d 5d ac 1d 20  20 20 20 20 20 20 20 73  |,r9.]..        s|
0000e070  77 69 20 20 20 20 20 22  4f 53 5f 50 6c 6f 74 22  |wi     "OS_Plot"|
0000e080  0d 5d b6 1e 20 20 20 20  20 20 20 20 61 64 64 20  |.]..        add |
0000e090  20 20 20 20 72 31 31 2c  72 31 31 2c 23 31 0d 5d  |    r11,r11,#1.]|
0000e0a0  c0 1c 20 20 20 20 20 20  20 20 63 6d 70 20 20 20  |..        cmp   |
0000e0b0  20 20 72 31 31 2c 23 35  31 32 0d 5d ca 1a 20 20  |  r11,#512.]..  |
0000e0c0  20 20 20 20 20 20 62 6e  65 20 20 20 20 20 72 76  |      bne     rv|
0000e0d0  63 6f 6c 70 0d 5d d4 24  20 20 20 20 20 20 20 20  |colp.].$        |
0000e0e0  6c 64 6d 66 64 20 20 20  72 31 33 21 2c 7b 72 30  |ldmfd   r13!,{r0|
0000e0f0  2d 72 31 32 2c 70 63 7d  0d 5d de 04 0d 5d e8 0c  |-r12,pc}.]...]..|
0000e100  2e 63 61 6c 63 61 6c 6c  0d 5d f2 19 20 20 20 20  |.calcall.]..    |
0000e110  20 20 20 20 63 6d 70 20  20 20 20 20 72 32 2c 23  |    cmp     r2,#|
0000e120  30 0d 5d fc 1a 20 20 20  20 20 20 20 20 6d 6f 76  |0.]..        mov|
0000e130  6d 69 20 20 20 70 63 2c  72 31 34 0d 5e 06 19 20  |mi   pc,r14.^.. |
0000e140  20 20 20 20 20 20 20 63  6d 70 20 20 20 20 20 72  |       cmp     r|
0000e150  33 2c 23 30 0d 5e 10 1a  20 20 20 20 20 20 20 20  |3,#0.^..        |
0000e160  6d 6f 76 6d 69 20 20 20  70 63 2c 72 31 34 0d 5e  |movmi   pc,r14.^|
0000e170  1a 25 20 20 20 20 20 20  20 20 73 74 6d 66 64 20  |.%        stmfd |
0000e180  20 20 72 31 33 21 2c 7b  72 30 2d 72 31 32 2c 72  |  r13!,{r0-r12,r|
0000e190  31 34 7d 0d 5e 24 19 20  20 20 20 20 20 20 20 6d  |14}.^$.        m|
0000e1a0  6f 76 20 20 20 20 20 72  38 2c 72 30 0d 5e 2e 19  |ov     r8,r0.^..|
0000e1b0  20 20 20 20 20 20 20 20  6d 6f 76 20 20 20 20 20  |        mov     |
0000e1c0  72 39 2c 72 32 0d 5e 38  1a 20 20 20 20 20 20 20  |r9,r2.^8.       |
0000e1d0  20 6d 6f 76 20 20 20 20  20 72 31 30 2c 72 33 0d  | mov     r10,r3.|
0000e1e0  5e 42 19 20 20 20 20 20  20 20 20 6d 6f 76 20 20  |^B.        mov  |
0000e1f0  20 20 20 72 37 2c 72 33  0d 5e 4c 1e 20 20 20 20  |   r7,r3.^L.    |
0000e200  20 20 20 20 6c 64 72 20  20 20 20 20 72 31 31 2c  |    ldr     r11,|
0000e210  73 61 6d 74 79 70 0d 5e  56 1e 20 20 20 20 20 20  |samtyp.^V.      |
0000e220  20 20 6c 64 72 20 20 20  20 20 72 31 32 2c 6c 69  |  ldr     r12,li|
0000e230  6e 6c 6f 67 0d 5e 60 19  2e 63 61 6c 6c 75 70 20  |nlog.^`..callup |
0000e240  6d 6f 76 20 20 20 20 20  72 30 2c 23 30 0d 5e 6a  |mov     r0,#0.^j|
0000e250  19 20 20 20 20 20 20 20  20 6d 6f 76 20 20 20 20  |.        mov    |
0000e260  20 72 32 2c 72 31 0d 5e  74 1f 2e 63 6c 6c 6f 6f  | r2,r1.^t..clloo|
0000e270  70 20 6c 64 72 20 20 20  20 20 72 33 2c 5b 72 32  |p ldr     r3,[r2|
0000e280  2c 23 32 38 5d 0d 5e 7e  24 20 20 20 20 20 20 20  |,#28].^~$       |
0000e290  20 62 69 63 20 20 20 20  20 72 33 2c 72 33 2c 23  | bic     r3,r3,#|
0000e2a0  26 38 30 30 30 30 30 30  30 0d 5e 88 1f 20 20 20  |&80000000.^..   |
0000e2b0  20 20 20 20 20 73 74 72  20 20 20 20 20 72 33 2c  |     str     r3,|
0000e2c0  5b 72 32 2c 23 32 38 5d  0d 5e 92 1d 20 20 20 20  |[r2,#28].^..    |
0000e2d0  20 20 20 20 61 64 64 20  20 20 20 20 72 32 2c 72  |    add     r2,r|
0000e2e0  32 2c 23 33 32 0d 5e 9c  1c 20 20 20 20 20 20 20  |2,#32.^..       |
0000e2f0  20 61 64 64 20 20 20 20  20 72 30 2c 72 30 2c 23  | add     r0,r0,#|
0000e300  31 0d 5e a6 21 20 20 20  20 20 20 20 20 63 6d 70  |1.^.!        cmp|
0000e310  20 20 20 20 20 72 30 2c  23 6d 61 78 69 63 6f 6e  |     r0,#maxicon|
0000e320  73 25 0d 5e b0 1a 20 20  20 20 20 20 20 20 62 6e  |s%.^..        bn|
0000e330  65 20 20 20 20 20 63 6c  6c 6f 6f 70 0d 5e ba 19  |e     clloop.^..|
0000e340  20 20 20 20 20 20 20 20  6d 6f 76 20 20 20 20 20  |        mov     |
0000e350  72 30 2c 72 38 0d 5e c4  1a 20 20 20 20 20 20 20  |r0,r8.^..       |
0000e360  20 62 6c 20 20 20 20 20  20 67 65 74 6f 75 74 0d  | bl      getout.|
0000e370  5e ce 1e 20 20 20 20 20  20 20 20 63 6d 70 20 20  |^..        cmp  |
0000e380  20 20 20 72 30 2c 23 26  31 30 30 30 30 0d 5e d8  |   r0,#&10000.^.|
0000e390  1d 20 20 20 20 20 20 20  20 6d 6f 76 70 6c 20 20  |.        movpl  |
0000e3a0  20 72 30 2c 23 26 66 66  30 30 0d 5e e2 1e 20 20  | r0,#&ff00.^..  |
0000e3b0  20 20 20 20 20 20 6f 72  72 70 6c 20 20 20 72 30  |      orrpl   r0|
0000e3c0  2c 72 30 2c 23 26 66 66  0d 5e ec 1e 20 20 20 20  |,r0,#&ff.^..    |
0000e3d0  20 20 20 20 63 6d 6e 20  20 20 20 20 72 30 2c 23  |    cmn     r0,#|
0000e3e0  26 31 30 30 30 30 0d 5e  f6 21 20 20 20 20 20 20  |&10000.^.!      |
0000e3f0  20 20 6d 6f 76 6c 65 20  20 20 72 30 2c 23 26 66  |  movle   r0,#&f|
0000e400  66 30 30 30 30 30 30 0d  5f 00 22 20 20 20 20 20  |f000000._."     |
0000e410  20 20 20 6f 72 72 6c 65  20 20 20 72 30 2c 72 30  |   orrle   r0,r0|
0000e420  2c 23 26 66 66 30 30 30  30 0d 5f 0a 1a 20 20 20  |,#&ff0000._..   |
0000e430  20 20 20 20 20 63 6d 70  20 20 20 20 20 72 31 31  |     cmp     r11|
0000e440  2c 23 32 0d 5f 14 20 20  20 20 20 20 20 20 20 6d  |,#2._.         m|
0000e450  6f 76 6e 65 20 20 20 72  30 2c 72 30 2c 61 73 72  |ovne   r0,r0,asr|
0000e460  20 23 39 0d 5f 1e 21 20  20 20 20 20 20 20 20 6d  | #9._.!        m|
0000e470  6f 76 65 71 20 20 20 72  30 2c 72 30 2c 6c 73 6c  |oveq   r0,r0,lsl|
0000e480  20 23 31 35 0d 5f 28 27  20 20 20 20 20 20 20 20  | #15._('        |
0000e490  6c 64 72 65 71 62 20 20  72 30 2c 5b 72 31 32 2c  |ldreqb  r0,[r12,|
0000e4a0  72 30 2c 6c 73 72 20 23  31 39 5d 0d 5f 32 1a 20  |r0,lsr #19]._2. |
0000e4b0  20 20 20 20 20 20 20 63  6d 70 20 20 20 20 20 72  |       cmp     r|
0000e4c0  31 31 2c 23 31 0d 5f 3c  1e 20 20 20 20 20 20 20  |11,#1._<.       |
0000e4d0  20 61 64 64 65 71 20 20  20 72 30 2c 72 30 2c 23  | addeq   r0,r0,#|
0000e4e0  31 32 38 0d 5f 46 1e 20  20 20 20 20 20 20 20 73  |128._F.        s|
0000e4f0  74 72 62 20 20 20 20 72  30 2c 5b 72 39 5d 2c 23  |trb    r0,[r9],#|
0000e500  31 0d 5f 50 1c 20 20 20  20 20 20 20 20 74 73 74  |1._P.        tst|
0000e510  20 20 20 20 20 72 31 30  2c 23 26 37 66 0d 5f 5a  |     r10,#&7f._Z|
0000e520  1a 20 20 20 20 20 20 20  20 62 6e 65 20 20 20 20  |.        bne    |
0000e530  20 6e 6f 68 67 75 70 0d  5f 64 20 20 20 20 20 20  | nohgup._d      |
0000e540  20 20 20 73 74 6d 66 64  20 20 20 72 31 33 21 2c  |   stmfd   r13!,|
0000e550  7b 72 30 2d 72 32 7d 0d  5f 6e 1b 20 20 20 20 20  |{r0-r2}._n.     |
0000e560  20 20 20 6d 6f 76 20 20  20 20 20 72 30 2c 23 31  |   mov     r0,#1|
0000e570  32 39 0d 5f 78 19 20 20  20 20 20 20 20 20 6d 6f  |29._x.        mo|
0000e580  76 20 20 20 20 20 72 31  2c 23 30 0d 5f 82 19 20  |v     r1,#0._.. |
0000e590  20 20 20 20 20 20 20 6d  6f 76 20 20 20 20 20 72  |       mov     r|
0000e5a0  32 2c 23 30 0d 5f 8c 1d  20 20 20 20 20 20 20 20  |2,#0._..        |
0000e5b0  73 77 69 20 20 20 20 20  22 4f 53 5f 42 79 74 65  |swi     "OS_Byte|
0000e5c0  22 0d 5f 96 19 20 20 20  20 20 20 20 20 63 6d 70  |"._..        cmp|
0000e5d0  20 20 20 20 20 72 32 2c  23 30 0d 5f a0 1b 20 20  |     r2,#0._..  |
0000e5e0  20 20 20 20 20 20 63 6d  70 65 71 20 20 20 72 31  |      cmpeq   r1|
0000e5f0  2c 23 26 31 62 0d 5f aa  20 20 20 20 20 20 20 20  |,#&1b._.        |
0000e600  20 6c 64 6d 66 64 20 20  20 72 31 33 21 2c 7b 72  | ldmfd   r13!,{r|
0000e610  30 2d 72 32 7d 0d 5f b4  18 20 20 20 20 20 20 20  |0-r2}._..       |
0000e620  20 62 65 71 20 20 20 20  20 65 73 63 70 0d 5f be  | beq     escp._.|
0000e630  21 20 20 20 20 20 20 20  20 73 74 6d 66 64 20 20  |!        stmfd  |
0000e640  20 72 31 33 21 2c 7b 72  37 2d 72 31 32 7d 0d 5f  | r13!,{r7-r12}._|
0000e650  c8 1e 20 20 20 20 20 20  20 20 73 75 62 73 20 20  |..        subs  |
0000e660  20 20 72 31 30 2c 72 37  2c 72 31 30 0d 5f d2 1a  |  r10,r7,r10._..|
0000e670  20 20 20 20 20 20 20 20  6d 6f 76 6d 69 20 20 20  |        movmi   |
0000e680  72 31 30 2c 23 30 0d 5f  dc 22 20 20 20 20 20 20  |r10,#0._."      |
0000e690  20 20 6d 6f 76 20 20 20  20 20 72 31 31 2c 72 31  |  mov     r11,r1|
0000e6a0  30 2c 6c 73 6c 20 23 32  0d 5f e6 26 20 20 20 20  |0,lsl #2._.&    |
0000e6b0  20 20 20 20 61 64 64 20  20 20 20 20 72 31 31 2c  |    add     r11,|
0000e6c0  72 31 31 2c 72 31 30 2c  6c 73 6c 20 23 35 0d 5f  |r11,r10,lsl #5._|
0000e6d0  f0 26 20 20 20 20 20 20  20 20 61 64 64 20 20 20  |.&        add   |
0000e6e0  20 20 72 31 31 2c 72 31  31 2c 72 31 30 2c 6c 73  |  r11,r11,r10,ls|
0000e6f0  6c 20 23 36 0d 5f fa 1a  20 20 20 20 20 20 20 20  |l #6._..        |
0000e700  6d 6f 76 20 20 20 20 20  72 31 30 2c 72 37 0d 60  |mov     r10,r7.`|
0000e710  04 19 20 20 20 20 20 20  20 20 62 6c 20 20 20 20  |..        bl    |
0000e720  20 20 64 69 76 33 32 0d  60 0e 1a 20 20 20 20 20  |  div32.`..     |
0000e730  20 20 20 63 6d 70 20 20  20 20 20 72 31 32 2c 23  |   cmp     r12,#|
0000e740  30 0d 60 18 1a 20 20 20  20 20 20 20 20 6d 6f 76  |0.`..        mov|
0000e750  6d 69 20 20 20 72 31 32  2c 23 30 0d 60 22 1b 20  |mi   r12,#0.`". |
0000e760  20 20 20 20 20 20 20 63  6d 70 20 20 20 20 20 72  |       cmp     r|
0000e770  31 32 2c 23 39 39 0d 60  2c 1b 20 20 20 20 20 20  |12,#99.`,.      |
0000e780  20 20 6d 6f 76 70 6c 20  20 20 72 31 32 2c 23 39  |  movpl   r12,#9|
0000e790  39 0d 60 36 1a 20 20 20  20 20 20 20 20 6d 6f 76  |9.`6.        mov|
0000e7a0  20 20 20 20 20 72 30 2c  72 31 32 0d 60 40 2a 20  |     r0,r12.`@* |
0000e7b0  20 20 20 20 20 20 20 73  77 69 20 20 20 20 20 22  |       swi     "|
0000e7c0  48 6f 75 72 67 6c 61 73  73 5f 50 65 72 63 65 6e  |Hourglass_Percen|
0000e7d0  74 61 67 65 22 0d 60 4a  21 20 20 20 20 20 20 20  |tage".`J!       |
0000e7e0  20 6c 64 6d 66 64 20 20  20 72 31 33 21 2c 7b 72  | ldmfd   r13!,{r|
0000e7f0  37 2d 72 31 32 7d 0d 60  54 1e 2e 6e 6f 68 67 75  |7-r12}.`T..nohgu|
0000e800  70 20 73 75 62 73 20 20  20 20 72 31 30 2c 72 31  |p subs    r10,r1|
0000e810  30 2c 23 31 0d 60 5e 1a  20 20 20 20 20 20 20 20  |0,#1.`^.        |
0000e820  62 6e 65 20 20 20 20 20  63 61 6c 6c 75 70 0d 60  |bne     callup.`|
0000e830  68 24 20 20 20 20 20 20  20 20 6c 64 6d 66 64 20  |h$        ldmfd |
0000e840  20 20 72 31 33 21 2c 7b  72 30 2d 72 31 32 2c 70  |  r13!,{r0-r12,p|
0000e850  63 7d 0d 60 72 1b 2e 65  73 63 70 20 20 20 6d 6f  |c}.`r..escp   mo|
0000e860  76 20 20 20 20 20 72 30  2c 23 31 32 34 0d 60 7c  |v     r0,#124.`||
0000e870  1d 20 20 20 20 20 20 20  20 73 77 69 20 20 20 20  |.        swi    |
0000e880  20 22 4f 53 5f 42 79 74  65 22 0d 60 86 24 20 20  | "OS_Byte".`.$  |
0000e890  20 20 20 20 20 20 6c 64  6d 66 64 20 20 20 72 31  |      ldmfd   r1|
0000e8a0  33 21 2c 7b 72 30 2d 72  31 32 2c 70 63 7d 0d 60  |3!,{r0-r12,pc}.`|
0000e8b0  90 04 0d 60 9a 15 2e 6c  69 6e 6c 6f 67 20 65 71  |...`...linlog eq|
0000e8c0  75 64 20 20 20 20 30 0d  60 a4 0c 3b 72 30 3d 69  |ud    0.`..;r0=i|
0000e8d0  63 6f 6e 0d 60 ae 11 3b  72 31 3d 69 63 6f 6e 69  |con.`..;r1=iconi|
0000e8e0  6e 66 6f 25 0d 60 b8 28  2e 67 65 74 6f 75 74 20  |nfo%.`.(.getout |
0000e8f0  73 74 6d 66 64 20 20 20  72 31 33 21 2c 7b 72 31  |stmfd   r13!,{r1|
0000e900  2d 72 33 2c 72 31 32 2c  72 31 34 7d 0d 60 c2 19  |-r3,r12,r14}.`..|
0000e910  20 20 20 20 20 20 20 20  63 6d 70 20 20 20 20 20  |        cmp     |
0000e920  72 30 2c 23 30 0d 60 cc  19 20 20 20 20 20 20 20  |r0,#0.`..       |
0000e930  20 6d 6f 76 6d 69 20 20  20 72 30 2c 23 30 0d 60  | movmi   r0,#0.`|
0000e940  d6 27 20 20 20 20 20 20  20 20 6c 64 6d 6d 69 66  |.'        ldmmif|
0000e950  64 20 72 31 33 21 2c 7b  72 31 2d 72 33 2c 72 31  |d r13!,{r1-r3,r1|
0000e960  32 2c 70 63 7d 0d 60 e0  24 20 20 20 20 20 20 20  |2,pc}.`.$       |
0000e970  20 61 64 64 20 20 20 20  20 72 31 32 2c 72 31 2c  | add     r12,r1,|
0000e980  72 30 2c 6c 73 6c 20 23  35 0d 60 ea 20 20 20 20  |r0,lsl #5.`.    |
0000e990  20 20 20 20 20 6c 64 72  20 20 20 20 20 72 33 2c  |     ldr     r3,|
0000e9a0  5b 72 31 32 2c 23 32 38  5d 0d 60 f4 21 20 20 20  |[r12,#28].`.!   |
0000e9b0  20 20 20 20 20 74 73 74  20 20 20 20 20 72 33 2c  |     tst     r3,|
0000e9c0  23 26 38 30 30 30 30 30  30 30 0d 60 fe 24 20 20  |#&80000000.`.$  |
0000e9d0  20 20 20 20 20 20 6f 72  72 20 20 20 20 20 72 33  |      orr     r3|
0000e9e0  2c 72 33 2c 23 26 38 30  30 30 30 30 30 30 0d 61  |,r3,#&80000000.a|
0000e9f0  08 20 20 20 20 20 20 20  20 20 73 74 72 20 20 20  |.         str   |
0000ea00  20 20 72 33 2c 5b 72 31  32 2c 23 32 38 5d 0d 61  |  r3,[r12,#28].a|
0000ea10  12 20 20 20 20 20 20 20  20 20 6c 64 72 6e 65 20  |.         ldrne |
0000ea20  20 20 72 30 2c 5b 72 31  32 2c 23 32 34 5d 0d 61  |  r0,[r12,#24].a|
0000ea30  1c 27 20 20 20 20 20 20  20 20 6c 64 6d 6e 65 66  |.'        ldmnef|
0000ea40  64 20 72 31 33 21 2c 7b  72 31 2d 72 33 2c 72 31  |d r13!,{r1-r3,r1|
0000ea50  32 2c 70 63 7d 0d 61 26  20 20 20 20 20 20 20 20  |2,pc}.a&        |
0000ea60  20 6d 6f 76 20 20 20 20  20 72 32 2c 72 30 2c 6c  | mov     r2,r0,l|
0000ea70  73 6c 20 23 35 0d 61 30  1e 20 20 20 20 20 20 20  |sl #5.a0.       |
0000ea80  20 6c 64 72 20 20 20 20  20 72 32 2c 5b 72 31 2c  | ldr     r2,[r1,|
0000ea90  72 32 5d 0d 61 3a 1a 20  20 20 20 20 20 20 20 63  |r2].a:.        c|
0000eaa0  6d 70 20 20 20 20 20 72  32 2c 23 31 33 0d 61 44  |mp     r2,#13.aD|
0000eab0  19 20 20 20 20 20 20 20  20 6d 6f 76 65 71 20 20  |.        moveq  |
0000eac0  20 72 32 2c 23 39 0d 61  4e 1a 20 20 20 20 20 20  | r2,#9.aN.      |
0000ead0  20 20 63 6d 70 20 20 20  20 20 72 32 2c 23 31 34  |  cmp     r2,#14|
0000eae0  0d 61 58 1a 20 20 20 20  20 20 20 20 6d 6f 76 65  |.aX.        move|
0000eaf0  71 20 20 20 72 32 2c 23  31 30 0d 61 62 1a 20 20  |q   r2,#10.ab.  |
0000eb00  20 20 20 20 20 20 63 6d  70 20 20 20 20 20 72 32  |      cmp     r2|
0000eb10  2c 23 31 35 0d 61 6c 1a  20 20 20 20 20 20 20 20  |,#15.al.        |
0000eb20  6d 6f 76 65 71 20 20 20  72 32 2c 23 31 31 0d 61  |moveq   r2,#11.a|
0000eb30  76 1a 20 20 20 20 20 20  20 20 63 6d 70 20 20 20  |v.        cmp   |
0000eb40  20 20 72 32 2c 23 31 36  0d 61 80 1a 20 20 20 20  |  r2,#16.a..    |
0000eb50  20 20 20 20 6d 6f 76 65  71 20 20 20 72 32 2c 23  |    moveq   r2,#|
0000eb60  31 32 0d 61 8a 1a 20 20  20 20 20 20 20 20 63 6d  |12.a..        cm|
0000eb70  70 20 20 20 20 20 72 32  2c 23 31 37 0d 61 94 1a  |p     r2,#17.a..|
0000eb80  20 20 20 20 20 20 20 20  6d 6f 76 65 71 20 20 20  |        moveq   |
0000eb90  72 32 2c 23 31 33 0d 61  9e 1a 20 20 20 20 20 20  |r2,#13.a..      |
0000eba0  20 20 63 6d 70 20 20 20  20 20 72 32 2c 23 31 38  |  cmp     r2,#18|
0000ebb0  0d 61 a8 1a 20 20 20 20  20 20 20 20 6d 6f 76 65  |.a..        move|
0000ebc0  71 20 20 20 72 32 2c 23  31 34 0d 61 b2 19 20 20  |q   r2,#14.a..  |
0000ebd0  20 20 20 20 20 20 63 6d  70 20 20 20 20 20 72 32  |      cmp     r2|
0000ebe0  2c 23 30 0d 61 bc 19 20  20 20 20 20 20 20 20 6d  |,#0.a..        m|
0000ebf0  6f 76 6d 69 20 20 20 72  30 2c 23 30 0d 61 c6 27  |ovmi   r0,#0.a.'|
0000ec00  20 20 20 20 20 20 20 20  6c 64 6d 6d 69 66 64 20  |        ldmmifd |
0000ec10  72 31 33 21 2c 7b 72 31  2d 72 33 2c 72 31 32 2c  |r13!,{r1-r3,r12,|
0000ec20  70 63 7d 0d 61 d0 1a 20  20 20 20 20 20 20 20 63  |pc}.a..        c|
0000ec30  6d 70 20 20 20 20 20 72  32 2c 23 31 35 0d 61 da  |mp     r2,#15.a.|
0000ec40  19 20 20 20 20 20 20 20  20 6d 6f 76 70 6c 20 20  |.        movpl  |
0000ec50  20 72 30 2c 23 30 0d 61  e4 27 20 20 20 20 20 20  | r0,#0.a.'      |
0000ec60  20 20 6c 64 6d 70 6c 66  64 20 72 31 33 21 2c 7b  |  ldmplfd r13!,{|
0000ec70  72 31 2d 72 33 2c 72 31  32 2c 70 63 7d 0d 61 ee  |r1-r3,r12,pc}.a.|
0000ec80  1d 20 20 20 20 20 20 20  20 61 64 72 20 20 20 20  |.        adr    |
0000ec90  20 72 33 2c 6a 6d 70 74  61 62 0d 61 f8 1e 20 20  | r3,jmptab.a..  |
0000eca0  20 20 20 20 20 20 61 64  72 20 20 20 20 20 72 31  |      adr     r1|
0000ecb0  34 2c 72 65 74 75 72 6e  0d 62 02 25 20 20 20 20  |4,return.b.%    |
0000ecc0  20 20 20 20 6c 64 72 20  20 20 20 20 70 63 2c 5b  |    ldr     pc,[|
0000ecd0  72 33 2c 72 32 2c 6c 73  6c 20 23 32 5d 0d 62 0c  |r3,r2,lsl #2].b.|
0000ece0  20 2e 72 65 74 75 72 6e  20 73 74 72 20 20 20 20  | .return str    |
0000ecf0  20 72 30 2c 5b 72 31 32  2c 23 32 34 5d 0d 62 16  | r0,[r12,#24].b.|
0000ed00  27 20 20 20 20 20 20 20  20 6c 64 6d 66 64 20 20  |'        ldmfd  |
0000ed10  20 72 31 33 21 2c 7b 72  31 2d 72 33 2c 72 31 32  | r13!,{r1-r3,r12|
0000ed20  2c 70 63 7d 0d 62 20 04  0d 62 2a 26 2e 6a 6d 70  |,pc}.b ..b*&.jmp|
0000ed30  74 61 62 20 65 71 75 64  20 20 20 20 67 65 74 4f  |tab equd    getO|
0000ed40  76 63 6f 20 20 20 20 20  20 20 20 20 3b 30 0d 62  |vco         ;0.b|
0000ed50  34 26 20 20 20 20 20 20  20 20 65 71 75 64 20 20  |4&        equd  |
0000ed60  20 20 67 65 74 4f 6e 6f  69 73 65 20 20 20 20 20  |  getOnoise     |
0000ed70  20 20 3b 31 0d 62 3e 26  20 20 20 20 20 20 20 20  |  ;1.b>&        |
0000ed80  65 71 75 64 20 20 20 20  67 65 74 4f 65 67 20 20  |equd    getOeg  |
0000ed90  20 20 20 20 20 20 20 20  3b 32 0d 62 48 26 20 20  |        ;2.bH&  |
0000eda0  20 20 20 20 20 20 65 71  75 64 20 20 20 20 67 65  |      equd    ge|
0000edb0  74 4f 6c 70 61 73 73 20  20 20 20 20 20 20 3b 33  |tOlpass       ;3|
0000edc0  0d 62 52 26 20 20 20 20  20 20 20 20 65 71 75 64  |.bR&        equd|
0000edd0  20 20 20 20 67 65 74 4f  68 70 61 73 73 20 20 20  |    getOhpass   |
0000ede0  20 20 20 20 3b 34 0d 62  5c 26 20 20 20 20 20 20  |    ;4.b\&      |
0000edf0  20 20 65 71 75 64 20 20  20 20 67 65 74 4f 63 6f  |  equd    getOco|
0000ee00  6e 73 74 20 20 20 20 20  20 20 3b 35 0d 62 66 26  |nst       ;5.bf&|
0000ee10  20 20 20 20 20 20 20 20  65 71 75 64 20 20 20 20  |        equd    |
0000ee20  67 65 74 4f 6d 75 6c 74  20 20 20 20 20 20 20 20  |getOmult        |
0000ee30  3b 36 0d 62 70 26 20 20  20 20 20 20 20 20 65 71  |;6.bp&        eq|
0000ee40  75 64 20 20 20 20 67 65  74 4f 6d 75 6c 74 63 20  |ud    getOmultc |
0000ee50  20 20 20 20 20 20 3b 37  0d 62 7a 26 20 20 20 20  |      ;7.bz&    |
0000ee60  20 20 20 20 65 71 75 64  20 20 20 20 67 65 74 4f  |    equd    getO|
0000ee70  61 64 64 20 20 20 20 20  20 20 20 20 3b 38 0d 62  |add         ;8.b|
0000ee80  84 27 20 20 20 20 20 20  20 20 65 71 75 64 20 20  |.'        equd  |
0000ee90  20 20 67 65 74 4f 73 75  62 20 20 20 20 20 20 20  |  getOsub       |
0000eea0  20 20 3b 31 33 0d 62 8e  27 20 20 20 20 20 20 20  |  ;13.b.'       |
0000eeb0  20 65 71 75 64 20 20 20  20 67 65 74 4f 70 75 6c  | equd    getOpul|
0000eec0  73 65 20 20 20 20 20 20  20 3b 31 34 0d 62 98 27  |se       ;14.b.'|
0000eed0  20 20 20 20 20 20 20 20  65 71 75 64 20 20 20 20  |        equd    |
0000eee0  67 65 74 4f 64 65 6c 61  79 20 20 20 20 20 20 20  |getOdelay       |
0000eef0  3b 31 35 0d 62 a2 27 20  20 20 20 20 20 20 20 65  |;15.b.'        e|
0000ef00  71 75 64 20 20 20 20 67  65 74 4f 69 6e 70 75 74  |qud    getOinput|
0000ef10  20 20 20 20 20 20 20 3b  31 36 0d 62 ac 27 20 20  |       ;16.b.'  |
0000ef20  20 20 20 20 20 20 65 71  75 64 20 20 20 20 67 65  |      equd    ge|
0000ef30  74 4f 73 68 20 20 20 20  20 20 20 20 20 20 3b 31  |tOsh          ;1|
0000ef40  37 0d 62 b6 27 20 20 20  20 20 20 20 20 65 71 75  |7.b.'        equ|
0000ef50  64 20 20 20 20 67 65 74  4f 6e 6c 64 20 20 20 20  |d    getOnld    |
0000ef60  20 20 20 20 20 3b 31 38  0d 62 c0 04 0d 62 ca 0c  |     ;18.b...b..|
0000ef70  2e 67 65 74 4f 76 63 6f  0d 62 d4 24 20 20 20 20  |.getOvco.b.$    |
0000ef80  20 20 20 20 73 74 6d 66  64 20 20 20 72 31 33 21  |    stmfd   r13!|
0000ef90  2c 7b 72 31 2d 72 35 2c  72 31 34 7d 0d 62 de 23  |,{r1-r5,r14}.b.#|
0000efa0  20 20 20 20 20 20 20 20  61 64 64 20 20 20 20 20  |        add     |
0000efb0  72 32 2c 72 31 2c 72 30  2c 6c 73 6c 20 23 35 0d  |r2,r1,r0,lsl #5.|
0000efc0  62 e8 1f 20 20 20 20 20  20 20 20 6c 64 72 20 20  |b..        ldr  |
0000efd0  20 20 20 72 30 2c 5b 72  32 2c 23 31 36 5d 0d 62  |   r0,[r2,#16].b|
0000efe0  f2 1a 20 20 20 20 20 20  20 20 62 6c 20 20 20 20  |..        bl    |
0000eff0  20 20 67 65 74 6f 75 74  0d 62 fc 19 20 20 20 20  |  getout.b..    |
0000f000  20 20 20 20 6d 6f 76 20  20 20 20 20 72 35 2c 72  |    mov     r5,r|
0000f010  30 0d 63 06 1f 20 20 20  20 20 20 20 20 6c 64 72  |0.c..        ldr|
0000f020  20 20 20 20 20 72 30 2c  5b 72 32 2c 23 32 30 5d  |     r0,[r2,#20]|
0000f030  0d 63 10 1a 20 20 20 20  20 20 20 20 62 6c 20 20  |.c..        bl  |
0000f040  20 20 20 20 67 65 74 6f  75 74 0d 63 1a 1f 20 20  |    getout.c..  |
0000f050  20 20 20 20 20 20 6c 64  72 20 20 20 20 20 72 32  |      ldr     r2|
0000f060  2c 5b 72 32 2c 23 31 32  5d 0d 63 24 1b 20 20 20  |,[r2,#12].c$.   |
0000f070  20 20 20 20 20 6c 64 72  20 20 20 20 20 72 33 2c  |     ldr     r3,|
0000f080  5b 72 32 5d 0d 63 2e 21  20 20 20 20 20 20 20 20  |[r2].c.!        |
0000f090  74 73 74 20 20 20 20 20  72 33 2c 23 26 38 30 30  |tst     r3,#&800|
0000f0a0  30 30 30 30 30 0d 63 38  24 20 20 20 20 20 20 20  |00000.c8$       |
0000f0b0  20 62 69 63 20 20 20 20  20 72 33 2c 72 33 2c 23  | bic     r3,r3,#|
0000f0c0  26 66 66 30 30 30 30 30  30 0d 63 42 1a 20 20 20  |&ff000000.cB.   |
0000f0d0  20 20 20 20 20 62 6e 65  20 20 20 20 20 6e 6f 72  |     bne     nor|
0000f0e0  65 73 76 0d 63 4c 19 20  20 20 20 20 20 20 20 63  |esv.cL.        c|
0000f0f0  6d 70 20 20 20 20 20 72  30 2c 23 30 0d 63 56 19  |mp     r0,#0.cV.|
0000f100  20 20 20 20 20 20 20 20  6d 6f 76 70 6c 20 20 20  |        movpl   |
0000f110  72 33 2c 23 30 0d 63 60  21 2e 6e 6f 72 65 73 76  |r3,#0.c`!.noresv|
0000f120  20 61 64 64 20 20 20 20  20 72 33 2c 72 33 2c 23  | add     r3,r3,#|
0000f130  26 34 30 30 30 30 0d 63  6a 26 20 20 20 20 20 20  |&40000.cj&      |
0000f140  20 20 6c 64 72 62 20 20  20 20 72 34 2c 5b 72 32  |  ldrb    r4,[r2|
0000f150  2c 72 33 2c 6c 73 72 20  23 31 36 5d 0d 63 74 21  |,r3,lsr #16].ct!|
0000f160  20 20 20 20 20 20 20 20  73 75 62 20 20 20 20 20  |        sub     |
0000f170  72 33 2c 72 33 2c 23 26  34 30 30 30 30 0d 63 7e  |r3,r3,#&40000.c~|
0000f180  1c 20 20 20 20 20 20 20  20 61 64 64 20 20 20 20  |.        add    |
0000f190  20 72 33 2c 72 33 2c 72  35 0d 63 88 24 20 20 20  | r3,r3,r5.c.$   |
0000f1a0  20 20 20 20 20 62 69 63  20 20 20 20 20 72 33 2c  |     bic     r3,|
0000f1b0  72 33 2c 23 26 66 66 30  30 30 30 30 30 0d 63 92  |r3,#&ff000000.c.|
0000f1c0  19 20 20 20 20 20 20 20  20 63 6d 70 20 20 20 20  |.        cmp    |
0000f1d0  20 72 30 2c 23 30 0d 63  9c 24 20 20 20 20 20 20  | r0,#0.c.$      |
0000f1e0  20 20 6f 72 72 70 6c 20  20 20 72 33 2c 72 33 2c  |  orrpl   r3,r3,|
0000f1f0  23 26 38 30 30 30 30 30  30 30 0d 63 a6 1b 20 20  |#&80000000.c..  |
0000f200  20 20 20 20 20 20 73 74  72 20 20 20 20 20 72 33  |      str     r3|
0000f210  2c 5b 72 32 5d 0d 63 b0  21 20 20 20 20 20 20 20  |,[r2].c.!       |
0000f220  20 6d 6f 76 20 20 20 20  20 72 30 2c 72 34 2c 6c  | mov     r0,r4,l|
0000f230  73 6c 20 23 32 34 0d 63  ba 21 20 20 20 20 20 20  |sl #24.c.!      |
0000f240  20 20 6d 6f 76 20 20 20  20 20 72 30 2c 72 30 2c  |  mov     r0,r0,|
0000f250  61 73 72 20 23 31 35 0d  63 c4 24 20 20 20 20 20  |asr #15.c.$     |
0000f260  20 20 20 6c 64 6d 66 64  20 20 20 72 31 33 21 2c  |   ldmfd   r13!,|
0000f270  7b 72 31 2d 72 35 2c 70  63 7d 5e 0d 63 ce 04 0d  |{r1-r5,pc}^.c...|
0000f280  63 d8 0e 2e 67 65 74 4f  6e 6f 69 73 65 0d 63 e2  |c...getOnoise.c.|
0000f290  24 20 20 20 20 20 20 20  20 73 74 6d 66 64 20 20  |$        stmfd  |
0000f2a0  20 72 31 33 21 2c 7b 72  31 2d 72 36 2c 72 31 34  | r13!,{r1-r6,r14|
0000f2b0  7d 0d 63 ec 23 20 20 20  20 20 20 20 20 61 64 64  |}.c.#        add|
0000f2c0  20 20 20 20 20 72 32 2c  72 31 2c 72 30 2c 6c 73  |     r2,r1,r0,ls|
0000f2d0  6c 20 23 35 0d 63 f6 1d  20 20 20 20 20 20 20 20  |l #5.c..        |
0000f2e0  73 74 6d 66 64 20 20 20  72 31 33 21 2c 7b 72 32  |stmfd   r13!,{r2|
0000f2f0  7d 0d 64 00 1f 20 20 20  20 20 20 20 20 6c 64 72  |}.d..        ldr|
0000f300  20 20 20 20 20 72 30 2c  5b 72 32 2c 23 31 36 5d  |     r0,[r2,#16]|
0000f310  0d 64 0a 1a 20 20 20 20  20 20 20 20 62 6c 20 20  |.d..        bl  |
0000f320  20 20 20 20 67 65 74 6f  75 74 0d 64 14 1d 20 20  |    getout.d..  |
0000f330  20 20 20 20 20 20 6c 64  6d 66 64 20 20 20 72 31  |      ldmfd   r1|
0000f340  33 21 2c 7b 72 32 7d 0d  64 1e 1f 20 20 20 20 20  |3!,{r2}.d..     |
0000f350  20 20 20 6c 64 72 20 20  20 20 20 72 32 2c 5b 72  |   ldr     r2,[r|
0000f360  32 2c 23 31 32 5d 0d 64  28 1e 20 20 20 20 20 20  |2,#12].d(.      |
0000f370  20 20 6c 64 72 20 20 20  20 20 72 33 2c 5b 72 32  |  ldr     r3,[r2|
0000f380  2c 23 38 5d 0d 64 32 1c  20 20 20 20 20 20 20 20  |,#8].d2.        |
0000f390  61 64 64 20 20 20 20 20  72 34 2c 72 33 2c 72 30  |add     r4,r3,r0|
0000f3a0  0d 64 3c 1e 20 20 20 20  20 20 20 20 73 74 72 20  |.d<.        str |
0000f3b0  20 20 20 20 72 34 2c 5b  72 32 2c 23 38 5d 0d 64  |    r4,[r2,#8].d|
0000f3c0  46 21 20 20 20 20 20 20  20 20 6d 6f 76 20 20 20  |F!        mov   |
0000f3d0  20 20 72 34 2c 72 34 2c  6c 73 72 20 23 31 36 0d  |  r4,r4,lsr #16.|
0000f3e0  64 50 21 20 20 20 20 20  20 20 20 63 6d 70 20 20  |dP!        cmp  |
0000f3f0  20 20 20 72 34 2c 72 33  2c 6c 73 72 20 23 31 36  |   r4,r3,lsr #16|
0000f400  0d 64 5a 1a 20 20 20 20  20 20 20 20 62 65 71 20  |.dZ.        beq |
0000f410  20 20 20 20 6e 6f 6e 65  77 72 0d 64 64 1b 20 20  |    nonewr.dd.  |
0000f420  20 20 20 20 20 20 6c 64  72 20 20 20 20 20 72 30  |      ldr     r0|
0000f430  2c 5b 72 32 5d 0d 64 6e  1d 20 20 20 20 20 20 20  |,[r2].dn.       |
0000f440  20 6c 64 72 20 20 20 20  20 72 34 2c 72 61 6e 78  | ldr     r4,ranx|
0000f450  6f 72 0d 64 78 1a 20 20  20 20 20 20 20 20 6d 6f  |or.dx.        mo|
0000f460  76 20 20 20 20 20 72 33  2c 23 31 36 0d 64 82 19  |v     r3,#16.d..|
0000f470  20 20 20 20 20 20 20 20  6d 6f 76 20 20 20 20 20  |        mov     |
0000f480  72 35 2c 23 30 0d 64 8c  20 2e 72 61 6e 64 6c 70  |r5,#0.d. .randlp|
0000f490  20 6d 6f 76 73 20 20 20  20 72 30 2c 72 30 2c 6c  | movs    r0,r0,l|
0000f4a0  73 6c 20 23 31 0d 64 96  1c 20 20 20 20 20 20 20  |sl #1.d..       |
0000f4b0  20 65 6f 72 63 73 20 20  20 72 30 2c 72 30 2c 72  | eorcs   r0,r0,r|
0000f4c0  34 0d 64 a0 24 20 20 20  20 20 20 20 20 61 6e 64  |4.d.$        and|
0000f4d0  20 20 20 20 20 72 36 2c  72 30 2c 23 26 38 30 30  |     r6,r0,#&800|
0000f4e0  30 30 30 30 30 0d 64 aa  23 20 20 20 20 20 20 20  |00000.d.#       |
0000f4f0  20 6f 72 72 20 20 20 20  20 72 35 2c 72 36 2c 72  | orr     r5,r6,r|
0000f500  35 2c 6c 73 72 20 23 31  0d 64 b4 1c 20 20 20 20  |5,lsr #1.d..    |
0000f510  20 20 20 20 73 75 62 73  20 20 20 20 72 33 2c 72  |    subs    r3,r|
0000f520  33 2c 23 31 0d 64 be 1a  20 20 20 20 20 20 20 20  |3,#1.d..        |
0000f530  62 6e 65 20 20 20 20 20  72 61 6e 64 6c 70 0d 64  |bne     randlp.d|
0000f540  c8 1b 20 20 20 20 20 20  20 20 73 74 72 20 20 20  |..        str   |
0000f550  20 20 72 30 2c 5b 72 32  5d 0d 64 d2 21 20 20 20  |  r0,[r2].d.!   |
0000f560  20 20 20 20 20 6d 6f 76  20 20 20 20 20 72 30 2c  |     mov     r0,|
0000f570  72 35 2c 61 73 72 20 23  31 35 0d 64 dc 1e 20 20  |r5,asr #15.d..  |
0000f580  20 20 20 20 20 20 73 74  72 20 20 20 20 20 72 30  |      str     r0|
0000f590  2c 5b 72 32 2c 23 34 5d  0d 64 e6 1e 2e 6e 6f 6e  |,[r2,#4].d...non|
0000f5a0  65 77 72 20 6c 64 72 20  20 20 20 20 72 30 2c 5b  |ewr ldr     r0,[|
0000f5b0  72 32 2c 23 34 5d 0d 64  f0 21 20 20 20 20 20 20  |r2,#4].d.!      |
0000f5c0  20 20 6d 6f 76 20 20 20  20 20 72 30 2c 72 30 2c  |  mov     r0,r0,|
0000f5d0  61 73 6c 20 23 31 35 0d  64 fa 21 20 20 20 20 20  |asl #15.d.!     |
0000f5e0  20 20 20 6d 6f 76 20 20  20 20 20 72 30 2c 72 30  |   mov     r0,r0|
0000f5f0  2c 61 73 72 20 23 31 35  0d 65 04 24 20 20 20 20  |,asr #15.e.$    |
0000f600  20 20 20 20 6c 64 6d 66  64 20 20 20 72 31 33 21  |    ldmfd   r13!|
0000f610  2c 7b 72 31 2d 72 36 2c  70 63 7d 5e 0d 65 0e 1d  |,{r1-r6,pc}^.e..|
0000f620  2e 72 61 6e 78 6f 72 20  65 71 75 64 20 20 20 20  |.ranxor equd    |
0000f630  26 31 64 38 37 32 62 34  31 0d 65 18 04 0d 65 22  |&1d872b41.e...e"|
0000f640  0b 2e 67 65 74 4f 65 67  0d 65 2c 24 20 20 20 20  |..getOeg.e,$    |
0000f650  20 20 20 20 73 74 6d 66  64 20 20 20 72 31 33 21  |    stmfd   r13!|
0000f660  2c 7b 72 31 2d 72 34 2c  72 31 34 7d 0d 65 36 23  |,{r1-r4,r14}.e6#|
0000f670  20 20 20 20 20 20 20 20  61 64 64 20 20 20 20 20  |        add     |
0000f680  72 32 2c 72 31 2c 72 30  2c 6c 73 6c 20 23 35 0d  |r2,r1,r0,lsl #5.|
0000f690  65 40 1f 20 20 20 20 20  20 20 20 6c 64 72 20 20  |e@.        ldr  |
0000f6a0  20 20 20 72 32 2c 5b 72  32 2c 23 31 32 5d 0d 65  |   r2,[r2,#12].e|
0000f6b0  4a 1b 20 20 20 20 20 20  20 20 6c 64 72 20 20 20  |J.        ldr   |
0000f6c0  20 20 72 33 2c 5b 72 32  5d 0d 65 54 21 20 20 20  |  r3,[r2].eT!   |
0000f6d0  20 20 20 20 20 61 64 64  20 20 20 20 20 72 33 2c  |     add     r3,|
0000f6e0  72 33 2c 23 26 38 30 30  30 30 0d 65 5e 26 20 20  |r3,#&80000.e^&  |
0000f6f0  20 20 20 20 20 20 6c 64  72 62 20 20 20 20 72 34  |      ldrb    r4|
0000f700  2c 5b 72 32 2c 72 33 2c  6c 73 72 20 23 31 36 5d  |,[r2,r3,lsr #16]|
0000f710  0d 65 68 21 20 20 20 20  20 20 20 20 73 75 62 20  |.eh!        sub |
0000f720  20 20 20 20 72 33 2c 72  33 2c 23 26 38 30 30 30  |    r3,r3,#&8000|
0000f730  30 0d 65 72 1e 20 20 20  20 20 20 20 20 6c 64 72  |0.er.        ldr|
0000f740  20 20 20 20 20 72 30 2c  5b 72 32 2c 23 34 5d 0d  |     r0,[r2,#4].|
0000f750  65 7c 1c 20 20 20 20 20  20 20 20 61 64 64 20 20  |e|.        add  |
0000f760  20 20 20 72 33 2c 72 33  2c 72 30 0d 65 86 24 20  |   r3,r3,r0.e.$ |
0000f770  20 20 20 20 20 20 20 62  69 63 20 20 20 20 20 72  |       bic     r|
0000f780  33 2c 72 33 2c 23 26 66  65 30 30 30 30 30 30 0d  |3,r3,#&fe000000.|
0000f790  65 90 1b 20 20 20 20 20  20 20 20 73 74 72 20 20  |e..        str  |
0000f7a0  20 20 20 72 33 2c 5b 72  32 5d 0d 65 9a 20 20 20  |   r3,[r2].e.   |
0000f7b0  20 20 20 20 20 20 6d 6f  76 20 20 20 20 20 72 30  |      mov     r0|
0000f7c0  2c 72 34 2c 6c 73 6c 20  23 38 0d 65 a4 24 20 20  |,r4,lsl #8.e.$  |
0000f7d0  20 20 20 20 20 20 6c 64  6d 66 64 20 20 20 72 31  |      ldmfd   r1|
0000f7e0  33 21 2c 7b 72 31 2d 72  34 2c 70 63 7d 5e 0d 65  |3!,{r1-r4,pc}^.e|
0000f7f0  ae 04 0d 65 b8 0e 2e 67  65 74 4f 6c 70 61 73 73  |...e...getOlpass|
0000f800  0d 65 c2 25 20 20 20 20  20 20 20 20 73 74 6d 66  |.e.%        stmf|
0000f810  64 20 20 20 72 31 33 21  2c 7b 72 31 2d 72 31 32  |d   r13!,{r1-r12|
0000f820  2c 72 31 34 7d 0d 65 cc  23 20 20 20 20 20 20 20  |,r14}.e.#       |
0000f830  20 61 64 64 20 20 20 20  20 72 32 2c 72 31 2c 72  | add     r2,r1,r|
0000f840  30 2c 6c 73 6c 20 23 35  0d 65 d6 1f 20 20 20 20  |0,lsl #5.e..    |
0000f850  20 20 20 20 6c 64 72 20  20 20 20 20 72 30 2c 5b  |    ldr     r0,[|
0000f860  72 32 2c 23 31 36 5d 0d  65 e0 1a 20 20 20 20 20  |r2,#16].e..     |
0000f870  20 20 20 62 6c 20 20 20  20 20 20 67 65 74 6f 75  |   bl      getou|
0000f880  74 0d 65 ea 19 20 20 20  20 20 20 20 20 6d 6f 76  |t.e..        mov|
0000f890  20 20 20 20 20 72 35 2c  72 30 0d 65 f4 1f 20 20  |     r5,r0.e..  |
0000f8a0  20 20 20 20 20 20 6c 64  72 20 20 20 20 20 72 30  |      ldr     r0|
0000f8b0  2c 5b 72 32 2c 23 32 30  5d 0d 65 fe 1a 20 20 20  |,[r2,#20].e..   |
0000f8c0  20 20 20 20 20 62 6c 20  20 20 20 20 20 67 65 74  |     bl      get|
0000f8d0  6f 75 74 0d 66 08 19 20  20 20 20 20 20 20 20 63  |out.f..        c|
0000f8e0  6d 70 20 20 20 20 20 72  30 2c 23 30 0d 66 12 19  |mp     r0,#0.f..|
0000f8f0  20 20 20 20 20 20 20 20  6d 6f 76 6d 69 20 20 20  |        movmi   |
0000f900  72 30 2c 23 30 0d 66 1c  1e 20 20 20 20 20 20 20  |r0,#0.f..       |
0000f910  20 63 6d 70 20 20 20 20  20 72 30 2c 23 26 31 30  | cmp     r0,#&10|
0000f920  30 30 30 0d 66 26 1e 20  20 20 20 20 20 20 20 6d  |000.f&.        m|
0000f930  6f 76 70 6c 20 20 20 72  30 2c 23 26 31 30 30 30  |ovpl   r0,#&1000|
0000f940  30 0d 66 30 19 20 20 20  20 20 20 20 20 6d 6f 76  |0.f0.        mov|
0000f950  20 20 20 20 20 72 36 2c  72 30 0d 66 3a 1f 20 20  |     r6,r0.f:.  |
0000f960  20 20 20 20 20 20 6c 64  72 20 20 20 20 20 72 37  |      ldr     r7|
0000f970  2c 5b 72 32 2c 23 31 32  5d 0d 66 44 19 20 20 20  |,[r2,#12].fD.   |
0000f980  20 20 20 20 20 6d 6f 76  20 20 20 20 20 72 33 2c  |     mov     r3,|
0000f990  72 36 0d 66 4e 1b 20 20  20 20 20 20 20 20 6c 64  |r6.fN.        ld|
0000f9a0  72 20 20 20 20 20 72 32  2c 5b 72 37 5d 0d 66 58  |r     r2,[r7].fX|
0000f9b0  1c 20 20 20 20 20 20 20  20 73 75 62 20 20 20 20  |.        sub    |
0000f9c0  20 72 32 2c 72 35 2c 72  32 0d 66 62 1a 20 20 20  | r2,r5,r2.fb.   |
0000f9d0  20 20 20 20 20 62 6c 20  20 20 20 20 20 6d 75 6c  |     bl      mul|
0000f9e0  74 36 34 0d 66 6c 1b 20  20 20 20 20 20 20 20 6c  |t64.fl.        l|
0000f9f0  64 72 20 20 20 20 20 72  32 2c 5b 72 37 5d 0d 66  |dr     r2,[r7].f|
0000fa00  76 1c 20 20 20 20 20 20  20 20 61 64 64 20 20 20  |v.        add   |
0000fa10  20 20 72 30 2c 72 30 2c  72 32 0d 66 80 1b 20 20  |  r0,r0,r2.f..  |
0000fa20  20 20 20 20 20 20 73 74  72 20 20 20 20 20 72 30  |      str     r0|
0000fa30  2c 5b 72 37 5d 0d 66 8a  19 20 20 20 20 20 20 20  |,[r7].f..       |
0000fa40  20 6d 6f 76 20 20 20 20  20 72 30 2c 72 32 0d 66  | mov     r0,r2.f|
0000fa50  94 25 20 20 20 20 20 20  20 20 6c 64 6d 66 64 20  |.%        ldmfd |
0000fa60  20 20 72 31 33 21 2c 7b  72 31 2d 72 31 32 2c 70  |  r13!,{r1-r12,p|
0000fa70  63 7d 5e 0d 66 9e 04 0d  66 a8 0e 2e 67 65 74 4f  |c}^.f...f...getO|
0000fa80  68 70 61 73 73 0d 66 b2  25 20 20 20 20 20 20 20  |hpass.f.%       |
0000fa90  20 73 74 6d 66 64 20 20  20 72 31 33 21 2c 7b 72  | stmfd   r13!,{r|
0000faa0  31 2d 72 31 32 2c 72 31  34 7d 0d 66 bc 23 20 20  |1-r12,r14}.f.#  |
0000fab0  20 20 20 20 20 20 61 64  64 20 20 20 20 20 72 32  |      add     r2|
0000fac0  2c 72 31 2c 72 30 2c 6c  73 6c 20 23 35 0d 66 c6  |,r1,r0,lsl #5.f.|
0000fad0  1f 20 20 20 20 20 20 20  20 6c 64 72 20 20 20 20  |.        ldr    |
0000fae0  20 72 30 2c 5b 72 32 2c  23 31 36 5d 0d 66 d0 1a  | r0,[r2,#16].f..|
0000faf0  20 20 20 20 20 20 20 20  62 6c 20 20 20 20 20 20  |        bl      |
0000fb00  67 65 74 6f 75 74 0d 66  da 19 20 20 20 20 20 20  |getout.f..      |
0000fb10  20 20 6d 6f 76 20 20 20  20 20 72 35 2c 72 30 0d  |  mov     r5,r0.|
0000fb20  66 e4 1f 20 20 20 20 20  20 20 20 6c 64 72 20 20  |f..        ldr  |
0000fb30  20 20 20 72 30 2c 5b 72  32 2c 23 32 30 5d 0d 66  |   r0,[r2,#20].f|
0000fb40  ee 1a 20 20 20 20 20 20  20 20 62 6c 20 20 20 20  |..        bl    |
0000fb50  20 20 67 65 74 6f 75 74  0d 66 f8 19 20 20 20 20  |  getout.f..    |
0000fb60  20 20 20 20 63 6d 70 20  20 20 20 20 72 30 2c 23  |    cmp     r0,#|
0000fb70  30 0d 67 02 19 20 20 20  20 20 20 20 20 6d 6f 76  |0.g..        mov|
0000fb80  6d 69 20 20 20 72 30 2c  23 30 0d 67 0c 1e 20 20  |mi   r0,#0.g..  |
0000fb90  20 20 20 20 20 20 63 6d  70 20 20 20 20 20 72 30  |      cmp     r0|
0000fba0  2c 23 26 31 30 30 30 30  0d 67 16 1e 20 20 20 20  |,#&10000.g..    |
0000fbb0  20 20 20 20 6d 6f 76 70  6c 20 20 20 72 30 2c 23  |    movpl   r0,#|
0000fbc0  26 31 30 30 30 30 0d 67  20 19 20 20 20 20 20 20  |&10000.g .      |
0000fbd0  20 20 6d 6f 76 20 20 20  20 20 72 36 2c 72 30 0d  |  mov     r6,r0.|
0000fbe0  67 2a 1f 20 20 20 20 20  20 20 20 6c 64 72 20 20  |g*.        ldr  |
0000fbf0  20 20 20 72 37 2c 5b 72  32 2c 23 31 32 5d 0d 67  |   r7,[r2,#12].g|
0000fc00  34 19 20 20 20 20 20 20  20 20 6d 6f 76 20 20 20  |4.        mov   |
0000fc10  20 20 72 33 2c 72 36 0d  67 3e 1b 20 20 20 20 20  |  r3,r6.g>.     |
0000fc20  20 20 20 6c 64 72 20 20  20 20 20 72 32 2c 5b 72  |   ldr     r2,[r|
0000fc30  37 5d 0d 67 48 1c 20 20  20 20 20 20 20 20 73 75  |7].gH.        su|
0000fc40  62 20 20 20 20 20 72 32  2c 72 35 2c 72 32 0d 67  |b     r2,r5,r2.g|
0000fc50  52 1a 20 20 20 20 20 20  20 20 62 6c 20 20 20 20  |R.        bl    |
0000fc60  20 20 6d 75 6c 74 36 34  0d 67 5c 1b 20 20 20 20  |  mult64.g\.    |
0000fc70  20 20 20 20 6c 64 72 20  20 20 20 20 72 32 2c 5b  |    ldr     r2,[|
0000fc80  72 37 5d 0d 67 66 1c 20  20 20 20 20 20 20 20 61  |r7].gf.        a|
0000fc90  64 64 20 20 20 20 20 72  30 2c 72 30 2c 72 32 0d  |dd     r0,r0,r2.|
0000fca0  67 70 1b 20 20 20 20 20  20 20 20 73 74 72 20 20  |gp.        str  |
0000fcb0  20 20 20 72 30 2c 5b 72  37 5d 0d 67 7a 1c 20 20  |   r0,[r7].gz.  |
0000fcc0  20 20 20 20 20 20 73 75  62 20 20 20 20 20 72 30  |      sub     r0|
0000fcd0  2c 72 35 2c 72 32 0d 67  84 25 20 20 20 20 20 20  |,r5,r2.g.%      |
0000fce0  20 20 6c 64 6d 66 64 20  20 20 72 31 33 21 2c 7b  |  ldmfd   r13!,{|
0000fcf0  72 31 2d 72 31 32 2c 70  63 7d 5e 0d 67 8e 04 0d  |r1-r12,pc}^.g...|
0000fd00  67 98 0e 2e 67 65 74 4f  63 6f 6e 73 74 0d 67 a2  |g...getOconst.g.|
0000fd10  21 20 20 20 20 20 20 20  20 73 74 6d 66 64 20 20  |!        stmfd  |
0000fd20  20 72 31 33 21 2c 7b 72  31 2c 72 31 34 7d 0d 67  | r13!,{r1,r14}.g|
0000fd30  ac 23 20 20 20 20 20 20  20 20 61 64 64 20 20 20  |.#        add   |
0000fd40  20 20 72 30 2c 72 31 2c  72 30 2c 6c 73 6c 20 23  |  r0,r1,r0,lsl #|
0000fd50  35 0d 67 b6 1f 20 20 20  20 20 20 20 20 6c 64 72  |5.g..        ldr|
0000fd60  20 20 20 20 20 72 30 2c  5b 72 30 2c 23 31 32 5d  |     r0,[r0,#12]|
0000fd70  0d 67 c0 1b 20 20 20 20  20 20 20 20 6c 64 72 20  |.g..        ldr |
0000fd80  20 20 20 20 72 30 2c 5b  72 30 5d 0d 67 ca 21 20  |    r0,[r0].g.! |
0000fd90  20 20 20 20 20 20 20 6c  64 6d 66 64 20 20 20 72  |       ldmfd   r|
0000fda0  31 33 21 2c 7b 72 31 2c  70 63 7d 5e 0d 67 d4 04  |13!,{r1,pc}^.g..|
0000fdb0  0d 67 de 0d 2e 67 65 74  4f 6d 75 6c 74 0d 67 e8  |.g...getOmult.g.|
0000fdc0  24 20 20 20 20 20 20 20  20 73 74 6d 66 64 20 20  |$        stmfd  |
0000fdd0  20 72 31 33 21 2c 7b 72  31 2d 72 33 2c 72 31 34  | r13!,{r1-r3,r14|
0000fde0  7d 0d 67 f2 23 20 20 20  20 20 20 20 20 61 64 64  |}.g.#        add|
0000fdf0  20 20 20 20 20 72 32 2c  72 31 2c 72 30 2c 6c 73  |     r2,r1,r0,ls|
0000fe00  6c 20 23 35 0d 67 fc 1d  20 20 20 20 20 20 20 20  |l #5.g..        |
0000fe10  73 74 6d 66 64 20 20 20  72 31 33 21 2c 7b 72 32  |stmfd   r13!,{r2|
0000fe20  7d 0d 68 06 1f 20 20 20  20 20 20 20 20 6c 64 72  |}.h..        ldr|
0000fe30  20 20 20 20 20 72 30 2c  5b 72 32 2c 23 31 36 5d  |     r0,[r2,#16]|
0000fe40  0d 68 10 1a 20 20 20 20  20 20 20 20 62 6c 20 20  |.h..        bl  |
0000fe50  20 20 20 20 67 65 74 6f  75 74 0d 68 1a 1d 20 20  |    getout.h..  |
0000fe60  20 20 20 20 20 20 6c 64  6d 66 64 20 20 20 72 31  |      ldmfd   r1|
0000fe70  33 21 2c 7b 72 32 7d 0d  68 24 1d 20 20 20 20 20  |3!,{r2}.h$.     |
0000fe80  20 20 20 73 74 6d 66 64  20 20 20 72 31 33 21 2c  |   stmfd   r13!,|
0000fe90  7b 72 30 7d 0d 68 2e 1f  20 20 20 20 20 20 20 20  |{r0}.h..        |
0000fea0  6c 64 72 20 20 20 20 20  72 30 2c 5b 72 32 2c 23  |ldr     r0,[r2,#|
0000feb0  32 30 5d 0d 68 38 1a 20  20 20 20 20 20 20 20 62  |20].h8.        b|
0000fec0  6c 20 20 20 20 20 20 67  65 74 6f 75 74 0d 68 42  |l      getout.hB|
0000fed0  1d 20 20 20 20 20 20 20  20 6c 64 6d 66 64 20 20  |.        ldmfd  |
0000fee0  20 72 31 33 21 2c 7b 72  32 7d 0d 68 4c 19 20 20  | r13!,{r2}.hL.  |
0000fef0  20 20 20 20 20 20 6d 6f  76 20 20 20 20 20 72 33  |      mov     r3|
0000ff00  2c 72 30 0d 68 56 1a 20  20 20 20 20 20 20 20 62  |,r0.hV.        b|
0000ff10  6c 20 20 20 20 20 20 6d  75 6c 74 36 34 0d 68 60  |l      mult64.h`|
0000ff20  24 20 20 20 20 20 20 20  20 6c 64 6d 66 64 20 20  |$        ldmfd  |
0000ff30  20 72 31 33 21 2c 7b 72  31 2d 72 33 2c 70 63 7d  | r13!,{r1-r3,pc}|
0000ff40  5e 0d 68 6a 04 0d 68 74  0e 2e 67 65 74 4f 6d 75  |^.hj..ht..getOmu|
0000ff50  6c 74 63 0d 68 7e 24 20  20 20 20 20 20 20 20 73  |ltc.h~$        s|
0000ff60  74 6d 66 64 20 20 20 72  31 33 21 2c 7b 72 31 2d  |tmfd   r13!,{r1-|
0000ff70  72 33 2c 72 31 34 7d 0d  68 88 23 20 20 20 20 20  |r3,r14}.h.#     |
0000ff80  20 20 20 61 64 64 20 20  20 20 20 72 32 2c 72 31  |   add     r2,r1|
0000ff90  2c 72 30 2c 6c 73 6c 20  23 35 0d 68 92 1d 20 20  |,r0,lsl #5.h..  |
0000ffa0  20 20 20 20 20 20 73 74  6d 66 64 20 20 20 72 31  |      stmfd   r1|
0000ffb0  33 21 2c 7b 72 32 7d 0d  68 9c 1f 20 20 20 20 20  |3!,{r2}.h..     |
0000ffc0  20 20 20 6c 64 72 20 20  20 20 20 72 30 2c 5b 72  |   ldr     r0,[r|
0000ffd0  32 2c 23 31 36 5d 0d 68  a6 1a 20 20 20 20 20 20  |2,#16].h..      |
0000ffe0  20 20 62 6c 20 20 20 20  20 20 67 65 74 6f 75 74  |  bl      getout|
0000fff0  0d 68 b0 1d 20 20 20 20  20 20 20 20 6c 64 6d 66  |.h..        ldmf|
00010000  64 20 20 20 72 31 33 21  2c 7b 72 32 7d 0d 68 ba  |d   r13!,{r2}.h.|
00010010  1f 20 20 20 20 20 20 20  20 6c 64 72 20 20 20 20  |.        ldr    |
00010020  20 72 32 2c 5b 72 32 2c  23 31 32 5d 0d 68 c4 1b  | r2,[r2,#12].h..|
00010030  20 20 20 20 20 20 20 20  6c 64 72 20 20 20 20 20  |        ldr     |
00010040  72 32 2c 5b 72 32 5d 0d  68 ce 19 20 20 20 20 20  |r2,[r2].h..     |
00010050  20 20 20 6d 6f 76 20 20  20 20 20 72 33 2c 72 30  |   mov     r3,r0|
00010060  0d 68 d8 1a 20 20 20 20  20 20 20 20 62 6c 20 20  |.h..        bl  |
00010070  20 20 20 20 6d 75 6c 74  36 34 0d 68 e2 24 20 20  |    mult64.h.$  |
00010080  20 20 20 20 20 20 6c 64  6d 66 64 20 20 20 72 31  |      ldmfd   r1|
00010090  33 21 2c 7b 72 31 2d 72  33 2c 70 63 7d 5e 0d 68  |3!,{r1-r3,pc}^.h|
000100a0  ec 04 0d 68 f6 0c 2e 67  65 74 4f 61 64 64 0d 69  |...h...getOadd.i|
000100b0  00 24 20 20 20 20 20 20  20 20 73 74 6d 66 64 20  |.$        stmfd |
000100c0  20 20 72 31 33 21 2c 7b  72 31 2d 72 32 2c 72 31  |  r13!,{r1-r2,r1|
000100d0  34 7d 0d 69 0a 23 20 20  20 20 20 20 20 20 61 64  |4}.i.#        ad|
000100e0  64 20 20 20 20 20 72 32  2c 72 31 2c 72 30 2c 6c  |d     r2,r1,r0,l|
000100f0  73 6c 20 23 35 0d 69 14  1d 20 20 20 20 20 20 20  |sl #5.i..       |
00010100  20 73 74 6d 66 64 20 20  20 72 31 33 21 2c 7b 72  | stmfd   r13!,{r|
00010110  32 7d 0d 69 1e 1f 20 20  20 20 20 20 20 20 6c 64  |2}.i..        ld|
00010120  72 20 20 20 20 20 72 30  2c 5b 72 32 2c 23 31 36  |r     r0,[r2,#16|
00010130  5d 0d 69 28 1a 20 20 20  20 20 20 20 20 62 6c 20  |].i(.        bl |
00010140  20 20 20 20 20 67 65 74  6f 75 74 0d 69 32 1d 20  |     getout.i2. |
00010150  20 20 20 20 20 20 20 6c  64 6d 66 64 20 20 20 72  |       ldmfd   r|
00010160  31 33 21 2c 7b 72 32 7d  0d 69 3c 1d 20 20 20 20  |13!,{r2}.i<.    |
00010170  20 20 20 20 73 74 6d 66  64 20 20 20 72 31 33 21  |    stmfd   r13!|
00010180  2c 7b 72 30 7d 0d 69 46  1f 20 20 20 20 20 20 20  |,{r0}.iF.       |
00010190  20 6c 64 72 20 20 20 20  20 72 30 2c 5b 72 32 2c  | ldr     r0,[r2,|
000101a0  23 32 30 5d 0d 69 50 1a  20 20 20 20 20 20 20 20  |#20].iP.        |
000101b0  62 6c 20 20 20 20 20 20  67 65 74 6f 75 74 0d 69  |bl      getout.i|
000101c0  5a 1d 20 20 20 20 20 20  20 20 6c 64 6d 66 64 20  |Z.        ldmfd |
000101d0  20 20 72 31 33 21 2c 7b  72 32 7d 0d 69 64 1c 20  |  r13!,{r2}.id. |
000101e0  20 20 20 20 20 20 20 61  64 64 20 20 20 20 20 72  |       add     r|
000101f0  30 2c 72 30 2c 72 32 0d  69 6e 24 20 20 20 20 20  |0,r0,r2.in$     |
00010200  20 20 20 6c 64 6d 66 64  20 20 20 72 31 33 21 2c  |   ldmfd   r13!,|
00010210  7b 72 31 2d 72 32 2c 70  63 7d 5e 0d 69 78 04 0d  |{r1-r2,pc}^.ix..|
00010220  69 82 0c 2e 67 65 74 4f  73 75 62 0d 69 8c 24 20  |i...getOsub.i.$ |
00010230  20 20 20 20 20 20 20 73  74 6d 66 64 20 20 20 72  |       stmfd   r|
00010240  31 33 21 2c 7b 72 31 2d  72 32 2c 72 31 34 7d 0d  |13!,{r1-r2,r14}.|
00010250  69 96 23 20 20 20 20 20  20 20 20 61 64 64 20 20  |i.#        add  |
00010260  20 20 20 72 32 2c 72 31  2c 72 30 2c 6c 73 6c 20  |   r2,r1,r0,lsl |
00010270  23 35 0d 69 a0 1d 20 20  20 20 20 20 20 20 73 74  |#5.i..        st|
00010280  6d 66 64 20 20 20 72 31  33 21 2c 7b 72 32 7d 0d  |mfd   r13!,{r2}.|
00010290  69 aa 1f 20 20 20 20 20  20 20 20 6c 64 72 20 20  |i..        ldr  |
000102a0  20 20 20 72 30 2c 5b 72  32 2c 23 31 36 5d 0d 69  |   r0,[r2,#16].i|
000102b0  b4 1a 20 20 20 20 20 20  20 20 62 6c 20 20 20 20  |..        bl    |
000102c0  20 20 67 65 74 6f 75 74  0d 69 be 1d 20 20 20 20  |  getout.i..    |
000102d0  20 20 20 20 6c 64 6d 66  64 20 20 20 72 31 33 21  |    ldmfd   r13!|
000102e0  2c 7b 72 32 7d 0d 69 c8  1d 20 20 20 20 20 20 20  |,{r2}.i..       |
000102f0  20 73 74 6d 66 64 20 20  20 72 31 33 21 2c 7b 72  | stmfd   r13!,{r|
00010300  30 7d 0d 69 d2 1f 20 20  20 20 20 20 20 20 6c 64  |0}.i..        ld|
00010310  72 20 20 20 20 20 72 30  2c 5b 72 32 2c 23 32 30  |r     r0,[r2,#20|
00010320  5d 0d 69 dc 1a 20 20 20  20 20 20 20 20 62 6c 20  |].i..        bl |
00010330  20 20 20 20 20 67 65 74  6f 75 74 0d 69 e6 1d 20  |     getout.i.. |
00010340  20 20 20 20 20 20 20 6c  64 6d 66 64 20 20 20 72  |       ldmfd   r|
00010350  31 33 21 2c 7b 72 32 7d  0d 69 f0 1c 20 20 20 20  |13!,{r2}.i..    |
00010360  20 20 20 20 73 75 62 20  20 20 20 20 72 30 2c 72  |    sub     r0,r|
00010370  32 2c 72 30 0d 69 fa 24  20 20 20 20 20 20 20 20  |2,r0.i.$        |
00010380  6c 64 6d 66 64 20 20 20  72 31 33 21 2c 7b 72 31  |ldmfd   r13!,{r1|
00010390  2d 72 32 2c 70 63 7d 5e  0d 6a 04 04 0d 6a 0e 0e  |-r2,pc}^.j...j..|
000103a0  2e 67 65 74 4f 70 75 6c  73 65 0d 6a 18 25 20 20  |.getOpulse.j.%  |
000103b0  20 20 20 20 20 20 73 74  6d 66 64 20 20 20 72 31  |      stmfd   r1|
000103c0  33 21 2c 7b 72 31 2d 72  31 32 2c 72 31 34 7d 0d  |3!,{r1-r12,r14}.|
000103d0  6a 22 23 20 20 20 20 20  20 20 20 61 64 64 20 20  |j"#        add  |
000103e0  20 20 20 72 32 2c 72 31  2c 72 30 2c 6c 73 6c 20  |   r2,r1,r0,lsl |
000103f0  23 35 0d 6a 2c 1f 20 20  20 20 20 20 20 20 6c 64  |#5.j,.        ld|
00010400  72 20 20 20 20 20 72 30  2c 5b 72 32 2c 23 31 36  |r     r0,[r2,#16|
00010410  5d 0d 6a 36 1a 20 20 20  20 20 20 20 20 62 6c 20  |].j6.        bl |
00010420  20 20 20 20 20 67 65 74  6f 75 74 0d 6a 40 1d 20  |     getout.j@. |
00010430  20 20 20 20 20 20 20 73  74 6d 66 64 20 20 20 72  |       stmfd   r|
00010440  31 33 21 2c 7b 72 30 7d  0d 6a 4a 1f 20 20 20 20  |13!,{r0}.jJ.    |
00010450  20 20 20 20 6c 64 72 20  20 20 20 20 72 30 2c 5b  |    ldr     r0,[|
00010460  72 32 2c 23 32 30 5d 0d  6a 54 1a 20 20 20 20 20  |r2,#20].jT.     |
00010470  20 20 20 62 6c 20 20 20  20 20 20 67 65 74 6f 75  |   bl      getou|
00010480  74 0d 6a 5e 19 20 20 20  20 20 20 20 20 63 6d 70  |t.j^.        cmp|
00010490  20 20 20 20 20 72 30 2c  23 30 0d 6a 68 19 20 20  |     r0,#0.jh.  |
000104a0  20 20 20 20 20 20 6d 6f  76 6d 69 20 20 20 72 30  |      movmi   r0|
000104b0  2c 23 30 0d 6a 72 1e 20  20 20 20 20 20 20 20 63  |,#0.jr.        c|
000104c0  6d 70 20 20 20 20 20 72  30 2c 23 26 31 30 30 30  |mp     r0,#&1000|
000104d0  30 0d 6a 7c 1e 20 20 20  20 20 20 20 20 6d 6f 76  |0.j|.        mov|
000104e0  70 6c 20 20 20 72 30 2c  23 26 31 30 30 30 30 0d  |pl   r0,#&10000.|
000104f0  6a 86 1d 20 20 20 20 20  20 20 20 6c 64 6d 66 64  |j..        ldmfd|
00010500  20 20 20 72 31 33 21 2c  7b 72 33 7d 0d 6a 90 1f  |   r13!,{r3}.j..|
00010510  20 20 20 20 20 20 20 20  6c 64 72 20 20 20 20 20  |        ldr     |
00010520  72 34 2c 5b 72 32 2c 23  31 32 5d 0d 6a 9a 1b 20  |r4,[r2,#12].j.. |
00010530  20 20 20 20 20 20 20 6c  64 72 20 20 20 20 20 72  |       ldr     r|
00010540  35 2c 5b 72 34 5d 0d 6a  a4 1c 20 20 20 20 20 20  |5,[r4].j..      |
00010550  20 20 61 64 64 20 20 20  20 20 72 35 2c 72 35 2c  |  add     r5,r5,|
00010560  72 33 0d 6a ae 24 20 20  20 20 20 20 20 20 62 69  |r3.j.$        bi|
00010570  63 20 20 20 20 20 72 35  2c 72 35 2c 23 26 66 66  |c     r5,r5,#&ff|
00010580  30 30 30 30 30 30 0d 6a  b8 1b 20 20 20 20 20 20  |000000.j..      |
00010590  20 20 73 74 72 20 20 20  20 20 72 35 2c 5b 72 34  |  str     r5,[r4|
000105a0  5d 0d 6a c2 20 20 20 20  20 20 20 20 20 63 6d 70  |].j.         cmp|
000105b0  20 20 20 20 20 72 35 2c  72 30 2c 6c 73 6c 20 23  |     r5,r0,lsl #|
000105c0  38 0d 6a cc 1e 20 20 20  20 20 20 20 20 6d 6f 76  |8.j..        mov|
000105d0  20 20 20 20 20 72 30 2c  23 26 31 30 30 30 30 0d  |     r0,#&10000.|
000105e0  6a d6 1c 20 20 20 20 20  20 20 20 72 73 62 70 6c  |j..        rsbpl|
000105f0  20 20 20 72 30 2c 72 30  2c 23 30 0d 6a e0 25 20  |   r0,r0,#0.j.% |
00010600  20 20 20 20 20 20 20 6c  64 6d 66 64 20 20 20 72  |       ldmfd   r|
00010610  31 33 21 2c 7b 72 31 2d  72 31 32 2c 70 63 7d 5e  |13!,{r1-r12,pc}^|
00010620  0d 6a ea 04 0d 6a f4 0e  2e 67 65 74 4f 64 65 6c  |.j...j...getOdel|
00010630  61 79 0d 6a fe 25 20 20  20 20 20 20 20 20 73 74  |ay.j.%        st|
00010640  6d 66 64 20 20 20 72 31  33 21 2c 7b 72 31 2d 72  |mfd   r13!,{r1-r|
00010650  31 32 2c 72 31 34 7d 0d  6b 08 23 20 20 20 20 20  |12,r14}.k.#     |
00010660  20 20 20 61 64 64 20 20  20 20 20 72 32 2c 72 31  |   add     r2,r1|
00010670  2c 72 30 2c 6c 73 6c 20  23 35 0d 6b 12 1d 20 20  |,r0,lsl #5.k..  |
00010680  20 20 20 20 20 20 73 74  6d 66 64 20 20 20 72 31  |      stmfd   r1|
00010690  33 21 2c 7b 72 32 7d 0d  6b 1c 1f 20 20 20 20 20  |3!,{r2}.k..     |
000106a0  20 20 20 6c 64 72 20 20  20 20 20 72 32 2c 5b 72  |   ldr     r2,[r|
000106b0  32 2c 23 31 32 5d 0d 6b  26 1e 20 20 20 20 20 20  |2,#12].k&.      |
000106c0  20 20 61 64 64 20 20 20  20 20 72 32 2c 72 32 2c  |  add     r2,r2,|
000106d0  23 32 34 38 0d 6b 30 1c  20 20 20 20 20 20 20 20  |#248.k0.        |
000106e0  61 64 64 20 20 20 20 20  72 33 2c 72 32 2c 23 34  |add     r3,r2,#4|
000106f0  0d 6b 3a 24 20 20 20 20  20 20 20 20 6c 64 6d 64  |.k:$        ldmd|
00010700  61 20 20 20 72 32 21 2c  7b 72 34 2d 72 31 32 2c  |a   r2!,{r4-r12,|
00010710  72 31 34 7d 0d 6b 44 24  20 20 20 20 20 20 20 20  |r14}.kD$        |
00010720  73 74 6d 64 61 20 20 20  72 33 21 2c 7b 72 34 2d  |stmda   r3!,{r4-|
00010730  72 31 32 2c 72 31 34 7d  0d 6b 4e 24 20 20 20 20  |r12,r14}.kN$    |
00010740  20 20 20 20 6c 64 6d 64  61 20 20 20 72 32 21 2c  |    ldmda   r2!,|
00010750  7b 72 34 2d 72 31 32 2c  72 31 34 7d 0d 6b 58 24  |{r4-r12,r14}.kX$|
00010760  20 20 20 20 20 20 20 20  73 74 6d 64 61 20 20 20  |        stmda   |
00010770  72 33 21 2c 7b 72 34 2d  72 31 32 2c 72 31 34 7d  |r3!,{r4-r12,r14}|
00010780  0d 6b 62 24 20 20 20 20  20 20 20 20 6c 64 6d 64  |.kb$        ldmd|
00010790  61 20 20 20 72 32 21 2c  7b 72 34 2d 72 31 32 2c  |a   r2!,{r4-r12,|
000107a0  72 31 34 7d 0d 6b 6c 24  20 20 20 20 20 20 20 20  |r14}.kl$        |
000107b0  73 74 6d 64 61 20 20 20  72 33 21 2c 7b 72 34 2d  |stmda   r3!,{r4-|
000107c0  72 31 32 2c 72 31 34 7d  0d 6b 76 24 20 20 20 20  |r12,r14}.kv$    |
000107d0  20 20 20 20 6c 64 6d 64  61 20 20 20 72 32 21 2c  |    ldmda   r2!,|
000107e0  7b 72 34 2d 72 31 32 2c  72 31 34 7d 0d 6b 80 24  |{r4-r12,r14}.k.$|
000107f0  20 20 20 20 20 20 20 20  73 74 6d 64 61 20 20 20  |        stmda   |
00010800  72 33 21 2c 7b 72 34 2d  72 31 32 2c 72 31 34 7d  |r3!,{r4-r12,r14}|
00010810  0d 6b 8a 24 20 20 20 20  20 20 20 20 6c 64 6d 64  |.k.$        ldmd|
00010820  61 20 20 20 72 32 21 2c  7b 72 34 2d 72 31 32 2c  |a   r2!,{r4-r12,|
00010830  72 31 34 7d 0d 6b 94 24  20 20 20 20 20 20 20 20  |r14}.k.$        |
00010840  73 74 6d 64 61 20 20 20  72 33 21 2c 7b 72 34 2d  |stmda   r3!,{r4-|
00010850  72 31 32 2c 72 31 34 7d  0d 6b 9e 24 20 20 20 20  |r12,r14}.k.$    |
00010860  20 20 20 20 6c 64 6d 64  61 20 20 20 72 32 21 2c  |    ldmda   r2!,|
00010870  7b 72 34 2d 72 31 32 2c  72 31 34 7d 0d 6b a8 24  |{r4-r12,r14}.k.$|
00010880  20 20 20 20 20 20 20 20  73 74 6d 64 61 20 20 20  |        stmda   |
00010890  72 33 21 2c 7b 72 34 2d  72 31 32 2c 72 31 34 7d  |r3!,{r4-r12,r14}|
000108a0  0d 6b b2 23 20 20 20 20  20 20 20 20 6c 64 6d 64  |.k.#        ldmd|
000108b0  61 20 20 20 72 32 21 2c  7b 72 34 2d 72 35 2c 72  |a   r2!,{r4-r5,r|
000108c0  31 34 7d 0d 6b bc 23 20  20 20 20 20 20 20 20 73  |14}.k.#        s|
000108d0  74 6d 64 61 20 20 20 72  33 21 2c 7b 72 34 2d 72  |tmda   r3!,{r4-r|
000108e0  35 2c 72 31 34 7d 0d 6b  c6 1c 20 20 20 20 20 20  |5,r14}.k..      |
000108f0  20 20 6c 64 6d 66 64 20  20 20 72 31 33 2c 7b 72  |  ldmfd   r13,{r|
00010900  32 7d 0d 6b d0 1f 20 20  20 20 20 20 20 20 6c 64  |2}.k..        ld|
00010910  72 20 20 20 20 20 72 30  2c 5b 72 32 2c 23 31 36  |r     r0,[r2,#16|
00010920  5d 0d 6b da 1a 20 20 20  20 20 20 20 20 62 6c 20  |].k..        bl |
00010930  20 20 20 20 20 67 65 74  6f 75 74 0d 6b e4 1c 20  |     getout.k.. |
00010940  20 20 20 20 20 20 20 6c  64 6d 66 64 20 20 20 72  |       ldmfd   r|
00010950  31 33 2c 7b 72 32 7d 0d  6b ee 1f 20 20 20 20 20  |13,{r2}.k..     |
00010960  20 20 20 6c 64 72 20 20  20 20 20 72 32 2c 5b 72  |   ldr     r2,[r|
00010970  32 2c 23 31 32 5d 0d 6b  f8 1b 20 20 20 20 20 20  |2,#12].k..      |
00010980  20 20 73 74 72 20 20 20  20 20 72 30 2c 5b 72 32  |  str     r0,[r2|
00010990  5d 0d 6c 02 1c 20 20 20  20 20 20 20 20 6c 64 6d  |].l..        ldm|
000109a0  66 64 20 20 20 72 31 33  2c 7b 72 32 7d 0d 6c 0c  |fd   r13,{r2}.l.|
000109b0  1f 20 20 20 20 20 20 20  20 6c 64 72 20 20 20 20  |.        ldr    |
000109c0  20 72 30 2c 5b 72 32 2c  23 32 30 5d 0d 6c 16 1a  | r0,[r2,#20].l..|
000109d0  20 20 20 20 20 20 20 20  62 6c 20 20 20 20 20 20  |        bl      |
000109e0  67 65 74 6f 75 74 0d 6c  20 1d 20 20 20 20 20 20  |getout.l .      |
000109f0  20 20 6c 64 6d 66 64 20  20 20 72 31 33 21 2c 7b  |  ldmfd   r13!,{|
00010a00  72 32 7d 0d 6c 2a 1f 20  20 20 20 20 20 20 20 6c  |r2}.l*.        l|
00010a10  64 72 20 20 20 20 20 72  32 2c 5b 72 32 2c 23 31  |dr     r2,[r2,#1|
00010a20  32 5d 0d 6c 34 21 20 20  20 20 20 20 20 20 6d 6f  |2].l4!        mo|
00010a30  76 20 20 20 20 20 72 30  2c 72 30 2c 61 73 72 20  |v     r0,r0,asr |
00010a40  23 31 30 0d 6c 3e 19 20  20 20 20 20 20 20 20 63  |#10.l>.        c|
00010a50  6d 70 20 20 20 20 20 72  30 2c 23 30 0d 6c 48 19  |mp     r0,#0.lH.|
00010a60  20 20 20 20 20 20 20 20  6d 6f 76 6d 69 20 20 20  |        movmi   |
00010a70  72 30 2c 23 30 0d 6c 52  1a 20 20 20 20 20 20 20  |r0,#0.lR.       |
00010a80  20 63 6d 70 20 20 20 20  20 72 30 2c 23 36 33 0d  | cmp     r0,#63.|
00010a90  6c 5c 1a 20 20 20 20 20  20 20 20 6d 6f 76 70 6c  |l\.        movpl|
00010aa0  20 20 20 72 30 2c 23 36  33 0d 6c 66 25 20 20 20  |   r0,#63.lf%   |
00010ab0  20 20 20 20 20 6c 64 72  20 20 20 20 20 72 30 2c  |     ldr     r0,|
00010ac0  5b 72 32 2c 72 30 2c 6c  73 6c 20 23 32 5d 0d 6c  |[r2,r0,lsl #2].l|
00010ad0  70 25 20 20 20 20 20 20  20 20 6c 64 6d 66 64 20  |p%        ldmfd |
00010ae0  20 20 72 31 33 21 2c 7b  72 31 2d 72 31 32 2c 70  |  r13!,{r1-r12,p|
00010af0  63 7d 5e 0d 6c 7a 04 0d  6c 84 0e 2e 67 65 74 4f  |c}^.lz..l...getO|
00010b00  69 6e 70 75 74 0d 6c 8e  24 20 20 20 20 20 20 20  |input.l.$       |
00010b10  20 73 74 6d 66 64 20 20  20 72 31 33 21 2c 7b 72  | stmfd   r13!,{r|
00010b20  31 2d 72 36 2c 72 31 34  7d 0d 6c 98 23 20 20 20  |1-r6,r14}.l.#   |
00010b30  20 20 20 20 20 61 64 64  20 20 20 20 20 72 36 2c  |     add     r6,|
00010b40  72 31 2c 72 30 2c 6c 73  6c 20 23 35 0d 6c a2 1f  |r1,r0,lsl #5.l..|
00010b50  20 20 20 20 20 20 20 20  6c 64 72 20 20 20 20 20  |        ldr     |
00010b60  72 36 2c 5b 72 36 2c 23  31 32 5d 0d 6c ac 20 20  |r6,[r6,#12].l.  |
00010b70  20 20 20 20 20 20 20 6c  64 72 20 20 20 20 20 72  |       ldr     r|
00010b80  35 2c 5b 72 36 2c 23 32  36 34 5d 0d 6c b6 20 20  |5,[r6,#264].l.  |
00010b90  20 20 20 20 20 20 20 6c  64 72 20 20 20 20 20 72  |       ldr     r|
00010ba0  34 2c 5b 72 36 2c 23 32  36 30 5d 0d 6c c0 20 20  |4,[r6,#260].l.  |
00010bb0  20 20 20 20 20 20 20 6c  64 72 20 20 20 20 20 72  |       ldr     r|
00010bc0  31 2c 5b 72 36 2c 23 32  36 38 5d 0d 6c ca 21 20  |1,[r6,#268].l.! |
00010bd0  20 20 20 20 20 20 20 63  6d 70 20 20 20 20 20 72  |       cmp     r|
00010be0  35 2c 72 31 2c 6c 73 6c  20 23 31 32 0d 6c d4 19  |5,r1,lsl #12.l..|
00010bf0  20 20 20 20 20 20 20 20  6d 6f 76 70 6c 20 20 20  |        movpl   |
00010c00  72 30 2c 23 30 0d 6c de  24 20 20 20 20 20 20 20  |r0,#0.l.$       |
00010c10  20 6c 64 6d 70 6c 66 64  20 72 31 33 21 2c 7b 72  | ldmplfd r13!,{r|
00010c20  31 2d 72 36 2c 70 63 7d  5e 0d 6c e8 20 20 20 20  |1-r6,pc}^.l.    |
00010c30  20 20 20 20 20 6c 64 72  20 20 20 20 20 72 31 2c  |     ldr     r1,|
00010c40  5b 72 36 2c 23 32 37 32  5d 0d 6c f2 24 20 20 20  |[r6,#272].l.$   |
00010c50  20 20 20 20 20 61 64 64  20 20 20 20 20 72 31 2c  |     add     r1,|
00010c60  72 31 2c 72 35 2c 6c 73  72 20 23 31 32 0d 6c fc  |r1,r5,lsr #12.l.|
00010c70  1b 20 20 20 20 20 20 20  20 6c 64 72 62 20 20 20  |.        ldrb   |
00010c80  20 72 30 2c 5b 72 31 5d  0d 6d 06 04 0d 6d 10 20  | r0,[r1].m...m. |
00010c90  20 20 20 20 20 20 20 20  6c 64 72 20 20 20 20 20  |        ldr     |
00010ca0  72 31 2c 5b 72 36 2c 23  32 35 36 5d 0d 6d 1a 19  |r1,[r6,#256].m..|
00010cb0  20 20 20 20 20 20 20 20  74 73 74 20 20 20 20 20  |        tst     |
00010cc0  72 31 2c 23 34 0d 6d 24  1c 20 20 20 20 20 20 20  |r1,#4.m$.       |
00010cd0  20 61 64 64 6e 65 20 20  20 72 35 2c 72 35 2c 72  | addne   r5,r5,r|
00010ce0  34 0d 6d 2e 20 20 20 20  20 20 20 20 20 61 64 64  |4.m.         add|
00010cf0  65 71 20 20 20 72 35 2c  72 35 2c 23 26 31 30 30  |eq   r5,r5,#&100|
00010d00  30 0d 6d 38 20 20 20 20  20 20 20 20 20 73 74 72  |0.m8         str|
00010d10  20 20 20 20 20 72 35 2c  5b 72 36 2c 23 32 36 34  |     r5,[r6,#264|
00010d20  5d 0d 6d 42 04 0d 6d 4c  20 20 20 20 20 20 20 20  |].mB..mL        |
00010d30  20 6c 64 72 20 20 20 20  20 72 31 2c 5b 72 36 2c  | ldr     r1,[r6,|
00010d40  23 32 35 36 5d 0d 6d 56  1c 20 20 20 20 20 20 20  |#256].mV.       |
00010d50  20 61 6e 64 20 20 20 20  20 72 31 2c 72 31 2c 23  | and     r1,r1,#|
00010d60  33 0d 6d 60 19 20 20 20  20 20 20 20 20 63 6d 70  |3.m`.        cmp|
00010d70  20 20 20 20 20 72 31 2c  23 30 0d 6d 6a 21 20 20  |     r1,#0.mj!  |
00010d80  20 20 20 20 20 20 6d 6f  76 65 71 20 20 20 72 30  |      moveq   r0|
00010d90  2c 72 30 2c 6c 73 6c 20  23 32 34 0d 6d 74 21 20  |,r0,lsl #24.mt! |
00010da0  20 20 20 20 20 20 20 6d  6f 76 65 71 20 20 20 72  |       moveq   r|
00010db0  30 2c 72 30 2c 61 73 72  20 23 31 35 0d 6d 7e 24  |0,r0,asr #15.m~$|
00010dc0  20 20 20 20 20 20 20 20  6c 64 6d 65 71 66 64 20  |        ldmeqfd |
00010dd0  72 31 33 21 2c 7b 72 31  2d 72 36 2c 70 63 7d 5e  |r13!,{r1-r6,pc}^|
00010de0  0d 6d 88 19 20 20 20 20  20 20 20 20 63 6d 70 20  |.m..        cmp |
00010df0  20 20 20 20 72 31 2c 23  31 0d 6d 92 1e 20 20 20  |    r1,#1.m..   |
00010e00  20 20 20 20 20 73 75 62  65 71 20 20 20 72 30 2c  |     subeq   r0,|
00010e10  72 30 2c 23 31 32 38 0d  6d 9c 20 20 20 20 20 20  |r0,#128.m.      |
00010e20  20 20 20 6d 6f 76 65 71  20 20 20 72 30 2c 72 30  |   moveq   r0,r0|
00010e30  2c 6c 73 6c 20 23 39 0d  6d a6 24 20 20 20 20 20  |,lsl #9.m.$     |
00010e40  20 20 20 6c 64 6d 65 71  66 64 20 72 31 33 21 2c  |   ldmeqfd r13!,|
00010e50  7b 72 31 2d 72 36 2c 70  63 7d 5e 0d 6d b0 1d 20  |{r1-r6,pc}^.m.. |
00010e60  20 20 20 20 20 20 20 6c  64 72 20 20 20 20 20 72  |       ldr     r|
00010e70  31 2c 6c 69 6e 74 61 62  0d 6d ba 25 20 20 20 20  |1,lintab.m.%    |
00010e80  20 20 20 20 6c 64 72 20  20 20 20 20 72 30 2c 5b  |    ldr     r0,[|
00010e90  72 31 2c 72 30 2c 6c 73  6c 20 23 32 5d 0d 6d c4  |r1,r0,lsl #2].m.|
00010ea0  24 20 20 20 20 20 20 20  20 6c 64 6d 66 64 20 20  |$        ldmfd  |
00010eb0  20 72 31 33 21 2c 7b 72  31 2d 72 36 2c 70 63 7d  | r13!,{r1-r6,pc}|
00010ec0  5e 0d 6d ce 04 0d 6d d8  15 2e 6c 69 6e 74 61 62  |^.m...m...lintab|
00010ed0  20 65 71 75 64 20 20 20  20 30 0d 6d e2 04 0d 6d  | equd    0.m...m|
00010ee0  ec 24 2e 67 65 74 4f 73  68 20 73 74 6d 66 64 20  |.$.getOsh stmfd |
00010ef0  20 20 72 31 33 21 2c 7b  72 31 2d 72 35 2c 72 31  |  r13!,{r1-r5,r1|
00010f00  34 7d 0d 6d f6 23 20 20  20 20 20 20 20 20 61 64  |4}.m.#        ad|
00010f10  64 20 20 20 20 20 72 32  2c 72 31 2c 72 30 2c 6c  |d     r2,r1,r0,l|
00010f20  73 6c 20 23 35 0d 6e 00  1f 20 20 20 20 20 20 20  |sl #5.n..       |
00010f30  20 6c 64 72 20 20 20 20  20 72 30 2c 5b 72 32 2c  | ldr     r0,[r2,|
00010f40  23 31 36 5d 0d 6e 0a 1a  20 20 20 20 20 20 20 20  |#16].n..        |
00010f50  62 6c 20 20 20 20 20 20  67 65 74 6f 75 74 0d 6e  |bl      getout.n|
00010f60  14 19 20 20 20 20 20 20  20 20 6d 6f 76 20 20 20  |..        mov   |
00010f70  20 20 72 35 2c 72 30 0d  6e 1e 1f 20 20 20 20 20  |  r5,r0.n..     |
00010f80  20 20 20 6c 64 72 20 20  20 20 20 72 30 2c 5b 72  |   ldr     r0,[r|
00010f90  32 2c 23 32 30 5d 0d 6e  28 1a 20 20 20 20 20 20  |2,#20].n(.      |
00010fa0  20 20 62 6c 20 20 20 20  20 20 67 65 74 6f 75 74  |  bl      getout|
00010fb0  0d 6e 32 1f 20 20 20 20  20 20 20 20 6c 64 72 20  |.n2.        ldr |
00010fc0  20 20 20 20 72 32 2c 5b  72 32 2c 23 31 32 5d 0d  |    r2,[r2,#12].|
00010fd0  6e 3c 1b 20 20 20 20 20  20 20 20 6c 64 72 20 20  |n<.        ldr  |
00010fe0  20 20 20 72 34 2c 5b 72  32 5d 0d 6e 46 21 20 20  |   r4,[r2].nF!  |
00010ff0  20 20 20 20 20 20 74 73  74 20 20 20 20 20 72 34  |      tst     r4|
00011000  2c 23 26 38 30 30 30 30  30 30 30 0d 6e 50 1a 20  |,#&80000000.nP. |
00011010  20 20 20 20 20 20 20 62  6e 65 20 20 20 20 20 6e  |       bne     n|
00011020  6f 72 65 73 73 0d 6e 5a  19 20 20 20 20 20 20 20  |oress.nZ.       |
00011030  20 63 6d 70 20 20 20 20  20 72 30 2c 23 30 0d 6e  | cmp     r0,#0.n|
00011040  64 20 20 20 20 20 20 20  20 20 6d 6f 76 70 6c 20  |d         movpl |
00011050  20 20 72 34 2c 72 35 2c  61 73 72 20 23 31 0d 6e  |  r4,r5,asr #1.n|
00011060  6e 24 2e 6e 6f 72 65 73  73 20 62 69 63 20 20 20  |n$.noress bic   |
00011070  20 20 72 34 2c 72 34 2c  23 26 38 30 30 30 30 30  |  r4,r4,#&800000|
00011080  30 30 0d 6e 78 19 20 20  20 20 20 20 20 20 63 6d  |00.nx.        cm|
00011090  70 20 20 20 20 20 72 30  2c 23 30 0d 6e 82 24 20  |p     r0,#0.n.$ |
000110a0  20 20 20 20 20 20 20 6f  72 72 70 6c 20 20 20 72  |       orrpl   r|
000110b0  34 2c 72 34 2c 23 26 38  30 30 30 30 30 30 30 0d  |4,r4,#&80000000.|
000110c0  6e 8c 1b 20 20 20 20 20  20 20 20 73 74 72 20 20  |n..        str  |
000110d0  20 20 20 72 34 2c 5b 72  32 5d 0d 6e 96 20 20 20  |   r4,[r2].n.   |
000110e0  20 20 20 20 20 20 6d 6f  76 20 20 20 20 20 72 30  |      mov     r0|
000110f0  2c 72 34 2c 6c 73 6c 20  23 31 0d 6e a0 24 20 20  |,r4,lsl #1.n.$  |
00011100  20 20 20 20 20 20 6c 64  6d 66 64 20 20 20 72 31  |      ldmfd   r1|
00011110  33 21 2c 7b 72 31 2d 72  35 2c 70 63 7d 5e 0d 6e  |3!,{r1-r5,pc}^.n|
00011120  aa 04 0d 6e b4 0c 2e 67  65 74 4f 6e 6c 64 0d 6e  |...n...getOnld.n|
00011130  be 24 20 20 20 20 20 20  20 20 73 74 6d 66 64 20  |.$        stmfd |
00011140  20 20 72 31 33 21 2c 7b  72 31 2d 72 35 2c 72 31  |  r13!,{r1-r5,r1|
00011150  34 7d 0d 6e c8 23 20 20  20 20 20 20 20 20 61 64  |4}.n.#        ad|
00011160  64 20 20 20 20 20 72 32  2c 72 31 2c 72 30 2c 6c  |d     r2,r1,r0,l|
00011170  73 6c 20 23 35 0d 6e d2  1f 20 20 20 20 20 20 20  |sl #5.n..       |
00011180  20 6c 64 72 20 20 20 20  20 72 30 2c 5b 72 32 2c  | ldr     r0,[r2,|
00011190  23 31 36 5d 0d 6e dc 1a  20 20 20 20 20 20 20 20  |#16].n..        |
000111a0  62 6c 20 20 20 20 20 20  67 65 74 6f 75 74 0d 6e  |bl      getout.n|
000111b0  e6 20 20 20 20 20 20 20  20 20 6d 6f 76 20 20 20  |.         mov   |
000111c0  20 20 72 30 2c 72 30 2c  61 73 72 20 23 31 0d 6e  |  r0,r0,asr #1.n|
000111d0  f0 20 20 20 20 20 20 20  20 20 61 64 64 20 20 20  |.         add   |
000111e0  20 20 72 30 2c 72 30 2c  23 26 38 30 30 30 0d 6e  |  r0,r0,#&8000.n|
000111f0  fa 19 20 20 20 20 20 20  20 20 63 6d 70 20 20 20  |..        cmp   |
00011200  20 20 72 30 2c 23 30 0d  6f 04 19 20 20 20 20 20  |  r0,#0.o..     |
00011210  20 20 20 6d 6f 76 6d 69  20 20 20 72 30 2c 23 30  |   movmi   r0,#0|
00011220  0d 6f 0e 1e 20 20 20 20  20 20 20 20 63 6d 70 20  |.o..        cmp |
00011230  20 20 20 20 72 30 2c 23  26 31 30 30 30 30 0d 6f  |    r0,#&10000.o|
00011240  18 1d 20 20 20 20 20 20  20 20 6d 6f 76 70 6c 20  |..        movpl |
00011250  20 20 72 30 2c 23 26 66  66 30 30 0d 6f 22 20 20  |  r0,#&ff00.o"  |
00011260  20 20 20 20 20 20 20 6d  6f 76 20 20 20 20 20 72  |       mov     r|
00011270  30 2c 72 30 2c 61 73 72  20 23 38 0d 6f 2c 1f 20  |0,r0,asr #8.o,. |
00011280  20 20 20 20 20 20 20 6c  64 72 20 20 20 20 20 72  |       ldr     r|
00011290  32 2c 5b 72 32 2c 23 31  32 5d 0d 6f 36 1e 20 20  |2,[r2,#12].o6.  |
000112a0  20 20 20 20 20 20 6c 64  72 62 20 20 20 20 72 30  |      ldrb    r0|
000112b0  2c 5b 72 32 2c 72 30 5d  0d 6f 40 20 20 20 20 20  |,[r2,r0].o@     |
000112c0  20 20 20 20 6d 6f 76 20  20 20 20 20 72 30 2c 72  |    mov     r0,r|
000112d0  30 2c 61 73 6c 20 23 38  0d 6f 4a 20 20 20 20 20  |0,asl #8.oJ     |
000112e0  20 20 20 20 73 75 62 20  20 20 20 20 72 30 2c 72  |    sub     r0,r|
000112f0  30 2c 23 26 38 30 30 30  0d 6f 54 20 20 20 20 20  |0,#&8000.oT     |
00011300  20 20 20 20 6d 6f 76 20  20 20 20 20 72 30 2c 72  |    mov     r0,r|
00011310  30 2c 61 73 6c 20 23 31  0d 6f 5e 24 20 20 20 20  |0,asl #1.o^$    |
00011320  20 20 20 20 6c 64 6d 66  64 20 20 20 72 31 33 21  |    ldmfd   r13!|
00011330  2c 7b 72 31 2d 72 35 2c  70 63 7d 5e 0d 6f 68 04  |,{r1-r5,pc}^.oh.|
00011340  0d 6f 72 2d 2e 6d 75 6c  74 36 34 20 3b 72 30 3d  |.or-.mult64 ;r0=|
00011350  72 32 2a 72 33 20 61 6e  64 20 2e 20 62 65 74 77  |r2*r3 and . betw|
00011360  65 65 6e 20 62 69 74 20  31 35 2c 31 36 0d 6f 7c  |een bit 15,16.o||
00011370  24 20 20 20 20 20 20 20  20 73 74 6d 66 64 20 20  |$        stmfd  |
00011380  20 72 31 33 21 2c 7b 72  31 2d 72 37 2c 72 31 34  | r13!,{r1-r7,r14|
00011390  7d 0d 6f 86 1c 20 20 20  20 20 20 20 20 65 6f 72  |}.o..        eor|
000113a0  20 20 20 20 20 72 34 2c  72 32 2c 72 33 0d 6f 90  |     r4,r2,r3.o.|
000113b0  19 20 20 20 20 20 20 20  20 63 6d 70 20 20 20 20  |.        cmp    |
000113c0  20 72 32 2c 23 30 0d 6f  9a 1c 20 20 20 20 20 20  | r2,#0.o..      |
000113d0  20 20 72 73 62 6d 69 20  20 20 72 32 2c 72 32 2c  |  rsbmi   r2,r2,|
000113e0  23 30 0d 6f a4 19 20 20  20 20 20 20 20 20 63 6d  |#0.o..        cm|
000113f0  70 20 20 20 20 20 72 33  2c 23 30 0d 6f ae 1c 20  |p     r3,#0.o.. |
00011400  20 20 20 20 20 20 20 72  73 62 6d 69 20 20 20 72  |       rsbmi   r|
00011410  33 2c 72 33 2c 23 30 0d  6f b8 21 20 20 20 20 20  |3,r3,#0.o.!     |
00011420  20 20 20 6d 6f 76 20 20  20 20 20 72 35 2c 72 32  |   mov     r5,r2|
00011430  2c 6c 73 6c 20 23 31 36  0d 6f c2 21 20 20 20 20  |,lsl #16.o.!    |
00011440  20 20 20 20 6d 6f 76 20  20 20 20 20 72 35 2c 72  |    mov     r5,r|
00011450  35 2c 6c 73 72 20 23 31  36 0d 6f cc 21 20 20 20  |5,lsr #16.o.!   |
00011460  20 20 20 20 20 6d 6f 76  20 20 20 20 20 72 36 2c  |     mov     r6,|
00011470  72 33 2c 6c 73 6c 20 23  31 36 0d 6f d6 21 20 20  |r3,lsl #16.o.!  |
00011480  20 20 20 20 20 20 6d 6f  76 20 20 20 20 20 72 36  |      mov     r6|
00011490  2c 72 36 2c 6c 73 72 20  23 31 36 0d 6f e0 1c 20  |,r6,lsr #16.o.. |
000114a0  20 20 20 20 20 20 20 6d  75 6c 20 20 20 20 20 72  |       mul     r|
000114b0  30 2c 72 35 2c 72 36 0d  6f ea 21 20 20 20 20 20  |0,r5,r6.o.!     |
000114c0  20 20 20 6d 6f 76 20 20  20 20 20 72 30 2c 72 30  |   mov     r0,r0|
000114d0  2c 6c 73 72 20 23 31 36  0d 6f f4 21 20 20 20 20  |,lsr #16.o.!    |
000114e0  20 20 20 20 6d 6f 76 20  20 20 20 20 72 36 2c 72  |    mov     r6,r|
000114f0  33 2c 6c 73 72 20 23 31  36 0d 6f fe 1c 20 20 20  |3,lsr #16.o..   |
00011500  20 20 20 20 20 6d 75 6c  20 20 20 20 20 72 37 2c  |     mul     r7,|
00011510  72 35 2c 72 36 0d 70 08  1c 20 20 20 20 20 20 20  |r5,r6.p..       |
00011520  20 61 64 64 20 20 20 20  20 72 30 2c 72 30 2c 72  | add     r0,r0,r|
00011530  37 0d 70 12 21 20 20 20  20 20 20 20 20 6d 6f 76  |7.p.!        mov|
00011540  20 20 20 20 20 72 35 2c  72 32 2c 6c 73 72 20 23  |     r5,r2,lsr #|
00011550  31 36 0d 70 1c 21 20 20  20 20 20 20 20 20 6d 6f  |16.p.!        mo|
00011560  76 20 20 20 20 20 72 36  2c 72 33 2c 6c 73 6c 20  |v     r6,r3,lsl |
00011570  23 31 36 0d 70 26 21 20  20 20 20 20 20 20 20 6d  |#16.p&!        m|
00011580  6f 76 20 20 20 20 20 72  36 2c 72 36 2c 6c 73 72  |ov     r6,r6,lsr|
00011590  20 23 31 36 0d 70 30 1c  20 20 20 20 20 20 20 20  | #16.p0.        |
000115a0  6d 75 6c 20 20 20 20 20  72 37 2c 72 35 2c 72 36  |mul     r7,r5,r6|
000115b0  0d 70 3a 1c 20 20 20 20  20 20 20 20 61 64 64 20  |.p:.        add |
000115c0  20 20 20 20 72 30 2c 72  30 2c 72 37 0d 70 44 21  |    r0,r0,r7.pD!|
000115d0  20 20 20 20 20 20 20 20  6d 6f 76 20 20 20 20 20  |        mov     |
000115e0  72 36 2c 72 33 2c 6c 73  72 20 23 31 36 0d 70 4e  |r6,r3,lsr #16.pN|
000115f0  1c 20 20 20 20 20 20 20  20 6d 75 6c 20 20 20 20  |.        mul    |
00011600  20 72 37 2c 72 35 2c 72  36 0d 70 58 24 20 20 20  | r7,r5,r6.pX$   |
00011610  20 20 20 20 20 61 64 64  20 20 20 20 20 72 30 2c  |     add     r0,|
00011620  72 30 2c 72 37 2c 6c 73  6c 20 23 31 36 0d 70 62  |r0,r7,lsl #16.pb|
00011630  24 20 20 20 20 20 20 20  20 62 69 63 20 20 20 20  |$        bic    |
00011640  20 72 30 2c 72 30 2c 23  26 38 30 30 30 30 30 30  | r0,r0,#&8000000|
00011650  30 0d 70 6c 21 20 20 20  20 20 20 20 20 74 73 74  |0.pl!        tst|
00011660  20 20 20 20 20 72 34 2c  23 26 38 30 30 30 30 30  |     r4,#&800000|
00011670  30 30 0d 70 76 1c 20 20  20 20 20 20 20 20 72 73  |00.pv.        rs|
00011680  62 6e 65 20 20 20 72 30  2c 72 30 2c 23 30 0d 70  |bne   r0,r0,#0.p|
00011690  80 23 20 20 20 20 20 20  20 20 6c 64 6d 66 64 20  |.#        ldmfd |
000116a0  20 20 72 31 33 21 2c 7b  72 31 2d 72 37 2c 70 63  |  r13!,{r1-r7,pc|
000116b0  7d 0d 70 8a 04 0d 70 94  0c 2e 63 6f 70 79 6d 65  |}.p...p...copyme|
000116c0  6d 0d 70 9e 24 20 20 20  20 20 20 20 20 73 74 6d  |m.p.$        stm|
000116d0  66 64 20 20 20 72 31 33  21 2c 7b 72 30 2d 72 33  |fd   r13!,{r0-r3|
000116e0  2c 72 31 34 7d 0d 70 a8  19 2e 63 70 79 6c 75 70  |,r14}.p...cpylup|
000116f0  20 63 6d 70 20 20 20 20  20 72 32 2c 23 30 0d 70  | cmp     r2,#0.p|
00011700  b2 23 20 20 20 20 20 20  20 20 6c 64 6d 6c 65 66  |.#        ldmlef|
00011710  64 20 72 31 33 21 2c 7b  72 30 2d 72 33 2c 70 63  |d r13!,{r0-r3,pc|
00011720  7d 0d 70 bc 1e 20 20 20  20 20 20 20 20 6c 64 72  |}.p..        ldr|
00011730  62 20 20 20 20 72 33 2c  5b 72 31 5d 2c 23 31 0d  |b    r3,[r1],#1.|
00011740  70 c6 1e 20 20 20 20 20  20 20 20 73 74 72 62 20  |p..        strb |
00011750  20 20 20 72 33 2c 5b 72  30 5d 2c 23 31 0d 70 d0  |   r3,[r0],#1.p.|
00011760  1c 20 20 20 20 20 20 20  20 73 75 62 20 20 20 20  |.        sub    |
00011770  20 72 32 2c 72 32 2c 23  31 0d 70 da 1a 20 20 20  | r2,r2,#1.p..   |
00011780  20 20 20 20 20 62 20 20  20 20 20 20 20 63 70 79  |     b       cpy|
00011790  6c 75 70 0d 70 e4 04 0d  70 ee 24 2e 72 65 76 6d  |lup.p...p.$.revm|
000117a0  65 6d 20 73 74 6d 66 64  20 20 20 72 31 33 21 2c  |em stmfd   r13!,|
000117b0  7b 72 30 2d 72 33 2c 72  31 34 7d 0d 70 f8 19 2e  |{r0-r3,r14}.p...|
000117c0  72 65 76 6c 75 70 20 63  6d 70 20 20 20 20 20 72  |revlup cmp     r|
000117d0  30 2c 72 31 0d 71 02 23  20 20 20 20 20 20 20 20  |0,r1.q.#        |
000117e0  6c 64 6d 70 6c 66 64 20  72 31 33 21 2c 7b 72 30  |ldmplfd r13!,{r0|
000117f0  2d 72 33 2c 70 63 7d 0d  71 0c 1b 20 20 20 20 20  |-r3,pc}.q..     |
00011800  20 20 20 6c 64 72 62 20  20 20 20 72 32 2c 5b 72  |   ldrb    r2,[r|
00011810  30 5d 0d 71 16 1b 20 20  20 20 20 20 20 20 6c 64  |0].q..        ld|
00011820  72 62 20 20 20 20 72 33  2c 5b 72 31 5d 0d 71 20  |rb    r3,[r1].q |
00011830  1e 20 20 20 20 20 20 20  20 73 74 72 62 20 20 20  |.        strb   |
00011840  20 72 33 2c 5b 72 30 5d  2c 23 31 0d 71 2a 1f 20  | r3,[r0],#1.q*. |
00011850  20 20 20 20 20 20 20 73  74 72 62 20 20 20 20 72  |       strb    r|
00011860  32 2c 5b 72 31 5d 2c 23  2d 31 0d 71 34 1a 20 20  |2,[r1],#-1.q4.  |
00011870  20 20 20 20 20 20 62 20  20 20 20 20 20 20 72 65  |      b       re|
00011880  76 6c 75 70 0d 71 3e 04  0d 71 48 28 2e 64 69 76  |vlup.q>..qH(.div|
00011890  33 32 20 20 6d 6f 76 20  20 20 20 20 72 39 2c 23  |32  mov     r9,#|
000118a0  30 20 20 20 3b 72 31 32  3d 72 31 31 2f 72 31 30  |0   ;r12=r11/r10|
000118b0  0d 71 52 1a 20 20 20 20  20 20 20 20 6d 6f 76 20  |.qR.        mov |
000118c0  20 20 20 20 72 31 32 2c  23 30 0d 71 5c 1a 20 20  |    r12,#0.q\.  |
000118d0  20 20 20 20 20 20 6d 6f  76 20 20 20 20 20 72 38  |      mov     r8|
000118e0  2c 23 33 32 0d 71 66 19  20 20 20 20 20 20 20 20  |,#32.qf.        |
000118f0  6d 6f 76 20 20 20 20 20  72 37 2c 23 30 0d 71 70  |mov     r7,#0.qp|
00011900  1a 20 20 20 20 20 20 20  20 63 6d 70 20 20 20 20  |.        cmp    |
00011910  20 72 31 30 2c 23 30 0d  71 7a 1e 20 20 20 20 20  | r10,#0.qz.     |
00011920  20 20 20 72 73 62 6d 69  20 20 20 72 31 30 2c 72  |   rsbmi   r10,r|
00011930  31 30 2c 23 30 0d 71 84  1c 20 20 20 20 20 20 20  |10,#0.q..       |
00011940  20 65 6f 72 6d 69 20 20  20 72 37 2c 72 37 2c 23  | eormi   r7,r7,#|
00011950  31 0d 71 8e 1a 20 20 20  20 20 20 20 20 63 6d 70  |1.q..        cmp|
00011960  20 20 20 20 20 72 31 31  2c 23 30 0d 71 98 1e 20  |     r11,#0.q.. |
00011970  20 20 20 20 20 20 20 72  73 62 6d 69 20 20 20 72  |       rsbmi   r|
00011980  31 31 2c 72 31 31 2c 23  30 0d 71 a2 1c 20 20 20  |11,r11,#0.q..   |
00011990  20 20 20 20 20 65 6f 72  6d 69 20 20 20 72 37 2c  |     eormi   r7,|
000119a0  72 37 2c 23 31 0d 71 ac  22 2e 64 69 76 6c 70 31  |r7,#1.q.".divlp1|
000119b0  20 6d 6f 76 73 20 20 20  20 72 31 31 2c 72 31 31  | movs    r11,r11|
000119c0  2c 61 73 6c 20 23 31 0d  71 b6 1c 20 20 20 20 20  |,asl #1.q..     |
000119d0  20 20 20 61 64 63 20 20  20 20 20 72 39 2c 72 39  |   adc     r9,r9|
000119e0  2c 72 39 0d 71 c0 1a 20  20 20 20 20 20 20 20 63  |,r9.q..        c|
000119f0  6d 70 20 20 20 20 20 72  39 2c 72 31 30 0d 71 ca  |mp     r9,r10.q.|
00011a00  1f 20 20 20 20 20 20 20  20 61 64 63 20 20 20 20  |.        adc    |
00011a10  20 72 31 32 2c 72 31 32  2c 72 31 32 0d 71 d4 1d  | r12,r12,r12.q..|
00011a20  20 20 20 20 20 20 20 20  73 75 62 63 73 20 20 20  |        subcs   |
00011a30  72 39 2c 72 39 2c 72 31  30 0d 71 de 1c 20 20 20  |r9,r9,r10.q..   |
00011a40  20 20 20 20 20 73 75 62  73 20 20 20 20 72 38 2c  |     subs    r8,|
00011a50  72 38 2c 23 31 0d 71 e8  1a 20 20 20 20 20 20 20  |r8,#1.q..       |
00011a60  20 62 6e 65 20 20 20 20  20 64 69 76 6c 70 31 0d  | bne     divlp1.|
00011a70  71 f2 19 20 20 20 20 20  20 20 20 63 6d 70 20 20  |q..        cmp  |
00011a80  20 20 20 72 37 2c 23 30  0d 71 fc 1e 20 20 20 20  |   r7,#0.q..    |
00011a90  20 20 20 20 72 73 62 6e  65 20 20 20 72 31 32 2c  |    rsbne   r12,|
00011aa0  72 31 32 2c 23 30 0d 72  06 1a 20 20 20 20 20 20  |r12,#0.r..      |
00011ab0  20 20 6d 6f 76 20 20 20  20 20 70 63 2c 72 31 34  |  mov     pc,r14|
00011ac0  0d 72 10 0c 2e 65 6e 64  63 6f 64 65 0d 72 1a 05  |.r...endcode.r..|
00011ad0  5d 0d 72 24 0b ed 20 70  61 73 73 25 0d 72 2e 05  |].r$.. pass%.r..|
00011ae0  e1 0d ff                                          |...|
00011ae3