Home » Archimedes archive » Acorn User » AU 1998-04 A.adf » Regulars » RTR/!Hot/RunHot

RTR/!Hot/RunHot

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

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

Tape/disk: Home » Archimedes archive » Acorn User » AU 1998-04 A.adf » Regulars
Filename: RTR/!Hot/RunHot
Read OK:
File size: 35CF bytes
Load address: 0000
Exec address: 0000
File contents
   10REM Digital Thermometer
   20REM Version 1.0 By Mike Cook
   30REM All rights reserved
   40ON ERROR PROCerrorbox
   50
   60DIM taskid%4,intmess% 20:$taskid%="TASK"
   70intmess%!0=1:intmess%!4=2:intmess%!8=3:intmess%!12=&502:intmess%!16=0
   80SYS "Wimp_Initialise",300,!taskid%,"Thermometer",intmess% TO version%,taskhand%
   90DIM q% &300,qc% 80, Wn% &500,temp% 512,buffers% 512,menu% 128,Mmenu% 256,SW% 512,cb% 18,qw% &300
  100DIM IsName% 356, Wmenu% 512,Smenu% 256,Imenu% 256, TextWarn% 100, ww% 256
  110DIM Rat% 256, CODE% 256, Tread%(7),PBK% 8,Tv(7)
  120DIM S7%(9), SPoint%(20),IX%(20),IY%(20),IX1%(20),IY1%(20)
  130SYS "Wimp_OpenTemplate",,"<HOT$Dir>.Templates"
  140ON ERROR SYS "Wimp_CloseTemplate":PROCerrorbox
  150SYS "Wimp_LoadTemplate",,q%,temp%,temp%+256,-1,"Info",0
  160SYS "Wimp_CreateWindow",,q% TO info%
  170SYS "Wimp_LoadTemplate",,q%,IsName%+4,IsName%+356,-1,"save_script",0
  180SYS "Wimp_CreateWindow",,q% TO saveW%
  190IsName%!0=saveW%
  200SYS "Wimp_LoadTemplate",,q%,Rat%+4,Rat%+256,-1,"Rate",0
  210SYS "Wimp_CreateWindow",,q% TO rateW%
  220Rat%!0=rateW%
  230
  240SYS "Wimp_LoadTemplate",,Wn%+4,SW%,SW%+512,-1,"Pallette",0
  250Wn%!28=-1
  260FOR A%=0 TO 20
  270SPoint%(A%)=!(Wn%+4+88+20+32*A%)
  280IX%(A%)=!(Wn%+4+88+32*A%):IY%(A%)=!(Wn%+4+88+4+32*A%)
  290IX1%(A%)=!(Wn%+4+88+8+32*A%):IY1%(A%)=!(Wn%+4+88+12+32*A%)
  300NEXT
  310
  320SYS "Wimp_CreateWindow",,Wn%+4 TO monW%
  330Wn%!0=monW%:Wn%!28=-1
  340
  350SYS "Wimp_LoadTemplate",,q%,ww%,ww%+256,-1,"Warning",0
  360q%!108=TextWarn%:q%!112=-1:q%!116=300
  370XQ%=q%!8-q%!0:YQ%=q%!12-q%!4
  380SYS "Wimp_CreateWindow",,q% TO warningW%
  390SYS "Wimp_CloseTemplate"
  400ref%=0
  410cpL%=0:cpR%=0
  420smpicon%=FNicon
  430wopen%=FALSE:warnOn%=FALSE
  440InWin%=FALSE
  450LX%=-1:LY%=-1
  460cr%=3:cb%=8
  470LED=FALSE
  480Record%=FALSE
  490Pause%=FALSE
  500NextTime%=TIME
  510DragOn%=FALSE
  520Tempr=-20:Tempr$="-0.0000"
  530PROC_PutName("Readings")
  540fn$=""
  550Srate=0.5
  560Tdis%=-1
  570ReadTime%=0
  580ON ERROR PROCerrorbox
  590
  600PROCsetupmenu
  610PROC_Convert
  620PROC_Cktherm
  630
  640REPEAT
  650 SYS "Wimp_Poll",0,q% TO A%
  660  CASE A% OF
  670   WHEN 0:PROC_Null
  680   WHEN 1:PROC_doWindow
  690   WHEN 2:SYS"OS_ReadModeVariable",-1,3 TO ,,Ncolours%: SYS "Wimp_OpenWindow",,q%
  700   WHEN 3:PROC_close
  710   WHEN 4:InWin%=FALSE:LX%=-1:LY%=-1
  720   WHEN 5:InWin%=TRUE
  730   WHEN 6:PROC_do_click(q%)
  740   WHEN 7:PROC_PutDown(q%)
  750   WHEN 8:PROC_KeyPress
  760   WHEN 9:PROC_SORT_Menu
  770   WHEN 17,18:PROCreceive(q%)
  780   ENDCASE
  790 UNTIL FALSE
  800
  810END
  820
  830DEF PROC_Null
  840LOCAL A%,B%,C%
  850IF wopen% THEN
  860  IF NextTime%<TIME THEN
  870   IF Tdis%<>-1 THEN PROC_Sample
  880   IF Record% AND NOT(Pause%) THEN PROCrecord
  890   NextTime%=TIME +Srate*100
  900   ReadTime%+=Srate*100
  910  ENDIF
  920ENDIF
  930ENDPROC
  940
  950DEF PROC_Sample
  960LOCAL A%,B%,C%
  970PROCTscan
  980IF Tdis%<>-1 THEN
  990Tempr=Tv(Tdis%)
 1000Tempr$=STR$(Tempr)
 1010IF Tempr<0 THEN Tempr$=RIGHT$(Tempr$,LEN(Tempr$)-1)
 1020IF ABS(Tempr)<100 THEN Tempr$="0"+Tempr$
 1030IF ABS(Tempr)<10 THEN Tempr$="0"+Tempr$
 1040IF Tempr<0 THEN Tempr$="-"+Tempr$ ELSE Tempr$="+"+Tempr$
 1050SYS"Wimp_ForceRedraw",monW%,0,-118,340,0
 1060ENDIF
 1070ENDPROC
 1080
 1090DEF FN_spath(n$)
 1100WHILE INSTR(n$,".")
 1110n$=RIGHT$(n$,LEN(n$)-1)
 1120ENDWHILE
 1130IF LEN(n$)>10 THEN n$=RIGHT$(n$,10)
 1140=n$
 1150
 1160DEF PROC_GetName
 1170LOCAL T%,A%,F$
 1180F$="":fn$=""
 1190q%!0=saveW%:q%!4=1
 1200SYS "Wimp_GetIconState",,q%
 1210T%=q%!28
 1220T%-=1
 1230REPEAT
 1240T%+=1
 1250F$=F$+CHR$(?T%)
 1260UNTIL ?T%=0
 1270fn$=MID$(F$,1,LEN(F$)-1)
 1280ENDPROC
 1290
 1300DEF PROC_GetRate
 1310LOCAL T%,A%,R$
 1320q%!0=rateW%:q%!4=1
 1330SYS "Wimp_GetIconState",,q%
 1340T%=q%!28
 1350T%-=1
 1360REPEAT
 1370T%+=1
 1380R$=R$+CHR$(?T%)
 1390UNTIL ?T%=0
 1400Srate=VAL(R$)
 1410ENDPROC
 1420
 1430DEF PROC_SORT_Menu
 1440IF IconMenu% THEN
 1450 IF !q%=1 THEN PROCdie
 1460 ELSE
 1470 IF !q%=3 THEN PROCdie
 1480ENDIF
 1490
 1500ENDPROC
 1510
 1520DEF PROC_close
 1530IF q%!0=monW% THEN SYS"Wimp_GetWindowInfo",,Wn%:wopen%=FALSE
 1540IF q%!0=warningW% THEN warnOn%=FALSE
 1550SYS "Wimp_CloseWindow",,q%
 1560ENDPROC
 1570
 1580DEF PROC_do_click(q%)
 1590i%=q%!16
 1600CASE q%!12 OF
 1610WHEN warningW%: q%!0=warningW% :PROC_close
 1620WHEN    saveW%: DragOn%=TRUE: PROC_DoSave
 1630WHEN -2: REM Look first at Icon Bar Click
 1640        IF q%!16=smpicon% THEN
 1650        IF q%!8=2 THEN SYS"Wimp_CreateMenu",,menu%,q%!0-74,180:IconMenu%=TRUE
 1660        IF q%!8=4 THEN PROC_Open
 1670        ENDIF
 1680
 1690WHEN monW%:  
 1700              IF q%!8=4 THEN PROC_MonClick
 1710              IF q%!8=2 THEN SYS"Wimp_CreateMenu",,Mmenu%,q%!0-96,q%!4:IconMenu%=FALSE
 1720ENDCASE
 1730ENDPROC
 1740
 1750
 1760DEF PROC_MonClick
 1770LOCAL D%,V%,B%
 1780REM Do the action for a window click
 1790CASE i% OF
 1800   WHEN 1: IF fn$="" THEN
 1810           PROC_setupW("Need to specify a file path")
 1820           ELSE
 1830           IF NOT(Pause%) THEN
 1840              IF Record% THEN $SPoint%(1)="radiooff" : $SPoint%(0)="Record" ELSE $SPoint%(1)="radioon":$SPoint%(0)="Halt"
 1850              IF Record% THEN CLOSE#File%:fn$="" ELSEFile%=OPENOUT(fn$)
 1860              Record%= NOT(Record%)
 1870              ReadTime%=0
 1880              SYS"Wimp_ForceRedraw",monW%,IX%(0),IY%(0),IX1%(0),IY1%(0)
 1890              SYS"Wimp_ForceRedraw",monW%,IX%(1),IY%(1),IX1%(1),IY1%(1)
 1900           ENDIF
 1910           ENDIF
 1920   WHEN 2: IF Record% THEN
 1930           IF Pause% THEN $SPoint%(2)="radiooff":$SPoint%(3)="Pause" ELSE $SPoint%(2)="radioon":$SPoint%(3)="Resume"
 1940           Pause%=NOT(Pause%)
 1950           SYS"Wimp_ForceRedraw",monW%,IX%(2),IY%(2),IX1%(2),IY1%(2)
 1960           SYS"Wimp_ForceRedraw",monW%,IX%(3),IY%(3),IX1%(3),IY1%(3)
 1970           ENDIF
 1980 ENDCASE
 1990 IF i%>3 AND i%<12 AND Tdis%<>-1 THEN
 2000 IF Tread%(i%-4)=TRUE THEN
 2010 $SPoint%(Tdis%+4)="radiooff"
 2020 SYS"Wimp_ForceRedraw",monW%,IX%(Tdis%+4),IY%(Tdis%+4),IX1%(Tdis%+4),IY1%(Tdis%+4)
 2030 Tdis%=i%-4
 2040 $SPoint%(Tdis%+4)="radioon"
 2050 SYS"Wimp_ForceRedraw",monW%,IX%(Tdis%+4),IY%(Tdis%+4),IX1%(Tdis%+4),IY1%(Tdis%+4)
 2060 ENDIF
 2070 ENDIF
 2080 
 2090 IF i%>12 AND i%<21 THEN
 2100  IF Tread%(i%-13)=FALSE THEN B%=FNver(i%-13)
 2110  IF B%=FALSE AND Tread%(i%-13)=FALSE THEN PROC_setupW("No thermometer responding")
 2120 IF Tread%(i%-13)=TRUE OR B%=TRUE THEN
 2130  Tread%(i%-13)=NOT(Tread%(i%-13))
 2140  IF Tread%(i%-13)=TRUE THEN $SPoint%(i%)="yes" ELSE $SPoint%(i%)="no"
 2150  SYS"Wimp_ForceRedraw",monW%,IX%(i%),IY%(i%),IX1%(i%),IY1%(i%)
 2160     IF Tread%(i%-13)=TRUE AND Tdis%=-1 THEN
 2170     Tdis%=i%-13
 2180      $SPoint%(Tdis%+4)="radioon"
 2190       SYS"Wimp_ForceRedraw",monW%,IX%(Tdis%+4),IY%(Tdis%+4),IX1%(Tdis%+4),IY1%(Tdis%+4)
 2200     ENDIF
 2210     
 2220     IF Tread%(i%-13)=FALSE AND Tdis%=(i%-13) THEN $SPoint%(Tdis%+4)="radiooff":SYS"Wimp_ForceRedraw",monW%,IX%(Tdis%+4),IY%(Tdis%+4),IX1%(Tdis%+4),IY1%(Tdis%+4):Tdis%=-1
 2230  ENDIF
 2240 ENDIF
 2250ENDPROC
 2260
 2270DEF PROC_Open
 2280SYS"OS_ReadModeVariable",-1,3 TO ,,Ncolours%
 2290REM OPEN UP WINDOW HERE
 2300IF wopen% THEN
 2310q%!0=monW%
 2320SYS"Wimp_GetWindowState",,q%
 2330  IF q%!28<>-1 THEN q%!28=-1: SYS "Wimp_OpenWindow",,q%
 2340ELSE
 2350SYS "Wimp_OpenWindow",,Wn%
 2360wopen%=TRUE
 2370ENDIF
 2380ENDPROC
 2390
 2400DEF PROC_doWindow
 2410  LOCAL A%,I%,L%
 2420
 2430   PROC_Trans(monW%)
 2440   SYS "Wimp_RedrawWindow",,q% TO flag%
 2450     WHILE flag%
 2460
 2470     PROC_Dmpw
 2480     SYS "Wimp_GetRectangle",,q% TO flag%
 2490     ENDWHILE
 2500  
 2510  ENDPROC
 2520
 2530DEF FNpointSq
 2540LOCAL X%,Y%,B%,R%
 2550PROC_Trans(monW%)
 2560MOUSE X%,Y%,B%
 2570R%=0
 2580IF (X%<(xo%+30) AND Y%<(yo%+30) ) THEN R%=1
 2590IF (X%>(xo%+246*xs%) AND Y%<(yo%+30) ) THEN R%=2
 2600=R%
 2610
 2620REM Draw window
 2630DEF PROC_Dmpw
 2640LOCAL A%,B%,V%
 2650PROC_Trans(monW%)
 2660 IF Ncolours%<4 THEN GCOL 0,1 ELSE GCOL 0,56
 2670 B%=FALSE
 2680 FOR A%=1 TO 6
 2690 IF B%=FALSE AND MID$(Tempr$,A%,1)<>"0" AND A%<>1 THEN B%=TRUE
 2700 IF B%=TRUE OR A%=1 THEN PROC_7seg(A%,MID$(Tempr$,A%,1))
 2710 NEXT
 2720ENDPROC
 2730
 2740DEF PROC_7seg(N%,V$)
 2750LOCAL X%,Y%,P%
 2760X%=xo%-74+N%*60:Y%=yo%+30
 2770SYS"Wimp_SetColour",11
 2780CASE N% OF
 2790WHEN 1: RECTANGLEFILL xo%+4,Y%+30,30,6
 2800        IF V$="+" THEN RECTANGLEFILL xo%+16,Y%+16,6,32
 2810WHEN 5: RECTANGLEFILL xo%+214,Y%,6,6
 2820OTHERWISE
 2830       P%=S7%(VAL(V$))
 2840       IF N%=6 THEN X%=X%-60
 2850 IF (P% AND &1) RECTANGLEFILL X%+6,Y%+60,30,6
 2860 IF (P% AND &2) THEN RECTANGLEFILL X%+36,Y%+36,6,24
 2870 IF (P% AND &4) THEN RECTANGLEFILL X%+36,Y%+6,6,24
 2880 IF (P% AND &8) THEN RECTANGLEFILL X%+6,Y%,30,6
 2890 IF (P% AND &10) RECTANGLEFILL X%,Y%+6,6,24
 2900 IF (P% AND &20) RECTANGLEFILL X%,Y%+36,6,24
 2910 IF (P% AND &40) RECTANGLEFILL X%+6,Y%+30,30,6
 2920ENDCASE
 2930ENDPROC
 2940
 2950DEF PROC_UpP
 2960LOCAL T%,A%,E%
 2970PROC_Trans(monW%)
 2980  q%!0=monW%:q%!4=0:q%!8=-118:q%!12=680:q%!16=0
 2990  SYS"Wimp_UpdateWindow",,q% TO More%
 3000 WHILE More%
 3010   PROC_Dmpw
 3020  SYS"Wimp_GetRectangle",,q% TO More%
 3030 ENDWHILE
 3040
 3050ENDPROC
 3060
 3070DEF PROC_UpdatePt
 3080PROC_Trans(monW%)
 3090  q%!0=monW%:q%!4=0:q%!8=-400:q%!12=680:q%!16=0
 3100  SYS"Wimp_UpdateWindow",,q% TO More%
 3110
 3120 WHILE More%
 3130
 3140
 3150  SYS"Wimp_GetRectangle",,q% TO More%
 3160 ENDWHILE
 3170ENDPROC
 3180
 3190DEF FN_Wr
 3200LOCAL TY%,R%
 3210 TY%=Y%-yo%
 3220 R%=3
 3230 IF TY%>=40 AND TY%<=80 THEN R%=0
 3240 IF TY%>=120 AND TY%<=160 THEN R%=1
 3250 IF TY%>=200 AND TY%<=240 THEN R%=2
 3260=R%
 3270DEF FN_Wb
 3280LOCAL B%
 3290B%=7-INT((X%-xo%)/40-1)
 3300IF B%>7 OR B%<0 THEN B%=8
 3310=B%
 3320
 3330
 3340DEF PROC_Trans(wh%)
 3350!q%=wh%
 3360SYS "Wimp_GetWindowState",,q%
 3370xo%=q%!4-q%!20+8:yo%=q%!16-q%!24-118
 3380XO%=q%!4:YO%=q%!16
 3390ENDPROC
 3400
 3410DEF PROC_Convert
 3420LOCAL A%
 3430FOR A%=0 TO 9
 3440READ S7%(A%)
 3450NEXT
 3460DATA &3F,&06,&5B,&4F,&66,&6D,&7D,&07,&7F,&6F
 3470FOR A%=0 TO 7
 3480Tread%(A%)= FALSE
 3490ENDPROC
 3500
 3510DEFPROCsetupmenu
 3520LOCAL m%
 3530
 3540$menu%="Hot?"
 3550menu%?12=7
 3560menu%?13=2
 3570menu%?14=7
 3580menu%?15=0
 3590menu%!16=128
 3600menu%!20=40
 3610menu%!24=0
 3620m%=menu%+28
 3630m%!0=0
 3640m%!4=info%
 3650m%!8=(7<<24)OR %10001
 3660$(m%+12)="Info"
 3670
 3680m%+=24
 3690m%!0=&80
 3700m%!4=0
 3710m%!8=(7<<24)OR %10001
 3720$(m%+12)="Quit"
 3730
 3740$Mmenu%="Hot?"
 3750Mmenu%?12=7
 3760Mmenu%?13=2
 3770Mmenu%?14=7
 3780Mmenu%?15=0
 3790Mmenu%!16=128
 3800Mmenu%!20=40
 3810Mmenu%!24=0
 3820m%=Mmenu%+28
 3830m%!0=0
 3840m%!4=info%
 3850m%!8=(7<<24)OR %10001
 3860$(m%+12)="Info"
 3870
 3880m%+=24
 3890m%!0=0
 3900m%!4=saveW%
 3910m%!8=(7<<24)OR %10001
 3920$(m%+12)="Save"
 3930
 3940m%+=24
 3950m%!0=0
 3960m%!4=rateW%
 3970m%!8=(7<<24)OR %10001
 3980$(m%+12)="Rate"
 3990
 4000m%+=24
 4010m%!0=&80
 4020m%!4=0
 4030m%!8=(7<<24)OR %10001
 4040$(m%+12)="Quit"
 4050
 4060ENDPROC
 4070
 4080DEF PROC_DoSave
 4090IF i%=0 THEN
 4100            SYS "Wimp_GetPointerInfo",,q%
 4110            PROCdragicon(q%!0,q%!4,saveW%,i%)
 4120 ENDIF
 4130 IF i%=2 THEN
 4140  PROC_GetName
 4150  IF INSTR(fn$,":") THEN PROC_Save ELSE PROC_setupW("Drag the Icon into a Directory")
 4160  SYS "Wimp_CreateMenu",,-1
 4170 ENDIF
 4180ENDPROC
 4190
 4200DEF PROCreceive(q%)
 4210LOCAL A%
 4220A%=q%!16
 4230CASE A% OF
 4240WHEN 0:PROCdie
 4250WHEN 2:IF q%!12=saveref% THEN 
 4260          secureF%=q%!36
 4270          fn$=FNsget(q%+44):PROC_Save
 4280          q%!12=saveref%:q%!16=3:q%!0=256:q%!40=&044
 4290          q%!20=messh%:q%!24=messi%:q%!28=messx%:q%!32=messy%
 4300          SYS "Wimp_SendMessage",17,q%,messh%,messi%
 4310          ENDIF
 4320
 4330WHEN &502:   CASE TRUE OF
 4340             WHEN q%!32=-2 AND q%!36=smpicon%:mes$="This is the DT Monitor icon.|MObserve the Digital Thermometer"
 4350             OTHERWISE:mes$=""
 4360             ENDCASE
 4370    IF mes$<>"" THEN
 4380    q%!12=q%!8
 4390    $(q%+20)=mes$+CHR$0
 4400    q%!0=(20+LENmes$+4)AND NOT 3
 4410    q%!16=&503
 4420    SYS "Wimp_SendMessage",18,q%,q%!4
 4430ENDCASE
 4440ENDPROC
 4450
 4460DEF PROC_Dack
 4470sendth%=q%!4
 4480myref%=q%!8
 4490SYS "Wimp_GetPointerInfo",,q%+8
 4500q%!28=q%!8
 4510q%!32=q%!12
 4520q%!0=(44+LENn$+4)AND NOT 3
 4530q%!12=myref%
 4540q%!16=4
 4550q%!36=-1
 4560q%!40=&FF9
 4570$(q%+44)=n$+CHR$0
 4580SYS "Wimp_SendMessage",17,q%,sendth%
 4590ENDIF
 4600ENDPROC
 4610
 4620DEFFNsget(x%)
 4630LOCAL x$
 4640WHILE ?x% x$+=CHR$(?x%):x%+=1:ENDWHILE
 4650=x$
 4660
 4670DEFFNicon
 4680q%!0=-1
 4690q%!4=0
 4700q%!8=10 : REM Y DIRECTION
 4710q%!12=70 : REM X DIRECTION
 4720q%!16=96
 4730q%!20=&2002
 4740$(q%+24)="!HOT"
 4750SYS "Wimp_CreateIcon",,q% TO icon%
 4760=icon%
 4770
 4780DEF PROC_setupW(t$)
 4790!qw%=warningW%:qw%!4=200:qw%!8=200:qw%!12=200+XQ%:qw%!16=200+YQ%:qw%!20=0:qw%!24=0:qw%!28=-1
 4800$TextWarn%=t$
 4810TextWarn%?LEN(t$)=0
 4820warnOn%=TRUE
 4830SYS "Wimp_OpenWindow",,qw%
 4840ENDPROC
 4850
 4860DEF PROCerrorbox
 4870REM PROCdie
 4880SYS "Wimp_DragBox",,-1
 4890!buffers%=ERR:$(buffers%+4)=REPORT$+" at line "+STR$ERL+CHR$0
 4900SYS "Wimp_ReportError",buffers%,1,"HOT"
 4910PROCdie
 4920ENDPROC
 4930
 4940DEFPROCdie
 4950SYS "Wimp_CloseDown",taskhand%,!taskid%
 4960END
 4970ENDPROC
 4980
 4990DEF PROCdragicon(mousex%,mousey%,handle%,icon%)
 5000LOCAL bx%,by%,ix0%,iy0%,ix1%,iy1%
 5010PROCgetw(handle%)
 5020PROCgeti(handle%,icon%)
 5030!q%=handle%:q%!4=5
 5040q%!8=bx%+ix0%:q%!12=by%+iy0%:q%!16=bx%+ix1%:q%!20=by%+iy1%
 5050q%!24=q%!8-mousex%:q%!28=q%!12-mousey%
 5060SYS "Wimp_DragBox",,q%
 5070SFLAG%=TRUE
 5080ENDPROC
 5090
 5100DEF PROCgetw(handle%)
 5110!q%=handle%:SYS "Wimp_GetWindowState",,q%:PROCinfo(q%+4)
 5120ENDPROC
 5130DEF PROCgeti(h%,i%)
 5140!q%=h%:q%!4=i%:SYS "Wimp_GetIconState",,q%
 5150ix0%=q%!8:iy0%=q%!12:ix1%=q%!16:iy1%=q%!20
 5160iflags%=q%!24:idata%=q%+28
 5170ENDPROC
 5180
 5190DEF PROCinfo(p%)
 5200LOCAL x0%,y0%
 5210x0%=!p%:y0%=p%!4:x1%=p%!8:y1%=p%!12
 5220scx%=p%!16:scy%=p%!20:bhandle%=p%!24:flags%=p%!28
 5230bx%=x0%-scx%:by%=y1%-scy%
 5240ENDPROC
 5250
 5260DEF PROC_Save
 5270LOCAL ch%,pp%
 5280F%=OPENOUT(fn$)
 5290OSCLI("SETTYPE "+fn$+" FFF")
 5300CLOSE#F%
 5310PROC_PutName(fn$)
 5320ENDPROC
 5330
 5340DEF PROC_PutName(p$)
 5350LOCAL T%
 5360q%!0=saveW%:q%!4=1
 5370SYS "Wimp_GetIconState",,q%
 5380T%=q%!28
 5390$T%=p$
 5400!(T%+LEN(p$))=0
 5410ENDPROC
 5420
 5430DEF PROC_PutRate(p$)
 5440LOCAL T%
 5450q%!0=rateW%:q%!4=1
 5460SYS "Wimp_GetIconState",,q%
 5470T%=q%!28
 5480$T%=p$
 5490!(T%+LEN(p$))=0
 5500ENDPROC
 5510
 5520DEF PROC_PutDown(q%)
 5530IF DragOn% THEN
 5540REM SYS "Wimp_GetPointerInfo",,q%
 5550PROC_GetName
 5560SYS "Wimp_GetPointerInfo",,q%
 5570messh%=q%!12:messi%=q%!16:messx%=q%!0:messy%=q%!4
 5580IF INSTR( fn$,":") THEN fn$=FN_spath(fn$)
 5590$(q%+44)=fn$
 5600?(q%+44+LEN(fn$))=0
 5610q%!20=q%!12:q%!28=q%!0:q%!32=q%!4:q%!36=1024:q%!40=&044
 5620q%!0=56:q%!12=0:q%!16=1
 5630SYS "Wimp_SendMessage",17,q%,messh%,messi%
 5640saveref%=q%!8
 5650SYS "Wimp_CreateMenu",,-1
 5660DragOn%=FALSE
 5670ENDIF
 5680ENDPROC
 5690
 5700DEF PROC_KeyPress
 5710CASE q%!0 OF
 5720WHEN saveW%: i%=2:PROC_DoSave
 5730WHEN rateW%: PROC_GetRate
 5740             IF Srate<0.1 THEN Srate=0.1:VDU 7
 5750             PROC_PutRate(STR$(Srate))
 5760             SYS "Wimp_CloseWindow",,Rat%
 5770             SYS "Wimp_CreateMenu",,-1
 5780ENDCASE
 5790ENDPROC
 5800
 5810DEF PROC_Cktherm
 5820LOCAL A%
 5830FOR A%=0 TO 7
 5840Tread%(A%)=FNver(A%)
 5850IF Tread%(A%)=TRUE THEN $SPoint%(A%+13)="yes":Tdis%=A%
 5860NEXT
 5870IF Tdis%<>-1 THEN $SPoint%(Tdis%+4)="radioon"
 5880ENDPROC
 5890
 5900DEF FNver(A%)
 5910LOCAL E%,Fl
 5920E%=TRUE
 5930A%=(A%<<1) OR &91
 5940SYS "XIIC_Control",A%,PBK%,1 TO ;Fl
 5950IF (Fl AND 1)=1 THEN E%=FALSE ELSE E%=TRUE
 5960=E%
 5970
 5980DEF PROCTscan
 5990LOCAL A%,B%,Fl
 6000FOR A%=0 TO 7
 6010IF Tread%(A%) THEN
 6020B%=(A%<<1) OR &91
 6030SYS "XIIC_Control",B%,PBK%,2 TO ;Fl
 6040IF (Fl AND 1)= 1 THEN
 6050 Tread%(A%)=FALSE:$SPoint%(A%+13)="no"
 6060 SYS"Wimp_ForceRedraw",monW%,IX%(A%+13),IY%(A%+13),IX1%(A%+13),IY1%(A%+13)
 6070 IF Tdis%=A% THEN $SPoint%(Tdis%+4)="radiooff":SYS"Wimp_ForceRedraw",monW%,IX%(Tdis%+4),IY%(Tdis%+4),IX1%(Tdis%+4),IY1%(Tdis%+4):Tdis%=-1
 6080 ELSE
 6090 Tv(A%)=FNtread(PBK%?0,PBK%?1)
 6100 ENDIF
 6110ENDIF
 6120NEXT
 6130ENDPROC
 6140
 6150DEF FNtread(A%,B%)
 6160LOCAL D%
 6170D%=((A%<<1) + (B%>>7))
 6180IF D%>&FF THEN D%=D% OR &FFFFFF00
 6190=D%/2
 6200
 6210DEF PROCrecord
 6220LOCAL A%,B%
 6230A%=ReadTime%/100
 6240B%=(ReadTime% MOD 100)/10
 6250  PROCfwrite(STR$(A%)+"."+STR$(B%))
 6260    FOR A%=0 TO 7
 6270    IF Tread%(A%)=TRUE THEN BPUT#File%,9:PROCfwrite(STR$(Tv(A%)))
 6280    NEXT
 6290 BPUT#File%,10
 6300ENDPROC
 6310
 6320DEF PROCfwrite(r$)
 6330LOCAL A%
 6340FOR A%=1 TO LEN(r$)
 6350BPUT#File%,ASC(MID$(r$,A%,1))
 6360    NEXT
 6370ENDPROC
 6380

� Digital Thermometer
� Version 1.0 By Mike Cook
� All rights reserved
(� � �errorbox
2
<*� taskid%4,intmess% 20:$taskid%="TASK"
FIintmess%!0=1:intmess%!4=2:intmess%!8=3:intmess%!12=&502:intmess%!16=0
PQș "Wimp_Initialise",300,!taskid%,"Thermometer",intmess% � version%,taskhand%
Zb� q% &300,qc% 80, Wn% &500,temp% 512,buffers% 512,menu% 128,Mmenu% 256,SW% 512,cb% 18,qw% &300
dK� IsName% 356, Wmenu% 512,Smenu% 256,Imenu% 256, TextWarn% 100, ww% 256
n1� Rat% 256, CODE% 256, Tread%(7),PBK% 8,Tv(7)
x;� S7%(9), SPoint%(20),IX%(20),IY%(20),IX1%(20),IY1%(20)
�1ș "Wimp_OpenTemplate",,"<HOT$Dir>.Templates"
�)� � ș "Wimp_CloseTemplate":�errorbox
�:ș "Wimp_LoadTemplate",,q%,temp%,temp%+256,-1,"Info",0
�&ș "Wimp_CreateWindow",,q% � info%
�Gș "Wimp_LoadTemplate",,q%,IsName%+4,IsName%+356,-1,"save_script",0
�'ș "Wimp_CreateWindow",,q% � saveW%
�IsName%!0=saveW%
�:ș "Wimp_LoadTemplate",,q%,Rat%+4,Rat%+256,-1,"Rate",0
�'ș "Wimp_CreateWindow",,q% � rateW%
�Rat%!0=rateW%
�
�=ș "Wimp_LoadTemplate",,Wn%+4,SW%,SW%+512,-1,"Pallette",0
�
Wn%!28=-1
� A%=0 � 20
$SPoint%(A%)=!(Wn%+4+88+20+32*A%)
9IX%(A%)=!(Wn%+4+88+32*A%):IY%(A%)=!(Wn%+4+88+4+32*A%)
">IX1%(A%)=!(Wn%+4+88+8+32*A%):IY1%(A%)=!(Wn%+4+88+12+32*A%)
,�
6
@)ș "Wimp_CreateWindow",,Wn%+4 � monW%
JWn%!0=monW%:Wn%!28=-1
T
^9ș "Wimp_LoadTemplate",,q%,ww%,ww%+256,-1,"Warning",0
h)q%!108=TextWarn%:q%!112=-1:q%!116=300
r XQ%=q%!8-q%!0:YQ%=q%!12-q%!4
|*ș "Wimp_CreateWindow",,q% � warningW%
�ș "Wimp_CloseTemplate"
�
ref%=0
�cpL%=0:cpR%=0
�smpicon%=�icon
�wopen%=�:warnOn%=�
�InWin%=�
�LX%=-1:LY%=-1
�cr%=3:cb%=8
�	LED=�
�
Record%=�
�Pause%=�
�NextTime%=�
�
DragOn%=�
Tempr=-20:Tempr$="-0.0000"
�_PutName("Readings")

fn$=""
&
Srate=0.5
0Tdis%=-1
:ReadTime%=0
D� � �errorbox
N
X�setupmenu
b
�_Convert
l
�_Cktherm
v
��
� ș "Wimp_Poll",0,q% � A%
�
  Ȏ A% �
�   � 0:�_Null
�   � 1:�_doWindow
�O   � 2:ș"OS_ReadModeVariable",-1,3 � ,,Ncolours%: ș "Wimp_OpenWindow",,q%
�   � 3:�_close
�!   � 4:InWin%=�:LX%=-1:LY%=-1
�   � 5:InWin%=�
�   � 6:�_do_click(q%)
�   � 7:�_PutDown(q%)
�   � 8:�_KeyPress
�   � 9:�_SORT_Menu
   � 17,18:�receive(q%)
   �
 � �
 
*�
4
>� �_Null
H� A%,B%,C%
R� wopen% �
\  � NextTime%<� �
f   � Tdis%<>-1 � �_Sample
p&   � Record% � �(Pause%) � �record
z   NextTime%=� +Srate*100
�   ReadTime%+=Srate*100
�  �
��
��
�
�� �_Sample
�� A%,B%,C%
�
�Tscan
�� Tdis%<>-1 �
�Tempr=Tv(Tdis%)
�Tempr$=�(Tempr)
�+� Tempr<0 � Tempr$=�Tempr$,�(Tempr$)-1)
�&� �(Tempr)<100 � Tempr$="0"+Tempr$
%� �(Tempr)<10 � Tempr$="0"+Tempr$
5� Tempr<0 � Tempr$="-"+Tempr$ � Tempr$="+"+Tempr$
+ș"Wimp_ForceRedraw",monW%,0,-118,340,0
$�
.�
8
B� �_spath(n$)
Lȕ �n$,".")
Vn$=�n$,�(n$)-1)
`�
j� �(n$)>10 � n$=�n$,10)
t=n$
~
�� �_GetName
�� T%,A%,F$
�F$="":fn$=""
�q%!0=saveW%:q%!4=1
�ș "Wimp_GetIconState",,q%
�T%=q%!28
�	T%-=1
��
�	T%+=1
�F$=F$+�(?T%)
�� ?T%=0
�fn$=�F$,1,�(F$)-1)
�


� �_GetRate
� T%,A%,R$
(q%!0=rateW%:q%!4=1
2ș "Wimp_GetIconState",,q%
<T%=q%!28
F	T%-=1
P�
Z	T%+=1
dR$=R$+�(?T%)
n� ?T%=0
xSrate=�(R$)
��
�
�� �_SORT_Menu
�� IconMenu% �
� � !q%=1 � �die
� �
� � !q%=3 � �die
��
�
��
�
�
� �_close
�7� q%!0=monW% � ș"Wimp_GetWindowInfo",,Wn%:wopen%=�
 � q%!0=warningW% � warnOn%=�
ș "Wimp_CloseWindow",,q%
�
"
,� �_do_click(q%)
6i%=q%!16
@Ȏ q%!12 �
J(� warningW%: q%!0=warningW% :�_close
T$�    saveW%: DragOn%=�: �_DoSave
^(� -2: � Look first at Icon Bar Click
h        � q%!16=smpicon% �
rI        � q%!8=2 � ș"Wimp_CreateMenu",,menu%,q%!0-74,180:IconMenu%=�
|        � q%!8=4 � �_Open
�
        �
�
�� monW%:  
�'              � q%!8=4 � �_MonClick
�Q              � q%!8=2 � ș"Wimp_CreateMenu",,Mmenu%,q%!0-96,q%!4:IconMenu%=�
��
��
�
�
�� �_MonClick
�� D%,V%,B%
�&� Do the action for a window click
�Ȏ i% �
   � 1: � fn$="" �
6           �_setupW("Need to specify a file path")
           �
&           � �(Pause%) �
0v              � Record% � $SPoint%(1)="radiooff" : $SPoint%(0)="Record" � $SPoint%(1)="radioon":$SPoint%(0)="Halt"
::              � Record% � �#File%:fn$="" �File%=�(fn$)
D%              Record%= �(Record%)
N              ReadTime%=0
XJ              ș"Wimp_ForceRedraw",monW%,IX%(0),IY%(0),IX1%(0),IY1%(0)
bJ              ș"Wimp_ForceRedraw",monW%,IX%(1),IY%(1),IX1%(1),IY1%(1)
l           �
v           �
�   � 2: � Record% �
�q           � Pause% � $SPoint%(2)="radiooff":$SPoint%(3)="Pause" � $SPoint%(2)="radioon":$SPoint%(3)="Resume"
�           Pause%=�(Pause%)
�G           ș"Wimp_ForceRedraw",monW%,IX%(2),IY%(2),IX1%(2),IY1%(2)
�G           ș"Wimp_ForceRedraw",monW%,IX%(3),IY%(3),IX1%(3),IY1%(3)
�           �
� �
�! � i%>3 � i%<12 � Tdis%<>-1 �
� � Tread%(i%-4)=� �
�! $SPoint%(Tdis%+4)="radiooff"
�U ș"Wimp_ForceRedraw",monW%,IX%(Tdis%+4),IY%(Tdis%+4),IX1%(Tdis%+4),IY1%(Tdis%+4)
� Tdis%=i%-4
�  $SPoint%(Tdis%+4)="radioon"
U ș"Wimp_ForceRedraw",monW%,IX%(Tdis%+4),IY%(Tdis%+4),IX1%(Tdis%+4),IY1%(Tdis%+4)
 �
 �
  
* � i%>12 � i%<21 �
4(  � Tread%(i%-13)=� � B%=�ver(i%-13)
>F  � B%=� � Tread%(i%-13)=� � �_setupW("No thermometer responding")
H � Tread%(i%-13)=� � B%=� �
R$  Tread%(i%-13)=�(Tread%(i%-13))
\@  � Tread%(i%-13)=� � $SPoint%(i%)="yes" � $SPoint%(i%)="no"
fB  ș"Wimp_ForceRedraw",monW%,IX%(i%),IY%(i%),IX1%(i%),IY1%(i%)
p'     � Tread%(i%-13)=� � Tdis%=-1 �
z     Tdis%=i%-13
�%      $SPoint%(Tdis%+4)="radioon"
�[       ș"Wimp_ForceRedraw",monW%,IX%(Tdis%+4),IY%(Tdis%+4),IX1%(Tdis%+4),IY1%(Tdis%+4)
�
     �
�	     
��     � Tread%(i%-13)=� � Tdis%=(i%-13) � $SPoint%(Tdis%+4)="radiooff":ș"Wimp_ForceRedraw",monW%,IX%(Tdis%+4),IY%(Tdis%+4),IX1%(Tdis%+4),IY1%(Tdis%+4):Tdis%=-1
�  �
� �
��
�
�� �_Open
�.ș"OS_ReadModeVariable",-1,3 � ,,Ncolours%
�� OPEN UP WINDOW HERE
�� wopen% �
	q%!0=monW%
	ș"Wimp_GetWindowState",,q%
	6  � q%!28<>-1 � q%!28=-1: ș "Wimp_OpenWindow",,q%
	$�
	.ș "Wimp_OpenWindow",,Wn%
	8wopen%=�
	B�
	L�
	V
	`� �_doWindow
	j  � A%,I%,L%
	t
	~   �_Trans(monW%)
	�)   ș "Wimp_RedrawWindow",,q% � flag%
	�     ȕ flag%
	�
	�     �_Dmpw
	�+     ș "Wimp_GetRectangle",,q% � flag%
	�
     �
	�  
	�  �
	�
	�� �pointSq
	�� X%,Y%,B%,R%
	��_Trans(monW%)
ȗ X%,Y%,B%

R%=0
)� (X%<(xo%+30) � Y%<(yo%+30) ) � R%=1
.� (X%>(xo%+246*xs%) � Y%<(yo%+30) ) � R%=2
(=R%
2
<� Draw window
F� �_Dmpw
P� A%,B%,V%
Z�_Trans(monW%)
d# � Ncolours%<4 � � 0,1 � � 0,56
n	 B%=�
x � A%=1 � 6
�/ � B%=� � �Tempr$,A%,1)<>"0" � A%<>1 � B%=�
�- � B%=� � A%=1 � �_7seg(A%,�Tempr$,A%,1))
� �
��
�
�� �_7seg(N%,V$)
�� X%,Y%,P%
�X%=xo%-74+N%*60:Y%=yo%+30
�ș"Wimp_SetColour",11
�Ȏ N% �
�� 1: ȓȐ xo%+4,Y%+30,30,6
�-        � V$="+" � ȓȐ xo%+16,Y%+16,6,32
�� 5: ȓȐ xo%+214,Y%,6,6

       P%=S7%(�(V$))
       � N%=6 � X%=X%-60
