mirror of https://github.com/mgba-emu/mgba.git
GBA BIOS: Fix MidiKey2Freq BIOS reads
This commit is contained in:
parent
4cbcc41e35
commit
8ac697f310
1
CHANGES
1
CHANGES
|
@ -5,6 +5,7 @@ Bugfixes:
|
|||
- LR35902: Fix core never exiting with certain event patterns
|
||||
- GB Timer: Improve DIV reset behavior
|
||||
- GBA Memory: Fix misaligned BIOS reads
|
||||
- GBA BIOS: Fix MidiKey2Freq BIOS reads
|
||||
Misc:
|
||||
- SDL: Remove scancode key input
|
||||
- GBA Video: Clean up unused timers
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue