diff options
author | Bad Diode <bd@badd10de.dev> | 2022-10-27 19:14:15 +0200 |
---|---|---|
committer | Bad Diode <bd@badd10de.dev> | 2022-10-27 19:14:15 +0200 |
commit | 6880fe7d0bef296b98420da6fc378204239b26bc (patch) | |
tree | 27c3af49b2edca6eff5a0a5ab6abbba2af61c029 | |
parent | 641518e364f391b194ba2302e8cd5fab1a35aa07 (diff) | |
download | uxn64-6880fe7d0bef296b98420da6fc378204239b26bc.tar.gz uxn64-6880fe7d0bef296b98420da6fc378204239b26bc.zip |
Fix extra element being added to rom.c array
-rw-r--r-- | src/ppu.c | 17 | ||||
-rw-r--r-- | tools/bin2carr/src/main.c | 15 |
2 files changed, 29 insertions, 3 deletions
@@ -18,8 +18,8 @@ u16 framebuffers[2][SCREEN_WIDTH * SCREEN_HEIGHT] __attribute__((aligned(16))); | |||
18 | static u16 pixels[SCREEN_WIDTH * SCREEN_HEIGHT] __attribute__((aligned(16))); | 18 | static u16 pixels[SCREEN_WIDTH * SCREEN_HEIGHT] __attribute__((aligned(16))); |
19 | static int current_fb = 0; | 19 | static int current_fb = 0; |
20 | 20 | ||
21 | static size_t screen_width = SCREEN_WIDTH; | 21 | static u16 screen_width = SCREEN_WIDTH; |
22 | static size_t screen_height = SCREEN_HEIGHT; | 22 | static u16 screen_height = SCREEN_HEIGHT; |
23 | static u16 palette[16]; | 23 | static u16 palette[16]; |
24 | 24 | ||
25 | static u8 pixels_fg[SCREEN_WIDTH * SCREEN_HEIGHT] __attribute__((aligned(16))); | 25 | static u8 pixels_fg[SCREEN_WIDTH * SCREEN_HEIGHT] __attribute__((aligned(16))); |
@@ -112,7 +112,18 @@ init_ppu(void) { | |||
112 | pixels[i + j * SCREEN_WIDTH] = color; | 112 | pixels[i + j * SCREEN_WIDTH] = color; |
113 | } | 113 | } |
114 | } | 114 | } |
115 | // TODO: clear pixel buffers and dirty lines | 115 | |
116 | // Clear pixel buffers and dirty lines | ||
117 | for (size_t i = 0; i < 16; i++) { | ||
118 | palette[i] = 0; | ||
119 | } | ||
120 | for (size_t i = 0; i < SCREEN_WIDTH * SCREEN_HEIGHT; i++) { | ||
121 | pixels_fg[i] = 0; | ||
122 | pixels_bg[i] = 0; | ||
123 | } | ||
124 | for (size_t i = 0; i < SCREEN_HEIGHT; i++) { | ||
125 | dirty_lines[i] = 0; | ||
126 | } | ||
116 | 127 | ||
117 | // Setup the message queues | 128 | // Setup the message queues |
118 | osCreateMesgQueue(&retrace_msg_queue, &retrace_msg_buf, 1); | 129 | osCreateMesgQueue(&retrace_msg_queue, &retrace_msg_buf, 1); |
diff --git a/tools/bin2carr/src/main.c b/tools/bin2carr/src/main.c index 699db61..10ddcd8 100644 --- a/tools/bin2carr/src/main.c +++ b/tools/bin2carr/src/main.c | |||
@@ -64,6 +64,9 @@ write_array(FILE *file_in, FILE *file_out, char *arr_name, ElemSize elem_size) { | |||
64 | case ELEM_S8: { | 64 | case ELEM_S8: { |
65 | u8 elem; | 65 | u8 elem; |
66 | n_read = fread(&elem, sizeof(u8), 1, file_in); | 66 | n_read = fread(&elem, sizeof(u8), 1, file_in); |
67 | if (n_read == 0) { | ||
68 | break; | ||
69 | } | ||
67 | fprintf(file_out, "0x%02x,", elem); | 70 | fprintf(file_out, "0x%02x,", elem); |
68 | break; | 71 | break; |
69 | } | 72 | } |
@@ -71,6 +74,9 @@ write_array(FILE *file_in, FILE *file_out, char *arr_name, ElemSize elem_size) { | |||
71 | case ELEM_S16: { | 74 | case ELEM_S16: { |
72 | u16 elem; | 75 | u16 elem; |
73 | n_read = fread(&elem, sizeof(u16), 1, file_in); | 76 | n_read = fread(&elem, sizeof(u16), 1, file_in); |
77 | if (n_read == 0) { | ||
78 | break; | ||
79 | } | ||
74 | fprintf(file_out, "0x%04x,", elem); | 80 | fprintf(file_out, "0x%04x,", elem); |
75 | break; | 81 | break; |
76 | } | 82 | } |
@@ -78,6 +84,9 @@ write_array(FILE *file_in, FILE *file_out, char *arr_name, ElemSize elem_size) { | |||
78 | case ELEM_S32: { | 84 | case ELEM_S32: { |
79 | u32 elem; | 85 | u32 elem; |
80 | n_read = fread(&elem, sizeof(u32), 1, file_in); | 86 | n_read = fread(&elem, sizeof(u32), 1, file_in); |
87 | if (n_read == 0) { | ||
88 | break; | ||
89 | } | ||
81 | fprintf(file_out, "0x%08x,", elem); | 90 | fprintf(file_out, "0x%08x,", elem); |
82 | break; | 91 | break; |
83 | } | 92 | } |
@@ -85,10 +94,16 @@ write_array(FILE *file_in, FILE *file_out, char *arr_name, ElemSize elem_size) { | |||
85 | case ELEM_S64: { | 94 | case ELEM_S64: { |
86 | u64 elem; | 95 | u64 elem; |
87 | n_read = fread(&elem, sizeof(u64), 1, file_in); | 96 | n_read = fread(&elem, sizeof(u64), 1, file_in); |
97 | if (n_read == 0) { | ||
98 | break; | ||
99 | } | ||
88 | fprintf(file_out, "0x%016lx,", elem); | 100 | fprintf(file_out, "0x%016lx,", elem); |
89 | break; | 101 | break; |
90 | } | 102 | } |
91 | } | 103 | } |
104 | if (n_read == 0) { | ||
105 | break; | ||
106 | } | ||
92 | 107 | ||
93 | if (counter == n_elem - 1) { | 108 | if (counter == n_elem - 1) { |
94 | fprintf(file_out, "\n"); | 109 | fprintf(file_out, "\n"); |