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

!AWMay92/Goodies/SFXMDemo/!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 » Archimedes World » AW-1992-05.adf » May92
Filename: !AWMay92/Goodies/SFXMDemo/!SFXM/!RunImage
Read OK:
File size: 11954 bytes
Load address: 0000
Exec address: 0000
Duplicates

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

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

#� >adfs::SFXM.$.!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
�� �
�� � � � �`PC
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
T5� (instopen%<>0) � (�-insttime%>300) � �CheckInst
^�
h
r��DragObject
|#È™"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%
0:� (temp2%!12=wworkh%)�(temp2%!16>=-1)�(startlx%<>-1) �
:  temp%!0=wworkh%
D$  È™"Wimp_GetWindowState",,temp%
N&  newlx%=temp2%!0+temp%!20-temp%!4
X'  newly%=temp2%!4+temp%!24-temp%!16
b+  � (oldlx%<>newlx%)�(oldly%<>newly%) �
l    �PlotLn(oldlx%,oldly%)
v    �PlotLn(newlx%,newly%)
�#    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  �
>�
H%  � (startlx%<>-1)�(oldlx%<>-1) �
R    �PlotLn(oldlx%,oldly%)
\2    �MoveIcns(oldlx%-startlx%,oldly%-startly%)
f  �
p
  drag%=0
z  startlx%=-1:startly%=-1
�  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
8starti%=-1
Bendi%=-1
Ldrag%=0
V�
`
j��CheckInst
ttemp%!0=winsth%
~È™"Wimp_CloseWindow",,temp%
�instopen%=0
��
�
���MoveIcns(dx%,dy%)
�temp2%!0=wworkh%
��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"
2      � 1:i$="noise"
<      � 2:i$="eg"
F      � 5:i$="const"
P      � 3:i$="filtlo"
Z      � 4:i$="filthi"
d      � 6:i$="mult"
n      � 7:i$="multc"
x      � 8:i$="add"
�      � 13:i$="sub"
�      � 14:i$="pulse"
�      � 15:i$="delay"
�      � 9:i$="output"
�      � 16:i$="input"
�      � 17:i$="samhold"
�      � 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)
64      iconinfo%!(ih%*32+16)=iconinfo%!(T%*32+16)
@4      iconinfo%!(ih%*32+20)=iconinfo%!(T%*32+20)
J4      iconinfo%!(ih%*32+24)=iconinfo%!(T%*32+24)
T4      iconinfo%!(ih%*32+28)=iconinfo%!(T%*32+28)
^       iconinfo%!(T%*32+0)=-1
h       iconinfo%!(T%*32+4)=-1
r       iconinfo%!(T%*32+8)=-1
|!      iconinfo%!(T%*32+12)=-1
�!      iconinfo%!(T%*32+16)=-1
�!      iconinfo%!(T%*32+20)=-1
�!      iconinfo%!(T%*32+24)=-1
�!      iconinfo%!(T%*32+28)=-1
�      �S%=0�maxicons%-1
�%        � 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%)
0� x%<>-1 �
:  temp%!0=wworkh%
D$  È™"Wimp_GetWindowState",,temp%
N  sx%=temp%!4+x%-temp%!20
X  sy%=temp%!16+y%-temp%!24
b  temp2%!0=wworkh%
l  temp2%!4=x%
v  temp2%!8=y%
�  temp2%!12=x%+96
�  temp2%!16=y%+56
�=  ș"Wimp_ReadPixTrans",&100,1,"vco",,,,scalef%,pixtrans%
�)  ș"Wimp_UpdateWindow",,temp2%�more%
�  ȕ more%
�>    ș"Wimp_SpriteOp",&34,,df$,sx%,sy%,8,scalef%,pixtrans%
�+    ș"Wimp_GetRectangle",,temp2%�more%
�  �
��
��
�
���RemDf(x%,y%)
�� x%<>-1 �
4  È™"Wimp_ForceRedraw",wworkh%,x%,y%,x%+96,y%+56
�
�
 
*��PlotLn(x%,y%)
4� (x%<>-1)�(startlx%<>-1) �
>  temp2%!0=wworkh%
H%  È™"Wimp_GetWindowState",,temp2%
R&  ssx%=temp2%!4+startlx%-temp2%!20
\'  ssy%=temp2%!16+startly%-temp2%!24
f   sex%=temp2%!4+x%-temp2%!20
p!  sey%=temp2%!16+y%-temp2%!24
z  wsx%=startlx%
�  wsy%=startly%
�
  wex%=x%
�
  wey%=y%
�   � wsx%>wex% � Ȕ wsx%,wex%
�   � wsy%>wey% � Ȕ wsy%,wey%
�  temp2%!0=wworkh%
�  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%
	  �
	$�
	.�
	8
	B��Redraw_Window
	L)ș"Wimp_RedrawWindow",,polledb%�more%
	VȎ polledb%!0 �
	`  � wworkh%:�RedrawWork
	j  � wvcoh%:�RedrawVCO
	t  � wegh%:�RedrawEG
	~  � wnldisth%:�RedrawNLD
	�  :�JustRedraw
	��
	��
	�
	���RedrawWork
	�;ș"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%
2+  ș"Wimp_GetRectangle",,polledb%�more%
<�
F�
P
Z��RedrawVCO
dA%=polledb%!4
nB%=polledb%!8
xC%=vcoptr%
�ȕ more%
�  È™"Wimp_SetColour",3
�'  � A%+166,B%+132,A%+166+512,B%+132
�  È™"Wimp_SetColour",1
�-  � 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
�-  � 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
6B%=polledb%!8
@C%=nldistptr%
JÈ• more%
T  È™"Wimp_SetColour",1
^  � A%,B%+64,A%+512,B%+64
h  � A%,B%+128,A%+512,B%+128
r  � A%,B%+192,A%+512,B%+192
|  � A%,B%+320,A%+512,B%+320
�  � A%,B%+384,A%+512,B%+384
�  � A%,B%+448,A%+512,B%+448
�  � A%+64,B%,A%+64,B%+512
�  � A%+128,B%,A%+128,B%+512
�  � A%+192,B%,A%+192,B%+512
�  � 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%
�
�
&
0��VCOClick
:Ȏ polledb%!16 �
D  � 0:�VCOsin(vcoptr%+4)
N  � 1:�VCOtri(vcoptr%+4)
X  � 2:�VCOramp(vcoptr%+4)
b  � 3:�VCOsqr(vcoptr%+4)
l  � 4:�VCOconst(vcoptr%+4)
v   � 5:�VCOshftlft(vcoptr%+4)
�!  � 6:�VCOshftrght(vcoptr%+4)
�   � 7:�VCOmuldiv2(vcoptr%+4)
�  � 8:�VCOrot90(vcoptr%+4)
�  � 9:�VCOrand(vcoptr%+4)
�  � 10:�VCOpaint(vcoptr%+4)
��
�W� (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%)

4  ?(a%+255-T%)=-?(a%+T%)

>�T%

H�ModTitle(0)

R�

\��VCOramp(a%)

fÈ— A%,B%,C%

p
�T%=0�255

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

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

��T%

��ModTitle(0)

��

���VCOsqr(a%)

�
�T%=0�255

�  ?(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%
8�ModTitle(0)
B�
L��VCOshftlft(a%)
V
�T%=0�127
`  ?(a%+T%)=?(a%+T%*2)
j�T%
t
�T%=0�127
~  ?(a%+T%+128)=?(a%+T%)
��T%
��ModTitle(0)
��
���VCOshftrght(a%)
��T%=255�0�-1
�  ?(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
2  ?(a%+T%)=l%
<�T%
F�ModTitle(0)
P�
Z��VCOrot90(a%)
dÈ— A%,B%,C%
n
�T%=0�255
x  l%=T%
�  � C%�4 � l%=(T%+64)�255
�  � C%�1 � l%=(T%-64)�255
�  temp%?T%=?(a%+l%)
��T%
�
�T%=0�255
�  ?(a%+T%)=temp%?T%
��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 �
6È— A%,B%,C%
@� C%=0 � vcolastx%=-1
J&� (C%�4)�((C%�1)�(vcolastx%=-1)) �
T  temp%!0=wvcoh%
^$  È™"Wimp_GetWindowState",,temp%
h$  x%=polledb%!0-temp%!4+temp%!20
r%  y%=polledb%!4-temp%!16+temp%!24
|1  � (x%>=166)�(x%<=676)�(y%<=-8)�(y%>=-260) �
�    �ModTitle(0)
�     a%?((x%-166)/2)=(134+y%)
�    vcolastx%=(x%-166)/2
�    vcolasty%=134+y%
�3    ș"Wimp_ForceRedraw",wvcoh%,x%,-260,x%+2,-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
�1  � (x%>=166)�(x%<=676)�(y%<=-8)�(y%>=-260) �
    �ModTitle(0)
    sx=vcolastx%
    sy=vcolasty%
&    ex=(x%-166)�2
0    ey=134+y%
:    � �(sx-ex)<1 �
D!     a%?((x%-166)/2)=(134+y%)
N	    �
X      y=sy
b      dx=�(ex-sx)
l      dy=(ey-sy)/�(ex-sx)
v      � x=sx � ex � dx
�        a%?x=y
�        y+=dy
�      �x
�	    �
�    vcolastx%=(x%-166)/2
�    vcolasty%=134+y%
�    � 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
4È— A%,B%,C%
>� C%=0 � eglastx%=-1
H%� (C%�4)�((C%�1)�(eglastx%=-1)) �
R  temp%!0=wegh%
\$  È™"Wimp_GetWindowState",,temp%
f$  x%=polledb%!0-temp%!4+temp%!20
p%  y%=polledb%!4-temp%!16+temp%!24
z0  � (x%>=0)�(x%<=1022)�(y%<=-4)�(y%>=-256) �
�    �ModTitle(0)
�    a%?(x%/2)=256+y%
�    eglastx%=x%/2
�    eglasty%=256+y%
�1    ș"Wimp_ForceRedraw",wegh%,x%,-256,x%+2,0
�  �
��
�� (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%
8    � �(sx-ex)<1 �
B     a%?(x%/2)=256+y%
L	    �
V      y=sy
`      dx=�(ex-sx)
j      dy=(ey-sy)/�(ex-sx)
t      � x=sx � ex � dx
~        a%?x=y
�        y+=dy
�      �x
�	    �
�    eglastx%=x%/2
�    eglasty%=256+y%
�    � 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%
2È• more%
<  È™"Wimp_SetColour",1
F   � A%+2,B%+32,A%+1024,B%+32
P   � A%+2,B%+64,A%+1024,B%+64
Z   � A%+2,B%+96,A%+1024,B%+96
d"  � A%+2,B%+128,A%+1024,B%+128
n"  � A%+2,B%+160,A%+1024,B%+160
x"  � A%+2,B%+192,A%+1024,B%+192
�"  � A%+2,B%+224,A%+1024,B%+224
�  È™"Wimp_SetColour",7
�  �redraweg
�+  ș"Wimp_GetRectangle",,polledb%�more%
��
��
�
���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%
,�
6
@��Open_Work
J  temp2%!0=wworkh%
T%  È™"Wimp_GetWindowState",,temp2%
^  temp%!0=wtoolsh%
h$  È™"Wimp_GetWindowState",,temp%
r  temp%!4=polledb%!4-114
|  temp%!16=polledb%!16
�  temp%!12=polledb%!4-4
�e  � polledb%!16-polledb%!8>620 � temp%!8=temp%!16-620 � temp%!8=temp%!16-(polledb%!16-polledb%!8)
�7  � temp%!4<0 � temp%!12=temp%!12-temp%!4:temp%!4=0
�  A%=polledb%!4<oldworkx%
�(  A%=A% � ((polledb%!4-temp%!4)<114)
�'  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%
0    temp%!4=polledb%!4-114
:    temp%!16=polledb%!16
D    temp%!12=polledb%!4-4
Ng    � polledb%!16-polledb%!8>620 � temp%!8=temp%!16-620 � temp%!8=temp%!16-(polledb%!16-polledb%!8)
X9    � temp%!4<0 � temp%!12=temp%!12-temp%!4:temp%!4=0
b"    È™"Wimp_OpenWindow",,temp%
l    polledb%!28=wtoolsh%
v%    È™"Wimp_OpenWindow",,polledb%
�  �
�  oldworkx%=polledb%!4
��
�
���Close_Window
�"ș"Wimp_CloseWindow",,polledb%
�� polledb%!0=wworkh% �
�  polledb%!0=wtoolsh%
�$  ș"Wimp_CloseWindow",,polledb%
��
��
�
���Mouse_Click
Ȏ polledb%!12 �
  � wworkh%:�WorkClick
  � wtoolsh%:�ToolsClick
   � wconstanth%:�ConstClick
*  � wmultch%:�MultCClick
4  � wvcoh%:�VCOClick
>  � wegh%:�EGClick
H  � wnldisth%:�NLDistClick
R  � wstatsh%:�StatsClick
\  � winputh%:�InputClick
f  � -2:�IconBClick
p�
z�
�
���ToolsClick
�� polledb%!8<16 �
�  Ȏ polledb%!16 �
�    � 0:�PopPlaceM
�H    � 1:lastmenu%=workmenu%:polledb%!0=2:polledb%!4=-1:�Menu_Select2
�H    � 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
8qlastmx%=polledb%!0-64:lastmy%=polledb%!4+12:lastmenu%=addmenu%:È™"Wimp_CreateMenu",,lastmenu%,lastmx%,lastmy%
B�
L
V��NLDistClick
`ș"OS_Byte",202,0,255�,sh%
j� (sh%�8)=0 �
ta%=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) �
�    �ModTitle(0)
�    a%?(x%/2)=256+y%/2
�    nldistlastx%=x%/2
�    nldistlasty%=256+y%/2
�5    ș"Wimp_ForceRedraw",wnldisth%,x%,-512,x%+2,0
  �

�
!� (C%�1)�(nldistlastx%<>-1) �
  temp%!0=wnldisth%
($  È™"Wimp_GetWindowState",,temp%
2$  x%=polledb%!0-temp%!4+temp%!20
<%  y%=polledb%!4-temp%!16+temp%!24
F/  � (x%>=0)�(x%<=510)�(y%<=-2)�(y%>=-512) �
P    �ModTitle(0)
Z    sx=nldistlastx%
d    sy=nldistlasty%
n    ex=x%�2
x    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
�        y+=dy
�      �x
�	    �
�    nldistlastx%=x%/2
�    nldistlasty%=256+y%/2
    � sx>ex � È” sx,ex
    � sy>ey � È” sy,ey
9    È™"Wimp_ForceRedraw",wnldisth%,sx*2,-512,ex*2+2,0
"  �
,�
6�
@�
J
T��StatsClick
^� polledb%!8<8 �
h5  � polledb%!16=4 � samtype%=0:�SendSFXED(&9abc0)
r5  � polledb%!16=5 � samtype%=1:�SendSFXED(&9abc1)
|5  � polledb%!16=6 � samtype%=2:�SendSFXED(&9abc2)
��
��
�
���SendSFXED(M%)
�H%=�GetSFXEDH
�� H%=0 �
�&  �ReportErr("SFXED not present.")
��
�  temp%!0=256
�  temp%!4=0
�  temp%!8=0
�  temp%!12=0
�  temp%!16=M%
&  È™"Wimp_SendMessage",17,temp%,H%
�
�
&
0��MBString(s%)
:ȕ ?s%>31 s%+=1:�
D
?s%=13
N�
X
b��DataSave
l� messbk%!4<>taskh% �
v(  filetoload2$=�Strip($(messbk%+44))
�  messbk%!0=256
�'  $(messbk%+44)="<Wimp$Scrap>"+�(0)
�  messbk%!12=messbk%!8
�  messbk%!16=2
�  messbk%!36=-1
�/  ș"Wimp_SendMessage",17,messbk%,messbk%!4
��
��
�
�
��SaveAck
�� savetype%<>-1 �
�  Ȏ savetype% �
�    � 0:temp%!0=wsaveasshh%
  �
  temp%!4=1
"  È™"Wimp_GetIconState",,temp%
   �MBString(polledb%+44)
*#  $(!(temp%+28))=$(polledb%+44)
4  f$=$(polledb%+44)
>  Ȏ savetype% �
H    � 0:�SaveSh(f$)
R  �
\  � f%<>0 � �#f%
f  savetype%=-1
p  messbk%!12=messbk%!8
z  messbk%!16=3
�/  ș"Wimp_SendMessage",17,messbk%,messbk%!4
��
��
�
���DataLoad
�Ȏ polledb%!20 �
�  � wworkh%,-2:�LoadSheet
�  � winputh%:�LoadInput
��
��
�
���DataOpen
�� polledb%!40=&78a �
  �LoadSheet
  messbk%!0=256
  messbk%!12=messbk%!8
$/  È™"Wimp_SendMessage",17,messbk%,messbk%!4
.�
8�
B
L��LoadInput
V� �
`� � � �ReportErr(�$):�
j�ModTitle(0)
t�MBString(polledb%+44)
~$(inpptr%)=$(polledb%+44)
�temp%!0=winputh%
�
temp%!4=1
� ș"Wimp_GetIconState",,temp%
�$(temp%!28)=$(polledb%+44)
�f%=�($(polledb%+44))
�inpptr%!268=�#f%
��#f%
�
temp%!4=8
� ș"Wimp_GetIconState",,temp%
�@%=&90a
�$(temp%!28)=�(inpptr%!268)
�@%=&01020a00
0È™"Wimp_ForceRedraw",winputh%,0,-4000,4000,0

�

��LoadSheet
(� �
2� � � �ReportErr(�$):�
<� polledb%!40<>&78a �
F   �ReportErr("Not a sheet.")
P�
Z  �MBString(polledb%+44)
d   filetoload$=$(polledb%+44)
n  � sheetsaved%=-1 �
x    �LoadSh(filetoload$)
�  �
�\    A%=�Confirm("Sheet has been modified. Are you sure you want to load another sheet?")
�%    � A%=1 � �LoadSh(filetoload$)
�  �
��
��
�
���LoadSh(f$)
�  �RemAllDrag
�  �Clear
�  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
6%    È™"Wimp_GetIconState",,temp2%
@    $(temp2%!28)=$temp%
J     È™"OS_GBPB",4,f%,temp%,4
T  �
^%  � temp%!0>99999 � temp%!0=99999
h  temp2%!0=wstatsh%
r  temp2%!4=3
|#  È™"Wimp_GetIconState",,temp2%
�  $(temp2%!28)=�(temp%!0)
�  ș"OS_GBPB",4,f%,temp%,4
�  i%=temp%!0
�  ȕ i%<>-1
�"    ș"OS_GBPB",4,f%,temp2%,32
�     ș"OS_GBPB",4,f%,temp%,4
�    l%=�Alloc(temp%!0)
�    temp2%!12=l%
�     temp2%!28=(temp2%!28)�&f
�#    ș"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      � 0:i$="vco"
 :      � 1:i$="noise"
 D      � 2:i$="eg"
 N      � 3:i$="filtlo"
 X      � 4:i$="filthi"
 b      � 5:i$="const"
 l      � 6:i$="mult"
 v      � 7:i$="multc"
 �      � 8:i$="add"
 �      � 13:i$="sub"
 �      � 14:i$="pulse"
 �      � 15:i$="delay"
 �      � 9:i$="output"
 �      � 16:i$="input"
 �      � 17:i$="samhold"
 �      � 18:i$="nldist"
 �	    �
 �    $(temp%+24)=i$
 �&    ș"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
!*  �
!4  �T%=0�maxicons%-1
!>!    � iconinfo%!(T%*32)<>-1 �
!HZ      � iconinfo%!(T%*32+16)<>-1 � iconinfo%!(T%*32+16)=litrans%(iconinfo%!(T%*32+16))
!RZ      � iconinfo%!(T%*32+20)<>-1 � iconinfo%!(T%*32+20)=litrans%(iconinfo%!(T%*32+20))
!\	    �
!f	  �T%
!p
  �#f%
!z$  � filetoload$="<Wimp$Scrap>" �
!�     �("Delete "+filetoload$)
!�    f$=filetoload2$
!�  �
!�  $(wwork%!72)=f$
!�  sheetsaved%=-1
!�  temp%!0=wworkh%
!�  temp%!0=wsaveasshh%
!�  temp%!4=1
!�"  ș"Wimp_GetIconState",,temp%
!�  $(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
"8a%=1
"Bȕ �fs$,f%)<>""
"L1  � �fs$,f%,1)="." � �fs$,f%,1)=":" � a%=f%+1
"V  f%+=1
"`�
"j
=�fs$,a%)
"t
"~
��Inst
"�	n$=""
"�f%=�("<SFXM$Dir>.iddata")
"�a%=�#f%
"�n$=n$+�(a%)
"�a%=�#f%
"�n$=n$+�(a%)
"�a%=�#f%
"�n$=n$+�(a%)
"�a%=�#f%
"�n$=n$+�(a%)
"�F� n$<>"SFXM" � �#f%:�ReportErr("Please install SFXM first!"):�Quit
"�usname$=""
#
idnum$=""
#
check%=0
#�
#
  a%=�#f%
#(+  � a%<>0 � usname$=usname$+�(a% � &aa)
#2  check%=check% � a%
#<
� a%=0
#F�
#P
  a%=�#f%
#Z)  � a%<>0 � idnum$=idnum$+�(a% � &aa)
#d  check%=check% � a%
#n
� a%=0
#xa%=�#f%
#��#f%
#�� a%<>check% � �Quit
#�temp%!0=winsth%
#�
temp%!4=9
#� ș"Wimp_GetIconState",,temp%
#�$(temp%!28)=usname$
#�temp%!0=winsth%
#�temp%!4=13
#� ș"Wimp_GetIconState",,temp%
#�$(temp%!28)=idnum$
#�temp%!0=winsth%
#�"ș"Wimp_GetWindowState",,temp%
#�temp%!28=-1
$È™"Wimp_OpenWindow",,temp%
$insttime%=�
$instopen%=-1
$"�
$,
$6��ConstClick
$@�ModTitle(0)
$J� polledb%!16=2 �
$T  temp%!0=wconstanth%
$^  temp%!4=0
$h"  È™"Wimp_GetIconState",,temp%
$r  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)
$�inptype%=inpptr%!256
$�� polledb%!16=6 �
%  temp%!0=winputh%
%!  È™"Wimp_CloseWindow",,temp%
%�
%&5� polledb%!16=3 � inptype%=(inptype%�&fffffffc)+0
%05� polledb%!16=4 � inptype%=(inptype%�&fffffffc)+1
%:5� polledb%!16=5 � inptype%=(inptype%�&fffffffc)+2
%D6� polledb%!16=11 � inptype%=(inptype%�&fffffffb)+4
%N4� polledb%!16=12 � inptype%=(inptype%�&fffffffb)
%Xinpptr%!256=inptype%
%b�
%l
%v��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
%�  �
&�
&*� (polledb%!16>=3)�(polledb%!16<=13) �
&%  È™"Wimp_SetCaretPosition",-1,-1
&   temp%!0=wmultch%
&*  temp%!4=0
&4"  È™"Wimp_GetIconState",,temp%
&>2  $(temp%!28)=��(2^(((polledb%!16)-2)/12)),11)
&H0  È™"Wimp_ForceRedraw",wmultch%,0,-108,390,0
&R�
&\�
&f
&p��WorkClick
&zȎ 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% �
&�V  � 0,1,2,3,4,5,6,7,8,9,13,14,15,16,17,18:�CreateObj(dfunc%,polledb%!0,polledb%!4)
&�  � 10:�SelIcn2
'  � 12:�Connect
'�
'�
'$
'.��AdjToolsC
'8Ȏ olddfunc% �
'B=  � 0,1,2,3,4,5,6,7,8,9,13,14,15,16,17,18:�IconColor(0,0)
'L  � 10:�IconColor(2,0)
'V  � 12:�IconColor(1,0)
'`�
'jȎ dfunc% �
't=  � 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
'� ș"Wimp_SetIconState",,temp%
(�
(

(��SelIcn
(� polledb%!16<>-1 �
((  �SwapIconS(polledb%!16)
(2�
(<  �ClearSel
(F�
(P�
(Z
(d
��SelIcn2
(n/� polledb%!16<>-1 � �SwapIconS(polledb%!16)
(x�
(�
(���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
(�  oldlx%=-1:oldly%=-1
(��
)�
)
)��DoubleWork
)"Ȏ dfunc% �
),  � 10:�SelIcn
)6  � 12:�Connect
)@�
)J�
)T
)^��AdjCWork
)hȎ dfunc% �
)r  � 10:�SetParam
)|  � 12:�SwapLin
)��
)��
)�
)���SetParam
)�%Ȏ iconinfo%!((polledb%!16)*32) �
)�  � 0:�SetVCOParam
)�  � 2:�SetEGParam
)�  � 5:�SetConstParam
)�  � 7:�SetMultCParam
)�  � 16:�SetInputParam
)�  � 18:�SetNLDistParam
)��
)��
*
*��SetNLDistParam
*temp%!0=wnldisth%
*&"È™"Wimp_GetWindowState",,temp%
*0temp%!4=polledb%!0-256
*:temp%!8=polledb%!4-256
*Dtemp%!12=temp%!4+512
*Ntemp%!16=temp%!8+512
*Xtemp%!28=-1
*b6� (temp%!32)�(1<<16) � ș"Wimp_CloseWindow",,temp%
*lÈ™"Wimp_OpenWindow",,temp%
*v.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
*�
temp%!4=8
+ È™"Wimp_GetIconState",,temp%
+@%=&90a
+$(temp%!28)=�(inpptr%!268)
+ @%=&01020a00
+*temp%!12=1<<21
+4
temp%!4=3
+>0� (inptype%�3)=0 � temp%!8=1<<21 � temp%!8=0
+H È™"Wimp_SetIconState",,temp%
+R
temp%!4=4
+\0� (inptype%�3)=1 � temp%!8=1<<21 � temp%!8=0
+f È™"Wimp_SetIconState",,temp%
+p
temp%!4=5
+z0� (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
+�temp%!16=temp%!8+212
+�temp%!28=-1
,6� (temp%!32)�(1<<16) � ș"Wimp_CloseWindow",,temp%
,È™"Wimp_OpenWindow",,temp%
,�:È— A%,B%,C%:� C%=0
,$�
,.
,8��SetVCOParam
,Btemp%!0=wvcoh%
,L"È™"Wimp_GetWindowState",,temp%
,Vtemp%!4=polledb%!0-342
,`temp%!8=polledb%!4-132
,jtemp%!12=temp%!4+684
,ttemp%!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%
,�temp%!4=polledb%!0-512
-temp%!8=polledb%!4-128
-
temp%!12=temp%!4+1024
-temp%!16=temp%!8+256
-temp%!28=-1
-(6� (temp%!32)�(1<<16) � ș"Wimp_CloseWindow",,temp%
-2È™"Wimp_OpenWindow",,temp%
-<*egptr%=iconinfo%!((polledb%!16)*32+12)
-F�:ȗ A%,B%,C%:� C%=0
-P�
-Z
-d��SetConstParam
-ntemp%!0=wconstanth%
-x
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%
-��
-�
.��SetMultCParam
.temp%!0=wmultch%
.
temp%!4=0
." È™"Wimp_GetIconState",,temp%
.,.mconstptr%=iconinfo%!((polledb%!16)*32+12)
.6,$(temp%!28)=��((!mconstptr%)/&10000),11)
.@"È™"Wimp_GetWindowState",,temp%
.Jtemp%!4=polledb%!0-145
.Ttemp%!8=polledb%!4-54
.^temp%!12=temp%!4+390
.htemp%!16=temp%!8+108
.rtemp%!28=-1
.|6� (temp%!32)�(1<<16) � ș"Wimp_CloseWindow",,temp%
.�ș"Wimp_OpenWindow",,temp%
.��
.�
.�
��SwapLin
.��ModTitle(0)
.�� (polledb%!16<>-1) �
.�  temp%!0=wworkh%
.�$  ș"Wimp_GetWindowState",,temp%
.�&  slx%=polledb%!0-temp%!4+temp%!20
.�'  sly%=polledb%!4-temp%!16+temp%!24
.�  sic%=polledb%!16
.�&  x%=slx%-iconinfo%!(sic%*32+4)-58
.�&  y%=sly%-iconinfo%!(sic%*32+8)-28
/  si%=�GetIO(x%,y%,sic%)
/  � (si%<>2) �
/)    eic%=iconinfo%!(sic%*32+si%*4+16)
/&"    elx%=iconinfo%!(eic%*32+4)
/0"    ely%=iconinfo%!(eic%*32+8)
/:"    ls%=iconinfo%!(sic%*32+28)
/DT    � si%=0 � ls%=(ls%�&fffffffc)�((ls%+1)�3) � ls%=(ls%�&fffffff3)�((ls%+4)�&c)
/N"    iconinfo%!(sic%*32+28)=ls%
/X"    � slx%>elx% � Ȕ slx%,elx%
/b"    � sly%>ely% � Ȕ sly%,ely%
/lD    È™"Wimp_ForceRedraw",wworkh%,slx%-98,sly%-58,elx%+98,ely%+58
/v  �
/��
/��
/�
/�
��Connect
/��ModTitle(0)
/�� polledb%!16=-1 �
/�  �7
/��
/�  temp%!0=wworkh%
/�$  ș"Wimp_GetWindowState",,temp%
/�  � startlx%=-1 �
/�,    startlx%=polledb%!0-temp%!4+temp%!20
/�-    startly%=polledb%!4-temp%!16+temp%!24
0    startic%=polledb%!16
00    x%=startlx%-iconinfo%!(startic%*32+4)-58
00    y%=startly%-iconinfo%!(startic%*32+8)-28
0 &    starti%=�GetIO(x%,y%,startic%)
0*  �
04*    endlx%=polledb%!0-temp%!4+temp%!20
0>+    endly%=polledb%!4-temp%!16+temp%!24
0H    endic%=polledb%!16
0R,    x%=endlx%-iconinfo%!(endic%*32+4)-58
0\,    y%=endly%-iconinfo%!(endic%*32+8)-28
0f"    endi%=�GetIO(x%,y%,endic%)
0p/    � (starti%=endi%)�((starti%�endi%)=1) �
0z      �7
0�	    �
0�      � endi%=2 �
0��        � iconinfo%!(startic%*32+16+starti%*4)<>-1 � �ReportErr("Input already connected.") � iconinfo%!(startic%*32+16+starti%*4)=endic%
0�      �
0��        � iconinfo%!(endic%*32+16+endi%*4)<>-1 � �ReportErr("Input already connected.") � iconinfo%!(endic%*32+16+endi%*4)=startic%
0�      �
0�0      � startlx%>endlx% � Ȕ startlx%,endlx%
0�0      � startly%>endly% � Ȕ startly%,endly%
0�R      ș"Wimp_ForceRedraw",wworkh%,startlx%-98,startly%-58,endlx%+98,endly%+58
0�      �RemAllDrag
0�	    �
0�  �
0��
1�
1
1ݤGetIO(x%,y%,i%)
1$� x%>0 �
1.  io%=2
18�
1B  � y%>0 � io%=0 � io%=1
1L�
1VÈŽ iconinfo%!(i%*32) �
1`  � 1:� io%=1 � io%=0
1j  � 2:io%=2
1t  � 5:io%=2
1~  � 7:� io%=1 � io%=0
1�  � 9:io%=0
1�  � 16:io%=2
1�  � 18:� io%=1 � io%=0
1��
1�=io%
1�
1���CreateObj(obj%,xc%,yc%)
1��RemAllDrag
1��ModTitle(0)
1�temp%!0=wworkh%
1�"ș"Wimp_GetWindowState",,temp%
1�x%=xc%-(temp%!4)+(temp%!20)
2 y%=yc%-(temp%!16)+(temp%!24)
2
x%=(x%�96)*96
2y%=((y%�56)-1)*56
2temp%!0=wworkh%
2(temp%!4=x%
22temp%!8=y%
2<temp%!12=x%+92
2Ftemp%!16=y%+52
2P.temp%!20=%00001000000000001010000000011010
2Z$(temp%+24)=df$
2d"ș"Wimp_CreateIcon",,temp%�ih%
2n� ih%>=maxicons% �
2x  temp%!0=wworkh%
2�  temp%!4=ih%
2�   ș"Wimp_DeleteIcon",,temp%
2�%  �ReportErr("Too many objects.")
2��
2�  Ȏ obj% �
2�3    � 0:l%=�Alloc(260):� l%<>-1 � �VCOsin(l%+4)
2�    � 1:l%=-1
2�B    � 2:l%=�Alloc(520):� l%<>-1 � �T%=l%+8�l%+516�4:!T%=-1:�T%
2�    � 3:l%=-1
2�    � 4:l%=-1
2�.    � 5:l%=�Alloc(4):� l%<>-1 � !l%=&10000
2�    � 6:l%=�Alloc(4)
2�.    � 7:l%=�Alloc(4):� l%<>-1 � !l%=&10000
3    � 8:l%=�Alloc(4)
3    � 9:l%=�Alloc(4)
3    � 13:l%=-1
3"    � 14:l%=�Alloc(4)
3,    � 15:l%=-1
36    � 16:l%=-1
3@    � 17:l%=-1
3J    � 18:l%=-1
3T  �
3^  � l%=-1 �
3h    temp%!0=wworkh%
3r    temp%!4=ih%
3|"    È™"Wimp_DeleteIcon",,temp%
3�)    �ReportErr("No room for object.")
3�  �
3�!    iconinfo%!(ih%*32+0)=obj%
3�    iconinfo%!(ih%*32+4)=x%
3�    iconinfo%!(ih%*32+8)=y%
3�     iconinfo%!(ih%*32+12)=l%
3�     iconinfo%!(ih%*32+16)=-1
3�     iconinfo%!(ih%*32+20)=-1
3�     iconinfo%!(ih%*32+24)=-1
3�     iconinfo%!(ih%*32+28)=15
3�  �
3��
3�6ș"Wimp_ForceRedraw",wworkh%,x%,y%,x%+46*2,y%+13*4
4�
4
4��IconBClick
4&Ȏ polledb%!8 �
40  � 1,4:�OpenWork
4:q  � 2:lastmx%=polledb%!0-64:lastmy%=96+176:lastmenu%=iconmenu%:ș"Wimp_CreateMenu",,lastmenu%,lastmx%,lastmy%
4D�
4N�
4X
4b��OpenWork
4lpolledb%!0=wworkh%
4v%È™"Wimp_GetWindowState",,polledb%
4�polledb%!28=-1
4�oldworkx%=polledb%!4
4��Open_Window
4�temp%!0=wstatsh%
4�"ș"Wimp_GetWindowState",,temp%
4�temp%!28=-1
4�ș"Wimp_OpenWindow",,temp%
4��
4�
4���User_Drag_Box
4��DragSaved
4��
4�
5��Key_Pressed
5� polledb%!24=&1cc �
5  È™"Wimp_ProcessKey",&1cc
5 �
5*  Ȏ polledb%!0 �
54    � wconstanth%:�KeyConst
5>    � winputh%:�KeyInput
5H    � wmultch%:�KeyMultC
5Rf    � wstatsh%:�((polledb%!4=3)�(polledb%!4=8))�(polledb%!24=13) � ș"Wimp_SetCaretPosition",-1,-1
5\  �
5f�
5p�
5z
5���KeyInput
5��ModTitle(0)
5�'� (polledb%!4=1)�(polledb%!24=13) �
5�  temp%!0=winputh%
5�  temp%!4=1
5�"  ș"Wimp_GetIconState",,temp%
5�  $(inpptr%)=$(temp%!28)
5�  inpptr%!256=inptype%
5�!  ș"Wimp_CloseWindow",,temp%
5��
5��
5�
5���KeyConst
6�ModTitle(0)
6'� (polledb%!4=0)�(polledb%!24=13) �
6  temp%!0=wconstanth%
6$  temp%!4=0
6."  È™"Wimp_GetIconState",,temp%
68  v=�($(temp%!28))
6B  � �(v)>32767 �
6LD    �ReportErr("Only numbers between -32767 and 32767 allowed.")
6V  �
6`    !constptr%=&10000*v
6j#    È™"Wimp_CloseWindow",,temp%
6t    constptr%=0
6~  �
6��
6��
6�
6���KeyMultC
6��ModTitle(0)
6�'� (polledb%!4=0)�(polledb%!24=13) �
6�  temp%!0=wmultch%
6�  temp%!4=0
6�"  ș"Wimp_GetIconState",,temp%
6�  v=�($(temp%!28))
6�  � �(v)>32767 �
6�D    �ReportErr("Only numbers between -32767 and 32767 allowed.")
7  �
7
    !mconstptr%=&10000*v
7#    È™"Wimp_CloseWindow",,temp%
7    mconstptr%=0
7(  �
72�
7<�
7F
7P��Menu_Select
7Z"È™"Wimp_GetPointerInfo",,temp%
7doldbut%=temp%!8
7n�Menu_Select2
7xB� (oldbut%�1) � ș"Wimp_CreateMenu",,lastmenu%,lastmx%,lastmy%
7��
7�
7���Menu_Select2
7�Ȏ lastmenu% �
7�  � iconmenu%:�MSelIcon
7�  � workmenu%:�MSelWork
7�K  � addmenu%:polledb%!4=polledb%!0:polledb%!8=-1:polledb%!0=0:�MSelWork
7��
7��
7�
7���MSelIcon
7�� polledb%!0=2 � �Clear2
7�� polledb%!0=3 � �CloseDown
8�
8
8��MSelWork
8"Ȏ polledb%!0 �
8,  � 0:�MenuAdd
86  � 1:�MenuSel
8@F  � 2:workmenu%!(28+24*1+0)=0:workmenu%!(28+24*2+0)=1:�MenuConnect
8J  � 3:�MenuCalc
8T  � 4:�SwapTools
8^�
8h�AdjToolsC
8r�
8|
8���SwapTools
8�tools%=� tools%
8�� tools%=0 �
8�  temp%!0=wtoolsh%
8�!  ș"Wimp_CloseWindow",,temp%
8�  workmenu%!(28+24*4+0)=128
8��
8�  polledb%!0=wworkh%
8�'  ș"Wimp_GetWindowState",,polledb%
8�  oldworkx%=polledb%!4
8�  �Open_Window
8�!  workmenu%!(28+24*4+0)=128+1
8��
9�
9
9
��MenuAdd
9&Ȏ polledb%!4 �
90  � 0:dfunc%=0:df$="vco"
9:  � 1:dfunc%=1:df$="noise"
9D  � 2:dfunc%=2:df$="eg"
9N  � 3:dfunc%=5:df$="const"
9X  � 4:dfunc%=3:df$="filtlo"
9b  � 5:dfunc%=4:df$="filthi"
9l  � 6:dfunc%=6:df$="mult"
9v  � 7:dfunc%=7:df$="multc"
9�  � 8:dfunc%=8:df$="add"
9�  � 9:dfunc%=13:df$="sub"
9�"  � 10:dfunc%=17:df$="samhold"
9�!  � 11:dfunc%=18:df$="nldist"
9�   � 12:dfunc%=14:df$="pulse"
9�   � 13:dfunc%=15:df$="delay"
9�   � 14:dfunc%=9:df$="output"
9�   � 15:dfunc%=16:df$="input"
9��
9�F� polledb%!4<>-1 � workmenu%!(28+24*1+0)=0:workmenu%!(28+24*2+0)=0
9��RemAllDrag
9��
9�
:
��MenuSel
:Ȏ polledb%!4 �
:D  � -1:dfunc%=10:workmenu%!(28+24*1+0)=1:workmenu%!(28+24*2+0)=0
:   � 0:�AllSel
:*  � 1:�ClearSel
:4  � 2:�SwapSel
:>  � 3:�DeleteObjs
:H  � 4:�DeleteInpt
:R�
:\�RemAllDrag
:f�
:p
:z
��SwapSel
:��T%=0�maxicons%-1
:�-  �iconinfo%!(T%*32)<>-1 � �SwapIconS(T%)
:��T%
:��
:�
:���ClearSel
:��T%=0�maxicons%-1
:�.  �iconinfo%!(T%*32)<>-1 � �SetIconS(T%,0)
:��T%
:��
:�
:���AllSel
:��T%=0�maxicons%-1
;.  �iconinfo%!(T%*32)<>-1 � �SetIconS(T%,1)
;�T%
;�
;$
;.��DeleteObjs
;8�T%=0�maxicons%-1
;B>  �(iconinfo%!(T%*32)<>-1)�(iconinfo%!(T%*32+28))�(1<<4) �
;Lf    � iconinfo%!(T%*32+12)=constptr% � temp%!0=wconstanth%:ș"Wimp_CloseWindow",,temp%:constptr%=0
;Ve    � 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
;jZ    � iconinfo%!(T%*32+12)=egptr% � temp%!0=wegh%:ș"Wimp_CloseWindow",,temp%:egptr%=0
;t_    � 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
;�    iconinfo%!(T%*32+8)=-1
;�    iconinfo%!(T%*32+12)=-1
;�    iconinfo%!(T%*32+16)=-1
;�    iconinfo%!(T%*32+20)=-1
;�    iconinfo%!(T%*32+24)=-1
;�    iconinfo%!(T%*32+28)=-1
<    �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
<(      �
<2    �S%
<<  �
<F�T%
<P/È™"Wimp_ForceRedraw",wworkh%,0,-4000,4000,0
<Z�
<d
<n��DeleteInpt
<x�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%)
<�temp%!0=wworkh%
<�temp%!4=i%
<�temp%!8=s%<<21
<�temp%!12=1<<21
<� ș"Wimp_SetIconState",,temp%
<�Ciconinfo%!(i%*32+28)=((iconinfo%!(i%*32+28))�&ffffffef)�(s%<<4)
<��
=
=��SwapIconS(i%)
=temp%!0=wworkh%
="temp%!4=i%
=,temp%!8=1<<21
=6temp%!12=0
=@ È™"Wimp_SetIconState",,temp%
=J6iconinfo%!(i%*32+28)=(iconinfo%!(i%*32+28))�(1<<4)
=T�
=^
=h��MenuConnect
=r�RemAllDrag
=|
dfunc%=12
=��
=�
=���MenuCalc
=��SendSFXED(&9abc3)
=��
=�
=���StartReceived
=�temp%!0=wstatsh%
=�
temp%!4=3
=� ș"Wimp_GetIconState",,temp%
=�samlen%=�($(temp%!28))
=�� samlen%<=0 � samlen%=1
=�� samlen%>polledb%!24 �
>  �ReportErr("No room.")
>�
>  startsam%=polledb%!20
>&  �MenuCalc2
>0�
>:�
>D
>N��MenuCalc2
>X
io%=-1
>b�T%=0�maxicons%-1
>l  � iconinfo%!(T%*32)=9 �
>v"    � io%=-1 � io%=T% � io%=-2
>�  �
>��T%
>�Ȏ io% �
>�#  � -1:�ReportErr("No output!")
>�.  � -2:�ReportErr("More than one output!")
>�  :�CalcOK(io%)
>��
>��
>�
>���CalcOK(i%)
>�temp%!0=wstatsh%
>�
temp%!4=3
>� ș"Wimp_GetIconState",,temp%
?samlen%=�($(temp%!28))
?� samlen%<=0 � samlen%=1
?� startsam%<>-1 �
?   e%=0:T%=0
?*  ȕ (T%<maxicons%)�(e%=0)
?4    Ȏ iconinfo%!(T%*32) �
?>,      � 0:�InitVCO(iconinfo%!(T%*32+12))
?H3      � 2:�InitEG(iconinfo%!(T%*32+12),samlen%)
?R-      � 3:�InitFilt(iconinfo%!(T%*32+12))
?\-      � 4:�InitFilt(iconinfo%!(T%*32+12))
?f/      � 14:�InitPulse(iconinfo%!(T%*32+12))
?p/      � 15:�InitDelay(iconinfo%!(T%*32+12))
?z2      � 16:e%=�InitInput(iconinfo%!(T%*32+12))
?�1      � 17:�InitSamHold(iconinfo%!(T%*32+12))
?�	    �
?�
    T%+=1
?�  �
?�  � e%<>0 �
?�.    �ReportErr("Can't claim input memory")
?�    �CloseInput
?�    ș"Hourglass_Off"
?�  �
?�    ș"Hourglass_On"
?�    !samtyp=samtype%
?�    A%=iconinfo%!(i%*32+16)
?�    B%=iconinfo%
@    C%=startsam%
@    D%=samlen%
@    �calcall
@$    È™"Hourglass_Off"
@.    �CloseInput
@8    temp%!20=samlen%
@B    temp%!24=samtype%
@L    $(temp%+28)=sheetname$
@V    �SendSFXED(&9abc4)
@`    startsam%=-1
@j  �
@t�
@~�
@�
@���InitVCO(l%)
@�	!l%=0
@��
@�
@���InitEG(l%,k%)
@�
l%!0=0
@�l%!4=(65536*512)/samlen%
@��
@�
@���InitFilt(l%)
@�	!l%=0
A�
A

A��InitDelay(l%)
A�J%=0�252�4:l%!J%=0:�J%
A(�
A2
A<��InitPulse(l%)
AF	!l%=0
AP�
AZ
Ad��InitSamHold(l%)
An	!l%=0
Ax�
A�
A�ݤInitInput(l%)
A�� �
A�%� � � �ReportErr(�$):il%=1:� �`zA
A�� $l%="" �
A�1  �ReportErr("Warning: no input name given.")
A�  il%=1
A��
A�  f%=�($l%)
A�M  � f%=0 � il%=1:�ReportErr("Warning: can't load input.") � il%=�#f%:�#f%
A��
A�� il%<=0 � il%=1
A�2ș"XOS_Module",6,,,(il%+3)�&fffffffc � ,,s%;v%
B� v%�1 �
B  l%!272=-1
B  error%=-1
B"�
B,   l%!260=(&1000*il%)/samlen%
B6  l%!264=0
B@  l%!268=il%
BJ  l%!272=s%
BT  l%!276=0
B^'  � il%>1 � �("LOAD "+$l%+" "+�~s%)
Bh  error%=0
Br�
B|=error%
B�
B���CloseInput
B��T%=0�maxicons%
B�  � iconinfo%!(T%*32)=16 �
B�    f%=iconinfo%!(T%*32+12)
B�9    � f%!272<>-1 � ș"XOS_Module",7,,f%!272:f%!272=-1
B�  �
B��T%
B��
B�
B���User_Message
B�*�T%=0�255�4:messbk%!T%=polledb%!T%:�T%
B�m%=polledb%!16
CȎ m% �
C  � 0:�Quit
C  � 1:�DataSave
C&  � 2:�SaveAck
C0  � 3:�DataLoad
C:  � 5:�DataOpen
CD  � &9abc5:�StartReceived
CN�
CX�
Cb
Cl��CloseDown
Cv� sheetsaved%=-1 �
C�  �Quit
C��
C�L  A%=�Confirm("Sheet has been modified. Are you sure you want to quit?")
C�  � A%=1 � �Quit
C��
C��
C�
C�
��Quit
C�1ș"XOS_SetVarVal","SFXM_TaskHandle","",-1,0,0
C�ș"Hourglass_Smash"
C�ș"Wimp_BaseOfSprites"�,S%
C�Dș"XOS_SpriteOp",25+256,S%,"vco":ș"XOS_SpriteOp",25+256,S%,"eg"
C�Jș"XOS_SpriteOp",25+256,S%,"noise":ș"XOS_SpriteOp",25+256,S%,"filtlo"
DJÈ™"XOS_SpriteOp",25+256,S%,"filthi":È™"XOS_SpriteOp",25+256,S%,"const"
DFÈ™"XOS_SpriteOp",25+256,S%,"add":È™"XOS_SpriteOp",25+256,S%,"mult"
DHÈ™"XOS_SpriteOp",25+256,S%,"output":È™"XOS_SpriteOp",25+256,S%,"sub"
D JÈ™"XOS_SpriteOp",25+256,S%,"delay":È™"XOS_SpriteOp",25+256,S%,"nldist"
D*IÈ™"XOS_SpriteOp",25+256,S%,"input":È™"XOS_SpriteOp",25+256,S%,"multc"
D4KÈ™"XOS_SpriteOp",25+256,S%,"pulse":È™"XOS_SpriteOp",25+256,S%,"samhold"
D>HÈ™"XOS_SpriteOp",25+256,S%,"place":È™"XOS_SpriteOp",25+256,S%,"conn"
DHHÈ™"XOS_SpriteOp",25+256,S%,"sel":È™"XOS_SpriteOp",25+256,S%,"selall"
DRLÈ™"XOS_SpriteOp",25+256,S%,"selclr":È™"XOS_SpriteOp",25+256,S%,"selswap"
D\FÈ™"XOS_SpriteOp",25+256,S%,"del":È™"XOS_SpriteOp",25+256,S%,"deli"
Df%È™"XOS_SpriteOp",25+256,S%,"calc"
Dp'È™"Wimp_CloseDown",taskh%,&4b534154
DzÈ™"OS_Exit"
D��
D�
D�ݤGetSFXEDH
D�<ș"XOS_ReadVarVal","SFXED_TaskHandle",temp2%,16,0,0�,,A%
D�temp2%?A%=13
D�!� A%=0 � =0 � =�("&"+$temp2%)
D�
D�
��Init
D�ș "OS_GetEnv" � EnvStr$
D�
I%=1:S%=0
D��
D�"  � �EnvStr$,I%,1)=" " � S%+=1
D�  I%+=1
E � (S%=3)�(�EnvStr$,I%,1)="")
Elf$=�EnvStr$,I%)
E@%=&01020a00
E$maxicons%=100
E.� temp% 1000
E8� temp2% 1000
EB� messbk% 512
EL<ș"Wimp_Initialise",200,&4b534154,"SFXM"�version%,taskh%
EVD� version%<200 � ș"Wimp_CloseDown",taskh%,&4b534154:ș"OS_Exit"
E`;ș"XOS_ReadVarVal","SFXM_TaskHandle",temp2%,16,0,0�,,A%
Ej
� A%<>0 �
Et)  �ReportErr("SFXM already running.")
E~)  È™"Wimp_CloseDown",taskh%,&4b534154
E�  ș"OS_Exit"
E��
E�ș"Hourglass_On"
E�6ș"XOS_SetVarVal","SFXM_TaskHandle",�~taskh%,8,0,0
E�.ș"Wimp_SpriteOp",11,,"<SFXM$Dir>.Sprites"
E�H%=�GetSFXEDH
E�4� H%=0 � �("*WimpTask Run <SFXED$Dir>.^.!SFXED")
E�1ș"Wimp_OpenTemplate",,"<SFXM$Dir>.Templates"
E�� pixtrans% 16
E�� scalef% 16
E�� weg% 1000
E�� wvco% 1000
F� wnldist% 1000
F
� wabout% 1000
F� wsaveassh% 1000
F� wconstant% 1000
F(� wwork% 1000
F2� wtools% 2000
F<� wstats% 1000
FF� wmultc% 1000
FP� winput% 1000
FZ� winst% 1000
Fd� icbuf% 4000
Fnicbufn%=icbuf%
Fx� tname% 16
F��LoadTemp(weg%,"eg")
F��LoadTemp(wvco%,"vco")
F� �LoadTemp(wnldist%,"nldist")
F��LoadTemp(wabout%,"about")
F�$�LoadTemp(wsaveassh%,"saveassh")
F�$�LoadTemp(wconstant%,"constant")
F��LoadTemp(wwork%,"work")
F��LoadTemp(wtools%,"tools")
F��LoadTemp(wstats%,"stats")
F��LoadTemp(wmultc%,"multc")
F��LoadTemp(winput%,"input")
F��LoadTemp(winst%,"inst")
F�ș"Wimp_CloseTemplate"
G%ș"Wimp_CreateWindow",,weg%�wegh%
G'ș"Wimp_CreateWindow",,wvco%�wvcoh%
G-ș"Wimp_CreateWindow",,wnldist%�wnldisth%
G"+ș"Wimp_CreateWindow",,wabout%�wabouth%
G,1ș"Wimp_CreateWindow",,wsaveassh%�wsaveasshh%
G61ș"Wimp_CreateWindow",,wconstant%�wconstanth%
G@)ș"Wimp_CreateWindow",,wwork%�wworkh%
GJ+ș"Wimp_CreateWindow",,wtools%�wtoolsh%
GT+ș"Wimp_CreateWindow",,wstats%�wstatsh%
G^+ș"Wimp_CreateWindow",,wmultc%�wmultch%
Gh+ș"Wimp_CreateWindow",,winput%�winputh%
Gr)ș"Wimp_CreateWindow",,winst%�winsth%
G|
�Menus
G�� bicon% 32
G�bicon%!0=-1
G�bicon%!4=0
G�bicon%!8=0
G�bicon%!12=68
G�bicon%!16=68
G�bicon%!20=%0011000000011010
G�$(bicon%+24)="!sfxm"
G�'ș"Wimp_CreateIcon",,bicon%�biconh%
G�� iconinfo% maxicons%*32
G�,�T%=0�maxicons%*32-4:iconinfo%!T%=-1:�T%
G�$olddfunc%=10:dfunc%=10:df$="vco"
G�+olddx%=-1:olddy%=-1:newdx%=-1:newdy%=-1
H+oldlx%=-1:oldly%=-1:newlx%=-1:newly%=-1
H&startlx%=-1:startly%=0:startic%=-1
Hstarti%=-1:endi%=-1
H&drag%=0
H0
dragx%=-1
H:
dragy%=-1
HDconstptr%=0
HNmconstptr%=0
HX
vcoptr%=0
Hbegptr%=0
Hlnldistptr%=0
Hvnldistlastx%=-1
H�nldistlasty%=-1
H�vcolastx%=-1
H�vcolasty%=-1
H�samptrl%=-1
H�samptrr%=-1
H�startsam%=-1
H�samlen%=-1
H�zoomfr=1
H�
okt%=1
H�savetype%=-1
H�
inpptr%=0
H�
nopoll%=0
H�sheetsaved%=-1
I"filetoload$="":filetoload2$=""
Isheetname$="<Untitled>"
Ioldworkx%=-1
I 
tools%=-1
I*�AdjToolsC
I4� dragb% 56
I>� litrans%(maxicons%)
IHsamtype%=0
IR
�Assem
I\� freepool% maxicons%*540
IfA%=freepool%
IpB%=maxicons%*540
Iz
� initmem
I�� linlog% 8192
I�*VOLUME 127
I�'ș"Sound_Configure",0,0,0,0,0�,,,T%
I�,�S%=0�8188�4:linlog%!S%=!((T%!8)+S%):�S%
I�!linlog=linlog%
I�� lintable% 1024
I�!lintab=lintable%
I�
�T%=0�127
I�.  lintable%!(T%*8)=�(0.5+267.33*2^(T%/16))
I�*  lintable%!(T%*8+4)=-lintable%!(T%*8)
I��T%
I�� pollb% 256
I�polledb%=pollb%
J� lf$<>"" �
J  $(polledb%+44)=lf$
J  polledb%!40=&78a
J$  �LoadSheet
J.�
J8	�Inst
JBÈ™"Hourglass_Off"
JL�
JV
J`��ModTitle(ss%)
Jj	� ti$
Jt� ss%=sheetsaved% � �
J~ti$=$(wwork%!72)
J�*� �ti$," ")<>0 � ti$=�ti$,�ti$," ")-1)
J�� ss%=0 � ti$=ti$+" *"
J�$(wwork%!72)=ti$
J�temp%!0=wworkh%
J�$ș"Wimp_GetWindowOutline",,temp%
J�Aș"Wimp_ForceRedraw",-1,temp%!4,temp%!16-40,temp%!12,temp%!16
J�sheetsaved%=ss%
J��
J�
J���Clear2
J�� sheetsaved%=-1 �
J�  �Clear
K�
K
O  A%=�Confirm("Sheet has been modified. Are you sure you want to do this?")
K  � A%=1 � �Clear
K�
K(�
K2
K<��Clear
KFtemp2%!0=wconstanth%
KP È™"Wimp_CloseWindow",,temp2%
KZtemp2%!0=wmultch%
Kd È™"Wimp_CloseWindow",,temp2%
Kntemp2%!0=wvcoh%
Kx È™"Wimp_CloseWindow",,temp2%
K�temp2%!0=wegh%
K� ș"Wimp_CloseWindow",,temp2%
K�temp2%!0=winputh%
K� ș"Wimp_CloseWindow",,temp2%
K�temp2%!0=wnldisth%
K� ș"Wimp_CloseWindow",,temp2%
K�temp2%!0=wstatsh%
K�temp2%!4=8
K�!ș"Wimp_GetIconState",,temp2%
K�$(!(temp2%+28))=""
K�0ș"Wimp_ForceRedraw",wstatsh%,0,-4000,4000,0
K�#ș"Wimp_SetCaretPosition",-1,-1
K�temp2%!0=wworkh%
L�T%=0�maxicons%-1
LG  � iconinfo%!(T%*32)<>-1 � temp2%!4=T%:ș"Wimp_DeleteIcon",,temp2%
L�T%
L"constptr%=0
L,mconstptr%=0
L6
vcoptr%=0
L@egptr%=0
LJvcolastx%=-1
LTvcolasty%=-1
L^.�T%=0�maxicons%*32-4�4:iconinfo%!T%=-1:�T%
LhA%=freepool%
LrB%=maxicons%*540
L|
� initmem
L�$(wwork%!72)="<Untitled>"
L�sheetname$="<Untitled>"
L�temp%!0=wworkh%
L�$ș"Wimp_GetWindowOutline",,temp%
L�Aș"Wimp_ForceRedraw",-1,temp%!4,temp%!16-44,temp%!12,temp%!16
L�/ș"Wimp_ForceRedraw",wworkh%,0,-4000,4000,0
L�sheetsaved%=-1
L��
L�
L���LoadTemp(� start%,name$)
L�$tname%=name$
L�Zș"Wimp_LoadTemplate",,start%,icbufn%,icbuf%+4000,-1,tname%,0�,start%,icbufn%,,,,next%
L�I� next%=0 � ș"Wimp_CloseTemplate":� 0,"Template "+name$+" not found"
M�
M
M��ReportErr(a$)
M&temp2%!0=0
M0$(temp2%+4)=a$
M:(È™"Wimp_ReportError",temp2%,1,"SFXM"
MD�
MN
MXݤConfirm(a$)
Mbtemp2%!0=0
Ml$(temp2%+4)=a$
Mv4ș"Wimp_ReportError",temp2%,%10011,"Confirm"�,A%
M�=A%
M�
M�ݤinterr(a$)
M�temp2%!0=0
M�$(temp2%+4)=a$
M�Aș"Wimp_ReportError",temp2%,%10011,"SFXM Internal Error."�,A%
M�=A%
M�
M�"� titlestring, width in chars.
M�ݤMenuHead(t$,w%)
M�� a%
M�a%=Menus%+MenuPtr%
M�
$a%=t$
Na%?12=7
Na%?13=2
Na%?14=7
N a%?15=0
N*a%!16=w%*16
N4a%!20=44
N>a%!24=0
NHMenuPtr%+=28
NR=a%
N\
Nf;� itemtext, flags, indirected, val. string, max. length
Np��AddItem(i$,f%,i%,v$,ml%)
Nz� a%
N�a%=Menus%+MenuPtr%
N�+� (�(i$)>11)�(i%=0) � i%=-1:ml%=�(i$)+1
N�a%!0=f%�255
N�a%!4=-1
N�^� f%�256 � a%!8=%00000111010000011001000000010001 � a%!8=%00000111000000011001000000010001
N�
� i% �
N�  a%!8+=256
N�"  $(MenuData%+MenuDataPtr%)=i$
N�"  a%!12=MenuData%+MenuDataPtr%
N�  MenuDataPtr%+=�(i$)+1
N�"  $(MenuData%+MenuDataPtr%)=v$
N�"  a%!16=MenuData%+MenuDataPtr%
N�  MenuDataPtr%+=�(v$)+1
O  a%!20=ml%
O�
O  $(a%+12)=i$
O$�
O.MenuPtr%+=24
O8�
OB
OL � menu, item, submenupointer
OV��AddSubMenu(m%,i%,p%)
O`m%!(28+24*i%+4)=p%
Oj�
Ot
O~��Menus
O�� MenuData% 2000
O�� Menus% 2000
O�MenuDataPtr%=0
O�MenuPtr%=0
O�!iconmenu%=�MenuHead("SFXM",8)
O��AddItem("Info",0,0,"",0)
O��AddItem("Save",256,0,"",0)
O� �AddItem("Restart",0,0,"",0)
O��AddItem("Quit",128,0,"",0)
O�%�AddSubMenu(iconmenu%,0,wabouth%)
O�(�AddSubMenu(iconmenu%,1,wsaveasshh%)
O�
P"workmenu%=�MenuHead("SFXM",11)
P
�AddItem("Place",0,0,"",0)
P�AddItem("Select",0,0,"",0)
P#�AddItem("Connection",0,0,"",0)
P("�AddItem("Calculate",0,0,"",0)
P2%�AddItem("Show Tools",129,0,"",0)
P<"addmenu%=�MenuHead("Place",20)
PF#�AddItem("Oscillator",0,0,"",0)
PP*�AddItem("Noise Generator",256,0,"",0)
PZ+�AddItem("Envelope Generator",0,0,"",0)
Pd+�AddItem("Constant Generator",0,0,"",0)
Pn*�AddItem("Low Pass Filter",256,0,"",0)
Px+�AddItem("High Pass Filter",256,0,"",0)
P�#�AddItem("Multiplier",0,0,"",0)
P�,�AddItem("Constant Multiplier",0,0,"",0)
P��AddItem("Adder",0,0,"",0)
P�%�AddItem("Subtractor",256,0,"",0)
P�(�AddItem("Sample & Hold",256,0,"",0)
P�+�AddItem("General Function",256,0,"",0)
P�(�AddItem("Pulse Generator",0,0,"",0)
P�%�AddItem("Delay Line",256,0,"",0)
P��AddItem("Output",0,0,"",0)
P�$�AddItem("Input",256+128,0,"",0)
P�#selmenu%=�MenuHead("Select",15)
P��AddItem("All",0,0,"",0)
P��AddItem("Clear",0,0,"",0)
Q�AddItem("Swap",0,0,"",0)
Q'�AddItem("Delete Objects",0,0,"",0)
Q(�AddItem("Delete Inputs",128,0,"",0)
Q"%�AddSubMenu(workmenu%,0,addmenu%)
Q,%�AddSubMenu(workmenu%,1,selmenu%)
Q6�
Q@
QJ"��RedrawLines(x1%,y1%,x2%,y2%)
QTtemp2%!0=wworkh%
Q^#È™"Wimp_GetWindowState",,temp2%
QhÈ™"Wimp_SetColour",7
QrA%=temp2%!4-temp2%!20
Q|B%=temp2%!16-temp2%!24
Q�
C%=x1%
Q�
D%=y1%
Q�
E%=x2%
Q�
F%=y2%
Q�G%=iconinfo%
Q��redrln
Q��
Q�
Q�ݤAlloc(size%)
Q�A%=size%
Q�=�(allocmem)
Q�
Q���Free(loc%)
RA%=loc%
R�freemem
R�
R&
R0��Assem
R:� code% 3000
RD� pass%=0�2�2
RNP%=code%
RX[       opt     pass%
Rb
Rl%.redrln stmfd   r13!,{r0-r12,r14}
Rv        mov     r7,#0
R�#.chkicn add     r8,r6,r7,lsl #5
R�        ldr     r9,[r8,#0]
R�        cmn     r9,#1
R�        beq     nxticn
R�        cmpne   r9,#2
R�        cmpne   r9,#5
R�        beq     nxticn
R�        ldr     r9,[r8,#16]
R�        cmn     r9,#1
R�        beq     noinp1
R�        ldr     r9,[r8,#28]
R�        and     r9,r9,#3
R�        str     r9,lintyp
S        ldr     r9,[r8]
S        cmp     r9,#0
S        cmpne   r9,#3
S         cmpne   r9,#4
S*        cmpne   r9,#6
S4        cmpne   r9,#8
S>        cmpne   r9,#13
SH        cmpne   r9,#14
SR        cmpne   r9,#15
S\        cmpne   r9,#17
Sf        ldr     r9,[r8,#4]
Sp        sub     r9,r9,#2
Sz        ldr     r10,[r8,#8]
S�         addeq   r10,r10,#9*4
S�         addne   r10,r10,#6*4
S�         ldr     r11,[r8,#16]
S�%        add     r11,r6,r11,lsl #5
S�         ldr     r12,[r11,#8]
S�         ldr     r11,[r11,#4]
S�!        add     r11,r11,#46*2
S�         add     r12,r12,#6*4
S�        bl      ctline
S�.noinp1 ldr     r9,[r8,#20]
S�        cmn     r9,#1
S�        beq     noinp2
S�        ldr     r9,[r8,#28]
T         mov     r9,r9,lsr #2
T        and     r9,r9,#3
T        str     r9,lintyp
T$        ldr     r9,[r8,#4]
T.        sub     r9,r9,#2
T8        ldr     r10,[r8,#8]
TB         add     r10,r10,#3*4
TL         ldr     r11,[r8,#20]
TV%        add     r11,r6,r11,lsl #5
T`         ldr     r12,[r11,#8]
Tj         ldr     r11,[r11,#4]
Tt!        add     r11,r11,#46*2
T~         add     r12,r12,#6*4
T�        bl      ctline
T�.noinp2
T�.nxticn add     r7,r7,#1
T�!        cmp     r7,#maxicons%
T�        blo     chkicn
T�$        ldmfd   r13!,{r0-r12,pc}
T�
T�.lintyp equd    0
T�
T�.ctline add     r9,r9,r0
T�        add     r10,r10,r1
T�        add     r11,r11,r0
U        add     r12,r12,r1
U
$        stmfd   r13!,{r0-r8,r14}
U        mov     r0,#4
U        mov     r1,r9
U(        mov     r2,r10
U2        swi     "OS_Plot"
U<        ldr     r3,lintyp
UF        mov     r0,#5
UP        cmp     r3,#3
UZ        addeq   r1,r9,r11
Ud         moveq   r1,r1,asr #1
Un        moveq   r2,r10
Ux        cmp     r3,#2
U�        moveq   r1,r9
U�        addeq   r2,r10,r12
U�         moveq   r2,r2,asr #1
U�        cmp     r3,#1
U�        moveq   r1,r11
U�        moveq   r2,r10
U�        cmp     r3,#0
U�        moveq   r1,r9
U�        moveq   r2,r12
U�        swi     "OS_Plot"
U�        ldr     r3,lintyp
U�        mov     r0,#5
U�        cmp     r3,#3
V        addeq   r1,r9,r11
V         moveq   r1,r1,asr #1
V        moveq   r2,r12
V"        cmp     r3,#2
V,        moveq   r1,r11
V6        addeq   r2,r10,r12
V@         moveq   r2,r2,asr #1
VJ        cmp     r3,#1
VT        cmpne   r3,#0
V^        moveq   r1,r11
Vh        moveq   r2,r12
Vr        swi     "OS_Plot"
V|        ldr     r3,lintyp
V�        cmp     r3,#0
V�        cmpne   r3,#1
V�#        ldmeqfd r13!,{r0-r8,pc}
V�        mov     r0,#5
V�        mov     r1,r11
V�        mov     r2,r12
V�        swi     "OS_Plot"
V�#        ldmfd   r13!,{r0-r8,pc}
V�.samtyp equd    0
V�
V�).initmem        ;r0=MemStart, r1=Size
V�$        stmfd   r13!,{r0-r3,r14}
V�        add     r0,r0,#3
W        bic     r0,r0,#3
W        bic     r1,r1,#3
W        str     r0,memstart
W&        mvn     r2,#0
W0        str     r2,[r0,#4]
W:        sub     r2,r1,#24
WD        str     r2,[r0,#8]
WN        add     r2,r0,r1
WX        str     r2,[r0]
Wb        add     r3,r0,#12
Wl        str     r3,[r2,#-8]
Wv        mvn     r3,#0
W�         str     r3,[r2,#-12]
W�        mov     r3,#0
W�        str     r3,[r2,#-4]
W�#        ldmfd   r13!,{r0-r3,pc}
W�
W�C.allocmem       ;r0=RequiredSize -> r0=PtrToFreeMem (-1=failed)
W�        cmp     r0,#0
W�        mvnle   r0,#0
W�        movle   pc,r14
W�$        stmfd   r13!,{r1-r4,r14}
W�        add     r0,r0,#3
W�        bic     r0,r0,#3
W�        add     r3,r0,#12
X        ldr     r1,memstart
X        add     r1,r1,#12
X.alloc1 ldr     r2,[r1,#-4]
X         cmp     r2,r0
X*        bmi     alloc4
X4        cmp     r2,r3
X>        ble     alloc3
XH        add     r0,r0,#12
XR        b       alloc2
X\ .alloc4 ldr     r1,[r1,#-12]
Xf        cmn     r1,#1
Xp        bne     alloc1
Xz        mvn     r0,#0
X�#        ldmfd   r13!,{r1-r4,pc}
X�.alloc3 mov     r0,r1
X�        mov     r2,#0
X�        str     r2,[r1,#-4]
X�#        ldmfd   r13!,{r1-r4,pc}
X�.alloc2 add     r4,r1,r0
X�        sub     r2,r2,r0
X�         ldr     r3,[r1,#-12]
X�         str     r3,[r4,#-12]
X�        str     r2,[r4,#-4]
X�        str     r1,[r4,#-8]
X�         str     r4,[r1,#-12]
X�        cmn     r3,#1
Y        strne   r4,[r3,#-8]
Y        mov     r4,#0
Y        str     r4,[r1,#-4]
Y$        mov     r0,r1
Y.#        ldmfd   r13!,{r1-r4,pc}
Y8
YB).freemem        ;r0=PtrToAllocatedMem
YL$        stmfd   r13!,{r0-r3,r14}
YV         ldr     r1,[r0,#-12]
Y`        sub     r2,r1,r0
Yj        sub     r2,r2,#12
Yt        ldr     r3,[r1,#-4]
Y~        cmp     r3,#0
Y�        beq     freem1
Y�        add     r2,r2,r3
Y�        add     r2,r2,#12
Y�         ldr     r1,[r1,#-12]
Y�        cmn     r1,#1
Y�        strne   r0,[r1,#-8]
Y� .freem1 str     r1,[r0,#-12]
Y�        str     r2,[r0,#-4]
Y�        ldr     r1,[r0,#-8]
Y�        cmn     r1,#1
Y�        beq     freem2
Y�        ldr     r3,[r1,#-4]
Z        cmp     r3,#0
Z
        beq     freem2
Z        add     r2,r2,r3
Z        add     r2,r2,#12
Z(        str     r2,[r1,#-4]
Z2         ldr     r2,[r0,#-12]
Z<         str     r2,[r1,#-12]
ZF        cmn     r2,#1
ZP        strne   r1,[r2,#-8]
ZZ#.freem2 ldmfd   r13!,{r0-r3,pc}
Zd
Zn
.memstart
Zx        equd    0
Z�
Z�.redrawvco
Z�%        stmfd   r13!,{r0-r12,r14}
Z�        add     r8,r0,#166
Z�        add     r9,r1,#4
Z�        add     r10,r2,#4
Z�        mov     r11,#0
Z�.rvcolp mov     r0,#69
Z�!        mov     r1,r11,lsl #1
Z�         ldrb    r2,[r10,r11]
Z�!        mov     r2,r2,lsl #24
Z�!        mov     r2,r2,asr #24
Z�        add     r2,r2,#128
[        add     r1,r1,r8
[        add     r2,r2,r9
[        swi     "OS_Plot"
["        add     r11,r11,#1
[,        cmp     r11,#256
[6        bne     rvcolp
[@$        ldmfd   r13!,{r0-r12,pc}
[J.redrawnld
[T%        stmfd   r13!,{r0-r12,r14}
[^        mov     r8,r0
[h        mov     r9,r1
[r        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
[�$        ldmfd   r13!,{r0-r12,pc}
[�
.redraweg
[�%        stmfd   r13!,{r0-r12,r14}
\        mov     r8,r0
\        mov     r9,r1
\        add     r10,r2,#8
\&        mov     r11,#0
\0.rvcolp mov     r0,#69
\:!        mov     r1,r11,lsl #1
\D         ldrb    r2,[r10,r11]
\N        add     r1,r1,r8
\X        add     r2,r2,r9
\b        swi     "OS_Plot"
\l        add     r11,r11,#1
\v        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
\�        mov     r10,r3
\�        mov     r7,r3
]        ldr     r11,samtyp
]        ldr     r12,linlog
].callup mov     r0,#0
]         mov     r2,r1
]*.clloop ldr     r3,[r2,#28]
]4$        bic     r3,r3,#&80000000
]>        str     r3,[r2,#28]
]H        add     r2,r2,#32
]R        add     r0,r0,#1
]\!        cmp     r0,#maxicons%
]f        bne     clloop
]p        mov     r0,r8
]z        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]
]�        cmp     r11,#1
]�        addeq   r0,r0,#128
]�        strb    r0,[r9],#1
^        tst     r10,#&7f
^        bne     nohgup
^         stmfd   r13!,{r0-r2}
^$        mov     r0,#129
^.        mov     r1,#0
^8        mov     r2,#0
^B        swi     "OS_Byte"
^L        cmp     r2,#0
^V        cmpeq   r1,#&1b
^`         ldmfd   r13!,{r0-r2}
^j        beq     escp
^t!        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
^�        mov     r0,r12
^�*        swi     "Hourglass_Percentage"
_!        ldmfd   r13!,{r7-r12}
_
.nohgup subs    r10,r10,#1
_        bne     callup
_$        ldmfd   r13!,{r0-r12,pc}
_(.escp   mov     r0,#124
_2        swi     "OS_Byte"
_<$        ldmfd   r13!,{r0-r12,pc}
_F
_P.linlog equd    0
_Z;r0=icon
_d;r1=iconinfo%
_n(.getout stmfd   r13!,{r1-r3,r12,r14}
_x        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
_�         str     r3,[r12,#28]
_�         ldrne   r0,[r12,#24]
_�'        ldmnefd r13!,{r1-r3,r12,pc}
_�         mov     r2,r0,lsl #5
_�        ldr     r2,[r1,r2]
_�        cmp     r2,#13
_�        moveq   r2,#9
`        cmp     r2,#14
`        moveq   r2,#10
`        cmp     r2,#15
`"        moveq   r2,#11
`,        cmp     r2,#16
`6        moveq   r2,#12
`@        cmp     r2,#17
`J        moveq   r2,#13
`T        cmp     r2,#18
`^        moveq   r2,#14
`h        cmp     r2,#0
`r        movmi   r0,#0
`|'        ldmmifd r13!,{r1-r3,r12,pc}
`�        cmp     r2,#15
`�        movpl   r0,#0
`�'        ldmplfd r13!,{r1-r3,r12,pc}
`�        adr     r3,jmptab
`�        adr     r14,return
`�%        ldr     pc,[r3,r2,lsl #2]
`� .return str     r0,[r12,#24]
`�'        ldmfd   r13!,{r1-r3,r12,pc}
`�
`�&.jmptab equd    getOvco         ;0
`�&        equd    getOnoise       ;1
`�&        equd    getOeg          ;2
`�&        equd    getOlpass       ;3
a&        equd    getOhpass       ;4
a&        equd    getOconst       ;5
a&        equd    getOmult        ;6
a&&        equd    getOmultc       ;7
a0&        equd    getOadd         ;8
a:'        equd    getOsub         ;13
aD'        equd    getOpulse       ;14
aN'        equd    getOdelay       ;15
aX'        equd    getOinput       ;16
ab'        equd    getOsh          ;17
al'        equd    getOnld         ;18
av
a�.getOvco
a�$        stmfd   r13!,{r1-r5,r14}
a�#        add     r2,r1,r0,lsl #5
a�        ldr     r0,[r2,#16]
a�        bl      getout
a�        mov     r5,r0
a�        ldr     r0,[r2,#20]
a�        bl      getout
a�        ldr     r2,[r2,#12]
a�        ldr     r3,[r2]
a�!        tst     r3,#&80000000
a�$        bic     r3,r3,#&ff000000
a�        bne     noresv
b        cmp     r0,#0
b        movpl   r3,#0
b!.noresv add     r3,r3,#&40000
b &        ldrb    r4,[r2,r3,lsr #16]
b*!        sub     r3,r3,#&40000
b4        add     r3,r3,r5
b>$        bic     r3,r3,#&ff000000
bH        cmp     r0,#0
bR$        orrpl   r3,r3,#&80000000
b\        str     r3,[r2]
bf!        mov     r0,r4,lsl #24
bp!        mov     r0,r0,asr #15
bz$        ldmfd   r13!,{r1-r5,pc}^
b�
b�.getOnoise
b�$        stmfd   r13!,{r1-r6,r14}
b�#        add     r2,r1,r0,lsl #5
b�        stmfd   r13!,{r2}
b�        ldr     r0,[r2,#16]
b�        bl      getout
b�        ldmfd   r13!,{r2}
b�        ldr     r2,[r2,#12]
b�        ldr     r3,[r2,#8]
b�        add     r4,r3,r0
b�        str     r4,[r2,#8]
b�!        mov     r4,r4,lsr #16
c!        cmp     r4,r3,lsr #16
c        beq     nonewr
c        ldr     r0,[r2]
c$        ldr     r4,ranxor
c.        mov     r3,#16
c8        mov     r5,#0
cB .randlp movs    r0,r0,lsl #1
cL        eorcs   r0,r0,r4
cV$        and     r6,r0,#&80000000
c`#        orr     r5,r6,r5,lsr #1
cj        subs    r3,r3,#1
ct        bne     randlp
c~        str     r0,[r2]
c�!        mov     r0,r5,asr #15
c�        str     r0,[r2,#4]
c�.nonewr ldr     r0,[r2,#4]
c�!        mov     r0,r0,asl #15
c�!        mov     r0,r0,asr #15
c�$        ldmfd   r13!,{r1-r6,pc}^
c�.ranxor equd    &1d872b41
c�
c�.getOeg
c�$        stmfd   r13!,{r1-r4,r14}
c�#        add     r2,r1,r0,lsl #5
c�        ldr     r2,[r2,#12]
d        ldr     r3,[r2]
d
!        add     r3,r3,#&80000
d&        ldrb    r4,[r2,r3,lsr #16]
d!        sub     r3,r3,#&80000
d(        ldr     r0,[r2,#4]
d2        add     r3,r3,r0
d<$        bic     r3,r3,#&fe000000
dF        str     r3,[r2]
dP         mov     r0,r4,lsl #8
dZ$        ldmfd   r13!,{r1-r4,pc}^
dd
dn.getOlpass
dx%        stmfd   r13!,{r1-r12,r14}
d�#        add     r2,r1,r0,lsl #5
d�        ldr     r0,[r2,#16]
d�        bl      getout
d�        mov     r5,r0
d�        ldr     r0,[r2,#20]
d�        bl      getout
d�        cmp     r0,#0
d�        movmi   r0,#0
d�        cmp     r0,#&10000
d�        movpl   r0,#&10000
d�        mov     r6,r0
d�        ldr     r7,[r2,#12]
d�        mov     r3,r6
e        ldr     r2,[r7]
e        sub     r2,r5,r2
e        bl      mult64
e"        ldr     r2,[r7]
e,        add     r0,r0,r2
e6        str     r0,[r7]
e@        mov     r0,r2
eJ%        ldmfd   r13!,{r1-r12,pc}^
eT
e^.getOhpass
eh%        stmfd   r13!,{r1-r12,r14}
er#        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
e�        cmp     r0,#0
e�        movmi   r0,#0
e�        cmp     r0,#&10000
e�        movpl   r0,#&10000
e�        mov     r6,r0
e�        ldr     r7,[r2,#12]
e�        mov     r3,r6
e�        ldr     r2,[r7]
e�        sub     r2,r5,r2
f        bl      mult64
f        ldr     r2,[r7]
f        add     r0,r0,r2
f&        str     r0,[r7]
f0        sub     r0,r5,r2
f:%        ldmfd   r13!,{r1-r12,pc}^
fD
fN.getOconst
fX!        stmfd   r13!,{r1,r14}
fb#        add     r0,r1,r0,lsl #5
fl        ldr     r0,[r0,#12]
fv        ldr     r0,[r0]
f�!        ldmfd   r13!,{r1,pc}^
f�
f�
.getOmult
f�$        stmfd   r13!,{r1-r3,r14}
f�#        add     r2,r1,r0,lsl #5
f�        stmfd   r13!,{r2}
f�        ldr     r0,[r2,#16]
f�        bl      getout
f�        ldmfd   r13!,{r2}
f�        stmfd   r13!,{r0}
f�        ldr     r0,[r2,#20]
f�        bl      getout
f�        ldmfd   r13!,{r2}
g        mov     r3,r0
g        bl      mult64
g$        ldmfd   r13!,{r1-r3,pc}^
g 
g*.getOmultc
g4$        stmfd   r13!,{r1-r3,r14}
g>#        add     r2,r1,r0,lsl #5
gH        stmfd   r13!,{r2}
gR        ldr     r0,[r2,#16]
g\        bl      getout
gf        ldmfd   r13!,{r2}
gp        ldr     r2,[r2,#12]
gz        ldr     r2,[r2]
g�        mov     r3,r0
g�        bl      mult64
g�$        ldmfd   r13!,{r1-r3,pc}^
g�
g�.getOadd
g�$        stmfd   r13!,{r1-r2,r14}
g�#        add     r2,r1,r0,lsl #5
g�        stmfd   r13!,{r2}
g�        ldr     r0,[r2,#16]
g�        bl      getout
g�        ldmfd   r13!,{r2}
g�        stmfd   r13!,{r0}
g�        ldr     r0,[r2,#20]
h        bl      getout
h        ldmfd   r13!,{r2}
h        add     r0,r0,r2
h$$        ldmfd   r13!,{r1-r2,pc}^
h.
h8.getOsub
hB$        stmfd   r13!,{r1-r2,r14}
hL#        add     r2,r1,r0,lsl #5
hV        stmfd   r13!,{r2}
h`        ldr     r0,[r2,#16]
hj        bl      getout
ht        ldmfd   r13!,{r2}
h~        stmfd   r13!,{r0}
h�        ldr     r0,[r2,#20]
h�        bl      getout
h�        ldmfd   r13!,{r2}
h�        sub     r0,r2,r0
h�$        ldmfd   r13!,{r1-r2,pc}^
h�
h�.getOpulse
h�%        stmfd   r13!,{r1-r12,r14}
h�#        add     r2,r1,r0,lsl #5
h�        ldr     r0,[r2,#16]
h�        bl      getout
h�        stmfd   r13!,{r0}
i        ldr     r0,[r2,#20]
i
        bl      getout
i        cmp     r0,#0
i        movmi   r0,#0
i(        cmp     r0,#&10000
i2        movpl   r0,#&10000
i<        ldmfd   r13!,{r3}
iF        ldr     r4,[r2,#12]
iP        ldr     r5,[r4]
iZ        add     r5,r5,r3
id$        bic     r5,r5,#&ff000000
in        str     r5,[r4]
ix         cmp     r5,r0,lsl #8
i�        mov     r0,#&10000
i�        rsbpl   r0,r0,#0
i�%        ldmfd   r13!,{r1-r12,pc}^
i�
i�.getOdelay
i�%        stmfd   r13!,{r1-r12,r14}
i�#        add     r2,r1,r0,lsl #5
i�        stmfd   r13!,{r2}
i�        ldr     r2,[r2,#12]
i�        add     r2,r2,#248
i�        add     r3,r2,#4
i�$        ldmda   r2!,{r4-r12,r14}
i�$        stmda   r3!,{r4-r12,r14}
j$        ldmda   r2!,{r4-r12,r14}
j$        stmda   r3!,{r4-r12,r14}
j$        ldmda   r2!,{r4-r12,r14}
j"$        stmda   r3!,{r4-r12,r14}
j,$        ldmda   r2!,{r4-r12,r14}
j6$        stmda   r3!,{r4-r12,r14}
j@$        ldmda   r2!,{r4-r12,r14}
jJ$        stmda   r3!,{r4-r12,r14}
jT$        ldmda   r2!,{r4-r12,r14}
j^$        stmda   r3!,{r4-r12,r14}
jh#        ldmda   r2!,{r4-r5,r14}
jr#        stmda   r3!,{r4-r5,r14}
j|        ldmfd   r13,{r2}
j�        ldr     r0,[r2,#16]
j�        bl      getout
j�        ldmfd   r13,{r2}
j�        ldr     r2,[r2,#12]
j�        str     r0,[r2]
j�        ldmfd   r13,{r2}
j�        ldr     r0,[r2,#20]
j�        bl      getout
j�        ldmfd   r13!,{r2}
j�        ldr     r2,[r2,#12]
j�!        mov     r0,r0,asr #10
j�        cmp     r0,#0
j�        movmi   r0,#0
k        cmp     r0,#63
k        movpl   r0,#63
k%        ldr     r0,[r2,r0,lsl #2]
k&%        ldmfd   r13!,{r1-r12,pc}^
k0
k:.getOinput
kD$        stmfd   r13!,{r1-r6,r14}
kN#        add     r6,r1,r0,lsl #5
kX        ldr     r6,[r6,#12]
kb         ldr     r5,[r6,#264]
kl         ldr     r4,[r6,#260]
kv         ldr     r1,[r6,#268]
k�!        cmp     r5,r1,lsl #12
k�        movpl   r0,#0
k�$        ldmplfd r13!,{r1-r6,pc}^
k�         ldr     r1,[r6,#272]
k�$        add     r1,r1,r5,lsr #12
k�        ldrb    r0,[r1]
k�
k�         ldr     r1,[r6,#256]
k�        tst     r1,#4
k�        addne   r5,r5,r4
k�         addeq   r5,r5,#&1000
k�         str     r5,[r6,#264]
k�
l         ldr     r1,[r6,#256]
l        and     r1,r1,#3
l        cmp     r1,#0
l !        moveq   r0,r0,lsl #24
l*!        moveq   r0,r0,asr #15
l4$        ldmeqfd r13!,{r1-r6,pc}^
l>        cmp     r1,#1
lH        subeq   r0,r0,#128
lR         moveq   r0,r0,lsl #9
l\$        ldmeqfd r13!,{r1-r6,pc}^
lf        ldr     r1,lintab
lp%        ldr     r0,[r1,r0,lsl #2]
lz$        ldmfd   r13!,{r1-r6,pc}^
l�
l�.lintab equd    0
l�
l�$.getOsh stmfd   r13!,{r1-r5,r14}
l�#        add     r2,r1,r0,lsl #5
l�        ldr     r0,[r2,#16]
l�        bl      getout
l�        mov     r5,r0
l�        ldr     r0,[r2,#20]
l�        bl      getout
l�        ldr     r2,[r2,#12]
l�        ldr     r4,[r2]
l�!        tst     r4,#&80000000
m        bne     noress
m        cmp     r0,#0
m         movpl   r4,r5,asr #1
m$$.noress bic     r4,r4,#&80000000
m.        cmp     r0,#0
m8$        orrpl   r4,r4,#&80000000
mB        str     r4,[r2]
mL         mov     r0,r4,lsl #1
mV$        ldmfd   r13!,{r1-r5,pc}^
m`
mj.getOnld
mt$        stmfd   r13!,{r1-r5,r14}
m~#        add     r2,r1,r0,lsl #5
m�        ldr     r0,[r2,#16]
m�        bl      getout
m�         mov     r0,r0,asr #1
m�         add     r0,r0,#&8000
m�        cmp     r0,#0
m�        movmi   r0,#0
m�        cmp     r0,#&10000
m�        movpl   r0,#&ff00
m�         mov     r0,r0,asr #8
m�        ldr     r2,[r2,#12]
m�        ldrb    r0,[r2,r0]
m�         mov     r0,r0,asl #8
n         sub     r0,r0,#&8000
n
         mov     r0,r0,asl #1
n$        ldmfd   r13!,{r1-r5,pc}^
n
n(-.mult64 ;r0=r2*r3 and . between bit 15,16
n2$        stmfd   r13!,{r1-r7,r14}
n<        eor     r4,r2,r3
nF        cmp     r2,#0
nP        rsbmi   r2,r2,#0
nZ        cmp     r3,#0
nd        rsbmi   r3,r3,#0
nn!        mov     r5,r2,lsl #16
nx!        mov     r5,r5,lsr #16
n�!        mov     r6,r3,lsl #16
n�!        mov     r6,r6,lsr #16
n�        mul     r0,r5,r6
n�!        mov     r0,r0,lsr #16
n�!        mov     r6,r3,lsr #16
n�        mul     r7,r5,r6
n�        add     r0,r0,r7
n�!        mov     r5,r2,lsr #16
n�!        mov     r6,r3,lsl #16
n�!        mov     r6,r6,lsr #16
n�        mul     r7,r5,r6
n�        add     r0,r0,r7
n�!        mov     r6,r3,lsr #16
o        mul     r7,r5,r6
o$        add     r0,r0,r7,lsl #16
o$        bic     r0,r0,#&80000000
o"!        tst     r4,#&80000000
o,        rsbne   r0,r0,#0
o6#        ldmfd   r13!,{r1-r7,pc}
o@
oJ.copymem
oT$        stmfd   r13!,{r0-r3,r14}
o^.cpylup cmp     r2,#0
oh#        ldmlefd r13!,{r0-r3,pc}
or        ldrb    r3,[r1],#1
o|        strb    r3,[r0],#1
o�        sub     r2,r2,#1
o�        b       cpylup
o�
o�$.revmem stmfd   r13!,{r0-r3,r14}
o�.revlup cmp     r0,r1
o�#        ldmplfd r13!,{r0-r3,pc}
o�        ldrb    r2,[r0]
o�        ldrb    r3,[r1]
o�        strb    r3,[r0],#1
o�        strb    r2,[r1],#-1
o�        b       revlup
o�
o�(.div32  mov     r9,#0   ;r12=r11/r10
p        mov     r12,#0
p        mov     r8,#32
p        mov     r7,#0
p&        cmp     r10,#0
p0        rsbmi   r10,r10,#0
p:        eormi   r7,r7,#1
pD        cmp     r11,#0
pN        rsbmi   r11,r11,#0
pX        eormi   r7,r7,#1
pb".divlp1 movs    r11,r11,asl #1
pl        adc     r9,r9,r9
pv        cmp     r9,r10
p�        adc     r12,r12,r12
p�        subcs   r9,r9,r10
p�        subs    r8,r8,#1
p�        bne     divlp1
p�        cmp     r7,#0
p�        rsbne   r12,r12,#0
p�        mov     pc,r14
p�.endcode
p�]
p�� pass%
p��
�
00000000  0d 00 0a 23 f4 20 3e 61  64 66 73 3a 3a 53 46 58  |...#. >adfs::SFX|
00000010  4d 2e 24 2e 21 53 46 58  4d 2e 21 52 75 6e 49 6d  |M.$.!SFXM.!RunIm|
00000020  61 67 65 0d 00 14 1e f4  20 3e 57 72 69 74 74 65  |age..... >Writte|
00000030  6e 20 62 79 20 47 2e 20  56 65 72 6d 65 75 6c 65  |n by G. Vermeule|
00000040  6e 0d 00 1e 18 ee 20 85  20 f2 49 6e 74 45 72 72  |n..... . .IntErr|
00000050  6f 72 3a e5 20 8d 54 7c  40 0d 00 28 0f 69 6e 73  |or:. .T|@..(.ins|
00000060  74 74 69 6d 65 25 3d 91  0d 00 32 09 f2 49 6e 69  |ttime%=...2..Ini|
00000070  74 0d 00 3c 05 f5 0d 00  46 35 20 20 c8 99 22 57  |t..<....F5  .."W|
00000080  69 6d 70 5f 50 6f 6c 6c  22 2c 6e 6f 70 6f 6c 6c  |imp_Poll",nopoll|
00000090  25 2c 70 6f 6c 6c 62 25  20 b8 20 72 65 61 73 6f  |%,pollb% . reaso|
000000a0  6e 25 2c 70 6f 6c 6c 65  64 62 25 0d 00 50 0f 20  |n%,polledb%..P. |
000000b0  20 6e 6f 70 6f 6c 6c 25  3d 30 0d 00 5a 12 20 20  | nopoll%=0..Z.  |
000000c0  c8 8e 20 72 65 61 73 6f  6e 25 20 ca 0d 00 64 18  |.. reason% ...d.|
000000d0  20 20 20 20 c9 20 30 3a  f2 4e 75 6c 6c 5f 52 65  |    . 0:.Null_Re|
000000e0  61 73 6f 6e 0d 00 6e 1a  20 20 20 20 c9 20 31 3a  |ason..n.    . 1:|
000000f0  f2 52 65 64 72 61 77 5f  57 69 6e 64 6f 77 0d 00  |.Redraw_Window..|
00000100  78 18 20 20 20 20 c9 20  32 3a f2 4f 70 65 6e 5f  |x.    . 2:.Open_|
00000110  57 69 6e 64 6f 77 0d 00  82 19 20 20 20 20 c9 20  |Window....    . |
00000120  33 3a f2 43 6c 6f 73 65  5f 57 69 6e 64 6f 77 0d  |3:.Close_Window.|
00000130  00 8c 25 20 20 20 20 c9  20 36 3a f2 4d 6f 75 73  |..%    . 6:.Mous|
00000140  65 5f 43 6c 69 63 6b 3a  6e 6f 70 6f 6c 6c 25 3d  |e_Click:nopoll%=|
00000150  31 3c 3c 36 0d 00 96 1a  20 20 20 20 c9 20 37 3a  |1<<6....    . 7:|
00000160  f2 55 73 65 72 5f 44 72  61 67 5f 42 6f 78 0d 00  |.User_Drag_Box..|
00000170  a0 18 20 20 20 20 c9 20  38 3a f2 4b 65 79 5f 50  |..    . 8:.Key_P|
00000180  72 65 73 73 65 64 0d 00  aa 18 20 20 20 20 c9 20  |ressed....    . |
00000190  39 3a f2 4d 65 6e 75 5f  53 65 6c 65 63 74 0d 00  |9:.Menu_Select..|
000001a0  b4 20 20 20 20 20 c9 20  31 37 2c 31 38 2c 31 39  |.     . 17,18,19|
000001b0  3a f2 55 73 65 72 5f 4d  65 73 73 61 67 65 0d 00  |:.User_Message..|
000001c0  be 07 20 20 cb 0d 00 c8  07 fd 20 a3 0d 00 d2 05  |..  ...... .....|
000001d0  e0 0d 00 dc 04 0d 00 e6  0e dd f2 49 6e 74 45 72  |...........IntEr|
000001e0  72 6f 72 0d 00 f0 07 ea  20 85 0d 00 fa 10 ee 20  |ror..... ...... |
000001f0  85 20 ea 20 e5 20 8d 60  50 43 0d 01 04 37 41 25  |. . . .`PC...7A%|
00000200  3d a4 69 6e 74 65 72 72  28 f6 24 2b 22 20 61 74  |=.interr(.$+" at|
00000210  20 6c 69 6e 65 20 22 2b  c3 9e 2b 22 2e 20 43 6f  | line "+..+". Co|
00000220  6e 74 69 6e 75 65 20 70  72 6f 67 72 61 6d 3f 22  |ntinue program?"|
00000230  29 0d 01 0e 12 e7 20 41  25 3d 32 20 8c 20 f2 51  |)..... A%=2 . .Q|
00000240  75 69 74 0d 01 18 05 e1  0d 01 22 04 0d 01 2c 11  |uit......."...,.|
00000250  dd f2 4e 75 6c 6c 5f 52  65 61 73 6f 6e 0d 01 36  |..Null_Reason..6|
00000260  49 e7 20 28 28 64 66 75  6e 63 25 3e 3d 30 29 80  |I. ((dfunc%>=0).|
00000270  28 64 66 75 6e 63 25 3c  3d 39 29 29 84 28 28 64  |(dfunc%<=9)).((d|
00000280  66 75 6e 63 25 3e 3d 31  33 29 80 28 64 66 75 6e  |func%>=13).(dfun|
00000290  63 25 3c 3d 31 38 29 29  20 8c 20 f2 44 72 61 67  |c%<=18)) . .Drag|
000002a0  4f 62 6a 65 63 74 0d 01  40 1b e7 20 64 66 75 6e  |Object..@.. dfun|
000002b0  63 25 3d 31 32 20 8c 20  f2 44 72 61 67 4c 69 6e  |c%=12 . .DragLin|
000002c0  65 0d 01 4a 1b e7 20 64  72 61 67 25 20 8c 20 f2  |e..J.. drag% . .|
000002d0  44 72 61 67 4d 6f 76 65  4f 62 6a 73 0d 01 54 35  |DragMoveObjs..T5|
000002e0  e7 20 28 69 6e 73 74 6f  70 65 6e 25 3c 3e 30 29  |. (instopen%<>0)|
000002f0  20 80 20 28 91 2d 69 6e  73 74 74 69 6d 65 25 3e  | . (.-insttime%>|
00000300  33 30 30 29 20 8c 20 f2  43 68 65 63 6b 49 6e 73  |300) . .CheckIns|
00000310  74 0d 01 5e 05 e1 0d 01  68 04 0d 01 72 10 dd f2  |t..^....h...r...|
00000320  44 72 61 67 4f 62 6a 65  63 74 0d 01 7c 23 c8 99  |DragObject..|#..|
00000330  22 57 69 6d 70 5f 47 65  74 50 6f 69 6e 74 65 72  |"Wimp_GetPointer|
00000340  49 6e 66 6f 22 2c 2c 74  65 6d 70 32 25 0d 01 86  |Info",,temp2%...|
00000350  2b e7 20 28 74 65 6d 70  32 25 21 31 32 3d 77 77  |+. (temp2%!12=ww|
00000360  6f 72 6b 68 25 29 80 28  74 65 6d 70 32 25 21 31  |orkh%).(temp2%!1|
00000370  36 3e 3d 2d 31 29 20 8c  0d 01 90 15 20 20 74 65  |6>=-1) .....  te|
00000380  6d 70 25 21 30 3d 77 77  6f 72 6b 68 25 0d 01 9a  |mp%!0=wworkh%...|
00000390  24 20 20 c8 99 22 57 69  6d 70 5f 47 65 74 57 69  |$  .."Wimp_GetWi|
000003a0  6e 64 6f 77 53 74 61 74  65 22 2c 2c 74 65 6d 70  |ndowState",,temp|
000003b0  25 0d 01 a4 26 20 20 6e  65 77 64 78 25 3d 74 65  |%...&  newdx%=te|
000003c0  6d 70 32 25 21 30 2b 74  65 6d 70 25 21 32 30 2d  |mp2%!0+temp%!20-|
000003d0  74 65 6d 70 25 21 34 0d  01 ae 27 20 20 6e 65 77  |temp%!4...'  new|
000003e0  64 79 25 3d 74 65 6d 70  32 25 21 34 2b 74 65 6d  |dy%=temp2%!4+tem|
000003f0  70 25 21 32 34 2d 74 65  6d 70 25 21 31 36 0d 01  |p%!24-temp%!16..|
00000400  b8 1b 20 20 6e 65 77 64  78 25 3d 28 6e 65 77 64  |..  newdx%=(newd|
00000410  78 25 81 39 36 29 2a 39  36 0d 01 c2 1e 20 20 6e  |x%.96)*96....  n|
00000420  65 77 64 79 25 3d 28 6e  65 77 64 79 25 81 35 36  |ewdy%=(newdy%.56|
00000430  29 2a 35 36 2d 35 36 0d  01 cc 2b 20 20 e7 20 28  |)*56-56...+  . (|
00000440  6f 6c 64 64 78 25 3c 3e  6e 65 77 64 78 25 29 84  |olddx%<>newdx%).|
00000450  28 6f 6c 64 64 79 25 3c  3e 6e 65 77 64 79 25 29  |(olddy%<>newdy%)|
00000460  20 8c 0d 01 d6 1d 20 20  20 20 f2 52 65 6d 44 66  | .....    .RemDf|
00000470  28 6f 6c 64 64 78 25 2c  6f 6c 64 64 79 25 29 0d  |(olddx%,olddy%).|
00000480  01 e0 1e 20 20 20 20 f2  50 6c 6f 74 44 66 28 6e  |...    .PlotDf(n|
00000490  65 77 64 78 25 2c 6e 65  77 64 79 25 29 0d 01 ea  |ewdx%,newdy%)...|
000004a0  23 20 20 20 20 6f 6c 64  64 78 25 3d 6e 65 77 64  |#    olddx%=newd|
000004b0  78 25 3a 6f 6c 64 64 79  25 3d 6e 65 77 64 79 25  |x%:olddy%=newdy%|
000004c0  0d 01 f4 07 20 20 cd 0d  01 fe 05 cd 0d 02 08 05  |....  ..........|
000004d0  e1 0d 02 12 04 0d 02 1c  0e dd f2 44 72 61 67 4c  |...........DragL|
000004e0  69 6e 65 0d 02 26 23 c8  99 22 57 69 6d 70 5f 47  |ine..&#.."Wimp_G|
000004f0  65 74 50 6f 69 6e 74 65  72 49 6e 66 6f 22 2c 2c  |etPointerInfo",,|
00000500  74 65 6d 70 32 25 0d 02  30 3a e7 20 28 74 65 6d  |temp2%..0:. (tem|
00000510  70 32 25 21 31 32 3d 77  77 6f 72 6b 68 25 29 80  |p2%!12=wworkh%).|
00000520  28 74 65 6d 70 32 25 21  31 36 3e 3d 2d 31 29 80  |(temp2%!16>=-1).|
00000530  28 73 74 61 72 74 6c 78  25 3c 3e 2d 31 29 20 8c  |(startlx%<>-1) .|
00000540  0d 02 3a 15 20 20 74 65  6d 70 25 21 30 3d 77 77  |..:.  temp%!0=ww|
00000550  6f 72 6b 68 25 0d 02 44  24 20 20 c8 99 22 57 69  |orkh%..D$  .."Wi|
00000560  6d 70 5f 47 65 74 57 69  6e 64 6f 77 53 74 61 74  |mp_GetWindowStat|
00000570  65 22 2c 2c 74 65 6d 70  25 0d 02 4e 26 20 20 6e  |e",,temp%..N&  n|
00000580  65 77 6c 78 25 3d 74 65  6d 70 32 25 21 30 2b 74  |ewlx%=temp2%!0+t|
00000590  65 6d 70 25 21 32 30 2d  74 65 6d 70 25 21 34 0d  |emp%!20-temp%!4.|
000005a0  02 58 27 20 20 6e 65 77  6c 79 25 3d 74 65 6d 70  |.X'  newly%=temp|
000005b0  32 25 21 34 2b 74 65 6d  70 25 21 32 34 2d 74 65  |2%!4+temp%!24-te|
000005c0  6d 70 25 21 31 36 0d 02  62 2b 20 20 e7 20 28 6f  |mp%!16..b+  . (o|
000005d0  6c 64 6c 78 25 3c 3e 6e  65 77 6c 78 25 29 84 28  |ldlx%<>newlx%).(|
000005e0  6f 6c 64 6c 79 25 3c 3e  6e 65 77 6c 79 25 29 20  |oldly%<>newly%) |
000005f0  8c 0d 02 6c 1e 20 20 20  20 f2 50 6c 6f 74 4c 6e  |...l.    .PlotLn|
00000600  28 6f 6c 64 6c 78 25 2c  6f 6c 64 6c 79 25 29 0d  |(oldlx%,oldly%).|
00000610  02 76 1e 20 20 20 20 f2  50 6c 6f 74 4c 6e 28 6e  |.v.    .PlotLn(n|
00000620  65 77 6c 78 25 2c 6e 65  77 6c 79 25 29 0d 02 80  |ewlx%,newly%)...|
00000630  23 20 20 20 20 6f 6c 64  6c 78 25 3d 6e 65 77 6c  |#    oldlx%=newl|
00000640  78 25 3a 6f 6c 64 6c 79  25 3d 6e 65 77 6c 79 25  |x%:oldly%=newly%|
00000650  0d 02 8a 07 20 20 cd 0d  02 94 05 cd 0d 02 9e 05  |....  ..........|
00000660  e1 0d 02 a8 04 0d 02 b2  12 dd f2 44 72 61 67 4d  |...........DragM|
00000670  6f 76 65 4f 62 6a 73 0d  02 bc 23 c8 99 22 57 69  |oveObjs...#.."Wi|
00000680  6d 70 5f 47 65 74 50 6f  69 6e 74 65 72 49 6e 66  |mp_GetPointerInf|
00000690  6f 22 2c 2c 74 65 6d 70  32 25 0d 02 c6 14 e7 20  |o",,temp2%..... |
000006a0  28 74 65 6d 70 32 25 21  38 29 80 34 20 8c 0d 02  |(temp2%!8).4 ...|
000006b0  d0 15 20 20 74 65 6d 70  25 21 30 3d 77 77 6f 72  |..  temp%!0=wwor|
000006c0  6b 68 25 0d 02 da 24 20  20 c8 99 22 57 69 6d 70  |kh%...$  .."Wimp|
000006d0  5f 47 65 74 57 69 6e 64  6f 77 53 74 61 74 65 22  |_GetWindowState"|
000006e0  2c 2c 74 65 6d 70 25 0d  02 e4 26 20 20 6e 65 77  |,,temp%...&  new|
000006f0  6c 78 25 3d 74 65 6d 70  32 25 21 30 2b 74 65 6d  |lx%=temp2%!0+tem|
00000700  70 25 21 32 30 2d 74 65  6d 70 25 21 34 0d 02 ee  |p%!20-temp%!4...|
00000710  27 20 20 6e 65 77 6c 79  25 3d 74 65 6d 70 32 25  |'  newly%=temp2%|
00000720  21 34 2b 74 65 6d 70 25  21 32 34 2d 74 65 6d 70  |!4+temp%!24-temp|
00000730  25 21 31 36 0d 02 f8 1e  20 20 6e 65 77 6c 78 25  |%!16....  newlx%|
00000740  3d 28 6e 65 77 6c 78 25  81 39 36 29 2a 39 36 2b  |=(newlx%.96)*96+|
00000750  34 38 0d 03 02 1e 20 20  6e 65 77 6c 79 25 3d 28  |48....  newly%=(|
00000760  6e 65 77 6c 79 25 81 35  36 29 2a 35 36 2d 33 32  |newly%.56)*56-32|
00000770  0d 03 0c 2b 20 20 e7 20  28 6f 6c 64 6c 78 25 3c  |...+  . (oldlx%<|
00000780  3e 6e 65 77 6c 78 25 29  84 28 6f 6c 64 6c 79 25  |>newlx%).(oldly%|
00000790  3c 3e 6e 65 77 6c 79 25  29 20 8c 0d 03 16 1e 20  |<>newly%) ..... |
000007a0  20 20 20 f2 50 6c 6f 74  4c 6e 28 6f 6c 64 6c 78  |   .PlotLn(oldlx|
000007b0  25 2c 6f 6c 64 6c 79 25  29 0d 03 20 1e 20 20 20  |%,oldly%).. .   |
000007c0  20 f2 50 6c 6f 74 4c 6e  28 6e 65 77 6c 78 25 2c  | .PlotLn(newlx%,|
000007d0  6e 65 77 6c 79 25 29 0d  03 2a 23 20 20 20 20 6f  |newly%)..*#    o|
000007e0  6c 64 6c 78 25 3d 6e 65  77 6c 78 25 3a 6f 6c 64  |ldlx%=newlx%:old|
000007f0  6c 79 25 3d 6e 65 77 6c  79 25 0d 03 34 07 20 20  |ly%=newly%..4.  |
00000800  cd 0d 03 3e 05 cc 0d 03  48 25 20 20 e7 20 28 73  |...>....H%  . (s|
00000810  74 61 72 74 6c 78 25 3c  3e 2d 31 29 80 28 6f 6c  |tartlx%<>-1).(ol|
00000820  64 6c 78 25 3c 3e 2d 31  29 20 8c 0d 03 52 1e 20  |dlx%<>-1) ...R. |
00000830  20 20 20 f2 50 6c 6f 74  4c 6e 28 6f 6c 64 6c 78  |   .PlotLn(oldlx|
00000840  25 2c 6f 6c 64 6c 79 25  29 0d 03 5c 32 20 20 20  |%,oldly%)..\2   |
00000850  20 f2 4d 6f 76 65 49 63  6e 73 28 6f 6c 64 6c 78  | .MoveIcns(oldlx|
00000860  25 2d 73 74 61 72 74 6c  78 25 2c 6f 6c 64 6c 79  |%-startlx%,oldly|
00000870  25 2d 73 74 61 72 74 6c  79 25 29 0d 03 66 07 20  |%-startly%)..f. |
00000880  20 cd 0d 03 70 0d 20 20  64 72 61 67 25 3d 30 0d  | ...p.  drag%=0.|
00000890  03 7a 1d 20 20 73 74 61  72 74 6c 78 25 3d 2d 31  |.z.  startlx%=-1|
000008a0  3a 73 74 61 72 74 6c 79  25 3d 2d 31 0d 03 84 19  |:startly%=-1....|
000008b0  20 20 6e 65 77 6c 78 25  3d 2d 31 3a 6e 65 77 6c  |  newlx%=-1:newl|
000008c0  79 25 3d 2d 31 0d 03 8e  19 20 20 6f 6c 64 6c 78  |y%=-1....  oldlx|
000008d0  25 3d 2d 31 3a 6f 6c 64  6c 79 25 3d 2d 31 0d 03  |%=-1:oldly%=-1..|
000008e0  98 05 cd 0d 03 a2 05 e1  0d 03 ac 04 0d 03 b6 10  |................|
000008f0  dd f2 52 65 6d 41 6c 6c  44 72 61 67 0d 03 c0 12  |..RemAllDrag....|
00000900  e7 20 6f 6c 64 64 78 25  3c 3e 2d 31 20 8c 0d 03  |. olddx%<>-1 ...|
00000910  ca 1b 20 20 f2 52 65 6d  44 66 28 6f 6c 64 64 78  |..  .RemDf(olddx|
00000920  25 2c 6f 6c 64 64 79 25  29 0d 03 d4 05 cd 0d 03  |%,olddy%).......|
00000930  de 14 e7 20 73 74 61 72  74 6c 78 25 3c 3e 2d 31  |... startlx%<>-1|
00000940  20 8c 0d 03 e8 1c 20 20  f2 50 6c 6f 74 4c 6e 28  | .....  .PlotLn(|
00000950  6f 6c 64 6c 78 25 2c 6f  6c 64 6c 79 25 29 0d 03  |oldlx%,oldly%)..|
00000960  f2 05 cd 0d 03 fc 17 6e  65 77 64 78 25 3d 2d 31  |.......newdx%=-1|
00000970  3a 6e 65 77 64 79 25 3d  2d 31 0d 04 06 17 6f 6c  |:newdy%=-1....ol|
00000980  64 64 78 25 3d 2d 31 3a  6f 6c 64 64 79 25 3d 2d  |ddx%=-1:olddy%=-|
00000990  31 0d 04 10 17 6f 6c 64  6c 78 25 3d 2d 31 3a 6f  |1....oldlx%=-1:o|
000009a0  6c 64 6c 79 25 3d 2d 31  0d 04 1a 17 6e 65 77 6c  |ldly%=-1....newl|
000009b0  78 25 3d 2d 31 3a 6e 65  77 6c 79 25 3d 2d 31 0d  |x%=-1:newly%=-1.|
000009c0  04 24 1b 73 74 61 72 74  6c 78 25 3d 2d 31 3a 73  |.$.startlx%=-1:s|
000009d0  74 61 72 74 6c 79 25 3d  2d 31 0d 04 2e 0f 73 74  |tartly%=-1....st|
000009e0  61 72 74 69 63 25 3d 2d  31 0d 04 38 0e 73 74 61  |artic%=-1..8.sta|
000009f0  72 74 69 25 3d 2d 31 0d  04 42 0c 65 6e 64 69 25  |rti%=-1..B.endi%|
00000a00  3d 2d 31 0d 04 4c 0b 64  72 61 67 25 3d 30 0d 04  |=-1..L.drag%=0..|
00000a10  56 05 e1 0d 04 60 04 0d  04 6a 0f dd f2 43 68 65  |V....`...j...Che|
00000a20  63 6b 49 6e 73 74 0d 04  74 13 74 65 6d 70 25 21  |ckInst..t.temp%!|
00000a30  30 3d 77 69 6e 73 74 68  25 0d 04 7e 1f c8 99 22  |0=winsth%..~..."|
00000a40  57 69 6d 70 5f 43 6c 6f  73 65 57 69 6e 64 6f 77  |Wimp_CloseWindow|
00000a50  22 2c 2c 74 65 6d 70 25  0d 04 88 0f 69 6e 73 74  |",,temp%....inst|
00000a60  6f 70 65 6e 25 3d 30 0d  04 92 05 e1 0d 04 9c 04  |open%=0.........|
00000a70  0d 04 a6 17 dd f2 4d 6f  76 65 49 63 6e 73 28 64  |......MoveIcns(d|
00000a80  78 25 2c 64 79 25 29 0d  04 b0 14 74 65 6d 70 32  |x%,dy%)....temp2|
00000a90  25 21 30 3d 77 77 6f 72  6b 68 25 0d 04 ba 15 e3  |%!0=wworkh%.....|
00000aa0  54 25 3d 30 b8 6d 61 78  69 63 6f 6e 73 25 2d 31  |T%=0.maxicons%-1|
00000ab0  0d 04 c4 3b 20 20 e7 20  28 69 63 6f 6e 69 6e 66  |...;  . (iconinf|
00000ac0  6f 25 21 28 54 25 2a 33  32 29 3c 3e 2d 31 29 80  |o%!(T%*32)<>-1).|
00000ad0  28 69 63 6f 6e 69 6e 66  6f 25 21 28 54 25 2a 33  |(iconinfo%!(T%*3|
00000ae0  32 2b 32 38 29 29 80 31  36 20 8c 0d 04 ce 14 20  |2+28)).16 ..... |
00000af0  20 20 20 f2 4d 6f 64 54  69 74 6c 65 28 30 29 0d  |   .ModTitle(0).|
00000b00  04 d8 13 20 20 20 20 74  65 6d 70 32 25 21 34 3d  |...    temp2%!4=|
00000b10  54 25 0d 04 e2 23 20 20  20 20 c8 99 22 57 69 6d  |T%...#    .."Wim|
00000b20  70 5f 44 65 6c 65 74 65  49 63 6f 6e 22 2c 2c 74  |p_DeleteIcon",,t|
00000b30  65 6d 70 32 25 0d 04 ec  28 20 20 20 20 74 65 6d  |emp2%...(    tem|
00000b40  70 32 25 21 34 3d 69 63  6f 6e 69 6e 66 6f 25 21  |p2%!4=iconinfo%!|
00000b50  28 54 25 2a 33 32 2b 34  29 2b 64 78 25 0d 04 f6  |(T%*32+4)+dx%...|
00000b60  28 20 20 20 20 74 65 6d  70 32 25 21 38 3d 69 63  |(    temp2%!8=ic|
00000b70  6f 6e 69 6e 66 6f 25 21  28 54 25 2a 33 32 2b 38  |oninfo%!(T%*32+8|
00000b80  29 2b 64 79 25 0d 05 00  1d 20 20 20 20 74 65 6d  |)+dy%....    tem|
00000b90  70 32 25 21 31 32 3d 74  65 6d 70 32 25 21 34 2b  |p2%!12=temp2%!4+|
00000ba0  39 32 0d 05 0a 1d 20 20  20 20 74 65 6d 70 32 25  |92....    temp2%|
00000bb0  21 31 36 3d 74 65 6d 70  32 25 21 38 2b 35 32 0d  |!16=temp2%!8+52.|
00000bc0  05 14 33 20 20 20 20 74  65 6d 70 32 25 21 32 30  |..3    temp2%!20|
00000bd0  3d 25 30 30 30 30 31 30  30 30 30 30 30 30 30 30  |=%00001000000000|
00000be0  30 30 31 30 31 30 30 30  30 30 30 30 30 31 31 30  |0010100000000110|
00000bf0  31 30 0d 05 1e 1e 20 20  20 20 c8 8e 20 69 63 6f  |10....    .. ico|
00000c00  6e 69 6e 66 6f 25 21 28  54 25 2a 33 32 29 20 ca  |ninfo%!(T%*32) .|
00000c10  0d 05 28 16 20 20 20 20  20 20 c9 20 30 3a 69 24  |..(.      . 0:i$|
00000c20  3d 22 76 63 6f 22 0d 05  32 18 20 20 20 20 20 20  |="vco"..2.      |
00000c30  c9 20 31 3a 69 24 3d 22  6e 6f 69 73 65 22 0d 05  |. 1:i$="noise"..|
00000c40  3c 15 20 20 20 20 20 20  c9 20 32 3a 69 24 3d 22  |<.      . 2:i$="|
00000c50  65 67 22 0d 05 46 18 20  20 20 20 20 20 c9 20 35  |eg"..F.      . 5|
00000c60  3a 69 24 3d 22 63 6f 6e  73 74 22 0d 05 50 19 20  |:i$="const"..P. |
00000c70  20 20 20 20 20 c9 20 33  3a 69 24 3d 22 66 69 6c  |     . 3:i$="fil|
00000c80  74 6c 6f 22 0d 05 5a 19  20 20 20 20 20 20 c9 20  |tlo"..Z.      . |
00000c90  34 3a 69 24 3d 22 66 69  6c 74 68 69 22 0d 05 64  |4:i$="filthi"..d|
00000ca0  17 20 20 20 20 20 20 c9  20 36 3a 69 24 3d 22 6d  |.      . 6:i$="m|
00000cb0  75 6c 74 22 0d 05 6e 18  20 20 20 20 20 20 c9 20  |ult"..n.      . |
00000cc0  37 3a 69 24 3d 22 6d 75  6c 74 63 22 0d 05 78 16  |7:i$="multc"..x.|
00000cd0  20 20 20 20 20 20 c9 20  38 3a 69 24 3d 22 61 64  |      . 8:i$="ad|
00000ce0  64 22 0d 05 82 17 20 20  20 20 20 20 c9 20 31 33  |d"....      . 13|
00000cf0  3a 69 24 3d 22 73 75 62  22 0d 05 8c 19 20 20 20  |:i$="sub"....   |
00000d00  20 20 20 c9 20 31 34 3a  69 24 3d 22 70 75 6c 73  |   . 14:i$="puls|
00000d10  65 22 0d 05 96 19 20 20  20 20 20 20 c9 20 31 35  |e"....      . 15|
00000d20  3a 69 24 3d 22 64 65 6c  61 79 22 0d 05 a0 19 20  |:i$="delay".... |
00000d30  20 20 20 20 20 c9 20 39  3a 69 24 3d 22 6f 75 74  |     . 9:i$="out|
00000d40  70 75 74 22 0d 05 aa 19  20 20 20 20 20 20 c9 20  |put"....      . |
00000d50  31 36 3a 69 24 3d 22 69  6e 70 75 74 22 0d 05 b4  |16:i$="input"...|
00000d60  1b 20 20 20 20 20 20 c9  20 31 37 3a 69 24 3d 22  |.      . 17:i$="|
00000d70  73 61 6d 68 6f 6c 64 22  0d 05 be 1a 20 20 20 20  |samhold"....    |
00000d80  20 20 c9 20 31 38 3a 69  24 3d 22 6e 6c 64 69 73  |  . 18:i$="nldis|
00000d90  74 22 0d 05 c8 09 20 20  20 20 cb 0d 05 d2 17 20  |t"....    ..... |
00000da0  20 20 20 24 28 74 65 6d  70 32 25 2b 32 34 29 3d  |   $(temp2%+24)=|
00000db0  69 24 0d 05 dc 27 20 20  20 20 c8 99 22 57 69 6d  |i$...'    .."Wim|
00000dc0  70 5f 43 72 65 61 74 65  49 63 6f 6e 22 2c 2c 74  |p_CreateIcon",,t|
00000dd0  65 6d 70 32 25 b8 69 68  25 0d 05 e6 20 20 20 20  |emp2%.ih%...    |
00000de0  20 69 63 6f 6e 69 6e 66  6f 25 21 28 54 25 2a 33  | iconinfo%!(T%*3|
00000df0  32 2b 34 29 2b 3d 64 78  25 0d 05 f0 20 20 20 20  |2+4)+=dx%...    |
00000e00  20 69 63 6f 6e 69 6e 66  6f 25 21 28 54 25 2a 33  | iconinfo%!(T%*3|
00000e10  32 2b 38 29 2b 3d 64 79  25 0d 05 fa 3d 20 20 20  |2+8)+=dy%...=   |
00000e20  20 69 63 6f 6e 69 6e 66  6f 25 21 28 54 25 2a 33  | iconinfo%!(T%*3|
00000e30  32 2b 32 38 29 3d 28 69  63 6f 6e 69 6e 66 6f 25  |2+28)=(iconinfo%|
00000e40  21 28 54 25 2a 33 32 2b  32 38 29 29 80 26 66 66  |!(T%*32+28)).&ff|
00000e50  66 66 66 66 65 66 0d 06  04 13 20 20 20 20 e7 20  |ffffef....    . |
00000e60  69 68 25 3c 3e 54 25 20  8c 0d 06 0e 32 20 20 20  |ih%<>T% ....2   |
00000e70  20 20 20 69 63 6f 6e 69  6e 66 6f 25 21 28 69 68  |   iconinfo%!(ih|
00000e80  25 2a 33 32 2b 30 29 3d  69 63 6f 6e 69 6e 66 6f  |%*32+0)=iconinfo|
00000e90  25 21 28 54 25 2a 33 32  2b 30 29 0d 06 18 32 20  |%!(T%*32+0)...2 |
00000ea0  20 20 20 20 20 69 63 6f  6e 69 6e 66 6f 25 21 28  |     iconinfo%!(|
00000eb0  69 68 25 2a 33 32 2b 34  29 3d 69 63 6f 6e 69 6e  |ih%*32+4)=iconin|
00000ec0  66 6f 25 21 28 54 25 2a  33 32 2b 34 29 0d 06 22  |fo%!(T%*32+4).."|
00000ed0  32 20 20 20 20 20 20 69  63 6f 6e 69 6e 66 6f 25  |2      iconinfo%|
00000ee0  21 28 69 68 25 2a 33 32  2b 38 29 3d 69 63 6f 6e  |!(ih%*32+8)=icon|
00000ef0  69 6e 66 6f 25 21 28 54  25 2a 33 32 2b 38 29 0d  |info%!(T%*32+8).|
00000f00  06 2c 34 20 20 20 20 20  20 69 63 6f 6e 69 6e 66  |.,4      iconinf|
00000f10  6f 25 21 28 69 68 25 2a  33 32 2b 31 32 29 3d 69  |o%!(ih%*32+12)=i|
00000f20  63 6f 6e 69 6e 66 6f 25  21 28 54 25 2a 33 32 2b  |coninfo%!(T%*32+|
00000f30  31 32 29 0d 06 36 34 20  20 20 20 20 20 69 63 6f  |12)..64      ico|
00000f40  6e 69 6e 66 6f 25 21 28  69 68 25 2a 33 32 2b 31  |ninfo%!(ih%*32+1|
00000f50  36 29 3d 69 63 6f 6e 69  6e 66 6f 25 21 28 54 25  |6)=iconinfo%!(T%|
00000f60  2a 33 32 2b 31 36 29 0d  06 40 34 20 20 20 20 20  |*32+16)..@4     |
00000f70  20 69 63 6f 6e 69 6e 66  6f 25 21 28 69 68 25 2a  | iconinfo%!(ih%*|
00000f80  33 32 2b 32 30 29 3d 69  63 6f 6e 69 6e 66 6f 25  |32+20)=iconinfo%|
00000f90  21 28 54 25 2a 33 32 2b  32 30 29 0d 06 4a 34 20  |!(T%*32+20)..J4 |
00000fa0  20 20 20 20 20 69 63 6f  6e 69 6e 66 6f 25 21 28  |     iconinfo%!(|
00000fb0  69 68 25 2a 33 32 2b 32  34 29 3d 69 63 6f 6e 69  |ih%*32+24)=iconi|
00000fc0  6e 66 6f 25 21 28 54 25  2a 33 32 2b 32 34 29 0d  |nfo%!(T%*32+24).|
00000fd0  06 54 34 20 20 20 20 20  20 69 63 6f 6e 69 6e 66  |.T4      iconinf|
00000fe0  6f 25 21 28 69 68 25 2a  33 32 2b 32 38 29 3d 69  |o%!(ih%*32+28)=i|
00000ff0  63 6f 6e 69 6e 66 6f 25  21 28 54 25 2a 33 32 2b  |coninfo%!(T%*32+|
00001000  32 38 29 0d 06 5e 20 20  20 20 20 20 20 69 63 6f  |28)..^       ico|
00001010  6e 69 6e 66 6f 25 21 28  54 25 2a 33 32 2b 30 29  |ninfo%!(T%*32+0)|
00001020  3d 2d 31 0d 06 68 20 20  20 20 20 20 20 69 63 6f  |=-1..h       ico|
00001030  6e 69 6e 66 6f 25 21 28  54 25 2a 33 32 2b 34 29  |ninfo%!(T%*32+4)|
00001040  3d 2d 31 0d 06 72 20 20  20 20 20 20 20 69 63 6f  |=-1..r       ico|
00001050  6e 69 6e 66 6f 25 21 28  54 25 2a 33 32 2b 38 29  |ninfo%!(T%*32+8)|
00001060  3d 2d 31 0d 06 7c 21 20  20 20 20 20 20 69 63 6f  |=-1..|!      ico|
00001070  6e 69 6e 66 6f 25 21 28  54 25 2a 33 32 2b 31 32  |ninfo%!(T%*32+12|
00001080  29 3d 2d 31 0d 06 86 21  20 20 20 20 20 20 69 63  |)=-1...!      ic|
00001090  6f 6e 69 6e 66 6f 25 21  28 54 25 2a 33 32 2b 31  |oninfo%!(T%*32+1|
000010a0  36 29 3d 2d 31 0d 06 90  21 20 20 20 20 20 20 69  |6)=-1...!      i|
000010b0  63 6f 6e 69 6e 66 6f 25  21 28 54 25 2a 33 32 2b  |coninfo%!(T%*32+|
000010c0  32 30 29 3d 2d 31 0d 06  9a 21 20 20 20 20 20 20  |20)=-1...!      |
000010d0  69 63 6f 6e 69 6e 66 6f  25 21 28 54 25 2a 33 32  |iconinfo%!(T%*32|
000010e0  2b 32 34 29 3d 2d 31 0d  06 a4 21 20 20 20 20 20  |+24)=-1...!     |
000010f0  20 69 63 6f 6e 69 6e 66  6f 25 21 28 54 25 2a 33  | iconinfo%!(T%*3|
00001100  32 2b 32 38 29 3d 2d 31  0d 06 ae 1b 20 20 20 20  |2+28)=-1....    |
00001110  20 20 e3 53 25 3d 30 b8  6d 61 78 69 63 6f 6e 73  |  .S%=0.maxicons|
00001120  25 2d 31 0d 06 b8 25 20  20 20 20 20 20 20 20 e7  |%-1...%        .|
00001130  20 69 63 6f 6e 69 6e 66  6f 25 21 28 53 25 2a 33  | iconinfo%!(S%*3|
00001140  32 29 3c 3e 2d 31 20 8c  0d 06 c2 42 20 20 20 20  |2)<>-1 ....B    |
00001150  20 20 20 20 20 20 e7 20  69 63 6f 6e 69 6e 66 6f  |      . iconinfo|
00001160  25 21 28 53 25 2a 33 32  2b 31 36 29 3d 54 25 20  |%!(S%*32+16)=T% |
00001170  8c 20 69 63 6f 6e 69 6e  66 6f 25 21 28 53 25 2a  |. iconinfo%!(S%*|
00001180  33 32 2b 31 36 29 3d 69  68 25 0d 06 cc 42 20 20  |32+16)=ih%...B  |
00001190  20 20 20 20 20 20 20 20  e7 20 69 63 6f 6e 69 6e  |        . iconin|
000011a0  66 6f 25 21 28 53 25 2a  33 32 2b 32 30 29 3d 54  |fo%!(S%*32+20)=T|
000011b0  25 20 8c 20 69 63 6f 6e  69 6e 66 6f 25 21 28 53  |% . iconinfo%!(S|
000011c0  25 2a 33 32 2b 32 30 29  3d 69 68 25 0d 06 d6 0d  |%*32+20)=ih%....|
000011d0  20 20 20 20 20 20 20 20  cd 0d 06 e0 0d 20 20 20  |        .....   |
000011e0  20 20 20 ed 53 25 0d 06  ea 09 20 20 20 20 cd 0d  |   .S%....    ..|
000011f0  06 f4 07 20 20 cd 0d 06  fe 07 ed 54 25 0d 07 08  |...  ......T%...|
00001200  2f c8 99 22 57 69 6d 70  5f 46 6f 72 63 65 52 65  |/.."Wimp_ForceRe|
00001210  64 72 61 77 22 2c 77 77  6f 72 6b 68 25 2c 30 2c  |draw",wworkh%,0,|
00001220  2d 34 30 30 30 2c 34 30  30 30 2c 30 0d 07 12 05  |-4000,4000,0....|
00001230  e1 0d 07 1c 04 0d 07 26  13 dd f2 50 6c 6f 74 44  |.......&...PlotD|
00001240  66 28 78 25 2c 79 25 29  0d 07 30 0e e7 20 78 25  |f(x%,y%)..0.. x%|
00001250  3c 3e 2d 31 20 8c 0d 07  3a 15 20 20 74 65 6d 70  |<>-1 ...:.  temp|
00001260  25 21 30 3d 77 77 6f 72  6b 68 25 0d 07 44 24 20  |%!0=wworkh%..D$ |
00001270  20 c8 99 22 57 69 6d 70  5f 47 65 74 57 69 6e 64  | .."Wimp_GetWind|
00001280  6f 77 53 74 61 74 65 22  2c 2c 74 65 6d 70 25 0d  |owState",,temp%.|
00001290  07 4e 1d 20 20 73 78 25  3d 74 65 6d 70 25 21 34  |.N.  sx%=temp%!4|
000012a0  2b 78 25 2d 74 65 6d 70  25 21 32 30 0d 07 58 1e  |+x%-temp%!20..X.|
000012b0  20 20 73 79 25 3d 74 65  6d 70 25 21 31 36 2b 79  |  sy%=temp%!16+y|
000012c0  25 2d 74 65 6d 70 25 21  32 34 0d 07 62 16 20 20  |%-temp%!24..b.  |
000012d0  74 65 6d 70 32 25 21 30  3d 77 77 6f 72 6b 68 25  |temp2%!0=wworkh%|
000012e0  0d 07 6c 11 20 20 74 65  6d 70 32 25 21 34 3d 78  |..l.  temp2%!4=x|
000012f0  25 0d 07 76 11 20 20 74  65 6d 70 32 25 21 38 3d  |%..v.  temp2%!8=|
00001300  79 25 0d 07 80 15 20 20  74 65 6d 70 32 25 21 31  |y%....  temp2%!1|
00001310  32 3d 78 25 2b 39 36 0d  07 8a 15 20 20 74 65 6d  |2=x%+96....  tem|
00001320  70 32 25 21 31 36 3d 79  25 2b 35 36 0d 07 94 3d  |p2%!16=y%+56...=|
00001330  20 20 c8 99 22 57 69 6d  70 5f 52 65 61 64 50 69  |  .."Wimp_ReadPi|
00001340  78 54 72 61 6e 73 22 2c  26 31 30 30 2c 31 2c 22  |xTrans",&100,1,"|
00001350  76 63 6f 22 2c 2c 2c 2c  73 63 61 6c 65 66 25 2c  |vco",,,,scalef%,|
00001360  70 69 78 74 72 61 6e 73  25 0d 07 9e 29 20 20 c8  |pixtrans%...)  .|
00001370  99 22 57 69 6d 70 5f 55  70 64 61 74 65 57 69 6e  |."Wimp_UpdateWin|
00001380  64 6f 77 22 2c 2c 74 65  6d 70 32 25 b8 6d 6f 72  |dow",,temp2%.mor|
00001390  65 25 0d 07 a8 0e 20 20  c8 95 20 6d 6f 72 65 25  |e%....  .. more%|
000013a0  0d 07 b2 3e 20 20 20 20  c8 99 22 57 69 6d 70 5f  |...>    .."Wimp_|
000013b0  53 70 72 69 74 65 4f 70  22 2c 26 33 34 2c 2c 64  |SpriteOp",&34,,d|
000013c0  66 24 2c 73 78 25 2c 73  79 25 2c 38 2c 73 63 61  |f$,sx%,sy%,8,sca|
000013d0  6c 65 66 25 2c 70 69 78  74 72 61 6e 73 25 0d 07  |lef%,pixtrans%..|
000013e0  bc 2b 20 20 20 20 c8 99  22 57 69 6d 70 5f 47 65  |.+    .."Wimp_Ge|
000013f0  74 52 65 63 74 61 6e 67  6c 65 22 2c 2c 74 65 6d  |tRectangle",,tem|
00001400  70 32 25 b8 6d 6f 72 65  25 0d 07 c6 07 20 20 ce  |p2%.more%....  .|
00001410  0d 07 d0 05 cd 0d 07 da  05 e1 0d 07 e4 04 0d 07  |................|
00001420  ee 12 dd f2 52 65 6d 44  66 28 78 25 2c 79 25 29  |....RemDf(x%,y%)|
00001430  0d 07 f8 0e e7 20 78 25  3c 3e 2d 31 20 8c 0d 08  |..... x%<>-1 ...|
00001440  02 34 20 20 c8 99 22 57  69 6d 70 5f 46 6f 72 63  |.4  .."Wimp_Forc|
00001450  65 52 65 64 72 61 77 22  2c 77 77 6f 72 6b 68 25  |eRedraw",wworkh%|
00001460  2c 78 25 2c 79 25 2c 78  25 2b 39 36 2c 79 25 2b  |,x%,y%,x%+96,y%+|
00001470  35 36 0d 08 0c 05 cd 0d  08 16 05 e1 0d 08 20 04  |56............ .|
00001480  0d 08 2a 13 dd f2 50 6c  6f 74 4c 6e 28 78 25 2c  |..*...PlotLn(x%,|
00001490  79 25 29 0d 08 34 1f e7  20 28 78 25 3c 3e 2d 31  |y%)..4.. (x%<>-1|
000014a0  29 80 28 73 74 61 72 74  6c 78 25 3c 3e 2d 31 29  |).(startlx%<>-1)|
000014b0  20 8c 0d 08 3e 16 20 20  74 65 6d 70 32 25 21 30  | ...>.  temp2%!0|
000014c0  3d 77 77 6f 72 6b 68 25  0d 08 48 25 20 20 c8 99  |=wworkh%..H%  ..|
000014d0  22 57 69 6d 70 5f 47 65  74 57 69 6e 64 6f 77 53  |"Wimp_GetWindowS|
000014e0  74 61 74 65 22 2c 2c 74  65 6d 70 32 25 0d 08 52  |tate",,temp2%..R|
000014f0  26 20 20 73 73 78 25 3d  74 65 6d 70 32 25 21 34  |&  ssx%=temp2%!4|
00001500  2b 73 74 61 72 74 6c 78  25 2d 74 65 6d 70 32 25  |+startlx%-temp2%|
00001510  21 32 30 0d 08 5c 27 20  20 73 73 79 25 3d 74 65  |!20..\'  ssy%=te|
00001520  6d 70 32 25 21 31 36 2b  73 74 61 72 74 6c 79 25  |mp2%!16+startly%|
00001530  2d 74 65 6d 70 32 25 21  32 34 0d 08 66 20 20 20  |-temp2%!24..f   |
00001540  73 65 78 25 3d 74 65 6d  70 32 25 21 34 2b 78 25  |sex%=temp2%!4+x%|
00001550  2d 74 65 6d 70 32 25 21  32 30 0d 08 70 21 20 20  |-temp2%!20..p!  |
00001560  73 65 79 25 3d 74 65 6d  70 32 25 21 31 36 2b 79  |sey%=temp2%!16+y|
00001570  25 2d 74 65 6d 70 32 25  21 32 34 0d 08 7a 13 20  |%-temp2%!24..z. |
00001580  20 77 73 78 25 3d 73 74  61 72 74 6c 78 25 0d 08  | wsx%=startlx%..|
00001590  84 13 20 20 77 73 79 25  3d 73 74 61 72 74 6c 79  |..  wsy%=startly|
000015a0  25 0d 08 8e 0d 20 20 77  65 78 25 3d 78 25 0d 08  |%....  wex%=x%..|
000015b0  98 0d 20 20 77 65 79 25  3d 79 25 0d 08 a2 20 20  |..  wey%=y%...  |
000015c0  20 e7 20 77 73 78 25 3e  77 65 78 25 20 8c 20 c8  | . wsx%>wex% . .|
000015d0  94 20 77 73 78 25 2c 77  65 78 25 0d 08 ac 20 20  |. wsx%,wex%...  |
000015e0  20 e7 20 77 73 79 25 3e  77 65 79 25 20 8c 20 c8  | . wsy%>wey% . .|
000015f0  94 20 77 73 79 25 2c 77  65 79 25 0d 08 b6 16 20  |. wsy%,wey%.... |
00001600  20 74 65 6d 70 32 25 21  30 3d 77 77 6f 72 6b 68  | temp2%!0=wworkh|
00001610  25 0d 08 c0 15 20 20 74  65 6d 70 32 25 21 34 3d  |%....  temp2%!4=|
00001620  77 73 78 25 2d 34 0d 08  ca 15 20 20 74 65 6d 70  |wsx%-4....  temp|
00001630  32 25 21 38 3d 77 73 79  25 2d 34 0d 08 d4 16 20  |2%!8=wsy%-4.... |
00001640  20 74 65 6d 70 32 25 21  31 32 3d 77 65 78 25 2b  | temp2%!12=wex%+|
00001650  34 0d 08 de 16 20 20 74  65 6d 70 32 25 21 31 36  |4....  temp2%!16|
00001660  3d 77 65 79 25 2b 34 0d  08 e8 29 20 20 c8 99 22  |=wey%+4...)  .."|
00001670  57 69 6d 70 5f 55 70 64  61 74 65 57 69 6e 64 6f  |Wimp_UpdateWindo|
00001680  77 22 2c 2c 74 65 6d 70  32 25 b8 6d 6f 72 65 25  |w",,temp2%.more%|
00001690  0d 08 f2 0e 20 20 c8 95  20 6d 6f 72 65 25 0d 08  |....  .. more%..|
000016a0  fc 0d 20 20 20 20 e6 33  2c 31 35 0d 09 06 1d 20  |..    .3,15.... |
000016b0  20 20 20 86 20 73 73 78  25 2c 73 73 79 25 2c 73  |   . ssx%,ssy%,s|
000016c0  65 78 25 2c 73 65 79 25  0d 09 10 2b 20 20 20 20  |ex%,sey%...+    |
000016d0  c8 99 22 57 69 6d 70 5f  47 65 74 52 65 63 74 61  |.."Wimp_GetRecta|
000016e0  6e 67 6c 65 22 2c 2c 74  65 6d 70 32 25 b8 6d 6f  |ngle",,temp2%.mo|
000016f0  72 65 25 0d 09 1a 07 20  20 ce 0d 09 24 05 cd 0d  |re%....  ...$...|
00001700  09 2e 05 e1 0d 09 38 04  0d 09 42 13 dd f2 52 65  |......8...B...Re|
00001710  64 72 61 77 5f 57 69 6e  64 6f 77 0d 09 4c 29 c8  |draw_Window..L).|
00001720  99 22 57 69 6d 70 5f 52  65 64 72 61 77 57 69 6e  |."Wimp_RedrawWin|
00001730  64 6f 77 22 2c 2c 70 6f  6c 6c 65 64 62 25 b8 6d  |dow",,polledb%.m|
00001740  6f 72 65 25 0d 09 56 13  c8 8e 20 70 6f 6c 6c 65  |ore%..V... polle|
00001750  64 62 25 21 30 20 ca 0d  09 60 1b 20 20 c9 20 77  |db%!0 ...`.  . w|
00001760  77 6f 72 6b 68 25 3a f2  52 65 64 72 61 77 57 6f  |workh%:.RedrawWo|
00001770  72 6b 0d 09 6a 19 20 20  c9 20 77 76 63 6f 68 25  |rk..j.  . wvcoh%|
00001780  3a f2 52 65 64 72 61 77  56 43 4f 0d 09 74 17 20  |:.RedrawVCO..t. |
00001790  20 c9 20 77 65 67 68 25  3a f2 52 65 64 72 61 77  | . wegh%:.Redraw|
000017a0  45 47 0d 09 7e 1c 20 20  c9 20 77 6e 6c 64 69 73  |EG..~.  . wnldis|
000017b0  74 68 25 3a f2 52 65 64  72 61 77 4e 4c 44 0d 09  |th%:.RedrawNLD..|
000017c0  88 13 20 20 7f 3a f2 4a  75 73 74 52 65 64 72 61  |..  .:.JustRedra|
000017d0  77 0d 09 92 05 cb 0d 09  9c 05 e1 0d 09 a6 04 0d  |w...............|
000017e0  09 b0 10 dd f2 52 65 64  72 61 77 57 6f 72 6b 0d  |.....RedrawWork.|
000017f0  09 ba 3b c8 99 22 57 69  6d 70 5f 52 65 61 64 50  |..;.."Wimp_ReadP|
00001800  69 78 54 72 61 6e 73 22  2c 26 31 30 30 2c 31 2c  |ixTrans",&100,1,|
00001810  22 76 63 6f 22 2c 2c 2c  2c 73 63 61 6c 65 66 25  |"vco",,,,scalef%|
00001820  2c 70 69 78 74 72 61 6e  73 25 0d 09 c4 25 6f 78  |,pixtrans%...%ox|
00001830  25 3d 6e 65 77 64 78 25  2b 70 6f 6c 6c 65 64 62  |%=newdx%+polledb|
00001840  25 21 34 2d 70 6f 6c 6c  65 64 62 25 21 32 30 0d  |%!4-polledb%!20.|
00001850  09 ce 26 6f 79 25 3d 6e  65 77 64 79 25 2b 70 6f  |..&oy%=newdy%+po|
00001860  6c 6c 65 64 62 25 21 31  36 2d 70 6f 6c 6c 65 64  |lledb%!16-polled|
00001870  62 25 21 32 34 0d 09 d8  28 73 73 78 25 3d 73 74  |b%!24...(ssx%=st|
00001880  61 72 74 6c 78 25 2b 70  6f 6c 6c 65 64 62 25 21  |artlx%+polledb%!|
00001890  34 2d 70 6f 6c 6c 65 64  62 25 21 32 30 0d 09 e2  |4-polledb%!20...|
000018a0  29 73 73 79 25 3d 73 74  61 72 74 6c 79 25 2b 70  |)ssy%=startly%+p|
000018b0  6f 6c 6c 65 64 62 25 21  31 36 2d 70 6f 6c 6c 65  |olledb%!16-polle|
000018c0  64 62 25 21 32 34 0d 09  ec 26 73 65 78 25 3d 6e  |db%!24...&sex%=n|
000018d0  65 77 6c 78 25 2b 70 6f  6c 6c 65 64 62 25 21 34  |ewlx%+polledb%!4|
000018e0  2d 70 6f 6c 6c 65 64 62  25 21 32 30 0d 09 f6 27  |-polledb%!20...'|
000018f0  73 65 79 25 3d 6e 65 77  6c 79 25 2b 70 6f 6c 6c  |sey%=newly%+poll|
00001900  65 64 62 25 21 31 36 2d  70 6f 6c 6c 65 64 62 25  |edb%!16-polledb%|
00001910  21 32 34 0d 0a 00 0c c8  95 20 6d 6f 72 65 25 0d  |!24...... more%.|
00001920  0a 0a 4d 20 20 f2 52 65  64 72 61 77 4c 69 6e 65  |..M  .RedrawLine|
00001930  73 28 70 6f 6c 6c 65 64  62 25 21 34 2d 35 38 2c  |s(polledb%!4-58,|
00001940  70 6f 6c 6c 65 64 62 25  21 38 2d 32 38 2c 70 6f  |polledb%!8-28,po|
00001950  6c 6c 65 64 62 25 21 31  32 2b 35 38 2c 70 6f 6c  |lledb%!12+58,pol|
00001960  6c 65 64 62 25 21 31 36  2b 32 38 29 0d 0a 14 04  |ledb%!16+28)....|
00001970  0d 0a 1e 4b 20 20 e7 20  6e 65 77 64 78 25 3c 3e  |...K  . newdx%<>|
00001980  2d 31 20 8c 20 c8 99 22  57 69 6d 70 5f 53 70 72  |-1 . .."Wimp_Spr|
00001990  69 74 65 4f 70 22 2c 26  33 34 2c 2c 64 66 24 2c  |iteOp",&34,,df$,|
000019a0  6f 78 25 2c 6f 79 25 2c  38 2c 73 63 61 6c 65 66  |ox%,oy%,8,scalef|
000019b0  25 2c 70 69 78 74 72 61  6e 73 25 0d 0a 28 43 20  |%,pixtrans%..(C |
000019c0  20 e7 20 28 73 74 61 72  74 6c 78 25 3c 3e 2d 31  | . (startlx%<>-1|
000019d0  29 20 80 20 28 6e 65 77  6c 78 25 3c 3e 2d 31 29  |) . (newlx%<>-1)|
000019e0  20 8c 20 e6 33 2c 31 35  3a 86 20 73 73 78 25 2c  | . .3,15:. ssx%,|
000019f0  73 73 79 25 2c 73 65 78  25 2c 73 65 79 25 0d 0a  |ssy%,sex%,sey%..|
00001a00  32 2b 20 20 c8 99 22 57  69 6d 70 5f 47 65 74 52  |2+  .."Wimp_GetR|
00001a10  65 63 74 61 6e 67 6c 65  22 2c 2c 70 6f 6c 6c 65  |ectangle",,polle|
00001a20  64 62 25 b8 6d 6f 72 65  25 0d 0a 3c 05 ce 0d 0a  |db%.more%..<....|
00001a30  46 05 e1 0d 0a 50 04 0d  0a 5a 0f dd f2 52 65 64  |F....P...Z...Red|
00001a40  72 61 77 56 43 4f 0d 0a  64 11 41 25 3d 70 6f 6c  |rawVCO..d.A%=pol|
00001a50  6c 65 64 62 25 21 34 0d  0a 6e 11 42 25 3d 70 6f  |ledb%!4..n.B%=po|
00001a60  6c 6c 65 64 62 25 21 38  0d 0a 78 0e 43 25 3d 76  |lledb%!8..x.C%=v|
00001a70  63 6f 70 74 72 25 0d 0a  82 0c c8 95 20 6d 6f 72  |coptr%...... mor|
00001a80  65 25 0d 0a 8c 1a 20 20  c8 99 22 57 69 6d 70 5f  |e%....  .."Wimp_|
00001a90  53 65 74 43 6f 6c 6f 75  72 22 2c 33 0d 0a 96 27  |SetColour",3...'|
00001aa0  20 20 86 20 41 25 2b 31  36 36 2c 42 25 2b 31 33  |  . A%+166,B%+13|
00001ab0  32 2c 41 25 2b 31 36 36  2b 35 31 32 2c 42 25 2b  |2,A%+166+512,B%+|
00001ac0  31 33 32 0d 0a a0 1a 20  20 c8 99 22 57 69 6d 70  |132....  .."Wimp|
00001ad0  5f 53 65 74 43 6f 6c 6f  75 72 22 2c 31 0d 0a aa  |_SetColour",1...|
00001ae0  2d 20 20 86 20 41 25 2b  31 36 36 2c 42 25 2b 31  |-  . A%+166,B%+1|
00001af0  33 32 2b 33 32 2c 41 25  2b 31 36 36 2b 35 31 32  |32+32,A%+166+512|
00001b00  2c 42 25 2b 31 33 32 2b  33 32 0d 0a b4 2d 20 20  |,B%+132+32...-  |
00001b10  86 20 41 25 2b 31 36 36  2c 42 25 2b 31 33 32 2b  |. A%+166,B%+132+|
00001b20  36 34 2c 41 25 2b 31 36  36 2b 35 31 32 2c 42 25  |64,A%+166+512,B%|
00001b30  2b 31 33 32 2b 36 34 0d  0a be 2d 20 20 86 20 41  |+132+64...-  . A|
00001b40  25 2b 31 36 36 2c 42 25  2b 31 33 32 2b 39 36 2c  |%+166,B%+132+96,|
00001b50  41 25 2b 31 36 36 2b 35  31 32 2c 42 25 2b 31 33  |A%+166+512,B%+13|
00001b60  32 2b 39 36 0d 0a c8 2d  20 20 86 20 41 25 2b 31  |2+96...-  . A%+1|
00001b70  36 36 2c 42 25 2b 31 33  32 2d 33 32 2c 41 25 2b  |66,B%+132-32,A%+|
00001b80  31 36 36 2b 35 31 32 2c  42 25 2b 31 33 32 2d 33  |166+512,B%+132-3|
00001b90  32 0d 0a d2 2d 20 20 86  20 41 25 2b 31 36 36 2c  |2...-  . A%+166,|
00001ba0  42 25 2b 31 33 32 2d 36  34 2c 41 25 2b 31 36 36  |B%+132-64,A%+166|
00001bb0  2b 35 31 32 2c 42 25 2b  31 33 32 2d 36 34 0d 0a  |+512,B%+132-64..|
00001bc0  dc 2d 20 20 86 20 41 25  2b 31 36 36 2c 42 25 2b  |.-  . A%+166,B%+|
00001bd0  31 33 32 2d 39 36 2c 41  25 2b 31 36 36 2b 35 31  |132-96,A%+166+51|
00001be0  32 2c 42 25 2b 31 33 32  2d 39 36 0d 0a e6 1a 20  |2,B%+132-96.... |
00001bf0  20 c8 99 22 57 69 6d 70  5f 53 65 74 43 6f 6c 6f  | .."Wimp_SetColo|
00001c00  75 72 22 2c 37 0d 0a f0  10 20 20 d6 72 65 64 72  |ur",7....  .redr|
00001c10  61 77 76 63 6f 0d 0a fa  2b 20 20 c8 99 22 57 69  |awvco...+  .."Wi|
00001c20  6d 70 5f 47 65 74 52 65  63 74 61 6e 67 6c 65 22  |mp_GetRectangle"|
00001c30  2c 2c 70 6f 6c 6c 65 64  62 25 b8 6d 6f 72 65 25  |,,polledb%.more%|
00001c40  0d 0b 04 05 ce 0d 0b 0e  05 e1 0d 0b 18 04 0d 0b  |................|
00001c50  22 0f dd f2 52 65 64 72  61 77 4e 4c 44 0d 0b 2c  |"...RedrawNLD..,|
00001c60  11 41 25 3d 70 6f 6c 6c  65 64 62 25 21 34 0d 0b  |.A%=polledb%!4..|
00001c70  36 11 42 25 3d 70 6f 6c  6c 65 64 62 25 21 38 0d  |6.B%=polledb%!8.|
00001c80  0b 40 11 43 25 3d 6e 6c  64 69 73 74 70 74 72 25  |.@.C%=nldistptr%|
00001c90  0d 0b 4a 0c c8 95 20 6d  6f 72 65 25 0d 0b 54 1a  |..J... more%..T.|
00001ca0  20 20 c8 99 22 57 69 6d  70 5f 53 65 74 43 6f 6c  |  .."Wimp_SetCol|
00001cb0  6f 75 72 22 2c 31 0d 0b  5e 1d 20 20 86 20 41 25  |our",1..^.  . A%|
00001cc0  2c 42 25 2b 36 34 2c 41  25 2b 35 31 32 2c 42 25  |,B%+64,A%+512,B%|
00001cd0  2b 36 34 0d 0b 68 1f 20  20 86 20 41 25 2c 42 25  |+64..h.  . A%,B%|
00001ce0  2b 31 32 38 2c 41 25 2b  35 31 32 2c 42 25 2b 31  |+128,A%+512,B%+1|
00001cf0  32 38 0d 0b 72 1f 20 20  86 20 41 25 2c 42 25 2b  |28..r.  . A%,B%+|
00001d00  31 39 32 2c 41 25 2b 35  31 32 2c 42 25 2b 31 39  |192,A%+512,B%+19|
00001d10  32 0d 0b 7c 1f 20 20 86  20 41 25 2c 42 25 2b 33  |2..|.  . A%,B%+3|
00001d20  32 30 2c 41 25 2b 35 31  32 2c 42 25 2b 33 32 30  |20,A%+512,B%+320|
00001d30  0d 0b 86 1f 20 20 86 20  41 25 2c 42 25 2b 33 38  |....  . A%,B%+38|
00001d40  34 2c 41 25 2b 35 31 32  2c 42 25 2b 33 38 34 0d  |4,A%+512,B%+384.|
00001d50  0b 90 1f 20 20 86 20 41  25 2c 42 25 2b 34 34 38  |...  . A%,B%+448|
00001d60  2c 41 25 2b 35 31 32 2c  42 25 2b 34 34 38 0d 0b  |,A%+512,B%+448..|
00001d70  9a 1d 20 20 86 20 41 25  2b 36 34 2c 42 25 2c 41  |..  . A%+64,B%,A|
00001d80  25 2b 36 34 2c 42 25 2b  35 31 32 0d 0b a4 1f 20  |%+64,B%+512.... |
00001d90  20 86 20 41 25 2b 31 32  38 2c 42 25 2c 41 25 2b  | . A%+128,B%,A%+|
00001da0  31 32 38 2c 42 25 2b 35  31 32 0d 0b ae 1f 20 20  |128,B%+512....  |
00001db0  86 20 41 25 2b 31 39 32  2c 42 25 2c 41 25 2b 31  |. A%+192,B%,A%+1|
00001dc0  39 32 2c 42 25 2b 35 31  32 0d 0b b8 1f 20 20 86  |92,B%+512....  .|
00001dd0  20 41 25 2b 33 32 30 2c  42 25 2c 41 25 2b 33 32  | A%+320,B%,A%+32|
00001de0  30 2c 42 25 2b 35 31 32  0d 0b c2 1f 20 20 86 20  |0,B%+512....  . |
00001df0  41 25 2b 33 38 34 2c 42  25 2c 41 25 2b 33 38 34  |A%+384,B%,A%+384|
00001e00  2c 42 25 2b 35 31 32 0d  0b cc 1f 20 20 86 20 41  |,B%+512....  . A|
00001e10  25 2b 34 34 38 2c 42 25  2c 41 25 2b 34 34 38 2c  |%+448,B%,A%+448,|
00001e20  42 25 2b 35 31 32 0d 0b  d6 1a 20 20 c8 99 22 57  |B%+512....  .."W|
00001e30  69 6d 70 5f 53 65 74 43  6f 6c 6f 75 72 22 2c 33  |imp_SetColour",3|
00001e40  0d 0b e0 1f 20 20 86 20  41 25 2c 42 25 2b 32 35  |....  . A%,B%+25|
00001e50  36 2c 41 25 2b 35 31 32  2c 42 25 2b 32 35 36 0d  |6,A%+512,B%+256.|
00001e60  0b ea 1f 20 20 86 20 41  25 2b 32 35 36 2c 42 25  |...  . A%+256,B%|
00001e70  2c 41 25 2b 32 35 36 2c  42 25 2b 35 31 32 0d 0b  |,A%+256,B%+512..|
00001e80  f4 1a 20 20 c8 99 22 57  69 6d 70 5f 53 65 74 43  |..  .."Wimp_SetC|
00001e90  6f 6c 6f 75 72 22 2c 37  0d 0b fe 10 20 20 d6 72  |olour",7....  .r|
00001ea0  65 64 72 61 77 6e 6c 64  0d 0c 08 2b 20 20 c8 99  |edrawnld...+  ..|
00001eb0  22 57 69 6d 70 5f 47 65  74 52 65 63 74 61 6e 67  |"Wimp_GetRectang|
00001ec0  6c 65 22 2c 2c 70 6f 6c  6c 65 64 62 25 b8 6d 6f  |le",,polledb%.mo|
00001ed0  72 65 25 0d 0c 12 05 ce  0d 0c 1c 05 e1 0d 0c 26  |re%............&|
00001ee0  04 0d 0c 30 0e dd f2 56  43 4f 43 6c 69 63 6b 0d  |...0...VCOClick.|
00001ef0  0c 3a 14 c8 8e 20 70 6f  6c 6c 65 64 62 25 21 31  |.:... polledb%!1|
00001f00  36 20 ca 0d 0c 44 1c 20  20 c9 20 30 3a f2 56 43  |6 ...D.  . 0:.VC|
00001f10  4f 73 69 6e 28 76 63 6f  70 74 72 25 2b 34 29 0d  |Osin(vcoptr%+4).|
00001f20  0c 4e 1c 20 20 c9 20 31  3a f2 56 43 4f 74 72 69  |.N.  . 1:.VCOtri|
00001f30  28 76 63 6f 70 74 72 25  2b 34 29 0d 0c 58 1d 20  |(vcoptr%+4)..X. |
00001f40  20 c9 20 32 3a f2 56 43  4f 72 61 6d 70 28 76 63  | . 2:.VCOramp(vc|
00001f50  6f 70 74 72 25 2b 34 29  0d 0c 62 1c 20 20 c9 20  |optr%+4)..b.  . |
00001f60  33 3a f2 56 43 4f 73 71  72 28 76 63 6f 70 74 72  |3:.VCOsqr(vcoptr|
00001f70  25 2b 34 29 0d 0c 6c 1e  20 20 c9 20 34 3a f2 56  |%+4)..l.  . 4:.V|
00001f80  43 4f 63 6f 6e 73 74 28  76 63 6f 70 74 72 25 2b  |COconst(vcoptr%+|
00001f90  34 29 0d 0c 76 20 20 20  c9 20 35 3a f2 56 43 4f  |4)..v   . 5:.VCO|
00001fa0  73 68 66 74 6c 66 74 28  76 63 6f 70 74 72 25 2b  |shftlft(vcoptr%+|
00001fb0  34 29 0d 0c 80 21 20 20  c9 20 36 3a f2 56 43 4f  |4)...!  . 6:.VCO|
00001fc0  73 68 66 74 72 67 68 74  28 76 63 6f 70 74 72 25  |shftrght(vcoptr%|
00001fd0  2b 34 29 0d 0c 8a 20 20  20 c9 20 37 3a f2 56 43  |+4)...   . 7:.VC|
00001fe0  4f 6d 75 6c 64 69 76 32  28 76 63 6f 70 74 72 25  |Omuldiv2(vcoptr%|
00001ff0  2b 34 29 0d 0c 94 1e 20  20 c9 20 38 3a f2 56 43  |+4)....  . 8:.VC|
00002000  4f 72 6f 74 39 30 28 76  63 6f 70 74 72 25 2b 34  |Orot90(vcoptr%+4|
00002010  29 0d 0c 9e 1d 20 20 c9  20 39 3a f2 56 43 4f 72  |)....  . 9:.VCOr|
00002020  61 6e 64 28 76 63 6f 70  74 72 25 2b 34 29 0d 0c  |and(vcoptr%+4)..|
00002030  a8 1f 20 20 c9 20 31 30  3a f2 56 43 4f 70 61 69  |..  . 10:.VCOpai|
00002040  6e 74 28 76 63 6f 70 74  72 25 2b 34 29 0d 0c b2  |nt(vcoptr%+4)...|
00002050  05 cb 0d 0c bc 57 e7 20  28 70 6f 6c 6c 65 64 62  |.....W. (polledb|
00002060  25 21 31 36 3c 3e 31 30  29 80 28 70 6f 6c 6c 65  |%!16<>10).(polle|
00002070  64 62 25 21 31 36 3c 3e  2d 31 29 20 8c 3a c8 99  |db%!16<>-1) .:..|
00002080  22 57 69 6d 70 5f 46 6f  72 63 65 52 65 64 72 61  |"Wimp_ForceRedra|
00002090  77 22 2c 77 76 63 6f 68  25 2c 31 36 36 2c 2d 32  |w",wvcoh%,166,-2|
000020a0  36 30 2c 36 37 38 2c 2d  34 0d 0c c6 05 e1 0d 0c  |60,678,-4.......|
000020b0  d0 04 0d 0c da 10 dd f2  56 43 4f 73 69 6e 28 61  |........VCOsin(a|
000020c0  25 29 0d 0c e4 0d e3 54  25 3d 30 b8 32 35 35 0d  |%).....T%=0.255.|
000020d0  0c ee 20 20 20 3f 28 61  25 2b 54 25 29 3d 31 32  |..   ?(a%+T%)=12|
000020e0  37 2a b5 28 32 2a af 2a  54 25 2f 32 35 36 29 0d  |7*.(2*.*T%/256).|
000020f0  0c f8 07 ed 54 25 0d 0d  02 10 f2 4d 6f 64 54 69  |....T%.....ModTi|
00002100  74 6c 65 28 30 29 0d 0d  0c 05 e1 0d 0d 16 10 dd  |tle(0)..........|
00002110  f2 56 43 4f 74 72 69 28  61 25 29 0d 0d 20 0d e3  |.VCOtri(a%).. ..|
00002120  54 25 3d 30 b8 31 32 37  0d 0d 2a 1f 20 20 3f 28  |T%=0.127..*.  ?(|
00002130  61 25 2b 54 25 29 3d 31  32 37 2d 94 28 2d 31 32  |a%+T%)=127-.(-12|
00002140  37 2b 32 2a 54 25 29 0d  0d 34 1c 20 20 3f 28 61  |7+2*T%)..4.  ?(a|
00002150  25 2b 32 35 35 2d 54 25  29 3d 2d 3f 28 61 25 2b  |%+255-T%)=-?(a%+|
00002160  54 25 29 0d 0d 3e 07 ed  54 25 0d 0d 48 10 f2 4d  |T%)..>..T%..H..M|
00002170  6f 64 54 69 74 6c 65 28  30 29 0d 0d 52 05 e1 0d  |odTitle(0)..R...|
00002180  0d 5c 11 dd f2 56 43 4f  72 61 6d 70 28 61 25 29  |.\...VCOramp(a%)|
00002190  0d 0d 66 0f c8 97 20 41  25 2c 42 25 2c 43 25 0d  |..f... A%,B%,C%.|
000021a0  0d 70 0d e3 54 25 3d 30  b8 32 35 35 0d 0d 7a 1f  |.p..T%=0.255..z.|
000021b0  20 20 e7 20 43 25 80 34  20 8c 20 3f 28 61 25 2b  |  . C%.4 . ?(a%+|
000021c0  54 25 29 3d 2d 31 32 38  2b 54 25 0d 0d 84 1e 20  |T%)=-128+T%.... |
000021d0  20 e7 20 43 25 80 31 20  8c 20 3f 28 61 25 2b 54  | . C%.1 . ?(a%+T|
000021e0  25 29 3d 31 32 37 2d 54  25 0d 0d 8e 07 ed 54 25  |%)=127-T%.....T%|
000021f0  0d 0d 98 10 f2 4d 6f 64  54 69 74 6c 65 28 30 29  |.....ModTitle(0)|
00002200  0d 0d a2 05 e1 0d 0d ac  10 dd f2 56 43 4f 73 71  |...........VCOsq|
00002210  72 28 61 25 29 0d 0d b6  0d e3 54 25 3d 30 b8 32  |r(a%).....T%=0.2|
00002220  35 35 0d 0d c0 1f 20 20  3f 28 61 25 2b 54 25 29  |55....  ?(a%+T%)|
00002230  3d 31 32 37 2b 32 35 34  2a 28 54 25 3e 31 32 37  |=127+254*(T%>127|
00002240  29 0d 0d ca 07 ed 54 25  0d 0d d4 10 f2 4d 6f 64  |).....T%.....Mod|
00002250  54 69 74 6c 65 28 30 29  0d 0d de 05 e1 0d 0d e8  |Title(0)........|
00002260  12 dd f2 56 43 4f 63 6f  6e 73 74 28 61 25 29 0d  |...VCOconst(a%).|
00002270  0d f2 0f c8 97 20 41 25  2c 42 25 2c 43 25 0d 0d  |..... A%,B%,C%..|
00002280  fc 13 e7 20 43 25 80 34  20 8c 20 6c 25 3d 31 32  |... C%.4 . l%=12|
00002290  37 0d 0e 06 11 e7 20 43  25 80 32 20 8c 20 6c 25  |7..... C%.2 . l%|
000022a0  3d 30 0d 0e 10 13 e7 20  43 25 80 31 20 8c 20 6c  |=0..... C%.1 . l|
000022b0  25 3d 31 32 38 0d 0e 1a  0d e3 54 25 3d 30 b8 32  |%=128.....T%=0.2|
000022c0  35 35 0d 0e 24 11 20 20  3f 28 61 25 2b 54 25 29  |55..$.  ?(a%+T%)|
000022d0  3d 6c 25 0d 0e 2e 07 ed  54 25 0d 0e 38 10 f2 4d  |=l%.....T%..8..M|
000022e0  6f 64 54 69 74 6c 65 28  30 29 0d 0e 42 05 e1 0d  |odTitle(0)..B...|
000022f0  0e 4c 14 dd f2 56 43 4f  73 68 66 74 6c 66 74 28  |.L...VCOshftlft(|
00002300  61 25 29 0d 0e 56 0d e3  54 25 3d 30 b8 31 32 37  |a%)..V..T%=0.127|
00002310  0d 0e 60 19 20 20 3f 28  61 25 2b 54 25 29 3d 3f  |..`.  ?(a%+T%)=?|
00002320  28 61 25 2b 54 25 2a 32  29 0d 0e 6a 07 ed 54 25  |(a%+T%*2)..j..T%|
00002330  0d 0e 74 0d e3 54 25 3d  30 b8 31 32 37 0d 0e 7e  |..t..T%=0.127..~|
00002340  1b 20 20 3f 28 61 25 2b  54 25 2b 31 32 38 29 3d  |.  ?(a%+T%+128)=|
00002350  3f 28 61 25 2b 54 25 29  0d 0e 88 07 ed 54 25 0d  |?(a%+T%).....T%.|
00002360  0e 92 10 f2 4d 6f 64 54  69 74 6c 65 28 30 29 0d  |....ModTitle(0).|
00002370  0e 9c 05 e1 0d 0e a6 15  dd f2 56 43 4f 73 68 66  |..........VCOshf|
00002380  74 72 67 68 74 28 61 25  29 0d 0e b0 10 e3 54 25  |trght(a%).....T%|
00002390  3d 32 35 35 b8 30 88 2d  31 0d 0e ba 1c 20 20 3f  |=255.0.-1....  ?|
000023a0  28 61 25 2b 54 25 29 3d  3f 28 61 25 2b 28 54 25  |(a%+T%)=?(a%+(T%|
000023b0  3e 3e 31 29 29 0d 0e c4  07 ed 54 25 0d 0e ce 10  |>>1)).....T%....|
000023c0  f2 4d 6f 64 54 69 74 6c  65 28 30 29 0d 0e d8 05  |.ModTitle(0)....|
000023d0  e1 0d 0e e2 14 dd f2 56  43 4f 6d 75 6c 64 69 76  |.......VCOmuldiv|
000023e0  32 28 61 25 29 0d 0e ec  0f c8 97 20 41 25 2c 42  |2(a%)...... A%,B|
000023f0  25 2c 43 25 0d 0e f6 0d  e3 54 25 3d 30 b8 32 35  |%,C%.....T%=0.25|
00002400  35 0d 0f 00 1f 20 20 6c  25 3d 28 28 28 3f 28 61  |5....  l%=(((?(a|
00002410  25 2b 54 25 29 29 3c 3c  32 34 29 3e 3e 32 34 29  |%+T%))<<24)>>24)|
00002420  0d 0f 0a 16 20 20 e7 20  43 25 80 34 20 8c 20 6c  |....  . C%.4 . l|
00002430  25 3d 6c 25 2a 32 0d 0f  14 16 20 20 e7 20 43 25  |%=l%*2....  . C%|
00002440  80 31 20 8c 20 6c 25 3d  6c 25 81 32 0d 0f 1e 17  |.1 . l%=l%.2....|
00002450  20 20 e7 20 6c 25 3e 31  32 37 20 8c 20 6c 25 3d  |  . l%>127 . l%=|
00002460  31 32 37 0d 0f 28 19 20  20 e7 20 6c 25 3c 2d 31  |127..(.  . l%<-1|
00002470  32 37 20 8c 20 6c 25 3d  2d 31 32 37 0d 0f 32 11  |27 . l%=-127..2.|
00002480  20 20 3f 28 61 25 2b 54  25 29 3d 6c 25 0d 0f 3c  |  ?(a%+T%)=l%..<|
00002490  07 ed 54 25 0d 0f 46 10  f2 4d 6f 64 54 69 74 6c  |..T%..F..ModTitl|
000024a0  65 28 30 29 0d 0f 50 05  e1 0d 0f 5a 12 dd f2 56  |e(0)..P....Z...V|
000024b0  43 4f 72 6f 74 39 30 28  61 25 29 0d 0f 64 0f c8  |COrot90(a%)..d..|
000024c0  97 20 41 25 2c 42 25 2c  43 25 0d 0f 6e 0d e3 54  |. A%,B%,C%..n..T|
000024d0  25 3d 30 b8 32 35 35 0d  0f 78 0b 20 20 6c 25 3d  |%=0.255..x.  l%=|
000024e0  54 25 0d 0f 82 1d 20 20  e7 20 43 25 80 34 20 8c  |T%....  . C%.4 .|
000024f0  20 6c 25 3d 28 54 25 2b  36 34 29 80 32 35 35 0d  | l%=(T%+64).255.|
00002500  0f 8c 1d 20 20 e7 20 43  25 80 31 20 8c 20 6c 25  |...  . C%.1 . l%|
00002510  3d 28 54 25 2d 36 34 29  80 32 35 35 0d 0f 96 17  |=(T%-64).255....|
00002520  20 20 74 65 6d 70 25 3f  54 25 3d 3f 28 61 25 2b  |  temp%?T%=?(a%+|
00002530  6c 25 29 0d 0f a0 07 ed  54 25 0d 0f aa 0d e3 54  |l%).....T%.....T|
00002540  25 3d 30 b8 32 35 35 0d  0f b4 17 20 20 3f 28 61  |%=0.255....  ?(a|
00002550  25 2b 54 25 29 3d 74 65  6d 70 25 3f 54 25 0d 0f  |%+T%)=temp%?T%..|
00002560  be 07 ed 54 25 0d 0f c8  10 f2 4d 6f 64 54 69 74  |...T%.....ModTit|
00002570  6c 65 28 30 29 0d 0f d2  05 e1 0d 0f dc 11 dd f2  |le(0)...........|
00002580  56 43 4f 72 61 6e 64 28  61 25 29 0d 0f e6 0d e3  |VCOrand(a%).....|
00002590  54 25 3d 30 b8 32 35 35  0d 0f f0 19 20 20 3f 28  |T%=0.255....  ?(|
000025a0  61 25 2b 54 25 29 3d b3  28 32 35 35 29 2d 31 32  |a%+T%)=.(255)-12|
000025b0  38 0d 0f fa 07 ed 54 25  0d 10 04 10 f2 4d 6f 64  |8.....T%.....Mod|
000025c0  54 69 74 6c 65 28 30 29  0d 10 0e 05 e1 0d 10 18  |Title(0)........|
000025d0  12 dd f2 56 43 4f 70 61  69 6e 74 28 61 25 29 0d  |...VCOpaint(a%).|
000025e0  10 22 1e c8 99 22 4f 53  5f 42 79 74 65 22 2c 32  |."..."OS_Byte",2|
000025f0  30 32 2c 30 2c 32 35 35  b8 2c 73 68 25 0d 10 2c  |02,0,255.,sh%..,|
00002600  11 e7 20 28 73 68 25 80  38 29 3d 30 20 8c 0d 10  |.. (sh%.8)=0 ...|
00002610  36 0f c8 97 20 41 25 2c  42 25 2c 43 25 0d 10 40  |6... A%,B%,C%..@|
00002620  19 e7 20 43 25 3d 30 20  8c 20 76 63 6f 6c 61 73  |.. C%=0 . vcolas|
00002630  74 78 25 3d 2d 31 0d 10  4a 26 e7 20 28 43 25 80  |tx%=-1..J&. (C%.|
00002640  34 29 84 28 28 43 25 80  31 29 80 28 76 63 6f 6c  |4).((C%.1).(vcol|
00002650  61 73 74 78 25 3d 2d 31  29 29 20 8c 0d 10 54 14  |astx%=-1)) ...T.|
00002660  20 20 74 65 6d 70 25 21  30 3d 77 76 63 6f 68 25  |  temp%!0=wvcoh%|
00002670  0d 10 5e 24 20 20 c8 99  22 57 69 6d 70 5f 47 65  |..^$  .."Wimp_Ge|
00002680  74 57 69 6e 64 6f 77 53  74 61 74 65 22 2c 2c 74  |tWindowState",,t|
00002690  65 6d 70 25 0d 10 68 24  20 20 78 25 3d 70 6f 6c  |emp%..h$  x%=pol|
000026a0  6c 65 64 62 25 21 30 2d  74 65 6d 70 25 21 34 2b  |ledb%!0-temp%!4+|
000026b0  74 65 6d 70 25 21 32 30  0d 10 72 25 20 20 79 25  |temp%!20..r%  y%|
000026c0  3d 70 6f 6c 6c 65 64 62  25 21 34 2d 74 65 6d 70  |=polledb%!4-temp|
000026d0  25 21 31 36 2b 74 65 6d  70 25 21 32 34 0d 10 7c  |%!16+temp%!24..||
000026e0  31 20 20 e7 20 28 78 25  3e 3d 31 36 36 29 80 28  |1  . (x%>=166).(|
000026f0  78 25 3c 3d 36 37 36 29  80 28 79 25 3c 3d 2d 38  |x%<=676).(y%<=-8|
00002700  29 80 28 79 25 3e 3d 2d  32 36 30 29 20 8c 0d 10  |).(y%>=-260) ...|
00002710  86 14 20 20 20 20 f2 4d  6f 64 54 69 74 6c 65 28  |..    .ModTitle(|
00002720  30 29 0d 10 90 20 20 20  20 20 61 25 3f 28 28 78  |0)...     a%?((x|
00002730  25 2d 31 36 36 29 2f 32  29 3d 28 31 33 34 2b 79  |%-166)/2)=(134+y|
00002740  25 29 0d 10 9a 1c 20 20  20 20 76 63 6f 6c 61 73  |%)....    vcolas|
00002750  74 78 25 3d 28 78 25 2d  31 36 36 29 2f 32 0d 10  |tx%=(x%-166)/2..|
00002760  a4 18 20 20 20 20 76 63  6f 6c 61 73 74 79 25 3d  |..    vcolasty%=|
00002770  31 33 34 2b 79 25 0d 10  ae 33 20 20 20 20 c8 99  |134+y%...3    ..|
00002780  22 57 69 6d 70 5f 46 6f  72 63 65 52 65 64 72 61  |"Wimp_ForceRedra|
00002790  77 22 2c 77 76 63 6f 68  25 2c 78 25 2c 2d 32 36  |w",wvcoh%,x%,-26|
000027a0  30 2c 78 25 2b 32 2c 2d  34 0d 10 b8 07 20 20 cd  |0,x%+2,-4....  .|
000027b0  0d 10 c2 05 cd 0d 10 cc  1e e7 20 28 43 25 80 31  |.......... (C%.1|
000027c0  29 80 28 76 63 6f 6c 61  73 74 78 25 3c 3e 2d 31  |).(vcolastx%<>-1|
000027d0  29 20 8c 0d 10 d6 14 20  20 74 65 6d 70 25 21 30  |) .....  temp%!0|
000027e0  3d 77 76 63 6f 68 25 0d  10 e0 24 20 20 c8 99 22  |=wvcoh%...$  .."|
000027f0  57 69 6d 70 5f 47 65 74  57 69 6e 64 6f 77 53 74  |Wimp_GetWindowSt|
00002800  61 74 65 22 2c 2c 74 65  6d 70 25 0d 10 ea 24 20  |ate",,temp%...$ |
00002810  20 78 25 3d 70 6f 6c 6c  65 64 62 25 21 30 2d 74  | x%=polledb%!0-t|
00002820  65 6d 70 25 21 34 2b 74  65 6d 70 25 21 32 30 0d  |emp%!4+temp%!20.|
00002830  10 f4 25 20 20 79 25 3d  70 6f 6c 6c 65 64 62 25  |..%  y%=polledb%|
00002840  21 34 2d 74 65 6d 70 25  21 31 36 2b 74 65 6d 70  |!4-temp%!16+temp|
00002850  25 21 32 34 0d 10 fe 31  20 20 e7 20 28 78 25 3e  |%!24...1  . (x%>|
00002860  3d 31 36 36 29 80 28 78  25 3c 3d 36 37 36 29 80  |=166).(x%<=676).|
00002870  28 79 25 3c 3d 2d 38 29  80 28 79 25 3e 3d 2d 32  |(y%<=-8).(y%>=-2|
00002880  36 30 29 20 8c 0d 11 08  14 20 20 20 20 f2 4d 6f  |60) .....    .Mo|
00002890  64 54 69 74 6c 65 28 30  29 0d 11 12 14 20 20 20  |dTitle(0)....   |
000028a0  20 73 78 3d 76 63 6f 6c  61 73 74 78 25 0d 11 1c  | sx=vcolastx%...|
000028b0  14 20 20 20 20 73 79 3d  76 63 6f 6c 61 73 74 79  |.    sy=vcolasty|
000028c0  25 0d 11 26 15 20 20 20  20 65 78 3d 28 78 25 2d  |%..&.    ex=(x%-|
000028d0  31 36 36 29 81 32 0d 11  30 11 20 20 20 20 65 79  |166).2..0.    ey|
000028e0  3d 31 33 34 2b 79 25 0d  11 3a 16 20 20 20 20 e7  |=134+y%..:.    .|
000028f0  20 94 28 73 78 2d 65 78  29 3c 31 20 8c 0d 11 44  | .(sx-ex)<1 ...D|
00002900  21 20 20 20 20 20 61 25  3f 28 28 78 25 2d 31 36  |!     a%?((x%-16|
00002910  36 29 2f 32 29 3d 28 31  33 34 2b 79 25 29 0d 11  |6)/2)=(134+y%)..|
00002920  4e 09 20 20 20 20 cc 0d  11 58 0e 20 20 20 20 20  |N.    ...X.     |
00002930  20 79 3d 73 79 0d 11 62  15 20 20 20 20 20 20 64  | y=sy..b.      d|
00002940  78 3d b4 28 65 78 2d 73  78 29 0d 11 6c 1d 20 20  |x=.(ex-sx)..l.  |
00002950  20 20 20 20 64 79 3d 28  65 79 2d 73 79 29 2f 94  |    dy=(ey-sy)/.|
00002960  28 65 78 2d 73 78 29 0d  11 76 1a 20 20 20 20 20  |(ex-sx)..v.     |
00002970  20 e3 20 78 3d 73 78 20  b8 20 65 78 20 88 20 64  | . x=sx . ex . d|
00002980  78 0d 11 80 12 20 20 20  20 20 20 20 20 61 25 3f  |x....        a%?|
00002990  78 3d 79 0d 11 8a 11 20  20 20 20 20 20 20 20 79  |x=y....        y|
000029a0  2b 3d 64 79 0d 11 94 0c  20 20 20 20 20 20 ed 78  |+=dy....      .x|
000029b0  0d 11 9e 09 20 20 20 20  cd 0d 11 a8 1c 20 20 20  |....    .....   |
000029c0  20 76 63 6f 6c 61 73 74  78 25 3d 28 78 25 2d 31  | vcolastx%=(x%-1|
000029d0  36 36 29 2f 32 0d 11 b2  18 20 20 20 20 76 63 6f  |66)/2....    vco|
000029e0  6c 61 73 74 79 25 3d 31  33 34 2b 79 25 0d 11 bc  |lasty%=134+y%...|
000029f0  1a 20 20 20 20 e7 20 73  78 3e 65 78 20 8c 20 c8  |.    . sx>ex . .|
00002a00  94 20 73 78 2c 65 78 0d  11 c6 1a 20 20 20 20 e7  |. sx,ex....    .|
00002a10  20 73 79 3e 65 79 20 8c  20 c8 94 20 73 79 2c 65  | sy>ey . .. sy,e|
00002a20  79 0d 11 d0 3d 20 20 20  20 c8 99 22 57 69 6d 70  |y...=    .."Wimp|
00002a30  5f 46 6f 72 63 65 52 65  64 72 61 77 22 2c 77 76  |_ForceRedraw",wv|
00002a40  63 6f 68 25 2c 73 78 2a  32 2b 31 36 36 2c 2d 32  |coh%,sx*2+166,-2|
00002a50  36 30 2c 65 78 2a 32 2b  31 36 38 2c 2d 34 0d 11  |60,ex*2+168,-4..|
00002a60  da 07 20 20 cd 0d 11 e4  05 cd 0d 11 ee 05 cd 0d  |..  ............|
00002a70  11 f8 05 e1 0d 12 02 04  0d 12 0c 0d dd f2 45 47  |..............EG|
00002a80  43 6c 69 63 6b 0d 12 16  1e c8 99 22 4f 53 5f 42  |Click......"OS_B|
00002a90  79 74 65 22 2c 32 30 32  2c 30 2c 32 35 35 b8 2c  |yte",202,0,255.,|
00002aa0  73 68 25 0d 12 20 11 e7  20 28 73 68 25 80 38 29  |sh%.. .. (sh%.8)|
00002ab0  3d 30 20 8c 0d 12 2a 0f  61 25 3d 65 67 70 74 72  |=0 ...*.a%=egptr|
00002ac0  25 2b 38 0d 12 34 0f c8  97 20 41 25 2c 42 25 2c  |%+8..4... A%,B%,|
00002ad0  43 25 0d 12 3e 18 e7 20  43 25 3d 30 20 8c 20 65  |C%..>.. C%=0 . e|
00002ae0  67 6c 61 73 74 78 25 3d  2d 31 0d 12 48 25 e7 20  |glastx%=-1..H%. |
00002af0  28 43 25 80 34 29 84 28  28 43 25 80 31 29 80 28  |(C%.4).((C%.1).(|
00002b00  65 67 6c 61 73 74 78 25  3d 2d 31 29 29 20 8c 0d  |eglastx%=-1)) ..|
00002b10  12 52 13 20 20 74 65 6d  70 25 21 30 3d 77 65 67  |.R.  temp%!0=weg|
00002b20  68 25 0d 12 5c 24 20 20  c8 99 22 57 69 6d 70 5f  |h%..\$  .."Wimp_|
00002b30  47 65 74 57 69 6e 64 6f  77 53 74 61 74 65 22 2c  |GetWindowState",|
00002b40  2c 74 65 6d 70 25 0d 12  66 24 20 20 78 25 3d 70  |,temp%..f$  x%=p|
00002b50  6f 6c 6c 65 64 62 25 21  30 2d 74 65 6d 70 25 21  |olledb%!0-temp%!|
00002b60  34 2b 74 65 6d 70 25 21  32 30 0d 12 70 25 20 20  |4+temp%!20..p%  |
00002b70  79 25 3d 70 6f 6c 6c 65  64 62 25 21 34 2d 74 65  |y%=polledb%!4-te|
00002b80  6d 70 25 21 31 36 2b 74  65 6d 70 25 21 32 34 0d  |mp%!16+temp%!24.|
00002b90  12 7a 30 20 20 e7 20 28  78 25 3e 3d 30 29 80 28  |.z0  . (x%>=0).(|
00002ba0  78 25 3c 3d 31 30 32 32  29 80 28 79 25 3c 3d 2d  |x%<=1022).(y%<=-|
00002bb0  34 29 80 28 79 25 3e 3d  2d 32 35 36 29 20 8c 0d  |4).(y%>=-256) ..|
00002bc0  12 84 14 20 20 20 20 f2  4d 6f 64 54 69 74 6c 65  |...    .ModTitle|
00002bd0  28 30 29 0d 12 8e 18 20  20 20 20 61 25 3f 28 78  |(0)....    a%?(x|
00002be0  25 2f 32 29 3d 32 35 36  2b 79 25 0d 12 98 15 20  |%/2)=256+y%.... |
00002bf0  20 20 20 65 67 6c 61 73  74 78 25 3d 78 25 2f 32  |   eglastx%=x%/2|
00002c00  0d 12 a2 17 20 20 20 20  65 67 6c 61 73 74 79 25  |....    eglasty%|
00002c10  3d 32 35 36 2b 79 25 0d  12 ac 31 20 20 20 20 c8  |=256+y%...1    .|
00002c20  99 22 57 69 6d 70 5f 46  6f 72 63 65 52 65 64 72  |."Wimp_ForceRedr|
00002c30  61 77 22 2c 77 65 67 68  25 2c 78 25 2c 2d 32 35  |aw",wegh%,x%,-25|
00002c40  36 2c 78 25 2b 32 2c 30  0d 12 b6 07 20 20 cd 0d  |6,x%+2,0....  ..|
00002c50  12 c0 05 cd 0d 12 ca 1d  e7 20 28 43 25 80 31 29  |......... (C%.1)|
00002c60  80 28 65 67 6c 61 73 74  78 25 3c 3e 2d 31 29 20  |.(eglastx%<>-1) |
00002c70  8c 0d 12 d4 13 20 20 74  65 6d 70 25 21 30 3d 77  |.....  temp%!0=w|
00002c80  65 67 68 25 0d 12 de 24  20 20 c8 99 22 57 69 6d  |egh%...$  .."Wim|
00002c90  70 5f 47 65 74 57 69 6e  64 6f 77 53 74 61 74 65  |p_GetWindowState|
00002ca0  22 2c 2c 74 65 6d 70 25  0d 12 e8 24 20 20 78 25  |",,temp%...$  x%|
00002cb0  3d 70 6f 6c 6c 65 64 62  25 21 30 2d 74 65 6d 70  |=polledb%!0-temp|
00002cc0  25 21 34 2b 74 65 6d 70  25 21 32 30 0d 12 f2 25  |%!4+temp%!20...%|
00002cd0  20 20 79 25 3d 70 6f 6c  6c 65 64 62 25 21 34 2d  |  y%=polledb%!4-|
00002ce0  74 65 6d 70 25 21 31 36  2b 74 65 6d 70 25 21 32  |temp%!16+temp%!2|
00002cf0  34 0d 12 fc 30 20 20 e7  20 28 78 25 3e 3d 30 29  |4...0  . (x%>=0)|
00002d00  80 28 78 25 3c 3d 31 30  32 32 29 80 28 79 25 3c  |.(x%<=1022).(y%<|
00002d10  3d 2d 34 29 80 28 79 25  3e 3d 2d 32 35 36 29 20  |=-4).(y%>=-256) |
00002d20  8c 0d 13 06 14 20 20 20  20 f2 4d 6f 64 54 69 74  |.....    .ModTit|
00002d30  6c 65 28 30 29 0d 13 10  13 20 20 20 20 73 78 3d  |le(0)....    sx=|
00002d40  65 67 6c 61 73 74 78 25  0d 13 1a 13 20 20 20 20  |eglastx%....    |
00002d50  73 79 3d 65 67 6c 61 73  74 79 25 0d 13 24 0f 20  |sy=eglasty%..$. |
00002d60  20 20 20 65 78 3d 78 25  81 32 0d 13 2e 11 20 20  |   ex=x%.2....  |
00002d70  20 20 65 79 3d 32 35 36  2b 79 25 0d 13 38 16 20  |  ey=256+y%..8. |
00002d80  20 20 20 e7 20 94 28 73  78 2d 65 78 29 3c 31 20  |   . .(sx-ex)<1 |
00002d90  8c 0d 13 42 19 20 20 20  20 20 61 25 3f 28 78 25  |...B.     a%?(x%|
00002da0  2f 32 29 3d 32 35 36 2b  79 25 0d 13 4c 09 20 20  |/2)=256+y%..L.  |
00002db0  20 20 cc 0d 13 56 0e 20  20 20 20 20 20 79 3d 73  |  ...V.      y=s|
00002dc0  79 0d 13 60 15 20 20 20  20 20 20 64 78 3d b4 28  |y..`.      dx=.(|
00002dd0  65 78 2d 73 78 29 0d 13  6a 1d 20 20 20 20 20 20  |ex-sx)..j.      |
00002de0  64 79 3d 28 65 79 2d 73  79 29 2f 94 28 65 78 2d  |dy=(ey-sy)/.(ex-|
00002df0  73 78 29 0d 13 74 1a 20  20 20 20 20 20 e3 20 78  |sx)..t.      . x|
00002e00  3d 73 78 20 b8 20 65 78  20 88 20 64 78 0d 13 7e  |=sx . ex . dx..~|
00002e10  12 20 20 20 20 20 20 20  20 61 25 3f 78 3d 79 0d  |.        a%?x=y.|
00002e20  13 88 11 20 20 20 20 20  20 20 20 79 2b 3d 64 79  |...        y+=dy|
00002e30  0d 13 92 0c 20 20 20 20  20 20 ed 78 0d 13 9c 09  |....      .x....|
00002e40  20 20 20 20 cd 0d 13 a6  15 20 20 20 20 65 67 6c  |    .....    egl|
00002e50  61 73 74 78 25 3d 78 25  2f 32 0d 13 b0 17 20 20  |astx%=x%/2....  |
00002e60  20 20 65 67 6c 61 73 74  79 25 3d 32 35 36 2b 79  |  eglasty%=256+y|
00002e70  25 0d 13 ba 1a 20 20 20  20 e7 20 73 78 3e 65 78  |%....    . sx>ex|
00002e80  20 8c 20 c8 94 20 73 78  2c 65 78 0d 13 c4 1a 20  | . .. sx,ex.... |
00002e90  20 20 20 e7 20 73 79 3e  65 79 20 8c 20 c8 94 20  |   . sy>ey . .. |
00002ea0  73 79 2c 65 79 0d 13 ce  35 20 20 20 20 c8 99 22  |sy,ey...5    .."|
00002eb0  57 69 6d 70 5f 46 6f 72  63 65 52 65 64 72 61 77  |Wimp_ForceRedraw|
00002ec0  22 2c 77 65 67 68 25 2c  73 78 2a 32 2c 2d 32 35  |",wegh%,sx*2,-25|
00002ed0  36 2c 65 78 2a 32 2b 32  2c 30 0d 13 d8 07 20 20  |6,ex*2+2,0....  |
00002ee0  cd 0d 13 e2 05 cd 0d 13  ec 05 cd 0d 13 f6 05 e1  |................|
00002ef0  0d 14 00 04 0d 14 0a 0e  dd f2 52 65 64 72 61 77  |..........Redraw|
00002f00  45 47 0d 14 14 11 41 25  3d 70 6f 6c 6c 65 64 62  |EG....A%=polledb|
00002f10  25 21 34 0d 14 1e 11 42  25 3d 70 6f 6c 6c 65 64  |%!4....B%=polled|
00002f20  62 25 21 38 0d 14 28 0d  43 25 3d 65 67 70 74 72  |b%!8..(.C%=egptr|
00002f30  25 0d 14 32 0c c8 95 20  6d 6f 72 65 25 0d 14 3c  |%..2... more%..<|
00002f40  1a 20 20 c8 99 22 57 69  6d 70 5f 53 65 74 43 6f  |.  .."Wimp_SetCo|
00002f50  6c 6f 75 72 22 2c 31 0d  14 46 20 20 20 86 20 41  |lour",1..F   . A|
00002f60  25 2b 32 2c 42 25 2b 33  32 2c 41 25 2b 31 30 32  |%+2,B%+32,A%+102|
00002f70  34 2c 42 25 2b 33 32 0d  14 50 20 20 20 86 20 41  |4,B%+32..P   . A|
00002f80  25 2b 32 2c 42 25 2b 36  34 2c 41 25 2b 31 30 32  |%+2,B%+64,A%+102|
00002f90  34 2c 42 25 2b 36 34 0d  14 5a 20 20 20 86 20 41  |4,B%+64..Z   . A|
00002fa0  25 2b 32 2c 42 25 2b 39  36 2c 41 25 2b 31 30 32  |%+2,B%+96,A%+102|
00002fb0  34 2c 42 25 2b 39 36 0d  14 64 22 20 20 86 20 41  |4,B%+96..d"  . A|
00002fc0  25 2b 32 2c 42 25 2b 31  32 38 2c 41 25 2b 31 30  |%+2,B%+128,A%+10|
00002fd0  32 34 2c 42 25 2b 31 32  38 0d 14 6e 22 20 20 86  |24,B%+128..n"  .|
00002fe0  20 41 25 2b 32 2c 42 25  2b 31 36 30 2c 41 25 2b  | A%+2,B%+160,A%+|
00002ff0  31 30 32 34 2c 42 25 2b  31 36 30 0d 14 78 22 20  |1024,B%+160..x" |
00003000  20 86 20 41 25 2b 32 2c  42 25 2b 31 39 32 2c 41  | . A%+2,B%+192,A|
00003010  25 2b 31 30 32 34 2c 42  25 2b 31 39 32 0d 14 82  |%+1024,B%+192...|
00003020  22 20 20 86 20 41 25 2b  32 2c 42 25 2b 32 32 34  |"  . A%+2,B%+224|
00003030  2c 41 25 2b 31 30 32 34  2c 42 25 2b 32 32 34 0d  |,A%+1024,B%+224.|
00003040  14 8c 1a 20 20 c8 99 22  57 69 6d 70 5f 53 65 74  |...  .."Wimp_Set|
00003050  43 6f 6c 6f 75 72 22 2c  37 0d 14 96 0f 20 20 d6  |Colour",7....  .|
00003060  72 65 64 72 61 77 65 67  0d 14 a0 2b 20 20 c8 99  |redraweg...+  ..|
00003070  22 57 69 6d 70 5f 47 65  74 52 65 63 74 61 6e 67  |"Wimp_GetRectang|
00003080  6c 65 22 2c 2c 70 6f 6c  6c 65 64 62 25 b8 6d 6f  |le",,polledb%.mo|
00003090  72 65 25 0d 14 aa 05 ce  0d 14 b4 05 e1 0d 14 be  |re%.............|
000030a0  04 0d 14 c8 10 dd f2 4a  75 73 74 52 65 64 72 61  |.......JustRedra|
000030b0  77 0d 14 d2 0c c8 95 20  6d 6f 72 65 25 0d 14 dc  |w...... more%...|
000030c0  2b 20 20 c8 99 22 57 69  6d 70 5f 47 65 74 52 65  |+  .."Wimp_GetRe|
000030d0  63 74 61 6e 67 6c 65 22  2c 2c 70 6f 6c 6c 65 64  |ctangle",,polled|
000030e0  62 25 b8 6d 6f 72 65 25  0d 14 e6 05 ce 0d 14 f0  |b%.more%........|
000030f0  05 e1 0d 14 fa 04 0d 15  04 11 dd f2 4f 70 65 6e  |............Open|
00003100  5f 57 69 6e 64 6f 77 0d  15 0e 30 e7 20 70 6f 6c  |_Window...0. pol|
00003110  6c 65 64 62 25 21 30 3d  77 77 6f 72 6b 68 25 20  |ledb%!0=wworkh% |
00003120  80 20 74 6f 6f 6c 73 25  20 8c 20 f2 4f 70 65 6e  |. tools% . .Open|
00003130  5f 57 6f 72 6b 3a e1 0d  15 18 5c e7 20 70 6f 6c  |_Work:....\. pol|
00003140  6c 65 64 62 25 21 30 3d  77 74 6f 6f 6c 73 25 20  |ledb%!0=wtools% |
00003150  8c 20 70 6f 6c 6c 65 64  62 25 21 30 3d 77 77 6f  |. polledb%!0=wwo|
00003160  72 6b 68 25 3a c8 99 22  57 69 6d 70 5f 47 65 74  |rkh%:.."Wimp_Get|
00003170  57 69 6e 64 6f 77 53 74  61 74 65 22 2c 2c 70 6f  |WindowState",,po|
00003180  6c 6c 65 64 62 25 3a f2  4f 70 65 6e 5f 57 6f 72  |lledb%:.Open_Wor|
00003190  6b 3a e1 0d 15 22 21 c8  99 22 57 69 6d 70 5f 4f  |k:..."!.."Wimp_O|
000031a0  70 65 6e 57 69 6e 64 6f  77 22 2c 2c 70 6f 6c 6c  |penWindow",,poll|
000031b0  65 64 62 25 0d 15 2c 05  e1 0d 15 36 04 0d 15 40  |edb%..,....6...@|
000031c0  0f dd f2 4f 70 65 6e 5f  57 6f 72 6b 0d 15 4a 16  |...Open_Work..J.|
000031d0  20 20 74 65 6d 70 32 25  21 30 3d 77 77 6f 72 6b  |  temp2%!0=wwork|
000031e0  68 25 0d 15 54 25 20 20  c8 99 22 57 69 6d 70 5f  |h%..T%  .."Wimp_|
000031f0  47 65 74 57 69 6e 64 6f  77 53 74 61 74 65 22 2c  |GetWindowState",|
00003200  2c 74 65 6d 70 32 25 0d  15 5e 16 20 20 74 65 6d  |,temp2%..^.  tem|
00003210  70 25 21 30 3d 77 74 6f  6f 6c 73 68 25 0d 15 68  |p%!0=wtoolsh%..h|
00003220  24 20 20 c8 99 22 57 69  6d 70 5f 47 65 74 57 69  |$  .."Wimp_GetWi|
00003230  6e 64 6f 77 53 74 61 74  65 22 2c 2c 74 65 6d 70  |ndowState",,temp|
00003240  25 0d 15 72 1c 20 20 74  65 6d 70 25 21 34 3d 70  |%..r.  temp%!4=p|
00003250  6f 6c 6c 65 64 62 25 21  34 2d 31 31 34 0d 15 7c  |olledb%!4-114..||
00003260  1a 20 20 74 65 6d 70 25  21 31 36 3d 70 6f 6c 6c  |.  temp%!16=poll|
00003270  65 64 62 25 21 31 36 0d  15 86 1b 20 20 74 65 6d  |edb%!16....  tem|
00003280  70 25 21 31 32 3d 70 6f  6c 6c 65 64 62 25 21 34  |p%!12=polledb%!4|
00003290  2d 34 0d 15 90 65 20 20  e7 20 70 6f 6c 6c 65 64  |-4...e  . polled|
000032a0  62 25 21 31 36 2d 70 6f  6c 6c 65 64 62 25 21 38  |b%!16-polledb%!8|
000032b0  3e 36 32 30 20 8c 20 74  65 6d 70 25 21 38 3d 74  |>620 . temp%!8=t|
000032c0  65 6d 70 25 21 31 36 2d  36 32 30 20 8b 20 74 65  |emp%!16-620 . te|
000032d0  6d 70 25 21 38 3d 74 65  6d 70 25 21 31 36 2d 28  |mp%!8=temp%!16-(|
000032e0  70 6f 6c 6c 65 64 62 25  21 31 36 2d 70 6f 6c 6c  |polledb%!16-poll|
000032f0  65 64 62 25 21 38 29 0d  15 9a 37 20 20 e7 20 74  |edb%!8)...7  . t|
00003300  65 6d 70 25 21 34 3c 30  20 8c 20 74 65 6d 70 25  |emp%!4<0 . temp%|
00003310  21 31 32 3d 74 65 6d 70  25 21 31 32 2d 74 65 6d  |!12=temp%!12-tem|
00003320  70 25 21 34 3a 74 65 6d  70 25 21 34 3d 30 0d 15  |p%!4:temp%!4=0..|
00003330  a4 1d 20 20 41 25 3d 70  6f 6c 6c 65 64 62 25 21  |..  A%=polledb%!|
00003340  34 3c 6f 6c 64 77 6f 72  6b 78 25 0d 15 ae 28 20  |4<oldworkx%...( |
00003350  20 41 25 3d 41 25 20 84  20 28 28 70 6f 6c 6c 65  | A%=A% . ((polle|
00003360  64 62 25 21 34 2d 74 65  6d 70 25 21 34 29 3c 31  |db%!4-temp%!4)<1|
00003370  31 34 29 0d 15 b8 27 20  20 41 25 3d 41 25 20 80  |14)...'  A%=A% .|
00003380  20 28 28 28 74 65 6d 70  32 25 21 33 32 29 80 28  | (((temp2%!32).(|
00003390  31 3c 3c 31 39 29 29 3d  30 29 0d 15 c2 28 20 20  |1<<19))=0)...(  |
000033a0  41 25 3d 41 25 20 84 20  28 28 28 74 65 6d 70 32  |A%=A% . (((temp2|
000033b0  25 21 33 32 29 80 28 31  3c 3c 31 38 29 29 3c 3e  |%!32).(1<<18))<>|
000033c0  30 29 0d 15 cc 0c 20 20  e7 20 41 25 20 8c 0d 15  |0)....  . A% ...|
000033d0  d6 1c 20 20 20 20 74 65  6d 70 25 21 32 38 3d 70  |..    temp%!28=p|
000033e0  6f 6c 6c 65 64 62 25 21  32 38 0d 15 e0 22 20 20  |olledb%!28..."  |
000033f0  20 20 c8 99 22 57 69 6d  70 5f 4f 70 65 6e 57 69  |  .."Wimp_OpenWi|
00003400  6e 64 6f 77 22 2c 2c 74  65 6d 70 25 0d 15 ea 1c  |ndow",,temp%....|
00003410  20 20 20 20 70 6f 6c 6c  65 64 62 25 21 32 38 3d  |    polledb%!28=|
00003420  77 74 6f 6f 6c 73 68 25  0d 15 f4 25 20 20 20 20  |wtoolsh%...%    |
00003430  c8 99 22 57 69 6d 70 5f  4f 70 65 6e 57 69 6e 64  |.."Wimp_OpenWind|
00003440  6f 77 22 2c 2c 70 6f 6c  6c 65 64 62 25 0d 15 fe  |ow",,polledb%...|
00003450  07 20 20 cc 0d 16 08 1c  20 20 20 20 74 65 6d 70  |.  .....    temp|
00003460  25 21 32 38 3d 70 6f 6c  6c 65 64 62 25 21 32 38  |%!28=polledb%!28|
00003470  0d 16 12 1c 20 20 20 20  70 6f 6c 6c 65 64 62 25  |....    polledb%|
00003480  21 32 38 3d 77 74 6f 6f  6c 73 68 25 0d 16 1c 25  |!28=wtoolsh%...%|
00003490  20 20 20 20 c8 99 22 57  69 6d 70 5f 4f 70 65 6e  |    .."Wimp_Open|
000034a0  57 69 6e 64 6f 77 22 2c  2c 70 6f 6c 6c 65 64 62  |Window",,polledb|
000034b0  25 0d 16 26 29 20 20 20  20 c8 99 22 57 69 6d 70  |%..&)    .."Wimp|
000034c0  5f 47 65 74 57 69 6e 64  6f 77 53 74 61 74 65 22  |_GetWindowState"|
000034d0  2c 2c 70 6f 6c 6c 65 64  62 25 0d 16 30 1e 20 20  |,,polledb%..0.  |
000034e0  20 20 74 65 6d 70 25 21  34 3d 70 6f 6c 6c 65 64  |  temp%!4=polled|
000034f0  62 25 21 34 2d 31 31 34  0d 16 3a 1c 20 20 20 20  |b%!4-114..:.    |
00003500  74 65 6d 70 25 21 31 36  3d 70 6f 6c 6c 65 64 62  |temp%!16=polledb|
00003510  25 21 31 36 0d 16 44 1d  20 20 20 20 74 65 6d 70  |%!16..D.    temp|
00003520  25 21 31 32 3d 70 6f 6c  6c 65 64 62 25 21 34 2d  |%!12=polledb%!4-|
00003530  34 0d 16 4e 67 20 20 20  20 e7 20 70 6f 6c 6c 65  |4..Ng    . polle|
00003540  64 62 25 21 31 36 2d 70  6f 6c 6c 65 64 62 25 21  |db%!16-polledb%!|
00003550  38 3e 36 32 30 20 8c 20  74 65 6d 70 25 21 38 3d  |8>620 . temp%!8=|
00003560  74 65 6d 70 25 21 31 36  2d 36 32 30 20 8b 20 74  |temp%!16-620 . t|
00003570  65 6d 70 25 21 38 3d 74  65 6d 70 25 21 31 36 2d  |emp%!8=temp%!16-|
00003580  28 70 6f 6c 6c 65 64 62  25 21 31 36 2d 70 6f 6c  |(polledb%!16-pol|
00003590  6c 65 64 62 25 21 38 29  0d 16 58 39 20 20 20 20  |ledb%!8)..X9    |
000035a0  e7 20 74 65 6d 70 25 21  34 3c 30 20 8c 20 74 65  |. temp%!4<0 . te|
000035b0  6d 70 25 21 31 32 3d 74  65 6d 70 25 21 31 32 2d  |mp%!12=temp%!12-|
000035c0  74 65 6d 70 25 21 34 3a  74 65 6d 70 25 21 34 3d  |temp%!4:temp%!4=|
000035d0  30 0d 16 62 22 20 20 20  20 c8 99 22 57 69 6d 70  |0..b"    .."Wimp|
000035e0  5f 4f 70 65 6e 57 69 6e  64 6f 77 22 2c 2c 74 65  |_OpenWindow",,te|
000035f0  6d 70 25 0d 16 6c 1c 20  20 20 20 70 6f 6c 6c 65  |mp%..l.    polle|
00003600  64 62 25 21 32 38 3d 77  74 6f 6f 6c 73 68 25 0d  |db%!28=wtoolsh%.|
00003610  16 76 25 20 20 20 20 c8  99 22 57 69 6d 70 5f 4f  |.v%    .."Wimp_O|
00003620  70 65 6e 57 69 6e 64 6f  77 22 2c 2c 70 6f 6c 6c  |penWindow",,poll|
00003630  65 64 62 25 0d 16 80 07  20 20 cd 0d 16 8a 1a 20  |edb%....  ..... |
00003640  20 6f 6c 64 77 6f 72 6b  78 25 3d 70 6f 6c 6c 65  | oldworkx%=polle|
00003650  64 62 25 21 34 0d 16 94  05 e1 0d 16 9e 04 0d 16  |db%!4...........|
00003660  a8 12 dd f2 43 6c 6f 73  65 5f 57 69 6e 64 6f 77  |....Close_Window|
00003670  0d 16 b2 22 c8 99 22 57  69 6d 70 5f 43 6c 6f 73  |...".."Wimp_Clos|
00003680  65 57 69 6e 64 6f 77 22  2c 2c 70 6f 6c 6c 65 64  |eWindow",,polled|
00003690  62 25 0d 16 bc 1a e7 20  70 6f 6c 6c 65 64 62 25  |b%..... polledb%|
000036a0  21 30 3d 77 77 6f 72 6b  68 25 20 8c 0d 16 c6 19  |!0=wworkh% .....|
000036b0  20 20 70 6f 6c 6c 65 64  62 25 21 30 3d 77 74 6f  |  polledb%!0=wto|
000036c0  6f 6c 73 68 25 0d 16 d0  24 20 20 c8 99 22 57 69  |olsh%...$  .."Wi|
000036d0  6d 70 5f 43 6c 6f 73 65  57 69 6e 64 6f 77 22 2c  |mp_CloseWindow",|
000036e0  2c 70 6f 6c 6c 65 64 62  25 0d 16 da 05 cd 0d 16  |,polledb%.......|
000036f0  e4 05 e1 0d 16 ee 04 0d  16 f8 11 dd f2 4d 6f 75  |.............Mou|
00003700  73 65 5f 43 6c 69 63 6b  0d 17 02 14 c8 8e 20 70  |se_Click...... p|
00003710  6f 6c 6c 65 64 62 25 21  31 32 20 ca 0d 17 0c 1a  |olledb%!12 .....|
00003720  20 20 c9 20 77 77 6f 72  6b 68 25 3a f2 57 6f 72  |  . wworkh%:.Wor|
00003730  6b 43 6c 69 63 6b 0d 17  16 1c 20 20 c9 20 77 74  |kClick....  . wt|
00003740  6f 6f 6c 73 68 25 3a f2  54 6f 6f 6c 73 43 6c 69  |oolsh%:.ToolsCli|
00003750  63 6b 0d 17 20 1f 20 20  c9 20 77 63 6f 6e 73 74  |ck.. .  . wconst|
00003760  61 6e 74 68 25 3a f2 43  6f 6e 73 74 43 6c 69 63  |anth%:.ConstClic|
00003770  6b 0d 17 2a 1c 20 20 c9  20 77 6d 75 6c 74 63 68  |k..*.  . wmultch|
00003780  25 3a f2 4d 75 6c 74 43  43 6c 69 63 6b 0d 17 34  |%:.MultCClick..4|
00003790  18 20 20 c9 20 77 76 63  6f 68 25 3a f2 56 43 4f  |.  . wvcoh%:.VCO|
000037a0  43 6c 69 63 6b 0d 17 3e  16 20 20 c9 20 77 65 67  |Click..>.  . weg|
000037b0  68 25 3a f2 45 47 43 6c  69 63 6b 0d 17 48 1e 20  |h%:.EGClick..H. |
000037c0  20 c9 20 77 6e 6c 64 69  73 74 68 25 3a f2 4e 4c  | . wnldisth%:.NL|
000037d0  44 69 73 74 43 6c 69 63  6b 0d 17 52 1c 20 20 c9  |DistClick..R.  .|
000037e0  20 77 73 74 61 74 73 68  25 3a f2 53 74 61 74 73  | wstatsh%:.Stats|
000037f0  43 6c 69 63 6b 0d 17 5c  1c 20 20 c9 20 77 69 6e  |Click..\.  . win|
00003800  70 75 74 68 25 3a f2 49  6e 70 75 74 43 6c 69 63  |puth%:.InputClic|
00003810  6b 0d 17 66 16 20 20 c9  20 2d 32 3a f2 49 63 6f  |k..f.  . -2:.Ico|
00003820  6e 42 43 6c 69 63 6b 0d  17 70 05 cb 0d 17 7a 05  |nBClick..p....z.|
00003830  e1 0d 17 84 04 0d 17 8e  10 dd f2 54 6f 6f 6c 73  |...........Tools|
00003840  43 6c 69 63 6b 0d 17 98  15 e7 20 70 6f 6c 6c 65  |Click..... polle|
00003850  64 62 25 21 38 3c 31 36  20 8c 0d 17 a2 16 20 20  |db%!8<16 .....  |
00003860  c8 8e 20 70 6f 6c 6c 65  64 62 25 21 31 36 20 ca  |.. polledb%!16 .|
00003870  0d 17 ac 16 20 20 20 20  c9 20 30 3a f2 50 6f 70  |....    . 0:.Pop|
00003880  50 6c 61 63 65 4d 0d 17  b6 48 20 20 20 20 c9 20  |PlaceM...H    . |
00003890  31 3a 6c 61 73 74 6d 65  6e 75 25 3d 77 6f 72 6b  |1:lastmenu%=work|
000038a0  6d 65 6e 75 25 3a 70 6f  6c 6c 65 64 62 25 21 30  |menu%:polledb%!0|
000038b0  3d 32 3a 70 6f 6c 6c 65  64 62 25 21 34 3d 2d 31  |=2:polledb%!4=-1|
000038c0  3a f2 4d 65 6e 75 5f 53  65 6c 65 63 74 32 0d 17  |:.Menu_Select2..|
000038d0  c0 48 20 20 20 20 c9 20  32 3a 6c 61 73 74 6d 65  |.H    . 2:lastme|
000038e0  6e 75 25 3d 77 6f 72 6b  6d 65 6e 75 25 3a 70 6f  |nu%=workmenu%:po|
000038f0  6c 6c 65 64 62 25 21 30  3d 31 3a 70 6f 6c 6c 65  |lledb%!0=1:polle|
00003900  64 62 25 21 34 3d 2d 31  3a f2 4d 65 6e 75 5f 53  |db%!4=-1:.Menu_S|
00003910  65 6c 65 63 74 32 0d 17  ca 55 20 20 20 20 c9 20  |elect2...U    . |
00003920  33 3a 6c 61 73 74 6d 65  6e 75 25 3d 77 6f 72 6b  |3:lastmenu%=work|
00003930  6d 65 6e 75 25 3a 70 6f  6c 6c 65 64 62 25 21 30  |menu%:polledb%!0|
00003940  3d 31 3a 70 6f 6c 6c 65  64 62 25 21 34 3d 33 3a  |=1:polledb%!4=3:|
00003950  70 6f 6c 6c 65 64 62 25  21 38 3d 2d 31 3a f2 4d  |polledb%!8=-1:.M|
00003960  65 6e 75 5f 53 65 6c 65  63 74 32 0d 17 d4 55 20  |enu_Select2...U |
00003970  20 20 20 c9 20 34 3a 6c  61 73 74 6d 65 6e 75 25  |   . 4:lastmenu%|
00003980  3d 77 6f 72 6b 6d 65 6e  75 25 3a 70 6f 6c 6c 65  |=workmenu%:polle|
00003990  64 62 25 21 30 3d 31 3a  70 6f 6c 6c 65 64 62 25  |db%!0=1:polledb%|
000039a0  21 34 3d 34 3a 70 6f 6c  6c 65 64 62 25 21 38 3d  |!4=4:polledb%!8=|
000039b0  2d 31 3a f2 4d 65 6e 75  5f 53 65 6c 65 63 74 32  |-1:.Menu_Select2|
000039c0  0d 17 de 55 20 20 20 20  c9 20 35 3a 6c 61 73 74  |...U    . 5:last|
000039d0  6d 65 6e 75 25 3d 77 6f  72 6b 6d 65 6e 75 25 3a  |menu%=workmenu%:|
000039e0  70 6f 6c 6c 65 64 62 25  21 30 3d 31 3a 70 6f 6c  |polledb%!0=1:pol|
000039f0  6c 65 64 62 25 21 34 3d  30 3a 70 6f 6c 6c 65 64  |ledb%!4=0:polled|
00003a00  62 25 21 38 3d 2d 31 3a  f2 4d 65 6e 75 5f 53 65  |b%!8=-1:.Menu_Se|
00003a10  6c 65 63 74 32 0d 17 e8  55 20 20 20 20 c9 20 36  |lect2...U    . 6|
00003a20  3a 6c 61 73 74 6d 65 6e  75 25 3d 77 6f 72 6b 6d  |:lastmenu%=workm|
00003a30  65 6e 75 25 3a 70 6f 6c  6c 65 64 62 25 21 30 3d  |enu%:polledb%!0=|
00003a40  31 3a 70 6f 6c 6c 65 64  62 25 21 34 3d 31 3a 70  |1:polledb%!4=1:p|
00003a50  6f 6c 6c 65 64 62 25 21  38 3d 2d 31 3a f2 4d 65  |olledb%!8=-1:.Me|
00003a60  6e 75 5f 53 65 6c 65 63  74 32 0d 17 f2 55 20 20  |nu_Select2...U  |
00003a70  20 20 c9 20 37 3a 6c 61  73 74 6d 65 6e 75 25 3d  |  . 7:lastmenu%=|
00003a80  77 6f 72 6b 6d 65 6e 75  25 3a 70 6f 6c 6c 65 64  |workmenu%:polled|
00003a90  62 25 21 30 3d 31 3a 70  6f 6c 6c 65 64 62 25 21  |b%!0=1:polledb%!|
00003aa0  34 3d 32 3a 70 6f 6c 6c  65 64 62 25 21 38 3d 2d  |4=2:polledb%!8=-|
00003ab0  31 3a f2 4d 65 6e 75 5f  53 65 6c 65 63 74 32 0d  |1:.Menu_Select2.|
00003ac0  17 fc 48 20 20 20 20 c9  20 38 3a 6c 61 73 74 6d  |..H    . 8:lastm|
00003ad0  65 6e 75 25 3d 77 6f 72  6b 6d 65 6e 75 25 3a 70  |enu%=workmenu%:p|
00003ae0  6f 6c 6c 65 64 62 25 21  30 3d 33 3a 70 6f 6c 6c  |olledb%!0=3:poll|
00003af0  65 64 62 25 21 34 3d 2d  31 3a f2 4d 65 6e 75 5f  |edb%!4=-1:.Menu_|
00003b00  53 65 6c 65 63 74 32 0d  18 06 07 20 20 cb 0d 18  |Select2....  ...|
00003b10  10 05 cd 0d 18 1a 05 e1  0d 18 24 04 0d 18 2e 0f  |..........$.....|
00003b20  dd f2 50 6f 70 50 6c 61  63 65 4d 0d 18 38 71 6c  |..PopPlaceM..8ql|
00003b30  61 73 74 6d 78 25 3d 70  6f 6c 6c 65 64 62 25 21  |astmx%=polledb%!|
00003b40  30 2d 36 34 3a 6c 61 73  74 6d 79 25 3d 70 6f 6c  |0-64:lastmy%=pol|
00003b50  6c 65 64 62 25 21 34 2b  31 32 3a 6c 61 73 74 6d  |ledb%!4+12:lastm|
00003b60  65 6e 75 25 3d 61 64 64  6d 65 6e 75 25 3a c8 99  |enu%=addmenu%:..|
00003b70  22 57 69 6d 70 5f 43 72  65 61 74 65 4d 65 6e 75  |"Wimp_CreateMenu|
00003b80  22 2c 2c 6c 61 73 74 6d  65 6e 75 25 2c 6c 61 73  |",,lastmenu%,las|
00003b90  74 6d 78 25 2c 6c 61 73  74 6d 79 25 0d 18 42 05  |tmx%,lastmy%..B.|
00003ba0  e1 0d 18 4c 04 0d 18 56  11 dd f2 4e 4c 44 69 73  |...L...V...NLDis|
00003bb0  74 43 6c 69 63 6b 0d 18  60 1e c8 99 22 4f 53 5f  |tClick..`..."OS_|
00003bc0  42 79 74 65 22 2c 32 30  32 2c 30 2c 32 35 35 b8  |Byte",202,0,255.|
00003bd0  2c 73 68 25 0d 18 6a 11  e7 20 28 73 68 25 80 38  |,sh%..j.. (sh%.8|
00003be0  29 3d 30 20 8c 0d 18 74  11 61 25 3d 6e 6c 64 69  |)=0 ...t.a%=nldi|
00003bf0  73 74 70 74 72 25 0d 18  7e 0f c8 97 20 41 25 2c  |stptr%..~... A%,|
00003c00  42 25 2c 43 25 0d 18 88  1c e7 20 43 25 3d 30 20  |B%,C%..... C%=0 |
00003c10  8c 20 6e 6c 64 69 73 74  6c 61 73 74 78 25 3d 2d  |. nldistlastx%=-|
00003c20  31 0d 18 92 29 e7 20 28  43 25 80 34 29 84 28 28  |1...). (C%.4).((|
00003c30  43 25 80 31 29 80 28 6e  6c 64 69 73 74 6c 61 73  |C%.1).(nldistlas|
00003c40  74 78 25 3d 2d 31 29 29  20 8c 0d 18 9c 17 20 20  |tx%=-1)) .....  |
00003c50  74 65 6d 70 25 21 30 3d  77 6e 6c 64 69 73 74 68  |temp%!0=wnldisth|
00003c60  25 0d 18 a6 24 20 20 c8  99 22 57 69 6d 70 5f 47  |%...$  .."Wimp_G|
00003c70  65 74 57 69 6e 64 6f 77  53 74 61 74 65 22 2c 2c  |etWindowState",,|
00003c80  74 65 6d 70 25 0d 18 b0  24 20 20 78 25 3d 70 6f  |temp%...$  x%=po|
00003c90  6c 6c 65 64 62 25 21 30  2d 74 65 6d 70 25 21 34  |lledb%!0-temp%!4|
00003ca0  2b 74 65 6d 70 25 21 32  30 0d 18 ba 25 20 20 79  |+temp%!20...%  y|
00003cb0  25 3d 70 6f 6c 6c 65 64  62 25 21 34 2d 74 65 6d  |%=polledb%!4-tem|
00003cc0  70 25 21 31 36 2b 74 65  6d 70 25 21 32 34 0d 18  |p%!16+temp%!24..|
00003cd0  c4 2f 20 20 e7 20 28 78  25 3e 3d 30 29 80 28 78  |./  . (x%>=0).(x|
00003ce0  25 3c 3d 35 31 30 29 80  28 79 25 3c 3d 2d 32 29  |%<=510).(y%<=-2)|
00003cf0  80 28 79 25 3e 3d 2d 35  31 32 29 20 8c 0d 18 ce  |.(y%>=-512) ....|
00003d00  14 20 20 20 20 f2 4d 6f  64 54 69 74 6c 65 28 30  |.    .ModTitle(0|
00003d10  29 0d 18 d8 1a 20 20 20  20 61 25 3f 28 78 25 2f  |)....    a%?(x%/|
00003d20  32 29 3d 32 35 36 2b 79  25 2f 32 0d 18 e2 19 20  |2)=256+y%/2.... |
00003d30  20 20 20 6e 6c 64 69 73  74 6c 61 73 74 78 25 3d  |   nldistlastx%=|
00003d40  78 25 2f 32 0d 18 ec 1d  20 20 20 20 6e 6c 64 69  |x%/2....    nldi|
00003d50  73 74 6c 61 73 74 79 25  3d 32 35 36 2b 79 25 2f  |stlasty%=256+y%/|
00003d60  32 0d 18 f6 35 20 20 20  20 c8 99 22 57 69 6d 70  |2...5    .."Wimp|
00003d70  5f 46 6f 72 63 65 52 65  64 72 61 77 22 2c 77 6e  |_ForceRedraw",wn|
00003d80  6c 64 69 73 74 68 25 2c  78 25 2c 2d 35 31 32 2c  |ldisth%,x%,-512,|
00003d90  78 25 2b 32 2c 30 0d 19  00 07 20 20 cd 0d 19 0a  |x%+2,0....  ....|
00003da0  05 cd 0d 19 14 21 e7 20  28 43 25 80 31 29 80 28  |.....!. (C%.1).(|
00003db0  6e 6c 64 69 73 74 6c 61  73 74 78 25 3c 3e 2d 31  |nldistlastx%<>-1|
00003dc0  29 20 8c 0d 19 1e 17 20  20 74 65 6d 70 25 21 30  |) .....  temp%!0|
00003dd0  3d 77 6e 6c 64 69 73 74  68 25 0d 19 28 24 20 20  |=wnldisth%..($  |
00003de0  c8 99 22 57 69 6d 70 5f  47 65 74 57 69 6e 64 6f  |.."Wimp_GetWindo|
00003df0  77 53 74 61 74 65 22 2c  2c 74 65 6d 70 25 0d 19  |wState",,temp%..|
00003e00  32 24 20 20 78 25 3d 70  6f 6c 6c 65 64 62 25 21  |2$  x%=polledb%!|
00003e10  30 2d 74 65 6d 70 25 21  34 2b 74 65 6d 70 25 21  |0-temp%!4+temp%!|
00003e20  32 30 0d 19 3c 25 20 20  79 25 3d 70 6f 6c 6c 65  |20..<%  y%=polle|
00003e30  64 62 25 21 34 2d 74 65  6d 70 25 21 31 36 2b 74  |db%!4-temp%!16+t|
00003e40  65 6d 70 25 21 32 34 0d  19 46 2f 20 20 e7 20 28  |emp%!24..F/  . (|
00003e50  78 25 3e 3d 30 29 80 28  78 25 3c 3d 35 31 30 29  |x%>=0).(x%<=510)|
00003e60  80 28 79 25 3c 3d 2d 32  29 80 28 79 25 3e 3d 2d  |.(y%<=-2).(y%>=-|
00003e70  35 31 32 29 20 8c 0d 19  50 14 20 20 20 20 f2 4d  |512) ...P.    .M|
00003e80  6f 64 54 69 74 6c 65 28  30 29 0d 19 5a 17 20 20  |odTitle(0)..Z.  |
00003e90  20 20 73 78 3d 6e 6c 64  69 73 74 6c 61 73 74 78  |  sx=nldistlastx|
00003ea0  25 0d 19 64 17 20 20 20  20 73 79 3d 6e 6c 64 69  |%..d.    sy=nldi|
00003eb0  73 74 6c 61 73 74 79 25  0d 19 6e 0f 20 20 20 20  |stlasty%..n.    |
00003ec0  65 78 3d 78 25 81 32 0d  19 78 13 20 20 20 20 65  |ex=x%.2..x.    e|
00003ed0  79 3d 32 35 36 2b 79 25  2f 32 0d 19 82 16 20 20  |y=256+y%/2....  |
00003ee0  20 20 e7 20 94 28 73 78  2d 65 78 29 3c 31 20 8c  |  . .(sx-ex)<1 .|
00003ef0  0d 19 8c 1b 20 20 20 20  20 61 25 3f 28 78 25 2f  |....     a%?(x%/|
00003f00  32 29 3d 32 35 36 2b 79  25 2f 32 0d 19 96 09 20  |2)=256+y%/2.... |
00003f10  20 20 20 cc 0d 19 a0 0e  20 20 20 20 20 20 79 3d  |   .....      y=|
00003f20  73 79 0d 19 aa 15 20 20  20 20 20 20 64 78 3d b4  |sy....      dx=.|
00003f30  28 65 78 2d 73 78 29 0d  19 b4 1d 20 20 20 20 20  |(ex-sx)....     |
00003f40  20 64 79 3d 28 65 79 2d  73 79 29 2f 94 28 65 78  | dy=(ey-sy)/.(ex|
00003f50  2d 73 78 29 0d 19 be 1a  20 20 20 20 20 20 e3 20  |-sx)....      . |
00003f60  78 3d 73 78 20 b8 20 65  78 20 88 20 64 78 0d 19  |x=sx . ex . dx..|
00003f70  c8 12 20 20 20 20 20 20  20 20 61 25 3f 78 3d 79  |..        a%?x=y|
00003f80  0d 19 d2 11 20 20 20 20  20 20 20 20 79 2b 3d 64  |....        y+=d|
00003f90  79 0d 19 dc 0c 20 20 20  20 20 20 ed 78 0d 19 e6  |y....      .x...|
00003fa0  09 20 20 20 20 cd 0d 19  f0 19 20 20 20 20 6e 6c  |.    .....    nl|
00003fb0  64 69 73 74 6c 61 73 74  78 25 3d 78 25 2f 32 0d  |distlastx%=x%/2.|
00003fc0  19 fa 1d 20 20 20 20 6e  6c 64 69 73 74 6c 61 73  |...    nldistlas|
00003fd0  74 79 25 3d 32 35 36 2b  79 25 2f 32 0d 1a 04 1a  |ty%=256+y%/2....|
00003fe0  20 20 20 20 e7 20 73 78  3e 65 78 20 8c 20 c8 94  |    . sx>ex . ..|
00003ff0  20 73 78 2c 65 78 0d 1a  0e 1a 20 20 20 20 e7 20  | sx,ex....    . |
00004000  73 79 3e 65 79 20 8c 20  c8 94 20 73 79 2c 65 79  |sy>ey . .. sy,ey|
00004010  0d 1a 18 39 20 20 20 20  c8 99 22 57 69 6d 70 5f  |...9    .."Wimp_|
00004020  46 6f 72 63 65 52 65 64  72 61 77 22 2c 77 6e 6c  |ForceRedraw",wnl|
00004030  64 69 73 74 68 25 2c 73  78 2a 32 2c 2d 35 31 32  |disth%,sx*2,-512|
00004040  2c 65 78 2a 32 2b 32 2c  30 0d 1a 22 07 20 20 cd  |,ex*2+2,0..".  .|
00004050  0d 1a 2c 05 cd 0d 1a 36  05 cd 0d 1a 40 05 e1 0d  |..,....6....@...|
00004060  1a 4a 04 0d 1a 54 10 dd  f2 53 74 61 74 73 43 6c  |.J...T...StatsCl|
00004070  69 63 6b 0d 1a 5e 14 e7  20 70 6f 6c 6c 65 64 62  |ick..^.. polledb|
00004080  25 21 38 3c 38 20 8c 0d  1a 68 35 20 20 e7 20 70  |%!8<8 ...h5  . p|
00004090  6f 6c 6c 65 64 62 25 21  31 36 3d 34 20 8c 20 73  |olledb%!16=4 . s|
000040a0  61 6d 74 79 70 65 25 3d  30 3a f2 53 65 6e 64 53  |amtype%=0:.SendS|
000040b0  46 58 45 44 28 26 39 61  62 63 30 29 0d 1a 72 35  |FXED(&9abc0)..r5|
000040c0  20 20 e7 20 70 6f 6c 6c  65 64 62 25 21 31 36 3d  |  . polledb%!16=|
000040d0  35 20 8c 20 73 61 6d 74  79 70 65 25 3d 31 3a f2  |5 . samtype%=1:.|
000040e0  53 65 6e 64 53 46 58 45  44 28 26 39 61 62 63 31  |SendSFXED(&9abc1|
000040f0  29 0d 1a 7c 35 20 20 e7  20 70 6f 6c 6c 65 64 62  |)..|5  . polledb|
00004100  25 21 31 36 3d 36 20 8c  20 73 61 6d 74 79 70 65  |%!16=6 . samtype|
00004110  25 3d 32 3a f2 53 65 6e  64 53 46 58 45 44 28 26  |%=2:.SendSFXED(&|
00004120  39 61 62 63 32 29 0d 1a  86 05 cd 0d 1a 90 05 e1  |9abc2)..........|
00004130  0d 1a 9a 04 0d 1a a4 13  dd f2 53 65 6e 64 53 46  |..........SendSF|
00004140  58 45 44 28 4d 25 29 0d  1a ae 11 48 25 3d a4 47  |XED(M%)....H%=.G|
00004150  65 74 53 46 58 45 44 48  0d 1a b8 0c e7 20 48 25  |etSFXEDH..... H%|
00004160  3d 30 20 8c 0d 1a c2 26  20 20 f2 52 65 70 6f 72  |=0 ....&  .Repor|
00004170  74 45 72 72 28 22 53 46  58 45 44 20 6e 6f 74 20  |tErr("SFXED not |
00004180  70 72 65 73 65 6e 74 2e  22 29 0d 1a cc 05 cc 0d  |present.")......|
00004190  1a d6 11 20 20 74 65 6d  70 25 21 30 3d 32 35 36  |...  temp%!0=256|
000041a0  0d 1a e0 0f 20 20 74 65  6d 70 25 21 34 3d 30 0d  |....  temp%!4=0.|
000041b0  1a ea 0f 20 20 74 65 6d  70 25 21 38 3d 30 0d 1a  |...  temp%!8=0..|
000041c0  f4 10 20 20 74 65 6d 70  25 21 31 32 3d 30 0d 1a  |..  temp%!12=0..|
000041d0  fe 11 20 20 74 65 6d 70  25 21 31 36 3d 4d 25 0d  |..  temp%!16=M%.|
000041e0  1b 08 26 20 20 c8 99 22  57 69 6d 70 5f 53 65 6e  |..&  .."Wimp_Sen|
000041f0  64 4d 65 73 73 61 67 65  22 2c 31 37 2c 74 65 6d  |dMessage",17,tem|
00004200  70 25 2c 48 25 0d 1b 12  05 cd 0d 1b 1c 05 e1 0d  |p%,H%...........|
00004210  1b 26 04 0d 1b 30 12 dd  f2 4d 42 53 74 72 69 6e  |.&...0...MBStrin|
00004220  67 28 73 25 29 0d 1b 3a  15 c8 95 20 3f 73 25 3e  |g(s%)..:... ?s%>|
00004230  33 31 20 73 25 2b 3d 31  3a ce 0d 1b 44 0a 3f 73  |31 s%+=1:...D.?s|
00004240  25 3d 31 33 0d 1b 4e 05  e1 0d 1b 58 04 0d 1b 62  |%=13..N....X...b|
00004250  0e dd f2 44 61 74 61 53  61 76 65 0d 1b 6c 19 e7  |...DataSave..l..|
00004260  20 6d 65 73 73 62 6b 25  21 34 3c 3e 74 61 73 6b  | messbk%!4<>task|
00004270  68 25 20 8c 0d 1b 76 28  20 20 66 69 6c 65 74 6f  |h% ...v(  fileto|
00004280  6c 6f 61 64 32 24 3d a4  53 74 72 69 70 28 24 28  |load2$=.Strip($(|
00004290  6d 65 73 73 62 6b 25 2b  34 34 29 29 0d 1b 80 13  |messbk%+44))....|
000042a0  20 20 6d 65 73 73 62 6b  25 21 30 3d 32 35 36 0d  |  messbk%!0=256.|
000042b0  1b 8a 27 20 20 24 28 6d  65 73 73 62 6b 25 2b 34  |..'  $(messbk%+4|
000042c0  34 29 3d 22 3c 57 69 6d  70 24 53 63 72 61 70 3e  |4)="<Wimp$Scrap>|
000042d0  22 2b bd 28 30 29 0d 1b  94 1a 20 20 6d 65 73 73  |"+.(0)....  mess|
000042e0  62 6b 25 21 31 32 3d 6d  65 73 73 62 6b 25 21 38  |bk%!12=messbk%!8|
000042f0  0d 1b 9e 12 20 20 6d 65  73 73 62 6b 25 21 31 36  |....  messbk%!16|
00004300  3d 32 0d 1b a8 13 20 20  6d 65 73 73 62 6b 25 21  |=2....  messbk%!|
00004310  33 36 3d 2d 31 0d 1b b2  2f 20 20 c8 99 22 57 69  |36=-1.../  .."Wi|
00004320  6d 70 5f 53 65 6e 64 4d  65 73 73 61 67 65 22 2c  |mp_SendMessage",|
00004330  31 37 2c 6d 65 73 73 62  6b 25 2c 6d 65 73 73 62  |17,messbk%,messb|
00004340  6b 25 21 34 0d 1b bc 05  cd 0d 1b c6 05 e1 0d 1b  |k%!4............|
00004350  d0 04 0d 1b da 0d dd f2  53 61 76 65 41 63 6b 0d  |........SaveAck.|
00004360  1b e4 15 e7 20 73 61 76  65 74 79 70 65 25 3c 3e  |.... savetype%<>|
00004370  2d 31 20 8c 0d 1b ee 14  20 20 c8 8e 20 73 61 76  |-1 .....  .. sav|
00004380  65 74 79 70 65 25 20 ca  0d 1b f8 1f 20 20 20 20  |etype% .....    |
00004390  c9 20 30 3a 74 65 6d 70  25 21 30 3d 77 73 61 76  |. 0:temp%!0=wsav|
000043a0  65 61 73 73 68 68 25 0d  1c 02 07 20 20 cb 0d 1c  |easshh%....  ...|
000043b0  0c 0f 20 20 74 65 6d 70  25 21 34 3d 31 0d 1c 16  |..  temp%!4=1...|
000043c0  22 20 20 c8 99 22 57 69  6d 70 5f 47 65 74 49 63  |"  .."Wimp_GetIc|
000043d0  6f 6e 53 74 61 74 65 22  2c 2c 74 65 6d 70 25 0d  |onState",,temp%.|
000043e0  1c 20 1c 20 20 f2 4d 42  53 74 72 69 6e 67 28 70  |. .  .MBString(p|
000043f0  6f 6c 6c 65 64 62 25 2b  34 34 29 0d 1c 2a 23 20  |olledb%+44)..*# |
00004400  20 24 28 21 28 74 65 6d  70 25 2b 32 38 29 29 3d  | $(!(temp%+28))=|
00004410  24 28 70 6f 6c 6c 65 64  62 25 2b 34 34 29 0d 1c  |$(polledb%+44)..|
00004420  34 17 20 20 66 24 3d 24  28 70 6f 6c 6c 65 64 62  |4.  f$=$(polledb|
00004430  25 2b 34 34 29 0d 1c 3e  14 20 20 c8 8e 20 73 61  |%+44)..>.  .. sa|
00004440  76 65 74 79 70 65 25 20  ca 0d 1c 48 17 20 20 20  |vetype% ...H.   |
00004450  20 c9 20 30 3a f2 53 61  76 65 53 68 28 66 24 29  | . 0:.SaveSh(f$)|
00004460  0d 1c 52 07 20 20 cb 0d  1c 5c 14 20 20 e7 20 66  |..R.  ...\.  . f|
00004470  25 3c 3e 30 20 8c 20 d9  23 66 25 0d 1c 66 12 20  |%<>0 . .#f%..f. |
00004480  20 73 61 76 65 74 79 70  65 25 3d 2d 31 0d 1c 70  | savetype%=-1..p|
00004490  1a 20 20 6d 65 73 73 62  6b 25 21 31 32 3d 6d 65  |.  messbk%!12=me|
000044a0  73 73 62 6b 25 21 38 0d  1c 7a 12 20 20 6d 65 73  |ssbk%!8..z.  mes|
000044b0  73 62 6b 25 21 31 36 3d  33 0d 1c 84 2f 20 20 c8  |sbk%!16=3.../  .|
000044c0  99 22 57 69 6d 70 5f 53  65 6e 64 4d 65 73 73 61  |."Wimp_SendMessa|
000044d0  67 65 22 2c 31 37 2c 6d  65 73 73 62 6b 25 2c 6d  |ge",17,messbk%,m|
000044e0  65 73 73 62 6b 25 21 34  0d 1c 8e 05 cd 0d 1c 98  |essbk%!4........|
000044f0  05 e1 0d 1c a2 04 0d 1c  ac 0e dd f2 44 61 74 61  |............Data|
00004500  4c 6f 61 64 0d 1c b6 14  c8 8e 20 70 6f 6c 6c 65  |Load...... polle|
00004510  64 62 25 21 32 30 20 ca  0d 1c c0 1d 20 20 c9 20  |db%!20 .....  . |
00004520  77 77 6f 72 6b 68 25 2c  2d 32 3a f2 4c 6f 61 64  |wworkh%,-2:.Load|
00004530  53 68 65 65 74 0d 1c ca  1b 20 20 c9 20 77 69 6e  |Sheet....  . win|
00004540  70 75 74 68 25 3a f2 4c  6f 61 64 49 6e 70 75 74  |puth%:.LoadInput|
00004550  0d 1c d4 05 cb 0d 1c de  05 e1 0d 1c e8 04 0d 1c  |................|
00004560  f2 0e dd f2 44 61 74 61  4f 70 65 6e 0d 1c fc 18  |....DataOpen....|
00004570  e7 20 70 6f 6c 6c 65 64  62 25 21 34 30 3d 26 37  |. polledb%!40=&7|
00004580  38 61 20 8c 0d 1d 06 10  20 20 f2 4c 6f 61 64 53  |8a .....  .LoadS|
00004590  68 65 65 74 0d 1d 10 13  20 20 6d 65 73 73 62 6b  |heet....  messbk|
000045a0  25 21 30 3d 32 35 36 0d  1d 1a 1a 20 20 6d 65 73  |%!0=256....  mes|
000045b0  73 62 6b 25 21 31 32 3d  6d 65 73 73 62 6b 25 21  |sbk%!12=messbk%!|
000045c0  38 0d 1d 24 2f 20 20 c8  99 22 57 69 6d 70 5f 53  |8..$/  .."Wimp_S|
000045d0  65 6e 64 4d 65 73 73 61  67 65 22 2c 31 37 2c 6d  |endMessage",17,m|
000045e0  65 73 73 62 6b 25 2c 6d  65 73 73 62 6b 25 21 34  |essbk%,messbk%!4|
000045f0  0d 1d 2e 05 cd 0d 1d 38  05 e1 0d 1d 42 04 0d 1d  |.......8....B...|
00004600  4c 0f dd f2 4c 6f 61 64  49 6e 70 75 74 0d 1d 56  |L...LoadInput..V|
00004610  07 ea 20 85 0d 1d 60 1a  ee 20 85 20 ea 20 f2 52  |.. ...`.. . . .R|
00004620  65 70 6f 72 74 45 72 72  28 f6 24 29 3a e1 0d 1d  |eportErr(.$):...|
00004630  6a 10 f2 4d 6f 64 54 69  74 6c 65 28 30 29 0d 1d  |j..ModTitle(0)..|
00004640  74 1a f2 4d 42 53 74 72  69 6e 67 28 70 6f 6c 6c  |t..MBString(poll|
00004650  65 64 62 25 2b 34 34 29  0d 1d 7e 1d 24 28 69 6e  |edb%+44)..~.$(in|
00004660  70 70 74 72 25 29 3d 24  28 70 6f 6c 6c 65 64 62  |pptr%)=$(polledb|
00004670  25 2b 34 34 29 0d 1d 88  14 74 65 6d 70 25 21 30  |%+44)....temp%!0|
00004680  3d 77 69 6e 70 75 74 68  25 0d 1d 92 0d 74 65 6d  |=winputh%....tem|
00004690  70 25 21 34 3d 31 0d 1d  9c 20 c8 99 22 57 69 6d  |p%!4=1... .."Wim|
000046a0  70 5f 47 65 74 49 63 6f  6e 53 74 61 74 65 22 2c  |p_GetIconState",|
000046b0  2c 74 65 6d 70 25 0d 1d  a6 1e 24 28 74 65 6d 70  |,temp%....$(temp|
000046c0  25 21 32 38 29 3d 24 28  70 6f 6c 6c 65 64 62 25  |%!28)=$(polledb%|
000046d0  2b 34 34 29 0d 1d b0 18  66 25 3d 8e 28 24 28 70  |+44)....f%=.($(p|
000046e0  6f 6c 6c 65 64 62 25 2b  34 34 29 29 0d 1d ba 14  |olledb%+44))....|
000046f0  69 6e 70 70 74 72 25 21  32 36 38 3d a2 23 66 25  |inpptr%!268=.#f%|
00004700  0d 1d c4 08 d9 23 66 25  0d 1d ce 0d 74 65 6d 70  |.....#f%....temp|
00004710  25 21 34 3d 38 0d 1d d8  20 c8 99 22 57 69 6d 70  |%!4=8... .."Wimp|
00004720  5f 47 65 74 49 63 6f 6e  53 74 61 74 65 22 2c 2c  |_GetIconState",,|
00004730  74 65 6d 70 25 0d 1d e2  0b 40 25 3d 26 39 30 61  |temp%....@%=&90a|
00004740  0d 1d ec 1e 24 28 74 65  6d 70 25 21 32 38 29 3d  |....$(temp%!28)=|
00004750  c3 28 69 6e 70 70 74 72  25 21 32 36 38 29 0d 1d  |.(inpptr%!268)..|
00004760  f6 10 40 25 3d 26 30 31  30 32 30 61 30 30 0d 1e  |..@%=&01020a00..|
00004770  00 30 c8 99 22 57 69 6d  70 5f 46 6f 72 63 65 52  |.0.."Wimp_ForceR|
00004780  65 64 72 61 77 22 2c 77  69 6e 70 75 74 68 25 2c  |edraw",winputh%,|
00004790  30 2c 2d 34 30 30 30 2c  34 30 30 30 2c 30 0d 1e  |0,-4000,4000,0..|
000047a0  0a 05 e1 0d 1e 14 04 0d  1e 1e 0f dd f2 4c 6f 61  |.............Loa|
000047b0  64 53 68 65 65 74 0d 1e  28 07 ea 20 85 0d 1e 32  |dSheet..(.. ...2|
000047c0  1a ee 20 85 20 ea 20 f2  52 65 70 6f 72 74 45 72  |.. . . .ReportEr|
000047d0  72 28 f6 24 29 3a e1 0d  1e 3c 19 e7 20 70 6f 6c  |r(.$):...<.. pol|
000047e0  6c 65 64 62 25 21 34 30  3c 3e 26 37 38 61 20 8c  |ledb%!40<>&78a .|
000047f0  0d 1e 46 20 20 20 f2 52  65 70 6f 72 74 45 72 72  |..F   .ReportErr|
00004800  28 22 4e 6f 74 20 61 20  73 68 65 65 74 2e 22 29  |("Not a sheet.")|
00004810  0d 1e 50 05 cc 0d 1e 5a  1c 20 20 f2 4d 42 53 74  |..P....Z.  .MBSt|
00004820  72 69 6e 67 28 70 6f 6c  6c 65 64 62 25 2b 34 34  |ring(polledb%+44|
00004830  29 0d 1e 64 20 20 20 66  69 6c 65 74 6f 6c 6f 61  |)..d   filetoloa|
00004840  64 24 3d 24 28 70 6f 6c  6c 65 64 62 25 2b 34 34  |d$=$(polledb%+44|
00004850  29 0d 1e 6e 18 20 20 e7  20 73 68 65 65 74 73 61  |)..n.  . sheetsa|
00004860  76 65 64 25 3d 2d 31 20  8c 0d 1e 78 1c 20 20 20  |ved%=-1 ...x.   |
00004870  20 f2 4c 6f 61 64 53 68  28 66 69 6c 65 74 6f 6c  | .LoadSh(filetol|
00004880  6f 61 64 24 29 0d 1e 82  07 20 20 cc 0d 1e 8c 5c  |oad$)....  ....\|
00004890  20 20 20 20 41 25 3d a4  43 6f 6e 66 69 72 6d 28  |    A%=.Confirm(|
000048a0  22 53 68 65 65 74 20 68  61 73 20 62 65 65 6e 20  |"Sheet has been |
000048b0  6d 6f 64 69 66 69 65 64  2e 20 41 72 65 20 79 6f  |modified. Are yo|
000048c0  75 20 73 75 72 65 20 79  6f 75 20 77 61 6e 74 20  |u sure you want |
000048d0  74 6f 20 6c 6f 61 64 20  61 6e 6f 74 68 65 72 20  |to load another |
000048e0  73 68 65 65 74 3f 22 29  0d 1e 96 25 20 20 20 20  |sheet?")...%    |
000048f0  e7 20 41 25 3d 31 20 8c  20 f2 4c 6f 61 64 53 68  |. A%=1 . .LoadSh|
00004900  28 66 69 6c 65 74 6f 6c  6f 61 64 24 29 0d 1e a0  |(filetoload$)...|
00004910  07 20 20 cd 0d 1e aa 05  cd 0d 1e b4 05 e1 0d 1e  |.  .............|
00004920  be 04 0d 1e c8 10 dd f2  4c 6f 61 64 53 68 28 66  |........LoadSh(f|
00004930  24 29 0d 1e d2 11 20 20  f2 52 65 6d 41 6c 6c 44  |$)....  .RemAllD|
00004940  72 61 67 0d 1e dc 0c 20  20 f2 43 6c 65 61 72 0d  |rag....  .Clear.|
00004950  1e e6 14 20 20 66 69 24  3d a4 53 74 72 69 70 28  |...  fi$=.Strip(|
00004960  66 24 29 0d 1e f0 14 20  20 73 68 65 65 74 6e 61  |f$)....  sheetna|
00004970  6d 65 24 3d 66 69 24 0d  1e fa 0e 20 20 66 25 3d  |me$=fi$....  f%=|
00004980  8e 28 66 24 29 0d 1f 04  1e 20 20 c8 99 22 4f 53  |.(f$)....  .."OS|
00004990  5f 47 42 50 42 22 2c 34  2c 66 25 2c 74 65 6d 70  |_GBPB",4,f%,temp|
000049a0  25 2c 34 0d 1f 0e 1b 20  20 e7 20 74 65 6d 70 25  |%,4....  . temp%|
000049b0  21 30 3d 26 34 64 35 38  34 36 35 33 20 8c 0d 1f  |!0=&4d584653 ...|
000049c0  18 21 20 20 20 20 c8 99  22 4f 53 5f 47 42 50 42  |.!    .."OS_GBPB|
000049d0  22 2c 34 2c 66 25 2c 74  65 6d 70 25 2c 32 30 0d  |",4,f%,temp%,20.|
000049e0  1f 22 19 20 20 20 20 74  65 6d 70 32 25 21 30 3d  |.".    temp2%!0=|
000049f0  77 73 74 61 74 73 68 25  0d 1f 2c 12 20 20 20 20  |wstatsh%..,.    |
00004a00  74 65 6d 70 32 25 21 34  3d 38 0d 1f 36 25 20 20  |temp2%!4=8..6%  |
00004a10  20 20 c8 99 22 57 69 6d  70 5f 47 65 74 49 63 6f  |  .."Wimp_GetIco|
00004a20  6e 53 74 61 74 65 22 2c  2c 74 65 6d 70 32 25 0d  |nState",,temp2%.|
00004a30  1f 40 1b 20 20 20 20 24  28 74 65 6d 70 32 25 21  |.@.    $(temp2%!|
00004a40  32 38 29 3d 24 74 65 6d  70 25 0d 1f 4a 20 20 20  |28)=$temp%..J   |
00004a50  20 20 c8 99 22 4f 53 5f  47 42 50 42 22 2c 34 2c  |  .."OS_GBPB",4,|
00004a60  66 25 2c 74 65 6d 70 25  2c 34 0d 1f 54 07 20 20  |f%,temp%,4..T.  |
00004a70  cd 0d 1f 5e 25 20 20 e7  20 74 65 6d 70 25 21 30  |...^%  . temp%!0|
00004a80  3e 39 39 39 39 39 20 8c  20 74 65 6d 70 25 21 30  |>99999 . temp%!0|
00004a90  3d 39 39 39 39 39 0d 1f  68 17 20 20 74 65 6d 70  |=99999..h.  temp|
00004aa0  32 25 21 30 3d 77 73 74  61 74 73 68 25 0d 1f 72  |2%!0=wstatsh%..r|
00004ab0  10 20 20 74 65 6d 70 32  25 21 34 3d 33 0d 1f 7c  |.  temp2%!4=3..||
00004ac0  23 20 20 c8 99 22 57 69  6d 70 5f 47 65 74 49 63  |#  .."Wimp_GetIc|
00004ad0  6f 6e 53 74 61 74 65 22  2c 2c 74 65 6d 70 32 25  |onState",,temp2%|
00004ae0  0d 1f 86 1d 20 20 24 28  74 65 6d 70 32 25 21 32  |....  $(temp2%!2|
00004af0  38 29 3d c3 28 74 65 6d  70 25 21 30 29 0d 1f 90  |8)=.(temp%!0)...|
00004b00  1e 20 20 c8 99 22 4f 53  5f 47 42 50 42 22 2c 34  |.  .."OS_GBPB",4|
00004b10  2c 66 25 2c 74 65 6d 70  25 2c 34 0d 1f 9a 10 20  |,f%,temp%,4.... |
00004b20  20 69 25 3d 74 65 6d 70  25 21 30 0d 1f a4 0f 20  | i%=temp%!0.... |
00004b30  20 c8 95 20 69 25 3c 3e  2d 31 0d 1f ae 22 20 20  | .. i%<>-1..."  |
00004b40  20 20 c8 99 22 4f 53 5f  47 42 50 42 22 2c 34 2c  |  .."OS_GBPB",4,|
00004b50  66 25 2c 74 65 6d 70 32  25 2c 33 32 0d 1f b8 20  |f%,temp2%,32... |
00004b60  20 20 20 20 c8 99 22 4f  53 5f 47 42 50 42 22 2c  |    .."OS_GBPB",|
00004b70  34 2c 66 25 2c 74 65 6d  70 25 2c 34 0d 1f c2 1a  |4,f%,temp%,4....|
00004b80  20 20 20 20 6c 25 3d a4  41 6c 6c 6f 63 28 74 65  |    l%=.Alloc(te|
00004b90  6d 70 25 21 30 29 0d 1f  cc 14 20 20 20 20 74 65  |mp%!0)....    te|
00004ba0  6d 70 32 25 21 31 32 3d  6c 25 0d 1f d6 20 20 20  |mp2%!12=l%...   |
00004bb0  20 20 74 65 6d 70 32 25  21 32 38 3d 28 74 65 6d  |  temp2%!28=(tem|
00004bc0  70 32 25 21 32 38 29 80  26 66 0d 1f e0 23 20 20  |p2%!28).&f...#  |
00004bd0  20 20 c8 99 22 4f 53 5f  47 42 50 42 22 2c 34 2c  |  .."OS_GBPB",4,|
00004be0  66 25 2c 6c 25 2c 74 65  6d 70 25 21 30 0d 1f ea  |f%,l%,temp%!0...|
00004bf0  17 20 20 20 20 74 65 6d  70 25 21 30 3d 77 77 6f  |.    temp%!0=wwo|
00004c00  72 6b 68 25 0d 1f f4 18  20 20 20 20 74 65 6d 70  |rkh%....    temp|
00004c10  25 21 34 3d 74 65 6d 70  32 25 21 34 0d 1f fe 18  |%!4=temp2%!4....|
00004c20  20 20 20 20 74 65 6d 70  25 21 38 3d 74 65 6d 70  |    temp%!8=temp|
00004c30  32 25 21 38 0d 20 08 1c  20 20 20 20 74 65 6d 70  |2%!8. ..    temp|
00004c40  25 21 31 32 3d 74 65 6d  70 32 25 21 34 2b 39 32  |%!12=temp2%!4+92|
00004c50  0d 20 12 1c 20 20 20 20  74 65 6d 70 25 21 31 36  |. ..    temp%!16|
00004c60  3d 74 65 6d 70 32 25 21  38 2b 35 32 0d 20 1c 32  |=temp2%!8+52. .2|
00004c70  20 20 20 20 74 65 6d 70  25 21 32 30 3d 25 30 30  |    temp%!20=%00|
00004c80  30 30 31 30 30 30 30 30  30 30 30 30 30 30 31 30  |0010000000000010|
00004c90  31 30 30 30 30 30 30 30  30 31 31 30 31 30 0d 20  |10000000011010. |
00004ca0  26 15 20 20 20 20 c8 8e  20 74 65 6d 70 32 25 21  |&.    .. temp2%!|
00004cb0  30 20 ca 0d 20 30 16 20  20 20 20 20 20 c9 20 30  |0 .. 0.      . 0|
00004cc0  3a 69 24 3d 22 76 63 6f  22 0d 20 3a 18 20 20 20  |:i$="vco". :.   |
00004cd0  20 20 20 c9 20 31 3a 69  24 3d 22 6e 6f 69 73 65  |   . 1:i$="noise|
00004ce0  22 0d 20 44 15 20 20 20  20 20 20 c9 20 32 3a 69  |". D.      . 2:i|
00004cf0  24 3d 22 65 67 22 0d 20  4e 19 20 20 20 20 20 20  |$="eg". N.      |
00004d00  c9 20 33 3a 69 24 3d 22  66 69 6c 74 6c 6f 22 0d  |. 3:i$="filtlo".|
00004d10  20 58 19 20 20 20 20 20  20 c9 20 34 3a 69 24 3d  | X.      . 4:i$=|
00004d20  22 66 69 6c 74 68 69 22  0d 20 62 18 20 20 20 20  |"filthi". b.    |
00004d30  20 20 c9 20 35 3a 69 24  3d 22 63 6f 6e 73 74 22  |  . 5:i$="const"|
00004d40  0d 20 6c 17 20 20 20 20  20 20 c9 20 36 3a 69 24  |. l.      . 6:i$|
00004d50  3d 22 6d 75 6c 74 22 0d  20 76 18 20 20 20 20 20  |="mult". v.     |
00004d60  20 c9 20 37 3a 69 24 3d  22 6d 75 6c 74 63 22 0d  | . 7:i$="multc".|
00004d70  20 80 16 20 20 20 20 20  20 c9 20 38 3a 69 24 3d  | ..      . 8:i$=|
00004d80  22 61 64 64 22 0d 20 8a  17 20 20 20 20 20 20 c9  |"add". ..      .|
00004d90  20 31 33 3a 69 24 3d 22  73 75 62 22 0d 20 94 19  | 13:i$="sub". ..|
00004da0  20 20 20 20 20 20 c9 20  31 34 3a 69 24 3d 22 70  |      . 14:i$="p|
00004db0  75 6c 73 65 22 0d 20 9e  19 20 20 20 20 20 20 c9  |ulse". ..      .|
00004dc0  20 31 35 3a 69 24 3d 22  64 65 6c 61 79 22 0d 20  | 15:i$="delay". |
00004dd0  a8 19 20 20 20 20 20 20  c9 20 39 3a 69 24 3d 22  |..      . 9:i$="|
00004de0  6f 75 74 70 75 74 22 0d  20 b2 19 20 20 20 20 20  |output". ..     |
00004df0  20 c9 20 31 36 3a 69 24  3d 22 69 6e 70 75 74 22  | . 16:i$="input"|
00004e00  0d 20 bc 1b 20 20 20 20  20 20 c9 20 31 37 3a 69  |. ..      . 17:i|
00004e10  24 3d 22 73 61 6d 68 6f  6c 64 22 0d 20 c6 1a 20  |$="samhold". .. |
00004e20  20 20 20 20 20 c9 20 31  38 3a 69 24 3d 22 6e 6c  |     . 18:i$="nl|
00004e30  64 69 73 74 22 0d 20 d0  09 20 20 20 20 cb 0d 20  |dist". ..    .. |
00004e40  da 16 20 20 20 20 24 28  74 65 6d 70 25 2b 32 34  |..    $(temp%+24|
00004e50  29 3d 69 24 0d 20 e4 26  20 20 20 20 c8 99 22 57  |)=i$. .&    .."W|
00004e60  69 6d 70 5f 43 72 65 61  74 65 49 63 6f 6e 22 2c  |imp_CreateIcon",|
00004e70  2c 74 65 6d 70 25 b8 69  68 25 0d 20 ee 18 20 20  |,temp%.ih%. ..  |
00004e80  20 20 6c 69 74 72 61 6e  73 25 28 69 25 29 3d 69  |  litrans%(i%)=i|
00004e90  68 25 0d 20 f8 12 20 20  20 20 e3 54 25 3d 30 b8  |h%. ..    .T%=0.|
00004ea0  32 38 88 34 0d 21 02 29  20 20 20 20 20 20 69 63  |28.4.!.)      ic|
00004eb0  6f 6e 69 6e 66 6f 25 21  28 69 68 25 2a 33 32 2b  |oninfo%!(ih%*32+|
00004ec0  54 25 29 3d 74 65 6d 70  32 25 21 54 25 0d 21 0c  |T%)=temp2%!T%.!.|
00004ed0  0b 20 20 20 20 ed 54 25  0d 21 16 20 20 20 20 20  |.    .T%.!.     |
00004ee0  c8 99 22 4f 53 5f 47 42  50 42 22 2c 34 2c 66 25  |.."OS_GBPB",4,f%|
00004ef0  2c 74 65 6d 70 25 2c 34  0d 21 20 12 20 20 20 20  |,temp%,4.! .    |
00004f00  69 25 3d 74 65 6d 70 25  21 30 0d 21 2a 07 20 20  |i%=temp%!0.!*.  |
00004f10  ce 0d 21 34 17 20 20 e3  54 25 3d 30 b8 6d 61 78  |..!4.  .T%=0.max|
00004f20  69 63 6f 6e 73 25 2d 31  0d 21 3e 21 20 20 20 20  |icons%-1.!>!    |
00004f30  e7 20 69 63 6f 6e 69 6e  66 6f 25 21 28 54 25 2a  |. iconinfo%!(T%*|
00004f40  33 32 29 3c 3e 2d 31 20  8c 0d 21 48 5a 20 20 20  |32)<>-1 ..!HZ   |
00004f50  20 20 20 e7 20 69 63 6f  6e 69 6e 66 6f 25 21 28  |   . iconinfo%!(|
00004f60  54 25 2a 33 32 2b 31 36  29 3c 3e 2d 31 20 8c 20  |T%*32+16)<>-1 . |
00004f70  69 63 6f 6e 69 6e 66 6f  25 21 28 54 25 2a 33 32  |iconinfo%!(T%*32|
00004f80  2b 31 36 29 3d 6c 69 74  72 61 6e 73 25 28 69 63  |+16)=litrans%(ic|
00004f90  6f 6e 69 6e 66 6f 25 21  28 54 25 2a 33 32 2b 31  |oninfo%!(T%*32+1|
00004fa0  36 29 29 0d 21 52 5a 20  20 20 20 20 20 e7 20 69  |6)).!RZ      . i|
00004fb0  63 6f 6e 69 6e 66 6f 25  21 28 54 25 2a 33 32 2b  |coninfo%!(T%*32+|
00004fc0  32 30 29 3c 3e 2d 31 20  8c 20 69 63 6f 6e 69 6e  |20)<>-1 . iconin|
00004fd0  66 6f 25 21 28 54 25 2a  33 32 2b 32 30 29 3d 6c  |fo%!(T%*32+20)=l|
00004fe0  69 74 72 61 6e 73 25 28  69 63 6f 6e 69 6e 66 6f  |itrans%(iconinfo|
00004ff0  25 21 28 54 25 2a 33 32  2b 32 30 29 29 0d 21 5c  |%!(T%*32+20)).!\|
00005000  09 20 20 20 20 cd 0d 21  66 09 20 20 ed 54 25 0d  |.    ..!f.  .T%.|
00005010  21 70 0a 20 20 d9 23 66  25 0d 21 7a 24 20 20 e7  |!p.  .#f%.!z$  .|
00005020  20 66 69 6c 65 74 6f 6c  6f 61 64 24 3d 22 3c 57  | filetoload$="<W|
00005030  69 6d 70 24 53 63 72 61  70 3e 22 20 8c 0d 21 84  |imp$Scrap>" ..!.|
00005040  20 20 20 20 20 ff 28 22  44 65 6c 65 74 65 20 22  |     .("Delete "|
00005050  2b 66 69 6c 65 74 6f 6c  6f 61 64 24 29 0d 21 8e  |+filetoload$).!.|
00005060  17 20 20 20 20 66 24 3d  66 69 6c 65 74 6f 6c 6f  |.    f$=filetolo|
00005070  61 64 32 24 0d 21 98 07  20 20 cd 0d 21 a2 15 20  |ad2$.!..  ..!.. |
00005080  20 24 28 77 77 6f 72 6b  25 21 37 32 29 3d 66 24  | $(wwork%!72)=f$|
00005090  0d 21 ac 14 20 20 73 68  65 65 74 73 61 76 65 64  |.!..  sheetsaved|
000050a0  25 3d 2d 31 0d 21 b6 15  20 20 74 65 6d 70 25 21  |%=-1.!..  temp%!|
000050b0  30 3d 77 77 6f 72 6b 68  25 0d 21 c0 19 20 20 74  |0=wworkh%.!..  t|
000050c0  65 6d 70 25 21 30 3d 77  73 61 76 65 61 73 73 68  |emp%!0=wsaveassh|
000050d0  68 25 0d 21 ca 0f 20 20  74 65 6d 70 25 21 34 3d  |h%.!..  temp%!4=|
000050e0  31 0d 21 d4 22 20 20 c8  99 22 57 69 6d 70 5f 47  |1.!."  .."Wimp_G|
000050f0  65 74 49 63 6f 6e 53 74  61 74 65 22 2c 2c 74 65  |etIconState",,te|
00005100  6d 70 25 0d 21 de 14 20  20 24 28 74 65 6d 70 25  |mp%.!..  $(temp%|
00005110  21 32 38 29 3d 66 24 0d  21 e8 0f 20 20 f2 4f 70  |!28)=f$.!..  .Op|
00005120  65 6e 57 6f 72 6b 0d 21  f2 31 20 20 c8 99 22 57  |enWork.!.1  .."W|
00005130  69 6d 70 5f 46 6f 72 63  65 52 65 64 72 61 77 22  |imp_ForceRedraw"|
00005140  2c 77 77 6f 72 6b 68 25  2c 30 2c 2d 34 30 30 30  |,wworkh%,0,-4000|
00005150  2c 34 30 30 30 2c 30 0d  21 fc 32 20 20 c8 99 22  |,4000,0.!.2  .."|
00005160  57 69 6d 70 5f 46 6f 72  63 65 52 65 64 72 61 77  |Wimp_ForceRedraw|
00005170  22 2c 77 73 74 61 74 73  68 25 2c 30 2c 2d 34 30  |",wstatsh%,0,-40|
00005180  30 30 2c 34 30 30 30 2c  30 0d 22 06 05 e1 0d 22  |00,4000,0."...."|
00005190  10 04 0d 22 1a 10 dd a4  53 74 72 69 70 28 66 73  |..."....Strip(fs|
000051a0  24 29 0d 22 24 0b ea 20  66 25 2c 61 25 0d 22 2e  |$)."$.. f%,a%.".|
000051b0  08 66 25 3d 31 0d 22 38  08 61 25 3d 31 0d 22 42  |.f%=1."8.a%=1."B|
000051c0  13 c8 95 20 c1 66 73 24  2c 66 25 29 3c 3e 22 22  |... .fs$,f%)<>""|
000051d0  0d 22 4c 31 20 20 e7 20  c1 66 73 24 2c 66 25 2c  |."L1  . .fs$,f%,|
000051e0  31 29 3d 22 2e 22 20 84  20 c1 66 73 24 2c 66 25  |1)="." . .fs$,f%|
000051f0  2c 31 29 3d 22 3a 22 20  8c 20 61 25 3d 66 25 2b  |,1)=":" . a%=f%+|
00005200  31 0d 22 56 0b 20 20 66  25 2b 3d 31 0d 22 60 05  |1."V.  f%+=1."`.|
00005210  ce 0d 22 6a 0d 3d c1 66  73 24 2c 61 25 29 0d 22  |.."j.=.fs$,a%)."|
00005220  74 04 0d 22 7e 0a dd f2  49 6e 73 74 0d 22 88 09  |t.."~...Inst."..|
00005230  6e 24 3d 22 22 0d 22 92  1d 66 25 3d 8e 28 22 3c  |n$=""."..f%=.("<|
00005240  53 46 58 4d 24 44 69 72  3e 2e 69 64 64 61 74 61  |SFXM$Dir>.iddata|
00005250  22 29 0d 22 9c 0b 61 25  3d 9a 23 66 25 0d 22 a6  |")."..a%=.#f%.".|
00005260  0f 6e 24 3d 6e 24 2b bd  28 61 25 29 0d 22 b0 0b  |.n$=n$+.(a%)."..|
00005270  61 25 3d 9a 23 66 25 0d  22 ba 0f 6e 24 3d 6e 24  |a%=.#f%."..n$=n$|
00005280  2b bd 28 61 25 29 0d 22  c4 0b 61 25 3d 9a 23 66  |+.(a%)."..a%=.#f|
00005290  25 0d 22 ce 0f 6e 24 3d  6e 24 2b bd 28 61 25 29  |%."..n$=n$+.(a%)|
000052a0  0d 22 d8 0b 61 25 3d 9a  23 66 25 0d 22 e2 0f 6e  |."..a%=.#f%."..n|
000052b0  24 3d 6e 24 2b bd 28 61  25 29 0d 22 ec 46 e7 20  |$=n$+.(a%).".F. |
000052c0  6e 24 3c 3e 22 53 46 58  4d 22 20 8c 20 d9 23 66  |n$<>"SFXM" . .#f|
000052d0  25 3a f2 52 65 70 6f 72  74 45 72 72 28 22 50 6c  |%:.ReportErr("Pl|
000052e0  65 61 73 65 20 69 6e 73  74 61 6c 6c 20 53 46 58  |ease install SFX|
000052f0  4d 20 66 69 72 73 74 21  22 29 3a f2 51 75 69 74  |M first!"):.Quit|
00005300  0d 22 f6 0e 75 73 6e 61  6d 65 24 3d 22 22 0d 23  |."..usname$="".#|
00005310  00 0d 69 64 6e 75 6d 24  3d 22 22 0d 23 0a 0c 63  |..idnum$="".#..c|
00005320  68 65 63 6b 25 3d 30 0d  23 14 05 f5 0d 23 1e 0d  |heck%=0.#....#..|
00005330  20 20 61 25 3d 9a 23 66  25 0d 23 28 2b 20 20 e7  |  a%=.#f%.#(+  .|
00005340  20 61 25 3c 3e 30 20 8c  20 75 73 6e 61 6d 65 24  | a%<>0 . usname$|
00005350  3d 75 73 6e 61 6d 65 24  2b bd 28 61 25 20 82 20  |=usname$+.(a% . |
00005360  26 61 61 29 0d 23 32 18  20 20 63 68 65 63 6b 25  |&aa).#2.  check%|
00005370  3d 63 68 65 63 6b 25 20  82 20 61 25 0d 23 3c 0a  |=check% . a%.#<.|
00005380  fd 20 61 25 3d 30 0d 23  46 05 f5 0d 23 50 0d 20  |. a%=0.#F...#P. |
00005390  20 61 25 3d 9a 23 66 25  0d 23 5a 29 20 20 e7 20  | a%=.#f%.#Z)  . |
000053a0  61 25 3c 3e 30 20 8c 20  69 64 6e 75 6d 24 3d 69  |a%<>0 . idnum$=i|
000053b0  64 6e 75 6d 24 2b bd 28  61 25 20 82 20 26 61 61  |dnum$+.(a% . &aa|
000053c0  29 0d 23 64 18 20 20 63  68 65 63 6b 25 3d 63 68  |).#d.  check%=ch|
000053d0  65 63 6b 25 20 82 20 61  25 0d 23 6e 0a fd 20 61  |eck% . a%.#n.. a|
000053e0  25 3d 30 0d 23 78 0b 61  25 3d 9a 23 66 25 0d 23  |%=0.#x.a%=.#f%.#|
000053f0  82 08 d9 23 66 25 0d 23  8c 18 e7 20 61 25 3c 3e  |...#f%.#... a%<>|
00005400  63 68 65 63 6b 25 20 8c  20 f2 51 75 69 74 0d 23  |check% . .Quit.#|
00005410  96 13 74 65 6d 70 25 21  30 3d 77 69 6e 73 74 68  |..temp%!0=winsth|
00005420  25 0d 23 a0 0d 74 65 6d  70 25 21 34 3d 39 0d 23  |%.#..temp%!4=9.#|
00005430  aa 20 c8 99 22 57 69 6d  70 5f 47 65 74 49 63 6f  |. .."Wimp_GetIco|
00005440  6e 53 74 61 74 65 22 2c  2c 74 65 6d 70 25 0d 23  |nState",,temp%.#|
00005450  b4 17 24 28 74 65 6d 70  25 21 32 38 29 3d 75 73  |..$(temp%!28)=us|
00005460  6e 61 6d 65 24 0d 23 be  13 74 65 6d 70 25 21 30  |name$.#..temp%!0|
00005470  3d 77 69 6e 73 74 68 25  0d 23 c8 0e 74 65 6d 70  |=winsth%.#..temp|
00005480  25 21 34 3d 31 33 0d 23  d2 20 c8 99 22 57 69 6d  |%!4=13.#. .."Wim|
00005490  70 5f 47 65 74 49 63 6f  6e 53 74 61 74 65 22 2c  |p_GetIconState",|
000054a0  2c 74 65 6d 70 25 0d 23  dc 16 24 28 74 65 6d 70  |,temp%.#..$(temp|
000054b0  25 21 32 38 29 3d 69 64  6e 75 6d 24 0d 23 e6 13  |%!28)=idnum$.#..|
000054c0  74 65 6d 70 25 21 30 3d  77 69 6e 73 74 68 25 0d  |temp%!0=winsth%.|
000054d0  23 f0 22 c8 99 22 57 69  6d 70 5f 47 65 74 57 69  |#.".."Wimp_GetWi|
000054e0  6e 64 6f 77 53 74 61 74  65 22 2c 2c 74 65 6d 70  |ndowState",,temp|
000054f0  25 0d 23 fa 0f 74 65 6d  70 25 21 32 38 3d 2d 31  |%.#..temp%!28=-1|
00005500  0d 24 04 1e c8 99 22 57  69 6d 70 5f 4f 70 65 6e  |.$...."Wimp_Open|
00005510  57 69 6e 64 6f 77 22 2c  2c 74 65 6d 70 25 0d 24  |Window",,temp%.$|
00005520  0e 0f 69 6e 73 74 74 69  6d 65 25 3d 91 0d 24 18  |..insttime%=..$.|
00005530  10 69 6e 73 74 6f 70 65  6e 25 3d 2d 31 0d 24 22  |.instopen%=-1.$"|
00005540  05 e1 0d 24 2c 04 0d 24  36 10 dd f2 43 6f 6e 73  |...$,..$6...Cons|
00005550  74 43 6c 69 63 6b 0d 24  40 10 f2 4d 6f 64 54 69  |tClick.$@..ModTi|
00005560  74 6c 65 28 30 29 0d 24  4a 15 e7 20 70 6f 6c 6c  |tle(0).$J.. poll|
00005570  65 64 62 25 21 31 36 3d  32 20 8c 0d 24 54 19 20  |edb%!16=2 ..$T. |
00005580  20 74 65 6d 70 25 21 30  3d 77 63 6f 6e 73 74 61  | temp%!0=wconsta|
00005590  6e 74 68 25 0d 24 5e 0f  20 20 74 65 6d 70 25 21  |nth%.$^.  temp%!|
000055a0  34 3d 30 0d 24 68 22 20  20 c8 99 22 57 69 6d 70  |4=0.$h"  .."Wimp|
000055b0  5f 47 65 74 49 63 6f 6e  53 74 61 74 65 22 2c 2c  |_GetIconState",,|
000055c0  74 65 6d 70 25 0d 24 72  16 20 20 76 3d bb 28 24  |temp%.$r.  v=.($|
000055d0  28 74 65 6d 70 25 21 32  38 29 29 0d 24 7c 14 20  |(temp%!28)).$|. |
000055e0  20 e7 20 94 28 76 29 3e  33 32 37 36 37 20 8c 0d  | . .(v)>32767 ..|
000055f0  24 86 44 20 20 20 20 f2  52 65 70 6f 72 74 45 72  |$.D    .ReportEr|
00005600  72 28 22 4f 6e 6c 79 20  6e 75 6d 62 65 72 73 20  |r("Only numbers |
00005610  62 65 74 77 65 65 6e 20  2d 33 32 37 36 37 20 61  |between -32767 a|
00005620  6e 64 20 33 32 37 36 37  20 61 6c 6c 6f 77 65 64  |nd 32767 allowed|
00005630  2e 22 29 0d 24 90 07 20  20 cc 0d 24 9a 1b 20 20  |.").$..  ..$..  |
00005640  20 20 21 63 6f 6e 73 74  70 74 72 25 3d 26 31 30  |  !constptr%=&10|
00005650  30 30 30 2a 76 0d 24 a4  23 20 20 20 20 c8 99 22  |000*v.$.#    .."|
00005660  57 69 6d 70 5f 43 6c 6f  73 65 57 69 6e 64 6f 77  |Wimp_CloseWindow|
00005670  22 2c 2c 74 65 6d 70 25  0d 24 ae 13 20 20 20 20  |",,temp%.$..    |
00005680  63 6f 6e 73 74 70 74 72  25 3d 30 0d 24 b8 07 20  |constptr%=0.$.. |
00005690  20 cd 0d 24 c2 05 cd 0d  24 cc 05 e1 0d 24 d6 04  | ..$....$....$..|
000056a0  0d 24 e0 10 dd f2 49 6e  70 75 74 43 6c 69 63 6b  |.$....InputClick|
000056b0  0d 24 ea 10 f2 4d 6f 64  54 69 74 6c 65 28 30 29  |.$...ModTitle(0)|
000056c0  0d 24 f4 18 69 6e 70 74  79 70 65 25 3d 69 6e 70  |.$..inptype%=inp|
000056d0  70 74 72 25 21 32 35 36  0d 24 fe 15 e7 20 70 6f  |ptr%!256.$... po|
000056e0  6c 6c 65 64 62 25 21 31  36 3d 36 20 8c 0d 25 08  |lledb%!16=6 ..%.|
000056f0  16 20 20 74 65 6d 70 25  21 30 3d 77 69 6e 70 75  |.  temp%!0=winpu|
00005700  74 68 25 0d 25 12 21 20  20 c8 99 22 57 69 6d 70  |th%.%.!  .."Wimp|
00005710  5f 43 6c 6f 73 65 57 69  6e 64 6f 77 22 2c 2c 74  |_CloseWindow",,t|
00005720  65 6d 70 25 0d 25 1c 05  cd 0d 25 26 35 e7 20 70  |emp%.%....%&5. p|
00005730  6f 6c 6c 65 64 62 25 21  31 36 3d 33 20 8c 20 69  |olledb%!16=3 . i|
00005740  6e 70 74 79 70 65 25 3d  28 69 6e 70 74 79 70 65  |nptype%=(inptype|
00005750  25 80 26 66 66 66 66 66  66 66 63 29 2b 30 0d 25  |%.&fffffffc)+0.%|
00005760  30 35 e7 20 70 6f 6c 6c  65 64 62 25 21 31 36 3d  |05. polledb%!16=|
00005770  34 20 8c 20 69 6e 70 74  79 70 65 25 3d 28 69 6e  |4 . inptype%=(in|
00005780  70 74 79 70 65 25 80 26  66 66 66 66 66 66 66 63  |ptype%.&fffffffc|
00005790  29 2b 31 0d 25 3a 35 e7  20 70 6f 6c 6c 65 64 62  |)+1.%:5. polledb|
000057a0  25 21 31 36 3d 35 20 8c  20 69 6e 70 74 79 70 65  |%!16=5 . inptype|
000057b0  25 3d 28 69 6e 70 74 79  70 65 25 80 26 66 66 66  |%=(inptype%.&fff|
000057c0  66 66 66 66 63 29 2b 32  0d 25 44 36 e7 20 70 6f  |ffffc)+2.%D6. po|
000057d0  6c 6c 65 64 62 25 21 31  36 3d 31 31 20 8c 20 69  |lledb%!16=11 . i|
000057e0  6e 70 74 79 70 65 25 3d  28 69 6e 70 74 79 70 65  |nptype%=(inptype|
000057f0  25 80 26 66 66 66 66 66  66 66 62 29 2b 34 0d 25  |%.&fffffffb)+4.%|
00005800  4e 34 e7 20 70 6f 6c 6c  65 64 62 25 21 31 36 3d  |N4. polledb%!16=|
00005810  31 32 20 8c 20 69 6e 70  74 79 70 65 25 3d 28 69  |12 . inptype%=(i|
00005820  6e 70 74 79 70 65 25 80  26 66 66 66 66 66 66 66  |nptype%.&fffffff|
00005830  62 29 0d 25 58 18 69 6e  70 70 74 72 25 21 32 35  |b).%X.inpptr%!25|
00005840  36 3d 69 6e 70 74 79 70  65 25 0d 25 62 05 e1 0d  |6=inptype%.%b...|
00005850  25 6c 04 0d 25 76 10 dd  f2 4d 75 6c 74 43 43 6c  |%l..%v...MultCCl|
00005860  69 63 6b 0d 25 80 10 f2  4d 6f 64 54 69 74 6c 65  |ick.%...ModTitle|
00005870  28 30 29 0d 25 8a 15 e7  20 70 6f 6c 6c 65 64 62  |(0).%... polledb|
00005880  25 21 31 36 3d 32 20 8c  0d 25 94 16 20 20 74 65  |%!16=2 ..%..  te|
00005890  6d 70 25 21 30 3d 77 6d  75 6c 74 63 68 25 0d 25  |mp%!0=wmultch%.%|
000058a0  9e 0f 20 20 74 65 6d 70  25 21 34 3d 30 0d 25 a8  |..  temp%!4=0.%.|
000058b0  22 20 20 c8 99 22 57 69  6d 70 5f 47 65 74 49 63  |"  .."Wimp_GetIc|
000058c0  6f 6e 53 74 61 74 65 22  2c 2c 74 65 6d 70 25 0d  |onState",,temp%.|
000058d0  25 b2 16 20 20 76 3d bb  28 24 28 74 65 6d 70 25  |%..  v=.($(temp%|
000058e0  21 32 38 29 29 0d 25 bc  14 20 20 e7 20 94 28 76  |!28)).%..  . .(v|
000058f0  29 3e 33 32 37 36 37 20  8c 0d 25 c6 44 20 20 20  |)>32767 ..%.D   |
00005900  20 f2 52 65 70 6f 72 74  45 72 72 28 22 4f 6e 6c  | .ReportErr("Onl|
00005910  79 20 6e 75 6d 62 65 72  73 20 62 65 74 77 65 65  |y numbers betwee|
00005920  6e 20 2d 33 32 37 36 37  20 61 6e 64 20 33 32 37  |n -32767 and 327|
00005930  36 37 20 61 6c 6c 6f 77  65 64 2e 22 29 0d 25 d0  |67 allowed.").%.|
00005940  07 20 20 cc 0d 25 da 1c  20 20 20 20 21 6d 63 6f  |.  ..%..    !mco|
00005950  6e 73 74 70 74 72 25 3d  26 31 30 30 30 30 2a 76  |nstptr%=&10000*v|
00005960  0d 25 e4 23 20 20 20 20  c8 99 22 57 69 6d 70 5f  |.%.#    .."Wimp_|
00005970  43 6c 6f 73 65 57 69 6e  64 6f 77 22 2c 2c 74 65  |CloseWindow",,te|
00005980  6d 70 25 0d 25 ee 14 20  20 20 20 6d 63 6f 6e 73  |mp%.%..    mcons|
00005990  74 70 74 72 25 3d 30 0d  25 f8 07 20 20 cd 0d 26  |tptr%=0.%..  ..&|
000059a0  02 05 cd 0d 26 0c 2a e7  20 28 70 6f 6c 6c 65 64  |....&.*. (polled|
000059b0  62 25 21 31 36 3e 3d 33  29 80 28 70 6f 6c 6c 65  |b%!16>=3).(polle|
000059c0  64 62 25 21 31 36 3c 3d  31 33 29 20 8c 0d 26 16  |db%!16<=13) ..&.|
000059d0  25 20 20 c8 99 22 57 69  6d 70 5f 53 65 74 43 61  |%  .."Wimp_SetCa|
000059e0  72 65 74 50 6f 73 69 74  69 6f 6e 22 2c 2d 31 2c  |retPosition",-1,|
000059f0  2d 31 0d 26 20 16 20 20  74 65 6d 70 25 21 30 3d  |-1.& .  temp%!0=|
00005a00  77 6d 75 6c 74 63 68 25  0d 26 2a 0f 20 20 74 65  |wmultch%.&*.  te|
00005a10  6d 70 25 21 34 3d 30 0d  26 34 22 20 20 c8 99 22  |mp%!4=0.&4"  .."|
00005a20  57 69 6d 70 5f 47 65 74  49 63 6f 6e 53 74 61 74  |Wimp_GetIconStat|
00005a30  65 22 2c 2c 74 65 6d 70  25 0d 26 3e 32 20 20 24  |e",,temp%.&>2  $|
00005a40  28 74 65 6d 70 25 21 32  38 29 3d c0 c3 28 32 5e  |(temp%!28)=..(2^|
00005a50  28 28 28 70 6f 6c 6c 65  64 62 25 21 31 36 29 2d  |(((polledb%!16)-|
00005a60  32 29 2f 31 32 29 29 2c  31 31 29 0d 26 48 30 20  |2)/12)),11).&H0 |
00005a70  20 c8 99 22 57 69 6d 70  5f 46 6f 72 63 65 52 65  | .."Wimp_ForceRe|
00005a80  64 72 61 77 22 2c 77 6d  75 6c 74 63 68 25 2c 30  |draw",wmultch%,0|
00005a90  2c 2d 31 30 38 2c 33 39  30 2c 30 0d 26 52 05 cd  |,-108,390,0.&R..|
00005aa0  0d 26 5c 05 e1 0d 26 66  04 0d 26 70 0f dd f2 57  |.&\...&f..&p...W|
00005ab0  6f 72 6b 43 6c 69 63 6b  0d 26 7a 13 c8 8e 20 70  |orkClick.&z... p|
00005ac0  6f 6c 6c 65 64 62 25 21  38 20 ca 0d 26 84 78 20  |olledb%!8 ..&.x |
00005ad0  20 c9 20 32 3a 6c 61 73  74 6d 78 25 3d 70 6f 6c  | . 2:lastmx%=pol|
00005ae0  6c 65 64 62 25 21 30 2d  36 34 3a 6c 61 73 74 6d  |ledb%!0-64:lastm|
00005af0  79 25 3d 70 6f 6c 6c 65  64 62 25 21 34 2b 31 32  |y%=polledb%!4+12|
00005b00  3a 6c 61 73 74 6d 65 6e  75 25 3d 77 6f 72 6b 6d  |:lastmenu%=workm|
00005b10  65 6e 75 25 3a c8 99 22  57 69 6d 70 5f 43 72 65  |enu%:.."Wimp_Cre|
00005b20  61 74 65 4d 65 6e 75 22  2c 2c 6c 61 73 74 6d 65  |ateMenu",,lastme|
00005b30  6e 75 25 2c 6c 61 73 74  6d 78 25 2c 6c 61 73 74  |nu%,lastmx%,last|
00005b40  6d 79 25 0d 26 8e 18 20  20 c9 20 34 2a 32 35 36  |my%.&..  . 4*256|
00005b50  3a f2 43 6c 69 63 6b 57  6f 72 6b 0d 26 98 17 20  |:.ClickWork.&.. |
00005b60  20 c9 20 31 2a 32 35 36  3a f2 41 64 6a 43 57 6f  | . 1*256:.AdjCWo|
00005b70  72 6b 0d 26 a2 16 20 20  c9 20 34 2a 31 36 3a f2  |rk.&..  . 4*16:.|
00005b80  44 72 61 67 57 6f 72 6b  0d 26 ac 15 20 20 c9 20  |DragWork.&..  . |
00005b90  34 3a f2 44 6f 75 62 6c  65 57 6f 72 6b 0d 26 b6  |4:.DoubleWork.&.|
00005ba0  13 20 20 c9 20 31 3a f2  41 64 6a 43 57 6f 72 6b  |.  . 1:.AdjCWork|
00005bb0  0d 26 c0 05 cb 0d 26 ca  05 e1 0d 26 d4 04 0d 26  |.&....&....&...&|
00005bc0  de 0f dd f2 43 6c 69 63  6b 57 6f 72 6b 0d 26 e8  |....ClickWork.&.|
00005bd0  0f c8 8e 20 64 66 75 6e  63 25 20 ca 0d 26 f2 56  |... dfunc% ..&.V|
00005be0  20 20 c9 20 30 2c 31 2c  32 2c 33 2c 34 2c 35 2c  |  . 0,1,2,3,4,5,|
00005bf0  36 2c 37 2c 38 2c 39 2c  31 33 2c 31 34 2c 31 35  |6,7,8,9,13,14,15|
00005c00  2c 31 36 2c 31 37 2c 31  38 3a f2 43 72 65 61 74  |,16,17,18:.Creat|
00005c10  65 4f 62 6a 28 64 66 75  6e 63 25 2c 70 6f 6c 6c  |eObj(dfunc%,poll|
00005c20  65 64 62 25 21 30 2c 70  6f 6c 6c 65 64 62 25 21  |edb%!0,polledb%!|
00005c30  34 29 0d 26 fc 13 20 20  c9 20 31 30 3a f2 53 65  |4).&..  . 10:.Se|
00005c40  6c 49 63 6e 32 0d 27 06  13 20 20 c9 20 31 32 3a  |lIcn2.'..  . 12:|
00005c50  f2 43 6f 6e 6e 65 63 74  0d 27 10 05 cb 0d 27 1a  |.Connect.'....'.|
00005c60  05 e1 0d 27 24 04 0d 27  2e 0f dd f2 41 64 6a 54  |...'$..'....AdjT|
00005c70  6f 6f 6c 73 43 0d 27 38  12 c8 8e 20 6f 6c 64 64  |oolsC.'8... oldd|
00005c80  66 75 6e 63 25 20 ca 0d  27 42 3d 20 20 c9 20 30  |func% ..'B=  . 0|
00005c90  2c 31 2c 32 2c 33 2c 34  2c 35 2c 36 2c 37 2c 38  |,1,2,3,4,5,6,7,8|
00005ca0  2c 39 2c 31 33 2c 31 34  2c 31 35 2c 31 36 2c 31  |,9,13,14,15,16,1|
00005cb0  37 2c 31 38 3a f2 49 63  6f 6e 43 6f 6c 6f 72 28  |7,18:.IconColor(|
00005cc0  30 2c 30 29 0d 27 4c 1a  20 20 c9 20 31 30 3a f2  |0,0).'L.  . 10:.|
00005cd0  49 63 6f 6e 43 6f 6c 6f  72 28 32 2c 30 29 0d 27  |IconColor(2,0).'|
00005ce0  56 1a 20 20 c9 20 31 32  3a f2 49 63 6f 6e 43 6f  |V.  . 12:.IconCo|
00005cf0  6c 6f 72 28 31 2c 30 29  0d 27 60 05 cb 0d 27 6a  |lor(1,0).'`...'j|
00005d00  0f c8 8e 20 64 66 75 6e  63 25 20 ca 0d 27 74 3d  |... dfunc% ..'t=|
00005d10  20 20 c9 20 30 2c 31 2c  32 2c 33 2c 34 2c 35 2c  |  . 0,1,2,3,4,5,|
00005d20  36 2c 37 2c 38 2c 39 2c  31 33 2c 31 34 2c 31 35  |6,7,8,9,13,14,15|
00005d30  2c 31 36 2c 31 37 2c 31  38 3a f2 49 63 6f 6e 43  |,16,17,18:.IconC|
00005d40  6f 6c 6f 72 28 30 2c 39  29 0d 27 7e 1a 20 20 c9  |olor(0,9).'~.  .|
00005d50  20 31 30 3a f2 49 63 6f  6e 43 6f 6c 6f 72 28 32  | 10:.IconColor(2|
00005d60  2c 39 29 0d 27 88 1a 20  20 c9 20 31 32 3a f2 49  |,9).'..  . 12:.I|
00005d70  63 6f 6e 43 6f 6c 6f 72  28 31 2c 39 29 0d 27 92  |conColor(1,9).'.|
00005d80  05 cb 0d 27 9c 14 6f 6c  64 64 66 75 6e 63 25 3d  |...'..olddfunc%=|
00005d90  64 66 75 6e 63 25 0d 27  a6 05 e1 0d 27 b0 04 0d  |dfunc%.'....'...|
00005da0  27 ba 16 dd f2 49 63 6f  6e 43 6f 6c 6f 72 28 49  |'....IconColor(I|
00005db0  25 2c 43 25 29 0d 27 c4  0c 43 25 3d 43 25 80 31  |%,C%).'..C%=C%.1|
00005dc0  35 0d 27 ce 14 74 65 6d  70 25 21 30 3d 77 74 6f  |5.'..temp%!0=wto|
00005dd0  6f 6c 73 68 25 0d 27 d8  0e 74 65 6d 70 25 21 34  |olsh%.'..temp%!4|
00005de0  3d 49 25 0d 27 e2 12 74  65 6d 70 25 21 38 3d 43  |=I%.'..temp%!8=C|
00005df0  25 3c 3c 32 38 0d 27 ec  13 74 65 6d 70 25 21 31  |%<<28.'..temp%!1|
00005e00  32 3d 31 35 3c 3c 32 38  0d 27 f6 20 c8 99 22 57  |2=15<<28.'. .."W|
00005e10  69 6d 70 5f 53 65 74 49  63 6f 6e 53 74 61 74 65  |imp_SetIconState|
00005e20  22 2c 2c 74 65 6d 70 25  0d 28 00 05 e1 0d 28 0a  |",,temp%.(....(.|
00005e30  04 0d 28 14 0c dd f2 53  65 6c 49 63 6e 0d 28 1e  |..(....SelIcn.(.|
00005e40  17 e7 20 70 6f 6c 6c 65  64 62 25 21 31 36 3c 3e  |.. polledb%!16<>|
00005e50  2d 31 20 8c 0d 28 28 1d  20 20 f2 53 77 61 70 49  |-1 ..((.  .SwapI|
00005e60  63 6f 6e 53 28 70 6f 6c  6c 65 64 62 25 21 31 36  |conS(polledb%!16|
00005e70  29 0d 28 32 05 cc 0d 28  3c 0f 20 20 f2 43 6c 65  |).(2...(<.  .Cle|
00005e80  61 72 53 65 6c 0d 28 46  05 cd 0d 28 50 05 e1 0d  |arSel.(F...(P...|
00005e90  28 5a 04 0d 28 64 0d dd  f2 53 65 6c 49 63 6e 32  |(Z..(d...SelIcn2|
00005ea0  0d 28 6e 2f e7 20 70 6f  6c 6c 65 64 62 25 21 31  |.(n/. polledb%!1|
00005eb0  36 3c 3e 2d 31 20 8c 20  f2 53 77 61 70 49 63 6f  |6<>-1 . .SwapIco|
00005ec0  6e 53 28 70 6f 6c 6c 65  64 62 25 21 31 36 29 0d  |nS(polledb%!16).|
00005ed0  28 78 05 e1 0d 28 82 04  0d 28 8c 0e dd f2 44 72  |(x...(...(....Dr|
00005ee0  61 67 57 6f 72 6b 0d 28  96 11 e7 20 64 66 75 6e  |agWork.(... dfun|
00005ef0  63 25 3d 31 30 20 8c 0d  28 a0 0e 20 20 64 72 61  |c%=10 ..(..  dra|
00005f00  67 25 3d 2d 31 0d 28 aa  15 20 20 74 65 6d 70 25  |g%=-1.(..  temp%|
00005f10  21 30 3d 77 77 6f 72 6b  68 25 0d 28 b4 24 20 20  |!0=wworkh%.(.$  |
00005f20  c8 99 22 57 69 6d 70 5f  47 65 74 57 69 6e 64 6f  |.."Wimp_GetWindo|
00005f30  77 53 74 61 74 65 22 2c  2c 74 65 6d 70 25 0d 28  |wState",,temp%.(|
00005f40  be 2a 20 20 73 74 61 72  74 6c 78 25 3d 70 6f 6c  |.*  startlx%=pol|
00005f50  6c 65 64 62 25 21 30 2b  74 65 6d 70 25 21 32 30  |ledb%!0+temp%!20|
00005f60  2d 74 65 6d 70 25 21 34  0d 28 c8 2b 20 20 73 74  |-temp%!4.(.+  st|
00005f70  61 72 74 6c 79 25 3d 70  6f 6c 6c 65 64 62 25 21  |artly%=polledb%!|
00005f80  34 2b 74 65 6d 70 25 21  32 34 2d 74 65 6d 70 25  |4+temp%!24-temp%|
00005f90  21 31 36 0d 28 d2 22 20  20 73 74 61 72 74 6c 78  |!16.(."  startlx|
00005fa0  25 3d 28 73 74 61 72 74  6c 78 25 81 39 36 29 2a  |%=(startlx%.96)*|
00005fb0  39 36 2b 34 38 0d 28 dc  22 20 20 73 74 61 72 74  |96+48.(."  start|
00005fc0  6c 79 25 3d 28 73 74 61  72 74 6c 79 25 81 35 36  |ly%=(startly%.56|
00005fd0  29 2a 35 36 2d 33 32 0d  28 e6 19 20 20 6e 65 77  |)*56-32.(..  new|
00005fe0  6c 78 25 3d 2d 31 3a 6e  65 77 6c 79 25 3d 2d 31  |lx%=-1:newly%=-1|
00005ff0  0d 28 f0 19 20 20 6f 6c  64 6c 78 25 3d 2d 31 3a  |.(..  oldlx%=-1:|
00006000  6f 6c 64 6c 79 25 3d 2d  31 0d 28 fa 05 cd 0d 29  |oldly%=-1.(....)|
00006010  04 05 e1 0d 29 0e 04 0d  29 18 10 dd f2 44 6f 75  |....)...)....Dou|
00006020  62 6c 65 57 6f 72 6b 0d  29 22 0f c8 8e 20 64 66  |bleWork.)"... df|
00006030  75 6e 63 25 20 ca 0d 29  2c 12 20 20 c9 20 31 30  |unc% ..),.  . 10|
00006040  3a f2 53 65 6c 49 63 6e  0d 29 36 13 20 20 c9 20  |:.SelIcn.)6.  . |
00006050  31 32 3a f2 43 6f 6e 6e  65 63 74 0d 29 40 05 cb  |12:.Connect.)@..|
00006060  0d 29 4a 05 e1 0d 29 54  04 0d 29 5e 0e dd f2 41  |.)J...)T..)^...A|
00006070  64 6a 43 57 6f 72 6b 0d  29 68 0f c8 8e 20 64 66  |djCWork.)h... df|
00006080  75 6e 63 25 20 ca 0d 29  72 14 20 20 c9 20 31 30  |unc% ..)r.  . 10|
00006090  3a f2 53 65 74 50 61 72  61 6d 0d 29 7c 13 20 20  |:.SetParam.)|.  |
000060a0  c9 20 31 32 3a f2 53 77  61 70 4c 69 6e 0d 29 86  |. 12:.SwapLin.).|
000060b0  05 cb 0d 29 90 05 e1 0d  29 9a 04 0d 29 a4 0e dd  |...)....)...)...|
000060c0  f2 53 65 74 50 61 72 61  6d 0d 29 ae 25 c8 8e 20  |.SetParam.).%.. |
000060d0  69 63 6f 6e 69 6e 66 6f  25 21 28 28 70 6f 6c 6c  |iconinfo%!((poll|
000060e0  65 64 62 25 21 31 36 29  2a 33 32 29 20 ca 0d 29  |edb%!16)*32) ..)|
000060f0  b8 16 20 20 c9 20 30 3a  f2 53 65 74 56 43 4f 50  |..  . 0:.SetVCOP|
00006100  61 72 61 6d 0d 29 c2 15  20 20 c9 20 32 3a f2 53  |aram.)..  . 2:.S|
00006110  65 74 45 47 50 61 72 61  6d 0d 29 cc 18 20 20 c9  |etEGParam.)..  .|
00006120  20 35 3a f2 53 65 74 43  6f 6e 73 74 50 61 72 61  | 5:.SetConstPara|
00006130  6d 0d 29 d6 18 20 20 c9  20 37 3a f2 53 65 74 4d  |m.)..  . 7:.SetM|
00006140  75 6c 74 43 50 61 72 61  6d 0d 29 e0 19 20 20 c9  |ultCParam.)..  .|
00006150  20 31 36 3a f2 53 65 74  49 6e 70 75 74 50 61 72  | 16:.SetInputPar|
00006160  61 6d 0d 29 ea 1a 20 20  c9 20 31 38 3a f2 53 65  |am.)..  . 18:.Se|
00006170  74 4e 4c 44 69 73 74 50  61 72 61 6d 0d 29 f4 05  |tNLDistParam.)..|
00006180  cb 0d 29 fe 05 e1 0d 2a  08 04 0d 2a 12 14 dd f2  |..)....*...*....|
00006190  53 65 74 4e 4c 44 69 73  74 50 61 72 61 6d 0d 2a  |SetNLDistParam.*|
000061a0  1c 15 74 65 6d 70 25 21  30 3d 77 6e 6c 64 69 73  |..temp%!0=wnldis|
000061b0  74 68 25 0d 2a 26 22 c8  99 22 57 69 6d 70 5f 47  |th%.*&".."Wimp_G|
000061c0  65 74 57 69 6e 64 6f 77  53 74 61 74 65 22 2c 2c  |etWindowState",,|
000061d0  74 65 6d 70 25 0d 2a 30  1a 74 65 6d 70 25 21 34  |temp%.*0.temp%!4|
000061e0  3d 70 6f 6c 6c 65 64 62  25 21 30 2d 32 35 36 0d  |=polledb%!0-256.|
000061f0  2a 3a 1a 74 65 6d 70 25  21 38 3d 70 6f 6c 6c 65  |*:.temp%!8=polle|
00006200  64 62 25 21 34 2d 32 35  36 0d 2a 44 18 74 65 6d  |db%!4-256.*D.tem|
00006210  70 25 21 31 32 3d 74 65  6d 70 25 21 34 2b 35 31  |p%!12=temp%!4+51|
00006220  32 0d 2a 4e 18 74 65 6d  70 25 21 31 36 3d 74 65  |2.*N.temp%!16=te|
00006230  6d 70 25 21 38 2b 35 31  32 0d 2a 58 0f 74 65 6d  |mp%!8+512.*X.tem|
00006240  70 25 21 32 38 3d 2d 31  0d 2a 62 36 e7 20 28 74  |p%!28=-1.*b6. (t|
00006250  65 6d 70 25 21 33 32 29  80 28 31 3c 3c 31 36 29  |emp%!32).(1<<16)|
00006260  20 8c 20 c8 99 22 57 69  6d 70 5f 43 6c 6f 73 65  | . .."Wimp_Close|
00006270  57 69 6e 64 6f 77 22 2c  2c 74 65 6d 70 25 0d 2a  |Window",,temp%.*|
00006280  6c 1e c8 99 22 57 69 6d  70 5f 4f 70 65 6e 57 69  |l..."Wimp_OpenWi|
00006290  6e 64 6f 77 22 2c 2c 74  65 6d 70 25 0d 2a 76 2e  |ndow",,temp%.*v.|
000062a0  6e 6c 64 69 73 74 70 74  72 25 3d 69 63 6f 6e 69  |nldistptr%=iconi|
000062b0  6e 66 6f 25 21 28 28 70  6f 6c 6c 65 64 62 25 21  |nfo%!((polledb%!|
000062c0  31 36 29 2a 33 32 2b 31  32 29 0d 2a 80 13 6e 6c  |16)*32+12).*..nl|
000062d0  64 69 73 74 6c 61 73 74  78 25 3d 2d 31 0d 2a 8a  |distlastx%=-1.*.|
000062e0  13 6e 6c 64 69 73 74 6c  61 73 74 79 25 3d 2d 31  |.nldistlasty%=-1|
000062f0  0d 2a 94 18 f5 3a c8 97  20 41 25 2c 42 25 2c 43  |.*...:.. A%,B%,C|
00006300  25 3a fd 20 43 25 3d 30  0d 2a 9e 05 e1 0d 2a a8  |%:. C%=0.*....*.|
00006310  04 0d 2a b2 13 dd f2 53  65 74 49 6e 70 75 74 50  |..*....SetInputP|
00006320  61 72 61 6d 0d 2a bc 14  74 65 6d 70 25 21 30 3d  |aram.*..temp%!0=|
00006330  77 69 6e 70 75 74 68 25  0d 2a c6 0d 74 65 6d 70  |winputh%.*..temp|
00006340  25 21 34 3d 31 0d 2a d0  20 c8 99 22 57 69 6d 70  |%!4=1.*. .."Wimp|
00006350  5f 47 65 74 49 63 6f 6e  53 74 61 74 65 22 2c 2c  |_GetIconState",,|
00006360  74 65 6d 70 25 0d 2a da  2b 69 6e 70 70 74 72 25  |temp%.*.+inpptr%|
00006370  3d 69 63 6f 6e 69 6e 66  6f 25 21 28 28 70 6f 6c  |=iconinfo%!((pol|
00006380  6c 65 64 62 25 21 31 36  29 2a 33 32 2b 31 32 29  |ledb%!16)*32+12)|
00006390  0d 2a e4 1a 24 28 74 65  6d 70 25 21 32 38 29 3d  |.*..$(temp%!28)=|
000063a0  24 28 69 6e 70 70 74 72  25 29 0d 2a ee 18 69 6e  |$(inpptr%).*..in|
000063b0  70 74 79 70 65 25 3d 69  6e 70 70 74 72 25 21 32  |ptype%=inpptr%!2|
000063c0  35 36 0d 2a f8 0d 74 65  6d 70 25 21 34 3d 38 0d  |56.*..temp%!4=8.|
000063d0  2b 02 20 c8 99 22 57 69  6d 70 5f 47 65 74 49 63  |+. .."Wimp_GetIc|
000063e0  6f 6e 53 74 61 74 65 22  2c 2c 74 65 6d 70 25 0d  |onState",,temp%.|
000063f0  2b 0c 0b 40 25 3d 26 39  30 61 0d 2b 16 1e 24 28  |+..@%=&90a.+..$(|
00006400  74 65 6d 70 25 21 32 38  29 3d c3 28 69 6e 70 70  |temp%!28)=.(inpp|
00006410  74 72 25 21 32 36 38 29  0d 2b 20 10 40 25 3d 26  |tr%!268).+ .@%=&|
00006420  30 31 30 32 30 61 30 30  0d 2b 2a 12 74 65 6d 70  |01020a00.+*.temp|
00006430  25 21 31 32 3d 31 3c 3c  32 31 0d 2b 34 0d 74 65  |%!12=1<<21.+4.te|
00006440  6d 70 25 21 34 3d 33 0d  2b 3e 30 e7 20 28 69 6e  |mp%!4=3.+>0. (in|
00006450  70 74 79 70 65 25 80 33  29 3d 30 20 8c 20 74 65  |ptype%.3)=0 . te|
00006460  6d 70 25 21 38 3d 31 3c  3c 32 31 20 8b 20 74 65  |mp%!8=1<<21 . te|
00006470  6d 70 25 21 38 3d 30 0d  2b 48 20 c8 99 22 57 69  |mp%!8=0.+H .."Wi|
00006480  6d 70 5f 53 65 74 49 63  6f 6e 53 74 61 74 65 22  |mp_SetIconState"|
00006490  2c 2c 74 65 6d 70 25 0d  2b 52 0d 74 65 6d 70 25  |,,temp%.+R.temp%|
000064a0  21 34 3d 34 0d 2b 5c 30  e7 20 28 69 6e 70 74 79  |!4=4.+\0. (inpty|
000064b0  70 65 25 80 33 29 3d 31  20 8c 20 74 65 6d 70 25  |pe%.3)=1 . temp%|
000064c0  21 38 3d 31 3c 3c 32 31  20 8b 20 74 65 6d 70 25  |!8=1<<21 . temp%|
000064d0  21 38 3d 30 0d 2b 66 20  c8 99 22 57 69 6d 70 5f  |!8=0.+f .."Wimp_|
000064e0  53 65 74 49 63 6f 6e 53  74 61 74 65 22 2c 2c 74  |SetIconState",,t|
000064f0  65 6d 70 25 0d 2b 70 0d  74 65 6d 70 25 21 34 3d  |emp%.+p.temp%!4=|
00006500  35 0d 2b 7a 30 e7 20 28  69 6e 70 74 79 70 65 25  |5.+z0. (inptype%|
00006510  80 33 29 3d 32 20 8c 20  74 65 6d 70 25 21 38 3d  |.3)=2 . temp%!8=|
00006520  31 3c 3c 32 31 20 8b 20  74 65 6d 70 25 21 38 3d  |1<<21 . temp%!8=|
00006530  30 0d 2b 84 20 c8 99 22  57 69 6d 70 5f 53 65 74  |0.+. .."Wimp_Set|
00006540  49 63 6f 6e 53 74 61 74  65 22 2c 2c 74 65 6d 70  |IconState",,temp|
00006550  25 0d 2b 8e 0e 74 65 6d  70 25 21 34 3d 31 31 0d  |%.+..temp%!4=11.|
00006560  2b 98 2e e7 20 28 69 6e  70 74 79 70 65 25 80 34  |+... (inptype%.4|
00006570  29 20 8c 20 74 65 6d 70  25 21 38 3d 31 3c 3c 32  |) . temp%!8=1<<2|
00006580  31 20 8b 20 74 65 6d 70  25 21 38 3d 30 0d 2b a2  |1 . temp%!8=0.+.|
00006590  20 c8 99 22 57 69 6d 70  5f 53 65 74 49 63 6f 6e  | .."Wimp_SetIcon|
000065a0  53 74 61 74 65 22 2c 2c  74 65 6d 70 25 0d 2b ac  |State",,temp%.+.|
000065b0  0e 74 65 6d 70 25 21 34  3d 31 32 0d 2b b6 2e e7  |.temp%!4=12.+...|
000065c0  20 28 69 6e 70 74 79 70  65 25 80 34 29 20 8c 20  | (inptype%.4) . |
000065d0  74 65 6d 70 25 21 38 3d  30 20 8b 20 74 65 6d 70  |temp%!8=0 . temp|
000065e0  25 21 38 3d 31 3c 3c 32  31 0d 2b c0 20 c8 99 22  |%!8=1<<21.+. .."|
000065f0  57 69 6d 70 5f 53 65 74  49 63 6f 6e 53 74 61 74  |Wimp_SetIconStat|
00006600  65 22 2c 2c 74 65 6d 70  25 0d 2b ca 22 c8 99 22  |e",,temp%.+.".."|
00006610  57 69 6d 70 5f 47 65 74  57 69 6e 64 6f 77 53 74  |Wimp_GetWindowSt|
00006620  61 74 65 22 2c 2c 74 65  6d 70 25 0d 2b d4 1a 74  |ate",,temp%.+..t|
00006630  65 6d 70 25 21 34 3d 70  6f 6c 6c 65 64 62 25 21  |emp%!4=polledb%!|
00006640  30 2d 32 31 30 0d 2b de  1a 74 65 6d 70 25 21 38  |0-210.+..temp%!8|
00006650  3d 70 6f 6c 6c 65 64 62  25 21 34 2d 31 30 30 0d  |=polledb%!4-100.|
00006660  2b e8 18 74 65 6d 70 25  21 31 32 3d 74 65 6d 70  |+..temp%!12=temp|
00006670  25 21 34 2b 34 33 30 0d  2b f2 18 74 65 6d 70 25  |%!4+430.+..temp%|
00006680  21 31 36 3d 74 65 6d 70  25 21 38 2b 32 31 32 0d  |!16=temp%!8+212.|
00006690  2b fc 0f 74 65 6d 70 25  21 32 38 3d 2d 31 0d 2c  |+..temp%!28=-1.,|
000066a0  06 36 e7 20 28 74 65 6d  70 25 21 33 32 29 80 28  |.6. (temp%!32).(|
000066b0  31 3c 3c 31 36 29 20 8c  20 c8 99 22 57 69 6d 70  |1<<16) . .."Wimp|
000066c0  5f 43 6c 6f 73 65 57 69  6e 64 6f 77 22 2c 2c 74  |_CloseWindow",,t|
000066d0  65 6d 70 25 0d 2c 10 1e  c8 99 22 57 69 6d 70 5f  |emp%.,...."Wimp_|
000066e0  4f 70 65 6e 57 69 6e 64  6f 77 22 2c 2c 74 65 6d  |OpenWindow",,tem|
000066f0  70 25 0d 2c 1a 18 f5 3a  c8 97 20 41 25 2c 42 25  |p%.,...:.. A%,B%|
00006700  2c 43 25 3a fd 20 43 25  3d 30 0d 2c 24 05 e1 0d  |,C%:. C%=0.,$...|
00006710  2c 2e 04 0d 2c 38 11 dd  f2 53 65 74 56 43 4f 50  |,...,8...SetVCOP|
00006720  61 72 61 6d 0d 2c 42 12  74 65 6d 70 25 21 30 3d  |aram.,B.temp%!0=|
00006730  77 76 63 6f 68 25 0d 2c  4c 22 c8 99 22 57 69 6d  |wvcoh%.,L".."Wim|
00006740  70 5f 47 65 74 57 69 6e  64 6f 77 53 74 61 74 65  |p_GetWindowState|
00006750  22 2c 2c 74 65 6d 70 25  0d 2c 56 1a 74 65 6d 70  |",,temp%.,V.temp|
00006760  25 21 34 3d 70 6f 6c 6c  65 64 62 25 21 30 2d 33  |%!4=polledb%!0-3|
00006770  34 32 0d 2c 60 1a 74 65  6d 70 25 21 38 3d 70 6f  |42.,`.temp%!8=po|
00006780  6c 6c 65 64 62 25 21 34  2d 31 33 32 0d 2c 6a 18  |lledb%!4-132.,j.|
00006790  74 65 6d 70 25 21 31 32  3d 74 65 6d 70 25 21 34  |temp%!12=temp%!4|
000067a0  2b 36 38 34 0d 2c 74 18  74 65 6d 70 25 21 31 36  |+684.,t.temp%!16|
000067b0  3d 74 65 6d 70 25 21 38  2b 32 36 34 0d 2c 7e 0f  |=temp%!8+264.,~.|
000067c0  74 65 6d 70 25 21 32 38  3d 2d 31 0d 2c 88 36 e7  |temp%!28=-1.,.6.|
000067d0  20 28 74 65 6d 70 25 21  33 32 29 80 28 31 3c 3c  | (temp%!32).(1<<|
000067e0  31 36 29 20 8c 20 c8 99  22 57 69 6d 70 5f 43 6c  |16) . .."Wimp_Cl|
000067f0  6f 73 65 57 69 6e 64 6f  77 22 2c 2c 74 65 6d 70  |oseWindow",,temp|
00006800  25 0d 2c 92 1e c8 99 22  57 69 6d 70 5f 4f 70 65  |%.,...."Wimp_Ope|
00006810  6e 57 69 6e 64 6f 77 22  2c 2c 74 65 6d 70 25 0d  |nWindow",,temp%.|
00006820  2c 9c 2b 76 63 6f 70 74  72 25 3d 69 63 6f 6e 69  |,.+vcoptr%=iconi|
00006830  6e 66 6f 25 21 28 28 70  6f 6c 6c 65 64 62 25 21  |nfo%!((polledb%!|
00006840  31 36 29 2a 33 32 2b 31  32 29 0d 2c a6 10 76 63  |16)*32+12).,..vc|
00006850  6f 6c 61 73 74 78 25 3d  2d 31 0d 2c b0 10 76 63  |olastx%=-1.,..vc|
00006860  6f 6c 61 73 74 79 25 3d  2d 31 0d 2c ba 18 f5 3a  |olasty%=-1.,...:|
00006870  c8 97 20 41 25 2c 42 25  2c 43 25 3a fd 20 43 25  |.. A%,B%,C%:. C%|
00006880  3d 30 0d 2c c4 05 e1 0d  2c ce 04 0d 2c d8 10 dd  |=0.,....,...,...|
00006890  f2 53 65 74 45 47 50 61  72 61 6d 0d 2c e2 11 74  |.SetEGParam.,..t|
000068a0  65 6d 70 25 21 30 3d 77  65 67 68 25 0d 2c ec 22  |emp%!0=wegh%.,."|
000068b0  c8 99 22 57 69 6d 70 5f  47 65 74 57 69 6e 64 6f  |.."Wimp_GetWindo|
000068c0  77 53 74 61 74 65 22 2c  2c 74 65 6d 70 25 0d 2c  |wState",,temp%.,|
000068d0  f6 1a 74 65 6d 70 25 21  34 3d 70 6f 6c 6c 65 64  |..temp%!4=polled|
000068e0  62 25 21 30 2d 35 31 32  0d 2d 00 1a 74 65 6d 70  |b%!0-512.-..temp|
000068f0  25 21 38 3d 70 6f 6c 6c  65 64 62 25 21 34 2d 31  |%!8=polledb%!4-1|
00006900  32 38 0d 2d 0a 19 74 65  6d 70 25 21 31 32 3d 74  |28.-..temp%!12=t|
00006910  65 6d 70 25 21 34 2b 31  30 32 34 0d 2d 14 18 74  |emp%!4+1024.-..t|
00006920  65 6d 70 25 21 31 36 3d  74 65 6d 70 25 21 38 2b  |emp%!16=temp%!8+|
00006930  32 35 36 0d 2d 1e 0f 74  65 6d 70 25 21 32 38 3d  |256.-..temp%!28=|
00006940  2d 31 0d 2d 28 36 e7 20  28 74 65 6d 70 25 21 33  |-1.-(6. (temp%!3|
00006950  32 29 80 28 31 3c 3c 31  36 29 20 8c 20 c8 99 22  |2).(1<<16) . .."|
00006960  57 69 6d 70 5f 43 6c 6f  73 65 57 69 6e 64 6f 77  |Wimp_CloseWindow|
00006970  22 2c 2c 74 65 6d 70 25  0d 2d 32 1e c8 99 22 57  |",,temp%.-2..."W|
00006980  69 6d 70 5f 4f 70 65 6e  57 69 6e 64 6f 77 22 2c  |imp_OpenWindow",|
00006990  2c 74 65 6d 70 25 0d 2d  3c 2a 65 67 70 74 72 25  |,temp%.-<*egptr%|
000069a0  3d 69 63 6f 6e 69 6e 66  6f 25 21 28 28 70 6f 6c  |=iconinfo%!((pol|
000069b0  6c 65 64 62 25 21 31 36  29 2a 33 32 2b 31 32 29  |ledb%!16)*32+12)|
000069c0  0d 2d 46 18 f5 3a c8 97  20 41 25 2c 42 25 2c 43  |.-F..:.. A%,B%,C|
000069d0  25 3a fd 20 43 25 3d 30  0d 2d 50 05 e1 0d 2d 5a  |%:. C%=0.-P...-Z|
000069e0  04 0d 2d 64 13 dd f2 53  65 74 43 6f 6e 73 74 50  |..-d...SetConstP|
000069f0  61 72 61 6d 0d 2d 6e 17  74 65 6d 70 25 21 30 3d  |aram.-n.temp%!0=|
00006a00  77 63 6f 6e 73 74 61 6e  74 68 25 0d 2d 78 0d 74  |wconstanth%.-x.t|
00006a10  65 6d 70 25 21 34 3d 30  0d 2d 82 20 c8 99 22 57  |emp%!4=0.-. .."W|
00006a20  69 6d 70 5f 47 65 74 49  63 6f 6e 53 74 61 74 65  |imp_GetIconState|
00006a30  22 2c 2c 74 65 6d 70 25  0d 2d 8c 2d 63 6f 6e 73  |",,temp%.-.-cons|
00006a40  74 70 74 72 25 3d 69 63  6f 6e 69 6e 66 6f 25 21  |tptr%=iconinfo%!|
00006a50  28 28 70 6f 6c 6c 65 64  62 25 21 31 36 29 2a 33  |((polledb%!16)*3|
00006a60  32 2b 31 32 29 0d 2d 96  2b 24 28 74 65 6d 70 25  |2+12).-.+$(temp%|
00006a70  21 32 38 29 3d c0 c3 28  28 21 63 6f 6e 73 74 70  |!28)=..((!constp|
00006a80  74 72 25 29 2f 26 31 30  30 30 30 29 2c 31 31 29  |tr%)/&10000),11)|
00006a90  0d 2d a0 22 c8 99 22 57  69 6d 70 5f 47 65 74 57  |.-.".."Wimp_GetW|
00006aa0  69 6e 64 6f 77 53 74 61  74 65 22 2c 2c 74 65 6d  |indowState",,tem|
00006ab0  70 25 0d 2d aa 1a 74 65  6d 70 25 21 34 3d 70 6f  |p%.-..temp%!4=po|
00006ac0  6c 6c 65 64 62 25 21 30  2d 31 38 30 0d 2d b4 19  |lledb%!0-180.-..|
00006ad0  74 65 6d 70 25 21 38 3d  70 6f 6c 6c 65 64 62 25  |temp%!8=polledb%|
00006ae0  21 34 2d 32 38 0d 2d be  18 74 65 6d 70 25 21 31  |!4-28.-..temp%!1|
00006af0  32 3d 74 65 6d 70 25 21  34 2b 33 36 30 0d 2d c8  |2=temp%!4+360.-.|
00006b00  17 74 65 6d 70 25 21 31  36 3d 74 65 6d 70 25 21  |.temp%!16=temp%!|
00006b10  38 2b 35 36 0d 2d d2 0f  74 65 6d 70 25 21 32 38  |8+56.-..temp%!28|
00006b20  3d 2d 31 0d 2d dc 36 e7  20 28 74 65 6d 70 25 21  |=-1.-.6. (temp%!|
00006b30  33 32 29 80 28 31 3c 3c  31 36 29 20 8c 20 c8 99  |32).(1<<16) . ..|
00006b40  22 57 69 6d 70 5f 43 6c  6f 73 65 57 69 6e 64 6f  |"Wimp_CloseWindo|
00006b50  77 22 2c 2c 74 65 6d 70  25 0d 2d e6 1e c8 99 22  |w",,temp%.-...."|
00006b60  57 69 6d 70 5f 4f 70 65  6e 57 69 6e 64 6f 77 22  |Wimp_OpenWindow"|
00006b70  2c 2c 74 65 6d 70 25 0d  2d f0 05 e1 0d 2d fa 04  |,,temp%.-....-..|
00006b80  0d 2e 04 13 dd f2 53 65  74 4d 75 6c 74 43 50 61  |......SetMultCPa|
00006b90  72 61 6d 0d 2e 0e 14 74  65 6d 70 25 21 30 3d 77  |ram....temp%!0=w|
00006ba0  6d 75 6c 74 63 68 25 0d  2e 18 0d 74 65 6d 70 25  |multch%....temp%|
00006bb0  21 34 3d 30 0d 2e 22 20  c8 99 22 57 69 6d 70 5f  |!4=0.." .."Wimp_|
00006bc0  47 65 74 49 63 6f 6e 53  74 61 74 65 22 2c 2c 74  |GetIconState",,t|
00006bd0  65 6d 70 25 0d 2e 2c 2e  6d 63 6f 6e 73 74 70 74  |emp%..,.mconstpt|
00006be0  72 25 3d 69 63 6f 6e 69  6e 66 6f 25 21 28 28 70  |r%=iconinfo%!((p|
00006bf0  6f 6c 6c 65 64 62 25 21  31 36 29 2a 33 32 2b 31  |olledb%!16)*32+1|
00006c00  32 29 0d 2e 36 2c 24 28  74 65 6d 70 25 21 32 38  |2)..6,$(temp%!28|
00006c10  29 3d c0 c3 28 28 21 6d  63 6f 6e 73 74 70 74 72  |)=..((!mconstptr|
00006c20  25 29 2f 26 31 30 30 30  30 29 2c 31 31 29 0d 2e  |%)/&10000),11)..|
00006c30  40 22 c8 99 22 57 69 6d  70 5f 47 65 74 57 69 6e  |@".."Wimp_GetWin|
00006c40  64 6f 77 53 74 61 74 65  22 2c 2c 74 65 6d 70 25  |dowState",,temp%|
00006c50  0d 2e 4a 1a 74 65 6d 70  25 21 34 3d 70 6f 6c 6c  |..J.temp%!4=poll|
00006c60  65 64 62 25 21 30 2d 31  34 35 0d 2e 54 19 74 65  |edb%!0-145..T.te|
00006c70  6d 70 25 21 38 3d 70 6f  6c 6c 65 64 62 25 21 34  |mp%!8=polledb%!4|
00006c80  2d 35 34 0d 2e 5e 18 74  65 6d 70 25 21 31 32 3d  |-54..^.temp%!12=|
00006c90  74 65 6d 70 25 21 34 2b  33 39 30 0d 2e 68 18 74  |temp%!4+390..h.t|
00006ca0  65 6d 70 25 21 31 36 3d  74 65 6d 70 25 21 38 2b  |emp%!16=temp%!8+|
00006cb0  31 30 38 0d 2e 72 0f 74  65 6d 70 25 21 32 38 3d  |108..r.temp%!28=|
00006cc0  2d 31 0d 2e 7c 36 e7 20  28 74 65 6d 70 25 21 33  |-1..|6. (temp%!3|
00006cd0  32 29 80 28 31 3c 3c 31  36 29 20 8c 20 c8 99 22  |2).(1<<16) . .."|
00006ce0  57 69 6d 70 5f 43 6c 6f  73 65 57 69 6e 64 6f 77  |Wimp_CloseWindow|
00006cf0  22 2c 2c 74 65 6d 70 25  0d 2e 86 1e c8 99 22 57  |",,temp%......"W|
00006d00  69 6d 70 5f 4f 70 65 6e  57 69 6e 64 6f 77 22 2c  |imp_OpenWindow",|
00006d10  2c 74 65 6d 70 25 0d 2e  90 05 e1 0d 2e 9a 04 0d  |,temp%..........|
00006d20  2e a4 0d dd f2 53 77 61  70 4c 69 6e 0d 2e ae 10  |.....SwapLin....|
00006d30  f2 4d 6f 64 54 69 74 6c  65 28 30 29 0d 2e b8 19  |.ModTitle(0)....|
00006d40  e7 20 28 70 6f 6c 6c 65  64 62 25 21 31 36 3c 3e  |. (polledb%!16<>|
00006d50  2d 31 29 20 8c 0d 2e c2  15 20 20 74 65 6d 70 25  |-1) .....  temp%|
00006d60  21 30 3d 77 77 6f 72 6b  68 25 0d 2e cc 24 20 20  |!0=wworkh%...$  |
00006d70  c8 99 22 57 69 6d 70 5f  47 65 74 57 69 6e 64 6f  |.."Wimp_GetWindo|
00006d80  77 53 74 61 74 65 22 2c  2c 74 65 6d 70 25 0d 2e  |wState",,temp%..|
00006d90  d6 26 20 20 73 6c 78 25  3d 70 6f 6c 6c 65 64 62  |.&  slx%=polledb|
00006da0  25 21 30 2d 74 65 6d 70  25 21 34 2b 74 65 6d 70  |%!0-temp%!4+temp|
00006db0  25 21 32 30 0d 2e e0 27  20 20 73 6c 79 25 3d 70  |%!20...'  sly%=p|
00006dc0  6f 6c 6c 65 64 62 25 21  34 2d 74 65 6d 70 25 21  |olledb%!4-temp%!|
00006dd0  31 36 2b 74 65 6d 70 25  21 32 34 0d 2e ea 16 20  |16+temp%!24.... |
00006de0  20 73 69 63 25 3d 70 6f  6c 6c 65 64 62 25 21 31  | sic%=polledb%!1|
00006df0  36 0d 2e f4 26 20 20 78  25 3d 73 6c 78 25 2d 69  |6...&  x%=slx%-i|
00006e00  63 6f 6e 69 6e 66 6f 25  21 28 73 69 63 25 2a 33  |coninfo%!(sic%*3|
00006e10  32 2b 34 29 2d 35 38 0d  2e fe 26 20 20 79 25 3d  |2+4)-58...&  y%=|
00006e20  73 6c 79 25 2d 69 63 6f  6e 69 6e 66 6f 25 21 28  |sly%-iconinfo%!(|
00006e30  73 69 63 25 2a 33 32 2b  38 29 2d 32 38 0d 2f 08  |sic%*32+8)-28./.|
00006e40  1c 20 20 73 69 25 3d a4  47 65 74 49 4f 28 78 25  |.  si%=.GetIO(x%|
00006e50  2c 79 25 2c 73 69 63 25  29 0d 2f 12 12 20 20 e7  |,y%,sic%)./..  .|
00006e60  20 28 73 69 25 3c 3e 32  29 20 8c 0d 2f 1c 29 20  | (si%<>2) ../.) |
00006e70  20 20 20 65 69 63 25 3d  69 63 6f 6e 69 6e 66 6f  |   eic%=iconinfo|
00006e80  25 21 28 73 69 63 25 2a  33 32 2b 73 69 25 2a 34  |%!(sic%*32+si%*4|
00006e90  2b 31 36 29 0d 2f 26 22  20 20 20 20 65 6c 78 25  |+16)./&"    elx%|
00006ea0  3d 69 63 6f 6e 69 6e 66  6f 25 21 28 65 69 63 25  |=iconinfo%!(eic%|
00006eb0  2a 33 32 2b 34 29 0d 2f  30 22 20 20 20 20 65 6c  |*32+4)./0"    el|
00006ec0  79 25 3d 69 63 6f 6e 69  6e 66 6f 25 21 28 65 69  |y%=iconinfo%!(ei|
00006ed0  63 25 2a 33 32 2b 38 29  0d 2f 3a 22 20 20 20 20  |c%*32+8)./:"    |
00006ee0  6c 73 25 3d 69 63 6f 6e  69 6e 66 6f 25 21 28 73  |ls%=iconinfo%!(s|
00006ef0  69 63 25 2a 33 32 2b 32  38 29 0d 2f 44 54 20 20  |ic%*32+28)./DT  |
00006f00  20 20 e7 20 73 69 25 3d  30 20 8c 20 6c 73 25 3d  |  . si%=0 . ls%=|
00006f10  28 6c 73 25 80 26 66 66  66 66 66 66 66 63 29 84  |(ls%.&fffffffc).|
00006f20  28 28 6c 73 25 2b 31 29  80 33 29 20 8b 20 6c 73  |((ls%+1).3) . ls|
00006f30  25 3d 28 6c 73 25 80 26  66 66 66 66 66 66 66 33  |%=(ls%.&fffffff3|
00006f40  29 84 28 28 6c 73 25 2b  34 29 80 26 63 29 0d 2f  |).((ls%+4).&c)./|
00006f50  4e 22 20 20 20 20 69 63  6f 6e 69 6e 66 6f 25 21  |N"    iconinfo%!|
00006f60  28 73 69 63 25 2a 33 32  2b 32 38 29 3d 6c 73 25  |(sic%*32+28)=ls%|
00006f70  0d 2f 58 22 20 20 20 20  e7 20 73 6c 78 25 3e 65  |./X"    . slx%>e|
00006f80  6c 78 25 20 8c 20 c8 94  20 73 6c 78 25 2c 65 6c  |lx% . .. slx%,el|
00006f90  78 25 0d 2f 62 22 20 20  20 20 e7 20 73 6c 79 25  |x%./b"    . sly%|
00006fa0  3e 65 6c 79 25 20 8c 20  c8 94 20 73 6c 79 25 2c  |>ely% . .. sly%,|
00006fb0  65 6c 79 25 0d 2f 6c 44  20 20 20 20 c8 99 22 57  |ely%./lD    .."W|
00006fc0  69 6d 70 5f 46 6f 72 63  65 52 65 64 72 61 77 22  |imp_ForceRedraw"|
00006fd0  2c 77 77 6f 72 6b 68 25  2c 73 6c 78 25 2d 39 38  |,wworkh%,slx%-98|
00006fe0  2c 73 6c 79 25 2d 35 38  2c 65 6c 78 25 2b 39 38  |,sly%-58,elx%+98|
00006ff0  2c 65 6c 79 25 2b 35 38  0d 2f 76 07 20 20 cd 0d  |,ely%+58./v.  ..|
00007000  2f 80 05 cd 0d 2f 8a 05  e1 0d 2f 94 04 0d 2f 9e  |/..../..../.../.|
00007010  0d dd f2 43 6f 6e 6e 65  63 74 0d 2f a8 10 f2 4d  |...Connect./...M|
00007020  6f 64 54 69 74 6c 65 28  30 29 0d 2f b2 16 e7 20  |odTitle(0)./... |
00007030  70 6f 6c 6c 65 64 62 25  21 31 36 3d 2d 31 20 8c  |polledb%!16=-1 .|
00007040  0d 2f bc 08 20 20 ef 37  0d 2f c6 05 cc 0d 2f d0  |./..  .7./..../.|
00007050  15 20 20 74 65 6d 70 25  21 30 3d 77 77 6f 72 6b  |.  temp%!0=wwork|
00007060  68 25 0d 2f da 24 20 20  c8 99 22 57 69 6d 70 5f  |h%./.$  .."Wimp_|
00007070  47 65 74 57 69 6e 64 6f  77 53 74 61 74 65 22 2c  |GetWindowState",|
00007080  2c 74 65 6d 70 25 0d 2f  e4 15 20 20 e7 20 73 74  |,temp%./..  . st|
00007090  61 72 74 6c 78 25 3d 2d  31 20 8c 0d 2f ee 2c 20  |artlx%=-1 ../., |
000070a0  20 20 20 73 74 61 72 74  6c 78 25 3d 70 6f 6c 6c  |   startlx%=poll|
000070b0  65 64 62 25 21 30 2d 74  65 6d 70 25 21 34 2b 74  |edb%!0-temp%!4+t|
000070c0  65 6d 70 25 21 32 30 0d  2f f8 2d 20 20 20 20 73  |emp%!20./.-    s|
000070d0  74 61 72 74 6c 79 25 3d  70 6f 6c 6c 65 64 62 25  |tartly%=polledb%|
000070e0  21 34 2d 74 65 6d 70 25  21 31 36 2b 74 65 6d 70  |!4-temp%!16+temp|
000070f0  25 21 32 34 0d 30 02 1c  20 20 20 20 73 74 61 72  |%!24.0..    star|
00007100  74 69 63 25 3d 70 6f 6c  6c 65 64 62 25 21 31 36  |tic%=polledb%!16|
00007110  0d 30 0c 30 20 20 20 20  78 25 3d 73 74 61 72 74  |.0.0    x%=start|
00007120  6c 78 25 2d 69 63 6f 6e  69 6e 66 6f 25 21 28 73  |lx%-iconinfo%!(s|
00007130  74 61 72 74 69 63 25 2a  33 32 2b 34 29 2d 35 38  |tartic%*32+4)-58|
00007140  0d 30 16 30 20 20 20 20  79 25 3d 73 74 61 72 74  |.0.0    y%=start|
00007150  6c 79 25 2d 69 63 6f 6e  69 6e 66 6f 25 21 28 73  |ly%-iconinfo%!(s|
00007160  74 61 72 74 69 63 25 2a  33 32 2b 38 29 2d 32 38  |tartic%*32+8)-28|
00007170  0d 30 20 26 20 20 20 20  73 74 61 72 74 69 25 3d  |.0 &    starti%=|
00007180  a4 47 65 74 49 4f 28 78  25 2c 79 25 2c 73 74 61  |.GetIO(x%,y%,sta|
00007190  72 74 69 63 25 29 0d 30  2a 07 20 20 cc 0d 30 34  |rtic%).0*.  ..04|
000071a0  2a 20 20 20 20 65 6e 64  6c 78 25 3d 70 6f 6c 6c  |*    endlx%=poll|
000071b0  65 64 62 25 21 30 2d 74  65 6d 70 25 21 34 2b 74  |edb%!0-temp%!4+t|
000071c0  65 6d 70 25 21 32 30 0d  30 3e 2b 20 20 20 20 65  |emp%!20.0>+    e|
000071d0  6e 64 6c 79 25 3d 70 6f  6c 6c 65 64 62 25 21 34  |ndly%=polledb%!4|
000071e0  2d 74 65 6d 70 25 21 31  36 2b 74 65 6d 70 25 21  |-temp%!16+temp%!|
000071f0  32 34 0d 30 48 1a 20 20  20 20 65 6e 64 69 63 25  |24.0H.    endic%|
00007200  3d 70 6f 6c 6c 65 64 62  25 21 31 36 0d 30 52 2c  |=polledb%!16.0R,|
00007210  20 20 20 20 78 25 3d 65  6e 64 6c 78 25 2d 69 63  |    x%=endlx%-ic|
00007220  6f 6e 69 6e 66 6f 25 21  28 65 6e 64 69 63 25 2a  |oninfo%!(endic%*|
00007230  33 32 2b 34 29 2d 35 38  0d 30 5c 2c 20 20 20 20  |32+4)-58.0\,    |
00007240  79 25 3d 65 6e 64 6c 79  25 2d 69 63 6f 6e 69 6e  |y%=endly%-iconin|
00007250  66 6f 25 21 28 65 6e 64  69 63 25 2a 33 32 2b 38  |fo%!(endic%*32+8|
00007260  29 2d 32 38 0d 30 66 22  20 20 20 20 65 6e 64 69  |)-28.0f"    endi|
00007270  25 3d a4 47 65 74 49 4f  28 78 25 2c 79 25 2c 65  |%=.GetIO(x%,y%,e|
00007280  6e 64 69 63 25 29 0d 30  70 2f 20 20 20 20 e7 20  |ndic%).0p/    . |
00007290  28 73 74 61 72 74 69 25  3d 65 6e 64 69 25 29 84  |(starti%=endi%).|
000072a0  28 28 73 74 61 72 74 69  25 82 65 6e 64 69 25 29  |((starti%.endi%)|
000072b0  3d 31 29 20 8c 0d 30 7a  0c 20 20 20 20 20 20 ef  |=1) ..0z.      .|
000072c0  37 0d 30 84 09 20 20 20  20 cc 0d 30 8e 15 20 20  |7.0..    ..0..  |
000072d0  20 20 20 20 e7 20 65 6e  64 69 25 3d 32 20 8c 0d  |    . endi%=2 ..|
000072e0  30 98 8d 20 20 20 20 20  20 20 20 e7 20 69 63 6f  |0..        . ico|
000072f0  6e 69 6e 66 6f 25 21 28  73 74 61 72 74 69 63 25  |ninfo%!(startic%|
00007300  2a 33 32 2b 31 36 2b 73  74 61 72 74 69 25 2a 34  |*32+16+starti%*4|
00007310  29 3c 3e 2d 31 20 8c 20  f2 52 65 70 6f 72 74 45  |)<>-1 . .ReportE|
00007320  72 72 28 22 49 6e 70 75  74 20 61 6c 72 65 61 64  |rr("Input alread|
00007330  79 20 63 6f 6e 6e 65 63  74 65 64 2e 22 29 20 8b  |y connected.") .|
00007340  20 69 63 6f 6e 69 6e 66  6f 25 21 28 73 74 61 72  | iconinfo%!(star|
00007350  74 69 63 25 2a 33 32 2b  31 36 2b 73 74 61 72 74  |tic%*32+16+start|
00007360  69 25 2a 34 29 3d 65 6e  64 69 63 25 0d 30 a2 0b  |i%*4)=endic%.0..|
00007370  20 20 20 20 20 20 cc 0d  30 ac 87 20 20 20 20 20  |      ..0..     |
00007380  20 20 20 e7 20 69 63 6f  6e 69 6e 66 6f 25 21 28  |   . iconinfo%!(|
00007390  65 6e 64 69 63 25 2a 33  32 2b 31 36 2b 65 6e 64  |endic%*32+16+end|
000073a0  69 25 2a 34 29 3c 3e 2d  31 20 8c 20 f2 52 65 70  |i%*4)<>-1 . .Rep|
000073b0  6f 72 74 45 72 72 28 22  49 6e 70 75 74 20 61 6c  |ortErr("Input al|
000073c0  72 65 61 64 79 20 63 6f  6e 6e 65 63 74 65 64 2e  |ready connected.|
000073d0  22 29 20 8b 20 69 63 6f  6e 69 6e 66 6f 25 21 28  |") . iconinfo%!(|
000073e0  65 6e 64 69 63 25 2a 33  32 2b 31 36 2b 65 6e 64  |endic%*32+16+end|
000073f0  69 25 2a 34 29 3d 73 74  61 72 74 69 63 25 0d 30  |i%*4)=startic%.0|
00007400  b6 0b 20 20 20 20 20 20  cd 0d 30 c0 30 20 20 20  |..      ..0.0   |
00007410  20 20 20 e7 20 73 74 61  72 74 6c 78 25 3e 65 6e  |   . startlx%>en|
00007420  64 6c 78 25 20 8c 20 c8  94 20 73 74 61 72 74 6c  |dlx% . .. startl|
00007430  78 25 2c 65 6e 64 6c 78  25 0d 30 ca 30 20 20 20  |x%,endlx%.0.0   |
00007440  20 20 20 e7 20 73 74 61  72 74 6c 79 25 3e 65 6e  |   . startly%>en|
00007450  64 6c 79 25 20 8c 20 c8  94 20 73 74 61 72 74 6c  |dly% . .. startl|
00007460  79 25 2c 65 6e 64 6c 79  25 0d 30 d4 52 20 20 20  |y%,endly%.0.R   |
00007470  20 20 20 c8 99 22 57 69  6d 70 5f 46 6f 72 63 65  |   .."Wimp_Force|
00007480  52 65 64 72 61 77 22 2c  77 77 6f 72 6b 68 25 2c  |Redraw",wworkh%,|
00007490  73 74 61 72 74 6c 78 25  2d 39 38 2c 73 74 61 72  |startlx%-98,star|
000074a0  74 6c 79 25 2d 35 38 2c  65 6e 64 6c 78 25 2b 39  |tly%-58,endlx%+9|
000074b0  38 2c 65 6e 64 6c 79 25  2b 35 38 0d 30 de 15 20  |8,endly%+58.0.. |
000074c0  20 20 20 20 20 f2 52 65  6d 41 6c 6c 44 72 61 67  |     .RemAllDrag|
000074d0  0d 30 e8 09 20 20 20 20  cd 0d 30 f2 07 20 20 cd  |.0..    ..0..  .|
000074e0  0d 30 fc 05 cd 0d 31 06  05 e1 0d 31 10 04 0d 31  |.0....1....1...1|
000074f0  1a 15 dd a4 47 65 74 49  4f 28 78 25 2c 79 25 2c  |....GetIO(x%,y%,|
00007500  69 25 29 0d 31 24 0c e7  20 78 25 3e 30 20 8c 0d  |i%).1$.. x%>0 ..|
00007510  31 2e 0b 20 20 69 6f 25  3d 32 0d 31 38 05 cc 0d  |1..  io%=2.18...|
00007520  31 42 1c 20 20 e7 20 79  25 3e 30 20 8c 20 69 6f  |1B.  . y%>0 . io|
00007530  25 3d 30 20 8b 20 69 6f  25 3d 31 0d 31 4c 05 cd  |%=0 . io%=1.1L..|
00007540  0d 31 56 1a c8 8e 20 69  63 6f 6e 69 6e 66 6f 25  |.1V... iconinfo%|
00007550  21 28 69 25 2a 33 32 29  20 ca 0d 31 60 19 20 20  |!(i%*32) ..1`.  |
00007560  c9 20 31 3a e7 20 69 6f  25 3d 31 20 8c 20 69 6f  |. 1:. io%=1 . io|
00007570  25 3d 30 0d 31 6a 0f 20  20 c9 20 32 3a 69 6f 25  |%=0.1j.  . 2:io%|
00007580  3d 32 0d 31 74 0f 20 20  c9 20 35 3a 69 6f 25 3d  |=2.1t.  . 5:io%=|
00007590  32 0d 31 7e 19 20 20 c9  20 37 3a e7 20 69 6f 25  |2.1~.  . 7:. io%|
000075a0  3d 31 20 8c 20 69 6f 25  3d 30 0d 31 88 0f 20 20  |=1 . io%=0.1..  |
000075b0  c9 20 39 3a 69 6f 25 3d  30 0d 31 92 10 20 20 c9  |. 9:io%=0.1..  .|
000075c0  20 31 36 3a 69 6f 25 3d  32 0d 31 9c 1a 20 20 c9  | 16:io%=2.1..  .|
000075d0  20 31 38 3a e7 20 69 6f  25 3d 31 20 8c 20 69 6f  | 18:. io%=1 . io|
000075e0  25 3d 30 0d 31 a6 05 cb  0d 31 b0 08 3d 69 6f 25  |%=0.1....1..=io%|
000075f0  0d 31 ba 04 0d 31 c4 1d  dd f2 43 72 65 61 74 65  |.1...1....Create|
00007600  4f 62 6a 28 6f 62 6a 25  2c 78 63 25 2c 79 63 25  |Obj(obj%,xc%,yc%|
00007610  29 0d 31 ce 0f f2 52 65  6d 41 6c 6c 44 72 61 67  |).1...RemAllDrag|
00007620  0d 31 d8 10 f2 4d 6f 64  54 69 74 6c 65 28 30 29  |.1...ModTitle(0)|
00007630  0d 31 e2 13 74 65 6d 70  25 21 30 3d 77 77 6f 72  |.1..temp%!0=wwor|
00007640  6b 68 25 0d 31 ec 22 c8  99 22 57 69 6d 70 5f 47  |kh%.1.".."Wimp_G|
00007650  65 74 57 69 6e 64 6f 77  53 74 61 74 65 22 2c 2c  |etWindowState",,|
00007660  74 65 6d 70 25 0d 31 f6  1f 78 25 3d 78 63 25 2d  |temp%.1..x%=xc%-|
00007670  28 74 65 6d 70 25 21 34  29 2b 28 74 65 6d 70 25  |(temp%!4)+(temp%|
00007680  21 32 30 29 0d 32 00 20  79 25 3d 79 63 25 2d 28  |!20).2. y%=yc%-(|
00007690  74 65 6d 70 25 21 31 36  29 2b 28 74 65 6d 70 25  |temp%!16)+(temp%|
000076a0  21 32 34 29 0d 32 0a 11  78 25 3d 28 78 25 81 39  |!24).2..x%=(x%.9|
000076b0  36 29 2a 39 36 0d 32 14  15 79 25 3d 28 28 79 25  |6)*96.2..y%=((y%|
000076c0  81 35 36 29 2d 31 29 2a  35 36 0d 32 1e 13 74 65  |.56)-1)*56.2..te|
000076d0  6d 70 25 21 30 3d 77 77  6f 72 6b 68 25 0d 32 28  |mp%!0=wworkh%.2(|
000076e0  0e 74 65 6d 70 25 21 34  3d 78 25 0d 32 32 0e 74  |.temp%!4=x%.22.t|
000076f0  65 6d 70 25 21 38 3d 79  25 0d 32 3c 12 74 65 6d  |emp%!8=y%.2<.tem|
00007700  70 25 21 31 32 3d 78 25  2b 39 32 0d 32 46 12 74  |p%!12=x%+92.2F.t|
00007710  65 6d 70 25 21 31 36 3d  79 25 2b 35 32 0d 32 50  |emp%!16=y%+52.2P|
00007720  2e 74 65 6d 70 25 21 32  30 3d 25 30 30 30 30 31  |.temp%!20=%00001|
00007730  30 30 30 30 30 30 30 30  30 30 30 31 30 31 30 30  |0000000000010100|
00007740  30 30 30 30 30 30 31 31  30 31 30 0d 32 5a 13 24  |00000011010.2Z.$|
00007750  28 74 65 6d 70 25 2b 32  34 29 3d 64 66 24 0d 32  |(temp%+24)=df$.2|
00007760  64 22 c8 99 22 57 69 6d  70 5f 43 72 65 61 74 65  |d".."Wimp_Create|
00007770  49 63 6f 6e 22 2c 2c 74  65 6d 70 25 b8 69 68 25  |Icon",,temp%.ih%|
00007780  0d 32 6e 16 e7 20 69 68  25 3e 3d 6d 61 78 69 63  |.2n.. ih%>=maxic|
00007790  6f 6e 73 25 20 8c 0d 32  78 15 20 20 74 65 6d 70  |ons% ..2x.  temp|
000077a0  25 21 30 3d 77 77 6f 72  6b 68 25 0d 32 82 11 20  |%!0=wworkh%.2.. |
000077b0  20 74 65 6d 70 25 21 34  3d 69 68 25 0d 32 8c 20  | temp%!4=ih%.2. |
000077c0  20 20 c8 99 22 57 69 6d  70 5f 44 65 6c 65 74 65  |  .."Wimp_Delete|
000077d0  49 63 6f 6e 22 2c 2c 74  65 6d 70 25 0d 32 96 25  |Icon",,temp%.2.%|
000077e0  20 20 f2 52 65 70 6f 72  74 45 72 72 28 22 54 6f  |  .ReportErr("To|
000077f0  6f 20 6d 61 6e 79 20 6f  62 6a 65 63 74 73 2e 22  |o many objects."|
00007800  29 0d 32 a0 05 cc 0d 32  aa 0f 20 20 c8 8e 20 6f  |).2....2..  .. o|
00007810  62 6a 25 20 ca 0d 32 b4  33 20 20 20 20 c9 20 30  |bj% ..2.3    . 0|
00007820  3a 6c 25 3d a4 41 6c 6c  6f 63 28 32 36 30 29 3a  |:l%=.Alloc(260):|
00007830  e7 20 6c 25 3c 3e 2d 31  20 8c 20 f2 56 43 4f 73  |. l%<>-1 . .VCOs|
00007840  69 6e 28 6c 25 2b 34 29  0d 32 be 11 20 20 20 20  |in(l%+4).2..    |
00007850  c9 20 31 3a 6c 25 3d 2d  31 0d 32 c8 42 20 20 20  |. 1:l%=-1.2.B   |
00007860  20 c9 20 32 3a 6c 25 3d  a4 41 6c 6c 6f 63 28 35  | . 2:l%=.Alloc(5|
00007870  32 30 29 3a e7 20 6c 25  3c 3e 2d 31 20 8c 20 e3  |20):. l%<>-1 . .|
00007880  54 25 3d 6c 25 2b 38 b8  6c 25 2b 35 31 36 88 34  |T%=l%+8.l%+516.4|
00007890  3a 21 54 25 3d 2d 31 3a  ed 54 25 0d 32 d2 11 20  |:!T%=-1:.T%.2.. |
000078a0  20 20 20 c9 20 33 3a 6c  25 3d 2d 31 0d 32 dc 11  |   . 3:l%=-1.2..|
000078b0  20 20 20 20 c9 20 34 3a  6c 25 3d 2d 31 0d 32 e6  |    . 4:l%=-1.2.|
000078c0  2e 20 20 20 20 c9 20 35  3a 6c 25 3d a4 41 6c 6c  |.    . 5:l%=.All|
000078d0  6f 63 28 34 29 3a e7 20  6c 25 3c 3e 2d 31 20 8c  |oc(4):. l%<>-1 .|
000078e0  20 21 6c 25 3d 26 31 30  30 30 30 0d 32 f0 18 20  | !l%=&10000.2.. |
000078f0  20 20 20 c9 20 36 3a 6c  25 3d a4 41 6c 6c 6f 63  |   . 6:l%=.Alloc|
00007900  28 34 29 0d 32 fa 2e 20  20 20 20 c9 20 37 3a 6c  |(4).2..    . 7:l|
00007910  25 3d a4 41 6c 6c 6f 63  28 34 29 3a e7 20 6c 25  |%=.Alloc(4):. l%|
00007920  3c 3e 2d 31 20 8c 20 21  6c 25 3d 26 31 30 30 30  |<>-1 . !l%=&1000|
00007930  30 0d 33 04 18 20 20 20  20 c9 20 38 3a 6c 25 3d  |0.3..    . 8:l%=|
00007940  a4 41 6c 6c 6f 63 28 34  29 0d 33 0e 18 20 20 20  |.Alloc(4).3..   |
00007950  20 c9 20 39 3a 6c 25 3d  a4 41 6c 6c 6f 63 28 34  | . 9:l%=.Alloc(4|
00007960  29 0d 33 18 12 20 20 20  20 c9 20 31 33 3a 6c 25  |).3..    . 13:l%|
00007970  3d 2d 31 0d 33 22 19 20  20 20 20 c9 20 31 34 3a  |=-1.3".    . 14:|
00007980  6c 25 3d a4 41 6c 6c 6f  63 28 34 29 0d 33 2c 12  |l%=.Alloc(4).3,.|
00007990  20 20 20 20 c9 20 31 35  3a 6c 25 3d 2d 31 0d 33  |    . 15:l%=-1.3|
000079a0  36 12 20 20 20 20 c9 20  31 36 3a 6c 25 3d 2d 31  |6.    . 16:l%=-1|
000079b0  0d 33 40 12 20 20 20 20  c9 20 31 37 3a 6c 25 3d  |.3@.    . 17:l%=|
000079c0  2d 31 0d 33 4a 12 20 20  20 20 c9 20 31 38 3a 6c  |-1.3J.    . 18:l|
000079d0  25 3d 2d 31 0d 33 54 07  20 20 cb 0d 33 5e 0f 20  |%=-1.3T.  ..3^. |
000079e0  20 e7 20 6c 25 3d 2d 31  20 8c 0d 33 68 17 20 20  | . l%=-1 ..3h.  |
000079f0  20 20 74 65 6d 70 25 21  30 3d 77 77 6f 72 6b 68  |  temp%!0=wworkh|
00007a00  25 0d 33 72 13 20 20 20  20 74 65 6d 70 25 21 34  |%.3r.    temp%!4|
00007a10  3d 69 68 25 0d 33 7c 22  20 20 20 20 c8 99 22 57  |=ih%.3|"    .."W|
00007a20  69 6d 70 5f 44 65 6c 65  74 65 49 63 6f 6e 22 2c  |imp_DeleteIcon",|
00007a30  2c 74 65 6d 70 25 0d 33  86 29 20 20 20 20 f2 52  |,temp%.3.)    .R|
00007a40  65 70 6f 72 74 45 72 72  28 22 4e 6f 20 72 6f 6f  |eportErr("No roo|
00007a50  6d 20 66 6f 72 20 6f 62  6a 65 63 74 2e 22 29 0d  |m for object.").|
00007a60  33 90 07 20 20 cc 0d 33  9a 21 20 20 20 20 69 63  |3..  ..3.!    ic|
00007a70  6f 6e 69 6e 66 6f 25 21  28 69 68 25 2a 33 32 2b  |oninfo%!(ih%*32+|
00007a80  30 29 3d 6f 62 6a 25 0d  33 a4 1f 20 20 20 20 69  |0)=obj%.3..    i|
00007a90  63 6f 6e 69 6e 66 6f 25  21 28 69 68 25 2a 33 32  |coninfo%!(ih%*32|
00007aa0  2b 34 29 3d 78 25 0d 33  ae 1f 20 20 20 20 69 63  |+4)=x%.3..    ic|
00007ab0  6f 6e 69 6e 66 6f 25 21  28 69 68 25 2a 33 32 2b  |oninfo%!(ih%*32+|
00007ac0  38 29 3d 79 25 0d 33 b8  20 20 20 20 20 69 63 6f  |8)=y%.3.     ico|
00007ad0  6e 69 6e 66 6f 25 21 28  69 68 25 2a 33 32 2b 31  |ninfo%!(ih%*32+1|
00007ae0  32 29 3d 6c 25 0d 33 c2  20 20 20 20 20 69 63 6f  |2)=l%.3.     ico|
00007af0  6e 69 6e 66 6f 25 21 28  69 68 25 2a 33 32 2b 31  |ninfo%!(ih%*32+1|
00007b00  36 29 3d 2d 31 0d 33 cc  20 20 20 20 20 69 63 6f  |6)=-1.3.     ico|
00007b10  6e 69 6e 66 6f 25 21 28  69 68 25 2a 33 32 2b 32  |ninfo%!(ih%*32+2|
00007b20  30 29 3d 2d 31 0d 33 d6  20 20 20 20 20 69 63 6f  |0)=-1.3.     ico|
00007b30  6e 69 6e 66 6f 25 21 28  69 68 25 2a 33 32 2b 32  |ninfo%!(ih%*32+2|
00007b40  34 29 3d 2d 31 0d 33 e0  20 20 20 20 20 69 63 6f  |4)=-1.3.     ico|
00007b50  6e 69 6e 66 6f 25 21 28  69 68 25 2a 33 32 2b 32  |ninfo%!(ih%*32+2|
00007b60  38 29 3d 31 35 0d 33 ea  07 20 20 cd 0d 33 f4 05  |8)=15.3..  ..3..|
00007b70  cd 0d 33 fe 36 c8 99 22  57 69 6d 70 5f 46 6f 72  |..3.6.."Wimp_For|
00007b80  63 65 52 65 64 72 61 77  22 2c 77 77 6f 72 6b 68  |ceRedraw",wworkh|
00007b90  25 2c 78 25 2c 79 25 2c  78 25 2b 34 36 2a 32 2c  |%,x%,y%,x%+46*2,|
00007ba0  79 25 2b 31 33 2a 34 0d  34 08 05 e1 0d 34 12 04  |y%+13*4.4....4..|
00007bb0  0d 34 1c 10 dd f2 49 63  6f 6e 42 43 6c 69 63 6b  |.4....IconBClick|
00007bc0  0d 34 26 13 c8 8e 20 70  6f 6c 6c 65 64 62 25 21  |.4&... polledb%!|
00007bd0  38 20 ca 0d 34 30 15 20  20 c9 20 31 2c 34 3a f2  |8 ..40.  . 1,4:.|
00007be0  4f 70 65 6e 57 6f 72 6b  0d 34 3a 71 20 20 c9 20  |OpenWork.4:q  . |
00007bf0  32 3a 6c 61 73 74 6d 78  25 3d 70 6f 6c 6c 65 64  |2:lastmx%=polled|
00007c00  62 25 21 30 2d 36 34 3a  6c 61 73 74 6d 79 25 3d  |b%!0-64:lastmy%=|
00007c10  39 36 2b 31 37 36 3a 6c  61 73 74 6d 65 6e 75 25  |96+176:lastmenu%|
00007c20  3d 69 63 6f 6e 6d 65 6e  75 25 3a c8 99 22 57 69  |=iconmenu%:.."Wi|
00007c30  6d 70 5f 43 72 65 61 74  65 4d 65 6e 75 22 2c 2c  |mp_CreateMenu",,|
00007c40  6c 61 73 74 6d 65 6e 75  25 2c 6c 61 73 74 6d 78  |lastmenu%,lastmx|
00007c50  25 2c 6c 61 73 74 6d 79  25 0d 34 44 05 cb 0d 34  |%,lastmy%.4D...4|
00007c60  4e 05 e1 0d 34 58 04 0d  34 62 0e dd f2 4f 70 65  |N...4X..4b...Ope|
00007c70  6e 57 6f 72 6b 0d 34 6c  16 70 6f 6c 6c 65 64 62  |nWork.4l.polledb|
00007c80  25 21 30 3d 77 77 6f 72  6b 68 25 0d 34 76 25 c8  |%!0=wworkh%.4v%.|
00007c90  99 22 57 69 6d 70 5f 47  65 74 57 69 6e 64 6f 77  |."Wimp_GetWindow|
00007ca0  53 74 61 74 65 22 2c 2c  70 6f 6c 6c 65 64 62 25  |State",,polledb%|
00007cb0  0d 34 80 12 70 6f 6c 6c  65 64 62 25 21 32 38 3d  |.4..polledb%!28=|
00007cc0  2d 31 0d 34 8a 18 6f 6c  64 77 6f 72 6b 78 25 3d  |-1.4..oldworkx%=|
00007cd0  70 6f 6c 6c 65 64 62 25  21 34 0d 34 94 10 f2 4f  |polledb%!4.4...O|
00007ce0  70 65 6e 5f 57 69 6e 64  6f 77 0d 34 9e 14 74 65  |pen_Window.4..te|
00007cf0  6d 70 25 21 30 3d 77 73  74 61 74 73 68 25 0d 34  |mp%!0=wstatsh%.4|
00007d00  a8 22 c8 99 22 57 69 6d  70 5f 47 65 74 57 69 6e  |.".."Wimp_GetWin|
00007d10  64 6f 77 53 74 61 74 65  22 2c 2c 74 65 6d 70 25  |dowState",,temp%|
00007d20  0d 34 b2 0f 74 65 6d 70  25 21 32 38 3d 2d 31 0d  |.4..temp%!28=-1.|
00007d30  34 bc 1e c8 99 22 57 69  6d 70 5f 4f 70 65 6e 57  |4...."Wimp_OpenW|
00007d40  69 6e 64 6f 77 22 2c 2c  74 65 6d 70 25 0d 34 c6  |indow",,temp%.4.|
00007d50  05 e1 0d 34 d0 04 0d 34  da 13 dd f2 55 73 65 72  |...4...4....User|
00007d60  5f 44 72 61 67 5f 42 6f  78 0d 34 e4 0e f2 44 72  |_Drag_Box.4...Dr|
00007d70  61 67 53 61 76 65 64 0d  34 ee 05 e1 0d 34 f8 04  |agSaved.4....4..|
00007d80  0d 35 02 11 dd f2 4b 65  79 5f 50 72 65 73 73 65  |.5....Key_Presse|
00007d90  64 0d 35 0c 18 e7 20 70  6f 6c 6c 65 64 62 25 21  |d.5... polledb%!|
00007da0  32 34 3d 26 31 63 63 20  8c 0d 35 16 1e 20 20 c8  |24=&1cc ..5..  .|
00007db0  99 22 57 69 6d 70 5f 50  72 6f 63 65 73 73 4b 65  |."Wimp_ProcessKe|
00007dc0  79 22 2c 26 31 63 63 0d  35 20 05 cc 0d 35 2a 15  |y",&1cc.5 ...5*.|
00007dd0  20 20 c8 8e 20 70 6f 6c  6c 65 64 62 25 21 30 20  |  .. polledb%!0 |
00007de0  ca 0d 35 34 1f 20 20 20  20 c9 20 77 63 6f 6e 73  |..54.    . wcons|
00007df0  74 61 6e 74 68 25 3a f2  4b 65 79 43 6f 6e 73 74  |tanth%:.KeyConst|
00007e00  0d 35 3e 1c 20 20 20 20  c9 20 77 69 6e 70 75 74  |.5>.    . winput|
00007e10  68 25 3a f2 4b 65 79 49  6e 70 75 74 0d 35 48 1c  |h%:.KeyInput.5H.|
00007e20  20 20 20 20 c9 20 77 6d  75 6c 74 63 68 25 3a f2  |    . wmultch%:.|
00007e30  4b 65 79 4d 75 6c 74 43  0d 35 52 66 20 20 20 20  |KeyMultC.5Rf    |
00007e40  c9 20 77 73 74 61 74 73  68 25 3a e7 28 28 70 6f  |. wstatsh%:.((po|
00007e50  6c 6c 65 64 62 25 21 34  3d 33 29 84 28 70 6f 6c  |lledb%!4=3).(pol|
00007e60  6c 65 64 62 25 21 34 3d  38 29 29 80 28 70 6f 6c  |ledb%!4=8)).(pol|
00007e70  6c 65 64 62 25 21 32 34  3d 31 33 29 20 8c 20 c8  |ledb%!24=13) . .|
00007e80  99 22 57 69 6d 70 5f 53  65 74 43 61 72 65 74 50  |."Wimp_SetCaretP|
00007e90  6f 73 69 74 69 6f 6e 22  2c 2d 31 2c 2d 31 0d 35  |osition",-1,-1.5|
00007ea0  5c 07 20 20 cb 0d 35 66  05 cd 0d 35 70 05 e1 0d  |\.  ..5f...5p...|
00007eb0  35 7a 04 0d 35 84 0e dd  f2 4b 65 79 49 6e 70 75  |5z..5....KeyInpu|
00007ec0  74 0d 35 8e 10 f2 4d 6f  64 54 69 74 6c 65 28 30  |t.5...ModTitle(0|
00007ed0  29 0d 35 98 27 e7 20 28  70 6f 6c 6c 65 64 62 25  |).5.'. (polledb%|
00007ee0  21 34 3d 31 29 80 28 70  6f 6c 6c 65 64 62 25 21  |!4=1).(polledb%!|
00007ef0  32 34 3d 31 33 29 20 8c  0d 35 a2 16 20 20 74 65  |24=13) ..5..  te|
00007f00  6d 70 25 21 30 3d 77 69  6e 70 75 74 68 25 0d 35  |mp%!0=winputh%.5|
00007f10  ac 0f 20 20 74 65 6d 70  25 21 34 3d 31 0d 35 b6  |..  temp%!4=1.5.|
00007f20  22 20 20 c8 99 22 57 69  6d 70 5f 47 65 74 49 63  |"  .."Wimp_GetIc|
00007f30  6f 6e 53 74 61 74 65 22  2c 2c 74 65 6d 70 25 0d  |onState",,temp%.|
00007f40  35 c0 1c 20 20 24 28 69  6e 70 70 74 72 25 29 3d  |5..  $(inpptr%)=|
00007f50  24 28 74 65 6d 70 25 21  32 38 29 0d 35 ca 1a 20  |$(temp%!28).5.. |
00007f60  20 69 6e 70 70 74 72 25  21 32 35 36 3d 69 6e 70  | inpptr%!256=inp|
00007f70  74 79 70 65 25 0d 35 d4  21 20 20 c8 99 22 57 69  |type%.5.!  .."Wi|
00007f80  6d 70 5f 43 6c 6f 73 65  57 69 6e 64 6f 77 22 2c  |mp_CloseWindow",|
00007f90  2c 74 65 6d 70 25 0d 35  de 05 cd 0d 35 e8 05 e1  |,temp%.5....5...|
00007fa0  0d 35 f2 04 0d 35 fc 0e  dd f2 4b 65 79 43 6f 6e  |.5...5....KeyCon|
00007fb0  73 74 0d 36 06 10 f2 4d  6f 64 54 69 74 6c 65 28  |st.6...ModTitle(|
00007fc0  30 29 0d 36 10 27 e7 20  28 70 6f 6c 6c 65 64 62  |0).6.'. (polledb|
00007fd0  25 21 34 3d 30 29 80 28  70 6f 6c 6c 65 64 62 25  |%!4=0).(polledb%|
00007fe0  21 32 34 3d 31 33 29 20  8c 0d 36 1a 19 20 20 74  |!24=13) ..6..  t|
00007ff0  65 6d 70 25 21 30 3d 77  63 6f 6e 73 74 61 6e 74  |emp%!0=wconstant|
00008000  68 25 0d 36 24 0f 20 20  74 65 6d 70 25 21 34 3d  |h%.6$.  temp%!4=|
00008010  30 0d 36 2e 22 20 20 c8  99 22 57 69 6d 70 5f 47  |0.6."  .."Wimp_G|
00008020  65 74 49 63 6f 6e 53 74  61 74 65 22 2c 2c 74 65  |etIconState",,te|
00008030  6d 70 25 0d 36 38 16 20  20 76 3d bb 28 24 28 74  |mp%.68.  v=.($(t|
00008040  65 6d 70 25 21 32 38 29  29 0d 36 42 14 20 20 e7  |emp%!28)).6B.  .|
00008050  20 94 28 76 29 3e 33 32  37 36 37 20 8c 0d 36 4c  | .(v)>32767 ..6L|
00008060  44 20 20 20 20 f2 52 65  70 6f 72 74 45 72 72 28  |D    .ReportErr(|
00008070  22 4f 6e 6c 79 20 6e 75  6d 62 65 72 73 20 62 65  |"Only numbers be|
00008080  74 77 65 65 6e 20 2d 33  32 37 36 37 20 61 6e 64  |tween -32767 and|
00008090  20 33 32 37 36 37 20 61  6c 6c 6f 77 65 64 2e 22  | 32767 allowed."|
000080a0  29 0d 36 56 07 20 20 cc  0d 36 60 1b 20 20 20 20  |).6V.  ..6`.    |
000080b0  21 63 6f 6e 73 74 70 74  72 25 3d 26 31 30 30 30  |!constptr%=&1000|
000080c0  30 2a 76 0d 36 6a 23 20  20 20 20 c8 99 22 57 69  |0*v.6j#    .."Wi|
000080d0  6d 70 5f 43 6c 6f 73 65  57 69 6e 64 6f 77 22 2c  |mp_CloseWindow",|
000080e0  2c 74 65 6d 70 25 0d 36  74 13 20 20 20 20 63 6f  |,temp%.6t.    co|
000080f0  6e 73 74 70 74 72 25 3d  30 0d 36 7e 07 20 20 cd  |nstptr%=0.6~.  .|
00008100  0d 36 88 05 cd 0d 36 92  05 e1 0d 36 9c 04 0d 36  |.6....6....6...6|
00008110  a6 0e dd f2 4b 65 79 4d  75 6c 74 43 0d 36 b0 10  |....KeyMultC.6..|
00008120  f2 4d 6f 64 54 69 74 6c  65 28 30 29 0d 36 ba 27  |.ModTitle(0).6.'|
00008130  e7 20 28 70 6f 6c 6c 65  64 62 25 21 34 3d 30 29  |. (polledb%!4=0)|
00008140  80 28 70 6f 6c 6c 65 64  62 25 21 32 34 3d 31 33  |.(polledb%!24=13|
00008150  29 20 8c 0d 36 c4 16 20  20 74 65 6d 70 25 21 30  |) ..6..  temp%!0|
00008160  3d 77 6d 75 6c 74 63 68  25 0d 36 ce 0f 20 20 74  |=wmultch%.6..  t|
00008170  65 6d 70 25 21 34 3d 30  0d 36 d8 22 20 20 c8 99  |emp%!4=0.6."  ..|
00008180  22 57 69 6d 70 5f 47 65  74 49 63 6f 6e 53 74 61  |"Wimp_GetIconSta|
00008190  74 65 22 2c 2c 74 65 6d  70 25 0d 36 e2 16 20 20  |te",,temp%.6..  |
000081a0  76 3d bb 28 24 28 74 65  6d 70 25 21 32 38 29 29  |v=.($(temp%!28))|
000081b0  0d 36 ec 14 20 20 e7 20  94 28 76 29 3e 33 32 37  |.6..  . .(v)>327|
000081c0  36 37 20 8c 0d 36 f6 44  20 20 20 20 f2 52 65 70  |67 ..6.D    .Rep|
000081d0  6f 72 74 45 72 72 28 22  4f 6e 6c 79 20 6e 75 6d  |ortErr("Only num|
000081e0  62 65 72 73 20 62 65 74  77 65 65 6e 20 2d 33 32  |bers between -32|
000081f0  37 36 37 20 61 6e 64 20  33 32 37 36 37 20 61 6c  |767 and 32767 al|
00008200  6c 6f 77 65 64 2e 22 29  0d 37 00 07 20 20 cc 0d  |lowed.").7..  ..|
00008210  37 0a 1c 20 20 20 20 21  6d 63 6f 6e 73 74 70 74  |7..    !mconstpt|
00008220  72 25 3d 26 31 30 30 30  30 2a 76 0d 37 14 23 20  |r%=&10000*v.7.# |
00008230  20 20 20 c8 99 22 57 69  6d 70 5f 43 6c 6f 73 65  |   .."Wimp_Close|
00008240  57 69 6e 64 6f 77 22 2c  2c 74 65 6d 70 25 0d 37  |Window",,temp%.7|
00008250  1e 14 20 20 20 20 6d 63  6f 6e 73 74 70 74 72 25  |..    mconstptr%|
00008260  3d 30 0d 37 28 07 20 20  cd 0d 37 32 05 cd 0d 37  |=0.7(.  ..72...7|
00008270  3c 05 e1 0d 37 46 04 0d  37 50 11 dd f2 4d 65 6e  |<...7F..7P...Men|
00008280  75 5f 53 65 6c 65 63 74  0d 37 5a 22 c8 99 22 57  |u_Select.7Z".."W|
00008290  69 6d 70 5f 47 65 74 50  6f 69 6e 74 65 72 49 6e  |imp_GetPointerIn|
000082a0  66 6f 22 2c 2c 74 65 6d  70 25 0d 37 64 13 6f 6c  |fo",,temp%.7d.ol|
000082b0  64 62 75 74 25 3d 74 65  6d 70 25 21 38 0d 37 6e  |dbut%=temp%!8.7n|
000082c0  11 f2 4d 65 6e 75 5f 53  65 6c 65 63 74 32 0d 37  |..Menu_Select2.7|
000082d0  78 42 e7 20 28 6f 6c 64  62 75 74 25 80 31 29 20  |xB. (oldbut%.1) |
000082e0  8c 20 c8 99 22 57 69 6d  70 5f 43 72 65 61 74 65  |. .."Wimp_Create|
000082f0  4d 65 6e 75 22 2c 2c 6c  61 73 74 6d 65 6e 75 25  |Menu",,lastmenu%|
00008300  2c 6c 61 73 74 6d 78 25  2c 6c 61 73 74 6d 79 25  |,lastmx%,lastmy%|
00008310  0d 37 82 05 e1 0d 37 8c  04 0d 37 96 12 dd f2 4d  |.7....7...7....M|
00008320  65 6e 75 5f 53 65 6c 65  63 74 32 0d 37 a0 12 c8  |enu_Select2.7...|
00008330  8e 20 6c 61 73 74 6d 65  6e 75 25 20 ca 0d 37 aa  |. lastmenu% ..7.|
00008340  1b 20 20 c9 20 69 63 6f  6e 6d 65 6e 75 25 3a f2  |.  . iconmenu%:.|
00008350  4d 53 65 6c 49 63 6f 6e  0d 37 b4 1b 20 20 c9 20  |MSelIcon.7..  . |
00008360  77 6f 72 6b 6d 65 6e 75  25 3a f2 4d 53 65 6c 57  |workmenu%:.MSelW|
00008370  6f 72 6b 0d 37 be 4b 20  20 c9 20 61 64 64 6d 65  |ork.7.K  . addme|
00008380  6e 75 25 3a 70 6f 6c 6c  65 64 62 25 21 34 3d 70  |nu%:polledb%!4=p|
00008390  6f 6c 6c 65 64 62 25 21  30 3a 70 6f 6c 6c 65 64  |olledb%!0:polled|
000083a0  62 25 21 38 3d 2d 31 3a  70 6f 6c 6c 65 64 62 25  |b%!8=-1:polledb%|
000083b0  21 30 3d 30 3a f2 4d 53  65 6c 57 6f 72 6b 0d 37  |!0=0:.MSelWork.7|
000083c0  c8 05 cb 0d 37 d2 05 e1  0d 37 dc 04 0d 37 e6 0e  |....7....7...7..|
000083d0  dd f2 4d 53 65 6c 49 63  6f 6e 0d 37 f0 1c e7 20  |..MSelIcon.7... |
000083e0  70 6f 6c 6c 65 64 62 25  21 30 3d 32 20 8c 20 f2  |polledb%!0=2 . .|
000083f0  43 6c 65 61 72 32 0d 37  fa 1f e7 20 70 6f 6c 6c  |Clear2.7... poll|
00008400  65 64 62 25 21 30 3d 33  20 8c 20 f2 43 6c 6f 73  |edb%!0=3 . .Clos|
00008410  65 44 6f 77 6e 0d 38 04  05 e1 0d 38 0e 04 0d 38  |eDown.8....8...8|
00008420  18 0e dd f2 4d 53 65 6c  57 6f 72 6b 0d 38 22 13  |....MSelWork.8".|
00008430  c8 8e 20 70 6f 6c 6c 65  64 62 25 21 30 20 ca 0d  |.. polledb%!0 ..|
00008440  38 2c 12 20 20 c9 20 30  3a f2 4d 65 6e 75 41 64  |8,.  . 0:.MenuAd|
00008450  64 0d 38 36 12 20 20 c9  20 31 3a f2 4d 65 6e 75  |d.86.  . 1:.Menu|
00008460  53 65 6c 0d 38 40 46 20  20 c9 20 32 3a 77 6f 72  |Sel.8@F  . 2:wor|
00008470  6b 6d 65 6e 75 25 21 28  32 38 2b 32 34 2a 31 2b  |kmenu%!(28+24*1+|
00008480  30 29 3d 30 3a 77 6f 72  6b 6d 65 6e 75 25 21 28  |0)=0:workmenu%!(|
00008490  32 38 2b 32 34 2a 32 2b  30 29 3d 31 3a f2 4d 65  |28+24*2+0)=1:.Me|
000084a0  6e 75 43 6f 6e 6e 65 63  74 0d 38 4a 13 20 20 c9  |nuConnect.8J.  .|
000084b0  20 33 3a f2 4d 65 6e 75  43 61 6c 63 0d 38 54 14  | 3:.MenuCalc.8T.|
000084c0  20 20 c9 20 34 3a f2 53  77 61 70 54 6f 6f 6c 73  |  . 4:.SwapTools|
000084d0  0d 38 5e 05 cb 0d 38 68  0e f2 41 64 6a 54 6f 6f  |.8^...8h..AdjToo|
000084e0  6c 73 43 0d 38 72 05 e1  0d 38 7c 04 0d 38 86 0f  |lsC.8r...8|..8..|
000084f0  dd f2 53 77 61 70 54 6f  6f 6c 73 0d 38 90 13 74  |..SwapTools.8..t|
00008500  6f 6f 6c 73 25 3d ac 20  74 6f 6f 6c 73 25 0d 38  |ools%=. tools%.8|
00008510  9a 10 e7 20 74 6f 6f 6c  73 25 3d 30 20 8c 0d 38  |... tools%=0 ..8|
00008520  a4 16 20 20 74 65 6d 70  25 21 30 3d 77 74 6f 6f  |..  temp%!0=wtoo|
00008530  6c 73 68 25 0d 38 ae 21  20 20 c8 99 22 57 69 6d  |lsh%.8.!  .."Wim|
00008540  70 5f 43 6c 6f 73 65 57  69 6e 64 6f 77 22 2c 2c  |p_CloseWindow",,|
00008550  74 65 6d 70 25 0d 38 b8  1f 20 20 77 6f 72 6b 6d  |temp%.8..  workm|
00008560  65 6e 75 25 21 28 32 38  2b 32 34 2a 34 2b 30 29  |enu%!(28+24*4+0)|
00008570  3d 31 32 38 0d 38 c2 05  cc 0d 38 cc 18 20 20 70  |=128.8....8..  p|
00008580  6f 6c 6c 65 64 62 25 21  30 3d 77 77 6f 72 6b 68  |olledb%!0=wworkh|
00008590  25 0d 38 d6 27 20 20 c8  99 22 57 69 6d 70 5f 47  |%.8.'  .."Wimp_G|
000085a0  65 74 57 69 6e 64 6f 77  53 74 61 74 65 22 2c 2c  |etWindowState",,|
000085b0  70 6f 6c 6c 65 64 62 25  0d 38 e0 1a 20 20 6f 6c  |polledb%.8..  ol|
000085c0  64 77 6f 72 6b 78 25 3d  70 6f 6c 6c 65 64 62 25  |dworkx%=polledb%|
000085d0  21 34 0d 38 ea 12 20 20  f2 4f 70 65 6e 5f 57 69  |!4.8..  .Open_Wi|
000085e0  6e 64 6f 77 0d 38 f4 21  20 20 77 6f 72 6b 6d 65  |ndow.8.!  workme|
000085f0  6e 75 25 21 28 32 38 2b  32 34 2a 34 2b 30 29 3d  |nu%!(28+24*4+0)=|
00008600  31 32 38 2b 31 0d 38 fe  05 cd 0d 39 08 05 e1 0d  |128+1.8....9....|
00008610  39 12 04 0d 39 1c 0d dd  f2 4d 65 6e 75 41 64 64  |9...9....MenuAdd|
00008620  0d 39 26 13 c8 8e 20 70  6f 6c 6c 65 64 62 25 21  |.9&... polledb%!|
00008630  34 20 ca 0d 39 30 1c 20  20 c9 20 30 3a 64 66 75  |4 ..90.  . 0:dfu|
00008640  6e 63 25 3d 30 3a 64 66  24 3d 22 76 63 6f 22 0d  |nc%=0:df$="vco".|
00008650  39 3a 1e 20 20 c9 20 31  3a 64 66 75 6e 63 25 3d  |9:.  . 1:dfunc%=|
00008660  31 3a 64 66 24 3d 22 6e  6f 69 73 65 22 0d 39 44  |1:df$="noise".9D|
00008670  1b 20 20 c9 20 32 3a 64  66 75 6e 63 25 3d 32 3a  |.  . 2:dfunc%=2:|
00008680  64 66 24 3d 22 65 67 22  0d 39 4e 1e 20 20 c9 20  |df$="eg".9N.  . |
00008690  33 3a 64 66 75 6e 63 25  3d 35 3a 64 66 24 3d 22  |3:dfunc%=5:df$="|
000086a0  63 6f 6e 73 74 22 0d 39  58 1f 20 20 c9 20 34 3a  |const".9X.  . 4:|
000086b0  64 66 75 6e 63 25 3d 33  3a 64 66 24 3d 22 66 69  |dfunc%=3:df$="fi|
000086c0  6c 74 6c 6f 22 0d 39 62  1f 20 20 c9 20 35 3a 64  |ltlo".9b.  . 5:d|
000086d0  66 75 6e 63 25 3d 34 3a  64 66 24 3d 22 66 69 6c  |func%=4:df$="fil|
000086e0  74 68 69 22 0d 39 6c 1d  20 20 c9 20 36 3a 64 66  |thi".9l.  . 6:df|
000086f0  75 6e 63 25 3d 36 3a 64  66 24 3d 22 6d 75 6c 74  |unc%=6:df$="mult|
00008700  22 0d 39 76 1e 20 20 c9  20 37 3a 64 66 75 6e 63  |".9v.  . 7:dfunc|
00008710  25 3d 37 3a 64 66 24 3d  22 6d 75 6c 74 63 22 0d  |%=7:df$="multc".|
00008720  39 80 1c 20 20 c9 20 38  3a 64 66 75 6e 63 25 3d  |9..  . 8:dfunc%=|
00008730  38 3a 64 66 24 3d 22 61  64 64 22 0d 39 8a 1d 20  |8:df$="add".9.. |
00008740  20 c9 20 39 3a 64 66 75  6e 63 25 3d 31 33 3a 64  | . 9:dfunc%=13:d|
00008750  66 24 3d 22 73 75 62 22  0d 39 94 22 20 20 c9 20  |f$="sub".9."  . |
00008760  31 30 3a 64 66 75 6e 63  25 3d 31 37 3a 64 66 24  |10:dfunc%=17:df$|
00008770  3d 22 73 61 6d 68 6f 6c  64 22 0d 39 9e 21 20 20  |="samhold".9.!  |
00008780  c9 20 31 31 3a 64 66 75  6e 63 25 3d 31 38 3a 64  |. 11:dfunc%=18:d|
00008790  66 24 3d 22 6e 6c 64 69  73 74 22 0d 39 a8 20 20  |f$="nldist".9.  |
000087a0  20 c9 20 31 32 3a 64 66  75 6e 63 25 3d 31 34 3a  | . 12:dfunc%=14:|
000087b0  64 66 24 3d 22 70 75 6c  73 65 22 0d 39 b2 20 20  |df$="pulse".9.  |
000087c0  20 c9 20 31 33 3a 64 66  75 6e 63 25 3d 31 35 3a  | . 13:dfunc%=15:|
000087d0  64 66 24 3d 22 64 65 6c  61 79 22 0d 39 bc 20 20  |df$="delay".9.  |
000087e0  20 c9 20 31 34 3a 64 66  75 6e 63 25 3d 39 3a 64  | . 14:dfunc%=9:d|
000087f0  66 24 3d 22 6f 75 74 70  75 74 22 0d 39 c6 20 20  |f$="output".9.  |
00008800  20 c9 20 31 35 3a 64 66  75 6e 63 25 3d 31 36 3a  | . 15:dfunc%=16:|
00008810  64 66 24 3d 22 69 6e 70  75 74 22 0d 39 d0 05 cb  |df$="input".9...|
00008820  0d 39 da 46 e7 20 70 6f  6c 6c 65 64 62 25 21 34  |.9.F. polledb%!4|
00008830  3c 3e 2d 31 20 8c 20 77  6f 72 6b 6d 65 6e 75 25  |<>-1 . workmenu%|
00008840  21 28 32 38 2b 32 34 2a  31 2b 30 29 3d 30 3a 77  |!(28+24*1+0)=0:w|
00008850  6f 72 6b 6d 65 6e 75 25  21 28 32 38 2b 32 34 2a  |orkmenu%!(28+24*|
00008860  32 2b 30 29 3d 30 0d 39  e4 0f f2 52 65 6d 41 6c  |2+0)=0.9...RemAl|
00008870  6c 44 72 61 67 0d 39 ee  05 e1 0d 39 f8 04 0d 3a  |lDrag.9....9...:|
00008880  02 0d dd f2 4d 65 6e 75  53 65 6c 0d 3a 0c 13 c8  |....MenuSel.:...|
00008890  8e 20 70 6f 6c 6c 65 64  62 25 21 34 20 ca 0d 3a  |. polledb%!4 ..:|
000088a0  16 44 20 20 c9 20 2d 31  3a 64 66 75 6e 63 25 3d  |.D  . -1:dfunc%=|
000088b0  31 30 3a 77 6f 72 6b 6d  65 6e 75 25 21 28 32 38  |10:workmenu%!(28|
000088c0  2b 32 34 2a 31 2b 30 29  3d 31 3a 77 6f 72 6b 6d  |+24*1+0)=1:workm|
000088d0  65 6e 75 25 21 28 32 38  2b 32 34 2a 32 2b 30 29  |enu%!(28+24*2+0)|
000088e0  3d 30 0d 3a 20 11 20 20  c9 20 30 3a f2 41 6c 6c  |=0.: .  . 0:.All|
000088f0  53 65 6c 0d 3a 2a 13 20  20 c9 20 31 3a f2 43 6c  |Sel.:*.  . 1:.Cl|
00008900  65 61 72 53 65 6c 0d 3a  34 12 20 20 c9 20 32 3a  |earSel.:4.  . 2:|
00008910  f2 53 77 61 70 53 65 6c  0d 3a 3e 15 20 20 c9 20  |.SwapSel.:>.  . |
00008920  33 3a f2 44 65 6c 65 74  65 4f 62 6a 73 0d 3a 48  |3:.DeleteObjs.:H|
00008930  15 20 20 c9 20 34 3a f2  44 65 6c 65 74 65 49 6e  |.  . 4:.DeleteIn|
00008940  70 74 0d 3a 52 05 cb 0d  3a 5c 0f f2 52 65 6d 41  |pt.:R...:\..RemA|
00008950  6c 6c 44 72 61 67 0d 3a  66 05 e1 0d 3a 70 04 0d  |llDrag.:f...:p..|
00008960  3a 7a 0d dd f2 53 77 61  70 53 65 6c 0d 3a 84 15  |:z...SwapSel.:..|
00008970  e3 54 25 3d 30 b8 6d 61  78 69 63 6f 6e 73 25 2d  |.T%=0.maxicons%-|
00008980  31 0d 3a 8e 2d 20 20 e7  69 63 6f 6e 69 6e 66 6f  |1.:.-  .iconinfo|
00008990  25 21 28 54 25 2a 33 32  29 3c 3e 2d 31 20 8c 20  |%!(T%*32)<>-1 . |
000089a0  f2 53 77 61 70 49 63 6f  6e 53 28 54 25 29 0d 3a  |.SwapIconS(T%).:|
000089b0  98 07 ed 54 25 0d 3a a2  05 e1 0d 3a ac 04 0d 3a  |...T%.:....:...:|
000089c0  b6 0e dd f2 43 6c 65 61  72 53 65 6c 0d 3a c0 15  |....ClearSel.:..|
000089d0  e3 54 25 3d 30 b8 6d 61  78 69 63 6f 6e 73 25 2d  |.T%=0.maxicons%-|
000089e0  31 0d 3a ca 2e 20 20 e7  69 63 6f 6e 69 6e 66 6f  |1.:..  .iconinfo|
000089f0  25 21 28 54 25 2a 33 32  29 3c 3e 2d 31 20 8c 20  |%!(T%*32)<>-1 . |
00008a00  f2 53 65 74 49 63 6f 6e  53 28 54 25 2c 30 29 0d  |.SetIconS(T%,0).|
00008a10  3a d4 07 ed 54 25 0d 3a  de 05 e1 0d 3a e8 04 0d  |:...T%.:....:...|
00008a20  3a f2 0c dd f2 41 6c 6c  53 65 6c 0d 3a fc 15 e3  |:....AllSel.:...|
00008a30  54 25 3d 30 b8 6d 61 78  69 63 6f 6e 73 25 2d 31  |T%=0.maxicons%-1|
00008a40  0d 3b 06 2e 20 20 e7 69  63 6f 6e 69 6e 66 6f 25  |.;..  .iconinfo%|
00008a50  21 28 54 25 2a 33 32 29  3c 3e 2d 31 20 8c 20 f2  |!(T%*32)<>-1 . .|
00008a60  53 65 74 49 63 6f 6e 53  28 54 25 2c 31 29 0d 3b  |SetIconS(T%,1).;|
00008a70  10 07 ed 54 25 0d 3b 1a  05 e1 0d 3b 24 04 0d 3b  |...T%.;....;$..;|
00008a80  2e 10 dd f2 44 65 6c 65  74 65 4f 62 6a 73 0d 3b  |....DeleteObjs.;|
00008a90  38 15 e3 54 25 3d 30 b8  6d 61 78 69 63 6f 6e 73  |8..T%=0.maxicons|
00008aa0  25 2d 31 0d 3b 42 3e 20  20 e7 28 69 63 6f 6e 69  |%-1.;B>  .(iconi|
00008ab0  6e 66 6f 25 21 28 54 25  2a 33 32 29 3c 3e 2d 31  |nfo%!(T%*32)<>-1|
00008ac0  29 80 28 69 63 6f 6e 69  6e 66 6f 25 21 28 54 25  |).(iconinfo%!(T%|
00008ad0  2a 33 32 2b 32 38 29 29  80 28 31 3c 3c 34 29 20  |*32+28)).(1<<4) |
00008ae0  8c 0d 3b 4c 66 20 20 20  20 e7 20 69 63 6f 6e 69  |..;Lf    . iconi|
00008af0  6e 66 6f 25 21 28 54 25  2a 33 32 2b 31 32 29 3d  |nfo%!(T%*32+12)=|
00008b00  63 6f 6e 73 74 70 74 72  25 20 8c 20 74 65 6d 70  |constptr% . temp|
00008b10  25 21 30 3d 77 63 6f 6e  73 74 61 6e 74 68 25 3a  |%!0=wconstanth%:|
00008b20  c8 99 22 57 69 6d 70 5f  43 6c 6f 73 65 57 69 6e  |.."Wimp_CloseWin|
00008b30  64 6f 77 22 2c 2c 74 65  6d 70 25 3a 63 6f 6e 73  |dow",,temp%:cons|
00008b40  74 70 74 72 25 3d 30 0d  3b 56 65 20 20 20 20 e7  |tptr%=0.;Ve    .|
00008b50  20 69 63 6f 6e 69 6e 66  6f 25 21 28 54 25 2a 33  | iconinfo%!(T%*3|
00008b60  32 2b 31 32 29 3d 6d 63  6f 6e 73 74 70 74 72 25  |2+12)=mconstptr%|
00008b70  20 8c 20 74 65 6d 70 25  21 30 3d 77 6d 75 6c 74  | . temp%!0=wmult|
00008b80  63 68 25 3a c8 99 22 57  69 6d 70 5f 43 6c 6f 73  |ch%:.."Wimp_Clos|
00008b90  65 57 69 6e 64 6f 77 22  2c 2c 74 65 6d 70 25 3a  |eWindow",,temp%:|
00008ba0  6d 63 6f 6e 73 74 70 74  72 25 3d 30 0d 3b 60 5d  |mconstptr%=0.;`]|
00008bb0  20 20 20 20 e7 20 69 63  6f 6e 69 6e 66 6f 25 21  |    . iconinfo%!|
00008bc0  28 54 25 2a 33 32 2b 31  32 29 3d 76 63 6f 70 74  |(T%*32+12)=vcopt|
00008bd0  72 25 20 8c 20 74 65 6d  70 25 21 30 3d 77 76 63  |r% . temp%!0=wvc|
00008be0  6f 68 25 3a c8 99 22 57  69 6d 70 5f 43 6c 6f 73  |oh%:.."Wimp_Clos|
00008bf0  65 57 69 6e 64 6f 77 22  2c 2c 74 65 6d 70 25 3a  |eWindow",,temp%:|
00008c00  76 63 6f 70 74 72 25 3d  30 0d 3b 6a 5a 20 20 20  |vcoptr%=0.;jZ   |
00008c10  20 e7 20 69 63 6f 6e 69  6e 66 6f 25 21 28 54 25  | . iconinfo%!(T%|
00008c20  2a 33 32 2b 31 32 29 3d  65 67 70 74 72 25 20 8c  |*32+12)=egptr% .|
00008c30  20 74 65 6d 70 25 21 30  3d 77 65 67 68 25 3a c8  | temp%!0=wegh%:.|
00008c40  99 22 57 69 6d 70 5f 43  6c 6f 73 65 57 69 6e 64  |."Wimp_CloseWind|
00008c50  6f 77 22 2c 2c 74 65 6d  70 25 3a 65 67 70 74 72  |ow",,temp%:egptr|
00008c60  25 3d 30 0d 3b 74 5f 20  20 20 20 e7 20 69 63 6f  |%=0.;t_    . ico|
00008c70  6e 69 6e 66 6f 25 21 28  54 25 2a 33 32 2b 31 32  |ninfo%!(T%*32+12|
00008c80  29 3d 69 6e 70 70 74 72  25 20 8c 20 74 65 6d 70  |)=inpptr% . temp|
00008c90  25 21 30 3d 77 69 6e 70  75 74 68 25 3a c8 99 22  |%!0=winputh%:.."|
00008ca0  57 69 6d 70 5f 43 6c 6f  73 65 57 69 6e 64 6f 77  |Wimp_CloseWindow|
00008cb0  22 2c 2c 74 65 6d 70 25  3a 69 6e 70 70 74 72 25  |",,temp%:inpptr%|
00008cc0  3d 30 0d 3b 7e 66 20 20  20 20 e7 20 69 63 6f 6e  |=0.;~f    . icon|
00008cd0  69 6e 66 6f 25 21 28 54  25 2a 33 32 2b 31 32 29  |info%!(T%*32+12)|
00008ce0  3d 6e 6c 64 69 73 74 70  74 72 25 20 8c 20 74 65  |=nldistptr% . te|
00008cf0  6d 70 25 21 30 3d 77 6e  6c 64 69 73 74 68 25 3a  |mp%!0=wnldisth%:|
00008d00  c8 99 22 57 69 6d 70 5f  43 6c 6f 73 65 57 69 6e  |.."Wimp_CloseWin|
00008d10  64 6f 77 22 2c 2c 74 65  6d 70 25 3a 6e 6c 64 69  |dow",,temp%:nldi|
00008d20  73 74 70 74 72 25 3d 30  0d 3b 88 17 20 20 20 20  |stptr%=0.;..    |
00008d30  74 65 6d 70 25 21 30 3d  77 77 6f 72 6b 68 25 0d  |temp%!0=wworkh%.|
00008d40  3b 92 12 20 20 20 20 74  65 6d 70 25 21 34 3d 54  |;..    temp%!4=T|
00008d50  25 0d 3b 9c 22 20 20 20  20 c8 99 22 57 69 6d 70  |%.;."    .."Wimp|
00008d60  5f 44 65 6c 65 74 65 49  63 6f 6e 22 2c 2c 74 65  |_DeleteIcon",,te|
00008d70  6d 70 25 0d 3b a6 23 20  20 20 20 f2 46 72 65 65  |mp%.;.#    .Free|
00008d80  28 69 63 6f 6e 69 6e 66  6f 25 21 28 54 25 2a 33  |(iconinfo%!(T%*3|
00008d90  32 2b 31 32 29 29 0d 3b  b0 1e 20 20 20 20 69 63  |2+12)).;..    ic|
00008da0  6f 6e 69 6e 66 6f 25 21  28 54 25 2a 33 32 2b 30  |oninfo%!(T%*32+0|
00008db0  29 3d 2d 31 0d 3b ba 1e  20 20 20 20 69 63 6f 6e  |)=-1.;..    icon|
00008dc0  69 6e 66 6f 25 21 28 54  25 2a 33 32 2b 34 29 3d  |info%!(T%*32+4)=|
00008dd0  2d 31 0d 3b c4 1e 20 20  20 20 69 63 6f 6e 69 6e  |-1.;..    iconin|
00008de0  66 6f 25 21 28 54 25 2a  33 32 2b 38 29 3d 2d 31  |fo%!(T%*32+8)=-1|
00008df0  0d 3b ce 1f 20 20 20 20  69 63 6f 6e 69 6e 66 6f  |.;..    iconinfo|
00008e00  25 21 28 54 25 2a 33 32  2b 31 32 29 3d 2d 31 0d  |%!(T%*32+12)=-1.|
00008e10  3b d8 1f 20 20 20 20 69  63 6f 6e 69 6e 66 6f 25  |;..    iconinfo%|
00008e20  21 28 54 25 2a 33 32 2b  31 36 29 3d 2d 31 0d 3b  |!(T%*32+16)=-1.;|
00008e30  e2 1f 20 20 20 20 69 63  6f 6e 69 6e 66 6f 25 21  |..    iconinfo%!|
00008e40  28 54 25 2a 33 32 2b 32  30 29 3d 2d 31 0d 3b ec  |(T%*32+20)=-1.;.|
00008e50  1f 20 20 20 20 69 63 6f  6e 69 6e 66 6f 25 21 28  |.    iconinfo%!(|
00008e60  54 25 2a 33 32 2b 32 34  29 3d 2d 31 0d 3b f6 1f  |T%*32+24)=-1.;..|
00008e70  20 20 20 20 69 63 6f 6e  69 6e 66 6f 25 21 28 54  |    iconinfo%!(T|
00008e80  25 2a 33 32 2b 32 38 29  3d 2d 31 0d 3c 00 19 20  |%*32+28)=-1.<.. |
00008e90  20 20 20 e3 53 25 3d 30  b8 6d 61 78 69 63 6f 6e  |   .S%=0.maxicon|
00008ea0  73 25 2d 31 0d 3c 0a 23  20 20 20 20 20 20 e7 20  |s%-1.<.#      . |
00008eb0  69 63 6f 6e 69 6e 66 6f  25 21 28 53 25 2a 33 32  |iconinfo%!(S%*32|
00008ec0  29 3c 3e 2d 31 20 8c 0d  3c 14 3f 20 20 20 20 20  |)<>-1 ..<.?     |
00008ed0  20 20 20 e7 20 69 63 6f  6e 69 6e 66 6f 25 21 28  |   . iconinfo%!(|
00008ee0  53 25 2a 33 32 2b 31 36  29 3d 54 25 20 8c 20 69  |S%*32+16)=T% . i|
00008ef0  63 6f 6e 69 6e 66 6f 25  21 28 53 25 2a 33 32 2b  |coninfo%!(S%*32+|
00008f00  31 36 29 3d 2d 31 0d 3c  1e 3f 20 20 20 20 20 20  |16)=-1.<.?      |
00008f10  20 20 e7 20 69 63 6f 6e  69 6e 66 6f 25 21 28 53  |  . iconinfo%!(S|
00008f20  25 2a 33 32 2b 32 30 29  3d 54 25 20 8c 20 69 63  |%*32+20)=T% . ic|
00008f30  6f 6e 69 6e 66 6f 25 21  28 53 25 2a 33 32 2b 32  |oninfo%!(S%*32+2|
00008f40  30 29 3d 2d 31 0d 3c 28  0b 20 20 20 20 20 20 cd  |0)=-1.<(.      .|
00008f50  0d 3c 32 0b 20 20 20 20  ed 53 25 0d 3c 3c 07 20  |.<2.    .S%.<<. |
00008f60  20 cd 0d 3c 46 07 ed 54  25 0d 3c 50 2f c8 99 22  | ..<F..T%.<P/.."|
00008f70  57 69 6d 70 5f 46 6f 72  63 65 52 65 64 72 61 77  |Wimp_ForceRedraw|
00008f80  22 2c 77 77 6f 72 6b 68  25 2c 30 2c 2d 34 30 30  |",wworkh%,0,-400|
00008f90  30 2c 34 30 30 30 2c 30  0d 3c 5a 05 e1 0d 3c 64  |0,4000,0.<Z...<d|
00008fa0  04 0d 3c 6e 10 dd f2 44  65 6c 65 74 65 49 6e 70  |..<n...DeleteInp|
00008fb0  74 0d 3c 78 15 e3 54 25  3d 30 b8 6d 61 78 69 63  |t.<x..T%=0.maxic|
00008fc0  6f 6e 73 25 2d 31 0d 3c  82 86 20 20 e7 28 69 63  |ons%-1.<..  .(ic|
00008fd0  6f 6e 69 6e 66 6f 25 21  28 54 25 2a 33 32 29 3c  |oninfo%!(T%*32)<|
00008fe0  3e 2d 31 29 80 28 69 63  6f 6e 69 6e 66 6f 25 21  |>-1).(iconinfo%!|
00008ff0  28 54 25 2a 33 32 2b 32  38 29 29 80 28 31 3c 3c  |(T%*32+28)).(1<<|
00009000  34 29 20 8c 20 69 63 6f  6e 69 6e 66 6f 25 21 28  |4) . iconinfo%!(|
00009010  54 25 2a 33 32 2b 31 36  29 3d 2d 31 3a 69 63 6f  |T%*32+16)=-1:ico|
00009020  6e 69 6e 66 6f 25 21 28  54 25 2a 33 32 2b 32 30  |ninfo%!(T%*32+20|
00009030  29 3d 2d 31 3a 69 63 6f  6e 69 6e 66 6f 25 21 28  |)=-1:iconinfo%!(|
00009040  54 25 2a 33 32 2b 32 38  29 3d 33 31 0d 3c 8c 07  |T%*32+28)=31.<..|
00009050  ed 54 25 0d 3c 96 2f c8  99 22 57 69 6d 70 5f 46  |.T%.<./.."Wimp_F|
00009060  6f 72 63 65 52 65 64 72  61 77 22 2c 77 77 6f 72  |orceRedraw",wwor|
00009070  6b 68 25 2c 30 2c 2d 34  30 30 30 2c 34 30 30 30  |kh%,0,-4000,4000|
00009080  2c 30 0d 3c a0 05 e1 0d  3c aa 04 0d 3c b4 15 dd  |,0.<....<...<...|
00009090  f2 53 65 74 49 63 6f 6e  53 28 69 25 2c 73 25 29  |.SetIconS(i%,s%)|
000090a0  0d 3c be 13 74 65 6d 70  25 21 30 3d 77 77 6f 72  |.<..temp%!0=wwor|
000090b0  6b 68 25 0d 3c c8 0e 74  65 6d 70 25 21 34 3d 69  |kh%.<..temp%!4=i|
000090c0  25 0d 3c d2 12 74 65 6d  70 25 21 38 3d 73 25 3c  |%.<..temp%!8=s%<|
000090d0  3c 32 31 0d 3c dc 12 74  65 6d 70 25 21 31 32 3d  |<21.<..temp%!12=|
000090e0  31 3c 3c 32 31 0d 3c e6  20 c8 99 22 57 69 6d 70  |1<<21.<. .."Wimp|
000090f0  5f 53 65 74 49 63 6f 6e  53 74 61 74 65 22 2c 2c  |_SetIconState",,|
00009100  74 65 6d 70 25 0d 3c f0  43 69 63 6f 6e 69 6e 66  |temp%.<.Ciconinf|
00009110  6f 25 21 28 69 25 2a 33  32 2b 32 38 29 3d 28 28  |o%!(i%*32+28)=((|
00009120  69 63 6f 6e 69 6e 66 6f  25 21 28 69 25 2a 33 32  |iconinfo%!(i%*32|
00009130  2b 32 38 29 29 80 26 66  66 66 66 66 66 65 66 29  |+28)).&ffffffef)|
00009140  84 28 73 25 3c 3c 34 29  0d 3c fa 05 e1 0d 3d 04  |.(s%<<4).<....=.|
00009150  04 0d 3d 0e 13 dd f2 53  77 61 70 49 63 6f 6e 53  |..=....SwapIconS|
00009160  28 69 25 29 0d 3d 18 13  74 65 6d 70 25 21 30 3d  |(i%).=..temp%!0=|
00009170  77 77 6f 72 6b 68 25 0d  3d 22 0e 74 65 6d 70 25  |wworkh%.=".temp%|
00009180  21 34 3d 69 25 0d 3d 2c  11 74 65 6d 70 25 21 38  |!4=i%.=,.temp%!8|
00009190  3d 31 3c 3c 32 31 0d 3d  36 0e 74 65 6d 70 25 21  |=1<<21.=6.temp%!|
000091a0  31 32 3d 30 0d 3d 40 20  c8 99 22 57 69 6d 70 5f  |12=0.=@ .."Wimp_|
000091b0  53 65 74 49 63 6f 6e 53  74 61 74 65 22 2c 2c 74  |SetIconState",,t|
000091c0  65 6d 70 25 0d 3d 4a 36  69 63 6f 6e 69 6e 66 6f  |emp%.=J6iconinfo|
000091d0  25 21 28 69 25 2a 33 32  2b 32 38 29 3d 28 69 63  |%!(i%*32+28)=(ic|
000091e0  6f 6e 69 6e 66 6f 25 21  28 69 25 2a 33 32 2b 32  |oninfo%!(i%*32+2|
000091f0  38 29 29 82 28 31 3c 3c  34 29 0d 3d 54 05 e1 0d  |8)).(1<<4).=T...|
00009200  3d 5e 04 0d 3d 68 11 dd  f2 4d 65 6e 75 43 6f 6e  |=^..=h...MenuCon|
00009210  6e 65 63 74 0d 3d 72 0f  f2 52 65 6d 41 6c 6c 44  |nect.=r..RemAllD|
00009220  72 61 67 0d 3d 7c 0d 64  66 75 6e 63 25 3d 31 32  |rag.=|.dfunc%=12|
00009230  0d 3d 86 05 e1 0d 3d 90  04 0d 3d 9a 0e dd f2 4d  |.=....=...=....M|
00009240  65 6e 75 43 61 6c 63 0d  3d a4 16 f2 53 65 6e 64  |enuCalc.=...Send|
00009250  53 46 58 45 44 28 26 39  61 62 63 33 29 0d 3d ae  |SFXED(&9abc3).=.|
00009260  05 e1 0d 3d b8 04 0d 3d  c2 13 dd f2 53 74 61 72  |...=...=....Star|
00009270  74 52 65 63 65 69 76 65  64 0d 3d cc 14 74 65 6d  |tReceived.=..tem|
00009280  70 25 21 30 3d 77 73 74  61 74 73 68 25 0d 3d d6  |p%!0=wstatsh%.=.|
00009290  0d 74 65 6d 70 25 21 34  3d 33 0d 3d e0 20 c8 99  |.temp%!4=3.=. ..|
000092a0  22 57 69 6d 70 5f 47 65  74 49 63 6f 6e 53 74 61  |"Wimp_GetIconSta|
000092b0  74 65 22 2c 2c 74 65 6d  70 25 0d 3d ea 1a 73 61  |te",,temp%.=..sa|
000092c0  6d 6c 65 6e 25 3d bb 28  24 28 74 65 6d 70 25 21  |mlen%=.($(temp%!|
000092d0  32 38 29 29 0d 3d f4 1c  e7 20 73 61 6d 6c 65 6e  |28)).=... samlen|
000092e0  25 3c 3d 30 20 8c 20 73  61 6d 6c 65 6e 25 3d 31  |%<=0 . samlen%=1|
000092f0  0d 3d fe 1b e7 20 73 61  6d 6c 65 6e 25 3e 70 6f  |.=... samlen%>po|
00009300  6c 6c 65 64 62 25 21 32  34 20 8c 0d 3e 08 1c 20  |lledb%!24 ..>.. |
00009310  20 f2 52 65 70 6f 72 74  45 72 72 28 22 4e 6f 20  | .ReportErr("No |
00009320  72 6f 6f 6d 2e 22 29 0d  3e 12 05 cc 0d 3e 1c 1b  |room.").>....>..|
00009330  20 20 73 74 61 72 74 73  61 6d 25 3d 70 6f 6c 6c  |  startsam%=poll|
00009340  65 64 62 25 21 32 30 0d  3e 26 10 20 20 f2 4d 65  |edb%!20.>&.  .Me|
00009350  6e 75 43 61 6c 63 32 0d  3e 30 05 cd 0d 3e 3a 05  |nuCalc2.>0...>:.|
00009360  e1 0d 3e 44 04 0d 3e 4e  0f dd f2 4d 65 6e 75 43  |..>D..>N...MenuC|
00009370  61 6c 63 32 0d 3e 58 0a  69 6f 25 3d 2d 31 0d 3e  |alc2.>X.io%=-1.>|
00009380  62 15 e3 54 25 3d 30 b8  6d 61 78 69 63 6f 6e 73  |b..T%=0.maxicons|
00009390  25 2d 31 0d 3e 6c 1d 20  20 e7 20 69 63 6f 6e 69  |%-1.>l.  . iconi|
000093a0  6e 66 6f 25 21 28 54 25  2a 33 32 29 3d 39 20 8c  |nfo%!(T%*32)=9 .|
000093b0  0d 3e 76 22 20 20 20 20  e7 20 69 6f 25 3d 2d 31  |.>v"    . io%=-1|
000093c0  20 8c 20 69 6f 25 3d 54  25 20 8b 20 69 6f 25 3d  | . io%=T% . io%=|
000093d0  2d 32 0d 3e 80 07 20 20  cd 0d 3e 8a 07 ed 54 25  |-2.>..  ..>...T%|
000093e0  0d 3e 94 0c c8 8e 20 69  6f 25 20 ca 0d 3e 9e 23  |.>.... io% ..>.#|
000093f0  20 20 c9 20 2d 31 3a f2  52 65 70 6f 72 74 45 72  |  . -1:.ReportEr|
00009400  72 28 22 4e 6f 20 6f 75  74 70 75 74 21 22 29 0d  |r("No output!").|
00009410  3e a8 2e 20 20 c9 20 2d  32 3a f2 52 65 70 6f 72  |>..  . -2:.Repor|
00009420  74 45 72 72 28 22 4d 6f  72 65 20 74 68 61 6e 20  |tErr("More than |
00009430  6f 6e 65 20 6f 75 74 70  75 74 21 22 29 0d 3e b2  |one output!").>.|
00009440  14 20 20 7f 3a f2 43 61  6c 63 4f 4b 28 69 6f 25  |.  .:.CalcOK(io%|
00009450  29 0d 3e bc 05 cb 0d 3e  c6 05 e1 0d 3e d0 04 0d  |).>....>....>...|
00009460  3e da 10 dd f2 43 61 6c  63 4f 4b 28 69 25 29 0d  |>....CalcOK(i%).|
00009470  3e e4 14 74 65 6d 70 25  21 30 3d 77 73 74 61 74  |>..temp%!0=wstat|
00009480  73 68 25 0d 3e ee 0d 74  65 6d 70 25 21 34 3d 33  |sh%.>..temp%!4=3|
00009490  0d 3e f8 20 c8 99 22 57  69 6d 70 5f 47 65 74 49  |.>. .."Wimp_GetI|
000094a0  63 6f 6e 53 74 61 74 65  22 2c 2c 74 65 6d 70 25  |conState",,temp%|
000094b0  0d 3f 02 1a 73 61 6d 6c  65 6e 25 3d bb 28 24 28  |.?..samlen%=.($(|
000094c0  74 65 6d 70 25 21 32 38  29 29 0d 3f 0c 1c e7 20  |temp%!28)).?... |
000094d0  73 61 6d 6c 65 6e 25 3c  3d 30 20 8c 20 73 61 6d  |samlen%<=0 . sam|
000094e0  6c 65 6e 25 3d 31 0d 3f  16 15 e7 20 73 74 61 72  |len%=1.?... star|
000094f0  74 73 61 6d 25 3c 3e 2d  31 20 8c 0d 3f 20 0f 20  |tsam%<>-1 ..? . |
00009500  20 65 25 3d 30 3a 54 25  3d 30 0d 3f 2a 1e 20 20  | e%=0:T%=0.?*.  |
00009510  c8 95 20 28 54 25 3c 6d  61 78 69 63 6f 6e 73 25  |.. (T%<maxicons%|
00009520  29 80 28 65 25 3d 30 29  0d 3f 34 1e 20 20 20 20  |).(e%=0).?4.    |
00009530  c8 8e 20 69 63 6f 6e 69  6e 66 6f 25 21 28 54 25  |.. iconinfo%!(T%|
00009540  2a 33 32 29 20 ca 0d 3f  3e 2c 20 20 20 20 20 20  |*32) ..?>,      |
00009550  c9 20 30 3a f2 49 6e 69  74 56 43 4f 28 69 63 6f  |. 0:.InitVCO(ico|
00009560  6e 69 6e 66 6f 25 21 28  54 25 2a 33 32 2b 31 32  |ninfo%!(T%*32+12|
00009570  29 29 0d 3f 48 33 20 20  20 20 20 20 c9 20 32 3a  |)).?H3      . 2:|
00009580  f2 49 6e 69 74 45 47 28  69 63 6f 6e 69 6e 66 6f  |.InitEG(iconinfo|
00009590  25 21 28 54 25 2a 33 32  2b 31 32 29 2c 73 61 6d  |%!(T%*32+12),sam|
000095a0  6c 65 6e 25 29 0d 3f 52  2d 20 20 20 20 20 20 c9  |len%).?R-      .|
000095b0  20 33 3a f2 49 6e 69 74  46 69 6c 74 28 69 63 6f  | 3:.InitFilt(ico|
000095c0  6e 69 6e 66 6f 25 21 28  54 25 2a 33 32 2b 31 32  |ninfo%!(T%*32+12|
000095d0  29 29 0d 3f 5c 2d 20 20  20 20 20 20 c9 20 34 3a  |)).?\-      . 4:|
000095e0  f2 49 6e 69 74 46 69 6c  74 28 69 63 6f 6e 69 6e  |.InitFilt(iconin|
000095f0  66 6f 25 21 28 54 25 2a  33 32 2b 31 32 29 29 0d  |fo%!(T%*32+12)).|
00009600  3f 66 2f 20 20 20 20 20  20 c9 20 31 34 3a f2 49  |?f/      . 14:.I|
00009610  6e 69 74 50 75 6c 73 65  28 69 63 6f 6e 69 6e 66  |nitPulse(iconinf|
00009620  6f 25 21 28 54 25 2a 33  32 2b 31 32 29 29 0d 3f  |o%!(T%*32+12)).?|
00009630  70 2f 20 20 20 20 20 20  c9 20 31 35 3a f2 49 6e  |p/      . 15:.In|
00009640  69 74 44 65 6c 61 79 28  69 63 6f 6e 69 6e 66 6f  |itDelay(iconinfo|
00009650  25 21 28 54 25 2a 33 32  2b 31 32 29 29 0d 3f 7a  |%!(T%*32+12)).?z|
00009660  32 20 20 20 20 20 20 c9  20 31 36 3a 65 25 3d a4  |2      . 16:e%=.|
00009670  49 6e 69 74 49 6e 70 75  74 28 69 63 6f 6e 69 6e  |InitInput(iconin|
00009680  66 6f 25 21 28 54 25 2a  33 32 2b 31 32 29 29 0d  |fo%!(T%*32+12)).|
00009690  3f 84 31 20 20 20 20 20  20 c9 20 31 37 3a f2 49  |?.1      . 17:.I|
000096a0  6e 69 74 53 61 6d 48 6f  6c 64 28 69 63 6f 6e 69  |nitSamHold(iconi|
000096b0  6e 66 6f 25 21 28 54 25  2a 33 32 2b 31 32 29 29  |nfo%!(T%*32+12))|
000096c0  0d 3f 8e 09 20 20 20 20  cb 0d 3f 98 0d 20 20 20  |.?..    ..?..   |
000096d0  20 54 25 2b 3d 31 0d 3f  a2 07 20 20 ce 0d 3f ac  | T%+=1.?..  ..?.|
000096e0  0f 20 20 e7 20 65 25 3c  3e 30 20 8c 0d 3f b6 2e  |.  . e%<>0 ..?..|
000096f0  20 20 20 20 f2 52 65 70  6f 72 74 45 72 72 28 22  |    .ReportErr("|
00009700  43 61 6e 27 74 20 63 6c  61 69 6d 20 69 6e 70 75  |Can't claim inpu|
00009710  74 20 6d 65 6d 6f 72 79  22 29 0d 3f c0 13 20 20  |t memory").?..  |
00009720  20 20 f2 43 6c 6f 73 65  49 6e 70 75 74 0d 3f ca  |  .CloseInput.?.|
00009730  19 20 20 20 20 c8 99 22  48 6f 75 72 67 6c 61 73  |.    .."Hourglas|
00009740  73 5f 4f 66 66 22 0d 3f  d4 07 20 20 cc 0d 3f de  |s_Off".?..  ..?.|
00009750  18 20 20 20 20 c8 99 22  48 6f 75 72 67 6c 61 73  |.    .."Hourglas|
00009760  73 5f 4f 6e 22 0d 3f e8  18 20 20 20 20 21 73 61  |s_On".?..    !sa|
00009770  6d 74 79 70 3d 73 61 6d  74 79 70 65 25 0d 3f f2  |mtyp=samtype%.?.|
00009780  1f 20 20 20 20 41 25 3d  69 63 6f 6e 69 6e 66 6f  |.    A%=iconinfo|
00009790  25 21 28 69 25 2a 33 32  2b 31 36 29 0d 3f fc 14  |%!(i%*32+16).?..|
000097a0  20 20 20 20 42 25 3d 69  63 6f 6e 69 6e 66 6f 25  |    B%=iconinfo%|
000097b0  0d 40 06 14 20 20 20 20  43 25 3d 73 74 61 72 74  |.@..    C%=start|
000097c0  73 61 6d 25 0d 40 10 12  20 20 20 20 44 25 3d 73  |sam%.@..    D%=s|
000097d0  61 6d 6c 65 6e 25 0d 40  1a 10 20 20 20 20 d6 63  |amlen%.@..    .c|
000097e0  61 6c 63 61 6c 6c 0d 40  24 19 20 20 20 20 c8 99  |alcall.@$.    ..|
000097f0  22 48 6f 75 72 67 6c 61  73 73 5f 4f 66 66 22 0d  |"Hourglass_Off".|
00009800  40 2e 13 20 20 20 20 f2  43 6c 6f 73 65 49 6e 70  |@..    .CloseInp|
00009810  75 74 0d 40 38 18 20 20  20 20 74 65 6d 70 25 21  |ut.@8.    temp%!|
00009820  32 30 3d 73 61 6d 6c 65  6e 25 0d 40 42 19 20 20  |20=samlen%.@B.  |
00009830  20 20 74 65 6d 70 25 21  32 34 3d 73 61 6d 74 79  |  temp%!24=samty|
00009840  70 65 25 0d 40 4c 1e 20  20 20 20 24 28 74 65 6d  |pe%.@L.    $(tem|
00009850  70 25 2b 32 38 29 3d 73  68 65 65 74 6e 61 6d 65  |p%+28)=sheetname|
00009860  24 0d 40 56 1a 20 20 20  20 f2 53 65 6e 64 53 46  |$.@V.    .SendSF|
00009870  58 45 44 28 26 39 61 62  63 34 29 0d 40 60 14 20  |XED(&9abc4).@`. |
00009880  20 20 20 73 74 61 72 74  73 61 6d 25 3d 2d 31 0d  |   startsam%=-1.|
00009890  40 6a 07 20 20 cd 0d 40  74 05 cd 0d 40 7e 05 e1  |@j.  ..@t...@~..|
000098a0  0d 40 88 04 0d 40 92 11  dd f2 49 6e 69 74 56 43  |.@...@....InitVC|
000098b0  4f 28 6c 25 29 0d 40 9c  09 21 6c 25 3d 30 0d 40  |O(l%).@..!l%=0.@|
000098c0  a6 05 e1 0d 40 b0 04 0d  40 ba 13 dd f2 49 6e 69  |....@...@....Ini|
000098d0  74 45 47 28 6c 25 2c 6b  25 29 0d 40 c4 0a 6c 25  |tEG(l%,k%).@..l%|
000098e0  21 30 3d 30 0d 40 ce 1c  6c 25 21 34 3d 28 36 35  |!0=0.@..l%!4=(65|
000098f0  35 33 36 2a 35 31 32 29  2f 73 61 6d 6c 65 6e 25  |536*512)/samlen%|
00009900  0d 40 d8 05 e1 0d 40 e2  04 0d 40 ec 12 dd f2 49  |.@....@...@....I|
00009910  6e 69 74 46 69 6c 74 28  6c 25 29 0d 40 f6 09 21  |nitFilt(l%).@..!|
00009920  6c 25 3d 30 0d 41 00 05  e1 0d 41 0a 04 0d 41 14  |l%=0.A....A...A.|
00009930  13 dd f2 49 6e 69 74 44  65 6c 61 79 28 6c 25 29  |...InitDelay(l%)|
00009940  0d 41 1e 1b e3 4a 25 3d  30 b8 32 35 32 88 34 3a  |.A...J%=0.252.4:|
00009950  6c 25 21 4a 25 3d 30 3a  ed 4a 25 0d 41 28 05 e1  |l%!J%=0:.J%.A(..|
00009960  0d 41 32 04 0d 41 3c 13  dd f2 49 6e 69 74 50 75  |.A2..A<...InitPu|
00009970  6c 73 65 28 6c 25 29 0d  41 46 09 21 6c 25 3d 30  |lse(l%).AF.!l%=0|
00009980  0d 41 50 05 e1 0d 41 5a  04 0d 41 64 15 dd f2 49  |.AP...AZ..Ad...I|
00009990  6e 69 74 53 61 6d 48 6f  6c 64 28 6c 25 29 0d 41  |nitSamHold(l%).A|
000099a0  6e 09 21 6c 25 3d 30 0d  41 78 05 e1 0d 41 82 04  |n.!l%=0.Ax...A..|
000099b0  0d 41 8c 13 dd a4 49 6e  69 74 49 6e 70 75 74 28  |.A....InitInput(|
000099c0  6c 25 29 0d 41 96 07 ea  20 85 0d 41 a0 25 ee 20  |l%).A... ..A.%. |
000099d0  85 20 ea 20 f2 52 65 70  6f 72 74 45 72 72 28 f6  |. . .ReportErr(.|
000099e0  24 29 3a 69 6c 25 3d 31  3a e5 20 8d 60 7a 41 0d  |$):il%=1:. .`zA.|
000099f0  41 aa 0e e7 20 24 6c 25  3d 22 22 20 8c 0d 41 b4  |A... $l%="" ..A.|
00009a00  31 20 20 f2 52 65 70 6f  72 74 45 72 72 28 22 57  |1  .ReportErr("W|
00009a10  61 72 6e 69 6e 67 3a 20  6e 6f 20 69 6e 70 75 74  |arning: no input|
00009a20  20 6e 61 6d 65 20 67 69  76 65 6e 2e 22 29 0d 41  | name given.").A|
00009a30  be 0b 20 20 69 6c 25 3d  31 0d 41 c8 05 cc 0d 41  |..  il%=1.A....A|
00009a40  d2 0f 20 20 66 25 3d 8e  28 24 6c 25 29 0d 41 dc  |..  f%=.($l%).A.|
00009a50  4d 20 20 e7 20 66 25 3d  30 20 8c 20 69 6c 25 3d  |M  . f%=0 . il%=|
00009a60  31 3a f2 52 65 70 6f 72  74 45 72 72 28 22 57 61  |1:.ReportErr("Wa|
00009a70  72 6e 69 6e 67 3a 20 63  61 6e 27 74 20 6c 6f 61  |rning: can't loa|
00009a80  64 20 69 6e 70 75 74 2e  22 29 20 8b 20 69 6c 25  |d input.") . il%|
00009a90  3d a2 23 66 25 3a d9 23  66 25 0d 41 e6 05 cd 0d  |=.#f%:.#f%.A....|
00009aa0  41 f0 14 e7 20 69 6c 25  3c 3d 30 20 8c 20 69 6c  |A... il%<=0 . il|
00009ab0  25 3d 31 0d 41 fa 32 c8  99 22 58 4f 53 5f 4d 6f  |%=1.A.2.."XOS_Mo|
00009ac0  64 75 6c 65 22 2c 36 2c  2c 2c 28 69 6c 25 2b 33  |dule",6,,,(il%+3|
00009ad0  29 80 26 66 66 66 66 66  66 66 63 20 b8 20 2c 2c  |).&fffffffc . ,,|
00009ae0  73 25 3b 76 25 0d 42 04  0c e7 20 76 25 80 31 20  |s%;v%.B... v%.1 |
00009af0  8c 0d 42 0e 0f 20 20 6c  25 21 32 37 32 3d 2d 31  |..B..  l%!272=-1|
00009b00  0d 42 18 0f 20 20 65 72  72 6f 72 25 3d 2d 31 0d  |.B..  error%=-1.|
00009b10  42 22 05 cc 0d 42 2c 20  20 20 6c 25 21 32 36 30  |B"...B,   l%!260|
00009b20  3d 28 26 31 30 30 30 2a  69 6c 25 29 2f 73 61 6d  |=(&1000*il%)/sam|
00009b30  6c 65 6e 25 0d 42 36 0e  20 20 6c 25 21 32 36 34  |len%.B6.  l%!264|
00009b40  3d 30 0d 42 40 10 20 20  6c 25 21 32 36 38 3d 69  |=0.B@.  l%!268=i|
00009b50  6c 25 0d 42 4a 0f 20 20  6c 25 21 32 37 32 3d 73  |l%.BJ.  l%!272=s|
00009b60  25 0d 42 54 0e 20 20 6c  25 21 32 37 36 3d 30 0d  |%.BT.  l%!276=0.|
00009b70  42 5e 27 20 20 e7 20 69  6c 25 3e 31 20 8c 20 ff  |B^'  . il%>1 . .|
00009b80  28 22 4c 4f 41 44 20 22  2b 24 6c 25 2b 22 20 22  |("LOAD "+$l%+" "|
00009b90  2b c3 7e 73 25 29 0d 42  68 0e 20 20 65 72 72 6f  |+.~s%).Bh.  erro|
00009ba0  72 25 3d 30 0d 42 72 05  cd 0d 42 7c 0b 3d 65 72  |r%=0.Br...B|.=er|
00009bb0  72 6f 72 25 0d 42 86 04  0d 42 90 10 dd f2 43 6c  |ror%.B...B....Cl|
00009bc0  6f 73 65 49 6e 70 75 74  0d 42 9a 13 e3 54 25 3d  |oseInput.B...T%=|
00009bd0  30 b8 6d 61 78 69 63 6f  6e 73 25 0d 42 a4 1e 20  |0.maxicons%.B.. |
00009be0  20 e7 20 69 63 6f 6e 69  6e 66 6f 25 21 28 54 25  | . iconinfo%!(T%|
00009bf0  2a 33 32 29 3d 31 36 20  8c 0d 42 ae 1f 20 20 20  |*32)=16 ..B..   |
00009c00  20 66 25 3d 69 63 6f 6e  69 6e 66 6f 25 21 28 54  | f%=iconinfo%!(T|
00009c10  25 2a 33 32 2b 31 32 29  0d 42 b8 39 20 20 20 20  |%*32+12).B.9    |
00009c20  e7 20 66 25 21 32 37 32  3c 3e 2d 31 20 8c 20 c8  |. f%!272<>-1 . .|
00009c30  99 22 58 4f 53 5f 4d 6f  64 75 6c 65 22 2c 37 2c  |."XOS_Module",7,|
00009c40  2c 66 25 21 32 37 32 3a  66 25 21 32 37 32 3d 2d  |,f%!272:f%!272=-|
00009c50  31 0d 42 c2 07 20 20 cd  0d 42 cc 07 ed 54 25 0d  |1.B..  ..B...T%.|
00009c60  42 d6 05 e1 0d 42 e0 04  0d 42 ea 12 dd f2 55 73  |B....B...B....Us|
00009c70  65 72 5f 4d 65 73 73 61  67 65 0d 42 f4 2a e3 54  |er_Message.B.*.T|
00009c80  25 3d 30 b8 32 35 35 88  34 3a 6d 65 73 73 62 6b  |%=0.255.4:messbk|
00009c90  25 21 54 25 3d 70 6f 6c  6c 65 64 62 25 21 54 25  |%!T%=polledb%!T%|
00009ca0  3a ed 54 25 0d 42 fe 12  6d 25 3d 70 6f 6c 6c 65  |:.T%.B..m%=polle|
00009cb0  64 62 25 21 31 36 0d 43  08 0b c8 8e 20 6d 25 20  |db%!16.C.... m% |
00009cc0  ca 0d 43 12 0f 20 20 c9  20 30 3a f2 51 75 69 74  |..C..  . 0:.Quit|
00009cd0  0d 43 1c 13 20 20 c9 20  31 3a f2 44 61 74 61 53  |.C..  . 1:.DataS|
00009ce0  61 76 65 0d 43 26 12 20  20 c9 20 32 3a f2 53 61  |ave.C&.  . 2:.Sa|
00009cf0  76 65 41 63 6b 0d 43 30  13 20 20 c9 20 33 3a f2  |veAck.C0.  . 3:.|
00009d00  44 61 74 61 4c 6f 61 64  0d 43 3a 13 20 20 c9 20  |DataLoad.C:.  . |
00009d10  35 3a f2 44 61 74 61 4f  70 65 6e 0d 43 44 1d 20  |5:.DataOpen.CD. |
00009d20  20 c9 20 26 39 61 62 63  35 3a f2 53 74 61 72 74  | . &9abc5:.Start|
00009d30  52 65 63 65 69 76 65 64  0d 43 4e 05 cb 0d 43 58  |Received.CN...CX|
00009d40  05 e1 0d 43 62 04 0d 43  6c 0f dd f2 43 6c 6f 73  |...Cb..Cl...Clos|
00009d50  65 44 6f 77 6e 0d 43 76  16 e7 20 73 68 65 65 74  |eDown.Cv.. sheet|
00009d60  73 61 76 65 64 25 3d 2d  31 20 8c 0d 43 80 0b 20  |saved%=-1 ..C.. |
00009d70  20 f2 51 75 69 74 0d 43  8a 05 cc 0d 43 94 4c 20  | .Quit.C....C.L |
00009d80  20 41 25 3d a4 43 6f 6e  66 69 72 6d 28 22 53 68  | A%=.Confirm("Sh|
00009d90  65 65 74 20 68 61 73 20  62 65 65 6e 20 6d 6f 64  |eet has been mod|
00009da0  69 66 69 65 64 2e 20 41  72 65 20 79 6f 75 20 73  |ified. Are you s|
00009db0  75 72 65 20 79 6f 75 20  77 61 6e 74 20 74 6f 20  |ure you want to |
00009dc0  71 75 69 74 3f 22 29 0d  43 9e 14 20 20 e7 20 41  |quit?").C..  . A|
00009dd0  25 3d 31 20 8c 20 f2 51  75 69 74 0d 43 a8 05 cd  |%=1 . .Quit.C...|
00009de0  0d 43 b2 05 e1 0d 43 bc  04 0d 43 c6 0a dd f2 51  |.C....C...C....Q|
00009df0  75 69 74 0d 43 d0 31 c8  99 22 58 4f 53 5f 53 65  |uit.C.1.."XOS_Se|
00009e00  74 56 61 72 56 61 6c 22  2c 22 53 46 58 4d 5f 54  |tVarVal","SFXM_T|
00009e10  61 73 6b 48 61 6e 64 6c  65 22 2c 22 22 2c 2d 31  |askHandle","",-1|
00009e20  2c 30 2c 30 0d 43 da 17  c8 99 22 48 6f 75 72 67  |,0,0.C...."Hourg|
00009e30  6c 61 73 73 5f 53 6d 61  73 68 22 0d 43 e4 1e c8  |lass_Smash".C...|
00009e40  99 22 57 69 6d 70 5f 42  61 73 65 4f 66 53 70 72  |."Wimp_BaseOfSpr|
00009e50  69 74 65 73 22 b8 2c 53  25 0d 43 ee 44 c8 99 22  |ites".,S%.C.D.."|
00009e60  58 4f 53 5f 53 70 72 69  74 65 4f 70 22 2c 32 35  |XOS_SpriteOp",25|
00009e70  2b 32 35 36 2c 53 25 2c  22 76 63 6f 22 3a c8 99  |+256,S%,"vco":..|
00009e80  22 58 4f 53 5f 53 70 72  69 74 65 4f 70 22 2c 32  |"XOS_SpriteOp",2|
00009e90  35 2b 32 35 36 2c 53 25  2c 22 65 67 22 0d 43 f8  |5+256,S%,"eg".C.|
00009ea0  4a c8 99 22 58 4f 53 5f  53 70 72 69 74 65 4f 70  |J.."XOS_SpriteOp|
00009eb0  22 2c 32 35 2b 32 35 36  2c 53 25 2c 22 6e 6f 69  |",25+256,S%,"noi|
00009ec0  73 65 22 3a c8 99 22 58  4f 53 5f 53 70 72 69 74  |se":.."XOS_Sprit|
00009ed0  65 4f 70 22 2c 32 35 2b  32 35 36 2c 53 25 2c 22  |eOp",25+256,S%,"|
00009ee0  66 69 6c 74 6c 6f 22 0d  44 02 4a c8 99 22 58 4f  |filtlo".D.J.."XO|
00009ef0  53 5f 53 70 72 69 74 65  4f 70 22 2c 32 35 2b 32  |S_SpriteOp",25+2|
00009f00  35 36 2c 53 25 2c 22 66  69 6c 74 68 69 22 3a c8  |56,S%,"filthi":.|
00009f10  99 22 58 4f 53 5f 53 70  72 69 74 65 4f 70 22 2c  |."XOS_SpriteOp",|
00009f20  32 35 2b 32 35 36 2c 53  25 2c 22 63 6f 6e 73 74  |25+256,S%,"const|
00009f30  22 0d 44 0c 46 c8 99 22  58 4f 53 5f 53 70 72 69  |".D.F.."XOS_Spri|
00009f40  74 65 4f 70 22 2c 32 35  2b 32 35 36 2c 53 25 2c  |teOp",25+256,S%,|
00009f50  22 61 64 64 22 3a c8 99  22 58 4f 53 5f 53 70 72  |"add":.."XOS_Spr|
00009f60  69 74 65 4f 70 22 2c 32  35 2b 32 35 36 2c 53 25  |iteOp",25+256,S%|
00009f70  2c 22 6d 75 6c 74 22 0d  44 16 48 c8 99 22 58 4f  |,"mult".D.H.."XO|
00009f80  53 5f 53 70 72 69 74 65  4f 70 22 2c 32 35 2b 32  |S_SpriteOp",25+2|
00009f90  35 36 2c 53 25 2c 22 6f  75 74 70 75 74 22 3a c8  |56,S%,"output":.|
00009fa0  99 22 58 4f 53 5f 53 70  72 69 74 65 4f 70 22 2c  |."XOS_SpriteOp",|
00009fb0  32 35 2b 32 35 36 2c 53  25 2c 22 73 75 62 22 0d  |25+256,S%,"sub".|
00009fc0  44 20 4a c8 99 22 58 4f  53 5f 53 70 72 69 74 65  |D J.."XOS_Sprite|
00009fd0  4f 70 22 2c 32 35 2b 32  35 36 2c 53 25 2c 22 64  |Op",25+256,S%,"d|
00009fe0  65 6c 61 79 22 3a c8 99  22 58 4f 53 5f 53 70 72  |elay":.."XOS_Spr|
00009ff0  69 74 65 4f 70 22 2c 32  35 2b 32 35 36 2c 53 25  |iteOp",25+256,S%|
0000a000  2c 22 6e 6c 64 69 73 74  22 0d 44 2a 49 c8 99 22  |,"nldist".D*I.."|
0000a010  58 4f 53 5f 53 70 72 69  74 65 4f 70 22 2c 32 35  |XOS_SpriteOp",25|
0000a020  2b 32 35 36 2c 53 25 2c  22 69 6e 70 75 74 22 3a  |+256,S%,"input":|
0000a030  c8 99 22 58 4f 53 5f 53  70 72 69 74 65 4f 70 22  |.."XOS_SpriteOp"|
0000a040  2c 32 35 2b 32 35 36 2c  53 25 2c 22 6d 75 6c 74  |,25+256,S%,"mult|
0000a050  63 22 0d 44 34 4b c8 99  22 58 4f 53 5f 53 70 72  |c".D4K.."XOS_Spr|
0000a060  69 74 65 4f 70 22 2c 32  35 2b 32 35 36 2c 53 25  |iteOp",25+256,S%|
0000a070  2c 22 70 75 6c 73 65 22  3a c8 99 22 58 4f 53 5f  |,"pulse":.."XOS_|
0000a080  53 70 72 69 74 65 4f 70  22 2c 32 35 2b 32 35 36  |SpriteOp",25+256|
0000a090  2c 53 25 2c 22 73 61 6d  68 6f 6c 64 22 0d 44 3e  |,S%,"samhold".D>|
0000a0a0  48 c8 99 22 58 4f 53 5f  53 70 72 69 74 65 4f 70  |H.."XOS_SpriteOp|
0000a0b0  22 2c 32 35 2b 32 35 36  2c 53 25 2c 22 70 6c 61  |",25+256,S%,"pla|
0000a0c0  63 65 22 3a c8 99 22 58  4f 53 5f 53 70 72 69 74  |ce":.."XOS_Sprit|
0000a0d0  65 4f 70 22 2c 32 35 2b  32 35 36 2c 53 25 2c 22  |eOp",25+256,S%,"|
0000a0e0  63 6f 6e 6e 22 0d 44 48  48 c8 99 22 58 4f 53 5f  |conn".DHH.."XOS_|
0000a0f0  53 70 72 69 74 65 4f 70  22 2c 32 35 2b 32 35 36  |SpriteOp",25+256|
0000a100  2c 53 25 2c 22 73 65 6c  22 3a c8 99 22 58 4f 53  |,S%,"sel":.."XOS|
0000a110  5f 53 70 72 69 74 65 4f  70 22 2c 32 35 2b 32 35  |_SpriteOp",25+25|
0000a120  36 2c 53 25 2c 22 73 65  6c 61 6c 6c 22 0d 44 52  |6,S%,"selall".DR|
0000a130  4c c8 99 22 58 4f 53 5f  53 70 72 69 74 65 4f 70  |L.."XOS_SpriteOp|
0000a140  22 2c 32 35 2b 32 35 36  2c 53 25 2c 22 73 65 6c  |",25+256,S%,"sel|
0000a150  63 6c 72 22 3a c8 99 22  58 4f 53 5f 53 70 72 69  |clr":.."XOS_Spri|
0000a160  74 65 4f 70 22 2c 32 35  2b 32 35 36 2c 53 25 2c  |teOp",25+256,S%,|
0000a170  22 73 65 6c 73 77 61 70  22 0d 44 5c 46 c8 99 22  |"selswap".D\F.."|
0000a180  58 4f 53 5f 53 70 72 69  74 65 4f 70 22 2c 32 35  |XOS_SpriteOp",25|
0000a190  2b 32 35 36 2c 53 25 2c  22 64 65 6c 22 3a c8 99  |+256,S%,"del":..|
0000a1a0  22 58 4f 53 5f 53 70 72  69 74 65 4f 70 22 2c 32  |"XOS_SpriteOp",2|
0000a1b0  35 2b 32 35 36 2c 53 25  2c 22 64 65 6c 69 22 0d  |5+256,S%,"deli".|
0000a1c0  44 66 25 c8 99 22 58 4f  53 5f 53 70 72 69 74 65  |Df%.."XOS_Sprite|
0000a1d0  4f 70 22 2c 32 35 2b 32  35 36 2c 53 25 2c 22 63  |Op",25+256,S%,"c|
0000a1e0  61 6c 63 22 0d 44 70 27  c8 99 22 57 69 6d 70 5f  |alc".Dp'.."Wimp_|
0000a1f0  43 6c 6f 73 65 44 6f 77  6e 22 2c 74 61 73 6b 68  |CloseDown",taskh|
0000a200  25 2c 26 34 62 35 33 34  31 35 34 0d 44 7a 0f c8  |%,&4b534154.Dz..|
0000a210  99 22 4f 53 5f 45 78 69  74 22 0d 44 84 05 e1 0d  |."OS_Exit".D....|
0000a220  44 8e 04 0d 44 98 0f dd  a4 47 65 74 53 46 58 45  |D...D....GetSFXE|
0000a230  44 48 0d 44 a2 3c c8 99  22 58 4f 53 5f 52 65 61  |DH.D.<.."XOS_Rea|
0000a240  64 56 61 72 56 61 6c 22  2c 22 53 46 58 45 44 5f  |dVarVal","SFXED_|
0000a250  54 61 73 6b 48 61 6e 64  6c 65 22 2c 74 65 6d 70  |TaskHandle",temp|
0000a260  32 25 2c 31 36 2c 30 2c  30 b8 2c 2c 41 25 0d 44  |2%,16,0,0.,,A%.D|
0000a270  ac 10 74 65 6d 70 32 25  3f 41 25 3d 31 33 0d 44  |..temp2%?A%=13.D|
0000a280  b6 21 e7 20 41 25 3d 30  20 8c 20 3d 30 20 8b 20  |.!. A%=0 . =0 . |
0000a290  3d a0 28 22 26 22 2b 24  74 65 6d 70 32 25 29 0d  |=.("&"+$temp2%).|
0000a2a0  44 c0 04 0d 44 ca 0a dd  f2 49 6e 69 74 0d 44 d4  |D...D....Init.D.|
0000a2b0  1c c8 99 20 22 4f 53 5f  47 65 74 45 6e 76 22 20  |... "OS_GetEnv" |
0000a2c0  b8 20 45 6e 76 53 74 72  24 0d 44 de 0d 49 25 3d  |. EnvStr$.D..I%=|
0000a2d0  31 3a 53 25 3d 30 0d 44  e8 05 f5 0d 44 f2 22 20  |1:S%=0.D....D." |
0000a2e0  20 e7 20 c1 45 6e 76 53  74 72 24 2c 49 25 2c 31  | . .EnvStr$,I%,1|
0000a2f0  29 3d 22 20 22 20 8c 20  53 25 2b 3d 31 0d 44 fc  |)=" " . S%+=1.D.|
0000a300  0b 20 20 49 25 2b 3d 31  0d 45 06 20 fd 20 28 53  |.  I%+=1.E. . (S|
0000a310  25 3d 33 29 84 28 c1 45  6e 76 53 74 72 24 2c 49  |%=3).(.EnvStr$,I|
0000a320  25 2c 31 29 3d 22 22 29  0d 45 10 14 6c 66 24 3d  |%,1)="").E..lf$=|
0000a330  c1 45 6e 76 53 74 72 24  2c 49 25 29 0d 45 1a 10  |.EnvStr$,I%).E..|
0000a340  40 25 3d 26 30 31 30 32  30 61 30 30 0d 45 24 11  |@%=&01020a00.E$.|
0000a350  6d 61 78 69 63 6f 6e 73  25 3d 31 30 30 0d 45 2e  |maxicons%=100.E.|
0000a360  10 de 20 74 65 6d 70 25  20 31 30 30 30 0d 45 38  |.. temp% 1000.E8|
0000a370  11 de 20 74 65 6d 70 32  25 20 31 30 30 30 0d 45  |.. temp2% 1000.E|
0000a380  42 11 de 20 6d 65 73 73  62 6b 25 20 35 31 32 0d  |B.. messbk% 512.|
0000a390  45 4c 3c c8 99 22 57 69  6d 70 5f 49 6e 69 74 69  |EL<.."Wimp_Initi|
0000a3a0  61 6c 69 73 65 22 2c 32  30 30 2c 26 34 62 35 33  |alise",200,&4b53|
0000a3b0  34 31 35 34 2c 22 53 46  58 4d 22 b8 76 65 72 73  |4154,"SFXM".vers|
0000a3c0  69 6f 6e 25 2c 74 61 73  6b 68 25 0d 45 56 44 e7  |ion%,taskh%.EVD.|
0000a3d0  20 76 65 72 73 69 6f 6e  25 3c 32 30 30 20 8c 20  | version%<200 . |
0000a3e0  c8 99 22 57 69 6d 70 5f  43 6c 6f 73 65 44 6f 77  |.."Wimp_CloseDow|
0000a3f0  6e 22 2c 74 61 73 6b 68  25 2c 26 34 62 35 33 34  |n",taskh%,&4b534|
0000a400  31 35 34 3a c8 99 22 4f  53 5f 45 78 69 74 22 0d  |154:.."OS_Exit".|
0000a410  45 60 3b c8 99 22 58 4f  53 5f 52 65 61 64 56 61  |E`;.."XOS_ReadVa|
0000a420  72 56 61 6c 22 2c 22 53  46 58 4d 5f 54 61 73 6b  |rVal","SFXM_Task|
0000a430  48 61 6e 64 6c 65 22 2c  74 65 6d 70 32 25 2c 31  |Handle",temp2%,1|
0000a440  36 2c 30 2c 30 b8 2c 2c  41 25 0d 45 6a 0d e7 20  |6,0,0.,,A%.Ej.. |
0000a450  41 25 3c 3e 30 20 8c 0d  45 74 29 20 20 f2 52 65  |A%<>0 ..Et)  .Re|
0000a460  70 6f 72 74 45 72 72 28  22 53 46 58 4d 20 61 6c  |portErr("SFXM al|
0000a470  72 65 61 64 79 20 72 75  6e 6e 69 6e 67 2e 22 29  |ready running.")|
0000a480  0d 45 7e 29 20 20 c8 99  22 57 69 6d 70 5f 43 6c  |.E~)  .."Wimp_Cl|
0000a490  6f 73 65 44 6f 77 6e 22  2c 74 61 73 6b 68 25 2c  |oseDown",taskh%,|
0000a4a0  26 34 62 35 33 34 31 35  34 0d 45 88 11 20 20 c8  |&4b534154.E..  .|
0000a4b0  99 22 4f 53 5f 45 78 69  74 22 0d 45 92 05 cd 0d  |."OS_Exit".E....|
0000a4c0  45 9c 14 c8 99 22 48 6f  75 72 67 6c 61 73 73 5f  |E...."Hourglass_|
0000a4d0  4f 6e 22 0d 45 a6 36 c8  99 22 58 4f 53 5f 53 65  |On".E.6.."XOS_Se|
0000a4e0  74 56 61 72 56 61 6c 22  2c 22 53 46 58 4d 5f 54  |tVarVal","SFXM_T|
0000a4f0  61 73 6b 48 61 6e 64 6c  65 22 2c c3 7e 74 61 73  |askHandle",.~tas|
0000a500  6b 68 25 2c 38 2c 30 2c  30 0d 45 b0 2e c8 99 22  |kh%,8,0,0.E...."|
0000a510  57 69 6d 70 5f 53 70 72  69 74 65 4f 70 22 2c 31  |Wimp_SpriteOp",1|
0000a520  31 2c 2c 22 3c 53 46 58  4d 24 44 69 72 3e 2e 53  |1,,"<SFXM$Dir>.S|
0000a530  70 72 69 74 65 73 22 0d  45 ba 11 48 25 3d a4 47  |prites".E..H%=.G|
0000a540  65 74 53 46 58 45 44 48  0d 45 c4 34 e7 20 48 25  |etSFXEDH.E.4. H%|
0000a550  3d 30 20 8c 20 ff 28 22  2a 57 69 6d 70 54 61 73  |=0 . .("*WimpTas|
0000a560  6b 20 52 75 6e 20 3c 53  46 58 45 44 24 44 69 72  |k Run <SFXED$Dir|
0000a570  3e 2e 5e 2e 21 53 46 58  45 44 22 29 0d 45 ce 31  |>.^.!SFXED").E.1|
0000a580  c8 99 22 57 69 6d 70 5f  4f 70 65 6e 54 65 6d 70  |.."Wimp_OpenTemp|
0000a590  6c 61 74 65 22 2c 2c 22  3c 53 46 58 4d 24 44 69  |late",,"<SFXM$Di|
0000a5a0  72 3e 2e 54 65 6d 70 6c  61 74 65 73 22 0d 45 d8  |r>.Templates".E.|
0000a5b0  12 de 20 70 69 78 74 72  61 6e 73 25 20 31 36 0d  |.. pixtrans% 16.|
0000a5c0  45 e2 10 de 20 73 63 61  6c 65 66 25 20 31 36 0d  |E... scalef% 16.|
0000a5d0  45 ec 0f de 20 77 65 67  25 20 31 30 30 30 0d 45  |E... weg% 1000.E|
0000a5e0  f6 10 de 20 77 76 63 6f  25 20 31 30 30 30 0d 46  |... wvco% 1000.F|
0000a5f0  00 13 de 20 77 6e 6c 64  69 73 74 25 20 31 30 30  |... wnldist% 100|
0000a600  30 0d 46 0a 12 de 20 77  61 62 6f 75 74 25 20 31  |0.F... wabout% 1|
0000a610  30 30 30 0d 46 14 15 de  20 77 73 61 76 65 61 73  |000.F... wsaveas|
0000a620  73 68 25 20 31 30 30 30  0d 46 1e 15 de 20 77 63  |sh% 1000.F... wc|
0000a630  6f 6e 73 74 61 6e 74 25  20 31 30 30 30 0d 46 28  |onstant% 1000.F(|
0000a640  11 de 20 77 77 6f 72 6b  25 20 31 30 30 30 0d 46  |.. wwork% 1000.F|
0000a650  32 12 de 20 77 74 6f 6f  6c 73 25 20 32 30 30 30  |2.. wtools% 2000|
0000a660  0d 46 3c 12 de 20 77 73  74 61 74 73 25 20 31 30  |.F<.. wstats% 10|
0000a670  30 30 0d 46 46 12 de 20  77 6d 75 6c 74 63 25 20  |00.FF.. wmultc% |
0000a680  31 30 30 30 0d 46 50 12  de 20 77 69 6e 70 75 74  |1000.FP.. winput|
0000a690  25 20 31 30 30 30 0d 46  5a 11 de 20 77 69 6e 73  |% 1000.FZ.. wins|
0000a6a0  74 25 20 31 30 30 30 0d  46 64 11 de 20 69 63 62  |t% 1000.Fd.. icb|
0000a6b0  75 66 25 20 34 30 30 30  0d 46 6e 12 69 63 62 75  |uf% 4000.Fn.icbu|
0000a6c0  66 6e 25 3d 69 63 62 75  66 25 0d 46 78 0f de 20  |fn%=icbuf%.Fx.. |
0000a6d0  74 6e 61 6d 65 25 20 31  36 0d 46 82 18 f2 4c 6f  |tname% 16.F...Lo|
0000a6e0  61 64 54 65 6d 70 28 77  65 67 25 2c 22 65 67 22  |adTemp(weg%,"eg"|
0000a6f0  29 0d 46 8c 1a f2 4c 6f  61 64 54 65 6d 70 28 77  |).F...LoadTemp(w|
0000a700  76 63 6f 25 2c 22 76 63  6f 22 29 0d 46 96 20 f2  |vco%,"vco").F. .|
0000a710  4c 6f 61 64 54 65 6d 70  28 77 6e 6c 64 69 73 74  |LoadTemp(wnldist|
0000a720  25 2c 22 6e 6c 64 69 73  74 22 29 0d 46 a0 1e f2  |%,"nldist").F...|
0000a730  4c 6f 61 64 54 65 6d 70  28 77 61 62 6f 75 74 25  |LoadTemp(wabout%|
0000a740  2c 22 61 62 6f 75 74 22  29 0d 46 aa 24 f2 4c 6f  |,"about").F.$.Lo|
0000a750  61 64 54 65 6d 70 28 77  73 61 76 65 61 73 73 68  |adTemp(wsaveassh|
0000a760  25 2c 22 73 61 76 65 61  73 73 68 22 29 0d 46 b4  |%,"saveassh").F.|
0000a770  24 f2 4c 6f 61 64 54 65  6d 70 28 77 63 6f 6e 73  |$.LoadTemp(wcons|
0000a780  74 61 6e 74 25 2c 22 63  6f 6e 73 74 61 6e 74 22  |tant%,"constant"|
0000a790  29 0d 46 be 1c f2 4c 6f  61 64 54 65 6d 70 28 77  |).F...LoadTemp(w|
0000a7a0  77 6f 72 6b 25 2c 22 77  6f 72 6b 22 29 0d 46 c8  |work%,"work").F.|
0000a7b0  1e f2 4c 6f 61 64 54 65  6d 70 28 77 74 6f 6f 6c  |..LoadTemp(wtool|
0000a7c0  73 25 2c 22 74 6f 6f 6c  73 22 29 0d 46 d2 1e f2  |s%,"tools").F...|
0000a7d0  4c 6f 61 64 54 65 6d 70  28 77 73 74 61 74 73 25  |LoadTemp(wstats%|
0000a7e0  2c 22 73 74 61 74 73 22  29 0d 46 dc 1e f2 4c 6f  |,"stats").F...Lo|
0000a7f0  61 64 54 65 6d 70 28 77  6d 75 6c 74 63 25 2c 22  |adTemp(wmultc%,"|
0000a800  6d 75 6c 74 63 22 29 0d  46 e6 1e f2 4c 6f 61 64  |multc").F...Load|
0000a810  54 65 6d 70 28 77 69 6e  70 75 74 25 2c 22 69 6e  |Temp(winput%,"in|
0000a820  70 75 74 22 29 0d 46 f0  1c f2 4c 6f 61 64 54 65  |put").F...LoadTe|
0000a830  6d 70 28 77 69 6e 73 74  25 2c 22 69 6e 73 74 22  |mp(winst%,"inst"|
0000a840  29 0d 46 fa 1a c8 99 22  57 69 6d 70 5f 43 6c 6f  |).F...."Wimp_Clo|
0000a850  73 65 54 65 6d 70 6c 61  74 65 22 0d 47 04 25 c8  |seTemplate".G.%.|
0000a860  99 22 57 69 6d 70 5f 43  72 65 61 74 65 57 69 6e  |."Wimp_CreateWin|
0000a870  64 6f 77 22 2c 2c 77 65  67 25 b8 77 65 67 68 25  |dow",,weg%.wegh%|
0000a880  0d 47 0e 27 c8 99 22 57  69 6d 70 5f 43 72 65 61  |.G.'.."Wimp_Crea|
0000a890  74 65 57 69 6e 64 6f 77  22 2c 2c 77 76 63 6f 25  |teWindow",,wvco%|
0000a8a0  b8 77 76 63 6f 68 25 0d  47 18 2d c8 99 22 57 69  |.wvcoh%.G.-.."Wi|
0000a8b0  6d 70 5f 43 72 65 61 74  65 57 69 6e 64 6f 77 22  |mp_CreateWindow"|
0000a8c0  2c 2c 77 6e 6c 64 69 73  74 25 b8 77 6e 6c 64 69  |,,wnldist%.wnldi|
0000a8d0  73 74 68 25 0d 47 22 2b  c8 99 22 57 69 6d 70 5f  |sth%.G"+.."Wimp_|
0000a8e0  43 72 65 61 74 65 57 69  6e 64 6f 77 22 2c 2c 77  |CreateWindow",,w|
0000a8f0  61 62 6f 75 74 25 b8 77  61 62 6f 75 74 68 25 0d  |about%.wabouth%.|
0000a900  47 2c 31 c8 99 22 57 69  6d 70 5f 43 72 65 61 74  |G,1.."Wimp_Creat|
0000a910  65 57 69 6e 64 6f 77 22  2c 2c 77 73 61 76 65 61  |eWindow",,wsavea|
0000a920  73 73 68 25 b8 77 73 61  76 65 61 73 73 68 68 25  |ssh%.wsaveasshh%|
0000a930  0d 47 36 31 c8 99 22 57  69 6d 70 5f 43 72 65 61  |.G61.."Wimp_Crea|
0000a940  74 65 57 69 6e 64 6f 77  22 2c 2c 77 63 6f 6e 73  |teWindow",,wcons|
0000a950  74 61 6e 74 25 b8 77 63  6f 6e 73 74 61 6e 74 68  |tant%.wconstanth|
0000a960  25 0d 47 40 29 c8 99 22  57 69 6d 70 5f 43 72 65  |%.G@).."Wimp_Cre|
0000a970  61 74 65 57 69 6e 64 6f  77 22 2c 2c 77 77 6f 72  |ateWindow",,wwor|
0000a980  6b 25 b8 77 77 6f 72 6b  68 25 0d 47 4a 2b c8 99  |k%.wworkh%.GJ+..|
0000a990  22 57 69 6d 70 5f 43 72  65 61 74 65 57 69 6e 64  |"Wimp_CreateWind|
0000a9a0  6f 77 22 2c 2c 77 74 6f  6f 6c 73 25 b8 77 74 6f  |ow",,wtools%.wto|
0000a9b0  6f 6c 73 68 25 0d 47 54  2b c8 99 22 57 69 6d 70  |olsh%.GT+.."Wimp|
0000a9c0  5f 43 72 65 61 74 65 57  69 6e 64 6f 77 22 2c 2c  |_CreateWindow",,|
0000a9d0  77 73 74 61 74 73 25 b8  77 73 74 61 74 73 68 25  |wstats%.wstatsh%|
0000a9e0  0d 47 5e 2b c8 99 22 57  69 6d 70 5f 43 72 65 61  |.G^+.."Wimp_Crea|
0000a9f0  74 65 57 69 6e 64 6f 77  22 2c 2c 77 6d 75 6c 74  |teWindow",,wmult|
0000aa00  63 25 b8 77 6d 75 6c 74  63 68 25 0d 47 68 2b c8  |c%.wmultch%.Gh+.|
0000aa10  99 22 57 69 6d 70 5f 43  72 65 61 74 65 57 69 6e  |."Wimp_CreateWin|
0000aa20  64 6f 77 22 2c 2c 77 69  6e 70 75 74 25 b8 77 69  |dow",,winput%.wi|
0000aa30  6e 70 75 74 68 25 0d 47  72 29 c8 99 22 57 69 6d  |nputh%.Gr).."Wim|
0000aa40  70 5f 43 72 65 61 74 65  57 69 6e 64 6f 77 22 2c  |p_CreateWindow",|
0000aa50  2c 77 69 6e 73 74 25 b8  77 69 6e 73 74 68 25 0d  |,winst%.winsth%.|
0000aa60  47 7c 0a f2 4d 65 6e 75  73 0d 47 86 0f de 20 62  |G|..Menus.G... b|
0000aa70  69 63 6f 6e 25 20 33 32  0d 47 90 0f 62 69 63 6f  |icon% 32.G..bico|
0000aa80  6e 25 21 30 3d 2d 31 0d  47 9a 0e 62 69 63 6f 6e  |n%!0=-1.G..bicon|
0000aa90  25 21 34 3d 30 0d 47 a4  0e 62 69 63 6f 6e 25 21  |%!4=0.G..bicon%!|
0000aaa0  38 3d 30 0d 47 ae 10 62  69 63 6f 6e 25 21 31 32  |8=0.G..bicon%!12|
0000aab0  3d 36 38 0d 47 b8 10 62  69 63 6f 6e 25 21 31 36  |=68.G..bicon%!16|
0000aac0  3d 36 38 0d 47 c2 1f 62  69 63 6f 6e 25 21 32 30  |=68.G..bicon%!20|
0000aad0  3d 25 30 30 31 31 30 30  30 30 30 30 30 31 31 30  |=%00110000000110|
0000aae0  31 30 0d 47 cc 18 24 28  62 69 63 6f 6e 25 2b 32  |10.G..$(bicon%+2|
0000aaf0  34 29 3d 22 21 73 66 78  6d 22 0d 47 d6 27 c8 99  |4)="!sfxm".G.'..|
0000ab00  22 57 69 6d 70 5f 43 72  65 61 74 65 49 63 6f 6e  |"Wimp_CreateIcon|
0000ab10  22 2c 2c 62 69 63 6f 6e  25 b8 62 69 63 6f 6e 68  |",,bicon%.biconh|
0000ab20  25 0d 47 e0 1c de 20 69  63 6f 6e 69 6e 66 6f 25  |%.G... iconinfo%|
0000ab30  20 6d 61 78 69 63 6f 6e  73 25 2a 33 32 0d 47 ea  | maxicons%*32.G.|
0000ab40  2c e3 54 25 3d 30 b8 6d  61 78 69 63 6f 6e 73 25  |,.T%=0.maxicons%|
0000ab50  2a 33 32 2d 34 3a 69 63  6f 6e 69 6e 66 6f 25 21  |*32-4:iconinfo%!|
0000ab60  54 25 3d 2d 31 3a ed 54  25 0d 47 f4 24 6f 6c 64  |T%=-1:.T%.G.$old|
0000ab70  64 66 75 6e 63 25 3d 31  30 3a 64 66 75 6e 63 25  |dfunc%=10:dfunc%|
0000ab80  3d 31 30 3a 64 66 24 3d  22 76 63 6f 22 0d 47 fe  |=10:df$="vco".G.|
0000ab90  2b 6f 6c 64 64 78 25 3d  2d 31 3a 6f 6c 64 64 79  |+olddx%=-1:olddy|
0000aba0  25 3d 2d 31 3a 6e 65 77  64 78 25 3d 2d 31 3a 6e  |%=-1:newdx%=-1:n|
0000abb0  65 77 64 79 25 3d 2d 31  0d 48 08 2b 6f 6c 64 6c  |ewdy%=-1.H.+oldl|
0000abc0  78 25 3d 2d 31 3a 6f 6c  64 6c 79 25 3d 2d 31 3a  |x%=-1:oldly%=-1:|
0000abd0  6e 65 77 6c 78 25 3d 2d  31 3a 6e 65 77 6c 79 25  |newlx%=-1:newly%|
0000abe0  3d 2d 31 0d 48 12 26 73  74 61 72 74 6c 78 25 3d  |=-1.H.&startlx%=|
0000abf0  2d 31 3a 73 74 61 72 74  6c 79 25 3d 30 3a 73 74  |-1:startly%=0:st|
0000ac00  61 72 74 69 63 25 3d 2d  31 0d 48 1c 17 73 74 61  |artic%=-1.H..sta|
0000ac10  72 74 69 25 3d 2d 31 3a  65 6e 64 69 25 3d 2d 31  |rti%=-1:endi%=-1|
0000ac20  0d 48 26 0b 64 72 61 67  25 3d 30 0d 48 30 0d 64  |.H&.drag%=0.H0.d|
0000ac30  72 61 67 78 25 3d 2d 31  0d 48 3a 0d 64 72 61 67  |ragx%=-1.H:.drag|
0000ac40  79 25 3d 2d 31 0d 48 44  0f 63 6f 6e 73 74 70 74  |y%=-1.HD.constpt|
0000ac50  72 25 3d 30 0d 48 4e 10  6d 63 6f 6e 73 74 70 74  |r%=0.HN.mconstpt|
0000ac60  72 25 3d 30 0d 48 58 0d  76 63 6f 70 74 72 25 3d  |r%=0.HX.vcoptr%=|
0000ac70  30 0d 48 62 0c 65 67 70  74 72 25 3d 30 0d 48 6c  |0.Hb.egptr%=0.Hl|
0000ac80  10 6e 6c 64 69 73 74 70  74 72 25 3d 30 0d 48 76  |.nldistptr%=0.Hv|
0000ac90  13 6e 6c 64 69 73 74 6c  61 73 74 78 25 3d 2d 31  |.nldistlastx%=-1|
0000aca0  0d 48 80 13 6e 6c 64 69  73 74 6c 61 73 74 79 25  |.H..nldistlasty%|
0000acb0  3d 2d 31 0d 48 8a 10 76  63 6f 6c 61 73 74 78 25  |=-1.H..vcolastx%|
0000acc0  3d 2d 31 0d 48 94 10 76  63 6f 6c 61 73 74 79 25  |=-1.H..vcolasty%|
0000acd0  3d 2d 31 0d 48 9e 0f 73  61 6d 70 74 72 6c 25 3d  |=-1.H..samptrl%=|
0000ace0  2d 31 0d 48 a8 0f 73 61  6d 70 74 72 72 25 3d 2d  |-1.H..samptrr%=-|
0000acf0  31 0d 48 b2 10 73 74 61  72 74 73 61 6d 25 3d 2d  |1.H..startsam%=-|
0000ad00  31 0d 48 bc 0e 73 61 6d  6c 65 6e 25 3d 2d 31 0d  |1.H..samlen%=-1.|
0000ad10  48 c6 0c 7a 6f 6f 6d 66  72 3d 31 0d 48 d0 0a 6f  |H..zoomfr=1.H..o|
0000ad20  6b 74 25 3d 31 0d 48 da  10 73 61 76 65 74 79 70  |kt%=1.H..savetyp|
0000ad30  65 25 3d 2d 31 0d 48 e4  0d 69 6e 70 70 74 72 25  |e%=-1.H..inpptr%|
0000ad40  3d 30 0d 48 ee 0d 6e 6f  70 6f 6c 6c 25 3d 30 0d  |=0.H..nopoll%=0.|
0000ad50  48 f8 12 73 68 65 65 74  73 61 76 65 64 25 3d 2d  |H..sheetsaved%=-|
0000ad60  31 0d 49 02 22 66 69 6c  65 74 6f 6c 6f 61 64 24  |1.I."filetoload$|
0000ad70  3d 22 22 3a 66 69 6c 65  74 6f 6c 6f 61 64 32 24  |="":filetoload2$|
0000ad80  3d 22 22 0d 49 0c 1b 73  68 65 65 74 6e 61 6d 65  |="".I..sheetname|
0000ad90  24 3d 22 3c 55 6e 74 69  74 6c 65 64 3e 22 0d 49  |$="<Untitled>".I|
0000ada0  16 10 6f 6c 64 77 6f 72  6b 78 25 3d 2d 31 0d 49  |..oldworkx%=-1.I|
0000adb0  20 0d 74 6f 6f 6c 73 25  3d 2d 31 0d 49 2a 0e f2  | .tools%=-1.I*..|
0000adc0  41 64 6a 54 6f 6f 6c 73  43 0d 49 34 0f de 20 64  |AdjToolsC.I4.. d|
0000add0  72 61 67 62 25 20 35 36  0d 49 3e 19 de 20 6c 69  |ragb% 56.I>.. li|
0000ade0  74 72 61 6e 73 25 28 6d  61 78 69 63 6f 6e 73 25  |trans%(maxicons%|
0000adf0  29 0d 49 48 0e 73 61 6d  74 79 70 65 25 3d 30 0d  |).IH.samtype%=0.|
0000ae00  49 52 0a f2 41 73 73 65  6d 0d 49 5c 1d de 20 66  |IR..Assem.I\.. f|
0000ae10  72 65 65 70 6f 6f 6c 25  20 6d 61 78 69 63 6f 6e  |reepool% maxicon|
0000ae20  73 25 2a 35 34 30 0d 49  66 10 41 25 3d 66 72 65  |s%*540.If.A%=fre|
0000ae30  65 70 6f 6f 6c 25 0d 49  70 14 42 25 3d 6d 61 78  |epool%.Ip.B%=max|
0000ae40  69 63 6f 6e 73 25 2a 35  34 30 0d 49 7a 0d d6 20  |icons%*540.Iz.. |
0000ae50  69 6e 69 74 6d 65 6d 0d  49 84 12 de 20 6c 69 6e  |initmem.I... lin|
0000ae60  6c 6f 67 25 20 38 31 39  32 0d 49 8e 0f 2a 56 4f  |log% 8192.I..*VO|
0000ae70  4c 55 4d 45 20 31 32 37  0d 49 98 27 c8 99 22 53  |LUME 127.I.'.."S|
0000ae80  6f 75 6e 64 5f 43 6f 6e  66 69 67 75 72 65 22 2c  |ound_Configure",|
0000ae90  30 2c 30 2c 30 2c 30 2c  30 b8 2c 2c 2c 54 25 0d  |0,0,0,0,0.,,,T%.|
0000aea0  49 a2 2c e3 53 25 3d 30  b8 38 31 38 38 88 34 3a  |I.,.S%=0.8188.4:|
0000aeb0  6c 69 6e 6c 6f 67 25 21  53 25 3d 21 28 28 54 25  |linlog%!S%=!((T%|
0000aec0  21 38 29 2b 53 25 29 3a  ed 53 25 0d 49 ac 13 21  |!8)+S%):.S%.I..!|
0000aed0  6c 69 6e 6c 6f 67 3d 6c  69 6e 6c 6f 67 25 0d 49  |linlog=linlog%.I|
0000aee0  b6 14 de 20 6c 69 6e 74  61 62 6c 65 25 20 31 30  |... lintable% 10|
0000aef0  32 34 0d 49 c0 15 21 6c  69 6e 74 61 62 3d 6c 69  |24.I..!lintab=li|
0000af00  6e 74 61 62 6c 65 25 0d  49 ca 0d e3 54 25 3d 30  |ntable%.I...T%=0|
0000af10  b8 31 32 37 0d 49 d4 2e  20 20 6c 69 6e 74 61 62  |.127.I..  lintab|
0000af20  6c 65 25 21 28 54 25 2a  38 29 3d a8 28 30 2e 35  |le%!(T%*8)=.(0.5|
0000af30  2b 32 36 37 2e 33 33 2a  32 5e 28 54 25 2f 31 36  |+267.33*2^(T%/16|
0000af40  29 29 0d 49 de 2a 20 20  6c 69 6e 74 61 62 6c 65  |)).I.*  lintable|
0000af50  25 21 28 54 25 2a 38 2b  34 29 3d 2d 6c 69 6e 74  |%!(T%*8+4)=-lint|
0000af60  61 62 6c 65 25 21 28 54  25 2a 38 29 0d 49 e8 07  |able%!(T%*8).I..|
0000af70  ed 54 25 0d 49 f2 10 de  20 70 6f 6c 6c 62 25 20  |.T%.I... pollb% |
0000af80  32 35 36 0d 49 fc 13 70  6f 6c 6c 65 64 62 25 3d  |256.I..polledb%=|
0000af90  70 6f 6c 6c 62 25 0d 4a  06 0f e7 20 6c 66 24 3c  |pollb%.J... lf$<|
0000afa0  3e 22 22 20 8c 0d 4a 10  18 20 20 24 28 70 6f 6c  |>"" ..J..  $(pol|
0000afb0  6c 65 64 62 25 2b 34 34  29 3d 6c 66 24 0d 4a 1a  |ledb%+44)=lf$.J.|
0000afc0  16 20 20 70 6f 6c 6c 65  64 62 25 21 34 30 3d 26  |.  polledb%!40=&|
0000afd0  37 38 61 0d 4a 24 10 20  20 f2 4c 6f 61 64 53 68  |78a.J$.  .LoadSh|
0000afe0  65 65 74 0d 4a 2e 05 cd  0d 4a 38 09 f2 49 6e 73  |eet.J....J8..Ins|
0000aff0  74 0d 4a 42 15 c8 99 22  48 6f 75 72 67 6c 61 73  |t.JB..."Hourglas|
0000b000  73 5f 4f 66 66 22 0d 4a  4c 05 e1 0d 4a 56 04 0d  |s_Off".JL...JV..|
0000b010  4a 60 13 dd f2 4d 6f 64  54 69 74 6c 65 28 73 73  |J`...ModTitle(ss|
0000b020  25 29 0d 4a 6a 09 ea 20  74 69 24 0d 4a 74 19 e7  |%).Jj.. ti$.Jt..|
0000b030  20 73 73 25 3d 73 68 65  65 74 73 61 76 65 64 25  | ss%=sheetsaved%|
0000b040  20 8c 20 e1 0d 4a 7e 14  74 69 24 3d 24 28 77 77  | . ..J~.ti$=$(ww|
0000b050  6f 72 6b 25 21 37 32 29  0d 4a 88 2a e7 20 a7 74  |ork%!72).J.*. .t|
0000b060  69 24 2c 22 20 22 29 3c  3e 30 20 8c 20 74 69 24  |i$," ")<>0 . ti$|
0000b070  3d c0 74 69 24 2c a7 74  69 24 2c 22 20 22 29 2d  |=.ti$,.ti$," ")-|
0000b080  31 29 0d 4a 92 1a e7 20  73 73 25 3d 30 20 8c 20  |1).J... ss%=0 . |
0000b090  74 69 24 3d 74 69 24 2b  22 20 2a 22 0d 4a 9c 14  |ti$=ti$+" *".J..|
0000b0a0  24 28 77 77 6f 72 6b 25  21 37 32 29 3d 74 69 24  |$(wwork%!72)=ti$|
0000b0b0  0d 4a a6 13 74 65 6d 70  25 21 30 3d 77 77 6f 72  |.J..temp%!0=wwor|
0000b0c0  6b 68 25 0d 4a b0 24 c8  99 22 57 69 6d 70 5f 47  |kh%.J.$.."Wimp_G|
0000b0d0  65 74 57 69 6e 64 6f 77  4f 75 74 6c 69 6e 65 22  |etWindowOutline"|
0000b0e0  2c 2c 74 65 6d 70 25 0d  4a ba 41 c8 99 22 57 69  |,,temp%.J.A.."Wi|
0000b0f0  6d 70 5f 46 6f 72 63 65  52 65 64 72 61 77 22 2c  |mp_ForceRedraw",|
0000b100  2d 31 2c 74 65 6d 70 25  21 34 2c 74 65 6d 70 25  |-1,temp%!4,temp%|
0000b110  21 31 36 2d 34 30 2c 74  65 6d 70 25 21 31 32 2c  |!16-40,temp%!12,|
0000b120  74 65 6d 70 25 21 31 36  0d 4a c4 13 73 68 65 65  |temp%!16.J..shee|
0000b130  74 73 61 76 65 64 25 3d  73 73 25 0d 4a ce 05 e1  |tsaved%=ss%.J...|
0000b140  0d 4a d8 04 0d 4a e2 0c  dd f2 43 6c 65 61 72 32  |.J...J....Clear2|
0000b150  0d 4a ec 16 e7 20 73 68  65 65 74 73 61 76 65 64  |.J... sheetsaved|
0000b160  25 3d 2d 31 20 8c 0d 4a  f6 0c 20 20 f2 43 6c 65  |%=-1 ..J..  .Cle|
0000b170  61 72 0d 4b 00 05 cc 0d  4b 0a 4f 20 20 41 25 3d  |ar.K....K.O  A%=|
0000b180  a4 43 6f 6e 66 69 72 6d  28 22 53 68 65 65 74 20  |.Confirm("Sheet |
0000b190  68 61 73 20 62 65 65 6e  20 6d 6f 64 69 66 69 65  |has been modifie|
0000b1a0  64 2e 20 41 72 65 20 79  6f 75 20 73 75 72 65 20  |d. Are you sure |
0000b1b0  79 6f 75 20 77 61 6e 74  20 74 6f 20 64 6f 20 74  |you want to do t|
0000b1c0  68 69 73 3f 22 29 0d 4b  14 15 20 20 e7 20 41 25  |his?").K..  . A%|
0000b1d0  3d 31 20 8c 20 f2 43 6c  65 61 72 0d 4b 1e 05 cd  |=1 . .Clear.K...|
0000b1e0  0d 4b 28 05 e1 0d 4b 32  04 0d 4b 3c 0b dd f2 43  |.K(...K2..K<...C|
0000b1f0  6c 65 61 72 0d 4b 46 18  74 65 6d 70 32 25 21 30  |lear.KF.temp2%!0|
0000b200  3d 77 63 6f 6e 73 74 61  6e 74 68 25 0d 4b 50 20  |=wconstanth%.KP |
0000b210  c8 99 22 57 69 6d 70 5f  43 6c 6f 73 65 57 69 6e  |.."Wimp_CloseWin|
0000b220  64 6f 77 22 2c 2c 74 65  6d 70 32 25 0d 4b 5a 15  |dow",,temp2%.KZ.|
0000b230  74 65 6d 70 32 25 21 30  3d 77 6d 75 6c 74 63 68  |temp2%!0=wmultch|
0000b240  25 0d 4b 64 20 c8 99 22  57 69 6d 70 5f 43 6c 6f  |%.Kd .."Wimp_Clo|
0000b250  73 65 57 69 6e 64 6f 77  22 2c 2c 74 65 6d 70 32  |seWindow",,temp2|
0000b260  25 0d 4b 6e 13 74 65 6d  70 32 25 21 30 3d 77 76  |%.Kn.temp2%!0=wv|
0000b270  63 6f 68 25 0d 4b 78 20  c8 99 22 57 69 6d 70 5f  |coh%.Kx .."Wimp_|
0000b280  43 6c 6f 73 65 57 69 6e  64 6f 77 22 2c 2c 74 65  |CloseWindow",,te|
0000b290  6d 70 32 25 0d 4b 82 12  74 65 6d 70 32 25 21 30  |mp2%.K..temp2%!0|
0000b2a0  3d 77 65 67 68 25 0d 4b  8c 20 c8 99 22 57 69 6d  |=wegh%.K. .."Wim|
0000b2b0  70 5f 43 6c 6f 73 65 57  69 6e 64 6f 77 22 2c 2c  |p_CloseWindow",,|
0000b2c0  74 65 6d 70 32 25 0d 4b  96 15 74 65 6d 70 32 25  |temp2%.K..temp2%|
0000b2d0  21 30 3d 77 69 6e 70 75  74 68 25 0d 4b a0 20 c8  |!0=winputh%.K. .|
0000b2e0  99 22 57 69 6d 70 5f 43  6c 6f 73 65 57 69 6e 64  |."Wimp_CloseWind|
0000b2f0  6f 77 22 2c 2c 74 65 6d  70 32 25 0d 4b aa 16 74  |ow",,temp2%.K..t|
0000b300  65 6d 70 32 25 21 30 3d  77 6e 6c 64 69 73 74 68  |emp2%!0=wnldisth|
0000b310  25 0d 4b b4 20 c8 99 22  57 69 6d 70 5f 43 6c 6f  |%.K. .."Wimp_Clo|
0000b320  73 65 57 69 6e 64 6f 77  22 2c 2c 74 65 6d 70 32  |seWindow",,temp2|
0000b330  25 0d 4b be 15 74 65 6d  70 32 25 21 30 3d 77 73  |%.K..temp2%!0=ws|
0000b340  74 61 74 73 68 25 0d 4b  c8 0e 74 65 6d 70 32 25  |tatsh%.K..temp2%|
0000b350  21 34 3d 38 0d 4b d2 21  c8 99 22 57 69 6d 70 5f  |!4=8.K.!.."Wimp_|
0000b360  47 65 74 49 63 6f 6e 53  74 61 74 65 22 2c 2c 74  |GetIconState",,t|
0000b370  65 6d 70 32 25 0d 4b dc  16 24 28 21 28 74 65 6d  |emp2%.K..$(!(tem|
0000b380  70 32 25 2b 32 38 29 29  3d 22 22 0d 4b e6 30 c8  |p2%+28))="".K.0.|
0000b390  99 22 57 69 6d 70 5f 46  6f 72 63 65 52 65 64 72  |."Wimp_ForceRedr|
0000b3a0  61 77 22 2c 77 73 74 61  74 73 68 25 2c 30 2c 2d  |aw",wstatsh%,0,-|
0000b3b0  34 30 30 30 2c 34 30 30  30 2c 30 0d 4b f0 23 c8  |4000,4000,0.K.#.|
0000b3c0  99 22 57 69 6d 70 5f 53  65 74 43 61 72 65 74 50  |."Wimp_SetCaretP|
0000b3d0  6f 73 69 74 69 6f 6e 22  2c 2d 31 2c 2d 31 0d 4b  |osition",-1,-1.K|
0000b3e0  fa 14 74 65 6d 70 32 25  21 30 3d 77 77 6f 72 6b  |..temp2%!0=wwork|
0000b3f0  68 25 0d 4c 04 15 e3 54  25 3d 30 b8 6d 61 78 69  |h%.L...T%=0.maxi|
0000b400  63 6f 6e 73 25 2d 31 0d  4c 0e 47 20 20 e7 20 69  |cons%-1.L.G  . i|
0000b410  63 6f 6e 69 6e 66 6f 25  21 28 54 25 2a 33 32 29  |coninfo%!(T%*32)|
0000b420  3c 3e 2d 31 20 8c 20 74  65 6d 70 32 25 21 34 3d  |<>-1 . temp2%!4=|
0000b430  54 25 3a c8 99 22 57 69  6d 70 5f 44 65 6c 65 74  |T%:.."Wimp_Delet|
0000b440  65 49 63 6f 6e 22 2c 2c  74 65 6d 70 32 25 0d 4c  |eIcon",,temp2%.L|
0000b450  18 07 ed 54 25 0d 4c 22  0f 63 6f 6e 73 74 70 74  |...T%.L".constpt|
0000b460  72 25 3d 30 0d 4c 2c 10  6d 63 6f 6e 73 74 70 74  |r%=0.L,.mconstpt|
0000b470  72 25 3d 30 0d 4c 36 0d  76 63 6f 70 74 72 25 3d  |r%=0.L6.vcoptr%=|
0000b480  30 0d 4c 40 0c 65 67 70  74 72 25 3d 30 0d 4c 4a  |0.L@.egptr%=0.LJ|
0000b490  10 76 63 6f 6c 61 73 74  78 25 3d 2d 31 0d 4c 54  |.vcolastx%=-1.LT|
0000b4a0  10 76 63 6f 6c 61 73 74  79 25 3d 2d 31 0d 4c 5e  |.vcolasty%=-1.L^|
0000b4b0  2e e3 54 25 3d 30 b8 6d  61 78 69 63 6f 6e 73 25  |..T%=0.maxicons%|
0000b4c0  2a 33 32 2d 34 88 34 3a  69 63 6f 6e 69 6e 66 6f  |*32-4.4:iconinfo|
0000b4d0  25 21 54 25 3d 2d 31 3a  ed 54 25 0d 4c 68 10 41  |%!T%=-1:.T%.Lh.A|
0000b4e0  25 3d 66 72 65 65 70 6f  6f 6c 25 0d 4c 72 14 42  |%=freepool%.Lr.B|
0000b4f0  25 3d 6d 61 78 69 63 6f  6e 73 25 2a 35 34 30 0d  |%=maxicons%*540.|
0000b500  4c 7c 0d d6 20 69 6e 69  74 6d 65 6d 0d 4c 86 1d  |L|.. initmem.L..|
0000b510  24 28 77 77 6f 72 6b 25  21 37 32 29 3d 22 3c 55  |$(wwork%!72)="<U|
0000b520  6e 74 69 74 6c 65 64 3e  22 0d 4c 90 1b 73 68 65  |ntitled>".L..she|
0000b530  65 74 6e 61 6d 65 24 3d  22 3c 55 6e 74 69 74 6c  |etname$="<Untitl|
0000b540  65 64 3e 22 0d 4c 9a 13  74 65 6d 70 25 21 30 3d  |ed>".L..temp%!0=|
0000b550  77 77 6f 72 6b 68 25 0d  4c a4 24 c8 99 22 57 69  |wworkh%.L.$.."Wi|
0000b560  6d 70 5f 47 65 74 57 69  6e 64 6f 77 4f 75 74 6c  |mp_GetWindowOutl|
0000b570  69 6e 65 22 2c 2c 74 65  6d 70 25 0d 4c ae 41 c8  |ine",,temp%.L.A.|
0000b580  99 22 57 69 6d 70 5f 46  6f 72 63 65 52 65 64 72  |."Wimp_ForceRedr|
0000b590  61 77 22 2c 2d 31 2c 74  65 6d 70 25 21 34 2c 74  |aw",-1,temp%!4,t|
0000b5a0  65 6d 70 25 21 31 36 2d  34 34 2c 74 65 6d 70 25  |emp%!16-44,temp%|
0000b5b0  21 31 32 2c 74 65 6d 70  25 21 31 36 0d 4c b8 2f  |!12,temp%!16.L./|
0000b5c0  c8 99 22 57 69 6d 70 5f  46 6f 72 63 65 52 65 64  |.."Wimp_ForceRed|
0000b5d0  72 61 77 22 2c 77 77 6f  72 6b 68 25 2c 30 2c 2d  |raw",wworkh%,0,-|
0000b5e0  34 30 30 30 2c 34 30 30  30 2c 30 0d 4c c2 12 73  |4000,4000,0.L..s|
0000b5f0  68 65 65 74 73 61 76 65  64 25 3d 2d 31 0d 4c cc  |heetsaved%=-1.L.|
0000b600  05 e1 0d 4c d6 04 0d 4c  e0 1e dd f2 4c 6f 61 64  |...L...L....Load|
0000b610  54 65 6d 70 28 f8 20 73  74 61 72 74 25 2c 6e 61  |Temp(. start%,na|
0000b620  6d 65 24 29 0d 4c ea 11  24 74 6e 61 6d 65 25 3d  |me$).L..$tname%=|
0000b630  6e 61 6d 65 24 0d 4c f4  5a c8 99 22 57 69 6d 70  |name$.L.Z.."Wimp|
0000b640  5f 4c 6f 61 64 54 65 6d  70 6c 61 74 65 22 2c 2c  |_LoadTemplate",,|
0000b650  73 74 61 72 74 25 2c 69  63 62 75 66 6e 25 2c 69  |start%,icbufn%,i|
0000b660  63 62 75 66 25 2b 34 30  30 30 2c 2d 31 2c 74 6e  |cbuf%+4000,-1,tn|
0000b670  61 6d 65 25 2c 30 b8 2c  73 74 61 72 74 25 2c 69  |ame%,0.,start%,i|
0000b680  63 62 75 66 6e 25 2c 2c  2c 2c 6e 65 78 74 25 0d  |cbufn%,,,,next%.|
0000b690  4c fe 49 e7 20 6e 65 78  74 25 3d 30 20 8c 20 c8  |L.I. next%=0 . .|
0000b6a0  99 22 57 69 6d 70 5f 43  6c 6f 73 65 54 65 6d 70  |."Wimp_CloseTemp|
0000b6b0  6c 61 74 65 22 3a 85 20  30 2c 22 54 65 6d 70 6c  |late":. 0,"Templ|
0000b6c0  61 74 65 20 22 2b 6e 61  6d 65 24 2b 22 20 6e 6f  |ate "+name$+" no|
0000b6d0  74 20 66 6f 75 6e 64 22  0d 4d 08 05 e1 0d 4d 12  |t found".M....M.|
0000b6e0  04 0d 4d 1c 13 dd f2 52  65 70 6f 72 74 45 72 72  |..M....ReportErr|
0000b6f0  28 61 24 29 0d 4d 26 0e  74 65 6d 70 32 25 21 30  |(a$).M&.temp2%!0|
0000b700  3d 30 0d 4d 30 12 24 28  74 65 6d 70 32 25 2b 34  |=0.M0.$(temp2%+4|
0000b710  29 3d 61 24 0d 4d 3a 28  c8 99 22 57 69 6d 70 5f  |)=a$.M:(.."Wimp_|
0000b720  52 65 70 6f 72 74 45 72  72 6f 72 22 2c 74 65 6d  |ReportError",tem|
0000b730  70 32 25 2c 31 2c 22 53  46 58 4d 22 0d 4d 44 05  |p2%,1,"SFXM".MD.|
0000b740  e1 0d 4d 4e 04 0d 4d 58  11 dd a4 43 6f 6e 66 69  |..MN..MX...Confi|
0000b750  72 6d 28 61 24 29 0d 4d  62 0e 74 65 6d 70 32 25  |rm(a$).Mb.temp2%|
0000b760  21 30 3d 30 0d 4d 6c 12  24 28 74 65 6d 70 32 25  |!0=0.Ml.$(temp2%|
0000b770  2b 34 29 3d 61 24 0d 4d  76 34 c8 99 22 57 69 6d  |+4)=a$.Mv4.."Wim|
0000b780  70 5f 52 65 70 6f 72 74  45 72 72 6f 72 22 2c 74  |p_ReportError",t|
0000b790  65 6d 70 32 25 2c 25 31  30 30 31 31 2c 22 43 6f  |emp2%,%10011,"Co|
0000b7a0  6e 66 69 72 6d 22 b8 2c  41 25 0d 4d 80 07 3d 41  |nfirm".,A%.M..=A|
0000b7b0  25 0d 4d 8a 04 0d 4d 94  10 dd a4 69 6e 74 65 72  |%.M...M....inter|
0000b7c0  72 28 61 24 29 0d 4d 9e  0e 74 65 6d 70 32 25 21  |r(a$).M..temp2%!|
0000b7d0  30 3d 30 0d 4d a8 12 24  28 74 65 6d 70 32 25 2b  |0=0.M..$(temp2%+|
0000b7e0  34 29 3d 61 24 0d 4d b2  41 c8 99 22 57 69 6d 70  |4)=a$.M.A.."Wimp|
0000b7f0  5f 52 65 70 6f 72 74 45  72 72 6f 72 22 2c 74 65  |_ReportError",te|
0000b800  6d 70 32 25 2c 25 31 30  30 31 31 2c 22 53 46 58  |mp2%,%10011,"SFX|
0000b810  4d 20 49 6e 74 65 72 6e  61 6c 20 45 72 72 6f 72  |M Internal Error|
0000b820  2e 22 b8 2c 41 25 0d 4d  bc 07 3d 41 25 0d 4d c6  |.".,A%.M..=A%.M.|
0000b830  04 0d 4d d0 22 f4 20 74  69 74 6c 65 73 74 72 69  |..M.". titlestri|
0000b840  6e 67 2c 20 77 69 64 74  68 20 69 6e 20 63 68 61  |ng, width in cha|
0000b850  72 73 2e 0d 4d da 15 dd  a4 4d 65 6e 75 48 65 61  |rs..M....MenuHea|
0000b860  64 28 74 24 2c 77 25 29  0d 4d e4 08 ea 20 61 25  |d(t$,w%).M... a%|
0000b870  0d 4d ee 16 61 25 3d 4d  65 6e 75 73 25 2b 4d 65  |.M..a%=Menus%+Me|
0000b880  6e 75 50 74 72 25 0d 4d  f8 0a 24 61 25 3d 74 24  |nuPtr%.M..$a%=t$|
0000b890  0d 4e 02 0b 61 25 3f 31  32 3d 37 0d 4e 0c 0b 61  |.N..a%?12=7.N..a|
0000b8a0  25 3f 31 33 3d 32 0d 4e  16 0b 61 25 3f 31 34 3d  |%?13=2.N..a%?14=|
0000b8b0  37 0d 4e 20 0b 61 25 3f  31 35 3d 30 0d 4e 2a 0f  |7.N .a%?15=0.N*.|
0000b8c0  61 25 21 31 36 3d 77 25  2a 31 36 0d 4e 34 0c 61  |a%!16=w%*16.N4.a|
0000b8d0  25 21 32 30 3d 34 34 0d  4e 3e 0b 61 25 21 32 34  |%!20=44.N>.a%!24|
0000b8e0  3d 30 0d 4e 48 10 4d 65  6e 75 50 74 72 25 2b 3d  |=0.NH.MenuPtr%+=|
0000b8f0  32 38 0d 4e 52 07 3d 61  25 0d 4e 5c 04 0d 4e 66  |28.NR.=a%.N\..Nf|
0000b900  3b f4 20 69 74 65 6d 74  65 78 74 2c 20 66 6c 61  |;. itemtext, fla|
0000b910  67 73 2c 20 69 6e 64 69  72 65 63 74 65 64 2c 20  |gs, indirected, |
0000b920  76 61 6c 2e 20 73 74 72  69 6e 67 2c 20 6d 61 78  |val. string, max|
0000b930  2e 20 6c 65 6e 67 74 68  0d 4e 70 1e dd f2 41 64  |. length.Np...Ad|
0000b940  64 49 74 65 6d 28 69 24  2c 66 25 2c 69 25 2c 76  |dItem(i$,f%,i%,v|
0000b950  24 2c 6d 6c 25 29 0d 4e  7a 08 ea 20 61 25 0d 4e  |$,ml%).Nz.. a%.N|
0000b960  84 16 61 25 3d 4d 65 6e  75 73 25 2b 4d 65 6e 75  |..a%=Menus%+Menu|
0000b970  50 74 72 25 0d 4e 8e 2b  e7 20 28 a9 28 69 24 29  |Ptr%.N.+. (.(i$)|
0000b980  3e 31 31 29 80 28 69 25  3d 30 29 20 8c 20 69 25  |>11).(i%=0) . i%|
0000b990  3d 2d 31 3a 6d 6c 25 3d  a9 28 69 24 29 2b 31 0d  |=-1:ml%=.(i$)+1.|
0000b9a0  4e 98 0f 61 25 21 30 3d  66 25 80 32 35 35 0d 4e  |N..a%!0=f%.255.N|
0000b9b0  a2 0b 61 25 21 34 3d 2d  31 0d 4e ac 5e e7 20 66  |..a%!4=-1.N.^. f|
0000b9c0  25 80 32 35 36 20 8c 20  61 25 21 38 3d 25 30 30  |%.256 . a%!8=%00|
0000b9d0  30 30 30 31 31 31 30 31  30 30 30 30 30 31 31 30  |0001110100000110|
0000b9e0  30 31 30 30 30 30 30 30  30 31 30 30 30 31 20 8b  |01000000010001 .|
0000b9f0  20 61 25 21 38 3d 25 30  30 30 30 30 31 31 31 30  | a%!8=%000001110|
0000ba00  30 30 30 30 30 30 31 31  30 30 31 30 30 30 30 30  |0000001100100000|
0000ba10  30 30 31 30 30 30 31 0d  4e b6 0a e7 20 69 25 20  |0010001.N... i% |
0000ba20  8c 0d 4e c0 0f 20 20 61  25 21 38 2b 3d 32 35 36  |..N..  a%!8+=256|
0000ba30  0d 4e ca 22 20 20 24 28  4d 65 6e 75 44 61 74 61  |.N."  $(MenuData|
0000ba40  25 2b 4d 65 6e 75 44 61  74 61 50 74 72 25 29 3d  |%+MenuDataPtr%)=|
0000ba50  69 24 0d 4e d4 22 20 20  61 25 21 31 32 3d 4d 65  |i$.N."  a%!12=Me|
0000ba60  6e 75 44 61 74 61 25 2b  4d 65 6e 75 44 61 74 61  |nuData%+MenuData|
0000ba70  50 74 72 25 0d 4e de 1b  20 20 4d 65 6e 75 44 61  |Ptr%.N..  MenuDa|
0000ba80  74 61 50 74 72 25 2b 3d  a9 28 69 24 29 2b 31 0d  |taPtr%+=.(i$)+1.|
0000ba90  4e e8 22 20 20 24 28 4d  65 6e 75 44 61 74 61 25  |N."  $(MenuData%|
0000baa0  2b 4d 65 6e 75 44 61 74  61 50 74 72 25 29 3d 76  |+MenuDataPtr%)=v|
0000bab0  24 0d 4e f2 22 20 20 61  25 21 31 36 3d 4d 65 6e  |$.N."  a%!16=Men|
0000bac0  75 44 61 74 61 25 2b 4d  65 6e 75 44 61 74 61 50  |uData%+MenuDataP|
0000bad0  74 72 25 0d 4e fc 1b 20  20 4d 65 6e 75 44 61 74  |tr%.N..  MenuDat|
0000bae0  61 50 74 72 25 2b 3d a9  28 76 24 29 2b 31 0d 4f  |aPtr%+=.(v$)+1.O|
0000baf0  06 0f 20 20 61 25 21 32  30 3d 6d 6c 25 0d 4f 10  |..  a%!20=ml%.O.|
0000bb00  05 cc 0d 4f 1a 11 20 20  24 28 61 25 2b 31 32 29  |...O..  $(a%+12)|
0000bb10  3d 69 24 0d 4f 24 05 cd  0d 4f 2e 10 4d 65 6e 75  |=i$.O$...O..Menu|
0000bb20  50 74 72 25 2b 3d 32 34  0d 4f 38 05 e1 0d 4f 42  |Ptr%+=24.O8...OB|
0000bb30  04 0d 4f 4c 20 f4 20 6d  65 6e 75 2c 20 69 74 65  |..OL . menu, ite|
0000bb40  6d 2c 20 73 75 62 6d 65  6e 75 70 6f 69 6e 74 65  |m, submenupointe|
0000bb50  72 0d 4f 56 1a dd f2 41  64 64 53 75 62 4d 65 6e  |r.OV...AddSubMen|
0000bb60  75 28 6d 25 2c 69 25 2c  70 25 29 0d 4f 60 16 6d  |u(m%,i%,p%).O`.m|
0000bb70  25 21 28 32 38 2b 32 34  2a 69 25 2b 34 29 3d 70  |%!(28+24*i%+4)=p|
0000bb80  25 0d 4f 6a 05 e1 0d 4f  74 04 0d 4f 7e 0b dd f2  |%.Oj...Ot..O~...|
0000bb90  4d 65 6e 75 73 0d 4f 88  14 de 20 4d 65 6e 75 44  |Menus.O... MenuD|
0000bba0  61 74 61 25 20 32 30 30  30 0d 4f 92 11 de 20 4d  |ata% 2000.O... M|
0000bbb0  65 6e 75 73 25 20 32 30  30 30 0d 4f 9c 12 4d 65  |enus% 2000.O..Me|
0000bbc0  6e 75 44 61 74 61 50 74  72 25 3d 30 0d 4f a6 0e  |nuDataPtr%=0.O..|
0000bbd0  4d 65 6e 75 50 74 72 25  3d 30 0d 4f b0 21 69 63  |MenuPtr%=0.O.!ic|
0000bbe0  6f 6e 6d 65 6e 75 25 3d  a4 4d 65 6e 75 48 65 61  |onmenu%=.MenuHea|
0000bbf0  64 28 22 53 46 58 4d 22  2c 38 29 0d 4f ba 1d f2  |d("SFXM",8).O...|
0000bc00  41 64 64 49 74 65 6d 28  22 49 6e 66 6f 22 2c 30  |AddItem("Info",0|
0000bc10  2c 30 2c 22 22 2c 30 29  0d 4f c4 1f f2 41 64 64  |,0,"",0).O...Add|
0000bc20  49 74 65 6d 28 22 53 61  76 65 22 2c 32 35 36 2c  |Item("Save",256,|
0000bc30  30 2c 22 22 2c 30 29 0d  4f ce 20 f2 41 64 64 49  |0,"",0).O. .AddI|
0000bc40  74 65 6d 28 22 52 65 73  74 61 72 74 22 2c 30 2c  |tem("Restart",0,|
0000bc50  30 2c 22 22 2c 30 29 0d  4f d8 1f f2 41 64 64 49  |0,"",0).O...AddI|
0000bc60  74 65 6d 28 22 51 75 69  74 22 2c 31 32 38 2c 30  |tem("Quit",128,0|
0000bc70  2c 22 22 2c 30 29 0d 4f  e2 25 f2 41 64 64 53 75  |,"",0).O.%.AddSu|
0000bc80  62 4d 65 6e 75 28 69 63  6f 6e 6d 65 6e 75 25 2c  |bMenu(iconmenu%,|
0000bc90  30 2c 77 61 62 6f 75 74  68 25 29 0d 4f ec 28 f2  |0,wabouth%).O.(.|
0000bca0  41 64 64 53 75 62 4d 65  6e 75 28 69 63 6f 6e 6d  |AddSubMenu(iconm|
0000bcb0  65 6e 75 25 2c 31 2c 77  73 61 76 65 61 73 73 68  |enu%,1,wsaveassh|
0000bcc0  68 25 29 0d 4f f6 04 0d  50 00 22 77 6f 72 6b 6d  |h%).O...P."workm|
0000bcd0  65 6e 75 25 3d a4 4d 65  6e 75 48 65 61 64 28 22  |enu%=.MenuHead("|
0000bce0  53 46 58 4d 22 2c 31 31  29 0d 50 0a 1e f2 41 64  |SFXM",11).P...Ad|
0000bcf0  64 49 74 65 6d 28 22 50  6c 61 63 65 22 2c 30 2c  |dItem("Place",0,|
0000bd00  30 2c 22 22 2c 30 29 0d  50 14 1f f2 41 64 64 49  |0,"",0).P...AddI|
0000bd10  74 65 6d 28 22 53 65 6c  65 63 74 22 2c 30 2c 30  |tem("Select",0,0|
0000bd20  2c 22 22 2c 30 29 0d 50  1e 23 f2 41 64 64 49 74  |,"",0).P.#.AddIt|
0000bd30  65 6d 28 22 43 6f 6e 6e  65 63 74 69 6f 6e 22 2c  |em("Connection",|
0000bd40  30 2c 30 2c 22 22 2c 30  29 0d 50 28 22 f2 41 64  |0,0,"",0).P(".Ad|
0000bd50  64 49 74 65 6d 28 22 43  61 6c 63 75 6c 61 74 65  |dItem("Calculate|
0000bd60  22 2c 30 2c 30 2c 22 22  2c 30 29 0d 50 32 25 f2  |",0,0,"",0).P2%.|
0000bd70  41 64 64 49 74 65 6d 28  22 53 68 6f 77 20 54 6f  |AddItem("Show To|
0000bd80  6f 6c 73 22 2c 31 32 39  2c 30 2c 22 22 2c 30 29  |ols",129,0,"",0)|
0000bd90  0d 50 3c 22 61 64 64 6d  65 6e 75 25 3d a4 4d 65  |.P<"addmenu%=.Me|
0000bda0  6e 75 48 65 61 64 28 22  50 6c 61 63 65 22 2c 32  |nuHead("Place",2|
0000bdb0  30 29 0d 50 46 23 f2 41  64 64 49 74 65 6d 28 22  |0).PF#.AddItem("|
0000bdc0  4f 73 63 69 6c 6c 61 74  6f 72 22 2c 30 2c 30 2c  |Oscillator",0,0,|
0000bdd0  22 22 2c 30 29 0d 50 50  2a f2 41 64 64 49 74 65  |"",0).PP*.AddIte|
0000bde0  6d 28 22 4e 6f 69 73 65  20 47 65 6e 65 72 61 74  |m("Noise Generat|
0000bdf0  6f 72 22 2c 32 35 36 2c  30 2c 22 22 2c 30 29 0d  |or",256,0,"",0).|
0000be00  50 5a 2b f2 41 64 64 49  74 65 6d 28 22 45 6e 76  |PZ+.AddItem("Env|
0000be10  65 6c 6f 70 65 20 47 65  6e 65 72 61 74 6f 72 22  |elope Generator"|
0000be20  2c 30 2c 30 2c 22 22 2c  30 29 0d 50 64 2b f2 41  |,0,0,"",0).Pd+.A|
0000be30  64 64 49 74 65 6d 28 22  43 6f 6e 73 74 61 6e 74  |ddItem("Constant|
0000be40  20 47 65 6e 65 72 61 74  6f 72 22 2c 30 2c 30 2c  | Generator",0,0,|
0000be50  22 22 2c 30 29 0d 50 6e  2a f2 41 64 64 49 74 65  |"",0).Pn*.AddIte|
0000be60  6d 28 22 4c 6f 77 20 50  61 73 73 20 46 69 6c 74  |m("Low Pass Filt|
0000be70  65 72 22 2c 32 35 36 2c  30 2c 22 22 2c 30 29 0d  |er",256,0,"",0).|
0000be80  50 78 2b f2 41 64 64 49  74 65 6d 28 22 48 69 67  |Px+.AddItem("Hig|
0000be90  68 20 50 61 73 73 20 46  69 6c 74 65 72 22 2c 32  |h Pass Filter",2|
0000bea0  35 36 2c 30 2c 22 22 2c  30 29 0d 50 82 23 f2 41  |56,0,"",0).P.#.A|
0000beb0  64 64 49 74 65 6d 28 22  4d 75 6c 74 69 70 6c 69  |ddItem("Multipli|
0000bec0  65 72 22 2c 30 2c 30 2c  22 22 2c 30 29 0d 50 8c  |er",0,0,"",0).P.|
0000bed0  2c f2 41 64 64 49 74 65  6d 28 22 43 6f 6e 73 74  |,.AddItem("Const|
0000bee0  61 6e 74 20 4d 75 6c 74  69 70 6c 69 65 72 22 2c  |ant Multiplier",|
0000bef0  30 2c 30 2c 22 22 2c 30  29 0d 50 96 1e f2 41 64  |0,0,"",0).P...Ad|
0000bf00  64 49 74 65 6d 28 22 41  64 64 65 72 22 2c 30 2c  |dItem("Adder",0,|
0000bf10  30 2c 22 22 2c 30 29 0d  50 a0 25 f2 41 64 64 49  |0,"",0).P.%.AddI|
0000bf20  74 65 6d 28 22 53 75 62  74 72 61 63 74 6f 72 22  |tem("Subtractor"|
0000bf30  2c 32 35 36 2c 30 2c 22  22 2c 30 29 0d 50 aa 28  |,256,0,"",0).P.(|
0000bf40  f2 41 64 64 49 74 65 6d  28 22 53 61 6d 70 6c 65  |.AddItem("Sample|
0000bf50  20 26 20 48 6f 6c 64 22  2c 32 35 36 2c 30 2c 22  | & Hold",256,0,"|
0000bf60  22 2c 30 29 0d 50 b4 2b  f2 41 64 64 49 74 65 6d  |",0).P.+.AddItem|
0000bf70  28 22 47 65 6e 65 72 61  6c 20 46 75 6e 63 74 69  |("General Functi|
0000bf80  6f 6e 22 2c 32 35 36 2c  30 2c 22 22 2c 30 29 0d  |on",256,0,"",0).|
0000bf90  50 be 28 f2 41 64 64 49  74 65 6d 28 22 50 75 6c  |P.(.AddItem("Pul|
0000bfa0  73 65 20 47 65 6e 65 72  61 74 6f 72 22 2c 30 2c  |se Generator",0,|
0000bfb0  30 2c 22 22 2c 30 29 0d  50 c8 25 f2 41 64 64 49  |0,"",0).P.%.AddI|
0000bfc0  74 65 6d 28 22 44 65 6c  61 79 20 4c 69 6e 65 22  |tem("Delay Line"|
0000bfd0  2c 32 35 36 2c 30 2c 22  22 2c 30 29 0d 50 d2 1f  |,256,0,"",0).P..|
0000bfe0  f2 41 64 64 49 74 65 6d  28 22 4f 75 74 70 75 74  |.AddItem("Output|
0000bff0  22 2c 30 2c 30 2c 22 22  2c 30 29 0d 50 dc 24 f2  |",0,0,"",0).P.$.|
0000c000  41 64 64 49 74 65 6d 28  22 49 6e 70 75 74 22 2c  |AddItem("Input",|
0000c010  32 35 36 2b 31 32 38 2c  30 2c 22 22 2c 30 29 0d  |256+128,0,"",0).|
0000c020  50 e6 23 73 65 6c 6d 65  6e 75 25 3d a4 4d 65 6e  |P.#selmenu%=.Men|
0000c030  75 48 65 61 64 28 22 53  65 6c 65 63 74 22 2c 31  |uHead("Select",1|
0000c040  35 29 0d 50 f0 1c f2 41  64 64 49 74 65 6d 28 22  |5).P...AddItem("|
0000c050  41 6c 6c 22 2c 30 2c 30  2c 22 22 2c 30 29 0d 50  |All",0,0,"",0).P|
0000c060  fa 1e f2 41 64 64 49 74  65 6d 28 22 43 6c 65 61  |...AddItem("Clea|
0000c070  72 22 2c 30 2c 30 2c 22  22 2c 30 29 0d 51 04 1d  |r",0,0,"",0).Q..|
0000c080  f2 41 64 64 49 74 65 6d  28 22 53 77 61 70 22 2c  |.AddItem("Swap",|
0000c090  30 2c 30 2c 22 22 2c 30  29 0d 51 0e 27 f2 41 64  |0,0,"",0).Q.'.Ad|
0000c0a0  64 49 74 65 6d 28 22 44  65 6c 65 74 65 20 4f 62  |dItem("Delete Ob|
0000c0b0  6a 65 63 74 73 22 2c 30  2c 30 2c 22 22 2c 30 29  |jects",0,0,"",0)|
0000c0c0  0d 51 18 28 f2 41 64 64  49 74 65 6d 28 22 44 65  |.Q.(.AddItem("De|
0000c0d0  6c 65 74 65 20 49 6e 70  75 74 73 22 2c 31 32 38  |lete Inputs",128|
0000c0e0  2c 30 2c 22 22 2c 30 29  0d 51 22 25 f2 41 64 64  |,0,"",0).Q"%.Add|
0000c0f0  53 75 62 4d 65 6e 75 28  77 6f 72 6b 6d 65 6e 75  |SubMenu(workmenu|
0000c100  25 2c 30 2c 61 64 64 6d  65 6e 75 25 29 0d 51 2c  |%,0,addmenu%).Q,|
0000c110  25 f2 41 64 64 53 75 62  4d 65 6e 75 28 77 6f 72  |%.AddSubMenu(wor|
0000c120  6b 6d 65 6e 75 25 2c 31  2c 73 65 6c 6d 65 6e 75  |kmenu%,1,selmenu|
0000c130  25 29 0d 51 36 05 e1 0d  51 40 04 0d 51 4a 22 dd  |%).Q6...Q@..QJ".|
0000c140  f2 52 65 64 72 61 77 4c  69 6e 65 73 28 78 31 25  |.RedrawLines(x1%|
0000c150  2c 79 31 25 2c 78 32 25  2c 79 32 25 29 0d 51 54  |,y1%,x2%,y2%).QT|
0000c160  14 74 65 6d 70 32 25 21  30 3d 77 77 6f 72 6b 68  |.temp2%!0=wworkh|
0000c170  25 0d 51 5e 23 c8 99 22  57 69 6d 70 5f 47 65 74  |%.Q^#.."Wimp_Get|
0000c180  57 69 6e 64 6f 77 53 74  61 74 65 22 2c 2c 74 65  |WindowState",,te|
0000c190  6d 70 32 25 0d 51 68 18  c8 99 22 57 69 6d 70 5f  |mp2%.Qh..."Wimp_|
0000c1a0  53 65 74 43 6f 6c 6f 75  72 22 2c 37 0d 51 72 19  |SetColour",7.Qr.|
0000c1b0  41 25 3d 74 65 6d 70 32  25 21 34 2d 74 65 6d 70  |A%=temp2%!4-temp|
0000c1c0  32 25 21 32 30 0d 51 7c  1a 42 25 3d 74 65 6d 70  |2%!20.Q|.B%=temp|
0000c1d0  32 25 21 31 36 2d 74 65  6d 70 32 25 21 32 34 0d  |2%!16-temp2%!24.|
0000c1e0  51 86 0a 43 25 3d 78 31  25 0d 51 90 0a 44 25 3d  |Q..C%=x1%.Q..D%=|
0000c1f0  79 31 25 0d 51 9a 0a 45  25 3d 78 32 25 0d 51 a4  |y1%.Q..E%=x2%.Q.|
0000c200  0a 46 25 3d 79 32 25 0d  51 ae 10 47 25 3d 69 63  |.F%=y2%.Q..G%=ic|
0000c210  6f 6e 69 6e 66 6f 25 0d  51 b8 0b d6 72 65 64 72  |oninfo%.Q...redr|
0000c220  6c 6e 0d 51 c2 05 e1 0d  51 cc 04 0d 51 d6 12 dd  |ln.Q....Q...Q...|
0000c230  a4 41 6c 6c 6f 63 28 73  69 7a 65 25 29 0d 51 e0  |.Alloc(size%).Q.|
0000c240  0c 41 25 3d 73 69 7a 65  25 0d 51 ea 10 3d ba 28  |.A%=size%.Q..=.(|
0000c250  61 6c 6c 6f 63 6d 65 6d  29 0d 51 f4 04 0d 51 fe  |allocmem).Q...Q.|
0000c260  10 dd f2 46 72 65 65 28  6c 6f 63 25 29 0d 52 08  |...Free(loc%).R.|
0000c270  0b 41 25 3d 6c 6f 63 25  0d 52 12 0c d6 66 72 65  |.A%=loc%.R...fre|
0000c280  65 6d 65 6d 0d 52 1c 05  e1 0d 52 26 04 0d 52 30  |emem.R....R&..R0|
0000c290  0b dd f2 41 73 73 65 6d  0d 52 3a 10 de 20 63 6f  |...Assem.R:.. co|
0000c2a0  64 65 25 20 33 30 30 30  0d 52 44 11 e3 20 70 61  |de% 3000.RD.. pa|
0000c2b0  73 73 25 3d 30 b8 32 88  32 0d 52 4e 0c 50 25 3d  |ss%=0.2.2.RN.P%=|
0000c2c0  63 6f 64 65 25 0d 52 58  19 5b 20 20 20 20 20 20  |code%.RX.[      |
0000c2d0  20 6f 70 74 20 20 20 20  20 70 61 73 73 25 0d 52  | opt     pass%.R|
0000c2e0  62 04 0d 52 6c 25 2e 72  65 64 72 6c 6e 20 73 74  |b..Rl%.redrln st|
0000c2f0  6d 66 64 20 20 20 72 31  33 21 2c 7b 72 30 2d 72  |mfd   r13!,{r0-r|
0000c300  31 32 2c 72 31 34 7d 0d  52 76 19 20 20 20 20 20  |12,r14}.Rv.     |
0000c310  20 20 20 6d 6f 76 20 20  20 20 20 72 37 2c 23 30  |   mov     r7,#0|
0000c320  0d 52 80 23 2e 63 68 6b  69 63 6e 20 61 64 64 20  |.R.#.chkicn add |
0000c330  20 20 20 20 72 38 2c 72  36 2c 72 37 2c 6c 73 6c  |    r8,r6,r7,lsl|
0000c340  20 23 35 0d 52 8a 1e 20  20 20 20 20 20 20 20 6c  | #5.R..        l|
0000c350  64 72 20 20 20 20 20 72  39 2c 5b 72 38 2c 23 30  |dr     r9,[r8,#0|
0000c360  5d 0d 52 94 19 20 20 20  20 20 20 20 20 63 6d 6e  |].R..        cmn|
0000c370  20 20 20 20 20 72 39 2c  23 31 0d 52 9e 1a 20 20  |     r9,#1.R..  |
0000c380  20 20 20 20 20 20 62 65  71 20 20 20 20 20 6e 78  |      beq     nx|
0000c390  74 69 63 6e 0d 52 a8 19  20 20 20 20 20 20 20 20  |ticn.R..        |
0000c3a0  63 6d 70 6e 65 20 20 20  72 39 2c 23 32 0d 52 b2  |cmpne   r9,#2.R.|
0000c3b0  19 20 20 20 20 20 20 20  20 63 6d 70 6e 65 20 20  |.        cmpne  |
0000c3c0  20 72 39 2c 23 35 0d 52  bc 1a 20 20 20 20 20 20  | r9,#5.R..      |
0000c3d0  20 20 62 65 71 20 20 20  20 20 6e 78 74 69 63 6e  |  beq     nxticn|
0000c3e0  0d 52 c6 1f 20 20 20 20  20 20 20 20 6c 64 72 20  |.R..        ldr |
0000c3f0  20 20 20 20 72 39 2c 5b  72 38 2c 23 31 36 5d 0d  |    r9,[r8,#16].|
0000c400  52 d0 19 20 20 20 20 20  20 20 20 63 6d 6e 20 20  |R..        cmn  |
0000c410  20 20 20 72 39 2c 23 31  0d 52 da 1a 20 20 20 20  |   r9,#1.R..    |
0000c420  20 20 20 20 62 65 71 20  20 20 20 20 6e 6f 69 6e  |    beq     noin|
0000c430  70 31 0d 52 e4 1f 20 20  20 20 20 20 20 20 6c 64  |p1.R..        ld|
0000c440  72 20 20 20 20 20 72 39  2c 5b 72 38 2c 23 32 38  |r     r9,[r8,#28|
0000c450  5d 0d 52 ee 1c 20 20 20  20 20 20 20 20 61 6e 64  |].R..        and|
0000c460  20 20 20 20 20 72 39 2c  72 39 2c 23 33 0d 52 f8  |     r9,r9,#3.R.|
0000c470  1d 20 20 20 20 20 20 20  20 73 74 72 20 20 20 20  |.        str    |
0000c480  20 72 39 2c 6c 69 6e 74  79 70 0d 53 02 1b 20 20  | r9,lintyp.S..  |
0000c490  20 20 20 20 20 20 6c 64  72 20 20 20 20 20 72 39  |      ldr     r9|
0000c4a0  2c 5b 72 38 5d 0d 53 0c  19 20 20 20 20 20 20 20  |,[r8].S..       |
0000c4b0  20 63 6d 70 20 20 20 20  20 72 39 2c 23 30 0d 53  | cmp     r9,#0.S|
0000c4c0  16 19 20 20 20 20 20 20  20 20 63 6d 70 6e 65 20  |..        cmpne |
0000c4d0  20 20 72 39 2c 23 33 0d  53 20 19 20 20 20 20 20  |  r9,#3.S .     |
0000c4e0  20 20 20 63 6d 70 6e 65  20 20 20 72 39 2c 23 34  |   cmpne   r9,#4|
0000c4f0  0d 53 2a 19 20 20 20 20  20 20 20 20 63 6d 70 6e  |.S*.        cmpn|
0000c500  65 20 20 20 72 39 2c 23  36 0d 53 34 19 20 20 20  |e   r9,#6.S4.   |
0000c510  20 20 20 20 20 63 6d 70  6e 65 20 20 20 72 39 2c  |     cmpne   r9,|
0000c520  23 38 0d 53 3e 1a 20 20  20 20 20 20 20 20 63 6d  |#8.S>.        cm|
0000c530  70 6e 65 20 20 20 72 39  2c 23 31 33 0d 53 48 1a  |pne   r9,#13.SH.|
0000c540  20 20 20 20 20 20 20 20  63 6d 70 6e 65 20 20 20  |        cmpne   |
0000c550  72 39 2c 23 31 34 0d 53  52 1a 20 20 20 20 20 20  |r9,#14.SR.      |
0000c560  20 20 63 6d 70 6e 65 20  20 20 72 39 2c 23 31 35  |  cmpne   r9,#15|
0000c570  0d 53 5c 1a 20 20 20 20  20 20 20 20 63 6d 70 6e  |.S\.        cmpn|
0000c580  65 20 20 20 72 39 2c 23  31 37 0d 53 66 1e 20 20  |e   r9,#17.Sf.  |
0000c590  20 20 20 20 20 20 6c 64  72 20 20 20 20 20 72 39  |      ldr     r9|
0000c5a0  2c 5b 72 38 2c 23 34 5d  0d 53 70 1c 20 20 20 20  |,[r8,#4].Sp.    |
0000c5b0  20 20 20 20 73 75 62 20  20 20 20 20 72 39 2c 72  |    sub     r9,r|
0000c5c0  39 2c 23 32 0d 53 7a 1f  20 20 20 20 20 20 20 20  |9,#2.Sz.        |
0000c5d0  6c 64 72 20 20 20 20 20  72 31 30 2c 5b 72 38 2c  |ldr     r10,[r8,|
0000c5e0  23 38 5d 0d 53 84 20 20  20 20 20 20 20 20 20 61  |#8].S.         a|
0000c5f0  64 64 65 71 20 20 20 72  31 30 2c 72 31 30 2c 23  |ddeq   r10,r10,#|
0000c600  39 2a 34 0d 53 8e 20 20  20 20 20 20 20 20 20 61  |9*4.S.         a|
0000c610  64 64 6e 65 20 20 20 72  31 30 2c 72 31 30 2c 23  |ddne   r10,r10,#|
0000c620  36 2a 34 0d 53 98 20 20  20 20 20 20 20 20 20 6c  |6*4.S.         l|
0000c630  64 72 20 20 20 20 20 72  31 31 2c 5b 72 38 2c 23  |dr     r11,[r8,#|
0000c640  31 36 5d 0d 53 a2 25 20  20 20 20 20 20 20 20 61  |16].S.%        a|
0000c650  64 64 20 20 20 20 20 72  31 31 2c 72 36 2c 72 31  |dd     r11,r6,r1|
0000c660  31 2c 6c 73 6c 20 23 35  0d 53 ac 20 20 20 20 20  |1,lsl #5.S.     |
0000c670  20 20 20 20 6c 64 72 20  20 20 20 20 72 31 32 2c  |    ldr     r12,|
0000c680  5b 72 31 31 2c 23 38 5d  0d 53 b6 20 20 20 20 20  |[r11,#8].S.     |
0000c690  20 20 20 20 6c 64 72 20  20 20 20 20 72 31 31 2c  |    ldr     r11,|
0000c6a0  5b 72 31 31 2c 23 34 5d  0d 53 c0 21 20 20 20 20  |[r11,#4].S.!    |
0000c6b0  20 20 20 20 61 64 64 20  20 20 20 20 72 31 31 2c  |    add     r11,|
0000c6c0  72 31 31 2c 23 34 36 2a  32 0d 53 ca 20 20 20 20  |r11,#46*2.S.    |
0000c6d0  20 20 20 20 20 61 64 64  20 20 20 20 20 72 31 32  |     add     r12|
0000c6e0  2c 72 31 32 2c 23 36 2a  34 0d 53 d4 1a 20 20 20  |,r12,#6*4.S..   |
0000c6f0  20 20 20 20 20 62 6c 20  20 20 20 20 20 63 74 6c  |     bl      ctl|
0000c700  69 6e 65 0d 53 de 1f 2e  6e 6f 69 6e 70 31 20 6c  |ine.S...noinp1 l|
0000c710  64 72 20 20 20 20 20 72  39 2c 5b 72 38 2c 23 32  |dr     r9,[r8,#2|
0000c720  30 5d 0d 53 e8 19 20 20  20 20 20 20 20 20 63 6d  |0].S..        cm|
0000c730  6e 20 20 20 20 20 72 39  2c 23 31 0d 53 f2 1a 20  |n     r9,#1.S.. |
0000c740  20 20 20 20 20 20 20 62  65 71 20 20 20 20 20 6e  |       beq     n|
0000c750  6f 69 6e 70 32 0d 53 fc  1f 20 20 20 20 20 20 20  |oinp2.S..       |
0000c760  20 6c 64 72 20 20 20 20  20 72 39 2c 5b 72 38 2c  | ldr     r9,[r8,|
0000c770  23 32 38 5d 0d 54 06 20  20 20 20 20 20 20 20 20  |#28].T.         |
0000c780  6d 6f 76 20 20 20 20 20  72 39 2c 72 39 2c 6c 73  |mov     r9,r9,ls|
0000c790  72 20 23 32 0d 54 10 1c  20 20 20 20 20 20 20 20  |r #2.T..        |
0000c7a0  61 6e 64 20 20 20 20 20  72 39 2c 72 39 2c 23 33  |and     r9,r9,#3|
0000c7b0  0d 54 1a 1d 20 20 20 20  20 20 20 20 73 74 72 20  |.T..        str |
0000c7c0  20 20 20 20 72 39 2c 6c  69 6e 74 79 70 0d 54 24  |    r9,lintyp.T$|
0000c7d0  1e 20 20 20 20 20 20 20  20 6c 64 72 20 20 20 20  |.        ldr    |
0000c7e0  20 72 39 2c 5b 72 38 2c  23 34 5d 0d 54 2e 1c 20  | r9,[r8,#4].T.. |
0000c7f0  20 20 20 20 20 20 20 73  75 62 20 20 20 20 20 72  |       sub     r|
0000c800  39 2c 72 39 2c 23 32 0d  54 38 1f 20 20 20 20 20  |9,r9,#2.T8.     |
0000c810  20 20 20 6c 64 72 20 20  20 20 20 72 31 30 2c 5b  |   ldr     r10,[|
0000c820  72 38 2c 23 38 5d 0d 54  42 20 20 20 20 20 20 20  |r8,#8].TB       |
0000c830  20 20 61 64 64 20 20 20  20 20 72 31 30 2c 72 31  |  add     r10,r1|
0000c840  30 2c 23 33 2a 34 0d 54  4c 20 20 20 20 20 20 20  |0,#3*4.TL       |
0000c850  20 20 6c 64 72 20 20 20  20 20 72 31 31 2c 5b 72  |  ldr     r11,[r|
0000c860  38 2c 23 32 30 5d 0d 54  56 25 20 20 20 20 20 20  |8,#20].TV%      |
0000c870  20 20 61 64 64 20 20 20  20 20 72 31 31 2c 72 36  |  add     r11,r6|
0000c880  2c 72 31 31 2c 6c 73 6c  20 23 35 0d 54 60 20 20  |,r11,lsl #5.T`  |
0000c890  20 20 20 20 20 20 20 6c  64 72 20 20 20 20 20 72  |       ldr     r|
0000c8a0  31 32 2c 5b 72 31 31 2c  23 38 5d 0d 54 6a 20 20  |12,[r11,#8].Tj  |
0000c8b0  20 20 20 20 20 20 20 6c  64 72 20 20 20 20 20 72  |       ldr     r|
0000c8c0  31 31 2c 5b 72 31 31 2c  23 34 5d 0d 54 74 21 20  |11,[r11,#4].Tt! |
0000c8d0  20 20 20 20 20 20 20 61  64 64 20 20 20 20 20 72  |       add     r|
0000c8e0  31 31 2c 72 31 31 2c 23  34 36 2a 32 0d 54 7e 20  |11,r11,#46*2.T~ |
0000c8f0  20 20 20 20 20 20 20 20  61 64 64 20 20 20 20 20  |        add     |
0000c900  72 31 32 2c 72 31 32 2c  23 36 2a 34 0d 54 88 1a  |r12,r12,#6*4.T..|
0000c910  20 20 20 20 20 20 20 20  62 6c 20 20 20 20 20 20  |        bl      |
0000c920  63 74 6c 69 6e 65 0d 54  92 0b 2e 6e 6f 69 6e 70  |ctline.T...noinp|
0000c930  32 0d 54 9c 1c 2e 6e 78  74 69 63 6e 20 61 64 64  |2.T...nxticn add|
0000c940  20 20 20 20 20 72 37 2c  72 37 2c 23 31 0d 54 a6  |     r7,r7,#1.T.|
0000c950  21 20 20 20 20 20 20 20  20 63 6d 70 20 20 20 20  |!        cmp    |
0000c960  20 72 37 2c 23 6d 61 78  69 63 6f 6e 73 25 0d 54  | r7,#maxicons%.T|
0000c970  b0 1a 20 20 20 20 20 20  20 20 62 6c 6f 20 20 20  |..        blo   |
0000c980  20 20 63 68 6b 69 63 6e  0d 54 ba 24 20 20 20 20  |  chkicn.T.$    |
0000c990  20 20 20 20 6c 64 6d 66  64 20 20 20 72 31 33 21  |    ldmfd   r13!|
0000c9a0  2c 7b 72 30 2d 72 31 32  2c 70 63 7d 0d 54 c4 04  |,{r0-r12,pc}.T..|
0000c9b0  0d 54 ce 15 2e 6c 69 6e  74 79 70 20 65 71 75 64  |.T...lintyp equd|
0000c9c0  20 20 20 20 30 0d 54 d8  04 0d 54 e2 1c 2e 63 74  |    0.T...T...ct|
0000c9d0  6c 69 6e 65 20 61 64 64  20 20 20 20 20 72 39 2c  |line add     r9,|
0000c9e0  72 39 2c 72 30 0d 54 ec  1e 20 20 20 20 20 20 20  |r9,r0.T..       |
0000c9f0  20 61 64 64 20 20 20 20  20 72 31 30 2c 72 31 30  | add     r10,r10|
0000ca00  2c 72 31 0d 54 f6 1e 20  20 20 20 20 20 20 20 61  |,r1.T..        a|
0000ca10  64 64 20 20 20 20 20 72  31 31 2c 72 31 31 2c 72  |dd     r11,r11,r|
0000ca20  30 0d 55 00 1e 20 20 20  20 20 20 20 20 61 64 64  |0.U..        add|
0000ca30  20 20 20 20 20 72 31 32  2c 72 31 32 2c 72 31 0d  |     r12,r12,r1.|
0000ca40  55 0a 24 20 20 20 20 20  20 20 20 73 74 6d 66 64  |U.$        stmfd|
0000ca50  20 20 20 72 31 33 21 2c  7b 72 30 2d 72 38 2c 72  |   r13!,{r0-r8,r|
0000ca60  31 34 7d 0d 55 14 19 20  20 20 20 20 20 20 20 6d  |14}.U..        m|
0000ca70  6f 76 20 20 20 20 20 72  30 2c 23 34 0d 55 1e 19  |ov     r0,#4.U..|
0000ca80  20 20 20 20 20 20 20 20  6d 6f 76 20 20 20 20 20  |        mov     |
0000ca90  72 31 2c 72 39 0d 55 28  1a 20 20 20 20 20 20 20  |r1,r9.U(.       |
0000caa0  20 6d 6f 76 20 20 20 20  20 72 32 2c 72 31 30 0d  | mov     r2,r10.|
0000cab0  55 32 1d 20 20 20 20 20  20 20 20 73 77 69 20 20  |U2.        swi  |
0000cac0  20 20 20 22 4f 53 5f 50  6c 6f 74 22 0d 55 3c 1d  |   "OS_Plot".U<.|
0000cad0  20 20 20 20 20 20 20 20  6c 64 72 20 20 20 20 20  |        ldr     |
0000cae0  72 33 2c 6c 69 6e 74 79  70 0d 55 46 19 20 20 20  |r3,lintyp.UF.   |
0000caf0  20 20 20 20 20 6d 6f 76  20 20 20 20 20 72 30 2c  |     mov     r0,|
0000cb00  23 35 0d 55 50 19 20 20  20 20 20 20 20 20 63 6d  |#5.UP.        cm|
0000cb10  70 20 20 20 20 20 72 33  2c 23 33 0d 55 5a 1d 20  |p     r3,#3.UZ. |
0000cb20  20 20 20 20 20 20 20 61  64 64 65 71 20 20 20 72  |       addeq   r|
0000cb30  31 2c 72 39 2c 72 31 31  0d 55 64 20 20 20 20 20  |1,r9,r11.Ud     |
0000cb40  20 20 20 20 6d 6f 76 65  71 20 20 20 72 31 2c 72  |    moveq   r1,r|
0000cb50  31 2c 61 73 72 20 23 31  0d 55 6e 1a 20 20 20 20  |1,asr #1.Un.    |
0000cb60  20 20 20 20 6d 6f 76 65  71 20 20 20 72 32 2c 72  |    moveq   r2,r|
0000cb70  31 30 0d 55 78 19 20 20  20 20 20 20 20 20 63 6d  |10.Ux.        cm|
0000cb80  70 20 20 20 20 20 72 33  2c 23 32 0d 55 82 19 20  |p     r3,#2.U.. |
0000cb90  20 20 20 20 20 20 20 6d  6f 76 65 71 20 20 20 72  |       moveq   r|
0000cba0  31 2c 72 39 0d 55 8c 1e  20 20 20 20 20 20 20 20  |1,r9.U..        |
0000cbb0  61 64 64 65 71 20 20 20  72 32 2c 72 31 30 2c 72  |addeq   r2,r10,r|
0000cbc0  31 32 0d 55 96 20 20 20  20 20 20 20 20 20 6d 6f  |12.U.         mo|
0000cbd0  76 65 71 20 20 20 72 32  2c 72 32 2c 61 73 72 20  |veq   r2,r2,asr |
0000cbe0  23 31 0d 55 a0 19 20 20  20 20 20 20 20 20 63 6d  |#1.U..        cm|
0000cbf0  70 20 20 20 20 20 72 33  2c 23 31 0d 55 aa 1a 20  |p     r3,#1.U.. |
0000cc00  20 20 20 20 20 20 20 6d  6f 76 65 71 20 20 20 72  |       moveq   r|
0000cc10  31 2c 72 31 31 0d 55 b4  1a 20 20 20 20 20 20 20  |1,r11.U..       |
0000cc20  20 6d 6f 76 65 71 20 20  20 72 32 2c 72 31 30 0d  | moveq   r2,r10.|
0000cc30  55 be 19 20 20 20 20 20  20 20 20 63 6d 70 20 20  |U..        cmp  |
0000cc40  20 20 20 72 33 2c 23 30  0d 55 c8 19 20 20 20 20  |   r3,#0.U..    |
0000cc50  20 20 20 20 6d 6f 76 65  71 20 20 20 72 31 2c 72  |    moveq   r1,r|
0000cc60  39 0d 55 d2 1a 20 20 20  20 20 20 20 20 6d 6f 76  |9.U..        mov|
0000cc70  65 71 20 20 20 72 32 2c  72 31 32 0d 55 dc 1d 20  |eq   r2,r12.U.. |
0000cc80  20 20 20 20 20 20 20 73  77 69 20 20 20 20 20 22  |       swi     "|
0000cc90  4f 53 5f 50 6c 6f 74 22  0d 55 e6 1d 20 20 20 20  |OS_Plot".U..    |
0000cca0  20 20 20 20 6c 64 72 20  20 20 20 20 72 33 2c 6c  |    ldr     r3,l|
0000ccb0  69 6e 74 79 70 0d 55 f0  19 20 20 20 20 20 20 20  |intyp.U..       |
0000ccc0  20 6d 6f 76 20 20 20 20  20 72 30 2c 23 35 0d 55  | mov     r0,#5.U|
0000ccd0  fa 19 20 20 20 20 20 20  20 20 63 6d 70 20 20 20  |..        cmp   |
0000cce0  20 20 72 33 2c 23 33 0d  56 04 1d 20 20 20 20 20  |  r3,#3.V..     |
0000ccf0  20 20 20 61 64 64 65 71  20 20 20 72 31 2c 72 39  |   addeq   r1,r9|
0000cd00  2c 72 31 31 0d 56 0e 20  20 20 20 20 20 20 20 20  |,r11.V.         |
0000cd10  6d 6f 76 65 71 20 20 20  72 31 2c 72 31 2c 61 73  |moveq   r1,r1,as|
0000cd20  72 20 23 31 0d 56 18 1a  20 20 20 20 20 20 20 20  |r #1.V..        |
0000cd30  6d 6f 76 65 71 20 20 20  72 32 2c 72 31 32 0d 56  |moveq   r2,r12.V|
0000cd40  22 19 20 20 20 20 20 20  20 20 63 6d 70 20 20 20  |".        cmp   |
0000cd50  20 20 72 33 2c 23 32 0d  56 2c 1a 20 20 20 20 20  |  r3,#2.V,.     |
0000cd60  20 20 20 6d 6f 76 65 71  20 20 20 72 31 2c 72 31  |   moveq   r1,r1|
0000cd70  31 0d 56 36 1e 20 20 20  20 20 20 20 20 61 64 64  |1.V6.        add|
0000cd80  65 71 20 20 20 72 32 2c  72 31 30 2c 72 31 32 0d  |eq   r2,r10,r12.|
0000cd90  56 40 20 20 20 20 20 20  20 20 20 6d 6f 76 65 71  |V@         moveq|
0000cda0  20 20 20 72 32 2c 72 32  2c 61 73 72 20 23 31 0d  |   r2,r2,asr #1.|
0000cdb0  56 4a 19 20 20 20 20 20  20 20 20 63 6d 70 20 20  |VJ.        cmp  |
0000cdc0  20 20 20 72 33 2c 23 31  0d 56 54 19 20 20 20 20  |   r3,#1.VT.    |
0000cdd0  20 20 20 20 63 6d 70 6e  65 20 20 20 72 33 2c 23  |    cmpne   r3,#|
0000cde0  30 0d 56 5e 1a 20 20 20  20 20 20 20 20 6d 6f 76  |0.V^.        mov|
0000cdf0  65 71 20 20 20 72 31 2c  72 31 31 0d 56 68 1a 20  |eq   r1,r11.Vh. |
0000ce00  20 20 20 20 20 20 20 6d  6f 76 65 71 20 20 20 72  |       moveq   r|
0000ce10  32 2c 72 31 32 0d 56 72  1d 20 20 20 20 20 20 20  |2,r12.Vr.       |
0000ce20  20 73 77 69 20 20 20 20  20 22 4f 53 5f 50 6c 6f  | swi     "OS_Plo|
0000ce30  74 22 0d 56 7c 1d 20 20  20 20 20 20 20 20 6c 64  |t".V|.        ld|
0000ce40  72 20 20 20 20 20 72 33  2c 6c 69 6e 74 79 70 0d  |r     r3,lintyp.|
0000ce50  56 86 19 20 20 20 20 20  20 20 20 63 6d 70 20 20  |V..        cmp  |
0000ce60  20 20 20 72 33 2c 23 30  0d 56 90 19 20 20 20 20  |   r3,#0.V..    |
0000ce70  20 20 20 20 63 6d 70 6e  65 20 20 20 72 33 2c 23  |    cmpne   r3,#|
0000ce80  31 0d 56 9a 23 20 20 20  20 20 20 20 20 6c 64 6d  |1.V.#        ldm|
0000ce90  65 71 66 64 20 72 31 33  21 2c 7b 72 30 2d 72 38  |eqfd r13!,{r0-r8|
0000cea0  2c 70 63 7d 0d 56 a4 19  20 20 20 20 20 20 20 20  |,pc}.V..        |
0000ceb0  6d 6f 76 20 20 20 20 20  72 30 2c 23 35 0d 56 ae  |mov     r0,#5.V.|
0000cec0  1a 20 20 20 20 20 20 20  20 6d 6f 76 20 20 20 20  |.        mov    |
0000ced0  20 72 31 2c 72 31 31 0d  56 b8 1a 20 20 20 20 20  | r1,r11.V..     |
0000cee0  20 20 20 6d 6f 76 20 20  20 20 20 72 32 2c 72 31  |   mov     r2,r1|
0000cef0  32 0d 56 c2 1d 20 20 20  20 20 20 20 20 73 77 69  |2.V..        swi|
0000cf00  20 20 20 20 20 22 4f 53  5f 50 6c 6f 74 22 0d 56  |     "OS_Plot".V|
0000cf10  cc 23 20 20 20 20 20 20  20 20 6c 64 6d 66 64 20  |.#        ldmfd |
0000cf20  20 20 72 31 33 21 2c 7b  72 30 2d 72 38 2c 70 63  |  r13!,{r0-r8,pc|
0000cf30  7d 0d 56 d6 15 2e 73 61  6d 74 79 70 20 65 71 75  |}.V...samtyp equ|
0000cf40  64 20 20 20 20 30 0d 56  e0 04 0d 56 ea 29 2e 69  |d    0.V...V.).i|
0000cf50  6e 69 74 6d 65 6d 20 20  20 20 20 20 20 20 3b 72  |nitmem        ;r|
0000cf60  30 3d 4d 65 6d 53 74 61  72 74 2c 20 72 31 3d 53  |0=MemStart, r1=S|
0000cf70  69 7a 65 0d 56 f4 24 20  20 20 20 20 20 20 20 73  |ize.V.$        s|
0000cf80  74 6d 66 64 20 20 20 72  31 33 21 2c 7b 72 30 2d  |tmfd   r13!,{r0-|
0000cf90  72 33 2c 72 31 34 7d 0d  56 fe 1c 20 20 20 20 20  |r3,r14}.V..     |
0000cfa0  20 20 20 61 64 64 20 20  20 20 20 72 30 2c 72 30  |   add     r0,r0|
0000cfb0  2c 23 33 0d 57 08 1c 20  20 20 20 20 20 20 20 62  |,#3.W..        b|
0000cfc0  69 63 20 20 20 20 20 72  30 2c 72 30 2c 23 33 0d  |ic     r0,r0,#3.|
0000cfd0  57 12 1c 20 20 20 20 20  20 20 20 62 69 63 20 20  |W..        bic  |
0000cfe0  20 20 20 72 31 2c 72 31  2c 23 33 0d 57 1c 1f 20  |   r1,r1,#3.W.. |
0000cff0  20 20 20 20 20 20 20 73  74 72 20 20 20 20 20 72  |       str     r|
0000d000  30 2c 6d 65 6d 73 74 61  72 74 0d 57 26 19 20 20  |0,memstart.W&.  |
0000d010  20 20 20 20 20 20 6d 76  6e 20 20 20 20 20 72 32  |      mvn     r2|
0000d020  2c 23 30 0d 57 30 1e 20  20 20 20 20 20 20 20 73  |,#0.W0.        s|
0000d030  74 72 20 20 20 20 20 72  32 2c 5b 72 30 2c 23 34  |tr     r2,[r0,#4|
0000d040  5d 0d 57 3a 1d 20 20 20  20 20 20 20 20 73 75 62  |].W:.        sub|
0000d050  20 20 20 20 20 72 32 2c  72 31 2c 23 32 34 0d 57  |     r2,r1,#24.W|
0000d060  44 1e 20 20 20 20 20 20  20 20 73 74 72 20 20 20  |D.        str   |
0000d070  20 20 72 32 2c 5b 72 30  2c 23 38 5d 0d 57 4e 1c  |  r2,[r0,#8].WN.|
0000d080  20 20 20 20 20 20 20 20  61 64 64 20 20 20 20 20  |        add     |
0000d090  72 32 2c 72 30 2c 72 31  0d 57 58 1b 20 20 20 20  |r2,r0,r1.WX.    |
0000d0a0  20 20 20 20 73 74 72 20  20 20 20 20 72 32 2c 5b  |    str     r2,[|
0000d0b0  72 30 5d 0d 57 62 1d 20  20 20 20 20 20 20 20 61  |r0].Wb.        a|
0000d0c0  64 64 20 20 20 20 20 72  33 2c 72 30 2c 23 31 32  |dd     r3,r0,#12|
0000d0d0  0d 57 6c 1f 20 20 20 20  20 20 20 20 73 74 72 20  |.Wl.        str |
0000d0e0  20 20 20 20 72 33 2c 5b  72 32 2c 23 2d 38 5d 0d  |    r3,[r2,#-8].|
0000d0f0  57 76 19 20 20 20 20 20  20 20 20 6d 76 6e 20 20  |Wv.        mvn  |
0000d100  20 20 20 72 33 2c 23 30  0d 57 80 20 20 20 20 20  |   r3,#0.W.     |
0000d110  20 20 20 20 73 74 72 20  20 20 20 20 72 33 2c 5b  |    str     r3,[|
0000d120  72 32 2c 23 2d 31 32 5d  0d 57 8a 19 20 20 20 20  |r2,#-12].W..    |
0000d130  20 20 20 20 6d 6f 76 20  20 20 20 20 72 33 2c 23  |    mov     r3,#|
0000d140  30 0d 57 94 1f 20 20 20  20 20 20 20 20 73 74 72  |0.W..        str|
0000d150  20 20 20 20 20 72 33 2c  5b 72 32 2c 23 2d 34 5d  |     r3,[r2,#-4]|
0000d160  0d 57 9e 23 20 20 20 20  20 20 20 20 6c 64 6d 66  |.W.#        ldmf|
0000d170  64 20 20 20 72 31 33 21  2c 7b 72 30 2d 72 33 2c  |d   r13!,{r0-r3,|
0000d180  70 63 7d 0d 57 a8 04 0d  57 b2 43 2e 61 6c 6c 6f  |pc}.W...W.C.allo|
0000d190  63 6d 65 6d 20 20 20 20  20 20 20 3b 72 30 3d 52  |cmem       ;r0=R|
0000d1a0  65 71 75 69 72 65 64 53  69 7a 65 20 2d 3e 20 72  |equiredSize -> r|
0000d1b0  30 3d 50 74 72 54 6f 46  72 65 65 4d 65 6d 20 28  |0=PtrToFreeMem (|
0000d1c0  2d 31 3d 66 61 69 6c 65  64 29 0d 57 bc 19 20 20  |-1=failed).W..  |
0000d1d0  20 20 20 20 20 20 63 6d  70 20 20 20 20 20 72 30  |      cmp     r0|
0000d1e0  2c 23 30 0d 57 c6 19 20  20 20 20 20 20 20 20 6d  |,#0.W..        m|
0000d1f0  76 6e 6c 65 20 20 20 72  30 2c 23 30 0d 57 d0 1a  |vnle   r0,#0.W..|
0000d200  20 20 20 20 20 20 20 20  6d 6f 76 6c 65 20 20 20  |        movle   |
0000d210  70 63 2c 72 31 34 0d 57  da 24 20 20 20 20 20 20  |pc,r14.W.$      |
0000d220  20 20 73 74 6d 66 64 20  20 20 72 31 33 21 2c 7b  |  stmfd   r13!,{|
0000d230  72 31 2d 72 34 2c 72 31  34 7d 0d 57 e4 1c 20 20  |r1-r4,r14}.W..  |
0000d240  20 20 20 20 20 20 61 64  64 20 20 20 20 20 72 30  |      add     r0|
0000d250  2c 72 30 2c 23 33 0d 57  ee 1c 20 20 20 20 20 20  |,r0,#3.W..      |
0000d260  20 20 62 69 63 20 20 20  20 20 72 30 2c 72 30 2c  |  bic     r0,r0,|
0000d270  23 33 0d 57 f8 1d 20 20  20 20 20 20 20 20 61 64  |#3.W..        ad|
0000d280  64 20 20 20 20 20 72 33  2c 72 30 2c 23 31 32 0d  |d     r3,r0,#12.|
0000d290  58 02 1f 20 20 20 20 20  20 20 20 6c 64 72 20 20  |X..        ldr  |
0000d2a0  20 20 20 72 31 2c 6d 65  6d 73 74 61 72 74 0d 58  |   r1,memstart.X|
0000d2b0  0c 1d 20 20 20 20 20 20  20 20 61 64 64 20 20 20  |..        add   |
0000d2c0  20 20 72 31 2c 72 31 2c  23 31 32 0d 58 16 1f 2e  |  r1,r1,#12.X...|
0000d2d0  61 6c 6c 6f 63 31 20 6c  64 72 20 20 20 20 20 72  |alloc1 ldr     r|
0000d2e0  32 2c 5b 72 31 2c 23 2d  34 5d 0d 58 20 19 20 20  |2,[r1,#-4].X .  |
0000d2f0  20 20 20 20 20 20 63 6d  70 20 20 20 20 20 72 32  |      cmp     r2|
0000d300  2c 72 30 0d 58 2a 1a 20  20 20 20 20 20 20 20 62  |,r0.X*.        b|
0000d310  6d 69 20 20 20 20 20 61  6c 6c 6f 63 34 0d 58 34  |mi     alloc4.X4|
0000d320  19 20 20 20 20 20 20 20  20 63 6d 70 20 20 20 20  |.        cmp    |
0000d330  20 72 32 2c 72 33 0d 58  3e 1a 20 20 20 20 20 20  | r2,r3.X>.      |
0000d340  20 20 62 6c 65 20 20 20  20 20 61 6c 6c 6f 63 33  |  ble     alloc3|
0000d350  0d 58 48 1d 20 20 20 20  20 20 20 20 61 64 64 20  |.XH.        add |
0000d360  20 20 20 20 72 30 2c 72  30 2c 23 31 32 0d 58 52  |    r0,r0,#12.XR|
0000d370  1a 20 20 20 20 20 20 20  20 62 20 20 20 20 20 20  |.        b      |
0000d380  20 61 6c 6c 6f 63 32 0d  58 5c 20 2e 61 6c 6c 6f  | alloc2.X\ .allo|
0000d390  63 34 20 6c 64 72 20 20  20 20 20 72 31 2c 5b 72  |c4 ldr     r1,[r|
0000d3a0  31 2c 23 2d 31 32 5d 0d  58 66 19 20 20 20 20 20  |1,#-12].Xf.     |
0000d3b0  20 20 20 63 6d 6e 20 20  20 20 20 72 31 2c 23 31  |   cmn     r1,#1|
0000d3c0  0d 58 70 1a 20 20 20 20  20 20 20 20 62 6e 65 20  |.Xp.        bne |
0000d3d0  20 20 20 20 61 6c 6c 6f  63 31 0d 58 7a 19 20 20  |    alloc1.Xz.  |
0000d3e0  20 20 20 20 20 20 6d 76  6e 20 20 20 20 20 72 30  |      mvn     r0|
0000d3f0  2c 23 30 0d 58 84 23 20  20 20 20 20 20 20 20 6c  |,#0.X.#        l|
0000d400  64 6d 66 64 20 20 20 72  31 33 21 2c 7b 72 31 2d  |dmfd   r13!,{r1-|
0000d410  72 34 2c 70 63 7d 0d 58  8e 19 2e 61 6c 6c 6f 63  |r4,pc}.X...alloc|
0000d420  33 20 6d 6f 76 20 20 20  20 20 72 30 2c 72 31 0d  |3 mov     r0,r1.|
0000d430  58 98 19 20 20 20 20 20  20 20 20 6d 6f 76 20 20  |X..        mov  |
0000d440  20 20 20 72 32 2c 23 30  0d 58 a2 1f 20 20 20 20  |   r2,#0.X..    |
0000d450  20 20 20 20 73 74 72 20  20 20 20 20 72 32 2c 5b  |    str     r2,[|
0000d460  72 31 2c 23 2d 34 5d 0d  58 ac 23 20 20 20 20 20  |r1,#-4].X.#     |
0000d470  20 20 20 6c 64 6d 66 64  20 20 20 72 31 33 21 2c  |   ldmfd   r13!,|
0000d480  7b 72 31 2d 72 34 2c 70  63 7d 0d 58 b6 1c 2e 61  |{r1-r4,pc}.X...a|
0000d490  6c 6c 6f 63 32 20 61 64  64 20 20 20 20 20 72 34  |lloc2 add     r4|
0000d4a0  2c 72 31 2c 72 30 0d 58  c0 1c 20 20 20 20 20 20  |,r1,r0.X..      |
0000d4b0  20 20 73 75 62 20 20 20  20 20 72 32 2c 72 32 2c  |  sub     r2,r2,|
0000d4c0  72 30 0d 58 ca 20 20 20  20 20 20 20 20 20 6c 64  |r0.X.         ld|
0000d4d0  72 20 20 20 20 20 72 33  2c 5b 72 31 2c 23 2d 31  |r     r3,[r1,#-1|
0000d4e0  32 5d 0d 58 d4 20 20 20  20 20 20 20 20 20 73 74  |2].X.         st|
0000d4f0  72 20 20 20 20 20 72 33  2c 5b 72 34 2c 23 2d 31  |r     r3,[r4,#-1|
0000d500  32 5d 0d 58 de 1f 20 20  20 20 20 20 20 20 73 74  |2].X..        st|
0000d510  72 20 20 20 20 20 72 32  2c 5b 72 34 2c 23 2d 34  |r     r2,[r4,#-4|
0000d520  5d 0d 58 e8 1f 20 20 20  20 20 20 20 20 73 74 72  |].X..        str|
0000d530  20 20 20 20 20 72 31 2c  5b 72 34 2c 23 2d 38 5d  |     r1,[r4,#-8]|
0000d540  0d 58 f2 20 20 20 20 20  20 20 20 20 73 74 72 20  |.X.         str |
0000d550  20 20 20 20 72 34 2c 5b  72 31 2c 23 2d 31 32 5d  |    r4,[r1,#-12]|
0000d560  0d 58 fc 19 20 20 20 20  20 20 20 20 63 6d 6e 20  |.X..        cmn |
0000d570  20 20 20 20 72 33 2c 23  31 0d 59 06 1f 20 20 20  |    r3,#1.Y..   |
0000d580  20 20 20 20 20 73 74 72  6e 65 20 20 20 72 34 2c  |     strne   r4,|
0000d590  5b 72 33 2c 23 2d 38 5d  0d 59 10 19 20 20 20 20  |[r3,#-8].Y..    |
0000d5a0  20 20 20 20 6d 6f 76 20  20 20 20 20 72 34 2c 23  |    mov     r4,#|
0000d5b0  30 0d 59 1a 1f 20 20 20  20 20 20 20 20 73 74 72  |0.Y..        str|
0000d5c0  20 20 20 20 20 72 34 2c  5b 72 31 2c 23 2d 34 5d  |     r4,[r1,#-4]|
0000d5d0  0d 59 24 19 20 20 20 20  20 20 20 20 6d 6f 76 20  |.Y$.        mov |
0000d5e0  20 20 20 20 72 30 2c 72  31 0d 59 2e 23 20 20 20  |    r0,r1.Y.#   |
0000d5f0  20 20 20 20 20 6c 64 6d  66 64 20 20 20 72 31 33  |     ldmfd   r13|
0000d600  21 2c 7b 72 31 2d 72 34  2c 70 63 7d 0d 59 38 04  |!,{r1-r4,pc}.Y8.|
0000d610  0d 59 42 29 2e 66 72 65  65 6d 65 6d 20 20 20 20  |.YB).freemem    |
0000d620  20 20 20 20 3b 72 30 3d  50 74 72 54 6f 41 6c 6c  |    ;r0=PtrToAll|
0000d630  6f 63 61 74 65 64 4d 65  6d 0d 59 4c 24 20 20 20  |ocatedMem.YL$   |
0000d640  20 20 20 20 20 73 74 6d  66 64 20 20 20 72 31 33  |     stmfd   r13|
0000d650  21 2c 7b 72 30 2d 72 33  2c 72 31 34 7d 0d 59 56  |!,{r0-r3,r14}.YV|
0000d660  20 20 20 20 20 20 20 20  20 6c 64 72 20 20 20 20  |         ldr    |
0000d670  20 72 31 2c 5b 72 30 2c  23 2d 31 32 5d 0d 59 60  | r1,[r0,#-12].Y`|
0000d680  1c 20 20 20 20 20 20 20  20 73 75 62 20 20 20 20  |.        sub    |
0000d690  20 72 32 2c 72 31 2c 72  30 0d 59 6a 1d 20 20 20  | r2,r1,r0.Yj.   |
0000d6a0  20 20 20 20 20 73 75 62  20 20 20 20 20 72 32 2c  |     sub     r2,|
0000d6b0  72 32 2c 23 31 32 0d 59  74 1f 20 20 20 20 20 20  |r2,#12.Yt.      |
0000d6c0  20 20 6c 64 72 20 20 20  20 20 72 33 2c 5b 72 31  |  ldr     r3,[r1|
0000d6d0  2c 23 2d 34 5d 0d 59 7e  19 20 20 20 20 20 20 20  |,#-4].Y~.       |
0000d6e0  20 63 6d 70 20 20 20 20  20 72 33 2c 23 30 0d 59  | cmp     r3,#0.Y|
0000d6f0  88 1a 20 20 20 20 20 20  20 20 62 65 71 20 20 20  |..        beq   |
0000d700  20 20 66 72 65 65 6d 31  0d 59 92 1c 20 20 20 20  |  freem1.Y..    |
0000d710  20 20 20 20 61 64 64 20  20 20 20 20 72 32 2c 72  |    add     r2,r|
0000d720  32 2c 72 33 0d 59 9c 1d  20 20 20 20 20 20 20 20  |2,r3.Y..        |
0000d730  61 64 64 20 20 20 20 20  72 32 2c 72 32 2c 23 31  |add     r2,r2,#1|
0000d740  32 0d 59 a6 20 20 20 20  20 20 20 20 20 6c 64 72  |2.Y.         ldr|
0000d750  20 20 20 20 20 72 31 2c  5b 72 31 2c 23 2d 31 32  |     r1,[r1,#-12|
0000d760  5d 0d 59 b0 19 20 20 20  20 20 20 20 20 63 6d 6e  |].Y..        cmn|
0000d770  20 20 20 20 20 72 31 2c  23 31 0d 59 ba 1f 20 20  |     r1,#1.Y..  |
0000d780  20 20 20 20 20 20 73 74  72 6e 65 20 20 20 72 30  |      strne   r0|
0000d790  2c 5b 72 31 2c 23 2d 38  5d 0d 59 c4 20 2e 66 72  |,[r1,#-8].Y. .fr|
0000d7a0  65 65 6d 31 20 73 74 72  20 20 20 20 20 72 31 2c  |eem1 str     r1,|
0000d7b0  5b 72 30 2c 23 2d 31 32  5d 0d 59 ce 1f 20 20 20  |[r0,#-12].Y..   |
0000d7c0  20 20 20 20 20 73 74 72  20 20 20 20 20 72 32 2c  |     str     r2,|
0000d7d0  5b 72 30 2c 23 2d 34 5d  0d 59 d8 1f 20 20 20 20  |[r0,#-4].Y..    |
0000d7e0  20 20 20 20 6c 64 72 20  20 20 20 20 72 31 2c 5b  |    ldr     r1,[|
0000d7f0  72 30 2c 23 2d 38 5d 0d  59 e2 19 20 20 20 20 20  |r0,#-8].Y..     |
0000d800  20 20 20 63 6d 6e 20 20  20 20 20 72 31 2c 23 31  |   cmn     r1,#1|
0000d810  0d 59 ec 1a 20 20 20 20  20 20 20 20 62 65 71 20  |.Y..        beq |
0000d820  20 20 20 20 66 72 65 65  6d 32 0d 59 f6 1f 20 20  |    freem2.Y..  |
0000d830  20 20 20 20 20 20 6c 64  72 20 20 20 20 20 72 33  |      ldr     r3|
0000d840  2c 5b 72 31 2c 23 2d 34  5d 0d 5a 00 19 20 20 20  |,[r1,#-4].Z..   |
0000d850  20 20 20 20 20 63 6d 70  20 20 20 20 20 72 33 2c  |     cmp     r3,|
0000d860  23 30 0d 5a 0a 1a 20 20  20 20 20 20 20 20 62 65  |#0.Z..        be|
0000d870  71 20 20 20 20 20 66 72  65 65 6d 32 0d 5a 14 1c  |q     freem2.Z..|
0000d880  20 20 20 20 20 20 20 20  61 64 64 20 20 20 20 20  |        add     |
0000d890  72 32 2c 72 32 2c 72 33  0d 5a 1e 1d 20 20 20 20  |r2,r2,r3.Z..    |
0000d8a0  20 20 20 20 61 64 64 20  20 20 20 20 72 32 2c 72  |    add     r2,r|
0000d8b0  32 2c 23 31 32 0d 5a 28  1f 20 20 20 20 20 20 20  |2,#12.Z(.       |
0000d8c0  20 73 74 72 20 20 20 20  20 72 32 2c 5b 72 31 2c  | str     r2,[r1,|
0000d8d0  23 2d 34 5d 0d 5a 32 20  20 20 20 20 20 20 20 20  |#-4].Z2         |
0000d8e0  6c 64 72 20 20 20 20 20  72 32 2c 5b 72 30 2c 23  |ldr     r2,[r0,#|
0000d8f0  2d 31 32 5d 0d 5a 3c 20  20 20 20 20 20 20 20 20  |-12].Z<         |
0000d900  73 74 72 20 20 20 20 20  72 32 2c 5b 72 31 2c 23  |str     r2,[r1,#|
0000d910  2d 31 32 5d 0d 5a 46 19  20 20 20 20 20 20 20 20  |-12].ZF.        |
0000d920  63 6d 6e 20 20 20 20 20  72 32 2c 23 31 0d 5a 50  |cmn     r2,#1.ZP|
0000d930  1f 20 20 20 20 20 20 20  20 73 74 72 6e 65 20 20  |.        strne  |
0000d940  20 72 31 2c 5b 72 32 2c  23 2d 38 5d 0d 5a 5a 23  | r1,[r2,#-8].ZZ#|
0000d950  2e 66 72 65 65 6d 32 20  6c 64 6d 66 64 20 20 20  |.freem2 ldmfd   |
0000d960  72 31 33 21 2c 7b 72 30  2d 72 33 2c 70 63 7d 0d  |r13!,{r0-r3,pc}.|
0000d970  5a 64 04 0d 5a 6e 0d 2e  6d 65 6d 73 74 61 72 74  |Zd..Zn..memstart|
0000d980  0d 5a 78 15 20 20 20 20  20 20 20 20 65 71 75 64  |.Zx.        equd|
0000d990  20 20 20 20 30 0d 5a 82  04 0d 5a 8c 0e 2e 72 65  |    0.Z...Z...re|
0000d9a0  64 72 61 77 76 63 6f 0d  5a 96 25 20 20 20 20 20  |drawvco.Z.%     |
0000d9b0  20 20 20 73 74 6d 66 64  20 20 20 72 31 33 21 2c  |   stmfd   r13!,|
0000d9c0  7b 72 30 2d 72 31 32 2c  72 31 34 7d 0d 5a a0 1e  |{r0-r12,r14}.Z..|
0000d9d0  20 20 20 20 20 20 20 20  61 64 64 20 20 20 20 20  |        add     |
0000d9e0  72 38 2c 72 30 2c 23 31  36 36 0d 5a aa 1c 20 20  |r8,r0,#166.Z..  |
0000d9f0  20 20 20 20 20 20 61 64  64 20 20 20 20 20 72 39  |      add     r9|
0000da00  2c 72 31 2c 23 34 0d 5a  b4 1d 20 20 20 20 20 20  |,r1,#4.Z..      |
0000da10  20 20 61 64 64 20 20 20  20 20 72 31 30 2c 72 32  |  add     r10,r2|
0000da20  2c 23 34 0d 5a be 1a 20  20 20 20 20 20 20 20 6d  |,#4.Z..        m|
0000da30  6f 76 20 20 20 20 20 72  31 31 2c 23 30 0d 5a c8  |ov     r11,#0.Z.|
0000da40  1a 2e 72 76 63 6f 6c 70  20 6d 6f 76 20 20 20 20  |..rvcolp mov    |
0000da50  20 72 30 2c 23 36 39 0d  5a d2 21 20 20 20 20 20  | r0,#69.Z.!     |
0000da60  20 20 20 6d 6f 76 20 20  20 20 20 72 31 2c 72 31  |   mov     r1,r1|
0000da70  31 2c 6c 73 6c 20 23 31  0d 5a dc 20 20 20 20 20  |1,lsl #1.Z.     |
0000da80  20 20 20 20 6c 64 72 62  20 20 20 20 72 32 2c 5b  |    ldrb    r2,[|
0000da90  72 31 30 2c 72 31 31 5d  0d 5a e6 21 20 20 20 20  |r10,r11].Z.!    |
0000daa0  20 20 20 20 6d 6f 76 20  20 20 20 20 72 32 2c 72  |    mov     r2,r|
0000dab0  32 2c 6c 73 6c 20 23 32  34 0d 5a f0 21 20 20 20  |2,lsl #24.Z.!   |
0000dac0  20 20 20 20 20 6d 6f 76  20 20 20 20 20 72 32 2c  |     mov     r2,|
0000dad0  72 32 2c 61 73 72 20 23  32 34 0d 5a fa 1e 20 20  |r2,asr #24.Z..  |
0000dae0  20 20 20 20 20 20 61 64  64 20 20 20 20 20 72 32  |      add     r2|
0000daf0  2c 72 32 2c 23 31 32 38  0d 5b 04 1c 20 20 20 20  |,r2,#128.[..    |
0000db00  20 20 20 20 61 64 64 20  20 20 20 20 72 31 2c 72  |    add     r1,r|
0000db10  31 2c 72 38 0d 5b 0e 1c  20 20 20 20 20 20 20 20  |1,r8.[..        |
0000db20  61 64 64 20 20 20 20 20  72 32 2c 72 32 2c 72 39  |add     r2,r2,r9|
0000db30  0d 5b 18 1d 20 20 20 20  20 20 20 20 73 77 69 20  |.[..        swi |
0000db40  20 20 20 20 22 4f 53 5f  50 6c 6f 74 22 0d 5b 22  |    "OS_Plot".["|
0000db50  1e 20 20 20 20 20 20 20  20 61 64 64 20 20 20 20  |.        add    |
0000db60  20 72 31 31 2c 72 31 31  2c 23 31 0d 5b 2c 1c 20  | r11,r11,#1.[,. |
0000db70  20 20 20 20 20 20 20 63  6d 70 20 20 20 20 20 72  |       cmp     r|
0000db80  31 31 2c 23 32 35 36 0d  5b 36 1a 20 20 20 20 20  |11,#256.[6.     |
0000db90  20 20 20 62 6e 65 20 20  20 20 20 72 76 63 6f 6c  |   bne     rvcol|
0000dba0  70 0d 5b 40 24 20 20 20  20 20 20 20 20 6c 64 6d  |p.[@$        ldm|
0000dbb0  66 64 20 20 20 72 31 33  21 2c 7b 72 30 2d 72 31  |fd   r13!,{r0-r1|
0000dbc0  32 2c 70 63 7d 0d 5b 4a  0e 2e 72 65 64 72 61 77  |2,pc}.[J..redraw|
0000dbd0  6e 6c 64 0d 5b 54 25 20  20 20 20 20 20 20 20 73  |nld.[T%        s|
0000dbe0  74 6d 66 64 20 20 20 72  31 33 21 2c 7b 72 30 2d  |tmfd   r13!,{r0-|
0000dbf0  72 31 32 2c 72 31 34 7d  0d 5b 5e 19 20 20 20 20  |r12,r14}.[^.    |
0000dc00  20 20 20 20 6d 6f 76 20  20 20 20 20 72 38 2c 72  |    mov     r8,r|
0000dc10  30 0d 5b 68 19 20 20 20  20 20 20 20 20 6d 6f 76  |0.[h.        mov|
0000dc20  20 20 20 20 20 72 39 2c  72 31 0d 5b 72 1a 20 20  |     r9,r1.[r.  |
0000dc30  20 20 20 20 20 20 6d 6f  76 20 20 20 20 20 72 31  |      mov     r1|
0000dc40  30 2c 72 32 0d 5b 7c 1a  20 20 20 20 20 20 20 20  |0,r2.[|.        |
0000dc50  6d 6f 76 20 20 20 20 20  72 31 31 2c 23 30 0d 5b  |mov     r11,#0.[|
0000dc60  86 1a 2e 72 6e 6c 64 6c  70 20 6d 6f 76 20 20 20  |...rnldlp mov   |
0000dc70  20 20 72 30 2c 23 36 39  0d 5b 90 21 20 20 20 20  |  r0,#69.[.!    |
0000dc80  20 20 20 20 6d 6f 76 20  20 20 20 20 72 31 2c 72  |    mov     r1,r|
0000dc90  31 31 2c 6c 73 6c 20 23  31 0d 5b 9a 20 20 20 20  |11,lsl #1.[.    |
0000dca0  20 20 20 20 20 6c 64 72  62 20 20 20 20 72 32 2c  |     ldrb    r2,|
0000dcb0  5b 72 31 30 2c 72 31 31  5d 0d 5b a4 20 20 20 20  |[r10,r11].[.    |
0000dcc0  20 20 20 20 20 6d 6f 76  20 20 20 20 20 72 32 2c  |     mov     r2,|
0000dcd0  72 32 2c 6c 73 6c 20 23  31 0d 5b ae 1c 20 20 20  |r2,lsl #1.[..   |
0000dce0  20 20 20 20 20 61 64 64  20 20 20 20 20 72 31 2c  |     add     r1,|
0000dcf0  72 31 2c 72 38 0d 5b b8  1c 20 20 20 20 20 20 20  |r1,r8.[..       |
0000dd00  20 61 64 64 20 20 20 20  20 72 32 2c 72 32 2c 72  | add     r2,r2,r|
0000dd10  39 0d 5b c2 1d 20 20 20  20 20 20 20 20 73 77 69  |9.[..        swi|
0000dd20  20 20 20 20 20 22 4f 53  5f 50 6c 6f 74 22 0d 5b  |     "OS_Plot".[|
0000dd30  cc 1e 20 20 20 20 20 20  20 20 61 64 64 20 20 20  |..        add   |
0000dd40  20 20 72 31 31 2c 72 31  31 2c 23 31 0d 5b d6 1c  |  r11,r11,#1.[..|
0000dd50  20 20 20 20 20 20 20 20  63 6d 70 20 20 20 20 20  |        cmp     |
0000dd60  72 31 31 2c 23 32 35 36  0d 5b e0 1a 20 20 20 20  |r11,#256.[..    |
0000dd70  20 20 20 20 62 6e 65 20  20 20 20 20 72 6e 6c 64  |    bne     rnld|
0000dd80  6c 70 0d 5b ea 24 20 20  20 20 20 20 20 20 6c 64  |lp.[.$        ld|
0000dd90  6d 66 64 20 20 20 72 31  33 21 2c 7b 72 30 2d 72  |mfd   r13!,{r0-r|
0000dda0  31 32 2c 70 63 7d 0d 5b  f4 0d 2e 72 65 64 72 61  |12,pc}.[...redra|
0000ddb0  77 65 67 0d 5b fe 25 20  20 20 20 20 20 20 20 73  |weg.[.%        s|
0000ddc0  74 6d 66 64 20 20 20 72  31 33 21 2c 7b 72 30 2d  |tmfd   r13!,{r0-|
0000ddd0  72 31 32 2c 72 31 34 7d  0d 5c 08 19 20 20 20 20  |r12,r14}.\..    |
0000dde0  20 20 20 20 6d 6f 76 20  20 20 20 20 72 38 2c 72  |    mov     r8,r|
0000ddf0  30 0d 5c 12 19 20 20 20  20 20 20 20 20 6d 6f 76  |0.\..        mov|
0000de00  20 20 20 20 20 72 39 2c  72 31 0d 5c 1c 1d 20 20  |     r9,r1.\..  |
0000de10  20 20 20 20 20 20 61 64  64 20 20 20 20 20 72 31  |      add     r1|
0000de20  30 2c 72 32 2c 23 38 0d  5c 26 1a 20 20 20 20 20  |0,r2,#8.\&.     |
0000de30  20 20 20 6d 6f 76 20 20  20 20 20 72 31 31 2c 23  |   mov     r11,#|
0000de40  30 0d 5c 30 1a 2e 72 76  63 6f 6c 70 20 6d 6f 76  |0.\0..rvcolp mov|
0000de50  20 20 20 20 20 72 30 2c  23 36 39 0d 5c 3a 21 20  |     r0,#69.\:! |
0000de60  20 20 20 20 20 20 20 6d  6f 76 20 20 20 20 20 72  |       mov     r|
0000de70  31 2c 72 31 31 2c 6c 73  6c 20 23 31 0d 5c 44 20  |1,r11,lsl #1.\D |
0000de80  20 20 20 20 20 20 20 20  6c 64 72 62 20 20 20 20  |        ldrb    |
0000de90  72 32 2c 5b 72 31 30 2c  72 31 31 5d 0d 5c 4e 1c  |r2,[r10,r11].\N.|
0000dea0  20 20 20 20 20 20 20 20  61 64 64 20 20 20 20 20  |        add     |
0000deb0  72 31 2c 72 31 2c 72 38  0d 5c 58 1c 20 20 20 20  |r1,r1,r8.\X.    |
0000dec0  20 20 20 20 61 64 64 20  20 20 20 20 72 32 2c 72  |    add     r2,r|
0000ded0  32 2c 72 39 0d 5c 62 1d  20 20 20 20 20 20 20 20  |2,r9.\b.        |
0000dee0  73 77 69 20 20 20 20 20  22 4f 53 5f 50 6c 6f 74  |swi     "OS_Plot|
0000def0  22 0d 5c 6c 1e 20 20 20  20 20 20 20 20 61 64 64  |".\l.        add|
0000df00  20 20 20 20 20 72 31 31  2c 72 31 31 2c 23 31 0d  |     r11,r11,#1.|
0000df10  5c 76 1c 20 20 20 20 20  20 20 20 63 6d 70 20 20  |\v.        cmp  |
0000df20  20 20 20 72 31 31 2c 23  35 31 32 0d 5c 80 1a 20  |   r11,#512.\.. |
0000df30  20 20 20 20 20 20 20 62  6e 65 20 20 20 20 20 72  |       bne     r|
0000df40  76 63 6f 6c 70 0d 5c 8a  24 20 20 20 20 20 20 20  |vcolp.\.$       |
0000df50  20 6c 64 6d 66 64 20 20  20 72 31 33 21 2c 7b 72  | ldmfd   r13!,{r|
0000df60  30 2d 72 31 32 2c 70 63  7d 0d 5c 94 04 0d 5c 9e  |0-r12,pc}.\...\.|
0000df70  0c 2e 63 61 6c 63 61 6c  6c 0d 5c a8 19 20 20 20  |..calcall.\..   |
0000df80  20 20 20 20 20 63 6d 70  20 20 20 20 20 72 32 2c  |     cmp     r2,|
0000df90  23 30 0d 5c b2 1a 20 20  20 20 20 20 20 20 6d 6f  |#0.\..        mo|
0000dfa0  76 6d 69 20 20 20 70 63  2c 72 31 34 0d 5c bc 19  |vmi   pc,r14.\..|
0000dfb0  20 20 20 20 20 20 20 20  63 6d 70 20 20 20 20 20  |        cmp     |
0000dfc0  72 33 2c 23 30 0d 5c c6  1a 20 20 20 20 20 20 20  |r3,#0.\..       |
0000dfd0  20 6d 6f 76 6d 69 20 20  20 70 63 2c 72 31 34 0d  | movmi   pc,r14.|
0000dfe0  5c d0 25 20 20 20 20 20  20 20 20 73 74 6d 66 64  |\.%        stmfd|
0000dff0  20 20 20 72 31 33 21 2c  7b 72 30 2d 72 31 32 2c  |   r13!,{r0-r12,|
0000e000  72 31 34 7d 0d 5c da 19  20 20 20 20 20 20 20 20  |r14}.\..        |
0000e010  6d 6f 76 20 20 20 20 20  72 38 2c 72 30 0d 5c e4  |mov     r8,r0.\.|
0000e020  19 20 20 20 20 20 20 20  20 6d 6f 76 20 20 20 20  |.        mov    |
0000e030  20 72 39 2c 72 32 0d 5c  ee 1a 20 20 20 20 20 20  | r9,r2.\..      |
0000e040  20 20 6d 6f 76 20 20 20  20 20 72 31 30 2c 72 33  |  mov     r10,r3|
0000e050  0d 5c f8 19 20 20 20 20  20 20 20 20 6d 6f 76 20  |.\..        mov |
0000e060  20 20 20 20 72 37 2c 72  33 0d 5d 02 1e 20 20 20  |    r7,r3.]..   |
0000e070  20 20 20 20 20 6c 64 72  20 20 20 20 20 72 31 31  |     ldr     r11|
0000e080  2c 73 61 6d 74 79 70 0d  5d 0c 1e 20 20 20 20 20  |,samtyp.]..     |
0000e090  20 20 20 6c 64 72 20 20  20 20 20 72 31 32 2c 6c  |   ldr     r12,l|
0000e0a0  69 6e 6c 6f 67 0d 5d 16  19 2e 63 61 6c 6c 75 70  |inlog.]...callup|
0000e0b0  20 6d 6f 76 20 20 20 20  20 72 30 2c 23 30 0d 5d  | mov     r0,#0.]|
0000e0c0  20 19 20 20 20 20 20 20  20 20 6d 6f 76 20 20 20  | .        mov   |
0000e0d0  20 20 72 32 2c 72 31 0d  5d 2a 1f 2e 63 6c 6c 6f  |  r2,r1.]*..cllo|
0000e0e0  6f 70 20 6c 64 72 20 20  20 20 20 72 33 2c 5b 72  |op ldr     r3,[r|
0000e0f0  32 2c 23 32 38 5d 0d 5d  34 24 20 20 20 20 20 20  |2,#28].]4$      |
0000e100  20 20 62 69 63 20 20 20  20 20 72 33 2c 72 33 2c  |  bic     r3,r3,|
0000e110  23 26 38 30 30 30 30 30  30 30 0d 5d 3e 1f 20 20  |#&80000000.]>.  |
0000e120  20 20 20 20 20 20 73 74  72 20 20 20 20 20 72 33  |      str     r3|
0000e130  2c 5b 72 32 2c 23 32 38  5d 0d 5d 48 1d 20 20 20  |,[r2,#28].]H.   |
0000e140  20 20 20 20 20 61 64 64  20 20 20 20 20 72 32 2c  |     add     r2,|
0000e150  72 32 2c 23 33 32 0d 5d  52 1c 20 20 20 20 20 20  |r2,#32.]R.      |
0000e160  20 20 61 64 64 20 20 20  20 20 72 30 2c 72 30 2c  |  add     r0,r0,|
0000e170  23 31 0d 5d 5c 21 20 20  20 20 20 20 20 20 63 6d  |#1.]\!        cm|
0000e180  70 20 20 20 20 20 72 30  2c 23 6d 61 78 69 63 6f  |p     r0,#maxico|
0000e190  6e 73 25 0d 5d 66 1a 20  20 20 20 20 20 20 20 62  |ns%.]f.        b|
0000e1a0  6e 65 20 20 20 20 20 63  6c 6c 6f 6f 70 0d 5d 70  |ne     clloop.]p|
0000e1b0  19 20 20 20 20 20 20 20  20 6d 6f 76 20 20 20 20  |.        mov    |
0000e1c0  20 72 30 2c 72 38 0d 5d  7a 1a 20 20 20 20 20 20  | r0,r8.]z.      |
0000e1d0  20 20 62 6c 20 20 20 20  20 20 67 65 74 6f 75 74  |  bl      getout|
0000e1e0  0d 5d 84 1e 20 20 20 20  20 20 20 20 63 6d 70 20  |.]..        cmp |
0000e1f0  20 20 20 20 72 30 2c 23  26 31 30 30 30 30 0d 5d  |    r0,#&10000.]|
0000e200  8e 1d 20 20 20 20 20 20  20 20 6d 6f 76 70 6c 20  |..        movpl |
0000e210  20 20 72 30 2c 23 26 66  66 30 30 0d 5d 98 1e 20  |  r0,#&ff00.].. |
0000e220  20 20 20 20 20 20 20 6f  72 72 70 6c 20 20 20 72  |       orrpl   r|
0000e230  30 2c 72 30 2c 23 26 66  66 0d 5d a2 1e 20 20 20  |0,r0,#&ff.]..   |
0000e240  20 20 20 20 20 63 6d 6e  20 20 20 20 20 72 30 2c  |     cmn     r0,|
0000e250  23 26 31 30 30 30 30 0d  5d ac 21 20 20 20 20 20  |#&10000.].!     |
0000e260  20 20 20 6d 6f 76 6c 65  20 20 20 72 30 2c 23 26  |   movle   r0,#&|
0000e270  66 66 30 30 30 30 30 30  0d 5d b6 22 20 20 20 20  |ff000000.]."    |
0000e280  20 20 20 20 6f 72 72 6c  65 20 20 20 72 30 2c 72  |    orrle   r0,r|
0000e290  30 2c 23 26 66 66 30 30  30 30 0d 5d c0 1a 20 20  |0,#&ff0000.]..  |
0000e2a0  20 20 20 20 20 20 63 6d  70 20 20 20 20 20 72 31  |      cmp     r1|
0000e2b0  31 2c 23 32 0d 5d ca 20  20 20 20 20 20 20 20 20  |1,#2.].         |
0000e2c0  6d 6f 76 6e 65 20 20 20  72 30 2c 72 30 2c 61 73  |movne   r0,r0,as|
0000e2d0  72 20 23 39 0d 5d d4 21  20 20 20 20 20 20 20 20  |r #9.].!        |
0000e2e0  6d 6f 76 65 71 20 20 20  72 30 2c 72 30 2c 6c 73  |moveq   r0,r0,ls|
0000e2f0  6c 20 23 31 35 0d 5d de  27 20 20 20 20 20 20 20  |l #15.].'       |
0000e300  20 6c 64 72 65 71 62 20  20 72 30 2c 5b 72 31 32  | ldreqb  r0,[r12|
0000e310  2c 72 30 2c 6c 73 72 20  23 31 39 5d 0d 5d e8 1a  |,r0,lsr #19].]..|
0000e320  20 20 20 20 20 20 20 20  63 6d 70 20 20 20 20 20  |        cmp     |
0000e330  72 31 31 2c 23 31 0d 5d  f2 1e 20 20 20 20 20 20  |r11,#1.]..      |
0000e340  20 20 61 64 64 65 71 20  20 20 72 30 2c 72 30 2c  |  addeq   r0,r0,|
0000e350  23 31 32 38 0d 5d fc 1e  20 20 20 20 20 20 20 20  |#128.]..        |
0000e360  73 74 72 62 20 20 20 20  72 30 2c 5b 72 39 5d 2c  |strb    r0,[r9],|
0000e370  23 31 0d 5e 06 1c 20 20  20 20 20 20 20 20 74 73  |#1.^..        ts|
0000e380  74 20 20 20 20 20 72 31  30 2c 23 26 37 66 0d 5e  |t     r10,#&7f.^|
0000e390  10 1a 20 20 20 20 20 20  20 20 62 6e 65 20 20 20  |..        bne   |
0000e3a0  20 20 6e 6f 68 67 75 70  0d 5e 1a 20 20 20 20 20  |  nohgup.^.     |
0000e3b0  20 20 20 20 73 74 6d 66  64 20 20 20 72 31 33 21  |    stmfd   r13!|
0000e3c0  2c 7b 72 30 2d 72 32 7d  0d 5e 24 1b 20 20 20 20  |,{r0-r2}.^$.    |
0000e3d0  20 20 20 20 6d 6f 76 20  20 20 20 20 72 30 2c 23  |    mov     r0,#|
0000e3e0  31 32 39 0d 5e 2e 19 20  20 20 20 20 20 20 20 6d  |129.^..        m|
0000e3f0  6f 76 20 20 20 20 20 72  31 2c 23 30 0d 5e 38 19  |ov     r1,#0.^8.|
0000e400  20 20 20 20 20 20 20 20  6d 6f 76 20 20 20 20 20  |        mov     |
0000e410  72 32 2c 23 30 0d 5e 42  1d 20 20 20 20 20 20 20  |r2,#0.^B.       |
0000e420  20 73 77 69 20 20 20 20  20 22 4f 53 5f 42 79 74  | swi     "OS_Byt|
0000e430  65 22 0d 5e 4c 19 20 20  20 20 20 20 20 20 63 6d  |e".^L.        cm|
0000e440  70 20 20 20 20 20 72 32  2c 23 30 0d 5e 56 1b 20  |p     r2,#0.^V. |
0000e450  20 20 20 20 20 20 20 63  6d 70 65 71 20 20 20 72  |       cmpeq   r|
0000e460  31 2c 23 26 31 62 0d 5e  60 20 20 20 20 20 20 20  |1,#&1b.^`       |
0000e470  20 20 6c 64 6d 66 64 20  20 20 72 31 33 21 2c 7b  |  ldmfd   r13!,{|
0000e480  72 30 2d 72 32 7d 0d 5e  6a 18 20 20 20 20 20 20  |r0-r2}.^j.      |
0000e490  20 20 62 65 71 20 20 20  20 20 65 73 63 70 0d 5e  |  beq     escp.^|
0000e4a0  74 21 20 20 20 20 20 20  20 20 73 74 6d 66 64 20  |t!        stmfd |
0000e4b0  20 20 72 31 33 21 2c 7b  72 37 2d 72 31 32 7d 0d  |  r13!,{r7-r12}.|
0000e4c0  5e 7e 1e 20 20 20 20 20  20 20 20 73 75 62 73 20  |^~.        subs |
0000e4d0  20 20 20 72 31 30 2c 72  37 2c 72 31 30 0d 5e 88  |   r10,r7,r10.^.|
0000e4e0  1a 20 20 20 20 20 20 20  20 6d 6f 76 6d 69 20 20  |.        movmi  |
0000e4f0  20 72 31 30 2c 23 30 0d  5e 92 22 20 20 20 20 20  | r10,#0.^."     |
0000e500  20 20 20 6d 6f 76 20 20  20 20 20 72 31 31 2c 72  |   mov     r11,r|
0000e510  31 30 2c 6c 73 6c 20 23  32 0d 5e 9c 26 20 20 20  |10,lsl #2.^.&   |
0000e520  20 20 20 20 20 61 64 64  20 20 20 20 20 72 31 31  |     add     r11|
0000e530  2c 72 31 31 2c 72 31 30  2c 6c 73 6c 20 23 35 0d  |,r11,r10,lsl #5.|
0000e540  5e a6 26 20 20 20 20 20  20 20 20 61 64 64 20 20  |^.&        add  |
0000e550  20 20 20 72 31 31 2c 72  31 31 2c 72 31 30 2c 6c  |   r11,r11,r10,l|
0000e560  73 6c 20 23 36 0d 5e b0  1a 20 20 20 20 20 20 20  |sl #6.^..       |
0000e570  20 6d 6f 76 20 20 20 20  20 72 31 30 2c 72 37 0d  | mov     r10,r7.|
0000e580  5e ba 19 20 20 20 20 20  20 20 20 62 6c 20 20 20  |^..        bl   |
0000e590  20 20 20 64 69 76 33 32  0d 5e c4 1a 20 20 20 20  |   div32.^..    |
0000e5a0  20 20 20 20 63 6d 70 20  20 20 20 20 72 31 32 2c  |    cmp     r12,|
0000e5b0  23 30 0d 5e ce 1a 20 20  20 20 20 20 20 20 6d 6f  |#0.^..        mo|
0000e5c0  76 6d 69 20 20 20 72 31  32 2c 23 30 0d 5e d8 1b  |vmi   r12,#0.^..|
0000e5d0  20 20 20 20 20 20 20 20  63 6d 70 20 20 20 20 20  |        cmp     |
0000e5e0  72 31 32 2c 23 39 39 0d  5e e2 1b 20 20 20 20 20  |r12,#99.^..     |
0000e5f0  20 20 20 6d 6f 76 70 6c  20 20 20 72 31 32 2c 23  |   movpl   r12,#|
0000e600  39 39 0d 5e ec 1a 20 20  20 20 20 20 20 20 6d 6f  |99.^..        mo|
0000e610  76 20 20 20 20 20 72 30  2c 72 31 32 0d 5e f6 2a  |v     r0,r12.^.*|
0000e620  20 20 20 20 20 20 20 20  73 77 69 20 20 20 20 20  |        swi     |
0000e630  22 48 6f 75 72 67 6c 61  73 73 5f 50 65 72 63 65  |"Hourglass_Perce|
0000e640  6e 74 61 67 65 22 0d 5f  00 21 20 20 20 20 20 20  |ntage"._.!      |
0000e650  20 20 6c 64 6d 66 64 20  20 20 72 31 33 21 2c 7b  |  ldmfd   r13!,{|
0000e660  72 37 2d 72 31 32 7d 0d  5f 0a 1e 2e 6e 6f 68 67  |r7-r12}._...nohg|
0000e670  75 70 20 73 75 62 73 20  20 20 20 72 31 30 2c 72  |up subs    r10,r|
0000e680  31 30 2c 23 31 0d 5f 14  1a 20 20 20 20 20 20 20  |10,#1._..       |
0000e690  20 62 6e 65 20 20 20 20  20 63 61 6c 6c 75 70 0d  | bne     callup.|
0000e6a0  5f 1e 24 20 20 20 20 20  20 20 20 6c 64 6d 66 64  |_.$        ldmfd|
0000e6b0  20 20 20 72 31 33 21 2c  7b 72 30 2d 72 31 32 2c  |   r13!,{r0-r12,|
0000e6c0  70 63 7d 0d 5f 28 1b 2e  65 73 63 70 20 20 20 6d  |pc}._(..escp   m|
0000e6d0  6f 76 20 20 20 20 20 72  30 2c 23 31 32 34 0d 5f  |ov     r0,#124._|
0000e6e0  32 1d 20 20 20 20 20 20  20 20 73 77 69 20 20 20  |2.        swi   |
0000e6f0  20 20 22 4f 53 5f 42 79  74 65 22 0d 5f 3c 24 20  |  "OS_Byte"._<$ |
0000e700  20 20 20 20 20 20 20 6c  64 6d 66 64 20 20 20 72  |       ldmfd   r|
0000e710  31 33 21 2c 7b 72 30 2d  72 31 32 2c 70 63 7d 0d  |13!,{r0-r12,pc}.|
0000e720  5f 46 04 0d 5f 50 15 2e  6c 69 6e 6c 6f 67 20 65  |_F.._P..linlog e|
0000e730  71 75 64 20 20 20 20 30  0d 5f 5a 0c 3b 72 30 3d  |qud    0._Z.;r0=|
0000e740  69 63 6f 6e 0d 5f 64 11  3b 72 31 3d 69 63 6f 6e  |icon._d.;r1=icon|
0000e750  69 6e 66 6f 25 0d 5f 6e  28 2e 67 65 74 6f 75 74  |info%._n(.getout|
0000e760  20 73 74 6d 66 64 20 20  20 72 31 33 21 2c 7b 72  | stmfd   r13!,{r|
0000e770  31 2d 72 33 2c 72 31 32  2c 72 31 34 7d 0d 5f 78  |1-r3,r12,r14}._x|
0000e780  19 20 20 20 20 20 20 20  20 63 6d 70 20 20 20 20  |.        cmp    |
0000e790  20 72 30 2c 23 30 0d 5f  82 19 20 20 20 20 20 20  | r0,#0._..      |
0000e7a0  20 20 6d 6f 76 6d 69 20  20 20 72 30 2c 23 30 0d  |  movmi   r0,#0.|
0000e7b0  5f 8c 27 20 20 20 20 20  20 20 20 6c 64 6d 6d 69  |_.'        ldmmi|
0000e7c0  66 64 20 72 31 33 21 2c  7b 72 31 2d 72 33 2c 72  |fd r13!,{r1-r3,r|
0000e7d0  31 32 2c 70 63 7d 0d 5f  96 24 20 20 20 20 20 20  |12,pc}._.$      |
0000e7e0  20 20 61 64 64 20 20 20  20 20 72 31 32 2c 72 31  |  add     r12,r1|
0000e7f0  2c 72 30 2c 6c 73 6c 20  23 35 0d 5f a0 20 20 20  |,r0,lsl #5._.   |
0000e800  20 20 20 20 20 20 6c 64  72 20 20 20 20 20 72 33  |      ldr     r3|
0000e810  2c 5b 72 31 32 2c 23 32  38 5d 0d 5f aa 21 20 20  |,[r12,#28]._.!  |
0000e820  20 20 20 20 20 20 74 73  74 20 20 20 20 20 72 33  |      tst     r3|
0000e830  2c 23 26 38 30 30 30 30  30 30 30 0d 5f b4 24 20  |,#&80000000._.$ |
0000e840  20 20 20 20 20 20 20 6f  72 72 20 20 20 20 20 72  |       orr     r|
0000e850  33 2c 72 33 2c 23 26 38  30 30 30 30 30 30 30 0d  |3,r3,#&80000000.|
0000e860  5f be 20 20 20 20 20 20  20 20 20 73 74 72 20 20  |_.         str  |
0000e870  20 20 20 72 33 2c 5b 72  31 32 2c 23 32 38 5d 0d  |   r3,[r12,#28].|
0000e880  5f c8 20 20 20 20 20 20  20 20 20 6c 64 72 6e 65  |_.         ldrne|
0000e890  20 20 20 72 30 2c 5b 72  31 32 2c 23 32 34 5d 0d  |   r0,[r12,#24].|
0000e8a0  5f d2 27 20 20 20 20 20  20 20 20 6c 64 6d 6e 65  |_.'        ldmne|
0000e8b0  66 64 20 72 31 33 21 2c  7b 72 31 2d 72 33 2c 72  |fd r13!,{r1-r3,r|
0000e8c0  31 32 2c 70 63 7d 0d 5f  dc 20 20 20 20 20 20 20  |12,pc}._.       |
0000e8d0  20 20 6d 6f 76 20 20 20  20 20 72 32 2c 72 30 2c  |  mov     r2,r0,|
0000e8e0  6c 73 6c 20 23 35 0d 5f  e6 1e 20 20 20 20 20 20  |lsl #5._..      |
0000e8f0  20 20 6c 64 72 20 20 20  20 20 72 32 2c 5b 72 31  |  ldr     r2,[r1|
0000e900  2c 72 32 5d 0d 5f f0 1a  20 20 20 20 20 20 20 20  |,r2]._..        |
0000e910  63 6d 70 20 20 20 20 20  72 32 2c 23 31 33 0d 5f  |cmp     r2,#13._|
0000e920  fa 19 20 20 20 20 20 20  20 20 6d 6f 76 65 71 20  |..        moveq |
0000e930  20 20 72 32 2c 23 39 0d  60 04 1a 20 20 20 20 20  |  r2,#9.`..     |
0000e940  20 20 20 63 6d 70 20 20  20 20 20 72 32 2c 23 31  |   cmp     r2,#1|
0000e950  34 0d 60 0e 1a 20 20 20  20 20 20 20 20 6d 6f 76  |4.`..        mov|
0000e960  65 71 20 20 20 72 32 2c  23 31 30 0d 60 18 1a 20  |eq   r2,#10.`.. |
0000e970  20 20 20 20 20 20 20 63  6d 70 20 20 20 20 20 72  |       cmp     r|
0000e980  32 2c 23 31 35 0d 60 22  1a 20 20 20 20 20 20 20  |2,#15.`".       |
0000e990  20 6d 6f 76 65 71 20 20  20 72 32 2c 23 31 31 0d  | moveq   r2,#11.|
0000e9a0  60 2c 1a 20 20 20 20 20  20 20 20 63 6d 70 20 20  |`,.        cmp  |
0000e9b0  20 20 20 72 32 2c 23 31  36 0d 60 36 1a 20 20 20  |   r2,#16.`6.   |
0000e9c0  20 20 20 20 20 6d 6f 76  65 71 20 20 20 72 32 2c  |     moveq   r2,|
0000e9d0  23 31 32 0d 60 40 1a 20  20 20 20 20 20 20 20 63  |#12.`@.        c|
0000e9e0  6d 70 20 20 20 20 20 72  32 2c 23 31 37 0d 60 4a  |mp     r2,#17.`J|
0000e9f0  1a 20 20 20 20 20 20 20  20 6d 6f 76 65 71 20 20  |.        moveq  |
0000ea00  20 72 32 2c 23 31 33 0d  60 54 1a 20 20 20 20 20  | r2,#13.`T.     |
0000ea10  20 20 20 63 6d 70 20 20  20 20 20 72 32 2c 23 31  |   cmp     r2,#1|
0000ea20  38 0d 60 5e 1a 20 20 20  20 20 20 20 20 6d 6f 76  |8.`^.        mov|
0000ea30  65 71 20 20 20 72 32 2c  23 31 34 0d 60 68 19 20  |eq   r2,#14.`h. |
0000ea40  20 20 20 20 20 20 20 63  6d 70 20 20 20 20 20 72  |       cmp     r|
0000ea50  32 2c 23 30 0d 60 72 19  20 20 20 20 20 20 20 20  |2,#0.`r.        |
0000ea60  6d 6f 76 6d 69 20 20 20  72 30 2c 23 30 0d 60 7c  |movmi   r0,#0.`||
0000ea70  27 20 20 20 20 20 20 20  20 6c 64 6d 6d 69 66 64  |'        ldmmifd|
0000ea80  20 72 31 33 21 2c 7b 72  31 2d 72 33 2c 72 31 32  | r13!,{r1-r3,r12|
0000ea90  2c 70 63 7d 0d 60 86 1a  20 20 20 20 20 20 20 20  |,pc}.`..        |
0000eaa0  63 6d 70 20 20 20 20 20  72 32 2c 23 31 35 0d 60  |cmp     r2,#15.`|
0000eab0  90 19 20 20 20 20 20 20  20 20 6d 6f 76 70 6c 20  |..        movpl |
0000eac0  20 20 72 30 2c 23 30 0d  60 9a 27 20 20 20 20 20  |  r0,#0.`.'     |
0000ead0  20 20 20 6c 64 6d 70 6c  66 64 20 72 31 33 21 2c  |   ldmplfd r13!,|
0000eae0  7b 72 31 2d 72 33 2c 72  31 32 2c 70 63 7d 0d 60  |{r1-r3,r12,pc}.`|
0000eaf0  a4 1d 20 20 20 20 20 20  20 20 61 64 72 20 20 20  |..        adr   |
0000eb00  20 20 72 33 2c 6a 6d 70  74 61 62 0d 60 ae 1e 20  |  r3,jmptab.`.. |
0000eb10  20 20 20 20 20 20 20 61  64 72 20 20 20 20 20 72  |       adr     r|
0000eb20  31 34 2c 72 65 74 75 72  6e 0d 60 b8 25 20 20 20  |14,return.`.%   |
0000eb30  20 20 20 20 20 6c 64 72  20 20 20 20 20 70 63 2c  |     ldr     pc,|
0000eb40  5b 72 33 2c 72 32 2c 6c  73 6c 20 23 32 5d 0d 60  |[r3,r2,lsl #2].`|
0000eb50  c2 20 2e 72 65 74 75 72  6e 20 73 74 72 20 20 20  |. .return str   |
0000eb60  20 20 72 30 2c 5b 72 31  32 2c 23 32 34 5d 0d 60  |  r0,[r12,#24].`|
0000eb70  cc 27 20 20 20 20 20 20  20 20 6c 64 6d 66 64 20  |.'        ldmfd |
0000eb80  20 20 72 31 33 21 2c 7b  72 31 2d 72 33 2c 72 31  |  r13!,{r1-r3,r1|
0000eb90  32 2c 70 63 7d 0d 60 d6  04 0d 60 e0 26 2e 6a 6d  |2,pc}.`...`.&.jm|
0000eba0  70 74 61 62 20 65 71 75  64 20 20 20 20 67 65 74  |ptab equd    get|
0000ebb0  4f 76 63 6f 20 20 20 20  20 20 20 20 20 3b 30 0d  |Ovco         ;0.|
0000ebc0  60 ea 26 20 20 20 20 20  20 20 20 65 71 75 64 20  |`.&        equd |
0000ebd0  20 20 20 67 65 74 4f 6e  6f 69 73 65 20 20 20 20  |   getOnoise    |
0000ebe0  20 20 20 3b 31 0d 60 f4  26 20 20 20 20 20 20 20  |   ;1.`.&       |
0000ebf0  20 65 71 75 64 20 20 20  20 67 65 74 4f 65 67 20  | equd    getOeg |
0000ec00  20 20 20 20 20 20 20 20  20 3b 32 0d 60 fe 26 20  |         ;2.`.& |
0000ec10  20 20 20 20 20 20 20 65  71 75 64 20 20 20 20 67  |       equd    g|
0000ec20  65 74 4f 6c 70 61 73 73  20 20 20 20 20 20 20 3b  |etOlpass       ;|
0000ec30  33 0d 61 08 26 20 20 20  20 20 20 20 20 65 71 75  |3.a.&        equ|
0000ec40  64 20 20 20 20 67 65 74  4f 68 70 61 73 73 20 20  |d    getOhpass  |
0000ec50  20 20 20 20 20 3b 34 0d  61 12 26 20 20 20 20 20  |     ;4.a.&     |
0000ec60  20 20 20 65 71 75 64 20  20 20 20 67 65 74 4f 63  |   equd    getOc|
0000ec70  6f 6e 73 74 20 20 20 20  20 20 20 3b 35 0d 61 1c  |onst       ;5.a.|
0000ec80  26 20 20 20 20 20 20 20  20 65 71 75 64 20 20 20  |&        equd   |
0000ec90  20 67 65 74 4f 6d 75 6c  74 20 20 20 20 20 20 20  | getOmult       |
0000eca0  20 3b 36 0d 61 26 26 20  20 20 20 20 20 20 20 65  | ;6.a&&        e|
0000ecb0  71 75 64 20 20 20 20 67  65 74 4f 6d 75 6c 74 63  |qud    getOmultc|
0000ecc0  20 20 20 20 20 20 20 3b  37 0d 61 30 26 20 20 20  |       ;7.a0&   |
0000ecd0  20 20 20 20 20 65 71 75  64 20 20 20 20 67 65 74  |     equd    get|
0000ece0  4f 61 64 64 20 20 20 20  20 20 20 20 20 3b 38 0d  |Oadd         ;8.|
0000ecf0  61 3a 27 20 20 20 20 20  20 20 20 65 71 75 64 20  |a:'        equd |
0000ed00  20 20 20 67 65 74 4f 73  75 62 20 20 20 20 20 20  |   getOsub      |
0000ed10  20 20 20 3b 31 33 0d 61  44 27 20 20 20 20 20 20  |   ;13.aD'      |
0000ed20  20 20 65 71 75 64 20 20  20 20 67 65 74 4f 70 75  |  equd    getOpu|
0000ed30  6c 73 65 20 20 20 20 20  20 20 3b 31 34 0d 61 4e  |lse       ;14.aN|
0000ed40  27 20 20 20 20 20 20 20  20 65 71 75 64 20 20 20  |'        equd   |
0000ed50  20 67 65 74 4f 64 65 6c  61 79 20 20 20 20 20 20  | getOdelay      |
0000ed60  20 3b 31 35 0d 61 58 27  20 20 20 20 20 20 20 20  | ;15.aX'        |
0000ed70  65 71 75 64 20 20 20 20  67 65 74 4f 69 6e 70 75  |equd    getOinpu|
0000ed80  74 20 20 20 20 20 20 20  3b 31 36 0d 61 62 27 20  |t       ;16.ab' |
0000ed90  20 20 20 20 20 20 20 65  71 75 64 20 20 20 20 67  |       equd    g|
0000eda0  65 74 4f 73 68 20 20 20  20 20 20 20 20 20 20 3b  |etOsh          ;|
0000edb0  31 37 0d 61 6c 27 20 20  20 20 20 20 20 20 65 71  |17.al'        eq|
0000edc0  75 64 20 20 20 20 67 65  74 4f 6e 6c 64 20 20 20  |ud    getOnld   |
0000edd0  20 20 20 20 20 20 3b 31  38 0d 61 76 04 0d 61 80  |      ;18.av..a.|
0000ede0  0c 2e 67 65 74 4f 76 63  6f 0d 61 8a 24 20 20 20  |..getOvco.a.$   |
0000edf0  20 20 20 20 20 73 74 6d  66 64 20 20 20 72 31 33  |     stmfd   r13|
0000ee00  21 2c 7b 72 31 2d 72 35  2c 72 31 34 7d 0d 61 94  |!,{r1-r5,r14}.a.|
0000ee10  23 20 20 20 20 20 20 20  20 61 64 64 20 20 20 20  |#        add    |
0000ee20  20 72 32 2c 72 31 2c 72  30 2c 6c 73 6c 20 23 35  | r2,r1,r0,lsl #5|
0000ee30  0d 61 9e 1f 20 20 20 20  20 20 20 20 6c 64 72 20  |.a..        ldr |
0000ee40  20 20 20 20 72 30 2c 5b  72 32 2c 23 31 36 5d 0d  |    r0,[r2,#16].|
0000ee50  61 a8 1a 20 20 20 20 20  20 20 20 62 6c 20 20 20  |a..        bl   |
0000ee60  20 20 20 67 65 74 6f 75  74 0d 61 b2 19 20 20 20  |   getout.a..   |
0000ee70  20 20 20 20 20 6d 6f 76  20 20 20 20 20 72 35 2c  |     mov     r5,|
0000ee80  72 30 0d 61 bc 1f 20 20  20 20 20 20 20 20 6c 64  |r0.a..        ld|
0000ee90  72 20 20 20 20 20 72 30  2c 5b 72 32 2c 23 32 30  |r     r0,[r2,#20|
0000eea0  5d 0d 61 c6 1a 20 20 20  20 20 20 20 20 62 6c 20  |].a..        bl |
0000eeb0  20 20 20 20 20 67 65 74  6f 75 74 0d 61 d0 1f 20  |     getout.a.. |
0000eec0  20 20 20 20 20 20 20 6c  64 72 20 20 20 20 20 72  |       ldr     r|
0000eed0  32 2c 5b 72 32 2c 23 31  32 5d 0d 61 da 1b 20 20  |2,[r2,#12].a..  |
0000eee0  20 20 20 20 20 20 6c 64  72 20 20 20 20 20 72 33  |      ldr     r3|
0000eef0  2c 5b 72 32 5d 0d 61 e4  21 20 20 20 20 20 20 20  |,[r2].a.!       |
0000ef00  20 74 73 74 20 20 20 20  20 72 33 2c 23 26 38 30  | tst     r3,#&80|
0000ef10  30 30 30 30 30 30 0d 61  ee 24 20 20 20 20 20 20  |000000.a.$      |
0000ef20  20 20 62 69 63 20 20 20  20 20 72 33 2c 72 33 2c  |  bic     r3,r3,|
0000ef30  23 26 66 66 30 30 30 30  30 30 0d 61 f8 1a 20 20  |#&ff000000.a..  |
0000ef40  20 20 20 20 20 20 62 6e  65 20 20 20 20 20 6e 6f  |      bne     no|
0000ef50  72 65 73 76 0d 62 02 19  20 20 20 20 20 20 20 20  |resv.b..        |
0000ef60  63 6d 70 20 20 20 20 20  72 30 2c 23 30 0d 62 0c  |cmp     r0,#0.b.|
0000ef70  19 20 20 20 20 20 20 20  20 6d 6f 76 70 6c 20 20  |.        movpl  |
0000ef80  20 72 33 2c 23 30 0d 62  16 21 2e 6e 6f 72 65 73  | r3,#0.b.!.nores|
0000ef90  76 20 61 64 64 20 20 20  20 20 72 33 2c 72 33 2c  |v add     r3,r3,|
0000efa0  23 26 34 30 30 30 30 0d  62 20 26 20 20 20 20 20  |#&40000.b &     |
0000efb0  20 20 20 6c 64 72 62 20  20 20 20 72 34 2c 5b 72  |   ldrb    r4,[r|
0000efc0  32 2c 72 33 2c 6c 73 72  20 23 31 36 5d 0d 62 2a  |2,r3,lsr #16].b*|
0000efd0  21 20 20 20 20 20 20 20  20 73 75 62 20 20 20 20  |!        sub    |
0000efe0  20 72 33 2c 72 33 2c 23  26 34 30 30 30 30 0d 62  | r3,r3,#&40000.b|
0000eff0  34 1c 20 20 20 20 20 20  20 20 61 64 64 20 20 20  |4.        add   |
0000f000  20 20 72 33 2c 72 33 2c  72 35 0d 62 3e 24 20 20  |  r3,r3,r5.b>$  |
0000f010  20 20 20 20 20 20 62 69  63 20 20 20 20 20 72 33  |      bic     r3|
0000f020  2c 72 33 2c 23 26 66 66  30 30 30 30 30 30 0d 62  |,r3,#&ff000000.b|
0000f030  48 19 20 20 20 20 20 20  20 20 63 6d 70 20 20 20  |H.        cmp   |
0000f040  20 20 72 30 2c 23 30 0d  62 52 24 20 20 20 20 20  |  r0,#0.bR$     |
0000f050  20 20 20 6f 72 72 70 6c  20 20 20 72 33 2c 72 33  |   orrpl   r3,r3|
0000f060  2c 23 26 38 30 30 30 30  30 30 30 0d 62 5c 1b 20  |,#&80000000.b\. |
0000f070  20 20 20 20 20 20 20 73  74 72 20 20 20 20 20 72  |       str     r|
0000f080  33 2c 5b 72 32 5d 0d 62  66 21 20 20 20 20 20 20  |3,[r2].bf!      |
0000f090  20 20 6d 6f 76 20 20 20  20 20 72 30 2c 72 34 2c  |  mov     r0,r4,|
0000f0a0  6c 73 6c 20 23 32 34 0d  62 70 21 20 20 20 20 20  |lsl #24.bp!     |
0000f0b0  20 20 20 6d 6f 76 20 20  20 20 20 72 30 2c 72 30  |   mov     r0,r0|
0000f0c0  2c 61 73 72 20 23 31 35  0d 62 7a 24 20 20 20 20  |,asr #15.bz$    |
0000f0d0  20 20 20 20 6c 64 6d 66  64 20 20 20 72 31 33 21  |    ldmfd   r13!|
0000f0e0  2c 7b 72 31 2d 72 35 2c  70 63 7d 5e 0d 62 84 04  |,{r1-r5,pc}^.b..|
0000f0f0  0d 62 8e 0e 2e 67 65 74  4f 6e 6f 69 73 65 0d 62  |.b...getOnoise.b|
0000f100  98 24 20 20 20 20 20 20  20 20 73 74 6d 66 64 20  |.$        stmfd |
0000f110  20 20 72 31 33 21 2c 7b  72 31 2d 72 36 2c 72 31  |  r13!,{r1-r6,r1|
0000f120  34 7d 0d 62 a2 23 20 20  20 20 20 20 20 20 61 64  |4}.b.#        ad|
0000f130  64 20 20 20 20 20 72 32  2c 72 31 2c 72 30 2c 6c  |d     r2,r1,r0,l|
0000f140  73 6c 20 23 35 0d 62 ac  1d 20 20 20 20 20 20 20  |sl #5.b..       |
0000f150  20 73 74 6d 66 64 20 20  20 72 31 33 21 2c 7b 72  | stmfd   r13!,{r|
0000f160  32 7d 0d 62 b6 1f 20 20  20 20 20 20 20 20 6c 64  |2}.b..        ld|
0000f170  72 20 20 20 20 20 72 30  2c 5b 72 32 2c 23 31 36  |r     r0,[r2,#16|
0000f180  5d 0d 62 c0 1a 20 20 20  20 20 20 20 20 62 6c 20  |].b..        bl |
0000f190  20 20 20 20 20 67 65 74  6f 75 74 0d 62 ca 1d 20  |     getout.b.. |
0000f1a0  20 20 20 20 20 20 20 6c  64 6d 66 64 20 20 20 72  |       ldmfd   r|
0000f1b0  31 33 21 2c 7b 72 32 7d  0d 62 d4 1f 20 20 20 20  |13!,{r2}.b..    |
0000f1c0  20 20 20 20 6c 64 72 20  20 20 20 20 72 32 2c 5b  |    ldr     r2,[|
0000f1d0  72 32 2c 23 31 32 5d 0d  62 de 1e 20 20 20 20 20  |r2,#12].b..     |
0000f1e0  20 20 20 6c 64 72 20 20  20 20 20 72 33 2c 5b 72  |   ldr     r3,[r|
0000f1f0  32 2c 23 38 5d 0d 62 e8  1c 20 20 20 20 20 20 20  |2,#8].b..       |
0000f200  20 61 64 64 20 20 20 20  20 72 34 2c 72 33 2c 72  | add     r4,r3,r|
0000f210  30 0d 62 f2 1e 20 20 20  20 20 20 20 20 73 74 72  |0.b..        str|
0000f220  20 20 20 20 20 72 34 2c  5b 72 32 2c 23 38 5d 0d  |     r4,[r2,#8].|
0000f230  62 fc 21 20 20 20 20 20  20 20 20 6d 6f 76 20 20  |b.!        mov  |
0000f240  20 20 20 72 34 2c 72 34  2c 6c 73 72 20 23 31 36  |   r4,r4,lsr #16|
0000f250  0d 63 06 21 20 20 20 20  20 20 20 20 63 6d 70 20  |.c.!        cmp |
0000f260  20 20 20 20 72 34 2c 72  33 2c 6c 73 72 20 23 31  |    r4,r3,lsr #1|
0000f270  36 0d 63 10 1a 20 20 20  20 20 20 20 20 62 65 71  |6.c..        beq|
0000f280  20 20 20 20 20 6e 6f 6e  65 77 72 0d 63 1a 1b 20  |     nonewr.c.. |
0000f290  20 20 20 20 20 20 20 6c  64 72 20 20 20 20 20 72  |       ldr     r|
0000f2a0  30 2c 5b 72 32 5d 0d 63  24 1d 20 20 20 20 20 20  |0,[r2].c$.      |
0000f2b0  20 20 6c 64 72 20 20 20  20 20 72 34 2c 72 61 6e  |  ldr     r4,ran|
0000f2c0  78 6f 72 0d 63 2e 1a 20  20 20 20 20 20 20 20 6d  |xor.c..        m|
0000f2d0  6f 76 20 20 20 20 20 72  33 2c 23 31 36 0d 63 38  |ov     r3,#16.c8|
0000f2e0  19 20 20 20 20 20 20 20  20 6d 6f 76 20 20 20 20  |.        mov    |
0000f2f0  20 72 35 2c 23 30 0d 63  42 20 2e 72 61 6e 64 6c  | r5,#0.cB .randl|
0000f300  70 20 6d 6f 76 73 20 20  20 20 72 30 2c 72 30 2c  |p movs    r0,r0,|
0000f310  6c 73 6c 20 23 31 0d 63  4c 1c 20 20 20 20 20 20  |lsl #1.cL.      |
0000f320  20 20 65 6f 72 63 73 20  20 20 72 30 2c 72 30 2c  |  eorcs   r0,r0,|
0000f330  72 34 0d 63 56 24 20 20  20 20 20 20 20 20 61 6e  |r4.cV$        an|
0000f340  64 20 20 20 20 20 72 36  2c 72 30 2c 23 26 38 30  |d     r6,r0,#&80|
0000f350  30 30 30 30 30 30 0d 63  60 23 20 20 20 20 20 20  |000000.c`#      |
0000f360  20 20 6f 72 72 20 20 20  20 20 72 35 2c 72 36 2c  |  orr     r5,r6,|
0000f370  72 35 2c 6c 73 72 20 23  31 0d 63 6a 1c 20 20 20  |r5,lsr #1.cj.   |
0000f380  20 20 20 20 20 73 75 62  73 20 20 20 20 72 33 2c  |     subs    r3,|
0000f390  72 33 2c 23 31 0d 63 74  1a 20 20 20 20 20 20 20  |r3,#1.ct.       |
0000f3a0  20 62 6e 65 20 20 20 20  20 72 61 6e 64 6c 70 0d  | bne     randlp.|
0000f3b0  63 7e 1b 20 20 20 20 20  20 20 20 73 74 72 20 20  |c~.        str  |
0000f3c0  20 20 20 72 30 2c 5b 72  32 5d 0d 63 88 21 20 20  |   r0,[r2].c.!  |
0000f3d0  20 20 20 20 20 20 6d 6f  76 20 20 20 20 20 72 30  |      mov     r0|
0000f3e0  2c 72 35 2c 61 73 72 20  23 31 35 0d 63 92 1e 20  |,r5,asr #15.c.. |
0000f3f0  20 20 20 20 20 20 20 73  74 72 20 20 20 20 20 72  |       str     r|
0000f400  30 2c 5b 72 32 2c 23 34  5d 0d 63 9c 1e 2e 6e 6f  |0,[r2,#4].c...no|
0000f410  6e 65 77 72 20 6c 64 72  20 20 20 20 20 72 30 2c  |newr ldr     r0,|
0000f420  5b 72 32 2c 23 34 5d 0d  63 a6 21 20 20 20 20 20  |[r2,#4].c.!     |
0000f430  20 20 20 6d 6f 76 20 20  20 20 20 72 30 2c 72 30  |   mov     r0,r0|
0000f440  2c 61 73 6c 20 23 31 35  0d 63 b0 21 20 20 20 20  |,asl #15.c.!    |
0000f450  20 20 20 20 6d 6f 76 20  20 20 20 20 72 30 2c 72  |    mov     r0,r|
0000f460  30 2c 61 73 72 20 23 31  35 0d 63 ba 24 20 20 20  |0,asr #15.c.$   |
0000f470  20 20 20 20 20 6c 64 6d  66 64 20 20 20 72 31 33  |     ldmfd   r13|
0000f480  21 2c 7b 72 31 2d 72 36  2c 70 63 7d 5e 0d 63 c4  |!,{r1-r6,pc}^.c.|
0000f490  1d 2e 72 61 6e 78 6f 72  20 65 71 75 64 20 20 20  |..ranxor equd   |
0000f4a0  20 26 31 64 38 37 32 62  34 31 0d 63 ce 04 0d 63  | &1d872b41.c...c|
0000f4b0  d8 0b 2e 67 65 74 4f 65  67 0d 63 e2 24 20 20 20  |...getOeg.c.$   |
0000f4c0  20 20 20 20 20 73 74 6d  66 64 20 20 20 72 31 33  |     stmfd   r13|
0000f4d0  21 2c 7b 72 31 2d 72 34  2c 72 31 34 7d 0d 63 ec  |!,{r1-r4,r14}.c.|
0000f4e0  23 20 20 20 20 20 20 20  20 61 64 64 20 20 20 20  |#        add    |
0000f4f0  20 72 32 2c 72 31 2c 72  30 2c 6c 73 6c 20 23 35  | r2,r1,r0,lsl #5|
0000f500  0d 63 f6 1f 20 20 20 20  20 20 20 20 6c 64 72 20  |.c..        ldr |
0000f510  20 20 20 20 72 32 2c 5b  72 32 2c 23 31 32 5d 0d  |    r2,[r2,#12].|
0000f520  64 00 1b 20 20 20 20 20  20 20 20 6c 64 72 20 20  |d..        ldr  |
0000f530  20 20 20 72 33 2c 5b 72  32 5d 0d 64 0a 21 20 20  |   r3,[r2].d.!  |
0000f540  20 20 20 20 20 20 61 64  64 20 20 20 20 20 72 33  |      add     r3|
0000f550  2c 72 33 2c 23 26 38 30  30 30 30 0d 64 14 26 20  |,r3,#&80000.d.& |
0000f560  20 20 20 20 20 20 20 6c  64 72 62 20 20 20 20 72  |       ldrb    r|
0000f570  34 2c 5b 72 32 2c 72 33  2c 6c 73 72 20 23 31 36  |4,[r2,r3,lsr #16|
0000f580  5d 0d 64 1e 21 20 20 20  20 20 20 20 20 73 75 62  |].d.!        sub|
0000f590  20 20 20 20 20 72 33 2c  72 33 2c 23 26 38 30 30  |     r3,r3,#&800|
0000f5a0  30 30 0d 64 28 1e 20 20  20 20 20 20 20 20 6c 64  |00.d(.        ld|
0000f5b0  72 20 20 20 20 20 72 30  2c 5b 72 32 2c 23 34 5d  |r     r0,[r2,#4]|
0000f5c0  0d 64 32 1c 20 20 20 20  20 20 20 20 61 64 64 20  |.d2.        add |
0000f5d0  20 20 20 20 72 33 2c 72  33 2c 72 30 0d 64 3c 24  |    r3,r3,r0.d<$|
0000f5e0  20 20 20 20 20 20 20 20  62 69 63 20 20 20 20 20  |        bic     |
0000f5f0  72 33 2c 72 33 2c 23 26  66 65 30 30 30 30 30 30  |r3,r3,#&fe000000|
0000f600  0d 64 46 1b 20 20 20 20  20 20 20 20 73 74 72 20  |.dF.        str |
0000f610  20 20 20 20 72 33 2c 5b  72 32 5d 0d 64 50 20 20  |    r3,[r2].dP  |
0000f620  20 20 20 20 20 20 20 6d  6f 76 20 20 20 20 20 72  |       mov     r|
0000f630  30 2c 72 34 2c 6c 73 6c  20 23 38 0d 64 5a 24 20  |0,r4,lsl #8.dZ$ |
0000f640  20 20 20 20 20 20 20 6c  64 6d 66 64 20 20 20 72  |       ldmfd   r|
0000f650  31 33 21 2c 7b 72 31 2d  72 34 2c 70 63 7d 5e 0d  |13!,{r1-r4,pc}^.|
0000f660  64 64 04 0d 64 6e 0e 2e  67 65 74 4f 6c 70 61 73  |dd..dn..getOlpas|
0000f670  73 0d 64 78 25 20 20 20  20 20 20 20 20 73 74 6d  |s.dx%        stm|
0000f680  66 64 20 20 20 72 31 33  21 2c 7b 72 31 2d 72 31  |fd   r13!,{r1-r1|
0000f690  32 2c 72 31 34 7d 0d 64  82 23 20 20 20 20 20 20  |2,r14}.d.#      |
0000f6a0  20 20 61 64 64 20 20 20  20 20 72 32 2c 72 31 2c  |  add     r2,r1,|
0000f6b0  72 30 2c 6c 73 6c 20 23  35 0d 64 8c 1f 20 20 20  |r0,lsl #5.d..   |
0000f6c0  20 20 20 20 20 6c 64 72  20 20 20 20 20 72 30 2c  |     ldr     r0,|
0000f6d0  5b 72 32 2c 23 31 36 5d  0d 64 96 1a 20 20 20 20  |[r2,#16].d..    |
0000f6e0  20 20 20 20 62 6c 20 20  20 20 20 20 67 65 74 6f  |    bl      geto|
0000f6f0  75 74 0d 64 a0 19 20 20  20 20 20 20 20 20 6d 6f  |ut.d..        mo|
0000f700  76 20 20 20 20 20 72 35  2c 72 30 0d 64 aa 1f 20  |v     r5,r0.d.. |
0000f710  20 20 20 20 20 20 20 6c  64 72 20 20 20 20 20 72  |       ldr     r|
0000f720  30 2c 5b 72 32 2c 23 32  30 5d 0d 64 b4 1a 20 20  |0,[r2,#20].d..  |
0000f730  20 20 20 20 20 20 62 6c  20 20 20 20 20 20 67 65  |      bl      ge|
0000f740  74 6f 75 74 0d 64 be 19  20 20 20 20 20 20 20 20  |tout.d..        |
0000f750  63 6d 70 20 20 20 20 20  72 30 2c 23 30 0d 64 c8  |cmp     r0,#0.d.|
0000f760  19 20 20 20 20 20 20 20  20 6d 6f 76 6d 69 20 20  |.        movmi  |
0000f770  20 72 30 2c 23 30 0d 64  d2 1e 20 20 20 20 20 20  | r0,#0.d..      |
0000f780  20 20 63 6d 70 20 20 20  20 20 72 30 2c 23 26 31  |  cmp     r0,#&1|
0000f790  30 30 30 30 0d 64 dc 1e  20 20 20 20 20 20 20 20  |0000.d..        |
0000f7a0  6d 6f 76 70 6c 20 20 20  72 30 2c 23 26 31 30 30  |movpl   r0,#&100|
0000f7b0  30 30 0d 64 e6 19 20 20  20 20 20 20 20 20 6d 6f  |00.d..        mo|
0000f7c0  76 20 20 20 20 20 72 36  2c 72 30 0d 64 f0 1f 20  |v     r6,r0.d.. |
0000f7d0  20 20 20 20 20 20 20 6c  64 72 20 20 20 20 20 72  |       ldr     r|
0000f7e0  37 2c 5b 72 32 2c 23 31  32 5d 0d 64 fa 19 20 20  |7,[r2,#12].d..  |
0000f7f0  20 20 20 20 20 20 6d 6f  76 20 20 20 20 20 72 33  |      mov     r3|
0000f800  2c 72 36 0d 65 04 1b 20  20 20 20 20 20 20 20 6c  |,r6.e..        l|
0000f810  64 72 20 20 20 20 20 72  32 2c 5b 72 37 5d 0d 65  |dr     r2,[r7].e|
0000f820  0e 1c 20 20 20 20 20 20  20 20 73 75 62 20 20 20  |..        sub   |
0000f830  20 20 72 32 2c 72 35 2c  72 32 0d 65 18 1a 20 20  |  r2,r5,r2.e..  |
0000f840  20 20 20 20 20 20 62 6c  20 20 20 20 20 20 6d 75  |      bl      mu|
0000f850  6c 74 36 34 0d 65 22 1b  20 20 20 20 20 20 20 20  |lt64.e".        |
0000f860  6c 64 72 20 20 20 20 20  72 32 2c 5b 72 37 5d 0d  |ldr     r2,[r7].|
0000f870  65 2c 1c 20 20 20 20 20  20 20 20 61 64 64 20 20  |e,.        add  |
0000f880  20 20 20 72 30 2c 72 30  2c 72 32 0d 65 36 1b 20  |   r0,r0,r2.e6. |
0000f890  20 20 20 20 20 20 20 73  74 72 20 20 20 20 20 72  |       str     r|
0000f8a0  30 2c 5b 72 37 5d 0d 65  40 19 20 20 20 20 20 20  |0,[r7].e@.      |
0000f8b0  20 20 6d 6f 76 20 20 20  20 20 72 30 2c 72 32 0d  |  mov     r0,r2.|
0000f8c0  65 4a 25 20 20 20 20 20  20 20 20 6c 64 6d 66 64  |eJ%        ldmfd|
0000f8d0  20 20 20 72 31 33 21 2c  7b 72 31 2d 72 31 32 2c  |   r13!,{r1-r12,|
0000f8e0  70 63 7d 5e 0d 65 54 04  0d 65 5e 0e 2e 67 65 74  |pc}^.eT..e^..get|
0000f8f0  4f 68 70 61 73 73 0d 65  68 25 20 20 20 20 20 20  |Ohpass.eh%      |
0000f900  20 20 73 74 6d 66 64 20  20 20 72 31 33 21 2c 7b  |  stmfd   r13!,{|
0000f910  72 31 2d 72 31 32 2c 72  31 34 7d 0d 65 72 23 20  |r1-r12,r14}.er# |
0000f920  20 20 20 20 20 20 20 61  64 64 20 20 20 20 20 72  |       add     r|
0000f930  32 2c 72 31 2c 72 30 2c  6c 73 6c 20 23 35 0d 65  |2,r1,r0,lsl #5.e|
0000f940  7c 1f 20 20 20 20 20 20  20 20 6c 64 72 20 20 20  ||.        ldr   |
0000f950  20 20 72 30 2c 5b 72 32  2c 23 31 36 5d 0d 65 86  |  r0,[r2,#16].e.|
0000f960  1a 20 20 20 20 20 20 20  20 62 6c 20 20 20 20 20  |.        bl     |
0000f970  20 67 65 74 6f 75 74 0d  65 90 19 20 20 20 20 20  | getout.e..     |
0000f980  20 20 20 6d 6f 76 20 20  20 20 20 72 35 2c 72 30  |   mov     r5,r0|
0000f990  0d 65 9a 1f 20 20 20 20  20 20 20 20 6c 64 72 20  |.e..        ldr |
0000f9a0  20 20 20 20 72 30 2c 5b  72 32 2c 23 32 30 5d 0d  |    r0,[r2,#20].|
0000f9b0  65 a4 1a 20 20 20 20 20  20 20 20 62 6c 20 20 20  |e..        bl   |
0000f9c0  20 20 20 67 65 74 6f 75  74 0d 65 ae 19 20 20 20  |   getout.e..   |
0000f9d0  20 20 20 20 20 63 6d 70  20 20 20 20 20 72 30 2c  |     cmp     r0,|
0000f9e0  23 30 0d 65 b8 19 20 20  20 20 20 20 20 20 6d 6f  |#0.e..        mo|
0000f9f0  76 6d 69 20 20 20 72 30  2c 23 30 0d 65 c2 1e 20  |vmi   r0,#0.e.. |
0000fa00  20 20 20 20 20 20 20 63  6d 70 20 20 20 20 20 72  |       cmp     r|
0000fa10  30 2c 23 26 31 30 30 30  30 0d 65 cc 1e 20 20 20  |0,#&10000.e..   |
0000fa20  20 20 20 20 20 6d 6f 76  70 6c 20 20 20 72 30 2c  |     movpl   r0,|
0000fa30  23 26 31 30 30 30 30 0d  65 d6 19 20 20 20 20 20  |#&10000.e..     |
0000fa40  20 20 20 6d 6f 76 20 20  20 20 20 72 36 2c 72 30  |   mov     r6,r0|
0000fa50  0d 65 e0 1f 20 20 20 20  20 20 20 20 6c 64 72 20  |.e..        ldr |
0000fa60  20 20 20 20 72 37 2c 5b  72 32 2c 23 31 32 5d 0d  |    r7,[r2,#12].|
0000fa70  65 ea 19 20 20 20 20 20  20 20 20 6d 6f 76 20 20  |e..        mov  |
0000fa80  20 20 20 72 33 2c 72 36  0d 65 f4 1b 20 20 20 20  |   r3,r6.e..    |
0000fa90  20 20 20 20 6c 64 72 20  20 20 20 20 72 32 2c 5b  |    ldr     r2,[|
0000faa0  72 37 5d 0d 65 fe 1c 20  20 20 20 20 20 20 20 73  |r7].e..        s|
0000fab0  75 62 20 20 20 20 20 72  32 2c 72 35 2c 72 32 0d  |ub     r2,r5,r2.|
0000fac0  66 08 1a 20 20 20 20 20  20 20 20 62 6c 20 20 20  |f..        bl   |
0000fad0  20 20 20 6d 75 6c 74 36  34 0d 66 12 1b 20 20 20  |   mult64.f..   |
0000fae0  20 20 20 20 20 6c 64 72  20 20 20 20 20 72 32 2c  |     ldr     r2,|
0000faf0  5b 72 37 5d 0d 66 1c 1c  20 20 20 20 20 20 20 20  |[r7].f..        |
0000fb00  61 64 64 20 20 20 20 20  72 30 2c 72 30 2c 72 32  |add     r0,r0,r2|
0000fb10  0d 66 26 1b 20 20 20 20  20 20 20 20 73 74 72 20  |.f&.        str |
0000fb20  20 20 20 20 72 30 2c 5b  72 37 5d 0d 66 30 1c 20  |    r0,[r7].f0. |
0000fb30  20 20 20 20 20 20 20 73  75 62 20 20 20 20 20 72  |       sub     r|
0000fb40  30 2c 72 35 2c 72 32 0d  66 3a 25 20 20 20 20 20  |0,r5,r2.f:%     |
0000fb50  20 20 20 6c 64 6d 66 64  20 20 20 72 31 33 21 2c  |   ldmfd   r13!,|
0000fb60  7b 72 31 2d 72 31 32 2c  70 63 7d 5e 0d 66 44 04  |{r1-r12,pc}^.fD.|
0000fb70  0d 66 4e 0e 2e 67 65 74  4f 63 6f 6e 73 74 0d 66  |.fN..getOconst.f|
0000fb80  58 21 20 20 20 20 20 20  20 20 73 74 6d 66 64 20  |X!        stmfd |
0000fb90  20 20 72 31 33 21 2c 7b  72 31 2c 72 31 34 7d 0d  |  r13!,{r1,r14}.|
0000fba0  66 62 23 20 20 20 20 20  20 20 20 61 64 64 20 20  |fb#        add  |
0000fbb0  20 20 20 72 30 2c 72 31  2c 72 30 2c 6c 73 6c 20  |   r0,r1,r0,lsl |
0000fbc0  23 35 0d 66 6c 1f 20 20  20 20 20 20 20 20 6c 64  |#5.fl.        ld|
0000fbd0  72 20 20 20 20 20 72 30  2c 5b 72 30 2c 23 31 32  |r     r0,[r0,#12|
0000fbe0  5d 0d 66 76 1b 20 20 20  20 20 20 20 20 6c 64 72  |].fv.        ldr|
0000fbf0  20 20 20 20 20 72 30 2c  5b 72 30 5d 0d 66 80 21  |     r0,[r0].f.!|
0000fc00  20 20 20 20 20 20 20 20  6c 64 6d 66 64 20 20 20  |        ldmfd   |
0000fc10  72 31 33 21 2c 7b 72 31  2c 70 63 7d 5e 0d 66 8a  |r13!,{r1,pc}^.f.|
0000fc20  04 0d 66 94 0d 2e 67 65  74 4f 6d 75 6c 74 0d 66  |..f...getOmult.f|
0000fc30  9e 24 20 20 20 20 20 20  20 20 73 74 6d 66 64 20  |.$        stmfd |
0000fc40  20 20 72 31 33 21 2c 7b  72 31 2d 72 33 2c 72 31  |  r13!,{r1-r3,r1|
0000fc50  34 7d 0d 66 a8 23 20 20  20 20 20 20 20 20 61 64  |4}.f.#        ad|
0000fc60  64 20 20 20 20 20 72 32  2c 72 31 2c 72 30 2c 6c  |d     r2,r1,r0,l|
0000fc70  73 6c 20 23 35 0d 66 b2  1d 20 20 20 20 20 20 20  |sl #5.f..       |
0000fc80  20 73 74 6d 66 64 20 20  20 72 31 33 21 2c 7b 72  | stmfd   r13!,{r|
0000fc90  32 7d 0d 66 bc 1f 20 20  20 20 20 20 20 20 6c 64  |2}.f..        ld|
0000fca0  72 20 20 20 20 20 72 30  2c 5b 72 32 2c 23 31 36  |r     r0,[r2,#16|
0000fcb0  5d 0d 66 c6 1a 20 20 20  20 20 20 20 20 62 6c 20  |].f..        bl |
0000fcc0  20 20 20 20 20 67 65 74  6f 75 74 0d 66 d0 1d 20  |     getout.f.. |
0000fcd0  20 20 20 20 20 20 20 6c  64 6d 66 64 20 20 20 72  |       ldmfd   r|
0000fce0  31 33 21 2c 7b 72 32 7d  0d 66 da 1d 20 20 20 20  |13!,{r2}.f..    |
0000fcf0  20 20 20 20 73 74 6d 66  64 20 20 20 72 31 33 21  |    stmfd   r13!|
0000fd00  2c 7b 72 30 7d 0d 66 e4  1f 20 20 20 20 20 20 20  |,{r0}.f..       |
0000fd10  20 6c 64 72 20 20 20 20  20 72 30 2c 5b 72 32 2c  | ldr     r0,[r2,|
0000fd20  23 32 30 5d 0d 66 ee 1a  20 20 20 20 20 20 20 20  |#20].f..        |
0000fd30  62 6c 20 20 20 20 20 20  67 65 74 6f 75 74 0d 66  |bl      getout.f|
0000fd40  f8 1d 20 20 20 20 20 20  20 20 6c 64 6d 66 64 20  |..        ldmfd |
0000fd50  20 20 72 31 33 21 2c 7b  72 32 7d 0d 67 02 19 20  |  r13!,{r2}.g.. |
0000fd60  20 20 20 20 20 20 20 6d  6f 76 20 20 20 20 20 72  |       mov     r|
0000fd70  33 2c 72 30 0d 67 0c 1a  20 20 20 20 20 20 20 20  |3,r0.g..        |
0000fd80  62 6c 20 20 20 20 20 20  6d 75 6c 74 36 34 0d 67  |bl      mult64.g|
0000fd90  16 24 20 20 20 20 20 20  20 20 6c 64 6d 66 64 20  |.$        ldmfd |
0000fda0  20 20 72 31 33 21 2c 7b  72 31 2d 72 33 2c 70 63  |  r13!,{r1-r3,pc|
0000fdb0  7d 5e 0d 67 20 04 0d 67  2a 0e 2e 67 65 74 4f 6d  |}^.g ..g*..getOm|
0000fdc0  75 6c 74 63 0d 67 34 24  20 20 20 20 20 20 20 20  |ultc.g4$        |
0000fdd0  73 74 6d 66 64 20 20 20  72 31 33 21 2c 7b 72 31  |stmfd   r13!,{r1|
0000fde0  2d 72 33 2c 72 31 34 7d  0d 67 3e 23 20 20 20 20  |-r3,r14}.g>#    |
0000fdf0  20 20 20 20 61 64 64 20  20 20 20 20 72 32 2c 72  |    add     r2,r|
0000fe00  31 2c 72 30 2c 6c 73 6c  20 23 35 0d 67 48 1d 20  |1,r0,lsl #5.gH. |
0000fe10  20 20 20 20 20 20 20 73  74 6d 66 64 20 20 20 72  |       stmfd   r|
0000fe20  31 33 21 2c 7b 72 32 7d  0d 67 52 1f 20 20 20 20  |13!,{r2}.gR.    |
0000fe30  20 20 20 20 6c 64 72 20  20 20 20 20 72 30 2c 5b  |    ldr     r0,[|
0000fe40  72 32 2c 23 31 36 5d 0d  67 5c 1a 20 20 20 20 20  |r2,#16].g\.     |
0000fe50  20 20 20 62 6c 20 20 20  20 20 20 67 65 74 6f 75  |   bl      getou|
0000fe60  74 0d 67 66 1d 20 20 20  20 20 20 20 20 6c 64 6d  |t.gf.        ldm|
0000fe70  66 64 20 20 20 72 31 33  21 2c 7b 72 32 7d 0d 67  |fd   r13!,{r2}.g|
0000fe80  70 1f 20 20 20 20 20 20  20 20 6c 64 72 20 20 20  |p.        ldr   |
0000fe90  20 20 72 32 2c 5b 72 32  2c 23 31 32 5d 0d 67 7a  |  r2,[r2,#12].gz|
0000fea0  1b 20 20 20 20 20 20 20  20 6c 64 72 20 20 20 20  |.        ldr    |
0000feb0  20 72 32 2c 5b 72 32 5d  0d 67 84 19 20 20 20 20  | r2,[r2].g..    |
0000fec0  20 20 20 20 6d 6f 76 20  20 20 20 20 72 33 2c 72  |    mov     r3,r|
0000fed0  30 0d 67 8e 1a 20 20 20  20 20 20 20 20 62 6c 20  |0.g..        bl |
0000fee0  20 20 20 20 20 6d 75 6c  74 36 34 0d 67 98 24 20  |     mult64.g.$ |
0000fef0  20 20 20 20 20 20 20 6c  64 6d 66 64 20 20 20 72  |       ldmfd   r|
0000ff00  31 33 21 2c 7b 72 31 2d  72 33 2c 70 63 7d 5e 0d  |13!,{r1-r3,pc}^.|
0000ff10  67 a2 04 0d 67 ac 0c 2e  67 65 74 4f 61 64 64 0d  |g...g...getOadd.|
0000ff20  67 b6 24 20 20 20 20 20  20 20 20 73 74 6d 66 64  |g.$        stmfd|
0000ff30  20 20 20 72 31 33 21 2c  7b 72 31 2d 72 32 2c 72  |   r13!,{r1-r2,r|
0000ff40  31 34 7d 0d 67 c0 23 20  20 20 20 20 20 20 20 61  |14}.g.#        a|
0000ff50  64 64 20 20 20 20 20 72  32 2c 72 31 2c 72 30 2c  |dd     r2,r1,r0,|
0000ff60  6c 73 6c 20 23 35 0d 67  ca 1d 20 20 20 20 20 20  |lsl #5.g..      |
0000ff70  20 20 73 74 6d 66 64 20  20 20 72 31 33 21 2c 7b  |  stmfd   r13!,{|
0000ff80  72 32 7d 0d 67 d4 1f 20  20 20 20 20 20 20 20 6c  |r2}.g..        l|
0000ff90  64 72 20 20 20 20 20 72  30 2c 5b 72 32 2c 23 31  |dr     r0,[r2,#1|
0000ffa0  36 5d 0d 67 de 1a 20 20  20 20 20 20 20 20 62 6c  |6].g..        bl|
0000ffb0  20 20 20 20 20 20 67 65  74 6f 75 74 0d 67 e8 1d  |      getout.g..|
0000ffc0  20 20 20 20 20 20 20 20  6c 64 6d 66 64 20 20 20  |        ldmfd   |
0000ffd0  72 31 33 21 2c 7b 72 32  7d 0d 67 f2 1d 20 20 20  |r13!,{r2}.g..   |
0000ffe0  20 20 20 20 20 73 74 6d  66 64 20 20 20 72 31 33  |     stmfd   r13|
0000fff0  21 2c 7b 72 30 7d 0d 67  fc 1f 20 20 20 20 20 20  |!,{r0}.g..      |
00010000  20 20 6c 64 72 20 20 20  20 20 72 30 2c 5b 72 32  |  ldr     r0,[r2|
00010010  2c 23 32 30 5d 0d 68 06  1a 20 20 20 20 20 20 20  |,#20].h..       |
00010020  20 62 6c 20 20 20 20 20  20 67 65 74 6f 75 74 0d  | bl      getout.|
00010030  68 10 1d 20 20 20 20 20  20 20 20 6c 64 6d 66 64  |h..        ldmfd|
00010040  20 20 20 72 31 33 21 2c  7b 72 32 7d 0d 68 1a 1c  |   r13!,{r2}.h..|
00010050  20 20 20 20 20 20 20 20  61 64 64 20 20 20 20 20  |        add     |
00010060  72 30 2c 72 30 2c 72 32  0d 68 24 24 20 20 20 20  |r0,r0,r2.h$$    |
00010070  20 20 20 20 6c 64 6d 66  64 20 20 20 72 31 33 21  |    ldmfd   r13!|
00010080  2c 7b 72 31 2d 72 32 2c  70 63 7d 5e 0d 68 2e 04  |,{r1-r2,pc}^.h..|
00010090  0d 68 38 0c 2e 67 65 74  4f 73 75 62 0d 68 42 24  |.h8..getOsub.hB$|
000100a0  20 20 20 20 20 20 20 20  73 74 6d 66 64 20 20 20  |        stmfd   |
000100b0  72 31 33 21 2c 7b 72 31  2d 72 32 2c 72 31 34 7d  |r13!,{r1-r2,r14}|
000100c0  0d 68 4c 23 20 20 20 20  20 20 20 20 61 64 64 20  |.hL#        add |
000100d0  20 20 20 20 72 32 2c 72  31 2c 72 30 2c 6c 73 6c  |    r2,r1,r0,lsl|
000100e0  20 23 35 0d 68 56 1d 20  20 20 20 20 20 20 20 73  | #5.hV.        s|
000100f0  74 6d 66 64 20 20 20 72  31 33 21 2c 7b 72 32 7d  |tmfd   r13!,{r2}|
00010100  0d 68 60 1f 20 20 20 20  20 20 20 20 6c 64 72 20  |.h`.        ldr |
00010110  20 20 20 20 72 30 2c 5b  72 32 2c 23 31 36 5d 0d  |    r0,[r2,#16].|
00010120  68 6a 1a 20 20 20 20 20  20 20 20 62 6c 20 20 20  |hj.        bl   |
00010130  20 20 20 67 65 74 6f 75  74 0d 68 74 1d 20 20 20  |   getout.ht.   |
00010140  20 20 20 20 20 6c 64 6d  66 64 20 20 20 72 31 33  |     ldmfd   r13|
00010150  21 2c 7b 72 32 7d 0d 68  7e 1d 20 20 20 20 20 20  |!,{r2}.h~.      |
00010160  20 20 73 74 6d 66 64 20  20 20 72 31 33 21 2c 7b  |  stmfd   r13!,{|
00010170  72 30 7d 0d 68 88 1f 20  20 20 20 20 20 20 20 6c  |r0}.h..        l|
00010180  64 72 20 20 20 20 20 72  30 2c 5b 72 32 2c 23 32  |dr     r0,[r2,#2|
00010190  30 5d 0d 68 92 1a 20 20  20 20 20 20 20 20 62 6c  |0].h..        bl|
000101a0  20 20 20 20 20 20 67 65  74 6f 75 74 0d 68 9c 1d  |      getout.h..|
000101b0  20 20 20 20 20 20 20 20  6c 64 6d 66 64 20 20 20  |        ldmfd   |
000101c0  72 31 33 21 2c 7b 72 32  7d 0d 68 a6 1c 20 20 20  |r13!,{r2}.h..   |
000101d0  20 20 20 20 20 73 75 62  20 20 20 20 20 72 30 2c  |     sub     r0,|
000101e0  72 32 2c 72 30 0d 68 b0  24 20 20 20 20 20 20 20  |r2,r0.h.$       |
000101f0  20 6c 64 6d 66 64 20 20  20 72 31 33 21 2c 7b 72  | ldmfd   r13!,{r|
00010200  31 2d 72 32 2c 70 63 7d  5e 0d 68 ba 04 0d 68 c4  |1-r2,pc}^.h...h.|
00010210  0e 2e 67 65 74 4f 70 75  6c 73 65 0d 68 ce 25 20  |..getOpulse.h.% |
00010220  20 20 20 20 20 20 20 73  74 6d 66 64 20 20 20 72  |       stmfd   r|
00010230  31 33 21 2c 7b 72 31 2d  72 31 32 2c 72 31 34 7d  |13!,{r1-r12,r14}|
00010240  0d 68 d8 23 20 20 20 20  20 20 20 20 61 64 64 20  |.h.#        add |
00010250  20 20 20 20 72 32 2c 72  31 2c 72 30 2c 6c 73 6c  |    r2,r1,r0,lsl|
00010260  20 23 35 0d 68 e2 1f 20  20 20 20 20 20 20 20 6c  | #5.h..        l|
00010270  64 72 20 20 20 20 20 72  30 2c 5b 72 32 2c 23 31  |dr     r0,[r2,#1|
00010280  36 5d 0d 68 ec 1a 20 20  20 20 20 20 20 20 62 6c  |6].h..        bl|
00010290  20 20 20 20 20 20 67 65  74 6f 75 74 0d 68 f6 1d  |      getout.h..|
000102a0  20 20 20 20 20 20 20 20  73 74 6d 66 64 20 20 20  |        stmfd   |
000102b0  72 31 33 21 2c 7b 72 30  7d 0d 69 00 1f 20 20 20  |r13!,{r0}.i..   |
000102c0  20 20 20 20 20 6c 64 72  20 20 20 20 20 72 30 2c  |     ldr     r0,|
000102d0  5b 72 32 2c 23 32 30 5d  0d 69 0a 1a 20 20 20 20  |[r2,#20].i..    |
000102e0  20 20 20 20 62 6c 20 20  20 20 20 20 67 65 74 6f  |    bl      geto|
000102f0  75 74 0d 69 14 19 20 20  20 20 20 20 20 20 63 6d  |ut.i..        cm|
00010300  70 20 20 20 20 20 72 30  2c 23 30 0d 69 1e 19 20  |p     r0,#0.i.. |
00010310  20 20 20 20 20 20 20 6d  6f 76 6d 69 20 20 20 72  |       movmi   r|
00010320  30 2c 23 30 0d 69 28 1e  20 20 20 20 20 20 20 20  |0,#0.i(.        |
00010330  63 6d 70 20 20 20 20 20  72 30 2c 23 26 31 30 30  |cmp     r0,#&100|
00010340  30 30 0d 69 32 1e 20 20  20 20 20 20 20 20 6d 6f  |00.i2.        mo|
00010350  76 70 6c 20 20 20 72 30  2c 23 26 31 30 30 30 30  |vpl   r0,#&10000|
00010360  0d 69 3c 1d 20 20 20 20  20 20 20 20 6c 64 6d 66  |.i<.        ldmf|
00010370  64 20 20 20 72 31 33 21  2c 7b 72 33 7d 0d 69 46  |d   r13!,{r3}.iF|
00010380  1f 20 20 20 20 20 20 20  20 6c 64 72 20 20 20 20  |.        ldr    |
00010390  20 72 34 2c 5b 72 32 2c  23 31 32 5d 0d 69 50 1b  | r4,[r2,#12].iP.|
000103a0  20 20 20 20 20 20 20 20  6c 64 72 20 20 20 20 20  |        ldr     |
000103b0  72 35 2c 5b 72 34 5d 0d  69 5a 1c 20 20 20 20 20  |r5,[r4].iZ.     |
000103c0  20 20 20 61 64 64 20 20  20 20 20 72 35 2c 72 35  |   add     r5,r5|
000103d0  2c 72 33 0d 69 64 24 20  20 20 20 20 20 20 20 62  |,r3.id$        b|
000103e0  69 63 20 20 20 20 20 72  35 2c 72 35 2c 23 26 66  |ic     r5,r5,#&f|
000103f0  66 30 30 30 30 30 30 0d  69 6e 1b 20 20 20 20 20  |f000000.in.     |
00010400  20 20 20 73 74 72 20 20  20 20 20 72 35 2c 5b 72  |   str     r5,[r|
00010410  34 5d 0d 69 78 20 20 20  20 20 20 20 20 20 63 6d  |4].ix         cm|
00010420  70 20 20 20 20 20 72 35  2c 72 30 2c 6c 73 6c 20  |p     r5,r0,lsl |
00010430  23 38 0d 69 82 1e 20 20  20 20 20 20 20 20 6d 6f  |#8.i..        mo|
00010440  76 20 20 20 20 20 72 30  2c 23 26 31 30 30 30 30  |v     r0,#&10000|
00010450  0d 69 8c 1c 20 20 20 20  20 20 20 20 72 73 62 70  |.i..        rsbp|
00010460  6c 20 20 20 72 30 2c 72  30 2c 23 30 0d 69 96 25  |l   r0,r0,#0.i.%|
00010470  20 20 20 20 20 20 20 20  6c 64 6d 66 64 20 20 20  |        ldmfd   |
00010480  72 31 33 21 2c 7b 72 31  2d 72 31 32 2c 70 63 7d  |r13!,{r1-r12,pc}|
00010490  5e 0d 69 a0 04 0d 69 aa  0e 2e 67 65 74 4f 64 65  |^.i...i...getOde|
000104a0  6c 61 79 0d 69 b4 25 20  20 20 20 20 20 20 20 73  |lay.i.%        s|
000104b0  74 6d 66 64 20 20 20 72  31 33 21 2c 7b 72 31 2d  |tmfd   r13!,{r1-|
000104c0  72 31 32 2c 72 31 34 7d  0d 69 be 23 20 20 20 20  |r12,r14}.i.#    |
000104d0  20 20 20 20 61 64 64 20  20 20 20 20 72 32 2c 72  |    add     r2,r|
000104e0  31 2c 72 30 2c 6c 73 6c  20 23 35 0d 69 c8 1d 20  |1,r0,lsl #5.i.. |
000104f0  20 20 20 20 20 20 20 73  74 6d 66 64 20 20 20 72  |       stmfd   r|
00010500  31 33 21 2c 7b 72 32 7d  0d 69 d2 1f 20 20 20 20  |13!,{r2}.i..    |
00010510  20 20 20 20 6c 64 72 20  20 20 20 20 72 32 2c 5b  |    ldr     r2,[|
00010520  72 32 2c 23 31 32 5d 0d  69 dc 1e 20 20 20 20 20  |r2,#12].i..     |
00010530  20 20 20 61 64 64 20 20  20 20 20 72 32 2c 72 32  |   add     r2,r2|
00010540  2c 23 32 34 38 0d 69 e6  1c 20 20 20 20 20 20 20  |,#248.i..       |
00010550  20 61 64 64 20 20 20 20  20 72 33 2c 72 32 2c 23  | add     r3,r2,#|
00010560  34 0d 69 f0 24 20 20 20  20 20 20 20 20 6c 64 6d  |4.i.$        ldm|
00010570  64 61 20 20 20 72 32 21  2c 7b 72 34 2d 72 31 32  |da   r2!,{r4-r12|
00010580  2c 72 31 34 7d 0d 69 fa  24 20 20 20 20 20 20 20  |,r14}.i.$       |
00010590  20 73 74 6d 64 61 20 20  20 72 33 21 2c 7b 72 34  | stmda   r3!,{r4|
000105a0  2d 72 31 32 2c 72 31 34  7d 0d 6a 04 24 20 20 20  |-r12,r14}.j.$   |
000105b0  20 20 20 20 20 6c 64 6d  64 61 20 20 20 72 32 21  |     ldmda   r2!|
000105c0  2c 7b 72 34 2d 72 31 32  2c 72 31 34 7d 0d 6a 0e  |,{r4-r12,r14}.j.|
000105d0  24 20 20 20 20 20 20 20  20 73 74 6d 64 61 20 20  |$        stmda  |
000105e0  20 72 33 21 2c 7b 72 34  2d 72 31 32 2c 72 31 34  | r3!,{r4-r12,r14|
000105f0  7d 0d 6a 18 24 20 20 20  20 20 20 20 20 6c 64 6d  |}.j.$        ldm|
00010600  64 61 20 20 20 72 32 21  2c 7b 72 34 2d 72 31 32  |da   r2!,{r4-r12|
00010610  2c 72 31 34 7d 0d 6a 22  24 20 20 20 20 20 20 20  |,r14}.j"$       |
00010620  20 73 74 6d 64 61 20 20  20 72 33 21 2c 7b 72 34  | stmda   r3!,{r4|
00010630  2d 72 31 32 2c 72 31 34  7d 0d 6a 2c 24 20 20 20  |-r12,r14}.j,$   |
00010640  20 20 20 20 20 6c 64 6d  64 61 20 20 20 72 32 21  |     ldmda   r2!|
00010650  2c 7b 72 34 2d 72 31 32  2c 72 31 34 7d 0d 6a 36  |,{r4-r12,r14}.j6|
00010660  24 20 20 20 20 20 20 20  20 73 74 6d 64 61 20 20  |$        stmda  |
00010670  20 72 33 21 2c 7b 72 34  2d 72 31 32 2c 72 31 34  | r3!,{r4-r12,r14|
00010680  7d 0d 6a 40 24 20 20 20  20 20 20 20 20 6c 64 6d  |}.j@$        ldm|
00010690  64 61 20 20 20 72 32 21  2c 7b 72 34 2d 72 31 32  |da   r2!,{r4-r12|
000106a0  2c 72 31 34 7d 0d 6a 4a  24 20 20 20 20 20 20 20  |,r14}.jJ$       |
000106b0  20 73 74 6d 64 61 20 20  20 72 33 21 2c 7b 72 34  | stmda   r3!,{r4|
000106c0  2d 72 31 32 2c 72 31 34  7d 0d 6a 54 24 20 20 20  |-r12,r14}.jT$   |
000106d0  20 20 20 20 20 6c 64 6d  64 61 20 20 20 72 32 21  |     ldmda   r2!|
000106e0  2c 7b 72 34 2d 72 31 32  2c 72 31 34 7d 0d 6a 5e  |,{r4-r12,r14}.j^|
000106f0  24 20 20 20 20 20 20 20  20 73 74 6d 64 61 20 20  |$        stmda  |
00010700  20 72 33 21 2c 7b 72 34  2d 72 31 32 2c 72 31 34  | r3!,{r4-r12,r14|
00010710  7d 0d 6a 68 23 20 20 20  20 20 20 20 20 6c 64 6d  |}.jh#        ldm|
00010720  64 61 20 20 20 72 32 21  2c 7b 72 34 2d 72 35 2c  |da   r2!,{r4-r5,|
00010730  72 31 34 7d 0d 6a 72 23  20 20 20 20 20 20 20 20  |r14}.jr#        |
00010740  73 74 6d 64 61 20 20 20  72 33 21 2c 7b 72 34 2d  |stmda   r3!,{r4-|
00010750  72 35 2c 72 31 34 7d 0d  6a 7c 1c 20 20 20 20 20  |r5,r14}.j|.     |
00010760  20 20 20 6c 64 6d 66 64  20 20 20 72 31 33 2c 7b  |   ldmfd   r13,{|
00010770  72 32 7d 0d 6a 86 1f 20  20 20 20 20 20 20 20 6c  |r2}.j..        l|
00010780  64 72 20 20 20 20 20 72  30 2c 5b 72 32 2c 23 31  |dr     r0,[r2,#1|
00010790  36 5d 0d 6a 90 1a 20 20  20 20 20 20 20 20 62 6c  |6].j..        bl|
000107a0  20 20 20 20 20 20 67 65  74 6f 75 74 0d 6a 9a 1c  |      getout.j..|
000107b0  20 20 20 20 20 20 20 20  6c 64 6d 66 64 20 20 20  |        ldmfd   |
000107c0  72 31 33 2c 7b 72 32 7d  0d 6a a4 1f 20 20 20 20  |r13,{r2}.j..    |
000107d0  20 20 20 20 6c 64 72 20  20 20 20 20 72 32 2c 5b  |    ldr     r2,[|
000107e0  72 32 2c 23 31 32 5d 0d  6a ae 1b 20 20 20 20 20  |r2,#12].j..     |
000107f0  20 20 20 73 74 72 20 20  20 20 20 72 30 2c 5b 72  |   str     r0,[r|
00010800  32 5d 0d 6a b8 1c 20 20  20 20 20 20 20 20 6c 64  |2].j..        ld|
00010810  6d 66 64 20 20 20 72 31  33 2c 7b 72 32 7d 0d 6a  |mfd   r13,{r2}.j|
00010820  c2 1f 20 20 20 20 20 20  20 20 6c 64 72 20 20 20  |..        ldr   |
00010830  20 20 72 30 2c 5b 72 32  2c 23 32 30 5d 0d 6a cc  |  r0,[r2,#20].j.|
00010840  1a 20 20 20 20 20 20 20  20 62 6c 20 20 20 20 20  |.        bl     |
00010850  20 67 65 74 6f 75 74 0d  6a d6 1d 20 20 20 20 20  | getout.j..     |
00010860  20 20 20 6c 64 6d 66 64  20 20 20 72 31 33 21 2c  |   ldmfd   r13!,|
00010870  7b 72 32 7d 0d 6a e0 1f  20 20 20 20 20 20 20 20  |{r2}.j..        |
00010880  6c 64 72 20 20 20 20 20  72 32 2c 5b 72 32 2c 23  |ldr     r2,[r2,#|
00010890  31 32 5d 0d 6a ea 21 20  20 20 20 20 20 20 20 6d  |12].j.!        m|
000108a0  6f 76 20 20 20 20 20 72  30 2c 72 30 2c 61 73 72  |ov     r0,r0,asr|
000108b0  20 23 31 30 0d 6a f4 19  20 20 20 20 20 20 20 20  | #10.j..        |
000108c0  63 6d 70 20 20 20 20 20  72 30 2c 23 30 0d 6a fe  |cmp     r0,#0.j.|
000108d0  19 20 20 20 20 20 20 20  20 6d 6f 76 6d 69 20 20  |.        movmi  |
000108e0  20 72 30 2c 23 30 0d 6b  08 1a 20 20 20 20 20 20  | r0,#0.k..      |
000108f0  20 20 63 6d 70 20 20 20  20 20 72 30 2c 23 36 33  |  cmp     r0,#63|
00010900  0d 6b 12 1a 20 20 20 20  20 20 20 20 6d 6f 76 70  |.k..        movp|
00010910  6c 20 20 20 72 30 2c 23  36 33 0d 6b 1c 25 20 20  |l   r0,#63.k.%  |
00010920  20 20 20 20 20 20 6c 64  72 20 20 20 20 20 72 30  |      ldr     r0|
00010930  2c 5b 72 32 2c 72 30 2c  6c 73 6c 20 23 32 5d 0d  |,[r2,r0,lsl #2].|
00010940  6b 26 25 20 20 20 20 20  20 20 20 6c 64 6d 66 64  |k&%        ldmfd|
00010950  20 20 20 72 31 33 21 2c  7b 72 31 2d 72 31 32 2c  |   r13!,{r1-r12,|
00010960  70 63 7d 5e 0d 6b 30 04  0d 6b 3a 0e 2e 67 65 74  |pc}^.k0..k:..get|
00010970  4f 69 6e 70 75 74 0d 6b  44 24 20 20 20 20 20 20  |Oinput.kD$      |
00010980  20 20 73 74 6d 66 64 20  20 20 72 31 33 21 2c 7b  |  stmfd   r13!,{|
00010990  72 31 2d 72 36 2c 72 31  34 7d 0d 6b 4e 23 20 20  |r1-r6,r14}.kN#  |
000109a0  20 20 20 20 20 20 61 64  64 20 20 20 20 20 72 36  |      add     r6|
000109b0  2c 72 31 2c 72 30 2c 6c  73 6c 20 23 35 0d 6b 58  |,r1,r0,lsl #5.kX|
000109c0  1f 20 20 20 20 20 20 20  20 6c 64 72 20 20 20 20  |.        ldr    |
000109d0  20 72 36 2c 5b 72 36 2c  23 31 32 5d 0d 6b 62 20  | r6,[r6,#12].kb |
000109e0  20 20 20 20 20 20 20 20  6c 64 72 20 20 20 20 20  |        ldr     |
000109f0  72 35 2c 5b 72 36 2c 23  32 36 34 5d 0d 6b 6c 20  |r5,[r6,#264].kl |
00010a00  20 20 20 20 20 20 20 20  6c 64 72 20 20 20 20 20  |        ldr     |
00010a10  72 34 2c 5b 72 36 2c 23  32 36 30 5d 0d 6b 76 20  |r4,[r6,#260].kv |
00010a20  20 20 20 20 20 20 20 20  6c 64 72 20 20 20 20 20  |        ldr     |
00010a30  72 31 2c 5b 72 36 2c 23  32 36 38 5d 0d 6b 80 21  |r1,[r6,#268].k.!|
00010a40  20 20 20 20 20 20 20 20  63 6d 70 20 20 20 20 20  |        cmp     |
00010a50  72 35 2c 72 31 2c 6c 73  6c 20 23 31 32 0d 6b 8a  |r5,r1,lsl #12.k.|
00010a60  19 20 20 20 20 20 20 20  20 6d 6f 76 70 6c 20 20  |.        movpl  |
00010a70  20 72 30 2c 23 30 0d 6b  94 24 20 20 20 20 20 20  | r0,#0.k.$      |
00010a80  20 20 6c 64 6d 70 6c 66  64 20 72 31 33 21 2c 7b  |  ldmplfd r13!,{|
00010a90  72 31 2d 72 36 2c 70 63  7d 5e 0d 6b 9e 20 20 20  |r1-r6,pc}^.k.   |
00010aa0  20 20 20 20 20 20 6c 64  72 20 20 20 20 20 72 31  |      ldr     r1|
00010ab0  2c 5b 72 36 2c 23 32 37  32 5d 0d 6b a8 24 20 20  |,[r6,#272].k.$  |
00010ac0  20 20 20 20 20 20 61 64  64 20 20 20 20 20 72 31  |      add     r1|
00010ad0  2c 72 31 2c 72 35 2c 6c  73 72 20 23 31 32 0d 6b  |,r1,r5,lsr #12.k|
00010ae0  b2 1b 20 20 20 20 20 20  20 20 6c 64 72 62 20 20  |..        ldrb  |
00010af0  20 20 72 30 2c 5b 72 31  5d 0d 6b bc 04 0d 6b c6  |  r0,[r1].k...k.|
00010b00  20 20 20 20 20 20 20 20  20 6c 64 72 20 20 20 20  |         ldr    |
00010b10  20 72 31 2c 5b 72 36 2c  23 32 35 36 5d 0d 6b d0  | r1,[r6,#256].k.|
00010b20  19 20 20 20 20 20 20 20  20 74 73 74 20 20 20 20  |.        tst    |
00010b30  20 72 31 2c 23 34 0d 6b  da 1c 20 20 20 20 20 20  | r1,#4.k..      |
00010b40  20 20 61 64 64 6e 65 20  20 20 72 35 2c 72 35 2c  |  addne   r5,r5,|
00010b50  72 34 0d 6b e4 20 20 20  20 20 20 20 20 20 61 64  |r4.k.         ad|
00010b60  64 65 71 20 20 20 72 35  2c 72 35 2c 23 26 31 30  |deq   r5,r5,#&10|
00010b70  30 30 0d 6b ee 20 20 20  20 20 20 20 20 20 73 74  |00.k.         st|
00010b80  72 20 20 20 20 20 72 35  2c 5b 72 36 2c 23 32 36  |r     r5,[r6,#26|
00010b90  34 5d 0d 6b f8 04 0d 6c  02 20 20 20 20 20 20 20  |4].k...l.       |
00010ba0  20 20 6c 64 72 20 20 20  20 20 72 31 2c 5b 72 36  |  ldr     r1,[r6|
00010bb0  2c 23 32 35 36 5d 0d 6c  0c 1c 20 20 20 20 20 20  |,#256].l..      |
00010bc0  20 20 61 6e 64 20 20 20  20 20 72 31 2c 72 31 2c  |  and     r1,r1,|
00010bd0  23 33 0d 6c 16 19 20 20  20 20 20 20 20 20 63 6d  |#3.l..        cm|
00010be0  70 20 20 20 20 20 72 31  2c 23 30 0d 6c 20 21 20  |p     r1,#0.l ! |
00010bf0  20 20 20 20 20 20 20 6d  6f 76 65 71 20 20 20 72  |       moveq   r|
00010c00  30 2c 72 30 2c 6c 73 6c  20 23 32 34 0d 6c 2a 21  |0,r0,lsl #24.l*!|
00010c10  20 20 20 20 20 20 20 20  6d 6f 76 65 71 20 20 20  |        moveq   |
00010c20  72 30 2c 72 30 2c 61 73  72 20 23 31 35 0d 6c 34  |r0,r0,asr #15.l4|
00010c30  24 20 20 20 20 20 20 20  20 6c 64 6d 65 71 66 64  |$        ldmeqfd|
00010c40  20 72 31 33 21 2c 7b 72  31 2d 72 36 2c 70 63 7d  | r13!,{r1-r6,pc}|
00010c50  5e 0d 6c 3e 19 20 20 20  20 20 20 20 20 63 6d 70  |^.l>.        cmp|
00010c60  20 20 20 20 20 72 31 2c  23 31 0d 6c 48 1e 20 20  |     r1,#1.lH.  |
00010c70  20 20 20 20 20 20 73 75  62 65 71 20 20 20 72 30  |      subeq   r0|
00010c80  2c 72 30 2c 23 31 32 38  0d 6c 52 20 20 20 20 20  |,r0,#128.lR     |
00010c90  20 20 20 20 6d 6f 76 65  71 20 20 20 72 30 2c 72  |    moveq   r0,r|
00010ca0  30 2c 6c 73 6c 20 23 39  0d 6c 5c 24 20 20 20 20  |0,lsl #9.l\$    |
00010cb0  20 20 20 20 6c 64 6d 65  71 66 64 20 72 31 33 21  |    ldmeqfd r13!|
00010cc0  2c 7b 72 31 2d 72 36 2c  70 63 7d 5e 0d 6c 66 1d  |,{r1-r6,pc}^.lf.|
00010cd0  20 20 20 20 20 20 20 20  6c 64 72 20 20 20 20 20  |        ldr     |
00010ce0  72 31 2c 6c 69 6e 74 61  62 0d 6c 70 25 20 20 20  |r1,lintab.lp%   |
00010cf0  20 20 20 20 20 6c 64 72  20 20 20 20 20 72 30 2c  |     ldr     r0,|
00010d00  5b 72 31 2c 72 30 2c 6c  73 6c 20 23 32 5d 0d 6c  |[r1,r0,lsl #2].l|
00010d10  7a 24 20 20 20 20 20 20  20 20 6c 64 6d 66 64 20  |z$        ldmfd |
00010d20  20 20 72 31 33 21 2c 7b  72 31 2d 72 36 2c 70 63  |  r13!,{r1-r6,pc|
00010d30  7d 5e 0d 6c 84 04 0d 6c  8e 15 2e 6c 69 6e 74 61  |}^.l...l...linta|
00010d40  62 20 65 71 75 64 20 20  20 20 30 0d 6c 98 04 0d  |b equd    0.l...|
00010d50  6c a2 24 2e 67 65 74 4f  73 68 20 73 74 6d 66 64  |l.$.getOsh stmfd|
00010d60  20 20 20 72 31 33 21 2c  7b 72 31 2d 72 35 2c 72  |   r13!,{r1-r5,r|
00010d70  31 34 7d 0d 6c ac 23 20  20 20 20 20 20 20 20 61  |14}.l.#        a|
00010d80  64 64 20 20 20 20 20 72  32 2c 72 31 2c 72 30 2c  |dd     r2,r1,r0,|
00010d90  6c 73 6c 20 23 35 0d 6c  b6 1f 20 20 20 20 20 20  |lsl #5.l..      |
00010da0  20 20 6c 64 72 20 20 20  20 20 72 30 2c 5b 72 32  |  ldr     r0,[r2|
00010db0  2c 23 31 36 5d 0d 6c c0  1a 20 20 20 20 20 20 20  |,#16].l..       |
00010dc0  20 62 6c 20 20 20 20 20  20 67 65 74 6f 75 74 0d  | bl      getout.|
00010dd0  6c ca 19 20 20 20 20 20  20 20 20 6d 6f 76 20 20  |l..        mov  |
00010de0  20 20 20 72 35 2c 72 30  0d 6c d4 1f 20 20 20 20  |   r5,r0.l..    |
00010df0  20 20 20 20 6c 64 72 20  20 20 20 20 72 30 2c 5b  |    ldr     r0,[|
00010e00  72 32 2c 23 32 30 5d 0d  6c de 1a 20 20 20 20 20  |r2,#20].l..     |
00010e10  20 20 20 62 6c 20 20 20  20 20 20 67 65 74 6f 75  |   bl      getou|
00010e20  74 0d 6c e8 1f 20 20 20  20 20 20 20 20 6c 64 72  |t.l..        ldr|
00010e30  20 20 20 20 20 72 32 2c  5b 72 32 2c 23 31 32 5d  |     r2,[r2,#12]|
00010e40  0d 6c f2 1b 20 20 20 20  20 20 20 20 6c 64 72 20  |.l..        ldr |
00010e50  20 20 20 20 72 34 2c 5b  72 32 5d 0d 6c fc 21 20  |    r4,[r2].l.! |
00010e60  20 20 20 20 20 20 20 74  73 74 20 20 20 20 20 72  |       tst     r|
00010e70  34 2c 23 26 38 30 30 30  30 30 30 30 0d 6d 06 1a  |4,#&80000000.m..|
00010e80  20 20 20 20 20 20 20 20  62 6e 65 20 20 20 20 20  |        bne     |
00010e90  6e 6f 72 65 73 73 0d 6d  10 19 20 20 20 20 20 20  |noress.m..      |
00010ea0  20 20 63 6d 70 20 20 20  20 20 72 30 2c 23 30 0d  |  cmp     r0,#0.|
00010eb0  6d 1a 20 20 20 20 20 20  20 20 20 6d 6f 76 70 6c  |m.         movpl|
00010ec0  20 20 20 72 34 2c 72 35  2c 61 73 72 20 23 31 0d  |   r4,r5,asr #1.|
00010ed0  6d 24 24 2e 6e 6f 72 65  73 73 20 62 69 63 20 20  |m$$.noress bic  |
00010ee0  20 20 20 72 34 2c 72 34  2c 23 26 38 30 30 30 30  |   r4,r4,#&80000|
00010ef0  30 30 30 0d 6d 2e 19 20  20 20 20 20 20 20 20 63  |000.m..        c|
00010f00  6d 70 20 20 20 20 20 72  30 2c 23 30 0d 6d 38 24  |mp     r0,#0.m8$|
00010f10  20 20 20 20 20 20 20 20  6f 72 72 70 6c 20 20 20  |        orrpl   |
00010f20  72 34 2c 72 34 2c 23 26  38 30 30 30 30 30 30 30  |r4,r4,#&80000000|
00010f30  0d 6d 42 1b 20 20 20 20  20 20 20 20 73 74 72 20  |.mB.        str |
00010f40  20 20 20 20 72 34 2c 5b  72 32 5d 0d 6d 4c 20 20  |    r4,[r2].mL  |
00010f50  20 20 20 20 20 20 20 6d  6f 76 20 20 20 20 20 72  |       mov     r|
00010f60  30 2c 72 34 2c 6c 73 6c  20 23 31 0d 6d 56 24 20  |0,r4,lsl #1.mV$ |
00010f70  20 20 20 20 20 20 20 6c  64 6d 66 64 20 20 20 72  |       ldmfd   r|
00010f80  31 33 21 2c 7b 72 31 2d  72 35 2c 70 63 7d 5e 0d  |13!,{r1-r5,pc}^.|
00010f90  6d 60 04 0d 6d 6a 0c 2e  67 65 74 4f 6e 6c 64 0d  |m`..mj..getOnld.|
00010fa0  6d 74 24 20 20 20 20 20  20 20 20 73 74 6d 66 64  |mt$        stmfd|
00010fb0  20 20 20 72 31 33 21 2c  7b 72 31 2d 72 35 2c 72  |   r13!,{r1-r5,r|
00010fc0  31 34 7d 0d 6d 7e 23 20  20 20 20 20 20 20 20 61  |14}.m~#        a|
00010fd0  64 64 20 20 20 20 20 72  32 2c 72 31 2c 72 30 2c  |dd     r2,r1,r0,|
00010fe0  6c 73 6c 20 23 35 0d 6d  88 1f 20 20 20 20 20 20  |lsl #5.m..      |
00010ff0  20 20 6c 64 72 20 20 20  20 20 72 30 2c 5b 72 32  |  ldr     r0,[r2|
00011000  2c 23 31 36 5d 0d 6d 92  1a 20 20 20 20 20 20 20  |,#16].m..       |
00011010  20 62 6c 20 20 20 20 20  20 67 65 74 6f 75 74 0d  | bl      getout.|
00011020  6d 9c 20 20 20 20 20 20  20 20 20 6d 6f 76 20 20  |m.         mov  |
00011030  20 20 20 72 30 2c 72 30  2c 61 73 72 20 23 31 0d  |   r0,r0,asr #1.|
00011040  6d a6 20 20 20 20 20 20  20 20 20 61 64 64 20 20  |m.         add  |
00011050  20 20 20 72 30 2c 72 30  2c 23 26 38 30 30 30 0d  |   r0,r0,#&8000.|
00011060  6d b0 19 20 20 20 20 20  20 20 20 63 6d 70 20 20  |m..        cmp  |
00011070  20 20 20 72 30 2c 23 30  0d 6d ba 19 20 20 20 20  |   r0,#0.m..    |
00011080  20 20 20 20 6d 6f 76 6d  69 20 20 20 72 30 2c 23  |    movmi   r0,#|
00011090  30 0d 6d c4 1e 20 20 20  20 20 20 20 20 63 6d 70  |0.m..        cmp|
000110a0  20 20 20 20 20 72 30 2c  23 26 31 30 30 30 30 0d  |     r0,#&10000.|
000110b0  6d ce 1d 20 20 20 20 20  20 20 20 6d 6f 76 70 6c  |m..        movpl|
000110c0  20 20 20 72 30 2c 23 26  66 66 30 30 0d 6d d8 20  |   r0,#&ff00.m. |
000110d0  20 20 20 20 20 20 20 20  6d 6f 76 20 20 20 20 20  |        mov     |
000110e0  72 30 2c 72 30 2c 61 73  72 20 23 38 0d 6d e2 1f  |r0,r0,asr #8.m..|
000110f0  20 20 20 20 20 20 20 20  6c 64 72 20 20 20 20 20  |        ldr     |
00011100  72 32 2c 5b 72 32 2c 23  31 32 5d 0d 6d ec 1e 20  |r2,[r2,#12].m.. |
00011110  20 20 20 20 20 20 20 6c  64 72 62 20 20 20 20 72  |       ldrb    r|
00011120  30 2c 5b 72 32 2c 72 30  5d 0d 6d f6 20 20 20 20  |0,[r2,r0].m.    |
00011130  20 20 20 20 20 6d 6f 76  20 20 20 20 20 72 30 2c  |     mov     r0,|
00011140  72 30 2c 61 73 6c 20 23  38 0d 6e 00 20 20 20 20  |r0,asl #8.n.    |
00011150  20 20 20 20 20 73 75 62  20 20 20 20 20 72 30 2c  |     sub     r0,|
00011160  72 30 2c 23 26 38 30 30  30 0d 6e 0a 20 20 20 20  |r0,#&8000.n.    |
00011170  20 20 20 20 20 6d 6f 76  20 20 20 20 20 72 30 2c  |     mov     r0,|
00011180  72 30 2c 61 73 6c 20 23  31 0d 6e 14 24 20 20 20  |r0,asl #1.n.$   |
00011190  20 20 20 20 20 6c 64 6d  66 64 20 20 20 72 31 33  |     ldmfd   r13|
000111a0  21 2c 7b 72 31 2d 72 35  2c 70 63 7d 5e 0d 6e 1e  |!,{r1-r5,pc}^.n.|
000111b0  04 0d 6e 28 2d 2e 6d 75  6c 74 36 34 20 3b 72 30  |..n(-.mult64 ;r0|
000111c0  3d 72 32 2a 72 33 20 61  6e 64 20 2e 20 62 65 74  |=r2*r3 and . bet|
000111d0  77 65 65 6e 20 62 69 74  20 31 35 2c 31 36 0d 6e  |ween bit 15,16.n|
000111e0  32 24 20 20 20 20 20 20  20 20 73 74 6d 66 64 20  |2$        stmfd |
000111f0  20 20 72 31 33 21 2c 7b  72 31 2d 72 37 2c 72 31  |  r13!,{r1-r7,r1|
00011200  34 7d 0d 6e 3c 1c 20 20  20 20 20 20 20 20 65 6f  |4}.n<.        eo|
00011210  72 20 20 20 20 20 72 34  2c 72 32 2c 72 33 0d 6e  |r     r4,r2,r3.n|
00011220  46 19 20 20 20 20 20 20  20 20 63 6d 70 20 20 20  |F.        cmp   |
00011230  20 20 72 32 2c 23 30 0d  6e 50 1c 20 20 20 20 20  |  r2,#0.nP.     |
00011240  20 20 20 72 73 62 6d 69  20 20 20 72 32 2c 72 32  |   rsbmi   r2,r2|
00011250  2c 23 30 0d 6e 5a 19 20  20 20 20 20 20 20 20 63  |,#0.nZ.        c|
00011260  6d 70 20 20 20 20 20 72  33 2c 23 30 0d 6e 64 1c  |mp     r3,#0.nd.|
00011270  20 20 20 20 20 20 20 20  72 73 62 6d 69 20 20 20  |        rsbmi   |
00011280  72 33 2c 72 33 2c 23 30  0d 6e 6e 21 20 20 20 20  |r3,r3,#0.nn!    |
00011290  20 20 20 20 6d 6f 76 20  20 20 20 20 72 35 2c 72  |    mov     r5,r|
000112a0  32 2c 6c 73 6c 20 23 31  36 0d 6e 78 21 20 20 20  |2,lsl #16.nx!   |
000112b0  20 20 20 20 20 6d 6f 76  20 20 20 20 20 72 35 2c  |     mov     r5,|
000112c0  72 35 2c 6c 73 72 20 23  31 36 0d 6e 82 21 20 20  |r5,lsr #16.n.!  |
000112d0  20 20 20 20 20 20 6d 6f  76 20 20 20 20 20 72 36  |      mov     r6|
000112e0  2c 72 33 2c 6c 73 6c 20  23 31 36 0d 6e 8c 21 20  |,r3,lsl #16.n.! |
000112f0  20 20 20 20 20 20 20 6d  6f 76 20 20 20 20 20 72  |       mov     r|
00011300  36 2c 72 36 2c 6c 73 72  20 23 31 36 0d 6e 96 1c  |6,r6,lsr #16.n..|
00011310  20 20 20 20 20 20 20 20  6d 75 6c 20 20 20 20 20  |        mul     |
00011320  72 30 2c 72 35 2c 72 36  0d 6e a0 21 20 20 20 20  |r0,r5,r6.n.!    |
00011330  20 20 20 20 6d 6f 76 20  20 20 20 20 72 30 2c 72  |    mov     r0,r|
00011340  30 2c 6c 73 72 20 23 31  36 0d 6e aa 21 20 20 20  |0,lsr #16.n.!   |
00011350  20 20 20 20 20 6d 6f 76  20 20 20 20 20 72 36 2c  |     mov     r6,|
00011360  72 33 2c 6c 73 72 20 23  31 36 0d 6e b4 1c 20 20  |r3,lsr #16.n..  |
00011370  20 20 20 20 20 20 6d 75  6c 20 20 20 20 20 72 37  |      mul     r7|
00011380  2c 72 35 2c 72 36 0d 6e  be 1c 20 20 20 20 20 20  |,r5,r6.n..      |
00011390  20 20 61 64 64 20 20 20  20 20 72 30 2c 72 30 2c  |  add     r0,r0,|
000113a0  72 37 0d 6e c8 21 20 20  20 20 20 20 20 20 6d 6f  |r7.n.!        mo|
000113b0  76 20 20 20 20 20 72 35  2c 72 32 2c 6c 73 72 20  |v     r5,r2,lsr |
000113c0  23 31 36 0d 6e d2 21 20  20 20 20 20 20 20 20 6d  |#16.n.!        m|
000113d0  6f 76 20 20 20 20 20 72  36 2c 72 33 2c 6c 73 6c  |ov     r6,r3,lsl|
000113e0  20 23 31 36 0d 6e dc 21  20 20 20 20 20 20 20 20  | #16.n.!        |
000113f0  6d 6f 76 20 20 20 20 20  72 36 2c 72 36 2c 6c 73  |mov     r6,r6,ls|
00011400  72 20 23 31 36 0d 6e e6  1c 20 20 20 20 20 20 20  |r #16.n..       |
00011410  20 6d 75 6c 20 20 20 20  20 72 37 2c 72 35 2c 72  | mul     r7,r5,r|
00011420  36 0d 6e f0 1c 20 20 20  20 20 20 20 20 61 64 64  |6.n..        add|
00011430  20 20 20 20 20 72 30 2c  72 30 2c 72 37 0d 6e fa  |     r0,r0,r7.n.|
00011440  21 20 20 20 20 20 20 20  20 6d 6f 76 20 20 20 20  |!        mov    |
00011450  20 72 36 2c 72 33 2c 6c  73 72 20 23 31 36 0d 6f  | r6,r3,lsr #16.o|
00011460  04 1c 20 20 20 20 20 20  20 20 6d 75 6c 20 20 20  |..        mul   |
00011470  20 20 72 37 2c 72 35 2c  72 36 0d 6f 0e 24 20 20  |  r7,r5,r6.o.$  |
00011480  20 20 20 20 20 20 61 64  64 20 20 20 20 20 72 30  |      add     r0|
00011490  2c 72 30 2c 72 37 2c 6c  73 6c 20 23 31 36 0d 6f  |,r0,r7,lsl #16.o|
000114a0  18 24 20 20 20 20 20 20  20 20 62 69 63 20 20 20  |.$        bic   |
000114b0  20 20 72 30 2c 72 30 2c  23 26 38 30 30 30 30 30  |  r0,r0,#&800000|
000114c0  30 30 0d 6f 22 21 20 20  20 20 20 20 20 20 74 73  |00.o"!        ts|
000114d0  74 20 20 20 20 20 72 34  2c 23 26 38 30 30 30 30  |t     r4,#&80000|
000114e0  30 30 30 0d 6f 2c 1c 20  20 20 20 20 20 20 20 72  |000.o,.        r|
000114f0  73 62 6e 65 20 20 20 72  30 2c 72 30 2c 23 30 0d  |sbne   r0,r0,#0.|
00011500  6f 36 23 20 20 20 20 20  20 20 20 6c 64 6d 66 64  |o6#        ldmfd|
00011510  20 20 20 72 31 33 21 2c  7b 72 31 2d 72 37 2c 70  |   r13!,{r1-r7,p|
00011520  63 7d 0d 6f 40 04 0d 6f  4a 0c 2e 63 6f 70 79 6d  |c}.o@..oJ..copym|
00011530  65 6d 0d 6f 54 24 20 20  20 20 20 20 20 20 73 74  |em.oT$        st|
00011540  6d 66 64 20 20 20 72 31  33 21 2c 7b 72 30 2d 72  |mfd   r13!,{r0-r|
00011550  33 2c 72 31 34 7d 0d 6f  5e 19 2e 63 70 79 6c 75  |3,r14}.o^..cpylu|
00011560  70 20 63 6d 70 20 20 20  20 20 72 32 2c 23 30 0d  |p cmp     r2,#0.|
00011570  6f 68 23 20 20 20 20 20  20 20 20 6c 64 6d 6c 65  |oh#        ldmle|
00011580  66 64 20 72 31 33 21 2c  7b 72 30 2d 72 33 2c 70  |fd r13!,{r0-r3,p|
00011590  63 7d 0d 6f 72 1e 20 20  20 20 20 20 20 20 6c 64  |c}.or.        ld|
000115a0  72 62 20 20 20 20 72 33  2c 5b 72 31 5d 2c 23 31  |rb    r3,[r1],#1|
000115b0  0d 6f 7c 1e 20 20 20 20  20 20 20 20 73 74 72 62  |.o|.        strb|
000115c0  20 20 20 20 72 33 2c 5b  72 30 5d 2c 23 31 0d 6f  |    r3,[r0],#1.o|
000115d0  86 1c 20 20 20 20 20 20  20 20 73 75 62 20 20 20  |..        sub   |
000115e0  20 20 72 32 2c 72 32 2c  23 31 0d 6f 90 1a 20 20  |  r2,r2,#1.o..  |
000115f0  20 20 20 20 20 20 62 20  20 20 20 20 20 20 63 70  |      b       cp|
00011600  79 6c 75 70 0d 6f 9a 04  0d 6f a4 24 2e 72 65 76  |ylup.o...o.$.rev|
00011610  6d 65 6d 20 73 74 6d 66  64 20 20 20 72 31 33 21  |mem stmfd   r13!|
00011620  2c 7b 72 30 2d 72 33 2c  72 31 34 7d 0d 6f ae 19  |,{r0-r3,r14}.o..|
00011630  2e 72 65 76 6c 75 70 20  63 6d 70 20 20 20 20 20  |.revlup cmp     |
00011640  72 30 2c 72 31 0d 6f b8  23 20 20 20 20 20 20 20  |r0,r1.o.#       |
00011650  20 6c 64 6d 70 6c 66 64  20 72 31 33 21 2c 7b 72  | ldmplfd r13!,{r|
00011660  30 2d 72 33 2c 70 63 7d  0d 6f c2 1b 20 20 20 20  |0-r3,pc}.o..    |
00011670  20 20 20 20 6c 64 72 62  20 20 20 20 72 32 2c 5b  |    ldrb    r2,[|
00011680  72 30 5d 0d 6f cc 1b 20  20 20 20 20 20 20 20 6c  |r0].o..        l|
00011690  64 72 62 20 20 20 20 72  33 2c 5b 72 31 5d 0d 6f  |drb    r3,[r1].o|
000116a0  d6 1e 20 20 20 20 20 20  20 20 73 74 72 62 20 20  |..        strb  |
000116b0  20 20 72 33 2c 5b 72 30  5d 2c 23 31 0d 6f e0 1f  |  r3,[r0],#1.o..|
000116c0  20 20 20 20 20 20 20 20  73 74 72 62 20 20 20 20  |        strb    |
000116d0  72 32 2c 5b 72 31 5d 2c  23 2d 31 0d 6f ea 1a 20  |r2,[r1],#-1.o.. |
000116e0  20 20 20 20 20 20 20 62  20 20 20 20 20 20 20 72  |       b       r|
000116f0  65 76 6c 75 70 0d 6f f4  04 0d 6f fe 28 2e 64 69  |evlup.o...o.(.di|
00011700  76 33 32 20 20 6d 6f 76  20 20 20 20 20 72 39 2c  |v32  mov     r9,|
00011710  23 30 20 20 20 3b 72 31  32 3d 72 31 31 2f 72 31  |#0   ;r12=r11/r1|
00011720  30 0d 70 08 1a 20 20 20  20 20 20 20 20 6d 6f 76  |0.p..        mov|
00011730  20 20 20 20 20 72 31 32  2c 23 30 0d 70 12 1a 20  |     r12,#0.p.. |
00011740  20 20 20 20 20 20 20 6d  6f 76 20 20 20 20 20 72  |       mov     r|
00011750  38 2c 23 33 32 0d 70 1c  19 20 20 20 20 20 20 20  |8,#32.p..       |
00011760  20 6d 6f 76 20 20 20 20  20 72 37 2c 23 30 0d 70  | mov     r7,#0.p|
00011770  26 1a 20 20 20 20 20 20  20 20 63 6d 70 20 20 20  |&.        cmp   |
00011780  20 20 72 31 30 2c 23 30  0d 70 30 1e 20 20 20 20  |  r10,#0.p0.    |
00011790  20 20 20 20 72 73 62 6d  69 20 20 20 72 31 30 2c  |    rsbmi   r10,|
000117a0  72 31 30 2c 23 30 0d 70  3a 1c 20 20 20 20 20 20  |r10,#0.p:.      |
000117b0  20 20 65 6f 72 6d 69 20  20 20 72 37 2c 72 37 2c  |  eormi   r7,r7,|
000117c0  23 31 0d 70 44 1a 20 20  20 20 20 20 20 20 63 6d  |#1.pD.        cm|
000117d0  70 20 20 20 20 20 72 31  31 2c 23 30 0d 70 4e 1e  |p     r11,#0.pN.|
000117e0  20 20 20 20 20 20 20 20  72 73 62 6d 69 20 20 20  |        rsbmi   |
000117f0  72 31 31 2c 72 31 31 2c  23 30 0d 70 58 1c 20 20  |r11,r11,#0.pX.  |
00011800  20 20 20 20 20 20 65 6f  72 6d 69 20 20 20 72 37  |      eormi   r7|
00011810  2c 72 37 2c 23 31 0d 70  62 22 2e 64 69 76 6c 70  |,r7,#1.pb".divlp|
00011820  31 20 6d 6f 76 73 20 20  20 20 72 31 31 2c 72 31  |1 movs    r11,r1|
00011830  31 2c 61 73 6c 20 23 31  0d 70 6c 1c 20 20 20 20  |1,asl #1.pl.    |
00011840  20 20 20 20 61 64 63 20  20 20 20 20 72 39 2c 72  |    adc     r9,r|
00011850  39 2c 72 39 0d 70 76 1a  20 20 20 20 20 20 20 20  |9,r9.pv.        |
00011860  63 6d 70 20 20 20 20 20  72 39 2c 72 31 30 0d 70  |cmp     r9,r10.p|
00011870  80 1f 20 20 20 20 20 20  20 20 61 64 63 20 20 20  |..        adc   |
00011880  20 20 72 31 32 2c 72 31  32 2c 72 31 32 0d 70 8a  |  r12,r12,r12.p.|
00011890  1d 20 20 20 20 20 20 20  20 73 75 62 63 73 20 20  |.        subcs  |
000118a0  20 72 39 2c 72 39 2c 72  31 30 0d 70 94 1c 20 20  | r9,r9,r10.p..  |
000118b0  20 20 20 20 20 20 73 75  62 73 20 20 20 20 72 38  |      subs    r8|
000118c0  2c 72 38 2c 23 31 0d 70  9e 1a 20 20 20 20 20 20  |,r8,#1.p..      |
000118d0  20 20 62 6e 65 20 20 20  20 20 64 69 76 6c 70 31  |  bne     divlp1|
000118e0  0d 70 a8 19 20 20 20 20  20 20 20 20 63 6d 70 20  |.p..        cmp |
000118f0  20 20 20 20 72 37 2c 23  30 0d 70 b2 1e 20 20 20  |    r7,#0.p..   |
00011900  20 20 20 20 20 72 73 62  6e 65 20 20 20 72 31 32  |     rsbne   r12|
00011910  2c 72 31 32 2c 23 30 0d  70 bc 1a 20 20 20 20 20  |,r12,#0.p..     |
00011920  20 20 20 6d 6f 76 20 20  20 20 20 70 63 2c 72 31  |   mov     pc,r1|
00011930  34 0d 70 c6 0c 2e 65 6e  64 63 6f 64 65 0d 70 d0  |4.p...endcode.p.|
00011940  05 5d 0d 70 da 0b ed 20  70 61 73 73 25 0d 70 e4  |.].p... pass%.p.|
00011950  05 e1 0d ff                                       |....|
00011954