GBA BIOS: Fix ArcTan2 accuracy and boundary conditions
Jeffrey Pfau jeffrey@endrift.com
Thu, 16 Jun 2016 00:19:20 -0700
2 files changed,
2 insertions(+),
1 deletions(-)
M
CHANGES
→
CHANGES
@@ -22,6 +22,7 @@ - SDL: Fix SDL 1.2 build
- ARM7: Fix flags on SBC/RSC - Util: Fix realloc semantics in utf16to8 - ARM7: Fix setting spsr privilege bits when spsr is empty + - GBA BIOS: Fix ArcTan2 accuracy and boundary conditions Misc: - GBA: Slightly optimize GBAProcessEvents - Qt: Add preset for DualShock 4
M
src/gba/bios.c
→
src/gba/bios.c
@@ -301,7 +301,7 @@ case 0x8:
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; + cpu->gprs[0] = (uint16_t) (atan2f(cpu->gprs[1] / 16384.f, cpu->gprs[0] / 16384.f) / (2 * M_PI) * 0x10001); break; case 0xB: case 0xC: