MASTER SYSTEM EMULATOR
gg
gg is an open-source, work-in-progress Game Gear emulator written in Rust with partial support for the Sega Master System. It includes an integrated debugger, a Z80 implementation with unit tests, and a small compatibility list maintained in-repo.

WHY IT MATTERS
Why consider gg?
gg is a modern Rust implementation focused on Game Gear accuracy with active development and a built-in debugger. It can run a number of Game Gear titles (the README lists tested ROMs and a BIOS checksum) and exposes debugging and Lua scripting hooks useful for development and reverse engineering.
BEST FOR
Best for
Developers and emulation hobbyists who want a Rust-based Game Gear codebase with debugger integration, or anyone researching Z80 / VDP behavior and wanting a project with unit tests and CLI debug options.
The people behind gg
History and status
The project is hosted on GitHub as ioncodes/gg and is explicitly described by its author as a WIP GameGear emulator with possible Sega Master System support. The repository contains source in Rust, 232 commits, and an in-repo compatibility list. The README warns the project is experimental, notes missing PSG (audio) support, and states the implementation sometimes took an exploratory "try and learn" approach. The repo includes a Z80 implementation with unit tests (some tests failing as documented), and the author recommends running the emulator in release mode. The project appears actively maintained in the repository but is not a finished, fully compatible emulator; follow the repo for the current state before relying on it for regular gameplay.
What gg supports
- Sega Game Gear
- Sega Master System (partial / limited)
- Z80-based cartridge banking variants (implementation-dependent)
- BIOS: required (user-supplied)
Download and availability
OFFICIAL DOWNLOADS
Get gg
Official source and releases are on the project's GitHub page. The README documents building and running with cargo and directs users to pass a BIOS and ROM on the command line; pre-built release assets (if any) are available under the repository Releases tab.
Get gg ↗DOCUMENTATION
Official documentation
Read the official configuration, compatibility, and troubleshooting material before changing advanced options.
Read official documentation ↗gg setup guide
Setup note: Verified setup steps are drawn from the project's README and repository files. The project is Rust-based and expects a user-supplied Game Gear BIOS and compatible ROM files. The emulator does not include commercial BIOS or game files.
- 1) Get the source or releases: Visit the GitHub repository (ioncodes/gg). If you need a binary and the repository has release assets, download from the Releases page; otherwise clone the repo to build locally.
- 2) Install Rust toolchain: Install Rust and Cargo (rustup recommended). The project is built and run with Cargo (Rust's package manager), so a working rust toolchain is required.
- 3) Provide a Game Gear BIOS and ROM: The emulator requires a BIOS file to run Game Gear titles. The README shows an example BIOS filename bios.gg. Do not expect any BIOS or commercial ROMs to be bundled—supply your own legally-obtained files.
- 4) Build and run (recommended: release mode): From the workspace root use Cargo. The README example to run is: cargo run –release — –bios bios.gg –rom game.gg. Adjust filenames to point to your BIOS and ROM. Running in release mode is strongly recommended for performance.
- 5) Debugging and developer options: The emulator includes an egui/eframe-based debugger exposing memory viewers (ROM, RAM, VRAM, CRAM), CPU/VDP registers, step/resume controls, disassembly/trace, and a debug console. CLI flags include –lua for scripts, –cpu-test to run the ZEXDOC CPU test, and log-level options. Use cargo run –release — –help to list available options.
- 6) Testing and limitations: The repo includes unit tests and ZEXDOC/ZEXALL CPU tests; the README notes many unit tests pass but some fail (the repo's test summary is provided). The README also explicitly states PSG audio is not implemented and that Master System support is partial. Expect incomplete audio, edge-case VDP behavior, and some broken or partially-playable titles as indicated in the in-repo compatibility list.
- 7) Integrating or contributing: The codebase is Rust and organized into core, gg, z80, and other modules. The README warns the implementation sometimes used rapid experimentation. If you plan to use code or contribute, study the repository layout and tests first and follow standard GitHub contribution workflows (issues/pull requests).
Software reminder: Do not share or use copyrighted BIOS or commercial game ROMs. The emulator requires a user-supplied BIOS; this project does not include those files.
Sources and further reading
Detailed guides and tutorials
Explore step-by-step guides for gg as they are published.
Retro Replay Retro Gaming History, Reviews & Emulation
