/[pcsx2_0.9.7]/trunk/pcsx2/System.h
ViewVC logotype

Diff of /trunk/pcsx2/System.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

--- trunk/pcsx2/System.h	2010/09/07 03:24:11	31
+++ trunk/pcsx2/System.h	2010/09/07 11:08:22	62
@@ -15,63 +15,81 @@
 
 #pragma once
 
+#include "SysForwardDefs.h"
+
 #include "Utilities/SafeArray.h"
 #include "Utilities/Threading.h"		// to use threading stuff, include the Threading namespace in your file.
 #include "CDVD/CDVDaccess.h"
 
-static const int PCSX2_VersionHi	= 0;
-static const int PCSX2_VersionMid	= 9;
-static const int PCSX2_VersionLo	= 7;
-
-class SysCoreThread;
-class CpuInitializerSet;
-
 typedef SafeArray<u8> VmStateBuffer;
+class BaseVUmicroCPU;
 
 // --------------------------------------------------------------------------------------
-//  SysCoreAllocations class
+//  SysAllocVM
 // --------------------------------------------------------------------------------------
-class SysCoreAllocations
+class SysAllocVM
 {
+public:
+	SysAllocVM();
+	virtual ~SysAllocVM() throw();
+
 protected:
-	ScopedPtr<CpuInitializerSet> CpuProviders;
+	void CleanupMess() throw();
+};
 
-	bool m_RecSuccessEE:1;
-	bool m_RecSuccessIOP:1;
+// --------------------------------------------------------------------------------------
+//  SysCpuProviderPack
+// --------------------------------------------------------------------------------------
+class SysCpuProviderPack
+{
+protected:
+	ScopedPtr<BaseException> m_RecExceptionEE;
+	ScopedPtr<BaseException> m_RecExceptionIOP;
 
 public:
-	SysCoreAllocations();
-	virtual ~SysCoreAllocations() throw();
+	ScopedPtr<CpuInitializerSet> CpuProviders;
 
-	void SelectCpuProviders() const;
+	SysCpuProviderPack();
+	virtual ~SysCpuProviderPack() throw();
+
+	void ApplyConfig() const;
+	BaseVUmicroCPU* getVUprovider(int whichProvider, int vuIndex) const;
 
 	bool HadSomeFailures( const Pcsx2Config::RecompilerOptions& recOpts ) const;
 
-	bool IsRecAvailable_EE() const		{ return m_RecSuccessEE; }
-	bool IsRecAvailable_IOP() const		{ return m_RecSuccessIOP; }
+	bool IsRecAvailable_EE() const		{ return !m_RecExceptionEE; }
+	bool IsRecAvailable_IOP() const		{ return !m_RecExceptionIOP; }
+
+	BaseException* GetException_EE() const	{ return m_RecExceptionEE; }
+	BaseException* GetException_IOP() const	{ return m_RecExceptionIOP; }
 
 	bool IsRecAvailable_MicroVU0() const;
 	bool IsRecAvailable_MicroVU1() const;
+	BaseException* GetException_MicroVU0() const;
+	BaseException* GetException_MicroVU1() const;
 
 	bool IsRecAvailable_SuperVU0() const;
 	bool IsRecAvailable_SuperVU1() const;
+	BaseException* GetException_SuperVU0() const;
+	BaseException* GetException_SuperVU1() const;
 
 protected:
 	void CleanupMess() throw();
 };
 
-// GetSysCoreAlloc - this function is not implemented by PCSX2 core -- it must be
+// GetCpuProviders - this function is not implemented by PCSX2 core -- it must be
 // implemented by the provisioning interface.
-extern SysCoreAllocations& GetSysCoreAlloc();
+extern SysCpuProviderPack& GetCpuProviders();
 
 extern void SysLogMachineCaps();				// Detects cpu type and fills cpuInfo structs.
 extern void SysClearExecutionCache();	// clears recompiled execution caches!
 
-
 extern u8 *SysMmapEx(uptr base, u32 size, uptr bounds, const char *caller="Unnamed");
 extern void vSyncDebugStuff( uint frame );
 extern void NTFS_CompressFile( const wxString& file, bool compressStatus=true );
 
+extern wxString SysGetDiscID();
+
 // --------------------------------------------------------------------------------------
 //  PCSX2_SEH - Defines existence of "built in" Structured Exception Handling support.
 // --------------------------------------------------------------------------------------

 

  ViewVC Help
Powered by ViewVC 1.1.22