diff --git a/src/emu/cpu/adsp2100/adsp2100.c b/src/emu/cpu/adsp2100/adsp2100.c index 2dbe0d6d44e..6d6308a6045 100644 --- a/src/emu/cpu/adsp2100/adsp2100.c +++ b/src/emu/cpu/adsp2100/adsp2100.c @@ -536,24 +536,10 @@ static void set_irq_line(adsp2100_state *adsp, int irqline, int state) /* update the absolute state */ adsp->irq_state[irqline] = state; - - /* check for IRQs */ - if (state != CLEAR_LINE) - check_irqs(adsp); } -/*************************************************************************** - CONTEXT SWITCHING -***************************************************************************/ - -static CPU_GET_CONTEXT( adsp21xx ) { } - -static CPU_SET_CONTEXT( adsp21xx ) { } - - - /*************************************************************************** INITIALIZATION AND SHUTDOWN ***************************************************************************/ @@ -1901,8 +1887,8 @@ static CPU_GET_INFO( adsp21xx ) /* --- the following bits of info are returned as pointers to data or functions --- */ case CPUINFO_PTR_SET_INFO: /* set per CPU */ break; - case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(adsp21xx);break; - case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(adsp21xx);break; + case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(dummy);break; + case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(dummy);break; case CPUINFO_PTR_INIT: /* set per CPU */ break; case CPUINFO_PTR_RESET: info->reset = CPU_RESET_NAME(adsp21xx); break; case CPUINFO_PTR_EXIT: info->exit = CPU_EXIT_NAME(adsp21xx); break; @@ -2088,7 +2074,6 @@ CPU_GET_INFO( adsp2100 ) /* --- the following bits of info are returned as pointers to data or functions --- */ case CPUINFO_PTR_INIT: info->init = CPU_INIT_NAME(adsp2100); break; case CPUINFO_PTR_SET_INFO: info->setinfo = CPU_SET_INFO_NAME(adsp2100); break; - case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(adsp21xx); break; /* --- the following bits of info are returned as NULL-terminated strings --- */ case CPUINFO_STR_NAME: strcpy(info->s, "ADSP2100"); break; diff --git a/src/emu/cpu/arm/arm.c b/src/emu/cpu/arm/arm.c index 2f3ac03135f..d03c8a628d4 100644 --- a/src/emu/cpu/arm/arm.c +++ b/src/emu/cpu/arm/arm.c @@ -430,10 +430,6 @@ static CPU_EXECUTE( arm ) } /* arm_execute */ -static CPU_GET_CONTEXT( arm ) { } - -static CPU_SET_CONTEXT( arm ) { } - static void arm_check_irq_state(ARM_REGS* cpustate) { UINT32 pc = R15+4; /* save old pc (already incremented in pipeline) */; @@ -1512,8 +1508,8 @@ CPU_GET_INFO( arm ) /* --- the following bits of info are returned as pointers to data or functions --- */ case CPUINFO_PTR_SET_INFO: info->setinfo = CPU_SET_INFO_NAME(arm); break; - case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(arm); break; - case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(arm); break; + case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(dummy); break; + case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(dummy); break; case CPUINFO_PTR_INIT: info->init = CPU_INIT_NAME(arm); break; case CPUINFO_PTR_RESET: info->reset = CPU_RESET_NAME(arm); break; case CPUINFO_PTR_EXIT: info->exit = CPU_EXIT_NAME(arm); break; diff --git a/src/emu/cpu/arm7/arm7.c b/src/emu/cpu/arm7/arm7.c index 5c9b0e36d1b..fed4f941db2 100644 --- a/src/emu/cpu/arm7/arm7.c +++ b/src/emu/cpu/arm7/arm7.c @@ -117,10 +117,6 @@ static void set_irq_line(arm_state *cpustate, int irqline, int state) arm7_core_set_irq_line(cpustate, irqline, state); } -static CPU_GET_CONTEXT( arm7 ) { } - -static CPU_SET_CONTEXT( arm7 ) { } - static CPU_DISASSEMBLE( arm7 ) { arm_state *cpustate = device->token; @@ -308,8 +304,8 @@ CPU_GET_INFO( arm7 ) /* --- the following bits of info are returned as pointers to data or functions --- */ case CPUINFO_PTR_SET_INFO: info->setinfo = CPU_SET_INFO_NAME(arm7); break; - case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(arm7); break; - case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(arm7); break; + case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(dummy); break; + case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(dummy); break; case CPUINFO_PTR_INIT: info->init = CPU_INIT_NAME(arm7); break; case CPUINFO_PTR_RESET: info->reset = CPU_RESET_NAME(arm7); break; case CPUINFO_PTR_EXIT: info->exit = CPU_EXIT_NAME(arm7); break; diff --git a/src/emu/cpu/asap/asap.c b/src/emu/cpu/asap/asap.c index b1907a91a03..f2897eeef5f 100644 --- a/src/emu/cpu/asap/asap.c +++ b/src/emu/cpu/asap/asap.c @@ -388,17 +388,6 @@ static void set_irq_line(asap_state *asap, int irqline, int state) -/*************************************************************************** - CONTEXT SWITCHING -***************************************************************************/ - -static CPU_GET_CONTEXT( asap ) { } - - -static CPU_SET_CONTEXT( asap ) { } - - - /*************************************************************************** INITIALIZATION AND SHUTDOWN ***************************************************************************/ @@ -1778,8 +1767,8 @@ CPU_GET_INFO( asap ) /* --- the following bits of info are returned as pointers to data or functions --- */ case CPUINFO_PTR_SET_INFO: info->setinfo = CPU_SET_INFO_NAME(asap); break; - case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(asap); break; - case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(asap); break; + case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(dummy); break; + case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(dummy); break; case CPUINFO_PTR_INIT: info->init = CPU_INIT_NAME(asap); break; case CPUINFO_PTR_RESET: info->reset = CPU_RESET_NAME(asap); break; case CPUINFO_PTR_EXIT: info->exit = CPU_EXIT_NAME(asap); break; diff --git a/src/emu/cpu/ccpu/ccpu.c b/src/emu/cpu/ccpu/ccpu.c index f8782344d89..0666af09385 100644 --- a/src/emu/cpu/ccpu/ccpu.c +++ b/src/emu/cpu/ccpu/ccpu.c @@ -90,17 +90,6 @@ do { \ -/*************************************************************************** - CONTEXT SWITCHING -***************************************************************************/ - -static CPU_GET_CONTEXT( ccpu ) { } - - -static CPU_SET_CONTEXT( ccpu ) { } - - - /*************************************************************************** INITIALIZATION AND SHUTDOWN ***************************************************************************/ @@ -782,8 +771,8 @@ CPU_GET_INFO( ccpu ) /* --- the following bits of info are returned as pointers to data or functions --- */ case CPUINFO_PTR_SET_INFO: info->setinfo = CPU_SET_INFO_NAME(ccpu); break; - case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(ccpu); break; - case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(ccpu); break; + case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(dummy); break; + case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(dummy); break; case CPUINFO_PTR_INIT: info->init = CPU_INIT_NAME(ccpu); break; case CPUINFO_PTR_RESET: info->reset = CPU_RESET_NAME(ccpu); break; case CPUINFO_PTR_EXIT: info->exit = NULL; break; diff --git a/src/emu/cpu/cdp1802/cdp1802.c b/src/emu/cpu/cdp1802/cdp1802.c index 497998c9c52..23c8d61c39d 100644 --- a/src/emu/cpu/cdp1802/cdp1802.c +++ b/src/emu/cpu/cdp1802/cdp1802.c @@ -926,9 +926,6 @@ static CPU_INIT( cdp1802 ) state_save_register_device_item(device, 0, cpustate->ef); } -static CPU_GET_CONTEXT( cdp1802 ) { } - -static CPU_SET_CONTEXT( cdp1802 ) { } /************************************************************************** * Generic set_info @@ -1044,8 +1041,8 @@ CPU_GET_INFO( cdp1802 ) /* --- the following bits of info are returned as pointers to data or functions --- */ case CPUINFO_PTR_SET_INFO: info->setinfo = CPU_SET_INFO_NAME(cdp1802); break; - case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(cdp1802); break; - case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(cdp1802); break; + case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(dummy); break; + case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(dummy); break; case CPUINFO_PTR_INIT: info->init = CPU_INIT_NAME(cdp1802); break; case CPUINFO_PTR_RESET: info->reset = CPU_RESET_NAME(cdp1802); break; case CPUINFO_PTR_EXECUTE: info->execute = CPU_EXECUTE_NAME(cdp1802); break; diff --git a/src/emu/cpu/cop400/cop410.c b/src/emu/cpu/cop400/cop410.c index f967d4b8117..9b82766deb5 100644 --- a/src/emu/cpu/cop400/cop410.c +++ b/src/emu/cpu/cop400/cop410.c @@ -347,16 +347,6 @@ static CPU_EXECUTE( cop410 ) return cycles - cop400->icount; } -/**************************************************************************** - * Get all registers in given buffer - ****************************************************************************/ -static CPU_GET_CONTEXT( cop410 ) { } - -/**************************************************************************** - * Set all registers to given values - ****************************************************************************/ -static CPU_SET_CONTEXT( cop410 ) { } - /************************************************************************** * Validity check **************************************************************************/ @@ -452,8 +442,8 @@ CPU_GET_INFO( cop410 ) /* --- the following bits of info are returned as pointers to data or functions --- */ case CPUINFO_PTR_SET_INFO: info->setinfo = CPU_SET_INFO_NAME(cop410); break; - case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(cop410); break; - case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(cop410); break; + case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(dummy); break; + case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(dummy); break; case CPUINFO_PTR_INIT: info->init = CPU_INIT_NAME(cop410); break; case CPUINFO_PTR_RESET: info->reset = CPU_RESET_NAME(cop410); break; case CPUINFO_PTR_EXECUTE: info->execute = CPU_EXECUTE_NAME(cop410); break; diff --git a/src/emu/cpu/cop400/cop420.c b/src/emu/cpu/cop400/cop420.c index 1ad0f3b81b7..ae89afeff4d 100644 --- a/src/emu/cpu/cop400/cop420.c +++ b/src/emu/cpu/cop400/cop420.c @@ -416,16 +416,6 @@ static CPU_EXECUTE( cop420 ) return cycles - cop400->icount; } -/**************************************************************************** - * Get all registers in given buffer - ****************************************************************************/ -static CPU_GET_CONTEXT( cop420 ) { } - -/**************************************************************************** - * Set all registers to given values - ****************************************************************************/ -static CPU_SET_CONTEXT( cop420 ) { } - /************************************************************************** * Validity check **************************************************************************/ @@ -537,8 +527,8 @@ CPU_GET_INFO( cop420 ) /* --- the following bits of info are returned as pointers to data or functions --- */ case CPUINFO_PTR_SET_INFO: info->setinfo = CPU_SET_INFO_NAME(cop420); break; - case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(cop420); break; - case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(cop420); break; + case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(dummy); break; + case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(dummy); break; case CPUINFO_PTR_INIT: info->init = CPU_INIT_NAME(cop420); break; case CPUINFO_PTR_RESET: info->reset = CPU_RESET_NAME(cop420); break; case CPUINFO_PTR_EXECUTE: info->execute = CPU_EXECUTE_NAME(cop420); break; diff --git a/src/emu/cpu/cop400/cop440.c b/src/emu/cpu/cop400/cop440.c index 601cc8a9370..3b545c794ca 100644 --- a/src/emu/cpu/cop400/cop440.c +++ b/src/emu/cpu/cop400/cop440.c @@ -451,16 +451,6 @@ static CPU_EXECUTE( cop444 ) return cycles - cop400->icount; } -/**************************************************************************** - * Get all registers in given buffer - ****************************************************************************/ -static CPU_GET_CONTEXT( cop444 ) { } - -/**************************************************************************** - * Set all registers to given values - ****************************************************************************/ -static CPU_SET_CONTEXT( cop444 ) { } - /************************************************************************** * Validity check **************************************************************************/ @@ -559,8 +549,8 @@ CPU_GET_INFO( cop444 ) /* --- the following bits of info are returned as pointers to data or functions --- */ case CPUINFO_PTR_SET_INFO: info->setinfo = CPU_SET_INFO_NAME(cop444); break; - case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(cop444); break; - case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(cop444); break; + case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(dummy); break; + case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(dummy); break; case CPUINFO_PTR_INIT: info->init = CPU_INIT_NAME(cop444); break; case CPUINFO_PTR_RESET: info->reset = CPU_RESET_NAME(cop444); break; case CPUINFO_PTR_EXECUTE: info->execute = CPU_EXECUTE_NAME(cop444); break; diff --git a/src/emu/cpu/dsp32/dsp32.c b/src/emu/cpu/dsp32/dsp32.c index 1e544f02f7a..5630c5b93a1 100644 --- a/src/emu/cpu/dsp32/dsp32.c +++ b/src/emu/cpu/dsp32/dsp32.c @@ -290,16 +290,6 @@ static void update_pcr(dsp32_state *cpustate, UINT16 newval) -/*************************************************************************** - CONTEXT SWITCHING -***************************************************************************/ - -static CPU_GET_CONTEXT( dsp32c ) { } - -static CPU_SET_CONTEXT( dsp32c ) { } - - - /*************************************************************************** INITIALIZATION AND SHUTDOWN ***************************************************************************/ @@ -824,8 +814,8 @@ CPU_GET_INFO( dsp32c ) /* --- the following bits of info are returned as pointers to data or functions --- */ case CPUINFO_PTR_SET_INFO: info->setinfo = CPU_SET_INFO_NAME(dsp32c); break; - case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(dsp32c); break; - case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(dsp32c); break; + case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(dummy); break; + case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(dummy); break; case CPUINFO_PTR_INIT: info->init = CPU_INIT_NAME(dsp32c); break; case CPUINFO_PTR_RESET: info->reset = CPU_RESET_NAME(dsp32c); break; case CPUINFO_PTR_EXIT: info->exit = CPU_EXIT_NAME(dsp32c); break; diff --git a/src/emu/cpu/dsp56k/dsp56k.c b/src/emu/cpu/dsp56k/dsp56k.c index 0f600c4ca03..69736159cec 100644 --- a/src/emu/cpu/dsp56k/dsp56k.c +++ b/src/emu/cpu/dsp56k/dsp56k.c @@ -282,13 +282,6 @@ static void set_irq_line(int irqline, int state) { logerror("DSP56k set irq line %d %d\n", irqline, state); - /* I seem to recall this is an okay thing to do */ - if (state == PULSE_LINE) - { - logerror("WARNING: The dsp56k does not support pulsed interrupts.\n"); - return; - } - switch(irqline) { case DSP56K_IRQ_MODA: diff --git a/src/emu/cpu/e132xs/e132xs.c b/src/emu/cpu/e132xs/e132xs.c index d1090bc74f4..6d43984eda6 100644 --- a/src/emu/cpu/e132xs/e132xs.c +++ b/src/emu/cpu/e132xs/e132xs.c @@ -1714,10 +1714,6 @@ static CPU_EXIT( hyperstone ) // nothing to do } -static CPU_GET_CONTEXT( hyperstone ) { } - -static CPU_SET_CONTEXT( hyperstone ) { } - static CPU_DISASSEMBLE( hyperstone ) { hyperstone_state *cpustate = device->token; @@ -5022,8 +5018,8 @@ static CPU_GET_INFO( hyperstone ) /* --- the following bits of info are returned as pointers to data or functions --- */ case CPUINFO_PTR_SET_INFO: info->setinfo = CPU_SET_INFO_NAME(hyperstone); break; - case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(hyperstone); break; - case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(hyperstone); break; + case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(dummy); break; + case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(dummy); break; case CPUINFO_PTR_INIT: info->init = NULL; break; case CPUINFO_PTR_RESET: info->reset = CPU_RESET_NAME(hyperstone); break; case CPUINFO_PTR_EXIT: info->exit = CPU_EXIT_NAME(hyperstone); break; diff --git a/src/emu/cpu/g65816/g65816.c b/src/emu/cpu/g65816/g65816.c index e7326b09de7..7167264cf38 100644 --- a/src/emu/cpu/g65816/g65816.c +++ b/src/emu/cpu/g65816/g65816.c @@ -240,12 +240,6 @@ static CPU_EXECUTE( g65816 ) } -/* Get the current CPU context */ -static CPU_GET_CONTEXT( g65816 ) { } - -/* Set the current CPU context */ -static CPU_SET_CONTEXT( g65816 ) { } - /* Get the current Program Counter */ static unsigned g65816_get_pc(g65816i_cpu_struct *cpustate) { @@ -460,8 +454,8 @@ CPU_GET_INFO( g65816 ) /* --- the following bits of info are returned as pointers to data or functions --- */ case CPUINFO_PTR_SET_INFO: info->setinfo = CPU_SET_INFO_NAME(g65816); break; - case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(g65816); break; - case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(g65816); break; + case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(dummy); break; + case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(dummy); break; case CPUINFO_PTR_INIT: info->init = CPU_INIT_NAME(g65816); break; case CPUINFO_PTR_RESET: info->reset = CPU_RESET_NAME(g65816); break; case CPUINFO_PTR_EXIT: info->exit = CPU_EXIT_NAME(g65816); break; diff --git a/src/emu/cpu/g65816/g65816op.h b/src/emu/cpu/g65816/g65816op.h index 5ec4d01df6b..13196a5e92b 100644 --- a/src/emu/cpu/g65816/g65816op.h +++ b/src/emu/cpu/g65816/g65816op.h @@ -2323,7 +2323,7 @@ TABLE_FUNCTION(void, set_line, (g65816i_cpu_struct *cpustate, int line, int stat } if(!LINE_NMI) { - LINE_NMI = state != PULSE_LINE; + LINE_NMI = 1; CPU_STOPPED &= ~STOP_LEVEL_WAI; if(!CPU_STOPPED) g65816i_interrupt_nmi(cpustate); diff --git a/src/emu/cpu/h83002/h8_16.c b/src/emu/cpu/h83002/h8_16.c index cf93fef118a..9c8b15dbbdd 100644 --- a/src/emu/cpu/h83002/h8_16.c +++ b/src/emu/cpu/h83002/h8_16.c @@ -358,10 +358,6 @@ static void h8_check_irqs(h83xx_state *h8) // MAME interface stuff -static CPU_GET_CONTEXT( h8 ) { } - -static CPU_SET_CONTEXT( h8 ) { } - static CPU_SET_INFO( h8 ) { h83xx_state *h8 = device->token; @@ -546,8 +542,8 @@ CPU_GET_INFO( h8_3002 ) switch(state) { // Interface functions and variables case CPUINFO_PTR_SET_INFO: info->setinfo = CPU_SET_INFO_NAME(h8); break; - case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(h8); break; - case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(h8); break; + case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(dummy); break; + case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(dummy); break; case CPUINFO_PTR_INIT: info->init = CPU_INIT_NAME(h8); break; case CPUINFO_PTR_RESET: info->reset = CPU_RESET_NAME(h8); break; case CPUINFO_PTR_EXIT: info->exit = 0; break; diff --git a/src/emu/cpu/h83002/h8_8.c b/src/emu/cpu/h83002/h8_8.c index 71f9562dfc2..7e11a663f8b 100644 --- a/src/emu/cpu/h83002/h8_8.c +++ b/src/emu/cpu/h83002/h8_8.c @@ -349,10 +349,6 @@ static void h8_check_irqs(h83xx_state *h8) // MAME interface stuff -static CPU_GET_CONTEXT( h8 ) { } - -static CPU_SET_CONTEXT( h8 ) { } - static CPU_SET_INFO( h8 ) { h83xx_state *h8 = device->token; @@ -522,8 +518,8 @@ CPU_GET_INFO( h8_3334 ) switch(state) { // Interface functions and variables case CPUINFO_PTR_SET_INFO: info->setinfo = CPU_SET_INFO_NAME(h8); break; - case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(h8); break; - case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(h8); break; + case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(dummy); break; + case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(dummy); break; case CPUINFO_PTR_INIT: info->init = CPU_INIT_NAME(h8bit); break; case CPUINFO_PTR_RESET: info->reset = CPU_RESET_NAME(h8bit); break; case CPUINFO_PTR_EXIT: info->exit = 0; break; diff --git a/src/emu/cpu/hd6309/hd6309.c b/src/emu/cpu/hd6309/hd6309.c index f6e916d47da..1f4cf600825 100644 --- a/src/emu/cpu/hd6309/hd6309.c +++ b/src/emu/cpu/hd6309/hd6309.c @@ -494,16 +494,6 @@ static void check_irq_lines( m68_state_t *m68_state ) -/**************************************************************************** - * Get all registers in given buffer - ****************************************************************************/ -static CPU_GET_CONTEXT( hd6309 ) { } - -/**************************************************************************** - * Set all registers to given values - ****************************************************************************/ -static CPU_SET_CONTEXT( hd6309 ) { } - static STATE_POSTLOAD( hd6309_postload ) { const device_config *device = param; @@ -1309,8 +1299,8 @@ CPU_GET_INFO( hd6309 ) /* --- the following bits of info are returned as pointers to data or functions --- */ case CPUINFO_PTR_SET_INFO: info->setinfo = CPU_SET_INFO_NAME(hd6309); break; - case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(hd6309); break; - case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(hd6309); break; + case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(dummy); break; + case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(dummy); break; case CPUINFO_PTR_INIT: info->init = CPU_INIT_NAME(hd6309); break; case CPUINFO_PTR_RESET: info->reset = CPU_RESET_NAME(hd6309); break; case CPUINFO_PTR_EXIT: info->exit = CPU_EXIT_NAME(hd6309); break; diff --git a/src/emu/cpu/i8x41/i8x41.c b/src/emu/cpu/i8x41/i8x41.c index eec1b47407d..559f1e1ac16 100644 --- a/src/emu/cpu/i8x41/i8x41.c +++ b/src/emu/cpu/i8x41/i8x41.c @@ -1008,19 +1008,6 @@ static CPU_EXECUTE( i8x41 ) } -/**************************************************************************** - * Get all registers in given buffer - ****************************************************************************/ - -static CPU_GET_CONTEXT( i8x41 ) { } - - -/**************************************************************************** - * Set all registers to given values - ****************************************************************************/ - -static CPU_SET_CONTEXT( i8x41 ) { } - /**************************************************************************** * Set IRQ line state ****************************************************************************/ @@ -1267,8 +1254,8 @@ CPU_GET_INFO( i8041 ) /* --- the following bits of info are returned as pointers to data or functions --- */ case CPUINFO_PTR_SET_INFO: info->setinfo = CPU_SET_INFO_NAME(i8x41); break; - case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(i8x41); break; - case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(i8x41); break; + case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(dummy); break; + case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(dummy); break; case CPUINFO_PTR_INIT: info->init = CPU_INIT_NAME(i8x41); break; case CPUINFO_PTR_RESET: info->reset = CPU_RESET_NAME(i8x41); break; case CPUINFO_PTR_EXIT: info->exit = CPU_EXIT_NAME(i8x41); break; diff --git a/src/emu/cpu/i960/i960.c b/src/emu/cpu/i960/i960.c index d6c44171f92..7c0349166b0 100644 --- a/src/emu/cpu/i960/i960.c +++ b/src/emu/cpu/i960/i960.c @@ -1958,10 +1958,6 @@ static CPU_EXECUTE( i960 ) return cycles - i960->icount; } -static CPU_GET_CONTEXT( i960 ) { } - -static CPU_SET_CONTEXT( i960 ) { } - static void set_irq_line(i960_state_t *i960, int irqline, int state) { int int_tab = memory_read_dword_32le(i960->program, i960->PRCB+20); // interrupt table @@ -2118,8 +2114,8 @@ CPU_GET_INFO( i960 ) switch(state) { // Interface functions and variables case CPUINFO_PTR_SET_INFO: info->setinfo = CPU_SET_INFO_NAME(i960); break; - case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(i960); break; - case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(i960); break; + case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(dummy); break; + case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(dummy); break; case CPUINFO_PTR_INIT: info->init = CPU_INIT_NAME(i960); break; case CPUINFO_PTR_RESET: info->reset = CPU_RESET_NAME(i960); break; case CPUINFO_PTR_EXIT: info->exit = 0; break; diff --git a/src/emu/cpu/jaguar/jaguar.c b/src/emu/cpu/jaguar/jaguar.c index a77397dfd76..38b96b10430 100644 --- a/src/emu/cpu/jaguar/jaguar.c +++ b/src/emu/cpu/jaguar/jaguar.c @@ -340,15 +340,6 @@ static void set_irq_line(jaguar_state *jaguar, int irqline, int state) -/*************************************************************************** - CONTEXT SWITCHING -***************************************************************************/ - -static CPU_GET_CONTEXT( jaguar ) { } - -static CPU_SET_CONTEXT( jaguar ) { } - - /*************************************************************************** INITIALIZATION AND SHUTDOWN ***************************************************************************/ @@ -1577,8 +1568,8 @@ CPU_GET_INFO( jaguargpu ) /* --- the following bits of info are returned as pointers to data or functions --- */ case CPUINFO_PTR_SET_INFO: info->setinfo = CPU_SET_INFO_NAME(jaguargpu); break; - case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(jaguar); break; - case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(jaguar); break; + case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(dummy); break; + case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(dummy); break; case CPUINFO_PTR_INIT: info->init = CPU_INIT_NAME(jaguargpu); break; case CPUINFO_PTR_RESET: info->reset = CPU_RESET_NAME(jaguar); break; case CPUINFO_PTR_EXIT: info->exit = CPU_EXIT_NAME(jaguar); break; diff --git a/src/emu/cpu/konami/konami.c b/src/emu/cpu/konami/konami.c index 48f2d762414..c99ba56e1ef 100644 --- a/src/emu/cpu/konami/konami.c +++ b/src/emu/cpu/konami/konami.c @@ -386,16 +386,6 @@ static void check_irq_lines(konami_state *cpustate) } -/**************************************************************************** - * Get all registers in given buffer - ****************************************************************************/ -static CPU_GET_CONTEXT( konami ) { } - -/**************************************************************************** - * Set all registers to given values - ****************************************************************************/ -static CPU_SET_CONTEXT( konami ) { } - /****************************************************************************/ /* Reset registers to their initial values */ /****************************************************************************/ @@ -589,8 +579,8 @@ CPU_GET_INFO( konami ) /* --- the following bits of info are returned as pointers to data or functions --- */ case CPUINFO_PTR_SET_INFO: info->setinfo = CPU_SET_INFO_NAME(konami); break; - case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(konami);break; - case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(konami);break; + case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(dummy);break; + case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(dummy);break; case CPUINFO_PTR_INIT: info->init = CPU_INIT_NAME(konami); break; case CPUINFO_PTR_RESET: info->reset = CPU_RESET_NAME(konami); break; case CPUINFO_PTR_EXIT: info->exit = CPU_EXIT_NAME(konami); break; diff --git a/src/emu/cpu/m37710/m37710.c b/src/emu/cpu/m37710/m37710.c index bc0e175e6c7..749f4119722 100644 --- a/src/emu/cpu/m37710/m37710.c +++ b/src/emu/cpu/m37710/m37710.c @@ -859,12 +859,6 @@ static CPU_EXECUTE( m37710 ) } -/* Get the current CPU context */ -static CPU_GET_CONTEXT( m37710 ) { } - -/* Set the current CPU context */ -static CPU_SET_CONTEXT( m37710 ) { } - /* Set the Program Counter */ static void m37710_set_pc(m37710i_cpu_struct *cpustate, unsigned val) { @@ -1119,8 +1113,8 @@ CPU_GET_INFO( m37710 ) /* --- the following bits of info are returned as pointers to data or functions --- */ case CPUINFO_PTR_SET_INFO: info->setinfo = CPU_SET_INFO_NAME(m37710); break; - case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(m37710); break; - case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(m37710); break; + case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(dummy); break; + case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(dummy); break; case CPUINFO_PTR_INIT: info->init = CPU_INIT_NAME(m37710); break; case CPUINFO_PTR_RESET: info->reset = CPU_RESET_NAME(m37710); break; case CPUINFO_PTR_EXIT: info->exit = CPU_EXIT_NAME(m37710); break; diff --git a/src/emu/cpu/m37710/m37710op.h b/src/emu/cpu/m37710/m37710op.h index 8dd36694f86..3d5121d5d82 100644 --- a/src/emu/cpu/m37710/m37710op.h +++ b/src/emu/cpu/m37710/m37710op.h @@ -2864,8 +2864,6 @@ TABLE_FUNCTION(void, set_line, (m37710i_cpu_struct *cpustate, int line, int stat return; break; case ASSERT_LINE: - case PULSE_LINE: - case HOLD_LINE: LINE_IRQ |= (1 << line); if (m37710_irq_levels[line]) { diff --git a/src/emu/cpu/m6502/m65ce02.c b/src/emu/cpu/m6502/m65ce02.c index 436f2af8b69..f71a90061cf 100644 --- a/src/emu/cpu/m6502/m65ce02.c +++ b/src/emu/cpu/m6502/m65ce02.c @@ -127,10 +127,6 @@ static CPU_EXIT( m65ce02 ) /* nothing to do yet */ } -static CPU_GET_CONTEXT( m65ce02 ) { } - -static CPU_SET_CONTEXT( m65ce02 ) { } - INLINE void m65ce02_take_irq(m65ce02_Regs *cpustate) { if( !(P & F_I) ) @@ -312,8 +308,8 @@ CPU_GET_INFO( m65ce02 ) /* --- the following bits of info are returned as pointers to data or functions --- */ case CPUINFO_PTR_SET_INFO: info->setinfo = CPU_SET_INFO_NAME(m65ce02); break; - case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(m65ce02); break; - case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(m65ce02); break; + case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(dummy); break; + case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(dummy); break; case CPUINFO_PTR_INIT: info->init = CPU_INIT_NAME(m65ce02); break; case CPUINFO_PTR_RESET: info->reset = CPU_RESET_NAME(m65ce02); break; case CPUINFO_PTR_EXIT: info->exit = CPU_EXIT_NAME(m65ce02); break; diff --git a/src/emu/cpu/m6800/m6800.c b/src/emu/cpu/m6800/m6800.c index f2da826e9bc..45798ba1847 100644 --- a/src/emu/cpu/m6800/m6800.c +++ b/src/emu/cpu/m6800/m6800.c @@ -107,6 +107,7 @@ struct _m6800_state UINT8 cc; /* Condition codes */ UINT8 wai_state; /* WAI opcode state ,(or sleep opcode state) */ UINT8 nmi_state; /* NMI line state */ + UINT8 nmi_pending; /* NMI pending */ UINT8 irq_state[2]; /* IRQ line state [IRQ1,TIN] */ UINT8 ic_eddge; /* InputCapture eddge , b.0=fall,b.1=raise */ @@ -118,7 +119,6 @@ struct _m6800_state const address_space *data; const address_space *io; - int extra_cycles; /* cycles used for interrupts */ void (* const * insn)(m6800_state *); /* instruction table */ const UINT8 *cycles; /* clock cycle of instruction table */ /* internal registers */ @@ -536,7 +536,7 @@ static void enter_interrupt(m6800_state *cpustate, const char *message,UINT16 ir if( cpustate->wai_state & (M6800_WAI|M6800_SLP) ) { if( cpustate->wai_state & M6800_WAI ) - cpustate->extra_cycles += 4; + cpustate->icount -= 4; cpustate->wai_state &= ~(M6800_WAI|M6800_SLP); } else @@ -546,7 +546,7 @@ static void enter_interrupt(m6800_state *cpustate, const char *message,UINT16 ir PUSHBYTE(A); PUSHBYTE(B); PUSHBYTE(CC); - cpustate->extra_cycles += 12; + cpustate->icount -= 12; } SEI; PCD = RM16(cpustate, irq_vector ); @@ -582,7 +582,12 @@ static void m6800_check_irq2(m6800_state *cpustate) /* check the IRQ lines for pending interrupts */ INLINE void CHECK_IRQ_LINES(m6800_state *cpustate) { - if( !(CC & 0x10) ) + if (cpustate->nmi_pending) + { + cpustate->nmi_pending = FALSE; + enter_interrupt(cpustate, "M6800 '%s' take NMI\n",0xfffc); + } + else if( !(CC & 0x10) ) { if( cpustate->irq_state[M6800_IRQ_LINE] != CLEAR_LINE ) { /* standard IRQ */ @@ -845,6 +850,7 @@ static void state_register(m6800_state *cpustate, const char *type) state_save_register_device_item(cpustate->device, 0, cpustate->cc); state_save_register_device_item(cpustate->device, 0, cpustate->wai_state); state_save_register_device_item(cpustate->device, 0, cpustate->nmi_state); + state_save_register_device_item(cpustate->device, 0, cpustate->nmi_pending); state_save_register_device_item_array(cpustate->device, 0, cpustate->irq_state); state_save_register_device_item(cpustate->device, 0, cpustate->ic_eddge); @@ -905,6 +911,7 @@ static CPU_RESET( m6800 ) cpustate->wai_state = 0; cpustate->nmi_state = 0; + cpustate->nmi_pending = 0; cpustate->irq_state[M6800_IRQ_LINE] = 0; cpustate->irq_state[M6800_TIN_LINE] = 0; cpustate->ic_eddge = 0; @@ -937,51 +944,24 @@ static CPU_EXIT( m6800 ) /* nothing to do */ } -/**************************************************************************** - * Get all registers in given buffer - ****************************************************************************/ -static CPU_GET_CONTEXT( m6800 ) -{ -} - - -/**************************************************************************** - * Set all registers to given values - ****************************************************************************/ -static CPU_SET_CONTEXT( m6800 ) -{ - m6800_state *cpustate = src; - - CHECK_IRQ_LINES(cpustate); /* HJB 990417 */ -} - static void set_irq_line(m6800_state *cpustate, int irqline, int state) { if (irqline == INPUT_LINE_NMI) { - if (cpustate->nmi_state == state) return; - LOG(("M6800 '%s' set_nmi_line %d \n", cpustate->device->tag, state)); + if (!cpustate->nmi_state && state != CLEAR_LINE) + cpustate->nmi_pending = TRUE; cpustate->nmi_state = state; - if (state == CLEAR_LINE) return; - - /* NMI */ - enter_interrupt(cpustate, "M6800 '%s' take NMI\n",0xfffc); } else { int eddge; - if (cpustate->irq_state[irqline] == state) return; LOG(("M6800 '%s' set_irq_line %d,%d\n", cpustate->device->tag, irqline, state)); cpustate->irq_state[irqline] = state; - switch(irqline) + if (irqline == M6800_TIN_LINE && state != cpustate->irq_state[irqline]) { - case M6800_IRQ_LINE: - if (state == CLEAR_LINE) return; - break; - case M6800_TIN_LINE: eddge = (state == CLEAR_LINE ) ? 2 : 0; if( ((cpustate->tcsr&TCSR_IEDG) ^ (state==CLEAR_LINE ? TCSR_IEDG : 0))==0 ) return; @@ -990,13 +970,7 @@ static void set_irq_line(m6800_state *cpustate, int irqline, int state) cpustate->pending_tcsr |= TCSR_ICF; cpustate->input_capture = CT; MODIFIED_tcsr; - if( !(CC & 0x10) ) - m6800_check_irq2(cpustate); - break; - default: - return; } - CHECK_IRQ_LINES(cpustate); /* HJB 990417 */ } } @@ -1276,9 +1250,9 @@ static CPU_EXECUTE( m6800 ) UINT8 ireg; cpustate->icount = cycles; + CHECK_IRQ_LINES(cpustate); /* HJB 990417 */ + CLEANUP_COUNTERS(); - increment_counter(cpustate, cpustate->extra_cycles); - cpustate->extra_cycles = 0; do { @@ -1297,9 +1271,6 @@ static CPU_EXECUTE( m6800 ) } } while( cpustate->icount>0 ); - increment_counter(cpustate, cpustate->extra_cycles); - cpustate->extra_cycles = 0; - return cycles - cpustate->icount; } @@ -1651,9 +1622,9 @@ static CPU_EXECUTE( m6803 ) UINT8 ireg; cpustate->icount = cycles; + CHECK_IRQ_LINES(cpustate); /* HJB 990417 */ + CLEANUP_COUNTERS(); - increment_counter(cpustate, cpustate->extra_cycles); - cpustate->extra_cycles = 0; do { @@ -1672,9 +1643,6 @@ static CPU_EXECUTE( m6803 ) } } while( cpustate->icount>0 ); - increment_counter(cpustate, cpustate->extra_cycles); - cpustate->extra_cycles = 0; - return cycles - cpustate->icount; } #endif @@ -2014,9 +1982,9 @@ static CPU_EXECUTE( hd63701 ) UINT8 ireg; cpustate->icount = cycles; + CHECK_IRQ_LINES(cpustate); /* HJB 990417 */ + CLEANUP_COUNTERS(); - increment_counter(cpustate, cpustate->extra_cycles); - cpustate->extra_cycles = 0; do { @@ -2035,9 +2003,6 @@ static CPU_EXECUTE( hd63701 ) } } while( cpustate->icount>0 ); - increment_counter(cpustate, cpustate->extra_cycles); - cpustate->extra_cycles = 0; - return cycles - cpustate->icount; } @@ -2365,9 +2330,9 @@ static CPU_EXECUTE( nsc8105 ) UINT8 ireg; cpustate->icount = cycles; + CHECK_IRQ_LINES(cpustate); /* HJB 990417 */ + CLEANUP_COUNTERS(); - increment_counter(cpustate, cpustate->extra_cycles); - cpustate->extra_cycles = 0; do { @@ -2386,9 +2351,6 @@ static CPU_EXECUTE( nsc8105 ) } } while( cpustate->icount>0 ); - increment_counter(cpustate, cpustate->extra_cycles); - cpustate->extra_cycles = 0; - return cycles - cpustate->icount; } #endif @@ -2763,8 +2725,8 @@ CPU_GET_INFO( m6800 ) /* --- the following bits of info are returned as pointers to data or functions --- */ case CPUINFO_PTR_SET_INFO: info->setinfo = CPU_SET_INFO_NAME(m6800); break; - case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(m6800); break; - case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(m6800); break; + case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(dummy); break; + case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(dummy); break; case CPUINFO_PTR_INIT: info->init = CPU_INIT_NAME(m6800); break; case CPUINFO_PTR_RESET: info->reset = CPU_RESET_NAME(m6800); break; case CPUINFO_PTR_EXIT: info->exit = CPU_EXIT_NAME(m6800); break; diff --git a/src/emu/cpu/m68000/m68kcpu.c b/src/emu/cpu/m68000/m68kcpu.c index faf8012cdc1..eb31a8afe34 100644 --- a/src/emu/cpu/m68000/m68kcpu.c +++ b/src/emu/cpu/m68000/m68kcpu.c @@ -572,10 +572,6 @@ static CPU_RESET( m68k ) m68k->run_mode = RUN_MODE_NORMAL; } -static CPU_GET_CONTEXT( m68k ) { } - -static CPU_SET_CONTEXT( m68k ) { } - static CPU_DISASSEMBLE( m68k ) { m68ki_cpu_core *m68k = device->token; @@ -650,8 +646,8 @@ static CPU_GET_INFO( m68k ) /* --- the following bits of info are returned as pointers to data or functions --- */ case CPUINFO_PTR_SET_INFO: /* set per-core */ break; - case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(m68k); break; - case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(m68k); break; + case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(dummy); break; + case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(dummy); break; case CPUINFO_PTR_INIT: /* set per-core */ break; case CPUINFO_PTR_RESET: info->reset = CPU_RESET_NAME(m68k); break; case CPUINFO_PTR_EXECUTE: info->execute = CPU_EXECUTE_NAME(m68k); break; diff --git a/src/emu/cpu/m6805/m6805.c b/src/emu/cpu/m6805/m6805.c index 85db7cdc491..83b8adae929 100644 --- a/src/emu/cpu/m6805/m6805.c +++ b/src/emu/cpu/m6805/m6805.c @@ -466,16 +466,6 @@ static CPU_EXIT( m6805 ) /* nothing to do */ } -/**************************************************************************** - * Get all registers in given buffer - ****************************************************************************/ -static CPU_GET_CONTEXT( m6805 ) { } - -/**************************************************************************** - * Set all registers to given values - ****************************************************************************/ -static CPU_SET_CONTEXT( m6805 ) { } - static void set_irq_line( m6805_Regs *cpustate, int irqline, int state ) { @@ -937,8 +927,8 @@ CPU_GET_INFO( m6805 ) /* --- the following bits of info are returned as pointers to data or functions --- */ case CPUINFO_PTR_SET_INFO: info->setinfo = CPU_SET_INFO_NAME(m6805); break; - case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(m6805); break; - case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(m6805); break; + case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(dummy); break; + case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(dummy); break; case CPUINFO_PTR_INIT: info->init = CPU_INIT_NAME(m6805); break; case CPUINFO_PTR_RESET: info->reset = CPU_RESET_NAME(m6805); break; case CPUINFO_PTR_EXIT: info->exit = CPU_EXIT_NAME(m6805); break; diff --git a/src/emu/cpu/m6809/m6809.c b/src/emu/cpu/m6809/m6809.c index 5eacf3d915a..cd6a76d8271 100644 --- a/src/emu/cpu/m6809/m6809.c +++ b/src/emu/cpu/m6809/m6809.c @@ -355,17 +355,6 @@ static void check_irq_lines(m68_state_t *m68_state) -/**************************************************************************** - * Get all registers in given buffer - ****************************************************************************/ -static CPU_GET_CONTEXT( m6809 ) { } - -/**************************************************************************** - * Set all registers to given values - ****************************************************************************/ -static CPU_SET_CONTEXT( m6809 ) { } - - /****************************************************************************/ /* Reset registers to their initial values */ /****************************************************************************/ @@ -1148,8 +1137,8 @@ CPU_GET_INFO( m6809 ) /* --- the following bits of info are returned as pointers to data or functions --- */ case CPUINFO_PTR_SET_INFO: info->setinfo = CPU_SET_INFO_NAME(m6809); break; - case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(m6809); break; - case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(m6809); break; + case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(dummy); break; + case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(dummy); break; case CPUINFO_PTR_INIT: info->init = CPU_INIT_NAME(m6809); break; case CPUINFO_PTR_RESET: info->reset = CPU_RESET_NAME(m6809); break; case CPUINFO_PTR_EXIT: info->exit = CPU_EXIT_NAME(m6809); break; diff --git a/src/emu/cpu/mcs48/mcs48.c b/src/emu/cpu/mcs48/mcs48.c index 47762719e7c..fb5dc1b53e9 100644 --- a/src/emu/cpu/mcs48/mcs48.c +++ b/src/emu/cpu/mcs48/mcs48.c @@ -984,22 +984,6 @@ ADDRESS_MAP_END GENERAL CONTEXT ACCESS ***************************************************************************/ -/*------------------------------------------------- - mcs48_get_context - copy the context to the - destination --------------------------------------------------*/ - -static CPU_GET_CONTEXT( mcs48 ) { } - - -/*------------------------------------------------- - mcs48_set_context - set the current context - from the source --------------------------------------------------*/ - -static CPU_SET_CONTEXT( mcs48 ) { } - - /*------------------------------------------------- mcs48_set_info - set a piece of information on the CPU core @@ -1093,8 +1077,8 @@ static CPU_GET_INFO( mcs48 ) /* --- the following bits of info are returned as pointers to data or functions --- */ case CPUINFO_PTR_SET_INFO: info->setinfo = CPU_SET_INFO_NAME(mcs48); break; - case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(mcs48); break; - case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(mcs48); break; + case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(dummy); break; + case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(dummy); break; case CPUINFO_PTR_INIT: /*info->init = CPU_INIT_NAME(i8039);*/ break; case CPUINFO_PTR_RESET: info->reset = CPU_RESET_NAME(mcs48); break; case CPUINFO_PTR_EXECUTE: info->execute = CPU_EXECUTE_NAME(mcs48); break; diff --git a/src/emu/cpu/mcs51/mcs51.c b/src/emu/cpu/mcs51/mcs51.c index 9d829ac5fa5..dfd984d727d 100644 --- a/src/emu/cpu/mcs51/mcs51.c +++ b/src/emu/cpu/mcs51/mcs51.c @@ -2410,14 +2410,6 @@ static ADDRESS_MAP_START(data_8bit, ADDRESS_SPACE_DATA, 8) ADDRESS_MAP_END -/*************************************************************************** - GENERAL CONTEXT ACCESS -***************************************************************************/ - -static CPU_GET_CONTEXT( mcs51 ) { } - -static CPU_SET_CONTEXT( mcs51 ) { } - /************************************************************************** * Generic set_info **************************************************************************/ @@ -2516,8 +2508,8 @@ static CPU_GET_INFO( mcs51 ) /* --- the following bits of info are returned as pointers to data or functions --- */ case CPUINFO_PTR_SET_INFO: info->setinfo = CPU_SET_INFO_NAME(mcs51); break; - case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(mcs51); break; - case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(mcs51); break; + case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(dummy); break; + case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(dummy); break; case CPUINFO_PTR_INIT: info->init = CPU_INIT_NAME(mcs51); break; case CPUINFO_PTR_RESET: info->reset = CPU_RESET_NAME(mcs51); break; case CPUINFO_PTR_EXIT: info->exit = CPU_EXIT_NAME(mcs51); break; diff --git a/src/emu/cpu/minx/minx.c b/src/emu/cpu/minx/minx.c index 5bea3e2588e..3368dd16fb8 100644 --- a/src/emu/cpu/minx/minx.c +++ b/src/emu/cpu/minx/minx.c @@ -210,11 +210,6 @@ static CPU_BURN( minx ) } -static CPU_GET_CONTEXT( minx ) { } - -static CPU_SET_CONTEXT( minx ) { } - - static unsigned minx_get_reg( int regnum ) { switch( regnum ) @@ -345,8 +340,8 @@ CPU_GET_INFO( minx ) case CPUINFO_INT_REGISTER + MINX_YI: info->i = minx_get_reg( state - CPUINFO_INT_REGISTER ); break; case CPUINFO_INT_PREVIOUSPC: info->i = 0x0000; break; case CPUINFO_PTR_SET_INFO: info->setinfo = CPU_SET_INFO_NAME(minx); break; - case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(minx); break; - case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(minx); break; + case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(dummy); break; + case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(dummy); break; case CPUINFO_PTR_INIT: info->init = CPU_INIT_NAME(minx); break; case CPUINFO_PTR_RESET: info->reset = CPU_RESET_NAME(minx); break; case CPUINFO_PTR_EXIT: info->exit = CPU_EXIT_NAME(minx); break; diff --git a/src/emu/cpu/mips/mips3drc.c b/src/emu/cpu/mips/mips3drc.c index b4afc2120e4..c4f77bd3d1b 100644 --- a/src/emu/cpu/mips/mips3drc.c +++ b/src/emu/cpu/mips/mips3drc.c @@ -539,22 +539,6 @@ static CPU_EXIT( mips3 ) } -/*------------------------------------------------- - mips3_get_context - return a copy of the - current context --------------------------------------------------*/ - -static CPU_GET_CONTEXT( mips3 ) { } - - -/*------------------------------------------------- - mips3_set_context - copy the current context - into the global state --------------------------------------------------*/ - -static CPU_SET_CONTEXT( mips3 ) { } - - /*------------------------------------------------- mips3_translate - perform virtual-to-physical address translation @@ -626,8 +610,8 @@ static CPU_GET_INFO( mips3 ) /* --- the following bits of info are returned as pointers to data or functions --- */ case CPUINFO_PTR_SET_INFO: info->setinfo = CPU_SET_INFO_NAME(mips3); break; - case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(mips3); break; - case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(mips3); break; + case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(dummy); break; + case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(dummy); break; case CPUINFO_PTR_INIT: /* provided per-CPU */ break; case CPUINFO_PTR_RESET: info->reset = CPU_RESET_NAME(mips3); break; case CPUINFO_PTR_EXIT: info->exit = CPU_EXIT_NAME(mips3); break; diff --git a/src/emu/cpu/mips/psx.c b/src/emu/cpu/mips/psx.c index d4921aedd01..c0aa550fa4f 100644 --- a/src/emu/cpu/mips/psx.c +++ b/src/emu/cpu/mips/psx.c @@ -2835,10 +2835,6 @@ static CPU_EXECUTE( psxcpu ) return cycles - psxcpu->icount; } -static CPU_GET_CONTEXT( psxcpu ) { } - -static CPU_SET_CONTEXT( psxcpu ) { } - static void set_irq_line( psxcpu_state *psxcpu, int irqline, int state ) { UINT32 ip; @@ -4192,8 +4188,8 @@ CPU_GET_INFO( psxcpu ) /* --- the following bits of info are returned as pointers to data or functions --- */ case CPUINFO_PTR_SET_INFO: info->setinfo = CPU_SET_INFO_NAME(psxcpu); break; - case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(psxcpu); break; - case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(psxcpu); break; + case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(dummy); break; + case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(dummy); break; case CPUINFO_PTR_INIT: info->init = CPU_INIT_NAME(psxcpu); break; case CPUINFO_PTR_RESET: info->reset = CPU_RESET_NAME(psxcpu); break; case CPUINFO_PTR_EXIT: info->exit = CPU_EXIT_NAME(psxcpu); break; diff --git a/src/emu/cpu/mips/r3000.c b/src/emu/cpu/mips/r3000.c index dab1beb1c8f..844c2ec6496 100644 --- a/src/emu/cpu/mips/r3000.c +++ b/src/emu/cpu/mips/r3000.c @@ -280,17 +280,6 @@ static void set_irq_line(r3000_state *r3000, int irqline, int state) -/*************************************************************************** - CONTEXT SWITCHING -***************************************************************************/ - -static CPU_GET_CONTEXT( r3000 ) { } - - -static CPU_SET_CONTEXT( r3000 ) { } - - - /*************************************************************************** INITIALIZATION AND SHUTDOWN ***************************************************************************/ @@ -1253,8 +1242,8 @@ static CPU_GET_INFO( r3000 ) /* --- the following bits of info are returned as pointers to data or functions --- */ case CPUINFO_PTR_SET_INFO: info->setinfo = CPU_SET_INFO_NAME(r3000); break; - case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(r3000); break; - case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(r3000); break; + case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(dummy); break; + case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(dummy); break; case CPUINFO_PTR_INIT: info->init = CPU_INIT_NAME(r3000); break; case CPUINFO_PTR_RESET: /* provided per-CPU */ break; case CPUINFO_PTR_EXIT: info->exit = CPU_EXIT_NAME(r3000); break; diff --git a/src/emu/cpu/nec/nec.c b/src/emu/cpu/nec/nec.c index afa0309b7d8..90918064fa1 100644 --- a/src/emu/cpu/nec/nec.c +++ b/src/emu/cpu/nec/nec.c @@ -1048,10 +1048,6 @@ static void i_invalid(nec_state_t *nec_state) /*****************************************************************************/ -static CPU_GET_CONTEXT( nec ) { } - -static CPU_SET_CONTEXT( nec ) { } - static void set_irq_line(nec_state_t *nec_state, int irqline, int state) { if (irqline == INPUT_LINE_NMI) @@ -1373,8 +1369,8 @@ static CPU_GET_INFO( nec ) /* --- the following bits of info are returned as pointers to data or functions --- */ case CPUINFO_PTR_SET_INFO: info->setinfo = CPU_SET_INFO_NAME(nec); break; - case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(nec); break; - case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(nec); break; + case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(dummy); break; + case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(dummy); break; case CPUINFO_PTR_INIT: /* set per-CPU */ break; case CPUINFO_PTR_RESET: info->reset = CPU_RESET_NAME(nec); break; case CPUINFO_PTR_EXIT: info->exit = CPU_EXIT_NAME(nec); break; diff --git a/src/emu/cpu/pdp1/tx0.c b/src/emu/cpu/pdp1/tx0.c index c2825709c8b..7801a995e35 100644 --- a/src/emu/cpu/pdp1/tx0.c +++ b/src/emu/cpu/pdp1/tx0.c @@ -152,13 +152,6 @@ static CPU_RESET( tx0 ) cpustate->gbl_cm_sel = 1; /* HACK */ } -static CPU_GET_CONTEXT( tx0 ) -{ -} - -static CPU_SET_CONTEXT( tx0 ) { } - - /* execute instructions on this CPU until icount expires */ static CPU_EXECUTE( tx0_64kw ) { @@ -502,8 +495,8 @@ CPU_GET_INFO( tx0_64kw ) /* --- the following bits of info are returned as pointers to data or functions --- */ case CPUINFO_PTR_SET_INFO: info->setinfo = CPU_SET_INFO_NAME(tx0); break; - case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(tx0); break; - case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(tx0); break; + case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(dummy); break; + case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(dummy); break; case CPUINFO_PTR_INIT: info->init = CPU_INIT_NAME(tx0_64kw); break; case CPUINFO_PTR_RESET: info->reset = CPU_RESET_NAME(tx0); break; case CPUINFO_PTR_EXECUTE: info->execute = CPU_EXECUTE_NAME(tx0_64kw); break; @@ -630,8 +623,8 @@ CPU_GET_INFO( tx0_8kw ) /* --- the following bits of info are returned as pointers to data or functions --- */ case CPUINFO_PTR_SET_INFO: info->setinfo = CPU_SET_INFO_NAME(tx0); break; - case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(tx0); break; - case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(tx0); break; + case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(dummy); break; + case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(dummy); break; case CPUINFO_PTR_INIT: info->init = CPU_INIT_NAME(tx0_8kw); break; case CPUINFO_PTR_RESET: info->reset = CPU_RESET_NAME(tx0); break; case CPUINFO_PTR_EXECUTE: info->execute = CPU_EXECUTE_NAME(tx0_8kw); break; diff --git a/src/emu/cpu/powerpc/ppcdrc.c b/src/emu/cpu/powerpc/ppcdrc.c index cd1d1e29dbe..cc6463151d3 100644 --- a/src/emu/cpu/powerpc/ppcdrc.c +++ b/src/emu/cpu/powerpc/ppcdrc.c @@ -734,22 +734,6 @@ static CPU_EXIT( ppcdrc ) } -/*------------------------------------------------- - ppcdrc_get_context - return a copy of the - current context --------------------------------------------------*/ - -static CPU_GET_CONTEXT( ppcdrc ) { } - - -/*------------------------------------------------- - ppcdrc_set_context - copy the current context - into the global state --------------------------------------------------*/ - -static CPU_SET_CONTEXT( ppcdrc ) { } - - /*------------------------------------------------- ppcdrc_translate - perform virtual-to-physical address translation @@ -821,8 +805,8 @@ static CPU_GET_INFO( ppcdrc ) /* --- the following bits of info are returned as pointers to data or functions --- */ case CPUINFO_PTR_SET_INFO: info->setinfo = CPU_SET_INFO_NAME(ppcdrc); break; - case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(ppcdrc);break; - case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(ppcdrc);break; + case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(dummy);break; + case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(dummy);break; case CPUINFO_PTR_INIT: /* provided per-CPU */ break; case CPUINFO_PTR_RESET: info->reset = CPU_RESET_NAME(ppcdrc); break; case CPUINFO_PTR_EXIT: info->exit = CPU_EXIT_NAME(ppcdrc); break; diff --git a/src/emu/cpu/s2650/s2650.c b/src/emu/cpu/s2650/s2650.c index 5fbbf824be4..30be208084f 100644 --- a/src/emu/cpu/s2650/s2650.c +++ b/src/emu/cpu/s2650/s2650.c @@ -806,10 +806,6 @@ static CPU_EXIT( s2650 ) /* nothing to do */ } -static CPU_GET_CONTEXT( s2650 ) { } - -static CPU_SET_CONTEXT( s2650 ) { } - static void set_irq_line(s2650_regs *s2650c, int irqline, int state) { if (irqline == 1) @@ -1561,8 +1557,8 @@ CPU_GET_INFO( s2650 ) /* --- the following bits of info are returned as pointers to data or functions --- */ case CPUINFO_PTR_SET_INFO: info->setinfo = CPU_SET_INFO_NAME(s2650); break; - case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(s2650); break; - case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(s2650); break; + case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(dummy); break; + case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(dummy); break; case CPUINFO_PTR_INIT: info->init = CPU_INIT_NAME(s2650); break; case CPUINFO_PTR_RESET: info->reset = CPU_RESET_NAME(s2650); break; case CPUINFO_PTR_EXIT: info->exit = CPU_EXIT_NAME(s2650); break; diff --git a/src/emu/cpu/se3208/se3208.c b/src/emu/cpu/se3208/se3208.c index ea1ad21db43..baea21e1ea9 100644 --- a/src/emu/cpu/se3208/se3208.c +++ b/src/emu/cpu/se3208/se3208.c @@ -1793,10 +1793,6 @@ static CPU_EXIT( SE3208 ) } -static CPU_GET_CONTEXT( SE3208 ) { } - -static CPU_SET_CONTEXT( SE3208 ) { } - static void set_irq_line(se3208_state_t *se3208_state, int line,int state) { if(line==INPUT_LINE_NMI) //NMI @@ -1884,8 +1880,8 @@ CPU_GET_INFO( SE3208 ) /* --- the following bits of info are returned as pointers to data or functions --- */ case CPUINFO_PTR_SET_INFO: info->setinfo = CPU_SET_INFO_NAME(SE3208); break; - case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(SE3208); break; - case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(SE3208); break; + case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(dummy); break; + case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(dummy); break; case CPUINFO_PTR_INIT: info->init = CPU_INIT_NAME(SE3208); break; case CPUINFO_PTR_RESET: info->reset = CPU_RESET_NAME(SE3208); break; case CPUINFO_PTR_EXIT: info->exit = CPU_EXIT_NAME(SE3208); break; diff --git a/src/emu/cpu/sharc/sharc.c b/src/emu/cpu/sharc/sharc.c index 5476fb6a140..34360412a61 100644 --- a/src/emu/cpu/sharc/sharc.c +++ b/src/emu/cpu/sharc/sharc.c @@ -604,10 +604,6 @@ static CPU_EXIT( sharc ) /* TODO */ } -static CPU_GET_CONTEXT( sharc ) { } - -static CPU_SET_CONTEXT( sharc ) { } - static void sharc_set_irq_line(SHARC_REGS *cpustate, int irqline, int state) { if (state) @@ -1201,8 +1197,8 @@ static CPU_GET_INFO( sharc ) case CPUINFO_INT_REGISTER + SHARC_B15: info->i = cpustate->dag2.b[7]; break; /* --- the following bits of info are returned as pointers to data or functions --- */ - case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(sharc); break; - case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(sharc); break; + case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(dummy); break; + case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(dummy); break; case CPUINFO_PTR_INIT: info->init = CPU_INIT_NAME(sharc); break; case CPUINFO_PTR_RESET: info->reset = CPU_RESET_NAME(sharc); break; case CPUINFO_PTR_EXIT: info->exit = CPU_EXIT_NAME(sharc); break; diff --git a/src/emu/cpu/sm8500/sm8500.c b/src/emu/cpu/sm8500/sm8500.c index 81ac4ccad09..2641559fb9a 100644 --- a/src/emu/cpu/sm8500/sm8500.c +++ b/src/emu/cpu/sm8500/sm8500.c @@ -253,10 +253,6 @@ static CPU_BURN( sm8500 ) } } -static CPU_SET_CONTEXT( sm8500 ) { } - -static CPU_GET_CONTEXT( sm8500 ) { } - unsigned sm8500_get_reg( int regnum ) { switch( regnum ) @@ -489,8 +485,8 @@ CPU_GET_INFO( sm8500 ) case CPUINFO_PTR_SET_INFO: info->setinfo = CPU_SET_INFO_NAME(sm8500); break; - case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(sm8500); break; - case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(sm8500); break; + case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(dummy); break; + case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(dummy); break; case CPUINFO_PTR_INIT: info->init = CPU_INIT_NAME(sm8500); break; case CPUINFO_PTR_RESET: info->reset = CPU_RESET_NAME(sm8500); break; case CPUINFO_PTR_EXIT: info->exit = CPU_EXIT_NAME(sm8500); break; diff --git a/src/emu/cpu/spc700/spc700.c b/src/emu/cpu/spc700/spc700.c index 74c7948a53c..cac9b50b821 100644 --- a/src/emu/cpu/spc700/spc700.c +++ b/src/emu/cpu/spc700/spc700.c @@ -1227,12 +1227,6 @@ CPU_EXIT( spc700 ) } -/* Get the current CPU context */ -CPU_GET_CONTEXT( spc700 ) { } - -/* Set the current CPU context */ -CPU_SET_CONTEXT( spc700 ) { } - /* Get the current Program Counter */ unsigned spc700_get_pc(spc700i_cpu *cpustate) { @@ -1656,8 +1650,8 @@ CPU_GET_INFO( spc700 ) /* --- the following bits of info are returned as pointers to data or functions --- */ case CPUINFO_PTR_SET_INFO: info->setinfo = CPU_SET_INFO_NAME(spc700); break; - case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(spc700); break; - case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(spc700); break; + case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(dummy); break; + case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(dummy); break; case CPUINFO_PTR_INIT: info->init = CPU_INIT_NAME(spc700); break; case CPUINFO_PTR_RESET: info->reset = CPU_RESET_NAME(spc700); break; case CPUINFO_PTR_EXIT: info->exit = CPU_EXIT_NAME(spc700); break; diff --git a/src/emu/cpu/ssp1601/ssp1601.c b/src/emu/cpu/ssp1601/ssp1601.c index 8eb192fdaec..af4fc9c5049 100644 --- a/src/emu/cpu/ssp1601/ssp1601.c +++ b/src/emu/cpu/ssp1601/ssp1601.c @@ -756,10 +756,6 @@ static CPU_EXECUTE( ssp1601 ) * MAME interface **************************************************************************/ -static CPU_GET_CONTEXT( ssp1601 ) { } - -static CPU_SET_CONTEXT( ssp1601 ) { } - static CPU_DISASSEMBLE( ssp1601 ) { //ssp1601_state_t *ssp1601_state = device->token; @@ -868,8 +864,8 @@ CPU_GET_INFO( ssp1601 ) /* --- the following bits of info are returned as pointers to data or functions --- */ case CPUINFO_PTR_SET_INFO: info->setinfo = CPU_SET_INFO_NAME(ssp1601); break; - case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(ssp1601); break; - case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(ssp1601); break; + case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(dummy); break; + case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(dummy); break; case CPUINFO_PTR_INIT: info->init = CPU_INIT_NAME(ssp1601); break; case CPUINFO_PTR_RESET: info->reset = CPU_RESET_NAME(ssp1601); break; case CPUINFO_PTR_EXIT: info->exit = CPU_EXIT_NAME(ssp1601); break; diff --git a/src/emu/cpu/t11/t11.c b/src/emu/cpu/t11/t11.c index 23823b2e506..0318f33ef84 100644 --- a/src/emu/cpu/t11/t11.c +++ b/src/emu/cpu/t11/t11.c @@ -236,26 +236,6 @@ static void t11_check_irqs(t11_state *cpustate) -/************************************* - * - * Fetch current context into buffer - * - *************************************/ - -static CPU_GET_CONTEXT( t11 ) { } - - - -/************************************* - * - * Retrieve context from buffer - * - *************************************/ - -static CPU_SET_CONTEXT( t11 ) { } - - - /************************************* * * Low-level initialization/cleanup @@ -470,8 +450,8 @@ CPU_GET_INFO( t11 ) /* --- the following bits of info are returned as pointers to data or functions --- */ case CPUINFO_PTR_SET_INFO: info->setinfo = CPU_SET_INFO_NAME(t11); break; - case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(t11); break; - case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(t11); break; + case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(dummy); break; + case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(dummy); break; case CPUINFO_PTR_INIT: info->init = CPU_INIT_NAME(t11); break; case CPUINFO_PTR_RESET: info->reset = CPU_RESET_NAME(t11); break; case CPUINFO_PTR_EXECUTE: info->execute = CPU_EXECUTE_NAME(t11); break; diff --git a/src/emu/cpu/tms32031/tms32031.c b/src/emu/cpu/tms32031/tms32031.c index 3dcf487d1f3..8a5ffdf5ad6 100644 --- a/src/emu/cpu/tms32031/tms32031.c +++ b/src/emu/cpu/tms32031/tms32031.c @@ -352,17 +352,6 @@ static void set_irq_line(tms32031_state *tms, int irqline, int state) -/*************************************************************************** - CONTEXT SWITCHING -***************************************************************************/ - -static CPU_GET_CONTEXT( tms32031 ) { } - - -static CPU_SET_CONTEXT( tms32031 ) { } - - - /*************************************************************************** INITIALIZATION AND SHUTDOWN ***************************************************************************/ @@ -787,8 +776,8 @@ CPU_GET_INFO( tms32031 ) /* --- the following bits of info are returned as pointers to data or functions --- */ case CPUINFO_PTR_SET_INFO: info->setinfo = CPU_SET_INFO_NAME(tms32031); break; - case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(tms32031); break; - case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(tms32031); break; + case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(dummy); break; + case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(dummy); break; case CPUINFO_PTR_INIT: info->init = CPU_INIT_NAME(tms32031); break; case CPUINFO_PTR_RESET: info->reset = CPU_RESET_NAME(tms32031); break; case CPUINFO_PTR_EXIT: info->exit = CPU_EXIT_NAME(tms32031); break; diff --git a/src/emu/cpu/tms34010/tms34010.c b/src/emu/cpu/tms34010/tms34010.c index cb0f1994e41..3792891b768 100644 --- a/src/emu/cpu/tms34010/tms34010.c +++ b/src/emu/cpu/tms34010/tms34010.c @@ -711,16 +711,6 @@ static CPU_GET_CONTEXT( tms34020 ) { } -/*************************************************************************** - Set all registers to given values -***************************************************************************/ - -static CPU_SET_CONTEXT( tms34010 ) { } - -static CPU_SET_CONTEXT( tms34020 ) { } - - - /*************************************************************************** Set IRQ line state ***************************************************************************/ @@ -1819,8 +1809,8 @@ CPU_GET_INFO( tms34010 ) /* --- the following bits of info are returned as pointers to data or functions --- */ case CPUINFO_PTR_SET_INFO: info->setinfo = CPU_SET_INFO_NAME(tms34010); break; - case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(tms34010); break; - case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(tms34010); break; + case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(dummy); break; + case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(dummy); break; case CPUINFO_PTR_INIT: info->init = CPU_INIT_NAME(tms34010); break; case CPUINFO_PTR_RESET: info->reset = CPU_RESET_NAME(tms34010); break; case CPUINFO_PTR_EXIT: info->exit = CPU_EXIT_NAME(tms34010); break; @@ -1909,8 +1899,8 @@ CPU_GET_INFO( tms34020 ) case CPUINFO_INT_CLOCK_DIVIDER: info->i = 4; break; /* --- the following bits of info are returned as pointers to data or functions --- */ - case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(tms34020); break; - case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(tms34020); break; + case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(dummy); break; + case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(dummy); break; case CPUINFO_PTR_RESET: info->reset = CPU_RESET_NAME(tms34020); break; case CPUINFO_PTR_DISASSEMBLE: info->disassemble = CPU_DISASSEMBLE_NAME(tms34020); break; diff --git a/src/emu/cpu/v30mz/v30mz.c b/src/emu/cpu/v30mz/v30mz.c index d69de6a471d..7668ad222eb 100644 --- a/src/emu/cpu/v30mz/v30mz.c +++ b/src/emu/cpu/v30mz/v30mz.c @@ -881,10 +881,6 @@ static void i_invalid(v30mz_state *cpustate) /*****************************************************************************/ -static CPU_GET_CONTEXT( nec ) { } - -static CPU_SET_CONTEXT( nec ) { } - static void set_irq_line(v30mz_state *cpustate, int irqline, int state) { if (irqline == INPUT_LINE_NMI) @@ -1091,8 +1087,8 @@ CPU_GET_INFO( v30mz ) /* --- the following bits of info are returned as pointers to data or functions --- */ case CPUINFO_PTR_SET_INFO: info->setinfo = CPU_SET_INFO_NAME(nec); break; - case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(nec); break; - case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(nec); break; + case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(dummy); break; + case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(dummy); break; case CPUINFO_PTR_RESET: info->reset = CPU_RESET_NAME(nec); break; case CPUINFO_PTR_EXIT: info->exit = CPU_EXIT_NAME(nec); break; case CPUINFO_PTR_BURN: info->burn = NULL; break; diff --git a/src/emu/cpu/v60/v60.c b/src/emu/cpu/v60/v60.c index cbb0848687a..3193b960d57 100644 --- a/src/emu/cpu/v60/v60.c +++ b/src/emu/cpu/v60/v60.c @@ -423,8 +423,7 @@ static void v60_try_irq(v60_state *cpustate) vector = cpustate->irq_cb(cpustate->device, 0); v60_do_irq(cpustate, vector + 0x40); - } else if(cpustate->irq_line == PULSE_LINE) - cpustate->irq_line = CLEAR_LINE; + } } static void set_irq_line(v60_state *cpustate, int irqline, int state) @@ -440,11 +439,6 @@ static void set_irq_line(v60_state *cpustate, int irqline, int state) case CLEAR_LINE: cpustate->nmi_line = CLEAR_LINE; break; - case HOLD_LINE: - case PULSE_LINE: - cpustate->nmi_line = CLEAR_LINE; - v60_do_irq(cpustate, 2); - break; } } else { cpustate->irq_line = state; @@ -477,10 +471,6 @@ static CPU_EXECUTE( v60 ) return cycles - cpustate->icount; } -static CPU_GET_CONTEXT( v60 ) { } - -static CPU_SET_CONTEXT( v60 ) { } - CPU_DISASSEMBLE( v60 ); CPU_DISASSEMBLE( v70 ); @@ -666,8 +656,8 @@ CPU_GET_INFO( v60 ) /* --- the following bits of info are returned as pointers to data or functions --- */ case CPUINFO_PTR_SET_INFO: info->setinfo = CPU_SET_INFO_NAME(v60); break; - case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(v60); break; - case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(v60); break; + case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(dummy); break; + case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(dummy); break; case CPUINFO_PTR_INIT: info->init = CPU_INIT_NAME(v60); break; case CPUINFO_PTR_RESET: info->reset = CPU_RESET_NAME(v60); break; case CPUINFO_PTR_EXIT: info->exit = CPU_EXIT_NAME(v60); break; diff --git a/src/emu/cpu/v810/v810.c b/src/emu/cpu/v810/v810.c index 7fe4c1697ad..99b946e8257 100644 --- a/src/emu/cpu/v810/v810.c +++ b/src/emu/cpu/v810/v810.c @@ -1031,9 +1031,6 @@ static CPU_EXECUTE( v810 ) return cycles-cpustate->icount; } -static CPU_GET_CONTEXT( v810 ) { } - -static CPU_SET_CONTEXT( v810 ) { } static void set_irq_line(v810_state *cpustate, int irqline, int state) { @@ -1221,8 +1218,8 @@ CPU_GET_INFO( v810 ) /* --- the following bits of info are returned as pointers to data or functions --- */ case CPUINFO_PTR_SET_INFO: info->setinfo = CPU_SET_INFO_NAME(v810); break; - case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(v810); break; - case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(v810); break; + case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(dummy); break; + case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(dummy); break; case CPUINFO_PTR_INIT: info->init = CPU_INIT_NAME(v810); break; case CPUINFO_PTR_RESET: info->reset = CPU_RESET_NAME(v810); break; case CPUINFO_PTR_EXIT: info->exit = NULL; break; diff --git a/src/emu/cpu/z180/z180.c b/src/emu/cpu/z180/z180.c index 683db67cae7..fd5b7a3ef8a 100644 --- a/src/emu/cpu/z180/z180.c +++ b/src/emu/cpu/z180/z180.c @@ -2267,16 +2267,6 @@ static CPU_BURN( z180 ) } } -/**************************************************************************** - * Get all registers in given buffer - ****************************************************************************/ -static CPU_GET_CONTEXT( z180 ) { } - -/**************************************************************************** - * Set all registers to given values - ****************************************************************************/ -static CPU_SET_CONTEXT( z180 ) { } - /**************************************************************************** * Set IRQ line state ****************************************************************************/ @@ -2551,8 +2541,8 @@ CPU_GET_INFO( z180 ) /* --- the following bits of info are returned as pointers to data or functions --- */ case CPUINFO_PTR_SET_INFO: info->setinfo = CPU_SET_INFO_NAME(z180); break; - case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(z180); break; - case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(z180); break; + case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(dummy); break; + case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(dummy); break; case CPUINFO_PTR_INIT: info->init = CPU_INIT_NAME(z180); break; case CPUINFO_PTR_RESET: info->reset = CPU_RESET_NAME(z180); break; case CPUINFO_PTR_EXECUTE: info->execute = CPU_EXECUTE_NAME(z180); break; diff --git a/src/emu/cpu/z80/z80.c b/src/emu/cpu/z80/z80.c index cfcc1bc0216..ab9d57c5685 100644 --- a/src/emu/cpu/z80/z80.c +++ b/src/emu/cpu/z80/z80.c @@ -3484,16 +3484,6 @@ static CPU_BURN( z80 ) } } -/**************************************************************************** - * Get all registers in given buffer - ****************************************************************************/ -static CPU_GET_CONTEXT( z80 ) { } - -/**************************************************************************** - * Set all registers to given values - ****************************************************************************/ -static CPU_SET_CONTEXT( z80 ) { } - /**************************************************************************** * Set IRQ line state ****************************************************************************/ @@ -3640,8 +3630,8 @@ CPU_GET_INFO( z80 ) /* --- the following bits of info are returned as pointers to data or functions --- */ case CPUINFO_PTR_SET_INFO: info->setinfo = CPU_SET_INFO_NAME(z80); break; - case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(z80); break; - case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(z80); break; + case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(dummy); break; + case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(dummy); break; case CPUINFO_PTR_INIT: info->init = CPU_INIT_NAME(z80); break; case CPUINFO_PTR_RESET: info->reset = CPU_RESET_NAME(z80); break; case CPUINFO_PTR_EXIT: info->exit = CPU_EXIT_NAME(z80); break; diff --git a/src/emu/cpu/z8000/z8000.c b/src/emu/cpu/z8000/z8000.c index da8eb1cba4f..0b4b3d31191 100644 --- a/src/emu/cpu/z8000/z8000.c +++ b/src/emu/cpu/z8000/z8000.c @@ -404,10 +404,6 @@ static CPU_EXECUTE( z8000 ) } -static CPU_GET_CONTEXT( z8000 ) { } - -static CPU_SET_CONTEXT( z8000 ) { } - static void set_irq_line(z8000_state *cpustate, int irqline, int state) { if (irqline == INPUT_LINE_NMI) @@ -572,8 +568,8 @@ CPU_GET_INFO( z8000 ) /* --- the following bits of info are returned as pointers to data or functions --- */ case CPUINFO_PTR_SET_INFO: info->setinfo = CPU_SET_INFO_NAME(z8000); break; - case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(z8000); break; - case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(z8000); break; + case CPUINFO_PTR_GET_CONTEXT: info->getcontext = CPU_GET_CONTEXT_NAME(dummy); break; + case CPUINFO_PTR_SET_CONTEXT: info->setcontext = CPU_SET_CONTEXT_NAME(dummy); break; case CPUINFO_PTR_INIT: info->init = CPU_INIT_NAME(z8000); break; case CPUINFO_PTR_RESET: info->reset = CPU_RESET_NAME(z8000); break; case CPUINFO_PTR_EXIT: info->exit = CPU_EXIT_NAME(z8000); break; diff --git a/src/emu/cpuexec.c b/src/emu/cpuexec.c index c43dda32a1b..7623b6ca2fa 100644 --- a/src/emu/cpuexec.c +++ b/src/emu/cpuexec.c @@ -922,57 +922,7 @@ void cpu_set_input_line_and_vector(const device_config *device, int line, int st #ifdef MAME_DEBUG /* catch errors where people use PULSE_LINE for CPUs that don't support it */ if (state == PULSE_LINE && line != INPUT_LINE_NMI && line != INPUT_LINE_RESET) - { - switch (classdata->header.cputype) - { - case CPU_KONAMI: - case CPU_Z80: - case CPU_Z180: - case CPU_M68000: - case CPU_M68008: - case CPU_M68010: - case CPU_M68EC020: - case CPU_M68020: - case CPU_M68040: - case CPU_R4600BE: - case CPU_R4600LE: - case CPU_R4650BE: - case CPU_R4650LE: - case CPU_R4700BE: - case CPU_R4700LE: - case CPU_R5000BE: - case CPU_R5000LE: - case CPU_QED5271BE: - case CPU_QED5271LE: - case CPU_RM7000BE: - case CPU_RM7000LE: - case CPU_PPC403GA: - case CPU_PPC403GCX: - case CPU_PPC601: - case CPU_PPC602: - case CPU_PPC603: - case CPU_PPC603E: - case CPU_PPC603R: - case CPU_PPC604: - case CPU_I8035: - case CPU_I8041: - case CPU_I8048: - case CPU_I8648: - case CPU_I8748: - case CPU_MB8884: - case CPU_N7751: - case CPU_TMS34010: - case CPU_TMS34020: - case CPU_TMS32010: - case CPU_TMS32025: - case CPU_TMS32026: - fatalerror("CPU %s: PULSE_LINE used with level-detected IRQ %d\n", device->tag, line); - break; - - default: - break; - } - } + fatalerror("CPU %s: PULSE_LINE can only be used for NMI and RESET lines\n", device->tag); #endif if (line >= 0 && line < MAX_INPUT_LINES) diff --git a/src/emu/cpuintrf.c b/src/emu/cpuintrf.c index f36390c9d2c..cde08ee0764 100644 --- a/src/emu/cpuintrf.c +++ b/src/emu/cpuintrf.c @@ -1466,8 +1466,8 @@ static CPU_INIT( dummy ) { } static CPU_RESET( dummy ) { } static CPU_EXIT( dummy ) { } static CPU_EXECUTE( dummy ) { return cycles; } -static CPU_GET_CONTEXT( dummy ) { } -static CPU_SET_CONTEXT( dummy ) { } +CPU_GET_CONTEXT( dummy ) { } +CPU_SET_CONTEXT( dummy ) { } static CPU_DISASSEMBLE( dummy ) { diff --git a/src/emu/cpuintrf.h b/src/emu/cpuintrf.h index 6e599649187..08390dd5f06 100644 --- a/src/emu/cpuintrf.h +++ b/src/emu/cpuintrf.h @@ -749,6 +749,9 @@ genf *cputype_get_info_fct(cpu_type cputype, UINT32 state); const char *cputype_get_info_string(cpu_type cputype, UINT32 state); +/* temporary */ +extern CPU_GET_CONTEXT( dummy ); +extern CPU_SET_CONTEXT( dummy ); /*************************************************************************** diff --git a/src/emu/machine/generic.c b/src/emu/machine/generic.c index 879daa91172..e45ac377d6a 100644 --- a/src/emu/machine/generic.c +++ b/src/emu/machine/generic.c @@ -590,6 +590,46 @@ static TIMER_CALLBACK( clear_all_lines ) } +/*------------------------------------------------- + irq_pulse_clear - clear a "pulsed" IRQ line +-------------------------------------------------*/ + +static TIMER_CALLBACK( irq_pulse_clear ) +{ + const device_config *device = ptr; + int irqline = param; + cpu_set_input_line(device, irqline, CLEAR_LINE); +} + + +/*------------------------------------------------- + generic_pulse_irq_line - "pulse" an IRQ line by + asserting it and then clearing it 1 cycle + later +-------------------------------------------------*/ + +void generic_pulse_irq_line(const device_config *device, int irqline) +{ + assert(irqline != INPUT_LINE_NMI && irqline != INPUT_LINE_RESET); + cpu_set_input_line(device, irqline, ASSERT_LINE); + timer_set(device->machine, cpu_clocks_to_attotime(device, 1), (void *)device, irqline, irq_pulse_clear); +} + + +/*------------------------------------------------- + generic_pulse_irq_line_and_vector - "pulse" an + IRQ line by asserting it and then clearing it + 1 cycle later, specifying a vector +-------------------------------------------------*/ + +void generic_pulse_irq_line_and_vector(const device_config *device, int irqline, int vector) +{ + assert(irqline != INPUT_LINE_NMI && irqline != INPUT_LINE_RESET); + cpu_set_input_line_and_vector(device, irqline, ASSERT_LINE, vector); + timer_set(device->machine, cpu_clocks_to_attotime(device, 1), (void *)device, irqline, irq_pulse_clear); +} + + /*------------------------------------------------- cpu_interrupt_enable - controls the enable/ disable value for global interrupts @@ -660,35 +700,35 @@ INTERRUPT_GEN( nmi_line_assert ) { irqn_line_set(device, INPUT_LINE_NMI, ASSERT_ -------------------------------------------------*/ INTERRUPT_GEN( irq0_line_hold ) { irqn_line_set(device, 0, HOLD_LINE); } -INTERRUPT_GEN( irq0_line_pulse ) { irqn_line_set(device, 0, PULSE_LINE); } +INTERRUPT_GEN( irq0_line_pulse ) { if (interrupt_enable[cpu_get_index(device)]) generic_pulse_irq_line(device, 0); } INTERRUPT_GEN( irq0_line_assert ) { irqn_line_set(device, 0, ASSERT_LINE); } INTERRUPT_GEN( irq1_line_hold ) { irqn_line_set(device, 1, HOLD_LINE); } -INTERRUPT_GEN( irq1_line_pulse ) { irqn_line_set(device, 1, PULSE_LINE); } +INTERRUPT_GEN( irq1_line_pulse ) { if (interrupt_enable[cpu_get_index(device)]) generic_pulse_irq_line(device, 1); } INTERRUPT_GEN( irq1_line_assert ) { irqn_line_set(device, 1, ASSERT_LINE); } INTERRUPT_GEN( irq2_line_hold ) { irqn_line_set(device, 2, HOLD_LINE); } -INTERRUPT_GEN( irq2_line_pulse ) { irqn_line_set(device, 2, PULSE_LINE); } +INTERRUPT_GEN( irq2_line_pulse ) { if (interrupt_enable[cpu_get_index(device)]) generic_pulse_irq_line(device, 2); } INTERRUPT_GEN( irq2_line_assert ) { irqn_line_set(device, 2, ASSERT_LINE); } INTERRUPT_GEN( irq3_line_hold ) { irqn_line_set(device, 3, HOLD_LINE); } -INTERRUPT_GEN( irq3_line_pulse ) { irqn_line_set(device, 3, PULSE_LINE); } +INTERRUPT_GEN( irq3_line_pulse ) { if (interrupt_enable[cpu_get_index(device)]) generic_pulse_irq_line(device, 3); } INTERRUPT_GEN( irq3_line_assert ) { irqn_line_set(device, 3, ASSERT_LINE); } INTERRUPT_GEN( irq4_line_hold ) { irqn_line_set(device, 4, HOLD_LINE); } -INTERRUPT_GEN( irq4_line_pulse ) { irqn_line_set(device, 4, PULSE_LINE); } +INTERRUPT_GEN( irq4_line_pulse ) { if (interrupt_enable[cpu_get_index(device)]) generic_pulse_irq_line(device, 4); } INTERRUPT_GEN( irq4_line_assert ) { irqn_line_set(device, 4, ASSERT_LINE); } INTERRUPT_GEN( irq5_line_hold ) { irqn_line_set(device, 5, HOLD_LINE); } -INTERRUPT_GEN( irq5_line_pulse ) { irqn_line_set(device, 5, PULSE_LINE); } +INTERRUPT_GEN( irq5_line_pulse ) { if (interrupt_enable[cpu_get_index(device)]) generic_pulse_irq_line(device, 5); } INTERRUPT_GEN( irq5_line_assert ) { irqn_line_set(device, 5, ASSERT_LINE); } INTERRUPT_GEN( irq6_line_hold ) { irqn_line_set(device, 6, HOLD_LINE); } -INTERRUPT_GEN( irq6_line_pulse ) { irqn_line_set(device, 6, PULSE_LINE); } +INTERRUPT_GEN( irq6_line_pulse ) { if (interrupt_enable[cpu_get_index(device)]) generic_pulse_irq_line(device, 6); } INTERRUPT_GEN( irq6_line_assert ) { irqn_line_set(device, 6, ASSERT_LINE); } INTERRUPT_GEN( irq7_line_hold ) { irqn_line_set(device, 7, HOLD_LINE); } -INTERRUPT_GEN( irq7_line_pulse ) { irqn_line_set(device, 7, PULSE_LINE); } +INTERRUPT_GEN( irq7_line_pulse ) { if (interrupt_enable[cpu_get_index(device)]) generic_pulse_irq_line(device, 7); } INTERRUPT_GEN( irq7_line_assert ) { irqn_line_set(device, 7, ASSERT_LINE); } diff --git a/src/emu/machine/generic.h b/src/emu/machine/generic.h index dc079b03fc0..edf1fd352e6 100644 --- a/src/emu/machine/generic.h +++ b/src/emu/machine/generic.h @@ -119,6 +119,8 @@ void set_led_status(int num, int value); /* ----- interrupt enable and vector helpers ----- */ +void generic_pulse_irq_line(const device_config *device, int irqline); +void generic_pulse_irq_line_and_vector(const device_config *device, int irqline, int vector); void cpu_interrupt_enable(int cpu, int enabled); READ8_HANDLER( interrupt_enable_r ); WRITE8_HANDLER( interrupt_enable_w ); diff --git a/src/mame/audio/dcs.c b/src/mame/audio/dcs.c index 6dbdda5f025..6e8cde63190 100644 --- a/src/mame/audio/dcs.c +++ b/src/mame/audio/dcs.c @@ -1732,7 +1732,10 @@ static TIMER_CALLBACK( internal_timer_callback ) /* set the next timer, but only if it's for a reasonable number */ if (!dcs.timer_ignore && (dcs.timer_period > 10 || dcs.timer_scale > 1)) timer_adjust_oneshot(dcs.internal_timer, cpu_clocks_to_attotime(dcs.cpu, target_cycles), 0); - cpu_set_input_line(dcs.cpu, ADSP2105_TIMER, PULSE_LINE); + + /* the IRQ line is edge triggered */ + cpu_set_input_line(dcs.cpu, ADSP2105_TIMER, ASSERT_LINE); + cpu_set_input_line(dcs.cpu, ADSP2105_TIMER, CLEAR_LINE); } @@ -1945,7 +1948,8 @@ static TIMER_CALLBACK( dcs_irq ) reg = dcs.ireg_base; /* generate the (internal, thats why the pulse) irq */ - cpu_set_input_line(dcs.cpu, ADSP2105_IRQ1, PULSE_LINE); + cpu_set_input_line(dcs.cpu, ADSP2105_IRQ1, ASSERT_LINE); + cpu_set_input_line(dcs.cpu, ADSP2105_IRQ1, CLEAR_LINE); } /* store it */ @@ -1960,7 +1964,10 @@ static TIMER_CALLBACK( sport0_irq ) /* register; if we don't interlock it, we will eventually lose sound (see CarnEvil) */ /* so we skip the SPORT interrupt if we read with output_control within the last 5 cycles */ if ((cpu_get_total_cycles(dcs.cpu) - dcs.output_control_cycles) > 5) - cpu_set_input_line(dcs.cpu, ADSP2115_SPORT0_RX, PULSE_LINE); + { + cpu_set_input_line(dcs.cpu, ADSP2115_SPORT0_RX, ASSERT_LINE); + cpu_set_input_line(dcs.cpu, ADSP2115_SPORT0_RX, CLEAR_LINE); + } } diff --git a/src/mame/audio/n8080.c b/src/mame/audio/n8080.c index 0280bf90924..18012a1e20d 100644 --- a/src/mame/audio/n8080.c +++ b/src/mame/audio/n8080.c @@ -201,7 +201,7 @@ static void spacefev_sound_pins_changed(void) } if (changes & ((1 << 0x2) | (1 << 0x3) | (1 << 0x5))) { - cpu_set_input_line(Machine->cpu[1], 0, PULSE_LINE); + generic_pulse_irq_line(Machine->cpu[1], 0); } } @@ -224,7 +224,7 @@ static void sheriff_sound_pins_changed(void) } if (changes & ((1 << 0x2) | (1 << 0x3) | (1 << 0x5))) { - cpu_set_input_line(Machine->cpu[1], 0, PULSE_LINE); + generic_pulse_irq_line(Machine->cpu[1], 0); } } @@ -239,7 +239,7 @@ static void helifire_sound_pins_changed(void) if (changes & (1 << 6)) { - cpu_set_input_line(Machine->cpu[1], 0, PULSE_LINE); + generic_pulse_irq_line(Machine->cpu[1], 0); } } diff --git a/src/mame/drivers/bfcobra.c b/src/mame/drivers/bfcobra.c index 3b173fb6138..931f1a64619 100644 --- a/src/mame/drivers/bfcobra.c +++ b/src/mame/drivers/bfcobra.c @@ -1377,7 +1377,7 @@ static WRITE8_HANDLER( meter_w ) if (changed & (1 << i)) { Mechmtr_update(i, cycles, data & (1 << i) ); - cpu_set_input_line(space->cpu, M6809_FIRQ_LINE, PULSE_LINE ); + generic_pulse_irq_line(space->cpu, M6809_FIRQ_LINE); } } } @@ -1695,7 +1695,7 @@ static DRIVER_INIT( bfcobra ) /* TODO */ static INTERRUPT_GEN( timer_irq ) { - cpu_set_input_line(device, M6809_IRQ_LINE, PULSE_LINE); + generic_pulse_irq_line(device, M6809_IRQ_LINE); } /* TODO */ diff --git a/src/mame/drivers/bfm_sc2.c b/src/mame/drivers/bfm_sc2.c index 86fe4dc3ae7..9bb693e0e0c 100644 --- a/src/mame/drivers/bfm_sc2.c +++ b/src/mame/drivers/bfm_sc2.c @@ -522,7 +522,7 @@ static INTERRUPT_GEN( timer_irq ) irq_timer_stat = 0x01; irq_status = 0x02; - cpu_set_input_line(device, M6809_IRQ_LINE, PULSE_LINE ); + generic_pulse_irq_line(device, M6809_IRQ_LINE); } } diff --git a/src/mame/drivers/bishjan.c b/src/mame/drivers/bishjan.c index 579e6779746..ecc2b3b6972 100644 --- a/src/mame/drivers/bishjan.c +++ b/src/mame/drivers/bishjan.c @@ -432,7 +432,7 @@ static INTERRUPT_GEN( bishjan_interrupt ) switch (cpu_getiloops(device)) { case 0: - cpu_set_input_line(device, 0, PULSE_LINE); + generic_pulse_irq_line(device, 0); break; default: cpu_set_input_line(device->machine->cpu[0], H8_METRO_TIMER_HACK, HOLD_LINE); diff --git a/src/mame/drivers/cball.c b/src/mame/drivers/cball.c index e128f4867e8..514b36fdd1a 100644 --- a/src/mame/drivers/cball.c +++ b/src/mame/drivers/cball.c @@ -55,7 +55,7 @@ static TIMER_CALLBACK( interrupt_callback ) { int scanline = param; - cpu_set_input_line(machine->cpu[0], 0, PULSE_LINE); + generic_pulse_irq_line(machine->cpu[0], 0); scanline = scanline + 32; diff --git a/src/mame/drivers/changela.c b/src/mame/drivers/changela.c index c071ffa3518..d7481f7c5e5 100644 --- a/src/mame/drivers/changela.c +++ b/src/mame/drivers/changela.c @@ -480,7 +480,7 @@ static INTERRUPT_GEN( chl_interrupt ) //so we should cause an INT on the cpu 1 here, as well. //but only once per frame ! if (vector == 0xdf) /* only on vblank */ - cpu_set_input_line(device->machine->cpu[1], 0, PULSE_LINE ); + generic_pulse_irq_line(device->machine->cpu[1], 0); } diff --git a/src/mame/drivers/cvs.c b/src/mame/drivers/cvs.c index ebf07a052c7..3fd032a11bc 100644 --- a/src/mame/drivers/cvs.c +++ b/src/mame/drivers/cvs.c @@ -246,7 +246,7 @@ WRITE8_HANDLER( cvs_s2636_2_or_character_ram_w ) static INTERRUPT_GEN( cvs_main_cpu_interrupt ) { cpu_set_input_line_vector(device, 0, 0x03); - cpu_set_input_line(device, 0, PULSE_LINE); + generic_pulse_irq_line(device, 0); cvs_scroll_stars(); } diff --git a/src/mame/drivers/equites.c b/src/mame/drivers/equites.c index 16c95e06d9f..0e887d1f89b 100644 --- a/src/mame/drivers/equites.c +++ b/src/mame/drivers/equites.c @@ -445,7 +445,7 @@ static WRITE8_HANDLER(equites_c0f8_w) case 1: // c0f9: RST75 trigger (written by NMI handler) // Note: solder pad CP3 on the pcb would allow to disable this - cpu_set_input_line(space->machine->cpu[1], I8085_RST75_LINE, PULSE_LINE); + generic_pulse_irq_line(space->machine->cpu[1], I8085_RST75_LINE); break; case 2: // c0fa: INTR trigger (written by NMI handler) diff --git a/src/mame/drivers/firetrk.c b/src/mame/drivers/firetrk.c index f4adfa27c9c..cddeffc0364 100644 --- a/src/mame/drivers/firetrk.c +++ b/src/mame/drivers/firetrk.c @@ -66,7 +66,7 @@ static TIMER_CALLBACK( periodic_callback ) { int scanline = param; - cpu_set_input_line(machine->cpu[0], 0, PULSE_LINE); + generic_pulse_irq_line(machine->cpu[0], 0); /* IRQs are generated by inverse 16V signal */ scanline += 32; diff --git a/src/mame/drivers/flyball.c b/src/mame/drivers/flyball.c index 0e18f6ff5fa..2d2b5df1eb4 100644 --- a/src/mame/drivers/flyball.c +++ b/src/mame/drivers/flyball.c @@ -30,7 +30,7 @@ static TIMER_CALLBACK( flyball_joystick_callback ) int potsense = param; if (potsense & ~flyball_potmask) - cpu_set_input_line(machine->cpu[0], 0, PULSE_LINE); + generic_pulse_irq_line(machine->cpu[0], 0); flyball_potsense |= potsense; } diff --git a/src/mame/drivers/gaelco3d.c b/src/mame/drivers/gaelco3d.c index 16a7b5ddfec..28a808ff609 100644 --- a/src/mame/drivers/gaelco3d.c +++ b/src/mame/drivers/gaelco3d.c @@ -562,7 +562,8 @@ static TIMER_CALLBACK( adsp_autobuffer_irq ) reg = adsp_ireg_base; /* generate the (internal, thats why the pulse) irq */ - cpu_set_input_line(machine->cpu[2], ADSP2105_IRQ1, PULSE_LINE); + cpu_set_input_line(machine->cpu[2], ADSP2105_IRQ1, ASSERT_LINE); + cpu_set_input_line(machine->cpu[2], ADSP2105_IRQ1, CLEAR_LINE); } /* store it */ diff --git a/src/mame/drivers/igs_m027.c b/src/mame/drivers/igs_m027.c index 72fe36c02eb..51db185f4fc 100644 --- a/src/mame/drivers/igs_m027.c +++ b/src/mame/drivers/igs_m027.c @@ -359,7 +359,7 @@ GFXDECODE_END static INTERRUPT_GEN( igs_majhong_interrupt ) { - cpu_set_input_line(device, ARM7_FIRQ_LINE, PULSE_LINE); + generic_pulse_irq_line(device, ARM7_FIRQ_LINE); } diff --git a/src/mame/drivers/laserbat.c b/src/mame/drivers/laserbat.c index 213c0105266..1bb8036945b 100644 --- a/src/mame/drivers/laserbat.c +++ b/src/mame/drivers/laserbat.c @@ -681,7 +681,7 @@ static MACHINE_RESET( catnmous ) static INTERRUPT_GEN( laserbat_interrupt ) { - cpu_set_input_line_and_vector(device,0,PULSE_LINE,0x0a); + generic_pulse_irq_line_and_vector(device,0,0x0a); } static INTERRUPT_GEN( zaccaria_cb1_toggle ) diff --git a/src/mame/drivers/lasso.c b/src/mame/drivers/lasso.c index 641ad546247..38dfc221259 100644 --- a/src/mame/drivers/lasso.c +++ b/src/mame/drivers/lasso.c @@ -50,7 +50,7 @@ static UINT8 *lasso_chip_data; static WRITE8_HANDLER( sound_command_w ) { soundlatch_w(space,offset,data); - cpu_set_input_line(space->machine->cpu[1], 0, PULSE_LINE); + generic_pulse_irq_line(space->machine->cpu[1], 0); } static WRITE8_HANDLER( pinbo_sound_command_w ) diff --git a/src/mame/drivers/lastfght.c b/src/mame/drivers/lastfght.c index 402156fc5e5..b9e8f3c1cee 100644 --- a/src/mame/drivers/lastfght.c +++ b/src/mame/drivers/lastfght.c @@ -452,7 +452,7 @@ static INTERRUPT_GEN( unknown_interrupt ) switch (cpu_getiloops(device)) { case 0: - cpu_set_input_line(device, 0, PULSE_LINE); + generic_pulse_irq_line(device, 0); break; default: cpu_set_input_line(device->machine->cpu[0], H8_METRO_TIMER_HACK, HOLD_LINE); diff --git a/src/mame/drivers/maxaflex.c b/src/mame/drivers/maxaflex.c index f765aeab5ea..e20c9dfd5be 100644 --- a/src/mame/drivers/maxaflex.c +++ b/src/mame/drivers/maxaflex.c @@ -154,7 +154,7 @@ static TIMER_CALLBACK( mcu_timer_proc ) if ( (tcr & 0x40) == 0 ) { //timer interrupt! - cpu_set_input_line(machine->cpu[1], M68705_INT_TIMER, PULSE_LINE ); + generic_pulse_irq_line(machine->cpu[1], M68705_INT_TIMER); } } } diff --git a/src/mame/drivers/mgolf.c b/src/mame/drivers/mgolf.c index cbfc02c0c81..25f9e731cea 100644 --- a/src/mame/drivers/mgolf.c +++ b/src/mame/drivers/mgolf.c @@ -97,7 +97,7 @@ static TIMER_CALLBACK( interrupt_callback ) update_plunger(machine); - cpu_set_input_line(machine->cpu[0], 0, PULSE_LINE); + generic_pulse_irq_line(machine->cpu[0], 0); scanline = scanline + 32; diff --git a/src/mame/drivers/multigam.c b/src/mame/drivers/multigam.c index 132e6bfac2e..14887d7ab07 100644 --- a/src/mame/drivers/multigam.c +++ b/src/mame/drivers/multigam.c @@ -213,7 +213,7 @@ static void multigam3_mmc3_scanline_cb( int num, int scanline, int vblank, int b if ( --multigam3_mmc3_scanline_counter == -1 ) { multigam3_mmc3_scanline_counter = multigam3_mmc3_scanline_latch; - cpu_set_input_line(Machine->cpu[0], 0, PULSE_LINE ); + generic_pulse_irq_line(Machine->cpu[0], 0); } } } diff --git a/src/mame/drivers/namcos22.c b/src/mame/drivers/namcos22.c index ded8cf10a04..a75ee01c184 100644 --- a/src/mame/drivers/namcos22.c +++ b/src/mame/drivers/namcos22.c @@ -2600,7 +2600,7 @@ static READ8_HANDLER( propcycle_mcu_adc_r ) int i; for (i = 0; i < 16; i++) { - cpu_set_input_line(space->machine->cpu[3], M37710_LINE_TIMERA3TICK, PULSE_LINE); + generic_pulse_irq_line(space->machine->cpu[3], M37710_LINE_TIMERA3TICK); } } diff --git a/src/mame/drivers/nwk-tr.c b/src/mame/drivers/nwk-tr.c index a8fd328a1e3..559a22d8bd0 100644 --- a/src/mame/drivers/nwk-tr.c +++ b/src/mame/drivers/nwk-tr.c @@ -1145,9 +1145,9 @@ MACHINE_DRIVER_END static void sound_irq_callback(running_machine *machine, int irq) { if (irq == 0) - cpu_set_input_line(machine->cpu[1], INPUT_LINE_IRQ1, PULSE_LINE); + generic_pulse_irq_line(machine->cpu[1], INPUT_LINE_IRQ1); else - cpu_set_input_line(machine->cpu[1], INPUT_LINE_IRQ2, PULSE_LINE); + generic_pulse_irq_line(machine->cpu[1], INPUT_LINE_IRQ2); } static DRIVER_INIT(nwktr) diff --git a/src/mame/drivers/pgm.c b/src/mame/drivers/pgm.c index 91d22770547..11194a5f0d7 100644 --- a/src/mame/drivers/pgm.c +++ b/src/mame/drivers/pgm.c @@ -308,7 +308,7 @@ static READ32_HANDLER( arm7_latch_arm_r ) #ifdef PGMARM7SPEEDHACK static TIMER_CALLBACK( arm_irq ) { - cpu_set_input_line(machine->cpu[2], ARM7_FIRQ_LINE, PULSE_LINE); + generic_pulse_irq_line(machine->cpu[2], ARM7_FIRQ_LINE); } #endif @@ -356,7 +356,7 @@ static WRITE16_HANDLER( arm7_latch_68k_w ) timer_set(space->machine, ATTOTIME_IN_USEC(50), NULL, 0, arm_irq); // i don't know how long.. cpu_spinuntil_trigger(space->cpu, 1002); #else - cpu_set_input_line(space->machine->cpu[2], ARM7_FIRQ_LINE, PULSE_LINE); + generic_pulse_irq_line(space->machine->cpu[2], ARM7_FIRQ_LINE); cpuexec_boost_interleave(space->machine, attotime_zero, ATTOTIME_IN_USEC(200)); cpu_spinuntil_time(space->cpu, cpu_clocks_to_attotime(space->machine->cpu[2], 200)); // give the arm time to respond (just boosting the interleave doesn't help #endif diff --git a/src/mame/drivers/pntnpuzl.c b/src/mame/drivers/pntnpuzl.c index d4db70f4644..9657980cd9a 100644 --- a/src/mame/drivers/pntnpuzl.c +++ b/src/mame/drivers/pntnpuzl.c @@ -412,11 +412,11 @@ ADDRESS_MAP_END static INTERRUPT_GEN( pntnpuzl_irq ) { if (input_port_read(device->machine, "IN0") & 0x02) /* coin */ - cpu_set_input_line(device, 1, PULSE_LINE); + generic_pulse_irq_line(device, 1); else if (input_port_read(device->machine, "IN0") & 0x04) /* service */ - cpu_set_input_line(device, 2, PULSE_LINE); + generic_pulse_irq_line(device, 2); else if (input_port_read(device->machine, "IN0") & 0x08) /* coin */ - cpu_set_input_line(device, 4, PULSE_LINE); + generic_pulse_irq_line(device, 4); } static INPUT_PORTS_START( pntnpuzl ) diff --git a/src/mame/drivers/quasar.c b/src/mame/drivers/quasar.c index a9086a7a1e8..022bd467d3b 100644 --- a/src/mame/drivers/quasar.c +++ b/src/mame/drivers/quasar.c @@ -315,7 +315,7 @@ GFXDECODE_END static INTERRUPT_GEN( quasar_interrupt ) { - cpu_set_input_line_and_vector(device,0,PULSE_LINE,0x03); + generic_pulse_irq_line_and_vector(device,0,0x03); } // ************************(*************** diff --git a/src/mame/drivers/segas16b.c b/src/mame/drivers/segas16b.c index ea7ddb151b8..52cb9fe66f1 100644 --- a/src/mame/drivers/segas16b.c +++ b/src/mame/drivers/segas16b.c @@ -1353,7 +1353,7 @@ static void upd7759_generate_nmi(int state) static WRITE8_HANDLER( mcu_data_w ) { mcu_data = data; - cpu_set_input_line(space->machine->cpu[2], 1, PULSE_LINE); + generic_pulse_irq_line(space->machine->cpu[2], 1); } #endif diff --git a/src/mame/drivers/ssfindo.c b/src/mame/drivers/ssfindo.c index 9efd2c007fe..bf96a886876 100644 --- a/src/mame/drivers/ssfindo.c +++ b/src/mame/drivers/ssfindo.c @@ -258,7 +258,7 @@ static TIMER_CALLBACK( PS7500_Timer0_callback ) PS7500_IO[IRQSTA]|=0x20; if(PS7500_IO[IRQMSKA]&0x20) { - cpu_set_input_line(machine->cpu[0], ARM7_IRQ_LINE, PULSE_LINE); + generic_pulse_irq_line(machine->cpu[0], ARM7_IRQ_LINE); } } @@ -277,7 +277,7 @@ static TIMER_CALLBACK( PS7500_Timer1_callback ) PS7500_IO[IRQSTA]|=0x40; if(PS7500_IO[IRQMSKA]&0x40) { - cpu_set_input_line(machine->cpu[0], ARM7_IRQ_LINE, PULSE_LINE); + generic_pulse_irq_line(machine->cpu[0], ARM7_IRQ_LINE); } } @@ -295,7 +295,7 @@ static INTERRUPT_GEN( ssfindo_interrupt ) PS7500_IO[IRQSTA]|=0x08; if(PS7500_IO[IRQMSKA]&0x08) { - cpu_set_input_line(device, ARM7_IRQ_LINE, PULSE_LINE); + generic_pulse_irq_line(device, ARM7_IRQ_LINE); } } diff --git a/src/mame/drivers/starshp1.c b/src/mame/drivers/starshp1.c index 57785eaf406..f8d9c069c1f 100644 --- a/src/mame/drivers/starshp1.c +++ b/src/mame/drivers/starshp1.c @@ -18,7 +18,7 @@ static int starshp1_analog_in_select; static INTERRUPT_GEN( starshp1_interrupt ) { if ((input_port_read(device->machine, "SYSTEM") & 0x90) != 0x90) - cpu_set_input_line(device, 0, PULSE_LINE); + generic_pulse_irq_line(device, 0); } diff --git a/src/mame/drivers/toratora.c b/src/mame/drivers/toratora.c index 019df311826..acbf39a0cc0 100644 --- a/src/mame/drivers/toratora.c +++ b/src/mame/drivers/toratora.c @@ -142,7 +142,7 @@ static UINT8 last = 0; if (last != (input_port_read(device->machine, "INPUT") & 0x0f)) { last = input_port_read(device->machine, "INPUT") & 0x0f; - cpu_set_input_line(device, 0, PULSE_LINE); + generic_pulse_irq_line(device, 0); } pia_set_input_a(0, input_port_read(device->machine, "INPUT") & 0x0f, 0); diff --git a/src/mame/drivers/truco.c b/src/mame/drivers/truco.c index 43dadb0aaea..0f2d26b82f1 100644 --- a/src/mame/drivers/truco.c +++ b/src/mame/drivers/truco.c @@ -127,7 +127,7 @@ static INTERRUPT_GEN( truco_interrupt ) { if ( trigger == 0 ) { - cpu_set_input_line(device, M6809_IRQ_LINE, PULSE_LINE ); + generic_pulse_irq_line(device, M6809_IRQ_LINE); trigger++; } } else diff --git a/src/mame/drivers/tryout.c b/src/mame/drivers/tryout.c index 7b15369c323..614ad806d45 100644 --- a/src/mame/drivers/tryout.c +++ b/src/mame/drivers/tryout.c @@ -36,12 +36,12 @@ static WRITE8_HANDLER( tryout_nmi_ack_w ) static WRITE8_HANDLER( tryout_sound_w ) { soundlatch_w(space,0,data); - cpu_set_input_line(space->machine->cpu[1], 0, PULSE_LINE ); + cpu_set_input_line(space->machine->cpu[1], 0, ASSERT_LINE); } static WRITE8_HANDLER( tryout_sound_irq_ack_w ) { - cpu_set_input_line(space->machine->cpu[1], 0, CLEAR_LINE ); + cpu_set_input_line(space->cpu, 0, CLEAR_LINE); } static WRITE8_HANDLER( tryout_bankswitch_w ) diff --git a/src/mame/drivers/ultrsprt.c b/src/mame/drivers/ultrsprt.c index 8e801adc4bc..6919cfa0281 100644 --- a/src/mame/drivers/ultrsprt.c +++ b/src/mame/drivers/ultrsprt.c @@ -270,9 +270,9 @@ MACHINE_DRIVER_END static void sound_irq_callback(running_machine *machine, int irq) { if (irq == 0) - /*cpu_set_input_line(machine->cpu[1], INPUT_LINE_IRQ5, PULSE_LINE)*/; + /*generic_pulse_irq_line(machine->cpu[1], INPUT_LINE_IRQ5)*/; else - cpu_set_input_line(machine->cpu[1], INPUT_LINE_IRQ6, PULSE_LINE); + generic_pulse_irq_line(machine->cpu[1], INPUT_LINE_IRQ6); } static DRIVER_INIT( ultrsprt ) diff --git a/src/mame/drivers/wecleman.c b/src/mame/drivers/wecleman.c index 548f796a590..bf3f9d7121f 100644 --- a/src/mame/drivers/wecleman.c +++ b/src/mame/drivers/wecleman.c @@ -1127,7 +1127,7 @@ MACHINE_DRIVER_END static INTERRUPT_GEN( hotchase_sound_timer ) { - cpu_set_input_line(device, M6809_FIRQ_LINE, PULSE_LINE ); + generic_pulse_irq_line(device, M6809_FIRQ_LINE); } static MACHINE_DRIVER_START( hotchase ) diff --git a/src/mame/machine/galaxold.c b/src/mame/machine/galaxold.c index 8dd4680d9d9..1ebe4e0b255 100644 --- a/src/mame/machine/galaxold.c +++ b/src/mame/machine/galaxold.c @@ -405,7 +405,7 @@ DRIVER_INIT( 4in1 ) INTERRUPT_GEN( hunchbks_vh_interrupt ) { - cpu_set_input_line_and_vector(device,0,PULSE_LINE,0x03); + generic_pulse_irq_line_and_vector(device,0,0x03); } DRIVER_INIT( ladybugg ) diff --git a/src/mame/machine/mexico86.c b/src/mame/machine/mexico86.c index a729b22c593..3bcbd58e8f2 100644 --- a/src/mame/machine/mexico86.c +++ b/src/mame/machine/mexico86.c @@ -315,7 +315,6 @@ WRITE8_HANDLER( mexico86_68705_portB_w ) if ((ddrB & 0x20) && (data & 0x20) && (~portB_out & 0x20)) { cpu_set_input_line_vector(space->machine->cpu[0],0,mexico86_protection_ram[0]); - //cpu_set_input_line(space->machine->cpu[0],0,PULSE_LINE); cpu_set_input_line(space->machine->cpu[0], 0, HOLD_LINE); //AT: HOLD_LINE works better in Z80 interrupt mode 1. } if ((ddrB & 0x40) && (~data & 0x40) && (portB_out & 0x40)) diff --git a/src/mame/machine/namcos2.c b/src/mame/machine/namcos2.c index 1626ba9e4c7..1dbf6274a8d 100644 --- a/src/mame/machine/namcos2.c +++ b/src/mame/machine/namcos2.c @@ -784,7 +784,7 @@ WRITE8_HANDLER( namcos2_mcu_analog_ctrl_w ) /* If the interrupt enable bit is set trigger an A/D IRQ */ if(data & 0x20) { - cpu_set_input_line(space->machine->cpu[CPU_MCU], HD63705_INT_ADCONV , PULSE_LINE); + generic_pulse_irq_line(space->machine->cpu[CPU_MCU], HD63705_INT_ADCONV); } } } diff --git a/src/mame/machine/playch10.c b/src/mame/machine/playch10.c index 6868abc5408..901cf4c07d3 100644 --- a/src/mame/machine/playch10.c +++ b/src/mame/machine/playch10.c @@ -675,7 +675,7 @@ static void gboard_scanline_cb( int num, int scanline, int vblank, int blanked ) if ( --gboard_scanline_counter == -1 ) { gboard_scanline_counter = gboard_scanline_latch; - cpu_set_input_line(Machine->cpu[1], 0, PULSE_LINE ); + generic_pulse_irq_line(Machine->cpu[1], 0); } } }