mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-11-11 12:33:53 -06:00
feat: document the jgenesis libretro build
This commit is contained in:
1 parent
5ecf318c4a
commit
daae431dd3
1 file changed
+74
-21
+74
-21
@@ -1,15 +1,26 @@
|
||||
emulator: jgenesis
|
||||
type: standalone
|
||||
type: standalone + libretro
|
||||
core_classification: other
|
||||
source: "https://github.com/jsgroth/jgenesis"
|
||||
source:
|
||||
standalone: "https://github.com/jsgroth/jgenesis"
|
||||
libretro: "https://github.com/RobLoach/libretro-jgenesis"
|
||||
upstream: "https://github.com/jsgroth/jgenesis"
|
||||
profiled_date: "2026-08-08"
|
||||
source_commit: "0a00c47ba7a16bd6e77ef7e0b6c8fab2fc603cba"
|
||||
core_version: "0.14.1"
|
||||
profiled_date: "2026-11-09"
|
||||
source_commit:
|
||||
standalone: "0a00c47ba7a16bd6e77ef7e0b6c8fab2fc603cba"
|
||||
libretro: "c92ff9269594b44e2f9ecfca5ff943e5bea49fb7"
|
||||
core_version:
|
||||
standalone: "0.14.1"
|
||||
libretro: "0.14.1"
|
||||
version_basis:
|
||||
kind: file
|
||||
path: "Cargo.toml"
|
||||
pattern: 'version\s+=\s+"([^"]+)'
|
||||
standalone:
|
||||
kind: file
|
||||
path: "Cargo.toml"
|
||||
pattern: 'version\s+=\s+"([^"]+)'
|
||||
libretro:
|
||||
kind: file
|
||||
path: "Cargo.toml"
|
||||
pattern: 'version\s+=\s+"([^"]+)'
|
||||
display_name: "Multi-System (jgenesis)"
|
||||
cores:
|
||||
- jgenesis
|
||||
@@ -27,7 +38,6 @@ systems:
|
||||
- nintendo-gba
|
||||
- nec-pc-engine
|
||||
- nec-pc-engine-cd
|
||||
mode: standalone
|
||||
|
||||
notes: |
|
||||
Multi-system emulator written in Rust by James Groth. One binary covers
|
||||
@@ -81,6 +91,20 @@ notes: |
|
||||
tested for existence only, to keep the settings beside the executable
|
||||
(frontend/jgenesis-native-config/src/paths.rs:57-64).
|
||||
|
||||
The libretro build is a separate frontend, libretro-jgenesis, that
|
||||
builds the jgenesis backend crates at the same revision 0a00c47, the
|
||||
rev its Cargo.toml pins for each of them. It opens fixed names in the
|
||||
system directory, or beside the content when the frontend gives none:
|
||||
bios_CD_U.bin, bios_CD_E.bin or bios_CD_J.bin by region, gba_bios.bin,
|
||||
syscard3.pce and the seven SNES coprocessor ROMs. The Sega CD region is
|
||||
the core option, else the disc header, else Americas. A missing BIOS
|
||||
fails the load, except for a Mode 1 cartridge loaded alone, which
|
||||
runs without the Sega CD. It never passes a Master System, Game Gear or Game Boy boot
|
||||
ROM to the backend, and reads no palette file.
|
||||
ref: src/load.rs:30-34, src/load.rs:48-56, src/load.rs:140-144,
|
||||
src/load.rs:329-336, src/load.rs:386-400, src/load.rs:413,
|
||||
src/load.rs:445
|
||||
|
||||
files:
|
||||
# -------------------------------------------------------
|
||||
# Sega CD
|
||||
@@ -92,7 +116,9 @@ files:
|
||||
required: true
|
||||
size: 131072
|
||||
validation: [size]
|
||||
source_ref: "frontend/jgenesis-native-driver/src/mainloop/genesis.rs:43-53 (read), frontend/jgenesis-native-driver/src/mainloop/genesis.rs:234-240 (bios_path_for_region), backend/segacd-core/src/api.rs:77-79 (BIOS_LEN check)"
|
||||
source_ref:
|
||||
standalone: "frontend/jgenesis-native-driver/src/mainloop/genesis.rs:43-53 (read), frontend/jgenesis-native-driver/src/mainloop/genesis.rs:234-240 (bios_path_for_region), backend/segacd-core/src/api.rs:77-79 (BIOS_LEN check)"
|
||||
libretro: "src/load.rs:30, src/load.rs:48-56, src/load.rs:329-349"
|
||||
note: "Selected when the disc region is Americas, and for every region when per_region_bios is off."
|
||||
|
||||
- name: "bios_CD_E.bin"
|
||||
@@ -102,7 +128,9 @@ files:
|
||||
required: true
|
||||
size: 131072
|
||||
validation: [size]
|
||||
source_ref: "frontend/jgenesis-native-driver/src/mainloop/genesis.rs:234-240 (eu_bios_path), backend/segacd-core/src/api.rs:77-79"
|
||||
source_ref:
|
||||
standalone: "frontend/jgenesis-native-driver/src/mainloop/genesis.rs:234-240 (eu_bios_path), backend/segacd-core/src/api.rs:77-79"
|
||||
libretro: "src/load.rs:31, src/load.rs:48-56, src/load.rs:329-349"
|
||||
note: "Selected when the header area at 0x1F0 holds E and not U or J, as Australian discs do (backend/genesis-components/src/cartridge.rs:362-377, backend/segacd-core/src/api.rs:339-369)."
|
||||
|
||||
- name: "bios_CD_J.bin"
|
||||
@@ -112,7 +140,9 @@ files:
|
||||
required: true
|
||||
size: 131072
|
||||
validation: [size]
|
||||
source_ref: "frontend/jgenesis-native-driver/src/mainloop/genesis.rs:234-240 (jp_bios_path), backend/segacd-core/src/api.rs:77-79"
|
||||
source_ref:
|
||||
standalone: "frontend/jgenesis-native-driver/src/mainloop/genesis.rs:234-240 (jp_bios_path), backend/segacd-core/src/api.rs:77-79"
|
||||
libretro: "src/load.rs:32, src/load.rs:48-56, src/load.rs:329-349"
|
||||
|
||||
# -------------------------------------------------------
|
||||
# Game Boy Advance
|
||||
@@ -123,7 +153,9 @@ files:
|
||||
required: true
|
||||
size: 16384
|
||||
validation: [size]
|
||||
source_ref: "frontend/jgenesis-native-driver/src/mainloop/gba.rs:32-36 (GbaNoBios), backend/gba-core/src/memory.rs:10, 102-107 (BIOS_ROM_LEN check)"
|
||||
source_ref:
|
||||
standalone: "frontend/jgenesis-native-driver/src/mainloop/gba.rs:32-36 (GbaNoBios), backend/gba-core/src/memory.rs:10, 102-107 (BIOS_ROM_LEN check)"
|
||||
libretro: "src/load.rs:33, src/load.rs:48-56, src/load.rs:450"
|
||||
note: "Every GBA load fails without it. skip_bios_animation only skips the intro, the BIOS is still mapped and read for SWI calls."
|
||||
|
||||
# -------------------------------------------------------
|
||||
@@ -135,7 +167,9 @@ files:
|
||||
description: "NEC uPD77C25 firmware for DSP-1"
|
||||
required: true
|
||||
size: 8192
|
||||
source_ref: "backend/snes-core/src/memory/cartridge.rs:336-353 (MissingDsp1Rom), backend/snes-coprocessors/src/upd77c25.rs:28-31,35-38,382-390"
|
||||
source_ref:
|
||||
standalone: "backend/snes-core/src/memory/cartridge.rs:336-353 (MissingDsp1Rom), backend/snes-coprocessors/src/upd77c25.rs:28-31,35-38,382-390"
|
||||
libretro: "src/load.rs:477-491"
|
||||
note: "0x1800 program plus 0x800 data. Also used by DSP-1B titles, which have no separate slot. Layout is sliced at a fixed offset, size is not checked."
|
||||
|
||||
- name: "dsp2.rom"
|
||||
@@ -144,7 +178,9 @@ files:
|
||||
description: "NEC uPD77C25 firmware for DSP-2"
|
||||
required: true
|
||||
size: 8192
|
||||
source_ref: "backend/snes-core/src/memory/cartridge.rs:340-342 (MissingDsp2Rom), :929 (Dungeon Master CRC32 match), backend/snes-coprocessors/src/upd77c25.rs:382-390"
|
||||
source_ref:
|
||||
standalone: "backend/snes-core/src/memory/cartridge.rs:340-342 (MissingDsp2Rom), :929 (Dungeon Master CRC32 match), backend/snes-coprocessors/src/upd77c25.rs:382-390"
|
||||
libretro: "src/load.rs:477-491"
|
||||
|
||||
- name: "dsp3.rom"
|
||||
aliases: ["SNES_dsp3.rom"]
|
||||
@@ -152,7 +188,9 @@ files:
|
||||
description: "NEC uPD77C25 firmware for DSP-3"
|
||||
required: true
|
||||
size: 8192
|
||||
source_ref: "backend/snes-core/src/memory/cartridge.rs:343-345 (MissingDsp3Rom), :931 (SD Gundam GX CRC32 match), backend/snes-coprocessors/src/upd77c25.rs:382-390"
|
||||
source_ref:
|
||||
standalone: "backend/snes-core/src/memory/cartridge.rs:343-345 (MissingDsp3Rom), :931 (SD Gundam GX CRC32 match), backend/snes-coprocessors/src/upd77c25.rs:382-390"
|
||||
libretro: "src/load.rs:477-491"
|
||||
|
||||
- name: "dsp4.rom"
|
||||
aliases: ["SNES_dsp4.rom"]
|
||||
@@ -160,7 +198,9 @@ files:
|
||||
description: "NEC uPD77C25 firmware for DSP-4"
|
||||
required: true
|
||||
size: 8192
|
||||
source_ref: "backend/snes-core/src/memory/cartridge.rs:346-348 (MissingDsp4Rom), :933 (Top Gear 3000 CRC32 match), backend/snes-coprocessors/src/upd77c25.rs:382-390"
|
||||
source_ref:
|
||||
standalone: "backend/snes-core/src/memory/cartridge.rs:346-348 (MissingDsp4Rom), :933 (Top Gear 3000 CRC32 match), backend/snes-coprocessors/src/upd77c25.rs:382-390"
|
||||
libretro: "src/load.rs:477-491"
|
||||
|
||||
- name: "st010.rom"
|
||||
aliases: ["SNES_st010.rom"]
|
||||
@@ -168,7 +208,9 @@ files:
|
||||
description: "NEC uPD96050 firmware for ST010"
|
||||
required: true
|
||||
size: 53248
|
||||
source_ref: "backend/snes-core/src/memory/cartridge.rs:294-305 (MissingSt010Rom), :938-943 (variant detection), backend/snes-coprocessors/src/upd77c25.rs:28-31,35-38"
|
||||
source_ref:
|
||||
standalone: "backend/snes-core/src/memory/cartridge.rs:294-305 (MissingSt010Rom), :938-943 (variant detection), backend/snes-coprocessors/src/upd77c25.rs:28-31,35-38"
|
||||
libretro: "src/load.rs:477-491"
|
||||
note: "0xC000 program plus 0x1000 data. Used by F1 ROC II."
|
||||
|
||||
- name: "st011.rom"
|
||||
@@ -177,7 +219,9 @@ files:
|
||||
description: "NEC uPD96050 firmware for ST011"
|
||||
required: true
|
||||
size: 53248
|
||||
source_ref: "backend/snes-core/src/memory/cartridge.rs:298-300 (MissingSt011Rom), :938-943 (Hayazashi Nidan Morita Shougi CRC32 match)"
|
||||
source_ref:
|
||||
standalone: "backend/snes-core/src/memory/cartridge.rs:298-300 (MissingSt011Rom), :938-943 (Hayazashi Nidan Morita Shougi CRC32 match)"
|
||||
libretro: "src/load.rs:477-491"
|
||||
|
||||
- name: "st018.rom"
|
||||
aliases: ["SNES_st018.rom"]
|
||||
@@ -186,7 +230,9 @@ files:
|
||||
required: true
|
||||
min_size: 163840
|
||||
validation: [size]
|
||||
source_ref: "backend/snes-core/src/memory/cartridge.rs:310-320 (MissingSt018Rom), backend/snes-coprocessors/src/st018.rs:18-22,346-352 (TOTAL_ROM_LEN check)"
|
||||
source_ref:
|
||||
standalone: "backend/snes-core/src/memory/cartridge.rs:310-320 (MissingSt018Rom), backend/snes-coprocessors/src/st018.rs:18-22,346-352 (TOTAL_ROM_LEN check)"
|
||||
libretro: "src/load.rs:477-491"
|
||||
note: "0x20000 program plus 0x8000 data. Used by Hayazashi Nidan Morita Shougi 2. Files larger than the expected length are accepted, shorter ones are rejected."
|
||||
|
||||
# -------------------------------------------------------
|
||||
@@ -196,13 +242,16 @@ files:
|
||||
system: nec-pc-engine-cd
|
||||
description: "Super CD-ROM² System Card 3.0"
|
||||
required: true
|
||||
source_ref: "frontend/jgenesis-native-driver/src/mainloop/pce.rs:29-50 (PceCdNoBios), frontend/jgenesis-native-config/src/pce.rs:15, 44, backend/pce-core/src/cartridge.rs:84-101, config/pce-config/src/lib.rs:60-65"
|
||||
source_ref:
|
||||
standalone: "frontend/jgenesis-native-driver/src/mainloop/pce.rs:29-50 (PceCdNoBios), frontend/jgenesis-native-config/src/pce.rs:15, 44, backend/pce-core/src/cartridge.rs:84-101, config/pce-config/src/lib.rs:60-65"
|
||||
libretro: "src/load.rs:34, src/load.rs:48-56, src/load.rs:317"
|
||||
note: "Every disc fails to load without it. One slot accepts any System Card dump, no size or content check, but the default Arcade Card and the Super System Card need a v3.0 ROM. A file over 512 KiB is mapped as a plain HuCard."
|
||||
|
||||
# -------------------------------------------------------
|
||||
# Master System / Game Gear
|
||||
# -------------------------------------------------------
|
||||
- name: "bios.sms"
|
||||
mode: standalone
|
||||
system: sega-mastersystem
|
||||
description: "Master System BIOS"
|
||||
required: false
|
||||
@@ -210,6 +259,7 @@ files:
|
||||
note: "Read only when sms_boot_from_bios is enabled or the emulator runs without a cartridge, both off by default. One slot accepts any regional dump, no size or content check."
|
||||
|
||||
- name: "bios.gg"
|
||||
mode: standalone
|
||||
system: sega-gamegear
|
||||
description: "Game Gear BIOS"
|
||||
required: false
|
||||
@@ -220,6 +270,7 @@ files:
|
||||
# Game Boy / Game Boy Color
|
||||
# -------------------------------------------------------
|
||||
- name: "dmg_boot.bin"
|
||||
mode: standalone
|
||||
system: nintendo-gb
|
||||
description: "Game Boy boot ROM"
|
||||
required: false
|
||||
@@ -229,6 +280,7 @@ files:
|
||||
note: "Loaded only when dmg_boot_rom is enabled, off by default. Without it the CPU starts post-boot."
|
||||
|
||||
- name: "cgb_boot.bin"
|
||||
mode: standalone
|
||||
system: nintendo-gbc
|
||||
description: "Game Boy Color boot ROM"
|
||||
required: false
|
||||
@@ -242,6 +294,7 @@ files:
|
||||
# NES
|
||||
# -------------------------------------------------------
|
||||
- name: "nes.pal"
|
||||
mode: standalone
|
||||
aliases: ["nespalette.pal"]
|
||||
system: nintendo-nes
|
||||
description: "External NES color palette"
|
||||
|
||||
Reference in new issue
Block a user