feat: complete emulator profiling, 81 engines (final batch)

mame2003_plus (16 BIOS ZIPs, MAME 0.78 naming), mame2010 (51 ZIPs),
mame2016 (37 ZIPs incl Lindbergh), hbmame (MAME 0.220, no custom BIOS),
tyrquake (no BIOS), cannonball (29 OutRun ROMs with CRC32),
uzem (open source, no BIOS), vecx (ROM embedded), emuscv (UPD7801G),
b2 (BBC Micro standalone, ROMs bundled)

81 total emulator profiles covering all libretro cores with firmware.
Cross-reference: 731 undeclared files, 186 already in repo.
This commit is contained in:
Abdessamad Derraz
2026-03-17 19:46:38 +01:00
parent 99581d8aba
commit 60d9d38d69
10 changed files with 1618 additions and 0 deletions

103
emulators/b2.yml Normal file
View File

@@ -0,0 +1,103 @@
emulator: b2
type: standalone
source: "https://github.com/tom-seddon/b2"
cores: []
systems:
- bbc-micro-b
- bbc-micro-bplus
- bbc-master-128
- bbc-master-compact
# b2 is a standalone BBC Micro emulator by Tom Seddon. It is NOT a libretro
# core -- there is no libretro port. The emulator uses SDL2 and Dear ImGui.
#
# Emulated models (src/b2/BeebConfig.cpp:211-433):
# - BBC Model B (with various disc interfaces: Acorn 1770, Watford, Opus)
# - BBC Model B+ / B+128
# - BBC Master 128 (MOS 3.20 and 3.50)
# - BBC Master Turbo (MOS 3.20 and 3.50, with 65C102 parasite)
# - BBC Model B + 6502 second processor
# - BBC Master Compact (MOS 5.00, 5.10, I5.10C)
# - Olivetti PC 128 S (Master Compact variant)
#
# ROM handling:
# All ROMs ship in the repo under etc/roms/. The emulator loads them via
# GetAssetPath("roms", path) at runtime. No external BIOS files needed.
# ROM paths are defined in src/b2/roms.cpp as BeebROM structs with
# {filename, display_name, StandardROM_enum}.
#
# ROM inventory (etc/roms/):
#
# BBC Model B:
# OS12.ROM 16384 md5:0a59a5ba15fe8557b5f7fee32bbd393a OS 1.20
# BASIC2.ROM 16384 md5:2cc67be4624df4dc66617742571a8e3d BASIC II
#
# BBC Model B+:
# B+MOS.rom 16384 md5:47a1eff6c7fbb47be780c87dfd50ece1 B+ MOS
# BASIC2.ROM 16384 (shared with Model B)
#
# Disc interfaces (sideways ROMs, slot 14):
# acorn/DFS-2.26.rom 16384 md5:f083f49d6fe66344c650d7e74249cb96 Acorn 1770 DFS
# watford/DDFS-1.53.rom 16384 md5:d2b71fa664f6cdf8c24b9b304777998c Watford DDFS (DDB2)
# watford/DDFS-1.54T.rom 16384 md5:e73a0417278504a6dfac2ccd9a73e9a9 Watford DDFS (DDB3)
# opus/OPUS-DDOS-3.45.rom 16384 md5:d98316eaff56ceab4fe3bfe54d2f92b2 Opus DDOS
# opus/challenger-1.01.rom 16384 md5:67e086a11834f8cc69175b601c4e5a5f Opus Challenger
#
# BBC Master 128 MOS 3.20 (M128/3.20/):
# mos.rom 16384 md5:9087f772447038a00178488b3591347b MOS 3.20 OS
# terminal.rom 16384 md5:7e053353b78b4631c274280931d96f02 Terminal (slot f)
# view.rom 16384 md5:178d09285727d596f8863f94a2fc8dad View (slot e)
# adfs.rom 16384 md5:10f08b255d6a6e3e888631946b628f1a ADFS (slot d)
# basic4.rom 16384 md5:63a6f43cbf491533cb03ceca2d2728d4 BASIC IV (slot c)
# edit.rom 16384 md5:cb3d762eaab6130d1360e1ac575589de Edit (slot b)
# viewsht.rom 16384 md5:7d5a80a8ce929d0a0f6ca8626cb9f436 Viewsheet (slot a)
# dfs.rom 16384 md5:865a0f7a5d6f10f48798801bf514d761 DFS (slot 9)
#
# BBC Master 128 MOS 3.50 (M128/3.50/):
# mos.rom 16384 md5:d7a046b1e6a9991748cee05332f1e258 MOS 3.50 OS
# terminal.rom 16384 md5:b1fa51fd49d31224ecb7e10e6908ec01 Terminal (slot f)
# view.rom 16384 md5:1566fab2f1827fb7ba61b283b828731d View (slot e)
# adfs.rom 16384 md5:fb8ceb72c5fbd9dd80eedd10d076b1a2 ADFS (slot d)
# basic4.rom 16384 md5:e11eed95d1caba8aa9772e9001590585 BASIC IV (slot c)
# edit.rom 16384 md5:8c72c7f24567cb4a2fb15eb0b0aeb55b Edit (slot b)
# viewsht.rom 16384 md5:1bc68b7c5eba6a2de2a43c9d1d9d983b Viewsheet (slot a)
# dfs.rom 16384 md5:22c2b7f14f244da21d630a7828541c79 DFS (slot 9)
#
# Parasite processors:
# MasterTurboParasite.rom 2048 md5:83d73e0e78693bb4b43e7cb18e58d556 65C102 TUBE 1.20
# TUBE110.rom 2048 md5:a77c7946128ca0b2c5e5a66b17c99dae 6502 TUBE 1.10
#
# BBC Master Compact MOS 5.00 (MCompact/5.00/):
# mos.rom 16384 md5:5d1b635e39aa461f17db2344870dda36 MOS 5.00 OS
# utils.rom 16384 md5:4f9ded16f44278a4ca0ef4e66822e316 UTILS (slot f)
# basic4.rom 16384 md5:64b3cd52e36b5262ac6ca3a9823c6ee2 BASIC IV (slot e)
# adfs.rom 16384 md5:bfbd0a7dbbfb1f1f4ba5ac0343c1f8ce ADFS (slot d)
#
# BBC Master Compact MOS 5.10 (MCompact/5.10/):
# mos.rom 16384 md5:f65eb89c7044e328b79f2ef8e51b7fd8 MOS 5.10 OS
# utils.rom 16384 md5:48a197850113b00a1eb141fb6d3ea135 UTILS (slot f)
# basic4.rom 16384 md5:64b3cd52e36b5262ac6ca3a9823c6ee2 BASIC IV (slot e, same as 5.00)
# adfs.rom 16384 md5:c2afc1cabb135e6f2254bcf9300a9b83 ADFS (slot d)
#
# Olivetti PC 128 S / MOS I5.10C (MCompact/I5.10C/):
# mos.rom 16384 md5:5e16a38bd7fd6f07f26b5a64826e4ec6 MOS I5.10C OS
# utils.rom 16384 md5:75364aa6fd5e134a40051d9ee772df37 UTILS (slot f)
# basic4.rom 16384 md5:717df34edae5b6bf5bbd8879c0d13022 BASIC IV (slot e)
# adfs.rom 16384 md5:10f23a239dde39b7fe09d72083709e93 ADFS (slot d)
#
# ROM type system (src/beeb/include/beeb/roms.inl):
# Sideways ROMs support banked mappers: 16KB (standard), CCIWORD (32KB),
# CCIBASE (64KB), CCISPELL (128KB), PALQST/PALWAP/PALTED, ABEP, ABE,
# Trilogy (64KB), MO2 (128KB). OS ROM types: 16KB, Compact (64KB),
# MegaROM (128KB), Multi-OS (512KB with 4 banks).
#
# Memory map (src/beeb/include/beeb/type.h):
# OS ROM mapped at $C000-$FFFF (MOS big pages). Sideways ROMs in 16 banks
# at $8000-$BFFF, selected via ROMSEL register at $FE30.
notes: |
b2 is a standalone BBC Micro emulator (SDL2 + Dear ImGui). Not a libretro core.
All required ROMs are bundled in the repository under etc/roms/.
No external BIOS files need to be provided by the user.
bios_files: []

