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

ATS/B\ATS12

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\ATS12
Read OK:
File size: 0EBC bytes
Load address: 1A00
Exec address: 801F
File contents
   10REM"�ATS12
   20REM"�*****************************
   30REM"�*�ATS�Routine to capture   �*
   40REM"�*�20 teletext pages        �*
   50REM"�*�simultaneously, using all�*
   60REM"�*�20 page grabbers, then   �*
   70REM"�*�'carousel' the pages     �*
   80REM"�*****************************
   90REM"�*�(C)�J.J.Brayshaw�Aug 1987�*
  100REM"�*****************************
  110REM"�*�Lines following�GREEN�REM�*
  120REM"�*�statements to be adjusted�*
  130REM"�*�as required.             �*
  140REM"�*�REM's in�YELLOW�for info.�*
  150REM"�*�only.                    �*
  160REM"�*****************************
  170REM"�*�PROCsetpages()�sets the  �*
  180REM"�*�number of rows received  �*
  190REM"�*�PROCsetgrabber(no%,mag%, �*
  200REM"�*�page%,sub%,store%)�sets  �*
  210REM"�*�up a single page grabber �*
  220REM"�*�PROCwait_for_pages�tests �*
  230REM"�*�for all pages received   �*
  240REM"�*�PROCstop_updates�stops   �*
  250REM"�*�page updating, &         �*
  260REM"�*�PROCreset_grabbers       �*
  270REM"�*�cancels page grabbing    �*
  280REM"�*****************************
  290:
  300:
  310:
  320MODE7
  330REM"�Choose 20 CEEFAX pages:
  340REM"�(can include sub-pages as
  350REM"�e.g. 1730002 or 173s0002):
  360DATA 100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,120
  370REM"�Last page-grabber no. used:
  380REM"�(i.e. no. of grabbers - 1)
  390qty%=19
  400VDU23;8202;0;0;0;
  410HIMEM=&2C00
  420DIMC% 14
  430loc%=&2C00:store%=loc%:page_length%=24
  440PRINT'
  450*TELESOFT
  460*HON
  470REM"�Set tv channel:
  480*BBC1
  490REM"�Set page length:
  500PROCsetpages(page_length%)
  510FORN%=0TOqty%
  520REM"�Read page no. from data list:
  530PROCchoose_page
  540REM"�Set each page grabber:
  550REM"�(grabber no, mag no, page,
  560REM"�sub-page, memory loc'n):
  570PROCsetgrabber(N%,m%,p%,sp%,loc%+(N%*&400))
  580NEXT
  590REM"�Wait until all received:
  600PROCwait_for_pages(qty%)
  610*DISPLAY 2C00
  620VDU23;8202;0;0;0;
  630PRINTTAB(0,0)"Rec. 00�"
  640PRINTTAB(0,24)"�";CHR$255;" ]=Up ";CHR$255;" [=Down ";CHR$255;" SPACE=Save Mag & end";
  650REM"�Carousel pages:
  660PROCscanpages(qty%)
  670REM"�Put each page on hold:
  680PROCstop_updates(qty%)
  690REM"�Add appropriate header row
  700REM"�code for VidiEd:
  710PROCsave_vidied(qty%)
  720REM"�Stop page grabbing:
  730PROCreset_grabbers
  740*HOFF
  750REM"�Turn off ttx reception:
  760*TTXOFF
  770MODE7
  780END
  790:
  800DEFPROCsetpages(no%)
  810C%?0=7:C%?1=no%
  820A%=&7A:X%=C%MOD256:Y%=C%DIV256:CALL&FFF1
  830ENDPROC
  840:
  850DEFPROCchoose_page
  860READp$
  870m%=EVAL("&"+LEFT$(p$,1))
  880p%=EVAL("&"+MID$(p$,2,2))
  890IFLEN(p$)>3 sp%=EVAL("&"+RIGHT$(p$,4)) ELSE sp%=&3F7F
  900ENDPROC
  910:
  920DEFPROCsetgrabber(no%,mag%,page%,sub%,store%)
  930A%=&7A:C%?0=5:X%=C%MOD256:Y%=C%DIV256
  940C%?1=no%:C%?2=mag%:C%?3=page%:C%?4=sub%DIV256:C%?5=sub%MOD256:C%?6=store%MOD256:C%?7=store%DIV256
  950CALL&FFF1
  960ENDPROC
  970:
  980DEFFNcheck_got(no%)
  990A%=&7A:C%?0=2:X%=C%MOD256:Y%=C%DIV256
 1000C%?1=no%:CALL&FFF1
 1010IF(C%?2)AND2=2 =TRUE ELSE =FALSE
 1020:
 1030DEFPROCscanpages(qty%)
 1040*FX4,1
 1050REPEAT:Q=GET
 1060IFQ=137 ANDstore%<(&2C00+(qty%*&400)) store%=store%+&400:PROCoscli("DISPLAY "+STR$~(store%))
 1070IFQ=136 ANDstore%>&2C00 store%=store%-&400:PROCoscli("DISPLAY "+STR$~(store%))
 1080VDU23;8202;0;0;0;
 1090PRINTTAB(0,0)"Rec. ";RIGHT$("0"+STR$((store%-&2C00)DIV&400),2);"�"
 1100PRINTTAB(0,24)"�";CHR$255;" ]=Up ";CHR$255;" [=Down ";CHR$255;" SPACE=Save Mag & end";
 1110UNTILQ=32
 1120*FX4,0
 1130ENDPROC
 1140:
 1150DEFPROCoscli(s$)
 1160X%=C%MOD256:Y%=C%DIV256:$C%=s$
 1170CALL&FFF7
 1180ENDPROC
 1190:
 1200DEFPROCstop_updates(qty%)
 1210REM"�Check no updates being done:
 1220A%=&7A:C%?0=2:X%=C%MOD256:Y%=C%DIV256
 1230FORJ%=0TO qty%
 1240REPEAT
 1250C%?1=J%:CALL&FFF1
 1260UNTIL((C%?2)AND4)=0
 1270REM"�then hold page:
 1280PROCset_hold(J%)
 1290NEXT
 1300ENDPROC
 1310:
 1320DEFPROCsave_vidied(qty%)
 1330FORJ%=0TO qty%
 1340K%=loc%+(&400*J%)
 1350id$=CHR$(&BA)+"Rcrd"+RIGHT$("00"+STR$(J%),2)+CHR$(&BA)
 1360G%=?(K%+LEN(id$)):$K%=id$:?(K%+LEN(id$))=G%
 1370NEXT
 1380REM"�Save VidiEd mag as 'CEEFAX':
 1390*SAVE D.CEEFAX 2C00 +5000 0 0
 1400ENDPROC
 1410:
 1420DEFPROCset_hold(no%)
 1430A%=&7A:C%?0=3:X%=C%MOD256:Y%=C%DIV256
 1440C%?1=no%:C%?2=3:CALL&FFF1
 1450ENDPROC
 1460:
 1470DEFPROCreset_grabbers
 1480A%=&7A:X%=C%MOD256:Y%=C%DIV256
 1490C%?0=14
 1500CALL&FFF1
 1510ENDPROC
 1520:
 1530DEFPROCwait_for_pages(qty%)
 1540REPEAT:S%=TRUE
 1550FORG%=0TO qty%:IF NOT FNcheck_got(G%) S%=FALSE
 1560NEXT
 1570UNTILS%=TRUE
 1580ENDPROC

