mirror of
https://github.com/BlueTheDuck/crustacean_6502_emulator.git
synced 2024-06-14 09:29:34 +00:00
Finished rework
This commit is contained in:
parent
e5f67a01f5
commit
a9f1a63900
|
@ -69,7 +69,11 @@ impl ThreadedEmulator {
|
||||||
});
|
});
|
||||||
println!("Cmd: {:?}", cmd);
|
println!("Cmd: {:?}", cmd);
|
||||||
match 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 => {
|
Cmd::Reset => {
|
||||||
system.restart();
|
system.restart();
|
||||||
system.ram = *TEST_CODE;
|
system.ram = *TEST_CODE;
|
||||||
|
@ -78,6 +82,8 @@ impl ThreadedEmulator {
|
||||||
if let Err(e) = rcmd.recv_timeout(std::time::Duration::from_millis(1)) {
|
if let Err(e) = rcmd.recv_timeout(std::time::Duration::from_millis(1)) {
|
||||||
if e == std::sync::mpsc::RecvTimeoutError::Timeout {
|
if e == std::sync::mpsc::RecvTimeoutError::Timeout {
|
||||||
system.step()?;
|
system.step()?;
|
||||||
|
let page_02 = Vec::from(&system.ram[0x200..0x300]);
|
||||||
|
tdata.send(page_02);
|
||||||
} else {
|
} else {
|
||||||
panic!("Controller mpsc disconnected: {}", e)
|
panic!("Controller mpsc disconnected: {}", e)
|
||||||
}
|
}
|
||||||
|
|
|
@ -130,6 +130,7 @@ pub fn init(app: >k::Application) -> Result<(), ProgErr> {
|
||||||
let drawing_area = drawing_area.clone();
|
let drawing_area = drawing_area.clone();
|
||||||
let palette = palette.clone();
|
let palette = palette.clone();
|
||||||
let img_m = img_m.clone();
|
let img_m = img_m.clone();
|
||||||
|
let system = emulator.system.clone();
|
||||||
emulator.rdata.attach(None, move |data: Vec<_>| {
|
emulator.rdata.attach(None, move |data: Vec<_>| {
|
||||||
println!("Received page");
|
println!("Received page");
|
||||||
for line in data.chunks(16) {
|
for line in data.chunks(16) {
|
||||||
|
@ -152,7 +153,7 @@ pub fn init(app: >k::Application) -> Result<(), ProgErr> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if let Ok(system) = emulator.system.try_lock() {
|
if let Ok(system) = system.try_lock() {
|
||||||
registers.set_text(&format!("{:#?}", system.registers));
|
registers.set_text(&format!("{:#?}", system.registers));
|
||||||
}
|
}
|
||||||
drawing_area.queue_draw();
|
drawing_area.queue_draw();
|
||||||
|
|
Loading…
Reference in New Issue
Block a user