http://www.tienza.es/crux/src/www.jwz.org/xscreensaver/xscreensaver-5.05.tar.gz
[xscreensaver] / hacks / images / m6502 / wave6502.asm
1 ;;; 6502 logo Jeremy English 12-January-2008
2
3 start:
4 ldx #0
5 stx $20
6 lda #5
7 sta $21
8 lda $fe
9 sta $22
10
11 loop:
12 dec $21
13 lda $21
14 beq randcolor
15 jmp pastrandcolor
16
17 randcolor:
18 lda #5
19 sta $21
20 ldx #33
21 inc $22
22 lda $22
23 and #7
24 tay
25 rl:
26 lda $1000,x
27 beq pastcolor1
28 lda color_row,y
29 sta $1000,x
30
31 pastcolor1:
32 lda $1040,x
33 beq pastcolor2
34 lda color_row,y
35 sta $1040,x
36
37 pastcolor2:
38 lda $1080,x
39 beq pastcolor3
40 lda color_row,y
41 sta $1080,x
42
43 pastcolor3:
44 lda $10c0,x
45 beq pastcolor4
46 lda color_row,y
47 sta $10c0,x
48
49 pastcolor4:
50 lda $1100,x
51 beq pastcolor5
52 lda color_row,y
53 sta $1100,x
54
55 pastcolor5:
56 lda $1140,x
57 beq pastcolor6
58 lda color_row,y
59 sta $1140,x
60
61 pastcolor6:
62 lda $1180,x
63 beq pastcolor7
64 lda color_row,y
65 sta $1180,x
66
67 pastcolor7:
68 lda $11C0,x
69 beq pastcolor8
70 lda color_row,y
71 sta $11C0,x
72
73 pastcolor8:
74 lda $1200,x
75 beq pastcolor9
76 lda color_row,y
77 sta $1200,x
78
79 pastcolor9:
80 inx
81 txa
82 and #$3f
83 bne rl
84
85 pastrandcolor:
86
87 inc $20
88 lda $20
89 and #$3f
90 tay
91 and #$1f
92 tax
93 lda sinus,x
94 tax
95
96 d:
97
98 lda #0
99 sta $2e0,x
100 sta $3e0,x
101 lda $1000,y
102 sta $300,x
103 lda $1080,y
104 sta $320,x
105 lda $1100,y
106 sta $340,x
107 lda $1180,y
108 sta $360,x
109 lda $1200,y
110 sta $380,x
111 lda $1280,y
112 sta $3a0,x
113 lda $1300,y
114 sta $3c0,x
115 lda $1380,y
116 sta $3c0,x
117 inx
118 iny
119 txa
120 and #$1f
121 bne d
122
123 jmp loop
124
125 ; 32 ($20) long
126 sinus:
127 dcb 0,0,0,0,$20,$20,$20
128 dcb $40,$40,$60,$80,$a0,$a0,$c0,$c0,$c0
129 dcb $e0,$e0,$e0,$e0,$c0,$c0,$c0
130 dcb $a0,$a0,$80,$60,$40,$40,$20,$20,$20
131
132 color_row:
133 dcb $7,$8,$9,$2,$4,$6,$e,$3
134
135
136 *=$1000
137 dcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
138 dcb 0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1
139 dcb 0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0
140 dcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
141 dcb 0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1
142 dcb 0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
143 dcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0
144 dcb 0,0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1
145 dcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
146 dcb 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0
147 dcb 0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0
148 dcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
149 dcb 0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,0,0,1,1
150 dcb 0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
151 dcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1
152 dcb 0,0,1,1,1,1,1,1,0,0,1,1,0,0,1,1,0,0,1,1,1,1,1,1
153 dcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
154 dcb 0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1
155 dcb 0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0
156 dcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
157 dcb 0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,1
158 dcb 0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
159 dcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1
160 dcb 0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1
161 dcb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
162 dcb 0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1
163 dcb 0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1
164