mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-11 14:03:23 -05:00
59 lines
3.0 KiB
YAML
59 lines
3.0 KiB
YAML
emulator: pokketstation
|
|
type: libretro
|
|
core_classification: official_port
|
|
source: "https://github.com/mentalfoundry/pokketstation"
|
|
upstream: "https://github.com/mentalfoundry/pokketstation"
|
|
profiled_date: "2026-09-17"
|
|
source_commit: "484933271b7d362e8e76f1121839c33e5d5ec83e"
|
|
core_version: "v1.12"
|
|
display_name: "Sony - PocketStation (pokketstation)"
|
|
cores: [pokketstation]
|
|
systems: [sony-pocketstation]
|
|
|
|
notes: |
|
|
PocketStation emulator with a portable C core (core/) shared by the libretro
|
|
core, an SDL2 desktop application and a PS Vita port. The libretro core
|
|
reports library_version "0.1"; the project version is the release tag,
|
|
v1.12 in the desktop frontend (frontends/desktop/main.c:40).
|
|
|
|
load_bios opens <system>/pocketstation.bin, reads 16384 bytes and fails when
|
|
fewer are read; a longer file is accepted and truncated. psemu_load_bios
|
|
copies the image and rejects any size other than PSEMU_BIOS_SIZE.
|
|
retro_load_game returns false when load_bios fails, and psemu_run executes
|
|
nothing while no BIOS is loaded: there is no HLE and no embedded copy.
|
|
Content (.mcr, .mcd, .mcs, .pss, .bin, .gme) is identified by its bytes,
|
|
not by the extension: a 128 KB image is a full card, a 134976-byte file
|
|
opening with 123-456-STD is a DexDrive dump whose 3904-byte header is
|
|
skipped, anything else is tried as a single save then as a Title Sector
|
|
body (core/src/psemu.c:187-209, 301-317). Save RAM is the full 128 KB
|
|
flash image.
|
|
|
|
psemu_settings_offsets_known hashes the loaded image with FNV-1a and compares
|
|
it with 0xB2E46838, the retail 110 revision the project traced; a match
|
|
enables the date, time and volume override writes into kernel RAM. Any
|
|
16 KB image boots. Two mask ROM revisions are documented: 061, from
|
|
prototype hardware, and 110, the retail one; the ASCII tags at offsets
|
|
0x1DFC (C061 or C110) and 0x3FFC (J061 or J110) identify them
|
|
(docs/hardware-notes.md:782-792). SWI 0Fh FlashWriteSerial works on 061
|
|
and locks the CPU on 110.
|
|
|
|
The desktop application takes the BIOS path from the command line, then
|
|
from the bios= key of settings.cfg beside the executable, then falls back
|
|
to bios.bin beside the executable; File > Load BIOS opens any path
|
|
(frontends/desktop/main.c:630-668, 1000-1035, 2380-2451). The Vita frontend
|
|
loads no BIOS yet (frontends/vita/main.c:31-33).
|
|
|
|
files:
|
|
- name: "pocketstation.bin"
|
|
description: "PocketStation BIOS ROM, kernel and GUI, 16 KB"
|
|
size: 16384
|
|
required: true
|
|
validation: [size]
|
|
standalone_path: "bios.bin"
|
|
source_ref: "frontends/libretro/libretro.c:178-196, frontends/libretro/libretro.c:206-208, core/src/psemu.c:90-97, core/src/psemu.c:474-477, core/src/psemu.c:854-879, core/include/psemu/psemu.h:19"
|
|
note: >
|
|
Read from the frontend system directory. The desktop application reads
|
|
the whole file and psemu_load_bios rejects any size other than 16384;
|
|
the libretro core reads the first 16384 bytes. FNV-1a 0xB2E46838
|
|
identifies the retail 110 revision for the settings overrides only.
|