diff --git a/pcsx2/System.cpp b/pcsx2/System.cpp index 5ed18c43e7..1d6579bd99 100644 --- a/pcsx2/System.cpp +++ b/pcsx2/System.cpp @@ -422,6 +422,8 @@ void SysClearExecutionCache() Cpu->Reset(); psxCpu->Reset(); + if (CHECK_EEREC) + ((BaseVUmicroCPU*)GetCpuProviders().CpuProviders->microVU0)->Reset(); CpuVU0->Reset(); CpuVU1->Reset(); diff --git a/pcsx2/System.h b/pcsx2/System.h index 569542c3a8..b8d9e17e41 100644 --- a/pcsx2/System.h +++ b/pcsx2/System.h @@ -43,12 +43,12 @@ protected: class SysCpuProviderPack { protected: - ScopedPtr CpuProviders; - ScopedPtr m_RecExceptionEE; ScopedPtr m_RecExceptionIOP; public: + ScopedPtr CpuProviders; + SysCpuProviderPack(); virtual ~SysCpuProviderPack() throw(); diff --git a/pcsx2/vtlb.cpp b/pcsx2/vtlb.cpp index 07db1842d7..7d87bd4f9e 100644 --- a/pcsx2/vtlb.cpp +++ b/pcsx2/vtlb.cpp @@ -63,7 +63,7 @@ static vtlbHandler UnmappedPhyHandler1; template< typename DataType > DataType __fastcall vtlb_memRead(u32 addr) { - static const uint DataSize = sizeof(DataType); + static const uint DataSize = sizeof(DataType) * 8; u32 vmv=vtlbdata.vmap[addr>>VTLB_PAGE_BITS]; s32 ppf=addr+vmv; @@ -134,7 +134,7 @@ void __fastcall vtlb_memRead128(u32 mem, u64 (&out)[2]) template< typename DataType > void __fastcall vtlb_memWrite(u32 addr, DataType data) { - static const uint DataSize = sizeof(DataType); + static const uint DataSize = sizeof(DataType) * 8; u32 vmv=vtlbdata.vmap[addr>>VTLB_PAGE_BITS]; s32 ppf=addr+vmv;