In August 1985 a CRASH writer, waiting to be shown a new game on a visit to Legend, let himself daydream about “a world without attribute problems . . . imagine, Everyones a Wally without all of those funny flashing squares”. Every Spectrum owner knew what he meant. Walk a character across a coloured background and blocks of colour jumped around it, or the character itself changed colour in square chunks. Players and magazines called it attribute problems, attribute clash or colour clash, and it is still the first thing many people remember about how Spectrum games looked.
It was not a bug. It is what the Spectrum’s colour system does, and Sinclair designed it that way to save memory. This entry covers what clash is and why it happens. Attribute-aware design covers the ways designers and programmers worked around it.
Colour by the cell
The Spectrum keeps shape and colour in separate blocks of memory. The picture is 256 × 192 pixels, one bit each: 6,144 bytes, in which a 1 means “ink” and a 0 means “paper”. The colours live in another 768 bytes, one for each of the 32 × 24 character cells of 8 × 8 pixels, “stored line by line in the order you’d expect”. Steven Vickers’s manual calls these bytes attributes, and spells out what follows from them: “since the ink and paper colours cover a whole character position, you cannot possibly have more than two colours in a given block of 64 dots.”
Each attribute byte holds four settings for its cell:
| Bits | Setting |
|---|---|
| 0–2 | INK: the colour of set pixels, 0–7 |
| 3–5 | PAPER: the colour of clear pixels, 0–7 |
| 6 | BRIGHT: a brighter version of both colours at once |
| 7 | FLASH: swap ink and paper on a timer |

BRIGHT and FLASH belong to the cell as well. A cell cannot mix normal green ink with bright green paper, and because bright black is still black the machine has fifteen distinct colours, not sixteen. FLASH, in Vickers’s words, “is done by swapping the ink and paper colours”; the ULA does the swapping itself every 16 frames, about three times a second.
The manual also warns that drawing and colouring are linked: “When you print something on the screen, you change the dot pattern at that position; it is less obvious, but still true, that you also change the attributes at that position.”
Why Sinclair built it this way
Colour for every pixel would have cost memory Sinclair did not want to pay for. At four bits of colour for each of its 49,152 pixels, the screen alone would have needed 24,576 bytes, more than the entire memory of the 16K model. Sinclair’s layout needs 6,912 bytes for pixels and colour together.
Richard Altwasser, who designed the Spectrum’s logic, said as much in his patent application, which has a priority date of 22 April 1982, the week the Spectrum was launched. Its stated object was “to reduce the amount of memory required in order to provide high resolution graphics in colour”, and the way to do it was to accept that “the graphics is highly defined whereas the colour information is less highly defined”. Chris Smith’s history of the ULA adds that the choice came from existing practice: “it was television text standards that influenced the decision to use a single colour attribute per character which, as a design benefit, reduced the amount of memory required.”
What clash looks like
A moving sprite has no colour of its own. Its pixels are just bits in the bitmap, and they show in whatever ink the cell they land in has.

Movement is measured in pixels and colour in cells, so the smallest step a sprite takes can recolour an area sixty-four pixels at a time. Which of the two things sharing a cell keeps its colour depends on what the game writes to the attribute, and both outcomes are called clash:

Here is the second kind in a published game. Both frames come from one jump, six frames apart, in a single run from the original tape. Nothing in the scene changes between them except where the sprite is.