�"�ATS12
$�"�*****************************
$�"�*�ATS�Routine to capture   �*
($�"�*�20 teletext pages        �*
2$�"�*�simultaneously, using all�*
<$�"�*�20 page grabbers, then   �*
F$�"�*�'carousel' the pages     �*
P$�"�*****************************
Z$�"�*�(C)�J.J.Brayshaw�Aug 1987�*
d$�"�*****************************
n$�"�*�Lines following�GREEN�REM�*
x$�"�*�statements to be adjusted�*
�$�"�*�as required.             �*
�$�"�*�REM's in�YELLOW�for info.�*
�$�"�*�only.                    �*
�$�"�*****************************
�$�"�*�PROCsetpages()�sets the  �*
�$�"�*�number of rows received  �*
�$�"�*�PROCsetgrabber(no%,mag%, �*
�$�"�*�page%,sub%,store%)�sets  �*
�$�"�*�up a single page grabber �*
�$�"�*�PROCwait_for_pages�tests �*
�$�"�*�for all pages received   �*
�$�"�*�PROCstop_updates�stops   �*
�$�"�*�page updating, &         �*
$�"�*�PROCreset_grabbers       �*
$�"�*�cancels page grabbing    �*
$�"�*****************************
":
,:
6:
@�7
J�"�Choose 20 CEEFAX pages:
T �"�(can include sub-pages as
^!�"�e.g. 1730002 or 173s0002):
hU� 100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,120
r"�"�Last page-grabber no. used:
|!�"�(i.e. no. of grabbers - 1)
�qty%=19
��23;8202;0;0;0;
��=&2C00
�
�C% 14
�*loc%=&2C00:store%=loc%:page_length%=24
��'
�
*TELESOFT
�*HON
��"�Set tv channel:
�	*BBC1
��"�Set page length:
��setpages(page_length%)
��N%=0�qty%
$�"�Read page no. from data list:
�choose_page
�"�Set each page grabber:
&!�"�(grabber no, mag no, page,
0�"�sub-page, memory loc'n):
:,�setgrabber(N%,m%,p%,sp%,loc%+(N%*&400))
D�
N�"�Wait until all received:
X�wait_for_pages(qty%)
b*DISPLAY 2C00
l�23;8202;0;0;0;
v�0,0)"Rec. 00�"
�J�0,24)"�";�255;" ]=Up ";�255;" [=Down ";�255;" SPACE=Save Mag & end";
��"�Carousel pages:
��scanpages(qty%)
��"�Put each page on hold:
��stop_updates(qty%)
�!�"�Add appropriate header row
��"�code for VidiEd:
��save_vidied(qty%)
��"�Stop page grabbing:
��reset_grabbers
�	*HOFF
��"�Turn off ttx reception:
�*TTXOFF
�7
�
:
 ��setpages(no%)
*C%?0=7:C%?1=no%
4%A%=&7A:X%=C%�256:Y%=C%�256:�&FFF1
>�
H:
R��choose_page
\�p$
fm%=�("&"+�p$,1))
pp%=�("&"+�p$,2,2))
z*�(p$)>3 sp%=�("&"+�p$,4)) � sp%=&3F7F
��
�:
�,��setgrabber(no%,mag%,page%,sub%,store%)
�%A%=&7A:C%?0=5:X%=C%�256:Y%=C%�256
�]C%?1=no%:C%?2=mag%:C%?3=page%:C%?4=sub%�256:C%?5=sub%�256:C%?6=store%�256:C%?7=store%�256
�
�&FFF1
��
�:
�ݤcheck_got(no%)
�%A%=&7A:C%?0=2:X%=C%�256:Y%=C%�256
�C%?1=no%:�&FFF1
��(C%?2)�2=2 =� � =�
�:
��scanpages(qty%)

