fixed the graphical issue
This commit is contained in:
parent
aaccc26abf
commit
96ea02db89
15
src/main.rs
15
src/main.rs
|
@ -155,10 +155,13 @@ impl Chip8 {
|
|||
self.registers[0x0f] = 0;
|
||||
for n in 0..opcodes[3] {
|
||||
let spritedata = self.ram[self.index_register as usize + n as usize];
|
||||
for i in 0..7 {
|
||||
let mut checkdata: u8 = 0;
|
||||
for i in 0..8 {
|
||||
let bit = get_bit_u8(spritedata, i);
|
||||
checkdata += (bit as u8) << (7 - i);
|
||||
self.display[(y + n) as usize] = self.display[(y + n) as usize] ^ ((bit as u64) << (x + i));
|
||||
}
|
||||
//info!("{},{}", spritedata, checkdata);
|
||||
}
|
||||
},
|
||||
0x0e => {
|
||||
|
@ -229,9 +232,12 @@ fn main() {
|
|||
_ => {}
|
||||
},
|
||||
Event::MainEventsCleared => {
|
||||
info!(chip8.pc);
|
||||
//info!(chip8.pc);
|
||||
chip8.update(40);
|
||||
info!(chip8.pc);
|
||||
//info!(chip8.pc);
|
||||
//for i in chip8.display {
|
||||
// println!("{:#64b}", i);
|
||||
//}
|
||||
window.request_redraw();
|
||||
}
|
||||
Event::RedrawRequested(_) => {
|
||||
|
@ -297,8 +303,9 @@ fn get_bit(num: u64, bit: u8) -> bool {
|
|||
|
||||
fn get_bit_u8(num: u8, bit: u8) -> bool {
|
||||
if bit <= 8 {
|
||||
let mask: u8 = 128 >> bit;
|
||||
let mask: u8 = 1 << (7 - bit);
|
||||
let bitvalue = (num & mask) != 0;
|
||||
//info!("{},{},{},{}", num, bit, mask, bitvalue);
|
||||
bitvalue
|
||||
} else {
|
||||
false
|
||||
|
|
Loading…
Reference in New Issue
Block a user