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:Jong

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:
 
==Dwarven Computer==
 
==Dwarven Computer==
[[Image:DCOverview.png|thumb|Overview of the Dwarven Computer]]
+
[[User:Jong/Dwarven_Computer]]
{{Main|User:Jong/Dwarven_Computer}}
 
 
 
I successfully built first fully programmable digital computer in Dwarf Fortress! It has been tested and works as expected, although incredibly slow.
 
 
 
I did make a few changes from the documented design in the final implementation, but the basic design is sound and should only have a few bugs.
 
 
 
==Single-Stage carry-look-ahead adder==
 
 
 
In another [http://www.bay12forums.com/smf/index.php?topic=55380.0 thread] on the official forums, I came up with an improved design for a carry-look-ahead adder. [[Image:Single stage adder.png|thumb|Single Stage Adder]]
 
 
 
It directly attaches the output gears of the carry calculation circuit to the root of the sum circuit's gear tree, where the carry-in gears would have been. This allows the power availability, which is determined by the carry circuit, to substitute for a toggled gear and thus making the whole adder single stage.
 
 
 
I further optimized the design by replacing most of the simple single-input gears with double input gears that were mentioned in that thread as well. This greatly reduced the complexity of the adder.
 
 
 
==Binary Multiplier==
 
 
 
===Multiple Input Adder===
 
 
 
Given the efficiency of my new adder design, and multiple input design, I have been considering the problem of creating an efficient multiple input adder, which could be used as a component of a binary multiplier.
 
 
 
It turns out that the sum calculation circuit needs no modification at all, as it simply determines whether the total of the inputs and the carry is odd or even, producing a result when it is odd.
 
 
 
However the carry calculation could become very complex, as the quantity of the carry is variable depending on the total number of inputs. For example 1+1+1+1 gives 100, which is 2 units down the row.
 

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: