07 September, 2012

The unexpected journey of the FF7 save in the nighttime

 Well, I never expected this endeavour to be so difficult.

I play Final Fantasy 7 on my android phone. I own the game, 2 copies of the PS original to be exact, and all I want is to play the save that is on my phone on my PS3 and my PS Vita. Of course I had to buy the game again on PSN, but I don't have a problem with spending €10 on something again that has given me so many hours of enjoyment (Ignored the re-released PC version though).

Anyway, this post will detail the fun fun journey to do something that should be simple - moving the save file from my phone to the vita. Going to say now... It's wasn't easy, but it is possible.

So first off, I bought Final Fantasy VII on the PS Store (Also, I bought Alundra as it is one of the greatest under-appreciated PS1 games ever). Simple. It took ages to download onto the Vita, but seemed to install about 1,000,000 times faster than games do on the PS3.

Obviously, playing the game on the Vita is better than on the phone. The phone is an Xperia Play, but playing it really drains the battery, and it also has phone things to do. So I foolishly decided to try and continue my save on my Vita.

Getting the memory card to the memory card

So the obvious first part was extracting the save from the phone. I use FPSe to emulate a PS1 on my phone, and it works a treat. Now Android has an annoying/clever file system, as in it has no native file manager, and pretty much everything is locked off if you don't have root access, ie. rooting the phone. It's a good old fashioned warranty voider, and this phone still has 2 months left, so I don't want to do anything to upset that. FPSe, like most android apps, keeps it's data files in it's own locked off file system (Essentially, for anyone who knows Linux filesystems, each application is given a User account, and only that user is allowed to see the files relating to that application). A file explorer (File Manager, a basic file manager obviously) lets me see the basics, but it (and myself) are not allowed to see the application data for other applications (I hate the use of the word App or Apps, everything is an Application, no matter what). Eventually I stumbled on a forum post saying that the memory card for FPSe is in its data folder, so I can't access it.

However, FPSe does have a backup option which puts the memory card file onto the phones SD card! Huzzah, something relatively simple! It saves the memory card as a .mcd, which is a Bleem! format card. Bleem!, if I remember correctly, was a PS emulator for the Dreamcast that allowed the games to look a bit better (And a google search proves me correct), and the memory card utility I have installed (MemCardRex) can use that format. It is a little odd that the developers of FPSe decided to use that format, but it's not causing any problems at least.

Wrong Country

Once the memory card file was opened, I found that the Final Fantasy 7 ROM I was using was an American version. Being in Europe, and being forced to play FF7 in that version would make things difficult. But luckily the memory card utility allows me to change the country version of the game, and as well the identifier for the game too.

The identifier of a PS1 game is a 4 letter and 5 number combination that seems to be unique for every game released. I believe that some games may have had different combinations for different versions. Both my PS1 copies of FF7 have the same code though, one bought soon after the game was released, and one Platinum version (the one with the FF8 demo disk, which only contained 2 cut scenes and the Triple Triad music at the menu. Cutscene 1 was the opening of FF8, but with different shots at parts, and the other was a sepia toned version of the dance in Balamb Garden).

