Release PPSSPP, Emulator for PSP


Found the time to finally try this emulator on my Rebirth Pandora, damn, is really good to use, but well, it is really slow...

I tried only one game, Patapon, but I had to overclock to 900 and activating automatic frameskip, just to remove (most of) the crackling sound.

Are there some other settings I could change/disable from the default PND ?
 
There is a weird bug with the PPSSPP app on the repo. If I start a new game, I am unable to use the in-game save. It gives an error message saying something like the memory card is full or corrupted. I tried using the save manager to delete some old saves but it didn't make any difference. I was forced to progress using save states. The game is a english patched version of Danganronpa: Trigger Happy Havoc.


UPDATE: I discovered that if I save the game on the latest PPSSPP on PC and copy that save over to my Pandora, suddenly the Pandora PPSSPP allows me to save normally! So it would appear that the bug only applies to writing a new save? (overwriting an existing save is OK?)


@ptitSeb - There is a way to work around this bug but were you planning to do any more updates to the Pandora PPSSPP?
 
No idea about that save creating issue. If, once created, the save is accessible, then, I really don't know, it's not an access issue, very strange.
I'll check if I can update the PND. But it has been a long time, I'm pretty sure getting a Pandora port will not be easy.
 
It happens in several games I tested. And checking on PPSSPP forums it seems to be fixed on newer versions.

@DrasticNerd, thanks for sharing the workaround.
No problem.

I didn't have this problem a few years ago with PPSSPP so if my workaround is too much of a PITA, I guess you could try downgrading the PND until you find an older version that doesn't have the bug? (Personally I wouldn't go back to an older version to avoid undoing bug fixes and performance improvements that have been made since)
 
No idea about that save creating issue. If, once created, the save is accessible, then, I really don't know, it's not an access issue, very strange.
Yes, it is as though PPSSPP is unable to create a new save file. But if the save file for the game already exists then PPSSPP has no problem loading/overwriting that save.

To avoid losing game progress, I need to do the following:
  1. start a new game on PPSSPP on PC
  2. save & quit at the first opportunity in-game
  3. copy that save file from my PC to my Pandora
  4. run Pandoras PPSSPP and load the game iso
  5. load my last save state (made on Pandora) and then
  6. do a normal/in-game save to overwrite the "recently started" save that had been copied from PC
The above steps work but it is somewhat involved. It would be tedious to do this for every iso.

I'll check if I can update the PND. But it has been a long time, I'm pretty sure getting a Pandora port will not be easy.
Thanks ptitSeb. I hope you succeed. :D
(Out of curiosity, why would PPSSPP be more difficult than other ports to Pandora? I wouldn't know as I'm not a programmer - I only know a few script-type languages such as SQL)
 
While waiting for an updated port (to fix the bug which stops you saving games), I thought I would post a little tutorial to help out fellow PPSSPP users.


How to use cheats in PPSSPP

  1. Download the attached file
  2. Extract the download to your SD card. The .db file needs to be placed in /appdata/PPSSPP/home/ppsspp/PSP/Cheats/ (Create the "Cheats" folder if it doesn't exist)
  3. Open PPSSPP. Open the menu and go to Settings -> System -> Enable Cheats tic
  4. Load your PSP game that you want to cheat in.
  5. Open the PPSSPP menu again. Select the Cheat tab.
  6. Tick the option to import from cheat.db
  7. Close out of the menu, go back in and return to the Cheat tab (This is to force a refresh of the cheats for the game)
  8. If your game was found in the cheat.db, the Cheat tab will now contain a list of cheats available for the game. Tick the cheats you wish to enable.


Expected Questions

Q. "Why cheat?" / "I never cheat" / "Cheating is only cheating yourself"
A. There isn't enough time to play all the games you want to play. Some games artificially pad out their length by difficulty spiking the enemy levels. I'm someone who has spent too many hours in RPGs doing random battles just outside a nearby town (with inn/save point). Tediously grinding to level up my party to where they are capable of tackling the next area/boss.
(TL;DR. What I like about RPGs = adventure, storyline, plot twists. What I hate about RPGs = grinding for hours to level up and/or earn money merely to continue the main game)
Another valid reason is to simply have fun. You beat the game long ago and now want to mess around with the ability to walk through walls or moon jump enabled!


Q. I followed your instructions and no cheats appeared after importing from cheat.db
A. Most likely your game is not included in this database. I didn't create this database so I can not help you. What you could do is search for another cheat.db and see if that contains your game. (e.g. there is another cheat.db on Archive.org) I am using this particular file because it is the biggest cheat.db I could find for PPSSPP. (The bigger the database, the increased likelihood it will contain your game)


Q. I enabled all the cheats for my game and it messed up my save! Noooo!
A. Caveat emptor! I'm not responsible for any damage this may do to you, your PPSSPP or your Pandora. Personally I never enable all cheats for any game. Excessive cheating may potentially damage your save. Or your gameplay experience. (Think of an event flag that may only trigger if you die or after your character reaches a certain level. If you have unlimited health or jumped your character to Lvl 99 using cheats, you could miss these events)
 

Attachments

  • cheat.db.7z
    465.5 KB · Views: 275
^^^ BTW if anybody finds a bigger PPSSPP cheat.db than the one I upped in the previous post, could you please upload it to this thread for all to enjoy? Thanks
 
Last edited:
So I have updated PPSSPP to 1.10.2 (it was like 6h of build time, plus 1h of fixed stuff to get the SDL1 backend running).
But guess what: the save issue is not fixed!
:'( More surprising, after much checking and logging and rebuild, I finaly find out that my build, if ran from it's build folder, doesmake a save. I checked if the SDCard is in FAT32 or Ext2, and it doesn't change anything. There is nothing in the log indicating what is going wrong. I need to do more testing tomorow, to understand why it doesn't work one in a PND...

(also, because the version 1.10.2, so, 10, starting with "1", it will not be tagged as updated when I'll upload it to the repon because previous version was 1.7.4...)
 
Last edited:
Wow thank you for the Port..it will be tested this Evening from me.

(it was like 6h of build time, plus 1h of fixed stuff to get the SDL1 backend running).
OMG so much Time fpr this Port...many many Thank Yous again :):)

Maybe its an Idea to try my Solution:
While first Start of the PND..extract the Binary and the Files one Time into the Appdata and run it from there.

It sounds logical that when you run the Binary inside a Packed PND..a Free Disk Space report 0Bytes because its in a packed Filesystem,
free but when it run from Appdata Folder then it check the Free Disk Space from the SD Card and that work then.

Another Idea is to try another Way of modifying the PND.
Maybe you can increase the Filesize of the PND manualy with mksquashfs..then it see free DiskSpace and create save then.

I do not think that your Port is the Problem..i think the PND Packaging Method is here The Problem.

Maybe it will help because unpacked even your old Port save wonderfully when its running unpacked.

Here a Video where i run the older PPSSPP from PND(cannot Save)
and then it run unpacked from a Directory in /media/SDCARD/pandora/desktop/ppsspp ..and it work fine.
 
And the new version is on the repo!

Build 55
----------

  • In sync with the git repo (based on 1.10.3)
  • Fixed the infamous "cannot save" bug

For the curious, the bug explanation is in the spoiler:
The issue was indeed in the "get free space" function. That particular function is "free_disk_space", in ext/native/file/free.cpp code is prety simple:
Code:
bool free_disk_space(const std::string &dir, uint64_t &space) {
#ifdef _WIN32
    const std::wstring w32path = ConvertUTF8ToWString(dir);
    ULARGE_INTEGER free;
    if (GetDiskFreeSpaceExW(w32path.c_str(), &free, nullptr, nullptr)) {
        space = free.QuadPart;
        return true;
    }
#else
    struct statvfs diskstat;
    int res = statvfs(dir.c_str(), &diskstat);
    if (res == 0) {
#ifndef __ANDROID__
        if (diskstat.f_flag & ST_RDONLY) {
            space = 0;
            return true;
        }
#endif
        space = (uint64_t)diskstat.f_bavail * (uint64_t)diskstat.f_frsize;
        return true;
    }
#endif
The issue is that, because of the Pandora file system, the ST_RDONLY flag was set. So, as a quick workaround, I change the
Code:
#ifndef __ANDROID__
to
Code:
#if !defined(__ANDROID__) && !defined(PANDORA)
et voilà, no more "not enough free space"...
 
Thanks a lot!

Edit:
Ok I just tested and this version always freezes my pandora. I can get to the game's menu but it freezes before I'm able to begin playing. Tested with
Corpse party
Castlevania X
Pixeljunk monsters
Tales of eternia

Exactly the same behavior no matter what game I try.

It's a 1Ghz model. Can someone confirm if it's just me? Any relevant logs I can upload here?
 
Last edited:
I made a new Video with PPSSPP and Mana Khemia ..a realy good RPG Game.
My Saves from my MuchW1 Phone work realy fine on the OpenPandora.
Only little Sound Stuttering sometimes.
I miss the Function to lower the sound Quality..it is not more here.

Enjoy one of the Best RPG Battles on the Pandora ever seen on my Youtube Account ;)

and little Surprise for @ptitSeb @ the End of that Video :p
 
Back
Top