X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=libpcsxcore%2Fr3000a.h;h=54359159e20cfb36771c2b933f0869e8e9cca93a;hp=13aaa59562fb6f1418545634a22411070ba7ea29;hb=81dbbf4cbb16fc6c9a82a5b91e102c8005c5726a;hpb=eac3852265815a2e57ea9987a2bea2fcadd3f022 diff --git a/libpcsxcore/r3000a.h b/libpcsxcore/r3000a.h index 13aaa595..54359159 100644 --- a/libpcsxcore/r3000a.h +++ b/libpcsxcore/r3000a.h @@ -29,21 +29,30 @@ extern "C" { #include "psxcounters.h" #include "psxbios.h" +#ifdef ICACHE_EMULATION +enum { + R3000ACPU_NOTIFY_CACHE_ISOLATED = 0, + R3000ACPU_NOTIFY_CACHE_UNISOLATED = 1, + R3000ACPU_NOTIFY_DMA3_EXE_LOAD = 2 +}; +extern uint32_t *Read_ICache(uint32_t pc); +#endif + 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); +#ifdef ICACHE_EMULATION + void (*Notify)(int note, void *data); +#endif 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; -#define PSXREC -#endif typedef union { #if defined(__BIGENDIAN__) @@ -160,6 +169,7 @@ enum { PSXINT_RCNT, PSXINT_CDRLID, PSXINT_CDRPLAY, + PSXINT_SPU_UPDATE, PSXINT_COUNT }; @@ -183,6 +193,10 @@ typedef struct { u32 cycle; u32 interrupt; struct { u32 sCycle, cycle; } intCycle[32]; + u32 gteBusyCycle; + // warning: changing anything in psxRegisters requires update of all + // asm in libpcsxcore/new_dynarec/, but this member can be replaced + u32 reserved[3]; } psxRegisters; extern psxRegisters psxRegs; @@ -191,9 +205,9 @@ extern psxRegisters psxRegs; 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_restore(void); +void new_dyna_freeze(void *f, int mode); #define new_dyna_set_event(e, c) { \ s32 c_ = c; \