From 00313327f7ac7d11050df7153f0d15baabd4bd10 Mon Sep 17 00:00:00 2001 From: Toni Wilen Date: Fri, 10 Jan 2020 21:59:33 +0200 Subject: [PATCH] 68010 ADDX.L/SUBX.L bus error fix. --- gencpu.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/gencpu.cpp b/gencpu.cpp index 435c1b90..2b428766 100644 --- a/gencpu.cpp +++ b/gencpu.cpp @@ -2934,8 +2934,13 @@ static void genamode2x (amodes mode, const char *reg, wordsizes size, const char if (cpu_level == 1) { // 68010 does dummy access - if (getv != 2) - printf("\t\tuae_s16 d_%s = %s(%sa & ~1);\n", name, srcw, name); + if (getv != 2) { + if ((flags & GF_REVERSE) && size == sz_long) { + printf("\t\tuae_s16 d_%s = %s((%sa + 2) & ~1);\n", name, srcw, name); + } else { + printf("\t\tuae_s16 d_%s = %s(%sa & ~1);\n", name, srcw, name); + } + } if (abs(bus_error_reg_add) == 4) bus_error_reg_add = 0; // 68010 CLR : pre and post are not added yet -- 2.47.3