Home » CEEFAX disks » telesoftware2.adl » ATS/B\ATS6A

ATS/B\ATS6A

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 » telesoftware2.adl
Filename: ATS/B\ATS6A
Read OK:
File size: 13A5 bytes
Load address: 1A00
Exec address: 8023
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"�*****************************
  150ONERRORGOTO490
  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)
  250DIM D(5)
  260Z%=0
  270PROCheading("File:�Catalogue")
  280A%=TIME:REPEAT:UNTILTIME>A%+200
  290PROCfindcat(FNgetlink)
  300IFM%>9 ORN%>&FE PROCheading("�Error�- No Catalogue"):GOTO490
  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"):GOTO490
  360FORW%=1TOZ%
  370MODE7:VDU23;8202;0;0;0;
  380PROCheading("File:�"+fname$(W%)+STRING$((12-LEN(fname$(W%)))," ")+"�Length:�"+pages$(W%))
  390PRINTTAB(0,0);"P";mag%(W%);RIGHT$("00"+STR$~(page%(W%)),2)
  400PROCdownload(mag%(W%),page%(W%),fname$(W%),load%(W%),exec%(W%),TRUE,TRUE)
  410REM PROCdownload(mag%,page%,fname$,load%,exec%,file%,reset%)
  420NEXT
  430MODE7
  440*HOFF
  450PROCheading("�Files downloaded:")
  460FORA%=1TOZ%
  470PRINT;col$(A%);LEFT$(fname$(A%)+"        ",8);LEFT$("("+type$(A%)+")      ",8);" ";LEFT$(pages$(A%)+"         ",9);"�Ld";col$(A%);"&";RIGHT$("00000"+STR$~(load%(A%)),6)
  480NEXT
  490*HOFF
  500PROCreturn_oshwm
  510END
  520:
  530DEFPROCmove_oshwm
  540S%=&5000
  550A%=&B4:X%=S%DIV256:Y%=0:CALL&FFF4
  560ENDPROC
  570:
  580DEFPROCdownload(magazine%,page%,filename$,load%,exec%,save%,reset%)
  590PROCoscli("MAGAZINE "+STR$(magazine%))
  600space?0=24
  610space?1=name MOD256:space?2=name DIV256
  620$name=filename$
  630space!3=load%
  640space!7=exec%
  650space?11=magazine%
  660space?12=page%
  670IFsave%=TRUE space?13=1 ELSE space?13=0
  680IFreset%=TRUE space?14=0 ELSE space?14=1
  690A%=&7A:X%=space MOD256:Y%=space DIV256
  700CALL&FFF1
  710ENDPROC
  720:
  730DEFPROCoscli(text$)
  740$line=text$:X%=line MOD256:Y%=line DIV256
  750CALL&FFF7
  760ENDPROC
  770:
  780DEFPROCheading(fname$)
  790CLS
  800PRINT'SPC3;CHR$132;CHR$157;CHR$141;"�Files from Telesoftware   ";CHR$156
  810PRINTSPC3;CHR$132;CHR$157;CHR$141;"�Files from Telesoftware   ";CHR$156
  820PRINTTAB(1,5)fname$
  830ENDPROC
  840:
  850DEFPROCreturn_oshwm
  860A%=&B4:X%=PAGE DIV256:Y%=0:CALL&FFF4
  870ENDPROC
  880:
  890DEFPROCinterpret
  900sta%=S%:Z%=0
  910REM"�Ignore 1st 2 strings in cat.:
  920sta%=sta%+1+?sta%:sta%=sta%+1+?sta%
  930REPEAT
  940REM"�Decode catalogue:
  950REM"�machine type:
  960len%=?sta%
  970FORA%=sta%TOsta%+len%:?A%=(?A%)AND&7F:NEXT
  980T%=?(sta%+len%+1):?(sta%+len%+1)=13:mc$=$(sta%+1):?(sta%+len%+1)=T%
  990sta%=sta%+1+?sta%
 1000REM"�End of catalogue is ***:
 1010IFmc$="***" GOTO1270
 1020REM"�get filename:
 1030len%=?sta%
 1040col$=CHR$((?(sta%+1))OR&80)
 1050FORA%=sta%TOsta%+len%:?A%=(?A%)AND&7F
 1060IF(?A%>&60) AND (?A%<&7B) ?A%=(?A%)AND&DF
 1070NEXT
 1080T%=?(sta%+len%+1):?(sta%+len%+1)=13:fn$=$(sta%+2):?(sta%+len%+1)=T%
 1090sta%=sta%+1+?sta%
 1100REM"�get file type:
 1110len%=?sta%
 1120FORA%=sta%TOsta%+len%:?A%=(?A%)AND&7F:NEXT
 1130T%=?(sta%+len%+1):?(sta%+len%+1)=13:ft$=$(sta%+1):?(sta%+len%+1)=T%
 1140sta%=sta%+1+?sta%
 1150REM"�Get file size:
 1160len%=?sta%
 1170FORA%=sta%TOsta%+len%:?A%=(?A%)AND&7F:NEXT
 1180T%=?(sta%+len%+1):?(sta%+len%+1)=13:len$=$(sta%+1):?(sta%+len%+1)=T%
 1190sta%=sta%+1+?sta%
 1200REM"�get load & exec addresses:
 1210load%=FNaddr(sta%):exec%=FNaddr(sta%+4)
 1220REM"�get mag & page no.:
 1230mag%=?(sta%+8):page%=?(sta%+9)
 1240sta%=sta%+10
 1250PROCsave_info(mc$,col$,fn$,ft$,len$,load%,exec%,mag%,page%)
 1260REM"�Until end of catalogue:
 1270UNTILmc$="***"
 1280ENDPROC
 1290:
 1300DEFFNaddr(st%)
 1310=(((((?st%*256)+?(st%+1))*256)+?(st%+2)*256)+?(st%+3))
 1320DEFFNgetlink
 1330space?0=15:A%=&7A:X%=space MOD256:Y%=space DIV256:CALL&FFF1
 1340IF((space?1)*100)+space?2>999 PROCheading("�Error�- No Catalogue"):GOTO490
 1350=((space?1)*100)+space?2
 1360:
 1370DEFPROCfindcat(O%)
 1380PROCoscli("PAGE "+STR$(O%))
 1390LOCALa%,pn$,row%
 1400*DATA 5000
 1410a%=&5000-42
 1420REPEAT
 1430a%=a%+42
 1440UNTIL(a%?1=27 AND FNdeham(a%?2)=0) ORa%>&5800
 1450IFa%>&5800 M%=0:PROCheading("�Error�-no catalogue"):GOTO490
 1460FORV%=0TO5
 1470D(V%)=27+V%
 1480D(V%)=FNdeham(a%?D(V%))
 1490NEXT
 1500M%=(((D(5) AND12)DIV2)OR(D(3) DIV8))EOR(O%DIV100)
 1510N%=(D(1)*16)+(D(0))
 1520ENDPROC
 1530:
 1540DEFFNdeham(byte%)
 1550space?0=25:space?1=byte%:A%=&7A:X%=space MOD256:Y%=space DIV256:CALL&FFF1
 1560=(space?2)AND&F
 1570:
 1580DEFPROCsave_info(mc$,col$,fn$,ft$,len$,load%,exec%,mag%,page%)
 1590REM"�Ignore files for other m/c's:
 1600IFmc$<>"ANY" AND mc$<>"BBC" ENDPROC
 1610REM"�Add routines here to ignore
 1620REM"�any unwanted files.�Each file
 1630REM"�identified by the following
 1640REM"�arrays:
 1650REM"�col$�Filename colour code
 1660REM"�fn$�Filename
 1670REM"�ft$�File type
 1680REM"�len$�File length
 1690REM"�load%�Load address
 1700REM"�exec%�Execution address
 1710REM"�mag%�Magazine in which file
 1720REM"     �is transmitted
 1730REM"�page%�Page on which file is
 1740REM"     �transmitted
 1750REM"�Any file not required should
 1760REM"�cause this procedure to exit
 1770REM"�before the next line.
 1780REM"�For example:
 1790REM"�IF ft$<>"BASIC" THEN ENDPROC
 1800Z%=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$
 1810ENDPROC

