Page 1 of 1

VIDEO interface question

Posted: Thu Dec 06, 2012 5:53 pm
by unebonnevie
Hi,

What an incredible project Kiwi is! I happen to find it when I was googling about the Yamaha V9958, which I bought a couple pieces from eBay last night. Btw, the I got five pieces of CXA2075M for $10 (USD) shipping included. That was awesome! I am looking to do a VERY simple project to start learning about the V9958 and the V9990. I am planning use the ATMEGA1284 micro-controller as my "CPU" and hook to the V9958. Write some code and see if there is video on the TV.

A couple questions on the Yamaha V99xx series.

1) I HAVE to connect DRAM to the IC to use as VRAM? Or do I have to use special VRAM chips, like the one that Kiwi does? I thought the V9958, for example, had a 128KB VRAM built-in?

2) Is there a graphic library for the V9990?

3) Are the crystal speed for the V9990 and the RGB encoder IC independent of the CPU's speed? I think these crystals are for NTSC generation? In other words, if I used my ATMEGA2184 at 20Mhz, it really shouldn't matter with the V9990 and RGB encoder's crystal speeds?


Thanks!

Re: VIDEO interface question

Posted: Thu Dec 06, 2012 9:21 pm
by simon
Hi Unebonnevie,

welcome! :)

unebonnevie wrote:Hi,

What an incredible project Kiwi is! I happen to find it when I was googling about the Yamaha V9958, which I bought a couple pieces from eBay last night. Btw, the I got five pieces of CXA2075M for $10 (USD) shipping included. That was awesome! I am looking to do a VERY simple project to start learning about the V9958 and the V9990. I am planning use the ATMEGA1284 micro-controller as my "CPU" and hook to the V9958. Write some code and see if there is video on the TV.


Great, another homebrewing project. :) I have some V9958 as well. I bought them before I knew about the V9990. I don't know the ATmega1284 but as long as it is fast enough to serve an 8 bit databus (the V9958 bus demandings) it should be possible. Recently I did a search for Kiwi's rare parts. There is a posting here about that: "Part suppliers". I found one distributor with better prices I have paid. :)

unebonnevie wrote:1) I HAVE to connect DRAM to the IC to use as VRAM? Or do I have to use special VRAM chips, like the one that Kiwi does? I thought the V9958, for example, had a 128KB VRAM built-in?

I never did anything with the V9958. I guess it uses normal DRAM. The V9990 uses dual-ported VRAM. For the V9958 it might be possible to do a hack for SRAM. There is a hack for the ZX Spectrum (which uses a TMS9918) which might help.
No there is no built-in RAM. You don't need to take care about timing and refresh but you should take care about a propper power supply for the DRAMs.

unebonnevie wrote:2) Is there a graphic library for the V9990?

Yes, there is Team Bomba's GFX9k Library. It is written in Z80 assembly for an MSX computer with GFX9k card.

unebonnevie wrote:3) Are the crystal speed for the V9990 and the RGB encoder IC independent of the CPU's speed? I think these crystals are for NTSC generation? In other words, if I used my ATMEGA2184 at 20Mhz, it really shouldn't matter with the V9990 and RGB encoder's crystal speeds?

Correct. This is what I did. But you should take a look at the VDPs datasheet. As long as you comply with it's CPU bus interface timing it should be ok.

Simon

Re: VIDEO interface question

Posted: Thu Dec 06, 2012 10:40 pm
by unebonnevie
On the DRAM part, the V9958 data sheet says the below in order. I take this means that the V9958 can have up to 12KB of DRAMs attached to it? Because the V9958 is able to display 512x424 resolution with 16 colors per pixel. This means the memory requirement for the video is at least ((512 * 424 * 4)/8)/1024=106KB, where '4' is four bits per pixel, thus, 16 colors, divided 8 to have the number of bytes, and divided by 1024 to get the number KBs. The data sheet is not very explicit. Also, I don't what kind of DRAM speed is acceptable; I take it's 100ns to 200ns speed.

• 16K byte ~ 128K byte usable for display memory.
• 16Kx1b, 16Kx4b, 64Kx1b and 64Kx4b DRAMs are useable.

Arrggg...I can't seem to find what's the max data bus speed is for the V9958 from the data sheet. Anyone knows?

One more question...Why does the RGB encoder need exactly the 4.433618Mhz crystal?

And thanks, Simon, for the responses to my questions. Kiwi is an awesome computer.

Re: VIDEO interface question

Posted: Fri Dec 07, 2012 9:51 am
by simon
unebonnevie wrote:On the DRAM part, the V9958 data sheet says the below in order. I take this means that the V9958 can have up to 12KB of DRAMs attached to it? Because the V9958 is able to display 512x424 resolution with 16 colors per pixel. This means the memory requirement for the video is at least ((512 * 424 * 4)/8)/1024=106KB, where '4' is four bits per pixel, thus, 16 colors, divided 8 to have the number of bytes, and divided by 1024 to get the number KBs. The data sheet is not very explicit. Also, I don't what kind of DRAM speed is acceptable; I take it's 100ns to 200ns speed.

