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 using VBIT2

The following instructions will get a VBIT2 hosting a teletext packet server on port 19761, outputting the community run Teefax service.

The packet server is primarily intended for use on localhost or a local network. Serving packets over the internet is not recommended.

Installing on Raspberry Pi OS

Follow the standard VBIT2 install instructions on the VBIT2 github wiki, then:

This will start a packet server on port 19761, and simultaneously begin generating a vbi signal using raspi‑teletext. If you wish to change the port number or disable the vbi output this can be achieved by editing the ~/.teletext-services/config.json file. See the VBIT2 wiki for details.

Other services and automated updates can be configured using the vbit-config tool.

Installing on Microsoft Windows

Windows will ask for permission to open the firewall.

Installing on Linux

Some output should appear in the console along the lines of:
[Configure::Configure] Started
[Configure::Configure] Pages directory is ./teefax
...
[Service::run] Lines per field: 16
[PacketServer::run] TCP packet server thread started

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.

Other services

In addition to Teefax, there is a recreated Ceefax service run by Nathan Dane. This is also distributed using subversion and can be downloaded a similar way:
svn checkout https://feeds.nmsni.co.uk/svn/ceefax/national ceefax
followed by
svn checkout https://feeds.nmsni.co.uk/svn/ceefax/REGION ceefax/regional
where REGION is one of the available ceefax regions.

Other services use git for distribution (Windows client).

Substitute the directory name in the --dir argument of VBIT2, and change the port number of --packetserver if you want to run multiple services at once. By default emulators use ports 19761-19764 for their four channel presets.

Standalone server

A simple standalone packet server written in python is also available from github, which can be fed t42 data from a pipe, or from a file specified with the -i argument.

An example of a restored 1985 Ceefax recording is available, and can be served by invoking the packet server with the arguments -p 19761 -l 4 -i BBC1-1985-12-28-goodenough.t42

Using BeebEm

The Stardot fork of BeebEm for Windows emulates the Acorn ANE01 Teletext Adapter.

For further usage instructions, refer to the Advanced Teletext System manual.

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.

The TTX2000 S adaptor can only be used with the original 16K or 48K Spectrum models. For further usage instructions, refer to the TTX2000 S manual.

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.