diff --git a/CHANGES b/CHANGES index 641bd96a7..154475c82 100644 --- a/CHANGES +++ b/CHANGES @@ -21,6 +21,7 @@ Bugfixes: - Qt: Fix crash when changing audio settings after a game is closed - GBA BIOS: Fix ArcTan sign in HLE BIOS - GBA BIOS: Fix ArcTan2 sign in HLE BIOS (fixes mgba.io/i/689) + - GBA Video: Don't update background scanline params in mode 0 (fixes mgba.io/i/377) Misc: - Qt: Improved HiDPI support - Feature: Support ImageMagick 7 diff --git a/src/gba/renderers/video-software.c b/src/gba/renderers/video-software.c index a4194152c..17fc467a9 100644 --- a/src/gba/renderers/video-software.c +++ b/src/gba/renderers/video-software.c @@ -820,10 +820,12 @@ static void _drawScanline(struct GBAVideoSoftwareRenderer* renderer, int y) { } } } - renderer->bg[2].sx += renderer->bg[2].dmx; - renderer->bg[2].sy += renderer->bg[2].dmy; - renderer->bg[3].sx += renderer->bg[3].dmx; - renderer->bg[3].sy += renderer->bg[3].dmy; + if (GBARegisterDISPCNTGetMode(renderer->dispcnt) != 0) { + renderer->bg[2].sx += renderer->bg[2].dmx; + renderer->bg[2].sy += renderer->bg[2].dmy; + renderer->bg[3].sx += renderer->bg[3].dmx; + renderer->bg[3].sy += renderer->bg[3].dmy; + } } static void _updatePalettes(struct GBAVideoSoftwareRenderer* renderer) {