[v1.2] MECB V9958 or V9938 VDP RGBS Video Card
[v1.2] MECB V9958 or V9938 VDP RGBS Video Card
Ever since creating my existing TMS9918 / TMS992x VDP Display Card, I've thought that I'd also like to play with the TMS's more capable successors, the V9938 and V9958 VDP's. Also known as the MSX-Video Display Processors.
The V9938 also greatly expands on the TMS9918 families capabilities, offering more display modes and twice the resolution.
Read all about it here: Minimalist Europe Card Bus (MECB) - V9938 or V9958 VDP RGBS Display Card
The V9938 also greatly expands on the TMS9918 families capabilities, offering more display modes and twice the resolution.
Read all about it here: Minimalist Europe Card Bus (MECB) - V9938 or V9958 VDP RGBS Display Card
Re: [v1.2] MECB V9958 / V9938 VDP RGBS Video Card
Awesome - ordered! 
LOL, perhaps a Z-80 based MSX clone in the works?
LOL, perhaps a Z-80 based MSX clone in the works?
Re: [v1.2] MECB V9958 / V9938 VDP RGBS Video Card
Thank you! I'll get onto your order before the next courier run.
It certainly does add to my motivation to get a Z80 based CPU up and running, finally.
Given that I've done a 6502 CreatiVision re-Creation, I think a Z80 ColecoVision would be a no-brainer, to start with.
Although I've never owned one, a MSX based system would also clearly be a nice goal, once we have a Z80 CPU to play with.
Re: [v1.2] MECB V9958 / V9938 VDP RGBS Video Card
I'd have to admit that I've never owned one (I don't think I've ever even seen one in real life) but they looked like pretty nice machines for the time. I've only ever played with one via MAME when I was exploring how to control one of the audio chips that they had - it had a fairly nice implementation of BASIC.
Re: [v1.2] MECB V9958 / V9938 VDP RGBS Video Card
Woohoo, worked first time. Testing under nitrOS9:
I'm pleasantly surprised that it worked, my chunky soldering iron and my poor eye-sight were really struggling with the transistors and the 9958 socket - those pin spaces are so small!
Hmm, for some reason my images are no longer showing up any more
I'm pleasantly surprised that it worked, my chunky soldering iron and my poor eye-sight were really struggling with the transistors and the 9958 socket - those pin spaces are so small!
Hmm, for some reason my images are no longer showing up any more
Last edited by epaell on Wed May 21, 2025 5:18 am, edited 1 time in total.
Re: [v1.2] MECB V9958 / V9938 VDP RGBS Video Card
Awesome!
Yes, the 1.77mm pitch 64 pin socket is a bit finer pitch than we're typically soldering. Glad it went okay!epaell wrote: Wed May 21, 2025 12:40 am I'm pleasantly surprised that it worked, my chunky soldering iron and my poor eye-sight were really struggling with the transistors and the 9958 socket - those pin spaces are so small!
With the transisters, I debated whether to use "lead-formed" package TO92, but since I'd previously used the straight leaded TO92 in the TMS9918 video interface (and we already had the 1.77mm pitch IC socket to deal with), I just decided to stick with straight-lead.
I've noticed my imgbly images are now broken also.epaell wrote: Wed May 21, 2025 12:40 am Hmm, for some reason my images are no longer showing up any more![]()
For recent pictures posted to the forum I now use the 'Attachments' option when editing the message (the tab below the message editing panel, beside the 'options' tab). As long as your image is sized below 256KiB, you should be good to have it hosted by the forum!
Re: [v1.2] MECB V9958 / V9938 VDP RGBS Video Card
I've updated the post with the image as an attachment - thanks for the hint!
Not to worry regarding the transistors/socket - it all worked out in the end (saved by a magnifying glass and a bit more checking with the multimeter when even that wasn't enough of a check).
I updated a VDP VRAM check program I wrote a while back to switch the memory banks on the 9958 and test all the memory (just with a few basic checks by writing constant values, incrementing values and a random number sequence). All those seem to check out OK.
I just played with converting a PNG image into the GGGRRRBB 8-bit colour format to see if I could load it up by hard coding the values in the compiled code. Unfortunately the S19 load kept stopping about halfway through (despite adding delays in the character and newline transmission) so when I ran my code it only loaded up about 1/3 of the image. At least I could verify that my nobbling of 24-bit colour to 8-bit colour worked OKish ... well, for the third of the image that loaded up (I specifically chose a difficult image - one with lots of different coloured flowers). I guess the better option would be to save the image in a file and read it via OS9 or FLEX routines ... but that would require more research to work out how to do that.
Not to worry regarding the transistors/socket - it all worked out in the end (saved by a magnifying glass and a bit more checking with the multimeter when even that wasn't enough of a check).
I updated a VDP VRAM check program I wrote a while back to switch the memory banks on the 9958 and test all the memory (just with a few basic checks by writing constant values, incrementing values and a random number sequence). All those seem to check out OK.
I just played with converting a PNG image into the GGGRRRBB 8-bit colour format to see if I could load it up by hard coding the values in the compiled code. Unfortunately the S19 load kept stopping about halfway through (despite adding delays in the character and newline transmission) so when I ran my code it only loaded up about 1/3 of the image. At least I could verify that my nobbling of 24-bit colour to 8-bit colour worked OKish ... well, for the third of the image that loaded up (I specifically chose a difficult image - one with lots of different coloured flowers). I guess the better option would be to save the image in a file and read it via OS9 or FLEX routines ... but that would require more research to work out how to do that.
Re: [v1.2] MECB V9958 / V9938 VDP RGBS Video Card
Looks awesome!epaell wrote: Wed May 21, 2025 5:30 am I've updated the post with the image as an attachment - thanks for the hint!
What clock speed / serial speed are you running?epaell wrote: Wed May 21, 2025 5:30 am ... Unfortunately the S19 load kept stopping about halfway through (despite adding delays in the character and newline transmission) so when I ran my code it only loaded up about 1/3 of the image.
I'm using TeraTerm @38400, and when using ASSIST09 I only have file transfer timeout issues when running at 1MHz.
Bumping up to 2MHz clock speed I haven't had any issues with bigger file transfers (also with zero delay settings per character / per line).
Re: [v1.2] MECB V9958 / V9938 VDP RGBS Video Card
I'm running with a 4.9 MHz clock (Hmm, not sure why I have that crystal in there - maybe I was testing how high it could go) ... now I'm wondering if it is something else because this was a really (REALLY) large file (filling much of the memory) and maybe it overwrote a section that is used by the system. Anyway, I found a snippet of code that shows how to open/read files under FLEX so maybe I'll try play with that a bit.
Re: [v1.2] MECB V9958 / V9938 VDP RGBS Video Card
I'm getting close. The colours are mostly right (at least ballpark accuracy). Though the reds seem a bit too red and the whites not quite white enough. I'm just not sure if it is my dodgy monitor, the RGB to HDMI conversion, something NQR in my software (conversion or display), or something NQR with the hardware.