Subversion Repositories pentevo

Rev

Rev 352 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
352 ddp 1
; 3                                             9
2
;Ŀ
3
;      Ŀ       
4
;       pc/win32   TESTCOM                   
5
;                                  
6
;       Bit rate 115200   No parity           
7
;       Data bits 8       Flow control        
8
;       Stop bits 2         RTS/CTS          
9
;                         DSR - Ignored       
10
;                 Start BERT                  
11
;             
12
;                      COM port                
13
;                                              
14
;                RS-232                        
15
;Ŀ
16
; ZX-Evo    Last sec        65535 sec        16
17
;     10472            10472         17
18
; RxBuff  RTS 18
19
; TxBuff  CTS 19
20
;ٳ20
21
;
22
; 3                                             9
23
;
24
;--------------------------------------
25
;
26
.EQU    TRS_TIMEOUT     =0
27
.EQU    TRS_SECONDS     =2
28
.EQU    TRS_COUNT_LAST  =4
29
.EQU    TRS_COUNT_TOTAL =6
30
;                        10
31
;--------------------------------------
32
;
33
MSG_TRS_1:
34
        .DB     $16,20, 3,$C2
35
        .DB     $16,11, 4,"pc/win32 "
36
        .DB     $16,23, 4,"TESTCOM"
37
        .DB     $16, 9, 5,$C3
38
        .DB     $16,11, 6,"Bit rate 115200   No parity"
39
        .DB     $16,11, 7,"Data bits 8"
40
        .DB     $16,29, 7,"Flow control "
41
        .DB     $16,11, 8,"Stop bits 2"
42
        .DB     $16,30, 8,$FB," RTS/CTS"
43
        .DB     $16,29, 9,"DSR - Ignored"
44
        .DB     $16,21,10,"Start BERT "
45
        .DB     $16,25,11,$C2
46
        .DB     $16,25,12,$B3,"COM port"
47
        .DB     $16,25,13,$B3
48
        .DB     $16,19,14,"RS-232",$B3
49
        .DB     $16,12,15,$C2
50
        .DB     $16,25,15,$C1
51
        .DB     $16, 5,16,"ZX Evo",$16,16,16,"Last sec"
52
        .DB     $16,38,16,"sec"
53
        .DB     $16, 3,17,$C3
54
        .DB     $16, 5,18,"RxBuff",$16,45,18,"RTS",$16, 5,19,"TxBuff",$16,45,19,"CTS",0,0
55
;
56
;--------------------------------------
57
;
58
WIND_T_RS_1:
59
        .DB     2,2,49,20,$DF,$01
60
WIND_T_RS_2:
61
        .DB     9,3,34,9,$DF,$00
62
WIND_T_RS_3:
63
        .DB     9,3,12,3,$DF,$00
64
WIND_T_RS_4:
65
        .DB     3,15,47,6,$DF,$00
66
WIND_T_RS_5:
67
        .DB     3,15,10,3,$DF,$00
68
;
69
;--------------------------------------
70
;
71
TESTRS232:
72
        ANDI    FLAGS1,0B11111100
73
        ORI     FLAGS1,0B00000100
74
        GETMEM  10
75
 
76
        LDIZ    WIND_T_RS_1*2
77
        CALL    WINDOW
78
        LDIZ    WIND_T_RS_2*2
79
        CALL    WINDOW
80
        LDIZ    WIND_T_RS_3*2
81
        CALL    WINDOW
82
        LDIZ    WIND_T_RS_4*2
83
        CALL    WINDOW
84
        LDIZ    WIND_T_RS_5*2
85
        CALL    WINDOW
86
        LDIZ    MSG_TRS_1*2
87
        CALL    SCR_PRINTSTRZ
88
 
89
T_RS_0: STH     TRS_SECONDS+0,FF
90
        STH     TRS_SECONDS+1,FF
91
        ORI     FLAGS1,0B00010000
