Rule:Glogic
@RULE glogic
@TABLE
n_states: 8 neighborhood:vonNeumann symmetries:none
- Glogic: A photon logic rule that aims to minimize need for timing
- Inspired by glider logic that makes many life-like rules turing-complete (yes that has very important timing)
- by Kaarel
- Quite reduced from the original idea
- States:
- 0 - empty
- 1-4 - photons (down, left, up, right)
- 5 - block
- 6 - inactive splitter
- 7 - active splitter
var a={0,1,2,3,4,5,6,7} # any state var a1=a var a2=a var a3=a var a4=a
var d = {1,7} # Stuff that sends signals down var d1=d var d2=d var d3=d var d4=d var nd = {0,2,3,4,5,6} # Stuff that doesn't send signals down var nd1=nd var nd2=nd var nd3=nd var nd4=nd
var l = {2,7} # Stuff that sends signals left var l1=l var l2=l var l3=l var l4=l var nl = {0,1,3,4,5,6} # Stuff that doesn't send signals left var nl1=nl var nl2=nl var nl3=nl var nl4=nl
var u = {3,7} # Stuff that sends signals up var u1=u var u2=u var u3=u var u4=u var nu = {0,1,2,4,5,6} # Stuff that doesn't send signals up var nu1=nu var nu2=nu var nu3=nu var nu4=nu
var r = {4,7} # Stuff that sends signals right var r1=r var r2=r var r3=r var r4=r var nr = {0,1,2,3,5,6} # Stuff that doesn't send signals right var nr1=nr var nr2=nr var nr3=nr var nr4=nr
0,d1,nl2,nu3,nr4,1 # D signal going forward 1,nd1,a2,a3,a4,0 # D signal backend
0,nd1,l2,nu3,nr4,2 # L signal going forward 2,a1,nl2,a3,a4,0 # L signal backend
0,nd1,nl2,u3,nr4,3 # U signal going forward 3,a1,a2,nu3,a4,0 # U signal backend
0,nd1,nl2,nu3,r4,4 # R signal going forward 4,a1,a2,a3,nr4,0 # R signal backend
1,a1,l2,a3,a4,0 # D signal annihilation by L signal
1,a1,a2,a3,r4,0 # D signal annihilation by R signal
2,d1,a2,a3,a4,0 # L signal annihil by D signal 2,a1,a2,u3,a4,0 # L signal annihil by U signal
3,a1,l2,a3,a4,0 # U signal annihil by L signal 3,a1,a2,a3,r4,0 # U signal annihil by R signal
4,d1,a2,a3,a4,0 # R signal annihil by D signal 4,a1,a2,u3,a4,0 # R signal annihil by U signal
6,d1,a2,a3,a4,7 # Splitter activate by D
6,a1,l2,a3,a4,7 # Splitter activate by L
6,a1,a2,u3,a4,7 # Splitter activate by U
6,a1,a2,a3,r4,7 # Splitter activate by R
7,nd1,nl2,nu3,nr4,6 # Splitter deactivate
@COLORS
0 0 0 0 1 255 255 255 2 255 255 255 3 255 255 255 4 255 255 255 5 255 0 0 6 0 255 0 7 255 255 0
@ICONS
XPM /* width height num_colors chars_per_pixel */ "31 217 5 1" /* colors */ "A c #FFFFFF" ". c #000000" "C c #FF0000" "D c #00FF00" "E c #FFFF00" /* icon for state 1 */ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" "AAAAAAAAAAAAA.....AAAAAAAAAAAAA" "AAAAAAAAAAAAA.....AAAAAAAAAAAAA" "AAAAAAAAAAAAA.....AAAAAAAAAAAAA" "AAAAAAAAAAAAA.....AAAAAAAAAAAAA" "AAAAAAAAAAAAA.....AAAAAAAAAAAAA" "AAAAAAAAAAAAA.....AAAAAAAAAAAAA" "AAAAAAAAAAAAA.....AAAAAAAAAAAAA" "AAAAAAAAAAAAA.....AAAAAAAAAAAAA" "AAAAAAAAAAAAA.....AAAAAAAAAAAAA" "AAAAAAAAAAAAA.....AAAAAAAAAAAAA" "AAAAAAAAAAAAA.....AAAAAAAAAAAAA" "AAAAAAAAAAAAA.....AAAAAAAAAAAAA" "AAAAAAAAAAAAA.....AAAAAAAAAAAAA" "AAAAAAAAAAAAA.....AAAAAAAAAAAAA" "AAAAAAAAAAAAA.....AAAAAAAAAAAAA" "AAAAAAAAAAAAA.....AAAAAAAAAAAAA" "AAAAAAAAAAAAA.....AAAAAAAAAAAAA" "AAAAAAAAAAAAA.....AAAAAAAAAAAAA" "AAAAAAAAAAAAA.....AAAAAAAAAAAAA" "AAAAAA.....AA.....AA.....AAAAAA" "AAAAAAA.....A.....A.....AAAAAAA" "AAAAAAAA...............AAAAAAAA" "AAAAAAAAA.............AAAAAAAAA" "AAAAAAAAAA...........AAAAAAAAAA" "AAAAAAAAAAA.........AAAAAAAAAAA" "AAAAAAAAAAAA.......AAAAAAAAAAAA" "AAAAAAAAAAAAA.....AAAAAAAAAAAAA" "AAAAAAAAAAAAAA...AAAAAAAAAAAAAA" "AAAAAAAAAAAAAAA.AAAAAAAAAAAAAAA" "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" /* icon for state 2 */ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" "AAAAAAAAAA.AAAAAAAAAAAAAAAAAAAA" "AAAAAAAAA..AAAAAAAAAAAAAAAAAAAA" "AAAAAAAA...AAAAAAAAAAAAAAAAAAAA" "AAAAAAA....AAAAAAAAAAAAAAAAAAAA" "AAAAAA.....AAAAAAAAAAAAAAAAAAAA" "AAAAA.....AAAAAAAAAAAAAAAAAAAAA" "AAAA.....AAAAAAAAAAAAAAAAAAAAAA" "AAA...........................A" "AA............................A" "A.............................A" "AA............................A" "AAA...........................A" "AAAA.....AAAAAAAAAAAAAAAAAAAAAA" "AAAAA.....AAAAAAAAAAAAAAAAAAAAA" "AAAAAA.....AAAAAAAAAAAAAAAAAAAA" "AAAAAAA....AAAAAAAAAAAAAAAAAAAA" "AAAAAAAA...AAAAAAAAAAAAAAAAAAAA" "AAAAAAAAA..AAAAAAAAAAAAAAAAAAAA" "AAAAAAAAAA.AAAAAAAAAAAAAAAAAAAA" "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" /* icon for state 3 */ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" "AAAAAAAAAAAAAAA.AAAAAAAAAAAAAAA" "AAAAAAAAAAAAAA...AAAAAAAAAAAAAA" "AAAAAAAAAAAAA.....AAAAAAAAAAAAA" "AAAAAAAAAAAA.......AAAAAAAAAAAA" "AAAAAAAAAAA.........AAAAAAAAAAA" "AAAAAAAAAA...........AAAAAAAAAA" "AAAAAAAAA.............AAAAAAAAA" "AAAAAAAA...............AAAAAAAA" "AAAAAAA.....A.....A.....AAAAAAA" "AAAAAA.....AA.....AA.....AAAAAA" "AAAAAAAAAAAAA.....AAAAAAAAAAAAA" "AAAAAAAAAAAAA.....AAAAAAAAAAAAA" "AAAAAAAAAAAAA.....AAAAAAAAAAAAA" "AAAAAAAAAAAAA.....AAAAAAAAAAAAA" "AAAAAAAAAAAAA.....AAAAAAAAAAAAA" "AAAAAAAAAAAAA.....AAAAAAAAAAAAA" "AAAAAAAAAAAAA.....AAAAAAAAAAAAA" "AAAAAAAAAAAAA.....AAAAAAAAAAAAA" "AAAAAAAAAAAAA.....AAAAAAAAAAAAA" "AAAAAAAAAAAAA.....AAAAAAAAAAAAA" "AAAAAAAAAAAAA.....AAAAAAAAAAAAA" "AAAAAAAAAAAAA.....AAAAAAAAAAAAA" "AAAAAAAAAAAAA.....AAAAAAAAAAAAA" "AAAAAAAAAAAAA.....AAAAAAAAAAAAA" "AAAAAAAAAAAAA.....AAAAAAAAAAAAA" "AAAAAAAAAAAAA.....AAAAAAAAAAAAA" "AAAAAAAAAAAAA.....AAAAAAAAAAAAA" "AAAAAAAAAAAAA.....AAAAAAAAAAAAA" "AAAAAAAAAAAAA.....AAAAAAAAAAAAA" "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" /* icon for state 4 */ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" "AAAAAAAAAAAAAAAAAAAA.AAAAAAAAAA" "AAAAAAAAAAAAAAAAAAAA..AAAAAAAAA" "AAAAAAAAAAAAAAAAAAAA...AAAAAAAA" "AAAAAAAAAAAAAAAAAAAA....AAAAAAA" "AAAAAAAAAAAAAAAAAAAA.....AAAAAA" "AAAAAAAAAAAAAAAAAAAAA.....AAAAA" "AAAAAAAAAAAAAAAAAAAAAA.....AAAA" "A...........................AAA" "A............................AA" "A.............................A" "A............................AA" "A...........................AAA" "AAAAAAAAAAAAAAAAAAAAAA.....AAAA" "AAAAAAAAAAAAAAAAAAAAA.....AAAAA" "AAAAAAAAAAAAAAAAAAAA.....AAAAAA" "AAAAAAAAAAAAAAAAAAAA....AAAAAAA" "AAAAAAAAAAAAAAAAAAAA...AAAAAAAA" "AAAAAAAAAAAAAAAAAAAA..AAAAAAAAA" "AAAAAAAAAAAAAAAAAAAA.AAAAAAAAAA" "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" /* icon for state 5 */ ".CCCCCCCCCCCCCCCCCCCCCCCCCCCCC." "C.CCCCCCCCCCCCCCCCCCCCCCCCCCC.C" "CC.CCCCCCCCCCCCCCCCCCCCCCCCC.CC" "CCC.CCCCCCCCCCCCCCCCCCCCCCC.CCC" "CCCC.CCCCCCCCCCCCCCCCCCCCC.CCCC" "CCCCC.CCCCCCCCCCCCCCCCCCC.CCCCC" "CCCCCC.CCCCCCCCCCCCCCCCC.CCCCCC" "CCCCCCC.CCCCCCCCCCCCCCC.CCCCCCC" "CCCCCCCC.CCCCCCCCCCCCC.CCCCCCCC" "CCCCCCCCC.CCCCCCCCCCC.CCCCCCCCC" "CCCCCCCCCC.CCCCCCCCC.CCCCCCCCCC" "CCCCCCCCCCC.CCCCCCC.CCCCCCCCCCC" "CCCCCCCCCCCC.CCCCC.CCCCCCCCCCCC" "CCCCCCCCCCCCC.CCC.CCCCCCCCCCCCC" "CCCCCCCCCCCCCC.C.CCCCCCCCCCCCCC" "CCCCCCCCCCCCCCC.CCCCCCCCCCCCCCC" "CCCCCCCCCCCCCC.C.CCCCCCCCCCCCCC" "CCCCCCCCCCCCC.CCC.CCCCCCCCCCCCC" "CCCCCCCCCCCC.CCCCC.CCCCCCCCCCCC" "CCCCCCCCCCC.CCCCCCC.CCCCCCCCCCC" "CCCCCCCCCC.CCCCCCCCC.CCCCCCCCCC" "CCCCCCCCC.CCCCCCCCCCC.CCCCCCCCC" "CCCCCCCC.CCCCCCCCCCCCC.CCCCCCCC" "CCCCCCC.CCCCCCCCCCCCCCC.CCCCCCC" "CCCCCC.CCCCCCCCCCCCCCCCC.CCCCCC" "CCCCC.CCCCCCCCCCCCCCCCCCC.CCCCC" "CCCC.CCCCCCCCCCCCCCCCCCCCC.CCCC" "CCC.CCCCCCCCCCCCCCCCCCCCCCC.CCC" "CC.CCCCCCCCCCCCCCCCCCCCCCCCC.CC" "C.CCCCCCCCCCCCCCCCCCCCCCCCCCC.C" ".CCCCCCCCCCCCCCCCCCCCCCCCCCCCC." /* icon for state 6 */ "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD" "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD" "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD" "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD" "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD" "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD" "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD" "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD" "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD" "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD" "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD" "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD" "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD" "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD" "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD" "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD" "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD" "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD" "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD" "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD" "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD" "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD" "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD" "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD" "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD" "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD" "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD" "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD" "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD" "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD" "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD" /* icon for state 7 */ "EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE" "EEEEEEEEEEEEE.....EEEEEEEEEEEEE" "EEEEEEEEEEEEE.....EEEEEEEEEEEEE" "EEEEEEEEEEEEE.....EEEEEEEEEEEEE" "EEEEEEEEEEEEE.....EEEEEEEEEEEEE" "EEEEEEEEEEEEE.....EEEEEEEEEEEEE" "EEEEEEEEEEEEE.....EEEEEEEEEEEEE" "EEEEEEEEEEEEE.....EEEEEEEEEEEEE" "EEEEEEEEEEEEE.....EEEEEEEEEEEEE" "EEEEEEEEEEEEE.....EEEEEEEEEEEEE" "EEEEEEEEEEEEE.....EEEEEEEEEEEEE" "EEEEEEEEEEEEE.....EEEEEEEEEEEEE" "EEEEEEEEEEEEE.....EEEEEEEEEEEEE" "E.............................E" "E.............................E" "E.............................E" "E.............................E" "E.............................E" "EEEEEEEEEEEEE.....EEEEEEEEEEEEE" "EEEEEEEEEEEEE.....EEEEEEEEEEEEE" "EEEEEEEEEEEEE.....EEEEEEEEEEEEE" "EEEEEEEEEEEEE.....EEEEEEEEEEEEE" "EEEEEEEEEEEEE.....EEEEEEEEEEEEE" "EEEEEEEEEEEEE.....EEEEEEEEEEEEE" "EEEEEEEEEEEEE.....EEEEEEEEEEEEE" "EEEEEEEEEEEEE.....EEEEEEEEEEEEE" "EEEEEEEEEEEEE.....EEEEEEEEEEEEE" "EEEEEEEEEEEEE.....EEEEEEEEEEEEE" "EEEEEEEEEEEEE.....EEEEEEEEEEEEE" "EEEEEEEEEEEEE.....EEEEEEEEEEEEE" "EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE"
XPM /* width height num_colors chars_per_pixel */ "15 105 5 1" /* colors */ "A c #FFFFFF" ". c #000000" "C c #FF0000" "D c #00FF00" "E c #FFFF00" /* icon for state 1 */ "AAAAAA...AAAAAA" "AAAAAA...AAAAAA" "AAAAAA...AAAAAA" "AAAAAA...AAAAAA" "AAAAAA...AAAAAA" "AAAAAA...AAAAAA" "AAAAAA...AAAAAA" "AAAAAA...AAAAAA" "AAAAAA...AAAAAA" "AAAAAA...AAAAAA" "AAA.........AAA" "AAAA.......AAAA" "AAAAA.....AAAAA" "AAAAAA...AAAAAA" "AAAAAAA.AAAAAAA" /* icon for state 2 */ "AAAAAAAAAAAAAAA" "AAAAAAAAAAAAAAA" "AAAAAAAAAAAAAAA" "AAAA.AAAAAAAAAA" "AAA..AAAAAAAAAA" "AA...AAAAAAAAAA" "A.............." "..............." "A.............." "AA...AAAAAAAAAA" "AAA..AAAAAAAAAA" "AAAA.AAAAAAAAAA" "AAAAAAAAAAAAAAA" "AAAAAAAAAAAAAAA" "AAAAAAAAAAAAAAA" /* icon for state 3 */ "AAAAAAA.AAAAAAA" "AAAAAA...AAAAAA" "AAAAA.....AAAAA" "AAAA.......AAAA" "AAA.........AAA" "AAAAAA...AAAAAA" "AAAAAA...AAAAAA" "AAAAAA...AAAAAA" "AAAAAA...AAAAAA" "AAAAAA...AAAAAA" "AAAAAA...AAAAAA" "AAAAAA...AAAAAA" "AAAAAA...AAAAAA" "AAAAAA...AAAAAA" "AAAAAA...AAAAAA" /* icon for state 4 */ "AAAAAAAAAAAAAAA" "AAAAAAAAAAAAAAA" "AAAAAAAAAAAAAAA" "AAAAAAAAAA.AAAA" "AAAAAAAAAA..AAA" "AAAAAAAAAA...AA" "..............A" "..............." "..............A" "AAAAAAAAAA...AA" "AAAAAAAAAA..AAA" "AAAAAAAAAA.AAAA" "AAAAAAAAAAAAAAA" "AAAAAAAAAAAAAAA" "AAAAAAAAAAAAAAA" /* icon for state 5 */ ".CCCCCCCCCCCCC." "C.CCCCCCCCCCC.C" "CC.CCCCCCCCC.CC" "CCC.CCCCCCC.CCC" "CCCC.CCCCC.CCCC" "CCCCC.CCC.CCCCC" "CCCCCC.C.CCCCCC" "CCCCCCC.CCCCCCC" "CCCCCC.C.CCCCCC" "CCCCC.CCC.CCCCC" "CCCC.CCCCC.CCCC" "CCC.CCCCCCC.CCC" "CC.CCCCCCCCC.CC" "C.CCCCCCCCCCC.C" ".CCCCCCCCCCCCC." /* icon for state 6 */ "DDDDDDDDDDDDDDD" "DDDDDDDDDDDDDDD" "DDDDDDDDDDDDDDD" "DDDDDDDDDDDDDDD" "DDDDDDDDDDDDDDD" "DDDDDDDDDDDDDDD" "DDDDDDDDDDDDDDD" "DDDDDDDDDDDDDDD" "DDDDDDDDDDDDDDD" "DDDDDDDDDDDDDDD" "DDDDDDDDDDDDDDD" "DDDDDDDDDDDDDDD" "DDDDDDDDDDDDDDD" "DDDDDDDDDDDDDDD" "DDDDDDDDDDDDDDD" /* icon for state 7 */ "EEEEEE...EEEEEE" "EEEEEE...EEEEEE" "EEEEEE...EEEEEE" "EEEEEE...EEEEEE" "EEEEEE...EEEEEE" "EEEEEE...EEEEEE" "..............." "..............." "..............." "EEEEEE...EEEEEE" "EEEEEE...EEEEEE" "EEEEEE...EEEEEE" "EEEEEE...EEEEEE" "EEEEEE...EEEEEE" "EEEEEE...EEEEEE"
XPM /* width height num_colors chars_per_pixel */ "7 49 5 1" /* colors */ "A c #FFFFFF" ". c #000000" "C c #FF0000" "D c #00FF00" "E c #FFFF00" /* icon for state 1 */ "AAA.AAA" "AAA.AAA" "AAA.AAA" "AAA.AAA" "A.....A" "AA...AA" "AAA.AAA" /* icon for state 2 */ "AAAAAAA" "AA.AAAA" "A..AAAA" "......." "A..AAAA" "AA.AAAA" "AAAAAAA" /* icon for state 3 */ "AAA.AAA" "AA...AA" "A.....A" "AAA.AAA" "AAA.AAA" "AAA.AAA" "AAA.AAA" /* icon for state 4 */ "AAAAAAA" "AAAA.AA" "AAAA..A" "......." "AAAA..A" "AAAA.AA" "AAAAAAA" /* icon for state 5 */ ".CCCCC." "C.CCC.C" "CC.C.CC" "CCC.CCC" "CC.C.CC" "C.CCC.C" ".CCCCC." /* icon for state 6 */ "DDDDDDD" "DDDDDDD" "DDDDDDD" "DDDDDDD" "DDDDDDD" "DDDDDDD" "DDDDDDD" /* icon for state 7 */ "EEEEEEE" "EEE.EEE" "EEE.EEE" "E.....E" "EEE.EEE" "EEE.EEE" "EEEEEEE"