Home » CEEFAX disks » telesoftware1.adl » CeeFax/LOADALL

CeeFax/LOADALL

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 » telesoftware1.adl
Filename: CeeFax/LOADALL
Read OK:
File size: 16E6 bytes
Load address: FFFF0E00
Exec address: FFFF802B
File contents
   10REM"�ATS6a
   20REM"�*****************************
   30REM"�*�ATS�Routine to interpret �*
   40REM"�*�catalogue info & download�*
   50REM"�*�files                    �*
   60REM"�*****************************
   70REM"�*�(C)�J.J.Brayshaw�May 1987�*
   80REM"�*****************************
   90REM"�*�Lines following�GREEN�REM�*
  100REM"�*�statements to be adjusted�*
  110REM"�*�as required.             �*
  120REM"�*�REM's in�YELLOW�for info.�*
  130REM"�*�only.                    �*
  140REM"�*****************************
  150ONERRORGOTO510
  160MODE7
  170VDU23;8202;0;0;0;
  180*TTXON
  190REM"�Select channel:
  200*BBC2
  210*HON
  220PROCmove_oshwm
  230DIM space 20,name 12,line 15
  240DIMpage%(35),fname$(35),load%(35),exec%(35),pages$(35),mag%(35),col$(35),type$(35), mark%(35), mc$(35)
  250DIM D(5)
  260Z%=0
  270PROCheading("File:�Catalogue")
  280A%=TIME:REPEAT:UNTILTIME>A%+200
  290PROCfindcat(FNgetlink)
  300IFM%>9 ORN%>&FE PROCheading("�Error�- No Catalogue"):GOTO510
  310PROCheading("File:�Catalogue    �Page:�"+STR$(M%)+RIGHT$("00"+STR$~(N%),2))
  320PRINTTAB(0,0);"P";STR$(M%);RIGHT$("00"+STR$~(N%),2)
  330PROCdownload(M%,N%,"CATALOG",0,0,FALSE,TRUE)
  340PROCinterpret
  350IFZ%=0 MODE7:PROCheading("�No valid files broadcast this week"):GOTO510
  360PROCchoose(Z%)
  370FORW%=1TOZ%
  380IF mark%(W%) = 0 THEN GOTO 430
  390MODE7:VDU23;8202;0;0;0;
  400PROCheading("File:�"+fname$(W%)+STRING$((12-LEN(fname$(W%)))," ")+"�Length:�"+pages$(W%))
  410PRINTTAB(0,0);"P";mag%(W%);RIGHT$("00"+STR$~(page%(W%)),2)
  420PROCdownload(mag%(W%),page%(W%),fname$(W%),load%(W%),exec%(W%),TRUE,TRUE)
  430NEXT
  440MODE7
  450*HOFF
  460PROCheading("�Files downloaded:")
  470FORA%=1TOZ%
  480IF mark%(A%) = 0 THEN GOTO 500
  490PRINT;col$(A%);LEFT$(fname$(A%)+"        ",8);LEFT$("("+type$(A%)+")      ",8);" ";LEFT$(pages$(A%)+"         ",9);"�Ld";col$(A%);"&";RIGHT$("00000"+STR$~(load%(A%)),6)
  500NEXT
  510*HOFF
  520PROCreturn_oshwm
  530*FX4
  540END
  550:
  560DEFPROCmove_oshwm
  570S%=&5000
  580A%=&B4:X%=S%DIV256:Y%=0:CALL&FFF4
  590ENDPROC
  600:
  610DEFPROCdownload(magazine%,page%,filename$,load%,exec%,save%,reset%)
  620PROCoscli("MAGAZINE "+STR$(magazine%))
  630space?0=24
  640space?1=name MOD256:space?2=name DIV256
  650$name=filename$
  660space!3=load%
  670space!7=exec%
  680space?11=magazine%
  690space?12=page%
  700IFsave%=TRUE space?13=1 ELSE space?13=0
  710IFreset%=TRUE space?14=0 ELSE space?14=1
  720A%=&7A:X%=space MOD256:Y%=space DIV256
  730CALL&FFF1
  740ENDPROC
  750:
  760DEFPROCoscli(text$)
  770$line=text$:X%=line MOD256:Y%=line DIV256
  780CALL&FFF7
  790ENDPROC
  800:
  810DEFPROCheading(fname$)
  820CLS
  830PRINT'SPC3;CHR$132;CHR$157;CHR$141;"�Files from Telesoftware   ";CHR$156
  840PRINTSPC3;CHR$132;CHR$157;CHR$141;"�Files from Telesoftware   ";CHR$156
  850PRINTTAB(1,5)fname$
  860ENDPROC
  870:
  880DEFPROCreturn_oshwm
  890A%=&B4:X%=PAGE DIV256:Y%=0:CALL&FFF4
  900ENDPROC
  910:
  920DEFPROCinterpret
  930sta%=S%:Z%=0
  940REM"�Ignore 1st 2 strings in cat.:
  950sta%=sta%+1+?sta%:sta%=sta%+1+?sta%
  960REPEAT
  970REM"�Decode catalogue:
  980REM"�machine type:
  990len%=?sta%
 1000FORA%=sta%TOsta%+len%:?A%=(?A%)AND&7F:NEXT
 1010T%=?(sta%+len%+1):?(sta%+len%+1)=13:mc$=$(sta%+1):?(sta%+len%+1)=T%
 1020sta%=sta%+1+?sta%
 1030REM"�End of catalogue is ***:
 1040IFmc$="***" GOTO1300
 1050REM"�get filename:
 1060len%=?sta%
 1070col$=CHR$((?(sta%+1))OR&80)
 1080FORA%=sta%TOsta%+len%:?A%=(?A%)AND&7F
 1090IF(?A%>&60) AND (?A%<&7B) ?A%=(?A%)AND&DF
 1100NEXT
 1110T%=?(sta%+len%+1):?(sta%+len%+1)=13:fn$=$(sta%+2):?(sta%+len%+1)=T%
 1120sta%=sta%+1+?sta%
 1130REM"�get file type:
 1140len%=?sta%
 1150FORA%=sta%TOsta%+len%:?A%=(?A%)AND&7F:NEXT
 1160T%=?(sta%+len%+1):?(sta%+len%+1)=13:ft$=$(sta%+1):?(sta%+len%+1)=T%
 1170sta%=sta%+1+?sta%
 1180REM"�Get file size:
 1190len%=?sta%
 1200FORA%=sta%TOsta%+len%:?A%=(?A%)AND&7F:NEXT
 1210T%=?(sta%+len%+1):?(sta%+len%+1)=13:len$=$(sta%+1):?(sta%+len%+1)=T%
 1220sta%=sta%+1+?sta%
 1230REM"�get load & exec addresses:
 1240load%=FNaddr(sta%):exec%=FNaddr(sta%+4)
 1250REM"�get mag & page no.:
 1260mag%=?(sta%+8):page%=?(sta%+9)
 1270sta%=sta%+10
 1280PROCsave_info(mc$,col$,fn$,ft$,len$,load%,exec%,mag%,page%)
 1290REM"�Until end of catalogue:
 1300UNTILmc$="***"
 1310ENDPROC
 1320:
 1330DEFFNaddr(st%)
 1340=(((((?st%*256)+?(st%+1))*256)+?(st%+2)*256)+?(st%+3))
 1350DEFFNgetlink
 1360=200
 1370space?0=15:A%=&7A:X%=space MOD256:Y%=space DIV256:CALL&FFF1
 1380IF((space?1)*100)+space?2>999 PROCheading("�Error�- No Catalogue"):GOTO510
 1390=((space?1)*100)+space?2
 1400:
 1410DEFPROCfindcat(O%)
 1420PROCoscli("PAGE "+STR$(O%))
 1430LOCALa%,pn$,row%
 1440*DATA 5000
 1450a%=&5000-42
 1460REPEAT
 1470a%=a%+42
 1480UNTIL(a%?1=27 AND FNdeham(a%?2)=0) ORa%>&5800
 1490IFa%>&5800 M%=0:PROCheading("�Error�-no catalogue"):GOTO510
 1500FORV%=0TO5
 1510D(V%)=27+V%
 1520D(V%)=FNdeham(a%?D(V%))
 1530NEXT
 1540M%=(((D(5) AND12)DIV2)OR(D(3) DIV8))EOR(O%DIV100)
 1550N%=(D(1)*16)+(D(0))
 1560ENDPROC
 1570:
 1580DEFFNdeham(byte%)
 1590space?0=25:space?1=byte%:A%=&7A:X%=space MOD256:Y%=space DIV256:CALL&FFF1
 1600=(space?2)AND&F
 1610:
 1620DEFPROCsave_info(mc$,col$,fn$,ft$,len$,load%,exec%,mag%,page%)
 1630REM"�Ignore files for other m/c's:
 1640REM"�Add routines here to ignore
 1650REM"�any unwanted files.�Each file
 1660REM"�identified by the following
 1670REM"�arrays:
 1680REM"�col$�Filename colour code
 1690REM"�fn$�Filename
 1700REM"�ft$�File type
 1710REM"�len$�File length
 1720REM"�load%�Load address
 1730REM"�exec%�Execution address
 1740REM"�mag%�Magazine in which file
 1750REM"     �is transmitted
 1760REM"�page%�Page on which file is
 1770REM"     �transmitted
 1780REM"�Any file not required should
 1790REM"�cause this procedure to exit
 1800REM"�before the next line.
 1810REM"�For example:
 1820REM"�IF ft$<>"BASIC" THEN ENDPROC
 1830Z%=Z%+1:page%(Z%)=page%:fname$(Z%)=fn$:type$(Z%)=ft$:load%(Z%)=load%:exec%(Z%)=exec%:pages$(Z%)=len$:mag%(Z%)=mag%:col$(Z%)=col$:mc$(Z%)=mc$
 1840mark%(Z%) = 0
 1850ENDPROC
 1860DEFPROCchoose(files%)
 1870*FX4,1
 1880S%=1
 1890VDU 28,0,19,39,4
 1900CLS
 1910VDU23;8202;0;0;0;
 1920PROCdis1
 1930I%=0
 1940PROCin
 1950REPEAT
 1960A%=GET
 1970IF A%=139 PROCup
 1980IF A%=138 PROCdown
 1990IF A%=13 mark%(S% + I%) = 1:PROCdis(S% + I%,I%)
 2000UNTILA%=32
 2010ENDPROC
 2020DEFPROCin
 2030PRINTTAB(0,I%);CHR$(132);CHR$(&9D);
 2040ENDPROC
 2050DEFPROCout
 2060PRINTTAB(0,I%);CHR$(135);CHR$(&9C);
 2070ENDPROC
 2080DEFPROCup
 2090IF I% = 0 AND S% = 1 ENDPROC
 2100IF I% = 0:PROCout:S%=S%-1:VDU30,11:PROCdis(S%,0):PROCin:ENDPROC
 2110PROCout
 2120I%=I%-1
 2130PROCin
 2140ENDPROC
 2150DEFPROCdown
 2160IF I% = 14 AND S% = files% - 14:ENDPROC
 2170IF I% = 14:PROCout:PRINTTAB(0,14)':S%=S%+1:PROCdis(S% + 14,14):PROCin:ENDPROC
 2180PROCout
 2190I%=I%+1
 2200PROCin
 2210ENDPROC
 2220DEFPROCdis1
 2230LOCAL Z%
 2240E%=S% + 14
 2250IF E%>files% E%=files% - 1
 2260FOR Z%=S% TO E%
 2270C%=Z% - S%
 2280PROCdis(Z%,C%)
 2290NEXT
 2300ENDPROC
 2310DEFPROCdis(S%,R%)
 2320PRINTTAB(2,R%);CHR$(135);CHR$(mark%(S%) * 42);TAB(5,R%);mc$(S%);TAB(10,R%);col$(S%);fname$(S%);TAB(20,R%);type$(S%);TAB(28,R%);pages$(S%)
 2330ENDPROC

�"�ATS6a
$�"�*****************************
$�"�*�ATS�Routine to interpret �*
($�"�*�catalogue info & download�*
2$�"�*�files                    �*
<$�"�*****************************
F$�"�*�(C)�J.J.Brayshaw�May 1987�*
P$�"�*****************************
Z$�"�*�Lines following�GREEN�REM�*
d$�"�*�statements to be adjusted�*
n$�"�*�as required.             �*
x$�"�*�REM's in�YELLOW�for info.�*
�$�"�*�only.                    �*
�$�"�*****************************
���d~A
��7
��23;8202;0;0;0;
�
*TTXON
��"�Select channel:
�	*BBC2
�*HON
��move_oshwm
�� space 20,name 12,line 15
�h�page%(35),fname$(35),load%(35),exec%(35),pages$(35),mag%(35),col$(35),type$(35), mark%(35), mc$(35)
�
� D(5)
Z%=0
�heading("File:�Catalogue")
A%=�:�:��>A%+200
"�findcat(�getlink)
,9�M%>9 �N%>&FE �heading("�Error�- No Catalogue"):�d~A
6@�heading("File:�Catalogue    �Page:�"+�(M%)+�"00"+�~(N%),2))
@$�0,0);"P";�(M%);�"00"+�~(N%),2)
J&�download(M%,N%,"CATALOG",0,0,�,�)
T�interpret
^B�Z%=0 �7:�heading("�No valid files broadcast this week"):�d~A
h�choose(Z%)
r�W%=1�Z%
|� mark%(W%) = 0 � � �tnA
��7:�23;8202;0;0;0;
�Q�heading("File:�"+fname$(W%)+�(12-�(fname$(W%)))," ")+"�Length:�"+pages$(W%))
�.�0,0);"P";mag%(W%);�"00"+�~(page%(W%)),2)
�D�download(mag%(W%),page%(W%),fname$(W%),load%(W%),exec%(W%),�,�)
��
��7
�	*HOFF
�"�heading("�Files downloaded:")
��A%=1�Z%
�� mark%(A%) = 0 � � �dtA
��;col$(A%);�fname$(A%)+"        ",8);�"("+type$(A%)+")      ",8);" ";�pages$(A%)+"         ",9);"�Ld";col$(A%);"&";�"00000"+�~(load%(A%)),6)
��
�	*HOFF
�return_oshwm
*FX4
�
&:
0��move_oshwm
:S%=&5000
D A%=&B4:X%=S%�256:Y%=0:�&FFF4
N�
X:
bB��download(magazine%,page%,filename$,load%,exec%,save%,reset%)
l$�oscli("MAGAZINE "+�(magazine%))
vspace?0=24
�'space?1=name �256:space?2=name �256
�$name=filename$
�space!3=load%
�space!7=exec%
�space?11=magazine%
�space?12=page%
�$�save%=� space?13=1 � space?13=0
�%�reset%=� space?14=0 � space?14=1
�&A%=&7A:X%=space �256:Y%=space �256
�
�&FFF1
��
�:
���oscli(text$)
)$line=text$:X%=line �256:Y%=line �256

�&FFF7
�
 :
