the problem with mixing two video signals outputs from two original 9958 is that, you can't make sure it be in sync all the time "about vertical & horizontal position", one of them can drift, if not working with the exact same oscilator cristal, so the idea of an external 9958 to be sync with the internal, is impossible.
also is the problem of it being in two different I/O, if vdp registers on both VDPs aren't setup at the exact same time, it will have unsyncronism from that point. Overal if the vdp registers are changed in about NTSC/PAL mode.
A mix of 9938 + 9958 as secondary is more doable, through the build-in superimpose feature, where one is conducted through the internal.
Superimposing two V9958 is as doable as any combination of V9938 and V9958, as both have external synchronization and superimposing capabilities (as for digitizing capabilities, but unfortunately there weren't produced support chips for the YJK video modes from the V9958). Actually, using a V9958 is easier than a V9938, as the later has some dual function pins on this part, you saying that makes me think that maybe people don't know about the actual capabilities of a V9958.
About external VDP synchronization, is as doable than having the two VDPs on the same board driven by the same clock source, because the MSX VDPs were projected having this feature on mind. So, even if you don't initializate both VDPs at the same time, that won't be a problem, there's a feature for syncrhonizing with external signals. A secondary VDP on a cartridge must allow external syncronization, and only the external VDP has to work on Superimpose configuration. Of course it doesn't gives you the full power of a dual VDP configuration, but it gives about 75-90%, which gives you more than a handful possibilities.
the problem with mixing two video signals outputs from two original 9958 is that, you can't make sure it be in sync all the time "about vertical & horizontal position", one of them can drift, if not working with the exact same oscilator cristal, so the idea of an external 9958 to be sync with the internal, is impossible.
Why impossible? Every genlock synchronizes its video source with the pixel clock (or subcarrier clock). This is the job for a decent PLL. And HSYNC and VSYNC can be extracted from the MSX video signal. VSYNC will be used just to assign zero to the horizontal line. However, your PLL has to sync to the external HSYNC and generate your cartridge VDP clock as following:
Fvdp_clk=Fhsync*1368 for progressive and
Fvdp_clk=Fhsync*1365 for interlaced modes.
For the external synchronization, you can see Genlock Schematics Instead of Elantec 4585, which produces 27.000 MHz, you need to put your own discrete PLL. For example, it could be based on 74HC4060 with the multiplication factors of 1368 and 1365. And then you will be perfectly in sync with MSX video. The VCO will be centered around the standard VDP frequency 21.4767 MHz. You need to consider the tuning range, phase noise and frequency stability to choose the appropriate VCO topology.
Otherwise, try using V7010 directly, however, it's a bit rare thing now days.
Also, you will need to switch 50Hz/60Hz, progressive/interlaced modes accordingly on your cartridge VDP. However, IMHO, there is no MSX software currently changing the modes on the line interrupt.
One more tip. I use the CPU_CLK from slot to lock directly to the VDP frequency. The problem with this solution is that in some computers CPU_CLK signal is not derived from the VDP clock. So, syncing to the external video seems like the most reliable solution.
Good luck.
Has anyone successfully made a dual video board ?? Either with two V9938s or Two V9958s ! Would be extremely interesting to see what graphics it is capable of !!
I think it is helpful that the dual V9958 feature is implemented as emulator, first.
Panasonic used Toshiba TC5081 PLL for genlocking. To generate V9938 clock a 74LS124 VCO is used, feed with the output from the TC5081 PLL. It outputs 21Mhz with varying cycle based on the input from the video source, making the V9938 be synchronous with the input signal...
FS-UV1 (Video Telopper) http://usbsecretbase.michikusa.jp/fs-uv1/
On the ASCII/SONY MSX Video chipset, this function is done by thr V7010 chip.
Making my own Homebrew Video board (with superimpose).
I'm currently working/toying with making a MSX type video board for a simple Z80 homebrew system . specs below
Z80 CPU (probably running at either 3.58Mhz or 7.16MHz)
32K SRAM
up to 32K ROM
YM2149 sound + SN76489
V99x8 VDP + CPLD
Joystick ports etc
The most complex part of this is the video board !
The video board will give ZX spectrum modes (256x192, 32x24 color grid) + 512x192 bitmapped , 64x24 color grid) and superimpose top MSX 2 modes from a V9938 or even a V9958.
I thought the best way to do superimpose would be to use a CPLD to generate a simple video output , this being synchronised with the HSYNC and VYSNC signals from the V99x8. This would Gen-Lock the two video displays, an important part in order to synchronise and use superimpose. The V99x8s YS signal would then switch between the two signals when the V99x8 is displaying 'Transparency' The CPLD would be configured to display 256x192 (ZX Spectrum mode) and 512 x 192 (64x24 color pattern) enhanced ZX Spectrum mode, VRAM would be a 16kx8bit Dual port SRAM IDT7006.
This would give ZX Spectrum modes and 512x192 mode plus MSX modes superimposed. I could then morph my basic homebrew design into a simple MSX Machine, ColecoVision or even a 48K Super ZX spectrum ! though that is clearly a long way off !!
My question is...Has anyone done anything similar and got it working ???
Rant: This site uses *HORRIBLE* forum software and should be ashamed of it. (lol)
repaired links: (I removed the prefix so the forum software don't ruin them again and the site works perfectly)
http://www.primrosebank.net/computers/mtx/projects/mtxplus/v...
http://www.primrosebank.net/computers/mtx/projects/mtxplus/v...
http://www.primrosebank.net/computers/mtx/projects/mtxplus/v...
http://www.primrosebank.net/computers/mtx/projects/mtxplus/v...
thanks for you appreciation. I repaired the links by...euhm... just posting the links.
thanks for you appreciation. I repaired the links by...euhm... just posting the links.
I'd like to note that I now regret the way I presented my criticism. The problems I have with the forum are constant but are minor behavioral issues which "get under my skin" frequently. And I'm done with the offtopic on this thread.
Please forgive me for such hash criticism, Snout.
no worries, l_oliveira, no hard feelings. Back on topic it is!