Flow

Date: 198x
Type: Program
Platform(s): TS 2068
Tags: Font

A replacement character set for the Timex/Sinclair 2068 in a heavy, rounded style. It redefines the digits, punctuation and capital letters, which print in thick strokes with round-cornered shapes. The lower-case letters are not part of the design: a to o hold a small repeated dot pattern and p to z are blank, 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 letters are not defined (a–o show a dot pattern, p–z are blank).

Appears On

The biggest LIST tape yet — play poker accompanied by chip-tune renditions of classic songs, diagnose illnesses with a Bayesian expert system, master Z80 opcodes with a quiz, or unscramble anagrams before the cauldron boils over. Four custom fonts included.

Image Gallery

Source Code

   10 CLEAR 64598
   20 POKE 23606,88
   30 POKE 23607,251
   40 LOAD ""CODE 
   45 STOP 
   50 SAVE "FLOW" LINE 1: SAVE "FLOW"CODE 64599,760

Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.