Fix PsfPlayer build.

This commit is contained in:
Jean-Philip Desjardins 2017-02-03 22:36:55 -05:00
parent c65085e3a6
commit d7b35931d9
10 changed files with 25 additions and 4 deletions

View File

@ -34,6 +34,11 @@ CMIPS& CPsfSubSystem::GetCpu()
return m_iop.m_cpu;
}
CMipsExecutor& CPsfSubSystem::GetCpuExecutor()
{
return m_iop.m_executor;
}
CSpuBase& CPsfSubSystem::GetSpuCore(unsigned int coreId)
{
if(coreId == 0)

View File

@ -13,6 +13,7 @@ namespace Iop
void Reset() override;
CMIPS& GetCpu() override;
CMipsExecutor& GetCpuExecutor() override;
uint8* GetRam() override;
uint8* GetSpr() override;
Iop::CSpuBase& GetSpuCore(unsigned int) override;

View File

@ -110,7 +110,7 @@ void CPsfLoader::LoadPs2(CPsfVm& virtualMachine, const CPsfPathToken& filePath,
virtualMachine.SetSubSystem(subSystem);
{
auto bios = std::make_shared<PS2::CPsfBios>(virtualMachine.GetCpu(), virtualMachine.GetRam(), PS2::IOP_RAM_SIZE, virtualMachine.GetSpr());
auto bios = std::make_shared<PS2::CPsfBios>(virtualMachine.GetCpu(), virtualMachine.GetCpuExecutor(), virtualMachine.GetRam(), PS2::IOP_RAM_SIZE, virtualMachine.GetSpr());
subSystem->SetBios(bios);
LoadPs2Recurse(virtualMachine, static_cast<PS2::CPsfBios*>(bios.get()), filePath, streamProvider, tags);
static_cast<PS2::CPsfBios*>(bios.get())->Start();

View File

@ -142,6 +142,11 @@ CMIPS& CPsfVm::GetCpu()
return m_subSystem->GetCpu();
}
CMipsExecutor& CPsfVm::GetCpuExecutor()
{
return m_subSystem->GetCpuExecutor();
}
CSpuBase& CPsfVm::GetSpuCore(unsigned int coreId)
{
return m_subSystem->GetSpuCore(coreId);

View File

@ -27,6 +27,7 @@ public:
void SetVolumeAdjust(float);
CMIPS& GetCpu();
CMipsExecutor& GetCpuExecutor();
Iop::CSpuBase& GetSpuCore(unsigned int);
uint8* GetRam();
uint8* GetSpr();

View File

@ -7,6 +7,8 @@
#include "SoundHandler.h"
#include <boost/signals2.hpp>
class CMipsExecutor;
class CPsfVmSubSystem
{
public:
@ -14,6 +16,7 @@ public:
virtual void Reset() = 0;
virtual CMIPS& GetCpu() = 0;
virtual CMipsExecutor& GetCpuExecutor() = 0;
virtual uint8* GetRam() = 0;
virtual uint8* GetSpr() = 0;
virtual Iop::CSpuBase& GetSpuCore(unsigned int) = 0;

View File

@ -4,8 +4,8 @@ using namespace PS2;
#define PSF_DEVICENAME "psf"
CPsfBios::CPsfBios(CMIPS& cpu, uint8* ram, uint32 ramSize, uint8* spr)
: m_bios(cpu, ram, ramSize, spr)
CPsfBios::CPsfBios(CMIPS& cpu, CMipsExecutor& cpuExecutor, uint8* ram, uint32 ramSize, uint8* spr)
: m_bios(cpu, cpuExecutor, ram, ramSize, spr)
, m_psfDevice(new CPsfDevice())
{
m_bios.Reset(NULL);

View File

@ -10,7 +10,7 @@ namespace PS2
class CPsfBios : public Iop::CBiosBase
{
public:
CPsfBios(CMIPS&, uint8*, uint32, uint8*);
CPsfBios(CMIPS&, CMipsExecutor&, uint8*, uint32, uint8*);
virtual ~CPsfBios() = default;
void HandleException() override;
void HandleInterrupt() override;

View File

@ -59,6 +59,11 @@ CMIPS& CPsfSubSystem::GetCpu()
return m_cpu;
}
CMipsExecutor& CPsfSubSystem::GetCpuExecutor()
{
return m_executor;
}
uint8* CPsfSubSystem::GetRam()
{
return m_ram;

View File

@ -26,6 +26,7 @@ namespace Psp
void Reset() override;
CMIPS& GetCpu() override;
CMipsExecutor& GetCpuExecutor() override;
uint8* GetRam() override;
uint8* GetSpr() override;
Iop::CSpuBase& GetSpuCore(unsigned int) override;