"% � (P% � &1) ȓȐ X%+6,Y%+60,30,6
,( � (P% � &2) � ȓȐ X%+36,Y%+36,6,24
6' � (P% � &4) � ȓȐ X%+36,Y%+6,6,24
@$ � (P% � &8) � ȓȐ X%+6,Y%,30,6
J# � (P% � &10) ȓȐ X%,Y%+6,6,24
T$ � (P% � &20) ȓȐ X%,Y%+36,6,24
^& � (P% � &40) ȓȐ X%+6,Y%+30,30,6
h�
r�
|
�� �_UpP
�� T%,A%,E%
��_Trans(monW%)
�3  q%!0=monW%:q%!4=0:q%!8=-118:q%!12=680:q%!16=0
�'  ș"Wimp_UpdateWindow",,q% � More%
�
 ȕ More%
�
   �_Dmpw
�'  ș"Wimp_GetRectangle",,q% � More%
� �
�
��
�
�� �_UpdatePt
�_Trans(monW%)
3  q%!0=monW%:q%!4=0:q%!8=-400:q%!12=680:q%!16=0
'  ș"Wimp_UpdateWindow",,q% � More%
&
0
 ȕ More%
:
D
N'  ș"Wimp_GetRectangle",,q% � More%
X �
b�
l
v
� �_Wr
�� TY%,R%
� TY%=Y%-yo%
�	 R%=3
� � TY%>=40 � TY%<=80 � R%=0
�! � TY%>=120 � TY%<=160 � R%=1
�! � TY%>=200 � TY%<=240 � R%=2
�=R%
�
� �_Wb
�� B%
�B%=7-�((X%-xo%)/40-1)
�� B%>7 � B%<0 � B%=8
�=B%
�



� �_Trans(wh%)

!q%=wh%

  ș "Wimp_GetWindowState",,q%

*(xo%=q%!4-q%!20+8:yo%=q%!16-q%!24-118

4XO%=q%!4:YO%=q%!16

>�

H

R� �_Convert

\� A%

f� A%=0 � 9

p
� S7%(A%)

z�

�-� &3F,&06,&5B,&4F,&66,&6D,&7D,&07,&7F,&6F

�� A%=0 � 7

�Tread%(A%)= �

��

�

���setupmenu

�� m%

�

�$menu%="Hot?"

�menu%?12=7

�menu%?13=2

�menu%?14=7

�menu%?15=0
menu%!16=128
menu%!20=40
menu%!24=0
$m%=menu%+28
.
m%!0=0
8m%!4=info%
Bm%!8=(7<<24)� %10001
L$(m%+12)="Info"
V
`
m%+=24
jm%!0=&80
t
m%!4=0
~m%!8=(7<<24)� %10001
�$(m%+12)="Quit"
�
�$Mmenu%="Hot?"
�Mmenu%?12=7
�Mmenu%?13=2
�Mmenu%?14=7
�Mmenu%?15=0
�Mmenu%!16=128
�Mmenu%!20=40
�Mmenu%!24=0
�m%=Mmenu%+28
�
m%!0=0
m%!4=info%

m%!8=(7<<24)� %10001
$(m%+12)="Info"

(
m%+=24
2
m%!0=0
<m%!4=saveW%
Fm%!8=(7<<24)� %10001
P$(m%+12)="Save"
Z
d
m%+=24
n
m%!0=0
xm%!4=rateW%
�m%!8=(7<<24)� %10001
�$(m%+12)="Rate"
�
�
m%+=24
�m%!0=&80
�
m%!4=0
�m%!8=(7<<24)� %10001
�$(m%+12)="Quit"
�
��
�
�� �_DoSave
�� i%=0 �
,            ș "Wimp_GetPointerInfo",,q%
.            �dragicon(q%!0,q%!4,saveW%,i%)
 �
"
 � i%=2 �
,  �_GetName
6G  � �fn$,":") � �_Save � �_setupW("Drag the Icon into a Directory")
@  ș "Wimp_CreateMenu",,-1
J �
T�
^
h� �receive(q%)
r� A%
|A%=q%!16
�Ȏ A% �
�� 0:�die
�� 2:� q%!12=saveref% � 
�          secureF%=q%!36
�%          fn$=�sget(q%+44):�_Save
�8          q%!12=saveref%:q%!16=3:q%!0=256:q%!40=&044
�A          q%!20=messh%:q%!24=messi%:q%!28=messx%:q%!32=messy%
�7          ș "Wimp_SendMessage",17,q%,messh%,messi%
�          �
�
�� &502:   Ȏ � �
�q             � q%!32=-2 � q%!36=smpicon%:mes$="This is the DT Monitor icon.|MObserve the Digital Thermometer"
�             :mes$=""
             �
    � mes$<>"" �
    q%!12=q%!8
&    $(q%+20)=mes$+�0
0    q%!0=(20+�mes$+4)� � 3
:    q%!16=&503
D(    ș "Wimp_SendMessage",18,q%,q%!4
N�
X�
b
l� �_Dack
vsendth%=q%!4
�myref%=q%!8
�"ș "Wimp_GetPointerInfo",,q%+8
�q%!28=q%!8
�q%!32=q%!12
�q%!0=(44+�n$+4)� � 3
�q%!12=myref%
�q%!16=4
�q%!36=-1
�q%!40=&FF9
�$(q%+44)=n$+�0
�'ș "Wimp_SendMessage",17,q%,sendth%
��
��

ݤsget(x%)
� x$
 ȕ ?x% x$+=�(?x%):x%+=1:�
*=x$
4
>
ݤicon
Hq%!0=-1
R
q%!4=0
\q%!8=10 : � Y DIRECTION
fq%!12=70 : � X DIRECTION
pq%!16=96
zq%!20=&2002
�$(q%+24)="!HOT"
�$ș "Wimp_CreateIcon",,q% � icon%
�
=icon%
�
�� �_setupW(t$)
�`!qw%=warningW%:qw%!4=200:qw%!8=200:qw%!12=200+XQ%:qw%!16=200+YQ%:qw%!20=0:qw%!24=0:qw%!28=-1
�$TextWarn%=t$
�TextWarn%?�(t$)=0
�
warnOn%=�
�ș "Wimp_OpenWindow",,qw%
��
�
�� �errorbox

� PROCdie
ș "Wimp_DragBox",,-1
2!buffers%=�:$(buffers%+4)=�$+" at line "+Þ+�0
$*ș "Wimp_ReportError",buffers%,1,"HOT"
.�die
8�
B
L	��die
V*ș "Wimp_CloseDown",taskhand%,!taskid%
`�
j�
t
~.� �dragicon(mousex%,mousey%,handle%,icon%)
�!� bx%,by%,ix0%,iy0%,ix1%,iy1%
��getw(handle%)
��geti(handle%,icon%)
�!q%=handle%:q%!4=5
�>q%!8=bx%+ix0%:q%!12=by%+iy0%:q%!16=bx%+ix1%:q%!20=by%+iy1%
�*q%!24=q%!8-mousex%:q%!28=q%!12-mousey%
�ș "Wimp_DragBox",,q%
�SFLAG%=�
��
�
�� �getw(handle%)
�8!q%=handle%:ș "Wimp_GetWindowState",,q%:�info(q%+4)
�

� �geti(h%,i%)
-!q%=h%:q%!4=i%:ș "Wimp_GetIconState",,q%
.ix0%=q%!8:iy0%=q%!12:ix1%=q%!16:iy1%=q%!20
(iflags%=q%!24:idata%=q%+28
2�
<
F� �info(p%)
P
� x0%,y0%
Z'x0%=!p%:y0%=p%!4:x1%=p%!8:y1%=p%!12
d5scx%=p%!16:scy%=p%!20:bhandle%=p%!24:flags%=p%!28
nbx%=x0%-scx%:by%=y1%-scy%
x�
�
�� �_Save
�
� ch%,pp%
�
F%=�(fn$)
��("SETTYPE "+fn$+" FFF")
��#F%
��_PutName(fn$)
��
�
�� �_PutName(p$)
�� T%
�q%!0=saveW%:q%!4=1
�ș "Wimp_GetIconState",,q%
T%=q%!28

$T%=p$
!(T%+�(p$))=0
"�
,
6� �_PutRate(p$)
@� T%
Jq%!0=rateW%:q%!4=1
Tș "Wimp_GetIconState",,q%
^T%=q%!28
h
$T%=p$
r!(T%+�(p$))=0
|�
�
�� �_PutDown(q%)
�� DragOn% �
�#� SYS "Wimp_GetPointerInfo",,q%
�
�_GetName
� ș "Wimp_GetPointerInfo",,q%
�5messh%=q%!12:messi%=q%!16:messx%=q%!0:messy%=q%!4
�#� � fn$,":") � fn$=�_spath(fn$)
�$(q%+44)=fn$
�?(q%+44+�(fn$))=0
�;q%!20=q%!12:q%!28=q%!0:q%!32=q%!4:q%!36=1024:q%!40=&044
�q%!0=56:q%!12=0:q%!16=1
�-ș "Wimp_SendMessage",17,q%,messh%,messi%
saveref%=q%!8
ș "Wimp_CreateMenu",,-1

DragOn%=�
&�
0�
:
D� �_KeyPress
N
Ȏ q%!0 �
X� saveW%: i%=2:�_DoSave
b� rateW%: �_GetRate
l,             � Srate<0.1 � Srate=0.1:� 7
v$             �_PutRate(�(Srate))
�,             ș "Wimp_CloseWindow",,Rat%
�)             ș "Wimp_CreateMenu",,-1
��
��
�
�� �_Cktherm
�� A%
�� A%=0 � 7
�Tread%(A%)=�ver(A%)
�3� Tread%(A%)=� � $SPoint%(A%+13)="yes":Tdis%=A%
��
�-� Tdis%<>-1 � $SPoint%(Tdis%+4)="radioon"
��

� �ver(A%)
� E%,Fl
 E%=�
*A%=(A%<<1) � &91
4%ș "XIIC_Control",A%,PBK%,1 � ;Fl
>� (Fl � 1)=1 � E%=� � E%=�
H=E%
R
\� �Tscan
f� A%,B%,Fl
p� A%=0 � 7
z� Tread%(A%) �
�B%=(A%<<1) � &91
�%ș "XIIC_Control",B%,PBK%,2 � ;Fl
�� (Fl � 1)= 1 �
�& Tread%(A%)=�:$SPoint%(A%+13)="no"
�M ș"Wimp_ForceRedraw",monW%,IX%(A%+13),IY%(A%+13),IX1%(A%+13),IY1%(A%+13)
�� � Tdis%=A% � $SPoint%(Tdis%+4)="radiooff":ș"Wimp_ForceRedraw",monW%,IX%(Tdis%+4),IY%(Tdis%+4),IX1%(Tdis%+4),IY1%(Tdis%+4):Tdis%=-1
� �
�! Tv(A%)=�tread(PBK%?0,PBK%?1)
� �
��
��
��
�
� �tread(A%,B%)
� D%
D%=((A%<<1) + (B%>>7))
$ � D%>&FF � D%=D% � &FFFFFF00
.	=D%/2
8
B
� �record
L� A%,B%
VA%=ReadTime%/100
`B%=(ReadTime% � 100)/10
j  �fwrite(�(A%)+"."+�(B%))
t    � A%=0 � 7
~5    � Tread%(A%)=� � �#File%,9:�fwrite(�(Tv(A%)))
�	    �
� �#File%,10
��
�
�� �fwrite(r$)
�� A%
�� A%=1 � �(r$)
��#File%,�(�r$,A%,1))
�	    �
��
�
�
00000000  0d 00 0a 19 f4 20 44 69  67 69 74 61 6c 20 54 68  |..... Digital Th|
00000010  65 72 6d 6f 6d 65 74 65  72 0d 00 14 1e f4 20 56  |ermometer..... V|
00000020  65 72 73 69 6f 6e 20 31  2e 30 20 42 79 20 4d 69  |ersion 1.0 By Mi|
00000030  6b 65 20 43 6f 6f 6b 0d  00 1e 19 f4 20 41 6c 6c  |ke Cook..... All|
00000040  20 72 69 67 68 74 73 20  72 65 73 65 72 76 65 64  | rights reserved|
00000050  0d 00 28 11 ee 20 85 20  f2 65 72 72 6f 72 62 6f  |..(.. . .errorbo|
00000060  78 0d 00 32 04 0d 00 3c  2a de 20 74 61 73 6b 69  |x..2...<*. taski|
00000070  64 25 34 2c 69 6e 74 6d  65 73 73 25 20 32 30 3a  |d%4,intmess% 20:|
00000080  24 74 61 73 6b 69 64 25  3d 22 54 41 53 4b 22 0d  |$taskid%="TASK".|
00000090  00 46 49 69 6e 74 6d 65  73 73 25 21 30 3d 31 3a  |.FIintmess%!0=1:|
000000a0  69 6e 74 6d 65 73 73 25  21 34 3d 32 3a 69 6e 74  |intmess%!4=2:int|
000000b0  6d 65 73 73 25 21 38 3d  33 3a 69 6e 74 6d 65 73  |mess%!8=3:intmes|
000000c0  73 25 21 31 32 3d 26 35  30 32 3a 69 6e 74 6d 65  |s%!12=&502:intme|
000000d0  73 73 25 21 31 36 3d 30  0d 00 50 51 c8 99 20 22  |ss%!16=0..PQ.. "|
000000e0  57 69 6d 70 5f 49 6e 69  74 69 61 6c 69 73 65 22  |Wimp_Initialise"|
000000f0  2c 33 30 30 2c 21 74 61  73 6b 69 64 25 2c 22 54  |,300,!taskid%,"T|
00000100  68 65 72 6d 6f 6d 65 74  65 72 22 2c 69 6e 74 6d  |hermometer",intm|
00000110  65 73 73 25 20 b8 20 76  65 72 73 69 6f 6e 25 2c  |ess% . version%,|
00000120  74 61 73 6b 68 61 6e 64  25 0d 00 5a 62 de 20 71  |taskhand%..Zb. q|
00000130  25 20 26 33 30 30 2c 71  63 25 20 38 30 2c 20 57  |% &300,qc% 80, W|
00000140  6e 25 20 26 35 30 30 2c  74 65 6d 70 25 20 35 31  |n% &500,temp% 51|
00000150  32 2c 62 75 66 66 65 72  73 25 20 35 31 32 2c 6d  |2,buffers% 512,m|
00000160  65 6e 75 25 20 31 32 38  2c 4d 6d 65 6e 75 25 20  |enu% 128,Mmenu% |
00000170  32 35 36 2c 53 57 25 20  35 31 32 2c 63 62 25 20  |256,SW% 512,cb% |
00000180  31 38 2c 71 77 25 20 26  33 30 30 0d 00 64 4b de  |18,qw% &300..dK.|
00000190  20 49 73 4e 61 6d 65 25  20 33 35 36 2c 20 57 6d  | IsName% 356, Wm|
000001a0  65 6e 75 25 20 35 31 32  2c 53 6d 65 6e 75 25 20  |enu% 512,Smenu% |
000001b0  32 35 36 2c 49 6d 65 6e  75 25 20 32 35 36 2c 20  |256,Imenu% 256, |
000001c0  54 65 78 74 57 61 72 6e  25 20 31 30 30 2c 20 77  |TextWarn% 100, w|
000001d0  77 25 20 32 35 36 0d 00  6e 31 de 20 52 61 74 25  |w% 256..n1. Rat%|
000001e0  20 32 35 36 2c 20 43 4f  44 45 25 20 32 35 36 2c  | 256, CODE% 256,|
000001f0  20 54 72 65 61 64 25 28  37 29 2c 50 42 4b 25 20  | Tread%(7),PBK% |
00000200  38 2c 54 76 28 37 29 0d  00 78 3b de 20 53 37 25  |8,Tv(7)..x;. S7%|
00000210  28 39 29 2c 20 53 50 6f  69 6e 74 25 28 32 30 29  |(9), SPoint%(20)|
00000220  2c 49 58 25 28 32 30 29  2c 49 59 25 28 32 30 29  |,IX%(20),IY%(20)|
00000230  2c 49 58 31 25 28 32 30  29 2c 49 59 31 25 28 32  |,IX1%(20),IY1%(2|
00000240  30 29 0d 00 82 31 c8 99  20 22 57 69 6d 70 5f 4f  |0)...1.. "Wimp_O|
00000250  70 65 6e 54 65 6d 70 6c  61 74 65 22 2c 2c 22 3c  |penTemplate",,"<|
00000260  48 4f 54 24 44 69 72 3e  2e 54 65 6d 70 6c 61 74  |HOT$Dir>.Templat|
00000270  65 73 22 0d 00 8c 29 ee  20 85 20 c8 99 20 22 57  |es"...). . .. "W|
00000280  69 6d 70 5f 43 6c 6f 73  65 54 65 6d 70 6c 61 74  |imp_CloseTemplat|
00000290  65 22 3a f2 65 72 72 6f  72 62 6f 78 0d 00 96 3a  |e":.errorbox...:|
000002a0  c8 99 20 22 57 69 6d 70  5f 4c 6f 61 64 54 65 6d  |.. "Wimp_LoadTem|
000002b0  70 6c 61 74 65 22 2c 2c  71 25 2c 74 65 6d 70 25  |plate",,q%,temp%|
000002c0  2c 74 65 6d 70 25 2b 32  35 36 2c 2d 31 2c 22 49  |,temp%+256,-1,"I|
000002d0  6e 66 6f 22 2c 30 0d 00  a0 26 c8 99 20 22 57 69  |nfo",0...&.. "Wi|
000002e0  6d 70 5f 43 72 65 61 74  65 57 69 6e 64 6f 77 22  |mp_CreateWindow"|
000002f0  2c 2c 71 25 20 b8 20 69  6e 66 6f 25 0d 00 aa 47  |,,q% . info%...G|
00000300  c8 99 20 22 57 69 6d 70  5f 4c 6f 61 64 54 65 6d  |.. "Wimp_LoadTem|
00000310  70 6c 61 74 65 22 2c 2c  71 25 2c 49 73 4e 61 6d  |plate",,q%,IsNam|
00000320  65 25 2b 34 2c 49 73 4e  61 6d 65 25 2b 33 35 36  |e%+4,IsName%+356|
00000330  2c 2d 31 2c 22 73 61 76  65 5f 73 63 72 69 70 74  |,-1,"save_script|
00000340  22 2c 30 0d 00 b4 27 c8  99 20 22 57 69 6d 70 5f  |",0...'.. "Wimp_|
00000350  43 72 65 61 74 65 57 69  6e 64 6f 77 22 2c 2c 71  |CreateWindow",,q|
00000360  25 20 b8 20 73 61 76 65  57 25 0d 00 be 14 49 73  |% . saveW%....Is|
00000370  4e 61 6d 65 25 21 30 3d  73 61 76 65 57 25 0d 00  |Name%!0=saveW%..|
00000380  c8 3a c8 99 20 22 57 69  6d 70 5f 4c 6f 61 64 54  |.:.. "Wimp_LoadT|
00000390  65 6d 70 6c 61 74 65 22  2c 2c 71 25 2c 52 61 74  |emplate",,q%,Rat|
000003a0  25 2b 34 2c 52 61 74 25  2b 32 35 36 2c 2d 31 2c  |%+4,Rat%+256,-1,|
000003b0  22 52 61 74 65 22 2c 30  0d 00 d2 27 c8 99 20 22  |"Rate",0...'.. "|
000003c0  57 69 6d 70 5f 43 72 65  61 74 65 57 69 6e 64 6f  |Wimp_CreateWindo|
000003d0  77 22 2c 2c 71 25 20 b8  20 72 61 74 65 57 25 0d  |w",,q% . rateW%.|
000003e0  00 dc 11 52 61 74 25 21  30 3d 72 61 74 65 57 25  |...Rat%!0=rateW%|
000003f0  0d 00 e6 04 0d 00 f0 3d  c8 99 20 22 57 69 6d 70  |.......=.. "Wimp|
00000400  5f 4c 6f 61 64 54 65 6d  70 6c 61 74 65 22 2c 2c  |_LoadTemplate",,|
00000410  57 6e 25 2b 34 2c 53 57  25 2c 53 57 25 2b 35 31  |Wn%+4,SW%,SW%+51|
00000420  32 2c 2d 31 2c 22 50 61  6c 6c 65 74 74 65 22 2c  |2,-1,"Pallette",|
00000430  30 0d 00 fa 0d 57 6e 25  21 32 38 3d 2d 31 0d 01  |0....Wn%!28=-1..|
00000440  04 0f e3 20 41 25 3d 30  20 b8 20 32 30 0d 01 0e  |... A%=0 . 20...|
00000450  24 53 50 6f 69 6e 74 25  28 41 25 29 3d 21 28 57  |$SPoint%(A%)=!(W|
00000460  6e 25 2b 34 2b 38 38 2b  32 30 2b 33 32 2a 41 25  |n%+4+88+20+32*A%|
00000470  29 0d 01 18 39 49 58 25  28 41 25 29 3d 21 28 57  |)...9IX%(A%)=!(W|
00000480  6e 25 2b 34 2b 38 38 2b  33 32 2a 41 25 29 3a 49  |n%+4+88+32*A%):I|
00000490  59 25 28 41 25 29 3d 21  28 57 6e 25 2b 34 2b 38  |Y%(A%)=!(Wn%+4+8|
000004a0  38 2b 34 2b 33 32 2a 41  25 29 0d 01 22 3e 49 58  |8+4+32*A%)..">IX|
000004b0  31 25 28 41 25 29 3d 21  28 57 6e 25 2b 34 2b 38  |1%(A%)=!(Wn%+4+8|
000004c0  38 2b 38 2b 33 32 2a 41  25 29 3a 49 59 31 25 28  |8+8+32*A%):IY1%(|
000004d0  41 25 29 3d 21 28 57 6e  25 2b 34 2b 38 38 2b 31  |A%)=!(Wn%+4+88+1|
000004e0  32 2b 33 32 2a 41 25 29  0d 01 2c 05 ed 0d 01 36  |2+32*A%)..,....6|
000004f0  04 0d 01 40 29 c8 99 20  22 57 69 6d 70 5f 43 72  |...@).. "Wimp_Cr|
00000500  65 61 74 65 57 69 6e 64  6f 77 22 2c 2c 57 6e 25  |eateWindow",,Wn%|
00000510  2b 34 20 b8 20 6d 6f 6e  57 25 0d 01 4a 19 57 6e  |+4 . monW%..J.Wn|
00000520  25 21 30 3d 6d 6f 6e 57  25 3a 57 6e 25 21 32 38  |%!0=monW%:Wn%!28|
00000530  3d 2d 31 0d 01 54 04 0d  01 5e 39 c8 99 20 22 57  |=-1..T...^9.. "W|
00000540  69 6d 70 5f 4c 6f 61 64  54 65 6d 70 6c 61 74 65  |imp_LoadTemplate|
00000550  22 2c 2c 71 25 2c 77 77  25 2c 77 77 25 2b 32 35  |",,q%,ww%,ww%+25|
00000560  36 2c 2d 31 2c 22 57 61  72 6e 69 6e 67 22 2c 30  |6,-1,"Warning",0|
00000570  0d 01 68 29 71 25 21 31  30 38 3d 54 65 78 74 57  |..h)q%!108=TextW|
00000580  61 72 6e 25 3a 71 25 21  31 31 32 3d 2d 31 3a 71  |arn%:q%!112=-1:q|
00000590  25 21 31 31 36 3d 33 30  30 0d 01 72 20 58 51 25  |%!116=300..r XQ%|
000005a0  3d 71 25 21 38 2d 71 25  21 30 3a 59 51 25 3d 71  |=q%!8-q%!0:YQ%=q|
000005b0  25 21 31 32 2d 71 25 21  34 0d 01 7c 2a c8 99 20  |%!12-q%!4..|*.. |
000005c0  22 57 69 6d 70 5f 43 72  65 61 74 65 57 69 6e 64  |"Wimp_CreateWind|
000005d0  6f 77 22 2c 2c 71 25 20  b8 20 77 61 72 6e 69 6e  |ow",,q% . warnin|
000005e0  67 57 25 0d 01 86 1b c8  99 20 22 57 69 6d 70 5f  |gW%...... "Wimp_|
000005f0  43 6c 6f 73 65 54 65 6d  70 6c 61 74 65 22 0d 01  |CloseTemplate"..|
00000600  90 0a 72 65 66 25 3d 30  0d 01 9a 11 63 70 4c 25  |..ref%=0....cpL%|
00000610  3d 30 3a 63 70 52 25 3d  30 0d 01 a4 12 73 6d 70  |=0:cpR%=0....smp|
00000620  69 63 6f 6e 25 3d a4 69  63 6f 6e 0d 01 ae 16 77  |icon%=.icon....w|
00000630  6f 70 65 6e 25 3d a3 3a  77 61 72 6e 4f 6e 25 3d  |open%=.:warnOn%=|
00000640  a3 0d 01 b8 0c 49 6e 57  69 6e 25 3d a3 0d 01 c2  |.....InWin%=....|
00000650  11 4c 58 25 3d 2d 31 3a  4c 59 25 3d 2d 31 0d 01  |.LX%=-1:LY%=-1..|
00000660  cc 0f 63 72 25 3d 33 3a  63 62 25 3d 38 0d 01 d6  |..cr%=3:cb%=8...|
00000670  09 4c 45 44 3d a3 0d 01  e0 0d 52 65 63 6f 72 64  |.LED=.....Record|
00000680  25 3d a3 0d 01 ea 0c 50  61 75 73 65 25 3d a3 0d  |%=.....Pause%=..|
00000690  01 f4 0f 4e 65 78 74 54  69 6d 65 25 3d 91 0d 01  |...NextTime%=...|
000006a0  fe 0d 44 72 61 67 4f 6e  25 3d a3 0d 02 08 1e 54  |..DragOn%=.....T|
000006b0  65 6d 70 72 3d 2d 32 30  3a 54 65 6d 70 72 24 3d  |empr=-20:Tempr$=|
000006c0  22 2d 30 2e 30 30 30 30  22 0d 02 12 19 f2 5f 50  |"-0.0000"....._P|
000006d0  75 74 4e 61 6d 65 28 22  52 65 61 64 69 6e 67 73  |utName("Readings|
000006e0  22 29 0d 02 1c 0a 66 6e  24 3d 22 22 0d 02 26 0d  |")....fn$=""..&.|
000006f0  53 72 61 74 65 3d 30 2e  35 0d 02 30 0c 54 64 69  |Srate=0.5..0.Tdi|
00000700  73 25 3d 2d 31 0d 02 3a  0f 52 65 61 64 54 69 6d  |s%=-1..:.ReadTim|
00000710  65 25 3d 30 0d 02 44 11  ee 20 85 20 f2 65 72 72  |e%=0..D.. . .err|
00000720  6f 72 62 6f 78 0d 02 4e  04 0d 02 58 0e f2 73 65  |orbox..N...X..se|
00000730  74 75 70 6d 65 6e 75 0d  02 62 0d f2 5f 43 6f 6e  |tupmenu..b.._Con|
00000740  76 65 72 74 0d 02 6c 0d  f2 5f 43 6b 74 68 65 72  |vert..l.._Ckther|
00000750  6d 0d 02 76 04 0d 02 80  05 f5 0d 02 8a 1d 20 c8  |m..v.......... .|
00000760  99 20 22 57 69 6d 70 5f  50 6f 6c 6c 22 2c 30 2c  |. "Wimp_Poll",0,|
00000770  71 25 20 b8 20 41 25 0d  02 94 0d 20 20 c8 8e 20  |q% . A%....  .. |
00000780  41 25 20 ca 0d 02 9e 11  20 20 20 c9 20 30 3a f2  |A% .....   . 0:.|
00000790  5f 4e 75 6c 6c 0d 02 a8  15 20 20 20 c9 20 31 3a  |_Null....   . 1:|
000007a0  f2 5f 64 6f 57 69 6e 64  6f 77 0d 02 b2 4f 20 20  |._doWindow...O  |
000007b0  20 c9 20 32 3a c8 99 22  4f 53 5f 52 65 61 64 4d  | . 2:.."OS_ReadM|
000007c0  6f 64 65 56 61 72 69 61  62 6c 65 22 2c 2d 31 2c  |odeVariable",-1,|
000007d0  33 20 b8 20 2c 2c 4e 63  6f 6c 6f 75 72 73 25 3a  |3 . ,,Ncolours%:|
000007e0  20 c8 99 20 22 57 69 6d  70 5f 4f 70 65 6e 57 69  | .. "Wimp_OpenWi|
000007f0  6e 64 6f 77 22 2c 2c 71  25 0d 02 bc 12 20 20 20  |ndow",,q%....   |
00000800  c9 20 33 3a f2 5f 63 6c  6f 73 65 0d 02 c6 21 20  |. 3:._close...! |
00000810  20 20 c9 20 34 3a 49 6e  57 69 6e 25 3d a3 3a 4c  |  . 4:InWin%=.:L|
00000820  58 25 3d 2d 31 3a 4c 59  25 3d 2d 31 0d 02 d0 13  |X%=-1:LY%=-1....|
00000830  20 20 20 c9 20 35 3a 49  6e 57 69 6e 25 3d b9 0d  |   . 5:InWin%=..|
00000840  02 da 19 20 20 20 c9 20  36 3a f2 5f 64 6f 5f 63  |...   . 6:._do_c|
00000850  6c 69 63 6b 28 71 25 29  0d 02 e4 18 20 20 20 c9  |lick(q%)....   .|
00000860  20 37 3a f2 5f 50 75 74  44 6f 77 6e 28 71 25 29  | 7:._PutDown(q%)|
00000870  0d 02 ee 15 20 20 20 c9  20 38 3a f2 5f 4b 65 79  |....   . 8:._Key|
00000880  50 72 65 73 73 0d 02 f8  16 20 20 20 c9 20 39 3a  |Press....   . 9:|
00000890  f2 5f 53 4f 52 54 5f 4d  65 6e 75 0d 03 02 1b 20  |._SORT_Menu.... |
000008a0  20 20 c9 20 31 37 2c 31  38 3a f2 72 65 63 65 69  |  . 17,18:.recei|
000008b0  76 65 28 71 25 29 0d 03  0c 08 20 20 20 cb 0d 03  |ve(q%)....   ...|
000008c0  16 08 20 fd 20 a3 0d 03  20 04 0d 03 2a 05 e0 0d  |.. . ... ...*...|
000008d0  03 34 04 0d 03 3e 0c dd  20 f2 5f 4e 75 6c 6c 0d  |.4...>.. ._Null.|
000008e0  03 48 0e ea 20 41 25 2c  42 25 2c 43 25 0d 03 52  |.H.. A%,B%,C%..R|
000008f0  0e e7 20 77 6f 70 65 6e  25 20 8c 0d 03 5c 15 20  |.. wopen% ...\. |
00000900  20 e7 20 4e 65 78 74 54  69 6d 65 25 3c 91 20 8c  | . NextTime%<. .|
00000910  0d 03 66 1d 20 20 20 e7  20 54 64 69 73 25 3c 3e  |..f.   . Tdis%<>|
00000920  2d 31 20 8c 20 f2 5f 53  61 6d 70 6c 65 0d 03 70  |-1 . ._Sample..p|
00000930  26 20 20 20 e7 20 52 65  63 6f 72 64 25 20 80 20  |&   . Record% . |
00000940  ac 28 50 61 75 73 65 25  29 20 8c 20 f2 72 65 63  |.(Pause%) . .rec|
00000950  6f 72 64 0d 03 7a 1d 20  20 20 4e 65 78 74 54 69  |ord..z.   NextTi|
00000960  6d 65 25 3d 91 20 2b 53  72 61 74 65 2a 31 30 30  |me%=. +Srate*100|
00000970  0d 03 84 1b 20 20 20 52  65 61 64 54 69 6d 65 25  |....   ReadTime%|
00000980  2b 3d 53 72 61 74 65 2a  31 30 30 0d 03 8e 07 20  |+=Srate*100.... |
00000990  20 cd 0d 03 98 05 cd 0d  03 a2 05 e1 0d 03 ac 04  | ...............|
000009a0  0d 03 b6 0e dd 20 f2 5f  53 61 6d 70 6c 65 0d 03  |..... ._Sample..|
000009b0  c0 0e ea 20 41 25 2c 42  25 2c 43 25 0d 03 ca 0a  |... A%,B%,C%....|
000009c0  f2 54 73 63 61 6e 0d 03  d4 11 e7 20 54 64 69 73  |.Tscan..... Tdis|
000009d0  25 3c 3e 2d 31 20 8c 0d  03 de 13 54 65 6d 70 72  |%<>-1 .....Tempr|
000009e0  3d 54 76 28 54 64 69 73  25 29 0d 03 e8 13 54 65  |=Tv(Tdis%)....Te|
000009f0  6d 70 72 24 3d c3 28 54  65 6d 70 72 29 0d 03 f2  |mpr$=.(Tempr)...|
00000a00  2b e7 20 54 65 6d 70 72  3c 30 20 8c 20 54 65 6d  |+. Tempr<0 . Tem|
00000a10  70 72 24 3d c2 54 65 6d  70 72 24 2c a9 28 54 65  |pr$=.Tempr$,.(Te|
00000a20  6d 70 72 24 29 2d 31 29  0d 03 fc 26 e7 20 94 28  |mpr$)-1)...&. .(|
00000a30  54 65 6d 70 72 29 3c 31  30 30 20 8c 20 54 65 6d  |Tempr)<100 . Tem|
00000a40  70 72 24 3d 22 30 22 2b  54 65 6d 70 72 24 0d 04  |pr$="0"+Tempr$..|
00000a50  06 25 e7 20 94 28 54 65  6d 70 72 29 3c 31 30 20  |.%. .(Tempr)<10 |
00000a60  8c 20 54 65 6d 70 72 24  3d 22 30 22 2b 54 65 6d  |. Tempr$="0"+Tem|
00000a70  70 72 24 0d 04 10 35 e7  20 54 65 6d 70 72 3c 30  |pr$...5. Tempr<0|
00000a80  20 8c 20 54 65 6d 70 72  24 3d 22 2d 22 2b 54 65  | . Tempr$="-"+Te|
00000a90  6d 70 72 24 20 8b 20 54  65 6d 70 72 24 3d 22 2b  |mpr$ . Tempr$="+|
00000aa0  22 2b 54 65 6d 70 72 24  0d 04 1a 2b c8 99 22 57  |"+Tempr$...+.."W|
00000ab0  69 6d 70 5f 46 6f 72 63  65 52 65 64 72 61 77 22  |imp_ForceRedraw"|
00000ac0  2c 6d 6f 6e 57 25 2c 30  2c 2d 31 31 38 2c 33 34  |,monW%,0,-118,34|
00000ad0  30 2c 30 0d 04 24 05 cd  0d 04 2e 05 e1 0d 04 38  |0,0..$.........8|
00000ae0  04 0d 04 42 11 dd 20 a4  5f 73 70 61 74 68 28 6e  |...B.. ._spath(n|
00000af0  24 29 0d 04 4c 0f c8 95  20 a7 6e 24 2c 22 2e 22  |$)..L... .n$,"."|
00000b00  29 0d 04 56 13 6e 24 3d  c2 6e 24 2c a9 28 6e 24  |)..V.n$=.n$,.(n$|
00000b10  29 2d 31 29 0d 04 60 05  ce 0d 04 6a 1b e7 20 a9  |)-1)..`....j.. .|
00000b20  28 6e 24 29 3e 31 30 20  8c 20 6e 24 3d c2 6e 24  |(n$)>10 . n$=.n$|
00000b30  2c 31 30 29 0d 04 74 07  3d 6e 24 0d 04 7e 04 0d  |,10)..t.=n$..~..|
00000b40  04 88 0f dd 20 f2 5f 47  65 74 4e 61 6d 65 0d 04  |.... ._GetName..|
00000b50  92 0e ea 20 54 25 2c 41  25 2c 46 24 0d 04 9c 10  |... T%,A%,F$....|
00000b60  46 24 3d 22 22 3a 66 6e  24 3d 22 22 0d 04 a6 16  |F$="":fn$=""....|
00000b70  71 25 21 30 3d 73 61 76  65 57 25 3a 71 25 21 34  |q%!0=saveW%:q%!4|
00000b80  3d 31 0d 04 b0 1e c8 99  20 22 57 69 6d 70 5f 47  |=1...... "Wimp_G|
00000b90  65 74 49 63 6f 6e 53 74  61 74 65 22 2c 2c 71 25  |etIconState",,q%|
00000ba0  0d 04 ba 0c 54 25 3d 71  25 21 32 38 0d 04 c4 09  |....T%=q%!28....|
00000bb0  54 25 2d 3d 31 0d 04 ce  05 f5 0d 04 d8 09 54 25  |T%-=1.........T%|
00000bc0  2b 3d 31 0d 04 e2 10 46  24 3d 46 24 2b bd 28 3f  |+=1....F$=F$+.(?|
00000bd0  54 25 29 0d 04 ec 0b fd  20 3f 54 25 3d 30 0d 04  |T%)..... ?T%=0..|
00000be0  f6 16 66 6e 24 3d c1 46  24 2c 31 2c a9 28 46 24  |..fn$=.F$,1,.(F$|
00000bf0  29 2d 31 29 0d 05 00 05  e1 0d 05 0a 04 0d 05 14  |)-1)............|
00000c00  0f dd 20 f2 5f 47 65 74  52 61 74 65 0d 05 1e 0e  |.. ._GetRate....|
00000c10  ea 20 54 25 2c 41 25 2c  52 24 0d 05 28 16 71 25  |. T%,A%,R$..(.q%|
00000c20  21 30 3d 72 61 74 65 57  25 3a 71 25 21 34 3d 31  |!0=rateW%:q%!4=1|
00000c30  0d 05 32 1e c8 99 20 22  57 69 6d 70 5f 47 65 74  |..2... "Wimp_Get|
00000c40  49 63 6f 6e 53 74 61 74  65 22 2c 2c 71 25 0d 05  |IconState",,q%..|
00000c50  3c 0c 54 25 3d 71 25 21  32 38 0d 05 46 09 54 25  |<.T%=q%!28..F.T%|
00000c60  2d 3d 31 0d 05 50 05 f5  0d 05 5a 09 54 25 2b 3d  |-=1..P....Z.T%+=|
00000c70  31 0d 05 64 10 52 24 3d  52 24 2b bd 28 3f 54 25  |1..d.R$=R$+.(?T%|
00000c80  29 0d 05 6e 0b fd 20 3f  54 25 3d 30 0d 05 78 0f  |)..n.. ?T%=0..x.|
00000c90  53 72 61 74 65 3d bb 28  52 24 29 0d 05 82 05 e1  |Srate=.(R$).....|
00000ca0  0d 05 8c 04 0d 05 96 11  dd 20 f2 5f 53 4f 52 54  |......... ._SORT|
00000cb0  5f 4d 65 6e 75 0d 05 a0  11 e7 20 49 63 6f 6e 4d  |_Menu..... IconM|
00000cc0  65 6e 75 25 20 8c 0d 05  aa 13 20 e7 20 21 71 25  |enu% ..... . !q%|
00000cd0  3d 31 20 8c 20 f2 64 69  65 0d 05 b4 06 20 cc 0d  |=1 . .die.... ..|
00000ce0  05 be 13 20 e7 20 21 71  25 3d 33 20 8c 20 f2 64  |... . !q%=3 . .d|
00000cf0  69 65 0d 05 c8 05 cd 0d  05 d2 04 0d 05 dc 05 e1  |ie..............|
00000d00  0d 05 e6 04 0d 05 f0 0d  dd 20 f2 5f 63 6c 6f 73  |......... ._clos|
00000d10  65 0d 05 fa 37 e7 20 71  25 21 30 3d 6d 6f 6e 57  |e...7. q%!0=monW|
00000d20  25 20 8c 20 c8 99 22 57  69 6d 70 5f 47 65 74 57  |% . .."Wimp_GetW|
00000d30  69 6e 64 6f 77 49 6e 66  6f 22 2c 2c 57 6e 25 3a  |indowInfo",,Wn%:|
00000d40  77 6f 70 65 6e 25 3d a3  0d 06 04 20 e7 20 71 25  |wopen%=.... . q%|
00000d50  21 30 3d 77 61 72 6e 69  6e 67 57 25 20 8c 20 77  |!0=warningW% . w|
00000d60  61 72 6e 4f 6e 25 3d a3  0d 06 0e 1d c8 99 20 22  |arnOn%=....... "|
00000d70  57 69 6d 70 5f 43 6c 6f  73 65 57 69 6e 64 6f 77  |Wimp_CloseWindow|
00000d80  22 2c 2c 71 25 0d 06 18  05 e1 0d 06 22 04 0d 06  |",,q%......."...|
00000d90  2c 14 dd 20 f2 5f 64 6f  5f 63 6c 69 63 6b 28 71  |,.. ._do_click(q|
00000da0  25 29 0d 06 36 0c 69 25  3d 71 25 21 31 36 0d 06  |%)..6.i%=q%!16..|
00000db0  40 0e c8 8e 20 71 25 21  31 32 20 ca 0d 06 4a 28  |@... q%!12 ...J(|
00000dc0  c9 20 77 61 72 6e 69 6e  67 57 25 3a 20 71 25 21  |. warningW%: q%!|
00000dd0  30 3d 77 61 72 6e 69 6e  67 57 25 20 3a f2 5f 63  |0=warningW% :._c|
00000de0  6c 6f 73 65 0d 06 54 24  c9 20 20 20 20 73 61 76  |lose..T$.    sav|
00000df0  65 57 25 3a 20 44 72 61  67 4f 6e 25 3d b9 3a 20  |eW%: DragOn%=.: |
00000e00  f2 5f 44 6f 53 61 76 65  0d 06 5e 28 c9 20 2d 32  |._DoSave..^(. -2|
00000e10  3a 20 f4 20 4c 6f 6f 6b  20 66 69 72 73 74 20 61  |: . Look first a|
00000e20  74 20 49 63 6f 6e 20 42  61 72 20 43 6c 69 63 6b  |t Icon Bar Click|
00000e30  0d 06 68 1e 20 20 20 20  20 20 20 20 e7 20 71 25  |..h.        . q%|
00000e40  21 31 36 3d 73 6d 70 69  63 6f 6e 25 20 8c 0d 06  |!16=smpicon% ...|
00000e50  72 49 20 20 20 20 20 20  20 20 e7 20 71 25 21 38  |rI        . q%!8|
00000e60  3d 32 20 8c 20 c8 99 22  57 69 6d 70 5f 43 72 65  |=2 . .."Wimp_Cre|
00000e70  61 74 65 4d 65 6e 75 22  2c 2c 6d 65 6e 75 25 2c  |ateMenu",,menu%,|
00000e80  71 25 21 30 2d 37 34 2c  31 38 30 3a 49 63 6f 6e  |q%!0-74,180:Icon|
00000e90  4d 65 6e 75 25 3d b9 0d  06 7c 1d 20 20 20 20 20  |Menu%=...|.     |
00000ea0  20 20 20 e7 20 71 25 21  38 3d 34 20 8c 20 f2 5f  |   . q%!8=4 . ._|
00000eb0  4f 70 65 6e 0d 06 86 0d  20 20 20 20 20 20 20 20  |Open....        |
00000ec0  cd 0d 06 90 04 0d 06 9a  0e c9 20 6d 6f 6e 57 25  |.......... monW%|
00000ed0  3a 20 20 0d 06 a4 27 20  20 20 20 20 20 20 20 20  |:  ...'         |
00000ee0  20 20 20 20 20 e7 20 71  25 21 38 3d 34 20 8c 20  |     . q%!8=4 . |
00000ef0  f2 5f 4d 6f 6e 43 6c 69  63 6b 0d 06 ae 51 20 20  |._MonClick...Q  |
00000f00  20 20 20 20 20 20 20 20  20 20 20 20 e7 20 71 25  |            . q%|
00000f10  21 38 3d 32 20 8c 20 c8  99 22 57 69 6d 70 5f 43  |!8=2 . .."Wimp_C|
00000f20  72 65 61 74 65 4d 65 6e  75 22 2c 2c 4d 6d 65 6e  |reateMenu",,Mmen|
00000f30  75 25 2c 71 25 21 30 2d  39 36 2c 71 25 21 34 3a  |u%,q%!0-96,q%!4:|
00000f40  49 63 6f 6e 4d 65 6e 75  25 3d a3 0d 06 b8 05 cb  |IconMenu%=......|
00000f50  0d 06 c2 05 e1 0d 06 cc  04 0d 06 d6 04 0d 06 e0  |................|
00000f60  10 dd 20 f2 5f 4d 6f 6e  43 6c 69 63 6b 0d 06 ea  |.. ._MonClick...|
00000f70  0e ea 20 44 25 2c 56 25  2c 42 25 0d 06 f4 26 f4  |.. D%,V%,B%...&.|
00000f80  20 44 6f 20 74 68 65 20  61 63 74 69 6f 6e 20 66  | Do the action f|
00000f90  6f 72 20 61 20 77 69 6e  64 6f 77 20 63 6c 69 63  |or a window clic|
00000fa0  6b 0d 06 fe 0b c8 8e 20  69 25 20 ca 0d 07 08 16  |k...... i% .....|
00000fb0  20 20 20 c9 20 31 3a 20  e7 20 66 6e 24 3d 22 22  |   . 1: . fn$=""|
00000fc0  20 8c 0d 07 12 36 20 20  20 20 20 20 20 20 20 20  | ....6          |
00000fd0  20 f2 5f 73 65 74 75 70  57 28 22 4e 65 65 64 20  | ._setupW("Need |
00000fe0  74 6f 20 73 70 65 63 69  66 79 20 61 20 66 69 6c  |to specify a fil|
00000ff0  65 20 70 61 74 68 22 29  0d 07 1c 10 20 20 20 20  |e path")....    |
00001000  20 20 20 20 20 20 20 cc  0d 07 26 1c 20 20 20 20  |       ...&.    |
00001010  20 20 20 20 20 20 20 e7  20 ac 28 50 61 75 73 65  |       . .(Pause|
00001020  25 29 20 8c 0d 07 30 76  20 20 20 20 20 20 20 20  |%) ...0v        |
00001030  20 20 20 20 20 20 e7 20  52 65 63 6f 72 64 25 20  |      . Record% |
00001040  8c 20 24 53 50 6f 69 6e  74 25 28 31 29 3d 22 72  |. $SPoint%(1)="r|
00001050  61 64 69 6f 6f 66 66 22  20 3a 20 24 53 50 6f 69  |adiooff" : $SPoi|
00001060  6e 74 25 28 30 29 3d 22  52 65 63 6f 72 64 22 20  |nt%(0)="Record" |
00001070  8b 20 24 53 50 6f 69 6e  74 25 28 31 29 3d 22 72  |. $SPoint%(1)="r|
00001080  61 64 69 6f 6f 6e 22 3a  24 53 50 6f 69 6e 74 25  |adioon":$SPoint%|
00001090  28 30 29 3d 22 48 61 6c  74 22 0d 07 3a 3a 20 20  |(0)="Halt"..::  |
000010a0  20 20 20 20 20 20 20 20  20 20 20 20 e7 20 52 65  |            . Re|
000010b0  63 6f 72 64 25 20 8c 20  d9 23 46 69 6c 65 25 3a  |cord% . .#File%:|
000010c0  66 6e 24 3d 22 22 20 8b  46 69 6c 65 25 3d ae 28  |fn$="" .File%=.(|
000010d0  66 6e 24 29 0d 07 44 25  20 20 20 20 20 20 20 20  |fn$)..D%        |
000010e0  20 20 20 20 20 20 52 65  63 6f 72 64 25 3d 20 ac  |      Record%= .|
000010f0  28 52 65 63 6f 72 64 25  29 0d 07 4e 1d 20 20 20  |(Record%)..N.   |
00001100  20 20 20 20 20 20 20 20  20 20 20 52 65 61 64 54  |           ReadT|
00001110  69 6d 65 25 3d 30 0d 07  58 4a 20 20 20 20 20 20  |ime%=0..XJ      |
00001120  20 20 20 20 20 20 20 20  c8 99 22 57 69 6d 70 5f  |        .."Wimp_|
00001130  46 6f 72 63 65 52 65 64  72 61 77 22 2c 6d 6f 6e  |ForceRedraw",mon|
00001140  57 25 2c 49 58 25 28 30  29 2c 49 59 25 28 30 29  |W%,IX%(0),IY%(0)|
00001150  2c 49 58 31 25 28 30 29  2c 49 59 31 25 28 30 29  |,IX1%(0),IY1%(0)|
00001160  0d 07 62 4a 20 20 20 20  20 20 20 20 20 20 20 20  |..bJ            |
00001170  20 20 c8 99 22 57 69 6d  70 5f 46 6f 72 63 65 52  |  .."Wimp_ForceR|
00001180  65 64 72 61 77 22 2c 6d  6f 6e 57 25 2c 49 58 25  |edraw",monW%,IX%|
00001190  28 31 29 2c 49 59 25 28  31 29 2c 49 58 31 25 28  |(1),IY%(1),IX1%(|
000011a0  31 29 2c 49 59 31 25 28  31 29 0d 07 6c 10 20 20  |1),IY1%(1)..l.  |
000011b0  20 20 20 20 20 20 20 20  20 cd 0d 07 76 10 20 20  |         ...v.  |
000011c0  20 20 20 20 20 20 20 20  20 cd 0d 07 80 17 20 20  |         .....  |
000011d0  20 c9 20 32 3a 20 e7 20  52 65 63 6f 72 64 25 20  | . 2: . Record% |
000011e0  8c 0d 07 8a 71 20 20 20  20 20 20 20 20 20 20 20  |....q           |
000011f0  e7 20 50 61 75 73 65 25  20 8c 20 24 53 50 6f 69  |. Pause% . $SPoi|
00001200  6e 74 25 28 32 29 3d 22  72 61 64 69 6f 6f 66 66  |nt%(2)="radiooff|
00001210  22 3a 24 53 50 6f 69 6e  74 25 28 33 29 3d 22 50  |":$SPoint%(3)="P|
00001220  61 75 73 65 22 20 8b 20  24 53 50 6f 69 6e 74 25  |ause" . $SPoint%|
00001230  28 32 29 3d 22 72 61 64  69 6f 6f 6e 22 3a 24 53  |(2)="radioon":$S|
00001240  50 6f 69 6e 74 25 28 33  29 3d 22 52 65 73 75 6d  |Point%(3)="Resum|
00001250  65 22 0d 07 94 1f 20 20  20 20 20 20 20 20 20 20  |e"....          |
00001260  20 50 61 75 73 65 25 3d  ac 28 50 61 75 73 65 25  | Pause%=.(Pause%|
00001270  29 0d 07 9e 47 20 20 20  20 20 20 20 20 20 20 20  |)...G           |
00001280  c8 99 22 57 69 6d 70 5f  46 6f 72 63 65 52 65 64  |.."Wimp_ForceRed|
00001290  72 61 77 22 2c 6d 6f 6e  57 25 2c 49 58 25 28 32  |raw",monW%,IX%(2|
000012a0  29 2c 49 59 25 28 32 29  2c 49 58 31 25 28 32 29  |),IY%(2),IX1%(2)|
000012b0  2c 49 59 31 25 28 32 29  0d 07 a8 47 20 20 20 20  |,IY1%(2)...G    |
000012c0  20 20 20 20 20 20 20 c8  99 22 57 69 6d 70 5f 46  |       .."Wimp_F|
000012d0  6f 72 63 65 52 65 64 72  61 77 22 2c 6d 6f 6e 57  |orceRedraw",monW|
000012e0  25 2c 49 58 25 28 33 29  2c 49 59 25 28 33 29 2c  |%,IX%(3),IY%(3),|
000012f0  49 58 31 25 28 33 29 2c  49 59 31 25 28 33 29 0d  |IX1%(3),IY1%(3).|
00001300  07 b2 10 20 20 20 20 20  20 20 20 20 20 20 cd 0d  |...           ..|
00001310  07 bc 06 20 cb 0d 07 c6  21 20 e7 20 69 25 3e 33  |... ....! . i%>3|
00001320  20 80 20 69 25 3c 31 32  20 80 20 54 64 69 73 25  | . i%<12 . Tdis%|
00001330  3c 3e 2d 31 20 8c 0d 07  d0 17 20 e7 20 54 72 65  |<>-1 ..... . Tre|
00001340  61 64 25 28 69 25 2d 34  29 3d b9 20 8c 0d 07 da  |ad%(i%-4)=. ....|
00001350  21 20 24 53 50 6f 69 6e  74 25 28 54 64 69 73 25  |! $SPoint%(Tdis%|
00001360  2b 34 29 3d 22 72 61 64  69 6f 6f 66 66 22 0d 07  |+4)="radiooff"..|
00001370  e4 55 20 c8 99 22 57 69  6d 70 5f 46 6f 72 63 65  |.U .."Wimp_Force|
00001380  52 65 64 72 61 77 22 2c  6d 6f 6e 57 25 2c 49 58  |Redraw",monW%,IX|
00001390  25 28 54 64 69 73 25 2b  34 29 2c 49 59 25 28 54  |%(Tdis%+4),IY%(T|
000013a0  64 69 73 25 2b 34 29 2c  49 58 31 25 28 54 64 69  |dis%+4),IX1%(Tdi|
000013b0  73 25 2b 34 29 2c 49 59  31 25 28 54 64 69 73 25  |s%+4),IY1%(Tdis%|
000013c0  2b 34 29 0d 07 ee 0f 20  54 64 69 73 25 3d 69 25  |+4).... Tdis%=i%|
000013d0  2d 34 0d 07 f8 20 20 24  53 50 6f 69 6e 74 25 28  |-4...  $SPoint%(|
000013e0  54 64 69 73 25 2b 34 29  3d 22 72 61 64 69 6f 6f  |Tdis%+4)="radioo|
000013f0  6e 22 0d 08 02 55 20 c8  99 22 57 69 6d 70 5f 46  |n"...U .."Wimp_F|
00001400  6f 72 63 65 52 65 64 72  61 77 22 2c 6d 6f 6e 57  |orceRedraw",monW|
00001410  25 2c 49 58 25 28 54 64  69 73 25 2b 34 29 2c 49  |%,IX%(Tdis%+4),I|
00001420  59 25 28 54 64 69 73 25  2b 34 29 2c 49 58 31 25  |Y%(Tdis%+4),IX1%|
00001430  28 54 64 69 73 25 2b 34  29 2c 49 59 31 25 28 54  |(Tdis%+4),IY1%(T|
00001440  64 69 73 25 2b 34 29 0d  08 0c 06 20 cd 0d 08 16  |dis%+4).... ....|
00001450  06 20 cd 0d 08 20 05 20  0d 08 2a 16 20 e7 20 69  |. ... . ..*. . i|
00001460  25 3e 31 32 20 80 20 69  25 3c 32 31 20 8c 0d 08  |%>12 . i%<21 ...|
00001470  34 28 20 20 e7 20 54 72  65 61 64 25 28 69 25 2d  |4(  . Tread%(i%-|
00001480  31 33 29 3d a3 20 8c 20  42 25 3d a4 76 65 72 28  |13)=. . B%=.ver(|
00001490  69 25 2d 31 33 29 0d 08  3e 46 20 20 e7 20 42 25  |i%-13)..>F  . B%|
000014a0  3d a3 20 80 20 54 72 65  61 64 25 28 69 25 2d 31  |=. . Tread%(i%-1|
000014b0  33 29 3d a3 20 8c 20 f2  5f 73 65 74 75 70 57 28  |3)=. . ._setupW(|
000014c0  22 4e 6f 20 74 68 65 72  6d 6f 6d 65 74 65 72 20  |"No thermometer |
000014d0  72 65 73 70 6f 6e 64 69  6e 67 22 29 0d 08 48 1f  |responding")..H.|
000014e0  20 e7 20 54 72 65 61 64  25 28 69 25 2d 31 33 29  | . Tread%(i%-13)|
000014f0  3d b9 20 84 20 42 25 3d  b9 20 8c 0d 08 52 24 20  |=. . B%=. ...R$ |
00001500  20 54 72 65 61 64 25 28  69 25 2d 31 33 29 3d ac  | Tread%(i%-13)=.|
00001510  28 54 72 65 61 64 25 28  69 25 2d 31 33 29 29 0d  |(Tread%(i%-13)).|
00001520  08 5c 40 20 20 e7 20 54  72 65 61 64 25 28 69 25  |.\@  . Tread%(i%|
00001530  2d 31 33 29 3d b9 20 8c  20 24 53 50 6f 69 6e 74  |-13)=. . $SPoint|
00001540  25 28 69 25 29 3d 22 79  65 73 22 20 8b 20 24 53  |%(i%)="yes" . $S|
00001550  50 6f 69 6e 74 25 28 69  25 29 3d 22 6e 6f 22 0d  |Point%(i%)="no".|
00001560  08 66 42 20 20 c8 99 22  57 69 6d 70 5f 46 6f 72  |.fB  .."Wimp_For|
00001570  63 65 52 65 64 72 61 77  22 2c 6d 6f 6e 57 25 2c  |ceRedraw",monW%,|
00001580  49 58 25 28 69 25 29 2c  49 59 25 28 69 25 29 2c  |IX%(i%),IY%(i%),|
00001590  49 58 31 25 28 69 25 29  2c 49 59 31 25 28 69 25  |IX1%(i%),IY1%(i%|
000015a0  29 0d 08 70 27 20 20 20  20 20 e7 20 54 72 65 61  |)..p'     . Trea|
000015b0  64 25 28 69 25 2d 31 33  29 3d b9 20 80 20 54 64  |d%(i%-13)=. . Td|
000015c0  69 73 25 3d 2d 31 20 8c  0d 08 7a 14 20 20 20 20  |is%=-1 ...z.    |
000015d0  20 54 64 69 73 25 3d 69  25 2d 31 33 0d 08 84 25  | Tdis%=i%-13...%|
000015e0  20 20 20 20 20 20 24 53  50 6f 69 6e 74 25 28 54  |      $SPoint%(T|
000015f0  64 69 73 25 2b 34 29 3d  22 72 61 64 69 6f 6f 6e  |dis%+4)="radioon|
00001600  22 0d 08 8e 5b 20 20 20  20 20 20 20 c8 99 22 57  |"...[       .."W|
00001610  69 6d 70 5f 46 6f 72 63  65 52 65 64 72 61 77 22  |imp_ForceRedraw"|
00001620  2c 6d 6f 6e 57 25 2c 49  58 25 28 54 64 69 73 25  |,monW%,IX%(Tdis%|
00001630  2b 34 29 2c 49 59 25 28  54 64 69 73 25 2b 34 29  |+4),IY%(Tdis%+4)|
00001640  2c 49 58 31 25 28 54 64  69 73 25 2b 34 29 2c 49  |,IX1%(Tdis%+4),I|
00001650  59 31 25 28 54 64 69 73  25 2b 34 29 0d 08 98 0a  |Y1%(Tdis%+4)....|
00001660  20 20 20 20 20 cd 0d 08  a2 09 20 20 20 20 20 0d  |     .....     .|
00001670  08 ac a3 20 20 20 20 20  e7 20 54 72 65 61 64 25  |...     . Tread%|
00001680  28 69 25 2d 31 33 29 3d  a3 20 80 20 54 64 69 73  |(i%-13)=. . Tdis|
00001690  25 3d 28 69 25 2d 31 33  29 20 8c 20 24 53 50 6f  |%=(i%-13) . $SPo|
000016a0  69 6e 74 25 28 54 64 69  73 25 2b 34 29 3d 22 72  |int%(Tdis%+4)="r|
000016b0  61 64 69 6f 6f 66 66 22  3a c8 99 22 57 69 6d 70  |adiooff":.."Wimp|
000016c0  5f 46 6f 72 63 65 52 65  64 72 61 77 22 2c 6d 6f  |_ForceRedraw",mo|
000016d0  6e 57 25 2c 49 58 25 28  54 64 69 73 25 2b 34 29  |nW%,IX%(Tdis%+4)|
000016e0  2c 49 59 25 28 54 64 69  73 25 2b 34 29 2c 49 58  |,IY%(Tdis%+4),IX|
000016f0  31 25 28 54 64 69 73 25  2b 34 29 2c 49 59 31 25  |1%(Tdis%+4),IY1%|
00001700  28 54 64 69 73 25 2b 34  29 3a 54 64 69 73 25 3d  |(Tdis%+4):Tdis%=|
00001710  2d 31 0d 08 b6 07 20 20  cd 0d 08 c0 06 20 cd 0d  |-1....  ..... ..|
00001720  08 ca 05 e1 0d 08 d4 04  0d 08 de 0c dd 20 f2 5f  |............. ._|
00001730  4f 70 65 6e 0d 08 e8 2e  c8 99 22 4f 53 5f 52 65  |Open......"OS_Re|
00001740  61 64 4d 6f 64 65 56 61  72 69 61 62 6c 65 22 2c  |adModeVariable",|
00001750  2d 31 2c 33 20 b8 20 2c  2c 4e 63 6f 6c 6f 75 72  |-1,3 . ,,Ncolour|
00001760  73 25 0d 08 f2 19 f4 20  4f 50 45 4e 20 55 50 20  |s%..... OPEN UP |
00001770  57 49 4e 44 4f 57 20 48  45 52 45 0d 08 fc 0e e7  |WINDOW HERE.....|
00001780  20 77 6f 70 65 6e 25 20  8c 0d 09 06 0e 71 25 21  | wopen% .....q%!|
00001790  30 3d 6d 6f 6e 57 25 0d  09 10 1f c8 99 22 57 69  |0=monW%......"Wi|
000017a0  6d 70 5f 47 65 74 57 69  6e 64 6f 77 53 74 61 74  |mp_GetWindowStat|
000017b0  65 22 2c 2c 71 25 0d 09  1a 36 20 20 e7 20 71 25  |e",,q%...6  . q%|
000017c0  21 32 38 3c 3e 2d 31 20  8c 20 71 25 21 32 38 3d  |!28<>-1 . q%!28=|
000017d0  2d 31 3a 20 c8 99 20 22  57 69 6d 70 5f 4f 70 65  |-1: .. "Wimp_Ope|
000017e0  6e 57 69 6e 64 6f 77 22  2c 2c 71 25 0d 09 24 05  |nWindow",,q%..$.|
000017f0  cc 0d 09 2e 1d c8 99 20  22 57 69 6d 70 5f 4f 70  |....... "Wimp_Op|
00001800  65 6e 57 69 6e 64 6f 77  22 2c 2c 57 6e 25 0d 09  |enWindow",,Wn%..|
00001810  38 0c 77 6f 70 65 6e 25  3d b9 0d 09 42 05 cd 0d  |8.wopen%=...B...|
00001820  09 4c 05 e1 0d 09 56 04  0d 09 60 10 dd 20 f2 5f  |.L....V...`.. ._|
00001830  64 6f 57 69 6e 64 6f 77  0d 09 6a 10 20 20 ea 20  |doWindow..j.  . |
00001840  41 25 2c 49 25 2c 4c 25  0d 09 74 04 0d 09 7e 15  |A%,I%,L%..t...~.|
00001850  20 20 20 f2 5f 54 72 61  6e 73 28 6d 6f 6e 57 25  |   ._Trans(monW%|
00001860  29 0d 09 88 29 20 20 20  c8 99 20 22 57 69 6d 70  |)...)   .. "Wimp|
00001870  5f 52 65 64 72 61 77 57  69 6e 64 6f 77 22 2c 2c  |_RedrawWindow",,|
00001880  71 25 20 b8 20 66 6c 61  67 25 0d 09 92 11 20 20  |q% . flag%....  |
00001890  20 20 20 c8 95 20 66 6c  61 67 25 0d 09 9c 04 0d  |   .. flag%.....|
000018a0  09 a6 0f 20 20 20 20 20  f2 5f 44 6d 70 77 0d 09  |...     ._Dmpw..|
000018b0  b0 2b 20 20 20 20 20 c8  99 20 22 57 69 6d 70 5f  |.+     .. "Wimp_|
000018c0  47 65 74 52 65 63 74 61  6e 67 6c 65 22 2c 2c 71  |GetRectangle",,q|
000018d0  25 20 b8 20 66 6c 61 67  25 0d 09 ba 0a 20 20 20  |% . flag%....   |
000018e0  20 20 ce 0d 09 c4 06 20  20 0d 09 ce 07 20 20 e1  |  .....  ....  .|
000018f0  0d 09 d8 04 0d 09 e2 0e  dd 20 a4 70 6f 69 6e 74  |......... .point|
00001900  53 71 0d 09 ec 11 ea 20  58 25 2c 59 25 2c 42 25  |Sq..... X%,Y%,B%|
00001910  2c 52 25 0d 09 f6 12 f2  5f 54 72 61 6e 73 28 6d  |,R%....._Trans(m|
00001920  6f 6e 57 25 29 0d 0a 00  0f c8 97 20 58 25 2c 59  |onW%)...... X%,Y|
00001930  25 2c 42 25 0d 0a 0a 08  52 25 3d 30 0d 0a 14 29  |%,B%....R%=0...)|
00001940  e7 20 28 58 25 3c 28 78  6f 25 2b 33 30 29 20 80  |. (X%<(xo%+30) .|
00001950  20 59 25 3c 28 79 6f 25  2b 33 30 29 20 29 20 8c  | Y%<(yo%+30) ) .|
00001960  20 52 25 3d 31 0d 0a 1e  2e e7 20 28 58 25 3e 28  | R%=1..... (X%>(|
00001970  78 6f 25 2b 32 34 36 2a  78 73 25 29 20 80 20 59  |xo%+246*xs%) . Y|
00001980  25 3c 28 79 6f 25 2b 33  30 29 20 29 20 8c 20 52  |%<(yo%+30) ) . R|
00001990  25 3d 32 0d 0a 28 07 3d  52 25 0d 0a 32 04 0d 0a  |%=2..(.=R%..2...|
000019a0  3c 11 f4 20 44 72 61 77  20 77 69 6e 64 6f 77 0d  |<.. Draw window.|
000019b0  0a 46 0c dd 20 f2 5f 44  6d 70 77 0d 0a 50 0e ea  |.F.. ._Dmpw..P..|
000019c0  20 41 25 2c 42 25 2c 56  25 0d 0a 5a 12 f2 5f 54  | A%,B%,V%..Z.._T|
000019d0  72 61 6e 73 28 6d 6f 6e  57 25 29 0d 0a 64 23 20  |rans(monW%)..d# |
000019e0  e7 20 4e 63 6f 6c 6f 75  72 73 25 3c 34 20 8c 20  |. Ncolours%<4 . |
000019f0  e6 20 30 2c 31 20 8b 20  e6 20 30 2c 35 36 0d 0a  |. 0,1 . . 0,56..|
00001a00  6e 09 20 42 25 3d a3 0d  0a 78 0f 20 e3 20 41 25  |n. B%=...x. . A%|
00001a10  3d 31 20 b8 20 36 0d 0a  82 2f 20 e7 20 42 25 3d  |=1 . 6.../ . B%=|
00001a20  a3 20 80 20 c1 54 65 6d  70 72 24 2c 41 25 2c 31  |. . .Tempr$,A%,1|
00001a30  29 3c 3e 22 30 22 20 80  20 41 25 3c 3e 31 20 8c  |)<>"0" . A%<>1 .|
00001a40  20 42 25 3d b9 0d 0a 8c  2d 20 e7 20 42 25 3d b9  | B%=....- . B%=.|
00001a50  20 84 20 41 25 3d 31 20  8c 20 f2 5f 37 73 65 67  | . A%=1 . ._7seg|
00001a60  28 41 25 2c c1 54 65 6d  70 72 24 2c 41 25 2c 31  |(A%,.Tempr$,A%,1|
00001a70  29 29 0d 0a 96 06 20 ed  0d 0a a0 05 e1 0d 0a aa  |)).... .........|
00001a80  04 0d 0a b4 13 dd 20 f2  5f 37 73 65 67 28 4e 25  |...... ._7seg(N%|
00001a90  2c 56 24 29 0d 0a be 0e  ea 20 58 25 2c 59 25 2c  |,V$)..... X%,Y%,|
00001aa0  50 25 0d 0a c8 1d 58 25  3d 78 6f 25 2d 37 34 2b  |P%....X%=xo%-74+|
00001ab0  4e 25 2a 36 30 3a 59 25  3d 79 6f 25 2b 33 30 0d  |N%*60:Y%=yo%+30.|
00001ac0  0a d2 19 c8 99 22 57 69  6d 70 5f 53 65 74 43 6f  |....."Wimp_SetCo|
00001ad0  6c 6f 75 72 22 2c 31 31  0d 0a dc 0b c8 8e 20 4e  |lour",11...... N|
00001ae0  25 20 ca 0d 0a e6 1e c9  20 31 3a 20 c8 93 c8 90  |% ...... 1: ....|
00001af0  20 78 6f 25 2b 34 2c 59  25 2b 33 30 2c 33 30 2c  | xo%+4,Y%+30,30,|
00001b00  36 0d 0a f0 2d 20 20 20  20 20 20 20 20 e7 20 56  |6...-        . V|
00001b10  24 3d 22 2b 22 20 8c 20  c8 93 c8 90 20 78 6f 25  |$="+" . .... xo%|
00001b20  2b 31 36 2c 59 25 2b 31  36 2c 36 2c 33 32 0d 0a  |+16,Y%+16,6,32..|
00001b30  fa 1c c9 20 35 3a 20 c8  93 c8 90 20 78 6f 25 2b  |... 5: .... xo%+|
00001b40  32 31 34 2c 59 25 2c 36  2c 36 0d 0b 04 05 7f 0d  |214,Y%,6,6......|
00001b50  0b 0e 18 20 20 20 20 20  20 20 50 25 3d 53 37 25  |...       P%=S7%|
00001b60  28 bb 28 56 24 29 29 0d  0b 18 1c 20 20 20 20 20  |(.(V$))....     |
00001b70  20 20 e7 20 4e 25 3d 36  20 8c 20 58 25 3d 58 25  |  . N%=6 . X%=X%|
00001b80  2d 36 30 0d 0b 22 25 20  e7 20 28 50 25 20 80 20  |-60.."% . (P% . |
00001b90  26 31 29 20 c8 93 c8 90  20 58 25 2b 36 2c 59 25  |&1) .... X%+6,Y%|
00001ba0  2b 36 30 2c 33 30 2c 36  0d 0b 2c 28 20 e7 20 28  |+60,30,6..,( . (|
00001bb0  50 25 20 80 20 26 32 29  20 8c 20 c8 93 c8 90 20  |P% . &2) . .... |
00001bc0  58 25 2b 33 36 2c 59 25  2b 33 36 2c 36 2c 32 34  |X%+36,Y%+36,6,24|
00001bd0  0d 0b 36 27 20 e7 20 28  50 25 20 80 20 26 34 29  |..6' . (P% . &4)|
00001be0  20 8c 20 c8 93 c8 90 20  58 25 2b 33 36 2c 59 25  | . .... X%+36,Y%|
00001bf0  2b 36 2c 36 2c 32 34 0d  0b 40 24 20 e7 20 28 50  |+6,6,24..@$ . (P|
00001c00  25 20 80 20 26 38 29 20  8c 20 c8 93 c8 90 20 58  |% . &8) . .... X|
00001c10  25 2b 36 2c 59 25 2c 33  30 2c 36 0d 0b 4a 23 20  |%+6,Y%,30,6..J# |
00001c20  e7 20 28 50 25 20 80 20  26 31 30 29 20 c8 93 c8  |. (P% . &10) ...|
00001c30  90 20 58 25 2c 59 25 2b  36 2c 36 2c 32 34 0d 0b  |. X%,Y%+6,6,24..|
00001c40  54 24 20 e7 20 28 50 25  20 80 20 26 32 30 29 20  |T$ . (P% . &20) |
00001c50  c8 93 c8 90 20 58 25 2c  59 25 2b 33 36 2c 36 2c  |.... X%,Y%+36,6,|
00001c60  32 34 0d 0b 5e 26 20 e7  20 28 50 25 20 80 20 26  |24..^& . (P% . &|
00001c70  34 30 29 20 c8 93 c8 90  20 58 25 2b 36 2c 59 25  |40) .... X%+6,Y%|
00001c80  2b 33 30 2c 33 30 2c 36  0d 0b 68 05 cb 0d 0b 72  |+30,30,6..h....r|
00001c90  05 e1 0d 0b 7c 04 0d 0b  86 0b dd 20 f2 5f 55 70  |....|...... ._Up|
00001ca0  50 0d 0b 90 0e ea 20 54  25 2c 41 25 2c 45 25 0d  |P..... T%,A%,E%.|
00001cb0  0b 9a 12 f2 5f 54 72 61  6e 73 28 6d 6f 6e 57 25  |...._Trans(monW%|
00001cc0  29 0d 0b a4 33 20 20 71  25 21 30 3d 6d 6f 6e 57  |)...3  q%!0=monW|
00001cd0  25 3a 71 25 21 34 3d 30  3a 71 25 21 38 3d 2d 31  |%:q%!4=0:q%!8=-1|
00001ce0  31 38 3a 71 25 21 31 32  3d 36 38 30 3a 71 25 21  |18:q%!12=680:q%!|
00001cf0  31 36 3d 30 0d 0b ae 27  20 20 c8 99 22 57 69 6d  |16=0...'  .."Wim|
00001d00  70 5f 55 70 64 61 74 65  57 69 6e 64 6f 77 22 2c  |p_UpdateWindow",|
00001d10  2c 71 25 20 b8 20 4d 6f  72 65 25 0d 0b b8 0d 20  |,q% . More%.... |
00001d20  c8 95 20 4d 6f 72 65 25  0d 0b c2 0d 20 20 20 f2  |.. More%....   .|
00001d30  5f 44 6d 70 77 0d 0b cc  27 20 20 c8 99 22 57 69  |_Dmpw...'  .."Wi|
00001d40  6d 70 5f 47 65 74 52 65  63 74 61 6e 67 6c 65 22  |mp_GetRectangle"|
00001d50  2c 2c 71 25 20 b8 20 4d  6f 72 65 25 0d 0b d6 06  |,,q% . More%....|
00001d60  20 ce 0d 0b e0 04 0d 0b  ea 05 e1 0d 0b f4 04 0d  | ...............|
00001d70  0b fe 10 dd 20 f2 5f 55  70 64 61 74 65 50 74 0d  |.... ._UpdatePt.|
00001d80  0c 08 12 f2 5f 54 72 61  6e 73 28 6d 6f 6e 57 25  |...._Trans(monW%|
00001d90  29 0d 0c 12 33 20 20 71  25 21 30 3d 6d 6f 6e 57  |)...3  q%!0=monW|
00001da0  25 3a 71 25 21 34 3d 30  3a 71 25 21 38 3d 2d 34  |%:q%!4=0:q%!8=-4|
00001db0  30 30 3a 71 25 21 31 32  3d 36 38 30 3a 71 25 21  |00:q%!12=680:q%!|
00001dc0  31 36 3d 30 0d 0c 1c 27  20 20 c8 99 22 57 69 6d  |16=0...'  .."Wim|
00001dd0  70 5f 55 70 64 61 74 65  57 69 6e 64 6f 77 22 2c  |p_UpdateWindow",|
00001de0  2c 71 25 20 b8 20 4d 6f  72 65 25 0d 0c 26 04 0d  |,q% . More%..&..|
00001df0  0c 30 0d 20 c8 95 20 4d  6f 72 65 25 0d 0c 3a 04  |.0. .. More%..:.|
00001e00  0d 0c 44 04 0d 0c 4e 27  20 20 c8 99 22 57 69 6d  |..D...N'  .."Wim|
00001e10  70 5f 47 65 74 52 65 63  74 61 6e 67 6c 65 22 2c  |p_GetRectangle",|
00001e20  2c 71 25 20 b8 20 4d 6f  72 65 25 0d 0c 58 06 20  |,q% . More%..X. |
00001e30  ce 0d 0c 62 05 e1 0d 0c  6c 04 0d 0c 76 0a dd 20  |...b....l...v.. |
00001e40  a4 5f 57 72 0d 0c 80 0c  ea 20 54 59 25 2c 52 25  |._Wr..... TY%,R%|
00001e50  0d 0c 8a 0f 20 54 59 25  3d 59 25 2d 79 6f 25 0d  |.... TY%=Y%-yo%.|
00001e60  0c 94 09 20 52 25 3d 33  0d 0c 9e 1f 20 e7 20 54  |... R%=3.... . T|
00001e70  59 25 3e 3d 34 30 20 80  20 54 59 25 3c 3d 38 30  |Y%>=40 . TY%<=80|
00001e80  20 8c 20 52 25 3d 30 0d  0c a8 21 20 e7 20 54 59  | . R%=0...! . TY|
00001e90  25 3e 3d 31 32 30 20 80  20 54 59 25 3c 3d 31 36  |%>=120 . TY%<=16|
00001ea0  30 20 8c 20 52 25 3d 31  0d 0c b2 21 20 e7 20 54  |0 . R%=1...! . T|
00001eb0  59 25 3e 3d 32 30 30 20  80 20 54 59 25 3c 3d 32  |Y%>=200 . TY%<=2|
00001ec0  34 30 20 8c 20 52 25 3d  32 0d 0c bc 07 3d 52 25  |40 . R%=2....=R%|
00001ed0  0d 0c c6 0a dd 20 a4 5f  57 62 0d 0c d0 08 ea 20  |..... ._Wb..... |
00001ee0  42 25 0d 0c da 19 42 25  3d 37 2d a8 28 28 58 25  |B%....B%=7-.((X%|
00001ef0  2d 78 6f 25 29 2f 34 30  2d 31 29 0d 0c e4 18 e7  |-xo%)/40-1).....|
00001f00  20 42 25 3e 37 20 84 20  42 25 3c 30 20 8c 20 42  | B%>7 . B%<0 . B|
00001f10  25 3d 38 0d 0c ee 07 3d  42 25 0d 0c f8 04 0d 0d  |%=8....=B%......|
00001f20  02 04 0d 0d 0c 12 dd 20  f2 5f 54 72 61 6e 73 28  |....... ._Trans(|
00001f30  77 68 25 29 0d 0d 16 0b  21 71 25 3d 77 68 25 0d  |wh%)....!q%=wh%.|
00001f40  0d 20 20 c8 99 20 22 57  69 6d 70 5f 47 65 74 57  |.  .. "Wimp_GetW|
00001f50  69 6e 64 6f 77 53 74 61  74 65 22 2c 2c 71 25 0d  |indowState",,q%.|
00001f60  0d 2a 28 78 6f 25 3d 71  25 21 34 2d 71 25 21 32  |.*(xo%=q%!4-q%!2|
00001f70  30 2b 38 3a 79 6f 25 3d  71 25 21 31 36 2d 71 25  |0+8:yo%=q%!16-q%|
00001f80  21 32 34 2d 31 31 38 0d  0d 34 16 58 4f 25 3d 71  |!24-118..4.XO%=q|
00001f90  25 21 34 3a 59 4f 25 3d  71 25 21 31 36 0d 0d 3e  |%!4:YO%=q%!16..>|
00001fa0  05 e1 0d 0d 48 04 0d 0d  52 0f dd 20 f2 5f 43 6f  |....H...R.. ._Co|
00001fb0  6e 76 65 72 74 0d 0d 5c  08 ea 20 41 25 0d 0d 66  |nvert..\.. A%..f|
00001fc0  0e e3 20 41 25 3d 30 20  b8 20 39 0d 0d 70 0d f3  |.. A%=0 . 9..p..|
00001fd0  20 53 37 25 28 41 25 29  0d 0d 7a 05 ed 0d 0d 84  | S7%(A%)..z.....|
00001fe0  2d dc 20 26 33 46 2c 26  30 36 2c 26 35 42 2c 26  |-. &3F,&06,&5B,&|
00001ff0  34 46 2c 26 36 36 2c 26  36 44 2c 26 37 44 2c 26  |4F,&66,&6D,&7D,&|
00002000  30 37 2c 26 37 46 2c 26  36 46 0d 0d 8e 0e e3 20  |07,&7F,&6F..... |
00002010  41 25 3d 30 20 b8 20 37  0d 0d 98 11 54 72 65 61  |A%=0 . 7....Trea|
00002020  64 25 28 41 25 29 3d 20  a3 0d 0d a2 05 e1 0d 0d  |d%(A%)= ........|
00002030  ac 04 0d 0d b6 0f dd f2  73 65 74 75 70 6d 65 6e  |........setupmen|
00002040  75 0d 0d c0 08 ea 20 6d  25 0d 0d ca 04 0d 0d d4  |u..... m%.......|
00002050  11 24 6d 65 6e 75 25 3d  22 48 6f 74 3f 22 0d 0d  |.$menu%="Hot?"..|
00002060  de 0e 6d 65 6e 75 25 3f  31 32 3d 37 0d 0d e8 0e  |..menu%?12=7....|
00002070  6d 65 6e 75 25 3f 31 33  3d 32 0d 0d f2 0e 6d 65  |menu%?13=2....me|
00002080  6e 75 25 3f 31 34 3d 37  0d 0d fc 0e 6d 65 6e 75  |nu%?14=7....menu|
00002090  25 3f 31 35 3d 30 0d 0e  06 10 6d 65 6e 75 25 21  |%?15=0....menu%!|
000020a0  31 36 3d 31 32 38 0d 0e  10 0f 6d 65 6e 75 25 21  |16=128....menu%!|
000020b0  32 30 3d 34 30 0d 0e 1a  0e 6d 65 6e 75 25 21 32  |20=40....menu%!2|
000020c0  34 3d 30 0d 0e 24 0f 6d  25 3d 6d 65 6e 75 25 2b  |4=0..$.m%=menu%+|
000020d0  32 38 0d 0e 2e 0a 6d 25  21 30 3d 30 0d 0e 38 0e  |28....m%!0=0..8.|
000020e0  6d 25 21 34 3d 69 6e 66  6f 25 0d 0e 42 18 6d 25  |m%!4=info%..B.m%|
000020f0  21 38 3d 28 37 3c 3c 32  34 29 84 20 25 31 30 30  |!8=(7<<24). %100|
00002100  30 31 0d 0e 4c 13 24 28  6d 25 2b 31 32 29 3d 22  |01..L.$(m%+12)="|
00002110  49 6e 66 6f 22 0d 0e 56  04 0d 0e 60 0a 6d 25 2b  |Info"..V...`.m%+|
00002120  3d 32 34 0d 0e 6a 0c 6d  25 21 30 3d 26 38 30 0d  |=24..j.m%!0=&80.|
00002130  0e 74 0a 6d 25 21 34 3d  30 0d 0e 7e 18 6d 25 21  |.t.m%!4=0..~.m%!|
00002140  38 3d 28 37 3c 3c 32 34  29 84 20 25 31 30 30 30  |8=(7<<24). %1000|
00002150  31 0d 0e 88 13 24 28 6d  25 2b 31 32 29 3d 22 51  |1....$(m%+12)="Q|
00002160  75 69 74 22 0d 0e 92 04  0d 0e 9c 12 24 4d 6d 65  |uit"........$Mme|
00002170  6e 75 25 3d 22 48 6f 74  3f 22 0d 0e a6 0f 4d 6d  |nu%="Hot?"....Mm|
00002180  65 6e 75 25 3f 31 32 3d  37 0d 0e b0 0f 4d 6d 65  |enu%?12=7....Mme|
00002190  6e 75 25 3f 31 33 3d 32  0d 0e ba 0f 4d 6d 65 6e  |nu%?13=2....Mmen|
000021a0  75 25 3f 31 34 3d 37 0d  0e c4 0f 4d 6d 65 6e 75  |u%?14=7....Mmenu|
000021b0  25 3f 31 35 3d 30 0d 0e  ce 11 4d 6d 65 6e 75 25  |%?15=0....Mmenu%|
000021c0  21 31 36 3d 31 32 38 0d  0e d8 10 4d 6d 65 6e 75  |!16=128....Mmenu|
000021d0  25 21 32 30 3d 34 30 0d  0e e2 0f 4d 6d 65 6e 75  |%!20=40....Mmenu|
000021e0  25 21 32 34 3d 30 0d 0e  ec 10 6d 25 3d 4d 6d 65  |%!24=0....m%=Mme|
000021f0  6e 75 25 2b 32 38 0d 0e  f6 0a 6d 25 21 30 3d 30  |nu%+28....m%!0=0|
00002200  0d 0f 00 0e 6d 25 21 34  3d 69 6e 66 6f 25 0d 0f  |....m%!4=info%..|
00002210  0a 18 6d 25 21 38 3d 28  37 3c 3c 32 34 29 84 20  |..m%!8=(7<<24). |
00002220  25 31 30 30 30 31 0d 0f  14 13 24 28 6d 25 2b 31  |%10001....$(m%+1|
00002230  32 29 3d 22 49 6e 66 6f  22 0d 0f 1e 04 0d 0f 28  |2)="Info"......(|
00002240  0a 6d 25 2b 3d 32 34 0d  0f 32 0a 6d 25 21 30 3d  |.m%+=24..2.m%!0=|
00002250  30 0d 0f 3c 0f 6d 25 21  34 3d 73 61 76 65 57 25  |0..<.m%!4=saveW%|
00002260  0d 0f 46 18 6d 25 21 38  3d 28 37 3c 3c 32 34 29  |..F.m%!8=(7<<24)|
00002270  84 20 25 31 30 30 30 31  0d 0f 50 13 24 28 6d 25  |. %10001..P.$(m%|
00002280  2b 31 32 29 3d 22 53 61  76 65 22 0d 0f 5a 04 0d  |+12)="Save"..Z..|
00002290  0f 64 0a 6d 25 2b 3d 32  34 0d 0f 6e 0a 6d 25 21  |.d.m%+=24..n.m%!|
000022a0  30 3d 30 0d 0f 78 0f 6d  25 21 34 3d 72 61 74 65  |0=0..x.m%!4=rate|
000022b0  57 25 0d 0f 82 18 6d 25  21 38 3d 28 37 3c 3c 32  |W%....m%!8=(7<<2|
000022c0  34 29 84 20 25 31 30 30  30 31 0d 0f 8c 13 24 28  |4). %10001....$(|
000022d0  6d 25 2b 31 32 29 3d 22  52 61 74 65 22 0d 0f 96  |m%+12)="Rate"...|
000022e0  04 0d 0f a0 0a 6d 25 2b  3d 32 34 0d 0f aa 0c 6d  |.....m%+=24....m|
000022f0  25 21 30 3d 26 38 30 0d  0f b4 0a 6d 25 21 34 3d  |%!0=&80....m%!4=|
00002300  30 0d 0f be 18 6d 25 21  38 3d 28 37 3c 3c 32 34  |0....m%!8=(7<<24|
00002310  29 84 20 25 31 30 30 30  31 0d 0f c8 13 24 28 6d  |). %10001....$(m|
00002320  25 2b 31 32 29 3d 22 51  75 69 74 22 0d 0f d2 04  |%+12)="Quit"....|
00002330  0d 0f dc 05 e1 0d 0f e6  04 0d 0f f0 0e dd 20 f2  |.............. .|
00002340  5f 44 6f 53 61 76 65 0d  0f fa 0c e7 20 69 25 3d  |_DoSave..... i%=|
00002350  30 20 8c 0d 10 04 2c 20  20 20 20 20 20 20 20 20  |0 ....,         |
00002360  20 20 20 c8 99 20 22 57  69 6d 70 5f 47 65 74 50  |   .. "Wimp_GetP|
00002370  6f 69 6e 74 65 72 49 6e  66 6f 22 2c 2c 71 25 0d  |ointerInfo",,q%.|
00002380  10 0e 2e 20 20 20 20 20  20 20 20 20 20 20 20 f2  |...            .|
00002390  64 72 61 67 69 63 6f 6e  28 71 25 21 30 2c 71 25  |dragicon(q%!0,q%|
000023a0  21 34 2c 73 61 76 65 57  25 2c 69 25 29 0d 10 18  |!4,saveW%,i%)...|
000023b0  06 20 cd 0d 10 22 0d 20  e7 20 69 25 3d 32 20 8c  |. ...". . i%=2 .|
000023c0  0d 10 2c 0f 20 20 f2 5f  47 65 74 4e 61 6d 65 0d  |..,.  ._GetName.|
000023d0  10 36 47 20 20 e7 20 a7  66 6e 24 2c 22 3a 22 29  |.6G  . .fn$,":")|
000023e0  20 8c 20 f2 5f 53 61 76  65 20 8b 20 f2 5f 73 65  | . ._Save . ._se|
000023f0  74 75 70 57 28 22 44 72  61 67 20 74 68 65 20 49  |tupW("Drag the I|
00002400  63 6f 6e 20 69 6e 74 6f  20 61 20 44 69 72 65 63  |con into a Direc|
00002410  74 6f 72 79 22 29 0d 10  40 1e 20 20 c8 99 20 22  |tory")..@.  .. "|
00002420  57 69 6d 70 5f 43 72 65  61 74 65 4d 65 6e 75 22  |Wimp_CreateMenu"|
00002430  2c 2c 2d 31 0d 10 4a 06  20 cd 0d 10 54 05 e1 0d  |,,-1..J. ...T...|
00002440  10 5e 04 0d 10 68 12 dd  20 f2 72 65 63 65 69 76  |.^...h.. .receiv|
00002450  65 28 71 25 29 0d 10 72  08 ea 20 41 25 0d 10 7c  |e(q%)..r.. A%..||
00002460  0c 41 25 3d 71 25 21 31  36 0d 10 86 0b c8 8e 20  |.A%=q%!16...... |
00002470  41 25 20 ca 0d 10 90 0c  c9 20 30 3a f2 64 69 65  |A% ...... 0:.die|
00002480  0d 10 9a 1b c9 20 32 3a  e7 20 71 25 21 31 32 3d  |..... 2:. q%!12=|
00002490  73 61 76 65 72 65 66 25  20 8c 20 0d 10 a4 1c 20  |saveref% . .... |
000024a0  20 20 20 20 20 20 20 20  20 73 65 63 75 72 65 46  |         secureF|
000024b0  25 3d 71 25 21 33 36 0d  10 ae 25 20 20 20 20 20  |%=q%!36...%     |
000024c0  20 20 20 20 20 66 6e 24  3d a4 73 67 65 74 28 71  |     fn$=.sget(q|
000024d0  25 2b 34 34 29 3a f2 5f  53 61 76 65 0d 10 b8 38  |%+44):._Save...8|
000024e0  20 20 20 20 20 20 20 20  20 20 71 25 21 31 32 3d  |          q%!12=|
000024f0  73 61 76 65 72 65 66 25  3a 71 25 21 31 36 3d 33  |saveref%:q%!16=3|
00002500  3a 71 25 21 30 3d 32 35  36 3a 71 25 21 34 30 3d  |:q%!0=256:q%!40=|
00002510  26 30 34 34 0d 10 c2 41  20 20 20 20 20 20 20 20  |&044...A        |
00002520  20 20 71 25 21 32 30 3d  6d 65 73 73 68 25 3a 71  |  q%!20=messh%:q|
00002530  25 21 32 34 3d 6d 65 73  73 69 25 3a 71 25 21 32  |%!24=messi%:q%!2|
00002540  38 3d 6d 65 73 73 78 25  3a 71 25 21 33 32 3d 6d  |8=messx%:q%!32=m|
00002550  65 73 73 79 25 0d 10 cc  37 20 20 20 20 20 20 20  |essy%...7       |
00002560  20 20 20 c8 99 20 22 57  69 6d 70 5f 53 65 6e 64  |   .. "Wimp_Send|
00002570  4d 65 73 73 61 67 65 22  2c 31 37 2c 71 25 2c 6d  |Message",17,q%,m|
00002580  65 73 73 68 25 2c 6d 65  73 73 69 25 0d 10 d6 0f  |essh%,messi%....|
00002590  20 20 20 20 20 20 20 20  20 20 cd 0d 10 e0 04 0d  |          ......|
000025a0  10 ea 14 c9 20 26 35 30  32 3a 20 20 20 c8 8e 20  |.... &502:   .. |
000025b0  b9 20 ca 0d 10 f4 71 20  20 20 20 20 20 20 20 20  |. ....q         |
000025c0  20 20 20 20 c9 20 71 25  21 33 32 3d 2d 32 20 80  |    . q%!32=-2 .|
000025d0  20 71 25 21 33 36 3d 73  6d 70 69 63 6f 6e 25 3a  | q%!36=smpicon%:|
000025e0  6d 65 73 24 3d 22 54 68  69 73 20 69 73 20 74 68  |mes$="This is th|
000025f0  65 20 44 54 20 4d 6f 6e  69 74 6f 72 20 69 63 6f  |e DT Monitor ico|
00002600  6e 2e 7c 4d 4f 62 73 65  72 76 65 20 74 68 65 20  |n.|MObserve the |
00002610  44 69 67 69 74 61 6c 20  54 68 65 72 6d 6f 6d 65  |Digital Thermome|
00002620  74 65 72 22 0d 10 fe 1a  20 20 20 20 20 20 20 20  |ter"....        |
00002630  20 20 20 20 20 7f 3a 6d  65 73 24 3d 22 22 0d 11  |     .:mes$=""..|
00002640  08 12 20 20 20 20 20 20  20 20 20 20 20 20 20 cb  |..             .|
00002650  0d 11 12 14 20 20 20 20  e7 20 6d 65 73 24 3c 3e  |....    . mes$<>|
00002660  22 22 20 8c 0d 11 1c 12  20 20 20 20 71 25 21 31  |"" .....    q%!1|
00002670  32 3d 71 25 21 38 0d 11  26 18 20 20 20 20 24 28  |2=q%!8..&.    $(|
00002680  71 25 2b 32 30 29 3d 6d  65 73 24 2b bd 30 0d 11  |q%+20)=mes$+.0..|
00002690  30 1e 20 20 20 20 71 25  21 30 3d 28 32 30 2b a9  |0.    q%!0=(20+.|
000026a0  6d 65 73 24 2b 34 29 80  20 ac 20 33 0d 11 3a 12  |mes$+4). . 3..:.|
000026b0  20 20 20 20 71 25 21 31  36 3d 26 35 30 33 0d 11  |    q%!16=&503..|
000026c0  44 28 20 20 20 20 c8 99  20 22 57 69 6d 70 5f 53  |D(    .. "Wimp_S|
000026d0  65 6e 64 4d 65 73 73 61  67 65 22 2c 31 38 2c 71  |endMessage",18,q|
000026e0  25 2c 71 25 21 34 0d 11  4e 05 cb 0d 11 58 05 e1  |%,q%!4..N....X..|
000026f0  0d 11 62 04 0d 11 6c 0c  dd 20 f2 5f 44 61 63 6b  |..b...l.. ._Dack|
00002700  0d 11 76 10 73 65 6e 64  74 68 25 3d 71 25 21 34  |..v.sendth%=q%!4|
00002710  0d 11 80 0f 6d 79 72 65  66 25 3d 71 25 21 38 0d  |....myref%=q%!8.|
00002720  11 8a 22 c8 99 20 22 57  69 6d 70 5f 47 65 74 50  |..".. "Wimp_GetP|
00002730  6f 69 6e 74 65 72 49 6e  66 6f 22 2c 2c 71 25 2b  |ointerInfo",,q%+|
00002740  38 0d 11 94 0e 71 25 21  32 38 3d 71 25 21 38 0d  |8....q%!28=q%!8.|
00002750  11 9e 0f 71 25 21 33 32  3d 71 25 21 31 32 0d 11  |...q%!32=q%!12..|
00002760  a8 18 71 25 21 30 3d 28  34 34 2b a9 6e 24 2b 34  |..q%!0=(44+.n$+4|
00002770  29 80 20 ac 20 33 0d 11  b2 10 71 25 21 31 32 3d  |). . 3....q%!12=|
00002780  6d 79 72 65 66 25 0d 11  bc 0b 71 25 21 31 36 3d  |myref%....q%!16=|
00002790  34 0d 11 c6 0c 71 25 21  33 36 3d 2d 31 0d 11 d0  |4....q%!36=-1...|
000027a0  0e 71 25 21 34 30 3d 26  46 46 39 0d 11 da 12 24  |.q%!40=&FF9....$|
000027b0  28 71 25 2b 34 34 29 3d  6e 24 2b bd 30 0d 11 e4  |(q%+44)=n$+.0...|
000027c0  27 c8 99 20 22 57 69 6d  70 5f 53 65 6e 64 4d 65  |'.. "Wimp_SendMe|
000027d0  73 73 61 67 65 22 2c 31  37 2c 71 25 2c 73 65 6e  |ssage",17,q%,sen|
000027e0  64 74 68 25 0d 11 ee 05  cd 0d 11 f8 05 e1 0d 12  |dth%............|
000027f0  02 04 0d 12 0c 0e dd a4  73 67 65 74 28 78 25 29  |........sget(x%)|
00002800  0d 12 16 08 ea 20 78 24  0d 12 20 1d c8 95 20 3f  |..... x$.. ... ?|
00002810  78 25 20 78 24 2b 3d bd  28 3f 78 25 29 3a 78 25  |x% x$+=.(?x%):x%|
00002820  2b 3d 31 3a ce 0d 12 2a  07 3d 78 24 0d 12 34 04  |+=1:...*.=x$..4.|
00002830  0d 12 3e 0a dd a4 69 63  6f 6e 0d 12 48 0b 71 25  |..>...icon..H.q%|
00002840  21 30 3d 2d 31 0d 12 52  0a 71 25 21 34 3d 30 0d  |!0=-1..R.q%!4=0.|
00002850  12 5c 1b 71 25 21 38 3d  31 30 20 3a 20 f4 20 59  |.\.q%!8=10 : . Y|
00002860  20 44 49 52 45 43 54 49  4f 4e 0d 12 66 1c 71 25  | DIRECTION..f.q%|
00002870  21 31 32 3d 37 30 20 3a  20 f4 20 58 20 44 49 52  |!12=70 : . X DIR|
00002880  45 43 54 49 4f 4e 0d 12  70 0c 71 25 21 31 36 3d  |ECTION..p.q%!16=|
00002890  39 36 0d 12 7a 0f 71 25  21 32 30 3d 26 32 30 30  |96..z.q%!20=&200|
000028a0  32 0d 12 84 13 24 28 71  25 2b 32 34 29 3d 22 21  |2....$(q%+24)="!|
000028b0  48 4f 54 22 0d 12 8e 24  c8 99 20 22 57 69 6d 70  |HOT"...$.. "Wimp|
000028c0  5f 43 72 65 61 74 65 49  63 6f 6e 22 2c 2c 71 25  |_CreateIcon",,q%|
000028d0  20 b8 20 69 63 6f 6e 25  0d 12 98 0a 3d 69 63 6f  | . icon%....=ico|
000028e0  6e 25 0d 12 a2 04 0d 12  ac 12 dd 20 f2 5f 73 65  |n%......... ._se|
000028f0  74 75 70 57 28 74 24 29  0d 12 b6 60 21 71 77 25  |tupW(t$)...`!qw%|
00002900  3d 77 61 72 6e 69 6e 67  57 25 3a 71 77 25 21 34  |=warningW%:qw%!4|
00002910  3d 32 30 30 3a 71 77 25  21 38 3d 32 30 30 3a 71  |=200:qw%!8=200:q|
00002920  77 25 21 31 32 3d 32 30  30 2b 58 51 25 3a 71 77  |w%!12=200+XQ%:qw|
00002930  25 21 31 36 3d 32 30 30  2b 59 51 25 3a 71 77 25  |%!16=200+YQ%:qw%|
00002940  21 32 30 3d 30 3a 71 77  25 21 32 34 3d 30 3a 71  |!20=0:qw%!24=0:q|
00002950  77 25 21 32 38 3d 2d 31  0d 12 c0 11 24 54 65 78  |w%!28=-1....$Tex|
00002960  74 57 61 72 6e 25 3d 74  24 0d 12 ca 15 54 65 78  |tWarn%=t$....Tex|
00002970  74 57 61 72 6e 25 3f a9  28 74 24 29 3d 30 0d 12  |tWarn%?.(t$)=0..|
00002980  d4 0d 77 61 72 6e 4f 6e  25 3d b9 0d 12 de 1d c8  |..warnOn%=......|
00002990  99 20 22 57 69 6d 70 5f  4f 70 65 6e 57 69 6e 64  |. "Wimp_OpenWind|
000029a0  6f 77 22 2c 2c 71 77 25  0d 12 e8 05 e1 0d 12 f2  |ow",,qw%........|
000029b0  04 0d 12 fc 0f dd 20 f2  65 72 72 6f 72 62 6f 78  |...... .errorbox|
000029c0  0d 13 06 0d f4 20 50 52  4f 43 64 69 65 0d 13 10  |..... PROCdie...|
000029d0  19 c8 99 20 22 57 69 6d  70 5f 44 72 61 67 42 6f  |... "Wimp_DragBo|
000029e0  78 22 2c 2c 2d 31 0d 13  1a 32 21 62 75 66 66 65  |x",,-1...2!buffe|
000029f0  72 73 25 3d 9f 3a 24 28  62 75 66 66 65 72 73 25  |rs%=.:$(buffers%|
00002a00  2b 34 29 3d f6 24 2b 22  20 61 74 20 6c 69 6e 65  |+4)=.$+" at line|
00002a10  20 22 2b c3 9e 2b bd 30  0d 13 24 2a c8 99 20 22  | "+..+.0..$*.. "|
00002a20  57 69 6d 70 5f 52 65 70  6f 72 74 45 72 72 6f 72  |Wimp_ReportError|
00002a30  22 2c 62 75 66 66 65 72  73 25 2c 31 2c 22 48 4f  |",buffers%,1,"HO|
00002a40  54 22 0d 13 2e 08 f2 64  69 65 0d 13 38 05 e1 0d  |T".....die..8...|
00002a50  13 42 04 0d 13 4c 09 dd  f2 64 69 65 0d 13 56 2a  |.B...L...die..V*|
00002a60  c8 99 20 22 57 69 6d 70  5f 43 6c 6f 73 65 44 6f  |.. "Wimp_CloseDo|
00002a70  77 6e 22 2c 74 61 73 6b  68 61 6e 64 25 2c 21 74  |wn",taskhand%,!t|
00002a80  61 73 6b 69 64 25 0d 13  60 05 e0 0d 13 6a 05 e1  |askid%..`....j..|
00002a90  0d 13 74 04 0d 13 7e 2e  dd 20 f2 64 72 61 67 69  |..t...~.. .dragi|
00002aa0  63 6f 6e 28 6d 6f 75 73  65 78 25 2c 6d 6f 75 73  |con(mousex%,mous|
00002ab0  65 79 25 2c 68 61 6e 64  6c 65 25 2c 69 63 6f 6e  |ey%,handle%,icon|
00002ac0  25 29 0d 13 88 21 ea 20  62 78 25 2c 62 79 25 2c  |%)...!. bx%,by%,|
00002ad0  69 78 30 25 2c 69 79 30  25 2c 69 78 31 25 2c 69  |ix0%,iy0%,ix1%,i|
00002ae0  79 31 25 0d 13 92 12 f2  67 65 74 77 28 68 61 6e  |y1%.....getw(han|
00002af0  64 6c 65 25 29 0d 13 9c  18 f2 67 65 74 69 28 68  |dle%).....geti(h|
00002b00  61 6e 64 6c 65 25 2c 69  63 6f 6e 25 29 0d 13 a6  |andle%,icon%)...|
00002b10  16 21 71 25 3d 68 61 6e  64 6c 65 25 3a 71 25 21  |.!q%=handle%:q%!|
00002b20  34 3d 35 0d 13 b0 3e 71  25 21 38 3d 62 78 25 2b  |4=5...>q%!8=bx%+|
00002b30  69 78 30 25 3a 71 25 21  31 32 3d 62 79 25 2b 69  |ix0%:q%!12=by%+i|
00002b40  79 30 25 3a 71 25 21 31  36 3d 62 78 25 2b 69 78  |y0%:q%!16=bx%+ix|
00002b50  31 25 3a 71 25 21 32 30  3d 62 79 25 2b 69 79 31  |1%:q%!20=by%+iy1|
00002b60  25 0d 13 ba 2a 71 25 21  32 34 3d 71 25 21 38 2d  |%...*q%!24=q%!8-|
00002b70  6d 6f 75 73 65 78 25 3a  71 25 21 32 38 3d 71 25  |mousex%:q%!28=q%|
00002b80  21 31 32 2d 6d 6f 75 73  65 79 25 0d 13 c4 19 c8  |!12-mousey%.....|
00002b90  99 20 22 57 69 6d 70 5f  44 72 61 67 42 6f 78 22  |. "Wimp_DragBox"|
00002ba0  2c 2c 71 25 0d 13 ce 0c  53 46 4c 41 47 25 3d b9  |,,q%....SFLAG%=.|
00002bb0  0d 13 d8 05 e1 0d 13 e2  04 0d 13 ec 14 dd 20 f2  |.............. .|
00002bc0  67 65 74 77 28 68 61 6e  64 6c 65 25 29 0d 13 f6  |getw(handle%)...|
00002bd0  38 21 71 25 3d 68 61 6e  64 6c 65 25 3a c8 99 20  |8!q%=handle%:.. |
00002be0  22 57 69 6d 70 5f 47 65  74 57 69 6e 64 6f 77 53  |"Wimp_GetWindowS|
00002bf0  74 61 74 65 22 2c 2c 71  25 3a f2 69 6e 66 6f 28  |tate",,q%:.info(|
00002c00  71 25 2b 34 29 0d 14 00  05 e1 0d 14 0a 12 dd 20  |q%+4).......... |
00002c10  f2 67 65 74 69 28 68 25  2c 69 25 29 0d 14 14 2d  |.geti(h%,i%)...-|
00002c20  21 71 25 3d 68 25 3a 71  25 21 34 3d 69 25 3a c8  |!q%=h%:q%!4=i%:.|
00002c30  99 20 22 57 69 6d 70 5f  47 65 74 49 63 6f 6e 53  |. "Wimp_GetIconS|
00002c40  74 61 74 65 22 2c 2c 71  25 0d 14 1e 2e 69 78 30  |tate",,q%....ix0|
00002c50  25 3d 71 25 21 38 3a 69  79 30 25 3d 71 25 21 31  |%=q%!8:iy0%=q%!1|
00002c60  32 3a 69 78 31 25 3d 71  25 21 31 36 3a 69 79 31  |2:ix1%=q%!16:iy1|
00002c70  25 3d 71 25 21 32 30 0d  14 28 1e 69 66 6c 61 67  |%=q%!20..(.iflag|
00002c80  73 25 3d 71 25 21 32 34  3a 69 64 61 74 61 25 3d  |s%=q%!24:idata%=|
00002c90  71 25 2b 32 38 0d 14 32  05 e1 0d 14 3c 04 0d 14  |q%+28..2....<...|
00002ca0  46 0f dd 20 f2 69 6e 66  6f 28 70 25 29 0d 14 50  |F.. .info(p%)..P|
00002cb0  0d ea 20 78 30 25 2c 79  30 25 0d 14 5a 27 78 30  |.. x0%,y0%..Z'x0|
00002cc0  25 3d 21 70 25 3a 79 30  25 3d 70 25 21 34 3a 78  |%=!p%:y0%=p%!4:x|
00002cd0  31 25 3d 70 25 21 38 3a  79 31 25 3d 70 25 21 31  |1%=p%!8:y1%=p%!1|
00002ce0  32 0d 14 64 35 73 63 78  25 3d 70 25 21 31 36 3a  |2..d5scx%=p%!16:|
00002cf0  73 63 79 25 3d 70 25 21  32 30 3a 62 68 61 6e 64  |scy%=p%!20:bhand|
00002d00  6c 65 25 3d 70 25 21 32  34 3a 66 6c 61 67 73 25  |le%=p%!24:flags%|
00002d10  3d 70 25 21 32 38 0d 14  6e 1d 62 78 25 3d 78 30  |=p%!28..n.bx%=x0|
00002d20  25 2d 73 63 78 25 3a 62  79 25 3d 79 31 25 2d 73  |%-scx%:by%=y1%-s|
00002d30  63 79 25 0d 14 78 05 e1  0d 14 82 04 0d 14 8c 0c  |cy%..x..........|
00002d40  dd 20 f2 5f 53 61 76 65  0d 14 96 0d ea 20 63 68  |. ._Save..... ch|
00002d50  25 2c 70 70 25 0d 14 a0  0d 46 25 3d ae 28 66 6e  |%,pp%....F%=.(fn|
00002d60  24 29 0d 14 aa 1c ff 28  22 53 45 54 54 59 50 45  |$).....("SETTYPE|
00002d70  20 22 2b 66 6e 24 2b 22  20 46 46 46 22 29 0d 14  | "+fn$+" FFF")..|
00002d80  b4 08 d9 23 46 25 0d 14  be 12 f2 5f 50 75 74 4e  |...#F%....._PutN|
00002d90  61 6d 65 28 66 6e 24 29  0d 14 c8 05 e1 0d 14 d2  |ame(fn$)........|
00002da0  04 0d 14 dc 13 dd 20 f2  5f 50 75 74 4e 61 6d 65  |...... ._PutName|
00002db0  28 70 24 29 0d 14 e6 08  ea 20 54 25 0d 14 f0 16  |(p$)..... T%....|
00002dc0  71 25 21 30 3d 73 61 76  65 57 25 3a 71 25 21 34  |q%!0=saveW%:q%!4|
00002dd0  3d 31 0d 14 fa 1e c8 99  20 22 57 69 6d 70 5f 47  |=1...... "Wimp_G|
00002de0  65 74 49 63 6f 6e 53 74  61 74 65 22 2c 2c 71 25  |etIconState",,q%|
00002df0  0d 15 04 0c 54 25 3d 71  25 21 32 38 0d 15 0e 0a  |....T%=q%!28....|
00002e00  24 54 25 3d 70 24 0d 15  18 11 21 28 54 25 2b a9  |$T%=p$....!(T%+.|
00002e10  28 70 24 29 29 3d 30 0d  15 22 05 e1 0d 15 2c 04  |(p$))=0.."....,.|
00002e20  0d 15 36 13 dd 20 f2 5f  50 75 74 52 61 74 65 28  |..6.. ._PutRate(|
00002e30  70 24 29 0d 15 40 08 ea  20 54 25 0d 15 4a 16 71  |p$)..@.. T%..J.q|
00002e40  25 21 30 3d 72 61 74 65  57 25 3a 71 25 21 34 3d  |%!0=rateW%:q%!4=|
00002e50  31 0d 15 54 1e c8 99 20  22 57 69 6d 70 5f 47 65  |1..T... "Wimp_Ge|
00002e60  74 49 63 6f 6e 53 74 61  74 65 22 2c 2c 71 25 0d  |tIconState",,q%.|
00002e70  15 5e 0c 54 25 3d 71 25  21 32 38 0d 15 68 0a 24  |.^.T%=q%!28..h.$|
00002e80  54 25 3d 70 24 0d 15 72  11 21 28 54 25 2b a9 28  |T%=p$..r.!(T%+.(|
00002e90  70 24 29 29 3d 30 0d 15  7c 05 e1 0d 15 86 04 0d  |p$))=0..|.......|
00002ea0  15 90 13 dd 20 f2 5f 50  75 74 44 6f 77 6e 28 71  |.... ._PutDown(q|
00002eb0  25 29 0d 15 9a 0f e7 20  44 72 61 67 4f 6e 25 20  |%)..... DragOn% |
00002ec0  8c 0d 15 a4 23 f4 20 53  59 53 20 22 57 69 6d 70  |....#. SYS "Wimp|
00002ed0  5f 47 65 74 50 6f 69 6e  74 65 72 49 6e 66 6f 22  |_GetPointerInfo"|
00002ee0  2c 2c 71 25 0d 15 ae 0d  f2 5f 47 65 74 4e 61 6d  |,,q%....._GetNam|
00002ef0  65 0d 15 b8 20 c8 99 20  22 57 69 6d 70 5f 47 65  |e... .. "Wimp_Ge|
00002f00  74 50 6f 69 6e 74 65 72  49 6e 66 6f 22 2c 2c 71  |tPointerInfo",,q|
00002f10  25 0d 15 c2 35 6d 65 73  73 68 25 3d 71 25 21 31  |%...5messh%=q%!1|
00002f20  32 3a 6d 65 73 73 69 25  3d 71 25 21 31 36 3a 6d  |2:messi%=q%!16:m|
00002f30  65 73 73 78 25 3d 71 25  21 30 3a 6d 65 73 73 79  |essx%=q%!0:messy|
00002f40  25 3d 71 25 21 34 0d 15  cc 23 e7 20 a7 20 66 6e  |%=q%!4...#. . fn|
00002f50  24 2c 22 3a 22 29 20 8c  20 66 6e 24 3d a4 5f 73  |$,":") . fn$=._s|
00002f60  70 61 74 68 28 66 6e 24  29 0d 15 d6 10 24 28 71  |path(fn$)....$(q|
00002f70  25 2b 34 34 29 3d 66 6e  24 0d 15 e0 15 3f 28 71  |%+44)=fn$....?(q|
00002f80  25 2b 34 34 2b a9 28 66  6e 24 29 29 3d 30 0d 15  |%+44+.(fn$))=0..|
00002f90  ea 3b 71 25 21 32 30 3d  71 25 21 31 32 3a 71 25  |.;q%!20=q%!12:q%|
00002fa0  21 32 38 3d 71 25 21 30  3a 71 25 21 33 32 3d 71  |!28=q%!0:q%!32=q|
00002fb0  25 21 34 3a 71 25 21 33  36 3d 31 30 32 34 3a 71  |%!4:q%!36=1024:q|
00002fc0  25 21 34 30 3d 26 30 34  34 0d 15 f4 1b 71 25 21  |%!40=&044....q%!|
00002fd0  30 3d 35 36 3a 71 25 21  31 32 3d 30 3a 71 25 21  |0=56:q%!12=0:q%!|
00002fe0  31 36 3d 31 0d 15 fe 2d  c8 99 20 22 57 69 6d 70  |16=1...-.. "Wimp|
00002ff0  5f 53 65 6e 64 4d 65 73  73 61 67 65 22 2c 31 37  |_SendMessage",17|
00003000  2c 71 25 2c 6d 65 73 73  68 25 2c 6d 65 73 73 69  |,q%,messh%,messi|
00003010  25 0d 16 08 11 73 61 76  65 72 65 66 25 3d 71 25  |%....saveref%=q%|
00003020  21 38 0d 16 12 1c c8 99  20 22 57 69 6d 70 5f 43  |!8...... "Wimp_C|
00003030  72 65 61 74 65 4d 65 6e  75 22 2c 2c 2d 31 0d 16  |reateMenu",,-1..|
00003040  1c 0d 44 72 61 67 4f 6e  25 3d a3 0d 16 26 05 cd  |..DragOn%=...&..|
00003050  0d 16 30 05 e1 0d 16 3a  04 0d 16 44 10 dd 20 f2  |..0....:...D.. .|
00003060  5f 4b 65 79 50 72 65 73  73 0d 16 4e 0d c8 8e 20  |_KeyPress..N... |
00003070  71 25 21 30 20 ca 0d 16  58 1b c9 20 73 61 76 65  |q%!0 ...X.. save|
00003080  57 25 3a 20 69 25 3d 32  3a f2 5f 44 6f 53 61 76  |W%: i%=2:._DoSav|
00003090  65 0d 16 62 17 c9 20 72  61 74 65 57 25 3a 20 f2  |e..b.. rateW%: .|
000030a0  5f 47 65 74 52 61 74 65  0d 16 6c 2c 20 20 20 20  |_GetRate..l,    |
000030b0  20 20 20 20 20 20 20 20  20 e7 20 53 72 61 74 65  |         . Srate|
000030c0  3c 30 2e 31 20 8c 20 53  72 61 74 65 3d 30 2e 31  |<0.1 . Srate=0.1|
000030d0  3a ef 20 37 0d 16 76 24  20 20 20 20 20 20 20 20  |:. 7..v$        |
000030e0  20 20 20 20 20 f2 5f 50  75 74 52 61 74 65 28 c3  |     ._PutRate(.|
000030f0  28 53 72 61 74 65 29 29  0d 16 80 2c 20 20 20 20  |(Srate))...,    |
00003100  20 20 20 20 20 20 20 20  20 c8 99 20 22 57 69 6d  |         .. "Wim|
00003110  70 5f 43 6c 6f 73 65 57  69 6e 64 6f 77 22 2c 2c  |p_CloseWindow",,|
00003120  52 61 74 25 0d 16 8a 29  20 20 20 20 20 20 20 20  |Rat%...)        |
00003130  20 20 20 20 20 c8 99 20  22 57 69 6d 70 5f 43 72  |     .. "Wimp_Cr|
00003140  65 61 74 65 4d 65 6e 75  22 2c 2c 2d 31 0d 16 94  |eateMenu",,-1...|
00003150  05 cb 0d 16 9e 05 e1 0d  16 a8 04 0d 16 b2 0f dd  |................|
00003160  20 f2 5f 43 6b 74 68 65  72 6d 0d 16 bc 08 ea 20  | ._Cktherm..... |
00003170  41 25 0d 16 c6 0e e3 20  41 25 3d 30 20 b8 20 37  |A%..... A%=0 . 7|
00003180  0d 16 d0 17 54 72 65 61  64 25 28 41 25 29 3d a4  |....Tread%(A%)=.|
00003190  76 65 72 28 41 25 29 0d  16 da 33 e7 20 54 72 65  |ver(A%)...3. Tre|
000031a0  61 64 25 28 41 25 29 3d  b9 20 8c 20 24 53 50 6f  |ad%(A%)=. . $SPo|
000031b0  69 6e 74 25 28 41 25 2b  31 33 29 3d 22 79 65 73  |int%(A%+13)="yes|
000031c0  22 3a 54 64 69 73 25 3d  41 25 0d 16 e4 05 ed 0d  |":Tdis%=A%......|
000031d0  16 ee 2d e7 20 54 64 69  73 25 3c 3e 2d 31 20 8c  |..-. Tdis%<>-1 .|
000031e0  20 24 53 50 6f 69 6e 74  25 28 54 64 69 73 25 2b  | $SPoint%(Tdis%+|
000031f0  34 29 3d 22 72 61 64 69  6f 6f 6e 22 0d 16 f8 05  |4)="radioon"....|
00003200  e1 0d 17 02 04 0d 17 0c  0e dd 20 a4 76 65 72 28  |.......... .ver(|
00003210  41 25 29 0d 17 16 0b ea  20 45 25 2c 46 6c 0d 17  |A%)..... E%,Fl..|
00003220  20 08 45 25 3d b9 0d 17  2a 14 41 25 3d 28 41 25  | .E%=...*.A%=(A%|
00003230  3c 3c 31 29 20 84 20 26  39 31 0d 17 34 25 c8 99  |<<1) . &91..4%..|
00003240  20 22 58 49 49 43 5f 43  6f 6e 74 72 6f 6c 22 2c  | "XIIC_Control",|
00003250  41 25 2c 50 42 4b 25 2c  31 20 b8 20 3b 46 6c 0d  |A%,PBK%,1 . ;Fl.|
00003260  17 3e 1e e7 20 28 46 6c  20 80 20 31 29 3d 31 20  |.>.. (Fl . 1)=1 |
00003270  8c 20 45 25 3d a3 20 8b  20 45 25 3d b9 0d 17 48  |. E%=. . E%=...H|
00003280  07 3d 45 25 0d 17 52 04  0d 17 5c 0c dd 20 f2 54  |.=E%..R...\.. .T|
00003290  73 63 61 6e 0d 17 66 0e  ea 20 41 25 2c 42 25 2c  |scan..f.. A%,B%,|
000032a0  46 6c 0d 17 70 0e e3 20  41 25 3d 30 20 b8 20 37  |Fl..p.. A%=0 . 7|
000032b0  0d 17 7a 12 e7 20 54 72  65 61 64 25 28 41 25 29  |..z.. Tread%(A%)|
000032c0  20 8c 0d 17 84 14 42 25  3d 28 41 25 3c 3c 31 29  | .....B%=(A%<<1)|
000032d0  20 84 20 26 39 31 0d 17  8e 25 c8 99 20 22 58 49  | . &91...%.. "XI|
000032e0  49 43 5f 43 6f 6e 74 72  6f 6c 22 2c 42 25 2c 50  |IC_Control",B%,P|
000032f0  42 4b 25 2c 32 20 b8 20  3b 46 6c 0d 17 98 13 e7  |BK%,2 . ;Fl.....|
00003300  20 28 46 6c 20 80 20 31  29 3d 20 31 20 8c 0d 17  | (Fl . 1)= 1 ...|
00003310  a2 26 20 54 72 65 61 64  25 28 41 25 29 3d a3 3a  |.& Tread%(A%)=.:|
00003320  24 53 50 6f 69 6e 74 25  28 41 25 2b 31 33 29 3d  |$SPoint%(A%+13)=|
00003330  22 6e 6f 22 0d 17 ac 4d  20 c8 99 22 57 69 6d 70  |"no"...M .."Wimp|
00003340  5f 46 6f 72 63 65 52 65  64 72 61 77 22 2c 6d 6f  |_ForceRedraw",mo|
00003350  6e 57 25 2c 49 58 25 28  41 25 2b 31 33 29 2c 49  |nW%,IX%(A%+13),I|
00003360  59 25 28 41 25 2b 31 33  29 2c 49 58 31 25 28 41  |Y%(A%+13),IX1%(A|
00003370  25 2b 31 33 29 2c 49 59  31 25 28 41 25 2b 31 33  |%+13),IY1%(A%+13|
00003380  29 0d 17 b6 88 20 e7 20  54 64 69 73 25 3d 41 25  |).... . Tdis%=A%|
00003390  20 8c 20 24 53 50 6f 69  6e 74 25 28 54 64 69 73  | . $SPoint%(Tdis|
000033a0  25 2b 34 29 3d 22 72 61  64 69 6f 6f 66 66 22 3a  |%+4)="radiooff":|
000033b0  c8 99 22 57 69 6d 70 5f  46 6f 72 63 65 52 65 64  |.."Wimp_ForceRed|
000033c0  72 61 77 22 2c 6d 6f 6e  57 25 2c 49 58 25 28 54  |raw",monW%,IX%(T|
000033d0  64 69 73 25 2b 34 29 2c  49 59 25 28 54 64 69 73  |dis%+4),IY%(Tdis|
000033e0  25 2b 34 29 2c 49 58 31  25 28 54 64 69 73 25 2b  |%+4),IX1%(Tdis%+|
000033f0  34 29 2c 49 59 31 25 28  54 64 69 73 25 2b 34 29  |4),IY1%(Tdis%+4)|
00003400  3a 54 64 69 73 25 3d 2d  31 0d 17 c0 06 20 cc 0d  |:Tdis%=-1.... ..|
00003410  17 ca 21 20 54 76 28 41  25 29 3d a4 74 72 65 61  |..! Tv(A%)=.trea|
00003420  64 28 50 42 4b 25 3f 30  2c 50 42 4b 25 3f 31 29  |d(PBK%?0,PBK%?1)|
00003430  0d 17 d4 06 20 cd 0d 17  de 05 cd 0d 17 e8 05 ed  |.... ...........|
00003440  0d 17 f2 05 e1 0d 17 fc  04 0d 18 06 13 dd 20 a4  |.............. .|
00003450  74 72 65 61 64 28 41 25  2c 42 25 29 0d 18 10 08  |tread(A%,B%)....|
00003460  ea 20 44 25 0d 18 1a 1a  44 25 3d 28 28 41 25 3c  |. D%....D%=((A%<|
00003470  3c 31 29 20 2b 20 28 42  25 3e 3e 37 29 29 0d 18  |<1) + (B%>>7))..|
00003480  24 20 e7 20 44 25 3e 26  46 46 20 8c 20 44 25 3d  |$ . D%>&FF . D%=|
00003490  44 25 20 84 20 26 46 46  46 46 46 46 30 30 0d 18  |D% . &FFFFFF00..|
000034a0  2e 09 3d 44 25 2f 32 0d  18 38 04 0d 18 42 0d dd  |..=D%/2..8...B..|
000034b0  20 f2 72 65 63 6f 72 64  0d 18 4c 0b ea 20 41 25  | .record..L.. A%|
000034c0  2c 42 25 0d 18 56 14 41  25 3d 52 65 61 64 54 69  |,B%..V.A%=ReadTi|
000034d0  6d 65 25 2f 31 30 30 0d  18 60 1b 42 25 3d 28 52  |me%/100..`.B%=(R|
000034e0  65 61 64 54 69 6d 65 25  20 83 20 31 30 30 29 2f  |eadTime% . 100)/|
000034f0  31 30 0d 18 6a 1e 20 20  f2 66 77 72 69 74 65 28  |10..j.  .fwrite(|
00003500  c3 28 41 25 29 2b 22 2e  22 2b c3 28 42 25 29 29  |.(A%)+"."+.(B%))|
00003510  0d 18 74 12 20 20 20 20  e3 20 41 25 3d 30 20 b8  |..t.    . A%=0 .|
00003520  20 37 0d 18 7e 35 20 20  20 20 e7 20 54 72 65 61  | 7..~5    . Trea|
00003530  64 25 28 41 25 29 3d b9  20 8c 20 d5 23 46 69 6c  |d%(A%)=. . .#Fil|
00003540  65 25 2c 39 3a f2 66 77  72 69 74 65 28 c3 28 54  |e%,9:.fwrite(.(T|
00003550  76 28 41 25 29 29 29 0d  18 88 09 20 20 20 20 ed  |v(A%)))....    .|
00003560  0d 18 92 0f 20 d5 23 46  69 6c 65 25 2c 31 30 0d  |.... .#File%,10.|
00003570  18 9c 05 e1 0d 18 a6 04  0d 18 b0 11 dd 20 f2 66  |............. .f|
00003580  77 72 69 74 65 28 72 24  29 0d 18 ba 08 ea 20 41  |write(r$)..... A|
00003590  25 0d 18 c4 12 e3 20 41  25 3d 31 20 b8 20 a9 28  |%..... A%=1 . .(|
000035a0  72 24 29 0d 18 ce 18 d5  23 46 69 6c 65 25 2c 97  |r$).....#File%,.|
000035b0  28 c1 72 24 2c 41 25 2c  31 29 29 0d 18 d8 09 20  |(.r$,A%,1)).... |
000035c0  20 20 20 ed 0d 18 e2 05  e1 0d 18 ec 04 0d ff     |   ............|
000035cf