This project emulates the Intel 8080 CPU used to run Space Invaders. It also runs Space Invaders in a playable state (I will not be accepting comments about my gaming skills at this time):
This project depends on SDL2 for rendering graphics. To install SDL2 on macOS with Homebrew:
brew install sdl2
Then, to build:
make
Or with another C compiler:
CC=clang make
With debug symbols:
make clean && make debug
For the first argument, the executable takes the folder containing invaders.h
, invaders.g
, etc. So with the following folder structure,
├── intel8080
└── invaders
├── invaders.e
├── invaders.f
├── invaders.g
└── invaders.h
the command would be:
./intel8080 invaders
To step through one instruction at a time (useful for debugging or as a reference), use the -s
option:
./intel8080 -s invaders
Currently only single player mode is supported. The mappings are as follows:
Action | Button |
---|---|
Insert coin | C |
Start | Enter |
Left | ← |
Right | → |
Fire | Space |
Controls do not work in step mode.