Play-/Source/iop/Iop_Dmacman.h

35 lines
822 B
C
Raw Permalink Normal View History

2020-03-15 14:59:54 -04:00
#pragma once
#include "Iop_Module.h"
#include "Iop_Dmac.h"
2020-03-15 14:59:54 -04:00
class CIopBios;
namespace Iop
{
class CDmacman : public CModule
{
public:
CDmacman() = default;
virtual ~CDmacman() = default;
std::string GetId() const override;
std::string GetFunctionName(unsigned int) const override;
void Invoke(CMIPS&, unsigned int) override;
private:
void DmacSetDpcr(CMIPS&, uint32);
uint32 DmacGetDpcr(CMIPS&);
void DmacSetDpcr2(CMIPS&, uint32);
uint32 DmacGetDpcr2(CMIPS&);
void DmacSetDpcr3(CMIPS&, uint32);
uint32 DmacGetDpcr3(CMIPS&);
2020-03-15 14:59:54 -04:00
uint32 DmacRequest(CMIPS&, uint32, uint32, uint32, uint32, uint32);
void DmacTransfer(CMIPS&, uint32);
void DmacChSetDpcr(CMIPS&, uint32, uint32);
void DmacEnable(CMIPS&, uint32);
void DmacDisable(CMIPS&, uint32);
uint32 GetDPCRAddr(uint32 channel);
2020-03-15 14:59:54 -04:00
};
}