Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

is there a ppsspp sdk to read ppsspp user memory? #9952

Closed
weituotian opened this issue Sep 3, 2017 · 6 comments
Closed

is there a ppsspp sdk to read ppsspp user memory? #9952

weituotian opened this issue Sep 3, 2017 · 6 comments
Milestone

Comments

@weituotian
Copy link

i plan to write a program about cheating some games.
so i need to read or write the user memory, of runing ppsspp program.
is there a ppsspp sdk can be include in my c program to finish that?

@hrydgard
Copy link
Owner

hrydgard commented Sep 3, 2017

No, currently the only quick option is to write your cheat in Action Replay commands and use the existing cheat facility.

Or you can simply modify PPSSPP itself, though it won't be convenient for others to use your stuff.

(I think some people have had success with CheatEngine or whatever it's called as well).

@weituotian
Copy link
Author

weituotian commented Sep 3, 2017

@hrydgard
thanks for your reply!

i had a case below that,

image

the Visual novel game is ULJM06232グリザイアの果実download
i had found the 0x09CA6704 is starting address of the text in this game.

image

i want to read the bytes in this address 0x09CA6704
and convert it to string, then send it to the online translation engine to translate the text.

i am using windows os, and confused about how to get the starting address of the ppsspp memory.

@unknownbrackets
Copy link
Collaborator

It would probably be doable to have a simple API for things like this.

That said, the data in question may likely be on the disc. Commonly people translate this on disc.

Anyway, I do currently have a hacked version of PPSSPP (for a specific game) which hooks a certain PSP function, and looks up replacement text from a webservice (in case it's been translated since this build.) It's definitely useful, and also allows for logging and save states when new strings are encountered.

Would probably be doable to add an dll/so API with:

  • Basic events: start game, stop game, display flip.
  • Allow registering a replacement entry.
  • Allow capturing a screenshot.
  • Allow capturing a save state.

But that'd still not really cover my use case, as I also allocate a small chunk of kernel RAM for the replacement string, and add config settings to the UI.

-[Unknown]

@hrydgard
Copy link
Owner

Or maybe game specific lua scripts. ULUS12345.lua etc :)

@unknownbrackets
Copy link
Collaborator

After more thought I've started to create a WebSocket API (this would also allow remote debugging of mobile devices), in #10909. I think this will cover your use case, but let me know if you have any opinions.

-[Unknown]

@unknownbrackets
Copy link
Collaborator

Please see here: https://github.com/unknownbrackets/ppsspp-api-samples/tree/master/js

There's a sample with the ability to read and write memory. We could add more APIs and features, of course, but I think this may already allow the online translation thing noted here.

Closing this as such.

-[Unknown]

@unknownbrackets unknownbrackets added this to the v1.11.0 milestone Dec 31, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants