summaryrefslogtreecommitdiff
path: root/libpcsxcore/r3000a.h
diff options
context:
space:
mode:
authorSND\shalma_cp <SND\shalma_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2010-09-05 00:35:53 +0000
committerSND\shalma_cp <SND\shalma_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2010-09-05 00:35:53 +0000
commit78e935a3e7ec856d50849b3e2a6df7949f56a634 (patch)
treeda95662359a570325828c0f59419b034546f1026 /libpcsxcore/r3000a.h
parentd492504ee69f77cf3111a7715ac228000b69a2de (diff)
downloadpcsxr-78e935a3e7ec856d50849b3e2a6df7949f56a634.tar.gz
Rebel Assault 2 needs longer DMA times (black screens in-game)
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@56821 e17a0e51-4ae3-4d35-97c3-1a29b211df97
Diffstat (limited to 'libpcsxcore/r3000a.h')
-rw-r--r--libpcsxcore/r3000a.h38
1 files changed, 21 insertions, 17 deletions
diff --git a/libpcsxcore/r3000a.h b/libpcsxcore/r3000a.h
index 0150b0e6..f0b4e369 100644
--- a/libpcsxcore/r3000a.h
+++ b/libpcsxcore/r3000a.h
@@ -70,20 +70,19 @@ typedef union {
PAIR p[34];
} psxGPRRegs;
-typedef union {
- struct {
- u32 Index, Random, EntryLo0, EntryLo1,
- Context, PageMask, Wired, Reserved0,
- BadVAddr, Count, EntryHi, Compare,
- Status, Cause, EPC, PRid,
- Config, LLAddr, WatchLO, WatchHI,
- XContext, Reserved1, Reserved2, Reserved3,
- Reserved4, Reserved5, ECC, CacheErr,
- TagLo, TagHi, ErrorEPC, Reserved6;
- } n;
- u32 r[32];
- PAIR p[32];
-} psxCP0Regs;
+typedef union {
+ struct {
+ u32 Index, Random, EntryLo0, BPC,
+ Context, BDA, PIDMask, DCIC,
+ BadVAddr, BDAM, EntryHi, BPCM,
+ Status, Cause, EPC, PRid,
+ Config, LLAddr, WatchLO, WatchHI,
+ XContext, Reserved1, Reserved2, Reserved3,
+ Reserved4, Reserved5, ECC, CacheErr,
+ TagLo, TagHi, ErrorEPC, Reserved6;
+ } n;
+ u32 r[32];
+} psxCP0Regs;
typedef struct {
short x, y;
@@ -152,7 +151,9 @@ enum {
PSXINT_GPUDMA,
PSXINT_MDECOUTDMA,
PSXINT_SPUDMA,
- PSXINT_GPUBUSY
+ PSXINT_GPUBUSY,
+ PSXINT_MDECINDMA,
+ PSXINT_GPUOTCDMA
};
typedef struct {
@@ -160,11 +161,14 @@ typedef struct {
psxCP0Regs CP0; /* Coprocessor0 Registers */
psxCP2Data CP2D; /* Cop2 data registers */
psxCP2Ctrl CP2C; /* Cop2 control registers */
- u32 pc; /* Program counter */
- u32 code; /* The instruction */
+ u32 pc; /* Program counter */
+ u32 code; /* The instruction */
u32 cycle;
u32 interrupt;
struct { u32 sCycle, cycle; } intCycle[32];
+ u8 ICache_Addr[0x1000];
+ u8 ICache_Code[0x1000];
+ u32 ICache_valid;
} psxRegisters;
extern psxRegisters psxRegs;