[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{ for i in 0..n as usize{
let index = Self::get_framebuffer_index(x,y+i); 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() { for bit_index in (0..8).rev() {
// if i'm going to the next line, stop // if i'm going to the next line, stop
if Self::get_framebuffer_index(0, y+1)==index { if Self::get_framebuffer_index(0, y+1)==index {
break; break;
} }
let bit = (slice_from_memory & 1<<bit_index) >> bit_index; let bit = (slice_from_memory & (1<<bit_index)) >> bit_index;
let byte = bit * 0xff;
frame_buffer[index+(7-bit_index)] = frame_buffer[index+(7-bit_index)] ^ (bit * 0xff); frame_buffer[index+(7-bit_index)] = frame_buffer[index+(7-bit_index)] ^ (byte);
} }
} }
// TODO fix carry bit // 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|{ tex.with_lock(None,|u,i|{
u.copy_from_slice(x1); u.copy_from_slice(x1);
}).expect("Unwrap tex"); }).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]>>> { fn get_frame_buffer() -> Arc<Mutex<Box<[u8; 2048]>>> {