*FX4,1
	�:Q=�
$W�Q=137 �store%<(&2C00+(qty%*&400)) store%=store%+&400:�oscli("DISPLAY "+�~(store%))
.I�Q=136 �store%>&2C00 store%=store%-&400:�oscli("DISPLAY "+�~(store%))
8�23;8202;0;0;0;
B4�0,0)"Rec. ";�"0"+�((store%-&2C00)�&400),2);"�"
LJ�0,24)"�";�255;" ]=Up ";�255;" [=Down ";�255;" SPACE=Save Mag & end";
V	�Q=32
`
*FX4,0
j�
t:
~��oscli(s$)
�X%=C%�256:Y%=C%�256:$C%=s$
�
�&FFF7
��
�:
���stop_updates(qty%)
�#�"�Check no updates being done:
�%A%=&7A:C%?0=2:X%=C%�256:Y%=C%�256
��J%=0� qty%
��
�C%?1=J%:�&FFF1
��((C%?2)�4)=0
��"�then hold page:
�set_hold(J%)

�
�
:
(��save_vidied(qty%)
2�J%=0� qty%
<K%=loc%+(&400*J%)
F+id$=�(&BA)+"Rcrd"+�"00"+�(J%),2)+�(&BA)
P+G%=?(K%+�(id$)):$K%=id$:?(K%+�(id$))=G%
Z�
d#�"�Save VidiEd mag as 'CEEFAX':
n!*SAVE D.CEEFAX 2C00 +5000 0 0
x�
�:
���set_hold(no%)
�%A%=&7A:C%?0=3:X%=C%�256:Y%=C%�256
�C%?1=no%:C%?2=3:�&FFF1
��
�:
���reset_grabbers
�A%=&7A:X%=C%�256:Y%=C%�256
�C%?0=14
�
�&FFF1
��
�:
���wait_for_pages(qty%)

�:S%=�
'�G%=0� qty%:� � �check_got(G%) S%=�
�
"	�S%=�
,�
�
00000000  0d 00 0a 0c f4 22 85 41  54 53 31 32 0d 00 14 24  |.....".ATS12...$|
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  63 61 70 74 75 72 65 20  |tine to capture |
00000050  20 20 81 2a 0d 00 28 24  f4 22 81 2a 83 32 30 20  |  .*..($.".*.20 |
00000060  74 65 6c 65 74 65 78 74  20 70 61 67 65 73 20 20  |teletext pages  |
00000070  20 20 20 20 20 20 81 2a  0d 00 32 24 f4 22 81 2a  |      .*..2$.".*|
00000080  83 73 69 6d 75 6c 74 61  6e 65 6f 75 73 6c 79 2c  |.simultaneously,|
00000090  20 75 73 69 6e 67 20 61  6c 6c 81 2a 0d 00 3c 24  | using all.*..<$|
000000a0  f4 22 81 2a 83 32 30 20  70 61 67 65 20 67 72 61  |.".*.20 page gra|
000000b0  62 62 65 72 73 2c 20 74  68 65 6e 20 20 20 81 2a  |bbers, then   .*|
000000c0  0d 00 46 24 f4 22 81 2a  83 27 63 61 72 6f 75 73  |..F$.".*.'carous|
000000d0  65 6c 27 20 74 68 65 20  70 61 67 65 73 20 20 20  |el' the pages   |
000000e0  20 20 81 2a 0d 00 50 24  f4 22 81 2a 2a 2a 2a 2a  |  .*..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  82 28 43 29 87 4a 2e 4a  2e 42 72 61 79 73 68 61  |.(C).J.J.Braysha|
00000120  77 85 41 75 67 20 31 39  38 37 81 2a 0d 00 64 24  |w.Aug 1987.*..d$|
00000130  f4 22 81 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |.".*************|
00000140  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |****************|
00000150  0d 00 6e 24 f4 22 81 2a  87 4c 69 6e 65 73 20 66  |..n$.".*.Lines f|
00000160  6f 6c 6c 6f 77 69 6e 67  82 47 52 45 45 4e 87 52  |ollowing.GREEN.R|
00000170  45 4d 81 2a 0d 00 78 24  f4 22 81 2a 87 73 74 61  |EM.*..x$.".*.sta|
00000180  74 65 6d 65 6e 74 73 20  74 6f 20 62 65 20 61 64  |tements to be ad|
00000190  6a 75 73 74 65 64 81 2a  0d 00 82 24 f4 22 81 2a  |justed.*...$.".*|
000001a0  87 61 73 20 72 65 71 75  69 72 65 64 2e 20 20 20  |.as required.   |
000001b0  20 20 20 20 20 20 20 20  20 20 81 2a 0d 00 8c 24  |          .*...$|
000001c0  f4 22 81 2a 87 52 45 4d  27 73 20 69 6e 83 59 45  |.".*.REM's in.YE|
000001d0  4c 4c 4f 57 87 66 6f 72  20 69 6e 66 6f 2e 81 2a  |LLOW.for info..*|
000001e0  0d 00 96 24 f4 22 81 2a  87 6f 6e 6c 79 2e 20 20  |...$.".*.only.  |
000001f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000200  20 20 81 2a 0d 00 a0 24  f4 22 81 2a 2a 2a 2a 2a  |  .*...$.".*****|
00000210  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |****************|
00000220  2a 2a 2a 2a 2a 2a 2a 2a  0d 00 aa 24 f4 22 81 2a  |********...$.".*|
00000230  85 50 52 4f 43 73 65 74  70 61 67 65 73 28 29 87  |.PROCsetpages().|
00000240  73 65 74 73 20 74 68 65  20 20 81 2a 0d 00 b4 24  |sets the  .*...$|
00000250  f4 22 81 2a 87 6e 75 6d  62 65 72 20 6f 66 20 72  |.".*.number of r|
00000260  6f 77 73 20 72 65 63 65  69 76 65 64 20 20 81 2a  |ows received  .*|
00000270  0d 00 be 24 f4 22 81 2a  85 50 52 4f 43 73 65 74  |...$.".*.PROCset|
00000280  67 72 61 62 62 65 72 28  6e 6f 25 2c 6d 61 67 25  |grabber(no%,mag%|
00000290  2c 20 81 2a 0d 00 c8 24  f4 22 81 2a 85 70 61 67  |, .*...$.".*.pag|
000002a0  65 25 2c 73 75 62 25 2c  73 74 6f 72 65 25 29 87  |e%,sub%,store%).|
000002b0  73 65 74 73 20 20 81 2a  0d 00 d2 24 f4 22 81 2a  |sets  .*...$.".*|
000002c0  87 75 70 20 61 20 73 69  6e 67 6c 65 20 70 61 67  |.up a single pag|
000002d0  65 20 67 72 61 62 62 65  72 20 81 2a 0d 00 dc 24  |e grabber .*...$|
000002e0  f4 22 81 2a 85 50 52 4f  43 77 61 69 74 5f 66 6f  |.".*.PROCwait_fo|
000002f0  72 5f 70 61 67 65 73 87  74 65 73 74 73 20 81 2a  |r_pages.tests .*|
00000300  0d 00 e6 24 f4 22 81 2a  87 66 6f 72 20 61 6c 6c  |...$.".*.for all|
00000310  20 70 61 67 65 73 20 72  65 63 65 69 76 65 64 20  | pages received |
00000320  20 20 81 2a 0d 00 f0 24  f4 22 81 2a 85 50 52 4f  |  .*...$.".*.PRO|
00000330  43 73 74 6f 70 5f 75 70  64 61 74 65 73 87 73 74  |Cstop_updates.st|
00000340  6f 70 73 20 20 20 81 2a  0d 00 fa 24 f4 22 81 2a  |ops   .*...$.".*|
00000350  87 70 61 67 65 20 75 70  64 61 74 69 6e 67 2c 20  |.page updating, |
00000360  26 20 20 20 20 20 20 20  20 20 81 2a 0d 01 04 24  |&         .*...$|
00000370  f4 22 81 2a 85 50 52 4f  43 72 65 73 65 74 5f 67  |.".*.PROCreset_g|
00000380  72 61 62 62 65 72 73 20  20 20 20 20 20 20 81 2a  |rabbers       .*|
00000390  0d 01 0e 24 f4 22 81 2a  87 63 61 6e 63 65 6c 73  |...$.".*.cancels|
000003a0  20 70 61 67 65 20 67 72  61 62 62 69 6e 67 20 20  | page grabbing  |
000003b0  20 20 81 2a 0d 01 18 24  f4 22 81 2a 2a 2a 2a 2a  |  .*...$.".*****|
000003c0  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |****************|
000003d0  2a 2a 2a 2a 2a 2a 2a 2a  0d 01 22 05 3a 0d 01 2c  |********..".:..,|
000003e0  05 3a 0d 01 36 05 3a 0d  01 40 06 eb 37 0d 01 4a  |.:..6.:..@..7..J|
000003f0  1e f4 22 82 43 68 6f 6f  73 65 20 32 30 20 43 45  |..".Choose 20 CE|
00000400  45 46 41 58 20 70 61 67  65 73 3a 0d 01 54 20 f4  |EFAX pages:..T .|
00000410  22 82 28 63 61 6e 20 69  6e 63 6c 75 64 65 20 73  |".(can include s|
00000420  75 62 2d 70 61 67 65 73  20 61 73 0d 01 5e 21 f4  |ub-pages as..^!.|
00000430  22 82 65 2e 67 2e 20 31  37 33 30 30 30 32 20 6f  |".e.g. 1730002 o|
00000440  72 20 31 37 33 73 30 30  30 32 29 3a 0d 01 68 55  |r 173s0002):..hU|
00000450  dc 20 31 30 30 2c 31 30  31 2c 31 30 32 2c 31 30  |. 100,101,102,10|
00000460  33 2c 31 30 34 2c 31 30  35 2c 31 30 36 2c 31 30  |3,104,105,106,10|
00000470  37 2c 31 30 38 2c 31 30  39 2c 31 31 30 2c 31 31  |7,108,109,110,11|
00000480  31 2c 31 31 32 2c 31 31  33 2c 31 31 34 2c 31 31  |1,112,113,114,11|
00000490  35 2c 31 31 36 2c 31 31  37 2c 31 31 38 2c 31 32  |5,116,117,118,12|
000004a0  30 0d 01 72 22 f4 22 82  4c 61 73 74 20 70 61 67  |0..r".".Last pag|
000004b0  65 2d 67 72 61 62 62 65  72 20 6e 6f 2e 20 75 73  |e-grabber no. us|
000004c0  65 64 3a 0d 01 7c 21 f4  22 82 28 69 2e 65 2e 20  |ed:..|!.".(i.e. |
000004d0  6e 6f 2e 20 6f 66 20 67  72 61 62 62 65 72 73 20  |no. of grabbers |
000004e0  2d 20 31 29 0d 01 86 0b  71 74 79 25 3d 31 39 0d  |- 1)....qty%=19.|
000004f0  01 90 13 ef 32 33 3b 38  32 30 32 3b 30 3b 30 3b  |....23;8202;0;0;|
00000500  30 3b 0d 01 9a 0b d3 3d  26 32 43 30 30 0d 01 a4  |0;.....=&2C00...|
00000510  0a de 43 25 20 31 34 0d  01 ae 2a 6c 6f 63 25 3d  |..C% 14...*loc%=|
00000520  26 32 43 30 30 3a 73 74  6f 72 65 25 3d 6c 6f 63  |&2C00:store%=loc|
00000530  25 3a 70 61 67 65 5f 6c  65 6e 67 74 68 25 3d 32  |%:page_length%=2|
00000540  34 0d 01 b8 06 f1 27 0d  01 c2 0d 2a 54 45 4c 45  |4.....'....*TELE|
00000550  53 4f 46 54 0d 01 cc 08  2a 48 4f 4e 0d 01 d6 16  |SOFT....*HON....|
00000560  f4 22 82 53 65 74 20 74  76 20 63 68 61 6e 6e 65  |.".Set tv channe|
00000570  6c 3a 0d 01 e0 09 2a 42  42 43 31 0d 01 ea 17 f4  |l:....*BBC1.....|
00000580  22 83 53 65 74 20 70 61  67 65 20 6c 65 6e 67 74  |".Set page lengt|
00000590  68 3a 0d 01 f4 1b f2 73  65 74 70 61 67 65 73 28  |h:.....setpages(|
000005a0  70 61 67 65 5f 6c 65 6e  67 74 68 25 29 0d 01 fe  |page_length%)...|
000005b0  0e e3 4e 25 3d 30 b8 71  74 79 25 0d 02 08 24 f4  |..N%=0.qty%...$.|
000005c0  22 83 52 65 61 64 20 70  61 67 65 20 6e 6f 2e 20  |".Read page no. |
000005d0  66 72 6f 6d 20 64 61 74  61 20 6c 69 73 74 3a 0d  |from data list:.|
000005e0  02 12 10 f2 63 68 6f 6f  73 65 5f 70 61 67 65 0d  |....choose_page.|
000005f0  02 1c 1d f4 22 83 53 65  74 20 65 61 63 68 20 70  |....".Set each p|
00000600  61 67 65 20 67 72 61 62  62 65 72 3a 0d 02 26 21  |age grabber:..&!|
00000610  f4 22 83 28 67 72 61 62  62 65 72 20 6e 6f 2c 20  |.".(grabber no, |
00000620  6d 61 67 20 6e 6f 2c 20  70 61 67 65 2c 0d 02 30  |mag no, page,..0|
00000630  1f f4 22 83 73 75 62 2d  70 61 67 65 2c 20 6d 65  |..".sub-page, me|
00000640  6d 6f 72 79 20 6c 6f 63  27 6e 29 3a 0d 02 3a 2c  |mory loc'n):..:,|
00000650  f2 73 65 74 67 72 61 62  62 65 72 28 4e 25 2c 6d  |.setgrabber(N%,m|
00000660  25 2c 70 25 2c 73 70 25  2c 6c 6f 63 25 2b 28 4e  |%,p%,sp%,loc%+(N|
00000670  25 2a 26 34 30 30 29 29  0d 02 44 05 ed 0d 02 4e  |%*&400))..D....N|
00000680  1f f4 22 83 57 61 69 74  20 75 6e 74 69 6c 20 61  |..".Wait until a|
00000690  6c 6c 20 72 65 63 65 69  76 65 64 3a 0d 02 58 19  |ll received:..X.|
000006a0  f2 77 61 69 74 5f 66 6f  72 5f 70 61 67 65 73 28  |.wait_for_pages(|
000006b0  71 74 79 25 29 0d 02 62  11 2a 44 49 53 50 4c 41  |qty%)..b.*DISPLA|
000006c0  59 20 32 43 30 30 0d 02  6c 13 ef 32 33 3b 38 32  |Y 2C00..l..23;82|
000006d0  30 32 3b 30 3b 30 3b 30  3b 0d 02 76 14 f1 8a 30  |02;0;0;0;..v...0|
000006e0  2c 30 29 22 52 65 63 2e  20 30 30 86 22 0d 02 80  |,0)"Rec. 00."...|
000006f0  4a f1 8a 30 2c 32 34 29  22 86 22 3b bd 32 35 35  |J..0,24)".";.255|
00000700  3b 22 20 5d 3d 55 70 20  22 3b bd 32 35 35 3b 22  |;" ]=Up ";.255;"|
00000710  20 5b 3d 44 6f 77 6e 20  22 3b bd 32 35 35 3b 22  | [=Down ";.255;"|
00000720  20 53 50 41 43 45 3d 53  61 76 65 20 4d 61 67 20  | SPACE=Save Mag |
00000730  26 20 65 6e 64 22 3b 0d  02 8a 16 f4 22 83 43 61  |& end";.....".Ca|
00000740  72 6f 75 73 65 6c 20 70  61 67 65 73 3a 0d 02 94  |rousel pages:...|
00000750  14 f2 73 63 61 6e 70 61  67 65 73 28 71 74 79 25  |..scanpages(qty%|
00000760  29 0d 02 9e 1d f4 22 83  50 75 74 20 65 61 63 68  |).....".Put each|
00000770  20 70 61 67 65 20 6f 6e  20 68 6f 6c 64 3a 0d 02  | page on hold:..|
00000780  a8 17 f2 73 74 6f 70 5f  75 70 64 61 74 65 73 28  |...stop_updates(|
00000790  71 74 79 25 29 0d 02 b2  21 f4 22 83 41 64 64 20  |qty%)...!.".Add |
000007a0  61 70 70 72 6f 70 72 69  61 74 65 20 68 65 61 64  |appropriate head|
000007b0  65 72 20 72 6f 77 0d 02  bc 17 f4 22 83 63 6f 64  |er row.....".cod|
000007c0  65 20 66 6f 72 20 56 69  64 69 45 64 3a 0d 02 c6  |e for VidiEd:...|
000007d0  16 f2 73 61 76 65 5f 76  69 64 69 65 64 28 71 74  |..save_vidied(qt|
000007e0  79 25 29 0d 02 d0 1a f4  22 83 53 74 6f 70 20 70  |y%).....".Stop p|
000007f0  61 67 65 20 67 72 61 62  62 69 6e 67 3a 0d 02 da  |age grabbing:...|
00000800  13 f2 72 65 73 65 74 5f  67 72 61 62 62 65 72 73  |..reset_grabbers|
00000810  0d 02 e4 09 2a 48 4f 46  46 0d 02 ee 1e f4 22 83  |....*HOFF.....".|
00000820  54 75 72 6e 20 6f 66 66  20 74 74 78 20 72 65 63  |Turn off ttx rec|
00000830  65 70 74 69 6f 6e 3a 0d  02 f8 0b 2a 54 54 58 4f  |eption:....*TTXO|
00000840  46 46 0d 03 02 06 eb 37  0d 03 0c 05 e0 0d 03 16  |FF.....7........|
00000850  05 3a 0d 03 20 13 dd f2  73 65 74 70 61 67 65 73  |.:.. ...setpages|
00000860  28 6e 6f 25 29 0d 03 2a  13 43 25 3f 30 3d 37 3a  |(no%)..*.C%?0=7:|
00000870  43 25 3f 31 3d 6e 6f 25  0d 03 34 25 41 25 3d 26  |C%?1=no%..4%A%=&|
00000880  37 41 3a 58 25 3d 43 25  83 32 35 36 3a 59 25 3d  |7A:X%=C%.256:Y%=|
00000890  43 25 81 32 35 36 3a d6  26 46 46 46 31 0d 03 3e  |C%.256:.&FFF1..>|
000008a0  05 e1 0d 03 48 05 3a 0d  03 52 11 dd f2 63 68 6f  |....H.:..R...cho|
000008b0  6f 73 65 5f 70 61 67 65  0d 03 5c 07 f3 70 24 0d  |ose_page..\..p$.|
000008c0  03 66 14 6d 25 3d a0 28  22 26 22 2b c0 70 24 2c  |.f.m%=.("&"+.p$,|
000008d0  31 29 29 0d 03 70 16 70  25 3d a0 28 22 26 22 2b  |1))..p.p%=.("&"+|
000008e0  c1 70 24 2c 32 2c 32 29  29 0d 03 7a 2a e7 a9 28  |.p$,2,2))..z*..(|
000008f0  70 24 29 3e 33 20 73 70  25 3d a0 28 22 26 22 2b  |p$)>3 sp%=.("&"+|
00000900  c2 70 24 2c 34 29 29 20  8b 20 73 70 25 3d 26 33  |.p$,4)) . sp%=&3|
00000910  46 37 46 0d 03 84 05 e1  0d 03 8e 05 3a 0d 03 98  |F7F.........:...|
00000920  2c dd f2 73 65 74 67 72  61 62 62 65 72 28 6e 6f  |,..setgrabber(no|
00000930  25 2c 6d 61 67 25 2c 70  61 67 65 25 2c 73 75 62  |%,mag%,page%,sub|
00000940  25 2c 73 74 6f 72 65 25  29 0d 03 a2 25 41 25 3d  |%,store%)...%A%=|
00000950  26 37 41 3a 43 25 3f 30  3d 35 3a 58 25 3d 43 25  |&7A:C%?0=5:X%=C%|
00000960  83 32 35 36 3a 59 25 3d  43 25 81 32 35 36 0d 03  |.256:Y%=C%.256..|
00000970  ac 5d 43 25 3f 31 3d 6e  6f 25 3a 43 25 3f 32 3d  |.]C%?1=no%:C%?2=|
00000980  6d 61 67 25 3a 43 25 3f  33 3d 70 61 67 65 25 3a  |mag%:C%?3=page%:|
00000990  43 25 3f 34 3d 73 75 62  25 81 32 35 36 3a 43 25  |C%?4=sub%.256:C%|
000009a0  3f 35 3d 73 75 62 25 83  32 35 36 3a 43 25 3f 36  |?5=sub%.256:C%?6|
000009b0  3d 73 74 6f 72 65 25 83  32 35 36 3a 43 25 3f 37  |=store%.256:C%?7|
000009c0  3d 73 74 6f 72 65 25 81  32 35 36 0d 03 b6 0a d6  |=store%.256.....|
000009d0  26 46 46 46 31 0d 03 c0  05 e1 0d 03 ca 05 3a 0d  |&FFF1.........:.|
000009e0  03 d4 14 dd a4 63 68 65  63 6b 5f 67 6f 74 28 6e  |.....check_got(n|
000009f0  6f 25 29 0d 03 de 25 41  25 3d 26 37 41 3a 43 25  |o%)...%A%=&7A:C%|
00000a00  3f 30 3d 32 3a 58 25 3d  43 25 83 32 35 36 3a 59  |?0=2:X%=C%.256:Y|
00000a10  25 3d 43 25 81 32 35 36  0d 03 e8 13 43 25 3f 31  |%=C%.256....C%?1|
00000a20  3d 6e 6f 25 3a d6 26 46  46 46 31 0d 03 f2 17 e7  |=no%:.&FFF1.....|
00000a30  28 43 25 3f 32 29 80 32  3d 32 20 3d b9 20 8b 20  |(C%?2).2=2 =. . |
00000a40  3d a3 0d 03 fc 05 3a 0d  04 06 15 dd f2 73 63 61  |=.....:......sca|
00000a50  6e 70 61 67 65 73 28 71  74 79 25 29 0d 04 10 0a  |npages(qty%)....|
00000a60  2a 46 58 34 2c 31 0d 04  1a 09 f5 3a 51 3d a5 0d  |*FX4,1.....:Q=..|
00000a70  04 24 57 e7 51 3d 31 33  37 20 80 73 74 6f 72 65  |.$W.Q=137 .store|
00000a80  25 3c 28 26 32 43 30 30  2b 28 71 74 79 25 2a 26  |%<(&2C00+(qty%*&|
00000a90  34 30 30 29 29 20 73 74  6f 72 65 25 3d 73 74 6f  |400)) store%=sto|
00000aa0  72 65 25 2b 26 34 30 30  3a f2 6f 73 63 6c 69 28  |re%+&400:.oscli(|
00000ab0  22 44 49 53 50 4c 41 59  20 22 2b c3 7e 28 73 74  |"DISPLAY "+.~(st|
00000ac0  6f 72 65 25 29 29 0d 04  2e 49 e7 51 3d 31 33 36  |ore%))...I.Q=136|
00000ad0  20 80 73 74 6f 72 65 25  3e 26 32 43 30 30 20 73  | .store%>&2C00 s|
00000ae0  74 6f 72 65 25 3d 73 74  6f 72 65 25 2d 26 34 30  |tore%=store%-&40|
00000af0  30 3a f2 6f 73 63 6c 69  28 22 44 49 53 50 4c 41  |0:.oscli("DISPLA|
00000b00  59 20 22 2b c3 7e 28 73  74 6f 72 65 25 29 29 0d  |Y "+.~(store%)).|
00000b10  04 38 13 ef 32 33 3b 38  32 30 32 3b 30 3b 30 3b  |.8..23;8202;0;0;|
00000b20  30 3b 0d 04 42 34 f1 8a  30 2c 30 29 22 52 65 63  |0;..B4..0,0)"Rec|
00000b30  2e 20 22 3b c2 22 30 22  2b c3 28 28 73 74 6f 72  |. ";."0"+.((stor|
00000b40  65 25 2d 26 32 43 30 30  29 81 26 34 30 30 29 2c  |e%-&2C00).&400),|
00000b50  32 29 3b 22 86 22 0d 04  4c 4a f1 8a 30 2c 32 34  |2);"."..LJ..0,24|
00000b60  29 22 86 22 3b bd 32 35  35 3b 22 20 5d 3d 55 70  |)".";.255;" ]=Up|
00000b70  20 22 3b bd 32 35 35 3b  22 20 5b 3d 44 6f 77 6e  | ";.255;" [=Down|
00000b80  20 22 3b bd 32 35 35 3b  22 20 53 50 41 43 45 3d  | ";.255;" SPACE=|
00000b90  53 61 76 65 20 4d 61 67  20 26 20 65 6e 64 22 3b  |Save Mag & end";|
00000ba0  0d 04 56 09 fd 51 3d 33  32 0d 04 60 0a 2a 46 58  |..V..Q=32..`.*FX|
00000bb0  34 2c 30 0d 04 6a 05 e1  0d 04 74 05 3a 0d 04 7e  |4,0..j....t.:..~|
00000bc0  0f dd f2 6f 73 63 6c 69  28 73 24 29 0d 04 88 1e  |...oscli(s$)....|
00000bd0  58 25 3d 43 25 83 32 35  36 3a 59 25 3d 43 25 81  |X%=C%.256:Y%=C%.|
00000be0  32 35 36 3a 24 43 25 3d  73 24 0d 04 92 0a d6 26  |256:$C%=s$.....&|
00000bf0  46 46 46 37 0d 04 9c 05  e1 0d 04 a6 05 3a 0d 04  |FFF7.........:..|
00000c00  b0 18 dd f2 73 74 6f 70  5f 75 70 64 61 74 65 73  |....stop_updates|
00000c10  28 71 74 79 25 29 0d 04  ba 23 f4 22 83 43 68 65  |(qty%)...#.".Che|
00000c20  63 6b 20 6e 6f 20 75 70  64 61 74 65 73 20 62 65  |ck no updates be|
00000c30  69 6e 67 20 64 6f 6e 65  3a 0d 04 c4 25 41 25 3d  |ing done:...%A%=|
00000c40  26 37 41 3a 43 25 3f 30  3d 32 3a 58 25 3d 43 25  |&7A:C%?0=2:X%=C%|
00000c50  83 32 35 36 3a 59 25 3d  43 25 81 32 35 36 0d 04  |.256:Y%=C%.256..|
00000c60  ce 0f e3 4a 25 3d 30 b8  20 71 74 79 25 0d 04 d8  |...J%=0. qty%...|
00000c70  05 f5 0d 04 e2 12 43 25  3f 31 3d 4a 25 3a d6 26  |......C%?1=J%:.&|
00000c80  46 46 46 31 0d 04 ec 11  fd 28 28 43 25 3f 32 29  |FFF1.....((C%?2)|
00000c90  80 34 29 3d 30 0d 04 f6  16 f4 22 83 74 68 65 6e  |.4)=0.....".then|
00000ca0  20 68 6f 6c 64 20 70 61  67 65 3a 0d 05 00 11 f2  | hold page:.....|
00000cb0  73 65 74 5f 68 6f 6c 64  28 4a 25 29 0d 05 0a 05  |set_hold(J%)....|
00000cc0  ed 0d 05 14 05 e1 0d 05  1e 05 3a 0d 05 28 17 dd  |..........:..(..|
00000cd0  f2 73 61 76 65 5f 76 69  64 69 65 64 28 71 74 79  |.save_vidied(qty|
00000ce0  25 29 0d 05 32 0f e3 4a  25 3d 30 b8 20 71 74 79  |%)..2..J%=0. qty|
00000cf0  25 0d 05 3c 15 4b 25 3d  6c 6f 63 25 2b 28 26 34  |%..<.K%=loc%+(&4|
00000d00  30 30 2a 4a 25 29 0d 05  46 2b 69 64 24 3d bd 28  |00*J%)..F+id$=.(|
00000d10  26 42 41 29 2b 22 52 63  72 64 22 2b c2 22 30 30  |&BA)+"Rcrd"+."00|
00000d20  22 2b c3 28 4a 25 29 2c  32 29 2b bd 28 26 42 41  |"+.(J%),2)+.(&BA|
00000d30  29 0d 05 50 2b 47 25 3d  3f 28 4b 25 2b a9 28 69  |)..P+G%=?(K%+.(i|
00000d40  64 24 29 29 3a 24 4b 25  3d 69 64 24 3a 3f 28 4b  |d$)):$K%=id$:?(K|
00000d50  25 2b a9 28 69 64 24 29  29 3d 47 25 0d 05 5a 05  |%+.(id$))=G%..Z.|
00000d60  ed 0d 05 64 23 f4 22 82  53 61 76 65 20 56 69 64  |...d#.".Save Vid|
00000d70  69 45 64 20 6d 61 67 20  61 73 20 27 43 45 45 46  |iEd mag as 'CEEF|
00000d80  41 58 27 3a 0d 05 6e 21  2a 53 41 56 45 20 44 2e  |AX':..n!*SAVE D.|
00000d90  43 45 45 46 41 58 20 32  43 30 30 20 2b 35 30 30  |CEEFAX 2C00 +500|
00000da0  30 20 30 20 30 0d 05 78  05 e1 0d 05 82 05 3a 0d  |0 0 0..x......:.|
00000db0  05 8c 13 dd f2 73 65 74  5f 68 6f 6c 64 28 6e 6f  |.....set_hold(no|
00000dc0  25 29 0d 05 96 25 41 25  3d 26 37 41 3a 43 25 3f  |%)...%A%=&7A:C%?|
00000dd0  30 3d 33 3a 58 25 3d 43  25 83 32 35 36 3a 59 25  |0=3:X%=C%.256:Y%|
00000de0  3d 43 25 81 32 35 36 0d  05 a0 1a 43 25 3f 31 3d  |=C%.256....C%?1=|
00000df0  6e 6f 25 3a 43 25 3f 32  3d 33 3a d6 26 46 46 46  |no%:C%?2=3:.&FFF|
00000e00  31 0d 05 aa 05 e1 0d 05  b4 05 3a 0d 05 be 14 dd  |1.........:.....|
00000e10  f2 72 65 73 65 74 5f 67  72 61 62 62 65 72 73 0d  |.reset_grabbers.|
00000e20  05 c8 1e 41 25 3d 26 37  41 3a 58 25 3d 43 25 83  |...A%=&7A:X%=C%.|
00000e30  32 35 36 3a 59 25 3d 43  25 81 32 35 36 0d 05 d2  |256:Y%=C%.256...|
00000e40  0b 43 25 3f 30 3d 31 34  0d 05 dc 0a d6 26 46 46  |.C%?0=14.....&FF|
00000e50  46 31 0d 05 e6 05 e1 0d  05 f0 05 3a 0d 05 fa 1a  |F1.........:....|
00000e60  dd f2 77 61 69 74 5f 66  6f 72 5f 70 61 67 65 73  |..wait_for_pages|
00000e70  28 71 74 79 25 29 0d 06  04 0a f5 3a 53 25 3d b9  |(qty%).....:S%=.|
00000e80  0d 06 0e 27 e3 47 25 3d  30 b8 20 71 74 79 25 3a  |...'.G%=0. qty%:|
00000e90  e7 20 ac 20 a4 63 68 65  63 6b 5f 67 6f 74 28 47  |. . .check_got(G|
00000ea0  25 29 20 53 25 3d a3 0d  06 18 05 ed 0d 06 22 09  |%) S%=........".|
00000eb0  fd 53 25 3d b9 0d 06 2c  05 e1 0d ff              |.S%=...,....|
00000ebc
ATS/B\ATS12.m0
ATS/B\ATS12.m1
ATS/B\ATS12.m2
ATS/B\ATS12.m4
ATS/B\ATS12.m5