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.

v0.31 Talk:Pre-Toggled Mechanical Logic

From Dwarf Fortress Wiki
Jump to navigation Jump to search

Did you test any of this before writing this up and linking to it from the mechanical logic page? This doesn't work the way you seem to think. Once your inputs have toggled once, your pre-toggled gears will revert back to normal and you will, for instance, instead of a NAND gate, have an OR gate. When an object sends a state, it sends an OFF/ON signal corresponding to the input's state. It does not send a TOGGLE-STATE signal. Here, I built one of them and tested it: Your NAND gate is actually an OR gate, because pre-toggling doesn't do what you think it does. http://mkv25.net/dfma/movie-2151-pre-togglednandbecominganorgate --SL 20:56, 2 May 2010 (UTC)

Actually, when you're dealing with gear assemblies, levers DO send a "toggle" signal. However, it's also apparent that you did the test wrong - the first design guideline states that "Levers and pressure plates should be linked to a gear assembly in the on state. For reference, a lever is off when built.", and your levers were linked while in the "off" state. --Quietust 21:20, 2 May 2010 (UTC)
There's also the fact that the stuff in this article doesn't really work when dealing with pressure plates, since pressure plates can't easily be linked when "on". --Quietust 21:22, 2 May 2010 (UTC)
I realized a minute ago (and edited the text in my movie) that they were toggling, as the pre-toggling lever switched the gears to OFF and the input levers then switched them back to ON. It's just that the gate seems to be an OR gate instead of a NAND gate when linked up the way I did it (I did miss the part about toggling the levers to ON before linking them). Now why would you have to have your levers ON instead of OFF? It's not so useful if you can't use pressure plates with it. Surely the gates could be designed to accomodate default lever and pressure plate states, hell, switching the OR and NAND gate designs and dropping the levers-ON-before-linking requirement would likely make those work with pressure plates. --SL 21:31, 2 May 2010 (UTC)
In reality, the "pre-toggling" would only be necessary for pressure plates, and all of the "pre-toggled" versus "non-toggled" stuff should be switched around (i.e. stuff currently labeled "pre-toggled" should start enabled and "non-toggled" should start disabled), and pre-toggling via a lever should only be used for pressure plates - for levers, all you need to do is link the lever when it's in a specific position. --Quietust 22:37, 2 May 2010 (UTC)
I have tested all of these designs personally. Pre-toggling is needed if you want to avoid the use of "load gear chains" for things like NAND, NOR, XOR and NXOR. As for pressure plates, re-think your designs to have the plate on when 0-3/7 water. It is doable, and I will be adding known functional water preserving memory and fluid buffer/rotation sensor designs in time. Jjdorf 05:03, 3 May 2010 (UTC)
There's just one small issue with using "inverse" pressure plates - while pressure plates go from "untriggered" to "triggered" instantly, they take 100 ticks to go back to "untriggered". Depending on the system being designed, it might be more desirable to have the delay occur on deactivation rather than on activation. --Quietust 12:49, 3 May 2010 (UTC)
True, but that limitation will occur regardless of what water levels you use. If the plate "semantics" are inverted, the designer will have to determine the new correct logical truth table and adjust their gear assembly design accordingly by inverting the pre-toggled state of every gear assembly linked to the plate. Since these designs were created with the intented use of a dwarven computer, the design guidelines were set forth as they are now. Jjdorf 15:10, 3 May 2010 (UTC)