385
emulators/cannonball.yml Normal file
View File

@@ -0,0 +1,385 @@
emulator: Cannonball
type: libretro
source: "https://github.com/libretro/cannonball"
systems:
- sega-outrun
notes: |
Cannonball is an enhanced OutRun engine that runs the original Sega OutRun
arcade ROM set (Rev B). It is not a traditional emulator but a source port
that loads the original ROM data for graphics, sound, and gameplay logic.
The core looks for ROM files in one of two locations
(src/main/libretro/main.cpp:945-967):
1. The directory containing a loaded .game content file
2. {system_dir}/cannonball/
ROM loading is in src/main/roms.cpp. Each file is verified by CRC32 at load
time (src/main/romloader.cpp:70-76). Files are loaded as raw ROM chips, not
inside ZIP archives.
The Rev B ROM set is always required. Japanese ROM variants are loaded on
demand when the "Japanese Tracks" core option is enabled.
Two optional widescreen tilemap patches are loaded from a res/ subdirectory
(src/main/engine/omusic.cpp:42-51). These are Cannonball-specific data files
shipped with the core, not original arcade ROMs.
The fixed PCM sample variant (opr-10188.71f) replaces opr-10188.71 when the
"Fix Broken Samples" core option is enabled.
files:
# -------------------------------------------------------
# Master CPU ROMs (68000, Rev B)
# -------------------------------------------------------
- name: "epr-10381a.132"
system: sega-outrun
required: true
size: 65536 # 0x10000
crc32: "be8c412b"
note: "Master 68K, high byte, upper bank (Rev A alternate)"
source_ref: "src/main/roms.cpp:29"
- name: "epr-10383b.117"
system: sega-outrun
required: true
size: 65536
crc32: "10a2014a"
note: "Master 68K, low byte, upper bank"
source_ref: "src/main/roms.cpp:38"
- name: "epr-10380b.133"
system: sega-outrun
required: true
size: 65536
crc32: "1f6cadad"
note: "Master 68K, high byte, lower bank"
source_ref: "src/main/roms.cpp:39"
- name: "epr-10382b.118"
system: sega-outrun
required: true
size: 65536
crc32: "c4c3fa1a"
note: "Master 68K, low byte, lower bank"
source_ref: "src/main/roms.cpp:40"
# -------------------------------------------------------
# Slave CPU ROMs (68000, Rev A)
# -------------------------------------------------------
- name: "epr-10327a.76"
system: sega-outrun
required: true
size: 65536
crc32: "e28a5baf"
note: "Slave 68K, high byte, lower bank"
source_ref: "src/main/roms.cpp:44"
- name: "epr-10329a.58"
system: sega-outrun
required: true
size: 65536
crc32: "da131c81"
note: "Slave 68K, low byte, lower bank"
source_ref: "src/main/roms.cpp:45"
- name: "epr-10328a.75"
system: sega-outrun
required: true
size: 65536
crc32: "d5ec5e5d"
note: "Slave 68K, high byte, upper bank"
source_ref: "src/main/roms.cpp:46"
- name: "epr-10330a.57"
system: sega-outrun
required: true
size: 65536
crc32: "ba9ec82a"
note: "Slave 68K, low byte, upper bank"
source_ref: "src/main/roms.cpp:47"
# -------------------------------------------------------
# Tile ROMs
# -------------------------------------------------------
- name: "opr-10268.99"
system: sega-outrun
required: true
size: 32768 # 0x8000
crc32: "95344b04"
note: "Tile ROM bank 0"
source_ref: "src/main/roms.cpp:51"
- name: "opr-10232.102"
system: sega-outrun
required: true
size: 32768
crc32: "776ba1eb"
note: "Tile ROM bank 1"
source_ref: "src/main/roms.cpp:52"
- name: "opr-10267.100"
system: sega-outrun
required: true
size: 32768
crc32: "a85bb823"
note: "Tile ROM bank 2"
source_ref: "src/main/roms.cpp:53"
- name: "opr-10231.103"
system: sega-outrun
required: true
size: 32768
crc32: "8908bcbf"
note: "Tile ROM bank 3"
source_ref: "src/main/roms.cpp:54"
- name: "opr-10266.101"
system: sega-outrun
required: true
size: 32768
crc32: "9f6f1a74"
note: "Tile ROM bank 4"
source_ref: "src/main/roms.cpp:55"
- name: "opr-10230.104"
system: sega-outrun
required: true
size: 32768
crc32: "686f5e50"
note: "Tile ROM bank 5"
source_ref: "src/main/roms.cpp:56"
# -------------------------------------------------------
# Road ROMs (identical pair, one per road layer)
# -------------------------------------------------------
- name: "opr-10185.11"
system: sega-outrun
required: true
size: 32768
crc32: "22794426"
note: "Road ROM, layer 1"
source_ref: "src/main/roms.cpp:60"
- name: "opr-10186.47"
system: sega-outrun
required: true
size: 32768
crc32: "22794426"
note: "Road ROM, layer 2 (identical to opr-10185.11)"
source_ref: "src/main/roms.cpp:61"
# -------------------------------------------------------
# Sprite ROMs (interleaved 4-way)
# -------------------------------------------------------
- name: "mpr-10371.9"
system: sega-outrun
required: true
size: 131072 # 0x20000
crc32: "7cc86208"
note: "Sprite ROM, bank 0 byte 0"
source_ref: "src/main/roms.cpp:65"
- name: "mpr-10373.10"
system: sega-outrun
required: true
size: 131072
crc32: "b0d26ac9"
note: "Sprite ROM, bank 0 byte 1"
source_ref: "src/main/roms.cpp:66"
- name: "mpr-10375.11"
system: sega-outrun
required: true
size: 131072
crc32: "59b60bd7"
note: "Sprite ROM, bank 0 byte 2"
source_ref: "src/main/roms.cpp:67"
- name: "mpr-10377.12"
system: sega-outrun
required: true
size: 131072
crc32: "17a1b04a"
note: "Sprite ROM, bank 0 byte 3"
source_ref: "src/main/roms.cpp:68"
- name: "mpr-10372.13"
system: sega-outrun
required: true
size: 131072
crc32: "b557078c"
note: "Sprite ROM, bank 1 byte 0"
source_ref: "src/main/roms.cpp:69"
- name: "mpr-10374.14"
system: sega-outrun
required: true
size: 131072
crc32: "8051e517"
note: "Sprite ROM, bank 1 byte 1"
source_ref: "src/main/roms.cpp:70"
- name: "mpr-10376.15"
system: sega-outrun
required: true
size: 131072
crc32: "f3b8f318"
note: "Sprite ROM, bank 1 byte 2"
source_ref: "src/main/roms.cpp:71"
- name: "mpr-10378.16"
system: sega-outrun
required: true
size: 131072
crc32: "a1062984"
note: "Sprite ROM, bank 1 byte 3"
source_ref: "src/main/roms.cpp:72"
# -------------------------------------------------------
# Z80 Sound ROM
# -------------------------------------------------------
- name: "epr-10187.88"
system: sega-outrun
required: true
size: 65536 # 0x10000
crc32: "a10abaa9"
note: "Z80 sound program"
source_ref: "src/main/roms.cpp:76"
# -------------------------------------------------------
# Sega PCM samples
# -------------------------------------------------------
- name: "opr-10193.66"
system: sega-outrun
required: true
size: 32768
crc32: "bcd10dde"
note: "PCM sample bank 0"
source_ref: "src/main/roms.cpp:80"
- name: "opr-10192.67"
system: sega-outrun
required: true
size: 32768
crc32: "770f1270"
note: "PCM sample bank 1"
source_ref: "src/main/roms.cpp:81"
- name: "opr-10191.68"
system: sega-outrun
required: true
size: 32768
crc32: "20a284ab"
note: "PCM sample bank 2"
source_ref: "src/main/roms.cpp:82"
- name: "opr-10190.69"
system: sega-outrun
required: true
size: 32768
crc32: "7cab70e2"
note: "PCM sample bank 3"
source_ref: "src/main/roms.cpp:83"
- name: "opr-10189.70"
system: sega-outrun
required: true
size: 32768
crc32: "01366b54"
note: "PCM sample bank 4"
source_ref: "src/main/roms.cpp:84"
- name: "opr-10188.71"
system: sega-outrun
required: true
size: 32768
crc32: "bad30ad9"
note: "PCM sample bank 5"
source_ref: "src/main/roms.cpp:85"
# -------------------------------------------------------
# Alternate / optional ROMs
# -------------------------------------------------------
- name: "epr-10381b.132"
system: sega-outrun
required: false
size: 65536
crc32: "be8c412b"
note: "Master 68K, Rev B alternate filename for epr-10381a.132"
source_ref: "src/main/roms.cpp:34"
- name: "opr-10188.71f"
system: sega-outrun
required: false
size: 32768
crc32: "37598616"
note: "PCM sample bank 5, fixed version (replaces opr-10188.71)"
source_ref: "src/main/roms.cpp:123"
# -------------------------------------------------------
# Japanese ROM variants (loaded when jap option enabled)
# -------------------------------------------------------
- name: "epr-10380.133"
system: sega-outrun
required: false
size: 65536
crc32: "e339e87a"
note: "Master 68K Japan, high byte, lower bank"
source_ref: "src/main/roms.cpp:104"
- name: "epr-10382.118"
system: sega-outrun
required: false
size: 65536
crc32: "65248dd5"
note: "Master 68K Japan, low byte, lower bank"
source_ref: "src/main/roms.cpp:105"
- name: "epr-10381.132"
system: sega-outrun
required: false
size: 65536
crc32: "be8c412b"
note: "Master 68K Japan, high byte, upper bank"
source_ref: "src/main/roms.cpp:106"
- name: "epr-10383.117"
system: sega-outrun
required: false
size: 65536
crc32: "dcc586e7"
note: "Master 68K Japan, low byte, upper bank"
source_ref: "src/main/roms.cpp:107"
- name: "epr-10327.76"
system: sega-outrun
required: false
size: 65536
crc32: "da99d855"
note: "Slave 68K Japan, high byte, lower bank"
source_ref: "src/main/roms.cpp:110"
- name: "epr-10329.58"
system: sega-outrun
required: false
size: 65536
crc32: "fe0fa5e2"
note: "Slave 68K Japan, low byte, lower bank"
source_ref: "src/main/roms.cpp:111"
- name: "epr-10328.75"
system: sega-outrun
required: false
size: 65536
crc32: "3c0e9a7f"
note: "Slave 68K Japan, high byte, upper bank"
source_ref: "src/main/roms.cpp:112"
- name: "epr-10330.57"
system: sega-outrun
required: false
size: 65536
crc32: "59786e99"
note: "Slave 68K Japan, low byte, upper bank"
source_ref: "src/main/roms.cpp:113"

66
emulators/emuscv.yml Normal file
View File

@@ -0,0 +1,66 @@
emulator: EmuSCV
type: libretro
source: "https://github.com/wzcwzc/emuscv"
cores:
- emuscv
systems:
- scv
notes: |
EmuSCV is an Epoch/YENO Super Cassette Vision emulator for libretro,
based on eSCV by Takeda Toshiya.
BIOS loading in src/vm/scv/memory.cpp:initialize() (line 71-242). The core
tries multiple filenames in order: upd7801g.s01, upd7801g.bin, upd7801g.bios,
bios.rom, bios.bin. First successful open wins.
The BIOS is read as 0x1000 (4096) bytes into the bios[] array, mapped
read-only at CPU address 0x0000-0x0FFF (UPD7801 internal ROM area).
When CHECKBIOS core option is YES or AUTO, the core computes MD5 of the
loaded data and compares against 635a978fd40db9a18ee44eff449fc126. If the
hash does not match, the BIOS is rejected (zeroed out, bios_present=false).
When CHECKBIOS is NO, any file content is accepted.
The font/character data is embedded within the BIOS at offset 0x200
(memory.h:163 get_font() returns bios + 0x200). No separate font ROM file.
The core can start without BIOS (supports_no_game=true) but shows
"BIOS not found" or "Bad BIOS" on the OSD. Games will not run without it.
The .info file declares firmware_count = 1, firmware0_opt = false.
files:
- name: "upd7801g.s01"
system: scv
required: true
size: 4096 # 4 KB, UPD7801G internal ROM
md5: 635a978fd40db9a18ee44eff449fc126
note: "UPD7801G internal ROM (BIOS). Mapped at 0x0000-0x0FFF. Contains character font at offset 0x200."
source_ref: "src/vm/scv/memory.cpp:74, libretro-core-info/emuscv_libretro.info"
aliases:
- "upd7801g.bin"
- "upd7801g.bios"
- "bios.rom"
- "bios.bin"
platform_details:
cpu: "NEC UPD7801G"
bios_mapping:
upd7801g:
target: "0x0000-0x0FFF (CPU internal ROM, 4 KB)"
format: "raw binary"
source_ref: "src/vm/scv/memory.cpp:249"
notes: |
Memory map from memory.cpp:initialize():
0x0000-0x0FFF BIOS ROM (read-only)
0x2000-0x3FFF VRAM (8 KB)
0x8000-0xFF7F Cartridge ROM (up to 4 banks of 32 KB)
0xFF80-0xFFFF CPU internal RAM (128 bytes)
Font data lives inside the BIOS at offset 0x200, accessed via
get_font() for the VDP character rendering (src/vm/scv/vdp.cpp).
cartridge_loading:
formats: "cart, bin, rom, 0 (multi-file: .0/.1/.2/.3), zip"
banking: "4 banks of 32 KB via PC5/PC6 port lines"
source_ref: "src/vm/scv/memory.h, src/vm/scv/memory.cpp"

42
emulators/hbmame.yml Normal file
View File

@@ -0,0 +1,42 @@
emulator: HBMAME (Homebrew MAME)
type: libretro
source: "https://github.com/libretro/hbmame-libretro"
based_on: MAME 0.220
author: Robbbert
game_count: 8511
notes: |
HBMAME (Home Brew MAME) is a fork of MAME focused on two things: preserving
homebrew games written for arcade hardware, and including worthwhile hacks of
existing arcade games. The libretro port builds as TARGET=hbmame.
Based on MAME 0.220 (src/version.cpp: BARE_BUILD_VERSION "0.220"). The core
carries 191 driver files under src/hbmame/drivers/ covering ~8500 game entries
(hbmame.lst). Most drivers are hack/homebrew variants of well-known arcade
boards: CPS1, CPS2, CPS3, Neo Geo, Pac-Man, Galaxian, etc.
BIOS handling is identical to MAME. HBMAME does not define any custom BIOS
ROMs beyond what standard MAME uses. The Neo Geo subsystem (which accounts for
the bulk of hbmame content) reuses the same neogeo.zip BIOS set as MAME:
sp-s2.sp1, sm1.sm1, sfix.sfix, 000-lo.lo, plus regional and Universe BIOS
variants. The NEO_BIOS macros in src/hbmame/includes/neogeo.h are copied
directly from MAME with no modifications to hashes or filenames.
The neogeo_noslot.cpp driver includes a reduced MV1C-only BIOS set for a few
specific PCB games (sp-45.sp1, sp1-j3.bin). The neogeohb.cpp driver handles
homebrew and unreleased Neo Geo titles (numbered 300-999) using the same
standard BIOS infrastructure.
No other hbmame-specific drivers (CPS1, CPS2, Pac-Man, Galaxian, etc.) define
ROM_SYSTEM_BIOS entries. Their games are ROM-only hacks that rely on parent
MAME sets for any BIOS needs.
BIOS files are expected as MAME-format ZIP archives in the ROM search path.
Users with a working MAME 0.220 BIOS collection need nothing extra for HBMAME.
bios_impact: none
bios_note: |
Uses the same BIOS ZIPs as MAME 0.220. No custom or modified BIOS entries.
The primary BIOS dependency is neogeo.zip for the large Neo Geo homebrew/hack
library. Other arcade boards (CPS, Pac-Man, Galaxian, etc.) are ROM-only hacks
with no additional BIOS requirements beyond standard MAME parent sets.

284
emulators/mame2003_plus.yml Normal file
View File

@@ -0,0 +1,284 @@
emulator: MAME 2003-Plus
type: libretro
source: "https://github.com/libretro/mame2003-plus-libretro"
mame_version: "0.78 (plus backports)"
systems:
- snk-neogeo-mvs
- snk-neogeo-aes
- igs-pgm
- sega-stv
- sega-megaplay
- sega-megatech
- deco-cassette
- nintendo-playch10
- nintendo-nss
- super-kaneko-nova
- konami-gx
- zn1-capcom
- zn2-capcom
- zn1-taito
- zn1-tecmo
- zn1-video-system
- zn1-acclaim
- zn1-atlus
notes: |
MAME 2003-Plus is a libretro port of MAME 0.78 with backported drivers, bug fixes,
and new game support contributed after the original 0.78 snapshot. It targets
low-end hardware (Raspberry Pi, handhelds) while expanding game compatibility
beyond stock 0.78.
BIOS handling follows standard MAME conventions. Each arcade board with a shared
BIOS defines a parent ROM set. Game drivers reference this parent, and the emulator
merges the parent ZIP contents at load time.
BIOS ZIPs are searched in:
1. {content_dir}/ (same folder as the game ROM)
2. {system_dir}/mame2003-plus/ (libretro system subfolder)
3. {system_dir}/ (libretro system root)
ROM naming follows MAME 0.78 conventions with some updates from the Plus patches.
ROMs from modern MAME may not match expected CRC32/SHA1 values. Use a
mame2003-plus-specific romset for full compatibility.
Key differences from FBNeo and modern MAME:
- Neo Geo: uses mame.sm1 / mamelo.lo / sfix.sfx naming (not sm1.sm1 / 000-lo.lo)
- Neo Geo: Universe BIOS up to 4.0 (FBNeo has newer)
- PGM: uses pgm_p01s.rom naming (not pgm_p01s.u20)
- No NAOMI, no Atomiswave, no CPS-3 (too late for 0.78 era)
- ZN-1/ZN-2 boards present but marked NOT_WORKING
The Neo Geo set is the most critical BIOS for this core since nearly all Neo Geo
games work well. PGM and ST-V have partial support. Most ZN-based games are
flagged NOT_WORKING due to incomplete PlayStation emulation in 0.78.
bios_zips:
# ---------------------------------------------------------
# SNK Neo Geo MVS/AES (neogeo.zip)
# ---------------------------------------------------------
- name: neogeo.zip
system: snk-neogeo-mvs
required: true
note: "MVS/AES BIOS, 15 variants including Universe BIOS 4.0"
source_ref: "src/drivers/neogeo.c:1677-1714"
key_files:
# 68K BIOS variants (one active at a time via dipswitch)
- "sp-s2.sp1 (Europe MVS v2, default)"
- "sp-s.sp1 (Europe MVS v1)"
- "usa_2slt.bin (US MVS v2)"
- "sp-e.sp1 (US MVS v1)"
- "asia-s3.rom (Asia MVS v3)"
- "vs-bios.rom (Japan MVS v6)"
- "sp-j2.sp1 (Japan MVS v2)"
- "uni-bios_4_0.rom (Universe BIOS 4.0, hack)"
- "uni-bios_3_3.rom (Universe BIOS 3.3, hack)"
- "uni-bios_2_0.rom (Universe BIOS 2.0, hack)"
- "uni-bios_1_3.rom (Universe BIOS 1.3, hack)"
- "uni-bios_1_1.rom (Universe BIOS 1.1, hack)"
- "uni-bios_1_0.rom (Universe BIOS 1.0, hack)"
- "neodebug.rom (Debug MVS)"
- "neo-epo.bin (Asia AES)"
# Z80 sound BIOS (always required)
- "mame.sm1 (Z80 sound BIOS, 128KB)"
# Fix tiles (always required)
- "sfix.sfx (fix layer tiles, 128KB)"
# Zoom table (always required)
- "mamelo.lo (Y zoom control, 64KB)"
# Irritating Maze special BIOS (separate from standard neogeo)
# - name: irrmaze.zip (uses 236-bios.bin, Asia-only dedicated cabinet)
# ---------------------------------------------------------
# IGS PGM (pgm.zip)
# ---------------------------------------------------------
- name: pgm.zip
system: igs-pgm
required: true
note: "PGM system BIOS - 68K program, text tiles, samples"
source_ref: "src/drivers/pgm.c:3459-3468"
key_files:
- "pgm_p01s.rom (68K BIOS, 128KB)"
- "pgm_t01s.rom (text tiles, 2MB)"
- "pgm_m01s.rom (samples, 2MB)"
# ---------------------------------------------------------
# Sega ST-V (stvbios.zip)
# ---------------------------------------------------------
- name: stvbios.zip
system: sega-stv
required: true
note: "ST-V (Saturn-based arcade) BIOS, 6 region variants"
source_ref: "src/drivers/stv.c:3741-3767"
key_files:
- "epr19730.ic8 (Japan)"
- "mp17951a.s (Japan alt)"
- "mp17952a.s (USA)"
- "20091.bin (Japan alt 2)"
- "mp17953a.ic8 (Taiwan)"
- "mp17954a.s (Europe)"
# ---------------------------------------------------------
# Sega Mega Play (megaplay.zip)
# ---------------------------------------------------------
- name: megaplay.zip
system: sega-megaplay
required: true
note: "Mega Play BIOS, 2 versions"
source_ref: "src/drivers/segac2.c:5794-5804"
key_files:
- "ep15294.ic2 (Mega Play BIOS v1)"
- "megaplay.bin (Mega Play BIOS v2)"
# ---------------------------------------------------------
# Sega Mega Tech (megatech.zip)
# ---------------------------------------------------------
- name: megatech.zip
system: sega-megatech
required: true
note: "Mega Tech BIOS - menu/instruction screen processor"
source_ref: "src/drivers/segac2.c:5434-5437"
key_files:
- "epr12664.20 (Mega Tech BIOS, 32KB)"
# ---------------------------------------------------------
# DECO Cassette (decocass.zip)
# ---------------------------------------------------------
- name: decocass.zip
system: deco-cassette
required: true
note: "DECO Cassette shared BIOS - 6502 CPU, sound, MCU, PROMs"
source_ref: "src/drivers/decocass.c:696-727"
key_files:
# BIOS variant A
- "v0a-.7e (6502 BIOS variant A)"
# BIOS variant B
- "rms8.cpu (6502 BIOS variant B)"
# Shared across both variants
- "rms8.snd (audio CPU, 2KB)"
- "cass8041.bin (MCU, 1KB)"
- "dsp8.3m (PROM)"
- "dsp8.10d (PROM)"
- "rms8.j3 (DRAM banking PROM)"
# ---------------------------------------------------------
# Nintendo PlayChoice-10 (playch10.zip)
# ---------------------------------------------------------
- name: playch10.zip
system: nintendo-playch10
required: true
note: "PlayChoice-10 BIOS - Z80 main CPU + character ROMs + PROMs"
source_ref: "src/drivers/playch10.c:815-827"
key_files:
- "pch1-c.8t (Z80 BIOS, 16KB)"
- "pch1-c.8p (character ROM)"
- "pch1-c.8m (character ROM)"
- "pch1-c.8k (character ROM)"
- "82s129.6f (color PROM)"
- "82s129.6e (color PROM)"
- "82s129.6d (color PROM)"
# ---------------------------------------------------------
# Nintendo Super System (nss.zip)
# ---------------------------------------------------------
- name: nss.zip
system: nintendo-nss
required: true
note: "Nintendo Super System BIOS - SPC700 boot ROM + BIOS CPU"
source_ref: "src/drivers/nss.c:260-269"
key_files:
- "spc700.rom (SPC700 boot ROM, 64 bytes)"
- "nss-c.dat (NSS BIOS CPU, 32KB)"
- "nss-ic14.02 (NSS BIOS CPU alt, 32KB)"
# ---------------------------------------------------------
# Super Kaneko Nova System (skns.zip)
# ---------------------------------------------------------
- name: skns.zip
system: super-kaneko-nova
required: true
note: "Super Kaneko Nova System BIOS, 4 region variants"
source_ref: "src/drivers/suprnova.c:1226-1229"
key_files:
- "sknsj1.u10 (Japan BIOS, 512KB)"
- "sknse1.u10 (Europe BIOS, 512KB)"
- "sknsa1.u10 (Asia BIOS, 512KB)"
- "sknsu1.u10 (USA BIOS, 512KB)"
# ---------------------------------------------------------
# Konami GX (konamigx.zip)
# ---------------------------------------------------------
- name: konamigx.zip
system: konami-gx
required: true
note: "Konami System GX BIOS"
source_ref: "src/drivers/konamigx.c:2404"
key_files:
- "300a01.34k (GX BIOS, 128KB)"
# ---------------------------------------------------------
# ZN-1/ZN-2 PlayStation-based arcade boards
# These are mostly NOT_WORKING in mame2003-plus due to
# incomplete PS1 emulation in the 0.78 codebase
# ---------------------------------------------------------
# Capcom ZN-1
- name: cpzn1.zip
system: zn1-capcom
required: true
note: "Capcom ZN-1 BIOS (PS1-based). Most games NOT_WORKING"
source_ref: "src/drivers/zn.c:1016-1018"
key_files:
- "coh1002c.bin (Capcom ZN-1 BIOS, 512KB)"
# Capcom ZN-2
- name: cpzn2.zip
system: zn2-capcom
required: true
note: "Capcom ZN-2 BIOS (PS1-based). Most games NOT_WORKING"
source_ref: "src/drivers/zn.c:1274-1276"
key_files:
- "coh3002c.bin (Capcom ZN-2 BIOS, 512KB)"
# Taito FX-1
- name: taitofx1.zip
system: zn1-taito
required: true
note: "Taito FX-1 BIOS (PS1-based). Most games NOT_WORKING"
source_ref: "src/drivers/zn.c:1579-1581"
key_files:
- "coh1002t.bin (Taito FX-1 BIOS, 512KB)"
# Tecmo TPS
- name: tps.zip
system: zn1-tecmo
required: true
note: "Tecmo TPS BIOS (PS1-based). Most games NOT_WORKING"
source_ref: "src/drivers/zn.c:1466-1468"
key_files:
- "coh1002m.bin (Tecmo TPS BIOS, 512KB)"
# Video System / Taito KN (sncwgltd uses this)
- name: sncwgltd.zip
system: zn1-video-system
required: false
note: "Video System KN BIOS (PS1-based). NOT_WORKING"
source_ref: "src/drivers/zn.c:1555-1557"
key_files:
- "coh1002v.bin (KN BIOS, 512KB)"
# Acclaim PSX
- name: acpsx.zip
system: zn1-acclaim
required: true
note: "Acclaim PSX BIOS (PS1-based). NOT_WORKING"
source_ref: "src/drivers/zn.c:1815-1817"
key_files:
- "coh1000a.bin (Acclaim PSX BIOS, 512KB)"
# Atlus PSX (PSARC95) - BIOS ROM is NO_DUMP
# - name: psarc95.zip
# note: "PSARC95 BIOS is NO_DUMP (coh1002e.bin), games won't boot"
# Atari PSX - BIOS ROM is NO_DUMP
# - name: atpsx.zip
# note: "Atari PSX BIOS is NO_DUMP (coh1000t.bin), games won't boot"

