.github | ||
android | ||
assets | ||
cmake | ||
Common | ||
Core | ||
dx9sdk@7751cf73f5 | ||
ext | ||
ffmpeg@b2160ff5e6 | ||
GPU | ||
gradle/wrapper | ||
headless | ||
icons | ||
ios | ||
libretro | ||
macOS | ||
pspautotests@2e02c4a7c0 | ||
Qt | ||
SDL | ||
source_assets | ||
Tools | ||
UI | ||
unittest | ||
UWP | ||
Windows | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.gitlab-ci.yml | ||
.gitmodules | ||
.ycm_extra_conf.py | ||
appveyor.yml | ||
asciifont_atlasscript.txt | ||
b.sh | ||
build_ppgeatlas.sh | ||
build.gradle | ||
buildatlas.sh | ||
CMakeLists.txt | ||
copyrelease.sh | ||
Dockerfile | ||
font_atlasscript.txt | ||
git-version.cmake | ||
gradle.properties | ||
gradlew | ||
gradlew.bat | ||
history.md | ||
LICENSE.TXT | ||
link_readme.py | ||
notinstalled.txt | ||
ppge_atlasscript.txt | ||
ppsspp_config.h | ||
ppsspp.desktop.in | ||
ppsspp.iss | ||
README.md | ||
settings.gradle | ||
tesselationhwON-mesa3drun.sh | ||
test.py | ||
ui_atlasscript.txt |
PPSSPP - a fast and portable PSP emulator
Created by Henrik Rydgård
Additional code by many contributors, see the Credits screen
Originally released under the GPL 2.0 (and later) in November 2012
Official website: https://www.ppsspp.org/
Discord: https://discord.gg/5NJB6dD
No BIOS file required to play, PPSSPP is an "HLE" emulator. Default settings balance good compatibility and speed.
To contribute, see the development page. Help testing, investigating, or fixing is always welcome. See the list of issues.
For the latest source code, see our GitHub page.
For documentation of all kinds (usage, reference, development), see the documentation on the main website
For build instructions and other development tutorials, see the wiki.
If you want to download regularly updated builds for Android, Windows x86 and x64, visit Orphis' buildbot
For game compatibility, see community compatibility feedback.
What's new in 1.16
Special thanks to unknownbrackets for the new JIT compilers, and fp64 for finally cracking the vrnd instruction.
- RetroAchievements support ([#17589], [#17631], many more). See RetroAchievements on ppsspp.org.
- New JIT backends:
- RISC-V, based on IR
- x86 JIT based on IR. Often faster than the existing one.
- Input fixes
- Improve behavior when analog and digital inputs clash ([#17960])
- Combo mapping is now disabled by default ([#17673])
- Android: Better tracking of devices names ([#17562], auto config)
- Fix mapping custom touch buttons to analog inputs ([#17433])
- Rendering performance and fixes
- Fix flicker in WWE Smackdown vs Raw 2006 ([#18009]), video flicker in Naruto 2 ([#18008])
- Fix bad colors in Syphon Filter: Logan's Shadow menu ([#17965])
- On lower-end devices, avoid "uber" shaders due to performance and driver bugs ([#17449], [#17922])
- Allow disabling V-sync on Android with Vulkan, more SDL platforms ([#17903], [#18087])
- On Vulkan, reduce input lag when "Buffer graphics commands" is set to off ([#17831])
- Assorted minor perf ([#17810], [#17505], [#17478], [#17471], [#17452], [#17446], [#17442])
- Fix shadows in MotorStorm ([#17602]) (not actually a rendering problem)
- Fix rendering issue in Lunar Silver Star ([#17451])
- Add a cache for MakePixelsTexture, improving perf in God of War ([#17534])
- Lots of software renderer improvements ([#17571], [#17569], [#17619], [#17621], [#17618], [#17609], ...)
- Networking
- HTTPS support now enabled in store and for RA on Windows, Android, Mac, iOS ([#17744], ...)
- Ad-hoc: Fix for Metal Gear Acid issue with Link Battle ([#17947])
- Texture replacement fixes
- Fix Tactics Ogre texture issues ([#18001], [#18011])
- Fix problem with anisotropic filtering ([#17930])
- Fix glitches on D3D11 with KTX2 textures ([#17749])
- UI changes
- Color emoji support on some platforms ([#17854], [#17856])
- Use TTF fonts on SDL where available (macOS, Linux/Steam Deck) ([#17844]), support HiDPI ([#17651])
- Allow setting the PSP's MAC address directly ([#17755])
- Better looking notifications ([#17606], [#17674], [#17672])
- Cheats
- Fix loading cheat dbs on Android devices with scoped storage ([#17834])
- VR (Quest, other Android VR devices)
- Cinema screen mode improvements ([#17704], [#17752])
- Quest-only passthrough mode ([#17591])
- Cleanups, compatibility fixes, make VR settings per-game ([#17636], [#17656], [#17598], [#17518])
- Other
- Fix horrible audio glitch in After Burner ([#18076])
- Emulate the vrnd instruction accurately ([#17506], [#17549])
- Fix timing issue causing slowdowns in MLB games ([#17676], [#17677])
- UWP keyboard support, many other updates ([#17952], [#17974])
- Allow choosing the display resolution on Android again ([#17473])
- Fix issue running some file types out of the Download folder on Android ([#17466])
What's new in 1.15.4
- Tilt controls: Restore "Low end radius" control ([#17489])
- Android: Restore the ability to choose "display" (hardware scaler) resolution ([#17473])
- Improve the workarounds for the DJ Max games ([#17467])
- Android: Fix running some file formats directly from the Downloads folder ([#17466])
- OpenGL: Restore most of the lost performance on low-end hardware from the shader variant reduction ([#17440, [#17439]])
- Add a simple profiling tool to check CPU usage by the GL backend ([#17475])
- Loader: Fix bug preventing WWE 2009 from starting ([#17435])
- Misc minor fixes and optimizations ([#17442], [#17457], [#17486], [#17446], more)
What's new in 1.15.3
- Assorted minor crash- and other fixes ([#17406], [#17414], [#17415], [#17422])
- Android: Allow launch by content URI (for frontends) ([#17425])
- Control mapping: Fix bugs in mapping UI causing trouble with some controllers ([#17412], [#17420])
What's new in 1.15.2
- Assorted minor crash fixes (#17401, #17399)
- Fix Android 12 support in the Android VR build (avoid scoped storage) ([#17398])
What's new in 1.15.1
- Assorted minor crash fixes (#17374, #17370, #17392, #17394)
- Fix for non-png texture replacements when not listed in textures.ini (#17380)
- Fix for broken tilt d-pad controls (#17393)
- Workaround for Vulkan driver bugs on Mali-T8x0 series GPUs (#17396)
What's new in 1.15
-
Stutter caused by shader compilation has been reduced drastically (#16873)
-
Rendering performance and fixes
- Integer scaling added (#17224)
- Post-processing fixes (#17262)
- SOCOM overlay glitch removed, night vision fixed (#17297, #17317)
- PowerVR compatibility fixes (#17232)
- CLUT fixes (#17212)
- ToP - Narikiri Dungeon X: Avoid GPU readback (#17181, #17191, #17192)
- DTM / Toca: Avoid GPU readback (#16715)
- Fixed Dante's Inferno performance regression (#17032, #17035)
- Fix wrong device selection on Poco C40 phones, causing broken UI (#17027, #17022)
- Rainbow Six GPU performance fix (#16971)
- Subtitles fixed in The Godfather (#17298, #17314)
-
Texture replacement improvements
- Less I/O on the main thread, leading to smoother framerates (#17078, #17091, #17120, #17134)
- Support for KTX2 files with UASTC compressed textures added (#17111 #17104)
- Support for DDS files with BC1-7 textures added (#17083, #17103, #17097, #17096, #17095)
- Improve default ini (#17146)
- Mipmaps now always used if provided (#17144)
- Additional optimizations (#17139, #17088)
-
Optimizations
- Software renderer fixes and performance (#17295, #17214, #17028, #16753, #16706, #16690)
- Vulkan texture upload optimizations (#17052, #17122, #17121, #17114, #17011)
- Depth readback added, fixing lens flares in Syphon Filter (at perf cost..) (#16907, #16905)
- Async readback supported in Vulkan - currently only enabled in Dangan Ronpa (#16910, #16916)
- Lighting shader optimizations (#16791, #16787)
-
Controls
-
VR features
-
Other
- Windows Dark Mode support (#16704)
- GLSL shader compatibility fixes (#16710, #16709)
- GTA math issue on macOS/iOS fixed, playable again (#16928)
- More accurate VFPU emulation has been added, though not all enabled yet (#16984)
- Debugger features and fixes (#17270, #17269, #17263, #17260, #17203, #17190, #17042, #16994, #16988, #16818 etc)
- Rewind savestates no longer slows things down a lot (#17291)
- Chat window bugfixes (#17241)
- IR Jit fixes - helps iOS when native jit is unavailable (#17129)
- Depth-related rendering fixes (#17055, #16880)
- More RISCV support work (#16976, #16957, #16962, #16832, #16829)
- macOS native menu bar (#16922)
- Font fixes (#16859)
- Rockman 2 audio glitch fix (#16810, #16798)
- UI fixes: Vertical use of space (#16795), scrollbars (#16785), touchpad scroll on Windows (#16699)
Looking for older news?
Adhoc support
Not fully functional, but some games work. Check the Ad-Hoc section of the forum for help.
Credit goes to:
- ANR2ME
- Igor Calabria
- coldbird's code
- Kyhel
- And more, of course.
[#17398]: https://github.com/hrydgard/ppsspp/issues/17398 "OpenXR - Cleanup unsupported features, support Android 12"[#17406]: https://github.com/hrydgard/ppsspp/issues/17406 "Even more crash fixes" [#17414]: https://github.com/hrydgard/ppsspp/issues/17414 "GPU: Remove JumpFast/CallFast" [#17415]: https://github.com/hrydgard/ppsspp/issues/17415 "Misc fixes and checks" [#17422]: https://github.com/hrydgard/ppsspp/issues/17422 "Windows: Fix initial window show for all displays" [#17425]: https://github.com/hrydgard/ppsspp/issues/17425 "Android: Explicitly allow content URI intents" [#17412]: https://github.com/hrydgard/ppsspp/issues/17412 "Controller mapping fixes" [#17420]: https://github.com/hrydgard/ppsspp/issues/17420 "Fix glitch when mapping analog inputs, caused" [#17489]: https://github.com/hrydgard/ppsspp/issues/17489 "Restore "low end radius" (inverse deadzone) for tilt input" [#17473]: https://github.com/hrydgard/ppsspp/issues/17473 "Revert "Remove the Android display resolution selector"" [#17467]: https://github.com/hrydgard/ppsspp/issues/17467 "Make the DJ Max workaround more aggressive about hiding stuff." [#17466]: https://github.com/hrydgard/ppsspp/issues/17466 "Fix running some file formats from the Downloads folder" [#17440]: https://github.com/hrydgard/ppsspp/issues/17440 "Revert lmode variant reduction" [#17439]: https://github.com/hrydgard/ppsspp/issues/17439 "Revert "Merge pull request #16628 from hrydgard/remove-fog-fshader-flag"" [#17475]: https://github.com/hrydgard/ppsspp/issues/17475 "Add a trivial profiling tool to the OpenGL backend" [#17435]: https://github.com/hrydgard/ppsspp/issues/17435 "ElfLoader: Don't scan for functions in zero-length sections" [#17442]: https://github.com/hrydgard/ppsspp/issues/17442 "Shrink the GLRRenderCommand struct from 152 to 88" [#17457]: https://github.com/hrydgard/ppsspp/issues/17457 "UI: Fix thread error on zip open failure" [#17486]: https://github.com/hrydgard/ppsspp/issues/17486 "Build fixes for OpenBSD" [#17446]: https://github.com/hrydgard/ppsspp/issues/17446 "OpenGL: Combine some render commands"[#17589]: https://github.com/hrydgard/ppsspp/issues/17589 "Retroachievements support (work-in-progress)" [#17631]: https://github.com/hrydgard/ppsspp/issues/17631 "RetroAchievements: Remaining features to implement" [#17960]: https://github.com/hrydgard/ppsspp/issues/17960 "Controls: Make the analog/digital mapping clash resolution more gentle." [#17673]: https://github.com/hrydgard/ppsspp/issues/17673 "Add checkbox controlling if new mappings can be combo mappings." [#17562]: https://github.com/hrydgard/ppsspp/issues/17562 "Android: Correct pad name tracking" [#17433]: https://github.com/hrydgard/ppsspp/issues/17433 "Custom button analog fix" [#18009]: https://github.com/hrydgard/ppsspp/issues/18009 "Enable [DisallowFramebufferAtOffset] for WWE SvR 2006." [#18008]: https://github.com/hrydgard/ppsspp/issues/18008 "Add heuristic for memory->framebuffer copies, fixing video flicker in Naruto UNH 2" [#17965]: https://github.com/hrydgard/ppsspp/issues/17965 "Add compat flag to not load CLUTs from old framebuffers" [#17449]: https://github.com/hrydgard/ppsspp/issues/17449 "Fragment "ubershader" option" [#17922]: https://github.com/hrydgard/ppsspp/issues/17922 "Add checkboxes in developer tools to allow disabling ubershaders" [#17903]: https://github.com/hrydgard/ppsspp/issues/17903 "Present modes refactor" [#18087]: https://github.com/hrydgard/ppsspp/issues/18087 "Vulkan: Fix disabling VSync on SDL platforms that support IMMEDIATE but not MAILBOX" [#17831]: https://github.com/hrydgard/ppsspp/issues/17831 "Vulkan: Don't use multithreaded rendering if buffer commands (frames in flight) is set to 1" [#17810]: https://github.com/hrydgard/ppsspp/issues/17810 "Cache computed planes used for BBOX culling" [#17505]: https://github.com/hrydgard/ppsspp/issues/17505 "Only dirty the uniform UVSCALEOFFSET when really needed" [#17478]: https://github.com/hrydgard/ppsspp/issues/17478 "OpenGL: Efficiency improvements for stencil commands" [#17471]: https://github.com/hrydgard/ppsspp/issues/17471 "Reduce zero initialization and copying overhead of render commands" [#17452]: https://github.com/hrydgard/ppsspp/issues/17452 "Don't cache render target copies for shader blending, only cache copies for overlap" [#17602]: https://github.com/hrydgard/ppsspp/issues/17602 "Loader: Support HI16/16 pairs, not just LO16" [#17451]: https://github.com/hrydgard/ppsspp/issues/17451 "Rendering issue with tornado in Lunar Silver Star" [#17534]: https://github.com/hrydgard/ppsspp/issues/17534 "Add a cache for MakePixelsTexture" [#17571]: https://github.com/hrydgard/ppsspp/issues/17571 "softgpu: Use SIMD more for dot products" [#17569]: https://github.com/hrydgard/ppsspp/issues/17569 "ARM64: Optimize saved registers in vertex decoder." [#17619]: https://github.com/hrydgard/ppsspp/issues/17619 "softgpu: Improve Z interpolation SIMD" [#17621]: https://github.com/hrydgard/ppsspp/issues/17621 "softgpu: Ensure early depth test uses SIMD" [#17618]: https://github.com/hrydgard/ppsspp/issues/17618 "Optimize casts in softgpu" [#17609]: https://github.com/hrydgard/ppsspp/issues/17609 "softgpu: Optimize (bi-)linear texture filtering" [#17744]: https://github.com/hrydgard/ppsspp/issues/17744 "Initial HTTPS support via Naett (partial platform support)" [#17947]: https://github.com/hrydgard/ppsspp/issues/17947 "[Adhocctl] Fix for Metal Gear Acid issue" [#18001]: https://github.com/hrydgard/ppsspp/issues/18001 "Enable the FakeMipmapChange flag for US/EU Tactics Ogre, fixing replacement problem." [#18011]: https://github.com/hrydgard/ppsspp/issues/18011 "Detect the simplest Tactics Ogre case (US/EU) early" [#17930]: https://github.com/hrydgard/ppsspp/issues/17930 "Enable anisotropic filtering for replacement textures with mipmaps" [#17749]: https://github.com/hrydgard/ppsspp/issues/17749 "In D3D11, force block compressed textures to have dimensions divisible" [#17854]: https://github.com/hrydgard/ppsspp/issues/17854 "Implement color emoji support for Android" [#17856]: https://github.com/hrydgard/ppsspp/issues/17856 "Windows UWP: Enable color emoji rendering through DirectWrite" [#17844]: https://github.com/hrydgard/ppsspp/issues/17844 "SDL: text renderer fixes, and CI" [#17651]: https://github.com/hrydgard/ppsspp/issues/17651 "SDL: support HiDPI on wayland" [#17755]: https://github.com/hrydgard/ppsspp/issues/17755 "Allow entering an exact Mac address, while keeping the randomization ability" [#17606]: https://github.com/hrydgard/ppsspp/issues/17606 "OSD: Add colored backgrounds to OSD messages, according to type." [#17674]: https://github.com/hrydgard/ppsspp/issues/17674 "New UI view: Notice" [#17672]: https://github.com/hrydgard/ppsspp/issues/17672 "Android: Show some Java exceptions as they happen" [#17834]: https://github.com/hrydgard/ppsspp/issues/17834 "OpenCFile: Fix Android content-uri append mode" [#17704]: https://github.com/hrydgard/ppsspp/issues/17704 "OpenXR - Enhancements of cinema-style screen" [#17752]: https://github.com/hrydgard/ppsspp/issues/17752 "OpenXR - Enable 6DoF in cinema mode" [#17591]: https://github.com/hrydgard/ppsspp/issues/17591 "OpenXR - Add passthrough option (Quest only)" [#17636]: https://github.com/hrydgard/ppsspp/issues/17636 "OpenXR - Major review" [#17656]: https://github.com/hrydgard/ppsspp/issues/17656 "OpenXR - Game compatibility fixes" [#17598]: https://github.com/hrydgard/ppsspp/issues/17598 "OpenXR - Disable stereo for Ultimate Ghosts and Goblins" [#17518]: https://github.com/hrydgard/ppsspp/issues/17518 "OpenXR - Enable VR settings per game" [#18076]: https://github.com/hrydgard/ppsspp/issues/18076 "SasAudio: Always reinitialize the VAG decoder on sceSasSetVoice, even if already playing" [#17506]: https://github.com/hrydgard/ppsspp/issues/17506 "Emulating HW vrnd" [#17549]: https://github.com/hrydgard/ppsspp/issues/17549 "Fix vrnd to the current understanding" [#17676]: https://github.com/hrydgard/ppsspp/issues/17676 "Reduce delays in sceKernelReferThreadProfiler/ReferGlobalProfiler." [#17677]: https://github.com/hrydgard/ppsspp/issues/17677 "Kernel: Use lower profiler func timing" [#17952]: https://github.com/hrydgard/ppsspp/issues/17952 "[UWP] Improvements 2 (Configs, Render, Input)" [#17974]: https://github.com/hrydgard/ppsspp/issues/17974 "(UWP) Another Round of Code Cleanups"