Chapter 4
23
New display modes
Whereas the Spectrum only supports a single limited colour display format, the
SPECTRA interface provides support for an additional 31 display formats. These allow
up to 64 unique colours to be shown simultaneously, and at a variety of colour
resolutions up to eight times higher in the vertical direction and up to two times higher
in the horizontal direction than the standard Spectrum display. The additional colours
may also be applied to the border area, and the interface includes support for multiple
screens (similar in concept to the dual screen mechanism introduced on the
Spectrum 128). These new display modes are achieved without the need for any non-
standard internal modifications to the Spectrum.
The new display modes concentrate on the colour aspect of the screen because it is
the colour abilities of the Spectrum that are arguably in most need of enhancement.
This is due to the design Sinclair used that allowed them to create a computer that
was capable of producing a ‘full colour’ screen using less than 7K of RAM. This feat
was achieved by cleverly superimposing a coarse colour grid (the attributes file) on top
of a finer pixel grid (the display file). This dramatically reduced the amount of RAM
required but resulted in the smallest colour entity covering an area of 8 by 8 pixels,
causing the infamous colour clash effect seen in many Spectrum games. A design
that would have allowed each pixel to be individually set to any of the 8 basic colours
would have required 18K of RAM, which is 2K more than the total memory initially
shipped with the Spectrum!
To understand the remainder of this chapter, it is useful to establish some terminology
to describe the structure of a screen display. The active portion of the Spectrum’s
display consists of 256 pixels in the horizontal direction and 192 pixels in the vertical
direction. The horizontal pixels are grouped into blocks of 8 to form 32 columns. The
vertical pixels are also grouped into blocks of 8 and form 24 rows. The Spectrum’s
display file operates at the pixel level whereas its attributes file operates at the row and
column level. Each byte position in the attributes file is referred to as a cell.
The SPECTRA interface provides support for display modes with attribute heights of 1,
2, 4 and 8 pixels, and widths of 4 and 8 pixels. The height modes are referred to as
single line, dual line, quad line, and row and yield vertical colour resolutions of 192, 96,
48 and 24 attributes respectively. The width modes are referred to as full cell and half
cell and yield horizontal colour resolutions of 32 and 64 attributes respectively. A cell
can therefore hold information for either a single attribute (full cell mode) or two
attributes (half cell mode). In all display modes the display file resolution remains at
256 x 192 pixels. When referring to just those aspects of the display mode that affect
the size and colour range of the attributes file, the term attribute mode is used. The
choice of different attribute modes allows a trade-off between the number of colours,
colour resolution and the memory used for the display information.