3 ; Simple polling drivers for ASCI0 and ASCI1
15 extrn f_cpu,add_hla,div32_r
22 ;--------------------------------------------------------------
23 ; TC = (f PHI /(2*baudrate*Clock_mode)) - 2
26 ; TC = (f PHI / (32 * baudrate)) - 2
28 ; br150 = baudrate/150
29 ; TC = (f PHI / (32 * 150 * br150)) - 2
30 ; TC = (f PHI / (32 * 150 * br150)) - 2
34 ; Init Serial I/O for console input and output (ASCI1)
49 ld hl,@ctbl+7 ;get baudrate index
83 ; factor index baudrate orig. cp/m
84 dw 19200/150 ; 0 19200 -
85 dw 28800/150 ; 1 28800 50
86 dw 38400/150 ; 2 38400 75
87 dw 57600/150 ; 3 57600 110
88 dw 11520/15 ; 4 115200 134.5
99 dw 19200/150 ;15 19200
105 db 1,stat0,0 ;Disable rx/tx interrupts
106 ;Enable baud rate generator
107 db 1,asext0,M_BRGMOD+M_DCD0DIS+M_CTS0DIS
109 init_br_off equ $ - initab0
111 db 1,cntlb0,M_MPBT ;No MP Mode, X16
112 db 1,cntla0,M_RE+M_TE+M_MOD2 ;Rx/Tx enable, 8N1
116 db 1,stat1,0 ;Disable rx/tx ints, disable CTS1
117 db 1,asext1,M_BRGMOD ;Enable baud rate generator
118 db 2,astc1l,low 3, high 3
119 db 1,cntlb1,M_MPBT ;No MP Mode, X16
120 db 1,cntla1,M_RE+M_TE+M_MOD2 ;Rx/Tx enable, 8N1
124 ;--------------------------------------------------------------
149 and a,M_OVRN+M_PERR+M_FE
165 and a,M_OVRN+M_PERR+M_FE