Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

PSVgameSD Vita: Difference between revisions

From GameBrew
m (Text replacement - "GameBrew!" to "GameBrew")
 
(7 intermediate revisions by the same user not shown)
Line 2: Line 2:
|title=Vita Homebrew Apps (Plugins) - GameBrew
|title=Vita Homebrew Apps (Plugins) - GameBrew
|title_mode=append
|title_mode=append
|image=psvgamesdvita.jpg
|image=psvgamesdvita2.png
|image_alt=PS Vita - Virtual Game Card
|image_alt=PS Vita - Virtual Game Card
}}
}}
{{Infobox Vita Homebrews
{{Infobox Vita Homebrews
|title=PS Vita - Virtual Game Card (psvgamesd)
|title=PS Vita - Virtual Game Card
|image=psvgamesdvita.jpg
|image=psvgamesdvita2.png
|description=Drivers for Virtual GC homebrew.
|description=Drivers for Virtual GC homebrew.
|author=motoharu
|author=motoharu
Line 18: Line 18:
|source=https://github.com/motoharu-gosuto/psvgamesd
|source=https://github.com/motoharu-gosuto/psvgamesd
}}
}}
'''PS Vita - Virtual Game Card (psvgamesd)''' is a driver files for Virtual GC homebrew.
==What is PS Vita - Virtual Game Card (psvgamesd)?==
PS Vita - Virtual Game Card (psvgamesd) is an user application and kernel plugin that allow to produce game card dumps and run them.
PS Vita - Virtual Game Card (psvgamesd) is an user application and kernel plugin that allow to produce game card dumps and run them.


This application is designed for two main tasks:
This application is designed for two main tasks:
* Produce 1 to 1 dumps of game cards.
* Produce 1 to 1 dumps of game cards.
* Introduce functionality that allows to run these dumps.
* Introduce functionality that allows to run these dumps.


Aplication consists of user application that manages the driver settings and kernel plugin that is used to emulate game card.
Application consists of user application that manages the driver settings and kernel plugin that is used to emulate game card.
 
== Requirements ==
* henkaku
* taihen
 
== Compatibility with sd2vita adapter ==
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 recommented to remove sd2vita adapter. However when inserted - it should be ignored by this plugin.
 
'''Integration with sd2vita is planned for next release.'''
 
=== Compatibility with game cards that have grw0: partition ===
There are some game cards that have write partition. It allows to write on game card.


Currently such game cards are not supported. This is planned for next release.
==Installation==
===Before installing===
Requirements:
* HENkaku
* taiHEN


