mirror of
https://github.com/ekeeke/Genesis-Plus-GX.git
synced 2024-11-04 18:05:06 +01:00
[Core/MCD] removed redundant checking on CPU sync
This commit is contained in:
parent
f4e5694ae4
commit
587a6dca1b
@ -232,7 +232,7 @@ static void s68k_poll_sync(unsigned int reg_mask)
|
|||||||
unsigned int cycles = (s68k.cycles * MCYCLES_PER_LINE) / SCYCLES_PER_LINE;
|
unsigned int cycles = (s68k.cycles * MCYCLES_PER_LINE) / SCYCLES_PER_LINE;
|
||||||
|
|
||||||
/* sync MAIN-CPU with SUB-CPU */
|
/* sync MAIN-CPU with SUB-CPU */
|
||||||
if (!m68k.stopped && (m68k.cycles < cycles))
|
if (!m68k.stopped)
|
||||||
{
|
{
|
||||||
m68k_run(cycles);
|
m68k_run(cycles);
|
||||||
}
|
}
|
||||||
@ -433,12 +433,12 @@ static unsigned int scd_read_word(unsigned int address)
|
|||||||
/* MAIN-CPU communication words */
|
/* MAIN-CPU communication words */
|
||||||
if ((address & 0x1f0) == 0x10)
|
if ((address & 0x1f0) == 0x10)
|
||||||
{
|
{
|
||||||
/* relative MAIN-CPU cycle counter */
|
if (!m68k.stopped)
|
||||||
unsigned int cycles = (s68k.cycles * MCYCLES_PER_LINE) / SCYCLES_PER_LINE;
|
|
||||||
|
|
||||||
/* sync MAIN-CPU with SUB-CPU (Mighty Morphin Power Rangers) */
|
|
||||||
if (!m68k.stopped && (m68k.cycles < cycles))
|
|
||||||
{
|
{
|
||||||
|
/* relative MAIN-CPU cycle counter */
|
||||||
|
unsigned int cycles = (s68k.cycles * MCYCLES_PER_LINE) / SCYCLES_PER_LINE;
|
||||||
|
|
||||||
|
/* sync MAIN-CPU with SUB-CPU (Mighty Morphin Power Rangers) */
|
||||||
m68k_run(cycles);
|
m68k_run(cycles);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -269,7 +269,7 @@ static void m68k_poll_sync(unsigned int reg_mask)
|
|||||||
unsigned int cycles = (m68k.cycles * SCYCLES_PER_LINE) / MCYCLES_PER_LINE;
|
unsigned int cycles = (m68k.cycles * SCYCLES_PER_LINE) / MCYCLES_PER_LINE;
|
||||||
|
|
||||||
/* sync SUB-CPU with MAIN-CPU */
|
/* sync SUB-CPU with MAIN-CPU */
|
||||||
if (!s68k.stopped && (s68k.cycles < cycles))
|
if (!s68k.stopped)
|
||||||
{
|
{
|
||||||
s68k_run(cycles);
|
s68k_run(cycles);
|
||||||
}
|
}
|
||||||
@ -345,12 +345,12 @@ unsigned int ctrl_io_read_byte(unsigned int address)
|
|||||||
/* SUB-CPU communication flags */
|
/* SUB-CPU communication flags */
|
||||||
if (index == 0x0f)
|
if (index == 0x0f)
|
||||||
{
|
{
|
||||||
/* relative SUB-CPU cycle counter */
|
if (!s68k.stopped)
|
||||||
unsigned int cycles = (m68k.cycles * SCYCLES_PER_LINE) / MCYCLES_PER_LINE;
|
|
||||||
|
|
||||||
/* sync SUB-CPU with MAIN-CPU (Dracula Unleashed w/ Sega CD Model 2 Boot ROM) */
|
|
||||||
if (!s68k.stopped && (s68k.cycles < cycles))
|
|
||||||
{
|
{
|
||||||
|
/* relative SUB-CPU cycle counter */
|
||||||
|
unsigned int cycles = (m68k.cycles * SCYCLES_PER_LINE) / MCYCLES_PER_LINE;
|
||||||
|
|
||||||
|
/* sync SUB-CPU with MAIN-CPU (Dracula Unleashed w/ Sega CD Model 2 Boot ROM) */
|
||||||
s68k_run(cycles);
|
s68k_run(cycles);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -498,18 +498,18 @@ unsigned int ctrl_io_read_word(unsigned int address)
|
|||||||
/* default registers */
|
/* default registers */
|
||||||
if (index < 0x30)
|
if (index < 0x30)
|
||||||
{
|
{
|
||||||
/* relative SUB-CPU cycle counter */
|
|
||||||
unsigned int cycles = (m68k.cycles * SCYCLES_PER_LINE) / MCYCLES_PER_LINE;
|
|
||||||
|
|
||||||
/* sync SUB-CPU with MAIN-CPU (Soul Star) */
|
|
||||||
if (!s68k.stopped && (s68k.cycles < cycles))
|
|
||||||
{
|
|
||||||
s68k_run(cycles);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* SUB-CPU communication words */
|
/* SUB-CPU communication words */
|
||||||
if (index >= 0x20)
|
if (index >= 0x20)
|
||||||
{
|
{
|
||||||
|
if (!s68k.stopped)
|
||||||
|
{
|
||||||
|
/* relative SUB-CPU cycle counter */
|
||||||
|
unsigned int cycles = (m68k.cycles * SCYCLES_PER_LINE) / MCYCLES_PER_LINE;
|
||||||
|
|
||||||
|
/* sync SUB-CPU with MAIN-CPU (Soul Star) */
|
||||||
|
s68k_run(cycles);
|
||||||
|
}
|
||||||
|
|
||||||
m68k_poll_detect(3 << (index - 0x10));
|
m68k_poll_detect(3 << (index - 0x10));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -620,12 +620,12 @@ void ctrl_io_write_byte(unsigned int address, unsigned int data)
|
|||||||
/* level 2 interrupt enabled ? */
|
/* level 2 interrupt enabled ? */
|
||||||
if (scd.regs[0x32>>1].byte.l & 0x04)
|
if (scd.regs[0x32>>1].byte.l & 0x04)
|
||||||
{
|
{
|
||||||
/* relative SUB-CPU cycle counter */
|
if (!s68k.stopped)
|
||||||
unsigned int cycles = (m68k.cycles * SCYCLES_PER_LINE) / MCYCLES_PER_LINE;
|
|
||||||
|
|
||||||
/* sync SUB-CPU with MAIN-CPU (Earnest Evans, Fhey Area) */
|
|
||||||
if (!s68k.stopped && (s68k.cycles < cycles))
|
|
||||||
{
|
{
|
||||||
|
/* relative SUB-CPU cycle counter */
|
||||||
|
unsigned int cycles = (m68k.cycles * SCYCLES_PER_LINE) / MCYCLES_PER_LINE;
|
||||||
|
|
||||||
|
/* sync SUB-CPU with MAIN-CPU (Earnest Evans, Fhey Area) */
|
||||||
s68k_run(cycles);
|
s68k_run(cycles);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user