PSPStates

From PSP Developer wiki
Jump to navigation Jump to search

PSPStates is a Slim-only plugin developed by Dark_Alex that allows a user to capture a screenshot of any game, and save it to a slot similar to an emulator. With that screenshot, it can be loaded at any time given, to go back to that point in the game in which the screenshot was saved. The latest version, v2, has been released and works with 5.00 M33.

Development[edit | edit source]

PSPStates is an experimental plugin developed by Dark_Alex that made use of the Slim's memory stick driver, as well as its extended memory to capture screenshots from the RAM, and save them to the memory stick. From there, a user could reload them back to the RAM at any given time while still in the game. At first, PSPStates was only allowed to be used on 4.01 M33 and had only the ability to save up to 9 savestates for any games. As version 2 was released, the amount of savestates expanded to 18. 9 were dedicated for global savestates. Meaning that they will work across all games regardless. The other 9 were set for specific games. This meant that the savestates that were saved, will only be loaded up in the game if the name of the savestate matched the game ID it belonged to. In Addition to this, the use of PSPStates for UMDs were added but would not work unless the UMD Cache for Slims were nullified.

The third release of PSPStates was an upgrade of the plugin to make it work with the recent 5.00 M33. However, nothing in the plugin was changed. Due to how savestates worked, savestates created in 4.01 M33, will not work in 5.00 M33. Dark_Alex stated that the savestate might work, but eventually the PSP is going to freeze as the PSP switched firmware versions in the RAM.

Installation and Usage[edit | edit source]

PSPStates is installed just as any other plugin released for a custom firmware:

Fresh Plugin Install[edit | edit source]

  • If the user has not installed any plugins, he may transfer the whole 'seplugins' folder to the root of his memory stick.
  • If you wish to use PSPStates for UMDs, activate a USB Connection to flash0 of your Slim, and copy the 'umdcache.prx' file included in the download to your 'kd' folder.
  • Once copied, reboot the PSP into recovery mode, and go down to Plugins, and press X.
  • Find 'pspstates.prx [GAME] and press X. It should be enabled.
  • Exit recovery.

Install with Existing Plugins[edit | edit source]

  • If the user already has plugins installed on the MS, all he needs to do is copy the 'pspstates.prx' file from the 'seplugins' folder to his 'seplugins' folder on the MS.
  • Copy the empty 'SAVESTATE' folder to the 'seplugins' folder as well.
  • From there, open up the 'game.txt' folder, and add the following line under the last entry: ms0:/seplugins/pspstates.prx and save the file. Close it.
  • If you wish to use PSPStates for UMDs, activate a USB Connection to flash0, and copy the 'umdcache.prx' file to the 'kd' folder.
  • Once copied, reboot the PSP into recovery mode, and go down to Plugins, and press X.
  • Find 'pspstates.prx [GAME] and press X. It should be enabled.
  • Exit recovery.

Usage[edit | edit source]

As of version 2 for 4.01 M33, usage is pretty much the same for all versions. While in a game, homebrew, or UMD, the user may play to any point within the game in which to create a savestate to save to. There are 9 slots available for a local savestate, and 9 for a global savestate. To make a savestate:

Saving States[edit | edit source]

  • Get to the point in the game in which you wish to save.
  • Press the HOME key, and hold the R button. For a global savestate, hold R + Select.
  • Press any of the following buttons while holding R: up, down, right, left, square, triangle, cross, circle or start.
  • Release the buttons.
  • The PSP should shutdown into sleep mode.
  • When it does, leave it as the savestate is being created.
  • When the PSP comes back on, the file will be saving to the memory stick.
  • Once the MS light stops flashing excessively, the savestate will be saved.

Loading States[edit | edit source]

Loading a savestate is the exact opposite of saving a state. Depending on whether the state is a global or local savestate affects whether or not you have to actually have the game or homebrew loaded.

  • For a global savestate, just be in a game. For a local savestate, load the game that matches the gameID of the savestate.
  • Press the HOME key, and hold the L button. For global savestates, hold L + Select.
  • Press the button of the assigned savestate that you wish to load.
  • Release the buttons.
  • The PSP should shutdown into sleep mode.
  • When it does, leave it as the savestate is being loaded.
  • When the PSP comes back on, the savestate should be loaded to RAM and you should be starting at your saved position.

Managing Savestates[edit | edit source]

Savestates can be manually managed from a file manager or from the computer. Savestates can be found in the 'SAVESTATE' folder that is in the 'seplugins' folder. Global and local savestates are named differently in order to distinguish from the two. Global savestates can bear any of the following names:

  • globalstate_u.bin -> up button
  • globalstate_d.bin -> down button
  • globalstate_l.bin -> left button
  • globalstate_r.bin -> right button
  • globalstate_q.bin -> square button
  • globalstate_t.bin -> triangle button
  • globalstate_x.bin -> cross button
  • globalstate_c.bin -> circle button
  • globalstate_s.bin -> start button

For local savestates, they take on the name of the gameID where it says 'globalstate', and has the slot it was saved to. An example of a local savestate is this:

  • ULES00818_u.bin

Most savestates range between 10-20 MB, and are in the same format nonetheless. A global savestate can be converted to a local savestate by just changing the 'globalstate' to the gameID of the game it wants to be locally "attached" to. This can be done vice-versa as well.

Precautions[edit | edit source]

As PSPStates is still an experimental release, unforeseen events can occur.

  • PSPStates is a Slim-only plugin.
  • Savestates will not work with any other firmware than the one that created it. For example, a savestate made in 5.00 M33, will NOT work on 4.01 M33.
  • The exact state of how the PSP was is will be saved along with the savestate. For example, if plugin X is enabled, while plugin Y isn't, and while you are loading the savestate, plugin X is disabled while Y is, the savestate will make X enabled, etc.
  • PSPStates cannot work with any game or homebrew that uses the Slim's extended memory.
  • Savestates cannot work on a motherboard other than the same type that created it. For example, a savestate made on a TA-085v1 PSP cannot work on a TA-088v2 PSP. Problems will occur with function even though the PSP managed to successfully load the savestate.
  • Savestates can contain private info such as WEP-keys, etc.
  • Savestates contain bits of Sony code, and therefore should NOT be distributed for legal reasons.

Download[edit | edit source]

PSPStates for 5.00 M33 - http://rapidshare.com/files/154982316/pspstates2_500.rar PSPStates v2 for 4.01 M33 - http://rapidshare.com/files/148926293/pspstates_experiment2.rar