Investigate importing original .sav files #44

Closed
opened 2026-10-01 11:36:35 +02:00 by kawa · 1 comment
Owner

Only with a verified structure, checksums and RTC conversion.

Plan: docs/PLAN.md section 4

Commit: 592ca43

Only with a verified structure, checksums and RTC conversion. Plan: docs/PLAN.md section 4 Commit: 592ca43
kawa added this to the Pokemon Crystal - Web project 2026-10-01 11:36:35 +02:00
kawa was assigned by PestoRosso 2026-10-03 15:12:41 +02:00
PestoRosso added the P2 - later label 2026-10-03 15:19:51 +02:00
PestoRosso added P0 - now and removed P2 - later labels 2026-10-03 15:52:15 +02:00
kawa moved this to A faire in Pokemon Crystal - Web on 2026-10-09 13:38:23 +02:00
kawa moved this to Fait in Pokemon Crystal - Web on 2026-10-17 12:03:02 +02:00
kawa closed this issue 2026-10-17 12:03:02 +02:00
Author
Owner

Done in 592ca43: cartridge .sav import (Savegames → Import backup). Addresses and constants are verified against PRET by check:reference, struct offsets by tests/cartridge-save.test.ts. The copy is chosen as TryLoadSaveFile does (check values and checksums, backup fallback). The clock carries on from an emulator MBC3 footer (FixDays/FixTime + wStart*) through the port's minute and weekday offsets, with day counters shifted; without a footer the device clock is used. Refused with the reason: unported maps, the Bug-Catching Contest, a Battle Tower challenge, characters outside the naming screen.

Left open: the 3DS Virtual Console footer format is unknown (all zeros in the sample), so VC saves use the device clock; non-English saves are refused. Manual checks: #86.

Done in 592ca43: cartridge `.sav` import (Savegames → Import backup). Addresses and constants are verified against PRET by `check:reference`, struct offsets by `tests/cartridge-save.test.ts`. The copy is chosen as `TryLoadSaveFile` does (check values and checksums, backup fallback). The clock carries on from an emulator MBC3 footer (FixDays/FixTime + wStart*) through the port's minute and weekday offsets, with day counters shifted; without a footer the device clock is used. Refused with the reason: unported maps, the Bug-Catching Contest, a Battle Tower challenge, characters outside the naming screen. Left open: the 3DS Virtual Console footer format is unknown (all zeros in the sample), so VC saves use the device clock; non-English saves are refused. Manual checks: #86.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: kawa/Crystal#44