crater is an emulator for the Sega Game Gear, written in C.
While the internet is full of emulators for retro game systems, writing one is nevertheless a fun learning project.
Crater is named after 31 Crateris, a star that was – for a short time in 1974 – misidentified as a moon of Mercury. Mercury was Sega’s codename for the Game Gear during development.
Only OS X and Linux are tested. You’ll need a decent compiler that supports C11
(gcc, clang) and SDL 2. Using Homebrew, you can brew install sdl2
; using apt,
you can apt-get install libsdl2-dev
.
Run make
to create ./crater
. To build the development version with debug
symbols (they can exist simultaneously), run make DEBUG=1
, which creates
./crater-dev
.
Running ./crater
without arguments will display a list of ROM images located
in the roms/
directory, and then ask the user to pick one, or enter their own
ROM path. You can provide a path directly with ./crater path/to/rom
.
Add or symlink ROMs to roms/
at your leisure. Note that they should end in
.gg
or .bin
.
./crater -h
gives (fairly basic) command-line usage, and ./crater -v
gives
the current version.