From d60eeb9f413e1c3ffab41d86d50cd0a5220d8298 Mon Sep 17 00:00:00 2001 From: Toni Wilen Date: Sat, 19 Jan 2019 10:47:05 +0200 Subject: [PATCH] Check lastwrite special case later. Previously it didn't handle situation where exception handler cleared DF-bit. --- cpummu30.cpp | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) 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; } -- 2.47.3