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.

Editing User:SL/Logic Gates

Jump to navigation Jump to search

Warning: You are not logged in.
Your IP address will be recorded in this page's edit history.


The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
This page may contain references to bugs in older versions of DF which no longer exist, for example catastrophic overflowing. I haven't messed with these in DF recently, but pumps shouldn't pump water up to their own z-level anymore.
 
 
I'm pondering borg logic gates here as of 2/15/2010: http://dwarffortresswiki.org/index.php/User:SL/Borg_Logic_Gates
 
 
 
This includes:
 
This includes:
* [[#NOT_gate|NOT]], [[#AND_gate|AND]], [[#OR_gate|OR]], and [[#XOR_gate|XOR gates]]. [[#NOR_gate|NOR]] and [[#NAND_gate|NAND gates]] have single-sentence instructions, since you can build them by changing one pressure plate in an OR or AND gate, respectively.
+
* NOT, AND, OR, and XOR gates. NOR and NAND gates have single-sentence instructions, since you can build them by changing one pressure plate in an OR or AND gate, respectively.
* [[#Repeater|Repeater]] (which repeatedly toggles the output signals (it has two) between ON and OFF)
+
* Repeater (which repeatedly toggles the output signals (it has two) between ON and OFF)
* [[#Memory|Memory]] - intended for replacing one-use pressure plates with resettable versions (one SET input signal, one CLEAR input signal, one output signal)
+
* Memory - intended for replacing one-use pressure plates with resettable versions (one SET input signal, one CLEAR input signal, one output signal)
  
 
The most useful things are the repeater and memory, in my opinion, but the others can be useful too.
 
The most useful things are the repeater and memory, in my opinion, but the others can be useful too.
Line 15: Line 11:
 
[[#Memory|Memory]]: Making resettable one-use pressure plates which are reset by a lever. When the SET input (from one of the aforementioned pressure plates) is triggered, the memory changes its output to the ON state until it receives the CLEAR (reset) signal. The pressure plate turning off does not turn off the memory's output.
 
[[#Memory|Memory]]: Making resettable one-use pressure plates which are reset by a lever. When the SET input (from one of the aforementioned pressure plates) is triggered, the memory changes its output to the ON state until it receives the CLEAR (reset) signal. The pressure plate turning off does not turn off the memory's output.
 
 
[[#NOT_gate|NOT gate]]: Reversing the effect of a switch or creature-sensing pressure plate, generally linked to a memory device. You can, of course, mod the memory device to send the opposite signal instead of using a NOT gate.
+
[[#NOT_gate|NOT gate]: Reversing the effect of a switch or creature-sensing pressure plate, generally linked to a memory device. You can, of course, mod the memory device to send the opposite signal instead of using a NOT gate.
 
 
 
[[#AND_gate|AND gate]]: Requiring more than one condition to be true for something to occur. For instance, a system on/off switch and the output of a memory device could both be linked to an AND gate, and the AND gate's output could be linked to a repeater. The repeater would not run if the system on/off switch was OFF, or if the memory device was not outputting ON.
 
[[#AND_gate|AND gate]]: Requiring more than one condition to be true for something to occur. For instance, a system on/off switch and the output of a memory device could both be linked to an AND gate, and the AND gate's output could be linked to a repeater. The repeater would not run if the system on/off switch was OFF, or if the memory device was not outputting ON.
Line 38: Line 34:
 
* '''[[#Repeater|Repeater]]''': ENABLE input hooked to AND gate's output. First output hooked to checkerboard black square spikes. Second input hooked to checkerboard white square spikes.
 
* '''[[#Repeater|Repeater]]''': ENABLE input hooked to AND gate's output. First output hooked to checkerboard black square spikes. Second input hooked to checkerboard white square spikes.
 
* '''Checkerboard patterned spikes:'''
 
* '''Checkerboard patterned spikes:'''
** Black squares: All hooked to repeater's first output.
+
* * Black squares: All hooked to repeater's first output.
** White squares: All hooked to repeater's second output.
+
* * White squares: All hooked to repeater's second output.
 
* Note: Spikes take about twice as long as hatches or doors to respond to signals. Bridges are also slow. (I haven't tried floodgates, since doors are fast)
 
* Note: Spikes take about twice as long as hatches or doors to respond to signals. Bridges are also slow. (I haven't tried floodgates, since doors are fast)
 
 
 
Demonstration of one repeater hooked to both spikes and hatches, showing the speed difference etc: http://mkv25.net/dfma/movie-281-repeaterinaction
 
Demonstration of one repeater hooked to both spikes and hatches, showing the speed difference etc: http://mkv25.net/dfma/movie-281-repeaterinaction
 
+
 
==What you need to make these==
 
==What you need to make these==
These gates use water for computing, but input and output signals are mechanical in nature (linked pressure plates etc). They require power and are constructed on top of (ideally) a murky pool, (non-pressurized) dwarf-made cistern, river, stream, brook, or aquifer. Each one uses one or two pumps only, so the power requirements are small.
+
These gates use water for computing, but input and output signals are mechanical in nature (linked pressure plates etc). They require power and are constructed on top of (ideally) a murky pool, (non-pressurized) dwarf-made cistern, river, stream, brook, or aquifer. Each one uses one pump only, so the power requirements are small.
  
 
The ideal thing to build these on top of would be an aquifer, since it is capable of absorbing huge amounts of water while also providing huge amounts fairly rapidly. Building on a river or stream may be dangerous (maybe only if the river is entirely 7/7 despite the gates' pump) - it is possible to cause a catastrophic overflow centered on the pump which can only be ended by blocking the pump's input square with a hatch or disconnecting it from power. Damming the river MIGHT prevent an overflow, but would not stop one that is already in progress. {{version|33g}}
 
The ideal thing to build these on top of would be an aquifer, since it is capable of absorbing huge amounts of water while also providing huge amounts fairly rapidly. Building on a river or stream may be dangerous (maybe only if the river is entirely 7/7 despite the gates' pump) - it is possible to cause a catastrophic overflow centered on the pump which can only be ended by blocking the pump's input square with a hatch or disconnecting it from power. Damming the river MIGHT prevent an overflow, but would not stop one that is already in progress. {{version|33g}}
Line 56: Line 52:
 
* Refilling a pool to 7/7 from another water source is (usually) safe.
 
* Refilling a pool to 7/7 from another water source is (usually) safe.
 
* Running a pump on top of a pool which is connected to a water source is, however, NOT safe.
 
* Running a pump on top of a pool which is connected to a water source is, however, NOT safe.
 +
* Even though the pump's output is surrounded by walls, it WILL result in a catastrophic overflow (Let's call it a "superflood"): If all the water in the pool is 7/7 and the tile above it also fills up to 7/7, it seems to cause the water around the pump's output (even though it is walled in) to create water above itself if it is below the pump's z level. This expands in a circle (if there's no terrain, walls, etc, in the way), generating water until the all accessible tiles (without going above the pump's z level) are filled with water. Even worse is that shutting off the connection to the original water source (river, etc) will not stop the flooding! Somehow this turns your pump into an unlimited water generator. Shutting off the power to the pump or blocking the input with a hatch appears to stop the infinite water generation, however. A safety pressure plate (NOT walled in) built next to the gate, linked to the input hatch and set to water 0-0 will serve to arrest any superflood in the very early stages, but once the water evaporates it will open the hatch, and it will likely begin flooding again for a second or two if you haven't taken measures to prevent it.
 
* If you want to build gates on murky pools or dwarf-made cisterns, the best thing to do is to provide a means of disabling all the gates remotely (lever linked to gear assemblies between the gates and power, for instance), and provide a connection to an infinite source (river, brook, aquifer, or the like) via a floodgate which is controlled by another lever. Disable your gates prior to refilling, then open the floodgate to refill, then close the floodgate to disconnect the pool from the water source, and only then re-enable the gates. The pressurization and overflow problem can (theoretically) only occur on a murky pool if something refills the pool while there is water in the logic gates (But I'm not 100% certain about that).
 
* If you want to build gates on murky pools or dwarf-made cisterns, the best thing to do is to provide a means of disabling all the gates remotely (lever linked to gear assemblies between the gates and power, for instance), and provide a connection to an infinite source (river, brook, aquifer, or the like) via a floodgate which is controlled by another lever. Disable your gates prior to refilling, then open the floodgate to refill, then close the floodgate to disconnect the pool from the water source, and only then re-enable the gates. The pressurization and overflow problem can (theoretically) only occur on a murky pool if something refills the pool while there is water in the logic gates (But I'm not 100% certain about that).
 
* Make sure your refiller's source (pumps are sources, or a water source if it's directly connected to it without pumps) is on the same z level as the pool, or you will likely cause a castastrophic overflow even if you don't have any gates on top of it.
 
* Make sure your refiller's source (pumps are sources, or a water source if it's directly connected to it without pumps) is on the same z level as the pool, or you will likely cause a castastrophic overflow even if you don't have any gates on top of it.
Line 124: Line 121:
 
  #H@>D^B.#
 
  #H@>D^B.#
 
  ######B##
 
  ######B##
      ###
+
    ###
  
 
====Details====
 
====Details====
Line 194: Line 191:
 
* * If the first input is ON, the left bridge will be raised (blocking), the right door will be open, and the left door will be closed. Water can not reach the drain.
 
* * If the first input is ON, the left bridge will be raised (blocking), the right door will be open, and the left door will be closed. Water can not reach the drain.
 
* * If the second input is ON, the right bridge will be raised (blocking), the left door will be open, and the right door will be closed. Water can not reach the drain.
 
* * If the second input is ON, the right bridge will be raised (blocking), the left door will be open, and the right door will be closed. Water can not reach the drain.
* * If both inputs are ON, both bridges will be raised (blocking), and both doors will be open. Water will flow through the open doors.
+
* * If both inpust are ON, both bridges will be raised (blocking), and both doors will be open. Water will flow through the open doors.
 
+
 
===NOR gate===
 
===NOR gate===
 
Identical to the OR gate, except that the pressure plate is 0-3 instead of 4-7.
 
Identical to the OR gate, except that the pressure plate is 0-3 instead of 4-7.
Line 206: Line 203:
 
* X is a floodgate which allows or disallows water entering the system. @> is a pump which draws from the west and pumps to the east.
 
* X is a floodgate which allows or disallows water entering the system. @> is a pump which draws from the west and pumps to the east.
 
* ~ is the water source. Ideally it should actually be a solid dirt/rock/whatever tile on the side of a pool/river/whatever before you start construction. You can install the floodgate first, and then dig your channel above, which will let the tile fill with water.
 
* ~ is the water source. Ideally it should actually be a solid dirt/rock/whatever tile on the side of a pool/river/whatever before you start construction. You can install the floodgate first, and then dig your channel above, which will let the tile fill with water.
* There is only one version of this, no 'faster' or 'safer' variants. (2 or more of these will increase the frequency(speed), however they have to be desynchronized)
+
* There is only one version of this, no 'faster' or 'safer' variants.
  
 
====Bottom level====
 
====Bottom level====

Please note that all contributions to Dwarf Fortress Wiki are considered to be released under the GFDL & MIT (see Dwarf Fortress Wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following CAPTCHA:

Cancel Editing help (opens in new window)

Template used on this page: