| Both sides previous revision
Previous revision
Next revision
|
Previous revision
Next revision
Both sides next revision
|
carts:sony:vita [2021/10/12 01:39] jonasrosland |
carts:sony:vita [2022/01/07 18:19] hiccup [Method 1 - PSVgameSD + PSVStrip Method] |
| ====== PlayStation Vita ====== | ====== PlayStation Vita ====== |
| | {{wst>see_hardware_page}} |
| |
| ===== Introduction ===== | todo: rewrite, add info on what to do with the data that is stripped by PSVStrip, and mention that its probably best to dump all carts both with PSVGameSD and NoNpDrm. |
| |
| **//[copied from No-Intro wiki - needs polishing]//** | ===== Introduction ===== |
| |
| The PlayStation Vita is a powerful dumping machine for Vita carts, but it might take a few tries for someone setting up their homebrew-enabled console the first time to be able to get the tools working. This page is a work in progress, and will soon include more step-by-step instructions on how to set up a "standardized" PlayStation Vita for dumping purposes. | The PlayStation Vita is a powerful dumping machine for Vita carts, just bear in mind it might take a few tries for someone setting up their homebrew-enabled console the first time to be able to get the tools working. Patience will pay off though, so please continue reading :) |
| |
| Highly recommend reading [[https://gist.github.com/yifanlu/bcc8ebb102704ae136c650a912c6f70c|this great comparison between available tools]] written by [[https://twitter.com/yifanlu|Yifan Lu]]. | Highly recommend reading [[https://gist.github.com/yifanlu/bcc8ebb102704ae136c650a912c6f70c|this great comparison between available tools]] written by [[https://twitter.com/yifanlu|Yifan Lu]]. |
| ==== Method 1 - PSVgameSD + PSVStrip Method ==== | ==== Method 1 - PSVgameSD + PSVStrip Method ==== |
| |
| === History about the tools === | This method involves creating a dump of the cart after the block-level encryption has been "removed", with a PSVGameSD header and unique data stripped from the file. |
| | |
| This dumping method is based on [[https://github.com/motoharu-gosuto/psvgamesd|PSVgameSD]], created by [[https://github.com/motoharu-gosuto|Motoharu Gosuto]]. The PSVgameSD application acts as a **dumping tool** as well as a **virtual drive** for the dumps it creates. It allow us to create a 1:1 dump from the game cartridge, which then can be virtually mounted on a PlayStation Vita, emulating the exact same behavior as we inserted the original game cartridge on the device. This leads to a perfect dump for preservation archival purpose. | |
| | |
| This method of dumping was approved in No-Intro in 2019, once user **iCEQB** provided a solution for the "unique license file" problem (as the license file generated inside each game cartridge is different, two dumps from different game cartridge of the same game will never match). This solution then grew into a tool called [[https://github.com/Kippykip/PSVStrip|PSVStrip]]. | |
| | |
| PSVStrip is a tool that allow us to strip all data introduced by PSVgameSD and null all unique bytes within a PlayStation Vita dump. This makes sure that we only preserve all common bytes across multiple cartridges of the same game, while at the same time staying as close as possible to the original media as it can get. | |
| | |
| This modified version is useful for preservation according to No-Intro standards, but will leave the dump unplayable. An option in PSVStrip was developed in order to re-add the licensing data and header info back to a stripped dump and make it playable. | |
| | |
| Note: The dumps generated by PSVgameSD has a ".psv" extension, however this method and its results are totally unrelated to the "BlackFin" project. For more information, [[https://github.com/motoharu-gosuto/psvgamesd/blob/master/README.md#relation-to-cobra-blackfin|see this explanation]]. | |
| |
| === NOTE: Compatibility with game cards that have grw0: partition === | === NOTE: Compatibility with game cards that have grw0: partition === |
| Due to this, dumps coming from game cartridge with a "grw0" partition will be accepted in No-Intro but marked as "Bad Dump" in order to identify them. In the same way, we advice dumping these with NoNpDRM method as well, as dumps with that method do not need the "grw0" partition to work properly. | Due to this, dumps coming from game cartridge with a "grw0" partition will be accepted in No-Intro but marked as "Bad Dump" in order to identify them. In the same way, we advice dumping these with NoNpDRM method as well, as dumps with that method do not need the "grw0" partition to work properly. |
| |
| You can easily confirm if a game cartridge has "grw0" partition by looking at the cart contents through [[https://github.com/TheOfficialFloW/VitaShell|VitaShell]]. Once the game cartridge is inserted, you should see "Gro0" partition (this rute belongs to the game cartridge). If "Grw0" exists, it should be just next to it. | You can easily confirm if a game cartridge has "grw0" partition by looking at the cart contents through [[https://github.com/TheOfficialFloW/VitaShell|VitaShell]]. Once the game cartridge is inserted, you should see "gro0" partition (this belongs to the game cartridge). If "grw0" exists, it should be just next to it. |
| |
| Please, even if are not interested in dumping, helping us identifying these kind of game cartridge would be really useful. | Please, even if are not interested in dumping, helping us identifying these kind of game cartridge would be really useful. |
| [PCSB-00047] Touch My Katamari [EU] | [PCSB-00047] Touch My Katamari [EU] |
| [PCSB-00031] Virtua Tennis 4 [EU] | [PCSB-00031] Virtua Tennis 4 [EU] |
| | [PCSG-00018] Katamari Damacy No-Vita [JP] |
| </code> | </code> |
| |
| |
| * A PlayStation Vita (1000 original model or 2000 revision model) | * A PlayStation Vita (1000 original model or 2000 revision model) |
| * At least, a 4GB Vita Memory Card | * At Vita Memory Card (minimum 4GB) |
| * [[https://enso.henkaku.xyz/|Henkaku]] software installed (able to load homebrew, [[https://vita.hacks.guide/|https://vita.hacks.guide/]]) | * [[https://enso.henkaku.xyz/|Henkaku]] software installed (able to load homebrew, [[https://vita.hacks.guide/|https://vita.hacks.guide/]]) |
| * [[https://github.com/TheOfficialFloW/VitaShell|VitaShell]] homebrew installed (to be able to navigate through the Vita's file system, as well as enabling access to it by USB on PC) | * [[https://github.com/TheOfficialFloW/VitaShell|VitaShell]] homebrew installed (to be able to navigate through the Vita's file system, as well as enabling access to it by USB on PC) |
| ==== Method 2 - NoNpDrm Method ==== | ==== Method 2 - NoNpDrm Method ==== |
| |
| With this method, what we are actually going to do is just to extract the encrypted game files from the Game Card as they are and generate a fake license in order to make them usable. These will not be perfect dumps from the game cartridges, but still all the original game related files inside the game cartridge will be kept without being modified or patched, and it will let us preserve the "Grw0 partition" games till the problem around these cartridges is fixed. | This method extracts the encrypted game files from the Game Card as they are and generates a fake license in order to make them usable. This is not a perfect dump from the game cartridges, but will still keep all the original game related loose files (but not the raw filesystem data) inside the game cartridge without being modified or patched, and it preserves games with the "grw0" partition until the issue is solved with PSVgameSD or another tool. |
| |
| Tools | === Tools === |
| |
| *A PS Vita (1000 original model or 2000 revision model) | * A PlayStation Vita (1000 original model or 2000 revision model) |
| *At least, a 4GB Vita Memory Card (optional, this method can be used with "psvsd" mod, that uses the 3G module on 1000 3G Vita models as a MicroSd port) | * At Vita Memory Card (minimum 4GB) - (optional, this method can be used with "psvsd" mod which uses the 3G module on 1000 3G Vita models as a MicroSD port) |
| *Henkaku software installed (able to load homebrew). [https://henkaku.xyz/] | * [[https://enso.henkaku.xyz/|Henkaku]] software installed (able to load homebrew, [[https://vita.hacks.guide/|https://vita.hacks.guide/]]) |
| *VitaShell homebrew installed (able to navigate through the Vita's file system, as well as enabling access to it by USB on PC) [https://github.com/TheOfficialFloW/VitaShell] | * [[https://github.com/TheOfficialFloW/VitaShell|VitaShell]] homebrew installed (to be able to navigate through the Vita's file system, as well as enabling access to it by USB on PC) |
| *NoNpDrm plugin installed [https://github.com/TheOfficialFloW/NoNpDrm] | * [[https://github.com/TheOfficialFloW/NoNpDrm|NoNpDrm plugin installed]] |
| |
| For the tools installation, follow the instructions inside their Github profiles. The following steps are exactly basedin the same ones you can find on "NoNpDrm" Github page made by TheFlow, so all gratitute to him. We advice to read it, including the "Troubleshooting" point in case you want to test your dump and something goes wrong. | === Dumping === |
| |
| ===Dumping=== | 1. Having the game card inserted in the Vita, use VitaShell to navigate through the Vita's file system and look for the "gro0" path. This path corresponds to the Game Cart. |
| | |
| 1. Having the game cart inserted in the Vita, use VitaShell to navigate through the Vita's file system and look for "gro0" path. This path corresponds to the Game Cart. | |
| | |
| 2. The game files are stored on "gro0:app/TITLE_ID" where TITLE_ID corresponds to the game Serial ID. Example: Uncharted - Golden Abyss (Europe) is "PCSF-00001", so "TITLE_ID" folder should be called "PCSF00001" | 2. The game files are stored in "gro0:app/TITLE_ID" where TITLE_ID corresponds to the game Serial ID. Example: Uncharted - Golden Abyss (Europe) is "PCSF-00001", so "TITLE_ID" folder should be "gro0:app/PCSF00001" |
| | |
| 3. You now have to options: | 3. You now have two options: |
| | |
| 3.1 Fast PC transfer: You can mount the Game Card over USB. To do so, open VitaShell settings menu by pressing the START button of your PS Vita. Once opened, go to the "USB device" option and select "Game Card". Press START once again to close the settings menu. Connect the PS Vita to your PC by USB. Then, press the "SELECT" button of your PS Vita and it will enable USB connection. Your PC should detect automatically the unit and give you access to the it. Just enter the "app" folder in the unit, and copy "TITLE_ID" to your desktop. | 3.1 Fast PC transfer: You can mount the Game Card over USB. To do so, open VitaShell settings menu by pressing the START button of your PS Vita. Once opened, go to the "USB device" option and select "Game Card". Press START once again to close the settings menu. Connect the PS Vita to your PC by USB. Then, press the "SELECT" button of your PS Vita and it will enable USB connection. Your PC should detect automatically the unit and give you access to the it. Just enter the "app" folder in the unit, and copy "TITLE_ID" to your desktop. |
| | |
| 3.2 Copying files to the Memory Card and then, transfering these to PC: The first method sometimes doesnt work (Windows can throw an error when connecting "Game cart" unit, not recognizing it correctly). In this case, just use VitaShell to copy "gro0:app/TITLE_ID" folder and to "ux0". Then, select "Memory Card" on "USB device". Press "START" to close the menu and press "SELECT" afterwards, to active the USB connection from your Vita to the PC (make sure you connected both with the USB). The Memory Card unit should be correctly detected, allowing you to copy the "TITLE_ID" folder to the desktop. | 3.2 Copying files to the Memory Card and then transferring these to PC. Use VitaShell to copy the "gro0:app/TITLE_ID" folder to "ux0". Then, select "Memory Card" on "USB device". Press "START" to close the menu and press "SELECT" afterwards, to activate the USB connection from your Vita to the PC. The Memory Card unit should be properly detected, allowing you to copy the "TITLE_ID" folder to your computer. |
| |
| === Applying Fake License=== | === Applying a Fake License === |
| |
| To finish our dump, we must generate a fake license file for it. For this, you just need to launch the game in your Vita as you were going to play it, with the NoNpDrm plugin enabled. As soon as you start it, just get out and enter VitaShell. | To finish the dump we must generate a fake license file. For this, you need to launch the game in your Vita as you were going to play it, with the NoNpDrm plugin enabled. As soon as you start it, exit the game and enter VitaShell. |
| | |
| The fake license will be a ".rif" file with a really long name, that should be stored at "ux0:nonpdrm/license/app/TITLE_ID/6488b73b912a753a492e2714e9b38bc7.rif". | The license to be faked will be a ".rif" file with a long name, which should be stored at "ux0:nonpdrm/license/app/TITLE_ID/6488b73b912a753a492e2714e9b38bc7.rif". |
| | |
| This file must be copied from your Vita to the PC. Rename it as "work.bin" and copy the file to "TITLE_ID/sce_sys/package/", so you have "TITLE_ID/sce_sys/package/work.bin". With this step, the "NoNpDrm" dump is now completed. | Copy this file from the Vita to the PC. Rename it as "work.bin" and copy the file to "TITLE_ID/sce_sys/package/", so you have "TITLE_ID/sce_sys/package/work.bin". With this step, the "NoNpDrm" dump is now completed. |
| |
| ===== Verification ===== | Once that's complete, you can continue to [[#Gathering and Submitting Dump Info]] |
| Description of how to verify that is a dump is correct. | |
| |
| ===== Gathering and Submitting Dump Info ===== | ===== Gathering and Submitting Dump Info ===== |
| |
| <code -> | See [[submission:vita-carts|Gathering and Submitting Dump Info for PlayStation Vita carts]] |
| Dumping tool: | |
| Dumper: | |
| Affiliation: | |
| Dump creation date: | |
| Dump release date: | |
| | |
| Title: | |
| Region: | |
| Edition: | |
| Languages: | |
| Language Select: | |
| WikiData ID: | |
| | |
| Size: | |
| CRC32: | |
| MD5: | |
| SHA-1: | |
| SHA-256: | |
| </code> | |
| | |
| * General Note: If you are submitting this info to a person/group in order for them to add it to a database, you can skip the transcription of some things, and leave it to them. But it can make the process smoother if you do the transcription yourself. | |
| ===== Submitting Dump Info ===== | |
| Point to external submission information for No-Intro/Redump. | |
| |