source: thomson/code/3rdparty/sources2-hcl/SHADE.ASM@ ceffc47

main
Last change on this file since ceffc47 was ceffc47, checked in by Adrien Destugues <pulkomandy@…>, 10 years ago

Add that collection of 3rdparty source I had lying on my disk for some time...

git-svn-id: svn://localhost/thomson@51 85ae3b6b-dc8f-4344-a89d-598714f2e4e5

  • Property mode set to 100644
File size: 3.8 KB
Line 
1****************************************
2* S H A D E R *
3****************************************
4
5HAUT EQU 160 hauteur à traiter
6SIZE EQU 1 taille de la bande
7DIR EQU $9A
8SEGMNT EQU 0 abcisse @ 8
9BITTST EQU SEGMNT+1 bit à tester
10PIXOFF EQU BITTST+1 masque effaceur
11BANDE1 EQU PIXOFF+1 nb pixels changés
12BANDE2 EQU BANDE1+1
13LIGNE EQU BANDE2+1
14
15 ORG $9800
16G PSHS U,X,DP,B,A,CC
17 ORCC #80
18 LDA #DIR
19 TFR A,DP
20 CLR $E7E5
21
22 LDX #$A000
23 LDU #$C000+40*(HAUT-1)
24 LDA #40
25 STA <SEGMNT
26 LDA #128
27
28FORX STA <BITTST
29 COMA
30 STA <PIXOFF
31 LDA #HAUT
32
33FORY1 LDB ,X
34 BITB <BITTST
35 BNE LIGHT1
36 LDB $2000,X
37 BITB <BITTST
38 BNE LIGHT1
39
40*** On rencontre un pixel éteint
41
42 CLR <BANDE1
43 BRA NEXTY1
44
45*** On rencontre un pixel allumé
46
47LIGHT1 LDB <BANDE1 la bande n'est pas
48 CMPB #SIZE encore totalement
49 BLO COUL1 dessinéee
50
51 TFR A,B le numéro de ligne
52 ANDB #31 n'indique pas un
53 BNE NEXTY1 début de lettre
54 CLR <BANDE1
55
56COUL1 LDB ,X
57 ANDB <PIXOFF change de couleur
58 STB ,X
59 LDB $2000,X
60 ORB <BITTST
61 STB $2000,X
62 INC <BANDE1
63
64NEXTY1 LEAX 40,X
65 DECA
66 BNE FORY1
67
68 LDA #HAUT
69FORY2 LDB ,U
70 BITB <BITTST
71 BNE DARK1
72 LDB -$2000,U
73 BITB <BITTST
74 BNE DARK1
75 CLR <BANDE2
76 BRA NEXTY2
77DARK1 LDB <BANDE2
78 CMPB #SIZE
79 BLO COUL2
80 TFR A,B
81 ANDB #31
82 BNE NEXTY2
83 CLR <BANDE2
84COUL2 LDB ,U
85 ANDB <PIXOFF
86 STB ,U
87 LDB -$2000,U
88 ORB <BITTST
89 STB -$2000,U
90 INC <BANDE2
91NEXTY2 LEAU -40,U
92 DECA
93 BNE FORY2
94
95 LEAX -HAUT*40,X
96 LEAU HAUT*40,U
97 LDA <BITTST
98 LSRA
99 LBNE FORX
100 LDA #128
101 LEAX 1,X
102 LEAU 1,U
103 DEC <SEGMNT
104 LBNE FORX
105
106LATRAL LDX #$A000+(HAUT-1)*40
107 LDU #$C027+(HAUT-1)*40
108 LDA #HAUT
109 STA <LIGNE
110
111FORY3 LDA #40
112 STA <SEGMNT
113 LDA #1
114FORX2 STA <BITTST
115 COMA
116 STA <PIXOFF
117
118 LDB ,U
119 BITB <BITTST
120 BNE DARK2
121 LDB -$2000,U
122 BITB <BITTST
123 BNE DARK2
124
125 CLR <BANDE2
126 BRA NEXTX
127
128DARK2 LDB <BANDE2
129 CMPB #SIZE
130 BLO COUL3
131
132 LDB <SEGMNT
133 ANDB #3
134 BNE NEXTX
135 CMPA #$FE
136 BNE NEXTX
137 CLR <BANDE2
138
139COUL3 LDB ,U
140 ANDB <PIXOFF
141 STB ,U
142 LDB -$2000,U
143 ORB <BITTST
144 STB -$2000,U
145 INC <BANDE2
146
147NEXTX LDA <BITTST
148 ASLA
149 BNE FORX2
150 LEAU -1,U
151 LDA #1
152 DEC <SEGMNT
153 BNE FORX2
154
155 LDA #40
156 STA <SEGMNT
157 LDA #128
158FORX3 STA <BITTST
159 COMA
160 STA <PIXOFF
161
162 LDB ,X
163 BITB <BITTST
164 BNE LIGHT2
165 LDB $2000,X
166 BITB <BITTST
167 BNE LIGHT2
168
169 CLR <BANDE1
170 BRA NEXTX2
171
172LIGHT2 LDB <BANDE1
173 CMPB #SIZE
174 BLO COUL4
175
176 LDB <SEGMNT
177 ANDB #3
178 BNE NEXTX2
179 CMPA #$7F
180 BNE NEXTX2
181 CLR <BANDE1
182
183COUL4 LDB ,X
184 ANDB <PIXOFF
185 STB ,X
186 LDB $2000,X
187 ORB <BITTST
188 STB $2000,X
189 INC <BANDE1
190
191NEXTX2 LDA <BITTST
192 LSRA
193 BNE FORX3
194 LEAX 1,X
195 LDA #128
196 DEC <SEGMNT
197 BNE FORX3
198 LEAX -80,X
199 DEC <LIGNE
200 LBNE FORY3
201
202 PULS CC,A,B,DP,X,U,PC
203
204 END
Note: See TracBrowser for help on using the repository browser.