diff --git a/pcsx2/IopHw.cpp b/pcsx2/IopHw.cpp index 2b4635fb20..53ad416e20 100644 --- a/pcsx2/IopHw.cpp +++ b/pcsx2/IopHw.cpp @@ -618,7 +618,7 @@ u32 psxHwRead32(u32 add) { } // A buffer that stores messages until it gets a /n or the number of chars (g_pbufi) is more then 1023. -static s8 g_pbuf[1024]; +static char g_pbuf[1024]; static int g_pbufi; void psxHwWrite8(u32 add, u8 value) { if (add >= HW_USB_START && add < HW_USB_END) { diff --git a/pcsx2/Linux/ConfigDlg.cpp b/pcsx2/Linux/ConfigDlg.cpp index f37a141cc3..dd0f3f924d 100644 --- a/pcsx2/Linux/ConfigDlg.cpp +++ b/pcsx2/Linux/ConfigDlg.cpp @@ -134,7 +134,7 @@ void OnConfConf_Ok(GtkButton *button, gpointer user_data) plugin_types type; applychanges = TRUE; - for (type = GS; type <= BIOS; type = type + 1) + for (type = GS; type <= BIOS; type = (plugin_types)((int)type + 1)) { PluginConf *confs = ConfS(type); @@ -188,7 +188,7 @@ void UpdateConfDlg() plugin_types type; FindPlugins(); - for (type = GS; type <= BIOS; type = type + 1) + for (type = GS; type <= BIOS; type = (plugin_types)((int)type + 1)) { char tmp[50]; PluginConf *confs = ConfS(type); @@ -274,7 +274,7 @@ void FindPlugins() char plugin[g_MaxPath], name[g_MaxPath]; plugin_types type; - for (type = GS; type <= BIOS; type = type + 1) + for (type = GS; type <= BIOS; type = (plugin_types)((int)type + 1)) { PluginConf *confs = ConfS(type); diff --git a/pcsx2/Memory.cpp b/pcsx2/Memory.cpp index 050a5cc44d..8a7f22fc9d 100644 --- a/pcsx2/Memory.cpp +++ b/pcsx2/Memory.cpp @@ -927,9 +927,9 @@ void mmap_ClearCpuBlock( uint offset ) // manual protection. Indicates a logic error in the recompiler or protection code. jASSUME( m_PageProtectInfo[rampage].Mode != ProtMode_Manual ); - #ifndef __LINUX__ // this function is called from the signal handler - DbgCon::WriteLn( "Manual page @ 0x%05x", params m_PageProtectInfo[rampage].ReverseRamMap>>12 ); - #endif + //#ifndef __LINUX__ // this function is called from the signal handler + //DbgCon::WriteLn( "Manual page @ 0x%05x", params m_PageProtectInfo[rampage].ReverseRamMap>>12 ); + //#endif HostSys::MemProtect( &psM[rampage<<12], 1, Protect_ReadWrite ); m_PageProtectInfo[rampage].Mode = ProtMode_Manual; diff --git a/pcsx2/vtlb.cpp b/pcsx2/vtlb.cpp index 76edac5fb4..69692bd7e2 100644 --- a/pcsx2/vtlb.cpp +++ b/pcsx2/vtlb.cpp @@ -324,17 +324,17 @@ vtlbHandler vtlb_RegisterHandler( vtlbMemR8FP* r8,vtlbMemR16FP* r16,vtlbMemR32FP //write the code :p vtlbHandler rv=vtlbHandlerCount++; - vtlbdata.RWFT[0][0][rv] = (r8!=0) ? r8:vtlbDefaultPhyRead8; - vtlbdata.RWFT[1][0][rv] = (r16!=0) ? r16:vtlbDefaultPhyRead16; - vtlbdata.RWFT[2][0][rv] = (r32!=0) ? r32:vtlbDefaultPhyRead32; - vtlbdata.RWFT[3][0][rv] = (r64!=0) ? r64:vtlbDefaultPhyRead64; - vtlbdata.RWFT[4][0][rv] = (r128!=0) ? r128:vtlbDefaultPhyRead128; + vtlbdata.RWFT[0][0][rv] = (r8!=0) ? (void*)(r8): (void*)vtlbDefaultPhyRead8; + vtlbdata.RWFT[1][0][rv] = (r16!=0) ? (void*)r16: (void*)vtlbDefaultPhyRead16; + vtlbdata.RWFT[2][0][rv] = (r32!=0) ? (void*)r32: (void*)vtlbDefaultPhyRead32; + vtlbdata.RWFT[3][0][rv] = (r64!=0) ? (void*)r64: (void*)vtlbDefaultPhyRead64; + vtlbdata.RWFT[4][0][rv] = (r128!=0) ? (void*)r128: (void*)vtlbDefaultPhyRead128; - vtlbdata.RWFT[0][1][rv] = (w8!=0) ? w8:vtlbDefaultPhyWrite8; - vtlbdata.RWFT[1][1][rv] = (w16!=0) ? w16:vtlbDefaultPhyWrite16; - vtlbdata.RWFT[2][1][rv] = (w32!=0) ? w32:vtlbDefaultPhyWrite32; - vtlbdata.RWFT[3][1][rv] = (w64!=0) ? w64:vtlbDefaultPhyWrite64; - vtlbdata.RWFT[4][1][rv] = (w128!=0) ? w128:vtlbDefaultPhyWrite128; + vtlbdata.RWFT[0][1][rv] = (w8!=0) ? (void*)w8: (void*)vtlbDefaultPhyWrite8; + vtlbdata.RWFT[1][1][rv] = (w16!=0) ? (void*)w16: (void*)vtlbDefaultPhyWrite16; + vtlbdata.RWFT[2][1][rv] = (w32!=0) ? (void*)w32: (void*)vtlbDefaultPhyWrite32; + vtlbdata.RWFT[3][1][rv] = (w64!=0) ? (void*)w64: (void*)vtlbDefaultPhyWrite64; + vtlbdata.RWFT[4][1][rv] = (w128!=0) ? (void*)w128: (void*)vtlbDefaultPhyWrite128; return rv; } diff --git a/pcsx2/x86/Makefile.am b/pcsx2/x86/Makefile.am index cf43eabb46..24fa916809 100644 --- a/pcsx2/x86/Makefile.am +++ b/pcsx2/x86/Makefile.am @@ -18,19 +18,19 @@ ix86-32/iR5900Shift.cpp ix86-32/iR5900Arit.cpp ix86-32/iR5900Branch.cpp ix86-32 ix86-32/iR5900MultDiv.cpp ix86-32/iCore-32.cpp ix86-32/aR5900-32.S ix86-32/iR5900Templates.cpp ix86-32/recVTLB.cpp libx86recomp_a_SOURCES = \ -BaseblockEx.cpp iCOP0.cpp iCOP2.cpp iCore.cpp iFPU.cpp iFPUd.cpp iMMI.cpp iPsxMem.cpp iR3000A.cpp iR3000Atables.cpp \ -iR5900Misc.cpp iVU0micro.cpp iVU1micro.cpp iVUmicro.cpp iVUmicroLower.cpp iVUmicroUpper.cpp iVUzerorec.cpp iVif.cpp \ -ir5900tables.cpp fast_routines.S aR3000A.S aVUzerorec.S aVif.S $(archfiles) +BaseblockEx.cpp iCOP2.cpp iFPUd.cpp iR3000A.cpp iVU0micro.cpp ir5900tables.cpp sVU_Micro.cpp \ +iCore.cpp iMMI.cpp iR3000Atables.cpp iVU1micro.cpp microVU.cpp sVU_Upper.cpp \ +iCOP0.cpp iFPU.cpp iPsxMem.cpp iR5900Misc.cpp iVif.cpp sVU_Lower.cpp sVU_zerorec.cpp \ +aR3000A.S aVUzerorec.S aVif.S fast_routines.S $(archfiles) libx86recomp_a_SOURCES += \ -BaseblockEx.h iCOP0.h iCore.h iFPU.h iMMI.h iR3000A.h iR5900.h iR5900Arit.h iR5900AritImm.h iR5900Branch.h iR5900Jump.h \ -iR5900LoadStore.h iR5900Move.h iR5900MultDiv.h iR5900Shift.h iVUmicro.h iVUops.h iVUzerorec.h +microVU_Alloc.inl microVU_Compile.inl microVU_Flags.inl microVU_Lower.inl microVU_Tables.inl \ +microVU_Analyze.inl microVU_Execute.inl microVU_Log.inl microVU_Misc.inl microVU_Upper.inl -# Only active if PCSX2_MICROVU is defined. libx86recomp_a_SOURCES += \ -microVU.cpp microVU_Misc.inl microVU_Log.inl microVU_Analyze.inl microVU_Alloc.inl microVU_Upper.inl microVU_Lower.inl \ -microVU_Tables.inl microVU_Flags.inl microVU_Compile.inl microVU_Execute.inl \ -microVU.h microVU_Alloc.h microVU_Misc.h +BaseblockEx.h iFPU.h iR5900.h iR5900Branch.h iR5900Move.h microVU.h sVU_Debug.h \ +iCOP0.h iMMI.h iR5900Arit.h iR5900Jump.h iR5900MultDiv.h microVU_IR.h sVU_Micro.h \ +iCore.h iR3000A.h iR5900AritImm.h iR5900LoadStore.h iR5900Shift.h microVU_Misc.h sVU_zerorec.h libx86recomp_a_DEPENDENCIES = ix86/libix86.a diff --git a/pcsx2/x86/aMicroVU.S b/pcsx2/x86/aMicroVU.S deleted file mode 100644 index 04bce4fd11..0000000000 --- a/pcsx2/x86/aMicroVU.S +++ /dev/null @@ -1,62 +0,0 @@ -// microVU.cpp assembly routines -// arcum42(@gmail.com) -.intel_syntax noprefix - -.extern mVUexecuteVU0 -.extern mVUexecuteVU1 -.extern g_sseVUMXCSR -.extern g_sseMXCSR - -//------------------------------------------------------------------ -// Dispatcher Functions -//------------------------------------------------------------------ - -// Runs VU0 for number of cycles -// __fastcall = The first two DWORD or smaller arguments are passed in ECX and EDX registers; all other arguments are passed right to left. -//void __fastcall startVU0(u32 startPC, u32 cycles) -.globl startVU0 -startVU0: - call mVUexecuteVU0 - - // backup cpu state - push ebx - push ebp - push esi - push edi - - ldmxcsr g_sseVUMXCSR - // Should set xmmZ? - jmp eax - -// Runs VU1 for number of cycles -// void __fastcall startVU1(u32 startPC, u32 cycles) -.globl startVU1 -startVU01: - call mVUexecuteVU1 - - // backup cpu state - push ebx - push ebp - push esi - push edi - - ldmxcsr g_sseVUMXCSR - - jmp eax - -// Exit point -// void __fastcall endVU0(u32 startPC, u32 cycles) -.globl endVU0 -endVU0: - //call mVUcleanUpVU0 - - /*restore cpu state*/ - pop edi; - pop esi; - pop ebp; - pop ebx; - - ldmxcsr g_sseMXCSR - - ret - \ No newline at end of file diff --git a/pcsx2/x86/microVU_Misc.h b/pcsx2/x86/microVU_Misc.h index 685356beca..5538fcc26d 100644 --- a/pcsx2/x86/microVU_Misc.h +++ b/pcsx2/x86/microVU_Misc.h @@ -162,7 +162,10 @@ declareAllVariables #define pass4 if (recPass == 3) // Define mVUquickSearch +#ifndef __LINUX__ extern u8 mVUsearchXMM[0x1000]; +#endif + typedef u32 (__fastcall *mVUCall)(void*, void*); #ifndef __LINUX__ #define mVUquickSearch(dest, src, size) ((((mVUCall)((void*)mVUsearchXMM))(dest, src)) == 0xf) @@ -172,6 +175,7 @@ typedef u32 (__fastcall *mVUCall)(void*, void*); #else //#define mVUquickSearch(dest, src, size) (!memcmp(dest, src, size)) #define mVUquickSearch(dest, src, size) (!memcmp_mmx(dest, src, size)) +#define mVUemitSearch() #endif // Misc Macros... diff --git a/pcsx2/x86/microVU_Misc.inl b/pcsx2/x86/microVU_Misc.inl index ca60c20b33..9fbd866547 100644 --- a/pcsx2/x86/microVU_Misc.inl +++ b/pcsx2/x86/microVU_Misc.inl @@ -438,6 +438,7 @@ void SSE_ADD2PS_XMM_to_XMM(x86SSERegType to, x86SSERegType from) { // Micro VU - Custom Quick Search //------------------------------------------------------------------ +#ifndef __LINUX__ PCSX2_ALIGNED(0x1000, static u8 mVUsearchXMM[0x1000]); // Generates a custom optimized block-search function (Note: Structs must be 16-byte aligned!) @@ -490,3 +491,4 @@ void mVUemitSearch() { xRET(); HostSys::MemProtect(mVUsearchXMM, 0x1000, Protect_ReadOnly, true ); } +#endif