Files
libretro/emulators/emux_nes.yml
T
Abdessamad Derraz e7aa9e870b fix: state libretro core versions from their code
Each libretro profile records version_basis and core_version is read
there at its pin. snes9x states 1.63 in snes9x.h, nestopia 2.0.0, mgba
0.11.0, vice 3.10, atari800's libretro tree 7.0.0. Cores whose build
takes its version from git carry the nearest tag in describe form
(flycast v2.7-90-ge88b0ce, ppsspp, duckstation, gearcoleco), placeholders
copied from .info files (Git, SVN) are replaced by the code's statement,
and a code that states none is null with kind none.
2026-10-27 19:21:27 +01:00

58 lines
1.8 KiB
YAML

emulator: "emux (NES)"
type: libretro
core_classification: official_port
source: "https://github.com/libretro/emux"
upstream: "https://github.com/sronsse/emux"
profiled_date: "2026-03-23"
source_commit: "3e558cb15157fcb1944846a845547d369605c963"
core_version: "0.1"
version_basis:
kind: file
path: "configure.ac"
pattern: 'AC_INIT\(\[emux\],\s+\[([0-9][\w.+-]*)'
display_name: "Nintendo - NES / Famicom (Emux NES)"
cores:
- emux_nes
systems:
- nes
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.
exclusion_note: "NES has no boot ROM, CPU starts at reset vector from cartridge"
files: []