https://github.com/jsgroth/jgenesis
Sega Genesis / Sega CD / SNES / Master System / Game Gear emulator
https://github.com/jsgroth/jgenesis
emulator rust
Last synced: 3 months ago
JSON representation
Sega Genesis / Sega CD / SNES / Master System / Game Gear emulator
- Host: GitHub
- URL: https://github.com/jsgroth/jgenesis
- Owner: jsgroth
- License: gpl-3.0
- Created: 2023-08-04T21:14:39.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2026-03-31T01:50:06.000Z (3 months ago)
- Last Synced: 2026-03-31T04:56:12.370Z (3 months ago)
- Topics: emulator, rust
- Language: Rust
- Homepage:
- Size: 5.99 MB
- Stars: 314
- Watchers: 12
- Forks: 13
- Open Issues: 167
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome-emulators - jgenesis
README
# jgenesis
Cross-platform multi-console emulator supporting a number of 8-bit and 16-bit gaming consoles.
Linux, Windows, and web (WASM) are officially supported. Other platforms may work but have not been tested.
## Features
* Emulation for the following consoles:
* Sega Genesis / Mega Drive
* Sega CD / Mega CD
* Sega 32X / Mega 32X
* SG-1000
* Sega Master System / Mark III
* Game Gear
* Nintendo Entertainment System (NES) / Famicom
* Super Nintendo Entertainment System (SNES) / Super Famicom
* Game Boy / Game Boy Color
* Game Boy Advance
* GPU-based renderer with integer prescaling and optional linear interpolation
* Configurable pixel aspect ratio for each console with several different options: accurate to original hardware/TVs, square pixels, and stretched to fill the window
* Support for the Sega Master System FM sound unit expansion
* Support for the Sega Genesis SVP chip, used in _Virtua Racing_
* Support for the most common NES mappers, plus a number of less common mappers
* Support for most SNES coprocessors (e.g. Super FX, SA-1, DSP-1, CX4, S-DD1, SPC7110)
* Support for both 3-button and 6-button Genesis controllers
* Support for keyboard controls and DirectInput gamepad controls
* Save states, fast forward, and rewind
* Some simple horizontal blur and naive anti-dither shaders for blending dithered pixel patterns, which were extremely common on these consoles due to limited color palettes and lack of hardware-supported transparency
* Optional CPU overclocking for Sega Master System, Game Gear, and Genesis emulation
* Optional 2-4x GSU overclocking for SNES Super FX games
* Can run the Titan Overdrive and Titan Overdrive 2 demos for the Mega Drive
## Dev Builds
The GitHub Actions workflow compiles release builds on every commit, which will stay available for 90 days afterwards:
https://github.com/jsgroth/jgenesis/actions
Note that these builds are not always well-tested and may have bugs.
## Build & Run
See [BUILD.md](BUILD.md)
## Screenshots








## Sources
### Sega Master System / Game Gear
* Z80 User Manual:
* The Undocumented Z80 Documented: http://www.myquest.nl/z80undocumented/z80-documented-v0.91.pdf
* Sega Master System architecture:
* Sega Master System / Game Gear documentation:
* YM2413 application manual:
* Reverse engineering of the YM2413:
### Sega Genesis / Mega Drive
* M68000 Family Programmer's Reference Manual:
* Motorola 68000 Opcodes: http://goldencrystal.free.fr/M68kOpcodes.pdf
* Mega Drive / Genesis architecture:
* Mega Drive official documentation:
* Sega Genesis hardware notes by Charles MacDonald:
* Aggregating Community Research:
* Mega Drive video timings:
* Genesis ROM header reference:
* Genesis - Going beyond 4MB:
* SEGA Mega Drive / Genesis hardware notes by Kabuto:
* Huge thread discussing and detailing the YM2612:
* Genesis EEPROM games:
* SVP documentation by notaz, as well as earlier documentation work by Tasco Deluxe:
### Sega CD / Mega CD
* Mega CD official documentation:
* ECMA-130 standard:
* Thread discussing details of Mega CD emulation:
### 32X
* 32X official documentation:
* SH-1/SH-2 programming manual:
* SH7604 hardware manual:
### NES
* 6502 Instruction Set:
* 6502 Hardware Manual:
* Documentation for the NMOS 65xx/85xx Instruction Set:
* Nintendo Entertainment System (NES) architecture:
* NESDev NES reference guide:
### SNES
* A 65816 Primer:
* Super Nintendo architecture:
* fullsnes - nocash SNES hardware specifications:
* Anomie's SNES documents:
* SFC Development Wiki:
### Game Boy / Game Boy Color
* Game Boy CPU (SM83) Instruction Set:
* Pan Docs:
* Game Boy Complete Technical Reference:
* Gameboy Sound Hardware:
* The Cycle-Accurate Game Boy Docs:
* This contains some outdated/incorrect information but is still useful
### Game Boy Advance
* Game Boy Advance Architecture:
* ARM7TDMI Technical Reference Manual:
* GBATEK - GBA/NDS technical info:
* Tonc - GBA programming guide:
* mGBA blog:
* NanoBoyAdvance hardware documentation: