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.
66 lines
2.9 KiB
YAML
66 lines
2.9 KiB
YAML
emulator: SPMP8000Emu
|
|
type: standalone + libretro
|
|
core_classification: pure_libretro
|
|
source: "https://github.com/AloysHF/SPMP8000Emu"
|
|
upstream: "https://github.com/AloysHF/SPMP8000Emu"
|
|
profiled_date: "2026-09-03"
|
|
source_commit: "65a93528ee33767bb9cf8faef516c8d1ad43fd13"
|
|
core_version: "1.0.0"
|
|
version_basis:
|
|
kind: file
|
|
path: "Cargo.toml"
|
|
pattern: 'version\s+=\s+"([^"]+)'
|
|
display_name: "Sunplus - SPMP8000 (SPMP8000Emu)"
|
|
cores:
|
|
- spmp8000emu
|
|
systems:
|
|
- sunplus-spmp8000
|
|
|
|
notes: |
|
|
Emulator for Sunplus SPMP8000 NGame1.0 games written in Rust by
|
|
AloysHF. The libretro core and the spmp8000-emu standalone binary share
|
|
the spmp8000emu-core crate. A .bin game is read from its full path
|
|
(need_fullpath = true, crates/spmp8000emu-libretro/src/libretro/api.rs:96,
|
|
from_path_with_config, crates/spmp8000emu-core/src/emulator.rs:63-68),
|
|
its header parsed, the payload DES-decrypted and LZ77/RLE-decompressed
|
|
with keys and tables compiled into the core, then loaded at the code
|
|
address. The system API (emuIf, NativeGE, eCos) is implemented in Rust
|
|
(crates/spmp8000emu-core/src/api/).
|
|
|
|
Guest file calls (emuIfFsFileOpen, NativeGE_fsOpen, NativeGE_readRecord,
|
|
NativeGE_writeRecord) resolve the guest path under the directory of the
|
|
loaded .bin (crates/spmp8000emu-core/src/emulator.rs:129-131,
|
|
crates/spmp8000emu-core/src/api/mod.rs:125-127,
|
|
crates/spmp8000emu-core/src/api/emu_fs.rs:9-13). What a game reads or
|
|
writes there is its own data and saves.
|
|
RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY and GET_SAVE_DIRECTORY are
|
|
defined (crates/spmp8000emu-libretro/src/libretro/constants.rs:36,
|
|
crates/spmp8000emu-libretro/src/libretro/constants.rs:47) but nothing
|
|
calls them.
|
|
|
|
MIDI resources are rendered by a sample-based synthesiser whose tone
|
|
bank is the SPMP8000 firmware's own PCM tone library, compiled into the
|
|
core with include_bytes! (crates/spmp8000emu-core/src/tone_library.rs:8,
|
|
crates/spmp8000emu-core/src/audio_resource.rs:498-499). It is the only
|
|
embedded data and the only firmware-derived component, and nothing is read
|
|
from disk for it.
|
|
|
|
files:
|
|
- name: tonelib.bin
|
|
system: sunplus-spmp8000
|
|
required: false
|
|
embedded: true
|
|
size: 130500
|
|
md5: f276986a8ee7d29d9ba495c1cfe0b891
|
|
sha1: 6b52965081642630ef7aa30a90c9643f97c72410
|
|
sha256: 5924f1cea0a65086a48b10a6553e6493a43fcf63e265d974e447be1f4262c99a
|
|
crc32: 058a577b
|
|
description: "SPMP8000 firmware PCM tone bank"
|
|
note: >-
|
|
Compiled into the core from crates/spmp8000emu-core/assets/tonelib.bin
|
|
and never opened at run time. 256-entry patch table (128 melodic,
|
|
128 percussion) followed by per-zone PCM samples, read by the
|
|
NativeGE MIDI path. Hashes are of the file in the emulator
|
|
repository, which states the SHA-256.
|
|
source_ref: "crates/spmp8000emu-core/src/tone_library.rs:8, crates/spmp8000emu-core/src/tone_library.rs:24-26, crates/spmp8000emu-core/src/audio_resource.rs:498-499, crates/spmp8000emu-core/assets/README.md:3-9"
|