Home » Archimedes archive » Micro User » MU 1991-07.adf » PD-Stuff » Utilities/!WimpAid/FlagSetter

Utilities/!WimpAid/FlagSetter

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 » Micro User » MU 1991-07.adf » PD-Stuff
Filename: Utilities/!WimpAid/FlagSetter
Read OK:
File size: 3B67 bytes
Load address: 0000
Exec address: 0000
File contents
   10REM > <WimpAid$Dir>.FlagSetter
   20REM Graham Crow  15/3/90
   30:
   40REM Utility for setting the WIMP window/icon flags
   50:
   60REM================
   70REM. Program set-up
   80REM================
   90:
  100MODE 12
  110ON ERROR OSCLI("FX4"):MODE12:VDU3:REPORT:PRINT" at line ";ERL:ON:END
  120PROCinit
  130GCOL1:PROCtext(0,1,"RISC OS WIMP -",2,1):PROCheading("Window Flags")
  140PROCdrawplinths(area1%(),"Window1",0)
  150PROCdrawplinths(area2%(),"Window2",0)
  160PROCdrawplinths(area3%(),"Flags",0)
  170PROCdrawplinths(area4%(),"Menu",0)
  180PROCflags:PROCmenuticks(flags$)
  190:
  200REM===================
  210REM. Main program loop
  220REM===================
  230:
  240quit%=FALSE
  250REPEAT
  260PROCmousewait(-8)
  270IF z%=4 THEN
  280choice%=-1
  290CASE TRUE OF
  300WHEN FNgetboxno(x%,y%,area1%())>0
  310choice%=FNgetboxno(x%,y%,area1%())-1:PROCaction(choice%,flags$)
  320WHEN FNgetboxno(x%,y%,area2%())>0
  330choice%=15+FNgetboxno(x%,y%,area2%()):PROCaction(choice%,flags$)
  340WHEN FNgetboxno(x%,y%,area3%())>0:PROCinput
  350IFflags$="icon"PROCshownumbers
  360PROCticks:PROCflags
  370WHEN FNgetboxno(x%,y%,area4%())>0
  380choice%=FNgetboxno(x%,y%,area4%())
  390CASE choice% OF
  400WHEN1:PROCwindowflags
  410WHEN2:PROCiconflags
  420WHEN3:PROCadjust(flags$):PROCticks:PROCflags
  430WHEN4:PROCprint(flags$)
  440WHEN5:quit%=TRUE
  450ENDCASE
  460OTHERWISE choice%=-1
  470ENDCASE
  480ENDIF
  490UNTIL quit%
  500OSCLI("FX4"):MODE 12
  510END
  520:
  530:==========================================
  540REM. Display ticks and hex number for flags
  550:==========================================
  560:
  570DEFPROCflags
  580REM build hex number from bits in bit%() and display
  590hex$=FNflags
  600COLOUR 128+14:COLOUR 3
  610PRINTTAB(70,1)"&"hex$
  620ENDPROC
  630:
  640DEFFNflags
  650LOCALJ%,K%,hex%,b$,i%:hex$=""
  660FOR J%=8 TO 1 STEP-1:b$=""
  670FOR K%=4 TO 1 STEP-1
  680i%=(J%*4)-(5-K%):IF bit%(i%) b$+="1" ELSE b$+="0"
  690NEXT
  700hex$+=STR$~(EVAL("%"+b$))
  710NEXT
  720=hex$
  730:
  740DEFPROCmenuticks(flags$)
  750VDU 5:gy%=area4%(1)+40
  760gx%=area4%(0)+area4%(2)-32:MOVE gx%,gy%
  770IF flags$="window" GCOL 3:ELSE GCOL 14
  780PRINT CHR$248
  790gx%+=area4%(2):MOVE gx%,gy%
  800IF flags$="icon" GCOL 3:ELSE GCOL 14
  810PRINT CHR$248
  820VDU 4:OFF
  830ENDPROC
  840:
  850DEFPROCticks
  860LOCAL bit%:bit%=0
  870PROCdrawticks(area1%())
  880PROCdrawticks(area2%())
  890ENDPROC
  900:
  910DEFPROCdrawticks(a%())
  920LOCAL ix%,iy%
  930VDU 5
  940FOR iy%=a%(1)+a%(7)-a%(3) TO a%(1) STEP -a%(3)
  950FOR ix%=a%(0) TO a%(0)+a%(6)-a%(2) STEP a%(2)
  960MOVE ix%+a%(2)-32,iy%+a%(3)-a%(12)
  970IF bit%(bit%) GCOL 3:ELSE GCOL 14
  980PRINT CHR$248:bit%+=1
  990NEXT
 1000NEXT
 1010VDU 4:OFF
 1020ENDPROC
 1030:
 1040:==========================================
 1050REM. Action following click on a bit plinth
 1060:==========================================
 1070:
 1080DEFPROCaction(choice%,flags$)
 1090LOCAL J%
 1100CASE flags$ OF
 1110WHEN "window"
 1120bit%(choice%)=NOT bit%(choice%):PROCticks:PROCflags
 1130:
 1140WHEN "icon"
 1150CASE choice% OF
 1160WHEN0,1,2,3,4,5,7,8,9,10,11,21,22,23
 1170bit%(choice%)=NOT bit%(choice%):PROCticks:PROCflags
 1180:
 1190WHEN 6:REM anti-alias
 1200bit%(choice%)=NOT bit%(choice%)
 1210IF bit%(choice%) PROCdrawplinths(area5%(),"Bit6Set",-1)
 1220IF NOT bit%(choice%) PROCdrawplinths(area5%(),"Bit6Unset",-1)
 1230FOR J%=24 TO 31:bit%(J%)=0:NEXT:PROCticks:PROCflags
 1240:
 1250WHEN 12:REM button type
 1260PROCin(500,260,"",2):o%=VALo$
 1270IF NOT FNnumber(o$) OR o%<0 OR o%>15 VDU 7:o$=""
 1280PROCshownum(500,260,2,o$):PROCsetbits(12,15,VALo$)
 1290PROCticks:PROCflags
 1300:
 1310WHEN 16:REM ESG
 1320PROCin(1160,884,"",2):o%=VALo$
 1330IF NOT FNnumber(o$) OR (o%<1 AND o$<>"") OR o%>31 VDU 7:o$=""
 1340PROCshownum(1160,884,2,o$):PROCsetbits(16,20,VALo$)
 1350PROCticks:PROCflags
 1360:
 1370WHEN 24:REM fg col OR (if bit 6 set) start of font handle
 1380IF bit%(6) THEN
 1390PROCin(1160,468,"",3):o%=VALo$
 1400IF NOT FNnumber(o$) OR (o%<1 AND o$<>"") OR o%>255 VDU 7:o$=""
 1410PROCshownum(1160,468,3,o$):PROCsetbits(24,31,VALo$)
 1420ENDIF
 1430IF NOT bit%(6) THEN
 1440PROCin(1160,468,"",2):o%=VALo$
 1450IF NOT FNnumber(o$) OR o%<0 OR o%>15 VDU 7:o$=""
 1460PROCshownum(1160,468,2,o$):PROCsetbits(24,27,VALo$)
 1470ENDIF
 1480PROCticks:PROCflags
 1490:
 1500WHEN 28:REM bg col OR (if bit 6 set) rest of font handle
 1510IF NOT bit%(6) THEN
 1520PROCin(1160,262,"",2):o%=VALo$
 1530IF NOT FNnumber(o$) OR o%<0 OR o%>15 VDU 7:o$=""
 1540PROCshownum(1160,262,2,o$):PROCsetbits(28,31,VALo$)
 1550PROCticks:PROCflags
 1560ENDIF
 1570ENDCASE
 1580:
 1590ENDCASE
 1600ENDPROC
 1610:
 1620DEFFNnumber(c$)
 1630LOCAL l$,r$:l$=LEFT$(c$,1):r$=RIGHT$(c$,1)
 1640=FNnum(l$) AND FNnum(r$)
 1650
 1660DEFFNnum(c$)
 1670=INSTR("0123456789",c$)>0
 1680:
 1690DEFPROCshownumbers
 1700o$=STR$FNdecodebits(12,15):PROCshownum(500,260,2,o$)
 1710o$=STR$FNdecodebits(16,20):PROCshownum(1160,884,2,o$)
 1720IF bit%(6) THEN
 1730PROCdrawplinths(area5%(),"Bit6Set",-1)
 1740o$=STR$FNdecodebits(24,31):PROCshownum(1160,468,3,o$)
 1750ENDIF
 1760IF NOT bit%(6)THEN
 1770PROCdrawplinths(area5%(),"Bit6Unset",-1)
 1780o$=STR$FNdecodebits(24,27):PROCshownum(1160,468,2,o$)
 1790o$=STR$FNdecodebits(28,31):PROCshownum(1160,262,2,o$)
 1800ENDIF
 1810ENDPROC
 1820:
 1830DEFPROCshownum(x%,y%,m%,n$)
 1840GCOL 14:RECTANGLEFILLx%,y%,m%*16,30
 1850GCOL 128+14:GCOL 3:VDU 5:MOVE x%,y%+30:PRINT n$:VDU 4:OFF
 1860ENDPROC
 1870:
 1880DEFPROCsetbits(f%,t%,n%)
 1890LOCAL J%,d%,v%:v%=2^(t%-f%)
 1900FOR J%=t% TO f% STEP-1
 1910d%=n% DIV v%:bit%(J%)=d%>0:n%=n% MOD v%:v%=v% DIV 2
 1920NEXT
 1930ENDPROC
 1940:
 1950DEFFNdecodebits(f%,t%)
 1960LOCAL J%,n%,v%:v%=2^(t%-f%)
 1970FOR J%=t% TO f% STEP-1:IF bit%(J%) n%+=v%
 1980v%=v% DIV 2
 1990NEXT
 2000=n%
 2010:
 2020:========================================
 2030REM. Change between window and icon flags
 2040:========================================
 2050:
 2060DEFPROCwindowflags
 2070IF flags$="window" ENDPROC
 2080flags$="window":PROCmenuticks(flags$):bit%()=0
 2090PROCscreen(flags$)
 2100ENDPROC
 2110:
 2120DEFPROCiconflags
 2130IF flags$="icon" ENDPROC
 2140flags$="icon":PROCmenuticks(flags$):bit%()=0
 2150PROCscreen(flags$)
 2160ENDPROC
 2170:
 2180DEFPROCscreen(flags$)
 2190IF flags$="window" THEN
 2200PROCheading("Window Flags")
 2210PROCdrawplinths(area1%(),"Window1",-1)
 2220PROCdrawplinths(area2%(),"Window2",-1)
 2230PROCticks:PROCflags
 2240ENDIF
 2250IF flags$="icon" THEN
 2260PROCheading("Icon Flags")
 2270PROCdrawplinths(area1%(),"Icon1",-1)
 2280PROCdrawplinths(area2%(),"Icon2",-1)
 2290PROCticks:PROCflags
 2300ENDIF
 2310ENDPROC
 2320:
 2330DEFPROCheading(text$)
 2340COLOUR 128+12:PRINTTAB(28,1)STRING$(32," ")
 2350GCOL 1:PROCtext(30,1,text$,2,1)
 2360ENDPROC
 2370:
 2380:=============================
 2390REM. Input flags as hex number
 2400:=============================
 2410:
 2420DEFPROCinput
 2430REM accept hex number from user and place bits in bit%()
 2440LOCAL J%,K%,I%,hex$,h$,b$,c$,i%
 2450PROCin(1136,960,"",8):IFo$="" OR k%=27 THEN ENDPROC
 2460IF NOT FNhex(o$) VDU 7:ENDPROC
 2470hex$=RIGHT$(STRING$(8,"0")+o$,8)
 2480FOR J%=1 TO 4
 2490h$="":FOR K%=1 TO 2:h$+=MID$(hex$,J%*2-(2-K%),1):NEXT
 2500b$=FNbin(EVAL("&"+h$))
 2510FOR I%=1 TO 8
 2520c$=MID$(b$,I%,1)
 2530i%=31-((J%*8)-(9-I%))
 2540IFc$="1" bit%(i%)=-1:ELSE bit%(i%)=0
 2550NEXT
 2560NEXT
 2570ENDPROC
 2580:
 2590DEFFNbin(dec%)
 2600REM returns 8 chr string of binary representation of dec%
 2610LOCAL bin$,bit%,div%
 2620bin$="":div%=128
 2630FOR bit%=7 TO 0 STEP-1
 2640IF dec% DIV div%>0 bin$+="1":dec%=dec% MOD div% ELSE bin$+="0"
 2650div%=div% DIV 2
 2660NEXT
 2670=bin$
 2680:
 2690DEFPROCin(x%,y%,i$,m%):LOCALl%,k%,p$,exit%:*FX4,1
 2700l%=LENi$:p$=STRING$(m%-l%,"-"):o$=i$:exit%=FALSE:*FX229,1
 2710REPEAT:*FX21
 2720GCOL7:RECTANGLEFILLx%,y%,m%*16,30:GCOL0
 2730VDU5:MOVEx%,y%+30:PRINTo$+p$;:MOVEx%+l%*16,y%+30
 2740REPEAT:MOUSEmx%,my%,mb%:UNTILmb%=0
 2750REPEAT:k%=INKEY0:MOUSEmx%,my%,mb%:UNTILNOTk%ORmb%>0
 2760REM print
 2770IFk%>31ANDk%<127ANDl%<m%o$=o$+CHR$k%:p$=LEFT$(p$,LENp$-1):l%+=1
 2780REM delete
 2790IFk%=127ANDl%>0o$=LEFT$(o$,l%-1):p$=p$+"-":l%-=1
 2800REM exit conditions
 2810IFk%=27ORk%=13ORmb%>0exit%=TRUE
 2820UNTILexit%:OFF
 2830GCOL14:RECTANGLEFILLx%,y%,m%*16,30
 2840GCOL128+14:GCOL3:MOVEx%,y%+30:PRINTo$:VDU4:OFF
 2850IFk%=13REPEATUNTILNOTINKEY-74:*FX21
 2860IFmb%>0REPEAT:MOUSEmx%,my%,mb%:UNTILmb%=0
 2870*FX229
 2880ENDPROC
 2890:
 2900DEFFNhex(s$)
 2910REM Is this a valid hex string?
 2920LOCAL c$,i%,c%:c%=1
 2930REPEAT:c$=MID$(s$,c%,1):c%+=1
 2940i%=INSTR("ABCDEFabcdef0123456789",c$)
 2950UNTIL i%=0 OR c%>LENs$
 2960IFi%=0 THEN=FALSE:ELSE=TRUE
 2970:
 2980:=============================================
 2990REM. Adjust user's selection if logic dictates
 3000:=============================================
 3010:
 3020DEFPROCadjust(flags$)
 3030REM if necessary, alter the user's selection
 3040LOCAL J%
 3050IF flags$="window" THEN
 3060FOR J%=13 TO 15:bit%(J%)=0:NEXT  :REM reserved
 3070FOR J%=20 TO 23:bit%(J%)=0:NEXT  :REM reserved
 3080FOR J%=16 TO 19:bit%(J%)=0:NEXT  :REM return info only
 3090IF bit%(31) bit%(0)=0:bit%(2)=0:bit%(3)=0:bit%(7)=0  :REM Arthur only
 3100IF NOT bit%(26) bit%(24)=0:bit%(25)=0
 3110   REM need title bar for back and close
 3120IF NOT bit%(28) bit%(27)=0:bit%(29)=0
 3130   REM need vert scroll for resize and toggle
 3140ENDIF
 3150IF flags$="icon" THEN
 3160IF bit%(6) OR bit%(9) THEN bit%(0)=TRUE:REM text
 3170IF bit%(11) THEN bit%(1)=TRUE:REM sprite
 3180ENDIF
 3190ENDPROC
 3200:
 3210:==========================================
 3220REM. Hard-copy printout of current settings
 3230:==========================================
 3240:
 3250DEFPROCprint(flags$)
 3260IF NOT FNprinterOK THEN VDU 7:ENDPROC
 3270VDU28,60,30,60,30,2:PRINT'
 3280:
 3290IF flags$="window" THEN
 3300PRINT"WINDOW FLAGS = &";FNflags'
 3310PROCrestore("Window1")
 3320FOR J%=0 TO 15
 3330READ t$:IF J%<13 THEN
 3340PRINT t$+STRING$(40-LENt$," ");
 3350IF bit%(J%) PRINT"Y" ELSE PRINT"-"
 3360ENDIF
 3370NEXT:PRINT"13-24 Unused"
 3380PROCrestore("Window2")
 3390FOR J%=16 TO 31
 3400READ t$:IF J%>23 THEN
 3410PRINT t$+STRING$(40-LENt$," ");
 3420IF bit%(J%) PRINT"Y" ELSE PRINT"-"
 3430ENDIF
 3440NEXT
 3450ENDIF
 3460:
 3470IF flags$="icon" THEN
 3480PRINT"ICON FLAGS = &";FNflags'
 3490PROCrestore("Icon1")
 3500FOR J%=0 TO 15
 3510READ t$:IF J%<13 THEN
 3520IF bit%(J%) n$="Y" ELSE n$="-"
 3530IF J%=12 n$=STR$FNdecodebits(12,15)
 3540PRINT t$+STRING$(40-LENt$-LENn$," ")+n$
 3550ENDIF
 3560NEXT
 3570PROCrestore("Icon2")
 3580FOR J%=16 TO 23
 3590READ t$:IF J%=16 OR (J%>20ANDJ%<25) OR J%=28 THEN
 3600IF bit%(J%) n$="Y" ELSE n$="-"
 3610IF J%=16 n$=STR$FNdecodebits(16,20)
 3620PRINT t$+STRING$(40-LENt$-LENn$," ")+n$
 3630ENDIF
 3640NEXT
 3650:
 3660IF bit%(6) THEN
 3670PROCrestore("Bit6Set"):READ t$:n$=STR$FNdecodebits(24,31)
 3680PRINT t$+STRING$(40-LENt$-LENn$," ")+n$
 3690ENDIF
 3700:
 3710IF NOT bit%(6) THEN
 3720PROCrestore("Bit6Unset")
 3730FOR J%=24 TO 28
 3740READ t$:IF J%=24 OR J%=28 THEN
 3750IF J%=24 n$=STR$FNdecodebits(24,27)
 3760IF J%=28 n$=STR$FNdecodebits(28,31)
 3770PRINT t$+STRING$(40-LENt$-LENn$," ")+n$
 3780ENDIF
 3790NEXT
 3800ENDIF
 3810ENDIF
 3820:
 3830VDU3,26
 3840ENDPROC
 3850:
 3860DEFFNprinterOK
 3870buffersize=ADVAL(-4)
 3880VDU2,1,0,1,0,1,0,1,0,1,0,3
 3890dummy=INKEY(2)
 3900=(ADVAL(-4)=buffersize)
 3910:
 3920:====================================
 3930REM. General procedures and functions
 3940:====================================
 3950:
 3960DEFPROCtext(x%,y%,t$,xs,ys)
 3970LOCAL m%,p%,n%:m%=MODE
 3980p%=2^((m%-(m%>5ANDm%<12ORm%=14))MOD3+1)
 3990VDU5
 4000VDU23,17,7,6,8*xs;8*ys|
 4010IFLEN(t$)<5n%=24:ELSEn%=4
 4020MOVEx%*8*p%+n%,1020-y%*32
 4030PRINTt$;
 4040VDU23,17,7,6,8;8|
 4050VDU4:OFF
 4060ENDPROC
 4070:
 4080DEFPROCmousewait(n)
 4090REM 0-7: Wait for this mouse state
 4100REM neg: Wait for zero first
 4110REM 8:   Wait for any button
 4120REM 16:  Wait for keypress
 4130LOCAL anypress,inkey,m,a,b,c
 4140*FX21,9
 4150IF n<0 THEN PROCmousewait(0):n=ABS(n)
 4160IF (n AND 16)>0 THEN inkey=TRUE:*FX21
 4170IF (n AND 8)>0 THEN anypress=TRUE
 4180m=n AND 7:w%=-1
 4190REPEAT
 4200MOUSE x%,y%,z%
 4210IF inkey THEN w%=INKEY(0)
 4220a=(z%=m AND NOT (n>7 AND m=0))
 4230b=(anypress AND (z%>0))
 4240c=(inkey AND (w%>-1))
 4250UNTIL a OR b OR c
 4260ENDPROC
 4270:
 4280DEFFNpositiond(x%,y%,x1%,y1%,xd%,yd%)
 4290=x%>x1% AND x%<x1%+xd% AND y%>y1% AND y%<y1%+yd%
 4300:
 4310DEFFNgetboxno(x%,y%,a%())
 4320REM Returns no of selected box
 4330REM Counting from top left (=no 1)
 4340REM and moving left to right
 4350LOCAL ix%,iy%,no%
 4360IF FNpositiond(x%,y%,a%(0),a%(1),a%(6),a%(7)) THEN
 4370ix%=(x%-a%(0)) DIV a%(2)+1
 4380iy%=a%(5)-(y%-a%(1)) DIV a%(3)-1
 4390no%=ix%+a%(4)*iy%
 4400ELSE no%=-1
 4410ENDIF
 4420=no%
 4430:
 4440DEFPROCdrawplinths(a%(),text$,t%)
 4450REM Draws set of plinths (t%=text only)
 4460LOCAL ix%,iy%,no%
 4470a%(6)=a%(2)*a%(4)
 4480a%(7)=a%(3)*a%(5)
 4490IF a%(0)=-1 THEN a%(0)=(1280-a%(6))DIV 2
 4500IF text$<>"" THEN PROCrestore(text$):VDU5
 4510FOR iy%=a%(1)+a%(7)-a%(3) TO a%(1) STEP -a%(3)
 4520FOR ix%=a%(0) TO a%(0)+a%(6)-a%(2) STEP a%(2)
 4530IFt%THEN
 4540GCOL a%(15) AND 63 TINT a%(15)
 4550x=ix%:y=iy%:w=8:wx=a%(2):wy=a%(3)
 4560RECTANGLE FILL x+w,y+w,wx-2*w,wy-2*w
 4570ELSE
 4580PROCplinth(ix%,iy%,a%(2),a%(3),8,a%(13),a%(14),a%(15),a%(16),a%(17),TRUE)
 4590ENDIF
 4600IF text$<>"" THEN
 4610MOVE ix%+a%(11),iy%+a%(3)-a%(12)
 4620READ text$:GCOL a%(10):PRINTtext$
 4630ENDIF
 4640NEXT
 4650NEXT
 4660IF text$<>"" THEN VDU4:OFF
 4670ENDIF
 4680ENDPROC
 4690:
 4700DEFPROCplinth(x,y,wx,wy,w,c0,c1,c2,c3,c4,raised)
 4710IF NOT raised THEN SWAP c1,c3
 4720GCOL c1 AND 63 TINT c1
 4730RECTANGLE FILL x,y,wx,wy
 4740GCOL c3 AND 63 TINT c3
 4750RECTANGLE FILL x+w,y,wx-2*w,w
 4760RECTANGLE FILL x+wx-w,y,w,wy-w
 4770MOVE x,y:MOVE x+w,y
 4780PLOT85,x+w,y+w:MOVE x+wx-w,y+wy-w
 4790MOVE x+wx,y+wy-w
 4800PLOT85,x+wx,y+wy:PLOT85,x+wx,y+wy
 4810IF NOT raised THEN SWAP c0,c4
 4820GCOL c0 AND 63 TINT c0
 4830LINE x,y+wy,x+w,y+wy-w
 4840GCOL c4 AND 63 TINT c4
 4850LINE x+wx,y,x+wx-w,y+w
 4860GCOL c2 AND 63 TINT c2
 4870RECTANGLE FILL x+w,y+w,wx-2*w,wy-2*w
 4880ENDPROC
 4890:
 4900:==================
 4910REM. Initialisation
 4920:==================
 4930:
 4940DEFPROCinit
 4950DIM bit%(31)
 4960DIM area1%(17)  :REM bits 0-15
 4970DIM area2%(17)  :REM bits 16-31
 4980DIM area3%(17)  :REM flags
 4990DIM area4%(17)  :REM menu
 5000DIM area5%(17)  :REM bits 24-31 (icon flags)
 5010:
 5020REM set up palette
 5030COLOUR 12,208,208,192
 5040COLOUR 13,176,176,176
 5050COLOUR 14,128,128,128
 5060COLOUR 15,16,16,16
 5070:
 5080COLOUR12+128:CLS        :REM yellow/grey screen
 5090VDU19,0,24,208,208,192  :REM yellow/grey border
 5100:
 5110REM define chr for tick
 5120VDU23,248,&0100;&4402;&1028;&0000;
 5130:
 5140flags$="window"
 5150OFF:*POINTER
 5160:
 5170REM bits
 5180area1%(0)=0    :area2%(0)=638  :REM X coord
 5190area1%(1)=96   :area2%(1)=96   :REM Y coord
 5200area1%(2)=624  :area2%(2)=636  :REM Cell width
 5210area1%(3)=52   :area2%(3)=52   :REM Cell height
 5220area1%(4)=1    :area2%(4)=1    :REM Cells across
 5230area1%(5)=16   :area2%(5)=16   :REM Cells down
 5240:
 5250REM flags      :REM menu       :REM bits 24-31 (icon flags)
 5260area3%(0)=968  :area4%(0)=0    :area5%(0)=638
 5270area3%(1)=948  :area4%(1)=16   :area5%(1)=96
 5280area3%(2)=304  :area4%(2)=255  :area5%(2)=636
 5290area3%(3)=60   :area4%(3)=60   :area5%(3)=52
 5300area3%(4)=1    :area4%(4)=5    :area5%(4)=1
 5310area3%(5)=1    :area4%(5)=1    :area5%(5)=8
 5320:
 5330REM Colours
 5340PROCrestore("Colours")
 5350FOR J%=8 TO 17
 5360READ n%
 5370area1%(J%)=n%:area2%(J%)=n%:area3%(J%)=n%:area4%(J%)=n%:area5%(J%)=n%
 5380NEXT
 5390ENDPROC
 5400:
 5410DEFPROCrestore(label$)
 5420RESTORE
 5430REPEAT:READ a$:UNTIL a$=label$
 5440ENDPROC
 5450:
 5460DATA Window1
 5470DATA " 0  (Arthur only)"
 5480DATA " 1  Window can be dragged"
 5490DATA " 2  (Arthur only)"
 5500DATA " 3  (Arthur only)"
 5510DATA " 4  No user graphics"
 5520DATA " 5  Window is a pane"
 5530DATA " 6  Window can go beyond screen"
 5540DATA " 7  (Arthur only)"
 5550DATA " 8  Scroll without auto-repeat"
 5560DATA " 9  Scroll with auto-repeat"
 5570DATA "10  Treat colours as GCOL numbers"
 5580DATA "11  No windows below this one"
 5590DATA "12  Produce reasons for 'hot keys'"
 5600DATA "13  (Reserved - must be zero)"
 5610DATA "14  (Reserved - must be zero)"
 5620DATA "15  (Reserved - must be zero)"
 5630:
 5640DATA Window2
 5650DATA "16  (Used to return info only)"
 5660DATA "17  (Used to return info only)"
 5670DATA "18  (Used to return info only)"
 5680DATA "19  (Used to return info only)"
 5690DATA "20  (Reserved - must be zero)"
 5700DATA "21  (Reserved - must be zero)"
 5710DATA "22  (Reserved - must be zero)"
 5720DATA "23  (Reserved - must be zero)"
 5730DATA "24  Window has a back icon"
 5740DATA "25  Window has a close icon"
 5750DATA "26  Window has a title bar"
 5760DATA "27  Window has a toggle size icon"
 5770DATA "28  Window has a vert scroll bar"
 5780DATA "29  Window has an adj size icon"
 5790DATA "30  Window has a horiz scroll bar"
 5800DATA "31  Ignore 'Arthur only' flags"
 5810:
 5820DATA Icon1
 5830DATA " 0    Icon contains text"
 5840DATA " 1    Icon contains a sprite"
 5850DATA " 2    Icon has a border"
 5860DATA " 3    Horizontally centered"
 5870DATA " 4    Vertically centered"
 5880DATA " 5    Filled background"
 5890DATA " 6    Text is anti-aliased"
 5900DATA " 7    Needs task to redraw icon"
 5910DATA " 8    Icon data is indirected"
 5920DATA " 9    Text is right-justified"
 5930DATA "10    If Adjust clicked keep ESG"
 5940DATA "11    Display sprite at half size"
 5950DATA "12-15 Icon button type (0-15)"
 5960DATA "13    ''"
 5970DATA "14    ''"
 5980DATA "15    ''"
 5990:
 6000DATA Icon2
 6010DATA "16-20 E S G (1-31)"
 6020DATA "17    ''"
 6030DATA "18    ''"
 6040DATA "19    ''"
 6050DATA "20    ''"
 6060DATA "21    Icon is already selected"
 6070DATA "22    Icon is not selectable"
 6080DATA "23    Icon has been deleted"
 6090DATA "24-27 Foreground colour (0-15)"
 6100DATA "25    ''"
 6110DATA "26    ''"
 6120DATA "27    ''"
 6130DATA "28-31 Background colour (0-15)"
 6140DATA "29    ''"
 6150DATA "30    ''"
 6160DATA "31    ''"
 6170:
 6180DATA Bit6Unset
 6190DATA "24-27 Foreground colour (0-15)"
 6200DATA "25    ''"
 6210DATA "26    ''"
 6220DATA "27    ''"
 6230DATA "28-31 Background colour (0-15)"
 6240DATA "29    ''"
 6250DATA "30    ''"
 6260DATA "31    ''"
 6270:
 6280DATA Bit6Set
 6290DATA "24-31 Alias font handle (1-255)"
 6300DATA "25    ''"
 6310DATA "26    ''"
 6320DATA "27    ''"
 6330DATA "28    ''"
 6340DATA "29    ''"
 6350DATA "30    ''"
 6360DATA "31    ''"
 6370:
 6380DATA Flags
 6390DATA "Flags ="
 6400:
 6410DATA Menu
 6420DATA Window flags
 6430DATA Icon flags
 6440DATA "    Adjust"
 6450DATA "     Print"
 6460DATA "     Quit"
 6470:
 6480DATA Colours
 6490DATA 4,7,7,16,16
 6500REM Box bcg blue
 6510REM Box line white
 6520REM White text
 6530REM Text x offset
 6540REM Text y offset
 6550DATA 7,13,14,15,0,7

 � > <WimpAid$Dir>.FlagSetter
