Redstonery
RedstoneryCircuits › Four-bit holding register
Memory circuit

Four-bit holding register

Store a four-bit word with a shared control.

7 × 17 footprint1 layer53 blocksTested in 4 rotationsJava Edition 26.2
Open in the simulatorBuild it in the game

Layout

Layer 0 (on the floor)
lever [face=floor, facing=north, powered=false] at x 0, z 0redstone dust at x 1, z 0redstone dust at x 2, z 0repeater [facing=west, delay=1] at x 3, z 0redstone dust at x 4, z 0repeater [facing=south, delay=1] at x 3, z 1redstone dust at x 3, z 2redstone dust at x 4, z 2redstone dust at x 5, z 2redstone dust at x 6, z 2lever [face=floor, facing=north, powered=false] at x 0, z 4redstone dust at x 1, z 4redstone dust at x 2, z 4repeater [facing=west, delay=1] at x 3, z 4redstone dust at x 4, z 4repeater [facing=south, delay=1] at x 3, z 5redstone dust at x 3, z 6redstone dust at x 4, z 6redstone dust at x 5, z 6redstone dust at x 6, z 6lever [face=floor, facing=north, powered=false] at x 0, z 8redstone dust at x 1, z 8redstone dust at x 2, z 8repeater [facing=west, delay=1] at x 3, z 8redstone dust at x 4, z 8repeater [facing=south, delay=1] at x 3, z 9redstone dust at x 3, z 10redstone dust at x 4, z 10redstone dust at x 5, z 10redstone dust at x 6, z 10lever [face=floor, facing=north, powered=false] at x 0, z 12redstone dust at x 1, z 12redstone dust at x 2, z 12repeater [facing=west, delay=1] at x 3, z 12redstone dust at x 4, z 12repeater [facing=south, delay=1] at x 3, z 13redstone dust at x 3, z 14redstone dust at x 4, z 14redstone dust at x 5, z 14redstone dust at x 6, z 14lever [face=floor, facing=north, powered=false] at x 6, z 16redstone dust at x 6, z 0redstone dust at x 6, z 1redstone dust at x 6, z 3redstone dust at x 6, z 4redstone dust at x 6, z 5redstone dust at x 6, z 7repeater [facing=south, delay=1] at x 6, z 8redstone dust at x 6, z 9redstone dust at x 6, z 11redstone dust at x 6, z 12redstone dust at x 6, z 13redstone dust at x 6, z 15
redstone dustrepeater or comparatorinputarrows point where a device sends its output; north is up

How it works

Four locked repeaters share one Hold input. With Hold off, each output follows its own Data lever. Turn Hold on to retain the current four-bit word while changing the inputs.

  1. Four repeater latches keep separate data bits while sharing one Hold input.
  2. With Hold off, outputs follow Data. Turn Hold on after settling to retain the current word while changing the inputs.

Inputs and outputs

  • InputData 0 (x 1, y 0, z 0)
  • InputData 1 (x 1, y 0, z 4)
  • InputData 2 (x 1, y 0, z 8)
  • InputData 3 (x 1, y 0, z 12)
  • InputHold (x 7, y 0, z 16)
  • OutputBit 0 (x 5, y 0, z 0)
  • OutputBit 1 (x 5, y 0, z 4)
  • OutputBit 2 (x 5, y 0, z 8)
  • OutputBit 3 (x 5, y 0, z 12)

Blocks you need

39 × redstone dust, 9 × repeater, 5 × lever.

Build it in the game: 53 commands

Relative to where you stand, with x running east and z running south. Paste one line at a time into chat, or into a chain of command blocks. The block art is the game's own; the layout is what the page above shows.

setblock ~1 ~0 ~0 minecraft:lever[face=floor,facing=north,powered=false]
setblock ~2 ~0 ~0 minecraft:redstone_wire
setblock ~3 ~0 ~0 minecraft:redstone_wire
setblock ~4 ~0 ~0 minecraft:repeater[facing=west,delay=1]
setblock ~5 ~0 ~0 minecraft:redstone_wire
setblock ~4 ~0 ~1 minecraft:repeater[facing=south,delay=1]
setblock ~4 ~0 ~2 minecraft:redstone_wire
setblock ~5 ~0 ~2 minecraft:redstone_wire
setblock ~6 ~0 ~2 minecraft:redstone_wire
setblock ~7 ~0 ~2 minecraft:redstone_wire
setblock ~1 ~0 ~4 minecraft:lever[face=floor,facing=north,powered=false]
setblock ~2 ~0 ~4 minecraft:redstone_wire
setblock ~3 ~0 ~4 minecraft:redstone_wire
setblock ~4 ~0 ~4 minecraft:repeater[facing=west,delay=1]
setblock ~5 ~0 ~4 minecraft:redstone_wire
setblock ~4 ~0 ~5 minecraft:repeater[facing=south,delay=1]
setblock ~4 ~0 ~6 minecraft:redstone_wire
setblock ~5 ~0 ~6 minecraft:redstone_wire
setblock ~6 ~0 ~6 minecraft:redstone_wire
setblock ~7 ~0 ~6 minecraft:redstone_wire
setblock ~1 ~0 ~8 minecraft:lever[face=floor,facing=north,powered=false]
setblock ~2 ~0 ~8 minecraft:redstone_wire
setblock ~3 ~0 ~8 minecraft:redstone_wire
setblock ~4 ~0 ~8 minecraft:repeater[facing=west,delay=1]
setblock ~5 ~0 ~8 minecraft:redstone_wire
setblock ~4 ~0 ~9 minecraft:repeater[facing=south,delay=1]
setblock ~4 ~0 ~10 minecraft:redstone_wire
setblock ~5 ~0 ~10 minecraft:redstone_wire
setblock ~6 ~0 ~10 minecraft:redstone_wire
setblock ~7 ~0 ~10 minecraft:redstone_wire
setblock ~1 ~0 ~12 minecraft:lever[face=floor,facing=north,powered=false]
setblock ~2 ~0 ~12 minecraft:redstone_wire
setblock ~3 ~0 ~12 minecraft:redstone_wire
setblock ~4 ~0 ~12 minecraft:repeater[facing=west,delay=1]
setblock ~5 ~0 ~12 minecraft:redstone_wire
setblock ~4 ~0 ~13 minecraft:repeater[facing=south,delay=1]
setblock ~4 ~0 ~14 minecraft:redstone_wire
setblock ~5 ~0 ~14 minecraft:redstone_wire
setblock ~6 ~0 ~14 minecraft:redstone_wire
setblock ~7 ~0 ~14 minecraft:redstone_wire
setblock ~7 ~0 ~16 minecraft:lever[face=floor,facing=north,powered=false]
setblock ~7 ~0 ~0 minecraft:redstone_wire
setblock ~7 ~0 ~1 minecraft:redstone_wire
setblock ~7 ~0 ~3 minecraft:redstone_wire
setblock ~7 ~0 ~4 minecraft:redstone_wire
setblock ~7 ~0 ~5 minecraft:redstone_wire
setblock ~7 ~0 ~7 minecraft:redstone_wire
setblock ~7 ~0 ~8 minecraft:repeater[facing=south,delay=1]
setblock ~7 ~0 ~9 minecraft:redstone_wire
setblock ~7 ~0 ~11 minecraft:redstone_wire
setblock ~7 ~0 ~12 minecraft:redstone_wire
setblock ~7 ~0 ~13 minecraft:redstone_wire
setblock ~7 ~0 ~15 minecraft:redstone_wire