aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/hw/gpu.h
diff options
context:
space:
mode:
authorGravatar Tony Wasserka <NeoBrainX@gmail.com>2014-06-04 18:30:23 +0200
committerGravatar Tony Wasserka <NeoBrainX@gmail.com>2014-07-23 00:33:08 +0200
commitbaf0aa04f50dff257b57fa78786e53b97c1e6abb (patch)
tree3dc92a276f58d1099eb19dd2b5fcb52c69a8da9a /src/core/hw/gpu.h
parent0b4055c1520fbe7f697d2f1f93a85b559504cca4 (diff)
GPU: Emulate memory fills.
Diffstat (limited to 'src/core/hw/gpu.h')
-rw-r--r--src/core/hw/gpu.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/core/hw/gpu.h b/src/core/hw/gpu.h
index 50c36081..47d7fcb2 100644
--- a/src/core/hw/gpu.h
+++ b/src/core/hw/gpu.h
@@ -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;