Colour Clash: The Engineering Miracle of the Sinclair ZX Spectrum

Paleotronic newcomer David Stephenson looks back at the ingenious and quirky video inside Richard Altwasser's Magnum Opus

April 1982 saw the launch of Sinclair Research’s most successful micro-computer, the ZX Spectrum.

The Spectrum was not the first Sinclair computer to make it big, it was however the the first to go massive. In the months prior to launching ‘The Computer Programme’ had aired on the BBC, legitimising the home micro computer as the must have educational item of the 1980’s. For Sinclair and the ZX Spectrum the time was right, parents were keen, and the kids were excited. Games would soon be were everywhere thanks to all the kids programming their brand new Spectrum’s.

A major success factor, the one that gave the Spectrum it’s name is the computers capacity to generate a spectrum of colours. The micro is capable of generating 16 colours, 8 low intensity colours and 8 matching bright variants. It’s hard to imagine now, but in 1982 these 16 colours were enough to start a home computer revolution. Richard Altwasser, the engineer employed by Sinclair to develop the Spectrum’s graphic systems was setting a new benchmark with some very innovative ideas.

The Spectrum’s design had to come with some limitations to meet the affordable price point of £125. To this end, the original Spectrum arrived in two flavours, a base computer coming in with 16k of RAM on board; and a higher specification version with a more sizeable 48k. That 16 or 48k had to be shared between absolutely every process the computer was going to undertake, including holding of a full screen worth of data. No dedicated graphics memory for the micro computers of 1982.

Pricing constraints brought further limitations. The ZX Spectrum had no dedicated sprite generation ICs. This was in contrast to other emerging micro-computers of the period, such as the Commodore 64. The Spectrum’s Z80 CPU and ULA would do all the graphical heavy lifting. The ULA or Un-committed Logic Array is similar in function, but not in implementation to today’s CPLD’s where the work of many TTL logic chips is combined into one IC. The Spectrum’s minimal graphics processing hardware and constrained 16k of RAM led to Altwasser’s’ invention of an extremely efficient and somewhat esoteric display system.

The conceived design was unique, allowing Sinclair Research and Richard Altwasser to patent the implementation. The Spectrum set aside 6912 Bytes of RAM to be used for a display file and an attribute array. The display file holds 256×192 pixel data in 32×24 characters blocks, taking 6144 bytes of RAM, leaving 768 bytes for the attribute array. The attribute array stores colour information for each character block. One byte per block holds foreground and background colours, plus a blink value for on or off. This is an excellent space saving solution for displaying coloured text, though slightly limiting in advanced graphics usage.

An absence of sprite hardware combined with the fact that Spectrum’s display system was optimally designed to contain two colours per 8×8 character block, had ongoing ramifications for burgeoning games programmers. The most notable feature (or issue) is what has become known as ‘Colour Clash’. When moving sprites with different colour information around the screen to an underlying character block, colours of either the character block or the sprite will be changed to match each other. This is the Colour Clash effect. Some form of Colour Clash can be found in just about every game produced for ZX Spectrum. It caused a graphics style that became synonymous for British Computing and Gaming of the 1980s.

Games programmers have met the challenge of Colour Clash by employing a variety of solutions. The first and easiest method has always been to move sprites around the screen in character squares, and replace any existing elements under a sprites path. An approach that can potentially avoid the Colour Clash effect entirely. Some fantastic games shift sprites around in this manner. DK’Tronics 1982 title ‘Centipede’ for one. By no means a perfect conversion of the arcade game, it nevertheless manages to impress with its fast paced action. That sprites move around in character blocks is a of no real issue in the early days of home micro computing. However a pixel perfect fluid movement of sprites and other game elements soon became more important.

Perhaps the most common system employed in avoiding Colour Clash took root in some of the Spectrums’ early sprite pushing classics. Matthew Smiths’ 1983 ‘Manic Miner’ came close to keeping conflicting coloured games elements separated , accepting the odd colour crossovers during game play. Scenic elements are maintained in separate character blocks, with background spaces limited to solid slabs of colour. Some hiccups in colour bleeding are easily ignored when the game play is good. This technique is used throughout the Spectrum’s commercial life. Later games, such as US Gold’s 1987 conversion of the arcade hit ‘Gauntlet’, continued building on this method as it’s relatively easy to implement.

If colour anomalies are expected by gamers as part of the overall experience, then why fight them? Work with them. In well crafted game worlds such as the Oliver Twins series of ‘Dizzy’ arcade adventures, the Spectrum’s full colour palette can be seamlessly pressed into service.

Character sprites taking on the colours of background scenic elements can be just as effective as trying avoiding color issues entirely. It creates a transparency that sometimes blends them visually a little to close with other game elements. In well thought out game worlds the effects are acceptable, and even contribute to building atmosphere.

