RetroTink: High Quality 240p from Raspberry PI

The place for all discussion on gaming hardware
strygo
Posts: 506
Joined: Sun Mar 05, 2017 5:47 am
Location: Snohomish, WA

Re: RetroTink: High Quality 240p from Raspberry PI

Post by strygo »

Bahn Yuki wrote:that pre-made Lakka image is really obsolete. Better off using Retropie 4.3 and using his HDMI timings there.
When I first got the RetroTink, I used the (then) somewhat dated Lakka image he provided. I was able to do fairly easily update everything directly from the RP3. Are there any downsides to this approach? (I'm not aware of any.)
Dochartaigh wrote:Has anybody else like me pretty much given up on the RP3?
If I didn't have the space for all of my consoles, I think I would rely on my RP3+RetroTink combo more. Its sweet spot for me is arcade games - I love that I can fire up a game without getting the board out, hooking it up, etc. FWIW, on my CRT and PVM, I haven't had any of the display issues that you describe.
Dochartaigh
Posts: 1575
Joined: Thu Mar 02, 2017 6:53 pm

Re: RetroTink: High Quality 240p from Raspberry PI

Post by Dochartaigh »

Fudoh wrote:So, maybe I misread your critic or you mean something else when you write "simple thing like resize the size of the image on screen"...
All I mean is I have a mix of Gen 3-6 consoles. I have 240p test suite game cartridges for a bunch of them so I adjust the H/V size/centering of my CRT monitors so they fit these consoles without having anything major cut off on any system. It's not 100% perfect, but it's playable for every game I've ever tried.

Switch over to the RP3, and the image displayed on screen is something like 12% larger than every. single. physical. 240p console I have. Things get cut off. I can't see life bars, or weapon selections or whatever. It sucks.

The only way through the boot/config.txt to scale the image - make it smaller so it matches what all my 240p consoles are outputting, is to use overscan which is well documented to introduce artifacts.

You are correct that RetroArch gives you some nice and easy controls in the menu: Custom Viewport X Pos, Y Pox, Width, and Height for starters. You can tweak all of those EXCEPT Height and you'll be fine (can even save them on a per rom or per core basis). This is great and is a saving grace on a lot of games (life bar on top getting cut off? Move the image down a bit. Done). ...but if you ever have to adjust height (say there's bars/meters on the top AND bottom) and you'll have a problem. Move that even a pixel away from 240 (or 224 or whatever you're set at) and those artifacts return just as if you used overscan.

This isn't a problem for many people. They might only emulate and don't have real systems so they can simply adjust their CRT's H/V size so the RP3 works better for them. Or maybe they use a dedicated monitor just for the RP3. Maybe they don't notice scaling artifacts....but it's a problem for me because I've tried to get my real systems setup the best I can on my BVM/PVM's, and whenever I switch over to the RP3 I simply can't deal with the larger image size and get things working how they should be (i.e. not having things cut off).
Last edited by Dochartaigh on Thu Mar 01, 2018 3:55 pm, edited 2 times in total.
User avatar
Fudoh
Posts: 13044
Joined: Mon Mar 06, 2006 3:29 am
Location: Germany
Contact:

Re: RetroTink: High Quality 240p from Raspberry PI

Post by Fudoh »

If the raw 240p image of the RP3 is larger than that other systems, that's likely down to the timings of the signal. With the flexibility shown with the RGB-Pi Recalbox image (per system/game resolution changes), maybe it would be possible to alter these timings specs in the first place.
Dochartaigh
Posts: 1575
Joined: Thu Mar 02, 2017 6:53 pm

Re: RetroTink: High Quality 240p from Raspberry PI

Post by Dochartaigh »

