X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=pico%2Fcd%2Fmemory.c;h=acf29c64a978a6e9b1e5cb259c3d5fa8a4505573;hb=6901d0e45dbf77671d86cb9bf9af98c486db97c8;hp=055107886f79ed68f9b6d94eb35f3c046db45816;hpb=7b3ddc11dc21025f2a64116d664c745c07c54984;p=picodrive.git diff --git a/pico/cd/memory.c b/pico/cd/memory.c index 0551078..acf29c6 100644 --- a/pico/cd/memory.c +++ b/pico/cd/memory.c @@ -67,6 +67,12 @@ static void remap_word_ram(u32 r3); void m68k_comm_check(u32 a) { pcd_sync_s68k(SekCyclesDone(), 0); + if (a >= 0x0e && !Pico_mcd->m.need_sync) { + // there are cases when slave updates comm and only switches RAM + // over after that (mcd1b), so there must be a resync.. + SekEndRun(64); + Pico_mcd->m.need_sync = 1; + } if (SekNotPolling || a != Pico_mcd->m.m68k_poll_a) { Pico_mcd->m.m68k_poll_a = a; Pico_mcd->m.m68k_poll_cnt = 0;