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 21ffc37ebd
Some checks are pending
Build / build-windows (ARM64) (push) Waiting to run
Build / build-windows (x64) (push) Waiting to run
Build / build-uwp (push) Waiting to run
Build / test-windows (push) Blocked by required conditions
Build / build (./b.sh --headless --unittest --fat --no-png --no-sdl2, clang, clang++, test, macos, macos-latest) (push) Waiting to run
Build / build (./b.sh --headless --unittest, clang, clang++, test, clang-normal, ubuntu-latest) (push) Waiting to run
Build / build (./b.sh --headless --unittest, gcc, g++, gcc-normal, ubuntu-latest) (push) Waiting to run
Build / build (./b.sh --ios, clang, clang++, ios, ios, macos-latest) (push) Waiting to run
Build / build (./b.sh --libretro_android ppsspp_libretro, clang, clang++, android, android-libretro, ubuntu-latest) (push) Waiting to run
Build / build (./b.sh --qt, gcc, g++, qt, qt, ubuntu-latest) (push) Waiting to run
Build / build (cd android && ./ab.sh -j2 APP_ABI=arm64-v8a OPENXR=1, clang, clang++, android, android-vr, ubuntu-latest) (push) Waiting to run
Build / build (cd android && ./ab.sh -j2 APP_ABI=arm64-v8a UNITTEST=1 HEADLESS=1, clang, clang++, android, android-arm64, ubuntu-latest) (push) Waiting to run
Build / build (cd android && ./ab.sh -j2 APP_ABI=armeabi-v7a UNITTEST=1 HEADLESS=1, clang, clang++, android, android-arm32, ubuntu-latest) (push) Waiting to run
Build / build (cd android && ./ab.sh -j2 APP_ABI=x86_64 UNITTEST=1 HEADLESS=1, clang, clang++, android, android-x86_64, ubuntu-latest) (push) Waiting to run
Build / build (make -C libretro -f Makefile -j2, clang, clang++, libretro, clang-libretro, ubuntu-latest) (push) Waiting to run
Build / build (make -C libretro -f Makefile -j2, gcc, g++, libretro, gcc-libretro, ubuntu-latest) (push) Waiting to run
Build / test (macos-latest) (push) Blocked by required conditions
Build / test (ubuntu-latest) (push) Blocked by required conditions
Build / build_test_headless_alpine (push) Waiting to run
Generate Docker Layer / build (push) Waiting to run
Merge pull request #19645 from hrydgard/more-buffer-opt
Optimize Buffer slightly more, fix using touchscreen controls using the mouse
2024-11-22 11:06:34 +01:00
.github Merge pull request #19371 from fjtrujy/master 2024-08-24 16:57:01 -06:00
android Add a "reason" argument to sleep_ms(). 2024-11-21 15:28:51 +01:00
assets Add a way to access the ImDebugger from the DevMenu 2024-11-21 15:48:18 +01:00
cmake Warning fixes 2024-05-20 10:04:11 +02:00
Common Fix some issues with clicking touch buttons using the mouse after the hover change. 2024-11-22 10:31:10 +01:00
Core ImDebugger: Fix issue with HLE Modules window always showing, more granular sleep logging 2024-11-21 15:48:18 +01:00
dx9sdk@f481ecb043 Bump dx9sdk submodule 2024-09-18 21:34:05 +02:00
ext Add a way to access the ImDebugger from the DevMenu 2024-11-21 15:48:18 +01:00
ffmpeg@82049cca2e Bump ffmpeg submodule 2023-10-15 07:58:30 +02:00
GPU Don't block the render thread while the CPU is paused. This is a prereq for imgui debuggers. 2024-11-05 12:53:21 +01:00
gradle/wrapper Update gradle 2024-10-10 09:16:21 +02:00
headless Add a "reason" argument to sleep_ms(). 2024-11-21 15:28:51 +01:00
icons Add gold icon for Mac 2023-04-19 14:12:13 +02:00
ios Fix missing return value in another function 2024-11-04 12:05:54 +01:00
libretro Add a "reason" argument to sleep_ms(). 2024-11-21 15:28:51 +01:00
macOS Typo fix 2024-06-13 00:00:33 +02:00
pspautotests@2e02c4a7c0 Update pspautotests submodule 2023-03-31 20:59:45 +02:00
Qt Be more consistent about thread naming 2024-11-05 12:53:21 +01:00
scripts Update makeappimage_64-bit.sh 2024-06-21 17:21:51 -04:00
SDL Fix mouse hover in SDL builds 2024-11-06 22:09:53 +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 Update Cargo.lock 2024-11-21 15:48:18 +01:00
UI Fix some issues with clicking touch buttons using the mouse after the hover change. 2024-11-22 10:31:10 +01:00
unittest Buffer: Optimize scanning for the next crlf 2024-11-22 10:31:07 +01:00
UWP Add struct viewer debugging tool 2024-11-15 19:55:54 +01:00
Windows Don't full-screen-on-doubleclick if ImGui debugger is active 2024-11-12 12:20:47 +01:00
.editorconfig Simplify the inner loop of ff_atrac3p_ipqf (prepare for SIMD) 2024-04-13 10:35:42 +02:00
.gitattributes Add a .gitattributes to normalize newlines. 2014-09-26 21:20:50 -07:00
.gitignore Add the base IMGUI code, including a Vulkan backend that we'll convert to thin3d 2024-11-04 23:14:37 +01:00
.gitlab-ci.yml libretro osx: use default tags for selecting CI builder 2024-10-10 08:53:43 -04:00
.gitmodules Initial build setup for including lua 2024-11-05 11:20:43 +01: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-appstore.sh iOS: Default to 2x internal resolution, slight build script improvements 2024-05-20 10:04:11 +02:00
b.sh Add NO_MMAP flag in the compilation scripts 2024-07-29 17:54:06 +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 Update the Android Studio gradle plugin again 2024-10-17 21:46:32 +02: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 Implement new fast queue data structure CharQueue 2024-11-22 00:02:47 +01:00
copyrelease.sh Update copyrelease.sh 2017-05-17 20:20:47 +03:00
Dockerfile Using latest sdl2 version 2024-07-19 00:23:09 +02: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 2024-11-01 00:52:04 +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 Update README.md for 1.18.1 2024-11-04 17:13:09 +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 Temporarily disable the gpu/vertices/texcoords test that is not quite working 100% on ARM 2024-04-29 11:43:31 +02: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.

