mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-04-16 22:02:31 -05:00
feat: re-profile 22 emulators, refactor validation to common.py
batch re-profiled nekop2 through pokemini. mupen64plus renamed to mupen64plus_next. new profiles: nes, mupen64plus_next. validation functions (_build_validation_index, check_file_validation) consolidated in common.py — single source of truth for verify.py and generate_pack.py. pipeline 100% consistent on all 6 platforms.
This commit is contained in:
@@ -1,9 +1,12 @@
|
||||
emulator: PicoDrive
|
||||
type: libretro
|
||||
core_classification: official_port
|
||||
source: "https://github.com/libretro/picodrive"
|
||||
profiled_date: "2026-03-18"
|
||||
upstream: "https://github.com/irixxxx/picodrive"
|
||||
profiled_date: "2026-03-24"
|
||||
core_version: "1.99"
|
||||
display_name: "Sega - MS/GG/MD/CD/32X (PicoDrive)"
|
||||
cores: [picodrive]
|
||||
systems:
|
||||
- sega-megadrive
|
||||
- sega-genesis
|
||||
@@ -13,33 +16,48 @@ systems:
|
||||
- sega-mastersystem
|
||||
- sega-gamegear
|
||||
- sega-sg1000
|
||||
- sega-sc3000
|
||||
- sega-pico
|
||||
|
||||
notes: |
|
||||
PicoDrive is a fast Mega Drive / Genesis emulator with Mega CD, 32X, Master
|
||||
System, Game Gear, SG-1000 and Sega Pico support.
|
||||
System, Game Gear, SG-1000, SC-3000 and Sega Pico support. The libretro port
|
||||
is part of the PicoDrive source tree (platform/libretro/).
|
||||
|
||||
Mega CD / Sega CD games require a region-matching BIOS file. The core searches
|
||||
the system directory for each name in order, trying .bin then .zip extension,
|
||||
and uses the first file found. If no BIOS is found, CD games fail to load with
|
||||
PM_BAD_CD_NO_BIOS. MSU-MD games can run without BIOS.
|
||||
|
||||
BIOS filename search order (platform/libretro/libretro.c:1265-1329):
|
||||
BIOS filename search order (platform/libretro/libretro.c:1264-1328):
|
||||
US: us_scd2_9306, SegaCDBIOS9303, us_scd1_9210, bios_CD_U
|
||||
EU: eu_mcd2_9306, eu_mcd2_9303, eu_mcd1_9210, bios_CD_E
|
||||
JP: jp_mcd2_921222, jp_mcd1_9112, jp_mcd1_9111, bios_CD_J
|
||||
|
||||
32X BIOS files (m68k, master SH2, slave SH2) are fully optional. The core
|
||||
has built-in HLE that generates replacement code at startup when the external
|
||||
BIOS pointers are NULL (pico/32x/memory.c:2200 get_bios(), pico/32x/32x.c:172).
|
||||
The libretro frontend does not expose any 32X BIOS loading path. Only the
|
||||
standalone platform code references 32X_M_BIOS.BIN / 32X_S_BIOS.BIN, and
|
||||
that code is currently disabled (#if 0 in platform/common/emu.c:1529).
|
||||
32X BIOS files (m68k, master SH2, slave SH2) are fully optional. The engine
|
||||
has built-in HLE that generates replacement code at startup when the BIOS
|
||||
pointers are NULL (pico/32x/memory.c:2199 get_bios(), pico/32x/32x.c:172).
|
||||
No current frontend (libretro or standalone) loads these files; the standalone
|
||||
loading code is disabled (#if 0 in platform/common/emu.c:1529).
|
||||
|
||||
Master System, Game Gear, SG-1000: no BIOS file loaded. The core initializes
|
||||
VDP registers and RAM to simulate post-BIOS state (pico/sms.c:1080-1096).
|
||||
carthw.cfg is a cartridge hardware database loaded from the system directory.
|
||||
A built-in version is compiled into the core (pico/carthw_cfg.c). The external
|
||||
file supplements or overrides game-specific hardware detection (SVP, EEPROM
|
||||
types, special mappers, copy protection).
|
||||
|
||||
Master System, Game Gear, SG-1000, SC-3000: no BIOS file loaded. The core
|
||||
initializes VDP registers and RAM to simulate post-BIOS state
|
||||
(pico/sms.c:1080-1097).
|
||||
|
||||
files:
|
||||
# -------------------------------------------------------
|
||||
# Cartridge hardware database
|
||||
# -------------------------------------------------------
|
||||
- name: "carthw.cfg"
|
||||
required: false
|
||||
note: "Cartridge hardware database for special mapper and EEPROM detection. Built-in fallback compiled into the core."
|
||||
source_ref: "platform/libretro/libretro.c:1619, pico/cart.c:1020-1022"
|
||||
|
||||
# -------------------------------------------------------
|
||||
# Mega CD / Sega CD - US region
|
||||
# -------------------------------------------------------
|
||||
@@ -48,28 +66,28 @@ files:
|
||||
required: true
|
||||
size: 131072 # 128 KB (0x20000)
|
||||
note: "US Sega CD Model 2 BIOS (September 1993). First in US search order."
|
||||
source_ref: "platform/libretro/libretro.c:1266"
|
||||
source_ref: "platform/libretro/libretro.c:1265"
|
||||
|
||||
- name: "SegaCDBIOS9303.bin"
|
||||
system: sega-segacd
|
||||
required: false
|
||||
size: 131072
|
||||
note: "US Sega CD BIOS (March 1993). Second in US search order."
|
||||
source_ref: "platform/libretro/libretro.c:1266"
|
||||
source_ref: "platform/libretro/libretro.c:1265"
|
||||
|
||||
- name: "us_scd1_9210.bin"
|
||||
system: sega-segacd
|
||||
required: false
|
||||
size: 131072
|
||||
note: "US Sega CD Model 1 BIOS (October 1992). Third in US search order."
|
||||
source_ref: "platform/libretro/libretro.c:1266"
|
||||
source_ref: "platform/libretro/libretro.c:1265"
|
||||
|
||||
- name: "bios_CD_U.bin"
|
||||
system: sega-segacd
|
||||
required: false
|
||||
size: 131072
|
||||
note: "US Sega CD BIOS (generic name). Last in US search order."
|
||||
source_ref: "platform/libretro/libretro.c:1266"
|
||||
source_ref: "platform/libretro/libretro.c:1265"
|
||||
|
||||
# -------------------------------------------------------
|
||||
# Mega CD / Sega CD - EU region
|
||||
@@ -79,28 +97,28 @@ files:
|
||||
required: true
|
||||
size: 131072
|
||||
note: "EU Mega CD Model 2 BIOS (June 1993). First in EU search order."
|
||||
source_ref: "platform/libretro/libretro.c:1269"
|
||||
source_ref: "platform/libretro/libretro.c:1268"
|
||||
|
||||
- name: "eu_mcd2_9303.bin"
|
||||
system: sega-megacd
|
||||
required: false
|
||||
size: 131072
|
||||
note: "EU Mega CD Model 2 BIOS (March 1993). Second in EU search order."
|
||||
source_ref: "platform/libretro/libretro.c:1269"
|
||||
source_ref: "platform/libretro/libretro.c:1268"
|
||||
|
||||
- name: "eu_mcd1_9210.bin"
|
||||
system: sega-megacd
|
||||
required: false
|
||||
size: 131072
|
||||
note: "EU Mega CD Model 1 BIOS (October 1992). Third in EU search order."
|
||||
source_ref: "platform/libretro/libretro.c:1269"
|
||||
source_ref: "platform/libretro/libretro.c:1268"
|
||||
|
||||
- name: "bios_CD_E.bin"
|
||||
system: sega-megacd
|
||||
required: false
|
||||
size: 131072
|
||||
note: "EU Mega CD BIOS (generic name). Last in EU search order."
|
||||
source_ref: "platform/libretro/libretro.c:1269"
|
||||
source_ref: "platform/libretro/libretro.c:1268"
|
||||
|
||||
# -------------------------------------------------------
|
||||
# Mega CD / Sega CD - JP region
|
||||
@@ -110,31 +128,31 @@ files:
|
||||
required: true
|
||||
size: 131072
|
||||
note: "JP Mega CD Model 2 BIOS (December 1992). First in JP search order."
|
||||
source_ref: "platform/libretro/libretro.c:1272"
|
||||
source_ref: "platform/libretro/libretro.c:1271"
|
||||
|
||||
- name: "jp_mcd1_9112.bin"
|
||||
system: sega-megacd
|
||||
required: false
|
||||
size: 131072
|
||||
note: "JP Mega CD Model 1 BIOS (December 1991). Second in JP search order."
|
||||
source_ref: "platform/libretro/libretro.c:1272"
|
||||
source_ref: "platform/libretro/libretro.c:1271"
|
||||
|
||||
- name: "jp_mcd1_9111.bin"
|
||||
system: sega-megacd
|
||||
required: false
|
||||
size: 131072
|
||||
note: "JP Mega CD Model 1 BIOS (November 1991). Third in JP search order."
|
||||
source_ref: "platform/libretro/libretro.c:1272"
|
||||
source_ref: "platform/libretro/libretro.c:1271"
|
||||
|
||||
- name: "bios_CD_J.bin"
|
||||
system: sega-megacd
|
||||
required: false
|
||||
size: 131072
|
||||
note: "JP Mega CD BIOS (generic name). Last in JP search order."
|
||||
source_ref: "platform/libretro/libretro.c:1272"
|
||||
source_ref: "platform/libretro/libretro.c:1271"
|
||||
|
||||
# -------------------------------------------------------
|
||||
# Sega 32X - HLE available, not loaded by libretro frontend
|
||||
# Sega 32X - HLE available, no frontend loads these
|
||||
# -------------------------------------------------------
|
||||
- name: "32X_G_BIOS.BIN"
|
||||
system: sega-32x
|
||||
@@ -142,7 +160,7 @@ files:
|
||||
hle_fallback: true
|
||||
size: 256 # 0x100
|
||||
note: "32X 68K (Genesis-side) BIOS. HLE replacement generated when NULL."
|
||||
source_ref: "pico/32x/memory.c:2207-2243"
|
||||
source_ref: "pico/32x/memory.c:2206-2243"
|
||||
|
||||
- name: "32X_M_BIOS.BIN"
|
||||
system: sega-32x
|
||||
@@ -150,7 +168,7 @@ files:
|
||||
hle_fallback: true
|
||||
size: 2048 # 0x800
|
||||
note: "32X Master SH2 BIOS. HLE replacement generated when NULL."
|
||||
source_ref: "pico/32x/memory.c:2250-2277"
|
||||
source_ref: "pico/32x/memory.c:2249-2276"
|
||||
|
||||
- name: "32X_S_BIOS.BIN"
|
||||
system: sega-32x
|
||||
@@ -158,7 +176,7 @@ files:
|
||||
hle_fallback: true
|
||||
size: 1024 # 0x400
|
||||
note: "32X Slave SH2 BIOS. HLE replacement generated when NULL."
|
||||
source_ref: "pico/32x/memory.c:2280-2298"
|
||||
source_ref: "pico/32x/memory.c:2279-2297"
|
||||
|
||||
platform_details:
|
||||
megacd:
|
||||
@@ -166,16 +184,16 @@ platform_details:
|
||||
hle_available: false
|
||||
region_specific: true
|
||||
extensions_tried: [".bin", ".zip"]
|
||||
source_ref: "pico/pico_int.h:559, platform/libretro/libretro.c:1310-1318"
|
||||
source_ref: "pico/pico_int.h:559, platform/libretro/libretro.c:1309-1317"
|
||||
|
||||
32x:
|
||||
m68k_bios_size: 256 # 0x100
|
||||
master_sh2_bios_size: 2048 # 0x800
|
||||
slave_sh2_bios_size: 1024 # 0x400
|
||||
hle_available: true
|
||||
source_ref: "pico/pico.h:53-55, pico/pico_int.h:679-693"
|
||||
source_ref: "pico/pico.h:54-55, pico/pico_int.h:679-693"
|
||||
|
||||
sms:
|
||||
hle_available: true
|
||||
note: "No BIOS file loaded. VDP/RAM initialized to post-BIOS state."
|
||||
source_ref: "pico/sms.c:1080-1096"
|
||||
source_ref: "pico/sms.c:1080-1097"
|
||||
|
||||
Reference in New Issue
Block a user