How did retro consoles handle graphics before modern GPUs?
Graphics chips could draw but not calculate, until the Xbox came along.
Console graphics came from custom, fixed-function chips for more than two decades, until the original Xbox appeared in 2001 with a PC GPU inside. Those of us who played on early consoles like the NES will have encountered a few familiar quirks with these fixed-function chips: when too many Goombas lined up in the same row in Super Mario Bros.for example, some of them would start to flicker. This is the NES’s graphics chip hitting its hard limit of eight sprites per scanline; the token drops anything over eight hours and the game alternates which ones.
On the NES, it was the Ricoh 2C02 image processing unit that rendered the games’ graphics. A fairly rudimentary chip, it could not execute any code. Instead, it took the tile illustrations from the cartridge and a few lookup tables from memory and turned them into a TV signal, one scanline at a time. This arrangement – a dedicated frame generator powered by the CPU – is how most consoles rendered their graphics from the late 1970s to the 2000s.
When Microsoft’s first Xbox was released in November 2001, it was unlike any other console before it. Instead, it was built around an Intel Pentium III and a specially designed graphics chip from NVIDIA, based on the GeForce 3. The GeForce 3 had only been announced in February, and it was the first GPU that allowed developers to program their own pixel shaders and vertex shaders.
Sprites and scanlines
The NES’s Ricoh 2C02 ran with about 10 KB of memory. This breaks down to about 8KB of tile shapes stored on the cartridge and 2KB of RAM in the console containing one or two background maps. Separate small memories inside the chip to track things like the position, shape and orientation of up to 64 sprites. Its output was 256 x 240 pixels, constructed from 8 x 8 tiles.
As the CRT TV’s electron beam scanned each row of the screen, the 2C02 determined which 8×8 tile each spot belonged to. It then cross-referenced the sprites they were sitting with on that row and decided which pixel to display. This happened at the pace of the beam, so the processor could not safely rewrite the image while it was being drawn.
Unlike the NES, the old Atari 2600 allowed the processor to handle graphics as well. Since its television interface adapter did not have a frame buffer, the processor had to provide new values to the chip for each scan line traced by the beam. Just five years earlier, in 1972, the Magnavox Odyssey had no processor or memory, period, drawing its dots and lines with discrete logic using diodes and transistors. All of these machines were designed around a CRT, which is part of the reason why retro games look better on older CRT TVs.
PlayStation 2’s custom silicon shared the load
Sony introduced the PS2’s chips in March 1999. The processor was the Emotion Engine, a 128-bit design built by Sony with Toshiba, and the graphics were transferred to a separate chip called the Graphics Synthesizer. In the final consoles, both ran at around 295 MHz and 147 MHz.
The graphics synthesizer did not do any geometry work, however. By the time a triangle reached it, it had already been placed in the frame, and all the chip had to do was fill it with color and texture. The geometry work took place on the emotion engine, in two vector units. The processor could give VU0 odd jobs, while VU1 mainly performed the 3D transformations that turned a game’s models into triangles on the screen. Engineers at Sony and Toshiba said a single vector unit could handle 85 million of these transformations per second. Although no two consoles are the same, many early 3D consoles shared the graphics load across multiple chips similarly.
Interestingly, Sony had used the term GPU to refer to the Toshiba-designed graphics chip in the 1994 PlayStation. This was five years before NVIDIA released the GeForce 256 as the world’s first GPU. But the practical definition of a modern GPU, a chip that runs small programs written by the game, didn’t come with GeForce 3 until early 2001.
The original Xbox and everything after
NVIDIA and Microsoft signed their Xbox deal in March 2000, and five days later, Bill Gates took the stage and announced the console. It would use an Intel Pentium III processor, a custom NVIDIA graphics processor, 64 MB of memory shared by both, and an 8 GB hard drive. The completed box was revealed at CES 2001, then went on sale in November.
But consoles didn’t suddenly move to PC-like hardware. The Nintendo GameCube launched the same month with a PowerPC processor from IBM, and every major console used one over the next decade: the Xbox 360 ditched Intel for three PowerPC cores from IBM in 2005, the PS3’s Cell chip was built by Sony, Toshiba and IBM around a PowerPC core, and the Wii and Wii U both ran updated versions of the IBM chip from the GameCube.
The graphics side had already become PC, with the ATI chip of the 360 and that of NVIDIA of the PS3, but not the processors. That changed in 2013, when the PS4 upgraded to eight AMD CPU cores and a graphics design taken from AMD’s Radeon PC cards. Today’s PS5 and Xbox Series X each run eight AMD Zen 2 cores alongside AMD RDNA 2 graphics on the same chip as the CPU. Ultimately, designing graphics chips from scratch for consoles no longer makes sense once commercially available GPU architectures fit a console’s budget.