Author Topic: How to enable the analogue tv out ?  (Read 5455 times)

rastafari199625 (OP)

  • Posts: 27
How to enable the analogue tv out ?
« on: September 16, 2014, 06:43:25 pm »
As we can see in this video https://www.youtube.com/watch?v=CT_eSsLP8tc dated 27/08/2013 there is an alpha buggy tv out option. In more than one year no final or beta of the module who allows that was released ? I have the latest firmware and when I plug the jack nothing happened. And that's the same for the OTG why ?
https://www.youtube.com/watch?v=izSuKfoh8wE How did you do that zear ? please

zear

  • * Moderator
  • Posts: 2381
Re: How to enable the analogue tv out ?
« Reply #1 on: September 16, 2014, 08:29:19 pm »
As we can see in this video https://www.youtube.com/watch?v=CT_eSsLP8tc dated 27/08/2013 there is an alpha buggy tv out option. In more than one year no final or beta of the module who allows that was released ? I have the latest firmware and when I plug the jack nothing happened. And that's the same for the OTG why ?
Because OpenDingux is developed within the limits of free time of its contributors.

https://www.youtube.com/watch?v=izSuKfoh8wE How did you do that zear ? please
I compiled a kernel with OTG support.

rastafari199625 (OP)

  • Posts: 27
Re: How to enable the analogue tv out ?
« Reply #2 on: September 16, 2014, 11:54:39 pm »
Where can I get the kernel image with the OTG support ? can you share it ? and will it be compatible with the latest firmware if I do a kernel update?
did you work on a kernel module for the OTG since the last kernel support loadable module ?
And for the av out how can I get it work like in the video, it's also a special unstable kernel still in dev ?
Thanks

Nebuleon

  • Guest
Re: How to enable the analogue tv out ?
« Reply #3 on: September 17, 2014, 01:04:28 am »
USB OTG worked on zear's unit, but as of last testing didn't work on mine due to overvolting, which could destroy your GCW Zero if left unattended for more time than I left a USB device plugged into mine. TV-out worked for one TV, without scaling - this is hardly general enough, and won't handle anything well, including PAL vs. NTSC, their resolutions and frame rates, and the proper detection of plugging headphones vs. the TV cable.

If all you care about is having waited a year without TV-out and USB OTG and wanting them now, you can compile a kernel yourself if you follow the instructions at https://github.com/gcwnow/linux/wiki and add our experimental USB OTG and TV-out drivers in 'make menuconfig'. But by doing so you accept all responsibility if you destroy your GCW Zero. (And of course, not a single application will output at the resolution of your TV, and very few applications will recognise controllers you plug in.)

You can also keep asking zear (or me), but we're not kernel developers, only testers, and the kernel developers don't ship features that they know to be bad or incomplete.

rastafari199625 (OP)

  • Posts: 27
Re: How to enable the analogue tv out ?
« Reply #4 on: September 17, 2014, 12:33:32 pm »
Thanks
Quote
as of last testing didn't work on mine due to overvolting, which could destroy your GCW Zero
I don't understand the problem, the gcw-zero must send 5v to power the USB equipment so I think there is a step up to make 5v from the 3.7v lipo batt. If the zero output more than 5v this is the usb stick or the controller who will burn, but you want maybe talk about an overcurrent if I connect a device who need a lot of current like an hard drive that need 1amps.
Quote
TV-out worked for one TV, without scaling
It's an analog composite signal, if it work an a tv I think it will work for all the tv that support the standard PAL/NTSC.
I've downloaded the kernel but how to add the tv-out and otg before compiling ?

zear

  • * Moderator
  • Posts: 2381
Re: How to enable the analogue tv out ?
« Reply #5 on: September 17, 2014, 01:07:54 pm »
Quote
TV-out worked for one TV, without scaling
It's an analog composite signal, if it work an a tv I think it will work for all the tv that support the standard PAL/NTSC.
I've downloaded the kernel but how to add the tv-out and otg before compiling ?
Nebuleon confused it with the HDMI output (which indeed worked only on selected TV sets, because the signal was lower than the standard 720p [I think it was 640x480]). As for the analog TV, when we tested the driver, we didn't have IPU support yet, so the data sent to the output was in 320x240 instead of PAL/NTSC resolution, which was resulting with a really garbled output. Now when IPU support is present and we can scale the output to appropriate resolution, perhaps we're closer to a working analog TV out, but some dev would need to look into it (IPU will also help to scale the HDMI output to 720p or other standard HD resolutions).

thefifthgiant

  • Posts: 108
Re: How to enable the analogue tv out ?
« Reply #6 on: September 17, 2014, 02:19:24 pm »
Quote
As for the analog TV, when we tested the driver, we didn't have IPU support yet, so the data sent to the output was in 320x240 instead of PAL/NTSC resolution, which was resulting with a really garbled output.

I would actually appreciate an option to output 320x240 over analog, as it would scale perfectly to both standard def. and 720p screens. Plus, when used on a  CRT, we would have nice scan lines  for retro games.

zear

  • * Moderator
  • Posts: 2381
Re: How to enable the analogue tv out ?
« Reply #7 on: September 17, 2014, 02:32:19 pm »
I would actually appreciate an option to output 320x240 over analog, as it would scale perfectly to both standard def. and 720p screens. Plus, when used on a  CRT, we would have nice scan lines  for retro games.
You can't output 320x240 over analog - it must be PAL/NTSC. Naturally what we'll do is scale GCW0's 320x240 output into PAL/NTSC resolution by utilizing the IPU chip, and so you will see no difference between running the games on the LCD and TV (same about HDMI).

rastafari199625 (OP)

  • Posts: 27
Re: How to enable the analogue tv out ?
« Reply #8 on: September 17, 2014, 02:48:36 pm »
We can output a 320x240 in the middle of the 720?576 with black border. But how to do that without compile a new kernel. There is a loadable kernel module or a c, c++ program ready to compile to output the framebuffer thought the composite ?

pcercuei

  • Posts: 1667
    • My devblog
Re: How to enable the analogue tv out ?
« Reply #9 on: September 17, 2014, 03:50:12 pm »
There is no kernel/program ready to use the TV-out. Because as we said, it's not ready.

We have a jz-3.10 kernel that was last touched one year ago (aug. 2013) that had some extremely basic TV output, which resulted in a completely distorded image where you could hardly recognize the game that was running.

Clearly, this needs more work, but nobody is working on it ATM - we're busy elsewhere.

mth

  • Posts: 317
Re: How to enable the analogue tv out ?
« Reply #10 on: September 17, 2014, 04:04:31 pm »
We can output a 320x240 in the middle of the 720?576 with black border. But how to do that without compile a new kernel. There is a loadable kernel module or a c, c++ program ready to compile to output the framebuffer thought the composite ?

You can't access hardware registers outside of the kernel. But compiling a kernel isn't hard.

The experimental TV-out code is here.

We have a jz-3.10 kernel that was last touched one year ago (aug. 2013) that had some extremely basic TV output, which resulted in a completely distorded image where you could hardly recognize the game that was running.

In the last iteration, it wasn't quite that bad, but still the image was not synced properly: the origin would appear at a random spot on the screen and half the time it had the wrong colors.

I stopped working on it because it was clear it wasn't going to be usable without IPU support. We have working IPU support now, but I don't have time/motivation to work on TV-out at the moment.

thefifthgiant

  • Posts: 108
Re: How to enable the analogue tv out ?
« Reply #11 on: September 17, 2014, 06:12:34 pm »
You can't output 320x240 over analog - it must be PAL/NTSC.

I am aware of this, I just phrased my request poorly. What I meant was that instead of simply scaling the image to 480i for analog, that the timing could be offset so that the fields overlap and create the so-called "240p" that we enjoy on older consoles. This is mainly because my primary TV is a CRT, and so this type of output looks much nicer for low-resolution games than ones that are simply scaled to 480i and flicker.

mth

  • Posts: 317
Re: How to enable the analogue tv out ?
« Reply #12 on: September 17, 2014, 07:02:29 pm »
What I meant was that instead of simply scaling the image to 480i for analog, that the timing could be offset so that the fields overlap and create the so-called "240p" that we enjoy on older consoles. This is mainly because my primary TV is a CRT, and so this type of output looks much nicer for low-resolution games than ones that are simply scaled to 480i and flicker.

You can't really "scale to 480i" anyway: 480i is created by sending two frames of 240 lines each, where one of the frames is half a line lower. Assuming the TV encoder has a flag to turn off that "put odd frames half a line lower" feature, outputting 240p should be no problem. It's been a long time since I read the docs, but usually there is such a flag.

It still needs to scale horizontally though: the TV encoder requires a fixed pixel clock which leaves 320 pixels covering about half the screen.

thefifthgiant

  • Posts: 108
Re: How to enable the analogue tv out ?
« Reply #13 on: September 17, 2014, 07:41:10 pm »
Assuming the TV encoder has a flag to turn off that "put odd frames half a line lower" feature, outputting 240p should be no problem. It's been a long time since I read the docs, but usually there is such a flag.

Great, that would definitely be ideal for a lot of games/emulators

rastafari199625 (OP)

  • Posts: 27
Re: How to enable the analogue tv out ?
« Reply #14 on: September 18, 2014, 09:52:45 am »
Finally I think it's more reasonable to wait for the TV out with the IPU upscalling process. And it's god to know that people work on it. Thanks community !
It's not the topic but I still don't understand the problem with the OTG and why it's harmful for the zero, How can I fry my zero by plug in an controller.