Home » Archimedes archive » Micro User » MU 1990-11.adf » PD-Stuff » Games/!GolfInst/!RunImage

Games/!GolfInst/!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 » Micro User » MU 1990-11.adf » PD-Stuff
Filename: Games/!GolfInst/!RunImage
Read OK:
File size: 109B bytes
Load address: 0000
Exec address: 0000
File contents
   10REM >!RunImage
   20REM scrolling instruction generator and display program
   30REM This program ans all it's associated text and data files are
   40REM copyright, and as such must not be altered or sold at a profit.
   50REM The !Microgolf application (and this instruction application) may
   60REM be freely distributed as Public Domain software, as long as no files
   70REM are altered or changed in any way.
   80REM
   90REM written by Paul Vigay
  100REM (C) Jul. 1990
  110REM Version 0.01 (22nd Jul 1990)
  120REM
  130DIM block% 8
  140DIM page%(100)
  150MODE12:OFF
  160COLOUR7,0,0,0
  170COLOUR135:CLS
  180COLOUR0:PRINTTAB(18,8);"Please wait - Loading text file...."
  190*PRINT <ReadMe$Path>.!Palette
  200ONERROR CLOSE#0:MODE0:PRINTREPORT$;" at line ";ERL:END
  210file$="text"
  220X%=OPENIN("<ReadMe$Path>."+file$):e%=EXT#X%:CLOSE#X%
  230*SLOAD <ReadMe$Path>.Sprites
  240DIM text% e%+16
  250OSCLI("LOAD <ReadMe$Path>."+file$+" "+STR$~text%)
  260e%=text%+e%
  270FOR N%=text% TO e%+10
  280  IF ?N%=10 ?N%=13
  290NEXT N%
  300title$=$text%
  310s%=text%+LEN(title$)+1:s1%=s%
  320p%=0
  330COLOUR135
  340SYS 6,113,1:CLS:COLOUR0:PRINTTAB(18,8);"Please wait - Translating text file....":SYS 6,112,2
  350REPEAT
  360  p%+=1
  370  page%(p%)=s%
  380  PROCscreen(s%)
  390UNTIL s%>=e%
  400min%=1:max%=p%
  410CLS
  420MOUSE TO 1080,100
  430M%=1
  440O%=3:p%=0:p1%=1:d%=TRUE
  450SYS 6,112,1:CLS:SYS 6,112,2:CLS:SYS 6,112,2:SYS 6,113,1
  460REPEAT
  470  CASE O% OF
  480    WHEN 1:IF p%>min% p%-=1:d%=TRUE ELSE d%=FALSE
  490    WHEN 3:IF p%<max% p%+=1:d%=TRUE ELSE d%=FALSE
  500  ENDCASE
  510  IF d% THEN
  520    IF O%=1 THEN
  530      SYS 6,113,1                    :REM show screen 1 whilst
  540      SYS 6,112,2                    :REM writing to 2
  550      PROCfullscroll                 :REM scroll up so we see screen 2
  560      SYS 6,113,2                    :REM display screen 2 whilst
  570      SYS 6,112,1                    :REM we update screen 1
  580      PROCscreen(page%(p%))
  590      PROCscrolldown                 :REM scroll new screen down
  600      SYS 6,113,1                    :REM go back to original screens
  610      SYS 6,112,2
  620      PROCscreen(page%(p%))          :REM update original
  630      SYS 6,113,1:SYS 6,112,1        :REM all done so restore screens
  640      PROCnoscroll
  650    ENDIF
  660    IF O%=3 THEN
  670      SYS 6,113,1                    :REM show screen 1
  680      SYS 6,112,2                    :REM write screen 2
  690      PROCscreen(page%(p%))
  700      PROCscrollup
  710      SYS 6,113,2                    :REM look at scrolled bit
  720      SYS 6,112,1                    :REM now copy to screen 1
  730      PROCscreen(page%(p%))
  740      SYS 6,113,1:SYS 6,112,1        :REM all done so restore screens
  750      PROCnoscroll
  760      p1%=p%
  770    ENDIF
  780  ELSE
  790    VDU7
  800  ENDIF
  810  O%=FNmouse(M%)
  820UNTIL O%=2
  830SYS 6,112,1:SYS 6,113,1
  840CLS
  850END
  860
  870DEFPROCscreen(S%)
  880COLOUR135:CLS
  890s%=S%
  900PROCline(title$,1)
  910PROCline(STRING$(LEN(title$),"-"),2)
  920line%=3:end%=FALSE
  930WHILE line%<26 AND NOT end%
  940  A$=$s%
  950  s%=s%+LEN(A$)+1
  960  PROCline(A$,line%)
  970  line%+=1
  980  IF s%>=e% end%=TRUE
  990ENDWHILE
 1000COLOUR9:PRINTTAB(37,26);"Page ";p%
 1010GCOL0,0
 1020VDU23,27,0,1|:PLOT &ED,100,64
 1030VDU23,27,0,2|:PLOT &ED,550,64
 1040VDU23,27,0,0|:PLOT &ED,980,64
 1050ENDPROC
 1060
 1070DEFPROCline(A$,line%)
 1080LOCAL T%,t%,c%,c$
 1090t%=-5
 1100WHILE LEFT$(A$,1)="@"
 1110  t%+=5
 1120  A$=MID$(A$,2)
 1130ENDWHILE
 1140c$="0"
 1150WHILE LEFT$(A$,1)="("
 1160  A$=MID$(A$,2)
 1170  WHILE LEFT$(A$,1)<>")"
 1180    c$=c$+LEFT$(A$,1)
 1190    A$=MID$(A$,2)
 1200  ENDWHILE
 1210  A$=MID$(A$,2)
 1220ENDWHILE
 1230c%=VAL(c$)
 1240IF A$=title$ c%=11
 1250IF A$=STRING$(LEN(title$),"-") c%=9
 1260COLOUR c%
 1270T%=(80-LEN(A$))/2
 1280IF t%>=0 T%=t%
 1290PRINTTAB(T%,line%);A$;
 1300ENDPROC
 1310
 1320DEFPROCscrollup
 1330LOCAL N%
 1340block%?0=2
 1350FOR N%=0 TO &14000 STEP 1280
 1360  block%!1=N%
 1370  WAIT
 1380  SYS"OS_Word",22,block%
 1390NEXT N%
 1400ENDPROC
 1410
 1420DEFPROCscrolldown
 1430LOCAL N%
 1440block%?0=2
 1450FOR N%=&14000 TO 0 STEP -1280
 1460  block%!1=N%
 1470  WAIT
 1480  SYS"OS_Word",22,block%
 1490NEXT N%
 1500ENDPROC
 1510
 1520DEFPROCnoscroll
 1530block%?0=2
 1540block%!1=0
 1550WAIT
 1560SYS"OS_Word",22,block%
 1570ENDPROC
 1580
 1590DEFPROCfullscroll
 1600block%?0=2
 1610block%!1=&14000
 1620WAIT
 1630SYS"OS_Word",22,block%
 1640ENDPROC
 1650
 1660DEFFNmouse(M%)
 1670LOCAL X%,Y%,B%,O%,O1%
 1680*POINTER 1
 1690MOUSE RECTANGLE 0,0,1279,180
 1700O1%=0
 1710GCOL3,7
 1720REPEAT
 1730  MOUSE X%,Y%,B%
 1740  O%=3
 1750  IF X%<874 O%=2
 1760  IF X%<423 O%=1
 1770  IF O%<>O1% THEN
 1780    CASE O% OF
 1790      WHEN 1:RECTANGLE FILL 100,64,196,68
 1800      WHEN 2:RECTANGLE FILL 550,64,196,68
 1810      WHEN 3:RECTANGLE FILL 980,64,196,68
 1820    ENDCASE
 1830    CASE O1% OF
 1840      WHEN 1:RECTANGLE FILL 100,64,196,68
 1850      WHEN 2:RECTANGLE FILL 550,64,196,68
 1860      WHEN 3:RECTANGLE FILL 980,64,196,68
 1870    ENDCASE
 1880  ENDIF
 1890  O1%=O%
 1900UNTIL B%<>0
 1910CASE O1% OF
 1920  WHEN 1:RECTANGLE FILL 100,64,196,68
 1930  WHEN 2:RECTANGLE FILL 550,64,196,68
 1940  WHEN 3:RECTANGLE FILL 980,64,196,68
 1950ENDCASE
 1960REPEAT:MOUSE X%,Y%,B%:UNTIL B%=0
 1970=O%

