A PSP emulator for Android, Windows, Mac and Linux, written in C++. Want to contribute? Join us on Discord at https://discord.gg/5NJB6dD or just send pull requests / issues. For discussion use the forums at forums.ppsspp.org.
Go to file
2023-09-08 13:32:35 +02:00
.github GitHub: Disable ccache on macOS builds. 2023-09-05 21:00:23 -07:00
android Vulkan: Fix disabling VSync on SDL platforms that support IMMEDIATE but not MAILBOX 2023-09-06 18:46:19 +02:00
assets Update Swedish translation 2023-09-07 13:57:49 +02:00
cmake Build for tvOS as a libretro core 2023-02-07 12:11:35 -05:00
Common Slight OSD message duration tweak. 2023-09-08 12:33:00 +02:00
Core Fix very old typo in memmap table, for the unusual "kernel+uncached" combination 2023-09-08 12:02:56 +02:00
dx9sdk@7751cf73f5 Windows: d3dcompiler_47.dll is redistributable, so add it to our installation package scripts. 2017-03-22 13:44:44 +01:00
ext Move the HAVE_SYSCTLBYNAME definition out of X86, remove the previous workaround 2023-09-03 15:19:02 +02:00
ffmpeg@b2160ff5e6 Bump ffmpeg submodule 2023-08-25 07:28:56 +02:00
GPU Merge pull request #18099 from unknownbrackets/include-guards 2023-09-08 08:33:53 +02:00
gradle/wrapper Android: Upgrade to the latest gradle version. 2023-04-18 10:47:36 +02:00
headless RetroAchievements: Add parameter to SetGame for IdentifiedFileType, also add bool return to SaveSecret 2023-09-06 10:56:51 +02:00
icons Add gold icon for Mac 2023-04-19 14:12:13 +02:00
ios Control: Change internal interfaces to batch-process input axis updates 2023-08-31 11:55:53 +02:00
libretro RetroAchievements: Add parameter to SetGame for IdentifiedFileType, also add bool return to SaveSecret 2023-09-06 10:56:51 +02:00
macOS Add NSHighResolutionCapable 2023-08-02 22:34:46 +08:00
pspautotests@2e02c4a7c0 Update pspautotests submodule 2023-03-31 20:59:45 +02:00
Qt Control: Change internal interfaces to batch-process input axis updates 2023-08-31 11:55:53 +02:00
SDL Vulkan: Fix disabling VSync on SDL platforms that support IMMEDIATE but not MAILBOX 2023-09-06 18:46:19 +02:00
source_assets Add a bunch of new icon images to the atlas. 2023-07-24 14:52:32 +02:00
Tools Update translation files with new strings. 2023-08-23 17:54:28 +02:00
UI Add fp64 to credits list 2023-09-08 12:51:57 +02:00
unittest RetroAchievements: Add parameter to SetGame for IdentifiedFileType, also add bool return to SaveSecret 2023-09-06 10:56:51 +02:00
UWP arm64jit: Add initial base for IR jit. 2023-09-03 12:14:28 -07:00
Windows Ctrl+X -> Ctrl+H for closing the bottom tabs 2023-09-07 14:39:15 +03:00
.editorconfig Net: Ignore SIGPIPE errors on POSIX systems. 2022-04-03 06:57:45 -07:00
.gitattributes Add a .gitattributes to normalize newlines. 2014-09-26 21:20:50 -07:00
.gitignore Add *.ctags to .gitignore 2023-08-27 12:12:19 +03:00
.gitlab-ci.yml Build for tvOS as a libretro core 2023-02-07 12:11:35 -05:00
.gitmodules Switch the naett submodule back to the upstream repo 2023-07-31 23:33:24 +02:00
.ycm_extra_conf.py Merge ext/native/ext/... directly into ext. 2020-09-30 00:30:42 +02:00
appveyor.yml Appveyor: disable scanning for tests. 2017-03-20 07:22:11 -07:00
asciifont_atlasscript.txt Split the atlas into three, well two, but two different cases for the fonts. 2021-12-10 23:22:08 +01:00
b.sh Add --reldebug to b.sh, useful when valgrinding 2023-04-27 12:06:35 +02:00
build_ppgeatlas.sh Switch all images to dynamic lookup in the atlas by string ID. 2020-03-01 12:06:47 +01:00
build.gradle Bump gradle, after updating Android Studio again 2023-08-30 13:22:56 +02:00
buildatlas.sh Build: Remove old-style android/assets/. 2021-12-11 09:01:15 -08:00
CMakeLists.txt Merge branch 'master' into dev-loongarch64 2023-09-04 21:12:40 +08:00
copyrelease.sh Update copyrelease.sh 2017-05-17 20:20:47 +03:00
Dockerfile Generate dockerfile in GHA 2022-02-07 23:34:02 +01:00
font_atlasscript.txt Split the atlas into three, well two, but two different cases for the fonts. 2021-12-10 23:22:08 +01:00
git-version.cmake Build: Avoid git-version regen if matching. 2022-12-24 17:42:09 +00:00
gradle.properties Apply recommended changes to gradle.properties 2023-04-18 10:47:36 +02:00
gradlew Add Gradle build. This time, we don't remove the old build system and we don't switch Travis. 2017-03-15 19:42:17 +01:00
gradlew.bat Add Gradle build. This time, we don't remove the old build system and we don't switch Travis. 2017-03-15 19:42:17 +01:00
history.md Linkify 2023-09-08 13:14:51 +02:00
LICENSE.TXT Switch to "GPL 2.0 or later" for various reasons. I wrote most of the code I imported from Dolphin (which is GPL2-but-not-later), so it should be OK. 2012-11-04 23:24:00 +01:00
link_readme.py Re-link the readme 2022-12-13 10:11:17 +01:00
notinstalled.txt Add InnoSetup script to make a basic installer. 2013-10-15 11:55:02 +02:00
ppge_atlasscript.txt Update PPGE atlas (font used for in-game save dialogs etc) 2016-02-15 19:24:39 +01:00
ppsspp_config.h Add basic support for loongarch64 2023-09-02 02:08:43 +08:00
ppsspp.desktop.in Improve Freedesktop integration 2022-10-05 01:21:52 +02:00
ppsspp.iss Add assets/vfpu to Windows installer generator script 2023-09-08 13:32:35 +02:00
README.md Linkify 2023-09-08 13:14:51 +02:00
settings.gradle Remove duplicate library; use the existing one 2018-10-06 20:01:28 +03:00
tesselationhwON-mesa3drun.sh Script mesa3d enable for HW Tesselation 2017-01-28 04:47:41 +11:00
test.py headless: Update tests. 2022-12-01 01:36:30 -08:00
ui_atlasscript.txt Add a bunch of new icon images to the atlas. 2023-07-24 14:52:32 +02:00

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

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:

[#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"