Hi Joern, This supercedes my last patch. All I'm doing in this one is expand_opcode, implementing some of the changes we discussed (to pave the way for the sh4a patch to come). It's much simpler, and fewer lines of code. It now accepts either 2 or 4 bits at a time (except for ones and zeroes, which accept an arbitrary sequence). The sub- cases such as 'N' and 'x' are moved out to the outer switch (so its flatter and simpler). The "shift" parameter is gone (which required that the movx/movy expansion be moved into the post-processing pass in ppi_moves). "ddd0" becomes "eeee" (even numbered register), and I don't check it at runtime. The XY/xy stuff will come in the next patch. Michael