Most likely the 75Ω input impedance of your TV-Monitor has attenuated the magnitude of the video signal ..
If the monitor has a switch that selects between High-Impedance and 75Ω, set it to High-Impedance ..
Otherwise you will need a buffer ..
Attached is an example of a single BJT unity gain amplifier/buffer ..
I have the same problem which is B&W picture and so far couldn't get any answer even from this source:
**broken link removed**
I still hope that someone can help us to solve this puzzle: why I(we) can't generate colour picture?
Try to “play” with the load capacitors around the 17.734MHz crystal ..
For example, connect 100pF (or even more) to pin 4 (XTAL2) and 47pF to pin 5 (XTAL1) ..
First of all, if you intend to do this job properly you should use the second version of software that has implemented all required elements of a video frame, that is, H-sync, V-sync, equalizations and all that stuff ..
Secondly, to produce single-colour screen you have to program the microcontroller to continuously generate colour carrier for the duration of whole horizontal line ..
This will require a lot of instructions (see code - 4 OUT instuctions form one cycle) with no other operation(s) in between ..
Code:
color_carrier:
out portd,up_color
out portd,one
out portd,down_color
out portd,one
...
If you can, do your homework and calculate how many of these cycles is needed to fill one horizontal line and how this is related to the size of the AT90S2313's program memory, in other words, will the complete code fit into it, or not ..
The AT90S2313 has "only" 2k of program memory and it is NOT big enough for this application (blue screen) ..
I recon it could be done if the program memory were somewhere close to 4k ..