[draw] Add draw calls

This commit is contained in:
2024-03-03 13:02:45 +05:30
parent adaf5cecbf
commit 293c0efbc0
2 changed files with 6 additions and 6 deletions

View File

@@ -102,17 +102,17 @@ impl Device {
for i in 0..n as usize{
let index = Self::get_framebuffer_index(x,y+i);
let slice_from_memory = self.memory[self.registers.i as usize];
let slice_from_memory = self.memory[self.registers.i as usize + i];
for bit_index in (0..8).rev() {
// if i'm going to the next line, stop
if Self::get_framebuffer_index(0, y+1)==index {
break;
}
let bit = (slice_from_memory & 1<<bit_index) >> bit_index;
let bit = (slice_from_memory & (1<<bit_index)) >> bit_index;
frame_buffer[index+(7-bit_index)] = frame_buffer[index+(7-bit_index)] ^ (bit * 0xff);
let byte = bit * 0xff;
frame_buffer[index+(7-bit_index)] = frame_buffer[index+(7-bit_index)] ^ (byte);
}
}
// TODO fix carry bit

View File

@@ -110,7 +110,7 @@ fn draw_screen(frame_buffer: MutexGuard<Box<[u8; 2048]>>, window_canvas: &mut Wi
tex.with_lock(None,|u,i|{
u.copy_from_slice(x1);
}).expect("Unwrap tex");
window_canvas.copy(&tex,None,None);
window_canvas.copy(&tex,None,None).expect("Failed to set texture");
}
fn get_frame_buffer() -> Arc<Mutex<Box<[u8; 2048]>>> {