#define M68KCPU__HEADER\r
\r
// notaz: something's missing this\r
-#ifndef UINT16\r
+#ifndef UINT64\r
#define UINT64 unsigned long long\r
+#endif\r
+#ifndef UINT16\r
#define UINT32 unsigned int\r
#define UINT16 unsigned short\r
#define UINT8 unsigned char\r
\r
// notaz\r
sint cyc_remaining_cycles;\r
+ sint not_polling;\r
} m68ki_cpu_core;\r
\r
// notaz\r
INLINE void m68ki_set_sr(uint value)\r
{\r
m68ki_set_sr_noint(value);\r
- m68ki_check_interrupts();\r
+ if (GET_CYCLES() >= 0) // notaz\r
+ m68ki_check_interrupts();\r
}\r
\r
\r
/* Format 8 stack frame (68010).\r
* 68010 only. This is the 29 word bus/address error frame.\r
*/\r
-void m68ki_stack_frame_1000(uint pc, uint sr, uint vector)\r
+INLINE void m68ki_stack_frame_1000(uint pc, uint sr, uint vector)\r
{\r
/* VERSION\r
* NUMBER\r
* if the error happens at an instruction boundary.\r
* PC stacked is address of next instruction.\r
*/\r
-void m68ki_stack_frame_1010(uint sr, uint vector, uint pc)\r
+INLINE void m68ki_stack_frame_1010(uint sr, uint vector, uint pc)\r
{\r
/* INTERNAL REGISTER */\r
m68ki_push_16(0);\r
* if the error happens during instruction execution.\r
* PC stacked is address of instruction in progress.\r
*/\r
-void m68ki_stack_frame_1011(uint sr, uint vector, uint pc)\r
+INLINE void m68ki_stack_frame_1011(uint sr, uint vector, uint pc)\r
{\r
/* INTERNAL REGISTERS (18 words) */\r
m68ki_push_32(0);\r
\r
\r
/* Service an interrupt request and start exception processing */\r
-void m68ki_exception_interrupt(uint int_level)\r
+INLINE void m68ki_exception_interrupt(uint int_level)\r
{\r
uint vector;\r
uint sr;\r
\r
/* Get the new PC */\r
new_pc = m68ki_read_data_32((vector<<2) + REG_VBR);\r
+ //new_pc = m68k_read_immediate_32((vector<<2) + REG_VBR); // notaz hack\r
\r
/* If vector is uninitialized, call the uninitialized interrupt vector */\r
if(new_pc == 0)\r