Teletext Meddler

Manual

Teletext Meddler is a program to assist with the cleaning up and restoration of teletext recoveries.

Contents

Known Bugs and Limitations
Getting Started
Navigation
File Opening
File Saving
Page Editing
Clipboard
Page Clip
Status Bar
CRCs
Control Flags & Language
FastText Editor
Spell Checking
Menu Items
Keyboard Shortcuts
Example Workflow
Questions & Remarks

Known Bugs and Limitations

Getting Started

To run the program, you will need a computer running Microsoft Windows 7 or above, with the .NET Framework 4.8 installed.

Unpack the archive anywhere you want. x86 is for 32-bit systems, and x64 for 64-bit. Run the program TeletextMeddler.exe.

Teletext Meddler annotated interface.

Navigation

There are several ways to step through the pages.

The simplest is via the address bar at the top. The first two boxes combined represent the page number, e.g. 1 and 00 = 100. The third box is for the subpage, usually used for long articles. The final box is the instance. The first occurrence of a page and subpage combination is the first instance. Subsequent repeats add more instances.

You can also use the Page Up and Page Down keys on the keyboard to step through subpages.

The fastest way is using the mouse. Scroll up to go back one subpage, and down to go forward. Depending on how your computer is configured, you might have to click on the page viewer first.

File Opening

All the conventional ways work (File menu, file association, drag and drop etc). It is possible to choose and load multiple files in a session to create a larger, single file. This allows you to load recordings split into chunks, or combine previously cleaned up pages together.

File Saving

When saving, all the pages will be written to the first file opened. Its name is shown on the title bar.

Your pages will be written out in sequential order, from 100 to 8FF. Lines are also saved sequentially, i.e. not interlaced in a broadcast-like manner.

Page Editing

When you click on the page, the region underneath the mouse pointer is highlighted by a small, grey square. This is the cursor.

You can move the cursor around the page with the arrow keys, pointing and clicking the mouse, and by typing corrections and such - much like a word processor. It will stay in position between page changes. Press ESC to hide the cursor.

Changes can also be made using the right-click menu. A weighted list of possible alternative bytes based on common errors will be shown, as well as spelling corrections if spell-checking has been turned on.

You can also use the manual set box to modify individual characters. A history of 3 recently entered values is available for quick use.

Clipboard

The clipboard does not work quite like in other programs: it only deals in whole lines. You can only paste lines copied from Teletext Meddler. To increase confusion, there are two clipboards - an internal clipboard, and the normal Windows clipboard.

Internal
The internal clipboard is best used for repeating areas such as page headers. It is split into 26 lines, each with its own memory to copy or paste from. You can copy any line by selecting it with the cursor, and going to Edit > Copy Selected Row. You can also use CTRL keys, but see below first.

Windows
The Windows board is less restrictive, but only holds one line. You can copy any line and paste it to any other line, even between separately loaded copies of Teletext Meddler. This is only accessible using the CTRL keys.

CTRL-X, CTRL-C and CTRL-V
You might be familiar with these keys - keyboard shortcuts for cut, copy and paste. They are used heavily in Teletext Meddler, but the action taken depends on the currently selected mode shown in the top-right corner.

There are four possible states: Windows Clipboard (WC), Internal Clipboard (IC), FastText data (FT) and Control Flags (CF). Press F12 to rotate this setting around the four possible modes.

Example: If you set the mode to FastText data, you can use CTRL-C to copy the FastText data from one page and CTRL-V to paste them into other pages.

Note: Cut only applies to lines, not FastText data or Control Flags.

Page Clip

The page clip is a temporary storage area for page collections. You can add any number of pages to the clip and save them all together into one file. This is useful if you need to extract a set of specific pages from a raw capture.

Use the Page menu to access the page clip functions, or CTRL-A to add pages to the page clip.

Status Bar

The bar at the bottom tells you how many pages are loaded, the location of the mouse or cursor, and information about CRCs. Debug messages can also appear in the centre.

CRCs

Some broadcasters transmit CRCs for their pages, and some don't (you will see 0000, 2020, and 8080 amongst others in those cases). For those that do, you can be confident with the integrity of the restoration if the transmitted value matches the page's value. The status bar area will turn green.

There is a caveat. Sometimes the CRC itself is corrupted, in which case a perfectly valid page will not go green. There are a couple of helper functions in Teletext Meddler that might assist.

Teletext Meddler corner screenshot.

The three possible CRC states.

CRC List
Most raw deconvolves contain multiple copies of the same page instance. Each copy should have the same CRC, unless the page was subsequently updated. TeletextMeddler can extract all permutations of the CRC for every page and compare them, using the File > Load CRCs... option. If the page doesn't have a valid CRC (according to the broadcast), but does have one in the list, the status bar area will turn dark orange. You can view the list by right clicking the page CRC, with the most frequently occurring value shown at the top.

Bit Flips
Often when a page is perfect but the CRC isn't matching, it's due to one or two bit flip errors. The difference between 7 and F is only 1 bit. Teletext Meddler will forgive a maximum of 4 flipped bits, one for each "character" of the CRC. e.g. 123F would be forgiven against 023E. The status bar area will turn gold in these cases, but take care to avoid false positives.

Brute Force CRC
Another strategy you can use when the checksum doesn't match is to try brute forcing the CRC. You can access it using Page > Brute Force CRC or CTRL-B. This option will show you locations where one character can be modified in order to match the page's checksum. It's up to you to decide whether any of them are plausible or not!

Clicking on the calculated CRC area, or pressing F6 will replace the page CRC with it, making that area green. This is most likely to be used when it's orange.

Control Flags & Language

Control flags do not affect the display in Teletext Meddler (nor does hide row 24), but might in other programs. Tick or clear as appropriate.

Changing the country will modify the character set used to display the page.

FastText Editor

The FastText editor interface.

With this you can edit the six links on the page shown underneath the viewer. You can also change their designation code and link control bytes.

Spell Checking

You can use this to see if any words have incorrect spelling. Unrecognised words will be underlined in red.

To use this, first create or download any word list. I recommend the dictionaries at http://wordlist.sourceforge.net, but you can create your own by making a simple text file. Each line should contain one valid word.

Once you have the file, rename it to "meddler.dic" and place it in the same directory as the program file. If this has been done correctly, you will be able to click on the spell checking menu item or toolbar button to switch it on.

Right-clicking on an underlined word will give you a list of possible replacements. The algorithm tries to suggest words based on the number of bit flips away it is, rather than typical typo-checking. They also have to be the same size.

(Speaking of typos, be careful that you don't correct a writer's typo as that can cause much confusion!)

Menu Items

File >    
Open   Load a .t42 teletext file into the editor.
Load CRCs...   Extract CRCs from a .t42 teletext file for comparison purposes.
Save/Save As...   Save all of the teletext pages in the editor to disk (as a different filename).
Export This Page To File...   Save only the currently displayed page to disk.
Export All SubPages To File...   Save all pages and subpages related to the currently displayed page to disk (e.g. all subpages of p100).
Export This Page As Image...   Save the currently displayed page as a .png image file.
Close   Close the loaded teletext file and unload any comparison checksums.
Exit   Exit Teletext Meddler.
   
Edit >    
Undo/Redo   Undo the last action (or undo the undo).
Copy/Paste Selected Row   Copy/paste the row under the cursor to/from the internal row clipboard.
Copy/Paste FastText   Copy/paste the FastText links to/from the internal FastText clipboard.
Copy/Paste Control Flags   Copy/paste the Control Flags to/from the internal Control Flag clipboard.
Edit FastText...   Opens a separate dialog that allows you to modify the teletext links.
   
Page >    
Add To Clip   Add the currently displayed page to the page clip (listed in the bottom right).
Save Clip As...   Save all pages in the page clip to disk.
Empty Clip   Remove all pages from the page clip.
Renumber Page...   Move this page to a different address (e.g. p100 to p101).
Delete Page   Removes this page from the editor.
Brute Force CRC   Show locations where the page can be modified to match the page's checksum.
   
Options >    
First/Last Line Precedence   Determines which row is loaded when competing rows for a specific page instance are found in a .t42 teletext file.
Discard Empty Packets   Discard rows without any data when loading or saving a .t42 teletext file.
Recalculate Parity   Recalculate the parity data for each character when saving. If disabled, the parity data is preserved from the original file, except for modifications.
Move FastText Packet   Save the FastText packet immediately below the header packet, as found in broadcast settings. If disabled, all packets are saved in numerical order.
Permit Black Text   Allow non-standard black control codes to be rendered.
Spell Checking   Underline potentially misspelled words when a compatible dictionary file is present.
Control Characters   Show the page's control characters.
Black & White   Ignore background and foreground colour control codes.
Show Graphics   Ignore graphics character control codes.
Reveal Concealed   Ignore the conceal control code. Equivalent to using the reveal button on a teletext TV.
Double Height Lines   Ignore the double-height control code.
   
Help >    
Debug Mode   Shows page rendering speeds.
About   Teletext Meddler version number and credits.

Keyboard Shortcuts

F1-F2   First/second non-spellcheck option in the right click menu.
SHIFT-F1 SHIFT-F2   Third/fourth non-spellcheck option in the right click menu.
F3   Toggle bit 5 of selected character.
F4   Toggle bit 6 of selected character.
F5   Refresh
F6   Set page CRC to the calculated CRC.
F7-F8   Decrease or increase value of selected character by 1.
F12   Change clipboard behaviour when using CTRL-X/C/V keys.
CTRL- +/-   Increase or decrease value of selected character by 1 (same as F8/F7).
CTRL-S   Save
CTRL-O   Open
CTRL-W   Close
CTRL-X   Cut selected line to clipboard.
CTRL-C   Copy selected line to clipboard.
CTRL-V   Paste line from clipboard.
CTRL-SHIFT-C   Copy all lines on the page to the internal clipboard.
CTRL-LEFT   Move cursor to previous word.
CTRL-RIGHT   Move cursor to next word.
CTRL-A   Add page to the page clip.
CTRL-T   Toggle display of graphical symbols (i.e. text only).
CTRL-B   Brute force CRC.
CTRL-M   Nominate selected line as the FastText packet. Will only work if there isn't already a FastText packet on the page. Results will vary.
CTRL-N   Insert a new, blank page. You will be prompted for an address.
ESC   Hide the cursor.

Example Workflow

Questions & Remarks

The font is ugly.
Once you've edited the file, you can always load the results in another program with a more authentic font.

It's buggy.
Sorry about that. You can tell me about any bugs you find - include all error messages, how it was done, etc.

The address bar flickers.
I know, it sucks. It wasn't designed for so many quick changes. Fortunately, the content is the focus.