feat: re-profile 9 emulators, add 9 vice machine profiles

This commit is contained in:
Abdessamad Derraz
2026-03-25 15:41:36 +01:00
parent a6150a43bd
commit 8a8765c0ee
18 changed files with 474 additions and 118 deletions

68
emulators/vice_x64.yml Normal file
View File

@@ -0,0 +1,68 @@
emulator: "VICE x64"
type: libretro
core_classification: community_fork
source: "https://github.com/libretro/vice-libretro"
upstream: "https://sourceforge.net/projects/vice-emu/"
profiled_date: "2026-03-25"
core_version: "3.10"
display_name: "Commodore - C64 (VICE x64, fast)"
cores: [vice_x64]
systems: [commodore-c64]
notes: >
System ROMs embedded in binary: C64 BASIC (901226-01), chargen (901225-01),
chargen Japanese (906143-02), kernal Rev 3 (901227-03), kernal GS (390852-01),
kernal SX-64 (251104-04), kernal 4064 (901246-01), kernal Japanese (906145-02),
plus all drive ROMs (1540, 1541, 1541-II, 1551, 1570, 1571, 1571CR, 1581, 1001,
2031, 2040, 3040, 4040, 9000) and VIC-II palettes. Embedded ROM check in
sysfile_load takes priority over filesystem. Kernal Rev 1 (901227-01) and
Rev 2 (901227-02) are NOT embedded; selecting C64 OLD NTSC or C64 OLD PAL model
requires them on the filesystem in system/vice/C64/. JiffyDOS requires True Drive
Emulation enabled and a 1541/1571/1581 drive type. SX-64 models use a separate
JiffyDOS kernal (JiffyDOS_SX-64.bin) not declared in the .info.
files:
- name: "JiffyDOS_C64.bin"
description: "JiffyDOS C64 kernal replacement"
required: false
source_ref: "retrodep/ui.c:302-303"
notes: "Loaded into KernalName when vice_jiffydos option is enabled (non-SX64 models)."
- name: "JiffyDOS_SX-64.bin"
description: "JiffyDOS SX-64 kernal replacement"
required: false
source_ref: "retrodep/ui.c:295-296"
notes: "Loaded into KernalName when vice_jiffydos option is enabled and SX-64 model selected."
- name: "JiffyDOS_1541-II.bin"
description: "JiffyDOS 1541-II drive DOS replacement"
required: false
source_ref: "retrodep/ui.c:283-284"
notes: "Loaded into DosName1541ii when vice_jiffydos option is enabled."
- name: "JiffyDOS_1571_repl310654.bin"
description: "JiffyDOS 1571 drive DOS replacement"
required: false
source_ref: "retrodep/ui.c:285-286"
notes: "Loaded into DosName1571 when vice_jiffydos option is enabled."
- name: "JiffyDOS_1581.bin"
description: "JiffyDOS 1581 drive DOS replacement"
required: false
source_ref: "retrodep/ui.c:287-288"
notes: "Loaded into DosName1581 when vice_jiffydos option is enabled."
- name: "kernal-901227-01.bin"
description: "C64 Kernal Rev 1"
required: false
size: 8192
validation: [size]
source_ref: "vice/src/c64/c64-resources.c:253, vice/src/c64/c64model.c:131"
notes: "Not embedded. Loaded via sysfile from system/vice/C64/ when C64 OLD NTSC model selected."
- name: "kernal-901227-02.bin"
description: "C64 Kernal Rev 2"
required: false
size: 8192
validation: [size]
source_ref: "vice/src/c64/c64-resources.c:254, vice/src/c64/c64model.c:117"
notes: "Not embedded. Loaded via sysfile from system/vice/C64/ when C64 OLD PAL model selected."

34
emulators/vice_x64dtv.yml Normal file
View File

@@ -0,0 +1,34 @@
emulator: "VICE x64dtv"
type: libretro
core_classification: community_fork
source: "https://github.com/libretro/vice-libretro"
upstream: "https://sourceforge.net/projects/vice-emu/"
profiled_date: "2026-03-25"
core_version: "3.10"
display_name: "Commodore - C64DTV (VICE x64dtv)"
cores: [vice_x64dtv]
systems: [commodore-c64dtv]
notes: >
System ROMs embedded in binary: C64 BASIC (901226-01), kernal Rev 3
(901227-03), chargen (901225-01), plus all drive ROMs (1540, 1541, 1541-II,
1551, 1570, 1571, 1571CR, 1581, 1001, 2031, 2040, 3040, 4040, 9000).
Embedded ROM check in sysfile_load takes priority over filesystem.
DTV has its own color system (viciidtv-color.c); external palette loading
is disabled. JiffyDOS is not supported (excluded from build conditionals).
The .info declares 4 JiffyDOS firmware (firmware_count=4) but the code
never loads them for this core. The .info also omits dtvrom.bin.
files:
- name: "dtvrom.bin"
description: "C64 DTV 2MB flash ROM image"
required: false
hle_fallback: true
size: 2097152
source_ref: "vice/src/c64dtv/c64dtvflash.c:59-64,470-471,488-505"
notes: >
Loaded via sysfile_load from system/vice/C64DTV/. All model variants
(V2 PAL/NTSC, V3 PAL/NTSC, Hummer) default to this filename. If not
found, the core copies embedded BASIC, kernal and chargen ROMs into
flash memory. Without it, the DTV operates as a basic C64 without the
built-in DTV games and firmware. The original DTV ROM has distorted
colors; a patched ROM is recommended.

69
emulators/vice_x64sc.yml Normal file
View File

@@ -0,0 +1,69 @@
emulator: "VICE x64sc"
type: libretro
core_classification: community_fork
source: "https://github.com/libretro/vice-libretro"
upstream: "https://sourceforge.net/projects/vice-emu/"
profiled_date: "2026-03-25"
core_version: "3.10"
display_name: "Commodore - C64 (VICE x64sc, accurate)"
cores: [vice_x64sc]
systems: [commodore-c64]
notes: >
Cycle-accurate C64 emulator using the viciisc VIC-II implementation.
System ROMs embedded in binary: C64 BASIC (901226-01), chargen (901225-01),
chargen Japanese (906143-02), kernal Rev 3 (901227-03), kernal GS (390852-01),
kernal SX-64 (251104-04), kernal 4064 (901246-01), kernal Japanese (906145-02),
plus all drive ROMs (1540, 1541, 1541-II, 1551, 1570, 1571, 1571CR, 1581, 1001,
2031, 2040, 3040, 4040, 9000) and VIC-II palettes. Embedded ROM check in
sysfile_load takes priority over filesystem. Kernal Rev 1 (901227-01) and
Rev 2 (901227-02) are NOT embedded; selecting C64 OLD NTSC or C64 OLD PAL model
requires them on the filesystem in system/vice/C64/. JiffyDOS requires True Drive
Emulation enabled and a 1541/1571/1581 drive type. SX-64 models use a separate
JiffyDOS kernal (JiffyDOS_SX-64.bin) not declared in the .info.
files:
- name: "JiffyDOS_C64.bin"
description: "JiffyDOS C64 kernal replacement"
required: false
source_ref: "retrodep/ui.c:302-303"
notes: "Loaded into KernalName when vice_jiffydos option is enabled (non-SX64 models)."
- name: "JiffyDOS_SX-64.bin"
description: "JiffyDOS SX-64 kernal replacement"
required: false
source_ref: "retrodep/ui.c:295-296"
notes: "Loaded into KernalName when vice_jiffydos option is enabled and SX-64 model selected."
- name: "JiffyDOS_1541-II.bin"
description: "JiffyDOS 1541-II drive DOS replacement"
required: false
source_ref: "retrodep/ui.c:283-284"
notes: "Loaded into DosName1541ii when vice_jiffydos option is enabled."
- name: "JiffyDOS_1571_repl310654.bin"
description: "JiffyDOS 1571 drive DOS replacement"
required: false
source_ref: "retrodep/ui.c:285-286"
notes: "Loaded into DosName1571 when vice_jiffydos option is enabled."
- name: "JiffyDOS_1581.bin"
description: "JiffyDOS 1581 drive DOS replacement"
required: false
source_ref: "retrodep/ui.c:287-288"
notes: "Loaded into DosName1581 when vice_jiffydos option is enabled."
- name: "kernal-901227-01.bin"
description: "C64 Kernal Rev 1"
required: false
size: 8192
validation: [size]
source_ref: "vice/src/c64/c64-resources.c:253, vice/src/c64/c64scmodel.c:141"
notes: "Not embedded. Loaded via sysfile from system/vice/C64/ when C64 OLD NTSC model selected."
- name: "kernal-901227-02.bin"
description: "C64 Kernal Rev 2"
required: false
size: 8192
validation: [size]
source_ref: "vice/src/c64/c64-resources.c:254, vice/src/c64/c64scmodel.c:123"
notes: "Not embedded. Loaded via sysfile from system/vice/C64/ when C64 OLD PAL model selected."

22
emulators/vice_xcbm2.yml Normal file
View File

