Home » Recent acquisitions » Acorn ADFS disks » adfs_AcornComputing_199402.adf » 9402 » Miscellany/Add_Sprite/!AddSprite/!RunImage

Miscellany/Add_Sprite/!AddSprite/!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 » Recent acquisitions » Acorn ADFS disks » adfs_AcornComputing_199402.adf » 9402
Filename: Miscellany/Add_Sprite/!AddSprite/!RunImage
Read OK:
File size: 08D0 bytes
Load address: 0000
Exec address: 0000
Duplicates

There is 1 duplicate copy of this file in the archive:

File contents
   10 REM >!RunImage
   20 REM by Paul Carpenter & Geraint Stimson
   30 REM (c) Acorn Computing
   40 :
   50 DIM data% 1024,bufi% 4096,pollblock% 256,template% 2048
   60 SYS "Wimp_Initialise",200,&4B534154,"AddSprite" TO ,handle
   70 ON ERROR $(template%+4)=REPORT$+" (Internal Code "+STR$ERL+")": SYS "Wimp_ReportError",template%,2,"AddSprite": END
   80 SYS "OS_File",255,"<AddSprite$Dir>.Data",data%,0
   90 SYS "Wimp_CreateIcon",,data%
  100 SYS "Wimp_OpenTemplate",,"<AddSprite$Dir>.Templates"
  110 SYS "Wimp_LoadTemplate",,template%,bufi%,bufi%+4095,-1,"ProgInfo" TO ,,bufw%
  120 SYS "Wimp_CreateWindow",,template% TO info%
  130 data%!&44=info%
  140 SYS "Wimp_CloseTemplate"
  150 quit%=FALSE
  160 :
  170 REPEAT
  180 SYS "Wimp_Poll",&81811,pollblock% TO whatdyawant%
  190 CASE whatdyawant% OF
  200 WHEN 1: PROCredraw
  210 WHEN 2: PROCopenup
  220 WHEN 3: PROCclosedn
  230 WHEN 6: PROCclick
  240 WHEN 9: PROCmenusel
  250 WHEN 17,18: PROCmessage
  260 ENDCASE
  270 UNTIL quit%
  280 SYS "Wimp_CloseDown"
  290 SYS "OS_Exit"
  300 :
  310 DEFPROCmessage
  320 CASE pollblock%!16 OF
  330 WHEN 0: quit%=TRUE
  340 WHEN 1:
  350 !pollblock%=60
  360 pollblock%!16=2
  370 pollblock%!12=pollblock%!8
  380 $(pollblock%+44)="<Wimp$Scrap>"+CHR$&00
  390 pollblock%!36=-1
  400 SYS "Wimp_SendMessage",17,pollblock%,pollblock%!4
  410 WHEN 3: IF pollblock%!40<>&FF9 AND pollblock%!40<>&2000 THEN
  420 $(template%+4)="This is not a sprite file": SYS "Wimp_ReportError",template%,2,"AddSprite"
  430 ELSE a$=FNgetstr(pollblock%+44)
  440 IF pollblock%!40=&2000 a$+=".!Sprites"
  450 SYS "Hourglass_On"
  460 OSCLI("IconSprites "+a$)
  470 SYS "Hourglass_Off"
  480 pollblock%!16=4
  490 pollblock%!12=pollblock%!8
  500 SYS "Wimp_SendMessage",17,pollblock%,pollblock%!4
  510 SYS "Wimp_ForceRedraw",-1,-8192,-8192,8192,8192
  520 ENDIF
  530 ENDCASE
  540 ENDPROC
  550 :
  560 DEFPROCredraw
  570 seeline%=FALSE
  580 updating=FALSE
  590 SYS "Wimp_RedrawWindow",,pollblock% TO anything
  600 ENDPROC
  610 :
  620 DEFPROCopenup
  630 SYS "Wimp_OpenWindow",,pollblock%
  640 ENDPROC
  650 :
  660 DEFPROCclosedn
  670 SYS "Wimp_CloseWindow",,pollblock%
  680 ENDPROC
  690 :
  700 DEFPROCmenusel
  710 CASE !pollblock% OF
  720 WHEN 1: quit%=TRUE
  730 ENDCASE
  740 SYS "Wimp_GetPointerInfo",,pollblock%
  750 IF (pollblock%!8 AND 1) THEN PROCmymenu
  760 ENDPROC
  770 :
  780 DEFPROCclick
  790 IF pollblock%!8=2 PROCmymenu
  800 ENDPROC
  810 :
  820 DEFPROCmymenu
  830 menuopen=TRUE
  840 ym=316-44*3
  850 SYS "Wimp_CreateMenu",,data%+&24,!pollblock%-64,ym
  860 ENDPROC
  870 :
  880 DEFFNgetstr(addr)
  890 a$=""
  900 REPEAT
  910 IF ?addr<>0 a$+=CHR$?addr
  920 addr+=1
  930 UNTIL addr?-1=0
  940 =a$

 � >!RunImage
* � by Paul Carpenter & Geraint Stimson
 � (c) Acorn Computing
( :
2: � data% 1024,bufi% 4096,pollblock% 256,template% 2048
<= ș "Wimp_Initialise",200,&4B534154,"AddSprite" � ,handle
Ff � � $(template%+4)=�$+" (Internal Code "+Þ+")": ș "Wimp_ReportError",template%,2,"AddSprite": �
P4 ș "OS_File",255,"<AddSprite$Dir>.Data",data%,0
Z  ș "Wimp_CreateIcon",,data%
d8 ș "Wimp_OpenTemplate",,"<AddSprite$Dir>.Templates"
nO ș "Wimp_LoadTemplate",,template%,bufi%,bufi%+4095,-1,"ProgInfo" � ,,bufw%
x. ș "Wimp_CreateWindow",,template% � info%
� data%!&44=info%
� ș "Wimp_CloseTemplate"
� quit%=�
� :
� �
�4 ș "Wimp_Poll",&81811,pollblock% � whatdyawant%
� Ȏ whatdyawant% �
� � 1: �redraw
� � 2: �openup
� � 3: �closedn
� � 6: �click
� � 9: �menusel
� � 17,18: �message
 �
 � quit%
 ș "Wimp_CloseDown"
" ș "OS_Exit"
, :
6 ��message
@ Ȏ pollblock%!16 �
J � 0: quit%=�
T	 � 1:
^ !pollblock%=60
h pollblock%!16=2
r pollblock%!12=pollblock%!8
|) $(pollblock%+44)="<Wimp$Scrap>"+�&00
� pollblock%!36=-1
�5 ș "Wimp_SendMessage",17,pollblock%,pollblock%!4
�8 � 3: � pollblock%!40<>&FF9 � pollblock%!40<>&2000 �
�^ $(template%+4)="This is not a sprite file": ș "Wimp_ReportError",template%,2,"AddSprite"
�  � a$=�getstr(pollblock%+44)
�* � pollblock%!40=&2000 a$+=".!Sprites"
� ș "Hourglass_On"
� �("IconSprites "+a$)
� ș "Hourglass_Off"
� pollblock%!16=4
� pollblock%!12=pollblock%!8
�5 ș "Wimp_SendMessage",17,pollblock%,pollblock%!4
�3 ș "Wimp_ForceRedraw",-1,-8192,-8192,8192,8192
 �
 �
 �
& :
0
 ��redraw
: seeline%=�
D updating=�
N2 ș "Wimp_RedrawWindow",,pollblock% � anything
X �
b :
l
 ��openup
v% ș "Wimp_OpenWindow",,pollblock%
� �
� :
� ��closedn
�& ș "Wimp_CloseWindow",,pollblock%
� �
� :
� ��menusel
� Ȏ !pollblock% �
� � 1: quit%=�
� �
�) ș "Wimp_GetPointerInfo",,pollblock%
�# � (pollblock%!8 � 1) � �mymenu
� �
 :
 ��click
 � pollblock%!8=2 �mymenu
  �
