Rule:NoTimeForAnything
@RULE NoTimeForAnything
based on NoTimeAtAll by HactarCE
0: blank 1: wire 2: wire 0 3: wire 1 4: tail 5: special
_connected_ neighbors meet one of the following criteria: diagonally adjacent cells: a) with two blank neighbors b) with one blank neighbor and one special neighbor c) with two wire neighbors orthogonally adjacent cells: d) with two non-wire neighbors e) with one wire neighbor that itself has a non-wire neighbor f) with two wire neighbors, each with a non-wire neighbor
thanks to this, the rule features compact crossovers (diagonal wires crossing with different parity) and corners act as extra space instead of being skipped.
head and tail automatically change into tail and wire, unless blocked by a connected wire or head respectively. head cells spread to connected wire cells unless blocked by a connected tail cell, if the two cells are both adjacent to certain arrangements of special cells or if the wire cell is a gate.
_gates_ only change if all of their inputs contain a wire cell. what head type a gate changes in to depends on the types of its inputs. if a two-input gate receives an input via its output, it acts like a splitter.
OR: _I_ I@_ __O
AND: _i_ I@I _O_
SUM1: i_I _@_ I_O
NOR: I_I _@_ _O_
MUX: S5S _@_ C_O
the multiplexer is only distinguished from the 3-input sum1 gate by the mandatory presence of a state-5 special cell between its two signal inputs. if the control input is 1, the signal on the same side is chosen and output, else the signal on the opposite side.
Inserter: 5_C O@_ _I5 if the inserter's control input is 1, it outputs the data input. else, it outputs a 0 and holds the data input.
Deleter: 5_O C@5
- 0I
if the deleter's control input is 1, it outputs the data input. else, it outputs nothing and deletes both inputs.
Splitter/Merger:
#5#
_5@0_
*#*
if the splitter receives an input from the bottom, it outputs it through the currently selected top output and selects the other top output. if the merger receives an input from the currently selected top input, it outputs it through the bottom output and selects the other top input, else the signal gets held.
@TABLE
n_states: 6 neighborhood: Moore symmetries: rotate4reflect
- all states
var a0 = {0, 1, 2, 3, 4, 5} var a1 = a0 var a2 = a0 var a3 = a0 var a4 = a0 var a5 = a0 var a6 = a0 var a7 = a0 var a8 = a0
- all wire states
var w0 = {1, 2, 3, 4} var w1 = w0 var w2 = w0 var w3 = w0 var w4 = w0 var w5 = w0 var w6 = w0 var w7 = w0 var w8 = w0
- empty and special
var d0 = {0, 5} var d1 = d0 var d2 = d0 var d3 = d0 var d4 = d0 var d5 = d0 var d6 = d0 var d7 = d0 var d8 = d0
- signal head states
var c0 = {2, 3} var c1 = c0 var c2 = c0 var c3 = c0 var c4 = c0 var c5 = c0 var c6 = c0 var c7 = c0 var c8 = c0
- the one special case. occurs in the inserter and nowhere else
4, c1, 5, 5, 1, 5, 5, 4, a8, 1
- a)
- _0A
- _@0
- ___
- @ x A x
1, 0, 4, 0, a4, a5, a6, a7, a8, 1
c0, 0, 1, 0, a4, a5, a6, a7, a8, c0
4, 0, c2, 0, a4, a5, a6, a7, a8, 4
- b)
- _0A
- _@5
- ___
- @ 0 A 5
1, 0, 4, 5, a4, a5, a6, a7, a8, 1
c0, 0, 1, 5, a4, a5, a6, a7, a8, c0
4, 0, c2, 5, a4, a5, a6, a7, a8, 4
- c)
- _XB
- _@X
- ___
- @ X B X
1, w1, 4, w3, a4, a5, a6, a7, a8, 1
c0, w1, 1, w3, a4, a5, a6, a7, a8, c0
4, w1, c2, w3, a4, a5, a6, a7, a8, 4
- d)
- __x
- _@C
- __x
- @ x C x
1, a1, d2, 4, d4, a5, a6, a7, a8, 1
c0, a1, d2, 1, d4, a5, a6, a7, a8, c0
4, a1, d2, c3, d4, a5, a6, a7, a8, 4
- e)
- _xX
- _@C
- __x
- @ x X C x
1, d1, w2, 4, d4, a5, a6, a7, a8, 1
c0, d1, w2, 1, d4, a5, a6, a7, a8, c0
4, d1, w2, c3, d4, a5, a6, a7, a8, 4
- f)
- _xX
- _@C
- _xX
- @ x X C X x
1, d1, w2, 4, w4, d5, a6, a7, a8, 1
c0, d1, w2, 1, w4, d5, a6, a7, a8, c0
4, d1, w2, c3, w4, d5, a6, a7, a8, 4
- Inserter
- central cell:
- 5_C
- O@_
- _I5
- @ I 5 C 5 O
1, c1, 5, d3, 2, d5, 5, 1, a8, 2 1, c1, 5, d3, 3, d5, 5, 1, a8, c1 1, w1, 5, d3, w4, d5, 5, 1, a8, 1 4, c1, 5, 5, 1, 5, 5, 4, a8, 1
- gate special:
- 0#*
- #@*
- #5*
- @ 5 # # 0 # * * *
0, 5, c2, 1, 0, 2, a6, a7, a8, 5 5, 5, c2, 1, 0, 3, a6, a7, a8, 0
- holding cell:
- ##5
- _@5
- ***
- @ # # 5 5 * * *
c0, d1, w2, w3, 5, 5, a6, a7, a8, c0
- Deleter
- gate special:
- ***
- 5@O
- C#5
- @ 5 C # 5 O * * *
0, 5, 2, 1, 5, w5, a6, a7, a8, 5 5, 5, c2, w3, 5, w5, a6, a7, a8, 5 5, 5, w2, c3, 5, w5, a6, a7, a8, 5 5, 5, w2, w3, 5, w5, a6, a7, a8, 0
- central cell:
- 5_O
- C@5
- *0I
- @ # 5 # 5 # 0 *
1, c1, 5, d3, 1, 5, c6, 0, a8, c6 1, w1, 5, d3, 1, 5, w6, 0, a8, 1
- Splitter/merger
- side special:
- *#5
- _@#
- **#
- @ # 5 # # * * *
5, w1, 5, 4, 4, a5, a6, d7, a8, 0 0, 4, 5, 4, 4, a5, a6, d7, a8, 0 0, w1, 5, 4, 4, a5, a6, d7, a8, 5
- central cell:
- #5#
- 5@0
- *#*
- @ 5 # 5 # 0 * # *
1, 5, w2, 5, c4, 0, a6, w7, a8, c4 1, 5, w2, 5, w4, 0, a6, c7, a8, c7
- entrance cell on split side:
- *5#
- *@5
- ***
- @ 5 # 5 * * * * *
1, 5, w2, 5, a4, a5, a6, a7, a8, 1
- Deleting multiplexer
- S5S
- _@_
- C_O
- @ C S 5 S O
1, d1, 2, d3, c4, 5, c6, d7, 1, c6 1, d1, 3, d3, c4, 5, c6, d7, 1, c4 1, d1, w2, d3, w4, 5, w6, d7, 1, 1
- OR gate
- _I*
- I@_
- *_O
- @ I I * O *
1, 2, d2, 2, a4, d5, 1, d7, a8, 2 1, c1, d2, c3, a4, d5, 1, d7, a8, 3 1, w1, d2, w3, a4, d5, 1, d7, a8, 1
- 2-input AND gate
- *_*
- I@I
- _O_
- @ I * * I O
1, 3, a2, d3, a4, 3, d6, 1, d8, 3 1, c1, a2, d3, a4, c5, d6, 1, d8, 2 1, w1, a2, d3, a4, w5, d6, 1, d8, 1
- 3-input AND gate
- _I_
- I@I
- _O_
- @ I I I O
1, 3, d2, 3, d4, 3, d6, 1, d8, 3 1, c1, d2, c3, d4, c5, d6, 1, d8, 2 1, w1, d2, w3, d4, w5, d6, 1, d8, 1
- 2-input XOR gate
- __I
- _@_
- I_O
- @ I O I
1, d1, c2, d3, 1, d5, c2, d7, d8, 2 1, d1, c2, d3, 1, d5, c6, d7, d8, 3 1, d1, w2, d3, 1, d5, w6, d7, d8, 1
- _#I
- #@#
- I#O
- @ # I # O # I #
1, w1, c2, w3, 1, w5, c2, w7, d8, 2 1, w1, c2, w3, 1, w5, c6, w7, d8, 3 1, w1, w2, w3, 1, w5, w6, w7, d8, 1
- 3-input SUM1 gate
- I_I
- _@_
- I_O
- @ I I I O
1, d1, 3, d3, 2, d5, 2, d7, 1, 3 1, d1, 2, d3, 3, d5, 2, d7, 1, 3 1, d1, c2, d3, c4, d5, c6, d7, 1, 2 1, d1, w2, d3, w4, d5, w6, d7, 1, 1
- I#I
- #@#
- I#O
- @ # I # I # I # O
1, w1, 3, w3, 2, w5, 2, w7, 1, 3 1, w1, 2, w3, 3, w5, 2, w7, 1, 3 1, w1, c2, w3, c4, w5, c6, w7, 1, 2 1, w1, w2, w3, w4, w5, w6, w7, 1, 1
- NOR gate
- I_I
- _@_
- *O*
- @ I I * O *
1, d1, 2, d3, 2, d5, a6, 1, a8, 3 1, d1, c2, d3, c4, d5, a6, 1, a8, 2 1, d1, w2, d3, w4, d5, a6, 1, a8, 1
- I#I
- #@#
- _O_
- @ # I # I # O
1, w1, 2, w3, 2, w5, d6, 1, d8, 3 1, w1, c2, w3, c4, w5, d6, 1, d8, 2 1, w1, w2, w3, w4, w5, d6, 1, d8, 1
- connected signal head turns wire into identical head
1, 0, c2, 0, a4, a5, a6, a7, a8, c2 1, 0, c2, 5, a4, a5, a6, a7, a8, c2 1, w1, c2, w3, a4, a5, a6, a7, a8, c2 1, a1, d2, c3, d4, a5, a6, a7, a8, c3 1, d1, w2, c3, d4, a5, a6, a7, a8, c3 1, d1, w2, c3, w4, d5, a6, a7, a8, c3
- head turns into tail
c0, a1, a2, a3, a4, a5, a6, a7, a8, 4
- tail turns into wire
4, a1, a2, a3, a4, a5, a6, a7, a8, 1
@COLORS 0 0 0 0 1 70 70 140 2 194 61 51 3 51 204 51 4 153 153 153 5 220 200 20