Home » Archimedes archive » Zipped Apps » View » !View/!RunImage

!View/!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 » Zipped Apps » View
Filename: !View/!RunImage
Read OK:
File size: 0CA6 bytes
Load address: 0000
Exec address: 0000
File contents
   10REM > <View$dir>.!RunImage  Version 0.70
   20
   30IF QUIT THEN
   40  LIBRARY "BASIC:Shell"
   50  PROCAssemble_Shell
   60  FileName$=Shell_Env$
   70ELSE
   80  FileName$=""
   90ENDIF
  100
  110IF FileName$="" THEN
  120
  130DIM buffers% 255,validbuffer% 32,q% 255,taskid% 4,menu% 255,textbuffer% 640
  140END=END+&1000
  150iconhandle%=-1
  160$validbuffer%="S!view"
  170$taskid%="TASK"
  180SYS "Wimp_Initialise",200,!taskid%,"View" TO ,ourhandle%
  190ON ERROR PROCerrorbox
  200PROCmakeicon(q%)
  210
  220REPEAT
  230  SYS "Wimp_Poll",NOT((3<<17)OR(1<<9)OR(1<<8)OR(1<<6)),q% TO reason%
  240  CASE reason% OF
  250    WHEN 6:PROCmousebutton(q%)
  260    WHEN 9:PROCmenuselect(q%)
  270    WHEN 17,18:PROCmessage(q%)
  280  ENDCASE
  290UNTIL0
  300
  310ELSE
  320  PROCParseName
  330  OSCLI "<view$dir>.SetUp " + LeafName$
  340ENDIF
  350END
  360
  370
  380DEFPROCmessage(q%)
  390  CASE q%!16 OF
  400    WHEN 0:PROCend
  410    WHEN 3:PROCloadtask
  420    WHEN 5:PROCopentask
  430  ENDCASE
  440ENDPROC
  450
  460
  470
  480DEFPROCloadtask
  490  IF q%!20=-2 THEN
  500    IF iconhandle%=q%!24 THEN
  510      q%!16=4
  520      q%!12=q%!8
  530      SYS "Wimp_SendMessage",17,q%,q%!4
  540      FileName$=FNgetstr(q%+44)
  550      PROCParseName
  560      SYS "Wimp_StartTask"," <view$dir>.SetUp " + LeafName$
  570    ENDIF
  580  ENDIF
  590ENDPROC
  600
  610
  620
  630DEFPROCopentask
  640  IF q%!40=&123 THEN
  650    q%!16=4
  660    q%!12=q%!8
  670    SYS "Wimp_SendMessage",17,q%,q%!4
  680    FileName$=FNgetstr(q%+44)
  690    PROCParseName
  700    SYS "Wimp_StartTask"," <view$dir>.SetUp " + LeafName$
  710  ENDIF
  720ENDPROC
  730
  740
  750
  760DEFPROCParseName
  770  LeafName$=""
  780  PathName$=""
  790  Pos%=1
  800  REPEAT
  810    LeafName$=RIGHT$(FileName$,Pos%)
  820    Pos%+=1
  830  UNTIL LEFT$(LeafName$,1)="."
  840  LeafName$=RIGHT$(FileName$,Pos%-2)
  850  PathName$=LEFT$(FileName$,LEN(FileName$)-Pos%+1)
  860  OSCLI "%DIR "+PathName$
  870ENDPROC
  880
  890
  900
  910DEFPROCmakeicon(q%)
  920  $(textbuffer%)="view"
  930  q%!0=-1
  940  q%!4=0
  950  q%!8=-16
  960  q%!12=100
  970  q%!16=88
  980  q%!20=(1 << 28)OR(7 << 24)OR(3 << 12)OR(1 << 8)OR(1 << 5)OR(1 << 3)OR(3)
  990  q%!24=textbuffer%
 1000  q%!28=validbuffer%
 1010  q%!32=64
 1020  SYS "Wimp_CreateIcon",,q% TO iconhandle%
 1030ENDPROC
 1040
 1050
 1060
 1070DEFFNgetstr(a%)
 1080  LOCAL a$
 1090  WHILE ?a% a$+=CHR$?a%:a%+=1:ENDWHILE
 1100=a$
 1110
 1120
 1130DEF PROCerrorbox
 1140  SYS "Wimp_DragBox",,-1
 1150  !buffers%=ERR:$(buffers%+4)=REPORT$+" at line "+STR$ERL+CHR$0
 1160  SYS "Wimp_ReportError",buffers%,1,"View"
 1170  PROCend
 1180ENDPROC
 1190
 1200
 1210
 1220DEFPROCmakemenu
 1230  $menu%="View"
 1240  menu%?12=7
 1250  menu%?13=2
 1260  menu%?14=7
 1270  menu%?15=0
 1280  menu%!16=100
 1290  menu%!20=40
 1300  menu%!24=0
 1310  m%=menu%+28
 1320  m%!0=&80
 1330  m%!4=-1
 1340  m%!8=(7<<24)OR(1)
 1350  $(m%+12)=" Quit"
 1360  m%+=24
 1370  $m%="Command"
 1380  m%?12=7
 1390  m%?13=2
 1400  m%?14=7
 1410  m%?15=0
 1420  m%!16=160
 1430  m%!20=40
 1440  m%!24=0
 1450  m%+=28
 1460  m%!0=&84
 1470  m%!4=-1
 1480  m%!8=(7<<24)OR(1<<8)OR(1)
 1490  m%!12=buffers%
 1500  m%!16=-1
 1510  m%!20=64
 1520  $buffers%=$(textbuffer%)
 1530ENDPROC
 1540
 1550
 1560
 1570DEFPROCmousebutton(q%)
 1580  LOCAL got%
 1590  got%=-1
 1600  IF q%!12=-2 THEN
 1610    IF iconhandle%=q%!16 got%=0
 1620    IF got%<>-1 THEN
 1630      CASE q%!8 OF
 1640        WHEN 2:   PROCmakemenu
 1650                  SYS "Wimp_CreateMenu",,menu%,(q%!0)-64,140
 1660        WHEN 1,4: SYS "Wimp_StartTask"," <view$dir>.SetUp"
 1670      ENDCASE
 1680    ENDIF
 1690  ENDIF
 1700ENDPROC
 1710
 1720
 1730
 1740DEFPROCmenuselect(q%)
 1750  CASE q%!0 OF
 1760    WHEN 0: q%!0=-2:q%!4=iconhandle%:SYS "Wimp_DeleteIcon",,q%
 1770            iconhandle%=-1
 1780            PROCend
 1790  ENDCASE
 1800ENDPROC
 1810
 1820
 1830
 1840DEFPROCend
 1850  SYS"Wimp_CloseDown",ourhandle%,!taskid%:END
 1860ENDPROC

*� > <View$dir>.!RunImage  Version 0.70


� Ș �
(  ț "BASIC:Shell"
2  �Assemble_Shell
<  FileName$=Shell_Env$
F�
P  FileName$=""
Z�
d
n� FileName$="" �
x
�M� buffers% 255,validbuffer% 32,q% 255,taskid% 4,menu% 255,textbuffer% 640
�
�=�+&1000
�iconhandle%=-1
�$validbuffer%="S!view"
�$taskid%="TASK"
�:ș "Wimp_Initialise",200,!taskid%,"View" � ,ourhandle%
�� � �errorbox
��makeicon(q%)
�
��
�A  ș "Wimp_Poll",�((3<<17)�(1<<9)�(1<<8)�(1<<6)),q% � reason%
�  Ȏ reason% �
�    � 6:�mousebutton(q%)
    � 9:�menuselect(q%)
    � 17,18:�message(q%)
  �
"�0
,
6�
@  �ParseName
J'  � "<view$dir>.SetUp " + LeafName$
T�
^�
h
r
|��message(q%)
�  Ȏ q%!16 �
�    � 0:�end
�    � 3:�loadtask
�    � 5:�opentask
�  �
��
�
�
�
���loadtask
�  � q%!20=-2 �
�    � iconhandle%=q%!24 �
�      q%!16=4
      q%!12=q%!8
*      ș "Wimp_SendMessage",17,q%,q%!4
"      FileName$=�getstr(q%+44)
&      �ParseName
0>      ș "Wimp_StartTask"," <view$dir>.SetUp " + LeafName$
:	    �
D  �
N�
X
b
l
v��opentask
�  � q%!40=&123 �
�    q%!16=4
�    q%!12=q%!8
�(    ș "Wimp_SendMessage",17,q%,q%!4
�     FileName$=�getstr(q%+44)
�    �ParseName
�<    ș "Wimp_StartTask"," <view$dir>.SetUp " + LeafName$
�  �
��
�
�
�
���ParseName
  LeafName$=""
  PathName$=""
  Pos%=1
   �
*"    LeafName$=�FileName$,Pos%)
4    Pos%+=1
>  � �LeafName$,1)="."
H"  LeafName$=�FileName$,Pos%-2)
R/  PathName$=�FileName$,�(FileName$)-Pos%+1)
\  � "%DIR "+PathName$
f�
p
z
�
���makeicon(q%)
�  $(textbuffer%)="view"
�
  q%!0=-1
�  q%!4=0
�  q%!8=-16
�  q%!12=100
�  q%!16=88
�H  q%!20=(1 << 28)�(7 << 24)�(3 << 12)�(1 << 8)�(1 << 5)�(1 << 3)�(3)
�  q%!24=textbuffer%
�  q%!28=validbuffer%
�  q%!32=64
�,  ș "Wimp_CreateIcon",,q% � iconhandle%
�


$
.ݤgetstr(a%)
8
  � a$
