|
|
|
@ -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 |
|
|
|
|