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:Larix/MPL/4

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:
  
'''Links: project writeups posted on the forum:'''
+
'''Links: project writeups posted on the forum, all in one thread:'''
  
  
Line 33: Line 33:
  
 
The multiplier was merely a proof-of-concept, size and potential time consumption for multiplications done like this rise with the square of the number "length", which quickly becomes utterly impractical when the base time consumption for every generated bit is around 200 steps: multiplying 15 * 15, the biggest calculation possible here, would take about two and a half days. Expanding multiplication to the 100 * 100 range would result in calculation times ranging up to eight days.
 
The multiplier was merely a proof-of-concept, size and potential time consumption for multiplications done like this rise with the square of the number "length", which quickly becomes utterly impractical when the base time consumption for every generated bit is around 200 steps: multiplying 15 * 15, the biggest calculation possible here, would take about two and a half days. Expanding multiplication to the 100 * 100 range would result in calculation times ranging up to eight days.
 
===Seven-segment display controller===
 
 
http://www.bay12forums.com/smf/index.php?topic=15096.msg5243326#msg5243326
 
 
'''Commentary:'''
 
 
This device, while utterly impractical, demonstrates very clearly the peculiarities of pathing logic. Somewhat similar concepts could be used in creature logic (which also depends on pathing), but minecart pathing can take the paradigm to extreme levels because
 
* Minecarts path deterministically, they don't "weigh" paths, they either have a path or they don't.
 
* Minecart paths can be made one-directional very easily. A track corner will only affect the path of carts which enter it from one of its connection directions. Carts arriving from the two non-connected directions just pass over it in a straight line.
 
* Minecart paths can cross each other freely. In contrast, power or fluid cannot be sent "through" an output sensor in separate directions, i.e. without enabling intersecting power/fluid paths.
 
* Minecart paths can be combined easily, while power and fluid tend towards "backwards flow" in such cases.
 
 
Using these advantages, it's entirely possible to have four distinct paths all passing over a single pressure plate. N.B. - the paths are distinct and separate before passing over the plate, and they're still separate after passage.
 
 
I used an "off-switch" logic for this display controller. It was pretty much the approach that presented itself when looking at the problem: to get all sixteen symbols displayed, 34 individual "segment off" signals are required, but a full 78 "segment on" ones. The fiddlier conditions in conventional logic notations didn't bother me, since (minecart) pathing already provided me with a relatively simple four-bit-to-sixteen-outputs pre-decoder. So i didn't need to look at individual bit-to-segment logic, but rather at which pre-decoded _numbers_ shared dark segments in their displays; the features of pure minecart pathing mentioned above then allowed combining paths for shared segments, resulting in a decoder using the absolute minimum of seven pressure plates to pick up signals for the seven display segments.
 
 
I think i understand now why the probably quite numerous computer specialists don't show much interest in MPL - it's ''very'' different from classical computing.
 
 
===Signalless adder, with loop-controlled bit shift===
 
 
A demonstration of an extremely exotic logic discipline, which works without signals and thus needs no mechanisms to build. All input consists of minecart weights, minecart speeds and presence/absence of carts. Those parameters can be translated into distinct pathing decisions of carts and used for data (i.e. minecart) processing.
 
 
Thread:
 
http://www.bay12forums.com/smf/index.php?topic=138595.0
 
Movies:
 
http://mkv25.net/dfma/movie-2661-signallesseight-bitadder
 
http://mkv25.net/dfma/movie-2662-advancedsignallesscalculator
 

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)