feat: add 10 emulator profiles (batch 2)

a5200, prosystem (Atari 7800), atari800 (400/800/XL/XE),
vice (C64/C128/VIC-20/Plus4/PET - 10 cores, all ROMs embedded),
neocd (Neo Geo CD, 12 BIOS variants), beetle_pce (PC Engine, 6 files),
beetle_pcfx (PC-FX), np2kai (PC-9801, 14 files + YM2608 samples),
quasi88 (PC-8801, 13 ROMs + 3 hidden fonts), opera (3DO, 10 BIOS + 3 kanji)

31 total profiles. Cross-reference: 572 undeclared, 148 in repo.
This commit is contained in:
Abdessamad Derraz
2026-03-17 19:15:42 +01:00
parent f6a44c9409
commit 639ff69d6c
10 changed files with 2018 additions and 0 deletions

47
emulators/a5200.yml Normal file
View File

@@ -0,0 +1,47 @@
emulator: a5200
type: libretro
source: "https://github.com/libretro/a5200"
cores:
- a5200
systems:
- atari-5200
# a5200 is a dedicated Atari 5200 emulator forked from Atari800/Atari++ codebase.
# It loads the official 5200 OS ROM from <system_dir>/5200.rom (2048 bytes, mapped
# to memory at 0xF800-0xFFFF via MEMORY_InitialiseMachine).
#
# If 5200.rom is missing or the user selects "internal" via core option "a5200_bios",
# the core falls back to Altirra 5200 OS, an open-source replacement compiled from
# Altirra-3.20-test4 (altirra_5200_os.c). The fallback has reduced compatibility
# compared to the original Atari OS ROM.
#
# BIOS loading (libretro.c:409-500):
# 1. check_bios_variable() reads core option "a5200_bios" (official/internal)
# 2. load_bios() attempts to read <system_dir>/5200.rom (0x800 bytes)
# 3. On failure or "internal" selected: memcpy from ROM_altirra_5200_os fallback
#
# Cartridge detection (atari.c:169-236):
# Auto-detects cart type from header bytes and size. ROM database in cartridge.c
# maps MD5 hashes to cart types (standard 8K/16K/32K/40K, bounty bob, super cart).
files:
- name: "5200.rom"
path: "5200.rom"
size: 2048
required: false
note: >
Atari 5200 OS ROM. Provides the built-in OS routines used by all 5200
cartridges. Without it, the core uses the Altirra open-source replacement
which has lower compatibility with some games. Core option "a5200_bios"
controls whether to use this file or the internal fallback.
source_ref: "libretro/libretro.c:58-59, libretro/libretro.c:409-500, emu/memory.c:46"
notes:
altirra_fallback: >
The built-in Altirra 5200 OS (from altirra_5200_os.c, 0x800 bytes) is a free
replacement that works for most games but some titles require the original ROM
for full compatibility. The core displays a notification when falling back.
cart_db: >
cartridge.c contains an MD5-based ROM database for automatic cart type detection
(standard, EE banked, bounty bob, super cart variants). Unknown ROMs are detected
by size heuristic.

178
emulators/atari800.yml Normal file
View File

@@ -0,0 +1,178 @@
emulator: Atari800
type: libretro
source: "https://github.com/libretro/libretro-atari800"
systems: [atari-400, atari-800, atari-800xl, atari-130xe, atari-5200, atari-xegs]
# Atari800 emulates the Atari 8-bit family (400/800/XL/XE) and the 5200 console.
# All BIOS files are optional -- the core ships built-in Altirra OS replacements
# (altirraos_800, altirraos_xl, altirra_5200_os, altirra_basic) compiled into the
# binary. If real ROM files are found in the system directory they take priority.
#
# ROM discovery (sysrom.c SYSROM_FindInDir):
# 1. Scan system directory for files of valid size (0x800, 0x2000, 0x2800, 0x4000)
# 2. Match by CRC32 against known ROM revisions
# 3. If no CRC match, try case-insensitive filename match (MatchByName)
# 4. Results stored in .atari800.cfg (generated on first run)
#
# The core generates .atari800.cfg in the frontend home directory on first boot.
# Core option "atari800_system" selects the emulated machine type:
# 400/800, 800XL (64KB), 130XE (128KB), Modern XL/XE(320KB), Modern XL/XE(576KB),
# Modern XL/XE(1088KB), 5200
files:
# -- Atari 5200 BIOS --
# Original 5200 OS ($F800-$FFFF, 2 KB). Matched by CRC32: 0x4248d3e3 (orig)
# or 0xc2ba2613 (rev A). Altirra 5200 OS used as fallback.
# Filename match (case-insensitive): atari5200.rom, atar5200.rom, 5200.rom,
# 5200.bin, atari_5200.rom
- name: "5200.rom"
path: "5200.rom"
required: false
size: 2048
md5: 281f20ea4320404ec820fb7ec0693b38
note: >
Atari 5200 BIOS (original). Mapped at $F800-$FFFF.
Altirra 5200 OS is used when this file is absent.
source_ref: "atari800/src/sysrom.c:101, libretro info firmware0"
# -- Atari BASIC ROM --
# Atari BASIC interpreter (8 KB). Three known revisions:
# Rev A: CRC32 0x4bec4de2, Rev B: CRC32 0xf0202fb3, Rev C: CRC32 0x7d684184
# Auto-select prefers Rev C > B > A > custom > Altirra BASIC.
# Filename match: ataribasic.rom, ataribas.rom, basic.rom, atari_basic.rom
# Core option "atari800_opt2" enables BASIC (needed for some 400/800 software).
- name: "ATARIBAS.ROM"
path: "ATARIBAS.ROM"
required: false
size: 8192
md5: 0bac0c6a50104045d902df4503a4c30b
note: >
Atari BASIC Rev C. Required for 400/800 software that needs BASIC.
Altirra BASIC is used as fallback. Enable via core option atari800_opt2.
source_ref: "atari800/src/sysrom.c:103-105, libretro info firmware1"
# -- Atari 400/800 OS A --
# Original Atari 400/800 OS (10 KB). Two known CRC32 values:
# NTSC: 0xc1b3bb02, PAL: 0x72b3fed4
# Filename match: atariosa.rom, atari_osa.rom, atari_os_a.rom
- name: "ATARIOSA.ROM"
path: "ATARIOSA.ROM"
required: false
size: 10240
md5: eb1f32f5d9f382db1bbfb8d7f9cb343a
note: >
Atari 400/800 OS Rev A. Altirra OS 800 is used as fallback.
Auto-select order: OS B NTSC, OS A NTSC, OS A PAL, custom, Altirra.
source_ref: "atari800/src/sysrom.c:87-89, libretro info firmware2"
# -- Atari 400/800 OS B --
# OS revision B (10 KB), NTSC: CRC32 0x0e86d61d
# Filename match: atariosb.rom, atari_osb.rom, atari_os_b.rom
- name: "ATARIOSB.ROM"
path: "ATARIOSB.ROM"
required: false
size: 10240
md5: 4177f386a3bac989a981d3fe3388cb6c
note: >
Atari 400/800 OS Rev B (NTSC). Preferred over Rev A for 400/800 mode.
source_ref: "atari800/src/sysrom.c:89, libretro info firmware3"
# -- Atari XL/XE OS --
# XL/XE OS (16 KB). Many revisions known by CRC32 in sysrom.c:
# BB01R2 (800XL stock): 0x1f9cd270
# CC01R4: 0x0e000b99
# BB01R4: 0x1eaf4002
# Auto-select prefers BB01R2 for 800XL, BB01R3 for XE, BB01R4 for XEGS.
# Filename match: atarixlxe.rom, atarixl.rom, atari_xlxe.rom, atari_xl_xe.rom
- name: "ATARIXL.ROM"
path: "ATARIXL.ROM"
required: false
size: 16384
md5: 06daac977823773a3eea3422fd26a703
note: >
Atari XL/XE OS. Used for 800XL, 130XE, and XEGS modes.
Altirra XL OS is used as fallback.
source_ref: "atari800/src/sysrom.c:90-99, libretro info firmware4"
# -- Atari XL/XE/XEGS OS v4 (BB01R4) --
# XEGS-specific OS revision BB01R4 (16 KB), CRC32: 0x1eaf4002
# Preferred for XEGS machine mode. Same filename matching as ATARIXL above.
- name: "BB01R4_OS.ROM"
path: "BB01R4_OS.ROM"
required: false
size: 16384
md5: b7a2a04677d34f069eeb643d5238bf86
note: >
Atari XEGS OS Rev 4 (BB01R4). Preferred OS for XEGS machine mode.
source_ref: "atari800/src/sysrom.c:98, libretro info firmware5"
# -- XEGS Missile Command built-in game --
# The XEGS had Missile Command in ROM (8 KB), CRC32: 0xbdca01fb
# No filename auto-match -- must be set via config or detected by CRC.
- name: "XEGAME.ROM"
path: "XEGAME.ROM"
required: false
size: 8192
md5: d7eb37aec6960cba36bc500e0e5d00bc
note: >
XEGS built-in Missile Command ROM. Only used in XEGS machine mode.
No built-in replacement exists for this ROM.
source_ref: "atari800/src/sysrom.c:106, libretro info firmware6"
# Known ROM revisions from sysrom.c (CRC32 identifiers):
#
# 400/800 OS:
# SYSROM_A_NTSC 0xc1b3bb02 10 KB OS Rev A (NTSC)
# SYSROM_A_PAL 0x72b3fed4 10 KB OS Rev A (PAL)
# SYSROM_B_NTSC 0x0e86d61d 10 KB OS Rev B (NTSC)
#
# XL/XE OS (all 16 KB):
# SYSROM_AA00R10 0xc5c11546 1200XL first rev
# SYSROM_AA01R11 0x1a1d7b1b 1200XL second rev
# SYSROM_BB00R1 0x643bcc98 600XL stock
# SYSROM_BB01R2 0x1f9cd270 800XL stock
# SYSROM_BB02R3 0x0d477aa1 XL/XE rev 3a
# SYSROM_BB02R3V4 0xd425a9cf XL/XE rev 3b
# SYSROM_CC01R4 0x0e000b99 XL/XE rev 5
# SYSROM_BB01R3 0x29f133f7 XE stock
# SYSROM_BB01R4 0x1eaf4002 XEGS stock
# SYSROM_BB01R59 0x45f47988 XL/XE rev 59
# SYSROM_BB01R59A 0xf0a236d3 XL/XE rev 59a
#
# 5200 OS (2 KB):
# SYSROM_5200 0x4248d3e3 Original
# SYSROM_5200A 0xc2ba2613 Rev A
#
# BASIC (8 KB):
# SYSROM_BASIC_A 0x4bec4de2 Rev A
# SYSROM_BASIC_B 0xf0202fb3 Rev B
# SYSROM_BASIC_C 0x7d684184 Rev C
#
# XEGAME (8 KB):
# SYSROM_XEGAME 0xbdca01fb Missile Command
#
# Built-in Altirra replacements (no file needed):
# altirraos_800 10 KB 400/800 OS replacement
# altirraos_xl 16 KB XL/XE OS replacement
# altirra_5200_os 2 KB 5200 OS replacement
# altirra_basic 8 KB BASIC replacement
notes:
altirra_note: >
The Altirra OS/BASIC replacements are open-source alternatives compiled
directly into the core binary (roms/ directory in source). They provide
good compatibility for most software but real ROMs give better accuracy.
cfg_note: >
On first boot the core creates .atari800.cfg in the frontend home directory.
It scans the system directory for ROM files by CRC32 first, then by filename.
The core option atari800_opt1 controls whether this legacy config is loaded.
machine_selection: >
Core option atari800_system selects the emulated machine. Each machine type
has its own preferred OS ROM auto-select order defined in sysrom.c.

88
emulators/beetle_pce.yml Normal file
View File

@@ -0,0 +1,88 @@
emulator: Beetle PCE (Mednafen PCE)
type: libretro
source: "https://github.com/libretro/beetle-pce-libretro"
cores: [mednafen_pce, mednafen_pce_fast, mednafen_supergrafx]
systems: [nec-pc-engine]
verification: existence
notes: >
BIOS loaded from system directory at CD-ROM load time via PCE_LoadCD().
Core option "pce_cdbios" selects which card image to use (default: System Card 3).
DetectGECD() auto-detects Games Express discs and switches to "pce.gecdbios" (gexpress.pce).
Arcade Card mode (pce_arcadecard option, enabled by default) extends System Card 3 with
extra RAM mapping via SYSCARD_ARCADE enum.
No hash validation on BIOS load: the core opens the file and reads it directly.
gexpress.pce and gecard.pce are the same ROM (Games Express CD Card); the core expects
gexpress.pce, libretro System.dat references gecard.pce. Both names should be provided.
SuperGrafx CD detection (DetectSGXCD) reads sector data to decide SGX mode but uses the
same BIOS files.
files:
# -- CD-ROM System Card 3 (Japan) - default --
- name: "syscard3.pce"
description: "CD-ROM System Card 3.0 (Japan)"
region: "NTSC-J"
required: true
sha1: "79f5ff55dd10187c7fd7b8daab0b3ffbd1f56a2c"
md5: "38179df8f4ac870017db21ebcbf53114"
source_ref: "libretro.cpp:1051-1052, settings.cpp:40"
notes: "Default value for pce_cdbios option. Most CD games run with this."
# -- CD-ROM System Card 3 (US) --
- name: "syscard3u.pce"
description: "CD-ROM System Card 3.0 (US / TurboGrafx-CD)"
region: "NTSC-U"
required: false
sha1: "d02611d99921986147c753df14c7349b31d71950"
md5: "0754f903b52e3b3342202bdafb13efa5"
source_ref: "libretro.cpp:1059-1060"
notes: "pce_cdbios = 'System Card 3 US'"
# -- CD-ROM System Card 2 (Japan) --
- name: "syscard2.pce"
description: "CD-ROM System Card 2.0 (Japan)"
region: "NTSC-J"
required: false
sha1: "88da02e2503f7c32810f5d93a34849d470742b6d"
md5: "3cdd6614a918616bfc41c862e889dd79"
source_ref: "libretro.cpp:1053-1054"
notes: "pce_cdbios = 'System Card 2'. Older games only."
# -- CD-ROM System Card 2 (US) --
- name: "syscard2u.pce"
description: "CD-ROM System Card 2.0 (US / TurboGrafx-CD)"
region: "NTSC-U"
required: false
sha1: "2bea3dac98f84b2f2f469fa77ea720b8770d598d"
md5: "94279f315e8b52904f65ab3108542afe"
source_ref: "libretro.cpp:1061-1062"
notes: "pce_cdbios = 'System Card 2 US'"
# -- CD-ROM System Card 1 (Japan) --
- name: "syscard1.pce"
description: "CD-ROM System Card 1.0 (Japan)"
region: "NTSC-J"
required: false
sha1: "a39a66da7de6ba94ab84d04eef7afeec7d4ee66a"
md5: "2b7ccb3d86baa18f6402c176f3065082"
source_ref: "libretro.cpp:1055-1056"
notes: "pce_cdbios = 'System Card 1'. Very early CD-ROM2 games."
# -- Games Express CD Card --
- name: "gexpress.pce"
description: "Games Express CD Card"
region: "NTSC-J"
required: false
sha1: "014881a959e045e00f4db8f52955200865d40280"
md5: "6d2cb14fc3e1f65ceb135633d1694122"
source_ref: "libretro.cpp:1057-1058, settings.cpp:41"
alt_names: ["gecard.pce"]
notes: >
pce_cdbios = 'Games Express' or auto-detected via DetectGECD() in pce.cpp:374.
Same ROM as gecard.pce (System.dat name). Core expects gexpress.pce filename.
Required for unlicensed Games Express titles (AV Tanjou, Bishoujo Jyanshi, etc).

49
emulators/beetle_pcfx.yml Normal file
View File

@@ -0,0 +1,49 @@
emulator: Beetle PC-FX (Mednafen)
type: libretro
cores: [mednafen_pcfx]
source: "https://github.com/libretro/beetle-pcfx-libretro"
systems:
- nec-pcfx
notes: |
Beetle PC-FX is the libretro port of Mednafen's NEC PC-FX emulation module.
The core requires a single BIOS file: pcfx.rom (1 MB). The setting
"pcfx.bios" resolves to the filename "pcfx.rom" via MDFN_GetSettingS()
in mednafen/settings.c:92-93. The file is loaded from the libretro
system directory in LoadCommon() (libretro.cpp:367-394).
The BIOS is mapped at address 0xFFF00000 and must be exactly 1048576 bytes
(1024 * 1024). LoadCommon() returns false if the file is missing or the
wrong size, so the core will not start without it.
No other firmware files (fx-scsi.rom, pcfxga.rom, pcfxv101.bin) are
referenced by this core. Those exist for other PC-FX emulators or
alternate BIOS versions but are unused here.
BIOS loading: libretro.cpp LoadCommon() lines 364-397.
Setting resolution: mednafen/settings.c MDFN_GetSettingS() lines 90-94.
BIOS memory: static uint8 *BIOSROM, mapped at 0xFFF00000 (1 MB region).
files:
# -------------------------------------------------------
# PC-FX BIOS
# -------------------------------------------------------
- name: "pcfx.rom"
system: nec-pcfx
required: true
size: 1048576 # 1 MB (1024 * 1024)
md5: "08e36edbea28a017f79f8d4f7ff9b6d7"
sha1: "1a77fd83e337f906aecab27a1604db064cf10074"
note: "PC-FX BIOS v1.00. Only BIOS file used by this core."
source_ref: "libretro.cpp:367, mednafen/settings.c:92-93"
platform_details:
pcfx:
bios_size: 1048576 # 1 MB
ram_size: 2097152 # 2 MB
bios_address: "0xFFF00000-0xFFFFFFFF"
ram_address: "0x00000000-0x001FFFFF"
cpu: "NEC V810"
cpu_modes: [accurate, fast]
hle_available: false
source_ref: "libretro.cpp:103-104, 379-387"

141
emulators/neocd.yml Normal file
View File

