- 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.
Difference between revisions of "User:Larix/MPL/4"
(Created page with " == 4. Links: project writeups posted on the forum, all in one thread: == Powerless adder: http://www.bay12forums.com/smf/index.php?topic=128979.msg4429364#msg4429364 http:/...") |
|||
Line 6: | Line 6: | ||
http://www.bay12forums.com/smf/index.php?topic=128979.msg4429364#msg4429364 | http://www.bay12forums.com/smf/index.php?topic=128979.msg4429364#msg4429364 | ||
http://www.bay12forums.com/smf/index.php?topic=128979.msg4429366#msg4429366 | http://www.bay12forums.com/smf/index.php?topic=128979.msg4429366#msg4429366 | ||
+ | |||
+ | '''Commentary:''' | ||
+ | |||
+ | Due to the limitations of MPL, this design adds very, very slowly compared with mechanical adders. It also took a lot of time to link everything up. The separately adressable memory feeding the "reader" was a major but in the end quite valuable effort; it demonstrates that separate adressable memory banks ("registers"?) holding information for an indefinite time and run off a single shared input are a definite possibility, something that's absolutely necessary for anything nearing an actual programmable computer. | ||
+ | |||
+ | The solution i found - a counter/memory which performs all carry calculations by itself and holds the actual calculation result - strikes me as rather unorthodox, as well as the addition running from highest to lowest bit when classic binary calculations go from lowest to highest. | ||
Precise dwarven clock: | Precise dwarven clock: | ||
http://www.bay12forums.com/smf/index.php?topic=128979.msg4430617#msg4430617 | http://www.bay12forums.com/smf/index.php?topic=128979.msg4430617#msg4430617 | ||
+ | |||
+ | '''Commentary:''' | ||
+ | |||
+ | This clock is absolutely precise when it comes to days, but due to varying delays in the primary counting circuit, the hours ended up very irregular. The hour signals all arrive at the exact same time every day, but the distances between them range between maybe twenty and one hundred steps. | ||
+ | |||
+ | In my first attempt at building a dwarven clock, i had not yet started looking for useable repeaters and ended up with a highly imprecise contraption. But working on it gave me more interest in counting circuits and i eventually stumbled over the device i ended up using not only here but also as the basis of the calculator. After i had found the small-size 720-step repeater, it was only a matter of putting the parts together. The project even offered an opportunity to actually use some of the logic gates i had constructed, to check for various dates and use them to trigger a few specific devices. | ||
Reusing much of the adder, a low-powered subtractor and multiplier: | Reusing much of the adder, a low-powered subtractor and multiplier: | ||
http://www.bay12forums.com/smf/index.php?topic=128979.msg4442685#msg4442685 | http://www.bay12forums.com/smf/index.php?topic=128979.msg4442685#msg4442685 | ||
+ | |||
+ | '''Commentary:''' | ||
+ | |||
+ | This is primarily an extension of the pure adder above - it's taking the input from the same memory banks - but the calculating memory had to be built anew, the subtraction functionality wasn't included in the adder's memory. The subtractor could probably be designed to allow addition as well, taking input from the same reading circuit, merely using two different-weight minecarts and weight-adjusted pressure plates. | ||
+ | |||
+ | I'm rather pleased with my accidental discovery of binary complementary to display negative numbers, although getting the final 'minus one' to trigger when going negative - to get the correct complement for display - was quite a bit of a headache and the circuitry ended up insanely tangled. | ||
+ | |||
+ | 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". |
Revision as of 11:58, 9 October 2013
4. Links: project writeups posted on the forum, all in one thread:
Powerless adder: http://www.bay12forums.com/smf/index.php?topic=128979.msg4429364#msg4429364 http://www.bay12forums.com/smf/index.php?topic=128979.msg4429366#msg4429366
Commentary:
Due to the limitations of MPL, this design adds very, very slowly compared with mechanical adders. It also took a lot of time to link everything up. The separately adressable memory feeding the "reader" was a major but in the end quite valuable effort; it demonstrates that separate adressable memory banks ("registers"?) holding information for an indefinite time and run off a single shared input are a definite possibility, something that's absolutely necessary for anything nearing an actual programmable computer.
The solution i found - a counter/memory which performs all carry calculations by itself and holds the actual calculation result - strikes me as rather unorthodox, as well as the addition running from highest to lowest bit when classic binary calculations go from lowest to highest.
Precise dwarven clock: http://www.bay12forums.com/smf/index.php?topic=128979.msg4430617#msg4430617
Commentary:
This clock is absolutely precise when it comes to days, but due to varying delays in the primary counting circuit, the hours ended up very irregular. The hour signals all arrive at the exact same time every day, but the distances between them range between maybe twenty and one hundred steps.
In my first attempt at building a dwarven clock, i had not yet started looking for useable repeaters and ended up with a highly imprecise contraption. But working on it gave me more interest in counting circuits and i eventually stumbled over the device i ended up using not only here but also as the basis of the calculator. After i had found the small-size 720-step repeater, it was only a matter of putting the parts together. The project even offered an opportunity to actually use some of the logic gates i had constructed, to check for various dates and use them to trigger a few specific devices.
Reusing much of the adder, a low-powered subtractor and multiplier:
http://www.bay12forums.com/smf/index.php?topic=128979.msg4442685#msg4442685
Commentary:
This is primarily an extension of the pure adder above - it's taking the input from the same memory banks - but the calculating memory had to be built anew, the subtraction functionality wasn't included in the adder's memory. The subtractor could probably be designed to allow addition as well, taking input from the same reading circuit, merely using two different-weight minecarts and weight-adjusted pressure plates.
I'm rather pleased with my accidental discovery of binary complementary to display negative numbers, although getting the final 'minus one' to trigger when going negative - to get the correct complement for display - was quite a bit of a headache and the circuitry ended up insanely tangled.
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".