|★ APPLICATIONS ★ DIVERS ★ VOLEX TTX 2000A ROM ★|
|Volex TTX 2000A ROM||Modem - Volex TTX 2000A|
I could write a book about the |PAGE command. What a pity Volex haven't. Experiments indicate that the command initially clears the transfer buffer, and unlike a page selection in terminal mode, only grabs that page the first time it appears. What's more there is absolutely no way suggested of finding out if the page has arrived yet (the example programs simply wait for 30 seconds). Obvious-looking programs made of |PAGE and |DISPLAY commands in small loops never worked. The |PAGE command returns control at once, and the mechanism, hard or soft interrupt or whatever, that controls the acquisition when the relevant page comes round is not described.
When the page has arrived it is sent to the screen (this time 960 bytes) with a |DISPLAY,[address] command. All this means that it is very difficult to show a set of rolling pages or select a single sub-page. The best I could manage was to |PAGE, then sit in a loop staring at the point early on in the transfer buffer where the page number from the top line will appear, then if required check within the body of the buffer for the characters, for example "3/10" proclaiming the required sub-page, then |DISPLAY the page after a necessary (why?) short delay. In this way I was able to write a program to find the Amstrad share price. Channel 4 (sorry, channel 3), Page 501, sub-page 3/10, bytes 496,7 and 8 at the time of writing. Beware, the bytes often have 128 added to the Ascii expected. Normal binary Save and Load commands can be used to swap pages from tape or disc and the transfer buffer and, with the possible use of multiple transfer buffers, can help create some really fancy effects.
One final point, |PAGE takes the page number as a text string and for this and all the other commands requiring text parameters the user guide assumes a 1.1 firmware ROM. Thus if you have a 464, for |PAGE,"501" read p$="501": |PAGE,@p$ etc, throughout the user guide. Two commands allow you to read back the page and channel settings, just in case you forgot. Now, if the |RD,PAGE only returned the page number and sub-code after the requested page had been received ... The adapter initialises, with no sign-on message, as ROM 5 (and 8 thro' 15 tut, tut!) grabbing just over 1,000 bytes of RAM. Tinkering with HIMEM is needed to find space for the transfer buffer and enough of the functions require memory in the absolute address range &8000 to &9000 for you to need to check that this will not clash with the memory requirements of other add-ons and RSXs or your Basic programs.
If you have a Maxam ROM Amstrad serial interface or other means to perform a ROM catalogue you will discover the command |HELP, which catalogues the TTX 2000 ROM. Typing |HELP then leads to speculation as to what the mysterious |HON, |HOFF and |HAMMING commands do, what their parameters are for, and how you use them (hamming is the error detecting and correction scheme used by Teletext). Included are a number of commands for telesoftware and text downloading both in terminal and applications mode. Unfortunately I was unable to keep the dreaded CRC errors at bay long enough to confirm the operation of any of these. Maybe I do need the new aerial.