Finished rework

This commit is contained in:
PeronTheDuck 2020-01-28 00:35:23 -03:00
parent e5f67a01f5
commit a9f1a63900
2 changed files with 9 additions and 2 deletions

View File

@ -69,7 +69,11 @@ impl ThreadedEmulator {
});
println!("Cmd: {:?}", cmd);
match cmd {
Cmd::Step => system.step()?,
Cmd::Step => {
system.step()?;
let page_02 = Vec::from(&system.ram[0x200..0x300]);
tdata.send(page_02);
}
Cmd::Reset => {
system.restart();
system.ram = *TEST_CODE;
@ -78,6 +82,8 @@ impl ThreadedEmulator {
if let Err(e) = rcmd.recv_timeout(std::time::Duration::from_millis(1)) {
if e == std::sync::mpsc::RecvTimeoutError::Timeout {
system.step()?;
let page_02 = Vec::from(&system.ram[0x200..0x300]);
tdata.send(page_02);
} else {
panic!("Controller mpsc disconnected: {}", e)
}

View File

@ -130,6 +130,7 @@ pub fn init(app: &gtk::Application) -> Result<(), ProgErr> {
let drawing_area = drawing_area.clone();
let palette = palette.clone();
let img_m = img_m.clone();
let system = emulator.system.clone();
emulator.rdata.attach(None, move |data: Vec<_>| {
println!("Received page");
for line in data.chunks(16) {
@ -152,7 +153,7 @@ pub fn init(app: &gtk::Application) -> Result<(), ProgErr> {
}
}
if let Ok(system) = emulator.system.try_lock() {
if let Ok(system) = system.try_lock() {
registers.set_text(&format!("{:#?}", system.registers));
}
drawing_area.queue_draw();