-
Notifications
You must be signed in to change notification settings - Fork 1.7k
PAL-M is broken #756
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
You are right that the behaviour doesn't match the description of PAL-M. Can you try this test firmware: and let me know if the behaviour seems better? |
Thanks for your reply. With this firmware the resolution and frequency is correct, but it still have no colors. If I plug it on a TV expecting NTSC, it shows wrong colors, I think this is not expected, because reading about PAL-M on Internet, it's said that NTSC signal on PAL-M TV shows correct picture, but without colors, and the same happens with PAL-M signal on NTSC TV. |
So you are testing with a TV that only supports PAL-M? What was the behaviour with the original firmware? |
Although I haven't found a definitive statement, I suspect that PAL-M uses a 3.58 MHz colour subcarrier (like NTSC) but with PAL encoding, rather than the 4.43 MHz subcarrier of PAL-60. |
Yes, according to firmware code:
|
You're right, the colour subcarrier frequency is not the same as PAL-60. I have a PAL-M only TV, that outputs monochrome with NTSC signal. When I choose PAL-M on the original firmware the behaviour is the same if I chose PAL, it shows no color and I see horizontal stripes moving. With the new firmware it shows the same as NTSC, clean picture but with no colors. I can use a friend's TV that works with NTSC signal, and on that TV I can see colour with the new firmware, but it's wrong, the four raspberries logo on boot shows like a "rainbow", with color changing along the logos. |
kernel: BCM2835-V4L2: Correctly denote key frames in encoded data kernel: bcm2835-gpio-exp: Driver for GPIO expander via mailbox service See: raspberrypi/linux#1852 kernel: Add overlay for ads1115 ADCs See: raspberrypi/linux#1864 kernel: Add support for Fe-Pi audio sound card See: raspberrypi/linux#1867 kernel: amba_pl011: Round input clock up kernel: clk-bcm2835: Correct the prediv logic firmware: Redo CEC code cleanup 3: Removed CEC topology computation firmware: Redo CEC code cleanup 4: Removed unused functions firmware: Redo CEC code cleanup 5: Removed Rx processing firmware: Redo CEC code cleanup 6: Logging changed to VCOS firmware: Redo CEC code cleanup 7: Removed hdmi_state_machine_clock_changed firmware: Redo CEC code cleanup 8: fixed hdmi state machine clk firmware: Redo CEC code cleanup 10: misc cosmetic changes firmware: Fixup CEC code cleanup 8: fixed hdmi state machine clk firmware: hdmi: Add way of forcing logging for hdmi and cec from boot firmware: Redo CEC code cleanup 11: cec_release_logical_addr firmware: arm_loader: Respect smsc95xx.macaddr parameter See: raspberrypi/linux#1865 firmware: vec: Fix progressive scan composite mode See: #683 firmware: vec: PAL_M mode is 525/60 See: #756 firmware: IL ISP: Support Bayer firmware: IL ISP: Fix error in stride calcs for YUYV formats firmware: video_render: buffer size fixup for ARGB888 firmware: video_render: Support per-pixel alpha on RGBA input See: waveform80/picamera#199
kernel: BCM2835-V4L2: Correctly denote key frames in encoded data kernel: bcm2835-gpio-exp: Driver for GPIO expander via mailbox service See: raspberrypi/linux#1852 kernel: Add overlay for ads1115 ADCs See: raspberrypi/linux#1864 kernel: Add support for Fe-Pi audio sound card See: raspberrypi/linux#1867 kernel: amba_pl011: Round input clock up kernel: clk-bcm2835: Correct the prediv logic firmware: Redo CEC code cleanup 3: Removed CEC topology computation firmware: Redo CEC code cleanup 4: Removed unused functions firmware: Redo CEC code cleanup 5: Removed Rx processing firmware: Redo CEC code cleanup 6: Logging changed to VCOS firmware: Redo CEC code cleanup 7: Removed hdmi_state_machine_clock_changed firmware: Redo CEC code cleanup 8: fixed hdmi state machine clk firmware: Redo CEC code cleanup 10: misc cosmetic changes firmware: Fixup CEC code cleanup 8: fixed hdmi state machine clk firmware: hdmi: Add way of forcing logging for hdmi and cec from boot firmware: Redo CEC code cleanup 11: cec_release_logical_addr firmware: arm_loader: Respect smsc95xx.macaddr parameter See: raspberrypi/linux#1865 firmware: vec: Fix progressive scan composite mode See: raspberrypi/firmware#683 firmware: vec: PAL_M mode is 525/60 See: raspberrypi/firmware#756 firmware: IL ISP: Support Bayer firmware: IL ISP: Fix error in stride calcs for YUYV formats firmware: video_render: buffer size fixup for ARGB888 firmware: video_render: Support per-pixel alpha on RGBA input See: waveform80/picamera#199
kernel: BCM2835-V4L2: Correctly denote key frames in encoded data kernel: bcm2835-gpio-exp: Driver for GPIO expander via mailbox service See: raspberrypi/linux#1852 kernel: Add overlay for ads1115 ADCs See: raspberrypi/linux#1864 kernel: Add support for Fe-Pi audio sound card See: raspberrypi/linux#1867 kernel: amba_pl011: Round input clock up kernel: clk-bcm2835: Correct the prediv logic firmware: Redo CEC code cleanup 3: Removed CEC topology computation firmware: Redo CEC code cleanup 4: Removed unused functions firmware: Redo CEC code cleanup 5: Removed Rx processing firmware: Redo CEC code cleanup 6: Logging changed to VCOS firmware: Redo CEC code cleanup 7: Removed hdmi_state_machine_clock_changed firmware: Redo CEC code cleanup 8: fixed hdmi state machine clk firmware: Redo CEC code cleanup 10: misc cosmetic changes firmware: Fixup CEC code cleanup 8: fixed hdmi state machine clk firmware: hdmi: Add way of forcing logging for hdmi and cec from boot firmware: Redo CEC code cleanup 11: cec_release_logical_addr firmware: arm_loader: Respect smsc95xx.macaddr parameter See: raspberrypi/linux#1865 firmware: vec: Fix progressive scan composite mode See: #683 firmware: vec: PAL_M mode is 525/60 See: #756 firmware: IL ISP: Support Bayer firmware: IL ISP: Fix error in stride calcs for YUYV formats firmware: video_render: buffer size fixup for ARGB888 firmware: video_render: Support per-pixel alpha on RGBA input See: waveform80/picamera#199
kernel: BCM2835-V4L2: Correctly denote key frames in encoded data kernel: bcm2835-gpio-exp: Driver for GPIO expander via mailbox service See: raspberrypi/linux#1852 kernel: Add overlay for ads1115 ADCs See: raspberrypi/linux#1864 kernel: Add support for Fe-Pi audio sound card See: raspberrypi/linux#1867 kernel: amba_pl011: Round input clock up kernel: clk-bcm2835: Correct the prediv logic firmware: Redo CEC code cleanup 3: Removed CEC topology computation firmware: Redo CEC code cleanup 4: Removed unused functions firmware: Redo CEC code cleanup 5: Removed Rx processing firmware: Redo CEC code cleanup 6: Logging changed to VCOS firmware: Redo CEC code cleanup 7: Removed hdmi_state_machine_clock_changed firmware: Redo CEC code cleanup 8: fixed hdmi state machine clk firmware: Redo CEC code cleanup 10: misc cosmetic changes firmware: Fixup CEC code cleanup 8: fixed hdmi state machine clk firmware: hdmi: Add way of forcing logging for hdmi and cec from boot firmware: Redo CEC code cleanup 11: cec_release_logical_addr firmware: arm_loader: Respect smsc95xx.macaddr parameter See: raspberrypi/linux#1865 firmware: vec: Fix progressive scan composite mode See: raspberrypi/firmware#683 firmware: vec: PAL_M mode is 525/60 See: raspberrypi/firmware#756 firmware: IL ISP: Support Bayer firmware: IL ISP: Fix error in stride calcs for YUYV formats firmware: video_render: buffer size fixup for ARGB888 firmware: video_render: Support per-pixel alpha on RGBA input See: waveform80/picamera#199
It still doesn't work with PAL-M, when this mode is selected, the output is NTSC with a "rainbow" pattern |
I'm still getting no color if the TV is PAL-M. If the TV is set to NTSC, it shows a rainbow pattern, but it must show no color. Maybe the color subcarrier frequency is wrong, I think it must not be the same of NTSC. Wikipedia says that a PAL-M signal shows no color on NTSC TV and vice versa. |
I'm also facing the same problem. The equipment I'm using is a National (Panasonic) Panacolor TC-14R1M in pretty good shape, quite popular back in 70's. I was using a really old Retropie build (outdated for +6mo), so I decided to update the distro+firmware. No luck. I also tried patches you've released here: #811. Then I tried back again to use #811 patches in top of up-to-date fresh install, but it still didn't work. I started changing sdtv_mode values in /boot/config.txt through PuTTY, save and reboot, and this is what I've found: Tested with master build 18/07 0 - OK BW 0x20 - I do not recall the result, but no color. Build 23,25 and 27-May patches: #811 0x22 - OK *Out of Sync - Static, no image at all. I gave up testing because results of #811 although the sync issue, at least they were showing colors. I also tried the sdtv_progressive_scan, but results shown async. I'd like to help as much as I can. If you provide me firmwares I can trial and error and report results, take pictures, anything. Thanks in advance. Best Regards, |
Okay, I've tried tvservice -c "flag 4:3 (P)" with NTSC, PAL and PAL_M, also enabling/disabling P progressive scan. Just after doing setting tvservice, images goes black, reboot and all of them image pops up. No rolling screen or static. Clear, but no colors. :/ |
After change mode by tvservice command You need to reset (or reinitialize?) framebuffer by commands: |
@Sobakin76 that is the output I get when I try to use RPI PAL-M signal, Black and White on PAL-M and that kind of "rainbow" pattern on NTSC (which is also the format that is autodetected). |
Unfortunately, I do not have the TV I've used to test this anymore. |
But I have a really old TV that I guess it supports only PAL-M. |
But I've never seen color output on it using the AV connectors, because all equipment available are NTSC. With RPI I tought that I'd finally see color output through AV cables on that TV... |
Looks like software development of anologue output was stopped. It is sad :( |
Indeed it seems to be stopped. But that's life hehe. Thank you all. |
Because analogue output is such a tiny use case, we can only really work on it when there is nothing more important to do. However, we are a small team, with a awful lot of very important work to do.... So, not stopped, just we don't have time to work on this sort of thing at the moment. Maybe @popcornmix is the expert here, but I know he is very busy. I don't know wanything about this stuff, so cannot really help. @pelwel Any ideas? |
I agree with you James. There are plenty of important stuff to be done and this is a minor issue that may be bypassed by other means, such modding the TV set. I do not want to sound rude, and this is not sacarsm. I realize most of us have got other stuff to care in life, such family and work, I've followed couple issue threads that popcornmix kindly put his/hers effort so I really do not to sound ungrateful. When the time comes, soma changes will be done, I'll keep updating rpi-update, check and report when I get a positive result. Cheers ;) Thanks once again, |
No worries - you didn't sound rude - just wanted to get across that we are busy with stuff right now, so unfrotauntely this sort of thing cannot get much attention. |
If anyone is still interested, I've written a little utility for tweaking the VEC registers from user space: https://github.com/kFYatek/tweakvec Configuring the firmware and OS for NTSC and then running I tested the utility, but only with modern equipment, I don't have any CRTs (and certainly not PAL-M-capable) on hand. |
Update: @Sobakin76 confirmed PAL-M working with their monitor, see #811 |
When I boot with
sdtv_mode=3
or usetvservice -c "PAL_M 4:3"
I get 720x576 at 50Hz, but it should be 720x480 at 60Hz like NTSC, that's the correct format for PAL-M.The text was updated successfully, but these errors were encountered: