I wanted the PCB to fit into a modern chassis, so it would have to be a standard size. ATX is too big, mini-ITX is too small. How about DTX? It’s not that common, but it would give me room to use other chips (V9990, I’m talking to you).
But I’d have to make a choice: a VGA connector or a new slot with the Z380 signals? Both wouldn’t fit on a board that size.
After much thought (well, not that much), I ended up deciding on the new slot (“X-Slot” is a completely innovative name, don’t you think?). A 1994 MSX *might* already have a VGA connector, but it would certainly be better to have a slot with the BUSRQ and BUSAK signals.
So, all that was left was to choose the composite video generator chip. The Omega MSX uses the Sony CXA1645, but this component is no longer manufactured and, due to the project’s philosophy, couldn’t be used. I mean, I could have… after all, the PSG, the VDP, and the Z380 itself have already reached EOL. But in this case, there was an alternative still in production: the Analog Devices AD724 for a mere $15… :-/
Well, that’s that. A quick look at the datasheet, everything seems fine. I can use the VDP’s CSYNC signal as a sync source… I can choose between NTSC and PAL... I can use the 3.58 MHz clock because the chip has an internal PLL… okay, everything checks out.
“How hard can it be?”®
It turns out there’s a small detail in the datasheet: the input signal needs to be *interlaced*. And even though the V9958 is capable of generating an interlaced video signal, I don’t believe MSX action games were designed with that in mind.
In any case, it’s too late to change now.
It took me a while to figure out why there was no image on the monitor, even though I was measuring a video signal with the oscilloscope. And when you’ve been poring over a problem for a long time, you end up seeing ghosts.
After enabling interlacing generation in the VDP, things got a little better.

But only a little.
Marcellus Pereira
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.