fgsfdsfgs / sm64-port

PS2, PS3, OG Xbox and DOS ports of sm64-port.
https://discord.gg/7bcNTPK
243 stars 38 forks source link

game forces 50hz on PAL systems #17

Open mohabs opened 3 years ago

mohabs commented 3 years ago

greetings. the PS2 ntsc titles are played via OPL @60hz by default but since this port is executed from an (.elf) file it forces the system's default interlaced resolution and refresh rate. now i dunno if this port is meant to run in interlaced mode, but i really prefer the original res (320x240p) especially that i am playing my PS2 on a crt. much appreciated if a fix is implemented for res & refresh rate.

EDIT: as a matter of fact, i tried to force progressive res through old standalone GSM, which is supposed to be 720x240 but something fishy goes on, it doesn't look correct like other 240p titles on the PS2 or even the ps1. i assume that the horizontal value is the problem. however i am not sure if the PS2 is capable of displaying 320 horizontal. tho ps1 games are supposed to be 320x240 and that the PS2 runs them in the correct horizontal value.

fgsfdsfgs commented 3 years ago

I don't entirely understand how GSM works or how normal PS2 games detect resolutions. I don't have a PS2 either, so I can't find out via trial and error. What the game does right now is pick either the default PAL or the default NTSC resolution depending on your BIOS version, both of which happen to be interlaced. I could come up with some kind of settings menu where you select the resolution to be used on the next startup I guess.

qad114 commented 3 years ago

I've had the same issue with my PAL PS2. The game runs at 50Hz. A workaround I found is to build the ELF into an ISO and run that using OPL. Within OPL, I use GSM to force NTSC. This has the side effect of cropping out the sides of the image though (I assume due to the difference between 480i and 576i).

Side note: Thank you for this port! Playing SM64 on a PS2 feels unreal.

mohabs commented 3 years ago

greetings again! today i tried compiling the game with changing this line " window_width/Height = gs_global" to the desired 320x240. the game launches with a white screen but audio works in the background normally. any suggestions would be appreciated.