mirror of
https://github.com/RaySollium99/picodrive.git
synced 2025-09-05 07:17:45 -04:00
cd: fix copy-paste bug, comm issue
This commit is contained in:
parent
021e47b375
commit
334d9fb654
4 changed files with 12 additions and 8 deletions
|
@ -345,7 +345,9 @@ void pcd_state_loaded(void)
|
|||
if (Pico_mcd->scd.Status_CDC & 0x08)
|
||||
Update_CDC_TRansfer(Pico_mcd->s68k_regs[4] & 7);
|
||||
}
|
||||
if (Pico_mcd->pcm.update_cycles == 0)
|
||||
|
||||
diff = cycles - Pico_mcd->pcm.update_cycles;
|
||||
if ((unsigned int)diff > 12500000/50)
|
||||
Pico_mcd->pcm.update_cycles = cycles;
|
||||
|
||||
// reschedule
|
||||
|
|
|
@ -222,12 +222,13 @@ write_comm:
|
|||
|
||||
pcd_sync_s68k(SekCyclesDone(), 0);
|
||||
Pico_mcd->s68k_regs[a] = d;
|
||||
if (Pico_mcd->m.s68k_poll_a == (a & ~1)
|
||||
&& Pico_mcd->m.s68k_poll_cnt > POLL_LIMIT)
|
||||
if (Pico_mcd->m.s68k_poll_a == (a & ~1))
|
||||
{
|
||||
SekSetStopS68k(0);
|
||||
if (Pico_mcd->m.s68k_poll_cnt > POLL_LIMIT) {
|
||||
elprintf(EL_CDPOLL, "s68k poll release, a=%02x", a);
|
||||
SekSetStopS68k(0);
|
||||
}
|
||||
Pico_mcd->m.s68k_poll_a = 0;
|
||||
elprintf(EL_CDPOLL, "s68k poll release, a=%02x", a);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -662,7 +663,7 @@ void PicoWrite8_mcd_io(u32 a, u32 d)
|
|||
return;
|
||||
}
|
||||
|
||||
PicoWrite16_io(a, d);
|
||||
PicoWrite8_io(a, d);
|
||||
}
|
||||
|
||||
void PicoWrite16_mcd_io(u32 a, u32 d)
|
||||
|
@ -671,7 +672,7 @@ void PicoWrite16_mcd_io(u32 a, u32 d)
|
|||
elprintf(EL_CDREGS, "m68k_regs w16: [%02x] %04x @%06x",
|
||||
a & 0x3f, d, SekPc);
|
||||
|
||||
m68k_reg_write8(a, d >> 8);
|
||||
m68k_reg_write8(a, d >> 8);
|
||||
if ((a & 0x3e) != 0x0e) // special case
|
||||
m68k_reg_write8(a + 1, d & 0xff);
|
||||
return;
|
||||
|
|
|
@ -433,6 +433,7 @@ m_s68k_read8_comm:
|
|||
ldr r1, [r1]
|
||||
add r1, r1, #0x110000
|
||||
ldrb r1, [r1, r0]
|
||||
bic r0, r0, #1
|
||||
b s68k_poll_detect
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue