mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-18 01:13:30 -05:00
The buildbot publishes four cores no profile named. Geartowns (FM Towns) and CoolbarEmu get profiles read from their source, Xenia Edge gains its libretro build, and pokketstation follows its repository's rename to Pokket, re-read at HEAD.
68 lines
3.7 KiB
YAML
68 lines
3.7 KiB
YAML
emulator: pokketstation
|
|
type: libretro
|
|
core_classification: official_port
|
|
source: "https://github.com/mentalfoundry/Pokket"
|
|
upstream: "https://github.com/mentalfoundry/Pokket"
|
|
profiled_date: "2026-10-17"
|
|
source_commit: "de736cee392567d58e842f96afe77f707e694ce5"
|
|
core_version: "v1.23"
|
|
display_name: "Sony - PocketStation (pokketstation)"
|
|
cores: ["pokketstation", "pokket"]
|
|
systems: [sony-pocketstation]
|
|
|
|
notes: |
|
|
PocketStation emulator with a portable C core (core/) shared by the libretro
|
|
core, an SDL2 and Win32 desktop application built on Windows only
|
|
(frontends/desktop/CMakeLists.txt:1-16), a PS Vita port and an Emscripten build.
|
|
The libretro target is pokket_libretro (frontends/libretro/CMakeLists.txt:10-16).
|
|
Both the libretro core and the desktop application report POKKET_VERSION,
|
|
v1.23 from the project() line of the root CMakeLists.txt (CMakeLists.txt:4-5,
|
|
frontends/libretro/libretro.c:189-196).
|
|
|
|
read_bios opens <system>/pocketstation.bin, reads 16384 bytes and fails when
|
|
fewer are read; a longer file is accepted and truncated
|
|
(frontends/libretro/libretro.c:545-559). psemu_load_bios copies the image and
|
|
rejects any size other than PSEMU_BIOS_SIZE (core/src/psemu.c:92-99).
|
|
retro_load_game returns false when read_bios fails, and psemu_run executes
|
|
nothing while no BIOS is loaded: there is no HLE and no embedded copy
|
|
(frontends/libretro/libretro.c:586-595, core/src/psemu.c:808-812). The IR
|
|
Link subsystem runs two units in one core and loads the same file into both
|
|
(frontends/libretro/libretro.c:652-693).
|
|
Content (.mcr, .mcs, .pss, .mcd, .bin, .gme) is identified by its bytes,
|
|
not by the extension: a 128 KB image is a full card, a file opening with
|
|
123-456-STD followed by a whole number of 8 KB blocks up to a full card
|
|
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:113-140,
|
|
211-234, 326-347). 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
|
|
(core/src/psemu.c:1150-1175). 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. SWI 0Fh FlashWriteSerial works on 061 and locks the CPU on
|
|
110 (docs/hardware-notes.md:1046-1056).
|
|
|
|
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 and
|
|
writes it to settings.cfg (frontends/desktop/main.c:653-700, 1216-1254,
|
|
3016-3020, 3071-3091). The Vita frontend loads no BIOS yet
|
|
(frontends/vita/main.c:31-33), and the Emscripten build leaves the BIOS to
|
|
the hosting page (frontends/web/README.md:35).
|
|
|
|
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:545-559, frontends/libretro/libretro.c:586-595, core/src/psemu.c:92-99, core/src/psemu.c:808-812, core/src/psemu.c:1150-1175, 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.
|