Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
carts:sony:vita [2026/11/06 13:10] – Convert image list for grw0 to table to reduce scrolling kaoscarts:sony:vita [2026/11/10 14:33] (current) – [Vita-specific important notes] kaos
Line 1: Line 1:
 ====== PlayStation Vita ====== ====== PlayStation Vita ======
- 
 {{wst>see_hardware_page}} {{wst>see_hardware_page}}
  
Line 6: Line 5:
  
 ===== Introduction ===== ===== Introduction =====
- 
 {{wst>dumping_important_notes}} {{wst>dumping_important_notes}}
  
 ==== Vita-specific 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.
  
-=== grw0 partition ===+Japan box front
  
-Currently there is no known method to dump games with the writable partition (grw0) without the system initialising/modifying the filestystem. It may be best to keep unused grw0 carts unused (not inserted into a system) until a method is found. If the game box doesn't have "memory card required" on it (see images below), it is likely to be a grw0 cart, however this isn't a foolproof method.+{{:carts:sony:psvita-jpn-box-front-memory_card_required.jpg?150|}}
  
-| Japan box front | {{:carts:sony:psvita-jpn-box-front-memory_card_required.jpg?150}} | +Japan box back
-| 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:**+{{:carts:sony:psvita-jpn-box-back-memory_card_required.jpg?150}}
  
-<code ->+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:** 
 +<code>
 Army Corps of Hell (Europe) //confirmed Army Corps of Hell (Europe) //confirmed
 Asphalt Injection (Japan) //confirmed Asphalt Injection (Japan) //confirmed
Line 77: Line 89:
 Sangoku Musou Next (Japan) //Confirmed Sangoku Musou Next (Japan) //Confirmed
 Sengoku Hime 3 (Japan) Sengoku Hime 3 (Japan)
-Shin Kamaitachi no Yoru (The best) (Japan) //confirmed+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 (US) //Suspected but the case still indicates the need for a memory card
 Shinobidou 2 (Japan) //Confirmed Shinobidou 2 (Japan) //Confirmed
Line 98: Line 110:
 </code> </code>
  
-=== Blackfin === +=== 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. 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 ===== ===== Methods =====
  
-  - [[#Vita console with homebrew]] +  - [[#Vita console with GcToolKit + petra]] 
- +  - [[#Vita console with PSVGameSD + PSVStrip]]
-==== Vita console with homebrew ==== +
- +
-This method involves creating a dump of the cart after the block-level encryption has been "removed" and unique data stripped from the file. It also involves creating a generic (aka "fake") licence file for the cart. +
- +
-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 ===+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.
  
-  * A PlayStation Vita (1000 original model or 2000 revision model) +=== Common Tools === 
-  * At Vita Memory Card (minimum 4GB) +  * A PlayStation Vita (1000 original model or 2000 revision model, or PlayStation TV/PS Vita TV) 
-  * [[https://enso.henkaku.xyz/|Henkaku]] software installed (able to load homebrew, [[https://vita.hacks.guide/|https://vita.hacks.guide/]])+  * 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/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/motoharu-gosuto/psvgamesd|PSVgameSD plugin and app installed]] 
   * [[https://github.com/TheOfficialFloW/NoNpDrm|NoNpDrm plugin installed]]   * [[https://github.com/TheOfficialFloW/NoNpDrm|NoNpDrm plugin installed]]
  
 === Before Dumping === === Before Dumping ===
  
-1. Check if the game you are dumping is in the list above.+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.
  
-2. If it is and it is sealed consider waiting before dumping. These games are special cases and it'd really help the preservation community if you could hold on to them sealed until we find the best way to dump them as faithfully as possible. Such a method is currently being investigated and this guide will be updated once more is found on the subject. Of course no one is forcing you to wait and the process below will work just fine, but just know that it'll invalidate this particular dump to be submitted to No-Intro. In the best case scenario your dump will probably be flagged as Bad.+==== Vita console with GcToolKit + petra ====
  
-3. If your game is sealed or is not already installed (ie: There's no bubble for this game on your home screen yet) **DO NOT** insert the game in the console yet. First Launch **Virtual GC** as in step 1. below and only then insert the cart in your vita. This should prevent the console from modifying anything on the game card if you happen to have a writable game card.+===Tools===
  
-4. If your game was bought used or already played and/or installed in your vita you can ignore the previous warning.+  * [[https://github.com/oestriot/GcToolKit|GcToolKit app installed on Vita]] 
 +  * [[https://github.com/Deterous/petra|petra]] on Windows/macOS/Linux
  
 === Dumping === === Dumping ===
  
-1. Once all the tools are correctly installed, go to the LiveArea menu and launch the **Virtual GC** bubble.+1. Once all the tools are correctly installed, go to the LiveArea menu and launch the **GcToolKit** 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**.+2. The application will wait for a game cart to be inserted, then perform cart authentication.
  
-3. Once selected, press "Up" or "Down" to navigate through dump files and select the Game Cart.+3. Select 'Backup Entire Game Cart' and press your system's confirmation button (displayed at the bottom of the application).
  
-4. Press "Cross" to start dumping the came card (this option is only available if a game card is correctly inserted)+4. Select 'Backup Vita Cartridge Image (.vci)' and press your system's confirmation button.
  
-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.+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. If the dump was successful, a .psv dump file will be stored in the "ux0:iso" folder.+6. Wait for the backup to complete. The process will usually take under 10 minutes. The file will be saved to ux0:bak/.
  
-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.+7. Eject the game card from the Vita once the dump is complete.
  
-8. Copy the ".psv" file from within the "iso" folder to your computer for further analysis.+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.
  
-=== PSVStrip treatment ===+9. Copy the '.vci' file containing the game data from the root of the device to your computer.
  
-To be able to compare your dump to other dumps for verification purposes you have to remove the license information using [[https://github.com/Kippykip/PSVStrip|PSVStrip]] (or alternatively for Linux/Mac, this docker image: [[https://github.com/jonasrosland/psvstrip-docker/|GitHub]], [[https://hub.docker.com/r/jonasrosland/psvstrip-docker|Docker]]):+=== petra ===
  
-<code -> +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: 
-PSVStrip.exe -psvstrip source.psv destination.psv +<code>petra strip source.vci</code>
-</code>+
  
-=== Applying a Fake License ===+Petra will output multiple files.
  
-To finish the dump we must generate a fake license file. For this, you need to launch the game (original cart or unstripped .psv) 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 .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.
  
-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". While you are in VitaShell, please 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 above 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 above please also mention this in your submission so that it can be removed from the list.+If you would like to turn your dump back into a single .vci file, use the following command: 
 +<code>petra repair source.img </code> 
 +The resulting .vci file should match the hashes in the .dat file.
  
-Copy this file from the Vita to the PC. Rename it to match your psv file, but with a ".rif" extension.+Continue to the [[#Applying a Fake License]] section.
  
-===== Gathering and Submitting Dump Info =====+==== Vita console with PSVGameSD + PSVStrip ====
  
-{{wst>see_submission_page}}+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:
 +<code>PSVStrip.exe -psvstrip source.psv destination.img</code>
 +
 +===== 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}}