Peak 16 bit entertainment!
Back in the 90s, when a console was released, manufacturers were generally very proud of their processing powers. They would advertise them, they would display them proudly on the machine, hell, some even included them in their very name.
Every schoolboy could tell you that a Master System or NES was 8-bit, while a Megadrive and SNES were 16-bit. It was a proud boast indeed and, as marketing, we ate it all up. But what did it actually all mean?
A Bit
A bit is the smallest chunk of data a computer can use. It is called a bit because it's a shortened version of binary digit, a term created by the American mathematician John Tukey in 1946. Binary, as you know, has two options, 0 and 1, and that is the same with a bit: it's either 0 or 1.
8 bits is called a byte. 4 bits is called a nibble, which isn't useful information but I always like the fact that some very sensible engineer somewhere wanted a giggle. The byte became one of the fundamental units used in computing.
Now, if you are up on your binary (and if you are not, here you go), you will know that the highest number you can represent with 8 bits is 255.
So you might assume that an 8-bit CPU can only perform maths on numbers up to 255. In fact, it can add two 8-bit numbers quite happily. The end result might need 9 bits to store it.
For example, 200 and 150 are two 8-bit numbers. If we add them together, the result is 350, which requires 9 bits to represent.
So an 8-bit CPU can only do calculations on 8-bit numbers?
Yes and no…
An 8-bit number is the largest number an 8-bit CPU can work on in a single step, but it is able to break down larger numbers into multiple 8-bit parts and then work on them.
A CPU can perform an addition (for example) such as:
8 + 3 = 11
This is a single step because the calculation can be worked out at the same time.
If the numbers are too large for an 8-bit CPU, such as 400 + 500, then the sum is broken down into small parts that the 8-bit CPU can deal with.
In fact, an 8-bit CPU can handle 16, 32, 64 or any number of bits — it just needs more steps and therefore more time to do it.
A 16-bit CPU is the same, but it can perform calculations on 16-bit numbers using a single step.
A 32-bit CPU again is able to work with 32-bit numbers in a single step, where a 16-bit CPU would need two operations and an 8-bit CPU would need four.
I will be honest, when I first learnt this my first thought was "and so it can calculate bigger numbers…"
The thing you have to remember is that the CPU is simply doing calculations at very fast speeds. That's what it does, so the ability to work with larger numbers more efficiently is important.
If, for example, you are trying to work out the X position of a sprite and the position is a number in the 400s, an 8-bit CPU can't represent that value in a single 8-bit number. It needs more than one step to work it out.
A 16-bit CPU can do the sum in a single step.
Of course, the natural assumption is that 16 bits is twice as good as 8 bits and 32 is twice as good as 16 bits. Unfortunately, it's the world of computers we are talking about here, so of course it isn't that easy.
Clock speeds, memory mapping, data buses — these all came into play when describing the speed of the machines, far more than the bits the CPU would handle.
But Graphics!
Graphics, of course, are where most people really spotted the difference between 8-bit and 16-bit systems.
You might assume that because a console was 16-bit, its graphics were also being produced in 16 bits.
Most consoles of the 8-bit and 16-bit eras had dedicated graphics hardware. The graphics chip was responsible for doing a lot of the actual work involved in putting things on the screen.
That meant the CPU didn't have to draw every single pixel itself. The CPU could tell the graphics hardware things like:
"Put this sprite at this position."
or:
"Scroll the background."
The graphics hardware would then get on with the job.
So the fact that the Mega Drive had a 16-bit CPU didn't automatically mean its graphics were "16-bit graphics".
The reason Mega Drive graphics looked so much more impressive than Master System graphics was simply because the Mega Drive had much more capable graphics hardware, as well as a more powerful CPU and more memory.
This is even more obvious when you look at the Mega Drive against a Neo Geo. Both were 16-bit machines, but the Neo Geo had far more powerful graphics hardware and was capable of handling much larger and more detailed sprites.
So when you saw a spectacular 16-bit game in the 1990s, you weren't looking at "16-bit graphics".
You were looking at the combined result of the CPU, graphics hardware, memory, software and clever programming.
The Jaguar
This all really became an issue with the launch of the Atari Jaguar. You see, while you could make an argument that previous machines were 16-bit in that the processors worked in that range, Atari claimed the Jaguar was 64-bit. This was a huge step up obviously and, compared to the machines it was competing against (PlayStation 1, 3DO and the Saturn), which were all 32-bit, it was a massive boast.
Unfortunately, it was also very misleading. The Jaguar was running on a Motorola 68000, a processor with 32-bit internal registers but a 16-bit data bus. It certainly wasn't a 64-bit CPU. Atari's argument was that they weren't referring to the CPU at all. They were referring to the 64-bit capabilities of the Jaguar's custom hardware, particularly its graphics hardware.
In the real world, the 68000 could become a bottleneck because the Jaguar's custom hardware was considerably more capable than its main CPU. The machine could do some impressive things, but getting the most out of the custom hardware required careful programming and coordination.
So was it all a bit misleading?
Well, to be honest, yes.
Not because the numbers were completely meaningless, but rather that what they actually covered could be explained simply as "16 is twice as good as 8".
And, let's be honest, it worked.
16 is bigger than 8.
Therefore, obviously, it was better.
We were eight years old. What else were we supposed to think?