Files
BFM-decomp/dumps/INDEX.md
T
Drew T bd5e21b366 feat(phase-3): file-loader & overlay-map RE + PCSX-Redux runtime oracle
- RE'd the full file-loader/overlay subsystem in Ghidra via MCP: CdReadRequest ->
  CdReadStateMachine (hand-rolled CdControl SeekL/ReadN reader, NOT PsyQ CdRead);
  LIST.CD RAM cache cdFileLocTable + ResourceGetCdLoc/resourceIdMap lookup; LZSS
  staging buffer 0x80079A70; loadDestPtrTable; ~50 symbols named (T1-T5,T8)
- T6b MILESTONE: resident blob @0x800CEDF8 + location overlay @0x80128158 proven
  byte-identical (sha1-equal contiguous prefixes) vs live PCSX-Redux RAM; blobs
  imported into Ghidra (ImportOverlay.java); overlay-map table -> memory-map.md §4.3
- PCSX-Redux runtime oracle: Windows-native build, WSL reads RAM via the web API
  at 172.17.208.1:8081; ledger #4 resolved
- live-verified player/time state: gold(/10) HP BP day hour tiredness boss-HP;
  save-header template (Q#5) + debug-menu dispatch (Q#9: DEBUG.BIN path is dead)
- overlay map: 13 area-states across SC01/02/03, 2 duplicate pairs, location x
  chapter keying, free-roam vs menu-hub granularity
- resolves Open Q#1/#3/#4/#5/#6/#8/#9/#12; corrects SLUS-90029 (FF8 demo, not BFM)
- 2 US prototypes acquired + CRC-verified (Aug-31 1369DE07, Sep-8 5C24728E)
- rules R9 (verify persistence), R10 (>=3-datapoint live verification),
  R11 (runtime oracle Windows-native, bridged to WSL)
- bumps project version 1.2.0 -> 1.3.0
2026-06-14 02:04:28 -06:00

4.3 KiB
Raw Blame History

RAM-dump corpus — Phase 3 live PCSX-Redux captures (2026-06-14)

Full 2 MB PS1 RAM images pulled from the Windows-native PCSX-Redux web API (GET http://172.17.208.1:8081/api/v1/cpu/ram/raw) while Drew played a fresh SLUS-00726 run. Each is a labeled game-state snapshot — a reusable corpus for offline RE in later phases (overlay map, player-state, save-format) without re-playing the game.

  • The .bin files are gitignored (ROM-derived 2 MB game memory; 57 MB total). This INDEX is committed.
  • They are NOT cheaply regenerable (each needs replay to the exact state) — back up dumps/ off-machine if you want them safe against disk loss (same as disks/). While private, they could be pushed (H1 relaxed), but local + this index matches the disks//extracted/ hygiene.
  • Resident blob always @0x800CEDF8 (MAIN.CD/FILE_010/1.1); location overlay slot @0x80128158.
  • Verified addresses derived from these live in docs/memory-map.md (§3.4, §4.3, Q#1/#3-#6/#9/#12).
File State / location Overlay @0x80128158 Key facts Used for
ram_t6b.bin tut_forest (tutorial forest, game start, daytime) SC01/077 the MILESTONE dump T6b/T7 milestone byte-proof
ram_spiral.bin Spiral Tower exterior, pre-erection SC01/080 gold 1450, HP 146/150, BP 137/150, +Gunshot overlay map; HP/BP/gold
ram_spiral2.bin Spiral Tower exterior, tower erected SC01/080 gold 1450, HP 136/150, BP 91/150, Day1 Mon HP/BP change-detect (Q#12)
ram_inside.bin Spiral Tower interior SC01/084 gold 1550 gold triangulation
ram_inside2.bin Spiral Tower interior SC01/084 gold 1650 gold pin (0x80078E8C ÷10)
ram_event.bin Spiral Tower interior, bell→fire→teleporter event SC01/084 event-flag cluster lead event flags (unisolated)
ram_toptower.bin Spiral Tower top SC02/000≡003 gold 1760 (dup overlay) overlay map (SC02; dup pair)
ram_lumina.bin Spiral Tower upper, head-chase (got Lumina) SC02/000≡003 — overlay map
ram_castle.bin Allucaneet Castle Ch1 interior (Rootrick/princess) SC02/005 — overlay map
ram_steamknight.bin Steam Knight fight, stage 1 (castle) SC02/005 bossHP 27 bossHp_SteamKnight 0x801E4398
ram_courtyard.bin Steam Knight stage 2 (courtyard) SC02/005 bossHP 0 (defeated) bossHP verify (27→0)
ram_dummytown.bin Steam Knight stage 3 (dummy town) SC02/005 bossHP 144 (refilled) bossHP verify (per-stage)
ram_savescreen.bin Save screen (location overlay FLUSHED) (none — menu) saveHeaderTemplate visible Q#5 save-format header
ram_ch2castle.bin Ch2 Allucaneet Castle bedroom (king/butler) SC01/005≡006 — overlay map (location×chapter)
ram_library.bin Library (read-books menu, frozen/blue) SC01/008 menu sub-state overlay map
ram_library2.bin Library (post-quit, speech menu, animated) SC01/008 same overlay overlay-model correction
ram_castlehub.bin Allucaneet Castle hub (nav menu) SC01/004 Visit/Library/Room/SubMenu/Village overlay map
ram_room.bin Room (Sleep/Toys/Leave) SC01/005≡006 re-entry determinism overlay map
ram_visit.bin Visit / main hall (Geezer) SC01/009 — overlay map
ram_submenu.bin SubMenu (main game menu) SC01/004 gold 1650, HP 150/150, BP 100/150 player-state cross-check
ram_itemmenu.bin Item/inventory menu (empty) SC01/004 — menu-overlay model
ram_gondola.bin Gondola / outside village SC03/002 — overlay map (SC03)
ram_village1.bin Village (central hub) entry SC03/001 hour 15 overlay map; clock
ram_village2.bin Village far corner SC03/001 18:15 one-overlay proof; clock
ram_inn.bin Inn (before pay-to-sleep) SC03/001 pre-sleep state tiredness "before"
ram_time1.bin Village, clock snapshot 1 (paused) SC03/001 Day1 Mon 13:30, tired 11% clock/tiredness triangulation
ram_time2.bin Village, clock snapshot 2 (paused) SC03/001 14:30, tired 14% clock/tiredness triangulation
ram_sleep.bin After Inn pay-to-sleep (paid 390) SC03/001 HP/BP max, tired 0, Day2 Tue 3:00, gold 1260 day/hour/tiredness/gold confirms