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
include
andlib
folders intoSpace-Invaders/lib/SDL2
you will have to create theSDL2
directory.
- 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 |
---|---|---|
![]() |
![]() |
![]() |