Difference between revisions of "The TELSTAR Videotex System"

From GlassTTY
Jump to: navigation, search
m (Baud Rate)
m (BBC Micro, Apple II and other Vintage Systems)
(22 intermediate revisions by the same user not shown)
Line 25: Line 25:
 
[[File:TelecomComputerphone2.jpeg|Telecom Computerphone (this is the Australian version of the ICL OPD) to Telstar via a SIP VOIP box into an Asterisk Softmodem direct to Telstar.]]
 
[[File:TelecomComputerphone2.jpeg|Telecom Computerphone (this is the Australian version of the ICL OPD) to Telstar via a SIP VOIP box into an Asterisk Softmodem direct to Telstar.]]
  
The aim of the system is to provide a Viewdata experience for anyone who is interested in how things 'used to be'. Services in the past typically provided access via the public switched telephone network (PSTN) connection, however, Telstar makes use of a simple internet connection. Three Telstar servers currently operate from Digital Ocean's data centre in London and can be accessed using either a Telnet modem in conjunction with a home computer or from a PC/Mobile device using Richard T Russell's BBC Basic for SDL 2.0 example (see below).
+
The aim of the system is to provide a Viewdata experience for anyone who is interested in how things 'used to be'. Services in the past typically provided access via the public switched telephone network (PSTN) connection and this is indeed how Telstar works, however, Telstar also makes use of a simple internet connection for modern internet modems.  
 +
 
 +
The service can be accessed using a traditional V23 modem or an internet modem in conjunction with a home computer. In the case of the BBC Microcomputer, Acorn's Prestel adapter can be used. In addition access can be gained from from a PC or Mobile device using Richard T Russell's BBC Basic for SDL 2.0 or Matrix Brandy BASIC V for Linux. Access can even be gained from the web thanks to the efforts of Simon Laszcz (see below).
  
 
For a full up to date list of content available through Telstar, please se the '''[[TELSTAR Directory]]'''.
 
For a full up to date list of content available through Telstar, please se the '''[[TELSTAR Directory]]'''.
  
TELSTAR is written in Python 3 and it is hosted on Digital Ocean cloud based servers in the London data centre. Each 'live' server can handle many concurrent connections. The host OS is Linux and all TELSTAR services are managed by systemd.
+
==Connecting and Using the Service==
 +
 
 +
