EXI_Device: Move the dummy implementation to its own source files
This commit is contained in:
parent
d9c873bc8b
commit
7c0b96f638
|
@ -91,6 +91,7 @@ set(SRCS ActionReplay.cpp
|
||||||
HW/EXI/EXI_Device.cpp
|
HW/EXI/EXI_Device.cpp
|
||||||
HW/EXI/EXI_DeviceAD16.cpp
|
HW/EXI/EXI_DeviceAD16.cpp
|
||||||
HW/EXI/EXI_DeviceAGP.cpp
|
HW/EXI/EXI_DeviceAGP.cpp
|
||||||
|
HW/EXI/EXI_DeviceDummy.cpp
|
||||||
HW/EXI/EXI_DeviceEthernet.cpp
|
HW/EXI/EXI_DeviceEthernet.cpp
|
||||||
HW/EXI/EXI_DeviceGecko.cpp
|
HW/EXI/EXI_DeviceGecko.cpp
|
||||||
HW/EXI/EXI_DeviceIPL.cpp
|
HW/EXI/EXI_DeviceIPL.cpp
|
||||||
|
|
|
@ -122,6 +122,7 @@
|
||||||
<ClCompile Include="HW\EXI\EXI_Device.cpp" />
|
<ClCompile Include="HW\EXI\EXI_Device.cpp" />
|
||||||
<ClCompile Include="HW\EXI\EXI_DeviceAD16.cpp" />
|
<ClCompile Include="HW\EXI\EXI_DeviceAD16.cpp" />
|
||||||
<ClCompile Include="HW\EXI\EXI_DeviceAGP.cpp" />
|
<ClCompile Include="HW\EXI\EXI_DeviceAGP.cpp" />
|
||||||
|
<ClCompile Include="HW\EXI\EXI_DeviceDummy.cpp" />
|
||||||
<ClCompile Include="HW\EXI\EXI_DeviceEthernet.cpp" />
|
<ClCompile Include="HW\EXI\EXI_DeviceEthernet.cpp" />
|
||||||
<ClCompile Include="HW\EXI\EXI_DeviceGecko.cpp" />
|
<ClCompile Include="HW\EXI\EXI_DeviceGecko.cpp" />
|
||||||
<ClCompile Include="HW\EXI\EXI_DeviceIPL.cpp" />
|
<ClCompile Include="HW\EXI\EXI_DeviceIPL.cpp" />
|
||||||
|
@ -351,6 +352,7 @@
|
||||||
<ClInclude Include="HW\EXI\EXI_Device.h" />
|
<ClInclude Include="HW\EXI\EXI_Device.h" />
|
||||||
<ClInclude Include="HW\EXI\EXI_DeviceAD16.h" />
|
<ClInclude Include="HW\EXI\EXI_DeviceAD16.h" />
|
||||||
<ClInclude Include="HW\EXI\EXI_DeviceAGP.h" />
|
<ClInclude Include="HW\EXI\EXI_DeviceAGP.h" />
|
||||||
|
<ClInclude Include="HW\EXI\EXI_DeviceDummy.h" />
|
||||||
<ClInclude Include="HW\EXI\EXI_DeviceEthernet.h" />
|
<ClInclude Include="HW\EXI\EXI_DeviceEthernet.h" />
|
||||||
<ClInclude Include="HW\EXI\EXI_DeviceGecko.h" />
|
<ClInclude Include="HW\EXI\EXI_DeviceGecko.h" />
|
||||||
<ClInclude Include="HW\EXI\EXI_DeviceIPL.h" />
|
<ClInclude Include="HW\EXI\EXI_DeviceIPL.h" />
|
||||||
|
|
|
@ -400,6 +400,9 @@
|
||||||
<ClCompile Include="HW\EXI\EXI_DeviceAGP.cpp">
|
<ClCompile Include="HW\EXI\EXI_DeviceAGP.cpp">
|
||||||
<Filter>HW %28Flipper/Hollywood%29\EXI - Expansion Interface</Filter>
|
<Filter>HW %28Flipper/Hollywood%29\EXI - Expansion Interface</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="HW\EXI\EXI_DeviceDummy.cpp">
|
||||||
|
<Filter>HW %28Flipper/Hollywood%29\EXI - Expansion Interface</Filter>
|
||||||
|
</ClCompile>
|
||||||
<ClCompile Include="HW\EXI\EXI_DeviceEthernet.cpp">
|
<ClCompile Include="HW\EXI\EXI_DeviceEthernet.cpp">
|
||||||
<Filter>HW %28Flipper/Hollywood%29\EXI - Expansion Interface</Filter>
|
<Filter>HW %28Flipper/Hollywood%29\EXI - Expansion Interface</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
@ -997,6 +1000,9 @@
|
||||||
<ClInclude Include="HW\EXI\EXI_DeviceAGP.h">
|
<ClInclude Include="HW\EXI\EXI_DeviceAGP.h">
|
||||||
<Filter>HW %28Flipper/Hollywood%29\EXI - Expansion Interface</Filter>
|
<Filter>HW %28Flipper/Hollywood%29\EXI - Expansion Interface</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="HW\EXI\EXI_DeviceDummy.h">
|
||||||
|
<Filter>HW %28Flipper/Hollywood%29\EXI - Expansion Interface</Filter>
|
||||||
|
</ClInclude>
|
||||||
<ClInclude Include="HW\EXI\EXI_DeviceEthernet.h">
|
<ClInclude Include="HW\EXI\EXI_DeviceEthernet.h">
|
||||||
<Filter>HW %28Flipper/Hollywood%29\EXI - Expansion Interface</Filter>
|
<Filter>HW %28Flipper/Hollywood%29\EXI - Expansion Interface</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
|
|
@ -6,11 +6,10 @@
|
||||||
|
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
#include "Common/ChunkFile.h"
|
|
||||||
#include "Common/CommonTypes.h"
|
#include "Common/CommonTypes.h"
|
||||||
#include "Common/Logging/Log.h"
|
|
||||||
#include "Core/HW/EXI/EXI_DeviceAD16.h"
|
#include "Core/HW/EXI/EXI_DeviceAD16.h"
|
||||||
#include "Core/HW/EXI/EXI_DeviceAGP.h"
|
#include "Core/HW/EXI/EXI_DeviceAGP.h"
|
||||||
|
#include "Core/HW/EXI/EXI_DeviceDummy.h"
|
||||||
#include "Core/HW/EXI/EXI_DeviceEthernet.h"
|
#include "Core/HW/EXI/EXI_DeviceEthernet.h"
|
||||||
#include "Core/HW/EXI/EXI_DeviceGecko.h"
|
#include "Core/HW/EXI/EXI_DeviceGecko.h"
|
||||||
#include "Core/HW/EXI/EXI_DeviceIPL.h"
|
#include "Core/HW/EXI/EXI_DeviceIPL.h"
|
||||||
|
@ -18,7 +17,6 @@
|
||||||
#include "Core/HW/EXI/EXI_DeviceMic.h"
|
#include "Core/HW/EXI/EXI_DeviceMic.h"
|
||||||
#include "Core/HW/Memmap.h"
|
#include "Core/HW/Memmap.h"
|
||||||
|
|
||||||
// --- interface IEXIDevice ---
|
|
||||||
void IEXIDevice::ImmWrite(u32 _uData, u32 _uSize)
|
void IEXIDevice::ImmWrite(u32 _uData, u32 _uSize)
|
||||||
{
|
{
|
||||||
while (_uSize--)
|
while (_uSize--)
|
||||||
|
@ -63,40 +61,6 @@ void IEXIDevice::DMARead(u32 _uAddr, u32 _uSize)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// --- class CEXIDummy ---
|
|
||||||
// Just a dummy that logs reads and writes
|
|
||||||
// to be used for EXI devices we haven't emulated
|
|
||||||
// DOES NOT FUNCTION AS "NO DEVICE INSERTED" -> Appears as unknown device
|
|
||||||
class CEXIDummy : public IEXIDevice
|
|
||||||
{
|
|
||||||
std::string m_strName;
|
|
||||||
|
|
||||||
void TransferByte(u8& _byte) override {}
|
|
||||||
public:
|
|
||||||
CEXIDummy(const std::string& _strName) : m_strName(_strName) {}
|
|
||||||
virtual ~CEXIDummy() {}
|
|
||||||
void ImmWrite(u32 data, u32 size) override
|
|
||||||
{
|
|
||||||
INFO_LOG(EXPANSIONINTERFACE, "EXI DUMMY %s ImmWrite: %08x", m_strName.c_str(), data);
|
|
||||||
}
|
|
||||||
u32 ImmRead(u32 size) override
|
|
||||||
{
|
|
||||||
INFO_LOG(EXPANSIONINTERFACE, "EXI DUMMY %s ImmRead", m_strName.c_str());
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
void DMAWrite(u32 addr, u32 size) override
|
|
||||||
{
|
|
||||||
INFO_LOG(EXPANSIONINTERFACE, "EXI DUMMY %s DMAWrite: %08x bytes, from %08x to device",
|
|
||||||
m_strName.c_str(), size, addr);
|
|
||||||
}
|
|
||||||
void DMARead(u32 addr, u32 size) override
|
|
||||||
{
|
|
||||||
INFO_LOG(EXPANSIONINTERFACE, "EXI DUMMY %s DMARead: %08x bytes, from device to %08x",
|
|
||||||
m_strName.c_str(), size, addr);
|
|
||||||
}
|
|
||||||
bool IsPresent() const override { return true; }
|
|
||||||
};
|
|
||||||
|
|
||||||
// F A C T O R Y
|
// F A C T O R Y
|
||||||
std::unique_ptr<IEXIDevice> EXIDevice_Create(TEXIDevices device_type, const int channel_num)
|
std::unique_ptr<IEXIDevice> EXIDevice_Create(TEXIDevices device_type, const int channel_num)
|
||||||
{
|
{
|
||||||
|
|
|
@ -0,0 +1,44 @@
|
||||||
|
// Copyright 2017 Dolphin Emulator Project
|
||||||
|
// Licensed under GPLv2+
|
||||||
|
// Refer to the license.txt file included.
|
||||||
|
|
||||||
|
#include "Core/HW/EXI/EXI_DeviceDummy.h"
|
||||||
|
|
||||||
|
#include "Common/CommonTypes.h"
|
||||||
|
#include "Common/Logging/Log.h"
|
||||||
|
|
||||||
|
CEXIDummy::CEXIDummy(const std::string& name) : m_name{name}
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void CEXIDummy::ImmWrite(u32 data, u32 size)
|
||||||
|
{
|
||||||
|
INFO_LOG(EXPANSIONINTERFACE, "EXI DUMMY %s ImmWrite: %08x", m_name.c_str(), data);
|
||||||
|
}
|
||||||
|
|
||||||
|
u32 CEXIDummy::ImmRead(u32 size)
|
||||||
|
{
|
||||||
|
INFO_LOG(EXPANSIONINTERFACE, "EXI DUMMY %s ImmRead", m_name.c_str());
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CEXIDummy::DMAWrite(u32 address, u32 size)
|
||||||
|
{
|
||||||
|
INFO_LOG(EXPANSIONINTERFACE, "EXI DUMMY %s DMAWrite: %08x bytes, from %08x to device",
|
||||||
|
m_name.c_str(), size, address);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CEXIDummy::DMARead(u32 address, u32 size)
|
||||||
|
{
|
||||||
|
INFO_LOG(EXPANSIONINTERFACE, "EXI DUMMY %s DMARead: %08x bytes, from device to %08x",
|
||||||
|
m_name.c_str(), size, address);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CEXIDummy::IsPresent() const
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CEXIDummy::TransferByte(u8& byte)
|
||||||
|
{
|
||||||
|
}
|
|
@ -0,0 +1,32 @@
|
||||||
|
// Copyright 2017 Dolphin Emulator Project
|
||||||
|
// Licensed under GPLv2+
|
||||||
|
// Refer to the license.txt file included.
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
#include "Common/CommonTypes.h"
|
||||||
|
#include "Core/HW/EXI/EXI_Device.h"
|
||||||
|
|
||||||
|
// Just a dummy that logs reads and writes
|
||||||
|
// to be used for EXI devices we haven't emulated
|
||||||
|
// DOES NOT FUNCTION AS "NO DEVICE INSERTED" -> Appears as unknown device
|
||||||
|
class CEXIDummy final : public IEXIDevice
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
explicit CEXIDummy(const std::string& name);
|
||||||
|
|
||||||
|
void ImmWrite(u32 data, u32 size) override;
|
||||||
|
u32 ImmRead(u32 size) override;
|
||||||
|
|
||||||
|
void DMAWrite(u32 address, u32 size) override;
|
||||||
|
void DMARead(u32 address, u32 size) override;
|
||||||
|
|
||||||
|
bool IsPresent() const override;
|
||||||
|
|
||||||
|
private:
|
||||||
|
void TransferByte(u8& byte) override;
|
||||||
|
|
||||||
|
std::string m_name;
|
||||||
|
};
|
Loading…
Reference in New Issue