Code Monkey home page Code Monkey logo

apollo-psp's Introduction

Apollo Save Tool (PSP)

Downloads Release License Build app package Twitter

Apollo Save Tool is an application to manage save-game files on the PlayStation Portable.

This homebrew app allows you to download, unlock, patch, and resign save-game files directly on your PSP.

image

Comments, ideas, suggestions? You can contact me on Twitter and on my website.

Features

  • Easy to use: no advanced setup needed.
  • Standalone: no computer required, everything happens on the PSP.
  • Automatic settings: auto-detection of User settings.

Save Management

  • Save files listing: quick access to all the save files on Memory Stick and the internal PSP memory (+ file details)
  • Save PARAM.SFO updating: rehash, fix ownership, and update PARAM.SFO information when changing data files.
  • Save files patching: complete support for Save Wizard and Bruteforce Save Data cheat patches to enhance your save-games.
  • Save import/export: allows the user to decrypt and export save files, and import decrypted saves from other consoles.
  • Save downloading: easy access to an Online Database of save-game files to download straight to your PSP.

PS1 Virtual Memory Card Management

  • VMC saves listing: quick access to all save files on Virtual Memory Cards images.
    • Supported VMC formats: .VMP, .MCR, .VM1, .BIN, .VMC, .GME, .VGS, .SRM, .MCD
  • VMC saves import/export: allows the user export saves on VMC images to .MCS/.PSV/.PSX formats, and import saves to VMCs from other tools and consoles (.MCS, .PSV, .PSX, .PS1, .MCB, .PDA supported).

Download

Get the latest version here.

Changelog

See the latest changes here.

Donations

My GitHub projects are open to a sponsor program. If you feel that my tools helped you in some way or you would like to support it, you can consider a PayPal donation.

Setup instructions

No special setup is needed. Just download the latest apollo-psp.zip package and install it on your PlayStation Portable. On first run, the application will detect and setup the required user settings.

Data folders

PSP

PSP Folder
External saves your saves must be stored on <ms0/ef0>:/APOLLO/SAVEDATA/.
Memory Stick saves save-games will be scanned from ms0:/PSP/SAVEDATA/.

PS1

PS1 Folder
External saves your saves must be stored on <ms0/ef0>:/PS1/SAVEDATA/.
Exported PSV saves .PSV saves are saved on <ms0/ef0>:/PS3/EXPORT/PSV/.
Virtual Memory Cards VMC images will be scanned from <ms0/ef0>:/PS1/VMC/.

PSP save-game Keys

Note: To decrypt PSP save files, game-specific save keys are required. You can dump the required keys using PSP plugins, such as:

  1. Install the plugin on your PSP (ms0:/seplugins)
  2. Enable it using the recovery menu.
  3. Start your PSP game and let it load/save so the plugin can dump the key.
  4. Once the key has been dumped, Apollo will detect it, and use it as needed to decrypt, encrypt, apply patches, or rehash the PSP save.

Tip: if you have PSP save keys, use Apollo's Dump Save-game Key option on your PSP save, and then share the gamekeys.txt file so all these keys can be added to the next release.

Usage

Using the application is simple and straight-forward:

  • Move UP/DOWN to select the save-game file you want to patch, and press X button. The patch screen will show the available fixes for the file. Select the patches and click Apply.
  • To view the item's details, press Triangle. It will open the context menu on the screen. Press O button to return to the list.
  • To reload the list, press Square.
  • Press L1/L2 or R1/R2 trigger buttons to move pages up or down.

Online Database

The application also provides direct access to the Apollo online database of save-game files for PlayStation Portable games. These usually offer additional features such as completed games that can save you many hours of playing.

The Online Database project aims to add more save-games shared by the community.

Note: Downloaded save files must be resigned using Apollo before loading them in your games.

FAQs

  1. Where I can get a save-game for XYZ game?

    You can check sites like Brewology.com, and GameFAQs. Also, searching on Google might help.

  2. I have a save-game file that I want to share. How can I upload it?

    If you have a save file that is not currently available on the Online Database and want to share it, please check this link for instructions.

  3. Why is it called Apollo?

    Apollo was the twin brother of Artemis, goddess of the hunt. Since this project was born using the Artemis-GUI codebase, I decided to respect that heritage by calling it Apollo.

Credits

Acknowledgments

Building

You need to have installed:

Run cmake . && make to create a release build. If you want to include the latest save patches in your .zip file, run make createzip.

To enable debug logging, pass -DAPOLLO_ENABLE_LOGGING=ON argument to cmake. The application will write debug messages to

ms0:/pkgi-psp.log

You can also set the PSPIP environment variable to your PSP's IP address, and use make send to upload EBOOT.PBP directly to the ms0:/PSP/GAME/APOLLO folder.

License

Apollo Save Tool (PSP) - Copyright (C) 2020-2024 Damian Parrino

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

apollo-psp's People

Contributors

bucanero avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

kethen

apollo-psp's Issues

PSP save game keys

PSP game keys

Save game keys to decrypt PSP save-games.

Users are welcome to submit dumped keys, either binary files or fingerprint results from Apollo.

NPJH70001=60cf88e45f1a49f1f958d9b82064d283
NPJH70002=60cf88e45f1a49f1f958d9b82064d283
NPUG80325=456E6372797074314D6532506C7A3300
UCUS98653=456E6372797074314D6532506C7A3300
ULES00262=01AF6F00020070D52E2412C7E1FF83BA
ULUS10104=47474a47414d4549444143534e554d00
ULUS10244=d88ea9782d50e4659885a2642eeee9cc
ULUS10455=307830312c307865662c307836662c30
ULUS10495=01af6f00020070d52e2412c7e1ff83ba
ULUS10519=01fa6f00020007d5e22412c71eff83ab
ULUS10567=7d7a0339d82e05e56e5cdcc5e1cbdc6d

