1# Cell coders demo.
2# Author: Renato Nobili <renato.nobili@pd.infn.it>
3#
4# There are nine cell types that can be constructed in von Neumann's
5# CA: 9-12,17-20 and 25. The signal trains needed for each are shown
6# on the left. Advance five generations to see the result.
7#
8# These nine signal trains can be created by using coders. On the right
9# are shown the necessary coders for each, converting a single excited
10# pulse into the necessary signal train. The confluent cell type is
11# used as a splitter, to duplicate a pulse onto two wires, and also as
12# a 1-generation delay unit, to synchronise the pulses correctly.
13#
14# http://www.pd.infn.it/~rnobili/wjvn/index.htm
15# http://www.pd.infn.it/~rnobili/au_cell/
16# http://en.wikipedia.org/wiki/Von_Neumann_universal_constructor
17# http://en.wikipedia.org/wiki/Von_Neumann_cellular_automata
18#
19# Originally distributed as: Q-STATE_CODERS.JVN
20# Redistributed with permission.
21#
22x = 60, y = 66, rule = JvN29
2318.2pA.3pA.pA3.pA7.2pA2.2pA2.2pA2.3pA.2pA3.2pA$17.pA3.pA3.pA3.pA6.pA
243.pA2.pA.pA.pA.pA3.pA.pA.pA$17.pA3.2pA2.pA3.pA6.pA3.pA2.pA.pA.pA.2pA
252.pA.pA2.pA$17.pA3.pA3.pA3.pA6.pA3.pA2.pA.pA.pA.pA3.2pA4.pA$18.2pA.3pA
26.3pA.3pA5.2pA2.2pA2.2pA2.3pA.pA.pA.2pA5$4IM3.I14.M28I3.I$44.I$M3IM3.J
27$32.20I3.J$IM2IM3.K23.2JK5.I3.I$32.JIJ$2IMIM3.L23.2JK$23.M8IpAIJ$I2MI
28M3.Q2$3I2M3.R$32.20I3.K$IMI2M3.S23.JIJ6.I2.I$32.2JK$2I3M3.T14.M8IpAIpA
292$I4M3.pA2$33.19I3.L$33.JIJ6.I.I$33.2JK$23.M9IpAIJ4$33.19I3.Q$33.J3.pA
304.2I.I$33.J.2IJ$23.M9IpAIpAIpA6$33.19I3.R$23.M9IpAIpA7.2I4$33.19I3.S$
3133.J.JIJ4.I.2I$33.J.2JK$23.M9IpAIpAIJ6$33.19I3.T$23.M9IpAIpAIpA4.3I6$
3233.19I3.pA$23.M9IpAIpAIpAIpA.4I!
33