� >!RunImage
9� scrolling instruction generator and display program
B� This program ans all it's associated text and data files are
(E� copyright, and as such must not be altered or sold at a profit.
2G� The !Microgolf application (and this instruction application) may
<J� be freely distributed as Public Domain software, as long as no files
F(� are altered or changed in any way.
P�
Z� written by Paul Vigay
d� (C) Jul. 1990
n"� Version 0.01 (22nd Jul 1990)
x�
�� block% 8
�� page%(100)
�	�12:�
��7,0,0,0
�
�135:�
�4�0:�18,8);"Please wait - Loading text file...."
�!*PRINT <ReadMe$Path>.!Palette
�!� �#0:�0:�$;" at line ";�:�
�file$="text"
�-X%=�("<ReadMe$Path>."+file$):e%=�#X%:�#X%
� *SLOAD <ReadMe$Path>.Sprites
�� text% e%+16
�.�("LOAD <ReadMe$Path>."+file$+" "+�~text%)
e%=text%+e%
� N%=text% � e%+10
  � ?N%=10 ?N%=13
"� N%
,title$=$text%
6s%=text%+�(title$)+1:s1%=s%
@p%=0
J�135
TPș 6,113,1:�:�0:�18,8);"Please wait - Translating text file....":ș 6,112,2
^�
h  p%+=1
r  page%(p%)=s%
|  �screen(s%)
�� s%>=e%
�min%=1:max%=p%
��
�ȗ � 1080,100
�M%=1
�O%=3:p%=0:p1%=1:d%=�
�3ș 6,112,1:�:ș 6,112,2:�:ș 6,112,2:ș 6,113,1
��
�
  Ȏ O% �
�'    � 1:� p%>min% p%-=1:d%=� � d%=�
�'    � 3:� p%<max% p%+=1:d%=� � d%=�
�  �
�  � d% �
    � O%=1 �
?      ș 6,113,1                    :� show screen 1 whilst
7      ș 6,112,2                    :� writing to 2
&E      �fullscroll                 :� scroll up so we see screen 2
0B      ș 6,113,2                    :� display screen 2 whilst
:=      ș 6,112,1                    :� we update screen 1
D      �screen(page%(p%))
N?      �scrolldown                 :� scroll new screen down
XF      ș 6,113,1                    :� go back to original screens
b      ș 6,112,2
l8      �screen(page%(p%))          :� update original
vE      ș 6,113,1:ș 6,112,1        :� all done so restore screens
�      �noscroll
�	    �
�    � O%=3 �
�8      ș 6,113,1                    :� show screen 1
�9      ș 6,112,2                    :� write screen 2
�      �screen(page%(p%))
�      �scrollup
�?      ș 6,113,2                    :� look at scrolled bit
�?      ș 6,112,1                    :� now copy to screen 1
�      �screen(page%(p%))
�E      ș 6,113,1:ș 6,112,1        :� all done so restore screens
�      �noscroll
�      p1%=p%
	    �
  �

    �7
   �
*  O%=�mouse(M%)
4
� O%=2
>ș 6,112,1:ș 6,113,1
H�
R�
\
f��screen(S%)
p
�135:�
z	s%=S%
��line(title$,1)
��line(ĩ(title$),"-"),2)
�line%=3:end%=�
�ȕ line%<26 � � end%
�  A$=$s%
�  s%=s%+�(A$)+1
�  �line(A$,line%)
�  line%+=1
�  � s%>=e% end%=�
��
��9:�37,26);"Page ";p%
��0,0
��23,27,0,1|:� &ED,100,64
�23,27,0,2|:� &ED,550,64
�23,27,0,0|:� &ED,980,64
�
$
.��line(A$,line%)
8� T%,t%,c%,c$
B	t%=-5
Lȕ �A$,1)="@"
V  t%+=5
`  A$=�A$,2)
j�
t
c$="0"
~ȕ �A$,1)="("
�  A$=�A$,2)
�  ȕ �A$,1)<>")"
�    c$=c$+�A$,1)
�    A$=�A$,2)
�  �
�  A$=�A$,2)
��
�c%=�(c$)
�� A$=title$ c%=11
�� A$=ĩ(title$),"-") c%=9
�� c%
�T%=(80-�(A$))/2
� t%>=0 T%=t%

�T%,line%);A$;
�

(��scrollup
2� N%
<block%?0=2
F� N%=0 � &14000 � 1280
P  block%!1=N%
Z  Ȗ
d  ș"OS_Word",22,block%
n� N%
x�
�
���scrolldown
�� N%
�block%?0=2
�� N%=&14000 � 0 � -1280
�  block%!1=N%
�  Ȗ
�  ș"OS_Word",22,block%
�� N%
��
�
���noscroll
�block%?0=2
block%!1=0
Ȗ
ș"OS_Word",22,block%
"�
,
6��fullscroll
@block%?0=2
Jblock%!1=&14000
TȖ
^ș"OS_Word",22,block%
h�
r
|ݤmouse(M%)
�� X%,Y%,B%,O%,O1%
�*POINTER 1
�ȗ ȓ 0,0,1279,180
�	O1%=0
��3,7
��
�  ȗ X%,Y%,B%
�
  O%=3
�  � X%<874 O%=2
�  � X%<423 O%=1
�  � O%<>O1% �
�    Ȏ O% �
�!      � 1:ȓ Ȑ 100,64,196,68
!      � 2:ȓ Ȑ 550,64,196,68
!      � 3:ȓ Ȑ 980,64,196,68
	    �
&    Ȏ O1% �
0!      � 1:ȓ Ȑ 100,64,196,68
:!      � 2:ȓ Ȑ 550,64,196,68
D!      � 3:ȓ Ȑ 980,64,196,68
N	    �
X  �
b  O1%=O%
l� B%<>0
vȎ O1% �
�  � 1:ȓ Ȑ 100,64,196,68
�  � 2:ȓ Ȑ 550,64,196,68
�  � 3:ȓ Ȑ 980,64,196,68
��
��:ȗ X%,Y%,B%:� B%=0
�=O%
�
00000000  0d 00 0a 10 f4 20 3e 21  52 75 6e 49 6d 61 67 65  |..... >!RunImage|
00000010  0d 00 14 39 f4 20 73 63  72 6f 6c 6c 69 6e 67 20  |...9. scrolling |
00000020  69 6e 73 74 72 75 63 74  69 6f 6e 20 67 65 6e 65  |instruction gene|
00000030  72 61 74 6f 72 20 61 6e  64 20 64 69 73 70 6c 61  |rator and displa|
00000040  79 20 70 72 6f 67 72 61  6d 0d 00 1e 42 f4 20 54  |y program...B. T|
00000050  68 69 73 20 70 72 6f 67  72 61 6d 20 61 6e 73 20  |his program ans |
00000060  61 6c 6c 20 69 74 27 73  20 61 73 73 6f 63 69 61  |all it's associa|
00000070  74 65 64 20 74 65 78 74  20 61 6e 64 20 64 61 74  |ted text and dat|
00000080  61 20 66 69 6c 65 73 20  61 72 65 0d 00 28 45 f4  |a files are..(E.|
00000090  20 63 6f 70 79 72 69 67  68 74 2c 20 61 6e 64 20  | copyright, and |
000000a0  61 73 20 73 75 63 68 20  6d 75 73 74 20 6e 6f 74  |as such must not|
000000b0  20 62 65 20 61 6c 74 65  72 65 64 20 6f 72 20 73  | be altered or s|
000000c0  6f 6c 64 20 61 74 20 61  20 70 72 6f 66 69 74 2e  |old at a profit.|
000000d0  0d 00 32 47 f4 20 54 68  65 20 21 4d 69 63 72 6f  |..2G. The !Micro|
000000e0  67 6f 6c 66 20 61 70 70  6c 69 63 61 74 69 6f 6e  |golf application|
000000f0  20 28 61 6e 64 20 74 68  69 73 20 69 6e 73 74 72  | (and this instr|
00000100  75 63 74 69 6f 6e 20 61  70 70 6c 69 63 61 74 69  |uction applicati|
00000110  6f 6e 29 20 6d 61 79 0d  00 3c 4a f4 20 62 65 20  |on) may..<J. be |
00000120  66 72 65 65 6c 79 20 64  69 73 74 72 69 62 75 74  |freely distribut|
00000130  65 64 20 61 73 20 50 75  62 6c 69 63 20 44 6f 6d  |ed as Public Dom|
00000140  61 69 6e 20 73 6f 66 74  77 61 72 65 2c 20 61 73  |ain software, as|
00000150  20 6c 6f 6e 67 20 61 73  20 6e 6f 20 66 69 6c 65  | long as no file|
00000160  73 0d 00 46 28 f4 20 61  72 65 20 61 6c 74 65 72  |s..F(. are alter|
00000170  65 64 20 6f 72 20 63 68  61 6e 67 65 64 20 69 6e  |ed or changed in|
00000180  20 61 6e 79 20 77 61 79  2e 0d 00 50 05 f4 0d 00  | any way...P....|
00000190  5a 1b f4 20 77 72 69 74  74 65 6e 20 62 79 20 50  |Z.. written by P|
000001a0  61 75 6c 20 56 69 67 61  79 0d 00 64 13 f4 20 28  |aul Vigay..d.. (|
000001b0  43 29 20 4a 75 6c 2e 20  31 39 39 30 0d 00 6e 22  |C) Jul. 1990..n"|
000001c0  f4 20 56 65 72 73 69 6f  6e 20 30 2e 30 31 20 28  |. Version 0.01 (|
000001d0  32 32 6e 64 20 4a 75 6c  20 31 39 39 30 29 0d 00  |22nd Jul 1990)..|
000001e0  78 05 f4 0d 00 82 0e de  20 62 6c 6f 63 6b 25 20  |x....... block% |
000001f0  38 0d 00 8c 10 de 20 70  61 67 65 25 28 31 30 30  |8..... page%(100|
00000200  29 0d 00 96 09 eb 31 32  3a 87 0d 00 a0 0c fb 37  |).....12:......7|
00000210  2c 30 2c 30 2c 30 0d 00  aa 0a fb 31 33 35 3a db  |,0,0,0.....135:.|
00000220  0d 00 b4 34 fb 30 3a f1  8a 31 38 2c 38 29 3b 22  |...4.0:..18,8);"|
00000230  50 6c 65 61 73 65 20 77  61 69 74 20 2d 20 4c 6f  |Please wait - Lo|
00000240  61 64 69 6e 67 20 74 65  78 74 20 66 69 6c 65 2e  |ading text file.|
00000250  2e 2e 2e 22 0d 00 be 21  2a 50 52 49 4e 54 20 3c  |..."...!*PRINT <|
00000260  52 65 61 64 4d 65 24 50  61 74 68 3e 2e 21 50 61  |ReadMe$Path>.!Pa|
00000270  6c 65 74 74 65 0d 00 c8  21 ee 85 20 d9 23 30 3a  |lette...!.. .#0:|
00000280  eb 30 3a f1 f6 24 3b 22  20 61 74 20 6c 69 6e 65  |.0:..$;" at line|
00000290  20 22 3b 9e 3a e0 0d 00  d2 10 66 69 6c 65 24 3d  | ";.:.....file$=|
000002a0  22 74 65 78 74 22 0d 00  dc 2d 58 25 3d 8e 28 22  |"text"...-X%=.("|
000002b0  3c 52 65 61 64 4d 65 24  50 61 74 68 3e 2e 22 2b  |<ReadMe$Path>."+|
000002c0  66 69 6c 65 24 29 3a 65  25 3d a2 23 58 25 3a d9  |file$):e%=.#X%:.|
000002d0  23 58 25 0d 00 e6 20 2a  53 4c 4f 41 44 20 3c 52  |#X%... *SLOAD <R|
000002e0  65 61 64 4d 65 24 50 61  74 68 3e 2e 53 70 72 69  |eadMe$Path>.Spri|
000002f0  74 65 73 0d 00 f0 11 de  20 74 65 78 74 25 20 65  |tes..... text% e|
00000300  25 2b 31 36 0d 00 fa 2e  ff 28 22 4c 4f 41 44 20  |%+16.....("LOAD |
00000310  3c 52 65 61 64 4d 65 24  50 61 74 68 3e 2e 22 2b  |<ReadMe$Path>."+|
00000320  66 69 6c 65 24 2b 22 20  22 2b c3 7e 74 65 78 74  |file$+" "+.~text|
00000330  25 29 0d 01 04 0f 65 25  3d 74 65 78 74 25 2b 65  |%)....e%=text%+e|
00000340  25 0d 01 0e 16 e3 20 4e  25 3d 74 65 78 74 25 20  |%..... N%=text% |
00000350  b8 20 65 25 2b 31 30 0d  01 18 15 20 20 e7 20 3f  |. e%+10....  . ?|
00000360  4e 25 3d 31 30 20 3f 4e  25 3d 31 33 0d 01 22 08  |N%=10 ?N%=13..".|
00000370  ed 20 4e 25 0d 01 2c 11  74 69 74 6c 65 24 3d 24  |. N%..,.title$=$|
00000380  74 65 78 74 25 0d 01 36  1f 73 25 3d 74 65 78 74  |text%..6.s%=text|
00000390  25 2b a9 28 74 69 74 6c  65 24 29 2b 31 3a 73 31  |%+.(title$)+1:s1|
000003a0  25 3d 73 25 0d 01 40 08  70 25 3d 30 0d 01 4a 08  |%=s%..@.p%=0..J.|
000003b0  fb 31 33 35 0d 01 54 50  c8 99 20 36 2c 31 31 33  |.135..TP.. 6,113|
000003c0  2c 31 3a db 3a fb 30 3a  f1 8a 31 38 2c 38 29 3b  |,1:.:.0:..18,8);|
000003d0  22 50 6c 65 61 73 65 20  77 61 69 74 20 2d 20 54  |"Please wait - T|
000003e0  72 61 6e 73 6c 61 74 69  6e 67 20 74 65 78 74 20  |ranslating text |
000003f0  66 69 6c 65 2e 2e 2e 2e  22 3a c8 99 20 36 2c 31  |file....":.. 6,1|
00000400  31 32 2c 32 0d 01 5e 05  f5 0d 01 68 0b 20 20 70  |12,2..^....h.  p|
00000410  25 2b 3d 31 0d 01 72 12  20 20 70 61 67 65 25 28  |%+=1..r.  page%(|
00000420  70 25 29 3d 73 25 0d 01  7c 11 20 20 f2 73 63 72  |p%)=s%..|.  .scr|
00000430  65 65 6e 28 73 25 29 0d  01 86 0c fd 20 73 25 3e  |een(s%)..... s%>|
00000440  3d 65 25 0d 01 90 12 6d  69 6e 25 3d 31 3a 6d 61  |=e%....min%=1:ma|
00000450  78 25 3d 70 25 0d 01 9a  05 db 0d 01 a4 11 c8 97  |x%=p%...........|
00000460  20 b8 20 31 30 38 30 2c  31 30 30 0d 01 ae 08 4d  | . 1080,100....M|
00000470  25 3d 31 0d 01 b8 18 4f  25 3d 33 3a 70 25 3d 30  |%=1....O%=3:p%=0|
00000480  3a 70 31 25 3d 31 3a 64  25 3d b9 0d 01 c2 33 c8  |:p1%=1:d%=....3.|
00000490  99 20 36 2c 31 31 32 2c  31 3a db 3a c8 99 20 36  |. 6,112,1:.:.. 6|
000004a0  2c 31 31 32 2c 32 3a db  3a c8 99 20 36 2c 31 31  |,112,2:.:.. 6,11|
000004b0  32 2c 32 3a c8 99 20 36  2c 31 31 33 2c 31 0d 01  |2,2:.. 6,113,1..|
000004c0  cc 05 f5 0d 01 d6 0d 20  20 c8 8e 20 4f 25 20 ca  |.......  .. O% .|
000004d0  0d 01 e0 27 20 20 20 20  c9 20 31 3a e7 20 70 25  |...'    . 1:. p%|
000004e0  3e 6d 69 6e 25 20 70 25  2d 3d 31 3a 64 25 3d b9  |>min% p%-=1:d%=.|
000004f0  20 8b 20 64 25 3d a3 0d  01 ea 27 20 20 20 20 c9  | . d%=....'    .|
00000500  20 33 3a e7 20 70 25 3c  6d 61 78 25 20 70 25 2b  | 3:. p%<max% p%+|
00000510  3d 31 3a 64 25 3d b9 20  8b 20 64 25 3d a3 0d 01  |=1:d%=. . d%=...|
00000520  f4 07 20 20 cb 0d 01 fe  0c 20 20 e7 20 64 25 20  |..  .....  . d% |
00000530  8c 0d 02 08 10 20 20 20  20 e7 20 4f 25 3d 31 20  |.....    . O%=1 |
00000540  8c 0d 02 12 3f 20 20 20  20 20 20 c8 99 20 36 2c  |....?      .. 6,|
00000550  31 31 33 2c 31 20 20 20  20 20 20 20 20 20 20 20  |113,1           |
00000560  20 20 20 20 20 20 20 20  20 3a f4 20 73 68 6f 77  |         :. show|
00000570  20 73 63 72 65 65 6e 20  31 20 77 68 69 6c 73 74  | screen 1 whilst|
00000580  0d 02 1c 37 20 20 20 20  20 20 c8 99 20 36 2c 31  |...7      .. 6,1|
00000590  31 32 2c 32 20 20 20 20  20 20 20 20 20 20 20 20  |12,2            |
000005a0  20 20 20 20 20 20 20 20  3a f4 20 77 72 69 74 69  |        :. writi|
000005b0  6e 67 20 74 6f 20 32 0d  02 26 45 20 20 20 20 20  |ng to 2..&E     |
000005c0  20 f2 66 75 6c 6c 73 63  72 6f 6c 6c 20 20 20 20  | .fullscroll    |
000005d0  20 20 20 20 20 20 20 20  20 20 20 20 20 3a f4 20  |             :. |
000005e0  73 63 72 6f 6c 6c 20 75  70 20 73 6f 20 77 65 20  |scroll up so we |
000005f0  73 65 65 20 73 63 72 65  65 6e 20 32 0d 02 30 42  |see screen 2..0B|
00000600  20 20 20 20 20 20 c8 99  20 36 2c 31 31 33 2c 32  |      .. 6,113,2|
00000610  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000620  20 20 20 20 3a f4 20 64  69 73 70 6c 61 79 20 73  |    :. display s|
00000630  63 72 65 65 6e 20 32 20  77 68 69 6c 73 74 0d 02  |creen 2 whilst..|
00000640  3a 3d 20 20 20 20 20 20  c8 99 20 36 2c 31 31 32  |:=      .. 6,112|
00000650  2c 31 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |,1              |
00000660  20 20 20 20 20 20 3a f4  20 77 65 20 75 70 64 61  |      :. we upda|
00000670  74 65 20 73 63 72 65 65  6e 20 31 0d 02 44 1c 20  |te screen 1..D. |
00000680  20 20 20 20 20 f2 73 63  72 65 65 6e 28 70 61 67  |     .screen(pag|
00000690  65 25 28 70 25 29 29 0d  02 4e 3f 20 20 20 20 20  |e%(p%))..N?     |
000006a0  20 f2 73 63 72 6f 6c 6c  64 6f 77 6e 20 20 20 20  | .scrolldown    |
000006b0  20 20 20 20 20 20 20 20  20 20 20 20 20 3a f4 20  |             :. |
000006c0  73 63 72 6f 6c 6c 20 6e  65 77 20 73 63 72 65 65  |scroll new scree|
000006d0  6e 20 64 6f 77 6e 0d 02  58 46 20 20 20 20 20 20  |n down..XF      |
000006e0  c8 99 20 36 2c 31 31 33  2c 31 20 20 20 20 20 20  |.. 6,113,1      |
000006f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 3a f4  |              :.|
00000700  20 67 6f 20 62 61 63 6b  20 74 6f 20 6f 72 69 67  | go back to orig|
00000710  69 6e 61 6c 20 73 63 72  65 65 6e 73 0d 02 62 14  |inal screens..b.|
00000720  20 20 20 20 20 20 c8 99  20 36 2c 31 31 32 2c 32  |      .. 6,112,2|
00000730  0d 02 6c 38 20 20 20 20  20 20 f2 73 63 72 65 65  |..l8      .scree|
00000740  6e 28 70 61 67 65 25 28  70 25 29 29 20 20 20 20  |n(page%(p%))    |
00000750  20 20 20 20 20 20 3a f4  20 75 70 64 61 74 65 20  |      :. update |
00000760  6f 72 69 67 69 6e 61 6c  0d 02 76 45 20 20 20 20  |original..vE    |
00000770  20 20 c8 99 20 36 2c 31  31 33 2c 31 3a c8 99 20  |  .. 6,113,1:.. |
00000780  36 2c 31 31 32 2c 31 20  20 20 20 20 20 20 20 3a  |6,112,1        :|
00000790  f4 20 61 6c 6c 20 64 6f  6e 65 20 73 6f 20 72 65  |. all done so re|
000007a0  73 74 6f 72 65 20 73 63  72 65 65 6e 73 0d 02 80  |store screens...|
000007b0  13 20 20 20 20 20 20 f2  6e 6f 73 63 72 6f 6c 6c  |.      .noscroll|
000007c0  0d 02 8a 09 20 20 20 20  cd 0d 02 94 10 20 20 20  |....    .....   |
000007d0  20 e7 20 4f 25 3d 33 20  8c 0d 02 9e 38 20 20 20  | . O%=3 ....8   |
000007e0  20 20 20 c8 99 20 36 2c  31 31 33 2c 31 20 20 20  |   .. 6,113,1   |
000007f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000800  20 3a f4 20 73 68 6f 77  20 73 63 72 65 65 6e 20  | :. show screen |
00000810  31 0d 02 a8 39 20 20 20  20 20 20 c8 99 20 36 2c  |1...9      .. 6,|
00000820  31 31 32 2c 32 20 20 20  20 20 20 20 20 20 20 20  |112,2           |
00000830  20 20 20 20 20 20 20 20  20 3a f4 20 77 72 69 74  |         :. writ|
00000840  65 20 73 63 72 65 65 6e  20 32 0d 02 b2 1c 20 20  |e screen 2....  |
00000850  20 20 20 20 f2 73 63 72  65 65 6e 28 70 61 67 65  |    .screen(page|
00000860  25 28 70 25 29 29 0d 02  bc 13 20 20 20 20 20 20  |%(p%))....      |
00000870  f2 73 63 72 6f 6c 6c 75  70 0d 02 c6 3f 20 20 20  |.scrollup...?   |
00000880  20 20 20 c8 99 20 36 2c  31 31 33 2c 32 20 20 20  |   .. 6,113,2   |
00000890  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000008a0  20 3a f4 20 6c 6f 6f 6b  20 61 74 20 73 63 72 6f  | :. look at scro|
000008b0  6c 6c 65 64 20 62 69 74  0d 02 d0 3f 20 20 20 20  |lled bit...?    |
000008c0  20 20 c8 99 20 36 2c 31  31 32 2c 31 20 20 20 20  |  .. 6,112,1    |
000008d0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000008e0  3a f4 20 6e 6f 77 20 63  6f 70 79 20 74 6f 20 73  |:. now copy to s|
000008f0  63 72 65 65 6e 20 31 0d  02 da 1c 20 20 20 20 20  |creen 1....     |
00000900  20 f2 73 63 72 65 65 6e  28 70 61 67 65 25 28 70  | .screen(page%(p|
00000910  25 29 29 0d 02 e4 45 20  20 20 20 20 20 c8 99 20  |%))...E      .. |
00000920  36 2c 31 31 33 2c 31 3a  c8 99 20 36 2c 31 31 32  |6,113,1:.. 6,112|
00000930  2c 31 20 20 20 20 20 20  20 20 3a f4 20 61 6c 6c  |,1        :. all|
00000940  20 64 6f 6e 65 20 73 6f  20 72 65 73 74 6f 72 65  | done so restore|
00000950  20 73 63 72 65 65 6e 73  0d 02 ee 13 20 20 20 20  | screens....    |
00000960  20 20 f2 6e 6f 73 63 72  6f 6c 6c 0d 02 f8 10 20  |  .noscroll.... |
00000970  20 20 20 20 20 70 31 25  3d 70 25 0d 03 02 09 20  |     p1%=p%.... |
00000980  20 20 20 cd 0d 03 0c 07  20 20 cc 0d 03 16 0a 20  |   .....  ..... |
00000990  20 20 20 ef 37 0d 03 20  07 20 20 cd 0d 03 2a 13  |   .7.. .  ...*.|
000009a0  20 20 4f 25 3d a4 6d 6f  75 73 65 28 4d 25 29 0d  |  O%=.mouse(M%).|
000009b0  03 34 0a fd 20 4f 25 3d  32 0d 03 3e 19 c8 99 20  |.4.. O%=2..>... |
000009c0  36 2c 31 31 32 2c 31 3a  c8 99 20 36 2c 31 31 33  |6,112,1:.. 6,113|
000009d0  2c 31 0d 03 48 05 db 0d  03 52 05 e0 0d 03 5c 04  |,1..H....R....\.|
000009e0  0d 03 66 10 dd f2 73 63  72 65 65 6e 28 53 25 29  |..f...screen(S%)|
000009f0  0d 03 70 0a fb 31 33 35  3a db 0d 03 7a 09 73 25  |..p..135:...z.s%|
00000a00  3d 53 25 0d 03 84 13 f2  6c 69 6e 65 28 74 69 74  |=S%.....line(tit|
00000a10  6c 65 24 2c 31 29 0d 03  8e 1c f2 6c 69 6e 65 28  |le$,1).....line(|
00000a20  c4 a9 28 74 69 74 6c 65  24 29 2c 22 2d 22 29 2c  |..(title$),"-"),|
00000a30  32 29 0d 03 98 12 6c 69  6e 65 25 3d 33 3a 65 6e  |2)....line%=3:en|
00000a40  64 25 3d a3 0d 03 a2 18  c8 95 20 6c 69 6e 65 25  |d%=....... line%|
00000a50  3c 32 36 20 80 20 ac 20  65 6e 64 25 0d 03 ac 0c  |<26 . . end%....|
00000a60  20 20 41 24 3d 24 73 25  0d 03 b6 13 20 20 73 25  |  A$=$s%....  s%|
00000a70  3d 73 25 2b a9 28 41 24  29 2b 31 0d 03 c0 15 20  |=s%+.(A$)+1.... |
00000a80  20 f2 6c 69 6e 65 28 41  24 2c 6c 69 6e 65 25 29  | .line(A$,line%)|
00000a90  0d 03 ca 0e 20 20 6c 69  6e 65 25 2b 3d 31 0d 03  |....  line%+=1..|
00000aa0  d4 15 20 20 e7 20 73 25  3e 3d 65 25 20 65 6e 64  |..  . s%>=e% end|
00000ab0  25 3d b9 0d 03 de 05 ce  0d 03 e8 1a fb 39 3a f1  |%=...........9:.|
00000ac0  8a 33 37 2c 32 36 29 3b  22 50 61 67 65 20 22 3b  |.37,26);"Page ";|
00000ad0  70 25 0d 03 f2 08 e6 30  2c 30 0d 03 fc 1c ef 32  |p%.....0,0.....2|
00000ae0  33 2c 32 37 2c 30 2c 31  7c 3a f0 20 26 45 44 2c  |3,27,0,1|:. &ED,|
00000af0  31 30 30 2c 36 34 0d 04  06 1c ef 32 33 2c 32 37  |100,64.....23,27|
00000b00  2c 30 2c 32 7c 3a f0 20  26 45 44 2c 35 35 30 2c  |,0,2|:. &ED,550,|
00000b10  36 34 0d 04 10 1c ef 32  33 2c 32 37 2c 30 2c 30  |64.....23,27,0,0|
00000b20  7c 3a f0 20 26 45 44 2c  39 38 30 2c 36 34 0d 04  ||:. &ED,980,64..|
00000b30  1a 05 e1 0d 04 24 04 0d  04 2e 14 dd f2 6c 69 6e  |.....$.......lin|
00000b40  65 28 41 24 2c 6c 69 6e  65 25 29 0d 04 38 11 ea  |e(A$,line%)..8..|
00000b50  20 54 25 2c 74 25 2c 63  25 2c 63 24 0d 04 42 09  | T%,t%,c%,c$..B.|
00000b60  74 25 3d 2d 35 0d 04 4c  11 c8 95 20 c0 41 24 2c  |t%=-5..L... .A$,|
00000b70  31 29 3d 22 40 22 0d 04  56 0b 20 20 74 25 2b 3d  |1)="@"..V.  t%+=|
00000b80  35 0d 04 60 0f 20 20 41  24 3d c1 41 24 2c 32 29  |5..`.  A$=.A$,2)|
00000b90  0d 04 6a 05 ce 0d 04 74  0a 63 24 3d 22 30 22 0d  |..j....t.c$="0".|
00000ba0  04 7e 11 c8 95 20 c0 41  24 2c 31 29 3d 22 28 22  |.~... .A$,1)="("|
00000bb0  0d 04 88 0f 20 20 41 24  3d c1 41 24 2c 32 29 0d  |....  A$=.A$,2).|
00000bc0  04 92 14 20 20 c8 95 20  c0 41 24 2c 31 29 3c 3e  |...  .. .A$,1)<>|
00000bd0  22 29 22 0d 04 9c 14 20  20 20 20 63 24 3d 63 24  |")"....    c$=c$|
00000be0  2b c0 41 24 2c 31 29 0d  04 a6 11 20 20 20 20 41  |+.A$,1)....    A|
00000bf0  24 3d c1 41 24 2c 32 29  0d 04 b0 07 20 20 ce 0d  |$=.A$,2)....  ..|
00000c00  04 ba 0f 20 20 41 24 3d  c1 41 24 2c 32 29 0d 04  |...  A$=.A$,2)..|
00000c10  c4 05 ce 0d 04 ce 0c 63  25 3d bb 28 63 24 29 0d  |.......c%=.(c$).|
00000c20  04 d8 15 e7 20 41 24 3d  74 69 74 6c 65 24 20 63  |.... A$=title$ c|
00000c30  25 3d 31 31 0d 04 e2 1d  e7 20 41 24 3d c4 a9 28  |%=11..... A$=..(|
00000c40  74 69 74 6c 65 24 29 2c  22 2d 22 29 20 63 25 3d  |title$),"-") c%=|
00000c50  39 0d 04 ec 08 fb 20 63  25 0d 04 f6 13 54 25 3d  |9..... c%....T%=|
00000c60  28 38 30 2d a9 28 41 24  29 29 2f 32 0d 05 00 11  |(80-.(A$))/2....|
00000c70  e7 20 74 25 3e 3d 30 20  54 25 3d 74 25 0d 05 0a  |. t%>=0 T%=t%...|
00000c80  13 f1 8a 54 25 2c 6c 69  6e 65 25 29 3b 41 24 3b  |...T%,line%);A$;|
00000c90  0d 05 14 05 e1 0d 05 1e  04 0d 05 28 0e dd f2 73  |...........(...s|
00000ca0  63 72 6f 6c 6c 75 70 0d  05 32 08 ea 20 4e 25 0d  |crollup..2.. N%.|
00000cb0  05 3c 0e 62 6c 6f 63 6b  25 3f 30 3d 32 0d 05 46  |.<.block%?0=2..F|
00000cc0  1a e3 20 4e 25 3d 30 20  b8 20 26 31 34 30 30 30  |.. N%=0 . &14000|
00000cd0  20 88 20 31 32 38 30 0d  05 50 11 20 20 62 6c 6f  | . 1280..P.  blo|
00000ce0  63 6b 25 21 31 3d 4e 25  0d 05 5a 08 20 20 c8 96  |ck%!1=N%..Z.  ..|
00000cf0  0d 05 64 1b 20 20 c8 99  22 4f 53 5f 57 6f 72 64  |..d.  .."OS_Word|
00000d00  22 2c 32 32 2c 62 6c 6f  63 6b 25 0d 05 6e 08 ed  |",22,block%..n..|
00000d10  20 4e 25 0d 05 78 05 e1  0d 05 82 04 0d 05 8c 10  | N%..x..........|
00000d20  dd f2 73 63 72 6f 6c 6c  64 6f 77 6e 0d 05 96 08  |..scrolldown....|
00000d30  ea 20 4e 25 0d 05 a0 0e  62 6c 6f 63 6b 25 3f 30  |. N%....block%?0|
00000d40  3d 32 0d 05 aa 1b e3 20  4e 25 3d 26 31 34 30 30  |=2..... N%=&1400|
00000d50  30 20 b8 20 30 20 88 20  2d 31 32 38 30 0d 05 b4  |0 . 0 . -1280...|
00000d60  11 20 20 62 6c 6f 63 6b  25 21 31 3d 4e 25 0d 05  |.  block%!1=N%..|
00000d70  be 08 20 20 c8 96 0d 05  c8 1b 20 20 c8 99 22 4f  |..  ......  .."O|
00000d80  53 5f 57 6f 72 64 22 2c  32 32 2c 62 6c 6f 63 6b  |S_Word",22,block|
00000d90  25 0d 05 d2 08 ed 20 4e  25 0d 05 dc 05 e1 0d 05  |%..... N%.......|
00000da0  e6 04 0d 05 f0 0e dd f2  6e 6f 73 63 72 6f 6c 6c  |........noscroll|
00000db0  0d 05 fa 0e 62 6c 6f 63  6b 25 3f 30 3d 32 0d 06  |....block%?0=2..|
00000dc0  04 0e 62 6c 6f 63 6b 25  21 31 3d 30 0d 06 0e 06  |..block%!1=0....|
00000dd0  c8 96 0d 06 18 19 c8 99  22 4f 53 5f 57 6f 72 64  |........"OS_Word|
00000de0  22 2c 32 32 2c 62 6c 6f  63 6b 25 0d 06 22 05 e1  |",22,block%.."..|
00000df0  0d 06 2c 04 0d 06 36 10  dd f2 66 75 6c 6c 73 63  |..,...6...fullsc|
00000e00  72 6f 6c 6c 0d 06 40 0e  62 6c 6f 63 6b 25 3f 30  |roll..@.block%?0|
00000e10  3d 32 0d 06 4a 13 62 6c  6f 63 6b 25 21 31 3d 26  |=2..J.block%!1=&|
00000e20  31 34 30 30 30 0d 06 54  06 c8 96 0d 06 5e 19 c8  |14000..T.....^..|
00000e30  99 22 4f 53 5f 57 6f 72  64 22 2c 32 32 2c 62 6c  |."OS_Word",22,bl|
00000e40  6f 63 6b 25 0d 06 68 05  e1 0d 06 72 04 0d 06 7c  |ock%..h....r...||
00000e50  0f dd a4 6d 6f 75 73 65  28 4d 25 29 0d 06 86 15  |...mouse(M%)....|
00000e60  ea 20 58 25 2c 59 25 2c  42 25 2c 4f 25 2c 4f 31  |. X%,Y%,B%,O%,O1|
00000e70  25 0d 06 90 0e 2a 50 4f  49 4e 54 45 52 20 31 0d  |%....*POINTER 1.|
00000e80  06 9a 16 c8 97 20 c8 93  20 30 2c 30 2c 31 32 37  |..... .. 0,0,127|
00000e90  39 2c 31 38 30 0d 06 a4  09 4f 31 25 3d 30 0d 06  |9,180....O1%=0..|
00000ea0  ae 08 e6 33 2c 37 0d 06  b8 05 f5 0d 06 c2 11 20  |...3,7......... |
00000eb0  20 c8 97 20 58 25 2c 59  25 2c 42 25 0d 06 cc 0a  | .. X%,Y%,B%....|
00000ec0  20 20 4f 25 3d 33 0d 06  d6 13 20 20 e7 20 58 25  |  O%=3....  . X%|
00000ed0  3c 38 37 34 20 4f 25 3d  32 0d 06 e0 13 20 20 e7  |<874 O%=2....  .|
00000ee0  20 58 25 3c 34 32 33 20  4f 25 3d 31 0d 06 ea 11  | X%<423 O%=1....|
00000ef0  20 20 e7 20 4f 25 3c 3e  4f 31 25 20 8c 0d 06 f4  |  . O%<>O1% ....|
00000f00  0f 20 20 20 20 c8 8e 20  4f 25 20 ca 0d 06 fe 21  |.    .. O% ....!|
00000f10  20 20 20 20 20 20 c9 20  31 3a c8 93 20 c8 90 20  |      . 1:.. .. |
00000f20  31 30 30 2c 36 34 2c 31  39 36 2c 36 38 0d 07 08  |100,64,196,68...|
00000f30  21 20 20 20 20 20 20 c9  20 32 3a c8 93 20 c8 90  |!      . 2:.. ..|
00000f40  20 35 35 30 2c 36 34 2c  31 39 36 2c 36 38 0d 07  | 550,64,196,68..|
00000f50  12 21 20 20 20 20 20 20  c9 20 33 3a c8 93 20 c8  |.!      . 3:.. .|
00000f60  90 20 39 38 30 2c 36 34  2c 31 39 36 2c 36 38 0d  |. 980,64,196,68.|
00000f70  07 1c 09 20 20 20 20 cb  0d 07 26 10 20 20 20 20  |...    ...&.    |
00000f80  c8 8e 20 4f 31 25 20 ca  0d 07 30 21 20 20 20 20  |.. O1% ...0!    |
00000f90  20 20 c9 20 31 3a c8 93  20 c8 90 20 31 30 30 2c  |  . 1:.. .. 100,|
00000fa0  36 34 2c 31 39 36 2c 36  38 0d 07 3a 21 20 20 20  |64,196,68..:!   |
00000fb0  20 20 20 c9 20 32 3a c8  93 20 c8 90 20 35 35 30  |   . 2:.. .. 550|
00000fc0  2c 36 34 2c 31 39 36 2c  36 38 0d 07 44 21 20 20  |,64,196,68..D!  |
00000fd0  20 20 20 20 c9 20 33 3a  c8 93 20 c8 90 20 39 38  |    . 3:.. .. 98|
00000fe0  30 2c 36 34 2c 31 39 36  2c 36 38 0d 07 4e 09 20  |0,64,196,68..N. |
00000ff0  20 20 20 cb 0d 07 58 07  20 20 cd 0d 07 62 0c 20  |   ...X.  ...b. |
00001000  20 4f 31 25 3d 4f 25 0d  07 6c 0b fd 20 42 25 3c  | O1%=O%..l.. B%<|
00001010  3e 30 0d 07 76 0c c8 8e  20 4f 31 25 20 ca 0d 07  |>0..v... O1% ...|
00001020  80 1d 20 20 c9 20 31 3a  c8 93 20 c8 90 20 31 30  |..  . 1:.. .. 10|
00001030  30 2c 36 34 2c 31 39 36  2c 36 38 0d 07 8a 1d 20  |0,64,196,68.... |
00001040  20 c9 20 32 3a c8 93 20  c8 90 20 35 35 30 2c 36  | . 2:.. .. 550,6|
00001050  34 2c 31 39 36 2c 36 38  0d 07 94 1d 20 20 c9 20  |4,196,68....  . |
00001060  33 3a c8 93 20 c8 90 20  39 38 30 2c 36 34 2c 31  |3:.. .. 980,64,1|
00001070  39 36 2c 36 38 0d 07 9e  05 cb 0d 07 a8 18 f5 3a  |96,68..........:|
00001080  c8 97 20 58 25 2c 59 25  2c 42 25 3a fd 20 42 25  |.. X%,Y%,B%:. B%|
00001090  3d 30 0d 07 b2 07 3d 4f  25 0d ff                 |=0....=O%..|
0000109b