psvgamesd release and the quest for perfect vita game dumps
Two days ago, PS Vita hacker motoharu released psvgamesd a.k.a Virtual Game Card, a tool that allows you to dump perfect images of your Vita Games, and its counterpart Kernel plugin for hacked PS vitas, that allows to run the backup.
Developer TheFlow released NoNpDRM a few days ago, a backup mechanism which has overall fixed the flaws that existed in the past with tool MaiDump and Vitamin. TheFlow has mentioned people could think of NoNpDRM as Vitamin 3.0. In particular, NoNpDRM supports DLC, which was the main issue people had with MaiDump.
So, why release yet another dumping tool when users are satisfied with what exists today? The answer is this: the main goal here is to achieve perfect 1 to 1 dump of Vita games, for the sake of game preservation and future use in emulators.
As a matter of fact, the dumps created by psvgamesd are extremely big and because of that not practical to use in themselves. Users on reddit have been complaining of dumps using Gigabytes of data when the actual game data (dumped by NoNpDRM) is 5 to 10 times less than that.
But again, this is not what the goal is here. With an exact copy of your game, you ensure that you’ll have 100% compatibility with future use cases. This includes DLC support, and more. People can think of it as the equivalent to a CD ISO: it has all the information you need to recreate something as close to the original as can be.
What this means, among other things, is that in practice you should be able to re-generate a MaiDump or a NoNpDRM dump from the .psv dump, as soon as you mount the .psv dump with the Virtual Game Card plugin.
Additionally, psvgamesd supports dumping games that require PS Vita firmware 3.61 or above, which neither Maidump tool nor NoNpDRM allow. However, and probably obviously, these 3.61+ games cannot be played on firmware 3.60 (they require a higher firmware), or on a non hacked Vita (you need the plugin to run the dumps, and the plugin only runs on a hacked vita). But this means people can still backup their games for future use and for the sake of preserving them*.
Hacker YifanLu also calls for developers to stop supporting the other formats, which rely on inexact dumps and could lead to loss of information down the road. He published a comparison of the dumping tools, as well as some important points on the various formats so far:
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
.psvfiles 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
.psvfrom 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
.psvformat will eventually be used to archive digital games as well. More information on the format is here.
- When a
.psvis 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
.psvto any other format but not the other way around! You must dump the original cart to create a
In my opinion though, the current dumper has to evolve slightly before the output it produces becomes the new standard. Specifically, compressed/trimmed dumps should be introduced, the dumper should support digital games and DLC (it currently only supports cartridges) and sd2vita will need to be supported by the plugin (
currently the plugin only works with official Sony memory cards if my understanding is correct Update: my understanding was incorrect. You can “burn” the .psv file to an sdcard. It’s just not possible to use sd2vita today to mount the .psv file directly from the sdcard.) for people to embrace motoharu’s tools, and therefore the associated format.
The good news is, the .psv format was already built with these things in mind, and the three points above are planned for future releases. From my perspective when this happens there is no question that this will be the new standard format for backups.
Until then however, it is likely that NoNpDRM and MaiDump will remain the dominant players for a while.
Update: motoharu has contacted me and asked me to clarify the following things:
Relation to Cobra Blackfin
I see that lots of people are trying to relate my research and project to the Cobra Blackfin. This happens in two major ways.
Relation to Cobra Blackfin research
Some are trying to relate to so called “leak” that was recently published here: //wololo.net/2017/09/13/vita-reverse-engineering-leak-cobra-blackfin-part-1/ I can claim that there is nothing new for me in that “leak”. My research was always open to the public and is completely independent from Cobra Blackfin. During the developement I have stated and explained this many times. You can also check it here in my first publication that happened year ago: https://github.com/motoharu-gosuto/psvcd. Please read closely the Introduction.
Relation to Cobra Blackfin .psv format
Others are trying to relate to the .psv format of Cobra Blackfin. I can claim that the format that we have developed with Yifan and devnoname120 is a completely independent format and has nothing to do with Cobra Blackfin. I hope you can make the differences by reading this: https://github.com/motoharu-gosuto/psvgamesd/blob/master/driver/psv_types.h As well as checking this development thread: https://gist.github.com/yifanlu/d546e687f751f951b1109ffc8dd8d903
Huge dump size, trimming, compression etc
I see quite a lot of complaints about size of the .psv files. I guess I should have explained it from the start. Initial design of the format assumes that 1 to 1 dumps are produced. However you have a total freedom to derive a trimmed version of the dump from the original file. Ideal solution is to create a tool that does the trimming. Solution for experienced users is to remove zeroes in the end of the file using hex editor. However you have to make sure that you are only deleting zeroes. You also have to keep in mind that data is 512 byte aligned. After trimming – you can set corresponding FLAG_TRIMMED flag in the header of the file.
At this point in time compression does not make much sense since data in the dump is encrypted.
As is always the case for tools that directly allow for copyright infringement, and despite the noble goal of preserving video games, we will not directly link to download pages for psvgamesd.
* I believe some games don’t deserve to be preserved though. I’ll be throwing away my copy of PSV ridge racer in a garbage can before anyone gets their hands on it and attempt to preserve this piece of ***.