I just had another totally awesome idea. Let us assume that it is possible to build a really fast computer in DF under following restrictions and false assumptions:
- The computer may only use two dimensions, one horizontal and one vertical (let's say Y and Z). The computer must use exactly one layer in the X dimension.
- Pressure plates all trigger on 7/7 water, but not on 0/7. The computer has to be built under the assumption that the pressure plates send a CLOSE signal immediately after the water on top of them is removed.
- Water is not allowed to fall, water must move downwards by teleport pipes.
- All energy powering the computer must pass through a single gear assembly (the "power assembly") that is not used for anything else, and pre-toggled to be disengaged.
- First the screw pumps, then the gears and axles, then the pressure plates must be built. The gears and axles must be built so that from every screw pump, every possible simple (not self-intersecting) power path to the power assembly must be built in exactly this path's order.
- Every screw pump must be powered from the top.
- Information must be stored by having 7/7 tiles of water in some of many places, all called 'info tiles'. Pressure plates may be built only on info tiles. The information must be persistent, that is, if you shut off the power gear, the water must stay where it is.
- Every info tile must have an open channel into it from above. The info tile and the tile above have to be unable to transport power into the X dimension, Further, the tile above may not be an info tile itself or contain water.
I will assume that building such a computer is possible in DF.
It will not work by itself, though. Now build 199 more computers like this, each offset from the previous one by +1 in Z-direction and by +3 in X-direction. For each computer, the order of construction must be exactly the same as the first computer's order. Be sure to finish every computer before you proceed.
Now pick an info tile and connect it to the corresponding info tiles in the other computers like this:
This simplified side view shows a slice perpendicular to the Y direction. The red lines are the three computers and the cyan tiles and the single blue tile are corresponding copies of an info tile.
For every set of 200 corresponding info tiles, build these pumps from bottom to top and power them all together using a power inlet separate from the computer-controlling power. All power lines powering the info tiles must be built in the same way as the computer's power lines, starting at the pumps and ending at a single global power inlet with a disengaged gear assembly named G.
Now define a single extra info tile in the first computer's plane, separate from the computer logic, and copy it onto the other computer planes. Build the same X-connection setup for this info tile (remember the order: pumps from bottom to top, power lines from pumps to global power inlet). In every one of these tiles, build a pressure plate that triggers on 7/7 water and toggles the corresponding computer's power assembly.
Now setup your 200th computer as if it would work correctly on its own. Put water in the tiles you wish to put them, inputting the program data as you go. The extra info tile is left empty, as are all info tiles in the other computers.
Now put an extra 7/7 of water into the space at the intake tile of the lowest pump of the extra info tile cycle (the bottom white tile in the diagram).
To start the computer, toggle G.
Now the following should happen:
Every tick, the whole information moves from one computer to the next. Because you built the cycle pumps from bottom to top, the water will wait here for a tick. As this computer was powered off for the last 99 steps and has had no water on info tiles for the last 199 ticks, all pressure plates are currently disengaged and all the pumps will have halted. The computer will power on because of the water in the extra info tile cycle. All pressure plates with water will now be triggered, all the pressure plates without water are not triggered. Then the computer calculates a single step and the tick is finished.
As you may have noticed, a single computer will already have to be much larger than the one already built by Jong (see
here). Now imagine building 200 of these, without making a single building order mistake or wrong linkup. I suppose you will really need a full 16x16 embark with loads of z-levels to build this monster, along with a few cartloads of patience, some spare fingers and a keyboard of stainless steel, only to have it running at about 2 FPH. But whatever, this is just a proof of concept. Please don't build this.