Code: Select all

```
@RULE Pulse2
@TABLE
neighborhood:vonNeumann
n_states:18
symmetries:permute
# 0 | none
# 1 | gate on pulse
# 2 | gate on cooldown
# 3 | gate on
# 4 | gate on through
# 5 | gate on through cooldown
# 6 | gate off pulse
# 7 | gate off cooldown
# 8 | gate off
# 9 | setter pulse
# 10 | setter cooldown
# 11 | setter
# 12 | getter pulse
# 13 | getter cooldown
# 14 | getter
# 15 | wire pulse
# 16 | wire cooldown
# 17 | wire
var a1 = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17}
var a2 = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17}
var a3 = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17}
var a4 = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17}
var gatep = {1,6,9}
var pulse = {4,12,15}
var gton = {3,4,5}
### Gate
8, gatep,a2,a3,a4, 1
1, a1,a2,a3,a4, 2
2, a1,a2,a3,a4, 3
gton, gatep,a2,a3,a4, 6
6, a1,a2,a3,a4, 7
7, a1,a2,a3,a4, 8
3, pulse,a2,a3,a4, 4
4, a1,a2,a3,a4, 5
5, a1,a2,a3,a4, 3
### Setter
11, pulse,a2,a3,a4, 9
9, a1,a2,a3,a4, 10
10, a1,a2,a3,a4, 11
### Getter
14, gatep,a2,a3,a4, 12
12, a1,a2,a3,a4, 13
13, a1,a2,a3,a4, 14
### Wire
17, pulse,a2,a3,a4, 15
15, a1,a2,a3,a4, 16
16, a1,a2,a3,a4, 17
@COLORS
0 0 0 0 black
1 160 255 0 yellow-green
2 80 255 0 green-yellow
3 0 255 0 green
4 0 255 160 cyan-green
5 0 255 80 green-cyan
6 255 160 0 yellow-red
7 255 80 0 red-yellow
8 255 0 0 red
9 160 255 255 bright cyan
10 80 255 255 light cyan
11 0 255 255 cyan
12 255 255 160 bright yellow
13 255 255 80 light yellow
14 255 255 0 yellow
15 160 160 255 bright blue
16 80 80 255 light blue
17 0 0 255 blue
@ICONS
XPM
{
"7 119 3 1",
" c None",
". c #FFFFFF",
"+ c #000000",
".......",
".......",
".......",
".......",
".......",
".......",
".......",
".......",
"..+.+..",
".+.+.+.",
"..+.+..",
".+.+.+.",
"..+.+..",
".......",
".......",
".+++++.",
".+.+.+.",
".+++++.",
".+.+.+.",
".+++++.",
".......",
".......",
".+++++.",
".+...+.",
".+...+.",
".+...+.",
".+++++.",
".......",
".......",
".+++++.",
".+.+.+.",
".++.++.",
".+.+.+.",
".+++++.",
".......",
"+++.+++",
"++...++",
"+.....+",
".......",
"+.....+",
"++...++",
"+++.+++",
"+++.+++",
"++.+.++",
"+.+.+.+",
".+.+.+.",
"+.+.+.+",
"++.+.++",
"+++.+++",
"+++.+++",
"++.+.++",
"+.+++.+",
".+++++.",
"+.+++.+",
"++.+.++",
"+++.+++",
"..+++..",
".+++++.",
"++...++",
"++...++",
"++...++",
".+++++.",
"..+++..",
"..+++..",
".+++++.",
"++.+.++",
"+++.+++",
"++.+.++",
".+++++.",
"..+++..",
"..+++..",
".+++++.",
"++...++",
"++.+.++",
"++...++",
".+++++.",
"..+++..",
"+.+++.+",
"..+++..",
"++...++",
"++...++",
"++...++",
"..+++..",
"+.+++.+",
"+.+++.+",
"..+++..",
"+++++++",
"+++.+++",
"+++++++",
"..+++..",
"+.+++.+",
"+.+++.+",
"..+++..",
"+++++++",
"+++++++",
"+++++++",
"..+++..",
"+.+++.+",
"+++++++",
"+++++++",
"++...++",
"++...++",
"++...++",
"+++++++",
"+++++++",
"+++++++",
"+++++++",
"++.+.++",
"+++.+++",
"++.+.++",
"+++++++",
"+++++++",
"+++++++",
"+++++++",
"++...++",
"++.+.++",
"++...++",
"+++++++",
"+++++++"};
XPM
{
"15 255 3 1",
" c None",
". c #FFFFFF",
"+ c #000000",
"...............",
"...............",
"...............",
"...............",
"...............",
"...............",
"...............",
"...............",
"...............",
"...............",
"...............",
"...............",
"...............",
"...............",
"...............",
"...............",
"...............",
"..+.+.+.+.+.+..",
"...+.+.+.+.+...",
"..+.+.+.+.+.+..",
"...+.+.+.+.+...",
"..+.+.+.+.+.+..",
"...+.+.+.+.+...",
"..+.+.+.+.+.+..",
"...+.+.+.+.+...",
"..+.+.+.+.+.+..",
"...+.+.+.+.+...",
"..+.+.+.+.+.+..",
"...............",
"...............",
"...............",
"...............",
"..+++++++++++..",
"..+++++++++++..",
"..+++.+.+.+++..",
"..++.+++++.++..",
"..+++++++++++..",
"..++.+++++.++..",
"..+++++++++++..",
"..++.+++++.++..",
"..+++.+.+.+++..",
"..+++++++++++..",
"..+++++++++++..",
"...............",
"...............",
"...............",
"...............",
"..+++++++++++..",
"..+++++++++++..",
"..++.......++..",
"..++.......++..",
"..++.......++..",
"..++.......++..",
"..++.......++..",
"..++.......++..",
"..++.......++..",
"..+++++++++++..",
"..+++++++++++..",
"...............",
"...............",
"...............",
"...............",
"..+++++++++++..",
"..+++++++++++..",
"..+++.+.+.+++..",
"..++.+.+.+.++..",
"..+++.+.+.+++..",
"..++.+.+.+.++..",
"..+++.+.+.+++..",
"..++.+.+.+.++..",
"..+++.+.+.+++..",
"..+++++++++++..",
"..+++++++++++..",
"...............",
"...............",
"+++++++.+++++++",
"++++++...++++++",
"+++++.....+++++",
"++++.......++++",
"+++.........+++",
"++...........++",
"+.............+",
"...............",
"+.............+",
"++...........++",
"+++.........+++",
"++++.......++++",
"+++++.....+++++",
"++++++...++++++",
"+++++++.+++++++",
"+++++++.+++++++",
"++++++...++++++",
"+++++..+..+++++",
"++++..+.+..++++",
"+++..+.+.+..+++",
"++..+.+.+.+..++",
"+..+.+.+.+.+..+",
"..+.+.+.+.+.+..",
"+..+.+.+.+.+..+",
"++..+.+.+.+..++",
"+++..+.+.+..+++",
"++++..+.+..++++",
"+++++..+..+++++",
"++++++...++++++",
"+++++++.+++++++",
"+++++++.+++++++",
"++++++...++++++",
"+++++..+..+++++",
"++++..+++..++++",
"+++..+++++..+++",
"++..+++++++..++",
"+..+++++++++..+",
"..+++++++++++..",
"+..+++++++++..+",
"++..+++++++..++",
"+++..+++++..+++",
"++++..+++..++++",
"+++++..+..+++++",
"++++++...++++++",
"+++++++.+++++++",
"....+++++++....",
"...+++++++++...",
"..+++++++++++..",
".+++++++++++++.",
"++++.......++++",
"++++.......++++",
"++++.......++++",
"++++.......++++",
"++++.......++++",
"++++.......++++",
"++++.......++++",
".+++++++++++++.",
"..+++++++++++..",
"...+++++++++...",
"....+++++++....",
"....+++++++....",
"...+++++++++...",
"..+++++++++++..",
".+++++++++++++.",
"++++.......++++",
"++++.+.+.+.++++",
"++++..+.+..++++",
"++++.+.+.+.++++",
"++++..+.+..++++",
"++++.+.+.+.++++",
"++++.......++++",
".+++++++++++++.",
"..+++++++++++..",
"...+++++++++...",
"....+++++++....",
"....+++++++....",
"...+++++++++...",
"..+++++++++++..",
".+++++++++++++.",
"++++.......++++",
"++++.+++++.++++",
"++++.+++++.++++",
"++++.+++++.++++",
"++++.+++++.++++",
"++++.+++++.++++",
"++++.......++++",
".+++++++++++++.",
"..+++++++++++..",
"...+++++++++...",
"....+++++++....",
"+++.+++++++.+++",
"++..+++++++..++",
"+...+++++++...+",
"....+++++++....",
"++++.......++++",
"++++.......++++",
"++++.......++++",
"++++.......++++",
"++++.......++++",
"++++.......++++",
"++++.......++++",
"....+++++++....",
"+...+++++++...+",
"++..+++++++..++",
"+++.+++++++.+++",
"+++.+++++++.+++",
"++..+++++++..++",
"+...+++++++...+",
"....+++++++....",
"+++++++++++++++",
"++++++.+.++++++",
"+++++.+.+.+++++",
"++++++.+.++++++",
"+++++.+.+.+++++",
"++++++.+.++++++",
"+++++++++++++++",
"....+++++++....",
"+...+++++++...+",
"++..+++++++..++",
"+++.+++++++.+++",
"+++.+++++++.+++",
"++..+++++++..++",
"+...+++++++...+",
"....+++++++....",
"+++++++++++++++",
"+++++++++++++++",
"+++++++++++++++",
"+++++++++++++++",
"+++++++++++++++",
"+++++++++++++++",
"+++++++++++++++",
"....+++++++....",
"+...+++++++...+",
"++..+++++++..++",
"+++.+++++++.+++",
"+++++++++++++++",
"+++++++++++++++",
"+++++++++++++++",
"+++++++++++++++",
"++++.......++++",
"++++.......++++",
"++++.......++++",
"++++.......++++",
"++++.......++++",
"++++.......++++",
"++++.......++++",
"+++++++++++++++",
"+++++++++++++++",
"+++++++++++++++",
"+++++++++++++++",
"+++++++++++++++",
"+++++++++++++++",
"+++++++++++++++",
"+++++++++++++++",
"++++.......++++",
"++++.+.+.+.++++",
"++++..+.+..++++",
"++++.+.+.+.++++",
"++++..+.+..++++",
"++++.+.+.+.++++",
"++++.......++++",
"+++++++++++++++",
"+++++++++++++++",
"+++++++++++++++",
"+++++++++++++++",
"+++++++++++++++",
"+++++++++++++++",
"+++++++++++++++",
"+++++++++++++++",
"++++.......++++",
"++++.+++++.++++",
"++++.+++++.++++",
"++++.+++++.++++",
"++++.+++++.++++",
"++++.+++++.++++",
"++++.......++++",
"+++++++++++++++",
"+++++++++++++++",
"+++++++++++++++",
"+++++++++++++++"};
```