From 289a265c4186e84308d817f5b34086853d816fd4 Mon Sep 17 00:00:00 2001 From: Devine Lu Linvega Date: Fri, 4 Apr 2025 08:52:12 -0700 Subject: [PATCH] (screen) Fixed issue with redraw bounds --- src/devices/screen.c | 13 +++++++------ src/uxnemu.c | 2 +- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/devices/screen.c b/src/devices/screen.c index 0a94272..4012086 100644 --- a/src/devices/screen.c +++ b/src/devices/screen.c @@ -154,18 +154,19 @@ screen_deo(Uint8 addr) if(ctrl & 0x80) { int x1, y1, x2, y2, ax, bx, ay, by, hor, ver; if(ctrl & 0x10) - x1 = MAR(0), x2 = MAR(rX); + x1 = 0, x2 = rX; else - x1 = MAR(rX), x2 = MAR(uxn_screen.width); + x1 = rX, x2 = uxn_screen.width; if(ctrl & 0x20) - y1 = MAR(0), y2 = MAR(rY); + y1 = 0, y2 = rY; else - y1 = MAR(rY), y2 = MAR(uxn_screen.height); - hor = x2 - x1, ver = y2 - y1; + y1 = rY, y2 = uxn_screen.height; + screen_change(x1, y1, x2, y2); + x1 = MAR(x1), y1 = MAR(y1); + hor = MAR(x2) - x1, ver = MAR(y2) - y1; for(ay = y1 * len, by = ay + ver * len; ay < by; ay += len) for(ax = ay + x1, bx = ax + hor; ax < bx; ax++) layer[ax] = color; - screen_change(x1, y1, x2, y2); } /* pixel mode */ else { diff --git a/src/uxnemu.c b/src/uxnemu.c index 35a69f9..f1518cd 100644 --- a/src/uxnemu.c +++ b/src/uxnemu.c @@ -469,7 +469,7 @@ main(int argc, char **argv) /* flags */ if(argc > 1 && argv[i][0] == '-') { if(!strcmp(argv[i], "-v")) - return system_error("Uxn(gui) - Varvara Emulator", "31 Jan 2025."); + return system_error("Uxn(gui) - Varvara Emulator", "4 Apr 2025."); else if(!strcmp(argv[i], "-2x")) set_zoom(2, 0); else if(!strcmp(argv[i], "-3x"))