# 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-configsudo apt install -y libsdl2{,-image,-mixer,-ttf,-gfx}-devBuild / Run
To build the project, run the make command:
make # This produces the target binary in ./distTesting
./build/space-invaders-darwin -test=roms/tests/TST8080.COMLaunching...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 OPERATIONALTODO
- 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
#Go
#emulation
#SpaceInvadaers