From c3a19ddb8c40c543bff4b537062aa16821ea1e30 Mon Sep 17 00:00:00 2001 From: Vicki Pfau Date: Sun, 9 Apr 2017 21:27:38 -0700 Subject: [PATCH] DS Video: Fix extended modes 1.x screen base range (fixes #568) --- CHANGES | 1 + src/ds/renderers/software.c | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index 91cf44743..69d3f618f 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,7 @@ medusa alpha 2: (Future) Bugfixes: - DS Video: Fix VRAM mirroring in the renderer (fixes mgba.io/i/561) + - DS Video: Fix extended modes 1.x screen base range (fixes mgba.io/i/568) Misc: - DS: Set boot complete bit in RAM on boot (fixes mgba.io/i/576, mgba.io/i/580, mgba.io/i/586) diff --git a/src/ds/renderers/software.c b/src/ds/renderers/software.c index d1399ff75..5c7776a1f 100644 --- a/src/ds/renderers/software.c +++ b/src/ds/renderers/software.c @@ -746,7 +746,7 @@ void DSVideoSoftwareRendererDrawBackgroundExt0(struct GBAVideoSoftwareRenderer* void DSVideoSoftwareRendererDrawBackgroundExt1(struct GBAVideoSoftwareRenderer* renderer, struct GBAVideoSoftwareBackground* background, int inY) { BACKGROUND_BITMAP_INIT; - uint32_t screenBase = (background->screenBase & 0x1F00) * 8; + uint32_t screenBase = (background->screenBase & 0xFF00) * 8; uint8_t color; int width, height; switch (background->size) { @@ -803,7 +803,7 @@ void DSVideoSoftwareRendererDrawBackgroundExt1(struct GBAVideoSoftwareRenderer* void DSVideoSoftwareRendererDrawBackgroundExt2(struct GBAVideoSoftwareRenderer* renderer, struct GBAVideoSoftwareBackground* background, int inY) { BACKGROUND_BITMAP_INIT; - uint32_t screenBase = (background->screenBase & 0x1F00) * 4; + uint32_t screenBase = (background->screenBase & 0xFF00) * 4; uint32_t color; int width, height; switch (background->size) {