Browse Source

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.
pull/331/head v3.1.1-pre.190
Wayne Warthen 3 years ago
parent
commit
d2e1e5be4b
  1. 21
      Source/HBIOS/tms.asm
  2. 2
      Source/ver.inc
  3. 2
      Source/ver.lib

21
Source/HBIOS/tms.asm

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

2
Source/ver.inc

@ -2,4 +2,4 @@
#DEFINE RMN 1
#DEFINE RUP 1
#DEFINE RTP 0
#DEFINE BIOSVER "3.1.1-pre.189"
#DEFINE BIOSVER "3.1.1-pre.190"

2
Source/ver.lib

@ -3,5 +3,5 @@ rmn equ 1
rup equ 1
rtp equ 0
biosver macro
db "3.1.1-pre.189"
db "3.1.1-pre.190"
endm

Loading…
Cancel
Save