Extended Video Hardware
Mike Popoloski
Posts: 10
Well, I just about finished designing my own game console system (seems like everyone is doing it nowadays) and I have a few extra I/O pins on the Propeller left open, as well as the EEPROM and Programming pins in case I need more. I was wondering if there was a way to add extra hardware to these pins to help increase the amount of colors that can be output to the TV screen (NTSC). I saw a project on these boards that had a dedicated Propeller as a graphics chip, and there was extra hardware attached to help generate colors. I was wondering if anyone could provide some more information on this topic, and maybe give some advice on how to spend my extra ports.
Comments
---
Edit: PropGFX that's a completely independent hardware approach. You can "duplicate" some oft hat, but need a separate "color generation chip" anyway. Baggers/Coley use much (most?) of the processor power of their separate Propeller to drive their video.
Post Edited (deSilva) : 1/9/2008 12:28:19 AM GMT
I wonder deSilva if he is thinking about the PropGXF project being worked on by Baggers and Coley at present. Gosh feel like a person on a desert Island as can not provide any Parallax links to this from here. There is an external site www.propgfx.co.uk/forum/Blah.pl with some details of the work being done by them.
I hope this is of some help.
With regards
Mike.
Extra I/O will not help the situation because NTSC encodes the color information via the phase of the signal.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Paul Baker
Propeller Applications Engineer
Parallax, Inc.
An interesting link: http://www.rickard.gunee.com/projects/video/sx/howto.php
-Phil
If you're thinking of something like the PropGFX, but doing you're own RGB with extra hardware, and you're doing it yourself,
You'll need a good few IO pins free depending on how many bits you want for rgb, + sync + probably 2 for clock and pal/ntsc switch
If you're using a device like AD724, unless you're using a real clock, not generating one. propgfx is 15bits for RGB 1 for sync and two for clock + pal/ntsc so 18 pins was used for PropGFX,
How many io's do you have spare?
Jim.
and clock out luma bytes at 14_318181 Mhz? (3.57954545 Mhz x 4)
Seems to me you'd have an RGBYRGBYRGBY like sequence with almost a longful of possible colors
diverse enough to apparently not be missing any, based on 256 luminances (incl sync levels) per primary color phase.
Can the Prop Video generators send 14 MBps out the VGA port?
Lets ignore the memory limit and assume the cogs are busy at full speed with a clever video synth demo,
like a colorful tunnel zoom.
The limit of the video logic is the time it needs to deliver data (see the last chapter of my Machine Language Tutorial for examples).
In 4-color mode you can output 4 different bytes per LONG, using the sequence $11_10_01_00
which means you have to deliver a WAITVID each 260 ns, which are 5 instructions, one of them being the WAITVID itself.
I see not much chance for one COG alone... it will need a god sync of at least 2 COGs to display something useful...
four quadrants of the color subcarrier, and produce predictable mixing, such as red and green make yellow,
green and blue make cyan...
(I'm talking about generating full color NTSC in VGA mode of the cog video generator)
this is how NTSC works except for a minor difference in phase which could be corrected,
which is that the phases are called +I,+Q,-I,and -Q, which are close to RGBY but not quite,
I think "+I" maybe the colorburst which looks green if its in phase on the screen, and "-I" is very orange.
This won't be a problem though since you can still get all the same colors even without changing from
colorburst sync (and I and Q) to RGBY phases.
Whether you call this artifacting or not it doesn't matter the results are the same.
I and Q mix together to make a correct color wheel because sin(x)+cos(x)=1... a circle of radius=one.
Same as X squared plus Y squared = circle of R squared for all X,Y, and R.
In other words, Full Color NTSC, not limited to four hues but all points in between.
R represents Saturation, ATN(X/Y) or ATN(I/Q) represents Hue,
and the numbers actually transmitted are the Luminances of the 4 certainly-combined hues.