commit f4da502
Devine Lu Linvega
·
2026-03-13 17:09:14 +0000 UTC
parent 3789539
Cleanup
1 files changed,
+6,
-4
+6,
-4
1@@ -24,6 +24,7 @@ cc -DNDEBUG -O2 -g0 -s src/uxn11.c -lX11 -lutil -o bin/uxn11
2
3 typedef signed char Sint8;
4 typedef unsigned char Uint8;
5+typedef signed short Sint16;
6 typedef unsigned short Uint16;
7 typedef void (*deo_handler)(void);
8 typedef Uint8 (*dei_handler)(void);
9@@ -508,7 +509,8 @@ screen_deo_sprite(void)
10 for(j = 0; j < 8; j++, dst += stride, col += col_delta) {
11 Uint8 *d = dst;
12 const int ch1 = *col, ch2 = is_2bpp ? col[8] : 0;
13- for(int k = 0, row = row_start; k < 8; k++, d++, row += row_delta) {
14+ int row = row_start;
15+ for(int k = 0; k < 8; k++, d++, row += row_delta) {
16 const int color = ((ch1 >> row) & 1) | (((ch2 >> row) & 1) << 1);
17 if(opaque_mask || color)
18 *d = (*d & layer_mask) | table[color];
19@@ -532,9 +534,9 @@ static void screen_deo_vector(void) { screen_vector = peek2(&dev[0x20]); }
20 static void screen_deo_width(void) { screen_resize(peek2(&dev[0x22]) & 0xfff, screen_height & 0xfff); }
21 static void screen_deo_height(void) { screen_resize(screen_width & 0xfff, peek2(&dev[0x24]) & 0xfff); }
22 static void screen_deo_auto(void) { rMX = dev[0x26] & 0x1, rMY = dev[0x26] & 0x2, rMA = (dev[0x26] & 0x4) << 1, rML = dev[0x26] >> 4, rDX = rMX << 3, rDY = rMY << 2; }
23-static void screen_deo_x(void) { rX = (dev[0x28] << 8) | dev[0x29], rX = (short)rX; }
24-static void screen_deo_y(void) { rY = (dev[0x2a] << 8) | dev[0x2b], rY = (short)rY; }
25-static void screen_deo_addr(void) { rA = (dev[0x2c] << 8) | dev[0x2d]; }
26+static void screen_deo_x(void) { rX = (Sint16)peek2(&dev[0x28]); }
27+static void screen_deo_y(void) { rY = (Sint16)peek2(&dev[0x2a]); }
28+static void screen_deo_addr(void) { rA = peek2(&dev[0x2c]); }
29
30 /* clang-format on */
31