1 | **************** MAP>TRA1 **************
|
---|
2 | * *
|
---|
3 | * TRANSCODEUR D'IMAGES TO.MAP > TRAMES *
|
---|
4 | * *
|
---|
5 | * par Michel SAINT-BRIANT * 15/03/1992 *
|
---|
6 | * *
|
---|
7 | * (c) A.S.C.I. Copyright 1992 *
|
---|
8 | * *
|
---|
9 | ****************************************
|
---|
10 |
|
---|
11 | * TRANSCODAGE D'UNE IMAGE THOMSON EN UNE
|
---|
12 | * IMAGE DE 80 COLONNES EN 16 TRAMES /65
|
---|
13 |
|
---|
14 | ORG $9800
|
---|
15 |
|
---|
16 | PSHS A,B,CC,DP,X,Y,U
|
---|
17 |
|
---|
18 | LDA $605F TYPE DE CONSOLE
|
---|
19 | LSLA
|
---|
20 | STA TYPE
|
---|
21 |
|
---|
22 | * ETABLISSEMENT DE LA TABLE DES GRIS
|
---|
23 |
|
---|
24 | LDU #PALET+32
|
---|
25 | LDA #15
|
---|
26 | LIPAL LDX #$FFFF
|
---|
27 | LDY #0
|
---|
28 | JSR $EC00
|
---|
29 | STX ,--U
|
---|
30 | DECA
|
---|
31 | BPL LIPAL
|
---|
32 |
|
---|
33 | LDX #PALET
|
---|
34 | LDY #TABGRI
|
---|
35 | NOUPAL LDD ,X
|
---|
36 | BITA #$10
|
---|
37 | BNE CALGRI
|
---|
38 | COMA
|
---|
39 | COMB
|
---|
40 | STD ,X
|
---|
41 | CALGRI CLRA
|
---|
42 | ANDB #$F0
|
---|
43 | LSRB
|
---|
44 | LSRB
|
---|
45 | TFR D,U
|
---|
46 | LDD ,X++
|
---|
47 | ANDA #$0F
|
---|
48 | LEAU A,U
|
---|
49 | ANDB #$0F
|
---|
50 | LSLB
|
---|
51 | LEAU B,U
|
---|
52 | TFR U,D
|
---|
53 | STB ,Y+
|
---|
54 | CMPX #PALET+32
|
---|
55 | BLO NOUPAL
|
---|
56 |
|
---|
57 | * CALCUL DES TRAMES EN FONCTION DE L'IN-
|
---|
58 | * TENSITE LUMINEUSE DANS TABGRI (16/65)
|
---|
59 |
|
---|
60 | LDU #TABGRI
|
---|
61 | LDX #TRAME
|
---|
62 | LDY #TRAINI
|
---|
63 | LDB #16
|
---|
64 | NOUTRA LDA #105
|
---|
65 | SUBA ,U+
|
---|
66 | PSHS A,B,X,U
|
---|
67 | LDB #158
|
---|
68 | MUL
|
---|
69 | ANDA #$7C
|
---|
70 | LEAU A,Y
|
---|
71 | LDB #4
|
---|
72 | TRA0 LDA ,U
|
---|
73 | LSLA
|
---|
74 | LSLA
|
---|
75 | LSLA
|
---|
76 | LSLA
|
---|
77 | ORA ,U+
|
---|
78 | STA 4,X
|
---|
79 | STA ,X+
|
---|
80 | DECB
|
---|
81 | BNE TRA0
|
---|
82 | LDA ,S
|
---|
83 | ANDA #3
|
---|
84 | BEQ FINTRA
|
---|
85 | LDB #3
|
---|
86 | TRA1 LDA B,U
|
---|
87 | LSLA
|
---|
88 | LSLA
|
---|
89 | LSLA
|
---|
90 | LSLA
|
---|
91 | ORA B,X
|
---|
92 | STA B,X
|
---|
93 | DECB
|
---|
94 | BPL TRA1
|
---|
95 | LEAX -4,X
|
---|
96 | LDA ,S
|
---|
97 | ANDA #3
|
---|
98 | CMPA #2
|
---|
99 | BLO FINTRA
|
---|
100 | LDB #3
|
---|
101 | TRA2 LDA B,U
|
---|
102 | ORA B,X
|
---|
103 | STA B,X
|
---|
104 | DECB
|
---|
105 | BPL TRA2
|
---|
106 | LEAX 4,X
|
---|
107 | LDA ,S
|
---|
108 | ANDA #3
|
---|
109 | CMPA #3
|
---|
110 | BLO FINTRA
|
---|
111 | LDB #3
|
---|
112 | TRA3 LDA B,U
|
---|
113 | ORA B,X
|
---|
114 | STA B,X
|
---|
115 | DECB
|
---|
116 | BPL TRA3
|
---|
117 | FINTRA PULS A,B,X,U
|
---|
118 | LEAX 8,X
|
---|
119 | DECB
|
---|
120 | BNE NOUTRA
|
---|
121 |
|
---|
122 | * RECOPIE DE L'IMAGE EN $A000/$DFFF
|
---|
123 | * EN ENTRELACE
|
---|
124 |
|
---|
125 | LDB #$14
|
---|
126 | JSR $E803
|
---|
127 | LDA $E7C3
|
---|
128 | ORA #$01
|
---|
129 | STA $E7C3
|
---|
130 | LDX #$4000
|
---|
131 | LDY #$A000
|
---|
132 | COPEC0 LDD ,X++
|
---|
133 | STA ,Y++
|
---|
134 | STB ,Y++
|
---|
135 | CMPX #$5F40
|
---|
136 | BLO COPEC0
|
---|
137 | LDA $E7C3
|
---|
138 | ANDA #$FE
|
---|
139 | STA $E7C3
|
---|
140 | LDX #$4000
|
---|
141 | LDY #$A001
|
---|
142 | COPEC1 LDD ,X++
|
---|
143 | STA ,Y++
|
---|
144 | STB ,Y++
|
---|
145 | CMPX #$5F40
|
---|
146 | BLO COPEC1
|
---|
147 |
|
---|
148 | LDX #$A000
|
---|
149 | LDY #TRAME
|
---|
150 | LDD #$2807
|
---|
151 | STA COLON
|
---|
152 | STB LIGNE
|
---|
153 |
|
---|
154 | NEWOCT LDD #$0000
|
---|
155 | PSHS B,A
|
---|
156 | LDA #$C0
|
---|
157 | STA FILTRE
|
---|
158 | TST TYPE
|
---|
159 | LBEQ MODTO7
|
---|
160 | LBMI MODB16
|
---|
161 |
|
---|
162 | MODBM4 CLRA
|
---|
163 | ASL ,X
|
---|
164 | ROLA
|
---|
165 | ASL 1,X
|
---|
166 | ROLA
|
---|
167 | LSLA
|
---|
168 | LSLA
|
---|
169 | LSLA
|
---|
170 | LEAU A,Y
|
---|
171 | LDA LIGNE
|
---|
172 | LDA A,U
|
---|
173 | ANDA FILTRE
|
---|
174 | ORA ,S
|
---|
175 | STA ,S
|
---|
176 | LSR FILTRE
|
---|
177 | LSR FILTRE
|
---|
178 | BNE MODBM4
|
---|
179 | LDA #$C0
|
---|
180 | STA FILTRE
|
---|
181 | MODBM5 CLRA
|
---|
182 | ASL ,X
|
---|
183 | ROLA
|
---|
184 | ASL 1,X
|
---|
185 | ROLA
|
---|
186 | LSLA
|
---|
187 | LSLA
|
---|
188 | LSLA
|
---|
189 | LEAU A,Y
|
---|
190 | LDA LIGNE
|
---|
191 | LDA A,U
|
---|
192 | ANDA FILTRE
|
---|
193 | ORA 1,S
|
---|
194 | STA 1,S
|
---|
195 | LSR FILTRE
|
---|
196 | LSR FILTRE
|
---|
197 | BNE MODBM5
|
---|
198 | LBRA FINMOD
|
---|
199 |
|
---|
200 | MODTO7 LDA 1,X
|
---|
201 | BITA #$40
|
---|
202 | BEQ OCTET0
|
---|
203 | ANDA #$38
|
---|
204 | BRA OCTET1
|
---|
205 | OCTET0 ORA #$40
|
---|
206 | OCTET1 ANDA #$78
|
---|
207 | STA FORM0+1
|
---|
208 | STA FORM1+1
|
---|
209 | LDA 1,X
|
---|
210 | ANDA #$07
|
---|
211 | TST 1,X
|
---|
212 | BMI OCTET2
|
---|
213 | ORA #$08
|
---|
214 | OCTET2 LSLA
|
---|
215 | LSLA
|
---|
216 | LSLA
|
---|
217 | STA FOND0+1
|
---|
218 | STA FOND1+1
|
---|
219 | FORM0 LDA #$00
|
---|
220 | ASL ,X
|
---|
221 | BCS POINT0
|
---|
222 | FOND0 LDA #$00
|
---|
223 | POINT0 LEAU A,Y
|
---|
224 | LDA LIGNE
|
---|
225 | LDA A,U
|
---|
226 | ANDA FILTRE
|
---|
227 | ORA ,S
|
---|
228 | STA ,S
|
---|
229 | LSR FILTRE
|
---|
230 | LSR FILTRE
|
---|
231 | BNE FORM0
|
---|
232 | LDA #$C0
|
---|
233 | STA FILTRE
|
---|
234 | FORM1 LDA #$00
|
---|
235 | ASL ,X
|
---|
236 | BCS POINT1
|
---|
237 | FOND1 LDA #$00
|
---|
238 | POINT1 LEAU A,Y
|
---|
239 | LDA LIGNE
|
---|
240 | LDA A,U
|
---|
241 | ANDA FILTRE
|
---|
242 | ORA 1,S
|
---|
243 | STA 1,S
|
---|
244 | LSR FILTRE
|
---|
245 | LSR FILTRE
|
---|
246 | BNE FORM1
|
---|
247 | BRA FINMOD
|
---|
248 |
|
---|
249 | MODB16 LDA ,X
|
---|
250 | ANDA #$F0
|
---|
251 | LSRA
|
---|
252 | LEAU A,Y
|
---|
253 | LDA LIGNE
|
---|
254 | LDA A,U
|
---|
255 | ANDA #$F0
|
---|
256 | ORA ,S
|
---|
257 | STA ,S
|
---|
258 | LDA ,X
|
---|
259 | ANDA #$0F
|
---|
260 | LSLA
|
---|
261 | LSLA
|
---|
262 | LSLA
|
---|
263 | LEAU A,Y
|
---|
264 | LDA LIGNE
|
---|
265 | LDA A,U
|
---|
266 | ANDA #$0F
|
---|
267 | ORA ,S
|
---|
268 | STA ,S
|
---|
269 | LDA 1,X
|
---|
270 | ANDA #$F0
|
---|
271 | LSRA
|
---|
272 | LEAU A,Y
|
---|
273 | LDA LIGNE
|
---|
274 | LDA A,U
|
---|
275 | ANDA #$F0
|
---|
276 | ORA 1,S
|
---|
277 | STA 1,S
|
---|
278 | LDA 1,X
|
---|
279 | ANDA #$0F
|
---|
280 | LSLA
|
---|
281 | LSLA
|
---|
282 | LSLA
|
---|
283 | LEAU A,Y
|
---|
284 | LDA LIGNE
|
---|
285 | LDA A,U
|
---|
286 | ANDA #$0F
|
---|
287 | ORA 1,S
|
---|
288 | STA 1,S
|
---|
289 |
|
---|
290 | FINMOD PULS A,B
|
---|
291 | STD ,X++
|
---|
292 | CMPX #$DE80
|
---|
293 | BHS AFFTO
|
---|
294 | DEC COLON
|
---|
295 | LBNE NEWOCT
|
---|
296 | LDA #$28
|
---|
297 | STA COLON
|
---|
298 | DEC LIGNE
|
---|
299 | LBPL NEWOCT
|
---|
300 | LDA #7
|
---|
301 | STA LIGNE
|
---|
302 | LBRA NEWOCT
|
---|
303 |
|
---|
304 | AFFTO LDB #$1B
|
---|
305 | JSR $E803
|
---|
306 | LDB #$5B
|
---|
307 | JSR $E803
|
---|
308 | LDB #$1B
|
---|
309 | JSR $E803
|
---|
310 | LDB #$40
|
---|
311 | JSR $E803
|
---|
312 | LDB #$1B
|
---|
313 | JSR $E803
|
---|
314 | LDB #$57
|
---|
315 | JSR $E803
|
---|
316 | LDB #$0C
|
---|
317 | JSR $E803
|
---|
318 | LDB #$14
|
---|
319 | JSR $E803
|
---|
320 | LDX #PALORI
|
---|
321 | LDA #$FF
|
---|
322 | JSR $EC00
|
---|
323 | LDX #$A001
|
---|
324 | LDY #$4000
|
---|
325 | LDA $E7C3
|
---|
326 | ANDA #$FE
|
---|
327 | STA $E7C3
|
---|
328 | RESULB LDA ,X++
|
---|
329 | LDB ,X++
|
---|
330 | STD ,Y++
|
---|
331 | CMPX #$DE80
|
---|
332 | BLO RESULB
|
---|
333 | LDX #$A000
|
---|
334 | LDY #$4000
|
---|
335 | LDA $E7C3
|
---|
336 | ORA #1
|
---|
337 | STA $E7C3
|
---|
338 | RESULA LDA ,X++
|
---|
339 | LDB ,X++
|
---|
340 | STD ,Y++
|
---|
341 | CMPX #$DE80
|
---|
342 | BLO RESULA
|
---|
343 |
|
---|
344 | FIN PULS A,B,DP,CC,X,Y,U,PC
|
---|
345 |
|
---|
346 | LIGNE FCB 0
|
---|
347 | COLON FCB 0
|
---|
348 | FILTRE FCB 0
|
---|
349 | PALET RMB 32
|
---|
350 | TABGRI RMB 16
|
---|
351 |
|
---|
352 | PALORI FDB 4095,0,240,255,3840,3855
|
---|
353 | FDB 4080,4095,1911,826,931,938
|
---|
354 | FDB 2611,2618,3815,123
|
---|
355 | TYPE FCB 0
|
---|
356 | TRAINI FCB 0,0,0,0,0,0,8,0
|
---|
357 | FCB 2,0,8,0,2,0,10,0
|
---|
358 | FCB 10,0,10,0,10,0,10,4
|
---|
359 | FCB 10,1,10,4,10,1,10,5
|
---|
360 | FCB 10,5,10,5,10,5,14,5
|
---|
361 | FCB 11,5,14,5,11,5,15,5
|
---|
362 | FCB 15,5,15,5,15,5,15,13
|
---|
363 | FCB 15,7,15,13,15,7,15,15
|
---|
364 | FCB 15,15,15,15
|
---|
365 | TRAME RMB 16*8
|
---|
366 |
|
---|
367 | END
|
---|