Awesome, thanks a lot Grauw! Also, thanks to Toni Galvez, I have located a Spanish MSX user that has MSX with VDPs from all three brands, and I will send him a ROM file to test this tonight. II'll report the results back
(Not sure if he has all three Toshiba variants of the VDP, but he'll test in what he has)
Be aware that later revisions of T6950 support s.c. hybrid modes
When I started coding Freedom Fighter I thinked to use Hybrid modes to speed up the scrolling. Then I discovered sprites cloning bug when mirroring tiles' patterns. So I thinked to mirror only colours, to avoid sprites bug but then discovered that mirroring was possible only on TMS msx1 vdp... And finally I gave up, just to have a full compatibility. But detectong vdp and start different versions is an Amazing idea!
Test program:
10 A=&HC000 20 READ V:IF V>=0 THEN POKE A,V:A=A+1:GOTO 20 30 DEFUSR=&HC000:U=USR(0) 40 DATA &HF3,&H3E,&H00,&HD3,&H99,&H3E,&H8F,&HD3,&H99,&HFB,&HC9,-1
It writes 0 to register 15. If the screen turns black, register 7 is mirrored.
Leo checked on his Expert DDPlus and the screen turned black. Still worth checking on other variants and with the other test program I reckon, but so far it does the same thing as the Texas Instruments VDP.
So no idea then what explains that difference with TI VDPs which crash when executing MSX2 software.
10 A=&HC000 20 READ V:IF V>=0 THEN POKE A,V:A=A+1:GOTO 20 30 DEFUSR=&HC000:U=USR(0) 40 DATA &HF3,&H3E,&H00,&HD3,&H99,&H3E,&H8F,&HD3,&H99,&HFB,&HC9,-1
It writes 0 to register 15. If the screen turns black, register 7 is mirrored.
I tested on the Toshiba HX-10DP and National CF2700. Only the border color turns black.
If only the border colour turns black then you were probably in screen 1 (Japanese system default). In screen 0 the entire screen would turn black.
But those systems don’t have a Toshiba VDP right?
If only the border colour turns black then you were probably in screen 1 (Japanese system default). In screen 0 the entire screen would turn black.
Right.
But those systems don’t have a Toshiba VDP right?
I think both have a TMS9918. I can not check because the heatsink.
So no idea then what explains that difference with TI VDPs which crash when executing MSX2 software.
I don't know if it's relevant or useful at all, but I clearly remember being able to run some MSX2 games on my old trusty Gradiente Expert 1.1 (I don't have it anymore, but I know it had a Texas VDP). Most crashed but a few just chugged along. I believe Aleste was one of these, but I'm not sure. If it was Aleste, then it was the MegaRAM conversion, not the original cartridge.
I think both have a TMS9918. I can not check because the heatsink.
Tip: no need to remove the heatsink. Just count the number of pins. If it has 40 pins it's a Texas VDP. But if it has 42 pins, it's a Toshiba T6950.
The only thing you won't know is the T6950 revision.
But the fact that it has a heatsink makes me suspect of a Texas VDP. I've never seen a T6950 VDP with a heatsink.
I know it's not the T6950 nor YM2220 nor V9998, but it can be the TMS9918, TMS9118, TMS9918A or TMS9918ANL.
