An emulator, assembler, and disassembler for the Sega Game Gear
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Ben Kurtovic 1e04a029b7 Standardize error message logging; updates. 10 years ago
roms Initial commit 10 years ago
src Standardize error message logging; updates. 10 years ago
.gitignore Add to README, finish makefile; project structure. 10 years ago
LICENSE Initial commit 10 years ago
README.md Implement most forward-facing CLI stuff. 10 years ago
crater.c Standardize error message logging; updates. 10 years ago
makefile Add to README, finish makefile; project structure. 10 years ago

README.md

crater

crater is an emulator for the Sega Game Gear, written in C.

Why?

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.

Installing

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.

Usage

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.