Enable WAIT Signal for 9958 Video

Credit to Alan Cox.  This seems to allow a 9958 video chip to run with a Z180 without added wait states.
This commit is contained in:
Wayne Warthen
2023-01-08 18:41:49 -08:00
parent 2271c086b5
commit d2e1e5be4b
3 changed files with 19 additions and 6 deletions

View File

@@ -475,21 +475,27 @@ TMS_PROBE:
; WRITE TEST PATTERN TO FIRST TWO BYTES
LD A,$A5 ; FIRST BYTE
OUT (TMS_DATREG),A ; OUTPUT
TMS_IODELAY ; DELAY
;TMS_IODELAY ; DELAY
CALL DLY64 ; DELAY
CPL ; COMPLEMENT ACCUM
OUT (TMS_DATREG),A ; SECOND BYTE
TMS_IODELAY ; DELAY
;TMS_IODELAY ; DELAY
CALL DLY64 ; DELAY
; SET READ ADDRESS TO $0
LD HL,0
CALL TMS_RD
; READ TEST PATTERN
LD C,$A5 ; VALUE TO EXPECT
IN A,(TMS_DATREG) ; READ FIRST BYTE
TMS_IODELAY ; DELAY
;CALL PRTHEXBYTE
;TMS_IODELAY ; DELAY
CALL DLY64 ; DELAY
CP C ; COMPARE
RET NZ ; RETURN ON MISCOMPARE
IN A,(TMS_DATREG) ; READ SECOND BYTE
TMS_IODELAY ; DELAY
;CALL PRTHEXBYTE
;TMS_IODELAY ; DELAY
CALL DLY64 ; DELAY
CPL ; COMPLEMENT IT
CP C ; COMPARE
RET ; RETURN WITH RESULT IN Z
@@ -524,6 +530,13 @@ TMS_CRTINIT2:
INC HL ; POINT TO NEXT VALUE
INC C ; POINT TO NEXT REGISTER
DJNZ TMS_CRTINIT2 ; LOOP
;
; ENABLE WAIT SIGNAL IF 9938/58
#IF ((TMSMODE == TMSMODE_MSX9958) | (TMSMODE == TMSMODE_MBC))
LD C,25 ; REGISTER 25
LD A,%00000100 ; ONLY WTE BIT SET
CALL TMS_SET ; DO IT
#ENDIF
RET
;
;----------------------------------------------------------------------