A replacement character set for the Timex/Sinclair 2068 with heavy, notched capital letters and digits for headings and titles. Only the capitals, digits and punctuation are in the new style: lower-case a to g hold plain capital letters A to G, and the rest of the lower-case range holds stray dots, so the font is meant for text in capitals. Loading the tape switches the font on straight away, so anything printed afterwards, including LIST, uses it.
The font is also on the Long Island Sinclair Timex User Group’s #55220 Long Island Sinclair Timex (LIST) User Group Library Tape #7. The download has the tape as a TAP with a text listing of its loader.
Program Analysis
The tape holds a six-line BASIC loader and a 760-byte CODE block of character data at 64599. Line 10 does CLEAR 64598 to protect the font, lines 20–30 POKE the CHARS system variable (23606/23607) with 88 and 251, pointing it at 64344, and line 40 loads the code; line 45 stops, leaving the new font switched on. Line 50 is the line that saved the tape. To go back to the ROM font, POKE 23606,0 and POKE 23607,60.
Notable Techniques
- Because CHARS points 256 bytes below the first character, the data for the space (character 32) starts at 64600, and the block covers characters 32 to 126.
Potential Issues
- The saved block starts one byte early, at 64599 instead of 64600, so it ends one byte short: the bottom row of
~(character 126) is not on the tape and comes from whatever is in memory, and © (character 127) is not defined. - Lower-case a–g hold plain capitals and h–z stray dots, so lower-case text prints as junk.
Source Code
10 CLEAR 64598
20 POKE 23606,88
30 POKE 23607,251
40 LOAD ""CODE
45 STOP
50 SAVE "SPOOKY" LINE 10: SAVE "SPOOKY"CODE 64599,760Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.
