Home » Archimedes archive » Acorn User » AU 1993-06.adf » !Render_Render » !Compile/!RunImage

!Compile/!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 » Acorn User » AU 1993-06.adf » !Render_Render
Filename: !Compile/!RunImage
Read OK:
File size: 09FA bytes
Load address: 0000
Exec address: 0000
File contents
   10REM     >!RunImage
   20REM By  Mark Moxon
   30REM For 32-bit machines
   40REM (c) BAU April 1993
   50:
   60version$="1.00 (13 Apr 1993)"
   70dir$="<Compile$Dir>"
   80LIBRARY dir$+".WimpLib"
   90:
  100PROCsetup
  110PROCtemplates(dir$+".Templates")
  120bar%=FNicon_bar(block%,"!compile")
  130:
  140bmenu_length%=2
  150PROCcreate_menu(bmenu%,width%,end%,"Compile")
  160PROCmenu_item(bmenu%,width%,end%,"Info",0,0,0,0,0,info%)
  170PROCmenu_item(bmenu%,width%,end%,"Quit",0,0,0,0,1,-1)
  180:
  190REPEAT
  200 PROCpoll
  210UNTIL quit%
  220:
  230$block%="TASK"
  240SYS "Wimp_CloseDown",task%,!block%
  250END
  260:
  270:
  280DEF PROCsetup
  290ON ERROR IF FNwimperror(block%,ERR,REPORT$+" (internal error code "+STR$(ERL)+")",task_name$,0,1)=2 THEN SYS "Wimp_CloseDown":END
  300quit%=FALSE       : REM True if application is to be quit
  310DIM block%  &1000 : REM Block returned by Wimp_Poll
  320DIM bmenu%  &200  : REM Main icon bar menu
  330DIM spname% 20    : REM Buffer for sprite name of changeable icon on bar
  340DIM ind1%   500   : REM Workspace for Info indirected icons
  350DIM decode% &100  : REM Block to decode menu choices into
  360state%=0          : REM State of the icon bar icon
  370task_name$="Compile"
  380info1$=task_name$
  390info2$="Compiler Front End"
  400info3$="Robin Barnes & Mark Moxon"
  410info4$=version$
  420$block%="TASK"
  430SYS "Wimp_Initialise",200,!block%,task_name$ TO version%,task%
  440ENDPROC
  450:
  460:
  470DEF PROCtemplates(file$)
  480DIM tempname% 11
  490SYS "Wimp_OpenTemplate",,file$
  500$tempname%="progInfo"
  510SYS "Wimp_LoadTemplate",,block%,ind1%,ind1%+499,-1,tempname%,0
  520SYS "Wimp_CreateWindow",,block% TO info%
  530!block%=info%
  540block%!4=1:SYS "Wimp_GetIconState",,block%:$(block%!28)=info1$
  550block%!4=2:SYS "Wimp_GetIconState",,block%:$(block%!28)=info2$
  560block%!4=3:SYS "Wimp_GetIconState",,block%:$(block%!28)=info3$
  570block%!4=4:SYS "Wimp_GetIconState",,block%:$(block%!28)=info4$
  580SYS "Wimp_CloseTemplate"
  590ENDPROC
  600:
  610:
  620DEF PROCpoll
  630SYS "Wimp_Poll",,block% TO reason%
  640CASE reason% OF
  650 WHEN 2 : SYS "Wimp_OpenWindow",,block%
  660 WHEN 3 : SYS "Wimp_CloseWindow",,block%
  670 WHEN 6 : PROCmouse_click
  680 WHEN 9 : PROCmenu_selection
  690 WHEN 17,18 : PROCuser_message
  700ENDCASE
  710ENDPROC
  720:
  730:
  740DEF PROCmouse_click
  750IF block%!12=-2 THEN
  760 IF block%!8=2 THEN
  770  PROCdisplay_bar_menu(bmenu%,bmenu_length%,!block%)
  780 ENDIF
  790ENDIF
  800ENDPROC
  810:
  820:
  830DEF PROCmenu_selection
  840IF !block%=1 THEN quit%=TRUE
  850ENDPROC
  860:
  870:
  880DEF PROCuser_message
  890CASE block%!16 OF
  900 WHEN 0 : quit%=TRUE
  910 WHEN 3 : IF block%!40<>&1000 AND block%!40<>&2000 THEN PROCcompile(FNzero_string(block%+44))
  920ENDCASE
  930ENDPROC
  940:
  950:
  960DEF PROCcompile(file$)
  970filedir$=FNbranch(FNbranch(file$))
  980OSCLI("Dir "+filedir$)
  990SYS "Wimp_StartTask","Run <Compile$Dir>.Compile "+FNleaf(file$)
 1000ENDPROC

