X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=libpcsxcore%2Fr3000a.h;h=49afcb1cd6fa966b2402c563356e89619ae555db;hb=df717ca9bf196fd40134d16f94b7f3c774f2c897;hp=cb72bf362f147b4fcc9af8c9149adb4cc9ef2f50;hpb=61ad2a6193b343bed12af5400746254583339304;p=pcsx_rearmed.git diff --git a/libpcsxcore/r3000a.h b/libpcsxcore/r3000a.h index cb72bf36..49afcb1c 100644 --- a/libpcsxcore/r3000a.h +++ b/libpcsxcore/r3000a.h @@ -51,7 +51,7 @@ extern R3000Acpu psxInt; extern R3000Acpu psxRec; typedef union { -#if defined(__BIGENDIAN__) +#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ struct { u8 h3, h2, h, l; } b; struct { s8 h3, h2, h, l; } sb; struct { u16 h, l; } w; @@ -164,7 +164,7 @@ enum { PSXINT_NEWDRC_CHECK, PSXINT_RCNT, PSXINT_CDRLID, - PSXINT_CDRPLAY, + PSXINT_CDRPLAY_OLD, /* unused */ PSXINT_SPU_UPDATE, PSXINT_COUNT }; @@ -206,18 +206,20 @@ void new_dyna_before_save(void); void new_dyna_after_save(void); void new_dyna_freeze(void *f, int mode); -#define new_dyna_set_event(e, c) { \ - s32 c_ = c; \ - u32 abs_ = psxRegs.cycle + c_; \ - s32 odi_ = next_interupt - psxRegs.cycle; \ +#define new_dyna_set_event_abs(e, abs) { \ + u32 abs_ = abs; \ + s32 di_ = next_interupt - abs_; \ event_cycles[e] = abs_; \ - if (c_ < odi_) { \ - /*printf("%u: next_interupt %d -> %d (%u)\n", psxRegs.cycle, odi_, c_, abs_);*/ \ + if (di_ > 0) { \ + /*printf("%u: next_interupt %u -> %u\n", psxRegs.cycle, next_interupt, abs_);*/ \ next_interupt = abs_; \ } \ } -#if defined(__BIGENDIAN__) +#define new_dyna_set_event(e, c) \ + new_dyna_set_event_abs(e, psxRegs.cycle + (c)) + +#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ #define _i32(x) *(s32 *)&x #define _u32(x) x