digplanet beta 1: Athena
Share digplanet:


Applied sciences






















The effect of attribute clash on MSX 1 systems when using the 256×192 Highres mode of MSX 1 (in this example blocks of 8×8 background pixels share the same color, so the effect is similar to a ZX Spectrum)

Attribute clash (also known as color clash or bleeding) was a display artifact caused by limits in the graphics circuitry of a number of early color 8-bit home computers, most notably the Sinclair ZX Spectrum, where it meant that only two colors could be used in any 8×8 tile of pixels. Programmer workarounds to prevent this limit from becoming apparent have since been considered an element of Spectrum user culture.


Attribute clash on the ZX Spectrum was caused by its idiosyncratic display memory layout, designed in such a way as to minimise memory use of the frame buffer, and optimise for text display instead of graphics. Rather than limit the color palette to conserve memory, Sinclair's design stored pixel bitmap and color information in separate areas of memory. While the bitmap specified the state of individual pixels (either on or off), the color information (or "attributes") corresponded to the text character matrix — 24 rows of 32 columns — with one byte per 8x8 pixel character cell. This byte encoded two 3-bit values, known as INK (foreground color) and PAPER (background color) after the BASIC instructions used to define the color values. Two other binary values were included in an attribute; a BRIGHT bit indicating one of two brightness levels for the two colors, and a FLASH bit, which, when set, caused the two colors to be swapped at regular intervals. This scheme provided 15 different colors: the eight combinations of red, green and blue at two brightness levels (except for black, which appeared the same at both brightness). Thus, each 8x8 pixel block could only contain 2 colors from the 15 available, which must both be from either the BRIGHT or non-BRIGHT halves of the palette. Trying to add a third color in an 8x8 pixel area would result in the three colors being reduced to two by the ZX Spectrum.

The ZX Spectrum used 6144 bytes for pixel information, with one byte representing a row of eight pixels, and 768 bytes used for the color attributes, thus giving a total of 6912 bytes for the entire graphics display, a relatively small total for a computer of the Spectrum's era with "color" capabilities. This graphics architecture was retained right through to Sinclair and Amstrad's later redesigns of the Spectrum, up until Amstrad's final model, the ZX Spectrum +3, despite subsequent models having contained 128 kB of RAM, reducing the need to save memory in this manner. The architecture was retained to prevent loss of backwards compatibility.

Attributes were used by a variety of other computers and consoles, including the Commodore 64, the MSX and NES, although the size of the attribute blocks and the number of colors per block varied. However, with the use of hardware sprites and scrolling, attribute clash could be avoided.

The Thomson MO5 and TO7 microcomputers, the Oric 1, the MSX 1 architecture, and other systems based on the Texas Instruments TMS9918 Video Display Controller display a very similar constraint: for each group of eight pixels horizontally, only two colors out of 16 are available. giving a similar but less severe effect than with the Spectrum. The MSX 1 did not have just one single color attribute byte available for a whole 8x8 pixel area, as was the case with the Sinclair Spectrum, but eight, one attribute byte for each 8×1 pixel area. Thus, while the Spectrum was limited to one color pair for a square area of 8x8 pixels, the MSX 1 was only limited to one color pair for a "line" of eight adjacent pixels. In addition MSX1 could use sprites which were not bound to any attribute clash problems (although MSX 1 sprites did have their own limitations).

In practice this technical advantage often did not help MSX 1 systems to produce better pictures. The problem for the MSX 1 was that many European software companies who converted Spectrum games to MSX 1 ignored all the improvements the MSX 1 had over the Spectrum, and thus the resulting MSX 1 versions had the same amount of attribute clash as the original Spectrum games. To ease conversion, the software developers simply copied the single attribute byte value of the Spectrum to all eight corresponding attribute bytes of the MSX 1. For the same reason, the software companies also ignored the sprite capabilities of the MSX 1, and because the video display capabilities were otherwise quite similar (256×192 resolution, 16 colors), both systems produced virtually identical displays for the same game. In contrast, Japanese MSX 1 games did use all the capabilities of MSX 1, often resulting in better looking games.


To avoid attribute clash, static graphic displays had to be constructed with care. Finely-detailed color graphics were impossible, as color could only be applied in 8×8 pixel blocks. Careful design could achieve impressive results, as could synchronizing color changes to the refresh rate of the display — usually a television set.

However, animated displays were more difficult — a distinct drawback in a machine whose primary use was playing video games. If just one pixel in an 8×8 block was recolored because a moving part of the display touched it, the entire block would change color. Thus detailed moving graphics caused large ugly fringes of rapidly changing colors to follow them around.


Early software simply ignored the problem. Later, the standard workaround was to use color for static display elements — such as a decorative border around the edges of the screen, which might include score displays and so on, or some form of instrumentation — with a smaller central monochrome area containing all the animated graphics. This also made graphics faster, as less of the screen had to be updated — both a smaller region, plus only changing pixel information and leaving the color area untouched.

Some late Spectrum software, such as FTL's Light Force, used extremely careful graphics design to achieve full-color moving graphics, essentially by limiting both the design of the onscreen elements and their paths of motion to 8×8 color resolution boundaries. The moving elements were thus relatively large and rather blocky or squarish, and their movement was constrained, but this was not visually obvious and the sight of moving full-color graphics was hugely impressive to Spectrum owners.

No mainstream developers were able to find a suitable all-round fix for the attribute clash problem, instead preferring to use the monochrome graphics method when fast, clear graphics were needed, and full-color graphics when the situation permitted.

It was possible by paying careful attention to timing to modify the attribute area of RAM at certain specific times as the display was drawn - let the display hardware draw one line of the display, then change the attribute RAM before the next line is drawn to give the effect of different attributes for each individual line. These changes had to be done in software and were time-consuming to program, meaning that this technique was usually limited to special effects. This technique was also very popular in the demo scene.

Screenshots showing the problem and solutions[edit]

