Skip to content

Instantly share code, notes, and snippets.

@bdelespierre
Created December 13, 2023 08:39
Show Gist options
  • Save bdelespierre/180b6d287566c68ad020fa1f0bafd1e3 to your computer and use it in GitHub Desktop.
Save bdelespierre/180b6d287566c68ad020fa1f0bafd1e3 to your computer and use it in GitHub Desktop.
Factorio Led Display Design
┌──────────┐
┌────┐ ┌───────────────┐ ┌────┐ ┌───────────────┐ ┌────┐ ┌───────────────┐ ┌────┐ ┌───────────────┐ │ │
│A=1 │ │D & 0b000000001│ │A=1 │ │C & 0b000000001│ │A=1 │ │B ---b000000001│ │A=1 │ │A & 0b000000001│ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌────────────┐ ┌────┐ │ ┌──────┐ │ ┌───┐
│ ├─┬─┤A=1 ├─┐ │ ├─┬─┤A=1 ├─┐ │ ├─┬─┤A=1 ├─┐ │ ├─┬─┤A=1 ├─┐ │I=4│ │I=3│ │I=2│ │I=1│ │X│ │X│ │X│ │X│ │ │ │I/60│ │ │I<4x60│ │ │ │
└────┘ │ └───────────────┘ │ └────┘ │ └───────────────┘ │ └────┘ │ └───────────────┘ │ └────┘ │ └───────────────┘ │ ┌─┤D ├─┤C ├─┤B ├─┤A ├─┤D├─┤C├─┤B├─┤A├─┤X=0b01111111├─┬─────┤I ├─┴─┤I ├─┴──┤I=1│
│ │ │ │ │ │ │ │ │ └───┘ └───┘ └───┘ └───┘ └─┘ └─┘ └─┘ └─┘ └────────────┘ │ └────┘ └──────┘ └───┘
┌────┐ │ ┌───────────────┐ │ ┌────┐ │ ┌───────────────┐ │ ┌────┐ │ ┌───────────────┐ │ ┌────┐ │ ┌───────────────┐ │ │ │
│B=1 │ │ │D & 0b000000010│ │ │B=1 │ │ │C & 0b000000010│ │ │B=1 │ │ │B & 0b000000010│ │ │B=1 │ │ │A & 0b000000010│ │ │ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌────────────┐ │
│ ├─┼─┤B=1 ├─┤ │ ├─┼─┤B=1 ├─┤ │ ├─┼─┤B=1 ├─┤ │ ├─┼─┤B=1 ├─┤ │ │I=1│ │I=4│ │I=3│ │I=2│ │X│ │X│ │X│ │X│ │ │ │
└────┘ │ └───────────────┘ │ └────┘ │ └───────────────┘ │ └────┘ │ └───────────────┘ │ └────┘ │ └───────────────┘ │ ├─┤D ├─┤C ├─┤B ├─┤A ├─┤D├─┤C├─┤B├─┤A├─┤X=0b10001000├─┤
│ │ │ │ │ │ │ │ │ └───┘ └───┘ └───┘ └───┘ └─┘ └─┘ └─┘ └─┘ └────────────┘ │
┌────┐ │ ┌───────────────┐ │ ┌────┐ │ ┌───────────────┐ │ ┌────┐ │ ┌───────────────┐ │ ┌────┐ │ ┌───────────────┐ │ │ │
│C=1 │ │ │D & 0b000000100│ │ │C=1 │ │ │C & 0b000000100│ │ │C=1 │ │ │B & 0b000000100│ │ │C=1 │ │ │A & 0b000000100│ │ │ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌────────────┐ │
│ ├─┼─┤C=1 ├─┤ │ ├─┼─┤C=1 ├─┤ │ ├─┼─┤C=1 ├─┤ │ ├─┼─┤C=1 ├─┤ │ │I=2│ │I=1│ │I=4│ │I=3│ │X│ │X│ │X│ │X│ │ │ │
└────┘ │ └───────────────┘ │ └────┘ │ └───────────────┘ │ └────┘ │ └───────────────┘ │ └────┘ │ └───────────────┘ │ ├─┤D ├─┤C ├─┤B ├─┤A ├─┤D├─┤C├─┤B├─┤A├─┤X=0b10001000├─┤
│ │ │ │ │ │ │ │ │ └───┘ └───┘ └───┘ └───┘ └─┘ └─┘ └─┘ └─┘ └────────────┘ │
┌────┐ │ ┌───────────────┐ │ ┌────┐ │ ┌───────────────┐ │ ┌────┐ │ ┌───────────────┐ │ ┌────┐ │ ┌───────────────┐ │ │ │
│D=1 │ │ │D & 0b000001000│ │ │D=1 │ │ │C & 0b000001000│ │ │D=1 │ │ │B & 0b000001000│ │ │D=1 │ │ │A & 0b000001000│ │ │ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌────────────┐ │
│ ├─┼─┤D=1 ├─┤ │ ├─┼─┤D=1 ├─┤ │ ├─┼─┤D=1 ├─┤ │ ├─┼─┤D=1 ├─┤ │ │I=3│ │I=2│ │I=1│ │I=4│ │X│ │X│ │X│ │X│ │ │ │
└────┘ │ └───────────────┘ │ └────┘ │ └───────────────┘ │ └────┘ │ └───────────────┘ │ └────┘ │ └───────────────┘ │ ├─┤D ├─┤C ├─┤B ├─┤A ├─┤D├─┤C├─┤B├─┤A├─┤X=0b01111111├─┘
│ │ │ │ │ │ │ │ │ └───┘ └───┘ └───┘ └───┘ └─┘ └─┘ └─┘ └─┘ └────────────┘
┌────┐ │ ┌───────────────┐ │ ┌────┐ │ ┌───────────────┐ │ ┌────┐ │ ┌───────────────┐ │ ┌────┐ │ ┌───────────────┐ │ │
│E=1 │ │ │D & 0b000010000│ │ │E=1 │ │ │C & 0b000010000│ │ │E=1 │ │ │B & 0b000010000│ │ │E=1 │ │ │A & 0b000010000│ │ │
│ ├─┼─┤E=1 ├─┤ │ ├─┼─┤E=1 ├─┤ │ ├─┼─┤E=1 ├─┤ │ ├─┼─┤E=1 ├─┤ │
└────┘ │ └───────────────┘ │ └────┘ │ └───────────────┘ │ └────┘ │ └───────────────┘ │ └────┘ │ └───────────────┘ │ │
│ │ │ │ │ │ │ │ │
┌────┐ │ ┌───────────────┐ │ ┌────┐ │ ┌───────────────┐ │ ┌────┐ │ ┌───────────────┐ │ ┌────┐ │ ┌───────────────┐ │ │
│F=1 │ │ │D & 0b000100000│ │ │F=1 │ │ │C & 0b000100000│ │ │F=1 │ │ │B & 0b000100000│ │ │F=1 │ │ │A & 0b000100000│ │ │
│ ├─┼─┤F=1 ├─┤ │ ├─┼─┤F=1 ├─┤ │ ├─┼─┤F=1 ├─┤ │ ├─┼─┤F=1 ├─┤ │
└────┘ │ └───────────────┘ │ └────┘ │ └───────────────┘ │ └────┘ │ └───────────────┘ │ └────┘ │ └───────────────┘ │ │
│ │ │ │ │ │ │ │ │
┌────┐ │ ┌───────────────┐ │ ┌────┐ │ ┌───────────────┐ │ ┌────┐ │ ┌───────────────┐ │ ┌────┐ │ ┌───────────────┐ │ │
│G=1 │ │ │D & 0b001000000│ │ │G=1 │ │ │C & 0b001000000│ │ │G=1 │ │ │B & 0b001000000│ │ │G=1 │ │ │A & 0b001000000│ │ │
│ ├─┼─┤G=1 ├─┤ │ ├─┼─┤G=1 ├─┤ │ ├─┼─┤G=1 ├─┤ │ ├─┼─┤G=1 ├─┤ │
└────┘ │ └───────────────┘ │ └────┘ │ └───────────────┘ │ └────┘ │ └───────────────┘ │ └────┘ │ └───────────────┘ │ │
│ │ │ │ │ │ │ │ │
┌────┐ │ ┌───────────────┐ │ ┌────┐ │ ┌───────────────┐ │ ┌────┐ │ ┌───────────────┐ │ ┌────┐ │ ┌───────────────┐ │ │
│H=1 │ │ │D & 0b100000000│ │ │H=1 │ │ │C & 0b100000000│ │ │H=1 │ │ │B & 0b100000000│ │ │H=1 │ │ │A & 0b100000000│ │ │
│ ├─┴─┤H=1 ├─┤ │ ├─┴─┤H=1 ├─┤ │ ├─┴─┤H=1 ├─┤ │ ├─┴─┤H=1 ├─┤ │
└────┘ └───────────────┘ │ └────┘ └───────────────┘ │ └────┘ └───────────────┘ │ └────┘ └───────────────┘ │ │
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
└─────────────────────────────────┴─────────────────────────────────┴─────────────────────────────────┴────────┘
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment