mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-08-31 09:45:24 +02:00
The HLE surface of flash0:/kd/vshbridge.prx, which exposes a bunch of otherwise-kernel-only functionality (controller reads, LoadExec variants, audio/ME/display bits, MagicGate memory stick audio, etc.) to the VSH. All 68 NIDs and their known names/signatures come from JPCSP; stubbed out returning UNIMPL like sceVshCommonUtil, since none have been implemented yet. Boot-tested vshmain.prx against a real flash0 dump (via a new --flash0=DIR headless option) and found it imports 53 sceVshBridge NIDs and 22 sceVshCommonGui NIDs beyond what JPCSP documents - this firmware (6.6x) is newer than JPCSP's primary target. Added the 53 unknown sceVshBridge ones as UNIMPL stubs, matching the existing convention. Wired the 3 functions JPCSP itself implements for real: vshCtrlReadBufferPositive, vshKernelExitVSH, and vshKernelLoadModuleBufferVSH now forward directly to PPSSPP's existing sceCtrlReadBufferPositive, sceKernelExitGame, and sceKernelLoadModuleBufferUsbWlan (all three now exposed non-static for reuse). sceVshBridge's own vshbridge.prx is kernel-mode, and PPSSPP's simplified boot never runs a real kernel-module bootstrap sequence, so it likely never gets a chance to load for real under the current architecture - kept its stubs as-is. Verified no regression: same 11 passed / 9 pre-existing-failed split on pspautotests/tests/cpu/* before and after. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PSNaZnHCjmryS3ziVN9gZU
================================================================ 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.