I've decided on the final design for the shift/jump unit. The unit itself implements four types of instructions:
- Shift data in register A left one position and write to register B
- Copy data in register A to register B
- Jump (based on a few conditions) to an address encoded in the instruction
- Jump (based on a few conditions) to an address in register A
All four of these instruction types use the same model: read from a bus, do
something, then write to another bus. To simplify construction, I'm building a backplane that makes these buses accessible, and will implement four instruction boards and a control board that plug into it.
The backplane will have SIP sockets, and the risers will have right-angle SIP headers that plug into them. By expanding the buses from a 40-pin socket to a single row, it will make wiring much easier.
Here's what the backplane currently looks like:
You'll notice that the traces aren't complete -- since I can't do a two-sided board, I'll have to hand-wire some of the more complex bits, such as expanding the 40-pin register A/B bus to the proper SIP sockets.
Once the backplane is complete, it's just a matter of building the various boards one at a time. Each board will be relatively simple, making building and troubleshooting much easier than trying to build the whole thing in one shot.