If you are searching for an interactive teletext TV emulation, try my online teletext viewer.
This is a quick start guide to using microcomputer emulators which implement a teletext decoder peripheral, and support a live teletext packet source.
Setting up a teletext packet server
The following instructions will get a single packet server running on port 19761, outputting the community run Teefax service. Custom services can be created using vbit2, or an off-air packet stream from a TV capture card could be used, but that is outside the scope of this guide.
Installing on Microsoft Windows
- Download the latest vbit2 binary from github
- Download the latest teletext-packet-server binary from github and place in the same directory as vbit2.exe
- Download and install a command-line subversion client if you don't already have one (I use TortoiseSVN).
Use it to check out the Teefax teletext service in your vbit2 directory using:
svn checkout http://teastop.plus.com/svn/teletext/ teefax
- Run the following command in the same directory:
vbit2.exe --dir ./teefax | packet-server.exe -p 19761 -l 16
Windows will ask for permission to open the firewall.
Installing on Linux
- Download the latest vbit2 source bundle from github (or clone with git), and compile it using
make
- Download the latest teletext-packet-server source from github and place packet-server.py in your vbit2 directory
- Install a command-line subversion client if you don't already have one.
Use it to check out the Teefax teletext service in your vbit2 directory using:
svn checkout http://teastop.plus.com/svn/teletext/ teefax
- Run the following command in the same directory:
./vbit2 --dir ./teefax | ./packet-server.py -p 19761 -l 16
[Configure::Configure] Started
[Configure::Configure] Pages directory is ./teefax
...
[Service::run] Lines per field: 16
To check for updates to Teefax run svn up
in the teefax directory. This can be automated with a scheduled task on Windows, or a cron job or systemd timer on Linux.
The packet server is primarily intended for use on localhost. It will also work across a fast LAN, but struggles on slower wifi networks. Serving packets over the internet is not recommended.
Other services
In addition to Teefax, there is a Ceefax service run by Nathan Dane. This is also distributed using subversion and can be downloaded the same way:
svn checkout https://internal.nathanmediaservices.co.uk/svn/ceefax/national ceefax
.
See the Manual Installation section on the linked page for more details about regional pages.
Other services use git for distribution (Windows client).
- Chunkytext:
git clone https://zxnet.co.uk/git/cf.git chunkytext
- Spark from TVARK:
git clone https://github.com/spark-teletext/spark-teletext.git spark
Substitute the directory name in the --dir
argument of vbit2, and change the port number argument (-p
) in the packet server if you want to run multiple services at once. By default emulators use ports 19761-19764 for their four channel presets.
You must also set the packet server lines per field argument (-l
) correctly for the chosen teletext service. This value can be found in the service's vbit.conf file, and is displayed in the console output when vbit2 starts.
Using BeebEm
The Stardot fork of BeebEm for Windows emulates the Acorn ANE01 Teletext Adapter.
- Download and install the latest build of BeebEm from github
- Start BeebEm and go to Hardware->Edit ROM Configuration
Select BBC B and the13 (D)
row. (By default this is empty).
Click Select ROM and choose the ATS-3.0-1.rom file from the BBC directory and OK the dialogs. - Select Hardware->Teletext Data->IP:Localhost:19761-19764 and enable Hardware->Teletext Adapter On/Off
- Reset the emulator (File->Reset). A connection message should appear in the packet-server console.
- Enter the command
*TELETEXT
on the emulated BBC. The Advanced Teletext System terminal should start up on and acquire the index page.
I recommend using the ATS ROM for modern services. The earlier Acorn TFS ROM is very confusing to use and lacks Fastext.
If Hardware->Teletext Data->IP:Custom destination is selected, BeebEm will use the IP address and port numbers specified in preferences.cfg. This enables connections over the network, on alternative ports, and ‘tuning’ the same packet source on more than one ‘channel’ preset.
Hardware->Teletext Data->Capture files reads from four static files as in previous versions of BeebEm.
Using Fuse
Fuse – the Free Unix Spectrum Emulator, emulates the TTX2000 S adaptor.
- Download and install version 1.6.0 or higher of Fuse.
- Download a firmware ROM image and place in Fuse's roms directory, renaming the file to ttx2000s.rom.
- Start Fuse and enable TTX2000 S emulation from the Options->Peripherals->General menu. Alternatively the adaptor can be enabled by using the command line argument
--ttx2000s
. - The Spectrum should boot into the adaptor's ROM and will attempt to connect to a packet server on port 19761 on localhost.
- Pressing enter will switch into page acquisition mode.
Note: The TTX2000 S firmware only supports 12 lines per field or fewer by default. If the teletext service and packet server are configured to use more than 12 lines (as in the TEEFAX example above), you must exit to BASIC using the e
key and enter the following workaround:
POKE 23394,33
RANDOMIZE USR 23500
The POKE keyword is obtained by pressing the o
key. RANDOMIZE is entered using the t
key. USR is obtained by pressing shift
and ctrl
simultaneously to enter extend mode (E cursor) followed by pressing the l
key. For more details on what this poke does see my TTX2000 S page.
By default Fuse maps the four channel presets of the adaptor to ports 19761-19764 on localhost, but alternative ports, and ip addresses or hostnames can be specified on the command line or in Fuse's configuration file. For example:
fuse --ttx2000s --teletext-addr-2 192.168.1.100 --teletext-port-2 19761
Would ‘tune’ channel 2 to a packet server listening on port 19761 of the computer with that ip.
The TTX2000 S telesoftware option automatically changes channel to preset 4, so if you wish to experiment with telesoftware you may wish to set the port 4 argument to mirror port 1 if you only use a single service. Chunkytext currently includes examples of telesoftware downloads for the TTX2000 S.