mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-11-01 00:27:20 -05:00
Each libretro profile records version_basis and core_version is read there at its pin. snes9x states 1.63 in snes9x.h, nestopia 2.0.0, mgba 0.11.0, vice 3.10, atari800's libretro tree 7.0.0. Cores whose build takes its version from git carry the nearest tag in describe form (flycast v2.7-90-ge88b0ce, ppsspp, duckstation, gearcoleco), placeholders copied from .info files (Git, SVN) are replaced by the code's statement, and a code that states none is null with kind none.
70 lines
2.6 KiB
YAML
70 lines
2.6 KiB
YAML
emulator: CrocoDS
|
|
type: libretro
|
|
core_classification: official_port
|
|
source: "https://github.com/libretro/libretro-crocods"
|
|
upstream: "https://github.com/redbug26/crocods-core"
|
|
profiled_date: "2026-03-23"
|
|
source_commit: "a9c63b29443715ae2add392010fca4eae7f93e67"
|
|
core_version: "2024-10-16"
|
|
version_basis:
|
|
kind: file
|
|
path: "crocods-core/crocods.h"
|
|
pattern: '#define\s+CROCOVERSION\s+"([^"]+)"'
|
|
display_name: "Amstrad - CPC (CrocoDS)"
|
|
cores:
|
|
- crocods
|
|
systems:
|
|
- amstrad-cpc
|
|
|
|
notes: |
|
|
CrocoDS is an Amstrad CPC 6128 emulator ported to libretro. Supports
|
|
.dsk, .sna, and .kcr file formats.
|
|
|
|
All system ROMs are compiled directly into the core binary as C byte
|
|
arrays. No external BIOS files are required.
|
|
|
|
Embedded ROMs (crocods-core/):
|
|
- cpc6128.bin.c: cpc6128_bin[32768] - CPC 6128 OS (16KB) + BASIC 1.1 (16KB)
|
|
- romdisc.bin.c: romdisc_bin[16384] - AMSDOS disk controller ROM (16KB)
|
|
|
|
ROM initialization in InitMemCPC() (crocods-core/vga.c:185-200):
|
|
- ROMINF (lower ROM, 16KB): first half of cpc6128_bin (OS)
|
|
- ROMEXT[0] (upper ROM slot 0, 16KB): second half of cpc6128_bin (BASIC)
|
|
- ROMEXT[7] (upper ROM slot 7, 16KB): romdisc_bin (AMSDOS)
|
|
|
|
Called from HardResetCPC() (crocods-core/platform.c:1024-1035) using
|
|
the extern byte arrays directly. No filesystem ROM loading exists in
|
|
the libretro path.
|
|
|
|
A Multiface ROM loader exists (crocods-core/multiface.c:53-64) that
|
|
reads LocRomMulti via fopen(), but InitMultiface() is never called
|
|
from the libretro build or platform.c. Dead code in libretro context.
|
|
|
|
The core does not request retro_system_directory or declare any
|
|
firmware entries in the .info file. need_fullpath is false.
|
|
|
|
Only the CPC 6128 model is emulated (no CPC 464/664 selection).
|
|
|
|
files: []
|
|
|
|
platform_details:
|
|
bios_mapping:
|
|
source_ref: "crocods-core/vga.c:185-200, crocods-core/platform.c:1024-1035"
|
|
note: |
|
|
All ROMs are embedded. InitMemCPC() copies cpc6128_bin and romdisc_bin
|
|
into ROMINF and ROMEXT arrays via memcpy. No filesystem lookup occurs.
|
|
retro_set_environment() does not request system_directory.
|
|
|
|
embedded_roms:
|
|
source_ref: "source crocods-core/cpc6128.bin.c, source crocods-core/romdisc.bin.c"
|
|
note: |
|
|
2 ROM sets embedded as C byte arrays:
|
|
cpc6128_bin (32KB) - CPC 6128 OS (lower 16KB) + BASIC 1.1 (upper 16KB)
|
|
romdisc_bin (16KB) - AMSDOS disk controller ROM, mapped to slot 7
|
|
|
|
model_rom_map:
|
|
source_ref: "crocods-core/vga.c:189-192"
|
|
note: |
|
|
CPC 6128 only: OS in ROMINF, BASIC in ROMEXT[0], AMSDOS in ROMEXT[7]
|
|
emulator_patch_ROM() applies language patches to ROMINF after loading
|