ttdasm 1.31 will disassemble the following effective addresses:
(%a0,%d1.w)
(%a0,%d1.l)
(%a0,%a1.w)
(%a0,%a1.l)
all as (%a0,%d1.w). This patch corrects that.
(%a0,%d1.w)
(%a0,%d1.l)
(%a0,%a1.w)
(%a0,%a1.l)
all as (%a0,%d1.w). This patch corrects that.
--- ttdasm.c.orig        2006-03-18 18:51:06.000000000 -0500+++ ttdasm.c        2006-03-18 18:49:20.000000000 -0500@@ -762,8 +762,8 @@ break; case 6: PARAM_WORD(pm); temp = pm & 0xff;- if (temp & 0x80) sprintf(buf, "(-0x%X,%%a%d,%%d%ld.%c)", -(signed char)temp & 0xff, reg, (pm >> 12) & 7, (pm & 800) ? 'l' : 'w');- else sprintf(buf, "(0x%X,%%a%d,%%d%ld.%c)", temp, reg, (pm >> 12) & 7, (pm & 800) ? 'l' : 'w');+ if (temp & 0x80) sprintf(buf, "(-0x%X,%%a%d,%%%c%ld.%c)", -(signed char)temp & 0xff, reg, (pm & 0x8000) ? 'a' : 'd', (pm >> 12) & 7, (pm & 0x800) ? 'l' : 'w');+ else sprintf(buf, "(0x%X,%%a%d,%%%c%ld.%c)", temp, reg, (pm & 0x8000) ? 'a' : 'd', (pm >> 12) & 7, (pm & 0x800) ? 'l' : 'w'); break; case 7: switch (reg) { case 0: PARAM_WORD(pm);
