hrydgard / ppsspp

A PSP emulator for Android, Windows, Mac and Linux, written in C++. Want to contribute? Join us on Discord at https://discord.gg/5NJB6dD or just send pull requests / issues. For discussion use the forums at forums.ppsspp.org.
https://www.ppsspp.org
Other
11.41k stars 2.19k forks source link

PSP Dev Kit GPO support (for hidden features in retail games only accesible by a PSP DEV kit) #19132

Closed Sukotto-1999 closed 6 months ago

Sukotto-1999 commented 6 months ago

What should happen

PPSSPP should have support in newer versions for emulating the GPI/GPO switches found on the PSP Dev kits, can be useful for hidden features in retail games. For example, Ghostbusters The Video Game should display some sort of Debug Information including the framerate, while PaRappa the Rapper uses the GPO as a metronome (for BPM). The GPO should be displayed in the bottom/top left/right of the screen. (more info here: https://www.youtube.com/watch?v=ioodSTApknM )

Who would this benefit

Someone should reverse engineer the GPI/GPO and code those findings.

Platform (if relevant)

None

Games this would be useful in

Ghostbusters The Video Game, PaRappa the Rapper, etc.

Other emulators or software with a similar feature

No response

Checklist

hrydgard commented 6 months ago

I don't think much reverse engineering is needed. GPI is a set of manual on/off switches, GPO is a bunch of LEDs, presumably. Each I believe is 8 bits in size, so 8 switches and 8 LEDs, and the API to access them is simply the sceKernelSetGPO / sceKernelGetGPI functions.

It's just an implementation task, storing/loading the value, and adding some way to toggle the inputs and display the outputs.

Really not sure what kind of UI we'd want for this.. Ideas welcome!

hrydgard commented 6 months ago

This was a fun one to code up. #19136 implements this, let me know what you think.

GPI switches are currently stored between game sessions but not saved if you close PPSSPP. Not sure what behavior we want there. Maybe they should also be stored in save states..

Sukotto-1999 commented 6 months ago

All done! Turns out, PaRappa the Rapper and Ghostbusters The Video Game aren't the only games on PSP with secrets accessible on a PSP dev kit. Now should find all PSP games with secrets accessible with a PSP dev kit.