�"�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.                    �*
�$�"�*****************************
���djA
��7
��23;8202;0;0;0;
�
*TTXON
��"�Select channel:
�	*BBC2
�*HON
��move_oshwm
�� space 20,name 12,line 15
�T�page%(35),fname$(35),load%(35),exec%(35),pages$(35),mag%(35),col$(35),type$(35)
�
� D(5)
Z%=0
�heading("File:�Catalogue")
A%=�:�:��>A%+200
"�findcat(�getlink)
,9�M%>9 �N%>&FE �heading("�Error�- No Catalogue"):�djA
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"):�djA
h�W%=1�Z%
r�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%),�,�)
�>� PROCdownload(mag%,page%,fname$,load%,exec%,file%,reset%)
��
��7
�	*HOFF
�"�heading("�Files downloaded:")
��A%=1�Z%
֐�;col$(A%);�fname$(A%)+"        ",8);�"("+type$(A%)+")      ",8);" ";�pages$(A%)+"         ",9);"�Ld";col$(A%);"&";�"00000"+�~(load%(A%)),6)
��
�	*HOFF
��return_oshwm
��
:
��move_oshwm
S%=&5000
& A%=&B4:X%=S%�256:Y%=0:�&FFF4
0�
::
DB��download(magazine%,page%,filename$,load%,exec%,save%,reset%)
N$�oscli("MAGAZINE "+�(magazine%))
Xspace?0=24
b'space?1=name �256:space?2=name �256
l$name=filename$
vspace!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$)
�
 :�'�3;�132;�157;�141;"�Files from Telesoftware   ";�156
