fgsfdsfgs / sm64-port

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

It doesn't work on the console (PS2) #1

Closed stranno closed 3 years ago

stranno commented 3 years ago

Hey fgsfdsfgs, sorry to bother you after less than 10 commits, but Super Mario 64 doesn't work on the real hardware.

I have tried stripping the executable (ee-strip) and compressing it (ps2-packer) but it just throws a black screen, both through wLauncher and main FMCB menu.

I don't know if its a limitation of the current port or I am doing something wrong.

PCSX2 loads it fine but controls do not work. I'm not sure if that "basic controls" commit is just a preliminar implementation and they should work or they're not implemented yet.

Great work, as always.

fgsfdsfgs commented 3 years ago

That's not something we can debug unless you can get log output from the console itself or there's like an ee-gdb that you can run. I also don't know how exactly PS2 homebrew is usually packaged. I'll alert you when I come up with something solid that you can try.

fgsfdsfgs commented 3 years ago

Are you using Free DVD Boot by any chance? I've heard that can conflict with some addresses used by PS2SDK stuff. Also maybe try with the latest commit, though I doubt it would make any difference. I will look into ps2client and other stuff to try and debug this, but I really ought to get a PS2 and do it myself. EDIT: Oh yeah, do you have an NTSC or PAL console? And what do you use for video output?

stranno commented 3 years ago

Now it works! Gamepad and vsync seem to be broken, like on PCSX2. But topic can be closed.

IMG_20200912_113235

fgsfdsfgs commented 3 years ago

@stranno Did you just rebuild with the latest commit and it just worked? Or did you do something differently? What ELF loader did you end up using?

stranno commented 3 years ago

@stranno Did you just rebuild with the latest commit and it just worked? Or did you do something differently? What ELF loader did you end up using?

Sorry. I closed it before you could answer.

I just compiled it through your latest commit and it worked out of the box. I didn't even stripped the executable since its already small. In previous builds it was like 88MB before stripping and now it is like 12MB.

I haven't tried wLaunch this time, I launched it directly through FMCB menu. It just takes a bit to start, like 10-20 seconds of black screen. But in previous builds I have stayed there for more than that and black screen remained. Maybe I'm wrong and it wasn't a fix of the latest commit. I could have done something wrong before.

fgsfdsfgs commented 3 years ago

It used to build the executable with debug info attached, that's why it was so large. Maybe ee-strip doesn't strip that properly or something. As for controls they work for me on PCSX2. Maybe it uses the second controller port?

stranno commented 3 years ago

It used to build the executable with debug info attached, that's why it was so large. Maybe ee-strip doesn't strip that properly or something. As for controls they work for me on PCSX2. Maybe it uses the second controller port?

Yes! Now controls work properly 😂

Thank you again.

fgsfdsfgs commented 3 years ago

Yeah, I'll have to fix that. I just realized I had the second pad configured in PCSX2.

stranno commented 3 years ago

Yeah, I'll have to fix that. I just realized I had the second pad configured in PCSX2.

Can you add progressive rendering in the future? I guess it could be forced through GSM but it would be great as a native feature.

At least it only outputs interlaced on the console (component cable).

fgsfdsfgs commented 3 years ago

Yeah, it shouldn't be difficult to add mode switching, however you'll probably have to set the video mode manually in a config file or in some kind of options menu, since I think I can only detect the region, not what kind of output you have.