more operations, better debugging

This commit is contained in:
Daniel Bauer
2019-12-26 12:23:19 +01:00
parent 9a2dd87b2b
commit b04df12abb
2 changed files with 10 additions and 2 deletions

View File

@@ -71,12 +71,16 @@ fn main() {
.exit_on_esc(true).graphics_api(OpenGL::V3_2).build().unwrap();
let mut event_settings = EventSettings::new();
event_settings.max_fps = 60;
event_settings.ups = 107400;
let mut events = Events::new(event_settings);
let mut glyphs = get_glyphs(&mut window);
// Main loop
let mut run = false;
while let Some(event) = events.next(&mut window) {
if let Some(_) = event.update_args() {
if run { cpu.clock(&mut bus); }
}
if let Some(_) = event.render_args() {
render(&mut window, &event, &mut glyphs, &cpu, &bus, &disasm);
}

View File

@@ -454,8 +454,12 @@ impl CPU {
unimplemented!()
}
fn op_INC<T: Memory>(&mut self, bus: &T, val: Word) {
unimplemented!()
fn op_INC<T: Memory>(&mut self, bus: &mut T, addr: Word) {
let val = self.readb(bus, addr);
let val = val.wrapping_add(1);
self.writeb(bus, addr, val);
self.set_flag(ZERO, val == 0);
self.set_flag(NEGATIVE, (val & 0x80) != 0)
}
fn op_INX<T: Memory>(&mut self, bus: &T) {