* :
4
 ��mymenu
> menuopen=�
H ym=316-44*3
R6 ș "Wimp_CreateMenu",,data%+&24,!pollblock%-64,ym
\ �
f :
p ݤgetstr(addr)
z
 a$=""
� �
� � ?addr<>0 a$+=�?addr
� addr+=1
� � addr?-1=0
� =a$
�
00000000  0d 00 0a 11 20 f4 20 3e  21 52 75 6e 49 6d 61 67  |.... . >!RunImag|
00000010  65 0d 00 14 2a 20 f4 20  62 79 20 50 61 75 6c 20  |e...* . by Paul |
00000020  43 61 72 70 65 6e 74 65  72 20 26 20 47 65 72 61  |Carpenter & Gera|
00000030  69 6e 74 20 53 74 69 6d  73 6f 6e 0d 00 1e 1a 20  |int Stimson.... |
00000040  f4 20 28 63 29 20 41 63  6f 72 6e 20 43 6f 6d 70  |. (c) Acorn Comp|
00000050  75 74 69 6e 67 0d 00 28  06 20 3a 0d 00 32 3a 20  |uting..(. :..2: |
00000060  de 20 64 61 74 61 25 20  31 30 32 34 2c 62 75 66  |. data% 1024,buf|
00000070  69 25 20 34 30 39 36 2c  70 6f 6c 6c 62 6c 6f 63  |i% 4096,pollbloc|
00000080  6b 25 20 32 35 36 2c 74  65 6d 70 6c 61 74 65 25  |k% 256,template%|
00000090  20 32 30 34 38 0d 00 3c  3d 20 c8 99 20 22 57 69  | 2048..<= .. "Wi|
000000a0  6d 70 5f 49 6e 69 74 69  61 6c 69 73 65 22 2c 32  |mp_Initialise",2|
000000b0  30 30 2c 26 34 42 35 33  34 31 35 34 2c 22 41 64  |00,&4B534154,"Ad|
000000c0  64 53 70 72 69 74 65 22  20 b8 20 2c 68 61 6e 64  |dSprite" . ,hand|
000000d0  6c 65 0d 00 46 66 20 ee  20 85 20 24 28 74 65 6d  |le..Ff . . $(tem|
000000e0  70 6c 61 74 65 25 2b 34  29 3d f6 24 2b 22 20 28  |plate%+4)=.$+" (|
000000f0  49 6e 74 65 72 6e 61 6c  20 43 6f 64 65 20 22 2b  |Internal Code "+|
00000100  c3 9e 2b 22 29 22 3a 20  c8 99 20 22 57 69 6d 70  |..+")": .. "Wimp|
00000110  5f 52 65 70 6f 72 74 45  72 72 6f 72 22 2c 74 65  |_ReportError",te|
00000120  6d 70 6c 61 74 65 25 2c  32 2c 22 41 64 64 53 70  |mplate%,2,"AddSp|
00000130  72 69 74 65 22 3a 20 e0  0d 00 50 34 20 c8 99 20  |rite": ...P4 .. |
00000140  22 4f 53 5f 46 69 6c 65  22 2c 32 35 35 2c 22 3c  |"OS_File",255,"<|
00000150  41 64 64 53 70 72 69 74  65 24 44 69 72 3e 2e 44  |AddSprite$Dir>.D|
00000160  61 74 61 22 2c 64 61 74  61 25 2c 30 0d 00 5a 20  |ata",data%,0..Z |
00000170  20 c8 99 20 22 57 69 6d  70 5f 43 72 65 61 74 65  | .. "Wimp_Create|
00000180  49 63 6f 6e 22 2c 2c 64  61 74 61 25 0d 00 64 38  |Icon",,data%..d8|
00000190  20 c8 99 20 22 57 69 6d  70 5f 4f 70 65 6e 54 65  | .. "Wimp_OpenTe|
000001a0  6d 70 6c 61 74 65 22 2c  2c 22 3c 41 64 64 53 70  |mplate",,"<AddSp|
000001b0  72 69 74 65 24 44 69 72  3e 2e 54 65 6d 70 6c 61  |rite$Dir>.Templa|
000001c0  74 65 73 22 0d 00 6e 4f  20 c8 99 20 22 57 69 6d  |tes"..nO .. "Wim|
000001d0  70 5f 4c 6f 61 64 54 65  6d 70 6c 61 74 65 22 2c  |p_LoadTemplate",|
000001e0  2c 74 65 6d 70 6c 61 74  65 25 2c 62 75 66 69 25  |,template%,bufi%|
000001f0  2c 62 75 66 69 25 2b 34  30 39 35 2c 2d 31 2c 22  |,bufi%+4095,-1,"|
00000200  50 72 6f 67 49 6e 66 6f  22 20 b8 20 2c 2c 62 75  |ProgInfo" . ,,bu|
00000210  66 77 25 0d 00 78 2e 20  c8 99 20 22 57 69 6d 70  |fw%..x. .. "Wimp|
00000220  5f 43 72 65 61 74 65 57  69 6e 64 6f 77 22 2c 2c  |_CreateWindow",,|
00000230  74 65 6d 70 6c 61 74 65  25 20 b8 20 69 6e 66 6f  |template% . info|
00000240  25 0d 00 82 14 20 64 61  74 61 25 21 26 34 34 3d  |%.... data%!&44=|
00000250  69 6e 66 6f 25 0d 00 8c  1c 20 c8 99 20 22 57 69  |info%.... .. "Wi|
00000260  6d 70 5f 43 6c 6f 73 65  54 65 6d 70 6c 61 74 65  |mp_CloseTemplate|
00000270  22 0d 00 96 0c 20 71 75  69 74 25 3d a3 0d 00 a0  |".... quit%=....|
00000280  06 20 3a 0d 00 aa 06 20  f5 0d 00 b4 34 20 c8 99  |. :.... ....4 ..|
00000290  20 22 57 69 6d 70 5f 50  6f 6c 6c 22 2c 26 38 31  | "Wimp_Poll",&81|
000002a0  38 31 31 2c 70 6f 6c 6c  62 6c 6f 63 6b 25 20 b8  |811,pollblock% .|
000002b0  20 77 68 61 74 64 79 61  77 61 6e 74 25 0d 00 be  | whatdyawant%...|
000002c0  16 20 c8 8e 20 77 68 61  74 64 79 61 77 61 6e 74  |. .. whatdyawant|
000002d0  25 20 ca 0d 00 c8 11 20  c9 20 31 3a 20 f2 72 65  |% ..... . 1: .re|
000002e0  64 72 61 77 0d 00 d2 11  20 c9 20 32 3a 20 f2 6f  |draw.... . 2: .o|
000002f0  70 65 6e 75 70 0d 00 dc  12 20 c9 20 33 3a 20 f2  |penup.... . 3: .|
00000300  63 6c 6f 73 65 64 6e 0d  00 e6 10 20 c9 20 36 3a  |closedn.... . 6:|
00000310  20 f2 63 6c 69 63 6b 0d  00 f0 12 20 c9 20 39 3a  | .click.... . 9:|
00000320  20 f2 6d 65 6e 75 73 65  6c 0d 00 fa 16 20 c9 20  | .menusel.... . |
00000330  31 37 2c 31 38 3a 20 f2  6d 65 73 73 61 67 65 0d  |17,18: .message.|
00000340  01 04 06 20 cb 0d 01 0e  0c 20 fd 20 71 75 69 74  |... ..... . quit|
00000350  25 0d 01 18 18 20 c8 99  20 22 57 69 6d 70 5f 43  |%.... .. "Wimp_C|
00000360  6c 6f 73 65 44 6f 77 6e  22 0d 01 22 11 20 c8 99  |loseDown"..". ..|
00000370  20 22 4f 53 5f 45 78 69  74 22 0d 01 2c 06 20 3a  | "OS_Exit"..,. :|
00000380  0d 01 36 0e 20 dd f2 6d  65 73 73 61 67 65 0d 01  |..6. ..message..|
00000390  40 17 20 c8 8e 20 70 6f  6c 6c 62 6c 6f 63 6b 25  |@. .. pollblock%|
000003a0  21 31 36 20 ca 0d 01 4a  11 20 c9 20 30 3a 20 71  |!16 ...J. . 0: q|
000003b0  75 69 74 25 3d b9 0d 01  54 09 20 c9 20 31 3a 0d  |uit%=...T. . 1:.|
000003c0  01 5e 13 20 21 70 6f 6c  6c 62 6c 6f 63 6b 25 3d  |.^. !pollblock%=|
000003d0  36 30 0d 01 68 14 20 70  6f 6c 6c 62 6c 6f 63 6b  |60..h. pollblock|
000003e0  25 21 31 36 3d 32 0d 01  72 1f 20 70 6f 6c 6c 62  |%!16=2..r. pollb|
000003f0  6c 6f 63 6b 25 21 31 32  3d 70 6f 6c 6c 62 6c 6f  |lock%!12=pollblo|
00000400  63 6b 25 21 38 0d 01 7c  29 20 24 28 70 6f 6c 6c  |ck%!8..|) $(poll|
00000410  62 6c 6f 63 6b 25 2b 34  34 29 3d 22 3c 57 69 6d  |block%+44)="<Wim|
00000420  70 24 53 63 72 61 70 3e  22 2b bd 26 30 30 0d 01  |p$Scrap>"+.&00..|
00000430  86 15 20 70 6f 6c 6c 62  6c 6f 63 6b 25 21 33 36  |.. pollblock%!36|
00000440  3d 2d 31 0d 01 90 35 20  c8 99 20 22 57 69 6d 70  |=-1...5 .. "Wimp|
00000450  5f 53 65 6e 64 4d 65 73  73 61 67 65 22 2c 31 37  |_SendMessage",17|
00000460  2c 70 6f 6c 6c 62 6c 6f  63 6b 25 2c 70 6f 6c 6c  |,pollblock%,poll|
00000470  62 6c 6f 63 6b 25 21 34  0d 01 9a 38 20 c9 20 33  |block%!4...8 . 3|
00000480  3a 20 e7 20 70 6f 6c 6c  62 6c 6f 63 6b 25 21 34  |: . pollblock%!4|
00000490  30 3c 3e 26 46 46 39 20  80 20 70 6f 6c 6c 62 6c  |0<>&FF9 . pollbl|
000004a0  6f 63 6b 25 21 34 30 3c  3e 26 32 30 30 30 20 8c  |ock%!40<>&2000 .|
000004b0  0d 01 a4 5e 20 24 28 74  65 6d 70 6c 61 74 65 25  |...^ $(template%|
000004c0  2b 34 29 3d 22 54 68 69  73 20 69 73 20 6e 6f 74  |+4)="This is not|
000004d0  20 61 20 73 70 72 69 74  65 20 66 69 6c 65 22 3a  | a sprite file":|
000004e0  20 c8 99 20 22 57 69 6d  70 5f 52 65 70 6f 72 74  | .. "Wimp_Report|
000004f0  45 72 72 6f 72 22 2c 74  65 6d 70 6c 61 74 65 25  |Error",template%|
00000500  2c 32 2c 22 41 64 64 53  70 72 69 74 65 22 0d 01  |,2,"AddSprite"..|
00000510  ae 20 20 cc 20 61 24 3d  a4 67 65 74 73 74 72 28  |.  . a$=.getstr(|
00000520  70 6f 6c 6c 62 6c 6f 63  6b 25 2b 34 34 29 0d 01  |pollblock%+44)..|
00000530  b8 2a 20 e7 20 70 6f 6c  6c 62 6c 6f 63 6b 25 21  |.* . pollblock%!|
00000540  34 30 3d 26 32 30 30 30  20 61 24 2b 3d 22 2e 21  |40=&2000 a$+=".!|
00000550  53 70 72 69 74 65 73 22  0d 01 c2 16 20 c8 99 20  |Sprites".... .. |
00000560  22 48 6f 75 72 67 6c 61  73 73 5f 4f 6e 22 0d 01  |"Hourglass_On"..|
00000570  cc 19 20 ff 28 22 49 63  6f 6e 53 70 72 69 74 65  |.. .("IconSprite|
00000580  73 20 22 2b 61 24 29 0d  01 d6 17 20 c8 99 20 22  |s "+a$).... .. "|
00000590  48 6f 75 72 67 6c 61 73  73 5f 4f 66 66 22 0d 01  |Hourglass_Off"..|
000005a0  e0 14 20 70 6f 6c 6c 62  6c 6f 63 6b 25 21 31 36  |.. pollblock%!16|
000005b0  3d 34 0d 01 ea 1f 20 70  6f 6c 6c 62 6c 6f 63 6b  |=4.... pollblock|
000005c0  25 21 31 32 3d 70 6f 6c  6c 62 6c 6f 63 6b 25 21  |%!12=pollblock%!|
000005d0  38 0d 01 f4 35 20 c8 99  20 22 57 69 6d 70 5f 53  |8...5 .. "Wimp_S|
000005e0  65 6e 64 4d 65 73 73 61  67 65 22 2c 31 37 2c 70  |endMessage",17,p|
000005f0  6f 6c 6c 62 6c 6f 63 6b  25 2c 70 6f 6c 6c 62 6c  |ollblock%,pollbl|
00000600  6f 63 6b 25 21 34 0d 01  fe 33 20 c8 99 20 22 57  |ock%!4...3 .. "W|
00000610  69 6d 70 5f 46 6f 72 63  65 52 65 64 72 61 77 22  |imp_ForceRedraw"|
00000620  2c 2d 31 2c 2d 38 31 39  32 2c 2d 38 31 39 32 2c  |,-1,-8192,-8192,|
00000630  38 31 39 32 2c 38 31 39  32 0d 02 08 06 20 cd 0d  |8192,8192.... ..|
00000640  02 12 06 20 cb 0d 02 1c  06 20 e1 0d 02 26 06 20  |... ..... ...&. |
00000650  3a 0d 02 30 0d 20 dd f2  72 65 64 72 61 77 0d 02  |:..0. ..redraw..|
00000660  3a 0f 20 73 65 65 6c 69  6e 65 25 3d a3 0d 02 44  |:. seeline%=...D|
00000670  0f 20 75 70 64 61 74 69  6e 67 3d a3 0d 02 4e 32  |. updating=...N2|
00000680  20 c8 99 20 22 57 69 6d  70 5f 52 65 64 72 61 77  | .. "Wimp_Redraw|
00000690  57 69 6e 64 6f 77 22 2c  2c 70 6f 6c 6c 62 6c 6f  |Window",,pollblo|
000006a0  63 6b 25 20 b8 20 61 6e  79 74 68 69 6e 67 0d 02  |ck% . anything..|
000006b0  58 06 20 e1 0d 02 62 06  20 3a 0d 02 6c 0d 20 dd  |X. ...b. :..l. .|
000006c0  f2 6f 70 65 6e 75 70 0d  02 76 25 20 c8 99 20 22  |.openup..v% .. "|
000006d0  57 69 6d 70 5f 4f 70 65  6e 57 69 6e 64 6f 77 22  |Wimp_OpenWindow"|
000006e0  2c 2c 70 6f 6c 6c 62 6c  6f 63 6b 25 0d 02 80 06  |,,pollblock%....|
000006f0  20 e1 0d 02 8a 06 20 3a  0d 02 94 0e 20 dd f2 63  | ..... :.... ..c|
00000700  6c 6f 73 65 64 6e 0d 02  9e 26 20 c8 99 20 22 57  |losedn...& .. "W|
00000710  69 6d 70 5f 43 6c 6f 73  65 57 69 6e 64 6f 77 22  |imp_CloseWindow"|
00000720  2c 2c 70 6f 6c 6c 62 6c  6f 63 6b 25 0d 02 a8 06  |,,pollblock%....|
00000730  20 e1 0d 02 b2 06 20 3a  0d 02 bc 0e 20 dd f2 6d  | ..... :.... ..m|
00000740  65 6e 75 73 65 6c 0d 02  c6 15 20 c8 8e 20 21 70  |enusel.... .. !p|
00000750  6f 6c 6c 62 6c 6f 63 6b  25 20 ca 0d 02 d0 11 20  |ollblock% ..... |
00000760  c9 20 31 3a 20 71 75 69  74 25 3d b9 0d 02 da 06  |. 1: quit%=.....|
00000770  20 cb 0d 02 e4 29 20 c8  99 20 22 57 69 6d 70 5f  | ....) .. "Wimp_|
00000780  47 65 74 50 6f 69 6e 74  65 72 49 6e 66 6f 22 2c  |GetPointerInfo",|
00000790  2c 70 6f 6c 6c 62 6c 6f  63 6b 25 0d 02 ee 23 20  |,pollblock%...# |
000007a0  e7 20 28 70 6f 6c 6c 62  6c 6f 63 6b 25 21 38 20  |. (pollblock%!8 |
000007b0  80 20 31 29 20 8c 20 f2  6d 79 6d 65 6e 75 0d 02  |. 1) . .mymenu..|
000007c0  f8 06 20 e1 0d 03 02 06  20 3a 0d 03 0c 0c 20 dd  |.. ..... :.... .|
000007d0  f2 63 6c 69 63 6b 0d 03  16 1d 20 e7 20 70 6f 6c  |.click.... . pol|
000007e0  6c 62 6c 6f 63 6b 25 21  38 3d 32 20 f2 6d 79 6d  |lblock%!8=2 .mym|
000007f0  65 6e 75 0d 03 20 06 20  e1 0d 03 2a 06 20 3a 0d  |enu.. . ...*. :.|
00000800  03 34 0d 20 dd f2 6d 79  6d 65 6e 75 0d 03 3e 0f  |.4. ..mymenu..>.|
00000810  20 6d 65 6e 75 6f 70 65  6e 3d b9 0d 03 48 10 20  | menuopen=...H. |
00000820  79 6d 3d 33 31 36 2d 34  34 2a 33 0d 03 52 36 20  |ym=316-44*3..R6 |
00000830  c8 99 20 22 57 69 6d 70  5f 43 72 65 61 74 65 4d  |.. "Wimp_CreateM|
00000840  65 6e 75 22 2c 2c 64 61  74 61 25 2b 26 32 34 2c  |enu",,data%+&24,|
00000850  21 70 6f 6c 6c 62 6c 6f  63 6b 25 2d 36 34 2c 79  |!pollblock%-64,y|
00000860  6d 0d 03 5c 06 20 e1 0d  03 66 06 20 3a 0d 03 70  |m..\. ...f. :..p|
00000870  13 20 dd a4 67 65 74 73  74 72 28 61 64 64 72 29  |. ..getstr(addr)|
00000880  0d 03 7a 0a 20 61 24 3d  22 22 0d 03 84 06 20 f5  |..z. a$="".... .|
00000890  0d 03 8e 1a 20 e7 20 3f  61 64 64 72 3c 3e 30 20  |.... . ?addr<>0 |
000008a0  61 24 2b 3d bd 3f 61 64  64 72 0d 03 98 0c 20 61  |a$+=.?addr.... a|
000008b0  64 64 72 2b 3d 31 0d 03  a2 10 20 fd 20 61 64 64  |ddr+=1.... . add|
000008c0  72 3f 2d 31 3d 30 0d 03  ac 08 20 3d 61 24 0d ff  |r?-1=0.... =a$..|
000008d0