http://www.tienza.es/crux/src/www.jwz.org/xscreensaver/xscreensaver-5.05.tar.gz
[xscreensaver] / hacks / images / m6502 / cellular-600.asm
1 ; Code 600 cellular automata - by D.S.
2  lda #1
3  sta $22f
4
5 l3:
6  ldy #29
7
8 l2:
9  lda  $220,y
10  adc $221,y
11  adc $222,y
12  tax
13  lda rule,x
14  sta  $201,y
15  dey
16  bpl l2
17
18  ldy #$c0
19  sec
20 ll2:
21  lda $503,y
22  sta $523,y
23  sta $53b,y
24  lda $504,y
25  sta $524,y
26  sta $53a,y
27  lda $505,y
28  sta $525,y
29  sta $539,y
30  lda $506,y
31  sta $526,y
32  sta $538,y
33  lda $507,y
34  sta $527,y
35  sta $537,y
36  lda $508,y
37  sta $528,y
38  sta $536,y
39  lda $509,y
40  sta $529,y
41  sta $535,y
42  lda $50a,y
43  sta $52a,y
44  sta $534,y
45  lda $50b,y
46  sta $52b,y
47  sta $533,y
48  lda $50c,y
49  sta $52c,y
50  sta $532,y
51  lda $50d,y
52  sta $52d,y
53  sta $531,y
54  lda $50e,y
55  sta $52e,y
56  sta $530,y
57  lda $50f,y
58  sta $52f,y
59  tya
60  adc #$df
61  tay
62  bcs ll2
63
64  ldy #$e0
65  sec
66 ll3:
67  lda $403,y
68  sta $423,y
69  sta $43b,y
70  lda $404,y
71  sta $424,y
72  sta $43a,y
73  lda $405,y
74  sta $425,y
75  sta $439,y
76  lda $406,y
77  sta $426,y
78  sta $438,y
79  lda $407,y
80  sta $427,y
81  sta $437,y
82  lda $408,y
83  sta $428,y
84  sta $436,y
85  lda $409,y
86  sta $429,y
87  sta $435,y
88  lda $40a,y
89  sta $42a,y
90  sta $434,y
91  lda $40b,y
92  sta $42b,y
93  sta $433,y
94  lda $40c,y
95  sta $42c,y
96  sta $432,y
97  lda $40d,y
98  sta $42d,y
99  sta $431,y
100  lda $40e,y
101  sta $42e,y
102  sta $430,y
103  lda $40f,y
104  sta $42f,y
105  tya
106  adc #$df
107  tay
108  bcs ll3
109
110  ldy #$e0
111  sec
112 ll4:
113  lda $303,y
114  sta $323,y
115  sta $33b,y
116  lda $304,y
117  sta $324,y
118  sta $33a,y
119  lda $305,y
120  sta $325,y
121  sta $339,y
122  lda $306,y
123  sta $326,y
124  sta $338,y
125  lda $307,y
126  sta $327,y
127  sta $337,y
128  lda $308,y
129  sta $328,y
130  sta $336,y
131  lda $309,y
132  sta $329,y
133  sta $335,y
134  lda $30a,y
135  sta $32a,y
136  sta $334,y
137  lda $30b,y
138  sta $32b,y
139  sta $333,y
140  lda $30c,y
141  sta $32c,y
142  sta $332,y
143  lda $30d,y
144  sta $32d,y
145  sta $331,y
146  lda $30e,y
147  sta $32e,y
148  sta $330,y
149  lda $30f,y
150  sta $32f,y
151  tya
152  adc #$df
153  tay
154  bcs ll4
155
156
157  ldy #$e0
158  sec
159 ll1:
160  lda $203,y
161  sta $223,y
162  sta $23b,y
163  lda $204,y
164  sta $224,y
165  sta $23a,y
166  lda $205,y
167  sta $225,y
168  sta $239,y
169  lda $206,y
170  sta $226,y
171  sta $238,y
172  lda $207,y
173  sta $227,y
174  sta $237,y
175  lda $208,y
176  sta $228,y
177  sta $236,y
178  lda $209,y
179  sta $229,y
180  sta $235,y
181  lda $20a,y
182  sta $22a,y
183  sta $234,y
184  lda $20b,y
185  sta $22b,y
186  sta $233,y
187  lda $20c,y
188  sta $22c,y
189  sta $232,y
190  lda $20d,y
191  sta $22d,y
192  sta $231,y
193  lda $20e,y
194  sta $22e,y
195  sta $230,y
196  lda $20f,y
197  sta $22f,y
198  tya
199  adc #$df
200  tay
201  bcs ll1
202
203  jmp l3
204
205 ; Rules, uncomment only one line of the following.
206 rule:
207  dcb 0,2,0,1,1,2,0 ; CODE 600
208 ; dcb 0,2,1,0,2,0,0 ; CODE 177
209 ; dcb 0,1,2,0,2,0,1; CODE 912