Home » CEEFAX disks » telesoftware10.adl » 04-11-88/BANNERS

04-11-88/BANNERS

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 » CEEFAX disks » telesoftware10.adl
Filename: 04-11-88/BANNERS
Read OK:
File size: 1299 bytes
Load address: FFFF0E00
Exec address: FFFF802B
Duplicates

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

File contents
   10REM Banners
   20REM (C) Allan Kelly 14/8/87
   30 
   40DIM chars%(94,7)
   50DIM data 10
   60PROCset_up
   70PROCepson_codes
   80PROCget_fonts
   90 
  100MODE 7
  110REPEAT
  120REPEAT
  130CLS
  140PRINTTAB(0,0);CHR$(129);CHR$(157);CHR$(141);TAB(10,0);CHR$(131);"Printer Banners"
  150PRINTTAB(0,1);CHR$(129);CHR$(157);CHR$(141);TAB(10,1);CHR$(131);"Printer Banners"
  160PRINTTAB(7,2);"(C) Allan Kelly 1987"
  170 
  180PRINT''SPC(5);"S - Save settings"
  190PRINT'SPC(5);"L - Save settings"
  200PRINT'SPC(5);"C - Change settings"
  210PRINT'SPC(5);"E - Enter message"
  220PRINT'SPC(5);"P - Print banner"
  230PRINT'SPC(5);"Q - Quit"
  240 
  250*FX21,0
  260REPEAT key$=GET$
  270UNTIL INSTR("SLCEPQ*",key$) OR INSTR("slcepq*",key$)
  280key=ASC(key$) AND&DF
  290 
  300IF key=ASC"S" PROCsave
  310IF key=ASC"L" PROCload
  320IF key=ASC"C" PROCchange
  330IF key=ASC"E" PROCmessage
  340IF key=ASC"P" MODE3:PROCprint:MODE7
  350IF key=10 PROCos
  360UNTIL key=ASC"Q"
  370UNTIL FNtest("Are you sure?")
  380END
  390 
  400DEFPROCos
  410LOCAL os$,key
  420REPEAT INPUT'"*"os$
  430$&C00=os$
  440X%=0
  450Y%=&C
  460CALL&FFF7
  470*FX21,0
  480key=GET
  490UNTIL key<>42
  500ENDPROC
  510 
  520DEFPROCchange
  530LOCAL key
  540CLS
  550PRINTTAB(4,0);CHR$(141);"Change Settings"
  560PRINTTAB(4,1);CHR$(141);"Change Settings"
  570PRINTTAB(0,2);"Vertical multiplier:";vm%
  580PRINTTAB(0,3);"Horiztontal multiplier:";hm%
  590PRINTTAB(0,4);"Left gap:";left%
  600PRINTTAB(0,5);"Top gap:";top%
  610PRINTTAB(0,6);"Bottom gap:";bottom%
  620PRINTTAB(0,8);"Fourgound character:";CHR$(out%);" ";out%
  630PRINTTAB(0,9);"Backgound character:";CHR$(back%);" ";back%
  640PRINTTAB(0,11);"Line spacing n/216:";space%
  650 
  660REPEAT
  670PRINTTAB(0,20);SPC(38)
  680 
  690vm%=FNget_value(25,2,10,1,vm%)
  700hm%=FNget_value(25,3,10,1,hm%)
  710left%=FNget_value(25,4,40,0,left%)
  720top%=FNget_value(25,5,40,0,top%)
  730bottom%=FNget_value(25,6,40,0,bottom%)
  740out%=FNget_ascii(25,8,126,32,out%)
  750back%=FNget_ascii(25,9,126,32,back%)
  760space%=FNget_value(25,11,216,1,space%)
  770PRINTTAB(0,20);"RETURN to repeat, SPACE for menu"
  780*FX21,0
  790REPEAT key=GET
  800UNTIL key=13 OR key=32
  810UNTIL key=32
  820ENDPROC
  830 
  840DEFPROCmessage
  850LOCAL x$
  860CLS
  870PRINTTAB(4,1);CHR$(141);"Message"
  880PRINTTAB(4,2);CHR$(141);"Message"
  890PRINT''"Current message:"message$
  900INPUT'';"New message:"x$
  910IF x$<>"" message$=x$
  920 
  930PRINT''"Pre message:"pre$
  940INPUT';"Pre message:"x$
  950IF x$<>"" pre$=x$
  960 
  970PRINT''"Post message:"post$
  980INPUT';"Post message:"x$
  990IF x$<>"" post$=x$
 1000ENDPROC
 1010 
 1020DEFPROCprint
 1030LOCAL print%,key,vh%
 1040CLS
 1050print%=FNtest("Printer on?")
 1060PRINT"Vertical (V) or Horizontal (H)?"
 1070*FX21,0
 1080REPEAT key=GET AND&DF
 1090UNTIL key=ASC"H" OR key=ASC"V"
 1100IF key=ASC"H" vh%=FALSE ELSE vh%=TRUE
 1110IF print% VDU 2,1,esc%,1,sp_code%,1,space%
 1120IF pre$<>"" PRINTpre$'
 1130IF vh% PROCvertical(message$) ELSE PROChorizontal(message$)
 1140IF post$<>"" PRINTpost$'
 1150IF print% VDU 3
 1160PROCreturn
 1170ENDPROC
 1180 
 1190DEFPROChorizontal(x$)
 1200LOCAL char,x%,hl%,y%,vl%
 1210FOR char=LEN(x$) TO 1 STEP -1
 1220IF top%>0 PROClines(top%)
 1230FOR x%=0 TO 7
 1240FOR hl%=1 TO hm%
 1250PRINT'SPC(left%);
 1260FOR y%=0 TO 7
 1270FOR vl%=1 TO vm%
 1280IF chars%(ASC(MID$(message$,char,1))-32,y%) AND 2^x% VDU out% ELSE VDU back%
 1290NEXT
 1300NEXT
 1310NEXT
 1320NEXT
 1330IF bottom%>0 PROClines(bottom%)
 1340NEXT
 1350ENDPROC
 1360 
 1370DEFPROCvertical(x$)
 1380LOCAL char,x%,hl%,y%,vl%
 1390FOR char=1 TO LEN(x$)
 1400IF top%>0 PROClines(top%)
 1410FOR x%=0 TO 7
 1420FOR hl%=1 TO hm%
 1430PRINT'SPC(left%);
 1440FOR y%=7 TO 0 STEP -1
 1450FOR vl%=1 TO vm%
 1460IF chars%(ASC(MID$(message$,char,1))-32,x%) AND 2^y% VDU out% ELSE VDU back%
 1470NEXT
 1480NEXT
 1490NEXT
 1500NEXT
 1510IF bottom%>0 PROClines(bottom%)
 1520NEXT
 1530ENDPROC
 1540 
 1550DEFPROCsave
 1560LOCAL file,file$
 1570PROCcat
 1580file$=FNfile_name
 1590file=OPENIN(file$)
 1600IF file<>0 PRINT"File exists.":IF FNtest("Continue?")=FALSE ENDPROC
 1610CLOSE#file
 1620file=OPENOUT(file$)
 1630PRINT#file,vm%,hm%
 1640PRINT#file,left%,top%,bottom%
 1650PRINT#file,space%,out%,back%
 1660PRINT#file,message$,pre$,post$
 1670CLOSE#file
 1680ENDPROC
 1690 
 1700DEFPROCload
 1710LOCAL file,file$
 1720PROCcat
 1730file$=FNfile_name
 1740file=OPENIN(file$)
 1750IF file=0 PRINT"File does not exist":PROCreturn:ENDPROC
 1760 
 1770INPUT#file,vm%,hm%
 1780INPUT#file,left%,top%,bottom%
 1790INPUT#file,space%,out%,back%
 1800INPUT#file,message$,pre$,post$
 1810CLOSE#file
 1820ENDPROC
 1830 
 1840DEFPROCcat
 1850IF FNtest("Catalogue?") THEN *.
 1860ENDPROC
 1870 
 1880DEFFNfile_name
 1890LOCAL x$
 1900REPEAT
 1910INPUT'"Filename:"x$
 1920UNTIL x$<>""
 1930:=x$
 1940 
 1950DEFPROCset_up
 1960print%=FALSE
 1970vm%=1
 1980hm%=1
 1990left%=0
 2000out%=ASC"X"
 2010back%=ASC" "
 2020message$=""
 2030pre$=""
 2040post$=""
 2050top%=0
 2060bottom%=0
 2070space%=36
 2080ENDPROC
 2090 
 2100DEFPROCepson_codes
 2110esc%=27
 2120REM line spacing code for n/216
 2130sp_code%=ASC"3"
 2140ENDPROC
 2150 
 2160DEFPROCget_fonts
 2170LOCAL get%,x
 2180PRINT''"Reading Character fonts"
 2190FOR get%=32 TO 126
 2200?data=get%
 2210A%=10
 2220X%=data MOD 256
 2230Y%=data DIV 256
 2240CALL&FFF1
 2250FOR x=0 TO 7
 2260chars%(get%-32,x)=?(data+1+x)
 2270NEXT
 2280NEXT
 2290ENDPROC
 2300 
 2310DEFFNtest(x$)
 2320LOCAL key
 2330PRINT'x$
 2340*FX21,0
 2350REPEAT key=GET AND&DF
 2360UNTIL key=ASC"Y" OR key=ASC"N"
 2370IF key=ASC"Y" :=TRUE
 2380:=FALSE
 2390 
 2400DEFPROCreturn
 2410PRINT'SPC(10);"Press RETURN"
 2420*FX21,0
 2430REPEAT UNTIL GET=13
 2440ENDPROC
 2450 
 2460DEFFNget_value(x,y,max,min,v)
 2470LOCAL z$,z
 2480PRINTTAB(x,y);
 2490INPUT z$
 2500IF z$="" z=v ELSE z=EVAL(z$)
 2510IF z>=min OR z<=max PRINTTAB(x,y);z;"     "
 2520IF z>max PRINTTAB(x,y);max;" MAX":z=max
 2530IF z<min PRINTTAB(x,y);min;" MIN":z=min
 2540:=z
 2550 
 2560DEFPROClines(x)
 2570LOCAL y
 2580FOR y=1 TO X
 2590PRINT'
 2600NEXT
 2610ENDPROC
 2620 
 2630DEFFNget_ascii(x,y,max,min,v)
 2640LOCAL z$,z
 2650PRINTTAB(x,y);
 2660z$=GET$
 2670IF z$=CHR$(13) z=v ELSE z=ASC(z$)
 2680IF z>=min OR z<=max PRINTTAB(x,y);CHR$(z);"     "
 2690IF z>max PRINTTAB(x,y);CHR$(max);" MAX":z=max
 2700IF z<min PRINTTAB(x,y);CHR$(min);" MIN":z=min
 2710:=z


