Browse Source

UART Driver

- Fixed issue recently introduced that kept AFC from being enabled for '650 and '850 chips.
- Increase receive interrupt threshold to 8 which improves interrupt handler efficiency under stress.  Credit to Andrew Lynch.
pull/254/head
Wayne Warthen 4 years ago
parent
commit
017704172b
  1. 7
      Source/HBIOS/uart.asm
  2. 2
      Source/ver.inc
  3. 2
      Source/ver.lib

7
Source/HBIOS/uart.asm

@ -542,7 +542,10 @@ UART_INITDEV1A:
; SETUP FCR, BIT 5 IS KEPT ON EVEN THOUGH IT IS PROBABLY ; SETUP FCR, BIT 5 IS KEPT ON EVEN THOUGH IT IS PROBABLY
; IRRELEVANT BECAUSE IT ONLY APPLIES TO 750 AND DLAB IS ; IRRELEVANT BECAUSE IT ONLY APPLIES TO 750 AND DLAB IS
; NOW OFF, BUT DOESN'T HURT. ; NOW OFF, BUT DOESN'T HURT.
LD A,%00100111 ; FIFO ENABLE & RESET
; BITS 7-6 DEFINE THE FIFO RECEIVE INTERRUPT THRESHOLD. WE
; USE A VALUE 0F %01 FOR THESE BITS WHICH REDUCES THE
; FREQUENCY OF INTERRUPTS DURING HEAVY RECEIVE OPERATIONS.
LD A,%01100111 ; FIFO ENABLE & RESET
UART_OUTP(UART_FCR) ; DO IT UART_OUTP(UART_FCR) ; DO IT
; ;
; SETUP LCR FROM SECOND CONFIG BYTE ; SETUP LCR FROM SECOND CONFIG BYTE
@ -569,6 +572,7 @@ UART_INITDEV1B:
; ;
; TEST FOR EFR CAPABLE CHIPS ; TEST FOR EFR CAPABLE CHIPS
LD A,(IY+1) ; GET UART TYPE LD A,(IY+1) ; GET UART TYPE
AND $0F ; ISOLATE LOW NIBBLE
CP UART_16650 ; 16650? CP UART_16650 ; 16650?
JR Z,UART_INITDEV2 ; USE EFR REGISTER JR Z,UART_INITDEV2 ; USE EFR REGISTER
CP UART_16850 ; 16850? CP UART_16850 ; 16850?
@ -577,6 +581,7 @@ UART_INITDEV1B:
; ;
UART_INITDEV2: UART_INITDEV2:
; WE HAVE AN EFR CAPABLE CHIP, SET EFR REGISTER ; WE HAVE AN EFR CAPABLE CHIP, SET EFR REGISTER
; NOTE THAT AN EFR CAPABLE CHIP IMPLIES IT IS CAPABLE OF AFC!
UART_INP(UART_LCR) ; GET CURRENT LCR VALUE UART_INP(UART_LCR) ; GET CURRENT LCR VALUE
PUSH AF ; SAVE IT PUSH AF ; SAVE IT
LD A,$BF ; VALUE TO ACCESS EFR LD A,$BF ; VALUE TO ACCESS EFR

2
Source/ver.inc

@ -2,4 +2,4 @@
#DEFINE RMN 1 #DEFINE RMN 1
#DEFINE RUP 1 #DEFINE RUP 1
#DEFINE RTP 0 #DEFINE RTP 0
#DEFINE BIOSVER "3.1.1-pre.119"
#DEFINE BIOSVER "3.1.1-pre.120"

2
Source/ver.lib

@ -3,5 +3,5 @@ rmn equ 1
rup equ 1 rup equ 1
rtp equ 0 rtp equ 0
biosver macro biosver macro
db "3.1.1-pre.119"
db "3.1.1-pre.120"
endm endm

Loading…
Cancel
Save