The Legacy of the 8080 Processor

Introduction

Who can run Space Invaders?

Transform the PC industry anew?

Use NMOS transistors, and a support chip or two?

You may not know this, but the Intel 8080 might be directly responsible for starting the microcomputer industry as we know it today. It is also because of the 8080 that some of the most beloved arcade games of the 1970s, such as Space Invaders and Gun Fight, came to fruition.

But what was so different about the 8080, compared to previous generations of processors, that resulted in it having such a lasting impact on the computing industry? And how did the 8080, in conjunction with the hardware in original Space Invader’s arcade cabinets, result in a breakthrough gaming experience and lasting legacy?

Before the 8080

Prior to the release of the 8080, Intel’s flagship processor was the 8008. The 8008 was a commercially successful design that led to possibly the first true microcomputer: the Sac State 8008, with a disk operating system built with IBM Basic assembly language. Developed by Federico Faggin of 8080 fame, the 8008 was also the CPU for the very first commercial non-calculator personal computers, featuring most prominently in HP’s 2640 family of computer terminals.

More so than being a revolutionary piece of hardware, the 8008 was part of Intel’s early efforts to break into the processor manufacturing industry. Prior to the 8008 and 4004 (the 8008’s predecessor), Intel was chiefly a successful manufacturer of memory chips. During development of these two processors, there was concern that the project could be a flop. The rationale was two-fold. First, if you have a computer chip, you can only sell one chip per computer, while with memory, you can sell hundreds of chips per computer. Second, Intel was afraid that if they introduced their own processor they might be seen as a competitor, and their customers might look elsewhere for memory. Eventually the 8008 became successful and the rest is history.

8080 Development and Features

Now that Intel was no longer afraid to manufacture processors that could compete with its customers and other giants of the computing industry, they pushed forward with development of the 8080. The goal was to make a general-purpose microprocessor for a large number of customers.

With respect to the 8008, much of the development effort was spent trying to integrate the functionalities of the 8008’s supplemental chips into one package. It was also decided that the 8080 would not be binary compatible with the 8008. In other words, programs written for the 8008 would have to be transpiled into 8080 binary before they could run. The reason was to allow new software to not be subject to the same restrictions as the 8008.

Speaking of restrictions imposed by the 8008, the 8080 had several major improvements over it that we take for granted in modern processors. The stack was moved to external memory (the stack used to be internal to the CPU) and a stack pointer register was included to allow addressing of the stack. Furthermore, the 16-bit address bus of the 8080 over the 8008’s 14-bit address bus quadrupled the amount of accessible memory (64 KB over 16 KB).

Finally, the 8080 used an NMOS implementation for its transistors rather than the 8008’s PMOS implementation, which also drastically improved performance. All of these features made the 8080 an attractive and widely-applicable piece of hardware that would leave a lasting legacy.

Legacy in Computing and Arcade Games

When the 8080 was introduced, computer systems were usually created by computer manufacturers such as Digital Equipment Corporation (DEC), Hewlett Packard (HP), or IBM. The entire computer, including processor, terminals (monitor/keyboard hardware) and system software such as compilers and operating system were produced by the same company. While Apple (and possibly soon Microsoft) makes this kind of vertical integration seem like the norm now, it was a much bigger financial risk in the 70s with so many competitors and fledgling consumer interest in PCs.

HP developed its 2640 series of smart terminals around the 80880. Microsoft’s implementation of BASIC, which became the de facto programming language of home computers that emerged in the late 1970s, was originally developed for the 8080.

The 8080 also led to the design of the 8086, which spawned the x86 family of chips; this continues to be Intel’s primary line of processors and has been arguably the most popular computing architecture of the past few decades. The 8086 then led to development of the 8088, the brain of the original IBM PC, one of the most successful PCs of all time.

Many of the 8080’s core machine instructions and concepts survive on the x86 platform, such as the A, B, C and D registers, and many of the flags used to control conditional jumps. 8080 assembly code can still be directly translated into x86 instructions. That is the lasting legacy of the 8080, though recently the tide of dominant computing architecture seems to be shifting towards ARM, following the successful release of Apple’s M1 chip.

Space Invaders

If you haven’t heard of Space Invaders, you either don’t like video games or weren’t born early enough to witness its impact on popular culture. The game was largely responsible for ushering in the golden age of arcade cabinet games and, four years after its release, had grossed $3.8 billion dollars ($13 billion in today’s dollars, think about that), making it the best-selling ivdeo game and highest-grossing entertainment product at the time. It was the first ”killer app” for home video game consoles (much like Lotus was a big reason people bought the IBM PC), and its pixelated enemy alien has become a pop culture icon.

Tomohiro Nishikado, designer of Space Invaders, spent a year in development of the game, basing his design on the popular game ”Breakout”. Microcomputers in Japan were not powerful enough at the time to perform the complex tasks involved in designing and programming Space Invaders, and so he created the game’s board using the Intel 8080, which he imported from the US.

The adoption of the microprocessor was inspired by Gun Fight, the first arcade game to use a microprocessor and the first game to depict human vs. human violence. Gun Fight was a Midway (U.S. based game company) adaptation of Nishida’s original Western Gun, however Midway developed a microprocessor adaptation of the original, which opted for a discrete logic implementation. For a good discussion of the pros/cons of one implementation vs the other, see this article:

https://www.quora.com/TTL-vs-Microprocessors-which-are-better/answer/Tom-Crosley-1?ch=10&share=aa277a93&srid=hR2U

Nishikado was impressed with the improved graphics and smoother animation of Midway’s version. In particular responsible for the performance increase, the microprocessor implementation had a “barrel shifter” circuit that allowed the 8080 to shift pictures in the graphics framebuffer faster than it could using only its own native instructions.

A bug in the 8080 led to a unique feature of Space Invaders

Despite the specially developed hardware, Nishikado was unable to program the game as he wanted; the Control Program board was not powerful enough to display the graphics in color or move the enemies faster. This second limitation turned out to be a blessing in disguise. While programming the game, Nishikado discovered that the processor was able to render each frame of the alien’s animation graphics faster when there were fewer aliens on the screen. In other words, the aliens would move across the screen at an increasing speed as more and more were destroyed. Nishikado decided that this was a feature, not a bug, and kept it as a challenging gameplay mechanism; awesome!

Conclusion

This article was written as a way for me to familiarize myself with the history of the Intel 8080 and Space Invaders. I’m hoping that my capstone project at Oregon State University will be the development of an 8080 emulator that’s capable of playing Space Invaders, and perhaps running other 8080 applications!

I look forward to the adventure ahead. The prospect of melding video games, computing history, low-level programming and computer architecture into a final project is very exciting, and I’m certain I’ll learn much along the way! I wish the rest of the CS 467 cohort the best and look forward to witnessing the results of all our hard work.