More XModem Tuning

- Fix bug in USB-FIFO specific driver of XMX
- Tighten receive loop (now achieves 38400 baud w/o flow control on 4MHz CPU system)
This commit is contained in:
Wayne Warthen
2020-05-30 13:26:14 -07:00
parent 717ce95500
commit 08f40d88df
3 changed files with 9 additions and 3 deletions

View File

@@ -3497,6 +3497,12 @@ RECVDG: CALL GETCHR
CALL GETCHR
;
RECV: PUSH D ; Save 'DE' regs.
;
; [WBW] BEGIN: Check immediately for char pending to avoid delay
CALL RCVRDY ; Input from modem ready
JZ MCHAR ; Got the character
; [WBW] END
;
; [WBW] BEGIN: Use dynamic CPU speed
; MVI E,MHZ ; Get the clock speed
LDA CPUMHZ ; Get the clock speed

View File

@@ -281,7 +281,7 @@ RCVSCL DW 6600 ; RECV loop timeout scalar
UNIT DB 0 ; BIOS serial device unit number
BIOSBID DB 00H ; BIOS bank id
;
TAG DB "RomWBW, 23-May-2020$"
TAG DB "RomWBW, 30-May-2020$"
;
HB_LBL DB ", HBIOS FastPath$"
UB_LBL DB ", UNA UBIOS$"
@@ -776,8 +776,8 @@ UF_JPTBL:
; USB-FIFO initialization
;
UF_INIT:
LD HL,12000 ; Receive loop timeout scalar
LD (RCVSCL),HL ; ... for UART RCVRDY timing
LD DE,12000 ; Receive loop timeout scalar
LD (RCVSCL),DE ; ... for UART RCVRDY timing
;
LD A,L ; Get base I/O port address (data port)
LD (UF_SCDP),A ; Set data port in SENDR