mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-10-01 14:58:14 +00:00
Instead of the PSP's web browser, a dialog shows the URL the game wants and opens it in the host's browser on X, or backs out on O. Either way the game sees the browser closed normally. Platforms that can't open a URL (the new SYSPROP_CAN_LAUNCH_URL) only offer to back out. Only plain printable-ASCII http(s) addresses are handed over, and on Linux without a shell. What the firmware does (sceUtility_Driver, 6.61, plus utility/dialog/htmlviewer): the HtmlViewer has its own state apart from the other dialogs, so they don't block each other, and its calls return WRONG_TYPE until one has started. The request size picks the 2.00 to 3.00 layout, and InitStart allocates 3.5MB of user memory (4.5MB with options bit 0x400 from 2.70 on), failing with 800200d9 without it. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
Build instructions ================== See https://github.com/hrydgard/ppsspp/wiki/Build-instructions . Also, for general information, see https://www.ppsspp.org/docs . SDL2 Game Controller Support Notes ================================== For SDL2 game controller support, at least SDL 2.0.4 is required. Under the assets directory is the SDL2 game controller database: gamecontrollerdb.txt. This file contains many known control pad mappings for Windows, Linux and MAC OS. PPSSPPSDL will load this file at start-up and work out how to assign control pad buttons for your control pad. Hot plugging of control pads is also supported. If you control pad has a "Guide" or "Home" button then when pressed, this will trigger the emulator pause menu, thus allowing you to exit the emulator if you wish or load another game from your library. WSL notes ========= Works fine on WSL2 with OpenGL, at least. For more notes, see https://www.ppsspp.org/docs/development/wsl/ . Running with valgrind ===================== Here's an example where we both use suppressions, and generate new ones (that you can then take from suppressions.log and simplify and copy to valgrind-wsl2.supp): > valgrind --suppressions=SDL/valgrind-wsl2.supp --gen-suppressions=all --log-file=suppressions.log build/PPSSPPSDL Running with ASAN ================= ./b.sh --sanitize build/PPSSPPSDL.app/Contents/MacOS/PPSSPPSDL Running with UBSAN ================== ./b.sh --sanitize --sanitizeub UBSAN_OPTIONS=print_stacktrack=true build/PPSSPPSDL.app/Contents/MacOS/PPSSPPSDL