I think my dwarves just discovered a 60z level candy spire.
Congrats! Now you can make your archer pillboxes from pure adamantine! And addy socks for everybody.
Shift registers revisited, episode tan90:
I had tried the basic concept previously in a bit-rotator that would've been almost impossible to properly load with new data, but the principle was sound and promised a sizable bit shift in a single 100 step activity pulse, at much fewer mechanisms than the water-logic one i posted earlier. I just finished building and testing it, and it works, although of course an unanticipated feature decided to intervene and make things tricky.
The pathing is slightly improper, since i first spaced the thing too tightly - i realised after the primary carving that i needed an extra tile of space between the magazines for proper control, so there's an unused extra track line in the picture.
From left to right: "on" cart magazine, "off" cart magazine, register proper.
"On" carts are copper, "off" iron (and one brass), pressure plates in the register and return controller are calibrated to minimum load 350. When a shift is ordered, the cart on the northern end of the register (no longer actually "registered") is pushed off to the west, over two plates: first deactivates the roller it just came from, second (weight-sensitive) deactivates or leaves active the magazine sorting roller; the cart moves into the magazine it came from. At the same time, one cart of either "on" or "off" weight (determined by the state of the "data" lever) is extracted from its magazine, goes over a pressure plate which deactivates the "load" roller it just came from and activates the magazine's long roller, which then pushes a new cart onto the load roller. I had first built the long rollers as always active, but that blocks output from the load roller, seems like the cart gets wedged in. This accounted for ten more mechanisms than i had anticipated.
Anyway, the cart that's to be shifted into the register then rolls onto the roller on the bottom end of the register and gets pushed north, pushing all already-present carts and moving onto the bottommost plate then. The topmost cart gets pushed out of the register proper, landing on the return roller (which is still inactive).
The register needs a short-term input signal to work with; if base input is something longer-term like a lever-pull, an additional pulse converter (e.g. an edge detector) is required. The shifted-out cart will be held on the return roller, it's not directly output (e.g. for use as carry bit or the like). You'd need a two-cycle operation to collect it - first load/shift, then return the shifted-out cart. With simultaneous single-cycle operation, you'll end up with the shifted-out cart sitting on the fence. Thus, in this design, you actually need bitnumber+2 carts for each state to encode each possible register state, thanks to a double-fencepost problem. I only have room for nine carts each in my magazines, which could go wrong.
Material: 19 minecarts (i have one more "off" than "on" carts, but see above regarding magazine sizes), just under 50 mechanisms (including rollers) for the operation logic including drive train from the cutoff gearbox, not counting output. Some of the design is definitely not optimal, so there's some room for improvement, and most of the mechanisms are core operation logic, it only takes ~1/2 mechanism to operate each additional bit, a 16-bit register would take double the minecarts and outputs, but only six more mechanisms to run. The load/reload cycle could probably be run from the return plate instead of the two load plates, which combined with fewer "corners" in the power train should get it down to 45 mechanisms including the output plates but not their outgoing connections, vs. 6+x per bit in the water-based design: in that case, six'd be the absolute minimum, but would require an inconveniently large control circuit. Smaller circuits push the mechanism count to 9-10 per bit.
Like the water-based one, this register can not be easily cleared, you'd need to enter eight zeroes and wait for the shifts to go through. Of course, it wouldn't take nearly as much time - ~110 steps for a full shift operation opposed to ~110 for each bit shifted.
Bonus: pathing logic, universal binary gate
Just the paths. This gate takes input from the northwest and the cart leaves the circuit to the northeast. Operation is done through two single-tile retracting bridges, the first would be on the input tile itself. Where the second bridge goes and where the pressure plates for each logic condition belong is left as an exercise for the reader. I'm pretty sure there are no missing conditions or bad paths.