268
emulators/mame2010.yml Normal file
View File

@@ -0,0 +1,268 @@
emulator: MAME 2010
type: libretro
source: "https://github.com/libretro/mame2010-libretro"
mame_version: "0.139"
systems:
- snk-neogeo-mvs
- igs-pgm
- sega-naomi
- sega-naomi2
- sega-naomigd
- sega-stv
- sega-hikaru
- sega-chihiro
- sega-triforce
- sega-model2
- commodore-cd32
- philips-cdi
- deco-cassette
- nintendo-playch10
- sega-megaplay
- sega-megatech
- nintendo-sfcbox
- nintendo-nss
- snk-neogeo-aes
- sammy-atomiswave
- taito-type-x
- namco-system246
- namco-system256
- namco-system573
- konami-viper
- cave-cv1000
notes: |
MAME 2010 is a libretro port of MAME 0.139, released around mid-2010. Compared
to mame2003 (MAME 0.78, early 2003), it adds roughly 7 years of MAME development
including better driver accuracy, more supported arcade boards, and additional
BIOS sets.
Key differences from mame2003 (0.78):
- 51 BIOS root sets vs ~30 in mame2003
- Sega boards: adds Hikaru, Chihiro, Triforce, Naomi 2, Naomi GD-ROM
- Namco boards: adds System 246/256/573
- Konami: adds Viper, expanded GX support
- Philips CD-i support (cdi)
- Taito Type X / GNet expanded
- Crystal System (Brezzasoft)
- More ZN-1/ZN-2/PSX-based board variants (cpzn1, cpzn2, atpsx, etc.)
- Neo Geo: same core BIOS set, adds Universe BIOS up to 2.3
- PGM: same BIOS ROMs, more game drivers
BIOS ZIPs are standard MAME romsets. The core looks for them in:
1. {content_dir}/ (same folder as the game ROM)
2. {system_dir}/mame2010/ (libretro system subfolder)
3. {system_dir}/ (libretro system root)
ROM naming follows MAME 0.139 conventions. ROMs from newer or older MAME
versions may not match expected CRC32/SHA1 values. Use a 0.139-specific
romset for full compatibility.
bios_zips:
# SNK Neo Geo MVS/AES
- name: neogeo.zip
system: snk-neogeo-mvs
required: true
note: "MVS/AES BIOS, 21 variants (11 official + 10 Universe BIOS up to 2.3)"
source_ref: "src/mame/drivers/neodrvr.c:565-614"
key_files:
- "sp-s2.sp1 (Europe, default)"
- "usa_2slt.bin (US, 2 slot)"
- "asia-s3.rom (Asia)"
- "vs-bios.rom (Japan VS)"
- "sp-45.sp1 (MV1C Asia, 512KB)"
- "sm1.sm1 (Z80 sound, always required)"
- "sfix.sfix (fix tiles, always required)"
- "000-lo.lo (zoom table, always required)"
# IGS PGM
- name: pgm.zip
system: igs-pgm
required: true
note: "PGM system BIOS, 2 program ROM versions + shared tiles/samples"
source_ref: "src/mame/drivers/pgm.c:1525-1533"
key_files:
- "pgm_p02s.u20 (68K BIOS v2, default)"
- "pgm_p01s.u20 (68K BIOS v1)"
- "pgm_t01s.rom (text tiles, 2MB)"
- "pgm_m01s.rom (samples, 2MB)"
# Sega Naomi / Naomi 2 / Naomi GD-ROM / Atomiswave
- name: naomi.zip
system: sega-naomi
required: true
note: "Naomi BIOS, multiple region variants"
source_ref: "src/mame/drivers/naomi.c"
- name: naomi2.zip
system: sega-naomi2
required: true
note: "Naomi 2 BIOS"
source_ref: "src/mame/drivers/naomi.c"
- name: naomigd.zip
system: sega-naomigd
required: true
note: "Naomi GD-ROM BIOS"
source_ref: "src/mame/drivers/naomi.c"
- name: awbios.zip
system: sammy-atomiswave
required: true
note: "Atomiswave BIOS (Sammy)"
source_ref: "src/mame/drivers/naomi.c"
# Sega ST-V (Saturn-based arcade)
- name: stvbios.zip
system: sega-stv
required: true
note: "ST-V BIOS, multiple region variants"
source_ref: "src/mame/drivers/stv.c"
# Sega Hikaru / Chihiro / Triforce
- name: hikaru.zip
system: sega-hikaru
required: true
note: "Hikaru BIOS (not working in 0.139)"
source_ref: "src/mame/drivers/hikaru.c"
- name: chihiro.zip
system: sega-chihiro
required: true
note: "Chihiro BIOS (Xbox-based, not working in 0.139)"
source_ref: "src/mame/drivers/chihiro.c"
- name: triforce.zip
system: sega-triforce
required: true
note: "Triforce BIOS (GameCube-based, not working in 0.139)"
source_ref: "src/mame/drivers/triforce.c"
# DECO Cassette
- name: decocass.zip
system: deco-cassette
required: true
note: "DECO Cassette BIOS, 4 regions (Japan/USA/UK/Europe) x old/new"
source_ref: "src/mame/drivers/decocass.c"
# Nintendo arcade
- name: playch10.zip
system: nintendo-playch10
required: true
note: "PlayChoice-10 BIOS"
source_ref: "src/mame/drivers/playch10.c"
- name: nss.zip
system: nintendo-nss
required: true
note: "Nintendo Super System BIOS"
source_ref: "src/mame/drivers/nss.c"
- name: sfcbox.zip
system: nintendo-sfcbox
required: true
note: "Super Famicom Box BIOS"
source_ref: "src/mame/drivers/sfcbox.c"
# Sega Mega Drive arcade
- name: megaplay.zip
system: sega-megaplay
required: true
note: "Mega Play BIOS (Mega Drive arcade)"
source_ref: "src/mame/drivers/megaplay.c"
- name: megatech.zip
system: sega-megatech
required: true
note: "Mega-Tech BIOS (Mega Drive arcade)"
source_ref: "src/mame/drivers/megatech.c"
# Commodore CD32
- name: cd32.zip
system: commodore-cd32
required: true
note: "Amiga CD32 BIOS"
source_ref: "src/mame/drivers/cubocd32.c"
# Philips CD-i (new vs mame2003)
- name: cdi.zip
system: philips-cdi
required: true
note: "CD-i BIOS (not in mame2003)"
source_ref: "src/mame/drivers/cdi.c"
# Namco boards (new vs mame2003)
- name: sys246.zip
system: namco-system246
required: true
note: "Namco System 246 BIOS (PS2-based, not in mame2003)"
source_ref: "src/mame/drivers/namcops2.c"
- name: sys256.zip
system: namco-system256
required: true
note: "Namco System 256 BIOS (PS2-based, not in mame2003)"
source_ref: "src/mame/drivers/namcops2.c"
- name: sys573.zip
system: namco-system573
required: true
note: "Namco System 573 BIOS (PSX-based)"
source_ref: "src/mame/drivers/ksys573.c"
# Konami Viper (new vs mame2003)
- name: kviper.zip
system: konami-viper
required: true
note: "Konami Viper BIOS (3dfx-based, not working in 0.139)"
source_ref: "src/mame/drivers/viper.c"
# Taito
- name: taitogn.zip
system: taito-type-x
required: true
note: "Taito G-Net BIOS (PSX-based)"
source_ref: "src/mame/drivers/taitogn.c"
# PSX-based arcade boards
- name: cpzn1.zip
system: capcom-zn1
required: true
note: "Capcom ZN-1 BIOS (PSX-based)"
source_ref: "src/mame/drivers/zn.c"
- name: cpzn2.zip
system: capcom-zn2
required: true
note: "Capcom ZN-2 BIOS (PSX-based)"
source_ref: "src/mame/drivers/zn.c"
- name: konamigv.zip
system: konami-gv
required: true
note: "Konami GV BIOS (PSX-based)"
source_ref: "src/mame/drivers/konamigv.c"
# Other notable BIOS sets
- name: skns.zip
system: super-kaneko-nova
required: true
note: "Super Kaneko Nova System BIOS, 5 regions"
source_ref: "src/mame/drivers/suprnova.c"
- name: alg_bios.zip
system: alg-laserdisc
required: true
note: "American Laser Games BIOS (Amiga-based laserdisc)"
source_ref: "src/mame/drivers/alg.c"
- name: maxaflex.zip
system: exidy-maxaflex
required: true
note: "Exidy Max-A-Flex BIOS (Atari 600XL-based)"
source_ref: "src/mame/drivers/maxaflex.c"
- name: hng64.zip
system: hyper-neogeo64
required: true
note: "Hyper Neo-Geo 64 BIOS (not working in 0.139)"
source_ref: "src/mame/drivers/hng64.c"

