diff --git a/implementations/uvm-ncc/graphics.h b/implementations/uvm-ncc/graphics.h new file mode 100644 index 0000000..a915d1c --- /dev/null +++ b/implementations/uvm-ncc/graphics.h @@ -0,0 +1,15 @@ + +void +draw_background(u32* buffer, size_t w, size_t h) +{ + for (size_t x = 0; x < w; ++x) { + for (size_t y = 0; y < h; ++y) { + u32* pix_ptr = frame_buffer + w * y + x; + u8 blue = x & 255; + u8 green = y & 255; + u8 red = (x + y + 128) & 255; + u8 alpha = 123; + *pix_ptr = (alpha << 24) | (red << 16) | (green << 8) | blue; + } + } +} diff --git a/implementations/uvm-ncc/not_a_makefile.txt b/implementations/uvm-ncc/not_a_makefile.txt deleted file mode 100644 index 3d7c240..0000000 --- a/implementations/uvm-ncc/not_a_makefile.txt +++ /dev/null @@ -1,10 +0,0 @@ -setenv UVM_JOY $HOME/src/Joypy/implementations/uvm-ncc -setenv UVM $HOME/src/uvm -setenv UVM_NCC $UVM/ncc -setenv UVM_VM $UVM/vm - -cd $UVM_NCC -cargo run $UVM_JOY/xerblin.c -cd $UVM_VM -cargo run $UVM_NCC/out.asm -cd $UVM_JOY diff --git a/implementations/uvm-ncc/xerblin.c b/implementations/uvm-ncc/xerblin.c index b82c865..a2c9686 100644 --- a/implementations/uvm-ncc/xerblin.c +++ b/implementations/uvm-ncc/xerblin.c @@ -1,6 +1,7 @@ #include #include #include "/home/sforman/src/Joypy/implementations/uvm-ncc/font/font.h" +#include "/home/sforman/src/Joypy/implementations/uvm-ncc/graphics.h" #define RED 0xFF_00_00 #define GREEN 0x00_FF_00 @@ -39,21 +40,6 @@ draw_char(u8 ch, u64 dest_x, u64 dest_y) } } -void -draw_background() -{ - for (size_t x = 0; x < FRAME_WIDTH; ++x) { - for (size_t y = 0; y < FRAME_HEIGHT; ++y) { - u32* pix_ptr = frame_buffer + FRAME_WIDTH * y + x; - u8 blue = x & 255; - u8 green = y & 255; - u8 red = (x + y + 128) & 255; - u8 alpha = 123; - *pix_ptr = (alpha << 24) | (red << 16) | (green << 8) | blue; - } - } -} - //void //keydown(u64 window_id, u16 keycode) @@ -76,7 +62,7 @@ main() { init_font_data(); wid = window_create(FRAME_WIDTH, FRAME_HEIGHT, "Bouncing Ball Example", 0); - draw_background(); + draw_background(frame_buffer, FRAME_WIDTH, FRAME_HEIGHT); for (size_t ch = 0; ch < 94; ++ch) { draw_char( ch,