Microcode getting close to complete
I implemented the microcode for the 16 bit, 8 bit low, and 8 bit high variants of AND, OR, and XOR this evening, which went smoothly (if a bit tediously).
At this point 47 instructions are implemented in microcode, and only 10 in the list of planned instructions are left to go! Three of those are add/sub variants, four are compare/flow instructions, and three are related to traps/faults/interrupts. The latter category will be the last to implement, since the hardware design for those features isn’t yet done.
Next steps at this point are to finish implementing all the “easy” microcode instructions, then go back to working on interrupts which I haven’t looked at in a year or two at this point. Once that’s done, I want to take another look over the instruction set to make sure nothing obvious is missing, then call the microcode complete for now! Nothing is set in stone either way, it will be in EPROM even once the hardware is in place, and the control store is writable so I can always fix bugs or implement new instructions in software later on as well. Once that’s all done, it will mean moving on to actual hardware design, probably mixed in with more toolchain work depending on whether I’m in a hardware or software mood that day.