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