92
        RCALL   T_RS_CLRBUFFS
93
        MOVW    ZL,YL
94
        RCALL   T_RS_STATUS
95
 
96
T_RS_1: CALL    INKEY
97
        BREQ    T_RS_2
98
        CPI     DATA,KEY_SPACE
99
        BREQ    T_RS_0
100
        SBRC    TEMP,PS2K_BIT_EXTKEY
101
        RJMP    T_RS_2
102
        CPI     DATA,KEY_ESC
103
        BRNE    T_RS_2
104
        RCALL   T_RS_CLRBUFFS
105
        CBR     FLAGS1,0B00010000
106
 
107
        FREEMEM 10
108
        RET
109
 
110
T_RS_2: MOVW    ZL,YL
111
        CALL    CHECK_TIMEOUT_MS
112
        BRCC    T_RS_3
113
        RCALL   T_RS_STATUS
114
T_RS_3: RCALL   T_RS_BUFFBAR
115
T_RS_5: CALL    UART_CHK_CTS
116
        LDS     TEMP,UART_TX_LN
117
        CPI     TEMP,UART_TXBSIZE
118
        BRCC    T_RS_1
119
        CALL    UART_GETCHAR
120
        BREQ    T_RS_1
121
        CALL    UART_PUTCHAR
122
        LDH     XL,TRS_COUNT_TOTAL+0
123
        LDH     XH,TRS_COUNT_TOTAL+1
124
        LDH     ZL,TRS_COUNT_TOTAL+2
125
        LDH     ZH,TRS_COUNT_TOTAL+3
126
        ADIW    XL,1
127
        ADC     ZL,NULL
128
        ADC     ZH,NULL
129
        STH     TRS_COUNT_TOTAL+0,XL
130
        STH     TRS_COUNT_TOTAL+1,XH
131
        STH     TRS_COUNT_TOTAL+2,ZL
132
        STH     TRS_COUNT_TOTAL+3,ZH
133
        LDH     XL,TRS_COUNT_LAST+0
134
        LDH     XH,TRS_COUNT_LAST+1
135
        ADIW    XL,1
136
        STH     TRS_COUNT_LAST+0,XL
137
        STH     TRS_COUNT_LAST+1,XH
138
        RJMP    T_RS_5
139
;
140
;--------------------------------------
141
;
142
T_RS_BUFFBAR:
143
        LDI     XL,12
144
        LDI     XH,18
145
        CALL    SCR_SET_CURSOR
146
        LDS     COUNT,UART_RX_LN
147
.IF (UART_RXBSIZE>128)
148
        LSR     COUNT
149
.ENDIF
150
.IF (UART_RXBSIZE>64)
151
        LSR     COUNT
152
.ENDIF
153
.IF (UART_RXBSIZE>32)
154
        INC     COUNT
155
        LSR     COUNT
156
.ENDIF
157
        RCALL   T_RSBAR0
158
        LDI     TEMP,$AE
159
        SBIS    PORTD,5
160
        LDI     TEMP,$C0
161
        LDI     COUNT,3
162
        CALL    SCR_FILL_ATTR
163
        LDI     TEMP,$DF
164
        CALL    SCR_SET_ATTR
165
 
166
        LDI     XL,12
167
        LDI     XH,19
168
        CALL    SCR_SET_CURSOR
169
        LDS     COUNT,UART_TX_LN
170
.IF (UART_TXBSIZE>128)
171
        LSR     COUNT
172
.ENDIF
173
.IF (UART_TXBSIZE>64)
174
        LSR     COUNT
175
.ENDIF
176
.IF (UART_TXBSIZE>32)
177
        INC     COUNT
178
        LSR     COUNT
179
.ENDIF
180
        RCALL   T_RSBAR0
181
        LDI     TEMP,$AE
182
        SBIS    PINB,6
183
        LDI     TEMP,$C0
