Spectrum Text
The Spectrum text screen is 32 characters across by 24 down, drawn from the 8×8 ROM font. Colour is a per cell attribute: each 8×8 cell holds one ink and one paper, so text and colour share the same grid.
The screen
The display is 256×192 pixels, laid out as 32×24 character cells of 8×8 pixels. Text prints one glyph to a cell. The character grid and the attribute grid line up one to one, so a cell is the unit of both the letter and its colour.
| Detail | Value |
|---|---|
| Screen | 32 × 24 characters |
| Cell | 8 × 8 pixels |
| Attribute model | Per cell |
Attributes
Each cell has one attribute byte: three bits of ink, three bits of paper, a bright bit and a flash bit. So a cell holds two of the fifteen colours, its own ink and paper, and the bright and flash apply to the whole cell. The attribute takes no cell of its own; it sits beside the character, one byte per cell in the attribute area of the display.
| Attribute | Bits | Effect |
|---|---|---|
| Ink | 0–2 | The character colour of the cell. |
| Paper | 3–5 | The background colour of the cell. |
| Bright | 6 | Brightens both ink and paper of the cell. |
| Flash | 7 | Swaps ink and paper on a timer. |
Colours
The Spectrum shows fifteen colours: eight normal and seven bright, bright black matching black. The palette is Sprites.Platform.Spectrum.Palette, shared by every medium. Ink and paper each name one of these by index.
In the editor
The Spectrum text editor opens a 32×24 screen on black ink and white paper. The char tool lays a glyph, the ink and paper tools each paint a colour. The details come from Sprites.Platform.Spectrum.Text: DefaultWidth 32, DefaultHeight 24, WholeCell false, and the default ink and paper. Bright and flash are special attributes, kept for a later pass. See the text media page for the model across the machines and Text storage for the saved format.