fixed a compiler warning, and removed the 2 'flag' speedhacks. no game seemed to need them; and i think i remember someone said it breaks a game.

by 'remove' it means that they act like they're always ON.
i.e. Overflow flags aren't set for calculations, since i've only seen this hurt games. (most likely due to the ps2's floats being able to contain twice as much values before overflowing; it also could be a problem with other opcodes not 'reseting' the overflow flags when they're supposed to.)

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@439 a6443dda-0b58-4228-96e9-037be469359c
This commit is contained in:
cottonvibes 2008-12-16 06:15:35 +00:00 committed by Gregory Hainaut
parent 96fb132655
commit 533a16116a
4 changed files with 20 additions and 31 deletions

View File

@ -80,8 +80,8 @@ void CombinePaths( char* dest, const char* srcPath, const char* srcFile );
#define CHECK_EE_IOP_EXTRA (Config.Hacks & 0x20) #define CHECK_EE_IOP_EXTRA (Config.Hacks & 0x20)
#define CHECK_UNDERFLOW (!(Config.Hacks & 0x8)) #define CHECK_UNDERFLOW (!(Config.Hacks & 0x8))
//#define CHECK_DENORMALS ((Config.Hacks & 0x400) ? 0xffc0 : 0x7f80) //If enabled, Denormals are Zero for the recs and flush to zero is enabled as well //#define CHECK_DENORMALS ((Config.Hacks & 0x400) ? 0xffc0 : 0x7f80) //If enabled, Denormals are Zero for the recs and flush to zero is enabled as well
#define CHECK_VU_EXTRA_FLAGS (!(Config.Hacks & 0x100)) // Sets correct flags in the VU recs #define CHECK_VU_EXTRA_FLAGS 0 // Always disabled now, doesn't seem to affect games positively. // (!(Config.Hacks & 0x100)) // Sets correct flags in the VU recs
#define CHECK_FPU_EXTRA_FLAGS (!(Config.Hacks & 0x200)) // Sets correct flags in the FPU recs #define CHECK_FPU_EXTRA_FLAGS 0 // Always disabled now, doesn't seem to affect games positively. // (!(Config.Hacks & 0x200)) // Sets correct flags in the FPU recs
#define CHECK_ESCAPE_HACK (Config.Hacks & 0x400) #define CHECK_ESCAPE_HACK (Config.Hacks & 0x400)
//------------ SPECIAL GAME FIXES!!! --------------- //------------ SPECIAL GAME FIXES!!! ---------------
//#define CHECK_SLOWDVD (Config.GameFixes & 0x1) // Slow DVD access times, for games that are strict about them (Tales of the Abyss) //#define CHECK_SLOWDVD (Config.GameFixes & 0x1) // Slow DVD access times, for games that are strict about them (Tales of the Abyss)

View File