�     >!RunImage
� By  Mark Moxon
� For 32-bit machines
(� (c) BAU April 1993
2:
<!version$="1.00 (13 Apr 1993)"
Fdir$="<Compile$Dir>"
Pț dir$+".WimpLib"
Z:
d
�setup
n!�templates(dir$+".Templates")
x%bar%=�icon_bar(block%,"!compile")
�:
�bmenu_length%=2
�.�create_menu(bmenu%,width%,end%,"Compile")
�9�menu_item(bmenu%,width%,end%,"Info",0,0,0,0,0,info%)
�6�menu_item(bmenu%,width%,end%,"Quit",0,0,0,0,1,-1)
�:
��
�
 �poll
�� quit%
�:
�$block%="TASK"
�%ș "Wimp_CloseDown",task%,!block%
��
:
:
� �setup
"l� � � �wimperror(block%,�,�$+" (internal error code "+�(�)+")",task_name$,0,1)=2 � ș "Wimp_CloseDown":�
,7quit%=�       : � True if application is to be quit
63� block%  &1000 : � Block returned by Wimp_Poll
@*� bmenu%  &200  : � Main icon bar menu
JH� spname% 20    : � Buffer for sprite name of changeable icon on bar
T;� ind1%   500   : � Workspace for Info indirected icons
^9� decode% &100  : � Block to decode menu choices into
h4state%=0          : � State of the icon bar icon
rtask_name$="Compile"
|info1$=task_name$
�info2$="Compiler Front End"
�&info3$="Robin Barnes & Mark Moxon"
�info4$=version$
�$block%="TASK"
�@ș "Wimp_Initialise",200,!block%,task_name$ � version%,task%
��
�:
�:
�� �templates(file$)
�� tempname% 11
�!ș "Wimp_OpenTemplate",,file$
�$tempname%="progInfo"
�Aș "Wimp_LoadTemplate",,block%,ind1%,ind1%+499,-1,tempname%,0
*ș "Wimp_CreateWindow",,block% � info%
!block%=info%
Ablock%!4=1:ș "Wimp_GetIconState",,block%:$(block%!28)=info1$
&Ablock%!4=2:ș "Wimp_GetIconState",,block%:$(block%!28)=info2$
0Ablock%!4=3:ș "Wimp_GetIconState",,block%:$(block%!28)=info3$
:Ablock%!4=4:ș "Wimp_GetIconState",,block%:$(block%!28)=info4$
Dș "Wimp_CloseTemplate"
N�
X:
b:
l� �poll
v$ș "Wimp_Poll",,block% � reason%
�Ȏ reason% �
�' � 2 : ș "Wimp_OpenWindow",,block%
�( � 3 : ș "Wimp_CloseWindow",,block%
� � 6 : �mouse_click
� � 9 : �menu_selection
� � 17,18 : �user_message
��
��
�:
�:
�� �mouse_click
�� block%!12=-2 �
� � block%!8=2 �
5  �display_bar_menu(bmenu%,bmenu_length%,!block%)
 �
�
 �
*:
4:
>� �menu_selection
H� !block%=1 � quit%=�
R�
\:
f:
p� �user_message
zȎ block%!16 �
� � 0 : quit%=�
�T � 3 : � block%!40<>&1000 � block%!40<>&2000 � �compile(�zero_string(block%+44))
��
��
�:
�:
�� �compile(file$)
�$filedir$=�branch(�branch(file$))
��("Dir "+filedir$)
�Aș "Wimp_StartTask","Run <Compile$Dir>.Compile "+�leaf(file$)
��
�
00000000  0d 00 0a 14 f4 20 20 20  20 20 3e 21 52 75 6e 49  |.....     >!RunI|
00000010  6d 61 67 65 0d 00 14 14  f4 20 42 79 20 20 4d 61  |mage..... By  Ma|
00000020  72 6b 20 4d 6f 78 6f 6e  0d 00 1e 19 f4 20 46 6f  |rk Moxon..... Fo|
00000030  72 20 33 32 2d 62 69 74  20 6d 61 63 68 69 6e 65  |r 32-bit machine|
00000040  73 0d 00 28 18 f4 20 28  63 29 20 42 41 55 20 41  |s..(.. (c) BAU A|
00000050  70 72 69 6c 20 31 39 39  33 0d 00 32 05 3a 0d 00  |pril 1993..2.:..|
00000060  3c 21 76 65 72 73 69 6f  6e 24 3d 22 31 2e 30 30  |<!version$="1.00|
00000070  20 28 31 33 20 41 70 72  20 31 39 39 33 29 22 0d  | (13 Apr 1993)".|
00000080  00 46 18 64 69 72 24 3d  22 3c 43 6f 6d 70 69 6c  |.F.dir$="<Compil|
00000090  65 24 44 69 72 3e 22 0d  00 50 16 c8 9b 20 64 69  |e$Dir>"..P... di|
000000a0  72 24 2b 22 2e 57 69 6d  70 4c 69 62 22 0d 00 5a  |r$+".WimpLib"..Z|
000000b0  05 3a 0d 00 64 0a f2 73  65 74 75 70 0d 00 6e 21  |.:..d..setup..n!|
000000c0  f2 74 65 6d 70 6c 61 74  65 73 28 64 69 72 24 2b  |.templates(dir$+|
000000d0  22 2e 54 65 6d 70 6c 61  74 65 73 22 29 0d 00 78  |".Templates")..x|
000000e0  25 62 61 72 25 3d a4 69  63 6f 6e 5f 62 61 72 28  |%bar%=.icon_bar(|
000000f0  62 6c 6f 63 6b 25 2c 22  21 63 6f 6d 70 69 6c 65  |block%,"!compile|
00000100  22 29 0d 00 82 05 3a 0d  00 8c 13 62 6d 65 6e 75  |")....:....bmenu|
00000110  5f 6c 65 6e 67 74 68 25  3d 32 0d 00 96 2e f2 63  |_length%=2.....c|
00000120  72 65 61 74 65 5f 6d 65  6e 75 28 62 6d 65 6e 75  |reate_menu(bmenu|
00000130  25 2c 77 69 64 74 68 25  2c 65 6e 64 25 2c 22 43  |%,width%,end%,"C|
00000140  6f 6d 70 69 6c 65 22 29  0d 00 a0 39 f2 6d 65 6e  |ompile")...9.men|
00000150  75 5f 69 74 65 6d 28 62  6d 65 6e 75 25 2c 77 69  |u_item(bmenu%,wi|
00000160  64 74 68 25 2c 65 6e 64  25 2c 22 49 6e 66 6f 22  |dth%,end%,"Info"|
00000170  2c 30 2c 30 2c 30 2c 30  2c 30 2c 69 6e 66 6f 25  |,0,0,0,0,0,info%|
00000180  29 0d 00 aa 36 f2 6d 65  6e 75 5f 69 74 65 6d 28  |)...6.menu_item(|
00000190  62 6d 65 6e 75 25 2c 77  69 64 74 68 25 2c 65 6e  |bmenu%,width%,en|
000001a0  64 25 2c 22 51 75 69 74  22 2c 30 2c 30 2c 30 2c  |d%,"Quit",0,0,0,|
000001b0  30 2c 31 2c 2d 31 29 0d  00 b4 05 3a 0d 00 be 05  |0,1,-1)....:....|
000001c0  f5 0d 00 c8 0a 20 f2 70  6f 6c 6c 0d 00 d2 0b fd  |..... .poll.....|
000001d0  20 71 75 69 74 25 0d 00  dc 05 3a 0d 00 e6 12 24  | quit%....:....$|
000001e0  62 6c 6f 63 6b 25 3d 22  54 41 53 4b 22 0d 00 f0  |block%="TASK"...|
000001f0  25 c8 99 20 22 57 69 6d  70 5f 43 6c 6f 73 65 44  |%.. "Wimp_CloseD|
00000200  6f 77 6e 22 2c 74 61 73  6b 25 2c 21 62 6c 6f 63  |own",task%,!bloc|
00000210  6b 25 0d 00 fa 05 e0 0d  01 04 05 3a 0d 01 0e 05  |k%.........:....|
00000220  3a 0d 01 18 0c dd 20 f2  73 65 74 75 70 0d 01 22  |:..... .setup.."|
00000230  6c ee 20 85 20 e7 20 a4  77 69 6d 70 65 72 72 6f  |l. . . .wimperro|
00000240  72 28 62 6c 6f 63 6b 25  2c 9f 2c f6 24 2b 22 20  |r(block%,.,.$+" |
00000250  28 69 6e 74 65 72 6e 61  6c 20 65 72 72 6f 72 20  |(internal error |
00000260  63 6f 64 65 20 22 2b c3  28 9e 29 2b 22 29 22 2c  |code "+.(.)+")",|
00000270  74 61 73 6b 5f 6e 61 6d  65 24 2c 30 2c 31 29 3d  |task_name$,0,1)=|
00000280  32 20 8c 20 c8 99 20 22  57 69 6d 70 5f 43 6c 6f  |2 . .. "Wimp_Clo|
00000290  73 65 44 6f 77 6e 22 3a  e0 0d 01 2c 37 71 75 69  |seDown":...,7qui|
000002a0  74 25 3d a3 20 20 20 20  20 20 20 3a 20 f4 20 54  |t%=.       : . T|
000002b0  72 75 65 20 69 66 20 61  70 70 6c 69 63 61 74 69  |rue if applicati|
000002c0  6f 6e 20 69 73 20 74 6f  20 62 65 20 71 75 69 74  |on is to be quit|
000002d0  0d 01 36 33 de 20 62 6c  6f 63 6b 25 20 20 26 31  |..63. block%  &1|
000002e0  30 30 30 20 3a 20 f4 20  42 6c 6f 63 6b 20 72 65  |000 : . Block re|
000002f0  74 75 72 6e 65 64 20 62  79 20 57 69 6d 70 5f 50  |turned by Wimp_P|
00000300  6f 6c 6c 0d 01 40 2a de  20 62 6d 65 6e 75 25 20  |oll..@*. bmenu% |
00000310  20 26 32 30 30 20 20 3a  20 f4 20 4d 61 69 6e 20  | &200  : . Main |
00000320  69 63 6f 6e 20 62 61 72  20 6d 65 6e 75 0d 01 4a  |icon bar menu..J|
00000330  48 de 20 73 70 6e 61 6d  65 25 20 32 30 20 20 20  |H. spname% 20   |
00000340  20 3a 20 f4 20 42 75 66  66 65 72 20 66 6f 72 20  | : . Buffer for |
00000350  73 70 72 69 74 65 20 6e  61 6d 65 20 6f 66 20 63  |sprite name of c|
00000360  68 61 6e 67 65 61 62 6c  65 20 69 63 6f 6e 20 6f  |hangeable icon o|
00000370  6e 20 62 61 72 0d 01 54  3b de 20 69 6e 64 31 25  |n bar..T;. ind1%|
00000380  20 20 20 35 30 30 20 20  20 3a 20 f4 20 57 6f 72  |   500   : . Wor|
00000390  6b 73 70 61 63 65 20 66  6f 72 20 49 6e 66 6f 20  |kspace for Info |
000003a0  69 6e 64 69 72 65 63 74  65 64 20 69 63 6f 6e 73  |indirected icons|
000003b0  0d 01 5e 39 de 20 64 65  63 6f 64 65 25 20 26 31  |..^9. decode% &1|
000003c0  30 30 20 20 3a 20 f4 20  42 6c 6f 63 6b 20 74 6f  |00  : . Block to|
000003d0  20 64 65 63 6f 64 65 20  6d 65 6e 75 20 63 68 6f  | decode menu cho|
000003e0  69 63 65 73 20 69 6e 74  6f 0d 01 68 34 73 74 61  |ices into..h4sta|
000003f0  74 65 25 3d 30 20 20 20  20 20 20 20 20 20 20 3a  |te%=0          :|
00000400  20 f4 20 53 74 61 74 65  20 6f 66 20 74 68 65 20  | . State of the |
00000410  69 63 6f 6e 20 62 61 72  20 69 63 6f 6e 0d 01 72  |icon bar icon..r|
00000420  18 74 61 73 6b 5f 6e 61  6d 65 24 3d 22 43 6f 6d  |.task_name$="Com|
00000430  70 69 6c 65 22 0d 01 7c  15 69 6e 66 6f 31 24 3d  |pile"..|.info1$=|
00000440  74 61 73 6b 5f 6e 61 6d  65 24 0d 01 86 1f 69 6e  |task_name$....in|
00000450  66 6f 32 24 3d 22 43 6f  6d 70 69 6c 65 72 20 46  |fo2$="Compiler F|
00000460  72 6f 6e 74 20 45 6e 64  22 0d 01 90 26 69 6e 66  |ront End"...&inf|
00000470  6f 33 24 3d 22 52 6f 62  69 6e 20 42 61 72 6e 65  |o3$="Robin Barne|
00000480  73 20 26 20 4d 61 72 6b  20 4d 6f 78 6f 6e 22 0d  |s & Mark Moxon".|
00000490  01 9a 13 69 6e 66 6f 34  24 3d 76 65 72 73 69 6f  |...info4$=versio|
000004a0  6e 24 0d 01 a4 12 24 62  6c 6f 63 6b 25 3d 22 54  |n$....$block%="T|
000004b0  41 53 4b 22 0d 01 ae 40  c8 99 20 22 57 69 6d 70  |ASK"...@.. "Wimp|
000004c0  5f 49 6e 69 74 69 61 6c  69 73 65 22 2c 32 30 30  |_Initialise",200|
000004d0  2c 21 62 6c 6f 63 6b 25  2c 74 61 73 6b 5f 6e 61  |,!block%,task_na|
000004e0  6d 65 24 20 b8 20 76 65  72 73 69 6f 6e 25 2c 74  |me$ . version%,t|
000004f0  61 73 6b 25 0d 01 b8 05  e1 0d 01 c2 05 3a 0d 01  |ask%.........:..|
00000500  cc 05 3a 0d 01 d6 17 dd  20 f2 74 65 6d 70 6c 61  |..:..... .templa|
00000510  74 65 73 28 66 69 6c 65  24 29 0d 01 e0 12 de 20  |tes(file$)..... |
00000520  74 65 6d 70 6e 61 6d 65  25 20 31 31 0d 01 ea 21  |tempname% 11...!|
00000530  c8 99 20 22 57 69 6d 70  5f 4f 70 65 6e 54 65 6d  |.. "Wimp_OpenTem|
00000540  70 6c 61 74 65 22 2c 2c  66 69 6c 65 24 0d 01 f4  |plate",,file$...|
00000550  19 24 74 65 6d 70 6e 61  6d 65 25 3d 22 70 72 6f  |.$tempname%="pro|
00000560  67 49 6e 66 6f 22 0d 01  fe 41 c8 99 20 22 57 69  |gInfo"...A.. "Wi|
00000570  6d 70 5f 4c 6f 61 64 54  65 6d 70 6c 61 74 65 22  |mp_LoadTemplate"|
00000580  2c 2c 62 6c 6f 63 6b 25  2c 69 6e 64 31 25 2c 69  |,,block%,ind1%,i|
00000590  6e 64 31 25 2b 34 39 39  2c 2d 31 2c 74 65 6d 70  |nd1%+499,-1,temp|
000005a0  6e 61 6d 65 25 2c 30 0d  02 08 2a c8 99 20 22 57  |name%,0...*.. "W|
000005b0  69 6d 70 5f 43 72 65 61  74 65 57 69 6e 64 6f 77  |imp_CreateWindow|
000005c0  22 2c 2c 62 6c 6f 63 6b  25 20 b8 20 69 6e 66 6f  |",,block% . info|
000005d0  25 0d 02 12 11 21 62 6c  6f 63 6b 25 3d 69 6e 66  |%....!block%=inf|
000005e0  6f 25 0d 02 1c 41 62 6c  6f 63 6b 25 21 34 3d 31  |o%...Ablock%!4=1|
000005f0  3a c8 99 20 22 57 69 6d  70 5f 47 65 74 49 63 6f  |:.. "Wimp_GetIco|
00000600  6e 53 74 61 74 65 22 2c  2c 62 6c 6f 63 6b 25 3a  |nState",,block%:|
00000610  24 28 62 6c 6f 63 6b 25  21 32 38 29 3d 69 6e 66  |$(block%!28)=inf|
00000620  6f 31 24 0d 02 26 41 62  6c 6f 63 6b 25 21 34 3d  |o1$..&Ablock%!4=|
00000630  32 3a c8 99 20 22 57 69  6d 70 5f 47 65 74 49 63  |2:.. "Wimp_GetIc|
00000640  6f 6e 53 74 61 74 65 22  2c 2c 62 6c 6f 63 6b 25  |onState",,block%|
00000650  3a 24 28 62 6c 6f 63 6b  25 21 32 38 29 3d 69 6e  |:$(block%!28)=in|
00000660  66 6f 32 24 0d 02 30 41  62 6c 6f 63 6b 25 21 34  |fo2$..0Ablock%!4|
00000670  3d 33 3a c8 99 20 22 57  69 6d 70 5f 47 65 74 49  |=3:.. "Wimp_GetI|
00000680  63 6f 6e 53 74 61 74 65  22 2c 2c 62 6c 6f 63 6b  |conState",,block|
00000690  25 3a 24 28 62 6c 6f 63  6b 25 21 32 38 29 3d 69  |%:$(block%!28)=i|
000006a0  6e 66 6f 33 24 0d 02 3a  41 62 6c 6f 63 6b 25 21  |nfo3$..:Ablock%!|
000006b0  34 3d 34 3a c8 99 20 22  57 69 6d 70 5f 47 65 74  |4=4:.. "Wimp_Get|
000006c0  49 63 6f 6e 53 74 61 74  65 22 2c 2c 62 6c 6f 63  |IconState",,bloc|
000006d0  6b 25 3a 24 28 62 6c 6f  63 6b 25 21 32 38 29 3d  |k%:$(block%!28)=|
000006e0  69 6e 66 6f 34 24 0d 02  44 1b c8 99 20 22 57 69  |info4$..D... "Wi|
000006f0  6d 70 5f 43 6c 6f 73 65  54 65 6d 70 6c 61 74 65  |mp_CloseTemplate|
00000700  22 0d 02 4e 05 e1 0d 02  58 05 3a 0d 02 62 05 3a  |"..N....X.:..b.:|
00000710  0d 02 6c 0b dd 20 f2 70  6f 6c 6c 0d 02 76 24 c8  |..l.. .poll..v$.|
00000720  99 20 22 57 69 6d 70 5f  50 6f 6c 6c 22 2c 2c 62  |. "Wimp_Poll",,b|
00000730  6c 6f 63 6b 25 20 b8 20  72 65 61 73 6f 6e 25 0d  |lock% . reason%.|
00000740  02 80 10 c8 8e 20 72 65  61 73 6f 6e 25 20 ca 0d  |..... reason% ..|
00000750  02 8a 27 20 c9 20 32 20  3a 20 c8 99 20 22 57 69  |..' . 2 : .. "Wi|
00000760  6d 70 5f 4f 70 65 6e 57  69 6e 64 6f 77 22 2c 2c  |mp_OpenWindow",,|
00000770  62 6c 6f 63 6b 25 0d 02  94 28 20 c9 20 33 20 3a  |block%...( . 3 :|
00000780  20 c8 99 20 22 57 69 6d  70 5f 43 6c 6f 73 65 57  | .. "Wimp_CloseW|
00000790  69 6e 64 6f 77 22 2c 2c  62 6c 6f 63 6b 25 0d 02  |indow",,block%..|
000007a0  9e 17 20 c9 20 36 20 3a  20 f2 6d 6f 75 73 65 5f  |.. . 6 : .mouse_|
000007b0  63 6c 69 63 6b 0d 02 a8  1a 20 c9 20 39 20 3a 20  |click.... . 9 : |
000007c0  f2 6d 65 6e 75 5f 73 65  6c 65 63 74 69 6f 6e 0d  |.menu_selection.|
000007d0  02 b2 1c 20 c9 20 31 37  2c 31 38 20 3a 20 f2 75  |... . 17,18 : .u|
000007e0  73 65 72 5f 6d 65 73 73  61 67 65 0d 02 bc 05 cb  |ser_message.....|
000007f0  0d 02 c6 05 e1 0d 02 d0  05 3a 0d 02 da 05 3a 0d  |.........:....:.|
00000800  02 e4 12 dd 20 f2 6d 6f  75 73 65 5f 63 6c 69 63  |.... .mouse_clic|
00000810  6b 0d 02 ee 14 e7 20 62  6c 6f 63 6b 25 21 31 32  |k..... block%!12|
00000820  3d 2d 32 20 8c 0d 02 f8  13 20 e7 20 62 6c 6f 63  |=-2 ..... . bloc|
00000830  6b 25 21 38 3d 32 20 8c  0d 03 02 35 20 20 f2 64  |k%!8=2 ....5  .d|
00000840  69 73 70 6c 61 79 5f 62  61 72 5f 6d 65 6e 75 28  |isplay_bar_menu(|
00000850  62 6d 65 6e 75 25 2c 62  6d 65 6e 75 5f 6c 65 6e  |bmenu%,bmenu_len|
00000860  67 74 68 25 2c 21 62 6c  6f 63 6b 25 29 0d 03 0c  |gth%,!block%)...|
00000870  06 20 cd 0d 03 16 05 cd  0d 03 20 05 e1 0d 03 2a  |. ........ ....*|
00000880  05 3a 0d 03 34 05 3a 0d  03 3e 15 dd 20 f2 6d 65  |.:..4.:..>.. .me|
00000890  6e 75 5f 73 65 6c 65 63  74 69 6f 6e 0d 03 48 19  |nu_selection..H.|
000008a0  e7 20 21 62 6c 6f 63 6b  25 3d 31 20 8c 20 71 75  |. !block%=1 . qu|
000008b0  69 74 25 3d b9 0d 03 52  05 e1 0d 03 5c 05 3a 0d  |it%=...R....\.:.|
000008c0  03 66 05 3a 0d 03 70 13  dd 20 f2 75 73 65 72 5f  |.f.:..p.. .user_|
000008d0  6d 65 73 73 61 67 65 0d  03 7a 12 c8 8e 20 62 6c  |message..z... bl|
000008e0  6f 63 6b 25 21 31 36 20  ca 0d 03 84 12 20 c9 20  |ock%!16 ..... . |
000008f0  30 20 3a 20 71 75 69 74  25 3d b9 0d 03 8e 54 20  |0 : quit%=....T |
00000900  c9 20 33 20 3a 20 e7 20  62 6c 6f 63 6b 25 21 34  |. 3 : . block%!4|
00000910  30 3c 3e 26 31 30 30 30  20 80 20 62 6c 6f 63 6b  |0<>&1000 . block|
00000920  25 21 34 30 3c 3e 26 32  30 30 30 20 8c 20 f2 63  |%!40<>&2000 . .c|
00000930  6f 6d 70 69 6c 65 28 a4  7a 65 72 6f 5f 73 74 72  |ompile(.zero_str|
00000940  69 6e 67 28 62 6c 6f 63  6b 25 2b 34 34 29 29 0d  |ing(block%+44)).|
00000950  03 98 05 cb 0d 03 a2 05  e1 0d 03 ac 05 3a 0d 03  |.............:..|
00000960  b6 05 3a 0d 03 c0 15 dd  20 f2 63 6f 6d 70 69 6c  |..:..... .compil|
00000970  65 28 66 69 6c 65 24 29  0d 03 ca 24 66 69 6c 65  |e(file$)...$file|
00000980  64 69 72 24 3d a4 62 72  61 6e 63 68 28 a4 62 72  |dir$=.branch(.br|
00000990  61 6e 63 68 28 66 69 6c  65 24 29 29 0d 03 d4 16  |anch(file$))....|
000009a0  ff 28 22 44 69 72 20 22  2b 66 69 6c 65 64 69 72  |.("Dir "+filedir|
000009b0  24 29 0d 03 de 41 c8 99  20 22 57 69 6d 70 5f 53  |$)...A.. "Wimp_S|
000009c0  74 61 72 74 54 61 73 6b  22 2c 22 52 75 6e 20 3c  |tartTask","Run <|
000009d0  43 6f 6d 70 69 6c 65 24  44 69 72 3e 2e 43 6f 6d  |Compile$Dir>.Com|
000009e0  70 69 6c 65 20 22 2b a4  6c 65 61 66 28 66 69 6c  |pile "+.leaf(fil|
000009f0  65 24 29 0d 03 e8 05 e1  0d ff                    |e$).......|
000009fa