Skip to content

i8080 Space Invaders Emulator in C

Notifications You must be signed in to change notification settings

tommojphillips/Space-Invaders

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

99 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Intel 8080 Space Invaders Emulator

An Emulator for The Original 1978 Space Invaders Arcade Machine. Written in C using SDL2 for the renderering.

Input

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

Usage

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

Building

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

  1. Clone the repo and submodules
git clone --recurse-submodules https://github.com/tommojphillips/Space-Invaders.git
  1. Download SDL2 VC package SDL2-devel-X.X.X-VC.zip (direct download link)

    • Extract and copy the include and lib folders into Space-Invaders/lib/SDL2 you will have to create the SDL2 directory.
  2. Open vc\Space-Invaders.sln, build and run.

Screenshots

Space Invaders Lunar Rescue Balloon Bomber
invaders_470_540 lrescue_470_540 ballbomb_470_540
Space Invaders Pt2 Space Laser Space Chaser
invaderspt2_470_540 space_laser_470_540 schaser_470_540