X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=libpcsxcore%2Fr3000a.h;h=157d31b98ed03fab17dda6ea8f1f0e6760d5be31;hb=78a6da0cc3511f4159bf2c648e7e72dc13204492;hp=6682314778f9508579de1f33effd5a5b9088aac5;hpb=bc7c5acb6eb1ac9adc6b4381a2c2b2baffd5aebe;p=pcsx_rearmed.git diff --git a/libpcsxcore/r3000a.h b/libpcsxcore/r3000a.h index 66823147..157d31b9 100644 --- a/libpcsxcore/r3000a.h +++ b/libpcsxcore/r3000a.h @@ -25,9 +25,6 @@ extern "C" { #endif #include "psxcommon.h" -#include "psxmem.h" -#include "psxcounters.h" -#include "psxbios.h" enum R3000Aexception { R3000E_Int = 0, // Interrupt @@ -45,7 +42,7 @@ enum R3000Aexception { enum R3000Anote { R3000ACPU_NOTIFY_CACHE_ISOLATED = 0, R3000ACPU_NOTIFY_CACHE_UNISOLATED = 1, - R3000ACPU_NOTIFY_BEFORE_SAVE, + R3000ACPU_NOTIFY_BEFORE_SAVE, // data arg - hle if non-null R3000ACPU_NOTIFY_AFTER_LOAD, }; @@ -88,7 +85,7 @@ typedef union { u32 r0, at, v0, v1, a0, a1, a2, a3, t0, t1, t2, t3, t4, t5, t6, t7, s0, s1, s2, s3, s4, s5, s6, s7, - t8, t9, k0, k1, gp, sp, s8, ra, lo, hi; + t8, t9, k0, k1, gp, sp, fp, ra, lo, hi; } n; u32 r[34]; /* Lo, Hi in r[32] and r[33] */ PAIR p[34]; @@ -180,7 +177,7 @@ enum { PSXINT_NEWDRC_CHECK, PSXINT_RCNT, PSXINT_CDRLID, - PSXINT_CDRPLAY_OLD, /* unused */ + PSXINT_IRQ10, PSXINT_SPU_UPDATE, PSXINT_COUNT }; @@ -224,6 +221,9 @@ typedef struct { u8 dloadSel; /* interp. delay load state */ u8 dloadReg[2]; u32 dloadVal[2]; + u32 biosBranchCheck; + u32 cpuInRecursion; + u32 reserved[2]; // warning: changing anything in psxRegisters requires update of all // asm in libpcsxcore/new_dynarec/ } psxRegisters; @@ -257,6 +257,9 @@ void psxBranchTest(); void psxExecuteBios(); void psxJumpTest(); +void irq10Interrupt(); +void psxScheduleIrq10(int irq_count, int x_cycles, int y); + #ifdef __cplusplus } #endif