mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-23 14:19:46 -06:00
MemoryInterface: Migrate bitfields over to Common::BitField
This commit is contained in:
@ -3,6 +3,7 @@
|
|||||||
|
|
||||||
#include "Core/HW/MemoryInterface.h"
|
#include "Core/HW/MemoryInterface.h"
|
||||||
|
|
||||||
|
#include "Common/BitField.h"
|
||||||
#include "Common/ChunkFile.h"
|
#include "Common/ChunkFile.h"
|
||||||
#include "Common/CommonTypes.h"
|
#include "Common/CommonTypes.h"
|
||||||
#include "Core/HW/MMIO.h"
|
#include "Core/HW/MMIO.h"
|
||||||
@ -51,7 +52,7 @@ enum
|
|||||||
|
|
||||||
union MIRegion
|
union MIRegion
|
||||||
{
|
{
|
||||||
u32 hex;
|
u32 hex = 0;
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
u16 first_page;
|
u16 first_page;
|
||||||
@ -61,64 +62,55 @@ union MIRegion
|
|||||||
|
|
||||||
union MIProtType
|
union MIProtType
|
||||||
{
|
{
|
||||||
u16 hex;
|
u16 hex = 0;
|
||||||
struct
|
|
||||||
{
|
BitField<0, 2, u16> reg0;
|
||||||
u16 reg0 : 2;
|
BitField<2, 2, u16> reg1;
|
||||||
u16 reg1 : 2;
|
BitField<4, 2, u16> reg2;
|
||||||
u16 reg2 : 2;
|
BitField<6, 2, u16> reg3;
|
||||||
u16 reg3 : 2;
|
BitField<8, 8, u16> reserved;
|
||||||
u16 : 8;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
union MIIRQMask
|
union MIIRQMask
|
||||||
{
|
{
|
||||||
u16 hex;
|
u16 hex = 0;
|
||||||
struct
|
|
||||||
{
|
BitField<0, 1, u16> reg0;
|
||||||
u16 reg0 : 1;
|
BitField<1, 1, u16> reg1;
|
||||||
u16 reg1 : 1;
|
BitField<2, 1, u16> reg2;
|
||||||
u16 reg2 : 1;
|
BitField<3, 1, u16> reg3;
|
||||||
u16 reg3 : 1;
|
BitField<4, 1, u16> all_regs;
|
||||||
u16 all_regs : 1;
|
BitField<5, 11, u16> reserved;
|
||||||
u16 : 11;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
union MIIRQFlag
|
union MIIRQFlag
|
||||||
{
|
{
|
||||||
u16 hex;
|
u16 hex = 0;
|
||||||
struct
|
|
||||||
{
|
BitField<0, 1, u16> reg0;
|
||||||
u16 reg0 : 1;
|
BitField<1, 1, u16> reg1;
|
||||||
u16 reg1 : 1;
|
BitField<2, 1, u16> reg2;
|
||||||
u16 reg2 : 1;
|
BitField<3, 1, u16> reg3;
|
||||||
u16 reg3 : 1;
|
BitField<4, 1, u16> all_regs;
|
||||||
u16 all_regs : 1;
|
BitField<5, 11, u16> reserved;
|
||||||
u16 : 11;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
union MIProtAddr
|
union MIProtAddr
|
||||||
{
|
{
|
||||||
u32 hex;
|
u32 hex = 0;
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
u16 lo;
|
u16 lo;
|
||||||
u16 hi;
|
u16 hi;
|
||||||
};
|
};
|
||||||
struct
|
BitField<0, 5, u32> reserved_1;
|
||||||
{
|
BitField<5, 25, u32> addr;
|
||||||
u32 : 5;
|
BitField<30, 2, u32> reserved_2;
|
||||||
u32 addr : 25;
|
|
||||||
u32 : 2;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
union MITimer
|
union MITimer
|
||||||
{
|
{
|
||||||
u32 hex;
|
u32 hex = 0;
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
u16 lo;
|
u16 lo;
|
||||||
@ -132,10 +124,10 @@ struct MIMemStruct
|
|||||||
MIProtType prot_type;
|
MIProtType prot_type;
|
||||||
MIIRQMask irq_mask;
|
MIIRQMask irq_mask;
|
||||||
MIIRQFlag irq_flag;
|
MIIRQFlag irq_flag;
|
||||||
u16 unknown1;
|
u16 unknown1 = 0;
|
||||||
MIProtAddr prot_addr;
|
MIProtAddr prot_addr;
|
||||||
MITimer timers[10];
|
MITimer timers[10];
|
||||||
u16 unknown2;
|
u16 unknown2 = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
// STATE_TO_SAVE
|
// STATE_TO_SAVE
|
||||||
|
Reference in New Issue
Block a user