I was adding this to my above post as you replied:
Fudoh wrote:Resizing the active image on a set output carrier signal (e.g. a 224-line game on a 240p signal) is rather limited.
P.S. I wanted to mention that the 1600/1920 pixel tweak is supposed to be able to instantly change the resolution from 224 to 240 on the fly whenever you load a new core (or even per-ROM I think but I've never tried it to that level) via the runcommand-onend.sh and runcommand-onstart.sh. So for instance you can play 224p NES (as if you were running a boot/config.txt with a hdmi_timing set to 224), then switch to 240p Genesis and it'll be as if you were running a boot/config.txt with 240...I've honestly still never had this work flawlessly for me, even when I use multiple peoples pre-setup images (but I have a feeling that's related to my other scale issues I've been talking about).


Fudoh wrote:If the raw 240p image of the RP3 is larger than that other systems, that's likely down to the timings of the signal. With the flexibility shown with the RGB-Pi Recalbox image (per system/game resolution changes), maybe it would be possible to alter these timings specs in the first place.
That's the problem - it isn't. The RP3 has a set pixel clock (and is actually slightly off from a regular 15.7XX kHz or whatever NTSC signal), and can only do something like 7x? different timings (and only something like 3? are even useful for retro gaming). This is a hardware limitation of the RP3 so software can't touch this basic fact. This is why they started using the 1600px tweak to begin with - it was the only way to "trick" the system into giving us better performance on CRT monitors with those absolutely HUGE porches...but it just doesn't seem to be perfect (and definitely not my cup of tea and I've literally spent hundreds of hours on the RP3...and still only know like 2% of this crap as most of it is over my head lol).

People with setups like GroovyMAME/CRTEmudriver, over a VGA card, with a virtual unlimited pixel clock can get that pretty exact, and truly switch resolution on the fly (which I'm experimenting with right now with MAME...so can't really comment on how flawless that is quite yet).
User avatar
Fudoh
Posts: 13044
Joined: Mon Mar 06, 2006 3:29 am
Location: Germany
Contact:

Re: RetroTink: High Quality 240p from Raspberry PI

Post by Fudoh »

That's the problem - it isn't. The RP3 has a set pixel clock (and is actually slightly off from a regular 15.7XX kHz or whatever NTSC signal)
got it! And is your problem that you simply don't want to use different geometry settings on your monitor or that the available range of settings on monitor just doesn't give you the option to display the RPi3's output withing something beting cut off ?
Dochartaigh
Posts: 1575
Joined: Thu Mar 02, 2017 6:53 pm

Re: RetroTink: High Quality 240p from Raspberry PI

Post by Dochartaigh »

Fudoh wrote:
That's the problem - it isn't. The RP3 has a set pixel clock (and is actually slightly off from a regular 15.7XX kHz or whatever NTSC signal)
got it! And is your problem that you simply don't want to use different geometry settings on your monitor or that the available range of settings on monitor just doesn't give you the option to display the RPi3's output withing something beting cut off ?
Exactly. First and foremost I'm a console gamer. I've spent so much time setting that all up (and so much friggin money!) and having a nice H/V size calibrated on each CRT monitor so they all match each other and work for all my systems pretty well. I'm already using underscan (for example) for something else so that setting is already taken...which still doesn't help my monitors where H/V can only be adjusted manually inside the case via pots.

So there's no way in hell I'm going through the service menu, or adjusting the pots with a screwdriver when I want to switch back and forth between the RP3 and my consoles. This has been my bane for like a year I've been trying to get the RP3 to work. Even built a Windows PC recently (which is gross since I'm all Mac ;) just to run MAME to see if I can get that working how I want it in my setup (since I mostly use the RP3 for MAME emulation anymore - because 3-4 player with friends is just wonderful!).



Actually, for an alternative fix for this, I had a question into you on the other topic about which jumpers to switch on the Extron RGB 203 Rxi so the centering controls work with ADSP on - which might relate here to this problem. Maybe I can use that to adjust the centering more quickly on the RP3....I've been wanting to try if I can somehow use the VSC 700 which has a glorious SIZE dial along with centering, and maybe somehow mess with that VSC700/203Rxi 240p trick and then be able to scale and center the image on a per-rom/core basis (but I have a feeling that 240p trick might not give you as good of a signal than the "native" 240p directly from the RP3 since it's running through all these devices).

I wish somebody saw the monetary promise of making a little box with a size and a centering dial on it so people could more easily tweak their RGB signal instead of having to go into service menus (complete with an option to SAVE multiple settings). Like how many people complain about this? A LOT. I mean, having H/V size and centering settings be savable on a per-console/per-input basis would save like 10 BVM topics a month asking how to save geometry settings on their BVM right there. It's a win-win ;)
User avatar
Bahn Yuki
Posts: 237
Joined: Thu Oct 15, 2015 11:33 pm
Location: Salem OR
Contact:

Re: RetroTink: High Quality 240p from Raspberry PI

Post by Bahn Yuki »

