Home » CEEFAX disks » telesoftware2.adl » ATS/B\ATS08
ATS/B\ATS08
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\ATS08 |
Read OK: | ✔ |
File size: | 0767 bytes |
Load address: | 1A00 |
Exec address: | 801F |
File contents
10REM"�ATS08 20REM"�***************************** 30REM"�*�ATS�Routine to capture �* 40REM"�*�Teletext page, and check �* 50REM"�*�if it is an update to a �* 60REM"�*�previously transmitted �* 70REM"�*�page. �* 80REM"�***************************** 90REM"�*�(C)�J.J.Brayshaw�SEP 1986�* 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"�*�The procedure required is�* 180REM"�*�FNupdate (first byte of �* 190REM"�*�page store).�The rest of �* 200REM"�*�the program is a �* 210REM"�*�demonstration only. �* 220REM"�***************************** 230: 240: 250: 260REM"�Invoke demo routines: 270MODE7 280ONERRORGOTO350 290PROCset_variables 300PROCoscli("DATA "+STR$~(start%)) 310PROCoscli("DISPLAY "+STR$~(start%)) 320PROCcheck_CRC 330PRINTTAB(20,24)"Update: ";:IF FNupdate(start%)=TRUE PRINT"Yes."; ELSE PRINT"No."; 340GOTO300 350*HOFF 360END 370: 380: 390: 400REM"�***�Set up variables�*** 410DEFPROCset_variables 420REM"�Start address for page store: 430start%=&6000 440REM"�Set Channel & page no.: 450*TTXON 460*BBC1 470*PAGE196 480*HON 490ENDPROC 500: 510: 520: 530REM"�***�OSCLI SIMULATION�*** 540DEFPROCoscli(command$) 550DIM line% 20 560$line%=command$ 570X%=line% MOD256:Y%=line% DIV256 580CALL&FFF7 590ENDPROC 600: 610: 620: 630REM"�***�Check CRC�*** 640DEFPROCcheck_CRC 650A%=&7A 660DIM line% 4 670X%=line% MOD256:Y%=line% DIV256 680line%?0=23 690line%?1=(start%) MOD256 700line%?2=(start%) DIV256 710CALL&FFF1 720answer%=line%?3 730IF answer%=&FF PRINTTAB(0,24)CHR$129;"CRC ERROR�"; 740IF answer%=&0 PRINTTAB(0,24)CHR$131;"No CRC Sent�"; 750IF answer%=&1 PRINTTAB(0,24)CHR$136;"CRC Correct";CHR$137; 760ENDPROC 770: 780: 790REM"�***�Update indicator�*** 800DEFFNupdate(page_start%) 810check_row%=page_start%?1 820IFcheck_row%<>0 ="Row zero not found" 830control%=page_start%?6 840update%=control% AND2 850IF update%=2 =TRUE 860=FALSE
�"�ATS08 $�"�***************************** $�"�*�ATS�Routine to capture �* ($�"�*�Teletext page, and check �* 2$�"�*�if it is an update to a �* <$�"�*�previously transmitted �* F$�"�*�page. �* P$�"�***************************** Z$�"�*�(C)�J.J.Brayshaw�SEP 1986�* d$�"�***************************** n$�"�*�Lines following�GREEN�REM�* x$�"�*�statements to be adjusted�* �$�"�*�as required. �* �$�"�*�REM's in�YELLOW�for info.�* �$�"�*�only. �* �$�"�***************************** �$�"�*�The procedure required is�* �$�"�*�FNupdate (first byte of �* �$�"�*�page store).�The rest of �* �$�"�*�the program is a �* �$�"�*�demonstration only. �* �$�"�***************************** �: �: �: �"�Invoke demo routines: �7 ��D^A "�set_variables ,�oscli("DATA "+�~(start%)) 6!�oscli("DISPLAY "+�~(start%)) @�check_CRC J>�20,24)"Update: ";:� �update(start%)=� �"Yes."; � �"No."; T �TlA ^ *HOFF h� r: |: �: ��"�***�Set up variables�*** ���set_variables �$�"�Start address for page store: �start%=&6000 ��"�Set Channel & page no.: � *TTXON � *BBC1 �*PAGE196 �*HON �� �: �: : �"�***�OSCLI SIMULATION�*** ��oscli(command$) &� line% 20 0$line%=command$ :X%=line% �256:Y%=line% �256 D �&FFF7 N� X: b: l: v�"�***�Check CRC�*** ���check_CRC � A%=&7A � � line% 4 �X%=line% �256:Y%=line% �256 �line%?0=23 �line%?1=(start%) �256 �line%?2=(start%) �256 � �&FFF1 �answer%=line%?3 �+� answer%=&FF �0,24)�129;"CRC ERROR�"; �,� answer%=&0 �0,24)�131;"No CRC Sent�"; �0� answer%=&1 �0,24)�136;"CRC Correct";�137; �� : : �"�***�Update indicator�*** ݤupdate(page_start%) *check_row%=page_start%?1 4(�check_row%<>0 ="Row zero not found" >control%=page_start%?6 Hupdate%=control% �2 R� update%=2 =� \=� �
00000000 0d 00 0a 0c f4 22 85 41 54 53 30 38 0d 00 14 24 |.....".ATS08...$| 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 54 65 6c | .*..($.".*.Tel| 00000060 65 74 65 78 74 20 70 61 67 65 2c 20 61 6e 64 20 |etext page, and | 00000070 63 68 65 63 6b 20 81 2a 0d 00 32 24 f4 22 81 2a |check .*..2$.".*| 00000080 83 69 66 20 69 74 20 69 73 20 61 6e 20 75 70 64 |.if it is an upd| 00000090 61 74 65 20 74 6f 20 61 20 20 81 2a 0d 00 3c 24 |ate to a .*..<$| 000000a0 f4 22 81 2a 83 70 72 65 76 69 6f 75 73 6c 79 20 |.".*.previously | 000000b0 74 72 61 6e 73 6d 69 74 74 65 64 20 20 20 81 2a |transmitted .*| 000000c0 0d 00 46 24 f4 22 81 2a 83 70 61 67 65 2e 20 20 |..F$.".*.page. | 000000d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 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 53 45 50 20 31 39 38 36 81 2a 0d 00 64 24 |w.SEP 1986.*..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 87 54 68 65 20 70 72 6f 63 65 64 75 72 65 20 72 |.The procedure r| 00000240 65 71 75 69 72 65 64 20 69 73 81 2a 0d 00 b4 24 |equired is.*...$| 00000250 f4 22 81 2a 85 46 4e 75 70 64 61 74 65 20 28 66 |.".*.FNupdate (f| 00000260 69 72 73 74 20 62 79 74 65 20 6f 66 20 20 81 2a |irst byte of .*| 00000270 0d 00 be 24 f4 22 81 2a 85 70 61 67 65 20 73 74 |...$.".*.page st| 00000280 6f 72 65 29 2e 87 54 68 65 20 72 65 73 74 20 6f |ore)..The rest o| 00000290 66 20 81 2a 0d 00 c8 24 f4 22 81 2a 87 74 68 65 |f .*...$.".*.the| 000002a0 20 70 72 6f 67 72 61 6d 20 69 73 20 61 20 20 20 | program is a | 000002b0 20 20 20 20 20 20 81 2a 0d 00 d2 24 f4 22 81 2a | .*...$.".*| 000002c0 87 64 65 6d 6f 6e 73 74 72 61 74 69 6f 6e 20 6f |.demonstration o| 000002d0 6e 6c 79 2e 20 20 20 20 20 20 81 2a 0d 00 dc 24 |nly. .*...$| 000002e0 f4 22 81 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a |.".*************| 000002f0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a |****************| 00000300 0d 00 e6 05 3a 0d 00 f0 05 3a 0d 00 fa 05 3a 0d |....:....:....:.| 00000310 01 04 1c f4 22 83 49 6e 76 6f 6b 65 20 64 65 6d |....".Invoke dem| 00000320 6f 20 72 6f 75 74 69 6e 65 73 3a 0d 01 0e 06 eb |o routines:.....| 00000330 37 0d 01 18 0b ee 85 e5 8d 44 5e 41 0d 01 22 12 |7........D^A..".| 00000340 f2 73 65 74 5f 76 61 72 69 61 62 6c 65 73 0d 01 |.set_variables..| 00000350 2c 1e f2 6f 73 63 6c 69 28 22 44 41 54 41 20 22 |,..oscli("DATA "| 00000360 2b c3 7e 28 73 74 61 72 74 25 29 29 0d 01 36 21 |+.~(start%))..6!| 00000370 f2 6f 73 63 6c 69 28 22 44 49 53 50 4c 41 59 20 |.oscli("DISPLAY | 00000380 22 2b c3 7e 28 73 74 61 72 74 25 29 29 0d 01 40 |"+.~(start%))..@| 00000390 0e f2 63 68 65 63 6b 5f 43 52 43 0d 01 4a 3e f1 |..check_CRC..J>.| 000003a0 8a 32 30 2c 32 34 29 22 55 70 64 61 74 65 3a 20 |.20,24)"Update: | 000003b0 22 3b 3a e7 20 a4 75 70 64 61 74 65 28 73 74 61 |";:. .update(sta| 000003c0 72 74 25 29 3d b9 20 f1 22 59 65 73 2e 22 3b 20 |rt%)=. ."Yes."; | 000003d0 8b 20 f1 22 4e 6f 2e 22 3b 0d 01 54 09 e5 8d 54 |. ."No.";..T...T| 000003e0 6c 41 0d 01 5e 09 2a 48 4f 46 46 0d 01 68 05 e0 |lA..^.*HOFF..h..| 000003f0 0d 01 72 05 3a 0d 01 7c 05 3a 0d 01 86 05 3a 0d |..r.:..|.:....:.| 00000400 01 90 1f f4 22 81 2a 2a 2a 86 53 65 74 20 75 70 |....".***.Set up| 00000410 20 76 61 72 69 61 62 6c 65 73 81 2a 2a 2a 0d 01 | variables.***..| 00000420 9a 13 dd f2 73 65 74 5f 76 61 72 69 61 62 6c 65 |....set_variable| 00000430 73 0d 01 a4 24 f4 22 82 53 74 61 72 74 20 61 64 |s...$.".Start ad| 00000440 64 72 65 73 73 20 66 6f 72 20 70 61 67 65 20 73 |dress for page s| 00000450 74 6f 72 65 3a 0d 01 ae 10 73 74 61 72 74 25 3d |tore:....start%=| 00000460 26 36 30 30 30 0d 01 b8 1e f4 22 82 53 65 74 20 |&6000.....".Set | 00000470 43 68 61 6e 6e 65 6c 20 26 20 70 61 67 65 20 6e |Channel & page n| 00000480 6f 2e 3a 0d 01 c2 0a 2a 54 54 58 4f 4e 0d 01 cc |o.:....*TTXON...| 00000490 09 2a 42 42 43 31 0d 01 d6 0c 2a 50 41 47 45 31 |.*BBC1....*PAGE1| 000004a0 39 36 0d 01 e0 08 2a 48 4f 4e 0d 01 ea 05 e1 0d |96....*HON......| 000004b0 01 f4 05 3a 0d 01 fe 05 3a 0d 02 08 05 3a 0d 02 |...:....:....:..| 000004c0 12 1f f4 22 81 2a 2a 2a 86 4f 53 43 4c 49 20 53 |...".***.OSCLI S| 000004d0 49 4d 55 4c 41 54 49 4f 4e 81 2a 2a 2a 0d 02 1c |IMULATION.***...| 000004e0 15 dd f2 6f 73 63 6c 69 28 63 6f 6d 6d 61 6e 64 |...oscli(command| 000004f0 24 29 0d 02 26 0e de 20 6c 69 6e 65 25 20 32 30 |$)..&.. line% 20| 00000500 0d 02 30 13 24 6c 69 6e 65 25 3d 63 6f 6d 6d 61 |..0.$line%=comma| 00000510 6e 64 24 0d 02 3a 1f 58 25 3d 6c 69 6e 65 25 20 |nd$..:.X%=line% | 00000520 83 32 35 36 3a 59 25 3d 6c 69 6e 65 25 20 81 32 |.256:Y%=line% .2| 00000530 35 36 0d 02 44 0a d6 26 46 46 46 37 0d 02 4e 05 |56..D..&FFF7..N.| 00000540 e1 0d 02 58 05 3a 0d 02 62 05 3a 0d 02 6c 05 3a |...X.:..b.:..l.:| 00000550 0d 02 76 18 f4 22 81 2a 2a 2a 86 43 68 65 63 6b |..v..".***.Check| 00000560 20 43 52 43 81 2a 2a 2a 0d 02 80 0f dd f2 63 68 | CRC.***......ch| 00000570 65 63 6b 5f 43 52 43 0d 02 8a 0a 41 25 3d 26 37 |eck_CRC....A%=&7| 00000580 41 0d 02 94 0d de 20 6c 69 6e 65 25 20 34 0d 02 |A..... line% 4..| 00000590 9e 1f 58 25 3d 6c 69 6e 65 25 20 83 32 35 36 3a |..X%=line% .256:| 000005a0 59 25 3d 6c 69 6e 65 25 20 81 32 35 36 0d 02 a8 |Y%=line% .256...| 000005b0 0e 6c 69 6e 65 25 3f 30 3d 32 33 0d 02 b2 19 6c |.line%?0=23....l| 000005c0 69 6e 65 25 3f 31 3d 28 73 74 61 72 74 25 29 20 |ine%?1=(start%) | 000005d0 83 32 35 36 0d 02 bc 19 6c 69 6e 65 25 3f 32 3d |.256....line%?2=| 000005e0 28 73 74 61 72 74 25 29 20 81 32 35 36 0d 02 c6 |(start%) .256...| 000005f0 0a d6 26 46 46 46 31 0d 02 d0 13 61 6e 73 77 65 |..&FFF1....answe| 00000600 72 25 3d 6c 69 6e 65 25 3f 33 0d 02 da 2b e7 20 |r%=line%?3...+. | 00000610 61 6e 73 77 65 72 25 3d 26 46 46 20 f1 8a 30 2c |answer%=&FF ..0,| 00000620 32 34 29 bd 31 32 39 3b 22 43 52 43 20 45 52 52 |24).129;"CRC ERR| 00000630 4f 52 87 22 3b 0d 02 e4 2c e7 20 61 6e 73 77 65 |OR.";...,. answe| 00000640 72 25 3d 26 30 20 f1 8a 30 2c 32 34 29 bd 31 33 |r%=&0 ..0,24).13| 00000650 31 3b 22 4e 6f 20 43 52 43 20 53 65 6e 74 87 22 |1;"No CRC Sent."| 00000660 3b 0d 02 ee 30 e7 20 61 6e 73 77 65 72 25 3d 26 |;...0. answer%=&| 00000670 31 20 f1 8a 30 2c 32 34 29 bd 31 33 36 3b 22 43 |1 ..0,24).136;"C| 00000680 52 43 20 43 6f 72 72 65 63 74 22 3b bd 31 33 37 |RC Correct";.137| 00000690 3b 0d 02 f8 05 e1 0d 03 02 05 3a 0d 03 0c 05 3a |;.........:....:| 000006a0 0d 03 16 1f f4 22 81 2a 2a 2a 86 55 70 64 61 74 |.....".***.Updat| 000006b0 65 20 69 6e 64 69 63 61 74 6f 72 81 2a 2a 2a 0d |e indicator.***.| 000006c0 03 20 19 dd a4 75 70 64 61 74 65 28 70 61 67 65 |. ...update(page| 000006d0 5f 73 74 61 72 74 25 29 0d 03 2a 1c 63 68 65 63 |_start%)..*.chec| 000006e0 6b 5f 72 6f 77 25 3d 70 61 67 65 5f 73 74 61 72 |k_row%=page_star| 000006f0 74 25 3f 31 0d 03 34 28 e7 63 68 65 63 6b 5f 72 |t%?1..4(.check_r| 00000700 6f 77 25 3c 3e 30 20 3d 22 52 6f 77 20 7a 65 72 |ow%<>0 ="Row zer| 00000710 6f 20 6e 6f 74 20 66 6f 75 6e 64 22 0d 03 3e 1a |o not found"..>.| 00000720 63 6f 6e 74 72 6f 6c 25 3d 70 61 67 65 5f 73 74 |control%=page_st| 00000730 61 72 74 25 3f 36 0d 03 48 17 75 70 64 61 74 65 |art%?6..H.update| 00000740 25 3d 63 6f 6e 74 72 6f 6c 25 20 80 32 0d 03 52 |%=control% .2..R| 00000750 12 e7 20 75 70 64 61 74 65 25 3d 32 20 3d b9 0d |.. update%=2 =..| 00000760 03 5c 06 3d a3 0d ff |.\.=...| 00000767