*9�3;�132;�157;�141;"�Files from Telesoftware   ";�156
4�1,5)fname$
>�
H:
R��return_oshwm
\ A%=&B4:X%=� �256:Y%=0:�&FFF4
f�
p:
z��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$="***" �dvD
��"�get filename:
len%=?sta%
col$=�((?(sta%+1))�&80)
$�A%=sta%�sta%+len%:?A%=(?A%)�&7F
$(�(?A%>&60) � (?A%<&7B) ?A%=(?A%)�&DF
.�
8GT%=?(sta%+len%+1):?(sta%+len%+1)=13:fn$=$(sta%+2):?(sta%+len%+1)=T%
Bsta%=sta%+1+?sta%
L�"�get file type:
Vlen%=?sta%
`&�A%=sta%�sta%+len%:?A%=(?A%)�&7F:�
jGT%=?(sta%+len%+1):?(sta%+len%+1)=13:ft$=$(sta%+1):?(sta%+len%+1)=T%
tsta%=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$="***"
�

:
ݤaddr(st%)
:=(((((?st%*256)+?(st%+1))*256)+?(st%+2)*256)+?(st%+3))
(
ݤgetlink
28space?0=15:A%=&7A:X%=space �256:Y%=space �256:�&FFF1
<H�((space?1)*100)+space?2>999 �heading("�Error�- No Catalogue"):�djA
F=((space?1)*100)+space?2
P:
Z��findcat(O%)
d�oscli("PAGE "+�(O%))
n�a%,pn$,row%
x*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"):�djA
��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%)
Fspace?0=25:space?1=byte%:A%=&7A:X%=space �256:Y%=space �256:�&FFF1
=(space?2)�&F
":
,=��save_info(mc$,col$,fn$,ft$,len$,load%,exec%,mag%,page%)
6$�"�Ignore files for other m/c's:
@�mc$<>"ANY" � mc$<>"BBC" �
J"�"�Add routines here to ignore
T$�"�any unwanted files.�Each file
^"�"�identified by the following
h�"�arrays:
r �"�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$
�
�
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 6a 41 0d 00 a0 06 eb  |........djA.....|
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 54 de 70  61 67 65 25 28 33 35 29  |15...T.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 0d 00  fa 0a de 20 44 28 35 29  |e$(35)..... D(5)|
000002c0  0d 01 04 08 5a 25 3d 30  0d 01 0e 1f f2 68 65 61  |....Z%=0.....hea|
000002d0  64 69 6e 67 28 22 46 69  6c 65 3a 86 43 61 74 61  |ding("File:.Cata|
000002e0  6c 6f 67 75 65 22 29 0d  01 18 14 41 25 3d 91 3a  |logue")....A%=.:|
000002f0  f5 3a fd 91 3e 41 25 2b  32 30 30 0d 01 22 16 f2  |.:..>A%+200.."..|
00000300  66 69 6e 64 63 61 74 28  a4 67 65 74 6c 69 6e 6b  |findcat(.getlink|
00000310  29 0d 01 2c 39 e7 4d 25  3e 39 20 84 4e 25 3e 26  |)..,9.M%>9 .N%>&|
00000320  46 45 20 f2 68 65 61 64  69 6e 67 28 22 81 45 72  |FE .heading(".Er|
00000330  72 6f 72 86 2d 20 4e 6f  20 43 61 74 61 6c 6f 67  |ror.- No Catalog|
00000340  75 65 22 29 3a e5 8d 64  6a 41 0d 01 36 40 f2 68  |ue"):..djA..6@.h|
00000350  65 61 64 69 6e 67 28 22  46 69 6c 65 3a 86 43 61  |eading("File:.Ca|
00000360  74 61 6c 6f 67 75 65 20  20 20 20 87 50 61 67 65  |talogue    .Page|
00000370  3a 86 22 2b c3 28 4d 25  29 2b c2 22 30 30 22 2b  |:."+.(M%)+."00"+|
00000380  c3 7e 28 4e 25 29 2c 32  29 29 0d 01 40 24 f1 8a  |.~(N%),2))..@$..|
00000390  30 2c 30 29 3b 22 50 22  3b c3 28 4d 25 29 3b c2  |0,0);"P";.(M%);.|
000003a0  22 30 30 22 2b c3 7e 28  4e 25 29 2c 32 29 0d 01  |"00"+.~(N%),2)..|
000003b0  4a 26 f2 64 6f 77 6e 6c  6f 61 64 28 4d 25 2c 4e  |J&.download(M%,N|
000003c0  25 2c 22 43 41 54 41 4c  4f 47 22 2c 30 2c 30 2c  |%,"CATALOG",0,0,|
000003d0  a3 2c b9 29 0d 01 54 0e  f2 69 6e 74 65 72 70 72  |.,.)..T..interpr|
000003e0  65 74 0d 01 5e 42 e7 5a  25 3d 30 20 eb 37 3a f2  |et..^B.Z%=0 .7:.|
000003f0  68 65 61 64 69 6e 67 28  22 81 4e 6f 20 76 61 6c  |heading(".No val|
00000400  69 64 20 66 69 6c 65 73  20 62 72 6f 61 64 63 61  |id files broadca|
00000410  73 74 20 74 68 69 73 20  77 65 65 6b 22 29 3a e5  |st this week"):.|
00000420  8d 64 6a 41 0d 01 68 0c  e3 57 25 3d 31 b8 5a 25  |.djA..h..W%=1.Z%|
00000430  0d 01 72 16 eb 37 3a ef  32 33 3b 38 32 30 32 3b  |..r..7:.23;8202;|
00000440  30 3b 30 3b 30 3b 0d 01  7c 51 f2 68 65 61 64 69  |0;0;0;..|Q.headi|
00000450  6e 67 28 22 46 69 6c 65  3a 86 22 2b 66 6e 61 6d  |ng("File:."+fnam|
00000460  65 24 28 57 25 29 2b c4  28 31 32 2d a9 28 66 6e  |e$(W%)+.(12-.(fn|
00000470  61 6d 65 24 28 57 25 29  29 29 2c 22 20 22 29 2b  |ame$(W%)))," ")+|
00000480  22 87 4c 65 6e 67 74 68  3a 86 22 2b 70 61 67 65  |".Length:."+page|
00000490  73 24 28 57 25 29 29 0d  01 86 2e f1 8a 30 2c 30  |s$(W%))......0,0|
000004a0  29 3b 22 50 22 3b 6d 61  67 25 28 57 25 29 3b c2  |);"P";mag%(W%);.|
000004b0  22 30 30 22 2b c3 7e 28  70 61 67 65 25 28 57 25  |"00"+.~(page%(W%|
000004c0  29 29 2c 32 29 0d 01 90  44 f2 64 6f 77 6e 6c 6f  |)),2)...D.downlo|
000004d0  61 64 28 6d 61 67 25 28  57 25 29 2c 70 61 67 65  |ad(mag%(W%),page|
000004e0  25 28 57 25 29 2c 66 6e  61 6d 65 24 28 57 25 29  |%(W%),fname$(W%)|
000004f0  2c 6c 6f 61 64 25 28 57  25 29 2c 65 78 65 63 25  |,load%(W%),exec%|
00000500  28 57 25 29 2c b9 2c b9  29 0d 01 9a 3e f4 20 50  |(W%),.,.)...>. P|
00000510  52 4f 43 64 6f 77 6e 6c  6f 61 64 28 6d 61 67 25  |ROCdownload(mag%|
00000520  2c 70 61 67 65 25 2c 66  6e 61 6d 65 24 2c 6c 6f  |,page%,fname$,lo|
00000530  61 64 25 2c 65 78 65 63  25 2c 66 69 6c 65 25 2c  |ad%,exec%,file%,|
00000540  72 65 73 65 74 25 29 0d  01 a4 05 ed 0d 01 ae 06  |reset%).........|
00000550  eb 37 0d 01 b8 09 2a 48  4f 46 46 0d 01 c2 22 f2  |.7....*HOFF...".|
00000560  68 65 61 64 69 6e 67 28  22 86 46 69 6c 65 73 20  |heading(".Files |
00000570  64 6f 77 6e 6c 6f 61 64  65 64 3a 22 29 0d 01 cc  |downloaded:")...|
00000580  0c e3 41 25 3d 31 b8 5a  25 0d 01 d6 90 f1 3b 63  |..A%=1.Z%.....;c|
00000590  6f 6c 24 28 41 25 29 3b  c0 66 6e 61 6d 65 24 28  |ol$(A%);.fname$(|
000005a0  41 25 29 2b 22 20 20 20  20 20 20 20 20 22 2c 38  |A%)+"        ",8|
000005b0  29 3b c0 22 28 22 2b 74  79 70 65 24 28 41 25 29  |);."("+type$(A%)|
000005c0  2b 22 29 20 20 20 20 20  20 22 2c 38 29 3b 22 20  |+")      ",8);" |
000005d0  22 3b c0 70 61 67 65 73  24 28 41 25 29 2b 22 20  |";.pages$(A%)+" |
000005e0  20 20 20 20 20 20 20 20  22 2c 39 29 3b 22 86 4c  |        ",9);".L|
000005f0  64 22 3b 63 6f 6c 24 28  41 25 29 3b 22 26 22 3b  |d";col$(A%);"&";|
00000600  c2 22 30 30 30 30 30 22  2b c3 7e 28 6c 6f 61 64  |."00000"+.~(load|
00000610  25 28 41 25 29 29 2c 36  29 0d 01 e0 05 ed 0d 01  |%(A%)),6).......|
00000620  ea 09 2a 48 4f 46 46 0d  01 f4 11 f2 72 65 74 75  |..*HOFF.....retu|
00000630  72 6e 5f 6f 73 68 77 6d  0d 01 fe 05 e0 0d 02 08  |rn_oshwm........|
00000640  05 3a 0d 02 12 10 dd f2  6d 6f 76 65 5f 6f 73 68  |.:......move_osh|
00000650  77 6d 0d 02 1c 0c 53 25  3d 26 35 30 30 30 0d 02  |wm....S%=&5000..|
00000660  26 20 41 25 3d 26 42 34  3a 58 25 3d 53 25 81 32  |& A%=&B4:X%=S%.2|
00000670  35 36 3a 59 25 3d 30 3a  d6 26 46 46 46 34 0d 02  |56:Y%=0:.&FFF4..|
00000680  30 05 e1 0d 02 3a 05 3a  0d 02 44 42 dd f2 64 6f  |0....:.:..DB..do|
00000690  77 6e 6c 6f 61 64 28 6d  61 67 61 7a 69 6e 65 25  |wnload(magazine%|
000006a0  2c 70 61 67 65 25 2c 66  69 6c 65 6e 61 6d 65 24  |,page%,filename$|
000006b0  2c 6c 6f 61 64 25 2c 65  78 65 63 25 2c 73 61 76  |,load%,exec%,sav|
000006c0  65 25 2c 72 65 73 65 74  25 29 0d 02 4e 24 f2 6f  |e%,reset%)..N$.o|
000006d0  73 63 6c 69 28 22 4d 41  47 41 5a 49 4e 45 20 22  |scli("MAGAZINE "|
000006e0  2b c3 28 6d 61 67 61 7a  69 6e 65 25 29 29 0d 02  |+.(magazine%))..|
000006f0  58 0e 73 70 61 63 65 3f  30 3d 32 34 0d 02 62 27  |X.space?0=24..b'|
00000700  73 70 61 63 65 3f 31 3d  6e 61 6d 65 20 83 32 35  |space?1=name .25|
00000710  36 3a 73 70 61 63 65 3f  32 3d 6e 61 6d 65 20 81  |6:space?2=name .|
00000720  32 35 36 0d 02 6c 13 24  6e 61 6d 65 3d 66 69 6c  |256..l.$name=fil|
00000730  65 6e 61 6d 65 24 0d 02  76 11 73 70 61 63 65 21  |ename$..v.space!|
00000740  33 3d 6c 6f 61 64 25 0d  02 80 11 73 70 61 63 65  |3=load%....space|
00000750  21 37 3d 65 78 65 63 25  0d 02 8a 16 73 70 61 63  |!7=exec%....spac|
00000760  65 3f 31 31 3d 6d 61 67  61 7a 69 6e 65 25 0d 02  |e?11=magazine%..|
00000770  94 12 73 70 61 63 65 3f  31 32 3d 70 61 67 65 25  |..space?12=page%|
00000780  0d 02 9e 24 e7 73 61 76  65 25 3d b9 20 73 70 61  |...$.save%=. spa|
00000790  63 65 3f 31 33 3d 31 20  8b 20 73 70 61 63 65 3f  |ce?13=1 . space?|
000007a0  31 33 3d 30 0d 02 a8 25  e7 72 65 73 65 74 25 3d  |13=0...%.reset%=|
000007b0  b9 20 73 70 61 63 65 3f  31 34 3d 30 20 8b 20 73  |. space?14=0 . s|
000007c0  70 61 63 65 3f 31 34 3d  31 0d 02 b2 26 41 25 3d  |pace?14=1...&A%=|
000007d0  26 37 41 3a 58 25 3d 73  70 61 63 65 20 83 32 35  |&7A:X%=space .25|
000007e0  36 3a 59 25 3d 73 70 61  63 65 20 81 32 35 36 0d  |6:Y%=space .256.|
000007f0  02 bc 0a d6 26 46 46 46  31 0d 02 c6 05 e1 0d 02  |....&FFF1.......|
00000800  d0 05 3a 0d 02 da 12 dd  f2 6f 73 63 6c 69 28 74  |..:......oscli(t|
00000810  65 78 74 24 29 0d 02 e4  29 24 6c 69 6e 65 3d 74  |ext$)...)$line=t|
00000820  65 78 74 24 3a 58 25 3d  6c 69 6e 65 20 83 32 35  |ext$:X%=line .25|
00000830  36 3a 59 25 3d 6c 69 6e  65 20 81 32 35 36 0d 02  |6:Y%=line .256..|
00000840  ee 0a d6 26 46 46 46 37  0d 02 f8 05 e1 0d 03 02  |...&FFF7........|
00000850  05 3a 0d 03 0c 15 dd f2  68 65 61 64 69 6e 67 28  |.:......heading(|
00000860  66 6e 61 6d 65 24 29 0d  03 16 05 db 0d 03 20 3a  |fname$)....... :|
00000870  f1 27 89 33 3b bd 31 33  32 3b bd 31 35 37 3b bd  |.'.3;.132;.157;.|
00000880  31 34 31 3b 22 83 46 69  6c 65 73 20 66 72 6f 6d  |141;".Files from|
00000890  20 54 65 6c 65 73 6f 66  74 77 61 72 65 20 20 20  | Telesoftware   |
000008a0  22 3b bd 31 35 36 0d 03  2a 39 f1 89 33 3b bd 31  |";.156..*9..3;.1|
000008b0  33 32 3b bd 31 35 37 3b  bd 31 34 31 3b 22 83 46  |32;.157;.141;".F|
000008c0  69 6c 65 73 20 66 72 6f  6d 20 54 65 6c 65 73 6f  |iles from Teleso|
000008d0  66 74 77 61 72 65 20 20  20 22 3b bd 31 35 36 0d  |ftware   ";.156.|
000008e0  03 34 10 f1 8a 31 2c 35  29 66 6e 61 6d 65 24 0d  |.4...1,5)fname$.|
000008f0  03 3e 05 e1 0d 03 48 05  3a 0d 03 52 12 dd f2 72  |.>....H.:..R...r|
00000900  65 74 75 72 6e 5f 6f 73  68 77 6d 0d 03 5c 20 41  |eturn_oshwm..\ A|
00000910  25 3d 26 42 34 3a 58 25  3d 90 20 81 32 35 36 3a  |%=&B4:X%=. .256:|
00000920  59 25 3d 30 3a d6 26 46  46 46 34 0d 03 66 05 e1  |Y%=0:.&FFF4..f..|
00000930  0d 03 70 05 3a 0d 03 7a  0f dd f2 69 6e 74 65 72  |..p.:..z...inter|
00000940  70 72 65 74 0d 03 84 10  73 74 61 25 3d 53 25 3a  |pret....sta%=S%:|
00000950  5a 25 3d 30 0d 03 8e 24  f4 22 83 49 67 6e 6f 72  |Z%=0...$.".Ignor|
00000960  65 20 31 73 74 20 32 20  73 74 72 69 6e 67 73 20  |e 1st 2 strings |
00000970  69 6e 20 63 61 74 2e 3a  0d 03 98 27 73 74 61 25  |in cat.:...'sta%|
00000980  3d 73 74 61 25 2b 31 2b  3f 73 74 61 25 3a 73 74  |=sta%+1+?sta%:st|
00000990  61 25 3d 73 74 61 25 2b  31 2b 3f 73 74 61 25 0d  |a%=sta%+1+?sta%.|
000009a0  03 a2 05 f5 0d 03 ac 18  f4 22 83 44 65 63 6f 64  |.........".Decod|
000009b0  65 20 63 61 74 61 6c 6f  67 75 65 3a 0d 03 b6 14  |e catalogue:....|
000009c0  f4 22 81 6d 61 63 68 69  6e 65 20 74 79 70 65 3a  |.".machine type:|
000009d0  0d 03 c0 0e 6c 65 6e 25  3d 3f 73 74 61 25 0d 03  |....len%=?sta%..|
000009e0  ca 26 e3 41 25 3d 73 74  61 25 b8 73 74 61 25 2b  |.&.A%=sta%.sta%+|
000009f0  6c 65 6e 25 3a 3f 41 25  3d 28 3f 41 25 29 80 26  |len%:?A%=(?A%).&|
00000a00  37 46 3a ed 0d 03 d4 47  54 25 3d 3f 28 73 74 61  |7F:....GT%=?(sta|
00000a10  25 2b 6c 65 6e 25 2b 31  29 3a 3f 28 73 74 61 25  |%+len%+1):?(sta%|
00000a20  2b 6c 65 6e 25 2b 31 29  3d 31 33 3a 6d 63 24 3d  |+len%+1)=13:mc$=|
00000a30  24 28 73 74 61 25 2b 31  29 3a 3f 28 73 74 61 25  |$(sta%+1):?(sta%|
00000a40  2b 6c 65 6e 25 2b 31 29  3d 54 25 0d 03 de 15 73  |+len%+1)=T%....s|
00000a50  74 61 25 3d 73 74 61 25  2b 31 2b 3f 73 74 61 25  |ta%=sta%+1+?sta%|
00000a60  0d 03 e8 1f f4 22 83 45  6e 64 20 6f 66 20 63 61  |.....".End of ca|
00000a70  74 61 6c 6f 67 75 65 20  69 73 20 2a 2a 2a 3a 0d  |talogue is ***:.|
00000a80  03 f2 14 e7 6d 63 24 3d  22 2a 2a 2a 22 20 e5 8d  |....mc$="***" ..|
00000a90  64 76 44 0d 03 fc 14 f4  22 81 67 65 74 20 66 69  |dvD.....".get fi|
00000aa0  6c 65 6e 61 6d 65 3a 0d  04 06 0e 6c 65 6e 25 3d  |lename:....len%=|
00000ab0  3f 73 74 61 25 0d 04 10  1b 63 6f 6c 24 3d bd 28  |?sta%....col$=.(|
00000ac0  28 3f 28 73 74 61 25 2b  31 29 29 84 26 38 30 29  |(?(sta%+1)).&80)|
00000ad0  0d 04 1a 24 e3 41 25 3d  73 74 61 25 b8 73 74 61  |...$.A%=sta%.sta|
00000ae0  25 2b 6c 65 6e 25 3a 3f  41 25 3d 28 3f 41 25 29  |%+len%:?A%=(?A%)|
00000af0  80 26 37 46 0d 04 24 28  e7 28 3f 41 25 3e 26 36  |.&7F..$(.(?A%>&6|
00000b00  30 29 20 80 20 28 3f 41  25 3c 26 37 42 29 20 3f  |0) . (?A%<&7B) ?|
00000b10  41 25 3d 28 3f 41 25 29  80 26 44 46 0d 04 2e 05  |A%=(?A%).&DF....|
00000b20  ed 0d 04 38 47 54 25 3d  3f 28 73 74 61 25 2b 6c  |...8GT%=?(sta%+l|
00000b30  65 6e 25 2b 31 29 3a 3f  28 73 74 61 25 2b 6c 65  |en%+1):?(sta%+le|
00000b40  6e 25 2b 31 29 3d 31 33  3a 66 6e 24 3d 24 28 73  |n%+1)=13:fn$=$(s|
00000b50  74 61 25 2b 32 29 3a 3f  28 73 74 61 25 2b 6c 65  |ta%+2):?(sta%+le|
00000b60  6e 25 2b 31 29 3d 54 25  0d 04 42 15 73 74 61 25  |n%+1)=T%..B.sta%|
00000b70  3d 73 74 61 25 2b 31 2b  3f 73 74 61 25 0d 04 4c  |=sta%+1+?sta%..L|
00000b80  15 f4 22 81 67 65 74 20  66 69 6c 65 20 74 79 70  |..".get file typ|
00000b90  65 3a 0d 04 56 0e 6c 65  6e 25 3d 3f 73 74 61 25  |e:..V.len%=?sta%|
00000ba0  0d 04 60 26 e3 41 25 3d  73 74 61 25 b8 73 74 61  |..`&.A%=sta%.sta|
00000bb0  25 2b 6c 65 6e 25 3a 3f  41 25 3d 28 3f 41 25 29  |%+len%:?A%=(?A%)|
00000bc0  80 26 37 46 3a ed 0d 04  6a 47 54 25 3d 3f 28 73  |.&7F:...jGT%=?(s|
00000bd0  74 61 25 2b 6c 65 6e 25  2b 31 29 3a 3f 28 73 74  |ta%+len%+1):?(st|
00000be0  61 25 2b 6c 65 6e 25 2b  31 29 3d 31 33 3a 66 74  |a%+len%+1)=13:ft|
00000bf0  24 3d 24 28 73 74 61 25  2b 31 29 3a 3f 28 73 74  |$=$(sta%+1):?(st|
00000c00  61 25 2b 6c 65 6e 25 2b  31 29 3d 54 25 0d 04 74  |a%+len%+1)=T%..t|
00000c10  15 73 74 61 25 3d 73 74  61 25 2b 31 2b 3f 73 74  |.sta%=sta%+1+?st|
00000c20  61 25 0d 04 7e 15 f4 22  81 47 65 74 20 66 69 6c  |a%..~..".Get fil|
00000c30  65 20 73 69 7a 65 3a 0d  04 88 0e 6c 65 6e 25 3d  |e size:....len%=|
00000c40  3f 73 74 61 25 0d 04 92  26 e3 41 25 3d 73 74 61  |?sta%...&.A%=sta|
00000c50  25 b8 73 74 61 25 2b 6c  65 6e 25 3a 3f 41 25 3d  |%.sta%+len%:?A%=|
00000c60  28 3f 41 25 29 80 26 37  46 3a ed 0d 04 9c 48 54  |(?A%).&7F:....HT|
00000c70  25 3d 3f 28 73 74 61 25  2b 6c 65 6e 25 2b 31 29  |%=?(sta%+len%+1)|
00000c80  3a 3f 28 73 74 61 25 2b  6c 65 6e 25 2b 31 29 3d  |:?(sta%+len%+1)=|
00000c90  31 33 3a 6c 65 6e 24 3d  24 28 73 74 61 25 2b 31  |13:len$=$(sta%+1|
00000ca0  29 3a 3f 28 73 74 61 25  2b 6c 65 6e 25 2b 31 29  |):?(sta%+len%+1)|
00000cb0  3d 54 25 0d 04 a6 15 73  74 61 25 3d 73 74 61 25  |=T%....sta%=sta%|
00000cc0  2b 31 2b 3f 73 74 61 25  0d 04 b0 21 f4 22 81 67  |+1+?sta%...!.".g|
00000cd0  65 74 20 6c 6f 61 64 20  26 20 65 78 65 63 20 61  |et load & exec a|
00000ce0  64 64 72 65 73 73 65 73  3a 0d 04 ba 29 6c 6f 61  |ddresses:...)loa|
00000cf0  64 25 3d a4 61 64 64 72  28 73 74 61 25 29 3a 65  |d%=.addr(sta%):e|
00000d00  78 65 63 25 3d a4 61 64  64 72 28 73 74 61 25 2b  |xec%=.addr(sta%+|
00000d10  34 29 0d 04 c4 1a f4 22  81 67 65 74 20 6d 61 67  |4).....".get mag|
00000d20  20 26 20 70 61 67 65 20  6e 6f 2e 3a 0d 04 ce 22  | & page no.:..."|
00000d30  6d 61 67 25 3d 3f 28 73  74 61 25 2b 38 29 3a 70  |mag%=?(sta%+8):p|
00000d40  61 67 65 25 3d 3f 28 73  74 61 25 2b 39 29 0d 04  |age%=?(sta%+9)..|
00000d50  d8 10 73 74 61 25 3d 73  74 61 25 2b 31 30 0d 04  |..sta%=sta%+10..|
00000d60  e2 3c f2 73 61 76 65 5f  69 6e 66 6f 28 6d 63 24  |.<.save_info(mc$|
00000d70  2c 63 6f 6c 24 2c 66 6e  24 2c 66 74 24 2c 6c 65  |,col$,fn$,ft$,le|
00000d80  6e 24 2c 6c 6f 61 64 25  2c 65 78 65 63 25 2c 6d  |n$,load%,exec%,m|
00000d90  61 67 25 2c 70 61 67 65  25 29 0d 04 ec 1e f4 22  |ag%,page%)....."|
00000da0  83 55 6e 74 69 6c 20 65  6e 64 20 6f 66 20 63 61  |.Until end of ca|
00000db0  74 61 6c 6f 67 75 65 3a  0d 04 f6 0e fd 6d 63 24  |talogue:.....mc$|
00000dc0  3d 22 2a 2a 2a 22 0d 05  00 05 e1 0d 05 0a 05 3a  |="***".........:|
00000dd0  0d 05 14 0f dd a4 61 64  64 72 28 73 74 25 29 0d  |......addr(st%).|
00000de0  05 1e 3a 3d 28 28 28 28  28 3f 73 74 25 2a 32 35  |..:=(((((?st%*25|
00000df0  36 29 2b 3f 28 73 74 25  2b 31 29 29 2a 32 35 36  |6)+?(st%+1))*256|
00000e00  29 2b 3f 28 73 74 25 2b  32 29 2a 32 35 36 29 2b  |)+?(st%+2)*256)+|
00000e10  3f 28 73 74 25 2b 33 29  29 0d 05 28 0d dd a4 67  |?(st%+3))..(...g|
00000e20  65 74 6c 69 6e 6b 0d 05  32 38 73 70 61 63 65 3f  |etlink..28space?|
00000e30  30 3d 31 35 3a 41 25 3d  26 37 41 3a 58 25 3d 73  |0=15:A%=&7A:X%=s|
00000e40  70 61 63 65 20 83 32 35  36 3a 59 25 3d 73 70 61  |pace .256:Y%=spa|
00000e50  63 65 20 81 32 35 36 3a  d6 26 46 46 46 31 0d 05  |ce .256:.&FFF1..|
00000e60  3c 48 e7 28 28 73 70 61  63 65 3f 31 29 2a 31 30  |<H.((space?1)*10|
00000e70  30 29 2b 73 70 61 63 65  3f 32 3e 39 39 39 20 f2  |0)+space?2>999 .|
00000e80  68 65 61 64 69 6e 67 28  22 81 45 72 72 6f 72 86  |heading(".Error.|
00000e90  2d 20 4e 6f 20 43 61 74  61 6c 6f 67 75 65 22 29  |- No Catalogue")|
00000ea0  3a e5 8d 64 6a 41 0d 05  46 1c 3d 28 28 73 70 61  |:..djA..F.=((spa|
00000eb0  63 65 3f 31 29 2a 31 30  30 29 2b 73 70 61 63 65  |ce?1)*100)+space|
00000ec0  3f 32 0d 05 50 05 3a 0d  05 5a 11 dd f2 66 69 6e  |?2..P.:..Z...fin|
00000ed0  64 63 61 74 28 4f 25 29  0d 05 64 19 f2 6f 73 63  |dcat(O%)..d..osc|
00000ee0  6c 69 28 22 50 41 47 45  20 22 2b c3 28 4f 25 29  |li("PAGE "+.(O%)|
00000ef0  29 0d 05 6e 10 ea 61 25  2c 70 6e 24 2c 72 6f 77  |)..n..a%,pn$,row|
00000f00  25 0d 05 78 0e 2a 44 41  54 41 20 35 30 30 30 0d  |%..x.*DATA 5000.|
00000f10  05 82 0f 61 25 3d 26 35  30 30 30 2d 34 32 0d 05  |...a%=&5000-42..|
00000f20  8c 05 f5 0d 05 96 0c 61  25 3d 61 25 2b 34 32 0d  |.......a%=a%+42.|
00000f30  05 a0 29 fd 28 61 25 3f  31 3d 32 37 20 80 20 a4  |..).(a%?1=27 . .|
00000f40  64 65 68 61 6d 28 61 25  3f 32 29 3d 30 29 20 84  |deham(a%?2)=0) .|
00000f50  61 25 3e 26 35 38 30 30  0d 05 aa 39 e7 61 25 3e  |a%>&5800...9.a%>|
00000f60  26 35 38 30 30 20 4d 25  3d 30 3a f2 68 65 61 64  |&5800 M%=0:.head|
00000f70  69 6e 67 28 22 81 45 72  72 6f 72 86 2d 6e 6f 20  |ing(".Error.-no |
00000f80  63 61 74 61 6c 6f 67 75  65 22 29 3a e5 8d 64 6a  |catalogue"):..dj|
00000f90  41 0d 05 b4 0b e3 56 25  3d 30 b8 35 0d 05 be 0f  |A.....V%=0.5....|
00000fa0  44 28 56 25 29 3d 32 37  2b 56 25 0d 05 c8 1a 44  |D(V%)=27+V%....D|
00000fb0  28 56 25 29 3d a4 64 65  68 61 6d 28 61 25 3f 44  |(V%)=.deham(a%?D|
00000fc0  28 56 25 29 29 0d 05 d2  05 ed 0d 05 dc 2a 4d 25  |(V%))........*M%|
00000fd0  3d 28 28 28 44 28 35 29  20 80 31 32 29 81 32 29  |=(((D(5) .12).2)|
00000fe0  84 28 44 28 33 29 20 81  38 29 29 82 28 4f 25 81  |.(D(3) .8)).(O%.|
00000ff0  31 30 30 29 0d 05 e6 17  4e 25 3d 28 44 28 31 29  |100)....N%=(D(1)|
00001000  2a 31 36 29 2b 28 44 28  30 29 29 0d 05 f0 05 e1  |*16)+(D(0)).....|
00001010  0d 05 fa 05 3a 0d 06 04  12 dd a4 64 65 68 61 6d  |....:......deham|
00001020  28 62 79 74 65 25 29 0d  06 0e 46 73 70 61 63 65  |(byte%)...Fspace|
00001030  3f 30 3d 32 35 3a 73 70  61 63 65 3f 31 3d 62 79  |?0=25:space?1=by|
00001040  74 65 25 3a 41 25 3d 26  37 41 3a 58 25 3d 73 70  |te%:A%=&7A:X%=sp|
00001050  61 63 65 20 83 32 35 36  3a 59 25 3d 73 70 61 63  |ace .256:Y%=spac|
00001060  65 20 81 32 35 36 3a d6  26 46 46 46 31 0d 06 18  |e .256:.&FFF1...|
00001070  11 3d 28 73 70 61 63 65  3f 32 29 80 26 46 0d 06  |.=(space?2).&F..|
00001080  22 05 3a 0d 06 2c 3d dd  f2 73 61 76 65 5f 69 6e  |".:..,=..save_in|
00001090  66 6f 28 6d 63 24 2c 63  6f 6c 24 2c 66 6e 24 2c  |fo(mc$,col$,fn$,|
000010a0  66 74 24 2c 6c 65 6e 24  2c 6c 6f 61 64 25 2c 65  |ft$,len$,load%,e|
000010b0  78 65 63 25 2c 6d 61 67  25 2c 70 61 67 65 25 29  |xec%,mag%,page%)|
000010c0  0d 06 36 24 f4 22 83 49  67 6e 6f 72 65 20 66 69  |..6$.".Ignore fi|
000010d0  6c 65 73 20 66 6f 72 20  6f 74 68 65 72 20 6d 2f  |les for other m/|
000010e0  63 27 73 3a 0d 06 40 1e  e7 6d 63 24 3c 3e 22 41  |c's:..@..mc$<>"A|
000010f0  4e 59 22 20 80 20 6d 63  24 3c 3e 22 42 42 43 22  |NY" . mc$<>"BBC"|
00001100  20 e1 0d 06 4a 22 f4 22  82 41 64 64 20 72 6f 75  | ...J".".Add rou|
00001110  74 69 6e 65 73 20 68 65  72 65 20 74 6f 20 69 67  |tines here to ig|
00001120  6e 6f 72 65 0d 06 54 24  f4 22 82 61 6e 79 20 75  |nore..T$.".any u|
00001130  6e 77 61 6e 74 65 64 20  66 69 6c 65 73 2e 83 45  |nwanted files..E|
00001140  61 63 68 20 66 69 6c 65  0d 06 5e 22 f4 22 83 69  |ach file..^".".i|
00001150  64 65 6e 74 69 66 69 65  64 20 62 79 20 74 68 65  |dentified by the|
00001160  20 66 6f 6c 6c 6f 77 69  6e 67 0d 06 68 0e f4 22  | following..h.."|
00001170  83 61 72 72 61 79 73 3a  0d 06 72 20 f4 22 86 63  |.arrays:..r .".c|
00001180  6f 6c 24 81 46 69 6c 65  6e 61 6d 65 20 63 6f 6c  |ol$.Filename col|
00001190  6f 75 72 20 63 6f 64 65  0d 06 7c 13 f4 22 86 66  |our code..|..".f|
000011a0  6e 24 81 46 69 6c 65 6e  61 6d 65 0d 06 86 14 f4  |n$.Filename.....|
000011b0  22 86 66 74 24 81 46 69  6c 65 20 74 79 70 65 0d  |".ft$.File type.|
000011c0  06 90 17 f4 22 86 6c 65  6e 24 81 46 69 6c 65 20  |....".len$.File |
000011d0  6c 65 6e 67 74 68 0d 06  9a 19 f4 22 86 6c 6f 61  |length.....".loa|
000011e0  64 25 81 4c 6f 61 64 20  61 64 64 72 65 73 73 0d  |d%.Load address.|
000011f0  06 a4 1e f4 22 86 65 78  65 63 25 81 45 78 65 63  |....".exec%.Exec|
00001200  75 74 69 6f 6e 20 61 64  64 72 65 73 73 0d 06 ae  |ution address...|
00001210  22 f4 22 86 6d 61 67 25  81 4d 61 67 61 7a 69 6e  |".".mag%.Magazin|
00001220  65 20 69 6e 20 77 68 69  63 68 20 66 69 6c 65 0d  |e in which file.|
00001230  06 b8 1a f4 22 20 20 20  20 20 81 69 73 20 74 72  |...."     .is tr|
00001240  61 6e 73 6d 69 74 74 65  64 0d 06 c2 22 f4 22 86  |ansmitted...".".|
00001250  70 61 67 65 25 81 50 61  67 65 20 6f 6e 20 77 68  |page%.Page on wh|
00001260  69 63 68 20 66 69 6c 65  20 69 73 0d 06 cc 17 f4  |ich file is.....|
00001270  22 20 20 20 20 20 81 74  72 61 6e 73 6d 69 74 74  |"     .transmitt|
00001280  65 64 0d 06 d6 23 f4 22  83 41 6e 79 20 66 69 6c  |ed...#.".Any fil|
00001290  65 20 6e 6f 74 20 72 65  71 75 69 72 65 64 20 73  |e not required s|
000012a0  68 6f 75 6c 64 0d 06 e0  23 f4 22 83 63 61 75 73  |hould...#.".caus|
000012b0  65 20 74 68 69 73 20 70  72 6f 63 65 64 75 72 65  |e this procedure|
000012c0  20 74 6f 20 65 78 69 74  0d 06 ea 1c f4 22 83 62  | to exit.....".b|
000012d0  65 66 6f 72 65 20 74 68  65 20 6e 65 78 74 20 6c  |efore the next l|
000012e0  69 6e 65 2e 0d 06 f4 13  f4 22 83 46 6f 72 20 65  |ine......".For e|
000012f0  78 61 6d 70 6c 65 3a 0d  06 fe 23 f4 22 81 49 46  |xample:...#.".IF|
00001300  20 66 74 24 3c 3e 22 42  41 53 49 43 22 20 54 48  | ft$<>"BASIC" TH|
00001310  45 4e 20 45 4e 44 50 52  4f 43 0d 07 08 84 5a 25  |EN ENDPROC....Z%|
00001320  3d 5a 25 2b 31 3a 70 61  67 65 25 28 5a 25 29 3d  |=Z%+1:page%(Z%)=|
00001330  70 61 67 65 25 3a 66 6e  61 6d 65 24 28 5a 25 29  |page%:fname$(Z%)|
00001340  3d 66 6e 24 3a 74 79 70  65 24 28 5a 25 29 3d 66  |=fn$:type$(Z%)=f|
00001350  74 24 3a 6c 6f 61 64 25  28 5a 25 29 3d 6c 6f 61  |t$:load%(Z%)=loa|
00001360  64 25 3a 65 78 65 63 25  28 5a 25 29 3d 65 78 65  |d%:exec%(Z%)=exe|
00001370  63 25 3a 70 61 67 65 73  24 28 5a 25 29 3d 6c 65  |c%:pages$(Z%)=le|
00001380  6e 24 3a 6d 61 67 25 28  5a 25 29 3d 6d 61 67 25  |n$:mag%(Z%)=mag%|
00001390  3a 63 6f 6c 24 28 5a 25  29 3d 63 6f 6c 24 0d 07  |:col$(Z%)=col$..|
000013a0  12 05 e1 0d ff                                    |.....|
000013a5
ATS/B\ATS6A.m0
ATS/B\ATS6A.m1
ATS/B\ATS6A.m2
ATS/B\ATS6A.m4
ATS/B\ATS6A.m5