344
emulators/mame2016.yml Normal file
View File

@@ -0,0 +1,344 @@
emulator: MAME 2016
type: libretro
source: "https://github.com/libretro/mame2016-libretro"
mame_version: "0.174"
systems:
- snk-neogeo-mvs
- snk-neogeo-aes
- snk-neogeo-cd
- igs-pgm
- igs-pgm2
- sega-naomi
- sega-naomi2
- sega-naomigd
- sammy-atomiswave
- sega-stv
- sega-model2
- sega-model3
- sega-lindbergh
- sega-hikaru
- sega-chihiro
- sega-triforce
- deco-cassette
- nintendo-playch10
- sega-megaplay
- sega-megatech
- nintendo-sfcbox
- nintendo-nss
- philips-cdi
- commodore-cd32
- namco-system246
- namco-system256
- namco-system573
- konami-viper
- cave-cv1000
- taito-gnet
- super-kaneko-nova
- capcom-zn1
- capcom-zn2
- konami-gv
notes: |
MAME 2016 is a libretro port of MAME 0.174, released mid-2016. Compared to
mame2010 (0.139), it adds 6 years of MAME development including significantly
better driver accuracy, ~9200 more ROM sets (23430 vs ~14000), and new hardware
support.
Key differences from mame2010 (0.139):
- Driver source files renamed from .c to .cpp
- Neo Geo: Universe BIOS updated to 3.2 (was 2.3 in 0.139)
- NAOMI: 23 BIOS variants (Japan/Export/USA/Korea/Dev), same EPR numbering
- Sega Lindbergh: new board support (lindbios.zip), 3 BIOS versions
- PGM2: new IGS PolyGame Master 2 support (no shared BIOS ZIP)
- Saturn driver split to separate saturn.cpp (was in stv.c)
- Dreamcast driver split to dccons.cpp, 5 BIOS variants
- PlayStation: expanded BIOS coverage (9 JP, 7 EU, 9 US variants)
- More Cave CV1000/SH3 games (26 sets, no shared BIOS)
- Model 2/3: improved emulation, same BIOS structure
Key differences from current MAME (0.274+):
- Missing BIOS dumps added after 0.174 (newer redumps, alt regions)
- Neo Geo: no Universe BIOS 4.0 (added in later MAME)
- Some CRC32/SHA1 values differ for redumped ROMs
- Fewer Sega board BIOS region variants
- No Konami e-Amusement/Bemani expansions from post-2016
BIOS ZIPs are standard MAME romsets. The core looks for them in:
1. {content_dir}/ (same folder as the game ROM)
2. {system_dir}/mame2016/ (libretro system subfolder)
3. {system_dir}/ (libretro system root)
ROM naming follows MAME 0.174 conventions. Use a 0.174-specific romset for
full compatibility.
bios_zips:
# SNK Neo Geo MVS/AES
- name: neogeo.zip
system: snk-neogeo-mvs
required: true
note: "MVS/AES BIOS, 25+ variants (12 official + 13 Universe BIOS up to 3.2)"
source_ref: "src/mame/drivers/neogeo.cpp"
key_files:
- "sp-s2.sp1 (Europe MVS v2, default)"
- "sp-u2.sp1 (US MVS v2)"
- "asia-s3.rom (Asia MVS v3)"
- "vs-bios.rom (Japan MVS v6 VS)"
- "sp-45.sp1 (MV1C Asia, 512KB)"
- "sm1.sm1 (Z80 sound, always required)"
- "sfix.sfix (fix tiles, always required)"
- "000-lo.lo (zoom table, always required)"
- "uni-bios_3_2.rom (Universe BIOS 3.2, newest hack)"
# Neo Geo CD
- name: neocdz.zip
system: snk-neogeo-cd
required: true
note: "Neo Geo CDZ BIOS"
source_ref: "src/mame/drivers/neogeocd.cpp"
key_files:
- "neocd.bin (CDZ BIOS, 512KB)"
- "000-lo.lo (zoom table)"
# IGS PGM
- name: pgm.zip
system: igs-pgm
required: true
note: "PGM system BIOS, 2 program ROM versions + shared tiles/samples"
source_ref: "src/mame/drivers/pgm.cpp"
key_files:
- "pgm_p02s.u20 (68K BIOS v2, default)"
- "pgm_p01s.u20 (68K BIOS v1)"
- "pgm_t01s.rom (text tiles, 2MB)"
- "pgm_m01s.rom (samples, 2MB)"
# Sega NAOMI / NAOMI 2 / GD-ROM / Atomiswave
- name: naomi.zip
system: sega-naomi
required: true
note: "NAOMI BIOS, 23 variants: 8 Japan + 6 Export + 6 USA + 2 Korea + 1 Dev"
source_ref: "src/mame/drivers/naomi.cpp:2904-2951"
key_files:
- "epr-21576h.ic27 (Japan, latest)"
- "epr-21578h.ic27 (Export, latest)"
- "epr-21577h.ic27 (USA, latest)"
- name: naomi2.zip
system: sega-naomi2
required: true
note: "NAOMI 2 BIOS, same EPR structure as NAOMI"
source_ref: "src/mame/drivers/naomi.cpp:3046-3072"
- name: naomigd.zip
system: sega-naomigd
required: true
note: "NAOMI GD-ROM BIOS, requires rev E or higher"
source_ref: "src/mame/drivers/naomi.cpp:2994-3044"
- name: awbios.zip
system: sammy-atomiswave
required: true
note: "Atomiswave BIOS (Sammy)"
source_ref: "src/mame/drivers/naomi.cpp:3073-3088"
# Dedicated NAOMI game BIOS sets
- name: hod2bios.zip
system: sega-naomi
required: false
note: "House of the Dead 2 dedicated BIOS, 3 variants"
source_ref: "src/mame/drivers/naomi.cpp:2963-2971"
- name: f355dlx.zip
system: sega-naomi
required: false
note: "Ferrari F355 Deluxe dedicated BIOS"
source_ref: "src/mame/drivers/naomi.cpp:2973-2976"
- name: f355bios.zip
system: sega-naomi
required: false
note: "Ferrari F355 Challenge dedicated BIOS, 2 variants"
source_ref: "src/mame/drivers/naomi.cpp:2978-2983"
- name: airlbios.zip
system: sega-naomi
required: false
note: "Airline Pilots Deluxe dedicated BIOS, 2 variants"
source_ref: "src/mame/drivers/naomi.cpp:2985-2990"
# Sega ST-V
- name: stvbios.zip
system: sega-stv
required: true
note: "ST-V BIOS, 10+ region variants (JP/US/EU/TW/Dev)"
source_ref: "src/mame/drivers/stv.cpp"
key_files:
- "epr-20091.ic8 (Japan 97/08/21, default)"
- "epr-19730.ic8 (Japan 97/02/17)"
# Sega Lindbergh (new vs mame2010)
- name: lindbios.zip
system: sega-lindbergh
required: true
note: "Lindbergh BIOS, 3 PC BIOS versions + MPC firmware + GPU BIOS"
source_ref: "src/mame/drivers/lindbergh.cpp"
key_files:
- "6.0.0010a.bin (PC BIOS v6.0.0010 alt)"
- "6.0.0009.bin (PC BIOS v6.0.0009)"
- "fpr-24370b.ic6 (MPC firmware, 4MB)"
- "vid_bios.u504 (GeForce BIOS)"
# Sega Model 2
- name: model2.zip
system: sega-model2
required: true
note: "Model 2 BIOS"
source_ref: "src/mame/drivers/model2.cpp"
# Sega Hikaru / Chihiro / Triforce
- name: hikaru.zip
system: sega-hikaru
required: true
note: "Hikaru BIOS (limited functionality in 0.174)"
source_ref: "src/mame/drivers/hikaru.cpp"
- name: chihiro.zip
system: sega-chihiro
required: true
note: "Chihiro BIOS (Xbox-based, limited in 0.174)"
source_ref: "src/mame/drivers/chihiro.cpp"
- name: triforce.zip
system: sega-triforce
required: true
note: "Triforce BIOS (GameCube-based, limited in 0.174)"
source_ref: "src/mame/drivers/triforce.cpp"
# DECO Cassette
- name: decocass.zip
system: deco-cassette
required: true
note: "DECO Cassette BIOS"
source_ref: "src/mame/drivers/decocass.cpp"
# Nintendo arcade
- name: playch10.zip
system: nintendo-playch10
required: true
note: "PlayChoice-10 BIOS"
source_ref: "src/mame/drivers/playch10.cpp"
- name: nss.zip
system: nintendo-nss
required: true
note: "Nintendo Super System BIOS"
source_ref: "src/mame/drivers/nss.cpp"
- name: sfcbox.zip
system: nintendo-sfcbox
required: true
note: "Super Famicom Box BIOS"
source_ref: "src/mame/drivers/sfcbox.cpp"
# Sega Mega Drive arcade
- name: megaplay.zip
system: sega-megaplay
required: true
note: "Mega Play BIOS (Mega Drive arcade)"
source_ref: "src/mame/drivers/megaplay.cpp"
- name: megatech.zip
system: sega-megatech
required: true
note: "Mega-Tech BIOS (Mega Drive arcade)"
source_ref: "src/mame/drivers/megatech.cpp"
# Philips CD-i
- name: cdi.zip
system: philips-cdi
required: true
note: "CD-i BIOS"
source_ref: "src/mame/drivers/cdi.cpp"
# Commodore CD32
- name: cd32.zip
system: commodore-cd32
required: true
note: "Amiga CD32 BIOS"
source_ref: "src/mame/drivers/cubocd32.cpp"
# Namco boards
- name: sys246.zip
system: namco-system246
required: true
note: "Namco System 246 BIOS (PS2-based)"
source_ref: "src/mame/drivers/namcops2.cpp"
- name: sys256.zip
system: namco-system256
required: true
note: "Namco System 256 BIOS (PS2-based)"
source_ref: "src/mame/drivers/namcops2.cpp"
- name: sys573.zip
system: namco-system573
required: true
note: "Konami System 573 BIOS (PSX-based)"
source_ref: "src/mame/drivers/ksys573.cpp"
# Konami Viper
- name: kviper.zip
system: konami-viper
required: true
note: "Konami Viper BIOS (3dfx-based, limited in 0.174)"
source_ref: "src/mame/drivers/viper.cpp"
# Taito G-NET
- name: taitogn.zip
system: taito-gnet
required: true
note: "Taito G-Net BIOS (PSX-based)"
source_ref: "src/mame/drivers/taitogn.cpp"
# PSX-based arcade boards
- name: cpzn1.zip
system: capcom-zn1
required: true
note: "Capcom ZN-1 BIOS (PSX-based)"
source_ref: "src/mame/drivers/zn.cpp"
- name: cpzn2.zip
system: capcom-zn2
required: true
note: "Capcom ZN-2 BIOS (PSX-based)"
source_ref: "src/mame/drivers/zn.cpp"
- name: konamigv.zip
system: konami-gv
required: true
note: "Konami GV BIOS (PSX-based)"
source_ref: "src/mame/drivers/konamigv.cpp"
# Other notable BIOS sets
- name: skns.zip
system: super-kaneko-nova
required: true
note: "Super Kaneko Nova System BIOS, 5 regions"
source_ref: "src/mame/drivers/suprnova.cpp"
- name: alg_bios.zip
system: alg-laserdisc
required: true
note: "American Laser Games BIOS (Amiga-based laserdisc)"
source_ref: "src/mame/drivers/alg.cpp"
- name: hng64.zip
system: hyper-neogeo64
required: true
note: "Hyper Neo-Geo 64 BIOS (limited in 0.174)"
source_ref: "src/mame/drivers/hng64.cpp"
- name: isgsm.zip
system: isg-selection-master
required: true
note: "ISG Selection Master BIOS (Sega System 16 conversion)"
source_ref: "src/mame/drivers/isgsm.cpp"

