diff -Nru old/src/mame/drivers/speglsht.c new/src/mame/drivers/speglsht.c --- old/src/mame/drivers/speglsht.c 2010-01-28 13:14:18.000000000 +0100 +++ new/src/mame/drivers/speglsht.c 2010-02-07 15:01:44.000000000 +0100 @@ -104,6 +104,7 @@ */ #include "emu.h" +#include "deprecat.h" #include "cpu/z80/z80.h" #include "cpu/mips/r3000.h" #include "sound/st0016.h" @@ -301,9 +302,12 @@ &st0016_charram }; - static INTERRUPT_GEN( irq4_gen ) +static INTERRUPT_GEN( irq4_gen ) { - cpu_set_input_line(device, R3000_IRQ4, ASSERT_LINE); + if(cpu_getiloops(device) == 0) + cpu_set_input_line(device, R3000_IRQ4, ASSERT_LINE); + else + cpu_set_input_line(device, R3000_IRQ4, CLEAR_LINE); } static const r3000_cpu_core config = @@ -329,7 +333,8 @@ MDRV_CPU_ADD("sub", R3000LE, 25000000) MDRV_CPU_CONFIG(config) MDRV_CPU_PROGRAM_MAP(speglsht_mem) - MDRV_CPU_VBLANK_INT("screen", irq4_gen) + //256???K?? + MDRV_CPU_VBLANK_INT_HACK(irq4_gen, 256) MDRV_QUANTUM_TIME(HZ(6000)) MDRV_MACHINE_RESET(speglsht)