So all I had to do was change the identifier, and the country. MemCardRex allowed that easily, so no problems there. Hopefully. (I'm really hoping that there were no differences of the save file between the NTSC and PAL version...)

The Saga Begins

At this point it hasn't been to hard, however people less computer savvy would have easily given up by now. I had the save on the laptop, now how do I put it onto the Vita...

I first found a forum post that said to convert the save (not memory card, singular save) to a PS binary file, then put that on a memory stick in boringly specific folders (/PS3/SAVEDATA/) and copy to the PS3 using the save data utility. I used a program called Psx Raw Converter (PSXRC.exe) to convert the .mcs single save file to the required type, but once it arrived on the PS3 nothing happened. I exported an existing PS1 save from the PS3 just to see what it did. It exports files into the PS3/EXPORT/PSV folder, and the save is called "BESCES-014203030303030303030.PSV" (Rayman, I think). After noticing that the file is 9KB, but knowing from memory that PS1 saves are 8KB exactly, I scouted the internet for yet another solution.

Turns out the .PSV files are encrypted! Well, most of the raw data is the same as most other file types, but there is a calculated checksum at the start that hasn't been broken yet. So that way won't work, unless I somehow break it. I got bored after opening the file. Also, I don't know how to do that.

I then read on the interwebs that one way of getting it to work is to create a .VM1 file (The file format used on PS3 for PS1 memory cards) and copy that over the original file. That is of course hidden on the PS3 hard drive, which I can't access as my PS3 isn't jailbroken or whatever the technical term kids these days use. So that route is out.

The only other way to do it is to copy the save onto a custom firmware PSP, load the save, save THAT as an official memory card file, then connect the PSP to the PS3 for transfer. Luckily, my PSP has custom firmware (6.20 Pro-Cfw B10). Then copy the save file from the PS3 to the PS Vita.

So, in other words, I copy the file from my phone to laptop, copy to PSP, copy to PS3, copy to Vita. Well that's annoying. I haven't played my PSP in about 8 months, so that has to go on charge. Also, I gave my PSP charger to my Nephew, as I thought I wouldn't need it again. Also, to convert the save file on the PSP, I need to install CWCheat, and be playing a PS1 game at the same time. Oh joy.

It isn't over... Not yet

By pure luck I bought one of the strangest devices you can ever see on the internet - a multi USB charger. It looks odd, but it has saved my bacon this time and other times too!

It's really useful!

So, by pure random luck I got the PSP charging. The next part of the plan is to get CWCheat on the PSP, and went without a hitch. I started feeling lucky, I mean what can go wrong? It's all simple enough, that is until I plug the PSP into the PS3. You have to upgrade the PSP software it says. No I said.

I install verGen into the PSP, which allows me to fake the firmware version (at least I thought that). verGen only applies to games though. After some more interwebbing, I find that I really do have to upgrade the official firmware of the PSP to 6.60. What I will do then is install the CFW again! I don't really want to do that, as some of the games I have running on the PSP (specifically, EdisonCarters GTA: Liberty City Stories cheat device) were pure torture to get working, but my need to continue playing my Final Fantasy 7 save on a Vita overcomes my want to play really old mods I made. I uninstalled the custom firmware, and installed the official 6.60 firmware. Of course this takes ages as the battery is still charging, and I have to wait until the battery is at a specific minimum charge. So I play Final Fantasy 7 on my phone to pass the time, but I didn't want to go too far as to spoil the next part of the game for myself (lol), and so started writing this post. It's been a long journey so far, and it still isn't over.

So, again I installed the CFW, now version 6.60 pro-c but now have to use CIPL Flasher to get the firmware to start every time I use the psp. Not necessary, but it's nice. It apparently is a different way to get the custom PSP firmware to automatically start rather than having to start it manually every time. That was the way I had it before I had to mess around with all this stuff again. Not that I still use the PSP much.

Looks about right

Anyway, now that was all up and running, the plan was to attach the PSP to the PS3, copy the smallest PS1 game I own on PSN (Not PS+ ones though), and use the new menu that would appear in CWCheat for memory card management! (I had to hold select for 6 seconds for the menu to appear, plus I had to have a game running for it to work). At the very least the finish line looked like it was in sight!
Twisted Metal finally copied successfully!

I attach the PSP to the PS3... And attempt to copy Twisted Metal to the PSP... And it worked! Activation took about 1 minute but it then copied! I opened the game on the PSP, and held select, the menu appeared with memory card management on it! I opened that menu, and try every button on there... It failed!

The CWCheat menu

I got this far though right? I looked around the screen for anything obvious, and find that it was looking for a file called UNKNOWN-0.mcr... Odd, but I renamed the file from BESCES-00867FF7-S03.mcs like I was told to to UNKNOWN-0.mcr, ran Twisted Metal, held select, and it appeared to have worked! I opened the save data folder on the PSP, and of course, there wasn't any FF7 save there. There was a Twisted Metal save there of course though. *Headbang*

Seems like I have to run Final Fantasy 7 on my PSP in order for the PSP to tell the save file that it is a Final Fantasy 7 save file/memory card. This just never ends. It also means I had to download Final Fantasy 7 again, and it is 1326MB. And the internet was slow. (Just to make sure it didn't work, I tried the memory card utility with the PSP, and sure enough, the game wasn't there, FF7 or Twisted Metal. It did create the internal Twisted Metal memory cards though, which hopefully is a good sign)
I didn't download Final Fantasy 7 straight onto the PSP as not only did it have a custom firmware, my wireless encryption is just too advanced for it. It knew the name of my home network but it couldn't connect. 

The Finish Line

So. After a bajillion hours Final Fantasy 7 downloaded onto the PS3. I then had to copy the game onto the PSP.

So. After a bajillion hours Final Fantasy 7 downloaded onto the PSP. I then had to copy the save onto the PSP.

To be safe I put the BESCES-00867FF7-S03.mcs and UNKNOWN-0.mcs into the folder, as moving the PSP between the PS3 and laptop was getting boring at that stage. Exact same files, hopefully different results.Tried it... No results instead.

I search the interwebnet thing again, and found that the .mcs file actually needs to be a .mcr file. Easily changed. Also, the filename needs to be the game id exactly but with an underscore instead of a hyphen, which is again odd. It wasn't looking for UNKNOWN-0.mcs this time but was looking for SCES_00867-0.mcr.  So I changed the filename to SCES_00867-0.mcr. (I tried this part a few times with loads of different names as well...)

And I load up Final Fantasy 7 on the PSP again. And I hit load from memory card. It gets to the FF7 load save screen... And it worked this time! I load it up and there Cloud was, running outside Cosmo Canyon. I cheer!

The save on the PSP.

I threw the PSP into the PS3, and when the memory card editor finally loaded up (It took ages for some reason), I loaded the FF7 memory card, and the save was there. That means I could play it on the PS3 as well if I felt like it! I copied the save onto a new internal memory card on the PS3, detached the PSP, and attached the Vita. Attaching the Vita to the PS3 is really annoying, as all file operations are done on the Vita instead of the PS3. They could have at least used a longer USB cable if they thought that was a good idea!

 The save is finally on the PS3!

I attempted to put the save on the Vita after navigating its very confusing menus (I tried to take a screenshot of that but the Vita doesn't allow screenshots of menus) but it didn't work, as a nice popup told me that I needed to create a new PS memory card on the Vita by starting a game. It couldn't have just created a blank one for me could it? Hmm...

I started FF7, and held the touchscreen, as that is the same way to get the PSP emulation menu up, and it does work. I create the new memory card, leave the game, went back to the content manager, and moved the save. It worked this time.

And now the save is on the Vita!

I load up FF7 again, and when I load the memory card... The save was there.


And it loaded perfectly.

The Vita doesn't allow screenshots of PS1 games, this is the best compromise I could achieve

 Epilogue

Just as a final note, I know that some people on the internet will happily convert saves to the proper .psv format for free using jailbroken PS3's, but I wanted to see if it was possible trying this way. Turns out it was, but more torture than it was worth. The save file itself was only 20 hours into the game, just after finishing Cosmo Canyon. I probably could have played FF7 and got to that point in the time it took going down this route!

Using this route I could also alter the save so I have master materia, or whatever I need in the game on the PSP using CWCheat as it has a memory address editor, but maybe I'll finish the game vanilla again instead... For about the 10th time!

No comments:

Post a Comment