Files
libretro/emulators/emux_chip8.yml
Abdessamad Derraz cda012b10a fix: source-verified corrections from review
dosbox/dosbox_pure: added validation: [sha1, size] to MT-32 ROM
entries — MUNT rejects unrecognized SHA1 (ROMInfo.cpp:171-180).
duckstation: fixed BIOS count to 105 (24 PS1 + 80 PS2 + 1 OpenBIOS).
added exclusion_note to 6 profiles with files: [] (dosbox_svn,
dosbox_svn_ce, doukutsu_rs, emux_chip8, emux_nes, fake08).
2026-03-24 12:21:32 +01:00

50 lines
1.8 KiB
YAML

emulator: "emux (CHIP-8)"
type: libretro
core_classification: official_port
source: "https://github.com/libretro/emux"
upstream: "https://github.com/sronsse/emux"
profiled_date: "2026-03-23"
core_version: "0.1"
display_name: "CHIP-8 (Emux CHIP-8)"
cores:
- emux_chip8
systems:
- chip8
notes: |
emux is a multi-system emulator supporting CHIP-8, Game Boy, NES, and
Sega Master System as separate libretro cores. The CHIP-8 core
(emux_chip8) does not require any external BIOS or firmware files.
The CHIP-8 architecture has no real BIOS. The standard font/character
set (hex digits 0-F, 5 bytes each = 80 bytes) is hardcoded in
mach/chip8.c:40-57 as the char_mem[] array. On reset, this font data
is copied into the beginning of the 4 KB RAM (address 0x000-0x04F)
via memcpy in chip8_reset() at mach/chip8.c:105.
ROM loading: the game ROM is loaded via file_open(PATH_DATA, ...) in
chip8_init() at mach/chip8.c:68-74. On reset, ROM contents are copied
into RAM starting at address 0x200 (mach/chip8.c:113). The core
accepts .ch8, .bin, and .rom extensions (libretro/Makefile.rules:20).
Memory map from mach/chip8.c:17-20:
0x000-0x04F font/character data (hardcoded)
0x050-0x1FF unused
0x200-0xFFF program ROM + working RAM
The libretro frontend retrieves the system directory via
RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY (libretro/libretro.c:34) but
only uses it as a general config path, not for BIOS loading.
exclusion_note: "CHIP-8 has no BIOS, font data hardcoded in char_mem[]"
files: []
platform_details:
bios_mapping:
target: "none"
source_ref: "mach/chip8.c:40-57, mach/chip8.c:98-115"
notes: |
No external BIOS. The 80-byte character font is compiled into the
binary as char_mem[] and memcpy'd into RAM[0x000] on every reset.
This is standard CHIP-8 behavior -- all interpreters embed the font.