Editing Game Saves
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
[[Category:Software]] | |||
*[[ | ==Common terms used in this page== | ||
*[[ | '''<userid>''' The number assigned by the system to this user when his account was created (is a counter). Stored in [[XRegistry.sys]], e.g: '''00000001''' | ||
*[[PSP | |||
{{File | '''<SAVEDATA_DIRECTORY>''' Name of the folder where the savedata files are stored, composed by [[PARAM.SFO#TITLE_ID|TITLE_ID]] + some variable characters added by the game, e.g: '''BLES00001-nick01save01''' | ||
'''<TITLE_ID>''' Name of the folder where the game was installed (different than the TITLE_ID in his PARAM.SFO that refers to the originall ID when the game was released years ago as a disc) | |||
'''<virtual_memcard>''' The name you assigned to the card when it was created from the [[Memory Card Utility (PS/PS2)]] in XMB | |||
==PS3 Saved Games== | |||
{| class="wikitable" | |||
|- | |||
! Storage Media !! Path !! Import/Export file conversions | |||
|- | |||
| Internall HDD || dev_hdd0/home/'''<userid>'''/savedata/'''<SAVEDATA_DIRECTORY>''' || [[PARAM.PFD]] values updated when imported ? (not verifyed) | |||
|- | |||
| Externall USB device || dev_usb0/PS3/SAVEDATA/'''<SAVEDATA_DIRECTORY>''' || [[PARAM.PFD]] values updated when exported ? (not verifyed) | |||
|- | |||
|} | |||
{| class="wikitable" | |||
|- | |||
! File !! Description/Purpose | |||
|- | |||
| [[PARAM.PFD]] || Signatures of some of the files in the folder. The signature method is still unknown. | |||
|- | |||
| [[PARAM.SFO]] || Various information about the title. This one is never encrypted. | |||
|- | |||
| [[Content_Information_Files|Content Information Files]] || Multimedia Files like icons, audio, etc... | |||
|- | |||
| Other Files || Any other files generated by the game, with any name and extension, e.g: '''PROFILE.BIN''', '''PROGRESS.SAV''' etc... | |||
|- | |||
|} | |||
===Copy Protection Flag=== | |||
The ones without "Copy Protection" can be copyed to an externall USB storage device (by pressing triangle over his icon in XMB with the option "copy" of the side menu) | |||
[[PARAM.SFO#ATTRIBUTE_in_SaveData|Copy protection]] can be removed from a Game Save by changing a flag in the ATTRIBUTE of his PARAM.SFO. This can be done when PARAM.PFD doesnt contains the signature of PARAM.SFO (only a few old games) | |||
===Games which are unprotected=== | |||
There are two types of possible protections: | |||
*One possible encryption in the files generated by the game that is not mandatory and depends of the developers of the game. | |||
*And other protection based on signatures stored in [[PARAM.PFD]] generated and managed by the system. This file supervises signatures of other files of the folder, the list of files supervised is not fixed and again... it depends of the developers of the game, but usually [[PARAM.SFO]] is inside this list | |||
This allows modifications/cheats for some games wich files are not encrypted, and not supervised by [[PARAM.PFD]] | |||
* MotorStorm (protected with CRC32 checksum) | |||
* Call Of Duty 4 (hacked saves can be found on the internet) | |||
* Battlefield: Bad Company | |||
* Assassin's Creed | |||
* Blazing Angels: Squadrons of WWII | |||
For a more complete list, with example download links : http://www.ps3hax.net/showthread.php?t=8559 | |||
Source: http://ps3dev.wikispaces.com/Saved+Games | |||
==Minis Saved Games== | |||
This format is inherited from PSP (is older than PS3), and later implemented in PSvita, the "Minis Saved Games" can be exported/imported between the 3 consoles. There is no conversion of the files between the 3 consoles. | |||
{| class="wikitable" | |||
|- | |||
! Storage Media !! Path !! Import/Export file conversions | |||
|- | |||
| Internall HDD || dev_hdd0/home/'''<userid>'''/minis_savedata/'''<SAVEDATA_DIRECTORY>''' || None, direct copy of the folder | |||
|- | |||
| Externall USB device || dev_usb0/PSP/SAVEDATA/'''<SAVEDATA_DIRECTORY>''' || None, direct copy of the folder | |||
|- | |||
|} | |||
{| class="wikitable" | |||
|- | |||
! File !! Description/Purpose | |||
|- | |||
| [[PARAM.SFO]] || Various information about the title. This one is never encrypted. | |||
|- | |||
| [[Content_Information_Files|Content Information Files]] || Multimedia Files like icons, audio, etc... | |||
|- | |||
| Other Files || Any other files generated by the game, with any name and extension, e.g: '''PROFILE.BIN''', '''PROGRESS.SAV''' etc... | |||
|- | |||
|} | |||
*A common name used for the protected files is '''SECURE.BIN''' but the name can vary. | |||
==PS1 Classics Saved Games== | |||
{| class="wikitable" | |||
|- | |||
! Storage Media !! Path !! Import/Export file conversions !! Notes | |||
|- | |||
| Internall HDD || dev_hdd0/savedata/vmc/'''<virtual_memcard>'''.VM1 || When importing the "slot" is injected in the VM1 || VM1 is a PS1 memory card in "PS3 format" | |||
|- | |||
| Externall USB || dev_usb0/PS3/EXPORT/PSV/'''<virtual_memcard_slot_ID>'''.PSV || When exporting to USB the "slot" is extracted from VM1 an saved separatedly as a PSV || PSV is a PS1 "slot" in "PS3 format" | |||
|- | |||
| Externall PSP || dev_usb0/PSP/SAVEDATA/'''<SAVEDATA_DIRECTORY>'''/SCEVMC0.VMP & SCEVMC0.VMP || When exporting to PSP the "slot" is extracted from VM1 and injected in VMP || VMP is a PS1 memory card in "PSP format" | |||
|- | |||
|} | |||
===PS1 Classics Save Game in internall HDD=== | |||
Stored in slots inside a "PS1 virtual memory card" in PS3 format, games can use one slot or severall ones, each slot has a name that identifies it (the first one is at offset 0x64 inside virtual_memcard.VM1) | |||
dev_hdd0 | |||
|--- savedata | |||
|--- vmc | |||
|--- virtual_memcard.VM1 | |||
===PS1 Classics Save Game in externall USB=== | |||
When exporting to a "standard" USB device the Save Games are converted to "slots" in PS3 format. The name of the exported file is the identifier of the slot when it was inside a virtual_memcard.VM1 | |||
dev_usb0 | |||
|--- PS3 | |||
|--- EXPORT | |||
|--- PSV | |||
|--- virtual_memcard_slot_ID.PSV | |||
===PS1 Classics Save Game in externall PSP=== | |||
To export to PSP first is needed to register the PSP as a remote play device (in PS3 settings menu), and activate the USB mode (in PSP XMB) | |||
Then, from the [[Memory Card Utility (PS/PS2)]] you can browse the slots inside the virtual_memcards, by pressing triangle over an slot and selecting the option "copy" the PS3 gives two options, one is an icon of your PSP identifyed by his nick, by selecting the PSP icon the PS3 displays this message: ''"Do you want to convert this data for use with the PSP system and then copy it?. If you select [No] the data will be copied without being converted"'' | |||
You can continue your game from PSP to PS3 under differents game formats such as cso/iso and continue on PS3 after transfer of your savedata if the game share the same DiscID. See: [[Emulation]] | |||
dev_usb0 | |||
|--- PSP | |||
|--- SAVEDATA | |||
|--- <SAVEDATA_DIRECTORY> | |||
|--- ICON0.PNG | |||
|--- PARAM.SFO <----- CATEGORY "MS" | |||
|--- SCEVMC0.VMP <----- Virtual Memory Card 0 | |||
|--- SCEVMC1.VMP <----- Virtual Memory Card 1 | |||
*When the game is installed in PS3 it contains a "SAVEDATA" folder stored with the rest of the game files, only used by the PS3 to generate Save Games in PSP format | |||
*This "SAVEDATA" folder used as a source contains a PARAM.SFO (with CATEGORY "MS" memory stick, and his SAVEDATA_DIRECTORY where it will be installed when exported to PSP), an ICON0.PNG (in 80x80 pixels) and two virtual_memcard.VMP (with empty slots). All in PSP format, never updated, and not intended to store Save Games, only to export them | |||
===Memory card format PS1=== | |||
{| class="wikitable sortable" | |||
|- | |||
! Original Memory card PS1 !! VMP | |||
|- | |||
| 128KB = 131072 bytes = 0x20000 bytes || 129 KB = 131200 bytes = 0x20080 bytes | |||
|- | |||
|} | |||
{| class="wikitable sortable" | |||
|- | |||
! Original Memory card PS1 | |||
|- | |||
| 1 Block 8KB = 8192 bytes = 0x2000 bytes | |||
|- | |||
|1 Frame 128 bytes = 0x80 bytes | |||
|- | |||
|} | |||
The original memory card for the PS1 is 128 kilobytes of non-volatile RAM. This is split into 16 blocks each | |||
containing 8 kilobytes each. The very first block is is a header block used as a directory and file allocation table | |||
leaving 15 blocks left over for data storage. | |||
The data blocks contains the program data file name, block name, icon, and other critical information. The | |||
PSX accesses the data via a "frame" method. Each block is split into 64 frames, each 128 bytes. The first frame (frame | |||
0) is the file name, frames 1 to 3 contain the icon, (each frame of animation taking up one frame) leaving the rest of the | |||
frames for save data. | |||
Original Memory Card PS1 (128 KB) | |||
|- Header Block 0 (8 KB) (this block is not accessible and visible from menu) | |||
| | |||
| | |||
|- Data Block 1 ( 8 KB) (this block and others are visible on screen, one game can use more than one block) | |||
| |---Frame 0 (File Name: 128 bytes) | |||
| |---Frame 1 (Icon) (Icon can be combine for animation or different display from the same game) | |||
| |---Frame 2 (Icon) | |||
| |---Frame 3 (Icon) | |||
| |---Frame 4 (Save Data) | |||
| |---Frame 5 (Save Data) | |||
| |--- ... | |||
| |---Frame 63 (total 64 frames: 8 KB) | |||
| | |||
|- Data Block 2 | |||
| | |||
|- Data Block 3 | |||
| | |||
|- Data Block 4 | |||
| | |||
|- ... | |||
| | |||
|- Data Block 15 (total 16 block: 128 KB) | |||
===Memory card structure original PS1 & VM1 & VMP=== | |||
(VM1 is similar as original ps1 but need more inspections) | |||
{| class="wikitable" | |||
|- | |||
! colspan="1" style="text-align:center; background-color:#DDDDDD;" |Offset PS1 || colspan="1" style="text-align:center; background-color:#DDDDDD;" |Size || colspan="1" style="text-align:center; background-color:#DDDDDD;" |Value || colspan="1" style="text-align:center; background-color:#DDDDDD;" |Note || colspan="1" style="text-align:center; background-color:#DDDDDD;" |Frame !! colspan="1" style="text-align:center; background-color:#DDDDDD;" |Block || colspan="1" style="text-align:center; background-color:#DDDDDD;" |Offset VMP | |||
|- | |||
| || 80 || || on VMP || || || | |||
|- | |||
| || || || colspan="1" style="text-align:center; background-color:#DDDDDD;" | '''Header Frame''' || || | |||
|- | |||
|0x00000 || 2 || MC || Magic || 0 || 0 || 0x00080 | |||
|- | |||
|0x00002 || 125 || filled with zero || Unused || 0 || 0 || 0x00082 | |||
|- | |||
|0x0007F|| 1 || 0E || XOR code || 0 || 0 || 0x000FF | |||
|- | |||
| || || || colspan="1" style="text-align:center; background-color:#DDDDDD;" | '''15 Directory Frame''' || || || | |||
|- | |||
|0x00080 || 1 || || '''Available blocks (different on VM1)''' | |||
'''Upper 4 bits''' | |||
A - Available | |||
5 - partially used | |||
F - Unusable | |||
'''Lower 4 bits''' | |||
0 - Unused | |||
1 - There is no link, but one will be here later | |||
2 - mid link block | |||
3 - terminiting link block | |||
F - unusable | |||
'''Example''' | |||
A0 - Open block | |||
51 - In use, there will be a link in the next block | |||
52 - In use, this is in a link and will link to another | |||
53 - In use, this is the last in the link | |||
FF - Unusable | |||
|| 1 || 0 || 0x000100 | |||
|- | |||
|0x00081 || 3 || || When it's reserved it's FF FF FF || 1 || 0 || 0x00101 | |||
|- | |||
|0x00084 || 4 || 00 00 00 || '''Use Byte''' | |||
Open block middle link block, or end link block (need to make sure about size) | |||
Block 0x2000 - No link, but will be a link | |||
(00 20 00 - one blocks will be used) | |||
(00 40 00 - two blocks will be used) | |||
(00 E0 01 - 15 blocks will be used, max ) | |||
|| 1 || 0 || 0x | |||
|- | |||
|0x || || || '''Link order Block/frame 0-14''' | |||
If the bock/frame isn't in a link or if it's the last link in the line, it's 0xffff | |||
|| 1 || 0 || 0x | |||
|- | |||
|0x0008A || 1 || || '''Country Code''' (BI, BA, BE) | |||
In Japan the code is BI, Europe is BE, and America is BA. | |||
|| 1 || 0 || 0x0010A | |||
|- | |||
|0x0008C || 10 || || '''Product Code (AAAA-00000)''' | |||
Japan SLPS, SCPS (from SCEI) | |||
America SLUS, SCUS (from SCEA) | |||
Europe SLES, SCES (from SCEE) | |||
|| 1 || 0 || 0x0010C | |||
|- | |||
| 0x || || || '''Identifier''' | |||
This Number is created unique to the current game played. Meaning the first time a game is | |||
saved on the card, every subsequent save has the same identifier, but it a new game is started from | |||
the beginning, that will have a different identifier. (need to make sure) | |||
|| 1 || 0 || 0X | |||
|- | |||
| 0x || || || Unused || 1 || 0 || 0x | |||
|- | |||
| 0x000FF || 1 || A0 || XOR Code (different on VM1) || 1 || 0 || 0x0017F | |||
|- | |||
| || || || colspan="1" style="text-align:center; background-color:#DDDDDD;" | '''Repeat 14 others similars Directory Frame''' || || || | |||
|- | |||
||| || || colspan="1" style="text-align:center; background-color:#DDDDDD;" | '''20 Unused Directory Frame''' || || || | |||
|- | |||
|0x00800 || 1 || FF || Available blocks (similar on VM1) || XX || 0 || 0x00880 | |||
|- | |||
|0x00801 || 3 || FF FF FF || Reserved (similar on VM1&VMP) || XX || 0 || 0x00881 | |||
|- | |||
|0x00804 || 4 || 00000000 || Unused (similar on VM1&VMP) || XX || 0 || 0x00884 | |||
|- | |||
|0x00808 || 2 || FF || Link order Block/frame: FF || XX || 0 || 0x00888 | |||
|- | |||
|0x0088A || || filled with zero || || XX || 0 || 0x | |||
|- | |||
|0x01200 || || filled with FF || ||XX || 0 || 0x | |||
|- | |||
|0x01F80 || || || || XX || 0 || 0x | |||
|- | |||
| || || || colspan="1" style="text-align:center; background-color:#DDDDDD;" | '''Block 1''' || || || | |||
|- | |||
|0x02000 || 1 || SC || || 0 || 1 || 0x | |||
|} | |||
SOurce infos PS1: | |||
===PS1 Save Games Tools=== | |||
[[http://www.mediafire.com/?wf82vc4oeb932w3 MemcardRex v1.5]] | |||
MemcardRex is a PSX memory card explorer/editor. | |||
The following Memory Card formats are supported: | |||
* ePSXe/PSEmu Pro Memory Card(*.mcr) | |||
* DexDrive Memory Card(*.gme) | |||
* pSX/AdriPSX Memory Card(*.bin) | |||
* Bleem! Memory Card(*.mcd) | |||
* VGS Memory Card(*.mem, *.vgs) | |||
* PSXGame Edit Memory Card(*.mc) | |||
* DataDeck Memory Card(*.ddf) | |||
* WinPSM Memory Card(*.ps) | |||
* Smart Link Memory Card(*.psm) | |||
* MCExplorer(*.mci) | |||
* PSP virtual Memory Card(*.vmp) (opening only) | |||
The following single save formats are supported: | |||
* PSXGame Edit single save(*.mcs) | |||
* XP, AR, GS, Caetla single save(*.psx) | |||
* Memory Juggler(*.ps1) | |||
* Smart Link(*.mcb) | |||
* Datel(*.mcx;*.pda) | |||
* RAW single saves | |||
* PS3 virtual saves (*.psv) (importing only) | |||
==PS2 Classics Saved Games== | |||
{| class="wikitable" | |||
|- | |||
! Storage Media !! Path !! Import/Export file conversions | |||
|- | |||
| Internall HDD || ????? || | |||
|- | |||
| Externall USB device || dev_usb0/PS3/EXPORT/PS2SD/'''<TITLE_ID>''' || | |||
|- | |||
|} | |||
{| class="wikitable" | |||
|- | |||
! File !! Description/Purpose | |||
|- | |||
| [[PARAM.SFO]] || Various information about the title. This one is never encrypted. | |||
|- | |||
| [[Content_Information_Files|Content Information Files]] || Multimedia Files like icons, audio, etc... | |||
|- | |||
| SCEVMC0.VME || Virtual Memory Card 0 (in "E" format ?) | |||
|- | |||
| SCEVMC1.VME || Virtual Memory Card 1 (in "E" format ?) | |||
|- | |||
|} | |||
==PS2 Disc Saved Games== | |||
{| class="wikitable" | |||
|- | |||
! Storage Media !! Path !! Import/Export file conversions | |||
|- | |||
| Internall HDD || dev_hdd0/savedata/vmc/'''<virtual_memcard>'''.VM2 || | |||
|- | |||
|} | |||
===PS2 Save Games Tools=== | |||
[[http://www.csclub.uwaterloo.ca:11068/mymc/ mymc]] | |||
mymc is a PS2 memory card explorer/editor. |