prxshot icon indicating copy to clipboard operation
prxshot copied to clipboard

Screenshot plugin for PSP supporting per game folders and instant shot.

prxshot v0.4 - Codestation

This Homebrew is an entry for the PSP Genesis competition 2011, sponsored by npt, psp-hacks.com, pspgen.com, pspslimhacks.com, exophase.com, pspcustomfirmware.com, daxhordes.org, gamegaz.jp, xtreamlua.com and wololo.net

This is a screenshot plugin that doesn't need to pause the game to take the capture (useful for online gaming) and classifies the images per game using their name and icons.

The plugin stores the screenshot in BMP format inside:

/PSP/SCREENSHOT/<GAME_ID>/pic_XXXX.bmp

for umd/iso games or:

/PSP/SCREENSHOT/PS<8 bytes sha1sum of the title>/pic_XXXX.bmp

for homebrew or games in PBP format (because the homebrews have the same GAME_ID).

Installation: Copy the prxshot directory to the seplugins directory (or anywhere you want) and add the plugin to the game.txt file (and/or vsh.txt if you want to).

How to use it: press the NOTE button to take a screenshot (or configure it to the key(s) that you want)

The prxshot directory comes with these files:

  • prxshot.prx: the plugin
  • default_icon0.png: optional default icon to use for those homebrews without icon (you can make your own image, just try to maintain the same dimensions)
  • xmb.sfo: template to make folder icon for screenshots in VSH mode.
  • prxshot.ini: configuration file

Meaning of the options in the prxshot.ini:

"General" category:

  • CreatePic1: 0 by default. Change to 1 if you want the game background image that appears in the XMB in the screenshot folder.

  • PSPGoUseMS0: 0 by default. Change to 1 if you have a PSP Go and want to store the pictures into the M2 instead of the internal storage.

  • XMBClearCache: 0 by default. Change to 1 if you want to refresh the cache after taking a screenshot in the XMB (solves the problem of the picture viewer that doesn't show the new screenshots but can cause freezes when using Game Categories)

  • ScreenshotKey: 0x800000 by default. Change it to one of the values of the table below (or a combination of them) to select the button(s) required for the screenshot.

  • KeyTimeout: 0 by default. Change it to a positive value (in millisecs) to delay the screenshot key(s) to that value. For example, setting it to 1000 causes the screenshot to be taken 1 second after the key was pressed

  • ScreenshotName: %s/pic_%04d.bmp by default. Here you can specify a different prefix/suffix for the screenshot. Important: the "%s/, "%04d" and the ".bmp" are mandatory in that order.

"CustomKeys" category:

  • ULJM08500 (a.k.a. game id): Undefined by default. Here you can use a game id (you can obtain them from your game box, playstation site, UMDGen, ISO Tool, PSPFiler (reading the UMD_DATA.BIN in the iso/umd), cwcheat, etc, etc) and a screenshot key that you want to link to that game. Examples:

ULJM05800 = 0x000009 (Monster Hunter 3rd game using SELECT + START to take the screenshot)

ULES01505 = 0x000101 (Dissidia Duodecim using SELECT + LTRIGGER to take the screenshot)

"CustomTimeout" category:

  • ULJM08500 (a.k.a. game id): Undefined by default. Here you can use a game id (you can obtain them from your game box, playstation site, UMDGen, ISO Tool, PSPFiler (reading the UMD_DATA.BIN in the iso/umd), cwcheat, etc, etc) and a timeout for that game (see KeyTimeout definition for details). Examples:

ULJM05800 = 300 (Monster Hunter 3rd game using 300 msecs to take a screenshot)

ULES01505 = 1500 (Dissidia Duodecim using 1.5 secs before taking the screenshot)

Values for the screenshot button

Select button 0x000001

Start button 0x000008

Up D-Pad button 0x000010

Right D-Pad button 0x000020

Down D-Pad button 0x000040

Left D-Pad button 0x000080

Left trigger 0x000100

Right trigger 0x000200

Triangle button 0x001000

Circle button 0x002000

Cross button 0x004000

Square button 0x008000

Hold button 0x020000

Music Note button 0x800000

Screen button 0x400000

Volume up button 0x100000

Volume down button 0x200000

Changelog: v0.4: [+]Implemented key timeout, so now you can add some delay to the screenshot button so doesn't interfere with the normal game operation. [!]Internal change: rewrote the plugin in C++ [!]Fixed the known issue of taking a screenshot while the aLoader is launching an ISO (only in c++ branch). v0.3: [+]Added the option to set your custom screenshot key per game. [!]Major rewrite to the hook core (removed the asm payload code), so it avoids the crashes in 6.20 TN + loaders (i hate those loaders, really >_<). [!]Moved the comments of the prxshot.ini to the readme for more readibility. v0.2.4: [!]Fixed the bug introduced in 0.2.3 that didn't detect the settings in the .ini file. [!]Fixed bug with homebrew not properly detected in PSPGo using the internal storage. v0.2.3: [+]Added support for eLoader (1.50 eboot loader) [+]Recreate the XMB folder if is deleted. [!]Fixed nasty bug that causes a crash when taking very early screenshots (Note that you can't take screenshots on loaders because the game isn't loaded yet, a special folder is gonna be added for this in the future) [+]Added option XMBClearCache to the prxshot.ini. While this updates the picture directory when taking screenshots in the XMB i recommend that is better to leave it disabled because it causes troubles with game categories. Added more debug messages. v0.2.2: [+]Added support for POPS (PSone games support). [+]Added support for storing the screenshots into the M2 in the PSPGo. [+]Added logging and made it conditional on build when compiling from source. [!]Fixed bug with XMB icon creation introduced in 0.2.0. v0.2.1: [+]Added OIL to blacklist. v0.2.0: [!]Removed trailing "/" so the directory creation don't fail. [+]New configuration file (prxshot.ini) so now you can configure some things like background use for picture folders, change the button combo to take the screenshot and the suffix/prefix of the picture file. v0.1.3: [+]Create /PSP/SCREENSHOT in case it doesn't exists v0.1.2: [!]Rewrote asm payload code (doesn't need memory allocation anymore so hopefully the issues with 6.20 / aLoader are finally fixed) v0.1.1: [!]Fixes bugs with 6.20 TN and/or aLoader v0.1.0: [+]First release

Source code available at https://github.com/codestation/prxshot