mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-04-13 12:22:33 -05:00
feat: add 10 emulator profiles (batch 6)
gpsp (GBA, open BIOS fallback), ecwolf (ecwolf.pk3), prboom (prboom.wad), x1 (Sharp X1, 5 files in xmil/), minivmac (MacII.ROM/MacIIx.ROM), theodore (Thomson, all embedded), crocods (CPC 6128, all embedded), vba_next (GBA, HLE fallback), same_cdi (CD-i, 3 MAME ZIPs + 2 undeclared), beetle_lynx (lynxboot.img) 71 total profiles. Cross-reference: 690 undeclared, 186 in repo.
This commit is contained in:
32
emulators/beetle_lynx.yml
Normal file
32
emulators/beetle_lynx.yml
Normal file
@@ -0,0 +1,32 @@
|
||||
emulator: Beetle Lynx (Mednafen Lynx)
|
||||
type: libretro
|
||||
source: "https://github.com/libretro/beetle-lynx-libretro"
|
||||
cores: [mednafen_lynx]
|
||||
systems: [atari-lynx]
|
||||
verification: existence
|
||||
|
||||
notes: >
|
||||
Fork of Mednafen's Handy module for Atari Lynx emulation via libretro.
|
||||
The core loads lynxboot.img from the system directory at game load time
|
||||
(libretro.cpp:191). CRom constructor in rom.cpp reads exactly 512 bytes
|
||||
from the file. If the file is missing or undersized, the ROM array is
|
||||
filled with 0x88 (DEFAULT_ROM_CONTENTS) and the core continues without
|
||||
error, but games will not boot correctly without the real boot ROM.
|
||||
The cart database in cart.cpp identifies the BIOS by CRC32 0x0d973c9d
|
||||
("[BIOS] Atari Lynx (USA, Europe)", size 512).
|
||||
No hash validation is performed on the BIOS at load time.
|
||||
Core options: lynx_rot_screen (screen rotation), lynx_pix_format
|
||||
(pixel format), lynx_force_60hz (force 60Hz refresh).
|
||||
ROM extensions: .lnx, .lyx, .bll, .o
|
||||
|
||||
files:
|
||||
- name: "lynxboot.img"
|
||||
description: "Atari Lynx Boot ROM"
|
||||
region: "World"
|
||||
required: true
|
||||
size: 512
|
||||
sha1: "e4ed47fae31693e016b081c6bda48da5b70d7ccb"
|
||||
md5: "fcd403db69f54290b51035d82f835e7b"
|
||||
crc32: "0d973c9d"
|
||||
source_ref: "libretro.cpp:191, rom.cpp:50-78, cart.cpp:67"
|
||||
notes: "512-byte boot ROM. Core silently degrades without it but games will not run."
|
||||
59
emulators/crocods.yml
Normal file
59
emulators/crocods.yml
Normal file
@@ -0,0 +1,59 @@
|
||||
emulator: CrocoDS
|
||||
type: libretro
|
||||
source: "https://github.com/libretro/libretro-crocods"
|
||||
cores:
|
||||
- crocods
|
||||
systems:
|
||||
- amstrad-cpc
|
||||
|
||||
notes: |
|
||||
CrocoDS is an Amstrad CPC 6128 emulator ported to libretro. Supports
|
||||
.dsk, .sna, and .kcr file formats.
|
||||
|
||||
All system ROMs are compiled directly into the core binary as C byte
|
||||
arrays. No external BIOS files are required.
|
||||
|
||||
Embedded ROMs (crocods-core/):
|
||||
- cpc6128.bin.c: cpc6128_bin[32768] - CPC 6128 OS (16KB) + BASIC 1.1 (16KB)
|
||||
- romdisc.bin.c: romdisc_bin[16384] - AMSDOS disk controller ROM (16KB)
|
||||
|
||||
ROM initialization in InitMemCPC() (crocods-core/vga.c:185-200):
|
||||
- ROMINF (lower ROM, 16KB): first half of cpc6128_bin (OS)
|
||||
- ROMEXT[0] (upper ROM slot 0, 16KB): second half of cpc6128_bin (BASIC)
|
||||
- ROMEXT[7] (upper ROM slot 7, 16KB): romdisc_bin (AMSDOS)
|
||||
|
||||
Called from HardResetCPC() (crocods-core/platform.c:1009-1020) using
|
||||
the extern byte arrays directly. No filesystem ROM loading exists in
|
||||
the libretro path.
|
||||
|
||||
A Multiface ROM loader exists (crocods-core/multiface.c:51-61) that
|
||||
reads LocRomMulti via fopen(), but InitMultiface() is never called
|
||||
from the libretro build or platform.c. Dead code in libretro context.
|
||||
|
||||
The core does not request retro_system_directory or declare any
|
||||
firmware entries in the .info file. need_fullpath is false.
|
||||
|
||||
Only the CPC 6128 model is emulated (no CPC 464/664 selection).
|
||||
|
||||
files: []
|
||||
|
||||
platform_details:
|
||||
bios_mapping:
|
||||
source_ref: "crocods-core/vga.c:185-200, crocods-core/platform.c:1009-1020"
|
||||
notes: |
|
||||
All ROMs are embedded. InitMemCPC() copies cpc6128_bin and romdisc_bin
|
||||
into ROMINF and ROMEXT arrays via memcpy. No filesystem lookup occurs.
|
||||
retro_set_environment() does not request system_directory.
|
||||
|
||||
embedded_roms:
|
||||
source_ref: "crocods-core/cpc6128.bin.c, crocods-core/romdisc.bin.c"
|
||||
notes: |
|
||||
2 ROM sets embedded as C byte arrays:
|
||||
cpc6128_bin (32KB) - CPC 6128 OS (lower 16KB) + BASIC 1.1 (upper 16KB)
|
||||
romdisc_bin (16KB) - AMSDOS disk controller ROM, mapped to slot 7
|
||||
|
||||
model_rom_map:
|
||||
source_ref: "crocods-core/vga.c:189-192"
|
||||
notes: |
|
||||
CPC 6128 only: OS in ROMINF, BASIC in ROMEXT[0], AMSDOS in ROMEXT[7]
|
||||
emulator_patch_ROM() applies language patches to ROMINF after loading
|
||||
32
emulators/ecwolf.yml
Normal file
32
emulators/ecwolf.yml
Normal file
@@ -0,0 +1,32 @@
|
||||
emulator: ECWolf
|
||||
type: libretro
|
||||
source: "https://github.com/libretro/ecwolf"
|
||||
cores: [ecwolf]
|
||||
systems: [wolfenstein3d]
|
||||
verification: md5
|
||||
notes: >
|
||||
Wolfenstein 3D source port. Plays Wolf3D (wl6/wl1), Spear of Destiny (sod/sdm),
|
||||
Super 3D Noah's Ark (n3d), and community pk3 mods. The core requires ecwolf.pk3
|
||||
in the system directory - this is the engine data package built from wadsrc/static/
|
||||
containing IWADINFO definitions, palettes, sprites, map configs, and lump remappers.
|
||||
Game data files (vswap, gamemaps, vgagraph, audiot) are loaded from the content
|
||||
directory, not the system directory. The core auto-detects the game variant by
|
||||
scanning lump contents against IWADINFO MustContain rules. Spear of Destiny
|
||||
mission packs (sd2/sd3) and Mac Wolfenstein variants are also supported.
|
||||
Blake Stone and Rise of the Triad support is flagged as Preview.
|
||||
The SelectGame path searches: content directory, system directory, BaseDataPaths
|
||||
config, then platform-specific paths (Steam, GOG installs on desktop).
|
||||
|
||||
files:
|
||||
- name: "ecwolf.pk3"
|
||||
description: "ECWolf engine data package"
|
||||
required: true
|
||||
md5: "c011b428819eea4a80b455c245a5a04d"
|
||||
source_ref: "ecwolf_libretro.info:firmware0, version.h:MAIN_PK3, wl_iwad.cpp:SelectGame"
|
||||
notes: >
|
||||
Built from wadsrc/static/ via zipdir. Contains IWADINFO (game detection rules),
|
||||
palettes (wolfpal, spearpal, blakepal, noahpal), map lump remappers (wl6map,
|
||||
sodmap, etc.), DECORATE actor definitions, MAPINFO, SNDINFO, SNDSEQ, textures,
|
||||
sprites, fonts, and localization strings. Without this file the core errors
|
||||
with "Could not open ecwolf.pk3!". The md5 corresponds to the version shipped
|
||||
with the current libretro buildbot release.
|
||||
65
emulators/gpsp.yml
Normal file
65
emulators/gpsp.yml
Normal file
@@ -0,0 +1,65 @@
|
||||
emulator: gpSP
|
||||
type: libretro
|
||||
source: "https://github.com/libretro/gpsp"
|
||||
cores:
|
||||
- gpsp
|
||||
systems:
|
||||
- nintendo-gba
|
||||
|
||||
notes: |
|
||||
gpSP is a Game Boy Advance emulator originally by Exophase, ported to
|
||||
libretro. Historically it required the official GBA BIOS to run. Current
|
||||
versions ship a built-in open-source BIOS (bios/open_gba_bios.bin) compiled
|
||||
from bios/source/ that covers most games.
|
||||
|
||||
The core option gpsp_bios controls BIOS selection:
|
||||
auto (default) - try official gba_bios.bin, fall back to built-in
|
||||
builtin - always use the built-in open-source BIOS
|
||||
official - try gba_bios.bin, warn and fall back to built-in if missing
|
||||
|
||||
A second option gpsp_boot_mode selects startup behavior:
|
||||
game (default) - skip BIOS intro, boot directly into game
|
||||
bios - run the BIOS boot animation before launching
|
||||
|
||||
BIOS loading path (libretro/libretro.c:1093-1131):
|
||||
1. Resolve system directory (RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY)
|
||||
2. Append "/gba_bios.bin"
|
||||
3. load_bios() reads 0x4000 (16 KB) into bios_rom[]
|
||||
4. Sanity check: bios_rom[0] must be 0x18 (ARM branch opcode)
|
||||
5. On failure, memcpy open_gba_bios_rom[] as fallback
|
||||
|
||||
The official BIOS improves compatibility for a few games that rely on
|
||||
precise SWI behavior or BIOS checksum verification. The built-in BIOS
|
||||
works for the vast majority of the GBA library.
|
||||
|
||||
files:
|
||||
# -------------------------------------------------------
|
||||
# Game Boy Advance - BIOS (optional, built-in fallback)
|
||||
# -------------------------------------------------------
|
||||
- name: gba_bios.bin
|
||||
system: nintendo-gba
|
||||
required: false
|
||||
size: 16384 # 16 KB (0x4000)
|
||||
note: "Official GBA BIOS. Built-in open-source BIOS used as fallback. Real BIOS needed for full SWI accuracy and boot logo."
|
||||
source_ref: "libretro/libretro.c:1111"
|
||||
|
||||
platform_details:
|
||||
gba:
|
||||
bios_size: 16384 # 16 KB
|
||||
hle_bios: true
|
||||
source_ref: "libretro/libretro.c:1107-1131, bios/source/"
|
||||
notes: |
|
||||
The built-in BIOS (open_gba_bios_rom, 16 KB) is an open-source
|
||||
reimplementation compiled from bios/source/. It implements most
|
||||
SWI calls (SoftReset, RegisterRamReset, Halt, VBlankIntrWait,
|
||||
arithmetic, decompression, sound, multiboot).
|
||||
|
||||
Validation is minimal: load_bios() in gba_memory.c reads exactly
|
||||
0x4000 bytes. The libretro frontend checks bios_rom[0] == 0x18
|
||||
(ARM branch instruction at reset vector) to reject garbage files.
|
||||
No hash or checksum verification is performed.
|
||||
|
||||
The bios_type enum (main.h:56-61) defines three modes:
|
||||
auto_detect - try official first, fall back to built-in
|
||||
builtin_bios - skip file load entirely, use open_gba_bios_rom
|
||||
official_bios - try file, warn on failure, still fall back
|
||||
66
emulators/minivmac.yml
Normal file
66
emulators/minivmac.yml
Normal file
@@ -0,0 +1,66 @@
|
||||
emulator: Mini vMac
|
||||
type: libretro
|
||||
source: "https://github.com/libretro/libretro-minivmac"
|
||||
systems: [macintosh-ii]
|
||||
|
||||
# Mini vMac is a Macintosh II emulator. The libretro port is hardcoded for
|
||||
# Mac II emulation (CurEmMd = kEmMd_II) with 68020 CPU, FPU, ADB, VIA2, ASC.
|
||||
# ROM is loaded from the RetroArch system directory.
|
||||
|
||||
# ROM loading order (OSGLUERETRO.c LoadMacRom):
|
||||
# 1. <system>/MacIIx.ROM (tried first, same 256 KB size)
|
||||
# 2. <system>/MacII.ROM (defined as RomFileName in CNFGRAPI.h)
|
||||
# 3. --rom command line arg (if provided)
|
||||
# 4. ~/.gryphel/mnvm_rom/MacII.ROM
|
||||
# 5. app parent directory
|
||||
# 6. current directory
|
||||
|
||||
# ROM size: kROM_Size = 0x00040000 = 262144 bytes (256 KB)
|
||||
# ROM checksums defined in CNFGRAPI.h:
|
||||
# kRomCheckSum1 = 0x9779D2C4 (Mac II v1)
|
||||
# kRomCheckSum2 = 0x97221136 (Mac II v2)
|
||||
# Note: DisableRomCheck = 1, so checksum validation is skipped at runtime
|
||||
# (ROMEMDEV.c patches the ROM check jump). Any 256 KB Mac II ROM works.
|
||||
|
||||
files:
|
||||
# -- MacII.ROM (primary, required) --
|
||||
# Standard Macintosh II ROM image. This is the hardcoded RomFileName.
|
||||
# The core reads exactly kROM_Size (262144) bytes from this file.
|
||||
|
||||
- name: "MacII.ROM"
|
||||
path: "MacII.ROM"
|
||||
required: true
|
||||
size: 262144
|
||||
source_ref: "minivmac/cfg/CNFGRAPI.h:32, minivmac/src/OSGLUERETRO.c:781"
|
||||
note: >
|
||||
Macintosh II ROM image (256 KB). The core loads this from the system
|
||||
directory. Must be exactly 262144 bytes. ROM checksum verification is
|
||||
disabled in the libretro build, so either Mac II ROM revision works.
|
||||
|
||||
# -- MacIIx.ROM (alternative, optional) --
|
||||
# Tried before MacII.ROM in the loading sequence. The Mac IIx ROM is the
|
||||
# same 256 KB size and is compatible with the Mac II emulation mode.
|
||||
|
||||
- name: "MacIIx.ROM"
|
||||
path: "MacIIx.ROM"
|
||||
required: false
|
||||
size: 262144
|
||||
source_ref: "minivmac/src/OSGLUERETRO.c:778"
|
||||
note: >
|
||||
Macintosh IIx ROM image (256 KB). Checked first in the ROM loading
|
||||
sequence. If present, it takes priority over MacII.ROM. The Mac IIx
|
||||
uses the same 68020-class architecture as the Mac II.
|
||||
|
||||
notes:
|
||||
emulation_target: >
|
||||
The libretro build is configured exclusively for Macintosh II emulation
|
||||
(kEmMd_II). Build options: 68020 CPU, FPU enabled, ADB keyboard/mouse,
|
||||
VIA2, ASC sound chip. Screen: 640x480, 8-bit color depth.
|
||||
disk_formats: >
|
||||
Supported disk image formats: .dsk, .img, .zip, .hvf, .cmd
|
||||
The core auto-inserts the loaded content as a floppy disk.
|
||||
Supports up to NumDrives simultaneous disk images.
|
||||
rom_checksum_note: >
|
||||
DisableRomCheck is set to 1 in ROMEMDEV.c, meaning the core patches out
|
||||
the ROM checksum verification at boot. This allows any valid Mac II era
|
||||
ROM to work regardless of exact revision.
|
||||
47
emulators/prboom.yml
Normal file
47
emulators/prboom.yml
Normal file
@@ -0,0 +1,47 @@
|
||||
emulator: PrBoom
|
||||
type: libretro
|
||||
source: "https://github.com/libretro/libretro-prboom"
|
||||
systems: [doom]
|
||||
|
||||
notes: |
|
||||
PrBoom is a Doom source port based on MBF (Marine's Best Friend), itself
|
||||
derived from Boom. The libretro port plays Doom, Doom II, Final Doom,
|
||||
FreeDoom, and custom WADs/PWADs.
|
||||
|
||||
The core requires prboom.wad, a small engine data WAD containing internal
|
||||
resources: font glyphs, palette, colormaps, sine/tangent tables, gamma
|
||||
tables, menu graphics, and a null sprite (TNT1A0). It is NOT a game WAD.
|
||||
The file is generated at build time by the rdatawad tool from raw PPM
|
||||
graphics and LMP lumps (see Makefile.prboomdata), but ships pre-built
|
||||
in the repository root.
|
||||
|
||||
Without prboom.wad the core falls back to hardcoded internal defaults
|
||||
(d_main.c:1073-1074), so the file is technically optional but expected
|
||||
for correct rendering of menus, HUD digits, and extended features.
|
||||
|
||||
File search order (libretro.c I_FindFile, line 1743):
|
||||
1. WAD directory (same folder as the loaded game WAD)
|
||||
2. system/prboom/ subdirectory
|
||||
3. system/ directory directly
|
||||
4. Parent folders of WAD directory (recursive, if enabled)
|
||||
|
||||
The core accepts .wad, .iwad, .pwad, and .lmp extensions. Game IWADs
|
||||
it recognizes (d_main.c:133-145): doom2f.wad, doom2.wad, plutonia.wad,
|
||||
tnt.wad, freedoom2.wad, doom.wad, doomu.wad, freedoom1.wad,
|
||||
freedoom.wad, doom1.wad.
|
||||
|
||||
The src/ directory contains a second, larger prboom.wad (228743 bytes,
|
||||
md5 23afd6143cb1ffec99a46755f9209ea6) which is the upstream PrBoom
|
||||
original. The root copy (143312 bytes) is the libretro-specific build.
|
||||
|
||||
files:
|
||||
- name: "prboom.wad"
|
||||
system: doom
|
||||
description: "PrBoom engine data WAD (fonts, palette, colormaps, tables, menu graphics)"
|
||||
required: false
|
||||
size: 143312
|
||||
md5: "72ae1b47820fcc93cc0df9c428d0face"
|
||||
sha1: "5f4aed208301449c2e9514edfd325fe9dead76fa"
|
||||
crc32: "a5751b99"
|
||||
source_ref: "d_main.c:1069-1078 (PACKAGE .wad load), libretro.c:1743-1780 (I_FindFile search), config.h:46 (PACKAGE=prboom)"
|
||||
notes: "Searched in system/prboom/ then system/. Falls back to internal defaults if missing, but menus and HUD may render incorrectly without it."
|
||||
232
emulators/same_cdi.yml
Normal file
232
emulators/same_cdi.yml
Normal file
@@ -0,0 +1,232 @@
|
||||
emulator: SAME CDi
|
||||
type: libretro
|
||||
cores: [same_cdi, cdi2015]
|
||||
source: "https://github.com/libretro/same_cdi"
|
||||
systems:
|
||||
- cdi
|
||||
|
||||
notes: |
|
||||
SAME CDi is a Single Arcade Machine Emulator fork of MAME libretro, stripped
|
||||
down to just the Philips CD-i driver. The core hardcodes "cdimono1" as the
|
||||
forced system (retro_init.cpp:86) and searches for MAME ROM ZIPs in:
|
||||
<system_dir>/same_cdi/bios/
|
||||
|
||||
The ROM path (-rp) is built at retro_init.cpp:534 as:
|
||||
<game_path>;<system_dir>/same_cdi/bios/
|
||||
|
||||
MAME expects each romset as a ZIP containing the individual ROM files listed
|
||||
below. The ZIP filenames (cdimono1.zip, cdimono2.zip, cdibios.zip) match
|
||||
the MAME driver names. Only cdimono1.zip is required for consumer CD-i games;
|
||||
cdimono2.zip and cdibios.zip are optional (Mono-II and Quizard arcade).
|
||||
|
||||
cdi2015 is an older MAME 2015-based CD-i core with the same BIOS layout.
|
||||
|
||||
ROM definitions: src/mame/drivers/cdi.cpp lines 574-650.
|
||||
System forced: src/osd/libretro/libretro-internal/retro_init.cpp:86.
|
||||
BIOS path: src/osd/libretro/libretro-internal/retro_init.cpp:534.
|
||||
Firmware list: same_cdi_libretro.info firmware0-2.
|
||||
|
||||
files:
|
||||
# =====================================================
|
||||
# cdimono1.zip - Philips CD-i Mono-I (PAL) - REQUIRED
|
||||
# Contains main CPU BIOS + servo/slave MCU dumps
|
||||
# =====================================================
|
||||
|
||||
# Main CPU BIOS (one of three, selected via MAME BIOS switch)
|
||||
- name: "cdi200.rom"
|
||||
zip: "cdimono1.zip"
|
||||
system: cdi
|
||||
region: [north-america]
|
||||
required: true
|
||||
size: 524288 # 0x80000
|
||||
crc32: "40c4e6b9"
|
||||
sha1: "d961de803c89b3d1902d656ceb9ce7c02dccb40a"
|
||||
note: "Magnavox CD-i 200 BIOS. Default BIOS for cdimono1."
|
||||
source_ref: "src/mame/drivers/cdi.cpp:577"
|
||||
|
||||
- name: "cdi220b.rom"
|
||||
zip: "cdimono1.zip"
|
||||
system: cdi
|
||||
region: [europe]
|
||||
required: true
|
||||
size: 524288 # 0x80000
|
||||
crc32: "279683ca"
|
||||
sha1: "53360a1f21ddac952e95306ced64186a3fc0b93e"
|
||||
note: "Philips CD-i 220 F2 BIOS. Alternate BIOS for cdimono1."
|
||||
source_ref: "src/mame/drivers/cdi.cpp:579"
|
||||
|
||||
- name: "cdi220.rom"
|
||||
zip: "cdimono1.zip"
|
||||
system: cdi
|
||||
region: [europe]
|
||||
required: false
|
||||
size: 524288 # 0x80000
|
||||
crc32: "584c0af8"
|
||||
sha1: "5d757ab46b8c8fc36361555d978d7af768342d47"
|
||||
note: "Philips CD-i 220 BIOS (alternate, does not boot). Marked non-working."
|
||||
source_ref: "src/mame/drivers/cdi.cpp:581"
|
||||
|
||||
# Servo MCU (MC68HC705C8A) - shared with cdi910 dump, BAD_DUMP
|
||||
- name: "zx405037p__cdi_servo_2.1__b43t__llek9215.mc68hc705c8a_withtestrom.7201"
|
||||
zip: "cdimono1.zip"
|
||||
system: cdi
|
||||
required: true
|
||||
size: 8192 # 0x2000
|
||||
crc32: "7a3af407"
|
||||
sha1: "fdf8d78d6a0df4a56b5b963d72eabd39fcec163f"
|
||||
note: "Servo MCU 2.1, taken from cdi910 (BAD_DUMP, no Mono-I specific dump)."
|
||||
source_ref: "src/mame/drivers/cdi.cpp:584"
|
||||
|
||||
# Slave MCU (MC68HC705C8A) - shared with cdi910 dump, BAD_DUMP
|
||||
- name: "zx405042p__cdi_slave_2.0__b43t__zzmk9213.mc68hc705c8a_withtestrom.7206"
|
||||
zip: "cdimono1.zip"
|
||||
system: cdi
|
||||
required: true
|
||||
size: 8192 # 0x2000
|
||||
crc32: "688cda63"
|
||||
sha1: "56d0acd7caad51c7de703247cd6d842b36173079"
|
||||
note: "Slave MCU 2.0, taken from cdi910 (BAD_DUMP, no Mono-I specific dump)."
|
||||
source_ref: "src/mame/drivers/cdi.cpp:587"
|
||||
|
||||
# =====================================================
|
||||
# cdimono2.zip - Philips CD-i Mono-II (NTSC) - OPTIONAL
|
||||
# MACHINE_NOT_WORKING in MAME
|
||||
# =====================================================
|
||||
|
||||
- name: "philips__cdi-220_ph3_r1.2__mb834200b-15__02f_aa__9402_z04.tc574200-le._1.7211"
|
||||
zip: "cdimono2.zip"
|
||||
system: cdi
|
||||
required: false
|
||||
size: 524288 # 0x80000
|
||||
crc32: "17d723e7"
|
||||
sha1: "6c317a82e35d60ca5e7a74fc99f665055693169d"
|
||||
note: "Mono-II main CPU BIOS. Philips CDI-220 PH3 R1.2."
|
||||
source_ref: "src/mame/drivers/cdi.cpp:623"
|
||||
|
||||
- name: "zc405351p__servo_cdi_4.1__0d67p__lluk9404.mc68hc705c8a.7490"
|
||||
zip: "cdimono2.zip"
|
||||
system: cdi
|
||||
required: false
|
||||
size: 8192 # 0x2000
|
||||
crc32: "2bc8e4e9"
|
||||
sha1: "8cd052b532fc052d6b0077261c12f800e8655bb1"
|
||||
note: "Mono-II servo MCU 4.1."
|
||||
source_ref: "src/mame/drivers/cdi.cpp:626"
|
||||
|
||||
- name: "zc405352p__slave_cdi_4.1__0d67p__lltr9403.mc68hc705c8a.7206"
|
||||
zip: "cdimono2.zip"
|
||||
system: cdi
|
||||
required: false
|
||||
size: 8192 # 0x2000
|
||||
crc32: "5b19da07"
|
||||
sha1: "cf02d84977050c71e87a38f1249e83c43a93949b"
|
||||
note: "Mono-II slave MCU 4.1."
|
||||
source_ref: "src/mame/drivers/cdi.cpp:629"
|
||||
|
||||
# =====================================================
|
||||
# cdibios.zip - CD-i BIOS for Quizard arcade - OPTIONAL
|
||||
# Subset of cdimono1 ROMs + slave MCU, used by Quizard games
|
||||
# =====================================================
|
||||
|
||||
# cdibios reuses cdi200.rom and cdi220b.rom (same hashes as cdimono1)
|
||||
# plus the slave MCU. Listed here for completeness of the ZIP contents.
|
||||
|
||||
- name: "cdi200.rom"
|
||||
zip: "cdibios.zip"
|
||||
system: cdi
|
||||
required: false
|
||||
size: 524288 # 0x80000
|
||||
crc32: "40c4e6b9"
|
||||
sha1: "d961de803c89b3d1902d656ceb9ce7c02dccb40a"
|
||||
note: "Magnavox CD-i 200 BIOS (same as cdimono1). For Quizard arcade."
|
||||
source_ref: "src/mame/drivers/cdi.cpp:639"
|
||||
|
||||
- name: "cdi220b.rom"
|
||||
zip: "cdibios.zip"
|
||||
system: cdi
|
||||
required: false
|
||||
size: 524288 # 0x80000
|
||||
crc32: "279683ca"
|
||||
sha1: "53360a1f21ddac952e95306ced64186a3fc0b93e"
|
||||
note: "Philips CD-i 220 F2 BIOS (same as cdimono1). For Quizard arcade."
|
||||
source_ref: "src/mame/drivers/cdi.cpp:641"
|
||||
|
||||
- name: "zx405042p__cdi_slave_2.0__b43t__zzmk9213.mc68hc705c8a_withtestrom.7206"
|
||||
zip: "cdibios.zip"
|
||||
system: cdi
|
||||
required: false
|
||||
size: 8192 # 0x2000
|
||||
crc32: "688cda63"
|
||||
sha1: "56d0acd7caad51c7de703247cd6d842b36173079"
|
||||
note: "Slave MCU 2.0 (BAD_DUMP, same as cdimono1). For Quizard arcade."
|
||||
source_ref: "src/mame/drivers/cdi.cpp:645"
|
||||
|
||||
# =====================================================
|
||||
# Additional MAME romsets (not in libretro .info firmware list)
|
||||
# These are part of the MAME driver but not declared as
|
||||
# required firmware by the libretro core.
|
||||
# =====================================================
|
||||
|
||||
# cdi910 - CD-i 910-17P Mini-MMC (PAL) - MACHINE_NOT_WORKING
|
||||
- name: "philips__cd-i_2.1__mb834200b-15__26b_aa__9224_z01.tc574200.7211"
|
||||
zip: "cdi910.zip"
|
||||
system: cdi
|
||||
required: false
|
||||
size: 524288 # 0x80000
|
||||
crc32: "4ae3bee3"
|
||||
sha1: "9729b4ee3ce0c17172d062339c47b1ab822b222b"
|
||||
note: "CD-i 910-17P Mini-MMC BIOS. Not listed in libretro firmware."
|
||||
source_ref: "src/mame/drivers/cdi.cpp:594"
|
||||
|
||||
- name: "cdi910.rom"
|
||||
zip: "cdi910.zip"
|
||||
system: cdi
|
||||
required: false
|
||||
size: 524288 # 0x80000
|
||||
crc32: "2f3048d2"
|
||||
sha1: "11c4c3e602060518b52e77156345fa01f619e793"
|
||||
note: "CD-i 910 alternate BIOS. Not listed in libretro firmware."
|
||||
source_ref: "src/mame/drivers/cdi.cpp:596"
|
||||
|
||||
# cdi490a - CD-i 490 - MACHINE_NOT_WORKING
|
||||
- name: "cdi490a.rom"
|
||||
zip: "cdi490a.zip"
|
||||
system: cdi
|
||||
required: false
|
||||
size: 524288 # 0x80000
|
||||
crc32: "e2f200f6"
|
||||
sha1: "c9bf3c4c7e4fe5cbec3fe3fc993c77a4522ca547"
|
||||
note: "CD-i 490 BIOS. Not listed in libretro firmware."
|
||||
source_ref: "src/mame/drivers/cdi.cpp:633"
|
||||
|
||||
- name: "impega.rom"
|
||||
zip: "cdi490a.zip"
|
||||
system: cdi
|
||||
required: false
|
||||
size: 262144 # 0x40000
|
||||
crc32: "84d6f6aa"
|
||||
sha1: "02526482a0851ea2a7b582d8afaa8ef14a8bd914"
|
||||
note: "CD-i 490 MPEG audio decoder ROM."
|
||||
source_ref: "src/mame/drivers/cdi.cpp:636"
|
||||
|
||||
- name: "vmpega.rom"
|
||||
zip: "cdi490a.zip"
|
||||
system: cdi
|
||||
required: false
|
||||
size: 262144 # 0x40000
|
||||
crc32: "db264e8b"
|
||||
sha1: "be407fbc102f1731a0862554855e963e5a47c17b"
|
||||
note: "CD-i 490 MPEG video decoder ROM."
|
||||
source_ref: "src/mame/drivers/cdi.cpp:637"
|
||||
|
||||
platform_details:
|
||||
cdi:
|
||||
bios_path: "same_cdi/bios/"
|
||||
forced_system: "cdimono1"
|
||||
primary_zip: "cdimono1.zip"
|
||||
optional_zips: ["cdimono2.zip", "cdibios.zip"]
|
||||
mame_romsets: ["cdimono1", "cdimono2", "cdibios", "cdi910", "cdi490a"]
|
||||
rom_path_flag: "-rp"
|
||||
rom_search_path: "<game_path>;<system_dir>/same_cdi/bios/"
|
||||
supported_extensions: ["chd", "iso", "cue"]
|
||||
source_ref: "retro_init.cpp:86,534 same_cdi_libretro.info"
|
||||
30
emulators/theodore.yml
Normal file
30
emulators/theodore.yml
Normal file
@@ -0,0 +1,30 @@
|
||||
# Theodore - Thomson MO/TO computer emulator
|
||||
# https://github.com/Zlika/theodore
|
||||
# Emulates: TO7, TO7/70, TO8, TO8D, TO9, TO9+, MO5, MO6, PC128 (Olivetti Prodest)
|
||||
# Based on Daniel Coulom's DCTO8D, DCTO9P, and DCMO5 emulators
|
||||
|
||||
core_name: theodore
|
||||
systems:
|
||||
- Thomson MO5
|
||||
- Thomson MO6
|
||||
- Thomson TO7
|
||||
- Thomson TO7/70
|
||||
- Thomson TO8
|
||||
- Thomson TO8D
|
||||
- Thomson TO9
|
||||
- Thomson TO9+
|
||||
- Olivetti Prodest PC128
|
||||
|
||||
bios_files: []
|
||||
# All system ROMs are embedded directly in the source code as C arrays:
|
||||
# rom_to7.inc, rom_to770.inc, rom_to8.inc, rom_to8d.inc,
|
||||
# rom_to9.inc, rom_to9p.inc, rom_mo5.inc, rom_mo6.inc,
|
||||
# rom_pc128.inc, basic-1_memo7.inc, basic-128_memo7.inc
|
||||
# No external BIOS or firmware files are required.
|
||||
|
||||
notes: |
|
||||
Theodore embeds all Thomson monitor ROMs and BASIC ROMs at compile time.
|
||||
The core option "theodore_rom" selects the emulated model (Auto by default).
|
||||
TO7 and TO7/70 auto-load the BASIC 1 cartridge when no cartridge is provided.
|
||||
Supported file formats: fd, sap, k7, m7, m5, rom.
|
||||
The core can run without any game loaded (SET_SUPPORT_NO_GAME = true).
|
||||
69
emulators/vba_next.yml
Normal file
69
emulators/vba_next.yml
Normal file
@@ -0,0 +1,69 @@
|
||||
emulator: VBA-Next
|
||||
type: libretro
|
||||
source: "https://github.com/libretro/vba-next"
|
||||
cores:
|
||||
- vba_next
|
||||
systems:
|
||||
- nintendo-gba
|
||||
|
||||
notes: |
|
||||
VBA-Next is a Game Boy Advance emulator forked from VBA-M, optimized for
|
||||
libretro. It includes a built-in HLE BIOS (myROM array in src/gba.cpp:8423)
|
||||
that handles all standard SWI calls, so no external BIOS file is needed for
|
||||
most games.
|
||||
|
||||
BIOS loading is gated behind HAVE_HLE_BIOS (defined in build/Makefile.common)
|
||||
and controlled by core option vbanext_bios (default: enabled). When enabled,
|
||||
the libretro port looks for gba_bios.bin in RetroArch's system directory
|
||||
(libretro/libretro.cpp:198-203). CPUInit() loads the file via utilLoad(),
|
||||
validates it is exactly 0x4000 bytes (16 KB), and sets useBios = true
|
||||
(src/gba.cpp:12413-12443). If loading fails or the option is off, the HLE
|
||||
BIOS (myROM) is memcpy'd into the bios buffer instead.
|
||||
|
||||
CPUIsGBABios() accepts extensions: .gba, .agb, .bin, .bios, .rom
|
||||
(src/gba.cpp:8851-8873).
|
||||
|
||||
When useBios is true and skipBios is false, execution starts at 0x00000000
|
||||
(real BIOS entry). Otherwise it jumps straight to 0x08000000 (ROM entry),
|
||||
skipping the boot animation (src/gba.cpp:12657-12675).
|
||||
|
||||
The HLE BIOS covers: SoftReset, RegisterRamReset, Halt, VBlankIntrWait,
|
||||
Div, Sqrt, ArcTan, ArcTan2, CpuSet, CpuFastSet, GetBiosChecksum,
|
||||
BgAffineSet, ObjAffineSet, BitUnPack, LZ77UnComp (WRAM/VRAM),
|
||||
HuffUnComp, RLUnComp (WRAM/VRAM), Diff8bitUnFilter (WRAM/VRAM),
|
||||
Diff16bitUnFilter, MidiKey2Freq, SndDriverJmpTableCopy
|
||||
(src/gba.cpp:2369-2578).
|
||||
|
||||
Some per-game overrides in gbaover[] (libretro/libretro.cpp:235) have a
|
||||
useBios field, but all entries currently set it to 0 (no game forces BIOS).
|
||||
|
||||
files:
|
||||
# -------------------------------------------------------
|
||||
# Game Boy Advance - BIOS (optional, HLE fallback)
|
||||
# -------------------------------------------------------
|
||||
- name: gba_bios.bin
|
||||
system: nintendo-gba
|
||||
required: false
|
||||
size: 16384 # 16 KB (0x4000)
|
||||
note: "GBA BIOS. Optional -- HLE replacement (myROM) handles all standard SWI calls. Real BIOS adds startup logo and may improve edge-case accuracy."
|
||||
source_ref: "libretro/libretro.cpp:198-203, src/gba.cpp:12413-12443"
|
||||
|
||||
platform_details:
|
||||
gba:
|
||||
bios_size: 16384 # 0x4000
|
||||
hle_bios: true
|
||||
source_ref: "src/gba.cpp:8423 (myROM), src/gba.cpp:2369-2578 (SWI handlers)"
|
||||
notes: |
|
||||
BIOS buffer is always allocated at 0x4000 bytes (src/gba.cpp:8963).
|
||||
If the real BIOS loads successfully (exactly 0x4000 bytes), useBios is
|
||||
set to true and CPUReset starts at address 0x00000000 with IRQ disabled.
|
||||
Otherwise myROM (built-in HLE stub) is copied in and execution starts
|
||||
at 0x08000000 with standard register init.
|
||||
|
||||
The core option vbanext_bios defaults to "enabled", so if gba_bios.bin
|
||||
is present in the system directory it will be loaded automatically.
|
||||
|
||||
BIOS reads at runtime go through the memory map (src/gba.cpp:792-1076).
|
||||
Address range 0x0000-0x3FFF maps to the bios buffer. A biosProtected[4]
|
||||
array at 0x00f029e1 is returned when reading outside the current PC
|
||||
region, matching real GBA BIOS protection behavior.
|
||||
80
emulators/x1.yml
Normal file
80
emulators/x1.yml
Normal file
@@ -0,0 +1,80 @@
|
||||
emulator: "X Millennium"
|
||||
type: libretro
|
||||
source: "https://github.com/libretro/xmil-libretro"
|
||||
cores:
|
||||
- x1
|
||||
systems:
|
||||
- sharp-x1
|
||||
|
||||
# X Millennium (XMIL) is a Sharp X1 series emulator by yui. The libretro port
|
||||
# supports X1, X1 Turbo, and X1 TurboZ models via the "X1_ROMTYPE" core option
|
||||
# (values: X1, TURBO, TURBOZ; default: X1 = ROM_TYPE 1).
|
||||
#
|
||||
# All system files go under: <system_dir>/xmil/
|
||||
# (libretro.c:597 builds the path as "<system_dir>/xmil")
|
||||
#
|
||||
# IPL ROM loading (memio.c:88-116):
|
||||
# ROM_TYPE 0: uses built-in default IPL (575 bytes, basic boot stub from defipl.res)
|
||||
# ROM_TYPE 1 (X1): loads xmil/IPLROM.X1 (32 KB)
|
||||
# ROM_TYPE 2 (Turbo): loads xmil/IPLROM.X1T (32 KB)
|
||||
# ROM_TYPE 3 (TurboZ): loads xmil/IPLROM.X1T (32 KB, same file as Turbo)
|
||||
# If the file is missing, the core falls back to the built-in default IPL.
|
||||
#
|
||||
# Font loading (font.c:90-127, fontx1.c:70-123):
|
||||
# font_load() calls x1fontread() which looks for font files using fontopen().
|
||||
# fontopen() resolves paths relative to the working directory (file_getcd()),
|
||||
# which in libretro context is the xmil subdirectory.
|
||||
# Built-in defaults (defrom_ank, defrom_txt) are used for basic ASCII rendering.
|
||||
# External font ROMs add full Japanese character support.
|
||||
#
|
||||
# The .info file only lists IPLROM.X1 and IPLROM.X1T as required BIOS files.
|
||||
# Font ROMs are optional -- the core renders basic text without them but Japanese
|
||||
# kanji display requires the external font files.
|
||||
|
||||
notes: |
|
||||
Place all files in: <system_dir>/xmil/
|
||||
The core selects between IPLROM.X1 and IPLROM.X1T based on the "X1_ROMTYPE"
|
||||
core option. A built-in fallback IPL exists but lacks full boot functionality.
|
||||
Font files are optional; without them, kanji/JIS characters won't render.
|
||||
|
||||
files:
|
||||
# -- IPL ROMs --
|
||||
|
||||
- name: IPLROM.X1
|
||||
path: xmil/IPLROM.X1
|
||||
size: 32768
|
||||
md5: eeeea1cd29c6e0e8b094790ae969bfa7
|
||||
required: true
|
||||
note: "X1 IPL ROM (32 KB). Loaded when ROM_TYPE=1 (X1 model). Listed in .info."
|
||||
source_ref: "io/memio.c:82,96-103"
|
||||
|
||||
- name: IPLROM.X1T
|
||||
path: xmil/IPLROM.X1T
|
||||
size: 32768
|
||||
md5: 851e4a5936f17d13f8c39a980cf00d77
|
||||
required: true
|
||||
note: "X1 Turbo/TurboZ IPL ROM (32 KB). Loaded when ROM_TYPE=2 or 3. Listed in .info."
|
||||
source_ref: "io/memio.c:83,97-99"
|
||||
|
||||
# -- Font ROMs (optional, for Japanese text rendering) --
|
||||
|
||||
- name: FNT0808.X1
|
||||
path: xmil/FNT0808.X1
|
||||
size: 2048
|
||||
required: false
|
||||
note: "8x8 ANK font ROM (2 KB). Provides half-width ASCII/kana characters."
|
||||
source_ref: "font/fontdata.c:6, font/fontx1.c:79-87"
|
||||
|
||||
- name: FNT0816.X1
|
||||
path: xmil/FNT0816.X1
|
||||
size: 4096
|
||||
required: false
|
||||
note: "8x16 ANK font ROM (4 KB). Provides taller half-width characters for text mode."
|
||||
source_ref: "font/fontdata.c:7, font/fontx1.c:89-103"
|
||||
|
||||
- name: FNT1616.X1
|
||||
path: xmil/FNT1616.X1
|
||||
size: 306176
|
||||
required: false
|
||||
note: "16x16 Kanji font ROM (~299 KB). Full JIS kanji character set for Japanese text."
|
||||
source_ref: "font/fontdata.c:8, font/fontx1.c:105-120"
|
||||
Reference in New Issue
Block a user