mirror of
https://github.com/wwarthen/RomWBW.git
synced 2026-02-06 14:11:48 -06:00
ASCI Driver Interrupt Support
Also refactored XModem overlay
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -85,6 +85,8 @@ UARTMFP .EQU FALSE ; UART: AUTO-DETECT MF/PIC UART
|
||||
UART4 .EQU FALSE ; UART: AUTO-DETECT 4UART UART
|
||||
;
|
||||
ASCIENABLE .EQU FALSE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM)
|
||||
ASCI0CFG .EQU DEFSERCFG ; ASCI 0: SERIAL LINE CONFIG
|
||||
ASCI1CFG .EQU DEFSERCFG ; ASCI 1: SERIAL LINE CONFIG
|
||||
;
|
||||
ACIAENABLE .EQU FALSE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM)
|
||||
ACIADEBUG .EQU FALSE ; ACIA: ENABLE DEBUG OUTPUT
|
||||
|
||||
@@ -71,6 +71,8 @@ UARTMFP .EQU FALSE ; UART: AUTO-DETECT MF/PIC UART
|
||||
UART4 .EQU TRUE ; UART: AUTO-DETECT 4UART UART
|
||||
;
|
||||
ASCIENABLE .EQU TRUE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM)
|
||||
ASCI0CFG .EQU DEFSERCFG ; ASCI 0: SERIAL LINE CONFIG
|
||||
ASCI1CFG .EQU DEFSERCFG ; ASCI 1: SERIAL LINE CONFIG
|
||||
;
|
||||
ACIAENABLE .EQU FALSE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM)
|
||||
;
|
||||
|
||||
@@ -74,6 +74,8 @@ UARTMFP .EQU FALSE ; UART: AUTO-DETECT MF/PIC UART
|
||||
UART4 .EQU TRUE ; UART: AUTO-DETECT 4UART UART
|
||||
;
|
||||
ASCIENABLE .EQU TRUE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM)
|
||||
ASCI0CFG .EQU DEFSERCFG ; ASCI 0: SERIAL LINE CONFIG
|
||||
ASCI1CFG .EQU DEFSERCFG ; ASCI 1: SERIAL LINE CONFIG
|
||||
;
|
||||
ACIAENABLE .EQU FALSE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM)
|
||||
;
|
||||
|
||||
@@ -62,6 +62,8 @@ DSRTCCHG .EQU FALSE ; DSRTC: FORCE BATTERY CHARGE ON (USE WITH CAUTION!!!)
|
||||
UARTENABLE .EQU FALSE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
|
||||
;
|
||||
ASCIENABLE .EQU TRUE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM)
|
||||
ASCI0CFG .EQU DEFSERCFG ; ASCI 0: SERIAL LINE CONFIG
|
||||
ASCI1CFG .EQU DEFSERCFG ; ASCI 1: SERIAL LINE CONFIG
|
||||
;
|
||||
ACIAENABLE .EQU FALSE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM)
|
||||
;
|
||||
|
||||
@@ -57,6 +57,8 @@ DSRTCCHG .EQU FALSE ; DSRTC: FORCE BATTERY CHARGE ON (USE WITH CAUTION!!!)
|
||||
UARTENABLE .EQU FALSE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
|
||||
;
|
||||
ASCIENABLE .EQU TRUE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM)
|
||||
ASCI0CFG .EQU DEFSERCFG ; ASCI 0: SERIAL LINE CONFIG
|
||||
ASCI1CFG .EQU DEFSERCFG ; ASCI 1: SERIAL LINE CONFIG
|
||||
;
|
||||
ACIAENABLE .EQU FALSE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM)
|
||||
;
|
||||
|
||||
@@ -969,7 +969,7 @@ HB_START1: ; BNKCALL ARRIVES HERE, BUT NOW RUNNING IN RAM BANK
|
||||
; THIS CODE IS DERIVED FROM UNA BY JOHN COFFMAN
|
||||
;
|
||||
; 0: Z80
|
||||
; 1: Z80180 - ORIGINAL Z180 IDENTICAL TO HD64180
|
||||
; 1: Z80180 - ORIGINAL Z180 (EQUIVALENT TO HD64180)
|
||||
; 2: Z8S180 - ORIGINAL S-CLASS, REV. K, AKA SL1960, NO ASCI BRG
|
||||
; 3: Z8S180 - REVISED S-CLASS, REV. N, W/ ASCI BRG
|
||||
;
|
||||
@@ -992,8 +992,10 @@ HB_START1: ; BNKCALL ARRIVES HERE, BUT NOW RUNNING IN RAM BANK
|
||||
INC L ; FLAG Z8S180 REV K (SL1960) OR BETTER
|
||||
;
|
||||
; TEST FOR NEWER S-CLASS (REV N)
|
||||
; ON OLDER S-CLASS, ASCI TIME CONSTANT REG DOES NOT EXIST
|
||||
; AND WILL ALWYAS READ BACK AS $FF
|
||||
OUT0 (Z180_ASTC1L),D ; D = 0 AT THIS POINT
|
||||
IN0 A,(Z180_ASTC1L) ; COUNTER REG
|
||||
IN0 A,(Z180_ASTC1L) ; ASCI TIME CONSTANT REG
|
||||
INC A ; FF -> 0
|
||||
JR Z,HB_CPU1
|
||||
INC L ; FLAG Z8S180 REV N W/ ASCI BRG
|
||||
|
||||
@@ -92,8 +92,9 @@ CIODEV_PRPCON .EQU $30
|
||||
CIODEV_PPPCON .EQU $40
|
||||
CIODEV_SIO .EQU $50
|
||||
CIODEV_ACIA .EQU $60
|
||||
CIODEV_CONSOLE .EQU $D0
|
||||
CIODEV_PIO .EQU $70
|
||||
CIODEV_UF .EQU $80
|
||||
CIODEV_CONSOLE .EQU $D0
|
||||
;
|
||||
; SUB TYPES OF CHAR DEVICES
|
||||
;
|
||||
|
||||
@@ -134,15 +134,12 @@ SIO_PREINIT2:
|
||||
;
|
||||
#IF (INTMODE >= 1)
|
||||
; SETUP INT VECTORS AS APPROPRIATE
|
||||
LD A,(SIO_DEV) ; GET NEXT DEVICE NUM
|
||||
LD A,(SIO_DEV) ; GET DEVICE COUNT
|
||||
OR A ; SET FLAGS
|
||||
JR Z,SIO_PREINIT3 ; IF ZERO, NO SIO DEVICES, ABORT
|
||||
;
|
||||
#IF (INTMODE == 1)
|
||||
; ADD IM1 INT CALL LIST ENTRY
|
||||
LD A,(SIO_DEV) ; GET NEXT DEVICE NUM
|
||||
OR A ; SET FLAGS
|
||||
JR Z,SIO_PREINIT3 ; IF ZERO, NO SIO DEVICES
|
||||
LD HL,SIO_INT ; GET INT VECTOR
|
||||
CALL HB_ADDIM1 ; ADD TO IM1 CALL LIST
|
||||
#ENDIF
|
||||
@@ -214,7 +211,7 @@ SIO_INIT1:
|
||||
;
|
||||
#IF (INTMODE > 0)
|
||||
;
|
||||
; IM0 ENTRY POINT
|
||||
; IM1 ENTRY POINT
|
||||
;
|
||||
SIO_INT:
|
||||
; CHECK/HANDLE FIRST CARD (SIO0) IF IT EXISTS
|
||||
@@ -232,7 +229,7 @@ SIO_INT:
|
||||
;
|
||||
RET ; DONE
|
||||
;
|
||||
; IM1 ENTRY POINTS
|
||||
; IM2 ENTRY POINTS
|
||||
;
|
||||
SIO_INT0:
|
||||
; INTERRUPT HANDLER FOR FIRST SIO (SIO0)
|
||||
|
||||
@@ -149,7 +149,7 @@ UF_QUERY:
|
||||
; USB-FIFO WILL APPEAR AS A SERIAL DEVICE
|
||||
;
|
||||
UF_DEVICE:
|
||||
LD D,CIODEV_SIO ; D := DEVICE TYPE
|
||||
LD D,CIODEV_UF ; D := DEVICE TYPE
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
LD E,A ; E := PHYSICAL UNIT, ALWAYS 0
|
||||
LD C,A ; C := DEVICE TYPE, 0x00 IS RS-232
|
||||
|
||||
Reference in New Issue
Block a user