Home » CEEFAX disks » telesoftware12.adl » 27-01-89/TFSinfo
27-01-89/TFSinfo
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 » telesoftware12.adl |
Filename: | 27-01-89/TFSinfo |
Read OK: | ✔ |
File size: | 5709 bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
TELETEXT SERVER SYSTEM The system consists of three programs 1. A basic program 'TFS' which runs in the machine with the teletext adaptor (henceforth called the SERVER) 2. A machine code routine 'code' which is *RUN by the program TFS. 3. A machine code program 'TELETEXT' which runs in the local machine (henceforth called the CLIENT) The server and client communicate on ports &B2, &B3, &B4 and &B5. The base port number of &B2 is transmitted to the client in accordance with the Find Server protocol. It is possible to write programs to communicate with the TELETEXT-SERVER using these ports but it could be that updates of the server software may use a different base port number, in which case such programs will cease to work. The TELETEXT program This locates at &FFFF6E00 and so should not corrupt any BASIC program in the CLIENT's memory. It will work with all versions of the BBC B, B+, MASTER and ET. The program will also communicate with a SERVER across a bridge although some of the headers may be lost as these are broadcast and there is no collision detect across a bridge. 1. The first action is to open a receive block to receive a TELETEXT-SERVER's reply to a find server request. This receive block listens on port &B1 to all stations, as at this stage the CLIENT does not know the station number of the SERVER. 2. The CLIENT broadcasts to all stations on port &B0 with a data field containing 'TELETEXT' this being the name to which a TELETEXT-SERVER will respond. The first SERVER to respond will be the one with which the CLIENT subsequently interacts. Should more than one server be available then it is possible to connect to a specific server by using its station number eg *TELETEXT 2.45. You may wish to do this if you know that one server receives a better signal than another, on the channel you wish to use. 3. The CLIENT polls the receive block until a SERVER responds or <ESCAPE> is pressed. 4. The CLIENT reads the SERVER's reply and stores the SERVER's station and network number. The base port number (&B2) is used to calculate the ports for further communication. The CLIENT selects MODE 7, prints the SERVER's station number (suppressing the network number if it is zero) and also the version number. 5. The CLIENT opens three receive blocks. One on port &B5 (base+3) ready to receive any page headers which arrive, one on port &B2 (base) ready to receive any SERVER replies and one on port &B4 (base+2) to receive any pages. 6. The CLIENT sends a request for page 1100 (the first digit indicates the channel number). This is on port &B3 (base+1) with a control byte of &81. The reply receive block is then polled until the SERVER responds. The position in the queue returned by the SERVER is printed at the bottom of the page. A new receive block for replies on port &B2 is set up. If an error occurs then the error message is displayed at the bottom of the screen and the page input routine is entered or if the error was a 'Bad channel' error then the channel input routine is entered. 7. The CLIENT polls both receive blocks for a page (port &B4) and for a header (port &B5), until one or the other receives a transmission. 8. If a page header is received then the cursor is moved to the header position and it is printed out. An identical receive block is then set up to replace the one which has been used. 9. If a requested page is received the first action is to test the control byte. If this is &80 then it indicates the page has been found and is in the receive block buffer ready to be transferred to the screen. If the control byte is &81 then this indicates some error has occurred and that an error message is in the receive block buffer waiting to be printed. 10. If an error has occurred then the error message is printed at the bottom of the screen and the CLIENT program jumps to the page number input routine to get another page number. A new receive block for a page is set up. 11. If a page is successfully received then it is displayed. A new receive block for a page is set up. The header receive block continues to be polled and displayed until a key is pressed. 12. All the time the receive blocks are being polled the CLIENT program also tests to see if a key has been pressed. If a key is pressed this is taken to mean that you are about to request a new page. If 'C' is pressed then the input channel routine is entered followed by the input page routine. If <RETURN> is pressed then the last page you requested is requested again. If 'R' is pressed the 'REVEAL' routine is called and this toggles between revealing and concealing. If '*' is pressed then the star command routine is entered. This allows the CLIENT to *SAVE pages etc. If any other key is pressed the page input routine is entered. 13. The first action taken by both the channel input and page input routines is to send a 'cancel page request' to the SERVER and then delete the current page receive block. This means the SERVER will no longer have to bother trying to find your last requested page. The prompt for a channel input is 'C' and for a page input is 'P'. Both routines make use of OSWORD 0 to read a line of input and so both need to be exited by pressing <RETURN>. A new receive page block is set up and then the new page number is transmitted to the SERVER. 14. The escape flag is continually polled so that the CLIENT can exit at any time by pressing <ESCAPE>. This will send a logoff instruction to the SERVER which stops it looking for any more pages for you. All receive blocks are deleted. Sub-pages One of the features of the normal use of teletext is that pages will roll so that they are constantly updated eg. for cricket scores or pages with more than one screen of information. An approximation to this facility is available from the SERVER. Pressing 'S' will enable the automatic rolling of sub-pages. This is done by a call to the SERVER which signals that the requested page must not be sent until at least 0.5 of the cycle time has elapsed. Automatic rolling of sub-pages can be disabled by pressing 'S' again. Enabling is signalled by a high beep and disabling by a low beep. The rolling is disabled whenever a new page is requested. This implementation of sub-pages is a compromise in that as more clients use this feature the more full will be the queues and it is for this reason automatic rolling must be deliberately selected for every new page. It is also not possible to guarantee that you will get the immediately following sub-page in the sequence. The TFS program This program makes as full use as possible of the ATFS rom's ability to search for several pages at once. The theoretical maximum is 20 at once but the size of the TFS program limits this to about 10. The main problem is that it is only possible to search for pages on one channel at a time and some way has to be found to deal with this. The approach adopted is to place a page request into one of 4 queues, one for each channel. If the number of pages in a queue exceeds the maximum number of pages for which the ATFS rom has space then a 'Channel busy' error will be returned. This maximum number of pages is the number returned by the max users per channel call. A record is kept of the total number of pages requested and this is the queue position returned to the CLIENT ie this is the overall queue position and not the position in the queue for a particular channel. Whenever a page request is received the whole queue is checked to see if that CLIENT (identified by the station number) has any other page requested. If this is the case then that page is dropped from the queue. Thus it is not possible for a CLIENT to request more than one page at once. A cancel page request or a logoff will result in all page requests for that CLIENT being dropped from the queue. The way the ATFS rom works means that if you are 3rd in the queue you may still receive your page before the CLIENT who is in 1st position. This is probably best illustrated by example. Suppose the following requests are issued : Station 12 page 170 on channel 1 Station 14 page 400 on channel 4 Station 17 page 123 on channel 1 The TFS program will select channel 1 as this is the highest priority item in the queue. When station 14's request arrives it will be stored in the queue for channel 4. However when station 17's request arrives not only is it added to the queue for channel 1 but a record is set up to receive the page if it is transmitted. Suppose all these three requests arrive almost simultaneously and at the moment the TFS program selects channel 1 the page being transmitted is page 112. This means that station 17's page (123) will arrive before station 12's page(170). Thus station 17 will receive it's page first even though it was 3rd in the queue. The next page to be sent will be 170 to station 12 and station 14 will receive its page last even though it was 2nd in the queue. This is not disaster as in fact station 12 has had no longer to wait than it would have had anyway. What we have managed to do is also deal with station 17 as a spin-off from station 1's request. If more than one station requests the same page then this is spotted and only one of the ATFS records is used. This means that it is possible to have more than the maximum number of users per channel queued if that channel is the currently selected one. When an ATFS record has been used the page it was looking for is remembered and once that page has been found the record is not cleared. This means that provided the channel is not changed this page will continue to be updated and will be permanently available. Suppose a CLIENT requests page 171; the page is received and then transmitted. If another CLIENT (or indeed the same one) requests the same page then it is instantly available. This is particularly useful if you happen to be the only CLIENT using the system as it means that the last 10 or so pages you have requested on a given channel are not only buffered by the TFS program, but also updated and instantly available. The TFS program broadcasts whatever page number is currently at the top of the screen by using the timer crossing zero event. This occurs every half second. Overall the response time of the system is very fast although it will obviously be slowed down if CLIENTs request non-existent pages. The cycle times for the different channels are important to the efficiency of the TFS program and as these times may be subject to change they have been included in a DATA statement at the very end of the program. The first DATA statement is the fraction of the cycle time for which the TFS program will wait before sending a sub-page. This is currently 0.5. The second DATA statement consists of the cycle times for the four channels in hundredths of a second. They are currently set to 40 seconds each. Installing the programs 1. Place 'TELETEXT' program in $.LIBRARY 2. Put 'TFS' and 'code' in a directory of their own. This might be the root directory of a user TFS. If this user has a !BOOT file which CHAINs the 'TFS' program then the whole system can be initialised by simply typing *I AM TFS. The machine running the TFS program must not use shadow screens as the header is POKED in to memory at &7C00 by the ATFS Rom. The program may run in a second processor, in which case the whole of the I/O processor memory becomes available for buffering pages and there will be an associated increase in performance. There is no advantage in using HIBASIC as the pages are buffered in the I/O processor. Compatibility with the GIS adapter under ATS+ Version 1.00 The software is compatible with the new GIS teletext adapter although as this connects to the user port rather than the 1MHz Bus the speed of response is slightly slower. There appears to be a problem with the routine to calculate the checksum of a page in that the GIS Rom gets it wrong if a page header was broadcast while performing the check. There does seem to be a problem with the MASTER 128 and the TUBE in that the software will not work with either adapter in this configuration. This looks like it may be a problem with the ANFS. Writing your own software Below is an example of a BASIC program which illustrates how to write your own software using the SERVER protocols. Using this principle it is possible to write programs for automatically receiving and saving pages. Read the time from a TELETEXT server 10 osword=&FFF1:osbyte=&FFF4 20 DIM blk% &100,buff &100 30 REPEAT 40 :REM Set up receive blk for SERVER reply 50 rx_no=FNset_up_rx(&B1,0,buff,&20):REM Listen for all stations as we don't 60 :REM know the server station number 70 REPEAT 80 PROCbcast(&B0,&80,"TELETEXT") :REM Broadcast for a TELETEXT server 90 TIME=0 100 REPEAT UNTIL TIME>50 :REM Wait for a while before retrying 110 UNTIL FNpoll_rx(rx_no)>127 :REM Keep trying until a reply received 120 130 PROCread_rx(rx_no) :REM Read the receive block 140 buff?11=13 :REM Check that it really was a TELETEXT 150 UNTIL $(buff+3)="TELETEXT" :REM server which responded 160 server%=blk%!3 AND &FFFF :REM Read the server's number 170 base_port=buff?1 :REM Read the base port number 180 rx_no=FNset_up_rx(base_port,server%,buff,&20) :REM Set up a receive blk 190 REPEAT :REM for the time 200 REPEAT 210 PROCtx(&84,base_port+1,server%,buff,1) :REM Transmit request for the time 220 TIME=0 :REM Wait for a while before retrying 230 REPEAT UNTIL TIME>50 240 result%=FNpoll_tx 250 UNTIL result%=0 :REM Keep trying until transmit succeeds 260 UNTIL FNpoll_rx(rx_no)>127 :REM Keep trying until we get a reply 270 PROCread_rx(rx_no) :REM Read the receive block 280 290 buff?19=13 300 date$=$(buff+9) :REM Read the date 310 buff?9=13 320 time$=$(buff+1) :REM Read the time 330 PRINT"The time is ";time$;" on ";date$ 340 END 350 360 DEFPROCbcast(p%,cb%,server$) 370 ?blk%=cb% 380 blk%?1=p% 390 blk%!2=&FFFF 400 $(blk%+4)=server$ 410 X%=blk%:Y%=X% DIV 256:A%=&10 420 CALL osword 430 ENDPROC 440 450 DEFFNset_up_rx(p%,st%,b%,l%) 460 ?blk%=0 470 blk%?1=&7F 480 blk%?2=p% 490 blk%!3=st% 500 blk%!5=b% 510 blk%!9=b%+l% 520 X%=blk%:Y%=X% DIV 256:A%=&11 530 CALL osword 540 =?blk% 550 560 DEFFNpoll_rx(r%) 570 A%=&33:X%=r% 580 =USR(osbyte) AND &8000 590 600 DEFPROCread_rx(r%) 610 ?blk%=r% 620 X%=blk%:Y%=X% DIV 256:A%=&11 630 CALL osword 640 ENDPROC 650 660 DEFPROCtx(cb%,p%,st%,b%,l%) 670 ?blk%=cb% 680 blk%?1=p% 690 blk%!2=st% 700 blk%!4=b% 710 blk%!8=b%+l% 720 X%=blk%:Y%=X% DIV 256:A%=&10 730 CALL osword 740 ENDPROC 750 760 DEFFNpoll_tx 770 REPEAT 780 A%=&32 790 test%=(USR(osbyte) AND &FF00) DIV &100 800 UNTIL test%<128 810 =test% SERVER Extensions As you will find in the protocols section of this article a further non-teletext related call has been included in the SERVER. This call returns the value of the analogue ports. This means various devices can be attached to the analogue port of the SERVER and can be sampled from anywhere on the network. We are using this to monitor the outside temperature. TELETEXT SERVER PROTOCOLS All communications between teleserver and client are conducted on ports base-base+3 (currently &B2-&B5). Transmissions from client to server are on port &B3 and replies from the server are on port &B2. Port &B5 is reserved for broadcasting the current page number being picked up by the server and port &B4 is used for transmitting the page itself. It is necessary to use four ports because the client may wish to have three receive blocks open at the same time. One to continually update the page header, one to request other information and one to receive the page itself. The page currently being received is broadcast on port &B5 and consists of 4 bytes: Byte 1 Channel number in ASCII Bytes 2-4 Page number in ASCII All transmissions to the teleserver will result in a reply being sent. The teleserver gives up if a 'Not listening' error occurs 5 times. There are two standard forms of reply. a) If an error has occurred (eg you have requested a silly page number or channel number) then the first byte of the reply data will be an error number and the following bytes will be an error message terminated by a carriage return. b) If no error has occurred the first byte of the reply data will be zero and the subsequent bytes will be dependent on the call issued. read teleserver version number 1/client to teleserver port &B3 control byte &80 data nil 2/teleserver to client port &B2 control byte &80 data 0 or error number data+1 version number as character string terminated by carriage return. issue page request 1/client to teleserver port &B3 control byte &81 data channel number in ASCII data+1-data+3 page number in ASCII 2/teleserver to client port &B2 control byte &81 data 0 or error number data+1 position in queue cancel page request 1/client to teleserver port &B3 control byte &82 data nil 2/teleserver to client port &B2 control byte &82 data 0 or error number data+1 nil read max users per channel 1/client to teleserver port &B3 control byte &83 data nil 2/teleserver to client port &B2 control byte &83 data 0 or error number data+1 max users read date and time 1/client to teleserver port &B3 control byte &84 data nil 2/teleserver to client port &B2 control byte &84 data 0 or error number data+1 time and date in ASCII (HH:MM:SSDD/MM/YYYY) logoff 1/client to teleserver port &B3 control byte &85 data nil 2/teleserver to client port &B2 control byte &85 data 0 or error number data+1 nil page request with time delay 1/client to teleserver port &B3 control byte &86 data channel number in ASCII data+1-data+3 page number in ASCII 2/teleserver to client port &B2 control byte &86 data 0 or error number data+1 position in queue request port value 1/client to teleserver port &B3 control byte &87 data port number in range 0 to 3 2/teleserver to client port &B2 control byte &87 data 0 or error number data+1-data+2 port value Reception of the teletext page The teleserver sends the page on port &B4. The control byte will be &80 if no error has occurred otherwise the control byte will be &81. The only error that will occur will be a 'Timed out' error ie you have probably asked for a non-existent page. The data in the receive block buffer will be the page requested if there is no error, otherwise the data will be an error message terminated by a carriage return.If you successfully receive a page then locations &3FE and &3FF into the receive block buffer will contain the sub page number in BCD format. &3FE contains the hi-byte and &3FF contains the lo-byte ======================================================== ERROR NUMBERS Possible error numbers are : 1 Bad page number 2 Bad channel 3 Channel busy 4 Time unavailable 5 Bad port If an error is received then an error message terminated by a carriage return will be returned in data+1. The SERVER's receive buffer is &50 bytes. The SERVER transmits a block of &400 bytes on port &B3 when transmitting a page. It transmits a block of &20 bytes in all other cases. ------------------------------- Logging on to the server Client to Server port &B0 control byte &80 Data The string TELETEXT as standard ASCII (the server type) Server to Client port &B1 control byte &80 Data 0 or error number Data+1 base port number for further exchanges Data+2 binary verison number of the server software Data+3 Server type (8 chars, format as for Client to Server) Data+11 Length of server name (=0 if not present) Data+12 Server name (optional) Data+12+NameLen Server type dependant OR error string The length of the receive block buffer needed to receive this response from the server will not exceed &20 bytes.
00000000 0d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |. | 00000010 20 20 20 20 20 20 20 20 20 20 20 20 20 54 45 4c | TEL| 00000020 45 54 45 58 54 20 53 45 52 56 45 52 20 53 59 53 |ETEXT SERVER SYS| 00000030 54 45 4d 20 0d 20 0d 54 68 65 20 73 79 73 74 65 |TEM . .The syste| 00000040 6d 20 63 6f 6e 73 69 73 74 73 20 6f 66 20 74 68 |m consists of th| 00000050 72 65 65 20 70 72 6f 67 72 61 6d 73 20 0d 20 0d |ree programs . .| 00000060 31 2e 20 20 41 20 62 61 73 69 63 20 70 72 6f 67 |1. A basic prog| 00000070 72 61 6d 20 27 54 46 53 27 20 77 68 69 63 68 20 |ram 'TFS' which | 00000080 72 75 6e 73 20 69 6e 20 74 68 65 20 6d 61 63 68 |runs in the mach| 00000090 69 6e 65 20 77 69 74 68 20 74 68 65 20 74 65 6c |ine with the tel| 000000a0 65 74 65 78 74 20 20 61 64 61 70 74 6f 72 20 0d |etext adaptor .| 000000b0 20 20 20 20 28 68 65 6e 63 65 66 6f 72 74 68 20 | (henceforth | 000000c0 63 61 6c 6c 65 64 20 74 68 65 20 53 45 52 56 45 |called the SERVE| 000000d0 52 29 20 0d 32 2e 20 20 41 20 6d 61 63 68 69 6e |R) .2. A machin| 000000e0 65 20 63 6f 64 65 20 72 6f 75 74 69 6e 65 20 27 |e code routine '| 000000f0 63 6f 64 65 27 20 77 68 69 63 68 20 69 73 20 2a |code' which is *| 00000100 52 55 4e 20 62 79 20 74 68 65 20 70 72 6f 67 72 |RUN by the progr| 00000110 61 6d 20 54 46 53 2e 20 0d 33 2e 20 20 41 20 20 |am TFS. .3. A | 00000120 6d 61 63 68 69 6e 65 20 20 63 6f 64 65 20 20 70 |machine code p| 00000130 72 6f 67 72 61 6d 20 20 27 54 45 4c 45 54 45 58 |rogram 'TELETEX| 00000140 54 27 20 20 77 68 69 63 68 20 20 72 75 6e 73 20 |T' which runs | 00000150 20 69 6e 20 20 74 68 65 20 20 6c 6f 63 61 6c 20 | in the local | 00000160 6d 61 63 68 69 6e 65 20 0d 20 20 20 20 28 68 65 |machine . (he| 00000170 6e 63 65 66 6f 72 74 68 20 63 61 6c 6c 65 64 20 |nceforth called | 00000180 74 68 65 20 43 4c 49 45 4e 54 29 20 0d 20 0d 54 |the CLIENT) . .T| 00000190 68 65 20 73 65 72 76 65 72 20 61 6e 64 20 63 6c |he server and cl| 000001a0 69 65 6e 74 20 63 6f 6d 6d 75 6e 69 63 61 74 65 |ient communicate| 000001b0 20 6f 6e 20 70 6f 72 74 73 20 26 42 32 2c 20 26 | on ports &B2, &| 000001c0 42 33 2c 20 26 42 34 20 20 61 6e 64 20 20 26 42 |B3, &B4 and &B| 000001d0 35 2e 20 20 54 68 65 20 20 62 61 73 65 20 0d 70 |5. The base .p| 000001e0 6f 72 74 20 20 6e 75 6d 62 65 72 20 20 6f 66 20 |ort number of | 000001f0 20 26 42 32 20 69 73 20 74 72 61 6e 73 6d 69 74 | &B2 is transmit| 00000200 74 65 64 20 74 6f 20 74 68 65 20 63 6c 69 65 6e |ted to the clien| 00000210 74 20 69 6e 20 61 63 63 6f 72 64 61 6e 63 65 20 |t in accordance | 00000220 77 69 74 68 20 74 68 65 20 46 69 6e 64 20 0d 53 |with the Find .S| 00000230 65 72 76 65 72 20 70 72 6f 74 6f 63 6f 6c 2e 20 |erver protocol. | 00000240 49 74 20 69 73 20 20 70 6f 73 73 69 62 6c 65 20 |It is possible | 00000250 74 6f 20 77 72 69 74 65 20 70 72 6f 67 72 61 6d |to write program| 00000260 73 20 20 74 6f 20 20 63 6f 6d 6d 75 6e 69 63 61 |s to communica| 00000270 74 65 20 20 77 69 74 68 20 20 74 68 65 20 0d 54 |te with the .T| 00000280 45 4c 45 54 45 58 54 2d 53 45 52 56 45 52 20 20 |ELETEXT-SERVER | 00000290 75 73 69 6e 67 20 20 74 68 65 73 65 20 70 6f 72 |using these por| 000002a0 74 73 20 62 75 74 20 69 74 20 63 6f 75 6c 64 20 |ts but it could | 000002b0 62 65 20 74 68 61 74 20 75 70 64 61 74 65 73 20 |be that updates | 000002c0 6f 66 20 74 68 65 20 73 65 72 76 65 72 20 0d 73 |of the server .s| 000002d0 6f 66 74 77 61 72 65 20 6d 61 79 20 75 73 65 20 |oftware may use | 000002e0 61 20 64 69 66 66 65 72 65 6e 74 20 62 61 73 65 |a different base| 000002f0 20 70 6f 72 74 20 6e 75 6d 62 65 72 2c 20 69 6e | port number, in| 00000300 20 20 77 68 69 63 68 20 20 63 61 73 65 20 20 73 | which case s| 00000310 75 63 68 20 20 70 72 6f 67 72 61 6d 73 20 0d 77 |uch programs .w| 00000320 69 6c 6c 20 63 65 61 73 65 20 74 6f 20 77 6f 72 |ill cease to wor| 00000330 6b 2e 20 0d 20 20 20 20 20 20 20 20 20 20 20 20 |k. . | 00000340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000350 20 20 20 20 20 20 20 20 20 20 20 20 0d 20 20 20 | . | 00000360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000370 20 20 20 20 20 20 20 20 20 20 54 68 65 20 54 45 | The TE| 00000380 4c 45 54 45 58 54 20 70 72 6f 67 72 61 6d 20 0d |LETEXT program .| 00000390 20 0d 54 68 69 73 20 20 6c 6f 63 61 74 65 73 20 | .This locates | 000003a0 20 61 74 20 26 46 46 46 46 36 45 30 30 20 61 6e | at &FFFF6E00 an| 000003b0 64 20 73 6f 20 73 68 6f 75 6c 64 20 6e 6f 74 20 |d so should not | 000003c0 63 6f 72 72 75 70 74 20 61 6e 79 20 42 41 53 49 |corrupt any BASI| 000003d0 43 20 70 72 6f 67 72 61 6d 20 69 6e 20 74 68 65 |C program in the| 000003e0 20 0d 43 4c 49 45 4e 54 27 73 20 6d 65 6d 6f 72 | .CLIENT's memor| 000003f0 79 2e 20 49 74 20 77 69 6c 6c 20 77 6f 72 6b 20 |y. It will work | 00000400 77 69 74 68 20 61 6c 6c 20 76 65 72 73 69 6f 6e |with all version| 00000410 73 20 6f 66 20 74 68 65 20 42 42 43 20 42 2c 20 |s of the BBC B, | 00000420 42 2b 2c 20 20 4d 41 53 54 45 52 20 20 61 6e 64 |B+, MASTER and| 00000430 20 0d 45 54 2e 20 20 54 68 65 20 20 70 72 6f 67 | .ET. The prog| 00000440 72 61 6d 20 77 69 6c 6c 20 61 6c 73 6f 20 63 6f |ram will also co| 00000450 6d 6d 75 6e 69 63 61 74 65 20 77 69 74 68 20 61 |mmunicate with a| 00000460 20 53 45 52 56 45 52 20 61 63 72 6f 73 73 20 61 | SERVER across a| 00000470 20 62 72 69 64 67 65 20 61 6c 74 68 6f 75 67 68 | bridge although| 00000480 20 0d 73 6f 6d 65 20 6f 66 20 74 68 65 20 68 65 | .some of the he| 00000490 61 64 65 72 73 20 6d 61 79 20 62 65 20 6c 6f 73 |aders may be los| 000004a0 74 20 20 61 73 20 20 74 68 65 73 65 20 20 61 72 |t as these ar| 000004b0 65 20 20 62 72 6f 61 64 63 61 73 74 20 20 61 6e |e broadcast an| 000004c0 64 20 20 74 68 65 72 65 20 20 69 73 20 20 6e 6f |d there is no| 000004d0 20 0d 63 6f 6c 6c 69 73 69 6f 6e 20 64 65 74 65 | .collision dete| 000004e0 63 74 20 61 63 72 6f 73 73 20 61 20 62 72 69 64 |ct across a brid| 000004f0 67 65 2e 20 0d 20 0d 20 0d 31 2e 20 20 54 68 65 |ge. . . .1. The| 00000500 20 66 69 72 73 74 20 61 63 74 69 6f 6e 20 69 73 | first action is| 00000510 20 74 6f 20 6f 70 65 6e 20 61 20 72 65 63 65 69 | to open a recei| 00000520 76 65 20 62 6c 6f 63 6b 20 74 6f 20 72 65 63 65 |ve block to rece| 00000530 69 76 65 20 61 20 54 45 4c 45 54 45 58 54 2d 53 |ive a TELETEXT-S| 00000540 45 52 56 45 52 27 73 20 0d 20 20 20 20 72 65 70 |ERVER's . rep| 00000550 6c 79 20 74 6f 20 61 20 66 69 6e 64 20 73 65 72 |ly to a find ser| 00000560 76 65 72 20 72 65 71 75 65 73 74 2e 20 54 68 69 |ver request. Thi| 00000570 73 20 72 65 63 65 69 76 65 20 62 6c 6f 63 6b 20 |s receive block | 00000580 6c 69 73 74 65 6e 73 20 6f 6e 20 70 6f 72 74 20 |listens on port | 00000590 26 42 31 20 20 74 6f 20 0d 20 20 20 20 61 6c 6c |&B1 to . all| 000005a0 20 73 74 61 74 69 6f 6e 73 2c 20 61 73 20 61 74 | stations, as at| 000005b0 20 74 68 69 73 20 73 74 61 67 65 20 74 68 65 20 | this stage the | 000005c0 43 4c 49 45 4e 54 20 64 6f 65 73 20 6e 6f 74 20 |CLIENT does not | 000005d0 6b 6e 6f 77 20 74 68 65 20 73 74 61 74 69 6f 6e |know the station| 000005e0 20 6e 75 6d 62 65 72 20 0d 20 20 20 20 6f 66 20 | number . of | 000005f0 74 68 65 20 53 45 52 56 45 52 2e 20 0d 20 0d 32 |the SERVER. . .2| 00000600 2e 20 20 54 68 65 20 43 4c 49 45 4e 54 20 62 72 |. The CLIENT br| 00000610 6f 61 64 63 61 73 74 73 20 74 6f 20 61 6c 6c 20 |oadcasts to all | 00000620 73 74 61 74 69 6f 6e 73 20 20 6f 6e 20 20 70 6f |stations on po| 00000630 72 74 20 20 26 42 30 20 20 77 69 74 68 20 20 61 |rt &B0 with a| 00000640 20 20 64 61 74 61 20 20 66 69 65 6c 64 20 0d 20 | data field . | 00000650 20 20 20 63 6f 6e 74 61 69 6e 69 6e 67 20 20 27 | containing '| 00000660 54 45 4c 45 54 45 58 54 27 20 74 68 69 73 20 62 |TELETEXT' this b| 00000670 65 69 6e 67 20 74 68 65 20 6e 61 6d 65 20 74 6f |eing the name to| 00000680 20 77 68 69 63 68 20 61 20 54 45 4c 45 54 45 58 | which a TELETEX| 00000690 54 2d 53 45 52 56 45 52 20 77 69 6c 6c 20 0d 20 |T-SERVER will . | 000006a0 20 20 20 72 65 73 70 6f 6e 64 2e 20 54 68 65 20 | respond. The | 000006b0 66 69 72 73 74 20 53 45 52 56 45 52 20 74 6f 20 |first SERVER to | 000006c0 72 65 73 70 6f 6e 64 20 77 69 6c 6c 20 62 65 20 |respond will be | 000006d0 74 68 65 20 6f 6e 65 20 77 69 74 68 20 77 68 69 |the one with whi| 000006e0 63 68 20 74 68 65 20 43 4c 49 45 4e 54 20 0d 20 |ch the CLIENT . | 000006f0 20 20 20 73 75 62 73 65 71 75 65 6e 74 6c 79 20 | subsequently | 00000700 20 69 6e 74 65 72 61 63 74 73 2e 20 20 53 68 6f | interacts. Sho| 00000710 75 6c 64 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e |uld more than on| 00000720 65 20 73 65 72 76 65 72 20 62 65 20 61 76 61 69 |e server be avai| 00000730 6c 61 62 6c 65 20 74 68 65 6e 20 69 74 20 0d 20 |lable then it . | 00000740 20 20 20 69 73 20 70 6f 73 73 69 62 6c 65 20 74 | is possible t| 00000750 6f 20 63 6f 6e 6e 65 63 74 20 74 6f 20 61 20 73 |o connect to a s| 00000760 70 65 63 69 66 69 63 20 73 65 72 76 65 72 20 62 |pecific server b| 00000770 79 20 75 73 69 6e 67 20 69 74 73 20 73 74 61 74 |y using its stat| 00000780 69 6f 6e 20 6e 75 6d 62 65 72 20 65 67 20 0d 20 |ion number eg . | 00000790 20 20 20 2a 54 45 4c 45 54 45 58 54 20 20 32 2e | *TELETEXT 2.| 000007a0 34 35 2e 20 20 59 6f 75 20 20 6d 61 79 20 20 77 |45. You may w| 000007b0 69 73 68 20 20 74 6f 20 20 64 6f 20 20 74 68 69 |ish to do thi| 000007c0 73 20 69 66 20 79 6f 75 20 6b 6e 6f 77 20 74 68 |s if you know th| 000007d0 61 74 20 6f 6e 65 20 73 65 72 76 65 72 20 0d 20 |at one server . | 000007e0 20 20 20 72 65 63 65 69 76 65 73 20 61 20 62 65 | receives a be| 000007f0 74 74 65 72 20 73 69 67 6e 61 6c 20 74 68 61 6e |tter signal than| 00000800 20 61 6e 6f 74 68 65 72 2c 20 6f 6e 20 74 68 65 | another, on the| 00000810 20 63 68 61 6e 6e 65 6c 20 79 6f 75 20 77 69 73 | channel you wis| 00000820 68 20 74 6f 20 75 73 65 2e 20 0d 20 0d 33 2e 20 |h to use. . .3. | 00000830 20 54 68 65 20 43 4c 49 45 4e 54 20 70 6f 6c 6c | The CLIENT poll| 00000840 73 20 74 68 65 20 72 65 63 65 69 76 65 20 62 6c |s the receive bl| 00000850 6f 63 6b 20 75 6e 74 69 6c 20 61 20 53 45 52 56 |ock until a SERV| 00000860 45 52 20 72 65 73 70 6f 6e 64 73 20 6f 72 20 3c |ER responds or <| 00000870 45 53 43 41 50 45 3e 20 20 69 73 20 0d 20 20 20 |ESCAPE> is . | 00000880 20 70 72 65 73 73 65 64 2e 20 0d 20 0d 34 2e 20 | pressed. . .4. | 00000890 20 54 68 65 20 20 43 4c 49 45 4e 54 20 20 72 65 | The CLIENT re| 000008a0 61 64 73 20 20 74 68 65 20 53 45 52 56 45 52 27 |ads the SERVER'| 000008b0 73 20 72 65 70 6c 79 20 61 6e 64 20 73 74 6f 72 |s reply and stor| 000008c0 65 73 20 74 68 65 20 53 45 52 56 45 52 27 73 20 |es the SERVER's | 000008d0 73 74 61 74 69 6f 6e 20 61 6e 64 20 0d 20 20 20 |station and . | 000008e0 20 6e 65 74 77 6f 72 6b 20 6e 75 6d 62 65 72 2e | network number.| 000008f0 20 54 68 65 20 62 61 73 65 20 70 6f 72 74 20 6e | The base port n| 00000900 75 6d 62 65 72 20 28 26 42 32 29 20 69 73 20 75 |umber (&B2) is u| 00000910 73 65 64 20 74 6f 20 63 61 6c 63 75 6c 61 74 65 |sed to calculate| 00000920 20 74 68 65 20 20 70 6f 72 74 73 20 0d 20 20 20 | the ports . | 00000930 20 66 6f 72 20 20 66 75 72 74 68 65 72 20 63 6f | for further co| 00000940 6d 6d 75 6e 69 63 61 74 69 6f 6e 2e 20 54 68 65 |mmunication. The| 00000950 20 43 4c 49 45 4e 54 20 73 65 6c 65 63 74 73 20 | CLIENT selects | 00000960 4d 4f 44 45 20 37 2c 20 70 72 69 6e 74 73 20 74 |MODE 7, prints t| 00000970 68 65 20 53 45 52 56 45 52 27 73 20 0d 20 20 20 |he SERVER's . | 00000980 20 73 74 61 74 69 6f 6e 20 6e 75 6d 62 65 72 20 | station number | 00000990 28 73 75 70 70 72 65 73 73 69 6e 67 20 74 68 65 |(suppressing the| 000009a0 20 6e 65 74 77 6f 72 6b 20 6e 75 6d 62 65 72 20 | network number | 000009b0 69 66 20 69 74 20 69 73 20 7a 65 72 6f 29 20 61 |if it is zero) a| 000009c0 6e 64 20 61 6c 73 6f 20 74 68 65 20 0d 20 20 20 |nd also the . | 000009d0 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 2e | version number.| 000009e0 20 0d 20 0d 35 2e 20 20 54 68 65 20 20 43 4c 49 | . .5. The CLI| 000009f0 45 4e 54 20 20 6f 70 65 6e 73 20 74 68 72 65 65 |ENT opens three| 00000a00 20 72 65 63 65 69 76 65 20 62 6c 6f 63 6b 73 2e | receive blocks.| 00000a10 20 4f 6e 65 20 6f 6e 20 70 6f 72 74 20 26 42 35 | One on port &B5| 00000a20 20 28 62 61 73 65 2b 33 29 20 72 65 61 64 79 20 | (base+3) ready | 00000a30 74 6f 20 0d 20 20 20 20 72 65 63 65 69 76 65 20 |to . receive | 00000a40 61 6e 79 20 70 61 67 65 20 68 65 61 64 65 72 73 |any page headers| 00000a50 20 77 68 69 63 68 20 61 72 72 69 76 65 2c 20 6f | which arrive, o| 00000a60 6e 65 20 6f 6e 20 70 6f 72 74 20 20 26 42 32 20 |ne on port &B2 | 00000a70 20 28 62 61 73 65 29 20 20 72 65 61 64 79 20 20 | (base) ready | 00000a80 74 6f 20 0d 20 20 20 20 72 65 63 65 69 76 65 20 |to . receive | 00000a90 20 61 6e 79 20 20 53 45 52 56 45 52 20 20 72 65 | any SERVER re| 00000aa0 70 6c 69 65 73 20 20 61 6e 64 20 6f 6e 65 20 6f |plies and one o| 00000ab0 6e 20 70 6f 72 74 20 26 42 34 20 28 62 61 73 65 |n port &B4 (base| 00000ac0 2b 32 29 20 74 6f 20 72 65 63 65 69 76 65 20 61 |+2) to receive a| 00000ad0 6e 79 20 0d 20 20 20 20 70 61 67 65 73 2e 20 0d |ny . pages. .| 00000ae0 20 0d 36 2e 20 20 54 68 65 20 43 4c 49 45 4e 54 | .6. The CLIENT| 00000af0 20 73 65 6e 64 73 20 61 20 72 65 71 75 65 73 74 | sends a request| 00000b00 20 66 6f 72 20 70 61 67 65 20 31 31 30 30 20 28 | for page 1100 (| 00000b10 74 68 65 20 66 69 72 73 74 20 20 64 69 67 69 74 |the first digit| 00000b20 20 20 69 6e 64 69 63 61 74 65 73 20 20 74 68 65 | indicates the| 00000b30 20 0d 20 20 20 20 63 68 61 6e 6e 65 6c 20 20 6e | . channel n| 00000b40 75 6d 62 65 72 29 2e 20 54 68 69 73 20 69 73 20 |umber). This is | 00000b50 6f 6e 20 70 6f 72 74 20 26 42 33 20 28 62 61 73 |on port &B3 (bas| 00000b60 65 2b 31 29 20 77 69 74 68 20 61 20 63 6f 6e 74 |e+1) with a cont| 00000b70 72 6f 6c 20 62 79 74 65 20 6f 66 20 26 38 31 2e |rol byte of &81.| 00000b80 20 0d 20 20 20 20 54 68 65 20 72 65 70 6c 79 20 | . The reply | 00000b90 72 65 63 65 69 76 65 20 62 6c 6f 63 6b 20 69 73 |receive block is| 00000ba0 20 74 68 65 6e 20 70 6f 6c 6c 65 64 20 20 75 6e | then polled un| 00000bb0 74 69 6c 20 20 74 68 65 20 20 53 45 52 56 45 52 |til the SERVER| 00000bc0 20 20 72 65 73 70 6f 6e 64 73 2e 20 20 54 68 65 | responds. The| 00000bd0 20 0d 20 20 20 20 70 6f 73 69 74 69 6f 6e 20 20 | . position | 00000be0 69 6e 20 20 74 68 65 20 71 75 65 75 65 20 72 65 |in the queue re| 00000bf0 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 53 45 |turned by the SE| 00000c00 52 56 45 52 20 69 73 20 70 72 69 6e 74 65 64 20 |RVER is printed | 00000c10 61 74 20 74 68 65 20 62 6f 74 74 6f 6d 20 6f 66 |at the bottom of| 00000c20 20 0d 20 20 20 20 74 68 65 20 70 61 67 65 2e 20 | . the page. | 00000c30 41 20 6e 65 77 20 72 65 63 65 69 76 65 20 62 6c |A new receive bl| 00000c40 6f 63 6b 20 66 6f 72 20 72 65 70 6c 69 65 73 20 |ock for replies | 00000c50 6f 6e 20 70 6f 72 74 20 26 42 32 20 69 73 20 20 |on port &B2 is | 00000c60 73 65 74 20 20 75 70 2e 20 20 49 66 20 20 61 6e |set up. If an| 00000c70 20 0d 20 20 20 20 65 72 72 6f 72 20 20 6f 63 63 | . error occ| 00000c80 75 72 73 20 20 74 68 65 6e 20 20 74 68 65 20 20 |urs then the | 00000c90 65 72 72 6f 72 20 20 6d 65 73 73 61 67 65 20 69 |error message i| 00000ca0 73 20 64 69 73 70 6c 61 79 65 64 20 61 74 20 74 |s displayed at t| 00000cb0 68 65 20 62 6f 74 74 6f 6d 20 6f 66 20 74 68 65 |he bottom of the| 00000cc0 20 0d 20 20 20 20 73 63 72 65 65 6e 20 61 6e 64 | . screen and| 00000cd0 20 74 68 65 20 70 61 67 65 20 69 6e 70 75 74 20 | the page input | 00000ce0 72 6f 75 74 69 6e 65 20 69 73 20 65 6e 74 65 72 |routine is enter| 00000cf0 65 64 20 6f 72 20 69 66 20 74 68 65 20 65 72 72 |ed or if the err| 00000d00 6f 72 20 20 77 61 73 20 20 61 20 20 27 42 61 64 |or was a 'Bad| 00000d10 20 0d 20 20 20 20 63 68 61 6e 6e 65 6c 27 20 65 | . channel' e| 00000d20 72 72 6f 72 20 74 68 65 6e 20 74 68 65 20 63 68 |rror then the ch| 00000d30 61 6e 6e 65 6c 20 69 6e 70 75 74 20 72 6f 75 74 |annel input rout| 00000d40 69 6e 65 20 69 73 20 65 6e 74 65 72 65 64 2e 20 |ine is entered. | 00000d50 0d 20 0d 37 2e 20 20 54 68 65 20 20 43 4c 49 45 |. .7. The CLIE| 00000d60 4e 54 20 20 70 6f 6c 6c 73 20 20 62 6f 74 68 20 |NT polls both | 00000d70 20 72 65 63 65 69 76 65 20 20 62 6c 6f 63 6b 73 | receive blocks| 00000d80 20 20 66 6f 72 20 61 20 70 61 67 65 20 28 70 6f | for a page (po| 00000d90 72 74 20 26 42 34 29 20 61 6e 64 20 66 6f 72 20 |rt &B4) and for | 00000da0 61 20 0d 20 20 20 20 68 65 61 64 65 72 20 28 70 |a . header (p| 00000db0 6f 72 74 20 26 42 35 29 2c 20 75 6e 74 69 6c 20 |ort &B5), until | 00000dc0 6f 6e 65 20 6f 72 20 74 68 65 20 6f 74 68 65 72 |one or the other| 00000dd0 20 72 65 63 65 69 76 65 73 20 61 20 74 72 61 6e | receives a tran| 00000de0 73 6d 69 73 73 69 6f 6e 2e 20 0d 20 0d 38 2e 20 |smission. . .8. | 00000df0 20 49 66 20 61 20 70 61 67 65 20 68 65 61 64 65 | If a page heade| 00000e00 72 20 69 73 20 72 65 63 65 69 76 65 64 20 74 68 |r is received th| 00000e10 65 6e 20 20 74 68 65 20 20 63 75 72 73 6f 72 20 |en the cursor | 00000e20 20 69 73 20 20 6d 6f 76 65 64 20 20 74 6f 20 20 | is moved to | 00000e30 74 68 65 20 20 68 65 61 64 65 72 20 0d 20 20 20 |the header . | 00000e40 20 70 6f 73 69 74 69 6f 6e 20 20 61 6e 64 20 69 | position and i| 00000e50 74 20 69 73 20 70 72 69 6e 74 65 64 20 6f 75 74 |t is printed out| 00000e60 2e 20 41 6e 20 69 64 65 6e 74 69 63 61 6c 20 72 |. An identical r| 00000e70 65 63 65 69 76 65 20 62 6c 6f 63 6b 20 69 73 20 |eceive block is | 00000e80 74 68 65 6e 20 73 65 74 20 75 70 20 0d 20 20 20 |then set up . | 00000e90 20 74 6f 20 72 65 70 6c 61 63 65 20 74 68 65 20 | to replace the | 00000ea0 6f 6e 65 20 77 68 69 63 68 20 68 61 73 20 62 65 |one which has be| 00000eb0 65 6e 20 75 73 65 64 2e 20 0d 20 0d 39 2e 20 20 |en used. . .9. | 00000ec0 49 66 20 61 20 72 65 71 75 65 73 74 65 64 20 70 |If a requested p| 00000ed0 61 67 65 20 69 73 20 72 65 63 65 69 76 65 64 20 |age is received | 00000ee0 74 68 65 20 66 69 72 73 74 20 61 63 74 69 6f 6e |the first action| 00000ef0 20 69 73 20 74 6f 20 20 74 65 73 74 20 20 74 68 | is to test th| 00000f00 65 20 20 63 6f 6e 74 72 6f 6c 20 0d 20 20 20 20 |e control . | 00000f10 62 79 74 65 2e 20 20 49 66 20 20 74 68 69 73 20 |byte. If this | 00000f20 69 73 20 26 38 30 20 74 68 65 6e 20 69 74 20 69 |is &80 then it i| 00000f30 6e 64 69 63 61 74 65 73 20 74 68 65 20 70 61 67 |ndicates the pag| 00000f40 65 20 68 61 73 20 62 65 65 6e 20 66 6f 75 6e 64 |e has been found| 00000f50 20 61 6e 64 20 69 73 20 69 6e 20 0d 20 20 20 20 | and is in . | 00000f60 74 68 65 20 72 65 63 65 69 76 65 20 62 6c 6f 63 |the receive bloc| 00000f70 6b 20 62 75 66 66 65 72 20 72 65 61 64 79 20 74 |k buffer ready t| 00000f80 6f 20 62 65 20 74 72 61 6e 73 66 65 72 72 65 64 |o be transferred| 00000f90 20 74 6f 20 20 74 68 65 20 20 73 63 72 65 65 6e | to the screen| 00000fa0 2e 20 20 49 66 20 20 74 68 65 20 0d 20 20 20 20 |. If the . | 00000fb0 63 6f 6e 74 72 6f 6c 20 20 62 79 74 65 20 20 69 |control byte i| 00000fc0 73 20 26 38 31 20 74 68 65 6e 20 74 68 69 73 20 |s &81 then this | 00000fd0 69 6e 64 69 63 61 74 65 73 20 73 6f 6d 65 20 65 |indicates some e| 00000fe0 72 72 6f 72 20 68 61 73 20 6f 63 63 75 72 72 65 |rror has occurre| 00000ff0 64 20 61 6e 64 20 74 68 61 74 20 0d 20 20 20 20 |d and that . | 00001000 61 6e 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 |an error message| 00001010 20 69 73 20 69 6e 20 74 68 65 20 72 65 63 65 69 | is in the recei| 00001020 76 65 20 62 6c 6f 63 6b 20 62 75 66 66 65 72 20 |ve block buffer | 00001030 77 61 69 74 69 6e 67 20 74 6f 20 62 65 20 70 72 |waiting to be pr| 00001040 69 6e 74 65 64 2e 20 0d 0d 31 30 2e 20 49 66 20 |inted. ..10. If | 00001050 20 61 6e 20 20 65 72 72 6f 72 20 68 61 73 20 6f | an error has o| 00001060 63 63 75 72 72 65 64 20 74 68 65 6e 20 74 68 65 |ccurred then the| 00001070 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 69 | error message i| 00001080 73 20 70 72 69 6e 74 65 64 20 61 74 20 74 68 65 |s printed at the| 00001090 20 62 6f 74 74 6f 6d 20 0d 20 20 20 20 6f 66 20 | bottom . of | 000010a0 74 68 65 20 73 63 72 65 65 6e 20 61 6e 64 20 74 |the screen and t| 000010b0 68 65 20 43 4c 49 45 4e 54 20 20 70 72 6f 67 72 |he CLIENT progr| 000010c0 61 6d 20 20 6a 75 6d 70 73 20 20 74 6f 20 20 74 |am jumps to t| 000010d0 68 65 20 20 70 61 67 65 20 20 6e 75 6d 62 65 72 |he page number| 000010e0 20 20 69 6e 70 75 74 20 0d 20 20 20 20 72 6f 75 | input . rou| 000010f0 74 69 6e 65 20 20 74 6f 20 67 65 74 20 61 6e 6f |tine to get ano| 00001100 74 68 65 72 20 70 61 67 65 20 6e 75 6d 62 65 72 |ther page number| 00001110 2e 20 41 20 6e 65 77 20 72 65 63 65 69 76 65 20 |. A new receive | 00001120 62 6c 6f 63 6b 20 66 6f 72 20 61 20 70 61 67 65 |block for a page| 00001130 20 69 73 20 73 65 74 20 0d 20 20 20 20 75 70 2e | is set . up.| 00001140 20 0d 20 0d 31 31 2e 20 49 66 20 61 20 70 61 67 | . .11. If a pag| 00001150 65 20 69 73 20 73 75 63 63 65 73 73 66 75 6c 6c |e is successfull| 00001160 79 20 72 65 63 65 69 76 65 64 20 74 68 65 6e 20 |y received then | 00001170 69 74 20 69 73 20 20 64 69 73 70 6c 61 79 65 64 |it is displayed| 00001180 2e 20 20 41 20 20 6e 65 77 20 20 72 65 63 65 69 |. A new recei| 00001190 76 65 20 0d 20 20 20 20 62 6c 6f 63 6b 20 20 66 |ve . block f| 000011a0 6f 72 20 20 61 20 20 70 61 67 65 20 20 69 73 20 |or a page is | 000011b0 20 73 65 74 20 20 75 70 2e 20 54 68 65 20 68 65 | set up. The he| 000011c0 61 64 65 72 20 72 65 63 65 69 76 65 20 62 6c 6f |ader receive blo| 000011d0 63 6b 20 63 6f 6e 74 69 6e 75 65 73 20 74 6f 20 |ck continues to | 000011e0 62 65 20 0d 20 20 20 20 70 6f 6c 6c 65 64 20 61 |be . polled a| 000011f0 6e 64 20 64 69 73 70 6c 61 79 65 64 20 75 6e 74 |nd displayed unt| 00001200 69 6c 20 61 20 6b 65 79 20 69 73 20 70 72 65 73 |il a key is pres| 00001210 73 65 64 2e 20 0d 20 0d 31 32 2e 20 41 6c 6c 20 |sed. . .12. All | 00001220 20 74 68 65 20 20 74 69 6d 65 20 74 68 65 20 72 | the time the r| 00001230 65 63 65 69 76 65 20 62 6c 6f 63 6b 73 20 61 72 |eceive blocks ar| 00001240 65 20 62 65 69 6e 67 20 70 6f 6c 6c 65 64 20 74 |e being polled t| 00001250 68 65 20 43 4c 49 45 4e 54 20 70 72 6f 67 72 61 |he CLIENT progra| 00001260 6d 20 61 6c 73 6f 20 0d 20 20 20 20 74 65 73 74 |m also . test| 00001270 73 20 74 6f 20 73 65 65 20 69 66 20 61 20 6b 65 |s to see if a ke| 00001280 79 20 68 61 73 20 62 65 65 6e 20 70 72 65 73 73 |y has been press| 00001290 65 64 2e 20 49 66 20 61 20 6b 65 79 20 69 73 20 |ed. If a key is | 000012a0 70 72 65 73 73 65 64 20 74 68 69 73 20 69 73 20 |pressed this is | 000012b0 20 74 61 6b 65 6e 20 0d 20 20 20 20 74 6f 20 20 | taken . to | 000012c0 6d 65 61 6e 20 20 74 68 61 74 20 79 6f 75 20 61 |mean that you a| 000012d0 72 65 20 61 62 6f 75 74 20 74 6f 20 72 65 71 75 |re about to requ| 000012e0 65 73 74 20 61 20 6e 65 77 20 70 61 67 65 2e 20 |est a new page. | 000012f0 49 66 20 27 43 27 20 69 73 20 70 72 65 73 73 65 |If 'C' is presse| 00001300 64 20 74 68 65 6e 20 0d 20 20 20 20 74 68 65 20 |d then . the | 00001310 69 6e 70 75 74 20 63 68 61 6e 6e 65 6c 20 72 6f |input channel ro| 00001320 75 74 69 6e 65 20 69 73 20 65 6e 74 65 72 65 64 |utine is entered| 00001330 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 74 68 65 | followed by the| 00001340 20 69 6e 70 75 74 20 20 70 61 67 65 20 20 72 6f | input page ro| 00001350 75 74 69 6e 65 2e 20 0d 20 20 20 20 49 66 20 20 |utine. . If | 00001360 3c 52 45 54 55 52 4e 3e 20 20 69 73 20 20 70 72 |<RETURN> is pr| 00001370 65 73 73 65 64 20 20 74 68 65 6e 20 20 74 68 65 |essed then the| 00001380 20 20 6c 61 73 74 20 70 61 67 65 20 79 6f 75 20 | last page you | 00001390 72 65 71 75 65 73 74 65 64 20 69 73 20 72 65 71 |requested is req| 000013a0 75 65 73 74 65 64 20 0d 20 20 20 20 61 67 61 69 |uested . agai| 000013b0 6e 2e 20 49 66 20 27 52 27 20 69 73 20 70 72 65 |n. If 'R' is pre| 000013c0 73 73 65 64 20 74 68 65 20 27 52 45 56 45 41 4c |ssed the 'REVEAL| 000013d0 27 20 72 6f 75 74 69 6e 65 20 69 73 20 63 61 6c |' routine is cal| 000013e0 6c 65 64 20 61 6e 64 20 20 74 68 69 73 20 20 74 |led and this t| 000013f0 6f 67 67 6c 65 73 20 0d 20 20 20 20 62 65 74 77 |oggles . betw| 00001400 65 65 6e 20 20 72 65 76 65 61 6c 69 6e 67 20 61 |een revealing a| 00001410 6e 64 20 63 6f 6e 63 65 61 6c 69 6e 67 2e 20 49 |nd concealing. I| 00001420 66 20 27 2a 27 20 69 73 20 70 72 65 73 73 65 64 |f '*' is pressed| 00001430 20 74 68 65 6e 20 74 68 65 20 73 74 61 72 20 63 | then the star c| 00001440 6f 6d 6d 61 6e 64 20 0d 20 20 20 20 72 6f 75 74 |ommand . rout| 00001450 69 6e 65 20 69 73 20 65 6e 74 65 72 65 64 2e 20 |ine is entered. | 00001460 54 68 69 73 20 61 6c 6c 6f 77 73 20 74 68 65 20 |This allows the | 00001470 43 4c 49 45 4e 54 20 74 6f 20 20 2a 53 41 56 45 |CLIENT to *SAVE| 00001480 20 20 70 61 67 65 73 20 20 65 74 63 2e 20 20 49 | pages etc. I| 00001490 66 20 20 61 6e 79 20 0d 20 20 20 20 6f 74 68 65 |f any . othe| 000014a0 72 20 6b 65 79 20 69 73 20 70 72 65 73 73 65 64 |r key is pressed| 000014b0 20 74 68 65 20 70 61 67 65 20 69 6e 70 75 74 20 | the page input | 000014c0 72 6f 75 74 69 6e 65 20 69 73 20 65 6e 74 65 72 |routine is enter| 000014d0 65 64 2e 20 0d 20 0d 31 33 2e 20 54 68 65 20 20 |ed. . .13. The | 000014e0 66 69 72 73 74 20 20 61 63 74 69 6f 6e 20 74 61 |first action ta| 000014f0 6b 65 6e 20 62 79 20 62 6f 74 68 20 74 68 65 20 |ken by both the | 00001500 63 68 61 6e 6e 65 6c 20 69 6e 70 75 74 20 61 6e |channel input an| 00001510 64 20 70 61 67 65 20 69 6e 70 75 74 20 72 6f 75 |d page input rou| 00001520 74 69 6e 65 73 20 0d 20 20 20 20 69 73 20 74 6f |tines . is to| 00001530 20 73 65 6e 64 20 61 20 27 63 61 6e 63 65 6c 20 | send a 'cancel | 00001540 70 61 67 65 20 72 65 71 75 65 73 74 27 20 74 6f |page request' to| 00001550 20 20 74 68 65 20 20 53 45 52 56 45 52 20 20 61 | the SERVER a| 00001560 6e 64 20 20 74 68 65 6e 20 20 64 65 6c 65 74 65 |nd then delete| 00001570 20 20 74 68 65 20 0d 20 20 20 20 63 75 72 72 65 | the . curre| 00001580 6e 74 20 20 70 61 67 65 20 20 72 65 63 65 69 76 |nt page receiv| 00001590 65 20 62 6c 6f 63 6b 2e 20 54 68 69 73 20 6d 65 |e block. This me| 000015a0 61 6e 73 20 74 68 65 20 53 45 52 56 45 52 20 77 |ans the SERVER w| 000015b0 69 6c 6c 20 6e 6f 20 6c 6f 6e 67 65 72 20 68 61 |ill no longer ha| 000015c0 76 65 20 74 6f 20 0d 20 20 20 20 62 6f 74 68 65 |ve to . bothe| 000015d0 72 20 74 72 79 69 6e 67 20 74 6f 20 66 69 6e 64 |r trying to find| 000015e0 20 79 6f 75 72 20 6c 61 73 74 20 72 65 71 75 65 | your last reque| 000015f0 73 74 65 64 20 70 61 67 65 2e 20 54 68 65 20 70 |sted page. The p| 00001600 72 6f 6d 70 74 20 66 6f 72 20 20 61 20 20 63 68 |rompt for a ch| 00001610 61 6e 6e 65 6c 20 0d 20 20 20 20 69 6e 70 75 74 |annel . input| 00001620 20 69 73 20 27 43 27 20 61 6e 64 20 66 6f 72 20 | is 'C' and for | 00001630 61 20 70 61 67 65 20 69 6e 70 75 74 20 69 73 20 |a page input is | 00001640 27 50 27 2e 20 42 6f 74 68 20 72 6f 75 74 69 6e |'P'. Both routin| 00001650 65 73 20 6d 61 6b 65 20 75 73 65 20 6f 66 20 4f |es make use of O| 00001660 53 57 4f 52 44 20 0d 20 20 20 20 30 20 74 6f 20 |SWORD . 0 to | 00001670 72 65 61 64 20 61 20 6c 69 6e 65 20 6f 66 20 69 |read a line of i| 00001680 6e 70 75 74 20 61 6e 64 20 73 6f 20 20 62 6f 74 |nput and so bot| 00001690 68 20 20 6e 65 65 64 20 20 74 6f 20 20 62 65 20 |h need to be | 000016a0 20 65 78 69 74 65 64 20 20 62 79 20 20 70 72 65 | exited by pre| 000016b0 73 73 69 6e 67 20 0d 20 20 20 20 3c 52 45 54 55 |ssing . <RETU| 000016c0 52 4e 3e 2e 20 20 41 20 6e 65 77 20 72 65 63 65 |RN>. A new rece| 000016d0 69 76 65 20 70 61 67 65 20 62 6c 6f 63 6b 20 69 |ive page block i| 000016e0 73 20 73 65 74 20 75 70 20 61 6e 64 20 74 68 65 |s set up and the| 000016f0 6e 20 74 68 65 20 6e 65 77 20 70 61 67 65 20 6e |n the new page n| 00001700 75 6d 62 65 72 20 0d 20 20 20 20 69 73 20 74 72 |umber . is tr| 00001710 61 6e 73 6d 69 74 74 65 64 20 74 6f 20 74 68 65 |ansmitted to the| 00001720 20 53 45 52 56 45 52 2e 20 0d 20 0d 31 34 2e 20 | SERVER. . .14. | 00001730 54 68 65 20 65 73 63 61 70 65 20 66 6c 61 67 20 |The escape flag | 00001740 69 73 20 63 6f 6e 74 69 6e 75 61 6c 6c 79 20 70 |is continually p| 00001750 6f 6c 6c 65 64 20 73 6f 20 74 68 61 74 20 74 68 |olled so that th| 00001760 65 20 43 4c 49 45 4e 54 20 63 61 6e 20 65 78 69 |e CLIENT can exi| 00001770 74 20 20 61 74 20 20 61 6e 79 20 0d 20 20 20 20 |t at any . | 00001780 74 69 6d 65 20 20 62 79 20 20 70 72 65 73 73 69 |time by pressi| 00001790 6e 67 20 20 3c 45 53 43 41 50 45 3e 2e 20 20 54 |ng <ESCAPE>. T| 000017a0 68 69 73 20 20 77 69 6c 6c 20 73 65 6e 64 20 61 |his will send a| 000017b0 20 6c 6f 67 6f 66 66 20 69 6e 73 74 72 75 63 74 | logoff instruct| 000017c0 69 6f 6e 20 74 6f 20 74 68 65 20 0d 20 20 20 20 |ion to the . | 000017d0 53 45 52 56 45 52 20 77 68 69 63 68 20 73 74 6f |SERVER which sto| 000017e0 70 73 20 69 74 20 6c 6f 6f 6b 69 6e 67 20 66 6f |ps it looking fo| 000017f0 72 20 61 6e 79 20 6d 6f 72 65 20 20 70 61 67 65 |r any more page| 00001800 73 20 20 66 6f 72 20 20 79 6f 75 2e 20 20 41 6c |s for you. Al| 00001810 6c 20 20 72 65 63 65 69 76 65 20 0d 20 20 20 20 |l receive . | 00001820 62 6c 6f 63 6b 73 20 61 72 65 20 64 65 6c 65 74 |blocks are delet| 00001830 65 64 2e 20 0d 20 0d 0d 20 20 20 20 20 20 20 20 |ed. . .. | 00001840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001850 20 20 20 20 20 20 20 20 20 20 53 75 62 2d 70 61 | Sub-pa| 00001860 67 65 73 20 0d 20 0d 20 0d 4f 6e 65 20 20 6f 66 |ges . . .One of| 00001870 20 20 74 68 65 20 66 65 61 74 75 72 65 73 20 6f | the features o| 00001880 66 20 74 68 65 20 6e 6f 72 6d 61 6c 20 75 73 65 |f the normal use| 00001890 20 6f 66 20 74 65 6c 65 74 65 78 74 20 69 73 20 | of teletext is | 000018a0 74 68 61 74 20 70 61 67 65 73 20 77 69 6c 6c 20 |that pages will | 000018b0 72 6f 6c 6c 20 73 6f 20 0d 74 68 61 74 20 74 68 |roll so .that th| 000018c0 65 79 20 61 72 65 20 63 6f 6e 73 74 61 6e 74 6c |ey are constantl| 000018d0 79 20 75 70 64 61 74 65 64 20 65 67 2e 20 66 6f |y updated eg. fo| 000018e0 72 20 63 72 69 63 6b 65 74 20 73 63 6f 72 65 73 |r cricket scores| 000018f0 20 20 6f 72 20 20 70 61 67 65 73 20 20 77 69 74 | or pages wit| 00001900 68 20 20 6d 6f 72 65 20 0d 74 68 61 6e 20 6f 6e |h more .than on| 00001910 65 20 73 63 72 65 65 6e 20 6f 66 20 69 6e 66 6f |e screen of info| 00001920 72 6d 61 74 69 6f 6e 2e 20 41 6e 20 61 70 70 72 |rmation. An appr| 00001930 6f 78 69 6d 61 74 69 6f 6e 20 74 6f 20 74 68 69 |oximation to thi| 00001940 73 20 66 61 63 69 6c 69 74 79 20 69 73 20 61 76 |s facility is av| 00001950 61 69 6c 61 62 6c 65 20 0d 66 72 6f 6d 20 74 68 |ailable .from th| 00001960 65 20 53 45 52 56 45 52 2e 20 50 72 65 73 73 69 |e SERVER. Pressi| 00001970 6e 67 20 27 53 27 20 77 69 6c 6c 20 65 6e 61 62 |ng 'S' will enab| 00001980 6c 65 20 74 68 65 20 61 75 74 6f 6d 61 74 69 63 |le the automatic| 00001990 20 72 6f 6c 6c 69 6e 67 20 6f 66 20 20 73 75 62 | rolling of sub| 000019a0 2d 70 61 67 65 73 2e 20 0d 54 68 69 73 20 20 69 |-pages. .This i| 000019b0 73 20 20 64 6f 6e 65 20 20 62 79 20 20 61 20 63 |s done by a c| 000019c0 61 6c 6c 20 74 6f 20 74 68 65 20 53 45 52 56 45 |all to the SERVE| 000019d0 52 20 77 68 69 63 68 20 73 69 67 6e 61 6c 73 20 |R which signals | 000019e0 74 68 61 74 20 74 68 65 20 72 65 71 75 65 73 74 |that the request| 000019f0 65 64 20 70 61 67 65 20 0d 6d 75 73 74 20 6e 6f |ed page .must no| 00001a00 74 20 62 65 20 73 65 6e 74 20 75 6e 74 69 6c 20 |t be sent until | 00001a10 61 74 20 6c 65 61 73 74 20 30 2e 35 20 6f 66 20 |at least 0.5 of | 00001a20 74 68 65 20 63 79 63 6c 65 20 74 69 6d 65 20 68 |the cycle time h| 00001a30 61 73 20 20 65 6c 61 70 73 65 64 2e 20 20 41 75 |as elapsed. Au| 00001a40 74 6f 6d 61 74 69 63 20 0d 72 6f 6c 6c 69 6e 67 |tomatic .rolling| 00001a50 20 20 6f 66 20 20 73 75 62 2d 70 61 67 65 73 20 | of sub-pages | 00001a60 20 63 61 6e 20 20 62 65 20 20 64 69 73 61 62 6c | can be disabl| 00001a70 65 64 20 20 62 79 20 20 70 72 65 73 73 69 6e 67 |ed by pressing| 00001a80 20 27 53 27 20 61 67 61 69 6e 2e 20 45 6e 61 62 | 'S' again. Enab| 00001a90 6c 69 6e 67 20 69 73 20 0d 73 69 67 6e 61 6c 6c |ling is .signall| 00001aa0 65 64 20 62 79 20 61 20 68 69 67 68 20 62 65 65 |ed by a high bee| 00001ab0 70 20 61 6e 64 20 64 69 73 61 62 6c 69 6e 67 20 |p and disabling | 00001ac0 62 79 20 61 20 6c 6f 77 20 62 65 65 70 2e 20 54 |by a low beep. T| 00001ad0 68 65 20 72 6f 6c 6c 69 6e 67 20 69 73 20 20 64 |he rolling is d| 00001ae0 69 73 61 62 6c 65 64 20 0d 77 68 65 6e 65 76 65 |isabled .wheneve| 00001af0 72 20 61 20 6e 65 77 20 70 61 67 65 20 69 73 20 |r a new page is | 00001b00 72 65 71 75 65 73 74 65 64 2e 20 0d 20 0d 54 68 |requested. . .Th| 00001b10 69 73 20 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 |is implementati| 00001b20 6f 6e 20 20 6f 66 20 73 75 62 2d 70 61 67 65 73 |on of sub-pages| 00001b30 20 69 73 20 61 20 63 6f 6d 70 72 6f 6d 69 73 65 | is a compromise| 00001b40 20 69 6e 20 74 68 61 74 20 61 73 20 6d 6f 72 65 | in that as more| 00001b50 20 63 6c 69 65 6e 74 73 20 75 73 65 20 0d 74 68 | clients use .th| 00001b60 69 73 20 66 65 61 74 75 72 65 20 74 68 65 20 6d |is feature the m| 00001b70 6f 72 65 20 66 75 6c 6c 20 77 69 6c 6c 20 62 65 |ore full will be| 00001b80 20 74 68 65 20 20 71 75 65 75 65 73 20 20 61 6e | the queues an| 00001b90 64 20 20 69 74 20 20 69 73 20 20 66 6f 72 20 20 |d it is for | 00001ba0 74 68 69 73 20 20 72 65 61 73 6f 6e 20 0d 61 75 |this reason .au| 00001bb0 74 6f 6d 61 74 69 63 20 72 6f 6c 6c 69 6e 67 20 |tomatic rolling | 00001bc0 6d 75 73 74 20 62 65 20 64 65 6c 69 62 65 72 61 |must be delibera| 00001bd0 74 65 6c 79 20 73 65 6c 65 63 74 65 64 20 66 6f |tely selected fo| 00001be0 72 20 65 76 65 72 79 20 6e 65 77 20 70 61 67 65 |r every new page| 00001bf0 2e 20 49 74 20 69 73 20 61 6c 73 6f 20 0d 6e 6f |. It is also .no| 00001c00 74 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 67 75 |t possible to gu| 00001c10 61 72 61 6e 74 65 65 20 74 68 61 74 20 79 6f 75 |arantee that you| 00001c20 20 77 69 6c 6c 20 67 65 74 20 74 68 65 20 69 6d | will get the im| 00001c30 6d 65 64 69 61 74 65 6c 79 20 66 6f 6c 6c 6f 77 |mediately follow| 00001c40 69 6e 67 20 73 75 62 2d 70 61 67 65 20 0d 69 6e |ing sub-page .in| 00001c50 20 74 68 65 20 73 65 71 75 65 6e 63 65 2e 20 0d | the sequence. .| 00001c60 20 0d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | . | 00001c70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001c80 20 54 68 65 20 54 46 53 20 70 72 6f 67 72 61 6d | The TFS program| 00001c90 20 0d 20 0d 54 68 69 73 20 70 72 6f 67 72 61 6d | . .This program| 00001ca0 20 6d 61 6b 65 73 20 61 73 20 66 75 6c 6c 20 75 | makes as full u| 00001cb0 73 65 20 61 73 20 70 6f 73 73 69 62 6c 65 20 6f |se as possible o| 00001cc0 66 20 74 68 65 20 41 54 46 53 20 72 6f 6d 27 73 |f the ATFS rom's| 00001cd0 20 61 62 69 6c 69 74 79 20 74 6f 20 73 65 61 72 | ability to sear| 00001ce0 63 68 20 0d 66 6f 72 20 73 65 76 65 72 61 6c 20 |ch .for several | 00001cf0 70 61 67 65 73 20 61 74 20 6f 6e 63 65 2e 20 54 |pages at once. T| 00001d00 68 65 20 74 68 65 6f 72 65 74 69 63 61 6c 20 6d |he theoretical m| 00001d10 61 78 69 6d 75 6d 20 69 73 20 32 30 20 61 74 20 |aximum is 20 at | 00001d20 6f 6e 63 65 20 62 75 74 20 74 68 65 20 20 73 69 |once but the si| 00001d30 7a 65 20 0d 6f 66 20 20 74 68 65 20 20 54 46 53 |ze .of the TFS| 00001d40 20 20 70 72 6f 67 72 61 6d 20 20 6c 69 6d 69 74 | program limit| 00001d50 73 20 74 68 69 73 20 74 6f 20 61 62 6f 75 74 20 |s this to about | 00001d60 31 30 2e 20 54 68 65 20 6d 61 69 6e 20 70 72 6f |10. The main pro| 00001d70 62 6c 65 6d 20 69 73 20 74 68 61 74 20 69 74 20 |blem is that it | 00001d80 69 73 20 0d 6f 6e 6c 79 20 70 6f 73 73 69 62 6c |is .only possibl| 00001d90 65 20 74 6f 20 73 65 61 72 63 68 20 66 6f 72 20 |e to search for | 00001da0 70 61 67 65 73 20 6f 6e 20 6f 6e 65 20 63 68 61 |pages on one cha| 00001db0 6e 6e 65 6c 20 61 74 20 61 20 74 69 6d 65 20 61 |nnel at a time a| 00001dc0 6e 64 20 73 6f 6d 65 20 77 61 79 20 68 61 73 20 |nd some way has | 00001dd0 74 6f 20 0d 62 65 20 66 6f 75 6e 64 20 74 6f 20 |to .be found to | 00001de0 64 65 61 6c 20 77 69 74 68 20 74 68 69 73 2e 20 |deal with this. | 00001df0 0d 20 0d 54 68 65 20 20 61 70 70 72 6f 61 63 68 |. .The approach| 00001e00 20 61 64 6f 70 74 65 64 20 69 73 20 74 6f 20 70 | adopted is to p| 00001e10 6c 61 63 65 20 61 20 70 61 67 65 20 72 65 71 75 |lace a page requ| 00001e20 65 73 74 20 69 6e 74 6f 20 6f 6e 65 20 6f 66 20 |est into one of | 00001e30 34 20 71 75 65 75 65 73 2c 20 6f 6e 65 20 66 6f |4 queues, one fo| 00001e40 72 20 0d 65 61 63 68 20 63 68 61 6e 6e 65 6c 2e |r .each channel.| 00001e50 20 49 66 20 74 68 65 20 6e 75 6d 62 65 72 20 6f | If the number o| 00001e60 66 20 70 61 67 65 73 20 69 6e 20 61 20 71 75 65 |f pages in a que| 00001e70 75 65 20 65 78 63 65 65 64 73 20 74 68 65 20 6d |ue exceeds the m| 00001e80 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 20 20 6f |aximum number o| 00001e90 66 20 0d 70 61 67 65 73 20 20 66 6f 72 20 20 77 |f .pages for w| 00001ea0 68 69 63 68 20 20 74 68 65 20 20 41 54 46 53 20 |hich the ATFS | 00001eb0 72 6f 6d 20 68 61 73 20 73 70 61 63 65 20 74 68 |rom has space th| 00001ec0 65 6e 20 61 20 27 43 68 61 6e 6e 65 6c 20 62 75 |en a 'Channel bu| 00001ed0 73 79 27 20 65 72 72 6f 72 20 77 69 6c 6c 20 62 |sy' error will b| 00001ee0 65 20 0d 72 65 74 75 72 6e 65 64 2e 20 54 68 69 |e .returned. Thi| 00001ef0 73 20 6d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 |s maximum number| 00001f00 20 6f 66 20 70 61 67 65 73 20 69 73 20 74 68 65 | of pages is the| 00001f10 20 6e 75 6d 62 65 72 20 72 65 74 75 72 6e 65 64 | number returned| 00001f20 20 62 79 20 74 68 65 20 6d 61 78 20 75 73 65 72 | by the max user| 00001f30 73 20 0d 70 65 72 20 20 63 68 61 6e 6e 65 6c 20 |s .per channel | 00001f40 63 61 6c 6c 2e 20 41 20 72 65 63 6f 72 64 20 69 |call. A record i| 00001f50 73 20 6b 65 70 74 20 6f 66 20 74 68 65 20 74 6f |s kept of the to| 00001f60 74 61 6c 20 6e 75 6d 62 65 72 20 6f 66 20 70 61 |tal number of pa| 00001f70 67 65 73 20 72 65 71 75 65 73 74 65 64 20 61 6e |ges requested an| 00001f80 64 20 0d 74 68 69 73 20 69 73 20 74 68 65 20 71 |d .this is the q| 00001f90 75 65 75 65 20 70 6f 73 69 74 69 6f 6e 20 72 65 |ueue position re| 00001fa0 74 75 72 6e 65 64 20 74 6f 20 74 68 65 20 43 4c |turned to the CL| 00001fb0 49 45 4e 54 20 69 65 20 74 68 69 73 20 69 73 20 |IENT ie this is | 00001fc0 74 68 65 20 6f 76 65 72 61 6c 6c 20 71 75 65 75 |the overall queu| 00001fd0 65 20 0d 70 6f 73 69 74 69 6f 6e 20 61 6e 64 20 |e .position and | 00001fe0 6e 6f 74 20 74 68 65 20 70 6f 73 69 74 69 6f 6e |not the position| 00001ff0 20 69 6e 20 74 68 65 20 71 75 65 75 65 20 66 6f | in the queue fo| 00002000 72 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 63 |r a particular c| 00002010 68 61 6e 6e 65 6c 2e 20 0d 57 68 65 6e 65 76 65 |hannel. .Wheneve| 00002020 72 20 61 20 70 61 67 65 20 72 65 71 75 65 73 74 |r a page request| 00002030 20 69 73 20 72 65 63 65 69 76 65 64 20 74 68 65 | is received the| 00002040 20 77 68 6f 6c 65 20 71 75 65 75 65 20 69 73 20 | whole queue is | 00002050 63 68 65 63 6b 65 64 20 74 6f 20 73 65 65 20 69 |checked to see i| 00002060 66 20 20 74 68 61 74 20 0d 43 4c 49 45 4e 54 20 |f that .CLIENT | 00002070 20 28 69 64 65 6e 74 69 66 69 65 64 20 20 62 79 | (identified by| 00002080 20 20 74 68 65 20 20 73 74 61 74 69 6f 6e 20 6e | the station n| 00002090 75 6d 62 65 72 29 20 68 61 73 20 61 6e 79 20 6f |umber) has any o| 000020a0 74 68 65 72 20 70 61 67 65 20 72 65 71 75 65 73 |ther page reques| 000020b0 74 65 64 2e 20 49 66 20 0d 74 68 69 73 20 69 73 |ted. If .this is| 000020c0 20 74 68 65 20 63 61 73 65 20 74 68 65 6e 20 74 | the case then t| 000020d0 68 61 74 20 70 61 67 65 20 69 73 20 64 72 6f 70 |hat page is drop| 000020e0 70 65 64 20 66 72 6f 6d 20 74 68 65 20 20 71 75 |ped from the qu| 000020f0 65 75 65 2e 20 20 54 68 75 73 20 20 69 74 20 20 |eue. Thus it | 00002100 69 73 20 20 6e 6f 74 20 0d 70 6f 73 73 69 62 6c |is not .possibl| 00002110 65 20 20 66 6f 72 20 20 61 20 20 43 4c 49 45 4e |e for a CLIEN| 00002120 54 20 20 74 6f 20 72 65 71 75 65 73 74 20 6d 6f |T to request mo| 00002130 72 65 20 74 68 61 6e 20 6f 6e 65 20 70 61 67 65 |re than one page| 00002140 20 61 74 20 6f 6e 63 65 2e 20 41 20 63 61 6e 63 | at once. A canc| 00002150 65 6c 20 70 61 67 65 20 0d 72 65 71 75 65 73 74 |el page .request| 00002160 20 6f 72 20 61 20 6c 6f 67 6f 66 66 20 77 69 6c | or a logoff wil| 00002170 6c 20 72 65 73 75 6c 74 20 69 6e 20 61 6c 6c 20 |l result in all | 00002180 70 61 67 65 20 72 65 71 75 65 73 74 73 20 20 66 |page requests f| 00002190 6f 72 20 20 74 68 61 74 20 20 43 4c 49 45 4e 54 |or that CLIENT| 000021a0 20 20 62 65 69 6e 67 20 0d 64 72 6f 70 70 65 64 | being .dropped| 000021b0 20 66 72 6f 6d 20 74 68 65 20 71 75 65 75 65 2e | from the queue.| 000021c0 20 0d 20 0d 54 68 65 20 20 77 61 79 20 20 74 68 | . .The way th| 000021d0 65 20 20 41 54 46 53 20 20 72 6f 6d 20 20 77 6f |e ATFS rom wo| 000021e0 72 6b 73 20 6d 65 61 6e 73 20 74 68 61 74 20 69 |rks means that i| 000021f0 66 20 79 6f 75 20 61 72 65 20 33 72 64 20 69 6e |f you are 3rd in| 00002200 20 74 68 65 20 71 75 65 75 65 20 79 6f 75 20 6d | the queue you m| 00002210 61 79 20 0d 73 74 69 6c 6c 20 72 65 63 65 69 76 |ay .still receiv| 00002220 65 20 79 6f 75 72 20 70 61 67 65 20 62 65 66 6f |e your page befo| 00002230 72 65 20 74 68 65 20 43 4c 49 45 4e 54 20 77 68 |re the CLIENT wh| 00002240 6f 20 69 73 20 20 69 6e 20 20 31 73 74 20 20 70 |o is in 1st p| 00002250 6f 73 69 74 69 6f 6e 2e 20 20 54 68 69 73 20 20 |osition. This | 00002260 69 73 20 0d 70 72 6f 62 61 62 6c 79 20 62 65 73 |is .probably bes| 00002270 74 20 69 6c 6c 75 73 74 72 61 74 65 64 20 62 79 |t illustrated by| 00002280 20 65 78 61 6d 70 6c 65 2e 20 0d 20 0d 53 75 70 | example. . .Sup| 00002290 70 6f 73 65 20 74 68 65 20 66 6f 6c 6c 6f 77 69 |pose the followi| 000022a0 6e 67 20 72 65 71 75 65 73 74 73 20 61 72 65 20 |ng requests are | 000022b0 69 73 73 75 65 64 20 3a 20 0d 20 0d 53 74 61 74 |issued : . .Stat| 000022c0 69 6f 6e 20 31 32 20 70 61 67 65 20 31 37 30 20 |ion 12 page 170 | 000022d0 6f 6e 20 63 68 61 6e 6e 65 6c 20 31 20 0d 53 74 |on channel 1 .St| 000022e0 61 74 69 6f 6e 20 31 34 20 70 61 67 65 20 34 30 |ation 14 page 40| 000022f0 30 20 6f 6e 20 63 68 61 6e 6e 65 6c 20 34 20 0d |0 on channel 4 .| 00002300 53 74 61 74 69 6f 6e 20 31 37 20 70 61 67 65 20 |Station 17 page | 00002310 31 32 33 20 6f 6e 20 63 68 61 6e 6e 65 6c 20 31 |123 on channel 1| 00002320 20 0d 20 0d 54 68 65 20 20 54 46 53 20 70 72 6f | . .The TFS pro| 00002330 67 72 61 6d 20 77 69 6c 6c 20 73 65 6c 65 63 74 |gram will select| 00002340 20 63 68 61 6e 6e 65 6c 20 31 20 61 73 20 74 68 | channel 1 as th| 00002350 69 73 20 69 73 20 74 68 65 20 68 69 67 68 65 73 |is is the highes| 00002360 74 20 70 72 69 6f 72 69 74 79 20 69 74 65 6d 20 |t priority item | 00002370 69 6e 20 0d 74 68 65 20 71 75 65 75 65 2e 20 57 |in .the queue. W| 00002380 68 65 6e 20 73 74 61 74 69 6f 6e 20 31 34 27 73 |hen station 14's| 00002390 20 72 65 71 75 65 73 74 20 61 72 72 69 76 65 73 | request arrives| 000023a0 20 69 74 20 77 69 6c 6c 20 62 65 20 73 74 6f 72 | it will be stor| 000023b0 65 64 20 20 69 6e 20 20 74 68 65 20 20 71 75 65 |ed in the que| 000023c0 75 65 20 0d 66 6f 72 20 20 63 68 61 6e 6e 65 6c |ue .for channel| 000023d0 20 34 2e 20 48 6f 77 65 76 65 72 20 77 68 65 6e | 4. However when| 000023e0 20 73 74 61 74 69 6f 6e 20 31 37 27 73 20 72 65 | station 17's re| 000023f0 71 75 65 73 74 20 61 72 72 69 76 65 73 20 6e 6f |quest arrives no| 00002400 74 20 6f 6e 6c 79 20 69 73 20 69 74 20 61 64 64 |t only is it add| 00002410 65 64 20 0d 74 6f 20 74 68 65 20 71 75 65 75 65 |ed .to the queue| 00002420 20 66 6f 72 20 63 68 61 6e 6e 65 6c 20 31 20 62 | for channel 1 b| 00002430 75 74 20 61 20 72 65 63 6f 72 64 20 69 73 20 73 |ut a record is s| 00002440 65 74 20 75 70 20 74 6f 20 72 65 63 65 69 76 65 |et up to receive| 00002450 20 74 68 65 20 70 61 67 65 20 69 66 20 69 74 20 | the page if it | 00002460 69 73 20 0d 74 72 61 6e 73 6d 69 74 74 65 64 2e |is .transmitted.| 00002470 20 53 75 70 70 6f 73 65 20 61 6c 6c 20 74 68 65 | Suppose all the| 00002480 73 65 20 74 68 72 65 65 20 72 65 71 75 65 73 74 |se three request| 00002490 73 20 61 72 72 69 76 65 20 61 6c 6d 6f 73 74 20 |s arrive almost | 000024a0 73 69 6d 75 6c 74 61 6e 65 6f 75 73 6c 79 20 61 |simultaneously a| 000024b0 6e 64 20 0d 61 74 20 74 68 65 20 6d 6f 6d 65 6e |nd .at the momen| 000024c0 74 20 74 68 65 20 54 46 53 20 70 72 6f 67 72 61 |t the TFS progra| 000024d0 6d 20 73 65 6c 65 63 74 73 20 63 68 61 6e 6e 65 |m selects channe| 000024e0 6c 20 31 20 74 68 65 20 70 61 67 65 20 62 65 69 |l 1 the page bei| 000024f0 6e 67 20 74 72 61 6e 73 6d 69 74 74 65 64 20 20 |ng transmitted | 00002500 69 73 20 0d 70 61 67 65 20 20 31 31 32 2e 20 20 |is .page 112. | 00002510 54 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 20 |This means that | 00002520 73 74 61 74 69 6f 6e 20 31 37 27 73 20 70 61 67 |station 17's pag| 00002530 65 20 28 31 32 33 29 20 77 69 6c 6c 20 61 72 72 |e (123) will arr| 00002540 69 76 65 20 62 65 66 6f 72 65 20 73 74 61 74 69 |ive before stati| 00002550 6f 6e 20 0d 31 32 27 73 20 70 61 67 65 28 31 37 |on .12's page(17| 00002560 30 29 2e 20 54 68 75 73 20 73 74 61 74 69 6f 6e |0). Thus station| 00002570 20 31 37 20 77 69 6c 6c 20 72 65 63 65 69 76 65 | 17 will receive| 00002580 20 69 74 27 73 20 70 61 67 65 20 66 69 72 73 74 | it's page first| 00002590 20 20 65 76 65 6e 20 20 74 68 6f 75 67 68 20 20 | even though | 000025a0 69 74 20 0d 77 61 73 20 20 33 72 64 20 20 69 6e |it .was 3rd in| 000025b0 20 74 68 65 20 71 75 65 75 65 2e 20 54 68 65 20 | the queue. The | 000025c0 6e 65 78 74 20 70 61 67 65 20 74 6f 20 62 65 20 |next page to be | 000025d0 73 65 6e 74 20 77 69 6c 6c 20 62 65 20 31 37 30 |sent will be 170| 000025e0 20 74 6f 20 73 74 61 74 69 6f 6e 20 31 32 20 61 | to station 12 a| 000025f0 6e 64 20 0d 73 74 61 74 69 6f 6e 20 31 34 20 77 |nd .station 14 w| 00002600 69 6c 6c 20 72 65 63 65 69 76 65 20 69 74 73 20 |ill receive its | 00002610 70 61 67 65 20 6c 61 73 74 20 65 76 65 6e 20 74 |page last even t| 00002620 68 6f 75 67 68 20 69 74 20 77 61 73 20 20 32 6e |hough it was 2n| 00002630 64 20 20 69 6e 20 20 74 68 65 20 20 71 75 65 75 |d in the queu| 00002640 65 2e 20 0d 54 68 69 73 20 20 69 73 20 20 6e 6f |e. .This is no| 00002650 74 20 64 69 73 61 73 74 65 72 20 61 73 20 69 6e |t disaster as in| 00002660 20 66 61 63 74 20 73 74 61 74 69 6f 6e 20 31 32 | fact station 12| 00002670 20 68 61 73 20 68 61 64 20 6e 6f 20 6c 6f 6e 67 | has had no long| 00002680 65 72 20 74 6f 20 77 61 69 74 20 74 68 61 6e 20 |er to wait than | 00002690 69 74 20 0d 77 6f 75 6c 64 20 68 61 76 65 20 68 |it .would have h| 000026a0 61 64 20 61 6e 79 77 61 79 2e 20 57 68 61 74 20 |ad anyway. What | 000026b0 77 65 20 68 61 76 65 20 6d 61 6e 61 67 65 64 20 |we have managed | 000026c0 74 6f 20 64 6f 20 69 73 20 61 6c 73 6f 20 64 65 |to do is also de| 000026d0 61 6c 20 77 69 74 68 20 73 74 61 74 69 6f 6e 20 |al with station | 000026e0 31 37 20 0d 61 73 20 61 20 73 70 69 6e 2d 6f 66 |17 .as a spin-of| 000026f0 66 20 66 72 6f 6d 20 73 74 61 74 69 6f 6e 20 31 |f from station 1| 00002700 27 73 20 72 65 71 75 65 73 74 2e 20 0d 20 0d 49 |'s request. . .I| 00002710 66 20 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 65 |f more than one| 00002720 20 73 74 61 74 69 6f 6e 20 72 65 71 75 65 73 74 | station request| 00002730 73 20 74 68 65 20 73 61 6d 65 20 70 61 67 65 20 |s the same page | 00002740 74 68 65 6e 20 74 68 69 73 20 69 73 20 73 70 6f |then this is spo| 00002750 74 74 65 64 20 61 6e 64 20 6f 6e 6c 79 20 0d 6f |tted and only .o| 00002760 6e 65 20 6f 66 20 74 68 65 20 41 54 46 53 20 72 |ne of the ATFS r| 00002770 65 63 6f 72 64 73 20 69 73 20 75 73 65 64 2e 20 |ecords is used. | 00002780 54 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 20 |This means that | 00002790 69 74 20 69 73 20 70 6f 73 73 69 62 6c 65 20 74 |it is possible t| 000027a0 6f 20 20 68 61 76 65 20 20 6d 6f 72 65 20 0d 74 |o have more .t| 000027b0 68 61 6e 20 20 74 68 65 20 20 6d 61 78 69 6d 75 |han the maximu| 000027c0 6d 20 20 6e 75 6d 62 65 72 20 20 6f 66 20 75 73 |m number of us| 000027d0 65 72 73 20 70 65 72 20 63 68 61 6e 6e 65 6c 20 |ers per channel | 000027e0 71 75 65 75 65 64 20 69 66 20 74 68 61 74 20 63 |queued if that c| 000027f0 68 61 6e 6e 65 6c 20 69 73 20 74 68 65 20 0d 63 |hannel is the .c| 00002800 75 72 72 65 6e 74 6c 79 20 73 65 6c 65 63 74 65 |urrently selecte| 00002810 64 20 6f 6e 65 2e 20 0d 20 0d 57 68 65 6e 20 61 |d one. . .When a| 00002820 6e 20 41 54 46 53 20 72 65 63 6f 72 64 20 68 61 |n ATFS record ha| 00002830 73 20 62 65 65 6e 20 75 73 65 64 20 74 68 65 20 |s been used the | 00002840 70 61 67 65 20 69 74 20 77 61 73 20 6c 6f 6f 6b |page it was look| 00002850 69 6e 67 20 20 66 6f 72 20 20 69 73 20 20 72 65 |ing for is re| 00002860 6d 65 6d 62 65 72 65 64 20 0d 61 6e 64 20 20 6f |membered .and o| 00002870 6e 63 65 20 20 74 68 61 74 20 70 61 67 65 20 68 |nce that page h| 00002880 61 73 20 62 65 65 6e 20 66 6f 75 6e 64 20 74 68 |as been found th| 00002890 65 20 72 65 63 6f 72 64 20 69 73 20 6e 6f 74 20 |e record is not | 000028a0 63 6c 65 61 72 65 64 2e 20 54 68 69 73 20 6d 65 |cleared. This me| 000028b0 61 6e 73 20 74 68 61 74 20 0d 70 72 6f 76 69 64 |ans that .provid| 000028c0 65 64 20 74 68 65 20 63 68 61 6e 6e 65 6c 20 69 |ed the channel i| 000028d0 73 20 6e 6f 74 20 63 68 61 6e 67 65 64 20 74 68 |s not changed th| 000028e0 69 73 20 70 61 67 65 20 77 69 6c 6c 20 63 6f 6e |is page will con| 000028f0 74 69 6e 75 65 20 74 6f 20 62 65 20 75 70 64 61 |tinue to be upda| 00002900 74 65 64 20 20 61 6e 64 20 0d 77 69 6c 6c 20 62 |ted and .will b| 00002910 65 20 70 65 72 6d 61 6e 65 6e 74 6c 79 20 61 76 |e permanently av| 00002920 61 69 6c 61 62 6c 65 2e 20 53 75 70 70 6f 73 65 |ailable. Suppose| 00002930 20 61 20 43 4c 49 45 4e 54 20 72 65 71 75 65 73 | a CLIENT reques| 00002940 74 73 20 70 61 67 65 20 31 37 31 3b 20 74 68 65 |ts page 171; the| 00002950 20 70 61 67 65 20 69 73 20 0d 72 65 63 65 69 76 | page is .receiv| 00002960 65 64 20 61 6e 64 20 74 68 65 6e 20 74 72 61 6e |ed and then tran| 00002970 73 6d 69 74 74 65 64 2e 20 49 66 20 61 6e 6f 74 |smitted. If anot| 00002980 68 65 72 20 43 4c 49 45 4e 54 20 20 28 6f 72 20 |her CLIENT (or | 00002990 20 69 6e 64 65 65 64 20 20 74 68 65 20 20 73 61 | indeed the sa| 000029a0 6d 65 20 20 6f 6e 65 29 20 0d 72 65 71 75 65 73 |me one) .reques| 000029b0 74 73 20 20 74 68 65 20 20 73 61 6d 65 20 20 70 |ts the same p| 000029c0 61 67 65 20 74 68 65 6e 20 69 74 20 69 73 20 69 |age then it is i| 000029d0 6e 73 74 61 6e 74 6c 79 20 61 76 61 69 6c 61 62 |nstantly availab| 000029e0 6c 65 2e 20 54 68 69 73 20 69 73 20 70 61 72 74 |le. This is part| 000029f0 69 63 75 6c 61 72 6c 79 20 0d 75 73 65 66 75 6c |icularly .useful| 00002a00 20 69 66 20 79 6f 75 20 68 61 70 70 65 6e 20 74 | if you happen t| 00002a10 6f 20 62 65 20 74 68 65 20 6f 6e 6c 79 20 43 4c |o be the only CL| 00002a20 49 45 4e 54 20 75 73 69 6e 67 20 74 68 65 20 73 |IENT using the s| 00002a30 79 73 74 65 6d 20 61 73 20 69 74 20 20 6d 65 61 |ystem as it mea| 00002a40 6e 73 20 20 74 68 61 74 20 0d 74 68 65 20 20 6c |ns that .the l| 00002a50 61 73 74 20 20 31 30 20 20 6f 72 20 20 73 6f 20 |ast 10 or so | 00002a60 70 61 67 65 73 20 79 6f 75 20 68 61 76 65 20 72 |pages you have r| 00002a70 65 71 75 65 73 74 65 64 20 6f 6e 20 61 20 67 69 |equested on a gi| 00002a80 76 65 6e 20 63 68 61 6e 6e 65 6c 20 61 72 65 20 |ven channel are | 00002a90 6e 6f 74 20 6f 6e 6c 79 20 0d 62 75 66 66 65 72 |not only .buffer| 00002aa0 65 64 20 62 79 20 74 68 65 20 54 46 53 20 70 72 |ed by the TFS pr| 00002ab0 6f 67 72 61 6d 2c 20 62 75 74 20 61 6c 73 6f 20 |ogram, but also | 00002ac0 75 70 64 61 74 65 64 20 61 6e 64 20 69 6e 73 74 |updated and inst| 00002ad0 61 6e 74 6c 79 20 61 76 61 69 6c 61 62 6c 65 2e |antly available.| 00002ae0 20 0d 20 0d 54 68 65 20 54 46 53 20 70 72 6f 67 | . .The TFS prog| 00002af0 72 61 6d 20 62 72 6f 61 64 63 61 73 74 73 20 77 |ram broadcasts w| 00002b00 68 61 74 65 76 65 72 20 70 61 67 65 20 6e 75 6d |hatever page num| 00002b10 62 65 72 20 69 73 20 63 75 72 72 65 6e 74 6c 79 |ber is currently| 00002b20 20 61 74 20 74 68 65 20 74 6f 70 20 6f 66 20 74 | at the top of t| 00002b30 68 65 20 0d 73 63 72 65 65 6e 20 62 79 20 75 73 |he .screen by us| 00002b40 69 6e 67 20 74 68 65 20 74 69 6d 65 72 20 63 72 |ing the timer cr| 00002b50 6f 73 73 69 6e 67 20 7a 65 72 6f 20 65 76 65 6e |ossing zero even| 00002b60 74 2e 20 54 68 69 73 20 6f 63 63 75 72 73 20 65 |t. This occurs e| 00002b70 76 65 72 79 20 68 61 6c 66 20 73 65 63 6f 6e 64 |very half second| 00002b80 2e 20 0d 20 0d 4f 76 65 72 61 6c 6c 20 20 74 68 |. . .Overall th| 00002b90 65 20 20 72 65 73 70 6f 6e 73 65 20 20 74 69 6d |e response tim| 00002ba0 65 20 20 6f 66 20 20 74 68 65 20 20 73 79 73 74 |e of the syst| 00002bb0 65 6d 20 20 69 73 20 20 76 65 72 79 20 20 66 61 |em is very fa| 00002bc0 73 74 20 61 6c 74 68 6f 75 67 68 20 69 74 20 77 |st although it w| 00002bd0 69 6c 6c 20 0d 6f 62 76 69 6f 75 73 6c 79 20 62 |ill .obviously b| 00002be0 65 20 73 6c 6f 77 65 64 20 64 6f 77 6e 20 69 66 |e slowed down if| 00002bf0 20 43 4c 49 45 4e 54 73 20 20 72 65 71 75 65 73 | CLIENTs reques| 00002c00 74 20 20 6e 6f 6e 2d 65 78 69 73 74 65 6e 74 20 |t non-existent | 00002c10 20 70 61 67 65 73 2e 20 20 54 68 65 20 20 63 79 | pages. The cy| 00002c20 63 6c 65 20 0d 74 69 6d 65 73 20 20 66 6f 72 20 |cle .times for | 00002c30 20 74 68 65 20 20 64 69 66 66 65 72 65 6e 74 20 | the different | 00002c40 63 68 61 6e 6e 65 6c 73 20 61 72 65 20 69 6d 70 |channels are imp| 00002c50 6f 72 74 61 6e 74 20 74 6f 20 74 68 65 20 65 66 |ortant to the ef| 00002c60 66 69 63 69 65 6e 63 79 20 6f 66 20 74 68 65 20 |ficiency of the | 00002c70 54 46 53 20 0d 70 72 6f 67 72 61 6d 20 61 6e 64 |TFS .program and| 00002c80 20 61 73 20 74 68 65 73 65 20 74 69 6d 65 73 20 | as these times | 00002c90 6d 61 79 20 62 65 20 73 75 62 6a 65 63 74 20 74 |may be subject t| 00002ca0 6f 20 63 68 61 6e 67 65 20 74 68 65 79 20 68 61 |o change they ha| 00002cb0 76 65 20 62 65 65 6e 20 69 6e 63 6c 75 64 65 64 |ve been included| 00002cc0 20 69 6e 20 0d 61 20 20 44 41 54 41 20 20 73 74 | in .a DATA st| 00002cd0 61 74 65 6d 65 6e 74 20 61 74 20 74 68 65 20 76 |atement at the v| 00002ce0 65 72 79 20 65 6e 64 20 6f 66 20 74 68 65 20 70 |ery end of the p| 00002cf0 72 6f 67 72 61 6d 2e 20 54 68 65 20 66 69 72 73 |rogram. The firs| 00002d00 74 20 44 41 54 41 20 73 74 61 74 65 6d 65 6e 74 |t DATA statement| 00002d10 20 69 73 20 0d 74 68 65 20 66 72 61 63 74 69 6f | is .the fractio| 00002d20 6e 20 6f 66 20 74 68 65 20 63 79 63 6c 65 20 74 |n of the cycle t| 00002d30 69 6d 65 20 66 6f 72 20 77 68 69 63 68 20 74 68 |ime for which th| 00002d40 65 20 20 54 46 53 20 20 70 72 6f 67 72 61 6d 20 |e TFS program | 00002d50 20 77 69 6c 6c 20 20 77 61 69 74 20 20 62 65 66 | will wait bef| 00002d60 6f 72 65 20 0d 73 65 6e 64 69 6e 67 20 20 61 20 |ore .sending a | 00002d70 73 75 62 2d 70 61 67 65 2e 20 54 68 69 73 20 69 |sub-page. This i| 00002d80 73 20 63 75 72 72 65 6e 74 6c 79 20 30 2e 35 2e |s currently 0.5.| 00002d90 20 54 68 65 20 73 65 63 6f 6e 64 20 44 41 54 41 | The second DATA| 00002da0 20 73 74 61 74 65 6d 65 6e 74 20 63 6f 6e 73 69 | statement consi| 00002db0 73 74 73 20 0d 6f 66 20 74 68 65 20 63 79 63 6c |sts .of the cycl| 00002dc0 65 20 74 69 6d 65 73 20 66 6f 72 20 74 68 65 20 |e times for the | 00002dd0 66 6f 75 72 20 63 68 61 6e 6e 65 6c 73 20 69 6e |four channels in| 00002de0 20 68 75 6e 64 72 65 64 74 68 73 20 6f 66 20 61 | hundredths of a| 00002df0 20 73 65 63 6f 6e 64 2e 20 20 54 68 65 79 20 20 | second. They | 00002e00 61 72 65 20 0d 63 75 72 72 65 6e 74 6c 79 20 73 |are .currently s| 00002e10 65 74 20 74 6f 20 34 30 20 73 65 63 6f 6e 64 73 |et to 40 seconds| 00002e20 20 65 61 63 68 2e 20 0d 20 0d 20 0d 20 20 20 20 | each. . . . | 00002e30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00002e40 20 20 20 20 20 20 20 49 6e 73 74 61 6c 6c 69 6e | Installin| 00002e50 67 20 74 68 65 20 70 72 6f 67 72 61 6d 73 20 0d |g the programs .| 00002e60 20 0d 20 0d 31 2e 20 20 50 6c 61 63 65 20 27 54 | . .1. Place 'T| 00002e70 45 4c 45 54 45 58 54 27 20 70 72 6f 67 72 61 6d |ELETEXT' program| 00002e80 20 69 6e 20 24 2e 4c 49 42 52 41 52 59 20 0d 20 | in $.LIBRARY . | 00002e90 0d 32 2e 20 20 50 75 74 20 20 27 54 46 53 27 20 |.2. Put 'TFS' | 00002ea0 20 61 6e 64 20 27 63 6f 64 65 27 20 69 6e 20 61 | and 'code' in a| 00002eb0 20 64 69 72 65 63 74 6f 72 79 20 6f 66 20 74 68 | directory of th| 00002ec0 65 69 72 20 6f 77 6e 2e 20 54 68 69 73 20 6d 69 |eir own. This mi| 00002ed0 67 68 74 20 62 65 20 74 68 65 20 72 6f 6f 74 20 |ght be the root | 00002ee0 0d 20 20 20 20 64 69 72 65 63 74 6f 72 79 20 6f |. directory o| 00002ef0 66 20 61 20 75 73 65 72 20 54 46 53 2e 20 49 66 |f a user TFS. If| 00002f00 20 74 68 69 73 20 75 73 65 72 20 68 61 73 20 61 | this user has a| 00002f10 20 21 42 4f 4f 54 20 66 69 6c 65 20 20 77 68 69 | !BOOT file whi| 00002f20 63 68 20 20 43 48 41 49 4e 73 20 20 74 68 65 20 |ch CHAINs the | 00002f30 0d 20 20 20 20 27 54 46 53 27 20 20 70 72 6f 67 |. 'TFS' prog| 00002f40 72 61 6d 20 20 74 68 65 6e 20 20 74 68 65 20 77 |ram then the w| 00002f50 68 6f 6c 65 20 73 79 73 74 65 6d 20 63 61 6e 20 |hole system can | 00002f60 62 65 20 69 6e 69 74 69 61 6c 69 73 65 64 20 62 |be initialised b| 00002f70 79 20 73 69 6d 70 6c 79 20 74 79 70 69 6e 67 20 |y simply typing | 00002f80 0d 20 20 20 20 2a 49 20 41 4d 20 54 46 53 2e 20 |. *I AM TFS. | 00002f90 54 68 65 20 6d 61 63 68 69 6e 65 20 72 75 6e 6e |The machine runn| 00002fa0 69 6e 67 20 74 68 65 20 54 46 53 20 70 72 6f 67 |ing the TFS prog| 00002fb0 72 61 6d 20 6d 75 73 74 20 6e 6f 74 20 75 73 65 |ram must not use| 00002fc0 20 73 68 61 64 6f 77 20 73 63 72 65 65 6e 73 20 | shadow screens | 00002fd0 0d 20 20 20 20 61 73 20 20 74 68 65 20 68 65 61 |. as the hea| 00002fe0 64 65 72 20 69 73 20 50 4f 4b 45 44 20 69 6e 20 |der is POKED in | 00002ff0 74 6f 20 6d 65 6d 6f 72 79 20 61 74 20 26 37 43 |to memory at &7C| 00003000 30 30 20 62 79 20 74 68 65 20 41 54 46 53 20 52 |00 by the ATFS R| 00003010 6f 6d 2e 20 54 68 65 20 70 72 6f 67 72 61 6d 20 |om. The program | 00003020 0d 20 20 20 20 6d 61 79 20 72 75 6e 20 69 6e 20 |. may run in | 00003030 61 20 73 65 63 6f 6e 64 20 20 70 72 6f 63 65 73 |a second proces| 00003040 73 6f 72 2c 20 20 69 6e 20 20 77 68 69 63 68 20 |sor, in which | 00003050 20 63 61 73 65 20 20 74 68 65 20 20 77 68 6f 6c | case the whol| 00003060 65 20 20 6f 66 20 20 74 68 65 20 20 49 2f 4f 20 |e of the I/O | 00003070 0d 20 20 20 20 70 72 6f 63 65 73 73 6f 72 20 20 |. processor | 00003080 6d 65 6d 6f 72 79 20 20 62 65 63 6f 6d 65 73 20 |memory becomes | 00003090 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 62 75 |available for bu| 000030a0 66 66 65 72 69 6e 67 20 70 61 67 65 73 20 61 6e |ffering pages an| 000030b0 64 20 74 68 65 72 65 20 77 69 6c 6c 20 62 65 20 |d there will be | 000030c0 0d 20 20 20 20 61 6e 20 61 73 73 6f 63 69 61 74 |. an associat| 000030d0 65 64 20 69 6e 63 72 65 61 73 65 20 69 6e 20 70 |ed increase in p| 000030e0 65 72 66 6f 72 6d 61 6e 63 65 2e 20 54 68 65 72 |erformance. Ther| 000030f0 65 20 20 69 73 20 20 6e 6f 20 20 61 64 76 61 6e |e is no advan| 00003100 74 61 67 65 20 20 69 6e 20 20 75 73 69 6e 67 20 |tage in using | 00003110 0d 20 20 20 20 48 49 42 41 53 49 43 20 61 73 20 |. HIBASIC as | 00003120 74 68 65 20 70 61 67 65 73 20 61 72 65 20 62 75 |the pages are bu| 00003130 66 66 65 72 65 64 20 69 6e 20 74 68 65 20 49 2f |ffered in the I/| 00003140 4f 20 70 72 6f 63 65 73 73 6f 72 2e 20 0d 20 0d |O processor. . .| 00003150 0d 20 20 20 20 20 20 20 20 20 20 20 20 43 6f 6d |. Com| 00003160 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 |patibility with | 00003170 74 68 65 20 47 49 53 20 61 64 61 70 74 65 72 20 |the GIS adapter | 00003180 75 6e 64 65 72 20 41 54 53 2b 20 56 65 72 73 69 |under ATS+ Versi| 00003190 6f 6e 20 31 2e 30 30 0d 20 0d 54 68 65 20 73 6f |on 1.00. .The so| 000031a0 66 74 77 61 72 65 20 69 73 20 63 6f 6d 70 61 74 |ftware is compat| 000031b0 69 62 6c 65 20 77 69 74 68 20 74 68 65 20 6e 65 |ible with the ne| 000031c0 77 20 47 49 53 20 74 65 6c 65 74 65 78 74 20 61 |w GIS teletext a| 000031d0 64 61 70 74 65 72 20 61 6c 74 68 6f 75 67 68 20 |dapter although | 000031e0 61 73 20 20 74 68 69 73 20 0d 63 6f 6e 6e 65 63 |as this .connec| 000031f0 74 73 20 20 74 6f 20 20 74 68 65 20 20 75 73 65 |ts to the use| 00003200 72 20 70 6f 72 74 20 72 61 74 68 65 72 20 74 68 |r port rather th| 00003210 61 6e 20 74 68 65 20 31 4d 48 7a 20 42 75 73 20 |an the 1MHz Bus | 00003220 74 68 65 20 73 70 65 65 64 20 6f 66 20 72 65 73 |the speed of res| 00003230 70 6f 6e 73 65 20 69 73 20 0d 73 6c 69 67 68 74 |ponse is .slight| 00003240 6c 79 20 73 6c 6f 77 65 72 2e 20 54 68 65 72 65 |ly slower. There| 00003250 20 61 70 70 65 61 72 73 20 74 6f 20 62 65 20 61 | appears to be a| 00003260 20 70 72 6f 62 6c 65 6d 20 77 69 74 68 20 74 68 | problem with th| 00003270 65 20 72 6f 75 74 69 6e 65 20 20 74 6f 20 20 63 |e routine to c| 00003280 61 6c 63 75 6c 61 74 65 20 0d 74 68 65 20 20 63 |alculate .the c| 00003290 68 65 63 6b 73 75 6d 20 6f 66 20 61 20 70 61 67 |hecksum of a pag| 000032a0 65 20 69 6e 20 74 68 61 74 20 74 68 65 20 47 49 |e in that the GI| 000032b0 53 20 52 6f 6d 20 67 65 74 73 20 69 74 20 77 72 |S Rom gets it wr| 000032c0 6f 6e 67 20 69 66 20 61 20 70 61 67 65 20 68 65 |ong if a page he| 000032d0 61 64 65 72 20 77 61 73 20 0d 62 72 6f 61 64 63 |ader was .broadc| 000032e0 61 73 74 20 77 68 69 6c 65 20 70 65 72 66 6f 72 |ast while perfor| 000032f0 6d 69 6e 67 20 74 68 65 20 63 68 65 63 6b 2e 20 |ming the check. | 00003300 54 68 65 72 65 20 64 6f 65 73 20 73 65 65 6d 20 |There does seem | 00003310 74 6f 20 62 65 20 61 20 70 72 6f 62 6c 65 6d 20 |to be a problem | 00003320 77 69 74 68 20 74 68 65 20 0d 4d 41 53 54 45 52 |with the .MASTER| 00003330 20 31 32 38 20 61 6e 64 20 74 68 65 20 54 55 42 | 128 and the TUB| 00003340 45 20 69 6e 20 74 68 61 74 20 74 68 65 20 73 6f |E in that the so| 00003350 66 74 77 61 72 65 20 77 69 6c 6c 20 6e 6f 74 20 |ftware will not | 00003360 77 6f 72 6b 20 77 69 74 68 20 65 69 74 68 65 72 |work with either| 00003370 20 61 64 61 70 74 65 72 20 0d 69 6e 20 74 68 69 | adapter .in thi| 00003380 73 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2e |s configuration.| 00003390 20 54 68 69 73 20 6c 6f 6f 6b 73 20 6c 69 6b 65 | This looks like| 000033a0 20 69 74 20 6d 61 79 20 62 65 20 61 20 70 72 6f | it may be a pro| 000033b0 62 6c 65 6d 20 77 69 74 68 20 74 68 65 20 41 4e |blem with the AN| 000033c0 46 53 2e 20 0d 20 0d 20 20 20 20 20 20 20 20 20 |FS. . . | 000033d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000033e0 20 57 72 69 74 69 6e 67 20 79 6f 75 72 20 6f 77 | Writing your ow| 000033f0 6e 20 73 6f 66 74 77 61 72 65 20 0d 20 0d 42 65 |n software . .Be| 00003400 6c 6f 77 20 69 73 20 61 6e 20 65 78 61 6d 70 6c |low is an exampl| 00003410 65 20 6f 66 20 61 20 42 41 53 49 43 20 70 72 6f |e of a BASIC pro| 00003420 67 72 61 6d 20 77 68 69 63 68 20 69 6c 6c 75 73 |gram which illus| 00003430 74 72 61 74 65 73 20 68 6f 77 20 74 6f 20 77 72 |trates how to wr| 00003440 69 74 65 20 79 6f 75 72 20 6f 77 6e 20 0d 73 6f |ite your own .so| 00003450 66 74 77 61 72 65 20 20 75 73 69 6e 67 20 20 74 |ftware using t| 00003460 68 65 20 20 53 45 52 56 45 52 20 70 72 6f 74 6f |he SERVER proto| 00003470 63 6f 6c 73 2e 20 55 73 69 6e 67 20 74 68 69 73 |cols. Using this| 00003480 20 70 72 69 6e 63 69 70 6c 65 20 69 74 20 69 73 | principle it is| 00003490 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 0d 77 72 | possible to .wr| 000034a0 69 74 65 20 70 72 6f 67 72 61 6d 73 20 66 6f 72 |ite programs for| 000034b0 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 72 | automatically r| 000034c0 65 63 65 69 76 69 6e 67 20 61 6e 64 20 73 61 76 |eceiving and sav| 000034d0 69 6e 67 20 70 61 67 65 73 2e 20 0d 20 0d 52 65 |ing pages. . .Re| 000034e0 61 64 20 74 68 65 20 74 69 6d 65 20 66 72 6f 6d |ad the time from| 000034f0 20 61 20 54 45 4c 45 54 45 58 54 20 73 65 72 76 | a TELETEXT serv| 00003500 65 72 20 0d 20 0d 20 20 31 30 20 6f 73 77 6f 72 |er . . 10 oswor| 00003510 64 3d 26 46 46 46 31 3a 6f 73 62 79 74 65 3d 26 |d=&FFF1:osbyte=&| 00003520 46 46 46 34 20 0d 20 20 32 30 20 44 49 4d 20 62 |FFF4 . 20 DIM b| 00003530 6c 6b 25 20 26 31 30 30 2c 62 75 66 66 20 26 31 |lk% &100,buff &1| 00003540 30 30 20 0d 20 20 33 30 20 52 45 50 45 41 54 20 |00 . 30 REPEAT | 00003550 0d 20 20 34 30 20 20 20 20 20 20 20 20 20 20 20 |. 40 | 00003560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00003570 20 20 20 20 20 20 20 3a 52 45 4d 20 53 65 74 20 | :REM Set | 00003580 75 70 20 72 65 63 65 69 76 65 20 62 6c 6b 20 66 |up receive blk f| 00003590 6f 72 20 53 45 52 56 45 52 20 72 65 70 6c 79 20 |or SERVER reply | 000035a0 0d 20 20 35 30 20 72 78 5f 6e 6f 3d 46 4e 73 65 |. 50 rx_no=FNse| 000035b0 74 5f 75 70 5f 72 78 28 26 42 31 2c 30 2c 62 75 |t_up_rx(&B1,0,bu| 000035c0 66 66 2c 26 32 30 29 3a 52 45 4d 20 4c 69 73 74 |ff,&20):REM List| 000035d0 65 6e 20 66 6f 72 20 61 6c 6c 20 73 74 61 74 69 |en for all stati| 000035e0 6f 6e 73 20 61 73 20 77 65 20 64 6f 6e 27 74 20 |ons as we don't | 000035f0 0d 20 20 36 30 20 20 20 20 20 20 20 20 20 20 20 |. 60 | 00003600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00003610 20 20 20 20 20 20 20 3a 52 45 4d 20 20 20 6b 6e | :REM kn| 00003620 6f 77 20 74 68 65 20 73 65 72 76 65 72 20 73 74 |ow the server st| 00003630 61 74 69 6f 6e 20 6e 75 6d 62 65 72 20 0d 20 20 |ation number . | 00003640 37 30 20 52 45 50 45 41 54 20 0d 20 20 38 30 20 |70 REPEAT . 80 | 00003650 50 52 4f 43 62 63 61 73 74 28 26 42 30 2c 26 38 |PROCbcast(&B0,&8| 00003660 30 2c 22 54 45 4c 45 54 45 58 54 22 29 20 20 20 |0,"TELETEXT") | 00003670 20 3a 52 45 4d 20 42 72 6f 61 64 63 61 73 74 20 | :REM Broadcast | 00003680 66 6f 72 20 61 20 54 45 4c 45 54 45 58 54 20 73 |for a TELETEXT s| 00003690 65 72 76 65 72 20 0d 20 20 39 30 20 54 49 4d 45 |erver . 90 TIME| 000036a0 3d 30 20 0d 20 31 30 30 20 52 45 50 45 41 54 20 |=0 . 100 REPEAT | 000036b0 55 4e 54 49 4c 20 54 49 4d 45 3e 35 30 20 20 20 |UNTIL TIME>50 | 000036c0 20 20 20 20 20 20 20 20 20 20 3a 52 45 4d 20 57 | :REM W| 000036d0 61 69 74 20 66 6f 72 20 61 20 77 68 69 6c 65 20 |ait for a while | 000036e0 62 65 66 6f 72 65 20 72 65 74 72 79 69 6e 67 20 |before retrying | 000036f0 0d 20 31 31 30 20 55 4e 54 49 4c 20 46 4e 70 6f |. 110 UNTIL FNpo| 00003700 6c 6c 5f 72 78 28 72 78 5f 6e 6f 29 3e 31 32 37 |ll_rx(rx_no)>127| 00003710 20 20 20 20 20 20 20 3a 52 45 4d 20 4b 65 65 70 | :REM Keep| 00003720 20 74 72 79 69 6e 67 20 75 6e 74 69 6c 20 61 20 | trying until a | 00003730 72 65 70 6c 79 20 72 65 63 65 69 76 65 64 20 0d |reply received .| 00003740 20 31 32 30 20 20 0d 20 31 33 30 20 50 52 4f 43 | 120 . 130 PROC| 00003750 72 65 61 64 5f 72 78 28 72 78 5f 6e 6f 29 20 20 |read_rx(rx_no) | 00003760 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 52 45 | :RE| 00003770 4d 20 52 65 61 64 20 74 68 65 20 72 65 63 65 69 |M Read the recei| 00003780 76 65 20 62 6c 6f 63 6b 20 0d 20 31 34 30 20 62 |ve block . 140 b| 00003790 75 66 66 3f 31 31 3d 31 33 20 20 20 20 20 20 20 |uff?11=13 | 000037a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000037b0 3a 52 45 4d 20 43 68 65 63 6b 20 74 68 61 74 20 |:REM Check that | 000037c0 69 74 20 72 65 61 6c 6c 79 20 77 61 73 20 61 20 |it really was a | 000037d0 54 45 4c 45 54 45 58 54 20 0d 20 31 35 30 20 55 |TELETEXT . 150 U| 000037e0 4e 54 49 4c 20 24 28 62 75 66 66 2b 33 29 3d 22 |NTIL $(buff+3)="| 000037f0 54 45 4c 45 54 45 58 54 22 20 20 20 20 20 20 20 |TELETEXT" | 00003800 3a 52 45 4d 20 20 20 73 65 72 76 65 72 20 77 68 |:REM server wh| 00003810 69 63 68 20 72 65 73 70 6f 6e 64 65 64 20 0d 20 |ich responded . | 00003820 31 36 30 20 73 65 72 76 65 72 25 3d 62 6c 6b 25 |160 server%=blk%| 00003830 21 33 20 41 4e 44 20 26 46 46 46 46 20 20 20 20 |!3 AND &FFFF | 00003840 20 20 20 20 20 3a 52 45 4d 20 52 65 61 64 20 74 | :REM Read t| 00003850 68 65 20 73 65 72 76 65 72 27 73 20 6e 75 6d 62 |he server's numb| 00003860 65 72 20 0d 20 31 37 30 20 62 61 73 65 5f 70 6f |er . 170 base_po| 00003870 72 74 3d 62 75 66 66 3f 31 20 20 20 20 20 20 20 |rt=buff?1 | 00003880 20 20 20 20 20 20 20 20 20 20 3a 52 45 4d 20 52 | :REM R| 00003890 65 61 64 20 74 68 65 20 62 61 73 65 20 70 6f 72 |ead the base por| 000038a0 74 20 6e 75 6d 62 65 72 20 0d 20 31 38 30 20 72 |t number . 180 r| 000038b0 78 5f 6e 6f 3d 46 4e 73 65 74 5f 75 70 5f 72 78 |x_no=FNset_up_rx| 000038c0 28 62 61 73 65 5f 70 6f 72 74 2c 73 65 72 76 65 |(base_port,serve| 000038d0 72 25 2c 62 75 66 66 2c 26 32 30 29 20 3a 52 45 |r%,buff,&20) :RE| 000038e0 4d 20 53 65 74 20 75 70 20 61 20 72 65 63 65 69 |M Set up a recei| 000038f0 76 65 20 62 6c 6b 20 0d 20 31 39 30 20 52 45 50 |ve blk . 190 REP| 00003900 45 41 54 20 20 20 20 20 20 20 20 20 20 20 20 20 |EAT | 00003910 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00003920 20 20 20 20 20 20 20 20 20 20 20 3a 52 45 4d 20 | :REM | 00003930 20 20 66 6f 72 20 74 68 65 20 74 69 6d 65 20 0d | for the time .| 00003940 20 32 30 30 20 52 45 50 45 41 54 20 0d 20 32 31 | 200 REPEAT . 21| 00003950 30 20 50 52 4f 43 74 78 28 26 38 34 2c 62 61 73 |0 PROCtx(&84,bas| 00003960 65 5f 70 6f 72 74 2b 31 2c 73 65 72 76 65 72 25 |e_port+1,server%| 00003970 2c 62 75 66 66 2c 31 29 20 3a 52 45 4d 20 54 72 |,buff,1) :REM Tr| 00003980 61 6e 73 6d 69 74 20 72 65 71 75 65 73 74 20 66 |ansmit request f| 00003990 6f 72 20 74 68 65 20 74 69 6d 65 20 0d 20 32 32 |or the time . 22| 000039a0 30 20 54 49 4d 45 3d 30 20 20 20 20 20 20 20 20 |0 TIME=0 | 000039b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000039c0 20 20 20 3a 52 45 4d 20 57 61 69 74 20 66 6f 72 | :REM Wait for| 000039d0 20 61 20 77 68 69 6c 65 20 62 65 66 6f 72 65 20 | a while before | 000039e0 72 65 74 72 79 69 6e 67 20 0d 20 32 33 30 20 52 |retrying . 230 R| 000039f0 45 50 45 41 54 20 55 4e 54 49 4c 20 54 49 4d 45 |EPEAT UNTIL TIME| 00003a00 3e 35 30 20 0d 20 32 34 30 20 72 65 73 75 6c 74 |>50 . 240 result| 00003a10 25 3d 46 4e 70 6f 6c 6c 5f 74 78 20 0d 20 32 35 |%=FNpoll_tx . 25| 00003a20 30 20 55 4e 54 49 4c 20 72 65 73 75 6c 74 25 3d |0 UNTIL result%=| 00003a30 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |0 | 00003a40 20 20 20 3a 52 45 4d 20 4b 65 65 70 20 74 72 79 | :REM Keep try| 00003a50 69 6e 67 20 75 6e 74 69 6c 20 74 72 61 6e 73 6d |ing until transm| 00003a60 69 74 20 73 75 63 63 65 65 64 73 20 0d 20 32 36 |it succeeds . 26| 00003a70 30 20 55 4e 54 49 4c 20 46 4e 70 6f 6c 6c 5f 72 |0 UNTIL FNpoll_r| 00003a80 78 28 72 78 5f 6e 6f 29 3e 31 32 37 20 20 20 20 |x(rx_no)>127 | 00003a90 20 20 20 3a 52 45 4d 20 4b 65 65 70 20 74 72 79 | :REM Keep try| 00003aa0 69 6e 67 20 75 6e 74 69 6c 20 77 65 20 67 65 74 |ing until we get| 00003ab0 20 61 20 72 65 70 6c 79 20 0d 20 32 37 30 20 50 | a reply . 270 P| 00003ac0 52 4f 43 72 65 61 64 5f 72 78 28 72 78 5f 6e 6f |ROCread_rx(rx_no| 00003ad0 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |) | 00003ae0 3a 52 45 4d 20 52 65 61 64 20 74 68 65 20 72 65 |:REM Read the re| 00003af0 63 65 69 76 65 20 62 6c 6f 63 6b 20 0d 20 32 38 |ceive block . 28| 00003b00 30 20 20 0d 20 32 39 30 20 62 75 66 66 3f 31 39 |0 . 290 buff?19| 00003b10 3d 31 33 20 0d 20 33 30 30 20 64 61 74 65 24 3d |=13 . 300 date$=| 00003b20 24 28 62 75 66 66 2b 39 29 20 20 20 20 20 20 20 |$(buff+9) | 00003b30 20 20 20 20 20 20 20 20 20 20 20 3a 52 45 4d 20 | :REM | 00003b40 52 65 61 64 20 74 68 65 20 64 61 74 65 20 0d 20 |Read the date . | 00003b50 33 31 30 20 62 75 66 66 3f 39 3d 31 33 20 0d 20 |310 buff?9=13 . | 00003b60 33 32 30 20 74 69 6d 65 24 3d 24 28 62 75 66 66 |320 time$=$(buff| 00003b70 2b 31 29 20 20 20 20 20 20 20 20 20 20 20 20 20 |+1) | 00003b80 20 20 20 20 20 3a 52 45 4d 20 52 65 61 64 20 74 | :REM Read t| 00003b90 68 65 20 74 69 6d 65 20 0d 20 33 33 30 20 50 52 |he time . 330 PR| 00003ba0 49 4e 54 22 54 68 65 20 74 69 6d 65 20 69 73 20 |INT"The time is | 00003bb0 22 3b 74 69 6d 65 24 3b 22 20 6f 6e 20 22 3b 64 |";time$;" on ";d| 00003bc0 61 74 65 24 20 0d 20 33 34 30 20 45 4e 44 20 0d |ate$ . 340 END .| 00003bd0 20 33 35 30 20 20 0d 20 33 36 30 20 44 45 46 50 | 350 . 360 DEFP| 00003be0 52 4f 43 62 63 61 73 74 28 70 25 2c 63 62 25 2c |ROCbcast(p%,cb%,| 00003bf0 73 65 72 76 65 72 24 29 20 0d 20 33 37 30 20 3f |server$) . 370 ?| 00003c00 62 6c 6b 25 3d 63 62 25 20 0d 20 33 38 30 20 62 |blk%=cb% . 380 b| 00003c10 6c 6b 25 3f 31 3d 70 25 20 0d 20 33 39 30 20 62 |lk%?1=p% . 390 b| 00003c20 6c 6b 25 21 32 3d 26 46 46 46 46 20 0d 20 34 30 |lk%!2=&FFFF . 40| 00003c30 30 20 24 28 62 6c 6b 25 2b 34 29 3d 73 65 72 76 |0 $(blk%+4)=serv| 00003c40 65 72 24 20 0d 20 34 31 30 20 58 25 3d 62 6c 6b |er$ . 410 X%=blk| 00003c50 25 3a 59 25 3d 58 25 20 44 49 56 20 32 35 36 3a |%:Y%=X% DIV 256:| 00003c60 41 25 3d 26 31 30 20 0d 20 34 32 30 20 43 41 4c |A%=&10 . 420 CAL| 00003c70 4c 20 6f 73 77 6f 72 64 20 0d 20 34 33 30 20 45 |L osword . 430 E| 00003c80 4e 44 50 52 4f 43 20 0d 20 34 34 30 20 20 0d 20 |NDPROC . 440 . | 00003c90 34 35 30 20 44 45 46 46 4e 73 65 74 5f 75 70 5f |450 DEFFNset_up_| 00003ca0 72 78 28 70 25 2c 73 74 25 2c 62 25 2c 6c 25 29 |rx(p%,st%,b%,l%)| 00003cb0 20 0d 20 34 36 30 20 3f 62 6c 6b 25 3d 30 20 0d | . 460 ?blk%=0 .| 00003cc0 20 34 37 30 20 62 6c 6b 25 3f 31 3d 26 37 46 20 | 470 blk%?1=&7F | 00003cd0 0d 20 34 38 30 20 62 6c 6b 25 3f 32 3d 70 25 20 |. 480 blk%?2=p% | 00003ce0 0d 20 34 39 30 20 62 6c 6b 25 21 33 3d 73 74 25 |. 490 blk%!3=st%| 00003cf0 20 0d 20 35 30 30 20 62 6c 6b 25 21 35 3d 62 25 | . 500 blk%!5=b%| 00003d00 20 0d 20 35 31 30 20 62 6c 6b 25 21 39 3d 62 25 | . 510 blk%!9=b%| 00003d10 2b 6c 25 20 0d 20 35 32 30 20 58 25 3d 62 6c 6b |+l% . 520 X%=blk| 00003d20 25 3a 59 25 3d 58 25 20 44 49 56 20 32 35 36 3a |%:Y%=X% DIV 256:| 00003d30 41 25 3d 26 31 31 20 0d 20 35 33 30 20 43 41 4c |A%=&11 . 530 CAL| 00003d40 4c 20 6f 73 77 6f 72 64 20 0d 20 35 34 30 20 3d |L osword . 540 =| 00003d50 3f 62 6c 6b 25 20 0d 20 35 35 30 20 20 0d 20 35 |?blk% . 550 . 5| 00003d60 36 30 20 44 45 46 46 4e 70 6f 6c 6c 5f 72 78 28 |60 DEFFNpoll_rx(| 00003d70 72 25 29 20 0d 20 35 37 30 20 41 25 3d 26 33 33 |r%) . 570 A%=&33| 00003d80 3a 58 25 3d 72 25 20 0d 20 35 38 30 20 3d 55 53 |:X%=r% . 580 =US| 00003d90 52 28 6f 73 62 79 74 65 29 20 41 4e 44 20 26 38 |R(osbyte) AND &8| 00003da0 30 30 30 20 0d 20 35 39 30 20 20 0d 20 36 30 30 |000 . 590 . 600| 00003db0 20 44 45 46 50 52 4f 43 72 65 61 64 5f 72 78 28 | DEFPROCread_rx(| 00003dc0 72 25 29 20 0d 20 36 31 30 20 3f 62 6c 6b 25 3d |r%) . 610 ?blk%=| 00003dd0 72 25 20 0d 20 36 32 30 20 58 25 3d 62 6c 6b 25 |r% . 620 X%=blk%| 00003de0 3a 59 25 3d 58 25 20 44 49 56 20 32 35 36 3a 41 |:Y%=X% DIV 256:A| 00003df0 25 3d 26 31 31 20 0d 20 36 33 30 20 43 41 4c 4c |%=&11 . 630 CALL| 00003e00 20 6f 73 77 6f 72 64 20 0d 20 36 34 30 20 45 4e | osword . 640 EN| 00003e10 44 50 52 4f 43 20 0d 20 36 35 30 20 20 0d 20 36 |DPROC . 650 . 6| 00003e20 36 30 20 44 45 46 50 52 4f 43 74 78 28 63 62 25 |60 DEFPROCtx(cb%| 00003e30 2c 70 25 2c 73 74 25 2c 62 25 2c 6c 25 29 20 0d |,p%,st%,b%,l%) .| 00003e40 20 36 37 30 20 3f 62 6c 6b 25 3d 63 62 25 20 0d | 670 ?blk%=cb% .| 00003e50 20 36 38 30 20 62 6c 6b 25 3f 31 3d 70 25 20 0d | 680 blk%?1=p% .| 00003e60 20 36 39 30 20 62 6c 6b 25 21 32 3d 73 74 25 20 | 690 blk%!2=st% | 00003e70 0d 20 37 30 30 20 62 6c 6b 25 21 34 3d 62 25 20 |. 700 blk%!4=b% | 00003e80 0d 20 37 31 30 20 62 6c 6b 25 21 38 3d 62 25 2b |. 710 blk%!8=b%+| 00003e90 6c 25 20 0d 20 37 32 30 20 58 25 3d 62 6c 6b 25 |l% . 720 X%=blk%| 00003ea0 3a 59 25 3d 58 25 20 44 49 56 20 32 35 36 3a 41 |:Y%=X% DIV 256:A| 00003eb0 25 3d 26 31 30 20 0d 20 37 33 30 20 43 41 4c 4c |%=&10 . 730 CALL| 00003ec0 20 6f 73 77 6f 72 64 20 0d 20 37 34 30 20 45 4e | osword . 740 EN| 00003ed0 44 50 52 4f 43 20 0d 20 37 35 30 20 20 0d 20 37 |DPROC . 750 . 7| 00003ee0 36 30 20 44 45 46 46 4e 70 6f 6c 6c 5f 74 78 20 |60 DEFFNpoll_tx | 00003ef0 0d 20 37 37 30 20 52 45 50 45 41 54 20 0d 20 37 |. 770 REPEAT . 7| 00003f00 38 30 20 41 25 3d 26 33 32 20 0d 20 37 39 30 20 |80 A%=&32 . 790 | 00003f10 74 65 73 74 25 3d 28 55 53 52 28 6f 73 62 79 74 |test%=(USR(osbyt| 00003f20 65 29 20 41 4e 44 20 26 46 46 30 30 29 20 44 49 |e) AND &FF00) DI| 00003f30 56 20 26 31 30 30 20 0d 20 38 30 30 20 55 4e 54 |V &100 . 800 UNT| 00003f40 49 4c 20 74 65 73 74 25 3c 31 32 38 20 0d 20 38 |IL test%<128 . 8| 00003f50 31 30 20 3d 74 65 73 74 25 20 0d 20 0d 20 0d 20 |10 =test% . . . | 00003f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00003f70 20 20 20 20 20 20 20 20 20 20 20 20 20 53 45 52 | SER| 00003f80 56 45 52 20 45 78 74 65 6e 73 69 6f 6e 73 20 0d |VER Extensions .| 00003f90 20 0d 41 73 20 79 6f 75 20 20 77 69 6c 6c 20 20 | .As you will | 00003fa0 66 69 6e 64 20 20 69 6e 20 20 74 68 65 20 20 70 |find in the p| 00003fb0 72 6f 74 6f 63 6f 6c 73 20 20 73 65 63 74 69 6f |rotocols sectio| 00003fc0 6e 20 20 6f 66 20 20 74 68 69 73 20 20 61 72 74 |n of this art| 00003fd0 69 63 6c 65 20 20 61 20 20 66 75 72 74 68 65 72 |icle a further| 00003fe0 20 0d 6e 6f 6e 2d 74 65 6c 65 74 65 78 74 20 20 | .non-teletext | 00003ff0 72 65 6c 61 74 65 64 20 20 63 61 6c 6c 20 68 61 |related call ha| 00004000 73 20 62 65 65 6e 20 69 6e 63 6c 75 64 65 64 20 |s been included | 00004010 69 6e 20 74 68 65 20 53 45 52 56 45 52 2e 20 54 |in the SERVER. T| 00004020 68 69 73 20 63 61 6c 6c 20 72 65 74 75 72 6e 73 |his call returns| 00004030 20 0d 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 | .the value of t| 00004040 68 65 20 61 6e 61 6c 6f 67 75 65 20 70 6f 72 74 |he analogue port| 00004050 73 2e 20 54 68 69 73 20 6d 65 61 6e 73 20 76 61 |s. This means va| 00004060 72 69 6f 75 73 20 64 65 76 69 63 65 73 20 63 61 |rious devices ca| 00004070 6e 20 62 65 20 61 74 74 61 63 68 65 64 20 74 6f |n be attached to| 00004080 20 0d 74 68 65 20 20 61 6e 61 6c 6f 67 75 65 20 | .the analogue | 00004090 20 70 6f 72 74 20 20 6f 66 20 20 74 68 65 20 20 | port of the | 000040a0 53 45 52 56 45 52 20 20 61 6e 64 20 20 63 61 6e |SERVER and can| 000040b0 20 62 65 20 73 61 6d 70 6c 65 64 20 66 72 6f 6d | be sampled from| 000040c0 20 61 6e 79 77 68 65 72 65 20 6f 6e 20 74 68 65 | anywhere on the| 000040d0 20 0d 6e 65 74 77 6f 72 6b 2e 20 57 65 20 61 72 | .network. We ar| 000040e0 65 20 75 73 69 6e 67 20 74 68 69 73 20 74 6f 20 |e using this to | 000040f0 6d 6f 6e 69 74 6f 72 20 74 68 65 20 6f 75 74 73 |monitor the outs| 00004100 69 64 65 20 74 65 6d 70 65 72 61 74 75 72 65 2e |ide temperature.| 00004110 20 0d 20 0d 20 0d 20 20 20 20 20 20 20 20 20 20 | . . . | 00004120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00004130 54 45 4c 45 54 45 58 54 20 53 45 52 56 45 52 20 |TELETEXT SERVER | 00004140 50 52 4f 54 4f 43 4f 4c 53 20 0d 20 0d 41 6c 6c |PROTOCOLS . .All| 00004150 20 63 6f 6d 6d 75 6e 69 63 61 74 69 6f 6e 73 20 | communications | 00004160 62 65 74 77 65 65 6e 20 20 74 65 6c 65 73 65 72 |between teleser| 00004170 76 65 72 20 20 61 6e 64 20 20 63 6c 69 65 6e 74 |ver and client| 00004180 20 20 61 72 65 20 20 63 6f 6e 64 75 63 74 65 64 | are conducted| 00004190 20 20 6f 6e 20 20 70 6f 72 74 73 20 0d 62 61 73 | on ports .bas| 000041a0 65 2d 62 61 73 65 2b 33 20 20 28 63 75 72 72 65 |e-base+3 (curre| 000041b0 6e 74 6c 79 20 20 26 42 32 2d 26 42 35 29 2e 20 |ntly &B2-&B5). | 000041c0 20 54 72 61 6e 73 6d 69 73 73 69 6f 6e 73 20 66 | Transmissions f| 000041d0 72 6f 6d 20 63 6c 69 65 6e 74 20 74 6f 20 73 65 |rom client to se| 000041e0 72 76 65 72 20 61 72 65 20 6f 6e 20 0d 70 6f 72 |rver are on .por| 000041f0 74 20 26 42 33 20 61 6e 64 20 72 65 70 6c 69 65 |t &B3 and replie| 00004200 73 20 66 72 6f 6d 20 74 68 65 20 73 65 72 76 65 |s from the serve| 00004210 72 20 61 72 65 20 6f 6e 20 70 6f 72 74 20 26 42 |r are on port &B| 00004220 32 2e 20 50 6f 72 74 20 26 42 35 20 69 73 20 72 |2. Port &B5 is r| 00004230 65 73 65 72 76 65 64 20 66 6f 72 20 0d 62 72 6f |eserved for .bro| 00004240 61 64 63 61 73 74 69 6e 67 20 20 74 68 65 20 20 |adcasting the | 00004250 63 75 72 72 65 6e 74 20 20 70 61 67 65 20 6e 75 |current page nu| 00004260 6d 62 65 72 20 62 65 69 6e 67 20 70 69 63 6b 65 |mber being picke| 00004270 64 20 75 70 20 62 79 20 74 68 65 20 73 65 72 76 |d up by the serv| 00004280 65 72 20 61 6e 64 20 70 6f 72 74 20 0d 26 42 34 |er and port .&B4| 00004290 20 69 73 20 75 73 65 64 20 66 6f 72 20 74 72 61 | is used for tra| 000042a0 6e 73 6d 69 74 74 69 6e 67 20 74 68 65 20 70 61 |nsmitting the pa| 000042b0 67 65 20 69 74 73 65 6c 66 2e 20 0d 20 0d 49 74 |ge itself. . .It| 000042c0 20 69 73 20 6e 65 63 65 73 73 61 72 79 20 74 6f | is necessary to| 000042d0 20 75 73 65 20 66 6f 75 72 20 70 6f 72 74 73 20 | use four ports | 000042e0 62 65 63 61 75 73 65 20 74 68 65 20 63 6c 69 65 |because the clie| 000042f0 6e 74 20 6d 61 79 20 77 69 73 68 20 20 74 6f 20 |nt may wish to | 00004300 20 68 61 76 65 20 20 74 68 72 65 65 20 0d 72 65 | have three .re| 00004310 63 65 69 76 65 20 20 62 6c 6f 63 6b 73 20 20 6f |ceive blocks o| 00004320 70 65 6e 20 20 61 74 20 20 74 68 65 20 20 73 61 |pen at the sa| 00004330 6d 65 20 20 74 69 6d 65 2e 20 4f 6e 65 20 74 6f |me time. One to| 00004340 20 63 6f 6e 74 69 6e 75 61 6c 6c 79 20 75 70 64 | continually upd| 00004350 61 74 65 20 74 68 65 20 70 61 67 65 20 0d 68 65 |ate the page .he| 00004360 61 64 65 72 2c 20 6f 6e 65 20 74 6f 20 72 65 71 |ader, one to req| 00004370 75 65 73 74 20 6f 74 68 65 72 20 69 6e 66 6f 72 |uest other infor| 00004380 6d 61 74 69 6f 6e 20 61 6e 64 20 6f 6e 65 20 74 |mation and one t| 00004390 6f 20 72 65 63 65 69 76 65 20 74 68 65 20 70 61 |o receive the pa| 000043a0 67 65 20 69 74 73 65 6c 66 2e 20 0d 20 0d 54 68 |ge itself. . .Th| 000043b0 65 20 70 61 67 65 20 63 75 72 72 65 6e 74 6c 79 |e page currently| 000043c0 20 62 65 69 6e 67 20 72 65 63 65 69 76 65 64 20 | being received | 000043d0 69 73 20 62 72 6f 61 64 63 61 73 74 20 6f 6e 20 |is broadcast on | 000043e0 70 6f 72 74 20 26 42 35 20 61 6e 64 20 63 6f 6e |port &B5 and con| 000043f0 73 69 73 74 73 20 6f 66 20 34 20 0d 62 79 74 65 |sists of 4 .byte| 00004400 73 3a 20 0d 20 0d 42 79 74 65 20 31 20 20 20 20 |s: . .Byte 1 | 00004410 20 20 43 68 61 6e 6e 65 6c 20 6e 75 6d 62 65 72 | Channel number| 00004420 20 69 6e 20 41 53 43 49 49 20 0d 42 79 74 65 73 | in ASCII .Bytes| 00004430 20 32 2d 34 20 20 20 50 61 67 65 20 6e 75 6d 62 | 2-4 Page numb| 00004440 65 72 20 69 6e 20 41 53 43 49 49 20 0d 20 0d 41 |er in ASCII . .A| 00004450 6c 6c 20 74 72 61 6e 73 6d 69 73 73 69 6f 6e 73 |ll transmissions| 00004460 20 74 6f 20 74 68 65 20 74 65 6c 65 73 65 72 76 | to the teleserv| 00004470 65 72 20 77 69 6c 6c 20 72 65 73 75 6c 74 20 69 |er will result i| 00004480 6e 20 61 20 20 72 65 70 6c 79 20 20 62 65 69 6e |n a reply bein| 00004490 67 20 20 73 65 6e 74 2e 20 20 54 68 65 20 0d 74 |g sent. The .t| 000044a0 65 6c 65 73 65 72 76 65 72 20 20 67 69 76 65 73 |eleserver gives| 000044b0 20 20 75 70 20 69 66 20 61 20 27 4e 6f 74 20 6c | up if a 'Not l| 000044c0 69 73 74 65 6e 69 6e 67 27 20 65 72 72 6f 72 20 |istening' error | 000044d0 6f 63 63 75 72 73 20 35 20 74 69 6d 65 73 2e 20 |occurs 5 times. | 000044e0 54 68 65 72 65 20 61 72 65 20 74 77 6f 20 0d 73 |There are two .s| 000044f0 74 61 6e 64 61 72 64 20 66 6f 72 6d 73 20 6f 66 |tandard forms of| 00004500 20 72 65 70 6c 79 2e 20 0d 20 0d 61 29 20 20 49 | reply. . .a) I| 00004510 66 20 20 61 6e 20 20 65 72 72 6f 72 20 20 68 61 |f an error ha| 00004520 73 20 20 6f 63 63 75 72 72 65 64 20 28 65 67 20 |s occurred (eg | 00004530 79 6f 75 20 68 61 76 65 20 72 65 71 75 65 73 74 |you have request| 00004540 65 64 20 61 20 73 69 6c 6c 79 20 70 61 67 65 20 |ed a silly page | 00004550 6e 75 6d 62 65 72 20 6f 72 20 0d 20 20 20 20 63 |number or . c| 00004560 68 61 6e 6e 65 6c 20 6e 75 6d 62 65 72 29 20 74 |hannel number) t| 00004570 68 65 6e 20 74 68 65 20 66 69 72 73 74 20 62 79 |hen the first by| 00004580 74 65 20 6f 66 20 74 68 65 20 72 65 70 6c 79 20 |te of the reply | 00004590 64 61 74 61 20 20 77 69 6c 6c 20 20 62 65 20 20 |data will be | 000045a0 61 6e 20 20 65 72 72 6f 72 20 0d 20 20 20 20 6e |an error . n| 000045b0 75 6d 62 65 72 20 20 61 6e 64 20 20 74 68 65 20 |umber and the | 000045c0 20 66 6f 6c 6c 6f 77 69 6e 67 20 62 79 74 65 73 | following bytes| 000045d0 20 77 69 6c 6c 20 62 65 20 61 6e 20 65 72 72 6f | will be an erro| 000045e0 72 20 6d 65 73 73 61 67 65 20 74 65 72 6d 69 6e |r message termin| 000045f0 61 74 65 64 20 62 79 20 61 20 0d 20 20 20 20 63 |ated by a . c| 00004600 61 72 72 69 61 67 65 20 72 65 74 75 72 6e 2e 20 |arriage return. | 00004610 0d 20 20 0d 62 29 20 20 49 66 20 6e 6f 20 65 72 |. .b) If no er| 00004620 72 6f 72 20 68 61 73 20 6f 63 63 75 72 72 65 64 |ror has occurred| 00004630 20 74 68 65 20 66 69 72 73 74 20 62 79 74 65 20 | the first byte | 00004640 6f 66 20 74 68 65 20 72 65 70 6c 79 20 64 61 74 |of the reply dat| 00004650 61 20 77 69 6c 6c 20 62 65 20 7a 65 72 6f 20 61 |a will be zero a| 00004660 6e 64 20 0d 20 20 20 20 74 68 65 20 73 75 62 73 |nd . the subs| 00004670 65 71 75 65 6e 74 20 62 79 74 65 73 20 77 69 6c |equent bytes wil| 00004680 6c 20 62 65 20 64 65 70 65 6e 64 65 6e 74 20 6f |l be dependent o| 00004690 6e 20 74 68 65 20 63 61 6c 6c 20 69 73 73 75 65 |n the call issue| 000046a0 64 2e 20 0d 20 0d 72 65 61 64 20 74 65 6c 65 73 |d. . .read teles| 000046b0 65 72 76 65 72 20 76 65 72 73 69 6f 6e 20 6e 75 |erver version nu| 000046c0 6d 62 65 72 20 0d 20 0d 31 2f 63 6c 69 65 6e 74 |mber . .1/client| 000046d0 20 74 6f 20 74 65 6c 65 73 65 72 76 65 72 20 0d | to teleserver .| 000046e0 20 0d 70 6f 72 74 20 20 20 20 20 20 20 20 20 20 | .port | 000046f0 20 26 42 33 20 0d 63 6f 6e 74 72 6f 6c 20 62 79 | &B3 .control by| 00004700 74 65 20 20 20 26 38 30 20 0d 64 61 74 61 20 20 |te &80 .data | 00004710 20 20 20 20 20 20 20 20 20 6e 69 6c 20 0d 20 0d | nil . .| 00004720 32 2f 74 65 6c 65 73 65 72 76 65 72 20 74 6f 20 |2/teleserver to | 00004730 63 6c 69 65 6e 74 20 0d 20 0d 70 6f 72 74 20 20 |client . .port | 00004740 20 20 20 20 20 20 20 20 20 26 42 32 20 0d 63 6f | &B2 .co| 00004750 6e 74 72 6f 6c 20 62 79 74 65 20 20 20 26 38 30 |ntrol byte &80| 00004760 20 0d 64 61 74 61 20 20 20 20 20 20 20 20 20 20 | .data | 00004770 20 30 20 6f 72 20 65 72 72 6f 72 20 6e 75 6d 62 | 0 or error numb| 00004780 65 72 20 0d 64 61 74 61 2b 31 20 20 20 20 20 20 |er .data+1 | 00004790 20 20 20 76 65 72 73 69 6f 6e 20 20 6e 75 6d 62 | version numb| 000047a0 65 72 20 20 61 73 20 20 63 68 61 72 61 63 74 65 |er as characte| 000047b0 72 20 20 73 74 72 69 6e 67 20 20 74 65 72 6d 69 |r string termi| 000047c0 6e 61 74 65 64 20 20 62 79 20 63 61 72 72 69 61 |nated by carria| 000047d0 67 65 20 0d 20 20 20 20 20 20 20 20 20 20 20 20 |ge . | 000047e0 20 20 20 72 65 74 75 72 6e 2e 20 0d 0d 69 73 73 | return. ..iss| 000047f0 75 65 20 70 61 67 65 20 72 65 71 75 65 73 74 20 |ue page request | 00004800 0d 20 0d 31 2f 63 6c 69 65 6e 74 20 74 6f 20 74 |. .1/client to t| 00004810 65 6c 65 73 65 72 76 65 72 20 0d 20 0d 70 6f 72 |eleserver . .por| 00004820 74 20 20 20 20 20 20 20 20 20 20 20 26 42 33 20 |t &B3 | 00004830 0d 63 6f 6e 74 72 6f 6c 20 62 79 74 65 20 20 20 |.control byte | 00004840 26 38 31 20 0d 64 61 74 61 20 20 20 20 20 20 20 |&81 .data | 00004850 20 20 20 20 63 68 61 6e 6e 65 6c 20 6e 75 6d 62 | channel numb| 00004860 65 72 20 69 6e 20 41 53 43 49 49 20 0d 64 61 74 |er in ASCII .dat| 00004870 61 2b 31 2d 64 61 74 61 2b 33 20 20 70 61 67 65 |a+1-data+3 page| 00004880 20 6e 75 6d 62 65 72 20 69 6e 20 41 53 43 49 49 | number in ASCII| 00004890 20 0d 20 0d 32 2f 74 65 6c 65 73 65 72 76 65 72 | . .2/teleserver| 000048a0 20 74 6f 20 63 6c 69 65 6e 74 20 0d 20 0d 70 6f | to client . .po| 000048b0 72 74 20 20 20 20 20 20 20 20 20 20 20 26 42 32 |rt &B2| 000048c0 20 0d 63 6f 6e 74 72 6f 6c 20 62 79 74 65 20 20 | .control byte | 000048d0 20 26 38 31 20 0d 64 61 74 61 20 20 20 20 20 20 | &81 .data | 000048e0 20 20 20 20 20 30 20 6f 72 20 65 72 72 6f 72 20 | 0 or error | 000048f0 6e 75 6d 62 65 72 20 0d 64 61 74 61 2b 31 20 20 |number .data+1 | 00004900 20 20 20 20 20 20 20 70 6f 73 69 74 69 6f 6e 20 | position | 00004910 69 6e 20 71 75 65 75 65 20 0d 20 0d 63 61 6e 63 |in queue . .canc| 00004920 65 6c 20 70 61 67 65 20 72 65 71 75 65 73 74 20 |el page request | 00004930 0d 20 0d 31 2f 63 6c 69 65 6e 74 20 74 6f 20 74 |. .1/client to t| 00004940 65 6c 65 73 65 72 76 65 72 20 0d 20 0d 70 6f 72 |eleserver . .por| 00004950 74 20 20 20 20 20 20 20 20 20 20 20 26 42 33 20 |t &B3 | 00004960 0d 63 6f 6e 74 72 6f 6c 20 62 79 74 65 20 20 20 |.control byte | 00004970 26 38 32 20 0d 64 61 74 61 20 20 20 20 20 20 20 |&82 .data | 00004980 20 20 20 20 6e 69 6c 20 0d 20 0d 32 2f 74 65 6c | nil . .2/tel| 00004990 65 73 65 72 76 65 72 20 74 6f 20 63 6c 69 65 6e |eserver to clien| 000049a0 74 20 0d 20 0d 70 6f 72 74 20 20 20 20 20 20 20 |t . .port | 000049b0 20 20 20 20 26 42 32 20 0d 63 6f 6e 74 72 6f 6c | &B2 .control| 000049c0 20 62 79 74 65 20 20 20 26 38 32 20 0d 64 61 74 | byte &82 .dat| 000049d0 61 20 20 20 20 20 20 20 20 20 20 20 30 20 6f 72 |a 0 or| 000049e0 20 65 72 72 6f 72 20 6e 75 6d 62 65 72 20 0d 64 | error number .d| 000049f0 61 74 61 2b 31 20 20 20 20 20 20 20 20 20 6e 69 |ata+1 ni| 00004a00 6c 20 0d 20 0d 72 65 61 64 20 6d 61 78 20 75 73 |l . .read max us| 00004a10 65 72 73 20 70 65 72 20 63 68 61 6e 6e 65 6c 20 |ers per channel | 00004a20 0d 20 0d 31 2f 63 6c 69 65 6e 74 20 74 6f 20 74 |. .1/client to t| 00004a30 65 6c 65 73 65 72 76 65 72 20 0d 20 0d 70 6f 72 |eleserver . .por| 00004a40 74 20 20 20 20 20 20 20 20 20 20 20 26 42 33 20 |t &B3 | 00004a50 0d 63 6f 6e 74 72 6f 6c 20 62 79 74 65 20 20 20 |.control byte | 00004a60 26 38 33 20 0d 64 61 74 61 20 20 20 20 20 20 20 |&83 .data | 00004a70 20 20 20 20 6e 69 6c 20 0d 20 0d 32 2f 74 65 6c | nil . .2/tel| 00004a80 65 73 65 72 76 65 72 20 74 6f 20 63 6c 69 65 6e |eserver to clien| 00004a90 74 20 0d 20 0d 70 6f 72 74 20 20 20 20 20 20 20 |t . .port | 00004aa0 20 20 20 20 26 42 32 20 0d 63 6f 6e 74 72 6f 6c | &B2 .control| 00004ab0 20 62 79 74 65 20 20 20 26 38 33 20 0d 64 61 74 | byte &83 .dat| 00004ac0 61 20 20 20 20 20 20 20 20 20 20 20 30 20 6f 72 |a 0 or| 00004ad0 20 65 72 72 6f 72 20 6e 75 6d 62 65 72 20 0d 64 | error number .d| 00004ae0 61 74 61 2b 31 20 20 20 20 20 20 20 20 20 6d 61 |ata+1 ma| 00004af0 78 20 75 73 65 72 73 20 0d 20 0d 72 65 61 64 20 |x users . .read | 00004b00 64 61 74 65 20 61 6e 64 20 74 69 6d 65 20 0d 20 |date and time . | 00004b10 0d 31 2f 63 6c 69 65 6e 74 20 74 6f 20 74 65 6c |.1/client to tel| 00004b20 65 73 65 72 76 65 72 20 0d 20 0d 70 6f 72 74 20 |eserver . .port | 00004b30 20 20 20 20 20 20 20 20 20 20 26 42 33 20 0d 63 | &B3 .c| 00004b40 6f 6e 74 72 6f 6c 20 62 79 74 65 20 20 20 26 38 |ontrol byte &8| 00004b50 34 20 0d 64 61 74 61 20 20 20 20 20 20 20 20 20 |4 .data | 00004b60 20 20 6e 69 6c 20 0d 20 0d 32 2f 74 65 6c 65 73 | nil . .2/teles| 00004b70 65 72 76 65 72 20 74 6f 20 63 6c 69 65 6e 74 20 |erver to client | 00004b80 0d 20 0d 70 6f 72 74 20 20 20 20 20 20 20 20 20 |. .port | 00004b90 20 20 26 42 32 20 0d 63 6f 6e 74 72 6f 6c 20 62 | &B2 .control b| 00004ba0 79 74 65 20 20 20 26 38 34 20 0d 64 61 74 61 20 |yte &84 .data | 00004bb0 20 20 20 20 20 20 20 20 20 20 30 20 6f 72 20 65 | 0 or e| 00004bc0 72 72 6f 72 20 6e 75 6d 62 65 72 20 0d 64 61 74 |rror number .dat| 00004bd0 61 2b 31 20 20 20 20 20 20 20 20 20 74 69 6d 65 |a+1 time| 00004be0 20 61 6e 64 20 64 61 74 65 20 69 6e 20 41 53 43 | and date in ASC| 00004bf0 49 49 20 28 48 48 3a 4d 4d 3a 53 53 44 44 2f 4d |II (HH:MM:SSDD/M| 00004c00 4d 2f 59 59 59 59 29 20 0d 20 0d 6c 6f 67 6f 66 |M/YYYY) . .logof| 00004c10 66 20 0d 20 0d 31 2f 63 6c 69 65 6e 74 20 74 6f |f . .1/client to| 00004c20 20 74 65 6c 65 73 65 72 76 65 72 20 0d 20 0d 70 | teleserver . .p| 00004c30 6f 72 74 20 20 20 20 20 20 20 20 20 20 20 26 42 |ort &B| 00004c40 33 20 0d 63 6f 6e 74 72 6f 6c 20 62 79 74 65 20 |3 .control byte | 00004c50 20 20 26 38 35 20 0d 64 61 74 61 20 20 20 20 20 | &85 .data | 00004c60 20 20 20 20 20 20 6e 69 6c 20 0d 20 0d 32 2f 74 | nil . .2/t| 00004c70 65 6c 65 73 65 72 76 65 72 20 74 6f 20 63 6c 69 |eleserver to cli| 00004c80 65 6e 74 20 0d 20 0d 70 6f 72 74 20 20 20 20 20 |ent . .port | 00004c90 20 20 20 20 20 20 26 42 32 20 0d 63 6f 6e 74 72 | &B2 .contr| 00004ca0 6f 6c 20 62 79 74 65 20 20 20 26 38 35 20 0d 64 |ol byte &85 .d| 00004cb0 61 74 61 20 20 20 20 20 20 20 20 20 20 20 30 20 |ata 0 | 00004cc0 6f 72 20 65 72 72 6f 72 20 6e 75 6d 62 65 72 20 |or error number | 00004cd0 0d 64 61 74 61 2b 31 20 20 20 20 20 20 20 20 20 |.data+1 | 00004ce0 6e 69 6c 20 0d 20 0d 70 61 67 65 20 72 65 71 75 |nil . .page requ| 00004cf0 65 73 74 20 77 69 74 68 20 74 69 6d 65 20 64 65 |est with time de| 00004d00 6c 61 79 20 0d 20 0d 31 2f 63 6c 69 65 6e 74 20 |lay . .1/client | 00004d10 74 6f 20 74 65 6c 65 73 65 72 76 65 72 20 0d 20 |to teleserver . | 00004d20 0d 70 6f 72 74 20 20 20 20 20 20 20 20 20 20 20 |.port | 00004d30 26 42 33 20 0d 63 6f 6e 74 72 6f 6c 20 62 79 74 |&B3 .control byt| 00004d40 65 20 20 20 26 38 36 20 0d 64 61 74 61 20 20 20 |e &86 .data | 00004d50 20 20 20 20 20 20 20 20 63 68 61 6e 6e 65 6c 20 | channel | 00004d60 6e 75 6d 62 65 72 20 69 6e 20 41 53 43 49 49 20 |number in ASCII | 00004d70 0d 64 61 74 61 2b 31 2d 64 61 74 61 2b 33 20 20 |.data+1-data+3 | 00004d80 70 61 67 65 20 6e 75 6d 62 65 72 20 69 6e 20 41 |page number in A| 00004d90 53 43 49 49 20 0d 20 0d 32 2f 74 65 6c 65 73 65 |SCII . .2/telese| 00004da0 72 76 65 72 20 74 6f 20 63 6c 69 65 6e 74 20 0d |rver to client .| 00004db0 20 0d 70 6f 72 74 20 20 20 20 20 20 20 20 20 20 | .port | 00004dc0 20 26 42 32 20 0d 63 6f 6e 74 72 6f 6c 20 62 79 | &B2 .control by| 00004dd0 74 65 20 20 20 26 38 36 20 0d 64 61 74 61 20 20 |te &86 .data | 00004de0 20 20 20 20 20 20 20 20 20 30 20 6f 72 20 65 72 | 0 or er| 00004df0 72 6f 72 20 6e 75 6d 62 65 72 20 0d 64 61 74 61 |ror number .data| 00004e00 2b 31 20 20 20 20 20 20 20 20 20 70 6f 73 69 74 |+1 posit| 00004e10 69 6f 6e 20 69 6e 20 71 75 65 75 65 20 0d 20 0d |ion in queue . .| 00004e20 72 65 71 75 65 73 74 20 70 6f 72 74 20 76 61 6c |request port val| 00004e30 75 65 20 0d 20 0d 31 2f 63 6c 69 65 6e 74 20 74 |ue . .1/client t| 00004e40 6f 20 74 65 6c 65 73 65 72 76 65 72 20 0d 20 0d |o teleserver . .| 00004e50 70 6f 72 74 20 20 20 20 20 20 20 20 20 20 20 26 |port &| 00004e60 42 33 20 0d 63 6f 6e 74 72 6f 6c 20 62 79 74 65 |B3 .control byte| 00004e70 20 20 20 26 38 37 20 0d 64 61 74 61 20 20 20 20 | &87 .data | 00004e80 20 20 20 20 20 20 20 70 6f 72 74 20 6e 75 6d 62 | port numb| 00004e90 65 72 20 69 6e 20 72 61 6e 67 65 20 30 20 74 6f |er in range 0 to| 00004ea0 20 33 20 0d 20 0d 32 2f 74 65 6c 65 73 65 72 76 | 3 . .2/teleserv| 00004eb0 65 72 20 74 6f 20 63 6c 69 65 6e 74 20 0d 20 0d |er to client . .| 00004ec0 70 6f 72 74 20 20 20 20 20 20 20 20 20 20 20 26 |port &| 00004ed0 42 32 20 0d 63 6f 6e 74 72 6f 6c 20 62 79 74 65 |B2 .control byte| 00004ee0 20 20 20 26 38 37 20 0d 64 61 74 61 20 20 20 20 | &87 .data | 00004ef0 20 20 20 20 20 20 20 30 20 6f 72 20 65 72 72 6f | 0 or erro| 00004f00 72 20 6e 75 6d 62 65 72 20 0d 64 61 74 61 2b 31 |r number .data+1| 00004f10 2d 64 61 74 61 2b 32 20 20 70 6f 72 74 20 76 61 |-data+2 port va| 00004f20 6c 75 65 20 0d 20 0d 20 0d 52 65 63 65 70 74 69 |lue . . .Recepti| 00004f30 6f 6e 20 6f 66 20 74 68 65 20 74 65 6c 65 74 65 |on of the telete| 00004f40 78 74 20 70 61 67 65 20 0d 20 0d 54 68 65 20 20 |xt page . .The | 00004f50 74 65 6c 65 73 65 72 76 65 72 20 73 65 6e 64 73 |teleserver sends| 00004f60 20 74 68 65 20 70 61 67 65 20 6f 6e 20 70 6f 72 | the page on por| 00004f70 74 20 26 42 34 2e 20 54 68 65 20 63 6f 6e 74 72 |t &B4. The contr| 00004f80 6f 6c 20 62 79 74 65 20 77 69 6c 6c 20 62 65 20 |ol byte will be | 00004f90 26 38 30 20 69 66 20 6e 6f 20 0d 65 72 72 6f 72 |&80 if no .error| 00004fa0 20 68 61 73 20 6f 63 63 75 72 72 65 64 20 6f 74 | has occurred ot| 00004fb0 68 65 72 77 69 73 65 20 74 68 65 20 63 6f 6e 74 |herwise the cont| 00004fc0 72 6f 6c 20 62 79 74 65 20 77 69 6c 6c 20 62 65 |rol byte will be| 00004fd0 20 26 38 31 2e 20 54 68 65 20 6f 6e 6c 79 20 65 | &81. The only e| 00004fe0 72 72 6f 72 20 74 68 61 74 20 0d 77 69 6c 6c 20 |rror that .will | 00004ff0 20 6f 63 63 75 72 20 20 77 69 6c 6c 20 20 62 65 | occur will be| 00005000 20 20 61 20 20 27 54 69 6d 65 64 20 20 6f 75 74 | a 'Timed out| 00005010 27 20 20 65 72 72 6f 72 20 69 65 20 79 6f 75 20 |' error ie you | 00005020 68 61 76 65 20 70 72 6f 62 61 62 6c 79 20 61 73 |have probably as| 00005030 6b 65 64 20 66 6f 72 20 61 20 0d 6e 6f 6e 2d 65 |ked for a .non-e| 00005040 78 69 73 74 65 6e 74 20 70 61 67 65 2e 20 0d 54 |xistent page. .T| 00005050 68 65 20 64 61 74 61 20 69 6e 20 74 68 65 20 72 |he data in the r| 00005060 65 63 65 69 76 65 20 62 6c 6f 63 6b 20 62 75 66 |eceive block buf| 00005070 66 65 72 20 77 69 6c 6c 20 62 65 20 74 68 65 20 |fer will be the | 00005080 70 61 67 65 20 72 65 71 75 65 73 74 65 64 20 69 |page requested i| 00005090 66 20 74 68 65 72 65 20 69 73 20 6e 6f 20 0d 65 |f there is no .e| 000050a0 72 72 6f 72 2c 20 6f 74 68 65 72 77 69 73 65 20 |rror, otherwise | 000050b0 74 68 65 20 64 61 74 61 20 77 69 6c 6c 20 62 65 |the data will be| 000050c0 20 61 6e 20 65 72 72 6f 72 20 6d 65 73 73 61 67 | an error messag| 000050d0 65 20 74 65 72 6d 69 6e 61 74 65 64 20 20 62 79 |e terminated by| 000050e0 20 20 61 20 20 63 61 72 72 69 61 67 65 20 0d 72 | a carriage .r| 000050f0 65 74 75 72 6e 2e 49 66 20 20 79 6f 75 20 20 73 |eturn.If you s| 00005100 75 63 63 65 73 73 66 75 6c 6c 79 20 20 72 65 63 |uccessfully rec| 00005110 65 69 76 65 20 61 20 70 61 67 65 20 74 68 65 6e |eive a page then| 00005120 20 6c 6f 63 61 74 69 6f 6e 73 20 26 33 46 45 20 | locations &3FE | 00005130 61 6e 64 20 26 33 46 46 20 69 6e 74 6f 20 0d 74 |and &3FF into .t| 00005140 68 65 20 72 65 63 65 69 76 65 20 62 6c 6f 63 6b |he receive block| 00005150 20 62 75 66 66 65 72 20 77 69 6c 6c 20 63 6f 6e | buffer will con| 00005160 74 61 69 6e 20 74 68 65 20 73 75 62 20 70 61 67 |tain the sub pag| 00005170 65 20 6e 75 6d 62 65 72 20 69 6e 20 42 43 44 20 |e number in BCD | 00005180 66 6f 72 6d 61 74 2e 20 20 26 33 46 45 20 0d 63 |format. &3FE .c| 00005190 6f 6e 74 61 69 6e 73 20 74 68 65 20 68 69 2d 62 |ontains the hi-b| 000051a0 79 74 65 20 61 6e 64 20 26 33 46 46 20 63 6f 6e |yte and &3FF con| 000051b0 74 61 69 6e 73 20 74 68 65 20 6c 6f 2d 62 79 74 |tains the lo-byt| 000051c0 65 20 0d 20 0d 20 20 20 20 20 20 20 20 20 20 20 |e . . | 000051d0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d |================| * 00005200 3d 3d 3d 3d 3d 3d 3d 3d 20 0d 20 0d 45 52 52 4f |======== . .ERRO| 00005210 52 20 4e 55 4d 42 45 52 53 20 0d 20 0d 50 6f 73 |R NUMBERS . .Pos| 00005220 73 69 62 6c 65 20 65 72 72 6f 72 20 6e 75 6d 62 |sible error numb| 00005230 65 72 73 20 61 72 65 20 3a 20 0d 20 0d 31 20 20 |ers are : . .1 | 00005240 20 20 42 61 64 20 70 61 67 65 20 6e 75 6d 62 65 | Bad page numbe| 00005250 72 20 0d 32 20 20 20 20 42 61 64 20 63 68 61 6e |r .2 Bad chan| 00005260 6e 65 6c 20 0d 33 20 20 20 20 43 68 61 6e 6e 65 |nel .3 Channe| 00005270 6c 20 62 75 73 79 20 0d 34 20 20 20 20 54 69 6d |l busy .4 Tim| 00005280 65 20 75 6e 61 76 61 69 6c 61 62 6c 65 20 0d 35 |e unavailable .5| 00005290 20 20 20 20 42 61 64 20 70 6f 72 74 20 0d 20 0d | Bad port . .| 000052a0 49 66 20 61 6e 20 65 72 72 6f 72 20 69 73 20 72 |If an error is r| 000052b0 65 63 65 69 76 65 64 20 74 68 65 6e 20 61 6e 20 |eceived then an | 000052c0 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 74 65 |error message te| 000052d0 72 6d 69 6e 61 74 65 64 20 62 79 20 61 20 63 61 |rminated by a ca| 000052e0 72 72 69 61 67 65 20 20 72 65 74 75 72 6e 20 0d |rriage return .| 000052f0 77 69 6c 6c 20 62 65 20 72 65 74 75 72 6e 65 64 |will be returned| 00005300 20 69 6e 20 64 61 74 61 2b 31 2e 20 0d 20 0d 54 | in data+1. . .T| 00005310 68 65 20 53 45 52 56 45 52 27 73 20 72 65 63 65 |he SERVER's rece| 00005320 69 76 65 20 62 75 66 66 65 72 20 69 73 20 26 35 |ive buffer is &5| 00005330 30 20 62 79 74 65 73 2e 20 0d 20 0d 54 68 65 20 |0 bytes. . .The | 00005340 20 53 45 52 56 45 52 20 20 74 72 61 6e 73 6d 69 | SERVER transmi| 00005350 74 73 20 20 61 20 20 62 6c 6f 63 6b 20 6f 66 20 |ts a block of | 00005360 26 34 30 30 20 62 79 74 65 73 20 6f 6e 20 70 6f |&400 bytes on po| 00005370 72 74 20 26 42 33 20 77 68 65 6e 20 74 72 61 6e |rt &B3 when tran| 00005380 73 6d 69 74 74 69 6e 67 20 61 20 0d 70 61 67 65 |smitting a .page| 00005390 2e 20 49 74 20 74 72 61 6e 73 6d 69 74 73 20 61 |. It transmits a| 000053a0 20 62 6c 6f 63 6b 20 6f 66 20 26 32 30 20 62 79 | block of &20 by| 000053b0 74 65 73 20 69 6e 20 61 6c 6c 20 6f 74 68 65 72 |tes in all other| 000053c0 20 63 61 73 65 73 2e 20 0d 20 0d 20 20 20 20 20 | cases. . . | 000053d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000053e0 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | --------------| 000053f0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00005400 2d 20 0d 0d 4c 6f 67 67 69 6e 67 20 6f 6e 20 74 |- ..Logging on t| 00005410 6f 20 74 68 65 20 73 65 72 76 65 72 20 0d 20 0d |o the server . .| 00005420 43 6c 69 65 6e 74 20 74 6f 20 53 65 72 76 65 72 |Client to Server| 00005430 20 0d 20 0d 70 6f 72 74 20 20 20 20 20 20 20 20 | . .port | 00005440 20 20 20 20 20 20 20 26 42 30 20 0d 20 0d 63 6f | &B0 . .co| 00005450 6e 74 72 6f 6c 20 62 79 74 65 20 20 20 20 20 20 |ntrol byte | 00005460 20 26 38 30 20 0d 20 0d 44 61 74 61 20 20 20 20 | &80 . .Data | 00005470 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 73 | The s| 00005480 74 72 69 6e 67 20 54 45 4c 45 54 45 58 54 20 61 |tring TELETEXT a| 00005490 73 20 73 74 61 6e 64 61 72 64 20 41 53 43 49 49 |s standard ASCII| 000054a0 20 28 74 68 65 20 73 65 72 76 65 72 20 74 79 70 | (the server typ| 000054b0 65 29 20 0d 20 0d 53 65 72 76 65 72 20 74 6f 20 |e) . .Server to | 000054c0 43 6c 69 65 6e 74 20 0d 20 0d 70 6f 72 74 20 20 |Client . .port | 000054d0 20 20 20 20 20 20 20 20 20 20 20 20 20 26 42 31 | &B1| 000054e0 20 0d 20 0d 63 6f 6e 74 72 6f 6c 20 62 79 74 65 | . .control byte| 000054f0 20 20 20 20 20 20 20 26 38 30 20 0d 20 0d 44 61 | &80 . .Da| 00005500 74 61 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |ta | 00005510 20 30 20 6f 72 20 65 72 72 6f 72 20 6e 75 6d 62 | 0 or error numb| 00005520 65 72 20 0d 44 61 74 61 2b 31 20 20 20 20 20 20 |er .Data+1 | 00005530 20 20 20 20 20 20 20 62 61 73 65 20 70 6f 72 74 | base port| 00005540 20 6e 75 6d 62 65 72 20 66 6f 72 20 66 75 72 74 | number for furt| 00005550 68 65 72 20 65 78 63 68 61 6e 67 65 73 20 0d 44 |her exchanges .D| 00005560 61 74 61 2b 32 20 20 20 20 20 20 20 20 20 20 20 |ata+2 | 00005570 20 20 62 69 6e 61 72 79 20 76 65 72 69 73 6f 6e | binary verison| 00005580 20 6e 75 6d 62 65 72 20 6f 66 20 74 68 65 20 73 | number of the s| 00005590 65 72 76 65 72 20 73 6f 66 74 77 61 72 65 20 0d |erver software .| 000055a0 44 61 74 61 2b 33 20 20 20 20 20 20 20 20 20 20 |Data+3 | 000055b0 20 20 20 53 65 72 76 65 72 20 74 79 70 65 20 28 | Server type (| 000055c0 38 20 63 68 61 72 73 2c 20 66 6f 72 6d 61 74 20 |8 chars, format | 000055d0 61 73 20 66 6f 72 20 43 6c 69 65 6e 74 20 74 6f |as for Client to| 000055e0 20 53 65 72 76 65 72 29 20 0d 44 61 74 61 2b 31 | Server) .Data+1| 000055f0 31 20 20 20 20 20 20 20 20 20 20 20 20 4c 65 6e |1 Len| 00005600 67 74 68 20 6f 66 20 73 65 72 76 65 72 20 6e 61 |gth of server na| 00005610 6d 65 20 28 3d 30 20 69 66 20 6e 6f 74 20 70 72 |me (=0 if not pr| 00005620 65 73 65 6e 74 29 20 0d 44 61 74 61 2b 31 32 20 |esent) .Data+12 | 00005630 20 20 20 20 20 20 20 20 20 20 20 53 65 72 76 65 | Serve| 00005640 72 20 6e 61 6d 65 20 28 6f 70 74 69 6f 6e 61 6c |r name (optional| 00005650 29 20 0d 44 61 74 61 2b 31 32 2b 4e 61 6d 65 4c |) .Data+12+NameL| 00005660 65 6e 20 20 20 20 53 65 72 76 65 72 20 74 79 70 |en Server typ| 00005670 65 20 64 65 70 65 6e 64 61 6e 74 20 4f 52 20 65 |e dependant OR e| 00005680 72 72 6f 72 20 73 74 72 69 6e 67 20 20 0d 20 0d |rror string . .| 00005690 20 0d 54 68 65 20 20 6c 65 6e 67 74 68 20 20 6f | .The length o| 000056a0 66 20 20 74 68 65 20 72 65 63 65 69 76 65 20 62 |f the receive b| 000056b0 6c 6f 63 6b 20 62 75 66 66 65 72 20 6e 65 65 64 |lock buffer need| 000056c0 65 64 20 74 6f 20 72 65 63 65 69 76 65 20 74 68 |ed to receive th| 000056d0 69 73 20 72 65 73 70 6f 6e 73 65 20 66 72 6f 6d |is response from| 000056e0 20 0d 74 68 65 20 73 65 72 76 65 72 20 77 69 6c | .the server wil| 000056f0 6c 20 6e 6f 74 20 65 78 63 65 65 64 20 26 32 30 |l not exceed &20| 00005700 20 62 79 74 65 73 2e 20 0d | bytes. .| 00005709