|
|
@ -182,9 +182,9 @@ TMS_PREINIT: |
|
|
; DISABLE INTERRUPT GENERATION UNTIL AFTER INTERRUPT HANDLER |
|
|
; DISABLE INTERRUPT GENERATION UNTIL AFTER INTERRUPT HANDLER |
|
|
; HAS BEEN INSTALLED. |
|
|
; HAS BEEN INSTALLED. |
|
|
LD A, (TMS_INITVDU_REG_1) |
|
|
LD A, (TMS_INITVDU_REG_1) |
|
|
RES TMSINTEN, A ; RESET INTERRUPT ENABLE BIT |
|
|
|
|
|
|
|
|
RES TMSINTEN, A ; RESET INTERRUPT ENABLE BIT |
|
|
LD (TMS_INITVDU_REG_1), A |
|
|
LD (TMS_INITVDU_REG_1), A |
|
|
LD C, TMSCTRL1 |
|
|
|
|
|
|
|
|
LD C, TMSCTRL1 |
|
|
JP TMS_SET |
|
|
JP TMS_SET |
|
|
; |
|
|
; |
|
|
TMS_INIT: |
|
|
TMS_INIT: |
|
|
@ -194,6 +194,7 @@ TMS_INIT: |
|
|
; |
|
|
; |
|
|
#IF ((TMSMODE == TMSMODE_SCG) | (TMSMODE == TMSMODE_MBC) | (TMSMODE == TMSMODE_DUO)) |
|
|
#IF ((TMSMODE == TMSMODE_SCG) | (TMSMODE == TMSMODE_MBC) | (TMSMODE == TMSMODE_DUO)) |
|
|
LD A,$FF |
|
|
LD A,$FF |
|
|
|
|
|
EZ80_IO |
|
|
OUT (TMS_ACR),A ; INIT AUX CONTROL REG |
|
|
OUT (TMS_ACR),A ; INIT AUX CONTROL REG |
|
|
#ENDIF |
|
|
#ENDIF |
|
|
; |
|
|
; |
|
|
@ -202,6 +203,7 @@ TMS_INIT: |
|
|
|
|
|
|
|
|
#IF ((TMSMODE == TMSMODE_MBC) | (TMSMODE == TMSMODE_DUO)) |
|
|
#IF ((TMSMODE == TMSMODE_MBC) | (TMSMODE == TMSMODE_DUO)) |
|
|
LD A,$FE |
|
|
LD A,$FE |
|
|
|
|
|
EZ80_IO |
|
|
OUT (TMS_ACR),A ; CLEAR VDP RESET |
|
|
OUT (TMS_ACR),A ; CLEAR VDP RESET |
|
|
#ENDIF |
|
|
#ENDIF |
|
|
; |
|
|
; |
|
|
@ -288,10 +290,12 @@ TMS_INIT1: |
|
|
#IF ((TMSMODE == TMSMODE_NABU40) | (TMSMODE == TMSMODE_NABU80)) |
|
|
#IF ((TMSMODE == TMSMODE_NABU40) | (TMSMODE == TMSMODE_NABU80)) |
|
|
; ENABLE VDP INTERRUPTS ON NABU INTERRUPT CONTROLLER |
|
|
; ENABLE VDP INTERRUPTS ON NABU INTERRUPT CONTROLLER |
|
|
LD A,14 ; PSG R14 (PORT A DATA) |
|
|
LD A,14 ; PSG R14 (PORT A DATA) |
|
|
|
|
|
EZ80_IO |
|
|
OUT (NABU_RSEL),A ; SELECT IT |
|
|
OUT (NABU_RSEL),A ; SELECT IT |
|
|
LD A,(NABU_CTLVAL) ; GET NABU CTL PORT SHADOW REG |
|
|
LD A,(NABU_CTLVAL) ; GET NABU CTL PORT SHADOW REG |
|
|
SET 4,A ; ENABLE VDP INTERRUPTS |
|
|
SET 4,A ; ENABLE VDP INTERRUPTS |
|
|
LD (NABU_CTLVAL),A ; UPDATE SHADOW REG |
|
|
LD (NABU_CTLVAL),A ; UPDATE SHADOW REG |
|
|
|
|
|
EZ80_IO |
|
|
OUT (NABU_RDAT),A ; WRITE TO HARDWARE |
|
|
OUT (NABU_RDAT),A ; WRITE TO HARDWARE |
|
|
#ENDIF |
|
|
#ENDIF |
|
|
; |
|
|
; |
|
|
@ -551,10 +555,12 @@ TMS_READ: |
|
|
; |
|
|
; |
|
|
TMS_SET: |
|
|
TMS_SET: |
|
|
HB_DI |
|
|
HB_DI |
|
|
|
|
|
EZ80_IO |
|
|
OUT (TMS_CMDREG),A ; WRITE IT |
|
|
OUT (TMS_CMDREG),A ; WRITE IT |
|
|
TMS_IODELAY |
|
|
TMS_IODELAY |
|
|
LD A,C ; GET THE DESIRED REGISTER |
|
|
LD A,C ; GET THE DESIRED REGISTER |
|
|
OR $80 ; SET BIT 7 |
|
|
OR $80 ; SET BIT 7 |
|
|
|
|
|
EZ80_IO |
|
|
OUT (TMS_CMDREG),A ; SELECT THE DESIRED REGISTER |
|
|
OUT (TMS_CMDREG),A ; SELECT THE DESIRED REGISTER |
|
|
TMS_IODELAY |
|
|
TMS_IODELAY |
|
|
HB_EI |
|
|
HB_EI |
|
|
@ -568,13 +574,15 @@ TMS_SET: |
|
|
; |
|
|
; |
|
|
TMS_WR: |
|
|
TMS_WR: |
|
|
#IF ((TMSMODE == TMSMODE_MSX9958) | (TMSMODE == TMSMODE_MBC) | (TMSMODE == TMSMODE_DUO) | (TMSMODE == TMSMODE_NABU80)) |
|
|
#IF ((TMSMODE == TMSMODE_MSX9958) | (TMSMODE == TMSMODE_MBC) | (TMSMODE == TMSMODE_DUO) | (TMSMODE == TMSMODE_NABU80)) |
|
|
; CLEAR R#14 FOR V9958 |
|
|
|
|
|
|
|
|
; CLEAR R#14 FOR V9958 |
|
|
HB_DI |
|
|
HB_DI |
|
|
XOR A |
|
|
|
|
|
OUT (TMS_CMDREG), A |
|
|
|
|
|
|
|
|
XOR A |
|
|
|
|
|
EZ80_IO |
|
|
|
|
|
OUT (TMS_CMDREG), A |
|
|
TMS_IODELAY |
|
|
TMS_IODELAY |
|
|
LD A, $80 | 14 |
|
|
|
|
|
OUT (TMS_CMDREG), A |
|
|
|
|
|
|
|
|
LD A, $80 | 14 |
|
|
|
|
|
EZ80_IO |
|
|
|
|
|
OUT (TMS_CMDREG), A |
|
|
TMS_IODELAY |
|
|
TMS_IODELAY |
|
|
HB_EI |
|
|
HB_EI |
|
|
#ENDIF |
|
|
#ENDIF |
|
|
@ -588,9 +596,11 @@ TMS_WR: |
|
|
TMS_RD: |
|
|
TMS_RD: |
|
|
HB_DI |
|
|
HB_DI |
|
|
LD A,L |
|
|
LD A,L |
|
|
|
|
|
EZ80_IO |
|
|
OUT (TMS_CMDREG),A |
|
|
OUT (TMS_CMDREG),A |
|
|
TMS_IODELAY |
|
|
TMS_IODELAY |
|
|
LD A,H |
|
|
LD A,H |
|
|
|
|
|
EZ80_IO |
|
|
OUT (TMS_CMDREG),A |
|
|
OUT (TMS_CMDREG),A |
|
|
TMS_IODELAY |
|
|
TMS_IODELAY |
|
|
HB_EI |
|
|
HB_EI |
|
|
@ -608,10 +618,12 @@ TMS_PROBE: |
|
|
CALL TMS_WR |
|
|
CALL TMS_WR |
|
|
; WRITE TEST PATTERN TO FIRST TWO BYTES |
|
|
; WRITE TEST PATTERN TO FIRST TWO BYTES |
|
|
LD A,$A5 ; FIRST BYTE |
|
|
LD A,$A5 ; FIRST BYTE |
|
|
|
|
|
EZ80_IO |
|
|
OUT (TMS_DATREG),A ; OUTPUT |
|
|
OUT (TMS_DATREG),A ; OUTPUT |
|
|
;TMS_IODELAY ; DELAY |
|
|
;TMS_IODELAY ; DELAY |
|
|
CALL DLY64 ; DELAY |
|
|
CALL DLY64 ; DELAY |
|
|
CPL ; COMPLEMENT ACCUM |
|
|
CPL ; COMPLEMENT ACCUM |
|
|
|
|
|
EZ80_IO |
|
|
OUT (TMS_DATREG),A ; SECOND BYTE |
|
|
OUT (TMS_DATREG),A ; SECOND BYTE |
|
|
;TMS_IODELAY ; DELAY |
|
|
;TMS_IODELAY ; DELAY |
|
|
CALL DLY64 ; DELAY |
|
|
CALL DLY64 ; DELAY |
|
|
@ -621,11 +633,13 @@ TMS_PROBE: |
|
|
CALL TMS_RD |
|
|
CALL TMS_RD |
|
|
; READ TEST PATTERN |
|
|
; READ TEST PATTERN |
|
|
LD C,$A5 ; VALUE TO EXPECT |
|
|
LD C,$A5 ; VALUE TO EXPECT |
|
|
|
|
|
EZ80_IO |
|
|
IN A,(TMS_DATREG) ; READ FIRST BYTE |
|
|
IN A,(TMS_DATREG) ; READ FIRST BYTE |
|
|
;TMS_IODELAY ; DELAY |
|
|
;TMS_IODELAY ; DELAY |
|
|
CALL DLY64 ; DELAY |
|
|
CALL DLY64 ; DELAY |
|
|
CP C ; COMPARE |
|
|
CP C ; COMPARE |
|
|
RET NZ ; RETURN ON MISCOMPARE |
|
|
RET NZ ; RETURN ON MISCOMPARE |
|
|
|
|
|
EZ80_IO |
|
|
IN A,(TMS_DATREG) ; READ SECOND BYTE |
|
|
IN A,(TMS_DATREG) ; READ SECOND BYTE |
|
|
;TMS_IODELAY ; DELAY |
|
|
;TMS_IODELAY ; DELAY |
|
|
CALL DLY64 ; DELAY |
|
|
CALL DLY64 ; DELAY |
|
|
@ -646,6 +660,7 @@ TMS_CRTINIT: |
|
|
LD DE,$4000 ; 16KB |
|
|
LD DE,$4000 ; 16KB |
|
|
TMS_CRTINIT1: |
|
|
TMS_CRTINIT1: |
|
|
XOR A |
|
|
XOR A |
|
|
|
|
|
EZ80_IO |
|
|
OUT (TMS_DATREG),A |
|
|
OUT (TMS_DATREG),A |
|
|
TMS_IODELAY ; DELAY |
|
|
TMS_IODELAY ; DELAY |
|
|
DEC DE |
|
|
DEC DE |
|
|
@ -672,7 +687,7 @@ TMS_CRTINIT2: |
|
|
LD A,%00000100 ; ONLY WTE BIT SET |
|
|
LD A,%00000100 ; ONLY WTE BIT SET |
|
|
CALL TMS_SET ; DO IT |
|
|
CALL TMS_SET ; DO IT |
|
|
#ENDIF |
|
|
#ENDIF |
|
|
RET |
|
|
|
|
|
|
|
|
RET |
|
|
; |
|
|
; |
|
|
;---------------------------------------------------------------------- |
|
|
;---------------------------------------------------------------------- |
|
|
; CLEAR SCREEN AND HOME CURSOR |
|
|
; CLEAR SCREEN AND HOME CURSOR |
|
|
@ -730,6 +745,7 @@ TMS_LOADFONT: |
|
|
LD DE,TMS_FNTSIZE |
|
|
LD DE,TMS_FNTSIZE |
|
|
TMS_LOADFONT1: |
|
|
TMS_LOADFONT1: |
|
|
LD A,(HL) |
|
|
LD A,(HL) |
|
|
|
|
|
EZ80_IO |
|
|
OUT (TMS_DATREG),A |
|
|
OUT (TMS_DATREG),A |
|
|
TMS_IODELAY ; DELAY |
|
|
TMS_IODELAY ; DELAY |
|
|
INC HL |
|
|
INC HL |
|
|
@ -766,11 +782,13 @@ TMS_SETCUR: |
|
|
PUSH DE ; PRESERVE DE |
|
|
PUSH DE ; PRESERVE DE |
|
|
LD HL,(TMS_POS) ; GET CURSOR POSITION |
|
|
LD HL,(TMS_POS) ; GET CURSOR POSITION |
|
|
CALL TMS_RD ; SETUP TO READ VDU BUF |
|
|
CALL TMS_RD ; SETUP TO READ VDU BUF |
|
|
|
|
|
EZ80_IO |
|
|
IN A,(TMS_DATREG) ; GET REAL CHAR UNDER CURSOR |
|
|
IN A,(TMS_DATREG) ; GET REAL CHAR UNDER CURSOR |
|
|
TMS_IODELAY ; DELAY |
|
|
TMS_IODELAY ; DELAY |
|
|
PUSH AF ; SAVE THE CHARACTER |
|
|
PUSH AF ; SAVE THE CHARACTER |
|
|
CALL TMS_WR ; SETUP TO WRITE TO THE SAME PLACE |
|
|
CALL TMS_WR ; SETUP TO WRITE TO THE SAME PLACE |
|
|
LD A,$FF ; REPLACE REAL CHAR WITH 255 |
|
|
LD A,$FF ; REPLACE REAL CHAR WITH 255 |
|
|
|
|
|
EZ80_IO |
|
|
OUT (TMS_DATREG),A ; DO IT |
|
|
OUT (TMS_DATREG),A ; DO IT |
|
|
TMS_IODELAY ; DELAY |
|
|
TMS_IODELAY ; DELAY |
|
|
POP AF ; RECOVER THE REAL CHARACTER |
|
|
POP AF ; RECOVER THE REAL CHARACTER |
|
|
@ -794,6 +812,7 @@ TMS_SETCUR0: ; MULT BY 8 FOR FONT INDEX |
|
|
LD B,8 ; 8 BYTES |
|
|
LD B,8 ; 8 BYTES |
|
|
LD HL,TMS_BUF ; INTO BUFFER |
|
|
LD HL,TMS_BUF ; INTO BUFFER |
|
|
TMS_SETCUR1: ; READ GLYPH LOOP |
|
|
TMS_SETCUR1: ; READ GLYPH LOOP |
|
|
|
|
|
EZ80_IO |
|
|
IN A,(TMS_DATREG) ; GET NEXT BYTE |
|
|
IN A,(TMS_DATREG) ; GET NEXT BYTE |
|
|
TMS_IODELAY ; IO DELAY |
|
|
TMS_IODELAY ; IO DELAY |
|
|
LD (HL),A ; SAVE VALUE IN BUF |
|
|
LD (HL),A ; SAVE VALUE IN BUF |
|
|
@ -809,6 +828,7 @@ TMS_SETCUR2: ; WRITE INVERTED GLYPH LOOP |
|
|
LD A,(HL) ; GET THE BYTE |
|
|
LD A,(HL) ; GET THE BYTE |
|
|
INC HL ; BUMP THE BUF POINTER |
|
|
INC HL ; BUMP THE BUF POINTER |
|
|
XOR $FF ; INVERT THE VALUE |
|
|
XOR $FF ; INVERT THE VALUE |
|
|
|
|
|
EZ80_IO |
|
|
OUT (TMS_DATREG),A ; WRITE IT TO VDU |
|
|
OUT (TMS_DATREG),A ; WRITE IT TO VDU |
|
|
TMS_IODELAY ; IO DELAY |
|
|
TMS_IODELAY ; IO DELAY |
|
|
DJNZ TMS_SETCUR2 ; LOOP FOR ALL 8 BYTES OF GLYPH |
|
|
DJNZ TMS_SETCUR2 ; LOOP FOR ALL 8 BYTES OF GLYPH |
|
|
@ -825,6 +845,7 @@ TMS_CLRCUR: ; REMOVE VIRTUAL CURSOR FROM SCREEN |
|
|
LD HL,(TMS_POS) ; POINT TO CURRENT CURSOR POS |
|
|
LD HL,(TMS_POS) ; POINT TO CURRENT CURSOR POS |
|
|
CALL TMS_WR ; SET UP TO WRITE TO VDU |
|
|
CALL TMS_WR ; SET UP TO WRITE TO VDU |
|
|
LD A,(TMS_CURSAV) ; GET THE REAL CHARACTER |
|
|
LD A,(TMS_CURSAV) ; GET THE REAL CHARACTER |
|
|
|
|
|
EZ80_IO |
|
|
OUT (TMS_DATREG),A ; WRITE IT |
|
|
OUT (TMS_DATREG),A ; WRITE IT |
|
|
TMS_IODELAY ; IO DELAY |
|
|
TMS_IODELAY ; IO DELAY |
|
|
POP HL ; RECOVER HL |
|
|
POP HL ; RECOVER HL |
|
|
@ -864,6 +885,7 @@ TMS_PUTCHAR: |
|
|
LD HL,(TMS_POS) ; LOAD CURRENT POSITION INTO HL |
|
|
LD HL,(TMS_POS) ; LOAD CURRENT POSITION INTO HL |
|
|
CALL TMS_WR ; SET THE WRITE ADDRESS |
|
|
CALL TMS_WR ; SET THE WRITE ADDRESS |
|
|
POP AF ; RECOVER CHARACTER TO WRITE |
|
|
POP AF ; RECOVER CHARACTER TO WRITE |
|
|
|
|
|
EZ80_IO |
|
|
OUT (TMS_DATREG),A ; WRITE THE CHARACTER |
|
|
OUT (TMS_DATREG),A ; WRITE THE CHARACTER |
|
|
TMS_IODELAY |
|
|
TMS_IODELAY |
|
|
LD HL,(TMS_POS) ; LOAD CURRENT POSITION INTO HL |
|
|
LD HL,(TMS_POS) ; LOAD CURRENT POSITION INTO HL |
|
|
@ -885,6 +907,7 @@ TMS_FILL: |
|
|
; |
|
|
; |
|
|
TMS_FILL1: |
|
|
TMS_FILL1: |
|
|
LD A,C ; RECOVER CHARACTER TO WRITE |
|
|
LD A,C ; RECOVER CHARACTER TO WRITE |
|
|
|
|
|
EZ80_IO |
|
|
OUT (TMS_DATREG),A |
|
|
OUT (TMS_DATREG),A |
|
|
TMS_IODELAY |
|
|
TMS_IODELAY |
|
|
DEC DE |
|
|
DEC DE |
|
|
@ -910,6 +933,7 @@ TMS_SCROLL0: ; READ LINE THAT IS ONE PAST CURRENT DESTINATION |
|
|
LD DE,TMS_BUF |
|
|
LD DE,TMS_BUF |
|
|
LD B,TMS_COLS |
|
|
LD B,TMS_COLS |
|
|
TMS_SCROLL1: |
|
|
TMS_SCROLL1: |
|
|
|
|
|
EZ80_IO |
|
|
IN A,(TMS_DATREG) |
|
|
IN A,(TMS_DATREG) |
|
|
TMS_IODELAY |
|
|
TMS_IODELAY |
|
|
LD (DE),A |
|
|
LD (DE),A |
|
|
@ -923,6 +947,7 @@ TMS_SCROLL1: |
|
|
LD B,TMS_COLS |
|
|
LD B,TMS_COLS |
|
|
TMS_SCROLL2: |
|
|
TMS_SCROLL2: |
|
|
LD A,(DE) |
|
|
LD A,(DE) |
|
|
|
|
|
EZ80_IO |
|
|
OUT (TMS_DATREG),A |
|
|
OUT (TMS_DATREG),A |
|
|
TMS_IODELAY |
|
|
TMS_IODELAY |
|
|
INC DE |
|
|
INC DE |
|
|
@ -939,6 +964,7 @@ TMS_SCROLL2: |
|
|
LD A,' ' |
|
|
LD A,' ' |
|
|
LD B,TMS_COLS |
|
|
LD B,TMS_COLS |
|
|
TMS_SCROLL3: |
|
|
TMS_SCROLL3: |
|
|
|
|
|
EZ80_IO |
|
|
OUT (TMS_DATREG),A |
|
|
OUT (TMS_DATREG),A |
|
|
TMS_IODELAY |
|
|
TMS_IODELAY |
|
|
DJNZ TMS_SCROLL3 |
|
|
DJNZ TMS_SCROLL3 |
|
|
@ -963,6 +989,7 @@ TMS_RSCROLL0: ; READ THE LINE THAT IS ONE PRIOR TO CURRENT DESTINATION |
|
|
LD DE,TMS_BUF ; POINT TO BUFFER |
|
|
LD DE,TMS_BUF ; POINT TO BUFFER |
|
|
LD B,TMS_COLS ; LOOP FOR EACH COLUMN |
|
|
LD B,TMS_COLS ; LOOP FOR EACH COLUMN |
|
|
TMS_RSCROLL1: |
|
|
TMS_RSCROLL1: |
|
|
|
|
|
EZ80_IO |
|
|
IN A,(TMS_DATREG) ; GET THE CHAR |
|
|
IN A,(TMS_DATREG) ; GET THE CHAR |
|
|
TMS_IODELAY ; RECOVER |
|
|
TMS_IODELAY ; RECOVER |
|
|
LD (DE),A ; SAVE IN BUFFER |
|
|
LD (DE),A ; SAVE IN BUFFER |
|
|
@ -976,6 +1003,7 @@ TMS_RSCROLL1: |
|
|
LD B,TMS_COLS ; INIT LOOP COUNTER |
|
|
LD B,TMS_COLS ; INIT LOOP COUNTER |
|
|
TMS_RSCROLL2: |
|
|
TMS_RSCROLL2: |
|
|
LD A,(DE) ; LOAD THE CHAR |
|
|
LD A,(DE) ; LOAD THE CHAR |
|
|
|
|
|
EZ80_IO |
|
|
OUT (TMS_DATREG),A ; WRITE TO SCREEN |
|
|
OUT (TMS_DATREG),A ; WRITE TO SCREEN |
|
|
TMS_IODELAY ; DELAY |
|
|
TMS_IODELAY ; DELAY |
|
|
INC DE ; BUMP BUF POINTER |
|
|
INC DE ; BUMP BUF POINTER |
|
|
@ -992,6 +1020,7 @@ TMS_RSCROLL2: |
|
|
LD A,' ' |
|
|
LD A,' ' |
|
|
LD B,TMS_COLS |
|
|
LD B,TMS_COLS |
|
|
TMS_RSCROLL3: |
|
|
TMS_RSCROLL3: |
|
|
|
|
|
EZ80_IO |
|
|
OUT (TMS_DATREG),A |
|
|
OUT (TMS_DATREG),A |
|
|
TMS_IODELAY |
|
|
TMS_IODELAY |
|
|
DJNZ TMS_RSCROLL3 |
|
|
DJNZ TMS_RSCROLL3 |
|
|
@ -1013,6 +1042,7 @@ TMS_BLKCPY1: |
|
|
LD DE,TMS_BUF ; POINT TO BUFFER |
|
|
LD DE,TMS_BUF ; POINT TO BUFFER |
|
|
LD B,C |
|
|
LD B,C |
|
|
TMS_BLKCPY2: |
|
|
TMS_BLKCPY2: |
|
|
|
|
|
EZ80_IO |
|
|
IN A,(TMS_DATREG) ; GET THE NEXT BYTE |
|
|
IN A,(TMS_DATREG) ; GET THE NEXT BYTE |
|
|
TMS_IODELAY ; DELAY |
|
|
TMS_IODELAY ; DELAY |
|
|
LD (DE),A ; SAVE IN BUFFER |
|
|
LD (DE),A ; SAVE IN BUFFER |
|
|
@ -1027,6 +1057,7 @@ TMS_BLKCPY2: |
|
|
LD B,C |
|
|
LD B,C |
|
|
TMS_BLKCPY3: |
|
|
TMS_BLKCPY3: |
|
|
LD A,(DE) ; GET THE CHAR FROM BUFFER |
|
|
LD A,(DE) ; GET THE CHAR FROM BUFFER |
|
|
|
|
|
EZ80_IO |
|
|
OUT (TMS_DATREG),A ; WRITE TO VDU |
|
|
OUT (TMS_DATREG),A ; WRITE TO VDU |
|
|
TMS_IODELAY ; DELAY |
|
|
TMS_IODELAY ; DELAY |
|
|
INC DE ; BUMP BUF PTR |
|
|
INC DE ; BUMP BUF PTR |
|
|
@ -1069,7 +1100,8 @@ TMS_Z180IOX: |
|
|
|
|
|
|
|
|
#IF (TMSTIMENABLE & (INTMODE > 0)) |
|
|
#IF (TMSTIMENABLE & (INTMODE > 0)) |
|
|
TMS_TSTINT: |
|
|
TMS_TSTINT: |
|
|
IN A,(TMS_CMDREG) ; TEST FOR INT FLAG |
|
|
|
|
|
|
|
|
EZ80_IO |
|
|
|
|
|
IN A,(TMS_CMDREG) ; TEST FOR INT FLAG |
|
|
AND $80 |
|
|
AND $80 |
|
|
JR NZ,TMS_INTHNDL |
|
|
JR NZ,TMS_INTHNDL |
|
|
AND $00 ; RETURN Z - NOT HANDLED |
|
|
AND $00 ; RETURN Z - NOT HANDLED |
|
|
|