diff --git a/Source/HBIOS/std.asm b/Source/HBIOS/std.asm index 97cf5cf7..761ba9c9 100644 --- a/Source/HBIOS/std.asm +++ b/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 diff --git a/Source/HBIOS/tms.asm b/Source/HBIOS/tms.asm index b8404122..7e45d12a 100644 --- a/Source/HBIOS/tms.asm +++ b/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