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
Henrik Rydgård 0d28d3e009
Merge pull request #18562 from LunaMoo/crypto
Add more crypto keys
2024-01-28 19:17:31 +01:00
.github Minor changes in manual_generate_apk.yml 2023-12-28 13:00:21 +07:00
android Android buildfix 2024-01-28 16:37:59 +01:00
assets Merge pull request #18773 from TotalCaesar659/patch-1 2024-01-28 16:26:57 +01:00
cmake Build for tvOS as a libretro core 2023-02-07 12:11:35 -05:00
Common Fix some longstanding issues with the GameInfoCache and optimize away double work 2024-01-28 16:23:27 +01:00
Core Merge pull request #18562 from LunaMoo/crypto 2024-01-28 19:17:31 +01: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 Add proper checks for file type when picking a background image 2024-01-27 12:03:01 +01:00
ffmpeg@82049cca2e Bump ffmpeg submodule 2023-10-15 07:58:30 +02:00
GPU v1.17 2024-01-27 14:48:00 +01:00
gradle/wrapper Upgrade gradle again 2024-01-17 23:38:49 +01:00
headless Replace "ReadFileToString" with a few semantically clearer wrappers. 2024-01-25 09:55:54 +01:00
icons Add gold icon for Mac 2023-04-19 14:12:13 +02:00
ios Make some global string pointers const, not just the strings. 2023-12-29 14:09:45 +01:00
libretro Preparations for reworking the memstick folder move functionality 2024-01-22 15:56:07 +01: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 AdrenoTools: Fix picking zip files from the Downloads folder. Add more validation. 2024-01-15 11:46:41 +01:00
SDL SDL: Remove unnecessary sleeps in the SDLMain loop (we now handle it in NativeFrame) 2024-01-27 11:30:29 +01:00
source_assets Add play/pause button to the bottom right of the pause screen 2023-12-11 13:56:16 +01:00
Tools Translation keys etc: Address feedback from TotalCaesar659 2024-01-23 19:23:23 +01:00
UI Merge pull request #18775 from hrydgard/gameinfocache-fixes 2024-01-28 17:17:33 +01:00
unittest Linux buildfix attempt 2023-10-29 23:39:25 -06:00
UWP v1.17 2024-01-27 14:48:00 +01:00
Windows Folder browser (like when clicking Browse...): Preinitialize with the current folder. 2024-01-25 12:47:37 +01: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 libretro: build tvos with ffmpeg 2023-10-15 14:31:09 -04:00
.gitmodules Implement custom driver loading for ARM64 Android devices 2023-12-14 08:53:03 +03: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 Upgrade gradle again 2024-01-17 23:38:49 +01:00
buildatlas.sh Add play/pause button to the bottom right of the pause screen 2023-12-11 13:56:16 +01:00
CMakeLists.txt Preparations for reworking the memstick folder move functionality 2024-01-22 15:56:07 +01: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 Fix some gradle deprecation warnings 2024-01-17 23:43:00 +01: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 readme 2024-01-27 10:55:42 +01: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 Fix readme 2023-09-08 17:03:05 +02: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 Merge pull request #18498 from KatyushaScarlet/dev-loongarch64 2023-12-09 17:42:17 +01: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 readme 2024-01-27 10:55:42 +01: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 play/pause button to the bottom right of the pause screen 2023-12-11 13:56:16 +01: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.17

  • Rendering performance and fixes
    • Fix for very old rendering issue in Tokimeki Memorial 4 (#18650)
    • Performance improvement in Tactics Ogre by avoiding a readback (#18599)
    • Cull small draws that are quick to check that they are offscreen (#18446)
    • Assorted optimizations (#18586, #18573, #18476, #18413, #18416, #18219)
    • Fix HUD in Tiger Woods 06 (#18554)
    • Adrenotools support added - you can now load custom Vulkan drivers on Adreno (#18532, #18548, #18699)
    • Fix rendering with bad Z parameters, fixes homebrew Zig example (#18535)
    • Fix Z problem in Hayate no Gotoku!! Nightmare Paradise #18478
    • Fix frozen pitch meters in MLB games (#18484)
    • Enable MSAA on modern mobile devices (Vulkan-only) (#18472)
    • Fix video flicker in Naruto: Ultimate Ninja Heroes 2 (#18454)
  • UI
    • Track total time played per game (#18442)
    • When opening the pause menu, there's now an option to keep the game running behind the menu. This is enforced in multiplayer to avoid inadvertent desyncs (#18517, #18515)
  • ISO loading improvements
  • Controller and touchscreen fixes
    • More control bindings, organize into categories (#18635, #18589)
    • Fix inverse deadzone (low end) for joystick input
    • Fix analog deadzones for XInput controllers (#18407)
    • Improved tilt control further (#18533)
    • Mouse input supported on Android (#18551, #18473)
    • Customizable threshold for analog-trigger to button-press mapping, customizable delay for mouse-scroll key-up (#18621, #18585)
    • Make it work better to bind an analog stick to four buttons, useful for camera control in some games
    • Can now unpause with the key you bound to pause (#18591)
  • Other fixes and updates
    • More work on the IR JITs (#18234, #18235, #18228, #18227, #18226, many more)
    • Moving the memstick directory on Android is now faster and safer #18744
    • Workaround problems in Add Doko Demo Issho, Driver 76, Harukanaru Toki no Naka, Ace Combat by slowing down the emulated UMD drive to match reality better (#18436, #18445)
    • VR: Quest 3 rendering issues fixed (#18677)
    • Various bugfixes in texture replacement (#18638, #18610, #18519, #18466, #18747)
    • RetroAchievements: Rich presence, renamed Challenge Mode back to the recommended Hardcore Mode, various error handling improvements, configure per game (#18468, #18651, #18488, #18428, #18425)
    • HLE: Slice large-and-slow memcpy/memset operations, can help with some stalls. (#18560)
    • Other various minor fixes and optimizations (#18558, #18555, #18538, #18529, #18450, #18314, #18233, #18678, #18749, #18736, #18704)
    • SoftGPU fixes (#18362)
    • Fixed international fonts on Steam Deck (#18732, #18734)
    • GoExplore (GPS app) now starts up and allows navigation (#18665, #18666, #18668, #18669)
    • SDL: Improve input latency in Vulkan mode by running rendering on a separate thread (#18268)
    • Assorted multiplayer fixes (#18435)
    • Support for emulating the infrared port of the original PSP through sceSircs (#18684)

What's new in 1.16.6

  • Fix performance issue with Vulkan descriptor set allocation (#18332)
  • Smoother loading of replacement textures
  • Fix the store on iOS (#18323)
  • Fix problem with waves background (#18310)
  • Some translation updates
  • Other minor fixes

What's new in 1.16.5

  • Additional crash and memory-leak fixes (#18243, #18244, #18247)
  • Revert bad change that broke things with hardware transform turned off (#18261)
  • Fix menu texture problem in Naruto Kizuna Drive in OpenGL (#18255)
  • Apply flicker fix to WWE SvR 2007
  • More efficient handling of accelerometer events (#18250)
  • Fix for jumpy graphics in Harvest Moon (#18249)

What's new in 1.16.4

What's new in 1.16.3

  • Fix crash bug and performance issue in Vulkan shader cache (#18183, #18189)
  • Fix crash in icon loading in homebrew store (#18185)
  • Add some memory safety check (#18184, #18194)
  • Fix problem when changing backend from the Windows menu (#18182)

What's new in 1.16.2

  • Fix for HTTP support on Linux on networks with shaky or incomplete IPv6 support
  • Assorted fixes for leaks and crashes (#18169, #18151)
  • Fix hang when switching UMD with RetroAchievements enabled (#18143)
  • Fix math bug in new IR JIT for x86 (#18165)
  • Minor math optimization -fno-math-errno (#18158)
  • Fix for software renderer crash

What's new in 1.16.1

  • Move RetroAchievements to the Tools tab in settings (#18127)
  • Fix graphics regressions in Hot Shots Golf 2 / Everybody's Golf 2 and Final Fantasy Tactics (#18142)
  • Fix hang on startup with OpenGL, that happened often if "buffer commands" was set to off.
  • Fix problem with the sc instruction that broke Beats (#18133, #18140)
  • Fix problem with the chat window accidentally closing on typing X (#18135)
  • Fix some crashes, add some asserts and reporting hooks (#18129)
  • Fix some text rendering in the software renderer (#18126)

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)
  • 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)

Older news

Looking for older news?

You can also find the full update history on the website.

Adhoc support

Not fully functional, but some games work. Check the Ad-Hoc section of the forum for help.

Credit goes to: