summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSamuel Perrouault <samuel.perrouault@gmail.com>2025-03-26 22:24:03 +0100
committerSamuel Perrouault <samuel.perrouault@gmail.com>2025-03-26 22:24:03 +0100
commit51133f663c77ba04d3a82fa641b5c1ee7c3b4062 (patch)
tree4181f5cbef11d1e70660f6a17dc735bc56ddde40 /src
parente67515ced64e3d1681cf392dbfd5b0b71a8c2ebd (diff)
implement SKP Vx and SKNP Vx
Diffstat (limited to 'src')
-rw-r--r--src/lib.rs15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/lib.rs b/src/lib.rs
index 36bbbf3..517644e 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -208,6 +208,21 @@ impl Chip8 {
}
self.draw = true;
}
+ 0xE000 => match opcode & 0x00FF {
+ 0x009E => {
+ eprintln!("SKP V{}", x);
+ if self.key[self.v[x] as usize] == 1 {
+ self.pc += 2;
+ }
+ }
+ 0x00A1 => {
+ eprintln!("SKNP V{}", x);
+ if self.key[self.v[x] as usize] == 0 {
+ self.pc += 2;
+ }
+ }
+ _ => unknown_opcode(opcode),
+ },
0xF000 => match opcode & 0x00FF {
0x0015 => {
eprintln!("LD DT, V{}", x);