Browse Source

Correct the logical sequence of the Duo Dual UART ports

Make the first UART port detected be Channel A $78-$7F : CHSEL=1. ( logic 0 on the CHSEL selects the UART channel B while a logic 1 selects UART channel A. )
pull/392/head
b1ackmai1er 2 years ago
parent
commit
842a79ae5d
  1. 15
      Source/HBIOS/uart.asm

15
Source/HBIOS/uart.asm

@ -1163,6 +1163,13 @@ UART_CFG_MFP:
; DUAL UART CHANNEL A
.DB 0 ; DEVICE NUMBER (UPDATED DURING INIT)
.DB 0 ; UART TYPE
.DB UARTDBASE+8 ; IO PORT BASE (RBR, THR)
.DB UARTDBASE+8 + UART_LSR ; LINE STATUS PORT (LSR)
.DW UARTCFG ; LINE CONFIGURATION
.DW 0 ; SHOULD NEVER NEED INT HANDLER
; DUAL UART CHANNEL B
.DB 0 ; DEVICE NUMBER (UPDATED DURING INIT)
.DB 0 ; UART TYPE
.DB UARTDBASE ; IO PORT BASE (RBR, THR)
.DB UARTDBASE + UART_LSR ; LINE STATUS PORT (LSR)
.DW UARTCFG ; LINE CONFIGURATION
@ -1171,14 +1178,6 @@ UART_CFG_MFP:
.ECHO "UART: MODE=DUAL, IO="
.ECHO UARTDBASE+0
.ECHO "\n"
;
; DUAL UART CHANNEL B
.DB 0 ; DEVICE NUMBER (UPDATED DURING INIT)
.DB 0 ; UART TYPE
.DB UARTDBASE+8 ; IO PORT BASE (RBR, THR)
.DB UARTDBASE+8 + UART_LSR ; LINE STATUS PORT (LSR)
.DW UARTCFG ; LINE CONFIGURATION
.DW 0 ; SHOULD NEVER NEED INT HANDLER
;
.ECHO "UART: MODE=DUAL, IO="
.ECHO UARTDBASE+8

Loading…
Cancel
Save