diff --git a/core/build.h b/core/build.h index 8b6663664..45c83ed79 100755 --- a/core/build.h +++ b/core/build.h @@ -40,6 +40,7 @@ #define CPU_X86 0x20000001 #define CPU_ARM 0x20000002 #define CPU_MIPS 0x20000003 +#define CPU_X64 0x20000004 //BUILD_COMPILER #define COMPILER_VC 0x30000001 diff --git a/core/hw/mem/_vmem.cpp b/core/hw/mem/_vmem.cpp index e54f6a78a..32125ea42 100644 --- a/core/hw/mem/_vmem.cpp +++ b/core/hw/mem/_vmem.cpp @@ -48,7 +48,7 @@ void _vmem_get_ptrs(u32 sz,bool write,void*** vmap,void*** func) void* _vmem_get_ptr2(u32 addr,u32& mask) { u32 page=addr>>24; - u32 iirf=(unat)_vmem_MemInfo_ptr[page]; + unat iirf=(unat)_vmem_MemInfo_ptr[page]; void* ptr=(void*)(iirf&~HANDLER_MAX); if (ptr==0) return 0; @@ -60,13 +60,13 @@ void* _vmem_get_ptr2(u32 addr,u32& mask) void* _vmem_read_const(u32 addr,bool& ismem,u32 sz) { u32 page=addr>>24; - u32 iirf=(unat)_vmem_MemInfo_ptr[page]; + unat iirf=(unat)_vmem_MemInfo_ptr[page]; void* ptr=(void*)(iirf&~HANDLER_MAX); if (ptr==0) { ismem=false; - const u32 id=iirf; + const unat id=iirf; if (sz==1) { return (void*)_vmem_RF8[id/4]; @@ -100,13 +100,13 @@ void* _vmem_read_const(u32 addr,bool& ismem,u32 sz) void* _vmem_page_info(u32 addr,bool& ismem,u32 sz,u32& page_sz,bool rw) { u32 page=addr>>24; - u32 iirf=(unat)_vmem_MemInfo_ptr[page]; + unat iirf=(unat)_vmem_MemInfo_ptr[page]; void* ptr=(void*)(iirf&~HANDLER_MAX); if (ptr==0) { ismem=false; - const u32 id=iirf; + const unat id=iirf; page_sz=24; if (sz==1) { diff --git a/core/hw/sh4/sh4_if.h b/core/hw/sh4/sh4_if.h index 3bc923be3..8dddb8302 100644 --- a/core/hw/sh4/sh4_if.h +++ b/core/hw/sh4/sh4_if.h @@ -308,7 +308,7 @@ typedef void DYNACALL TaListVoidFP(void* data); struct Sh4RCB { void* fpcb[8*1024*1024]; - u64 _pad[(0x40000-sizeof(Sh4Context)-64-8)/8]; + u64 _pad[(0x40000-sizeof(Sh4Context)-64-sizeof(void*)*2)/8]; TaListVoidFP* tacmd_voud; //*TODO* remove (not used) sqw_fp* do_sqw_nommu; u64 sq_buffer[64/8]; diff --git a/shell/reicast.sln b/shell/reicast.sln index abe4a2fea..0b0428f0d 100644 --- a/shell/reicast.sln +++ b/shell/reicast.sln @@ -6,13 +6,19 @@ EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 + Debug|x64 = Debug|x64 Release|Win32 = Release|Win32 + Release|x64 = Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {58B14048-EACB-4780-8B1E-9C84C2C30A8E}.Debug|Win32.ActiveCfg = Slow|Win32 {58B14048-EACB-4780-8B1E-9C84C2C30A8E}.Debug|Win32.Build.0 = Slow|Win32 + {58B14048-EACB-4780-8B1E-9C84C2C30A8E}.Debug|x64.ActiveCfg = Slow|x64 + {58B14048-EACB-4780-8B1E-9C84C2C30A8E}.Debug|x64.Build.0 = Slow|x64 {58B14048-EACB-4780-8B1E-9C84C2C30A8E}.Release|Win32.ActiveCfg = Fast|Win32 {58B14048-EACB-4780-8B1E-9C84C2C30A8E}.Release|Win32.Build.0 = Fast|Win32 + {58B14048-EACB-4780-8B1E-9C84C2C30A8E}.Release|x64.ActiveCfg = Fast|x64 + {58B14048-EACB-4780-8B1E-9C84C2C30A8E}.Release|x64.Build.0 = Fast|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/shell/reicast.vcxproj b/shell/reicast.vcxproj index defe3d658..ae771001c 100644 --- a/shell/reicast.vcxproj +++ b/shell/reicast.vcxproj @@ -5,10 +5,18 @@ Fast Win32 + + Fast + x64 + Slow Win32 + + Slow + x64 + @@ -128,11 +136,15 @@ true + true true + true true + true true + true @@ -141,7 +153,9 @@ true + true true + true @@ -265,7 +279,9 @@ true + true true + true @@ -282,7 +298,9 @@ true + true true + true @@ -298,29 +316,54 @@ MultiByte true + + Application + true + MultiByte + true + Application true MultiByte + + Application + true + MultiByte + + + + + + + true $(SolutionDir)..\WorkDir\ + + true + $(SolutionDir)..\WorkDir\ + true $(SolutionDir)..\WorkDir\ + + true + $(SolutionDir)..\WorkDir\ + @@ -352,6 +395,37 @@ Dsound.lib;winmm.lib;wsock32.lib;comctl32.lib;%(AdditionalDependencies) + + + + + Level3 + Full + WIN32;NDEBUG;_CONSOLE;X86;%(PreprocessorDefinitions) + $(ProjectDir)..\core\;$(ProjectDir)..\core\khronos;%(AdditionalIncludeDirectories) + /MP %(AdditionalOptions) + AnySuitable + true + Speed + true + true + Default + MultiThreadedDLL + false + StreamingSIMDExtensions + Fast + ProgramDatabase + true + false + $(IntDir)/%(RelativeDir)/ + + + Windows + true + $(SolutionDir)..\pvrframe + Dsound.lib;winmm.lib;wsock32.lib;comctl32.lib;%(AdditionalDependencies) + + @@ -372,11 +446,36 @@ Dsound.lib;winmm.lib;wsock32.lib;comctl32.lib;%(AdditionalDependencies) + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;X86;%(PreprocessorDefinitions) + $(ProjectDir)..\core\;$(ProjectDir)..\core\khronos;%(AdditionalIncludeDirectories) + true + false + Default + $(IntDir)/%(RelativeDir)/ + + + Windows + true + $(SolutionDir)..\pvrframe + Dsound.lib;winmm.lib;wsock32.lib;comctl32.lib;%(AdditionalDependencies) + + true + + + true + +