mirror of https://github.com/mgba-emu/mgba.git
GBA BIOS: Fix HuffUnComp boundary conditions
This commit is contained in:
parent
06bf931b77
commit
1a9b0eec6f
1
CHANGES
1
CHANGES
|
@ -58,6 +58,7 @@ Bugfixes:
|
||||||
- GBA BIOS: Fix BIOS prefetch after returning from an IRQ
|
- GBA BIOS: Fix BIOS prefetch after returning from an IRQ
|
||||||
- GBA BIOS: Fix BIOS prefetch after reset
|
- GBA BIOS: Fix BIOS prefetch after reset
|
||||||
- GBA Memory: Fix alignment of open bus 8- and 16-bit loads
|
- GBA Memory: Fix alignment of open bus 8- and 16-bit loads
|
||||||
|
- GBA BIOS: Fix HuffUnComp boundary conditions
|
||||||
Misc:
|
Misc:
|
||||||
- Qt: Disable sync to video by default
|
- Qt: Disable sync to video by default
|
||||||
- GBA: Exit cleanly on FATAL if the port supports it
|
- GBA: Exit cleanly on FATAL if the port supports it
|
||||||
|
|
|
@ -397,8 +397,6 @@ static void _unHuffman(struct GBA* gba) {
|
||||||
GBALog(gba, GBA_LOG_STUB, "Unimplemented unaligned Huffman");
|
GBALog(gba, GBA_LOG_STUB, "Unimplemented unaligned Huffman");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
int padding = (4 - remaining) & 0x3;
|
|
||||||
remaining &= 0xFFFFFFFC;
|
|
||||||
// We assume the signature byte (0x20) is correct
|
// We assume the signature byte (0x20) is correct
|
||||||
int treesize = (cpu->memory.load8(cpu, source + 4, 0) << 1) + 1;
|
int treesize = (cpu->memory.load8(cpu, source + 4, 0) << 1) + 1;
|
||||||
int block = 0;
|
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[0] = source;
|
||||||
cpu->gprs[1] = dest;
|
cpu->gprs[1] = dest;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue