|
|
|
@ -24,6 +24,22 @@ SIO_SIO .EQU 1 |
|
|
|
SIO_RTSON .EQU $EA |
|
|
|
SIO_RTSOFF .EQU $E8 |
|
|
|
; |
|
|
|
#IF (INTMODE == 2) |
|
|
|
; |
|
|
|
#IF ((PLATFORM == PLT_N8) | (PLATFORM == PLT_MK4) | (PLATFORM == PLT_RCZ180)) |
|
|
|
SIO0_IVT .EQU HB_IVT0D |
|
|
|
SIO1_IVT .EQU HB_IVT0E |
|
|
|
SIO0_VEC .EQU IVT_SER2 |
|
|
|
SIO1_VEC .EQU IVT_SER3 |
|
|
|
#ELSE |
|
|
|
SIO0_IVT .EQU HB_IVT07 |
|
|
|
SIO1_IVT .EQU HB_IVT08 |
|
|
|
SIO0_VEC .EQU IVT_SER0 |
|
|
|
SIO1_VEC .EQU IVT_SER1 |
|
|
|
#ENDIF |
|
|
|
; |
|
|
|
#ENDIF |
|
|
|
; |
|
|
|
#IF (SIO0MODE == SIOMODE_RC) |
|
|
|
SIO0A_CMD .EQU SIO0BASE + $00 |
|
|
|
SIO0A_DAT .EQU SIO0BASE + $01 |
|
|
|
@ -46,10 +62,10 @@ SIO0B_DAT .EQU SIO0BASE + $05 |
|
|
|
#ENDIF |
|
|
|
; |
|
|
|
#IF (SIO0MODE == SIOMODE_EZZ80) |
|
|
|
SIO0A_CMD .EQU SIO1BASE + $01 |
|
|
|
SIO0A_DAT .EQU SIO1BASE + $00 |
|
|
|
SIO0B_CMD .EQU SIO1BASE + $03 |
|
|
|
SIO0B_DAT .EQU SIO1BASE + $02 |
|
|
|
SIO0A_CMD .EQU SIO0BASE + $01 |
|
|
|
SIO0A_DAT .EQU SIO0BASE + $00 |
|
|
|
SIO0B_CMD .EQU SIO0BASE + $03 |
|
|
|
SIO0B_DAT .EQU SIO0BASE + $02 |
|
|
|
#ENDIF |
|
|
|
; |
|
|
|
#IF (SIOCNT >= 2) |
|
|
|
@ -139,11 +155,11 @@ SIO_PREINIT2: |
|
|
|
#IF (INTMODE == 2) |
|
|
|
; SETUP IM2 VECTORS |
|
|
|
LD HL,SIO_INT0 |
|
|
|
LD (HB_IVT07 + 1),HL ; IVT INDEX 7 |
|
|
|
LD (SIO0_IVT + 1),HL ; IVT INDEX |
|
|
|
; |
|
|
|
#IF (SIOCNT >= 2) |
|
|
|
LD HL,SIO_INT1 |
|
|
|
LD (HB_IVT08 + 1),HL ; IVT INDEX 8 |
|
|
|
LD (SIO1_IVT + 1),HL ; IVT INDEX |
|
|
|
#ENDIF |
|
|
|
; |
|
|
|
#ENDIF |
|
|
|
@ -581,9 +597,9 @@ BROK: |
|
|
|
#IF (INTMODE == 2) |
|
|
|
LD A,(IY+2) ; CHIP / CHANNEL |
|
|
|
SRL A ; SHIFT AWAY CHANNEL BIT |
|
|
|
LD E,IVT_SER0 ; ASSUME CHIP 0 |
|
|
|
LD E,SIO0_VEC ; ASSUME CHIP 0 |
|
|
|
JR Z,SIO_IVT1 ; IF SO, DO IT |
|
|
|
LD E,IVT_SER1 ; ASSUME CHIP 1 |
|
|
|
LD E,SIO1_VEC ; ASSUME CHIP 1 |
|
|
|
DEC A ; CHIP 1? |
|
|
|
JR Z,SIO_IVT1 ; IF SO, TO IT |
|
|
|
CALL PANIC ; IMPOSSIBLE SITUATION |
|
|
|
|