Home » Personal collection » Acorn ADFS disks » Archimedes » Dominic_1B.ADF » !Chars/!RunImage
!Chars/!RunImage
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Personal collection » Acorn ADFS disks » Archimedes » Dominic_1B.ADF |
Filename: | !Chars/!RunImage |
Read OK: | ✔ |
File size: | 1A1F bytes |
Load address: | FFFFFB41 |
Exec address: | 8A6B65F1 |
Duplicates
There are 3 duplicate copies of this file in the archive:
- Personal collection » Acorn ADFS disks » Archimedes » Dominic_1.ADF » !Chars/!RunImage
- Personal collection » Acorn ADFS disks » Archimedes » Dominic_1B.ADF » !Chars/!RunImage
- Personal collection » Acorn ADFS disks » Greaseweazled » adfs_Dominic_1.adf » !Chars/!RunImage
- Personal collection » Acorn ADFS disks » Greaseweazled » adfs_Dominic_1B.adf » !Chars/!RunImage
File contents
10REM > !RunImage 20REM Version 0.12 (10 Jan 89) 30DIM TASK 4, q% 255, C$(8), CharDef 8 40LM%=16:RM%=16:BM%=16:TM%=16 50MXSP%=24:MYSP%=44 60FOR X%=0 TO 31 70 IF X%<=15 THEN C$(0)+=FNCH(X%,0) ELSE C$(8)+=FNCH(X%,0) 80 FOR Y%=1 TO 7 90 C$(Y%)+=FNCH(X%,Y%) 100 NEXT 110NEXT 120R$=CHR$23+CHR$32+STRING$(8,CHR$0) 130C$(3)+=R$:C$(8)+=R$:font$="System Font":curf%=-1 140PROCvars 150HotKey%=-1:REM Shift key 160 170$TASK="TASK" 180SYS"Wimp_Initialise",200,!TASK,"Characters" TO ,TaskHandle 190ON ERROR ONERROROFF:SYS"Wimp_CloseDown",TaskHandle,!TASK:ERROR EXT ERR,REPORT$ 200SYS"Wimp_OpenTemplate",,"<Obey$Dir>.Templates" 210LOCAL ERROR 220ON ERROR RESTORE ERROR:SYS"Wimp_CloseTemplate":ERROR ERR, REPORT$ 230SYS"Wimp_LoadTemplate",,q%+4,0,0,-1,"Characters",0 240RESTORE ERROR 250SYS"Wimp_CloseTemplate" 260 270DIM InputVars 3*4-1, OutputVars 2*4-1 280InputVars!0=4:InputVars!4=5:InputVars!8=-1:REM XEigFactor, YEigFactor 290PROCReadModeVars 300 310q%!12=q%!4+LM%+31*MXSP%+16+RM% 320q%!8=q%!16-TM%-7*MYSP%-32-BM% 330 340SYS"Wimp_CreateWindow",,q%+4 TO WindowHandle 350!q%=WindowHandle:q%!28=-1:PROCOpenWindow 360Null=0:Redraw=1:Open=2:Close=3:PointerLeaving=4:PointerEntering=5:MouseChange=6 370MenuSelect=9:MessageA=17:MessageB=18 380PollFlags=NOT((1<<Redraw)+(1<<Open)+(1<<Close)+(1<<PointerLeaving)+(1<<PointerEntering)+(1<<MouseChange)+(1<<MessageA)+(1<<MessageB)) 390MenuData=FALSE:HIMEM=END+1024:END=HIMEM+8*1024:menulimit=HIMEM:HIMEM=END+2048 400REPEAT 410 SYS Poll%,PollFlags,q% TO reason 420 CASE reason OF 430 WHEN Null: PROCCheckHotKey 440 WHEN Redraw: PROCRedrawWindow 450 WHEN Open: PROCOpenWindow 460 WHEN Close: PROCCloseWindow 470 WHEN PointerLeaving: PROCPointerLeaving 480 WHEN PointerEntering: PROCPointerEntering 490 WHEN MouseChange: PROCCheckMouse(!q%,q%!4,q%!8,q%!12,q%!16,q%!20) 500 WHEN MenuSelect: PROCdomenu 510 WHEN MessageA, MessageB: PROCMessage 520 ENDCASE 530UNTIL FALSE 540END 550 560DEFPROCCheckHotKey 570IsDown%=INKEY HotKey% 580IF IsDown% AND NOT WasDown% THEN 590 SYS GetP,,q% 600 PROCDoChar 610ENDIF 620WasDown%=IsDown% 630ENDPROC 640 650DEFPROCRedrawWindow 660SYS RedrawW,,q% TO flag% 670WHILE flag% 680 PROCPlotStuff 690 SYS GetR%,,q% TO flag% 700ENDWHILE 710ENDPROC 720 730DEFPROCOpenWindow 740SYS"Wimp_OpenWindow",,q% 750ENDPROC 760 770DEFPROCCloseWindow 780IFcurf%>-1 SYS LoseFont,curf%:curf%=-1 790SYS"Wimp_CloseDown",TaskHandle,!TASK 800END 810ENDPROC 820 830DEFPROCPointerLeaving 840PollFlags=PollFlags OR (1<<Null):REM No more null events 850ENDPROC 860 870DEFPROCPointerEntering 880PollFlags=PollFlags AND NOT (1<<Null):REM Enable null events 890WasDown%=INKEY HotKey% 900ENDPROC 910 920DEFPROCMessage 930CASE q%!16 OF 940WHEN 0:PROCCloseWindow 950WHEN &400C1:PROCReadModeVars 960WHEN &502:PROCDoHelp 970ENDCASE 980ENDPROC 990 1000DEFPROCPlotStuff 1010StartX%=q%!4+LM%-q%!20:StartY%=q%!16-TM%-q%!24 1020IFcurf%>-1 THEN 1030 SYS SetFont,curf% 1040 ox0%=(q%!28-StartX%)DIVMXSP%:IFox0%>31 ox0%=31 1050 ox1%=(q%!36-StartX%)DIVMXSP%:IFox1%>31 ox1%=31 1060 FOR Y%=1 TO 7 1070 CY%=StartY%-24-Y%*MYSP% 1080 IF CY%+24<q%!40+31 AND CY%+24>=q%!32 THEN 1090 FOR X%=ox0%TOox1% 1100 SYS Paint%,,CHR$(Y%*32+X%),&14,StartX%+X%*MXSP%,CY% 1110 NEXT 1120 ENDIF 1130 NEXT 1140ELSE 1150VDU23,17,7,4,MXSP%>>XEIG%;MYSP%>>YEIG%;0; 1160FOR Y%=0 TO 7 1170 CY%=StartY%-Y%*MYSP% 1180 IF CY%<q%!40+31 AND CY%>=q%!32 THEN 1190 MOVE StartX%,CY% 1200 PRINT C$(Y%); 1210 IF Y%=0 PRINT C$(8); 1220 ENDIF 1230NEXT 1240VDU23,17,7,4,16>>XEIG%;32>>YEIG%;0; 1250ENDIF 1260ENDPROC 1270 1280DEFFNCH(X%,Y%) 1290C%=X%+Y%*32 1300IF C%<32 OR C%=127 THEN 1310 IF C%=127 THEN C%=ASC"?" ELSE C%=C% OR ASC"@" 1320 CharDef?0=C%:SYS"OS_Word",10,CharDef 1330 C$=CHR$23+CHR$32 1340 FOR I%=1 TO 8 1350 C$+=CHR$(CharDef?I% EOR &FF) 1360 NEXT 1370 C$+=" " 1380ELSE 1390 C$=CHR$C% 1400ENDIF 1410=C$ 1420 1430DEFPROCReadModeVars 1440SYS"OS_ReadVduVariables",InputVars,OutputVars 1450XEIG%=OutputVars!0:YEIG%=OutputVars!4 1460IFcurf%>-1 THEN 1470 SYSLoseFont,curf% 1480 SYSFindFont,,a$,14*16,16*16 TO curf% 1490ENDIF 1500ENDPROC 1510 1520DEFPROCCheckMouse(mousex%,mousey%,b%,handle%,icon%,ob%) 1530IF b% AND 4 THEN 1540 PROCDoChar 1550ELSE 1560 IF b% AND 2 THEN 1570 IF NOT MenuData THEN 1580 menustrings%=HIMEM:menudata%=menulimit-&1000 1590 menuptr%=menudata%:$menuptr%="Font Choice" 1600 menuptr%?12=7:menuptr%?13=2:menuptr%?14=7:menuptr%?15=0 1610 menuptr%!20=44:menuptr%!24=0:menuptr%+=28 1620 !menuptr%=0:menuptr%!4=-1:menuptr%!8=&07000021 1630 $(menuptr%+12)="System Font":maxmw%=LEN$(menuptr%+12) 1640 menuptr%+=24:I%=1:c%=0:REPEAT 1650 SYS "Font_ListFonts",,q%,c% TO ,,c% 1660 IFc%>=0 THEN 1670 !menuptr%=0:menuptr%!4=-1:menuptr%!8=&07000021 1680 A%=LEN$q%:IFA%>maxmw% maxmw%=A% 1690 IFA%<12 THEN 1700 $(menuptr%+12)=$q% 1710 ELSE 1720 IFmenustrings%+A%+1>menudata% PROCmorespace 1730 B%=menustrings%:menustrings%+=A%+1:$B%=$q% 1740 menuptr%!12=B%:menuptr%!16=-1:menuptr%!20=A%+1:menuptr%!8+=&100 1750 ENDIF 1760 menuptr%+=24:I%+=1:IFmenuptr%+24>menulimit PROCmorespace 1770 ENDIF 1780 UNTIL c%<0 1790 menudata%!16=maxmw%*16+24 1800 menuptr%!-24+=&80 : REM set 'last' bit 1810 MenuData=TRUE 1820 ENDIF 1830 PROCpopupmenu 1840 ENDIF 1850ENDIF 1860ENDPROC 1870 1880DEF PROCmorespace 1890LOCAL A%,B% 1900SYS"Wimp_SlotSize",menulimit-&8000+&1000,-1 TO A% 1910IFA%+&8000=menulimit ERROR 224,"Can't get more space for menu" 1920menulimit=A%+&8000 1930B%=(menulimit-menuptr%+menudata%-menustrings%)/2 AND NOT 3 1940IFB%>menulimit-menuptr% B%=(menulimit-menuptr%)/2 AND NOT3 1950FORA%=menuptr% TO menudata% STEP-4 1960A%!B%=!A%:NEXT 1970menuptr%+=B%:menudata%+=B% 1980ENDPROC 1990 2000DEF PROCpopupmenu 2010A%=menudata%+28:REPEAT 2020 IFA%!8 AND 256 B%=A%!12 ELSE B%=A%+12 2030 !A%=!A% AND NOT 1 OR (($B%=font$)AND1):A%+=24 2040UNTILA%!-24 AND&80 2050SYS CrMenu,,menudata%,mousex%-102,mousey%+64 2060ENDPROC 2070 2080DEF PROCdomenu 2090SYS DcMenu,,menudata%,q%,STRING$(200," ")TO,,,a$ 2100IFa$<>"" AND a$<>font$ THEN 2110 IFcurf%>-1 SYS LoseFont,curf%:curf%=-1 2120 font$=a$:IFa$<>"System Font" SYS FindFont,,a$,14*16,16*16 TO curf% 2130 SYS Screen,WindowHandle,0,-1024,1280,0 2140 SYS GetP,,q%:IFq%?8AND1 PROCpopupmenu 2150ENDIF 2160ENDPROC 2170 2180DEFPROCDoChar 2190IF q%!12=WindowHandle THEN 2200 Char%=FNCoordsToChar(q%!0,q%!4) 2210 IF Char%<>-1 THEN SYS"Wimp_ProcessKey",Char% 2220ENDIF 2230ENDPROC 2240 2250DEFPROCDoHelp 2260IF q%!32=WindowHandle THEN 2270 HisTaskHandle%=q%!4 2280 HisRef%=q%!8 2290 Char%=FNCoordsToChar(q%!20,q%!24) 2300 IF Char%<>-1 THEN 2310 MES$="Click SELECT or press Shift key to enter character code &"+FNH(Char%)+" as if from the keyboard. Press MENU to change the displayed font." 2320 q%!0=((20+LENMES$+1)+3)ANDNOT3 2330 q%!12=HisRef% 2340 q%!16=&503 2350 $(q%+20)=MES$ 2360 q%?(20+LENMES$)=0 2370 SYS"Wimp_SendMessage",MessageA,q%,HisTaskHandle% 2380 ENDIF 2390ENDIF 2400ENDPROC 2410 2420DEFFNCoordsToChar(MouseX%,MouseY%) 2430!q%=WindowHandle 2440SYS GetW,,q% 2450YOff%=(q%!16-TM%-q%!24+((MYSP%-32)>>1)-MouseY%)DIV MYSP% 2460Char%=-1 2470IF YOff%>=0 AND YOff%<=7 THEN 2480 XOff%=(MouseX%-(q%!4+LM%-q%!20+((16-MXSP%)>>1)))DIV MXSP% 2490 IF XOff%>=0 AND XOff%<=31 THEN 2500 Char%=XOff%+YOff%*32 2510 ENDIF 2520ENDIF 2530=Char% 2540 2550DEF PROCvars 2560Font = (1<<18) + (2<<6) 2570FindFont= Font+1 2580LoseFont= Font+2 2590FontDefn= Font+3 2600Width = Font+5 2610Paint% = Font+6 2620SetFont = Font+10 2630Wimp = (1<<18) + (3<<6) 2640CreateW = Wimp+1 2650Poll% = Wimp+7 2660RedrawW = Wimp+8 2670UpdateW = Wimp+9 2680GetR% = Wimp+10 2690GetW = Wimp+11 2700GetP = Wimp+15 2710Drag = Wimp+16 2720Screen = Wimp+17 2730CrMenu = Wimp+20 2740DcMenu = Wimp+21 2750ENDPROC 2760 2770DEFFNH(X%)=RIGHT$("0"+STR$~X%,2)
� > !RunImage � Version 0.12 (10 Jan 89) &� TASK 4, q% 255, C$(8), CharDef 8 (LM%=16:RM%=16:BM%=16:TM%=16 2MXSP%=24:MYSP%=44 <� X%=0 � 31 F3 � X%<=15 � C$(0)+=�CH(X%,0) � C$(8)+=�CH(X%,0) P � Y%=1 � 7 Z C$(Y%)+=�CH(X%,Y%) d � n� xR$=�23+�32+�8,�0) �4C$(3)+=R$:C$(8)+=R$:font$="System Font":curf%=-1 � �vars �HotKey%=-1:� Shift key � �$TASK="TASK" �<ș"Wimp_Initialise",200,!TASK,"Characters" � ,TaskHandle �8� � :ș"Wimp_CloseDown",TaskHandle,!TASK:� � �,�$ �1ș"Wimp_OpenTemplate",,"<Obey$Dir>.Templates" �� � �*� � � �:ș"Wimp_CloseTemplate":� �, �$ �5ș"Wimp_LoadTemplate",,q%+4,0,0,-1,"Characters",0 �� � �ș"Wimp_CloseTemplate" '� InputVars 3*4-1, OutputVars 2*4-1 GInputVars!0=4:InputVars!4=5:InputVars!8=-1:� XEigFactor, YEigFactor "�ReadModeVars , 6"q%!12=q%!4+LM%+31*MXSP%+16+RM% @!q%!8=q%!16-TM%-7*MYSP%-32-BM% J T.ș"Wimp_CreateWindow",,q%+4 � WindowHandle ^)!q%=WindowHandle:q%!28=-1:�OpenWindow hSNull=0:Redraw=1:Open=2:Close=3:PointerLeaving=4:PointerEntering=5:MouseChange=6 r(MenuSelect=9:MessageA=17:MessageB=18 |�PollFlags=�((1<<Redraw)+(1<<Open)+(1<<Close)+(1<<PointerLeaving)+(1<<PointerEntering)+(1<<MouseChange)+(1<<MessageA)+(1<<MessageB)) �7MenuData=�:�=�+1024:�=�+8*1024:menulimit=�:�=�+2048 �� �# ș Poll%,PollFlags,q% � reason � Ȏ reason � � � Null: �CheckHotKey � � Redraw: �RedrawWindow � � Open: �OpenWindow � � Close: �CloseWindow �& � PointerLeaving: �PointerLeaving �( � PointerEntering: �PointerEntering �@ � MouseChange: �CheckMouse(!q%,q%!4,q%!8,q%!12,q%!16,q%!20) � � MenuSelect: �domenu �# � MessageA, MessageB: �Message � � � � & 0��CheckHotKey :IsDown%=� HotKey% D� IsDown% � � WasDown% � N ș GetP,,q% X �DoChar b� lWasDown%=IsDown% v� � ���RedrawWindow �ș RedrawW,,q% � flag% �ȕ flag% � �PlotStuff � ș GetR%,,q% � flag% �� �� � ���OpenWindow �ș"Wimp_OpenWindow",,q% �� � ��CloseWindow (�curf%>-1 ș LoseFont,curf%:curf%=-1 'ș"Wimp_CloseDown",TaskHandle,!TASK � *� 4 >��PointerLeaving H9PollFlags=PollFlags � (1<<Null):� No more null events R� \ f��PointerEntering p:PollFlags=PollFlags � � (1<<Null):� Enable null events zWasDown%=� HotKey% �� � � ��Message �Ȏ q%!16 � �� 0:�CloseWindow �� &400C1:�ReadModeVars �� &502:�DoHelp �� �� � ���PlotStuff �2StartX%=q%!4+LM%-q%!20:StartY%=q%!16-TM%-q%!24 ��curf%>-1 � ș SetFont,curf% 0 ox0%=(q%!28-StartX%)�MXSP%:�ox0%>31 ox0%=31 0 ox1%=(q%!36-StartX%)�MXSP%:�ox1%>31 ox1%=31 $ � Y%=1 � 7 . CY%=StartY%-24-Y%*MYSP% 8) � CY%+24<q%!40+31 � CY%+24>=q%!32 � B � X%=ox0%�ox1% L7 ș Paint%,,�(Y%*32+X%),&14,StartX%+X%*MXSP%,CY% V � ` � j � t� ~+�23,17,7,4,MXSP%>>XEIG%;MYSP%>>YEIG%;0; �� Y%=0 � 7 � CY%=StartY%-Y%*MYSP% �" � CY%<q%!40+31 � CY%>=q%!32 � � � StartX%,CY% � � C$(Y%); � � Y%=0 � C$(8); � � �� �%�23,17,7,4,16>>XEIG%;32>>YEIG%;0; �� �� � ݤCH(X%,Y%) C%=X%+Y%*32 � C%<32 � C%=127 � & � C%=127 � C%=�"?" � C%=C% � �"@" (( CharDef?0=C%:ș"OS_Word",10,CharDef 2 C$=�23+�32 < � I%=1 � 8 F C$+=�(CharDef?I% � &FF) P � Z C$+=" " d� n C$=�C% x� �=C$ � ���ReadModeVars �0ș"OS_ReadVduVariables",InputVars,OutputVars �)XEIG%=OutputVars!0:YEIG%=OutputVars!4 ��curf%>-1 � � șLoseFont,curf% �' șFindFont,,a$,14*16,16*16 � curf% �� �� � �6��CheckMouse(mousex%,mousey%,b%,handle%,icon%,ob%) �� b% � 4 � �DoChar � � b% � 2 � " � � MenuData � ,/ menustrings%=�:menudata%=menulimit-&1000 61 menuptr%=menudata%:$menuptr%="Font Choice" @> menuptr%?12=7:menuptr%?13=2:menuptr%?14=7:menuptr%?15=0 J0 menuptr%!20=44:menuptr%!24=0:menuptr%+=28 T5 !menuptr%=0:menuptr%!4=-1:menuptr%!8=&07000021 ^: $(menuptr%+12)="System Font":maxmw%=�$(menuptr%+12) h menuptr%+=24:I%=1:c%=0:� r) ș "Font_ListFonts",,q%,c% � ,,c% | �c%>=0 � �7 !menuptr%=0:menuptr%!4=-1:menuptr%!8=&07000021 �% A%=�$q%:�A%>maxmw% maxmw%=A% � �A%<12 � � $(menuptr%+12)=$q% � � �1 �menustrings%+A%+1>menudata% �morespace �4 B%=menustrings%:menustrings%+=A%+1:$B%=$q% �I menuptr%!12=B%:menuptr%!16=-1:menuptr%!20=A%+1:menuptr%!8+=&100 � � �= menuptr%+=24:I%+=1:�menuptr%+24>menulimit �morespace � � � � c%<0 � menudata%!16=maxmw%*16+24 . menuptr%!-24+=&80 : � set 'last' bit MenuData=� � & �popupmenu 0 � :� D� N X� �morespace b� A%,B% l3ș"Wimp_SlotSize",menulimit-&8000+&1000,-1 � A% v=�A%+&8000=menulimit � 224,"Can't get more space for menu" �menulimit=A%+&8000 �:B%=(menulimit-menuptr%+menudata%-menustrings%)/2 � � 3 �9�B%>menulimit-menuptr% B%=(menulimit-menuptr%)/2 � �3 � �A%=menuptr% � menudata% �-4 �A%!B%=!A%:� �menuptr%+=B%:menudata%+=B% �� � �� �popupmenu �A%=menudata%+28:� �$ �A%!8 � 256 B%=A%!12 � B%=A%+12 �+ !A%=!A% � � 1 � (($B%=font$)�1):A%+=24 ��A%!-24 �&80 /ș CrMenu,,menudata%,mousex%-102,mousey%+64 � � �domenu *+ș DcMenu,,menudata%,q%,�200," ")�,,,a$ 4�a$<>"" � a$<>font$ � >) �curf%>-1 ș LoseFont,curf%:curf%=-1 HD font$=a$:�a$<>"System Font" ș FindFont,,a$,14*16,16*16 � curf% R* ș Screen,WindowHandle,0,-1024,1280,0 \# ș GetP,,q%:�q%?8�1 �popupmenu f� p� z ���DoChar �� q%!12=WindowHandle � �# Char%=�CoordsToChar(q%!0,q%!4) �, � Char%<>-1 � ș"Wimp_ProcessKey",Char% �� �� � ���DoHelp �� q%!32=WindowHandle � � HisTaskHandle%=q%!4 � HisRef%=q%!8 �% Char%=�CoordsToChar(q%!20,q%!24) � � Char%<>-1 � � MES$="Click SELECT or press Shift key to enter character code &"+�H(Char%)+" as if from the keyboard. Press MENU to change the displayed font." q%!0=((20+�MES$+1)+3)��3 q%!12=HisRef% $ q%!16=&503 . $(q%+20)=MES$ 8 q%?(20+�MES$)=0 B5 ș"Wimp_SendMessage",MessageA,q%,HisTaskHandle% L � V� `� j t#ݤCoordsToChar(MouseX%,MouseY%) ~!q%=WindowHandle �ș GetW,,q% �:YOff%=(q%!16-TM%-q%!24+((MYSP%-32)>>1)-MouseY%)� MYSP% �Char%=-1 �� YOff%>=0 � YOff%<=7 � �< XOff%=(MouseX%-(q%!4+LM%-q%!20+((16-MXSP%)>>1)))� MXSP% � � XOff%>=0 � XOff%<=31 � � Char%=XOff%+YOff%*32 � � �� � =Char% � �� �vars Font = (1<<18) + (2<<6) FindFont= Font+1 LoseFont= Font+2 FontDefn= Font+3 (Width = Font+5 2Paint% = Font+6 <SetFont = Font+10 FWimp = (1<<18) + (3<<6) PCreateW = Wimp+1 ZPoll% = Wimp+7 dRedrawW = Wimp+8 nUpdateW = Wimp+9 xGetR% = Wimp+10 �GetW = Wimp+11 �GetP = Wimp+15 �Drag = Wimp+16 �Screen = Wimp+17 �CrMenu = Wimp+20 �DcMenu = Wimp+21 �� � �ݤH(X%)=�"0"+�~X%,2) �
00000000 0d 00 0a 11 f4 20 3e 20 21 52 75 6e 49 6d 61 67 |..... > !RunImag| 00000010 65 0d 00 14 1e f4 20 56 65 72 73 69 6f 6e 20 30 |e..... Version 0| 00000020 2e 31 32 20 28 31 30 20 4a 61 6e 20 38 39 29 0d |.12 (10 Jan 89).| 00000030 00 1e 26 de 20 54 41 53 4b 20 34 2c 20 71 25 20 |..&. TASK 4, q% | 00000040 32 35 35 2c 20 43 24 28 38 29 2c 20 43 68 61 72 |255, C$(8), Char| 00000050 44 65 66 20 38 0d 00 28 1f 4c 4d 25 3d 31 36 3a |Def 8..(.LM%=16:| 00000060 52 4d 25 3d 31 36 3a 42 4d 25 3d 31 36 3a 54 4d |RM%=16:BM%=16:TM| 00000070 25 3d 31 36 0d 00 32 15 4d 58 53 50 25 3d 32 34 |%=16..2.MXSP%=24| 00000080 3a 4d 59 53 50 25 3d 34 34 0d 00 3c 0f e3 20 58 |:MYSP%=44..<.. X| 00000090 25 3d 30 20 b8 20 33 31 0d 00 46 33 20 e7 20 58 |%=0 . 31..F3 . X| 000000a0 25 3c 3d 31 35 20 8c 20 43 24 28 30 29 2b 3d a4 |%<=15 . C$(0)+=.| 000000b0 43 48 28 58 25 2c 30 29 20 8b 20 43 24 28 38 29 |CH(X%,0) . C$(8)| 000000c0 2b 3d a4 43 48 28 58 25 2c 30 29 0d 00 50 0f 20 |+=.CH(X%,0)..P. | 000000d0 e3 20 59 25 3d 31 20 b8 20 37 0d 00 5a 18 20 20 |. Y%=1 . 7..Z. | 000000e0 43 24 28 59 25 29 2b 3d a4 43 48 28 58 25 2c 59 |C$(Y%)+=.CH(X%,Y| 000000f0 25 29 0d 00 64 06 20 ed 0d 00 6e 05 ed 0d 00 78 |%)..d. ...n....x| 00000100 15 52 24 3d bd 32 33 2b bd 33 32 2b c4 38 2c bd |.R$=.23+.32+.8,.| 00000110 30 29 0d 00 82 34 43 24 28 33 29 2b 3d 52 24 3a |0)...4C$(3)+=R$:| 00000120 43 24 28 38 29 2b 3d 52 24 3a 66 6f 6e 74 24 3d |C$(8)+=R$:font$=| 00000130 22 53 79 73 74 65 6d 20 46 6f 6e 74 22 3a 63 75 |"System Font":cu| 00000140 72 66 25 3d 2d 31 0d 00 8c 09 f2 76 61 72 73 0d |rf%=-1.....vars.| 00000150 00 96 1a 48 6f 74 4b 65 79 25 3d 2d 31 3a f4 20 |...HotKey%=-1:. | 00000160 53 68 69 66 74 20 6b 65 79 0d 00 a0 04 0d 00 aa |Shift key.......| 00000170 10 24 54 41 53 4b 3d 22 54 41 53 4b 22 0d 00 b4 |.$TASK="TASK"...| 00000180 3c c8 99 22 57 69 6d 70 5f 49 6e 69 74 69 61 6c |<.."Wimp_Initial| 00000190 69 73 65 22 2c 32 30 30 2c 21 54 41 53 4b 2c 22 |ise",200,!TASK,"| 000001a0 43 68 61 72 61 63 74 65 72 73 22 20 b8 20 2c 54 |Characters" . ,T| 000001b0 61 73 6b 48 61 6e 64 6c 65 0d 00 be 38 ee 20 85 |askHandle...8. .| 000001c0 20 ee 85 87 3a c8 99 22 57 69 6d 70 5f 43 6c 6f | ...:.."Wimp_Clo| 000001d0 73 65 44 6f 77 6e 22 2c 54 61 73 6b 48 61 6e 64 |seDown",TaskHand| 000001e0 6c 65 2c 21 54 41 53 4b 3a 85 20 a2 20 9f 2c f6 |le,!TASK:. . .,.| 000001f0 24 0d 00 c8 31 c8 99 22 57 69 6d 70 5f 4f 70 65 |$...1.."Wimp_Ope| 00000200 6e 54 65 6d 70 6c 61 74 65 22 2c 2c 22 3c 4f 62 |nTemplate",,"<Ob| 00000210 65 79 24 44 69 72 3e 2e 54 65 6d 70 6c 61 74 65 |ey$Dir>.Template| 00000220 73 22 0d 00 d2 07 ea 20 85 0d 00 dc 2a ee 20 85 |s"..... ....*. .| 00000230 20 f7 20 85 3a c8 99 22 57 69 6d 70 5f 43 6c 6f | . .:.."Wimp_Clo| 00000240 73 65 54 65 6d 70 6c 61 74 65 22 3a 85 20 9f 2c |seTemplate":. .,| 00000250 20 f6 24 0d 00 e6 35 c8 99 22 57 69 6d 70 5f 4c | .$...5.."Wimp_L| 00000260 6f 61 64 54 65 6d 70 6c 61 74 65 22 2c 2c 71 25 |oadTemplate",,q%| 00000270 2b 34 2c 30 2c 30 2c 2d 31 2c 22 43 68 61 72 61 |+4,0,0,-1,"Chara| 00000280 63 74 65 72 73 22 2c 30 0d 00 f0 07 f7 20 85 0d |cters",0..... ..| 00000290 00 fa 1a c8 99 22 57 69 6d 70 5f 43 6c 6f 73 65 |....."Wimp_Close| 000002a0 54 65 6d 70 6c 61 74 65 22 0d 01 04 04 0d 01 0e |Template".......| 000002b0 27 de 20 49 6e 70 75 74 56 61 72 73 20 33 2a 34 |'. InputVars 3*4| 000002c0 2d 31 2c 20 4f 75 74 70 75 74 56 61 72 73 20 32 |-1, OutputVars 2| 000002d0 2a 34 2d 31 0d 01 18 47 49 6e 70 75 74 56 61 72 |*4-1...GInputVar| 000002e0 73 21 30 3d 34 3a 49 6e 70 75 74 56 61 72 73 21 |s!0=4:InputVars!| 000002f0 34 3d 35 3a 49 6e 70 75 74 56 61 72 73 21 38 3d |4=5:InputVars!8=| 00000300 2d 31 3a f4 20 58 45 69 67 46 61 63 74 6f 72 2c |-1:. XEigFactor,| 00000310 20 59 45 69 67 46 61 63 74 6f 72 0d 01 22 11 f2 | YEigFactor.."..| 00000320 52 65 61 64 4d 6f 64 65 56 61 72 73 0d 01 2c 04 |ReadModeVars..,.| 00000330 0d 01 36 22 71 25 21 31 32 3d 71 25 21 34 2b 4c |..6"q%!12=q%!4+L| 00000340 4d 25 2b 33 31 2a 4d 58 53 50 25 2b 31 36 2b 52 |M%+31*MXSP%+16+R| 00000350 4d 25 0d 01 40 21 71 25 21 38 3d 71 25 21 31 36 |M%..@!q%!8=q%!16| 00000360 2d 54 4d 25 2d 37 2a 4d 59 53 50 25 2d 33 32 2d |-TM%-7*MYSP%-32-| 00000370 42 4d 25 0d 01 4a 04 0d 01 54 2e c8 99 22 57 69 |BM%..J...T..."Wi| 00000380 6d 70 5f 43 72 65 61 74 65 57 69 6e 64 6f 77 22 |mp_CreateWindow"| 00000390 2c 2c 71 25 2b 34 20 b8 20 57 69 6e 64 6f 77 48 |,,q%+4 . WindowH| 000003a0 61 6e 64 6c 65 0d 01 5e 29 21 71 25 3d 57 69 6e |andle..^)!q%=Win| 000003b0 64 6f 77 48 61 6e 64 6c 65 3a 71 25 21 32 38 3d |dowHandle:q%!28=| 000003c0 2d 31 3a f2 4f 70 65 6e 57 69 6e 64 6f 77 0d 01 |-1:.OpenWindow..| 000003d0 68 53 4e 75 6c 6c 3d 30 3a 52 65 64 72 61 77 3d |hSNull=0:Redraw=| 000003e0 31 3a 4f 70 65 6e 3d 32 3a 43 6c 6f 73 65 3d 33 |1:Open=2:Close=3| 000003f0 3a 50 6f 69 6e 74 65 72 4c 65 61 76 69 6e 67 3d |:PointerLeaving=| 00000400 34 3a 50 6f 69 6e 74 65 72 45 6e 74 65 72 69 6e |4:PointerEnterin| 00000410 67 3d 35 3a 4d 6f 75 73 65 43 68 61 6e 67 65 3d |g=5:MouseChange=| 00000420 36 0d 01 72 28 4d 65 6e 75 53 65 6c 65 63 74 3d |6..r(MenuSelect=| 00000430 39 3a 4d 65 73 73 61 67 65 41 3d 31 37 3a 4d 65 |9:MessageA=17:Me| 00000440 73 73 61 67 65 42 3d 31 38 0d 01 7c 87 50 6f 6c |ssageB=18..|.Pol| 00000450 6c 46 6c 61 67 73 3d ac 28 28 31 3c 3c 52 65 64 |lFlags=.((1<<Red| 00000460 72 61 77 29 2b 28 31 3c 3c 4f 70 65 6e 29 2b 28 |raw)+(1<<Open)+(| 00000470 31 3c 3c 43 6c 6f 73 65 29 2b 28 31 3c 3c 50 6f |1<<Close)+(1<<Po| 00000480 69 6e 74 65 72 4c 65 61 76 69 6e 67 29 2b 28 31 |interLeaving)+(1| 00000490 3c 3c 50 6f 69 6e 74 65 72 45 6e 74 65 72 69 6e |<<PointerEnterin| 000004a0 67 29 2b 28 31 3c 3c 4d 6f 75 73 65 43 68 61 6e |g)+(1<<MouseChan| 000004b0 67 65 29 2b 28 31 3c 3c 4d 65 73 73 61 67 65 41 |ge)+(1<<MessageA| 000004c0 29 2b 28 31 3c 3c 4d 65 73 73 61 67 65 42 29 29 |)+(1<<MessageB))| 000004d0 0d 01 86 37 4d 65 6e 75 44 61 74 61 3d a3 3a d3 |...7MenuData=.:.| 000004e0 3d e0 2b 31 30 32 34 3a e0 3d 93 2b 38 2a 31 30 |=.+1024:.=.+8*10| 000004f0 32 34 3a 6d 65 6e 75 6c 69 6d 69 74 3d 93 3a d3 |24:menulimit=.:.| 00000500 3d e0 2b 32 30 34 38 0d 01 90 05 f5 0d 01 9a 23 |=.+2048........#| 00000510 20 c8 99 20 50 6f 6c 6c 25 2c 50 6f 6c 6c 46 6c | .. Poll%,PollFl| 00000520 61 67 73 2c 71 25 20 b8 20 72 65 61 73 6f 6e 0d |ags,q% . reason.| 00000530 01 a4 10 20 c8 8e 20 72 65 61 73 6f 6e 20 ca 0d |... .. reason ..| 00000540 01 ae 19 20 c9 20 4e 75 6c 6c 3a 20 f2 43 68 65 |... . Null: .Che| 00000550 63 6b 48 6f 74 4b 65 79 0d 01 b8 1c 20 c9 20 52 |ckHotKey.... . R| 00000560 65 64 72 61 77 3a 20 f2 52 65 64 72 61 77 57 69 |edraw: .RedrawWi| 00000570 6e 64 6f 77 0d 01 c2 18 20 c9 20 4f 70 65 6e 3a |ndow.... . Open:| 00000580 20 f2 4f 70 65 6e 57 69 6e 64 6f 77 0d 01 cc 1a | .OpenWindow....| 00000590 20 c9 20 43 6c 6f 73 65 3a 20 f2 43 6c 6f 73 65 | . Close: .Close| 000005a0 57 69 6e 64 6f 77 0d 01 d6 26 20 c9 20 50 6f 69 |Window...& . Poi| 000005b0 6e 74 65 72 4c 65 61 76 69 6e 67 3a 20 f2 50 6f |nterLeaving: .Po| 000005c0 69 6e 74 65 72 4c 65 61 76 69 6e 67 0d 01 e0 28 |interLeaving...(| 000005d0 20 c9 20 50 6f 69 6e 74 65 72 45 6e 74 65 72 69 | . PointerEnteri| 000005e0 6e 67 3a 20 f2 50 6f 69 6e 74 65 72 45 6e 74 65 |ng: .PointerEnte| 000005f0 72 69 6e 67 0d 01 ea 40 20 c9 20 4d 6f 75 73 65 |ring...@ . Mouse| 00000600 43 68 61 6e 67 65 3a 20 f2 43 68 65 63 6b 4d 6f |Change: .CheckMo| 00000610 75 73 65 28 21 71 25 2c 71 25 21 34 2c 71 25 21 |use(!q%,q%!4,q%!| 00000620 38 2c 71 25 21 31 32 2c 71 25 21 31 36 2c 71 25 |8,q%!12,q%!16,q%| 00000630 21 32 30 29 0d 01 f4 1a 20 c9 20 4d 65 6e 75 53 |!20).... . MenuS| 00000640 65 6c 65 63 74 3a 20 f2 64 6f 6d 65 6e 75 0d 01 |elect: .domenu..| 00000650 fe 23 20 c9 20 4d 65 73 73 61 67 65 41 2c 20 4d |.# . MessageA, M| 00000660 65 73 73 61 67 65 42 3a 20 f2 4d 65 73 73 61 67 |essageB: .Messag| 00000670 65 0d 02 08 06 20 cb 0d 02 12 07 fd 20 a3 0d 02 |e.... ...... ...| 00000680 1c 05 e0 0d 02 26 04 0d 02 30 11 dd f2 43 68 65 |.....&...0...Che| 00000690 63 6b 48 6f 74 4b 65 79 0d 02 3a 15 49 73 44 6f |ckHotKey..:.IsDo| 000006a0 77 6e 25 3d a6 20 48 6f 74 4b 65 79 25 0d 02 44 |wn%=. HotKey%..D| 000006b0 1c e7 20 49 73 44 6f 77 6e 25 20 80 20 ac 20 57 |.. IsDown% . . W| 000006c0 61 73 44 6f 77 6e 25 20 8c 0d 02 4e 10 20 c8 99 |asDown% ...N. ..| 000006d0 20 47 65 74 50 2c 2c 71 25 0d 02 58 0c 20 f2 44 | GetP,,q%..X. .D| 000006e0 6f 43 68 61 72 0d 02 62 05 cd 0d 02 6c 14 57 61 |oChar..b....l.Wa| 000006f0 73 44 6f 77 6e 25 3d 49 73 44 6f 77 6e 25 0d 02 |sDown%=IsDown%..| 00000700 76 05 e1 0d 02 80 04 0d 02 8a 12 dd f2 52 65 64 |v............Red| 00000710 72 61 77 57 69 6e 64 6f 77 0d 02 94 1a c8 99 20 |rawWindow...... | 00000720 52 65 64 72 61 77 57 2c 2c 71 25 20 b8 20 66 6c |RedrawW,,q% . fl| 00000730 61 67 25 0d 02 9e 0c c8 95 20 66 6c 61 67 25 0d |ag%...... flag%.| 00000740 02 a8 0f 20 f2 50 6c 6f 74 53 74 75 66 66 0d 02 |... .PlotStuff..| 00000750 b2 19 20 c8 99 20 47 65 74 52 25 2c 2c 71 25 20 |.. .. GetR%,,q% | 00000760 b8 20 66 6c 61 67 25 0d 02 bc 05 ce 0d 02 c6 05 |. flag%.........| 00000770 e1 0d 02 d0 04 0d 02 da 10 dd f2 4f 70 65 6e 57 |...........OpenW| 00000780 69 6e 64 6f 77 0d 02 e4 1b c8 99 22 57 69 6d 70 |indow......"Wimp| 00000790 5f 4f 70 65 6e 57 69 6e 64 6f 77 22 2c 2c 71 25 |_OpenWindow",,q%| 000007a0 0d 02 ee 05 e1 0d 02 f8 04 0d 03 02 11 dd f2 43 |...............C| 000007b0 6c 6f 73 65 57 69 6e 64 6f 77 0d 03 0c 28 e7 63 |loseWindow...(.c| 000007c0 75 72 66 25 3e 2d 31 20 c8 99 20 4c 6f 73 65 46 |urf%>-1 .. LoseF| 000007d0 6f 6e 74 2c 63 75 72 66 25 3a 63 75 72 66 25 3d |ont,curf%:curf%=| 000007e0 2d 31 0d 03 16 27 c8 99 22 57 69 6d 70 5f 43 6c |-1...'.."Wimp_Cl| 000007f0 6f 73 65 44 6f 77 6e 22 2c 54 61 73 6b 48 61 6e |oseDown",TaskHan| 00000800 64 6c 65 2c 21 54 41 53 4b 0d 03 20 05 e0 0d 03 |dle,!TASK.. ....| 00000810 2a 05 e1 0d 03 34 04 0d 03 3e 14 dd f2 50 6f 69 |*....4...>...Poi| 00000820 6e 74 65 72 4c 65 61 76 69 6e 67 0d 03 48 39 50 |nterLeaving..H9P| 00000830 6f 6c 6c 46 6c 61 67 73 3d 50 6f 6c 6c 46 6c 61 |ollFlags=PollFla| 00000840 67 73 20 84 20 28 31 3c 3c 4e 75 6c 6c 29 3a f4 |gs . (1<<Null):.| 00000850 20 4e 6f 20 6d 6f 72 65 20 6e 75 6c 6c 20 65 76 | No more null ev| 00000860 65 6e 74 73 0d 03 52 05 e1 0d 03 5c 04 0d 03 66 |ents..R....\...f| 00000870 15 dd f2 50 6f 69 6e 74 65 72 45 6e 74 65 72 69 |...PointerEnteri| 00000880 6e 67 0d 03 70 3a 50 6f 6c 6c 46 6c 61 67 73 3d |ng..p:PollFlags=| 00000890 50 6f 6c 6c 46 6c 61 67 73 20 80 20 ac 20 28 31 |PollFlags . . (1| 000008a0 3c 3c 4e 75 6c 6c 29 3a f4 20 45 6e 61 62 6c 65 |<<Null):. Enable| 000008b0 20 6e 75 6c 6c 20 65 76 65 6e 74 73 0d 03 7a 16 | null events..z.| 000008c0 57 61 73 44 6f 77 6e 25 3d a6 20 48 6f 74 4b 65 |WasDown%=. HotKe| 000008d0 79 25 0d 03 84 05 e1 0d 03 8e 04 0d 03 98 0d dd |y%..............| 000008e0 f2 4d 65 73 73 61 67 65 0d 03 a2 0e c8 8e 20 71 |.Message...... q| 000008f0 25 21 31 36 20 ca 0d 03 ac 14 c9 20 30 3a f2 43 |%!16 ...... 0:.C| 00000900 6c 6f 73 65 57 69 6e 64 6f 77 0d 03 b6 1a c9 20 |loseWindow..... | 00000910 26 34 30 30 43 31 3a f2 52 65 61 64 4d 6f 64 65 |&400C1:.ReadMode| 00000920 56 61 72 73 0d 03 c0 12 c9 20 26 35 30 32 3a f2 |Vars..... &502:.| 00000930 44 6f 48 65 6c 70 0d 03 ca 05 cb 0d 03 d4 05 e1 |DoHelp..........| 00000940 0d 03 de 04 0d 03 e8 0f dd f2 50 6c 6f 74 53 74 |..........PlotSt| 00000950 75 66 66 0d 03 f2 32 53 74 61 72 74 58 25 3d 71 |uff...2StartX%=q| 00000960 25 21 34 2b 4c 4d 25 2d 71 25 21 32 30 3a 53 74 |%!4+LM%-q%!20:St| 00000970 61 72 74 59 25 3d 71 25 21 31 36 2d 54 4d 25 2d |artY%=q%!16-TM%-| 00000980 71 25 21 32 34 0d 03 fc 0f e7 63 75 72 66 25 3e |q%!24.....curf%>| 00000990 2d 31 20 8c 0d 04 06 15 20 c8 99 20 53 65 74 46 |-1 ..... .. SetF| 000009a0 6f 6e 74 2c 63 75 72 66 25 0d 04 10 30 20 6f 78 |ont,curf%...0 ox| 000009b0 30 25 3d 28 71 25 21 32 38 2d 53 74 61 72 74 58 |0%=(q%!28-StartX| 000009c0 25 29 81 4d 58 53 50 25 3a e7 6f 78 30 25 3e 33 |%).MXSP%:.ox0%>3| 000009d0 31 20 6f 78 30 25 3d 33 31 0d 04 1a 30 20 6f 78 |1 ox0%=31...0 ox| 000009e0 31 25 3d 28 71 25 21 33 36 2d 53 74 61 72 74 58 |1%=(q%!36-StartX| 000009f0 25 29 81 4d 58 53 50 25 3a e7 6f 78 31 25 3e 33 |%).MXSP%:.ox1%>3| 00000a00 31 20 6f 78 31 25 3d 33 31 0d 04 24 0f 20 e3 20 |1 ox1%=31..$. . | 00000a10 59 25 3d 31 20 b8 20 37 0d 04 2e 1d 20 20 43 59 |Y%=1 . 7.... CY| 00000a20 25 3d 53 74 61 72 74 59 25 2d 32 34 2d 59 25 2a |%=StartY%-24-Y%*| 00000a30 4d 59 53 50 25 0d 04 38 29 20 20 e7 20 43 59 25 |MYSP%..8) . CY%| 00000a40 2b 32 34 3c 71 25 21 34 30 2b 33 31 20 80 20 43 |+24<q%!40+31 . C| 00000a50 59 25 2b 32 34 3e 3d 71 25 21 33 32 20 8c 0d 04 |Y%+24>=q%!32 ...| 00000a60 42 15 20 20 20 e3 20 58 25 3d 6f 78 30 25 b8 6f |B. . X%=ox0%.o| 00000a70 78 31 25 0d 04 4c 37 20 20 20 20 c8 99 20 50 61 |x1%..L7 .. Pa| 00000a80 69 6e 74 25 2c 2c bd 28 59 25 2a 33 32 2b 58 25 |int%,,.(Y%*32+X%| 00000a90 29 2c 26 31 34 2c 53 74 61 72 74 58 25 2b 58 25 |),&14,StartX%+X%| 00000aa0 2a 4d 58 53 50 25 2c 43 59 25 0d 04 56 08 20 20 |*MXSP%,CY%..V. | 00000ab0 20 ed 0d 04 60 07 20 20 cd 0d 04 6a 06 20 ed 0d | ...`. ...j. ..| 00000ac0 04 74 05 cc 0d 04 7e 2b ef 32 33 2c 31 37 2c 37 |.t....~+.23,17,7| 00000ad0 2c 34 2c 4d 58 53 50 25 3e 3e 58 45 49 47 25 3b |,4,MXSP%>>XEIG%;| 00000ae0 4d 59 53 50 25 3e 3e 59 45 49 47 25 3b 30 3b 0d |MYSP%>>YEIG%;0;.| 00000af0 04 88 0e e3 20 59 25 3d 30 20 b8 20 37 0d 04 92 |.... Y%=0 . 7...| 00000b00 19 20 43 59 25 3d 53 74 61 72 74 59 25 2d 59 25 |. CY%=StartY%-Y%| 00000b10 2a 4d 59 53 50 25 0d 04 9c 22 20 e7 20 43 59 25 |*MYSP%..." . CY%| 00000b20 3c 71 25 21 34 30 2b 33 31 20 80 20 43 59 25 3e |<q%!40+31 . CY%>| 00000b30 3d 71 25 21 33 32 20 8c 0d 04 a6 13 20 20 ec 20 |=q%!32 ..... . | 00000b40 53 74 61 72 74 58 25 2c 43 59 25 0d 04 b0 0f 20 |StartX%,CY%.... | 00000b50 20 f1 20 43 24 28 59 25 29 3b 0d 04 ba 15 20 20 | . C$(Y%);.... | 00000b60 e7 20 59 25 3d 30 20 f1 20 43 24 28 38 29 3b 0d |. Y%=0 . C$(8);.| 00000b70 04 c4 06 20 cd 0d 04 ce 05 ed 0d 04 d8 25 ef 32 |... .........%.2| 00000b80 33 2c 31 37 2c 37 2c 34 2c 31 36 3e 3e 58 45 49 |3,17,7,4,16>>XEI| 00000b90 47 25 3b 33 32 3e 3e 59 45 49 47 25 3b 30 3b 0d |G%;32>>YEIG%;0;.| 00000ba0 04 e2 05 cd 0d 04 ec 05 e1 0d 04 f6 04 0d 05 00 |................| 00000bb0 0f dd a4 43 48 28 58 25 2c 59 25 29 0d 05 0a 0f |...CH(X%,Y%)....| 00000bc0 43 25 3d 58 25 2b 59 25 2a 33 32 0d 05 14 16 e7 |C%=X%+Y%*32.....| 00000bd0 20 43 25 3c 33 32 20 84 20 43 25 3d 31 32 37 20 | C%<32 . C%=127 | 00000be0 8c 0d 05 1e 26 20 e7 20 43 25 3d 31 32 37 20 8c |....& . C%=127 .| 00000bf0 20 43 25 3d 97 22 3f 22 20 8b 20 43 25 3d 43 25 | C%=."?" . C%=C%| 00000c00 20 84 20 97 22 40 22 0d 05 28 28 20 43 68 61 72 | . ."@"..(( Char| 00000c10 44 65 66 3f 30 3d 43 25 3a c8 99 22 4f 53 5f 57 |Def?0=C%:.."OS_W| 00000c20 6f 72 64 22 2c 31 30 2c 43 68 61 72 44 65 66 0d |ord",10,CharDef.| 00000c30 05 32 0f 20 43 24 3d bd 32 33 2b bd 33 32 0d 05 |.2. C$=.23+.32..| 00000c40 3c 0f 20 e3 20 49 25 3d 31 20 b8 20 38 0d 05 46 |<. . I%=1 . 8..F| 00000c50 1d 20 20 43 24 2b 3d bd 28 43 68 61 72 44 65 66 |. C$+=.(CharDef| 00000c60 3f 49 25 20 82 20 26 46 46 29 0d 05 50 06 20 ed |?I% . &FF)..P. .| 00000c70 0d 05 5a 0c 20 43 24 2b 3d 22 20 22 0d 05 64 05 |..Z. C$+=" "..d.| 00000c80 cc 0d 05 6e 0b 20 43 24 3d bd 43 25 0d 05 78 05 |...n. C$=.C%..x.| 00000c90 cd 0d 05 82 07 3d 43 24 0d 05 8c 04 0d 05 96 12 |.....=C$........| 00000ca0 dd f2 52 65 61 64 4d 6f 64 65 56 61 72 73 0d 05 |..ReadModeVars..| 00000cb0 a0 30 c8 99 22 4f 53 5f 52 65 61 64 56 64 75 56 |.0.."OS_ReadVduV| 00000cc0 61 72 69 61 62 6c 65 73 22 2c 49 6e 70 75 74 56 |ariables",InputV| 00000cd0 61 72 73 2c 4f 75 74 70 75 74 56 61 72 73 0d 05 |ars,OutputVars..| 00000ce0 aa 29 58 45 49 47 25 3d 4f 75 74 70 75 74 56 61 |.)XEIG%=OutputVa| 00000cf0 72 73 21 30 3a 59 45 49 47 25 3d 4f 75 74 70 75 |rs!0:YEIG%=Outpu| 00000d00 74 56 61 72 73 21 34 0d 05 b4 0f e7 63 75 72 66 |tVars!4.....curf| 00000d10 25 3e 2d 31 20 8c 0d 05 be 15 20 c8 99 4c 6f 73 |%>-1 ..... ..Los| 00000d20 65 46 6f 6e 74 2c 63 75 72 66 25 0d 05 c8 27 20 |eFont,curf%...' | 00000d30 c8 99 46 69 6e 64 46 6f 6e 74 2c 2c 61 24 2c 31 |..FindFont,,a$,1| 00000d40 34 2a 31 36 2c 31 36 2a 31 36 20 b8 20 63 75 72 |4*16,16*16 . cur| 00000d50 66 25 0d 05 d2 05 cd 0d 05 dc 05 e1 0d 05 e6 04 |f%..............| 00000d60 0d 05 f0 36 dd f2 43 68 65 63 6b 4d 6f 75 73 65 |...6..CheckMouse| 00000d70 28 6d 6f 75 73 65 78 25 2c 6d 6f 75 73 65 79 25 |(mousex%,mousey%| 00000d80 2c 62 25 2c 68 61 6e 64 6c 65 25 2c 69 63 6f 6e |,b%,handle%,icon| 00000d90 25 2c 6f 62 25 29 0d 05 fa 0e e7 20 62 25 20 80 |%,ob%)..... b% .| 00000da0 20 34 20 8c 0d 06 04 0c 20 f2 44 6f 43 68 61 72 | 4 ..... .DoChar| 00000db0 0d 06 0e 05 cc 0d 06 18 0f 20 e7 20 62 25 20 80 |......... . b% .| 00000dc0 20 32 20 8c 0d 06 22 14 20 20 e7 20 ac 20 4d 65 | 2 ...". . . Me| 00000dd0 6e 75 44 61 74 61 20 8c 0d 06 2c 2f 20 20 20 6d |nuData ...,/ m| 00000de0 65 6e 75 73 74 72 69 6e 67 73 25 3d 93 3a 6d 65 |enustrings%=.:me| 00000df0 6e 75 64 61 74 61 25 3d 6d 65 6e 75 6c 69 6d 69 |nudata%=menulimi| 00000e00 74 2d 26 31 30 30 30 0d 06 36 31 20 20 20 6d 65 |t-&1000..61 me| 00000e10 6e 75 70 74 72 25 3d 6d 65 6e 75 64 61 74 61 25 |nuptr%=menudata%| 00000e20 3a 24 6d 65 6e 75 70 74 72 25 3d 22 46 6f 6e 74 |:$menuptr%="Font| 00000e30 20 43 68 6f 69 63 65 22 0d 06 40 3e 20 20 20 6d | Choice"..@> m| 00000e40 65 6e 75 70 74 72 25 3f 31 32 3d 37 3a 6d 65 6e |enuptr%?12=7:men| 00000e50 75 70 74 72 25 3f 31 33 3d 32 3a 6d 65 6e 75 70 |uptr%?13=2:menup| 00000e60 74 72 25 3f 31 34 3d 37 3a 6d 65 6e 75 70 74 72 |tr%?14=7:menuptr| 00000e70 25 3f 31 35 3d 30 0d 06 4a 30 20 20 20 6d 65 6e |%?15=0..J0 men| 00000e80 75 70 74 72 25 21 32 30 3d 34 34 3a 6d 65 6e 75 |uptr%!20=44:menu| 00000e90 70 74 72 25 21 32 34 3d 30 3a 6d 65 6e 75 70 74 |ptr%!24=0:menupt| 00000ea0 72 25 2b 3d 32 38 0d 06 54 35 20 20 20 21 6d 65 |r%+=28..T5 !me| 00000eb0 6e 75 70 74 72 25 3d 30 3a 6d 65 6e 75 70 74 72 |nuptr%=0:menuptr| 00000ec0 25 21 34 3d 2d 31 3a 6d 65 6e 75 70 74 72 25 21 |%!4=-1:menuptr%!| 00000ed0 38 3d 26 30 37 30 30 30 30 32 31 0d 06 5e 3a 20 |8=&07000021..^: | 00000ee0 20 20 24 28 6d 65 6e 75 70 74 72 25 2b 31 32 29 | $(menuptr%+12)| 00000ef0 3d 22 53 79 73 74 65 6d 20 46 6f 6e 74 22 3a 6d |="System Font":m| 00000f00 61 78 6d 77 25 3d a9 24 28 6d 65 6e 75 70 74 72 |axmw%=.$(menuptr| 00000f10 25 2b 31 32 29 0d 06 68 1f 20 20 20 6d 65 6e 75 |%+12)..h. menu| 00000f20 70 74 72 25 2b 3d 32 34 3a 49 25 3d 31 3a 63 25 |ptr%+=24:I%=1:c%| 00000f30 3d 30 3a f5 0d 06 72 29 20 20 20 20 c8 99 20 22 |=0:...r) .. "| 00000f40 46 6f 6e 74 5f 4c 69 73 74 46 6f 6e 74 73 22 2c |Font_ListFonts",| 00000f50 2c 71 25 2c 63 25 20 b8 20 2c 2c 63 25 0d 06 7c |,q%,c% . ,,c%..|| 00000f60 10 20 20 20 20 e7 63 25 3e 3d 30 20 8c 0d 06 86 |. .c%>=0 ....| 00000f70 37 20 20 20 20 20 21 6d 65 6e 75 70 74 72 25 3d |7 !menuptr%=| 00000f80 30 3a 6d 65 6e 75 70 74 72 25 21 34 3d 2d 31 3a |0:menuptr%!4=-1:| 00000f90 6d 65 6e 75 70 74 72 25 21 38 3d 26 30 37 30 30 |menuptr%!8=&0700| 00000fa0 30 30 32 31 0d 06 90 25 20 20 20 20 20 41 25 3d |0021...% A%=| 00000fb0 a9 24 71 25 3a e7 41 25 3e 6d 61 78 6d 77 25 20 |.$q%:.A%>maxmw% | 00000fc0 6d 61 78 6d 77 25 3d 41 25 0d 06 9a 11 20 20 20 |maxmw%=A%.... | 00000fd0 20 20 e7 41 25 3c 31 32 20 8c 0d 06 a4 1c 20 20 | .A%<12 ..... | 00000fe0 20 20 20 20 24 28 6d 65 6e 75 70 74 72 25 2b 31 | $(menuptr%+1| 00000ff0 32 29 3d 24 71 25 0d 06 ae 0a 20 20 20 20 20 cc |2)=$q%.... .| 00001000 0d 06 b8 31 20 20 20 20 20 20 e7 6d 65 6e 75 73 |...1 .menus| 00001010 74 72 69 6e 67 73 25 2b 41 25 2b 31 3e 6d 65 6e |trings%+A%+1>men| 00001020 75 64 61 74 61 25 20 f2 6d 6f 72 65 73 70 61 63 |udata% .morespac| 00001030 65 0d 06 c2 34 20 20 20 20 20 20 42 25 3d 6d 65 |e...4 B%=me| 00001040 6e 75 73 74 72 69 6e 67 73 25 3a 6d 65 6e 75 73 |nustrings%:menus| 00001050 74 72 69 6e 67 73 25 2b 3d 41 25 2b 31 3a 24 42 |trings%+=A%+1:$B| 00001060 25 3d 24 71 25 0d 06 cc 49 20 20 20 20 20 20 6d |%=$q%...I m| 00001070 65 6e 75 70 74 72 25 21 31 32 3d 42 25 3a 6d 65 |enuptr%!12=B%:me| 00001080 6e 75 70 74 72 25 21 31 36 3d 2d 31 3a 6d 65 6e |nuptr%!16=-1:men| 00001090 75 70 74 72 25 21 32 30 3d 41 25 2b 31 3a 6d 65 |uptr%!20=A%+1:me| 000010a0 6e 75 70 74 72 25 21 38 2b 3d 26 31 30 30 0d 06 |nuptr%!8+=&100..| 000010b0 d6 0a 20 20 20 20 20 cd 0d 06 e0 3d 20 20 20 20 |.. ....= | 000010c0 20 6d 65 6e 75 70 74 72 25 2b 3d 32 34 3a 49 25 | menuptr%+=24:I%| 000010d0 2b 3d 31 3a e7 6d 65 6e 75 70 74 72 25 2b 32 34 |+=1:.menuptr%+24| 000010e0 3e 6d 65 6e 75 6c 69 6d 69 74 20 f2 6d 6f 72 65 |>menulimit .more| 000010f0 73 70 61 63 65 0d 06 ea 09 20 20 20 20 cd 0d 06 |space.... ...| 00001100 f4 0d 20 20 20 fd 20 63 25 3c 30 0d 06 fe 20 20 |.. . c%<0... | 00001110 20 20 6d 65 6e 75 64 61 74 61 25 21 31 36 3d 6d | menudata%!16=m| 00001120 61 78 6d 77 25 2a 31 36 2b 32 34 0d 07 08 2e 20 |axmw%*16+24.... | 00001130 20 20 6d 65 6e 75 70 74 72 25 21 2d 32 34 2b 3d | menuptr%!-24+=| 00001140 26 38 30 20 20 20 20 3a 20 f4 20 73 65 74 20 27 |&80 : . set '| 00001150 6c 61 73 74 27 20 62 69 74 0d 07 12 11 20 20 20 |last' bit.... | 00001160 4d 65 6e 75 44 61 74 61 3d b9 0d 07 1c 07 20 20 |MenuData=..... | 00001170 cd 0d 07 26 10 20 20 f2 70 6f 70 75 70 6d 65 6e |...&. .popupmen| 00001180 75 0d 07 30 06 20 cd 0d 07 3a 05 cd 0d 07 44 05 |u..0. ...:....D.| 00001190 e1 0d 07 4e 04 0d 07 58 10 dd 20 f2 6d 6f 72 65 |...N...X.. .more| 000011a0 73 70 61 63 65 0d 07 62 0b ea 20 41 25 2c 42 25 |space..b.. A%,B%| 000011b0 0d 07 6c 33 c8 99 22 57 69 6d 70 5f 53 6c 6f 74 |..l3.."Wimp_Slot| 000011c0 53 69 7a 65 22 2c 6d 65 6e 75 6c 69 6d 69 74 2d |Size",menulimit-| 000011d0 26 38 30 30 30 2b 26 31 30 30 30 2c 2d 31 20 b8 |&8000+&1000,-1 .| 000011e0 20 41 25 0d 07 76 3d e7 41 25 2b 26 38 30 30 30 | A%..v=.A%+&8000| 000011f0 3d 6d 65 6e 75 6c 69 6d 69 74 20 85 20 32 32 34 |=menulimit . 224| 00001200 2c 22 43 61 6e 27 74 20 67 65 74 20 6d 6f 72 65 |,"Can't get more| 00001210 20 73 70 61 63 65 20 66 6f 72 20 6d 65 6e 75 22 | space for menu"| 00001220 0d 07 80 16 6d 65 6e 75 6c 69 6d 69 74 3d 41 25 |....menulimit=A%| 00001230 2b 26 38 30 30 30 0d 07 8a 3a 42 25 3d 28 6d 65 |+&8000...:B%=(me| 00001240 6e 75 6c 69 6d 69 74 2d 6d 65 6e 75 70 74 72 25 |nulimit-menuptr%| 00001250 2b 6d 65 6e 75 64 61 74 61 25 2d 6d 65 6e 75 73 |+menudata%-menus| 00001260 74 72 69 6e 67 73 25 29 2f 32 20 80 20 ac 20 33 |trings%)/2 . . 3| 00001270 0d 07 94 39 e7 42 25 3e 6d 65 6e 75 6c 69 6d 69 |...9.B%>menulimi| 00001280 74 2d 6d 65 6e 75 70 74 72 25 20 42 25 3d 28 6d |t-menuptr% B%=(m| 00001290 65 6e 75 6c 69 6d 69 74 2d 6d 65 6e 75 70 74 72 |enulimit-menuptr| 000012a0 25 29 2f 32 20 80 20 ac 33 0d 07 9e 20 e3 41 25 |%)/2 . .3... .A%| 000012b0 3d 6d 65 6e 75 70 74 72 25 20 b8 20 6d 65 6e 75 |=menuptr% . menu| 000012c0 64 61 74 61 25 20 88 2d 34 0d 07 a8 0f 41 25 21 |data% .-4....A%!| 000012d0 42 25 3d 21 41 25 3a ed 0d 07 b2 1e 6d 65 6e 75 |B%=!A%:.....menu| 000012e0 70 74 72 25 2b 3d 42 25 3a 6d 65 6e 75 64 61 74 |ptr%+=B%:menudat| 000012f0 61 25 2b 3d 42 25 0d 07 bc 05 e1 0d 07 c6 05 20 |a%+=B%......... | 00001300 0d 07 d0 10 dd 20 f2 70 6f 70 75 70 6d 65 6e 75 |..... .popupmenu| 00001310 0d 07 da 15 41 25 3d 6d 65 6e 75 64 61 74 61 25 |....A%=menudata%| 00001320 2b 32 38 3a f5 0d 07 e4 24 20 e7 41 25 21 38 20 |+28:....$ .A%!8 | 00001330 80 20 32 35 36 20 42 25 3d 41 25 21 31 32 20 8b |. 256 B%=A%!12 .| 00001340 20 42 25 3d 41 25 2b 31 32 0d 07 ee 2b 20 21 41 | B%=A%+12...+ !A| 00001350 25 3d 21 41 25 20 80 20 ac 20 31 20 84 20 28 28 |%=!A% . . 1 . ((| 00001360 24 42 25 3d 66 6f 6e 74 24 29 80 31 29 3a 41 25 |$B%=font$).1):A%| 00001370 2b 3d 32 34 0d 07 f8 10 fd 41 25 21 2d 32 34 20 |+=24.....A%!-24 | 00001380 80 26 38 30 0d 08 02 2f c8 99 20 43 72 4d 65 6e |.&80.../.. CrMen| 00001390 75 2c 2c 6d 65 6e 75 64 61 74 61 25 2c 6d 6f 75 |u,,menudata%,mou| 000013a0 73 65 78 25 2d 31 30 32 2c 6d 6f 75 73 65 79 25 |sex%-102,mousey%| 000013b0 2b 36 34 0d 08 0c 05 e1 0d 08 16 04 0d 08 20 0d |+64........... .| 000013c0 dd 20 f2 64 6f 6d 65 6e 75 0d 08 2a 2b c8 99 20 |. .domenu..*+.. | 000013d0 44 63 4d 65 6e 75 2c 2c 6d 65 6e 75 64 61 74 61 |DcMenu,,menudata| 000013e0 25 2c 71 25 2c c4 32 30 30 2c 22 20 22 29 b8 2c |%,q%,.200," ").,| 000013f0 2c 2c 61 24 0d 08 34 19 e7 61 24 3c 3e 22 22 20 |,,a$..4..a$<>"" | 00001400 80 20 61 24 3c 3e 66 6f 6e 74 24 20 8c 0d 08 3e |. a$<>font$ ...>| 00001410 29 20 e7 63 75 72 66 25 3e 2d 31 20 c8 99 20 4c |) .curf%>-1 .. L| 00001420 6f 73 65 46 6f 6e 74 2c 63 75 72 66 25 3a 63 75 |oseFont,curf%:cu| 00001430 72 66 25 3d 2d 31 0d 08 48 44 20 66 6f 6e 74 24 |rf%=-1..HD font$| 00001440 3d 61 24 3a e7 61 24 3c 3e 22 53 79 73 74 65 6d |=a$:.a$<>"System| 00001450 20 46 6f 6e 74 22 20 c8 99 20 46 69 6e 64 46 6f | Font" .. FindFo| 00001460 6e 74 2c 2c 61 24 2c 31 34 2a 31 36 2c 31 36 2a |nt,,a$,14*16,16*| 00001470 31 36 20 b8 20 63 75 72 66 25 0d 08 52 2a 20 c8 |16 . curf%..R* .| 00001480 99 20 53 63 72 65 65 6e 2c 57 69 6e 64 6f 77 48 |. Screen,WindowH| 00001490 61 6e 64 6c 65 2c 30 2c 2d 31 30 32 34 2c 31 32 |andle,0,-1024,12| 000014a0 38 30 2c 30 0d 08 5c 23 20 c8 99 20 47 65 74 50 |80,0..\# .. GetP| 000014b0 2c 2c 71 25 3a e7 71 25 3f 38 80 31 20 f2 70 6f |,,q%:.q%?8.1 .po| 000014c0 70 75 70 6d 65 6e 75 0d 08 66 05 cd 0d 08 70 05 |pupmenu..f....p.| 000014d0 e1 0d 08 7a 04 0d 08 84 0c dd f2 44 6f 43 68 61 |...z.......DoCha| 000014e0 72 0d 08 8e 1a e7 20 71 25 21 31 32 3d 57 69 6e |r..... q%!12=Win| 000014f0 64 6f 77 48 61 6e 64 6c 65 20 8c 0d 08 98 23 20 |dowHandle ....# | 00001500 43 68 61 72 25 3d a4 43 6f 6f 72 64 73 54 6f 43 |Char%=.CoordsToC| 00001510 68 61 72 28 71 25 21 30 2c 71 25 21 34 29 0d 08 |har(q%!0,q%!4)..| 00001520 a2 2c 20 e7 20 43 68 61 72 25 3c 3e 2d 31 20 8c |., . Char%<>-1 .| 00001530 20 c8 99 22 57 69 6d 70 5f 50 72 6f 63 65 73 73 | .."Wimp_Process| 00001540 4b 65 79 22 2c 43 68 61 72 25 0d 08 ac 05 cd 0d |Key",Char%......| 00001550 08 b6 05 e1 0d 08 c0 04 0d 08 ca 0c dd f2 44 6f |..............Do| 00001560 48 65 6c 70 0d 08 d4 1a e7 20 71 25 21 33 32 3d |Help..... q%!32=| 00001570 57 69 6e 64 6f 77 48 61 6e 64 6c 65 20 8c 0d 08 |WindowHandle ...| 00001580 de 18 20 48 69 73 54 61 73 6b 48 61 6e 64 6c 65 |.. HisTaskHandle| 00001590 25 3d 71 25 21 34 0d 08 e8 11 20 48 69 73 52 65 |%=q%!4.... HisRe| 000015a0 66 25 3d 71 25 21 38 0d 08 f2 25 20 43 68 61 72 |f%=q%!8...% Char| 000015b0 25 3d a4 43 6f 6f 72 64 73 54 6f 43 68 61 72 28 |%=.CoordsToChar(| 000015c0 71 25 21 32 30 2c 71 25 21 32 34 29 0d 08 fc 12 |q%!20,q%!24)....| 000015d0 20 e7 20 43 68 61 72 25 3c 3e 2d 31 20 8c 0d 09 | . Char%<>-1 ...| 000015e0 06 95 20 20 4d 45 53 24 3d 22 43 6c 69 63 6b 20 |.. MES$="Click | 000015f0 53 45 4c 45 43 54 20 6f 72 20 70 72 65 73 73 20 |SELECT or press | 00001600 53 68 69 66 74 20 6b 65 79 20 74 6f 20 65 6e 74 |Shift key to ent| 00001610 65 72 20 63 68 61 72 61 63 74 65 72 20 63 6f 64 |er character cod| 00001620 65 20 26 22 2b a4 48 28 43 68 61 72 25 29 2b 22 |e &"+.H(Char%)+"| 00001630 20 61 73 20 69 66 20 66 72 6f 6d 20 74 68 65 20 | as if from the | 00001640 6b 65 79 62 6f 61 72 64 2e 20 50 72 65 73 73 20 |keyboard. Press | 00001650 4d 45 4e 55 20 74 6f 20 63 68 61 6e 67 65 20 74 |MENU to change t| 00001660 68 65 20 64 69 73 70 6c 61 79 65 64 20 66 6f 6e |he displayed fon| 00001670 74 2e 22 0d 09 10 1e 20 20 71 25 21 30 3d 28 28 |t.".... q%!0=((| 00001680 32 30 2b a9 4d 45 53 24 2b 31 29 2b 33 29 80 ac |20+.MES$+1)+3)..| 00001690 33 0d 09 1a 13 20 20 71 25 21 31 32 3d 48 69 73 |3.... q%!12=His| 000016a0 52 65 66 25 0d 09 24 10 20 20 71 25 21 31 36 3d |Ref%..$. q%!16=| 000016b0 26 35 30 33 0d 09 2e 13 20 20 24 28 71 25 2b 32 |&503.... $(q%+2| 000016c0 30 29 3d 4d 45 53 24 0d 09 38 15 20 20 71 25 3f |0)=MES$..8. q%?| 000016d0 28 32 30 2b a9 4d 45 53 24 29 3d 30 0d 09 42 35 |(20+.MES$)=0..B5| 000016e0 20 20 c8 99 22 57 69 6d 70 5f 53 65 6e 64 4d 65 | .."Wimp_SendMe| 000016f0 73 73 61 67 65 22 2c 4d 65 73 73 61 67 65 41 2c |ssage",MessageA,| 00001700 71 25 2c 48 69 73 54 61 73 6b 48 61 6e 64 6c 65 |q%,HisTaskHandle| 00001710 25 0d 09 4c 06 20 cd 0d 09 56 05 cd 0d 09 60 05 |%..L. ...V....`.| 00001720 e1 0d 09 6a 04 0d 09 74 23 dd a4 43 6f 6f 72 64 |...j...t#..Coord| 00001730 73 54 6f 43 68 61 72 28 4d 6f 75 73 65 58 25 2c |sToChar(MouseX%,| 00001740 4d 6f 75 73 65 59 25 29 0d 09 7e 14 21 71 25 3d |MouseY%)..~.!q%=| 00001750 57 69 6e 64 6f 77 48 61 6e 64 6c 65 0d 09 88 0f |WindowHandle....| 00001760 c8 99 20 47 65 74 57 2c 2c 71 25 0d 09 92 3a 59 |.. GetW,,q%...:Y| 00001770 4f 66 66 25 3d 28 71 25 21 31 36 2d 54 4d 25 2d |Off%=(q%!16-TM%-| 00001780 71 25 21 32 34 2b 28 28 4d 59 53 50 25 2d 33 32 |q%!24+((MYSP%-32| 00001790 29 3e 3e 31 29 2d 4d 6f 75 73 65 59 25 29 81 20 |)>>1)-MouseY%). | 000017a0 4d 59 53 50 25 0d 09 9c 0c 43 68 61 72 25 3d 2d |MYSP%....Char%=-| 000017b0 31 0d 09 a6 1b e7 20 59 4f 66 66 25 3e 3d 30 20 |1..... YOff%>=0 | 000017c0 80 20 59 4f 66 66 25 3c 3d 37 20 8c 0d 09 b0 3c |. YOff%<=7 ....<| 000017d0 20 58 4f 66 66 25 3d 28 4d 6f 75 73 65 58 25 2d | XOff%=(MouseX%-| 000017e0 28 71 25 21 34 2b 4c 4d 25 2d 71 25 21 32 30 2b |(q%!4+LM%-q%!20+| 000017f0 28 28 31 36 2d 4d 58 53 50 25 29 3e 3e 31 29 29 |((16-MXSP%)>>1))| 00001800 29 81 20 4d 58 53 50 25 0d 09 ba 1d 20 e7 20 58 |). MXSP%.... . X| 00001810 4f 66 66 25 3e 3d 30 20 80 20 58 4f 66 66 25 3c |Off%>=0 . XOff%<| 00001820 3d 33 31 20 8c 0d 09 c4 1a 20 20 43 68 61 72 25 |=31 ..... Char%| 00001830 3d 58 4f 66 66 25 2b 59 4f 66 66 25 2a 33 32 0d |=XOff%+YOff%*32.| 00001840 09 ce 06 20 cd 0d 09 d8 05 cd 0d 09 e2 0a 3d 43 |... ..........=C| 00001850 68 61 72 25 0d 09 ec 05 20 0d 09 f6 0b dd 20 f2 |har%.... ..... .| 00001860 76 61 72 73 0d 0a 00 1e 46 6f 6e 74 20 20 20 20 |vars....Font | 00001870 3d 20 28 31 3c 3c 31 38 29 20 2b 20 28 32 3c 3c |= (1<<18) + (2<<| 00001880 36 29 0d 0a 0a 14 46 69 6e 64 46 6f 6e 74 3d 20 |6)....FindFont= | 00001890 46 6f 6e 74 2b 31 0d 0a 14 14 4c 6f 73 65 46 6f |Font+1....LoseFo| 000018a0 6e 74 3d 20 46 6f 6e 74 2b 32 0d 0a 1e 14 46 6f |nt= Font+2....Fo| 000018b0 6e 74 44 65 66 6e 3d 20 46 6f 6e 74 2b 33 0d 0a |ntDefn= Font+3..| 000018c0 28 14 57 69 64 74 68 20 20 20 3d 20 46 6f 6e 74 |(.Width = Font| 000018d0 2b 35 0d 0a 32 14 50 61 69 6e 74 25 20 20 3d 20 |+5..2.Paint% = | 000018e0 46 6f 6e 74 2b 36 0d 0a 3c 15 53 65 74 46 6f 6e |Font+6..<.SetFon| 000018f0 74 20 3d 20 46 6f 6e 74 2b 31 30 0d 0a 46 1e 57 |t = Font+10..F.W| 00001900 69 6d 70 20 20 20 20 3d 20 28 31 3c 3c 31 38 29 |imp = (1<<18)| 00001910 20 2b 20 28 33 3c 3c 36 29 0d 0a 50 14 43 72 65 | + (3<<6)..P.Cre| 00001920 61 74 65 57 20 3d 20 57 69 6d 70 2b 31 0d 0a 5a |ateW = Wimp+1..Z| 00001930 14 50 6f 6c 6c 25 20 20 20 3d 20 57 69 6d 70 2b |.Poll% = Wimp+| 00001940 37 0d 0a 64 14 52 65 64 72 61 77 57 20 3d 20 57 |7..d.RedrawW = W| 00001950 69 6d 70 2b 38 0d 0a 6e 14 55 70 64 61 74 65 57 |imp+8..n.UpdateW| 00001960 20 3d 20 57 69 6d 70 2b 39 0d 0a 78 15 47 65 74 | = Wimp+9..x.Get| 00001970 52 25 20 20 20 3d 20 57 69 6d 70 2b 31 30 0d 0a |R% = Wimp+10..| 00001980 82 15 47 65 74 57 20 20 20 20 3d 20 57 69 6d 70 |..GetW = Wimp| 00001990 2b 31 31 0d 0a 8c 15 47 65 74 50 20 20 20 20 3d |+11....GetP =| 000019a0 20 57 69 6d 70 2b 31 35 0d 0a 96 15 44 72 61 67 | Wimp+15....Drag| 000019b0 20 20 20 20 3d 20 57 69 6d 70 2b 31 36 0d 0a a0 | = Wimp+16...| 000019c0 15 53 63 72 65 65 6e 20 20 3d 20 57 69 6d 70 2b |.Screen = Wimp+| 000019d0 31 37 0d 0a aa 15 43 72 4d 65 6e 75 20 20 3d 20 |17....CrMenu = | 000019e0 57 69 6d 70 2b 32 30 0d 0a b4 15 44 63 4d 65 6e |Wimp+20....DcMen| 000019f0 75 20 20 3d 20 57 69 6d 70 2b 32 31 0d 0a be 05 |u = Wimp+21....| 00001a00 e1 0d 0a c8 04 0d 0a d2 18 dd a4 48 28 58 25 29 |...........H(X%)| 00001a10 3d c2 22 30 22 2b c3 7e 58 25 2c 32 29 0d ff |=."0"+.~X%,2)..| 00001a1f