cd: fix copy-paste bug, comm issue

This commit is contained in:
notaz 2013-09-23 00:45:33 +03:00
parent 021e47b375
commit 334d9fb654
4 changed files with 12 additions and 8 deletions

View file

@ -345,7 +345,9 @@ void pcd_state_loaded(void)
if (Pico_mcd->scd.Status_CDC & 0x08) if (Pico_mcd->scd.Status_CDC & 0x08)
Update_CDC_TRansfer(Pico_mcd->s68k_regs[4] & 7); 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; Pico_mcd->pcm.update_cycles = cycles;
// reschedule // reschedule

View file

@ -222,12 +222,13 @@ write_comm:
pcd_sync_s68k(SekCyclesDone(), 0); pcd_sync_s68k(SekCyclesDone(), 0);
Pico_mcd->s68k_regs[a] = d; Pico_mcd->s68k_regs[a] = d;
if (Pico_mcd->m.s68k_poll_a == (a & ~1) if (Pico_mcd->m.s68k_poll_a == (a & ~1))
&& Pico_mcd->m.s68k_poll_cnt > POLL_LIMIT)
{ {
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; 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; return;
} }
PicoWrite16_io(a, d); PicoWrite8_io(a, d);
} }
void PicoWrite16_mcd_io(u32 a, u32 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", elprintf(EL_CDREGS, "m68k_regs w16: [%02x] %04x @%06x",
a & 0x3f, d, SekPc); a & 0x3f, d, SekPc);
m68k_reg_write8(a, d >> 8); m68k_reg_write8(a, d >> 8);
if ((a & 0x3e) != 0x0e) // special case if ((a & 0x3e) != 0x0e) // special case
m68k_reg_write8(a + 1, d & 0xff); m68k_reg_write8(a + 1, d & 0xff);
return; return;

View file

@ -433,6 +433,7 @@ m_s68k_read8_comm:
ldr r1, [r1] ldr r1, [r1]
add r1, r1, #0x110000 add r1, r1, #0x110000
ldrb r1, [r1, r0] ldrb r1, [r1, r0]
bic r0, r0, #1
b s68k_poll_detect b s68k_poll_detect

@ -1 +1 @@
Subproject commit 9028744c193c011a7a0b1ed2e069208f57ffa2fa Subproject commit 18306c325f0d24fc7232dff055e814432e06d5d1