@@ -0,0 +1,141 @@
emulator: NeoCD
type: libretro
source: "https://github.com/libretro/neocd_libretro"
systems:
- snk-neogeo-cd
notes: |
NeoCD is a dedicated SNK Neo Geo CD emulator. It supports Front Loader,
Top Loader, and CDZ hardware variants. BIOS files go in {system_dir}/neocd/
subdirectory (src/path.cpp:7, src/libretro_bios.cpp:76-81).
The core scans the neocd/ directory for any .rom or .bin file (also inside
.zip archives), reads the first 512 bytes, and identifies the BIOS type by
binary pattern matching at fixed ROM addresses (src/bios.cpp:168-208).
Filenames listed in the .info are conventional but not enforced by the core.
Three hardware families are detected: Front Loader (NeoCD), Top Loader
(NeoCD), and CDZ. Modified BIOS variants are also recognized: SMKDan 0.07,
SMKDan 0.07b, Universe BIOS 3.2, and Universe BIOS 3.3. The core applies
speed hack patches and CD recognition patches at load time for each type
(src/bios.cpp:209-280).
The Y-ZOOM ROM (ng-lo.rom / 000-lo.lo) is a sprite zoom lookup table loaded
separately (src/memory.h:22, YZOOMROM_SIZE = 0x10000 = 65536 bytes). It is
optional but improves sprite scaling accuracy.
All firmware entries are marked optional in the .info (any single valid BIOS
is sufficient). The core presents detected BIOSes as a dropdown in the core
options menu, sorted alphabetically by description.
BIOS ROM size: 524288 bytes (0x80000, src/memory.h:16).
Y-ZOOM ROM size: 65536 bytes (0x10000, src/memory.h:22).
files:
# Front Loader BIOS (NeoCD original front-loading unit)
- name: neocd_f.rom
dest: neocd/neocd_f.rom
system: snk-neogeo-cd
required: false
size: 524288
note: "Front Loader BIOS, official NeoCD format"
source_ref: "retroarch/libneocd_libretro.info:15 (firmware0)"
# Front Loader BIOS, SMKDan custom
- name: neocd_sf.rom
dest: neocd/neocd_sf.rom
system: snk-neogeo-cd
required: false
size: 524288
note: "Front Loader BIOS, SMKDan custom"
source_ref: "retroarch/libneocd_libretro.info:18 (firmware1)"
# Top Loader BIOS (NeoCD top-loading unit)
- name: neocd_t.rom
dest: neocd/neocd_t.rom
system: snk-neogeo-cd
required: false
size: 524288
note: "Top Loader BIOS, official NeoCD format"
source_ref: "retroarch/libneocd_libretro.info:21 (firmware2)"
# Top Loader BIOS, SMKDan custom
- name: neocd_st.rom
dest: neocd/neocd_st.rom
system: snk-neogeo-cd
required: false
size: 524288
note: "Top Loader BIOS, SMKDan custom"
source_ref: "retroarch/libneocd_libretro.info:24 (firmware3)"
# CDZ BIOS (Neo Geo CDZ, last revision)
- name: neocd_z.rom
dest: neocd/neocd_z.rom
system: snk-neogeo-cd
required: false
size: 524288
note: "CDZ BIOS, official NeoCD format"
source_ref: "retroarch/libneocd_libretro.info:27 (firmware4)"
# CDZ BIOS, SMKDan custom
- name: neocd_sz.rom
dest: neocd/neocd_sz.rom
system: snk-neogeo-cd
required: false
size: 524288
note: "CDZ BIOS, SMKDan custom"
source_ref: "retroarch/libneocd_libretro.info:30 (firmware5)"
# Y-ZOOM ROM (sprite zoom lookup table)
- name: ng-lo.rom
dest: neocd/ng-lo.rom
system: snk-neogeo-cd
required: false
size: 65536
note: "Y-ZOOM ROM, NeoCD format"
source_ref: "retroarch/libneocd_libretro.info:33 (firmware6)"
# Y-ZOOM ROM, MAME naming
- name: 000-lo.lo
dest: neocd/000-lo.lo
system: snk-neogeo-cd
required: false
size: 65536
note: "Y-ZOOM ROM, MAME naming (same content as ng-lo.rom)"
source_ref: "retroarch/libneocd_libretro.info:36 (firmware7)"
# Front Loader BIOS, MAME naming
- name: front-sp1.bin
dest: neocd/front-sp1.bin
system: snk-neogeo-cd
required: false
size: 524288
note: "Front Loader BIOS, MAME naming (same content as neocd_f.rom)"
source_ref: "retroarch/libneocd_libretro.info:39 (firmware8)"
# Top Loader BIOS, MAME naming
- name: top-sp1.bin
dest: neocd/top-sp1.bin
system: snk-neogeo-cd
required: false
size: 524288
note: "Top Loader BIOS, MAME naming (same content as neocd_t.rom)"
source_ref: "retroarch/libneocd_libretro.info:42 (firmware9)"
# CDZ BIOS, MAME naming
- name: neocd.bin
dest: neocd/neocd.bin
system: snk-neogeo-cd
required: false
size: 524288
note: "CDZ BIOS, MAME naming (same content as neocd_z.rom)"
source_ref: "retroarch/libneocd_libretro.info:45 (firmware10)"
# Universe BIOS for CD systems
- name: uni-bioscd.rom
dest: neocd/uni-bioscd.rom
system: snk-neogeo-cd
required: false
size: 524288
note: "Universe BIOS CD, third-party multi-region BIOS (hack)"
source_ref: "retroarch/libneocd_libretro.info:48 (firmware11)"

162
emulators/np2kai.yml Normal file
View File

@@ -0,0 +1,162 @@
emulator: NP2kai
type: libretro
source: "https://github.com/libretro/NP2kai"
systems: [pc-98]
# NP2kai is a PC-9801/9821 emulator (Neko Project II kai).
# All BIOS/font/sound files are loaded from <system>/np2kai/ subdirectory.
# The core sets np2cfg.biospath to "<system>/np2kai/" in retro_load_game()
# (sdl/libretro/libretro.c:1800-1815). All getbiospath() calls resolve
# relative to that directory.
#
# The core has a built-in BIOS simulator (BIOS_SIMULATE) that can boot
# without a real BIOS ROM, but a real bios.rom provides better compatibility.
# Font data is auto-generated from built-in tables if font.bmp is missing,
# but Japanese kanji display requires the real font file.
#
# The fmgen YM2608 rhythm engine (fmgen_opna.cpp:1413-1443) loads WAV files
# with uppercase extension (.WAV) but the built-in rhythm engine (rhythmc.c)
# uses lowercase (.wav). Both paths resolve from np2kai/.
# The fmgen engine also accepts "2608_RYM.WAV" as fallback for the rim sample.
files:
# -- Main BIOS ROM --
# Loaded in bios/bios.c:430-440. 96 KB (0x18000) mapped at 0xe8000.
# Without this, the built-in BIOS simulator is used (less compatible).
- name: "bios.rom"
path: "np2kai/bios.rom"
required: false
note: >
PC-9801 system BIOS ROM (96 KB). Provides full hardware compatibility.
The core can boot without it using the built-in BIOS simulator, but
some software may not work correctly. Loaded at address 0xe8000.
source_ref: "bios/bios.c:430-440, common/strres.c:60"
# -- ITF ROM --
# Initial Test Firmware, loaded at ITF_ADRS (0xf8000), 32 KB.
# Only loaded when BIOS_SIMULATE is not defined (bios/bios.c:569-574).
# In the libretro build, BIOS_SIMULATE is typically enabled, so this is
# only needed for non-simulated builds.
- name: "itf.rom"
path: "np2kai/itf.rom"
required: false
note: >
Initial Test Firmware ROM (32 KB). Used for hardware initialization
and memory check at boot. Only loaded when the built-in ITF simulator
is disabled. Most libretro builds include the simulator.
source_ref: "bios/bios.c:569-574"
# -- Font file --
# Set explicitly in libretro.c:1813 as "<system>/np2kai/font.bmp".
# The core also supports FONT.ROM / font.rom (V98 format) via font_load().
# Without any font file, built-in 8x8 bitmap data is used but kanji
# characters will not display correctly.
- name: "font.bmp"
path: "np2kai/font.bmp"
required: false
note: >
PC-98 font bitmap (288 KB). Required for correct Japanese kanji display.
The core also accepts FONT.ROM (V98 format). Without this file,
only basic ASCII characters render correctly using built-in data.
source_ref: "sdl/libretro/libretro.c:1813, font/fontdata.c:11-14"
# -- Sound BIOS ROM --
# Loaded by soundrom_load() as "sound.rom" (soundrom.c:15-16, 28-32).
# The filename is composed as "sound" + optional board name + ".rom".
# 16 KB ROM for the FM sound board.
- name: "sound.rom"
path: "np2kai/sound.rom"
required: false
note: >
FM sound board BIOS ROM (16 KB). Used by the PC-9801-26K/86/118
sound boards. The core falls back to a minimal built-in default
(9-byte stub) if this file is missing.
source_ref: "sound/soundrom.c:15-16,21-55,93-106"
# -- YM2608 OPNA rhythm samples --
# Loaded by both the built-in rhythm engine (rhythmc.c:60-71) and the
# fmgen engine (fmgen_opna.cpp:1413-1443). Required for YM2608 OPNA
# rhythm sound channel (bass drum, snare, etc).
# The fmgen engine tries uppercase .WAV, the built-in engine uses .wav.
# Place lowercase versions - the filesystem handles case on most platforms.
- name: "2608_bd.wav"
path: "np2kai/2608_bd.wav"
required: false
note: "YM2608 OPNA rhythm sample: bass drum"
source_ref: "sound/rhythmc.c:11, sound/fmgen/fmgen_opna.cpp:1431-1433"
- name: "2608_sd.wav"
path: "np2kai/2608_sd.wav"
required: false
note: "YM2608 OPNA rhythm sample: snare drum"
source_ref: "sound/rhythmc.c:12"
- name: "2608_top.wav"
path: "np2kai/2608_top.wav"
required: false
note: "YM2608 OPNA rhythm sample: top cymbal"
source_ref: "sound/rhythmc.c:13"
- name: "2608_hh.wav"
path: "np2kai/2608_hh.wav"
required: false
note: "YM2608 OPNA rhythm sample: hi-hat"
source_ref: "sound/rhythmc.c:14"
- name: "2608_tom.wav"
path: "np2kai/2608_tom.wav"
required: false
note: "YM2608 OPNA rhythm sample: tom"
source_ref: "sound/rhythmc.c:15"
- name: "2608_rim.wav"
path: "np2kai/2608_rim.wav"
required: false
note: "YM2608 OPNA rhythm sample: rim shot"
source_ref: "sound/rhythmc.c:16"
# -- IDE BIOS ROM --
# Loaded by ideio.c:1913-1931. Tried in order: ide.rom, d8000.rom,
# bank3.bin, bios9821.rom. Only loaded when IDE BIOS is enabled in
# core options (np2cfg.idebios) and a real BIOS ROM is also present.
- name: "ide.rom"
path: "np2kai/ide.rom"
required: false
note: >
IDE controller BIOS ROM (8 KB). Required for real IDE BIOS emulation
(HDD boot from IDE). The core also checks d8000.rom, bank3.bin,
and bios9821.rom as fallback filenames. Without this, a simulated
IDE BIOS is used.
source_ref: "cbus/ideio.c:1913-1931"
# -- SCSI BIOS ROM --
# Loaded by scsiio.c:219-231. Falls back to built-in scsibios[] stub.
- name: "scsi.rom"
path: "np2kai/scsi.rom"
required: false
note: >
SCSI controller BIOS ROM (16 KB). For PC-98 SCSI HDD support.
The core includes a built-in SCSI BIOS stub as fallback.
source_ref: "cbus/scsiio.c:219-231"
# -- PCI BIOS ROM --
# Loaded by pcidev.c:364-382. Tries pci.rom then bank0.bin.
# Falls back to built-in PCI BIOS simulation.
- name: "pci.rom"
path: "np2kai/pci.rom"
required: false
note: >
PCI BIOS ROM (32 KB). For PC-9821 PCI bus emulation.
The core also checks bank0.bin as fallback. Without this,
the built-in PCI BIOS simulator is used.
source_ref: "io/pcidev.c:360-382"
# -- GPIB BIOS ROM --
# Loaded by gpibio.c:327-356.
- name: "gpib.rom"
path: "np2kai/gpib.rom"
required: false
note: >
GP-IB interface BIOS ROM. Rarely needed, only for GP-IB peripheral
emulation.
source_ref: "cbus/gpibio.c:327-356"

209
emulators/opera.yml Normal file
View File

@@ -0,0 +1,209 @@
emulator: Opera (4DO)
type: libretro
core: opera_libretro
source: "https://github.com/libretro/opera-libretro"
systems:
- 3do
notes: |
Opera is the libretro port of the 4DO/FreeDO 3DO Interactive Multiplayer emulator.
The core requires exactly one system BIOS ROM (rom1) selected via the opera_bios
core option. BIOS files are loaded from the system directory with
read_file_from_system_directory() and byteswapped on little-endian hosts.
The core will not start without a valid BIOS ROM.
The user selects which BIOS to use from the core option dropdown, which only
lists BIOS files physically present in the system directory. Any single BIOS
from the list below is sufficient to run games from its region.
Kanji font ROMs (rom2) are optional and only needed for Japanese text rendering.
They are loaded via opera_lr_opts_set_font() and selected via opera_font core option.
All BIOS files are exactly 1 MB (1048576 bytes) except 3do_arcade_saot.bin (512 KB)
and panafz1-kanji.bin (933636 bytes).
BIOS definitions: libopera/opera_bios.c BIOSES[] lines 3-136.
BIOS loading: opera_lr_opts.c opera_lr_opts_set_bios() lines 239-270.
Font loading: opera_lr_opts.c opera_lr_opts_set_font() lines 272-320.
Core option: libretro_core_options.c opera_bios / opera_font.
files:
# -------------------------------------------------------
# Panasonic FZ-1 (US) - original 3DO launch model
# -------------------------------------------------------
- name: "panafz1.bin"
system: 3do
region: [north-america]
required: true
size: 1048576 # 1 MB
md5: "f47264dd47fe30f73ab3c010015c155b"
sha1: "34bf189111295f74d7b7dfc1f304d98b8d36325a"
note: "Panasonic FZ-1 (U). Version unknown, dated 1993-08-03."
source_ref: "libopera/opera_bios.c:6-17"
# -------------------------------------------------------
# Panasonic FZ-1 (Japan)
# -------------------------------------------------------
- name: "panafz1j.bin"
system: 3do
region: [japan]
required: true
size: 1048576 # 1 MB
md5: "a496cfdded3da562759be3561317b605"
sha1: "ec7ec62d60ec0459a14ed56ebc66761ef3c80efc"
note: "Panasonic FZ-1 (J). Version 1.54, dated 1994-01-22."
source_ref: "libopera/opera_bios.c:19-30"
# -------------------------------------------------------
# Panasonic FZ-1 (Japan) [No RSA]
# -------------------------------------------------------
- name: "panafz1j-norsa.bin"
system: 3do
region: [japan]
required: false
size: 1048576 # 1 MB
md5: "f6c71de7470d16abe4f71b1444883dc8"
sha1: "a417587ae3b0b8ef00c830920c21af8bee88e419"
note: "Panasonic FZ-1 (J) with RSA check removed. Version 1.54."
source_ref: "libopera/opera_bios.c:32-43"
# -------------------------------------------------------
# Panasonic FZ-10 (US) - slim redesign
# -------------------------------------------------------
- name: "panafz10.bin"
system: 3do
region: [north-america]
required: true
size: 1048576 # 1 MB
md5: "51f2f43ae2f3508a14d9f56597e2d3ce"
sha1: "3c912300775d1ad730dc35757e279c274c0acaad"
note: "Panasonic FZ-10 (U). Version 1.59.1.1, dated 1994-08-25."
source_ref: "libopera/opera_bios.c:45-56"
# -------------------------------------------------------
# Panasonic FZ-10 (US) [No RSA]
# -------------------------------------------------------
- name: "panafz10-norsa.bin"
system: 3do
region: [north-america]
required: false
size: 1048576 # 1 MB
md5: "1477bda80dc33731a65468c1f5bcbee9"
sha1: "f05e642322c03694f06a809c0b90fc27ac73c002"
note: "Panasonic FZ-10 (U) with RSA check removed. Version 1.59.1.1."
source_ref: "libopera/opera_bios.c:58-69"
# -------------------------------------------------------
# Panasonic FZ-10 (Europe) ANVIL
# -------------------------------------------------------
- name: "panafz10e-anvil.bin"
system: 3do
region: [europe]
required: true
size: 1048576 # 1 MB
md5: "a48e6746bd7edec0f40cff078f0bb19f"
sha1: "a900371f0cdcdc03f79557f11d406fd71251a5fd"
note: "Panasonic FZ-10 (E) ANVIL. Version 1.66.1.1, dated 1994-09-22."
source_ref: "libopera/opera_bios.c:71-82"
# -------------------------------------------------------
# Panasonic FZ-10 (Europe) ANVIL [No RSA]
# -------------------------------------------------------
- name: "panafz10e-anvil-norsa.bin"
system: 3do
region: [europe]
required: false
size: 1048576 # 1 MB
md5: "cf11bbb5a16d7af9875cca9de9a15e09"
sha1: "2765c7b4557cc838b32567d2428d088980295159"
note: "Panasonic FZ-10 (E) ANVIL with RSA check removed. Version 1.66.1.1."
source_ref: "libopera/opera_bios.c:84-95"
# -------------------------------------------------------
# Goldstar GDO-101M (US)
# -------------------------------------------------------
- name: "goldstar.bin"
system: 3do
region: [north-america]
required: true
size: 1048576 # 1 MB
md5: "8639fd5e549bd6238cfee79e3e749114"
sha1: "c4a2e5336f77fb5f743de1eea2cda43675ee2de7"
note: "Goldstar GDO-101M. Version 1.59, dated 1994-05-10."
source_ref: "libopera/opera_bios.c:97-108"
# -------------------------------------------------------
# Sanyo Try IMP-21J (Japan)
# -------------------------------------------------------
- name: "sanyotry.bin"
system: 3do
region: [japan]
required: true
size: 1048576 # 1 MB
md5: "35fa1a1ebaaeea286dc5cd15487c13ea"
sha1: "b01c53da256dde43ffec4ad3fc3adfa8d635e943"
note: "Sanyo Try IMP-21J. Version 1.59, dated 1994-05-10."
source_ref: "libopera/opera_bios.c:110-121"
# -------------------------------------------------------
# 3DO Arcade - SAOT
# -------------------------------------------------------
- name: "3do_arcade_saot.bin"
system: 3do
region: [north-america]
required: false
size: 524288 # 512 KB
md5: "8970fc987ab89a7f64da9f8a8c4333ff"
sha1: "520d3d1b5897800af47f92efd2444a26b7a7dead"
note: "3DO Arcade SAOT board BIOS. Half the size of consumer BIOS ROMs."
source_ref: "libopera/opera_bios.c:123-134"
# -------------------------------------------------------
# Kanji font ROM - FZ-1 (933636 bytes, non-standard size)
# -------------------------------------------------------
- name: "panafz1-kanji.bin"
system: 3do
region: [japan]
required: false
size: 933636
md5: "b8dc97f778a6245c58e064b0312e8281"
sha1: "acd39a8fee1b9d2950d5ab447846c11fb31af63e"
note: "Kanji font ROM for FZ-1. Version 16.4, dated 1993-08-03. Optional, Japanese text only."
source_ref: "libopera/opera_bios.c:141-152"
# -------------------------------------------------------
# Kanji font ROM - FZ-1J (1 MB)
# -------------------------------------------------------
- name: "panafz1j-kanji.bin"
system: 3do
region: [japan]
required: false
size: 1048576 # 1 MB
md5: "c23fb5d5e6bb1c240d02cf968972be37"
sha1: "884515605ee243577ab20767ef8c1a7368e4e407"
note: "Kanji font ROM for FZ-1J. Version 16.4, dated 1993-08-03. Optional, Japanese text only."
source_ref: "libopera/opera_bios.c:154-165"
# -------------------------------------------------------
# Kanji font ROM - FZ-10JA ANVIL (1 MB)
# -------------------------------------------------------
- name: "panafz10ja-anvil-kanji.bin"
system: 3do
region: [japan]
required: false
size: 1048576 # 1 MB
md5: "428577250f43edc902ea239c50d2240d"
sha1: "2e857b957803d0331fd229328df01f3ffab69eee"
note: "Kanji font ROM for FZ-10JA ANVIL. Version 16.4. Optional, Japanese text only."
source_ref: "libopera/opera_bios.c:167-178"
platform_details:
3do:
rom1_size: 1048576 # 1 MB standard BIOS
rom1_arcade_size: 524288 # 512 KB arcade BIOS
rom2_max_size: 1048576 # 1 MB kanji font ROM
bios_selection: "core option opera_bios, user picks from detected files"
font_selection: "core option opera_font, optional"
byteswap: "rom1 is byteswapped on little-endian (opera_mem_rom1_byteswap32_if_le)"
hle_available: false
source_ref: "opera_lr_opts.c:239-270, libopera/opera_bios.c:3-180"

55
emulators/prosystem.yml Normal file
View File

@@ -0,0 +1,55 @@
emulator: ProSystem
type: libretro
source: "https://github.com/libretro/prosystem-libretro"
cores:
- prosystem
systems:
- atari-7800
notes: |
ProSystem is an Atari 7800 emulator ported to libretro.
BIOS loading is in core/libretro.c:579-588. Region is read from the
cartridge header byte 57 (core/Cartridge.c:214) or overridden by the
internal database (core/Database.c). PAL carts get the (E) BIOS,
everything else gets (U).
Both BIOS files are optional. The core runs games without them, but
some titles may have compatibility issues without the real BIOS
(startup encryption check, etc). bios_Store() maps the BIOS data
into the top of the 64K address space (65536 - bios_size).
No core option controls BIOS loading -- if the file exists in the
system directory, it is loaded automatically.
files:
- name: "7800 BIOS (U).rom"
system: atari-7800
required: false
size: 4096 # 4 KB
note: "NTSC/US Atari 7800 BIOS. Loaded when cartridge_region != REGION_PAL."
source_ref: "core/libretro.c:585"
- name: "7800 BIOS (E).rom"
system: atari-7800
required: false
size: 16384 # 16 KB (PAL BIOS is larger than NTSC)
note: "PAL/EU Atari 7800 BIOS. Loaded when cartridge_region == REGION_PAL."
source_ref: "core/libretro.c:583"
platform_details:
bios_mapping:
target: "top of 64K memory (65536 - bios_size)"
source_ref: "core/Bios.c:88"
notes: |
bios_Store() writes the BIOS into ROM at address (65536 - bios_size).
The BIOS size is read dynamically from the file, not hardcoded.
bios_enabled flag is set only if bios_Load() succeeds (file found
and read without error).
region_detection:
source_ref: "core/Cartridge.c:214, core/Database.c"
notes: |
Region byte is at offset 57 in the A7800 cartridge header.
The internal database (Database.c) can override the header value.
REGION_NTSC = 0, REGION_PAL = 1 (defined in Region.h).

155
emulators/quasi88.yml Normal file
View File

@@ -0,0 +1,155 @@
emulator: QUASI88
type: libretro
source: "https://github.com/libretro/quasi88-libretro"
cores:
- quasi88
systems:
- pc-8801
# QUASI88 is a NEC PC-8801 emulator. The libretro port includes a pseudo-BIOS
# (pbios_n88, pbios_disk) compiled into the core that provides basic compatibility
# when real BIOS files are missing. With the pseudo-BIOS, many disk-based games
# will boot, but compatibility is lower than with real ROMs.
#
# ROM file search order (libretro.c:444-491):
# 1. <download_dir>/<filename>
# 2. <system_dir>/quasi88/<filename>
# 3. <system_dir>/<filename>
# Each ROM entry has up to 4 alternate filenames tried in order.
#
# ROM loading (libretro.c:550-594):
# N88.ROM and DISK.ROM (SUB_ROM) are the only two checked for failure.
# If missing, the core falls back to the built-in pseudo-BIOS.
# All other ROMs are loaded silently if present, ignored if absent.
#
# The original QUASI88 (memory.c:80-95) uses uppercase-first filenames
# (N88.ROM, N88EXT0.ROM, etc.) while the libretro .info file standardizes
# on lowercase with underscore variants (n88.rom, n88_0.rom, etc.).
# The core tries both naming conventions.
#
# FONT.ROM/FONT2.ROM/FONT3.ROM are not listed in the .info file.
# When missing, the core uses built-in fonts or falls back to kanji ROM glyphs.
notes: |
Files go in <system_dir>/quasi88/ or directly in <system_dir>/.
The pseudo-BIOS built into the core covers N88-BASIC V2 and the disk
subsystem at a basic level. For full compatibility (N-BASIC, V1H/V1S modes,
dictionary lookup, kanji display), real ROM files are needed.
N88_0.ROM (EXT0) is marked required in the .info file because it contains
the N88-BASIC V2 extension used by most software. EXT1-EXT3 are version-
specific extensions (V1H, V1S, older V2) needed only for specific titles.
The core option "quasi88_basic_mode" selects N88 V2, N88 V1H, N88 V1S,
or N mode. Each mode requires its corresponding ROM to be present.
files:
# -- Required for full operation --
- name: n88.rom
path: "quasi88/n88.rom"
size: 32768
required: true
note: "N88-BASIC main ROM (32 KB). Core falls back to pseudo-BIOS if missing."
source_ref: "src/LIBRETRO/libretro.c:550"
aliases: ["N88.ROM"]
- name: n88_0.rom
path: "quasi88/n88_0.rom"
size: 8192
required: true
note: "N88-BASIC V2 extension ROM 0 (8 KB). Needed for most PC-8801 software."
source_ref: "src/LIBRETRO/libretro.c:555"
aliases: ["N88_0.ROM", "N88EXT0.ROM", "n88ext0.rom"]
# -- Optional extensions --
- name: n88_1.rom
path: "quasi88/n88_1.rom"
size: 8192
required: false
note: "N88-BASIC V1H extension ROM 1 (8 KB). For V1 High-speed mode software."
source_ref: "src/LIBRETRO/libretro.c:556"
aliases: ["N88_1.ROM", "N88EXT1.ROM", "n88ext1.rom"]
- name: n88_2.rom
path: "quasi88/n88_2.rom"
size: 8192
required: false
note: "N88-BASIC V1S extension ROM 2 (8 KB). For V1 Standard mode software."
source_ref: "src/LIBRETRO/libretro.c:557"
aliases: ["N88_2.ROM", "N88EXT2.ROM", "n88ext2.rom"]
- name: n88_3.rom
path: "quasi88/n88_3.rom"
size: 8192
required: false
note: "N88-BASIC extension ROM 3 (8 KB). Older V2 extension, rarely needed."
source_ref: "src/LIBRETRO/libretro.c:558"
aliases: ["N88_3.ROM", "N88EXT3.ROM", "n88ext3.rom"]
- name: n88n.rom
path: "quasi88/n88n.rom"
size: 32768
required: false
note: "N-BASIC ROM (32 KB). For PC-8001 compatible N-BASIC mode."
source_ref: "src/LIBRETRO/libretro.c:559"
aliases: ["N88N.ROM", "N80.ROM", "n80.rom"]
- name: disk.rom
path: "quasi88/disk.rom"
size: 2048
required: false
note: "Disk subsystem ROM (2 KB, 2D type). Core falls back to pseudo-BIOS if missing. 8 KB variant (2HD type) also accepted."
source_ref: "src/LIBRETRO/libretro.c:552"
aliases: ["DISK.ROM", "N88SUB.ROM", "n88sub.rom"]
- name: n88knj1.rom
path: "quasi88/n88knj1.rom"
size: 131072
required: false
note: "Kanji ROM level 1 (128 KB). Required for Japanese text display. Also used as font fallback."
source_ref: "src/LIBRETRO/libretro.c:560"
aliases: ["N88KNJ1.ROM", "KANJI1.ROM", "kanji1.rom"]
- name: n88knj2.rom
path: "quasi88/n88knj2.rom"
size: 131072
required: false
note: "Kanji ROM level 2 (128 KB). Extended kanji character set."
source_ref: "src/LIBRETRO/libretro.c:561"
aliases: ["N88KNJ2.ROM", "KANJI2.ROM", "kanji2.rom"]
- name: n88jisho.rom
path: "quasi88/n88jisho.rom"
size: 524288
required: false
note: "Dictionary ROM (512 KB). Japanese dictionary lookup, very few titles use it."
source_ref: "src/LIBRETRO/libretro.c:562"
aliases: ["N88JISHO.ROM", "JISYO.ROM", "jisyo.rom"]
# -- Font ROMs (not in .info, core has built-in fallback) --
- name: font.rom
path: "quasi88/font.rom"
size: 4096
required: false
note: "ANK font ROM (4 KB). Falls back to built-in font or kanji ROM glyphs."
source_ref: "src/LIBRETRO/libretro.c:566"
aliases: ["FONT.ROM"]
- name: font2.rom
path: "quasi88/font2.rom"
size: 4096
required: false
note: "Second font ROM (4 KB). Falls back to built-in ANH font."
source_ref: "src/LIBRETRO/libretro.c:576"
aliases: ["FONT2.ROM"]
- name: font3.rom
path: "quasi88/font3.rom"
size: 4096
required: false
note: "Third font ROM (4 KB). Zeroed out if missing."
source_ref: "src/LIBRETRO/libretro.c:588"
aliases: ["FONT3.ROM"]

934
emulators/vice.yml Normal file
View File

