|
|
|
@ -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 |
|
|
|
|