To download fresh development builds for Android, Windows and Mac, go to the /devbuilds page

For game compatibility, see community compatibility feedback.

What's new in 1.18.1

  • Crashfix in PBP reader (#19580)
  • Fix minor theme issue in the Homebrew Store (#19582)

What's new in 1.18

What's new in 1.17.1

  • Fixed green rendering errors on some PowerVR GPUs (#18781)
  • Release all held keys on pause to avoid "stuck keys" after unpausing or in run-behind-pause (#18786)
  • UI fixes (#18785)
  • Update libchdr with zstd support, warn the user about bad CHDs (#18824, #18803)
  • Add workaround for AdHoc mode in Resistance (#18821)
  • Fix graphics in Tokimeki Memorial 4 (#18822)
  • Fix crash in UFC 2010 on Mali GPUs (#18813)
  • Temporarily disable MSAA on Adreno GPUs due to crashing (#18819)
  • Fixed some crashes and optimized the game metadata cache (#18794, #18775)
  • Additional crashfixes and similar (#18777, #18779, #18823)
  • Fixed playback of frame dumps with Vulkan (#18793)
  • Volume slider added for RetroAchievements sounds (#18772)

What's new in 1.17

  • Rendering performance and fixes
    • Fix for very old rendering issue in Tokimeki Memorial 4 (#18650) (didn't quite work, see 1.17.1)
    • 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
    • The CHD file format is now fully supported (use chdman createdvd!), including with Remote ISO and Retroachievements
    • Improvements to remote ISO: optional tab on home screen, can now share whole folders (#18627, #18639, #18640, #18631, #18632, #18633,)
  • 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)