� Banners
� (C) Allan Kelly 14/8/87
 
(� chars%(94,7)
2
� data 10
<�set_up
F�epson_codes
P�get_fonts
Z 
d� 7
n�
x�
��
�?�0,0);�(129);�(157);�(141);�10,0);�(131);"Printer Banners"
�?�0,1);�(129);�(157);�(141);�10,1);�(131);"Printer Banners"
�!�7,2);"(C) Allan Kelly 1987"
� 
��''�(5);"S - Save settings"
��'�(5);"L - Save settings"
� �'�(5);"C - Change settings"
��'�(5);"E - Enter message"
��'�(5);"P - Print banner"
��'�(5);"Q - Quit"
� 
�*FX21,0
� key$=�
)� �"SLCEPQ*",key$) � �"slcepq*",key$)
key=�(key$) �&DF
" 
,� key=�"S" �save
6� key=�"L" �load
@� key=�"C" �change
J� key=�"E" �message
T� key=�"P" �3:�print:�7
^� key=10 �os
h� key=�"Q"
r� �test("Are you sure?")
|�
� 
���os
�
� os$,key
�� �'"*"os$
�
$&C00=os$
�X%=0
�	Y%=&C
�
�&FFF7
�*FX21,0
�	key=�
�
� key<>42
��
� 
��change
	� key
�
&#�4,0);�(141);"Change Settings"
0#�4,1);�(141);"Change Settings"
:%�0,2);"Vertical multiplier:";vm%
D(�0,3);"Horiztontal multiplier:";hm%
N�0,4);"Left gap:";left%
X�0,5);"Top gap:";top%
b �0,6);"Bottom gap:";bottom%
l2�0,8);"Fourgound character:";�(out%);" ";out%
v4�0,9);"Backgound character:";�(back%);" ";back%
�(�0,11);"Line spacing n/216:";space%
� 
��
��0,20);�(38)
� 
�!vm%=�get_value(25,2,10,1,vm%)
�!hm%=�get_value(25,3,10,1,hm%)
�%left%=�get_value(25,4,40,0,left%)
�#top%=�get_value(25,5,40,0,top%)
�)bottom%=�get_value(25,6,40,0,bottom%)
�%out%=�get_ascii(25,8,126,32,out%)
�'back%=�get_ascii(25,9,126,32,back%)
�)space%=�get_value(25,11,216,1,space%)
.�0,20);"RETURN to repeat, SPACE for menu"
*FX21,0
� key=�
 � key=13 � key=32
*� key=32
4�
> 
H
��message
R� x$
\�
f�4,1);�(141);"Message"
p�4,2);�(141);"Message"
z!�''"Current message:"message$
��'';"New message:"x$
�� x$<>"" message$=x$
� 
��''"Pre message:"pre$
��';"Pre message:"x$
�� x$<>"" pre$=x$
� 
��''"Post message:"post$
��';"Post message:"x$
�� x$<>"" post$=x$
��
� 
���print
� print%,key,vh%
�
print%=�test("Printer on?")
$&�"Vertical (V) or Horizontal (H)?"
.*FX21,0
8� key=� �&DF
B� key=�"H" � key=�"V"
L� key=�"H" vh%=� � vh%=�
V+� print% � 2,1,esc%,1,sp_code%,1,space%
`� pre$<>"" �pre$'
j5� vh% �vertical(message$) � �horizontal(message$)
t� post$<>"" �post$'
~� print% � 3
��return
��
� 
���horizontal(x$)
�� char,x%,hl%,y%,vl%
�� char=�(x$) � 1 � -1
�� top%>0 �lines(top%)
�� x%=0 � 7
�� hl%=1 � hm%
��'�(left%);
�� y%=0 � 7
�� vl%=1 � vm%
@� chars%(�(�message$,char,1))-32,y%) � 2^x% � out% � � back%

�
�
�
(�
2� bottom%>0 �lines(bottom%)
<�
F�
P 
Z��vertical(x$)
d� char,x%,hl%,y%,vl%
n� char=1 � �(x$)
x� top%>0 �lines(top%)
�� x%=0 � 7
�� hl%=1 � hm%
��'�(left%);
�� y%=7 � 0 � -1
�� vl%=1 � vm%
�@� chars%(�(�message$,char,1))-32,x%) � 2^y% � out% � � back%
��
��
��
��
�� bottom%>0 �lines(bottom%)
��
��
 

��save
� file,file$
"�cat
,file$=�file_name
6file=�(file$)
@6� file<>0 �"File exists.":� �test("Continue?")=� �
J
�#file
Tfile=�(file$)
^�#file,vm%,hm%
h�#file,left%,top%,bottom%
r�#file,space%,out%,back%
|�#file,message$,pre$,post$
�
�#file
��
� 
�
��load
�� file,file$
��cat
�file$=�file_name
�file=�(file$)
�-� file=0 �"File does not exist":�return:�
� 
��#file,vm%,hm%
��#file,left%,top%,bottom%
��#file,space%,out%,back%
�#file,message$,pre$,post$

�#file
�
& 
0	��cat
:� �test("Catalogue?") � *.
D�
N 
Xݤfile_name
b� x$
l�
v�'"Filename:"x$
�� x$<>""
�:=x$
� 
���set_up
�print%=�
�	vm%=1
�	hm%=1
�left%=0
�
out%=�"X"
�back%=�" "
�message$=""
�pre$=""
�post$=""

top%=0

bottom%=0

space%=36
 �
* 
4��epson_codes
>esc%=27
H!� line spacing code for n/216
Rsp_code%=�"3"
\�
f 
p��get_fonts
z� get%,x
� �''"Reading Character fonts"
�� get%=32 � 126
�?data=get%
�	A%=10
�X%=data � 256
�Y%=data � 256
�
�&FFF1
�
� x=0 � 7
�!chars%(get%-32,x)=?(data+1+x)
��
��
��
� 
	ݤtest(x$)
		� key
	�'x$
	$*FX21,0
	.� key=� �&DF
	8� key=�"Y" � key=�"N"
	B� key=�"Y" :=�
	L:=�
	V 
	`��return
	j�'�(10);"Press RETURN"
	t*FX21,0
	~� � �=13
	��
	� 
	�ݤget_value(x,y,max,min,v)
	�
� z$,z
	��x,y);
	�� z$
	�� z$="" z=v � z=�(z$)
	�&� z>=min � z<=max �x,y);z;"     "
	�#� z>max �x,y);max;" MAX":z=max
	�#� z<min �x,y);min;" MIN":z=min
	�:=z
	� 
��lines(x)

� y

