Browse Source

Update uart.asm

pull/224/head
b1ackmai1er 5 years ago
parent
commit
57380905f6
  1. 44
      Source/HBIOS/uart.asm

44
Source/HBIOS/uart.asm

@ -47,6 +47,12 @@ UART_EFR .EQU 2 ; LCR=$BF: ENHANCED FEATURE REG (READ/WRITE)
;UART_FIFO .EQU 0 ; FIFO ENABLE BIT
;UART_AFC .EQU 1 ; AUTO FLOW CONTROL ENABLE BIT
;
UARTSBASE .EQU $68
UARTCBASE .EQU $80
UARTMBASE .EQU $48
UART4BASE .EQU $C0
UARTRBASE .EQU $A0
;
#DEFINE UART_INP(RID) CALL UART_INP_IMP \ .DB RID
#DEFINE UART_OUTP(RID) CALL UART_OUTP_IMP \ .DB RID
;
@ -416,7 +422,7 @@ UART_DETECT2: ; PICK BETWEEN 16550A/C
;
UART_DETECT_NONE:
LD A,(IY + 2) ; BASE IO PORT
CP $68 ; IS THIS PRIMARY SBC PORT?
CP UARTSBASE ; IS THIS PRIMARY SBC PORT?
JR Z,UART_DETECT_8250 ; SPECIAL CASE FOR PRIMARY UART!
LD A,UART_NONE ; IF SO, TREAT AS 8250 NO MATTER WHAT
RET
@ -591,8 +597,8 @@ UART_CFG:
; SBC/ZETA ONBOARD SERIAL PORT
.DB 0 ; DEVICE NUMBER (UPDATED DURING INIT)
.DB 0 ; UART TYPE
.DB $68 ; IO PORT BASE (RBR, THR)
.DB $68 + UART_LSR ; LINE STATUS PORT (LSR)
.DB UARTSBASE ; IO PORT BASE (RBR, THR)
.DB UARTSBASE + UART_LSR ; LINE STATUS PORT (LSR)
.DW UARTCFG ; LINE CONFIGURATION
.FILL 2,$FF ; FILLER
#ENDIF
@ -600,8 +606,8 @@ UART_CFG:
; CASSETTE INTERFACE SERIAL PORT
.DB 0 ; DEVICE NUMBER (UPDATED DURING INIT)
.DB 0 ; UART TYPE
.DB $80 ; IO PORT BASE (RBR, THR)
.DB $80 + UART_LSR ; LINE STATUS PORT (LSR)
.DB UARTCBASE ; IO PORT BASE (RBR, THR)
.DB UARTCBASE + UART_LSR ; LINE STATUS PORT (LSR)
.DW UARTCASSPD ; LINE CONFIGURATION
.FILL 2,$FF ; FILLER
#ENDIF
@ -609,8 +615,8 @@ UART_CFG:
; MF/PIC SERIAL PORT
.DB 0 ; DEVICE NUMBER (UPDATED DURING INIT)
.DB 0 ; UART TYPE
.DB $48 ; IO PORT BASE (RBR, THR)
.DB $48 + UART_LSR ; LINE STATUS PORT (LSR)
.DB UARTMBASE ; IO PORT BASE (RBR, THR)
.DB UARTMBASE + UART_LSR ; LINE STATUS PORT (LSR)
.DW UARTCFG ; LINE CONFIGURATION
.FILL 2,$FF ; FILLER
#ENDIF
@ -618,29 +624,29 @@ UART_CFG:
; 4UART SERIAL PORT A
.DB 0 ; DEVICE NUMBER (UPDATED DURING INIT)
.DB 0 ; UART TYPE
.DB $C0 ; IO PORT BASE (RBR, THR)
.DB $C0 + UART_LSR ; LINE STATUS PORT (LSR)
.DB UART4BASE+0 ; IO PORT BASE (RBR, THR)
.DB UART4BASE+0 + UART_LSR ; LINE STATUS PORT (LSR)
.DW UARTCFG ; LINE CONFIGURATION
.FILL 2,$FF ; FILLER
; 4UART SERIAL PORT B
.DB 0 ; DEVICE NUMBER (UPDATED DURING INIT)
.DB 0 ; UART TYPE
.DB $C8 ; IO PORT BASE (RBR, THR)
.DB $C8 + UART_LSR ; LINE STATUS PORT (LSR)
.DB UART4BASE+8 ; IO PORT BASE (RBR, THR)
.DB UART4BASE+8 + UART_LSR ; LINE STATUS PORT (LSR)
.DW UARTCFG ; LINE CONFIGURATION
.FILL 2,$FF ; FILLER
; 4UART SERIAL PORT C
.DB 0 ; DEVICE NUMBER (UPDATED DURING INIT)
.DB 0 ; UART TYPE
.DB $D0 ; IO PORT BASE (RBR, THR)
.DB $D0 + UART_LSR ; LINE STATUS PORT (LSR)
.DB UART4BASE+16 ; IO PORT BASE (RBR, THR)
.DB UART4BASE+16 + UART_LSR ; LINE STATUS PORT (LSR)
.DW UARTCFG ; LINE CONFIGURATION
.FILL 2,$FF ; FILLER
; 4UART SERIAL PORT D
.DB 0 ; DEVICE NUMBER (UPDATED DURING INIT)
.DB 0 ; UART TYPE
.DB $D8 ; IO PORT BASE (RBR, THR)
.DB $D8 + UART_LSR ; LINE STATUS PORT (LSR)
.DB UART4BASE+24 ; IO PORT BASE (RBR, THR)
.DB UART4BASE+24 + UART_LSR ; LINE STATUS PORT (LSR)
.DW UARTCFG ; LINE CONFIGURATION
.FILL 2,$FF ; FILLER
#ENDIF
@ -648,15 +654,15 @@ UART_CFG:
; UARTRC SERIAL PORT A
.DB 0 ; DEVICE NUMBER (UPDATED DURING INIT)
.DB 0 ; UART TYPE
.DB $A0 ; IO PORT BASE (RBR, THR)
.DB $A0 + UART_LSR ; LINE STATUS PORT (LSR)
.DB UARTRBASE ; IO PORT BASE (RBR, THR)
.DB UARTRBASE + UART_LSR ; LINE STATUS PORT (LSR)
.DW UARTCFG ; LINE CONFIGURATION
.FILL 2,$FF ; FILLER
; UARTRC SERIAL PORT B
.DB 0 ; DEVICE NUMBER (UPDATED DURING INIT)
.DB 0 ; UART TYPE
.DB $A8 ; IO PORT BASE (RBR, THR)
.DB $A8 + UART_LSR ; LINE STATUS PORT (LSR)
.DB UARTRBASE+8 ; IO PORT BASE (RBR, THR)
.DB UARTRBASE+8 + UART_LSR ; LINE STATUS PORT (LSR)
.DW UARTCFG ; LINE CONFIGURATION
.FILL 2,$FF ; FILLER
#ENDIF

Loading…
Cancel
Save