The service can be accessed using a vintage computer such as the BBC Microcomputer, Apple II (II+///e etc), Torch or Archimedes etc. There are two main ways to access telstar.  
  
==Connecting and Using the Service==
+
Dial in service using a 1200/75 full duplex V23 modem:
  
===BBC Micro, Apple II and other Vintage Systems===
+
    Baud Rate:  1200/75 full duplex
 +
    Word Length: 7
 +
    Parity:      Even
 +
    Stop Bits:  1
 +
 +
The telephone number for access is:
  
The service can be accessed using a vintage computer such as the BBC Microcomputer, Apple II (II+///e etc), Torch or Archimedes using an [[#Internet Modem]], see below.
+
    01756 664433
  
A vintage home computer requires suitable videotext software. Software designed for use with Prestel will usually work with Telstar, packages are available for the BBC Micro such as Commstar, Anteloper for the Apple II/II+ or Gazelle for the later Apple II machines. Other software packages produced in the 1980-90s exist for other systems. Ideally the software should be configured as follows
+
Internet service using a network modem (see below) set as follows. Telstar is listening on the following endpoints:
  
     Baud Rate:  2400
+
     Baud Rate:  1200/1200 full duplex
 +
    Word Length: 8
 
     Parity:      None
 
     Parity:      None
    Word Length: 8
 
 
     Stop Bits:  1
 
     Stop Bits:  1
 
 
Each internet modem will have its own method for connecting to an IP Address and Port combination, Telstar is listening on the following endpoints.
 
  
 
There are three instances of the TELSTAR service, these are named 'CURRER', ELLIS' and 'ACTON' respectively, see the article '''[[Telstar: What's in a Name]]'''. The first two are identical and are available at the following addresses.
 
There are three instances of the TELSTAR service, these are named 'CURRER', ELLIS' and 'ACTON' respectively, see the article '''[[Telstar: What's in a Name]]'''. The first two are identical and are available at the following addresses.
Line 61: Line 67:
  
 
Please Note that these endpoints are not Telnet Servers nor Web Servers, they are simply TCP listeners that support the videotex application protocol.
 
Please Note that these endpoints are not Telnet Servers nor Web Servers, they are simply TCP listeners that support the videotex application protocol.
 +
 +
===BBC Micro, Apple II and other Vintage Systems===
 +
 +
A vintage home computer requires suitable videotext software. Software designed for use with Prestel will usually work with Telstar, packages are available for the BBC Micro such as Commstar or Acorn's Prestel software. The Apple II/II+ is supported with Anteloper, and Gazelle can be used with the later Apple II machines. Other software packages produced in the 1980-90s exist for other systems. Network modems generally require that the software supports the same baud rate for send and receive which may limit the choice in some cases (see below).
 +
 +
'''V23 Modems'''
 +
 +
Most V23 (1200/75 baud) modems or dedicated videotex terminals will work with Telstar's dial in service on 01756 664433, in the case of the BBC Microcomputer, this includes the Acorn Prestel adapter. The system has been tested with the following devices:
 +
 +
* Acorn Prestel Adapter\
 +
* Miracle W2000 Modem
 +
* Pace Nightingale Modem
 +
* Prism Modem 1000
 +
 +
'''Viewdata Terminals'''
 +
 +
* Tandata Td1616
 +
 +
'''Network Modems'''
 +
 +
Suitable modems include the Wifi based solution from Daniel Jameson, see the article (http://www.amibay.com/showthread.php?99878-WiFi-retro-Modem-for-under-a-tenner). Alternatively consider a WiModem232 (https://www.cbmstuff.com/proddetail.php?prod=WiModem232OLED). For a simple do-it-yourself solution the Arduino based device described in the article [[Building an Arduino Based TELSTAR Modem]] could be used. For a better experience using one of these modems, please see the article '''[[Using an Internet Modem For Telstar]]''' and the section '''[[#Telstar is not Telnet]]'''
  
 
===RiscOS 5===
 
===RiscOS 5===
Line 73: Line 100:
  
 
Matrix Brandy is a fork of Brandy Basic, a BBC Basic V interpreter written by David Daniels and distributed under the GNU General Public Licence Version 2. It was Developed on a CentOS 6 32-bit machine, tested on both CentOS 6 64-bit and a Raspberry Pi. Matrix Brandy BASIC V for Linux with SDL can be found here (http://brandy.matrixnetwork.co.uk/), it includes a 'Telstar' client compiled as a Windows executable http://brandy.matrixnetwork.co.uk/testing/telstar.zip.
 
Matrix Brandy is a fork of Brandy Basic, a BBC Basic V interpreter written by David Daniels and distributed under the GNU General Public Licence Version 2. It was Developed on a CentOS 6 32-bit machine, tested on both CentOS 6 64-bit and a Raspberry Pi. Matrix Brandy BASIC V for Linux with SDL can be found here (http://brandy.matrixnetwork.co.uk/), it includes a 'Telstar' client compiled as a Windows executable http://brandy.matrixnetwork.co.uk/testing/telstar.zip.
 
===Internet Modem===
 
 
The service can be accessed using an internet modem such as the Arduino based device described in the article [[Building an Arduino Based TELSTAR Modem]]. Alternatively, for a Wifi based solution, see Daniel Jamesons article (http://www.amibay.com/showthread.php?99878-WiFi-retro-Modem-for-under-a-tenner) or consider a WiModem232 (https://www.cbmstuff.com/proddetail.php?prod=WiModem232OLED).
 
 
For a better experience using one of these modems, please see the article '''[[Using an Internet Modem For Telstar]]''' and the section '''[[#Telstar is not Telnet]]'''
 
  
 
===Web Browser===
 
===Web Browser===
Line 143: Line 164:
  
 
===Gateway Content===
 
===Gateway Content===
Telstar has a simple gateway facility that allows content from other systems to be presented within Telstar, one such source is the Colossal Cave Adventure game. The adventure game is actually run on a separate server to that of Telstar with the interactive content passing through the gateway service.
+
Telstar has a simple gateway facility see [[#Technical Information]] that allows content from other systems to be presented within Telstar, one such source is the Colossal Cave Adventure game. The adventure game is actually run on a separate server to that of Telstar with the interactive content passing through the gateway service.
  
 
==Routing==
 
==Routing==
Line 162: Line 183:
 
Routing by default follows the ''pure'' approach, e.g. if the user is viewing page ''2'' and selects a ''1'', page ''21'' will be shown. This is not always appropriate therefore, a ''Routing Map'' dictionary is implemented. In cases where the ''pure'' routing method is inappropriate e.g. in the above example where pressing ''1'' should route to page ''800'' the Routing Map will define this. This means that when following the menu selections pages, data from different information providers can be displayed. This mimics the original Prestel ''Cross Referencing'' service and allows full interlinking of content.
 
Routing by default follows the ''pure'' approach, e.g. if the user is viewing page ''2'' and selects a ''1'', page ''21'' will be shown. This is not always appropriate therefore, a ''Routing Map'' dictionary is implemented. In cases where the ''pure'' routing method is inappropriate e.g. in the above example where pressing ''1'' should route to page ''800'' the Routing Map will define this. This means that when following the menu selections pages, data from different information providers can be displayed. This mimics the original Prestel ''Cross Referencing'' service and allows full interlinking of content.
  
Prestel used to have a three frame history allowing the special sequence *# to move back up to three frames. Telstar has an unlimited history. All other special sequences used by Prestel are supported.
+
Prestel used to have a three frame history allowing the special sequence *# to move back up to three frames. Telstar has a 100 page history accessed in the same manner. All other special sequences used by Prestel are supported.
  
 
==Telesoftware==
 
==Telesoftware==
Line 175: Line 196:
  
 
It is the aim of TELSTAR to respect all copyrights and trade maeks. Please let me know if you are affected by any software and content that is published on the system or this site.
 
It is the aim of TELSTAR to respect all copyrights and trade maeks. Please let me know if you are affected by any software and content that is published on the system or this site.
 
==Gateway Facilities==
 
 
TELSTAR features a full duplex 'proxy' Gateway to other viewdata. At the time of writing it is possible to 'gateway' to CCL4 (Tetrachloromethane), NXTEL, and the test version of TELSTAR. In addition, it is also possible to access some none viewdata systems, see [[#Colossal Cave Adventure]] below.
 
  
 
==Colossal Cave Adventure==
 
==Colossal Cave Adventure==
  
TELSTAR, via its [[#Gateway Facilities]] can now access the famous 360 point version of Colossal Cave Adventure.
+
TELSTAR, via its [[#Technical Information]] can now access the famous 360 point version of Colossal Cave Adventure.
  
 
Colossal Cave Adventure (also known as ADVENT, Colossal Cave, or Adventure) is a text adventure game, developed originally in 1976, by Will Crowther for the PDP-10 mainframe. The game was expanded upon in 1977, with help from Don Woods.
 
Colossal Cave Adventure (also known as ADVENT, Colossal Cave, or Adventure) is a text adventure game, developed originally in 1976, by Will Crowther for the PDP-10 mainframe. The game was expanded upon in 1977, with help from Don Woods.
 
==Response Frames==
 
TELSTAR includes the facility to present forms to the user requesting input. The frames are referred to as response frames. The first use of this functionality was for the city/town/region search facility for the weather service.
 
 
Response Frames are defined as standard Frame but include a collection of Fields. The fields include field validation and rendering information and are passed to a Response Processor when submitted by the user. The Response Processor handles the users request (e.g. get weather info) and generates temporary in-memory frames to display the results.
 
  
 
==Meta-Data==
 
==Meta-Data==
Line 207: Line 219:
 
Videotex clients do not normally scroll. When the cursor is positioned below the bottom row it appears on the top row, similarly a cursor that is moved up from the top row will appear on the bottom row. The same is true for left and right cursor movements. In line with historic videotex services, Telstar uses this behaviour to calculate the shortest path when positioning the cursor. For example if a status message is to be displayed on the bottom row, and the cursor is currently on the top row, Telstar will move the cursor up as this is the shortest route to the bottom row. For developers creating videotex clients, this will need to be taken into account.
 
Videotex clients do not normally scroll. When the cursor is positioned below the bottom row it appears on the top row, similarly a cursor that is moved up from the top row will appear on the bottom row. The same is true for left and right cursor movements. In line with historic videotex services, Telstar uses this behaviour to calculate the shortest path when positioning the cursor. For example if a status message is to be displayed on the bottom row, and the cursor is currently on the top row, Telstar will move the cursor up as this is the shortest route to the bottom row. For developers creating videotex clients, this will need to be taken into account.
  
==The Database==
+
==Technical Information==
TELSTAR does not make use of a database engine. All static Frame objects are created from the TELSTAR GIT source repository at the time of deployment and stored as ''pickled'' Frame objects. During deployment, the dynamic content frames are built and stored in the same way as the static frames, however, these frames are re-created every 20 minutes in order to update the content.
+
 
 +
===Internet Servers===
 +
 
 +
TELSTAR consists of three separate services running on Digital Ocean's cloud based Linux servers. These are located in the London data centre. Each service can handle multiple simultaneous connections.
 +
 
 +
===PSTN Modems===
 +
 
 +
Multiple Dowty Quattro modems are connected via analogue telephone adapters (ATAs) to Session Initiation Protocol (SIP) based telephone lines to provide a dial-in service. These modems use a Modem Gateway to connect to the Telstar services.
 +
 
 +
===Modem Gateway===
 +
 
 +
A modem gateway running on an Arch Linux server is located in Skipton, North Yorkshire and routes incomming dial-in connections to the Telnet services. Multiple lines are supported.
 +
 
 +
===Software===
 +
 
 +
All of the server and gateway software is written in Python 3. TELSTAR does not make use of a database engine. All static Frame objects are created from the TELSTAR GIT source repository at the time of deployment and stored as ''pickled'' Frame objects. During deployment, the dynamic content frames are built and stored in the same way as the static frames, however, these frames are re-created every 20 minutes in order to update the content.
  
The Routing Map is also defined within the TELSTAR GIT source repository and is loaded into memory when the TELSTAR service starts.
+
Routing is mainly rules based and makes most routing automatic. Others make use of a static Routing Map which is loaded into memory when the TELSTAR service starts.
 +
 
 +
TELSTAR features a full duplex 'proxy' Gateway to other viewdata. At the time of writing it is possible to 'gateway' to CCL4 (Tetrachloromethane), NXTEL, and
 +
TEEFAX. In addition, it is also possible to access some none viewdata systems, see [[#Colossal Cave Adventure]] below.
 +
 
 +
TELSTAR includes the facility to present forms to the user requesting input. The frames are referred to as response frames. The first use of this functionality was for the city/town/region search facility for the weather service.
 +
 
 +
Response Frames are defined as standard Frame but include a collection of Fields. The fields include field validation and rendering information and are passed to a Response Processor when submitted by the user. The Response Processor handles the users request (e.g. get weather info) and generates temporary in-memory frames to display the results.
  
 
==Acknoledgements==
 
==Acknoledgements==
Line 232: Line 266:
 
* Dave Banks https://github.com/hoglet67/
 
* Dave Banks https://github.com/hoglet67/
 
* 'dukkie' http://stardot.org.uk/forums/memberlist.php?mode=viewprofile&u=10052
 
* 'dukkie' http://stardot.org.uk/forums/memberlist.php?mode=viewprofile&u=10052
 +
 +
===Service Providers===
 +
 +
* Servers - Digital Ocean (https://digitalocean.com)
 +
* SIP Services - Sipgate (https://sipgate.com)
 +
* Analogue Telephone Adapters - Grandstream (https://http://www.grandstream.com/)
  
 
==References==
 
==References==

Revision as of 22:52, 26 March 2020

Welcome Page
Telstar being accessed using BBC Basic for SDL
Telstar being accessed in 2018 using a Torch CPN based computer using Torch's own Uniview software
Telstar Gateway Services
Colossal Cave Adventure
Weather Services
Five Day Forecast
Travel Pages
Highways England Road Reports
Office of Road and Rail
Telesoftware Pages
Service Pages
Engineering Test Page
Up to date News from Reuters
Up to date News from the BBC
The worlds leading liberal voice
Up to date News from the Mail
Up to date News from the Express
TELSTAR accessed using Hearsay on Risc OS5
Telecom Computerphone (this is the Australian version of the ICL OPD) connected to Telstar via a SIP VOIP box into an Asterisk PBX with Softmodem software.
Tandata Terminal connected to Telstar via a SIP VOIP box into an Asterisk PBX with Softmodem software.

The TELSTAR videotex system, developed in 2018, is a modern application that provides a simple viewdata/videotext platform similar to those that were prevalent during the 1980s such as Prestel (https://en.wikipedia.org/wiki/Prestel).

Telecom Computerphone (this is the Australian version of the ICL OPD) to Telstar via a SIP VOIP box into an Asterisk Softmodem direct to Telstar.

The aim of the system is to provide a Viewdata experience for anyone who is interested in how things 'used to be'. Services in the past typically provided access via the public switched telephone network (PSTN) connection and this is indeed how Telstar works, however, Telstar also makes use of a simple internet connection for modern internet modems.

The service can be accessed using a traditional V23 modem or an internet modem in conjunction with a home computer. In the case of the BBC Microcomputer, Acorn's Prestel adapter can be used. In addition access can be gained from from a PC or Mobile device using Richard T Russell's BBC Basic for SDL 2.0 or Matrix Brandy BASIC V for Linux. Access can even be gained from the web thanks to the efforts of Simon Laszcz (see below).

For a full up to date list of content available through Telstar, please se the TELSTAR Directory.

Connecting and Using the Service

The service can be accessed using a vintage computer such as the BBC Microcomputer, Apple II (II+///e etc), Torch or Archimedes etc. There are two main ways to access telstar.

Dial in service using a 1200/75 full duplex V23 modem:

   Baud Rate:   1200/75 full duplex
   Word Length: 7
   Parity:      Even
   Stop Bits:   1

The telephone number for access is:

   01756 664433

Internet service using a network modem (see below) set as follows. Telstar is listening on the following endpoints:

   Baud Rate:   1200/1200 full duplex
   Word Length: 8
   Parity:      None
   Stop Bits:   1

There are three instances of the TELSTAR service, these are named 'CURRER', ELLIS' and 'ACTON' respectively, see the article Telstar: What's in a Name. The first two are identical and are available at the following addresses.

   Url:  glasstty.com
   Port: 6502
   Url:  glasstty.com
   Port: 6503

The third service is used to test new features and may be subject to short periods of interruption.

   Url:  glasstty.com
   Port: 6504

Please Note that these endpoints are not Telnet Servers nor Web Servers, they are simply TCP listeners that support the videotex application protocol.

BBC Micro, Apple II and other Vintage Systems

A vintage home computer requires suitable videotext software. Software designed for use with Prestel will usually work with Telstar, packages are available for the BBC Micro such as Commstar or Acorn's Prestel software. The Apple II/II+ is supported with Anteloper, and Gazelle can be used with the later Apple II machines. Other software packages produced in the 1980-90s exist for other systems. Network modems generally require that the software supports the same baud rate for send and receive which may limit the choice in some cases (see below).

V23 Modems

Most V23 (1200/75 baud) modems or dedicated videotex terminals will work with Telstar's dial in service on 01756 664433, in the case of the BBC Microcomputer, this includes the Acorn Prestel adapter. The system has been tested with the following devices:

  • Acorn Prestel Adapter\
  • Miracle W2000 Modem
  • Pace Nightingale Modem
  • Prism Modem 1000

Viewdata Terminals

  • Tandata Td1616

Network Modems

Suitable modems include the Wifi based solution from Daniel Jameson, see the article (http://www.amibay.com/showthread.php?99878-WiFi-retro-Modem-for-under-a-tenner). Alternatively consider a WiModem232 (https://www.cbmstuff.com/proddetail.php?prod=WiModem232OLED). For a simple do-it-yourself solution the Arduino based device described in the article Building an Arduino Based TELSTAR Modem could be used. For a better experience using one of these modems, please see the article Using an Internet Modem For Telstar and the section #Telstar is not Telnet

RiscOS 5

Telstar can be accessed using RiscOS on modern hardware, such as a Raspberry Pi, using software written by David Pilling called Hearsay II (https://www.davidpilling.com/hearsay.html), see screenshot below right. This package has been updated to include direct TCP connections. This allows the software to be connected directly to Telstar by simply entering glasstty.com, 6503 when prompted. Naturally this will require a DNS server to have been configured within RiscOS. Alternatively the IP address of glasstty.com can be used.

Windows, Linux, Mac OS-X, IOS, Android and Raspberry Pi

To experience Telstar properly it needs to be accessed by an early microcomputer for the videotex era. However, there are several methods of accessing the service using modern devices.

Richard T Russell has written BBC BASIC for SDL 2.0 (https://www.bbcbasic.co.uk/bbcsdl/) which is available for desktop (Windows, Linux, Mac OS-X, Raspberry Pi) and mobile devices (Android/IOS). This product includes a Telstar client within the General section of the included examples.

Matrix Brandy is a fork of Brandy Basic, a BBC Basic V interpreter written by David Daniels and distributed under the GNU General Public Licence Version 2. It was Developed on a CentOS 6 32-bit machine, tested on both CentOS 6 64-bit and a Raspberry Pi. Matrix Brandy BASIC V for Linux with SDL can be found here (http://brandy.matrixnetwork.co.uk/), it includes a 'Telstar' client compiled as a Windows executable http://brandy.matrixnetwork.co.uk/testing/telstar.zip.

Web Browser

Simon Laszcz has kindly provided a web interface to Telstar and other videotex systems here https://vd-view.azurewebsites.net/.

Telstar is not Telnet

Whilst TELSTAR is accessed using TCP/IP it is not a Telnet Server. However, TELSTAR does include a Telnet parser which will respond to a very small subset of Telnet negotiation requests.

When a client first connects, TELSTAR attempts a simple negotiation with the client to establish two protocol settings;

  • to ask the client to not use line mode;
  • to indicate that the server will echo any characters received,

Non-Telnet clients can safely ignore this negotiation request completely.

Baud Rate

TELSTAR is designed to operate at 1200 baud when accessed by non-Telnet clients (see below), this speed is set at the server.

Why is Telstar Throttled to 1200 Baud?

This is probably the most common question asked in relation to Telstar. There are two main reasons why throttling exists.

  • Prestel was 1200 Baud - This is not strictly accurate of course, it was the modems most commonly used with Prestel that received at 1200 baud, Prestel had a 300 baud service and other speeds were sometimes used for editors and administrators etc.

One of the aims of Telstar was to recreate the feel of an online system such as Prestel the near instant access but slow rendering of pages sets it apart from Teletext page displays of systems such as Ceefax and Oracle.

  • Menu Navigation - The way in which menus were navigated on a Prestel type system was primarily through single key presses, e.g. '2' for the News Menu followed by '1' for BBC News etc. A user pressing '2' for the News Menu could immediately follow this by pressing 1 for BBC News and this would cancel the rendering of the News Menu and invoke rendering of the BBC News page. This may seem trivial today but this syetem worked really well and I particularly wanted Telstar to behave in this way to give users the full experience. This is only really possible with Telstar running at a throttled speed.

I want to go Faster!

Whilst TELSTAR is accessed using TCP/IP it is not a Telnet Server. However, TELSTAR does include a Telnet parser which will respond to a very small subset of Telnet negotiation requests. see #Telstar is not Telnet.

If Telstar identifies the client as a Telnet client, the system will run at full speed. Non-Telnet clients can safely ignore this negotiation request completely. If you are writing a client and you want full speed access, simply send something like FF FD 03 after connecting. This is the IAC DO SUPPRESS-GO-AHEAD sequence.

For example Richard Russell's BBC Basic client uses the following code just after successfully connecting.

   REM Start the telnet negotiation:
   init$ = CHR$255 + CHR$253 + CHR$3 : REM IAC DO SUPPRESS-GO-AHEAD
   PROCout(init$)

Similarly if you want to use Richard's client at the 1970/80s speed then simply remove that sequence e.g.

   REM Start the telnet negotiation:
   REM init$ = CHR$255 + CHR$253 + CHR$3 : REM IAC DO SUPPRESS-GO-AHEAD
   REM PROCout(init$)

Content

For a full list of the content available please see the TELSTAR Directory. This is currently a 'work in progress' and will be expanded as the content is developed.

There are four main sources of content, these are described below.

Auto-Generated Content

Currently the system takes several live feeds from the BBC, Reuters, Daily Mail, Express, Stardot.co.uk and others. This provides current and automatically updated news and financial information as well as information relating to arts, culture, sport etc. The data is typically refreshed every 10 minutes.

Static Content

Some static content is provided, this includes index and routing frames as well as those encoded frames used for Telesoftware.

API Content

Some content is created by accessing external APIs. For example, the Weather service accesses the OpenWeatherMap API.

Gateway Content

Telstar has a simple gateway facility see #Technical Information that allows content from other systems to be presented within Telstar, one such source is the Colossal Cave Adventure game. The adventure game is actually run on a separate server to that of Telstar with the interactive content passing through the gateway service.

Routing

Routing is loosly based on the Prestel system, where navigation can take place by following the menu system, additionally, direct access to a page can be gained by using the special combination shown below.

   *<page number>#
       
       e.g. *890#

Some special combinations allow for pages to be redisplayed of for navigation to a previous page as follows;

   *00 Re-display current frame.
   *09 Re-diaplay current frame (included for compatibility).
   *#  Navigate to the previous page.


Routing by default follows the pure approach, e.g. if the user is viewing page 2 and selects a 1, page 21 will be shown. This is not always appropriate therefore, a Routing Map dictionary is implemented. In cases where the pure routing method is inappropriate e.g. in the above example where pressing 1 should route to page 800 the Routing Map will define this. This means that when following the menu selections pages, data from different information providers can be displayed. This mimics the original Prestel Cross Referencing service and allows full interlinking of content.

Prestel used to have a three frame history allowing the special sequence *# to move back up to three frames. Telstar has a 100 page history accessed in the same manner. All other special sequences used by Prestel are supported.

Telesoftware

The protocol used for Telesoftware is described in the document File:Prestel Telesoft Protocol Low Res.pdf.

The provided TEST program is a tokenised BBC BASIC program aimed at providing a simple mechanism for users to test their respective client systems.

More software will be published as it becomes available.

Copyrights and Trade Marks

It is the aim of TELSTAR to respect all copyrights and trade maeks. Please let me know if you are affected by any software and content that is published on the system or this site.

Colossal Cave Adventure

TELSTAR, via its #Technical Information can now access the famous 360 point version of Colossal Cave Adventure.

Colossal Cave Adventure (also known as ADVENT, Colossal Cave, or Adventure) is a text adventure game, developed originally in 1976, by Will Crowther for the PDP-10 mainframe. The game was expanded upon in 1977, with help from Don Woods.

Meta-Data

Telstar sends meta-data in a short text response just prior to the first frame being sent and allows clients to automatically update system clocks etc. The meta-data (UTC Date and time only at the moment) sits between the first character 0x0C and a subsequent 0x0C. The char 0x0C is a clear screen character which means that normal users of the system will not see this data, however, clients will.

The first data received from Telstar will look something like the following:

   \x0c20180720T1005Z\x0c ...

The date and time in UTC is shown as follows 20180720T1007Z, meaning 10:05, 20 July 2018 UTC.

PLEASE NOTE, this is only appears on the initial page (page 99), however this page can be re-displayed at anytime by accessing page *99#.

Screen Roll Over

Videotex clients do not normally scroll. When the cursor is positioned below the bottom row it appears on the top row, similarly a cursor that is moved up from the top row will appear on the bottom row. The same is true for left and right cursor movements. In line with historic videotex services, Telstar uses this behaviour to calculate the shortest path when positioning the cursor. For example if a status message is to be displayed on the bottom row, and the cursor is currently on the top row, Telstar will move the cursor up as this is the shortest route to the bottom row. For developers creating videotex clients, this will need to be taken into account.

Technical Information

Internet Servers

TELSTAR consists of three separate services running on Digital Ocean's cloud based Linux servers. These are located in the London data centre. Each service can handle multiple simultaneous connections.

PSTN Modems

Multiple Dowty Quattro modems are connected via analogue telephone adapters (ATAs) to Session Initiation Protocol (SIP) based telephone lines to provide a dial-in service. These modems use a Modem Gateway to connect to the Telstar services.

Modem Gateway

A modem gateway running on an Arch Linux server is located in Skipton, North Yorkshire and routes incomming dial-in connections to the Telnet services. Multiple lines are supported.

Software

All of the server and gateway software is written in Python 3. TELSTAR does not make use of a database engine. All static Frame objects are created from the TELSTAR GIT source repository at the time of deployment and stored as pickled Frame objects. During deployment, the dynamic content frames are built and stored in the same way as the static frames, however, these frames are re-created every 20 minutes in order to update the content.

Routing is mainly rules based and makes most routing automatic. Others make use of a static Routing Map which is loaded into memory when the TELSTAR service starts.

TELSTAR features a full duplex 'proxy' Gateway to other viewdata. At the time of writing it is possible to 'gateway' to CCL4 (Tetrachloromethane), NXTEL, and TEEFAX. In addition, it is also possible to access some none viewdata systems, see #Colossal Cave Adventure below.

TELSTAR includes the facility to present forms to the user requesting input. The frames are referred to as response frames. The first use of this functionality was for the city/town/region search facility for the weather service.

Response Frames are defined as standard Frame but include a collection of Fields. The fields include field validation and rendering information and are passed to a Response Processor when submitted by the user. The Response Processor handles the users request (e.g. get weather info) and generates temporary in-memory frames to display the results.

Acknoledgements

Weather Services

Artwork

Technical Help

Service Providers

References

  • [1] Fedida, S. & Malik, R. (1979) The Viewdata Revolution Associated Business Press
  • [2] Martin, J. (1982) Viewdata and the Information Society Prentice Hall
  • [3] Money, S.A. (1979) Teletext and Viewdata Newnes
  • [4] Stokes, A. (1980) Viewdata: a public information utility (2nd Ed.)
  • [5] Council for Educational Training (CET) (1986) Format Recommendations for Prestel Telesoftware CET

See Also