strygo wrote:
Bahn Yuki wrote:that pre-made Lakka image is really obsolete. Better off using Retropie 4.3 and using his HDMI timings there.
When I first got the RetroTink, I used the (then) somewhat dated Lakka image he provided. I was able to do fairly easily update everything directly from the RP3. Are there any downsides to this approach? (I'm not aware of any.)
Dochartaigh wrote:Has anybody else like me pretty much given up on the RP3?
If I didn't have the space for all of my consoles, I think I would rely on my RP3+RetroTink combo more. Its sweet spot for me is arcade games - I love that I can fire up a game without getting the board out, hooking it up, etc. FWIW, on my CRT and PVM, I haven't had any of the display issues that you describe.
Dispmanx can reduce lag vs glad video driver. You lose shaders though if that is relevant to you.

Sent from my SAMSUNG-SM-G891A using Tapatalk
Last edited by Bahn Yuki on Thu Mar 01, 2018 5:38 pm, edited 1 time in total.
LG 83C1(OLED),LG 42C2(OLED),TCL 75R635(MiniLED),Apple Studio Monitor 21(PCCRT),SONY 34XBR960(HDCRT)
SONY 32XBR250,Samsung UBJ590(LED),Panasonic P50VT20(Plasma),JVC NZ8
User avatar
Bahn Yuki
Posts: 237
Joined: Thu Oct 15, 2015 11:33 pm
Location: Salem OR
Contact:

Re: RetroTink: High Quality 240p from Raspberry PI

Post by Bahn Yuki »

Dochartaigh wrote:I was adding this to my above post as you replied:
Fudoh wrote:Resizing the active image on a set output carrier signal (e.g. a 224-line game on a 240p signal) is rather limited.
P.S. I wanted to mention that the 1600/1920 pixel tweak is supposed to be able to instantly change the resolution from 224 to 240 on the fly whenever you load a new core (or even per-ROM I think but I've never tried it to that level) via the runcommand-onend.sh and runcommand-onstart.sh. So for instance you can play 224p NES (as if you were running a boot/config.txt with a hdmi_timing set to 224), then switch to 240p Genesis and it'll be as if you were running a boot/config.txt with 240...I've honestly still never had this work flawlessly for me, even when I use multiple peoples pre-setup images (but I have a feeling that's related to my other scale issues I've been talking about).


Fudoh wrote:If the raw 240p image of the RP3 is larger than that other systems, that's likely down to the timings of the signal. With the flexibility shown with the RGB-Pi Recalbox image (per system/game resolution changes), maybe it would be possible to alter these timings specs in the first place.
That's the problem - it isn't. The RP3 has a set pixel clock (and is actually slightly off from a regular 15.7XX kHz or whatever NTSC signal), and can only do something like 7x? different timings (and only something like 3? are even useful for retro gaming). This is a hardware limitation of the RP3 so software can't touch this basic fact. This is why they started using the 1600px tweak to begin with - it was the only way to "trick" the system into giving us better performance on CRT monitors with those absolutely HUGE porches...but it just doesn't seem to be perfect (and definitely not my cup of tea and I've literally spent hundreds of hours on the RP3...and still only know like 2% of this crap as most of it is over my head lol).

People with setups like GroovyMAME/CRTEmudriver, over a VGA card, with a virtual unlimited pixel clock can get that pretty exact, and truly switch resolution on the fly (which I'm experimenting with right now with MAME...so can't really comment on how flawless that is quite yet).
I'm confused by your statements. I use 2048x240 for most of my consoles and 2048x224 for some that aren't exactly 240p, e. G. Pc engine. What image are you using because you're stating is a hardware limitation and I don't see that in Retropie.

Sent from my SAMSUNG-SM-G891A using Tapatalk
LG 83C1(OLED),LG 42C2(OLED),TCL 75R635(MiniLED),Apple Studio Monitor 21(PCCRT),SONY 34XBR960(HDCRT)
SONY 32XBR250,Samsung UBJ590(LED),Panasonic P50VT20(Plasma),JVC NZ8
User avatar
Fudoh
Posts: 13044
Joined: Mon Mar 06, 2006 3:29 am
Location: Germany
Contact:

Re: RetroTink: High Quality 240p from Raspberry PI

Post by Fudoh »

Actually, for an alternative fix for this, I had a question into you on the other topic about which jumpers to switch on the Extron RGB 203 Rxi so the centering controls work with ADSP on - which might relate here to this problem. Maybe I can use that to adjust the centering more quickly on the RP3....I've been wanting to try if I can somehow use the VSC 700 which has a glorious SIZE dial along with centering, and maybe somehow mess with that VSC700/203Rxi 240p trick and then be able to scale and center the image on a per-rom/core basis .
can't remember if it was vertical or horizontal sync polarity which you need to flip. Just try it. It's obvious once you see it working. Your VSC700/203Rx plans won't work. With 240p games your ingame pixel line <-> output line mapping is crucial, so you will never get your monitor's scanlines align properly with the game's pixel lines once you start messing with the scaling.

Your only chance to get it look right would be to use a considerably higher output resolution (e.g. 720p), then add overscan in the game (e.g. let a 224 line title run at full 720 lines) and then zoom out while doing the scan conversion down to 15khz. Very tricky to get right.
(but I have a feeling that 240p trick might not give you as good of a signal than the "native" 240p directly from the RP3 since it's running through all these devices
on such a setup you wouldn't use 240p output from the Pi, but use a higher resolution instead which the VSC700 can then convert to 15khz 480i.
Dochartaigh
Posts: 1575
Joined: Thu Mar 02, 2017 6:53 pm

Re: RetroTink: High Quality 240p from Raspberry PI

Post by Dochartaigh »

Fudoh wrote:Your VSC700/203Rx plans won't work.
on such a setup you wouldn't use 240p output from the Pi, but use a higher resolution instead which the VSC700 can then convert to 15khz 480i.
I was going to try to output 480i or 480p from the RP3, then see if the 240p trick (i.e. through the 203's SERR dipswitch) works....but have so many projects it's not funny - who knows when I'll be able to experiment.
Post Reply