Late-game and vehicle start points for the RAM-execution inventory (The End, ending, vehicles) #22
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Follow-up of #8. The RAM-execution trace (
ff6cli --trace-ram,docs/ram_trace.md, branchram-exec) now covers power-on, title, opening, field, battle, menu (field menu, name entry) and the first world map, US and JP. What the current route library cannot reach:cutscene/the_end.asmTheEndNMI$E5:FCDF,TheEndIRQ$E5:FE15(never enabled)world/init.asmEndingAirshipSceneNMI$EE:AB4Dcutscene/title.asmCutsceneNMI(RAM)world/init.asm,world/cutscene.asmVehicleNMI$EE:A509,AirshipIRQ$EE:A6B7,ChocoIRQ$EE:A6CF,VectorApproachIRQ$EE:A707,TrainNMI/TrainIRQ$EE:A94D/$EE:AA35$6B(rtl) written to the trampoline with interrupts offbtlgfx/main.asmChocobo, the Vector approach and the Magitek train are mid-game; The End and the ending need a late-game start point. Movies already support
start sram <crc32>(--save), so the start point can be an SRAM file. Proposal, to decide:run_route.pywrites the.srminto the build tree (never committed, it is produced from the user's ROM), and later routes start fromsram:<route>the wayafter:<route>chains movies today. Chaining to Kefka's tower is many hours of emulated frames; acceptable for a nightly, not for ctest.tools/make_save.py <description.toml>writes one save slot from a readable description (party, levels, equipment, espers, event bits, map and position, vehicle) with the game's checksum, using the RAM map's SRAM/$1600-$1FFFnames. No ROM data involved. Start points: Kefka's tower last save point (The End, ending), Blackjack in the air (airship IRQs), a chocobo stable, the Vector approach, the Phantom Train. The game validates the slot like any save, so a wrong field shows up as a refused or broken load.Then rerun the trace on those routes and fill the remaining rows of
workdocs/ram-executed-code.md; any RAM-executed address outside the trampolines and the cutscene program image is a finding.User decision: both, option 1 first — routes advance through the game in order and leave real SRAM saves written by the game (world map saves allowed anywhere, save points), each next route starts from the previous SRAM file. The save builder (option 2) later, for what stays out of reach. Implementation starts with #26.