-
Notifications
You must be signed in to change notification settings - Fork 2.2k
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
Parappa The Rapper hangs #7713
Comments
@tpunix tell us kernel address need change 0x08000000 to 0x88000000 |
No, that's not how it works. On a PSP, 0x08xxxxxx doesn't necessarily work. 0x88xxxxxx is mapped to the same memory. The allocation isn't different. The upper bits are just used for security measures on the PSP. Probably we need a JpcspTrace of this game logging the memory usage. -[Unknown] |
How to log the memory usage with JpcspTrace? |
Try this version: https://github.com/unknownbrackets/JpcspTrace/tree/log-memory Not super well tested. -[Unknown] |
Log which syscalls? |
sceKernelLoadModule 0X977DE386 -[Unknown] |
I don't see anything but "JpcspTrace - module_start" in the log. |
Hmm. It should be loading psmf.prx, which isn't decryptable. Maybe I need to do more tests, I see it's using data=2 and text=2, I vaguely remember these options seemed to be ignored in some cases but maybe it's allocating it in the wrong place. Probably it's not flushing. You'll want to add sceKernelCreateThread or something else to it to ensure it writes out the log (or I can recompile it with flush-every-time, but then it's more likely to crash the game.) -[Unknown] |
Not sure gid15 's JPCSPTrace log useful or not TotalFreeMem=0x17FF900, MaxFreeMem=0x17FF900 full log: |
Oh, hadn't been looking at updates of that. Well, JpcspTrace does still flush every syscall iirc. I should probably add a timer to it to flush after a certain period of time or on a vblank or something. There's probably some relatively safe behavior to be found there. Seems like something returned SCE_KERNEL_ERROR_ILLEGAL_PERM_CALL. We probably don't return that properly in some cases.
This is what's ultimately passed into sceKernelStartModule. Probably some combination of -[Unknown] |
Log other syscall like sceKernelCreateThread would crash PSP. |
I try return SCE_KERNEL_ERROR_ILLEGAL_PERM_CALL in sceKernelLoadModule 19:20:244 root I[KERNEL]: HLE\sceKernelThread.cpp:2171 276=sceKernelCreateThread(user_main, 08804228, 00000020, 262144, 80000000, 00000000) |
fixed in #8043 |
Since unknownbrackets@a16ccf5
debug log(rename jpg to 7z)
master build
revert that change.
The text was updated successfully, but these errors were encountered: