Finished laying out and wiring the very simple shift and compare acrylic. Part of the reason why it's so simple is that I don't actually have a design for or need for the comparison circuit at the moment. That's in a branch that I'm going to go back to after I finish getting the base #MiniDragon up and running properly. For now, the ALU cannot compare numbers so comparisons are provided by stdlib functions and called by the compiler. Once I design the CMP instruction hardware, the 8-bit cmp function will turn into an intrinsic, and the 16 and 32 bit cmp16/cmp32 functions will turn into simple calls to the intrinsic.

While I don't have a CMP instruction yet, I am still leaving room for the instruction, including running busses that it will need to the board. That way when I do add it in the future I'll be able to do so with minimally invasive surgery. I also have yet to verify this board since I don't have the shift instruction decoder board laid out yet. But, its still progress!

Today the shift instruction PCBs came in the male so I brought two of them up and verified them! These will handle the shift left, rotate left, rotate with carry left, shift right, rotate right and rotate with carry right instructions in the #MiniDragon CPU. The CPU only allows shifting left or right by 1 bit so these are pretty simple circuits. Once I get these on an acrylic board and integrated with the physical layout the ALU will be 100% complete and tested, so somewhat of a big milestone reached!
Alright, finally got done diagramming the new #MiniDragon boards so onto the physical layout the last one goes! It's tested working as well! I also took the time to update the README with recent progress. Remember that the project is documented essentially down to the transistor at https://github.com/dragonMinded/minidragon

These RTL circuits that I use in the #MiniDragon continue to prove themselves indestructible. Just reversed polarity on the new decoder board on accident and the only thing that happened was the voltage sagged in that corner of the CPU and the power wires got real hot. Found the mistake, reversed the wires and it's running like nothing even happened.

This is about the dozenth time I've done this. Not once has it damaged anything beyond once melting through a DuPont header that I just swapped out. They're also impervious to static. I've touched board headers and zapped myself real good multiple times, run power backwards to individual boards countless times, and wired things completely wrong. I've also dropped the hell out of them as well as over- and under-volted them while testing.

They might be extremely obsolete designs that can't run fast compared to modern CMOS, but boy howdy are they more robust by a landslide.

Restock time! #MiniDragon
The board itself has been tidied, but I want to get the diagrams up-to-date before installing it on the #MiniDragon itself. It's a lot easier to double-check connections when it's right next to you instead of across the room.

Ladies, gentlemen, people who don't give a fuck, and creatures of the night, it works! I now have a working ADD, ADC, AND, OR and XOR instruction, against the [PC] (memory pointer for the current address on the stack), U and V registers. The modified boards I got back did the trick nicely and as a bonus I didn't even have to put the ADC carry-handling PCB on a different acrylic sheet! I can't double-check the U and V versions because I don't have the instruction decoder built to load values into those registers yet, but they're responding to load requests and putting "0" on the bus.

Now it's time for me to tidy up the board and then permanently install it in the #MiniDragon stack!

Spending a little bit of time finishing the wiring for this instruction decoder board on the #MiniDragon finally. I hope it works, because I'd like to be done with it and get it integrated into the layout.
Exactly six years ago, today, I was reworking the revision 1 flip-flop circuit that would go on to be the basis of the #MiniDragon registers and microcode counters. The circuit was buggy so I was experimenting with a patched design to prove that it worked before sending that off to fab. I haven't touched one of the revised boards in about 4 years now since they've been integrated into the existing MiniDragon and working properly the whole time. Time sure does fly.
Oh my goodness, the pair of boards that arrived yesterday and today both work perfectly and even better fit on the acrylic decoder! So that means this particular board will be able to fully decode 16 instructions! I think I'm a bit tired to finish wiring this and test it tonight, but we're back on track with the #MiniDragon bring-up!