Colourfully crafted games don’t necessarily require an abundance of colours. Isometric games such as those popularised by Sandy White’s 1983 ‘Ant Attack’ and Ultimate Play the Game’s ‘Knight Lore’ form a lost genre characterised by 45 degree 3D playing arenas. In these games reduced colour choices are a necessity for maintaining continuity where sprites wander in 3D space. Isometric games were designed with multiple rooms in monochromatic palettes per location, highlighting movement through a games world without sacrificing a games vibrancy. A wider range of colours could still be used outside the main playing pane. Costa Panayi’s ‘Highway Encounter’ from 1985 deploys colourful scenic elements around the games edges, building ambience and a feeling of in game progression. In other games such as Ultimates 1987 ‘Bubbler’, elements such as colourful inventory and status displays effectively uplift the monochromatic experience.

But time has not stood still and neither has software development for the ZX Spectrum. In 2011 Andrew Owen, a long established Spectrum coder released the ZXodus graphics engine, allowing a Spectrum to change colours at every scanline. The new 8×1 colour block definitions revolutionised the two colours per character 8×8 attribute limits. Other graphics engines have subsequently become available, the most popular to date being Einar Saukas’s Nirvana+ engine.

Nirvana+ supports 8×2 pixel attribute squares, a  configuration that is slightly less system taxing. To obtain enhanced palette options some rather fast colour routines needs to go on behind the scenes. The Nirvana+ engine gets the balance between colour and core game code just right. Nirvana has now become the de-facto engine of choice for modern games developers.

It is hard to overstate the enhancements made to the Spectrum’s colour usage. ‘Gandalf’, created by Cristián González and Alvin Albrecht in January 2018 is a brilliant example of the Nirvana+ engine in action. The game follows the favourite Lord of The Rings’ character Gandalf seeking revenge on all things Orc. The bright colours are still very much Spectrum features, yet with a gameplay that’s more akin to modern platforms.

It’s a testament to Richard Altwasser and the Sinclair ZX Spectrums design team that programmers continue to build and develop for this revolutionary home computer of the early 1980s.

The ZX Spectrum:

Launched: 23 April 1982

Price / RAM: £125 (16K) or £175 (48K) (£425/US$600 or £600/US$850 in 2018)

CPU: Z80@3.5MHz

Video: 256×192 pixels / 7 colours (15 shades)

Text Screen: 32 columns by 24 rows7 colours (15 shades)

Sound: One voice / 10 octaves

Operating System: 16K Sinclair BASIC, which featured single-keystroke command entry

Keyboard: Chiclet-style (hence the shortcuts)

Storage: Cassette tape via Mic(rophone) and Ear(phone) 3.5mm jacks

Peripherals: ZX Printer (4in/100mm-wide paper), ZX Interface 1 (serial / LAN), ZX Microdrive (fast tape drive), Kempston Joystick interface

Following in the footsteps of its predecessors, the low-cost ZX80/81, the Spectrum was relatively inexpensive in comparison to its contemporaries, which cost more but often provided less functionality (e.g. the Commodore VIC-20). It was wildly successful in Europe, selling 5 million units of various configurations between 1982 and 1992.

After selling DIY radio kits and writing electronics handbooks during the late 1950s, English entrepreneur and inventor Sir Clive Marles Sinclair founded Sinclair Radionics in 1961, which subsequently produced the first slim-line electronic pocket calculator in 1972, the Sinclair Executive. Through the rest of the 1970s, Sinclair Radionics would produce a number of pocket calculators, most aimed at the low-end of the market. While the calculators were largely successful, forays into digital watches and portable televisions were not.

Sir Clive founded another company in 1973 that would eventually become Sinclair Research, which launched a microcomputer kit in 1978. Sinclair Radionics (not by that point majority-owned by Sir Clive, but the British Government as part of a social enterprise scheme) had also embarked on a computing project, the NewBrain, intended to compete with the Apple II. But Sir Clive, always looking for means to reduce the cost (and price) of his products, saw ways in which a “home” computer could be produced more cheaply.

The ZX80 was launched in 1980 and was the first fully-assembled, complete computer sold for under £100. Its successor, the ZX81, was released in 1981, and Sir Clive unveiled the Spectrum in 1982, for which he was knighted. Sir Clive sold his computer line to Amstrad in 1986, and has since worked on developing electric cars and bicycles.

 

 

Please consider subscribing to Paleotronic. Subscribers get a full digital PDF edition and an optional glossy full-colour printed copy, and all content is exclusive to subscribers until the following issue is released. Plus, by subscribing you support our efforts to spread understanding of the history and fundamentals of electronics! Thank you.

Be the first to comment

Leave a Reply