GPU: Emulate memory fills.
This commit is contained in:
parent
0b4055c152
commit
baf0aa04f5
4 changed files with 89 additions and 3 deletions
|
@ -14,6 +14,15 @@ static const u32 kFrameTicks = kFrameCycles / 3; ///< Approximate number of i
|
|||
|
||||
struct Registers {
|
||||
enum Id : u32 {
|
||||
MemoryFillStart1 = 0x1EF00010,
|
||||
MemoryFillEnd1 = 0x1EF00014,
|
||||
MemoryFillSize1 = 0x1EF00018,
|
||||
MemoryFillValue1 = 0x1EF0001C,
|
||||
MemoryFillStart2 = 0x1EF00020,
|
||||
MemoryFillEnd2 = 0x1EF00024,
|
||||
MemoryFillSize2 = 0x1EF00028,
|
||||
MemoryFillValue2 = 0x1EF0002C,
|
||||
|
||||
FramebufferTopSize = 0x1EF0045C,
|
||||
FramebufferTopLeft1 = 0x1EF00468, // Main LCD, first framebuffer for 3D left
|
||||
FramebufferTopLeft2 = 0x1EF0046C, // Main LCD, second framebuffer for 3D left
|
||||
|
@ -53,6 +62,23 @@ struct Registers {
|
|||
RGBA4 = 4,
|
||||
};
|
||||
|
||||
struct MemoryFillConfig {
|
||||
u32 address_start;
|
||||
u32 address_end; // ?
|
||||
u32 size;
|
||||
u32 value; // ?
|
||||
|
||||
inline u32 GetStartAddress() const {
|
||||
return address_start * 8;
|
||||
}
|
||||
|
||||
inline u32 GetEndAddress() const {
|
||||
return address_end * 8;
|
||||
}
|
||||
};
|
||||
|
||||
MemoryFillConfig memory_fill[2];
|
||||
|
||||
// TODO: Move these into the framebuffer struct
|
||||
u32 framebuffer_top_left_1;
|
||||
u32 framebuffer_top_left_2;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue