mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-20 10:23:16 -05:00
Profiles, the wiki, comments, docstrings, command output and schema descriptions carried em-dashes, clause-joining semicolons, unicode arrows, box-drawing banners and check-mark glyphs. Each sentence was rewritten rather than having its character swapped. Hashes, paths, source_ref values and every cited file:line are unchanged, which a comparison of each parsed profile against the previous revision confirms. validate_pr comments now say PASS and FAIL in words, and source_ref values in a profile's structured blocks render as code. test_prose_style fails if any of these comes back, in tracked files or in the generated site.
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, while 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, and 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,
|
|
while the libretro core reads the first 16384 bytes. FNV-1a 0xB2E46838
|
|
identifies the retail 110 revision for the settings overrides only.
|