Entry 290
Open questions after the triage: the save
This entry answers the question left open by The memory card save format, Event scripts on every volume, and how a save carries into the next, The game from power-on: title, New Game, the desktop, and back, A new game's setup: the event's lines, name entry, and NewGame's save, The title's Load: the game's load screen on the card, and the loaded save handed to the desktop, A new game's save as the game builds it: ccSaveData::Init, NewGame and InitSpcParam, and the merchant's camera, "The save menus after the staff roll: SaveSelMenu and SaveMenu", "The later volumes' title: five items, the previous volume's save, every branch of the opening checked on the four volumes", What the save's open fields hold, Options kept across the four parts.
FilesUNKNOWNS.md
This entry closes the open questions of 10 entries about the save: the memory card format, the new game, the title's load and what carries between volumes. The triage of 2026-09-28 (UNKNOWNS.md) split every entry's open paragraph into single questions and checked each one against the later log, the docs and the code. The answered ones are listed below with their evidence. What is still open is restated at the end, with the entry that asked it, the play questions first. Open questions of these entries that belong to another subsystem are restated in that subsystem's entry: 288, 289 and 291.
Answered
- 16: what
mcFname[0](BISLPS-00000HUCKER) is for — answered by docs/formats/save.md (nothing uses it; onlymcFname+4is referenced) - 16: the
icon.sysfields the game fills in — answered by docs/formats/save.md (the title frommcTitleName, the break at byte 10) - 16: which of the twelve icons each volume uses — answered by
docs/formats/save.md (volume v uses
iconBinTbl3(v-1) to 3(v-1)+2) - 16: the meaning of most event-flag bits — answered by 40 / docs/engine/events.md (bit 62 done, 63 closed); 246
- 16: whether
ConvGameis reachable — answered by 24 / docs/formats/save.md (ccThDemocalls it when the later titles' opening returns 4) - 16: how the later volumes read Infection's saves — answered by 24,
200 / docs/formats/save.md (
LoadInfoPrevReq,LoadDataPrevReq) - 24: what the Mutation-on blocks at
+0x8432and+0x8462hold — answered by 246 (zeroed byInit, copied, never read) - 24: the extension's 3 bytes at
+0x748— answered by 200 / docs/formats/save.md (pcTradeCountof characters 18-20) - 24: the extension's 256 bytes at
+0x754— answered by 246 (cleared and copied, nothing else) - 24: the save bit at
+0x5ec8bit 62 — answered by 220 (eventFlag[314]bit 62: event 314 done, the random-path dungeon flag) - 24: what the ending routine does while the
KFEDbuffers are loaded — answered by 239 (gcmn 0x004f0a30 startsSTFROLL_VOL4and waits) - 44:
NewGame(0)'s copy ofcharTblintospcParam— answered by 76 (tools/test_save_init_rs.py) - 44: the setup screen and name entry during event 1 are black — answered by 45
- 44: the title's music, the PSS movies, the intro stream, The World — answered by 46, 49, 52, 58, 59
- 50:
LoadGame's vibration — answered by 232 (piney_input::actuator) - 50:
LoadGame's camera scheme — answered bycrates/piney-world/src/camera.rs(camera_modefrom the save) and theCameraTyperequests applied (crates/piney-game/src/world.rs,area.rs); 254 - 76: per-frame
CalcRealonly in Mac Anu — answered by BUGS.md (kites_buff_times_out_in_town; the field's frame ran it already),crates/piney-game/src/world.rscalc_real_party - 76:
Init's fields not repaired in old saves (townMoveFlag,partyMemberCall, tactics,cameraMode,drainDemo, idol ranks) — no longer applies: it concerned the port's own saves made before 76's fix, not the game - 76: what
partyMemberCall0x3fffe, tactics 7,drainDemoand growth are for — answered by 246 / docs/formats/save.md - 201: Outbreak's and Quarantine's titles not run — answered by 204 (all three later discs reach their desktops)
- (play) [[43]], [[201]], [[226]]: CONVERT, a previous volume's save into a new part:
Data_Control'sm_PrevFlgload screen reads the card, butRequest::ConvGameonly reaches "title asks" incrates/piney-game/src/session.rs, so nothing is imported (docs/engine/title.md) — starting Mutation, Outbreak or Quarantine from the previous part's clear data. - [[246]]: what eacheventStatusindex counts; it belongs to the scripts that use it. - [[193]]: what reads the save's portal counts (+0x6864,+0x6866,+0x6868) (docs/engine/effects.md Unknown). - [[45]]:save_va: the real heap addressNewGamestores as character 0's name pointer. - [[50]]: whetherccSaveSyskeeps its card position through a reset. - [[70]]: the Recorder's card position follows the title's Load, not a later desktop Data save (the cursor's start only). - [[45]], [[73]], [[159]]: real disc and card times: the port's card calls finish at once, so the card-busy frames and messages never show (docs/engine/desktop.md Unknown). - [[254]]: whether a player wants a save's own options to win when loading a card made elsewhere (a port design choice).