From 293c0efbc0051876b3b75a41d4df7c9c992d30bc Mon Sep 17 00:00:00 2001 From: Atreya Bain Date: Sun, 3 Mar 2024 13:02:45 +0530 Subject: [PATCH] [draw] Add draw calls --- src/device/device.rs | 8 ++++---- src/main.rs | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/device/device.rs b/src/device/device.rs index ed70d24..48aea57 100644 --- a/src/device/device.rs +++ b/src/device/device.rs @@ -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; + let bit = (slice_from_memory & (1<> 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 diff --git a/src/main.rs b/src/main.rs index 660bb1a..6474f9f 100644 --- a/src/main.rs +++ b/src/main.rs @@ -100,7 +100,7 @@ fn main() { fn draw_screen(frame_buffer: MutexGuard>, window_canvas: &mut WindowCanvas, x1: &mut Vec) { for (i,pixel) in frame_buffer.iter().enumerate(){ x1[3*i] = *pixel; - x1[3*i+1] = *pixel; + x1[3*i+1] = *pixel ; x1[3*i+2] = *pixel; } drop(frame_buffer); @@ -110,7 +110,7 @@ fn draw_screen(frame_buffer: MutexGuard>, 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>> {