I can't seem to figure this out. I have a Sonic 2 ROM modification that seems to have ghosts inside of it. Things behave very strangely, and I don't know why. But I won't immediately dump the whole can of worms out at once. Instead, to start with, I'd like an explanation as to why Regen (but not Kega or Gens) seems to immediately jump to ErrorTrap when executing the instruction boxed-out in red: I see nothing unusual about this. The (A1) address is within valid ROM space. It wants to read data there and store it in D0. What in the world is the problem???
You're causing an address error to be raised, which Kega (and Gens?) doesn't emulate: the 68000 doesn't allow you to read/write a word or longword from/to an odd address, which $C7CD is. There's a list of other hardware quirks in this thread.