ShendoXT / memcardrex

Advanced PlayStation 1 Memory Card editor
GNU General Public License v3.0
432 stars 53 forks source link

Not recognizing memory card files it creates #20

Closed MasterZoen closed 3 years ago

MasterZoen commented 3 years ago

Okay, I read my memory card with the PS3 MC Adapter, saved it as an ePSXe card, exported all the saves as a their own files just in case, then closed the card to make a new one for each game. I created a new card and imported my Parasite Eve 2 saves, then saved the card as a PCSX ReARMed/RetroArch file with the ".srm" extension, which just happens to be my initials, as well. I then closed the card, and tried to re-open it. Only to get this error: 'Parasite Eve 2' is not a supported Memory Card format.

Okay... Just to be sure it's not an issue with the program, I open up a RetroArch save. Yep, it loads in fine. Alright, create a new card, import saves, save as an ePCXe ".mcr" file. Close it, and try to open it. Same error: 'Parasite Eve 2' is not a supported Memory Card format.

The only one that opens is the original scan I saved. I've no idea where I've messed up...

MasterZoen commented 3 years ago

Any help?

TheBlueTroll commented 3 years ago

yep. when Memcardrex makes a new memory card, it doesn't create the headers (the MC at the start of all cards), when that is saved to a ".srm" memcardrex saves it as a raw memory card, because that is what a srm is, a raw, uncompressed memory card. but its not saved with a header added, and wasn't created with a header. resulting in a headerless memorycard, when memcardrex tries to read the card, it fails to identify what type of card it is, because no header.

edit: yes it is a bug.

a workaround for @MasterZoen is to start with a copy of your original dump, delete all the saves, and use that as a "new" card, as it has the appropriate header.

MasterZoen commented 3 years ago

Okay, thanks.

ndepoel commented 3 years ago

You can also work around it by enabling the "Try to fix corrupted Memory Cards" option in the Preferences menu. This will restore the application's old behavior, which is to write the MC header. This option was added and writing the header was made non-default to allow writing of FreePSXBoot memory cards, which requires memory cards to be intentionally corrupted.

I got confused by this behavior as well. Creating new memory cards and writing those to a physical card will prompt consoles and games to format the card, and otherwise ignore the contents. In my opinion the user interface could do a better job at helping to more clearly make a decision here, whether you want create a normal properly formatted card or an intentionally corrupted one for use with FreePSXBoot.

ShendoXT commented 3 years ago

Totally my fault, it's a bug. Will fix it.