GBA BIOS: Fix MidiKey2Freq BIOS reads

This commit is contained in:
Jeffrey Pfau 2016-10-11 22:01:13 -07:00
parent cd3e304dd8
commit 6d8dc724c2
2 changed files with 6 additions and 0 deletions

View File

@ -1,6 +1,7 @@
0.5.2: (Future)
Bugfixes:
- GBA Memory: Fix misaligned BIOS reads
- GBA BIOS: Fix MidiKey2Freq BIOS reads
0.5.1: (2016-10-05)
Bugfixes:

View File

@ -244,7 +244,12 @@ static void _ObjAffineSet(struct GBA* gba) {
static void _MidiKey2Freq(struct GBA* gba) {
struct ARMCore* cpu = gba->cpu;
int oldRegion = gba->memory.activeRegion;
gba->memory.activeRegion = REGION_BIOS;
uint32_t key = cpu->memory.load32(cpu, cpu->gprs[0] + 4, 0);
gba->memory.activeRegion = oldRegion;
cpu->gprs[0] = key / powf(2, (180.f - cpu->gprs[1] - cpu->gprs[2] / 256.f) / 12.f);
}