GB Video: Fix mode 0 window edge case (fixes #1519)

This commit is contained in:
Vicki Pfau 2019-09-08 18:03:42 -07:00
parent a44a8f668f
commit f127525cac
9 changed files with 4 additions and 0 deletions

View File

@ -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)

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

View File

@ -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;