@@ -0,0 +1,22 @@
emulator: "VICE xcbm2"
type: libretro
core_classification: community_fork
source: "https://github.com/libretro/vice-libretro"
upstream: "https://sourceforge.net/projects/vice-emu/"
profiled_date: "2026-03-25"
core_version: "3.10"
display_name: "Commodore - CBM-II 6x0/7x0 (VICE xcbm2)"
cores: [vice_xcbm2]
systems: [commodore-cbm-ii]
notes: >
System ROMs embedded in binary: chargen 600 (901237-01), chargen 700 (901232-01),
kernal (901244-04a), BASIC 128K (901242+3-04a), BASIC 256K (901240+1-03), plus
all drive ROMs (1001, 2031, 2040, 3040, 4040, 9000) and CRTC palettes (amber,
green, white). Embedded ROM check in sysfile_load takes priority over filesystem.
Models: 610 PAL/NTSC, 620 PAL/NTSC, 620+ PAL/NTSC, 710 NTSC, 720 NTSC,
720+ NTSC. 600 series uses CRTC with 8 scanlines/char, 700 series uses 14
scanlines/char (different chargen ROM). CBM-II uses IEEE-488 bus (not IEC serial),
so no JiffyDOS support. Cartridge slots (Cart1-Cart6) are user content, not system
files.
files: []

View File

@@ -0,0 +1,19 @@
emulator: "VICE xcbm5x0"
type: libretro
core_classification: community_fork
source: "https://github.com/libretro/vice-libretro"
upstream: "https://sourceforge.net/projects/vice-emu/"
profiled_date: "2026-03-25"
core_version: "3.10"
display_name: "Commodore - CBM-II 5x0 (VICE xcbm5x0)"
cores: [vice_xcbm5x0]
systems: [commodore-cbm-ii]
notes: >
System ROMs embedded in binary: chargen 500 (901225-01), kernal 500
(901234-02), BASIC 500 (901235+6-02), plus all drive ROMs (1001, 2031, 2040,
3040, 4040, 9000) and VIC-II palettes. Embedded ROM check in sysfile_load
takes priority over filesystem. Models: 510 PAL/NTSC. CBM-5x0 (P500/C510)
uses VIC-II chip instead of CRTC. IEEE-488 bus (not IEC serial), no JiffyDOS
support. Cartridge slots (Cart1-Cart6) are user content, not system files.
files: []

24
emulators/vice_xpet.yml Normal file
View File

@@ -0,0 +1,24 @@
emulator: "VICE xpet"
type: libretro
core_classification: community_fork
source: "https://github.com/libretro/vice-libretro"
upstream: "https://sourceforge.net/projects/vice-emu/"
profiled_date: "2026-03-25"
core_version: "3.10"
display_name: "Commodore - PET (VICE xpet)"
cores: [vice_xpet]
systems: [commodore-pet]
notes: >
System ROMs embedded in binary: kernal 1 (901439-04-07), kernal 2 (901465-03),
kernal 4 (901465-22), BASIC 1 (901439-09-05-02-06), BASIC 2 (901465-01-02),
BASIC 4 (901465-23-20-21), chargen 1 (901447-08), chargen 2 (901447-10),
SuperPET chargen (901640-01), 6 editor ROMs (1g40, 2b40, 2g40, 4b40, 4b80, 4g40),
6 SuperPET Waterloo 6809 ROMs (a000-f000), plus all drive ROMs (1540, 1541, 1541-II,
1551, 1570, 1571, 1571CR, 1581, 1001, 2031, 2040, 3040, 4040, 9000) and CRTC
palettes (amber, green, white). Embedded ROM check in sysfile_load takes priority
over filesystem. Models: 2001, 3008, 3016, 3032, 3032B, 4016, 4032, 4032B, 8032,
8096, 8296, SuperPET. PET uses IEEE-488 bus (not IEC serial), so no JiffyDOS support.
No cartridge support. Extension ROM slots ($9000/$A000/$B000) and German chargen
(chargen.de) are standalone-only features not exposed via libretro core options.
files: []

23
emulators/vice_xplus4.yml Normal file
View File

@@ -0,0 +1,23 @@
emulator: "VICE xplus4"
type: libretro
core_classification: community_fork
source: "https://github.com/libretro/vice-libretro"
upstream: "https://sourceforge.net/projects/vice-emu/"
profiled_date: "2026-03-25"
core_version: "3.10"
display_name: "Commodore - PLUS/4 (VICE xplus4)"
cores: [vice_xplus4]
systems: [commodore-plus4]
notes: >
All system ROMs embedded in binary: BASIC (318006-01), kernal PAL (318004-05),
kernal NTSC (318005-05), kernal V232 (318004-01), kernal V364 (364),
3+1 function low (317053-01), 3+1 function high (317054-01), V364 speech ROM
(c2lo-364). All drive ROMs embedded (1540, 1541, 1541-II, 1551, 1570, 1571,
1571CR, 1581, 1001, 2031, 2040, 3040, 4040, 9000). TED palettes embedded
(colodore_ted, BT601, BT709, BT2020, yape-pal, yape-ntsc). Embedded check in
sysfile_load takes priority over filesystem. Models: C16 PAL/NTSC, Plus/4
PAL/NTSC, V364 NTSC, 232 NTSC — all use embedded kernal variants. No JiffyDOS
support (C64/C128/SCPU64 only). 3+1 function ROMs loaded for Plus/4 and V364
models, cleared to 0xFF for C16 and 232 models. c2lo loaded only for V364 model.
files: []

