Freepsxboot protection not working
BananaByte23 opened this issue · 19 comments
Tonyhax version: 1.3.3
Console: SCPH-102 (PAL)
Bios Version: 4.4
Basically any game I try to load crashes. The only way to load them is by removing the memory card.
Why's the protection not working?
Mmmm that is super odd. That's in fact the BIOS I use for testing, since it's what my console has. Which games have you tried so far?
Here's few games I tried:
THPS2 (PAL & NTSC) - None of them start. They work only when I remove the memory card.
Megaman Legends (NTSC) - Intro plays but after loading there's some weird message which pops up. Works only when I remove the memory card.
Crash Team Racing (NTSC) - Doesn't load at all. Works only when I remove the memory card.
Ridge Racer Type 4 (PAL) - Seems to work without problems.
Alright. Well the thing is, the patch is known to work on real hardware, so I am guessing it has to do somehow with the way you got the image on the memory card.
Let me explain something, so you better understand why I am asking.
In a normally formatted memory card, the first 128-byte sector contains just three set bytes: a "MC" marker (to indicate there's a memory card plugged in and it's properly formatted) and a checksum over the entire sector. The rest of the bytes are all zero.
When the memory card subsystem is initialized, it checks for these two "MC" bytes and the sector's checksum. The rest of the memory is unchecked, and thus even if it contains values different to the normal zeros, it is accepted successfully.
A tonyhax FreePSXBoot memory card image exploits this behaviour by altering this first sector slightly. Instead of "MC", it contains "MCFP". This is successfully accepted since the console only checks for the first two bytes.
These two "FP" extra bytes are employed by the FreePSXBoot patch tonyhax inserts: when the system reads from the first sector to see if it's properly formatted, if the first 4 bytes are "MCFP", the sector data gets mangled so the console thinks it's unformatted, and thus halts accesses to the memory card, preventing the FreePSXBoot exploit from launching again.
My guessing is that whatever method you used to install zeroed those two bytes so the header follows the standard memory card format. Could you please try to read it back and attach it here?
All I can tell you is that I'm using Memory Card Annihilator for ps2. I always go for full format process whenever I try to update tonyhax.
Can you try using the read memory function of MCA and attach it here?
It seems like MCA cannot read my ps1 memory card anymore. The memory card is crashing it.
Okay so I successfully formatted it with memory card formater for ps1. Does it still mean anything if I use "read memory card function" in MCA?
Mmm not really. I need to see what MCA is writing.
I think I can send you a small file that has the MCFP marker and nothing else, and attempt to read it back to see if MCA respects it or not.
I'd do it myself but I don't have access to a PS2 at the moment
No problem, go ahead send it.
Sorry for the delay. I'm on holidays with spotty access to a PC. Here's the file:
memory_with_marker.zip
It's the image of an empty but fully formatted memory card that has the FreePSXBoot disable sequence, so if you plug this on a game after booting from tonyhax the game should be unable to access it.
So I tested it out. I got the regular tonyhax on my other memory card and loaded it with crash 2 (original pal disc). I swapped the memory card with the other one on which I flashed the mcd file you sent me and loaded thps2. Everything went well and I went to memory card option and the game suggested me to format the memory card (I didn't format it btw). That confirms that games cannot access the memory card. MCA recognizes it without any problems now. About the "read memory card function" it doesn't seem to exist in MCA but it can show the information about the memory card which I find pretty useless in this case.
It's the "Create MC image" function, though it's proven to work if it prompted you to format it, so I'm really not sure if it'd be useful...
I installed tonyhax again (freepsxboot version) with MCA and it didn't crash after installation so I was able to make the mcr file. See if it's exactly the same files as the installation file. Also mca still crashes whenever I try to insert the memory card again.
memorycard1.zip
Yeah that image totally contains the marker (see the "FPBZ" marker), so it should be working properly.
I'm totally lost. I'll try again on my machine and report back once I am back at home, but at this point I have no clue why is it failing to work when launched via FreePSXBoot.
Out of curiosity, if you launch via the game exploit, and the plug in the FreePSXBoot card, does the system behave funny or does it also ask you to format the memory card?
I loaded the game exploit and swapped the memory cards. The games behave normally and they do ask for memory card to be formatted.
Is the memory card you're using official?
Is the memory card you're using official?
Yes it is. All ps1memory cards I have are official.
I tried out the newest version of tonyhax (1.4.1) and those problems don't appear anymore. As usual the games ask for memory card to be formatted so that's normal. I think the problem is gone.
Interesting. I didn't change anything at all in the FreePSXBoot part. Anyway glad it's now working.