Skip to content

Discrete logic and the 8080 ​

The first arcade games of 1972 to 1978 come in two kinds. Pong and Breakout have no CPU. To reimplement them, you simulate the circuit. Space Invaders and the Midway 8080 boards run an Intel 8080 program beside analog sound circuits.

BoardYearsMain CPU and clockSoundRefreshProtectionMAME statusGhidra
Atari Pong, Breakout1972 onNone (discrete logic)Not covered hereNot covered hereNoneNetlist emulationNothing to load
Midway 8080 black-and-white1978 onIntel 8080 at 1.9968 MHzAnalog circuits plus TI SN76477about 59.54 Hz (computed)None listedIn MAMEBuilt in (8085)

Atari Pong and Breakout ​

Hardware ​

Pong (Atari, 1972) has no CPU. MAME emulates it as a netlist of discrete logic. Breakout uses the same approach (MAME: atari/pong.cpp).

Protection ​

None listed.

Tools ​

MAME's netlist driver models the circuit. There is no program to decompile, so Ghidra and Unicorn do not apply.

Projects to learn from ​

MAME's pong.cpp netlist.

For an exact reimplementation ​

  • Simulate the circuit. The game's behaviour comes from the logic gates, the counters and their timing.
  • Use MAME's netlist as the description of the circuit.

Midway 8080 boards and Space Invaders ​

Hardware ​

Space Invaders (Taito, 1978; licensed to Midway in the US) uses an Intel 8080 CPU. Tomohiro Nishikado designed it. The game draws sprites with the help of a Fujitsu MB14241 shifter. Sound comes from analog circuits plus a TI SN76477 (Wikipedia (mirror): Space Invaders). Giant Bomb gives the Japanese release as 19 June 1978. Another source says November 1978 (Giant Bomb releases).

MAME's Midway 8080 black-and-white hardware uses a 19.968 MHz master clock. The CPU runs at master / 10, which is 1.9968 MHz. The pixel clock is master / 4. With totals of 320 by 262 the screen runs at about 59.54 Hz (computed) (MAME: midw8080/mw8080bw.h).

Protection ​

None listed.

Tools ​

  • Ghidra decodes the 8080 with its built-in 8085 module.
  • Unicorn has no 8080 backend. Take ground truth from MAME's debugger or from a small 8080 core (CPU families).
  • The practices page has the full CPU table.

Projects to learn from ​

Computer Archeology hosts commented disassemblies of Space Invaders and Sea Wolf (Computer Archeology: Arcade).

For an exact reimplementation ​

  • Run the port at about 59.54 Hz, the board's computed rate.
  • Reproduce the MB14241 shifter as the game uses it.
  • The sound is part circuit and part chip. An exact port needs a model of the analog sound as well as the 8080 code (Sound).

Code: Apache 2.0. Content: CC0 1.0. No game material: bring your own copy.