� Graham Crow  15/3/90
:
(4� Utility for setting the WIMP window/icon flags
2:
<�================
F�. Program set-up
P�================
Z:
d� 12
n,� � �("FX4"):�12:�3:�:�" at line ";�:�:�
x	�init
�?�1:�text(0,1,"RISC OS WIMP -",2,1):�heading("Window Flags")
�&�drawplinths(area1%(),"Window1",0)
�&�drawplinths(area2%(),"Window2",0)
�$�drawplinths(area3%(),"Flags",0)
�#�drawplinths(area4%(),"Menu",0)
��flags:�menuticks(flags$)
�:
��===================
��. Main program loop
��===================
�:
�quit%=�
��
�mousewait(-8)
� z%=4 �
choice%=-1
"
Ȏ � �
,!� �getboxno(x%,y%,area1%())>0
6?choice%=�getboxno(x%,y%,area1%())-1:�action(choice%,flags$)
@!� �getboxno(x%,y%,area2%())>0
J@choice%=15+�getboxno(x%,y%,area2%()):�action(choice%,flags$)
T(� �getboxno(x%,y%,area3%())>0:�input
^�flags$="icon"�shownumbers
h�ticks:�flags
r!� �getboxno(x%,y%,area4%())>0
|%choice%=�getboxno(x%,y%,area4%())
�Ȏ choice% �
��1:�windowflags
��2:�iconflags
�$�3:�adjust(flags$):�ticks:�flags
��4:�print(flags$)
��5:quit%=�
��
� choice%=-1
��
��
�� quit%
��("FX4"):� 12
��
:
/:==========================================
-�. Display ticks and hex number for flags
&/:==========================================
0:
:��flags
D6� build hex number from bits in bit%() and display
Nhex$=�flags
X� 128+14:� 3
b�70,1)"&"hex$
l�
v:
�ݤflags
��J%,K%,hex%,b$,i%:hex$=""
�� J%=8 � 1 �-1:b$=""
�� K%=4 � 1 �-1
�1i%=(J%*4)-(5-K%):� bit%(i%) b$+="1" � b$+="0"
��
�hex$+=�~(�("%"+b$))
��
�	=hex$
�:
���menuticks(flags$)
�� 5:gy%=area4%(1)+40
�(gx%=area4%(0)+area4%(2)-32:� gx%,gy%
 � flags$="window" � 3:� � 14

� �248
gx%+=area4%(2):� gx%,gy%
 � flags$="icon" � 3:� � 14
*
� �248
4	� 4:�
>�
H:
R��ticks
\� bit%:bit%=0
f�drawticks(area1%())
p�drawticks(area2%())
z�
�:
���drawticks(a%())
�
� ix%,iy%
�� 5
�,� iy%=a%(1)+a%(7)-a%(3) � a%(1) � -a%(3)
�+� ix%=a%(0) � a%(0)+a%(6)-a%(2) � a%(2)
�#� ix%+a%(2)-32,iy%+a%(3)-a%(12)
�� bit%(bit%) � 3:� � 14
�� �248:bit%+=1
��
��
�	� 4:�
��
:
/:==========================================
-�. Action following click on a bit plinth
$/:==========================================
.:
8��action(choice%,flags$)
B� J%
LȎ flags$ �
V� "window"
`/bit%(choice%)=� bit%(choice%):�ticks:�flags
j:
t� "icon"
~Ȏ choice% �
�%�0,1,2,3,4,5,7,8,9,10,11,21,22,23
�/bit%(choice%)=� bit%(choice%):�ticks:�flags
�:
�� 6:� anti-alias
�!bit%(choice%)=� bit%(choice%)
�7� bit%(choice%) �drawplinths(area5%(),"Bit6Set",-1)
�;� � bit%(choice%) �drawplinths(area5%(),"Bit6Unset",-1)
�+� J%=24 � 31:bit%(J%)=0:�:�ticks:�flags
�:
�� 12:� button type
��in(500,260,"",2):o%=�o$
�,� � �number(o$) � o%<0 � o%>15 � 7:o$=""
.�shownum(500,260,2,o$):�setbits(12,15,�o$)

�ticks:�flags
:
� 16:� ESG
(�in(1160,884,"",2):o%=�o$
27� � �number(o$) � (o%<1 � o$<>"") � o%>31 � 7:o$=""
</�shownum(1160,884,2,o$):�setbits(16,20,�o$)
F�ticks:�flags
P:
Z8� 24:� fg col OR (if bit 6 set) start of font handle
d� bit%(6) �
n�in(1160,468,"",3):o%=�o$
x8� � �number(o$) � (o%<1 � o$<>"") � o%>255 � 7:o$=""
�/�shownum(1160,468,3,o$):�setbits(24,31,�o$)
��
�� � bit%(6) �
��in(1160,468,"",2):o%=�o$
�,� � �number(o$) � o%<0 � o%>15 � 7:o$=""
�/�shownum(1160,468,2,o$):�setbits(24,27,�o$)
��
��ticks:�flags
�:
�7� 28:� bg col OR (if bit 6 set) rest of font handle
�� � bit%(6) �
��in(1160,262,"",2):o%=�o$
�,� � �number(o$) � o%<0 � o%>15 � 7:o$=""
/�shownum(1160,262,2,o$):�setbits(28,31,�o$)
�ticks:�flags
�
"�
,:
6�
@�
J:
Tݤnumber(c$)
^� l$,r$:l$=�c$,1):r$=�c$,1)
h=�num(l$) � �num(r$)
r
|
ݤnum(c$)
�=�"0123456789",c$)>0
�:
���shownumbers
�1o$=ädecodebits(12,15):�shownum(500,260,2,o$)
�2o$=ädecodebits(16,20):�shownum(1160,884,2,o$)
�� bit%(6) �
�'�drawplinths(area5%(),"Bit6Set",-1)
�2o$=ädecodebits(24,31):�shownum(1160,468,3,o$)
��
�� � bit%(6)�
�)�drawplinths(area5%(),"Bit6Unset",-1)
�2o$=ädecodebits(24,27):�shownum(1160,468,2,o$)
�2o$=ädecodebits(28,31):�shownum(1160,262,2,o$)
�
�
:
&��shownum(x%,y%,m%,n$)
0� 14:ȓȐx%,y%,m%*16,30
:*� 128+14:� 3:� 5:� x%,y%+30:� n$:� 4:�
D�
N:
X��setbits(f%,t%,n%)
b� J%,d%,v%:v%=2^(t%-f%)
l� J%=t% � f% �-1
v1d%=n% � v%:bit%(J%)=d%>0:n%=n% � v%:v%=v% � 2
��
��
�:
�ݤdecodebits(f%,t%)
�� J%,n%,v%:v%=2^(t%-f%)
�&� J%=t% � f% �-1:� bit%(J%) n%+=v%
�
v%=v% � 2
��
�=n%
�:
�-:========================================
�+�. Change between window and icon flags
�-:========================================
:
��windowflags
� flags$="window" �
 /flags$="window":�menuticks(flags$):bit%()=0
*�screen(flags$)
4�
>:
H��iconflags
R� flags$="icon" �
\-flags$="icon":�menuticks(flags$):bit%()=0
f�screen(flags$)
p�
z:
���screen(flags$)
�� flags$="window" �
��heading("Window Flags")
�'�drawplinths(area1%(),"Window1",-1)
�'�drawplinths(area2%(),"Window2",-1)
��ticks:�flags
��
�� flags$="icon" �
��heading("Icon Flags")
�%�drawplinths(area1%(),"Icon1",-1)
�%�drawplinths(area2%(),"Icon2",-1)
��ticks:�flags
��
	�
	:
	��heading(text$)
	$� 128+12:�28,1)�32," ")
	.� 1:�text(30,1,text$,2,1)
	8�
	B:
	L":=============================
	V �. Input flags as hex number
	`":=============================
	j:
	t��input
	~:� accept hex number from user and place bits in bit%()
	�� J%,K%,I%,hex$,h$,b$,c$,i%
	�)�in(1136,960,"",8):�o$="" � k%=27 � �
	�� � �hex(o$) � 7:�
	�hex$=��8,"0")+o$,8)
	�� J%=1 � 4
	�/h$="":� K%=1 � 2:h$+=�hex$,J%*2-(2-K%),1):�
	�b$=�bin(�("&"+h$))
	�� I%=1 � 8
	�c$=�b$,I%,1)
	�i%=31-((J%*8)-(9-I%))
	�$�c$="1" bit%(i%)=-1:� bit%(i%)=0
	��
�

�
:
ݤbin(dec%)
(;� returns 8 chr string of binary representation of dec%
2� bin$,bit%,div%
<bin$="":div%=128
F� bit%=7 � 0 �-1
P:� dec% � div%>0 bin$+="1":dec%=dec% � div% � bin$+="0"
Zdiv%=div% � 2
d�
n	=bin$
x:
�,��in(x%,y%,i$,m%):�l%,k%,p$,exit%:*FX4,1
�0l%=�i$:p$=�m%-l%,"-"):o$=i$:exit%=�:*FX229,1
��:*FX21
��7:ȓȐx%,y%,m%*16,30:�0
�(�5:�x%,y%+30:�o$+p$;:�x%+l%*16,y%+30
��:ȗmx%,my%,mb%:�mb%=0
�$�:k%=�0:ȗmx%,my%,mb%:��k%�mb%>0
�� print
�4�k%>31�k%<127�l%<m%o$=o$+�k%:p$=�p$,�p$-1):l%+=1
�� delete
�,�k%=127�l%>0o$=�o$,l%-1):p$=p$+"-":l%-=1
�� exit conditions
��k%=27�k%=13�mb%>0exit%=�
�exit%:�
�14:ȓȐx%,y%,m%*16,30
!�128+14:�3:�x%,y%+30:�o$:�4:�
"�k%=13����-74:*FX21
, �mb%>0�:ȗmx%,my%,mb%:�mb%=0
6
*FX229
@�
J:
T
ݤhex(s$)
^!� Is this a valid hex string?
h� c$,i%,c%:c%=1
r�:c$=�s$,c%,1):c%+=1
|$i%=�"ABCDEFabcdef0123456789",c$)
�� i%=0 � c%>�s$
��i%=0 �=�:�=�
�:
�2:=============================================
�0�. Adjust user's selection if logic dictates
�2:=============================================
�:
���adjust(flags$)
�.� if necessary, alter the user's selection
�� J%
�� flags$="window" �
�*� J%=13 � 15:bit%(J%)=0:�  :� reserved
�*� J%=20 � 23:bit%(J%)=0:�  :� reserved
2� J%=16 � 19:bit%(J%)=0:�  :� return info only
F� bit%(31) bit%(0)=0:bit%(2)=0:bit%(3)=0:bit%(7)=0  :� Arthur only
&� � bit%(26) bit%(24)=0:bit%(25)=0
&*   � need title bar for back and close
0&� � bit%(28) bit%(27)=0:bit%(29)=0
:/   � need vert scroll for resize and toggle
D�
N� flags$="icon" �
X*� bit%(6) � bit%(9) � bit%(0)=�:� text
b#� bit%(11) � bit%(1)=�:� sprite
l�
v�
�:
�/:==========================================
�-�. Hard-copy printout of current settings
�/:==========================================
�:
���print(flags$)
�� � �printerOK � � 7:�
��28,60,30,60,30,2:�'
�:
�� flags$="window" �
��"WINDOW FLAGS = &";�flags'
��restore("Window1")
�� J%=0 � 15

� t$:� J%<13 �

� t$+�40-�t$," ");

� bit%(J%) �"Y" � �"-"

 �

*�:�"13-24 Unused"

4�restore("Window2")

>� J%=16 � 31

H� t$:� J%>23 �

R� t$+�40-�t$," ");

\� bit%(J%) �"Y" � �"-"

f�

p�

z�

�:

�� flags$="icon" �

��"ICON FLAGS = &";�flags'

��restore("Icon1")

�� J%=0 � 15

�� t$:� J%<13 �

�� bit%(J%) n$="Y" � n$="-"

�"� J%=12 n$=ädecodebits(12,15)

�� t$+�40-�t$-�n$," ")+n$

��

��

��restore("Icon2")

�� J%=16 � 23
*� t$:� J%=16 � (J%>20�J%<25) � J%=28 �
� bit%(J%) n$="Y" � n$="-"
"� J%=16 n$=ädecodebits(16,20)
$� t$+�40-�t$-�n$," ")+n$
.�
8�
B:
L� bit%(6) �
V3�restore("Bit6Set"):� t$:n$=ädecodebits(24,31)
`� t$+�40-�t$-�n$," ")+n$
j�
t:
~� � bit%(6) �
��restore("Bit6Unset")
�� J%=24 � 28
�� t$:� J%=24 � J%=28 �
�"� J%=24 n$=ädecodebits(24,27)
�"� J%=28 n$=ädecodebits(28,31)
�� t$+�40-�t$-�n$," ")+n$
��
��
��
��
�:
�	�3,26
�

:
ݤprinterOK
buffersize=�(-4)
(�2,1,0,1,0,1,0,1,0,1,0,3
2dummy=�(2)
<=(�(-4)=buffersize)
F:
P):====================================
Z'�. General procedures and functions
d):====================================
n:
x��text(x%,y%,t$,xs,ys)
�� m%,p%,n%:m%=�
�&p%=2^((m%-(m%>5�m%<12�m%=14))�3+1)
��5
��23,17,7,6,8*xs;8*ys|
��(t$)<5n%=24:�n%=4
��x%*8*p%+n%,1020-y%*32
��t$;
��23,17,7,6,8;8|
��4:�
��
�:
���mousewait(n)
�$� 0-7: Wait for this mouse state
� neg: Wait for zero first
� 8:   Wait for any button
� 16:  Wait for keypress
"� anypress,inkey,m,a,b,c
,*FX21,9
6 � n<0 � �mousewait(0):n=�(n)
@ � (n � 16)>0 � inkey=�:*FX21
J� (n � 8)>0 � anypress=�
Tm=n � 7:w%=-1
^�
hȗ x%,y%,z%
r� inkey � w%=�(0)
|a=(z%=m � � (n>7 � m=0))
�b=(anypress � (z%>0))
�c=(inkey � (w%>-1))
�� a � b � c
��
�:
�&ݤpositiond(x%,y%,x1%,y1%,xd%,yd%)
�.=x%>x1% � x%<x1%+xd% � y%>y1% � y%<y1%+yd%
�:
�ݤgetboxno(x%,y%,a%())
� � Returns no of selected box
�$� Counting from top left (=no 1)
�� and moving left to right
�� ix%,iy%,no%
1� �positiond(x%,y%,a%(0),a%(1),a%(6),a%(7)) �
ix%=(x%-a%(0)) � a%(2)+1
"iy%=a%(5)-(y%-a%(1)) � a%(3)-1
&no%=ix%+a%(4)*iy%
0� no%=-1
:�
D=no%
N:
X ��drawplinths(a%(),text$,t%)
b)� Draws set of plinths (t%=text only)
l� ix%,iy%,no%
va%(6)=a%(2)*a%(4)
�a%(7)=a%(3)*a%(5)
�&� a%(0)=-1 � a%(0)=(1280-a%(6))� 2
�$� text$<>"" � �restore(text$):�5
�,� iy%=a%(1)+a%(7)-a%(3) � a%(1) � -a%(3)
�+� ix%=a%(0) � a%(0)+a%(6)-a%(2) � a%(2)
��t%�
�� a%(15) � 63 Ȝ a%(15)
�%x=ix%:y=iy%:w=8:wx=a%(2):wy=a%(3)
�ȓ Ȑ x+w,y+w,wx-2*w,wy-2*w
��
�G�plinth(ix%,iy%,a%(2),a%(3),8,a%(13),a%(14),a%(15),a%(16),a%(17),�)
��
�� text$<>"" �
!� ix%+a%(11),iy%+a%(3)-a%(12)
� text$:� a%(10):�text$
�
 �
*�
4� text$<>"" � �4:�
>�
H�
R:
\/��plinth(x,y,wx,wy,w,c0,c1,c2,c3,c4,raised)
f� � raised � Ȕ c1,c3
p� c1 � 63 Ȝ c1
zȓ Ȑ x,y,wx,wy
�� c3 � 63 Ȝ c3
�ȓ Ȑ x+w,y,wx-2*w,w
�ȓ Ȑ x+wx-w,y,w,wy-w
�� x,y:� x+w,y
��85,x+w,y+w:� x+wx-w,y+wy-w
�� x+wx,y+wy-w
��85,x+wx,y+wy:�85,x+wx,y+wy
�� � raised � Ȕ c0,c4
�� c0 � 63 Ȝ c0
�� x,y+wy,x+w,y+wy-w
�� c4 � 63 Ȝ c4
�� x+wx,y,x+wx-w,y+w
�� c2 � 63 Ȝ c2
ȓ Ȑ x+w,y+w,wx-2*w,wy-2*w
�
:
$:==================
.�. Initialisation
8:==================
B:
L
��init
V� bit%(31)
`� area1%(17)  :� bits 0-15
j� area2%(17)  :� bits 16-31
t� area3%(17)  :� flags
~� area4%(17)  :� menu
�,� area5%(17)  :� bits 24-31 (icon flags)
�:
�� set up palette
�� 12,208,208,192
�� 13,176,176,176
�� 14,128,128,128
�� 15,16,16,16
�:
�*�12+128:�        :� yellow/grey screen
�/�19,0,24,208,208,192  :� yellow/grey border
�:
�� define chr for tick
$�23,248,&0100;&4402;&1028;&0000;

:
flags$="window"
�:*POINTER
(:
2
� bits
<-area1%(0)=0    :area2%(0)=638  :� X coord
F-area1%(1)=96   :area2%(1)=96   :� Y coord
P0area1%(2)=624  :area2%(2)=636  :� Cell width
Z1area1%(3)=52   :area2%(3)=52   :� Cell height
d2area1%(4)=1    :area2%(4)=1    :� Cells across
n0area1%(5)=16   :area2%(5)=16   :� Cells down
x:
�=� flags      :REM menu       :REM bits 24-31 (icon flags)
�1area3%(0)=968  :area4%(0)=0    :area5%(0)=638
�0area3%(1)=948  :area4%(1)=16   :area5%(1)=96
�1area3%(2)=304  :area4%(2)=255  :area5%(2)=636
�0area3%(3)=60   :area4%(3)=60   :area5%(3)=52
�/area3%(4)=1    :area4%(4)=5    :area5%(4)=1
�/area3%(5)=1    :area4%(5)=1    :area5%(5)=8
�:
�
� Colours
��restore("Colours")
�� J%=8 � 17
�� n%
�Iarea1%(J%)=n%:area2%(J%)=n%:area3%(J%)=n%:area4%(J%)=n%:area5%(J%)=n%
�
�
:
"��restore(label$)
,�
6�:� a$:� a$=label$
@�
J:
T
� Window1
^� " 0  (Arthur only)"
h!� " 1  Window can be dragged"
r� " 2  (Arthur only)"
|� " 3  (Arthur only)"
�� " 4  No user graphics"
�� " 5  Window is a pane"
�'� " 6  Window can go beyond screen"
�� " 7  (Arthur only)"
�&� " 8  Scroll without auto-repeat"
�#� " 9  Scroll with auto-repeat"
�)� "10  Treat colours as GCOL numbers"
�%� "11  No windows below this one"
�*� "12  Produce reasons for 'hot keys'"
�%� "13  (Reserved - must be zero)"
�%� "14  (Reserved - must be zero)"
�%� "15  (Reserved - must be zero)"
�:

� Window2
&� "16  (Used to return info only)"
&� "17  (Used to return info only)"
&&� "18  (Used to return info only)"
0&� "19  (Used to return info only)"
:%� "20  (Reserved - must be zero)"
D%� "21  (Reserved - must be zero)"
N%� "22  (Reserved - must be zero)"
X%� "23  (Reserved - must be zero)"
b"� "24  Window has a back icon"
l#� "25  Window has a close icon"
v"� "26  Window has a title bar"
�)� "27  Window has a toggle size icon"
�(� "28  Window has a vert scroll bar"
�'� "29  Window has an adj size icon"
�)� "30  Window has a horiz scroll bar"
�&� "31  Ignore 'Arthur only' flags"
�:
�� Icon1
� � " 0    Icon contains text"
�$� " 1    Icon contains a sprite"
�� " 2    Icon has a border"
�#� " 3    Horizontally centered"
�!� " 4    Vertically centered"
�� " 5    Filled background"
"� " 6    Text is anti-aliased"
'� " 7    Needs task to redraw icon"
%� " 8    Icon data is indirected"
 %� " 9    Text is right-justified"
*(� "10    If Adjust clicked keep ESG"
4)� "11    Display sprite at half size"
>%� "12-15 Icon button type (0-15)"
H� "13    ''"
R� "14    ''"
\� "15    ''"
f:
p� Icon2
z� "16-20 E S G (1-31)"
�� "17    ''"
�� "18    ''"
�� "19    ''"
�� "20    ''"
�&� "21    Icon is already selected"
�$� "22    Icon is not selectable"
�#� "23    Icon has been deleted"
�&� "24-27 Foreground colour (0-15)"
�� "25    ''"
�� "26    ''"
�� "27    ''"
�&� "28-31 Background colour (0-15)"
�� "29    ''"
� "30    ''"
� "31    ''"
:
$� Bit6Unset
.&� "24-27 Foreground colour (0-15)"
8� "25    ''"
B� "26    ''"
L� "27    ''"
V&� "28-31 Background colour (0-15)"
`� "29    ''"
j� "30    ''"
t� "31    ''"
~:
�
� Bit6Set
�'� "24-31 Alias font handle (1-255)"
�� "25    ''"
�� "26    ''"
�� "27    ''"
�� "28    ''"
�� "29    ''"
�� "30    ''"
�� "31    ''"
�:
�� Flags
�� "Flags ="
:


� Menu
� Window flags
� Icon flags
(� "    Adjust"
2� "     Print"
<� "     Quit"
F:
P
� Colours
Z� 4,7,7,16,16
d� Box bcg blue
n� Box line white
x� White text
�� Text x offset
�� Text y offset
�� 7,13,14,15,0,7
�
00000000  0d 00 0a 20 f4 20 3e 20  3c 57 69 6d 70 41 69 64  |... . > <WimpAid|
00000010  24 44 69 72 3e 2e 46 6c  61 67 53 65 74 74 65 72  |$Dir>.FlagSetter|
00000020  0d 00 14 1a f4 20 47 72  61 68 61 6d 20 43 72 6f  |..... Graham Cro|
00000030  77 20 20 31 35 2f 33 2f  39 30 0d 00 1e 05 3a 0d  |w  15/3/90....:.|
00000040  00 28 34 f4 20 55 74 69  6c 69 74 79 20 66 6f 72  |.(4. Utility for|
00000050  20 73 65 74 74 69 6e 67  20 74 68 65 20 57 49 4d  | setting the WIM|
00000060  50 20 77 69 6e 64 6f 77  2f 69 63 6f 6e 20 66 6c  |P window/icon fl|
00000070  61 67 73 0d 00 32 05 3a  0d 00 3c 15 f4 3d 3d 3d  |ags..2.:..<..===|
00000080  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 0d 00 46  |=============..F|
00000090  15 f4 2e 20 50 72 6f 67  72 61 6d 20 73 65 74 2d  |... Program set-|
000000a0  75 70 0d 00 50 15 f4 3d  3d 3d 3d 3d 3d 3d 3d 3d  |up..P..=========|
000000b0  3d 3d 3d 3d 3d 3d 3d 0d  00 5a 05 3a 0d 00 64 08  |=======..Z.:..d.|
000000c0  eb 20 31 32 0d 00 6e 2c  ee 20 85 20 ff 28 22 46  |. 12..n,. . .("F|
000000d0  58 34 22 29 3a eb 31 32  3a ef 33 3a f6 3a f1 22  |X4"):.12:.3:.:."|
000000e0  20 61 74 20 6c 69 6e 65  20 22 3b 9e 3a ee 3a e0  | at line ";.:.:.|
000000f0  0d 00 78 09 f2 69 6e 69  74 0d 00 82 3f e6 31 3a  |..x..init...?.1:|
00000100  f2 74 65 78 74 28 30 2c  31 2c 22 52 49 53 43 20  |.text(0,1,"RISC |
00000110  4f 53 20 57 49 4d 50 20  2d 22 2c 32 2c 31 29 3a  |OS WIMP -",2,1):|
00000120  f2 68 65 61 64 69 6e 67  28 22 57 69 6e 64 6f 77  |.heading("Window|
00000130  20 46 6c 61 67 73 22 29  0d 00 8c 26 f2 64 72 61  | Flags")...&.dra|
00000140  77 70 6c 69 6e 74 68 73  28 61 72 65 61 31 25 28  |wplinths(area1%(|
00000150  29 2c 22 57 69 6e 64 6f  77 31 22 2c 30 29 0d 00  |),"Window1",0)..|
00000160  96 26 f2 64 72 61 77 70  6c 69 6e 74 68 73 28 61  |.&.drawplinths(a|
00000170  72 65 61 32 25 28 29 2c  22 57 69 6e 64 6f 77 32  |rea2%(),"Window2|
00000180  22 2c 30 29 0d 00 a0 24  f2 64 72 61 77 70 6c 69  |",0)...$.drawpli|
00000190  6e 74 68 73 28 61 72 65  61 33 25 28 29 2c 22 46  |nths(area3%(),"F|
000001a0  6c 61 67 73 22 2c 30 29  0d 00 aa 23 f2 64 72 61  |lags",0)...#.dra|
000001b0  77 70 6c 69 6e 74 68 73  28 61 72 65 61 34 25 28  |wplinths(area4%(|
000001c0  29 2c 22 4d 65 6e 75 22  2c 30 29 0d 00 b4 1d f2  |),"Menu",0).....|
000001d0  66 6c 61 67 73 3a f2 6d  65 6e 75 74 69 63 6b 73  |flags:.menuticks|
000001e0  28 66 6c 61 67 73 24 29  0d 00 be 05 3a 0d 00 c8  |(flags$)....:...|
000001f0  18 f4 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |..==============|
00000200  3d 3d 3d 3d 3d 0d 00 d2  18 f4 2e 20 4d 61 69 6e  |=====...... Main|
00000210  20 70 72 6f 67 72 61 6d  20 6c 6f 6f 70 0d 00 dc  | program loop...|
00000220  18 f4 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |..==============|
00000230  3d 3d 3d 3d 3d 0d 00 e6  05 3a 0d 00 f0 0b 71 75  |=====....:....qu|
00000240  69 74 25 3d a3 0d 00 fa  05 f5 0d 01 04 12 f2 6d  |it%=...........m|
00000250  6f 75 73 65 77 61 69 74  28 2d 38 29 0d 01 0e 0c  |ousewait(-8)....|
00000260  e7 20 7a 25 3d 34 20 8c  0d 01 18 0e 63 68 6f 69  |. z%=4 .....choi|
00000270  63 65 25 3d 2d 31 0d 01  22 0a c8 8e 20 b9 20 ca  |ce%=-1.."... . .|
00000280  0d 01 2c 21 c9 20 a4 67  65 74 62 6f 78 6e 6f 28  |..,!. .getboxno(|
00000290  78 25 2c 79 25 2c 61 72  65 61 31 25 28 29 29 3e  |x%,y%,area1%())>|
000002a0  30 0d 01 36 3f 63 68 6f  69 63 65 25 3d a4 67 65  |0..6?choice%=.ge|
000002b0  74 62 6f 78 6e 6f 28 78  25 2c 79 25 2c 61 72 65  |tboxno(x%,y%,are|
000002c0  61 31 25 28 29 29 2d 31  3a f2 61 63 74 69 6f 6e  |a1%())-1:.action|
000002d0  28 63 68 6f 69 63 65 25  2c 66 6c 61 67 73 24 29  |(choice%,flags$)|
000002e0  0d 01 40 21 c9 20 a4 67  65 74 62 6f 78 6e 6f 28  |..@!. .getboxno(|
000002f0  78 25 2c 79 25 2c 61 72  65 61 32 25 28 29 29 3e  |x%,y%,area2%())>|
00000300  30 0d 01 4a 40 63 68 6f  69 63 65 25 3d 31 35 2b  |0..J@choice%=15+|
00000310  a4 67 65 74 62 6f 78 6e  6f 28 78 25 2c 79 25 2c  |.getboxno(x%,y%,|
00000320  61 72 65 61 32 25 28 29  29 3a f2 61 63 74 69 6f  |area2%()):.actio|
00000330  6e 28 63 68 6f 69 63 65  25 2c 66 6c 61 67 73 24  |n(choice%,flags$|
00000340  29 0d 01 54 28 c9 20 a4  67 65 74 62 6f 78 6e 6f  |)..T(. .getboxno|
00000350  28 78 25 2c 79 25 2c 61  72 65 61 33 25 28 29 29  |(x%,y%,area3%())|
00000360  3e 30 3a f2 69 6e 70 75  74 0d 01 5e 1e e7 66 6c  |>0:.input..^..fl|
00000370  61 67 73 24 3d 22 69 63  6f 6e 22 f2 73 68 6f 77  |ags$="icon".show|
00000380  6e 75 6d 62 65 72 73 0d  01 68 11 f2 74 69 63 6b  |numbers..h..tick|
00000390  73 3a f2 66 6c 61 67 73  0d 01 72 21 c9 20 a4 67  |s:.flags..r!. .g|
000003a0  65 74 62 6f 78 6e 6f 28  78 25 2c 79 25 2c 61 72  |etboxno(x%,y%,ar|
000003b0  65 61 34 25 28 29 29 3e  30 0d 01 7c 25 63 68 6f  |ea4%())>0..|%cho|
000003c0  69 63 65 25 3d a4 67 65  74 62 6f 78 6e 6f 28 78  |ice%=.getboxno(x|
000003d0  25 2c 79 25 2c 61 72 65  61 34 25 28 29 29 0d 01  |%,y%,area4%())..|
000003e0  86 10 c8 8e 20 63 68 6f  69 63 65 25 20 ca 0d 01  |.... choice% ...|
000003f0  90 13 c9 31 3a f2 77 69  6e 64 6f 77 66 6c 61 67  |...1:.windowflag|
00000400  73 0d 01 9a 11 c9 32 3a  f2 69 63 6f 6e 66 6c 61  |s.....2:.iconfla|
00000410  67 73 0d 01 a4 24 c9 33  3a f2 61 64 6a 75 73 74  |gs...$.3:.adjust|
00000420  28 66 6c 61 67 73 24 29  3a f2 74 69 63 6b 73 3a  |(flags$):.ticks:|
00000430  f2 66 6c 61 67 73 0d 01  ae 15 c9 34 3a f2 70 72  |.flags.....4:.pr|
00000440  69 6e 74 28 66 6c 61 67  73 24 29 0d 01 b8 0e c9  |int(flags$).....|
00000450  35 3a 71 75 69 74 25 3d  b9 0d 01 c2 05 cb 0d 01  |5:quit%=........|
00000460  cc 10 7f 20 63 68 6f 69  63 65 25 3d 2d 31 0d 01  |... choice%=-1..|
00000470  d6 05 cb 0d 01 e0 05 cd  0d 01 ea 0b fd 20 71 75  |............. qu|
00000480  69 74 25 0d 01 f4 11 ff  28 22 46 58 34 22 29 3a  |it%.....("FX4"):|
00000490  eb 20 31 32 0d 01 fe 05  e0 0d 02 08 05 3a 0d 02  |. 12.........:..|
000004a0  12 2f 3a 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |./:=============|
000004b0  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
000004c0  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 0d 02 1c  |=============...|
000004d0  2d f4 2e 20 44 69 73 70  6c 61 79 20 74 69 63 6b  |-.. Display tick|
000004e0  73 20 61 6e 64 20 68 65  78 20 6e 75 6d 62 65 72  |s and hex number|
000004f0  20 66 6f 72 20 66 6c 61  67 73 0d 02 26 2f 3a 3d  | for flags..&/:=|
00000500  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
00000520  3d 3d 3d 3d 3d 3d 3d 3d  3d 0d 02 30 05 3a 0d 02  |=========..0.:..|
00000530  3a 0b dd f2 66 6c 61 67  73 0d 02 44 36 f4 20 62  |:...flags..D6. b|
00000540  75 69 6c 64 20 68 65 78  20 6e 75 6d 62 65 72 20  |uild hex number |
00000550  66 72 6f 6d 20 62 69 74  73 20 69 6e 20 62 69 74  |from bits in bit|
00000560  25 28 29 20 61 6e 64 20  64 69 73 70 6c 61 79 0d  |%() and display.|
00000570  02 4e 0f 68 65 78 24 3d  a4 66 6c 61 67 73 0d 02  |.N.hex$=.flags..|
00000580  58 10 fb 20 31 32 38 2b  31 34 3a fb 20 33 0d 02  |X.. 128+14:. 3..|
00000590  62 12 f1 8a 37 30 2c 31  29 22 26 22 68 65 78 24  |b...70,1)"&"hex$|
000005a0  0d 02 6c 05 e1 0d 02 76  05 3a 0d 02 80 0b dd a4  |..l....v.:......|
000005b0  66 6c 61 67 73 0d 02 8a  1d ea 4a 25 2c 4b 25 2c  |flags.....J%,K%,|
000005c0  68 65 78 25 2c 62 24 2c  69 25 3a 68 65 78 24 3d  |hex%,b$,i%:hex$=|
000005d0  22 22 0d 02 94 18 e3 20  4a 25 3d 38 20 b8 20 31  |""..... J%=8 . 1|
000005e0  20 88 2d 31 3a 62 24 3d  22 22 0d 02 9e 12 e3 20  | .-1:b$=""..... |
000005f0  4b 25 3d 34 20 b8 20 31  20 88 2d 31 0d 02 a8 31  |K%=4 . 1 .-1...1|
00000600  69 25 3d 28 4a 25 2a 34  29 2d 28 35 2d 4b 25 29  |i%=(J%*4)-(5-K%)|
00000610  3a e7 20 62 69 74 25 28  69 25 29 20 62 24 2b 3d  |:. bit%(i%) b$+=|
00000620  22 31 22 20 8b 20 62 24  2b 3d 22 30 22 0d 02 b2  |"1" . b$+="0"...|
00000630  05 ed 0d 02 bc 17 68 65  78 24 2b 3d c3 7e 28 a0  |......hex$+=.~(.|
00000640  28 22 25 22 2b 62 24 29  29 0d 02 c6 05 ed 0d 02  |("%"+b$)).......|
00000650  d0 09 3d 68 65 78 24 0d  02 da 05 3a 0d 02 e4 17  |..=hex$....:....|
00000660  dd f2 6d 65 6e 75 74 69  63 6b 73 28 66 6c 61 67  |..menuticks(flag|
00000670  73 24 29 0d 02 ee 18 ef  20 35 3a 67 79 25 3d 61  |s$)..... 5:gy%=a|
00000680  72 65 61 34 25 28 31 29  2b 34 30 0d 02 f8 28 67  |rea4%(1)+40...(g|
00000690  78 25 3d 61 72 65 61 34  25 28 30 29 2b 61 72 65  |x%=area4%(0)+are|
000006a0  61 34 25 28 32 29 2d 33  32 3a ec 20 67 78 25 2c  |a4%(2)-32:. gx%,|
000006b0  67 79 25 0d 03 02 20 e7  20 66 6c 61 67 73 24 3d  |gy%... . flags$=|
000006c0  22 77 69 6e 64 6f 77 22  20 e6 20 33 3a 8b 20 e6  |"window" . 3:. .|
000006d0  20 31 34 0d 03 0c 0a f1  20 bd 32 34 38 0d 03 16  | 14..... .248...|
000006e0  1c 67 78 25 2b 3d 61 72  65 61 34 25 28 32 29 3a  |.gx%+=area4%(2):|
000006f0  ec 20 67 78 25 2c 67 79  25 0d 03 20 1e e7 20 66  |. gx%,gy%.. .. f|
00000700  6c 61 67 73 24 3d 22 69  63 6f 6e 22 20 e6 20 33  |lags$="icon" . 3|
00000710  3a 8b 20 e6 20 31 34 0d  03 2a 0a f1 20 bd 32 34  |:. . 14..*.. .24|
00000720  38 0d 03 34 09 ef 20 34  3a 87 0d 03 3e 05 e1 0d  |8..4.. 4:...>...|
00000730  03 48 05 3a 0d 03 52 0b  dd f2 74 69 63 6b 73 0d  |.H.:..R...ticks.|
00000740  03 5c 11 ea 20 62 69 74  25 3a 62 69 74 25 3d 30  |.\.. bit%:bit%=0|
00000750  0d 03 66 18 f2 64 72 61  77 74 69 63 6b 73 28 61  |..f..drawticks(a|
00000760  72 65 61 31 25 28 29 29  0d 03 70 18 f2 64 72 61  |rea1%())..p..dra|
00000770  77 74 69 63 6b 73 28 61  72 65 61 32 25 28 29 29  |wticks(area2%())|
00000780  0d 03 7a 05 e1 0d 03 84  05 3a 0d 03 8e 15 dd f2  |..z......:......|
00000790  64 72 61 77 74 69 63 6b  73 28 61 25 28 29 29 0d  |drawticks(a%()).|
000007a0  03 98 0d ea 20 69 78 25  2c 69 79 25 0d 03 a2 07  |.... ix%,iy%....|
000007b0  ef 20 35 0d 03 ac 2c e3  20 69 79 25 3d 61 25 28  |. 5...,. iy%=a%(|
000007c0  31 29 2b 61 25 28 37 29  2d 61 25 28 33 29 20 b8  |1)+a%(7)-a%(3) .|
000007d0  20 61 25 28 31 29 20 88  20 2d 61 25 28 33 29 0d  | a%(1) . -a%(3).|
000007e0  03 b6 2b e3 20 69 78 25  3d 61 25 28 30 29 20 b8  |..+. ix%=a%(0) .|
000007f0  20 61 25 28 30 29 2b 61  25 28 36 29 2d 61 25 28  | a%(0)+a%(6)-a%(|
00000800  32 29 20 88 20 61 25 28  32 29 0d 03 c0 23 ec 20  |2) . a%(2)...#. |
00000810  69 78 25 2b 61 25 28 32  29 2d 33 32 2c 69 79 25  |ix%+a%(2)-32,iy%|
00000820  2b 61 25 28 33 29 2d 61  25 28 31 32 29 0d 03 ca  |+a%(3)-a%(12)...|
00000830  1b e7 20 62 69 74 25 28  62 69 74 25 29 20 e6 20  |.. bit%(bit%) . |
00000840  33 3a 8b 20 e6 20 31 34  0d 03 d4 12 f1 20 bd 32  |3:. . 14..... .2|
00000850  34 38 3a 62 69 74 25 2b  3d 31 0d 03 de 05 ed 0d  |48:bit%+=1......|
00000860  03 e8 05 ed 0d 03 f2 09  ef 20 34 3a 87 0d 03 fc  |......... 4:....|
00000870  05 e1 0d 04 06 05 3a 0d  04 10 2f 3a 3d 3d 3d 3d  |......:.../:====|
00000880  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
000008a0  3d 3d 3d 3d 3d 3d 0d 04  1a 2d f4 2e 20 41 63 74  |======...-.. Act|
000008b0  69 6f 6e 20 66 6f 6c 6c  6f 77 69 6e 67 20 63 6c  |ion following cl|
000008c0  69 63 6b 20 6f 6e 20 61  20 62 69 74 20 70 6c 69  |ick on a bit pli|
000008d0  6e 74 68 0d 04 24 2f 3a  3d 3d 3d 3d 3d 3d 3d 3d  |nth..$/:========|
000008e0  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
00000900  3d 3d 0d 04 2e 05 3a 0d  04 38 1c dd f2 61 63 74  |==....:..8...act|
00000910  69 6f 6e 28 63 68 6f 69  63 65 25 2c 66 6c 61 67  |ion(choice%,flag|
00000920  73 24 29 0d 04 42 08 ea  20 4a 25 0d 04 4c 0f c8  |s$)..B.. J%..L..|
00000930  8e 20 66 6c 61 67 73 24  20 ca 0d 04 56 0e c9 20  |. flags$ ...V.. |
00000940  22 77 69 6e 64 6f 77 22  0d 04 60 2f 62 69 74 25  |"window"..`/bit%|
00000950  28 63 68 6f 69 63 65 25  29 3d ac 20 62 69 74 25  |(choice%)=. bit%|
00000960  28 63 68 6f 69 63 65 25  29 3a f2 74 69 63 6b 73  |(choice%):.ticks|
00000970  3a f2 66 6c 61 67 73 0d  04 6a 05 3a 0d 04 74 0c  |:.flags..j.:..t.|
00000980  c9 20 22 69 63 6f 6e 22  0d 04 7e 10 c8 8e 20 63  |. "icon"..~... c|
00000990  68 6f 69 63 65 25 20 ca  0d 04 88 25 c9 30 2c 31  |hoice% ....%.0,1|
000009a0  2c 32 2c 33 2c 34 2c 35  2c 37 2c 38 2c 39 2c 31  |,2,3,4,5,7,8,9,1|
000009b0  30 2c 31 31 2c 32 31 2c  32 32 2c 32 33 0d 04 92  |0,11,21,22,23...|
000009c0  2f 62 69 74 25 28 63 68  6f 69 63 65 25 29 3d ac  |/bit%(choice%)=.|
000009d0  20 62 69 74 25 28 63 68  6f 69 63 65 25 29 3a f2  | bit%(choice%):.|
000009e0  74 69 63 6b 73 3a f2 66  6c 61 67 73 0d 04 9c 05  |ticks:.flags....|
000009f0  3a 0d 04 a6 14 c9 20 36  3a f4 20 61 6e 74 69 2d  |:..... 6:. anti-|
00000a00  61 6c 69 61 73 0d 04 b0  21 62 69 74 25 28 63 68  |alias...!bit%(ch|
00000a10  6f 69 63 65 25 29 3d ac  20 62 69 74 25 28 63 68  |oice%)=. bit%(ch|
00000a20  6f 69 63 65 25 29 0d 04  ba 37 e7 20 62 69 74 25  |oice%)...7. bit%|
00000a30  28 63 68 6f 69 63 65 25  29 20 f2 64 72 61 77 70  |(choice%) .drawp|
00000a40  6c 69 6e 74 68 73 28 61  72 65 61 35 25 28 29 2c  |linths(area5%(),|
00000a50  22 42 69 74 36 53 65 74  22 2c 2d 31 29 0d 04 c4  |"Bit6Set",-1)...|
00000a60  3b e7 20 ac 20 62 69 74  25 28 63 68 6f 69 63 65  |;. . bit%(choice|
00000a70  25 29 20 f2 64 72 61 77  70 6c 69 6e 74 68 73 28  |%) .drawplinths(|
00000a80  61 72 65 61 35 25 28 29  2c 22 42 69 74 36 55 6e  |area5%(),"Bit6Un|
00000a90  73 65 74 22 2c 2d 31 29  0d 04 ce 2b e3 20 4a 25  |set",-1)...+. J%|
00000aa0  3d 32 34 20 b8 20 33 31  3a 62 69 74 25 28 4a 25  |=24 . 31:bit%(J%|
00000ab0  29 3d 30 3a ed 3a f2 74  69 63 6b 73 3a f2 66 6c  |)=0:.:.ticks:.fl|
00000ac0  61 67 73 0d 04 d8 05 3a  0d 04 e2 16 c9 20 31 32  |ags....:..... 12|
00000ad0  3a f4 20 62 75 74 74 6f  6e 20 74 79 70 65 0d 04  |:. button type..|
00000ae0  ec 1c f2 69 6e 28 35 30  30 2c 32 36 30 2c 22 22  |...in(500,260,""|
00000af0  2c 32 29 3a 6f 25 3d bb  6f 24 0d 04 f6 2c e7 20  |,2):o%=.o$...,. |
00000b00  ac 20 a4 6e 75 6d 62 65  72 28 6f 24 29 20 84 20  |. .number(o$) . |
00000b10  6f 25 3c 30 20 84 20 6f  25 3e 31 35 20 ef 20 37  |o%<0 . o%>15 . 7|
00000b20  3a 6f 24 3d 22 22 0d 05  00 2e f2 73 68 6f 77 6e  |:o$="".....shown|
00000b30  75 6d 28 35 30 30 2c 32  36 30 2c 32 2c 6f 24 29  |um(500,260,2,o$)|
00000b40  3a f2 73 65 74 62 69 74  73 28 31 32 2c 31 35 2c  |:.setbits(12,15,|
00000b50  bb 6f 24 29 0d 05 0a 11  f2 74 69 63 6b 73 3a f2  |.o$).....ticks:.|
00000b60  66 6c 61 67 73 0d 05 14  05 3a 0d 05 1e 0e c9 20  |flags....:..... |
00000b70  31 36 3a f4 20 45 53 47  0d 05 28 1d f2 69 6e 28  |16:. ESG..(..in(|
00000b80  31 31 36 30 2c 38 38 34  2c 22 22 2c 32 29 3a 6f  |1160,884,"",2):o|
00000b90  25 3d bb 6f 24 0d 05 32  37 e7 20 ac 20 a4 6e 75  |%=.o$..27. . .nu|
00000ba0  6d 62 65 72 28 6f 24 29  20 84 20 28 6f 25 3c 31  |mber(o$) . (o%<1|
00000bb0  20 80 20 6f 24 3c 3e 22  22 29 20 84 20 6f 25 3e  | . o$<>"") . o%>|
00000bc0  33 31 20 ef 20 37 3a 6f  24 3d 22 22 0d 05 3c 2f  |31 . 7:o$=""..</|
00000bd0  f2 73 68 6f 77 6e 75 6d  28 31 31 36 30 2c 38 38  |.shownum(1160,88|
00000be0  34 2c 32 2c 6f 24 29 3a  f2 73 65 74 62 69 74 73  |4,2,o$):.setbits|
00000bf0  28 31 36 2c 32 30 2c bb  6f 24 29 0d 05 46 11 f2  |(16,20,.o$)..F..|
00000c00  74 69 63 6b 73 3a f2 66  6c 61 67 73 0d 05 50 05  |ticks:.flags..P.|
00000c10  3a 0d 05 5a 38 c9 20 32  34 3a f4 20 66 67 20 63  |:..Z8. 24:. fg c|
00000c20  6f 6c 20 4f 52 20 28 69  66 20 62 69 74 20 36 20  |ol OR (if bit 6 |
00000c30  73 65 74 29 20 73 74 61  72 74 20 6f 66 20 66 6f  |set) start of fo|
00000c40  6e 74 20 68 61 6e 64 6c  65 0d 05 64 0f e7 20 62  |nt handle..d.. b|
00000c50  69 74 25 28 36 29 20 8c  0d 05 6e 1d f2 69 6e 28  |it%(6) ...n..in(|
00000c60  31 31 36 30 2c 34 36 38  2c 22 22 2c 33 29 3a 6f  |1160,468,"",3):o|
00000c70  25 3d bb 6f 24 0d 05 78  38 e7 20 ac 20 a4 6e 75  |%=.o$..x8. . .nu|
00000c80  6d 62 65 72 28 6f 24 29  20 84 20 28 6f 25 3c 31  |mber(o$) . (o%<1|
00000c90  20 80 20 6f 24 3c 3e 22  22 29 20 84 20 6f 25 3e  | . o$<>"") . o%>|
00000ca0  32 35 35 20 ef 20 37 3a  6f 24 3d 22 22 0d 05 82  |255 . 7:o$=""...|
00000cb0  2f f2 73 68 6f 77 6e 75  6d 28 31 31 36 30 2c 34  |/.shownum(1160,4|
00000cc0  36 38 2c 33 2c 6f 24 29  3a f2 73 65 74 62 69 74  |68,3,o$):.setbit|
00000cd0  73 28 32 34 2c 33 31 2c  bb 6f 24 29 0d 05 8c 05  |s(24,31,.o$)....|
00000ce0  cd 0d 05 96 11 e7 20 ac  20 62 69 74 25 28 36 29  |...... . bit%(6)|
00000cf0  20 8c 0d 05 a0 1d f2 69  6e 28 31 31 36 30 2c 34  | ......in(1160,4|
00000d00  36 38 2c 22 22 2c 32 29  3a 6f 25 3d bb 6f 24 0d  |68,"",2):o%=.o$.|
00000d10  05 aa 2c e7 20 ac 20 a4  6e 75 6d 62 65 72 28 6f  |..,. . .number(o|
00000d20  24 29 20 84 20 6f 25 3c  30 20 84 20 6f 25 3e 31  |$) . o%<0 . o%>1|
00000d30  35 20 ef 20 37 3a 6f 24  3d 22 22 0d 05 b4 2f f2  |5 . 7:o$="".../.|
00000d40  73 68 6f 77 6e 75 6d 28  31 31 36 30 2c 34 36 38  |shownum(1160,468|
00000d50  2c 32 2c 6f 24 29 3a f2  73 65 74 62 69 74 73 28  |,2,o$):.setbits(|
00000d60  32 34 2c 32 37 2c bb 6f  24 29 0d 05 be 05 cd 0d  |24,27,.o$)......|
00000d70  05 c8 11 f2 74 69 63 6b  73 3a f2 66 6c 61 67 73  |....ticks:.flags|
00000d80  0d 05 d2 05 3a 0d 05 dc  37 c9 20 32 38 3a f4 20  |....:...7. 28:. |
00000d90  62 67 20 63 6f 6c 20 4f  52 20 28 69 66 20 62 69  |bg col OR (if bi|
00000da0  74 20 36 20 73 65 74 29  20 72 65 73 74 20 6f 66  |t 6 set) rest of|
00000db0  20 66 6f 6e 74 20 68 61  6e 64 6c 65 0d 05 e6 11  | font handle....|
00000dc0  e7 20 ac 20 62 69 74 25  28 36 29 20 8c 0d 05 f0  |. . bit%(6) ....|
00000dd0  1d f2 69 6e 28 31 31 36  30 2c 32 36 32 2c 22 22  |..in(1160,262,""|
00000de0  2c 32 29 3a 6f 25 3d bb  6f 24 0d 05 fa 2c e7 20  |,2):o%=.o$...,. |
00000df0  ac 20 a4 6e 75 6d 62 65  72 28 6f 24 29 20 84 20  |. .number(o$) . |
00000e00  6f 25 3c 30 20 84 20 6f  25 3e 31 35 20 ef 20 37  |o%<0 . o%>15 . 7|
00000e10  3a 6f 24 3d 22 22 0d 06  04 2f f2 73 68 6f 77 6e  |:o$="".../.shown|
00000e20  75 6d 28 31 31 36 30 2c  32 36 32 2c 32 2c 6f 24  |um(1160,262,2,o$|
00000e30  29 3a f2 73 65 74 62 69  74 73 28 32 38 2c 33 31  |):.setbits(28,31|
00000e40  2c bb 6f 24 29 0d 06 0e  11 f2 74 69 63 6b 73 3a  |,.o$).....ticks:|
00000e50  f2 66 6c 61 67 73 0d 06  18 05 cd 0d 06 22 05 cb  |.flags......."..|
00000e60  0d 06 2c 05 3a 0d 06 36  05 cb 0d 06 40 05 e1 0d  |..,.:..6....@...|
00000e70  06 4a 05 3a 0d 06 54 10  dd a4 6e 75 6d 62 65 72  |.J.:..T...number|
00000e80  28 63 24 29 0d 06 5e 1f  ea 20 6c 24 2c 72 24 3a  |(c$)..^.. l$,r$:|
00000e90  6c 24 3d c0 63 24 2c 31  29 3a 72 24 3d c2 63 24  |l$=.c$,1):r$=.c$|
00000ea0  2c 31 29 0d 06 68 18 3d  a4 6e 75 6d 28 6c 24 29  |,1)..h.=.num(l$)|
00000eb0  20 80 20 a4 6e 75 6d 28  72 24 29 0d 06 72 04 0d  | . .num(r$)..r..|
00000ec0  06 7c 0d dd a4 6e 75 6d  28 63 24 29 0d 06 86 18  |.|...num(c$)....|
00000ed0  3d a7 22 30 31 32 33 34  35 36 37 38 39 22 2c 63  |=."0123456789",c|
00000ee0  24 29 3e 30 0d 06 90 05  3a 0d 06 9a 11 dd f2 73  |$)>0....:......s|
00000ef0  68 6f 77 6e 75 6d 62 65  72 73 0d 06 a4 31 6f 24  |hownumbers...1o$|
00000f00  3d c3 a4 64 65 63 6f 64  65 62 69 74 73 28 31 32  |=..decodebits(12|
00000f10  2c 31 35 29 3a f2 73 68  6f 77 6e 75 6d 28 35 30  |,15):.shownum(50|
00000f20  30 2c 32 36 30 2c 32 2c  6f 24 29 0d 06 ae 32 6f  |0,260,2,o$)...2o|
00000f30  24 3d c3 a4 64 65 63 6f  64 65 62 69 74 73 28 31  |$=..decodebits(1|
00000f40  36 2c 32 30 29 3a f2 73  68 6f 77 6e 75 6d 28 31  |6,20):.shownum(1|
00000f50  31 36 30 2c 38 38 34 2c  32 2c 6f 24 29 0d 06 b8  |160,884,2,o$)...|
00000f60  0f e7 20 62 69 74 25 28  36 29 20 8c 0d 06 c2 27  |.. bit%(6) ....'|
00000f70  f2 64 72 61 77 70 6c 69  6e 74 68 73 28 61 72 65  |.drawplinths(are|
00000f80  61 35 25 28 29 2c 22 42  69 74 36 53 65 74 22 2c  |a5%(),"Bit6Set",|
00000f90  2d 31 29 0d 06 cc 32 6f  24 3d c3 a4 64 65 63 6f  |-1)...2o$=..deco|
00000fa0  64 65 62 69 74 73 28 32  34 2c 33 31 29 3a f2 73  |debits(24,31):.s|
00000fb0  68 6f 77 6e 75 6d 28 31  31 36 30 2c 34 36 38 2c  |hownum(1160,468,|
00000fc0  33 2c 6f 24 29 0d 06 d6  05 cd 0d 06 e0 10 e7 20  |3,o$).......... |
00000fd0  ac 20 62 69 74 25 28 36  29 8c 0d 06 ea 29 f2 64  |. bit%(6)....).d|
00000fe0  72 61 77 70 6c 69 6e 74  68 73 28 61 72 65 61 35  |rawplinths(area5|
00000ff0  25 28 29 2c 22 42 69 74  36 55 6e 73 65 74 22 2c  |%(),"Bit6Unset",|
00001000  2d 31 29 0d 06 f4 32 6f  24 3d c3 a4 64 65 63 6f  |-1)...2o$=..deco|
00001010  64 65 62 69 74 73 28 32  34 2c 32 37 29 3a f2 73  |debits(24,27):.s|
00001020  68 6f 77 6e 75 6d 28 31  31 36 30 2c 34 36 38 2c  |hownum(1160,468,|
00001030  32 2c 6f 24 29 0d 06 fe  32 6f 24 3d c3 a4 64 65  |2,o$)...2o$=..de|
00001040  63 6f 64 65 62 69 74 73  28 32 38 2c 33 31 29 3a  |codebits(28,31):|
00001050  f2 73 68 6f 77 6e 75 6d  28 31 31 36 30 2c 32 36  |.shownum(1160,26|
00001060  32 2c 32 2c 6f 24 29 0d  07 08 05 cd 0d 07 12 05  |2,2,o$).........|
00001070  e1 0d 07 1c 05 3a 0d 07  26 1a dd f2 73 68 6f 77  |.....:..&...show|
00001080  6e 75 6d 28 78 25 2c 79  25 2c 6d 25 2c 6e 24 29  |num(x%,y%,m%,n$)|
00001090  0d 07 30 1b e6 20 31 34  3a c8 93 c8 90 78 25 2c  |..0.. 14:....x%,|
000010a0  79 25 2c 6d 25 2a 31 36  2c 33 30 0d 07 3a 2a e6  |y%,m%*16,30..:*.|
000010b0  20 31 32 38 2b 31 34 3a  e6 20 33 3a ef 20 35 3a  | 128+14:. 3:. 5:|
000010c0  ec 20 78 25 2c 79 25 2b  33 30 3a f1 20 6e 24 3a  |. x%,y%+30:. n$:|
000010d0  ef 20 34 3a 87 0d 07 44  05 e1 0d 07 4e 05 3a 0d  |. 4:...D....N.:.|
000010e0  07 58 17 dd f2 73 65 74  62 69 74 73 28 66 25 2c  |.X...setbits(f%,|
000010f0  74 25 2c 6e 25 29 0d 07  62 1b ea 20 4a 25 2c 64  |t%,n%)..b.. J%,d|
00001100  25 2c 76 25 3a 76 25 3d  32 5e 28 74 25 2d 66 25  |%,v%:v%=2^(t%-f%|
00001110  29 0d 07 6c 14 e3 20 4a  25 3d 74 25 20 b8 20 66  |)..l.. J%=t% . f|
00001120  25 20 88 2d 31 0d 07 76  31 64 25 3d 6e 25 20 81  |% .-1..v1d%=n% .|
00001130  20 76 25 3a 62 69 74 25  28 4a 25 29 3d 64 25 3e  | v%:bit%(J%)=d%>|
00001140  30 3a 6e 25 3d 6e 25 20  83 20 76 25 3a 76 25 3d  |0:n%=n% . v%:v%=|
00001150  76 25 20 81 20 32 0d 07  80 05 ed 0d 07 8a 05 e1  |v% . 2..........|
00001160  0d 07 94 05 3a 0d 07 9e  17 dd a4 64 65 63 6f 64  |....:......decod|
00001170  65 62 69 74 73 28 66 25  2c 74 25 29 0d 07 a8 1b  |ebits(f%,t%)....|
00001180  ea 20 4a 25 2c 6e 25 2c  76 25 3a 76 25 3d 32 5e  |. J%,n%,v%:v%=2^|
00001190  28 74 25 2d 66 25 29 0d  07 b2 26 e3 20 4a 25 3d  |(t%-f%)...&. J%=|
000011a0  74 25 20 b8 20 66 25 20  88 2d 31 3a e7 20 62 69  |t% . f% .-1:. bi|
000011b0  74 25 28 4a 25 29 20 6e  25 2b 3d 76 25 0d 07 bc  |t%(J%) n%+=v%...|
000011c0  0d 76 25 3d 76 25 20 81  20 32 0d 07 c6 05 ed 0d  |.v%=v% . 2......|
000011d0  07 d0 07 3d 6e 25 0d 07  da 05 3a 0d 07 e4 2d 3a  |...=n%....:...-:|
000011e0  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
00001200  3d 3d 3d 3d 3d 3d 3d 3d  0d 07 ee 2b f4 2e 20 43  |========...+.. C|
00001210  68 61 6e 67 65 20 62 65  74 77 65 65 6e 20 77 69  |hange between wi|
00001220  6e 64 6f 77 20 61 6e 64  20 69 63 6f 6e 20 66 6c  |ndow and icon fl|
00001230  61 67 73 0d 07 f8 2d 3a  3d 3d 3d 3d 3d 3d 3d 3d  |ags...-:========|
00001240  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
00001260  0d 08 02 05 3a 0d 08 0c  11 dd f2 77 69 6e 64 6f  |....:......windo|
00001270  77 66 6c 61 67 73 0d 08  16 17 e7 20 66 6c 61 67  |wflags..... flag|
00001280  73 24 3d 22 77 69 6e 64  6f 77 22 20 e1 0d 08 20  |s$="window" ... |
00001290  2f 66 6c 61 67 73 24 3d  22 77 69 6e 64 6f 77 22  |/flags$="window"|
000012a0  3a f2 6d 65 6e 75 74 69  63 6b 73 28 66 6c 61 67  |:.menuticks(flag|
000012b0  73 24 29 3a 62 69 74 25  28 29 3d 30 0d 08 2a 13  |s$):bit%()=0..*.|
000012c0  f2 73 63 72 65 65 6e 28  66 6c 61 67 73 24 29 0d  |.screen(flags$).|
000012d0  08 34 05 e1 0d 08 3e 05  3a 0d 08 48 0f dd f2 69  |.4....>.:..H...i|
000012e0  63 6f 6e 66 6c 61 67 73  0d 08 52 15 e7 20 66 6c  |conflags..R.. fl|
000012f0  61 67 73 24 3d 22 69 63  6f 6e 22 20 e1 0d 08 5c  |ags$="icon" ...\|
00001300  2d 66 6c 61 67 73 24 3d  22 69 63 6f 6e 22 3a f2  |-flags$="icon":.|
00001310  6d 65 6e 75 74 69 63 6b  73 28 66 6c 61 67 73 24  |menuticks(flags$|
00001320  29 3a 62 69 74 25 28 29  3d 30 0d 08 66 13 f2 73  |):bit%()=0..f..s|
00001330  63 72 65 65 6e 28 66 6c  61 67 73 24 29 0d 08 70  |creen(flags$)..p|
00001340  05 e1 0d 08 7a 05 3a 0d  08 84 14 dd f2 73 63 72  |....z.:......scr|
00001350  65 65 6e 28 66 6c 61 67  73 24 29 0d 08 8e 17 e7  |een(flags$).....|
00001360  20 66 6c 61 67 73 24 3d  22 77 69 6e 64 6f 77 22  | flags$="window"|
00001370  20 8c 0d 08 98 1c f2 68  65 61 64 69 6e 67 28 22  | ......heading("|
00001380  57 69 6e 64 6f 77 20 46  6c 61 67 73 22 29 0d 08  |Window Flags")..|
00001390  a2 27 f2 64 72 61 77 70  6c 69 6e 74 68 73 28 61  |.'.drawplinths(a|
000013a0  72 65 61 31 25 28 29 2c  22 57 69 6e 64 6f 77 31  |rea1%(),"Window1|
000013b0  22 2c 2d 31 29 0d 08 ac  27 f2 64 72 61 77 70 6c  |",-1)...'.drawpl|
000013c0  69 6e 74 68 73 28 61 72  65 61 32 25 28 29 2c 22  |inths(area2%(),"|
000013d0  57 69 6e 64 6f 77 32 22  2c 2d 31 29 0d 08 b6 11  |Window2",-1)....|
000013e0  f2 74 69 63 6b 73 3a f2  66 6c 61 67 73 0d 08 c0  |.ticks:.flags...|
000013f0  05 cd 0d 08 ca 15 e7 20  66 6c 61 67 73 24 3d 22  |....... flags$="|
00001400  69 63 6f 6e 22 20 8c 0d  08 d4 1a f2 68 65 61 64  |icon" ......head|
00001410  69 6e 67 28 22 49 63 6f  6e 20 46 6c 61 67 73 22  |ing("Icon Flags"|
00001420  29 0d 08 de 25 f2 64 72  61 77 70 6c 69 6e 74 68  |)...%.drawplinth|
00001430  73 28 61 72 65 61 31 25  28 29 2c 22 49 63 6f 6e  |s(area1%(),"Icon|
00001440  31 22 2c 2d 31 29 0d 08  e8 25 f2 64 72 61 77 70  |1",-1)...%.drawp|
00001450  6c 69 6e 74 68 73 28 61  72 65 61 32 25 28 29 2c  |linths(area2%(),|
00001460  22 49 63 6f 6e 32 22 2c  2d 31 29 0d 08 f2 11 f2  |"Icon2",-1).....|
00001470  74 69 63 6b 73 3a f2 66  6c 61 67 73 0d 08 fc 05  |ticks:.flags....|
00001480  cd 0d 09 06 05 e1 0d 09  10 05 3a 0d 09 1a 14 dd  |..........:.....|
00001490  f2 68 65 61 64 69 6e 67  28 74 65 78 74 24 29 0d  |.heading(text$).|
000014a0  09 24 1c fb 20 31 32 38  2b 31 32 3a f1 8a 32 38  |.$.. 128+12:..28|
000014b0  2c 31 29 c4 33 32 2c 22  20 22 29 0d 09 2e 1d e6  |,1).32," ").....|
000014c0  20 31 3a f2 74 65 78 74  28 33 30 2c 31 2c 74 65  | 1:.text(30,1,te|
000014d0  78 74 24 2c 32 2c 31 29  0d 09 38 05 e1 0d 09 42  |xt$,2,1)..8....B|
000014e0  05 3a 0d 09 4c 22 3a 3d  3d 3d 3d 3d 3d 3d 3d 3d  |.:..L":=========|
000014f0  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
00001500  3d 3d 3d 3d 0d 09 56 20  f4 2e 20 49 6e 70 75 74  |====..V .. Input|
00001510  20 66 6c 61 67 73 20 61  73 20 68 65 78 20 6e 75  | flags as hex nu|
00001520  6d 62 65 72 0d 09 60 22  3a 3d 3d 3d 3d 3d 3d 3d  |mber..`":=======|
00001530  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
00001540  3d 3d 3d 3d 3d 3d 0d 09  6a 05 3a 0d 09 74 0b dd  |======..j.:..t..|
00001550  f2 69 6e 70 75 74 0d 09  7e 3a f4 20 61 63 63 65  |.input..~:. acce|
00001560  70 74 20 68 65 78 20 6e  75 6d 62 65 72 20 66 72  |pt hex number fr|
00001570  6f 6d 20 75 73 65 72 20  61 6e 64 20 70 6c 61 63  |om user and plac|
00001580  65 20 62 69 74 73 20 69  6e 20 62 69 74 25 28 29  |e bits in bit%()|
00001590  0d 09 88 1f ea 20 4a 25  2c 4b 25 2c 49 25 2c 68  |..... J%,K%,I%,h|
000015a0  65 78 24 2c 68 24 2c 62  24 2c 63 24 2c 69 25 0d  |ex$,h$,b$,c$,i%.|
000015b0  09 92 29 f2 69 6e 28 31  31 33 36 2c 39 36 30 2c  |..).in(1136,960,|
000015c0  22 22 2c 38 29 3a e7 6f  24 3d 22 22 20 84 20 6b  |"",8):.o$="" . k|
000015d0  25 3d 32 37 20 8c 20 e1  0d 09 9c 16 e7 20 ac 20  |%=27 . ...... . |
000015e0  a4 68 65 78 28 6f 24 29  20 ef 20 37 3a e1 0d 09  |.hex(o$) . 7:...|
000015f0  a6 17 68 65 78 24 3d c2  c4 38 2c 22 30 22 29 2b  |..hex$=..8,"0")+|
00001600  6f 24 2c 38 29 0d 09 b0  0e e3 20 4a 25 3d 31 20  |o$,8)..... J%=1 |
00001610  b8 20 34 0d 09 ba 2f 68  24 3d 22 22 3a e3 20 4b  |. 4.../h$="":. K|
00001620  25 3d 31 20 b8 20 32 3a  68 24 2b 3d c1 68 65 78  |%=1 . 2:h$+=.hex|
00001630  24 2c 4a 25 2a 32 2d 28  32 2d 4b 25 29 2c 31 29  |$,J%*2-(2-K%),1)|
00001640  3a ed 0d 09 c4 16 62 24  3d a4 62 69 6e 28 a0 28  |:.....b$=.bin(.(|
00001650  22 26 22 2b 68 24 29 29  0d 09 ce 0e e3 20 49 25  |"&"+h$))..... I%|
00001660  3d 31 20 b8 20 38 0d 09  d8 10 63 24 3d c1 62 24  |=1 . 8....c$=.b$|
00001670  2c 49 25 2c 31 29 0d 09  e2 19 69 25 3d 33 31 2d  |,I%,1)....i%=31-|
00001680  28 28 4a 25 2a 38 29 2d  28 39 2d 49 25 29 29 0d  |((J%*8)-(9-I%)).|
00001690  09 ec 24 e7 63 24 3d 22  31 22 20 62 69 74 25 28  |..$.c$="1" bit%(|
000016a0  69 25 29 3d 2d 31 3a 8b  20 62 69 74 25 28 69 25  |i%)=-1:. bit%(i%|
000016b0  29 3d 30 0d 09 f6 05 ed  0d 0a 00 05 ed 0d 0a 0a  |)=0.............|
000016c0  05 e1 0d 0a 14 05 3a 0d  0a 1e 0f dd a4 62 69 6e  |......:......bin|
000016d0  28 64 65 63 25 29 0d 0a  28 3b f4 20 72 65 74 75  |(dec%)..(;. retu|
000016e0  72 6e 73 20 38 20 63 68  72 20 73 74 72 69 6e 67  |rns 8 chr string|
000016f0  20 6f 66 20 62 69 6e 61  72 79 20 72 65 70 72 65  | of binary repre|
00001700  73 65 6e 74 61 74 69 6f  6e 20 6f 66 20 64 65 63  |sentation of dec|
00001710  25 0d 0a 32 14 ea 20 62  69 6e 24 2c 62 69 74 25  |%..2.. bin$,bit%|
00001720  2c 64 69 76 25 0d 0a 3c  14 62 69 6e 24 3d 22 22  |,div%..<.bin$=""|
00001730  3a 64 69 76 25 3d 31 32  38 0d 0a 46 14 e3 20 62  |:div%=128..F.. b|
00001740  69 74 25 3d 37 20 b8 20  30 20 88 2d 31 0d 0a 50  |it%=7 . 0 .-1..P|
00001750  3a e7 20 64 65 63 25 20  81 20 64 69 76 25 3e 30  |:. dec% . div%>0|
00001760  20 62 69 6e 24 2b 3d 22  31 22 3a 64 65 63 25 3d  | bin$+="1":dec%=|
00001770  64 65 63 25 20 83 20 64  69 76 25 20 8b 20 62 69  |dec% . div% . bi|
00001780  6e 24 2b 3d 22 30 22 0d  0a 5a 11 64 69 76 25 3d  |n$+="0"..Z.div%=|
00001790  64 69 76 25 20 81 20 32  0d 0a 64 05 ed 0d 0a 6e  |div% . 2..d....n|
000017a0  09 3d 62 69 6e 24 0d 0a  78 05 3a 0d 0a 82 2c dd  |.=bin$..x.:...,.|
000017b0  f2 69 6e 28 78 25 2c 79  25 2c 69 24 2c 6d 25 29  |.in(x%,y%,i$,m%)|
000017c0  3a ea 6c 25 2c 6b 25 2c  70 24 2c 65 78 69 74 25  |:.l%,k%,p$,exit%|
000017d0  3a 2a 46 58 34 2c 31 0d  0a 8c 30 6c 25 3d a9 69  |:*FX4,1...0l%=.i|
000017e0  24 3a 70 24 3d c4 6d 25  2d 6c 25 2c 22 2d 22 29  |$:p$=.m%-l%,"-")|
000017f0  3a 6f 24 3d 69 24 3a 65  78 69 74 25 3d a3 3a 2a  |:o$=i$:exit%=.:*|
00001800  46 58 32 32 39 2c 31 0d  0a 96 0b f5 3a 2a 46 58  |FX229,1.....:*FX|
00001810  32 31 0d 0a a0 1c e6 37  3a c8 93 c8 90 78 25 2c  |21.....7:....x%,|
00001820  79 25 2c 6d 25 2a 31 36  2c 33 30 3a e6 30 0d 0a  |y%,m%*16,30:.0..|
00001830  aa 28 ef 35 3a ec 78 25  2c 79 25 2b 33 30 3a f1  |.(.5:.x%,y%+30:.|
00001840  6f 24 2b 70 24 3b 3a ec  78 25 2b 6c 25 2a 31 36  |o$+p$;:.x%+l%*16|
00001850  2c 79 25 2b 33 30 0d 0a  b4 1a f5 3a c8 97 6d 78  |,y%+30.....:..mx|
00001860  25 2c 6d 79 25 2c 6d 62  25 3a fd 6d 62 25 3d 30  |%,my%,mb%:.mb%=0|
00001870  0d 0a be 24 f5 3a 6b 25  3d a6 30 3a c8 97 6d 78  |...$.:k%=.0:..mx|
00001880  25 2c 6d 79 25 2c 6d 62  25 3a fd ac 6b 25 84 6d  |%,my%,mb%:..k%.m|
00001890  62 25 3e 30 0d 0a c8 0b  f4 20 70 72 69 6e 74 0d  |b%>0..... print.|
000018a0  0a d2 34 e7 6b 25 3e 33  31 80 6b 25 3c 31 32 37  |..4.k%>31.k%<127|
000018b0  80 6c 25 3c 6d 25 6f 24  3d 6f 24 2b bd 6b 25 3a  |.l%<m%o$=o$+.k%:|
000018c0  70 24 3d c0 70 24 2c a9  70 24 2d 31 29 3a 6c 25  |p$=.p$,.p$-1):l%|
000018d0  2b 3d 31 0d 0a dc 0c f4  20 64 65 6c 65 74 65 0d  |+=1..... delete.|
000018e0  0a e6 2c e7 6b 25 3d 31  32 37 80 6c 25 3e 30 6f  |..,.k%=127.l%>0o|
000018f0  24 3d c0 6f 24 2c 6c 25  2d 31 29 3a 70 24 3d 70  |$=.o$,l%-1):p$=p|
00001900  24 2b 22 2d 22 3a 6c 25  2d 3d 31 0d 0a f0 15 f4  |$+"-":l%-=1.....|
00001910  20 65 78 69 74 20 63 6f  6e 64 69 74 69 6f 6e 73  | exit conditions|
00001920  0d 0a fa 1d e7 6b 25 3d  32 37 84 6b 25 3d 31 33  |.....k%=27.k%=13|
00001930  84 6d 62 25 3e 30 65 78  69 74 25 3d b9 0d 0b 04  |.mb%>0exit%=....|
00001940  0c fd 65 78 69 74 25 3a  87 0d 0b 0e 1a e6 31 34  |..exit%:......14|
00001950  3a c8 93 c8 90 78 25 2c  79 25 2c 6d 25 2a 31 36  |:....x%,y%,m%*16|
00001960  2c 33 30 0d 0b 18 21 e6  31 32 38 2b 31 34 3a e6  |,30...!.128+14:.|
00001970  33 3a ec 78 25 2c 79 25  2b 33 30 3a f1 6f 24 3a  |3:.x%,y%+30:.o$:|
00001980  ef 34 3a 87 0d 0b 22 17  e7 6b 25 3d 31 33 f5 fd  |.4:..."..k%=13..|
00001990  ac a6 2d 37 34 3a 2a 46  58 32 31 0d 0b 2c 20 e7  |..-74:*FX21.., .|
000019a0  6d 62 25 3e 30 f5 3a c8  97 6d 78 25 2c 6d 79 25  |mb%>0.:..mx%,my%|
000019b0  2c 6d 62 25 3a fd 6d 62  25 3d 30 0d 0b 36 0a 2a  |,mb%:.mb%=0..6.*|
000019c0  46 58 32 32 39 0d 0b 40  05 e1 0d 0b 4a 05 3a 0d  |FX229..@....J.:.|
000019d0  0b 54 0d dd a4 68 65 78  28 73 24 29 0d 0b 5e 21  |.T...hex(s$)..^!|
000019e0  f4 20 49 73 20 74 68 69  73 20 61 20 76 61 6c 69  |. Is this a vali|
000019f0  64 20 68 65 78 20 73 74  72 69 6e 67 3f 0d 0b 68  |d hex string?..h|
00001a00  13 ea 20 63 24 2c 69 25  2c 63 25 3a 63 25 3d 31  |.. c$,i%,c%:c%=1|
00001a10  0d 0b 72 18 f5 3a 63 24  3d c1 73 24 2c 63 25 2c  |..r..:c$=.s$,c%,|
00001a20  31 29 3a 63 25 2b 3d 31  0d 0b 7c 24 69 25 3d a7  |1):c%+=1..|$i%=.|
00001a30  22 41 42 43 44 45 46 61  62 63 64 65 66 30 31 32  |"ABCDEFabcdef012|
00001a40  33 34 35 36 37 38 39 22  2c 63 24 29 0d 0b 86 13  |3456789",c$)....|
00001a50  fd 20 69 25 3d 30 20 84  20 63 25 3e a9 73 24 0d  |. i%=0 . c%>.s$.|
00001a60  0b 90 11 e7 69 25 3d 30  20 8c 3d a3 3a 8b 3d b9  |....i%=0 .=.:.=.|
00001a70  0d 0b 9a 05 3a 0d 0b a4  32 3a 3d 3d 3d 3d 3d 3d  |....:...2:======|
00001a80  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
00001aa0  3d 3d 3d 3d 3d 3d 3d 0d  0b ae 30 f4 2e 20 41 64  |=======...0.. Ad|
00001ab0  6a 75 73 74 20 75 73 65  72 27 73 20 73 65 6c 65  |just user's sele|
00001ac0  63 74 69 6f 6e 20 69 66  20 6c 6f 67 69 63 20 64  |ction if logic d|
00001ad0  69 63 74 61 74 65 73 0d  0b b8 32 3a 3d 3d 3d 3d  |ictates...2:====|
00001ae0  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
00001b00  3d 3d 3d 3d 3d 3d 3d 3d  3d 0d 0b c2 05 3a 0d 0b  |=========....:..|
00001b10  cc 14 dd f2 61 64 6a 75  73 74 28 66 6c 61 67 73  |....adjust(flags|
00001b20  24 29 0d 0b d6 2e f4 20  69 66 20 6e 65 63 65 73  |$)..... if neces|
00001b30  73 61 72 79 2c 20 61 6c  74 65 72 20 74 68 65 20  |sary, alter the |
00001b40  75 73 65 72 27 73 20 73  65 6c 65 63 74 69 6f 6e  |user's selection|
00001b50  0d 0b e0 08 ea 20 4a 25  0d 0b ea 17 e7 20 66 6c  |..... J%..... fl|
00001b60  61 67 73 24 3d 22 77 69  6e 64 6f 77 22 20 8c 0d  |ags$="window" ..|
00001b70  0b f4 2a e3 20 4a 25 3d  31 33 20 b8 20 31 35 3a  |..*. J%=13 . 15:|
00001b80  62 69 74 25 28 4a 25 29  3d 30 3a ed 20 20 3a f4  |bit%(J%)=0:.  :.|
00001b90  20 72 65 73 65 72 76 65  64 0d 0b fe 2a e3 20 4a  | reserved...*. J|
00001ba0  25 3d 32 30 20 b8 20 32  33 3a 62 69 74 25 28 4a  |%=20 . 23:bit%(J|
00001bb0  25 29 3d 30 3a ed 20 20  3a f4 20 72 65 73 65 72  |%)=0:.  :. reser|
00001bc0  76 65 64 0d 0c 08 32 e3  20 4a 25 3d 31 36 20 b8  |ved...2. J%=16 .|
00001bd0  20 31 39 3a 62 69 74 25  28 4a 25 29 3d 30 3a ed  | 19:bit%(J%)=0:.|
00001be0  20 20 3a f4 20 72 65 74  75 72 6e 20 69 6e 66 6f  |  :. return info|
00001bf0  20 6f 6e 6c 79 0d 0c 12  46 e7 20 62 69 74 25 28  | only...F. bit%(|
00001c00  33 31 29 20 62 69 74 25  28 30 29 3d 30 3a 62 69  |31) bit%(0)=0:bi|
00001c10  74 25 28 32 29 3d 30 3a  62 69 74 25 28 33 29 3d  |t%(2)=0:bit%(3)=|
00001c20  30 3a 62 69 74 25 28 37  29 3d 30 20 20 3a f4 20  |0:bit%(7)=0  :. |
00001c30  41 72 74 68 75 72 20 6f  6e 6c 79 0d 0c 1c 26 e7  |Arthur only...&.|
00001c40  20 ac 20 62 69 74 25 28  32 36 29 20 62 69 74 25  | . bit%(26) bit%|
00001c50  28 32 34 29 3d 30 3a 62  69 74 25 28 32 35 29 3d  |(24)=0:bit%(25)=|
00001c60  30 0d 0c 26 2a 20 20 20  f4 20 6e 65 65 64 20 74  |0..&*   . need t|
00001c70  69 74 6c 65 20 62 61 72  20 66 6f 72 20 62 61 63  |itle bar for bac|
00001c80  6b 20 61 6e 64 20 63 6c  6f 73 65 0d 0c 30 26 e7  |k and close..0&.|
00001c90  20 ac 20 62 69 74 25 28  32 38 29 20 62 69 74 25  | . bit%(28) bit%|
00001ca0  28 32 37 29 3d 30 3a 62  69 74 25 28 32 39 29 3d  |(27)=0:bit%(29)=|
00001cb0  30 0d 0c 3a 2f 20 20 20  f4 20 6e 65 65 64 20 76  |0..:/   . need v|
00001cc0  65 72 74 20 73 63 72 6f  6c 6c 20 66 6f 72 20 72  |ert scroll for r|
00001cd0  65 73 69 7a 65 20 61 6e  64 20 74 6f 67 67 6c 65  |esize and toggle|
00001ce0  0d 0c 44 05 cd 0d 0c 4e  15 e7 20 66 6c 61 67 73  |..D....N.. flags|
00001cf0  24 3d 22 69 63 6f 6e 22  20 8c 0d 0c 58 2a e7 20  |$="icon" ...X*. |
00001d00  62 69 74 25 28 36 29 20  84 20 62 69 74 25 28 39  |bit%(6) . bit%(9|
00001d10  29 20 8c 20 62 69 74 25  28 30 29 3d b9 3a f4 20  |) . bit%(0)=.:. |
00001d20  74 65 78 74 0d 0c 62 23  e7 20 62 69 74 25 28 31  |text..b#. bit%(1|
00001d30  31 29 20 8c 20 62 69 74  25 28 31 29 3d b9 3a f4  |1) . bit%(1)=.:.|
00001d40  20 73 70 72 69 74 65 0d  0c 6c 05 cd 0d 0c 76 05  | sprite..l....v.|
00001d50  e1 0d 0c 80 05 3a 0d 0c  8a 2f 3a 3d 3d 3d 3d 3d  |.....:.../:=====|
00001d60  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
00001d80  3d 3d 3d 3d 3d 0d 0c 94  2d f4 2e 20 48 61 72 64  |=====...-.. Hard|
00001d90  2d 63 6f 70 79 20 70 72  69 6e 74 6f 75 74 20 6f  |-copy printout o|
00001da0  66 20 63 75 72 72 65 6e  74 20 73 65 74 74 69 6e  |f current settin|
00001db0  67 73 0d 0c 9e 2f 3a 3d  3d 3d 3d 3d 3d 3d 3d 3d  |gs.../:=========|
00001dc0  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
*
00001de0  3d 0d 0c a8 05 3a 0d 0c  b2 13 dd f2 70 72 69 6e  |=....:......prin|
00001df0  74 28 66 6c 61 67 73 24  29 0d 0c bc 1a e7 20 ac  |t(flags$)..... .|
00001e00  20 a4 70 72 69 6e 74 65  72 4f 4b 20 8c 20 ef 20  | .printerOK . . |
00001e10  37 3a e1 0d 0c c6 18 ef  32 38 2c 36 30 2c 33 30  |7:......28,60,30|
00001e20  2c 36 30 2c 33 30 2c 32  3a f1 27 0d 0c d0 05 3a  |,60,30,2:.'....:|
00001e30  0d 0c da 17 e7 20 66 6c  61 67 73 24 3d 22 77 69  |..... flags$="wi|
00001e40  6e 64 6f 77 22 20 8c 0d  0c e4 1f f1 22 57 49 4e  |ndow" ......"WIN|
00001e50  44 4f 57 20 46 4c 41 47  53 20 3d 20 26 22 3b a4  |DOW FLAGS = &";.|
00001e60  66 6c 61 67 73 27 0d 0c  ee 17 f2 72 65 73 74 6f  |flags'.....resto|
00001e70  72 65 28 22 57 69 6e 64  6f 77 31 22 29 0d 0c f8  |re("Window1")...|
00001e80  0f e3 20 4a 25 3d 30 20  b8 20 31 35 0d 0d 02 12  |.. J%=0 . 15....|
00001e90  f3 20 74 24 3a e7 20 4a  25 3c 31 33 20 8c 0d 0d  |. t$:. J%<13 ...|
00001ea0  0c 16 f1 20 74 24 2b c4  34 30 2d a9 74 24 2c 22  |... t$+.40-.t$,"|
00001eb0  20 22 29 3b 0d 0d 16 1a  e7 20 62 69 74 25 28 4a  | ");..... bit%(J|
00001ec0  25 29 20 f1 22 59 22 20  8b 20 f1 22 2d 22 0d 0d  |%) ."Y" . ."-"..|
00001ed0  20 05 cd 0d 0d 2a 15 ed  3a f1 22 31 33 2d 32 34  | ....*..:."13-24|
00001ee0  20 55 6e 75 73 65 64 22  0d 0d 34 17 f2 72 65 73  | Unused"..4..res|
00001ef0  74 6f 72 65 28 22 57 69  6e 64 6f 77 32 22 29 0d  |tore("Window2").|
00001f00  0d 3e 10 e3 20 4a 25 3d  31 36 20 b8 20 33 31 0d  |.>.. J%=16 . 31.|
00001f10  0d 48 12 f3 20 74 24 3a  e7 20 4a 25 3e 32 33 20  |.H.. t$:. J%>23 |
00001f20  8c 0d 0d 52 16 f1 20 74  24 2b c4 34 30 2d a9 74  |...R.. t$+.40-.t|
00001f30  24 2c 22 20 22 29 3b 0d  0d 5c 1a e7 20 62 69 74  |$," ");..\.. bit|
00001f40  25 28 4a 25 29 20 f1 22  59 22 20 8b 20 f1 22 2d  |%(J%) ."Y" . ."-|
00001f50  22 0d 0d 66 05 cd 0d 0d  70 05 ed 0d 0d 7a 05 cd  |"..f....p....z..|
00001f60  0d 0d 84 05 3a 0d 0d 8e  15 e7 20 66 6c 61 67 73  |....:..... flags|
00001f70  24 3d 22 69 63 6f 6e 22  20 8c 0d 0d 98 1d f1 22  |$="icon" ......"|
00001f80  49 43 4f 4e 20 46 4c 41  47 53 20 3d 20 26 22 3b  |ICON FLAGS = &";|
00001f90  a4 66 6c 61 67 73 27 0d  0d a2 15 f2 72 65 73 74  |.flags'.....rest|
00001fa0  6f 72 65 28 22 49 63 6f  6e 31 22 29 0d 0d ac 0f  |ore("Icon1")....|
00001fb0  e3 20 4a 25 3d 30 20 b8  20 31 35 0d 0d b6 12 f3  |. J%=0 . 15.....|
00001fc0  20 74 24 3a e7 20 4a 25  3c 31 33 20 8c 0d 0d c0  | t$:. J%<13 ....|
00001fd0  1e e7 20 62 69 74 25 28  4a 25 29 20 6e 24 3d 22  |.. bit%(J%) n$="|
00001fe0  59 22 20 8b 20 6e 24 3d  22 2d 22 0d 0d ca 22 e7  |Y" . n$="-"...".|
00001ff0  20 4a 25 3d 31 32 20 6e  24 3d c3 a4 64 65 63 6f  | J%=12 n$=..deco|
00002000  64 65 62 69 74 73 28 31  32 2c 31 35 29 0d 0d d4  |debits(12,15)...|
00002010  1c f1 20 74 24 2b c4 34  30 2d a9 74 24 2d a9 6e  |.. t$+.40-.t$-.n|
00002020  24 2c 22 20 22 29 2b 6e  24 0d 0d de 05 cd 0d 0d  |$," ")+n$.......|
00002030  e8 05 ed 0d 0d f2 15 f2  72 65 73 74 6f 72 65 28  |........restore(|
00002040  22 49 63 6f 6e 32 22 29  0d 0d fc 10 e3 20 4a 25  |"Icon2")..... J%|
00002050  3d 31 36 20 b8 20 32 33  0d 0e 06 2a f3 20 74 24  |=16 . 23...*. t$|
00002060  3a e7 20 4a 25 3d 31 36  20 84 20 28 4a 25 3e 32  |:. J%=16 . (J%>2|
00002070  30 80 4a 25 3c 32 35 29  20 84 20 4a 25 3d 32 38  |0.J%<25) . J%=28|
00002080  20 8c 0d 0e 10 1e e7 20  62 69 74 25 28 4a 25 29  | ...... bit%(J%)|
00002090  20 6e 24 3d 22 59 22 20  8b 20 6e 24 3d 22 2d 22  | n$="Y" . n$="-"|
000020a0  0d 0e 1a 22 e7 20 4a 25  3d 31 36 20 6e 24 3d c3  |...". J%=16 n$=.|
000020b0  a4 64 65 63 6f 64 65 62  69 74 73 28 31 36 2c 32  |.decodebits(16,2|
000020c0  30 29 0d 0e 24 1c f1 20  74 24 2b c4 34 30 2d a9  |0)..$.. t$+.40-.|
000020d0  74 24 2d a9 6e 24 2c 22  20 22 29 2b 6e 24 0d 0e  |t$-.n$," ")+n$..|
000020e0  2e 05 cd 0d 0e 38 05 ed  0d 0e 42 05 3a 0d 0e 4c  |.....8....B.:..L|
000020f0  0f e7 20 62 69 74 25 28  36 29 20 8c 0d 0e 56 33  |.. bit%(6) ...V3|
00002100  f2 72 65 73 74 6f 72 65  28 22 42 69 74 36 53 65  |.restore("Bit6Se|
00002110  74 22 29 3a f3 20 74 24  3a 6e 24 3d c3 a4 64 65  |t"):. t$:n$=..de|
00002120  63 6f 64 65 62 69 74 73  28 32 34 2c 33 31 29 0d  |codebits(24,31).|
00002130  0e 60 1c f1 20 74 24 2b  c4 34 30 2d a9 74 24 2d  |.`.. t$+.40-.t$-|
00002140  a9 6e 24 2c 22 20 22 29  2b 6e 24 0d 0e 6a 05 cd  |.n$," ")+n$..j..|
00002150  0d 0e 74 05 3a 0d 0e 7e  11 e7 20 ac 20 62 69 74  |..t.:..~.. . bit|
00002160  25 28 36 29 20 8c 0d 0e  88 19 f2 72 65 73 74 6f  |%(6) ......resto|
00002170  72 65 28 22 42 69 74 36  55 6e 73 65 74 22 29 0d  |re("Bit6Unset").|
00002180  0e 92 10 e3 20 4a 25 3d  32 34 20 b8 20 32 38 0d  |.... J%=24 . 28.|
00002190  0e 9c 1a f3 20 74 24 3a  e7 20 4a 25 3d 32 34 20  |.... t$:. J%=24 |
000021a0  84 20 4a 25 3d 32 38 20  8c 0d 0e a6 22 e7 20 4a  |. J%=28 ....". J|
000021b0  25 3d 32 34 20 6e 24 3d  c3 a4 64 65 63 6f 64 65  |%=24 n$=..decode|
000021c0  62 69 74 73 28 32 34 2c  32 37 29 0d 0e b0 22 e7  |bits(24,27)...".|
000021d0  20 4a 25 3d 32 38 20 6e  24 3d c3 a4 64 65 63 6f  | J%=28 n$=..deco|
000021e0  64 65 62 69 74 73 28 32  38 2c 33 31 29 0d 0e ba  |debits(28,31)...|
000021f0  1c f1 20 74 24 2b c4 34  30 2d a9 74 24 2d a9 6e  |.. t$+.40-.t$-.n|
00002200  24 2c 22 20 22 29 2b 6e  24 0d 0e c4 05 cd 0d 0e  |$," ")+n$.......|
00002210  ce 05 ed 0d 0e d8 05 cd  0d 0e e2 05 cd 0d 0e ec  |................|
00002220  05 3a 0d 0e f6 09 ef 33  2c 32 36 0d 0f 00 05 e1  |.:.....3,26.....|
00002230  0d 0f 0a 05 3a 0d 0f 14  0f dd a4 70 72 69 6e 74  |....:......print|
00002240  65 72 4f 4b 0d 0f 1e 14  62 75 66 66 65 72 73 69  |erOK....buffersi|
00002250  7a 65 3d 96 28 2d 34 29  0d 0f 28 1c ef 32 2c 31  |ze=.(-4)..(..2,1|
00002260  2c 30 2c 31 2c 30 2c 31  2c 30 2c 31 2c 30 2c 31  |,0,1,0,1,0,1,0,1|
00002270  2c 30 2c 33 0d 0f 32 0e  64 75 6d 6d 79 3d a6 28  |,0,3..2.dummy=.(|
00002280  32 29 0d 0f 3c 17 3d 28  96 28 2d 34 29 3d 62 75  |2)..<.=(.(-4)=bu|
00002290  66 66 65 72 73 69 7a 65  29 0d 0f 46 05 3a 0d 0f  |ffersize)..F.:..|
000022a0  50 29 3a 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |P):=============|
000022b0  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
000022c0  3d 3d 3d 3d 3d 3d 3d 0d  0f 5a 27 f4 2e 20 47 65  |=======..Z'.. Ge|
000022d0  6e 65 72 61 6c 20 70 72  6f 63 65 64 75 72 65 73  |neral procedures|
000022e0  20 61 6e 64 20 66 75 6e  63 74 69 6f 6e 73 0d 0f  | and functions..|
000022f0  64 29 3a 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |d):=============|
00002300  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
00002310  3d 3d 3d 3d 3d 3d 3d 0d  0f 6e 05 3a 0d 0f 78 1a  |=======..n.:..x.|
00002320  dd f2 74 65 78 74 28 78  25 2c 79 25 2c 74 24 2c  |..text(x%,y%,t$,|
00002330  78 73 2c 79 73 29 0d 0f  82 13 ea 20 6d 25 2c 70  |xs,ys)..... m%,p|
00002340  25 2c 6e 25 3a 6d 25 3d  eb 0d 0f 8c 26 70 25 3d  |%,n%:m%=....&p%=|
00002350  32 5e 28 28 6d 25 2d 28  6d 25 3e 35 80 6d 25 3c  |2^((m%-(m%>5.m%<|
00002360  31 32 84 6d 25 3d 31 34  29 29 83 33 2b 31 29 0d  |12.m%=14)).3+1).|
00002370  0f 96 06 ef 35 0d 0f a0  19 ef 32 33 2c 31 37 2c  |....5.....23,17,|
00002380  37 2c 36 2c 38 2a 78 73  3b 38 2a 79 73 7c 0d 0f  |7,6,8*xs;8*ys|..|
00002390  aa 17 e7 a9 28 74 24 29  3c 35 6e 25 3d 32 34 3a  |....(t$)<5n%=24:|
000023a0  8b 6e 25 3d 34 0d 0f b4  1a ec 78 25 2a 38 2a 70  |.n%=4.....x%*8*p|
000023b0  25 2b 6e 25 2c 31 30 32  30 2d 79 25 2a 33 32 0d  |%+n%,1020-y%*32.|
000023c0  0f be 08 f1 74 24 3b 0d  0f c8 13 ef 32 33 2c 31  |....t$;.....23,1|
000023d0  37 2c 37 2c 36 2c 38 3b  38 7c 0d 0f d2 08 ef 34  |7,7,6,8;8|.....4|
000023e0  3a 87 0d 0f dc 05 e1 0d  0f e6 05 3a 0d 0f f0 12  |:..........:....|
000023f0  dd f2 6d 6f 75 73 65 77  61 69 74 28 6e 29 0d 0f  |..mousewait(n)..|
00002400  fa 24 f4 20 30 2d 37 3a  20 57 61 69 74 20 66 6f  |.$. 0-7: Wait fo|
00002410  72 20 74 68 69 73 20 6d  6f 75 73 65 20 73 74 61  |r this mouse sta|
00002420  74 65 0d 10 04 1e f4 20  6e 65 67 3a 20 57 61 69  |te..... neg: Wai|
00002430  74 20 66 6f 72 20 7a 65  72 6f 20 66 69 72 73 74  |t for zero first|
00002440  0d 10 0e 1e f4 20 38 3a  20 20 20 57 61 69 74 20  |..... 8:   Wait |
00002450  66 6f 72 20 61 6e 79 20  62 75 74 74 6f 6e 0d 10  |for any button..|
00002460  18 1c f4 20 31 36 3a 20  20 57 61 69 74 20 66 6f  |... 16:  Wait fo|
00002470  72 20 6b 65 79 70 72 65  73 73 0d 10 22 1c ea 20  |r keypress..".. |
00002480  61 6e 79 70 72 65 73 73  2c 69 6e 6b 65 79 2c 6d  |anypress,inkey,m|
00002490  2c 61 2c 62 2c 63 0d 10  2c 0b 2a 46 58 32 31 2c  |,a,b,c..,.*FX21,|
000024a0  39 0d 10 36 20 e7 20 6e  3c 30 20 8c 20 f2 6d 6f  |9..6 . n<0 . .mo|
000024b0  75 73 65 77 61 69 74 28  30 29 3a 6e 3d 94 28 6e  |usewait(0):n=.(n|
000024c0  29 0d 10 40 20 e7 20 28  6e 20 80 20 31 36 29 3e  |)..@ . (n . 16)>|
000024d0  30 20 8c 20 69 6e 6b 65  79 3d b9 3a 2a 46 58 32  |0 . inkey=.:*FX2|
000024e0  31 0d 10 4a 1c e7 20 28  6e 20 80 20 38 29 3e 30  |1..J.. (n . 8)>0|
000024f0  20 8c 20 61 6e 79 70 72  65 73 73 3d b9 0d 10 54  | . anypress=...T|
00002500  11 6d 3d 6e 20 80 20 37  3a 77 25 3d 2d 31 0d 10  |.m=n . 7:w%=-1..|
00002510  5e 05 f5 0d 10 68 0f c8  97 20 78 25 2c 79 25 2c  |^....h... x%,y%,|
00002520  7a 25 0d 10 72 15 e7 20  69 6e 6b 65 79 20 8c 20  |z%..r.. inkey . |
00002530  77 25 3d a6 28 30 29 0d  10 7c 1c 61 3d 28 7a 25  |w%=.(0)..|.a=(z%|
00002540  3d 6d 20 80 20 ac 20 28  6e 3e 37 20 80 20 6d 3d  |=m . . (n>7 . m=|
00002550  30 29 29 0d 10 86 19 62  3d 28 61 6e 79 70 72 65  |0))....b=(anypre|
00002560  73 73 20 80 20 28 7a 25  3e 30 29 29 0d 10 90 17  |ss . (z%>0))....|
00002570  63 3d 28 69 6e 6b 65 79  20 80 20 28 77 25 3e 2d  |c=(inkey . (w%>-|
00002580  31 29 29 0d 10 9a 0f fd  20 61 20 84 20 62 20 84  |1))..... a . b .|
00002590  20 63 0d 10 a4 05 e1 0d  10 ae 05 3a 0d 10 b8 26  | c.........:...&|
000025a0  dd a4 70 6f 73 69 74 69  6f 6e 64 28 78 25 2c 79  |..positiond(x%,y|
000025b0  25 2c 78 31 25 2c 79 31  25 2c 78 64 25 2c 79 64  |%,x1%,y1%,xd%,yd|
000025c0  25 29 0d 10 c2 2e 3d 78  25 3e 78 31 25 20 80 20  |%)....=x%>x1% . |
000025d0  78 25 3c 78 31 25 2b 78  64 25 20 80 20 79 25 3e  |x%<x1%+xd% . y%>|
000025e0  79 31 25 20 80 20 79 25  3c 79 31 25 2b 79 64 25  |y1% . y%<y1%+yd%|
000025f0  0d 10 cc 05 3a 0d 10 d6  1a dd a4 67 65 74 62 6f  |....:......getbo|
00002600  78 6e 6f 28 78 25 2c 79  25 2c 61 25 28 29 29 0d  |xno(x%,y%,a%()).|
00002610  10 e0 20 f4 20 52 65 74  75 72 6e 73 20 6e 6f 20  |.. . Returns no |
00002620  6f 66 20 73 65 6c 65 63  74 65 64 20 62 6f 78 0d  |of selected box.|
00002630  10 ea 24 f4 20 43 6f 75  6e 74 69 6e 67 20 66 72  |..$. Counting fr|
00002640  6f 6d 20 74 6f 70 20 6c  65 66 74 20 28 3d 6e 6f  |om top left (=no|
00002650  20 31 29 0d 10 f4 1e f4  20 61 6e 64 20 6d 6f 76  | 1)..... and mov|
00002660  69 6e 67 20 6c 65 66 74  20 74 6f 20 72 69 67 68  |ing left to righ|
00002670  74 0d 10 fe 11 ea 20 69  78 25 2c 69 79 25 2c 6e  |t..... ix%,iy%,n|
00002680  6f 25 0d 11 08 31 e7 20  a4 70 6f 73 69 74 69 6f  |o%...1. .positio|
00002690  6e 64 28 78 25 2c 79 25  2c 61 25 28 30 29 2c 61  |nd(x%,y%,a%(0),a|
000026a0  25 28 31 29 2c 61 25 28  36 29 2c 61 25 28 37 29  |%(1),a%(6),a%(7)|
000026b0  29 20 8c 0d 11 12 1c 69  78 25 3d 28 78 25 2d 61  |) .....ix%=(x%-a|
000026c0  25 28 30 29 29 20 81 20  61 25 28 32 29 2b 31 0d  |%(0)) . a%(2)+1.|
000026d0  11 1c 22 69 79 25 3d 61  25 28 35 29 2d 28 79 25  |.."iy%=a%(5)-(y%|
000026e0  2d 61 25 28 31 29 29 20  81 20 61 25 28 33 29 2d  |-a%(1)) . a%(3)-|
000026f0  31 0d 11 26 15 6e 6f 25  3d 69 78 25 2b 61 25 28  |1..&.no%=ix%+a%(|
00002700  34 29 2a 69 79 25 0d 11  30 0c cc 20 6e 6f 25 3d  |4)*iy%..0.. no%=|
00002710  2d 31 0d 11 3a 05 cd 0d  11 44 08 3d 6e 6f 25 0d  |-1..:....D.=no%.|
00002720  11 4e 05 3a 0d 11 58 20  dd f2 64 72 61 77 70 6c  |.N.:..X ..drawpl|
00002730  69 6e 74 68 73 28 61 25  28 29 2c 74 65 78 74 24  |inths(a%(),text$|
00002740  2c 74 25 29 0d 11 62 29  f4 20 44 72 61 77 73 20  |,t%)..b). Draws |
00002750  73 65 74 20 6f 66 20 70  6c 69 6e 74 68 73 20 28  |set of plinths (|
00002760  74 25 3d 74 65 78 74 20  6f 6e 6c 79 29 0d 11 6c  |t%=text only)..l|
00002770  11 ea 20 69 78 25 2c 69  79 25 2c 6e 6f 25 0d 11  |.. ix%,iy%,no%..|
00002780  76 15 61 25 28 36 29 3d  61 25 28 32 29 2a 61 25  |v.a%(6)=a%(2)*a%|
00002790  28 34 29 0d 11 80 15 61  25 28 37 29 3d 61 25 28  |(4)....a%(7)=a%(|
000027a0  33 29 2a 61 25 28 35 29  0d 11 8a 26 e7 20 61 25  |3)*a%(5)...&. a%|
000027b0  28 30 29 3d 2d 31 20 8c  20 61 25 28 30 29 3d 28  |(0)=-1 . a%(0)=(|
000027c0  31 32 38 30 2d 61 25 28  36 29 29 81 20 32 0d 11  |1280-a%(6)). 2..|
000027d0  94 24 e7 20 74 65 78 74  24 3c 3e 22 22 20 8c 20  |.$. text$<>"" . |
000027e0  f2 72 65 73 74 6f 72 65  28 74 65 78 74 24 29 3a  |.restore(text$):|
000027f0  ef 35 0d 11 9e 2c e3 20  69 79 25 3d 61 25 28 31  |.5...,. iy%=a%(1|
00002800  29 2b 61 25 28 37 29 2d  61 25 28 33 29 20 b8 20  |)+a%(7)-a%(3) . |
00002810  61 25 28 31 29 20 88 20  2d 61 25 28 33 29 0d 11  |a%(1) . -a%(3)..|
00002820  a8 2b e3 20 69 78 25 3d  61 25 28 30 29 20 b8 20  |.+. ix%=a%(0) . |
00002830  61 25 28 30 29 2b 61 25  28 36 29 2d 61 25 28 32  |a%(0)+a%(6)-a%(2|
00002840  29 20 88 20 61 25 28 32  29 0d 11 b2 08 e7 74 25  |) . a%(2).....t%|
00002850  8c 0d 11 bc 1b e6 20 61  25 28 31 35 29 20 80 20  |...... a%(15) . |
00002860  36 33 20 c8 9c 20 61 25  28 31 35 29 0d 11 c6 25  |63 .. a%(15)...%|
00002870  78 3d 69 78 25 3a 79 3d  69 79 25 3a 77 3d 38 3a  |x=ix%:y=iy%:w=8:|
00002880  77 78 3d 61 25 28 32 29  3a 77 79 3d 61 25 28 33  |wx=a%(2):wy=a%(3|
00002890  29 0d 11 d0 1f c8 93 20  c8 90 20 78 2b 77 2c 79  |)...... .. x+w,y|
000028a0  2b 77 2c 77 78 2d 32 2a  77 2c 77 79 2d 32 2a 77  |+w,wx-2*w,wy-2*w|
000028b0  0d 11 da 05 cc 0d 11 e4  47 f2 70 6c 69 6e 74 68  |........G.plinth|
000028c0  28 69 78 25 2c 69 79 25  2c 61 25 28 32 29 2c 61  |(ix%,iy%,a%(2),a|
000028d0  25 28 33 29 2c 38 2c 61  25 28 31 33 29 2c 61 25  |%(3),8,a%(13),a%|
000028e0  28 31 34 29 2c 61 25 28  31 35 29 2c 61 25 28 31  |(14),a%(15),a%(1|
000028f0  36 29 2c 61 25 28 31 37  29 2c b9 29 0d 11 ee 05  |6),a%(17),.)....|
00002900  cd 0d 11 f8 11 e7 20 74  65 78 74 24 3c 3e 22 22  |...... text$<>""|
00002910  20 8c 0d 12 02 21 ec 20  69 78 25 2b 61 25 28 31  | ....!. ix%+a%(1|
00002920  31 29 2c 69 79 25 2b 61  25 28 33 29 2d 61 25 28  |1),iy%+a%(3)-a%(|
00002930  31 32 29 0d 12 0c 1b f3  20 74 65 78 74 24 3a e6  |12)..... text$:.|
00002940  20 61 25 28 31 30 29 3a  f1 74 65 78 74 24 0d 12  | a%(10):.text$..|
00002950  16 05 cd 0d 12 20 05 ed  0d 12 2a 05 ed 0d 12 34  |..... ....*....4|
00002960  16 e7 20 74 65 78 74 24  3c 3e 22 22 20 8c 20 ef  |.. text$<>"" . .|
00002970  34 3a 87 0d 12 3e 05 cd  0d 12 48 05 e1 0d 12 52  |4:...>....H....R|
00002980  05 3a 0d 12 5c 2f dd f2  70 6c 69 6e 74 68 28 78  |.:..\/..plinth(x|
00002990  2c 79 2c 77 78 2c 77 79  2c 77 2c 63 30 2c 63 31  |,y,wx,wy,w,c0,c1|
000029a0  2c 63 32 2c 63 33 2c 63  34 2c 72 61 69 73 65 64  |,c2,c3,c4,raised|
000029b0  29 0d 12 66 19 e7 20 ac  20 72 61 69 73 65 64 20  |)..f.. . raised |
000029c0  8c 20 c8 94 20 63 31 2c  63 33 0d 12 70 13 e6 20  |. .. c1,c3..p.. |
000029d0  63 31 20 80 20 36 33 20  c8 9c 20 63 31 0d 12 7a  |c1 . 63 .. c1..z|
000029e0  13 c8 93 20 c8 90 20 78  2c 79 2c 77 78 2c 77 79  |... .. x,y,wx,wy|
000029f0  0d 12 84 13 e6 20 63 33  20 80 20 36 33 20 c8 9c  |..... c3 . 63 ..|
00002a00  20 63 33 0d 12 8e 18 c8  93 20 c8 90 20 78 2b 77  | c3...... .. x+w|
00002a10  2c 79 2c 77 78 2d 32 2a  77 2c 77 0d 12 98 19 c8  |,y,wx-2*w,w.....|
00002a20  93 20 c8 90 20 78 2b 77  78 2d 77 2c 79 2c 77 2c  |. .. x+wx-w,y,w,|
00002a30  77 79 2d 77 0d 12 a2 11  ec 20 78 2c 79 3a ec 20  |wy-w..... x,y:. |
00002a40  78 2b 77 2c 79 0d 12 ac  1f f0 38 35 2c 78 2b 77  |x+w,y.....85,x+w|
00002a50  2c 79 2b 77 3a ec 20 78  2b 77 78 2d 77 2c 79 2b  |,y+w:. x+wx-w,y+|
00002a60  77 79 2d 77 0d 12 b6 11  ec 20 78 2b 77 78 2c 79  |wy-w..... x+wx,y|
00002a70  2b 77 79 2d 77 0d 12 c0  1f f0 38 35 2c 78 2b 77  |+wy-w.....85,x+w|
00002a80  78 2c 79 2b 77 79 3a f0  38 35 2c 78 2b 77 78 2c  |x,y+wy:.85,x+wx,|
00002a90  79 2b 77 79 0d 12 ca 19  e7 20 ac 20 72 61 69 73  |y+wy..... . rais|
00002aa0  65 64 20 8c 20 c8 94 20  63 30 2c 63 34 0d 12 d4  |ed . .. c0,c4...|
00002ab0  13 e6 20 63 30 20 80 20  36 33 20 c8 9c 20 63 30  |.. c0 . 63 .. c0|
00002ac0  0d 12 de 17 86 20 78 2c  79 2b 77 79 2c 78 2b 77  |..... x,y+wy,x+w|
00002ad0  2c 79 2b 77 79 2d 77 0d  12 e8 13 e6 20 63 34 20  |,y+wy-w..... c4 |
00002ae0  80 20 36 33 20 c8 9c 20  63 34 0d 12 f2 17 86 20  |. 63 .. c4..... |
00002af0  78 2b 77 78 2c 79 2c 78  2b 77 78 2d 77 2c 79 2b  |x+wx,y,x+wx-w,y+|
00002b00  77 0d 12 fc 13 e6 20 63  32 20 80 20 36 33 20 c8  |w..... c2 . 63 .|
00002b10  9c 20 63 32 0d 13 06 1f  c8 93 20 c8 90 20 78 2b  |. c2...... .. x+|
00002b20  77 2c 79 2b 77 2c 77 78  2d 32 2a 77 2c 77 79 2d  |w,y+w,wx-2*w,wy-|
00002b30  32 2a 77 0d 13 10 05 e1  0d 13 1a 05 3a 0d 13 24  |2*w.........:..$|
00002b40  17 3a 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |.:==============|
00002b50  3d 3d 3d 3d 0d 13 2e 15  f4 2e 20 49 6e 69 74 69  |====...... Initi|
00002b60  61 6c 69 73 61 74 69 6f  6e 0d 13 38 17 3a 3d 3d  |alisation..8.:==|
00002b70  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
00002b80  0d 13 42 05 3a 0d 13 4c  0a dd f2 69 6e 69 74 0d  |..B.:..L...init.|
00002b90  13 56 0e de 20 62 69 74  25 28 33 31 29 0d 13 60  |.V.. bit%(31)..`|
00002ba0  1e de 20 61 72 65 61 31  25 28 31 37 29 20 20 3a  |.. area1%(17)  :|
00002bb0  f4 20 62 69 74 73 20 30  2d 31 35 0d 13 6a 1f de  |. bits 0-15..j..|
00002bc0  20 61 72 65 61 32 25 28  31 37 29 20 20 3a f4 20  | area2%(17)  :. |
00002bd0  62 69 74 73 20 31 36 2d  33 31 0d 13 74 1a de 20  |bits 16-31..t.. |
00002be0  61 72 65 61 33 25 28 31  37 29 20 20 3a f4 20 66  |area3%(17)  :. f|
00002bf0  6c 61 67 73 0d 13 7e 19  de 20 61 72 65 61 34 25  |lags..~.. area4%|
00002c00  28 31 37 29 20 20 3a f4  20 6d 65 6e 75 0d 13 88  |(17)  :. menu...|
00002c10  2c de 20 61 72 65 61 35  25 28 31 37 29 20 20 3a  |,. area5%(17)  :|
00002c20  f4 20 62 69 74 73 20 32  34 2d 33 31 20 28 69 63  |. bits 24-31 (ic|
00002c30  6f 6e 20 66 6c 61 67 73  29 0d 13 92 05 3a 0d 13  |on flags)....:..|
00002c40  9c 14 f4 20 73 65 74 20  75 70 20 70 61 6c 65 74  |... set up palet|
00002c50  74 65 0d 13 a6 14 fb 20  31 32 2c 32 30 38 2c 32  |te..... 12,208,2|
00002c60  30 38 2c 31 39 32 0d 13  b0 14 fb 20 31 33 2c 31  |08,192..... 13,1|
00002c70  37 36 2c 31 37 36 2c 31  37 36 0d 13 ba 14 fb 20  |76,176,176..... |
00002c80  31 34 2c 31 32 38 2c 31  32 38 2c 31 32 38 0d 13  |14,128,128,128..|
00002c90  c4 11 fb 20 31 35 2c 31  36 2c 31 36 2c 31 36 0d  |... 15,16,16,16.|
00002ca0  13 ce 05 3a 0d 13 d8 2a  fb 31 32 2b 31 32 38 3a  |...:...*.12+128:|
00002cb0  db 20 20 20 20 20 20 20  20 3a f4 20 79 65 6c 6c  |.        :. yell|
00002cc0  6f 77 2f 67 72 65 79 20  73 63 72 65 65 6e 0d 13  |ow/grey screen..|
00002cd0  e2 2f ef 31 39 2c 30 2c  32 34 2c 32 30 38 2c 32  |./.19,0,24,208,2|
00002ce0  30 38 2c 31 39 32 20 20  3a f4 20 79 65 6c 6c 6f  |08,192  :. yello|
00002cf0  77 2f 67 72 65 79 20 62  6f 72 64 65 72 0d 13 ec  |w/grey border...|
00002d00  05 3a 0d 13 f6 19 f4 20  64 65 66 69 6e 65 20 63  |.:..... define c|
00002d10  68 72 20 66 6f 72 20 74  69 63 6b 0d 14 00 24 ef  |hr for tick...$.|
00002d20  32 33 2c 32 34 38 2c 26  30 31 30 30 3b 26 34 34  |23,248,&0100;&44|
00002d30  30 32 3b 26 31 30 32 38  3b 26 30 30 30 30 3b 0d  |02;&1028;&0000;.|
00002d40  14 0a 05 3a 0d 14 14 13  66 6c 61 67 73 24 3d 22  |...:....flags$="|
00002d50  77 69 6e 64 6f 77 22 0d  14 1e 0e 87 3a 2a 50 4f  |window".....:*PO|
00002d60  49 4e 54 45 52 0d 14 28  05 3a 0d 14 32 0a f4 20  |INTER..(.:..2.. |
00002d70  62 69 74 73 0d 14 3c 2d  61 72 65 61 31 25 28 30  |bits..<-area1%(0|
00002d80  29 3d 30 20 20 20 20 3a  61 72 65 61 32 25 28 30  |)=0    :area2%(0|
00002d90  29 3d 36 33 38 20 20 3a  f4 20 58 20 63 6f 6f 72  |)=638  :. X coor|
00002da0  64 0d 14 46 2d 61 72 65  61 31 25 28 31 29 3d 39  |d..F-area1%(1)=9|
00002db0  36 20 20 20 3a 61 72 65  61 32 25 28 31 29 3d 39  |6   :area2%(1)=9|
00002dc0  36 20 20 20 3a f4 20 59  20 63 6f 6f 72 64 0d 14  |6   :. Y coord..|
00002dd0  50 30 61 72 65 61 31 25  28 32 29 3d 36 32 34 20  |P0area1%(2)=624 |
00002de0  20 3a 61 72 65 61 32 25  28 32 29 3d 36 33 36 20  | :area2%(2)=636 |
00002df0  20 3a f4 20 43 65 6c 6c  20 77 69 64 74 68 0d 14  | :. Cell width..|
00002e00  5a 31 61 72 65 61 31 25  28 33 29 3d 35 32 20 20  |Z1area1%(3)=52  |
00002e10  20 3a 61 72 65 61 32 25  28 33 29 3d 35 32 20 20  | :area2%(3)=52  |
00002e20  20 3a f4 20 43 65 6c 6c  20 68 65 69 67 68 74 0d  | :. Cell height.|
00002e30  14 64 32 61 72 65 61 31  25 28 34 29 3d 31 20 20  |.d2area1%(4)=1  |
00002e40  20 20 3a 61 72 65 61 32  25 28 34 29 3d 31 20 20  |  :area2%(4)=1  |
00002e50  20 20 3a f4 20 43 65 6c  6c 73 20 61 63 72 6f 73  |  :. Cells acros|
00002e60  73 0d 14 6e 30 61 72 65  61 31 25 28 35 29 3d 31  |s..n0area1%(5)=1|
00002e70  36 20 20 20 3a 61 72 65  61 32 25 28 35 29 3d 31  |6   :area2%(5)=1|
00002e80  36 20 20 20 3a f4 20 43  65 6c 6c 73 20 64 6f 77  |6   :. Cells dow|
00002e90  6e 0d 14 78 05 3a 0d 14  82 3d f4 20 66 6c 61 67  |n..x.:...=. flag|
00002ea0  73 20 20 20 20 20 20 3a  52 45 4d 20 6d 65 6e 75  |s      :REM menu|
00002eb0  20 20 20 20 20 20 20 3a  52 45 4d 20 62 69 74 73  |       :REM bits|
00002ec0  20 32 34 2d 33 31 20 28  69 63 6f 6e 20 66 6c 61  | 24-31 (icon fla|
00002ed0  67 73 29 0d 14 8c 31 61  72 65 61 33 25 28 30 29  |gs)...1area3%(0)|
00002ee0  3d 39 36 38 20 20 3a 61  72 65 61 34 25 28 30 29  |=968  :area4%(0)|
00002ef0  3d 30 20 20 20 20 3a 61  72 65 61 35 25 28 30 29  |=0    :area5%(0)|
00002f00  3d 36 33 38 0d 14 96 30  61 72 65 61 33 25 28 31  |=638...0area3%(1|
00002f10  29 3d 39 34 38 20 20 3a  61 72 65 61 34 25 28 31  |)=948  :area4%(1|
00002f20  29 3d 31 36 20 20 20 3a  61 72 65 61 35 25 28 31  |)=16   :area5%(1|
00002f30  29 3d 39 36 0d 14 a0 31  61 72 65 61 33 25 28 32  |)=96...1area3%(2|
00002f40  29 3d 33 30 34 20 20 3a  61 72 65 61 34 25 28 32  |)=304  :area4%(2|
00002f50  29 3d 32 35 35 20 20 3a  61 72 65 61 35 25 28 32  |)=255  :area5%(2|
00002f60  29 3d 36 33 36 0d 14 aa  30 61 72 65 61 33 25 28  |)=636...0area3%(|
00002f70  33 29 3d 36 30 20 20 20  3a 61 72 65 61 34 25 28  |3)=60   :area4%(|
00002f80  33 29 3d 36 30 20 20 20  3a 61 72 65 61 35 25 28  |3)=60   :area5%(|
00002f90  33 29 3d 35 32 0d 14 b4  2f 61 72 65 61 33 25 28  |3)=52.../area3%(|
00002fa0  34 29 3d 31 20 20 20 20  3a 61 72 65 61 34 25 28  |4)=1    :area4%(|
00002fb0  34 29 3d 35 20 20 20 20  3a 61 72 65 61 35 25 28  |4)=5    :area5%(|
00002fc0  34 29 3d 31 0d 14 be 2f  61 72 65 61 33 25 28 35  |4)=1.../area3%(5|
00002fd0  29 3d 31 20 20 20 20 3a  61 72 65 61 34 25 28 35  |)=1    :area4%(5|
00002fe0  29 3d 31 20 20 20 20 3a  61 72 65 61 35 25 28 35  |)=1    :area5%(5|
00002ff0  29 3d 38 0d 14 c8 05 3a  0d 14 d2 0d f4 20 43 6f  |)=8....:..... Co|
00003000  6c 6f 75 72 73 0d 14 dc  17 f2 72 65 73 74 6f 72  |lours.....restor|
00003010  65 28 22 43 6f 6c 6f 75  72 73 22 29 0d 14 e6 0f  |e("Colours")....|
00003020  e3 20 4a 25 3d 38 20 b8  20 31 37 0d 14 f0 08 f3  |. J%=8 . 17.....|
00003030  20 6e 25 0d 14 fa 49 61  72 65 61 31 25 28 4a 25  | n%...Iarea1%(J%|
00003040  29 3d 6e 25 3a 61 72 65  61 32 25 28 4a 25 29 3d  |)=n%:area2%(J%)=|
00003050  6e 25 3a 61 72 65 61 33  25 28 4a 25 29 3d 6e 25  |n%:area3%(J%)=n%|
00003060  3a 61 72 65 61 34 25 28  4a 25 29 3d 6e 25 3a 61  |:area4%(J%)=n%:a|
00003070  72 65 61 35 25 28 4a 25  29 3d 6e 25 0d 15 04 05  |rea5%(J%)=n%....|
00003080  ed 0d 15 0e 05 e1 0d 15  18 05 3a 0d 15 22 15 dd  |..........:.."..|
00003090  f2 72 65 73 74 6f 72 65  28 6c 61 62 65 6c 24 29  |.restore(label$)|
000030a0  0d 15 2c 05 f7 0d 15 36  16 f5 3a f3 20 61 24 3a  |..,....6..:. a$:|
000030b0  fd 20 61 24 3d 6c 61 62  65 6c 24 0d 15 40 05 e1  |. a$=label$..@..|
000030c0  0d 15 4a 05 3a 0d 15 54  0d dc 20 57 69 6e 64 6f  |..J.:..T.. Windo|
000030d0  77 31 0d 15 5e 19 dc 20  22 20 30 20 20 28 41 72  |w1..^.. " 0  (Ar|
000030e0  74 68 75 72 20 6f 6e 6c  79 29 22 0d 15 68 21 dc  |thur only)"..h!.|
000030f0  20 22 20 31 20 20 57 69  6e 64 6f 77 20 63 61 6e  | " 1  Window can|
00003100  20 62 65 20 64 72 61 67  67 65 64 22 0d 15 72 19  | be dragged"..r.|
00003110  dc 20 22 20 32 20 20 28  41 72 74 68 75 72 20 6f  |. " 2  (Arthur o|
00003120  6e 6c 79 29 22 0d 15 7c  19 dc 20 22 20 33 20 20  |nly)"..|.. " 3  |
00003130  28 41 72 74 68 75 72 20  6f 6e 6c 79 29 22 0d 15  |(Arthur only)"..|
00003140  86 1c dc 20 22 20 34 20  20 4e 6f 20 75 73 65 72  |... " 4  No user|
00003150  20 67 72 61 70 68 69 63  73 22 0d 15 90 1c dc 20  | graphics"..... |
00003160  22 20 35 20 20 57 69 6e  64 6f 77 20 69 73 20 61  |" 5  Window is a|
00003170  20 70 61 6e 65 22 0d 15  9a 27 dc 20 22 20 36 20  | pane"...'. " 6 |
00003180  20 57 69 6e 64 6f 77 20  63 61 6e 20 67 6f 20 62  | Window can go b|
00003190  65 79 6f 6e 64 20 73 63  72 65 65 6e 22 0d 15 a4  |eyond screen"...|
000031a0  19 dc 20 22 20 37 20 20  28 41 72 74 68 75 72 20  |.. " 7  (Arthur |
000031b0  6f 6e 6c 79 29 22 0d 15  ae 26 dc 20 22 20 38 20  |only)"...&. " 8 |
000031c0  20 53 63 72 6f 6c 6c 20  77 69 74 68 6f 75 74 20  | Scroll without |
000031d0  61 75 74 6f 2d 72 65 70  65 61 74 22 0d 15 b8 23  |auto-repeat"...#|
000031e0  dc 20 22 20 39 20 20 53  63 72 6f 6c 6c 20 77 69  |. " 9  Scroll wi|
000031f0  74 68 20 61 75 74 6f 2d  72 65 70 65 61 74 22 0d  |th auto-repeat".|
00003200  15 c2 29 dc 20 22 31 30  20 20 54 72 65 61 74 20  |..). "10  Treat |
00003210  63 6f 6c 6f 75 72 73 20  61 73 20 47 43 4f 4c 20  |colours as GCOL |
00003220  6e 75 6d 62 65 72 73 22  0d 15 cc 25 dc 20 22 31  |numbers"...%. "1|
00003230  31 20 20 4e 6f 20 77 69  6e 64 6f 77 73 20 62 65  |1  No windows be|
00003240  6c 6f 77 20 74 68 69 73  20 6f 6e 65 22 0d 15 d6  |low this one"...|
00003250  2a dc 20 22 31 32 20 20  50 72 6f 64 75 63 65 20  |*. "12  Produce |
00003260  72 65 61 73 6f 6e 73 20  66 6f 72 20 27 68 6f 74  |reasons for 'hot|
00003270  20 6b 65 79 73 27 22 0d  15 e0 25 dc 20 22 31 33  | keys'"...%. "13|
00003280  20 20 28 52 65 73 65 72  76 65 64 20 2d 20 6d 75  |  (Reserved - mu|
00003290  73 74 20 62 65 20 7a 65  72 6f 29 22 0d 15 ea 25  |st be zero)"...%|
000032a0  dc 20 22 31 34 20 20 28  52 65 73 65 72 76 65 64  |. "14  (Reserved|
000032b0  20 2d 20 6d 75 73 74 20  62 65 20 7a 65 72 6f 29  | - must be zero)|
000032c0  22 0d 15 f4 25 dc 20 22  31 35 20 20 28 52 65 73  |"...%. "15  (Res|
000032d0  65 72 76 65 64 20 2d 20  6d 75 73 74 20 62 65 20  |erved - must be |
000032e0  7a 65 72 6f 29 22 0d 15  fe 05 3a 0d 16 08 0d dc  |zero)"....:.....|
000032f0  20 57 69 6e 64 6f 77 32  0d 16 12 26 dc 20 22 31  | Window2...&. "1|
00003300  36 20 20 28 55 73 65 64  20 74 6f 20 72 65 74 75  |6  (Used to retu|
00003310  72 6e 20 69 6e 66 6f 20  6f 6e 6c 79 29 22 0d 16  |rn info only)"..|
00003320  1c 26 dc 20 22 31 37 20  20 28 55 73 65 64 20 74  |.&. "17  (Used t|
00003330  6f 20 72 65 74 75 72 6e  20 69 6e 66 6f 20 6f 6e  |o return info on|
00003340  6c 79 29 22 0d 16 26 26  dc 20 22 31 38 20 20 28  |ly)"..&&. "18  (|
00003350  55 73 65 64 20 74 6f 20  72 65 74 75 72 6e 20 69  |Used to return i|
00003360  6e 66 6f 20 6f 6e 6c 79  29 22 0d 16 30 26 dc 20  |nfo only)"..0&. |
00003370  22 31 39 20 20 28 55 73  65 64 20 74 6f 20 72 65  |"19  (Used to re|
00003380  74 75 72 6e 20 69 6e 66  6f 20 6f 6e 6c 79 29 22  |turn info only)"|
00003390  0d 16 3a 25 dc 20 22 32  30 20 20 28 52 65 73 65  |..:%. "20  (Rese|
000033a0  72 76 65 64 20 2d 20 6d  75 73 74 20 62 65 20 7a  |rved - must be z|
000033b0  65 72 6f 29 22 0d 16 44  25 dc 20 22 32 31 20 20  |ero)"..D%. "21  |
000033c0  28 52 65 73 65 72 76 65  64 20 2d 20 6d 75 73 74  |(Reserved - must|
000033d0  20 62 65 20 7a 65 72 6f  29 22 0d 16 4e 25 dc 20  | be zero)"..N%. |
000033e0  22 32 32 20 20 28 52 65  73 65 72 76 65 64 20 2d  |"22  (Reserved -|
000033f0  20 6d 75 73 74 20 62 65  20 7a 65 72 6f 29 22 0d  | must be zero)".|
00003400  16 58 25 dc 20 22 32 33  20 20 28 52 65 73 65 72  |.X%. "23  (Reser|
00003410  76 65 64 20 2d 20 6d 75  73 74 20 62 65 20 7a 65  |ved - must be ze|
00003420  72 6f 29 22 0d 16 62 22  dc 20 22 32 34 20 20 57  |ro)"..b". "24  W|
00003430  69 6e 64 6f 77 20 68 61  73 20 61 20 62 61 63 6b  |indow has a back|
00003440  20 69 63 6f 6e 22 0d 16  6c 23 dc 20 22 32 35 20  | icon"..l#. "25 |
00003450  20 57 69 6e 64 6f 77 20  68 61 73 20 61 20 63 6c  | Window has a cl|
00003460  6f 73 65 20 69 63 6f 6e  22 0d 16 76 22 dc 20 22  |ose icon"..v". "|
00003470  32 36 20 20 57 69 6e 64  6f 77 20 68 61 73 20 61  |26  Window has a|
00003480  20 74 69 74 6c 65 20 62  61 72 22 0d 16 80 29 dc  | title bar"...).|
00003490  20 22 32 37 20 20 57 69  6e 64 6f 77 20 68 61 73  | "27  Window has|
000034a0  20 61 20 74 6f 67 67 6c  65 20 73 69 7a 65 20 69  | a toggle size i|
000034b0  63 6f 6e 22 0d 16 8a 28  dc 20 22 32 38 20 20 57  |con"...(. "28  W|
000034c0  69 6e 64 6f 77 20 68 61  73 20 61 20 76 65 72 74  |indow has a vert|
000034d0  20 73 63 72 6f 6c 6c 20  62 61 72 22 0d 16 94 27  | scroll bar"...'|
000034e0  dc 20 22 32 39 20 20 57  69 6e 64 6f 77 20 68 61  |. "29  Window ha|
000034f0  73 20 61 6e 20 61 64 6a  20 73 69 7a 65 20 69 63  |s an adj size ic|
00003500  6f 6e 22 0d 16 9e 29 dc  20 22 33 30 20 20 57 69  |on"...). "30  Wi|
00003510  6e 64 6f 77 20 68 61 73  20 61 20 68 6f 72 69 7a  |ndow has a horiz|
00003520  20 73 63 72 6f 6c 6c 20  62 61 72 22 0d 16 a8 26  | scroll bar"...&|
00003530  dc 20 22 33 31 20 20 49  67 6e 6f 72 65 20 27 41  |. "31  Ignore 'A|
00003540  72 74 68 75 72 20 6f 6e  6c 79 27 20 66 6c 61 67  |rthur only' flag|
00003550  73 22 0d 16 b2 05 3a 0d  16 bc 0b dc 20 49 63 6f  |s"....:..... Ico|
00003560  6e 31 0d 16 c6 20 dc 20  22 20 30 20 20 20 20 49  |n1... . " 0    I|
00003570  63 6f 6e 20 63 6f 6e 74  61 69 6e 73 20 74 65 78  |con contains tex|
00003580  74 22 0d 16 d0 24 dc 20  22 20 31 20 20 20 20 49  |t"...$. " 1    I|
00003590  63 6f 6e 20 63 6f 6e 74  61 69 6e 73 20 61 20 73  |con contains a s|
000035a0  70 72 69 74 65 22 0d 16  da 1f dc 20 22 20 32 20  |prite"..... " 2 |
000035b0  20 20 20 49 63 6f 6e 20  68 61 73 20 61 20 62 6f  |   Icon has a bo|
000035c0  72 64 65 72 22 0d 16 e4  23 dc 20 22 20 33 20 20  |rder"...#. " 3  |
000035d0  20 20 48 6f 72 69 7a 6f  6e 74 61 6c 6c 79 20 63  |  Horizontally c|
000035e0  65 6e 74 65 72 65 64 22  0d 16 ee 21 dc 20 22 20  |entered"...!. " |
000035f0  34 20 20 20 20 56 65 72  74 69 63 61 6c 6c 79 20  |4    Vertically |
00003600  63 65 6e 74 65 72 65 64  22 0d 16 f8 1f dc 20 22  |centered"..... "|
00003610  20 35 20 20 20 20 46 69  6c 6c 65 64 20 62 61 63  | 5    Filled bac|
00003620  6b 67 72 6f 75 6e 64 22  0d 17 02 22 dc 20 22 20  |kground"...". " |
00003630  36 20 20 20 20 54 65 78  74 20 69 73 20 61 6e 74  |6    Text is ant|
00003640  69 2d 61 6c 69 61 73 65  64 22 0d 17 0c 27 dc 20  |i-aliased"...'. |
00003650  22 20 37 20 20 20 20 4e  65 65 64 73 20 74 61 73  |" 7    Needs tas|
00003660  6b 20 74 6f 20 72 65 64  72 61 77 20 69 63 6f 6e  |k to redraw icon|
00003670  22 0d 17 16 25 dc 20 22  20 38 20 20 20 20 49 63  |"...%. " 8    Ic|
00003680  6f 6e 20 64 61 74 61 20  69 73 20 69 6e 64 69 72  |on data is indir|
00003690  65 63 74 65 64 22 0d 17  20 25 dc 20 22 20 39 20  |ected".. %. " 9 |
000036a0  20 20 20 54 65 78 74 20  69 73 20 72 69 67 68 74  |   Text is right|
000036b0  2d 6a 75 73 74 69 66 69  65 64 22 0d 17 2a 28 dc  |-justified"..*(.|
000036c0  20 22 31 30 20 20 20 20  49 66 20 41 64 6a 75 73  | "10    If Adjus|
000036d0  74 20 63 6c 69 63 6b 65  64 20 6b 65 65 70 20 45  |t clicked keep E|
000036e0  53 47 22 0d 17 34 29 dc  20 22 31 31 20 20 20 20  |SG"..4). "11    |
000036f0  44 69 73 70 6c 61 79 20  73 70 72 69 74 65 20 61  |Display sprite a|
00003700  74 20 68 61 6c 66 20 73  69 7a 65 22 0d 17 3e 25  |t half size"..>%|
00003710  dc 20 22 31 32 2d 31 35  20 49 63 6f 6e 20 62 75  |. "12-15 Icon bu|
00003720  74 74 6f 6e 20 74 79 70  65 20 28 30 2d 31 35 29  |tton type (0-15)|
00003730  22 0d 17 48 10 dc 20 22  31 33 20 20 20 20 27 27  |"..H.. "13    ''|
00003740  22 0d 17 52 10 dc 20 22  31 34 20 20 20 20 27 27  |"..R.. "14    ''|
00003750  22 0d 17 5c 10 dc 20 22  31 35 20 20 20 20 27 27  |"..\.. "15    ''|
00003760  22 0d 17 66 05 3a 0d 17  70 0b dc 20 49 63 6f 6e  |"..f.:..p.. Icon|
00003770  32 0d 17 7a 1a dc 20 22  31 36 2d 32 30 20 45 20  |2..z.. "16-20 E |
00003780  53 20 47 20 28 31 2d 33  31 29 22 0d 17 84 10 dc  |S G (1-31)".....|
00003790  20 22 31 37 20 20 20 20  27 27 22 0d 17 8e 10 dc  | "17    ''".....|
000037a0  20 22 31 38 20 20 20 20  27 27 22 0d 17 98 10 dc  | "18    ''".....|
000037b0  20 22 31 39 20 20 20 20  27 27 22 0d 17 a2 10 dc  | "19    ''".....|
000037c0  20 22 32 30 20 20 20 20  27 27 22 0d 17 ac 26 dc  | "20    ''"...&.|
000037d0  20 22 32 31 20 20 20 20  49 63 6f 6e 20 69 73 20  | "21    Icon is |
000037e0  61 6c 72 65 61 64 79 20  73 65 6c 65 63 74 65 64  |already selected|
000037f0  22 0d 17 b6 24 dc 20 22  32 32 20 20 20 20 49 63  |"...$. "22    Ic|
00003800  6f 6e 20 69 73 20 6e 6f  74 20 73 65 6c 65 63 74  |on is not select|
00003810  61 62 6c 65 22 0d 17 c0  23 dc 20 22 32 33 20 20  |able"...#. "23  |
00003820  20 20 49 63 6f 6e 20 68  61 73 20 62 65 65 6e 20  |  Icon has been |
00003830  64 65 6c 65 74 65 64 22  0d 17 ca 26 dc 20 22 32  |deleted"...&. "2|
00003840  34 2d 32 37 20 46 6f 72  65 67 72 6f 75 6e 64 20  |4-27 Foreground |
00003850  63 6f 6c 6f 75 72 20 28  30 2d 31 35 29 22 0d 17  |colour (0-15)"..|
00003860  d4 10 dc 20 22 32 35 20  20 20 20 27 27 22 0d 17  |... "25    ''"..|
00003870  de 10 dc 20 22 32 36 20  20 20 20 27 27 22 0d 17  |... "26    ''"..|
00003880  e8 10 dc 20 22 32 37 20  20 20 20 27 27 22 0d 17  |... "27    ''"..|
00003890  f2 26 dc 20 22 32 38 2d  33 31 20 42 61 63 6b 67  |.&. "28-31 Backg|
000038a0  72 6f 75 6e 64 20 63 6f  6c 6f 75 72 20 28 30 2d  |round colour (0-|
000038b0  31 35 29 22 0d 17 fc 10  dc 20 22 32 39 20 20 20  |15)"..... "29   |
000038c0  20 27 27 22 0d 18 06 10  dc 20 22 33 30 20 20 20  | ''"..... "30   |
000038d0  20 27 27 22 0d 18 10 10  dc 20 22 33 31 20 20 20  | ''"..... "31   |
000038e0  20 27 27 22 0d 18 1a 05  3a 0d 18 24 0f dc 20 42  | ''"....:..$.. B|
000038f0  69 74 36 55 6e 73 65 74  0d 18 2e 26 dc 20 22 32  |it6Unset...&. "2|
00003900  34 2d 32 37 20 46 6f 72  65 67 72 6f 75 6e 64 20  |4-27 Foreground |
00003910  63 6f 6c 6f 75 72 20 28  30 2d 31 35 29 22 0d 18  |colour (0-15)"..|
00003920  38 10 dc 20 22 32 35 20  20 20 20 27 27 22 0d 18  |8.. "25    ''"..|
00003930  42 10 dc 20 22 32 36 20  20 20 20 27 27 22 0d 18  |B.. "26    ''"..|
00003940  4c 10 dc 20 22 32 37 20  20 20 20 27 27 22 0d 18  |L.. "27    ''"..|
00003950  56 26 dc 20 22 32 38 2d  33 31 20 42 61 63 6b 67  |V&. "28-31 Backg|
00003960  72 6f 75 6e 64 20 63 6f  6c 6f 75 72 20 28 30 2d  |round colour (0-|
00003970  31 35 29 22 0d 18 60 10  dc 20 22 32 39 20 20 20  |15)"..`.. "29   |
00003980  20 27 27 22 0d 18 6a 10  dc 20 22 33 30 20 20 20  | ''"..j.. "30   |
00003990  20 27 27 22 0d 18 74 10  dc 20 22 33 31 20 20 20  | ''"..t.. "31   |
000039a0  20 27 27 22 0d 18 7e 05  3a 0d 18 88 0d dc 20 42  | ''"..~.:..... B|
000039b0  69 74 36 53 65 74 0d 18  92 27 dc 20 22 32 34 2d  |it6Set...'. "24-|
000039c0  33 31 20 41 6c 69 61 73  20 66 6f 6e 74 20 68 61  |31 Alias font ha|
000039d0  6e 64 6c 65 20 28 31 2d  32 35 35 29 22 0d 18 9c  |ndle (1-255)"...|
000039e0  10 dc 20 22 32 35 20 20  20 20 27 27 22 0d 18 a6  |.. "25    ''"...|
000039f0  10 dc 20 22 32 36 20 20  20 20 27 27 22 0d 18 b0  |.. "26    ''"...|
00003a00  10 dc 20 22 32 37 20 20  20 20 27 27 22 0d 18 ba  |.. "27    ''"...|
00003a10  10 dc 20 22 32 38 20 20  20 20 27 27 22 0d 18 c4  |.. "28    ''"...|
00003a20  10 dc 20 22 32 39 20 20  20 20 27 27 22 0d 18 ce  |.. "29    ''"...|
00003a30  10 dc 20 22 33 30 20 20  20 20 27 27 22 0d 18 d8  |.. "30    ''"...|
00003a40  10 dc 20 22 33 31 20 20  20 20 27 27 22 0d 18 e2  |.. "31    ''"...|
00003a50  05 3a 0d 18 ec 0b dc 20  46 6c 61 67 73 0d 18 f6  |.:..... Flags...|
00003a60  0f dc 20 22 46 6c 61 67  73 20 3d 22 0d 19 00 05  |.. "Flags ="....|
00003a70  3a 0d 19 0a 0a dc 20 4d  65 6e 75 0d 19 14 12 dc  |:..... Menu.....|
00003a80  20 57 69 6e 64 6f 77 20  66 6c 61 67 73 0d 19 1e  | Window flags...|
00003a90  10 dc 20 49 63 6f 6e 20  66 6c 61 67 73 0d 19 28  |.. Icon flags..(|
00003aa0  12 dc 20 22 20 20 20 20  41 64 6a 75 73 74 22 0d  |.. "    Adjust".|
00003ab0  19 32 12 dc 20 22 20 20  20 20 20 50 72 69 6e 74  |.2.. "     Print|
00003ac0  22 0d 19 3c 11 dc 20 22  20 20 20 20 20 51 75 69  |"..<.. "     Qui|
00003ad0  74 22 0d 19 46 05 3a 0d  19 50 0d dc 20 43 6f 6c  |t"..F.:..P.. Col|
00003ae0  6f 75 72 73 0d 19 5a 11  dc 20 34 2c 37 2c 37 2c  |ours..Z.. 4,7,7,|
00003af0  31 36 2c 31 36 0d 19 64  12 f4 20 42 6f 78 20 62  |16,16..d.. Box b|
00003b00  63 67 20 62 6c 75 65 0d  19 6e 14 f4 20 42 6f 78  |cg blue..n.. Box|
00003b10  20 6c 69 6e 65 20 77 68  69 74 65 0d 19 78 10 f4  | line white..x..|
00003b20  20 57 68 69 74 65 20 74  65 78 74 0d 19 82 13 f4  | White text.....|
00003b30  20 54 65 78 74 20 78 20  6f 66 66 73 65 74 0d 19  | Text x offset..|
00003b40  8c 13 f4 20 54 65 78 74  20 79 20 6f 66 66 73 65  |... Text y offse|
00003b50  74 0d 19 96 14 dc 20 37  2c 31 33 2c 31 34 2c 31  |t..... 7,13,14,1|
00003b60  35 2c 30 2c 37 0d ff                              |5,0,7..|
00003b67