From: Toni Wilen Date: Fri, 10 Jan 2020 19:59:33 +0000 (+0200) Subject: 68010 ADDX.L/SUBX.L bus error fix. X-Git-Tag: 4400~182 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=00313327f7ac7d11050df7153f0d15baabd4bd10;p=francis%2Fwinuae.git 68010 ADDX.L/SUBX.L bus error fix. --- 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