184
        LDI     COUNT,3
185
        CALL    SCR_FILL_ATTR
186
        LDI     TEMP,$DF
187
        JMP     SCR_SET_ATTR
188
;
189
;--------------------------------------
190
;
191
T_RSBAR0:
192
        LDI     DATA,32
193
        SUB     DATA,COUNT
194
        TST     COUNT
195
        BREQ    T_RSBAR1
196
        PUSH    DATA
197
        LDI     DATA,$DB ;""
198
        CALL    SCR_FILL_CHAR
199
        POP     DATA
200
T_RSBAR1:
201
        TST     DATA
202
        BREQ    T_RSBAR2
203
        MOV     COUNT,DATA
204
        LDI     DATA,$B0 ;""
205
        CALL    SCR_FILL_CHAR
206
T_RSBAR2:
207
        LDI     DATA,$20 ;" "
208
        JMP     SCR_PUTCHAR
209
;
210
;--------------------------------------
211
;
212
T_RS_STATUS:
213
        LDIW    1000
214
        CALL    SET_TIMEOUT_MS
215
 
216
        LDI     XL,32
217
        LDI     XH,16
218
        CALL    SCR_SET_CURSOR
219
        LDH     XL,TRS_SECONDS+0
220
        LDH     XH,TRS_SECONDS+1
221
        ADIW    XL,1
222
        BRNE    T_RSSTAT1
223
        STH     TRS_COUNT_LAST+0,NULL
224
        STH     TRS_COUNT_LAST+1,NULL
225
        STH     TRS_COUNT_TOTAL+0,NULL
226
        STH     TRS_COUNT_TOTAL+1,NULL
227
        STH     TRS_COUNT_TOTAL+2,NULL
228
        STH     TRS_COUNT_TOTAL+3,NULL
229
T_RSSTAT1:
230
        STH     TRS_SECONDS+0,XL
231
        STH     TRS_SECONDS+1,XH
232
        CALL    DECWORD
233
 
234
        LDI     XL,18
235
        LDI     XH,17
236
        CALL    SCR_SET_CURSOR
237
        LDH     XL,TRS_COUNT_LAST+0
238
        LDH     XH,TRS_COUNT_LAST+1
239
        CALL    DECWORD
240
        STH     TRS_COUNT_LAST+0,NULL
241
        STH     TRS_COUNT_LAST+1,NULL
242
 
243
        LDI     XL,35
244
        LDI     XH,17
245
        CALL    SCR_SET_CURSOR
246
        LDH     WL,TRS_SECONDS+0
247
        LDH     WH,TRS_SECONDS+1
248
        TST     WL
249
        BRNE    T_RSSTAT2
250
        TST     WH
251
        BRNE    T_RSSTAT2
252
        MOVW    XL,WL
253
        RJMP    T_RSSTAT3
254
T_RSSTAT2:
255
        LDH     XL,TRS_COUNT_TOTAL+0
256
        LDH     XH,TRS_COUNT_TOTAL+1
257
        LDH     ZL,TRS_COUNT_TOTAL+2
258
        LDH     ZH,TRS_COUNT_TOTAL+3
259
        CALL    DIV3216U
260
T_RSSTAT3:
261
        JMP     DECWORD
262
;
263
;--------------------------------------
264
;
265
T_RS_CLRBUFFS:
380 ddp 266
.IFNDEF DEBUG_FPGA_OUT
352 ddp 267
        CLI
268
        LDS     TEMP,UART_TX_HD
269
        STS     UART_TX_TL,TEMP
270
        STS     UART_TX_LN,NULL
271
        LDS     TEMP,UART_RX_HD
272
        STS     UART_RX_TL,TEMP
273
        STS     UART_RX_LN,NULL
274
        RTS_CLR
275
        SEI
380 ddp 276
.ENDIF
352 ddp 277
        RET
278
;
279
;--------------------------------------
280
;