If you want to help me with this issue, please drop a comment at: [https://github.com/motoharu-gosuto/psvgamesd/issues/10 #10]
Compatibility with sd2vita adapter:
*This plugin is not compatible with sd2vita adapter and corresponding [[Gamesd_Vita|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.


== How To Install Psvgamesd? ==
Compatibility with game cards that have grw0: partition:
=== Install kernel plugin ===
*There are some game cards that have write partition. It allows to write on game card.
*Currently such game cards are not supported. This is planned for next release.
*If you want to help me with this issue, please drop a comment at [https://github.com/motoharu-gosuto/psvgamesd/issues/10 #10].


===How to install===
Install kernel plugin:
* Copy psvgamesd.skprx to the location where you have kernel plugins.
* Copy psvgamesd.skprx to the location where you have kernel plugins.
* Add the path to config.txt.
* Add the path to config.txt.
* Reboot your vita.
* Reboot your vita.


===Install user app ===
Install user app:
* Install psvgc.vpk.
* Install psvgc.vpk.
* Virtual GC bubble will appear.
* Virtual GC bubble will appear.


==User Interface / Controls description ==
==User guide==
Upon launching user app you will be presented with console UI.
===User interface===
Upon launching user app you will be presented with console UI:
* Current mode is indicated on line "driver mode:".
 
Physical MMC mode (produce game card dumps):
* 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 "Left" or "Right" on d-pad to switch between different modes of the driver.
Virtual MMC mode/SD mode (running game card dump):
* Current mode is indicated on line "driver mode:"
*Selection status is shown on line "selected iso:".
*Insertion status (insert/remove) is shown on line "insertion state:".


===Physical MMC mode - Producing Game Card Dumps ===
===Use cases===
* Press "Up" or "Down" to navigate through dump files
Typical Emulation use case:
* 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.
*Use physical mmc mode to produce 1:1 dump of the game card.
* Press "Square" to stop dumping the came card. This options is only available when dump process is started.
*Use virtual mmc or virtual sd mode to run the game.
* Press "Triangle" to exit application.


===Virtual MMC mode / Virtual SD mode - Running Game Card Dump ===
Typical Physical Storage use case:
* Press "Up" or "Down" to navigate through dump files
*Use physical mmc mode to produce 1:1 dump of the game card.
* Press "Circle" to select game of interest. Selection status is shown on line "selected iso:".
*Use your favorite tool or hex editor to burn this dump to SD card.
* Press "Start" to insert game card. Insertion status is shown on line "insertion state:".
*Use physical sd mode to run the game.
* Press "Select" to remove game card. Insertion status is shown on line "insertion state:".
* Press "Triangle" to exit application.


=== Physical SD mode - Running Game Card Dump ===
===Huge dump size, trimming, compression etc===
* Press "Up" or "Down" to navigate through dump files
'''Trimming zeroes:'''
* Press "Triangle" to exit application.


==Psvgamesd's Use cases ==
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.  
===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.


=== Typical Physical Storage use case ===
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.
* 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.


== Huge dump size, trimming, compression etc ==
'''Compression:'''
=== Trimming zeroes ===
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.


=== Compression ===
At this point in time compression does not make much sense since data in the dump is encrypted.
At this point in time compression does not make much sense since data in the dump is encrypted.


== Legacy ways to dump the came card ==
===CMD56 handshake===
=== Custom board ===
Data from the handshake is required to pass signature checks and obtain klicensee. It is integrated into dump file.  
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)
 
For second approach you will need kirk plugins that are located here https://github.com/motoharu-gosuto/psvkirk
 
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.
When game card is inserted in physical mmc mode signature and keys are intercepted and saved to dump file later.


==CMD56 handshake ==
=== Dumper comparison ===
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.
[https://gist.github.com/yifanlu/bcc8ebb102704ae136c650a912c6f70c Dumper comparison by Yifan].


== Dumper comparsion (Thanks to Yifan) ==
{| class="wikitable"
{|
!
!
! [[Psvgamesd Vita|psvgamesd]]
! [[PSVgameSD Vita|psvgamesd]]
! [[Nonpdrm Vita|NoNpDrm]]
! [[NoNpDrm Vita|NoNpDrm]]
! [[Vitamin Vita|Vitamin]]/[[Maidumptool Vita|MaiDumpTool]]
! [[Vitamin|Vitamin]]/[[MaiDumpTool Vita|MaiDumpTool]]
|-
|-
| Dumps physical games
| Dumps physical games
Line 189: Line 160:
Key points:
Key points:


* 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.
* 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 <code>.psv</code> 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 &quot;install&quot; it as a bubble (saving space) and finally delete the original <code>.psv</code> from your Vita.
* psvgamesd creates <code>.psv</code> 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 &quot;install&quot; it as a bubble (saving space) and finally delete the original <code>.psv</code> from your Vita.
* psvgamesd allows you to backup your 3.61+ games for use if/once later firmware are hacked.
* 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 <code>.psv</code> format will eventually be used to archive digital games as well. More information on the format is [https://gist.github.com/yifanlu/d546e687f751f951b1109ffc8dd8d903 here].
* psvgamesd currently does not support backing up digital games but the <code>.psv</code> format will eventually be used to archive digital games as well. More information on the format is [https://gist.github.com/yifanlu/d546e687f751f951b1109ffc8dd8d903 here].
* When a <code>.psv</code> 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 <code>.psv</code> to any other format but not the other way around! You must dump the original cart to create a <code>.psv</code>!
* When a <code>.psv</code> 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 <code>.psv</code> to any other format but not the other way around. You must dump the original cart to create a <code>.psv</code>.
 
Author's Legal Disclaimer: I helped author the <code>.psv</code> format to help standardize the format for backup and archival but I do not endorse any method to circumvent DRM. This guide is provided for informative purposes only and does not serve to aid any party in circumventing DRM. I have not worked directly or indirectly on any DRM circumvention features.
 
==Controls==
'''Console UI:'''
 
D-Pad Left/Right - Switch between different modes of the driver
 
'''Physical MMC mode - Producing Game Card Dumps:'''
 
Up/Down - Navigate through dump files
 
Cross - Start dumping the came card (only available if real game card is inserted)
 
Square - Stop dumping the came card (only available when dump process is started)
 
Triangle - Exit application
 
'''Virtual MMC mode/SD mode - Running Game Card Dump:'''


Legal Disclaimer Yifan: I helped author the <code>.psv</code> format to help standardize the format for backup and archival but I do not endorse any method to circumvent DRM. This guide is provided for informative purposes only and does not serve to aid any party in circumventing DRM. I have not worked directly or indirectly on any DRM circumvention features.
Up/Down - Navigate through dump files


== Relation to Cobra Blackfin ==
Circle - Select game of interest
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 ===
Start - Insert game card
Some are trying to relate to so called &quot;leak&quot; that was recently published here: http://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 &quot;leak&quot;. 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 ===
Select - Remove game card
Others are trying to relate to the .psv format of Cobra Blackfin. I can claim that the format that we have develped 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 developement thread: https://gist.github.com/yifanlu/d546e687f751f951b1109ffc8dd8d903


==Media==
Triangle - Exit application
<youtube>nd5NdwdsiDw</youtube>


==Screenshot==
'''Physical SD mode - Running Game Card Dump:'''
[[image:psvgamesdvita.jpg|600px]]


== Reporting issues ==
Up/Down - Navigate through dump files
Feel free to report bugs/issues here: https://github.com/motoharu-gosuto/psvgamesd/issues
 
Triangle - Exit application
 
==Screenshots==
https://dlhb.gamebrew.org/vitahomebrews/psvgamesdvita3.png
 
==Known issues ==
https://github.com/motoharu-gosuto/psvgamesd/issues


==Changelog==
==Changelog==
'''(v.2.0)'''
'''v2.0'''
* Add 3.63+ FW support
* Add 3.63+ FW support.
 
'''(v.1.0)'''
* First Release.


==Special thanks ==
==Credits==
* Thanks to Team molecule for HENkaku and thanks to Yifan Lu for taiHEN.
Disclaimer:
* Thanks to Proxima for explaining klicensee theory.
*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.
* Thanks to SonyUSA for helping with initial testing.
*This software is meant to be strictly reserved for your own PERSONAL USE.
* Thanks to al3xtjames for adding 3.63+ support.
*The author does not take any responsibility for your actions using this software.


== Legal Disclaimer ==
Thanks to:
* 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.
* Team molecule for HENkaku and thanks to Yifan Lu for taiHEN.
* This software is meant to be strictly reserved for your own '''PERSONAL USE'''.
* Proxima for explaining klicensee theory.
* The author does not take any responsibility for your actions using this software.
* SonyUSA for helping with initial testing.
* al3xtjames for adding 3.63+ support.


== External links ==
== External links ==
* Github - https://github.com/motoharu-gosuto/psvgamesd
* GitHub - https://github.com/motoharu-gosuto/psvgamesd
* VitaDB - https://vitadb.rinnegatamante.it/#/info/313
* VitaDB - https://vitadb.rinnegatamante.it/#/info/313
* Vita Dumper Comparison - https://gist.github.com/yifanlu/bcc8ebb102704ae136c650a912c6f70c
* Vita Dumper Comparison - https://gist.github.com/yifanlu/bcc8ebb102704ae136c650a912c6f70c
* Legacy ways to dump the came card - https://github.com/motoharu-gosuto/psvgamesd#legacy-ways-to-dump-the-came-card

Latest revision as of 13:55, 19 Ocak 2023

PS Vita - Virtual Game Card
Psvgamesdvita2.png
General
Authormotoharu
TypePlugins
Version2.0
LicenseMIT License
Last Updated2019/02/06
Links
Download
Source

PS Vita - Virtual Game Card (psvgamesd) is an user application and kernel plugin that allow to produce game card dumps and run them.

This application is designed for two main tasks:

  • Produce 1 to 1 dumps of game cards.
  • Introduce functionality that allows to run these dumps.

Application consists of user application that manages the driver settings and kernel plugin that is used to emulate game card.

Installation

Before installing

Requirements:

  • HENkaku
  • taiHEN

Compatibility with sd2vita adapter:

  • 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.

Compatibility with game cards that have grw0: partition:

  • There are some game cards that have write partition. It allows to write on game card.
  • Currently such game cards are not supported. This is planned for next release.
  • If you want to help me with this issue, please drop a comment at #10.

How to install

Install kernel plugin:

  • Copy psvgamesd.skprx to the location where you have kernel plugins.
  • Add the path to config.txt.
  • Reboot your vita.

Install user app:

  • Install psvgc.vpk.
  • Virtual GC bubble will appear.

User guide

User interface

Upon launching user app you will be presented with console UI:

  • Current mode is indicated on line "driver mode:".

Physical MMC mode (produce game card dumps):

  • Insertion status is shown on line "content id:".
  • Dump progress is shown on line "dump progress:".
  • Dump file is stored at ux0:iso folder.

Virtual MMC mode/SD mode (running game card dump):

  • Selection status is shown on line "selected iso:".
  • Insertion status (insert/remove) is shown on line "insertion state:".

Use cases

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.

Typical Physical Storage use case:

  • 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.

Huge dump size, trimming, compression etc

Trimming zeroes:

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.

Compression:

At this point in time compression does not make much sense since data in the dump is encrypted.

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.

Dumper comparison

Dumper comparison by Yifan.

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

Key points:

  • 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.

Author's Legal Disclaimer: I helped author the .psv format to help standardize the format for backup and archival but I do not endorse any method to circumvent DRM. This guide is provided for informative purposes only and does not serve to aid any party in circumventing DRM. I have not worked directly or indirectly on any DRM circumvention features.

Controls

Console UI:

D-Pad Left/Right - Switch between different modes of the driver

Physical MMC mode - Producing Game Card Dumps:

Up/Down - Navigate through dump files

Cross - Start dumping the came card (only available if real game card is inserted)

Square - Stop dumping the came card (only available when dump process is started)

Triangle - Exit application

Virtual MMC mode/SD mode - Running Game Card Dump:

Up/Down - Navigate through dump files

Circle - Select game of interest

Start - Insert game card

Select - Remove game card

Triangle - Exit application

Physical SD mode - Running Game Card Dump:

Up/Down - Navigate through dump files

Triangle - Exit application

Screenshots

psvgamesdvita3.png

Known issues

https://github.com/motoharu-gosuto/psvgamesd/issues

Changelog

v2.0

  • Add 3.63+ FW support.

Credits

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.

Thanks to:

  • Team molecule for HENkaku and thanks to Yifan Lu for taiHEN.
  • Proxima for explaining klicensee theory.
  • SonyUSA for helping with initial testing.
  • al3xtjames for adding 3.63+ support.

External links

Advertising: