Routes with ports on, semantic checkpoint check #21

Merged
Gatchan merged 1 commit from route-ports into main 2026-10-29 12:28:24 +00:00
Owner

Answers the open question of #11 with routes (decision D1).

  • tests/routes/run_route.py --port <name|all>=<mode> --semantic: run a route with ports on and compare only its semantic checkpoints (map, party HP, event flags...) with the recorded movie; tools/ff6drive.py passes --port to the server.
  • ctest route_ports_on.<route>.<version> (label slow) for both routes, US and JP.

Validation

  • title_to_first_battle_win with battle/Rand=on (17 calls replaced): goal at the same frame as the movie (US 10253, JP 9556), checkpoints ok, and even the end picture/WRAM/SRAM hashes are identical to the interpreter-only movie.
  • route_ports_on.field_menu_tour.US_V10 via ctest: passed (115.6 s).

Fixes #11 (whole-game behaviour with the first port on is unchanged; the transient audio/sound-driver divergence seen with the blind input script is reported by rom.ports.* and documented in docs/validation.md).

🤖 Generated with Claude Code

Answers the open question of #11 with routes (decision D1). - `tests/routes/run_route.py --port <name|all>=<mode> --semantic`: run a route with ports on and compare only its semantic checkpoints (map, party HP, event flags...) with the recorded movie; `tools/ff6drive.py` passes `--port` to the server. - ctest `route_ports_on.<route>.<version>` (label slow) for both routes, US and JP. ## Validation - `title_to_first_battle_win` with `battle/Rand=on` (17 calls replaced): goal at the same frame as the movie (US 10253, JP 9556), checkpoints ok, and even the end picture/WRAM/SRAM hashes are identical to the interpreter-only movie. - `route_ports_on.field_menu_tour.US_V10` via ctest: passed (115.6 s). Fixes #11 (whole-game behaviour with the first port on is unchanged; the transient audio/sound-driver divergence seen with the blind input script is reported by `rom.ports.*` and documented in docs/validation.md). 🤖 Generated with [Claude Code](https://claude.com/claude-code)
run_route.py --port/--semantic, ff6drive ports=; ctest route_ports_on.* (slow). With
battle/Rand on (17 calls), the first-battle route ends at the same frame with identical
picture/WRAM/SRAM hashes on US and JP.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Gatchan/FF6Portage!21
No description provided.