Browse Source

tms: re-activated vram detection for V99x8 chips only

pull/656/head
Dean Netherton 4 days ago
parent
commit
6c0c59bdfd
  1. 8
      Source/HBIOS/std.asm
  2. 31
      Source/HBIOS/tms.asm

8
Source/HBIOS/std.asm

@ -315,6 +315,14 @@ TMSMODE_NABU .EQU 9 ; NABU
TMSMODE_MSXUKY .EQU 10 ; STD MSX PORTS + USB KEYBOARD
TMSMODE_N8PC .EQU 11 ; N8 BUILT-IN VIDEO + PS2 KEYBOARD
;
; TMS DRIVER VDP TYPES
;
TMSVDP_TMS9918 .EQU 0 ; TMS9918A
TMSVDP_V9938 .EQU 1 ; YAMAHA V9938 VDP (WITH 64K TO 192K VRAM)
TMSVDP_V9958 .EQU 2 ; YAMAHA V9958 VDP (WITH 64K TO 192K VRAM)
TMSVDP_SUPER .EQU 3 ; FPGA V9958 MODULE WITH EXTENSIONS
TMSVDP_F18A .EQU 4 ; MSX FPGA TMS9918 REPLACEMENT
;
; CVDU VIDEO MODE SELECTIONS
;
CVDUMODE_NONE .EQU 0

31
Source/HBIOS/tms.asm

@ -357,11 +357,26 @@ TMS_INIT1:
CALL TMS_CRTINIT ; SETUP THE TMS/V99x8 CHIP REGISTERS
TMS_INIT2:
JR TMS_INIT3 ; SKIPPING THIS FOR NOW...
; ONLY DO VRAM DETECTION FOR V99X8 (NOT THE TMS OR F18A)
CALL PRTSTRD
LD A, (TMS_ATTRIB)
OR A
JR Z, TMS_INIT3 ; SKIP VRAM PROBE FOR TMS9918x
CP TMSVDP_F18A
JR Z, TMS_INIT3 ; SKIP VRAM PROBE FOR F18A
CALL PRTSTRD
.TEXT " VRAM=$"
CP TMSVDP_SUPER ; SUPER HAS 1MB OF VRAM, NO NEED TO PROBE IT
JR NZ, TMS_INIT2A
CALL PRTSTRD
.TEXT "1MB$"
JR TMS_INIT3
TMS_INIT2A:
CALL TMS_VRMPRB
DEC A
@ -841,13 +856,13 @@ TMS_GETTYP:
;
; RETURN THE IDENTIFIED CHIP ID
JR Z, TMS_ISV9938
CP 2
CP TMSVDP_V9958
RET Z ; RETURN 2 FOR V9958
LD A, 3
LD A, TMSVDP_SUPER
RET ; RETURN 3 FOR SUPER V9958
TMS_ISV9938:
INC A ; RETURN 1 FOR V9938
INC A ; RETURN 1 (TMSVDP_V9938)
RET
TMS_ISF18A:
@ -894,7 +909,7 @@ TMS_ISF18A:
; WE DON'T BOTHER TO RESET THE STATUS REGISTER SELECTION OR
; RELOCK BECAUSE THIS IS NOT AN F18A!
XOR A ; CHIP ID FOR 9918A
XOR A ; CHIP ID FOR 9918A (TMSVDP_TMS9918)
RET ; NOT F18A: A=0
TMS_ISF18A1:
@ -914,7 +929,7 @@ TMS_ISF18A1:
EZ80_IO
OUT (TMS_CMDREG),A
;
LD A,4 ; F18A: A=4
LD A, TMSVDP_F18A ; F18A: A=4
RET
;
@ -1542,7 +1557,7 @@ TMS_STRF18A .TEXT "F18A$"
; ANSI-->TMS Color Conversion Table
TMS_COLOR_TBL .DB $01,$08,$02,$0A,$04,$06,$0C,$0F,$0E,$09,$03,$0B,$05,$0D,$07,$0F
;
TMS_ATTRIB .DW 0 ; VDA DEVICE ATTRIBUTES (VDP_ID,VRAM,FREQ)
TMS_ATTRIB .DW 0 ; VDA DEVICE ATTRIBUTES (VDP_ID,VRAM,FREQ) (TMSVDP_xxxx)
;
;==================================================================================================
; TMS DRIVER - INSTANCE DATA

Loading…
Cancel
Save