diff options
author | Astatin <[email protected]> | 2024-11-14 22:41:12 +0900 |
---|---|---|
committer | Astatin <[email protected]> | 2024-11-14 22:41:12 +0900 |
commit | 6344325860587c6a0586322cbc7ecb9cc9697a95 (patch) | |
tree | 534395bcc8f4afa5939632f9660f0be559676bd5 | |
parent | 302723d88ab756d6f664a20de9a76f61cdcc91a4 (diff) |
Add debug instruction
-rw-r--r-- | src/opcodes.rs | 6 | ||||
-rw-r--r-- | src/state.rs | 13 |
2 files changed, 18 insertions, 1 deletions
diff --git a/src/opcodes.rs b/src/opcodes.rs index 2502782..b937386 100644 --- a/src/opcodes.rs +++ b/src/opcodes.rs @@ -746,7 +746,11 @@ impl GBState { 0b011 => match n1 { 0b000 => self.jp16(), 0b001 => self.op_bitwise(), // Bitwise operations - 0b010 | 0b011 | 0b100 | 0b101 => unimplemented!(), + 0b011 | 0b100 | 0b101 => unimplemented!(), + 0b010 => { + self.cpu.print_debug(); + Ok(4) + }, 0b110 => { self.mem.ime = false; Ok(4) diff --git a/src/state.rs b/src/state.rs index 49bea41..81e841d 100644 --- a/src/state.rs +++ b/src/state.rs @@ -83,6 +83,19 @@ impl CPU { _ => unimplemented!(), } } + + pub fn print_debug(&self) { + println!( + "PC: 0x{:04x}, SP: 0x{:04x}, A: 0x{:02x}, BC: 0x{:04x}, DE: 0x{:04x}, HL: 0x{:04x}, F: 0x{:02x}", + self.pc, + self.sp, + self.r[reg::A as usize], + self.r16(reg::BC), + self.r16(reg::DE), + self.r16(reg::HL), + self.r[reg::F as usize], + ); + } } pub struct Memory { |