Separate CPU clocking and frontpanel updates
This commit is contained in:
parent
30c82a64ac
commit
e5401824c3
@ -167,7 +167,6 @@ impl AltairEmulator {
|
|||||||
MemCycle::IntaHlt(_) => todo!(),
|
MemCycle::IntaHlt(_) => todo!(),
|
||||||
};
|
};
|
||||||
self.cpu.finish_m_cycle(data);
|
self.cpu.finish_m_cycle(data);
|
||||||
self.update_fp();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fn show_menubar(&mut self, ui: &mut Ui) {
|
fn show_menubar(&mut self, ui: &mut Ui) {
|
||||||
@ -237,6 +236,7 @@ impl AltairEmulator {
|
|||||||
frontpanel::ActionSwitch::SingleStep => {
|
frontpanel::ActionSwitch::SingleStep => {
|
||||||
if state == SwitchState::Up {
|
if state == SwitchState::Up {
|
||||||
self.run_cpu_cycle();
|
self.run_cpu_cycle();
|
||||||
|
self.update_fp();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
frontpanel::ActionSwitch::Examine => {
|
frontpanel::ActionSwitch::Examine => {
|
||||||
@ -307,6 +307,8 @@ impl eframe::App for AltairEmulator {
|
|||||||
egui::CentralPanel::default().show(ctx, |ui| self.show_frontpanel(ui));
|
egui::CentralPanel::default().show(ctx, |ui| self.show_frontpanel(ui));
|
||||||
if self.running {
|
if self.running {
|
||||||
self.run_cpu_cycle();
|
self.run_cpu_cycle();
|
||||||
|
self.update_fp();
|
||||||
|
|
||||||
}
|
}
|
||||||
if let Some(option_window) = self.option_window.as_mut() {
|
if let Some(option_window) = self.option_window.as_mut() {
|
||||||
if option_window.draw(ctx, &mut self.options) {
|
if option_window.draw(ctx, &mut self.options) {
|
||||||
|
Loading…
Reference in New Issue
Block a user