summaryrefslogtreecommitdiff
path: root/src/chip8.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/chip8.rs')
-rw-r--r--src/chip8.rs10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/chip8.rs b/src/chip8.rs
index a48b86a..b245861 100644
--- a/src/chip8.rs
+++ b/src/chip8.rs
@@ -184,15 +184,13 @@ impl Chip8 {
0xF000 => match opcode & 0x00FF {
0x0055 => {
eprintln!("LD [I], V{}", x);
- for i in 0..=x {
- self.memory[self.i as usize + i] = self.v[i];
- }
+ let i = self.i as usize;
+ self.memory[i..=i + x].copy_from_slice(&self.v[..=x]);
}
0x0065 => {
eprintln!("LD V{}, [I]", x);
- for i in 0..=x {
- self.v[i] = self.memory[self.i as usize + i];
- }
+ let i = self.i as usize;
+ self.v[..=x].copy_from_slice(&self.memory[i..=i + x]);
}
_ => unknown_opcode(opcode),
},