mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-09-03 11:15:20 +02:00
Found the cause of the red error screen the VSH ends on. Every resource load in the boot succeeds - fonts, all the plugin RCOs, topmenu_icon.rco - and then: sceIoOpen(flash0:/vsh/etc/index_02g.dat) -> fd 8 sceIoRead(8, 092a2d40, 496) sceIoClose(8) unresolved import sceResmgr/9dc14891, called from 'vsh_module' sceKernelExitDeleteThread(1) index_02g.dat is the index of what the XMB displays, and it is encrypted (it starts "PSPsysGP"). sceResmgr_9DC14891 decrypts it. There was no sceResmgr module at all, so the call trapped, the index stayed encrypted, and the ScePafJob thread building the top menu exited - a shell with everything loaded and nothing to show. This adds the module and the three tags it needs (0x0B2B90F0/91F0/92F0, keys and code 0x5C) to PrxDecrypter. It is not the whole fix yet: pspDecryptPRX() tries decryption types 0, 1, 2, 5 and 6, and this needs type 9, which JPCSP passes explicitly. So the call is now reached and fails cleanly with a logged error instead of trapping, but does not yet decrypt. Type 9 is a variant of type 2 and is the next job; the notes in docs/VSHBootInvestigation.md say where it is in JPCSP and how to check a port (159 bytes out, starting "release:"). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GZq8ZtJmFY7bkX5FVkr3P9
================================================================ NOTE: These are legacy instructions for building using ndk-build. We mostly only use this on CI because it's faster than gradle. There might also be some holdouts around still using eclipse. ================================================================ First, build the C++ static library: > cd android > ./ab.sh Or > ./ab.cmd as appropriate. Start Eclipse, import the android directory as an existing project You need to also load the "native" project into your eclipse workspace Build and run. If you modify the C++ code, you need to rebuild the static library, of course. To get Eclipse to understand that you have in fact changed something if you haven't also changed any Java code, just add a space character to PPSSPPActivity.java, or right click the project and choose Refresh, and then relaunch the app on the device. A real Android device is strongly recommended for testing. Don't trust the emulator.