The sprite’s pixels are exactly where the game put them; only their colour belongs to the hut. The cell hands over its whole attribute byte, BRIGHT bit included, so the sprite is drawn in the hut’s darker, non-bright red. Later in the same jump it crosses the haystack and takes that cell’s non-bright yellow the same way: one sprite, three colours, none of them chosen by the game.
In the reviews
CRASH gave colour its own line in every review’s comments box, and “attribute problems” became a standard phrase. Pedro, in May 1984, had “a few attribute problems with colour”. In November 1984 the magazine’s editorial complained that Spectrum games were “prevented from being graphically better than anything on the 64 because of the colour attribute problems. I’ve lost count of the times that a CRASH review has said, lacks colour, but this avoids…” The same issue found that Daley Thompson’s Decathlon had “no attribute problems”, while Zombie Zombie’s colour “has made the game look livelier, but has unfortunately introduced some attribute problems along with it”.
Some games were admired for avoiding it, and some forgiven for not. Ultimate’s Knight Lore used “only one colour … per screen”, which “avoids any attribute problems”, yet was not “lacking in colour however, since each screen has its own colour”. In Frankie Goes to Hollywood (August 1985) “the main character clashes a great deal with the background”, and CRASH still rated its colour “excellent once you accept the attribute problems”.
The game that most surprised the magazine was DK’Tronics’ Popeye, in September 1985. It had very large, brightly coloured characters, and one reviewer’s “immediate reaction” was “oh dear there are going to be a large amount of attribute problems”. Instead: “I was amazed to see no problem at all; for the first time masses of colour has been used and with no colour clash. To say the least, I’ve never seen anything like it.” Another reviewer saw the price: “all of the clever shadowing and masking has slowed this game down quite a lot.”
Programmers knew how much work that took, and how little of it anyone saw. In the same issue a programmer called Rupert, from the team behind The Fourth Protocol, recalled “spending hours and hours perfecting the masking that would allow an object in one of his earlier games to pass through a triangle without colour clash. ‘Nobody even noticed let alone appreciated my efforts’.”
The name
“Colour Clash” was a game before it was a term. CRASH’s first issue, in February 1984, reviewed Romik’s Colour Clash, a 16K paint-the-squares game. As a name for the effect, “colour clash” was in CRASH by the autumn of 1985: Popeye had “no colour clash”, and a review of The Edge’s That’s the Spirit complained of “the profusion of mucky colour clashes”. “Attribute clash” appears in the August 1985 visit to Legend, where the promise was “real time animated 3D full colour graphics without attribute clash”.
By the late 1980s the phrase could be affectionate. Reviewing Costa Panayi’s Deflektor in January 1988, Your Sinclair said it was “pleasant … to be able to praise a game that was designed expressly with the Speccy in mind, blocky graphics, colour clash and all.”
Other machines
Cell colour was not unique to the Spectrum. The Commodore 64’s standard text screen also keeps one colour per character position: its manual describes “1000 locations called COLOR MEMORY”, one for each of the 1,000 screen positions. The difference that mattered to CRASH’s editorial was sprites. On the 64 “each of the sprites has its own sprite color register”, and “all dots in the sprite will be displayed in the color contained in the sprite color register”, so a moving figure keeps its colour whatever it passes over. The Spectrum has no hardware sprites, so every moving object is drawn into the same cells as the background.
Sources
- Steven Vickers, Sinclair ZX Spectrum BASIC Programming (Sinclair Research, 1982): chapter 16, pp. 110–111, attributes, two colours per 64 dots, flashing, printing changes attributes; chapter 24, p. 164, the display file and attributes in memory.
- Chris Smith, The ZX Spectrum ULA: How to Design a Microcomputer (ZX Design and Media, 2010): the attribute decision and television text standards (ch. 6, p. 73); the flash clock (ch. 14, p. 135).
- Richard Altwasser, Display for a computer, patent EP 0107687 A1 (published as WO 83/03916), Sinclair Research, priority date 22 April 1982, published 9 May 1984. https://patents.google.com/patent/EP0107687A1/en
- Alessandro Grussu, Spectrumpedia, volume 1 (English edition, CC BY-NC-ND 4.0), p. 25: fifteen colours.
- CRASH, issue 1, February 1984: review of Colour Clash (Romik, 16K, £7.99).
- CRASH, issue 4, May 1984, p. 85: Pedro review.
- CRASH, issue 10, November 1984: editorial; Daley Thompson’s Decathlon review (p. 94); Zombie Zombie review (pp. 140–141).
- CRASH, issue 12, January 1985: Knight Lore review.
- CRASH, issue 19, August 1985: Frankie Goes to Hollywood review (p. 35); visit to Legend (p. 74).
- CRASH, issue 20, September 1985: That’s the Spirit review (p. 26); profile of the team behind The Fourth Protocol (p. 31); Popeye review (p. 73).
- Your Sinclair, issue 25, January 1988: Deflektor review.
- Commodore 64 Programmer’s Reference Guide (Commodore): colour memory (p. 100); sprite colour registers (p. 135).
See also
- Attribute-aware design: the ways round it
- ULA
- Sinclair ZX Spectrum
- Software scrolling
- Knight Lore
- Dizzy
- Commodore 64
- CRASH
Follow the connections.
- The ULA
The hardware. The ULA applies the screen’s colour attributes and swaps ink and paper for FLASH.
- Attribute-Aware Design
Working with it. See how designers arranged colour and movement around the two-colours-per-cell rule.
- Dizzy
The game. The two frames in this article come from Dizzy. Follow the effect back into the game.