B  ȕ ?a% a$+=�?a%:a%+=1:�
L=a$
V
`
j� �errorbox
t  ș "Wimp_DragBox",,-1
~4  !buffers%=�:$(buffers%+4)=�$+" at line "+Þ+�0
�-  ș "Wimp_ReportError",buffers%,1,"View"
�
  �end
��
�
�
�
���makemenu
�  $menu%="View"
�  menu%?12=7
�  menu%?13=2
�  menu%?14=7
�  menu%?15=0
  menu%!16=100

  menu%!20=40
  menu%!24=0
  m%=menu%+28
(  m%!0=&80
2
  m%!4=-1
<  m%!8=(7<<24)�(1)
F  $(m%+12)=" Quit"
P  m%+=24
Z  $m%="Command"
d
  m%?12=7
n
  m%?13=2
x
  m%?14=7
�
  m%?15=0
�  m%!16=160
�  m%!20=40
�
  m%!24=0
�  m%+=28
�  m%!0=&84
�
  m%!4=-1
�  m%!8=(7<<24)�(1<<8)�(1)
�  m%!12=buffers%
�  m%!16=-1
�  m%!20=64
�  $buffers%=$(textbuffer%)
��



"��mousebutton(q%)
,  � got%
6
  got%=-1
@  � q%!12=-2 �
J"    � iconhandle%=q%!16 got%=0
T    � got%<>-1 �
^      Ȏ q%!8 �
h        � 2:   �makemenu
r?                  ș "Wimp_CreateMenu",,menu%,(q%!0)-64,140
|:        � 1,4: ș "Wimp_StartTask"," <view$dir>.SetUp"
�      �
�	    �
�  �
��
�
�
�
���menuselect(q%)
�  Ȏ q%!0 �
�>    � 0: q%!0=-2:q%!4=iconhandle%:ș "Wimp_DeleteIcon",,q%
�            iconhandle%=-1
�            �end
�  �
�


&
0	��end
:.  ș"Wimp_CloseDown",ourhandle%,!taskid%:�
D�
�
00000000  0d 00 0a 2a f4 20 3e 20  3c 56 69 65 77 24 64 69  |...*. > <View$di|
00000010  72 3e 2e 21 52 75 6e 49  6d 61 67 65 20 20 56 65  |r>.!RunImage  Ve|
00000020  72 73 69 6f 6e 20 30 2e  37 30 0d 00 14 04 0d 00  |rsion 0.70......|
00000030  1e 0a e7 20 c8 98 20 8c  0d 00 28 16 20 20 c8 9b  |... .. ...(.  ..|
00000040  20 22 42 41 53 49 43 3a  53 68 65 6c 6c 22 0d 00  | "BASIC:Shell"..|
00000050  32 15 20 20 f2 41 73 73  65 6d 62 6c 65 5f 53 68  |2.  .Assemble_Sh|
00000060  65 6c 6c 0d 00 3c 1a 20  20 46 69 6c 65 4e 61 6d  |ell..<.  FileNam|
00000070  65 24 3d 53 68 65 6c 6c  5f 45 6e 76 24 0d 00 46  |e$=Shell_Env$..F|
00000080  05 cc 0d 00 50 12 20 20  46 69 6c 65 4e 61 6d 65  |....P.  FileName|
00000090  24 3d 22 22 0d 00 5a 05  cd 0d 00 64 04 0d 00 6e  |$=""..Z....d...n|
000000a0  14 e7 20 46 69 6c 65 4e  61 6d 65 24 3d 22 22 20  |.. FileName$="" |
000000b0  8c 0d 00 78 04 0d 00 82  4d de 20 62 75 66 66 65  |...x....M. buffe|
000000c0  72 73 25 20 32 35 35 2c  76 61 6c 69 64 62 75 66  |rs% 255,validbuf|
000000d0  66 65 72 25 20 33 32 2c  71 25 20 32 35 35 2c 74  |fer% 32,q% 255,t|
000000e0  61 73 6b 69 64 25 20 34  2c 6d 65 6e 75 25 20 32  |askid% 4,menu% 2|
000000f0  35 35 2c 74 65 78 74 62  75 66 66 65 72 25 20 36  |55,textbuffer% 6|
00000100  34 30 0d 00 8c 0d e0 3d  e0 2b 26 31 30 30 30 0d  |40.....=.+&1000.|
00000110  00 96 12 69 63 6f 6e 68  61 6e 64 6c 65 25 3d 2d  |...iconhandle%=-|
00000120  31 0d 00 a0 1a 24 76 61  6c 69 64 62 75 66 66 65  |1....$validbuffe|
00000130  72 25 3d 22 53 21 76 69  65 77 22 0d 00 aa 13 24  |r%="S!view"....$|
00000140  74 61 73 6b 69 64 25 3d  22 54 41 53 4b 22 0d 00  |taskid%="TASK"..|
00000150  b4 3a c8 99 20 22 57 69  6d 70 5f 49 6e 69 74 69  |.:.. "Wimp_Initi|
00000160  61 6c 69 73 65 22 2c 32  30 30 2c 21 74 61 73 6b  |alise",200,!task|
00000170  69 64 25 2c 22 56 69 65  77 22 20 b8 20 2c 6f 75  |id%,"View" . ,ou|
00000180  72 68 61 6e 64 6c 65 25  0d 00 be 11 ee 20 85 20  |rhandle%..... . |
00000190  f2 65 72 72 6f 72 62 6f  78 0d 00 c8 11 f2 6d 61  |.errorbox.....ma|
000001a0  6b 65 69 63 6f 6e 28 71  25 29 0d 00 d2 04 0d 00  |keicon(q%)......|
000001b0  dc 05 f5 0d 00 e6 41 20  20 c8 99 20 22 57 69 6d  |......A  .. "Wim|
000001c0  70 5f 50 6f 6c 6c 22 2c  ac 28 28 33 3c 3c 31 37  |p_Poll",.((3<<17|
000001d0  29 84 28 31 3c 3c 39 29  84 28 31 3c 3c 38 29 84  |).(1<<9).(1<<8).|
000001e0  28 31 3c 3c 36 29 29 2c  71 25 20 b8 20 72 65 61  |(1<<6)),q% . rea|
000001f0  73 6f 6e 25 0d 00 f0 12  20 20 c8 8e 20 72 65 61  |son%....  .. rea|
00000200  73 6f 6e 25 20 ca 0d 00  fa 1c 20 20 20 20 c9 20  |son% .....    . |
00000210  36 3a f2 6d 6f 75 73 65  62 75 74 74 6f 6e 28 71  |6:.mousebutton(q|
00000220  25 29 0d 01 04 1b 20 20  20 20 c9 20 39 3a f2 6d  |%)....    . 9:.m|
00000230  65 6e 75 73 65 6c 65 63  74 28 71 25 29 0d 01 0e  |enuselect(q%)...|
00000240  1c 20 20 20 20 c9 20 31  37 2c 31 38 3a f2 6d 65  |.    . 17,18:.me|
00000250  73 73 61 67 65 28 71 25  29 0d 01 18 07 20 20 cb  |ssage(q%)....  .|
00000260  0d 01 22 06 fd 30 0d 01  2c 04 0d 01 36 05 cc 0d  |.."..0..,...6...|
00000270  01 40 10 20 20 f2 50 61  72 73 65 4e 61 6d 65 0d  |.@.  .ParseName.|
00000280  01 4a 27 20 20 ff 20 22  3c 76 69 65 77 24 64 69  |.J'  . "<view$di|
00000290  72 3e 2e 53 65 74 55 70  20 22 20 2b 20 4c 65 61  |r>.SetUp " + Lea|
000002a0  66 4e 61 6d 65 24 0d 01  54 05 cd 0d 01 5e 05 e0  |fName$..T....^..|
000002b0  0d 01 68 04 0d 01 72 04  0d 01 7c 11 dd f2 6d 65  |..h...r...|...me|
000002c0  73 73 61 67 65 28 71 25  29 0d 01 86 10 20 20 c8  |ssage(q%)....  .|
000002d0  8e 20 71 25 21 31 36 20  ca 0d 01 90 10 20 20 20  |. q%!16 .....   |
000002e0  20 c9 20 30 3a f2 65 6e  64 0d 01 9a 15 20 20 20  | . 0:.end....   |
000002f0  20 c9 20 33 3a f2 6c 6f  61 64 74 61 73 6b 0d 01  | . 3:.loadtask..|
00000300  a4 15 20 20 20 20 c9 20  35 3a f2 6f 70 65 6e 74  |..    . 5:.opent|
00000310  61 73 6b 0d 01 ae 07 20  20 cb 0d 01 b8 05 e1 0d  |ask....  .......|
00000320  01 c2 04 0d 01 cc 04 0d  01 d6 04 0d 01 e0 0e dd  |................|
00000330  f2 6c 6f 61 64 74 61 73  6b 0d 01 ea 12 20 20 e7  |.loadtask....  .|
00000340  20 71 25 21 32 30 3d 2d  32 20 8c 0d 01 f4 1d 20  | q%!20=-2 ..... |
00000350  20 20 20 e7 20 69 63 6f  6e 68 61 6e 64 6c 65 25  |   . iconhandle%|
00000360  3d 71 25 21 32 34 20 8c  0d 01 fe 11 20 20 20 20  |=q%!24 .....    |
00000370  20 20 71 25 21 31 36 3d  34 0d 02 08 14 20 20 20  |  q%!16=4....   |
00000380  20 20 20 71 25 21 31 32  3d 71 25 21 38 0d 02 12  |   q%!12=q%!8...|
00000390  2a 20 20 20 20 20 20 c8  99 20 22 57 69 6d 70 5f  |*      .. "Wimp_|
000003a0  53 65 6e 64 4d 65 73 73  61 67 65 22 2c 31 37 2c  |SendMessage",17,|
000003b0  71 25 2c 71 25 21 34 0d  02 1c 22 20 20 20 20 20  |q%,q%!4..."     |
000003c0  20 46 69 6c 65 4e 61 6d  65 24 3d a4 67 65 74 73  | FileName$=.gets|
000003d0  74 72 28 71 25 2b 34 34  29 0d 02 26 14 20 20 20  |tr(q%+44)..&.   |
000003e0  20 20 20 f2 50 61 72 73  65 4e 61 6d 65 0d 02 30  |   .ParseName..0|
000003f0  3e 20 20 20 20 20 20 c8  99 20 22 57 69 6d 70 5f  |>      .. "Wimp_|
00000400  53 74 61 72 74 54 61 73  6b 22 2c 22 20 3c 76 69  |StartTask"," <vi|
00000410  65 77 24 64 69 72 3e 2e  53 65 74 55 70 20 22 20  |ew$dir>.SetUp " |
00000420  2b 20 4c 65 61 66 4e 61  6d 65 24 0d 02 3a 09 20  |+ LeafName$..:. |
00000430  20 20 20 cd 0d 02 44 07  20 20 cd 0d 02 4e 05 e1  |   ...D.  ...N..|
00000440  0d 02 58 04 0d 02 62 04  0d 02 6c 04 0d 02 76 0e  |..X...b...l...v.|
00000450  dd f2 6f 70 65 6e 74 61  73 6b 0d 02 80 14 20 20  |..opentask....  |
00000460  e7 20 71 25 21 34 30 3d  26 31 32 33 20 8c 0d 02  |. q%!40=&123 ...|
00000470  8a 0f 20 20 20 20 71 25  21 31 36 3d 34 0d 02 94  |..    q%!16=4...|
00000480  12 20 20 20 20 71 25 21  31 32 3d 71 25 21 38 0d  |.    q%!12=q%!8.|
00000490  02 9e 28 20 20 20 20 c8  99 20 22 57 69 6d 70 5f  |..(    .. "Wimp_|
000004a0  53 65 6e 64 4d 65 73 73  61 67 65 22 2c 31 37 2c  |SendMessage",17,|
000004b0  71 25 2c 71 25 21 34 0d  02 a8 20 20 20 20 20 46  |q%,q%!4...     F|
000004c0  69 6c 65 4e 61 6d 65 24  3d a4 67 65 74 73 74 72  |ileName$=.getstr|
000004d0  28 71 25 2b 34 34 29 0d  02 b2 12 20 20 20 20 f2  |(q%+44)....    .|
000004e0  50 61 72 73 65 4e 61 6d  65 0d 02 bc 3c 20 20 20  |ParseName...<   |
000004f0  20 c8 99 20 22 57 69 6d  70 5f 53 74 61 72 74 54  | .. "Wimp_StartT|
00000500  61 73 6b 22 2c 22 20 3c  76 69 65 77 24 64 69 72  |ask"," <view$dir|
00000510  3e 2e 53 65 74 55 70 20  22 20 2b 20 4c 65 61 66  |>.SetUp " + Leaf|
00000520  4e 61 6d 65 24 0d 02 c6  07 20 20 cd 0d 02 d0 05  |Name$....  .....|
00000530  e1 0d 02 da 04 0d 02 e4  04 0d 02 ee 04 0d 02 f8  |................|
00000540  0f dd f2 50 61 72 73 65  4e 61 6d 65 0d 03 02 12  |...ParseName....|
00000550  20 20 4c 65 61 66 4e 61  6d 65 24 3d 22 22 0d 03  |  LeafName$=""..|
00000560  0c 12 20 20 50 61 74 68  4e 61 6d 65 24 3d 22 22  |..  PathName$=""|
00000570  0d 03 16 0c 20 20 50 6f  73 25 3d 31 0d 03 20 07  |....  Pos%=1.. .|
00000580  20 20 f5 0d 03 2a 22 20  20 20 20 4c 65 61 66 4e  |  ...*"    LeafN|
00000590  61 6d 65 24 3d c2 46 69  6c 65 4e 61 6d 65 24 2c  |ame$=.FileName$,|
000005a0  50 6f 73 25 29 0d 03 34  0f 20 20 20 20 50 6f 73  |Pos%)..4.    Pos|
000005b0  25 2b 3d 31 0d 03 3e 19  20 20 fd 20 c0 4c 65 61  |%+=1..>.  . .Lea|
000005c0  66 4e 61 6d 65 24 2c 31  29 3d 22 2e 22 0d 03 48  |fName$,1)="."..H|
000005d0  22 20 20 4c 65 61 66 4e  61 6d 65 24 3d c2 46 69  |"  LeafName$=.Fi|
000005e0  6c 65 4e 61 6d 65 24 2c  50 6f 73 25 2d 32 29 0d  |leName$,Pos%-2).|
000005f0  03 52 2f 20 20 50 61 74  68 4e 61 6d 65 24 3d c0  |.R/  PathName$=.|
00000600  46 69 6c 65 4e 61 6d 65  24 2c a9 28 46 69 6c 65  |FileName$,.(File|
00000610  4e 61 6d 65 24 29 2d 50  6f 73 25 2b 31 29 0d 03  |Name$)-Pos%+1)..|
00000620  5c 19 20 20 ff 20 22 25  44 49 52 20 22 2b 50 61  |\.  . "%DIR "+Pa|
00000630  74 68 4e 61 6d 65 24 0d  03 66 05 e1 0d 03 70 04  |thName$..f....p.|
00000640  0d 03 7a 04 0d 03 84 04  0d 03 8e 12 dd f2 6d 61  |..z...........ma|
00000650  6b 65 69 63 6f 6e 28 71  25 29 0d 03 98 1b 20 20  |keicon(q%)....  |
00000660  24 28 74 65 78 74 62 75  66 66 65 72 25 29 3d 22  |$(textbuffer%)="|
00000670  76 69 65 77 22 0d 03 a2  0d 20 20 71 25 21 30 3d  |view"....  q%!0=|
00000680  2d 31 0d 03 ac 0c 20 20  71 25 21 34 3d 30 0d 03  |-1....  q%!4=0..|
00000690  b6 0e 20 20 71 25 21 38  3d 2d 31 36 0d 03 c0 0f  |..  q%!8=-16....|
000006a0  20 20 71 25 21 31 32 3d  31 30 30 0d 03 ca 0e 20  |  q%!12=100.... |
000006b0  20 71 25 21 31 36 3d 38  38 0d 03 d4 48 20 20 71  | q%!16=88...H  q|
000006c0  25 21 32 30 3d 28 31 20  3c 3c 20 32 38 29 84 28  |%!20=(1 << 28).(|
000006d0  37 20 3c 3c 20 32 34 29  84 28 33 20 3c 3c 20 31  |7 << 24).(3 << 1|
000006e0  32 29 84 28 31 20 3c 3c  20 38 29 84 28 31 20 3c  |2).(1 << 8).(1 <|
000006f0  3c 20 35 29 84 28 31 20  3c 3c 20 33 29 84 28 33  |< 5).(1 << 3).(3|
00000700  29 0d 03 de 17 20 20 71  25 21 32 34 3d 74 65 78  |)....  q%!24=tex|
00000710  74 62 75 66 66 65 72 25  0d 03 e8 18 20 20 71 25  |tbuffer%....  q%|
00000720  21 32 38 3d 76 61 6c 69  64 62 75 66 66 65 72 25  |!28=validbuffer%|
00000730  0d 03 f2 0e 20 20 71 25  21 33 32 3d 36 34 0d 03  |....  q%!32=64..|
00000740  fc 2c 20 20 c8 99 20 22  57 69 6d 70 5f 43 72 65  |.,  .. "Wimp_Cre|
00000750  61 74 65 49 63 6f 6e 22  2c 2c 71 25 20 b8 20 69  |ateIcon",,q% . i|
00000760  63 6f 6e 68 61 6e 64 6c  65 25 0d 04 06 05 e1 0d  |conhandle%......|
00000770  04 10 04 0d 04 1a 04 0d  04 24 04 0d 04 2e 10 dd  |.........$......|
00000780  a4 67 65 74 73 74 72 28  61 25 29 0d 04 38 0a 20  |.getstr(a%)..8. |
00000790  20 ea 20 61 24 0d 04 42  1d 20 20 c8 95 20 3f 61  | . a$..B.  .. ?a|
000007a0  25 20 61 24 2b 3d bd 3f  61 25 3a 61 25 2b 3d 31  |% a$+=.?a%:a%+=1|
000007b0  3a ce 0d 04 4c 07 3d 61  24 0d 04 56 04 0d 04 60  |:...L.=a$..V...`|
000007c0  04 0d 04 6a 0f dd 20 f2  65 72 72 6f 72 62 6f 78  |...j.. .errorbox|
000007d0  0d 04 74 1b 20 20 c8 99  20 22 57 69 6d 70 5f 44  |..t.  .. "Wimp_D|
000007e0  72 61 67 42 6f 78 22 2c  2c 2d 31 0d 04 7e 34 20  |ragBox",,-1..~4 |
000007f0  20 21 62 75 66 66 65 72  73 25 3d 9f 3a 24 28 62  | !buffers%=.:$(b|
00000800  75 66 66 65 72 73 25 2b  34 29 3d f6 24 2b 22 20  |uffers%+4)=.$+" |
00000810  61 74 20 6c 69 6e 65 20  22 2b c3 9e 2b bd 30 0d  |at line "+..+.0.|
00000820  04 88 2d 20 20 c8 99 20  22 57 69 6d 70 5f 52 65  |..-  .. "Wimp_Re|
00000830  70 6f 72 74 45 72 72 6f  72 22 2c 62 75 66 66 65  |portError",buffe|
00000840  72 73 25 2c 31 2c 22 56  69 65 77 22 0d 04 92 0a  |rs%,1,"View"....|
00000850  20 20 f2 65 6e 64 0d 04  9c 05 e1 0d 04 a6 04 0d  |  .end..........|
00000860  04 b0 04 0d 04 ba 04 0d  04 c4 0e dd f2 6d 61 6b  |.............mak|
00000870  65 6d 65 6e 75 0d 04 ce  13 20 20 24 6d 65 6e 75  |emenu....  $menu|
00000880  25 3d 22 56 69 65 77 22  0d 04 d8 10 20 20 6d 65  |%="View"....  me|
00000890  6e 75 25 3f 31 32 3d 37  0d 04 e2 10 20 20 6d 65  |nu%?12=7....  me|
000008a0  6e 75 25 3f 31 33 3d 32  0d 04 ec 10 20 20 6d 65  |nu%?13=2....  me|
000008b0  6e 75 25 3f 31 34 3d 37  0d 04 f6 10 20 20 6d 65  |nu%?14=7....  me|
000008c0  6e 75 25 3f 31 35 3d 30  0d 05 00 12 20 20 6d 65  |nu%?15=0....  me|
000008d0  6e 75 25 21 31 36 3d 31  30 30 0d 05 0a 11 20 20  |nu%!16=100....  |
000008e0  6d 65 6e 75 25 21 32 30  3d 34 30 0d 05 14 10 20  |menu%!20=40.... |
000008f0  20 6d 65 6e 75 25 21 32  34 3d 30 0d 05 1e 11 20  | menu%!24=0.... |
00000900  20 6d 25 3d 6d 65 6e 75  25 2b 32 38 0d 05 28 0e  | m%=menu%+28..(.|
00000910  20 20 6d 25 21 30 3d 26  38 30 0d 05 32 0d 20 20  |  m%!0=&80..2.  |
00000920  6d 25 21 34 3d 2d 31 0d  05 3c 16 20 20 6d 25 21  |m%!4=-1..<.  m%!|
00000930  38 3d 28 37 3c 3c 32 34  29 84 28 31 29 0d 05 46  |8=(7<<24).(1)..F|
00000940  16 20 20 24 28 6d 25 2b  31 32 29 3d 22 20 51 75  |.  $(m%+12)=" Qu|
00000950  69 74 22 0d 05 50 0c 20  20 6d 25 2b 3d 32 34 0d  |it"..P.  m%+=24.|
00000960  05 5a 13 20 20 24 6d 25  3d 22 43 6f 6d 6d 61 6e  |.Z.  $m%="Comman|
00000970  64 22 0d 05 64 0d 20 20  6d 25 3f 31 32 3d 37 0d  |d"..d.  m%?12=7.|
00000980  05 6e 0d 20 20 6d 25 3f  31 33 3d 32 0d 05 78 0d  |.n.  m%?13=2..x.|
00000990  20 20 6d 25 3f 31 34 3d  37 0d 05 82 0d 20 20 6d  |  m%?14=7....  m|
000009a0  25 3f 31 35 3d 30 0d 05  8c 0f 20 20 6d 25 21 31  |%?15=0....  m%!1|
000009b0  36 3d 31 36 30 0d 05 96  0e 20 20 6d 25 21 32 30  |6=160....  m%!20|
000009c0  3d 34 30 0d 05 a0 0d 20  20 6d 25 21 32 34 3d 30  |=40....  m%!24=0|
000009d0  0d 05 aa 0c 20 20 6d 25  2b 3d 32 38 0d 05 b4 0e  |....  m%+=28....|
000009e0  20 20 6d 25 21 30 3d 26  38 34 0d 05 be 0d 20 20  |  m%!0=&84....  |
000009f0  6d 25 21 34 3d 2d 31 0d  05 c8 1d 20 20 6d 25 21  |m%!4=-1....  m%!|
00000a00  38 3d 28 37 3c 3c 32 34  29 84 28 31 3c 3c 38 29  |8=(7<<24).(1<<8)|
00000a10  84 28 31 29 0d 05 d2 14  20 20 6d 25 21 31 32 3d  |.(1)....  m%!12=|
00000a20  62 75 66 66 65 72 73 25  0d 05 dc 0e 20 20 6d 25  |buffers%....  m%|
00000a30  21 31 36 3d 2d 31 0d 05  e6 0e 20 20 6d 25 21 32  |!16=-1....  m%!2|
00000a40  30 3d 36 34 0d 05 f0 1e  20 20 24 62 75 66 66 65  |0=64....  $buffe|
00000a50  72 73 25 3d 24 28 74 65  78 74 62 75 66 66 65 72  |rs%=$(textbuffer|
00000a60  25 29 0d 05 fa 05 e1 0d  06 04 04 0d 06 0e 04 0d  |%)..............|
00000a70  06 18 04 0d 06 22 15 dd  f2 6d 6f 75 73 65 62 75  |....."...mousebu|
00000a80  74 74 6f 6e 28 71 25 29  0d 06 2c 0c 20 20 ea 20  |tton(q%)..,.  . |
00000a90  67 6f 74 25 0d 06 36 0d  20 20 67 6f 74 25 3d 2d  |got%..6.  got%=-|
00000aa0  31 0d 06 40 12 20 20 e7  20 71 25 21 31 32 3d 2d  |1..@.  . q%!12=-|
00000ab0  32 20 8c 0d 06 4a 22 20  20 20 20 e7 20 69 63 6f  |2 ...J"    . ico|
00000ac0  6e 68 61 6e 64 6c 65 25  3d 71 25 21 31 36 20 67  |nhandle%=q%!16 g|
00000ad0  6f 74 25 3d 30 0d 06 54  14 20 20 20 20 e7 20 67  |ot%=0..T.    . g|
00000ae0  6f 74 25 3c 3e 2d 31 20  8c 0d 06 5e 13 20 20 20  |ot%<>-1 ...^.   |
00000af0  20 20 20 c8 8e 20 71 25  21 38 20 ca 0d 06 68 1c  |   .. q%!8 ...h.|
00000b00  20 20 20 20 20 20 20 20  c9 20 32 3a 20 20 20 f2  |        . 2:   .|
00000b10  6d 61 6b 65 6d 65 6e 75  0d 06 72 3f 20 20 20 20  |makemenu..r?    |
00000b20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 c8 99  |              ..|
00000b30  20 22 57 69 6d 70 5f 43  72 65 61 74 65 4d 65 6e  | "Wimp_CreateMen|
00000b40  75 22 2c 2c 6d 65 6e 75  25 2c 28 71 25 21 30 29  |u",,menu%,(q%!0)|
00000b50  2d 36 34 2c 31 34 30 0d  06 7c 3a 20 20 20 20 20  |-64,140..|:     |
00000b60  20 20 20 c9 20 31 2c 34  3a 20 c8 99 20 22 57 69  |   . 1,4: .. "Wi|
00000b70  6d 70 5f 53 74 61 72 74  54 61 73 6b 22 2c 22 20  |mp_StartTask"," |
00000b80  3c 76 69 65 77 24 64 69  72 3e 2e 53 65 74 55 70  |<view$dir>.SetUp|
00000b90  22 0d 06 86 0b 20 20 20  20 20 20 cb 0d 06 90 09  |"....      .....|
00000ba0  20 20 20 20 cd 0d 06 9a  07 20 20 cd 0d 06 a4 05  |    .....  .....|
00000bb0  e1 0d 06 ae 04 0d 06 b8  04 0d 06 c2 04 0d 06 cc  |................|
00000bc0  14 dd f2 6d 65 6e 75 73  65 6c 65 63 74 28 71 25  |...menuselect(q%|
00000bd0  29 0d 06 d6 0f 20 20 c8  8e 20 71 25 21 30 20 ca  |)....  .. q%!0 .|
00000be0  0d 06 e0 3e 20 20 20 20  c9 20 30 3a 20 71 25 21  |...>    . 0: q%!|
00000bf0  30 3d 2d 32 3a 71 25 21  34 3d 69 63 6f 6e 68 61  |0=-2:q%!4=iconha|
00000c00  6e 64 6c 65 25 3a c8 99  20 22 57 69 6d 70 5f 44  |ndle%:.. "Wimp_D|
00000c10  65 6c 65 74 65 49 63 6f  6e 22 2c 2c 71 25 0d 06  |eleteIcon",,q%..|
00000c20  ea 1e 20 20 20 20 20 20  20 20 20 20 20 20 69 63  |..            ic|
00000c30  6f 6e 68 61 6e 64 6c 65  25 3d 2d 31 0d 06 f4 14  |onhandle%=-1....|
00000c40  20 20 20 20 20 20 20 20  20 20 20 20 f2 65 6e 64  |            .end|
00000c50  0d 06 fe 07 20 20 cb 0d  07 08 05 e1 0d 07 12 04  |....  ..........|
00000c60  0d 07 1c 04 0d 07 26 04  0d 07 30 09 dd f2 65 6e  |......&...0...en|
00000c70  64 0d 07 3a 2e 20 20 c8  99 22 57 69 6d 70 5f 43  |d..:.  .."Wimp_C|
00000c80  6c 6f 73 65 44 6f 77 6e  22 2c 6f 75 72 68 61 6e  |loseDown",ourhan|
00000c90  64 6c 65 25 2c 21 74 61  73 6b 69 64 25 3a e0 0d  |dle%,!taskid%:..|
00000ca0  07 44 05 e1 0d ff                                 |.D....|
00000ca6