notaz.gp2x.de
/
pcsx_rearmed.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
cdrom: don't read and play simultaneously
[pcsx_rearmed.git]
/
libpcsxcore
/
r3000a.h
diff --git
a/libpcsxcore/r3000a.h
b/libpcsxcore/r3000a.h
index
a6a6254
..
2d7ad40
100644
(file)
--- a/
libpcsxcore/r3000a.h
+++ b/
libpcsxcore/r3000a.h
@@
-29,21
+29,26
@@
extern "C" {
#include "psxcounters.h"
#include "psxbios.h"
#include "psxcounters.h"
#include "psxbios.h"
+enum {
+ R3000ACPU_NOTIFY_CACHE_ISOLATED = 0,
+ R3000ACPU_NOTIFY_CACHE_UNISOLATED = 1,
+ R3000ACPU_NOTIFY_DMA3_EXE_LOAD = 2
+};
+
typedef struct {
int (*Init)();
void (*Reset)();
void (*Execute)(); /* executes up to a break */
void (*ExecuteBlock)(); /* executes up to a jump */
void (*Clear)(u32 Addr, u32 Size);
typedef struct {
int (*Init)();
void (*Reset)();
void (*Execute)(); /* executes up to a break */
void (*ExecuteBlock)(); /* executes up to a jump */
void (*Clear)(u32 Addr, u32 Size);
+ void (*Notify)(int note, void *data);
+ void (*ApplyConfig)();
void (*Shutdown)();
} R3000Acpu;
extern R3000Acpu *psxCpu;
extern R3000Acpu psxInt;
void (*Shutdown)();
} R3000Acpu;
extern R3000Acpu *psxCpu;
extern R3000Acpu psxInt;
-#if (defined(__x86_64__) || defined(__i386__) || defined(__sh__) || defined(__ppc__) || defined(__arm__)) && !defined(NOPSXREC)
extern R3000Acpu psxRec;
extern R3000Acpu psxRec;
-#define PSXREC
-#endif
typedef union {
#if defined(__BIGENDIAN__)
typedef union {
#if defined(__BIGENDIAN__)
@@
-184,17
+189,24
@@
typedef struct {
u32 cycle;
u32 interrupt;
struct { u32 sCycle, cycle; } intCycle[32];
u32 cycle;
u32 interrupt;
struct { u32 sCycle, cycle; } intCycle[32];
+ u32 gteBusyCycle;
+ u32 muldivBusyCycle;
+ // warning: changing anything in psxRegisters requires update of all
+ // asm in libpcsxcore/new_dynarec/, but this member can be replaced
+ u32 reserved[2];
} psxRegisters;
} psxRegisters;
+extern boolean writeok;
+
extern psxRegisters psxRegs;
/* new_dynarec stuff */
extern u32 event_cycles[PSXINT_COUNT];
extern u32 next_interupt;
extern psxRegisters psxRegs;
/* new_dynarec stuff */
extern u32 event_cycles[PSXINT_COUNT];
extern u32 next_interupt;
-void new_dyna_save(void);
+void new_dyna_
before_
save(void);
void new_dyna_after_save(void);
void new_dyna_after_save(void);
-void new_dyna_
restore(void
);
+void new_dyna_
freeze(void *f, int mode
);
#define new_dyna_set_event(e, c) { \
s32 c_ = c; \
#define new_dyna_set_event(e, c) { \
s32 c_ = c; \