feat(core): add whole-machine save states with F5/F9 window slots

Machine::save_state and load_state encode the CPU, every RAM, and every device
through Snapshot impls into a versioned, checksummed format. Rejected loads leave
the machine unchanged. The ROM window saves to and loads from one state file
with F5 and F9.
This commit is contained in:
0xrsydn 2026-10-08 21:39:16 +07:00
commit fd73788735
55 changed files with 5157 additions and 20 deletions

View file

@ -26,13 +26,14 @@ mod multiplayer_step_tests;
mod prefetch_tests;
#[cfg(test)]
mod serial_step_tests;
mod snapshot;
#[cfg(test)]
mod timer_step_tests;
#[cfg(test)]
mod timing_event_tests;
#[cfg(test)]
mod wave_step_tests;
pub(crate) use fetch::InstructionFetch;
pub(crate) use fetch::{load_fetch_result, save_fetch_result, InstructionFetch};
use iwram_bus::IwramBus;
use crate::{