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