> I'm not surprised that unaligned addresses don't work on hardware, but I am surprised > that trying to force external hardware (the graphics chip) to do an unaligned access > actually causes an exception on the CPU. I thought the hardware would just ignore the > low bit of the address.
That's standard 68k behaviour - any word or long access on an odd address causes a trap as soon as it finishes the address generation phase of the instruction execution. This changes for '020 and later of course. That's why in debug mode on 68k computers you'd fill newly allocated blocks with an odd value - if you tried to use it as an address for a word or long access you'd get an instant trap.