Code: Select all
HDMI:EDID version 1.3, 1 extensions, screen size 70x39 cm
HDMI:EDID features - videodef 0x80 !standby !suspend !active off; colour encoding:RGB444|YCbCr422; sRGB is not default colourspace; preferred format is native; does not support GTF
HDMI:EDID found monitor range descriptor tag 0xfd
HDMI:EDID monitor range offsets: V min=0, V max=0, H min=0, H max=0
HDMI:EDID monitor range: vertical is 24-60 Hz, horizontal is 15-68 kHz, max pixel clock is 80 MHz
HDMI:EDID monitor range does not support GTF
HDMI:EDID found monitor S/N descriptor tag 0xff
HDMI:EDID found monitor name descriptor tag 0xfc
HDMI:EDID monitor name is HA5
HDMI:EDID found preferred CEA detail timing format: 1920x1080i @ 60 Hz (5)
HDMI:EDID established timing I/II bytes are 00 00 00
HDMI:EDID standard timings block x 8: 0x0101 0101 0101 0101 0101 0101 0101 01C1
HDMI:EDID unknown standard timing 256x144 @ 61 Hz aspect ratio (16:9)
HDMI:EDID parsing v3 CEA extension 0
HDMI:EDID monitor support - underscan IT formats:no, basic audio:yes, yuv444:no, yuv422:yes, #native DTD:1
HDMI:EDID found CEA detail timing format: 1920x1080i @ 50 Hz (20)
HDMI:EDID found CEA format: code 5, 1920x1080i @ 60Hz (native)
HDMI:EDID found CEA format: code 20, 1920x1080i @ 50Hz (native)
HDMI:EDID found CEA format: code 4, 1280x720p @ 60Hz (native)
HDMI:EDID found CEA format: code 19, 1280x720p @ 50Hz (native)
HDMI:EDID found CEA format: code 6, 1440x480i @ 60Hz (native)
HDMI:EDID found CEA format: code 7, 1440x480i @ 60Hz (native)
HDMI:EDID found CEA format: code 21, 1440x576i @ 50Hz (native)
HDMI:EDID found CEA format: code 22, 1440x576i @ 50Hz (native)
HDMI:EDID found CEA format: code 34, 1920x1080p @ 30Hz (native)
HDMI:EDID found CEA format: code 33, 1920x1080p @ 25Hz (native)
HDMI:EDID found CEA format: code 32, 1920x1080p @ 24Hz (native)
HDMI:EDID found CEA format: code 1, 640x480p @ 60Hz
HDMI:EDID found audio format 8 channels PCM, sample rate: 32|44|48|88|96|176|192 kHz, sample size: 16|20|24 bits
HDMI:EDID found HDMI VSDB length 6
HDMI:EDID HDMI VSDB has physical address 1.0.0.0
HDMI:EDID HDMI VSDB supports AI:no, dual link DVI:no
HDMI:EDID HDMI VSDB deep colour support - 48-bit:no 36-bit:no 30-bit:no DC_yuv444:no
HDMI:EDID HDMI VSDB has no latency information
HDMI:EDID adding mandatory support for DMT (4) 640x480p @ 60Hz
HDMI:EDID adding mandatory support for CEA (2) 720x480p @ 60Hz
HDMI:EDID adding mandatory support for CEA (3) 720x480p @ 60Hz
HDMI:EDID adding mandatory support for CEA (17) 720x576p @ 50Hz
HDMI:EDID adding mandatory support for CEA (18) 720x576p @ 50Hz
HDMI:EDID filtering formats with pixel clock > 162 MHz or h. blanking > 1023
HDMI:EDID best score mode initialised to CEA (1) 640x480p @ 60 Hz with pixel clock 25 MHz (score 0)
HDMI:EDID best score mode is now CEA (1) 640x480p @ 60 Hz with pixel clock 25 MHz (score 61864)
HDMI:EDID best score mode is now CEA (2) 720x480p @ 60 Hz with pixel clock 27 MHz (score 66472)
HDMI:EDID CEA mode (3) 720x480p @ 60 Hz with pixel clock 27 MHz has a score of 66472
HDMI:EDID best score mode is now CEA (4) 1280x720p @ 60 Hz with pixel clock 74 MHz (score 190888)
HDMI:EDID DMT mode (4) 640x480p @ 60 Hz with pixel clock 25 MHz has a score of 18432
HDMI:EDID best score mode is now CEA (5) 1920x1080i @ 60 Hz with pixel clock 74 MHz (score 5398248)
HDMI:EDID CEA mode (6) 1440x480i @ 60 Hz with pixel clock 27 MHz has a score of 56104
HDMI:EDID CEA mode (7) 1440x480i @ 60 Hz with pixel clock 27 MHz has a score of 56104
HDMI:EDID CEA mode (17) 720x576p @ 50 Hz with pixel clock 27 MHz has a score of 66472
HDMI:EDID CEA mode (18) 720x576p @ 50 Hz with pixel clock 27 MHz has a score of 66472
HDMI:EDID CEA mode (19) 1280x720p @ 50 Hz with pixel clock 74 MHz has a score of 163240
HDMI:EDID CEA mode (20) 1920x1080i @ 50 Hz with pixel clock 74 MHz has a score of 4836040
HDMI:EDID CEA mode (21) 1440x576i @ 50 Hz with pixel clock 27 MHz has a score of 56104
HDMI:EDID CEA mode (22) 1440x576i @ 50 Hz with pixel clock 27 MHz has a score of 56104
HDMI:EDID CEA mode (32) 1920x1080p @ 24 Hz with pixel clock 74 MHz has a score of 174298
HDMI:EDID CEA mode (33) 1920x1080p @ 25 Hz with pixel clock 74 MHz has a score of 180520
HDMI:EDID CEA mode (34) 1920x1080p @ 30 Hz with pixel clock 74 MHz has a score of 211624
HDMI:EDID preferred mode remained as CEA (5) 1920x1080i @ 60 Hz with pixel clock 74 MHz
HDMI:EDID has HDMI support and audio support
I'm sorry, but I don't really understand what you're saying. Can you elaborate?quarterturn wrote:Certainly, if you're willing to use xorg vs the framebuffer.
The driver doesn't know or care what shape your pixels are. That is determined by the physical screen (at least for LCD or similar displays -- crts are different, here the analogue signal timing from the output hardware is relevant). You cannot display non-square pixels on a screen with square pixels, unless you change the resolution to use 2 or even 6 screen pixels for each image pixel -- but again, the driver wouldn't know that you were displaying non-square pixels -- just that you want to display a different screen resolution. The screen may or may not accept that resolution, and may or may not display it the way you expect.Grasshopper2 wrote: Another issue with changing the framebuffer resolution using GPU scaling is that the driver always forces the pixels to be square, which is not necessarily what you want if you're emulating old hardware.
I certainly hope so, because as far as I'm concerned, it's still an unresolved issue.floris497 wrote:Is this topic still open
OK, strictly speaking, you're correct. What I should have said is the the driver always forces the aspect ratio of the pixels to remain constant regardless of what resolution is chosen. Or to put it another way, the driver always scales the image by the same factor in both the x and y planes.davidcoton wrote:The driver doesn't know or care what shape your pixels are. That is determined by the physical screen (at least for LCD or similar displays -- crts are different, here the analogue signal timing from the output hardware is relevant). You cannot display non-square pixels on a screen with square pixels, unless you change the resolution to use 2 or even 6 screen pixels for each image pixel -- but again, the driver wouldn't know that you were displaying non-square pixels -- just that you want to display a different screen resolution. The screen may or may not accept that resolution, and may or may not display it the way you expect.Grasshopper2 wrote: Another issue with changing the framebuffer resolution using GPU scaling is that the driver always forces the pixels to be square, which is not necessarily what you want if you're emulating old hardware.
But that does not work for me.. i can't get the resolution at all.. or am i missing something i cannot select my desired screen ratio.. or 640:121 or did i miss a post where was explained how this can be done?Grasshopper2 wrote:I certainly hope so, because as far as I'm concerned, it's still an unresolved issue.floris497 wrote:Is this topic still open
Being able to set up a single custom mode at boot time is better than nothing. But I really need the ability to create custom modes on the fly.
Hi,dom wrote:latest "next" firmware has some changes to custom hdmi modes.
CVT now uses a single config string to set up. (First post edited)
You can also play with the raw hdmi timings:
The hdmi_timings parameters are:You wil obviously need a timing data sheet for the display, and quite possibly a scope to debug what is happening, but it may allow non-standard displays to be driven.Code: Select all
hdmi_timings=<h_active_pixels> <h_sync_polarity <h_front_porch> <h_sync_pulse> <h_back_porch> <v_active_lines> <v_sync_polarity> <v_front_porch> <v_sync_pulse> <v_back_porch> <v_sync_offset_a> <v_sync_offset_b> <pixel_rep> <frame_rate> <interlaced> <pixel_freq> <aspect_ratio>
The aspect ratio is:It will appear as the last hdmi_mode (87 for DMT, 65 for CEA). Use hdmi_group to determine CEA or DMT.Code: Select all
HDMI_ASPECT_4_3 = 1 HDMI_ASPECT_14_9 = 2 HDMI_ASPECT_16_9 = 3 HDMI_ASPECT_5_4 = 4 HDMI_ASPECT_16_10 = 5 HDMI_ASPECT_15_9 = 6 HDMI_ASPECT_21_9 = 7 HDMI_ASPECT_64_27 = 8
This was my test, for [email protected][edit: use hdmi_timings rather than hdmi_timing]Code: Select all
hdmi_group=2 hdmi_mode=87 hdmi_timings=640 0 16 64 120 480 0 1 3 16 0 0 0 75 0 31500000 1
No, hdmi_cvt creates a custom DMT mode.wmlooi wrote: Will this work for custom CEA mode?
hdmi_cvt=1280 960 60 1 0 0 0
hdmi_group=1
hdmi_mode=65
hdmi_drive=2
I too would like to know if there's a solution to this. I myself have a Raspberry Pi Zero powered emulation machine attached to an old CRT TV via VGA666 and VGA -> SCART adapter. To achieve the best possible image quality, I have created custom modes for each system I use (256x192 for Sega Master System, 256x240 for NES/SNES, 320x224 for Sega Genesis, 320x256 for Amiga).sigmaris wrote:Is there any way to create more than one custom mode with hdmi_timings and then switch between them using "tvservice"? What I actually have is an 15/25kHz arcade monitor connected via the VGA666 adapter, using DPI (not HDMI, but hdmi_timings seems to be the way to set custom video modes for the DPI interface as well). I'm running MAME4ALL to play arcade games and trying to get the display to be as close as possible to the original hardware.
With a custom hdmi_timings line, I can boot in either a 320x240p 15kHz mode or a 512x384p 25kHz mode. But I'd like to switch between a few different modes for different games - as there are many different video modes used by the various games MAME supports. I'd like to be able to define custom modes 87, 88, 89, 90, etc and switch to the appropriate mode when launching a game using "tvservice". Failing that, is there any way to set custom timings after boot using tvservice or a similar tool?
Hi PetteriB,PetteriB wrote:I too would like to know if there's a solution to this. I myself have a Raspberry Pi Zero powered emulation machine attached to an old CRT TV via VGA666 and VGA -> SCART adapter. To achieve the best possible image quality, I have created custom modes for each system I use (256x192 for Sega Master System, 256x240 for NES/SNES, 320x224 for Sega Genesis, 320x256 for Amiga).sigmaris wrote:Is there any way to create more than one custom mode with hdmi_timings and then switch between them using "tvservice"? What I actually have is an 15/25kHz arcade monitor connected via the VGA666 adapter, using DPI (not HDMI, but hdmi_timings seems to be the way to set custom video modes for the DPI interface as well). I'm running MAME4ALL to play arcade games and trying to get the display to be as close as possible to the original hardware.
With a custom hdmi_timings line, I can boot in either a 320x240p 15kHz mode or a 512x384p 25kHz mode. But I'd like to switch between a few different modes for different games - as there are many different video modes used by the various games MAME supports. I'd like to be able to define custom modes 87, 88, 89, 90, etc and switch to the appropriate mode when launching a game using "tvservice". Failing that, is there any way to set custom timings after boot using tvservice or a similar tool?
However, since I couldn't find a way to define more than one custom mode or how to update hdmi_timings "on the fly", my only choice was to create a script that directly modifies the hdmi_timings in /boot/config.txt and then reboots the machine.
Needless to say, this is a really ugly and hackish way to do it and I would very much prefer to replace it with some faster and cleaner method if there's any.
Here you go:trio198 wrote: Hi PetteriB,
Do you mind sharing your config.txt file?
Thanks mate...
Code: Select all
disable_overscan=1
dtparam=audio=on
gpu_mem_256=128
gpu_mem_512=256
gpu_mem_1024=256
# Enable VGA666
dtoverlay=vga666
enable_dpi_lcd=1
display_default_lcd=1
dtparam=spi=off
dtparam=i2c_arm=off
# Custom 15kHz mode
dpi_group=2
dpi_mode=87
hdmi_timings=320 1 20 29 35 224 1 10 14 16 0 0 0 60 0 6400000 1 # 320:224 Sega Genesis (NTSC)
Code: Select all
hdmi_timings=256 1 6 17 18 192 1 26 22 29 0 0 0 60 0 4800000 1 # 256:192 Sega Master System (NTSC)
hdmi_timings=256 1 8 17 21 224 1 7 10 24 0 0 0 60 0 4800000 1 # 256:224 NES, SNES (NTSC)
hdmi_timings=320 1 20 29 35 224 1 10 14 16 0 0 0 60 0 6400000 1 # 320:224 Sega Genesis (NTSC)
hdmi_timings=320 1 14 46 28 256 1 17 32 9 0 0 0 50 0 6400000 1 # 320:256 Amiga (PAL)
Nice....thanks a lot brother....PetteriB wrote: Here you go:And here's the complete list of timings I'm currently using:Code: Select all
disable_overscan=1 dtparam=audio=on gpu_mem_256=128 gpu_mem_512=256 gpu_mem_1024=256 # Enable VGA666 dtoverlay=vga666 enable_dpi_lcd=1 display_default_lcd=1 dtparam=spi=off dtparam=i2c_arm=off # Custom 15kHz mode dpi_group=2 dpi_mode=87 hdmi_timings=320 1 20 29 35 224 1 10 14 16 0 0 0 60 0 6400000 1 # 320:224 Sega Genesis (NTSC)
Code: Select all
hdmi_timings=256 1 6 17 18 192 1 26 22 29 0 0 0 60 0 4800000 1 # 256:192 Sega Master System (NTSC) hdmi_timings=256 1 8 17 21 224 1 7 10 24 0 0 0 60 0 4800000 1 # 256:224 NES, SNES (NTSC) hdmi_timings=320 1 20 29 35 224 1 10 14 16 0 0 0 60 0 6400000 1 # 320:224 Sega Genesis (NTSC) hdmi_timings=320 1 14 46 28 256 1 17 32 9 0 0 0 50 0 6400000 1 # 320:256 Amiga (PAL)
I am having an issue as well. I purchased this adapter. https://www.radioshack.com/products/rad ... 5717010885quarterturn wrote:One last post on the HDMI-component situation. Selecting a 240p mode from the hdmi_modes table does indeed get the adapter to output a 240p signal. My Sony PVM-1344Q monitor is OK with this signal, but there remains a black rectangle at the top of the picture. My guess is that in 240p mode, the adapter gets the vertical sync wrong. Too bad, as it otherwise looks very good.