2 releases
0.1.1 | Sep 8, 2023 |
---|---|
0.1.0 | Sep 6, 2023 |
#86 in Emulators
165KB
201 lines
ttxcat
A command-line application that prints a Teletext page to the console.
Maps the Teletext characters to Unicode and color control sequences.
Examples
Show file contents
Print a teletext page stored in a binary file:
Source: zxnet.co.uk
URL format
You can also read the page data from a URL to an online Teletext editor. Note that the data is encoded in the URL. There is no network traffic.
(Source: Teletext editor at zxnet.co.uk)
Test page
Engineering test page (source: MODE 7 Teletext Test Pages). Note that characters are mapped from the English character subset to Unicode:
Show attributes
To see how a page is made, you can print the raw control codes known as "spacing attributes":
Source: zxnet.co.uk
Installation
With Cargo:
cargo install ttxcat
Features
The current version of ttxcat:
- Understands all of the attributes in the level 1 Teletext specification.
- Accepts control codes for changing the background and foreground colors.
- Maps mosaic graphics to the corresponding Unicode characters.
- Maps alphanumeric characters according to the national subset (English).
Missing features:
- Cannot print separated mosaic graphics as there are no Unicode characters for them.
- Does not handle double-height characters.
- Does not handle blinking characters.
- Shows parts of the page that are supposed to be concealed by default.
Usage
Full usage is provided by the --help
flag:
$ ttxcat --help
Print Teletext pages on the standard output.
Read the INPUT files given and prints their contents. With no INPUT, read standard input.
Also supports a URL in the format used by the online Teletext editor edit.tf.
In the url format, INPUT is a URL that contains all the data; there is no network traffic.
Unless the --format option is given, guess the format depending on INPUT. If INPUT starts with http: or https:, assumes --format=url. If INPUT ends with .hex, assumes --format=hex. Otherwise, assumes --format=raw.
Usage: ttxcat [OPTIONS] [INPUT]...
Arguments:
[INPUT]...
Filenames or, for the URL format, URLs
Options:
-f, --format <FORMAT>
Format of the input
Possible values:
- raw: Teletext characters as raw bytes
- hex: Teletext characters as raw data in hexadecimal
- url: Encoding used by edit.tf: either only the base64 encoded characters, or a complete URL
-s, --show-attributes
Print the attributes as text (e.g. for debugging)
-h, --help
Print help (see a summary with '-h')
-V, --version
Print version
Dependencies
~1.6–9.5MB
~84K SLoC