An Emulator for The Original 1978 Space Invaders Arcade Machine. Written in C using SDL2 for the renderering.
Both player 1 and player 2 controls are mapped to the same keys.
| Key | Desc |
|---|---|
| 1 | Player one start |
| 2 | Player two start |
| Space | Fire |
| Left Arrow | Left |
| Right Arrow | Right |
| 3 / C | Insert Coin |
| F11 | Full Screen |
| P | Pause/Unpause |
| F5 | Save Machine State |
| F9 | Load Machine State |
This project uses the same names for the roms as the MAME project. Roms are loaded from a directory named after their MAME name.
Syntax:
Space-Invaders.exe <romset>
| Options | Desc |
|---|---|
-l |
List all supported romsets |
-f |
Launch romset in fullscreen |
| romset | MAME |
|---|---|
| Space Invaders | invaders |
| Lunar Rescue | lrescue |
| Balloon Bomber | ballbomb |
| Space Invaders Part II | invadpt2 |
| Space Laser | spclaser |
| Space Chaser (set 1) | schaser |
| Indian Battle | indianbt |
| Ozma Wars (set 1) | ozmawars |
| Galaxy Wars (set 1) | galxwars |
| Galactic - Batalha Espacial | galactic |
The project is built in Visual Studio 2022
| Dependencies | |
|---|---|
| I8080 | https://github.com/tommojphillips/i8080 |
| SDL2 v2.30.10 | https://github.com/libsdl-org/SDL/releases/tag/release-2.30.10 |
- Clone the repo and submodules
git clone --recurse-submodules https://github.com/tommojphillips/Space-Invaders.git
-
Download SDL2 VC package
SDL2-devel-X.X.X-VC.zip(direct download link)- Extract and copy the
includeandlibfolders intoSpace-Invaders/lib/SDL2you will have to create theSDL2directory.
- Extract and copy the
-
Open
vc\Space-Invaders.sln, build and run.
| Space Invaders | Lunar Rescue | Balloon Bomber |
|---|---|---|
![]() |
![]() |
![]() |
| Space Invaders Pt2 | Space Laser | Space Chaser |
|---|---|---|
![]() |
![]() |
![]() |





