@@ -0,0 +1,19 @@
// Copyright 2022 Dolphin Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later

#pragma once

#include "Common/CommonTypes.h"
#include "Core/HW/HSP/HSP_Device.h"

namespace HSP
{
class CHSPDevice_Null : public IHSPDevice
{
public:
explicit CHSPDevice_Null(HSPDeviceType device);

void Write(u32 address, u64 value) override;
u64 Read(u32 address) override;
};
} // namespace HSP
@@ -17,6 +17,7 @@
#include "Core/HW/DVD/DVDInterface.h"
#include "Core/HW/EXI/EXI.h"
#include "Core/HW/GPFifo.h"
#include "Core/HW/HSP/HSP.h"
#include "Core/HW/Memmap.h"
#include "Core/HW/ProcessorInterface.h"
#include "Core/HW/SI/SI.h"
@@ -41,7 +42,8 @@ void Init()
SerialInterface::Init();
ProcessorInterface::Init();
ExpansionInterface::Init(); // Needs to be initialized before Memory
Memory::Init(); // Needs to be initialized before AddressSpace
HSP::Init();
Memory::Init(); // Needs to be initialized before AddressSpace
AddressSpace::Init();
DSP::Init(Config::Get(Config::MAIN_DSP_HLE));
DVDInterface::Init();
@@ -68,6 +70,7 @@ void Shutdown()
DSP::Shutdown();
AddressSpace::Shutdown();
Memory::Shutdown();
HSP::Shutdown();
ExpansionInterface::Shutdown();
SerialInterface::Shutdown();
AudioInterface::Shutdown();
@@ -96,6 +99,8 @@ void DoState(PointerWrap& p)
p.DoMarker("ExpansionInterface");
AudioInterface::DoState(p);
p.DoMarker("AudioInterface");
HSP::DoState(p);
p.DoMarker("HSP");

if (SConfig::GetInstance().bWii)
{
@@ -74,7 +74,7 @@ static std::recursive_mutex g_save_thread_mutex;
static std::thread g_save_thread;

// Don't forget to increase this after doing changes on the savestate system
constexpr u32 STATE_VERSION = 140; // Last changed in PR 10591
constexpr u32 STATE_VERSION = 141; // Last changed in PR 8067

// Maps savestate versions to Dolphin versions.
// Versions after 42 don't need to be added to this list,
@@ -279,6 +279,10 @@
<ClInclude Include="Core\HW\GCPad.h" />
<ClInclude Include="Core\HW\GCPadEmu.h" />
<ClInclude Include="Core\HW\GPFifo.h" />
<ClInclude Include="Core\HW\HSP\HSP.h" />
<ClInclude Include="Core\HW\HSP\HSP_Device.h" />
<ClInclude Include="Core\HW\HSP\HSP_DeviceARAMExpansion.h" />
<ClInclude Include="Core\HW\HSP\HSP_DeviceNull.h" />
<ClInclude Include="Core\HW\HW.h" />
<ClInclude Include="Core\HW\Memmap.h" />
<ClInclude Include="Core\HW\MemoryInterface.h" />
@@ -873,6 +877,10 @@
<ClCompile Include="Core\HW\GCPad.cpp" />
<ClCompile Include="Core\HW\GCPadEmu.cpp" />
<ClCompile Include="Core\HW\GPFifo.cpp" />
<ClCompile Include="Core\HW\HSP\HSP.cpp" />
<ClCompile Include="Core\HW\HSP\HSP_Device.cpp" />
<ClCompile Include="Core\HW\HSP\HSP_DeviceARAMExpansion.cpp" />
<ClCompile Include="Core\HW\HSP\HSP_DeviceNull.cpp" />
<ClCompile Include="Core\HW\HW.cpp" />
<ClCompile Include="Core\HW\Memmap.cpp" />
<ClCompile Include="Core\HW\MemoryInterface.cpp" />