Re-routed empty get/set context calls to the dummy CPU's, and removed them

from the CPU cores.

Disabled the use of PULSE_LINE for any input lines except NMI and RESET.
Added a helper function generic_pulse_irq_line() for doing a single-cycle
assert/deassert for those few drivers remaining that were trying to use
PULSE_LINE directly.
This commit is contained in:
Aaron Giles 2008-12-09 06:21:15 +00:00
parent 183b7c9de7
commit eb43d34725
93 changed files with 238 additions and 665 deletions

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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:

View File

@ -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;

View File

@ -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;

View File

@ -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);

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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])
{

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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)

View File

@ -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 )
{

View File

@ -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 );
/***************************************************************************

View File

@ -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); }

View File

@ -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 );

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -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 */

View File

@ -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);
}
}

View File

@ -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);

View File

@ -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;

View File

@ -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);
}

View File

@ -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();
}

View File

@ -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)

View File

@ -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;

View File

@ -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;
}

View File

@ -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 */

View File

@ -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);
}

View File

@ -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 )

View File

@ -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 )

View File

@ -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);

View File

@ -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);
}
}
}

View File

@ -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;

View File

@ -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);
}
}
}

View File

@ -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);
}
}

View File

@ -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)

View File

@ -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

View File

@ -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 )

View File

@ -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);
}
// ************************(***************

View File

@ -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

View File

@ -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);
}
}

View File

@ -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);
}

View File

@ -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);

View File

@ -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

View File

@ -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 )

View File

@ -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 )

View File

@ -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 )

View File

@ -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 )

View File

@ -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))

View File

@ -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);
}
}
}

View File

@ -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);
}
}
}