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:Green Sprite"

From Dwarf Fortress Wiki
Jump to navigation Jump to search
Line 15: Line 15:
 
The byte cell is made up of eight individual single bit memory cells. The diagram shows only the track layer, the minecart and roller/furniture layers can be derived from the diagram above and the single bit design.
 
The byte cell is made up of eight individual single bit memory cells. The diagram shows only the track layer, the minecart and roller/furniture layers can be derived from the diagram above and the single bit design.
 
===Memory write===
 
===Memory write===
Multiple byte cells are created close together to create the actual memory. A registry for writing to memory, consisting of a byte cell is created. The pressure plate in each bit of the registry connects to the {{Raw Tile|☼|#0F0}} northern gear and the {{Raw Tile|☼|#080}} sourthern gear assembly of the respective bit of all bytes in memory. The northern gear assembly is inverted. On a layer above, power is provided to all of the gears assemblies of each byte. A binary decoder selects a byte to activate in the layer above. Writing works by letting power flow first only to the byte being written to, and then the individual bits being turned on or off.
+
Multiple byte cells are created close together to create the actual memory. A registry for writing to memory, consisting of a byte cell is created. The pressure plate in each bit of the registry connects to the {{Raw Tile|☼|#0F0}} northern gear and the {{Raw Tile|☼|#080}} sourthern gear assembly of the respective bit of all bytes in memory. The southern gear assembly is inverted. On a layer above, power is provided to all of the gears assemblies of each byte. A binary decoder selects a byte to activate in the layer above. Writing works by letting power flow first only to the byte being written to, and then the individual bits being turned on or off. To minimize the number of linkages in the reading of memory, the pressure plate being activated corresponds to a 0, and the pressure plate being lifted (unactivated) corresponds to a 1.
 
===Memory read===
 
===Memory read===
 +
The following diagram has multiple z-levels, click the diagram and press < or > to go up and down.
 
<diagram fg=6:0>
 
<diagram fg=6:0>
 
<frame type=level level=1>
 
<frame type=level level=1>
Line 22: Line 23:
 
   
 
   
 
   
 
   
  [#6:0][%186][#][#4:1][%15] [%15] [%15] [%15] [%15] [%15] [%15] [%15][#]
+
  [%186][#4:1][%15] [%15] [%15] [%15] [%15] [%15] [%15] [%15][#]
 
  [#7:0][%15][#][#5:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#]
 
  [#7:0][%15][#][#5:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#]
  [#6:0][%186][#]
+
  [%186]
  [#6:0][%186][#][#4:1][%15] [%15] [%15] [%15] [%15] [%15] [%15] [%15][#]
+
  [%186][#4:1][%15] [%15] [%15] [%15] [%15] [%15] [%15] [%15][#]
 
  [#7:0][%15][#][#5:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#]
 
  [#7:0][%15][#][#5:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#]
  [#6:0][%186][#]
+
  [%186]
  [#6:0][%186][#][#4:1][%15] [%15] [%15] [%15] [%15] [%15] [%15] [%15][#]
+
  [%186][#4:1][%15] [%15] [%15] [%15] [%15] [%15] [%15] [%15][#]
 
  [#7:0][%15][#][#5:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#]
 
  [#7:0][%15][#][#5:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#]
  [#6:0][%186][#]
+
  [%186]
  [#6:0][%186][#][#4:1][%15] [%15] [%15] [%15] [%15] [%15] [%15] [%15][#]
+
  [%186][#4:1][%15] [%15] [%15] [%15] [%15] [%15] [%15] [%15][#]
 
  [#7:0][%15][#][#5:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#]
 
  [#7:0][%15][#][#5:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#]
 
  [#7:0].
 
  [#7:0].
 
  .          Z=1
 
  .          Z=1
 
  .[#]
 
  .[#]
  [#6:0][%186][#][#4:1][%15] [%15] [%15] [%15] [%15] [%15] [%15] [%15][#]
+
  [%186][#4:1][%15] [%15] [%15] [%15] [%15] [%15] [%15] [%15][#]
 
  [#7:0][%15][#][#5:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#]
 
  [#7:0][%15][#][#5:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#][#6:0][%205][#][#7:0][%15][#]
 
</frame>
 
</frame>
Line 55: Line 56:
 
   [%186] [%186] [%186] [%186] [%186] [%186] [%186] [%186]
 
   [%186] [%186] [%186] [%186] [%186] [%186] [%186] [%186]
 
   [#7:0].
 
   [#7:0].
   .           Z=0
+
   .         Z=0
 
   .[#]
 
   .[#]
   [#7:0][%15][#] [#7:0][%15][#] [#7:0][%15][#] [#7:0][%15][#] [#7:0][%15][#] [#7:0][%15][#] [#7:0][%15][#] [#7:0][%15][#]
+
   [#7:0][%15] [%15] [%15] [%15] [%15] [%15] [%15] [%15][#]
 
   [#7:0]OO[#][#6:0][%186][#] [#7:0]OO[#][#6:0][%186][#] [#7:0]OO[#][#6:0][%186][#] [#7:0]OO[#][#6:0][%186][#]
 
   [#7:0]OO[#][#6:0][%186][#] [#7:0]OO[#][#6:0][%186][#] [#7:0]OO[#][#6:0][%186][#] [#7:0]OO[#][#6:0][%186][#]
 
   [#5:1]^[#][#0:0][@7:0][%254][#@][#2:1][%15][#] [#5:1]^[#][#0:0][@7:0][%254][#@][#2:1][%15][#] [#5:1]^[#][#0:0][@7:0][%254][#@][#2:1][%15][#] [#5:1]^[#][#0:0][@7:0][%254][#@][#2:1][%15][#]
 
   [#5:1]^[#][#0:0][@7:0][%254][#@][#2:1][%15][#] [#5:1]^[#][#0:0][@7:0][%254][#@][#2:1][%15][#] [#5:1]^[#][#0:0][@7:0][%254][#@][#2:1][%15][#] [#5:1]^[#][#0:0][@7:0][%254][#@][#2:1][%15][#]
   [#7:1][%200][%188][#[#7:1][%200][%188][#[#7:1][%200][%188][#[#7:1][%200][%188][#]
+
   [#7:1][%200][%188]  [%200][%188]  [%200][%188]  [%200][%188][#]
 
</frame>
 
</frame>
 
</diagram>
 
</diagram>
 +
In the design, each row of red gear assemblies {{Raw Tile|☼|4:1}} are linked to the row of pressure plates in a byte. The purple gear assemblies {{Raw Tile|☼|5:0}} are normally inverted and decide which byte to read. A binary decoder selects which purple gear assembly to engage. Reading works by first letting power flow through a single purple gear assembly corresponding to one byte and then through the red gear assemblies that are engaged. The lower z level (0) carries the power to a power to signal converter.

Revision as of 23:05, 5 June 2021

Dwarftel Core d1

Memory Cell

Single bit cell

Design for single bit memory cell found here

Byte cell

Design for byte:

O
OOOO
OOOO
O

The byte cell is made up of eight individual single bit memory cells. The diagram shows only the track layer, the minecart and roller/furniture layers can be derived from the diagram above and the single bit design.

Memory write

Multiple byte cells are created close together to create the actual memory. A registry for writing to memory, consisting of a byte cell is created. The pressure plate in each bit of the registry connects to the northern gear and the sourthern gear assembly of the respective bit of all bytes in memory. The southern gear assembly is inverted. On a layer above, power is provided to all of the gears assemblies of each byte. A binary decoder selects a byte to activate in the layer above. Writing works by letting power flow first only to the byte being written to, and then the individual bits being turned on or off. To minimize the number of linkages in the reading of memory, the pressure plate being activated corresponds to a 0, and the pressure plate being lifted (unactivated) corresponds to a 1.

Memory read

The following diagram has multiple z-levels, click the diagram and press < or > to go up and down.

                 
                 
                 
        
 
                
        
 
                
        
 
                
        
 
 .               
 .           Z=1 
 .               
        
 
OO  OO  OO  OO   
^ ^ ^ ^  
     
         
         
         
         
         
         
         
         
         
         
         
  .              
  .          Z=0 
  .              
         
  OO OO OO OO
  ^ ^ ^ ^
         

In the design, each row of red gear assemblies are linked to the row of pressure plates in a byte. The purple gear assemblies are normally inverted and decide which byte to read. A binary decoder selects which purple gear assembly to engage. Reading works by first letting power flow through a single purple gear assembly corresponding to one byte and then through the red gear assemblies that are engaged. The lower z level (0) carries the power to a power to signal converter.