From 1318d13039c63a13c4d873743c3878906dc296c7 Mon Sep 17 00:00:00 2001 From: Vicki Pfau Date: Sun, 24 Jun 2018 18:38:00 -0700 Subject: [PATCH] GBA BIOS: Fix BitUnPack final byte --- CHANGES | 1 + src/gba/bios.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGES b/CHANGES index ad24f9fae..c9d66057a 100644 --- a/CHANGES +++ b/CHANGES @@ -38,6 +38,7 @@ Bugfixes: - Qt: Improve FPS timer stability - GBA Serialize: Fix loading channel 3 volume (fixes mgba.io/i/1107) - GBA SIO: Fix unconnected SIOCNT for multi mode (fixes mgba.io/i/1105) + - GBA BIOS: Fix BitUnPack final byte Misc: - GBA Timer: Use global cycles for timers - GBA: Extend oddly-sized ROMs to full address space (fixes mgba.io/i/722) diff --git a/src/gba/bios.c b/src/gba/bios.c index e14050184..dcbe8dac9 100644 --- a/src/gba/bios.c +++ b/src/gba/bios.c @@ -809,7 +809,7 @@ static void _unBitPack(struct GBA* gba) { uint32_t out = 0; int bitsRemaining = 0; int bitsEaten = 0; - while (sourceLen > 0) { + while (sourceLen > 0 || bitsRemaining) { if (!bitsRemaining) { in = cpu->memory.load8(cpu, source, 0); bitsRemaining = 8;