X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=cpu%2Fmusashi%2Fm68kcpu.h;h=eb7a513a53e62dc2fd2f00c42a0d8d98890ecedc;hb=110df09c8a2479c6a58655ad6b09b50584fbe5f4;hp=350c975f39fa03489cf231db13042ca0793551b0;hpb=c6a4c892866387e150ffcaa3af8b8c18d9ec6d58;p=picodrive.git diff --git a/cpu/musashi/m68kcpu.h b/cpu/musashi/m68kcpu.h index 350c975..eb7a513 100644 --- a/cpu/musashi/m68kcpu.h +++ b/cpu/musashi/m68kcpu.h @@ -27,8 +27,10 @@ #define M68KCPU__HEADER // notaz: something's missing this -#ifndef UINT16 +#ifndef UINT64 #define UINT64 unsigned long long +#endif +#ifndef UINT16 #define UINT32 unsigned int #define UINT16 unsigned short #define UINT8 unsigned char @@ -1534,7 +1536,8 @@ INLINE void m68ki_set_sr_noint_nosp(uint value) INLINE void m68ki_set_sr(uint value) { m68ki_set_sr_noint(value); - m68ki_check_interrupts(); + if (GET_CYCLES() >= 0) // notaz + m68ki_check_interrupts(); } @@ -2008,7 +2011,8 @@ void m68ki_exception_interrupt(uint int_level) FLAG_INT_MASK = int_level<<8; /* Get the new PC */ - new_pc = m68ki_read_data_32((vector<<2) + REG_VBR); + //new_pc = m68ki_read_data_32((vector<<2) + REG_VBR); + new_pc = m68k_read_immediate_32((vector<<2) + REG_VBR); // notaz hack /* If vector is uninitialized, call the uninitialized interrupt vector */ if(new_pc == 0)