summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/CommandProcessor.h
diff options
context:
space:
mode:
authorMat M <mathew1800@gmail.com>2017-01-28 06:43:23 -0500
committerGitHub <noreply@github.com>2017-01-28 06:43:23 -0500
commitede9c6255a911d53f2ac06890d8a6361d4040007 (patch)
treebcf06fc63d1996fe28b83ed83290840975da30ed /Source/Core/VideoCommon/CommandProcessor.h
parent04c3db8bfaf634b8e6fb4cbeb47e4f04dd4f6247 (diff)
parent3787af9ee9ca3279f437e17b1a343f6aa7a091ef (diff)
Merge pull request #4770 from degasus/fifo
CommandProcessor: Limit scope of ugly SCPFifoStruct.
Diffstat (limited to 'Source/Core/VideoCommon/CommandProcessor.h')
-rw-r--r--Source/Core/VideoCommon/CommandProcessor.h32
1 files changed, 31 insertions, 1 deletions
diff --git a/Source/Core/VideoCommon/CommandProcessor.h b/Source/Core/VideoCommon/CommandProcessor.h
index 579e912849..9064aa469b 100644
--- a/Source/Core/VideoCommon/CommandProcessor.h
+++ b/Source/Core/VideoCommon/CommandProcessor.h
@@ -15,7 +15,35 @@ class Mapping;
namespace CommandProcessor
{
-extern SCPFifoStruct fifo; // This one is shared between gfx thread and emulator thread.
+struct SCPFifoStruct
+{
+ // fifo registers
+ volatile u32 CPBase;
+ volatile u32 CPEnd;
+ u32 CPHiWatermark;
+ u32 CPLoWatermark;
+ volatile u32 CPReadWriteDistance;
+ volatile u32 CPWritePointer;
+ volatile u32 CPReadPointer;
+ volatile u32 CPBreakpoint;
+ volatile u32 SafeCPReadPointer;
+
+ volatile u32 bFF_GPLinkEnable;
+ volatile u32 bFF_GPReadEnable;
+ volatile u32 bFF_BPEnable;
+ volatile u32 bFF_BPInt;
+ volatile u32 bFF_Breakpoint;
+
+ volatile u32 bFF_LoWatermarkInt;
+ volatile u32 bFF_HiWatermarkInt;
+
+ volatile u32 bFF_LoWatermark;
+ volatile u32 bFF_HiWatermark;
+};
+
+// This one is shared between gfx thread and emulator thread.
+// It is only used by the Fifo and by the CommandProcessor.
+extern SCPFifoStruct fifo;
// internal hardware addresses
enum
@@ -138,4 +166,6 @@ void SetCpClearRegister();
void SetCpControlRegister();
void SetCpStatusRegister();
+void HandleUnknownOpcode(u8 cmd_byte, void* buffer, bool preprocess);
+
} // namespace CommandProcessor