From: Toni Wilen Date: Sat, 19 Jan 2019 08:47:05 +0000 (+0200) Subject: Check lastwrite special case later. Previously it didn't handle situation where excep... X-Git-Tag: 4200~79 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=d60eeb9f413e1c3ffab41d86d50cd0a5220d8298;p=francis%2Fwinuae.git Check lastwrite special case later. Previously it didn't handle situation where exception handler cleared DF-bit. --- diff --git a/cpummu30.cpp b/cpummu30.cpp index 3c97d026..111f0192 100644 --- a/cpummu30.cpp +++ b/cpummu30.cpp @@ -2914,13 +2914,14 @@ void m68k_do_rte_mmu030 (uaecptr a7) } else { mmu030_ad[idxsize].done = true; } - if (mmu030_state[1] & MMU030_STATEFLAG1_LASTWRITE) { - mmu030_retry = false; - } } } + if (mmu030_state[1] & MMU030_STATEFLAG1_LASTWRITE) { + mmu030_retry = false; + } + #if MMU030_DEBUG if (mmu030_idx >= MAX_MMU030_ACCESS) { write_log(_T("mmu030_idx (RTE) out of bounds! %d >= %d\n"), mmu030_idx, MAX_MMU030_ACCESS); @@ -3321,13 +3322,14 @@ void m68k_do_rte_mmu030c (uaecptr a7) } else { mmu030_ad[idxsize].done = true; } - if (mmu030_state[1] & MMU030_STATEFLAG1_LASTWRITE) { - mmu030_retry = false; - fill_prefetch_030_ntx(); - } } } + if (mmu030_state[1] & MMU030_STATEFLAG1_LASTWRITE) { + mmu030_retry = false; + fill_prefetch_030_ntx(); + } + } else { m68k_areg (regs, 7) += 32; }