Sat down and wrote out a bunch of microcode tonight, and added a couple more required transformation data paths from MAR to XY (byte swap and sign extend). Binary inversion (NOT) is implemented now in both 8/16 bit forms, as is sign extend and byte swap.
There are now 11 different sources for the XY bus which is getting pretty high, this will be 22 chips just to gate signals on their way to the bus. Started thinking about if some sort of ‘transformation matrix’ would be possible to implement, that would allow programming it to shift bits around in arbitrary ways. That might collapse the right shift, sign extend, and byte swap paths into one generic ‘transformation’ path and also open up more possibilities for using it. Will have to think about this more, I think it’s really just a crosspoint switch, but implementing that in ECL might take a lot of parts.
At this point all of the single-operand instructions other than load and store are complete, next I can either tackle load and store, or start working on two-operand instructions, which will probably require adding a second IR-type register and extending those operations to two bytes rather than one. Will probably do load/store next, then move on to that.