ZX Spectrum graphic modes
Fixed 256×192 bitmap with 8×8 color cell limitations.
The ZX Spectrum graphic modes refer to the fixed video output system of the original ZX Spectrum computer, which produces a one bit per pixel, bitmapped color graphics video output. It is notable for its unusual pixel coordinate system, limited color attributes per 8×8 cell, and non-standard frame rate that deviates from the PAL standard.
- Framebuffer resolution
- 256 × 192 pixels
- Color palette
- 15 saturated colors (8 basic with bright variants)
- Color attributes grid
- 32 × 24 cells, one byte per cell
- Graphics ram size
- 16 KiB
- Frame rate
- approximately 50.08 frames per second
- Cpu clock rate
- 3.5 MHz
- Video line time
- 64 μs (224 CPU clock cycles)
Lore & Background
The ZX Spectrum's graphics system was designed for use with contemporary 1980s television sets, producing a composite video signal through an RF modulator. The image size of the framebuffer is 256 × 192 pixels, with a fixed palette of 15 saturated colors. Each block of 8 × 8 pixels is limited to two colors, which conserved memory by totaling just 768 bytes for color attributes. Color is stored separate from the pixel bitmap as a 32 × 24 cell grid, using one byte per character cell.
The 256 × 192 pixel area is surrounded by a wide border that fills the remaining space of the standard 384 × 288 quarter-resolution of 625-line TV screen area. Usually the border area assumes a single colour, but using software tricks, it is possible to display some low-resolution graphics there. The ZX Spectrum lacked dedicated hardware for scrolling and sprites, or a dedicated hardware blitter.
The video controller circuit is built into the semi-custom Ferranti ULA integrated circuit. The addresses in the video DRAM are interleaved, producing an unusual coordinate system for the pixel bitmap. The designers were working under extreme time pressure and failed to notice a simpler address bitpattern. The colour attributes array was designed to fit in just 768 bytes partly because the 16K model had only the 16 KiB graphics RAM.
Reader's Guide
The ZX Spectrum's graphic modes are significant for their efficient use of memory and their influence on software development of the era. The system of colour cells, called 'the attributes,' drew a lot of criticism because it significantly complicated the programming of colour applications. Still, the colour attribute system had sufficient capabilities for supporting common applications and games of the era, and even the very limited colour capabilities were welcomed by users.
The non-standard frame rate of approximately 50.08 frames per second, rather than the PAL standard 50 Hz, was not known to many programmers, who assumed 50 frames per second. As a result, some programs, including the built-in BASIC interpreter, had time running slightly too fast. Later ZX Spectrum models have a slightly different frame rate and CPU clock rate, causing some older software to run slightly too slow if it uses vertical synchronization, or too fast if it relies on CPU clock rate.
The ZX Spectrum employed 16 KiB of discrete graphics RAM, unlike the shared graphics RAM architectures of most other microcomputers, including the Commodore 64. The resolution of the pixel bitmap is similar to that in other contemporary microcomputers, where the popular Commodore 64 commonly uses the 160 × 200 resolution at two bits per pixel.
Did You Know?
- The ZX Spectrum's frame rate is approximately 50.08 frames per second, not the standard 50 Hz.
- Each 8×8 pixel block is limited to two colors, with a single brightness bit for the entire cell.
- The pixel bitmap uses an interleaved address pattern with bits labeled y7, y6, y2, y1, y0, y5, y4, y3, x7, x6, x5, x4, x3.
- The colour components are in GRB (green, red, blue) order rather than the more common RGB order.
More in Display Standards 1-24
Spotted an error? Know more?
Reader corrections go straight into our review queue. Suggest an edit · How this site is sourced
