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();
|
.exit_on_esc(true).graphics_api(OpenGL::V3_2).build().unwrap();
|
||||||
let mut event_settings = EventSettings::new();
|
let mut event_settings = EventSettings::new();
|
||||||
event_settings.max_fps = 60;
|
event_settings.max_fps = 60;
|
||||||
|
event_settings.ups = 107400;
|
||||||
let mut events = Events::new(event_settings);
|
let mut events = Events::new(event_settings);
|
||||||
let mut glyphs = get_glyphs(&mut window);
|
let mut glyphs = get_glyphs(&mut window);
|
||||||
|
|
||||||
// Main loop
|
// Main loop
|
||||||
let mut run = false;
|
let mut run = false;
|
||||||
while let Some(event) = events.next(&mut window) {
|
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() {
|
if let Some(_) = event.render_args() {
|
||||||
render(&mut window, &event, &mut glyphs, &cpu, &bus, &disasm);
|
render(&mut window, &event, &mut glyphs, &cpu, &bus, &disasm);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -454,8 +454,12 @@ impl CPU {
|
|||||||
unimplemented!()
|
unimplemented!()
|
||||||
}
|
}
|
||||||
|
|
||||||
fn op_INC<T: Memory>(&mut self, bus: &T, val: Word) {
|
fn op_INC<T: Memory>(&mut self, bus: &mut T, addr: Word) {
|
||||||
unimplemented!()
|
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) {
|
fn op_INX<T: Memory>(&mut self, bus: &T) {
|
||||||
|
|||||||
Reference in New Issue
Block a user