NABU Stuff

- Implement Interrupt Mode 2 (Mode 1 is still default)
- Implement interrupt driven keyboard support
- Improve UART keyboard driver to support interrupt driven flow control
This commit is contained in:
Wayne Warthen
2024-05-10 11:13:34 -07:00
parent 2a6a3f36c2
commit e0414bca05
28 changed files with 221 additions and 115 deletions

View File

@@ -57,7 +57,14 @@ UART_CTSBAD .EQU 4 ; CTS STALL DETECTED
#IF (PLATFORM == PLT_DUO)
UARTSBASE .EQU $58
UARTDBASE .EQU $70
#ELSE
#ENDIF
;
#IF (PLATFORM == PLT_NABU)
UARTSBASE .EQU $48
UARTDBASE .EQU $80
#ENDIF
;
#IF ((PLATFORM != PLT_DUO) & (PLATFORM != PLT_NABU))
UARTSBASE .EQU $68
UARTDBASE .EQU $80
#ENDIF
@@ -67,7 +74,6 @@ UARTCBASE .EQU $80
UARTMBASE .EQU $18
UART4BASE .EQU $C0
UARTRBASE .EQU $A0
UARTNBASE .EQU $48
;
#IF (UARTINTS)
;
@@ -79,7 +85,6 @@ UART1_IVT .EQU IVT(INT_UART1)
#ENDIF
;
#ENDIF
;
#DEFINE UART_INP(RID) CALL UART_INP_IMP \ .DB RID
#DEFINE UART_OUTP(RID) CALL UART_OUTP_IMP \ .DB RID
@@ -1185,18 +1190,6 @@ UART_CFG_MFP:
DEVECHO "\n"
;
#ENDIF
#IF (UARTNABU)
.DB 0 ; DEVICE NUMBER (UPDATED DURING INIT)
.DB 0 ; UART TYPE
.DB UARTNBASE ; IO PORT BASE (RBR, THR)
.DB UARTNBASE + UART_LSR ; LINE STATUS PORT (LSR)
.DW UARTCFG ; LINE CONFIGURATION
.DW 0 ; SHOULD NEVER NEED INT HANDLER
;
DEVECHO "UART: MODE=NABU, IO="
DEVECHO UARTNBASE
DEVECHO "\n"
#ENDIF
;
UART_CNT .EQU ($ - UART_CFG) / 8
;