DirtBagXon / hypseus-singe

Hypseus is a SDL2 version of Daphne and Singe. Laserdisc game emulation.
https://discord.gg/dgCsCfmRfJ
GNU General Public License v3.0
143 stars 19 forks source link

GPi 2 Case Displaying Wrong Aspect Ratio #129

Closed robbalvey closed 7 months ago

robbalvey commented 8 months ago

I've got the core up and running on the GPi 2 case from RetroFlag but several of the homebrew games that are meant for 16:9 are showing up in the wrong aspect ratio on the smaller 4:3 screen. Is there a way to change this? Thank you.

423062654_881707683752537_211103034878906664_n 423105523_1473148756744055_396184770646437682_n 423541837_1092772908584717_6173867228303765665_n

DirtBagXon commented 8 months ago

Make sure you have the latest LUA from: https://github.com/DirtBagXon/hypseus_singe_data/tree/master/00-singe2-ports-sbc/dltv

I think that's the version you are trying to run on that unit ?

It is possible that SDL doesn't report the correct screen size on that device.

You could try forcing a screen resolution with the -x- and -y arguments to see if that makes a difference. But make sure that your width is correct in relation to the actual resolution of the screen as these arguments now give absolute dimensions, so if you give a width wider than the resolution it will disappear off the edges of the screen, as it appears to now.

robbalvey commented 8 months ago

Yes, everything is up to date from the current RetroPie-Setup. I'll try the x/y arguments now. Thank you.

robbalvey commented 8 months ago

OK so I changed to this: "/opt/retropie/emulators/hypseus/hypseus.bin" singe vldp -retropath -manymouse -script "$dir/$name.singe" -framefile "$dir/$name.txt" -homedir "/opt/retropie/emulators/hypseus" -x 640 -y 480 $params else "/opt/retropie/emulators/hypseus/hypseus.bin" "$name" vldp -framefile "$dir/$name.txt" -homedir "/opt/retropie/emulators/hypseus" -x 640 -y 480 $params

And most certainly fixed the video display issues, thank you! However, you can see that some of the elements like score, number of lives, etc, still appear in the wrong spot: 423541782_410199531408804_888515155171208443_n

Any idea on how to fix that?

DirtBagXon commented 8 months ago

I just read up on the Gpi Case 2 specs: https://retroflag.com/gpi_case_2.html

3.0 inch TFT screen (640*480)

There is not a lot of room for wiggle there.

You have specified a 4:3 ratio 640x480, the overlay is designed to work in 16:9

You need -x 640 -y 360 - for 16:9 in that world. See if that works.

I forced the game to that resolution on a standard screen, see below and overlay is correct, no idea if it will work on that unit.

Can you also confirm you are running v2.11.1

hypseus-46

robbalvey commented 8 months ago

Here is what -y 360 did: 423472114_2142112612810199_7530769554411766017_n

And here is the version I'm using. I just right now grabbed from source again: 423221250_7077930232336717_7042307251066972832_n

And here is my command line:

!/bin/bash

dir="$1" name="${dir##/}" name="${name%.}"

if [[ -f "$dir/$name.commands" ]]; then params=$(<"$dir/$name.commands") fi

if [[ -f "$dir/$name.singe" ]]; then "/opt/retropie/emulators/hypseus/hypseus.bin" singe vldp -retropath -manymouse -script "$dir/$name.singe" -framefile "$dir/$name.txt" -homedir "/opt/retropie/emulators/hypseus" -x 640 -y 360 $params else "/opt/retropie/emulators/hypseus/hypseus.bin" "$name" vldp -framefile "$dir/$name.txt" -homedir "/opt/retropie/emulators/hypseus" -x 640 -y 360 $params fi

robbalvey commented 8 months ago

Even did a test on a little tiny video box and the video is displaying okay but still not the overlay elements. I just checked my version on the Pi 4 build and everything is working and displaying fine. Even did a fresh install of the ROM from that build and it is still coming up weird on the GPi small video

DirtBagXon commented 8 months ago

I'm not sure what else to suggest. I don't think 16:9 on this little display is gonna work.

The reason is unclear without the actual hardware.

robbalvey commented 8 months ago

I very much appreciate your help! I realize this is an odd console to play it on (but I do love me some Daphne on the go!) lol

What's odd is that I can get the video to display correctly, along with the arrow and "game over" elements, it really only seems to be the score that is the issue. And I've tested it on several games now and it's all of the homebrews that this seems to happen on...

arrow

wrong

robbalvey commented 8 months ago

What would the script file be that tells the scoreboard where to be located on the screen? Maybe I can try messing around with that...

DirtBagXon commented 8 months ago

It's different in every game, but will be LUA functions in the .singe files.

But I suspect it's deeper than that as "overlays" should cover the whole video screen display area.

To be honest I don't recall seeing such behaviour before to be able to pinpoint it without debugging on the hardware. This is a guess, but I think the SDL implementation is probably reporting incorrect display information.

robbalvey commented 8 months ago

It's different in every game, but will be LUA functions in the .singe files.

But I suspect it's deeper than that as "overlays" should cover the whole video screen display area.

To be honest I don't recall seeing such behaviour before to be able to pinpoint it without debugging on the hardware. This is a guess, but I think the SDL implementation is probably reporting incorrect display information.

I suspect you are right on all of these. At least that will give me something to hack around with, and worst case scenario, arcade ports seems to work okay, this really only seems to affect the homebrews (which I adore!) but I can always play those on the Pi 4 build.

Thanks again for your time.

DirtBagXon commented 7 months ago

Going to close this down, as I'm not sure how to proceed without the hardware at this point.

DirtBagXon commented 6 months ago

Just to ping you on this again, a recent issue was seen in Batocera builds that has now been fixed in the 2.11.2 release.

That issue may be related to what you saw here. No promises, but it might be worth a try.