diff --git a/CHANGES b/CHANGES index 8d304f5b2..25d23ba79 100644 --- a/CHANGES +++ b/CHANGES @@ -58,6 +58,7 @@ Bugfixes: - GBA BIOS: Fix BIOS prefetch after returning from an IRQ - GBA BIOS: Fix BIOS prefetch after reset - GBA Memory: Fix alignment of open bus 8- and 16-bit loads + - GBA BIOS: Fix HuffUnComp boundary conditions Misc: - Qt: Disable sync to video by default - GBA: Exit cleanly on FATAL if the port supports it diff --git a/src/gba/gba-bios.c b/src/gba/gba-bios.c index 313dfac07..6ad2df324 100644 --- a/src/gba/gba-bios.c +++ b/src/gba/gba-bios.c @@ -397,8 +397,6 @@ static void _unHuffman(struct GBA* gba) { GBALog(gba, GBA_LOG_STUB, "Unimplemented unaligned Huffman"); return; } - int padding = (4 - remaining) & 0x3; - remaining &= 0xFFFFFFFC; // We assume the signature byte (0x20) is correct int treesize = (cpu->memory.load8(cpu, source + 4, 0) << 1) + 1; int block = 0; @@ -449,9 +447,6 @@ static void _unHuffman(struct GBA* gba) { } } - if (padding) { - cpu->memory.store32(cpu, dest, block, 0); - } cpu->gprs[0] = source; cpu->gprs[1] = dest; }