Implement reading from real memory
This commit is contained in:
@@ -3,6 +3,7 @@ use std::{
|
||||
fmt::Display,
|
||||
fs::{self, File},
|
||||
io::{Read, Seek, SeekFrom, Write},
|
||||
ops::Range,
|
||||
path::{Path, PathBuf},
|
||||
sync::{
|
||||
atomic::{AtomicBool, AtomicUsize, Ordering},
|
||||
@@ -397,6 +398,13 @@ impl Emulator {
|
||||
let value = sim.read_register(register);
|
||||
let _ = done.send(value);
|
||||
}
|
||||
EmulatorCommand::ReadMemory(sim_id, addresses, mut buffer, done) => {
|
||||
let Some(sim) = self.sims.get_mut(sim_id.to_index()) else {
|
||||
return;
|
||||
};
|
||||
sim.read_memory(addresses, &mut buffer);
|
||||
let _ = done.send(buffer);
|
||||
}
|
||||
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);
|
||||
@@ -455,6 +463,7 @@ pub enum EmulatorCommand {
|
||||
Pause,
|
||||
Resume,
|
||||
ReadRegister(SimId, VBRegister, oneshot::Sender<u32>),
|
||||
ReadMemory(SimId, Range<u32>, Vec<u8>, oneshot::Sender<Vec<u8>>),
|
||||
SetAudioEnabled(bool, bool),
|
||||
Link,
|
||||
Unlink,
|
||||
|
||||
Reference in New Issue
Block a user