Skip to content

jgenesis - RetroBIOS

Type standalone
Classification Other
Source https://github.com/jsgroth/jgenesis
Version 0.14.0
Profiled 2026-08-08
Cores jgenesis
Systems sega-megadrive, sega-megacd, sega-32x, sega-mastersystem, sega-gamegear, sega-sg1000, nintendo-nes, nintendo-snes, nintendo-gb, nintendo-gbc, nintendo-gba, nec-pc-engine
Technical notes

Multi-system emulator written in Rust by James Groth. One binary covers thirteen hardware modes: Master System, Game Gear, SG-1000, Genesis, Sega CD, 32X, Sega CD 32X, NES, SNES, Game Boy, Game Boy Color, Game Boy Advance and PC Engine (frontend/jgenesis-native-driver/src/extensions.rs:172-186).

No path is hardcoded. Every BIOS, boot ROM and coprocessor ROM is an Option in the config, defaulting to None and set through a file dialog or the TOML config file (frontend/jgenesis-native-driver/src/config.rs :76-78,95-99,146-159,191-193,205). The emulator identifies these files by size and layout, never by name or hash, so the names below are the ones the dumps circulate under rather than strings read from the source. RetroBat writes bios_CD_U/E/J.bin and gba_bios.bin into the TOML directly (emulatorLauncher/Generators/Jgenesis.Generator.cs:226-229,283-294).

Sega CD selects the BIOS by disc region and per_region_bios defaults to true, so the US, European and Japanese images are each reachable (frontend/jgenesis-native-driver/src/mainloop/genesis.rs:233-262, frontend/jgenesis-native-config/src/genesis.rs:115). Setting "Use US BIOS for all regions" collapses all three onto the US slot.

SNES coprocessor ROMs use the merged layout, program ROM followed by data ROM in one file, not the split .program.rom / .data.rom pair. Program ROM endianness is auto-detected from the first four opcodes, so either byte order of a given dump loads (backend/snes-coprocessors/src/upd77c25.rs:382-390,405-419). There is one DSP slot for DSP-1: guess_dsp_variant only returns Dsp1, Dsp2, Dsp3 or Dsp4, and DSP-1B titles fall through to the DSP-1 slot (backend/snes-core/src/memory/cartridge.rs:926-936). None of the seven chips has an HLE implementation, so an affected game refuses to load when its slot is empty.

32X needs no user file. The two SH-2 boot ROMs and the 68000 vector table are compiled into the binary (backend/s32x-core/src/bootrom.rs:3-6). A Sega CD BIOS is only consulted when the hardware mode is Sega CD or Sega CD 32X.

NES, SG-1000 and PC Engine need no BIOS. PC Engine has no CD-ROM² support, so no System Card is involved. CX4, SA-1, S-DD1, SPC7110, Super FX, OBC1 and the S-RTC are emulated from cartridge data alone and take no firmware file.

Written by the emulator, not obtained: save files, save states, the per-game cheats TOML in its own serde format (frontend/jgenesis-native-config/src/lib.rs :215,244-275) and the config file itself. The GUI exports a palette to nespalette.pal (frontend/jgenesis-gui/src/app/nes.rs:428-430). portable.txt is tested for existence only, to keep the settings beside the executable (frontend/jgenesis-native-config/src/paths.rs:57-64).

16 files | 11 required, 5 optional | 9 in repo, 7 missing

bios_CD_U.bin required in repo standalone north-america
Sega CD BIOS (US)

bios_CD_E.bin required in repo standalone europe
Mega CD BIOS (Europe)

bios_CD_J.bin required in repo standalone japan
Mega CD BIOS (Japan)

gba_bios.bin required in repo standalone
Game Boy Advance BIOS

dsp1.rom required missing standalone
NEC uPD77C25 firmware for DSP-1

dsp2.rom required missing standalone
NEC uPD77C25 firmware for DSP-2

dsp3.rom required missing standalone
NEC uPD77C25 firmware for DSP-3

dsp4.rom required missing standalone
NEC uPD77C25 firmware for DSP-4

st010.rom required missing standalone
NEC uPD96050 firmware for ST010

st011.rom required missing standalone
NEC uPD96050 firmware for ST011

st018.rom required missing standalone
ARM firmware for ST018

bios.sms optional in repo standalone
Master System BIOS

bios.gg optional in repo standalone
Game Gear BIOS

dmg_boot.bin optional in repo standalone
Game Boy boot ROM

cgb_boot.bin optional in repo standalone
Game Boy Color boot ROM

nes.pal optional in repo standalone
External NES color palette

Generated on 2026-08-23T16:12:06Z