The Sinclair ZX Spectrum series of home computers was manufactured from 1982 to 1992 and according to Wikipedia sold around 5 million units (not counting numerous clones primarily from Russia/USSR and various eastern european countries), making it the second most popular 8 bit home computer only behind the Commodore 64 , which according to Wikipedia sold between 12.5 and 17 million units (but with the most educated guesses being around the 12.5 million units sold).
Other popular 8 bit
home computers were the Amstrad CPC series of home computers (3
million sold), the Acorn BBC (1.5 million sold) series of home
computers and the Atari 8 bit home computers (4 million sold including all models). Of
popular 16 bit home computers there were effectively only 2: The
Commodore Amiga and Atari ST series of home computers.
The ZX Spectrum was
a simple computer even for its time; it basically consisted of only
one processor (the Zilog Z80) clocked at around 3.5 MHz and a ULA, a
very simple computer chip responcible for generating the display (in
conjunction with the UHF modulator) controlling the tape and audio
I/O and finally reading the keyboard.
The ZX Spectrum did
have colours (hence its name), in fact 8 ranging from white to black,
but with the option to add brightness to each colour, effectively
making it 15 different colours (bright black was still same old
black). It did have a very simple ”sound system” called the
”Beeper”, a tiny speaker built in to the cabinet, which the Z80
processor could make sound at the expense of not being able to do
anything else as long as the selected pitch sounded. Despite this it
was actually capable of producing quite impressive sound effects and
even music in game.
Later models of the
ZX Spectrum (from 128k and onwards) had a rather basic, but still
competent (and in fact used in many 8 bit home computers plus a
couple of home consoles as well), 3 channel sound chip called the
AY-3-8912 added, which was utilised in quite a lot of games
(especially from 1987 and onwards).
The original ZX
Spectrum 16k and 48k versions has mainly 2 things going against them:
First and foremost
sound; when a game (the processor) has to pause everytime the
programmer of the game had decided to put out the tiniest squeak from
the speaker, it is rather obvious that there simply isn't going to
be a lot of sound in-game unless the programmer wants the action in a
game performed at a snails pace. So expecting tunes playing in a game
while the actual game play is going on is wishful thinking except for
only a few games (Manic Miner and Jet Set Villy are a couple of
examples with actual tunes playing while you're playing the game,
but they are quite rare exceptions to the rule).
So all in all we can
state that when we're talking about the 16k and 48k versions, the ZX
Spectrum is a dwarf when it comes to outputting sound compared to
it's biggest competitor the Commodore 64 with it's very advanced
SID sound chip, which is basically a small syntheziser (and even the
ZX Spectrum 128k model's AY-3-8912 doesn't really compare to the SID
The second thing
going against the ZX Spectrum - and that applies to all of the
official versions of it, not only the 16 and 48k versions - is the
way it adds color to the graphics, and yes, I mean adds, because color
on the ZX Spectrum is in a sense not an integrated part of the
graphics, but more of an ”afterthought” (but more about that
A thing the ZX
Spectrum has going for it though, is its screen resoultion of 256x192
pixels, a graphic resolution very close to that of the arcade games
from the so called ”Golden Age of Arcade Games” (1978 to 1983),
which of course with out saying is an advantage, if you want
replicate said arcade games (and the arcade games that came
immediately after – from 1984 to around 1986). The colors are as I
mentioned earlier more of an afterthought as the actual
artwork/graphics are seperated from the ”color coding”, or as
Sinclair Research called them, ”The Attributes”, in the video ram.
The ZX Spectrum
48k's memory layout does in fact consist of 64k or 65536 bytes which
is the maximum number of memory adresses you can access directly from
an 8 bit computer, the ZX Spectrum 48k of course only have 48k of
ram, but Sir Clive Sinclair, the inventor of the ZX Spectrum, opted
for a quite a clever solution when he designed its memory layout.
He placed the 16k
rom (Read Only Memory) containing the ZX Basic and other routines
vital to the system at address 0, and then the video ram immediately
after at address 16k or 16384 (one k in computer terminology being
1024 bytes) and as each of the 192 lines of pixels of the
screen/display are stored as 32 8 bit bytes (hence the ZX Spectrum
being a 8 bit computer), the graphics (excluding colors) thus took up
32x192 = 6144 bytes starting from the aforementioned address 16384,
but in a rather odd succession (but that's another matter). The
attributes values for telling the ULA what ”colour scheme” for
each of the 768 ”characters” to output to the TV followed
These ”Attributes” and the "Attribute Clash" (or "Color Clash") they often caused is the biggest drawback of the ZX Spectrum when it comes to graphics, but at the same time one of the main reasons why the ZX Spectrum in the hands of the most clever programmers, is the best 8 bit home computer when it comes to arcade conversions and arcade style games IMO (and probably also better than the 16 bit Amiga and Atari ST home computers when it comes to frame rate and playability of the games in general).
An example of attribute clash in the 1983 ZX Spectrum game "Ah Diddums". Notice how the magenta color of the ball bleeds into part of the the teddy bear's original yellow color.
The 1986 ZX Spectrum version of Green Beret. A game with almost no noticeable attribute clash, despite it being a side scroller. Watch the Youtube video in the link beneath if you want to see how it looks in motion.
Basically each of
the Attributes determins what 2 colors a given charater space on the
screen will consist of (in ZX Basic terminology, a background color
”Paper” and foreground color ”Ink” - with ”Ink”
determining the colour of the graphics applied to the background),
with a ”Character” being an 8x8 pixel large area consisting of
for instance the uppercase letter ”A” in ZX Basic mode.
The ZX Spectrum
screen consists of 32x24 = 768 of these ”Characters” all in all
in ZX Basic mode (with the ”24” coming from 192 divided with 8 as
each character consists of 8 pixel lines), which means that the
Attributes takes up 768 memory addresses (or bytes), one for each
All in all the way
the video ram on the ZX Spectrum is laid out means that it only uses
6144 bytes for the graphics/artwork (32 bytes for each of the 192
pixel lines on the screen) plus 768 bytes for the attributes (or
”colour coding”) of the character spaces all in all 6912 bytes or
6.75k, a significantly lower amount compared to all of its
video ram paired with the fact that the Zilog Z80 processor was the
fastest of the 8 bit processors available at the time, meant that the
ZX Spectrum was very fast when it comes to building the next display
image before ”sending” it to the ULA for it in conjunction with
the UHF modulator to send it to the TV (the ZX Spectrum doesn't actually send the
display image to the ULA, it is rather the ULA that scans the video
ram every 1/50 of a second and then displays on the TV whatever is in
the video ram exactly at that moment).
And when action
games generally requires a lot of data to be sent to the video ram as
scrolling routines demands the playing field to be updated constantly
and many sprites on screen at the same time also requires a steady
stream of data to the video ram (the more sprites on the screen, the
more time it also takes for the processor to calculate the different
sprites movement patterns - that is if their movement patterns are
not predetermined - but is actually the result of an algorithm
determining their ”next move”), you can probably begin to
understand that the ZX Spectrum in the hands of a skilled programmer
has the ”upper hand” compared to its direct competitors when it
comes to the smoothness and playability of action games in
The Commodore 64 in
particular is not to far by behind the ZX Spectrum when it comes to
smoothness and playability of action games though (provided it's
programmed by a skilled programmer of course) as it has an other
advantage over the ZX Spectrum besides the SID sound chip.
The Commodore 64 has
a dedicated graphic chip that does some of the work the ZX Spectrum's
Z80 processor has to do all by itself. This graphic chip is among
other things capable of something called ”Hardware Scrolling”
which basically means that it calculates how the background graphics
is going to look in the next ”frame” when scrolling the screen,
while the main processor attends to other tasks.
The Commodore 64's
graphics chip is also capable of displaying a set amount of sprites
on the screen, also here taking work load of the main processor,
while the ZX Spectrum's humble Z80 must also do this by itself (and
the ZX Spectrum programmer must make his own masked sprite routines,
something the Commodore 64 is born with).
disadvantage of the Commodore 64 though, is that its main processor,
the Mos Technology 6510, is very slow compared to the ZX Spectrum's
Z80 processor. The PAL versions of the Commodore 64's 6510 processor
only have a clock frequency of 0.985 MHz compared to the ZX
Spectrum's Z80s 3.5 Mhz (the ZX Spectrum was never released in the
US, which is why I compare it to the PAL version of the Commodore
It has to be said
though that while the 6510 processor is almost 4 times slower than
the Z80 processor, the fact that it uses fewer cycles (the ZX
Spectrum's Z80 performs around 3.5 million cycles per second having
a clock frequency of approximately 3.5 MHz) per machine code
instruction than the Z80, means that in reality the ZX
Spectrums´s Z80 processor is around twice as fast as the Commodore
64´s 6510 processor.
the 6510 has compared to the Z80 is that the instruction set of the
Z80 is much more versatile than the 6510's instruction set, which
means that it easier to program more complex routines on a Z80 than a
6510 – also the 6510 in general uses around 20% more memory when
programming a routine compared to the Z80, but that's not really a big
issue when it comes to the Commodore 64, as it has 64 kb ram compared
to the ZX Spectrum's 48 kb.
The video ram on the Commodore 64 has several modes it can be set
to, but the most commonly used in action games is the ”MultiColor”
mode in which the Commodore generates a display with a resolution of
160x200 pixels each with 4 colors to choose from (although one of
them has to be the background color). To store one of these 4 colors you
need 2 bits of an 8 bit byte per pixel, which means that the amount
of bytes you store the display in is 160 x 200 / 4 (only a quarter of
an 8 bit byte is needed per pixel) = 8000.
But the Commodore 64's MultiColor mode, like the ZX Spectrum, also has attributes to deal with, in fact 40x25 (one for each its characters in its Basic mode), though they are a bit different compared to those of the ZX Spectrum as each attribute space is 4 x 8 pixels that can contain 4 different colors (one of them the background color), which means that the Commodore 64's attributes is stored in the memory as 40 x 25 / 4 (2 bits per attribute space) = 250 bytes.
All in all we can conclude that the Commodore 64's video ram
consists of 8000 + 250 = 8250 bytes or just over 8 kb when in
MultiColor mode, while the ZX Spectrum's video ram, as stated
earlier in this article, is 6.75k, which means that the Commodore
64's video ram is just short of 20% larger than the ZX Spectrum's.
Not an extreme amount but put together with the fact that the Z80
processor is around twice as fast as its 6510 equivalent and the fact
that the program code on the 6510 takes up more memory (which also
means it takes more processor cycles to execute), means that the best
examples of the action games genre on the ZX Spectrum simply plays a
bit better (basically has better frame rates, but also sometimes has
more sprites on screen at once) than their Commodore 64 counterparts.
I will go as far as to claim that there are a few ZX Spectrum
arcade conversions that plays better than even their arcade
ancestors, especially the conversions from the hands of the two
gentlemen Jonathan M. "Joffa" Smith and Keith Burkhill (Green Beret, Space
Harrier, Commando, Ghost 'n' Goblins, Terra Cresta amongst
others), but also the conversions of Bomb Jack and Chase H.Q. stand
out in this regard.
You may say, no way, but the fact is that the above mentioned
arcade conversions are those I always return to on the ZX Spectrum
when it comes to arcade conversions, simply because they are a lot of
fun to play and in fact none of these game's arcade ancestors belong
on my list of my favourite arcade games (don't get me wrong they're
all good arcade games, but personally I'm more into the arcade games
from the so called ”Golden Age of Arcade Games" - 1978 to 1983 - for example Frogger, Galaxians, Gyruss, Tutankham, Pengo, Xevious and
Dig Dug), but their ZX Spectrum versions just play so extremely well
and are at the same time very well presented given the limitations of
the hardware, that I feel they surpass them gameplay-wise.
I don't know if I'm right in my last assumption as it is based on my own personally experiences with said arcade games (not so much in the actual arcades, but mainly on a platform like Mame and through various compilations and downloadable games on gaming platforms such as the Nintendo 3DS, Playstation Vita and Gameboy Advance) but my initial claim that the ZX Spectrum is the best 8 bit home computer (and probably also generally better than the two popular 16 bit home computers) when it comes to gameplay in arcade conversions and arcade like games, I stand by.