24
emulators/tyrquake.yml Normal file
View File

@@ -0,0 +1,24 @@
emulator: TyrQuake
type: libretro
source: "https://github.com/libretro/tyrquake"
cores: [tyrquake]
systems: [quake]
verification: existence
notes: >
Quake engine source port. Plays Quake (id1), mission packs Scourge of Armagon
(hipnotic) and Dissolution of Eternity (rogue), Quoth mod, and custom mods via
-game parameter. The core accepts .pak extensions (retro_get_system_info sets
valid_extensions = "pak"). Content is loaded directly from the PAK file path -
the directory containing the PAK becomes basedir (libretro.c:988,1050).
The engine auto-detects game variant by checking the content path for id1,
hipnotic, rogue, or quoth substrings (libretro.c:1030-1070) and passes the
corresponding command-line flag. For non-standard paths it uses -game with the
directory basename. PAK files are game data (maps, textures, models, sounds)
shipped with the original retail game, not engine firmware. The engine checks
for gfx/pop.lmp inside pak0.pak to distinguish registered vs shareware
(common.c:974-991). COM_AddGameDirectory (common.c:1709) loads pak0.pak through
pak9.pak sequentially from the game directory, trying both lowercase and
uppercase filenames. No engine data files are required in the RetroArch system
directory. The core needs no BIOS or firmware.
files: []

