GBA BIOS: Fix MidiKey2Freq BIOS reads
Jeffrey Pfau jeffrey@endrift.com
Tue, 11 Oct 2016 22:01:13 -0700
2 files changed,
6 insertions(+),
0 deletions(-)
M
src/gba/bios.c
→
src/gba/bios.c
@@ -244,7 +244,12 @@ }
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); }