@ -22,7 +22,7 @@
struct DECI2_TTYP_HEADER{ struct DECI2_TTYP_HEADER{
DECI2_HEADER h; //+00 DECI2_HEADER h; //+00
u32 flushreq; //+08 u32 flushreq; //+08
u8 data[0]; //+0C //u8 data[0]; //+0C // Not used, so commented out (cottonvibes)
}; //=0C }; //=0C
void sendTTYP(u16 protocol, u8 source, char *data){ void sendTTYP(u16 protocol, u8 source, char *data){

View File

@ -927,8 +927,8 @@ static void HacksInit( HWND hDlg )
if(Config.Hacks & 0x10) CheckDlgButton(hDlg, IDC_SYNCHACK2, TRUE); if(Config.Hacks & 0x10) CheckDlgButton(hDlg, IDC_SYNCHACK2, TRUE);
if(Config.Hacks & 0x20) CheckDlgButton(hDlg, IDC_SYNCHACK3, TRUE); if(Config.Hacks & 0x20) CheckDlgButton(hDlg, IDC_SYNCHACK3, TRUE);
if(Config.Hacks & 0x40) CheckDlgButton(hDlg, IDC_VU_OVERFLOWHACK, 2); if(Config.Hacks & 0x40) CheckDlgButton(hDlg, IDC_VU_OVERFLOWHACK, 2);
if(Config.Hacks & 0x100) CheckDlgButton(hDlg, IDC_VU_FLAGS, TRUE); //if(Config.Hacks & 0x100) CheckDlgButton(hDlg, IDC_VU_FLAGS, TRUE);
if(Config.Hacks & 0x200) CheckDlgButton(hDlg, IDC_FPU_FLAGS, TRUE); //if(Config.Hacks & 0x200) CheckDlgButton(hDlg, IDC_FPU_FLAGS, TRUE);
if(Config.Hacks & 0x400) CheckDlgButton(hDlg, IDC_ESCHACK, TRUE); if(Config.Hacks & 0x400) CheckDlgButton(hDlg, IDC_ESCHACK, TRUE);
if(Config.Hacks & 0x800) CheckDlgButton(hDlg, IDC_FPU_OVERFLOWHACK, TRUE); if(Config.Hacks & 0x800) CheckDlgButton(hDlg, IDC_FPU_OVERFLOWHACK, TRUE);
if(Config.Hacks & 0x1000) CheckDlgButton(hDlg, IDC_FPU_OVERFLOWHACK, 2); if(Config.Hacks & 0x1000) CheckDlgButton(hDlg, IDC_FPU_OVERFLOWHACK, 2);
@ -943,8 +943,8 @@ static void HacksChecked( HWND hDlg )
Config.Hacks |= IsDlgButtonChecked(hDlg, IDC_DENORMALS) ? 0x8 : 0; Config.Hacks |= IsDlgButtonChecked(hDlg, IDC_DENORMALS) ? 0x8 : 0;
Config.Hacks |= IsDlgButtonChecked(hDlg, IDC_SYNCHACK2) ? 0x10 : 0; Config.Hacks |= IsDlgButtonChecked(hDlg, IDC_SYNCHACK2) ? 0x10 : 0;
Config.Hacks |= IsDlgButtonChecked(hDlg, IDC_SYNCHACK3) ? 0x20 : 0; Config.Hacks |= IsDlgButtonChecked(hDlg, IDC_SYNCHACK3) ? 0x20 : 0;
Config.Hacks |= IsDlgButtonChecked(hDlg, IDC_VU_FLAGS) ? 0x100 : 0; //Config.Hacks |= IsDlgButtonChecked(hDlg, IDC_VU_FLAGS) ? 0x100 : 0;
Config.Hacks |= IsDlgButtonChecked(hDlg, IDC_FPU_FLAGS) ? 0x200 : 0; //Config.Hacks |= IsDlgButtonChecked(hDlg, IDC_FPU_FLAGS) ? 0x200 : 0;
Config.Hacks |= IsDlgButtonChecked(hDlg, IDC_ESCHACK) ? 0x400 : 0; Config.Hacks |= IsDlgButtonChecked(hDlg, IDC_ESCHACK) ? 0x400 : 0;
/* 0x1000 == greyed checkbox (extra overflow checking); 0x800 == checked (disable overflow checking)*/ /* 0x1000 == greyed checkbox (extra overflow checking); 0x800 == checked (disable overflow checking)*/
Config.Hacks |= ( IsDlgButtonChecked(hDlg, IDC_FPU_OVERFLOWHACK) == 2 ) ? 0x1000 : (IsDlgButtonChecked(hDlg, IDC_FPU_OVERFLOWHACK) ? 0x800 : 0); Config.Hacks |= ( IsDlgButtonChecked(hDlg, IDC_FPU_OVERFLOWHACK) == 2 ) ? 0x1000 : (IsDlgButtonChecked(hDlg, IDC_FPU_OVERFLOWHACK) ? 0x800 : 0);
@ -973,8 +973,6 @@ BOOL APIENTRY HacksProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
CheckDlgButton(hDlg, IDC_VU_OVERFLOWHACK, FALSE); CheckDlgButton(hDlg, IDC_VU_OVERFLOWHACK, FALSE);
CheckDlgButton(hDlg, IDC_FPU_OVERFLOWHACK, FALSE); CheckDlgButton(hDlg, IDC_FPU_OVERFLOWHACK, FALSE);
CheckDlgButton(hDlg, IDC_DENORMALS, TRUE); CheckDlgButton(hDlg, IDC_DENORMALS, TRUE);
CheckDlgButton(hDlg, IDC_VU_FLAGS, TRUE);
CheckDlgButton(hDlg, IDC_FPU_FLAGS, TRUE);
CheckDlgButton(hDlg, IDC_SYNCHACK, FALSE); CheckDlgButton(hDlg, IDC_SYNCHACK, FALSE);
CheckDlgButton(hDlg, IDC_SYNCHACK2, FALSE); CheckDlgButton(hDlg, IDC_SYNCHACK2, FALSE);
CheckDlgButton(hDlg, IDC_SYNCHACK3, FALSE); CheckDlgButton(hDlg, IDC_SYNCHACK3, FALSE);
@ -988,8 +986,6 @@ BOOL APIENTRY HacksProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
CheckDlgButton(hDlg, IDC_VU_OVERFLOWHACK, TRUE); CheckDlgButton(hDlg, IDC_VU_OVERFLOWHACK, TRUE);
CheckDlgButton(hDlg, IDC_FPU_OVERFLOWHACK, TRUE); CheckDlgButton(hDlg, IDC_FPU_OVERFLOWHACK, TRUE);
CheckDlgButton(hDlg, IDC_DENORMALS, TRUE); CheckDlgButton(hDlg, IDC_DENORMALS, TRUE);
CheckDlgButton(hDlg, IDC_VU_FLAGS, TRUE);
CheckDlgButton(hDlg, IDC_FPU_FLAGS, TRUE);
CheckDlgButton(hDlg, IDC_SYNCHACK, TRUE); CheckDlgButton(hDlg, IDC_SYNCHACK, TRUE);
CheckDlgButton(hDlg, IDC_SYNCHACK2, TRUE); CheckDlgButton(hDlg, IDC_SYNCHACK2, TRUE);
CheckDlgButton(hDlg, IDC_SYNCHACK3, FALSE); CheckDlgButton(hDlg, IDC_SYNCHACK3, FALSE);
@ -1003,8 +999,6 @@ BOOL APIENTRY HacksProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
CheckDlgButton(hDlg, IDC_VU_OVERFLOWHACK, FALSE); CheckDlgButton(hDlg, IDC_VU_OVERFLOWHACK, FALSE);
CheckDlgButton(hDlg, IDC_FPU_OVERFLOWHACK, FALSE); CheckDlgButton(hDlg, IDC_FPU_OVERFLOWHACK, FALSE);
CheckDlgButton(hDlg, IDC_DENORMALS, FALSE); CheckDlgButton(hDlg, IDC_DENORMALS, FALSE);
CheckDlgButton(hDlg, IDC_VU_FLAGS, FALSE);
CheckDlgButton(hDlg, IDC_FPU_FLAGS, FALSE);
CheckDlgButton(hDlg, IDC_SYNCHACK, FALSE); CheckDlgButton(hDlg, IDC_SYNCHACK, FALSE);
CheckDlgButton(hDlg, IDC_SYNCHACK2, FALSE); CheckDlgButton(hDlg, IDC_SYNCHACK2, FALSE);
CheckDlgButton(hDlg, IDC_SYNCHACK3, FALSE); CheckDlgButton(hDlg, IDC_SYNCHACK3, FALSE);

View File

@ -1039,40 +1039,35 @@ BEGIN
CONTROL 132,IDC_PS2SILVER_RECT,"Static",SS_BITMAP,2,183,70,74 CONTROL 132,IDC_PS2SILVER_RECT,"Static",SS_BITMAP,2,183,70,74
END END
IDD_HACKS DIALOGEX 0, 0, 511, 314 IDD_HACKS DIALOGEX 0, 0, 511, 231
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "PCSX2 Speed Hacks" CAPTION "PCSX2 Speed Hacks"
FONT 8, "MS Shell Dlg", 400, 0, 0x1 FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN BEGIN
DEFPUSHBUTTON "OK",IDOK,303,293,50,14 DEFPUSHBUTTON "OK",IDOK,398,210,50,14
PUSHBUTTON "Cancel",IDCANCEL,359,293,50,14 PUSHBUTTON "Cancel",IDCANCEL,454,210,50,14
CONTROL "EE Sync Hack (x2) - Doubles the cycle rate of the EE. ( Big Speedup in most games! )",IDC_SYNCHACK, CONTROL "EE Sync Hack (x2) - Doubles the cycle rate of the EE. ( Big Speedup in most games! )",IDC_SYNCHACK,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,162,418,10 "Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,112,418,10
CONTROL "Disable VU Overflow Checks - *Checked = Disables overflow checks. ( Speedup! ) *Greyed = Extra overflow checks. ( Helps SPS, Slow! )",IDC_VU_OVERFLOWHACK, CONTROL "Disable VU Overflow Checks - *Checked = Disables overflow checks. ( Speedup! ) *Greyed = Extra overflow checks. ( Helps SPS, Slow! )",IDC_VU_OVERFLOWHACK,
"Button",BS_AUTO3STATE | WS_TABSTOP,15,49,475,10 "Button",BS_AUTO3STATE | WS_TABSTOP,15,49,475,10
CTEXT "These hacks will affect the speed of PCSX2 but possibly compromise compatibility.",IDC_HACKDESC,7,7,497,8 CTEXT "These hacks will affect the speed of PCSX2 but possibly compromise compatibility.",IDC_HACKDESC,7,7,497,8
CONTROL "IOP Sync Hack (x2) - Doubles the cycle rate of the IOP. ( Speedup but breaks some games. )",IDC_SYNCHACK2, CONTROL "IOP Sync Hack (x2) - Doubles the cycle rate of the IOP. ( Speedup but breaks some games. )",IDC_SYNCHACK2,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,176,410,10 "Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,126,410,10
CONTROL "EE/IOP Sync Hack (x3) - Makes EE and IOP hacks triple the cycle rate. ( Even faster, but very unstable. Use at your own risk! )",IDC_SYNCHACK3, CONTROL "EE/IOP Sync Hack (x3) - Makes EE and IOP hacks triple the cycle rate. ( Even faster, but very unstable. Use at your own risk! )",IDC_SYNCHACK3,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,190,464,11 "Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,140,464,11
CONTROL "Disable FPU Overflow Checks - *Checked = Disables overflow checks. ( Speedup! ) *Greyed = Extra overflow checks. ( Helps SPS, Slow! )",IDC_FPU_OVERFLOWHACK, CONTROL "Disable FPU Overflow Checks - *Checked = Disables overflow checks. ( Speedup! ) *Greyed = Extra overflow checks. ( Helps SPS, Slow! )",IDC_FPU_OVERFLOWHACK,
"Button",BS_AUTO3STATE | WS_TABSTOP,15,63,483,10 "Button",BS_AUTO3STATE | WS_TABSTOP,15,63,483,10
CTEXT "If you have problems, disable all these and try again!",IDC_STATIC,7,22,497,8 CTEXT "If you have problems, disable all these and try again!",IDC_STATIC,7,22,497,8
GROUPBOX "Overflow and Underflow",IDC_STATIC,7,36,497,58 GROUPBOX "Overflow and Underflow",IDC_STATIC,7,36,497,58
CONTROL "Disable Underflow Checks - *Checked = Disables underflow checks. ( Speedup! )",IDC_DENORMALS, CONTROL "Disable Underflow Checks - *Checked = Disables underflow checks. ( Speedup! )",IDC_DENORMALS,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,77,319,10 "Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,77,319,10
GROUPBOX "Sync Hacks",IDC_STATIC,7,149,497,63 GROUPBOX "Sync Hacks",IDC_STATIC,7,99,497,63
GROUPBOX "Miscellaneous",IDC_STATIC,7,216,497,61 GROUPBOX "Miscellaneous",IDC_STATIC,7,166,497,33
GROUPBOX "Flag Setting",IDC_STATIC,7,100,497,41
CONTROL "Disable Extra VU Flags - When checked, PCSX2 doesn't set some flags that are rarely used by games. ( Speedup! )",IDC_VU_FLAGS,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,113,442,10
CONTROL "Disable Extra FPU Flags - When checked, PCSX2 doesn't set some flags that are rarely used by games. ( Speedup! )",IDC_FPU_FLAGS,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,126,414,10
CONTROL "Escape Hack - Use Esc key to fully exit PCSX2.",IDC_ESCHACK, CONTROL "Escape Hack - Use Esc key to fully exit PCSX2.",IDC_ESCHACK,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,244,421,10 "Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,180,421,10
PUSHBUTTON "Stable",IDBUTTON1,74,293,50,14 PUSHBUTTON "Stable",IDBUTTON1,74,210,50,14
PUSHBUTTON "Speed",IDBUTTON2,133,293,50,14 PUSHBUTTON "Speed",IDBUTTON2,133,210,50,14
PUSHBUTTON "Nothing",IDBUTTON3,15,293,50,14 PUSHBUTTON "Nothing",IDBUTTON3,15,210,50,14
END END
@ -1096,7 +1091,7 @@ BEGIN
RIGHTMARGIN, 504 RIGHTMARGIN, 504
VERTGUIDE, 15 VERTGUIDE, 15
TOPMARGIN, 7 TOPMARGIN, 7
BOTTOMMARGIN, 307 BOTTOMMARGIN, 224
END END
END END
#endif // APSTUDIO_INVOKED #endif // APSTUDIO_INVOKED