mirror of
https://github.com/wwarthen/RomWBW.git
synced 2026-02-06 14:11:48 -06:00
Enable ACIA on Interrupt Modes 2 & 3
ACIA driver will now allow use of the driver in interrupt modes 2 & 3, but will operate in polling mode.
This commit is contained in:
@@ -40,7 +40,7 @@ Z280_INTWAIT .SET 0 ; Z280: INT ACK WAIT STATUS (0-3)
|
||||
;
|
||||
Z2UENABLE .SET TRUE ; Z2U: ENABLE Z280 UART SERIAL DRIVER (Z2U.ASM)
|
||||
UARTENABLE .SET TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
|
||||
ACIAENABLE .SET FALSE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM)
|
||||
ACIAENABLE .SET TRUE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM)
|
||||
SIOENABLE .SET TRUE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM)
|
||||
;
|
||||
IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
|
||||
|
||||
@@ -57,11 +57,6 @@ ACIA_ACIA .EQU 1
|
||||
ACIA_RTSON .EQU %00000000 ; BIT MASK TO ASSERT RTS
|
||||
ACIA_RTSOFF .EQU %01000000 ; BIT MASK TO DEASSERT RTS
|
||||
;
|
||||
#IF (INTMODE > 1)
|
||||
.ECHO "*** ERROR: UNSUPPORTED INTMODE FOR ACIA DRIVER!!!\n"
|
||||
!!! ; FORCE AN ASSEMBLY ERROR
|
||||
#ENDIF
|
||||
;
|
||||
;
|
||||
;
|
||||
ACIA_PREINIT:
|
||||
@@ -119,11 +114,6 @@ ACIA_INITUNIT:
|
||||
LD H,(IY+9) ; ... INTO HL
|
||||
CALL HB_ADDIM1 ; ADD TO IM1 CALL LIST
|
||||
#ENDIF
|
||||
;
|
||||
#IF (INTMODE > 1)
|
||||
.ECHO "*** ERROR: ACIA DEVICE DOES NOT SUPPORT INTMODE 2!!!\n"
|
||||
!!! ; FORCE AN ASSEMBLY ERROR
|
||||
#ENDIF
|
||||
;
|
||||
; IT IS EASY TO SPECIFY A SERIAL CONFIG THAT CANNOT BE IMPLEMENTED
|
||||
; DUE TO THE CONSTRAINTS OF THE ACIA. HERE WE FORCE A GENERIC
|
||||
@@ -158,7 +148,7 @@ ACIA_INIT1:
|
||||
;
|
||||
; INTERRUPT HANDLERS
|
||||
;
|
||||
#IF (INTMODE == 0)
|
||||
#IF (INTMODE != 1)
|
||||
;
|
||||
; NO INTERRUPT HANDLERS UNDER INTMODE 0. GENERATE A PANIC
|
||||
; IF SOMETHING TRIES TO CALL THEM.
|
||||
@@ -169,7 +159,7 @@ ACIA1_INT:
|
||||
;
|
||||
#ENDIF
|
||||
;
|
||||
#IF (INTMODE > 0)
|
||||
#IF (INTMODE == 1)
|
||||
;
|
||||
ACIA0_INT:
|
||||
LD IY,ACIA0_CFG ; POINT TO ACIA0 CFG
|
||||
@@ -263,7 +253,7 @@ ACIA_FNTBL:
|
||||
;
|
||||
;
|
||||
;
|
||||
#IF (INTMODE == 0)
|
||||
#IF (INTMODE != 1)
|
||||
;
|
||||
ACIA_IN:
|
||||
CALL ACIA_IST ; CHAR WAITING?
|
||||
@@ -336,7 +326,7 @@ ACIA_OUT:
|
||||
;
|
||||
;
|
||||
;
|
||||
#IF (INTMODE == 0)
|
||||
#IF (INTMODE != 1)
|
||||
;
|
||||
ACIA_IST:
|
||||
LD C,(IY+3) ; STATUS PORT
|
||||
@@ -510,7 +500,7 @@ ACIA_INITSAFE:
|
||||
;
|
||||
ACIA_INITGO:
|
||||
;
|
||||
#IF (INTMODE > 0)
|
||||
#IF (INTMODE == 1)
|
||||
OR %10000000 ; ENABLE RCV INT
|
||||
#ENDIF
|
||||
;
|
||||
@@ -530,7 +520,7 @@ ACIA_INITGO:
|
||||
LD A,(ACIA_CMD) ; RESTORE CONFIG VALUE
|
||||
OUT (C),A ; DO IT
|
||||
;
|
||||
#IF (INTMODE > 0)
|
||||
#IF (INTMODE == 1)
|
||||
;
|
||||
; RESET THE RECEIVE BUFFER
|
||||
LD E,(IY+6)
|
||||
@@ -657,7 +647,7 @@ ACIA_STR_ACIA .DB "ACIA$"
|
||||
ACIA_DEV .DB 0 ; DEVICE NUM USED DURING INIT
|
||||
ACIA_CMD .DB 0 ; COMMAND PORT SHADOW REGISTER
|
||||
;
|
||||
#IF (INTMODE == 0)
|
||||
#IF (INTMODE != 1)
|
||||
;
|
||||
ACIA0_RCVBUF .EQU 0
|
||||
ACIA1_RCVBUF .EQU 0
|
||||
|
||||
@@ -2,4 +2,4 @@
|
||||
#DEFINE RMN 1
|
||||
#DEFINE RUP 1
|
||||
#DEFINE RTP 0
|
||||
#DEFINE BIOSVER "3.1.1-pre.38"
|
||||
#DEFINE BIOSVER "3.1.1-pre.39"
|
||||
|
||||
@@ -3,5 +3,5 @@ rmn equ 1
|
||||
rup equ 1
|
||||
rtp equ 0
|
||||
biosver macro
|
||||
db "3.1.1-pre.38"
|
||||
db "3.1.1-pre.39"
|
||||
endm
|
||||
|
||||
Reference in New Issue
Block a user