@@ -0,0 +1,934 @@
emulator: VICE
type: libretro
cores:
- vice_x64
- vice_x64sc
- vice_x64dtv
- vice_x128
- vice_xvic
- vice_xplus4
- vice_xpet
- vice_xcbm2
- vice_xcbm5x0
- vice_xscpu64
source: "https://github.com/libretro/vice-libretro"
systems:
- commodore-c64
- commodore-c128
- commodore-c64dtv
- commodore-vic20
- commodore-plus4
- commodore-pet
- commodore-cbm-ii
notes: |
VICE is a multi-machine Commodore emulator covering C64, C128, VIC-20,
Plus/4, PET, CBM-II, C64 DTV, and SuperCPU64. Each machine is built as a
separate libretro core.
All standard ROMs (kernal, basic, chargen, drive DOS, editor) are embedded
in the core binary via USE_EMBEDDED. External ROM files are NOT required
for normal operation. The embedded ROMs are compiled from vice/data/<machine>/
and ship with every build.
The core looks for optional external data in system/vice/<machine>/
(e.g. system/vice/C64/, system/vice/C128/). This is used for:
- JiffyDOS replacement kernals (proprietary, not included)
- SuperCPU external kernals (scpu-dos-1.4.bin, scpu-dos-2.04.bin)
- Cartridge images placed in system/vice/<machine>/
- Custom keymaps (.vkm files)
- Custom vicerc configuration
JiffyDOS support (C64/C64SC/C128/SCPU64 only):
Requires True Drive Emulation enabled and 1541/1571/1581 drive type.
ROMs are loaded from system/vice/:
- JiffyDOS_C64.bin (C64 kernal replacement)
- JiffyDOS_SX-64.bin (SX-64 model kernal replacement)
- JiffyDOS_C128.bin (C128 kernal replacement, C128 core only)
- JiffyDOS_1541-II.bin (1541-II drive DOS replacement)
- JiffyDOS_1571_repl310654.bin (1571 drive DOS replacement)
- JiffyDOS_1581.bin (1581 drive DOS replacement)
SuperCPU kernal (SCPU64 core only):
Option "SuperCPU Kernal" selects between Internal (embedded), 1.40, or 2.04.
External kernals loaded from system/vice/SCPU64/:
- scpu-dos-1.4.bin
- scpu-dos-2.04.bin
These files are blacklisted from the cartridge scanner to prevent accidental
loading as cartridges.
C128 libretro specifics: the C128 core reuses C64 ROM filenames for C64 mode
(basic-901226-01.bin, kernal-901227-03.bin) instead of the standalone VICE
names (basic64-901226-01.bin, kernal64-901227-03.bin). This is controlled
by #ifdef __LIBRETRO__ in c128rom.h.
Drive ROM notes: dos2000, dos4000, and CMDHD boot ROM are defined in
driverom.h but not shipped in vice/data/DRIVES/. These are for CMD hardware
(FD-2000, FD-4000, CMD HD) which are rare peripherals.
Source: retrodep/embedded/*.c (embedded ROM tables),
vice/src/*/rom.h (ROM name defines), vice/src/drive/driverom.h (drive ROMs),
retrodep/ui.c:274-315 (JiffyDOS loading), retrodep/ui.c:258-271 (SCPU kernal),
libretro/libretro-core.c:2800-2865 (core options for JiffyDOS/SCPU)
files:
# -------------------------------------------------------
# C64 ROMs (vice_x64, vice_x64sc)
# embedded in binary, listed for reference
# -------------------------------------------------------
- name: "vice/C64/basic-901226-01.bin"
system: commodore-c64
required: false
embedded: true
size: 8192
note: "C64 BASIC V2 ROM. Embedded in core."
source_ref: "vice/src/c64/c64rom.h:31"
- name: "vice/C64/kernal-901227-03.bin"
system: commodore-c64
required: false
embedded: true
size: 8192
note: "C64 Kernal Rev 3 (default). Embedded in core."
source_ref: "vice/src/c64/c64rom.h:52"
- name: "vice/C64/kernal-901227-01.bin"
system: commodore-c64
required: false
embedded: true
size: 8192
note: "C64 Kernal Rev 1. Embedded in core."
source_ref: "vice/src/c64/c64rom.h:50"
- name: "vice/C64/kernal-901227-02.bin"
system: commodore-c64
required: false
embedded: true
size: 8192
note: "C64 Kernal Rev 2. Embedded in core."
source_ref: "vice/src/c64/c64rom.h:51"
- name: "vice/C64/kernal-390852-01.bin"
system: commodore-c64
required: false
embedded: true
size: 8192
note: "C64 GS (Games System) Kernal. Embedded in core."
source_ref: "vice/src/c64/c64rom.h:53"
- name: "vice/C64/kernal-251104-04.bin"
system: commodore-c64
required: false
embedded: true
size: 8192
note: "SX-64 Kernal. Embedded in core."
source_ref: "vice/src/c64/c64rom.h:54"
- name: "vice/C64/kernal-901246-01.bin"
system: commodore-c64
required: false
embedded: true
size: 8192
note: "PET64/Educator64 (4064) Kernal. Embedded in core."
source_ref: "vice/src/c64/c64rom.h:55"
- name: "vice/C64/kernal-906145-02.bin"
system: commodore-c64
required: false
embedded: true
size: 8192
note: "C64 Japanese Kernal. Embedded in core."
source_ref: "vice/src/c64/c64rom.h:49"
- name: "vice/C64/chargen-901225-01.bin"
system: commodore-c64
required: false
embedded: true
size: 4096
note: "C64 Character Generator ROM (default). Embedded in core."
source_ref: "vice/src/c64/c64rom.h:60"
- name: "vice/C64/chargen-906143-02.bin"
system: commodore-c64
required: false
embedded: true
size: 4096
note: "C64 Japanese Character Generator ROM. Embedded in core."
source_ref: "vice/src/c64/c64rom.h:61"
# -------------------------------------------------------
# C128 ROMs (vice_x128)
# embedded in binary, listed for reference
# -------------------------------------------------------
- name: "vice/C128/kernal-318020-05.bin"
system: commodore-c128
required: false
embedded: true
size: 16384
note: "C128 Kernal (default international). Embedded in core."
source_ref: "vice/src/c128/c128rom.h:103"
- name: "vice/C128/kernal-315078-03.bin"
system: commodore-c128
required: false
embedded: true
size: 16384
note: "C128 Kernal German. Embedded in core."
source_ref: "vice/src/c128/c128rom.h:105"
- name: "vice/C128/kernal-325172-01.bin"
system: commodore-c128
required: false
embedded: true
size: 16384
note: "C128 Kernal Swiss. Embedded in core."
source_ref: "vice/src/c128/c128rom.h:104"
- name: "vice/C128/kernal-318034-01.bin"
system: commodore-c128
required: false
embedded: true
size: 16384
note: "C128 Kernal Swedish. Embedded in core."
source_ref: "vice/src/c128/c128rom.h:110"
- name: "vice/C128/kernalfi"
system: commodore-c128
required: false
embedded: true
size: 16384
note: "C128 Kernal Finnish (unidentified part number). Embedded in core."
source_ref: "vice/src/c128/c128rom.h:106"
- name: "vice/C128/kernalfr"
system: commodore-c128
required: false
embedded: true
size: 16384
note: "C128 Kernal French (unidentified part number). Embedded in core."
source_ref: "vice/src/c128/c128rom.h:107"
- name: "vice/C128/kernalit"
system: commodore-c128
required: false
embedded: true
size: 16384
note: "C128 Kernal Italian (unidentified part number). Embedded in core."
source_ref: "vice/src/c128/c128rom.h:108"
- name: "vice/C128/kernalno"
system: commodore-c128
required: false
embedded: true
size: 16384
note: "C128 Kernal Norwegian (unidentified part number). Embedded in core."
source_ref: "vice/src/c128/c128rom.h:109"
- name: "vice/C128/basiclo-318018-04.bin"
system: commodore-c128
required: false
embedded: true
size: 16384
note: "C128 BASIC low (BASIC part). Embedded in core."
source_ref: "vice/src/c128/c128rom.h:115"
- name: "vice/C128/basichi-318019-04.bin"
system: commodore-c128
required: false
embedded: true
size: 16384
note: "C128 BASIC high (Editor part). Embedded in core."
source_ref: "vice/src/c128/c128rom.h:116"
- name: "vice/C128/basic-901226-01.bin"
system: commodore-c128
required: false
embedded: true
size: 8192
note: "C64 BASIC V2 ROM, used by C128 in C64 mode. Libretro build uses C64 filename instead of basic64-901226-01.bin."
source_ref: "vice/src/c128/c128rom.h:123-127"
- name: "vice/C128/kernal-901227-03.bin"
system: commodore-c128
required: false
embedded: true
size: 8192
note: "C64 Kernal Rev 3, used by C128 in C64 mode. Libretro build uses C64 filename instead of kernal64-901227-03.bin."
source_ref: "vice/src/c128/c128rom.h:130-134"
- name: "vice/C128/kernal64-325179-01.bin"
system: commodore-c128
required: false
embedded: true
size: 8192
note: "C128 C64-mode Kernal Norwegian. Embedded in core."
source_ref: "vice/src/c128/c128rom.h:136"
- name: "vice/C128/kernal64-325182-01.bin"
system: commodore-c128
required: false
embedded: true
size: 8192
note: "C128 C64-mode Kernal Swedish. Embedded in core."
source_ref: "vice/src/c128/c128rom.h:137"
- name: "vice/C128/chargen-390059-01.bin"
system: commodore-c128
required: false
embedded: true
size: 8192
note: "C128 Character Generator (default international). Embedded in core."
source_ref: "vice/src/c128/c128rom.h:92"
- name: "vice/C128/chargen-315079-01.bin"
system: commodore-c128
required: false
embedded: true
size: 8192
note: "C128 Character Generator German. Embedded in core."
source_ref: "vice/src/c128/c128rom.h:95"
- name: "vice/C128/chargen-325167-02.bin"
system: commodore-c128
required: false
embedded: true
size: 8192
note: "C128 Character Generator Italian/French/Belgian. Embedded in core."
source_ref: "vice/src/c128/c128rom.h:93"
- name: "vice/C128/chargen-325173-01D.bin"
system: commodore-c128
required: false
embedded: true
size: 8192
note: "C128 Character Generator Swiss. Embedded in core."
source_ref: "vice/src/c128/c128rom.h:94"
- name: "vice/C128/chargen-325078-02.bin"
system: commodore-c128
required: false
embedded: true
size: 8192
note: "C128 Character Generator Norwegian. Embedded in core."
source_ref: "vice/src/c128/c128rom.h:99"
- name: "vice/C128/chargen-325181-01.bin"
system: commodore-c128
required: false
embedded: true
size: 8192
note: "C128 Character Generator Finnish/Swedish. Embedded in core."
source_ref: "vice/src/c128/c128rom.h:96"
# -------------------------------------------------------
# C64 DTV ROMs (vice_x64dtv)
# embedded in binary, listed for reference
# -------------------------------------------------------
- name: "vice/C64DTV/dtvrom.bin"
system: commodore-c64dtv
required: false
embedded: true
size: 2097152
note: "C64 DTV flash ROM (2 MB). Contains kernal, basic, chargen. Embedded in core."
source_ref: "vice/src/c64dtv/c64dtvflash.c:59-64"
- name: "vice/C64DTV/basic-901226-01.bin"
system: commodore-c64dtv
required: false
embedded: true
size: 8192
note: "C64 BASIC V2 ROM (DTV copy). Embedded in core."
source_ref: "vice/data/C64DTV/"
- name: "vice/C64DTV/chargen-901225-01.bin"
system: commodore-c64dtv
required: false
embedded: true
size: 4096
note: "C64 Character Generator (DTV copy). Embedded in core."
source_ref: "vice/data/C64DTV/"
- name: "vice/C64DTV/kernal-901227-03.bin"
system: commodore-c64dtv
required: false
embedded: true
size: 8192
note: "C64 Kernal Rev 3 (DTV copy). Embedded in core."
source_ref: "vice/data/C64DTV/"
# -------------------------------------------------------
# VIC-20 ROMs (vice_xvic)
# embedded in binary, listed for reference
# -------------------------------------------------------
- name: "vice/VIC20/basic-901486-01.bin"
system: commodore-vic20
required: false
embedded: true
size: 8192
note: "VIC-20 BASIC ROM. Embedded in core."
source_ref: "vice/src/vic20/vic20rom.h:43"
- name: "vice/VIC20/kernal.901486-07.bin"
system: commodore-vic20
required: false
embedded: true
size: 8192
note: "VIC-20 Kernal PAL (default). Embedded in core."
source_ref: "vice/src/vic20/vic20rom.h:53"
- name: "vice/VIC20/kernal.901486-06.bin"
system: commodore-vic20
required: false
embedded: true
size: 8192
note: "VIC-20 Kernal NTSC. Embedded in core."
source_ref: "vice/src/vic20/vic20rom.h:52"
- name: "vice/VIC20/kernal.901486-02.bin"
system: commodore-vic20
required: false
embedded: true
size: 8192
note: "VIC-20 Kernal Japanese NTSC Rev 2. Embedded in core."
source_ref: "vice/src/vic20/vic20rom.h:51"
- name: "vice/VIC20/chargen-901460-03.bin"
system: commodore-vic20
required: false
embedded: true
size: 4096
note: "VIC-20 Character Generator (default). Embedded in core."
source_ref: "vice/src/vic20/vic20rom.h:56"
- name: "vice/VIC20/chargen-901460-02.bin"
system: commodore-vic20
required: false
embedded: true
size: 4096
note: "VIC-20 Japanese Character Generator. Embedded in core."
source_ref: "vice/src/vic20/vic20rom.h:57"
# -------------------------------------------------------
# Plus/4 ROMs (vice_xplus4)
# embedded in binary, listed for reference
# -------------------------------------------------------
- name: "vice/PLUS4/basic-318006-01.bin"
system: commodore-plus4
required: false
embedded: true
size: 16384
note: "Plus/4 BASIC ROM. Embedded in core."
source_ref: "vice/src/plus4/plus4rom.h:33"
- name: "vice/PLUS4/kernal-318004-05.bin"
system: commodore-plus4
required: false
embedded: true
size: 16384
note: "Plus/4 Kernal PAL Rev 5 (default PAL). Embedded in core."
source_ref: "vice/src/plus4/plus4rom.h:36"
- name: "vice/PLUS4/kernal-318005-05.bin"
system: commodore-plus4
required: false
embedded: true
size: 16384
note: "Plus/4 Kernal NTSC Rev 5 (default NTSC). Embedded in core."
source_ref: "vice/src/plus4/plus4rom.h:37"
- name: "vice/PLUS4/kernal-318004-01.bin"
system: commodore-plus4
required: false
embedded: true
size: 16384
note: "Plus/4 Kernal NTSC Rev 1 (V232 prototype). Embedded in core."
source_ref: "vice/src/plus4/plus4rom.h:35"
- name: "vice/PLUS4/kernal-364.bin"
system: commodore-plus4
required: false
embedded: true
size: 16384
note: "Commodore 364 prototype Kernal. Embedded in core."
source_ref: "vice/src/plus4/plus4rom.h:38"
- name: "vice/PLUS4/3plus1-317053-01.bin"
system: commodore-plus4
required: false
embedded: true
size: 16384
note: "3-Plus-1 software ROM low. Embedded in core."
source_ref: "vice/src/plus4/plus4rom.h:40"
- name: "vice/PLUS4/3plus1-317054-01.bin"
system: commodore-plus4
required: false
embedded: true
size: 16384
note: "3-Plus-1 software ROM high. Embedded in core."
source_ref: "vice/src/plus4/plus4rom.h:41"
- name: "vice/PLUS4/c2lo-364.bin"
system: commodore-plus4
required: false
embedded: true
size: 16384
note: "Commodore 364 prototype function ROM low. Embedded in core."
source_ref: "vice/src/plus4/plus4rom.h:43"
# -------------------------------------------------------
# PET ROMs (vice_xpet)
# embedded in binary, listed for reference
# -------------------------------------------------------
- name: "vice/PET/basic-1.901439-09-05-02-06.bin"
system: commodore-pet
required: false
embedded: true
size: 8192
note: "PET BASIC 1.0 ROM (PET 2001). Embedded in core."
source_ref: "vice/src/pet/petrom.h:55"
- name: "vice/PET/basic-2.901465-01-02.bin"
system: commodore-pet
required: false
embedded: true
size: 8192
note: "PET BASIC 2.0 ROM. Embedded in core."
source_ref: "vice/src/pet/petrom.h:56"
- name: "vice/PET/basic-4.901465-23-20-21.bin"
system: commodore-pet
required: false
embedded: true
size: 12288
note: "PET BASIC 4.0 ROM. Embedded in core."
source_ref: "vice/src/pet/petrom.h:57"
- name: "vice/PET/kernal-1.901439-04-07.bin"
system: commodore-pet
required: false
embedded: true
size: 4096
note: "PET Kernal 1.0 (PET 2001). Embedded in core."
source_ref: "vice/src/pet/petrom.h:51"
- name: "vice/PET/kernal-2.901465-03.bin"
system: commodore-pet
required: false
embedded: true
size: 4096
note: "PET Kernal 2.0. Embedded in core."
source_ref: "vice/src/pet/petrom.h:52"
- name: "vice/PET/kernal-4.901465-22.bin"
system: commodore-pet
required: false
embedded: true
size: 4096
note: "PET Kernal 4.0. Embedded in core."
source_ref: "vice/src/pet/petrom.h:53"
- name: "vice/PET/edit-1-n.901439-03.bin"
system: commodore-pet
required: false
embedded: true
size: 2048
note: "PET Editor 1.0 Normal (graphics keyboard). Embedded in core."
source_ref: "vice/src/pet/petrom.h:59"
- name: "vice/PET/edit-2-n.901447-24.bin"
system: commodore-pet
required: false
embedded: true
size: 2048
note: "PET Editor 2.0 Normal (graphics keyboard). Embedded in core."
source_ref: "vice/src/pet/petrom.h:60"
- name: "vice/PET/edit-2-b.901474-01.bin"
system: commodore-pet
required: false
embedded: true
size: 2048
note: "PET Editor 2.0 Business keyboard. Embedded in core."
source_ref: "vice/src/pet/petrom.h:61"
- name: "vice/PET/edit-4-40-n-50Hz.901498-01.bin"
system: commodore-pet
required: false
embedded: true
size: 2048
note: "PET Editor 4.0, 40 col, Normal keyboard, 50Hz. Embedded in core."
source_ref: "vice/src/pet/petrom.h:62"
- name: "vice/PET/edit-4-40-b-50Hz.ts.bin"
system: commodore-pet
required: false
embedded: true
size: 2048
note: "PET Editor 4.0, 40 col, Business keyboard, 50Hz. Embedded in core."
source_ref: "vice/src/pet/petrom.h:65"
- name: "vice/PET/edit-4-80-b-50Hz.901474-04_.bin"
system: commodore-pet
required: false
embedded: true
size: 2048
note: "PET Editor 4.0, 80 col, Business keyboard, 50Hz. Embedded in core."
source_ref: "vice/src/pet/petrom.h:63"
- name: "vice/PET/characters-1.901447-08.bin"
system: commodore-pet
required: false
embedded: true
size: 2048
note: "PET Character Generator 1 (original PET 2001). Embedded in core."
source_ref: "vice/src/pet/petrom.h:46"
- name: "vice/PET/characters-2.901447-10.bin"
system: commodore-pet
required: false
embedded: true
size: 2048
note: "PET Character Generator 2. Embedded in core."
source_ref: "vice/src/pet/petrom.h:47"
- name: "vice/PET/characters.901640-01.bin"
system: commodore-pet
required: false
embedded: true
size: 4096
note: "SuperPET Character Generator. Embedded in core."
source_ref: "vice/src/pet/petrom.h:48"
- name: "vice/PET/waterloo-a000.901898-01.bin"
system: commodore-pet
required: false
embedded: true
size: 4096
note: "SuperPET Waterloo microEngine 6809 ROM at $A000. Embedded in core."
source_ref: "vice/src/pet/petrom.h:75"
- name: "vice/PET/waterloo-b000.901898-02.bin"
system: commodore-pet
required: false
embedded: true
size: 4096
note: "SuperPET Waterloo microEngine 6809 ROM at $B000. Embedded in core."
source_ref: "vice/src/pet/petrom.h:76"
- name: "vice/PET/waterloo-c000.901898-03.bin"
system: commodore-pet
required: false
embedded: true
size: 4096
note: "SuperPET Waterloo microEngine 6809 ROM at $C000. Embedded in core."
source_ref: "vice/src/pet/petrom.h:77"
- name: "vice/PET/waterloo-d000.901898-04.bin"
system: commodore-pet
required: false
embedded: true
size: 4096
note: "SuperPET Waterloo microEngine 6809 ROM at $D000. Embedded in core."
source_ref: "vice/src/pet/petrom.h:78"
- name: "vice/PET/waterloo-e000.901897-01.bin"
system: commodore-pet
required: false
embedded: true
size: 2048
note: "SuperPET Waterloo microEngine 6809 ROM at $E000. Embedded in core."
source_ref: "vice/src/pet/petrom.h:79"
- name: "vice/PET/waterloo-f000.901898-05.bin"
system: commodore-pet
required: false
embedded: true
size: 4096
note: "SuperPET Waterloo microEngine 6809 ROM at $F000. Embedded in core."
source_ref: "vice/src/pet/petrom.h:80"
# -------------------------------------------------------
# CBM-II ROMs (vice_xcbm2, vice_xcbm5x0)
# embedded in binary, listed for reference
# -------------------------------------------------------
- name: "vice/CBM-II/basic-901242+3-04a.bin"
system: commodore-cbm-ii
required: false
embedded: true
size: 16384
note: "CBM-II BASIC 128 (CBM 610/620/710/720). Embedded in core."
source_ref: "vice/src/cbm2/cbm2rom.h:41"
- name: "vice/CBM-II/basic-901240+1-03.bin"
system: commodore-cbm-ii
required: false
embedded: true
size: 16384
note: "CBM-II BASIC 256 (CBM 710/720 with 256K). Embedded in core."
source_ref: "vice/src/cbm2/cbm2rom.h:42"
- name: "vice/CBM-II/basic-901235+6-02.bin"
system: commodore-cbm-ii
required: false
embedded: true
size: 16384
note: "CBM-II BASIC 500 (CBM 510/P500). Embedded in core."
source_ref: "vice/src/cbm2/cbm2rom.h:43"
- name: "vice/CBM-II/kernal-901244-04a.bin"
system: commodore-cbm-ii
required: false
embedded: true
size: 8192
note: "CBM-II Kernal (CBM 610/620/710/720). Embedded in core."
source_ref: "vice/src/cbm2/cbm2rom.h:45"
- name: "vice/CBM-II/kernal-901234-02.bin"
system: commodore-cbm-ii
required: false
embedded: true
size: 8192
note: "CBM-II Kernal 500 (CBM 510/P500). Embedded in core."
source_ref: "vice/src/cbm2/cbm2rom.h:46"
- name: "vice/CBM-II/chargen-901225-01.bin"
system: commodore-cbm-ii
required: false
embedded: true
size: 4096
note: "CBM-II Character Generator 500 (VIC-II based, CBM 510/P500). Embedded in core."
source_ref: "vice/src/cbm2/cbm2rom.h:37"
- name: "vice/CBM-II/chargen-901237-01.bin"
system: commodore-cbm-ii
required: false
embedded: true
size: 4096
note: "CBM-II Character Generator 600 (CBM 610/620). Embedded in core."
source_ref: "vice/src/cbm2/cbm2rom.h:38"
- name: "vice/CBM-II/chargen-901232-01.bin"
system: commodore-cbm-ii
required: false
embedded: true
size: 4096
note: "CBM-II Character Generator 700 (CBM 710/720). Embedded in core."
source_ref: "vice/src/cbm2/cbm2rom.h:39"
# -------------------------------------------------------
# SCPU64 ROMs (vice_xscpu64)
# chargen embedded, SCPU ROM embedded as "scpu64"
# -------------------------------------------------------
- name: "vice/SCPU64/scpu64"
system: commodore-c64
required: false
embedded: true
size: 65536
note: "SuperCPU64 internal ROM (default). Embedded in core."
source_ref: "retrodep/ui.c:269"
- name: "vice/SCPU64/chargen-901225-01.bin"
system: commodore-c64
required: false
embedded: true
size: 4096
note: "C64 Character Generator (used by SCPU64). Embedded in core."
source_ref: "vice/src/scpu64/scpu64rom.h:36"
- name: "vice/SCPU64/chargen-906143-02.bin"
system: commodore-c64
required: false
embedded: true
size: 4096
note: "C64 Japanese Character Generator (used by SCPU64). Embedded in core."
source_ref: "vice/src/scpu64/scpu64rom.h:37"
- name: "vice/SCPU64/scpu-dos-1.4.bin"
system: commodore-c64
required: false
embedded: false
note: "SuperCPU DOS v1.40 external kernal. Optional, selected via core option. Goes in system/vice/SCPU64/."
source_ref: "retrodep/ui.c:266, libretro/libretro-core.c:2823"
- name: "vice/SCPU64/scpu-dos-2.04.bin"
system: commodore-c64
required: false
embedded: false
note: "SuperCPU DOS v2.04 external kernal. Optional, selected via core option. Goes in system/vice/SCPU64/."
source_ref: "retrodep/ui.c:263, libretro/libretro-core.c:2825"
# -------------------------------------------------------
# Drive ROMs (shared across all cores with True Drive Emulation)
# embedded in binary, listed for reference
# -------------------------------------------------------
- name: "vice/DRIVES/dos1540-325302+3-01.bin"
system: commodore-c64
required: false
embedded: true
size: 16384
note: "1540 drive DOS ROM. Embedded in core."
source_ref: "vice/src/drive/driverom.h:88"
- name: "vice/DRIVES/dos1541-325302-01+901229-05.bin"
system: commodore-c64
required: false
embedded: true
size: 16384
note: "1541 drive DOS ROM. Embedded in core."
source_ref: "vice/src/drive/driverom.h:89"
- name: "vice/DRIVES/dos1541ii-251968-03.bin"
system: commodore-c64
required: false
embedded: true
size: 16384
note: "1541-II drive DOS ROM. Embedded in core."
source_ref: "vice/src/drive/driverom.h:90"
- name: "vice/DRIVES/dos1551-318008-01.bin"
system: commodore-plus4
required: false
embedded: true
size: 16384
note: "1551 drive DOS ROM (Plus/4 specific). Embedded in core."
source_ref: "vice/src/drive/driverom.h:92"
- name: "vice/DRIVES/dos1570-315090-01.bin"
system: commodore-c64
required: false
embedded: true
size: 32768
note: "1570 drive DOS ROM. Embedded in core."
source_ref: "vice/src/drive/driverom.h:93"
- name: "vice/DRIVES/dos1571-310654-05.bin"
system: commodore-c64
required: false
embedded: true
size: 32768
note: "1571 drive DOS ROM. Embedded in core."
source_ref: "vice/src/drive/driverom.h:94"
- name: "vice/DRIVES/dos1571cr-318047-01.bin"
system: commodore-c128
required: false
embedded: true
size: 32768
note: "1571CR drive DOS ROM (cost-reduced, C128D internal). Embedded in core."
source_ref: "vice/src/drive/driverom.h:95"
- name: "vice/DRIVES/dos1581-318045-02.bin"
system: commodore-c64
required: false
embedded: true
size: 32768
note: "1581 drive DOS ROM. Embedded in core."
source_ref: "vice/src/drive/driverom.h:96"
- name: "vice/DRIVES/dos1001-901887+8-01.bin"
system: commodore-pet
required: false
embedded: true
size: 16384
note: "CBM 1001 (SFD-1001) drive DOS ROM. Embedded in core."
source_ref: "vice/src/drive/driverom.h:70"
- name: "vice/DRIVES/dos2031-901484-03+05.bin"
system: commodore-pet
required: false
embedded: true
size: 16384
note: "CBM 2031 drive DOS ROM. Embedded in core."
source_ref: "vice/src/drive/driverom.h:73"
- name: "vice/DRIVES/dos2040-901468-06+07.bin"
system: commodore-pet
required: false
embedded: true
size: 8192
note: "CBM 2040 dual drive DOS ROM. Embedded in core."
source_ref: "vice/src/drive/driverom.h:76"
- name: "vice/DRIVES/dos3040-901468-11-13.bin"
system: commodore-pet
required: false
embedded: true
size: 12288
note: "CBM 3040 dual drive DOS ROM. Embedded in core."
source_ref: "vice/src/drive/driverom.h:79"
- name: "vice/DRIVES/dos4040-901468-14-16.bin"
system: commodore-pet
required: false
embedded: true
size: 12288
note: "CBM 4040 dual drive DOS ROM. Embedded in core."
source_ref: "vice/src/drive/driverom.h:82"
- name: "vice/DRIVES/dos9000-300516+7-revC.bin"
system: commodore-pet
required: false
embedded: true
size: 16384
note: "CBM D9090/D9060 hard drive DOS ROM. Embedded in core."
source_ref: "vice/src/drive/driverom.h:85"
# -------------------------------------------------------
# JiffyDOS ROMs (optional, proprietary, not included)
# C64/C64SC/C128/SCPU64 cores only
# -------------------------------------------------------
- name: "vice/JiffyDOS_C64.bin"
system: commodore-c64
required: false
embedded: false
note: "JiffyDOS C64 kernal replacement. Optional, proprietary. Requires True Drive Emulation + 1541/1571/1581 drive."
source_ref: "retrodep/ui.c:302, libretro/libretro-core.c:2853"
- name: "vice/JiffyDOS_SX-64.bin"
system: commodore-c64
required: false
embedded: false
note: "JiffyDOS SX-64 kernal replacement. Used instead of JiffyDOS_C64.bin when SX-64 model is selected."
source_ref: "retrodep/ui.c:295"
- name: "vice/JiffyDOS_C128.bin"
system: commodore-c128
required: false
embedded: false
note: "JiffyDOS C128 kernal replacement. Optional, proprietary. C128 core only."
source_ref: "retrodep/ui.c:309, libretro/libretro-core.c:2855"
- name: "vice/JiffyDOS_1541-II.bin"
system: commodore-c64
required: false
embedded: false
note: "JiffyDOS 1541-II drive ROM replacement. Optional, proprietary."
source_ref: "retrodep/ui.c:283"
- name: "vice/JiffyDOS_1571_repl310654.bin"
system: commodore-c64
required: false
embedded: false
note: "JiffyDOS 1571 drive ROM replacement. Optional, proprietary."
source_ref: "retrodep/ui.c:285"
- name: "vice/JiffyDOS_1581.bin"
system: commodore-c64
required: false
embedded: false
note: "JiffyDOS 1581 drive ROM replacement. Optional, proprietary."
source_ref: "retrodep/ui.c:287"
rom_path: "system/vice/"
machine_directories:
vice_x64: "C64"
vice_x64sc: "C64"
vice_x64dtv: "C64DTV"
vice_x128: "C128"
vice_xvic: "VIC20"
vice_xplus4: "PLUS4"
vice_xpet: "PET"
vice_xcbm2: "CBM-II"
vice_xcbm5x0: "CBM-II"
vice_xscpu64: "SCPU64"