GBA BIOS: Fix misaligned RLUnCompReadNormalWrite*

This commit is contained in:
Jeffrey Pfau 2015-11-17 19:48:10 -08:00
parent 7c9b619f7b
commit 4ca8d75082
2 changed files with 3 additions and 2 deletions

View File

@ -30,6 +30,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:
- Qt: Window size command line options are now supported
- Qt: Increase usability of key mapper

View File

@ -482,8 +482,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;