Most illustrative of the problem were games pre-1987 that ignored attribute clash, such as shown here by the game Knight Tyme. Note how the central character (the small figure with a knight's helmet just to the right of the green plant) is almost hidden by the attribute clash that has occurred. Knight Tyme was one of the few games that let players select between two modes of attribute clash: one which ignored main character attributes (producing the shown effect), and one which applied main character attributes, turning any graphics surrounding the character white.
Knight tyme attribute clash.png
One workaround was to simply render the graphics in two colors, otherwise known as monochrome, as shown here with the Spectrum version of Knight Lore in 1984.
Knight lore 3.gif
Many games used full-color backgrounds and "character scrolling" (where the environment was scrolled eight pixels at a time), but monochrome sprites that were effectively transparent, as displayed here in Double Dragon. The sprites in this case were drawn in such a way so they stand out, avoiding dependence on color. Many games used this method with smooth pixel-by-pixel scrolling, but the attribute clash as elements of one character block were "passed" to the next were clearly visible. Spectrum Double Dragon.png
A prominent (and less successful) example of the use of full-color graphics was the Spectrum conversion of Altered Beast. Note that the game suffers from considerable attribute clash. Spectrum Altered Beast.png
Programmer Don Priestley developed a distinctive style for several of his games by using large, cartoon-like sprites which were carefully designed to span whole character blocks without appearing unduly square. A disadvantage of this technique was that the gameplay had to be designed around the graphics, and so it was not useful for ports from other platforms. Games that used this technique included Popeye, The Trap Door (shown right), Through the Trapdoor, and Flunky. Other developers who used a similar technique included Mike Singleton, with Dark Sceptre, and Gang of Five, with Dan Dare: Pilot of the Future. ZX trapdoor1.png.


Original courtesy of Wikipedia: http://en.wikipedia.org/wiki/Attribute_clash — Please support Wikipedia.
This page uses Creative Commons Licensed content from Wikipedia. A portion of the proceeds from advertising on Digplanet goes to supporting Wikipedia.
3938 videos foundNext > 

Pimp My Spectrum by ate bit | 64k intro (FullHD 1080p demoscene demo)

1st place in pc 64k compo at Breakpoint 2008 This one is a really interesting demo, as it features a Z80 Emulator (limited functions) and the demo code writt...

Attribute Clash (VRC6)

The longest work of music I have written so far, and it's not even that long. It is, however, densely packed as usual. If you know enough about old computers...

"Pac-Mania" level 2 music (Pac-Man's Park), ZX Spectrum 128k

Pac-Mania had a surprisingly decent Speccy conversion which, a little slow-down and attribute clash aside, was pretty much like the arcade original. Ben Dagl...

"Pac-Mania" level 1 music (Block Town), ZX Spectrum 128k

Pac-Mania had a surprisingly decent Speccy conversion which, a little slow-down and attribute clash aside, was pretty much like the arcade original. Ben Dagl...


ZX Spectrum 48k game i made. very retro.. attribute clash and everything!

Oric Stormlord just Released

Title and Level 1 of Stormlord by Twilighte for the Oric range of Computers. This new game for the Oric includes a new graphic technique to generate attribut...

C64Doom (Chocolate Doom hack)

A quick and lousy demonstration of my C64-ish Chocolate Doom hack. It uses the VIC-II color palette, but doesn't emulate attribute clash. Yeah, I know I suck...

World Cup Football & World Cup Carnival ZX Spectrum

And to close Soccerama II.....yes that's right....TWO games in one video! Why??? You scream at me, well simple, because they're exactly the same game that's ...

Castle Clash Rolling for Orksbane (Full reaction)

Orksbane gameplay: https://www.youtube.com/watch?v=dBaHRpWIL-A&list=UU-SgrUhzMPuSHZMu_EUX1Yw So in this video I am rolling gems for Orksbane! Orksbane is a g...

Castle clash get a second talent!

Castle clash Trailer: https://www.youtube.com/watch?v=WMyI6coOKrw&list=UU-SgrUhzMPuSHZMu_EUX1Yw Inscriptions 1. Inscriptions are unlocked when the Hero reach...

3938 videos foundNext > 

11 news items

The Register

The Register
Tue, 02 Dec 2014 06:59:48 -0800

The Sinclair Spectrum Vega is a console that plays games from the '80s – complete with piezo speaker-generated sound and attribute clash. The Vega is being marketed by Retro Computers Ltd, a Luton-based startup in which Sir Clive's company Sinclair ...

The Guardian

The Guardian
Thu, 28 Aug 2014 09:00:34 -0700

Attribute clash. If that two-word phrase means nothing to you, the rest of this article is probably going to be bewildering. But if some dim light bulb exploded in your head, dragging you back to the days of the early home computers, welcome old-timer ...


Thu, 17 Apr 2014 03:10:24 -0700

Taking the turn-based strategy theme of its predecessors, Gollop promised an attractive title missing the iconic attribute-clash of its predecessor and switching out the tile-based graphics for the Unity Engine while retaining the spirit of his much ...
Mon, 08 Jul 2013 12:08:48 -0700

Gasman: "Naturally, I wasn't going to take the easy option of throwing together some fake loading stripes and attribute clash in After Effects, so everything you see here runs on a real 128K Speccy + DivIDE. Half of it is streamed video from the DivIDE ...
Wed, 16 May 2012 00:13:05 -0700

He's managed to beat the Speccy's notorious attribute clash problem, and attracts approving gasps for his trouble. I ask him why he's developing for a thirty-year old home computer when he has a game that would seem perfectly suited to the iPhone, and ...
Den Of Geek
Mon, 23 Apr 2012 03:42:21 -0700

Even things like attribute clash, a unique quirk of the Spectrum's make-up which meant that only two colours could be displayed in any 8x8 matrix, gave its games an unforgettable, individual look (a look often tittered at by Commodore 64 owners).
PC Pro (blog)
Fri, 25 Dec 2009 16:12:12 -0800

The grandest Christmas traditions have been with us for centuries, and many will doubtless stick around for centuries more. Trees, gifts and alcoholic exuberance come to mind. But we techie types have some more modern rituals too. Online Christmas ...
Den Of Geek
Wed, 20 Oct 2010 23:45:00 -0700

Movie's loading screen, thanks in part to the colour limitations of the Spectrum (a phenomenon familiar to some as attribute clash), was like a David Lynch nightmare coupled with an LSD flashback, in which blocks of garish colour obfuscated what ...

Oops, we seem to be having trouble contacting Twitter

Support Wikipedia

A portion of the proceeds from advertising on Digplanet goes to supporting Wikipedia. Please add your support for Wikipedia!

Searchlight Group

Digplanet also receives support from Searchlight Group. Visit Searchlight