more operations, better debugging
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user