#endif
}
+void INTREQ_f (uae_u16 v)
+{
+ if (use_eventmode (v)) {
+ send_intreq_do (v);
+ } else {
+ intreq |= v;
+ intreq_internal |= v;
+ }
+}
+
void INTREQ_0 (uae_u16 v)
{
uae_u16 old = intreq;
extern void INTREQ (uae_u16);
extern void INTREQ_0 (uae_u16);
-extern void INTREQ_f (uae_u32);
+extern void INTREQ_f (uae_u16);
extern void send_interrupt (int num, int delay);
extern uae_u16 INTREQR (void);
STATIC_INLINE void cycles_do_special (void)
{
- if (pissoff > 0)
+ if (pissoff >= 0)
pissoff = -1;
}
uae_u32 prefetch020data;
uae_u32 prefetch020addr;
int ce020memcycles;
- evt lastfetch;
-
};
extern struct regstruct regs;
extern int mmu_enabled, mmu_triggered;
extern int cpu_cycles;
extern int cpucycleunit;
-
+#ifdef JIT
+extern uae_u8* compiled_code;
+#endif
STATIC_INLINE void set_special (uae_u32 x)
{
regs.spcflags |= x;
- cycles_do_special ();
+ if (compiled_code)
+ cycles_do_special ();
}
STATIC_INLINE void unset_special (uae_u32 x)
((compiled_handler*)(pushall_call_handler))();
/* Whenever we return from that, we should check spcflags */
if (uae_int_requested) {
- intreq |= 0x0008;
+ INTREQ_f (0x8008);
set_special (SPCFLAG_INT);
}
if (regs.spcflags) {