From 324f747947d93dddc43105ec3d81a0a282a4c95f Mon Sep 17 00:00:00 2001 From: ramapcsx2 Date: Tue, 12 Aug 2008 12:05:04 +0000 Subject: [PATCH] more ivumicro stuff, and a dialogue misunderstanding i had ^^ git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@11 a6443dda-0b58-4228-96e9-037be469359c --- pcsx2/windows/pcsx2.rc | 26 +++++++-------- pcsx2/x86/iVUmicro.c | 74 ++++++++++++++++++++++-------------------- 2 files changed, 52 insertions(+), 48 deletions(-) diff --git a/pcsx2/windows/pcsx2.rc b/pcsx2/windows/pcsx2.rc index e1b3c366dd..5b1b6c2930 100644 --- a/pcsx2/windows/pcsx2.rc +++ b/pcsx2/windows/pcsx2.rc @@ -946,24 +946,24 @@ BEGIN DEFPUSHBUTTON "OK",IDOK,119,197,50,14 PUSHBUTTON "Cancel",IDCANCEL,174,197,50,14 CONTROL "EE Sync Hack (x2) - Doubles the cycle rate of the EE.",IDC_SYNCHACK, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,106,336,10 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,100,186,10 CONTROL "Disable All Overflow Checks - Doesn't check for overflow at all in the VU Recs.",IDC_OVERFLOWHACK, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,53,336,10 - CTEXT "These hacks will effect the speed of PCSX2 but possibly comprimise on compatability",IDC_HACKDESC,7,7,336,10 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,53,264,10 + CTEXT "These hacks will effect the speed of PCSX2 but possibly comprimise on compatability",IDC_HACKDESC,42,7,269,8 CONTROL "Tighter SPU2 Sync ( FFXII vids) - slower, not usefull anymore",IDC_SOUNDHACK, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,180,336,9 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,168,211,10 CONTROL "Denormals are Zero - Makes very small numbers be equal to zero. (Big speedup on Intel CPUs)",IDC_DENORMALS, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,67,336,9 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,67,317,10 CONTROL "IOP Sync Hack (x2) - Doubles the cycle rate of the IOP.",IDC_SYNCHACK2, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,120,336,10 - CONTROL "EE/IOP Sync Hack (x3) - Makes EE and IOP hacks triple the cycle rate instead of doubling it.",IDC_SYNCHACK3, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,135,336,10 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,114,194,10 + CONTROL "EE/IOP Sync Hack (x3) - Makes EE and IOP hacks triple the cycle rate (not recommended)",IDC_SYNCHACK3, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,126,309,10 CONTROL "Disable Extra Overflow Checks - Disables extra overflow checks used to help stop SPS.",IDC_OVERFLOWHACK_EXTRA, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,40,336,10 - CONTROL "EE/IOP Fast Branches - Quick branching (very small speedup)",IDC_FASTBRANCHES, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,150,336,10 - LTEXT "Choose either the x2 OR the x3 hacks, not both",IDC_STATIC,78,93,181,8 - LTEXT "If you have problems, disable all these and try again",IDC_STATIC,79,18,181,8 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,40,293,10 + CONTROL "EE/IOP Fast Branches - Quick branching (very small speedup, use only when you need every fps)",IDC_FASTBRANCHES, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,154,327,10 + LTEXT "",IDC_STATIC,78,93,181,8 + LTEXT "If you have problems, disable all these and try again",IDC_STATIC,79,21,169,8 END diff --git a/pcsx2/x86/iVUmicro.c b/pcsx2/x86/iVUmicro.c index bf4b6d97f5..7522d502d0 100644 --- a/pcsx2/x86/iVUmicro.c +++ b/pcsx2/x86/iVUmicro.c @@ -2038,7 +2038,7 @@ void recVUMI_SUB_iq(VURegs *VU, uptr addr, int info) //if( addr == VU_REGQ_ADDR ) CheckForOverflow(VU, info, EEREC_D); } -static PCSX2_ALIGNED16(s_unaryminus[4]) = {0x80000000, 0, 0, 0}; +const static PCSX2_ALIGNED16(s_unaryminus[4]) = {0x80000000, 0, 0, 0}; void recVUMI_SUB_xyzw(VURegs *VU, int xyzw, int info) { @@ -4702,6 +4702,7 @@ void recVUMI_ILW(VURegs *VU, int info) else if (_Y) off = 4; else if (_Z) off = 8; else if (_W) off = 12; + else { SysPrintf("Problem in recVUMI_ILW!!"); off=0; } ADD_VI_NEEDED(_Fs_); ftreg = ALLOCVI(_Ft_, MODE_WRITE); @@ -4756,6 +4757,7 @@ void recVUMI_ILWR( VURegs *VU, int info ) else if (_Y) off = 4; else if (_Z) off = 8; else if (_W) off = 12; + else { SysPrintf("Problem in recVUMI_ILWR!!"); off=0; } ADD_VI_NEEDED(_Fs_); ftreg = ALLOCVI(_Ft_, MODE_WRITE); @@ -5566,41 +5568,43 @@ void recVUMI_ESQRT( VURegs *VU, int info ) SSE_MOVSS_XMM_to_M32(VU_VI_ADDR(REG_P, 0), EEREC_TEMP); } -#if defined(_MSC_VER) && !defined(__x86_64__) +//below code isn't used anymore, scheduled for deletion -static u32 s_saveecx, s_saveedx, s_saveebx, s_saveesi, s_saveedi, s_saveebp; -float tempsqrt = 0; -extern float vuDouble(u32 f); -__declspec(naked) void tempERSQRT() -{ - __asm { - mov s_saveecx, ecx - mov s_saveedx, edx - mov s_saveebx, ebx - mov s_saveesi, esi - mov s_saveedi, edi - mov s_saveebp, ebp - } - - if (tempsqrt >= 0) { - tempsqrt = fpusqrtf(tempsqrt); - if (tempsqrt) { - tempsqrt = 1.0f / tempsqrt; - } - tempsqrt = vuDouble(*(u32*)&tempsqrt); - } - - __asm { - mov ecx, s_saveecx - mov edx, s_saveedx - mov ebx, s_saveebx - mov esi, s_saveesi - mov edi, s_saveedi - mov ebp, s_saveebp - ret - } -} -#endif +//#if defined(_MSC_VER) && !defined(__x86_64__) +// +//static u32 s_saveecx, s_saveedx, s_saveebx, s_saveesi, s_saveedi, s_saveebp; +//float tempsqrt = 0; +//extern float vuDouble(u32 f); +//__declspec(naked) void tempERSQRT() +//{ +// __asm { +// mov s_saveecx, ecx +// mov s_saveedx, edx +// mov s_saveebx, ebx +// mov s_saveesi, esi +// mov s_saveedi, edi +// mov s_saveebp, ebp +// } +// +// if (tempsqrt >= 0) { +// tempsqrt = fpusqrtf(tempsqrt); +// if (tempsqrt) { +// tempsqrt = 1.0f / tempsqrt; +// } +// tempsqrt = vuDouble(*(u32*)&tempsqrt); +// } +// +// __asm { +// mov ecx, s_saveecx +// mov edx, s_saveedx +// mov ebx, s_saveebx +// mov esi, s_saveesi +// mov edi, s_saveedi +// mov ebp, s_saveebp +// ret +// } +//} +//#endif void recVUMI_ERSQRT( VURegs *VU, int info ) {