source: thomson/code/3rdparty/sources4-divers/ASCINEWS/DUPLEX.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: 3.7 KB
Line 
1******************************
2* *
3* DUPLEX : Système d'échange *
4* de données entre *
5* TO8, TO8D, TO9+ *
6* et Minitel, en *
7* un seul sens *
8* Michel à la fois. *
9* SAINT-BRIANT ASCI (c) *
10* * version
11************************* du 15/7/93
12
13
14* Les accents sont transcodés dans les
15* deux sens.
16
17
18 ORG $9000
19
20
21* EMISSION DE DONNEES A 1200 BAUDS
22* DONNEES SUR 7 bits, 1 bit start
23* 1 bit stop, parité paire
24* compatible MINITEL
25* les données sont inscrites sur la
26* bank courante depuis $A000 et ter-
27* minées par un code supérieur à $7F
28* ($FF ou 255 par exemple)
29
30EMIT PSHS U,Y,X,DP,B,A,CC
31 ORCC #$50
32 LDD #$E7FD
33 TFR A,DP
34 STB <$C2
35 LDB <$C5
36 PSHS B,A
37 LDU #$A000
38 CLRB
39EMIT0 LDA #$07
40 STA ,S
41 LDX #$61
42 STX <$C6
43 LDA #$A2
44 STA <$C5
45 CLRA
46 BSR ROUT2
47EMIT1 LSRB
48 BCS EMIT2
49 BSR ROUT2
50 BRA EMIT3
51EMIT2 BSR ROUT1
52 INCA
53EMIT3 DEC ,S
54 BNE EMIT1
55 BITA #$01
56 BNE EMIT4
57 BSR ROUT2
58 BRA EMIT5
59EMIT4 BSR ROUT1
60EMIT5 LDA #10
61EMIT6 DECA
62 BNE EMIT6
63 BSR ROUT1
64 LDB ,U+
65 BMI FINEMI
66 CMPB #$16
67 BNE EMIT0
68 LDB #$19
69 BRA EMIT0
70FINEMI LDA <$C5
71 ORA #$80
72 STA <$C5
73 LDX #$0033
74EMIT7 LEAX -1,X
75 BNE EMIT7
76 PULS A,B
77 STB <$C5
78 LDD #$1800
79 STD <$C6
80 PULS CC,A,B,DP,X,Y,U,PC
81
82
83ROUT1 PSHS X,A
84 LDX #$0061
85TEMPO1 LEAX -1,X
86 BNE TEMPO1
87 LDA <$C5
88 ORA #$80
89 BRA FINROU
90ROUT2 PSHS X,A
91 LDX #$0061
92TEMPO2 LEAX -1,X
93 BNE TEMPO2
94 LDA <$C5
95 ANDA #$7F
96 BRA FINROU
97FINROU STA <$C5
98 PULS A,X,PC
99
100
101
102* RECEPTION DE DONNEES A 1200 BAUDS
103* DONNEES SUR 7 bits, 1 bit start
104* 1 bit stop, parité paire
105* compatible MINITEL
106* les données sont inscrites sur la
107* bank courante depuis $A000 tant que
108* la touche 'Envoi' n'est pas pressée.
109* -> code 0 pour la fin des données.
110
111
112RECEIV PSHS U,Y,X,DP,B,A,CC
113 LDU #$A000
114 LDA #$E7
115 PSHS A
116 TFR A,DP
117RECE1 LDA #$08
118 STA ,S
119 LDA <$CA
120 ANDA #$C4
121 STA <$CA
122 LDA <$C8
123 LDY #$0000
124 LDB #$1E
125TEMPO3 LEAY -1,Y
126 BNE RECE2
127 DECB
128 BEQ RECE10
129 LDY #$0000
130RECE2 LDA <$CA
131 BITA #$40
132 BEQ TEMPO3
133 ANDCC #$FE
134 LDX #$0013
135RECE4 LEAX -1,X
136 BNE RECE4
137RECE5 BCC RECE7
138 BSR RECE12
139 BCS RECE6
140 RORB
141 ANDCC #$FE
142 BRA RECE9
143RECE6 RORB
144 ORCC #$01
145 BRA RECE9
146RECE7 BSR RECE14
147 BCC RECE8
148 RORB
149 ORCC #$01
150 BRA RECE9
151RECE8 RORB
152 ANDCC #$FE
153 BRA RECE9
154RECE9 DEC ,S
155 BNE RECE5
156 ANDB #$7F
157 BRA RECE11
158RECE10 LDB #$FF
159RECE11 LDA -1,U
160 CMPD #$1341
161 BEQ FINREC
162 CMPB #$19
163 BNE ECRIRE
164 LDB #$16
165ECRIRE STB ,U+
166 BRA RECE1
167FINREC CLR -1,U
168 PULS A
169 PULS CC,A,B,DP,X,Y,U,PC
170
171RECE12 LDA <$CA
172 ANDA #$C4
173 STA <$CA
174 LDA <$C8
175 BSR TEMPO4
176 LDA <$CA
177 ANDA #$40
178 BNE RECE15
179RECE13 ORCC #$01
180 RTS
181RECE14 LDA <$CA
182 ORA #$10
183 STA <$CA
184 LDA <$C8
185 BSR TEMPO4
186 LDA <$CA
187 ANDA #$40
188 BNE RECE13
189RECE15 ANDCC #$FE
190 RTS
191TEMPO4 LDX #$005E
192TEMPO5 LEAX -1,X
193 BNE TEMPO5
194 RTS
195
196 END
Note: See TracBrowser for help on using the repository browser.