Read actual register values

This commit is contained in:
2025-01-01 21:48:33 -05:00
parent 8707a5196b
commit 82c3104ab9
4 changed files with 69 additions and 14 deletions
+9 -1
View File
@@ -15,8 +15,8 @@ use anyhow::Result;
use egui_toast::{Toast, ToastKind, ToastOptions};
use crate::{audio::Audio, graphics::TextureSink};
pub use shrooms_vb_core::VBKey;
use shrooms_vb_core::{Sim, EXPECTED_FRAME_SIZE};
pub use shrooms_vb_core::{VBKey, VBRegister};
mod shrooms_vb_core;
@@ -390,6 +390,13 @@ impl Emulator {
}
}
}
EmulatorCommand::ReadRegister(sim_id, register, done) => {
let Some(sim) = self.sims.get_mut(sim_id.to_index()) else {
return;
};
let value = sim.read_register(register);
let _ = done.send(value);
}
EmulatorCommand::SetAudioEnabled(p1, p2) => {
self.audio_on[SimId::Player1.to_index()].store(p1, Ordering::Release);
self.audio_on[SimId::Player2.to_index()].store(p2, Ordering::Release);
@@ -447,6 +454,7 @@ pub enum EmulatorCommand {
StopSecondSim,
Pause,
Resume,
ReadRegister(SimId, VBRegister, oneshot::Sender<u32>),
SetAudioEnabled(bool, bool),
Link,
Unlink,