V9958/38 Video Module for RC2014/MSX
A complete kit to give your RC2014 the advanced graphic capabilities of the mid to late 80s. It based around the V9938 or V9958 Video Display Processor (VDP) which powered the MSX2/MSX2+ line of 8 bit Z80 computers.
The board can be configured to operate the V9938 or the V9958 processors.
This V9958 chip, was produced by Yamaha in the late 80s and was an update to the the V9938 chip, which was itself, a successor to TI’s TMS9918. The V9938/V9958 addressed many of the shortcomings of the original TMS9918.
The V9938 and V9958 are very similar in capability. See the relevant datasheets below to get some details of the differences.
Pin | Signal |
---|---|
1 | Red |
2 | Green |
3 | Blue |
4 | NC |
5-8, 10-11 | GND |
9, 12 | NC |
13 | CSync |
14,15 | NC |
Count | Name |
---|---|
2 | 22pF |
1 | 47pF |
10 | 0.1uF |
3 | 10uF |
1 | 10uF (LOW ESR) |
4 | 220uF |
3 | HEADERS 1x3 |
3 | SHUNT 1x2 |
1 | 5.6uH Inductor |
1 | 1N4148 Diode |
1 | 15-PIN DSUB |
3 | 2N3906 |
1 | 2N3904 |
6 | 10k Ω (3.4mm) |
3 | 12k Ω (3.4mm) |
3 | 27k Ω (3.4mm) |
1 | 4k7 Ω (3.4mm) |
1 | 2k2 Ω (3.4mm) |
7 | 1k Ω (3.4mm) |
1 | 470 Ω (3.4mm) |
8 | 100 Ω (3.4mm) |
1 | LM311N |
1 | ATF16V8 |
1 | V9958 or V9938 |
4 | 41464C |
1 | 21.47727MHz |
1 | Right Angle 20x2 Header |
1 | Right Angle 1x20 Header |
1 | 8 POS IC SOCKET |
4 | 18 POS IC SOCKET |
1 | 20 POS IC SOCKET |
1 | 64 POS IC SOCKET |
Count | Name |
---|---|
1 | V9938 or V9958 VDP |
4 | 41464C RAM |
You will want to think about how you plan to connect this board to your chosen monitor. The video signals produced by 80’s hardware is not trivial to connect to modern LCD monitors. For such monitors you will need a converter to upscale the output. Although VGA Monitors can accept a RGB signal, they are unlikely to support the lower frequency of 15Khz produced by these modules.
The RGBs module provides connection via the 15-pin DSUB/VGA connector. This output is well suited to connect via a VGA cable to a compatible HDMI/VGA up-converter that accepts a RGBs signal over the 15pin connection, such as the GBS-8200 or HD-VC9900 converters. For more information on the DSUB RGB/VGA see RetroRGB’s VGA article
The RetroRGB upscalers article has a good description for some of the converter options.
Items such as retroTink and OSSC are very high quality converters - but also have a decent price tag.
I have found the low cost arcade converters such as the GBS-8200 and HD-VC9900 converters produce excellent results. The upscalers can be acquired through the usual ebay, amazon and other sellers at very reasonable prices.
The GBS-8200 can also be easily modified to produce more customisable and higher quality output - again RetroRGB has it all explained at GBS Control
I have tested both V9958 and V9938 versions of the kit with the low cost GBS-8200 and HD-VC9900 upscalers. These have produced solid stable images for the respective VGA and HDMI output. They seem very tolerant of CSYNC voltage signal levels.
My recommendation is to use GBS-8200 or the HD-VC9900 upscalers. The quality is fine and I do most of my testing on these converters. Just google their codes and you will find the usual retailers/marketplaces (eg: ebay/amazon/aliexpress) have plenty of purchase options.
Other upscalers, such as the OSSC and retroTink may work, but I am unable to verify and confirm. Your milage may very. Adapter cables would need to be constructed.
I have not tested the unit on a real RGB CRT monitor.
For a base ROMWBW build you can find compatible demo apps in the apps-rc2014 directory on the github project site. They can be run under CP/M on a RC2014 system. The prebuilt binaries can be found in the bin directory.
For a MSX-DOS system, binaries for various apps and demos can be found in the github releases
The board uses the standard IO addresses for MSX systems.
The first 2 ports are identical as per the TMS9918 chip. The V9938/58 have additional ports to access higher functions.
Port | Description |
---|---|
$98 (r/w) | VRAM data |
$99 (w) | VDP register selection |
$99 (r) | Status register |
$9A | Palette access |
$9B | Indirect register access |
Have a look at the sample apps included in this repo apps-rc2014.
For specific details on programming the chip, I recommend:
Please note that due to the finer pitch pins of the V9958, the soldering of this board requires a little more finesse than the typical RC2014 through-hole based boards. If you have built a few boards already, then you should be fine. It’s recommended that a finer pitch soldering tip be used as it can be easy to accidentally bridge some of the pins.
Extra care needed when inserting the V9958 into its socket - there are lots of pins, take your time to avoid bending pins.
Extremely important to ensure the jumpers are in the correction position for your chosen Video Display Processor. Incorrect selection may result in damage to your video processor. See the silkscreen for the 2 relevant jumpers. Short the top 2 pins only for a V9958. Short the bottom 2 pins only for a V9938.
Please note that this is a kit, produced by a non-expert (me) for hackers, DIYers’ and retro lovers, to tinker with. Please exercise caution and follow good safety practices. You will be working with sharp knives, a hot soldering iron, and small metal components. Be mindful of the risks involved in the build process. I will do my best to answer any questions you may have.
This kit is provided as-is, with no guarantees or warranties. By assembling and using this kit, you acknowledge that you do so at your own risk. The creator cannot be held responsible for any damage, injury, or loss that may occur during the assembly or operation of this kit.