View File

@@ -0,0 +1,59 @@
emulator: "VICE xscpu64"
type: libretro
core_classification: community_fork
source: "https://github.com/libretro/vice-libretro"
upstream: "https://sourceforge.net/projects/vice-emu/"
profiled_date: "2026-03-25"
core_version: "3.10"
display_name: "Commodore - C64 SuperCPU (VICE xscpu64)"
cores: [vice_xscpu64]
systems: [commodore-c64-supercpu]
notes: >
Embedded SCPU64 ROM V0.07 (free replacement by Soci/Singular, 64 KB), chargen
(901225-01, 906143-02), C64 BASIC (901226-01), all C64 kernals (Rev 3, GS,
SX-64, 4064, Japanese), all drive ROMs (1540 through 9000), and VIC-II palettes.
Embedded ROM check in sysfile_load takes priority over filesystem. External
scpu-dos-*.bin provide the original CMD SuperCPU DOS kernals, loaded from
system/vice/SCPU64/ when SuperCPU Kernal core option is changed from Internal.
JiffyDOS requires True Drive Emulation enabled and a non-internal SuperCPU
kernal (the internal ROM is not JiffyDOS-compatible). The .info incorrectly
declares JiffyDOS_C64.bin (firmware_count=4); the C64 kernal replacement is
only loaded for x64/x64sc/x128, never for xscpu64. Correct firmware_count=5
(2 SCPU64 kernals + 3 JiffyDOS drive DOSes).
files:
- name: "scpu-dos-2.04.bin"
description: "CMD SuperCPU Kernal v2.04"
required: false
min_size: 65536
max_size: 524288
validation: [size]
source_ref: "retrodep/ui.c:262-263, vice/src/scpu64/scpu64rom.c:75-89"
notes: "Loaded as SCPU64Name when SuperCPU Kernal option set to 2.04. Size must be power of 2 between 64 KB and 512 KB. Stored in system/vice/SCPU64/."
- name: "scpu-dos-1.4.bin"
description: "CMD SuperCPU Kernal v1.4"
required: false
min_size: 65536
max_size: 524288
validation: [size]
source_ref: "retrodep/ui.c:265-266, vice/src/scpu64/scpu64rom.c:75-89"
notes: "Loaded as SCPU64Name when SuperCPU Kernal option set to 1.40. Size must be power of 2 between 64 KB and 512 KB. Stored in system/vice/SCPU64/."
- name: "JiffyDOS_1541-II.bin"
description: "JiffyDOS 1541-II drive DOS replacement"
required: false
source_ref: "retrodep/ui.c:282-283"
notes: "Loaded as DosName1541ii when JiffyDOS option enabled."
- name: "JiffyDOS_1571_repl310654.bin"
description: "JiffyDOS 1571 drive DOS replacement"
required: false
source_ref: "retrodep/ui.c:285-286"
notes: "Loaded as DosName1571 when JiffyDOS option enabled."
- name: "JiffyDOS_1581.bin"
description: "JiffyDOS 1581 drive DOS replacement"
required: false
source_ref: "retrodep/ui.c:287-288"
notes: "Loaded as DosName1581 when JiffyDOS option enabled."

36
emulators/vice_xvic.yml Normal file
View File

@@ -0,0 +1,36 @@
emulator: "VICE xvic"
type: libretro
core_classification: community_fork
source: "https://github.com/libretro/vice-libretro"
upstream: "https://sourceforge.net/projects/vice-emu/"
profiled_date: "2026-03-25"
core_version: "3.10"
display_name: "Commodore - VIC-20 (VICE xvic)"
cores: [vice_xvic]
systems: [commodore-vic20]
notes: >
System ROMs embedded in binary: BASIC (901486-01), chargen (901460-03),
kernal PAL Rev 7 (901486-07), kernal NTSC Rev 6 (901486-06), plus all
drive ROMs (1540, 1541, 1541-II, 1551, 1570, 1571, 1571CR, 1581, 1001,
2031, 2040, 3040, 4040, 9000) and VIC palettes. Embedded ROM check in
sysfile_load takes priority over filesystem. Japanese VIC-1001 model
requires kernal Rev 2 (901486-02) and chargen (901460-02) on the
filesystem in system/vice/VIC20/; this model is not exposed via core
options (only via vicerc). No JiffyDOS support for VIC-20.
files:
- name: "kernal.901486-02.bin"
description: "VIC-1001 Kernal Rev 2 (Japanese NTSC)"
required: false
size: 8192
validation: [size]
source_ref: "vice/src/vic20/vic20rom.h:49, vice/src/vic20/vic20model.c:60, vice/src/vic20/vic20rom.c:112-120"
notes: "Not embedded. Loaded via sysfile from system/vice/VIC20/ when VIC-1001 Japanese model selected via vicerc."
- name: "chargen-901460-02.bin"
description: "VIC-1001 Character ROM (Japanese)"
required: false
size: 4096
validation: [size]
source_ref: "vice/src/vic20/vic20rom.h:53, vice/src/vic20/vic20model.c:60, vice/src/vic20/vic20rom.c:173-179"
notes: "Not embedded. Loaded via sysfile from system/vice/VIC20/ when VIC-1001 Japanese model selected via vicerc."

View File

@@ -1,7 +1,8 @@
emulator: vidtest
type: test
source: "https://github.com/libretro/RetroArch"
profiled_date: "2026-03-18"
core_classification: pure_libretro
source: "https://github.com/schellingb/vidtest_libretro"
profiled_date: "2026-03-25"
core_version: "0.1"
display_name: "VidTest"
cores:
@@ -9,11 +10,9 @@ cores:
systems: []
notes: |
Video test core built into RetroArch (not from libretro-samples). Tests
video driver capabilities: pixel format negotiation, resolution switching,
aspect ratio handling, and frame pacing. Renders test patterns for visual
validation of the video output chain.
No system files, BIOS, or firmware required. Not an emulator.
Video mode and input test core for libretro frontends. Provides interactive
GUI (Nuklear) to adjust resolution, aspect ratio, timing, and inspect full
input state across all device types. Renders directly to a software surface.
No system files required.
files: []

View File

@@ -1,8 +1,10 @@
emulator: Vircon32
type: libretro
core_classification: official_port
source: "https://github.com/vircon32/vircon32-libretro"
profiled_date: "2026-03-18"
core_version: "2024.08.28"
upstream: "https://github.com/vircon32/ComputerSoftware"
profiled_date: "2026-03-25"
core_version: "2026.2.18"
display_name: "Vircon32"
cores:
- vircon32
@@ -18,7 +20,7 @@ notes: |
C header (embedded/StandardBios.h), generated from Assets/StandardBios.v32
at build time. The core never strictly requires an external BIOS file.
BIOS loading logic (libretro.cpp:416-429):
BIOS loading logic (libretro.cpp:415-429):
1. Check if system_dir/Vircon32Bios.v32 exists on disk
2. If found, load it via Console.LoadBiosFile() (external override)
3. If not found, load the embedded BIOS via LoadEmbeddedBios()
@@ -44,7 +46,7 @@ files:
size: 1073060
md5: "73f04397cbb2dafcf2047b19a856153a"
sha1: "67ddbcd018f03ed74b6e013074d92cc5f1f51c80"
source_ref: "libretro.cpp:423-426"
source_ref: "libretro.cpp:422-425"
notes: |
Optional external BIOS placed in the system directory root.
If present, overrides the embedded Standard BIOS v1.2.

View File

@@ -1,7 +1,9 @@
emulator: Virtual Jaguar
type: libretro
core_classification: community_fork
source: "https://github.com/libretro/virtualjaguar-libretro"
profiled_date: "2026-03-18"
upstream: "http://shamusworld.gotdns.org/git/virtualjaguar"
profiled_date: "2025-03-25"
core_version: "v2.1.0"
display_name: "Atari - Jaguar (Virtual Jaguar)"
cores:

View File

