{
  "commit": "d38cd580364b2c788e633b9e51c15e1668f726c0",
  "count": 1,
  "generated_at": "2026-11-03T13:36:34Z",
  "items": [
    {
      "id": "pokketstation",
      "profile": {
        "core_classification": "official_port",
        "core_version": "1.23",
        "cores": [
          "pokketstation",
          "pokket"
        ],
        "display_name": "Sony - PocketStation (pokketstation)",
        "emulator": "Pokket",
        "files": [
          {
            "description": "PocketStation BIOS ROM, kernel and GUI, 16 KB",
            "name": "pocketstation.bin",
            "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.\n",
            "required": true,
            "size": 16384,
            "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",
            "standalone_path": "bios.bin",
            "validation": [
              "size"
            ]
          }
        ],
        "notes": "PocketStation emulator with a portable C core (core/) shared by the libretro\ncore, an SDL2 and Win32 desktop application built on Windows only\n(frontends/desktop/CMakeLists.txt:1-16), a PS Vita port and an Emscripten build.\nThe libretro target is pokket_libretro (frontends/libretro/CMakeLists.txt:10-16).\nBoth the libretro core and the desktop application report POKKET_VERSION,\nv1.23 from the project() line of the root CMakeLists.txt (CMakeLists.txt:4-5,\nfrontends/libretro/libretro.c:189-196).\n\nread_bios opens <system>/pocketstation.bin, reads 16384 bytes and fails when\nfewer are read, while a longer file is accepted and truncated\n(frontends/libretro/libretro.c:545-559). psemu_load_bios copies the image and\nrejects any size other than PSEMU_BIOS_SIZE (core/src/psemu.c:92-99).\nretro_load_game returns false when read_bios fails, and psemu_run executes\nnothing while no BIOS is loaded: there is no HLE and no embedded copy\n(frontends/libretro/libretro.c:586-595, core/src/psemu.c:808-812). The IR\nLink subsystem runs two units in one core and loads the same file into both\n(frontends/libretro/libretro.c:652-693).\nContent (.mcr, .mcs, .pss, .mcd, .bin, .gme) is identified by its bytes,\nnot by the extension: a 128 KB image is a full card, a file opening with\n123-456-STD followed by a whole number of 8 KB blocks up to a full card\nis a DexDrive dump whose 3904-byte header is skipped, anything else is tried\nas a single save then as a Title Sector body (core/src/psemu.c:113-140,\n211-234, 326-347). Save RAM is the full 128 KB flash image.\n\npsemu_settings_offsets_known hashes the loaded image with FNV-1a and compares\nit with 0xB2E46838, the retail 110 revision the project traced, and a match\nenables the date, time and volume override writes into kernel RAM\n(core/src/psemu.c:1150-1175). Any 16 KB image boots. Two mask ROM revisions\nare documented: 061, from prototype hardware, and 110, the retail one. The\nASCII tags at offsets 0x1DFC (C061 or C110) and 0x3FFC (J061 or J110)\nidentify them. SWI 0Fh FlashWriteSerial works on 061 and locks the CPU on\n110 (docs/hardware-notes.md:1056-1066).\n\nThe desktop application takes the BIOS path from the command line, then\nfrom the bios= key of settings.cfg beside the executable, then falls back\nto bios.bin beside the executable. File > Load BIOS opens any path and\nwrites it to settings.cfg (frontends/desktop/main.c:653-700, 1216-1254,\n3016-3020, 3071-3091). The Vita frontend loads no BIOS yet\n(frontends/vita/main.c:31-33), and the Emscripten build leaves the BIOS to\nthe hosting page (frontends/web/README.md:35).\n",
        "profiled_date": "2026-10-17",
        "source": "https://github.com/mentalfoundry/Pokket",
        "source_commit": "37c022ce46eb578de5b57d7b488ffda9e3b7d9f1",
        "systems": [
          "sony-pocketstation"
        ],
        "type": "libretro",
        "upstream": "https://github.com/mentalfoundry/Pokket",
        "version_basis": {
          "kind": "file",
          "path": "CMakeLists.txt",
          "pattern": "project\\(pokket\\s+VERSION\\s+([0-9][\\w.+-]*)"
        }
      }
    }
  ],
  "kind": "emulators",
  "schema_version": 1
}
