mirror of
https://github.com/holub/mame
synced 2025-04-25 09:50:04 +03:00
Change cpu execute function to just use the icount stuffed by
the scheduler, rather than manging an incoming cycle count. It was confusing to have multiple sources of cycle counts.
This commit is contained in:
parent
ebdc4525f9
commit
eba2c14060
@ -1009,9 +1009,6 @@ static CPU_EXECUTE( adsp21xx )
|
||||
|
||||
check_irqs(adsp);
|
||||
|
||||
/* count cycles and interrupt cycles */
|
||||
adsp->icount = cycles;
|
||||
|
||||
do
|
||||
{
|
||||
UINT32 temp;
|
||||
@ -1740,8 +1737,6 @@ static CPU_EXECUTE( adsp21xx )
|
||||
|
||||
adsp->icount--;
|
||||
} while (adsp->icount > 0);
|
||||
|
||||
return cycles - adsp->icount;
|
||||
}
|
||||
|
||||
|
||||
|
@ -729,17 +729,18 @@ static CPU_EXIT( alpha8201 )
|
||||
* Execute cycles CPU cycles. Return number of cycles really executed
|
||||
****************************************************************************/
|
||||
|
||||
static int alpha8xxx_execute(running_device *device,const s_opcode *op_map,int cycles)
|
||||
static void alpha8xxx_execute(running_device *device,const s_opcode *op_map)
|
||||
{
|
||||
alpha8201_state *cpustate = get_safe_token(device);
|
||||
unsigned opcode;
|
||||
UINT8 pcptr;
|
||||
|
||||
cpustate->icount = cycles;
|
||||
|
||||
#if HANDLE_HALT_LINE
|
||||
if(cpustate->halt)
|
||||
return cycles;
|
||||
{
|
||||
cpustate->icount = 0;
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* setup address bank & fall safe */
|
||||
@ -806,13 +807,11 @@ mame_printf_debug("alpha8201: cpustate->PC = %03x, opcode = %02x\n", cpustate-
|
||||
(*(op_map[opcode].function))(cpustate);
|
||||
cpustate->icount -= cpustate->inst_cycles;
|
||||
} while (cpustate->icount>0);
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
static CPU_EXECUTE( alpha8201 ) { return alpha8xxx_execute(device,opcode_8201,cycles); }
|
||||
static CPU_EXECUTE( alpha8201 ) { alpha8xxx_execute(device,opcode_8201); }
|
||||
|
||||
static CPU_EXECUTE( ALPHA8301 ) { return alpha8xxx_execute(device,opcode_8301,cycles); }
|
||||
static CPU_EXECUTE( ALPHA8301 ) { alpha8xxx_execute(device,opcode_8301); }
|
||||
|
||||
/****************************************************************************
|
||||
* Set IRQ line state
|
||||
|
@ -386,7 +386,6 @@ static CPU_EXECUTE( am29000 )
|
||||
{
|
||||
am29000_state *am29000 = get_safe_token(device);
|
||||
UINT32 call_debugger = (device->machine->debug_flags & DEBUG_FLAG_ENABLED) != 0;
|
||||
am29000->icount = cycles;
|
||||
|
||||
external_irq_check(am29000);
|
||||
|
||||
@ -448,8 +447,6 @@ static CPU_EXECUTE( am29000 )
|
||||
am29000->exec_pc = am29000->pc;
|
||||
am29000->pc = am29000->next_pc;
|
||||
} while (--am29000->icount > 0);
|
||||
|
||||
return cycles - am29000->icount;
|
||||
}
|
||||
|
||||
static void set_irq_line(am29000_state *am29000, int line, int state)
|
||||
|
@ -834,8 +834,6 @@ static CPU_EXECUTE( apexc )
|
||||
{
|
||||
apexc_state *cpustate = get_safe_token(device);
|
||||
|
||||
cpustate->icount = cycles;
|
||||
|
||||
do
|
||||
{
|
||||
debugger_instruction_hook(device, cpustate->pc);
|
||||
@ -847,8 +845,6 @@ static CPU_EXECUTE( apexc )
|
||||
DELAY(cpustate->icount); /* burn cycles once for all */
|
||||
}
|
||||
} while (cpustate->icount > 0);
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
static CPU_SET_INFO( apexc )
|
||||
|
@ -332,7 +332,6 @@ static CPU_EXECUTE( arm )
|
||||
UINT32 insn;
|
||||
ARM_REGS *cpustate = get_safe_token(device);
|
||||
|
||||
cpustate->icount = cycles;
|
||||
do
|
||||
{
|
||||
debugger_instruction_hook(device, R15 & ADDRESS_MASK);
|
||||
@ -436,8 +435,6 @@ static CPU_EXECUTE( arm )
|
||||
arm_check_irq_state(cpustate);
|
||||
|
||||
} while( cpustate->icount > 0 );
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
} /* arm_execute */
|
||||
|
||||
|
||||
|
@ -45,7 +45,6 @@
|
||||
UINT32 insn;
|
||||
arm_state *cpustate = get_safe_token(device);
|
||||
|
||||
ARM7_ICOUNT = cycles;
|
||||
do
|
||||
{
|
||||
debugger_instruction_hook(cpustate->device, R15);
|
||||
@ -1603,6 +1602,4 @@
|
||||
/* All instructions remove 3 cycles.. Others taking less / more will have adjusted this # prior to here */
|
||||
ARM7_ICOUNT -= 3;
|
||||
} while (ARM7_ICOUNT > 0);
|
||||
|
||||
return cycles - ARM7_ICOUNT;
|
||||
}
|
||||
|
@ -520,7 +520,6 @@ static CPU_EXECUTE( asap )
|
||||
asap_state *asap = get_safe_token(device);
|
||||
|
||||
/* check for IRQs */
|
||||
asap->icount = cycles;
|
||||
check_irqs(asap);
|
||||
|
||||
/* core execution loop */
|
||||
@ -572,7 +571,6 @@ static CPU_EXECUTE( asap )
|
||||
|
||||
} while (asap->icount > 0);
|
||||
}
|
||||
return cycles - asap->icount;
|
||||
}
|
||||
|
||||
|
||||
|
@ -222,8 +222,6 @@ static CPU_EXECUTE( avr8 )
|
||||
//UINT16 pr = 0;
|
||||
avr8_state *cpustate = get_safe_token(device);
|
||||
|
||||
cpustate->icount = cycles;
|
||||
|
||||
while (cpustate->icount > 0)
|
||||
{
|
||||
cpustate->pc &= 0x0fff;
|
||||
@ -991,8 +989,6 @@ static CPU_EXECUTE( avr8 )
|
||||
|
||||
cpustate->icount -= opcycles;
|
||||
}
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -196,9 +196,10 @@ static CPU_EXECUTE( ccpu )
|
||||
ccpu_state *cpustate = get_safe_token(device);
|
||||
|
||||
if (cpustate->waiting)
|
||||
return cycles;
|
||||
|
||||
cpustate->icount = cycles;
|
||||
{
|
||||
cpustate->icount = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
do
|
||||
{
|
||||
@ -683,8 +684,6 @@ static CPU_EXECUTE( ccpu )
|
||||
break;
|
||||
}
|
||||
} while (cpustate->icount > 0);
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
|
||||
|
@ -829,8 +829,6 @@ static CPU_EXECUTE( cdp1802 )
|
||||
{
|
||||
cdp1802_state *cpustate = get_safe_token(device);
|
||||
|
||||
cpustate->icount = cycles;
|
||||
|
||||
cpustate->prevmode = cpustate->mode;
|
||||
cpustate->mode = cpustate->intf->mode_r(device);
|
||||
|
||||
@ -899,8 +897,6 @@ static CPU_EXECUTE( cdp1802 )
|
||||
cdp1802_output_state_code(device);
|
||||
}
|
||||
while (cpustate->icount > 0);
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
static CPU_RESET( cdp1802 )
|
||||
|
@ -1128,8 +1128,6 @@ static CPU_EXECUTE( cop400 )
|
||||
|
||||
UINT8 opcode;
|
||||
|
||||
cpustate->icount = cycles;
|
||||
|
||||
do
|
||||
{
|
||||
cpustate->prevpc = PC;
|
||||
@ -1231,8 +1229,6 @@ static CPU_EXECUTE( cop400 )
|
||||
}
|
||||
}
|
||||
} while (cpustate->icount > 0);
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
/***************************************************************************
|
||||
|
@ -2176,8 +2176,6 @@ static CPU_EXECUTE( cp1610 )
|
||||
cp1610_state *cpustate = get_safe_token(device);
|
||||
UINT16 opcode;
|
||||
|
||||
cpustate->icount = cycles;
|
||||
|
||||
do
|
||||
{
|
||||
debugger_instruction_hook(device, cpustate->r[7]);
|
||||
@ -3381,8 +3379,6 @@ static CPU_EXECUTE( cp1610 )
|
||||
}
|
||||
|
||||
} while( cpustate->icount > 0 );
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
static CPU_INIT( cp1610 )
|
||||
|
@ -502,8 +502,6 @@ static CPU_EXECUTE( cquestsnd )
|
||||
cquestsnd_state *cpustate = get_safe_token_snd(device);
|
||||
int calldebugger = ((device->machine->debug_flags & DEBUG_FLAG_ENABLED) != 0);
|
||||
|
||||
cpustate->icount = cycles;
|
||||
|
||||
/* Core execution loop */
|
||||
do
|
||||
{
|
||||
@ -697,8 +695,6 @@ static CPU_EXECUTE( cquestsnd )
|
||||
|
||||
cpustate->icount--;
|
||||
} while (cpustate->icount > 0);
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
|
||||
@ -767,8 +763,6 @@ static CPU_EXECUTE( cquestrot )
|
||||
cquestlin_state *lincpustate = get_safe_token_lin(cpustate->lindevice);
|
||||
int calldebugger = ((device->machine->debug_flags & DEBUG_FLAG_ENABLED) != 0);
|
||||
|
||||
cpustate->icount = cycles;
|
||||
|
||||
/* Core execution loop */
|
||||
do
|
||||
{
|
||||
@ -1081,8 +1075,6 @@ static CPU_EXECUTE( cquestrot )
|
||||
cpustate->clkcnt++;
|
||||
cpustate->icount--;
|
||||
} while (cpustate->icount > 0);
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
|
||||
@ -1198,8 +1190,6 @@ static CPU_EXECUTE( cquestlin )
|
||||
ptr_ram = &cpustate->ptr_ram[0x100];
|
||||
}
|
||||
|
||||
cpustate->icount = cycles;
|
||||
|
||||
/* Core execution loop */
|
||||
do
|
||||
{
|
||||
@ -1550,8 +1540,6 @@ static CPU_EXECUTE( cquestlin )
|
||||
cpustate->icount--;
|
||||
cpustate->clkcnt++;
|
||||
} while (cpustate->icount > 0);
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
|
||||
|
@ -415,10 +415,10 @@ static CPU_EXECUTE( dsp32c )
|
||||
|
||||
/* skip if halted */
|
||||
if ((cpustate->pcr & PCR_RESET) == 0)
|
||||
return cycles;
|
||||
|
||||
/* count cycles and interrupt cycles */
|
||||
cpustate->icount = cycles;
|
||||
{
|
||||
cpustate->icount = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
/* update buffered accumulator values */
|
||||
cpustate->abufcycle[0] += cpustate->icount;
|
||||
@ -437,8 +437,6 @@ static CPU_EXECUTE( dsp32c )
|
||||
cpustate->abufcycle[1] -= cpustate->icount;
|
||||
cpustate->abufcycle[2] -= cpustate->icount;
|
||||
cpustate->abufcycle[3] -= cpustate->icount;
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
|
||||
|
@ -319,13 +319,18 @@ static CPU_EXECUTE( dsp56k )
|
||||
|
||||
/* If reset line is asserted, do nothing */
|
||||
if (cpustate->reset_state)
|
||||
return cycles;
|
||||
{
|
||||
cpustate->icount = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
/* HACK - if you're in bootstrap mode, simply pretend you ate up all your cycles waiting for data. */
|
||||
if (cpustate->bootstrap_mode != BOOTSTRAP_OFF)
|
||||
return cycles;
|
||||
{
|
||||
cpustate->icount = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
cpustate->icount = cycles;
|
||||
cpustate->icount -= cpustate->interrupt_cycles;
|
||||
cpustate->interrupt_cycles = 0;
|
||||
|
||||
@ -337,8 +342,6 @@ static CPU_EXECUTE( dsp56k )
|
||||
|
||||
cpustate->icount -= cpustate->interrupt_cycles;
|
||||
cpustate->interrupt_cycles = 0;
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
|
||||
|
@ -4659,8 +4659,6 @@ static CPU_EXECUTE( hyperstone )
|
||||
{
|
||||
hyperstone_state *cpustate = get_safe_token(device);
|
||||
|
||||
cpustate->icount = cycles;
|
||||
|
||||
if (cpustate->intblock < 0)
|
||||
cpustate->intblock = 0;
|
||||
check_interrupts(cpustate);
|
||||
@ -4695,8 +4693,6 @@ static CPU_EXECUTE( hyperstone )
|
||||
check_interrupts(cpustate);
|
||||
|
||||
} while( cpustate->icount > 0 );
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
|
||||
|
@ -1666,8 +1666,6 @@ static CPU_EXECUTE( esrip )
|
||||
int calldebugger = (device->machine->debug_flags & DEBUG_FLAG_ENABLED) != 0;
|
||||
UINT8 status;
|
||||
|
||||
cpustate->icount = cycles;
|
||||
|
||||
/* I think we can get away with placing this outside of the loop */
|
||||
status = cpustate->status_in(device->machine);
|
||||
|
||||
@ -1860,8 +1858,6 @@ static CPU_EXECUTE( esrip )
|
||||
|
||||
cpustate->icount--;
|
||||
} while (cpustate->icount > 0);
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
|
||||
|
@ -1586,7 +1586,6 @@ static CPU_RESET( f8 )
|
||||
static CPU_EXECUTE( f8 )
|
||||
{
|
||||
f8_Regs *cpustate = get_safe_token(device);
|
||||
cpustate->icount = cycles;
|
||||
|
||||
do
|
||||
{
|
||||
@ -1890,8 +1889,6 @@ static CPU_EXECUTE( f8 )
|
||||
}
|
||||
|
||||
} while( cpustate->icount > 0 );
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
CPU_DISASSEMBLE( f8 );
|
||||
|
@ -249,7 +249,7 @@ static CPU_EXECUTE( g65816 )
|
||||
{
|
||||
g65816i_cpu_struct *cpustate = get_safe_token(device);
|
||||
|
||||
return FTABLE_EXECUTE(cpustate, cycles);
|
||||
cpustate->ICount = FTABLE_EXECUTE(cpustate, cpustate->ICount);
|
||||
}
|
||||
|
||||
|
||||
|
@ -216,8 +216,6 @@ static CPU_EXECUTE( h6280 )
|
||||
int in;
|
||||
h6280_Regs* cpustate = get_safe_token(device);
|
||||
|
||||
cpustate->ICount = cycles;
|
||||
|
||||
if ( cpustate->irq_pending == 2 ) {
|
||||
cpustate->irq_pending--;
|
||||
}
|
||||
@ -258,8 +256,6 @@ static CPU_EXECUTE( h6280 )
|
||||
}
|
||||
}
|
||||
} while (cpustate->ICount > 0);
|
||||
|
||||
return cycles - cpustate->ICount;
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -110,8 +110,6 @@ static CPU_EXECUTE(h8)
|
||||
h83xx_state *h8 = get_safe_token(device);
|
||||
UINT16 opcode=0;
|
||||
|
||||
h8->cyccnt = cycles;
|
||||
|
||||
h8_check_irqs(h8);
|
||||
|
||||
while ((h8->cyccnt > 0) && (!h8->h8err))
|
||||
@ -224,8 +222,6 @@ static CPU_EXECUTE(h8)
|
||||
{
|
||||
fatalerror("H8/3xx: Unknown opcode (PC=%x) %x", h8->ppc, opcode);
|
||||
}
|
||||
|
||||
return cycles - h8->cyccnt;
|
||||
}
|
||||
|
||||
static void h8_group0(h83xx_state *h8, UINT16 opcode)
|
||||
|
@ -638,7 +638,7 @@ static CPU_EXECUTE( hd6309 ) /* NS 970908 */
|
||||
{
|
||||
m68_state_t *m68_state = get_safe_token(device);
|
||||
|
||||
m68_state->icount = cycles - m68_state->extra_cycles;
|
||||
m68_state->icount -= m68_state->extra_cycles;
|
||||
m68_state->extra_cycles = 0;
|
||||
|
||||
check_irq_lines(m68_state);
|
||||
@ -929,8 +929,6 @@ static CPU_EXECUTE( hd6309 ) /* NS 970908 */
|
||||
m68_state->icount -= m68_state->extra_cycles;
|
||||
m68_state->extra_cycles = 0;
|
||||
}
|
||||
|
||||
return cycles - m68_state->icount; /* NS 970908 */
|
||||
}
|
||||
|
||||
INLINE void fetch_effective_address( m68_state_t *m68_state )
|
||||
|
@ -717,14 +717,15 @@ static CPU_EXECUTE( i386 )
|
||||
{
|
||||
i386_state *cpustate = get_safe_token(device);
|
||||
|
||||
cpustate->cycles = cycles;
|
||||
int cycles = cpustate->cycles;
|
||||
cpustate->base_cycles = cycles;
|
||||
CHANGE_PC(cpustate,cpustate->eip);
|
||||
|
||||
if (cpustate->halted)
|
||||
{
|
||||
cpustate->tsc += cycles;
|
||||
return cycles;
|
||||
cpustate->cycles = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
while( cpustate->cycles > 0 )
|
||||
@ -741,8 +742,6 @@ static CPU_EXECUTE( i386 )
|
||||
I386OP(decode_opcode)(cpustate);
|
||||
}
|
||||
cpustate->tsc += (cycles - cpustate->cycles);
|
||||
|
||||
return cycles - cpustate->cycles;
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
@ -426,17 +426,12 @@ static CPU_EXECUTE( i4004 )
|
||||
{
|
||||
i4004_state *cpustate = get_safe_token(device);
|
||||
|
||||
cpustate->icount = cycles;
|
||||
|
||||
|
||||
do
|
||||
{
|
||||
debugger_instruction_hook(device, GET_PC.d);
|
||||
execute_one(cpustate, ROP(cpustate));
|
||||
|
||||
} while (cpustate->icount > 0);
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
/***************************************************************************
|
||||
|
@ -484,8 +484,6 @@ static CPU_EXECUTE( i8008 )
|
||||
{
|
||||
i8008_state *cpustate = get_safe_token(device);
|
||||
|
||||
cpustate->icount = cycles;
|
||||
|
||||
do
|
||||
{
|
||||
if (cpustate->irq_state != CLEAR_LINE) {
|
||||
@ -495,8 +493,6 @@ static CPU_EXECUTE( i8008 )
|
||||
execute_one(cpustate, ROP(cpustate));
|
||||
|
||||
} while (cpustate->icount > 0);
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
/***************************************************************************
|
||||
|
@ -914,8 +914,6 @@ static CPU_EXECUTE( i808x )
|
||||
{
|
||||
i8085_state *cpustate = get_safe_token(device);
|
||||
|
||||
cpustate->icount = cycles;
|
||||
|
||||
/* check for TRAPs before diving in (can't do others because of after_ei) */
|
||||
if (cpustate->trap_pending || cpustate->after_ei == 0)
|
||||
check_for_interrupts(cpustate);
|
||||
@ -933,8 +931,6 @@ static CPU_EXECUTE( i808x )
|
||||
execute_one(cpustate, ROP(cpustate));
|
||||
|
||||
} while (cpustate->icount > 0);
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
|
||||
|
@ -214,14 +214,16 @@ static CPU_EXECUTE( i80286 )
|
||||
i80286_state *cpustate = get_safe_token(device);
|
||||
|
||||
if (cpustate->halted)
|
||||
return cycles;
|
||||
{
|
||||
cpustate->icount = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
/* copy over the cycle counts if they're not correct */
|
||||
if (timing.id != 80286)
|
||||
timing = i80286_cycles;
|
||||
|
||||
/* adjust for any interrupts that came in */
|
||||
cpustate->icount = cycles;
|
||||
cpustate->icount -= cpustate->extra_cycles;
|
||||
cpustate->extra_cycles = 0;
|
||||
|
||||
@ -240,8 +242,6 @@ static CPU_EXECUTE( i80286 )
|
||||
/* adjust for any interrupts that came in */
|
||||
cpustate->icount -= cpustate->extra_cycles;
|
||||
cpustate->extra_cycles = 0;
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
extern int i386_dasm_one(char *buffer, UINT32 eip, const UINT8 *oprom, int mode);
|
||||
|
@ -283,14 +283,16 @@ static CPU_EXECUTE( i8086 )
|
||||
|
||||
|
||||
if (cpustate->halted)
|
||||
return cycles;
|
||||
{
|
||||
cpustate->icount = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
/* copy over the cycle counts if they're not correct */
|
||||
if (timing.id != 8086)
|
||||
timing = i8086_cycles;
|
||||
|
||||
/* adjust for any interrupts that came in */
|
||||
cpustate->icount = cycles;
|
||||
cpustate->icount -= cpustate->extra_cycles;
|
||||
cpustate->extra_cycles = 0;
|
||||
|
||||
@ -310,8 +312,6 @@ static CPU_EXECUTE( i8086 )
|
||||
/* adjust for any interrupts that came in */
|
||||
cpustate->icount -= cpustate->extra_cycles;
|
||||
cpustate->extra_cycles = 0;
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
|
||||
@ -345,7 +345,6 @@ static CPU_EXECUTE( i80186 )
|
||||
timing = i80186_cycles;
|
||||
|
||||
/* adjust for any interrupts that came in */
|
||||
cpustate->icount = cycles;
|
||||
cpustate->icount -= cpustate->extra_cycles;
|
||||
cpustate->extra_cycles = 0;
|
||||
|
||||
@ -364,8 +363,6 @@ static CPU_EXECUTE( i80186 )
|
||||
/* adjust for any interrupts that came in */
|
||||
cpustate->icount -= cpustate->extra_cycles;
|
||||
cpustate->extra_cycles = 0;
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
|
||||
|
@ -4448,11 +4448,13 @@ static CPU_EXECUTE( i860 )
|
||||
if (cpustate->pin_reset)
|
||||
reset_i860 (cpustate);
|
||||
if (cpustate->pin_bus_hold)
|
||||
return cycles;
|
||||
{
|
||||
cpustate->icount = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
cpustate->exiting_readmem = 0;
|
||||
cpustate->exiting_ifetch = 0;
|
||||
cpustate->icount = cycles;
|
||||
|
||||
/* Decode and execute loop. */
|
||||
while (cpustate->icount > 0)
|
||||
@ -4522,8 +4524,6 @@ static CPU_EXECUTE( i860 )
|
||||
/*if (cpustate->single_stepping)
|
||||
debugger (cpustate); */
|
||||
}
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
/*=================================================================*/
|
||||
|
||||
|
@ -1958,7 +1958,6 @@ static CPU_EXECUTE( i960 )
|
||||
i960_state_t *i960 = get_safe_token(device);
|
||||
UINT32 opcode;
|
||||
|
||||
i960->icount = cycles;
|
||||
check_irqs(i960);
|
||||
while(i960->icount > 0) {
|
||||
i960->PIP = i960->IP;
|
||||
@ -1971,7 +1970,6 @@ static CPU_EXECUTE( i960 )
|
||||
|
||||
execute_op(i960, opcode);
|
||||
}
|
||||
return cycles - i960->icount;
|
||||
}
|
||||
|
||||
static void set_irq_line(i960_state_t *i960, int irqline, int state)
|
||||
|
@ -482,7 +482,8 @@ static CPU_EXECUTE( jaguargpu )
|
||||
if (!(jaguar->ctrl[G_CTRL] & 1))
|
||||
{
|
||||
cpu_set_input_line(device, INPUT_LINE_HALT, ASSERT_LINE);
|
||||
return cycles;
|
||||
jaguar->icount = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
/* check for IRQs */
|
||||
@ -490,7 +491,6 @@ static CPU_EXECUTE( jaguargpu )
|
||||
|
||||
/* count cycles and interrupt cycles */
|
||||
jaguar->bankswitch_icount = -1000;
|
||||
jaguar->icount = cycles;
|
||||
|
||||
/* core execution loop */
|
||||
do
|
||||
@ -511,8 +511,6 @@ static CPU_EXECUTE( jaguargpu )
|
||||
jaguar->icount--;
|
||||
|
||||
} while (jaguar->icount > 0 || jaguar->icount == jaguar->bankswitch_icount);
|
||||
|
||||
return cycles - jaguar->icount;
|
||||
}
|
||||
|
||||
static CPU_EXECUTE( jaguardsp )
|
||||
@ -523,7 +521,8 @@ static CPU_EXECUTE( jaguardsp )
|
||||
if (!(jaguar->ctrl[G_CTRL] & 1))
|
||||
{
|
||||
cpu_set_input_line(device, INPUT_LINE_HALT, ASSERT_LINE);
|
||||
return cycles;
|
||||
jaguar->icount = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
/* check for IRQs */
|
||||
@ -531,7 +530,6 @@ static CPU_EXECUTE( jaguardsp )
|
||||
|
||||
/* count cycles and interrupt cycles */
|
||||
jaguar->bankswitch_icount = -1000;
|
||||
jaguar->icount = cycles;
|
||||
|
||||
/* core execution loop */
|
||||
do
|
||||
@ -552,8 +550,6 @@ static CPU_EXECUTE( jaguardsp )
|
||||
jaguar->icount--;
|
||||
|
||||
} while (jaguar->icount > 0 || jaguar->icount == jaguar->bankswitch_icount);
|
||||
|
||||
return cycles - jaguar->icount;
|
||||
}
|
||||
|
||||
|
||||
|
@ -473,7 +473,6 @@ static CPU_EXECUTE( konami )
|
||||
{
|
||||
konami_state *cpustate = get_safe_token(device);
|
||||
|
||||
cpustate->icount = cycles;
|
||||
check_irq_lines(cpustate);
|
||||
|
||||
if( cpustate->int_state & (KONAMI_CWAI | KONAMI_SYNC) )
|
||||
@ -499,8 +498,6 @@ static CPU_EXECUTE( konami )
|
||||
|
||||
} while( cpustate->icount > 0 );
|
||||
}
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
|
||||
|
@ -122,8 +122,6 @@ static CPU_EXECUTE( lh5801 )
|
||||
{
|
||||
lh5801_state *cpustate = get_safe_token(device);
|
||||
|
||||
cpustate->icount = cycles;
|
||||
|
||||
if (cpustate->idle) {
|
||||
cpustate->icount=0;
|
||||
} else {
|
||||
@ -136,8 +134,6 @@ static CPU_EXECUTE( lh5801 )
|
||||
|
||||
} while (cpustate->icount > 0);
|
||||
}
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
static void set_irq_line(lh5801_state *cpustate, int irqline, int state)
|
||||
|
@ -306,8 +306,6 @@ static CPU_EXECUTE( lr35902 )
|
||||
{
|
||||
lr35902_state *cpustate = get_safe_token(device);
|
||||
|
||||
cpustate->w.icount = cycles;
|
||||
|
||||
do
|
||||
{
|
||||
if ( cpustate->w.execution_state ) {
|
||||
@ -334,8 +332,6 @@ static CPU_EXECUTE( lr35902 )
|
||||
}
|
||||
cpustate->w.execution_state ^= 1;
|
||||
} while (cpustate->w.icount > 0);
|
||||
|
||||
return cycles - cpustate->w.icount;
|
||||
}
|
||||
|
||||
static CPU_BURN( lr35902 )
|
||||
|
@ -817,7 +817,7 @@ static CPU_EXECUTE( m37710 )
|
||||
|
||||
m37710i_update_irqs(m37710);
|
||||
|
||||
return m37710->execute(m37710, cycles);
|
||||
m37710->ICount = m37710->execute(m37710, m37710->ICount);
|
||||
}
|
||||
|
||||
|
||||
|
@ -282,8 +282,6 @@ static CPU_EXECUTE( m4510 )
|
||||
{
|
||||
m4510_Regs *cpustate = get_safe_token(device);
|
||||
|
||||
cpustate->icount = cycles;
|
||||
|
||||
do
|
||||
{
|
||||
UINT8 op;
|
||||
@ -318,8 +316,6 @@ static CPU_EXECUTE( m4510 )
|
||||
m4510_take_irq(cpustate);
|
||||
|
||||
} while (cpustate->icount > 0);
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
static void m4510_set_irq_line(m4510_Regs *cpustate, int irqline, int state)
|
||||
|
@ -226,8 +226,6 @@ static CPU_EXECUTE( m6502 )
|
||||
{
|
||||
m6502_Regs *cpustate = get_safe_token(device);
|
||||
|
||||
cpustate->icount = cycles;
|
||||
|
||||
do
|
||||
{
|
||||
UINT8 op;
|
||||
@ -271,8 +269,6 @@ static CPU_EXECUTE( m6502 )
|
||||
}
|
||||
|
||||
} while (cpustate->icount > 0);
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
static void m6502_set_irq_line(m6502_Regs *cpustate, int irqline, int state)
|
||||
@ -447,8 +443,6 @@ static CPU_EXECUTE( m65c02 )
|
||||
{
|
||||
m6502_Regs *cpustate = get_safe_token(device);
|
||||
|
||||
cpustate->icount = cycles;
|
||||
|
||||
do
|
||||
{
|
||||
UINT8 op;
|
||||
@ -484,8 +478,6 @@ static CPU_EXECUTE( m65c02 )
|
||||
m65c02_take_irq(cpustate);
|
||||
|
||||
} while (cpustate->icount > 0);
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
static void m65c02_set_irq_line(m6502_Regs *cpustate, int irqline, int state)
|
||||
@ -613,8 +605,6 @@ static CPU_EXECUTE( deco16 )
|
||||
{
|
||||
m6502_Regs *cpustate = get_safe_token(device);
|
||||
|
||||
cpustate->icount = cycles;
|
||||
|
||||
do
|
||||
{
|
||||
UINT8 op;
|
||||
@ -650,8 +640,6 @@ static CPU_EXECUTE( deco16 )
|
||||
deco16_take_irq(cpustate);
|
||||
|
||||
} while (cpustate->icount > 0);
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
|
||||
|
@ -210,8 +210,6 @@ static CPU_EXECUTE( m6509 )
|
||||
{
|
||||
m6509_Regs *cpustate = get_safe_token(device);
|
||||
|
||||
cpustate->icount = cycles;
|
||||
|
||||
do
|
||||
{
|
||||
UINT8 op;
|
||||
@ -246,8 +244,6 @@ static CPU_EXECUTE( m6509 )
|
||||
m6509_take_irq(cpustate);
|
||||
|
||||
} while (cpustate->icount > 0);
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
static void m6509_set_irq_line(m6509_Regs *cpustate, int irqline, int state)
|
||||
|
@ -169,8 +169,6 @@ static CPU_EXECUTE( m65ce02 )
|
||||
{
|
||||
m65ce02_Regs *cpustate = get_safe_token(device);
|
||||
|
||||
cpustate->icount = cycles;
|
||||
|
||||
do
|
||||
{
|
||||
UINT8 op;
|
||||
@ -205,8 +203,6 @@ static CPU_EXECUTE( m65ce02 )
|
||||
m65ce02_take_irq(cpustate);
|
||||
|
||||
} while (cpustate->icount > 0);
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
static void m65ce02_set_irq_line(m65ce02_Regs *cpustate, int irqline, int state)
|
||||
|
@ -1255,7 +1255,6 @@ static CPU_EXECUTE( m6800 )
|
||||
{
|
||||
m6800_state *cpustate = get_safe_token(device);
|
||||
UINT8 ireg;
|
||||
cpustate->icount = cycles;
|
||||
|
||||
CHECK_IRQ_LINES(cpustate); /* HJB 990417 */
|
||||
|
||||
@ -1277,8 +1276,6 @@ static CPU_EXECUTE( m6800 )
|
||||
increment_counter(cpustate, cycles_6800[ireg]);
|
||||
}
|
||||
} while( cpustate->icount>0 );
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
@ -1620,7 +1617,6 @@ static CPU_EXECUTE( m6803 )
|
||||
{
|
||||
m6800_state *cpustate = get_safe_token(device);
|
||||
UINT8 ireg;
|
||||
cpustate->icount = cycles;
|
||||
|
||||
CHECK_IRQ_LINES(cpustate); /* HJB 990417 */
|
||||
|
||||
@ -1642,8 +1638,6 @@ static CPU_EXECUTE( m6803 )
|
||||
increment_counter(cpustate, cycles_6803[ireg]);
|
||||
}
|
||||
} while( cpustate->icount>0 );
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
|
||||
@ -1974,7 +1968,6 @@ static CPU_EXECUTE( hd63701 )
|
||||
{
|
||||
m6800_state *cpustate = get_safe_token(device);
|
||||
UINT8 ireg;
|
||||
cpustate->icount = cycles;
|
||||
|
||||
CHECK_IRQ_LINES(cpustate); /* HJB 990417 */
|
||||
|
||||
@ -1996,8 +1989,6 @@ static CPU_EXECUTE( hd63701 )
|
||||
increment_counter(cpustate, cycles_63701[ireg]);
|
||||
}
|
||||
} while( cpustate->icount>0 );
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
/*
|
||||
@ -2320,7 +2311,6 @@ static CPU_EXECUTE( nsc8105 )
|
||||
{
|
||||
m6800_state *cpustate = get_safe_token(device);
|
||||
UINT8 ireg;
|
||||
cpustate->icount = cycles;
|
||||
|
||||
CHECK_IRQ_LINES(cpustate); /* HJB 990417 */
|
||||
|
||||
@ -2342,8 +2332,6 @@ static CPU_EXECUTE( nsc8105 )
|
||||
increment_counter(cpustate, cycles_nsc8105[ireg]);
|
||||
}
|
||||
} while( cpustate->icount>0 );
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
|
||||
|
@ -577,20 +577,17 @@ static CPU_EXECUTE( m68k )
|
||||
{
|
||||
m68ki_cpu_core *m68k = get_safe_token(device);
|
||||
|
||||
m68k->initial_cycles = cycles;
|
||||
m68k->initial_cycles = m68k->remaining_cycles;
|
||||
|
||||
/* eat up any reset cycles */
|
||||
if (m68k->reset_cycles) {
|
||||
int rc = m68k->reset_cycles;
|
||||
m68k->reset_cycles = 0;
|
||||
cycles -= rc;
|
||||
m68k->remaining_cycles -= rc;
|
||||
|
||||
if (cycles <= 0) return rc;
|
||||
if (m68k->remaining_cycles <= 0) return;
|
||||
}
|
||||
|
||||
/* Set our pool of clock cycles available */
|
||||
m68k->remaining_cycles = cycles;
|
||||
|
||||
/* See if interrupts came in */
|
||||
m68ki_check_interrupts(m68k);
|
||||
|
||||
@ -626,9 +623,6 @@ static CPU_EXECUTE( m68k )
|
||||
}
|
||||
else if (m68k->remaining_cycles > 0)
|
||||
m68k->remaining_cycles = 0;
|
||||
|
||||
/* return how many clocks we used */
|
||||
return m68k->initial_cycles - m68k->remaining_cycles;
|
||||
}
|
||||
|
||||
static CPU_INIT( m68k )
|
||||
|
@ -276,7 +276,7 @@ typedef struct _m68ki_cpu_core m68ki_cpu_core;
|
||||
{ \
|
||||
if (m68k->remaining_cycles > 0) \
|
||||
m68k->remaining_cycles = 0; \
|
||||
return m68k->initial_cycles; \
|
||||
return; \
|
||||
} \
|
||||
}
|
||||
|
||||
@ -297,7 +297,7 @@ typedef struct _m68ki_cpu_core m68ki_cpu_core;
|
||||
{ \
|
||||
if (m68k->remaining_cycles > 0) \
|
||||
m68k->remaining_cycles = 0; \
|
||||
return m68k->initial_cycles; \
|
||||
return; \
|
||||
} \
|
||||
}
|
||||
|
||||
|
@ -514,7 +514,6 @@ static CPU_EXECUTE( m6805 )
|
||||
m6805_Regs *cpustate = get_safe_token(device);
|
||||
|
||||
S = SP_ADJUST( S ); /* Taken from CPU_SET_CONTEXT when pointer'afying */
|
||||
cpustate->iCount = cycles;
|
||||
|
||||
do
|
||||
{
|
||||
@ -799,8 +798,6 @@ static CPU_EXECUTE( m6805 )
|
||||
}
|
||||
cpustate->iCount -= cycles1[ireg];
|
||||
} while( cpustate->iCount > 0 );
|
||||
|
||||
return cycles - cpustate->iCount;
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
|
@ -487,7 +487,7 @@ static CPU_EXECUTE( m6809 ) /* NS 970908 */
|
||||
{
|
||||
m68_state_t *m68_state = get_safe_token(device);
|
||||
|
||||
m68_state->icount = cycles - m68_state->extra_cycles;
|
||||
m68_state->icount -= m68_state->extra_cycles;
|
||||
m68_state->extra_cycles = 0;
|
||||
|
||||
check_irq_lines(m68_state);
|
||||
@ -777,8 +777,6 @@ static CPU_EXECUTE( m6809 ) /* NS 970908 */
|
||||
m68_state->icount -= m68_state->extra_cycles;
|
||||
m68_state->extra_cycles = 0;
|
||||
}
|
||||
|
||||
return cycles - m68_state->icount; /* NS 970908 */
|
||||
}
|
||||
|
||||
INLINE void fetch_effective_address( m68_state_t *m68_state )
|
||||
|
@ -941,8 +941,6 @@ static CPU_EXECUTE( mb86233 )
|
||||
{
|
||||
mb86233_state *cpustate = get_safe_token(device);
|
||||
|
||||
cpustate->icount = cycles;
|
||||
|
||||
while( cpustate->icount > 0 )
|
||||
{
|
||||
UINT32 val;
|
||||
@ -1555,8 +1553,6 @@ static CPU_EXECUTE( mb86233 )
|
||||
cpustate->icount = 0;
|
||||
}
|
||||
}
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
/***************************************************************************
|
||||
|
@ -339,8 +339,6 @@ static CPU_EXECUTE( mb88 )
|
||||
{
|
||||
mb88_state *cpustate = get_safe_token(device);
|
||||
|
||||
cpustate->icount = cycles;
|
||||
|
||||
while (cpustate->icount > 0)
|
||||
{
|
||||
UINT8 opcode, arg, oc;
|
||||
@ -857,8 +855,6 @@ static CPU_EXECUTE( mb88 )
|
||||
/* update interrupts, serial and timer flags */
|
||||
update_pio(cpustate, oc);
|
||||
}
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
/***************************************************************************
|
||||
|
@ -496,8 +496,6 @@ static CPU_EXECUTE( hc11 )
|
||||
{
|
||||
hc11_state *cpustate = get_safe_token(device);
|
||||
|
||||
cpustate->icount = cycles;
|
||||
|
||||
while(cpustate->icount > 0)
|
||||
{
|
||||
UINT8 op;
|
||||
@ -510,8 +508,6 @@ static CPU_EXECUTE( hc11 )
|
||||
op = FETCH(cpustate);
|
||||
hc11_optable[op](cpustate);
|
||||
}
|
||||
|
||||
return cycles-cpustate->icount;
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -1122,8 +1122,6 @@ static CPU_EXECUTE( mcs48 )
|
||||
|
||||
update_regptr(cpustate);
|
||||
|
||||
cpustate->icount = cycles;
|
||||
|
||||
/* external interrupts may have been set since we last checked */
|
||||
curcycles = check_irqs(cpustate);
|
||||
cpustate->icount -= curcycles;
|
||||
@ -1149,8 +1147,6 @@ static CPU_EXECUTE( mcs48 )
|
||||
burn_cycles(cpustate, curcycles);
|
||||
|
||||
} while (cpustate->icount > 0);
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
|
||||
|
@ -1928,8 +1928,6 @@ static CPU_EXECUTE( mcs51 )
|
||||
|
||||
update_ptrs(mcs51_state);
|
||||
|
||||
mcs51_state->icount = cycles;
|
||||
|
||||
/* external interrupts may have been set since we last checked */
|
||||
mcs51_state->inst_cycles = 0;
|
||||
check_irqs(mcs51_state);
|
||||
@ -1938,7 +1936,7 @@ static CPU_EXECUTE( mcs51 )
|
||||
if ((mcs51_state->features & FEATURE_CMOS) && GET_PD)
|
||||
{
|
||||
mcs51_state->icount = 0;
|
||||
return cycles;
|
||||
return;
|
||||
}
|
||||
|
||||
mcs51_state->icount -= mcs51_state->inst_cycles;
|
||||
@ -1952,7 +1950,7 @@ static CPU_EXECUTE( mcs51 )
|
||||
mcs51_state->icount--;
|
||||
burn_cycles(mcs51_state, 1);
|
||||
} while( mcs51_state->icount > 0 );
|
||||
return cycles - mcs51_state->icount;
|
||||
return;
|
||||
}
|
||||
|
||||
do
|
||||
@ -1971,7 +1969,7 @@ static CPU_EXECUTE( mcs51 )
|
||||
|
||||
/* if in powerdown, just return */
|
||||
if ((mcs51_state->features & FEATURE_CMOS) && GET_PD)
|
||||
return cycles - mcs51_state->icount;
|
||||
return;
|
||||
|
||||
burn_cycles(mcs51_state, mcs51_state->inst_cycles);
|
||||
|
||||
@ -1981,11 +1979,9 @@ static CPU_EXECUTE( mcs51 )
|
||||
|
||||
/* If the chip entered in idle mode, end the loop */
|
||||
if ((mcs51_state->features & FEATURE_CMOS) && GET_IDL)
|
||||
return cycles - mcs51_state->icount;
|
||||
return;
|
||||
|
||||
} while( mcs51_state->icount > 0 );
|
||||
|
||||
return cycles - mcs51_state->icount;
|
||||
}
|
||||
|
||||
|
||||
|
@ -174,8 +174,6 @@ static CPU_EXECUTE( minx )
|
||||
UINT8 op;
|
||||
minx_state *minx = get_safe_token(device);
|
||||
|
||||
minx->icount = cycles;
|
||||
|
||||
do
|
||||
{
|
||||
debugger_instruction_hook(device, GET_MINX_PC);
|
||||
@ -210,7 +208,6 @@ static CPU_EXECUTE( minx )
|
||||
minx->icount -= insnminx_cycles[op];
|
||||
}
|
||||
} while ( minx->icount > 0 );
|
||||
return cycles - minx->icount;
|
||||
}
|
||||
|
||||
|
||||
|
@ -1639,7 +1639,6 @@ INLINE void handle_cop2(UINT32 op)
|
||||
CPU_EXECUTE( mips3 )
|
||||
{
|
||||
/* count cycles and interrupt cycles */
|
||||
mips3.core.icount = cycles;
|
||||
mips3.core.icount -= mips3.interrupt_cycles;
|
||||
mips3.interrupt_cycles = 0;
|
||||
|
||||
@ -1929,7 +1928,6 @@ CPU_EXECUTE( mips3 )
|
||||
|
||||
mips3.core.icount -= mips3.interrupt_cycles;
|
||||
mips3.interrupt_cycles = 0;
|
||||
return cycles - mips3.core.icount;
|
||||
}
|
||||
|
||||
|
||||
|
@ -520,7 +520,6 @@ static CPU_EXECUTE( mips3 )
|
||||
mips3->impstate->cache_dirty = FALSE;
|
||||
|
||||
/* execute */
|
||||
mips3->icount = cycles;
|
||||
do
|
||||
{
|
||||
/* run as much as we can */
|
||||
@ -535,9 +534,6 @@ static CPU_EXECUTE( mips3 )
|
||||
code_flush_cache(mips3);
|
||||
|
||||
} while (execute_result != EXECUTE_OUT_OF_CYCLES);
|
||||
|
||||
/* return the number of cycles executed */
|
||||
return cycles - mips3->icount;
|
||||
}
|
||||
|
||||
|
||||
|
@ -1848,8 +1848,6 @@ static CPU_EXECUTE( psxcpu )
|
||||
{
|
||||
psxcpu_state *psxcpu = get_safe_token(device);
|
||||
|
||||
psxcpu->icount = cycles;
|
||||
|
||||
do
|
||||
{
|
||||
if (LOG_BIOSCALL) log_bioscall( psxcpu );
|
||||
@ -2841,8 +2839,6 @@ static CPU_EXECUTE( psxcpu )
|
||||
}
|
||||
psxcpu->icount--;
|
||||
} while( psxcpu->icount > 0 );
|
||||
|
||||
return cycles - psxcpu->icount;
|
||||
}
|
||||
|
||||
static void set_irq_line( psxcpu_state *psxcpu, int irqline, int state )
|
||||
|
@ -693,7 +693,6 @@ static CPU_EXECUTE( r3000 )
|
||||
r3000_state *r3000 = get_safe_token(device);
|
||||
|
||||
/* count cycles and interrupt cycles */
|
||||
r3000->icount = cycles;
|
||||
r3000->icount -= r3000->interrupt_cycles;
|
||||
r3000->interrupt_cycles = 0;
|
||||
|
||||
@ -881,7 +880,6 @@ static CPU_EXECUTE( r3000 )
|
||||
|
||||
r3000->icount -= r3000->interrupt_cycles;
|
||||
r3000->interrupt_cycles = 0;
|
||||
return cycles - r3000->icount;
|
||||
}
|
||||
|
||||
|
||||
|
@ -513,8 +513,6 @@ static CPU_EXECUTE(mn10200)
|
||||
{
|
||||
mn102_info *mn102 = get_safe_token(device);
|
||||
|
||||
mn102->cycles = cycles;
|
||||
|
||||
while(mn102->cycles > 0)
|
||||
{
|
||||
UINT8 opcode;
|
||||
@ -1818,8 +1816,6 @@ static CPU_EXECUTE(mn10200)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return cycles - mn102->cycles;
|
||||
}
|
||||
|
||||
static const char *const inames[10][4] = {
|
||||
|
@ -1191,8 +1191,6 @@ static CPU_EXECUTE( necv )
|
||||
nec_state_t *nec_state = get_safe_token(device);
|
||||
int prev_ICount;
|
||||
|
||||
nec_state->icount=cycles;
|
||||
|
||||
while(nec_state->icount>0) {
|
||||
/* Dispatch IRQ */
|
||||
if (nec_state->pending_irq && nec_state->no_interrupt==0)
|
||||
@ -1212,7 +1210,6 @@ static CPU_EXECUTE( necv )
|
||||
nec_instruction[fetchop(nec_state)](nec_state);
|
||||
do_prefetch(nec_state, prev_ICount);
|
||||
}
|
||||
return cycles - nec_state->icount;
|
||||
}
|
||||
|
||||
/* Wrappers for the different CPU types */
|
||||
|
@ -622,8 +622,6 @@ static CPU_EXECUTE( pdp1 )
|
||||
{
|
||||
pdp1_state *cpustate = get_safe_token(device);
|
||||
|
||||
cpustate->icount = cycles;
|
||||
|
||||
do
|
||||
{
|
||||
debugger_instruction_hook(device, PC);
|
||||
@ -861,8 +859,6 @@ static CPU_EXECUTE( pdp1 )
|
||||
}
|
||||
}
|
||||
while (cpustate->icount > 0);
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
|
||||
|
@ -165,8 +165,6 @@ static CPU_EXECUTE( tx0_64kw )
|
||||
{
|
||||
tx0_state *cpustate = get_safe_token(device);
|
||||
|
||||
cpustate->icount = cycles;
|
||||
|
||||
do
|
||||
{
|
||||
debugger_instruction_hook(device, PC);
|
||||
@ -266,8 +264,6 @@ static CPU_EXECUTE( tx0_64kw )
|
||||
}
|
||||
}
|
||||
while (cpustate->icount > 0);
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
/* execute instructions on this CPU until icount expires */
|
||||
@ -275,8 +271,6 @@ static CPU_EXECUTE( tx0_8kw )
|
||||
{
|
||||
tx0_state *cpustate = get_safe_token(device);
|
||||
|
||||
cpustate->icount = cycles;
|
||||
|
||||
do
|
||||
{
|
||||
debugger_instruction_hook(device, PC);
|
||||
@ -376,8 +370,6 @@ static CPU_EXECUTE( tx0_8kw )
|
||||
}
|
||||
}
|
||||
while (cpustate->icount > 0);
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
|
||||
|
@ -888,8 +888,6 @@ static CPU_EXECUTE( pic16c5x )
|
||||
|
||||
update_internalram_ptr(cpustate);
|
||||
|
||||
cpustate->icount = cycles;
|
||||
|
||||
do
|
||||
{
|
||||
if (PD == 0) /* Sleep Mode */
|
||||
@ -950,8 +948,6 @@ static CPU_EXECUTE( pic16c5x )
|
||||
cpustate->icount -= cpustate->inst_cycles;
|
||||
|
||||
} while (cpustate->icount > 0);
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
|
||||
|
@ -1008,8 +1008,6 @@ static CPU_EXECUTE( pic16c62x )
|
||||
|
||||
update_internalram_ptr(cpustate);
|
||||
|
||||
cpustate->icount = cycles;
|
||||
|
||||
do
|
||||
{
|
||||
if (PD == 0) /* Sleep Mode */
|
||||
@ -1064,8 +1062,6 @@ static CPU_EXECUTE( pic16c62x )
|
||||
cpustate->icount -= cpustate->inst_cycles;
|
||||
|
||||
} while (cpustate->icount > 0);
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
|
||||
|
@ -150,7 +150,6 @@ static CPU_RESET( ppc403 )
|
||||
static CPU_EXECUTE( ppc403 )
|
||||
{
|
||||
UINT32 fit_trigger_cycle;
|
||||
ppc_icount = cycles;
|
||||
ppc_tb_base_icount = cycles;
|
||||
|
||||
fit_trigger_cycle = 0x7fffffff;
|
||||
@ -244,8 +243,6 @@ static CPU_EXECUTE( ppc403 )
|
||||
|
||||
// update timebase
|
||||
ppc.tb += (ppc_tb_base_icount - ppc_icount);
|
||||
|
||||
return cycles - ppc_icount;
|
||||
}
|
||||
|
||||
void ppc403_exception(int exception)
|
||||
|
@ -217,9 +217,8 @@ static CPU_EXECUTE( ppc602 )
|
||||
{
|
||||
int exception_type;
|
||||
UINT32 opcode;
|
||||
ppc_icount = cycles;
|
||||
ppc_tb_base_icount = cycles;
|
||||
ppc_dec_base_icount = cycles;
|
||||
ppc_tb_base_icount = ppc_icount;
|
||||
ppc_dec_base_icount = ppc_icount;
|
||||
|
||||
// check if decrementer exception occurs during execution
|
||||
if ((UINT32)(DEC - ppc_icount) > (UINT32)(DEC))
|
||||
@ -276,8 +275,5 @@ static CPU_EXECUTE( ppc602 )
|
||||
|
||||
// update decrementer
|
||||
DEC -= ((ppc_dec_base_icount - ppc_icount) / (bus_freq_multiplier * 2));
|
||||
|
||||
|
||||
return cycles - ppc_icount;
|
||||
}
|
||||
#endif // PPC_DRC
|
||||
|
@ -221,9 +221,8 @@ static CPU_EXECUTE( ppc603 )
|
||||
{
|
||||
int exception_type;
|
||||
UINT32 opcode;
|
||||
ppc_icount = cycles;
|
||||
ppc_tb_base_icount = cycles;
|
||||
ppc_dec_base_icount = cycles + ppc.dec_frac;
|
||||
ppc_tb_base_icount = ppc_icount;
|
||||
ppc_dec_base_icount = ppc_icount + ppc.dec_frac;
|
||||
|
||||
// check if decrementer exception occurs during execution
|
||||
if ((UINT32)(DEC - ppc_icount) > (UINT32)(DEC))
|
||||
@ -281,6 +280,4 @@ static CPU_EXECUTE( ppc603 )
|
||||
// update decrementer
|
||||
ppc.dec_frac = ((ppc_dec_base_icount - ppc_icount) % (bus_freq_multiplier * 2));
|
||||
DEC -= ((ppc_dec_base_icount - ppc_icount) / (bus_freq_multiplier * 2));
|
||||
|
||||
return cycles - ppc_icount;
|
||||
}
|
||||
|
@ -712,7 +712,6 @@ static CPU_EXECUTE( ppcdrc )
|
||||
ppc->impstate->cache_dirty = FALSE;
|
||||
|
||||
/* execute */
|
||||
ppc->icount = cycles;
|
||||
do
|
||||
{
|
||||
/* run as much as we can */
|
||||
@ -727,9 +726,6 @@ static CPU_EXECUTE( ppcdrc )
|
||||
code_flush_cache(ppc);
|
||||
|
||||
} while (execute_result != EXECUTE_OUT_OF_CYCLES);
|
||||
|
||||
/* return the number of cycles executed */
|
||||
return cycles - ppc->icount;
|
||||
}
|
||||
|
||||
|
||||
|
@ -2543,8 +2543,6 @@ static CPU_EXECUTE( rsp )
|
||||
rsp_state *rsp = get_safe_token(device);
|
||||
UINT32 op;
|
||||
|
||||
rsp->icount = cycles;
|
||||
|
||||
rsp->pc = 0x4001000 | (rsp->pc & 0xfff);
|
||||
|
||||
if( rsp->sr & ( RSP_STATUS_HALT | RSP_STATUS_BROKE ) )
|
||||
@ -2806,8 +2804,6 @@ static CPU_EXECUTE( rsp )
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return cycles - rsp->icount;
|
||||
}
|
||||
|
||||
|
||||
|
@ -7120,7 +7120,6 @@ static CPU_EXECUTE( rsp )
|
||||
rsp->impstate->cache_dirty = FALSE;
|
||||
|
||||
/* execute */
|
||||
rsp->icount = cycles;
|
||||
do
|
||||
{
|
||||
if( rsp->sr & ( RSP_STATUS_HALT | RSP_STATUS_BROKE ) )
|
||||
@ -7146,9 +7145,6 @@ static CPU_EXECUTE( rsp )
|
||||
code_flush_cache(rsp);
|
||||
}
|
||||
} while (execute_result != EXECUTE_OUT_OF_CYCLES);
|
||||
|
||||
/* return the number of cycles executed */
|
||||
return cycles - rsp->icount;
|
||||
}
|
||||
|
||||
/***************************************************************************
|
||||
|
@ -887,11 +887,8 @@ static CPU_EXECUTE( s2650 )
|
||||
{
|
||||
s2650_regs *s2650c = get_safe_token(device);
|
||||
|
||||
s2650c->icount = cycles;
|
||||
|
||||
/* check for external irqs */
|
||||
int irqcycles = check_irq_line(s2650c);
|
||||
s2650c->icount -= irqcycles;
|
||||
s2650c->icount -= check_irq_line(s2650c);
|
||||
|
||||
do
|
||||
{
|
||||
@ -1498,8 +1495,6 @@ static CPU_EXECUTE( s2650 )
|
||||
break;
|
||||
}
|
||||
} while( s2650c->icount > 0 );
|
||||
|
||||
return cycles - s2650c->icount;
|
||||
}
|
||||
|
||||
|
||||
|
@ -170,8 +170,6 @@ static CPU_EXECUTE( saturn )
|
||||
{
|
||||
saturn_state *cpustate = get_safe_token(device);
|
||||
|
||||
cpustate->icount = cycles;
|
||||
|
||||
do
|
||||
{
|
||||
cpustate->oldpc = cpustate->pc;
|
||||
@ -194,8 +192,6 @@ static CPU_EXECUTE( saturn )
|
||||
}
|
||||
|
||||
} while (cpustate->icount > 0);
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
|
||||
|
@ -113,8 +113,6 @@ static CPU_EXECUTE( sc61860 )
|
||||
{
|
||||
sc61860_state *cpustate = get_safe_token(device);
|
||||
|
||||
cpustate->icount = cycles;
|
||||
|
||||
do
|
||||
{
|
||||
cpustate->oldpc = cpustate->pc;
|
||||
@ -138,8 +136,6 @@ static CPU_EXECUTE( sc61860 )
|
||||
else sc61860_instruction(cpustate);*/
|
||||
|
||||
} while (cpustate->icount > 0);
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
|
||||
|
@ -475,8 +475,6 @@ static CPU_EXECUTE( scmp )
|
||||
{
|
||||
scmp_state *cpustate = get_safe_token(device);
|
||||
|
||||
cpustate->icount = cycles;
|
||||
|
||||
do
|
||||
{
|
||||
if ((cpustate->SR & 0x08) && (devcb_call_read_line(&cpustate->sensea_func))) {
|
||||
@ -486,8 +484,6 @@ static CPU_EXECUTE( scmp )
|
||||
execute_one(cpustate, ROP(cpustate));
|
||||
|
||||
} while (cpustate->icount > 0);
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
/***************************************************************************
|
||||
|
@ -1757,7 +1757,6 @@ static CPU_EXECUTE( se3208 )
|
||||
{
|
||||
se3208_state_t *se3208_state = get_safe_token(device);
|
||||
|
||||
se3208_state->icount=cycles;
|
||||
do
|
||||
{
|
||||
UINT16 Opcode=memory_decrypted_read_word(se3208_state->program, WORD_XOR_LE(se3208_state->PC));
|
||||
@ -1779,8 +1778,6 @@ static CPU_EXECUTE( se3208 )
|
||||
}
|
||||
--(se3208_state->icount);
|
||||
} while(se3208_state->icount>0);
|
||||
|
||||
return cycles-se3208_state->icount;
|
||||
}
|
||||
|
||||
static CPU_INIT( se3208 )
|
||||
|
@ -2188,10 +2188,11 @@ static CPU_RESET( sh1 )
|
||||
/* Execute cycles - returns number of cycles actually run */
|
||||
static CPU_EXECUTE( sh2 )
|
||||
{
|
||||
sh2_icount = cycles;
|
||||
|
||||
if (sh2->cpu_off)
|
||||
return 0;
|
||||
{
|
||||
sh2->icount = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
do
|
||||
{
|
||||
@ -2238,8 +2239,6 @@ static CPU_EXECUTE( sh2 )
|
||||
}
|
||||
sh2_icount--;
|
||||
} while( sh2_icount > 0 );
|
||||
|
||||
return cycles - sh2_icount;
|
||||
}
|
||||
|
||||
static CPU_INIT( sh2 )
|
||||
|
@ -890,7 +890,6 @@ static CPU_EXECUTE( sh2 )
|
||||
code_flush_cache(sh2);
|
||||
|
||||
/* execute */
|
||||
sh2->icount = cycles;
|
||||
do
|
||||
{
|
||||
/* run as much as we can */
|
||||
@ -910,9 +909,6 @@ static CPU_EXECUTE( sh2 )
|
||||
code_flush_cache(sh2);
|
||||
}
|
||||
} while (execute_result != EXECUTE_OUT_OF_CYCLES);
|
||||
|
||||
/* return the number of cycles executed */
|
||||
return cycles - sh2->icount;
|
||||
}
|
||||
|
||||
/*-------------------------------------------------
|
||||
|
@ -3328,10 +3328,12 @@ static CPU_RESET( sh4 )
|
||||
static CPU_EXECUTE( sh4 )
|
||||
{
|
||||
SH4 *sh4 = get_safe_token(device);
|
||||
sh4->sh4_icount = cycles;
|
||||
|
||||
if (sh4->cpu_off)
|
||||
return 0;
|
||||
{
|
||||
sh4->sh4_icount = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
do
|
||||
{
|
||||
@ -3377,8 +3379,6 @@ static CPU_EXECUTE( sh4 )
|
||||
}
|
||||
sh4->sh4_icount--;
|
||||
} while( sh4->sh4_icount > 0 );
|
||||
|
||||
return cycles - sh4->sh4_icount;
|
||||
}
|
||||
|
||||
static CPU_INIT( sh4 )
|
||||
|
@ -670,14 +670,13 @@ static void check_interrupts(SHARC_REGS *cpustate)
|
||||
static CPU_EXECUTE( sharc )
|
||||
{
|
||||
SHARC_REGS *cpustate = get_safe_token(device);
|
||||
cpustate->icount = cycles;
|
||||
|
||||
if (cpustate->idle && cpustate->irq_active == 0)
|
||||
{
|
||||
// handle pending DMA transfers
|
||||
if (cpustate->dmaop_cycles > 0)
|
||||
{
|
||||
cpustate->dmaop_cycles -= cycles;
|
||||
cpustate->dmaop_cycles -= cpustate->icount;
|
||||
if (cpustate->dmaop_cycles <= 0)
|
||||
{
|
||||
cpustate->dmaop_cycles = 0;
|
||||
@ -691,8 +690,6 @@ static CPU_EXECUTE( sharc )
|
||||
|
||||
cpustate->icount = 0;
|
||||
debugger_instruction_hook(device, cpustate->daddr);
|
||||
|
||||
return cycles;
|
||||
}
|
||||
if (cpustate->irq_active != 0)
|
||||
{
|
||||
@ -838,8 +835,6 @@ static CPU_EXECUTE( sharc )
|
||||
|
||||
--cpustate->icount;
|
||||
};
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
/**************************************************************************
|
||||
|
@ -231,8 +231,6 @@ static CPU_EXECUTE( sm8500 )
|
||||
UINT16 oldpc;
|
||||
int mycycles;
|
||||
|
||||
cpustate->icount = cycles;
|
||||
|
||||
do
|
||||
{
|
||||
UINT8 r1,r2;
|
||||
@ -261,8 +259,6 @@ static CPU_EXECUTE( sm8500 )
|
||||
}
|
||||
cpustate->icount -= mycycles;
|
||||
} while ( cpustate->icount > 0 );
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
static CPU_BURN( sm8500 )
|
||||
|
@ -1353,7 +1353,11 @@ static CPU_EXECUTE( spc700 )
|
||||
{
|
||||
spc700i_cpu *cpustate = get_safe_token(device);
|
||||
|
||||
CLOCKS = CPU_STOPPED ? 0 : cycles;
|
||||
if (CPU_STOPPED)
|
||||
{
|
||||
CLOCKS = 0;
|
||||
return;
|
||||
}
|
||||
while(CLOCKS > 0)
|
||||
{
|
||||
REG_PPC = REG_PC;
|
||||
@ -1620,7 +1624,6 @@ static CPU_EXECUTE( spc700 )
|
||||
case 0xff: OP_STOP ( 3 ); break; /* STOP */
|
||||
}
|
||||
}
|
||||
return cycles - CLOCKS;
|
||||
}
|
||||
|
||||
|
||||
|
@ -172,8 +172,6 @@ static CPU_EXECUTE( ssem )
|
||||
ssem_state *cpustate = get_safe_token(device);
|
||||
UINT32 op;
|
||||
|
||||
cpustate->icount = cycles;
|
||||
|
||||
cpustate->pc &= 0x1f;
|
||||
|
||||
while (cpustate->icount > 0)
|
||||
@ -232,8 +230,6 @@ static CPU_EXECUTE( ssem )
|
||||
|
||||
--cpustate->icount;
|
||||
}
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
|
||||
|
@ -553,8 +553,6 @@ static CPU_EXECUTE( ssp1601 )
|
||||
{
|
||||
ssp1601_state_t *ssp1601_state = get_safe_token(device);
|
||||
|
||||
ssp1601_state->g_cycles = cycles;
|
||||
|
||||
while (ssp1601_state->g_cycles > 0)
|
||||
{
|
||||
int op;
|
||||
@ -757,7 +755,6 @@ static CPU_EXECUTE( ssp1601 )
|
||||
}
|
||||
|
||||
update_P(ssp1601_state);
|
||||
return cycles - ssp1601_state->g_cycles;
|
||||
}
|
||||
|
||||
|
||||
|
@ -812,8 +812,6 @@ static CPU_EXECUTE( superfx )
|
||||
superfx_state *cpustate = get_safe_token(device);
|
||||
UINT8 op;
|
||||
|
||||
cpustate->icount = cycles;
|
||||
|
||||
if(!(cpustate->sfr & SUPERFX_SFR_G))
|
||||
{
|
||||
superfx_add_clocks_internal(cpustate, 6);
|
||||
@ -1485,8 +1483,6 @@ static CPU_EXECUTE( superfx )
|
||||
|
||||
--cpustate->icount;
|
||||
}
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -345,7 +345,6 @@ static CPU_EXECUTE( t11 )
|
||||
{
|
||||
t11_state *cpustate = get_safe_token(device);
|
||||
|
||||
cpustate->icount = cycles;
|
||||
t11_check_irqs(cpustate);
|
||||
|
||||
if (cpustate->wait_state)
|
||||
@ -368,8 +367,7 @@ static CPU_EXECUTE( t11 )
|
||||
} while (cpustate->icount > 0);
|
||||
|
||||
getout:
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
;
|
||||
}
|
||||
|
||||
|
||||
|
@ -1351,7 +1351,7 @@ static CPU_EXECUTE( t90 )
|
||||
unsigned a32;
|
||||
PAIR tmp;
|
||||
|
||||
cpustate->icount = cycles - cpustate->extra_cycles;
|
||||
cpustate->icount -= cpustate->extra_cycles;
|
||||
cpustate->extra_cycles = 0;
|
||||
|
||||
do
|
||||
@ -1981,8 +1981,6 @@ static CPU_EXECUTE( t90 )
|
||||
|
||||
cpustate->icount -= cpustate->extra_cycles;
|
||||
cpustate->extra_cycles = 0;
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
static CPU_RESET( t90 )
|
||||
|
@ -858,8 +858,6 @@ static CPU_EXECUTE( tlcs900 )
|
||||
{
|
||||
tlcs900_state *cpustate = get_safe_token(device);
|
||||
|
||||
cpustate->icount = cycles;
|
||||
|
||||
do
|
||||
{
|
||||
const tlcs900inst *inst;
|
||||
@ -897,8 +895,6 @@ static CPU_EXECUTE( tlcs900 )
|
||||
|
||||
cpustate->icount -= cpustate->cycles;
|
||||
} while ( cpustate->icount > 0 );
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
|
||||
|
@ -805,8 +805,6 @@ static CPU_EXECUTE( tms0980 )
|
||||
{
|
||||
tms0980_state *cpustate = get_safe_token( device );
|
||||
|
||||
cpustate->icount = cycles;
|
||||
|
||||
do
|
||||
{
|
||||
// debugger_instruction_hook( device, ( ( cpustate->pa << cpustate->pc_size ) | cpustate->pc ) << 1 );
|
||||
@ -1088,8 +1086,6 @@ static CPU_EXECUTE( tms0980 )
|
||||
}
|
||||
cpustate->subcycle = ( cpustate->subcycle + 1 ) % 6;
|
||||
} while( cpustate->icount > 0 );
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
|
||||
|
@ -855,7 +855,6 @@ static int Ext_IRQ(tms32010_state *cpustate)
|
||||
static CPU_EXECUTE( tms32010 )
|
||||
{
|
||||
tms32010_state *cpustate = get_safe_token(device);
|
||||
cpustate->icount = cycles;
|
||||
|
||||
do
|
||||
{
|
||||
@ -881,8 +880,6 @@ static CPU_EXECUTE( tms32010 )
|
||||
(*opcode_7F[(cpustate->opcode.b.l & 0x1f)].function)(cpustate);
|
||||
}
|
||||
} while (cpustate->icount > 0);
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
|
||||
|
@ -1967,7 +1967,6 @@ again:
|
||||
static CPU_EXECUTE( tms32025 )
|
||||
{
|
||||
tms32025_state *cpustate = get_safe_token(device);
|
||||
cpustate->icount = cycles;
|
||||
|
||||
|
||||
/**** Respond to external hold signal */
|
||||
@ -2099,8 +2098,6 @@ static CPU_EXECUTE( tms32025 )
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return (cycles - cpustate->icount);
|
||||
}
|
||||
|
||||
|
||||
|
@ -465,12 +465,14 @@ static CPU_EXECUTE( tms32031 )
|
||||
tms32031_state *tms = get_safe_token(device);
|
||||
|
||||
/* check IRQs up front */
|
||||
tms->icount = cycles;
|
||||
check_irqs(tms);
|
||||
|
||||
/* if we're idling, just eat the cycles */
|
||||
if (tms->is_idling)
|
||||
return tms->icount;
|
||||
{
|
||||
tms->icount = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
if ((device->machine->debug_flags & DEBUG_FLAG_ENABLED) == 0)
|
||||
{
|
||||
@ -529,8 +531,6 @@ static CPU_EXECUTE( tms32031 )
|
||||
execute_one(tms);
|
||||
}
|
||||
}
|
||||
|
||||
return cycles - tms->icount;
|
||||
}
|
||||
|
||||
|
||||
|
@ -338,8 +338,6 @@ static CPU_EXECUTE( tms )
|
||||
{
|
||||
tms32051_state *cpustate = get_safe_token(device);
|
||||
|
||||
cpustate->icount = cycles;
|
||||
|
||||
while(cpustate->icount > 0)
|
||||
{
|
||||
UINT16 ppc;
|
||||
@ -396,7 +394,6 @@ static CPU_EXECUTE( tms )
|
||||
}
|
||||
}
|
||||
}
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
|
||||
|
@ -782,7 +782,10 @@ static CPU_EXECUTE( tms34010 )
|
||||
|
||||
/* Get out if CPU is halted. Absolutely no interrupts must be taken!!! */
|
||||
if (IOREG(tms, REG_HSTCTLH) & 0x8000)
|
||||
return cycles;
|
||||
{
|
||||
tms->icount = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
/* if the CPU's reset was deferred, do it now */
|
||||
if (tms->reset_deferred)
|
||||
@ -791,9 +794,6 @@ static CPU_EXECUTE( tms34010 )
|
||||
tms->pc = RLONG(tms, 0xffffffe0);
|
||||
}
|
||||
|
||||
/* execute starting now */
|
||||
tms->icount = cycles;
|
||||
|
||||
/* check interrupts first */
|
||||
tms->executing = TRUE;
|
||||
check_interrupt(tms);
|
||||
@ -819,8 +819,6 @@ static CPU_EXECUTE( tms34010 )
|
||||
} while (tms->icount > 0);
|
||||
}
|
||||
tms->executing = FALSE;
|
||||
|
||||
return cycles - tms->icount;
|
||||
}
|
||||
|
||||
|
||||
|
@ -1276,10 +1276,9 @@ static int tms57002_decode_get_pc(tms57002_t *s)
|
||||
static CPU_EXECUTE(tms57002)
|
||||
{
|
||||
tms57002_t *s = get_safe_token(device);
|
||||
int initial_cycles = cycles;
|
||||
int ipc = -1;
|
||||
|
||||
while(cycles > 0 && !(s->sti & (S_IDLE | IN_PLOAD | IN_CLOAD))) {
|
||||
while(s->icount > 0 && !(s->sti & (S_IDLE | IN_PLOAD | IN_CLOAD))) {
|
||||
int iipc;
|
||||
|
||||
debugger_instruction_hook(device, s->pc);
|
||||
@ -1315,7 +1314,7 @@ static CPU_EXECUTE(tms57002)
|
||||
}
|
||||
}
|
||||
inst:
|
||||
cycles--;
|
||||
s->icount--;
|
||||
|
||||
if(s->rptc) {
|
||||
s->rptc--;
|
||||
@ -1332,9 +1331,8 @@ static CPU_EXECUTE(tms57002)
|
||||
}
|
||||
}
|
||||
|
||||
if(cycles > 0)
|
||||
cycles = 0;
|
||||
return initial_cycles - cycles;
|
||||
if(s->icount > 0)
|
||||
s->icount = 0;
|
||||
}
|
||||
|
||||
static CPU_INIT(tms57002)
|
||||
|
@ -445,8 +445,7 @@ static CPU_EXECUTE( tms7000 )
|
||||
tms7000_state *cpustate = get_safe_token(device);
|
||||
int op;
|
||||
|
||||
cpustate->icount = cycles;
|
||||
cpustate->div_by_16_trigger += cycles;
|
||||
cpustate->div_by_16_trigger += cpustate->icount;
|
||||
|
||||
tms7000_check_IRQ_lines(cpustate);
|
||||
|
||||
@ -479,7 +478,6 @@ static CPU_EXECUTE( tms7000 )
|
||||
} while( cpustate->icount > 0 );
|
||||
|
||||
cpustate->div_by_16_trigger -= cpustate->icount;
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
static CPU_EXECUTE( tms7000_exl )
|
||||
@ -487,8 +485,7 @@ static CPU_EXECUTE( tms7000_exl )
|
||||
tms7000_state *cpustate = get_safe_token(device);
|
||||
int op;
|
||||
|
||||
cpustate->icount = cycles;
|
||||
cpustate->div_by_16_trigger += cycles;
|
||||
cpustate->div_by_16_trigger += cpustate->icount;
|
||||
|
||||
tms7000_check_IRQ_lines(cpustate);
|
||||
|
||||
@ -522,7 +519,6 @@ static CPU_EXECUTE( tms7000_exl )
|
||||
} while( cpustate->icount > 0 );
|
||||
|
||||
cpustate->div_by_16_trigger -= cpustate->icount;
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
|
@ -1404,7 +1404,6 @@ INLINE UINT16 fetch(tms99xx_state *cpustate)
|
||||
static CPU_EXECUTE( tms99xx )
|
||||
{
|
||||
tms99xx_state *cpustate = get_safe_token(device);
|
||||
cpustate->icount = cycles;
|
||||
|
||||
cpustate->lds_flag = 0;
|
||||
cpustate->ldd_flag = 0;
|
||||
@ -1541,8 +1540,6 @@ static CPU_EXECUTE( tms99xx )
|
||||
}
|
||||
|
||||
} while (cpustate->icount > 0);
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
#if (TMS99XX_MODEL == TI990_10_ID)
|
||||
|
@ -176,8 +176,6 @@ static CPU_EXECUTE( unsp )
|
||||
UINT16 r0, r1;
|
||||
lres = 0;
|
||||
|
||||
unsp->icount = cycles;
|
||||
|
||||
while (unsp->icount > 0)
|
||||
{
|
||||
debugger_instruction_hook(device, UNSP_LPC<<1);
|
||||
@ -748,8 +746,6 @@ static CPU_EXECUTE( unsp )
|
||||
unsp->icount -= 5;
|
||||
unsp->icount = MAX(unsp->icount, 0);
|
||||
}
|
||||
|
||||
return cycles - unsp->icount;
|
||||
}
|
||||
|
||||
|
||||
|
@ -1885,7 +1885,6 @@ static CPU_EXIT( upd7810 )
|
||||
static CPU_EXECUTE( upd7810 )
|
||||
{
|
||||
upd7810_state *cpustate = get_safe_token(device);
|
||||
cpustate->icount = cycles;
|
||||
|
||||
do
|
||||
{
|
||||
@ -1961,8 +1960,6 @@ static CPU_EXECUTE( upd7810 )
|
||||
upd7810_take_irq(cpustate);
|
||||
|
||||
} while (cpustate->icount > 0);
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
static void set_irq_line(upd7810_state *cpustate, int irqline, int state)
|
||||
|
@ -969,8 +969,6 @@ static CPU_EXECUTE( v30mz )
|
||||
{
|
||||
v30mz_state *cpustate = get_safe_token(device);
|
||||
|
||||
cpustate->icount=cycles;
|
||||
|
||||
while(cpustate->icount>0) {
|
||||
/* Dispatch IRQ */
|
||||
if (cpustate->pending_irq && cpustate->no_interrupt==0)
|
||||
@ -988,8 +986,6 @@ static CPU_EXECUTE( v30mz )
|
||||
debugger_instruction_hook(device, (cpustate->sregs[CS]<<4) + cpustate->ip);
|
||||
nec_instruction[FETCHOP](cpustate);
|
||||
}
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
|
||||
|
@ -441,7 +441,6 @@ static CPU_EXECUTE( v60 )
|
||||
{
|
||||
v60_state *cpustate = get_safe_token(device);
|
||||
|
||||
cpustate->icount = cycles;
|
||||
if (cpustate->irq_line != CLEAR_LINE)
|
||||
v60_try_irq(cpustate);
|
||||
|
||||
@ -456,8 +455,6 @@ static CPU_EXECUTE( v60 )
|
||||
if (cpustate->irq_line != CLEAR_LINE)
|
||||
v60_try_irq(cpustate);
|
||||
}
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
|
||||
|
@ -1026,7 +1026,6 @@ static CPU_EXECUTE( v810 )
|
||||
{
|
||||
v810_state *cpustate = get_safe_token(device);
|
||||
|
||||
cpustate->icount = cycles;
|
||||
while(cpustate->icount>0)
|
||||
{
|
||||
UINT32 op;
|
||||
@ -1037,7 +1036,6 @@ static CPU_EXECUTE( v810 )
|
||||
cpustate->PC+=2;
|
||||
cpustate->icount-= OpCodeTable[op>>10](cpustate,op);
|
||||
}
|
||||
return cycles-cpustate->icount;
|
||||
}
|
||||
|
||||
|
||||
|
@ -2398,8 +2398,6 @@ static CPU_EXECUTE( z180 )
|
||||
z180_state *cpustate = get_safe_token(device);
|
||||
int curcycles;
|
||||
|
||||
cpustate->icount = cycles;
|
||||
|
||||
/* check for NMIs on the way in; they can only be set externally */
|
||||
/* via timers, and can't be dynamically enabled, so it is safe */
|
||||
/* to just check here */
|
||||
@ -2517,7 +2515,6 @@ again:
|
||||
}
|
||||
|
||||
//cpustate->old_icount -= cpustate->icount;
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
|
@ -687,8 +687,6 @@ static CPU_EXECUTE( z8 )
|
||||
{
|
||||
z8_state *cpustate = get_safe_token(device);
|
||||
|
||||
cpustate->icount = cycles;
|
||||
|
||||
do
|
||||
{
|
||||
UINT8 opcode;
|
||||
@ -709,8 +707,6 @@ static CPU_EXECUTE( z8 )
|
||||
cpustate->icount -= cycles;
|
||||
}
|
||||
while (cpustate->icount > 0);
|
||||
|
||||
return cycles - cpustate->icount;
|
||||
}
|
||||
|
||||
/***************************************************************************
|
||||
|
@ -3570,8 +3570,6 @@ static CPU_EXECUTE( z80 )
|
||||
{
|
||||
z80_state *z80 = get_safe_token(device);
|
||||
|
||||
z80->icount = cycles;
|
||||
|
||||
/* check for NMIs on the way in; they can only be set externally */
|
||||
/* via timers, and can't be dynamically enabled, so it is safe */
|
||||
/* to just check here */
|
||||
@ -3601,16 +3599,12 @@ static CPU_EXECUTE( z80 )
|
||||
z80->r++;
|
||||
EXEC_INLINE(z80,op,ROP(z80));
|
||||
} while (z80->icount > 0);
|
||||
|
||||
return cycles - z80->icount;
|
||||
}
|
||||
|
||||
static CPU_EXECUTE( nsc800 )
|
||||
{
|
||||
z80_state *z80 = get_safe_token(device);
|
||||
|
||||
z80->icount = cycles;
|
||||
|
||||
/* check for NMIs on the way in; they can only be set externally */
|
||||
/* via timers, and can't be dynamically enabled, so it is safe */
|
||||
/* to just check here */
|
||||
@ -3647,8 +3641,6 @@ static CPU_EXECUTE( z80 )
|
||||
z80->r++;
|
||||
EXEC_INLINE(z80,op,ROP(z80));
|
||||
} while (z80->icount > 0);
|
||||
|
||||
return cycles - z80->icount;
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user