removed code that was only there to be tested
This commit is contained in:
@@ -674,15 +674,10 @@ impl Chip8CpuInstructions {
|
||||
// it wraps around to the opposite side of the screen.
|
||||
|
||||
let source_memory_offset = input.registers.peek_i();
|
||||
let x_offset = input.registers.peek(*x as u8);
|
||||
let y_offset = input.registers.peek(*y as u8);
|
||||
let x_offset = input.registers.peek(*x);
|
||||
let y_offset = input.registers.peek(*y);
|
||||
|
||||
// let target_memory_offset = x_offset as u16 * 64 + y_offset as u16;
|
||||
|
||||
let num_bytes_to_read = *n;
|
||||
let mut did_change = false;
|
||||
|
||||
for byte_index in 0..num_bytes_to_read {
|
||||
for byte_index in 0..*n {
|
||||
let current_byte = input.memory.peek(byte_index as u16 + source_memory_offset);
|
||||
let x_offset: u16 = (x_offset + byte_index) as u16 * 64;
|
||||
for bit_index in 0..8 {
|
||||
|
||||
@@ -50,60 +50,13 @@ impl Chip8Video {
|
||||
self.memory[effective_address as usize] = xored_value;
|
||||
}
|
||||
|
||||
/*
|
||||
CHATGPT
|
||||
pub fn poke_byte(&mut self, first_address: u16, to_write: u8) {
|
||||
let effective_address = first_address as usize % CHIP8_VIDEO_MEMORY;
|
||||
|
||||
// Loop through each bit of the byte
|
||||
for i in 0..8 {
|
||||
let is_set = (to_write & (0x80 >> i)) != 0;
|
||||
let address = effective_address + i;
|
||||
|
||||
if address < CHIP8_VIDEO_MEMORY {
|
||||
self.poke(address as u16, is_set);
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
pub fn poke_byte(&mut self, first_address: u16, to_write: u8) {
|
||||
for i in (0..8).rev() {
|
||||
let shifted = ((1 << i) & to_write) >> i;
|
||||
//
|
||||
let target_address = first_address + (7 - i);
|
||||
let is_set = (to_write & (1 << i)) != 0;
|
||||
self.poke(target_address, is_set);
|
||||
self.poke(first_address + (7 - i), (to_write & (1 << i)) != 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
MINE
|
||||
pub fn poke_byte(&mut self, first_address: u16, to_write: u8) {
|
||||
for i in (0..8).rev() {
|
||||
let shifted = ((1 << i) & to_write) >> i;
|
||||
//
|
||||
let target_address = first_address + (7 - i);
|
||||
let is_set = shifted == 1;
|
||||
self.poke(target_address, is_set);
|
||||
}
|
||||
}
|
||||
|
||||
*/
|
||||
|
||||
|
||||
pub fn poke_sprite(&mut self, first_address: u16, to_write: Vec<u8>) -> Self {
|
||||
let sprite_length = to_write.len();
|
||||
|
||||
for (index, byte) in to_write.iter().enumerate() {
|
||||
let real_address = index * 64;
|
||||
self.poke_byte(real_address as u16, *byte);
|
||||
};
|
||||
self.to_owned()
|
||||
}
|
||||
|
||||
pub fn format_as_string(self) -> String {
|
||||
let mut output = String::new();
|
||||
for row in 0..32 {
|
||||
@@ -355,38 +308,6 @@ mod test {
|
||||
assert!(v.clone().peek(test_offset + 7));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn poke_sprite_test() {
|
||||
let mut v = Chip8Video::default();
|
||||
let to_poke = [
|
||||
0b00000000,
|
||||
0b11111111,
|
||||
0b10101010,
|
||||
0b01010101
|
||||
];
|
||||
|
||||
v.poke_sprite(0x00, to_poke.into());
|
||||
|
||||
assert!(v.peek(0x40));
|
||||
assert!(v.peek(0x41));
|
||||
assert!(v.peek(0x42));
|
||||
assert!(v.peek(0x43));
|
||||
assert!(v.peek(0x44));
|
||||
assert!(v.peek(0x45));
|
||||
assert!(v.peek(0x46));
|
||||
assert!(v.peek(0x47));
|
||||
|
||||
// row 3 column 1
|
||||
assert!(!v.peek(0xC0));
|
||||
assert!(v.peek(0xC1));
|
||||
assert!(!v.peek(0xC2));
|
||||
assert!(v.peek(0xC3));
|
||||
assert!(!v.peek(0xC4));
|
||||
assert!(v.peek(0xC5));
|
||||
assert!(!v.peek(0xC6));
|
||||
assert!(v.peek(0xC7));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn verify_change_registered() {
|
||||
let mut v = Chip8Video::default();
|
||||
|
||||
Reference in New Issue
Block a user