feat: add 10 emulator profiles (119-series batch 1)

81 (ZX81, embedded), DoubleCherryGB (GB dual, no BIOS),
amiarcadia (Arcadia 2001, no BIOS), applewin (Apple II, 26 embedded),
ardens (Arduboy, 6 bootloaders embedded), daphne (LaserDisc, no BIOS),
pcem (IBM PC, 75+ machine/video/sound ROMs), panda3ds (3DS, optional keys),
easyrpg (RPG Maker, soundfont + RTP), frodo (C64, 4 ROMs embedded)

105 total profiles.
This commit is contained in:
Abdessamad Derraz
2026-03-17 20:11:18 +01:00
parent 9a69b49eac
commit a77477cbe8
10 changed files with 1430 additions and 0 deletions

49
emulators/81.yml Normal file
View File

@@ -0,0 +1,49 @@
emulator: EightyOne
type: libretro
source: "https://github.com/libretro/81-libretro"
cores:
- 81
systems:
- sinclair-zx81
notes: |
EightyOne is a Sinclair ZX81 emulator ported to libretro. Also supports
ZX80, Jupiter ACE, TS1500, Lambda, R470, TK85, and ZX97LE machines, but
the libretro port hardcodes MACHINEZX81 in retro_load_game (libretro.cpp:393).
ROM loading is in snap.c:487-512. The memory_load() function matches the
requested ROM filename against a compiled-in table and copies from embedded
byte arrays generated by xxd -i at build time (Makefile.libretro:519-522).
Only two ROMs are embedded: zx81.rom (the ZX81 8K BASIC ROM) and dkchr.rom
(dK'tronics character ROM). Any other ROM name logs an error and returns 0.
The core never calls RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY, never opens
files from the filesystem for ROM data, and need_fullpath is set to false
(libretro.cpp:308). All ROM data is baked into the compiled .so/.dll.
No external BIOS or firmware files are needed.
files: []
analysis:
embedded_roms:
zx81_rom:
variable: bin_ROM_zx81_rom
source_file: "bin/ROM/zx81.rom"
build_step: "xxd -i -> C array"
source_ref: "snap.c:489-498"
dkchr_rom:
variable: bin_ROM_dkchr_rom
source_file: "bin/ROM/dkchr.rom"
build_step: "xxd -i -> C array"
source_ref: "snap.c:499-508"
machine_roms:
notes: |
eo.c sets CurRom based on machine type. The libretro port forces
MACHINEZX81 (eo.c:39-41), so CurRom is always zx81.ROM81 which
defaults to "zx81.rom". Other machine ROMs (zx80, ace, ts1500,
lambda, zx97le, ringo470, tk85) are referenced but only zx81.rom
and dkchr.rom are embedded. Selecting other machines would log
"ROM not found" and load nothing.
filesystem_access: false
system_directory_used: false

35
emulators/amiarcadia.yml Normal file
View File

@@ -0,0 +1,35 @@
emulator: amiarcadia
type: libretro
source: "https://amigan.yatho.com/"
cores:
- amiarcadia
systems:
- emerson-arcadia-2001
- interton-vc4000
- elektor-tv-games-computer
# AmiArcadia is a libretro port of James Jacobs' emulator for Signetics
# 2636 PVI / 2637 UVI + 2650 CPU-based systems: Emerson Arcadia 2001 and
# clones (Bandai, Grandstand, Schmid, Hanimex, Leisurevision, etc.),
# Interton VC 4000 family (Voltmace, Rowtron, Fountain, etc.), Elektor
# TV Games Computer, and Zaccaria/Malzak coin-op arcade machines.
#
# The core does NOT require any BIOS or system ROM files.
# firmware_count = 0 in amiarcadia_libretro.info confirms this.
#
# ROM identification:
# The core auto-identifies known game ROMs by CRC32 and configures the
# correct machine type, memory map, and game-specific settings. For
# unknown ROMs, the user selects machine type via the "Machine" core
# option (Arcadia / Interton).
#
# Supported extensions: .bin, .tvc
#
# Source ref: libretro-core-info/amiarcadia_libretro.info (firmware_count = 0)
# Docs: https://docs.libretro.com/library/amiarcadia/
notes: |
No BIOS files required. The emulator has no external firmware dependencies.
Game ROMs are identified by CRC32 for automatic machine configuration.
bios_files: []

220
emulators/applewin.yml Normal file
View File

@@ -0,0 +1,220 @@
emulator: AppleWin
type: libretro
source: "https://github.com/audetto/AppleWin"
cores:
- applewin
systems:
- apple-ii
notes: |
AppleWin is an Apple II/IIe/II+ emulator. The libretro port embeds all
ROM images directly into the compiled binary via a CMake resource system
(resource/CMakeLists.txt -> apple2roms static library -> apple2roms_data.h).
The GNUFrame::GetResourceData() function serves ROMs from this compiled-in
map. No external BIOS/firmware files are needed.
The core never calls RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY and the official
applewin_libretro.info has zero firmware entries.
Supported machine types (via core option applewin_machine):
Enhanced Apple //e, Apple ][ (Original), Apple ][+, Apple ][ J-Plus,
Apple //e, Pravets 82, Pravets 8M, Pravets 8A, Base64A, TK3000 //e
Supported extensions: bin, do, dsk, nib, po, gz, woz, zip, 2mg, 2img,
iie, apl, hdv, yaml, m3u
supports_no_game: true (can boot without content)
files: []
analysis:
embedded_roms:
build_system: "CMake add_resources() in resource/CMakeLists.txt"
storage: "apple2roms static library linked into core binary"
accessor: "GNUFrame::GetResourceData() -> apple2roms::data map"
source_ref: "source/frontends/common2/gnuframe.cpp:83"
system_roms:
- id: IDR_APPLE2_ROM
filename: Apple2.rom
size: 12288
md5: 3c406514b9806a7c57ee65fb0b0c39b4
sha1: 09288be705464b608ff190519ab008d3dfcd1b05
note: "Apple ][ original ROM (12 KB)"
- id: IDR_APPLE2_PLUS_ROM
filename: Apple2_Plus.rom
size: 12288
md5: 572b3005a4fa49bc54917b069b82c1ab
sha1: 33a24f5489ba9195b44be77d9afb2252594cb5c7
note: "Apple ][+ ROM (12 KB)"
- id: IDR_APPLE2_JPLUS_ROM
filename: Apple2_JPlus.rom
size: 12288
md5: f3e8237eca3809bec2a42b984a1332a8
sha1: ad200b3263d08e7235d0871c8595963a07adc905
note: "Apple ][ J-Plus ROM (12 KB)"
- id: IDR_APPLE2E_ROM
filename: Apple2e.rom
size: 16384
md5: 346bc782c6a08a531c460e33bc03daf4
sha1: 61fa9254628e5bb7236fb474006116d67684d747
note: "Apple //e ROM (16 KB)"
- id: IDR_APPLE2E_ENHANCED_ROM
filename: Apple2e_Enhanced.rom
size: 16384
md5: 38063e08c778503fc03ecebb979769e9
sha1: b8ea90abe135a0031065e01697c4a3a20d51198b
note: "Enhanced Apple //e ROM (16 KB, default machine type)"
- id: IDR_PRAVETS_82_ROM
filename: PRAVETS82.ROM
size: 12288
md5: c619b7edfcf021f3b8fd20d9386676ba
sha1: 8bd7ced83e209a15e9b19a05a5ef4b8e996dc1a5
note: "Pravets 82 ROM (12 KB)"
- id: IDR_PRAVETS_8M_ROM
filename: PRAVETS8M.ROM
size: 12288
md5: 76c79535f7cf77973e2c711aa977a124
sha1: f1b4ff018acf95f3355f0d575b66a188d728b687
note: "Pravets 8M ROM (12 KB)"
- id: IDR_PRAVETS_8C_ROM
filename: PRAVETS8C.ROM
size: 16384
md5: 1896d7b98dd940c89f7c8ea899b71006
sha1: c976fe56e57706c161f513a82ba3e0d8cda83904
note: "Pravets 8A/8C ROM (16 KB)"
- id: IDR_TK3000_2E_ROM
filename: TK3000e.rom
size: 16384
md5: 8d84b614b545d4eec8799d3f325332cb
sha1: f163e5753c18ff0e812a448e8da406f102600edf
note: "TK3000 //e ROM (16 KB)"
- id: IDR_BASE_64A_ROM
filename: Base64A.rom
size: 49152
md5: 352fdbcae14c6a8c0398822c7a273309
sha1: f1c779af480b5bda2bdd03950c1201a5c5143bea
note: "Base64A ROM (48 KB)"
- id: IDR_FREEZES_F8_ROM
filename: Freezes_Non-autostart_F8_Rom.rom
size: 2048
md5: d0a61e95ed1e1dc37c8e4801326aa79e
sha1: 3180be6b555ee9ef1f59c4fc3f25c5aab8c39c81
note: "Freezes non-autostart F8 ROM (2 KB)"
video_roms:
- id: IDR_APPLE2_VIDEO_ROM
filename: Apple2_Video.rom
size: 2048
md5: 9ac0dc8c4d0002eb45b0b84be0bde5ec
sha1: f9d312f128c9557d9d6ac03bfad6c3ddf83e5659
note: "Apple II character generator ROM (2 KB)"
- id: IDR_APPLE2_JPLUS_VIDEO_ROM
filename: Apple2_JPlus_Video.rom
size: 2048
md5: 271e2c9bf928b95e7baeff391db45495
sha1: 0a382be58db5215c4a3de53b19a72fab660d5da2
note: "Apple ][ J-Plus character generator ROM (2 KB)"
- id: IDR_APPLE2E_ENHANCED_VIDEO_ROM
filename: Apple2e_Enhanced_Video.rom
size: 4096
md5: 9123fff3442c0e688cc6816be88dd4ab
sha1: b2b5d87f52693817fc747df087a4aa1ddcdb1f10
note: "Enhanced Apple //e character generator ROM (4 KB)"
- id: IDR_BASE64A_VIDEO_ROM
filename: Base64A_German_Video.rom
size: 4096
md5: 4b45852b369e2afd864a02d0d91f70dc
sha1: 87ca8135f7526ddf829f9c2c4f7dbe4d568818fc
note: "Base64A German character generator ROM (4 KB)"
peripheral_firmware:
- id: IDR_DISK2_13SECTOR_FW
filename: DISK2-13sector.rom
size: 256
md5: 4f80448507cf43ab40c17ac08d89e278
sha1: afd060e6f35faf3bb0146fa889fc787adf56330a
note: "Disk II 13-sector controller ROM (256 B)"
- id: IDR_DISK2_16SECTOR_FW
filename: DISK2.rom
size: 256
md5: 2020aa1413ff77fe29353f3ee72dc295
sha1: d4181c9f046aafc3fb326b381baac809d9e38d16
note: "Disk II 16-sector controller ROM (256 B)"
- id: IDR_SSC_FW
filename: SSC.rom
size: 2048
md5: 67c0d61ab0911183faf05270f881a97e
sha1: 6dab633470c6bc4cb3e81d09fda46597caf8ee57
note: "Super Serial Card firmware (2 KB)"
- id: IDR_HDDRVR_FW
filename: Hddrvr.bin
size: 256
md5: e0a40e9166af27b16f60beb83c9233f0
sha1: 69667800c54da1d4466e7b2168c0e418a4cf586c
note: "Hard disk controller firmware v1 (256 B)"
- id: IDR_HDDRVR_V2_FW
filename: Hddrvr-v2.bin
size: 256
md5: a49e45e7a6d4de23e0845a59c7e31e0c
sha1: 06115eebb4d58221b5c062a42bf3e41e137447ed
note: "Hard disk controller firmware v2 (256 B)"
- id: IDR_HDC_SMARTPORT_FW
filename: HDC-SmartPort.bin
size: 256
md5: 2592efa1d34ade55d490a1b39911c9b2
sha1: fd557998fd5823ad69a42ad1282e4fe47db02dca
note: "SmartPort hard disk controller firmware (256 B)"
- id: IDR_PRINTDRVR_FW
filename: Parallel.rom
size: 256
md5: 5902996f16dc78fc013f6e1db14805b3
sha1: c75c751589cbcc1ad4ab4f63676af7abadd86f5b
note: "Parallel printer card firmware (256 B)"
- id: IDR_MOCKINGBOARD_D_FW
filename: Mockingboard-D.rom
size: 2048
md5: ab53170c5ec66b63e6356f637f4388ed
sha1: e8d20f4b59fe867ff76434d35a14d2cbdc8533e3
note: "Mockingboard-D sound card firmware (2 KB)"
- id: IDR_MOUSEINTERFACE_FW
filename: MouseInterface.rom
size: 2048
md5: 22563ab338024dac7b03510371d49c57
sha1: 3a9d881a8a8d30f55b9719aceebbcf717f829d6f
note: "Mouse interface card firmware (2 KB)"
- id: IDR_THUNDERCLOCKPLUS_FW
filename: ThunderClockPlus.rom
size: 2048
md5: 138b1f7e30953fcaa58fcbf562c15001
sha1: 60f434f5325899d7ea257a6e56e6f53eae65146a
note: "ThunderClock Plus firmware (2 KB)"
- id: IDR_TKCLOCK_FW
filename: TKClock.rom
size: 2304
md5: 7076083b9d748b7637b020636543971b
sha1: 3740516cc9050465f8b884dbeb0ecdd2c1354620
note: "TK Clock firmware (2.25 KB)"

84
emulators/ardens.yml Normal file
View File

@@ -0,0 +1,84 @@
emulator: Ardens
type: libretro
source: "https://github.com/tiberiusbrown/ardens"
cores:
- ardens
systems:
- arduboy
notes: |
Ardens is an Arduboy FX simulator designed for profiling and debugging,
ported to libretro. It emulates the ATmega32U4 MCU, SSD1306 OLED display,
and W25Q128 external flash used by the Arduboy hardware.
No BIOS or bootloader files are required. The core has all boot code
compiled directly into the binary:
- Caterina/Arduboy3K bootloaders for multiple hardware revisions (D1, D2,
E2) are embedded as C arrays generated from .hex files via bin2c.py.
Located in src/boot/boot_game_*.c and src/boot/boot_menu_*.c.
The appropriate variant is selected at reset based on the configured
device type (absim_arduboy.cpp:115-161).
- Flashcart header (1536 bytes) is embedded in src/boot/boot_flashcart.c
and written to the start of the W25Q128 flash image at init
(absim_w25q128.hpp:14).
- EEPROM (1024 bytes) and external flash (W25Q128, 16 MB) state are
handled as save RAM through the libretro RETRO_MEMORY_SAVE_RAM
interface, not as system files.
The libretro port does not call RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY
and never attempts to load any file from the system directory.
The .info file declares firmware_count = 0.
Supported ROM formats: Intel HEX (.hex) and Arduboy package (.arduboy).
block_extract is set to true (the core reads archives directly).
files: []
platform_details:
embedded_bootloaders:
source_ref: "src/boot/_make.bat, src/absim_arduboy.cpp:115-161"
variants:
- name: "arduboy3k-bootloader-game-sda"
array: "ARDENS_BOOT_GAME_D1"
size: 8422
device: "Arduboy FX (SDA)"
- name: "arduboy3k-bootloader-menu-sda"
array: "ARDENS_BOOT_MENU_D1"
size: 8422
device: "Arduboy FX (SDA)"
- name: "arduboy3k-bootloader-game-devkit"
array: "ARDENS_BOOT_GAME_D2"
size: 8446
device: "Arduboy FX DevKit"
- name: "arduboy3k-bootloader-menu-devkit"
array: "ARDENS_BOOT_MENU_D2"
size: 8446
device: "Arduboy FX DevKit"
- name: "arduboymini-bootloader-game"
array: "ARDENS_BOOT_GAME_E2"
size: 8548
device: "Arduboy Mini"
- name: "arduboymini-bootloader-menu"
array: "ARDENS_BOOT_MENU_E2"
size: 8548
device: "Arduboy Mini"
notes: |
All bootloaders are compiled from Intel HEX into C arrays at build
time. The core selects the game or menu variant at reset depending
on whether a flashcart image was loaded and the boot_to_menu config
flag (absim_arduboy.cpp:142-158). The bootloader is written to the
top of the ATmega32U4 program memory at the address defined by the
BOOTSZ fuse bits (absim.hpp:811).
embedded_flashcart_header:
source_ref: "src/boot/boot_flashcart.c, src/absim_w25q128.hpp:14"
array: "ARDENS_BOOT_FLASHCART"
size: 1536
notes: |
Empty flashcart header written to the first 1536 bytes of the
W25Q128 flash image during initialization. This is not a BIOS
file -- it is the default flash content the Arduboy FX expects
at the start of external storage.

56
emulators/daphne.yml Normal file
View File

@@ -0,0 +1,56 @@
emulator: Daphne
type: libretro
source: "https://github.com/libretro/daphne"
systems:
- arcade-laserdisc
notes: |
Daphne is a LaserDisc arcade game emulator ported to libretro. It emulates
classic full-motion video arcade games like Dragon's Lair, Space Ace,
Cliff Hanger, and others that used LaserDisc players for video output.
The core does NOT require any shared system BIOS or firmware files.
The libretro-core-info file (daphne_libretro.info) declares no firmware.
Each game loads its own arcade ROM set from a ZIP file named after the game
short name (e.g. lair.zip, cliff.zip, bega.zip). ROM files are individual
arcade chip dumps loaded via the rom_def struct in each game class
(daphne-1.0-src/game/*.cpp). CRC32 verification is performed at load time
(game.cpp:769-778).
Content loading path (libretro.cpp:546-637):
1. User points RetroArch to a .zip file (e.g. /Daphne/roms/lair.zip)
2. The core strips the path to derive:
- rom_name: game short name (e.g. "lair"), lowercased
- rom_path: parent directory
3. A home_dir is set to rom_path/.. (one level up from roms/)
4. Additional data is expected relative to home_dir:
- roms/ -> game ROM ZIPs
- framefile/ -> frame description files (.txt)
- sound/ -> sound samples
- ram/ -> SRAM saves
- pics/ -> overlay graphics
Expected directory layout:
Daphne/
roms/lair.zip
roms/cliff.zip
framefile/lair.txt
framefile/cliff.txt
sound/lair/ (optional, game-specific samples)
Supported games include (from README.md and libretro.cpp):
lair (Dragon's Lair), ace (Space Ace), cliff (Cliff Hanger),
bega (Bega's Battle), badlands (Badlands), esh (Esh's Aurunmilla),
interstellar, mach3, sdq (Super Don Quix-ote), tq (Thayer's Quest),
astron, galaxy, cobra, roadblaster, gpworld, lair2 (Dragon's Lair II),
and many ROM revision variants.
The core is marked experimental. Savestates, cheats, and disk control are
not supported. Requires full file path (retro_load_game uses path, not
data buffer).
files: []
# No shared BIOS or firmware files. All ROMs are per-game arcade chip
# dumps distributed inside game-named ZIP archives. These are game content,
# not system files managed by retroarch_system.

View File

@@ -0,0 +1,30 @@
emulator: DoubleCherryGB
type: libretro
source: "https://github.com/TimOelrichs/doublecherryGB-libretro"
cores:
- DoubleCherryGB
systems:
- nintendo-gb
- nintendo-gbc
notes: |
DoubleCherryGB is a Game Boy / Game Boy Color emulator forked from TGB Dual
by GIGO and Hii. It adds multi-Game Boy emulation with virtual link cable
support for up to 16 players, DMG-07 4-Player Adapter emulation, and
built-in Pokemon distribution events.
No BIOS or boot ROM files are required or supported. The core does not
call RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY for firmware loading and does
not attempt to open any files from the system directory.
In cpu.cpp:82, the program counter is initialized to 0x100 (post-boot ROM
entry point), and cpu::reset() sets all registers to their post-boot
values directly (AF=0x01B0 for DMG, 0x11B0 for CGB). This means the
core completely bypasses the boot ROM sequence via HLE register setup.
The .info file at libretro-core-info confirms no firmware entries.
Supported extensions: gb, dmg, gbc, cgb, sgb.
Library version: v0.18.0.
files: []

119
emulators/easyrpg.yml Normal file
View File

@@ -0,0 +1,119 @@
emulator: EasyRPG Player
type: libretro
source: "https://github.com/libretro/easyrpg-libretro"
cores:
- easyrpg
systems:
- rpgmaker
# EasyRPG Player is an open-source interpreter for RPG Maker 2000 and 2003
# games. It does not require any BIOS or firmware files. All system data
# files are optional and improve the experience (MIDI music, RTP assets).
#
# The official libretro .info file declares zero firmware entries.
#
# Directory layout under <system_dir>:
# rtp/2000/ - RPG Maker 2000 Run-Time Package assets
# rtp/2003/ - RPG Maker 2003 Run-Time Package assets
# easyrpg-player/ - global config dir (auto-created)
# easyrpg-player/Soundfont/ - user-provided .sf2 files
# easyrpg-player/Font/ - user-provided font files
#
# RTP path resolution (filefinder_rtp.cpp:68-75, libretro build):
# 1. <core_assets_dir>/rtp/<version>
# 2. <system_dir>/rtp/<version>
# where <version> is "2000" or "2003" depending on the game
#
# MIDI playback uses FluidSynth (fluidlite) with this soundfont search
# order (decoder_fluidsynth.cpp:118-163):
# 1. User-configured soundfont from settings
# 2. "easyrpg.soundfont" (looked up via VFS, placed in game dir or system dir)
# 3. FluidSynth default soundfont setting
# 4. SDL_SOUNDFONTS environment variable
# 5. /usr/share/soundfonts/FluidR3_GM.sf2 (Linux desktop)
# 6. /usr/share/sounds/sf2/FluidR3_GM.sf2 (Linux desktop)
#
# WildMidi alternative MIDI (decoder_wildmidi.cpp:99-114, libretro build):
# 1. <system_dir>/wildmidi.cfg
# 2. <core_assets_dir>/wildmidi/wildmidi.cfg
#
# Games that include all their assets (FullPackageFlag) need nothing extra.
# Games relying on RPG Maker RTP need the matching RTP installed.
notes: |
No BIOS or firmware required. All files listed below are optional runtime
data that improve compatibility and audio quality.
RTP (Run-Time Package) contains default assets (sprites, music, sound effects)
shared by many RPG Maker games. Games that ship all their own assets do not
need it. The RPG Maker 2000 and 2003 RTPs are separate packages. EasyRPG
also supports translated/third-party RTP variants (Don Miguel, Kadokawa,
Enterbrain, RPG Advocate, etc.) and auto-detects which one a game uses.
For MIDI music, a General MIDI soundfont in SF2 format is needed. Place it
as easyrpg.soundfont in the system directory, or put any .sf2 file in
easyrpg-player/Soundfont/ and select it from the core settings menu.
files:
# ================================================================
# Soundfont for MIDI playback (optional)
# decoder_fluidsynth.cpp:125 - first custom path checked
# ================================================================
- name: "easyrpg.soundfont"
path: "easyrpg.soundfont"
required: false
source_ref: "decoder_fluidsynth.cpp:125, scene_logo.cpp:261"
note: >
General MIDI soundfont (SF2 format) for MIDI music playback. Many RPG
Maker games use MIDI for background music. Without a soundfont, MIDI
tracks are silent. Any GM-compatible .sf2 works. Can also be placed in
easyrpg-player/Soundfont/ with any filename.
# ================================================================
# WildMidi configuration (optional, alternative MIDI backend)
# decoder_wildmidi.cpp:99-114
# ================================================================
- name: "wildmidi.cfg"
path: "wildmidi.cfg"
required: false
source_ref: "decoder_wildmidi.cpp:103-104"
note: >
WildMidi configuration file pointing to GUS patch sets for MIDI
playback. Alternative to FluidSynth/SF2. Only used if WildMidi
support is compiled in and FluidSynth is not available or disabled.
# ================================================================
# RPG Maker 2000 RTP (optional, game-dependent)
# filefinder_rtp.cpp:73-74 - <system_dir>/rtp/2000
# ================================================================
- name: "RPG Maker 2000 RTP"
path: "rtp/2000/"
required: false
type: directory
source_ref: "filefinder_rtp.cpp:73-74"
note: >
Run-Time Package for RPG Maker 2000 games. Contains default tilesets,
character sprites, battle animations, music, and sound effects. Only
needed by games that reference RTP assets instead of bundling them.
Multiple RTP variants exist (Japanese official, English official,
Don Miguel English translation). EasyRPG auto-detects which variant
a game expects.
# ================================================================
# RPG Maker 2003 RTP (optional, game-dependent)
# filefinder_rtp.cpp:73-74 - <system_dir>/rtp/2003
# ================================================================
- name: "RPG Maker 2003 RTP"
path: "rtp/2003/"
required: false
type: directory
source_ref: "filefinder_rtp.cpp:73-74"
note: >
Run-Time Package for RPG Maker 2003 games. Same concept as the 2000
RTP but with additional battle system assets for the side-view ATB
combat. Multiple variants exist (Japanese official, English official,
RPG Advocate English, Vlad Russian, Korean, Traditional Chinese).

87
emulators/frodo.yml Normal file
View File

@@ -0,0 +1,87 @@
emulator: Frodo
type: libretro
cores: [frodo]
source: "https://github.com/libretro/frodo-libretro"
systems: [commodore-c64]
notes: |
Frodo is a Commodore 64 emulator by Christian Bauer (Frodo V4.2), ported
to libretro. It emulates the C64 (MOS 6510, VIC-II, SID, CIA x2) and an
optional 1541 floppy drive.
All four ROMs are embedded directly in the core binary as compiled-in
byte arrays (Basic_ROM.h, Kernal_ROM.h, Char_ROM.h, 1541_ROM.h). No
external BIOS files are required for normal operation.
The core attempts to load external ROM files from the current working
directory (DATADIR is empty in the libretro build) at startup via
load_rom_files() in main.cpp. If any file fails to open or has the wrong
size, the embedded ROM is used as fallback via memcpy(). The filenames
are hardcoded with spaces, no subdirectory prefix.
ROM loading order in load_rom_files():
1. "Basic ROM" (8192 bytes, BASIC_ROM_SIZE 0x2000) -> TheC64->Basic
2. "Kernal ROM" (8192 bytes, KERNAL_ROM_SIZE 0x2000) -> TheC64->Kernal
3. "Char ROM" (4096 bytes, CHAR_ROM_SIZE 0x1000) -> TheC64->Char
4. "1541 ROM" (16384 bytes, DRIVE_ROM_SIZE 0x4000) -> TheC64->ROM1541
The core does NOT construct paths relative to retro_system_directory for
ROM loading. The system directory variable is fetched in retro_init() but
only used for the save directory fallback, not for ROM path construction.
DATADIR defaults to "" (empty string) when not defined by the build
system, so the filenames resolve to bare names in the cwd. In practice,
the external ROM loading path is effectively unused in the libretro build
since the cwd is unpredictable and the filenames contain spaces.
The Kernal ROM is patched at runtime by PatchKernal() in C64.cpp for
fast reset (addresses 0x1D84-0x1D85) and IEC bus replacement when 1541
processor emulation is enabled (multiple addresses in the 0x0D00-0x0E00
range are patched with 0xF2 trap opcodes).
The 1541 drive ROM is also patched at Reset() in C64.cpp: ROM checksum
verification is disabled (0x2AE4-0x2AE9 NOPed), DOS idle loop is
trapped (0x2C9B), and write sector / format track operations are
intercepted (0x3594-0x3598, 0x3B0C-0x3B0D).
Source: Src/main.cpp:67-115 (ROM defines, load_rom, load_rom_files),
Src/C64.h:33-37 (ROM size constants), Src/C64.cpp:221-284 (PatchKernal),
Src/C64.cpp:738-746 (Reset ROM patching),
Src/Basic_ROM.h, Src/Kernal_ROM.h, Src/Char_ROM.h, Src/1541_ROM.h
(embedded ROM arrays)
files:
- name: "Basic ROM"
system: commodore-c64
description: "C64 BASIC V2 ROM"
required: false
embedded: true
size: 8192
note: "Embedded as builtin_basic_rom[] in Basic_ROM.h. External file never loaded in practice (DATADIR is empty, path is bare filename in cwd)."
source_ref: "Src/main.cpp:71,77,100-102"
- name: "Kernal ROM"
system: commodore-c64
description: "C64 Kernal ROM"
required: false
embedded: true
size: 8192
note: "Embedded as builtin_kernal_rom[] in Kernal_ROM.h. Patched at runtime for fast reset and 1541 IEC traps."
source_ref: "Src/main.cpp:72,78,104-106"
- name: "Char ROM"
system: commodore-c64
description: "C64 Character Generator ROM"
required: false
embedded: true
size: 4096
note: "Embedded as builtin_char_rom[] in Char_ROM.h. Used by VIC-II for text/bitmap rendering."
source_ref: "Src/main.cpp:73,79,108-110"
- name: "1541 ROM"
system: commodore-c64
description: "Commodore 1541 floppy drive ROM"
required: false
embedded: true
size: 16384
note: "Embedded as builtin_drive_rom[] in 1541_ROM.h. Patched at runtime to disable checksum and trap disk I/O."
source_ref: "Src/main.cpp:74,80,112-114"

42
emulators/panda3ds.yml Normal file
View File

@@ -0,0 +1,42 @@
emulator: Panda3DS
type: libretro
core_name: panda3ds_libretro
source: "https://github.com/panda3ds-emu/panda3ds"
systems: [nintendo-3ds]
notes: |
Panda3DS is an HLE 3DS emulator. Most games run without any system files.
Encrypted ROMs need AES keys in sysdata/aes_keys.txt, and seed-encrypted
titles (9.6+) also need sysdata/seeddb.bin.
DSP firmware is loaded from the game itself (not from disk), with HLE/LLE/Null
modes selectable via core option panda3ds_dsp_emulation.
System archives (shared font, bad word list, country list, mii data) are
compiled into the binary from citra_system_archives headers.
The libretro core does NOT use RetroArch's system directory. It stores data
under the save directory in "Emulator Files/sysdata/".
The .info file declares no firmware entries, so RetroArch will not check
for any system files.
Experimental core: is_experimental = true in the .info file.
files:
- name: "aes_keys.txt"
path: "Emulator Files/sysdata/aes_keys.txt"
description: "AES encryption keys for decrypting encrypted ROMs"
required: false
source_ref: "src/emulator.cpp:229,238"
notes: |
Loaded at ROM load time from appDataRoot/sysdata/aes_keys.txt.
In libretro mode, appDataRoot = <save_dir>/Emulator Files/.
Contains key slot entries like "generator=XXXX", keyX/keyY values.
Only needed for encrypted .3ds/.cci/.cxi/.app files.
Decrypted dumps work without this file.
- name: "seeddb.bin"
path: "Emulator Files/sysdata/seeddb.bin"
description: "Seed database for seed-encrypted games"
required: false
source_ref: "src/emulator.cpp:230,241-242, src/core/loader/ncch.cpp:77-93"
notes: |
Required for titles using seed encryption (firmware 9.6+).
Must be placed alongside aes_keys.txt in the sysdata directory.
Without it, seed-encrypted titles will fail to load with a warning.

708
emulators/pcem.yml Normal file
View File

@@ -0,0 +1,708 @@
emulator: PCem
type: libretro
source: "https://github.com/libretro/libretro-pcem"
systems: [ibm-pc, ibm-xt, ibm-at, ibm-pcjr, ibm-ps1, tandy-1000]
# PCem (PC Emulator) emulates IBM PC compatibles from 8088 through Pentium.
# All ROMs are loaded relative to the core's system directory via romfopen()
# which prepends pcempath (= RetroArch system dir) to the path.
# Each machine model requires its own BIOS ROM set under roms/<machine>/.
# Video card ROMs are separate and only needed for the selected GPU.
# The font ROM (mda.rom) is always loaded at startup.
files:
# ========================================================
# FONT ROM (always loaded)
# ========================================================
- name: "MDA font ROM"
path: "mda.rom"
required: true
note: >
MDA/Hercules character generator ROM. Loaded unconditionally by loadbios()
via loadfont() at startup, regardless of selected video card.
source_ref: "src/mem.c:107"
# ========================================================
# XT-IDE BIOS (optional, loaded for XT-class machines)
# ========================================================
- name: "XT-IDE BIOS"
path: "roms/ide_xt.bin"
required: false
note: >
XT-IDE Universal BIOS for XT-class machines. Loaded as option ROM at
0xC8000. Used by IBM PC, IBM XT, Generic XT, DTK XT, AMI XT,
Tandy, Amstrad, Euro PC, Olivetti, PC2086, PC3086, and other XT clones.
source_ref: "src/mem.c:60-72"
- name: "AT-IDE BIOS"
path: "roms/ide_at.bin"
required: false
note: >
XT-IDE Universal BIOS for AT-class machines. Loaded as option ROM.
Used by IBM AT, Compaq Deskpro 386, Phoenix 386, DTK 386.
source_ref: "src/mem.c:74-86"
- name: "AT-IDE BIOS v1.1.5"
path: "roms/ide_at_1_1_5.bin"
required: false
note: >
XT-IDE Universal BIOS v1.1.5 for AT-class machines.
Used specifically by IBM PS/1 model 2011.
source_ref: "src/mem.c:88-100"
# ========================================================
# MACHINE BIOS ROMs - IBM
# ========================================================
- name: "IBM PC BIOS"
path: "roms/ibmpc/pc102782.bin"
required: false
note: "IBM 5150 PC BIOS dated 10/27/82 (8 KB)."
source_ref: "src/mem.c:382-386"
- name: "IBM PC BASIC C1.1 F6"
path: "roms/ibmpc/basicc11.f6"
required: false
note: "IBM Cassette BASIC C1.1 ROM, bank F6. Optional for IBM PC."
source_ref: "src/mem.c:387-388"
- name: "IBM PC BASIC C1.1 F8"
path: "roms/ibmpc/basicc11.f8"
required: false
note: "IBM Cassette BASIC C1.1 ROM, bank F8."
source_ref: "src/mem.c:391-393"
- name: "IBM PC BASIC C1.1 FA"
path: "roms/ibmpc/basicc11.fa"
required: false
note: "IBM Cassette BASIC C1.1 ROM, bank FA."
source_ref: "src/mem.c:395-397"
- name: "IBM PC BASIC C1.1 FC"
path: "roms/ibmpc/basicc11.fc"
required: false
note: "IBM Cassette BASIC C1.1 ROM, bank FC."
source_ref: "src/mem.c:399-401"
- name: "IBM XT BIOS (combined)"
path: "roms/ibmxt/xt.rom"
required: false
note: >
IBM 5160 XT BIOS (64 KB combined ROM). Fallback: if this file
is missing, the core tries the split ROMs 5000027.u19 + 1501512.u18.
source_ref: "src/mem.c:203-222"
- name: "IBM XT BIOS U19"
path: "roms/ibmxt/5000027.u19"
required: false
note: "IBM XT BIOS low chip. Used when xt.rom is not present."
source_ref: "src/mem.c:206"
- name: "IBM XT BIOS U18"
path: "roms/ibmxt/1501512.u18"
required: false
note: "IBM XT BIOS high chip. Used when xt.rom is not present."
source_ref: "src/mem.c:207"
- name: "IBM PCjr BIOS"
path: "roms/ibmpcjr/bios.rom"
required: false
note: "IBM PCjr BIOS (64 KB). Required for PCjr machine model."
source_ref: "src/mem.c:226-229"
- name: "IBM AT BIOS U27"
path: "roms/ibmat/62x0820.u27"
required: false
note: "IBM 5170 AT BIOS low chip. Paired with 62x0821.u47."
source_ref: "src/mem.c:299"
- name: "IBM AT BIOS U47"
path: "roms/ibmat/62x0821.u47"
required: false
note: "IBM 5170 AT BIOS high chip. Paired with 62x0820.u27."
source_ref: "src/mem.c:300"
- name: "IBM PS/1 model 2011 BIOS"
path: "roms/ibmps1es/f80000.bin"
required: false
note: >
IBM PS/1 model 2011 BIOS (128 KB). 64 KB is read from offset 0x60000.
Also loaded separately by PS/1 motherboard init as a high ROM at 0xF80000.
source_ref: "src/mem.c:513-517, src/ps1.c:127-128"
# ========================================================
# MACHINE BIOS ROMs - Tandy
# ========================================================
- name: "Tandy 1000 BIOS"
path: "roms/tandy/tandy1t1.020"
required: false
note: "Tandy 1000 BIOS v01.020 (64 KB)."
source_ref: "src/mem.c:165-168"
- name: "Tandy 1000 HX BIOS"
path: "roms/tandy1000hx/v020000.u12"
required: false
note: "Tandy 1000 HX BIOS (128 KB)."
source_ref: "src/mem.c:172-176"
- name: "Tandy 1000 SL/2 BIOS low"
path: "roms/tandy1000sl2/8079047.hu1"
required: false
note: "Tandy 1000 SL/2 BIOS low chip. Paired with 8079048.hu2."
source_ref: "src/mem.c:180"
- name: "Tandy 1000 SL/2 BIOS high"
path: "roms/tandy1000sl2/8079048.hu2"
required: false
note: "Tandy 1000 SL/2 BIOS high chip. Paired with 8079047.hu1."
source_ref: "src/mem.c:181"
# ========================================================
# MACHINE BIOS ROMs - Amstrad / Sinclair
# ========================================================
- name: "Amstrad PC1512 BIOS low"
path: "roms/pc1512/40043.v1"
required: false
note: "Amstrad PC1512 BIOS low chip."
source_ref: "src/mem.c:121"
- name: "Amstrad PC1512 BIOS high"
path: "roms/pc1512/40044.v1"
required: false
note: "Amstrad PC1512 BIOS high chip."
source_ref: "src/mem.c:122"
- name: "Amstrad PC1512 font ROM"
path: "roms/pc1512/40078.ic127"
required: false
note: "Amstrad PC1512 character generator ROM."
source_ref: "src/mem.c:132"
- name: "Amstrad PC1640 BIOS low"
path: "roms/pc1640/40044.v3"
required: false
note: "Amstrad PC1640 BIOS low chip."
source_ref: "src/mem.c:135"
- name: "Amstrad PC1640 BIOS high"
path: "roms/pc1640/40043.v3"
required: false
note: "Amstrad PC1640 BIOS high chip."
source_ref: "src/mem.c:136"
- name: "Amstrad PC1640 video BIOS"
path: "roms/pc1640/40100"
required: false
note: "Amstrad PC1640 built-in EGA video BIOS. Also used by vid_pc1640 device."
source_ref: "src/mem.c:145, src/vid_pc1640.c:124"
- name: "Sinclair PC200 BIOS high"
path: "roms/pc200/pc20v2.1"
required: false
note: "Sinclair PC200 BIOS high chip."
source_ref: "src/mem.c:151"
- name: "Sinclair PC200 BIOS low"
path: "roms/pc200/pc20v2.0"
required: false
note: "Sinclair PC200 BIOS low chip."
source_ref: "src/mem.c:152"
- name: "Sinclair PC200 font ROM"
path: "roms/pc200/40109.bin"
required: false
note: "Sinclair PC200 character generator ROM."
source_ref: "src/mem.c:162"
- name: "Amstrad PC2086 BIOS low"
path: "roms/pc2086/40179.ic129"
required: false
note: "Amstrad PC2086 BIOS low chip."
source_ref: "src/mem.c:261"
- name: "Amstrad PC2086 BIOS high"
path: "roms/pc2086/40180.ic132"
required: false
note: "Amstrad PC2086 BIOS high chip."
source_ref: "src/mem.c:262"
- name: "Amstrad PC2086 video BIOS"
path: "roms/pc2086/40186.ic171"
required: false
note: "Amstrad PC2086 Paradise PVGA1A video BIOS."
source_ref: "src/mem.c:273, src/vid_paradise.c:329"
- name: "Amstrad PC3086 BIOS"
path: "roms/pc3086/fc00.bin"
required: false
note: "Amstrad PC3086 system BIOS (16 KB)."
source_ref: "src/mem.c:281"
- name: "Amstrad PC3086 video BIOS"
path: "roms/pc3086/c000.bin"
required: false
note: "Amstrad PC3086 Paradise PVGA1A video BIOS."
source_ref: "src/mem.c:285, src/vid_paradise.c:338"
# ========================================================
# MACHINE BIOS ROMs - Other XT clones
# ========================================================
- name: "Generic XT BIOS"
path: "roms/genxt/pcxt.rom"
required: false
note: "Generic XT clone BIOS (8 KB)."
source_ref: "src/mem.c:233-236"
- name: "DTK XT BIOS"
path: "roms/dtk/DTK_ERSO_2.42_2764.bin"
required: false
note: "DTK XT clone BIOS (8 KB)."
source_ref: "src/mem.c:240-243"
- name: "AMI XT BIOS"
path: "roms/amixt/AMI_8088_BIOS_31JAN89.BIN"
required: false
note: "AMI 8088 XT clone BIOS dated 31 Jan 1989 (8 KB)."
source_ref: "src/mem.c:539-542"
- name: "VTech Laser Turbo XT BIOS"
path: "roms/ltxt/27C64.bin"
required: false
note: "VTech Laser Turbo XT BIOS (8 KB)."
source_ref: "src/mem.c:547-550"
- name: "VTech Laser XT3 BIOS"
path: "roms/lxt3/27C64D.bin"
required: false
note: "VTech Laser XT3 BIOS (8 KB)."
source_ref: "src/mem.c:555-558"
- name: "Phoenix XT BIOS"
path: "roms/pxxt/000p001.bin"
required: false
note: "Phoenix XT clone BIOS (8 KB)."
source_ref: "src/mem.c:585-588"
- name: "Juko PC BIOS"
path: "roms/jukopc/000o001.bin"
required: false
note: "Juko XT clone BIOS (8 KB)."
source_ref: "src/mem.c:593-596"
- name: "Euro PC BIOS"
path: "roms/europc/50145"
required: false
note: "Schneider Euro PC BIOS (32 KB)."
source_ref: "src/mem.c:374-377"
- name: "Olivetti M24 BIOS low"
path: "roms/olivetti_m24/olivetti_m24_version_1.43_low.bin"
required: false
note: "Olivetti M24 BIOS low chip, version 1.43."
source_ref: "src/mem.c:247"
- name: "Olivetti M24 BIOS high"
path: "roms/olivetti_m24/olivetti_m24_version_1.43_high.bin"
required: false
note: "Olivetti M24 BIOS high chip, version 1.43."
source_ref: "src/mem.c:248"
# ========================================================
# MACHINE BIOS ROMs - 286 AT clones
# ========================================================
- name: "Commodore PC 30 III BIOS even"
path: "roms/cmdpc30/commodore pc 30 iii even.bin"
required: false
note: "Commodore PC 30 III BIOS even chip."
source_ref: "src/mem.c:312"
- name: "Commodore PC 30 III BIOS odd"
path: "roms/cmdpc30/commodore pc 30 iii odd.bin"
required: false
note: "Commodore PC 30 III BIOS odd chip."
source_ref: "src/mem.c:313"
- name: "AMI 286 BIOS"
path: "roms/ami286/amic206.bin"
required: false
note: "AMI 286 clone BIOS (64 KB)."
source_ref: "src/mem.c:365-368"
- name: "Dell System 200 BIOS low"
path: "roms/dells200/dell0.bin"
required: false
note: "Dell System 200 BIOS low chip."
source_ref: "src/mem.c:326"
- name: "Dell System 200 BIOS high"
path: "roms/dells200/dell1.bin"
required: false
note: "Dell System 200 BIOS high chip."
source_ref: "src/mem.c:327"
# ========================================================
# MACHINE BIOS ROMs - 386 machines
# ========================================================
- name: "Compaq Deskpro 386 BIOS U11"
path: "roms/deskpro386/109592-005.U11.bin"
required: false
note: "Compaq Deskpro 386 BIOS low chip."
source_ref: "src/mem.c:524"
- name: "Compaq Deskpro 386 BIOS U13"
path: "roms/deskpro386/109591-005.U13.bin"
required: false
note: "Compaq Deskpro 386 BIOS high chip."
source_ref: "src/mem.c:525"
- name: "Acer 386SX BIOS"
path: "roms/acer386/acer386.bin"
required: false
note: "Acer 386SX/25N BIOS (64 KB). Also requires oti067.bin video ROM."
source_ref: "src/mem.c:353-356"
- name: "Acer 386SX OTI-067 video BIOS"
path: "roms/acer386/oti067.bin"
required: false
note: "OTI-067 video BIOS for Acer 386SX (on-board video)."
source_ref: "src/mem.c:359, src/vid_oti067.c:184"
- name: "Phoenix 386 BIOS low"
path: "roms/px386/3iip001l.bin"
required: false
note: "Phoenix 386 clone BIOS low chip."
source_ref: "src/mem.c:563"
- name: "Phoenix 386 BIOS high"
path: "roms/px386/3iip001h.bin"
required: false
note: "Phoenix 386 clone BIOS high chip."
source_ref: "src/mem.c:564"
- name: "DTK 386 BIOS"
path: "roms/dtk386/3cto001.bin"
required: false
note: "DTK 386SX clone BIOS with NEAT chipset (64 KB)."
source_ref: "src/mem.c:577-580"
- name: "Amstrad MegaPC BIOS low"
path: "roms/megapc/41651-bios lo.u18"
required: false
note: "Amstrad MegaPC BIOS low chip."
source_ref: "src/mem.c:407"
- name: "Amstrad MegaPC BIOS high"
path: "roms/megapc/211253-bios hi.u19"
required: false
note: "Amstrad MegaPC BIOS high chip."
source_ref: "src/mem.c:408"
- name: "AMI 386 BIOS"
path: "roms/ami386/ami386.bin"
required: false
note: "AMI 386 clone BIOS with Headland/OPTi 82C495 chipset (64 KB)."
source_ref: "src/mem.c:345-348"
# ========================================================
# MACHINE BIOS ROMs - 486 machines
# ========================================================
- name: "AMI 486 BIOS"
path: "roms/ami486/ami486.BIN"
required: false
note: "AMI 486 clone BIOS with ALi M1429 chipset (64 KB)."
source_ref: "src/mem.c:422-425"
- name: "AMI WinBIOS 486"
path: "roms/win486/ALI1429G.AMW"
required: false
note: "AMI WinBIOS 486 with ALi M1429G chipset (64 KB)."
source_ref: "src/mem.c:431-434"
- name: "HOT-433 PCI 486 BIOS"
path: "roms/hot-433/hot-433.ami"
required: false
note: "HOT-433 PCI 486 BIOS with UMC UM8881F chipset (128 KB)."
source_ref: "src/mem.c:439-443"
- name: "DTK 486 BIOS"
path: "roms/dtk486/4siw005.bin"
required: false
note: "DTK PKM-0038S E-2 BIOS with SiS 85C471 chipset (64 KB)."
source_ref: "src/mem.c:601-604"
- name: "Award SiS 496 BIOS"
path: "roms/sis496/SIS496-1.AWA"
required: false
note: "Award BIOS for SiS 496/497 chipset (128 KB)."
source_ref: "src/mem.c:448-452"
- name: "Rise R418 BIOS"
path: "roms/r418/r418i.bin"
required: false
note: "Rise Computer R418 BIOS with SiS 496/497 chipset (128 KB)."
source_ref: "src/mem.c:608-612"
# ========================================================
# MACHINE BIOS ROMs - Pentium machines
# ========================================================
- name: "Intel Premiere/PCI (Batman) BIOS"
path: "roms/revenge/1009AF2_.BIO"
required: false
note: "Intel Premiere/PCI BIOS (430LX, code-name Batman). Main BIOS block."
source_ref: "src/mem.c:469-471"
- name: "Intel Premiere/PCI (Batman) BIOS ext"
path: "roms/revenge/1009AF2_.BI1"
required: false
note: "Intel Premiere/PCI BIOS extension block."
source_ref: "src/mem.c:474-478"
- name: "Intel Premiere/PCI II (Plato) BIOS"
path: "roms/plato/1016AX1_.BIO"
required: false
note: "Intel Premiere/PCI II BIOS (430NX). Main BIOS block."
source_ref: "src/mem.c:617-620"
- name: "Intel Premiere/PCI II (Plato) BIOS ext"
path: "roms/plato/1016AX1_.BI1"
required: false
note: "Intel Premiere/PCI II BIOS extension block."
source_ref: "src/mem.c:622-625"
- name: "Intel Advanced/EV (Endeavor) BIOS"
path: "roms/endeavor/1006CB0_.BIO"
required: false
note: "Intel Advanced/EV BIOS (430FX). Main BIOS block."
source_ref: "src/mem.c:483-485"
- name: "Intel Advanced/EV (Endeavor) BIOS ext"
path: "roms/endeavor/1006CB0_.BI1"
required: false
note: "Intel Advanced/EV BIOS extension block."
source_ref: "src/mem.c:488-491"
- name: "PC Partner MB500N BIOS"
path: "roms/mb500n/031396S.BIN"
required: false
note: "PC Partner MB500N BIOS (430FX, Award, 128 KB)."
source_ref: "src/mem.c:632-635"
- name: "ASUS P/I-P54TP4XE BIOS"
path: "roms/p54tp4xe/T15I0302.AWD"
required: false
note: "ASUS P/I-P54TP4XE BIOS (430FX, Award, 128 KB)."
source_ref: "src/mem.c:640-643"
- name: "Acer M3A BIOS"
path: "roms/acerm3a/r01-b3.bin"
required: false
note: "Acer M3A BIOS (430HX, 128 KB)."
source_ref: "src/mem.c:648-651"
- name: "Acer V35N BIOS"
path: "roms/acerv35n/V35ND1S1.BIN"
required: false
note: "Acer V35N BIOS (430HX, 128 KB)."
source_ref: "src/mem.c:656-659"
- name: "ASUS P/I-P55T2P4 BIOS"
path: "roms/p55t2p4/0207_J2.BIN"
required: false
note: "ASUS P/I-P55T2P4 BIOS (430HX, Award, 128 KB)."
source_ref: "src/mem.c:664-667"
- name: "Award 430VX BIOS"
path: "roms/430vx/55XWUQ0E.BIN"
required: false
note: "Award 430VX PCI BIOS (128 KB)."
source_ref: "src/mem.c:459-463"
- name: "Epox P55-VA BIOS"
path: "roms/p55va/VA021297.BIN"
required: false
note: "Epox P55-VA BIOS (430VX, Award, 128 KB)."
source_ref: "src/mem.c:672-675"
# ========================================================
# VIDEO CARD ROMs (selected via gfxcard option)
# ========================================================
- name: "IBM EGA BIOS"
path: "roms/ibm_6277356_ega_card_u44_27128.bin"
required: false
note: "IBM EGA card BIOS (32 KB)."
source_ref: "src/vid_ega.c:957, 1078"
- name: "Compaq EGA BIOS"
path: "roms/108281-001.bin"
required: false
note: "Compaq EGA card BIOS (32 KB)."
source_ref: "src/vid_ega.c:997, 1083"
- name: "Chips & Technologies SuperEGA BIOS"
path: "roms/lega.vbi"
required: false
note: "Chips & Technologies SuperEGA BIOS (32 KB)."
source_ref: "src/vid_ega.c:1041, 1088"
- name: "IBM VGA BIOS"
path: "roms/ibm_vga.bin"
required: false
note: "IBM VGA card BIOS. Also used by PS/1 VGA (same availability check)."
source_ref: "src/vid_vga.c:89, 127"
- name: "Compaq/Paradise VGA BIOS"
path: "roms/1988-05-18.rom"
required: false
note: "Compaq/Paradise PVGA1A VGA BIOS dated 1988-05-18."
source_ref: "src/vid_paradise.c:366, 373"
- name: "ATI VGA Edge-16 BIOS"
path: "roms/vgaedge16.vbi"
required: false
note: "ATI VGA Edge-16 (ATI-18800) video BIOS."
source_ref: "src/vid_ati18800.c:135, 155"
- name: "ATI VGA Charger BIOS"
path: "roms/bios.bin"
required: false
note: "ATI VGA Charger (ATI-28800) video BIOS."
source_ref: "src/vid_ati28800.c:160, 180"
- name: "OAK OTI-067 BIOS"
path: "roms/oti067/bios.bin"
required: false
note: "OAK OTI-067 standalone video BIOS."
source_ref: "src/vid_oti067.c:158, 194"
- name: "Trident TVGA8900D BIOS"
path: "roms/TRIDENT.BIN"
required: false
note: "Trident TVGA8900D video BIOS."
source_ref: "src/vid_tvga.c:292, 307"
- name: "Tseng ET4000AX BIOS"
path: "roms/et4000.BIN"
required: false
note: "Tseng ET4000AX video BIOS."
source_ref: "src/vid_et4000.c:153, 168"
- name: "Tseng ET4000/W32p BIOS"
path: "roms/et4000w32.bin"
required: false
note: "Diamond Stealth 32 (Tseng ET4000/W32p) video BIOS."
source_ref: "src/vid_et4000w32.c:1081, 1103"
- name: "S3 Vision864 BIOS"
path: "roms/bahamas64.BIN"
required: false
note: "Paradise Bahamas 64 (S3 Vision864) video BIOS."
source_ref: "src/vid_s3.c:2001, 2015"
- name: "S3 Trio64 BIOS (Number Nine 9FX)"
path: "roms/s3_764.bin"
required: false
note: "Number Nine 9FX (S3 764/Trio64) video BIOS."
source_ref: "src/vid_s3.c:2020, 2034"
- name: "S3 Trio32 BIOS (Phoenix)"
path: "roms/86C732P.bin"
required: false
note: "Phoenix S3 732/Trio32 video BIOS."
source_ref: "src/vid_s3.c:2039, 2055"
- name: "S3 Trio64 BIOS (Phoenix)"
path: "roms/86c764x1.bin"
required: false
note: "Phoenix S3 764/Trio64 video BIOS."
source_ref: "src/vid_s3.c:2060, 2076"
- name: "S3 ViRGE BIOS"
path: "roms/s3virge.bin"
required: false
note: "Diamond Stealth 3D 2000 (S3 ViRGE) video BIOS."
source_ref: "src/vid_s3_virge.c:3746, 3936"
- name: "S3 ViRGE/DX BIOS"
path: "roms/86c375_1.bin"
required: false
note: "S3 ViRGE/DX (86C375) video BIOS."
source_ref: "src/vid_s3_virge.c:3836, 3941"
- name: "ATI Mach64 GX BIOS"
path: "roms/mach64gx/bios.bin"
required: false
note: >
ATI Graphics Pro Turbo (Mach64 GX) video BIOS. Also used by the
Cirrus Logic CL-GD5429 init path (likely a copy/paste in the source).
source_ref: "src/vid_ati_mach64.c:2341, src/vid_cirrus.c:2324"
- name: "Cirrus Logic CL-GD5429 BIOS"
path: "roms/5429.vbi"
required: false
note: "Cirrus Logic CL-GD5429 video BIOS."
source_ref: "src/vid_cl5429.c:847, 872"
- name: "Trident TGUI9440 BIOS"
path: "roms/9440.vbi"
required: false
note: "Trident TGUI9440 video BIOS."
source_ref: "src/vid_tgui9440.c:495, 517"
- name: "Paradise WD90C11 BIOS"
path: "roms/megapc/41651-bios lo.u18"
required: false
note: >
Paradise WD90C11 video BIOS for MegaPC. Uses the MegaPC BIOS ROMs
(same files as the MegaPC machine BIOS).
source_ref: "src/vid_paradise.c:348-358"
- name: "nVidia RIVA 128 BIOS"
path: "roms/riva128.bin"
required: false
note: "nVidia RIVA 128 video BIOS (64 KB). Marked experimental."
source_ref: "src/vid_nv_riva128.c:1096, 1152"
- name: "nVidia RIVA TNT BIOS"
path: "roms/rivatnt.bin"
required: false
note: "nVidia RIVA TNT video BIOS (64 KB). Marked experimental."
source_ref: "src/vid_nv_rivatnt.c:1126, 1182"
# ========================================================
# SOUND CARD ROMs
# ========================================================
- name: "Sound Blaster AWE32 ROM"
path: "roms/awe32.raw"
required: false
note: >
Creative Sound Blaster AWE32 sample ROM for EMU8000 synth chip.
Required when SB AWE32 sound card is selected.
source_ref: "src/sound_emu8k.c:679, src/sound_sb.c:479"
# ========================================================
# NETWORK CARD ROMs
# ========================================================
- name: "Realtek RTL8029AS boot ROM"
path: "roms/rtl8029as.rom"
required: false
note: "Realtek RTL8029AS PCI Ethernet boot ROM (32 KB)."
source_ref: "src/ne2000.c:1694"
- name: "NE2000 boot ROM"
path: "roms/ne2000.rom"
required: false
note: "NE2000 ISA Ethernet boot ROM (64 KB)."
source_ref: "src/ne2000.c:1701"
notes:
rom_structure: >
All ROM files are loaded relative to the RetroArch system directory.
Machine BIOS ROMs go in roms/<machine_name>/ subdirectories.
Video card ROMs go directly in roms/ (or roms/<card>/ for some).
Which ROMs are needed depends on the selected machine model and video card.
minimum_requirement: >
At minimum, the mda.rom font and one machine BIOS set are required.
The video card ROM for the selected GPU is also needed unless the machine
has built-in video (PCjr, Tandy, Amstrad, Acer 386SX, PS/1).
libretro_version: >
Based on PCem v10.1. The libretro port is quite old and may not match
current standalone PCem/86Box ROM paths.