diff --git a/CHANGES b/CHANGES index a9a5bf44f..a2dddfa9c 100644 --- a/CHANGES +++ b/CHANGES @@ -17,6 +17,7 @@ Bugfixes: - Qt: Add additional checks in CheatModel to prevent crashes - GBA Hardware: Fix Game Boy Player rumble in Pokemon Pinball - OpenGL: Fix fast-forward on some OpenGL drivers where it may block early + - GBA BIOS: Fix Sqrt sign Misc: - GBA Audio: Implement missing flags on SOUNDCNT_X register diff --git a/src/gba/bios.c b/src/gba/bios.c index ff2ee81be..76790e1ab 100644 --- a/src/gba/bios.c +++ b/src/gba/bios.c @@ -213,7 +213,7 @@ void GBASwi16(struct ARMCore* cpu, int immediate) { _Div(gba, cpu->gprs[1], cpu->gprs[0]); break; case 0x8: - cpu->gprs[0] = sqrt(cpu->gprs[0]); + cpu->gprs[0] = sqrt((uint32_t) cpu->gprs[0]); break; case 0xA: cpu->gprs[0] = atan2f(cpu->gprs[1] / 16384.f, cpu->gprs[0] / 16384.f) / (2 * M_PI) * 0x10000;