*��heading(fname$)
4�
>:�'�3;�132;�157;�141;"�Files from Telesoftware   ";�156
H9�3;�132;�157;�141;"�Files from Telesoftware   ";�156
R�1,5)fname$
\�
f:
p��return_oshwm
z A%=&B4:X%=� �256:Y%=0:�&FFF4
��
�:
���interpret
�sta%=S%:Z%=0
�$�"�Ignore 1st 2 strings in cat.:
�'sta%=sta%+1+?sta%:sta%=sta%+1+?sta%
��
��"�Decode catalogue:
��"�machine type:
�len%=?sta%
�&�A%=sta%�sta%+len%:?A%=(?A%)�&7F:�
�GT%=?(sta%+len%+1):?(sta%+len%+1)=13:mc$=$(sta%+1):?(sta%+len%+1)=T%
�sta%=sta%+1+?sta%
�"�End of catalogue is ***:
�mc$="***" �TTE
�"�get filename:
$len%=?sta%
.col$=�((?(sta%+1))�&80)
8$�A%=sta%�sta%+len%:?A%=(?A%)�&7F
B(�(?A%>&60) � (?A%<&7B) ?A%=(?A%)�&DF
L�
VGT%=?(sta%+len%+1):?(sta%+len%+1)=13:fn$=$(sta%+2):?(sta%+len%+1)=T%
`sta%=sta%+1+?sta%
j�"�get file type:
tlen%=?sta%
~&�A%=sta%�sta%+len%:?A%=(?A%)�&7F:�
�GT%=?(sta%+len%+1):?(sta%+len%+1)=13:ft$=$(sta%+1):?(sta%+len%+1)=T%
�sta%=sta%+1+?sta%
��"�Get file size:
�len%=?sta%
�&�A%=sta%�sta%+len%:?A%=(?A%)�&7F:�
�HT%=?(sta%+len%+1):?(sta%+len%+1)=13:len$=$(sta%+1):?(sta%+len%+1)=T%
�sta%=sta%+1+?sta%
�!�"�get load & exec addresses:
�)load%=�addr(sta%):exec%=�addr(sta%+4)
��"�get mag & page no.:
�"mag%=?(sta%+8):page%=?(sta%+9)
�sta%=sta%+10
<�save_info(mc$,col$,fn$,ft$,len$,load%,exec%,mag%,page%)

�"�Until end of catalogue:
�mc$="***"
�
(:
2ݤaddr(st%)
<:=(((((?st%*256)+?(st%+1))*256)+?(st%+2)*256)+?(st%+3))
F
ݤgetlink
P=200
Z8space?0=15:A%=&7A:X%=space �256:Y%=space �256:�&FFF1
dH�((space?1)*100)+space?2>999 �heading("�Error�- No Catalogue"):�d~A
n=((space?1)*100)+space?2
x:
���findcat(O%)
��oscli("PAGE "+�(O%))
��a%,pn$,row%
�*DATA 5000
�a%=&5000-42
��
�a%=a%+42
�)�(a%?1=27 � �deham(a%?2)=0) �a%>&5800
�9�a%>&5800 M%=0:�heading("�Error�-no catalogue"):�d~A
��V%=0�5
�D(V%)=27+V%
�D(V%)=�deham(a%?D(V%))
��
*M%=(((D(5) �12)�2)�(D(3) �8))�(O%�100)
N%=(D(1)*16)+(D(0))
�
":
,ݤdeham(byte%)
6Fspace?0=25:space?1=byte%:A%=&7A:X%=space �256:Y%=space �256:�&FFF1
@=(space?2)�&F
J:
T=��save_info(mc$,col$,fn$,ft$,len$,load%,exec%,mag%,page%)
^$�"�Ignore files for other m/c's:
h"�"�Add routines here to ignore
r$�"�any unwanted files.�Each file
|"�"�identified by the following
��"�arrays:
� �"�col$�Filename colour code
��"�fn$�Filename
��"�ft$�File type
��"�len$�File length
��"�load%�Load address
��"�exec%�Execution address
�"�"�mag%�Magazine in which file
��"     �is transmitted
�"�"�page%�Page on which file is
��"     �transmitted
�#�"�Any file not required should
�#�"�cause this procedure to exit
�"�before the next line.
�"�For example:
#�"�IF ft$<>"BASIC" THEN ENDPROC
&�Z%=Z%+1:page%(Z%)=page%:fname$(Z%)=fn$:type$(Z%)=ft$:load%(Z%)=load%:exec%(Z%)=exec%:pages$(Z%)=len$:mag%(Z%)=mag%:col$(Z%)=col$:mc$(Z%)=mc$
0mark%(Z%) = 0
:�
D��choose(files%)
N
*FX4,1
XS%=1
b� 28,0,19,39,4
l�
v�23;8202;0;0;0;
�	�dis1
�I%=0
��in
��
�A%=�
�� A%=139 �up
�� A%=138 �down
�/� A%=13 mark%(S% + I%) = 1:�dis(S% + I%,I%)
�
�A%=32
��
���in
��0,I%);�(132);�(&9D);
��
	��out
�0,I%);�(135);�(&9C);
�
 ��up
*� I% = 0 � S% = 1 �
41� I% = 0:�out:S%=S%-1:�30,11:�dis(S%,0):�in:�
>�out
HI%=I%-1
R�in
\�
f
��down
p"� I% = 14 � S% = files% - 14:�
z:� I% = 14:�out:�0,14)':S%=S%+1:�dis(S% + 14,14):�in:�
��out
�I%=I%+1
��in
��
�
��dis1
�� Z%
�E%=S% + 14
�� E%>files% E%=files% - 1
�� Z%=S% � E%
�C%=Z% - S%
��dis(Z%,C%)
��
��
	��dis(S%,R%)
	t�2,R%);�(135);�(mark%(S%) * 42);�5,R%);mc$(S%);�10,R%);col$(S%);fname$(S%);�20,R%);type$(S%);�28,R%);pages$(S%)
	�
�
00000000  0d 00 0a 0c f4 22 85 41  54 53 36 61 0d 00 14 24  |.....".ATS6a...$|
00000010  f4 22 81 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |.".*************|
00000020  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |****************|
00000030  0d 00 1e 24 f4 22 81 2a  86 41 54 53 83 52 6f 75  |...$.".*.ATS.Rou|
00000040  74 69 6e 65 20 74 6f 20  69 6e 74 65 72 70 72 65  |tine to interpre|
00000050  74 20 81 2a 0d 00 28 24  f4 22 81 2a 83 63 61 74  |t .*..($.".*.cat|
00000060  61 6c 6f 67 75 65 20 69  6e 66 6f 20 26 20 64 6f  |alogue info & do|
00000070  77 6e 6c 6f 61 64 81 2a  0d 00 32 24 f4 22 81 2a  |wnload.*..2$.".*|
00000080  83 66 69 6c 65 73 20 20  20 20 20 20 20 20 20 20  |.files          |
00000090  20 20 20 20 20 20 20 20  20 20 81 2a 0d 00 3c 24  |          .*..<$|
000000a0  f4 22 81 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |.".*************|
000000b0  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |****************|
000000c0  0d 00 46 24 f4 22 81 2a  82 28 43 29 87 4a 2e 4a  |..F$.".*.(C).J.J|
000000d0  2e 42 72 61 79 73 68 61  77 85 4d 61 79 20 31 39  |.Brayshaw.May 19|
000000e0  38 37 81 2a 0d 00 50 24  f4 22 81 2a 2a 2a 2a 2a  |87.*..P$.".*****|
000000f0  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |****************|
00000100  2a 2a 2a 2a 2a 2a 2a 2a  0d 00 5a 24 f4 22 81 2a  |********..Z$.".*|
00000110  87 4c 69 6e 65 73 20 66  6f 6c 6c 6f 77 69 6e 67  |.Lines following|
00000120  82 47 52 45 45 4e 87 52  45 4d 81 2a 0d 00 64 24  |.GREEN.REM.*..d$|
00000130  f4 22 81 2a 87 73 74 61  74 65 6d 65 6e 74 73 20  |.".*.statements |
00000140  74 6f 20 62 65 20 61 64  6a 75 73 74 65 64 81 2a  |to be adjusted.*|
00000150  0d 00 6e 24 f4 22 81 2a  87 61 73 20 72 65 71 75  |..n$.".*.as requ|
00000160  69 72 65 64 2e 20 20 20  20 20 20 20 20 20 20 20  |ired.           |
00000170  20 20 81 2a 0d 00 78 24  f4 22 81 2a 87 52 45 4d  |  .*..x$.".*.REM|
00000180  27 73 20 69 6e 83 59 45  4c 4c 4f 57 87 66 6f 72  |'s in.YELLOW.for|
00000190  20 69 6e 66 6f 2e 81 2a  0d 00 82 24 f4 22 81 2a  | info..*...$.".*|
000001a0  87 6f 6e 6c 79 2e 20 20  20 20 20 20 20 20 20 20  |.only.          |
000001b0  20 20 20 20 20 20 20 20  20 20 81 2a 0d 00 8c 24  |          .*...$|
000001c0  f4 22 81 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |.".*************|
000001d0  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |****************|
000001e0  0d 00 96 0b ee 85 e5 8d  64 7e 41 0d 00 a0 06 eb  |........d~A.....|
000001f0  37 0d 00 aa 13 ef 32 33  3b 38 32 30 32 3b 30 3b  |7.....23;8202;0;|
00000200  30 3b 30 3b 0d 00 b4 0a  2a 54 54 58 4f 4e 0d 00  |0;0;....*TTXON..|
00000210  be 16 f4 22 82 53 65 6c  65 63 74 20 63 68 61 6e  |...".Select chan|
00000220  6e 65 6c 3a 0d 00 c8 09  2a 42 42 43 32 0d 00 d2  |nel:....*BBC2...|
00000230  08 2a 48 4f 4e 0d 00 dc  0f f2 6d 6f 76 65 5f 6f  |.*HON.....move_o|
00000240  73 68 77 6d 0d 00 e6 1e  de 20 73 70 61 63 65 20  |shwm..... space |
00000250  32 30 2c 6e 61 6d 65 20  31 32 2c 6c 69 6e 65 20  |20,name 12,line |
00000260  31 35 0d 00 f0 68 de 70  61 67 65 25 28 33 35 29  |15...h.page%(35)|
00000270  2c 66 6e 61 6d 65 24 28  33 35 29 2c 6c 6f 61 64  |,fname$(35),load|
00000280  25 28 33 35 29 2c 65 78  65 63 25 28 33 35 29 2c  |%(35),exec%(35),|
00000290  70 61 67 65 73 24 28 33  35 29 2c 6d 61 67 25 28  |pages$(35),mag%(|
000002a0  33 35 29 2c 63 6f 6c 24  28 33 35 29 2c 74 79 70  |35),col$(35),typ|
000002b0  65 24 28 33 35 29 2c 20  6d 61 72 6b 25 28 33 35  |e$(35), mark%(35|
000002c0  29 2c 20 6d 63 24 28 33  35 29 0d 00 fa 0a de 20  |), mc$(35)..... |
000002d0  44 28 35 29 0d 01 04 08  5a 25 3d 30 0d 01 0e 1f  |D(5)....Z%=0....|
000002e0  f2 68 65 61 64 69 6e 67  28 22 46 69 6c 65 3a 86  |.heading("File:.|
000002f0  43 61 74 61 6c 6f 67 75  65 22 29 0d 01 18 14 41  |Catalogue")....A|
00000300  25 3d 91 3a f5 3a fd 91  3e 41 25 2b 32 30 30 0d  |%=.:.:..>A%+200.|
00000310  01 22 16 f2 66 69 6e 64  63 61 74 28 a4 67 65 74  |."..findcat(.get|
00000320  6c 69 6e 6b 29 0d 01 2c  39 e7 4d 25 3e 39 20 84  |link)..,9.M%>9 .|
00000330  4e 25 3e 26 46 45 20 f2  68 65 61 64 69 6e 67 28  |N%>&FE .heading(|
00000340  22 81 45 72 72 6f 72 86  2d 20 4e 6f 20 43 61 74  |".Error.- No Cat|
00000350  61 6c 6f 67 75 65 22 29  3a e5 8d 64 7e 41 0d 01  |alogue"):..d~A..|
00000360  36 40 f2 68 65 61 64 69  6e 67 28 22 46 69 6c 65  |6@.heading("File|
00000370  3a 86 43 61 74 61 6c 6f  67 75 65 20 20 20 20 87  |:.Catalogue    .|
00000380  50 61 67 65 3a 86 22 2b  c3 28 4d 25 29 2b c2 22  |Page:."+.(M%)+."|
00000390  30 30 22 2b c3 7e 28 4e  25 29 2c 32 29 29 0d 01  |00"+.~(N%),2))..|
000003a0  40 24 f1 8a 30 2c 30 29  3b 22 50 22 3b c3 28 4d  |@$..0,0);"P";.(M|
000003b0  25 29 3b c2 22 30 30 22  2b c3 7e 28 4e 25 29 2c  |%);."00"+.~(N%),|
000003c0  32 29 0d 01 4a 26 f2 64  6f 77 6e 6c 6f 61 64 28  |2)..J&.download(|
000003d0  4d 25 2c 4e 25 2c 22 43  41 54 41 4c 4f 47 22 2c  |M%,N%,"CATALOG",|
000003e0  30 2c 30 2c a3 2c b9 29  0d 01 54 0e f2 69 6e 74  |0,0,.,.)..T..int|
000003f0  65 72 70 72 65 74 0d 01  5e 42 e7 5a 25 3d 30 20  |erpret..^B.Z%=0 |
00000400  eb 37 3a f2 68 65 61 64  69 6e 67 28 22 81 4e 6f  |.7:.heading(".No|
00000410  20 76 61 6c 69 64 20 66  69 6c 65 73 20 62 72 6f  | valid files bro|
00000420  61 64 63 61 73 74 20 74  68 69 73 20 77 65 65 6b  |adcast this week|
00000430  22 29 3a e5 8d 64 7e 41  0d 01 68 0f f2 63 68 6f  |"):..d~A..h..cho|
00000440  6f 73 65 28 5a 25 29 0d  01 72 0c e3 57 25 3d 31  |ose(Z%)..r..W%=1|
00000450  b8 5a 25 0d 01 7c 1c e7  20 6d 61 72 6b 25 28 57  |.Z%..|.. mark%(W|
00000460  25 29 20 3d 20 30 20 8c  20 e5 20 8d 74 6e 41 0d  |%) = 0 . . .tnA.|
00000470  01 86 16 eb 37 3a ef 32  33 3b 38 32 30 32 3b 30  |....7:.23;8202;0|
00000480  3b 30 3b 30 3b 0d 01 90  51 f2 68 65 61 64 69 6e  |;0;0;...Q.headin|
00000490  67 28 22 46 69 6c 65 3a  86 22 2b 66 6e 61 6d 65  |g("File:."+fname|
000004a0  24 28 57 25 29 2b c4 28  31 32 2d a9 28 66 6e 61  |$(W%)+.(12-.(fna|
000004b0  6d 65 24 28 57 25 29 29  29 2c 22 20 22 29 2b 22  |me$(W%)))," ")+"|
000004c0  87 4c 65 6e 67 74 68 3a  86 22 2b 70 61 67 65 73  |.Length:."+pages|
000004d0  24 28 57 25 29 29 0d 01  9a 2e f1 8a 30 2c 30 29  |$(W%))......0,0)|
000004e0  3b 22 50 22 3b 6d 61 67  25 28 57 25 29 3b c2 22  |;"P";mag%(W%);."|
000004f0  30 30 22 2b c3 7e 28 70  61 67 65 25 28 57 25 29  |00"+.~(page%(W%)|
00000500  29 2c 32 29 0d 01 a4 44  f2 64 6f 77 6e 6c 6f 61  |),2)...D.downloa|
00000510  64 28 6d 61 67 25 28 57  25 29 2c 70 61 67 65 25  |d(mag%(W%),page%|
00000520  28 57 25 29 2c 66 6e 61  6d 65 24 28 57 25 29 2c  |(W%),fname$(W%),|
00000530  6c 6f 61 64 25 28 57 25  29 2c 65 78 65 63 25 28  |load%(W%),exec%(|
00000540  57 25 29 2c b9 2c b9 29  0d 01 ae 05 ed 0d 01 b8  |W%),.,.)........|
00000550  06 eb 37 0d 01 c2 09 2a  48 4f 46 46 0d 01 cc 22  |..7....*HOFF..."|
00000560  f2 68 65 61 64 69 6e 67  28 22 86 46 69 6c 65 73  |.heading(".Files|
00000570  20 64 6f 77 6e 6c 6f 61  64 65 64 3a 22 29 0d 01  | downloaded:")..|
00000580  d6 0c e3 41 25 3d 31 b8  5a 25 0d 01 e0 1c e7 20  |...A%=1.Z%..... |
00000590  6d 61 72 6b 25 28 41 25  29 20 3d 20 30 20 8c 20  |mark%(A%) = 0 . |
000005a0  e5 20 8d 64 74 41 0d 01  ea 90 f1 3b 63 6f 6c 24  |. .dtA.....;col$|
000005b0  28 41 25 29 3b c0 66 6e  61 6d 65 24 28 41 25 29  |(A%);.fname$(A%)|
000005c0  2b 22 20 20 20 20 20 20  20 20 22 2c 38 29 3b c0  |+"        ",8);.|
000005d0  22 28 22 2b 74 79 70 65  24 28 41 25 29 2b 22 29  |"("+type$(A%)+")|
000005e0  20 20 20 20 20 20 22 2c  38 29 3b 22 20 22 3b c0  |      ",8);" ";.|
000005f0  70 61 67 65 73 24 28 41  25 29 2b 22 20 20 20 20  |pages$(A%)+"    |
00000600  20 20 20 20 20 22 2c 39  29 3b 22 86 4c 64 22 3b  |     ",9);".Ld";|
00000610  63 6f 6c 24 28 41 25 29  3b 22 26 22 3b c2 22 30  |col$(A%);"&";."0|
00000620  30 30 30 30 22 2b c3 7e  28 6c 6f 61 64 25 28 41  |0000"+.~(load%(A|
00000630  25 29 29 2c 36 29 0d 01  f4 05 ed 0d 01 fe 09 2a  |%)),6).........*|
00000640  48 4f 46 46 0d 02 08 11  f2 72 65 74 75 72 6e 5f  |HOFF.....return_|
00000650  6f 73 68 77 6d 0d 02 12  08 2a 46 58 34 0d 02 1c  |oshwm....*FX4...|
00000660  05 e0 0d 02 26 05 3a 0d  02 30 10 dd f2 6d 6f 76  |....&.:..0...mov|
00000670  65 5f 6f 73 68 77 6d 0d  02 3a 0c 53 25 3d 26 35  |e_oshwm..:.S%=&5|
00000680  30 30 30 0d 02 44 20 41  25 3d 26 42 34 3a 58 25  |000..D A%=&B4:X%|
00000690  3d 53 25 81 32 35 36 3a  59 25 3d 30 3a d6 26 46  |=S%.256:Y%=0:.&F|
000006a0  46 46 34 0d 02 4e 05 e1  0d 02 58 05 3a 0d 02 62  |FF4..N....X.:..b|
000006b0  42 dd f2 64 6f 77 6e 6c  6f 61 64 28 6d 61 67 61  |B..download(maga|
000006c0  7a 69 6e 65 25 2c 70 61  67 65 25 2c 66 69 6c 65  |zine%,page%,file|
000006d0  6e 61 6d 65 24 2c 6c 6f  61 64 25 2c 65 78 65 63  |name$,load%,exec|
000006e0  25 2c 73 61 76 65 25 2c  72 65 73 65 74 25 29 0d  |%,save%,reset%).|
000006f0  02 6c 24 f2 6f 73 63 6c  69 28 22 4d 41 47 41 5a  |.l$.oscli("MAGAZ|
00000700  49 4e 45 20 22 2b c3 28  6d 61 67 61 7a 69 6e 65  |INE "+.(magazine|
00000710  25 29 29 0d 02 76 0e 73  70 61 63 65 3f 30 3d 32  |%))..v.space?0=2|
00000720  34 0d 02 80 27 73 70 61  63 65 3f 31 3d 6e 61 6d  |4...'space?1=nam|
00000730  65 20 83 32 35 36 3a 73  70 61 63 65 3f 32 3d 6e  |e .256:space?2=n|
00000740  61 6d 65 20 81 32 35 36  0d 02 8a 13 24 6e 61 6d  |ame .256....$nam|
00000750  65 3d 66 69 6c 65 6e 61  6d 65 24 0d 02 94 11 73  |e=filename$....s|
00000760  70 61 63 65 21 33 3d 6c  6f 61 64 25 0d 02 9e 11  |pace!3=load%....|
00000770  73 70 61 63 65 21 37 3d  65 78 65 63 25 0d 02 a8  |space!7=exec%...|
00000780  16 73 70 61 63 65 3f 31  31 3d 6d 61 67 61 7a 69  |.space?11=magazi|
00000790  6e 65 25 0d 02 b2 12 73  70 61 63 65 3f 31 32 3d  |ne%....space?12=|
000007a0  70 61 67 65 25 0d 02 bc  24 e7 73 61 76 65 25 3d  |page%...$.save%=|
000007b0  b9 20 73 70 61 63 65 3f  31 33 3d 31 20 8b 20 73  |. space?13=1 . s|
000007c0  70 61 63 65 3f 31 33 3d  30 0d 02 c6 25 e7 72 65  |pace?13=0...%.re|
000007d0  73 65 74 25 3d b9 20 73  70 61 63 65 3f 31 34 3d  |set%=. space?14=|
000007e0  30 20 8b 20 73 70 61 63  65 3f 31 34 3d 31 0d 02  |0 . space?14=1..|
000007f0  d0 26 41 25 3d 26 37 41  3a 58 25 3d 73 70 61 63  |.&A%=&7A:X%=spac|
00000800  65 20 83 32 35 36 3a 59  25 3d 73 70 61 63 65 20  |e .256:Y%=space |
00000810  81 32 35 36 0d 02 da 0a  d6 26 46 46 46 31 0d 02  |.256.....&FFF1..|
00000820  e4 05 e1 0d 02 ee 05 3a  0d 02 f8 12 dd f2 6f 73  |.......:......os|
00000830  63 6c 69 28 74 65 78 74  24 29 0d 03 02 29 24 6c  |cli(text$)...)$l|
00000840  69 6e 65 3d 74 65 78 74  24 3a 58 25 3d 6c 69 6e  |ine=text$:X%=lin|
00000850  65 20 83 32 35 36 3a 59  25 3d 6c 69 6e 65 20 81  |e .256:Y%=line .|
00000860  32 35 36 0d 03 0c 0a d6  26 46 46 46 37 0d 03 16  |256.....&FFF7...|
00000870  05 e1 0d 03 20 05 3a 0d  03 2a 15 dd f2 68 65 61  |.... .:..*...hea|
00000880  64 69 6e 67 28 66 6e 61  6d 65 24 29 0d 03 34 05  |ding(fname$)..4.|
00000890  db 0d 03 3e 3a f1 27 89  33 3b bd 31 33 32 3b bd  |...>:.'.3;.132;.|
000008a0  31 35 37 3b bd 31 34 31  3b 22 83 46 69 6c 65 73  |157;.141;".Files|
000008b0  20 66 72 6f 6d 20 54 65  6c 65 73 6f 66 74 77 61  | from Telesoftwa|
000008c0  72 65 20 20 20 22 3b bd  31 35 36 0d 03 48 39 f1  |re   ";.156..H9.|
000008d0  89 33 3b bd 31 33 32 3b  bd 31 35 37 3b bd 31 34  |.3;.132;.157;.14|
000008e0  31 3b 22 83 46 69 6c 65  73 20 66 72 6f 6d 20 54  |1;".Files from T|
000008f0  65 6c 65 73 6f 66 74 77  61 72 65 20 20 20 22 3b  |elesoftware   ";|
00000900  bd 31 35 36 0d 03 52 10  f1 8a 31 2c 35 29 66 6e  |.156..R...1,5)fn|
00000910  61 6d 65 24 0d 03 5c 05  e1 0d 03 66 05 3a 0d 03  |ame$..\....f.:..|
00000920  70 12 dd f2 72 65 74 75  72 6e 5f 6f 73 68 77 6d  |p...return_oshwm|
00000930  0d 03 7a 20 41 25 3d 26  42 34 3a 58 25 3d 90 20  |..z A%=&B4:X%=. |
00000940  81 32 35 36 3a 59 25 3d  30 3a d6 26 46 46 46 34  |.256:Y%=0:.&FFF4|
00000950  0d 03 84 05 e1 0d 03 8e  05 3a 0d 03 98 0f dd f2  |.........:......|
00000960  69 6e 74 65 72 70 72 65  74 0d 03 a2 10 73 74 61  |interpret....sta|
00000970  25 3d 53 25 3a 5a 25 3d  30 0d 03 ac 24 f4 22 83  |%=S%:Z%=0...$.".|
00000980  49 67 6e 6f 72 65 20 31  73 74 20 32 20 73 74 72  |Ignore 1st 2 str|
00000990  69 6e 67 73 20 69 6e 20  63 61 74 2e 3a 0d 03 b6  |ings in cat.:...|
000009a0  27 73 74 61 25 3d 73 74  61 25 2b 31 2b 3f 73 74  |'sta%=sta%+1+?st|
000009b0  61 25 3a 73 74 61 25 3d  73 74 61 25 2b 31 2b 3f  |a%:sta%=sta%+1+?|
000009c0  73 74 61 25 0d 03 c0 05  f5 0d 03 ca 18 f4 22 83  |sta%..........".|
000009d0  44 65 63 6f 64 65 20 63  61 74 61 6c 6f 67 75 65  |Decode catalogue|
000009e0  3a 0d 03 d4 14 f4 22 81  6d 61 63 68 69 6e 65 20  |:.....".machine |
000009f0  74 79 70 65 3a 0d 03 de  0e 6c 65 6e 25 3d 3f 73  |type:....len%=?s|
00000a00  74 61 25 0d 03 e8 26 e3  41 25 3d 73 74 61 25 b8  |ta%...&.A%=sta%.|
00000a10  73 74 61 25 2b 6c 65 6e  25 3a 3f 41 25 3d 28 3f  |sta%+len%:?A%=(?|
00000a20  41 25 29 80 26 37 46 3a  ed 0d 03 f2 47 54 25 3d  |A%).&7F:....GT%=|
00000a30  3f 28 73 74 61 25 2b 6c  65 6e 25 2b 31 29 3a 3f  |?(sta%+len%+1):?|
00000a40  28 73 74 61 25 2b 6c 65  6e 25 2b 31 29 3d 31 33  |(sta%+len%+1)=13|
00000a50  3a 6d 63 24 3d 24 28 73  74 61 25 2b 31 29 3a 3f  |:mc$=$(sta%+1):?|
00000a60  28 73 74 61 25 2b 6c 65  6e 25 2b 31 29 3d 54 25  |(sta%+len%+1)=T%|
00000a70  0d 03 fc 15 73 74 61 25  3d 73 74 61 25 2b 31 2b  |....sta%=sta%+1+|
00000a80  3f 73 74 61 25 0d 04 06  1f f4 22 83 45 6e 64 20  |?sta%.....".End |
00000a90  6f 66 20 63 61 74 61 6c  6f 67 75 65 20 69 73 20  |of catalogue is |
00000aa0  2a 2a 2a 3a 0d 04 10 14  e7 6d 63 24 3d 22 2a 2a  |***:.....mc$="**|
00000ab0  2a 22 20 e5 8d 54 54 45  0d 04 1a 14 f4 22 81 67  |*" ..TTE.....".g|
00000ac0  65 74 20 66 69 6c 65 6e  61 6d 65 3a 0d 04 24 0e  |et filename:..$.|
00000ad0  6c 65 6e 25 3d 3f 73 74  61 25 0d 04 2e 1b 63 6f  |len%=?sta%....co|
00000ae0  6c 24 3d bd 28 28 3f 28  73 74 61 25 2b 31 29 29  |l$=.((?(sta%+1))|
00000af0  84 26 38 30 29 0d 04 38  24 e3 41 25 3d 73 74 61  |.&80)..8$.A%=sta|
00000b00  25 b8 73 74 61 25 2b 6c  65 6e 25 3a 3f 41 25 3d  |%.sta%+len%:?A%=|
00000b10  28 3f 41 25 29 80 26 37  46 0d 04 42 28 e7 28 3f  |(?A%).&7F..B(.(?|
00000b20  41 25 3e 26 36 30 29 20  80 20 28 3f 41 25 3c 26  |A%>&60) . (?A%<&|
00000b30  37 42 29 20 3f 41 25 3d  28 3f 41 25 29 80 26 44  |7B) ?A%=(?A%).&D|
00000b40  46 0d 04 4c 05 ed 0d 04  56 47 54 25 3d 3f 28 73  |F..L....VGT%=?(s|
00000b50  74 61 25 2b 6c 65 6e 25  2b 31 29 3a 3f 28 73 74  |ta%+len%+1):?(st|
00000b60  61 25 2b 6c 65 6e 25 2b  31 29 3d 31 33 3a 66 6e  |a%+len%+1)=13:fn|
00000b70  24 3d 24 28 73 74 61 25  2b 32 29 3a 3f 28 73 74  |$=$(sta%+2):?(st|
00000b80  61 25 2b 6c 65 6e 25 2b  31 29 3d 54 25 0d 04 60  |a%+len%+1)=T%..`|
00000b90  15 73 74 61 25 3d 73 74  61 25 2b 31 2b 3f 73 74  |.sta%=sta%+1+?st|
00000ba0  61 25 0d 04 6a 15 f4 22  81 67 65 74 20 66 69 6c  |a%..j..".get fil|
00000bb0  65 20 74 79 70 65 3a 0d  04 74 0e 6c 65 6e 25 3d  |e type:..t.len%=|
00000bc0  3f 73 74 61 25 0d 04 7e  26 e3 41 25 3d 73 74 61  |?sta%..~&.A%=sta|
00000bd0  25 b8 73 74 61 25 2b 6c  65 6e 25 3a 3f 41 25 3d  |%.sta%+len%:?A%=|
00000be0  28 3f 41 25 29 80 26 37  46 3a ed 0d 04 88 47 54  |(?A%).&7F:....GT|
00000bf0  25 3d 3f 28 73 74 61 25  2b 6c 65 6e 25 2b 31 29  |%=?(sta%+len%+1)|
00000c00  3a 3f 28 73 74 61 25 2b  6c 65 6e 25 2b 31 29 3d  |:?(sta%+len%+1)=|
00000c10  31 33 3a 66 74 24 3d 24  28 73 74 61 25 2b 31 29  |13:ft$=$(sta%+1)|
00000c20  3a 3f 28 73 74 61 25 2b  6c 65 6e 25 2b 31 29 3d  |:?(sta%+len%+1)=|
00000c30  54 25 0d 04 92 15 73 74  61 25 3d 73 74 61 25 2b  |T%....sta%=sta%+|
00000c40  31 2b 3f 73 74 61 25 0d  04 9c 15 f4 22 81 47 65  |1+?sta%.....".Ge|
00000c50  74 20 66 69 6c 65 20 73  69 7a 65 3a 0d 04 a6 0e  |t file size:....|
00000c60  6c 65 6e 25 3d 3f 73 74  61 25 0d 04 b0 26 e3 41  |len%=?sta%...&.A|
00000c70  25 3d 73 74 61 25 b8 73  74 61 25 2b 6c 65 6e 25  |%=sta%.sta%+len%|
00000c80  3a 3f 41 25 3d 28 3f 41  25 29 80 26 37 46 3a ed  |:?A%=(?A%).&7F:.|
00000c90  0d 04 ba 48 54 25 3d 3f  28 73 74 61 25 2b 6c 65  |...HT%=?(sta%+le|
00000ca0  6e 25 2b 31 29 3a 3f 28  73 74 61 25 2b 6c 65 6e  |n%+1):?(sta%+len|
00000cb0  25 2b 31 29 3d 31 33 3a  6c 65 6e 24 3d 24 28 73  |%+1)=13:len$=$(s|
00000cc0  74 61 25 2b 31 29 3a 3f  28 73 74 61 25 2b 6c 65  |ta%+1):?(sta%+le|
00000cd0  6e 25 2b 31 29 3d 54 25  0d 04 c4 15 73 74 61 25  |n%+1)=T%....sta%|
00000ce0  3d 73 74 61 25 2b 31 2b  3f 73 74 61 25 0d 04 ce  |=sta%+1+?sta%...|
00000cf0  21 f4 22 81 67 65 74 20  6c 6f 61 64 20 26 20 65  |!.".get load & e|
00000d00  78 65 63 20 61 64 64 72  65 73 73 65 73 3a 0d 04  |xec addresses:..|
00000d10  d8 29 6c 6f 61 64 25 3d  a4 61 64 64 72 28 73 74  |.)load%=.addr(st|
00000d20  61 25 29 3a 65 78 65 63  25 3d a4 61 64 64 72 28  |a%):exec%=.addr(|
00000d30  73 74 61 25 2b 34 29 0d  04 e2 1a f4 22 81 67 65  |sta%+4).....".ge|
00000d40  74 20 6d 61 67 20 26 20  70 61 67 65 20 6e 6f 2e  |t mag & page no.|
00000d50  3a 0d 04 ec 22 6d 61 67  25 3d 3f 28 73 74 61 25  |:..."mag%=?(sta%|
00000d60  2b 38 29 3a 70 61 67 65  25 3d 3f 28 73 74 61 25  |+8):page%=?(sta%|
00000d70  2b 39 29 0d 04 f6 10 73  74 61 25 3d 73 74 61 25  |+9)....sta%=sta%|
00000d80  2b 31 30 0d 05 00 3c f2  73 61 76 65 5f 69 6e 66  |+10...<.save_inf|
00000d90  6f 28 6d 63 24 2c 63 6f  6c 24 2c 66 6e 24 2c 66  |o(mc$,col$,fn$,f|
00000da0  74 24 2c 6c 65 6e 24 2c  6c 6f 61 64 25 2c 65 78  |t$,len$,load%,ex|
00000db0  65 63 25 2c 6d 61 67 25  2c 70 61 67 65 25 29 0d  |ec%,mag%,page%).|
00000dc0  05 0a 1e f4 22 83 55 6e  74 69 6c 20 65 6e 64 20  |....".Until end |
00000dd0  6f 66 20 63 61 74 61 6c  6f 67 75 65 3a 0d 05 14  |of catalogue:...|
00000de0  0e fd 6d 63 24 3d 22 2a  2a 2a 22 0d 05 1e 05 e1  |..mc$="***".....|
00000df0  0d 05 28 05 3a 0d 05 32  0f dd a4 61 64 64 72 28  |..(.:..2...addr(|
00000e00  73 74 25 29 0d 05 3c 3a  3d 28 28 28 28 28 3f 73  |st%)..<:=(((((?s|
00000e10  74 25 2a 32 35 36 29 2b  3f 28 73 74 25 2b 31 29  |t%*256)+?(st%+1)|
00000e20  29 2a 32 35 36 29 2b 3f  28 73 74 25 2b 32 29 2a  |)*256)+?(st%+2)*|
00000e30  32 35 36 29 2b 3f 28 73  74 25 2b 33 29 29 0d 05  |256)+?(st%+3))..|
00000e40  46 0d dd a4 67 65 74 6c  69 6e 6b 0d 05 50 08 3d  |F...getlink..P.=|
00000e50  32 30 30 0d 05 5a 38 73  70 61 63 65 3f 30 3d 31  |200..Z8space?0=1|
00000e60  35 3a 41 25 3d 26 37 41  3a 58 25 3d 73 70 61 63  |5:A%=&7A:X%=spac|
00000e70  65 20 83 32 35 36 3a 59  25 3d 73 70 61 63 65 20  |e .256:Y%=space |
00000e80  81 32 35 36 3a d6 26 46  46 46 31 0d 05 64 48 e7  |.256:.&FFF1..dH.|
00000e90  28 28 73 70 61 63 65 3f  31 29 2a 31 30 30 29 2b  |((space?1)*100)+|
00000ea0  73 70 61 63 65 3f 32 3e  39 39 39 20 f2 68 65 61  |space?2>999 .hea|
00000eb0  64 69 6e 67 28 22 81 45  72 72 6f 72 86 2d 20 4e  |ding(".Error.- N|
00000ec0  6f 20 43 61 74 61 6c 6f  67 75 65 22 29 3a e5 8d  |o Catalogue"):..|
00000ed0  64 7e 41 0d 05 6e 1c 3d  28 28 73 70 61 63 65 3f  |d~A..n.=((space?|
00000ee0  31 29 2a 31 30 30 29 2b  73 70 61 63 65 3f 32 0d  |1)*100)+space?2.|
00000ef0  05 78 05 3a 0d 05 82 11  dd f2 66 69 6e 64 63 61  |.x.:......findca|
00000f00  74 28 4f 25 29 0d 05 8c  19 f2 6f 73 63 6c 69 28  |t(O%).....oscli(|
00000f10  22 50 41 47 45 20 22 2b  c3 28 4f 25 29 29 0d 05  |"PAGE "+.(O%))..|
00000f20  96 10 ea 61 25 2c 70 6e  24 2c 72 6f 77 25 0d 05  |...a%,pn$,row%..|
00000f30  a0 0e 2a 44 41 54 41 20  35 30 30 30 0d 05 aa 0f  |..*DATA 5000....|
00000f40  61 25 3d 26 35 30 30 30  2d 34 32 0d 05 b4 05 f5  |a%=&5000-42.....|
00000f50  0d 05 be 0c 61 25 3d 61  25 2b 34 32 0d 05 c8 29  |....a%=a%+42...)|
00000f60  fd 28 61 25 3f 31 3d 32  37 20 80 20 a4 64 65 68  |.(a%?1=27 . .deh|
00000f70  61 6d 28 61 25 3f 32 29  3d 30 29 20 84 61 25 3e  |am(a%?2)=0) .a%>|
00000f80  26 35 38 30 30 0d 05 d2  39 e7 61 25 3e 26 35 38  |&5800...9.a%>&58|
00000f90  30 30 20 4d 25 3d 30 3a  f2 68 65 61 64 69 6e 67  |00 M%=0:.heading|
00000fa0  28 22 81 45 72 72 6f 72  86 2d 6e 6f 20 63 61 74  |(".Error.-no cat|
00000fb0  61 6c 6f 67 75 65 22 29  3a e5 8d 64 7e 41 0d 05  |alogue"):..d~A..|
00000fc0  dc 0b e3 56 25 3d 30 b8  35 0d 05 e6 0f 44 28 56  |...V%=0.5....D(V|
00000fd0  25 29 3d 32 37 2b 56 25  0d 05 f0 1a 44 28 56 25  |%)=27+V%....D(V%|
00000fe0  29 3d a4 64 65 68 61 6d  28 61 25 3f 44 28 56 25  |)=.deham(a%?D(V%|
00000ff0  29 29 0d 05 fa 05 ed 0d  06 04 2a 4d 25 3d 28 28  |))........*M%=((|
00001000  28 44 28 35 29 20 80 31  32 29 81 32 29 84 28 44  |(D(5) .12).2).(D|
00001010  28 33 29 20 81 38 29 29  82 28 4f 25 81 31 30 30  |(3) .8)).(O%.100|
00001020  29 0d 06 0e 17 4e 25 3d  28 44 28 31 29 2a 31 36  |)....N%=(D(1)*16|
00001030  29 2b 28 44 28 30 29 29  0d 06 18 05 e1 0d 06 22  |)+(D(0))......."|
00001040  05 3a 0d 06 2c 12 dd a4  64 65 68 61 6d 28 62 79  |.:..,...deham(by|
00001050  74 65 25 29 0d 06 36 46  73 70 61 63 65 3f 30 3d  |te%)..6Fspace?0=|
00001060  32 35 3a 73 70 61 63 65  3f 31 3d 62 79 74 65 25  |25:space?1=byte%|
00001070  3a 41 25 3d 26 37 41 3a  58 25 3d 73 70 61 63 65  |:A%=&7A:X%=space|
00001080  20 83 32 35 36 3a 59 25  3d 73 70 61 63 65 20 81  | .256:Y%=space .|
00001090  32 35 36 3a d6 26 46 46  46 31 0d 06 40 11 3d 28  |256:.&FFF1..@.=(|
000010a0  73 70 61 63 65 3f 32 29  80 26 46 0d 06 4a 05 3a  |space?2).&F..J.:|
000010b0  0d 06 54 3d dd f2 73 61  76 65 5f 69 6e 66 6f 28  |..T=..save_info(|
000010c0  6d 63 24 2c 63 6f 6c 24  2c 66 6e 24 2c 66 74 24  |mc$,col$,fn$,ft$|
000010d0  2c 6c 65 6e 24 2c 6c 6f  61 64 25 2c 65 78 65 63  |,len$,load%,exec|
000010e0  25 2c 6d 61 67 25 2c 70  61 67 65 25 29 0d 06 5e  |%,mag%,page%)..^|
000010f0  24 f4 22 83 49 67 6e 6f  72 65 20 66 69 6c 65 73  |$.".Ignore files|
00001100  20 66 6f 72 20 6f 74 68  65 72 20 6d 2f 63 27 73  | for other m/c's|
00001110  3a 0d 06 68 22 f4 22 82  41 64 64 20 72 6f 75 74  |:..h".".Add rout|
00001120  69 6e 65 73 20 68 65 72  65 20 74 6f 20 69 67 6e  |ines here to ign|
00001130  6f 72 65 0d 06 72 24 f4  22 82 61 6e 79 20 75 6e  |ore..r$.".any un|
00001140  77 61 6e 74 65 64 20 66  69 6c 65 73 2e 83 45 61  |wanted files..Ea|
00001150  63 68 20 66 69 6c 65 0d  06 7c 22 f4 22 83 69 64  |ch file..|".".id|
00001160  65 6e 74 69 66 69 65 64  20 62 79 20 74 68 65 20  |entified by the |
00001170  66 6f 6c 6c 6f 77 69 6e  67 0d 06 86 0e f4 22 83  |following.....".|
00001180  61 72 72 61 79 73 3a 0d  06 90 20 f4 22 86 63 6f  |arrays:... .".co|
00001190  6c 24 81 46 69 6c 65 6e  61 6d 65 20 63 6f 6c 6f  |l$.Filename colo|
000011a0  75 72 20 63 6f 64 65 0d  06 9a 13 f4 22 86 66 6e  |ur code.....".fn|
000011b0  24 81 46 69 6c 65 6e 61  6d 65 0d 06 a4 14 f4 22  |$.Filename....."|
000011c0  86 66 74 24 81 46 69 6c  65 20 74 79 70 65 0d 06  |.ft$.File type..|
000011d0  ae 17 f4 22 86 6c 65 6e  24 81 46 69 6c 65 20 6c  |...".len$.File l|
000011e0  65 6e 67 74 68 0d 06 b8  19 f4 22 86 6c 6f 61 64  |ength.....".load|
000011f0  25 81 4c 6f 61 64 20 61  64 64 72 65 73 73 0d 06  |%.Load address..|
00001200  c2 1e f4 22 86 65 78 65  63 25 81 45 78 65 63 75  |...".exec%.Execu|
00001210  74 69 6f 6e 20 61 64 64  72 65 73 73 0d 06 cc 22  |tion address..."|
00001220  f4 22 86 6d 61 67 25 81  4d 61 67 61 7a 69 6e 65  |.".mag%.Magazine|
00001230  20 69 6e 20 77 68 69 63  68 20 66 69 6c 65 0d 06  | in which file..|
00001240  d6 1a f4 22 20 20 20 20  20 81 69 73 20 74 72 61  |..."     .is tra|
00001250  6e 73 6d 69 74 74 65 64  0d 06 e0 22 f4 22 86 70  |nsmitted...".".p|
00001260  61 67 65 25 81 50 61 67  65 20 6f 6e 20 77 68 69  |age%.Page on whi|
00001270  63 68 20 66 69 6c 65 20  69 73 0d 06 ea 17 f4 22  |ch file is....."|
00001280  20 20 20 20 20 81 74 72  61 6e 73 6d 69 74 74 65  |     .transmitte|
00001290  64 0d 06 f4 23 f4 22 83  41 6e 79 20 66 69 6c 65  |d...#.".Any file|
000012a0  20 6e 6f 74 20 72 65 71  75 69 72 65 64 20 73 68  | not required sh|
000012b0  6f 75 6c 64 0d 06 fe 23  f4 22 83 63 61 75 73 65  |ould...#.".cause|
000012c0  20 74 68 69 73 20 70 72  6f 63 65 64 75 72 65 20  | this procedure |
000012d0  74 6f 20 65 78 69 74 0d  07 08 1c f4 22 83 62 65  |to exit.....".be|
000012e0  66 6f 72 65 20 74 68 65  20 6e 65 78 74 20 6c 69  |fore the next li|
000012f0  6e 65 2e 0d 07 12 13 f4  22 83 46 6f 72 20 65 78  |ne......".For ex|
00001300  61 6d 70 6c 65 3a 0d 07  1c 23 f4 22 81 49 46 20  |ample:...#.".IF |
00001310  66 74 24 3c 3e 22 42 41  53 49 43 22 20 54 48 45  |ft$<>"BASIC" THE|
00001320  4e 20 45 4e 44 50 52 4f  43 0d 07 26 90 5a 25 3d  |N ENDPROC..&.Z%=|
00001330  5a 25 2b 31 3a 70 61 67  65 25 28 5a 25 29 3d 70  |Z%+1:page%(Z%)=p|
00001340  61 67 65 25 3a 66 6e 61  6d 65 24 28 5a 25 29 3d  |age%:fname$(Z%)=|
00001350  66 6e 24 3a 74 79 70 65  24 28 5a 25 29 3d 66 74  |fn$:type$(Z%)=ft|
00001360  24 3a 6c 6f 61 64 25 28  5a 25 29 3d 6c 6f 61 64  |$:load%(Z%)=load|
00001370  25 3a 65 78 65 63 25 28  5a 25 29 3d 65 78 65 63  |%:exec%(Z%)=exec|
00001380  25 3a 70 61 67 65 73 24  28 5a 25 29 3d 6c 65 6e  |%:pages$(Z%)=len|
00001390  24 3a 6d 61 67 25 28 5a  25 29 3d 6d 61 67 25 3a  |$:mag%(Z%)=mag%:|
000013a0  63 6f 6c 24 28 5a 25 29  3d 63 6f 6c 24 3a 6d 63  |col$(Z%)=col$:mc|
000013b0  24 28 5a 25 29 3d 6d 63  24 0d 07 30 11 6d 61 72  |$(Z%)=mc$..0.mar|
000013c0  6b 25 28 5a 25 29 20 3d  20 30 0d 07 3a 05 e1 0d  |k%(Z%) = 0..:...|
000013d0  07 44 14 dd f2 63 68 6f  6f 73 65 28 66 69 6c 65  |.D...choose(file|
000013e0  73 25 29 0d 07 4e 0a 2a  46 58 34 2c 31 0d 07 58  |s%)..N.*FX4,1..X|
000013f0  08 53 25 3d 31 0d 07 62  12 ef 20 32 38 2c 30 2c  |.S%=1..b.. 28,0,|
00001400  31 39 2c 33 39 2c 34 0d  07 6c 05 db 0d 07 76 13  |19,39,4..l....v.|
00001410  ef 32 33 3b 38 32 30 32  3b 30 3b 30 3b 30 3b 0d  |.23;8202;0;0;0;.|
00001420  07 80 09 f2 64 69 73 31  0d 07 8a 08 49 25 3d 30  |....dis1....I%=0|
00001430  0d 07 94 07 f2 69 6e 0d  07 9e 05 f5 0d 07 a8 08  |.....in.........|
00001440  41 25 3d a5 0d 07 b2 10  e7 20 41 25 3d 31 33 39  |A%=...... A%=139|
00001450  20 f2 75 70 0d 07 bc 12  e7 20 41 25 3d 31 33 38  | .up..... A%=138|
00001460  20 f2 64 6f 77 6e 0d 07  c6 2f e7 20 41 25 3d 31  | .down.../. A%=1|
00001470  33 20 6d 61 72 6b 25 28  53 25 20 2b 20 49 25 29  |3 mark%(S% + I%)|
00001480  20 3d 20 31 3a f2 64 69  73 28 53 25 20 2b 20 49  | = 1:.dis(S% + I|
00001490  25 2c 49 25 29 0d 07 d0  0a fd 41 25 3d 33 32 0d  |%,I%).....A%=32.|
000014a0  07 da 05 e1 0d 07 e4 08  dd f2 69 6e 0d 07 ee 1a  |..........in....|
000014b0  f1 8a 30 2c 49 25 29 3b  bd 28 31 33 32 29 3b bd  |..0,I%);.(132);.|
000014c0  28 26 39 44 29 3b 0d 07  f8 05 e1 0d 08 02 09 dd  |(&9D);..........|
000014d0  f2 6f 75 74 0d 08 0c 1a  f1 8a 30 2c 49 25 29 3b  |.out......0,I%);|
000014e0  bd 28 31 33 35 29 3b bd  28 26 39 43 29 3b 0d 08  |.(135);.(&9C);..|
000014f0  16 05 e1 0d 08 20 08 dd  f2 75 70 0d 08 2a 17 e7  |..... ...up..*..|
00001500  20 49 25 20 3d 20 30 20  80 20 53 25 20 3d 20 31  | I% = 0 . S% = 1|
00001510  20 e1 0d 08 34 31 e7 20  49 25 20 3d 20 30 3a f2  | ...41. I% = 0:.|
00001520  6f 75 74 3a 53 25 3d 53  25 2d 31 3a ef 33 30 2c  |out:S%=S%-1:.30,|
00001530  31 31 3a f2 64 69 73 28  53 25 2c 30 29 3a f2 69  |11:.dis(S%,0):.i|
00001540  6e 3a e1 0d 08 3e 08 f2  6f 75 74 0d 08 48 0b 49  |n:...>..out..H.I|
00001550  25 3d 49 25 2d 31 0d 08  52 07 f2 69 6e 0d 08 5c  |%=I%-1..R..in..\|
00001560  05 e1 0d 08 66 0a dd f2  64 6f 77 6e 0d 08 70 22  |....f...down..p"|
00001570  e7 20 49 25 20 3d 20 31  34 20 80 20 53 25 20 3d  |. I% = 14 . S% =|
00001580  20 66 69 6c 65 73 25 20  2d 20 31 34 3a e1 0d 08  | files% - 14:...|
00001590  7a 3a e7 20 49 25 20 3d  20 31 34 3a f2 6f 75 74  |z:. I% = 14:.out|
000015a0  3a f1 8a 30 2c 31 34 29  27 3a 53 25 3d 53 25 2b  |:..0,14)':S%=S%+|
000015b0  31 3a f2 64 69 73 28 53  25 20 2b 20 31 34 2c 31  |1:.dis(S% + 14,1|
000015c0  34 29 3a f2 69 6e 3a e1  0d 08 84 08 f2 6f 75 74  |4):.in:......out|
000015d0  0d 08 8e 0b 49 25 3d 49  25 2b 31 0d 08 98 07 f2  |....I%=I%+1.....|
000015e0  69 6e 0d 08 a2 05 e1 0d  08 ac 0a dd f2 64 69 73  |in...........dis|
000015f0  31 0d 08 b6 08 ea 20 5a  25 0d 08 c0 0e 45 25 3d  |1..... Z%....E%=|
00001600  53 25 20 2b 20 31 34 0d  08 ca 1d e7 20 45 25 3e  |S% + 14..... E%>|
00001610  66 69 6c 65 73 25 20 45  25 3d 66 69 6c 65 73 25  |files% E%=files%|
00001620  20 2d 20 31 0d 08 d4 10  e3 20 5a 25 3d 53 25 20  | - 1..... Z%=S% |
00001630  b8 20 45 25 0d 08 de 0e  43 25 3d 5a 25 20 2d 20  |. E%....C%=Z% - |
00001640  53 25 0d 08 e8 0f f2 64  69 73 28 5a 25 2c 43 25  |S%.....dis(Z%,C%|
00001650  29 0d 08 f2 05 ed 0d 08  fc 05 e1 0d 09 06 10 dd  |)...............|
00001660  f2 64 69 73 28 53 25 2c  52 25 29 0d 09 10 74 f1  |.dis(S%,R%)...t.|
00001670  8a 32 2c 52 25 29 3b bd  28 31 33 35 29 3b bd 28  |.2,R%);.(135);.(|
00001680  6d 61 72 6b 25 28 53 25  29 20 2a 20 34 32 29 3b  |mark%(S%) * 42);|
00001690  8a 35 2c 52 25 29 3b 6d  63 24 28 53 25 29 3b 8a  |.5,R%);mc$(S%);.|
000016a0  31 30 2c 52 25 29 3b 63  6f 6c 24 28 53 25 29 3b  |10,R%);col$(S%);|
000016b0  66 6e 61 6d 65 24 28 53  25 29 3b 8a 32 30 2c 52  |fname$(S%);.20,R|
000016c0  25 29 3b 74 79 70 65 24  28 53 25 29 3b 8a 32 38  |%);type$(S%);.28|
000016d0  2c 52 25 29 3b 70 61 67  65 73 24 28 53 25 29 0d  |,R%);pages$(S%).|
000016e0  09 1a 05 e1 0d ff                                 |......|
000016e6
CeeFax/LOADALL.m0
CeeFax/LOADALL.m1
CeeFax/LOADALL.m2
CeeFax/LOADALL.m4
CeeFax/LOADALL.m5