mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-04-13 12:22:33 -05:00
feat: add 10 emulator profiles (batch 4)
blastem (MD, no BIOS needed), dosbox_pure (14 MT-32 ROMs + SF2), desmume (NDS, 3 files all HLE), cap32 (CPC, all embedded), mu (Palm OS, 5 ROMs), bk (Elektronika BK, 9 Soviet ROMs), gearsystem (SMS/GG, 2 optional boot ROMs), beetle_ngp (Neo Geo Pocket, pure HLE), beetle_wswan (WonderSwan, pure HLE), galaksija (Yugoslav computer, all embedded) 51 total profiles. Cross-reference: 658 undeclared, 177 in repo.
This commit is contained in:
33
emulators/beetle_ngp.yml
Normal file
33
emulators/beetle_ngp.yml
Normal file
@@ -0,0 +1,33 @@
|
||||
emulator: Beetle NGP (Mednafen Neo Geo Pocket)
|
||||
type: libretro
|
||||
source: "https://github.com/libretro/beetle-ngp-libretro"
|
||||
systems: [snk-ngp, snk-ngpc]
|
||||
|
||||
notes: |
|
||||
Beetle NGP is a fork of Mednafen's NeoPop module for Neo Geo Pocket
|
||||
and Neo Geo Pocket Color emulation via libretro.
|
||||
|
||||
No external BIOS or firmware files are required. The core uses a
|
||||
built-in High-Level Emulation (HLE) BIOS that is constructed at
|
||||
runtime by bios_install() in mednafen/ngp/bios.c.
|
||||
|
||||
The HLE BIOS populates a 64KB array (ngpc_bios[0x10000]) with:
|
||||
- A system call vector table at 0xFE00 (27 entries covering
|
||||
clock, RTC, interrupts, font, flash read/write, comms)
|
||||
- Each vector target contains an iBIOSHLE instruction (opcode 0x1F)
|
||||
that traps into biosHLE.c for high-level handling
|
||||
- A built-in system font (2048 bytes at 0x8DCF)
|
||||
- A default interrupt handler (RETI at 0x23DF)
|
||||
- An infinite loop at 0xFFFE as the idle entry point
|
||||
|
||||
The TLCS-900h CPU (main) and Z80 (sound) are both emulated in
|
||||
software. Flash memory for game saves is handled internally via
|
||||
flash.c without needing a separate firmware dump.
|
||||
|
||||
The only core option is ngp_language (english/japanese), which
|
||||
controls the language flag passed to games. It does not affect
|
||||
BIOS loading.
|
||||
|
||||
ROM extensions: .ngp, .ngc, .ngpc, .npc
|
||||
|
||||
files: []
|
||||
31
emulators/beetle_wswan.yml
Normal file
31
emulators/beetle_wswan.yml
Normal file
@@ -0,0 +1,31 @@
|
||||
emulator: Beetle WonderSwan (Mednafen WonderSwan)
|
||||
type: libretro
|
||||
source: "https://github.com/libretro/beetle-wswan-libretro"
|
||||
systems: [bandai-wswan, bandai-wswanc]
|
||||
|
||||
notes: |
|
||||
Beetle WonderSwan is a fork of Mednafen's Cygne module for WonderSwan
|
||||
and WonderSwan Color emulation via libretro.
|
||||
|
||||
No external BIOS or firmware files are required. The core bypasses the
|
||||
original boot ROM entirely by hardcoding the initial I/O register state
|
||||
in mednafen/wswan/start.inc (a 256-byte table of power-on defaults for
|
||||
all hardware registers 0x00-0xFF). On reset, WSwan_MemoryReset() in
|
||||
wswan-memory.c zeroes RAM and writes a fixed 8-byte identifier at
|
||||
0x75AC, then the CPU starts executing the cartridge directly.
|
||||
|
||||
Internal EEPROM owner data (name, birthday, sex, blood type) is
|
||||
configured through core options (wswan.name, wswan.byear, wswan.bmonth,
|
||||
wswan.bday, wswan.sex, wswan.blood) and initialized at boot by
|
||||
WSwan_EEPROMInit() without needing a real EEPROM dump.
|
||||
|
||||
The wswan.language core option selects English or Japanese, which is
|
||||
returned via I/O port 0xC8+ as the hardware language flag. This
|
||||
replaces the boot ROM's language selection screen.
|
||||
|
||||
The NEC V30MZ CPU is emulated in software (v30mz.c). Sound DMA,
|
||||
cartridge banking, and RTC are all handled internally.
|
||||
|
||||
ROM extensions: .ws, .wsc, .pc2
|
||||
|
||||
files: []
|
||||
149
emulators/bk.yml
Normal file
149
emulators/bk.yml
Normal file
@@ -0,0 +1,149 @@
|
||||
emulator: bk-emulator
|
||||
type: libretro
|
||||
source: "https://github.com/libretro/bk-emulator"
|
||||
cores:
|
||||
- bk
|
||||
systems:
|
||||
- elektronika-bk
|
||||
|
||||
# BK-emulator is an Elektronika BK-0010/0011M emulator (Soviet PDP-11 based home
|
||||
# computer). The libretro core supports six machine configurations selected via
|
||||
# the "bk_model" core option:
|
||||
# BK-0010 (model 0) - default
|
||||
# BK-0010.01 (model 1)
|
||||
# BK-0010.01 + FDD (model 2)
|
||||
# BK-0011M + FDD (model 3)
|
||||
# Slow BK-0011M (model 4) - same ROMs as model 3
|
||||
# Terak 8510/a (model 9)
|
||||
#
|
||||
# ROM loading (boot.c:83-116):
|
||||
# BK-0010 models use load_rom() which maps ROM into emulated memory at
|
||||
# specific addresses: monitor at 0100000 (8 KB), BASIC/FOCAL at 0120000
|
||||
# (24448-24576 bytes), disk controller at 0160000 (4 KB).
|
||||
# BK-0011M uses load_rom11() which loads into separate ROM buffer arrays.
|
||||
#
|
||||
# ROM file resolution (libretro.c:1051-1108):
|
||||
# Files are loaded from {system_dir}/bk/{filename} (libretro.c:724-726).
|
||||
# If not found with original casing, the loader retries with lowercase
|
||||
# filename (libretro.c:1074-1079).
|
||||
#
|
||||
# All ROM files are required for their respective model. The core calls
|
||||
# environ_cb(RETRO_ENVIRONMENT_SHUTDOWN) if any ROM file is missing.
|
||||
|
||||
notes: |
|
||||
Files go in {system_dir}/bk/.
|
||||
Each BK model requires a specific set of ROMs. The default model is BK-0010
|
||||
which needs MONIT10.ROM and FOCAL10.ROM. Changing the core option "bk_model"
|
||||
changes which ROMs are loaded. The core shuts down if a required ROM is
|
||||
missing (no fallback or pseudo-BIOS).
|
||||
If a ROM file with uppercase name is not found, the core retries with
|
||||
the filename lowercased.
|
||||
|
||||
files:
|
||||
# -- BK-0010 Monitor ROM (all BK-0010 variants) --
|
||||
|
||||
- name: MONIT10.ROM
|
||||
path: "bk/MONIT10.ROM"
|
||||
size: 8192
|
||||
required: true
|
||||
note: "BK-0010 monitor ROM (8 KB). Loaded at address 0100000. Required for all BK-0010 models (0, 1, 2)."
|
||||
source_ref: "main.c:53, boot.c:107"
|
||||
aliases: ["monit10.rom"]
|
||||
|
||||
# -- BK-0010 language ROMs (model-dependent) --
|
||||
|
||||
- name: FOCAL10.ROM
|
||||
path: "bk/FOCAL10.ROM"
|
||||
size: 24576
|
||||
required: false
|
||||
note: "FOCAL interpreter ROM (24448-24576 bytes). Loaded at 0120000. Used by BK-0010 (model 0, default)."
|
||||
source_ref: "libretro.c:15, boot.c:110"
|
||||
aliases: ["focal10.rom"]
|
||||
|
||||
- name: BASIC10.ROM
|
||||
path: "bk/BASIC10.ROM"
|
||||
size: 24576
|
||||
required: false
|
||||
note: "BASIC interpreter ROM (24448-24576 bytes). Loaded at 0120000. Used by BK-0010.01 (model 1)."
|
||||
source_ref: "libretro.c:16, boot.c:110"
|
||||
aliases: ["basic10.rom"]
|
||||
|
||||
# -- Disk controller ROM (BK-0010.01+FDD and BK-0011M) --
|
||||
|
||||
- name: DISK_327.ROM
|
||||
path: "bk/DISK_327.ROM"
|
||||
size: 4096
|
||||
required: false
|
||||
note: "Floppy disk controller ROM (4 KB). Loaded at 0160000 for BK-0010.01+FDD (model 2), or into system_rom for BK-0011M (model 3/4)."
|
||||
source_ref: "main.c:54, boot.c:99,113"
|
||||
aliases: ["disk_327.rom"]
|
||||
|
||||
# -- BK-0011M ROMs --
|
||||
|
||||
- name: B11M_BOS.ROM
|
||||
path: "bk/B11M_BOS.ROM"
|
||||
size: 8192
|
||||
required: false
|
||||
note: "BK-0011M system ROM / BOS (8 KB). Loaded into system_rom at offset 0. Required for BK-0011M (model 3/4)."
|
||||
source_ref: "main.c:55, boot.c:98"
|
||||
aliases: ["b11m_bos.rom"]
|
||||
|
||||
- name: B11M_EXT.ROM
|
||||
path: "bk/B11M_EXT.ROM"
|
||||
size: 8192
|
||||
required: false
|
||||
note: "BK-0011M extended BOS ROM (8 KB). Loaded into rom[1] at offset 8192. Required for BK-0011M (model 3/4)."
|
||||
source_ref: "main.c:56, boot.c:102"
|
||||
aliases: ["b11m_ext.rom"]
|
||||
|
||||
- name: BAS11M_0.ROM
|
||||
path: "bk/BAS11M_0.ROM"
|
||||
size: 16384
|
||||
required: false
|
||||
note: "BK-0011M BASIC ROM part 0 (16 KB). Loaded into rom[0]. Required for BK-0011M (model 3/4)."
|
||||
source_ref: "main.c:57, boot.c:100"
|
||||
aliases: ["bas11m_0.rom"]
|
||||
|
||||
- name: BAS11M_1.ROM
|
||||
path: "bk/BAS11M_1.ROM"
|
||||
size: 8192
|
||||
required: false
|
||||
note: "BK-0011M BASIC ROM part 1 (8 KB). Loaded into rom[1] at offset 0. Required for BK-0011M (model 3/4)."
|
||||
source_ref: "main.c:58, boot.c:101"
|
||||
aliases: ["bas11m_1.rom"]
|
||||
|
||||
# -- Terak 8510/a ROM --
|
||||
|
||||
- name: TERAK.ROM
|
||||
path: "bk/TERAK.ROM"
|
||||
size: 128
|
||||
required: false
|
||||
note: "Terak 8510/a boot ROM (128 bytes). Only used when model is set to Terak 8510/a (model 9)."
|
||||
source_ref: "boot.c:94"
|
||||
aliases: ["terak.rom"]
|
||||
|
||||
platform_details:
|
||||
bios_mapping:
|
||||
source_ref: "libretro.c:718-760, boot.c:83-116"
|
||||
notes: |
|
||||
ROM directory is {system_dir}/bk/ (libretro.c:724-726).
|
||||
Model selection via core option "bk_model" determines which ROMs are loaded.
|
||||
The core shuts down immediately if any required ROM for the selected model
|
||||
is not found.
|
||||
|
||||
model_rom_map:
|
||||
source_ref: "libretro.c:734-756, boot.c:83-116"
|
||||
notes: |
|
||||
BK-0010: MONIT10.ROM + FOCAL10.ROM
|
||||
BK-0010.01: MONIT10.ROM + BASIC10.ROM
|
||||
BK-0010.01 + FDD: MONIT10.ROM + DISK_327.ROM
|
||||
BK-0011M + FDD: B11M_BOS.ROM + DISK_327.ROM + BAS11M_0.ROM + BAS11M_1.ROM + B11M_EXT.ROM
|
||||
Slow BK-0011M: same as BK-0011M + FDD
|
||||
Terak 8510/a: TERAK.ROM
|
||||
|
||||
rom_loading:
|
||||
source_ref: "libretro.c:1051-1108"
|
||||
notes: |
|
||||
load_rom_file() first tries {romdir}/{filename} with original casing.
|
||||
If not found, retries with the filename converted to lowercase.
|
||||
Returns NULL and shuts down the core on failure.
|
||||
55
emulators/blastem.yml
Normal file
55
emulators/blastem.yml
Normal file
@@ -0,0 +1,55 @@
|
||||
emulator: BlastEm
|
||||
type: libretro
|
||||
source: "https://github.com/libretro/blastem"
|
||||
cores:
|
||||
- blastem
|
||||
systems:
|
||||
- sega-megadrive
|
||||
- sega-mastersystem
|
||||
|
||||
notes: |
|
||||
BlastEm is a cycle-accurate Sega Mega Drive/Genesis emulator with basic
|
||||
Master System support. In standalone mode it supports TMSS ROM loading and
|
||||
multiple hardware models (MD1 VA0 through MD3 VA2, Teradrive). The Jaguar
|
||||
emulator (blastjag) is a separate standalone binary, not part of the
|
||||
libretro core.
|
||||
|
||||
The libretro port (libblastem.c) does NOT expose any core options and
|
||||
defaults to model md1va3 which has TMSS disabled. There is no way to
|
||||
select a TMSS-enabled model through the libretro interface.
|
||||
|
||||
Even if a TMSS-enabled model were forced, read_bundled_file() in the
|
||||
libretro build only serves rom.db and returns NULL for tmss.md, so TMSS
|
||||
ROM loading would fail (fatal_error at genesis.c:1923).
|
||||
|
||||
Sega CD / Mega CD is not supported (only a TODO comment in system.c:16).
|
||||
No BIOS files are required or loaded by the libretro core.
|
||||
|
||||
files: []
|
||||
|
||||
analysis:
|
||||
tmss:
|
||||
standalone_support: true
|
||||
libretro_support: false
|
||||
default_model: md1va3
|
||||
default_tmss: "off"
|
||||
rom_filename: tmss.md
|
||||
rom_size: 2048 # 2 KB
|
||||
config_path: "system\0tmss_path\0"
|
||||
source_ref: "genesis.c:1910"
|
||||
notes: |
|
||||
TMSS ROM is loaded from tmss.md (configurable via system/tmss_path).
|
||||
Models with tmss=on: md1va6, md2va1, md2va2, md3va1, md3va2.
|
||||
Models with tmss=off: md1va0, md1va3 (default), teradrive.
|
||||
The libretro build uses md1va3 (tmss off) with no option to change.
|
||||
|
||||
sega_cd:
|
||||
supported: false
|
||||
source_ref: "system.c:16"
|
||||
notes: "TODO comment only: 'Differentiate between vanilla Genesis and Sega CD/32X games'"
|
||||
|
||||
jaguar_bios:
|
||||
libretro_relevant: false
|
||||
notes: |
|
||||
blastjag (jaguar.c) is a separate standalone binary, not compiled
|
||||
into the libretro core. Requires BIOS as first CLI argument.
|
||||
70
emulators/cap32.yml
Normal file
70
emulators/cap32.yml
Normal file
@@ -0,0 +1,70 @@
|
||||
emulator: Caprice32
|
||||
type: libretro
|
||||
source: "https://github.com/libretro/libretro-cap32"
|
||||
cores:
|
||||
- cap32
|
||||
systems:
|
||||
- amstrad-cpc
|
||||
|
||||
notes: |
|
||||
Caprice32 is an Amstrad CPC emulator ported to libretro. Supports CPC 464,
|
||||
CPC 664, CPC 6128, and CPC+ (Plus) models.
|
||||
|
||||
All system ROMs are compiled directly into the core binary as C header
|
||||
arrays in cap32/rom/*.h. No external BIOS files are required.
|
||||
|
||||
Embedded ROMs (cap32/cap32.c:342-345):
|
||||
- cap32/rom/464.h: OS_BASIC10[32768] - CPC 464 OS + BASIC 1.0
|
||||
- cap32/rom/6128.h: OS_BASIC11[32768] - CPC 6128 OS + BASIC 1.1
|
||||
- cap32/rom/amsdos.h: AMSDOS[16384] - AMSDOS disk controller ROM
|
||||
- cap32/rom/6128p.h: OS_6128P - CPC+ system cartridge ROM
|
||||
- cap32/rom/cpm.h: cpmROM - CP/M boot snapshot (128KB)
|
||||
|
||||
ROM selection in emulator_select_ROM() (cap32/cap32.c:1072-1100):
|
||||
- CPC 464: OS_BASIC10 (32KB)
|
||||
- CPC 664: OS_BASIC10 (32KB) + AMSDOS in slot 7
|
||||
- CPC 6128: OS_BASIC11 (32KB) + AMSDOS in slot 7
|
||||
- CPC+: OS_6128P loaded as system cartridge via cpr_load()
|
||||
|
||||
The standalone (non-libretro) version references external filenames
|
||||
cpc464.rom, cpc664.rom, cpc6128.rom, amsdos.rom in cap32.c:349-352
|
||||
via config file loading (cap32.c:1828-1840), but the libretro port
|
||||
does not use this path. The libretro init (libretro-core.c:1512) has
|
||||
a "TODO: future use to load custom bios" comment that is not
|
||||
implemented.
|
||||
|
||||
Keyboard layout patches are applied to the ROM in memory for French
|
||||
and Spanish layouts via rom_mods.h (cap32.c:1102-1126).
|
||||
|
||||
CP/M support loads a pre-built snapshot (cpm.h) into memory via
|
||||
snapshot_load_mem() in slots.c:87.
|
||||
|
||||
files: []
|
||||
|
||||
platform_details:
|
||||
bios_mapping:
|
||||
source_ref: "cap32/cap32.c:1072-1100, cap32/cap32.c:342-345"
|
||||
notes: |
|
||||
All ROMs are embedded. emulator_select_ROM() copies the appropriate
|
||||
ROM array into the pbROM buffer based on CPC.model. No filesystem
|
||||
lookup occurs in the libretro port. The retro_system_bios_directory
|
||||
variable is set up in libretro-core.c:1499-1510 but only used for
|
||||
a future custom BIOS feature that is not yet implemented.
|
||||
|
||||
embedded_roms:
|
||||
source_ref: "cap32/rom/464.h, cap32/rom/6128.h, cap32/rom/amsdos.h, cap32/rom/6128p.h, cap32/rom/cpm.h"
|
||||
notes: |
|
||||
5 ROM sets embedded as C arrays:
|
||||
OS_BASIC10 (32KB) - CPC 464/664 OS + BASIC 1.0
|
||||
OS_BASIC11 (32KB) - CPC 6128 OS + BASIC 1.1
|
||||
AMSDOS (16KB) - Disk controller ROM, mapped to slot 7
|
||||
OS_6128P - CPC+ system cartridge (White Label cartridge)
|
||||
cpmROM (128KB+) - CP/M boot snapshot including SNA header
|
||||
|
||||
model_rom_map:
|
||||
source_ref: "cap32/cap32.c:1072-1100"
|
||||
notes: |
|
||||
CPC 464: OS_BASIC10 only (no disk support)
|
||||
CPC 664: OS_BASIC10 + AMSDOS in ROM slot 7
|
||||
CPC 6128: OS_BASIC11 + AMSDOS in ROM slot 7
|
||||
CPC+: 6128P system cartridge (or user-provided .cpr file)
|
||||
41
emulators/desmume.yml
Normal file
41
emulators/desmume.yml
Normal file
@@ -0,0 +1,41 @@
|
||||
emulator: DeSmuME
|
||||
type: libretro
|
||||
source: "https://github.com/libretro/desmume"
|
||||
cores: [desmume, desmume2015]
|
||||
systems: [nintendo-ds]
|
||||
|
||||
notes: |
|
||||
DeSmuME provides full HLE (High-Level Emulation) of all ARM7/ARM9 SWI
|
||||
routines, making BIOS files optional for most games. When external BIOS
|
||||
is disabled, a minimal fake BIOS with exception vectors and IRQ handler
|
||||
stubs is generated at runtime (NDSSystem.cpp:2208-2224, 2263-2278).
|
||||
External BIOS enables SWI-from-BIOS mode and firmware boot animation.
|
||||
Firmware boot requires both ARM7+ARM9 BIOS loaded AND interpreter mode
|
||||
(JIT incompatible, see libretro.cpp:788).
|
||||
ARM9 BIOS read size: 4096 bytes (0x1000). ARM7 BIOS read size: 16384
|
||||
bytes (0x4000). No DSi support.
|
||||
Libretro core option: desmume_use_external_bios (enabled/disabled).
|
||||
|
||||
files:
|
||||
- name: "bios7.bin"
|
||||
system: nintendo-ds
|
||||
description: "ARM7 BIOS"
|
||||
required: false
|
||||
size: 16384
|
||||
source_ref: "desmume/src/NDSSystem.cpp:2178-2182, frontend/libretro/libretro.cpp:763"
|
||||
notes: "HLE fallback covers all SWI calls; native file needed for firmware boot and SWI-from-BIOS accuracy"
|
||||
|
||||
- name: "bios9.bin"
|
||||
system: nintendo-ds
|
||||
description: "ARM9 BIOS"
|
||||
required: false
|
||||
size: 4096
|
||||
source_ref: "desmume/src/NDSSystem.cpp:2236-2239, frontend/libretro/libretro.cpp:764"
|
||||
notes: "HLE fallback covers all SWI calls; native file needed for firmware boot and logo comparison (Pal Park)"
|
||||
|
||||
- name: "firmware.bin"
|
||||
system: nintendo-ds
|
||||
description: "NDS firmware image"
|
||||
required: false
|
||||
source_ref: "desmume/src/NDSSystem.cpp:2653-2655, frontend/libretro/libretro.cpp:765"
|
||||
notes: "Dummy firmware generated when absent; native firmware needed for boot animation, wifi config, user settings"
|
||||
139
emulators/dosbox_pure.yml
Normal file
139
emulators/dosbox_pure.yml
Normal file
@@ -0,0 +1,139 @@
|
||||
emulator: DOSBox Pure
|
||||
type: libretro
|
||||
source: "https://github.com/libretro/dosbox-pure"
|
||||
cores: [dosbox_pure]
|
||||
systems: [dos]
|
||||
verification: sha1
|
||||
notes: >
|
||||
No BIOS required. MT-32 and SoundFont support is optional for MIDI music.
|
||||
The core scans the RetroArch system directory (and subdirectories) for files
|
||||
ending in _CONTROL.ROM (MT-32/CM-32L) and .SF2/.SF3 (General MIDI SoundFont).
|
||||
MT-32 requires a matched pair: *_CONTROL.ROM + *_PCM.ROM in the same directory.
|
||||
Files can also be placed inside the game content as DOSBOX.SF2 or MT32_CONTROL.ROM
|
||||
+ MT32_PCM.ROM on the mounted C: drive. ZIP archives containing both ROMs are
|
||||
also supported (identified by file size, not name). A cache file
|
||||
DOSBoxPureMidiCache.txt is written to system dir when scan takes >2s.
|
||||
Uses bundled MUNT (mt32emu) for MT-32 emulation, TinySoundFont for SF2 playback.
|
||||
No firmware entries in the .info file - all MIDI files are optional enhancements.
|
||||
|
||||
files:
|
||||
# -- MT-32 Control ROMs (64 KB) --
|
||||
|
||||
- name: "MT32_CONTROL.ROM"
|
||||
description: "MT-32 Control v1.04"
|
||||
required: false
|
||||
size: 65536
|
||||
sha1: "5a5cb5a77d7d55ee69657c2f870416daed52dea7"
|
||||
source_ref: "mt32emu.h:CTRL_MT32_V1_04"
|
||||
|
||||
- name: "MT32_CONTROL.ROM"
|
||||
description: "MT-32 Control v1.05"
|
||||
required: false
|
||||
size: 65536
|
||||
sha1: "e17a3a6d265bf1fa150312061134293d2b58288c"
|
||||
source_ref: "mt32emu.h:CTRL_MT32_V1_05"
|
||||
|
||||
- name: "MT32_CONTROL.ROM"
|
||||
description: "MT-32 Control v1.06"
|
||||
required: false
|
||||
size: 65536
|
||||
sha1: "a553481f4e2794c10cfe597fef154eef0d8257de"
|
||||
source_ref: "mt32emu.h:CTRL_MT32_V1_06"
|
||||
|
||||
- name: "MT32_CONTROL.ROM"
|
||||
description: "MT-32 Control v1.07"
|
||||
required: false
|
||||
size: 65536
|
||||
sha1: "b083518fffb7f66b03c23b7eb4f868e62dc5a987"
|
||||
source_ref: "mt32emu.h:CTRL_MT32_V1_07"
|
||||
|
||||
- name: "MT32_CONTROL.ROM"
|
||||
description: "MT-32 Control BlueRidge"
|
||||
required: false
|
||||
size: 65536
|
||||
sha1: "7b8c2a5ddb42fd0732e2f22b3340dcf5360edf92"
|
||||
source_ref: "mt32emu.h:CTRL_MT32_BLUER"
|
||||
|
||||
# -- MT-32 v2.x Control ROMs (128 KB) --
|
||||
|
||||
- name: "MT32_CONTROL.ROM"
|
||||
description: "MT-32 Control v2.03 (new MT-32)"
|
||||
required: false
|
||||
size: 131072
|
||||
sha1: "5837064c9df4741a55f7c4d8787ac158dff2d3ce"
|
||||
source_ref: "mt32emu.h:CTRL_MT32_V2_03"
|
||||
|
||||
- name: "MT32_CONTROL.ROM"
|
||||
description: "MT-32 Control v2.04"
|
||||
required: false
|
||||
size: 131072
|
||||
sha1: "2c16432b6c73dd2a3947cba950a0f4c19d6180eb"
|
||||
source_ref: "mt32emu.h:CTRL_MT32_V2_04"
|
||||
|
||||
- name: "MT32_CONTROL.ROM"
|
||||
description: "MT-32 Control v2.06"
|
||||
required: false
|
||||
size: 131072
|
||||
sha1: "2869cf4c235d671668cfcb62415e2ce8323ad4ed"
|
||||
source_ref: "mt32emu.h:CTRL_MT32_V2_06"
|
||||
|
||||
- name: "MT32_CONTROL.ROM"
|
||||
description: "MT-32 Control v2.07"
|
||||
required: false
|
||||
size: 131072
|
||||
sha1: "47b52adefedaec475c925e54340e37673c11707c"
|
||||
source_ref: "mt32emu.h:CTRL_MT32_V2_07"
|
||||
|
||||
# -- CM-32L / LAPC-I Control ROMs (64 KB) --
|
||||
|
||||
- name: "CM32L_CONTROL.ROM"
|
||||
description: "CM-32L/LAPC-I Control v1.00"
|
||||
required: false
|
||||
size: 65536
|
||||
sha1: "73683d585cd6948cc19547942ca0e14a0319456d"
|
||||
source_ref: "mt32emu.h:CTRL_CM32L_V1_00"
|
||||
|
||||
- name: "CM32L_CONTROL.ROM"
|
||||
description: "CM-32L/LAPC-I Control v1.02"
|
||||
required: false
|
||||
size: 65536
|
||||
sha1: "a439fbb390da38cada95a7cbb1d6ca199cd66ef8"
|
||||
source_ref: "mt32emu.h:CTRL_CM32L_V1_02"
|
||||
|
||||
# -- CM-32LN / CM-500 / LAPC-N Control ROM (64 KB) --
|
||||
|
||||
- name: "CM32LN_CONTROL.ROM"
|
||||
description: "CM-32LN/CM-500/LAPC-N Control v1.00"
|
||||
required: false
|
||||
size: 65536
|
||||
sha1: "dc1c5b1b90a4646d00f7daf3679733c7badc7077"
|
||||
source_ref: "mt32emu.h:CTRL_CM32LN_V1_00"
|
||||
|
||||
# -- PCM ROMs --
|
||||
|
||||
- name: "MT32_PCM.ROM"
|
||||
description: "MT-32 PCM ROM"
|
||||
required: false
|
||||
size: 524288
|
||||
sha1: "f6b1eebc4b2d200ec6d3d21d51325d5b48c60252"
|
||||
source_ref: "mt32emu.h:PCM_MT32"
|
||||
notes: "pairs with any MT-32 v1.x control ROM"
|
||||
|
||||
- name: "CM32L_PCM.ROM"
|
||||
description: "CM-32L/CM-64/LAPC-I PCM ROM"
|
||||
required: false
|
||||
size: 1048576
|
||||
sha1: "289cc298ad532b702461bfc738009d9ebe8025ea"
|
||||
source_ref: "mt32emu.h:PCM_CM32L"
|
||||
notes: "pairs with MT-32 v2.x or CM-32L control ROMs. Lower half aliases MT-32 PCM."
|
||||
|
||||
# -- General MIDI SoundFont --
|
||||
|
||||
- name: "DOSBOX.SF2"
|
||||
description: "General MIDI SoundFont (any .sf2/.sf3 accepted)"
|
||||
required: false
|
||||
source_ref: "dosbox_pure_libretro.cpp:1375,2760"
|
||||
notes: >
|
||||
Any .SF2 or .SF3 file in the system directory works. The core lists all
|
||||
found SoundFonts in the MIDI config dropdown. DOSBOX.SF2 is the conventional
|
||||
name and is also auto-detected when placed inside game content on C: drive.
|
||||
94
emulators/galaksija.yml
Normal file
94
emulators/galaksija.yml
Normal file
@@ -0,0 +1,94 @@
|
||||
emulator: galaksija
|
||||
type: libretro
|
||||
source: "https://github.com/libretro/galaxy-libretro"
|
||||
cores:
|
||||
- galaksija
|
||||
systems:
|
||||
- galaksija
|
||||
|
||||
# Galaksija is a Yugoslav home computer (1983, designed by Voja Antonic) emulator.
|
||||
# Z80-based at 3.072 MHz, PAL 50fps, character-mode display (32x16 chars, 256x208 px).
|
||||
#
|
||||
# The core embeds all three firmware files compressed in rom.c (LoadCHRGENBIN,
|
||||
# LoadROM1BIN, LoadROM2BIN). External files are optional overrides -- if ANY of
|
||||
# CHRGEN.BIN or ROM1.BIN is missing from <system_dir>/galaksija/, the core sets
|
||||
# firmware_ignore=true and loads all ROMs from the embedded copies instead.
|
||||
#
|
||||
# Firmware loading (src/libretro.c:93-135):
|
||||
# 1. retro_init() checks for galaksija/CHRGEN.BIN and galaksija/ROM1.BIN
|
||||
# 2. If either is missing: firmware_ignore=true, load embedded compressed ROMs
|
||||
# 3. If both present: galaxy_init() reads files from disk (init.c:46-105)
|
||||
# 4. ROM2.BIN missing is a warning only, not fatal (init.c:84-85)
|
||||
# 5. GAL_PLUS.BIN: referenced in a TODO comment but not implemented yet
|
||||
#
|
||||
# Memory map:
|
||||
# 0x0000-0x0FFF: ROM1 (4096 bytes) - BASIC interpreter
|
||||
# 0x1000-0x1FFF: ROM2 (4096 bytes) - math extension (optional)
|
||||
# 0x2000-0x27FF: keyboard memory-mapped I/O
|
||||
# 0x2800-0x29FF: screen RAM (32x16 characters)
|
||||
# 0x2A00-0x3FFF: free RAM
|
||||
# chargen: 2048-byte character generator ROM (separate, not memory-mapped)
|
||||
#
|
||||
# The included firmware is public domain per README.
|
||||
|
||||
files:
|
||||
- name: "CHRGEN.BIN"
|
||||
path: "galaksija/CHRGEN.BIN"
|
||||
size: 2048
|
||||
required: false
|
||||
note: >
|
||||
Character generator ROM. Defines the 128-character bitmap font (8x13 pixels
|
||||
each). The core has this embedded compressed in rom.c and only loads the
|
||||
external file if all firmware files are present in the system directory.
|
||||
source_ref: "src/rom.h:5, src/libretro.c:95-99, src/external/galaksija-emulator/src/init.c:55-67"
|
||||
|
||||
- name: "ROM1.BIN"
|
||||
path: "galaksija/ROM1.BIN"
|
||||
size: 4096
|
||||
required: false
|
||||
note: >
|
||||
System ROM / BASIC interpreter. Mapped at 0x0000-0x0FFF. Contains the
|
||||
Galaksija BASIC language and boot routines. Embedded in rom.c as fallback.
|
||||
source_ref: "src/rom.h:8, src/libretro.c:101-105, src/external/galaksija-emulator/src/init.c:69-81"
|
||||
|
||||
- name: "ROM2.BIN"
|
||||
path: "galaksija/ROM2.BIN"
|
||||
size: 4096
|
||||
required: false
|
||||
note: >
|
||||
Math extension ROM. Mapped at 0x1000-0x1FFF. Adds floating-point math
|
||||
functions (SIN, COS, TG, SQR, LN, EXP, POW, etc). Optional even when
|
||||
loading from disk -- missing ROM2 only triggers a warning. Embedded in
|
||||
rom.c as fallback.
|
||||
source_ref: "src/rom.h:11, src/libretro.c:107-110, src/external/galaksija-emulator/src/init.c:83-92"
|
||||
|
||||
- name: "GAL_PLUS.BIN"
|
||||
path: "galaksija/GAL_PLUS.BIN"
|
||||
size: 4096
|
||||
required: false
|
||||
note: >
|
||||
Galaksija Plus extension ROM. Would map at 0xE000-0xEFFF. Referenced in a
|
||||
TODO comment in init.c but not yet implemented in the libretro core. The
|
||||
original standalone emulator loaded it optionally with a Serbian message
|
||||
on failure ("GAL_PLUS.BIN nije prisutan, idemo dalje bez njega!").
|
||||
source_ref: "src/external/galaksija-emulator/src/init.c:94-104"
|
||||
|
||||
notes:
|
||||
embedded_firmware: >
|
||||
All three ROMs (CHRGEN.BIN, ROM1.BIN, ROM2.BIN) are embedded as compressed
|
||||
blobs in src/rom.c using RLE compression. The core works out of the box
|
||||
without any external firmware files. External files only serve as overrides
|
||||
for users who want alternative ROM versions (e.g. different BASIC revisions
|
||||
or character sets).
|
||||
firmware_override_logic: >
|
||||
The override is all-or-nothing for CHRGEN.BIN and ROM1.BIN. If either file
|
||||
is missing from galaksija/, the core ignores all external firmware and uses
|
||||
embedded copies. ROM2.BIN is handled separately and can be absent even when
|
||||
loading from disk.
|
||||
license: >
|
||||
The emulator code and included firmware are public domain. External
|
||||
dependencies (libz80, libretro-common, tinyfiledialogs) have separate
|
||||
licenses (GPL2, MIT).
|
||||
no_bios_required_for_pack: >
|
||||
Since all firmware is embedded, this core does not need any BIOS files in
|
||||
platform packs. The files listed above are optional overrides only.
|
||||
68
emulators/gearsystem.yml
Normal file
68
emulators/gearsystem.yml
Normal file
@@ -0,0 +1,68 @@
|
||||
emulator: Gearsystem
|
||||
type: libretro
|
||||
source: "https://github.com/drhelius/Gearsystem"
|
||||
cores:
|
||||
- gearsystem
|
||||
systems:
|
||||
- sega-mastersystem
|
||||
- sega-gamegear
|
||||
- sega-sg1000
|
||||
|
||||
notes: |
|
||||
Gearsystem is a Sega Master System / Game Gear / SG-1000 emulator by
|
||||
Ignacio Sanchez (drhelius). No BIOS is required for normal operation.
|
||||
|
||||
The core supports optional boot ROMs for Master System and Game Gear,
|
||||
controlled by core options "gearsystem_bios_sms" and "gearsystem_bios_gg"
|
||||
(both disabled by default). Boot ROMs are loaded in load_bootroms()
|
||||
from the system directory with fixed filenames.
|
||||
|
||||
SG-1000 has no BIOS support. IsBootromEnabled() in Memory.cpp explicitly
|
||||
returns false when a SG-1000 cartridge is detected.
|
||||
|
||||
When enabled, the boot ROM executes as on original hardware, which may
|
||||
cause invalid ROMs to lock or fail to boot entirely.
|
||||
|
||||
Note: gearcoleco, geargrafx, and gearlynx are separate emulators by the
|
||||
same author covering ColecoVision, PC Engine, and Atari Lynx respectively.
|
||||
They are not part of Gearsystem.
|
||||
|
||||
files:
|
||||
# --- Master System boot ROM (optional, behind gearsystem_bios_sms) ---
|
||||
- name: "bios.sms"
|
||||
system: sega-mastersystem
|
||||
description: "Master System boot ROM"
|
||||
required: false
|
||||
source_ref: "platforms/libretro/libretro.cpp:414 (load_bootroms)"
|
||||
notes: "Loaded from system directory. Core option gearsystem_bios_sms must be set to Enabled. No size or hash validation performed by the core."
|
||||
|
||||
# --- Game Gear boot ROM (optional, behind gearsystem_bios_gg) ---
|
||||
- name: "bios.gg"
|
||||
system: sega-gamegear
|
||||
description: "Game Gear boot ROM"
|
||||
required: false
|
||||
source_ref: "platforms/libretro/libretro.cpp:415 (load_bootroms)"
|
||||
notes: "Loaded from system directory. Core option gearsystem_bios_gg must be set to Enabled. No size or hash validation performed by the core."
|
||||
|
||||
platform_details:
|
||||
mastersystem:
|
||||
bios_filename: "bios.sms"
|
||||
source_ref: "src/Memory.cpp:222-228"
|
||||
notes: |
|
||||
Boot ROM loaded via LoadBootromSMS() -> LoadBootroom(path, false).
|
||||
Raw binary read, stored in m_pBootromSMS. Bank count computed as
|
||||
Pow2Ceil(size / 0x4000). Memory mapping controlled by port 3E bit 3.
|
||||
|
||||
gamegear:
|
||||
bios_filename: "bios.gg"
|
||||
source_ref: "src/Memory.cpp:230-234"
|
||||
notes: |
|
||||
Boot ROM loaded via LoadBootromGG() -> LoadBootroom(path, true).
|
||||
Raw binary read, stored in m_pBootromGG. Same bank computation.
|
||||
Supports standard GG BIOS and Majesco 1KB variant.
|
||||
|
||||
sg1000:
|
||||
bios_filename: null
|
||||
notes: |
|
||||
No BIOS support. Memory.cpp:291 returns false from IsBootromEnabled()
|
||||
when IsSG1000() is true.
|
||||
81
emulators/mu.yml
Normal file
81
emulators/mu.yml
Normal file
@@ -0,0 +1,81 @@
|
||||
emulator: Mu
|
||||
type: libretro
|
||||
source: "https://github.com/libretro/Mu"
|
||||
systems: [palm-os]
|
||||
|
||||
notes: |
|
||||
Mu emulates Palm OS handhelds: Palm m500, Palm m515, and (if compiled
|
||||
with EMU_SUPPORT_PALM_OS5) the Tungsten T3.
|
||||
|
||||
A Palm OS ROM dump is required. The core selects the ROM filename based
|
||||
on the "OS Version" core option:
|
||||
Palm m500 / Palm OS 4.0 -> palmos40-en-m500.rom
|
||||
Palm m515 / Palm OS 4.1 -> palmos41-en-m515.rom (default)
|
||||
Tungsten T3 / Palm OS 5.2 -> palmos52-en-t3.rom
|
||||
Tungsten T3 / Palm OS 6.0 -> palmos60-en-t3.rom
|
||||
|
||||
ROM path construction: retro_load_game() joins
|
||||
RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY + "/" + osVersion + ".rom".
|
||||
|
||||
The bootloader (bootloader-dbvz.rom) is optional. It contains the
|
||||
MC68VZ328 UART bootloader and is only relevant for m500/m515 devices.
|
||||
For the Tungsten T3 it is ignored even if present.
|
||||
|
||||
The m500/m515 ROM is loaded into a 4 MB region (M5XX_ROM_SIZE),
|
||||
padded with 0x00 if smaller, and byte-swapped on little-endian hosts.
|
||||
The Tungsten T3 ROM maps into a 16 MB region (TUNGSTEN_T3_ROM_SIZE).
|
||||
|
||||
The core also supports no-game mode (supports_no_game = true). Without
|
||||
content, it boots the standard Palm OS desktop from the ROM.
|
||||
|
||||
files:
|
||||
# --- Palm m515 / Palm OS 4.1 (default device) ---
|
||||
- name: "palmos41-en-m515.rom"
|
||||
system: palm-os
|
||||
description: "Palm m515 ROM, Palm OS 4.1 English"
|
||||
required: true
|
||||
note: "Default ROM. Selected when core option is 'Palm m515/Palm OS 4.1'. Max 4 MB, byte-swapped on LE."
|
||||
source_ref: "libretroBuildSystem/libretro.c:173-176,744-763 (retro_load_game ROM loading)"
|
||||
|
||||
# --- Palm m500 / Palm OS 4.0 ---
|
||||
- name: "palmos40-en-m500.rom"
|
||||
system: palm-os
|
||||
description: "Palm m500 ROM, Palm OS 4.0 English"
|
||||
required: false
|
||||
note: "Selected when core option is 'Palm m500/Palm OS 4.0'. Max 4 MB."
|
||||
source_ref: "libretroBuildSystem/libretro.c:169-172"
|
||||
|
||||
# --- Tungsten T3 / Palm OS 5.2.1 (requires EMU_SUPPORT_PALM_OS5) ---
|
||||
- name: "palmos52-en-t3.rom"
|
||||
system: palm-os
|
||||
description: "Tungsten T3 ROM, Palm OS 5.2.1 English"
|
||||
required: false
|
||||
note: "Selected when core option is 'Tungsten T3/Palm OS 5.2.1'. Max 16 MB. Only available if core compiled with EMU_SUPPORT_PALM_OS5."
|
||||
source_ref: "libretroBuildSystem/libretro.c:178-181"
|
||||
|
||||
# --- Tungsten T3 / Palm OS 6.0 (requires EMU_SUPPORT_PALM_OS5) ---
|
||||
- name: "palmos60-en-t3.rom"
|
||||
system: palm-os
|
||||
description: "Tungsten T3 ROM, Palm OS 6.0 English"
|
||||
required: false
|
||||
note: "Selected when core option is 'Tungsten T3/Palm OS 6.0'. Max 16 MB. Only available if core compiled with EMU_SUPPORT_PALM_OS5."
|
||||
source_ref: "libretroBuildSystem/libretro.c:182-185"
|
||||
|
||||
# --- MC68VZ328 bootloader ---
|
||||
- name: "bootloader-dbvz.rom"
|
||||
system: palm-os
|
||||
description: "MC68VZ328 UART bootloader"
|
||||
required: false
|
||||
note: "Optional for m500/m515. Ignored for Tungsten T3. Loads from system directory."
|
||||
source_ref: "libretroBuildSystem/libretro.c:766-782"
|
||||
|
||||
platform_details:
|
||||
palm_m5xx:
|
||||
rom_size: 4194304 # 4 MB (M5XX_ROM_SIZE)
|
||||
cpu: "MC68VZ328"
|
||||
source_ref: "include/m5XXBus.h:23, src/emulator.c:191-212"
|
||||
|
||||
tungsten_t3:
|
||||
rom_size: 16777216 # 16 MB (TUNGSTEN_T3_ROM_SIZE)
|
||||
cpu: "PXA260 (ARM)"
|
||||
source_ref: "include/tungstenT3Bus.h:17, src/emulator.c:158-164"
|
||||
Reference in New Issue
Block a user