To make the rule computationally universal, I've configured the signals to follow Bliptile rules (even if the rule uses Moore neighborhood):
Code: Select all
x = 24, y = 11, rule = B-Univ
3A.3A.3A.4A$A.A.A.A.A.A.A2.4A$A.A.A.A.A.A.A.3A.A$A.A.A.A.A.A.A.A2.4A$
A.3A.3A.3A.5A.A$A16.A2.4A$13A3.6A.A$12.A3.2A.A3.A$13A.3A2.5A$A13.A.4A
$9ACG4A!
@RULE B-Univ
#State 1 is wire
#State 2 is turn right signal
#State 3 is signal tail
#State 4 is turn left signal
#State 5 is arm making signal, reserved for loops
#State 6 is retract signal
#State 7 is extend signal
@TABLE
n_states:8
neighborhood:Moore
symmetries:rotate4
var s = {2,4,6,7}
var s1 = {2,4,6,7}
var a1 = {0,1,2,3,4,5,6,7}
var a2 = {0,1,2,3,4,5,6,7}
var a3 = {0,1,2,3,4,5,6,7}
var a4 = {0,1,2,3,4,5,6,7}
var a5 = {0,1,2,3,4,5,6,7}
var a6 = {0,1,2,3,4,5,6,7}
var a7 = {0,1,2,3,4,5,6,7}
var a8 = {0,1,2,3,4,5,6,7}
var w1 = {0,1,3,5}
var w2 = {0,1,3,5}
var w3 = {0,1,3,5}
var w4 = {0,1,3,5}
var w5 = {0,1,3,5}
var w6 = {0,1,3,5}
var w7 = {0,1,3,5}
var w8 = {0,1,3,5}
0,5,a1,a2,a3,a4,a5,a6,2,5
0,a1,a2,5,4,a3,a4,a5,a6,5
1,1,a1,0,0,0,0,0,a2,5
1,s,w1,w2,w3,w4,w5,w6,w7,s
7,5,a1,a2,a3,a4,a5,a6,a7,3
s,1,a1,a2,a3,a4,a5,a6,a7,3
s,0,a1,a2,a3,a4,a5,a6,a7,1
3,a1,a2,a3,a4,a5,a6,a7,a8,1
5,7,a1,a2,a3,a4,a5,a6,a7,7
5,6,a1,a2,a3,a4,a5,a6,a7,0
5,7,a1,a2,a3,a4,a5,a6,a7,1
0,7,0,a1,a2,a3,a4,a5,0,5
@COLORS
1 0 0 255
2 0 255 0
3 255 0 0
4 255 255 0
5 255 0 255
6 255 255 255
7 0 255 255
EDIT:
I modified the rule to make it more universal:
Code: Select all
#N B-Univ UC demo
x = 23, y = 14, rule = B-Univ
CFACGACGACDACGACGACDA.E$20.C.A$CAG.AGC.FCA.CAB.AGC.G.A$G.C.C.A.A.B.D.
C.C.A.A.G$A.A.G.G.C.C.A.A.D.D.C.C$C.G.A.C.F.A.C.F.A.C.G.A$G.C.C.A.A.D
.F.C.C.A.A.G$A.A.G.G.C.C.A.A.G.G.C.C$C.G.A.C.G.A.C.B.A.C.D.A$B.C.C.A.
A.F.B.C.C.A.A.G$A.A.G.F.C.C.A.A.G.G.C.C$C.DCA.CAG.ADC.GCA.CAG.A$F21.G
$ACDACBACFACFACGACBACDAC!
@RULE B-Univ
#State 1 is wire
#State 2 is turn right signal
#State 3 is signal tail
#State 4 is turn left signal
#State 5 is the arm
#State 6 is retract signal
#State 7 is extend signal
@TABLE
n_states:8
neighborhood:Moore
symmetries:rotate4
var s = {2,4,6,7}
var s1 = {2,4,6,7}
var ts = {2,4}
var a1 = {0,1,2,3,4,5,6,7}
var a2 = {0,1,2,3,4,5,6,7}
var a3 = {0,1,2,3,4,5,6,7}
var a4 = {0,1,2,3,4,5,6,7}
var a5 = {0,1,2,3,4,5,6,7}
var a6 = {0,1,2,3,4,5,6,7}
var a7 = {0,1,2,3,4,5,6,7}
var a8 = {0,1,2,3,4,5,6,7}
var w1 = {0,1,3,5}
var w2 = {0,1,3,5}
var w3 = {0,1,3,5}
var w4 = {0,1,3,5}
var w5 = {0,1,3,5}
var w6 = {0,1,3,5}
var w7 = {0,1,3,5}
var w8 = {0,1,3,5}
0,5,4,a1,a2,a3,a4,a5,0,5
0,a1,2,5,a2,a3,a4,a5,0,5
0,6,5,w1,w2,w3,w4,w5,5,1
5,ts,0,5,0,0,0,0,0,1
5,ts,0,0,0,0,0,5,0,1
5,5,s,w1,w2,w3,w4,w5,w6,5
1,s,w1,w2,a3,w4,a5,w6,w7,s
3,1,a1,a2,5,6,5,a3,a4,5
6,3,w1,w2,w3,5,w4,w5,w6,5
7,5,a1,a2,a3,a4,a5,a6,a7,3
s,1,a1,a2,a3,a4,a5,a6,a7,3
3,a1,a2,a3,a4,a5,a6,a7,a8,1
5,7,a1,a2,a3,a4,a5,a6,a7,7
5,6,a1,a2,a3,a4,a5,a6,a7,0
0,7,0,a1,a2,a3,a4,a5,0,5
6,0,a1,a2,a3,a4,a5,a6,a7,0
s,0,a1,a2,a3,a4,a5,a6,a7,1
@COLORS
1 0 0 255
2 0 255 0
3 255 0 0
4 255 255 0
5 255 0 255
6 255 255 255
7 0 255 255
Code: Select all
#N B-Univ W110 simulator demo
x = 24, y = 11, rule = B-Univ
3A.3A.3A.4A$A.A.A.A.A.A.A2.4A$A.A.A.A.A.A.A.3A.A$A.A.A.A.A.A.A.A2.4A$
A.3A.3A.3A.5A.A$A16.A2.4A$13A3.6A.A$12.A3.2A.A3.A$13A.3A2.5A$A13.A.4A
$9ACG4A!
@RULE B-Univ
#State 1 is wire
#State 2 is turn right signal
#State 3 is signal tail
#State 4 is turn left signal
#State 5 is the arm
#State 6 is retract signal
#State 7 is extend signal
@TABLE
n_states:8
neighborhood:Moore
symmetries:rotate4
var s = {2,4,6,7}
var s1 = {2,4,6,7}
var ts = {2,4}
var a1 = {0,1,2,3,4,5,6,7}
var a2 = {0,1,2,3,4,5,6,7}
var a3 = {0,1,2,3,4,5,6,7}
var a4 = {0,1,2,3,4,5,6,7}
var a5 = {0,1,2,3,4,5,6,7}
var a6 = {0,1,2,3,4,5,6,7}
var a7 = {0,1,2,3,4,5,6,7}
var a8 = {0,1,2,3,4,5,6,7}
var w1 = {0,1,3,5}
var w2 = {0,1,3,5}
var w3 = {0,1,3,5}
var w4 = {0,1,3,5}
var w5 = {0,1,3,5}
var w6 = {0,1,3,5}
var w7 = {0,1,3,5}
var w8 = {0,1,3,5}
0,5,4,a1,a2,a3,a4,a5,0,5
0,a1,2,5,a2,a3,a4,a5,0,5
0,6,5,w1,w2,w3,w4,w5,5,1
5,ts,0,5,0,0,0,0,0,1
5,ts,0,0,0,0,0,5,0,1
5,5,s,w1,w2,w3,w4,w5,w6,5
1,s,w1,w2,a3,w4,a5,w6,w7,s
3,1,a1,a2,5,6,5,a3,a4,5
6,3,w1,w2,w3,5,w4,w5,w6,5
7,5,a1,a2,a3,a4,a5,a6,a7,3
s,1,a1,a2,a3,a4,a5,a6,a7,3
3,a1,a2,a3,a4,a5,a6,a7,a8,1
5,7,a1,a2,a3,a4,a5,a6,a7,7
5,6,a1,a2,a3,a4,a5,a6,a7,0
0,7,0,a1,a2,a3,a4,a5,0,5
6,0,a1,a2,a3,a4,a5,a6,a7,0
s,0,a1,a2,a3,a4,a5,a6,a7,1
@COLORS
1 0 0 255
2 0 255 0
3 255 0 0
4 255 255 0
5 255 0 255
6 255 255 255
7 0 255 255
EDIT 2:
Due to the signal update, everything in Bliptile works in B-Univ too.
Anyways, I found this small W110 simulator from Bliptile thread, so I got it into B-Univ and modified it. This simulator can theoricaly infinitely extend itself using UC technology, thus proving the rule fully universal:
Code: Select all
x = 23, y = 21, rule = B-Univ
23A$A21.A$A.3A.3A.3A.9A$A.A.A.A.A.A.A.A$A.A.A.A.A.A.A.9A$A.A.A.A.A.A.
A9.A$A.A.A.A.A.A.A.9A$A.A.A.A.A.A.A.A$A.A.A.A.A.A.A.A.7A$A.A.A.A.A.A.
A.3A5.A$A.A.A.A.A.A.A5.3A.A$A.A.A.A.A.A.A.3A.A.3A$A.A.A.A.A.A.A.A.A.A
2.2A$A.A.A.A.A.A.A.A.5A.A$A.A.A.A.A.A.A.A.2A.4A$A.A.A.A.A.A.A.A2.A2.A
$A.A.3A.3A.A.4A.4A$A.A9.A2.A3.2A.A$A.A.9A2.5A2.A$A.A.A12.A.4A$3A.8ACG
4A!
@RULE B-Univ
#State 1 is wire
#State 2 is turn right signal
#State 3 is signal tail
#State 4 is turn left signal
#State 5 is the arm
#State 6 is retract signal
#State 7 is extend signal
@TABLE
n_states:8
neighborhood:Moore
symmetries:rotate4
var s = {2,4,6,7}
var s1 = {2,4,6,7}
var ts = {2,4}
var a1 = {0,1,2,3,4,5,6,7}
var a2 = {0,1,2,3,4,5,6,7}
var a3 = {0,1,2,3,4,5,6,7}
var a4 = {0,1,2,3,4,5,6,7}
var a5 = {0,1,2,3,4,5,6,7}
var a6 = {0,1,2,3,4,5,6,7}
var a7 = {0,1,2,3,4,5,6,7}
var a8 = {0,1,2,3,4,5,6,7}
var w1 = {0,1,3,5}
var w2 = {0,1,3,5}
var w3 = {0,1,3,5}
var w4 = {0,1,3,5}
var w5 = {0,1,3,5}
var w6 = {0,1,3,5}
var w7 = {0,1,3,5}
var w8 = {0,1,3,5}
0,5,4,a1,a2,a3,a4,a5,0,5
0,a1,2,5,a2,a3,a4,a5,0,5
0,6,5,w1,w2,w3,w4,w5,5,1
5,ts,0,5,0,0,0,0,0,1
5,ts,0,0,0,0,0,5,0,1
5,5,s,w1,w2,w3,w4,w5,w6,5
1,s,w1,w2,a3,w4,a5,w6,w7,s
3,1,a1,a2,5,6,5,a3,a4,5
6,3,w1,w2,w3,5,w4,w5,w6,5
7,5,a1,a2,a3,a4,a5,a6,a7,3
s,1,a1,a2,a3,a4,a5,a6,a7,3
3,a1,a2,a3,a4,a5,a6,a7,a8,1
5,7,a1,a2,a3,a4,a5,a6,a7,7
5,6,a1,a2,a3,a4,a5,a6,a7,0
0,7,0,a1,a2,a3,a4,a5,0,5
6,0,a1,a2,a3,a4,a5,a6,a7,0
s,0,a1,a2,a3,a4,a5,a6,a7,1
@COLORS
1 0 0 255
2 0 255 0
3 255 0 0
4 255 255 0
5 255 0 255
6 255 255 255
7 0 255 255
Now I'm focusing on making B-Univ supports loops (even through that it supports self-constructing replicators).
EDIT 3:
Loop completed, but needs bug fixing on universality:
Code: Select all
#N Small loop in universal CA
x = 2, y = 2, rule = B-Univ
DG$.A!
@RULE B-Univ
#State 1 is wire
#State 2 is turn right signal
#State 3 is signal tail
#State 4 is turn left signal
#State 5 is the arm
#State 6 is retract signal
#State 7 is extend signal
@TABLE
n_states:8
neighborhood:Moore
symmetries:rotate4
var s = {2,4,6,7}
var s1 = {2,4,6,7}
var ts = {2,4}
var a1 = {0,1,2,3,4,5,6,7}
var a2 = {0,1,2,3,4,5,6,7}
var a3 = {0,1,2,3,4,5,6,7}
var a4 = {0,1,2,3,4,5,6,7}
var a5 = {0,1,2,3,4,5,6,7}
var a6 = {0,1,2,3,4,5,6,7}
var a7 = {0,1,2,3,4,5,6,7}
var a8 = {0,1,2,3,4,5,6,7}
var w1 = {0,1,3,5}
var w2 = {0,1,3,5}
var w3 = {0,1,3,5}
var w4 = {0,1,3,5}
var w5 = {0,1,3,5}
var w6 = {0,1,3,5}
var w7 = {0,1,3,5}
var w8 = {0,1,3,5}
var l1 = {0,1,4,5,7}
var l2 = {0,1,4,5,7}
var l3 = {0,1,4,5,7}
var l4 = {0,1,4,5,7}
var l5 = {0,1,4,5,7}
var l6 = {0,1,4,5,7}
1,0,4,7,a1,a2,a3,a4,a5,7
7,1,0,4,a1,a2,a3,a4,a5,4
4,7,1,0,a1,a2,a3,a4,a5,0
0,4,7,1,a1,a2,a3,a4,a5,1
0,7,0,a1,a2,a3,a5,a5,1,1
7,4,0,a1,a2,5,a3,a4,7,4
0,1,7,1,5,a1,a2,a3,w1,1
0,1,7,5,a1,a2,a3,a4,a5,1
1,7,4,7,5,a1,a2,a3,a4,0
0,5,4,a1,a2,a3,a4,a5,0,5
0,a1,2,5,a2,a3,a4,a5,0,5
0,6,5,w1,w2,w3,w4,w5,5,1
5,ts,0,5,0,0,0,0,0,1
5,ts,0,0,0,0,0,5,0,1
5,5,s,w1,w2,w3,w4,w5,w6,5
1,s,w1,w2,a3,w4,a5,w6,w7,s
3,1,a1,a2,5,6,5,a3,a4,5
6,3,w1,w2,w3,5,w4,w5,w6,5
7,5,a1,a2,a3,a4,a5,a6,a7,3
s,1,a1,a2,a3,a4,a5,a6,a7,3
3,a1,a2,a3,a4,a5,a6,a7,a8,1
5,7,a1,a2,a3,a4,a5,a6,a7,7
5,6,a1,a2,a3,a4,a5,a6,a7,0
0,7,0,a1,a2,a3,a4,a5,0,5
6,0,a1,a2,a3,a4,a5,a6,a7,0
s,0,a1,a2,a3,a4,a5,a6,a7,1
@COLORS
1 0 0 255
2 0 255 0
3 255 0 0
4 255 255 0
5 255 0 255
6 255 255 255
7 0 255 255
Code: Select all
#N B-Univ UC demo
x = 23, y = 14, rule = B-Univ
CFACGACGACDACGACGACDA.E$20.C.A$CAG.AGC.FCA.CAB.AGC.G.A$G.C.C.A.A.B.D.
C.C.A.A.G$A.A.G.G.C.C.A.A.D.D.C.C$C.G.A.C.F.A.C.F.A.C.G.A$G.C.C.A.A.D
.F.C.C.A.A.G$A.A.G.G.C.C.A.A.G.G.C.C$C.G.A.C.G.A.C.B.A.C.D.A$B.C.C.A.
A.F.B.C.C.A.A.G$A.A.G.F.C.C.A.A.G.G.C.C$C.DCA.CAG.ADC.GCA.CAG.A$F21.G
$ACDACBACFACFACGACBACDAC!
@RULE B-Univ
#State 1 is wire
#State 2 is turn right signal
#State 3 is signal tail
#State 4 is turn left signal
#State 5 is the arm
#State 6 is retract signal
#State 7 is extend signal
@TABLE
n_states:8
neighborhood:Moore
symmetries:rotate4
var s = {2,4,6,7}
var s1 = {2,4,6,7}
var ts = {2,4}
var a1 = {0,1,2,3,4,5,6,7}
var a2 = {0,1,2,3,4,5,6,7}
var a3 = {0,1,2,3,4,5,6,7}
var a4 = {0,1,2,3,4,5,6,7}
var a5 = {0,1,2,3,4,5,6,7}
var a6 = {0,1,2,3,4,5,6,7}
var a7 = {0,1,2,3,4,5,6,7}
var a8 = {0,1,2,3,4,5,6,7}
var w1 = {0,1,3,5}
var w2 = {0,1,3,5}
var w3 = {0,1,3,5}
var w4 = {0,1,3,5}
var w5 = {0,1,3,5}
var w6 = {0,1,3,5}
var w7 = {0,1,3,5}
var w8 = {0,1,3,5}
1,0,4,7,a1,a2,a3,a4,a5,7
7,1,0,4,a1,a2,a3,a4,a5,4
4,7,1,0,a1,a2,a3,a4,a5,0
0,4,7,1,a1,a2,a3,a4,a5,1
0,7,0,a1,a2,a3,a5,a5,1,1
7,4,0,a1,a2,5,a3,a4,7,4
0,1,7,1,5,a1,a2,a3,w1,1
0,1,7,5,a1,a2,a3,a4,a5,1
1,7,4,7,5,a1,a2,a3,a4,0
0,5,4,a1,a2,a3,a4,a5,0,5
0,a1,2,5,a2,a3,a4,a5,0,5
0,6,5,w1,w2,w3,w4,w5,5,1
5,ts,0,5,0,0,0,0,0,1
5,ts,0,0,0,0,0,5,0,1
5,5,s,w1,w2,w3,w4,w5,w6,5
1,s,w1,w2,a3,w4,a5,w6,w7,s
3,1,a1,a2,5,6,5,a3,a4,5
6,3,w1,w2,w3,5,w4,w5,w6,5
7,5,a1,a2,a3,a4,a5,a6,a7,3
s,1,a1,a2,a3,a4,a5,a6,a7,3
3,a1,a2,a3,a4,a5,a6,a7,a8,1
5,7,a1,a2,a3,a4,a5,a6,a7,7
5,6,a1,a2,a3,a4,a5,a6,a7,0
0,7,0,a1,a2,a3,a4,a5,0,5
6,0,a1,a2,a3,a4,a5,a6,a7,0
s,0,a1,a2,a3,a4,a5,a6,a7,1
@COLORS
1 0 0 255
2 0 255 0
3 255 0 0
4 255 255 0
5 255 0 255
6 255 255 255
7 0 255 255
Code: Select all
#N B-Univ W110 simulator demo
x = 24, y = 11, rule = B-Univ
3A.3A.3A.4A$A.A.A.A.A.A.A2.4A$A.A.A.A.A.A.A.3A.A$A.A.A.A.A.A.A.A2.4A$
A.3A.3A.3A.5A.A$A16.A2.4A$13A3.6A.A$12.A3.2A.A3.A$13A.3A2.5A$A13.A.4A
$9ACG4A!
@RULE B-Univ
#State 1 is wire
#State 2 is turn right signal
#State 3 is signal tail
#State 4 is turn left signal
#State 5 is the arm
#State 6 is retract signal
#State 7 is extend signal
@TABLE
n_states:8
neighborhood:Moore
symmetries:rotate4
var s = {2,4,6,7}
var s1 = {2,4,6,7}
var ts = {2,4}
var a1 = {0,1,2,3,4,5,6,7}
var a2 = {0,1,2,3,4,5,6,7}
var a3 = {0,1,2,3,4,5,6,7}
var a4 = {0,1,2,3,4,5,6,7}
var a5 = {0,1,2,3,4,5,6,7}
var a6 = {0,1,2,3,4,5,6,7}
var a7 = {0,1,2,3,4,5,6,7}
var a8 = {0,1,2,3,4,5,6,7}
var w1 = {0,1,3,5}
var w2 = {0,1,3,5}
var w3 = {0,1,3,5}
var w4 = {0,1,3,5}
var w5 = {0,1,3,5}
var w6 = {0,1,3,5}
var w7 = {0,1,3,5}
var w8 = {0,1,3,5}
1,0,4,7,a1,a2,a3,a4,a5,7
7,1,0,4,a1,a2,a3,a4,a5,4
4,7,1,0,a1,a2,a3,a4,a5,0
0,4,7,1,a1,a2,a3,a4,a5,1
0,7,0,a1,a2,a3,a5,a5,1,1
7,4,0,a1,a2,5,a3,a4,7,4
0,1,7,1,5,a1,a2,a3,w1,1
0,1,7,5,a1,a2,a3,a4,a5,1
1,7,4,7,5,a1,a2,a3,a4,0
0,5,4,a1,a2,a3,a4,a5,0,5
0,a1,2,5,a2,a3,a4,a5,0,5
0,6,5,w1,w2,w3,w4,w5,5,1
5,ts,0,5,0,0,0,0,0,1
5,ts,0,0,0,0,0,5,0,1
5,5,s,w1,w2,w3,w4,w5,w6,5
1,s,w1,w2,a3,w4,a5,w6,w7,s
3,1,a1,a2,5,6,5,a3,a4,5
6,3,w1,w2,w3,5,w4,w5,w6,5
7,5,a1,a2,a3,a4,a5,a6,a7,3
s,1,a1,a2,a3,a4,a5,a6,a7,3
3,a1,a2,a3,a4,a5,a6,a7,a8,1
5,7,a1,a2,a3,a4,a5,a6,a7,7
5,6,a1,a2,a3,a4,a5,a6,a7,0
0,7,0,a1,a2,a3,a4,a5,0,5
6,0,a1,a2,a3,a4,a5,a6,a7,0
s,0,a1,a2,a3,a4,a5,a6,a7,1
@COLORS
1 0 0 255
2 0 255 0
3 255 0 0
4 255 255 0
5 255 0 255
6 255 255 255
7 0 255 255
Part 2 below.