source: thomson/code/3rdparty/sources3-lambinet/Map convert/MAP-TRA1.ASM@ c552dd6

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

Fix filenames for windows compatibility.

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

  • Property mode set to 100644
File size: 6.7 KB
Line 
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
26LIPAL LDX #$FFFF
27 LDY #0
28 JSR $EC00
29 STX ,--U
30 DECA
31 BPL LIPAL
32
33 LDX #PALET
34 LDY #TABGRI
35NOUPAL LDD ,X
36 BITA #$10
37 BNE CALGRI
38 COMA
39 COMB
40 STD ,X
41CALGRI 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
64NOUTRA 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
72TRA0 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
86TRA1 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
101TRA2 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
112TRA3 LDA B,U
113 ORA B,X
114 STA B,X
115 DECB
116 BPL TRA3
117FINTRA 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
132COPEC0 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
142COPEC1 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
154NEWOCT LDD #$0000
155 PSHS B,A
156 LDA #$C0
157 STA FILTRE
158 TST TYPE
159 LBEQ MODTO7
160 LBMI MODB16
161
162MODBM4 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
181MODBM5 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
200MODTO7 LDA 1,X
201 BITA #$40
202 BEQ OCTET0
203 ANDA #$38
204 BRA OCTET1
205OCTET0 ORA #$40
206OCTET1 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
214OCTET2 LSLA
215 LSLA
216 LSLA
217 STA FOND0+1
218 STA FOND1+1
219FORM0 LDA #$00
220 ASL ,X
221 BCS POINT0
222FOND0 LDA #$00
223POINT0 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
234FORM1 LDA #$00
235 ASL ,X
236 BCS POINT1
237FOND1 LDA #$00
238POINT1 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
249MODB16 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
290FINMOD 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
304AFFTO 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
328RESULB 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
338RESULA LDA ,X++
339 LDB ,X++
340 STD ,Y++
341 CMPX #$DE80
342 BLO RESULA
343
344FIN PULS A,B,DP,CC,X,Y,U,PC
345
346LIGNE FCB 0
347COLON FCB 0
348FILTRE FCB 0
349PALET RMB 32
350TABGRI RMB 16
351
352PALORI FDB 4095,0,240,255,3840,3855
353 FDB 4080,4095,1911,826,931,938
354 FDB 2611,2618,3815,123
355TYPE FCB 0
356TRAINI 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
365TRAME RMB 16*8
366
367 END
Note: See TracBrowser for help on using the repository browser.