A way to override games with a save protection

Some games use a save protection like Monster Hunter games and Gran Turismo so you cant move saves from one device to another easily.
Have a way to disable or override it with Apollo if its possible.

Exit to XMB via O crashed my PSP 3000

Using Apollo PSP on my Vita, works perfectly. Using the O to exit function on my PSP 3000, though, crashes the PSP after the fadeout animation.

Are there debug logs generated somewhere I can provide?

PSP 3003, 6.60 PRO-C1 fix 3

PS1 memory card mode - O exits to main menu

When I open a PSP save to make changes, O goes back to the main savedata list, then O from the list goes back to Apollo's main menu.

When I open a PS1 save to make changes, O goes straight back to Apollo's main menu.

It's also a little confusing with PS1 saves mixed in with PSP saves, e.g. I have 1 PSP savedata for Final Fantasy VII with 2 internal save files, but Apollo displays this as 3 PS1 saves in the list. Would it be possible to nest PS1 save management under the master PS1 savedata?

[Feature Request] Save game archival

As Apollo is capable of backing up PSP saves, I was wondering if I could request a feature: archival of saves? TL;DR the ability to move saves from the savedata folder and store them elsewhere with a unique identifier, and restore them.

Use case

Most PSP games are capable of making loads of savegames. So you can have multiple story runs saved simulatenously. However, many also do not differentiate between savegames; there is no player name, and the savegame only presents basic information such as story completion percentage, chapter name, etc. - this makes it easy to accidentally overwrite an old story run. For example, Daxter: I have an old story run with some unique "Pokemons" captured, and a more recent story run with different "Pokemons". I have to be very careful when saving the game to overwrite the correct save, depending on which I'm playing, as the Save Game doesn't give me anything other than 89% game completion, date of last save (changes each time the game is saved) and the game map location. It would help if I was able to put different usernames, e.g. Darthagnon for one savegame, JoeBloggs for another, but the game does not offer this feature. The same applies to a lot of other PSP games, most that give players the system menu to save by. Games that use Monster Hunter-style saving (only 1 savegame allowed, system save menu is never presented to the user), or others that prompt for a player name, don't have this issue.

Feature request

In a menu listing the current savegames on the PSP, it would be nice if we could go into options for a particular savegame and archive it. What this does is move the save file to, say, ms0:/PSP/ARCHIVE/GameName_PersistentRandomUniquePhrase/ or GameName_UserSpecifiedPhrase. It is no longer present in the SAVEDATA folder, so the game cannot find it. This would allow saving historical runs without having to fiddle with files and folders on a PC or PSP file manager. For example, I could archive my 2012 Daxter run as ms0:/PSP/ARCHIVE/Daxter_HippoSnake/ or ms0:/PSP/ARCHIVE/Daxter_Darth2012/ , and now when I save Daxter for my new run, there is no worry of accidentally saving over the old game.

Restoration of archived games would also be useful, so a list of archived games from which there is the option to restore the savedata could be used. I imagine some additional metadata would also be needed, so that Apollo knows the difference between Daxter_HippoSnake from 2012 and Daxter_WombatHorse from 2023 and can swap them out accordingly.

This feature could be even more useful on more recent consoles' versions of Apollo, e.g. PS3, PS Vita and PS4 all tend to have single savegames per game, rather than the multiple used on the PSP, making it impossible to start a clean run without deleting your save (or painstakingly moving it elsewhere with a file manager and remembering that PCS001234 means Game X).

Is something like this already possible in Apollo?

Maybe I'm overthinking, or haven't used Apollo enough, but is it possible to do something like this already, with the tools already in Apollo?

PSP Go issue - Saves on ef0 won't appear

As the title says.
There is also an issue that you cant get the decryption keys from games if you launch them from ef0 as well (even if you have the save on ms0).

support for custom install folder

app installation path (/PSP/GAME/APOLLO) is currently hard-coded, but users with custom category plugins might want to install in a different folder.

Fake "Install Data"?

Some games on the PSP have "Install Data", which originally was a Memory Stick cache of uncompressed UMD data to speed disk loading times. These days, most people use EBOOTs/ISO/CSO running off the memory stick, so there is no speed bonus for using install data. However, some games lock features behind install data.

Example 1: Monster Hunter Freedom Unite requires you to press SELECT to view weapon previews in the shop. However, if you have Install Data (500mb), then the previews appear automatically.

Example 2: MGS Peace Walker locks Codec conversations of some sort behind having install data.

I was wondering if there was a way of generating fake install data, e.g. a stub that is only a few kb in size, but is still recognised as valid install data by the games, thus unlocking the weapon previews, codec calls, etc. without having to waste memory stick space?

I don't know if this would be beyond the scope of the project, but I figured it's worth asking since there seems to be a fair bit of savedata decryption work going on...

Monster Hunter Freedom Unite DLC quests

Monster Hunter Freedom Unite/Portable 2nd G had downloadable quests. However, the savegame could only hold around 6 quests at a time, meaning you'd have to connect to the internet to replace quests.

FUComplete is a game mod project for Freedom Unite that is able to embed all DLC quests into the game by some black magic. Before that, we had to use the MHFU Save Tools to download quest files and embed them offline into our savegames.

I was wondering if some function like this could be added to Apollo PSP?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.