X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=libpcsxcore%2Fr3000a.h;h=a6a6254e8bfa008bfa75e3e1737d6435d69bed69;hp=7e9ba1c3ae0818e7f7bc363810ded3b9b64f23bc;hb=bdd050c3ed792381df2e744fee5b7ee80b93fd68;hpb=528ad661dd07067cbcd6c1beebad63fc36795759 diff --git a/libpcsxcore/r3000a.h b/libpcsxcore/r3000a.h index 7e9ba1c3..a6a6254e 100644 --- a/libpcsxcore/r3000a.h +++ b/libpcsxcore/r3000a.h @@ -154,15 +154,31 @@ enum { PSXINT_SPUDMA, PSXINT_GPUBUSY, PSXINT_MDECINDMA, + PSXINT_GPUOTCDMA, + PSXINT_CDRDMA, PSXINT_NEWDRC_CHECK, + PSXINT_RCNT, + PSXINT_CDRLID, + PSXINT_CDRPLAY, + PSXINT_SPU_UPDATE, PSXINT_COUNT }; +typedef struct psxCP2Regs { + psxCP2Data CP2D; /* Cop2 data registers */ + psxCP2Ctrl CP2C; /* Cop2 control registers */ +} psxCP2Regs; + typedef struct { psxGPRRegs GPR; /* General Purpose Registers */ psxCP0Regs CP0; /* Coprocessor0 Registers */ - psxCP2Data CP2D; /* Cop2 data registers */ - psxCP2Ctrl CP2C; /* Cop2 control registers */ + union { + struct { + psxCP2Data CP2D; /* Cop2 data registers */ + psxCP2Ctrl CP2C; /* Cop2 control registers */ + }; + psxCP2Regs CP2; + }; u32 pc; /* Program counter */ u32 code; /* The instruction */ u32 cycle; @@ -177,6 +193,7 @@ extern u32 event_cycles[PSXINT_COUNT]; extern u32 next_interupt; void new_dyna_save(void); +void new_dyna_after_save(void); void new_dyna_restore(void); #define new_dyna_set_event(e, c) { \