So yesterday I finished my latest project, a 6 bit ripple-carry adder.
All the logic is done using mechanical logic, most of which was fairly simple to implement.
Inputs to the adder are from switching elements -- Levers/Pressure Plates.
Outputs are done using screw pumps. The entire mechanism requires very little water, and is currently sitting ~10 squares from my dining hall.
Total power required is ~950, which is provided by 3 banks of water wheels.
It features a total shutdown lever, as well as shutdown levers for each bit in the adder.
LSB is on the left.
Video:
http://www.mkv25.net/dfma/movie-1561-addingmachineSave:
http://www.uc.edu/~bakergo/Goremire.tar.gz (yes, the name is cheesy)
All the logic was derived on my own; the 'mechanical logic' section of the wiki does things the hard way.
I've found that if you find an equation for the positive output network (causing the output to be 1) as well as an equation for the negative output network (causing the output to be 0), the machine basically builds itself using two screw pumps. that could be phrased better.
The logic design philosophy is as follows:
XOR logic is performed by linking all inputs to a single gear assembly, making XOR the most basic operation in mechanical logic.
AND and OR are performed by arranging the gears in parallel or series.
There is no NOT operation, except on the inputs, where NOT was implemented by attaching a 'NOT' lever and pulling it before operating the machine.
NAND and NOR are changed into (A'+B') and (A'B'), respectively.
Doing these, plus a PUN/PDN design with only positive logic allows for the expression of any function with a set truth table, and you can hack the basic design to create oscillators and such, which I've done for a spike trap in the back of my fort.
GF's yelling at me, I'll do the equations and designs later