TVout Colors

Probably a DAC of some sort so I needn't deal with the pseudo-DAC resistor network.

Probably a DAC of some sort

But how are you going to get the phasing of the sub-carrier correct?

You can't store the frame buffer in flash memory -- it's read-only.
baum, generating color composite video is just not going to happen on a $3 microcontroller.

Alright.

But how did those cheap plug-n-play pacman units do it?

Custom hardware

So something like an FPGA would be the way to go if I really wanted to do it?

Custom hardware

Yes, hardware designed for the purpose of generating video signals. The ATmega328 is not designed for that. It's a simple general purpose microcontroller.

there is this:

http://www.linusakesson.net/scene/phasor/index.php

OMG. That is awesome. Would any one who told me it was impossible like to comment on Linus' phasor?

:slight_smile:

I know about this demo and it is very impressive. It takes advantage of a particular feature of PAL, but is not possible with NTSC (North American TV standard). The memory constraints associated with storing an actual frame buffer (like if you were writing a game or something) are still real constraints. There are only 2K of SRAM in the Arduino.
Baum, if you think you can use these techniques to make a color version of TVout, then PLEASE do so! We'd all be very grateful! We aren't telling you not to try -- we are just informing you of the technology constraints that have made color frame buffer based composite output not possible. Prove us wrong by doing it!

particular feature of PAL

Please elaborate.

What is the difference between PAL and NTSC that makes color output possible?

Craft (his earlier demo) does color VGA and 4-channel sound on the 88:

http://www.linusakesson.net/scene/craft/index.php

I think the real answer for this is that to pull off color video -and- sound at the same time - you have to be an uber-demo coder like Mr. Akesson; this isn't going to happen on a 328 without pure AVR assembler coding, and lots of cycle counting (and code rearranging, etc). He likely isn't even using a frame buffer, for that matter (maybe a line buffer, like the Atari 2600 video chip).

Now - if somebody could build that code and burn a 328 (running at 20 MHz) and add some kind of interface to control it (then throw it all on a shield, of course) - then you'd have a good beginning of a nice video interface for the Arduino that went beyond the TVOut library...

:slight_smile:

Heh - just saw this one:

http://www.linusakesson.net/scene/bitbanger/index.php

ATtiny15 @ 1.6 MHz, 1K of flash, and 32 bytes of RAM!

VGA output (ok, 3 x 8 pixels - LOL - also "glitch video"), plus multi-channel sound...

I love the demoscene!

:slight_smile:

Please elaborate.

What is the difference between PAL and NTSC that makes color output possible?

Read about the project -- he explains it!
http://www.linusakesson.net/scene/phasor/index.php

OK. So without the coding know-how of Linus, I can not make TVout Color at stand. resolutions. but how about his ATtiny demo, for example 5 by 5 resolution with the Arduino? would this work? I would have much more time to render the frame.

would it be possible/difficult to convert the TVout lib into the VGAout lib?

it could be like this:
00 = R
01 = G
10 = B
11 = ?

Maybe. But I don't have any VGA monitors! :slight_smile: So is VERY small color resolution possible using a parallel DAC?

Would any one who told me it was impossible like to comment on Linus' phasor?

Did you look at the source?
Did it look much like an Arduino project?

No. But surely the arduino can do something low res, i.e. 5x5, using standard arduino programming?

But surely the arduino can do something low res, i.e. 5x5, using standard arduino programming?

He used a crystal chosen to be four times the colour sub-carrier frequency, and careful cycle-counted assembler to allow him to set the colours - why do you think lowering the resolution makes setting the colour any simpler?