• 16K byte ~ 128K byte usable for display memory.
• 16Kx1b, 16Kx4b, 64Kx1b and 64Kx4b DRAMs are useable.

You probably consider bitmapped graphics only. You should take a look in the V9958 or the V9938 datasheets for the possible screen modes. With 16K one would use tiled screen modes only...

unebonnevie wrote:Arrggg...I can't seem to find what's the max data bus speed is for the V9958 from the data sheet. Anyone knows?

The needed bus timing information can be found in the technical manual of the V9958.

unebonnevie wrote:One more question...Why does the RGB encoder need exactly the 4.433618Mhz crystal?

This is a good question. The 4.433618MHz is exactly the PAL subcarrier frequency. It is used by the RGB encoder to modulate a PAL composite video signal. The subcarrier oscillator should be changed to 3.579545MHz for an NTSC composite signal. Uhmm, this should be changeable for a next revision Kiwi. Thank you for this question! When using RGB this doesn't matter though...

unebonnevie wrote:And thanks, Simon, for the responses to my questions. Kiwi is an awesome computer.

Thank you! Maybe you should join us in the development of the next Kiwi. ;)

Simon

Re: VIDEO interface question

Posted: Fri Dec 07, 2012 6:46 pm
by unebonnevie
This is a good question. The 4.433618MHz is exactly the PAL subcarrier frequency. It is used by the RGB encoder to modulate a PAL composite video signal. The subcarrier oscillator should be changed to 3.579545MHz for an NTSC composite signal. Uhmm, this should be changeable for a next revision Kiwi. Thank you for this question! When using RGB this doesn't matter though...


A little more study...There is an OSC of 14.318Mhz connected to the MCKIN pin of the V9990. Is that for the PAL color burst?

Thank you! Maybe you should join us in the development of the next Kiwi.


Don't tempt me. :P Seriously, with the Kiwi, you can easily get a very senior development position at console companies like Nintendo, etc. I doubt if people at such companies know how to create the entire computer single-handedly like you did. I've seen a LOT of homebrewed computers on YouTube. By far, the Kiwi is the best in terms of a) completeness, b) chipsets, c) functionalities, and d) damn it works flawlessly! The Uzebox is a good contender, though, from the gaming perspective, but it's NOT a computer like the Kiwi.

Mass produce the Kiwi and sell it like hot cakes, my friend! "Computer for the mass!" as Jack Tramiel would say. :mrgreen:

I have handful of TI TMS4464 DRAM (64K × 4), which I can use for the V9958. 4 pcs would give me 128KB of video RAM.

I've looked left and right on your site, but can't seem to find the dimensions of the Kiwi.

Re: VIDEO interface question

Posted: Sat Dec 08, 2012 10:50 am
by simon
unebonnevie wrote:A little more study...There is an OSC of 14.318Mhz connected to the MCKIN pin of the V9990. Is that for the PAL color burst?

No, the two clock inputs for the V9990 are for generating the screen modes. The device doesn't know about color bursts. It just takes care about correct H-sync and V-sync and the video itself is output as RGB with it's syncs. You could generate NTSC screen mode timings but convert this signal into a PAL composite signal via the RGB encoder. As long as your monitor is accepting this signal, this will work.

unebonnevie wrote:
Thank you! Maybe you should join us in the development of the next Kiwi.


Don't tempt me. :P Seriously, with the Kiwi, you can easily get a very senior development position at console companies like Nintendo, etc. I doubt if people at such companies know how to create the entire computer single-handedly like you did. I've seen a LOT of homebrewed computers on YouTube. By far, the Kiwi is the best in terms of a) completeness, b) chipsets, c) functionalities, and d) damn it works flawlessly! The Uzebox is a good contender, though, from the gaming perspective, but it's NOT a computer like the Kiwi.

Thank you! But i doubt these companies are looking for more software side skills. :)
About Kiwi... This is what I was missing with other homebrew projects. The "easy to build" projects aren't really useful if you want more than just learing. Blinking lights aren't really useful... ;) The more advanced projects which are really useful are very integrated and modern. E.g. FPGA projects or the very cool RaspberryPi. I wanted both. This resulted in a higher chip count, bigger PCB and higher price. The advantage is I have real hardware parts I can see and touch so the Kiwi isn't a "black box". Some people told me, why I didn't use the MC68000 or even a bigger CPU. Well, for such a "retro" project it is pointless and doesn't make really sense because the most simple modern project would be faster. On the other side it simplifies the PCB layout significant by cutting the databus down from 16 to 8 lines.

unebonnevie wrote:Mass produce the Kiwi and sell it like hot cakes, my friend! "Computer for the mass!" as Jack Tramiel would say. :mrgreen:

I want to offer a kit next year. There are still some issues I will have to get rid of first though. Time will show if I can achieve this. Stay tuned. :)

unebonnevie wrote:I have handful of TI TMS4464 DRAM (64K × 4), which I can use for the V9958. 4 pcs would give me 128KB of video RAM.

Sounds good to me. Maybe you could reduce the needed parts with 64k x 8 DRAMs, but for testing I would use what I have.

unebonnevie wrote:I've looked left and right on your site, but can't seem to find the dimensions of the Kiwi.

With 34x22cm the PCB is rather big. This makes it expensive to produce just a few boards.

Simon

Re: VIDEO interface question

Posted: Fri Dec 14, 2012 12:54 am
by unebonnevie
simon wrote:
unebonnevie wrote:I have handful of TI TMS4464 DRAM (64K × 4), which I can use for the V9958. 4 pcs would give me 128KB of video RAM.

Sounds good to me. Maybe you could reduce the needed parts with 64k x 8 DRAMs, but for testing I would use what I have.


Very hard to find 64Kb x 8 DRAMs -- only 256K x 4, but that does not work with the V9958. I did find a bunch of 64K x 8 SRAM on ebay, though, at $3.00 (USD) per 12 pcs :) I also bought 10 TC524258 pcs at $2 (USD) per 5 pcs, just in case I have the V9990 someday!

Finally, I bought 24 pcs of NEC D41264C-12 5V 64Kx4 120ns DUAL‑PORT VIDEO DRAM GRAPHICS BUFFER DIP-24, at $3 (USD) per 8 pcs. These are perfect for the V9958 -- dual ports like the TC524258 but at lower density.

One more question on your video hardware. Do I really need to have the LM1881 if I only need to have the V9958/V9990 output composite signals (from the RGB encoder) into the TV?

Thanks!

P.S. Write a technical book on your Kiwi ;) It's way better than the xgamestation, which is sold for $199....URGGGG....

Re: VIDEO interface question

Posted: Fri Dec 14, 2012 2:10 pm
by simon
Where did you buy your parts? Maybe the source could be interesting for us?

simon wrote:One more question on your video hardware. Do I really need to have the LM1881 if I only need to have the V9958/V9990 output composite signals (from the RGB encoder) into the TV?


No, just feed the CSYNC coming from the VDP directly to the RGB encoder. I added the LM1881 just for completeness to provide and H-SYNC. E.g. if you wanted to use the VGA modes of the V9990...

Simon

Ps: Thank you! Well, time is a killer. I could quit my job and spend all the time with this project. I would love to but it doesn't make my living. :)

Re: VIDEO interface question

Posted: Fri Dec 14, 2012 9:04 pm
by unebonnevie
Where did you buy your parts? Maybe the source could be interesting for us?


On eBay :-) Just search for the parts I mentioned. I usually go to eBay and check for parts. Compare prices to digikey.com if possible. The problem with eBay is that, if you're lucky, you find the parts, and they could run out any time!

Ps: Thank you! Well, time is a killer. I could quit my job and spend all the time with this project. I would love to but it doesn't make my living.


You CAN do it :P One chapter at a time. I have a daytime job, 2 kids (one is 16 months old), etc., but I've managed to put out embedded products, selling them on eBay. This is how I found all the parts I mentioned, by the way. I do NOT sell those parts -- just to be clear here :) . True you don't make a lot of money, but that's b/c I don't have a killer hobby product like the kiwi, and it takes time to build things up.

Re: VIDEO interface question

Posted: Sun Dec 16, 2012 3:45 pm
by simon
unebonnevie wrote:On eBay :-) Just search for the parts I mentioned. I usually go to eBay and check for parts. Compare prices to digikey.com if possible. The problem with eBay is that, if you're lucky, you find the parts, and they could run out any time!


I bought some parts (including the V9990) from ebay too. For a small series production I would prefer a more reliable supplier though.

unebonnevie wrote:You CAN do it :P One chapter at a time. I have a daytime job, 2 kids (one is 16 months old), etc., but I've managed to put out embedded products, selling them on eBay. This is how I found all the parts I mentioned, by the way. I do NOT sell those parts -- just to be clear here :) . True you don't make a lot of money, but that's b/c I don't have a killer hobby product like the kiwi, and it takes time to build things up.


Yeah, this is true. One by one. I hope I can finish building the case until x-mas. My plans are to start working on the next hardware revision from the beginning of January. When there are more Kiwi users finally the project could grow faster. :) As I said you could join in the developing. There is enough to do. ;)

Simon