]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
68010 ADDX.L/SUBX.L bus error fix.
authorToni Wilen <twilen@winuae.net>
Fri, 10 Jan 2020 19:59:33 +0000 (21:59 +0200)
committerToni Wilen <twilen@winuae.net>
Fri, 10 Jan 2020 19:59:33 +0000 (21:59 +0200)
gencpu.cpp

index 435c1b90dca52c58bbfdfb89bea616d1981186a6..2b428766a2e1e894708552f84d3cf1cf4c79aa40 100644 (file)
@@ -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 <memory>: pre and post are not added yet