Add a fast-forward command

This commit is contained in:
2025-03-24 23:22:47 -04:00
parent 4a3385f04c
commit caf3a9426e
8 changed files with 325 additions and 145 deletions
+10
View File
@@ -311,6 +311,10 @@ impl Emulator {
}
}
fn set_speed(&mut self, speed: f64) -> Result<()> {
self.audio.set_speed(speed)
}
fn save_sram(&mut self, sim_id: SimId) -> Result<()> {
let sim = self.sims.get_mut(sim_id.to_index());
let cart = self.carts[sim_id.to_index()].as_mut();
@@ -567,6 +571,11 @@ impl Emulator {
EmulatorCommand::FrameAdvance => {
self.frame_advance();
}
EmulatorCommand::SetSpeed(speed) => {
if let Err(error) = self.set_speed(speed) {
self.report_error(SimId::Player1, format!("Error setting speed: {error}"));
}
}
EmulatorCommand::StartDebugging(sim_id, debugger) => {
self.start_debugging(sim_id, debugger);
}
@@ -694,6 +703,7 @@ pub enum EmulatorCommand {
Pause,
Resume,
FrameAdvance,
SetSpeed(f64),
StartDebugging(SimId, DebugSender),
StopDebugging(SimId),
DebugInterrupt(SimId),