EXI_Channel: In-class initialize variables

This commit is contained in:
Lioncash 2017-01-21 18:44:54 -05:00
parent 489e4c49bc
commit 688225616e
2 changed files with 8 additions and 12 deletions

View File

@ -20,12 +20,8 @@ enum
EXI_READWRITE EXI_READWRITE
}; };
CEXIChannel::CEXIChannel(u32 ChannelId) CEXIChannel::CEXIChannel(u32 ChannelId) : m_ChannelId(ChannelId)
: m_DMAMemoryAddress(0), m_DMALength(0), m_ImmData(0), m_ChannelId(ChannelId)
{ {
m_Control.Hex = 0;
m_Status.Hex = 0;
if (m_ChannelId == 0 || m_ChannelId == 1) if (m_ChannelId == 0 || m_ChannelId == 1)
m_Status.EXTINT = 1; m_Status.EXTINT = 1;
if (m_ChannelId == 1) if (m_ChannelId == 1)

View File

@ -57,7 +57,7 @@ private:
// EXI Status Register - "Channel Parameter Register" // EXI Status Register - "Channel Parameter Register"
union UEXI_STATUS union UEXI_STATUS
{ {
u32 Hex; u32 Hex = 0;
// DO NOT obey the warning and give this struct a name. Things will fail. // DO NOT obey the warning and give this struct a name. Things will fail.
struct struct
{ {
@ -77,14 +77,14 @@ private:
u32 ROMDIS : 1; // ROM Disable u32 ROMDIS : 1; // ROM Disable
u32 : 18; u32 : 18;
}; };
UEXI_STATUS() { Hex = 0; } UEXI_STATUS() = default;
UEXI_STATUS(u32 _hex) { Hex = _hex; } explicit UEXI_STATUS(u32 hex) : Hex{hex} {}
}; };
// EXI Control Register // EXI Control Register
union UEXI_CONTROL union UEXI_CONTROL
{ {
u32 Hex; u32 Hex = 0;
struct struct
{ {
u32 TSTART : 1; u32 TSTART : 1;
@ -97,10 +97,10 @@ private:
// STATE_TO_SAVE // STATE_TO_SAVE
UEXI_STATUS m_Status; UEXI_STATUS m_Status;
u32 m_DMAMemoryAddress; u32 m_DMAMemoryAddress = 0;
u32 m_DMALength; u32 m_DMALength = 0;
UEXI_CONTROL m_Control; UEXI_CONTROL m_Control;
u32 m_ImmData; u32 m_ImmData = 0;
// Devices // Devices
enum enum