Home » Archimedes archive » Archimedes World » AW-1991-10.adf » October91 » !AWOct91/Goodies/RPI/!RPI/!RunImage

!AWOct91/Goodies/RPI/!RPI/!RunImage

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

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

Tape/disk: Home » Archimedes archive » Archimedes World » AW-1991-10.adf » October91
Filename: !AWOct91/Goodies/RPI/!RPI/!RunImage
Read OK:
File size: 120A bytes
Load address: 0000
Exec address: 0000
File contents
   10REM > !RunImage
   20REM for !RPI
   25REM Copyright Archimedes World October 1991
   30version$= "1.00"
   40date$   = "(Feb-91)"
   50
   60REM (C) Majid Anwar
   70
   80ONERROR:ONERROROFF:ERROR ERR,REPORT$+" at line "+STR$ERL:END
   90
  100PROCinitialise
  110poll%=%1110010110011
  120
  130ONERROR dummy=FNerror(ERR,REPORT$,%10010)
  140REPEAT
  150SYS"Wimp_Poll",poll%,q% TO action%
  160CASE action% OF
  170
  180WHEN 2 : SYS"Wimp_OpenWindow",,q%
  190WHEN 3 : SYS"Wimp_CloseWindow",,q%
  200WHEN 6 : PROCclick(q%!0,q%!4,q%!8,q%!12,q%!16)
  210WHEN 9 : IFq%!0>-1 PROCdecode(q%!0,q%!4,q%!8)
  220WHEN 17,18,19:PROCmessage
  230ENDCASE
  240UNTIL quit%
  250SYS"Wimp_CloseDown",task%,&4B534154
  260END
  270
  280DEFPROCinitialise
  290
  300SYS"Wimp_Initialise",200,&4B534154,"RPI" TO ,task%
  310quit%=FALSE:myref%=0
  320
  330DIM q% &100, err1% &100, err2% 15, indmenu% 256, xdiv% 5, ydiv% 5, valid% 10
  340DIM buffer% 900, indirect% 300
  350PROCenv
  360$err2%="RPI":$xdiv%=STR$X%:$ydiv%=STR$Y%:$valid%="A0-9"
  370
  380SYS"Wimp_OpenTemplate",,"<Obey$Dir>.Templates"
  390SYS"Wimp_LoadTemplate",,buffer%,indirect%,indirect%+169,-1,"info",0
  400SYS"Wimp_CreateWindow",,buffer% TO info%:$(indirect%+20)=version$+" "+date$
  410SYS"Wimp_LoadTemplate",,buffer%,indirect%+170,indirect%+299,-1,"main",0
  420SYS"Wimp_CreateWindow",,buffer% TO main%
  430SYS"Wimp_CloseTemplate"
  440
  450LOCALsx%,sy%,sm%,px%,py%
  460sprite$="!rpi"
  470SYS"Wimp_SpriteOp",40,,sprite$ TO ,,,sx%,sy%,,sm%
  480SYS"OS_ReadModeVariable",sm%,4 TO ,,px%:sx%=sx%<<px%
  490SYS"OS_ReadModeVariable",sm%,5 TO ,,py%:sy%=sy%<<py%
  500
  510!q%=-2
  520q%!4=0:q%!8=0:q%!12=q%!4+sx%:q%!16=sy%
  530q%!20=&1701300A
  540$(q%+24)=sprite$
  550SYS"Wimp_CreateIcon",,q% TO ic%
  560
  570q%!0=20:q%!4=0:q%!8=0:q%!12=0:q%!16=&801FF:SYS"Wimp_SendMessage",17,q%,0
  580PROCcalc:PROCupdate
  590ENDPROC
  600
  610DEFPROCclick(mx%,my%,b%,w%,i%):LOCAL sx%,sy%,sm%,px%,py%
  620IF w%=-2 THEN
  630 CASE b% OF
  640  WHEN 2   :PROCmenu
  650  WHEN 1,4 :PROCopenwindow(main%)
  660 ENDCASE
  670ENDIF
  680ENDPROC
  690
  700DEFFNerror(error%,err$,fl%)
  710poll%=%1100010110011
  720err1%!0=error%:$(err1%+4)=err$+STR$ERL
  730SYS"Wimp_ReportError",err1%,fl%,err2% TO click%
  740=click%
  750
  760DEFPROCmessage:LOCAL data$,n%
  770CASE q%!16 OF
  780 WHEN 0:      quit%=TRUE
  790 WHEN &80147: PROCcalc:PROCupdate
  800 WHEN &801FF: IF q%!4<>task% quit%=TRUE
  810ENDCASE
  820ENDPROC
  830
  840DEFPROCdecode(select%,sub%,leaf%):LOCALdummy%,m
  850SYS"Wimp_GetPointerInfo",,q%:m=q%!8
  860CASE select% OF
  870 WHEN 0:
  880 WHEN 1:PROCcalc:PROCupdate
  890 WHEN 2:PROCcalc:PROCupdate
  900 WHEN 3:quit%=TRUE
  910ENDCASE
  920IF(m AND1)=1 PROCmenu
  930ENDPROC
  940
  950DEFPROCmenu:LOCALh%
  960h%=44*4
  970mptr%=indmenu%
  980
  990PROCm_head(buffer%,"RPI",10)
 1000PROCm_block(buffer%+28,&00,info%,&7000001,"Info")
 1010PROCm_block(buffer%+52,&00,buffer%+200,&7000001,"X divisor")
 1020PROCm_block(buffer%+76,&00,buffer%+300,&7000001,"Y divisor")
 1030PROCm_block(buffer%+100,&80,-1,&7000001,"Quit")
 1040
 1050PROCm_head(buffer%+200,"X divisor:",10)
 1060PROCm_indirect(buffer%+228,&84,-1,&700F121,xdiv%,valid%,4)
 1070
 1080PROCm_head(buffer%+300,"Y divisor:",10)
 1090PROCm_indirect(buffer%+328,&84,-1,&700F121,ydiv%,valid%,4)
 1100
 1110SYS"Wimp_CreateMenu",,buffer%,q%!0-64,h%+96
 1120ENDPROC
 1130
 1140DEFPROCm_block(base%,flag%,ptr%,icfl%,data$):LOCAL data1%,data2%,data3%
 1150IF LENdata$<12 THEN
 1160 base%!0=flag%:base%!4=ptr%:base%!8=icfl%:$(base%+12)=data$
 1170ELSE
 1180 data1%=mptr%:data2%=-1:data3%=LENdata$+1:icfl%=(icfl%AND&FFFFFEFF)EOR&00000100
 1190 base%!0=flag%:base%!4=ptr%:base%!8=icfl%
 1200 base%!12=data1%:base%!16=data2%:base%!20=data3%
 1210 $mptr%=data$
 1220 mptr%+=data3%
 1230ENDIF
 1240ENDPROC
 1250
 1260DEFPROCm_head(base%,data$,width%)
 1270$base%=data$:base%!12=&00070207:base%!16=width%*16:base%!20=44:base%!24=0
 1280ENDPROC
 1290
 1300DEFPROCm_indirect(base%,flag%,ptr%,icfl%,data1%,data2%,data3%)
 1310base%!0=flag%:base%!4=ptr%:base%!8=icfl%
 1320base%!12=data1%:base%!16=data2%:base%!20=data3%
 1330ENDPROC
 1340
 1350DEFPROCopenwindow(h%)
 1360q%!52=h%:SYS"Wimp_GetWindowState",,q%+52
 1370SYS"Wimp_OpenWindow",,q%+52
 1380ENDPROC
 1390
 1400DEFPROCforceicon(h%,i%)
 1410q%!0=h%:q%!4=i%:SYS"Wimp_GetIconState",,q%
 1420SYS"Wimp_ForceRedraw",h%,q%!8,q%!12,q%!16,q%!20
 1430ENDPROC
 1440
 1450DEFPROCwriteicon(h%,i%,data$)
 1460q%!0=h%:q%!4=i%:SYS"Wimp_GetIconState",,q%
 1470$(q%!28)=data$
 1480PROCforceicon(h%,i%)
 1490ENDPROC
 1500
 1510REM --------------------------------------
 1520
 1530DEFPROCupdate
 1540LOCAL ERROR
 1550ON ERROR LOCAL:RESTORE ERROR:IF ERR=486 PROCnone:ENDPROC ELSE ERROR ERR,REPORT$
 1560SYS "PDriver_Info" TO ,x%,y%,f%,n$,xh%,yh%,p%
 1570PROCwriteicon(main%,0,n$)
 1580PROCwriteicon(main%,1,STR$x%)
 1590PROCwriteicon(main%,2,STR$y%)
 1600PROCwriteicon(main%,3,STR$xh%)
 1610PROCwriteicon(main%,4,STR$yh%)
 1620ENDPROC
 1630
 1640DEFPROCnone
 1650PROCwriteicon(main%,0,"<No driver>")
 1660PROCwriteicon(main%,1,"")
 1670PROCwriteicon(main%,2,"")
 1680PROCwriteicon(main%,3,"")
 1690PROCwriteicon(main%,4,"")
 1700ENDPROC
 1710
 1720DEFPROCcalc
 1730LOCAL ERROR
 1740ON ERROR LOCAL:RESTORE ERROR:ENDPROC
 1750SYS "PDriver_Info" TO ,x%,y%,f%,,,,p%
 1760SYS "PDriver_SetInfo",,x%,y%,f%,,x%/VAL$xdiv%,y%/VAL$ydiv%,p%
 1770ENDPROC
 1780
 1790DEFPROCenv
 1800SYS"OS_GetEnv" TO env$:I%=INSTR(env$,"-quit")
 1810I%=INSTR(env$,"""",I%+1):I%=INSTR(env$,"""",I%+1):env$=MID$(env$,I%+1)
 1820WHILELEFT$(env$,1)=" ":env$=MID$(env$,2):ENDWHILE
 1830x$=LEFT$(env$,INSTR(env$," ")-1):y$=MID$(env$,LENx$+1)
 1840X%=EVALx$:Y%=EVALy$
 1850ENDPROC

� > !RunImage
� for !RPI
-� Copyright Archimedes World October 1991
version$= "1.00"
(date$   = "(Feb-91)"
2
<� (C) Majid Anwar
F
P"�::� �,�$+" at line "+Þ:�
Z
d�initialise
npoll%=%1110010110011
x
� � dummy=�error(�,�$,%10010)
��
�$ș"Wimp_Poll",poll%,q% � action%
�Ȏ action% �
�
�!� 2 : ș"Wimp_OpenWindow",,q%
�"� 3 : ș"Wimp_CloseWindow",,q%
�,� 6 : �click(q%!0,q%!4,q%!8,q%!12,q%!16)
�*� 9 : �q%!0>-1 �decode(q%!0,q%!4,q%!8)
�� 17,18,19:�message
��
�� quit%
�&ș"Wimp_CloseDown",task%,&4B534154
�

��initialise
"
,4ș"Wimp_Initialise",200,&4B534154,"RPI" � ,task%
6quit%=�:myref%=0
@
JN� q% &100, err1% &100, err2% 15, indmenu% 256, xdiv% 5, ydiv% 5, valid% 10
T � buffer% 900, indirect% 300
^�env
h5$err2%="RPI":$xdiv%=�X%:$ydiv%=�Y%:$valid%="A0-9"
r
|1ș"Wimp_OpenTemplate",,"<Obey$Dir>.Templates"
�Fș"Wimp_LoadTemplate",,buffer%,indirect%,indirect%+169,-1,"info",0
�Mș"Wimp_CreateWindow",,buffer% � info%:$(indirect%+20)=version$+" "+date$
�Jș"Wimp_LoadTemplate",,buffer%,indirect%+170,indirect%+299,-1,"main",0
�*ș"Wimp_CreateWindow",,buffer% � main%
�ș"Wimp_CloseTemplate"
�
��sx%,sy%,sm%,px%,py%
�sprite$="!rpi"
�3ș"Wimp_SpriteOp",40,,sprite$ � ,,,sx%,sy%,,sm%
�6ș"OS_ReadModeVariable",sm%,4 � ,,px%:sx%=sx%<<px%
�6ș"OS_ReadModeVariable",sm%,5 � ,,py%:sy%=sy%<<py%
�
�
!q%=-2
*q%!4=0:q%!8=0:q%!12=q%!4+sx%:q%!16=sy%
q%!20=&1701300A
$(q%+24)=sprite$
&!ș"Wimp_CreateIcon",,q% � ic%
0
:Kq%!0=20:q%!4=0:q%!8=0:q%!12=0:q%!16=&801FF:ș"Wimp_SendMessage",17,q%,0
D�calc:�update
N�
X
b3��click(mx%,my%,b%,w%,i%):� sx%,sy%,sm%,px%,py%
l
� w%=-2 �
v Ȏ b% �
�  � 2   :�menu
�  � 1,4 :�openwindow(main%)
� �
��
��
�
�ݤerror(error%,err$,fl%)
�poll%=%1100010110011
�%err1%!0=error%:$(err1%+4)=err$+Þ
�1ș"Wimp_ReportError",err1%,fl%,err2% � click%
�=click%
�
���message:� data$,n%
Ȏ q%!16 �
 � 0:      quit%=�
 � &80147: �calc:�update
 $ � &801FF: � q%!4<>task% quit%=�
*�
4�
>
H*��decode(select%,sub%,leaf%):�dummy%,m
R&ș"Wimp_GetPointerInfo",,q%:m=q%!8
\Ȏ select% �
f	 � 0:
p � 1:�calc:�update
z � 2:�calc:�update
� � 3:quit%=�
��
��(m �1)=1 �menu
��
�
���menu:�h%
�h%=44*4
�mptr%=indmenu%
�
��m_head(buffer%,"RPI",10)
�2�m_block(buffer%+28,&00,info%,&7000001,"Info")
�=�m_block(buffer%+52,&00,buffer%+200,&7000001,"X divisor")
�=�m_block(buffer%+76,&00,buffer%+300,&7000001,"Y divisor")
0�m_block(buffer%+100,&80,-1,&7000001,"Quit")

(�m_head(buffer%+200,"X divisor:",10)
$;�m_indirect(buffer%+228,&84,-1,&700F121,xdiv%,valid%,4)
.
8(�m_head(buffer%+300,"Y divisor:",10)
B;�m_indirect(buffer%+328,&84,-1,&700F121,ydiv%,valid%,4)
L
V.ș"Wimp_CreateMenu",,buffer%,q%!0-64,h%+96
`�
j
tB��m_block(base%,flag%,ptr%,icfl%,data$):� data1%,data2%,data3%
~� �data$<12 �
�? base%!0=flag%:base%!4=ptr%:base%!8=icfl%:$(base%+12)=data$
��
�M data1%=mptr%:data2%=-1:data3%=�data$+1:icfl%=(icfl%�&FFFFFEFF)�&00000100
�- base%!0=flag%:base%!4=ptr%:base%!8=icfl%
�4 base%!12=data1%:base%!16=data2%:base%!20=data3%
� $mptr%=data$
� mptr%+=data3%
��
��
�
� ��m_head(base%,data$,width%)
�M$base%=data$:base%!12=&00070207:base%!16=width%*16:base%!20=44:base%!24=0
�


=��m_indirect(base%,flag%,ptr%,icfl%,data1%,data2%,data3%)
,base%!0=flag%:base%!4=ptr%:base%!8=icfl%
(3base%!12=data1%:base%!16=data2%:base%!20=data3%
2�
<
F��openwindow(h%)
P+q%!52=h%:ș"Wimp_GetWindowState",,q%+52
Zș"Wimp_OpenWindow",,q%+52
d�
n
x��forceicon(h%,i%)
�-q%!0=h%:q%!4=i%:ș"Wimp_GetIconState",,q%
�2ș"Wimp_ForceRedraw",h%,q%!8,q%!12,q%!16,q%!20
��
�
���writeicon(h%,i%,data$)
�-q%!0=h%:q%!4=i%:ș"Wimp_GetIconState",,q%
�$(q%!28)=data$
��forceicon(h%,i%)
��
�
�,� --------------------------------------
�
���update
� �
&� � �:� �:� �=486 �none:� � � �,�$
/ș "PDriver_Info" � ,x%,y%,f%,n$,xh%,yh%,p%
"�writeicon(main%,0,n$)
,�writeicon(main%,1,�x%)
6�writeicon(main%,2,�y%)
@�writeicon(main%,3,�xh%)
J�writeicon(main%,4,�yh%)
T�
^
h
��none
r%�writeicon(main%,0,"<No driver>")
|�writeicon(main%,1,"")
��writeicon(main%,2,"")
��writeicon(main%,3,"")
��writeicon(main%,4,"")
��
�
�
��calc
�� �
�� � �:� �:�
�'ș "PDriver_Info" � ,x%,y%,f%,,,,p%
�<ș "PDriver_SetInfo",,x%,y%,f%,,x%/�$xdiv%,y%/�$ydiv%,p%
��
�
�	��env
*ș"OS_GetEnv" � env$:I%=�env$,"-quit")
<I%=�env$,"""",I%+1):I%=�env$,"""",I%+1):env$=�env$,I%+1)
"ȕ�env$,1)=" ":env$=�env$,2):�
&*x$=�env$,�env$," ")-1):y$=�env$,�x$+1)
0X%=�x$:Y%=�y$
:�
�
00000000  0d 00 0a 11 f4 20 3e 20  21 52 75 6e 49 6d 61 67  |..... > !RunImag|
00000010  65 0d 00 14 0e f4 20 66  6f 72 20 21 52 50 49 0d  |e..... for !RPI.|
00000020  00 19 2d f4 20 43 6f 70  79 72 69 67 68 74 20 41  |..-. Copyright A|
00000030  72 63 68 69 6d 65 64 65  73 20 57 6f 72 6c 64 20  |rchimedes World |
00000040  4f 63 74 6f 62 65 72 20  31 39 39 31 0d 00 1e 14  |October 1991....|
00000050  76 65 72 73 69 6f 6e 24  3d 20 22 31 2e 30 30 22  |version$= "1.00"|
00000060  0d 00 28 18 64 61 74 65  24 20 20 20 3d 20 22 28  |..(.date$   = "(|
00000070  46 65 62 2d 39 31 29 22  0d 00 32 04 0d 00 3c 15  |Feb-91)"..2...<.|
00000080  f4 20 28 43 29 20 4d 61  6a 69 64 20 41 6e 77 61  |. (C) Majid Anwa|
00000090  72 0d 00 46 04 0d 00 50  22 ee 85 3a ee 85 87 3a  |r..F...P"..:...:|
000000a0  85 20 9f 2c f6 24 2b 22  20 61 74 20 6c 69 6e 65  |. .,.$+" at line|
000000b0  20 22 2b c3 9e 3a e0 0d  00 5a 04 0d 00 64 0f f2  | "+..:...Z...d..|
000000c0  69 6e 69 74 69 61 6c 69  73 65 0d 00 6e 18 70 6f  |initialise..n.po|
000000d0  6c 6c 25 3d 25 31 31 31  30 30 31 30 31 31 30 30  |ll%=%11100101100|
000000e0  31 31 0d 00 78 04 0d 00  82 20 ee 85 20 64 75 6d  |11..x.... .. dum|
000000f0  6d 79 3d a4 65 72 72 6f  72 28 9f 2c f6 24 2c 25  |my=.error(.,.$,%|
00000100  31 30 30 31 30 29 0d 00  8c 05 f5 0d 00 96 24 c8  |10010)........$.|
00000110  99 22 57 69 6d 70 5f 50  6f 6c 6c 22 2c 70 6f 6c  |."Wimp_Poll",pol|
00000120  6c 25 2c 71 25 20 b8 20  61 63 74 69 6f 6e 25 0d  |l%,q% . action%.|
00000130  00 a0 10 c8 8e 20 61 63  74 69 6f 6e 25 20 ca 0d  |..... action% ..|
00000140  00 aa 04 0d 00 b4 21 c9  20 32 20 3a 20 c8 99 22  |......!. 2 : .."|
00000150  57 69 6d 70 5f 4f 70 65  6e 57 69 6e 64 6f 77 22  |Wimp_OpenWindow"|
00000160  2c 2c 71 25 0d 00 be 22  c9 20 33 20 3a 20 c8 99  |,,q%...". 3 : ..|
00000170  22 57 69 6d 70 5f 43 6c  6f 73 65 57 69 6e 64 6f  |"Wimp_CloseWindo|
00000180  77 22 2c 2c 71 25 0d 00  c8 2c c9 20 36 20 3a 20  |w",,q%...,. 6 : |
00000190  f2 63 6c 69 63 6b 28 71  25 21 30 2c 71 25 21 34  |.click(q%!0,q%!4|
000001a0  2c 71 25 21 38 2c 71 25  21 31 32 2c 71 25 21 31  |,q%!8,q%!12,q%!1|
000001b0  36 29 0d 00 d2 2a c9 20  39 20 3a 20 e7 71 25 21  |6)...*. 9 : .q%!|
000001c0  30 3e 2d 31 20 f2 64 65  63 6f 64 65 28 71 25 21  |0>-1 .decode(q%!|
000001d0  30 2c 71 25 21 34 2c 71  25 21 38 29 0d 00 dc 17  |0,q%!4,q%!8)....|
000001e0  c9 20 31 37 2c 31 38 2c  31 39 3a f2 6d 65 73 73  |. 17,18,19:.mess|
000001f0  61 67 65 0d 00 e6 05 cb  0d 00 f0 0b fd 20 71 75  |age.......... qu|
00000200  69 74 25 0d 00 fa 26 c8  99 22 57 69 6d 70 5f 43  |it%...&.."Wimp_C|
00000210  6c 6f 73 65 44 6f 77 6e  22 2c 74 61 73 6b 25 2c  |loseDown",task%,|
00000220  26 34 42 35 33 34 31 35  34 0d 01 04 05 e0 0d 01  |&4B534154.......|
00000230  0e 04 0d 01 18 10 dd f2  69 6e 69 74 69 61 6c 69  |........initiali|
00000240  73 65 0d 01 22 04 0d 01  2c 34 c8 99 22 57 69 6d  |se.."...,4.."Wim|
00000250  70 5f 49 6e 69 74 69 61  6c 69 73 65 22 2c 32 30  |p_Initialise",20|
00000260  30 2c 26 34 42 35 33 34  31 35 34 2c 22 52 50 49  |0,&4B534154,"RPI|
00000270  22 20 b8 20 2c 74 61 73  6b 25 0d 01 36 14 71 75  |" . ,task%..6.qu|
00000280  69 74 25 3d a3 3a 6d 79  72 65 66 25 3d 30 0d 01  |it%=.:myref%=0..|
00000290  40 04 0d 01 4a 4e de 20  71 25 20 26 31 30 30 2c  |@...JN. q% &100,|
000002a0  20 65 72 72 31 25 20 26  31 30 30 2c 20 65 72 72  | err1% &100, err|
000002b0  32 25 20 31 35 2c 20 69  6e 64 6d 65 6e 75 25 20  |2% 15, indmenu% |
000002c0  32 35 36 2c 20 78 64 69  76 25 20 35 2c 20 79 64  |256, xdiv% 5, yd|
000002d0  69 76 25 20 35 2c 20 76  61 6c 69 64 25 20 31 30  |iv% 5, valid% 10|
000002e0  0d 01 54 20 de 20 62 75  66 66 65 72 25 20 39 30  |..T . buffer% 90|
000002f0  30 2c 20 69 6e 64 69 72  65 63 74 25 20 33 30 30  |0, indirect% 300|
00000300  0d 01 5e 08 f2 65 6e 76  0d 01 68 35 24 65 72 72  |..^..env..h5$err|
00000310  32 25 3d 22 52 50 49 22  3a 24 78 64 69 76 25 3d  |2%="RPI":$xdiv%=|
00000320  c3 58 25 3a 24 79 64 69  76 25 3d c3 59 25 3a 24  |.X%:$ydiv%=.Y%:$|
00000330  76 61 6c 69 64 25 3d 22  41 30 2d 39 22 0d 01 72  |valid%="A0-9"..r|
00000340  04 0d 01 7c 31 c8 99 22  57 69 6d 70 5f 4f 70 65  |...|1.."Wimp_Ope|
00000350  6e 54 65 6d 70 6c 61 74  65 22 2c 2c 22 3c 4f 62  |nTemplate",,"<Ob|
00000360  65 79 24 44 69 72 3e 2e  54 65 6d 70 6c 61 74 65  |ey$Dir>.Template|
00000370  73 22 0d 01 86 46 c8 99  22 57 69 6d 70 5f 4c 6f  |s"...F.."Wimp_Lo|
00000380  61 64 54 65 6d 70 6c 61  74 65 22 2c 2c 62 75 66  |adTemplate",,buf|
00000390  66 65 72 25 2c 69 6e 64  69 72 65 63 74 25 2c 69  |fer%,indirect%,i|
000003a0  6e 64 69 72 65 63 74 25  2b 31 36 39 2c 2d 31 2c  |ndirect%+169,-1,|
000003b0  22 69 6e 66 6f 22 2c 30  0d 01 90 4d c8 99 22 57  |"info",0...M.."W|
000003c0  69 6d 70 5f 43 72 65 61  74 65 57 69 6e 64 6f 77  |imp_CreateWindow|
000003d0  22 2c 2c 62 75 66 66 65  72 25 20 b8 20 69 6e 66  |",,buffer% . inf|
000003e0  6f 25 3a 24 28 69 6e 64  69 72 65 63 74 25 2b 32  |o%:$(indirect%+2|
000003f0  30 29 3d 76 65 72 73 69  6f 6e 24 2b 22 20 22 2b  |0)=version$+" "+|
00000400  64 61 74 65 24 0d 01 9a  4a c8 99 22 57 69 6d 70  |date$...J.."Wimp|
00000410  5f 4c 6f 61 64 54 65 6d  70 6c 61 74 65 22 2c 2c  |_LoadTemplate",,|
00000420  62 75 66 66 65 72 25 2c  69 6e 64 69 72 65 63 74  |buffer%,indirect|
00000430  25 2b 31 37 30 2c 69 6e  64 69 72 65 63 74 25 2b  |%+170,indirect%+|
00000440  32 39 39 2c 2d 31 2c 22  6d 61 69 6e 22 2c 30 0d  |299,-1,"main",0.|
00000450  01 a4 2a c8 99 22 57 69  6d 70 5f 43 72 65 61 74  |..*.."Wimp_Creat|
00000460  65 57 69 6e 64 6f 77 22  2c 2c 62 75 66 66 65 72  |eWindow",,buffer|
00000470  25 20 b8 20 6d 61 69 6e  25 0d 01 ae 1a c8 99 22  |% . main%......"|
00000480  57 69 6d 70 5f 43 6c 6f  73 65 54 65 6d 70 6c 61  |Wimp_CloseTempla|
00000490  74 65 22 0d 01 b8 04 0d  01 c2 18 ea 73 78 25 2c  |te".........sx%,|
000004a0  73 79 25 2c 73 6d 25 2c  70 78 25 2c 70 79 25 0d  |sy%,sm%,px%,py%.|
000004b0  01 cc 12 73 70 72 69 74  65 24 3d 22 21 72 70 69  |...sprite$="!rpi|
000004c0  22 0d 01 d6 33 c8 99 22  57 69 6d 70 5f 53 70 72  |"...3.."Wimp_Spr|
000004d0  69 74 65 4f 70 22 2c 34  30 2c 2c 73 70 72 69 74  |iteOp",40,,sprit|
000004e0  65 24 20 b8 20 2c 2c 2c  73 78 25 2c 73 79 25 2c  |e$ . ,,,sx%,sy%,|
000004f0  2c 73 6d 25 0d 01 e0 36  c8 99 22 4f 53 5f 52 65  |,sm%...6.."OS_Re|
00000500  61 64 4d 6f 64 65 56 61  72 69 61 62 6c 65 22 2c  |adModeVariable",|
00000510  73 6d 25 2c 34 20 b8 20  2c 2c 70 78 25 3a 73 78  |sm%,4 . ,,px%:sx|
00000520  25 3d 73 78 25 3c 3c 70  78 25 0d 01 ea 36 c8 99  |%=sx%<<px%...6..|
00000530  22 4f 53 5f 52 65 61 64  4d 6f 64 65 56 61 72 69  |"OS_ReadModeVari|
00000540  61 62 6c 65 22 2c 73 6d  25 2c 35 20 b8 20 2c 2c  |able",sm%,5 . ,,|
00000550  70 79 25 3a 73 79 25 3d  73 79 25 3c 3c 70 79 25  |py%:sy%=sy%<<py%|
00000560  0d 01 f4 04 0d 01 fe 0a  21 71 25 3d 2d 32 0d 02  |........!q%=-2..|
00000570  08 2a 71 25 21 34 3d 30  3a 71 25 21 38 3d 30 3a  |.*q%!4=0:q%!8=0:|
00000580  71 25 21 31 32 3d 71 25  21 34 2b 73 78 25 3a 71  |q%!12=q%!4+sx%:q|
00000590  25 21 31 36 3d 73 79 25  0d 02 12 13 71 25 21 32  |%!16=sy%....q%!2|
000005a0  30 3d 26 31 37 30 31 33  30 30 41 0d 02 1c 14 24  |0=&1701300A....$|
000005b0  28 71 25 2b 32 34 29 3d  73 70 72 69 74 65 24 0d  |(q%+24)=sprite$.|
000005c0  02 26 21 c8 99 22 57 69  6d 70 5f 43 72 65 61 74  |.&!.."Wimp_Creat|
000005d0  65 49 63 6f 6e 22 2c 2c  71 25 20 b8 20 69 63 25  |eIcon",,q% . ic%|
000005e0  0d 02 30 04 0d 02 3a 4b  71 25 21 30 3d 32 30 3a  |..0...:Kq%!0=20:|
000005f0  71 25 21 34 3d 30 3a 71  25 21 38 3d 30 3a 71 25  |q%!4=0:q%!8=0:q%|
00000600  21 31 32 3d 30 3a 71 25  21 31 36 3d 26 38 30 31  |!12=0:q%!16=&801|
00000610  46 46 3a c8 99 22 57 69  6d 70 5f 53 65 6e 64 4d  |FF:.."Wimp_SendM|
00000620  65 73 73 61 67 65 22 2c  31 37 2c 71 25 2c 30 0d  |essage",17,q%,0.|
00000630  02 44 11 f2 63 61 6c 63  3a f2 75 70 64 61 74 65  |.D..calc:.update|
00000640  0d 02 4e 05 e1 0d 02 58  04 0d 02 62 33 dd f2 63  |..N....X...b3..c|
00000650  6c 69 63 6b 28 6d 78 25  2c 6d 79 25 2c 62 25 2c  |lick(mx%,my%,b%,|
00000660  77 25 2c 69 25 29 3a ea  20 73 78 25 2c 73 79 25  |w%,i%):. sx%,sy%|
00000670  2c 73 6d 25 2c 70 78 25  2c 70 79 25 0d 02 6c 0d  |,sm%,px%,py%..l.|
00000680  e7 20 77 25 3d 2d 32 20  8c 0d 02 76 0c 20 c8 8e  |. w%=-2 ...v. ..|
00000690  20 62 25 20 ca 0d 02 80  12 20 20 c9 20 32 20 20  | b% .....  . 2  |
000006a0  20 3a f2 6d 65 6e 75 0d  02 8a 1f 20 20 c9 20 31  | :.menu....  . 1|
000006b0  2c 34 20 3a f2 6f 70 65  6e 77 69 6e 64 6f 77 28  |,4 :.openwindow(|
000006c0  6d 61 69 6e 25 29 0d 02  94 06 20 cb 0d 02 9e 05  |main%).... .....|
000006d0  cd 0d 02 a8 05 e1 0d 02  b2 04 0d 02 bc 1c dd a4  |................|
000006e0  65 72 72 6f 72 28 65 72  72 6f 72 25 2c 65 72 72  |error(error%,err|
000006f0  24 2c 66 6c 25 29 0d 02  c6 18 70 6f 6c 6c 25 3d  |$,fl%)....poll%=|
00000700  25 31 31 30 30 30 31 30  31 31 30 30 31 31 0d 02  |%1100010110011..|
00000710  d0 25 65 72 72 31 25 21  30 3d 65 72 72 6f 72 25  |.%err1%!0=error%|
00000720  3a 24 28 65 72 72 31 25  2b 34 29 3d 65 72 72 24  |:$(err1%+4)=err$|
00000730  2b c3 9e 0d 02 da 31 c8  99 22 57 69 6d 70 5f 52  |+.....1.."Wimp_R|
00000740  65 70 6f 72 74 45 72 72  6f 72 22 2c 65 72 72 31  |eportError",err1|
00000750  25 2c 66 6c 25 2c 65 72  72 32 25 20 b8 20 63 6c  |%,fl%,err2% . cl|
00000760  69 63 6b 25 0d 02 e4 0b  3d 63 6c 69 63 6b 25 0d  |ick%....=click%.|
00000770  02 ee 04 0d 02 f8 18 dd  f2 6d 65 73 73 61 67 65  |.........message|
00000780  3a ea 20 64 61 74 61 24  2c 6e 25 0d 03 02 0e c8  |:. data$,n%.....|
00000790  8e 20 71 25 21 31 36 20  ca 0d 03 0c 16 20 c9 20  |. q%!16 ..... . |
000007a0  30 3a 20 20 20 20 20 20  71 75 69 74 25 3d b9 0d  |0:      quit%=..|
000007b0  03 16 1c 20 c9 20 26 38  30 31 34 37 3a 20 f2 63  |... . &80147: .c|
000007c0  61 6c 63 3a f2 75 70 64  61 74 65 0d 03 20 24 20  |alc:.update.. $ |
000007d0  c9 20 26 38 30 31 46 46  3a 20 e7 20 71 25 21 34  |. &801FF: . q%!4|
000007e0  3c 3e 74 61 73 6b 25 20  71 75 69 74 25 3d b9 0d  |<>task% quit%=..|
000007f0  03 2a 05 cb 0d 03 34 05  e1 0d 03 3e 04 0d 03 48  |.*....4....>...H|
00000800  2a dd f2 64 65 63 6f 64  65 28 73 65 6c 65 63 74  |*..decode(select|
00000810  25 2c 73 75 62 25 2c 6c  65 61 66 25 29 3a ea 64  |%,sub%,leaf%):.d|
00000820  75 6d 6d 79 25 2c 6d 0d  03 52 26 c8 99 22 57 69  |ummy%,m..R&.."Wi|
00000830  6d 70 5f 47 65 74 50 6f  69 6e 74 65 72 49 6e 66  |mp_GetPointerInf|
00000840  6f 22 2c 2c 71 25 3a 6d  3d 71 25 21 38 0d 03 5c  |o",,q%:m=q%!8..\|
00000850  10 c8 8e 20 73 65 6c 65  63 74 25 20 ca 0d 03 66  |... select% ...f|
00000860  09 20 c9 20 30 3a 0d 03  70 16 20 c9 20 31 3a f2  |. . 0:..p. . 1:.|
00000870  63 61 6c 63 3a f2 75 70  64 61 74 65 0d 03 7a 16  |calc:.update..z.|
00000880  20 c9 20 32 3a f2 63 61  6c 63 3a f2 75 70 64 61  | . 2:.calc:.upda|
00000890  74 65 0d 03 84 10 20 c9  20 33 3a 71 75 69 74 25  |te.... . 3:quit%|
000008a0  3d b9 0d 03 8e 05 cb 0d  03 98 13 e7 28 6d 20 80  |=...........(m .|
000008b0  31 29 3d 31 20 f2 6d 65  6e 75 0d 03 a2 05 e1 0d  |1)=1 .menu......|
000008c0  03 ac 04 0d 03 b6 0e dd  f2 6d 65 6e 75 3a ea 68  |.........menu:.h|
000008d0  25 0d 03 c0 0b 68 25 3d  34 34 2a 34 0d 03 ca 12  |%....h%=44*4....|
000008e0  6d 70 74 72 25 3d 69 6e  64 6d 65 6e 75 25 0d 03  |mptr%=indmenu%..|
000008f0  d4 04 0d 03 de 1d f2 6d  5f 68 65 61 64 28 62 75  |.......m_head(bu|
00000900  66 66 65 72 25 2c 22 52  50 49 22 2c 31 30 29 0d  |ffer%,"RPI",10).|
00000910  03 e8 32 f2 6d 5f 62 6c  6f 63 6b 28 62 75 66 66  |..2.m_block(buff|
00000920  65 72 25 2b 32 38 2c 26  30 30 2c 69 6e 66 6f 25  |er%+28,&00,info%|
00000930  2c 26 37 30 30 30 30 30  31 2c 22 49 6e 66 6f 22  |,&7000001,"Info"|
00000940  29 0d 03 f2 3d f2 6d 5f  62 6c 6f 63 6b 28 62 75  |)...=.m_block(bu|
00000950  66 66 65 72 25 2b 35 32  2c 26 30 30 2c 62 75 66  |ffer%+52,&00,buf|
00000960  66 65 72 25 2b 32 30 30  2c 26 37 30 30 30 30 30  |fer%+200,&700000|
00000970  31 2c 22 58 20 64 69 76  69 73 6f 72 22 29 0d 03  |1,"X divisor")..|
00000980  fc 3d f2 6d 5f 62 6c 6f  63 6b 28 62 75 66 66 65  |.=.m_block(buffe|
00000990  72 25 2b 37 36 2c 26 30  30 2c 62 75 66 66 65 72  |r%+76,&00,buffer|
000009a0  25 2b 33 30 30 2c 26 37  30 30 30 30 30 31 2c 22  |%+300,&7000001,"|
000009b0  59 20 64 69 76 69 73 6f  72 22 29 0d 04 06 30 f2  |Y divisor")...0.|
000009c0  6d 5f 62 6c 6f 63 6b 28  62 75 66 66 65 72 25 2b  |m_block(buffer%+|
000009d0  31 30 30 2c 26 38 30 2c  2d 31 2c 26 37 30 30 30  |100,&80,-1,&7000|
000009e0  30 30 31 2c 22 51 75 69  74 22 29 0d 04 10 04 0d  |001,"Quit").....|
000009f0  04 1a 28 f2 6d 5f 68 65  61 64 28 62 75 66 66 65  |..(.m_head(buffe|
00000a00  72 25 2b 32 30 30 2c 22  58 20 64 69 76 69 73 6f  |r%+200,"X diviso|
00000a10  72 3a 22 2c 31 30 29 0d  04 24 3b f2 6d 5f 69 6e  |r:",10)..$;.m_in|
00000a20  64 69 72 65 63 74 28 62  75 66 66 65 72 25 2b 32  |direct(buffer%+2|
00000a30  32 38 2c 26 38 34 2c 2d  31 2c 26 37 30 30 46 31  |28,&84,-1,&700F1|
00000a40  32 31 2c 78 64 69 76 25  2c 76 61 6c 69 64 25 2c  |21,xdiv%,valid%,|
00000a50  34 29 0d 04 2e 04 0d 04  38 28 f2 6d 5f 68 65 61  |4)......8(.m_hea|
00000a60  64 28 62 75 66 66 65 72  25 2b 33 30 30 2c 22 59  |d(buffer%+300,"Y|
00000a70  20 64 69 76 69 73 6f 72  3a 22 2c 31 30 29 0d 04  | divisor:",10)..|
00000a80  42 3b f2 6d 5f 69 6e 64  69 72 65 63 74 28 62 75  |B;.m_indirect(bu|
00000a90  66 66 65 72 25 2b 33 32  38 2c 26 38 34 2c 2d 31  |ffer%+328,&84,-1|
00000aa0  2c 26 37 30 30 46 31 32  31 2c 79 64 69 76 25 2c  |,&700F121,ydiv%,|
00000ab0  76 61 6c 69 64 25 2c 34  29 0d 04 4c 04 0d 04 56  |valid%,4)..L...V|
00000ac0  2e c8 99 22 57 69 6d 70  5f 43 72 65 61 74 65 4d  |..."Wimp_CreateM|
00000ad0  65 6e 75 22 2c 2c 62 75  66 66 65 72 25 2c 71 25  |enu",,buffer%,q%|
00000ae0  21 30 2d 36 34 2c 68 25  2b 39 36 0d 04 60 05 e1  |!0-64,h%+96..`..|
00000af0  0d 04 6a 04 0d 04 74 42  dd f2 6d 5f 62 6c 6f 63  |..j...tB..m_bloc|
00000b00  6b 28 62 61 73 65 25 2c  66 6c 61 67 25 2c 70 74  |k(base%,flag%,pt|
00000b10  72 25 2c 69 63 66 6c 25  2c 64 61 74 61 24 29 3a  |r%,icfl%,data$):|
00000b20  ea 20 64 61 74 61 31 25  2c 64 61 74 61 32 25 2c  |. data1%,data2%,|
00000b30  64 61 74 61 33 25 0d 04  7e 11 e7 20 a9 64 61 74  |data3%..~.. .dat|
00000b40  61 24 3c 31 32 20 8c 0d  04 88 3f 20 62 61 73 65  |a$<12 ....? base|
00000b50  25 21 30 3d 66 6c 61 67  25 3a 62 61 73 65 25 21  |%!0=flag%:base%!|
00000b60  34 3d 70 74 72 25 3a 62  61 73 65 25 21 38 3d 69  |4=ptr%:base%!8=i|
00000b70  63 66 6c 25 3a 24 28 62  61 73 65 25 2b 31 32 29  |cfl%:$(base%+12)|
00000b80  3d 64 61 74 61 24 0d 04  92 05 cc 0d 04 9c 4d 20  |=data$........M |
00000b90  64 61 74 61 31 25 3d 6d  70 74 72 25 3a 64 61 74  |data1%=mptr%:dat|
00000ba0  61 32 25 3d 2d 31 3a 64  61 74 61 33 25 3d a9 64  |a2%=-1:data3%=.d|
00000bb0  61 74 61 24 2b 31 3a 69  63 66 6c 25 3d 28 69 63  |ata$+1:icfl%=(ic|
00000bc0  66 6c 25 80 26 46 46 46  46 46 45 46 46 29 82 26  |fl%.&FFFFFEFF).&|
00000bd0  30 30 30 30 30 31 30 30  0d 04 a6 2d 20 62 61 73  |00000100...- bas|
00000be0  65 25 21 30 3d 66 6c 61  67 25 3a 62 61 73 65 25  |e%!0=flag%:base%|
00000bf0  21 34 3d 70 74 72 25 3a  62 61 73 65 25 21 38 3d  |!4=ptr%:base%!8=|
00000c00  69 63 66 6c 25 0d 04 b0  34 20 62 61 73 65 25 21  |icfl%...4 base%!|
00000c10  31 32 3d 64 61 74 61 31  25 3a 62 61 73 65 25 21  |12=data1%:base%!|
00000c20  31 36 3d 64 61 74 61 32  25 3a 62 61 73 65 25 21  |16=data2%:base%!|
00000c30  32 30 3d 64 61 74 61 33  25 0d 04 ba 11 20 24 6d  |20=data3%.... $m|
00000c40  70 74 72 25 3d 64 61 74  61 24 0d 04 c4 12 20 6d  |ptr%=data$.... m|
00000c50  70 74 72 25 2b 3d 64 61  74 61 33 25 0d 04 ce 05  |ptr%+=data3%....|
00000c60  cd 0d 04 d8 05 e1 0d 04  e2 04 0d 04 ec 20 dd f2  |............. ..|
00000c70  6d 5f 68 65 61 64 28 62  61 73 65 25 2c 64 61 74  |m_head(base%,dat|
00000c80  61 24 2c 77 69 64 74 68  25 29 0d 04 f6 4d 24 62  |a$,width%)...M$b|
00000c90  61 73 65 25 3d 64 61 74  61 24 3a 62 61 73 65 25  |ase%=data$:base%|
00000ca0  21 31 32 3d 26 30 30 30  37 30 32 30 37 3a 62 61  |!12=&00070207:ba|
00000cb0  73 65 25 21 31 36 3d 77  69 64 74 68 25 2a 31 36  |se%!16=width%*16|
00000cc0  3a 62 61 73 65 25 21 32  30 3d 34 34 3a 62 61 73  |:base%!20=44:bas|
00000cd0  65 25 21 32 34 3d 30 0d  05 00 05 e1 0d 05 0a 04  |e%!24=0.........|
00000ce0  0d 05 14 3d dd f2 6d 5f  69 6e 64 69 72 65 63 74  |...=..m_indirect|
00000cf0  28 62 61 73 65 25 2c 66  6c 61 67 25 2c 70 74 72  |(base%,flag%,ptr|
00000d00  25 2c 69 63 66 6c 25 2c  64 61 74 61 31 25 2c 64  |%,icfl%,data1%,d|
00000d10  61 74 61 32 25 2c 64 61  74 61 33 25 29 0d 05 1e  |ata2%,data3%)...|
00000d20  2c 62 61 73 65 25 21 30  3d 66 6c 61 67 25 3a 62  |,base%!0=flag%:b|
00000d30  61 73 65 25 21 34 3d 70  74 72 25 3a 62 61 73 65  |ase%!4=ptr%:base|
00000d40  25 21 38 3d 69 63 66 6c  25 0d 05 28 33 62 61 73  |%!8=icfl%..(3bas|
00000d50  65 25 21 31 32 3d 64 61  74 61 31 25 3a 62 61 73  |e%!12=data1%:bas|
00000d60  65 25 21 31 36 3d 64 61  74 61 32 25 3a 62 61 73  |e%!16=data2%:bas|
00000d70  65 25 21 32 30 3d 64 61  74 61 33 25 0d 05 32 05  |e%!20=data3%..2.|
00000d80  e1 0d 05 3c 04 0d 05 46  14 dd f2 6f 70 65 6e 77  |...<...F...openw|
00000d90  69 6e 64 6f 77 28 68 25  29 0d 05 50 2b 71 25 21  |indow(h%)..P+q%!|
00000da0  35 32 3d 68 25 3a c8 99  22 57 69 6d 70 5f 47 65  |52=h%:.."Wimp_Ge|
00000db0  74 57 69 6e 64 6f 77 53  74 61 74 65 22 2c 2c 71  |tWindowState",,q|
00000dc0  25 2b 35 32 0d 05 5a 1e  c8 99 22 57 69 6d 70 5f  |%+52..Z..."Wimp_|
00000dd0  4f 70 65 6e 57 69 6e 64  6f 77 22 2c 2c 71 25 2b  |OpenWindow",,q%+|
00000de0  35 32 0d 05 64 05 e1 0d  05 6e 04 0d 05 78 16 dd  |52..d....n...x..|
00000df0  f2 66 6f 72 63 65 69 63  6f 6e 28 68 25 2c 69 25  |.forceicon(h%,i%|
00000e00  29 0d 05 82 2d 71 25 21  30 3d 68 25 3a 71 25 21  |)...-q%!0=h%:q%!|
00000e10  34 3d 69 25 3a c8 99 22  57 69 6d 70 5f 47 65 74  |4=i%:.."Wimp_Get|
00000e20  49 63 6f 6e 53 74 61 74  65 22 2c 2c 71 25 0d 05  |IconState",,q%..|
00000e30  8c 32 c8 99 22 57 69 6d  70 5f 46 6f 72 63 65 52  |.2.."Wimp_ForceR|
00000e40  65 64 72 61 77 22 2c 68  25 2c 71 25 21 38 2c 71  |edraw",h%,q%!8,q|
00000e50  25 21 31 32 2c 71 25 21  31 36 2c 71 25 21 32 30  |%!12,q%!16,q%!20|
00000e60  0d 05 96 05 e1 0d 05 a0  04 0d 05 aa 1c dd f2 77  |...............w|
00000e70  72 69 74 65 69 63 6f 6e  28 68 25 2c 69 25 2c 64  |riteicon(h%,i%,d|
00000e80  61 74 61 24 29 0d 05 b4  2d 71 25 21 30 3d 68 25  |ata$)...-q%!0=h%|
00000e90  3a 71 25 21 34 3d 69 25  3a c8 99 22 57 69 6d 70  |:q%!4=i%:.."Wimp|
00000ea0  5f 47 65 74 49 63 6f 6e  53 74 61 74 65 22 2c 2c  |_GetIconState",,|
00000eb0  71 25 0d 05 be 12 24 28  71 25 21 32 38 29 3d 64  |q%....$(q%!28)=d|
00000ec0  61 74 61 24 0d 05 c8 15  f2 66 6f 72 63 65 69 63  |ata$.....forceic|
00000ed0  6f 6e 28 68 25 2c 69 25  29 0d 05 d2 05 e1 0d 05  |on(h%,i%).......|
00000ee0  dc 04 0d 05 e6 2c f4 20  2d 2d 2d 2d 2d 2d 2d 2d  |.....,. --------|
00000ef0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
00000f00  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 0d 05  |--------------..|
00000f10  f0 04 0d 05 fa 0c dd f2  75 70 64 61 74 65 0d 06  |........update..|
00000f20  04 07 ea 20 85 0d 06 0e  26 ee 20 85 20 ea 3a f7  |... ....&. . .:.|
00000f30  20 85 3a e7 20 9f 3d 34  38 36 20 f2 6e 6f 6e 65  | .:. .=486 .none|
00000f40  3a e1 20 8b 20 85 20 9f  2c f6 24 0d 06 18 2f c8  |:. . . .,.$.../.|
00000f50  99 20 22 50 44 72 69 76  65 72 5f 49 6e 66 6f 22  |. "PDriver_Info"|
00000f60  20 b8 20 2c 78 25 2c 79  25 2c 66 25 2c 6e 24 2c  | . ,x%,y%,f%,n$,|
00000f70  78 68 25 2c 79 68 25 2c  70 25 0d 06 22 1a f2 77  |xh%,yh%,p%.."..w|
00000f80  72 69 74 65 69 63 6f 6e  28 6d 61 69 6e 25 2c 30  |riteicon(main%,0|
00000f90  2c 6e 24 29 0d 06 2c 1b  f2 77 72 69 74 65 69 63  |,n$)..,..writeic|
00000fa0  6f 6e 28 6d 61 69 6e 25  2c 31 2c c3 78 25 29 0d  |on(main%,1,.x%).|
00000fb0  06 36 1b f2 77 72 69 74  65 69 63 6f 6e 28 6d 61  |.6..writeicon(ma|
00000fc0  69 6e 25 2c 32 2c c3 79  25 29 0d 06 40 1c f2 77  |in%,2,.y%)..@..w|
00000fd0  72 69 74 65 69 63 6f 6e  28 6d 61 69 6e 25 2c 33  |riteicon(main%,3|
00000fe0  2c c3 78 68 25 29 0d 06  4a 1c f2 77 72 69 74 65  |,.xh%)..J..write|
00000ff0  69 63 6f 6e 28 6d 61 69  6e 25 2c 34 2c c3 79 68  |icon(main%,4,.yh|
00001000  25 29 0d 06 54 05 e1 0d  06 5e 04 0d 06 68 0a dd  |%)..T....^...h..|
00001010  f2 6e 6f 6e 65 0d 06 72  25 f2 77 72 69 74 65 69  |.none..r%.writei|
00001020  63 6f 6e 28 6d 61 69 6e  25 2c 30 2c 22 3c 4e 6f  |con(main%,0,"<No|
00001030  20 64 72 69 76 65 72 3e  22 29 0d 06 7c 1a f2 77  | driver>")..|..w|
00001040  72 69 74 65 69 63 6f 6e  28 6d 61 69 6e 25 2c 31  |riteicon(main%,1|
00001050  2c 22 22 29 0d 06 86 1a  f2 77 72 69 74 65 69 63  |,"").....writeic|
00001060  6f 6e 28 6d 61 69 6e 25  2c 32 2c 22 22 29 0d 06  |on(main%,2,"")..|
00001070  90 1a f2 77 72 69 74 65  69 63 6f 6e 28 6d 61 69  |...writeicon(mai|
00001080  6e 25 2c 33 2c 22 22 29  0d 06 9a 1a f2 77 72 69  |n%,3,"").....wri|
00001090  74 65 69 63 6f 6e 28 6d  61 69 6e 25 2c 34 2c 22  |teicon(main%,4,"|
000010a0  22 29 0d 06 a4 05 e1 0d  06 ae 04 0d 06 b8 0a dd  |")..............|
000010b0  f2 63 61 6c 63 0d 06 c2  07 ea 20 85 0d 06 cc 0f  |.calc..... .....|
000010c0  ee 20 85 20 ea 3a f7 20  85 3a e1 0d 06 d6 27 c8  |. . .:. .:....'.|
000010d0  99 20 22 50 44 72 69 76  65 72 5f 49 6e 66 6f 22  |. "PDriver_Info"|
000010e0  20 b8 20 2c 78 25 2c 79  25 2c 66 25 2c 2c 2c 2c  | . ,x%,y%,f%,,,,|
000010f0  70 25 0d 06 e0 3c c8 99  20 22 50 44 72 69 76 65  |p%...<.. "PDrive|
00001100  72 5f 53 65 74 49 6e 66  6f 22 2c 2c 78 25 2c 79  |r_SetInfo",,x%,y|
00001110  25 2c 66 25 2c 2c 78 25  2f bb 24 78 64 69 76 25  |%,f%,,x%/.$xdiv%|
00001120  2c 79 25 2f bb 24 79 64  69 76 25 2c 70 25 0d 06  |,y%/.$ydiv%,p%..|
00001130  ea 05 e1 0d 06 f4 04 0d  06 fe 09 dd f2 65 6e 76  |.............env|
00001140  0d 07 08 2a c8 99 22 4f  53 5f 47 65 74 45 6e 76  |...*.."OS_GetEnv|
00001150  22 20 b8 20 65 6e 76 24  3a 49 25 3d a7 65 6e 76  |" . env$:I%=.env|
00001160  24 2c 22 2d 71 75 69 74  22 29 0d 07 12 3c 49 25  |$,"-quit")...<I%|
00001170  3d a7 65 6e 76 24 2c 22  22 22 22 2c 49 25 2b 31  |=.env$,"""",I%+1|
00001180  29 3a 49 25 3d a7 65 6e  76 24 2c 22 22 22 22 2c  |):I%=.env$,"""",|
00001190  49 25 2b 31 29 3a 65 6e  76 24 3d c1 65 6e 76 24  |I%+1):env$=.env$|
000011a0  2c 49 25 2b 31 29 0d 07  1c 22 c8 95 c0 65 6e 76  |,I%+1)..."...env|
000011b0  24 2c 31 29 3d 22 20 22  3a 65 6e 76 24 3d c1 65  |$,1)=" ":env$=.e|
000011c0  6e 76 24 2c 32 29 3a ce  0d 07 26 2a 78 24 3d c0  |nv$,2):...&*x$=.|
000011d0  65 6e 76 24 2c a7 65 6e  76 24 2c 22 20 22 29 2d  |env$,.env$," ")-|
000011e0  31 29 3a 79 24 3d c1 65  6e 76 24 2c a9 78 24 2b  |1):y$=.env$,.x$+|
000011f0  31 29 0d 07 30 11 58 25  3d a0 78 24 3a 59 25 3d  |1)..0.X%=.x$:Y%=|
00001200  a0 79 24 0d 07 3a 05 e1  0d ff                    |.y$..:....|
0000120a