all repos — mgba @ c3a19ddb8c40c543bff4b537062aa16821ea1e30

mGBA Game Boy Advance Emulator

DS Video: Fix extended modes 1.x screen base range (fixes #568)
Vicki Pfau vi@endrift.com
Sun, 09 Apr 2017 21:27:38 -0700
commit

c3a19ddb8c40c543bff4b537062aa16821ea1e30

parent

7c4a220bbbb37ee974bb3e43bf02a96d66d3e7e6

2 files changed, 3 insertions(+), 2 deletions(-)

jump to
M CHANGESCHANGES

@@ -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)
M src/ds/renderers/software.csrc/ds/renderers/software.c

@@ -746,7 +746,7 @@

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