@@ -1,55 +1,32 @@
emulator: VirtualXT
type: libretro
source: "https://github.com/libretro/virtualxt"
profiled_date: "2026-03-18"
core_version: "0.9.0"
core_classification: pure_libretro
source: "https://codeberg.org/virtualxt/virtualxt"
upstream: "https://codeberg.org/virtualxt/virtualxt"
profiled_date: "2026-03-25"
core_version: "2.1.0"
display_name: "VirtualXT"
cores: [virtualxt]
systems: [ibm-pc]
# VirtualXT is a Turbo PC/XT emulator (Intel 8088/186). Written in Odin.
# All BIOS ROMs are embedded at compile time via #load() directives in
# src/frontend/core.odin. No external BIOS files are required at runtime.
# The default machine setup (setup_default_machine) loads these embedded ROMs:
# - BIOS: GLaBIOS 0.2.6 or Turbo XT BIOS 3.1 (user selects via core option)
# - VGA BIOS: vgabios.bin (loaded when VGA video mode is selected)
# - Disk Extension: vxtx.bin (always loaded)
# - RTC BIOS: GLaTICK 0.8.4 (loaded when RTC is enabled)
# Core option "virtualxt_bios" selects between GLaBIOS and TurboXT at startup.
# Core option "virtualxt_video" selects CGA or VGA (VGA loads vgabios.bin).
# Core option "virtualxt_rtc" selects GLaTICK or none (loads GLaTICK_0.8.4_AT.ROM).
# INI config files (.ini extension) can reference external ROM paths, but the
# standard usage path does not require any files in the system directory.
# Embedded BIOS files (shipped inside the compiled core binary):
# All BIOS ROMs are embedded at compile time via Odin's #load() directive.
# No external files are loaded from system_dir in standard operation.
#
# GLABIOS.ROM 8192 bytes md5:bbeb6f7e2175732eebc3f0b49976347a sha1:701bb8ab0f9797581f795394a5c09eb147ff93d2
# pcxtbios.bin 8192 bytes md5:336bf8888a22075caa09e2e8e4d96a3b sha1:f7b73e441fd7b582a493837658fa17407e851d7c
# vgabios.bin 32768 bytes md5:9c80b0a0784dcf80f84c35b1cc8db81b sha1:251d85a90d3df3d116c30568167587ee3819f623
# vxtx.bin 2048 bytes md5:c6c7eef021e5e40503cb5ae860f02fde sha1:ccd27f24e5d7bd7d14b336be5b79b7ef8ba6e6be
# GLaTICK_0.8.4_AT.ROM 2048 bytes md5:06ead46b977ffb4a056844e2965653eb sha1:025c5d6d9391698488cebad11623ee239ce070a2
# Source references:
# src/frontend/core.odin:295-370 - BIOS embedding via #load("bios:...", []byte)
# src/frontend/options.odin:55 - core option "virtualxt_bios" (GLaBIOS|TurboXT)
# src/modules/rom/rom.odin:42-67 - load_from_file (INI path only)
# bios/ - open-source BIOS files (GLaBIOS, TurboXT, vgabios)
# Embedded ROMs (core.odin:323-394, edge branch):
# GLABIOS.ROM, pcxtbios.bin, vgabios.bin, vxtx.bin, GLaTICK_0.8.4_AT.ROM
#
# INI config files can reference external ROM paths via load_from_file
# (rom.odin:42-68), but this is not the standard usage path.
#
# source_ref: src/frontend/core.odin:323-394 (setup_default_machine, #load)
# source_ref: src/modules/rom/rom.odin:42-68 (load_from_file, INI only)
# source_ref: src/frontend/options.odin:55 (core option virtualxt_bios)
files: []
notes:
bios_approach: >
VirtualXT embeds all BIOS ROMs into the core binary at compile time using
Odin's #load() directive. The bios/ directory in the source tree contains
open-source replacements: GLaBIOS (GPL), Turbo XT BIOS 3.1, and vgabios.
No proprietary IBM PC/XT BIOS is needed.
ini_config: >
When loading an .ini file, the core can instantiate ROM modules with external
file paths (rom.odin handles string values for "mem" via load_from_file).
This is an advanced usage path; standard operation needs no external files.
All BIOS ROMs embedded at compile time via Odin #load() directive.
Open-source replacements: GLaBIOS (GPL), Turbo XT BIOS 3.1, vgabios.
No proprietary IBM PC/XT BIOS needed.
supported_extensions: "img, ini, exe, com"
supported_features: >
Intel 8088/186 CPU, CGA/VGA graphics, EMS memory, ethernet adapter,
host file sharing (RIFS2), GDB server, floppy and hard disk images.

View File

@@ -1,7 +1,9 @@
emulator: vitaQuakeII
type: libretro
core_classification: official_port
source: "https://github.com/libretro/vitaquake2"
profiled_date: "2026-03-18"
upstream: "https://github.com/Rinnegatamante/vitaQuakeII"
profiled_date: "2026-03-25"
core_version: "git"
display_name: "Quake II (vitaQuake 2)"
cores: [vitaquake2, vitaquake2-rogue, vitaquake2-xatrix, vitaquake2-zaero]

View File

@@ -1,22 +1,21 @@
emulator: vitaQuakeIII
type: game
core_classification: community_fork
source: "https://github.com/libretro/vitaquake3"
profiled_date: "2026-03-18"
upstream: "https://github.com/ioquake/ioq3"
profiled_date: "2026-03-25"
core_version: "git"
display_name: "Quake III: Arena (vitaQuake 3)"
cores: [vitaquake3, vitavoyager]
cores: [vitaquake3]
systems: [quake3]
notes: >
Quake III Arena and Star Trek Voyager Elite Force source ports. Built from
ioquake3 with the libretro backend. vitaquake3 plays Quake III Arena and
Team Arena, vitavoyager plays Star Trek Voyager Elite Force (Holomatch
multiplayer). Both cores accept .pk3 extensions. Content is loaded from the
.pk3 file path - the engine resolves the parent directory structure to find
baseq3/ (or baseEF/ for vitavoyager) and loads pak0.pk3 through pak8.pk3
sequentially. Game data files (.pk3 archives containing maps, textures,
models, shaders, sounds) come from the retail game, not engine firmware.
No files are required in the RetroArch system directory. The cores need
no BIOS or firmware.
Quake III Arena source port built from ioquake3 with the libretro backend.
Also supports Team Arena (missionpack), OpenArena (baseoa), Quake3Rally
(baseq3r), and Urban Terror (q3ut4) via path detection. Content is loaded
from the .pk3 file path - the engine resolves the parent directory structure
to find baseq3/ and loads pak0.pk3 through pak8.pk3 sequentially. Game data
files (.pk3 archives) come from the retail game. No files are required in
the RetroArch system directory.
files: []

View File

@@ -1,8 +1,20 @@
emulator: "vitavoyager"
type: alias
alias_of: "vitaquake3"
profiled_date: "2026-03-18"
emulator: vitavoyager
type: game
core_classification: community_fork
source: "https://github.com/libretro/vitavoyager"
upstream: "https://github.com/zturtleman/lilium-voyager"
profiled_date: "2026-03-25"
core_version: "git"
display_name: "Star Trek: Voyager - Elite Force (vitaVoyager)"
note: "This core uses the same BIOS/firmware as vitaquake3. See emulators/vitaquake3.yml for details."
cores: [vitavoyager]
systems: [quake3]
notes: >
Star Trek Voyager Elite Force Holomatch (multiplayer) source port built from
Lilium Voyager (itself an ioquake3 fork) with the libretro backend. Content
is loaded from the .pk3 file path - the engine resolves the parent directory
structure to find baseEF/ and loads pak0.pk3 through pak3.pk3 sequentially.
Game data files (.pk3 archives) come from the retail game. No files are
required in the RetroArch system directory.
files: []

View File

@@ -1,15 +1,15 @@
emulator: WASM-4
type: game
core_classification: game_engine
source: "https://github.com/aduros/wasm4"
profiled_date: "2026-03-18"
upstream: "https://github.com/aduros/wasm4"
profiled_date: "2026-03-25"
core_version: "2.1.0"
display_name: "WASM-4"
cores: [wasm4]
systems: []
files: []
notes: >
WASM-4 is a low-level fantasy game console for building small games with
WebAssembly. It provides a fixed 160x160 display, 4-color palette, gamepad
input, and 1024 bytes of persistent storage. Games are standalone .wasm
cartridges. The runtime is fully self-contained with no external file
dependencies. No BIOS or system directory files required.
Fantasy game console for WebAssembly. 160x160 display, 4-color palette,
1024 bytes persistent storage. Self-contained runtime, no external file
dependencies. Libretro backend is in the upstream repo (no separate fork).

View File

@@ -1,83 +1,92 @@
emulator: "X Millennium"
type: libretro
core_classification: community_fork
source: "https://github.com/libretro/xmil-libretro"
profiled_date: "2026-03-18"
core_version: "0.60"
upstream: "http://amethyst.yui.ne.jp/svn/x1/xmil/trunk/"
profiled_date: "2026-03-25"
core_version: "0.60a"
display_name: "Sharp X1 (X Millennium)"
cores:
- x1
systems:
- sharp-x1
# X Millennium (XMIL) is a Sharp X1 series emulator by yui. The libretro port
# supports X1, X1 Turbo, and X1 TurboZ models via the "X1_ROMTYPE" core option
# (values: X1, TURBO, TURBOZ; default: X1 = ROM_TYPE 1).
# X Millennium (XMIL) is a Sharp X1 series emulator by yui, ported to libretro
# by r-type. Supports X1, X1 Turbo, and X1 TurboZ models via the "X1_ROMTYPE"
# core option (X1 = ROM_TYPE 1, TURBO = 2, TURBOZ = 3).
#
# SUPPORT_TURBOZ is not compiled in the libretro build (compiler.h), so TurboZ
# extended color modes are unavailable. ROM_TYPE 3 still selects IPLROM.X1T.
#
# All system files go under: <system_dir>/xmil/
# (libretro.c:597 builds the path as "<system_dir>/xmil")
# retro_init() builds: retro_system_conf = "<system_dir>/xmil" (libretro.c:597)
#
# IPL ROM loading (memio.c:88-116):
# ROM_TYPE 0: uses built-in default IPL (575 bytes, basic boot stub from defipl.res)
# ROM_TYPE 1 (X1): loads xmil/IPLROM.X1 (32 KB)
# ROM_TYPE 2 (Turbo): loads xmil/IPLROM.X1T (32 KB)
# ROM_TYPE 3 (TurboZ): loads xmil/IPLROM.X1T (32 KB, same file as Turbo)
# If the file is missing, the core falls back to the built-in default IPL.
# IPL ROM loading (memio.c:87-121):
# biosmem is initialized with defaultiplrom (575-byte boot stub from defipl.res).
# ROM_TYPE >= 1: loads external IPL ROM into biosmem, overwriting the stub.
# ROM_TYPE 1 (X1): xmil/IPLROM.X1
# ROM_TYPE >= 2 (Turbo/TurboZ): xmil/IPLROM.X1T
# Path built explicitly: sprintf(rtmp, "%s%c%s", retro_system_conf, slash, iplfile)
# If file missing, the 575-byte stub remains (limited boot capability).
#
# Font loading (font.c:90-127, fontx1.c:70-123):
# font_load() calls x1fontread() which looks for font files using fontopen().
# fontopen() resolves paths relative to the working directory (file_getcd()),
# which in libretro context is the xmil subdirectory.
# Built-in defaults (defrom_ank, defrom_txt) are used for basic ASCII rendering.
# External font ROMs add full Japanese character support.
# Font loading (fontx1.c:69-122, font.c:89-127):
# font_load(NULL, TRUE) called from pccore_initialize() (pccore.c:67).
# Built-in defaults (defrom_ank, defrom_txt from fontdata.c) provide basic ASCII.
# x1fontread() tries to load external font files via fontopen().
# Font path resolution uses file_getcd() which defaults to "./" in the libretro
# port (file_setcd() is never called). Upstream win9x/sdl2 calls file_setcd()
# to set the working dir. Fonts may not be found from xmil/ in practice.
#
# The .info file only lists IPLROM.X1 and IPLROM.X1T as required BIOS files.
# Font ROMs are optional -- the core renders basic text without them but Japanese
# kanji display requires the external font files.
# .info declares firmware_count=2 (IPL ROMs only). Font files are not declared.
# .info firmware1_desc incorrectly says "8x8 Font ROM" (actually Turbo IPL ROM).
notes: |
Place all files in: <system_dir>/xmil/
The core selects between IPLROM.X1 and IPLROM.X1T based on the "X1_ROMTYPE"
core option. A built-in fallback IPL exists but lacks full boot functionality.
Font files are optional; without them, kanji/JIS characters won't render.
core option. A 575-byte built-in IPL stub provides limited boot without the
real ROMs. Font files add Japanese character support; the libretro port has a
path resolution quirk where fonts are searched in "./" instead of "xmil/"
(missing file_setcd call).
files:
# -- IPL ROMs --
- name: IPLROM.X1
path: xmil/IPLROM.X1
size: 32768
md5: eeeea1cd29c6e0e8b094790ae969bfa7
required: true
note: "X1 IPL ROM (32 KB). Loaded when ROM_TYPE=1 (X1 model). Listed in .info."
source_ref: "io/memio.c:82,96-103"
required: false
hle_fallback: true
description: "X1 IPL ROM. Loaded when ROM_TYPE=1 (X1 model)."
source_ref: "io/memio.c:82,96-108"
- name: IPLROM.X1T
path: xmil/IPLROM.X1T
size: 32768
md5: 851e4a5936f17d13f8c39a980cf00d77
required: true
note: "X1 Turbo/TurboZ IPL ROM (32 KB). Loaded when ROM_TYPE=2 or 3. Listed in .info."
source_ref: "io/memio.c:83,97-99"
# -- Font ROMs (optional, for Japanese text rendering) --
required: false
hle_fallback: true
description: "X1 Turbo/TurboZ IPL ROM. Loaded when ROM_TYPE=2 or 3."
source_ref: "io/memio.c:83,97-108"
- name: FNT0808.X1
path: xmil/FNT0808.X1
size: 2048
validation: [size]
required: false
note: "8x8 ANK font ROM (2 KB). Provides half-width ASCII/kana characters."
hle_fallback: true
description: "8x8 ANK font ROM. Built-in defrom_ank fallback provides basic ASCII."
source_ref: "font/fontdata.c:6, font/fontx1.c:79-87"
- name: FNT0816.X1
path: xmil/FNT0816.X1
size: 4096
validation: [size]
required: false
note: "8x16 ANK font ROM (4 KB). Provides taller half-width characters for text mode."
hle_fallback: true
description: "8x16 ANK font ROM. Built-in fallback derived from defrom_ank/defrom_txt."
source_ref: "font/fontdata.c:7, font/fontx1.c:89-103"
- name: FNT1616.X1
path: xmil/FNT1616.X1
size: 306176
validation: [size]
required: false
note: "16x16 Kanji font ROM (~299 KB). Full JIS kanji character set for Japanese text."
description: "16x16 Kanji font ROM. No built-in kanji data (zeroed). Required for Japanese text."
source_ref: "font/fontdata.c:8, font/fontx1.c:105-120"