source: thomson/code/3rdparty/sources3-lambinet/STI Serveur Telematique Interactif/STI2.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: 27.4 KB
Line 
1***************************************
2* *
3* ***** ***** * Serveur Télématique *
4* * * Interactif ver. 1.4 *
5* * * * *** * du 02/05/92 *
6* ***** * * * ** A.S.C.I. *
7* * * * *** * NANCY *
8* * * * * * 1991/1992 *
9* ***** * * *** * *** Copyright *
10* *
11***************************************
12
13
14 ORG $8800
15
16TAMPON RMB $180
17
18HEURE FCB 0
19MINUT FCB 0
20SECON FCB 0
21DIXIE FCB 0
22FLGPAL FCB 0
23
24LIRE JMP DECOMP lit et décompacte
25 * un message depuis le secteur 4,P
26 * ([$604B]),S([$604C]) pour la par-
27 * tie 0/1 selon la valeur de TAMPON
28 * le message est en clair sur les
29 * 127 premiers octets du secteur
30 * (4,20,1) sur le premier RAM-DISK.
31
32SAUVE JMP SAUV cherche une place
33 * libre sur le disque (optimisée),
34 * et l'inscrit en $604B/C et TAMPON
35 * puis saute à ECRIRE.
36
37ECRIRE JMP COMPAC compacte le texte
38 * écrit en TAMPON+1 et l'enregistre
39 * sur les disks 1 puis 4 en fonct.
40 * de $604B/$604C et TAMPON (0/1).
41
42RECHER JMP CHERCH recherche tous les
43 * messages pour le No inscrit en
44 * TAMPON et en dresse la liste à
45 * partir de $A002 sur la bank cou-
46 * rante (2octets=Piste & Sect/Part)
47 * nombre de messages en $A000
48
49PAGTEL JMP PTEL affiche un fichier
50 * .TEL dont le nom est en $624F
51
52LIT5 JMP LIRE5 lit le secteur 5'
53 * de no contenu en $6AB2/3 (N%)
54
55ECR5 JMP ECRI5 écrit (voir haut)
56
57AFF5 JMP AFFIC5 affiche une page
58 * type tel depuis le 5'1/4
59
60INIT PSHS A,B,CC,DP,X,Y,U
61 CLR $87FE
62 CLR $87FF
63 LDX $6027
64 STX ANCTI+1
65 LDX #TIMER
66 STX $6027
67 LDA $6019
68 ORA #$20
69 STA $6019
70 LDX #INTER
71 STX $67C1
72 LDA #$7E
73 STA $67C0
74 PULS A,B,CC,DP,X,Y,U,PC
75
76HORPLU PSHS A,CC
77 BRA HP
78HORLOG PSHS A,CC
79 LDA #10
80 STA DIXIE
81 INC SECON
82 LDA SECON
83 CMPA #60
84 BLO PALETT
85HP CLR SECON
86 INC MINUT
87 LDA MINUT
88 CMPA #60
89 BLO PALETT
90 CLR MINUT
91 INC HEURE
92 LDA HEURE
93 CMPA #24
94 BLO PALETT
95 CLR HEURE
96 INC $607C
97 LDA $607C
98 CMPA #32
99 BEQ MOISUI
100 CMPA #31
101 BNE FEVBIS
102 LDA $607D
103 CMPA #4
104 BEQ MOISUI
105 CMPA #6
106 BEQ MOISUI
107 CMPA #9
108 BEQ MOISUI
109 CMPA #11
110 BEQ MOISUI
111 BRA PALETT
112FEVBIS CMPA #30
113 BNE FEVNOR
114 LDA $607D
115 CMPA #2
116 BNE PALETT
117 LDA $607E
118 ANDA #3
119 BEQ MOISUI
120 BRA PALETT
121FEVNOR CMPA #29
122 BNE PALETT
123 LDA $607D
124 CMPA #2
125 BNE PALETT
126 LDA $607E
127 ANDA #3
128 BEQ PALETT
129MOISUI LDA #1
130 STA $607C
131 INC $607D
132 LDA $607D
133 CMPA #13
134 BNE PALETT
135 LDA #1
136 STA $607D
137 INC $607E
138PALETT PULS A,CC,PC
139
140TIMER PSHS A,CC
141 DEC DIXIE
142 BNE SORTIM
143 PSHS B,X,Y
144 LBSR HORLOG
145 LDX #PAL
146 LDA $6AD6
147 CMPA #1
148 BNE SORPAL
149 LDA FLGPAL
150 INCA
151 ANDA #1
152 STA FLGPAL
153 BEQ PAL0
154 LEAX 16,X
155PAL0 TST $E7E7
156 BPL PAL0
157PAL1 TST $E7E7
158 BMI PAL1
159 LDY #$200
160PAL2 LEAY -1,Y
161 BNE PAL2
162 LDY #$E7DA
163 CLR 1,Y
164 LDB #32
165PAL3 LDA ,X+
166 STA ,Y
167 DECB
168 BNE PAL3
169SORPAL PULS B,X,Y
170SORTIM PULS A,CC
171ANCTI JMP $FFFF
172
173PAL FDB $0000,$0F00,$F000,$FF00
174 FDB $000F,$0F0F,$F00F,$FF0F
175 FDB $0000,$0F00,$F000,$FF00
176 FDB $000F,$0F0F,$F00F,$FF0F
177 FDB $0000,$0000,$0000,$0000
178 FDB $0000,$0000,$0000,$0000
179
180INTER PSHS CC,X
181 CMPA #$AB =PRINT
182 BNE QUIT
183 LDX $61C7
184 LDX 1,X
185 CMPX #$2330 APPEL EMISSION
186 BEQ MODEM CANAL 0
187 CMPX #$2322 RETOUR D'EMISSION
188 BEQ PRINT
189 CMPX #$2323 EMISSION CANAL 1
190 BNE QUIT
191 LDX SAVPTR
192 STX $61C7
193QUIT PULS CC,X,PC
194
195MODEM PULS CC,X
196 PSHS A,B,CC,DP,X,Y,U
197 LDX #ZONE
198 LDY #POKE
199 BSR COPIE
200 LDX $61C7
201 LEAX 4,X
202 CLRB
203AUTRE LDA ,X+
204 BEQ M2
205 CMPA #$22
206 BNE M0
207 COMB
208M0 TSTB
209 BNE M1
210 CMPA #$3A
211 BEQ M2
212M1 STA ,Y+
213 BRA AUTRE
214M2 LEAX -3,X
215 LDA 1,X
216 CMPA #$3B
217 BNE ERROR
218 STX SAVPTR
219 LDX #ZONE+11
220 LEAY -1,Y
221 BSR COPIE
222 LDX #POKE-1
223 STX $61C7
224 LDX #TAMPON
225BLANC CLR ,X+
226 CMPX #TAMPON+300
227 BLO BLANC
228ERROR PULS A,B,CC,DP,X,Y,U,PC
229
230COPIE LDA ,X+
231 BEQ FINCOP
232 STA ,Y+
233 BRA COPIE
234FINCOP RTS
235
236PRINT PULS CC,X
237 PSHS A,B,CC,DP,X,Y,U
238 LDY #POKE-1
239 STY $61C7
240 LEAY 1,Y
241 LDX #ZONE+16
242 BSR COPIE
243 LDX #TAMPON
244 LDA $6AD6
245 CMPA #2
246 BNE MODIF
247 CLR ,Y+
248 CLR ,Y+
249MODIF LDA ,X+
250 LBEQ FINMOD
251 CMPA #$5C \ escape
252 BEQ ESCAPE
253 CMPA #$16
254 BNE CARAC
255 LDB $6AD6
256 CMPB #1
257 BEQ CARAC
258 ADDA #3
259CARAC STA ,Y+
260 BRA MODIF
261
262ESCSUI LDA ,X+
263 LBEQ FINMOD
264 CMPA #$3A
265 BEQ ESC0
266 CMPA #$5C
267 BNE ESCSUI
268 BRA MODIF
269
270ESCAPE LDA ,X+
271 LBEQ FINMOD
272 CMPA #$5C \ si \\ alors \
273 BEQ CARAC
274 BRA ESC1
275ESC0 LDA ,X+
276 LBEQ FINMOD
277 CMPA #$5C \ sortie ESCAPE
278 BEQ MODIF
279ESC1 CMPA #$41 A (ATTRB)
280 BNE ESC2
281 LBSR PARA
282 LDB $6A58
283 LDU #PARA1
284 LDA ,U+
285 BMI ATT2
286 BEQ ATT1
287 ORB #2
288 BRA ATT2
289ATT1 ANDB #1
290ATT2 TST ,U+
291 BMI ATT4
292 BEQ ATT3
293 ORB #1
294 BRA ATT4
295ATT3 ANDB #2
296ATT4 ANDB #3
297 STB $6A58
298 ADDB #$4C
299 LDA #$1B
300 STD ,Y++
301 LDB ,U+
302 BMI ATT7
303 ANDB #1
304 STB $6AAC
305 BEQ ATT5
306 LDB #$58
307 BRA ATT6
308ATT5 LDB #$5F
309ATT6 STD ,Y++
310ATT7 LDB ,U+
311 BMI ATT8
312 LBRA LIGNA
313
314ESC2 CMPA #$42 B (Beep)
315 BNE ESC3
316 LDB #7
317 STB ,Y+
318ATT8 LBRA ESCSUI
319
320ESC3 CMPA #$43 C (Couleurs)
321 BNE ESC4
322 LBSR PARA
323 LDU #PARA1
324 LDB ,U+
325 BMI CO0
326 ANDB #$7
327 STB $6A66
328 ADDB #$40
329 LDA $6AD6
330 ANDA #1
331 BEQ CO00
332 TST $6A9E
333 BEQ CO00
334 ADDB #$30
335CO00 LDA #$1B
336 STD ,Y++
337CO0 LDB ,U+
338 BMI CO1
339 ANDB #$7
340 STB $6A7B
341 ADDB #$50
342 LDA $6AD6
343 ANDA #1
344 BEQ CO10
345 TST $6A9E
346 BEQ CO10
347 ADDB #$28
348CO10 LDA #$1B
349 STD ,Y++
350CO1 LDB ,U+
351 BMI CO2
352 ANDB #1
353 STB $6A90
354 SUBB #$5D
355 NEGB
356 LDA #$1B
357 STD ,Y++
358CO2 LDB ,U+
359 BMI CO3
360 ANDB #1
361 LBRA KLI1
362CO3 LBRA ESCSUI
363
364ESC4 CMPA #$44 D=Démasquage total
365 BNE ESC5
366 LDD #$1B23
367 STD ,Y++
368 LDD #$205F
369 STD ,Y++
370 LBRA ESCSUI
371
372ESC5 CMPA #$45 E=Effacement
373 BNE ESC6
374 LDA #$0C
375 STA ,Y+
376 LBRA ESCSUI
377
378ESC6 CMPA #$46 F=Masquage total
379 BNE ESC7
380 LDD #$1B23
381 STD ,Y++
382 LDD #$2058
383 STD ,Y++
384 LBRA ESCSUI
385
386ESC7 CMPA #$47 G=Générateur de
387 BNE ESC8 caractères
388 LBSR PARA
389 LDA PARA1
390 ANDA #1
391 STA $6A82
392 BNE GEN0
393 LDA #$0F
394 BRA GEN1
395GEN0 LDA #$0E
396GEN1 STA ,Y+
397ESC7F LBRA ESCSUI
398
399ESC8 CMPA #$48
400 BNE ESC9
401 LDA #$1E
402 BRA GEN1
403
404ESC9 CMPA #$49 I=Insertion
405 BNE ESC69
406 LDA ,X
407 CMPA #$4C L=Ligne
408 BNE ESC91
409 LDD #$1B5B
410 STD ,Y++
411 LDB #$4C
412 STB ,Y+
413 BRA ESC94
414ESC91 CMPA #$43 C=Caractère début
415 BNE ESC92
416 LDB #$68
417 BRA ESC93
418ESC92 CMPA #$46 F=Fin d'insertion
419 BNE ESC7F de caractères
420 LDB #$6C
421ESC93 LDA #$1B
422 STA ,Y+
423 LDA #$5B
424 STA ,Y+
425 LDA #$34
426 STD ,Y++
427ESC94 LEAX 1,X
428 BRA ESC7F
429
430ESC69 CMPA #$69
431 BNE ESCB
432 LDB $6A90
433 ANDB #1
434 INCB
435 ANDB #1
436 STB $6A90
437 SUBB #$5D
438 NEGB
439 LDA #$1B
440 STD ,Y++
441 LBRA ESCSUI
442
443ESCB CMPA #$4B K=Klignotement
444 BNE ESCC
445 LDB $6A9E
446 ANDB #1
447 INCB
448 ANDB #1
449KLI1 STB $6A9E
450 LDA $6AD6
451 ANDA #1
452 BNE KLITO
453 SUBB #$49
454 NEGB
455 LDA #$1B
456 STD ,Y++
457KLI2 LBRA ESCSUI
458KLITO LDA #$1B
459 LDB $6A66
460 ANDB #7
461 ADDB #$40
462 TST $6A9E
463 BEQ KLIT1
464 ADDB #$30
465KLIT1 STD ,Y++
466 LDB $6A7B
467 ANDB #$7
468 ADDB #$50
469 TST $6A9E
470 BEQ KLIT2
471 ADDB #$28
472KLIT2 STD ,Y++
473 BRA KLI2
474
475ESCC CMPA #$4C L=Locate
476 BNE ESC4D
477 LBSR PARA
478 LDU #PARA1
479 LDD ,U++
480 CMPD #$FFFF
481 BEQ LO4
482 PSHS A
483 TSTB
484 BPL LO0
485 LDB $6B00
486LO0 CMPB #25
487 BLO LO1
488 CLRB
489LO1 STB $6B00
490 ADDB #$40
491 LDA #$1F
492 STD ,Y++
493 PULS B
494 TSTB
495 BPL LO2
496 LDB $6AF9
497LO2 CMPB #40
498 BLS LO3
499 CLRB
500LO3 STB $6AF9
501 ADDB #$41
502 STB ,Y+
503LO4 LDB ,U+
504 BMI LO7
505 ANDB #1
506 STB $6AEB
507 BEQ LO5
508 LDB #$11
509 BRA LO6
510LO5 LDB #$14
511LO6 STB ,Y+
512LO7 LDB ,U+ LIGNAGE EN MODE
513 BMI LO8 GRAPH SOULIGNAGE
514LIGNA ANDB #1 EN MODE NORMAL
515 STB $6AA5
516 LDA $6AD6
517 ANDA #1
518 BNE LO8 Lignage SIMUL
519 ADDB #$59
520 LDA #$1B
521 STD ,Y++
522LO8 LBRA ESCSUI
523
524ESC4D CMPA #$4D M=Mode
525 LBNE ESC4E
526 LDA ,X
527 CMPA #$53 S=Scroll
528 BNE ESC4D1
529 LDB #$69
530 BRA ESC4D2
531ESC4D1 CMPA #$50 P=Page
532 BNE ESC4D3
533 LDB #$6A
534ESC4D2 LEAX 1,X
535 LDA #$1B
536 STA ,Y+
537 LDA #$3A
538 STD ,Y++
539 LDA #$43
540 STA ,Y+
541ESC4D3 LBRA ESCSUI
542
543ESC4E CMPA #$4E N=nouvelle ligne
544 BNE ESC52
545 LDD #$0A0D
546 STD ,Y++
547 LDB $6A66
548 ADDB #$40
549 LDA $6AD6
550 ANDA #1
551 BEQ EO00
552 TST $6A9E
553 BEQ EO00
554 ADDB #$30
555EO00 LDA #$1B
556 STD ,Y++
557 LDB $6A7B
558 ADDB #$50
559 LDA $6AD6
560 ANDA #1
561 BEQ EO10
562 TST $6A9E
563 BEQ EO10
564 ADDB #$28
565EO10 LDA #$1B
566 STD ,Y++
567 LDB $6A58
568 ADDB #$4C
569 STD ,Y++
570 LDA #$20
571 STA ,Y+
572E020 BRA ESC4D3
573
574ESC52 CMPA #$52 R=Répétition
575 BNE ESC53
576 LBSR PARA
577 LDB PARA1
578 CMPB #63
579 BHI E020
580 LDA #$12 rep
581 ADDB #$40
582 STD ,Y++
583 BRA E020
584
585ESC53 CMPA #$53 S=Suppression
586 BNE ESC58
587 LDA ,X
588 CMPA #$4C Ligne
589 BNE ESC531
590 LDB #$4D
591 BRA ESC532
592ESC531 CMPA #$43 Caractère
593 BNE ESC4D3
594 LDB #$50
595ESC532 LEAX 1,X
596 LDA #$1B
597 STA ,Y+
598 LDA #$5B
599 STD ,Y++
600 BRA ESC4D3
601
602ESC58 CMPA #$58 X=effacement de
603 BNE ESC5E la fin de la ligne
604 LDA #$18
605 STA ,Y+
606 BRA E020
607
608ESC5E CMPA #$5E ^ Déplacements
609 BNE ESCN
610DEA LDA ,X+
611 LBEQ FINMOD
612 CMPA #$3A :
613 BEQ DE0
614 CMPA #$5C \
615 BNE DE1
616DE0 LEAX -1,X
617 LBRA ESCSUI
618DE1 ANDA #$5F
619 CMPA #$42 B=bas
620 BNE DE3
621 LDA #10
622 BRA DEX
623DE3 CMPA #$44 D=droite
624 BNE DE4
625 LDA #9
626 BRA DEX
627DE4 CMPA #$47 G=gauche
628 BNE DE5
629 LDA #8
630 BRA DEX
631DE5 CMPA #$48 H=haut
632 BNE DE6
633 LDA #11
634 BRA DEX
635DE6 CMPA #$4E N=Nouvelle ligne
636 BNE DE8
637DE7 LDA #10
638DEX STA ,Y+
639 BRA DEA
640DE8 CMPA #$52 R=Retour chariot
641 BNE DEA
642 LDA #13
643 STA ,Y+
644 BRA DE7
645
646ESCN LBRA ESC0
647
648
649FINMOD LDX #POKE+4
650 LDA $6AD6
651 CMPA #2
652 BEQ AFMINI Affichage MINITEL
653AFTOMO CLR ,Y Affichage TO+MODEM
654AFTM0 LDB ,X+
655 BEQ EXITEL
656 TST $6AD6
657 BNE AFTO
658AFTM1 LDA $E7FE
659 BITA #2
660 BEQ AFTM1
661 STB $E7FF
662 BRA AFTM0
663AFTO JSR $E803
664 BRA AFTM0
665AFMINI LBSR TEL
666EXITEL LDY #POKE
667 LDX #ZONE+22
668FINMAX LBSR COPIE
669 PULS A,B,CC,DP,X,Y,U,PC
670
671PARA PSHS Y,U Recherche des
672 LDY #PARA1 paramètres (4 max)
673 LDD #$FFFF
674 STD ,Y
675 STD 2,Y
676 CLRB
677
678PAR0 LDA ,X+
679 BEQ SORPAR
680 CMPA #$3A :
681 BEQ AUTPAR
682 CMPA #$5C \
683 BEQ AUTPAR
684 CMPA #$2C ,
685 BEQ AUTPAR
686 CMPA #$30 0
687 BLO AUTPAR
688 CMPA #$39 9
689 BHI VAR
690 SUBA #$30
691 LDB ,Y
692 BPL PAR1
693 CLRB
694 STB ,Y
695PAR1 ASLB
696 ASLB
697 ASLB
698 ADDB ,Y
699 ADDB ,Y
700 STB ,Y
701 ADDA ,Y
702 STA ,Y
703 BRA PAR0
704
705VAR CMPA #$41 A
706 BLO AUTPAR
707 CMPA #$5A Z
708 BLS VAR0
709 CMPA #$61 a
710 BLO AUTPAR
711 CMPA #$7A z
712 BHI AUTPAR
713 SUBA #$20
714VAR0 SUBA #$41
715 STA ,Y
716 ASLA
717 ASLA
718 ASLA
719 SUBA ,Y
720 LDU #$6A58
721 TFR A,B
722 CLRA
723 LEAU D,U
724 LDB ,U
725 STB ,Y
726 BRA PAR0
727
728AUTPAR CMPA #$2C
729 BNE SORPAR
730 LEAY 1,Y
731 CMPY #PARA4
732 BHI SORPAR
733 CLRB
734 BRA PAR0
735
736SORPAR LEAX -1,X
737 PULS U,Y,PC
738
739PTEL PSHS U,Y,X,DP,B,A,CC
740 LDD #$1003
741 STA $624B
742 JSR $EC0C
743 LDX #$A000
744 TFR X,Y
745 CLR ,Y+
746 CLR ,Y+
747 LDA #$61
748 TFR A,DP
749INPUT LDB #5
750 JSR $EC0C
751 LDA $6AD6
752 BNE PT1
753PT0 LDA $E7FE
754 BITA #2
755 BEQ PT0
756 LDA <$96
757 STA $E7FF
758 BRA PT2
759PT1 LDA <$96
760 STA ,Y+
761 CMPY #$DFFF
762 BHI CPTEL
763PT2 TST <$78
764 BEQ INPUT
765CPTEL LEAY -1,Y
766 LDB #6
767 JSR $EC0C
768 LDA $6AD6
769 BEQ FPTEL
770 CMPA #2
771 BEQ COMBLE
772 LDB #$FF
773 STB ,Y+
774PT3 LDB ,X+
775 BMI FPTEL
776 CMPB #19
777 BNE PT4
778 LDB #22
779PT4 JSR $E803
780 BRA PT3
781FPTEL PULS U,Y,X,DP,B,A,CC,PC
782
783TEL PSHS U,Y,X,DP,B,A,CC
784COMBLE LDD #$1B3A
785 STD ,Y++
786 LDD #$6AFE
787 STD ,Y++
788 LDD #$E7FD
789 TFR A,DP
790 STB <$C2
791 TFR X,U
792 LBSR ROUT1
793 LDX #$1000
794TEMP1 LEAX -1,X
795 BNE TEMP1
796 CLRB
797 ORCC #$50
798TOMI0 LDA #$07
799 STA ,S
800 BSR ROUT1
801 LDX #$0060
802 STX <$C6
803 LDA #$A2
804 STA <$C5
805 CLRA
806 BSR ROUT2
807TOMI1 LSRB
808 BCC TOMI2
809 BSR ROUT1
810 INCA
811 BRA TOMI3
812TOMI2 BSR ROUT2
813TOMI3 DEC ,S
814 BNE TOMI1
815 BITA #$01
816 BNE TOMI4
817 BSR ROUT2
818 BRA TOMI5
819TOMI4 BSR ROUT1
820TOMI5 LDB ,U+
821 BPL TOMI0
822 PULS CC,A,B,DP,X,Y,U,PC
823
824ROUT1 PSHS X,A
825 LDA <$C5
826 ORA #$80
827 BRA TOMI6
828ROUT2 PSHS X,A
829 LDA <$C5
830 ANDA #$7F
831 BRA TOMI6
832TOMI6 STA <$C5
833 LDX #$0061
834TEMP2 LEAX -1,X
835 BNE TEMP2
836 PULS A,X,PC
837
838CHERCH PSHS A,B,DP,CC,X,Y,U
839 LDX TAMPON
840 STX VAL+1
841 LDY #$A002
842 LDA $E7E5
843 TFR A,DP
844 LDA #$10
845CH0 STA $E7E5
846 LDU #$A000
847 LDB #$80
848CH1 LDX ,U
849VAL CMPX #$0000 VALEUR CHERCHEE
850 BNE CH2
851 LDX 2,U
852 STX POKE
853 LDX 4,U
854 STX POKE+2
855 LDX 6,U
856 STX POKE+4
857 PSHS A,B
858 PSHS U
859 EXG A,DP
860 STA $E7E5
861 EXG DP,A
862 ANDA #$0F
863 LSLB
864 LSLB
865 ROLA
866 LSLB
867 ROLA
868 LSRB
869 LSRB
870 LSRB
871 LDU #TABLE
872 LDA A,U
873 STD ,Y++
874 LDD POKE
875 STD ,Y++
876 LDD POKE+2
877 STD ,Y++
878 LDA POKE+4
879 CLRB
880 STD ,Y++
881 PULS U
882 PULS A,B
883 STA $E7E5
884CH2 LEAU 128,U
885 INCB
886 BNE CH1
887 INCA
888 CMPA #$20
889 BLO CH0
890CH3 TFR DP,A
891 STA $E7E5
892 LEAX ,Y
893 STX LIMTR1+2
894 LEAX -8,X
895 STX LIMTR0+1
896 LEAX -$A002,Y
897 TFR X,D
898 LSRA
899 RORB
900 LSRA
901 RORB
902 LSRA
903 RORB
904 STD $A000
905 CMPD #$0002
906 BLO TRI4
907 LDX VAL+1
908 BEQ TRI4
909 LDX #$A002
910TRI0 LEAY 8,X
911TRI1 LDB #4
912TRI2 LDA B,X
913 CMPA B,Y
914 BHI PERM
915 BLO TRI3
916 INCB
917 CMPB #7
918 BLO TRI2
919 BRA TRI3
920PERM LDB #6
921PERM0 LDA B,X
922 TFR A,DP
923 LDA B,Y
924 STA B,X
925 TFR DP,A
926 STA B,Y
927 DECB
928 BPL PERM0
929TRI3 LEAY 8,Y
930LIMTR1 CMPY #$0000
931 BLO TRI1
932 LEAX 8,X
933LIMTR0 CMPX #$0000
934 BLO TRI0
935TRI4 PULS A,B,DP,CC,X,Y,U,PC
936
937SAUV PSHS A,B,DP,CC,X,Y,U
938 LDA $E7E5
939 TFR A,DP
940 LDX #$FFFF
941 LDY #POKE
942 STX ,Y
943 STX 2,Y
944 LDA #$10
945EC0 STA $E7E5
946 LDU #$A000
947 LDB #$80
948EC1 LDX ,U
949 CMPX #$0000 VALEUR VIDE
950 BNE EC6
951 PSHS A,B,U
952 ANDA #$0F
953 LSLB
954 LSLB
955 ROLA
956 LSLB
957 ROLA
958 LSRB
959 LSRB
960 LSRB
961 LDU #TABLE
962 LDA A,U
963 STD 4,Y
964 SUBA $6052
965 BPL EC2
966 NEGA
967EC2 STA 6,Y
968 CMPA 2,Y
969 BHI EC5
970 BEQ EC3
971 LDA #$FF
972 STA 3,Y
973EC3 LDA 4,Y
974 SUBA #20
975 BPL EC4
976 NEGA
977EC4 STA 7,Y
978 CMPA 3,Y
979 BHS EC5
980 LDX 4,Y
981 STX ,Y
982 LDX 6,Y
983 STX 2,Y
984EC5 PULS A,B,U
985EC6 LEAU 128,U
986 INCB
987 BNE EC1
988 INCA
989 CMPA #$20
990 BLO EC0
991 TFR DP,A
992 STA $E7E5
993 CLR TAMPON
994 LDD ,Y
995 LSRB
996 BCC EC7
997 COM TAMPON
998EC7 INCB
999 STD $604B
1000 BRA EC8
1001
1002COMPAC PSHS A,B,DP,CC,X,Y,U
1003EC8 LDD $604B
1004 CMPA #63
1005 LBHI COMP2
1006 DECB
1007 CMPB #15
1008 LBHI COMP2
1009 LDY #POKE
1010 STY $604F
1011 LDA #$94
1012 STA $60CD
1013 LDD #$0204
1014 STD $6048
1015 JSR $E004
1016 LBSR HORPLU
1017 LDD #$2804
1018 PSHS A
1019 LDX #TAMPON
1020 LDA ,X+
1021 BEQ COMP0
1022 LEAY 128,Y
1023COMP0 LDA ,X+
1024 STA ,Y+
1025 DECB
1026 BNE COMP0
1027 LDD $607D
1028 SUBB #90
1029 CMPB #10
1030 BLO DAT0
1031 ADDB #100
1032DAT0 LSLA
1033 LSLA
1034 LSLA
1035 LSLA
1036 LSLA
1037 ROLB
1038 LSLA
1039 ROLB
1040 LSLA
1041 ROLB
1042 LSLA
1043 ROLB
1044 STB ,Y+
1045 LDA $607C
1046 LDB HEURE
1047 LSLB
1048 LSLB
1049 LSLB
1050 LSLB
1051 ROLA
1052 LSLB
1053 ROLA
1054 LSLB
1055 ROLA
1056 STA ,Y+
1057 LDA MINUT
1058 LSLA
1059 LSLA
1060 LSLB
1061 PSHS CC
1062 LSLB
1063 RORA
1064 PULS CC
1065 RORA
1066 STA ,Y+
1067COMP1 LDA ,X+
1068 SUBA #$20
1069 LDB ,X+
1070 SUBB #$20
1071 LSLB
1072 LSLB
1073 LSLB
1074 ROLA
1075 LSLB
1076 ROLA
1077 STA ,Y+
1078 LSLB
1079 ROLA
1080 LSLB
1081 ROLA
1082 LSLB
1083 ROLA
1084 LSLB
1085 ROLA
1086 LDB ,X+
1087 SUBB #$20
1088 LSLB
1089 LSLB
1090 LSLB
1091 ROLA
1092 LSLB
1093 ROLA
1094 LSLB
1095 ROLA
1096 LSLB
1097 ROLA
1098 STA ,Y+
1099 LSLB
1100 ROLA
1101 LSLB
1102 ROLA
1103 LDB ,X+
1104 SUBB #$20
1105 LSLB
1106 LSLB
1107 LSRA
1108 RORB
1109 LSRA
1110 RORB
1111 STB ,Y+
1112 DEC ,S
1113 BNE COMP1
1114 PULS B
1115 LDD #$0801
1116 STD $6048
1117 LDX #POKE
1118 STX $604F
1119 JSR $E004
1120 LDD #$0482
1121 STA $6049
1122 JSR $E004
1123 STB $60CD
1124 BRA COMP3
1125COMP2 LDA #$FF
1126 STA $604E
1127COMP3 BSR DIROK
1128 PULS A,B,DP,CC,X,Y,U,PC
1129
1130DIROK LDY #$C000
1131 LDD #$0820
1132DIR0 STB ,Y+
1133 DECA
1134 BNE DIR0
1135 RTS
1136
1137DECOMP PSHS A,B,DP,CC,X,Y,U
1138 LDA $E7E5
1139 TFR A,DP
1140 LDA #$0F
1141 STA $E7E5
1142 LDD $604B
1143 CMPA #63
1144 LBHI DECO2
1145 DECB
1146 CMPB #15
1147 LBHI DECO2
1148 LDA #$94
1149 STA $60CD
1150 LDD #$0204
1151 STD $6048
1152 LDX #TAMPON+1
1153 STX $604F
1154 JSR $E004
1155 TST $604E
1156 LBNE DECO3
1157 BSR DIROK
1158 LDD #$2804
1159 PSHS A
1160 LDA TAMPON
1161 BEQ DECO0
1162 LEAX 128,X
1163DECO0 LDA ,X+
1164 STA ,Y+
1165 DECB
1166 BNE DECO0
1167 LDA ,X
1168 LSRA
1169 LSRA
1170 LSRA
1171 LSRA
1172 ADDA #90
1173 CMPA #100
1174 BLO DAT2
1175 SUBA #100
1176DAT2 STA ,Y+
1177 LDA ,X+
1178 ANDA #$0F
1179 STA ,Y+
1180 LDA ,X
1181 LSRA
1182 LSRA
1183 LSRA
1184 STA ,Y+
1185 LDA ,X+
1186 ANDA #7
1187 LDB ,X
1188 LSLB
1189 ROLA
1190 LSLB
1191 ROLA
1192 STA ,Y+
1193 LDA ,X+
1194 ANDA #$3F
1195 STA ,Y+
1196DECO1 LDA ,X
1197 LSRA
1198 RORB
1199 LSRA
1200 RORB
1201 ADDA #$20
1202 STA ,Y+
1203 LDD ,X+
1204 ANDA #3
1205 LSLB
1206 ROLA
1207 LSLB
1208 ROLA
1209 LSLB
1210 ROLA
1211 LSLB
1212 ROLA
1213 ADDA #$20
1214 STA ,Y+
1215 LDD ,X++
1216 ANDA #15
1217 LSLB
1218 ROLA
1219 LSLB
1220 ROLA
1221 ADDA #$20
1222 LSRB
1223 LSRB
1224 ADDB #$20
1225 STD ,Y++
1226 DEC ,S
1227 BNE DECO1
1228 TFR DP,A
1229 STA $E7E5
1230 PULS A
1231 BRA DECO3
1232DECO2 LDA #$FF
1233 STA $604E
1234DECO3 LDA #$82
1235 STA $60CD
1236 PULS A,B,DP,CC,X,Y,U,PC
1237
1238AFFIC5 PSHS A,B,DP,CC,X,Y,U
1239 LDA #5
1240 STA $E7E5
1241 LDD $6AB2
1242 CMPD #0053
1243 LBHI FAFF5
1244 LDA #2
1245 MUL
1246 STD $6AB2
1247 LDA #2
1248 LDX #$A000
1249 LBSR PREPA5
1250 INC $6AB3
1251 LDA #2
1252 LDX #$A200
1253 LBSR PREPA5
1254 LDX #$A000
1255 LDY #$A400
1256 LDD #0
1257 STD ,Y++
1258 STD ,Y++
1259 LDD #$0C14
1260 STD ,Y++
1261 LDA #25
1262 STA LIGNE
1263NOUVLI DEC LIGNE
1264 BEQ PRINT5
1265 LDA #40
1266 STA COLON
1267OCTSUI LDA ,X+
1268 CMPX #$A400
1269 BHI PRINT5
1270 CMPA #$0D
1271 BNE ESTAFF
1272 LDB ,X+
1273 DEC COLON
1274 BMI NOUVLI
1275AFFD LDD #$0D0A
1276 STD ,Y++
1277 BRA NOUVLI
1278ESTAFF CMPA #32
1279 BLO OCTSUI
1280 CMPA #128
1281 BLO OCTAFF
1282 CMPA #161
1283 BHI OCTSUI
1284 SUBA #128
1285 LDB #3
1286 MUL
1287 LDU #TABPC
1288 LEAU B,U
1289 LDD ,U++
1290 STD ,Y++
1291 LDA ,U
1292OCTAFF DEC COLON
1293 BMI OCTSUI
1294 STA ,Y+
1295 BRA OCTSUI
1296
1297PRINT5 LDU #$A400
1298 LDD #$1F41
1299 STA -1,Y
1300 STB ,Y+
1301 STB ,Y+
1302 LDA $6AD6
1303 CMPA #1
1304 LBEQ COMBLE
1305 LDB #255
1306 STB ,Y++
1307 TSTA
1308 BNE ECRAN
1309ATTMOD LDA $E7FE
1310 BITA #2
1311 BEQ ATTMOD
1312 LDA ,U+
1313 BEQ ATTMOD
1314 BMI FAFF5
1315 STA $E7FF
1316 BRA ATTMOD
1317ECRAN LDB ,U+
1318 BEQ ECRAN
1319 BMI FAFF5
1320 CMPB #$13
1321 BNE ECOK
1322 LDB #$16
1323ECOK JSR $E803
1324 BRA ECRAN
1325
1326FAFF5 PULS A,B,DP,CC,X,Y,U,PC
1327
1328PREPA5 STA $6048
1329 STX $604F
1330 LDX $6AB2
1331 BMI PB5
1332 CMPX #719
1333 BHI PB5
1334 LDA #2
1335 STA LIGNE
1336AGIR5 LDA #$D4
1337 STA $E7E7
1338 LDX $E000
1339 CMPX #$444B
1340 BEQ OK5
1341 LDA #$54
1342 STA $E7E7
1343PB5 LDX #$FFFF
1344 STX $6AB2
1345 LEAS 2,S
1346 PULS A,B,DP,CC,X,Y,U,PC
1347OK5 LDA $6052
1348 LDB $6054
1349 STA $6054
1350 STB $6052
1351 CLR $6058
1352 LDX $6AB2
1353 LDA #$FF
1354TEST5 INCA
1355 LEAX -9,X
1356 CMPX #0
1357 BPL TEST5
1358 LEAX 10,X
1359 STX $604B
1360 PSHS A
1361 ANDA #1
1362 STA $6049
1363 PULS A
1364 LSRA
1365 STA $604B
1366 JSR $E004
1367 LDA #$54
1368 STA $E7E7
1369 LDA $6052
1370 LDB $6054
1371 STA $6054
1372 STB $6052
1373 CLR $6058
1374 LDA $604E
1375 BEQ SOROK5
1376 DEC LIGNE
1377 BEQ SPB5
1378 LDA $6048
1379 LDB $6052
1380 PSHS A,B
1381 CLR $6052
1382 CLR $6054
1383 LDD #$D420
1384 STA $E7E7
1385 STB $6048
1386 JSR $E004
1387 LDD #$5401
1388 STB $6048
1389 JSR $E004
1390 STA $E7E7
1391 PULS A,B
1392 STA $6048
1393 STB $6052
1394 LBRA AGIR5
1395SPB5 LDX #999
1396 STX $6AB2
1397SOROK5 RTS
1398
1399LIRE5 PSHS A,B,DP,CC,X,Y,U
1400 LDA #2
1401 LDX #$9800
1402 LBSR PREPA5
1403 LDD #$0804
1404 STD $6048
1405 LDD #$1401
1406 STD $604B
1407 JSR $E004
1408 PULS A,B,DP,CC,X,Y,U,PC
1409
1410ECRI5 PSHS A,B,DP,CC,X,Y,U
1411 LDA #8
1412 LDX #$9800
1413 LBSR PREPA5
1414 PULS A,B,DP,CC,X,Y,U,PC
1415
1416LIGNE FCB 0
1417COLON FCB 0
1418
1419SAVPTR FCB 0,0
1420
1421PARA1 FCB 0
1422PARA2 FCB 0
1423PARA3 FCB 0
1424PARA4 FCB 0
1425
1426TABPC FCB $1B,$48,32,$13,$48,$75
1427 FCB $13,$42,$65,$13,$43,$61
1428 FCB $13,$48,$61,$13,$41,$61
1429 FCB 0,32,0,$13,$4B,$63
1430 FCB $13,$43,$65,$13,$48,$65
1431 FCB $13,$41,$65,$13,$48,$69
1432 FCB $13,$43,$69,$1B,$5D,32
1433 FCB 0,32,0,0,32,0,0,32,0
1434 FCB $1B,$4C,32,$1B,$4D,32
1435 FCB $13,$43,$6F,$13,$48,$6F
1436 FCB $13,$41,$6F,$13,$43,$75
1437 FCB $13,$41,$75,0,32,0,0,32,0
1438 FCB 0,32,0,$1B,$49,32,22,23,0
1439 FCB 0,32,0,0,32,0,0,32,0
1440 FCB $13,$42,$61,$1B,$5C,32
1441
1442TABLE FCB 62,63,60,61,58,59,56,57
1443 FCB 54,55,52,53,50,51,48,49
1444 FCB 46,47,44,45,42,43,40,41
1445 FCB 38,39,36,37,34,35,32,33
1446 FCB 30,31,28,29,26,27,24,25
1447 FCB 22,23,19,21,17,18,15,16
1448 FCB 13,14,11,12,9,10,7,8
1449 FCB 5,6,3,4,1,2,20,0
1450
1451ZONE FCB $3B,$3A,$AA,$26,$48,$38
1452 FCB $38,$30,$30,$2C,0
1453
1454 FCB $3A,$AB,$23,$22,0
1455
1456 FCB $23,$31,$2C,$22,0
1457
1458 FCB $22,$3B,$3A,$AB,$23,$23,0
1459
1460POKE RMB 300
1461
1462FIN FCB 0
1463
1464 END
Note: See TracBrowser for help on using the repository browser.