Skip to content

# emux (NES) - 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_nes
Systems | nes

Technical notes

emux is a multi-system emulator by Sebastien Ronsse, supporting CHIP-8, Game Boy, NES, and Sega Master System as separate libretro cores.

The NES core does not require any BIOS or firmware files. The .info declares no firmware_count.

The NES has no boot ROM. CPU starts at the reset vector address stored at 0xFFFC-0xFFFD (cpu/rp2a03.c RESET_VECTOR).

Cartridge loading in controllers/mapper/nes_mapper.c: - iNES header parsed (magic 0x1A53454E) - Mapper number extracted from flags6/flags7 - Supported mappers: NROM (0), MMC1 (1), MMC3 (4) - PRG-ROM and CHR-ROM mapped via file_map(PATH_DATA, ...)

Memory map from mach/nes.c: CPU bus: 0x0000-0x07FF WRAM (2 KB, mirrored to 0x1FFF) 0x2000-0x2007 PPU registers (mirrored to 0x3FFF) 0x4000-0x4013 APU registers 0x4014 Sprite DMA 0x4016-0x4017 Controller ports 0x6000-0x7FFF SRAM 0x8000-0xFFFF PRG-ROM

PPU bus: 0x0000-0x1FFF CHR-ROM/RAM (pattern tables) 0x2000-0x2FFF VRAM (nametables, 4 KB) 0x3F00-0x3F1F Palette RAM

system_directory obtained via RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY (libretro/libretro.c:23-25) but not used for any file loading.

is_experimental=true. No save states, rewind, or netplay support. Supported extensions: nes, bin, rom.

No BIOS or firmware files required.

Why no files

NES has no boot ROM, CPU starts at reset vector from cartridge

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