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 db79e596f0 Merge pull request #8083 from lioncash/decl
Core: Remove unimplemented class function declarations
2015-10-18 18:52:09 +02:00
android Add new shader viewing tool 2015-10-14 18:10:21 +02:00
assets Merge pull request #8019 from LunaMoo/scaling_shaders 2015-10-14 20:58:19 +02:00
Blackberry Update version numbers to 1.1.1 2015-10-12 19:57:19 +02:00
CMakeTests Improve FFmpeg detection on debian systems; fix build when git is installed but there is no .git folder. 2015-09-16 19:07:25 -03:00
Common Merge pull request #8046 from unknownbrackets/jit-alloc 2015-10-10 18:13:49 +02:00
Core Core: Remove unimplemented class function declarations 2015-10-18 10:55:11 -04:00
dx9sdk@ec19e64346 Update dx9sdk (got rid of redundant headers) 2014-09-07 10:45:38 +02:00
ext Fix a couple of crashes 2015-10-06 19:07:28 +02:00
ffmpeg@8dd84dc1ea Update ffmpeg submodule as well.. 2015-09-06 19:43:25 +02:00
flash0/font Wrong permission in jpn0.pgf. It should have the same as other files (-rw-rw-r--). 2014-08-04 01:02:39 -03:00
GPU LLVM warning fixes 2015-10-14 22:18:43 +02:00
headless Remove the ability to disable rounding mode support. It's time. 2015-10-08 14:54:42 +02:00
ios Update PPSSPP-Info.plist 2015-10-08 13:44:42 +09:00
lang@c0db1fc198 Update lang 2015-10-11 22:30:34 +02:00
pspautotests@905c3018d0 Update project files, fix minor issues for VS 2015 2015-09-06 19:32:15 +02:00
Qt Update version numbers to 1.1.1 2015-10-12 19:57:19 +02:00
SDL Insert a space between parens and curlies. 2015-06-28 16:44:48 +09:00
source_assets add an indicator to games when they have game settings 2014-12-16 00:15:36 +01:00
Tools Add compiled file 2014-04-28 21:47:14 +08:00
UI Make Back buttons translatable in the Shader Viewer 2015-10-14 22:05:05 +02:00
unittest Typo correction 2015-09-24 01:15:20 +02:00
Windows Add new shader viewing tool 2015-10-14 18:10:21 +02:00
.gitattributes Add a .gitattributes to normalize newlines. 2014-09-26 21:20:50 -07:00
.gitignore Ignore Windows/win-version.h created since #7908 2015-08-26 12:56:54 +03:00
.gitmodules Native merge part 3: remove old native. 2015-09-06 13:06:58 -07:00
.travis.sh Try to fix Qt build on Travis. 2015-06-13 16:15:14 -07:00
.travis.yml Enable Symbian again. 2015-04-20 03:32:30 +10:00
.ycm_extra_conf.py YCM config update (vim plugin) 2015-10-14 21:53:59 +02:00
atlasscript_lowmem.txt Update the font atlas 2015-01-31 15:29:57 +01:00
atlasscript.txt Update the font atlas 2015-01-31 15:29:57 +01:00
b.sh Make the unittests build on mac 2015-04-06 18:13:37 +02:00
build_ppgeatlas.sh Make build_ppgeatlas.sh executable. 2015-09-15 22:47:10 -03:00
buildatlas.sh Native merge part 2: update build files. 2015-09-06 13:06:57 -07:00
chinese.txt Update the font atlas 2015-01-31 15:29:57 +01:00
CMakeLists.txt Add new shader viewing tool 2015-10-14 18:10:21 +02:00
git-version.cmake Fix PPSSPP_GIT_VERSION_NO_UPDATE 1. 2015-09-21 19:26:29 -03:00
Globals.h Color conv attempt 2. Start consolidating simple color conversion functions in a single header+cpp. 2015-04-08 22:52:46 +02:00
korean.txt Update the font atlas 2015-01-31 15:29:57 +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
make-font-textfiles.sh Quick script to prepare the "learning files" for the font atlas building 2015-01-31 15:26:37 +01:00
notinstalled.txt Add InnoSetup script to make a basic installer. 2013-10-15 11:55:02 +02:00
ppge_atlasscript.txt FIX unintelligible sequence of decimal characters on savedialog. 2013-05-02 00:14:41 +09:00
ppsspp.iss Add compat.ini as a dependency to our various build systems 2015-09-27 11:50:23 +02:00
README.md More README updates for 1.1.1 2015-10-11 23:38:16 +02:00
test.py Update tests. 2014-09-04 23:10:24 -07: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: http://www.ppsspp.org/

No BIOS file required to play, PPSSPP is in many ways a "HLE" emulator.

To contribute, see the development page.

For the latest source code, see our github page.

For build instructions and other development tutorials, see the wiki.

What's new in 1.1.1

  • Fixed new crash in Persona and other games on ARM64, like Galaxy S6
  • Fixed crashes when trying to launch web browser when not present on Android, like on Android TV
  • Fix crash in games that used "depal" functionality (OpenGL)
  • Fixed rounding mode problems in the JITs
  • Fix crash when loading savestates many times, and savestate compatibility on Android-x86
  • Fix minor glitch in Ridge Racer

What's new in 1.1

  • Support for ARM64 on Android, for improved performance on new devices. Has some new optimizations.
  • Support Android TV, like nVidia Shield TV
  • Screen rotation on PC, useful for vertical games like Star Soldier
  • Many minor performance improvements and compatibility bug fixes
  • GPU emulation fixes like correct depth rounding, fixing text in Phantasy Star
  • Other graphical fixes like UV rotation
  • Support savestates for homebrew apps
  • Simple integrated "Homebrew Store" to download PSP homebrew apps
  • Minor AdHoc multiplayer improvements. Still many issues left.
  • Disable a dangerous optimization on ARM, causing walk-through-walls in Tenchu
  • sceAtrac music compatibility fixes, fixing noise in a few games
  • Better texture scaling performance
  • Direct3D closer in features to OpenGL
  • Works better on BSD operating systems
  • Savedata management UI

What's new in 1.0.1

  • Bugfixes like the save state scroll issue, cosmetic issues like overscroll
  • Some cheat code bugfixes
  • Adler32 and Mersenne Twister modules added (fixes some obscure games)
  • Fix for Jak & Daxter slowdown
  • Graphics hack for Phantasy Star Portable 2 for Direct3D9
  • Fix compatibility with some PowerVR devices broken since v0.9.5-959-g4998044

What's new in 1.0

  • Many, many bug fixes in JIT and elsewhere, improving compatibility
  • Proper fix for Zenfone and related devices
  • Direct3D 9 supported as a rendering backend on Windows, helps on old GPUs and can be faster than OpenGL in many cases
  • You can now create specific configs per game
  • FPU rounding modes much better supported, fixes the Peace Walker boss that was undefeatable. NOTE: This breaks saves in Gods Eater - you must turn off the better rounding, load your save game, turn it on and save.
  • The JIT now uses SSE on x86, improving speed considerably. This does not affect ARM devices, that's for the next version or two.
  • Improved audio output code on both Windows and Android, reducing audio latency on Windows and on some Android systems
  • FFMPEG upgraded, fixed some music hangs ("GHA phase shifts")
  • Some Ad Hoc improvements, coldbird.net is now default adhoc server. Ad Hoc still unfinished and hard to use.
  • Graphics fixes: Bezier/spline drawing fixes, vertex position fixes, DanganRonpa on Adreno fixed, flat shading fixed, vertex cache improved, some PowerVR blockiness issues fixed, screen scaling filter added, Google Cardboard support
  • Simulate UMD speed better, fixing hangs in several games
  • More Atrac3 fixes, fixing hangs
  • Somewhat better disk full handling
  • Fixes to dynamic unloading of code, fixing problems in GEB and TRM 2/3
  • Updated to SDL2 where applicable (Linux, Mac)
  • Some new features, like analog/dpad-swap hotkey, graphics hack for Phantasy Star, show last bit of debug log in dev tools, etc

What's new in 0.9.9.1

A few issues have been discovered in the release that need fixing, the Star Ocean fix had a bug and there are some unexpected slowdowns.

Improved sceMpegRingbufferAvailableSize - UFC© Undisputed™ 2010 now playable

Improved ISO File System - Bleach Soul Carnival 2 now in-game (but freeze when in menu)

What's new in 0.9.9

  • CLUT (paletted) texturing from framebuffers supported, fixing many graphical issues like the shadows in Final Fantasy: Type-0
  • More types of framebuffer copies are now handled correctly, fixing a variety of graphical issues, like the sun in Burnout and many more
  • Better savedata compatibility with the real PSP
  • Support for more codecs used by "Custom BGM" and sometimes regular music in games: MP3, AAC
  • PMP video format support
  • Implemented some strange blending modes like ABSDIFF as shaders, fixing the outlines in DBZ Tag Team and more.
  • Emulation of the vrot CPU instruction improved - it caused cracks in FF3 graphics before
  • Many bugfixes around the UI, touch D-pad now works better when scaled large
  • Workaround implemented to support Star Ocean's stencil trickery as efficiently as possible on all platforms
  • Major corrections to module loading and memory management, fixing further games
  • Bulgarian and Thai language translations were contributed
  • Many, many more game fixes and bug fixes

What's new in 0.9.8

  • OpenGL ES 3 detection bug on Xperia devices fixed, graphics work again.
  • More accurate audio mixing and emulation
  • Software rendering and display list performance improvements
  • Workaround for timing issue hanging Crash Tag Team Racing
  • Galician language
  • Built-in ARM disassembler improvements (dev feature)
  • Fix for immersive mode volume key issue on Android Kitkat
  • And more minor tweaks and fixes as always.

What's new in 0.9.7.1

  • Some critical bugfixes (rotation, haptic feedback on Android, etc)

What's new in 0.9.7

  • Several scheduling and audio fixes, fixing black screens in Yu Gi Oh games among other things.
  • Screen rotation and immersive mode support on Android
  • Large improvements to the software renderer (still not really playable, but looks right more often than not)
  • New VPL allocator and bugfixes, fixing Pangya Golf performance problems.
  • Some mpeg/video playback fixes, fixing Parappa The Rapper and others. Some issues remain.
  • Fix save state bugs causing incompatibility between 32 and 64-bit platforms.
  • Symbol map/debugger improvements
  • Depth buffer copy, fixing Jeanne D'arc. May cause minor slowdowns though, this will be worked around in the future.
  • MsgDialog fixes. Saving fixed in numerous games.
  • Initial multitouch support on Windows 8 for on-screen controls.

What's new in 0.9.6

  • Large general speed improvements and assorted bug fixes
  • "Software Skinning" option which speeds up many games with animated 3D characters (but may slow down a few, like Monster Hunter games - experiment with turning it off)
  • Various fixes around stencil/alpha, reducing glow problems in Wipeout and Gods Eater Burst.
  • Timing improvements making more games run at the correct FPS, also fixing some audio issues
  • More debugger features
  • Option for four-way touch dpad, avoiding diagonal dpad issues
  • Better looking and individually resizable touch controls
  • Add ability to switch UMD in multi-disc games (works for most)
  • Emulate PSP-2000 rather than the 1000 model by default. Not much different in practice.
  • Automatic install of games from ZIP files, like demos and many homebrew.
  • VERY basic ad-hoc online play support, to be improved in future versions. See below.
  • Software renderer improvements

What's new in 0.9.5

  • Many, many emulation fixes:
    • bezier/spline curve support, fixing LocoRoco and others
    • stencil clear emulation, fixing Final Fantasy IV text
  • Performance improvements in some games
  • Post-processing shaders like FXAA, scanlines, vignette
  • More solid save states (we will try to keep them working from now on. Save states only upgrade forward, not backward to older versions though).
  • Change render resolution independently of window size
  • Massive debugger improvements
  • Win32 menu bar is now translatable
  • Multiple UI bugs were fixed, and the UI instantly changes when a new language is selected
  • Win32: Ability to store PPSSPP's config files and memory stick files in places other than the same directory
  • Android-x86 support
  • Unofficial port for modified Xbox 360 consoles
  • Atrac3+ plugin no longer required. Symbian now supports Atrac3+ audio.
  • Symbian audio and ffmpeg is now threaded for more consistent media processing.
  • Haptic feedback support for mobile devices.
  • Accurate system information for mobile devices.
  • Qt audio has been fixed.
  • Analog controller support for Blackberry.

ADHOC SUPPORT (by Igor Calabria)

This is based on coldbird's code: http://code.google.com/p/aemu/ All credit goes to him!

Status

Code is a bit of a mess and it's not fully functional yet, I still need to implement some functions and add a upnp lib(really important for people with routers).

I did test it with some games(emulator <-> real psp with the server running locally) and it's looking good:

  • Worms Open Warfare: Ran just fine, I was able to play a whole match without problems
  • Monster Hunter Freedom Unite: Runs fine too. Gathering Hall and embarking on quests works
  • Dissidia Duodecim 012: Doesn't work. It requires some functions that I haven't implemented yet. Also, it uses a port < 1000 and thats reserved for admin apps on linux, running the emu as sudo "solves" it, but it's far from ideal.
  • Pacman World Rally: Works too.

Update (Kyhel) :