|
|
|
@ -120,7 +120,7 @@ TMS_CMDREG .EQU $A1 ; READ STATUS / WRITE REG SEL |
|
|
|
; |
|
|
|
DEVECHO ", IO=" |
|
|
|
DEVECHO TMS_DATREG |
|
|
|
#IF TMSTIMENABLE |
|
|
|
#IF (TMSTIMENABLE & (INTMODE > 0)) |
|
|
|
DEVECHO ", INTERRUPTS ENABLED" |
|
|
|
#ENDIF |
|
|
|
DEVECHO "\n" |
|
|
|
@ -268,17 +268,26 @@ TMS_INIT1: |
|
|
|
CALL NABUKB_INIT ; INITIALIZE NABU KEYBOARD DRIVER |
|
|
|
#ENDIF |
|
|
|
|
|
|
|
#IF (INTMODE == 1 & TMSTIMENABLE) |
|
|
|
#IF (TMSTIMENABLE & (INTMODE > 0)) |
|
|
|
; |
|
|
|
#IF (INTMODE == 1) |
|
|
|
; ADD IM1 INT CALL LIST ENTRY |
|
|
|
LD HL,TMS_TSTINT ; GET INT VECTOR |
|
|
|
CALL HB_ADDIM1 ; ADD TO IM1 CALL LIST |
|
|
|
|
|
|
|
#ELSE |
|
|
|
; INSTALL VECTOR |
|
|
|
LD HL,TMS_TSTINT |
|
|
|
LD (IVT(INT_VDP)),HL ; IVT INDEX |
|
|
|
#ENDIF |
|
|
|
; |
|
|
|
LD A, (TMS_INITVDU_REG_1) |
|
|
|
SET TMSINTEN,A ; SET INTERRUPT ENABLE BIT |
|
|
|
LD (TMS_INITVDU_REG_1),A |
|
|
|
LD C, TMSCTRL1 |
|
|
|
CALL TMS_SET |
|
|
|
; |
|
|
|
#ENDIF |
|
|
|
|
|
|
|
; |
|
|
|
; ADD OURSELVES TO VDA DISPATCH TABLE |
|
|
|
LD BC,TMS_FNTBL ; BC := FUNCTION TABLE ADDRESS |
|
|
|
@ -534,12 +543,14 @@ TMS_READ: |
|
|
|
;---------------------------------------------------------------------- |
|
|
|
; |
|
|
|
TMS_SET: |
|
|
|
HB_DI |
|
|
|
OUT (TMS_CMDREG),A ; WRITE IT |
|
|
|
TMS_IODELAY |
|
|
|
LD A,C ; GET THE DESIRED REGISTER |
|
|
|
OR $80 ; SET BIT 7 |
|
|
|
OUT (TMS_CMDREG),A ; SELECT THE DESIRED REGISTER |
|
|
|
TMS_IODELAY |
|
|
|
HB_EI |
|
|
|
RET |
|
|
|
; |
|
|
|
;---------------------------------------------------------------------- |
|
|
|
@ -551,12 +562,14 @@ TMS_SET: |
|
|
|
TMS_WR: |
|
|
|
#IF ((TMSMODE == TMSMODE_MSX9958) | (TMSMODE == TMSMODE_MBC) | (TMSMODE == TMSMODE_DUO) | (TMSMODE == TMSMODE_NABU80)) |
|
|
|
; CLEAR R#14 FOR V9958 |
|
|
|
HB_DI |
|
|
|
XOR A |
|
|
|
OUT (TMS_CMDREG), A |
|
|
|
TMS_IODELAY |
|
|
|
LD A, $80 | 14 |
|
|
|
OUT (TMS_CMDREG), A |
|
|
|
TMS_IODELAY |
|
|
|
HB_EI |
|
|
|
#ENDIF |
|
|
|
|
|
|
|
PUSH HL |
|
|
|
@ -566,12 +579,14 @@ TMS_WR: |
|
|
|
RET |
|
|
|
; |
|
|
|
TMS_RD: |
|
|
|
HB_DI |
|
|
|
LD A,L |
|
|
|
OUT (TMS_CMDREG),A |
|
|
|
TMS_IODELAY |
|
|
|
LD A,H |
|
|
|
OUT (TMS_CMDREG),A |
|
|
|
TMS_IODELAY |
|
|
|
HB_EI |
|
|
|
RET |
|
|
|
; |
|
|
|
;---------------------------------------------------------------------- |
|
|
|
@ -1045,7 +1060,7 @@ TMS_Z180IOX: |
|
|
|
; |
|
|
|
#ENDIF |
|
|
|
|
|
|
|
#IF (INTMODE == 1 & TMSTIMENABLE) |
|
|
|
#IF (TMSTIMENABLE & (INTMODE > 0)) |
|
|
|
TMS_TSTINT: |
|
|
|
IN A,(TMS_CMDREG) ; TEST FOR INT FLAG |
|
|
|
AND $80 |
|
|
|
|