====== PlayStation Vita ======
{{wst>see_hardware_page}}
{{wst>vgpc_help}}
===== Introduction =====
{{wst>dumping_important_notes}}
==== Vita-specific important notes ====
=== grw0 partition ===
Some Vita cartridges have a writable partition called grw0. You can identify cards that may have this partition by looking for game cases that do not have a 'Memory Required' badge; these are almost all early titles.
Japan box front
{{:carts:sony:psvita-jpn-box-front-memory_card_required.jpg?150|}}
Japan box back
{{:carts:sony:psvita-jpn-box-back-memory_card_required.jpg?150}}
USA box front
{{:carts:sony:psvita-usa-box-front-memory_card_required.jpg?100|}}
USA box back
{{:carts:sony:psvita-usa-box-back-memory_card_required.jpg?150|}}
Europe box front
{{:carts:sony:psvita-europe-box-back-memory_card_required.jpg?150|}}
Europe box back
{{:carts:sony:psvita-europe-box-front-memory_card_required.jpg?150|}}
**List of game carts that are suspected (plus some confirmed) to contain a grw0 partition:**
Army Corps of Hell (Europe) //confirmed
Asphalt Injection (Japan) //confirmed
Asphalt Injection (USA)
BlazBlue Extend (Japan) //Confirmed
Chikyuu Boueigun Portable 3 (Japan)
Dark Quest - Alliance (Japan) //Confirmed
DJ Max Technika Tune (Japan) //confirmed
Dungeon Hunter - Alliance (USA) //confirmed
F1 2011 (Japan) //Confirmed
Fifa Football (France) //confirmed
FIFA Football (Germany) //confirmed
FIFA Football (Italy) //confirmed
Fifa Football (Spain) //Confirmed
FIFA World Class Soccer (Japan)
Haiyore Nyaruko-san - Meijou Shi Gatai Game no You na Mono (Japan) //Confirmed
Jak and Daxter (USA)
Jigoku no Gundan (Japan) //Confirmed
Katamari Damashii No vita (Japan) //Confirmed
Kyokugen Dasshutsu ADV Zen'nin Shibou Desu (Japan) //confirmed
Little Busters (Japan)
Lord of Apocalypse (Japan) //Confirmed
Mahjong Kakutou Club (Japan)
Michael Jackson - The experience HD (Japan)
Michael Jackson - The Experience HD (Europe) //Confirmed
Mortal Kombat (USA)
Naitei Shuukatsu Kanzen Taisaku (Japan)
NextRev - Care Manager Shiken (Japan) //confirmed
NextRev - Chuushou Kigyou Shindanshi Shiken 1 (Japan) //Confirmed
NextRev - Chuushou Kigyou Shindanshi Shiken 2 (Japan) //Confirmed
NextRev - Daisanshuu Denki Shunin Gijutsusha Shiken (Japan)
NextRev - Eibunpou Tettei Tokkun (Japan) //confirmed
NextRev - Eiken (Japan) //confirmed
NextRev - FP Ginoukentei Shiken 2-Kyuu (Japan)
NextRev - FP Ginou Kentei Shiken 3-kyuu (Japan) //Confirmed
NextRev - Gyouseishoshi Shiken (Japan) //Confirmed
NextRev - Shakaifukushishi Shiken (Japan) //Confirmed
NextRev - Hisho Kentei Shiken (Japan) //Confirmed
NextRev - IT Passport Shiken (Japan) //Confirmed
NextRev - Jouhou Security Specialist Shiken Network Specialist Shiken (Japan) //Confirmed
NextRev - Kaigofukushishi Shiken (Japan)
NextRev - Kihon Jouhougijutsusha Shiken (Japan) //Confirmed
NextRev - Ouyou Jouhougijutsusha Shiken (Japan) //Confirmed
NextRev - Sharoushi Shiken (Japan) //confirmed
Ninja Gaiden Sigma Plus (Japan) //Confirmed
Oboro Muramasa (Japan) //Confirmed
Orgarythm (Japan)
Persona 4 The Golden (The Best) (Japan) //confirmed
Power Smash 4 (Japan) //Confirmed
Ragnarok Odyssey (Japan) //Confirmed
Ragnarok Odyssey (USA)
Sangoku Musou Next (Japan) //Confirmed
Sengoku Hime 3 (Japan)
Shin Kamaitachi no Yoru (Original, the Best releases) (Japan) //confirmed
Shinobidou 2 (US) //Suspected but the case still indicates the need for a memory card
Shinobidou 2 (Japan) //Confirmed
Silent Hill - Book of Memories (USA)
Spy Hunter (Japan)
Sumi Oni (Japan) //Confirmed
Super Monkey Ball - Tokumori Asobiita (Japan) //Confirmed
Supremacy MMA Unrestricted (USA)
Suugaku Rikiou - Shokyuu Chuu-1-Level (Japan) //confirmed
Suugaku Rikiou - Chuukyuu Chuu-2-Level (Japan) //Confirmed
Suugaku Rikiou - Joukyuu Chuu-3-Level (Japan) //confirmed
Tetris Ultimate (USA)
Time Travelers (Japan) //confirmed
TOEIC TEST Jissen Tokkun (Japan)
Tokushu Houdoubu (Japan) //confirmed
Touch My Katamari (Europe) //confirmed
Ultimate Marvel vs. Capcom 3 (Japan)
Valhalla Knights 3 (Japan) //Confirmed
Virtua Tennis 4 (US) //Suspected but the case still indicates the need for a memory card
=== Blackfin ===
If you own a Blackfin backup device for the Vita, or have more information about its workings, please get in contact, as it could help with reverse engineering the cart protocol.
===== Methods =====
- [[#Vita console with GcToolKit + petra]]
- [[#Vita console with PSVGameSD + PSVStrip]]
Both methods involve creating a dump of the cart, stripping the unique data to create a standardized image, and creating a generic (aka "fake") licence file for the cart.
=== Common Tools ===
* A PlayStation Vita (1000 original model or 2000 revision model, or PlayStation TV/PS Vita TV)
* A PS Vita Memory Card (minimum 4GB), or a [[https://psvsd.henkaku.xyz/|psvsd]] internal SD card modification (Vita 1100 with 3G Modem only).
* SD2Vita is explicitly **not** supported as a dump target, since it takes up the cartridge slot in the Vita.
* psvsd is only explicitly supported with GcToolKit and may cause issues with PSVGameSD.
* [[https://enso.henkaku.xyz/|Henkaku Enso]] software installed (able to load homebrew, [[https://vita.hacks.guide/|https://vita.hacks.guide/]]).
* GcToolKit will work on Enso 3.60 or Enso 3.65.
* PSVGameSD requires Enso 3.60 specifically and may not be compatible with late PS Vita 2000 models.
* [[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/NoNpDrm|NoNpDrm plugin installed]]
=== Before Dumping ===
1. Check if the game you are dumping is in [[#grw0 partition]] list above.
2. If your game is sealed or is not already installed (i.e. there's no bubble for this game on your home screen yet) **DO NOT** insert the game in the console yet.
* For PSVGameSD, launch the **Virtual GC** bubble as in step 1.
* For GcToolKit, launch the **GcToolKit** bubble.
Only then insert the cart into your Vita. This should prevent the console from modifying anything on the game card if you happen to have a writable game card.
3. If your game was bought used or already played and/or installed in your Vita, you can ignore the previous warning.
==== Vita console with GcToolKit + petra ====
===Tools===
* [[https://github.com/oestriot/GcToolKit|GcToolKit app installed on Vita]]
* [[https://github.com/Deterous/petra|petra]] on Windows/macOS/Linux
=== Dumping ===
1. Once all the tools are correctly installed, go to the LiveArea menu and launch the **GcToolKit** bubble.
2. The application will wait for a game cart to be inserted, then perform cart authentication.
3. Select 'Backup Entire Game Cart' and press your system's confirmation button (displayed at the bottom of the application).
4. Select 'Backup Vita Cartridge Image (.vci)' and press your system's confirmation button.
5. Select a device to backup to. 'ux0' is your Vita memory card (or SD card with a psvsd installed). 'Save to Network' allows sending files over the Vita's Wi-Fi connection with an assistant tool in the [[https://github.com/oestriot/GcToolKit/releases|GcToolKit repository]] (GcNetworkBackup), but it is very slow. This guide will use 'ux0'. Press your system's confirmation button.
6. Wait for the backup to complete. The process will usually take under 10 minutes. The file will be saved to ux0:bak/.
7. Eject the game card from the Vita once the dump is complete.
8. In order to transfer it to a PC, go to the LiveArea, enter VitaShell, and then connect your PS Vita to the PC using a USB cable. Open the VitaShell settings menu by pressing the START button of your PlayStation Vita. Once opened, go to the "USB device" option and select "Memory Card". Press START once again to close the settings menu. Then, press the "SELECT" button of your PlayStation Vita to enable the USB connection. Your PC should now automatically detect the Memory Card as a new USB device.
9. Copy the '.vci' file containing the game data from the root of the device to your computer.
=== petra ===
To be able to compare your dump to other dumps for verification purposes you have to remove the license information and CMD56 keys using petra. Open a command prompt in the folder with petra, and run the following command:
petra strip source.vci
Petra will output multiple files.
* The .dat file contains the information needed to dat the file in No-Intro; specifically, the hashes and filename. The line with the .img file is the one that should be used for datting.
* The .hdr file contains the original .vci header.
* The .img file is the stripped dump that No-Intro dats.
* The .rif file is the original license file for your dump.
* The .unk file is some currently unknown information.
If you would like to turn your dump back into a single .vci file, use the following command:
petra repair source.img
The resulting .vci file should match the hashes in the .dat file.
Continue to the [[#Applying a Fake License]] section.
==== Vita console with PSVGameSD + PSVStrip ====
Technical Note: There are some game cards that have a writable partition called "grw0". PSVGameSD can probably dump that partition fine (todo: confirm this), but it cannot mount dumps with that partition, so the only way to play these dumps is to convert them to NoNpDrm format first (todo: confirm this works). Also each time a cart is used, the partition data and therefore the dump will be different. PSVStrip does not have support for stripping/emptying this partition.
===Tools===
* [[https://github.com/motoharu-gosuto/psvgamesd|PSVgameSD plugin and app installed]]
* [[https://github.com/Kippykip/PSVStrip|PSVStrip]] for Windows (or alternatively for Linux/Mac, this docker image: [[https://github.com/jonasrosland/psvstrip-docker/|GitHub]], [[https://hub.docker.com/r/jonasrosland/psvstrip-docker|Docker]])
=== Dumping ===
1. Once all the tools are correctly installed, go to the LiveArea menu and launch the **Virtual GC** bubble.
2. You will be presented with a console UI. Press "Left" or "Right" on the D-Pad to switch between different modes - **choose Physical MMC mode**.
3. Once selected, press "Up" or "Down" to navigate through dump files and select the Game Cart.
4. Press "Cross" to start dumping the game card (this option is only available if a game card is correctly inserted)
5. Process should start automatically, displaying the "Dump progress" and indicating the sectors still to be dumped. The process can take long to finish (30-45 minutes), so just leave the device to do it's thing.
6. If the dump was successful, a .psv dump file will be stored in the "ux0:iso" folder.
7. In order to transfer it to a PC, enter VitaShell and then connect your PS Vita to the PC using a USB cable. Open the VitaShell settings menu by pressing the START button of your PlayStation Vita. Once opened, go to the "USB device" option and select "Memory Card". Press START once again to close the settings menu. Then, press the "SELECT" button of your PlayStation Vita to enable the USB connection. Your PC should now automatically detect the Memory Card as a new USB device.
8. Copy the ".psv" file from within the "iso" folder to your computer for further analysis.
===PSVStrip treatment===
To be able to compare your dump to other dumps for verification purposes you have to remove the license information using PSVStrip:
PSVStrip.exe -psvstrip source.psv destination.img
===== Applying a Fake License =====
This step is not necessary for submission to No-Intro, but can be useful for using your dumps on a console if you choose to do so.
Generate a fake license file by launching the game on your Vita as if you were going to play it, with the NoNpDrm plugin enabled. As soon as you start it, exit the game and enter VitaShell.
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". The TITLE_ID should be in the filename of your dumped file (of the format AAAA#####).
Copy this file from the Vita to the PC.
While you are in VitaShell, please also check if the grw0 partition is present (it will be beside the gro0 partition), and note that down so you can provide this info in your dump submission. If your game contains a grw0 partition and is not listed in the [[#grw0 partition]] list please also mention it in your dump submission so that it can be added. If your game doesn't contain a grw0 partition, but is listed in the grw0 list, please also mention this in your submission so that it can be removed from the list.
===== Gathering and Submitting Dump Info =====
{{wst>see_submission_page}}