1.4b Debug version
(note: don't grab the source downloads)
!!!!!ALERT!!!!!
This version disables some security checks in GCMM, if you don't know what you are doing use the normal version!
!!!!!ALERT!!!!!
These files are the standard GCMM 1.4b (r58) but wihtout the DEBUGRAW and FLASHIDCHECK flags enabled.
This disables the _card_sectorerase function check and allows to restore images to cards with different flash id.
This has been done mainly because in the process of testing GCMM 1.4b one of my unnoficial MCs reffused to correctly erase sectors when restoring, thus making me unable to restore that memory card.
This happened also with older versions of GCMM, so it's not a new introduced bug. Restoring works fine in my other MCs.
This version allows restoring an image even if the __card_sectorerase fails and shows an error. I advise to dump the card again after restore and check the image with any hash tool (md5, crc32...) to see if the restore went OK.
This version also allows to write an image all fillex with 0xFF, which is essentially what __card_sectorerase does, as official memory cards need to set all bits to 1 and the the write operation sets the necessary bits to 0.
This behavior doesn't apply to unnofficial cards, which are written fine without previously erasing the sectors.
So I used this version to flash a full 0xFF image to my MC, and then successfully restored my original backup.
To sum up, the uses of this version:
- Force a restore when __card_sectorerase error appears
- Write an image filled with 0xFF to check if all the bits can be set to 1.
- Write an image filled with 0x00 to check if all the bits can be set to zero
- Make the system menu/gamecube bios format the MC (after restoring a 0xFF or 0x00 image or any image that corrupts the card).
Process to ensure the memory card is healthy:
1.- Write a 0xFF image, then dump and compare.
2.- Write a 0x00 image, then dump and compare. This checks if all bits can be set to 1.
3.- Write a 0xFF image, then dump and compare. This checks if all bits can be set to 0.
If steps 2 and 3 output correct images, then the card is healthy.
NOTE: flashing the full card, as with any flash type memory, will reduce its lifespan, as flash memory has a limited number of times it can be written, so continously restoring images isn't advised if one wants to preserve the memory card.