hoglet67 / RGBtoHDMI

Bare-metal Raspberry Pi project that provides pixel-perfect sampling of Retro Computer RGB/YUV video and conversion to HDMI
GNU General Public License v3.0
840 stars 115 forks source link

Composite out on Raspberry pi's with composite out 3.5mm jacks. #239

Open qbancoffee opened 3 years ago

qbancoffee commented 3 years ago

I know this seems like an odd feature request but it can't hurt to ask.....

So I have a bunch of raspberry pi's lying around of varying models and they all have composite out. This is something I have used in the past to add a touch of authenticity to the retro experience and it works well enough with some composite CRT monitors I have used and even CRT television sets.

The raspberry pi shares the composite video out with the 3.5mm jack and it is usually a matter of making one or two changes to the config.txt file.

I tried enabling composite out on the pi and There is a rainbow splash screen that is displayed on the composite out but then it keeps rebooting.

Is this something that is disabled by this project? Is there a performance impact by using composite out?

I know this request runs counter to the intent of this project but I figured since the option to use composite out is baked into the raspberry pi why not use it as well?

In my case I have serveral TRS-80 color computers that do not have composite out and and if the RGB to HDMI solution can output both HDMI and composite out, it is more valuable to me and hopefully others. I know I would still like to use my composite CRT monitor for some things.

IanSB commented 3 years ago

I tried enabling composite out on the pi and There is a rainbow splash screen that is displayed on the composite out but then it keeps rebooting.

This is probably due to a workaround that fixed an issue with some monitors which didn't send correct EDID fast enough during initial power on and when that happened the internal hardware reported an auto detected screen resolution of 720x240 instead of the monitor's actual resolution. The current code forces a reboot when that resolution is read back which causes a re-detection and that fixed the issue but in your case you actually want that resolution so the rebooting would have to be disabled.

qbancoffee commented 3 years ago

Is there an setting in the config.txt to disable rebooting? Is this something that has to be changed in the code and recompiled? Can this functionality be added by means of setting a variable in the config.txt?

IanSB commented 3 years ago

@qbancoffee

Is there an setting in the config.txt to disable rebooting?

not yet...

Is this something that has to be changed in the code and recompiled? Can this functionality be added by means of setting a variable in the config.txt?

Try this kernel version which has rebooting disabled: noreboot-alpha1.zip

This is untested so there may be other issues that have to be fixed when using such a low resolution. Start with the latest beta or release version (they are the same) and overwrite the kernel of that.

qbancoffee commented 3 years ago

I just tested and it's rebooting with a raspberry pi 3 but not with a raspberry pi zero, here is my setup. ====Raspberry pi 3====== -Used the latest release of the project. -Replaced the kernel image with the alpha -Using a raspberry pi 3b -Powering the raspberry pi with an external power supply -Using a CoCo 2 as a source.

====Raspberry pi zero====== -Used the latest release of the project. -Replaced the kernel image with the alpha -Using a raspberry pi zero -Powering the raspberry pi with the CoCo 2 -Using a CoCo 2 as a source.

Here is a video of the pi 0 with composite out.

https://youtu.be/sQ2bmw9OU5E

IanSB commented 3 years ago

@qbancoffee

It won't work with the Pi 3 as that requires a different kernel file so it's just using the unchanged pi3 kernel

The narrow width is due to the internal readback of the horizontal size being doubled in very low res modes Try this version which attempts to compensate for that: noreboot-alpha2.zip

qbancoffee commented 3 years ago

With this kernel the width is normal now but without color.

IanSB commented 3 years ago

@qbancoffee

With this kernel the width is normal now but without color.

I don't have a system setup to look at the composite output so it may be some time before I can investigate this but it might be worth you experimenting with config.txt settings as documented here: https://www.raspberrypi.com/documentation/computers/config_txt.html#composite-video-mode (Add any new options to the common video settings section of config.txt)

qbancoffee commented 3 years ago

I'll play around with some settings and cross my fingers.

BjarkeNL commented 7 months ago

I'm also very interested in getting the composite output instead of the HDMI output. (Haven't received my RGBtoHDMI yet)

Was an option in the config-file to allow this ever implemented?

(Or is there some other way of doing it? (Change something in a code-file and recompile, etc). Or perhaps it just works out of the box now? :))