42
emulators/uzem.yml Normal file
View File

@@ -0,0 +1,42 @@
emulator: uzem
type: libretro
source: "https://github.com/libretro/libretro-uzem"
cores:
- uzem
systems:
- uzebox
# Uzem emulates the Uzebox, an open-source 8-bit game console based on an
# ATmega644 AVR microcontroller. The console was designed by Alec Bourque (Uze)
# and all hardware/software is open-source.
#
# No BIOS or firmware files are required. The core loads .uze ROM files directly
# into progmem (uzem_libretro.cpp:254-286). The .uze format includes a "UZEBOX"
# magic header followed by a RomHeader struct (uzerom.h) and raw program data.
#
# The standalone uzem (oldsrcs/uzem.cpp:90) has a --boot flag that sets PC to
# 0xF000 for bootloader mode, but this is NOT exposed in the libretro port.
# The libretro core has no retro_environment calls for RETRO_ENVIRONMENT_SET_SYSTEM_DIR
# or any firmware loading paths.
#
# SD card emulation uses RETRO_ENVIRONMENT_GET_CORE_ASSETS_DIRECTORY
# (uzem_libretro.cpp:186-192) for virtual FAT16 filesystem access via SDEmulator.cpp,
# but this is optional game data, not system firmware.
#
# The .info file declares no firmware entries.
files: []
notes:
open_source_console: >
The Uzebox is fully open-source hardware and software. There is no proprietary
BIOS or bootloader required. Games are self-contained .uze files that include
all code needed to run on the ATmega644 MCU emulation.
sd_card: >
Some games use SD card access for loading assets. The core reads from the
libretro core assets directory to emulate a FAT16 SD card, but this is game
data, not system firmware.
standalone_bootloader: >
The original standalone uzem supports a --boot flag for bootloader mode
(PC starts at 0xF000 instead of 0x0000). This feature is not available in
the libretro port.

60
emulators/vecx.yml Normal file
View File

@@ -0,0 +1,60 @@
emulator: vecx
type: libretro
source: "https://github.com/libretro/libretro-vecx"
cores:
- vecx
systems:
- gce-vectrex
notes: |
vecx is a GCE Vectrex emulator ported to libretro.
The Vectrex system ROM (8192 bytes) is fully embedded in the binary.
There are three compile-time BIOS variants in bios/:
- system.h (STANDARD_BIOS, default) - original Vectrex ROM
- fast.h (FAST_BIOS) - modified BIOS with faster boot
- skip.h - modified BIOS that skips the intro
The default build uses STANDARD_BIOS via #define at libretro.c:20.
At load time (retro_load_game, libretro.c:736):
memcpy(rom, bios_data, bios_data_size);
This copies the compiled-in BIOS data into the rom[8192] array
(vecx.c:40, mapped at 0xE000-0xFFFF via vecx.c:437-439).
The core never calls RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY and has
no code path to load an external BIOS file from disk. No .info file
is shipped with the repo declaring firmware requirements.
rom.dat in the repo root is identical to bios/system.bin (same MD5:
ab082fa8c8e632dd68589a8c7741388f), likely kept for standalone builds.
files: []
platform_details:
bios_mapping:
target: "0xE000-0xFFFF in Vectrex address space (8 KB)"
source_ref: "vecx.c:40 (unsigned char rom[8192]), vecx.c:437-439 (read handler)"
notes: |
CPU reads from 0xE000-0xFFFF are served from rom[] via
address & 0x1FFF masking. The array is populated from the
compiled-in bios_data at retro_load_game() time.
embedded_bios:
source_ref: "libretro.c:20-30, bios/system.h"
standard_bios:
md5: "ab082fa8c8e632dd68589a8c7741388f"
sha1: "65d07426b520ddd3115d40f255511e0fd2e20ae7"
size: 8192
fast_bios:
md5: "a970aed37cffd29ab3740f8e79518858"
sha1: "e0900be6d6858b985fd7f0999d864b2fceaf01a1"
size: 8192
skip_bios:
md5: "05f32c2b18b6fb168ab976989e86dfb1"
sha1: "6c891bd74acb201d54071b310bd6df6617cdf205"
size: 8192
notes: |
All three variants are 8192 bytes, compiled as C arrays in
bios/*.h headers. STANDARD_BIOS is the authentic Vectrex ROM.
FAST_BIOS and skip are modified versions for faster startup.
Selection is compile-time only (#ifdef chain, libretro.c:20-30).