� y=1 � X
�'
(�
2�
< 
Fݤget_ascii(x,y,max,min,v)
P
� z$,z
Z�x,y);
dz$=�
n� z$=�(13) z=v � z=�(z$)
x)� z>=min � z<=max �x,y);�(z);"     "
�&� z>max �x,y);�(max);" MAX":z=max
�&� z<min �x,y);�(min);" MIN":z=min
�:=z
�
00000000  0d 00 0a 0d f4 20 42 61  6e 6e 65 72 73 0d 00 14  |..... Banners...|
00000010  1d f4 20 28 43 29 20 41  6c 6c 61 6e 20 4b 65 6c  |.. (C) Allan Kel|
00000020  6c 79 20 31 34 2f 38 2f  38 37 0d 00 1e 05 20 0d  |ly 14/8/87.... .|
00000030  00 28 12 de 20 63 68 61  72 73 25 28 39 34 2c 37  |.(.. chars%(94,7|
00000040  29 0d 00 32 0d de 20 64  61 74 61 20 31 30 0d 00  |)..2.. data 10..|
00000050  3c 0b f2 73 65 74 5f 75  70 0d 00 46 10 f2 65 70  |<..set_up..F..ep|
00000060  73 6f 6e 5f 63 6f 64 65  73 0d 00 50 0e f2 67 65  |son_codes..P..ge|
00000070  74 5f 66 6f 6e 74 73 0d  00 5a 05 20 0d 00 64 07  |t_fonts..Z. ..d.|
00000080  eb 20 37 0d 00 6e 05 f5  0d 00 78 05 f5 0d 00 82  |. 7..n....x.....|
00000090  05 db 0d 00 8c 3f f1 8a  30 2c 30 29 3b bd 28 31  |.....?..0,0);.(1|
000000a0  32 39 29 3b bd 28 31 35  37 29 3b bd 28 31 34 31  |29);.(157);.(141|
000000b0  29 3b 8a 31 30 2c 30 29  3b bd 28 31 33 31 29 3b  |);.10,0);.(131);|
000000c0  22 50 72 69 6e 74 65 72  20 42 61 6e 6e 65 72 73  |"Printer Banners|
000000d0  22 0d 00 96 3f f1 8a 30  2c 31 29 3b bd 28 31 32  |"...?..0,1);.(12|
000000e0  39 29 3b bd 28 31 35 37  29 3b bd 28 31 34 31 29  |9);.(157);.(141)|
000000f0  3b 8a 31 30 2c 31 29 3b  bd 28 31 33 31 29 3b 22  |;.10,1);.(131);"|
00000100  50 72 69 6e 74 65 72 20  42 61 6e 6e 65 72 73 22  |Printer Banners"|
00000110  0d 00 a0 21 f1 8a 37 2c  32 29 3b 22 28 43 29 20  |...!..7,2);"(C) |
00000120  41 6c 6c 61 6e 20 4b 65  6c 6c 79 20 31 39 38 37  |Allan Kelly 1987|
00000130  22 0d 00 aa 05 20 0d 00  b4 1f f1 27 27 89 28 35  |".... .....''.(5|
00000140  29 3b 22 53 20 2d 20 53  61 76 65 20 73 65 74 74  |);"S - Save sett|
00000150  69 6e 67 73 22 0d 00 be  1e f1 27 89 28 35 29 3b  |ings".....'.(5);|
00000160  22 4c 20 2d 20 53 61 76  65 20 73 65 74 74 69 6e  |"L - Save settin|
00000170  67 73 22 0d 00 c8 20 f1  27 89 28 35 29 3b 22 43  |gs"... .'.(5);"C|
00000180  20 2d 20 43 68 61 6e 67  65 20 73 65 74 74 69 6e  | - Change settin|
00000190  67 73 22 0d 00 d2 1e f1  27 89 28 35 29 3b 22 45  |gs".....'.(5);"E|
000001a0  20 2d 20 45 6e 74 65 72  20 6d 65 73 73 61 67 65  | - Enter message|
000001b0  22 0d 00 dc 1d f1 27 89  28 35 29 3b 22 50 20 2d  |".....'.(5);"P -|
000001c0  20 50 72 69 6e 74 20 62  61 6e 6e 65 72 22 0d 00  | Print banner"..|
000001d0  e6 15 f1 27 89 28 35 29  3b 22 51 20 2d 20 51 75  |...'.(5);"Q - Qu|
000001e0  69 74 22 0d 00 f0 05 20  0d 00 fa 0b 2a 46 58 32  |it".... ....*FX2|
000001f0  31 2c 30 0d 01 04 0c f5  20 6b 65 79 24 3d be 0d  |1,0..... key$=..|
00000200  01 0e 29 fd 20 a7 22 53  4c 43 45 50 51 2a 22 2c  |..). ."SLCEPQ*",|
00000210  6b 65 79 24 29 20 84 20  a7 22 73 6c 63 65 70 71  |key$) . ."slcepq|
00000220  2a 22 2c 6b 65 79 24 29  0d 01 18 14 6b 65 79 3d  |*",key$)....key=|
00000230  97 28 6b 65 79 24 29 20  80 26 44 46 0d 01 22 05  |.(key$) .&DF..".|
00000240  20 0d 01 2c 14 e7 20 6b  65 79 3d 97 22 53 22 20  | ..,.. key=."S" |
00000250  f2 73 61 76 65 0d 01 36  14 e7 20 6b 65 79 3d 97  |.save..6.. key=.|
00000260  22 4c 22 20 f2 6c 6f 61  64 0d 01 40 16 e7 20 6b  |"L" .load..@.. k|
00000270  65 79 3d 97 22 43 22 20  f2 63 68 61 6e 67 65 0d  |ey=."C" .change.|
00000280  01 4a 17 e7 20 6b 65 79  3d 97 22 45 22 20 f2 6d  |.J.. key=."E" .m|
00000290  65 73 73 61 67 65 0d 01  54 1b e7 20 6b 65 79 3d  |essage..T.. key=|
000002a0  97 22 50 22 20 eb 33 3a  f2 70 72 69 6e 74 3a eb  |."P" .3:.print:.|
000002b0  37 0d 01 5e 10 e7 20 6b  65 79 3d 31 30 20 f2 6f  |7..^.. key=10 .o|
000002c0  73 0d 01 68 0e fd 20 6b  65 79 3d 97 22 51 22 0d  |s..h.. key=."Q".|
000002d0  01 72 1c fd 20 a4 74 65  73 74 28 22 41 72 65 20  |.r.. .test("Are |
000002e0  79 6f 75 20 73 75 72 65  3f 22 29 0d 01 7c 05 e0  |you sure?")..|..|
000002f0  0d 01 86 05 20 0d 01 90  08 dd f2 6f 73 0d 01 9a  |.... ......os...|
00000300  0d ea 20 6f 73 24 2c 6b  65 79 0d 01 a4 0e f5 20  |.. os$,key..... |
00000310  e8 27 22 2a 22 6f 73 24  0d 01 ae 0d 24 26 43 30  |.'"*"os$....$&C0|
00000320  30 3d 6f 73 24 0d 01 b8  08 58 25 3d 30 0d 01 c2  |0=os$....X%=0...|
00000330  09 59 25 3d 26 43 0d 01  cc 0a d6 26 46 46 46 37  |.Y%=&C.....&FFF7|
00000340  0d 01 d6 0b 2a 46 58 32  31 2c 30 0d 01 e0 09 6b  |....*FX21,0....k|
00000350  65 79 3d a5 0d 01 ea 0d  fd 20 6b 65 79 3c 3e 34  |ey=...... key<>4|
00000360  32 0d 01 f4 05 e1 0d 01  fe 05 20 0d 02 08 0c dd  |2......... .....|
00000370  f2 63 68 61 6e 67 65 0d  02 12 09 ea 20 6b 65 79  |.change..... key|
00000380  0d 02 1c 05 db 0d 02 26  23 f1 8a 34 2c 30 29 3b  |.......&#..4,0);|
00000390  bd 28 31 34 31 29 3b 22  43 68 61 6e 67 65 20 53  |.(141);"Change S|
000003a0  65 74 74 69 6e 67 73 22  0d 02 30 23 f1 8a 34 2c  |ettings"..0#..4,|
000003b0  31 29 3b bd 28 31 34 31  29 3b 22 43 68 61 6e 67  |1);.(141);"Chang|
000003c0  65 20 53 65 74 74 69 6e  67 73 22 0d 02 3a 25 f1  |e Settings"..:%.|
000003d0  8a 30 2c 32 29 3b 22 56  65 72 74 69 63 61 6c 20  |.0,2);"Vertical |
000003e0  6d 75 6c 74 69 70 6c 69  65 72 3a 22 3b 76 6d 25  |multiplier:";vm%|
000003f0  0d 02 44 28 f1 8a 30 2c  33 29 3b 22 48 6f 72 69  |..D(..0,3);"Hori|
00000400  7a 74 6f 6e 74 61 6c 20  6d 75 6c 74 69 70 6c 69  |ztontal multipli|
00000410  65 72 3a 22 3b 68 6d 25  0d 02 4e 1c f1 8a 30 2c  |er:";hm%..N...0,|
00000420  34 29 3b 22 4c 65 66 74  20 67 61 70 3a 22 3b 6c  |4);"Left gap:";l|
00000430  65 66 74 25 0d 02 58 1a  f1 8a 30 2c 35 29 3b 22  |eft%..X...0,5);"|
00000440  54 6f 70 20 67 61 70 3a  22 3b 74 6f 70 25 0d 02  |Top gap:";top%..|
00000450  62 20 f1 8a 30 2c 36 29  3b 22 42 6f 74 74 6f 6d  |b ..0,6);"Bottom|
00000460  20 67 61 70 3a 22 3b 62  6f 74 74 6f 6d 25 0d 02  | gap:";bottom%..|
00000470  6c 32 f1 8a 30 2c 38 29  3b 22 46 6f 75 72 67 6f  |l2..0,8);"Fourgo|
00000480  75 6e 64 20 63 68 61 72  61 63 74 65 72 3a 22 3b  |und character:";|
00000490  bd 28 6f 75 74 25 29 3b  22 20 22 3b 6f 75 74 25  |.(out%);" ";out%|
000004a0  0d 02 76 34 f1 8a 30 2c  39 29 3b 22 42 61 63 6b  |..v4..0,9);"Back|
000004b0  67 6f 75 6e 64 20 63 68  61 72 61 63 74 65 72 3a  |gound character:|
000004c0  22 3b bd 28 62 61 63 6b  25 29 3b 22 20 22 3b 62  |";.(back%);" ";b|
000004d0  61 63 6b 25 0d 02 80 28  f1 8a 30 2c 31 31 29 3b  |ack%...(..0,11);|
000004e0  22 4c 69 6e 65 20 73 70  61 63 69 6e 67 20 6e 2f  |"Line spacing n/|
000004f0  32 31 36 3a 22 3b 73 70  61 63 65 25 0d 02 8a 05  |216:";space%....|
00000500  20 0d 02 94 05 f5 0d 02  9e 11 f1 8a 30 2c 32 30  | ...........0,20|
00000510  29 3b 89 28 33 38 29 0d  02 a8 05 20 0d 02 b2 21  |);.(38).... ...!|
00000520  76 6d 25 3d a4 67 65 74  5f 76 61 6c 75 65 28 32  |vm%=.get_value(2|
00000530  35 2c 32 2c 31 30 2c 31  2c 76 6d 25 29 0d 02 bc  |5,2,10,1,vm%)...|
00000540  21 68 6d 25 3d a4 67 65  74 5f 76 61 6c 75 65 28  |!hm%=.get_value(|
00000550  32 35 2c 33 2c 31 30 2c  31 2c 68 6d 25 29 0d 02  |25,3,10,1,hm%)..|
00000560  c6 25 6c 65 66 74 25 3d  a4 67 65 74 5f 76 61 6c  |.%left%=.get_val|
00000570  75 65 28 32 35 2c 34 2c  34 30 2c 30 2c 6c 65 66  |ue(25,4,40,0,lef|
00000580  74 25 29 0d 02 d0 23 74  6f 70 25 3d a4 67 65 74  |t%)...#top%=.get|
00000590  5f 76 61 6c 75 65 28 32  35 2c 35 2c 34 30 2c 30  |_value(25,5,40,0|
000005a0  2c 74 6f 70 25 29 0d 02  da 29 62 6f 74 74 6f 6d  |,top%)...)bottom|
000005b0  25 3d a4 67 65 74 5f 76  61 6c 75 65 28 32 35 2c  |%=.get_value(25,|
000005c0  36 2c 34 30 2c 30 2c 62  6f 74 74 6f 6d 25 29 0d  |6,40,0,bottom%).|
000005d0  02 e4 25 6f 75 74 25 3d  a4 67 65 74 5f 61 73 63  |..%out%=.get_asc|
000005e0  69 69 28 32 35 2c 38 2c  31 32 36 2c 33 32 2c 6f  |ii(25,8,126,32,o|
000005f0  75 74 25 29 0d 02 ee 27  62 61 63 6b 25 3d a4 67  |ut%)...'back%=.g|
00000600  65 74 5f 61 73 63 69 69  28 32 35 2c 39 2c 31 32  |et_ascii(25,9,12|
00000610  36 2c 33 32 2c 62 61 63  6b 25 29 0d 02 f8 29 73  |6,32,back%)...)s|
00000620  70 61 63 65 25 3d a4 67  65 74 5f 76 61 6c 75 65  |pace%=.get_value|
00000630  28 32 35 2c 31 31 2c 32  31 36 2c 31 2c 73 70 61  |(25,11,216,1,spa|
00000640  63 65 25 29 0d 03 02 2e  f1 8a 30 2c 32 30 29 3b  |ce%)......0,20);|
00000650  22 52 45 54 55 52 4e 20  74 6f 20 72 65 70 65 61  |"RETURN to repea|
00000660  74 2c 20 53 50 41 43 45  20 66 6f 72 20 6d 65 6e  |t, SPACE for men|
00000670  75 22 0d 03 0c 0b 2a 46  58 32 31 2c 30 0d 03 16  |u"....*FX21,0...|
00000680  0b f5 20 6b 65 79 3d a5  0d 03 20 15 fd 20 6b 65  |.. key=... .. ke|
00000690  79 3d 31 33 20 84 20 6b  65 79 3d 33 32 0d 03 2a  |y=13 . key=32..*|
000006a0  0c fd 20 6b 65 79 3d 33  32 0d 03 34 05 e1 0d 03  |.. key=32..4....|
000006b0  3e 05 20 0d 03 48 0d dd  f2 6d 65 73 73 61 67 65  |>. ..H...message|
000006c0  0d 03 52 08 ea 20 78 24  0d 03 5c 05 db 0d 03 66  |..R.. x$..\....f|
000006d0  1b f1 8a 34 2c 31 29 3b  bd 28 31 34 31 29 3b 22  |...4,1);.(141);"|
000006e0  4d 65 73 73 61 67 65 22  0d 03 70 1b f1 8a 34 2c  |Message"..p...4,|
000006f0  32 29 3b bd 28 31 34 31  29 3b 22 4d 65 73 73 61  |2);.(141);"Messa|
00000700  67 65 22 0d 03 7a 21 f1  27 27 22 43 75 72 72 65  |ge"..z!.''"Curre|
00000710  6e 74 20 6d 65 73 73 61  67 65 3a 22 6d 65 73 73  |nt message:"mess|
00000720  61 67 65 24 0d 03 84 18  e8 27 27 3b 22 4e 65 77  |age$.....'';"New|
00000730  20 6d 65 73 73 61 67 65  3a 22 78 24 0d 03 8e 18  | message:"x$....|
00000740  e7 20 78 24 3c 3e 22 22  20 6d 65 73 73 61 67 65  |. x$<>"" message|
00000750  24 3d 78 24 0d 03 98 05  20 0d 03 a2 19 f1 27 27  |$=x$.... .....''|
00000760  22 50 72 65 20 6d 65 73  73 61 67 65 3a 22 70 72  |"Pre message:"pr|
00000770  65 24 0d 03 ac 17 e8 27  3b 22 50 72 65 20 6d 65  |e$.....';"Pre me|
00000780  73 73 61 67 65 3a 22 78  24 0d 03 b6 14 e7 20 78  |ssage:"x$..... x|
00000790  24 3c 3e 22 22 20 70 72  65 24 3d 78 24 0d 03 c0  |$<>"" pre$=x$...|
000007a0  05 20 0d 03 ca 1b f1 27  27 22 50 6f 73 74 20 6d  |. .....''"Post m|
000007b0  65 73 73 61 67 65 3a 22  70 6f 73 74 24 0d 03 d4  |essage:"post$...|
000007c0  18 e8 27 3b 22 50 6f 73  74 20 6d 65 73 73 61 67  |..';"Post messag|
000007d0  65 3a 22 78 24 0d 03 de  15 e7 20 78 24 3c 3e 22  |e:"x$..... x$<>"|
000007e0  22 20 70 6f 73 74 24 3d  78 24 0d 03 e8 05 e1 0d  |" post$=x$......|
000007f0  03 f2 05 20 0d 03 fc 0b  dd f2 70 72 69 6e 74 0d  |... ......print.|
00000800  04 06 14 ea 20 70 72 69  6e 74 25 2c 6b 65 79 2c  |.... print%,key,|
00000810  76 68 25 0d 04 10 05 db  0d 04 1a 1f 70 72 69 6e  |vh%.........prin|
00000820  74 25 3d a4 74 65 73 74  28 22 50 72 69 6e 74 65  |t%=.test("Printe|
00000830  72 20 6f 6e 3f 22 29 0d  04 24 26 f1 22 56 65 72  |r on?")..$&."Ver|
00000840  74 69 63 61 6c 20 28 56  29 20 6f 72 20 48 6f 72  |tical (V) or Hor|
00000850  69 7a 6f 6e 74 61 6c 20  28 48 29 3f 22 0d 04 2e  |izontal (H)?"...|
00000860  0b 2a 46 58 32 31 2c 30  0d 04 38 10 f5 20 6b 65  |.*FX21,0..8.. ke|
00000870  79 3d a5 20 80 26 44 46  0d 04 42 19 fd 20 6b 65  |y=. .&DF..B.. ke|
00000880  79 3d 97 22 48 22 20 84  20 6b 65 79 3d 97 22 56  |y=."H" . key=."V|
00000890  22 0d 04 4c 1c e7 20 6b  65 79 3d 97 22 48 22 20  |"..L.. key=."H" |
000008a0  76 68 25 3d a3 20 8b 20  76 68 25 3d b9 0d 04 56  |vh%=. . vh%=...V|
000008b0  2b e7 20 70 72 69 6e 74  25 20 ef 20 32 2c 31 2c  |+. print% . 2,1,|
000008c0  65 73 63 25 2c 31 2c 73  70 5f 63 6f 64 65 25 2c  |esc%,1,sp_code%,|
000008d0  31 2c 73 70 61 63 65 25  0d 04 60 15 e7 20 70 72  |1,space%..`.. pr|
000008e0  65 24 3c 3e 22 22 20 f1  70 72 65 24 27 0d 04 6a  |e$<>"" .pre$'..j|
000008f0  35 e7 20 76 68 25 20 f2  76 65 72 74 69 63 61 6c  |5. vh% .vertical|
00000900  28 6d 65 73 73 61 67 65  24 29 20 8b 20 f2 68 6f  |(message$) . .ho|
00000910  72 69 7a 6f 6e 74 61 6c  28 6d 65 73 73 61 67 65  |rizontal(message|
00000920  24 29 0d 04 74 17 e7 20  70 6f 73 74 24 3c 3e 22  |$)..t.. post$<>"|
00000930  22 20 f1 70 6f 73 74 24  27 0d 04 7e 10 e7 20 70  |" .post$'..~.. p|
00000940  72 69 6e 74 25 20 ef 20  33 0d 04 88 0b f2 72 65  |rint% . 3.....re|
00000950  74 75 72 6e 0d 04 92 05  e1 0d 04 9c 05 20 0d 04  |turn......... ..|
00000960  a6 14 dd f2 68 6f 72 69  7a 6f 6e 74 61 6c 28 78  |....horizontal(x|
00000970  24 29 0d 04 b0 18 ea 20  63 68 61 72 2c 78 25 2c  |$)..... char,x%,|
00000980  68 6c 25 2c 79 25 2c 76  6c 25 0d 04 ba 19 e3 20  |hl%,y%,vl%..... |
00000990  63 68 61 72 3d a9 28 78  24 29 20 b8 20 31 20 88  |char=.(x$) . 1 .|
000009a0  20 2d 31 0d 04 c4 19 e7  20 74 6f 70 25 3e 30 20  | -1..... top%>0 |
000009b0  f2 6c 69 6e 65 73 28 74  6f 70 25 29 0d 04 ce 0e  |.lines(top%)....|
000009c0  e3 20 78 25 3d 30 20 b8  20 37 0d 04 d8 11 e3 20  |. x%=0 . 7..... |
000009d0  68 6c 25 3d 31 20 b8 20  68 6d 25 0d 04 e2 0f f1  |hl%=1 . hm%.....|
000009e0  27 89 28 6c 65 66 74 25  29 3b 0d 04 ec 0e e3 20  |'.(left%);..... |
000009f0  79 25 3d 30 20 b8 20 37  0d 04 f6 11 e3 20 76 6c  |y%=0 . 7..... vl|
00000a00  25 3d 31 20 b8 20 76 6d  25 0d 05 00 40 e7 20 63  |%=1 . vm%...@. c|
00000a10  68 61 72 73 25 28 97 28  c1 6d 65 73 73 61 67 65  |hars%(.(.message|
00000a20  24 2c 63 68 61 72 2c 31  29 29 2d 33 32 2c 79 25  |$,char,1))-32,y%|
00000a30  29 20 80 20 32 5e 78 25  20 ef 20 6f 75 74 25 20  |) . 2^x% . out% |
00000a40  8b 20 ef 20 62 61 63 6b  25 0d 05 0a 05 ed 0d 05  |. . back%.......|
00000a50  14 05 ed 0d 05 1e 05 ed  0d 05 28 05 ed 0d 05 32  |..........(....2|
00000a60  1f e7 20 62 6f 74 74 6f  6d 25 3e 30 20 f2 6c 69  |.. bottom%>0 .li|
00000a70  6e 65 73 28 62 6f 74 74  6f 6d 25 29 0d 05 3c 05  |nes(bottom%)..<.|
00000a80  ed 0d 05 46 05 e1 0d 05  50 05 20 0d 05 5a 12 dd  |...F....P. ..Z..|
00000a90  f2 76 65 72 74 69 63 61  6c 28 78 24 29 0d 05 64  |.vertical(x$)..d|
00000aa0  18 ea 20 63 68 61 72 2c  78 25 2c 68 6c 25 2c 79  |.. char,x%,hl%,y|
00000ab0  25 2c 76 6c 25 0d 05 6e  14 e3 20 63 68 61 72 3d  |%,vl%..n.. char=|
00000ac0  31 20 b8 20 a9 28 78 24  29 0d 05 78 19 e7 20 74  |1 . .(x$)..x.. t|
00000ad0  6f 70 25 3e 30 20 f2 6c  69 6e 65 73 28 74 6f 70  |op%>0 .lines(top|
00000ae0  25 29 0d 05 82 0e e3 20  78 25 3d 30 20 b8 20 37  |%)..... x%=0 . 7|
00000af0  0d 05 8c 11 e3 20 68 6c  25 3d 31 20 b8 20 68 6d  |..... hl%=1 . hm|
00000b00  25 0d 05 96 0f f1 27 89  28 6c 65 66 74 25 29 3b  |%.....'.(left%);|
00000b10  0d 05 a0 13 e3 20 79 25  3d 37 20 b8 20 30 20 88  |..... y%=7 . 0 .|
00000b20  20 2d 31 0d 05 aa 11 e3  20 76 6c 25 3d 31 20 b8  | -1..... vl%=1 .|
00000b30  20 76 6d 25 0d 05 b4 40  e7 20 63 68 61 72 73 25  | vm%...@. chars%|
00000b40  28 97 28 c1 6d 65 73 73  61 67 65 24 2c 63 68 61  |(.(.message$,cha|
00000b50  72 2c 31 29 29 2d 33 32  2c 78 25 29 20 80 20 32  |r,1))-32,x%) . 2|
00000b60  5e 79 25 20 ef 20 6f 75  74 25 20 8b 20 ef 20 62  |^y% . out% . . b|
00000b70  61 63 6b 25 0d 05 be 05  ed 0d 05 c8 05 ed 0d 05  |ack%............|
00000b80  d2 05 ed 0d 05 dc 05 ed  0d 05 e6 1f e7 20 62 6f  |............. bo|
00000b90  74 74 6f 6d 25 3e 30 20  f2 6c 69 6e 65 73 28 62  |ttom%>0 .lines(b|
00000ba0  6f 74 74 6f 6d 25 29 0d  05 f0 05 ed 0d 05 fa 05  |ottom%).........|
00000bb0  e1 0d 06 04 05 20 0d 06  0e 0a dd f2 73 61 76 65  |..... ......save|
00000bc0  0d 06 18 10 ea 20 66 69  6c 65 2c 66 69 6c 65 24  |..... file,file$|
00000bd0  0d 06 22 08 f2 63 61 74  0d 06 2c 14 66 69 6c 65  |.."..cat..,.file|
00000be0  24 3d a4 66 69 6c 65 5f  6e 61 6d 65 0d 06 36 11  |$=.file_name..6.|
00000bf0  66 69 6c 65 3d 8e 28 66  69 6c 65 24 29 0d 06 40  |file=.(file$)..@|
00000c00  36 e7 20 66 69 6c 65 3c  3e 30 20 f1 22 46 69 6c  |6. file<>0 ."Fil|
00000c10  65 20 65 78 69 73 74 73  2e 22 3a e7 20 a4 74 65  |e exists.":. .te|
00000c20  73 74 28 22 43 6f 6e 74  69 6e 75 65 3f 22 29 3d  |st("Continue?")=|
00000c30  a3 20 e1 0d 06 4a 0a d9  23 66 69 6c 65 0d 06 54  |. ...J..#file..T|
00000c40  11 66 69 6c 65 3d ae 28  66 69 6c 65 24 29 0d 06  |.file=.(file$)..|
00000c50  5e 12 f1 23 66 69 6c 65  2c 76 6d 25 2c 68 6d 25  |^..#file,vm%,hm%|
00000c60  0d 06 68 1d f1 23 66 69  6c 65 2c 6c 65 66 74 25  |..h..#file,left%|
00000c70  2c 74 6f 70 25 2c 62 6f  74 74 6f 6d 25 0d 06 72  |,top%,bottom%..r|
00000c80  1c f1 23 66 69 6c 65 2c  73 70 61 63 65 25 2c 6f  |..#file,space%,o|
00000c90  75 74 25 2c 62 61 63 6b  25 0d 06 7c 1e f1 23 66  |ut%,back%..|..#f|
00000ca0  69 6c 65 2c 6d 65 73 73  61 67 65 24 2c 70 72 65  |ile,message$,pre|
00000cb0  24 2c 70 6f 73 74 24 0d  06 86 0a d9 23 66 69 6c  |$,post$.....#fil|
00000cc0  65 0d 06 90 05 e1 0d 06  9a 05 20 0d 06 a4 0a dd  |e......... .....|
00000cd0  f2 6c 6f 61 64 0d 06 ae  10 ea 20 66 69 6c 65 2c  |.load..... file,|
00000ce0  66 69 6c 65 24 0d 06 b8  08 f2 63 61 74 0d 06 c2  |file$.....cat...|
00000cf0  14 66 69 6c 65 24 3d a4  66 69 6c 65 5f 6e 61 6d  |.file$=.file_nam|
00000d00  65 0d 06 cc 11 66 69 6c  65 3d 8e 28 66 69 6c 65  |e....file=.(file|
00000d10  24 29 0d 06 d6 2d e7 20  66 69 6c 65 3d 30 20 f1  |$)...-. file=0 .|
00000d20  22 46 69 6c 65 20 64 6f  65 73 20 6e 6f 74 20 65  |"File does not e|
00000d30  78 69 73 74 22 3a f2 72  65 74 75 72 6e 3a e1 0d  |xist":.return:..|
00000d40  06 e0 05 20 0d 06 ea 12  e8 23 66 69 6c 65 2c 76  |... .....#file,v|
00000d50  6d 25 2c 68 6d 25 0d 06  f4 1d e8 23 66 69 6c 65  |m%,hm%.....#file|
00000d60  2c 6c 65 66 74 25 2c 74  6f 70 25 2c 62 6f 74 74  |,left%,top%,bott|
00000d70  6f 6d 25 0d 06 fe 1c e8  23 66 69 6c 65 2c 73 70  |om%.....#file,sp|
00000d80  61 63 65 25 2c 6f 75 74  25 2c 62 61 63 6b 25 0d  |ace%,out%,back%.|
00000d90  07 08 1e e8 23 66 69 6c  65 2c 6d 65 73 73 61 67  |....#file,messag|
00000da0  65 24 2c 70 72 65 24 2c  70 6f 73 74 24 0d 07 12  |e$,pre$,post$...|
00000db0  0a d9 23 66 69 6c 65 0d  07 1c 05 e1 0d 07 26 05  |..#file.......&.|
00000dc0  20 0d 07 30 09 dd f2 63  61 74 0d 07 3a 1e e7 20  | ..0...cat..:.. |
00000dd0  a4 74 65 73 74 28 22 43  61 74 61 6c 6f 67 75 65  |.test("Catalogue|
00000de0  3f 22 29 20 8c 20 2a 2e  0d 07 44 05 e1 0d 07 4e  |?") . *...D....N|
00000df0  05 20 0d 07 58 0f dd a4  66 69 6c 65 5f 6e 61 6d  |. ..X...file_nam|
00000e00  65 0d 07 62 08 ea 20 78  24 0d 07 6c 05 f5 0d 07  |e..b.. x$..l....|
00000e10  76 13 e8 27 22 46 69 6c  65 6e 61 6d 65 3a 22 78  |v..'"Filename:"x|
00000e20  24 0d 07 80 0c fd 20 78  24 3c 3e 22 22 0d 07 8a  |$..... x$<>""...|
00000e30  08 3a 3d 78 24 0d 07 94  05 20 0d 07 9e 0c dd f2  |.:=x$.... ......|
00000e40  73 65 74 5f 75 70 0d 07  a8 0c 70 72 69 6e 74 25  |set_up....print%|
00000e50  3d a3 0d 07 b2 09 76 6d  25 3d 31 0d 07 bc 09 68  |=.....vm%=1....h|
00000e60  6d 25 3d 31 0d 07 c6 0b  6c 65 66 74 25 3d 30 0d  |m%=1....left%=0.|
00000e70  07 d0 0d 6f 75 74 25 3d  97 22 58 22 0d 07 da 0e  |...out%=."X"....|
00000e80  62 61 63 6b 25 3d 97 22  20 22 0d 07 e4 0f 6d 65  |back%=." "....me|
00000e90  73 73 61 67 65 24 3d 22  22 0d 07 ee 0b 70 72 65  |ssage$=""....pre|
00000ea0  24 3d 22 22 0d 07 f8 0c  70 6f 73 74 24 3d 22 22  |$=""....post$=""|
00000eb0  0d 08 02 0a 74 6f 70 25  3d 30 0d 08 0c 0d 62 6f  |....top%=0....bo|
00000ec0  74 74 6f 6d 25 3d 30 0d  08 16 0d 73 70 61 63 65  |ttom%=0....space|
00000ed0  25 3d 33 36 0d 08 20 05  e1 0d 08 2a 05 20 0d 08  |%=36.. ....*. ..|
00000ee0  34 11 dd f2 65 70 73 6f  6e 5f 63 6f 64 65 73 0d  |4...epson_codes.|
00000ef0  08 3e 0b 65 73 63 25 3d  32 37 0d 08 48 21 f4 20  |.>.esc%=27..H!. |
00000f00  6c 69 6e 65 20 73 70 61  63 69 6e 67 20 63 6f 64  |line spacing cod|
00000f10  65 20 66 6f 72 20 6e 2f  32 31 36 0d 08 52 11 73  |e for n/216..R.s|
00000f20  70 5f 63 6f 64 65 25 3d  97 22 33 22 0d 08 5c 05  |p_code%=."3"..\.|
00000f30  e1 0d 08 66 05 20 0d 08  70 0f dd f2 67 65 74 5f  |...f. ..p...get_|
00000f40  66 6f 6e 74 73 0d 08 7a  0c ea 20 67 65 74 25 2c  |fonts..z.. get%,|
00000f50  78 0d 08 84 20 f1 27 27  22 52 65 61 64 69 6e 67  |x... .''"Reading|
00000f60  20 43 68 61 72 61 63 74  65 72 20 66 6f 6e 74 73  | Character fonts|
00000f70  22 0d 08 8e 13 e3 20 67  65 74 25 3d 33 32 20 b8  |"..... get%=32 .|
00000f80  20 31 32 36 0d 08 98 0e  3f 64 61 74 61 3d 67 65  | 126....?data=ge|
00000f90  74 25 0d 08 a2 09 41 25  3d 31 30 0d 08 ac 11 58  |t%....A%=10....X|
00000fa0  25 3d 64 61 74 61 20 83  20 32 35 36 0d 08 b6 11  |%=data . 256....|
00000fb0  59 25 3d 64 61 74 61 20  81 20 32 35 36 0d 08 c0  |Y%=data . 256...|
00000fc0  0a d6 26 46 46 46 31 0d  08 ca 0d e3 20 78 3d 30  |..&FFF1..... x=0|
00000fd0  20 b8 20 37 0d 08 d4 21  63 68 61 72 73 25 28 67  | . 7...!chars%(g|
00000fe0  65 74 25 2d 33 32 2c 78  29 3d 3f 28 64 61 74 61  |et%-32,x)=?(data|
00000ff0  2b 31 2b 78 29 0d 08 de  05 ed 0d 08 e8 05 ed 0d  |+1+x)...........|
00001000  08 f2 05 e1 0d 08 fc 05  20 0d 09 06 0e dd a4 74  |........ ......t|
00001010  65 73 74 28 78 24 29 0d  09 10 09 ea 20 6b 65 79  |est(x$)..... key|
00001020  0d 09 1a 08 f1 27 78 24  0d 09 24 0b 2a 46 58 32  |.....'x$..$.*FX2|
00001030  31 2c 30 0d 09 2e 10 f5  20 6b 65 79 3d a5 20 80  |1,0..... key=. .|
00001040  26 44 46 0d 09 38 19 fd  20 6b 65 79 3d 97 22 59  |&DF..8.. key=."Y|
00001050  22 20 84 20 6b 65 79 3d  97 22 4e 22 0d 09 42 12  |" . key=."N"..B.|
00001060  e7 20 6b 65 79 3d 97 22  59 22 20 3a 3d b9 0d 09  |. key=."Y" :=...|
00001070  4c 07 3a 3d a3 0d 09 56  05 20 0d 09 60 0c dd f2  |L.:=...V. ..`...|
00001080  72 65 74 75 72 6e 0d 09  6a 1a f1 27 89 28 31 30  |return..j..'.(10|
00001090  29 3b 22 50 72 65 73 73  20 52 45 54 55 52 4e 22  |);"Press RETURN"|
000010a0  0d 09 74 0b 2a 46 58 32  31 2c 30 0d 09 7e 0c f5  |..t.*FX21,0..~..|
000010b0  20 fd 20 a5 3d 31 33 0d  09 88 05 e1 0d 09 92 05  | . .=13.........|
000010c0  20 0d 09 9c 1e dd a4 67  65 74 5f 76 61 6c 75 65  | ......get_value|
000010d0  28 78 2c 79 2c 6d 61 78  2c 6d 69 6e 2c 76 29 0d  |(x,y,max,min,v).|
000010e0  09 a6 0a ea 20 7a 24 2c  7a 0d 09 b0 0b f1 8a 78  |.... z$,z......x|
000010f0  2c 79 29 3b 0d 09 ba 08  e8 20 7a 24 0d 09 c4 19  |,y);..... z$....|
00001100  e7 20 7a 24 3d 22 22 20  7a 3d 76 20 8b 20 7a 3d  |. z$="" z=v . z=|
00001110  a0 28 7a 24 29 0d 09 ce  26 e7 20 7a 3e 3d 6d 69  |.(z$)...&. z>=mi|
00001120  6e 20 84 20 7a 3c 3d 6d  61 78 20 f1 8a 78 2c 79  |n . z<=max ..x,y|
00001130  29 3b 7a 3b 22 20 20 20  20 20 22 0d 09 d8 23 e7  |);z;"     "...#.|
00001140  20 7a 3e 6d 61 78 20 f1  8a 78 2c 79 29 3b 6d 61  | z>max ..x,y);ma|
00001150  78 3b 22 20 4d 41 58 22  3a 7a 3d 6d 61 78 0d 09  |x;" MAX":z=max..|
00001160  e2 23 e7 20 7a 3c 6d 69  6e 20 f1 8a 78 2c 79 29  |.#. z<min ..x,y)|
00001170  3b 6d 69 6e 3b 22 20 4d  49 4e 22 3a 7a 3d 6d 69  |;min;" MIN":z=mi|
00001180  6e 0d 09 ec 07 3a 3d 7a  0d 09 f6 05 20 0d 0a 00  |n....:=z.... ...|
00001190  0e dd f2 6c 69 6e 65 73  28 78 29 0d 0a 0a 07 ea  |...lines(x).....|
000011a0  20 79 0d 0a 14 0d e3 20  79 3d 31 20 b8 20 58 0d  | y..... y=1 . X.|
000011b0  0a 1e 06 f1 27 0d 0a 28  05 ed 0d 0a 32 05 e1 0d  |....'..(....2...|
000011c0  0a 3c 05 20 0d 0a 46 1e  dd a4 67 65 74 5f 61 73  |.<. ..F...get_as|
000011d0  63 69 69 28 78 2c 79 2c  6d 61 78 2c 6d 69 6e 2c  |cii(x,y,max,min,|
000011e0  76 29 0d 0a 50 0a ea 20  7a 24 2c 7a 0d 0a 5a 0b  |v)..P.. z$,z..Z.|
000011f0  f1 8a 78 2c 79 29 3b 0d  0a 64 08 7a 24 3d be 0d  |..x,y);..d.z$=..|
00001200  0a 6e 1c e7 20 7a 24 3d  bd 28 31 33 29 20 7a 3d  |.n.. z$=.(13) z=|
00001210  76 20 8b 20 7a 3d 97 28  7a 24 29 0d 0a 78 29 e7  |v . z=.(z$)..x).|
00001220  20 7a 3e 3d 6d 69 6e 20  84 20 7a 3c 3d 6d 61 78  | z>=min . z<=max|
00001230  20 f1 8a 78 2c 79 29 3b  bd 28 7a 29 3b 22 20 20  | ..x,y);.(z);"  |
00001240  20 20 20 22 0d 0a 82 26  e7 20 7a 3e 6d 61 78 20  |   "...&. z>max |
00001250  f1 8a 78 2c 79 29 3b bd  28 6d 61 78 29 3b 22 20  |..x,y);.(max);" |
00001260  4d 41 58 22 3a 7a 3d 6d  61 78 0d 0a 8c 26 e7 20  |MAX":z=max...&. |
00001270  7a 3c 6d 69 6e 20 f1 8a  78 2c 79 29 3b bd 28 6d  |z<min ..x,y);.(m|
00001280  69 6e 29 3b 22 20 4d 49  4e 22 3a 7a 3d 6d 69 6e  |in);" MIN":z=min|
00001290  0d 0a 96 07 3a 3d 7a 0d  ff                       |....:=z..|
00001299
04-11-88/BANNERS.m0
04-11-88/BANNERS.m1
04-11-88/BANNERS.m2
04-11-88/BANNERS.m4
04-11-88/BANNERS.m5