Pi2scart and different hdmi_timings
-
@mitu Thanks a lot! I’ll try that.
-
I tried that script in the link and nothing happens. The hdmi timings won’t change. Maybe I’m missing something?
As I said before I’m really new to this and have basically no knowledge of script making. 😛
-
I’m really at a loss here...
I just need to know how to write a script in runcommand-onstart.sh that sets one hdmi timing for Amiga and one for Megadrive. Can anyone help me?
Thanks!
-
You set the resolution in Amiberry by, using a attached keyboard (wireless or wired), press F12 in Amiberry. This brings you to the menu. On the left side of the screen, goto "Display", and set your width and height.
I also have a Pi2scart, and found 768 width, 270 height, to look the best on my CRT. Tick "Correct Aspect Ratio", as well.
I have found that you won't get far with hdmi_timings due to the restriction of the Pi2scart. I have set 320x240 system-wide, so everything from ES, to emulators, to the frame buffer res, is 320x240p.
The Amiga is hard to get looking right via Pi2scart, mostly due to it's resolutions -
PAL = 320×256, 640×256, 640×512-interlaced
NTSC =320×200, 640×200, 640×400-interlacedOnly NTSC fits in the 320x240 limit, while PAL either gets cut-off, or resized - which introduces scaling artifacts. I haven't found a way to stop scaling artifacts, so I just live with them.
I know this doesn't help you with the runcommand-onstart/end, but I'm finding these don't do much when using a Pi2scart.Just to edit: - Here is what I use in my "runcommand-onstart.sh", for the Sega Megadrive.
"megadrive") # Load Sega Megadrive Pi2Scart timings
vcgencmd hdmi_timings 320 1 6 30 44 240 1 3 3 21 0 0 0 60 0 6400000 1
tvservice -e "DMT 87"
fbset -depth 32 && fbset -depth 32 -xres 320 -yres 240 -
@John_RM_70
Thank you, I tried to copy your runcommand-onstart settings but nothing happens. Should I have anything else in the script besides that? I get an error because of the ”)” after ”megadrive”. Removing the ”)” makes the timing switch on all emulators. I’m a real noob so I probably gonna need to see all lines from start to end to get the hang of this.
The reason I want this to work with different timings is because of the different refresh rates. C64 and Amiga should be 50hz, X68000 55.45hz, Megadrive, Snes etc ~ 60hz and so on.
I must be really stupid since it seems to work for everyone if when doing a Google search.
-
My runcommand-onstart, is based off the same link mitu posted above.
I simply modified it for 240p, 60hz, and horizontal/vertical padding.I could be wrong, but I'm not sure Pi2scart can do what you want it to do. That would have to be the RetroTink, since it would offer more resolutions and refresh rates. Whenever I try anything above 240p res, I get display problems. If I try super resolutions, I get sync problems with my Sony CRT.
-
@John_RM_70
I think you missunderstood me. I have no problems with different video modes if I make a simple script for just that video mode, like:
vcgencmd hdmi_timings 480 1 14 45 56 300 1 10 5 5 0 0 0 60 0 9600000 1
tvservice -e ”DMT 87”
fbset -depth 8 && fbset -depth 16 -xres 480 -yres 300Or
vcgencmd hdmi_timings 1600 1 70 150 215 240 1 4 3 15 0 0 0 60 0 32000000 1
tvservice -e ”DMT 87”
fbset -depth 8 && fbset -depth 16 -xres 1600 -yres 240Then it works perfectly. So I know that the Pi2scart can handle them. But looking at the script mitu posted it’s supposed to work with different video modes based on which emulator I’m running? If I use that script nothing happens, it stays with the video mode that is in boot/config.txt.
In recalbox you can set the hdmi timings for each core but the version of amiberry there sucks so I’d prefer to use retropie.
Mitu said that the script syntax was wrong in my original post, so I’m still confused on how to write a simple script that swiches hdmi timings if a certain emulator is launched.
-
@DaveGeorge said in Pi2scart and different hdmi_timings:
vcgencmd hdmi_timings 1600 1 70 150 215 240 1 4 3 15 0 0 0 60 0 32000000 1
tvservice -e ”DMT 87”
fbset -depth 8 && fbset -depth 16 -xres 1600 -yres 240Ahh right. Ok.
Those settings don't work for me. Infact, anything using super res, 1600, 1920, 2560, just sends my TV out of sync. So, perhaps it's just my Trinitron can't handle them. -
@John_RM_70
This is so weird.... just for the fun of it I tried to edit the script through winSCP instead of the filemanager and now it works.
-
DaveGeorge, ignore my reply about 1600px not working. I'm a moron, lol.
I had this line activated in my config.txtsdtv_mode=18
Comment it out and 1600px is working. I got to say, honestly, this looks slightly worse than my own method of 240p system-wide. With 240p, the only problems I have are vertical games with a much larger-than-240p res, such as Pac-Man (288 res). If I fit 288 into 240, then I get scaling artifacts, and missing bits of the pac-man maze.
The only benefit I can see for 1600px, is scrolling shimmering is gone. Although, I only get shimmering at 240p if I use a non-integer resolution.
Anyway, glad you got it working. Just bear in mind, non retroarch emulators probably won't display properly. Daphne, for example, will be squished horizontally. -
@DaveGeorge
I am facing the same issues.Can you please share/confirm the final settings that worked?
Thanks a lot for your support
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.