Skip to content

# emux (SMS) - RetroBIOS

Type | libretro
Classification | official_port
Source | https://github.com/libretro/emux
Upstream | https://github.com/sronsse/emux
Version | 0.1
Profiled | 2026-03-23
Cores | emux_sms
Systems | sms

Technical notes

emux is a multi-system emulator by Sebastien Ronsse. BIOS and cartridge code identical between upstream and libretro fork (only difference: libretro adds g_ram_data/g_ram_size exposure in mach/sms.c for RETRO_MEMORY_SYSTEM_RAM).

BIOS loaded via file_map(PATH_SYSTEM, "bios.sms", 0, BIOS_SIZE) in sms_mapper_init (sms_mapper.c:162-165). Returns false on failure — no HLE fallback. Mapped at 0x0000, overlays cartridge ROM until bios_disable bit set in slot control register (sms_mapper.c:79-82).

No hash validation. Code accepts any file >= 8192 bytes. is_experimental=true. No save states, rewind, or netplay.

1 files | 1 required, 0 optional | 1 in repo, 0 missing

`bios.sms` -required : Sega Master System BIOS

- System: sms
- Size: 8.0 KB
- Validation: size
- Source: `controllers/mapper/sms_mapper.c:12 (BIOS_SIZE=0x2000), :61 (bios_path), :162-170 (file_map + NULL check → return false)`
- Platforms: lakka, retroarch, retrodeck, retropie
- Mapped at 0x0000, overlays cartridge ROM until bios_disable bit set. file_map rejects files < 8192 bytes (file.c:59).

Generated on 2026-03-25T14:56:43Z