all repos — mgba @ b9ae98601627a5def753c056660dff5de5841397

mGBA Game Boy Advance Emulator

GBA Video: Force align 256-color tiles
Vicki Pfau vi@endrift.com
Wed, 11 Oct 2017 19:35:58 -0700
commit

b9ae98601627a5def753c056660dff5de5841397

parent

17dac6486b4b0f20455548db1f55f37cc068f19e

M CHANGESCHANGES

@@ -17,6 +17,7 @@ - ARM: Fix MSR when T bit is set

- GB Serialize: Fix game title check - GB: Revamp IRQ handling based on new information - GBA Video: Don't mask out high bits of BLDY (fixes mgba.io/i/899) + - GBA Video: Force align 256-color tiles Misc: - GBA Timer: Use global cycles for timers - GBA: Extend oddly-sized ROMs to full address space (fixes mgba.io/i/722)
M src/gba/renderers/software-obj.csrc/gba/renderers/software-obj.c

@@ -148,7 +148,7 @@ }

int32_t x = (uint32_t) GBAObjAttributesBGetX(sprite->b) << 23; x >>= 23; uint16_t* vramBase = &renderer->d.vram[BASE_TILE >> 1]; - unsigned charBase = GBAObjAttributesCGetTile(sprite->c) * 0x20; + unsigned charBase = (GBAObjAttributesCGetTile(sprite->c) & ~GBAObjAttributesAGet256Color(sprite->a)) * 0x20; if (GBARegisterDISPCNTGetMode(renderer->dispcnt) >= 3 && GBAObjAttributesCGetTile(sprite->c) < 512) { return 0; }