Considered by some to be the final nail in Cobra Blackfin's coffin and following the recent NoNpDrm v1.0 and VitaShell v1.74 releases, today PlayStation Vita developer Motoharu Gosuto made available PSVGameSD which is a PS Vita Virtual Game Card application and kernel plugin that finally allows users to produce true 1:1 game card backup dumps and run them!
Download: psvgamesd.skprx / psvgc.vpk / GIT
In addition, PlayStation Vita scene developer Yifan Lu suggests siteops should nuke all of the previous PS Vita scene dumps since the new .psv ROM format preserves one-to-one dumps of physical games with no per-game patches needed with both a feedback page and a PS Vita Dumper Comparison Chart available.
To quote from the README.md file: PS Vita - Virtual Game Card
User application and kernel plugin that allow to produce game card dumps and run them.
Introduction
This application is designed for two main tasks:
Requirements
Legal Disclaimer
This plugin is not compatible with sd2vita adapter and corresponding gamesd.skprx plugin.
This plugin is not compatible with any other kernel plugin that is derived from gamesd.skprx.
If you are going to use this plugin - disable gamesd.skprx
Ideally it is recommended to remove sd2vita adapter. However when inserted - it should be ignored by this plugin.
Integration with sd2vita is planned for next release.
Installation
Install kernel plugin
Upon launching user app you will be presented with console UI.
Typical Emulation use case
Feel free to report bugs/issues here: https://github.com/motoharu-gosuto/psvgamesd/issues
Legacy ways to dump the came card
Custom board
Use custom board. You can check how it can be built here: https://github.com/motoharu-gosuto/psvcd
There are two modes that can be used there.
Code for second approach is not finished. It only does cmd56 handshake. However you can use the code from first approach to dump the card. Only little changes are required.
PSVEMMC client
https://github.com/motoharu-gosuto/psvemmc
Unfortunately dumping client is not finished. It is only capable of doing a dump per partition. It does not dump SCEI MBR and does not combine partition dumps into single binary file. However only little changes are required to make it dump SCEI MBR. You can then combine dumps with your favorite hex editor.
CMD56 handshake
Data from the handshake is required to pass signature checks and obtain klicensee. It is integrated into dump file. When game card is inserted in physical mmc mode signature and keys are intercepted and saved to dump file later.
Special thanks
Key points:
Download: psvgamesd.skprx / psvgc.vpk / GIT
In addition, PlayStation Vita scene developer Yifan Lu suggests siteops should nuke all of the previous PS Vita scene dumps since the new .psv ROM format preserves one-to-one dumps of physical games with no per-game patches needed with both a feedback page and a PS Vita Dumper Comparison Chart available.
To quote from the README.md file: PS Vita - Virtual Game Card
User application and kernel plugin that allow to produce game card dumps and run them.
Introduction
This application is designed for two main tasks:
- Produce 1 to 1 dumps of game cards.
- Introduce functionality that allows to run these dumps.
Requirements
Legal Disclaimer
- The removal and distribution of DRM content and/or circumventing copy protection mechanisms for any other purpose than archiving/preserving games you own licenses for is illegal.
- This software is meant to be strictly reserved for your own PERSONAL USE.
- The author does not take any responsibility for your actions using this software.
This plugin is not compatible with sd2vita adapter and corresponding gamesd.skprx plugin.
This plugin is not compatible with any other kernel plugin that is derived from gamesd.skprx.
If you are going to use this plugin - disable gamesd.skprx
Ideally it is recommended to remove sd2vita adapter. However when inserted - it should be ignored by this plugin.
Integration with sd2vita is planned for next release.
Installation
Install kernel plugin
- Copy psvgamesd.skprx to the location where you have kernel plugins.
- Add the path to config.txt.
- Reboot your vita.
- Install psvgc.vpk.
- Virtual GC bubble will appear.
Upon launching user app you will be presented with console UI.
- Press "Left" or "Right" on d-pad to switch between different modes of the driver.
- Current mode is indicated on line "driver mode:"
- Press "Up" or "Down" to navigate through dump files
- Press "Cross" to start dumping the came card. This option is only available if real game card is inserted. Insertion status is shown on line "content id:". Dump progress is shown on line "dump progress:". Dump file is stored at ux0:iso folder.
- Press "Square" to stop dumping the came card. This options is only available when dump process is started.
- Press "Triangle" to exit application.
- Press "Up" or "Down" to navigate through dump files
- Press "Circle" to select game of interest. Selection status is shown on line "selected iso:".
- Press "Start" to insert game card. Insertion status is shown on line "insertion state:".
- Press "Select" to remove game card. Insertion status is shown on line "insertion state:".
- Press "Triangle" to exit application.
- Press "Up" or "Down" to navigate through dump files
- Press "Triangle" to exit application.
Typical Emulation use case
- Use physical mmc mode to produce 1:1 dump of the game card.
- Use virtual mmc or virtual sd mode to run the game.
- Use physical mmc mode to produce 1:1 dump of the game card.
- Use your favorite tool or hex editor to burn this dump to SD card.
- Use physical sd mode to run the game.
Feel free to report bugs/issues here: https://github.com/motoharu-gosuto/psvgamesd/issues
Legacy ways to dump the came card
Custom board
Use custom board. You can check how it can be built here: https://github.com/motoharu-gosuto/psvcd
There are two modes that can be used there.
- Use PS Vita as black box (cmd56 handshake is done by PS Vita)
- Use PS Vita F00D as black box (cmd56 handshake is done by board)
Code for second approach is not finished. It only does cmd56 handshake. However you can use the code from first approach to dump the card. Only little changes are required.
PSVEMMC client
https://github.com/motoharu-gosuto/psvemmc
Unfortunately dumping client is not finished. It is only capable of doing a dump per partition. It does not dump SCEI MBR and does not combine partition dumps into single binary file. However only little changes are required to make it dump SCEI MBR. You can then combine dumps with your favorite hex editor.
CMD56 handshake
Data from the handshake is required to pass signature checks and obtain klicensee. It is integrated into dump file. When game card is inserted in physical mmc mode signature and keys are intercepted and saved to dump file later.
Special thanks
- Thanks to Team molecule for HENkaku and thanks to Yifan Lu for taiHEN.
- Thanks to Proxima for explaining klicensee theory.
- Thanks to SonyUSA for helping with initial testing.
Vita Dumper Comparison | psvgamesd | NoNpDrm | Vitamin/MaiDumpTool |
Dumps physical games | |||
Dumps digital games, DLC, and updates | |||
Compatible with legit DLC & updates | |||
Saves usable on non-hacked Vitas | |||
All original data untouched | |||
No problems saving after suspend | |||
Format can be converted to work with other tools | |||
Installs physical games as bubbles | |||
Dumps games requiring > 3.60 | |||
Works on firmware > 3.60 | |||
Plays games requiring > 3.60 |
- STOP using Vitamin/MaiDumpTool. Those tools were hacked together before taiHEN was ready and therefore depends on hacks around the fact that there was no kernel access. Game executable metadata was not preserved and creates lots of compatibility issues including corrupting saves while in suspend mode.
- psvgamesd creates .psv files which will be the standard archival format for Vita games (like .iso or .nds but for Vita). These files are not trimmed or compressed and therefore will take a lot of storage to save. Until trimming/compression features are implemented, a way to use the best of both psvgamesd and NoNpDrm is to save your raw dumps on your computer (for backup) and when needed (like if you lose access to your cart), you can use psvgamesd to mount the image once, then use NoNpDrm to "install" it as a bubble (saving space) and finally delete the original .psv from your Vita.
- psvgamesd allows you to backup your 3.61+ games for use if/once later firmware are hacked.
- psvgamesd currently does not support backing up digital games but the .psv format will eventually be used to archive digital games as well. More information on the format is here.
- When a .psv is mounted with psvgamesd, you can run any other tool (including NoNpDrm and Vitamin) on it, so until existing workflow (such as game translation) is upgraded to not depend on legacy dumps, it is always possible to go from .psv to any other format but not the other way around! You must dump the original cart to create a .psv!
- https://github.com/motoharu-gosuto/psvcmd56 - Reversed code of PS Vita SD card and related drivers