v50 Steam/Premium information for editors
  • v50 information can now be added to pages in the main namespace. v0.47 information can still be found in the DF2014 namespace. See here for more details on the new versioning policy.
  • Use this page to report any issues related to the migration.
This notice may be cached—the current version can be found here.

User:Immibis/FIFO

From Dwarf Fortress Wiki
Jump to navigation Jump to search

This is a FIFO buffer in Dwarf Fortress using fluid logic.

Inputs:

  • Data
  • Clock

Outputs:

  • Data at each stage

Clock speed is set by the pressure plate reset delay.

Diagram key:

*  gear assembly
-  horizontal power transfer
|  vertical power transfer
+  horizontal and vertical power transfer
%> screw pump, pumping right
#  wall
x  data; empty space for 0, 7/7 water or magma for 1; pressure plate underneath
X  data with no pressure plate underneath
^  pressure plate

Side view:

    *-----*-----*-----*-----*- <-- power input A
 *--+--*--+--*--+--*--+--*--+- <-- power input B
 %> %> %> %> %> %> %> %> %> %> <-- pumps
x## ##x## ##x## ##x## ##x## ## <-- walls and data

Pumps are connected alternately to one of two power inputs. To advance one step, first power is applied to input B.

    *-----*-----*-----*-----*-
 *--+--*--+--*--+--*--+--*--+-
 %> %> %> %> %> %> %> %> %> %>
^##X##^##X##^##X##^##X##^##X##

Then power is disconnected from B. Power is then applied to A at least 51 ticks afterwards (because screw pumps keep pumping for 50 ticks after power is removed). Power is disconnected from A after that, and the data has moved along one step. Input to the first bit is provided by