diff --git a/CHANGES b/CHANGES index 6ea41ea02..06bae47db 100644 --- a/CHANGES +++ b/CHANGES @@ -39,6 +39,7 @@ Emulation fixes: - GB: Fix savedata initialization (fixes mgba.io/i/1473, mgba.io/i/1478) - GB Memory: Better emulate 0xFEA0 region on DMG, MGB and AGB - GB Printer: Reset printer buffer index after printing + - GB Video: Fix mode 0 window edge case (fixes mgba.io/i/1519) Other fixes: - Qt: Fix some Qt display driver race conditions - Core: Improved lockstep driver reliability (Le Hoang Quyen) diff --git a/cinema/gb/window/zin-head/baseline_0000.png b/cinema/gb/window/zin-head/baseline_0000.png new file mode 100644 index 000000000..d3c2c0f9d Binary files /dev/null and b/cinema/gb/window/zin-head/baseline_0000.png differ diff --git a/cinema/gb/window/zin-head/baseline_0001.png b/cinema/gb/window/zin-head/baseline_0001.png new file mode 100644 index 000000000..5d583d227 Binary files /dev/null and b/cinema/gb/window/zin-head/baseline_0001.png differ diff --git a/cinema/gb/window/zin-head/baseline_0002.png b/cinema/gb/window/zin-head/baseline_0002.png new file mode 100644 index 000000000..5d583d227 Binary files /dev/null and b/cinema/gb/window/zin-head/baseline_0002.png differ diff --git a/cinema/gb/window/zin-head/baseline_0003.png b/cinema/gb/window/zin-head/baseline_0003.png new file mode 100644 index 000000000..5d583d227 Binary files /dev/null and b/cinema/gb/window/zin-head/baseline_0003.png differ diff --git a/cinema/gb/window/zin-head/baseline_0004.png b/cinema/gb/window/zin-head/baseline_0004.png new file mode 100644 index 000000000..5d583d227 Binary files /dev/null and b/cinema/gb/window/zin-head/baseline_0004.png differ diff --git a/cinema/gb/window/zin-head/baseline_0005.png b/cinema/gb/window/zin-head/baseline_0005.png new file mode 100644 index 000000000..d3c2c0f9d Binary files /dev/null and b/cinema/gb/window/zin-head/baseline_0005.png differ diff --git a/cinema/gb/window/zin-head/test.mvl b/cinema/gb/window/zin-head/test.mvl new file mode 100644 index 000000000..009337411 Binary files /dev/null and b/cinema/gb/window/zin-head/test.mvl differ diff --git a/src/gb/renderers/software.c b/src/gb/renderers/software.c index 93b2d3085..c0e5c2367 100644 --- a/src/gb/renderers/software.c +++ b/src/gb/renderers/software.c @@ -224,6 +224,9 @@ static void GBVideoSoftwareRendererUpdateWindow(struct GBVideoSoftwareRenderer* if (renderer->lastY >= GB_VIDEO_VERTICAL_PIXELS || !(after || before)) { return; } + if (!renderer->hasWindow && renderer->lastX == GB_VIDEO_HORIZONTAL_PIXELS) { + return; + } if (renderer->lastY >= oldWy) { if (!after) { renderer->currentWy -= renderer->lastY;