diff --git a/Source/Core/Core/HW/EXI/EXI_Device.cpp b/Source/Core/Core/HW/EXI/EXI_Device.cpp index 06df862990..05d0a4818f 100644 --- a/Source/Core/Core/HW/EXI/EXI_Device.cpp +++ b/Source/Core/Core/HW/EXI/EXI_Device.cpp @@ -40,6 +40,10 @@ u32 IEXIDevice::ImmRead(u32 size) return result; } +void IEXIDevice::ImmReadWrite(u32& data, u32 size) +{ +} + void IEXIDevice::DMAWrite(u32 address, u32 size) { while (size--) @@ -59,6 +63,42 @@ void IEXIDevice::DMARead(u32 address, u32 size) } } +IEXIDevice* IEXIDevice::FindDevice(TEXIDevices device_type, int custom_index) +{ + return (device_type == m_device_type) ? this : nullptr; +} + +bool IEXIDevice::UseDelayedTransferCompletion() const +{ + return false; +} + +bool IEXIDevice::IsPresent() const +{ + return false; +} + +void IEXIDevice::SetCS(int cs) +{ +} + +void IEXIDevice::DoState(PointerWrap& p) +{ +} + +void IEXIDevice::PauseAndLock(bool do_lock, bool resume_on_unlock) +{ +} + +bool IEXIDevice::IsInterruptSet() +{ + return false; +} + +void IEXIDevice::TransferByte(u8& byte) +{ +} + // F A C T O R Y std::unique_ptr EXIDevice_Create(TEXIDevices device_type, const int channel_num) { diff --git a/Source/Core/Core/HW/EXI/EXI_Device.h b/Source/Core/Core/HW/EXI/EXI_Device.h index 3b83cecb09..c660d4098b 100644 --- a/Source/Core/Core/HW/EXI/EXI_Device.h +++ b/Source/Core/Core/HW/EXI/EXI_Device.h @@ -36,31 +36,31 @@ public: // Immediate copy functions virtual void ImmWrite(u32 data, u32 size); virtual u32 ImmRead(u32 size); - virtual void ImmReadWrite(u32& /*data*/, u32 /*size*/) {} + virtual void ImmReadWrite(u32& data, u32 size); + // DMA copy functions virtual void DMAWrite(u32 address, u32 size); virtual void DMARead(u32 address, u32 size); - virtual bool UseDelayedTransferCompletion() const { return false; } - virtual bool IsPresent() const { return false; } - virtual void SetCS(int) {} - virtual void DoState(PointerWrap&) {} - virtual void PauseAndLock(bool do_lock, bool resume_on_unlock = true) {} - virtual IEXIDevice* FindDevice(TEXIDevices device_type, int custom_index = -1) - { - return (device_type == m_device_type) ? this : nullptr; - } + virtual IEXIDevice* FindDevice(TEXIDevices device_type, int custom_index = -1); + + virtual bool UseDelayedTransferCompletion() const; + virtual bool IsPresent() const; + virtual void SetCS(int cs); + virtual void DoState(PointerWrap& p); + virtual void PauseAndLock(bool do_lock, bool resume_on_unlock = true); // Is generating interrupt ? - virtual bool IsInterruptSet() { return false; } - // for savestates. storing it here seemed cleaner than requiring each implementation to report its - // type. - // I know this class is set up like an interface, but no code requires it to be strictly such. + virtual bool IsInterruptSet(); + + // For savestates. storing it here seemed cleaner than requiring each implementation to report its + // type. I know this class is set up like an interface, but no code requires it to be strictly + // such. TEXIDevices m_device_type; private: // Byte transfer function for this device - virtual void TransferByte(u8&) {} + virtual void TransferByte(u8& byte); }; std::unique_ptr EXIDevice_Create(const TEXIDevices device_type, const int channel_num);