# Intel 8080 CPU Emulator
A Go-powered application meant to emulate the Intel 8080 CPU and Space Invaders arcade cabinet architecture
Table of Contents
Highlights
- Developed an Intel 8080 CPU emulator in Go with SDL-based rendering to recreate classic arcade hardware
- Implemented complete 8080 instruction set and Space Invaders arcade cabinet architecture emulation
- Achieved ROM compatibility enabling execution of original Space Invaders arcade binary
Gameplay

User Input
Key | Description |
---|---|
C | Insert coin |
[Space] | P1 Start |
A/D | P1 move Left/Right |
W | P1 shoot |
T | Tilt machine (Game Over) |
Requirements
Install the necessary dependencies based on your operating system:
brew install sdl2{,_image,_mixer,_ttf,_gfx} pkg-config
sudo apt install -y libsdl2{,-image,-mixer,-ttf,-gfx}-dev
Build / Run
To build the project, run the make
command:
make # This produces the target binary in ./dist
Testing
./build/space-invaders-darwin -test=roms/tests/TST8080.COM
Launching...Running a test ROM - roms/tests/TST8080.COMloading roms/tests/TST8080.COM1792 bytes loadedMICROCOSM ASSOCIATES 8080/8085 CPU DIAGNOSTIC VERSION 1.0 (C) 1980
CPU IS OPERATIONAL
TODO
- Add sound
- Add player 2 support
Resources
- https://pastraiser.com//cpu/i8080/i8080_opcodes.html
- http://www.classiccmp.org/dunfield/r/8080.txt
- http://www.nj7p.org/Manuals/PDFs/Intel/9800301C.pdf
- http://kazojc.com/elementy_czynne/IC/INTEL-8080A.pdf
Source Code
Source available at https://github.com/dustinbowers/intel8080emu