source: thomson/code/3rdparty/sources3-lambinet/Map convert/MAP>TEL.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: 14.1 KB
Line 
1****************************************
2* *
3* TRANSCODEUR D'IMAGES TO7-70,BM4,BM16 *
4* *
5* en IMAGES pour MINITEL en car. grap. *
6* *
7* par Michel SAINT-BRIANT * 15/03/1992 *
8* *
9* (c) A.S.C.I. Copyright 1992 *
10* *
11****************************************
12
13 ORG $9800
14
15 PSHS A,B,CC,DP,X,Y,U
16
17 LDB #$14 ARRET CLIGNOTEMENT
18 JSR $E803
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
27LIPAL LDX #$FFFF
28 LDY #0
29 JSR $EC00
30 STX ,--U
31 DECA
32 BPL LIPAL
33
34 LDX #PALET
35 LDY #TABGRI
36NOUPAL LDD ,X
37 BITA #$10
38 BNE CALGRI
39 COMA
40 COMB
41 STD ,X
42CALGRI 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 CLRA
56RECPA0 SUBB #7
57 BMI RECPA1
58 INCA
59 BRA RECPA0
60RECPA1 PSHS A
61 LDB #17
62 MUL
63 PULS A
64 ORA #$10
65 STD ,X++
66 CMPX #PALET+32
67 BLO NOUPAL
68 LDX #PALET
69 LDA #$FF
70 JSR $EC00
71
72* DECODAGE DE L'IMAGE EN FONCTION DU
73* TYPE ET STOCKAGE EN RAM
74
75 LDX #$A000
76 LDU #0
77BZERO STU ,X++
78 CMPX #$E000
79 BLO BZERO
80
81 LDU #$A800
82 LDX #$4000
83 LDA #20 20 LIGNES MINITEL
84 STA COMPTL
85LIGNE LDA #40 40 COLONNES
86 STA COMPTO
87COLON LDA #3
88 LBSR CALZON
89 LEAX 120,X
90 LDA #4
91 LBSR CALZON
92 LEAX 160,X
93 LDA #3
94 LBSR CALZON
95
96 LDD -12,U
97 ADDD -10,U
98 ADDD -4,U
99 ADDD -2,U
100 TFR D,Y
101 LEAY D,Y
102 LEAY D,Y
103 LDD -8,U
104 ADDD -6,U
105 LEAY D,Y
106 LEAY D,Y
107 LEAY D,Y
108 LEAY D,Y
109 LDD #0
110 EXG D,Y
111 CMPD #320
112 BLS MOYEN1
113MOYEN0 SUBD #320
114 LEAY 16,Y
115 CMPD #320
116 BHI MOYEN0
117MOYEN1 CMPD #20
118 BLS MOYEN3
119MOYEN2 SUBD #20
120 LEAY 1,Y
121 CMPD #20
122 BHI MOYEN2
123MOYEN3 STY ,U
124 LEAU 4,U
125 LEAX -279,X
126 DEC COMPTO
127 LBNE COLON
128 LEAX 360,X
129 DEC COMPTL
130 LBNE LIGNE
131
132 LDY #$A800
133CARAC LDX 12,Y
134 STX COMP+2
135 LDD #5
136 PSHS A,B
137 STA COMPTO
138 LDU #0
139ANAL LDD ,Y++
140COMP CMPD #0000
141 BCS SUPER
142 LEAU D,U
143 INC COMPTO
144SUPER ROR ,S
145 DEC 1,S
146 BMI AUTRE
147 BNE ANAL
148 ROR ,S
149 BRA ANAL
150AUTRE PULS A,B
151 COMA
152 LSRA
153 LDX ,Y++
154 STA ,Y+
155 TFR X,D
156 LEAX D,X
157 LEAX D,X
158 TFR X,D
159 LEAX D,X
160 TFR U,D
161 COMA
162 COMB
163 ADDD #1
164 LEAX D,X
165 LDB #6
166 SUBB COMPTO
167 BEQ PADIVI
168 CMPB #6
169 BRA DIVI0
170PADIVI LDA #$7F
171 STA -1,Y
172STOCOL LDA #0
173 ADDA -3,Y
174 BRA COPOCT
175DIVI0 STB DECPT0+2
176 LDD #$FFFF
177 EXG D,X
178DECPT0 SUBD #0
179 LEAX 1,X
180 BPL DECPT0
181 TFR X,D
182 LSLA
183 LSLA
184 LSLA
185 STA STOCOL+1
186 STA ,Y
187 LDA COMPTO
188 STA DECPT1+2
189 LDD #$FFFF
190 EXG D,U
191DECPT1 SUBD #0
192 LEAU 1,U
193 BPL DECPT1
194 TFR U,D
195 ORA ,Y
196COPOCT STA ,Y+
197 CMPY #$DA00
198 LBNE CARAC
199
200*HARMONISATION DES SUITES DE COULEURS
201
202 LDX #$A80F
203 LDA #$FF
204 STA VALA+1
205 STA VALB+1
206HARMO LDA ,X
207 TFR A,B
208 ANDA #7
209 LSRB
210 LSRB
211 LSRB
212 PSHS A,B
213VALB CMPA #0
214 BEQ CHGO
215VALA CMPB #0
216 BNE CHGN
217CHGO LSLA
218 LSLA
219 LSLA
220 STA ,X
221 ORB ,X
222 LDA -1,X
223 COMA
224 ANDA #$7F
225 ORA #$20
226 STD -1,X
227 PULS A,B
228 EXG A,B
229 BRA CHGF
230CHGN PULS A,B
231CHGF STA VALA+1
232 STB VALB+1
233 LEAX 16,X
234 CMPX #$DA00
235 BLO HARMO
236
237
238 LDU #TABLE
239 LDY #$A001
240 LDX #$A80E
241 LDD #$0C0E
242 STD ,Y++
243 LDA #$FF
244 STA COLOR+1
245 STA COLOR0+1
246 STA COLOR2+1
247AFFMIN LDA #$1B
248 LDB 1,X
249COLOR CMPB #0
250 BEQ COMPAC
251 ANDB #7
252COLOR0 CMPB #0
253 BEQ COLOR1
254 STB COLOR0+1
255 LDB B,U
256 ORB #$40
257 STD ,Y++
258COLOR1 LDB 1,X
259 STB COLOR+1
260 LSRB
261 LSRB
262 LSRB
263COLOR2 CMPB #0
264 BEQ COLOR3
265 STB COLOR2+1
266 LDB B,U
267 ORB #$50
268 STD ,Y++
269COLOR3 LDA ,X
270REPRIS STA ,Y+
271 LEAX 16,X
272REPSUI CMPX #$DA00
273 BLO AFFMIN
274 LDD #$0F1B
275 STD ,Y++
276 LDA #$47
277 STD ,Y++
278 LDD #$50FF
279 STD ,Y++
280 LBRA AFFICH
281
282* COMPACTAGE SI CODES REPETES > 3 FOIS
283
284COMPAC LDA ,X
285 CMPA -16,X
286 BNE REPRIS
287 PSHS X,U
288 CLRB
289 LDU ,X
290 STU COMCOM+2
291COMCO0 LEAX 16,X
292 INCB
293 LDU ,X
294COMCOM CMPU #0
295 BEQ COMCO0
296 PULS X,U
297 CMPB #3
298 BLO REPRIS
299 CMPB #64
300 BLO PASTRO
301 LDB #64
302PASTRO LDA #$12 REPETITION
303 ADDB #64
304 STD ,Y++
305 LDA #16
306 SUBB #64
307 MUL
308 LEAX D,X
309 BRA REPSUI
310
311
312CALZON PSHS X,A
313 SUBA #3
314 STA TAILLE
315CLZ0 BSR CALOC
316 LEAX 40,X
317 DEC ,S
318 BNE CLZ0
319 LDX ,U
320 LBSR XMUL
321 STX ,U++
322 LDX ,U
323 LBSR XMUL
324 STX ,U++
325 PULS A,X,PC
326
327CALOC PSHS X,Y
328 LDY #TABGRI
329 LDA $E7C3
330 ANDA #$FE
331 STA $E7C3
332 LDB ,X
333 TFR B,DP
334 ORA #1
335 STA $E7C3
336 TST TYPE
337 LBEQ CALOC7
338 BMI CALOCH
339
340CALOC4 PSHS DP
341 LDA ,X
342 LDX ,U
343 CLRB
344 LSLA
345 ROLB
346 LSL ,S
347 ROLB
348 LDB B,Y
349 ABX
350 CLRB
351 LSLA
352 ROLB
353 LSL ,S
354 ROLB
355 LDB B,Y
356 ABX
357 CLRB
358 LSLA
359 ROLB
360 LSL ,S
361 ROLB
362 LDB B,Y
363 ABX
364 CLRB
365 LSLA
366 ROLB
367 LSL ,S
368 ROLB
369 LDB B,Y
370 ABX
371 STX ,U
372 LDX 2,U
373 CLRB
374 LSLA
375 ROLB
376 LSL ,S
377 ROLB
378 LDB B,Y
379 ABX
380 CLRB
381 LSLA
382 ROLB
383 LSL ,S
384 ROLB
385 LDB B,Y
386 ABX
387 CLRB
388 LSLA
389 ROLB
390 LSL ,S
391 ROLB
392 LDB B,Y
393 ABX
394 CLRB
395 LSLA
396 ROLB
397 LSL ,S
398 ROLB
399 LDB B,Y
400 ABX
401 STX 2,U
402 PULS A,X,Y,PC
403
404CALOCH LDB ,X
405 LDX ,U
406 PSHS B
407 LSRB
408 LSRB
409 LSRB
410 LSRB
411 LDB B,Y
412 ABX
413 ABX
414 PULS B
415 ANDB #$0F
416 LDB B,Y
417 ABX
418 ABX
419 STX ,U
420 TFR DP,B
421 LSRB
422 LSRB
423 LSRB
424 LSRB
425 LDB B,Y
426 LDX 2,U
427 ABX
428 ABX
429 TFR DP,B
430 ANDB #$0F
431 LDB B,Y
432 ABX
433 ABX
434 STX 2,U
435 PULS X,Y,PC
436
437CALOC7 LDA ,X
438 ANDB #$87
439 BMI PAST0
440 ORB #8
441PAST0 ANDB #$0F
442 LDB B,Y
443 EXG B,DP
444 ANDB #$78
445 BITB #$40
446 BNE PAST1
447 ORB #$40
448 BRA PAST2
449PAST1 ANDB #$38
450PAST2 LSRB
451 LSRB
452 LSRB
453 LDB B,Y
454 EXG B,DP
455 PSHS B,DP
456 LDX ,U
457 CLRB
458 LSLA
459 ROLB
460 LDB B,S
461 ABX
462 CLRB
463 LSLA
464 ROLB
465 LDB B,S
466 ABX
467 CLRB
468 LSLA
469 ROLB
470 LDB B,S
471 ABX
472 CLRB
473 LSLA
474 ROLB
475 LDB B,S
476 ABX
477 STX ,U
478 LDX 2,U
479 CLRB
480 LSLA
481 ROLB
482 LDB B,S
483 ABX
484 CLRB
485 LSLA
486 ROLB
487 LDB B,S
488 ABX
489 CLRB
490 LSLA
491 ROLB
492 LDB B,S
493 ABX
494 CLRB
495 LSLA
496 ROLB
497 LDB B,S
498 ABX
499 STX 2,U
500 PULS A,B,X,Y,PC
501
502XMUL PSHS X
503 TFR X,D
504 TST TAILLE
505 BEQ X13D8
506X39D32 LSLB
507 ROLA
508 LSLB
509 ROLA
510 LEAX D,X
511 TFR X,D
512 LSLB
513 ROLA
514 LSLB
515 ROLA
516 LSLB
517 ROLA
518 TFR D,X
519 PULS D
520 COMA
521 COMB
522 ADDD #1
523 LEAX D,X
524 TFR X,D
525 LSRA
526 RORB
527 LSRA
528 RORB
529 BRA FINXD
530X13D8 LSLB
531 ROLA
532 LEAX D,X
533 TFR X,D
534 LSLB
535 ROLA
536 LSLB
537 ROLA
538 PULS X
539 LEAX D,X
540 TFR X,D
541FINXD LSRA
542 RORB
543 LSRA
544 RORB
545 LSRA
546 RORB
547 LDX CORREC
548 LEAX D,X
549 CMPX #0
550 BPL COR0
551 LDX #0
552 BRA COR1
553COR0 CMPX #$800
554 BLO COR1
555 LDX #$7FF
556COR1 RTS
557
558AFFICH TST FLAGAF
559 LBNE TOMIN
560
561* AFFICHAGE TO8
562
563AFFTO LDB #$1B
564 JSR $E803
565 LDB #$5A
566 JSR $E803
567 LDB #$0C
568 JSR $E803
569 LDB #$14
570 JSR $E803
571 LDX #PALGRI
572 LDA #$FF
573 JSR $EC00
574
575 LDU #TABCOL
576 LDX #$B000
577 LDY #$A003
578CD1 LDB COUL
579CD2 LDA ,Y+
580 CMPA #$12
581 BEQ REPETE
582 CMPA #$1B
583 BNE CD4
584 LDA ,Y+
585 SUBA #$40
586 CMPA #8
587 BLO CD3
588 ANDB #$38
589 SUBA #8
590 ORB A,U
591 BRA CD2
592CD3 ANDB #7
593 ORB A,U
594 BRA CD2
595CD4 ORB #$C0
596 STB COUL
597 STB 2400,X
598 CLRB
599 LSRA
600 BCC CD5
601 ORB #$F0
602CD5 LSRA
603 BCC CD6
604 ORB #$0F
605CD6 STB 1600,X
606 CLRB
607 LSRA
608 BCC CD7
609 ORB #$F0
610CD7 LSRA
611 BCC CD8
612 ORB #$0F
613CD8 STB 800,X
614 CLRB
615 LSRA
616 BCC CD9
617 ORB #$F0
618CD9 LSRA
619 LSRA
620 BCC CD10
621 ORB #$0F
622CD10 STB ,X+
623 BRA CD11
624
625REPETE LDA ,Y+
626 SUBA #$40
627 PSHS A,X
628 LEAX 2400,X
629 LDB -1,X
630REP0 STB ,X+
631 DECA
632 BNE REP0
633 PULS A,X
634 PSHS A,X
635 LEAX 1600,X
636 LDB -1,X
637REP1 STB ,X+
638 DECA
639 BNE REP1
640 PULS A,X
641 PSHS A,X
642 LEAX 800,X
643 LDB -1,X
644REP2 STB ,X+
645 DECA
646 BNE REP2
647 PULS A,X
648 LDB -1,X
649REP3 STB ,X+
650 DECA
651 BNE REP3
652
653CD11 CMPX #$B000+800
654 LBLO CD1
655
656 LDA $E7C3
657 ANDA #$FE
658 STA $E7C3
659 LDX #$B000+2400
660 LDY #$4000
661 LDA #20
662CD12 LDB #20
663CD13 LDU ,X++
664 STU 40,Y
665 STU 80,Y
666 STU 120,Y
667 STU 160,Y
668 STU 200,Y
669 STU 240,Y
670 STU 280,Y
671 STU 320,Y
672 STU 360,Y
673 STU ,Y++
674 DECB
675 BNE CD13
676 LEAY 360,Y
677 DECA
678 BNE CD12
679
680 LDA $E7C3
681 ORA #1
682 STA $E7C3
683 LDX #$B000
684 LDY #$4000
685 LDA #20
686CD14 LDB #20
687CD15 LDU 1600,X
688 STU ,Y
689 STU 40,Y
690 STU 80,Y
691 LDU 800,X
692 STU 120,Y
693 STU 160,Y
694 STU 200,Y
695 STU 240,Y
696 LDU ,X++
697 STU 280,Y
698 STU 320,Y
699 STU 360,Y
700 LEAY 2,Y
701 DECB
702 BNE CD15
703 LEAY 360,Y
704 DECA
705 BNE CD14
706FINAF JSR $E806
707 TSTB
708 BEQ FINAF
709 LDX #PALORI
710 LDA #$FF
711 JSR $EC00
712 LBRA FIN
713
714TOMIN LDD #$1B3A
715 STD ,Y++
716 LDD #$6AFE
717 STD ,Y++
718 LDD #$E7FD
719 TFR A,DP
720 STB <$C2
721 LDU #$A000
722 LBSR ROUT1
723 LDX #$1000
724TEMP1 LEAX -1,X
725 BNE TEMP1
726 CLRB
727 ORCC #$50
728TOMI0 LDA #$07
729 STA ,S
730 BSR ROUT1
731 LDX #$0060
732 STX <$C6
733 LDA #$A2
734 STA <$C5
735 CLRA
736 BSR ROUT2
737TOMI1 LSRB
738 BCC TOMI2
739 BSR ROUT1
740 INCA
741 BRA TOMI3
742TOMI2 BSR ROUT2
743TOMI3 DEC ,S
744 BNE TOMI1
745 BITA #$01
746 BNE TOMI4
747 BSR ROUT2
748 BRA TOMI5
749TOMI4 BSR ROUT1
750TOMI5 LDB ,U+
751 BPL TOMI0
752 CMPB #$FF
753 BNE FINAF
754 LDB ,U+
755 BRA TOMI0
756
757ROUT1 PSHS X,A
758 LDA <$C5
759 ORA #$80
760 BRA TOMI6
761ROUT2 PSHS X,A
762 LDA <$C5
763 ANDA #$7F
764 BRA TOMI6
765TOMI6 STA <$C5
766 LDX #$0061
767TEMP2 LEAX -1,X
768 BNE TEMP2
769 PULS A,X,PC
770
771
772* sauvegarde
773
774SAVE PSHS A,B,CC,DP,X,Y,U
775 LDX #FILE
776 LDA ,X++
777 SUBA #$30
778 STA $6049
779 LDU #$624B
780 LDD #$2003
781 STD ,U++
782 LDA #$FF
783 STA ,U++
784 LDB #8
785COPS LDA ,X+
786 STA ,U+
787 DECB
788 BNE COPS
789 LDD #$5445 'TE'
790 STD ,U++
791 LDD #$4C09 'L'+8 octets
792COPC STA ,U+
793 LDA ,X+
794 DECB
795 BNE COPC
796
797 LDB #3 CODE DE OPEN
798 JSR $EC0C OUVERTURE
799 LDX #$A001 #FICHIER
800COPEN0 LDA ,X+
801 BMI QUITTE
802 LDB #4
803 JSR $EC0C
804 BRA COPEN0
805
806QUITTE LDB #6 CLOSE
807 JSR $EC0C
808FIN PULS A,B,DP,CC,X,Y,U,PC
809
810TABLE FCB 0,4,1,5,2,6,3,7
811TABCOL FCB 0,16,32,48,8,24,40,56
812 FCB 0,2,4,6,1,3,5,7
813
814COUL FCB 0
815COMPTO FCB 0
816COMPTL FCB 0
817TAILLE FCB 0
818
819PALET RMB 32
820TABGRI RMB 16
821PALGRI FDB 0,546,1092,1638,2184,2730
822 FDB 3276,3822,4095,4095,4095
823 FDB 4095,4095,4095,4095,4095
824PALORI FDB 0,15,240,255,3840,3855
825 FDB 4080,4095,1911,826,931,938
826 FDB 2611,2618,3815,123
827TYPE FCB 0
828
829CORREC FDB 0
830FLAGAF FCB 0
831FILE FCC #4: #
832COMMEN FCC #PhotoTEL#
833
834 END
Note: See TracBrowser for help on using the repository browser.