GBA BIOS: Fix misaligned RLUnCompReadNormalWrite*

This commit is contained in:
Jeffrey Pfau 2015-11-17 19:48:10 -08:00
parent b862357a63
commit 07719860c3
2 changed files with 3 additions and 2 deletions

View File

@ -18,6 +18,7 @@ Bugfixes:
- GBA Hardware: Fix Game Boy Player rumble in Pokemon Pinball
- OpenGL: Fix fast-forward on some OpenGL drivers where it may block early
- GBA BIOS: Fix Sqrt sign
- GBA BIOS: Fix misaligned RLUnCompReadNormalWrite*
Misc:
- GBA Audio: Implement missing flags on SOUNDCNT_X register

View File

@ -476,8 +476,8 @@ static void _unHuffman(struct GBA* gba) {
static void _unRl(struct GBA* gba, int width) {
struct ARMCore* cpu = gba->cpu;
uint32_t source = cpu->gprs[0] & 0xFFFFFFFC;
int remaining = (cpu->memory.load32(cpu, source, 0) & 0xFFFFFF00) >> 8;
uint32_t source = cpu->gprs[0];
int remaining = (cpu->memory.load32(cpu, source & 0xFFFFFFFC, 0) & 0xFFFFFF00) >> 8;
int padding = (4 - remaining) & 0x3;
// We assume the signature byte (0x30) is correct
int blockheader;