From: Pokemonhacker <pok...@us...> - 2005-06-07 10:19:37
|
Update of /cvsroot/vba/VisualBoyAdvance/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1641 Modified Files: bios.cpp Log Message: - Fixed Arctan2. Index: bios.cpp =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/bios.cpp,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** bios.cpp 18 Nov 2004 01:18:36 -0000 1.15 --- bios.cpp 7 Jun 2005 10:19:26 -0000 1.16 *************** *** 101,114 **** #endif ! s16 x = reg[0].I; ! s16 y = reg[1].I; ! s16 res = 0; if (y == 0) { ! res = 0x8000 & x; } else { if (x == 0) { ! res = (0x8000 & y) + 0x4000; } else { ! if (abs(x) > abs(y)) { reg[1].I = x; reg[0].I = y << 14; --- 101,114 ---- #endif ! s32 x = reg[0].I; ! s32 y = reg[1].I; ! u32 res = 0; if (y == 0) { ! res = ((x>>16) & 0x8000); } else { if (x == 0) { ! res = ((y>>16) & 0x8000) + 0x4000; } else { ! if ((abs(x) > abs(y)) || ((abs(x) == abs(y)) && (!((x<0) && (y<0))))) { reg[1].I = x; reg[0].I = y << 14; *************** *** 118,131 **** res = 0x8000 + reg[0].I; else ! res = ((y & 0x8000) << 1 ) + reg[0].I; } else { reg[0].I = x << 14; BIOS_Div(); BIOS_ArcTan(); ! res = (0x4000 + (y & 0x8000)) - reg[0].I; } } } ! reg[0].I = ((u32)res) & 0xffff; #ifdef DEV_VERSION --- 118,131 ---- res = 0x8000 + reg[0].I; else ! res = (((y>>16) & 0x8000)<<1) + reg[0].I; } else { reg[0].I = x << 14; BIOS_Div(); BIOS_ArcTan(); ! res = (0x4000 + ((y>>16) & 0x8000)) - reg[0].I; } } } ! reg[0].I = res; #ifdef DEV_VERSION *************** *** 135,139 **** } #endif ! } void BIOS_BitUnPack() --- 135,139 ---- } #endif ! } void BIOS_BitUnPack() |