source: thomson/code/3rdparty/sources5-hmel/TO-GRAPH/GRAPH-X1.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 100755
File size: 23.4 KB
Line 
1 TITLE TO-GRAPH: Traitement
2* ------------------------------
3 PAGE
4
5****************************************
6* *
7* TO-GRAPH *
8* *
9* Traitement: GRAPH-X *
10* *
11****************************************
12
13
14*=======================================
15* S/P traitement du dessin définitif
16*=======================================
17
18DESOUT EQU *
19*---------------------------------------
20
21DESOU0 JSR LPIN anti-rebond
22 BCS DESOU0 ->
23
24 JSR FENDES
25 LDB OUTIL
26 LSLB
27 ADDB OUTIL
28 LEAX XDEOUT,PCR
29 JSR B,X
30 JSR FENACT
31 LDB #POINTE et rebelote !!!
32 STB ETAOUT
33XDF RTS ->>
34*---------------------------------------
35XDEOUT LBRA XDF points
36 LBRA XDLIGN
37 LBRA XDRECT
38 LBRA XDRECT carré
39 LBRA XDELLI
40 LBRA XDELLI cercle
41 LBRA XDCARA caractère
42 LBRA XDF peinture
43 LBRA XDF gomme
44 LBRA XDF loupe
45 LBRA XDCOUC couper/copier
46 LBRA XDF coller
47*---------------------------------------
48
49XDCARA JSR RAZOUT
50*-----
51 RTS
52
53XDCOUC LEAS -2,S
54*-----
55MEMACT SET 0
56MEMCOP SET 1
57
58* calculer coord. en croissant
59 LDD X0TIRE
60 STD <XT0
61 LDD X1TIRE
62 STD <XT1
63 CMPD X0TIRE
64 BCC XDCC0 ->
65 STD <XT0
66 LDD X0TIRE
67 STD <XT1
68XDCC0 LDA Y0TIRE+1
69 STA <YT0
70 LDA Y1TIRE+1
71 STA <YT1
72 CMPA Y0TIRE+1
73 BCC XDCC1 ->
74 STA <YT0
75 LDA Y0TIRE+1
76 STA <YT1
77
78* calcul dimensions point de la
79* zone... on ignore si trop petite
80* (erreur probable !)
81XDCC1 LDA <YT1
82 SUBA <YT0
83 INCA
84 CMPA #8
85 LBCS XDCCFI ->
86 LDD <XT1
87 SUBD <XT0
88 ADDD #1
89 CMPD #8
90 LBCS XDCCFI ->
91
92* sélection du traitement appliqué
93* à la zone sélectionnée sauf en
94* copie d'album ou on ne fait que
95* "copier"
96 LDA COPALB
97 STA MEMCOP,S
98 BEQ XDCC00 ->
99 CLR COPALB pour RAZOUT !!!
100 LDA #$43
101 STA MEMACT,S
102 LBRA XDCC05 ->
103
104XDCC00 LDB Y1TIRE+1
105 LSRB
106 LSRB
107 LSRB
108 LDA #16
109 CMPB #16
110 BLE XDCC40 ->
111 TFR A,B
112XDCC40 PSHS B
113 LDD X1TIRE
114 LSRA
115 RORB
116 LSRA
117 RORB
118 LSRB
119 LDA #60
120 CMPB #60
121 BLE XDCC41 ->
122 TFR A,B
123XDCC41 PULS A
124 LDX #FFCOUC
125 JSR FENOUV
126 JSR FENACT
127XDCC42 JSR FEN
128 CMPB #$03
129 BEQ XDCC43 ->
130 CMPB #$43
131 BEQ XDCC43 ->
132 CMPB #$49
133 BEQ XDCC43 ->
134 CMPB #FF
135 BNE XDCC42 ->
136 CLRB
137 JSR FENFER
138XDCCFI LEAS 2,S
139 LEAS 2,S RTS de XDCOUC
140 JSR FENACT
141 RTS ->>
142
143XDCC43 STB MEMACT,S
144 CLRB
145 JSR FENFER
146XDCC05 JSR RAZOUT
147 JSR FENDES
148
149* acquérir le tiroir sur l'écran
150 JSR LITTIR
151
152* effectuer le traitement demandé
153* sur la zone sélectionnée
154 LDB MEMACT,S
155 CMPB #$03
156 BEQ XDCC50 ->
157 CMPB #$49
158 LBEQ XDCC70 ->
159
160* simple copie
161 TST MEMCOP,S
162 BEQ XDCCFF ->
163 LDB #ESC fin copie album
164 JSR PUTC
165 LDB #$60
166 JSR PUTC
167 LDA COPAOU
168 STA OUTIL
169 JSR AFFOPT
170 JSR RESTAU restaure visu
171XDCCFF LEAS 2,S simple copie !
172 RTS ->>
173
174* effacement zone mise en tiroir
175XDCC50 LDA #$FF
176 STA FILFLG
177 LDD #PLEIN
178 STD MACP
179 JSR TRRAZ
180 LDX X0TIRE
181 STX XXXXXX
182 LDY Y0TIRE
183 STY YYYYYY
184 LDX X1TIRE
185 LDY Y1TIRE
186 LDB #BOX
187 JSR EXTRA
188 JSR TRNORM
189 LEAS 2,S
190 RTS ->>
191
192* inversion zone mise en tiroir
193XDCC70 LDA #$FF
194 STA FILFLG
195 LDD #PLEIN
196 STD MACP
197 JSR TRINV
198 LDX X0TIRE
199 STX XXXXXX
200 LDY Y0TIRE
201 STY YYYYYY
202 LDX X1TIRE
203 LDY Y1TIRE
204 LDB #BOX
205 JSR EXTRA
206 JSR TRNORM
207 LEAS 2,S
208 RTS ->>
209
210* abandon de la sélection
211XDCC80 JSR FENFER
212 CLR <FLGTIR
213 LDA TLIGN
214 PSHS A
215 LDA #1
216 STA TLIGN
217 JSR TRINV
218 JSR TRRECT
219 JSR TRINV
220 JSR TRLIGN
221 PULS A
222 STA TLIGN
223 LEAS 2,S
224 RTS ->>
225
226XDRECT EQU *
227*-----
228 JSR TRREMP
229 JSR TRRECT
230 RTS
231
232XDLIGN EQU *
233*-----
234 JSR TRLIGN
235 RTS
236
237XDELLI EQU *
238*-----
239 JSR TRREMP
240 JSR TRELLI
241 RTS
242
243
244*=======================================
245* S/P traitement d'un clic de pointage
246* en mode POINTE
247*=======================================
248
249PTOUT EQU *
250*---------------------------------------
251
252 LDB OUTIL
253 CMPB #GOMME
254 BEQ PTOUT1 ->
255 CMPB #POINTS
256 BEQ PTOUT1 ->
257
258PTOUT0 JSR LPIN anti-rebond
259 BCS PTOUT0 ->
260
261PTOUT1 JSR FENDES
262 LDB OUTIL
263 LSLB
264 ADDB OUTIL
265 LEAX XPTOUT,PCR
266 JSR B,X
267 JSR FENACT
268 RTS ->>
269*---------------------------------------
270XPTOUT LBRA XPPOIN
271 LBRA XPLIGN
272 LBRA XPRECT
273 LBRA XPRECT carré
274 LBRA XPELLI
275 LBRA XPELLI cercle
276 LBRA XPCARA
277 LBRA XPPEIN
278 LBRA XPGOMM
279 LBRA XPLOUP
280 LBRA XPCOUC
281 LBRA XPCOLL
282*---------------------------------------
283
284XPGOMM EQU *
285*-----
286 LDX REGX
287 STX X0TIRE
288 LDY REGY
289 STY Y0TIRE
290XPGFI0 STX X1TIRE
291 STY Y1TIRE
292 JSR TRRAZ
293 JSR TRLIGN
294 STX X0TIRE
295 STY Y0TIRE
296
297XPGFI1 JSR GETL
298 BCS XPGFI1 ->
299 JSR LPIN
300 BCS XPGFI0 ->
301
302 RTS
303
304XPCARA EQU *
305*-----
306 JSR TRAMIN tortue caractère
307 LDB TCAR
308 SUBB #TCN
309 PSHS B
310 LSLB
311 ADDB ,S+
312 LDX #TABTOR
313 ABX
314 LDY ,X++
315 LDB ,X
316
317 PSHS B copie en RAM
318 LDX #TFORME
319COPTO1 LDA ,Y+
320 STA ,X+
321 DECB
322 BNE COPTO1 ->
323
324 PULS B compil sur place
325 STB FACLO
326 LDX #TFORME
327 LDY #TFORME
328 LDB #CMPTOR
329 JSR EXTRA
330
331 LDX REGX
332 STX TXTX
333 LDY REGY
334 STY TXTY
335
336 LDY #TORTXT
337 LDB #MOVE
338 JSR EXTRA
339 LDA #$FF
340 LDB #SHOW
341 JSR EXTRA
342 JSR TRAMAX
343
344 LDA #$FF
345 STA FLGTXT
346 COMA
347 STA CLITXT
348 CLR FLGSS2
349
350 LDA #TIRE
351 STA ETAOUT
352 CLRA tortue std
353 CLRB
354 JSR FENTOR
355 COMA
356 STA STDTOR
357 RTS
358
359XPCOUC EQU * rfu
360*-----
361 LDA TLIGN
362 PSHS A
363 LDA #1
364 STA TLIGN
365 LDX REGX
366 STX X0TIRE
367 STX X1TIRE
368 LDY REGY
369 STY Y0TIRE
370 STY Y1TIRE
371
372 JSR TRINV
373 CLR FILFLG
374 JSR TRRECT
375 JSR TRINV
376 JSR TRLIGN
377 PULS A
378 STA TLIGN
379
380 LDA #TIRE
381 STA ETAOUT
382 CLRA tortue std
383 CLRB
384 JSR FENTOR
385 COMA
386 STA STDTOR
387 RTS
388
389XPCOLL EQU *
390*-----
391 TST FLGTIR
392 BNE XPCOL0 ok ->
393 LDX #MTIRVI
394 JSR FENERR
395 LBRA XPCOLF ->
396
397XPCOL0 EQU *
398* calculer coord. de visualisation
399 LDD <LPTTIR
400 LSRA
401 RORB
402 PSHS D
403 LDD REGX
404 SUBD ,S++
405 PSHS D
406
407 CLRA calcul +/- 32k
408 LDB <HPTTIR
409 LSRA
410 RORB
411 PSHS D
412 LDD REGY
413 SUBD ,S++
414 PSHS D
415
416 LDB #$13 mode transp. ?
417 JSR FENCH
418 CLRA
419 LDB VAL,X
420 CMPB #OFF
421 BNE XPCC99 ->
422 COMA
423XPCC99 PULS Y
424 PULS X
425 JSR VISTIR
426
427XPCOLF RTS
428
429XPPEIN EQU *
430*-----
431 LDX REGX
432 LDY REGY
433 JSR GETP
434 TSTB
435 BEQ XPEIN2 pt en forme ->
436
437 JSR TRAMIN
438 LDB #$13
439 JSR FENCH
440 LDB VAL,X
441 CMPB #OFF
442 BEQ XPEIN0 ->
443 JSR TRTRAN mode transparent
444XPEIN0 LDX REGX
445 STX XXXXXX
446 LDY REGY
447 STY YYYYYY
448 LDB #BKMANO manoeuvre
449 STB BANKC
450 LDD #ZONTRA
451 STD DEBZON
452 LDD #FINTRA
453 STD FINZON
454 LDU #MOTIF
455 STU MACP
456 LDU #XPEIN2 active chien
457 JSR ACTDOG garde
458 LDB #PAINT
459 JSR EXTRA
460 CLR FLGDOG désactive
461 TSTB
462 BEQ XPEIN2 ->
463 JSR DOSERR
464XPEIN2 JSR TRNORM
465 JSR TRAMAX
466 LDB #BKTIR restaure bank
467 STB BANKC
468 RTS
469
470XPPOIN EQU *
471*-----
472 LDX REGX
473 STX X0TIRE
474 LDY REGY
475 STY Y0TIRE
476XPPFI0 STX X1TIRE
477 STY Y1TIRE
478 JSR TRLIGN
479 STX X0TIRE
480 STY Y0TIRE
481
482XPPFI1 JSR GETL
483 BCS XPPFI1 ->
484 JSR LPIN
485 BCS XPPFI0 ->
486
487 RTS
488
489XPRECT EQU *
490*-----
491 JSR TRINV
492
493 LDX REGX
494 STX X0TIRE
495 STX X1TIRE
496 LDY REGY
497 STY Y0TIRE
498 STY Y1TIRE
499 CLR FILFLG
500 JSR TRRECT
501
502 LDA #TIRE
503 STA ETAOUT
504 CLRA tortue std
505 CLRB
506 JSR FENTOR
507 COMA
508 STA STDTOR
509 RTS
510
511XPLIGN EQU *
512*-----
513 JSR TRINV
514
515 LDX REGX
516 STX X0TIRE
517 STX X1TIRE
518 LDY REGY
519 STY Y0TIRE
520 STY Y1TIRE
521 JSR TRLIGN
522
523 LDA #TIRE
524 STA ETAOUT
525 CLRA tortue std
526 CLRB
527 JSR FENTOR
528 COMA
529 STA STDTOR
530 RTS
531
532XPELLI EQU *
533*-----
534 JSR TRINV
535
536 LDX REGX
537 STX X0TIRE
538 LDY REGY
539 STY Y0TIRE
540 LDA #2
541 STA X1TIRE
542 STA Y1TIRE
543 CLR FILFLG
544 JSR TRELLI
545
546 LDA #TIRE
547 STA ETAOUT
548 CLRA tortue std
549 CLRB
550 JSR FENTOR
551 COMA
552 STA STDTOR
553 RTS
554
555XPLOUP EQU *
556*-----
557 LDA FLGLOU
558 CMPA #2
559 LBEQ XPLO50 dessin dans loupe
560 CMPA #0
561 BNE XPLO00 tracé de loupe ->
562 RTS ->>
563
564* Tracé de la loupe à gauche ou à droite
565XPLO00 LDA #2
566 STA FLGLOU
567 LDD X0TIRE
568 CMPD #50*8
569 BLT XPLO10 ->
570 LDD #$0306
571 BRA XPLO11 ->
572XPLO10 LDD #$0338
573XPLO11 STD RNGLOU
574
575 LDA $E7C3 sauver 1ére page
576 ORA #1
577 STA $E7C3
578 LDX #$4000
579 LEAX 40*8*3,X
580 LSRB
581 LEAX B,X
582 LDA #BKMANO
583 STA BANKC
584 LDY #$A000
585 LDU #18*8
586XPLO20 LDA #9
587XPLO21 LDB ,X+
588 STB ,Y+
589 DECA
590 BNE XPLO21 ->
591 LEAX 31,X
592 LEAU -1,U
593 CMPU #0
594 BNE XPLO20 ->
595
596 LDA $E7C3 sauver 2éme page
597 EORA #1
598 STA $E7C3
599 LDX #$4000
600 LEAX 40*8*3,X
601 LDB COLLOU
602 LSRB
603 LEAX B,X
604 LDU #18*8
605XPLO30 LDA #9
606XPLO31 LDB ,X+
607 STB ,Y+
608 DECA
609 BNE XPLO31 ->
610 LEAX 31,X
611 LEAU -1,U
612 CMPU #0
613 BNE XPLO30 ->
614
615 LDD RNGLOU fenêtre loupe
616 LDX #FFLOUP
617 JSR FENVIS
618
619 LDU #$D000 lecture zone
620 LDY Y0TIRE
621 LEAY 1,Y
622BLLO0 LDX X0TIRE
623 LEAX 1,X
624BLLO1 JSR GETP
625 STB ,U+
626 LEAX 1,X
627 CMPX X1TIRE
628 BNE BLLO1 ->
629 LEAY 1,Y
630 CMPY Y1TIRE
631 BNE BLLO0 ->
632
633 LDU #$D000 écriture loupe
634 LDD #PLEIN
635 STD MACP
636 LDA #$FF
637 STA FILFLG
638 LDY #4*8
639BELO0 LDB #8
640 LDA COLLOU
641 INCA
642 MUL
643 TFR D,X
644 LDA #32
645BELO1 TST ,U+
646 BMI BELO2 ->
647 STX XXXXXX
648 STY YYYYYY
649 LEAX 3,X
650 LEAY 3,Y
651 LDB #BOX
652 JSR EXTRA
653 LEAX -3,X
654 LEAY -3,Y
655BELO2 LEAX 4,X
656 DECA
657 BNE BELO1 ->
658 LEAY 4,Y
659 CMPY #20*8
660 BNE BELO0 ->
661
662 RTS ->>
663
664* Dessin dans la loupe ???
665XPLO50 LDX RNGLOU
666 LDY #$1111
667 JSR SOUDAN
668 BCC XPLO51 hors ->
669 LEAX $0101,X
670 LDY #$1010
671 JSR SOUDAN
672 BCS XPLO52 dessin ->
673 RTS ->>
674XPLO51 JSR RAZOUT
675 RTS ->>
676
677* Dessin dans la loupe
678XPLO52 JSR TRINV
679 LDD REGX
680 ANDB #$FC
681 STD XXXXXX
682 ADDD #3
683 TFR D,X
684 LDD REGY
685 ANDB #$FC
686 STD YYYYYY
687 ADDD #3
688 TFR D,Y
689 LDD #PLEIN
690 STD MACP
691 LDA #$FF
692 STA FILFLG
693 LDB #BOX
694 JSR EXTRA
695
696* Dessin en réel
697 LDA COLLOU
698 LDB #8
699 MUL
700 PSHS D
701 LDD REGX
702 SUBD ,S++
703 LSRA
704 RORB
705 LSRA
706 RORB 2..33
707 SUBD #1
708 ADDD X0TIRE
709 TFR D,X
710 LDD REGY
711 SUBD #3*8
712 LSRA
713 RORB
714 LSRA
715 RORB 2..33
716 SUBD #1
717 ADDD Y0TIRE
718 TFR D,Y
719 LDB #PSETXY
720 JSR EXTRA
721 JSR TRNORM
722 RTS ->>
723
724
725*=======================================
726* S/P raz visu provisoire de l'outil
727* courant (suite à sélection ou
728* scroll dans le mode TIRE
729*=======================================
730
731RAZOUT EQU *
732*---------------------------------------
733 JSR FENDES
734 JSR TRAMAX tortue standard
735 CLRA
736 CLRB
737 JSR FENTOR
738 COMA
739 STA STDTOR
740 JSR FENACT
741
742 LDA ETAOUT
743 CMPA #TIRE
744 BEQ RAZOU0 ->
745 LDA OUTIL
746 CMPA #LOUPE
747 BEQ RAZOU0 ->
748 TST COPALB
749 BEQ RAZO00 ->
750 JSR FENDES
751 JSR XRCOU0 ->
752 JSR FENACT
753RAZO00 RTS ->>
754
755RAZOU0 LDA #POINTE retour en état
756 STA ETAOUT
757 JSR FENDES
758 LDB OUTIL
759 LSLB
760 ADDB OUTIL
761 LEAX XRAZOU,PCR
762 JSR B,X
763 JSR FENACT
764XRF RTS ->>
765*---------------------------------------
766XRAZOU LBRA XRF points
767 LBRA XRLIGN
768 LBRA XRRECT
769 LBRA XRRECT carré
770 LBRA XRELLI
771 LBRA XRELLI cercle
772 LBRA XRCARA
773 LBRA XRF peinture
774 LBRA XRF gomme
775 LBRA XRLOUP
776 LBRA XRCOUC
777 LBRA XRCOLL
778*---------------------------------------
779
780XRCARA EQU *
781*-----
782 JSR TRAMIN
783 LDY #TORTXT masque tortue car
784 CLRA
785 LDB #SHOW
786 JSR EXTRA
787 CLR FLGTXT
788 JSR TRAMAX
789 RTS
790
791XRCOUC EQU *
792*-----
793 LDA TLIGN
794 PSHS A
795 LDA #1
796 STA TLIGN
797 JSR TRINV
798 CLR FILFLG
799 JSR TRRECT
800 JSR TRINV
801 JSR TRLIGN
802 PULS A
803 STA TLIGN
804
805 TST COPALB
806 BNE XRCOU0 ->
807 RTS ->>
808
809XRCOU0 LDB #ESC fin copie album
810 JSR PUTC
811 LDB #$60
812 JSR PUTC
813 LDA COPAOU
814 STA OUTIL
815 JSR AFFOPT
816 JSR RESTAU restaure visu
817 CLR COPALB
818 RTS
819
820XRCOLL RTS rfu
821*-----
822
823XRRECT JSR TRINV
824*-----
825 CLR FILFLG
826 JSR TRRECT
827 RTS
828
829XRLIGN JSR TRINV
830*-----
831 JSR TRLIGN
832 RTS
833
834XRELLI JSR TRINV
835*-----
836 CLR FILFLG
837 JSR TRELLI
838 RTS
839
840XRLOUP JSR RAZLOU
841*-----
842
843
844*=======================================
845* S/P traitement du mode TIRE
846* (tracé provisoire)
847*=======================================
848TIROUT EQU *
849*---------------------------------------
850
851 JSR FENDES
852 LDB OUTIL
853 LSLB
854 ADDB OUTIL
855 LEAX XTIOUT,PCR
856 JSR B,X
857 JSR FENACT
858XTF RTS ->>
859*---------------------------------------
860XTIOUT LBRA XTF points
861 LBRA XTLIGN
862 LBRA XTRECT
863 LBRA XTCARR
864 LBRA XTELLI
865 LBRA XTCERC
866 LBRA XTCARA caractère
867 LBRA XTF peinture
868 LBRA XTF gomme
869 LBRA XTLOUP
870 LBRA XTCOUC
871 LBRA XTCOLL
872*---------------------------------------
873
874XTCARA EQU *
875*-----
876 LDB REGB
877 CMPB #RC
878 BEQ XTCARC RC ->
879 CMPB #RS
880 LBEQ XTCARS RS ->
881 CMPB #1
882 LBEQ XTCAMO motif cour. ->
883 LBRA XTCACA code normal ->
884
885*** frappe d'un RC (=LF+CR)
886XTCARC EQU *
887 LDY TXTY mode caractère
888 LEAY 8,Y
889 LDA TCAR
890 CMPA #TCN
891 BEQ XTCRC0 ->
892 CMPA #TCDL
893 BEQ XTCRC0 ->
894 LEAY 8,Y
895 CMPY #207
896 BGE XTCRC2 ->
897 BRA XTCRC1 ->
898XTCRC0 CMPY #199
899 BGE XTCRC2 ->
900XTCRC1 STY TXTY
901 BRA XTCRC3 ->
902XTCRC2 LDB #7
903 JSR PUTC
904 LBRA XTCARF ->
905
906XTCRC3 LDX #32 mode caractère
907 STX TXTX
908 JSR TRAMIN
909 LDY #TORTXT
910 LDB #MOVE
911 JSR EXTRA
912 LBRA XTCARF ->
913
914
915*** frappe d'un RS (positionnement en
916*** position caractère normale ...
917
918XTCARS LDD TXTX
919XTCRS0 BITB #$07
920 BEQ XTCRS1 ->
921 SUBD #1
922 BRA XTCRS0 ->
923XTCRS1 STD TXTX
924 LDD TXTY
925 ADDD #1
926XTCRS2 BITB #$07
927 BEQ XTCRS3 ->
928 ADDD #1
929 BRA XTCRS2 ->
930XTCRS3 SUBD #1
931 STD TXTY
932 JSR TRAMIN
933 LDY #TORTXT
934 LDB #MOVE
935 JSR EXTRA
936 LBRA XTCARF ->
937
938*** frappe ctrl A (motif courant)
939
940XTCAMO LDX #CARMOT
941 LDY #TXTMOT
942XTCAR0 LDD ,X++
943 STD ,Y++
944 CMPX #MOTIF
945 BNE XTCAR0 ->
946 BRA XTCAR2 ->
947
948*** frappe d'un code normal
949
950XTCACA LDY #TXTMOT décodage car.
951 JSR XTRMOT
952 LBCC XTCARF ->
953
954XTCAR2 JSR TRAMIN
955 LDY #TORTXT masque tortue car
956 CLRA
957 LDB #SHOW
958 JSR EXTRA
959
960 LDX TXTX
961 LDY TXTY
962 JSR EXPCAR visu car.
963
964 LEAX 8,X
965 LDA TCAR
966 CMPA #TCN
967 BEQ XTCAR3 ->
968 CMPA #TCDH
969 BEQ XTCAR3 ->
970 LEAX 8,X
971XTCAR3 CMPX #623
972 BCC XTCAR4 ->
973 STX TXTX
974 LDY #TORTXT
975 LDB #MOVE
976 JSR EXTRA
977 BRA XTCARV ->
978XTCAR4 LDB #7
979 JSR PUTC
980
981XTCARV LDY #TORTXT visu tortue car
982 LDA #$FF
983 LDB #SHOW
984 JSR EXTRA
985
986XTCARF JSR TRAMAX pour tortue souri
987 RTS
988
989XTCOUC EQU *
990*-----
991 LDA TLIGN
992 PSHS A
993 LDA #1
994 STA TLIGN
995 JSR TRINV ancien tracé
996 CLR FILFLG
997 JSR TRRECT
998 JSR TRINV
999 JSR TRLIGN
1000
1001 LDX REGX nouveau tracé
1002 STX X1TIRE
1003 LDY REGY
1004 STY Y1TIRE
1005 JSR TRINV
1006 JSR TRRECT
1007 JSR TRINV
1008 JSR TRLIGN
1009 PULS A
1010 STA TLIGN
1011 RTS
1012
1013XTCOLL RTS rfu
1014*-----
1015
1016XTRECT EQU *
1017*-----
1018 JSR TRINV ancien tracé
1019 CLR FILFLG
1020 JSR TRRECT
1021
1022 JSR TRINV nouveau tracé
1023 LDX REGX
1024 STX X1TIRE
1025 LDY REGY
1026 STY Y1TIRE
1027 JSR TRRECT
1028 RTS
1029
1030XTCARR EQU *
1031*-----
1032 JSR TRINV ancien tracé
1033 CLR FILFLG
1034 JSR TRRECT
1035
1036 JSR TRINV nouveau tracé
1037 LDD REGX
1038 SUBD X0TIRE
1039 PSHS D
1040 TSTA
1041 BPL XTCRR0 >0 ->
1042 LDD #0
1043 SUBD ,S
1044 STD ,S
1045XTCRR0 LDD REGY
1046 SUBD Y0TIRE
1047 TSTA
1048 BPL XTCRR1 >0 ->
1049 PSHS D
1050 LDD #0
1051 SUBD ,S++
1052XTCRR1 CMPD ,S
1053 BGT XTCRR2 ->
1054 LDD ,S
1055XTCRR2 STD ,S D = coté
1056
1057 LDY Y0TIRE
1058 CMPY REGY
1059 BLE XTCRR3 ->
1060 LDD #0
1061 SUBD ,S
1062XTCRR3 LEAY D,Y
1063 STY Y1TIRE
1064
1065 LDD ,S coef rél -> larg
1066 STD FACMO convers. -> réel
1067 LDA #2
1068 STA VALTYP
1069 LDA #4
1070 LDB #FRCTYP
1071 JSR EXTRA
1072 LDB #MOVAF -> ARG
1073 JSR EXTRA
1074 LDX #COEFMU coefficient
1075 LDB #MOVFM
1076 JSR EXTRA
1077 LDB #MULTGO *
1078 JSR EXTRA
1079 LDA #2 convers entier
1080 LDB #FRCTYP
1081 JSR EXTRA
1082 LDD FACMO
1083 STD ,S
1084 LDX X0TIRE
1085 CMPX REGX
1086 BLE XTCRR4 ->
1087 LDD #0
1088 SUBD ,S
1089XTCRR4 LEAX D,X
1090 STX X1TIRE
1091 LEAS 2,S
1092
1093 JSR TRRECT
1094 RTS
1095
1096XTLIGN EQU *
1097*-----
1098 JSR TRINV ancien tracé
1099 JSR TRLIGN
1100
1101 JSR TRINV nouveau tracé
1102 LDX REGX
1103 STX X1TIRE
1104 LDY REGY
1105 STY Y1TIRE
1106 JSR TRLIGN
1107 RTS
1108
1109XTELLI EQU *
1110*-----
1111 JSR TRINV ancien tracé
1112 CLR FILFLG
1113 JSR TRELLI
1114
1115 JSR TRINV nouveau tracé
1116 LDD REGX
1117 SUBD X0TIRE
1118 BPL XTELI0 ->
1119 COMA < 0
1120 COMB
1121 ADDD #1
1122XTELI0 CMPD #253
1123 BLE XTELI1 ->
1124 LDB #254 >254
1125XTELI1 STB X1TIRE
1126 BNE XTELI2 ->
1127 INC X1TIRE
1128
1129XTELI2 LDD REGY
1130 SUBD Y0TIRE
1131 BPL XTELI3 ->
1132 COMA < 0
1133 COMB
1134 ADDD #1
1135XTELI3 CMPD #253
1136 BLE XTELI4 ->
1137 LDB #254 >254
1138XTELI4 STB Y1TIRE
1139 BNE XTELI5 ->
1140 INC Y1TIRE
1141XTELI5 JSR TRELLI
1142 RTS
1143
1144XTCERC EQU *
1145*-----
1146 JSR TRINV ancien tracé
1147 CLR FILFLG
1148 JSR TRELLI
1149
1150 JSR TRINV nouveau tracé
1151 LDA #2
1152 STA VALTYP
1153 LDD REGX
1154 SUBD X0TIRE x au carré
1155 STD FACMO
1156 STD ARGMO
1157 LDB #MULTGO
1158 JSR EXTRA
1159 LDX FACMO
1160 PSHS X
1161
1162 LDD REGY y au carré
1163 SUBD Y0TIRE
1164 STD FACMO
1165 STD ARGMO
1166 LDB #MULTGO
1167 JSR EXTRA
1168
1169 LDD FACMO racine de somme
1170 ADDD ,S++
1171 STD FACMO
1172 LDB #SQR
1173 JSR EXTRA
1174
1175 LDX #MEMREL mémo
1176 LDB #MOVMF
1177 JSR EXTRA
1178
1179 LDA #2 hauteur (entier)
1180 LDB #FRCTYP
1181 JSR EXTRA
1182 LDD FACMO
1183 CMPD #127
1184 BLE XTCER0 ->
1185 LDB #127
1186XTCER0 STB Y1TIRE
1187 BNE XTCER1 ->
1188 INC Y1TIRE
1189
1190XTCER1 LDA #4 mémo * coef.
1191 STA VALTYP adapt. pt
1192 LDX #MEMREL
1193 LDB #MOVFM
1194 JSR EXTRA
1195 LDB #MOVAF
1196 JSR EXTRA
1197 LDX #COEFMU
1198 LDB #MOVFM
1199 JSR EXTRA
1200 LDB #MULTGO
1201 JSR EXTRA
1202
1203 LDA #2 largeur (entier)
1204 LDB #FRCTYP
1205 JSR EXTRA
1206 LDD FACMO
1207 CMPD #254
1208 BLE XTCER2 ->
1209 LDB #254
1210XTCER2 STB X1TIRE
1211 BNE XTCER3 ->
1212 INC X1TIRE
1213
1214XTCER3 JSR TRELLI
1215 RTS
1216
1217XTLOUP RTS rfu
1218*-----
Note: See TracBrowser for help on using the repository browser.