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.

Difference between revisions of "User:Larix/Adder"

From Dwarf Fortress Wiki
Jump to navigation Jump to search
Line 26: Line 26:
 
Forum post featuring this adder:
 
Forum post featuring this adder:
 
http://www.bay12forums.com/smf/index.php?topic=15096.msg4600870#msg4600870
 
http://www.bay12forums.com/smf/index.php?topic=15096.msg4600870#msg4600870
 +
 
less economical "fully mechanical" version:
 
less economical "fully mechanical" version:
 
http://www.bay12forums.com/smf/index.php?topic=15096.msg4602227#msg4602227
 
http://www.bay12forums.com/smf/index.php?topic=15096.msg4602227#msg4602227

Revision as of 23:59, 28 October 2013

Using mechanical logic and applying the principles shown by Jong, an extremely compact full adder can be built which functions similarly to a carry look-ahead adder, but thanks to the immediate operation of mechanisms in Dwarf Fortress can calculate all carries of an arbitrary-size addition in a single tick.

O1-SPABC-O2
       X
       c

P = Power

A,B = gear assemblies connected to the A and B inputs, active when the signal is on

C = gear assembly generating the carry output for this bit. The gear is not linked to any inputs and presence of power on it serves as carry input for the next higher bit.

X = a single gear assembly, connected to both A and B inputs, pre-toggled. It transmits power if one and only one of the inputs is on (an XOR gate).

c = carry input from the next lower bit. Like the output, an unconnected gear, presence of power on the gear serves as carry input.

S = the sum calculation, consisting of a single gear, connected to the A and B inputs as well as a signal generated by the carry input, pre-toggled. It transmits power when exactly one or three of the inputs are on.

O1 = power-to-signal converter or other output device to generate the sum output

O2 = output generating a signal from the carry, required to calculate the next higher bit's sum.


  • This adder takes a mere five installed gear assemblies per bit - four for the carry calculation and one for the sum. Additional mechanisms and machinery are required for power supply, signal generation and linkage. Linking an extra lever to all inputs of the "A" line in the carry computation allows to use this adder for subtraction as well.

Forum post featuring this adder: http://www.bay12forums.com/smf/index.php?topic=15096.msg4600870#msg4600870

less economical "fully mechanical" version: http://www.bay12forums.com/smf/index.php?topic=15096.msg4602227#msg4602227